BoolNet/0000755000176200001440000000000013014554503011614 5ustar liggesusersBoolNet/inst/0000755000176200001440000000000012732246464012603 5ustar liggesusersBoolNet/inst/CITATION0000644000176200001440000000141612732246464013742 0ustar liggesuserscitHeader("To cite package 'BoolNet' in publications use:") citEntry(entry = "article", title = "BoolNet -- an R package for generation, reconstruction and analysis of Boolean networks", author = personList(as.person("Christoph M\\\"ussel"), as.person("Martin Hopfensitz"), as.person("Hans A. Kestler")), journal = "Bioinformatics", volume = 26, number = 10, pages = "1378--1380", year = 2010, textVersion = paste("Christoph Müssel, Martin Hopfensitz, Hans A. Kestler (2010). ", "BoolNet -- an R package for generation, reconstruction and analysis of Boolean networks. ", "Bioinformatics 26(10):1378-1380.", sep="")) BoolNet/inst/NEWS.Rd0000644000176200001440000001507312733232634013647 0ustar liggesusers\name{NEWS} \title{NEWS file for the \pkg{BoolNet} package} \section{Changes in version 2.1.1}{ \itemize{ \item{Minor bug fixing in \code{plotStateGraph}.} \item{Added cosmetic changes to \code{plotAttractors} and \code{plotSequence}.} } } \section{Changes in version 2.1.1}{ \itemize{ \item{Fixed compilation errors on Windows.} } } \section{Changes in version 2.1.0}{ \subsection{Modified functions}{ \itemize{ \item{\code{getAttractors()} and \code{simulateSymbolicModel()} now support the identification of attractors in large networks based on a formulation as a satisfiability (SAT) problem. } \item{\code{plotAttractors()} and \code{plotSequence()} now plot the genes in the order of the network instead of the reverse order by default. This behaviour can be controlled using a new parameter \code{reverse} which is also available in \code{attractorsToLaTeX()} and \code{sequenceToLaTeX()}.} \item{Bugfix regarding negated temporal predicates in \code{simulateSymbolicModel()}.} } } } \section{Changes in version 2.0.2}{ \subsection{Modified functions}{ \itemize{ \item{Fixed undefined behaviour in \code{markovSimulation()}.} } } } \section{Changes in version 2.0.1}{ \subsection{Modified functions}{ \itemize{ \item{Fixed memory misalignment in \code{simulateSymbolicModel()}.} \item{\code{loadSBML()} now accepts nodes that are constant, but have no initial value.} } } } \section{Changes in version 2.0}{ \subsection{New functions}{ \itemize{ \item{Support of temporal networks, and inclusion of a new simulator \code{simulateSymbolicModel()} to simulate these networks. Related functions include \code{truthTableToSymbolic()} and \code{symbolicToTruthTable()} to convert networks between the symbolic representation used by the new simulator and the truth table representation employed by the standard simulator.} \item{New function \code{perturbTrajectories()} to assess the robustness of networks to noise in the states}.} } \subsection{Modified functions}{ \itemize{ \item{\code{loadNetwork()} can now load networks in a symbolic representation and with temporal extensions. \code{loadSBML()} and \code{loadBioTapestry()} can load symbolic networks without temporal extensions. } \item{Most functions of the package have been adapted to work either with the symbolic representation or with the truth table representation of networks.} \item{\code{plotSequence()} and \code{sequenceToLaTeX()} now visualize the attractor.} \item{\code{reconstructNetwork()} now supports the specification of prior knowledge in form of required or excluded dependencies. Furthermore, it can now reconstruct networks from perturbation time series. By default, the function now returns incomplete functions with "don't care" values" instead of enumerating all possible functions. } \item{\code{generateTimeSeries()} can now generate artificial perturbation data with simulated knock-out or overexpression of genes.} \item{\code{generateRandomNKNetwork()} can now be supplied with a user-defined generation function for the transition functions. Generation functions \code{generateCanalyzing()} and \code{generateNestedCanalyzing()} for canalyzing functions and nested canalyzing functions are included in the package.} \item{\code{testNetworkProperties()} supports several new tests that perturb the network states instead of the networks themselves. These are available in the test functions \code{testAttractorRobustness()} and \code{testTransitionRobustness()}. } } } } \section{Changes in version 1.63}{ \subsection{Modified functions}{ \itemize{ \item{Fixed issues preventing the use of \pkg{BoolNet} on Big Endian systems.} \item{Eliminated some bad style code.} \item{Fixed some valgrind notes.} } } } \section{Changes in version 1.62}{ \subsection{Modified functions}{ \itemize{ \item{Minor bugfixes in \code{loadNetwork()}.} \item{Fixed undefined behaviour warnings for GCC 4.9.} } } } \section{Changes in version 1.61}{ \subsection{Modified functions}{ \itemize{ \item{Bugfixes in \code{plotAttractors()} and \code{plotSequence()}.} \item{Fixed compatibility issues with R 3.0 alpha.} } } } \section{Changes in version 1.60}{ \subsection{New functions}{ \itemize{ \item{Support for SBML: \code{loadSBML()} and \code{toSBML()} import from and export to SBML documents with the \code{sbml-qual} extension package.} \item{\code{saveNetwork()} stores networks in the \pkg{BoolNet} file format.} } } \subsection{Modified functions}{ \itemize{ \item{The DNF generator employed by \code{generateRandomNKNetwork()} and \code{simplifyNetwork()} (as well as by the new functions \code{saveNetwork()} and \code{toSBML()}) now supports minimizing the canonical DNFs.} } } } \section{Changes in version 1.51}{ \subsection{Modified functions}{ \itemize{ \item{\pkg{BoolNet} now supports the modified interface of \pkg{igraph} 0.6 in all plotting functions, but is still compatible with older versions of \pkg{igraph}.} \item{\code{loadNetwork()} supports comment lines in the network files.} } } } \section{Changes in version 1.50}{ \subsection{New functions}{ \itemize{ \item{\code{generateTimeSeries()} generates random state sequences from an existing network.} \item{\code{plotSequence()} and \code{sequenceToLaTeX()} plot and export sequences of states similar to \code{plotAttractors()} and \code{attractorsToLaTeX()}.} \item{\code{getAttractorSequence()} extracts the states of a single synchronous attractor from an attractor information structure as a data frame.} \item{\code{generateState()} provides a simple way to specify network states using partial assignments.} } } \subsection{Modified functions}{ \itemize{ \item{\code{getPathToAttractor()} has an additional parameter \code{includeAttractorStates} specifying which attractor states should be included in the path. The default behaviour has been changed to include all attractor states.} \item{\code{generateRandomNKNetwork()} now supports the generation of networks using specific classes of functions. For this purpose, it has two new parameters \code{validationFunction} and \code{failureIterations}.} \item{By default, \code{loadNetwork()} no longer changes gene names to lower case. If this behaviour is desired, it can be reactivated using the new \code{lowercaseGenes} parameter.} \item{\code{stateTransition()} now names the state vector using the gene names.} \item{\code{plotAttractors()} has a new parameter \code{drawLegend} to disable the legend.} \item{The \code{randomChainLength} parameter of \code{getAttractors()} now defaults to 10000.} \item{\code{getAttractors()}, \code{reconstructNetwork()} and \code{markovSimulation()} can now be interrupted by the user.} } } } BoolNet/inst/doc/0000755000176200001440000000000012733234746013351 5ustar liggesusersBoolNet/inst/doc/BoolNet_package_vignette.R0000644000176200001440000010674112733234746020427 0ustar liggesusers### R code from vignette source 'BoolNet_package_vignette.Snw' ### Encoding: UTF-8 ################################################### ### code chunk number 1: BoolNet_package_vignette.Snw:81-82 (eval = FALSE) ################################################### ## install.packages("BoolNet") ################################################### ### code chunk number 2: BoolNet_package_vignette.Snw:86-87 ################################################### library(BoolNet) ################################################### ### code chunk number 3: BoolNet_package_vignette.Snw:166-167 (eval = FALSE) ################################################### ## cellcycle <- loadNetwork("cellcycle.txt") ################################################### ### code chunk number 4: BoolNet_package_vignette.Snw:172-173 ################################################### data(cellcycle) ################################################### ### code chunk number 5: BoolNet_package_vignette.Snw:222-223 ################################################### data(yeastTimeSeries) ################################################### ### code chunk number 6: BoolNet_package_vignette.Snw:230-231 ################################################### binSeries <- binarizeTimeSeries(yeastTimeSeries) ################################################### ### code chunk number 7: BoolNet_package_vignette.Snw:236-239 ################################################### net <- reconstructNetwork(binSeries$binarizedMeasurements, method="bestfit", maxK=4) ################################################### ### code chunk number 8: BoolNet_package_vignette.Snw:245-246 ################################################### net ################################################### ### code chunk number 9: BoolNet_package_vignette.Snw:253-258 ################################################### pdf("wiring1.pdf") par(mar = c(1, 1, 1, 1)) set.seed(333) plotNetworkWiring(net) dev.off() ################################################### ### code chunk number 10: BoolNet_package_vignette.Snw:260-261 (eval = FALSE) ################################################### ## plotNetworkWiring(net) ################################################### ### code chunk number 11: BoolNet_package_vignette.Snw:275-279 ################################################### net <- reconstructNetwork(binSeries$binarizedMeasurements, method="bestfit", maxK=4, excludedDependencies = list("Sic1" = c("Sic1", "Fkh2"))) ################################################### ### code chunk number 12: BoolNet_package_vignette.Snw:281-286 ################################################### pdf("wiring2.pdf") par(mar = c(1, 1, 1, 1)) set.seed(442) plotNetworkWiring(net) dev.off() ################################################### ### code chunk number 13: BoolNet_package_vignette.Snw:294-297 ################################################### net <- reconstructNetwork(binSeries$binarizedMeasurements, method="bestfit", maxK=4) singleNet <- chooseNetwork(net, c(1,2,3,2)) ################################################### ### code chunk number 14: BoolNet_package_vignette.Snw:300-301 ################################################### singleNet ################################################### ### code chunk number 15: BoolNet_package_vignette.Snw:307-308 ################################################### set.seed(3176) ################################################### ### code chunk number 16: BoolNet_package_vignette.Snw:310-314 ################################################### series <- generateTimeSeries(cellcycle, numSeries=100, numMeasurements=10, noiseLevel=0.1) ################################################### ### code chunk number 17: BoolNet_package_vignette.Snw:319-322 ################################################### binSeries <- binarizeTimeSeries(series, method="kmeans") net <- reconstructNetwork(binSeries$binarizedMeasurements, method="bestfit") net ################################################### ### code chunk number 18: BoolNet_package_vignette.Snw:328-329 ################################################### set.seed(4463) ################################################### ### code chunk number 19: BoolNet_package_vignette.Snw:331-336 ################################################### series <- generateTimeSeries(cellcycle, numSeries=10, numMeasurements=10, perturbations=1, noiseLevel=0.1) ################################################### ### code chunk number 20: < ################################################### series$perturbations ################################################### ### code chunk number 21: BoolNet_package_vignette.Snw:347-351 ################################################### perturbations <- series$perturbations series$perturbations <- NULL binSeries <- binarizeTimeSeries(series, method="kmeans") ################################################### ### code chunk number 22: BoolNet_package_vignette.Snw:354-358 ################################################### net <- reconstructNetwork(binSeries$binarizedMeasurements, method="bestfit", perturbations=perturbations) net ################################################### ### code chunk number 23: BoolNet_package_vignette.Snw:367-368 ################################################### net <- generateRandomNKNetwork(n=10, k=3) ################################################### ### code chunk number 24: BoolNet_package_vignette.Snw:371-372 ################################################### net <- generateRandomNKNetwork(n=10, k=c(1,2,3,1,3,2,3,2,1,1)) ################################################### ### code chunk number 25: BoolNet_package_vignette.Snw:377-378 ################################################### net <- generateRandomNKNetwork(n=20, k=20, topology="scale_free") ################################################### ### code chunk number 26: BoolNet_package_vignette.Snw:382-383 ################################################### net <- generateRandomNKNetwork(n=10, k=3, linkage="lattice") ################################################### ### code chunk number 27: BoolNet_package_vignette.Snw:388-392 ################################################### net <- generateRandomNKNetwork(n=10, k=3, functionGeneration="biased", zeroBias=0.75) ################################################### ### code chunk number 28: BoolNet_package_vignette.Snw:399-407 ################################################### net1 <- generateRandomNKNetwork(n=10, k=3, functionGeneration=generateCanalyzing, zeroBias=0.75) net2 <- generateRandomNKNetwork(n=10, k=3, functionGeneration=generateNestedCanalyzing, zeroBias=0.75) ################################################### ### code chunk number 29: BoolNet_package_vignette.Snw:415-428 ################################################### isMonotone <- function(input, func) { for (i in seq_len(ncol(input))) # check each input gene { groupResults <- split(func, input[,i]) if (any(groupResults[[1]] < groupResults[[2]]) && any(groupResults[[1]] > groupResults[[2]])) # the function is not monotone return(FALSE) } return(TRUE) } ################################################### ### code chunk number 30: BoolNet_package_vignette.Snw:437-441 ################################################### net <- generateRandomNKNetwork(n=10, k=3, validationFunction="isMonotone", failureIterations=1000) ################################################### ### code chunk number 31: BoolNet_package_vignette.Snw:452-454 ################################################### data(cellcycle) knockedOut <- fixGenes(cellcycle, "CycD", 0) ################################################### ### code chunk number 32: BoolNet_package_vignette.Snw:457-458 ################################################### knockedOut <- fixGenes(cellcycle, 1, 0) ################################################### ### code chunk number 33: BoolNet_package_vignette.Snw:461-462 ################################################### overExpressed <- fixGenes(cellcycle, "CycD", 1) ################################################### ### code chunk number 34: BoolNet_package_vignette.Snw:465-466 ################################################### originalNet <- fixGenes(knockedOut, "CycD", -1) ################################################### ### code chunk number 35: BoolNet_package_vignette.Snw:471-472 ################################################### newNet <- fixGenes(cellcycle, c("CycD","CycE"), c(0,1)) ################################################### ### code chunk number 36: BoolNet_package_vignette.Snw:483-485 ################################################### data(cellcycle) stateTransition(cellcycle, rep(1,10)) ################################################### ### code chunk number 37: BoolNet_package_vignette.Snw:489-491 ################################################### path <- getPathToAttractor(cellcycle, rep(0,10)) path ################################################### ### code chunk number 38: BoolNet_package_vignette.Snw:496-500 ################################################### pdf("sequence.pdf") par(mar = c(1, 4, 2, 1)) plotSequence(sequence = path) dev.off() ################################################### ### code chunk number 39: BoolNet_package_vignette.Snw:502-503 (eval = FALSE) ################################################### ## plotSequence(sequence=path) ################################################### ### code chunk number 40: BoolNet_package_vignette.Snw:516-517 (eval = FALSE) ################################################### ## sequenceToLaTeX(sequence=path, file="sequence.tex") ################################################### ### code chunk number 41: BoolNet_package_vignette.Snw:522-524 ################################################### startState <- generateState(cellcycle, specs=c("CycD"=1,"CycA"=1)) stateTransition(cellcycle,startState) ################################################### ### code chunk number 42: BoolNet_package_vignette.Snw:531-532 ################################################### data(igf) ################################################### ### code chunk number 43: BoolNet_package_vignette.Snw:537-539 ################################################### startState <- generateState(igf, specs=c("IGF"=1)) stateTransition(igf, startState) ################################################### ### code chunk number 44: BoolNet_package_vignette.Snw:542-543 ################################################### getPathToAttractor(network=igf,state=startState) ################################################### ### code chunk number 45: BoolNet_package_vignette.Snw:548-551 ################################################### startState <- generateState(igf, specs=list("IGF"=c(0,0,1))) startState ################################################### ### code chunk number 46: BoolNet_package_vignette.Snw:561-565 ################################################### pdf("sequence_igf.pdf") par(mar = c(1, 9, 2, 1)) plotSequence(network=igf, startState=startState) dev.off() ################################################### ### code chunk number 47: BoolNet_package_vignette.Snw:567-568 (eval = FALSE) ################################################### ## plotSequence(network=igf, startState=startState) ################################################### ### code chunk number 48: BoolNet_package_vignette.Snw:574-575 ################################################### set.seed(54321) ################################################### ### code chunk number 49: BoolNet_package_vignette.Snw:577-578 ################################################### stateTransition(cellcycle, rep(1,10), type="asynchronous") ################################################### ### code chunk number 50: BoolNet_package_vignette.Snw:584-585 ################################################### set.seed(4321) ################################################### ### code chunk number 51: BoolNet_package_vignette.Snw:587-589 ################################################### stateTransition(cellcycle, rep(1,10), type="asynchronous", geneProbabilities=c(0.05,0.05,0.2,0.3,0.05,0.05,0.05,0.05,0.1,0.1)) ################################################### ### code chunk number 52: BoolNet_package_vignette.Snw:596-598 ################################################### stateTransition(cellcycle, rep(1,10), type="asynchronous", chosenGene="CycE") ################################################### ### code chunk number 53: BoolNet_package_vignette.Snw:602-603 ################################################### set.seed(432) ################################################### ### code chunk number 54: BoolNet_package_vignette.Snw:605-607 ################################################### data(examplePBN) stateTransition(examplePBN, c(0,1,1), type="probabilistic") ################################################### ### code chunk number 55: BoolNet_package_vignette.Snw:610-612 ################################################### stateTransition(examplePBN, c(0,1,1), type="probabilistic", chosenFunctions=c(2,1,2)) ################################################### ### code chunk number 56: BoolNet_package_vignette.Snw:630-633 (eval = FALSE) ################################################### ## data(cellcycle) ## attr <- getAttractors(cellcycle) ## attr ################################################### ### code chunk number 57: BoolNet_package_vignette.Snw:636-638 ################################################### attr <- getAttractors(cellcycle) attr ################################################### ### code chunk number 58: BoolNet_package_vignette.Snw:644-645 (eval = FALSE) ################################################### ## print(attr, activeOnly=TRUE) ################################################### ### code chunk number 59: BoolNet_package_vignette.Snw:648-649 ################################################### print(attr, activeOnly=TRUE) ################################################### ### code chunk number 60: BoolNet_package_vignette.Snw:658-659 ################################################### getAttractorSequence(attr, 2) ################################################### ### code chunk number 61: BoolNet_package_vignette.Snw:671-672 (eval = FALSE) ################################################### ## plotAttractors(attr, subset=2) ################################################### ### code chunk number 62: BoolNet_package_vignette.Snw:674-678 ################################################### pdf("attractor1.pdf") par(mar=c(1,5,1,1)) plotAttractors(attr, subset=2) dev.off() ################################################### ### code chunk number 63: BoolNet_package_vignette.Snw:681-682 (eval = FALSE) ################################################### ## attractorsToLaTeX(attr, subset=2, file="attractors.tex") ################################################### ### code chunk number 64: BoolNet_package_vignette.Snw:689-691 (eval = FALSE) ################################################### ## tt <- getTransitionTable(attr) ## tt ################################################### ### code chunk number 65: BoolNet_package_vignette.Snw:705-706 (eval = FALSE) ################################################### ## getBasinOfAttraction(attr, 1) ################################################### ### code chunk number 66: BoolNet_package_vignette.Snw:711-712 (eval = FALSE) ################################################### ## getStateSummary(attr, c(1,1,1,1,1,1,1,1,1,1)) ################################################### ### code chunk number 67: BoolNet_package_vignette.Snw:724-729 ################################################### pdf("stategraph1.pdf") set.seed(43210) par(mar=c(1,1,1,1)) plotStateGraph(attr) dev.off() ################################################### ### code chunk number 68: BoolNet_package_vignette.Snw:731-732 (eval = FALSE) ################################################### ## plotStateGraph(attr) ################################################### ### code chunk number 69: BoolNet_package_vignette.Snw:738-743 ################################################### pdf("piecewisestategraph.pdf") set.seed(43210) par(mar=c(1,1,1,1)) plotStateGraph(attr, piecewise=TRUE) dev.off() ################################################### ### code chunk number 70: BoolNet_package_vignette.Snw:745-746 (eval = FALSE) ################################################### ## plotStateGraph(attr, piecewise=TRUE) ################################################### ### code chunk number 71: BoolNet_package_vignette.Snw:770-771 ################################################### attr <- getAttractors(cellcycle, method="random", startStates=100) ################################################### ### code chunk number 72: BoolNet_package_vignette.Snw:775-778 ################################################### attr <- getAttractors(cellcycle, method="chosen", startStates=list(rep(0,10),rep(1,10))) ################################################### ### code chunk number 73: BoolNet_package_vignette.Snw:787-789 ################################################### attr <- getAttractors(cellcycle, method="sat.exhaustive") ################################################### ### code chunk number 74: BoolNet_package_vignette.Snw:794-797 ################################################### attr <- getAttractors(cellcycle, method="sat.restricted", maxAttractorLength=1) ################################################### ### code chunk number 75: BoolNet_package_vignette.Snw:800-801 (eval = FALSE) ################################################### ## attr ################################################### ### code chunk number 76: BoolNet_package_vignette.Snw:804-805 ################################################### attr ################################################### ### code chunk number 77: BoolNet_package_vignette.Snw:813-817 ################################################### attr <- getAttractors(cellcycle, type="asynchronous", method="random", startStates=500) ################################################### ### code chunk number 78: BoolNet_package_vignette.Snw:823-824 (eval = FALSE) ################################################### ## attr ################################################### ### code chunk number 79: BoolNet_package_vignette.Snw:850-855 (eval = FALSE) ################################################### ## attr <- getAttractors(cellcycle, ## type="asynchronous", ## method="random", ## startStates=500, ## avoidSelfLoops=FALSE) ################################################### ### code chunk number 80: BoolNet_package_vignette.Snw:870-874 ################################################### pdf("attractor2.pdf") par(mar=c(1,1,1,1)) plotAttractors(attr, subset=2, mode="graph", drawLabels=FALSE) dev.off() ################################################### ### code chunk number 81: BoolNet_package_vignette.Snw:876-877 (eval = FALSE) ################################################### ## plotAttractors(attr, subset=2, mode="graph", drawLabels=FALSE) ################################################### ### code chunk number 82: BoolNet_package_vignette.Snw:885-887 (eval = FALSE) ################################################### ## sim <- simulateSymbolicModel(igf) ## sim ################################################### ### code chunk number 83: BoolNet_package_vignette.Snw:890-892 ################################################### sim <- simulateSymbolicModel(igf) sim ################################################### ### code chunk number 84: BoolNet_package_vignette.Snw:906-914 ################################################### pdf("attractor3.pdf") par(mar=c(1,5,1,1)) plotAttractors(sim, subset=2) dev.off() pdf("stategraph2.pdf") par(mar=c(1,1,1,1)) plotStateGraph(sim) dev.off() ################################################### ### code chunk number 85: BoolNet_package_vignette.Snw:916-917 (eval = FALSE) ################################################### ## plotAttractors(sim, subset=2) ################################################### ### code chunk number 86: BoolNet_package_vignette.Snw:920-921 (eval = FALSE) ################################################### ## plotStateGraph(sim) ################################################### ### code chunk number 87: BoolNet_package_vignette.Snw:937-938 ################################################### set.seed(43851) ################################################### ### code chunk number 88: BoolNet_package_vignette.Snw:940-941 ################################################### sim <- simulateSymbolicModel(igf, method="random", startStates=2) ################################################### ### code chunk number 89: BoolNet_package_vignette.Snw:944-945 ################################################### sim$sequences ################################################### ### code chunk number 90: BoolNet_package_vignette.Snw:950-951 ################################################### sim <- simulateSymbolicModel(igf, method="sat.exhaustive") ################################################### ### code chunk number 91: BoolNet_package_vignette.Snw:954-955 ################################################### sim <- simulateSymbolicModel(igf, method="sat.restricted", maxAttractorLength=1) ################################################### ### code chunk number 92: BoolNet_package_vignette.Snw:971-974 ################################################### data(examplePBN) sim <- markovSimulation(examplePBN) sim ################################################### ### code chunk number 93: BoolNet_package_vignette.Snw:980-981 (eval = FALSE) ################################################### ## plotPBNTransitions(sim) ################################################### ### code chunk number 94: BoolNet_package_vignette.Snw:983-988 ################################################### pdf("pbntransitions.pdf") set.seed(4961) par(mar=c(1,1,1,1)) plotPBNTransitions(sim) dev.off() ################################################### ### code chunk number 95: BoolNet_package_vignette.Snw:1001-1006 ################################################### data(cellcycle) sim <- markovSimulation(cellcycle, numIterations=1024, returnTable=FALSE) sim ################################################### ### code chunk number 96: BoolNet_package_vignette.Snw:1015-1020 ################################################### sim <- markovSimulation(cellcycle, numIterations=1024, returnTable=FALSE, startStates=list(rep(1,10))) sim ################################################### ### code chunk number 97: BoolNet_package_vignette.Snw:1032-1033 ################################################### set.seed(3361) ################################################### ### code chunk number 98: BoolNet_package_vignette.Snw:1035-1040 ################################################### data(cellcycle) r <- perturbTrajectories(cellcycle, measure="hamming", numSamples=100, flipBits=1) ################################################### ### code chunk number 99: BoolNet_package_vignette.Snw:1044-1045 ################################################### r$value ################################################### ### code chunk number 100: BoolNet_package_vignette.Snw:1049-1054 ################################################### r <- perturbTrajectories(cellcycle, measure="sensitivity", numSamples=100, flipBits=1, gene="CycE") ################################################### ### code chunk number 101: BoolNet_package_vignette.Snw:1056-1057 ################################################### r$value ################################################### ### code chunk number 102: BoolNet_package_vignette.Snw:1062-1067 ################################################### r <- perturbTrajectories(cellcycle, measure="attractor", numSamples=100, flipBits=1) r$value ################################################### ### code chunk number 103: BoolNet_package_vignette.Snw:1074-1077 ################################################### perturbedNet <- perturbNetwork(cellcycle, perturb="functions", method="bitflip") ################################################### ### code chunk number 104: BoolNet_package_vignette.Snw:1082-1085 ################################################### perturbedNet <- perturbNetwork(cellcycle, perturb="functions", method="shuffle") ################################################### ### code chunk number 105: BoolNet_package_vignette.Snw:1091-1095 ################################################### perturbedNet <- perturbNetwork(cellcycle, perturb="transitions", method="bitflip", numStates=10) ################################################### ### code chunk number 106: BoolNet_package_vignette.Snw:1103-1159 (eval = FALSE) ################################################### ## # Perform a robustness test on a network ## # by counting the numbers of perturbed networks ## # containing the attractors of the original net ## ## library(BoolNet) ## ## # load mammalian cell cycle network ## data(cellcycle) ## ## # get attractors in original network ## attrs <- getAttractors(cellcycle, canonical=TRUE) ## ## # create 1000 perturbed copies of the network and search for attractors ## perturbationResults <- sapply(1:1000, function(i) ## { ## # perturb network and identify attractors ## perturbedNet <- perturbNetwork(cellcycle, perturb="functions", method="bitflip") ## perturbedAttrs <- getAttractors(perturbedNet, canonical=TRUE) ## ## # check whether the attractors in the original network exist in the perturbed network ## attractorIndices <- sapply(attrs$attractors,function(attractor1) ## { ## index <- which(sapply(perturbedAttrs$attractors, function(attractor2) ## { ## identical(attractor1, attractor2) ## })) ## if (length(index) == 0) ## NA ## else ## index ## }) ## return(attractorIndices) ## }) ## ## # perturbationResults now contains a matrix ## # with the first 2 columns specifying the indices or the ## # original attractors in the perturbed network ## # (or NA if the attractor was not found) and the next 2 ## # columns counting the numbers of states ## # in the basin of attraction (or NA if the attractor was not found) ## ## # measure the total numbers of occurrences of the original attractors in the perturbed copies ## numOccurrences <- apply(perturbationResults[seq_along(attrs$attractors),,drop=FALSE], 1, ## function(row)sum(!is.na(row))) ## ## # print original attractors ## cat("Attractors in original network:\n") ## print(attrs) ## ## # print information ## cat("Number of occurrences of the original attractors", ## "in 1000 perturbed copies of the network:\n") ## for (i in 1:length(attrs$attractors)) ## { ## cat("Attractor ",i,": ",numOccurrences[i],"\n",sep="") ## } ################################################### ### code chunk number 107: BoolNet_package_vignette.Snw:1193-1198 (eval = FALSE) ################################################### ## data(cellcycle) ## res <- testNetworkProperties(cellcycle, ## numRandomNets=100, ## testFunction="testAttractorRobustness", ## testFunctionParams = list(copies=100, perturb="functions")) ################################################### ### code chunk number 108: BoolNet_package_vignette.Snw:1204-1213 ################################################### pdf("attractor_robustness.pdf") par(mar=c(4,4,2,1)) data(cellcycle) set.seed(3241) res <- testNetworkProperties(cellcycle, numRandomNets=100, testFunction="testAttractorRobustness", testFunctionParams = list(copies=100, perturb="functions")) dev.off() ################################################### ### code chunk number 109: BoolNet_package_vignette.Snw:1234-1239 (eval = FALSE) ################################################### ## testNetworkProperties(cellcycle, ## numRandomNets=100, ## testFunction="testTransitionRobustness", ## testFunctionParams=list(numSamples=100), ## alternative="less") ################################################### ### code chunk number 110: BoolNet_package_vignette.Snw:1242-1252 ################################################### pdf("transition_robustness.pdf") par(mar=c(4,4,2,1)) data(cellcycle) set.seed(22652) testNetworkProperties(cellcycle, numRandomNets=100, testFunction="testTransitionRobustness", testFunctionParams=list(numSamples=100), alternative="less") dev.off() ################################################### ### code chunk number 111: BoolNet_package_vignette.Snw:1257-1260 (eval = FALSE) ################################################### ## testNetworkProperties(cellcycle, ## numRandomNets=100, ## testFunction="testIndegree") ################################################### ### code chunk number 112: BoolNet_package_vignette.Snw:1262-1269 ################################################### pdf("indegree.pdf") par(mar=c(4,4,2,1)) set.seed(6314) testNetworkProperties(cellcycle, numRandomNets=100, testFunction="testIndegree") dev.off() ################################################### ### code chunk number 113: BoolNet_package_vignette.Snw:1286-1290 (eval = FALSE) ################################################### ## testNetworkProperties(cellcycle, ## numRandomNets=100, ## testFunction="testIndegree", ## accumulation="kullback_leibler") ################################################### ### code chunk number 114: BoolNet_package_vignette.Snw:1292-1300 ################################################### pdf("indegree_kl.pdf") par(mar=c(4,4,2,1)) set.seed(234256) testNetworkProperties(cellcycle, numRandomNets=100, testFunction="testIndegree", accumulation="kullback_leibler") dev.off() ################################################### ### code chunk number 115: BoolNet_package_vignette.Snw:1316-1328 ################################################### testBasinSizes <- function(network, accumulate=TRUE, params) { attr <- getAttractors(network) basinSizes <- sapply(attr$attractors, function(a) { a$basinSize }) if (accumulate) return(mean(basinSizes)) else return(basinSizes) } ################################################### ### code chunk number 116: BoolNet_package_vignette.Snw:1334-1338 (eval = FALSE) ################################################### ## testNetworkProperties(cellcycle, ## numRandomNets=100, ## testFunction="testBasinSizes", ## xlab="Average size of basins of attraction") ################################################### ### code chunk number 117: BoolNet_package_vignette.Snw:1340-1348 ################################################### pdf("basinsize.pdf") par(mar=c(4,4,2,1)) set.seed(6724) testNetworkProperties(cellcycle, numRandomNets=100, testFunction="testBasinSizes", xlab="Average size of basins of attraction") dev.off() ################################################### ### code chunk number 118: BoolNet_package_vignette.Snw:1371-1372 (eval = FALSE) ################################################### ## saveNetwork(cellcycle, file="cellcycle.txt") ################################################### ### code chunk number 119: BoolNet_package_vignette.Snw:1377-1379 ################################################### net <- generateRandomNKNetwork(n=10, k=3, readableFunctions=FALSE) saveNetwork(net, file="randomnet.txt", generateDNF=TRUE) ################################################### ### code chunk number 120: BoolNet_package_vignette.Snw:1394-1397 ################################################### toSBML(cellcycle, file="cellcycle.sbml") sbml_cellcycle <- loadSBML("cellcycle.sbml") sbml_cellcycle ################################################### ### code chunk number 121: BoolNet_package_vignette.Snw:1416-1417 (eval = FALSE) ################################################### ## system.file("doc/example.btp", package="BoolNet") ################################################### ### code chunk number 122: BoolNet_package_vignette.Snw:1449-1450 ################################################### net <- loadBioTapestry(system.file("doc/example.btp", package="BoolNet")) ################################################### ### code chunk number 123: BoolNet_package_vignette.Snw:1452-1453 (eval = FALSE) ################################################### ## net <- loadBioTapestry("example.btp") ################################################### ### code chunk number 124: BoolNet_package_vignette.Snw:1458-1459 (eval = FALSE) ################################################### ## net ################################################### ### code chunk number 125: BoolNet_package_vignette.Snw:1482-1483 (eval = FALSE) ################################################### ## plotNetworkWiring(net) ################################################### ### code chunk number 126: BoolNet_package_vignette.Snw:1485-1490 ################################################### pdf("wiring_biotap.pdf") par(mar=c(1,1,1,1)) set.seed(559652) plotNetworkWiring(net) dev.off() ################################################### ### code chunk number 127: BoolNet_package_vignette.Snw:1511-1514 (eval = FALSE) ################################################### ## data(cellcycle) ## attr <- getAttractors(cellcycle) ## toPajek(attr, file="cellcycle.net") ################################################### ### code chunk number 128: BoolNet_package_vignette.Snw:1518-1519 (eval = FALSE) ################################################### ## toPajek(attr, file="cellcycle.net", includeLabels=TRUE) BoolNet/inst/doc/BoolNet_package_vignette.Snw0000644000176200001440000027430112733234746020773 0ustar liggesusers\documentclass[a4paper]{article} \SweaveOpts{keep.source=TRUE} %\VignetteIndexEntry{Detailed introduction to all major features of BoolNet} \usepackage{a4wide} \usepackage{graphicx} \usepackage{amsmath} \usepackage{hyperref} \usepackage{listings} \lstset{breaklines=true, breakautoindent=false, breakindent=0pt, columns=fullflexible,keepspaces=true, basicstyle=\small\ttfamily} \setlength{\parindent}{0em} \setlength{\parskip}{0.2em} \title{BoolNet package vignette} \author{Christoph M\"ussel, Martin Hopfensitz, Hans A. Kestler} \widowpenalty=10000 \clubpenalty=10000 \hyphenation{me-thods pro-per-ties re-pre-sen-ta-tion} \begin{document} \SweaveOpts{concordance=TRUE} \maketitle \tableofcontents \clearpage \section{Introduction} \texttt{BoolNet} is an R package that provides tools for assembling, analyzing and visualizing synchronous and asynchronous Boolean networks as well as probabilistic Boolean networks. This document gives an introduction to the usage of the software and includes examples for use cases. \texttt{BoolNet} supports four types of networks: \begin{description} \item[Synchronous Boolean networks]{ consist of a set of Boolean variables \[ X = \left\{X_1, \ldots, X_n \right\} \] and a set of transition functions \[ F=\left\{ f_{1},\ldots,f_{n}\right\}, \] one for each variable. These transition functions map an input of the Boolean variables in $X$ to a Boolean value ($0$ or $1$). We call a Boolean vector $\mathbf{x}(t) = \left(x_1(t), \ldots, x_n(t) \right)$ the {\em state} of the network at time $t$. Then, the next state of the network $\mathbf{x}(t)$ is calculated by applying {\em all} transition functions $f_i(\mathbf{x}(t-1))$. In a biological context, genes can be modeled as Boolean variables ({\em active/expressed} or {\em inactive/not expressed}), and the transition functions model the dependencies among these genes. In the synchronous model, the assumption is that all genes are updated at the same time. This simplification facilitates the analysis of the networks.} \item[Asynchronous Boolean networks]{ have the same structure as synchronous Boolean networks. Yet, at each point of time $t$, only {\em one} of the transition functions $f_i \in F$ is chosen at random, and the corresponding Boolean variable is updated. This corresponds to the assumption that in a genetic network, gene expression levels are likely to change at different points of time. In the most common model, the gene to be updated is chosen uniformly among all genes. Moreover, \texttt{BoolNet} supports specifying non-uniform update probabilities for the genes.} \item[Probabilistic Boolean networks (PBN)]{ allow for specifying more than one transition function per variable/gene. Each of these functions has a probability to be chosen, where the probabilities of all functions for one variable sum up to 1. Formally \[ F=\left\{\left\{\left(f_{11}, p_{11}\right), \ldots, \left(f_{1k_1}, p_{1k_1}\right)\right\}, \ldots, \left\{\left(f_{n1}, p_{n1}\right), \ldots, \left(f_{nk_n}, p_{nk_n}\right)\right\}\right\} \] where $k_i$ is the number of alternative transition functions for variable $i$, and $p_{ij}$ is the probability that function $j$ is chosen for variable $i$. A state transition is performed by selecting one function for each gene based on the probabilities and applying the chosen functions synchronously.} \item[Temporal Boolean networks]{ are Boolean networks that incorporate temporal predicates and discrete time delays. Here, the next state $x(t)$ may not only depend on $x(t-1)$, but can depend on any predecessor state $x(t - \Delta), \Delta \in \{1, 2, \ldots\}$. Furthermore, $x(t)$ may also directly depend on the time step $t$ itself. } \end{description} In \texttt{BoolNet}, there are different structure classes representing these network types: \begin{description} \item[\emph{BooleanNetwork} objects]{ contain synchronous and asynchronous Boolean networks. Here, the transition functions are internally represented as truth tables.} \item[\emph{ProbabilisticBooleanNetwork} objects]{ encode Probabilistic Boolean networks. They use a truth table representation as well.} \item[\emph{SymbolicBooleanNetwork} objects]{ represent synchronous and temporal Boolean networks. They encode Boolean functions in a symbolic form, i.e. as expression trees.} \end{description} As we have seen, the networks are represented in two different forms: The truth table representation, which basically maps inputs to the corresponding output values, is usually the most efficient representation for synchronous, asynchronous and probabilistic networks and uses a very fast simulator. However, this representation grows exponentially with the number of inputs and is therefore inappropriate for networks with a high number of inputs. This is particularly the case for temporal networks, where each unique time delay for a gene encodes an input. Hence, temporal networks are represented by directly encoding the corresponding Boolean expressions and use a different simulator. As synchronous Boolean networks are a special case of temporal networks (with all time delays being 1), these networks can also be represented as \emph{SymbolicBooleanNetwork} objects. The package provides several methods of constructing networks: Networks can be loaded from files in which human experts describe the dependencies between the genes. Furthermore, they can be reconstructed from time series of gene expression measurements. It is also possible to generate random networks. This can be helpful for the identification of distinct properties of biological networks by comparison to random structures. The different methods of assembling networks are described in Section~\ref{sec:assemblingnetworks}. In Section~\ref{sec:networkanalysis}, tools for the analysis and visualization of network properties are introduced. For synchronous, asynchronous and temporal Boolean networks, the most important tool is the identification of attractors. Attractors are cycles of states and are assumed to be associated with the stable states of cell function. Another possibility of identifying relevant states is the included Markov chain simulation. This method is particularly suited for probabilistic networks and calculates the probability that a state is reached after a certain number of iterations. To test the robustness of structural properties of the networks to noise and mismeasurements, the software also includes extensive support for perturbing networks. In this way, it is possible to test these properties in noisy copies of a biological network. In Section~\ref{sec:importexport}, the interaction of \texttt{BoolNet} with related software is described. In particular, the import from and export to SBML is discussed. Also, the necessary steps to import networks import networks from BioTapestry and to export networks to Pajek are outlined. For the examples in the following sections, we assume that the \texttt{BoolNet} package has been properly installed into the R environment. This can be done by typing <>= install.packages("BoolNet") @ into the R console or by the corresponding menu entries in an R GUI. For some of the plots, the \texttt{igraph} package is required and must be installed in your R environment as well. This is analogous to installing \texttt{BoolNet}. For the BioTapestry and SBML import, the \texttt{XML} package must be installed. After installation, the \texttt{BoolNet} package can be loaded via <<>>= library(BoolNet) @ \section{Assembling networks}\label{sec:assemblingnetworks} \subsection{Assembling a network from expert knowledge} A major advantage of Boolean networks is the fact that natural-language statements can easily be transferred into this representation. This allows researchers for building Boolean networks entirely from expert knowledge, for example by collecting statements on gene dependencies from literature and expressing them as Boolean rules. \texttt{BoolNet} is able to read in networks consisting of such rule sets in a standardized text file format. In such a file, each line consists of a target gene and an update rule, usually separated by a comma. Optionally, it is also possible to add a probability for the rule if the file describes a probabilistic network. The first line of such a file is a header \begin{samepage} \begin{verbatim} targets, factors \end{verbatim} or \begin{verbatim} targets, factors, probabilities \end{verbatim} \end{samepage} To illustrate the process of transforming natural-language statements into Boolean rules, we take a look at the mammalian cell cycle network introduced by Faur\'e et al. \cite{faure06}. In Table 1 of this paper, the authors list natural-language statements of gene dependencies and the corresponding Boolean expressions. The following rules are taken from this table. For gene CycD, Faur\'e et al. state: \begin{quote} \textit{CycD is an input, considered as constant.} \end{quote} Transforming this into a Boolean rule is rather simple: CycD does not change its value, which means that its value after a transition only depends on its previous value. Thus, the transition rule is \begin{verbatim} CycD, CycD \end{verbatim} Gene Rb has a more complex description: \begin{quote} \textit{Rb is expressed in the absence of the cyclins, which inhibit it by phosphorylation [...]; it can be expressed in the presence of CycE or CycA if their inhibitory activity is blocked by p27.} \end{quote} As a general rule, inhibition can be represented by a Boolean negation. In the \texttt{BoolNet} file format, a negation is expressed by the \texttt{!} character. The referenced cyclins comprise the genes CycA, CycB, CycD, and CycE. If {\em all} these genes are absent, Rb is expressed -- i.e. if CycA is not expressed {\em and} CycB is not expressed {\em and} CycD is not expressed {\em and} CycE is not expressed. A logical AND is embodied by the \texttt{\&} character. Consequently, the first part of the rule is \begin{verbatim} ! CycA & ! CycB & ! CycD & ! CycE \end{verbatim} In combination with the above statement, the fact that Rb can be expressed in the presence of CycE and CycA if p27 is active means that CycB and CycD must not be active. Thus, the second part of the rule is \begin{verbatim} p27 & ! CycB & ! CycD \end{verbatim} This statement is an exception (or alternative) to the first statement; this can be expressed as a logical OR, for which the \texttt{|} character is used. The complete rule for gene Rb is thus \begin{verbatim} Rb, (! CycA & ! CycB & ! CycD & ! CycE) | (p27 & ! CycB & ! CycD) \end{verbatim} After processing all genes in the table in this way, we get the following network description: \begin{samepage} \begin{footnotesize} \begin{verbatim} targets, factors CycD, CycD Rb, (! CycA & ! CycB & ! CycD & ! CycE) | (p27 & ! CycB & ! CycD) E2F, (! Rb & ! CycA & ! CycB) | (p27 & ! Rb & ! CycB) CycE, (E2F & ! Rb) CycA, (E2F & ! Rb & ! Cdc20 & ! (Cdh1 & UbcH10)) | (CycA & ! Rb & ! Cdc20 & ! (Cdh1 & UbcH10)) p27, (! CycD & ! CycE & ! CycA & ! CycB) | (p27 & ! (CycE & CycA) & ! CycB &! CycD) Cdc20, CycB Cdh1,(! CycA & ! CycB) | (Cdc20) | (p27 & ! CycB) UbcH10, ! Cdh1 | (Cdh1 & UbcH10 & (Cdc20 | CycA | CycB)) CycB, ! Cdc20 & ! Cdh1 \end{verbatim} \end{footnotesize} \end{samepage} Now save this description to a file ``cellcycle.txt'' in your R working directory. The network can be loaded via <>= cellcycle <- loadNetwork("cellcycle.txt") @ The result is an object of class \emph{BooleanNetwork} containing a truth table representation of the network. The same network is also included in \texttt{BoolNet} as an example and can be accessed via <<>>= data(cellcycle) @ \texttt{BoolNet} also provides several convenience operators that can be used to express complex Boolean functions in a compact way, e.g. \begin{itemize} \item \texttt{maj(a, b, ...)} is 1 if the majority of its operands are 1. Similarly, \texttt{sumgt(a, b, ..., N)} is 1 if more than $N$ operands are 1, \texttt{sumlt(a, b, ..., N)} is 1 if less than $N$ operands are~1, and \texttt{sumis(a, b, ..., N)} is 1 if exactly $N$ operands are 1. \item \texttt{all(a, b, ...)} is 1 if all its operands are 1 (i.e. a logical AND), and \texttt{any(a, b, ...)} is~1 if at least one of its operands is 1 (i.e. a logical OR). \end{itemize} The cell cycle network is a classical Boolean network, where each transition function only depends on the previous state of the network. E.g., \verb+CycB, ! Cdc20 & ! Cdh1+ can be written formally as $CycB(t) = \neg Cdc20(t-1) \wedge \neg Cdh1(t-1)$. As already discussed before, \texttt{BoolNet} also incorporates several temporal extensions. For example, a transition function can also depend on the states of genes at earlier time points: \begin{verbatim} a, b[-3] & b[-2] & b \end{verbatim} is 1 if b has been active in the previous three time steps. The operators described above can also incorporate time ranges. The previous statement can be written in a more compact way using the \texttt{all} operator: \begin{verbatim} a, all[d=-3..-1](b[d]) \end{verbatim} This defines a time delay variable \texttt{d} that can be used for time specifications inside the operator. It can also be used in arithmetic operations. E.g., \begin{verbatim} a, all[d=-3..-1](b[d] & c[d-1]) \end{verbatim} specifies that a is active if b has been active in the previous three time steps and c has been active at time $t-4$, $t-3$ and $t-2$. Apart from relative time specifications, the \texttt{BoolNet} network language also incorporates predicates that depend on the absolute time, i.e. the number of time steps that have elapsed since the initial state. \begin{samepage} For example, \begin{verbatim} a, timeis(3) \end{verbatim} specifies that \texttt{a} is active at time step 3 and inactive at all other time steps. Similarly, the predicates \texttt{timelt} and \texttt{timegt} evaluate to 1 before and after the specified time point respectively. \end{samepage} As the above examples do not cover all possibilities of the network description language, a full language specification is provided in Section~\ref{sec:appendix}. For temporal networks, \texttt{BoolNet} uses a special symbolic simulator that represents the functions as expression trees, whereas the standard simulator is based on a truth table representation. These simulators are discussed in Section~\ref{sec:networkanalysis}. As synchronous Boolean networks are a special case of temporal networks, they can also be simulated with the symbolic simulator. When a network is loaded from a file using \texttt{loadNetwork()}, the user can specify the parameter \texttt{symbolic=TRUE} to load it in form of a \emph{SymbolicBooleanNetwork} object instead of a \emph{BooleanNetwork} object. The same parameter is also available for the import functions discussed in Section~\ref{sec:importexport}. Temporal networks can only be loaded with \texttt{symbolic=TRUE}, as \texttt{BoolNet} cannot represent them as truth tables. \begin{sloppypar} As many network generation and modification routines (such as random network generation and network reconstruction that are discussed in the following sections) internally use the truth table representation, there are conversion routines \texttt{truthTableToSymbolic()} and \texttt{symbolicToTruthTable()} that convert synchronous Boolean networks of class \emph{BooleanNetwork} in a truth table representation to networks of class \emph{SymbolicBooleanNetwork} in a symbolic representation and vice versa. For more details, please refer to the manual. \end{sloppypar} \subsection{Reconstructing a network from time series} An entirely different approach of assembling a network is to infer rules from series of expression measurements of the involved genes over time. For example, microarray experiments can be conducted at different points of time to cover the expression levels of different cell states. To reconstruct networks from such data, \texttt{BoolNet} includes two reconstruction algorithms for synchronous Boolean networks, Best-Fit Extension~\cite{laehdesmaeki03} and REVEAL \cite{liang98}. REVEAL requires the inferred functions to match the input time series perfectly, hence it is not always able to reconstruct networks in the presence of noisy and inconsistent measurements. Best-Fit Extension retrieves a set of functions with minimum error on the input and is thus suited for noisy data. In the following, we introduce a tool chain for the reconstruction of a Probabilistic Boolean Network from time series using Best-Fit extension. Microarray measurements are usually represented as matrices of real-valued numbers which, for example, quantify the expression levels of genes. \texttt{BoolNet} includes a real-valued time series of gene measurements from a project to analyze the yeast cell cycle \cite{spellman98} which can be loaded using <<>>= data(yeastTimeSeries) @ This data contains four preselected genes and a series of 14 measurements for each of these genes. \begin{sloppypar} In a first step, the real-valued dataset has to be converted to binary data as required by the reconstruction algorithm. \texttt{BoolNet} offers several binarization algorithms in the function \texttt{binarizeTimeSeries()}. We here employ the default method which is based on $k$-means clustering (with $k=2$ for active and inactive): \end{sloppypar} <<>>= binSeries <- binarizeTimeSeries(yeastTimeSeries) @ The returned structure in \texttt{binSeries} has an element \texttt{\$binarizedMeasurements} containing the binary time series, and, depending on the chosen binarization method, some other elements describing parameters of the binarization. To reconstruct the network from this data, we call the Best-Fit Extension algorithm: <<>>= net <- reconstructNetwork(binSeries$binarizedMeasurements, method="bestfit", maxK=4) @ Here, \texttt{maxK} is the maximum number of input genes for a gene examined by the algorithm. The higher this number, the higher is the runtime and memory consumption of the reconstruction. \begin{samepage} We can now take a look at the network using <<>>= net @ \end{samepage} \begin{sloppypar} The dependencies among the genes in the network can be visualized using the \texttt{plotNetworkWiring()} function. In this graph, each gene corresponds to a vertex, and the inputs of transition functions correspond to edges. \end{sloppypar} <>= pdf("wiring1.pdf") par(mar = c(1, 1, 1, 1)) set.seed(333) plotNetworkWiring(net) dev.off() @ <>= plotNetworkWiring(net) @ plots a graph similar to that at the top of Figure~\ref{fig:wiring}. To use this function, you must install the \texttt{igraph} package. \begin{figure}[p] \centering \includegraphics[width=0.5\linewidth]{wiring1} \includegraphics[width=0.5\linewidth]{wiring2} \caption{The wiring graph of the reconstructed network without prior knowledge (top) and with the inclusion of prior knowledge (bottom). Each node of the graph represents one gene, and each arrow represents a gene dependency.} \label{fig:wiring} \end{figure} A network that involved the same genes was examined by Kim et al. \cite{kim07}. When comparing the wiring graph of our reconstructed network with the reference network presented in Figure~2 of this paper, one observes a very high similarity between the two networks. However, the reconstructed network comprises too many links for the gene Sic1: The reference network does not contain a self-regulation of Sic1 or regulation of Sic1 by Fkh2. If it is known in advance that these regulations are not plausible, such prior knowledge can be supplied to the reconstruction algorithm: <<>>= net <- reconstructNetwork(binSeries$binarizedMeasurements, method="bestfit", maxK=4, excludedDependencies = list("Sic1" = c("Sic1", "Fkh2"))) @ <>= pdf("wiring2.pdf") par(mar = c(1, 1, 1, 1)) set.seed(442) plotNetworkWiring(net) dev.off() @ The wiring of the reconstruction with prior knowledge is shown at the bottom of Figure~\ref{fig:wiring}. We can see that the two false links are now eliminated. Similar to \texttt{excludedDependencies}, there is also a parameter \texttt{requiredDependencies} that specifies dependencies that must be included in the network. When \texttt{reconstructNetwork()} discovers multiple functions for a gene with the minimum error on the input data, it includes all of these functions as alternative functions with equal probability. Consequently, the function returns a \texttt{ProbabilisticBooleanNetwork} structure. If you would like to obtain a \texttt{BooleanNetwork} object with only one function per gene from a probabilistic network, you can extract such a network by telling the software which of the functions you would like to use. This can be done by specifying the indices of the functions to extract: <<>>= net <- reconstructNetwork(binSeries$binarizedMeasurements, method="bestfit", maxK=4) singleNet <- chooseNetwork(net, c(1,2,3,2)) @ The result is a Boolean network that is created by extracting the first function of gene Fkh2, the second function of genes Swi5 and Clb1, and the third function of gene Sic1 from the above probabilistic network: <<>>= singleNet @ \begin{sloppypar} \texttt{BoolNet} also supports the generation of artificial time series from existing networks: The \texttt{generateTimeSeries()} function generates a set of time series from a network using random start states and optionally adds Gaussian noise. \end{sloppypar} <>= set.seed(3176) @ <<>>= series <- generateTimeSeries(cellcycle, numSeries=100, numMeasurements=10, noiseLevel=0.1) @ generates a list of 100 time series by calculating 10 consecutive transitions from 100 randomly chosen network states in the mammalian cell cycle network. The series are subject to Gaussian noise with a standard deviation of 0.1, such that the result is a list of real-valued matrices. We can now binarize these simulated measurements and try to reconstruct the original network: <<>>= binSeries <- binarizeTimeSeries(series, method="kmeans") net <- reconstructNetwork(binSeries$binarizedMeasurements, method="bestfit") net @ Obviously, the number of generated time series is still to small to reconstruct the network unambiguously. However, the result comes close to the original network. We see that the functions of the network are not fully specified: At some positions, there are asterisks (\texttt{*}) denoting a \emph{don't care} value. This means that functions with a 0 and a 1 at this position match the time series equally well. That is, a partially defined function with $m$ asterisks corresponds to $2^m$ fully defined Boolean functions. It is also possible to generate these fully defined functions instead of the partially defined function by setting the parameter \texttt{returnPBN} to true (which was the behaviour prior to \texttt{BoolNet} version 2.0). For many \emph{don't care} values, this may consume a high amount of memory and computation time. \texttt{generateTimeSeries()} can also generate time series with artificial knock-outs and overexpressions: <>= set.seed(4463) @ <<>>= series <- generateTimeSeries(cellcycle, numSeries=10, numMeasurements=10, perturbations=1, noiseLevel=0.1) @ specifies that each generated time series is generated from a network where one randomly selected gene is artificially knocked down (constantly 0) or overexpressed (constantly 1). These perturbations are returned in an additional element \texttt{perturbations}. \begin{samepage} <<<>>= series$perturbations @ \end{samepage} Here, each column corresponds to the perturbations applied in one series. A value of 1 denotes an overexpression, a value of 0 denotes a knock-out, and an N/A value means that no perturbation was applied to this gene. The \texttt{reconstructNetwork()} function also supports the reconstruction from such perturbation experiments if it is known which genes were perturbed. First, we store the series and the perturbation matrix in separate variables and binarize the data as before: <<>>= perturbations <- series$perturbations series$perturbations <- NULL binSeries <- binarizeTimeSeries(series, method="kmeans") @ Now, we can reconstruct the network by specifying the \texttt{perturbations} parameter: <<>>= net <- reconstructNetwork(binSeries$binarizedMeasurements, method="bestfit", perturbations=perturbations) net @ As we generated only 10 series in this case, the reconstructed network is much more incomplete than in the previous reconstruction. In biological settings, perturbation experiments are probably one of the most frequent ways of exploring the behaviour of a regulatory network, as it is much easier to obtain various different responses by applying perturbations than by just measuring the wild type behaviour. \subsection{Creating random networks} To study structural properties of Boolean networks and to determine the specific properties of biological networks in comparison to arbitrary networks, it is often desirable to generate artificial networks. \texttt{BoolNet} comprises a facility for the generation of random $N$-$K$ networks \cite{kauffman69, kauffman93}. In the standard $N$-$K$ networks, $N$ is the total number of genes, and $K$ is the number of input genes for each gene transition function. Such a network can be generated using <<>>= net <- generateRandomNKNetwork(n=10, k=3) @ This creates a network with 10 genes, each of which has a transition function that depends on 3 genes and whose output is generated uniformly at random. Similarly, one can also specify different numbers of input genes for each gene: <<>>= net <- generateRandomNKNetwork(n=10, k=c(1,2,3,1,3,2,3,2,1,1)) @ \texttt{BoolNet} does not only support this standard case, but allows for different methods of choosing the numbers of input genes (parameter \texttt{topology}), the input genes themselves (parameter \texttt{linkage}), and the transition functions (parameter \texttt{functionGeneration}). In the following, some examples are presented. The command <<>>= net <- generateRandomNKNetwork(n=20, k=20, topology="scale_free") @ determines the numbers of input genes by drawing values from the scale-free Zeta distribution \cite{aldana03}. According to this distribution, most transition functions will have a small number of input genes, but a few transition functions may depend on a high number of genes. The shape of the Zeta distribution can be customized using an additional parameter \texttt{gamma}, which potentially increases the number of input genes when chosen small and vice versa. <<>>= net <- generateRandomNKNetwork(n=10, k=3, linkage="lattice") @ creates a network in which the transition functions of the genes depend on a choice of genes with adjacent indices \cite{aldana03_2}. This leads to networks with highly interdependent genes. It is also possible to influence the truth tables of the functions in several ways. The parameter \texttt{zeroBias} changes the ratio of 1 and 0 returned by the functions: <<>>= net <- generateRandomNKNetwork(n=10, k=3, functionGeneration="biased", zeroBias=0.75) @ generates a network in which the outcome of a transition function is 0 for around 75\% of the inputs. A more intricate way of influencing the function generation is the specification of generation functions. Generation functions explicitly generate functions according to a specific function class. \emph{Canalyzing functions} are assumed to occur frequently in biological systems~\cite{kauffman04}. A canalyzing function has the property that one input can determine the output value on its own, i.e. if this input is either active or inactive, the output of the function is always the same. \emph{Nested canalyzing functions} are a recursive definition of canalyzing functions, where the part of the function that does not depend on the canalyzing input is a canalyzing function for another input. Such functions can be generated using the built-in generation functions \texttt{generateCanalyzing()} and \texttt{generateNestedCanalyzing()}: <<>>= net1 <- generateRandomNKNetwork(n=10, k=3, functionGeneration=generateCanalyzing, zeroBias=0.75) net2 <- generateRandomNKNetwork(n=10, k=3, functionGeneration=generateNestedCanalyzing, zeroBias=0.75) @ It is also possible to define own generation functions: A generation function receives a vector \texttt{input} of input gene indices as a parameter and returns a truth table result column with \verb+2^length(input)+ values representing the function. If no explicit generation scheme is known for the function class of interest, validation functions can be used instead of generation functions. Validation functions verify whether randomly generated functions belong to a specific function class and reject invalid functions. Naturally, this is much less efficient than generating appropriate functions directly. An example is the generation of monotone functions, which are also thought to be biologically plausible. These function account for the assumption that a transcription factor usually either activates or inhibits a specific target gene, but does not change the type of regulation depending on other factors~\cite{maucher11}. We can specify a simple validation function that checks whether a Boolean function is monotone: \begin{samepage} <<>>= isMonotone <- function(input, func) { for (i in seq_len(ncol(input))) # check each input gene { groupResults <- split(func, input[,i]) if (any(groupResults[[1]] < groupResults[[2]]) && any(groupResults[[1]] > groupResults[[2]])) # the function is not monotone return(FALSE) } return(TRUE) } @ \end{samepage} \begin{sloppypar} Here, \texttt{input} is a matrix containing the input part of the transition table, and \texttt{func} is the output of the Boolean function. In a monotone function, the values of the target may only change in one direction when switching one input. Hence, a function for which switching the value of an input gene sometimes switches the target from active to inactive, but also sometimes switches it from inactive to active is not monotone. This is validated by comparing the two groups of transition table entries for which the current input is active and inactive respectively. If a validation function is supplied to \texttt{generateRandomNKNetwork()}, the generator generates Boolean functions until either the validation function returns \texttt{TRUE} or the maximum number of iterations (specified by the parameter \texttt{failureIterations}) is reached, in which case it fails. \end{sloppypar} <<>>= net <- generateRandomNKNetwork(n=10, k=3, validationFunction="isMonotone", failureIterations=1000) @ creates a network with 10 genes in which all functions have 3 inputs, of which at least one is canalyzing. By default, \texttt{generateRandomNKNetwork()} creates functions that cannot be simplified, i.e. that do not contain any genes that are irrelevant for the outcome of the function. If desired, this behaviour can be changed by setting \texttt{noIrrelevantGenes} to \texttt{FALSE}. The presented parameters can be combined, and there are further options and parameters, so that a broad variety of networks with different structural properties can be generated. For a full reference of the possible parameters, please refer to the manual. \subsection{Knock-out and overexpression of genes} \texttt{BoolNet} allows for temporarily knocking out and overexpressing genes in a network without touching the transition functions. This means that genes can be set to a fixed value, and in any calculation on the network, this fixed value is taken instead of the value of the corresponding transition function. Knocked-out and overexpressed genes speed up the analysis of the network, as they can be ignored in many calculations. For example, to knock out CycD in the mammalian cell cycle network, we call <<>>= data(cellcycle) knockedOut <- fixGenes(cellcycle, "CycD", 0) @ or alternatively use the gene index <<>>= knockedOut <- fixGenes(cellcycle, 1, 0) @ This sets the gene constantly to 0. To over-express the gene (i.e. to fix it to 1), the corresponding call is <<>>= overExpressed <- fixGenes(cellcycle, "CycD", 1) @ The command <<>>= originalNet <- fixGenes(knockedOut, "CycD", -1) @ reactivates the gene (for both knock and overexpression) and resets the network to its original state. The function also accepts multiple genes in a single call, such as <<>>= newNet <- fixGenes(cellcycle, c("CycD","CycE"), c(0,1)) @ which knocks out CycD and overexpresses CycE. \section{Network analysis}\label{sec:networkanalysis} \subsection{Simulation of state transitions} To simulate a state transition and identify successor states of a given state, \texttt{BoolNet} includes the function \texttt{stateTransition()}. The function supports transitions for all four types of networks. The following code performs a synchronous state transition for the state in which all genes are set to 1 on the mammalian cell cycle network: <<>>= data(cellcycle) stateTransition(cellcycle, rep(1,10)) @ To calculate all state transitions in a synchronous network until an attractor is reached, you can call <<>>= path <- getPathToAttractor(cellcycle, rep(0,10)) path @ The returned matrix consists of the subsequent states until an attractor is reached. Depending on the optional parameter \texttt{includeAttractorStates}, the sequence comprises all attractor states, only the first attractor state or none of the attractor states. A sequence can be visualized by plotting a table of state changes: <>= pdf("sequence.pdf") par(mar = c(1, 4, 2, 1)) plotSequence(sequence = path) dev.off() @ <>= plotSequence(sequence=path) @ \begin{figure}[t] \centering \includegraphics[width=0.6\linewidth]{sequence} \caption{Visualization of a sequence of states in the mammalian cell cycle network. The columns of the table represent consecutive states of the time series. The last state is the steady-state attractor of the network.} \label{fig:sequence} \end{figure} The result is depicted in Figure~\ref{fig:sequence}. \texttt{plotSequence()} also includes a shortcut that calculates the sequence directly if a network and a start state are supplied. It also provides an alternative way of visualizing the sequence as a state transition by setting \texttt{mode="graph"}. The function <>= sequenceToLaTeX(sequence=path, file="sequence.tex") @ creates a \LaTeX\ table similar to \texttt{plotSequence()} function document. In many cases, start states are defined by a set of active genes. Instead of supplying a full state vector, one can also supply only these active genes using the \texttt{generateState()} function. <<>>= startState <- generateState(cellcycle, specs=c("CycD"=1,"CycA"=1)) stateTransition(cellcycle,startState) @ \begin{sloppypar} calculates a state transition starting from a state where only the genes \emph{CycD} and \emph{CycA} are active, while all other genes are inactive (which is controlled by the \texttt{default} parameter of \texttt{generateState()}). \end{sloppypar} For temporal Boolean networks (objects of class \emph{SymbolicBooleanNetworks}), the above functions can be utilized mostly in the same way. We demonstrate this using a small temporal network example of the IGF (Insulin-like growth receptor) pathway that is included in the package and can be loaded via <<>>= data(igf) @ The model illustrates the activation and feedback inhibition of the PI3K-Akt-mTOR signalling cascade through IGF and IRS. A state transition from the initial state in which the trigger of the pathway -- IGF -- is active, can be performed using <<>>= startState <- generateState(igf, specs=c("IGF"=1)) stateTransition(igf, startState) @ The IGF network incorporates time delays of up to 3. Therefore, the last three states have to be known to calculate a successor state. If only a single state is supplied -- as above -- the function assumes that the state was the same before. This can be seen when calculating the sequence to the attractor using <<>>= getPathToAttractor(network=igf,state=startState) @ Here, the states at $t=-2, \ldots 0$ are the same as the generated start state. If it is required to specify multiple predecessor states here, a matrix of states can be supplied instead of a vector. E.g., <<>>= startState <- generateState(igf, specs=list("IGF"=c(0,0,1))) startState @ specifies that the first two states ($t=-2, t=-1$) should have all genes inactive, while IGF is activated only at $t=0$. This time, we plot the sequence instead of printing it: \begin{figure}[bt] \centering \includegraphics[width=0.6\linewidth]{sequence_igf} \caption{Visualization of a sequence of states in the IGF network. The columns of the table represent consecutive states of the time series. After activation of IGF, the attractor consisting of 14 states is entered immediately. This attractor represents the activation and inactivation of the PI3K-Akt-mTOR signalling cascade through IGF and IRS.} \label{fig:sequence_igf} \end{figure} <>= pdf("sequence_igf.pdf") par(mar = c(1, 9, 2, 1)) plotSequence(network=igf, startState=startState) dev.off() @ <>= plotSequence(network=igf, startState=startState) @ The result is depicted in Figure~\ref{fig:sequence_igf}. \texttt{stateTransition()} can also perform asynchronous updates. A random asynchronous transition is performed using <>= set.seed(54321) @ <<>>= stateTransition(cellcycle, rep(1,10), type="asynchronous") @ In this case, the fifth gene, CycA, was chosen at uniformly at random and updated. \begin{samepage} We can also specify non-uniform probabilities for the genes, for example <>= set.seed(4321) @ <<>>= stateTransition(cellcycle, rep(1,10), type="asynchronous", geneProbabilities=c(0.05,0.05,0.2,0.3,0.05,0.05,0.05,0.05,0.1,0.1)) @ This obviously increases probabilities for the genes 3 and 4 (E2F and CycE) to be chosen. In this case, CycE was chosen for the update. \end{samepage} \enlargethispage{0.5cm} Sometimes you do not want a random update at all, but would like to specify which gene should be chosen for the update. This is possible via <<>>= stateTransition(cellcycle, rep(1,10), type="asynchronous", chosenGene="CycE") @ In probabilistic Boolean networks, a state transition is performed by choosing one of the alternative functions for each gene and applying this set of functions to the current state. The following performs a state transition with a randomly chosen set of functions on the artificial probabilistic Boolean network taken from \cite{shmulevich02} with 3 genes, starting from state (0,1,1): <>= set.seed(432) @ <<>>= data(examplePBN) stateTransition(examplePBN, c(0,1,1), type="probabilistic") @ You may get a different result, as the functions are chosen randomly according to the probabilities stored in the network. If you would like to execute a specific set of transition functions, you can supply this in an additional parameter: <<>>= stateTransition(examplePBN, c(0,1,1), type="probabilistic", chosenFunctions=c(2,1,2)) @ This call uses the second function for gene x1 and x3 and the first function for gene x2. \subsection{Identification of attractors} Attractors are stable cycles of states in a Boolean network. As they comprise the states in which the network resides most of the time, attractors in models of gene-regulatory networks are expected to be linked to phenotypes \cite{kauffman93,li04}. Transitions from all states in a Boolean network eventually lead to an attractor, as the number of states in a network is finite. All states that lead to a certain attractor form its {\em basin of attraction}. \texttt{BoolNet} is able to identify attractors in synchronous and asynchronous Boolean networks. There are three types of attractors in these networks: \begin{description} \item[Simple attractors]{occur in synchronous and temporal Boolean networks and consist of a set of states whose synchronous transitions form a cycle.} \item[Complex or loose attractors]{are the counterpart of simple attractors in asynchronous networks. As there is usually more than one possible transition for each state in an asynchronous network, a complex attractor is formed by two or more overlapping loops. Precisely, a complex attractor is a set of states in which all asynchronous state transitions lead to another state in the set, and a state in the set can be reached from all other states in the set.} \item[Steady-state attractors]{are attractors that consist of only one state. All transitions from this state result in the state itself. These attractors are the same both for synchronous and asynchronous update of a network. Steady states are a special case of both simple attractors and complex attractors.} \end{description} The \texttt{getAttractors()} function incorporates several methods for the identification of attractors in synchronous and asynchronous networks. We present these methods using the included mammalian cell cycle network as an example. This network has one steady-state attractor, one simple synchronous attractor consisting of 7 states, and one complex asynchronous attractor with 112 states (see \cite{faure06}). We first demonstrate the use of exhaustive synchronous state space search. This means that the software starts from all possible states of the network and performs synchronous state transitions until a simple or steady-state attractor is reached. \pagebreak[4] <>= data(cellcycle) attr <- getAttractors(cellcycle) attr @ \begin{lstlisting}[linewidth=.9\linewidth] <>= attr <- getAttractors(cellcycle) attr @ \end{lstlisting} Typing \texttt{attr} calls a special print method that presents the attractor in a human-readable way. Here, a state in an attractor is represented by a binary vector, where each entry of the vector codes for one gene. An alternative is to print only the names of the active genes (i.e., the genes that are set to 1) instead of the full vector by calling the \texttt{print()} method explicitly with a changed parameter: <>= print(attr, activeOnly=TRUE) @ \begin{lstlisting}[linewidth=.9\linewidth] <>= print(attr, activeOnly=TRUE) @ \end{lstlisting} We can see that the search identified both synchronous attractors. \begin{sloppypar} The \texttt{AttractorInfo} structure stores the attractors in an encoded form. The function \texttt{getAttractorSequence()} can be used to obtain the sequence of states that constitute a specific synchronous attractor as a table: \end{sloppypar} <<>>= getAttractorSequence(attr, 2) @ retrieves the states that make up the second (i.e., the 7-state attractor) as a data frame with the genes in the columns and the successive states in the rows. \begin{figure}[t] \centering \includegraphics[width=0.65\linewidth]{attractor1} \caption{Visualization of the state changes in an attractor. The columns of the table represent consecutive states of the attractor. On top, the percentage of states leading to the attractor is supplied.} \label{fig:attractor1} \end{figure} Synchronous attractors can also be visualized by plotting a table of changes of gene values in the states of the attractor: <>= plotAttractors(attr, subset=2) @ <>= pdf("attractor1.pdf") par(mar=c(1,5,1,1)) plotAttractors(attr, subset=2) dev.off() @ plots the state changes of the simple attractor with 7 states, as depicted in Figure~\ref{fig:attractor1}. Similarly, <>= attractorsToLaTeX(attr, subset=2, file="attractors.tex") @ exports the same state table to a \LaTeX\ document. The advantage of the exhaustive search method is that apart from the attractors themselves, the complete transition table is calculated and stored in the return value. This table comprises information that is used by a number of analysis methods described below. You can extract the transition table in a data frame and print it out using <>= tt <- getTransitionTable(attr) tt @ \begin{verbatim} State Next state Attr. basin # trans. to attr. 0000000000 => 0110010111 1 4 [...] 1111111111 => 1000001110 2 1 Genes are encoded in the following order: CycD Rb E2F CycE CycA p27 Cdc20 Cdh1 UbcH10 CycB \end{verbatim} In the printed table, the first column denotes the initial state, the second column contains the state after the transition, the first column contains the number of the attractor that is finally reached from this state, and the fourth column lists the number of state transitions required to attain this attractor. A table of the same structure is returned by <>= getBasinOfAttraction(attr, 1) @ which extracts all states from the transition table that belong to the basin of attraction of attractor one (i.e., whose attractor number in column 3 is 1). If you are interested in information on a single state (here: the state with all genes set to 1), you can type <>= getStateSummary(attr, c(1,1,1,1,1,1,1,1,1,1)) @ \begin{verbatim} State Next state Attr. basin # trans. to attr. 1111111111 => 1000001110 2 1 Genes are encoded in the following order: CycD Rb E2F CycE CycA p27 Cdc20 Cdh1 UbcH10 CycB \end{verbatim} The visualization function \texttt{getStateGraph()} makes use of the transition table as well: It plots a transition graph in which the basins of attraction are drawn in different colors, and the attractors are highlighted. The result of <>= pdf("stategraph1.pdf") set.seed(43210) par(mar=c(1,1,1,1)) plotStateGraph(attr) dev.off() @ <>= plotStateGraph(attr) @ is depicted at the top of Figure~\ref{fig:stategraph}. The blue basin belongs to attractor 1, and the green basin belongs to attractor 2. The above call does not ensure that the basins of attraction are clearly separated in the plot. If this is desired, one can choose to use a piecewise layout, which means that the layouting function is applied separately to each basin of attraction, and the basins are drawn side by side. The result of <>= pdf("piecewisestategraph.pdf") set.seed(43210) par(mar=c(1,1,1,1)) plotStateGraph(attr, piecewise=TRUE) dev.off() @ <>= plotStateGraph(attr, piecewise=TRUE) @ is depicted at the bottom of Figure~\ref{fig:stategraph}. \begin{figure}[p] \centering \includegraphics[width=0.7\linewidth]{stategraph1} \includegraphics[width=0.7\linewidth]{piecewisestategraph} \caption{The state graph of the mammalian cell cycle network using the regular layout (top) and using a piecewise layout (bottom). Each node represents a state of the network, and each arrow is a state transition. The colors mark different basins of attraction. Attractors are highlighted using bold lines.} \label{fig:stategraph} \end{figure} Exhaustive search consumes a high amount of time and memory with increasing size of the network, which makes it intractable for large networks (\texttt{BoolNet} currently supports networks with up to 29 genes for exhaustive state space search). Therefore, \texttt{BoolNet} also allows for other search techniques that can handle larger networks. Depending on the requirements, the following options are available: \begin{description} \item[Heuristic state space search] basically uses the same technique as exhaustive attractor search, but only uses a subset of states as initial states instead of the full state space. It then identifies the attractors to which state transitions from these states lead. The start states can either be supplied, or they can be calculated randomly. \item[Exhaustive SAT-based search] exhaustively identifies all possible attractors of a network based on a formulation of attractor search as a satisfiability (SAT) problem and then applies the PicoSAT solver \cite{biere08} to the problem. The algorithm is an adaption of that of Dubrova and Teslenko \cite{dubrova11}. Unlike exhaustive state space search, this method only returns the attractors, but not the state transition table/graph. Depending on the network structure, it can be applied to networks comprising several hundreds of genes. \item[Restricted SAT-based search] uses another formulation as a satisfiability problem and only identifies attractors of a predefined maximum cycle length. It is exhaustive with regard to attractors of at most this size, but will never return any attractors that comprise more than the predefined number of states. Like the exhaustive SAT-based search, this method does not return a transition table. \end{description} The following shows the application of the above methods exemplarily. A heuristic state space search from randomly chosen start states in the mammalian cell cycle network can be started via <<>>= attr <- getAttractors(cellcycle, method="random", startStates=100) @ This chooses 100 random start states for the heuristic search and usually identifies both attractors. <<>>= attr <- getAttractors(cellcycle, method="chosen", startStates=list(rep(0,10),rep(1,10))) @ starts from the states \texttt{(0,0,0,0,0,0,0,0,0,0)} and \texttt{(1,1,1,1,1,1,1,1,1,1)} and again identifies both synchronous attractors. \begin{sloppypar} For the above calls, only the subset of the transition table traversed by the heuristic search is returned. This means that there is no guarantee that, e.g. \texttt{getBasinOfAttraction()} returns the complete basin of attraction of an attractor in heuristic mode. \end{sloppypar} An exhaustive SAT-based search can be started using <<>>= attr <- getAttractors(cellcycle, method="sat.exhaustive") @ This will again return all attractors, but no transition table. If you are only interested in a subset of attractors that have a predefined length, the restricted SAT-based search can be applied. For example, <<>>= attr <- getAttractors(cellcycle, method="sat.restricted", maxAttractorLength=1) @ restricts the attractor search to steady states. Correspondingly, only the first attractor of the network is returned: <>= attr @ \begin{lstlisting}[linewidth=.9\linewidth] <>= attr @ \end{lstlisting} \texttt{BoolNet} can also identify attractors in asynchronous Boolean network. For this purpose, another special heuristic algorithm is included. This algorithm starts from a small subset of states and makes a number of random transitions to reach an attractor with a high probability. After that, a validation step is performed to analyze whether a complex attractor has been identified. The command <>= attr <- getAttractors(cellcycle, type="asynchronous", method="random", startStates=500) @ conducts an asynchronous search with 500 random start states on the mammalian cell cycle network. In this case, the algorithm has identified both the steady-state attractor and the complex attractor: \enlargethispage{0.5cm} <>= attr @ \begin{verbatim} Attractor 1 is a simple attractor consisting of 1 state(s): |--<---------| V | 0100010100 | V | |-->---------| Genes are encoded in the following order: CycD Rb E2F CycE CycA p27 Cdc20 Cdh1 UbcH10 CycB Attractor 2 is a complex/loose attractor consisting of 112 state(s) and 338 transition(s): 1011101111 => 1011101110 [...] 1000000000 => 1010000000 Genes are encoded in the following order: CycD Rb E2F CycE CycA p27 Cdc20 Cdh1 UbcH10 CycB \end{verbatim} For the complex attractor, the involved transitions are printed out. By default, the algorithm tries to avoid self-loops, i.e. transitions that lead to the same state again. This means that self-loop transitions are only allowed if there is no other transition that leads to a different state. If you would like to allow the algorithm to enter self-loops even if transitions to different states are possible, you can call <>= attr <- getAttractors(cellcycle, type="asynchronous", method="random", startStates=500, avoidSelfLoops=FALSE) @ In the resulting complex attractor with 112 states, there are 450 transitions instead of 338 transitions, which is due to the additional self-loops. The asynchronous heuristic search does not return a transition table, such that the above analysis methods cannot be applied here. \begin{figure}[tb] \centering \includegraphics[width=0.55\linewidth]{attractor2} \caption{Graph representation of the complex attractor in the mammalian cell cycle network. Each node represents a state of the complex attractor, and each arrow represents a state transition.} \label{fig:attractor2} \end{figure} As there are multiple possible transitions for each state, complex attractors cannot be visualized as in Figure~\ref{fig:attractor1}. For this reason, \texttt{plotAttractors()} supports a graph mode that visualizes the transitions among the states in the attractor: <>= pdf("attractor2.pdf") par(mar=c(1,1,1,1)) plotAttractors(attr, subset=2, mode="graph", drawLabels=FALSE) dev.off() @ <>= plotAttractors(attr, subset=2, mode="graph", drawLabels=FALSE) @ plots the 112-state attractor as depicted in Figure~\ref{fig:attractor2}. We omit the state labels (i.e. the gene values) due to the high number of states. This plot again requires the \texttt{igraph} package. \begin{sloppypar} Although \texttt{getAttractors()} can also be applied to temporal networks and other networks that are in a symbolic representation (i.e. \emph{SymbolicBooleanNetwork} objects), this function is only a shortcut to the simulation function \texttt{simulateSymbolicModel()} in this case. It is advised to use \texttt{simulateSymbolicModel()} directly , as it provides more options. For the temporal model of the IGF pathway included in \texttt{BoolNet}, an exhaustive simulation can be performed as follows: \end{sloppypar} <>= sim <- simulateSymbolicModel(igf) sim @ \begin{lstlisting}[linewidth=.9\linewidth] <>= sim <- simulateSymbolicModel(igf) sim @ \end{lstlisting} By default, the result object of class \emph{SymbolicSimulation} comprises several components: \begin{itemize} \item A list of sequences \texttt{sequences} from each start state to the corresponding attractor. If this component is not desired, the parameter \texttt{returnSequences} can be set to false. \item A graph structure \texttt{graph} that comprises all traversed state transitions. If this component is not desired, the parameter \texttt{returnGraph} can be set to false. \item The identified attractors \texttt{attractors}. If this component is not desired, the parameter \texttt{returnAttractors} can be set to false. \end{itemize} In this case, the network has two attractors: A steady state describes the inactive state of the pathway. The circular attractor describes the activation and inactivation of the PI3K-Akt-mTOR signalling cascade initiated by IGF. All visualization and analysis function described above can also be applied to the simulation results obtained by \texttt{simulateSymbolicModel}. For example, the cascade attractor can be visualized via <>= pdf("attractor3.pdf") par(mar=c(1,5,1,1)) plotAttractors(sim, subset=2) dev.off() pdf("stategraph2.pdf") par(mar=c(1,1,1,1)) plotStateGraph(sim) dev.off() @ <>= plotAttractors(sim, subset=2) @ Similarly, <>= plotStateGraph(sim) @ plots the state transition graph of the network. Unlike in classical synchronous networks, a state can have multiple successor states (outgoing edges) in temporal networks, as a state transition may also depend on the history of states before the current state. The two plots are shown in Figure~\ref{fig:temporal_plots}. \begin{figure}[p] \centering \includegraphics[width=0.6\linewidth]{attractor3} \includegraphics[width=0.6\linewidth]{stategraph2} \caption{Top: Visualization of an attractor that describes the activation and inactivation of the PI3K-Akt-mTOR signalling cascade through IGF and IRS. The columns of the table represent consecutive states of the attractor. On top, the percentage of states leading to the attractor is supplied.\newline Bottom: The state transition graph of the IGF pathway network. Each node represents a state of the network, and each arrow is a state transition. The colors mark different basins of attraction. } \label{fig:temporal_plots} \end{figure} For temporal networks, it is often infeasible to perform an exhaustive state-space simulation, as the search space is not only exponential in the number of genes, but also in the time delays. There are two options to deal with this: First, the search can be restricted to randomly generated or prespecified start states similarly to \texttt{getAttractors()}. If time delays of more than 1 are included in the network, not only single start states are generated, but the required history of states is generated as well. For example, <>= set.seed(43851) @ <<>>= sim <- simulateSymbolicModel(igf, method="random", startStates=2) @ generates two start state matrices, each comprising 3 states (the maximum delay of the IGF network), and uses them as the basis for a simulation. This can be seen when examining the sequences to the attractors: <<>>= sim$sequences @ Both sequences comprise start states $t=-2$, $t=-1$ and $t=0$. The second option is to use a SAT-based attractor search similar to that in \texttt{getAttractors()}. Here, only the attractors are identified, but no state sequences and no state transition graph are returned. <<>>= sim <- simulateSymbolicModel(igf, method="sat.exhaustive") @ identifies all attractors in the network in an exhaustive manner. Alternatively, one can only search for attractors of a specific maximum length: <<>>= sim <- simulateSymbolicModel(igf, method="sat.restricted", maxAttractorLength=1) @ will only return the steady-state attractor representing pathway inactivity, but not the 14-state attractor. Please note that this length-restricted search cannot be applied to temporal networks comprising the time-dependent predicates \texttt{timeis},\texttt{timelt} or \texttt{timegt}. \begin{sloppypar} Classical synchronous Boolean networks can also be simulated using the symbolic simulator \texttt{simulateSymbolicModel()} if they are in a symbolic form. However, in most cases, \texttt{getAttractors()} will be faster and will consume less memory for synchronous networks without temporal elements. Only if the number of inputs to genes is very high and exhaustive simulation is not required, it may be advisable to use the symbolic simulator. \end{sloppypar} \subsection{Markov chain simulations} Another way of identifying relevant states in Boolean networks are Markov chain simulations. Instead of identifying cycles explicitly, these simulations calculate the probability that a certain state is reached after a predefined number of iterations. Of course, states in an attractor have a high probability of being reached if the number of iterations is chosen large enough. Markov chain simulations for probabilistic Boolean networks were introduced by Shmulevich et al. \cite{shmulevich02}. As a special case of probabilistic Boolean networks, these simulations are also suited for synchronous Boolean networks. The following performs a Markov experiment with the predefined number of 1000 iterations on the example PBN described in \cite{shmulevich02}: \enlargethispage{-0.5cm} <<>>= data(examplePBN) sim <- markovSimulation(examplePBN) sim @ Only states with a non-zero probability are listed in the two tables. The first table shows the states that are reached after 1000 iterations. The second table is a transition table annotated with transition probabilities. This table can be suppressed by the parameter \texttt{returnTable=FALSE}. The results correspond exactly to those in \cite{shmulevich02}. If the transition table is included in the simulation results, we can plot a graph of the network: <>= plotPBNTransitions(sim) @ <>= pdf("pbntransitions.pdf") set.seed(4961) par(mar=c(1,1,1,1)) plotPBNTransitions(sim) dev.off() @ This graph is displayed in Figure~\ref{fig:pbntransitions}. The vertices are the states of the graph. The edges represent transitions and are annotated with the corresponding transition probabilities. For this plot, the \texttt{igraph} package must be installed. \begin{figure}[h] \centering \includegraphics[width=0.65\linewidth]{pbntransitions} \caption{State transition graph of the example probabilistic Boolean network included in \texttt{BoolNet}. Each node represents a state of the network, and each arrow is a possible state transition, annotated by the transition probability.} \label{fig:pbntransitions} \end{figure} We can also use Markov chain simulations to identify the attractor states in the mammalian cell cycle network: \begin{samepage} <<>>= data(cellcycle) sim <- markovSimulation(cellcycle, numIterations=1024, returnTable=FALSE) sim @ \end{samepage} We set the maximum number of iterations to 1024, which is the number of states in the network. In a deterministic network, this guarantees that all states are found. The fourth state in the returned table is the steady-state attractor identified previously. It has a probability of 0.5, as the basin of attraction is exactly half of the states. The other 7 states belong to the simple synchronous attractor. It is also possible to restrict the simulation to a certain set of input states instead of using all possible input states. In the following example, we only consider the state with all genes set to 1, and identify the state belonging to the steady-state attractor again: \begin{samepage} <<>>= sim <- markovSimulation(cellcycle, numIterations=1024, returnTable=FALSE, startStates=list(rep(1,10))) sim @ \end{samepage} \subsection{Robustness assessment} A biological network is assumed to be robust to small amounts of noise. The plausibility of network models is therefore often assessed by testing its robustness to noise and mismeasurements. Typically, artificial noise is applied, and its influence on the behaviour of a network is measured. There are two major ways of applying random noise: Either the current state of a network in a simulation can be perturbed, or the network structure itself can be perturbed. \texttt{BoolNet} includes functions for both types of robustness assessment. The function \texttt{perturbTrajectories} measures the influence of noise that is applied to the current network state. It generates a set of initial states and creates perturbed copies of these states by randomly flipping bits. It then measures the influence of the flips on the further dynamic behaviour of the network. For example <>= set.seed(3361) @ <<>>= data(cellcycle) r <- perturbTrajectories(cellcycle, measure="hamming", numSamples=100, flipBits=1) @ randomly generates 100 states and 100 copies with one bitflip and performs a single state transition for each state. It then measures the normalized Hamming distance (the fraction of different bits) between each state and the corresponding perturbed copy. A robust network is assumed to yield a low Hamming distance. The average distance can be viewed by typing <<>>= r$value @ A related measure is the average sensitivity. This measure assesses only a single transition function and counts the number of successor states that differ between the original states and the perturbed copies for the corresponding gene. E.g., <<>>= r <- perturbTrajectories(cellcycle, measure="sensitivity", numSamples=100, flipBits=1, gene="CycE") @ <<>>= r$value @ measures the average sensitivity of the transition function for gene CycE. The long-term behaviour can be evaluated by comparing the attractors that are reached from the initial states and their perturbed copies. <<>>= r <- perturbTrajectories(cellcycle, measure="attractor", numSamples=100, flipBits=1) r$value @ measures the fraction of pairs of states and perturbed copies that yield the same attractors. It can be assumed that small changes in the state should not influence the long-term behaviour of the network, and hence the attractors should mostly be the same. The second class of perturbations adds random noise to the network itself. This is implemented in the \texttt{perturbNetwork()} function. Unlike \texttt{perturbTrajectories()}, this function does not perform any simulations, but returns a perturbed copy of the network that can be analyzed further. \texttt{BoolNet} includes a set of different perturbation options that can be combined. For example, <<>>= perturbedNet <- perturbNetwork(cellcycle, perturb="functions", method="bitflip") @ chooses a function of the network at random and flips a single bit in this function. By setting the parameter \texttt{maxNumBits}, you can also flip more than one bit at a time. Instead of flipping bits, <<>>= perturbedNet <- perturbNetwork(cellcycle, perturb="functions", method="shuffle") @ randomly permutes the output values of the chosen transition functions. This preserves the numbers of 0s and 1s, but may change the Boolean function completely. These kinds of perturbations are supported for synchronous and asynchronous networks as well as for probabilistic networks. For synchronous networks, a further perturbation mode is available: <<>>= perturbedNet <- perturbNetwork(cellcycle, perturb="transitions", method="bitflip", numStates=10) @ Here, \texttt{BoolNet} calculates the complete transition table of the network and then flips a single bit in 10 states of the transition table. From this modified table, a network is reconstructed. Changes of this type only affect a few states (which might not be the case when perturbing the functions directly as above), but possibly several of the transition functions. As in the previous examples, it is also possible to modify the number of bits to be flipped or to choose \texttt{method="shuffle"}. \begin{samepage} A detailed listing of a perturbation experiment is shown below. In this experiment, 1000 perturbed copies of the cell cycle network are created, and the occurrences of the original synchronous attractors are counted in the perturbed copies. This is similar to the simulation in \texttt{perturbTrajectories()} with \texttt{measure="attractor"}. However, instead of comparing the outcomes of different initial states in the same network, it compares all attractors of different perturbed networks to all attractors of the original network by exhaustive search. \begin{footnotesize}\label{alg:perturbation} <>= # Perform a robustness test on a network # by counting the numbers of perturbed networks # containing the attractors of the original net library(BoolNet) # load mammalian cell cycle network data(cellcycle) # get attractors in original network attrs <- getAttractors(cellcycle, canonical=TRUE) # create 1000 perturbed copies of the network and search for attractors perturbationResults <- sapply(1:1000, function(i) { # perturb network and identify attractors perturbedNet <- perturbNetwork(cellcycle, perturb="functions", method="bitflip") perturbedAttrs <- getAttractors(perturbedNet, canonical=TRUE) # check whether the attractors in the original network exist in the perturbed network attractorIndices <- sapply(attrs$attractors,function(attractor1) { index <- which(sapply(perturbedAttrs$attractors, function(attractor2) { identical(attractor1, attractor2) })) if (length(index) == 0) NA else index }) return(attractorIndices) }) # perturbationResults now contains a matrix # with the first 2 columns specifying the indices or the # original attractors in the perturbed network # (or NA if the attractor was not found) and the next 2 # columns counting the numbers of states # in the basin of attraction (or NA if the attractor was not found) # measure the total numbers of occurrences of the original attractors in the perturbed copies numOccurrences <- apply(perturbationResults[seq_along(attrs$attractors),,drop=FALSE], 1, function(row)sum(!is.na(row))) # print original attractors cat("Attractors in original network:\n") print(attrs) # print information cat("Number of occurrences of the original attractors", "in 1000 perturbed copies of the network:\n") for (i in 1:length(attrs$attractors)) { cat("Attractor ",i,": ",numOccurrences[i],"\n",sep="") } @ \end{footnotesize} \end{samepage} \pagebreak[4] \begin{samepage} The results of such an experiment could look like this: \begin{verbatim} Attractors in original network: Attractor 1 is a simple attractor consisting of 1 state(s) and has a basin of 512 state(s): [...] Attractor 2 is a simple attractor consisting of 7 state(s) and has a basin of 512 state(s): [...] Number of occurrences of the original attractors in 1000 perturbed copies of the network: Attractor 1: 622 Attractor 2: 589 \end{verbatim} \end{samepage} We see that the steady-state attractor is slightly more robust to perturbations than the simple attractor with 7 states, as it can be identified in a higher number of perturbed copies. \subsection{Identifying specific properties of biological networks} The described robustness measures could also be used to identify specific properties of real-world networks in comparison to arbitrary (random) networks. For example, one could assume that attractors in biological networks are more robust to perturbations than attractors in random networks with a similar structure, as they should be capable of compensating for small dysfunctions of their components. Similarly to the above code, one could execute a number of random perturbations on the biological network and measure the percentage of original attractors found in the perturbed copies. Afterwards, one could repeat this process on a number of randomly generated networks -- i.e., generate perturbed copies from each of the random networks, and measure the percentage of attractors in the copies. If the percentage of the biological network is higher than most of the percentages of the random network, this suggests that the biological network exhibits a higher robustness. This is a kind of computer-intensive test. \texttt{BoolNet} comprises a generic facility for such computer-intensive tests. This facility already includes several tests (mainly for synchronous Boolean networks) and can be extended by custom test functions. The outlined example of attractor robustness is one of the integrated functions: <>= data(cellcycle) res <- testNetworkProperties(cellcycle, numRandomNets=100, testFunction="testAttractorRobustness", testFunctionParams = list(copies=100, perturb="functions")) @ creates a set of 100 random networks (each with the same number of input genes for the functions as the cell cycle network) and creates 100 perturbed copies for each of these networks and for the cell cycle network by applying \texttt{perturbNetwork()} with \texttt{perturb="functions"}. For each network, it then calculates the percentage of attractors that can still be found in the perturbed copies. The function plots a histogram of this robustness measures of the random networks (see Figure~\ref{fig:robustness}, top panel). The corresponding value of the original cell cycle network is plotted as a red line, and the 95\% quantile is plotted as a blue line. <>= pdf("attractor_robustness.pdf") par(mar=c(4,4,2,1)) data(cellcycle) set.seed(3241) res <- testNetworkProperties(cellcycle, numRandomNets=100, testFunction="testAttractorRobustness", testFunctionParams = list(copies=100, perturb="functions")) dev.off() @ \begin{figure}[p] \centering \includegraphics[width=0.6\linewidth]{attractor_robustness} \includegraphics[width=0.6\linewidth]{transition_robustness} \caption{Top: Attractor robustness of randomly generated networks (histogram) in comparison to the mammalian cell cycle network (red line).\newline Bottom: Normalized Hamming distance of randomly generated networks (histogram) in comparison to the mammalian cell cycle network (red line). } \label{fig:robustness} \end{figure} We can see that the average percentage of found attractors is significantly higher in the biological network with a $p$-value of 0.01. \begin{sloppypar} It is also possible to perturb the states instead of the networks themselves by setting \texttt{perturb} to \texttt{"trajectories"}. In this case, the function applies \texttt{perturbTrajectories()} with \texttt{measure="attractor"} to the biological network and the randomly generated networks. It then tests whether the fraction of state pairs that yield the same attractor is higher in the biological network than in the randomly generated networks. The second built-in test function also tests the robustness of the network behaviour by perturbing the network states: \texttt{testTransitionRobustness()} applies \texttt{perturbTrajectories()} with \texttt{measure="hamming"} to each network. It then checks whether random bit flips yield a higher Hamming distance of the successor states in randomly generated networks than in the biological model, i.e. whether noise in the states influences the randomly generated networks stronger than the biological model. In contrast to the previous measures for which a greater value was assumed in the biological model, the Hamming distance is assumed to be smaller. Hence, we must specify the test alternative as \texttt{alternative="less"}. \end{sloppypar} <>= testNetworkProperties(cellcycle, numRandomNets=100, testFunction="testTransitionRobustness", testFunctionParams=list(numSamples=100), alternative="less") @ <>= pdf("transition_robustness.pdf") par(mar=c(4,4,2,1)) data(cellcycle) set.seed(22652) testNetworkProperties(cellcycle, numRandomNets=100, testFunction="testTransitionRobustness", testFunctionParams=list(numSamples=100), alternative="less") dev.off() @ The results are shown in the bottom panel of Figure~\ref{fig:robustness}. Again, the result is highly significant (indeed, the Hamming distances are \emph{always} lower in the biological network), which means that the biological network is considerably more robust to noise in the states than the randomly generated models. Another network property can also be tested using a built-in function: When looking at the state graph of a biological network (which can be generated using \texttt{plotStateGraph()}), it can often be observed that many state transitions lead to the same successor states, which means that the dynamics of the network quickly concentrate on a few states after a number of state transitions. We call the number of states whose synchronous state transitions lead to a state $s$ the {\em in-degree} of state $s$. We expect the biological network to have a few states with a high in-degree and many states with a low in-degree. A characteristic to summarize the in-degrees is the Gini index, which is a measure of inhomogeneity. If all states have an in-degree of 1, the Gini index is 0; if all state transitions lead to only one state, the Gini index is 1. <>= testNetworkProperties(cellcycle, numRandomNets=100, testFunction="testIndegree") @ <>= pdf("indegree.pdf") par(mar=c(4,4,2,1)) set.seed(6314) testNetworkProperties(cellcycle, numRandomNets=100, testFunction="testIndegree") dev.off() @ plots an histogram of Gini indices in 100 random networks and draws the Gini index of the cell cycle network as a red line, as depicted in the top panel of Figure~\ref{fig:indegree}. \begin{figure}[p] \centering \includegraphics[width=0.6\linewidth]{indegree} \includegraphics[width=0.6\linewidth]{indegree_kl} \caption{Top: Gini indices of state in-degrees of randomly generated networks (histogram) in comparison to the mammalian cell cycle network (red line)\newline Bottom: Kullback-Leibler distances of in-degrees of the mammalian cell cycle network and 100 random networks.} \label{fig:indegree} \end{figure} The histogram shows that the Gini index of the in-degrees is always higher in the biological network. This is probably due to the special structure of functions in biological networks. Instead of accumulating the in-degrees using the Gini index, it is also possible to compare the distributions of the in-degrees across the networks. For this purpose, the Kullback-Leibler distances of the in-degrees of the supplied network and each of the random networks are calculated and plotted in a histogram. The Kullback-Leibler distance (also called relative entropy) is an asymetric measure of similarity of two distributions \cite{cover91}. If the distributions are equal, the Kullback-Leibler distance is 0, otherwise it is greater than 0. <>= testNetworkProperties(cellcycle, numRandomNets=100, testFunction="testIndegree", accumulation="kullback_leibler") @ <>= pdf("indegree_kl.pdf") par(mar=c(4,4,2,1)) set.seed(234256) testNetworkProperties(cellcycle, numRandomNets=100, testFunction="testIndegree", accumulation="kullback_leibler") dev.off() @ results in the plot displayed in the bottom panel of Figure~\ref{fig:indegree}. It is possible to switch between the histogram of an accumulated characteristic (e.g. the Gini index) and the histogram of the Kullback-Leibler distances for all tests. \begin{sloppypar} You can also easily implement your own tests. To do this, the only thing you have to do is implement a custom testing function that replaces \texttt{testIndegree()} or \texttt{testAttractorRobustness()}. Testing functions have the following signature: \end{sloppypar} \begin{verbatim} function(network, accumulate=TRUE, params) \end{verbatim} The first parameter is the network that should be tested. The parameter \texttt{accumulate} specifies whether a single characteristic value (e.g., the Gini index of the in-degrees) should be calculated, or whether a distribution of values (e.g., a vector of all in-degrees) should be returned. The third parameter is a list of further arguments needed by your function. If, for example, we would like to compare the sizes of the basins of attractions of synchronous attractors in biological and random networks, we would write a function like this: \begin{samepage} <<>>= testBasinSizes <- function(network, accumulate=TRUE, params) { attr <- getAttractors(network) basinSizes <- sapply(attr$attractors, function(a) { a$basinSize }) if (accumulate) return(mean(basinSizes)) else return(basinSizes) } @ \end{samepage} This function calculates the mean basin size as a characteristic value if accumulation is required, or returns the sizes of all basins of attraction in a vector otherwise. It does not need any further parameters in \texttt{params}. Now, we can start a test using <>= testNetworkProperties(cellcycle, numRandomNets=100, testFunction="testBasinSizes", xlab="Average size of basins of attraction") @ <>= pdf("basinsize.pdf") par(mar=c(4,4,2,1)) set.seed(6724) testNetworkProperties(cellcycle, numRandomNets=100, testFunction="testBasinSizes", xlab="Average size of basins of attraction") dev.off() @ to produce the plot shown in Figure~\ref{fig:basinsize}. Apparently, the average basin sizes do not differ as much as the built-in test characteristics between the random networks and the cell cycle network. \begin{figure}[h] \centering \includegraphics[width=0.6\linewidth]{basinsize} \caption{A custom test statistic measuring the basin sizes on randomly generated networks (histogram) and the mammalian cell cycle network (red line).} \label{fig:basinsize} \end{figure} \begin{sloppypar} By writing custom test functions, you can extend the test facility to perform a wide variety computer-intensive test. Of course, it is also possible to plot the Kullback-Leibler distances with such new methods by using \verb+accumulation="kullback_leibler"+. \texttt{testNetworkProperties()} accepts most of the parameters of \texttt{generateRandomNKNetwork()}. If necessary, you can generate more specialized kinds of random networks which resemble the original network in certain aspects, for example by specifying a generation function or by setting a proportion of 0 and 1 in the function outputs similar to the original network using \verb+functionGeneration="biased"+. \end{sloppypar} \clearpage \section{Import and export}\label{sec:importexport} \subsection{Saving networks in the \texttt{BoolNet} file format} Corresponding to the \texttt{loadNetwork()} command, a network can be saved using \texttt{saveNetwork()}. This stores the network in the network file format described in Section~\ref{sec:appendix} and can be applied to all types of networks supported by \texttt{BoolNet}. For example, the cell cycle network can be saved using <>= saveNetwork(cellcycle, file="cellcycle.txt") @ \begin{sloppypar} The function stores the expressions that describe the transition functions. In some cases, there may not always be a valid symbolic description of the networks (e.g. for networks returned by \texttt{generateRandomNKNetwork()} when the \texttt{readableFunctions} parameter was not set). In this case, \texttt{saveNetwork()} can generate symbolic representations of the transition functions in Disjunctive Normal Form (DNF): \end{sloppypar} <<>>= net <- generateRandomNKNetwork(n=10, k=3, readableFunctions=FALSE) saveNetwork(net, file="randomnet.txt", generateDNF=TRUE) @ The \texttt{generateDNF} parameter can also be used to detail which type of DNF formulae should be exported: \texttt{generateDNF="canonical"} exports canonical DNF formulae. \texttt{generateDNF="short"} minimizes the canonical functions by joining terms. By simply setting \texttt{generateDNF=TRUE}, formulae with up to 12 inputs are minimized, and formulae with more than 12 inputs are exported in a canonical form, as a minization is very time-consuming in this case. \subsection{Import from and export to SBML} \begin{sloppypar} \texttt{BoolNet} provides an interface to the widely used Systems Biology Markup Language (SBML) via the import function \texttt{loadSBML()} and the export function \texttt{saveSBML()}. As the core SBML does not fully support Boolean models, import and export of SBML models is based on the \texttt{sbml-qual} package which extends SBML by several qualitative modeling approaches, such as general logical models and Petri nets. For a full description of \texttt{sbml-qual}, refer to \href{http://sbml.org/Documents/Specifications/SBML_Level_3/Packages/Qualitative_Models_(qual)}{http://sbml.org/Documents/Specifications/SBML\_Level\_3/Packages/Qualitative\_Models\_(qual)}. \end{sloppypar} \texttt{BoolNet} only supports a subset of \texttt{sbml-qual}. It can read and write logical models with two possible values for each state, which are equivalent to Boolean networks. Logical models with more than two values for a gene or Petri nets cannot currently be handled by \texttt{BoolNet}. An export to SBML is usually not associated with any loss of information. For example, we can write the cell cycle network to a file and re-import it into \texttt{BoolNet}: \begin{footnotesize} <<>>= toSBML(cellcycle, file="cellcycle.sbml") sbml_cellcycle <- loadSBML("cellcycle.sbml") sbml_cellcycle @ \end{footnotesize} Apart from some additional brackets, the re-imported network coincides with the original network. Similar to the \texttt{saveNetwork()} function, \texttt{toSBML()} exports a symbolic representation of the network transition functionss, which may not always be available. As for \texttt{saveNetwork()}, there is a parameter \texttt{generateDNF} that can be set to generate a symbolic representation in Disjunctive Normal Form from the truth tables. \subsection{Importing networks from BioTapestry} BioTapestry is a widely-used application for visual modeling of gene-regulatory networks \cite{longabaugh05}. It can be freely accessed at \url{http://www.biotapestry.org}. Although its primary purpose is visualization, the software supports specifying logical functions for the genes. \texttt{BoolNet} can read in the top-level (``Full genome'') plot of a BioTapestry file (*.btp) and convert it into a Boolean network. As an example, we assume the following BioTapestry model with 5 genes (2~inputs and 3~dependent genes): \begin{center} \includegraphics[width=0.8\linewidth]{biotap_model} \end{center} The corresponding BioTapestry file is included in \texttt{BoolNet}. You can determine its path using <>= system.file("doc/example.btp", package="BoolNet") @ \label{cmd:example.btp} to access it in BioTapestry or \texttt{BoolNet}. For the import, \texttt{BoolNet} needs to know the type of influence a gene has on another gene. Therefore, imported networks should only use links that are either enhancers or repressors. Neutral links are ignored in the import. We now set further simulation parameters for the model. These parameters are imported by \texttt{BoolNet} to construct the functions of the Boolean network. First, we want to change the function of Gene~2 to \texttt{OR}. Right-click on Gene~2 and choose \texttt{Simulation Properties...}. \begin{center} \includegraphics[width=0.8\linewidth]{biotap_sim_properties} \end{center} In the properties dialog, choose the \texttt{Logic} tab, and select \texttt{OR} for the logical function. \begin{center} \includegraphics[width=0.8\linewidth]{biotap_logic} \end{center} Now set the function of Gene~1 to \texttt{XOR} (exclusive or) in the same way. \begin{samepage} You can also specify initial values for constant genes, i.e., genes with no input links. Choose the simulation properties of Input~1, and change to the \texttt{Parameters} tab. Choose \texttt{initVal} and set it to 1. \begin{center} \includegraphics[width=0.8\linewidth]{biotap_initval} \end{center} \end{samepage} Press Return to store the result, and exit the dialog with \texttt{OK}. This will create a fixed gene with value 1 (i.e., an over-expressed gene) in the \texttt{BoolNet} import. Note that values other than 0 and 1 are ignored by the import, as well as initialization values for non-constant genes. We assume that you save the network to a file ``example.btp'' in your working directory. In \texttt{R}, type <>= net <- loadBioTapestry(system.file("doc/example.btp", package="BoolNet")) @ <>= net <- loadBioTapestry("example.btp") @ to import the network. Alternatively, replace the file name by the command on page~\pageref{cmd:example.btp} to use the file in the package if you do not want to create the file yourself. The imported network looks like this: <>= net @ \begin{verbatim} Boolean network with 5 genes Involved genes: Input 1 Input 2 Gene 1 Gene 2 Gene 3 \end{verbatim} \pagebreak[4] \begin{verbatim} Transition functions: Input 1 = 1 Input 2 = Input 2 Gene 1 = (!Gene 1 & !Input 1 & Input 2) | (!Gene 1 & Input 1 & !Input 2) | (Gene 1 & !Input 1 & !Input 2) | (Gene 1 & Input 1 & Input 2) Gene 2 = Gene 1 & Gene 3 & !Input 2 Gene 3 = Gene 1 | Gene 2 Knocked-out and over-expressed genes: Input 1 = 1 \end{verbatim} We can see that Input~1 is specified as an over-expressed constant gene. Input~2 is modeled as depending only on itself, i.e. it keeps its initial value. Gene~1 is a representation of the XOR function in Disjunctive Normal Form (DNF), using only logical ANDs, logical ORs, and negations. Gene~2 and Gene~3 consist of conjunctions and disjunctions of their inputs respectively. In addition to this textual description, we can visually verify the network by plotting its wiring: <>= plotNetworkWiring(net) @ <>= pdf("wiring_biotap.pdf") par(mar=c(1,1,1,1)) set.seed(559652) plotNetworkWiring(net) dev.off() @ The resulting plot is shown in Figure~\ref{fig:wiring_biotap}. \begin{figure}[h] \centering \includegraphics[width=0.6\linewidth]{wiring_biotap} \caption{The wiring graph of the imported network specified in BioTapestry.} \label{fig:wiring_biotap} \end{figure} You can now use the imported network just like any other network in \texttt{BoolNet}. \clearpage \subsection{Exporting network simulations to Pajek} For further analysis, network simulations can be exported to Pajek, a Windows application that provides visualization and analysis methods for graph structures \cite{batagelij98}. For more information on Pajek, please refer to \url{http://pajek.imfm.si/doku.php}. The export function writes the state transition graph to a Pajek file (*.net). This requires a synchronous exhaustive attractor search in \texttt{BoolNet} to build the full transition table. To export the mammalian cell cycle network to Pajek, call <>= data(cellcycle) attr <- getAttractors(cellcycle) toPajek(attr, file="cellcycle.net") @ This will export the graph of the state transitions, which is usually sufficient for plotting. If you want to include the state information (i.e., the gene assignment vectors), call <>= toPajek(attr, file="cellcycle.net", includeLabels=TRUE) @ Now, start Pajek, load the network with \texttt{File | Network | Read}, and check out the tools provided by this application. For example, visualizations can be accessed using the menu item \texttt{Draw | Draw}. Figure~\ref{fig:pajek} shows a plot of the cell cycle network with the Kamada-Kawai layout (Menu entry \texttt{Layout | Energy | Kamada-Kawai | Separate Components}). \begin{figure}[h] \centering \includegraphics[width=0.75\linewidth]{pajek} \caption{A visualization of the mammalian cell cycle network in Pajek.} \label{fig:pajek} \end{figure} \clearpage \bibliographystyle{plain} \bibliography{BoolNet_package_vignette} \section{Appendix}\label{sec:appendix} \subsection{Network file format} This section provides a full language description for the network file format of \texttt{BoolNet}. The language is described in Extended Backus-Naur Form (EBNF). For synchronous, asynchronous and probabilistic Boolean networks, the supported format is as follows: \begin{verbatim} Network = Header Newline {Rule Newline | Comment Newline}; Header = "targets" Separator "factors"; Rule = GeneName Separator BooleanExpression [Separator Probability]; Comment = "#" String; BooleanExpression = GeneName | "!" BooleanExpression | "(" BooleanExpression ")" | BooleanExpression " & " BooleanExpression | BooleanExpression " | " BooleanExpression; | "all(" BooleanExpression {"," BooleanExpression} ")" | "any(" BooleanExpression {"," BooleanExpression} ")" | "maj(" BooleanExpression {"," BooleanExpression} ")" | "sumgt(" BooleanExpression {"," BooleanExpression} "," Integer ")" | "sumlt(" BooleanExpression {"," BooleanExpression} "," Integer ")"; GeneName = ? A gene name from the list of involved genes ?; Separator = ","; Integer = ? An integer value?; Probability = ? A floating-point number ?; String = ? Any sequence of characters (except a line break) ?; Newline = ? A line break character ?; \end{verbatim} \pagebreak[4] The extended format for temporal networks includes additional time specifications and temporal predicates is defined as follows: \begin{verbatim} Network = Header Newline {Function Newline | Comment Newline}; Header = "targets" Separator "factors"; Function = GeneName Separator BooleanExpression; Comment = "#" String; BooleanExpression = GeneName | GeneName TemporalSpecification | BooleanOperator | TemporalOperator BooleanOperator = BooleanExpression | "!" BooleanExpression | "(" BooleanExpression ")" | BooleanExpression " & " BooleanExpression | BooleanExpression " | " BooleanExpression; TemporalOperator = "all" [TemporalIteratorDef] "(" BooleanExpression {"," BooleanExpression} ")" | "any" [TemporalIteratorDef] "(" BooleanExpression {"," BooleanExpression} ")" | "maj" [TemporalIteratorDef] "(" BooleanExpression {"," BooleanExpression} ")" | "sumgt" [TemporalIteratorDef] "(" BooleanExpression {"," BooleanExpression} "," Integer ")" | "sumlt" [TemporalIteratorDef] "(" BooleanExpression {"," BooleanExpression} "," Integer ")" | "timeis" "(" Integer ")" | "timegt" "(" Integer ")" | "timelt" "(" Integer ")"; TemporalIteratorDef = "[" TemporalIterator "=" Integer ".." Integer "]"; TemporalSpecification = "[" TemporalOperand {"+" TemporalOperand | "-" TemporalOperand} "]"; TemporalOperand = TemporalIterator | Integer TemporalIterator = ? An alphanumeric string ?; GeneName = ? A gene name from the list of involved genes ?; Separator = ","; Integer = ? An integer value?; String = ? Any sequence of characters (except a line break) ?; Newline = ? A line break character ?; \end{verbatim} \end{document} BoolNet/inst/doc/example.btp0000644000176200001440000002616412732246464015523 0ustar liggesusers BoolNet/inst/doc/cellcycle.txt0000644000176200001440000000075012732246464016052 0ustar liggesuserstargets, factors CycD, CycD Rb, (! CycA & ! CycB & ! CycD & ! CycE) | (p27 & ! CycB & ! CycD) E2F, (! Rb & ! CycA & ! CycB) | (p27 & ! Rb & ! CycB) CycE, (E2F & ! Rb) CycA, (E2F & ! Rb & ! Cdc20 & ! (Cdh1 & UbcH10)) | (CycA & ! Rb & ! Cdc20 & ! (Cdh1 & UbcH10)) p27, (! CycD & ! CycE & ! CycA & ! CycB) | (p27 & ! (CycE & CycA) & ! CycB &! CycD) Cdc20, CycB Cdh1,(! CycA & ! CycB) | (Cdc20) | (p27 & ! CycB) UbcH10, ! Cdh1 | (Cdh1 & UbcH10 & (Cdc20 | CycA | CycB)) CycB, ! Cdc20 & ! Cdh1 BoolNet/inst/doc/BoolNet_package_vignette.pdf0000644000176200001440000417776512733234746021021 0ustar liggesusers%PDF-1.5 %ÐÔÅØ 80 0 obj << /Length 1953 >> stream concordance:BoolNet_package_vignette.tex:BoolNet_package_vignette.Snw:1 25 1 1 0 54 1 1 2 4 0 1 2 1 1 1 2 4 0 1 2 76 1 1 2 4 0 1 2 2 1 1 2 4 0 1 2 46 1 1 2 4 0 1 2 4 1 1 2 4 0 1 2 2 1 1 4 6 0 1 2 3 1 1 2 29 0 1 2 4 1 1 9 4 0 1 2 11 1 1 5 7 0 1 9 5 1 1 3 2 0 1 1 3 0 2 2 16 0 1 2 3 1 1 8 7 0 1 2 2 1 1 2 1 0 2 1 42 0 1 2 3 1 1 9 8 0 1 2 1 1 1 2 17 0 1 2 3 1 1 2 1 0 1 1 1 2 3 0 1 2 1 4 3 0 1 1 47 0 1 2 6 1 1 2 4 0 2 2 4 0 1 2 2 1 1 2 4 0 1 2 1 1 1 2 4 0 1 2 2 1 1 5 7 0 1 2 4 1 1 5 4 0 1 4 6 0 1 2 5 1 1 14 16 0 1 2 6 1 1 5 7 0 1 2 8 1 1 2 1 0 1 1 3 0 2 2 4 0 2 2 4 0 2 2 4 0 1 2 2 1 1 2 4 0 1 2 8 1 1 2 1 0 1 1 7 0 1 2 1 1 1 2 1 0 1 1 11 0 1 2 2 1 1 8 4 0 1 2 10 1 1 2 4 0 1 2 2 1 1 2 1 0 1 1 7 0 1 2 4 1 1 2 4 0 1 2 2 1 1 2 1 0 1 1 7 0 2 2 24 0 1 2 2 1 1 2 1 0 1 2 9 0 1 2 7 1 1 8 4 0 1 2 3 1 1 5 8 0 1 2 3 1 1 6 9 0 1 2 4 1 1 3 9 0 1 2 1 1 1 5 1 0 1 1 7 0 1 2 1 3 9 0 1 2 15 1 1 2 1 0 2 1 3 0 1 2 1 3 25 0 1 2 3 1 1 2 4 0 2 2 11 0 1 2 6 1 1 2 14 0 1 2 9 1 1 2 4 0 1 8 1 2 4 0 1 2 4 1 1 2 1 0 1 1 3 0 1 2 11 1 1 2 4 0 1 2 2 1 1 2 4 0 1 2 9 1 1 9 4 0 1 2 3 1 1 9 4 0 1 2 21 1 1 2 4 0 1 2 1 1 1 4 6 0 1 2 6 1 1 3 5 0 1 2 2 1 1 4 6 0 2 2 4 0 2 2 8 0 1 2 5 1 1 5 7 0 1 2 3 1 1 2 4 0 1 2 23 1 1 6 8 0 1 2 12 1 1 8 4 0 1 2 5 1 1 2 1 0 1 1 3 0 1 2 1 3 38 0 1 2 11 1 1 12 4 0 2 2 4 0 1 2 13 1 1 5 4 0 2 2 29 0 1 2 2 1 1 2 4 0 2 2 4 0 1 2 13 1 1 2 1 0 2 1 25 0 1 2 3 1 1 2 4 0 1 9 10 1 1 2 1 0 1 3 2 0 1 1 15 0 1 2 6 1 1 5 4 0 1 1 8 0 1 2 9 1 1 5 1 0 1 4 6 0 1 2 1 1 1 2 7 0 1 2 1 1 1 6 8 0 1 3 7 0 1 2 2 1 1 5 4 0 1 1 6 0 1 2 4 1 1 4 6 0 1 2 2 1 1 4 6 0 1 2 3 1 1 5 7 0 1 2 5 1 1 6 5 0 1 3 1 0 1 3 1 0 1 22 20 0 1 11 9 0 1 3 1 0 1 1 1 4 2 0 1 4 6 0 1 2 31 1 1 2 1 0 1 4 6 0 1 2 3 1 1 12 18 1 1 6 8 0 1 2 1 13 2 1 1 4 6 0 1 11 14 1 1 5 7 0 1 12 13 1 1 13 15 0 1 2 3 1 1 5 7 0 1 12 20 1 1 2 4 0 1 2 2 1 1 2 1 0 1 1 3 0 1 2 12 1 1 2 1 0 2 1 21 0 1 2 16 1 1 2 4 0 1 2 29 1 1 5 4 0 1 2 2 1 1 2 4 0 1 2 20 1 1 2 4 0 1 9 18 1 1 2 1 0 2 1 3 0 1 2 1 1 1 2 4 0 1 2 90 1 endstream endobj 101 0 obj << /Length 1233 /Filter /FlateDecode >> stream xÚÝXÉrÛF½ë+p«³8Z.»¼Dª”Í[’EA4#’P —\òëîmÀ!EJJÊ)[:€ÌÖ3¯»_wãt|òì•©UæZ9›Œ¯­Lî ›øJåZëd|™üžž¶£L»´©tqÞÀo?ÊL¡ÒhN¦#]¦×#gÒÉ ÞúÍ9¾¯°¯ïiäÏñÛg¯T(•×Îi”—9òªåUeYÞ‹0};ÀÓáZÒ>Âîp’3Ü*ñ.÷®L²"·eÅ+ÿ¡è1pö¨ƒuxô<¿È.“5݅嬸óuuÕàÑ»¹Lù[½žÈ¥:|÷éóœûß5á¬(¡YÓALÊ%^n|ÉGy» ¨ðšV6ÇvòŒ•u‰²¹±ž±R¥Ç—$³ÀR³>fíŽ×»"©óÚkË 8‡ÉkY¦FY ßÀ|ök”^B O8íç-ïaÑB@`Ák5£zy[ÆhßçAZâ.—¹\|‚*-–£Ÿñ§_3¶º.ë*5|*ºR[ `€P+˜êAeªÐD‹\°Ë щF¹Ì”ÿD¼®@<ÌlY6 éôŠàXò<Ô벉 ¦áÛºçi×rŸ×&µ#z3P¬·6ÃpE¶®þ=`ÊÃgÞ5EU…c<ѽ*BO zï›)T'v¿fcœ„ÕÁÈ|°…1`(ê 0†– ¿wì%Üـ­«¾û¿?€þ(€F|—j&ýžÕaïá»dDô!ä˜U¬û·üÿ7SpTzÈØ­ùÑkÉ릈Òu†æ´çc,[rÀO8‡ÜsðØ5›–°x»â•í¯šáj›îˆ¿_ ?Ï£T¬ÃÜÔ§”¹N˜² S le|(wš­:_£I·³9ÊBÒ”ƒy2­¯9hþª4îÞàÇhZ)t–7Tß„ ×GAï’ ’FÒü0‹ª\ã|j)¢ÝýDwv'úM˜MnåÎGS?À{.üÝS¹;”ÍPèF’¡ tPÛJ=v*r+ÕÅy’pëÌP‘V>¬“رh$e'Ý.Ò1ÿ3g>Vqª¼Ë­©¨`—K¶ý6èÐß/MâT’rÇý%¬Œ–g|@´Ï~Œjõx‰*†qÉmwñ»ÏŒ‘º5ôi’ãúܶ”îBbò‚gí]Âf¸cáËðñà߀åœ@—ôQfgy…GÆùsé_ oTîáéÈêN>3Ý ”ݰ3<_䳕Ê7îëªÛ”˜™Úç^Õ»:t1‘ŸùP„ºEËgŸtúr?EÒ‰ªm^xüZ¸¼TUøøc'/Ç'ß WÀþ endstream endobj 114 0 obj << /Length 3833 /Filter /FlateDecode >> stream xÚÍÛŽã¶õ=_1`Í•HQ"ô! $h 4ÚÚ¢éƒÆ£™uvl,{7ӯ﹑"mÊ3»Ù¤}˜±ÄË!yîêÍÛ¯^ר«ºQ¦iõÕÛ»+_]uÚ¨ªµWoo¯þµ¨¯—u­›Å÷×õb{mêÅaO»ë%<ÞWxYï¨ïßoÿüú;Û]yå[Ý"¬êj  zCÓøïþ~€¿þ<Ñ%óŒWºm`:M\àñz©;³è·ø«å×Ç~u­ÝâýµmýýÀ¸£wý> ïWw‹é—§¡;|\ì¦Eî°uÏóûqÄñœ~#_oáßý+àØQmOð÷Ÿ5¡úÂfoÈœ„pŽ4v];>Éû Wz‡»ÞáëîHû ]-+@å­P§ßÒ‘–Mí`¯¸‘‚Ø ô&9/b1Ší8m8 6?âäÎ|?Mëå÷#ŽÐÐÅBôQÔ߬¢pþAV²~‚ò­¯®—­w‹·ï@Ë@VˆUøÛ [œK¼„lG8jG÷8ím&ÃldŒ^0Ì!² E9®ˆ5‘¹e°0 Î'¸ùˆX'æÃžÝÝ48Œww+œ­ßîÃNˆ~øXb…¸;>EÃ/¸ÆæQðšïKiˆˆûîÇQWÉÚ(ßtŸ#”® 29â’ô· ä:0up$BÇ}Àœü)ަa[Û!Cñú9A•ìcÉYj q-ºåo"‚Ìü ™X‚¤e'L‚«:M"`*>ò@¬Â°™8' ñ>ˆ_Ž‹º­”«mÀÆŠdudöēЩøt@cþy…¬ëM®€†À˜®­e>Y“DÑV§­Ôu²­U§]޶\+W™°ã?  &Q)[G ß–j”wu ktW­òqØï”¶¨ Tã›`=JPšÖ_%ƒ¾Óv@løiù§ ?_s£,VWÉj¦RÆ›l¹máXV5Ú¤ËÝŸ#Ì쪳9Sáœ%¢fƒØG õËrß–4Šô”I‰lÕè:Wñßh ”²î ÒòrûMhyW ¥îTUwŸMËlO­j›x²¯gˆí+dÔNycx uhk£`Úd’|Œwü6'˜`¥¬A+5U ƒÉªÌ0tcÆšzFîÚôüÐËØ`¢_ øO–y7m¾daeëà%íO ƒßðXå|XÒ)ZYuJ0¶&iŸ7gºÍV‚‘ŠGþTÙ Þ*~#ÜÃo Í5c·ñÝâï×Îð„j±êÅ Á—ËˉÍ!,äs‹¢É³ Çøåüœ­ªÀ`J?mõ[àçvÍ„Šsó©¬w Œᥟ  ZÓì,•R«Z_Ô¸î’~±#<ãÊà—²2p¦¨ØÝ%]páTö™S¥Ä­…8¶^Mè(¡‹Sv PÈæ÷‡¡ jL×)4+© ‘Üêzòu=ãþR†2aøš\Ý’å¨*Õ¶õK‰e¼¨«í+\ÀdzD‹Gô‹¨]‡S†õ'œã\äêÉçþ2§u#p¿¬FVGqùx·Üwƒ'x"<Š¿ûð$dààíœ5 *4JW'4‡e– Œ :¼ñ‰0!é·ˆîuîK€Ç Nnj2Îãœ2Uwjþ«‹æ}]Ÿ£\±Œš¾ -Ol¿«õ¤ªÎס§0¤²¬8|®›JU-žÙªpžï1út Hã+Šð ©È »û5ÅR<}|Š0£TÔ  m÷ÃV¢2¢Zx¾‘ˆ‡^6StI4ò-.‹¡9´Ï´é Ÿšº£5B½Ïþ5þÓ<–°Œÿl¸=Ço×G È`Ksö7Œ)¸žû“À¶°Ý0œçÕ?m/¾UNçÂMiªŽ3/ÆëL¥ys*]Y„£K™¨ ˜œ“¯žº0ÈmÃ6¤šÞ:Dí0©ßì$ñ¶œFbS9WžÁ Æ®õĸÆtIžÁ¶ž8Ð@‡uö¿;Ž<`3e8Qx¨úÁL`0£CÁ=erýã¢æ4.žÌ¼G @LA÷²Á£äÚÅ­Ø ¯œ@鲌=›ºSGt2„ˆŒÆd¹¡¤Ñ€Ç…ú©ª¤C_ ÎúUš°:D30&Éž“ŒMÌùëólFšû™Íl¨RfCc\‚Q´i9í7ãïžÛèÀé ‚E$¦ä)ûÑd@'‹¯™JüÄ+æÎŽ!ÓÞE?ʨ˙N[Ò„Ø~!I(*s!&g—RÔ êÚT ñšöô² j`ÞÜ%YAjFºâïe ì¸5/õ¿d'tpð( f§´‹æp·-ø–µSZû8$Ù$’&<Ï8Ø=«îJ§³ \Ùç àmæPdF<8V2HVóª©âÁÊéÎv§åï¬øv#ë]:d 6ã5ònóJòé•Wu3“P×Tœˆ=>¯ˆÙˆŸGá™æñ­?Aq®DÞÑ€?L`×#ÿczô6qCYÝ×à¨#UÃA/ìFºC]ÃúT{á+ÕNôûn;Í^È¢óA!,rn£ÛƒMC³ÂÖî\ã½ÉkM° <¼(*ù£% „¡±Ö0ʺûivP×ïã 'ž³nÒ0ýö^¦‘±Œe1 fØ3¿wG½’ÔEàbf’ÇeHàDU²QdŸ]—'xS”BQ_T#ßjÏ}h’1OÜ?„œÛ~<ÖéfÔsÆ™Âîù)õîö¼RÙY*T7;¯¬÷S _Hš4F'I Þ«Dèpø#ØÇ"Î!ÜËqþsñ¦Œëœ@è´jýI¥gÞS¢[P”ÑOs§ø^Äk) ÓªÊG^ý¹äbØÆŸ$F¸&!‘ðŽn†Ia æÜ‹ FUÆÎ=C0“T=xšß0WŒYrU1u»“$ù†qÅ…JEk¯:ks÷u ùî!bX⼦s”^ƒ‡N<ÕÕéN`Hˆ]ð9Ëâ´˜ÖÀÞ¾wË]a~Åãk¼–zÓ‡šÓé;Ó©Aщ 7PȲÿ32¢ñ ES¼‡š\!åõÁ±~qöúí5D Ãæ1Æ{)©½8ÕØ3C™kH¿Õ8IÔçÙU#…â¥oV°5û5BøÌ •p,A.N¾3`bˆ“’XQµ~ ý1ø ¥o®Uu‰Ë™z°Ó‹Ÿ)~(ø6M¥À¹M¿1RTjqZ.}\øæÇÄ{ì:|$tzK$]¼?¬/¡Ó4uð7^ñè<›¼¬«ZuºuÿäËnÂyCá ž)¶}àº: 9ᣉ5‡ävÿ8±øþµ^l“šmZ’if]ß6Vd¬Ç¤=2É މ›¿úüT7`´)2Ô¡ì,ç Å7“’KMKU‹gâ×1\ÞZñ¸â‡\Ð~‰Mœ³|YgÀ@¸óñÃ%œØ §´F™Óë“Q}”é’( ¾C–:f;gõ¢bÒ¯Ù^BY›m´¹‰¤ûÕÔ4•çãóÕÃÄåC°ñ‹\Þ½¤&´ÖÓÕ¼Ó;ðºZ°Ç€[K4×Zç4wRó'½Pµ‘àb»¬²T»L¨[àÄKG•¢t‘ßu pÍ&)±‰TivîÁÁ|%<$U¤>ý¯tW!è œ6©ˆ–UWü «|×&ÝWß¾ýê¿r¥÷ endstream endobj 130 0 obj << /Length 3725 /Filter /FlateDecode >> stream xÚÙŽãÆñÝ_1ÈìÈ$›gìq²möç’(¼¢8!©Ý}êìC"åãaFÍîêî꺫ºŸž¿úú›ê¡^×EZ<<ïêø¡LÍ:.ò‡çÝâ÷ãê1Ë‹èó*­¢–Û/«$jVi}ÂÔ™Gc ½íþ½ƒŽªˆ&h¾È ìÆñ 'ÐRýð¾eñf qZg@¸WêyE€ÆµÚ¡}æyŽ}Æ5{îØÁŽÿ'¦¼é4sýÐá¾^=U=¿È®¸Áp! k××lNŠZÑ‚¯‰ÇÕŸÿñ?<&ɺ΅\D…3bD³'Á§Wº ä‹tn ÷JòhƒÐ#õ6¸#þ½ñâÛ¼ŽüA‡GWéÄ]zi¾ºÐÞöƒâŠ”|]="¡“Ó0‰YD½žü•4ýÓ 9ƒˆ\ðP#¡ÏŒ< Güw²e=¢ß´æ ±Z`SG>úœ2ðRz™¨¼‡sRc$ t‹K½ CgCä¢ßääB|Ø(Ò_F úp›¤°ß4ÙOx…TÌA€«Yº=YÄi"ݼ¤¬G˜´ÚËs?±^os$Ú“\UÒÚD$nqlˆý°FÖÄÑß{Q¯’Vü¤…ÏÄ©ˆw¢\LëÌ£5±y™Ö| ’Ð62á¿ l,[Na¾X þŸNÁpª"ÓòçYOFGÜÐ’ Ä4µß3Œ î«J¬`¡lS˜qŽ˜v?:2[Ü»ÈíºÍ«J]OÜ?*®Âsî°‡ƒÓÂwÃ+õÔwçÈOGöPsGFv§1¯£ÛÍk¾’9µ2J²B]ÊŠ"HŸÛf”–Ч^á¨×vÎ ¬øÏ1oÜYìJÃ6¯+o`„oÔâ —³àû¿‹ƒÒ3tòæ½=©÷y㙬þÐhèО½}H×{ÂxÇ–aÏ<ÚSøÚæ¨OlÝ&qa]xü1»gêÔ:;S'¾³#Ý œl°ãÛäÜv;9†âàõAé`S§€mß)xZë{Dò‰WêÉû±jÞ÷KàGëÜôpj>ü2ºm›9Bžèª­pXomRŸÐà‰µc.•YÂÁ ‚ÞZuÏö3Ì͉2“X¹ X%lP‚mÙ‡)ÖnÕ2œ¸KVZ`Qoñ7 óÀЋ›Îè§8aз$&ÎÕÝR;PøÞµêHEFîËâ39.¢ÖOD“X½6ùšµD£#ŸŸ‘#\T¶â‘ûòSéÜ_S¤^ j’|mª ¨ATøñ¤•!òžØó&Ñmš'ÂSlÎß·B«Ï¢w´¼á>êò©û *~ô³Õ-°²Ê³®³ŠÁž5¾JÁÎZö‘B¥õg6p|ÌÌ!¦Œ<‹”‚½¾ZPœÔÞ/LGÑa™A [V´IÄû¢˜ªª#Ì¢!Æ€z¿_0L¸²Û–‹¸è©ov€Ã瞢¦n^`“ å¯UÏ\j¸žÖùrpƃ/+ ‹ºF`Ú/âa ¦ÏäVbû½•ã-Š8„*«°ER y'€{mˆÒ¡·­â{³è†ZõÀ É߬*ð\ƒÕN1cQ¶¥Ë8µzã]·pÔÒ9½I Ûç-Ù07ËïVLl’F{µŽ'¦GýŽÂBaÂA= }Ñ5$ËKÑ5Œud/)Ì'¬º @Ùg¦Œ>`ìžP„LÉJ=o+6pT£®iJú‚`â»uÍPŠFÏ;99YÔ%‹~R.)a”¼eã[öÓÇ‹†¯{Ñ-±Öñ!Ík mõÚÒBÏŒ’8?pFpö ‰õÍ£ÕÜ­¤\Ä–ãJúUbýU4#éOýAÍáU0Rüz0º¼Ñ@*5`_:2i÷Žœ`e–AÐU'’:èqöh+_lx€’núYȆàË:¢ÐµªHbM’ZoFj‰–%#Sæ™?{Zï¨âÏâ[Â*n\ì—1&úQµ2È@a }EÉË~@ÖƒB„Ózé5ïœLy¡ÉÈ£ÔbóAøÙœ›“d¹ãÑkØ…íOš¥^¡~ Å€H’%Í¡!—Y39XyÔ­½0)yVu_FÒÑîX(вfÛ9ŸiÜçЬš # Ã €45™ä/ŒiòOZ kL¶¬:ïÜ‚YÃg×cžŽâpô£¾‰W7YÈp /OÞ‚Gßq=.%´ju¶6]'gó~©W9ÒlmMֱޣ÷ʱ‰°Å2_9œÕdhÞ¶¢yíèoTGêªØtël¬~„Ë`†J'® »¦žUf8K­­ËÅeŠßËö™š#—óu¿srdl€-ÛVãlø ¯pöC.ŠÆÈ•Ñ{ª!YO?ðÉm¢´±E$µRo È;GyÁϽh»µrF*6'Ž#1ðtÒeü"]ò«ÎK%ŽÏé¢[îæhøùƒJr@ûhªÔi\£Ö±2œ¯uÐÂÒæÔµq^—¸±ô¼ˆ…0‘õEG‰¬ëU2tÛ‹ mX]¶®3ôåþñtí· wÏS°5%ÐÞjÍsV+·AuŽô@Ã@Ñø”Ú"a5'þ”fâï†|¡¥u±Ž ‡Øª\8s¯B·sBgth4Ç3.U¥pŒt]öœ‚XíhÃU´ðK=¯€T=odUlâeD¢»~sQm© 5«J]ͤA¡’M‡á»Îkd]Ê*´ïÖnj Õ\ôíš-×Zæ…Fw”À¸kÉIq<ÔµQª¦'Y°÷Øïƒèe&`éBëªb˰= 4ÕÄ ë'õ d‚¤Ü Ãl®/¯6ÝBWý¥Ôªê: £slüÚÀ,&œ(|83ÜUá÷§ RÉIAŠÄª|2»˜?ÈÒ=ƒM*-“·«”4fdMÃB¼MÁß™™Ù£X¬øô¯~bem8i~n8<ǽֱKÍIØr™ÅBAôfH²"ÈS1Ü–( NßNߟ ØRa$/½ÊH’ek“¥ZwḈÿð ßÛK¼›šJ¯kc 6~½ 7ÚÀ î¸wAÜíFc¦àœ¯Á9áôJ#öΨûþÂ'KÂcRåë´,BźŠÜèÖo¯¦“ͼt±v^ºŠ¨« Oz5Éwr„Ì{BOú-ëárW©ÉgtëѪ$Þ³žÓ…jÈf˜{Ö´¢¥yÍðÆ;kFw:²‡MpD‡ïo/J^ÓèžP.x²• ø~"Q$ÿЈöÙ2‡(˜‹ÜUphú·M‚=í¿T©4©?ûŸ$gäÑψñGÙK+ò¨Æz`SKaÈŒvj ¼¯‚bQ)¶·¡„ZCeìÖjØí„}¯·e|½æÕjÓ’uÆžèCÒJëV¼ ̗έKÛ`‘–¾\©~ZÆk8Öï×|S¯MRèĹ’("AQŒÀUÝZ¡Äœ³æ4ÕÄõº¬f4ÕÖÆ¸ Þ:‰q&Ð1ßÅ¿iôƒHÁ|Ò{¢jçœ4÷~ÜŠ†¿—`óüØõg'BöΆ„Û¯ÎirµÛ'=U KD¨þâ™{ëg(¬8^œ7bç>Jû`ó˜D¯þdëäsÜäqº¸a¬¢UyôÖD)šµ üü¤LÝŸÜ™w›u;™ŠÃìc?ûÉ,ƒ.üÕ^—¬û¶žšÄ6ð‚äßþõaÍV‰±›²ÍN±ÞÏbª*ÝOzÁ™ùÑý­nÍØÏƒ:fáäËŒbekàË}ÅÊìµoiØËÒíéQkµ;¡Èö*^”Æu-{Ã`ïîuk¹2à Fz\¦ŽDÔéhK1¾:1&#Oà×DNžé^áÙ˜àŸMê8 GSøTƒíSèæ’º÷/®ã«aÀ¥<[—&ÿ#°Xç™Ñ‰þ͹†Ú½„ÂöUhžq¸qæÎf3rGàž3Ñ8å»oùãxu=éÓŽû"˜ÔõºH­}ÿ7®HÉÍi’j]üŠ=4BAª½[?EÒ³Í'½³X;{ž§I¨ïý UBïkÞyiæ;çÛ—Î\—ë:Mþ˜K«îR€ŠC¶Pèi~Úû2D’¢™±üL”àÙ’ÐÒŠPaÝx¦bb÷{†Ýõ,‡Àâú"czc7KWÀн÷£ø ÈS¤WGÊñJ¬ªO+8ÇgÁ½$dz«uõ4_—µÑÕA¹“` .ßßlÑ,îDýîž >ôŠÐØÚtçäÏ=Mg»uhç½Z¼†UDêP`c~bÇa!é,d’ÄA[^“×P$þ!ðw®rŒýKá(Ž©U“lõE–ÜKšFݤUZL%_ IôxZIÍÿp±H‘ÂÙZ¦ÆÈn[Å®µo õAtª /RùÎ ·ØSx6Üxl¡Á¦£ùÎé·=2#O`näÃKsâo˜6Jq FJb>(¾¹µ.ðÄûd´®{Ñò&ÅàµõF!¶6§®­Pé4¬~_KLÅþªÒ½¨ÂNÊÇâç««u7Ûê,~¸ò¦_2¼,^ÉùéŸä|ÞSÖÑV Œç÷:Éæ$éœã(öZhí+™€Í{óñû\G™Ù:ˆ¦ ©÷Ž?ì}ª©Ùñ‡†«irÿÚÖÆØZhœü‡=i*×¥1?ε¯ìRW0=µÐNnQoû†ÆIíÌŽTLË¿kKùòRªŒ4A߸³î õ®™lý(D øE|`œò£>|5é/üN2lÿ !‚ž” ú¨Ñ¤í£ÝÑZiŸÔ„Ú‰ìë‚¢ðY âô‹Õ€]ð<4÷éKqâyqw±öfÆ&_jÚªö[õUôðwG$dò¥=ÅqýðX€S—œÑàÈW}þêÿ§Š1 endstream endobj 135 0 obj << /Length 2284 /Filter /FlateDecode >> stream xÚÅËnÛFðž¯p/…X,¹Ëg{²§h-`ø–ö@I”%DU’v"4ßyî’"m§E€,îcvvfvÞ¾¾{óÃûü¢ŠÔ¤w›‹"¼ÈŒ Â4¹¸[_|˜ý>fÇ~vðWà§ÜÃÏþ4ÏãÙå|aÓ„¶:& [–û H8;Î&Õ-.í–ˆþ*ìº÷±ú\Û9UÆ©(‰®åMÒW@~_©{‚Eò+žÊÚÁ3yãbBâ÷³+"½!ÛpØj†wfЗPÊh­¨ z<>:”­ m­º`;»Sÿ»©ÕžkÒ#V1<;kõ [^(5tã @xg€ªÜÏ{¯ì- eà¸WgÌé!…:¾'YŠoKêÿŽýîŠÊ‚¾}ŽJâ‰*+2Ý{ÞÙ奦çóLaŽdåLÍ[>¡É¼Ã°˜ú蟲¸“ŒíHzxÉ;«ybDܸ)±'AF`c-ÇÛpWº`ì‹S„‘½ä6ãЧ»ç¹úÐéšJ†ù?Üë§z¸exçñI‹Þo)8îY‹¤ˆÝ£ÈÚ¹¢J(BbëŽÇÝ‘¥ûÞ¿÷ižˆûAÂ*wŒ:»A ‚ gòÀö"ϽXÐãœn‘½Þ¯”!¥øa/nµý˜ZŠ ñœx>å)ZÊtt~ìŸé£ß Ù‚i„ÖŒú()@ZŸ#æÅ9¡½TwBRôê{oã»öÕ¤‰lD"Ó;Ÿ… —ŸÍ0ÉÏê8ÅØo—|ÿ¶¦suãVägޤ?3¤äµð‰ÛËí_4|ÏÓíÜ$˜Û0%ë±!?ÛgDØ ÉV’sµóž];£aG/(¶â¦+>N8)¨ÀW@9Era^Í™²£¼øÒi°¿o»Ó¯c4ú]ŠÂð¸­)¼p¤Ä¢÷¼éÅä±ð&¤/ûù>>6Y•40TöQJ«ˆ*çzÚAþ\qƒ`K\;ñy!ìÚ¹öz¯É‚­÷¥¿c±áD÷}.4v3 Aœ¥ HÎw¤¤©Ei$J[&Íô –¾Â¤ÔÒ˜qwä®ð±0› ²ØŽrx“Ä\Ïö™ÀeWlâ°u—œ¯Ua%=abtϱ™"H¬üݘ£"°¹nû@IJ°’àÄy¸ ­¯ñv"i£œšöˆã’ÂÝÂ÷«ÔhW/oÅ©$gr†ýÕ¥ÌÔ¯E¼‘Íѹ¤;LèÀE•‡5xç†YBßô òØuçyäî¡Ñ’”c$>È0³DÁ$82cˆÝ[UË .ËÅñ²õµ€Ð 1÷–[&ÖgF8d=pÔJ±…[{à@bwlç¢`kà½TÏ¡o>},ÆAž'–ÃzÂÛÄa˜¨˜z’k,L|3ÍXò4÷¼»”,í$QQ¿HEjF â’E Ž¥;_m¾ZxufÍ¿¾ú浫Ï,Þ0Icz/€¥`p¿[‰gÆ¥«ßÜ)˜˜óøà¡àýbgì«õê5Îhõœ+ÉÒ 4Nêß“ùJ_5Ó[ÊšˆÛ¿vÀ¹­ôHíÀ;hcN[SR‹éŽnØØëzÍ@_mö»yc¸ÃØ +¢ïÆiç/}ÏŸ €ë×Þ½p3aYI`€6kƒ<³LF;¬ر¢È—šÛ ¢ Â|Òp½õu†Ê¦¥êüèÁlsŸäU+¸•²Pz¢NÿWˆQýÄ/о¥µÊ-£7a„!$ŠE¤FÚ´1½¹¹{ó’ç‰ endstream endobj 140 0 obj << /Length 2976 /Filter /FlateDecode >> stream xÚµÉnÛHöÞ_áäЛ]U܃él'AÏ<@Æ9%€¦h[Ý’hˆróñó¶ZH•”¸;s°ÈÚ^½}£/®úåmuR'uaŠ“ëÛ“Z”&MT‘Ÿ\/N>ÌÎoçz¶ƒ¿n;?KS3{ØÂ ŸŸ™rÖvð: ð³ÜÀÏnHgÍ ÞW¼ù®Ã…nà•%¼ox!Þwþ½¹ÁS2± 7á¡Ç_æpiƒ?Oó*›2T˜­ød ÷í‚£b:C"zÆ ‘_A™Ü!º¢Gÿ`@ ¢±…Ÿ-žxn,{<ójþéúŸ¿¼-‹“2©K¥‘êą̈¤Ôóo×àÑ;„²ãÁRûZ¶^>áÕ¯Ã}"˜w7°@»ôì£ÊÕ‹ðÀ9ÏÿÌü¸„…§ö‚÷Å–^^z3§[4Ïý×_‹ 1epr‰‹ÃK¯ à>ÞX}6wÈÑ1 Üù$,êêûPçkŽÁÚ—¯¾¹!|¦#&‰w°ps€z!æûáì/€,P ŒŠ‘ Q¨‹{=bæû<ó›V"ꉸ—#¬> ›`L¦k"ÛËZªÑñ)kÓðP™}¦? kʨªˆŽE¹C6òæðÒù᥋¨ g`U:DcäJ¶¬s¯›ÇÌub¨bõ±üvÎÁÚaDeqï½>äO[©Tk¬ÀžÁ"KèAšÞ£«e8èùýLö”Ûƒ a‚úmÐè‚û|ÁÅé˜y%ì1–%Áá$ ÇMÒÄ(áÄÇ.M £¢æhø0Ò)5Ž™0–ø…â×N^úßß3¼†•Î$ë2Ÿ}ÔiÖv6v¶Dn"Ñð+þ¼Äý… òû #jÿ¸åÑ;FØ q€•… ¶EÐ!Qó*…›Î2ˆÆ×6¦+}0hÃUm#ÜPžÒYiÔyÁ¬¤L !ö,8 ø,÷7,†¢œÈA'ižòῃØLJŒè„3+aŒccŠÛþ¯güÊùÞÁô^ ¤ö‹¬YÞˆÕ¼€Ç/ „!Ï—~î+U@Œej–æÌûáQÀîxRÔ _‘±øìÑÙg³ßET0—Íú[^kñh3 ÂFܬ³4©³0 ›/ˆâ\r³nž¸àÊñCDº‡™':5H ª J@Y$)k ©U–¨Öˆ®oô½ŸknX›™|á%%¹Xçï¬Ýn™hIdQÁ€©u¢*-z&¾ ®¦(.«”È’j, TG2ïu÷Í Õ%È’z}˜mkê:/góPÏu‘%åX<ü·)ëžHÒ:© m6I仯D 2vå l6# /Öbiд¾ÄèdççC& iw–ä€DÌRbs;yŠm}]yÊx„çñ*7μÌÀ_=ˆù÷ìÖÁ-¤~2u=àg*wpœ¤i1^@ž.qߦµ®RÍúØYÈ)çX‡ bðƒCQàË â]¨@ƒ(.º¸¡XºÖqƒÅÊËû+O]¸Ê±§ðÑlØn„!#÷ŒÛãÆ±<§è®’L)j¥ìŠû5bÅÕÁrtýä]"•[>rN`ˆùX¬ äÃû§7+ÁµèÔï^¯I¿@ónük"^:9è™KàDå[¿« fÇøX¢×QÚ•Ï8·ä9ÝÞÛ0Ožâ‰×ÉS)#óâH'6 ¿Ðl%àµw ðÊÿ¸ë¥¨7mZ _÷ùcRàe•YBñ@kòÊŒÆwsêT”D£ucçzu“èUó)'Óœ8 Ò¥™[žYç:8kï¨u(žµ°@¯"·š¤PîÖ(‹ñËbDDÇøWª¤¨ªûVÏgMᔤëú»Xµ²aq¸eU¯ú/±ŠÅžCLMÇRwìK‰}*8˜ì³2+á|c%Sú£Y™«|ÊJDÓû­Û0&’w[QÔ‰ðP‡Zça¦ªãê†.2äWÌóA‘&yÆU'Eö ß×Áó¯ú¾Ün1á©Jä>„wøj[Œ¦*B·†KQ&ÐaBQ^ Zà7^¥TýÛFî:¿r•7†sxIÄš*©ò,dÓFr‹Á¦2Ê&6˜ D ‰ÑÈbœÞ¥æQÿlzÓ 2Ño$ëêEC—;ßz%¶–t`+¦6 Æc516s¡zÂXÿ/¼¾&’LCQ¥Dãlœ›ZsóÙêA¤n+¿ç@Ölj5[ülä´­YëÖåVz”² 0Î&¡ÈÝþ!iÎΔÑ]Óâõ÷<Ú9VwmaoÅCQþf[Ít°ß°£ å…¢ë$aTäŠÜ©ÊÏÆíp„M3;[òöol޼ó»I2˜wÌ‘ªæ,+Íì$Y:šè Ò_À]I÷…7…ü¸e£†¦´h`úçè&n$îûI]%ÆG#.62d¸0øâ“'ùâ!»èãÁ–²¼•HÙÑ — q™”õ$`]ÎÏ€)x.—NÜ?“'`=²ž}ÐiR•ΡÄÊ ðàU\YÍ~PYÈ2ѹÛû*z Bôm„±àŒÞFÀr±*-'¨‚‚¾Òw¥ö¯ªá&w•ö¾qL˜J²Ô¥2ÿ™Ÿé¼ŽÒÉdUTï#VIé9¥ˆ¾¾øáôQÏ+Òž[Y«m¢…AÓlhG•rÐüŸBöÙEm1SI®³?WòçY)c!ò_ý–]Tï*ÏÎæuYTõ¤W)p!%`c\‡d¡ûêMUÜ)W‰À: jöë“~ln¨D\17ÎÒÂPPÂ;8aˆye\¾»d·R’_jd—g,ìyhÞc!º/ ð>.WrëÝnÄ£‡_T æ×c¶ö—OµÔ°ZûÜO8¸t-­áÕ‘ÆFæS— Où@½L=KáïÓȇ«&²ú­6¤K#4§Æg-ô• T™ ¾S¬íl+ÀfÓK§C<»”ÕÑ'aÛâýýíçhµó'‰•2¬¤ y%¯Ø£liÔoIõô‹²±x(ýK„ñZ–j§eí z2g66Ûxnê’ÉYû1'#w%®¸¾—µx¦€+>Sè˜5(ƒÐa¹°]¤ÒÇXøkY(»–þ•2²ÊWå87éîàaw‡öHúòk`\¶ 8£”ÍÉ•7Á‘OÏêò[+rVCüÖãü L6ü9Ž¢`W¶²Ÿ›0ò¨gžsUµ þ#a ’®&^ì# ÑÓ”a7Qá\ ^|®îF.xÀù™`š*Œgô¥b)4·VvK×U,ø;Çf‹ÎC´¦ øiKÍ¢ ¦f¬XÿØMZÜ£.½' a“uò3Ív9÷>lÝYBÛH}6:ž’O”åÿ¡§a4hƒ•ÉÁ#š,F4ˆ¶B& Tâ&:îI‘—ÈÙ™®L†×ý a7Üòë Ÿ¼o?öq†A (b 6 ÖÁ¨ßh£³*Œcëh»‡€ˆÍ‚±lylã¢Å—5¡Û¦$G"Güã”Ü)A kö_.â‰n¥¿™èÖ…Kt³ÓXr®å“îCטo_㶤£/Nû7š\Tù# 3Ö%î­Ï|¥üSE²-êh^‘ÿÚöklm[ƒ­Ø),…^Ù@]³ƒ©cÖD™ƒº*’ÚwµŸWhãJ‡CÍÀ|ź·æN°w^î[e> stream xÚµZKã6¾Ï¯èÃÜ@¬H$õZlÈ3À.6AéÝ’9¨mu·wl©#Ù™q~ýÖ“¤lÙ=˜dݦ$²X,Öã«"_ß½úúmuS'uaŠ›»‡›:½)MÒ"¿¹[ßü¼x{[¹E?Ü.­5‹öÓm¶hvÏðÛ¿¯nßßýóë·yHo–&Kê¬äñ u[æÆ.öÐÜÀßþZið÷Kš§ðc¹™1Íj†dÅ$ÇçÛ¥)íJhü’f®%ZK“ó4OÍ~†µ¼J\9áìl¢2)Óï›@²Y)ï¿Ýš ˜ç·{ü5‹}X½±sûÌ-þ¸EÓÁ»5Çîøx*ünQÊL¤§5ᇰFšU§„¶Ì L'·K—•‹wÚiC”`ÂÿqG¿BV ¡K4ž‰<ÐXã8nC$ÇI.‹"1¶¾Yf°/¹¨Êéþn‰©3![—^È"—ó²:±ð"'ýø¤Ûßnó‚Åxð‹A=fñõÜÌøçdPé‡~ÐŽØ[Kãa/SÄS ˆðìi¬T-YœD–° #X‰ûM‡{¿ç>4³ª7Ò‰¤ô2… ´‹W³¬ª¤°%ìƒMj'öñ-h­KÃæb»¹çéŽj›Kk¢)F½•ŽüeÍ2Â&î¨ ZÑk¦Rª@hÑWlËÚÆy¿—5l7¢¤Ö*êÙ?D¼²ptÆv|~Äýð»­y(HfBÏJ±ï¸ ):Ž<4줖Xm˜òª³ŠL§*̃I__ÜÚUOŽ}Ågà^>ARÜiݲÐŽw|7Ùi¥”'ž¿hk½76ð»Ç;‘õÐlùíDtå‚´ù²5笳Ô&Îj2¯‰eþCQ|/*1gj`Ÿ•Ñ(°÷9hð'?sÓÌ`Nò<’-{¢–¤+>nôãAýÖÞ/YÔ„œ$<ÈÝó ZÑŠ1±ã†¹"µÂGÚüîDܾs3²MeÎ$•©¦šA¡Ï»ÈqŒ·+gë¦/-‹^°êµñ_3†®ê9àQ]7ºtÑ¢#òe* Ò7 Æyæu š÷ͨž&<5üH¬d–'y×Ü‹l…‹AvzN–ÍÞK "Kž¦‹»'ßkΊt+¶4åš]K.‹DKÏS²è Y4é®?‰`C)ÒÞ›:¼µÀNYçìðàyDµêV8ñÓ ,÷ùúº'#îÕÏ5B¥c ŸŒŒ‰9m˜ùw€š=(fŽÒ<ÛŒh(Šì< š ‡Û¢¾f¹K[F>òÈýW²l7ÛQbZ™ŠQµüeΜÔÁç›H3àYƒ =ê>Þщ¥^"M\£š¢øIõ_™döæ×I=X§c¹Á1÷zP—ÚÅíðŽȹ;õË[ $vq #¢p0ëþj@º•z±­¸¾†f‰Ý_F¶Ü‹‘ u°eRÞ«RJ£plÅ_Rä4F:~{ê1Žü~9V6;e èÌ,­Èk= N—²zxÞÍlñ üÝÁßð÷oø{3޳¤ªò‘õì/]æ’,·ç‘6 ij Ç.¼Qc“‘ÖŽ» À—‚Ê Í\ÝÒcÁwa·º^èÿxÿÑvß“>ªúp¾¬ ¸6!’õ ê€×ÿ+A9ðì!6/*}‰cc²iXå 5ëg¥Mlí.0FFæ²Z|1 q½ m±´°tÓmy¦ÓìØIw@§ &.-Ƚ<0€A M.ŽøýA¶'jZrèRt²çi.`q) ÿžƒ%è@E‘ƒ2žs¯8ô‚ŸŸqÒd͈¹í‘‚Wx¦êð}äHç ìEögZ㙋¡,e.W˪ĦٗA¼Êϰ"L­™%+óxÁ';äùw,.Â>’5 ’íŸB_V«–“WÒ^cmR¹ì<³)Àv Mvä§ ñ¤€ôØv¬ä‚B6¨1ø;lì¬/ÂzœBÍAáG'ù ~‘0€80ðà÷ÍF2²ÃPEÜΩ!й]^BÊW^”¾ª€í RÈ‹‚wjÅ–æw`¥Ù+|Ý„ø å f‰Ý6ñØ–ÛýVt‹²²‹î‘IÑØÛ§ÊÔH¸†= áæŽí—»pà¼$ñ>yŸ¡^}§š/®¤^Y(},Š4ÂÍ tP¶02J‰3G$[èÉ ¤ëî.•ULU$Y•Å1Ö[‹Ì'ø$øa~‡öüî·r³d&Mʲ~±0ƒ¾Nÿ 3+‡wŸ¹¢ëœf€Úܤ6¤9¡3Y´ïÖžñוìÀ(z`”볓]åü™ê8é–3<¯'pÀXx ÿƒx5›˜ÒLEï+ ákrуÂz›MU_ Z-$ÛØôNÊY¨—™kò ˆùÀ#V.Êø°Ë@t×䄈®‘ë\@Wó{š /NÙ"qi>MK®Ê-*þ¦%UA9 ²!”snZkß…:¤åºM¡µÜQBþ³Z %ž>.?øR%èC?[²Ü±–KöF^6aaºü†5Ìhõ‘€á%ìgnA Æ-~lÁÚöìèìmé8ÝÀ·¿µ˜@¡zh®ï}‡{­fãIuØD^òô4 M Ÿ`4ÔÂFÎ{£ZA?­ÃAõåÙ5êЩ!t±ž!ÑŸ¡™÷ü ¹ ¶|íÿ¼ùö_Q?÷žM¿¬Î¾“ûe¶ñwþ—\ü§ó¡UÔzªu—+Öà@sGš$rîO}_'^ö°?ód4|TV6^AŠØ#=ø (>‹µ®æu‡:×>ø[!äóoxMºC»'Ð÷jîµ²?]Ú©ZjŠ´Š¢ŒY»Á{%€Ö–˜Ì °¨'¨ÒÞZÐ!hyÃñÈO‚’ÂvJªª÷ö±GÅ;>N9è<»(r¡C7õºÕ.ßÞú$N‚ªöIýW79ǯƒ¢K†ñÑ«¬¸á¥Œ,«9ñ"Íâá «7Ƶ"©ìtÙ“jºNZr½œ;+´ôJ m"ðìÓ*®¸tzØh0yct‚1œn6Ql#Ö£ IåÂv™ÈÛÎQþƒŽ„9ºZíù’ÞAp․ã$H>%[Ä, äÙmïÜèƒ÷ÍFxÐuh ™ðxÅ‚F “¦ÒiPÆî›ÉÁö¨Õ¡›8ÞFh}Ž/¸ª‚Ý̵Që ›6lâAÍE0)¾»dÖ£…S'>»ßij$ k‚¸ªŠodÌIdœ;UI°+qyˆ+:øùZ"Júˆ$F™¬Q½àdJ^“ÅU•ÏÛší’ 7ÏÃõ&U-ˆµÃôøY1úþñ‰©#ºÀX˜ú@<³Sr*F©<ù¯zåÄ/d#žSLÂÎ?…î!¦Â·í©Újñ¡âC¡uÃ1dpÓªÞçªê/@.MÊ:»€†Hþ$ñet÷FÏìdÝ,ñùL™eU\.lRœÂËJC{EõÐyØh-;îpÍ©Ç3ÊpΣ¶ÖGî³ÙbPý}zo(Ê ©›QMË€¨LG©clÅOî©Þó`º°‰¡†5áäaî°!º>rŸlåå+sçxk)µíåWÊlGµõcR•‹o\½óןÚ„Ë{/ߨ£3*…1x·ˆã?H½n/ŽÛw"³; ün^h>Â×T&ÐÅ[=ùø—Ö:Ѥ¬@oÈq¤€QøÍÒ ° :K•/a«õå‚@.ÊΨ$C¬ùŒxêdË3ó’nl䥥sˆÁz\ðÃ’tp$ß0¹`zH Dí± dŸä^ ’À2¾óª‡/Ï*ÛŠœ„¬˜ “ºeæG¦åN<™eñªŸÜ z¤P¢æÓÉÎ ~S{oý`ÃV2,-:ï.8ÊÌe øï/q”YR¥¾"ÝûB®–3†\O$sª>ÆÃÖï“"ö‰3DÏ¿•Êf>E7øÈØóÎÌÔò³Ê&&/¦9ã}Tàj"“ÿ=:nøL×p¥ˆŸºÄ¥þê&‚`ˆ?a>ÔrI]oNу\uƒè|L®T.På³9ø»§ôÁß“x0Éc?ªóåjŸñ ›áBùEvYGU¼Mn›ÎÔ¡óÄWü—;~:0 Û)Z_.ªÄž÷÷q6Ù ²¹~ Eƒsîò<±©¹Â\•˜Â+ì7(˜ja˜~@ÿfzG¹<»ËÚç8ÞSжg‹¿Î'ð^I^ÔxÈ 1b¡bÝ›×+êö7’ÛÙˆ?A[ÿ?±0¬óÎã¾,$›„_ºHãNkdÜPcàåÎø¯¬JŠpQæeYž«l–d•×iΦtÏY)³$ —þ]¾´Oh¿ßßâHøÈl¼t0èý÷Xàȸjo⋘l€9Pʲ_ØéÅLÉyâ ÿ¶š 9™Ák]|ì/ÞµÁn==D°uÊ™}5qåHÜgµý¨WéàíK¡ƒ²¥VI‰ã^è¦àNÈ÷ÑÁ6j5ãØMÏ*®·ó5Ý•îèý‰³zVÙ5ÌŽ†ÅpXx«_X›ÄîS Ew½_-tYs:ᥠ‰§„Û„Ì;.= ¬çËõØ^5Q6p2çëVAË4=7QÕ¨üyâ\¹˜<ìÁ«Œi甉ËÅÙøéÕ›»WÿßLpU endstream endobj 164 0 obj << /Length 1857 /Filter /FlateDecode >> stream xÚíÙnÛFð=_!} P‹á)’FS ik$ Zˆ€<¤y $ê€,R()úï“»”¨Ø œú@q¹;3;÷îŒ^Œž<½&½Ì͆Á°7šõ2¯—¡ë ãÞhÚ{çüÜÄAè”}ß)à©ùó'x¸•• <<¹#HŸÖö²†ß6T|çFàfÏß^ìÁk ÏRȼð­ÌBú‡¸Ü‚ù pSxþq.x{ùµ¼Ka×ÏûïG¿÷¼ÞÀ÷Ý,üØø‘% B/„yÜåv0Â!TSiÈ{p'bW´éj“¦º ˆ¾äÎzYµg8êßì¹¶¥ Õ$õ(Ô¯™¿7œ—b =ªXwGú#wØôŸ6M(­ú1¨l^p'bÀP­vÄsà(NØÂvãÚ:Œ‡m À7K×ÉÅ2Û´ _ðç._ËÈjXÁí“ËÅg¾Ö´§¤ÆH÷ŽÇ¯›Þ1,mU\!Í‚Yc?rÞáã¿—¯·ÊJÉ“ ·Øä›Ï-–‹®Ãø¦€Û´¼'Ðã‚4@O ãÇ”«ûCz{@è„ÚqéÆêgà–Zò³B“b9Ñ¥°M4å# Q6M®ákI4w¥)cÊ)‡À—"ó|¿5›mqk(ªÛ°’šv&ööPFíKb¶säÁj“¯w¼”3´Iãèpj;€4ß®µ¹”o—zß1ˆ4y6aäÖ‰€–x¢Û6”áñ—Ò­ù˜SmbŠn•xÓî?í<則ž¬æ¤›FÎצ;ˆ¿ š¼”/.ëu£\±¦qŽ:ÇŠ‹ ã¸9|‘Fs™÷/8íée I´·gõ–%DŽîFÊ?ßȘO弄ã‚Eã³S4˜«OÂJθ»âJ.­”öÉ#ÌYe|4Àû ‹#“xêÄޢ݆åç¥(Ây“¤¼öíý$‹œW‚·¬å-NÕiú–fQö˧äU˜à4ºqº•ŽC¬&'LP>˜ïe8ŒR¹Øç[ÓÒ&n¤™¼!ü¦]<¾jþ*!Ð]ó_ØEó$)€Vrþ±„WìçÀ[G÷[ÃÔG÷Þ¨¿SÓ⮬ֿt»Ћ—:ìø[ãâ¡—ªÿÿÑûFÿè}KÿàšHðîµè“÷¯2ÞXÒN­ñ¤¥Y»¼=üËBÌsÖÑã8k!Nî¦XBÈ³Ž²ùÌ”ÎöëøG/s=/ëAZvÓ(bµ$÷ä·Ñ“ÿ+å` endstream endobj 171 0 obj << /Length 438 /Filter /FlateDecode >> stream xÚRËnÛ0¼ë+x¤€Šá’z1Ç" ÐÞ èÖö XЏ–[†Ñ¿ï—nìA¤¸Üyp(R–R*ÓTªô•©É«Õ.{ËLI¡®bÃÕgÜ¢K…»o;RsöƒŸ÷­Â‘3eh?Áæ>²É`áœ7Dú¾vÙÝS«‚ µ«U÷¢‚UÎ’!–ìõS?å¤_ù]Ÿ<Žyá)hºÏ‹Ò7ºÛ¤š³úŒÆCꞀúµ~¿äü"óÂÅMb‹Ä+æéÈã‚õ‰ßÕÙIÂÒqÉ]ËZ®Ñ3ú¶Bq†häÍiAµÕû‹nm[PÌŸÿ€l€Íäâ—­,Hæ=¼ )÷S2p«ò»ûŽÛ!2¡ª%©‹|Ì£•p*(p°×yÂV#!ð|ë [`®üA:úãJò÷œ`X’“y­’6|#%éÇ~…€6âAŽ Àðnì¢þÿ øûê’x/1àà8N Dû11L6FŽqñEvúi2€°Ò|Ȫ’¬zHä¤ ðN¤b #²ºÕô^÷2­Ñ6‚"&ž/–òŸó7oKŽÊÎcm€~cïÅ@‹½ì±Ëþ–iÞ3 endstream endobj 158 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./wiring1.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 173 0 R /BBox [0 0 504 504] /Resources << /ProcSet [ /PDF /Text ] /Font << /F7 174 0 R>> /ExtGState << >>/ColorSpace << /sRGB 175 0 R >>>> /Length 4474 /Filter /FlateDecode >> stream xœí[;^ÉqÍçWÜÐJ®úýHw!`òp`8!mÃZsØèïû<ªg.w C©K²î×ÏêªS§ª{óõ‡+_?]ÿýòGÿwåv·¶Ùïòþ×ÿüûõÏן_~ûó?ýýׯ/é£^Ï?_üG|ýúËË¿üë•®{É×ðßO/9Ý)]ÿðÒJ»ÓºZ¯÷ª×äuïyÜy\__Z­w×·äÅŽ­ï{7Ê­Ü¥]mä»UÉã.r¹Ç¤ÜÓ3äŠI®÷dûíû¼ó”¼å‘´ÑÑïZ$×»ÉÍ¿cün¹K^÷š’‹ÆŸù.ÛãeÉX~ÌÕõªõ,ÿ>ïÚ$'­wbÿCë/j¿Ò]§öW“ä|wè Ë,ÒÇ*wßÒGÑx«jýЗÇ[Íú÷Ú!7¬§÷{¬åû9r½Ky¶Ï÷ÞÏñp¬ë1_Û÷Hõ´u·ñXoÃ6×c?8¦úÜoƒ>ÛC­Åx¡¯}‡>!—öÐ7Ì`ŽÇy@nùq^4“çyB¶=ÅyC®ýaÇ~ØËû|aOX_Ê{ÃúSzØ#?·‡½bÿ³>ìú²={ÏÜÖ×_øÃ¯åWõ(K'¸úõvý¢ÅõùåçÿÃ!þòg °}ÄÒ|¸Ü´ÉŒXUM$/qòNh—ã„]îr¶ÉÌíe’í^n¿=ÞQQMQ\ðæìkÜmë|d;ݽèx&çÞí®C§£ÓÝ“VÍÃQ㜲cye9Á »dGN“¨BY‡•b=ÙØ—d¬Ôýåœ9wí ãoõÏ“Vú1_Þô".GšÊ%ÛyJ¹Ò«¹ú2%c=E›«Urç™Ó8V¹h °AÊÓëÏwN’—tMî2‡Î2¼¬Õû9²|èÑ'Wžã˜ù*œ§>Öƒnû±^@~ìÒÒc¿¶Í‡>8l}諘}–ú }cš¹çQ\ÎyA.Ïó¤\ç Y`uìãÕs9Ó…1Ñ=Ú‡©aññ753ÅÖ…SaÄД,é˜xãú¿~ë¿__fÑT8·µßþ˜BKž;Ö+*Eb’[y²•AkÖ`Š€,i°]C´ ¬äÆ:Ñé¥L£)AŽgcT‘ÈmLË5¿;öwÇþîØßû»cwìïŽý·áØ S'¦ÿ“‚daÊ@rSáü–—‘¿ ‘ýÕi©É@Uþ#‘ÏL”Là€ ™ù½ò±­…d¦]¯ãǬö=)ßÌ}Ù^ß¿`p¡·÷5âŒXÃeόآ3ÜX\ÊícÅt¹õØáÉ{ì¸1]úú üZ~UÎá\¡}ÛâzU–Û¹ke©¡Õ--: „œ('6£¬ò„Fôœ™Äµr†ê¤UfÍò:kœ¯Lác~ÏÒçæ?(küÏÊs©•¡¤ïÍ2FD:- ¡¼ŠäÞCü}FR¹`E31g^¼uJ؈û7yBžË–&ÄÅx8Œìu j_WI)’RG¡+V4WÉáqtd!08OOÜqaúí<|Ó š5'¥SýÛŠþt´ïÝÀKÅ~Ë(±ßªì¶ÀÙ¦ëR• ö7sÈ8‘Âr‡ëX…æU°¿åù²Ö³³íž0 ){8P…ûu2’îšz¬@^¯š!ˆiØHÅþ]÷äa¼ <¶ßAÊÊÜÜý±ÐrUêÃIz%bV¨eiEÚÎùØçUá×®«•DÅב£î Ïì¨Ûè¹~žë:X_×Ñ'€+œ³Y®´¯–ŠÃ~Ëš¿ÿˆZv`Á°Ýí“ÿœgÚ4<ª¥¹v2ï†ÂH€cËG^IÑu)ȳJvÝ…r±^Ò‚Y9"ǡܱÊt)§ck W¬±*‹¤œÚ9Aâαè¢Êqj Ž-³…dUR3§ñŠ<†%ª"Ub>磪ƒñ5~¦pý0„Îñ+\ub=˜6©ß\XÆÁªòVéÑ//S“Ê’ö‹ƒS%°r!ðЕ9š’s65¢éAQ9E¥¶æ¦ù ØL Wüƒˆ‘†=°ò豟¤f__ bwâï´–Uâe„×úKà6!KÎô ¿`½0”õ ƒH[e v÷æÊh<ŒhTX Ë׎¢a.c^‰±hmׯJ¦­éx!HÁ¯Q.äëZQ?-P&ÂÚTŽ-ä3ûê‰~•$ãÁɨ8œ·Š©ÑÂļT”Ö ´3v+¨  #Ó·Ëœ°/ñ:` #Ü?ƒp‚·±j®¡ÌÐEàœ±8KŸÑ&„0DNŠìÝH!Š˜)–Ã`½Â:8&k{všå4á ×”éØm¦4Û&Y@_¡ƒ  Õfí‚r FW}*ô.O]‹ËTQSf¥‰qv»M]¬|^Ä'…Ö -’åâp^§¨m°v™5+õ6޶[©Wë9ýJ¦³.›í]ÀŒS¡©ä6 )¤†€³H&µ"~ È*{©52ˆ ªî h5MwòÝ„ÀÉõçã&ÅAö}ÁÔÊÞv³;Oâgé§,UÊ‹É.Ct‘ªËº§ÊÉÅÄž²‰€üËÖF01þ¨vÛb—>c~üƒ.$Û¢Œ\x öTípà.MI"Êý©OŒ_#ƒâèXJ\0ò<ÖRxKC(Œ7r¸"Ø,9i)&©8$ô•wd„ŠD„È;;ƒ*Ð7af¤ó,ÀÂîŒÀšw7ñ9& ç“éZrzþ•sF‰Ž„5^0XÞËåääT$aúdˆ¼©1̆_'……t2NÎ"ÌM¹6< «/v]‘Ý·'ZÛ†›Î £ÆÑ–“¼Aç3P™»YÆ<©¦‡÷'Μ…ã$bà,kQè#vó ñU× m›Æ+ Ü$;\3ñï]Áî_’´Zý¢|[ô ¿¿_“1!…1£éÔIúˆSÊïô„ô³zR¨ Ž¯é’ƒÙŠ<œîÏñW܉ex °2J‘0oÑÑQŠÀ a¬°D°ªÀcza‰<Áî"cÞLé%V‹Q<§Æ5Và ]ÝF á/K)a}À¼×h` hXllž“r¤Yû•—)rC¹ª=ô#+'Ï-¦³îÏûU ÊŠ¢ ½œ^»–é^¸;QÇá×÷}¤·ö*º{½ÍöjÝ(W£γS^¶>º;ÌÛ6êäiy˜.Òݱq­'鲩¾×¶òÇŠÈ&T »g¢n:ÊÒåU%9+áµ8(Ñ_õw^S{0&çë‘@ÑKIŸG ·Ä@ˆBРް"7¤Ã£‡ëÕWÐÑlrÄàÖ]çPð­Ð—ÖÇœ¶‹+h Ì ÁÚ„ Ër´iU*–Rükgi¡) ¦ ù½ˆ7YàÒ%¢ îž]_Zñ<©~"³å­öt9¥‡X-.¹9— ýñ–I£Ä,Æââ\g{D’¨Õˆ¡Í*†ÝÂשäAãóÀO2°¥à3`…p±å2‚â®]0+¦Ë)¨8b!™7¸—rmâ _ÔÐÔ1yñ6ó¾—­ò€âî§Þ! E¬Æ-U²À|LÃ/bÌDM—ãð‚ÖªÉ5!ÙÌ‹çD;\”²)N‰çàL)渗vTað’=,E×B”£î–ª^¥&ï©®ÅH)eMqArAÈÐu ÖÒ)n¯j:|‚À‰0zÇgb&O„ ™ñTUG`q,m›J¨ÔTÔxE 8H ùß´b^ѱ6¢âŒ”¯_å~—Í’îÁØ>Â,›8“8ÅмtVÓi×SbBÌØÌLãP๞|€K†‘[è $ZsWº^a@:”®pÇ`!µwq&fR,Àûn9RZ3>º¡œ´+bµˆÖÅß(   ®-qç_‹ ÑТ.Ý‹ë1Ö³—eò¹M{ýR§Û|…Åpé•Ó0€Õ"Ù4GýeØ•üÆrjÐt‰Ÿ ¸ä³z}^ä³ÕïBvŠ€–»äæì°{þd€%r¿ƒPÀÍ]’0 òTU˜lPJVa_ò*ç"`;`u=j€¬€Ì€Eˆ€qá~˜fúQã”"tqaßJÙ-ËP¦™ŒÔ~·"À&íܾ¶pÀ,qÉÑOâ§B ËVË+ùb¡¹~QRóE@‹‹€-OçE36X$Ï«Õ Ìî-›6Ò}‘°M3³Î§ÂþP­‹¬f}fÓîŒ& ]x¯ÓïVr\¬”éw0áÛ, 4ËÙ»õnçTU ÁÃW@ro,FÉ:ìN8 IºeXn<…â„ÃÀ±]Á–i3!‰‚v Å´8»EÕ}â½ Åü!¾ºðãBÀ›e߸ð˜D©TØWÙË‘o–UÉ? ²( ëoîO4˜Š¯.Ó°R.|fy°¦ua«É±Ò) eç‡T˜˜-)Î@'J«4ö0[þÆtea'ÎjŽ˜ wËÌ¥œÂ™LëNXvÚ,ü­Â ö…HA~-Â"™L‰k‘æŠbÍçÁ\Y.DÓÕuJ³ f.Bæç ‰üpGb¡×@ÌW“ó_NY(]Â*Æ#aVMÌ—ïÂN.™ÙF&!Å3‚—áTå(ýœ/6ÎÂ,oøÜ+æÛ)#—*X–Ëÿô˜­üÓ…Ù&Ã(ùè“õ¦`¦BŒ¦0ïBgÓüÙÎ…ðl’àoD@°„yγ©"ËÌÅúëJòˆ[*½Ä*Äï#³ Çpçk¢´”}@¹ZÈÂx=Ób…†«[²Oþ¢ÔZ…ÂÖÒMX{/•ºB³Åã:¥UAAäV”ù°žÒvÒå­R8{œ.eHÿ³Ø3‚EW¥´²ªªÕWpqÓžN"¶‡@L[÷D¬O#Õ§J4†ÚzëK_§XM‹2õ¨¸fWt{.¬ ¾–2•7¿9¡5)…“û¬K9úPcŠ ìñHNó¢8½j) Fׯª ຅]¢Ùõ˜óXÄg/¾,z ÷F¦µMñµç!2#Æ€©ܨ÷|P|ÅÙ!†'ŠÙ‚®HÃø‡n_)ªe°FÄ¡ÂÕ†”€ë"#[ÊSdh¬(’UW–º‚x¨z4DZeŽ›à®2ŽQ±¸ŠÅbUcE·îÛVŒ<ã×ìüHœ–†CE]õ3ãÞ€*3z#«mC¡K:ë‰lJMg¶õ/§bFqýC'tU‰%r뾚ÕȾL¯¡ë 0µ›²}VÀ‚²ïß„•ùEöR„ùŠ’R`ÅTÕc¬ØÃ¾^Â÷‰-£ŸÇ¬‘¾¬ðÔ®ªÇkçw–ì1ßð%ŸNŽëöÖbûõü“/Lù¶;]Ï?ùüºHbgÿxìýñeèKÝJã¾”4›”ÊÒ´æù’4ÇïñðÕ}¿}«Öñ¥Eþ뾼řïc[bë3·¿œu¹ï·ëþòòÚ¿÷Å×ÀS;±¾ ”÷ãÎ~ G’&Ï/çj>ú~sQ¯ÖñÅ|ú:Rž±-©u̿Ǻ¢ï7ëæ^ø?XüðéùZûé5=|é·¿G§ëÓ\zGžÞÿÈ2%Ú~ýéíú»ßÿ×–ß\Ÿ~zùÝ' þÿõG§»¦Ùùõ/êmç¦kÃæz³:ÿéKþ«;3ÛèzSÄcï¿~~ïýÇ—ÿHäÑ` endstream endobj 2 0 obj << /Type /ObjStm /N 100 /First 794 /Length 2258 /Filter /FlateDecode >> stream xÚ½ZMoÛH½ëWÔ1>L«¿?Áq2™ v289̬á-Ñ×)TÆù÷óФɶ̌-0Ð"Ù]ýêUuuU·Ird$y²ŽGJR ¤ þ4)K*à)VxФÇOÒIM´&Ó½!ã iO&¡Idµa‰Öâ»!‹áÆ’SŠL gÑ-’ÃK«È+=A/oÏîƒ%|ö)’Œu’B@CQ£±-š@0]¤„—^Qrnâ5¥É3|Lï=Z|ò mò$)…é´R-ÔR!«¦¡*~*mfCëÃ$*RºGèì-&4LCÂü¤’BëHKÂd$DÚO€ -&‹ |0‘’tpr’ÀXÄC%Ü€(£.YP$2_€j&…H4ë¶<ú'‹AP¼3Q̪ XMŽ©”åÄAQ²ÆC#å` Á³“üƒ÷`# qŒGVFtRù ´‡©ÞENCOØÌh¦ ­G«a=+ñƒêxb.ž}À°xæ‹<# ëbLc»”X,ŒÄ ð^±»Y €m»€ ìsp½˜‡S`”Ũ¹3C‚Ÿʃ Ô’_ÀW´e{á‹ñl@¶3Ï ƒ‡† îžÜæ@  ‘­Ï‰™€kD%ãäåKš~¤é¯Õ§Š¦oèE“ÏÚ¢*…:¢Ÿž¼xW¶u5_wïŽvvÖ}çWM“/ÏEyIeÞþUÕWÍcÖç·ÃnfÙ˜Ý ¥‹ºZR~½Êë–®Êê¯E>¿ÌGä @NòYU6m͸ïËl‹eNM^ù<Ó‹{]çY'¨ÎÊ9|§r¶ýŸ²š]ýT­[Âhª¾ä5”ªó¦A/ª.è2/2È0ü>h•ÙâkS<>·¹!öc±\/²v˜©i³6§Z4¿2°ùnž—mqQÌne-„ÌÚª“0€ŸÕWÕš}Ί’š[Lc£OªóuÓ‚¤†28JÓ,gd¨Û‚þ•׬òkA«ºb§‚ùY—ó¢ZT—Pnñ˜]Á¢wËUU÷ö„-ñóQ4öÖٗ͵A £ýœÓqU-`^º(9]Tõ2“§·`tNý µ}<~ÿÛˆ ³)c V'︨>e«‹è눠“_®ïÚ44cúý?¿ÚMí`±W«U^΋ëG'u7ŒÞ¬ŠÇ¨;EÜ“tBÓ·E{Æ£^¾œL?}]å4ý]æ“éëªlá& öÅ='Ó“¼©Öõ,oºí¦{õ>ŸÙquM§üÂ%'tÀFh•ˆélI5D`û$¼*Ë Od»É±ÙuéÛ7®o|ß„¾‰}ÓƒN²oz)©—’z)©—’z)©—’z)©—’z)g“-µ;p“éÇõyÛ=ÿV”W“éqUÏóºSOMÿ=}7}}ÊÓÊ3&dÖÒiLBJÞÁ?§ ϼz+¤C¯Wôøn²W: lÍZ)a‘$`¯Ê>ŠAïÒ‘°Y#…œ „D¶á´Úè‡aÜß÷ö‹E‚ äF!p6ÃhÇ‘€ƒ°ðCm­ˆŽ³Ü(ùŒc1À° ‹MAN¿#_·`G Ø½;¬µIp€Äv/…5éQ—=!&DWcz$×Z/œQcŒ˜C¸,*(á; ZÄ6k´pÑŒc9„ÓÊ$–°¶lT*Â\~Ëld°»lZG!úQ‡ÔãXì°„$öEã€EƒIR;Åí}l;\[i‰PÏe¸÷"<¾~Á‡ÕBÚ®®¥­qZÄ8òí!ÖéüÑ-„žE2nËÖQP­Nþ¢­H1Œc9Äú‡t'BñÉRiÒ8’ýÇ|¤ˆ1Eaíäg£Œ»¬Û?ù™pdQ²»€˜8òݶËn$Òüù?ÎOCH~©\/g;z!} Æ 7ŠcÝ’>ÒÚêö™yñ­‰HÅíÇ+>îrÃ峰0<8> ŠÃ¹Iý]@nÞçÒ=ýPW³(¹NQ¼yKÓOùu{7K¾[({¯8Pú)ÅÁ7ø ë;Ýê¶‹Òo\m3òMñ;ŒlRdJù›‡îÔpxàá·½øxñf¼×¤ô`Ïç‹Ão>xÓ7“ðIšyíFÞ£]ÇçÕd|Èø8°oý>Ë$…-Óú¾& |±Ut‡ÂÈÿaE 2½È’ˆÄ‘Oˆ9‡mAv!ãK<±)ñQ¹E­Ã)Ë%S@îçœéû·o^ú»ÐV7>šï.¨ñ~* ×ݱ¬6Ï–óo-1º …{±éÉîï1Ïuÿðí_Nè×:[}.f ýwÝ®ÖíQ§Û|=Ëkþj ¼£a®Š_m+ÉÔmX˜_ªÉô÷lÉߌ5yG/f\æÍO'VþdúK9«æ|E§Â­N^×× endstream endobj 178 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 159 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./wiring2.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 179 0 R /BBox [0 0 504 504] /Resources << /ProcSet [ /PDF /Text ] /Font << /F7 180 0 R>> /ExtGState << >>/ColorSpace << /sRGB 181 0 R >>>> /Length 3662 /Filter /FlateDecode >> stream xœZM$I ½×¯È#\r#Âñy‹´HKµÄq™^;L¯sØ¿Ï{ÏŽªì¡=Lw»22Âa?ÛÏ®ÉÇwG>>ÿº}ïÿŽ\Ïšâgí,_ÿþÛñçã§Û7_ÿôûÇÇû-½ÛqýyÿøG|:Úñóí/=ÒñÃ-ßáßç[NgJÇn}žfÇÌçXÇÛmØ™Ç1ë™óñå6Æ9ó1û™+¤YÎÒŽ9Ε(õ³®c®Ó¤•ÎVüì…R=­+Ÿ»,¼±ŽUN›rÊg-—I¬goDz³øÓqöA±ê)´lIb–õŠ»ØÎV¹ÕÇ9úó ¼Î1©>„XòÙŤ‹6ÆyI¬T×)¾¸V™g©û9+¯žýé Î°@l5e˜zÎ"ŸÚÙkˆ³0ž_!ÄL;?u®úÜjÌsØó ¸¡µ§£Ó€%³çl_ž„Cm=¯?Jl寙~˜bIOà çbvˆÖŸNèWp—QlO‡rqzºbo,ìs'V`Jr|á6òcWíóKüH³0a¥:W<ÿRºßxÿBßÌt¼ïž÷¤×¯ÿ#¾¾þăèº~®ì¡RŠ@ P)¼æl \É2Q¨ð˜Äc„JÀ(¾’È*® öä.0Wâò¸î ƒàòXirå§[I°É8 `iúø^²™ÎI#•,äßÏ’;miÀi§¡JI´Ÿ1¼›äJ P.Ä”"µ A x*–²†ñõÖxÊ#IžD˜ÁIÏk&)ËÙ¥bÿ*9k¿:Îäï/—áÁ)YSZæÆÏóšÑdÔ§™d”úNíßò>²Wi2Œí0- Šò~Í=Vzb½¤ç]bÛ¥·Wö¤F¹'Ù·¦q°x~Ÿ-å½á:òe?ø±¥Ëy;`·>„óºè dåt¹“Öå¾ ¼~±G_±_Ø xkóbÏýÆÅÞëÕ³]üÕ{Ü'üI¹\üõi\ðÀýÊ/óO=’ÛÆô Ùñˆû¸ÿ¯Œ¬vÁ3ìåx ¼Ã¾JÒïãá¿å;>éŽp$šðÿÅŠã®=éC&ï¹cÊchÈFØÁ†0á˜Kƒ;zLqǪ3ygÈuÅzùxm‡lyøz¼h.Ë&IPî]QŸq]£Wa4”œ%ecȉ^I®aŽ €I(È0*€<^%·Äç•¿(gò8šÊÜU¡a5Ï;¹7^ÅlD~T—ÅÄ(…)¬”(%@%Ò¾(JrS=°¤"u¨Þeͨ¼Žº²Â¢¹ªR–¹P—æQpͦó€:>gøs%âÒ÷} Ø„ µœ` ¤Âp¥•°PxüÍ×\j¡”“öÃ}«ÎÉûÓvåL”ƒ‡rÕ}P›½æBÜN4²ªhA…u.#=ÑÑn? ¬©¤êÊÉ^y-ÏZ9)ýdp eT`9#É©£¢XyFNÛ—éc¥¤ÎTºP¶E%€3  —ØžW|#Q´¿ÊÖPHd ÀÞ:‰`Ç$€§`E51ºò†D£œ°1‰‚2IsàÍ”àœO¢ !“¸¯ìåÀ^Žž\BmXÓ‰ÈSjŠïLrW…ýE2+¹»,[B†z”Ý—KE˜±Q\. ƆԦ‘'e ¹d8ƆÓÂ%Ë16"š“2´‰¦Q6–*ÆFY‘=ôóŠFŽØ!D<ã™22|ŸvœŒ… Qñв)°4BŸBoPÎQAq0üÎX-™‘‘}X8ºö3•ϨPÙ¦ÔÆ–°iÁŠYpPºWx‘K&ö¨ðÊ ¥!WP!"ŠÕR'ÁS"Å+ºR=±ŸRT,øfóŠÙ$y{˜ŠC_ºi¶¨Bûp&ÊŠ •g{àâx‘)0y…U)SJÓû(=0e!ÖùCþÏÈ…ÊM…|ëkF„40 ôeú1ÅÈ> È­¤Úñ|꼇¡8 I†ìúÁ±h Vó2®Ã_úr3 iŠ Êù–Äã•YbE3–ô áL¯ÈZ¤š9DpšÌŽ"¶êÃÝ,±Hô:‰× ³FUDQ—w(Q®:B²-Nª€#þf¤ˆÊæEaÍ®¥PRžÄ5ølxö˜j‚ ÉÎ0ÜÆB–"ãas¶5ž0åM”­Ú#ÿ²ƒ0W‡ ûÃqž-MYj잯&"ŸŒBñ G²ËÙ©5îïËù+`‰Ë{KÔúCôºÕEºíe" ´Õðw{4y@ >Gž“avƹ}ßi‡[Õ8þ‡L™Nü©yóÌœ“¡Ê:‰Ê‚C/n«kÀI°S¬Êwíg¼Aml†ó¤¨æ¾À°UÛÁ ÔC „˜ƒ±‹µîÍ%C©éÜÎI-^ñÀ&?ÂbÛq0hXˆK\…W[!«" ¶èDH2=Æ–rÅ"M‹¥ÆýfÞ¸Âå›DÜ•"¢¸äC´!aâ=†¹Â 8\³§/r”,dM_lÑŠ{¡‚騑bfÞ€ ÀU”J õ{®àþÜ1s Â Üiœ»—VYVe– ü‘-z/ƒ/&kosYS¦'y2—M™¯W¯4Ö„4¡ÐŸ/eº™½ã4²2ÊËh6,Å I9Y’ˆëG÷’•d÷ IwbæžÎÕ¤ ’_:3¬·¨d¢ÐC,©è9 1žWsP‹@£Ò rªÆ“`gaÂ"›2èG–&Ö¦¦n8‹Ó}xgyÊä¶Ô†Êü¶\?NY\î4T™QY ©ŠMòuåT,—9µHÖAFr¶$«ZVZQ¢ØË1Ûð~5+áȧîWAçØ«¼*Ö¬ÊI·‰iU@}¢ZL \£©×Ó}jQPÒLpTÓ‹×TŠ®8ÁIµÅ«irAµü|à öª¹{¶­UóØár¥+@<|}§«E壌Q-••ûãØ¾BF©ø­ÎÚ)ûý.ò<¼×ò·”©“òQÞÝ™¦ æYPÔúøˆ+MÉ1ÍH>hÑ}fÕNŹb[ÓŒyé6³¦ Ó¹Œw^œ;z·ëÜ ˆÈ{Ú`”Çîž'3‰‘‡:Wèt­€ã\@㵚"IÂú• ¡ÖÑí V‹$Õ´»SD‘Ž(ï¸xE6/Ù"5šG4þÐúꈴ,ÆOà)3ó¥%x%ãJî¥õE}YeùL;cAF†T’6 ºÂŒò83Ô¢l±ÞÖ²ó!KÕ½dJ„àÏ]•©²/òŒ!‚B`» ÇsMÄyD‹ Aò'#Vˆ›Ñ4$Ï«ÉsyW†¢µ粺ìÁö±í‚‘Q—G¸6Z<‚4f©5*¡E(ûþP}+å9BfÄÕéþ”\ŸòÝÈRߢÂÔ4õ -ê$•¼¦ ;¹¡‡ËÅ(ñìä)vçn]U”m£*CW¢daê²g½Ê›Cù"[LjÉ_“øª|2”-È‚”4§h4Ù®,Â+£rˆQ"uâÀÌÚIq©…ätAci6“gtFKFæ¨Ï›V5d6æM«¼Â˜O>2îJÇi¶‘ǘ¾ñG+XØ8¬=€Æ~l,–ϧ»†HgÓ¿&Þ”§hò HŒyBuD¥î5ì…Ù¯Äô¿3jÙø„Ûƒ…ýÇpZ©‰ý…X‰º`œßƒ,±Ž#Ï–+Ó¢<7Ó¬šÚªq󡇟·êr,•ØÇ‡,÷]åÈ'ýìH“ÊQó¡KÒè­ È XnLÞ¸R1qbTH/" ¬Ž=$òäŒò[}HTé?²Š ù(¯½¡Ûs4Ö9äV4t-dŽ­zÞt¸ÓÞd!*¿wBžcŠ$~óF±{#$ûRœG‰lë"žÞĹWŒ¡9H’ŠÇŽÞÌþÐG¨ %%Q×ûŠEuå Í|„NƒÃNüÊŽqÖÒ(oÀŒµbÄÞl±`äÝ=°k&Ù5Õ±øÚSeµ}?ÍúnÃéDžk^K(‚q27¥Ç Nœ˜P;}Î å9‰OÇ—¬,SŒ9o>Ýħ£©TOº=Íú_#¶iÄÅÕÝJ5à&fú$½˜=;‹À"Þ$ Ì­*:Ê®K´¢nÚPH ,’lÕH4áA#’ä±iø׫%cö–av/¦ýÍeÓ—¢Eá“§ù¤20i:Ê,#ØÈOä„i»GY1eN*âÄi½{ÚŸ[fYXAÔLŒŠÏÛˆývÙpb·ø¢Ê‚Ê¿îKz_9÷“b ;pàŠz“Ü)·ha‡*:cÑ®{}BÆ–ÆøÙË…bqx¬YÄ2©j›û¹PÆ¡–çÊ¡RC.eåFž˜a1$ëëO~ùE»¦ãú“ß-‡)Æ÷÷Ç[^š4U ú–z²vùûëºF”k÷kPçúœÖI¸û;lKìçs]½È®ƒ¿sÕïõö+cìâ¼=?ðÝõ°¿kY} ¯ºhSaPLœ;´[, I†ê×Oö¯÷úKZŸÄ¦±ì !iu,‹çñëý‡{oÞ…£èUŸßa>?á·|݉²C¡ÈþÿBâyyyáòOö÷9þîûow¸zҽŻ]=ßÞÛ%ígÇóÐ+Þ}§7ïÂÿ¬ñáåú ò5\ZÑ7ßâÝãåï‡ÆéñC"ªõÒ0-õãåíøÍ·ÿüGùíñòùö»mýÿÞeqBM`>zùþóí×¾ÌlóÕ¦ ¼Þþñ5ÿÚ·õ ”é{Md>¾ýñ˧ÇÛßßþ¢OÄ endstream endobj 183 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 186 0 obj << /Length 2407 /Filter /FlateDecode >> stream xÚåYKsãÆ¾ï¯`¹|+$Œ÷ÕuUv½ÊÓ.——)â ”‘„ Z+©ü÷L¿f ¸’RÊ) ÀLOwOO÷×=Íw«7_]³Ò/³(›­¶³2˜åQìY:[mfóV·óЫç˸ȽOyïàßÁüÝÀ`áµ[š<š!EÛÁëºÂ¦àûdþÖð,Ì”cJ‹ñû¾‚ŽîX^; õøn@|Mò´'ʸ3¯Žð̈?kv=_F™×Yl»§aÙÇ0¼9±Ê,$ôçË,ȼŸæEbÆþ¾úÓ,˜-ÃÐ/S¶Óº‘yàõ5/Ëy[¨ƒ™Ð¹¨ð>²- l+Ø[_õNÌ|Çû3Uç–hŸô"qÁl«ª£ØÉhž¦…÷fölÚ]Õ9ZØÎWWi®¼ ÊK? K³IÜðÿÖòAnæ$žßòû=?jþÀëþîIœö¹0Hü$(DÚl®ì¥v݃™!‰ý2ʇ§@&4ŠÔ«èqf«ö5¸áw¾áÜhX :ÖõÞkc½á•ö›ûQ*ÂdŸà' oŒ—ætaùøü„ ñB un\£h”‹BÕ˜ïæDñh„šfaç»!ïq3´‚Ãí¡Ÿ•ÅÐþ M­<»cömȘC3vF⟈pŸðÀÂÏ‹x| kôW2rÏçi‘…¿¿gZxÿÄô¢ÇÏAÐ#œ>–$·N6h@ÈCív…¾Ñ`ÏÂ;íXXé~Çžjf·¬ÕAÔj Ý,â›y¯èqƒ–àÕ w# ä¿Ìû„¢OtO«€C×)ÖíÏ*Îü(‹†g¥ñ¨Ì<Á›û*lÆÈÑI*“IH»ä9¡_[@`ßf‡;"D`-?Ö½M½í™©Jž»#hg dÓy¸ÏÛpdó]cXW¨^Bù¦½Ö× û?-0Æ}¼÷§ðþ=I@”Ñ&>Gf€ëÇâx`gó‰º Hm&Œ#rr >uÖÅqI5aùIdëvrpvÜ ?õŽzåª üÓ·LSóºÃgƒèµÚúÖf*š_86ìæå‰*zÆÒÙü½ÚíÂÁï/ËZéÙ²^õóŽà HŽφ8z?cõ»¸TÁKî®IСô’JŽãÊ;œ¬èAib­ÝÕŒe0>8¥‹lËÑ<×(Ona8$Xïgèè"UseÝ¡üïìÁãÐ$>á D/ˆp™Á ^±ùo£IÔÈ•„HtwßÐÈ´¸8ãëVÚò•PÄ @daºKé»:lhÅ{8€ëª£<[)#5ä³é„¤¸š)ܾE‰f.Eûô8!®âÆ€+ö§Lõœ¼ P8‘Ñ^†OGãyMœLE†O5#¸G)NRàrKC =n¬Õ:'¢p®æxþAɰ°y Ûglq뻈¸ö#ëÌî%CR؆4ôž_ãй’+‰?•RíYÎXö‚¡2M3ÊFC峋ʿu@ºu˜7TÖâ̟ܿ@â¿Íß7Sš0Ç´¡6/22ðó„,8ͺÅg‚ƒç(0´Ð+îR¹Ä8fFá¦sMbî_±½AØÆSZšç‰{CÔÆÁ|ANK]•– Ugo¶g0pÄU§Ü ¶yàò T2±¯Y²0k袃x-Ѓiå 0 òL^*öû¯çË2 0b¨ÿ3‚ž%[càûã—X“B~%Êó÷¥Z쉦MéÇa$çp!/–‘JPdlNU0UÑ£ç2Þ1‹–áÀÀH360 Zà d6‰ÿ8¿Íõ%Ýú+¬Ã êÖð–ÞgÅÎ@åþѶyU§@²)”ñ÷ƒ,É-™P® ÕfãÖýxzÑM.‡Vúµ!u¹ØQ™ëüǵã+ûÆZß ùûQ5¬ëÏ”Þaš‡%*rb—„½eô¸z>Ç—^´¤ÅT^HiUƒ8ý…ŸÊ*o™›¯x²€v':'ôwS"UôP¥ù¦{4Œ‡A@/Gw‚øÝ#ÇŒÈýÞ±{€‡‡Uºmôñ5?1€2ãµk¾­OÊËætOFáâUñêÁÍHýdÏüuLRÈLýâC-CÓÓñ-ã""„9Òo3÷0.—6 ˇyÊýîSíÀw_€Pwå ø‹".Z[èÕ/žÒé‘_öl¢µu”¥{úµO~ °÷PЫzÛ•Ý»ÖõY!»ugžÏü¼;enôÄæÆvSvœ_Æþú²KÒÓœqÚyª¥ó´Ó_˜^<¯¡s§$éKÈOwkþOše¯Ò{¶)/_©ÿÛYPÀ«_Ä©2xÆeüp¯*«oiíh|ýÀW®+wâçC¿£¡{^”;Š SDn§2|ë®eûålÅt&æÝy™;ÊÙ2ý¢`3•@÷æÃêÍ‹h'K endstream endobj 190 0 obj << /Length 1767 /Filter /FlateDecode >> stream xÚåZKsãD¾ï¯ð ;¬µšÑ{‹Pµ†¤  LqŠ­Ä®ÄVä„-ŠÿN¿FÉRâppíA‘4ÓÓÓóu÷×-WfóWo΃h”8I¨ÃÑür”¸£H)G©Ñ|9úm<Ÿ¨qW ×®®5\•ÜsŸÚ_ÂãNÄ{"¼ôíäù·#w4Õž“Èï`üFä3Ùn+[w4GÛT/iQ-–“Vz½;¶Íž_ÁãGQòµ} @* >G[ˆÖòí ÁM~wn]m0¬àö7\8ÏÿÀõ%/–E™¢6Í ×è°±=p‚Ç‹!Pyò `¾îŒÉØ-\®¨GfÖv‚²áZW÷}èz¾óŽÆwg‚êùÿ|h" ë—wÇè»ãdµ³CXíìP'ÚaÑÃnŸ`¢tÃúQ¬ßý¬Mr,E‰ íñ•8Ç~=(ûÞrN'¡Ju€Ìs®'ÅHЉ7|ap»ì4øàé>Àb‡}rÀø³À=®´kHoò5/Ðm¼p;yfU;ù?“îø‰¹›½o‡ø£-x`œÌþ¯ÿè06¥g°ø5BbûPn ÁrNõ¼»ÌBþªl½yÓ/üDÿ¾DSs€ÿ‡šõÀ¼zâüÉÀü'Ú Ïi†gÅË!±Ñ“ëÏ®woÎcë·³¶#~ 8Ô¡M8!xå +öÁÆ©ç„â*Ãg0q”ÚàÃÅdªÃqVð\~ÉòW&Ù—/U¸Ñ&ãwôeVÈ`Vòàš=…*K³à†®ZG.Ë7ýs¨5CÄó-îR‹ŠUW¼XBöVïñd9Š_󔉨t3í£ÌäõÕn>g2Üpü>G…÷¨:»£¿ùêû°£˜àk—-F[wœS_%ãE¾ÉYàL^Ê9­yDá’¼@Ä®ðÏÀ¡1Ší½ã)cã¯h¯h%ŸX; …iÕ~—éË:ÙêL°{R…BÃOZ ûCVÁTyBŒª‡µÍmˆ§ˆ«¶­ TDZæ}Ÿ·W©kö§Ð³„­ïº홉eÄÏGüÈt˜^Kú*¦Ãû°}L cwj¥x“ŠH&ῺÅUu=¬‹!VÜVìl¥loû‘“ÄunöãAi'òë8N˺”¯¥@_—¼pQ3›8a+…¯d3 ¹XÙw:IäÅ´™òj–ç„*6I9AAmIu£†Šy|êÅ¡ãâ–Ç:0zPOg9›}#Mƒ½ØÂ‘$vwü ²ŽÖu1ƒéM)åIû5™næâF¸E:³j)gŽYõ«lÛ c}±QËîq7MŽa·¦²€8\kSj~ èR/Hú ñ^ ™ LHZ ìUU [% ×° é†+ eé>k:¾Lü½•¸Ô4¤?J÷÷¡‡§]ˆ¶:CŒÃ®pÅ®±Gºµ{ÃF LýÏQO–ÍÂUfNUȲݟB5¤Gµ‘[“€96d±/fõ”¡È š*4“2w}¨ÑØ;µï:^7eÀ43eí5ØU;سbñ‚T’d|ŽÍ…±iùC^ݯ[Ê œ0ôú+$oðH‘ÖR(R%Öõ$b˜MR’=ðG~Yp ïL‡È¿x3î»ZÉð†ÜAg©x1äûÆs¡ÈëvjP·¡÷òàÛ%?@‡w+WQŽ×`zÚj˜GbþA;ïǼIûC¦ùj2ì<7ÊäýgKn-ÏeóÙÒÿ ¡ÜØñ#ƒò"¥‚1Ò¥!òˆkkj¤a-kR7Þÿ@¡VéGÝ5§},„_höšz#bhªà×SrMeêKÔ4 ðœs>aýœ㟿°0Õ%Jjƒ³åIJéQÞJüv¼¡AZE,-Ÿke/Èõgâ´ïôÙ®[È¡à…õ©z#s¯û>f>ŸLUÉÃN6Úì´õÛEOAèÕö½hHE‹aÜÌ:ÞVŽþ´]n-;m.¿èü¸`ÿ¿Çiý»Ìcöçu?É»|'÷; ëS±Ó±¿è÷»i7t½J8Qàó^Š>^Í_ý ‚Á$ endstream endobj 194 0 obj << /Length 1766 /Filter /FlateDecode >> stream xÚÕYKoÛF¾çWA”k1\¾e4ìÄAZ´F‘¨§$Z[°E "m')úß;¯å®Hʶ¹€´†ÃÙÙÙofvgÖ'£¯Þ¥½¡;Œý¸7šõ†^/ñ׋£ÞhÒûä”ËþÀ鸯œ9<Ÿ=Ná·ìÂ(u* /³ _ùÙ¸ï'Î%3.¦9°¦+ä£ätÂ|¤ç d°–G®æÄ¨UÏ y위X<þ4Cf±`½óH²B;îú~ê«+þ|w©­‘y‹ÜÐd$¾OŠÅ5ü|ã1dÚ ÿeô{Ïë ”r‡‘ ƒB‹YY¨WŒ/‘YAèd«Ê~ÆHg¨ãú‹\áá)ðÄ!¯Ð|­zBßpQ93>{‘‡šheÅöûŒn½‚Ðñ@N1Y¬äÅnI9¡ñþ,H‚¿´ÖÓ=û]®hå¸ýAê †)švÁ&ñ´àn8§ADxžþ ÀŒ¡Dz%^¯nÐL þ8'ä€ôÑ:;¡Ï¹Æ4à$6%ç-(¬2°ôÕ»(±2Á÷S7òÁ|1› ¨íšLM#^,Y£Zqâ¦V¢ÐeØžràc7H# ”«Â„%í"?pJË“*ÊùIœ·ƒukë b7 ˜Úw‡aÌSÙCxн_Ø ÍòÛ¬ Í Û¬¨ÍŠÛ¬¤ÍJÛ¬a›…¦zÄÆàèUÙ!ø†’¢ž·Žjèœ}ܨ(QOIûÞ0º#7>ËÀæ8ÙÛdÞ®ÆœŠ“ßA* «toŒí²ÓÿÙe8—Z3*nuü4F*j¤–â¶dÝmÛL°ß ~#;ñX óÖìŒÂþ »¤]ãÉcJ/â~£þ–]Ñz_ogOä»eâ‰Ä˜Ú=í·7hýPõäÀ’³òýTW ‡`›¤)¤çCs-§ã"žŠ+TÒAŠÕI‘O¤ ‰Šk²À ¸Ú•¢¾t–2ÙZÁ!:²åRв¹WÈÕu ºEº¬Oy:⡬ ¡¢9æ·ý(†2æÆˆ3þUüƒ–SZT¼(6 ïòåÃuàœ C,ãËë ¢ —®Ú `’ðëñÏ„J«¢2%=rEÁU«Ì…»¸õd9¢…9•t0êìÕq=¿ p¨Ër™E{ Û|—Ù\Ò¤„ïZ™d;­§;´2+¥Ä4¾´jP%‰’¹)e¥-pkå„lÊÊGQí‚L9Tº^Ôq=^+㲕¬Ew#gºZ†çNäQæŠúªè©foe“ò×B='6W78ÑØÂgà§âþ²à—ç^JêP6”üÁÊ|¥°²Z 2[Û<תgò›:?i‘7:‰QÀr¢Ý¬9‘)ž¹w(VF{·˜Ö½ . ‰;3d…d ‹\Ó´Ic†L„ürNþà^I”üF¥[QÓÜKpQçÌ›poªj1¶t¥!<¤sKÔ±&ÅjÊsUÜ]Ö‹Õ–Pž5ÅvÌ“EVY ÊWΗ¹´f´­-3sÀ©ÁÙ¬Çdç×Ö–\nrì\„òZüût=åäu¢çÈDI© 3BÅ:š0¯³ûھâa¿P>MÿÖDÿIúÄæ*pkÁåz6[Qû ž55Û#2Kú»Œé,•÷Ö)Ü&y¶…µE^ÊŠ1l^ÃóR¶J-“YÛíË{§ŽiÎxK8äà× Šô8“Œ¸g?¤ï:#‘ÖwZ)«¢;-äŸ#ë›d˜¾«ãm‹ë4‚ô¢™&סïBß¹ÇûŽÐH[a¶ÊÓJßÃuå””»á$¯½ÖŒž=‡/'ÔCA‹!õ§F¥åÔ ±\ÌáíH«Ÿ¡$† y0pÏ- +‰ƒ¹Ð/Ô¾½Ûyæ]Æé4Ú°ƒ_·ƒµQõÿ¥KkFí™ëº3VŒy†Rˆ˜Éõ†Í0¡Ïw°—Ì’f É Ë±S{Çö¡ôSlöoòýÖ²áÖ\ow«‘¤¹¯-{Ëcå6 Ië._·)MÖ±9òä&AK4úx›-]4²6ô°ÍiNÖ LF²½çÎ[Dºfg¹•ÚÍ;ê€ýX ®¬˜ÍqÊn iª}ZT‹q0uø¸ÓÛ-\þÚì‹3³™5µÉ}ý?rSŠô¿ðHÞÉ ÌÊŠü#–ðÉû¼°ý ÑyÔu¥gåÌã°> stream xÚåYKoÛF¾çW=I‚ÍðMªh ØiÒ¦rHÜS´H[ª%Ñ)»FÑÿÞy’Kj%[‰[$È"¹;Üç73«Ó³'O_FÉ`âLb?œ] &î ñÇ£ÁY>x?|>ò†wpMáz1:Žü`øŒo?ÀÈ\ÜÈ…Û[¸Îá:"BoèÃõ’§=¸ý ’yrÇë¸~äÅd‘®µ\¥Ü¿g W×úxöëÀ{ž3‰eÒ$üé~f]ƒéÏb4:ñ˜×˜ZÀU+¬àÊdl× ÍÑJµdBV ‰’–4N¤(çFȦ[$øiCÆìÒë¥ð±j÷4µtBBÝ£ó“OqŒ£ž=NŒ±\Æ|1Žÿ&ëàø/†'í°™ÚÍë½ã},WÿÝ5ÞÍñqoÌÝ1ÿù>òõ8ɵ˜'Ùå -ÁÙæ®SÌÄj8„gq„‡^†Pÿ‰2>!BLEìSÈxÇû—«ŒèØé¶l¡î>P!ßR˜Û|mg>è>а§öýÆò­ n{õËDÔ­ƒ ÖûäAcÂéxGŽíÏ»Øû_ašÄâ c‹v)Â{,E|eè±+#Y=ÜN| jÐòåxGEéíyÛ]ÃéCº†Óûl{``zU¼=}™q?ê@!A oG~Š¢ãóeAz “…r÷‡%/îøÅs™¸RRÔr!«ÍÙ H‡ Ìæ¬yœB dUAò)wÆzÇùµ6¥Ý*5ý†ŒYºˆŽX¬‘kb½\_ñ~ÆVKœ€áw&#åZwJò‘r‰8º]a‹™•Å e ZñOY¸‡ õoÔé6SÑh_"ܽqÏ•Ól Ö SÞøìú1…5‘!Ÿå%>N³ÎEê¨ ?Ç-.+PmN€¡cø˜¬ƒó›µ DÖnËëQ2i¨qn ^š«YŸH•‰òð™d-i±óE1S® y¸`:úøº,A~"ÀàX£ÊÿDÎ8øüd(³·øœáÏ]»?¬i1Žð΀R®% wM:Þ•¦ =ÉHÆÄÕoØLŒH€|ã=ãI|¹‘Õ³šü# M†+rñÀ„<œ:tÑÃù{F©æQF—HOöLJ/WdkEËKMqÍlãK¦Ž#7£H,Òz ç2ðÁõ2¥ZÑ¢¹5G,[>áð¦È¬ØŸÏñË;~ήUËw¦§©ãã÷Äy-žM®fø™™#“Ø1×ÿC¾C÷À¹eA8AKõv£5 &»‹ir£%½†%ÙHù›±Õ­áòƒd X9¾ÂäÄIã€U…˜í#PŸŸ“â(WkÈWµ*L‘<¤!“£@úŠ”kÅd×€âÍÎF‹%û|¥ Í%¶ñƒÂZÑàš’A/ðçE'ˆè~Z²Ñù2‚®¢WÃû•«œ7ª…Áœé% ,çmmÂ_ ¡®¦âŸ!£‰•kI(»CŸ`±‰XÈ’Ø«an¾â;&”r‰.‘‡U¥LhØË™"æ¼)Ap—> ª*ÉlÀ´?nªû2Já#ûå†sÚà\<º`rƒ›KBI 3ÎËü=±T›J³C˜‹Yc;­+AÐ9<#'J'°}z*UF)ü½Ñ”¹íÏÁĉÜ@?”«P¥ãOáév‘Mer1W•ÞáT<¼éÁrü¤_£h6Ã9tqüd! F#q%OË¢ïùNÒ°øf[†‰ãBµ*óÇ–'ð%x½½là¡ì +dù=ÜJ)ˆp ZoA5VuPþ¾}· ú¶U²”DÛ‡¢V]ØÓ"íz#ŠcèÁ'ròՇ鴥ÔS4_îܽ޻¿ãÝ3îrŠÓ@”ìF€Ãê*¿I¿¬òòm¨GËšø F}7RuÍåuÉå5›g3D×ÖäÅ9O©3-È›£áù¦]€œ˜êo%Z†[{*Û.nçè» ûÚÒìRÍ7cIrå…‰6'÷“f…²„´‚HÔ…\‘~zïÎxˆ%bK<ÄfiÀâ'פ™¬á¼X[LìE±U›šªó^f.I 4Ñ–™¡LKâ¦6g¢ú$éœg(çm©uÂØ(š—dÁ«âA_O&‚­li´r™R`«-™Æ1À•꥚¢ç¶±…ÛòÉB/†Æ7ꂘaMÂQ5ÿ—v5kPþYuOÖÚÜr¸IõfS ßw®üó,ké¶ îÓžj ­DžO¥“9 ‘¯ìF—L”Ü]È&K!£3±l©§bE%câ9Ašô”½î`Ú¤I–arëå™qüÉ õÒ¬ ã=¸÷%¥ßžzÃûØ?ùNþž˜ sz¼ò»ü ¼Z{‘è»2à|ÇЂ‡®@™ç#á“gOþ6ÌH endstream endobj 210 0 obj << /Length 2765 /Filter /FlateDecode >> stream xÚÕÙ®ã¶õ}¾â"@­íƒ¶À$h‚´À<´}è$xmyÉØ–+És{çë{V’²eÏ™¢éƒm.‡äÙx6úëÇW_~[?˜…)Óòáqý`â‡*ÍqY<<®ÞF«Y5~uðuØÁ×{ýlžÅI„3Û†ÛÇYZEg„ÂÆÓlž–¼Š`Ó¨]3íq‚/„xlÓø]SX›ÖÑ Ï¬p‹;>ëá†z?+ÊÈîÏ:khwíá·~i÷Ÿ95Ô£}þÑÌØr…çô8€Gcçé,Øi öÚÉðµ˜ýøøç‡øaž$ Sß^/—‹;¬B¼Ó˜6j}s‹û"þ‰!nOR>ÉÑIô;\š“¡ß¼NÁ-ô;Å–P…éµlr\3,˜%¾î÷Ø©£-±ú=  ái˨öx 1qÏã7ÄMs$jøUÊO*js¢FR&8Glžäx6þ¬QBÏØ.Rq‡](ÅÕxÀÒÏôØÒÑ$#ÅÒîQ]_˜ºê?]}Û“Œˆ¿óÔ˜E‘§c62É²Ì ¤ê™X5øõVmà@x B¾9ò¬€w˜à%pp— ÀìqÅ÷J¸à#7ÈÁ5vÁ ,C–ƒÞ€%7IÂýq6/ÒŒ­7ßFìþ-"772£iþ_¥Ï×m ï |þ"¿ª¹Ï2{¼ƒÏqËÒ? Ý„O̶ O~'ÙÚ«.Ê–ì'€ _<‚ƒS †ù‚M®KÙÂ\Yv²À*ªTlžaé ÈégWÛ½ÃñZ#kLÍHwRsÏdáô뜊)½Þ3p˜€Ð =9£DJƒk<äd1¢¾õl0ÞñY¯ûvÊ‘EøÉ.ƒ+Ç—@uc·Ô½`ômÊnržçØCõq¬Èä–i?P÷˜‰®†üeÐ åq¤sÔZ³f¼0ËJ¬…#×̺ "ðPÞ·ƒÊä5Sÿ=™”½¶ÉØ+ö‚¶ÉÕ õ½:ð½pÛxêLÕû‡8)ÎŒƒÜoÛŽ—ujæ·~̺í’æõúõY»EœRe6l~¶,x~ž‘¡ódžÌË´ˆ5¼vøuhg>®½À…}, Z‹¯Õp«mßܼXÄu¢.ÁYP z6M >Ý&¤Í<Æ&;+D?Vü?Š>–UjÇÎDx’Û.À„ötÜ‘D_Mæ¹2OIýk6Ïwÿ·³yRVeuaµïA: '–Ç˃Ǿ»CZ§†ÿi¤'¼f%s÷1¹¯q|BL:žD|Š»n$ŸØ §n¨ŽyF¦7ÏÌ KFrÿ°ù¼ORãÇuadÝV‘%…o:ºuánÂd¡¦4ÕcÒó1ÿ¬9‡á݉gg –a¤*~3F@.Ä„.r> ',ëkØÇ€Ú¶PgÒ±ïÔy1“"°O¼žð1@ y•ƒÙÂjˆ‹z…±}ƒ1& B¹Î^Î)Ó.6ë%Ð_ 8`‘;¼wºX a&9‰$g9åï”ÊfløŽèîꛫy¶ù÷Œ£ù½r™bq¦iU]kù§lk%^鎋+$þ™fš?â2H"œ–öÎ[ƒ±M/\N aßÐÅ ýò!@(¯ã€ ŸpO¸!S-rS«²ªª`] Jˆ¹#0$DæeÍ´ÒÞ”…u àªÿ:á:‚¨…(+¶|-εúè¼,£þE˸סgp¬QÔ|ÕyE÷ †—–ó7\CLàê%CBÝÇ•X ²í¹átÚ'²'_¤žãíÀö(̫˫ZÎS‹[e(^ZIè:+©éî Õ"iÜáôKJ.d´Th:jÂA:ƒ8hb¶Fë©‹–rPÚŽÅA)Ó‹]µŠPâMQåÖ éM¨Ác§#&à*Çå'®½VnEi×××êWâù-1²nÆïS“û´¤úS×^ЫJoÍ›FëͬHA¼¤{ 4bìôÊ:…Ý Ñæ“¯,\ÅÕ5”èqiȳIÀpY®Ac$2WŒ8@SߺX3‚³øò|Ö€€CaB—ãëáÃB¾¸Dã'ÜÛ, na†µ°Ö%CT, Ív`ЉJvj¸­ä«¤\1 æváeÀS¹æYPr G.ÃìÖJѦo“¢1 íulWdè¬\–kKæÔßp{ ¼²ª¼¼.a‚)®¬AÃWÖ såW<~ÖŠ¬SU£¥b£Ž`»½7לŒöŽ=É[~÷:óÊ’zQ˜4,ÀÝK&¾ ’ 뼑(µ#Æ%Ó!ò\×X‰®QLÌ"+ªOÅPÓ™>[}.Ì“¬XT™K5'“¸¤À,®þH‡ÉÔ¯9“«R“|Z&GŸ3“û\:xã_’ñ]n:!ÝôÿYºåÿPº¿ôþþ÷¤~7ÏÇÚ_Z¤a“ËèC‹ìf퇖©‰áÄÑÏiàIK_¹N‘^dAÞàAœaxÿó—Ó @T³ÅQŽ}”<&ŒÇha;UÚËL¹¨}Z4 IÄîA–ŒDˆÑMŠuÛ0^À¡ ;¾vºrÅìž'lÏЖ»'­Jr¨I‘6Mc‰<¬ôéFüCE‡³¯3ãšÁ†‚ NËÅgö൤4òÁ#Œkê—üËóEiÜ Y `ÿt§xµ×ÐA,Á5›o;c9`ÄíQVä ë‡|’˜ÊUZ¹{®¡Œ–[µ:ñŠ1]@GW9‡™Üœ¬=ÀLv3ÂU½xŒZ‘àà¿ã#ônÁÈcEl(æ~«ºùêõZA|r¤qŒ8œO}º¹«v…ù½’IN!æäÓ¸{Ê9°”Jƒ{à ‹V&¨Ü›Û‘dnn–¯±¬dòèï³Zž9†s¬ ¤ú %&¥!«Œs–»®¥(R1‚¸‘ƒÀ"¯%Øs •d–?©uÀ©¿~;¿äN‰¯(òè QO‰ª¼#‹êœÞÈ+Ÿî<ÙÚ„£é[3 þíÕ”QA$£´·Ôzœ{%Ã=‡K4Ùµ×q•µ ÿöhYHõÀUpaþÖ¿6jù7»§!¤+Z ™¯åt²öpò†Gwž_ ºmRp®¬îZI‰/`™ß|·%9$ò2ìrJX …jïõÁ°,+©f³Ù²aÿ\@þòÃò'By\ôÏžeΦԺäÓ9,T¢¬¢¥ùð”L(vΩe{öön"~txüé*à g<þ’”ÅѰe Žõïiþáb©Šr!•±±„ªžzÖƒFlÈ’ Ì¦%Ä+¨¡áý\(Êÿèè+R`½IOºQ/{0l?zJ¾´ÂÛm Ò¸\‰ÆÉ¢„±0ÉpòÕŸ_ýÍÚk° endstream endobj 218 0 obj << /Length 2853 /Filter /FlateDecode >> stream xÚÍZYã¸~Ÿ_a$ÀB´µE]A²@fw';™@ÒA6ƒ@m«ÝFÛRG²»§w±ÿ=uñE»³¹Û"Y$‹Å:¾*ùíÍ›ÏßU‹:® U,nîu²(U'E¾¸Y/¾6mw•FíõÕ2ËŠèž|ΣuµTeÔB×È£]/C«+¸‡¦Û´ÜÍFºî}¾ý-©{ãñÜ^ÚðœÄT‘Ö´Ê Ç<Ê&”•GéÛÉ9ÇÙí2ÃØÊÁ êôZ¯Ï&%Ó¾–>^ÖâyKËû7ÜȪ/nÿw0f‚|Œ0ñÑÖ û_YMÙÕäX´ÚgÐúìÌ­è2Íÿ‹çùâ?|ž‹úžEiôÝ‹+¯û Ï!Ñ£óEÔÜ_tQx1ñê »S›Ÿ_Áç·ðù|¾þ'Ìù‡Kƒ¯ìw#Rÿ󹽦®ïöåÕyWþMkv¼fÚÜ÷ûªˆ³º€9D;·ÄÙꪎó$ó'`˜Ñ)Å)­è(:8ö ;“h0á1Ðï†'JÀ£gË€85ìCfšÁµ h˜y¡¥9PÌGåÜN¢ 7·Æ¯#$Òâæ!±TE¬R{Ì©fÎe¢cU…dâ­7®íÑJvòϧšBLK7žçá:‰-âÉ;-ƒ¡¬ŠÞUEÄ{ë½mZ €P4*™Hqøçh@#ôN8uÄsc›ö ›“C†¼p»ïväʨ±Bݸ§»ØÈ —™tfÁ¢ÙkäÙ(÷jráy=%mÔŠg,Ûè V2¹0à$jŒ}C uE Td$[ ^Œ€„ûžïeD¶¦ÎÑgdàcá¼r ¤p¹\€ã’äƒì¶µÆ{¹ É€¶¬£±ß·ÞÅïÛQúŸù0O溫©N%_ó¦Ó„”ÃÐï¹ÑXa<áBfRÏ¿tÔÆªž&ÈêÔ%+¸ÐN"NÏlçÈ„ãÜq¾ds´­Ç)Eº}HJ'œ1ÿ¥há#p@è5æ´œS•Úž‡¿Q•ª,º!ðX“3„R–ü ßröE³V$‰G²5ëR‘ÉÉ-)4t¼À†Ž~|t;’ÉÙ<j$\ÄäjËÉHË>Þ¸þÖe Á~žÛLµŠŽù‘ Н*#ÉœfÁAúd—ÀudÖÅÛ¤›aÊ5Å¥µž93û,H1c+,®uÅyOøü3F$ û ± §`ÜõhõÖiÒ)Í#WZV±ªKŒ¦\¯\l+Pà ˵@&Ô©ßÃçƒü7ñl3©”ÒVA,¡Lcbš%qž6é—™½gäžüFG<‘lú!ÜÏzÄÑ2©â*)§z8‰Œ’óëDŸ Ž#r4G}Ý&€NN´¶~Ý;=§‡/]+’ßYœ0ÑøYÔ7†G™Çʬ) !:ц¸÷Ynùyß|2~MéHÄÿ¸Çï[«ñG‰'qz*qãXz2ªÅ‰mIMR“ÖLukЀ1WkaÀ×X'ûôSU*¡5ÂÉÎCÖ¸ý{Oß}ý÷kã\¶U—Úgj'.‡vh\œ\_ûžJŠ:[Jy¦ÆÖ¹$qet„­‰uq H³TyC¶+¿œÔj:k©§ùÿÀàÔ_Jf™˜T#”eÁ5/¤Î^¥|Ö¬½¹¾w¯”œp·ŸHßë-¦½ÌÙ¿¯pS‰™OØ›&Ó+_™šƒ„Y YVÃ?ß•úÃæµÃE÷L—&ü+¨PÕ¥ Õ¥vâ,áù‚…Ñ{Bû&¼bOæ­ïëlF\?F‚@ Ì§?#«9Ìn–C—¶"Ðì¤zòC¥` .IÕ—©ï¿æJŸó4VJÿÛ,Öµåc®ª®ƒ‘I†ü5¶¹vÎù"÷Ür\!·E>çÙ¾' aâÖä¢âáyõ _>PpI+—i5½+»)¨„)c츯éÿbé.¶Ü&HÇ2€ç’¸Œ}’ q—Õ‰ž5»Š›kÓöæKDšj)¥/$\<»J "ÉšX5¼i)ÁÝ÷VpO#ìÔš‘,yΩ·ÄT¹$3ö=%Ö¸;e;¸L8iSˆ´¶Dd<æ{_¦^¹üÉÓq\ö×'6´µ¢WV‰Ë+‚ÀVÅiaU|^–›c£ ‹líK¥Ë8­Ó©Ñß|§5Ê‘Þñ\ ]ʈ›$ÎÊL"´8 óÎÍ™Èjð6•ð‚3A žÑ׿¥­M¨œz»—[!ÙÞ½0¸ã„“pуW±ÃÕ$Z-‰z…œ8¬›O–ðbÌ8† ÿ„­‹ˆ=ËÂ`qp§"¾lDXJrÇ♿èU¼žj«¾X`ϲ`-y K©v™ÔIsÕ®éÆéVü’<ó„€£îU¾öcœæw¶§â=ÿU áQÁ%ŸlÖ™VQ¯MȈ:[4·fvßá÷q²ûÙßT­å×>Ï€9Þ&wkÔ3öq…YéìØ­y0uÔÎ Rx ÝndB0'ÜמºîUoC¿ËôûÓ¿s %) !q;ý›B  ù}ƇSÛ»’òÂziÔ=K WðK_µ¼ÖQz —ºÿ‹X‚RÞˆÒ¨{/#»5»ãÚd~12% ^¿8t)Î8™"oG Š^­svP1ÀÝtý`4½²ŽG÷N«RÔ…LѬ™¢u‘^„¥HlÅûh5:I\%¼œ»Eî6ÞŸ¿ÄáÞ_ ÿZ Uò–h¿·Õµ¦s,·’z✊{µ;÷f÷þköj¾«Æ†óÀbÒ8K¦E¿þи¬låà´_ä×ãs/e寱†[Éÿ0ý—ÇÉ_m¶â$æHûGñ'ÆÀÊÇ—ÞðW¶B×KžÀzó÷%JŸM6Ü5¡Š:=(s‚“Ü{+¯ˆOú'’¨JŠ8§²XW•€zpž0öæë›7ÿLÁ9& endstream endobj 225 0 obj << /Length 1838 /Filter /FlateDecode >> stream xÚµXKsÛ6¾çWhr¢f"IQÌ´‰§ÒN£žÚhI–5–I…¤â¸¿¾û>äÈ÷@ öù-¸X¾xýažN²0››ùdy=ÉÔ$5Q¨æÉd¹žüü4%& n§:(à+á[Á‡ý |kø~ƒï_ä?@sÆÍkhîàû ßϲ¢ÿ¾¿U¢dCÚˇýùßËÜ+ÞQ·MÅèé?Ë__Xx:¨ÉÌè0Ó)«°¼1êé,R‹ Þ4m›7ăºÛMÑvV%vj$É‹©aâ= çÖ–ÜTátGI°œ.";VNM|ÁT šáÆh‰öÈgÈ &BñC\#|ë (tL6&ú;"R©O£ÉPdºHfh•DªªBŽ5 73ó ,Ö´آ}ѤLšÌÙ¤«œ}5‹"#¦%/tB©ç‰$Œ /âTäz)ñq¾ÚEØÿU/¡ùΛ~ßËnÐ=i /ÒЮQÄv½»Ë Òá´uëT¢ßÖºãO„þ(‚7ÖÎò¹–Á˜>Û:äÝwivÉ<ȼYl”ƒØ€þ¤Â†çDükŠVº‚PMƒ’WÑH«άz·<#n v—–.új°Oz 6`ðÚ,2"9Ù½ÁŒq?euÛ’•ÜÜy«Kçñùzßœ$bNCÈ:’(Ìâ‘ðCCq·U#›ƒBW‚n]2Y¾"˜Äë5Þ¡qŽrvýaßîn]ãVpœòþ>€Óý4â\„‰Ò˜]AÙîA|ä/¸3AÂîl’0Í"»3ÀBËöŸvw¸ýqŸÛtCá Êkþg<á솚J ]YT{@…Q*|Ý‘o2'/hß"f„ $jzãØ¬ÈþÌÙ,.+ÖÜØIžÞp1²“|øÀ³5–á\×’&i¼eWó™ •gËÙ6Å`É+Ö?ñE:4*C.ä8)gÔÀtQ.´[HÂbì¸ö$”søF‡Ê,ºÈhz‘tfà'áW‹qsùG!—à¹dëA·­Œ LÇ1¹X„iœZ6X¢Åљ٘¼vª«jZ ž ‡<{|½‚ŒÆ•Ýìù •]xÀ¥0Š‚“î´b;ð!3Ó& S#GMÚ;jˆQÚ¼IyãÞÖ,[œŽ¹"ÞkYÀÚRj15ÏåüW?plàÙPYµË£9G6­Hy¶ROþº¿•=Ì 9L¯Ê³µ2¶X·ÒWÞ¶ý£Üæ––ì ‰†Æ‹™;” ȽH Íjã¹z厩M×™Tz¤lÛÛ7gןkùÓH ¾¶²ó3€ï Ç´=©íjí°jì”íd­Â8Ö`#z­Y“îa1¬³àhc!ª²„yß8„’´_ ÇÞʺƒ¬KFÅ)Ѭ…Æ´íڵĮf=ÿ$öLú‹SnÈê‚<£“p>×]÷`ê¯Óçýëÿj˜ÁB¡VFŒØ;--áÊš‚‰i!–è!ÚaŒë´× :Õãè<‘Tº ~Šq16= c·áþÐÛV °¥èá×þ6|ûl.ä mzð¥¢$wXð«vÜÍÛqÌ[Þ¸…·ôG¬mzL´l¦O0Ñ=&^®þ“è;5Ñ=MôcšÄϬÉ(“äõD&Ÿ ï ^L»r ¨+Îcœµ*{O_óä]Þx/Løf˜Åösg;k¦ú0K:åt©b½¢øù|l/$¼¬w߀‘£{<µ¹)wÂv§r'ìdýXâ„"{w—÷üzAõ$]`ÛâsÄ1\ v5‚nyèT×ùž‡)¹pÒ›i*Ç6{¸É5N»4í\n¼ôw´—·3³ê§‘ziä2ªáª½ˆÝ•Šx•÷À›ðCêg‘€Œ´’~¢<Øhp—z˜jKÜÓ’½=w¿âÚtcï°öÙ×–éWrÉ¡Ñ/ÖÄGŽ/èýË‘,´Úbšƒ½K5÷þ»•[ÿ‘”WÞÓk**´v1M^Л]ýæIÅÃ^²‘€tj{oi«¶þWÞ»ý)²åÜ÷«ñ[µQó0ÑÙdÏÃ8’‹§NðÅåòÅ;ñp endstream endobj 229 0 obj << /Length 2094 /Filter /FlateDecode >> stream xÚµkã¶ñûþ £ŸdàÌz½wÍm»iÐ&9· ÐöW¶wÝõcϲo³ùõEÊÖm.h CEÎ ‡óêI?=Ñ•SEÓL\Õ(cô¤Ý^}¼REn‹† ’!-iÁ“‰×7[;ùjõüÂÒ,М%Dßͯ^_דF5¥)'óÕ¤É'®¨”ÍÝd¾˜ü#»žêl ÏÝéÿËéÌæ63¿Îœi²¿ãJw‚?¿¸ŸýQFûïWüöørY‡d>Âßi »6R €R 2ËŽgœPÃéû€ã²-‚n·ýö^ÀZ$¾Ùà‡ÉÚgøh7q§SSgOSSe{<Ú< Že]6¿ íñðˆ[Äê¦ÿš âœi­š¢d!ã®(™·eû[dB&H|ðGƒŽ›q¹€}ˆüåq "ü„, þP*8ó¹ms°pŸÃš±è€µ.²y‚ÇóÝQÀá#îƒs‘ë.wê`(ÞÙj*¦‚ÅD+G‘€oq’ŸYkXõv¨]û’ž„¼©TcÄR{­U"läè´¡=a²ÈÖ¿Èõ# …}į£;ƒa´{dxɘ†6~}]T‰Çhp—ÜTÀ±*ÆM÷rØ"¦bF¬xÞÇÿÌ‹œ_š‰§ÞX•ª¶6&+ïö ¯­lvZoÏ/<þ=‰ ÙhOQ$e/-Q¥åÍÀïª2QÊ{f¬Uu9TjןmàÎ`ÑÈÒú §$m#ýg^DîQç…#vaf·$ÏtMK~'*ŠÐì 9Ìw©ÙÒ!ŽÉP1¤œµð´o(ò&»Q¼€BžºGN>‰%ô"fŽ" mzµúcê¸û„c”žÇ¼‚MßdŸØÏ€ÑK×Bô.ñŽ%ƒwËÞ ÈšdÚw êù5” ¬“û‘<»µ°ÞÇj€¿E^ŸÃpŒl\Z¿) UFëߊå/DÆoàù ¡ŠÛ‹îiþÂÞK£JWbìæ3«ke*b³ªqõ™·×+”Ä.X™œ‡h—)«(xø*,Sø=hßXÎG/øç\Nôp?—ù£ïþ‰7rh/EÖ_ñî+axs&¯_"©‚ÝÁó“àŒ‡pj‰’mðHOoh.ß0z5)USÙÑSºqÃØo/é;ek±AÔB*+TaA_Fi'óïûùI2ûc´ë>W’éQ rñ‡h»û¬sUÀèÿTBBzÔΈµD ppJÞÛ$µ‡T53ºTÀ4›pÅän¹4ÙüQÜ®´DÓïu¯0 ç1)ŽŒ0Lµãõñ|0í(.xò–C=ãtœ_iŠâ.µçÕBÞQ” 5DJ»Ù6–~‘’°I¸åˆ¯³4•6l¿ Igñ>SBH¥Å,µ·?¼’òaƒAëE'1œÛK–"ZÿT]$7"‹âÀ%t õ2\ÄÌÒzÞ[ì]b•Ë$NÿþĒ̽hµµ†l_²Z5gÖÕ ªúÏFÉÀÃ!ñ¬!_ú;¬yø_œ,¸çFžV,©M‚å«ÈÛc¨3$v¾‘±PÃðø‡„ÂW2‡`š(]¼=ƒ!YG‘ŸçñA“޾ÙWæÕÑõê$5’aÝš+ç4†&åÂ!†2š™R7Ù÷0¾…qÞÆuf๞ΠìÊëýÈÜ[Á{¼ `rWÌB`p>Opâ…šú7ÚžAÿ$ªÈG¶zGJÑP”z4€ÕÎ"ÖèûK×G< $¤tn†B”Š:t±gkrŒ|®1—}V£_*Íp9̓€ŠôVbû-¿°ÍÓ}(We‚£à3ó×wx0îc>Ç “œÛÚ\åUÁHl3"2 ô ußÂp)IÑ䪱î‚àHÁajUÓ<ÄþÄåªÎzγð !£Ìs¨Éᘱîš`“^2Ž÷}*8àDeÁ ‡ˆFšðm¢±O˜h—Œ‡.ÝoÖâÂ=/HW°õÞHÿûàô˜µ.dm6¡Xc•é…jï•Äe#ňª)ÒÒÉü–«‚xxÈë—{BÆ.”±ÅPÞÿó\VÕÊÆT)1XŠ*Yô×ÓÚñµBÑðÛG dÜPú /¼ãz¤½äf®Þ6Ô€ð ùÖ„Ç=BhéþAåTå\üdˆÒ¾s£ªÊ¾]ú€ÑkK®€zd³îƒf…B ‡¸èw ÙSÒ] Lk£\SI ¥²ܯ¯þ–ÅÀmnhY.ÌÎJ†Nš1S)Sº¡Ö©ærÆeLã‡)²SâÔÒþ,v‹Ô(vÉ­NÊý R: ›8ÝÑ%Ÿ|Ð퀴Ӡj¨F+“g?àX ¨úÝò}ZÝtŒäŽÁ»ÈgZ»9Cw(´3Ý/â="ñDæDÕÆ,\Qø CŽÏH‘°ü‰ŽêPd(/ø"//Ríàçͯqà‚ñqÅ}Ú$á>$æ ÞeœxbŠ4{6K—\>“qОAÃõ‹˜ÖHx]„x‰†äm¸]È=Z\ŒgÆ(¾P|˜ ã;™Iá\^}1K>,Õ7µw>lˆ3áŽÆ¿Ðö»A¶H‚Ah-w«/í§Ã=„ÓÐÈqT¡ø‹f¡ÅöƒˆÎ¬±c¬Tëzء苊×Û ¬–ìK9P¢5^•!vP Ù7–MëA˜dla[Ùó[´.ûg4¨·"”Zéü¯ð÷=Ù¾j½Ûù¤h·»qÅ!x뱓 ç<ìQw÷¬X2rj×vQ7¸ëŽò&‡ÎYCW‚…D-Q^—¸võ~~õ`]âW endstream endobj 221 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./sequence.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 232 0 R /BBox [0 0 504 504] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 233 0 R>> /ExtGState << >>/ColorSpace << /sRGB 234 0 R >>>> /Length 915 /Filter /FlateDecode >> stream xœ­WMO1½ï¯ð‘0¶ÇŸ‡…VH­D“ªÄ¡ B[ˆZõßw¼¶w7°³Õ’hòö'ïyœ±d§L²{ö£9˯ù²9xþônÎVÏàB6|^=6' 9Ë&Ï@zK±.ÓÎpO­ÙÞ†½a3¶¼oŽ—möiº”–[;ä‹ r®·Èrw²r‚«-²Ú Úq±E†ÝÉZ÷[d]ÈÉ‹£Åˆ‹£ø­3ìWs~Á»j$;Å×}#ÛÜ㸊7Š­Y µð<öÀ¯pÁupm9èOáwKÛã)ìq%%¾Ãs8Àµæ^ôx ¸Ã¾¾ö8àÏÕ}}9ࢯžÂî,}}9ìñ,XÁúí°!57À¤\%c~¯æ»oŒ}Á¥Æ$@Kÿ|¹z/kBG/¥CIMZÿê¶¢%|d+2¸Ì^©ŠÕq[K†¢n¡åW®®v@»C§Ýa-„å ý¸¢vÉe`hvRîXÔœ%±¡ÁIî’rŸ.+*ÇÓÀá>ÃJåo ÏhVú²ÝŽŽ+b×<]³/ìqx‚û 1·*¾Ë|‚O*’A*^ÆÅƒÃl [Å ¼ŠKÏ3(UàHÔªxjQh0Ü8 UÊs$jeì3 :¶‚²±G(Ô„ØTÜá¯PÁ¡ÕÝâ^Àÿ–Ô—ÆGã3JIX`BÃq¿ ‰v²LJñÉ•(# L81YeP ‡&뤌S`¸"-/3s(ãÆë($ÒΩ•H;'V¢ì,0a\ ã2LYT`¢f@:«ÌÈÊŒWuQ!UuQ&ÕuQ!f¸ª‹2‰²¨ÀU]TH”qÞÇoã2J÷Ëè¯È¤:ã2©Î¸Dª4.“(ã2L—aÊ¢É:+Ë$ò«d7d’Ç;GWÀâ\ ‘³xqÉÏjPݵ5í(â8;CrCã´sÖúã¡Ã!´Óz³h4žÙÊ7ëæEÎO#ã¿Üg!ØvÀ2&.‹ãØùÞáfó4éží}]m¾=Í.ØòôŸ/k8ç¶—®óíø¸¯D¼IeyÇÌÇ«–r¸±ãÀ¶n<Þ¼MŽr„#¸ÂËL~²D·ì†úcĹÇí’R*oó%gKšüð0+Êý•ý¶ÈmˆÞ£…¯2)ŒºÞýœ1eØÞu'ïprË"¶Ã4w£‰Îš?ëšm® endstream endobj 236 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 241 0 obj << /Length 1697 /Filter /FlateDecode >> stream xÚÝY_“Ú6ϧ`ú3±#Y¶l§½Î¤\{íC3-oI\0pÀC¯™|ùjÿH–±9ŽLgú€-¯V?í®V«ÕòÃøÅ«Ûl‡¹Žô`<äbF*:Œ§ƒ÷Ã7£@ÉdXïFrXÀ£$4·ÅÚ<ë{ó€OxWkêžmácÕð.x0­™K舻3'6ð1EÙpÑ…DQr>/·D­fgƒº)ˆ` FQ:,àñ™ú¾Ðëî'Ãqë‘4B×D)&V׿¤| äÌg¤_>ŽˆA e˜'lÁ?GA¤qz¥†úqgp`Ó¹jš“ä™@ @Áv€®3ã‚JzévÓ¤„f]m©ÛШŸ$ÑðnF=Õp>wPî1º,YG3s;ò‚vÐÓÂÆÞ,y÷”SBüBˆ3檖q ýK£è‚I°( æÔÙñ©Ñc±¢ÆÙWÖø)íÅE±ó>Xê4jöñ®¡Qˆ÷—Ô®‹UÃÅšœÅZR ruk ÃÇ1ìJz ÷<,¼Îª2âzN=:”±}JÜ3<Å®ê3‘?Ü O'ó„[è'—Ÿ-ö”¨w^@\p ‚ðú†i;/»é™ÆáwíÁ=xÝŸø,h‡gÙñoèÄl¥Ã$VGc6(î…lø<ˆØ@ºFÀ¬$íEÅQ7ô ™Î ÉoÁg†h¾»±¼ë+‡°òY°ºÖB\QRy)Ÿ”—Cª‡Ç¯< _29ò +®Ÿ)ŸnËôúÙ¿|d~ÂÕ/€„XŽ›¥›çöÝßÿ›<×Jâ+÷žM&ùØDàËSÑ÷8ß5= ÕàõÎŽÃxòAÈØ…ØÅD¸îÆB5AÔ´uë|‘»±´`öfEãëƒp È»1_&Q˜§úÑ£'‰ÓGÏi¯ô gOtpöô ”Æ'¥ÉNKãX$î?´Q &¯ð¾>% ®_Öãâµ~I s¼¨[#c u×ï{-1suàÞÊÕÐplÍ»EêÐ\úÊ!^á9Ѽ²X9޼Z:’^¤:ÌùÈ›uÒX5ˆÒl( ¢f|¹UQÊs+WYSäz®ÊmŒSíHœƒESâ(m ˆ{º§ª6£÷Æ–ø×°®Ž‚ñ›†íuÏQd*4mo>ެì•U]‚à+“ö±q^ã¬2óeåGÂÌØ3þ–UÚt-ë-ìú7¬ÀÄ÷0ûoŒaºµ î©XŠý*ì9 œª07Þóë÷ýçQ(3[0ëQ1lҚ뫱nýó‚y ü9ev¬¦56޵`yª5š˜ö\·NÑBTasdÿ!3ø[*š<¯:ùøÿh X³V ðÖ«G©fÉöMµÁ"¡ÃD°(³Œ×D¦Ð÷âíøÅ¿4]<¹ endstream endobj 247 0 obj << /Length 1613 /Filter /FlateDecode >> stream xÚíËrÛ6ðî¯ÐôDM-†ARÌL:ã$vêöÐ4QÛC’EÑ’Æ©ˆRR÷ë»/ L×íäÐC2}/»Ô(‚Ÿ©Ì„IžL–‡Z«Q¹=ûx&Qœä„áu ¤„N&ž\oÍèesö+ü,hbyN<¦ÏggO®¦£<ÌSŽf7£<™$ ãÈŒf‹Ñ»àj¬‚5ü—Ç=|«ñÄè,ˆŸŽ'i¬ƒßÒáSlï/ì„¢©¹¹á¶à¦­>iª>eåc¥A{°<ª–!ÈKXáôÊ©qý úWÜG^Õa¬§Áç1²CmoáŽ'ŒgH)d%*·A ¶HÕöÕ<‘AêÌ74ñaöxr¢T˜')»‡œ²ƒÏ¾BVéJd“8Q I¨PäÑ:æjY!ÂôÄ\œA=°=ˆÆ¶”[K…rPôš¤‚&N‚‹«=£(öÀ"“´¿2¾¨ëW¸Êçž\¶Ÿx„éž¹!¹°ã(,kœY"8Gî¾Ãv˜2MÐëÌÌÙžDÄAºzj­ÏÂal·<™þ›»ñÔàb›<åÅöx=d€^¿Žº[ädé×E8ÚoUÅ~QºU" %pBö ×ñÏð\ÜŠôÉvö 4o€6ŽÉ•ëemw!íD»F•‹¶,²¨0e×­oŽËÎên;!Fgοy¢fO®ÒÌË §ÎÃi6e=O»uµ±ÿ™ˆ*$@ZqBç ™%¦»¦òÇñ´³´½ wŽZ”Ûˆ§•#8¯>ƒÿw¢Z+°Zdu’¹FòV+4Ä™ü’ø~QQh ¤[­B3Õ윞 /ǪVOsèGy\B_³÷U’©þåÀÜ…Ðí„.œÈd„³Mp´ 1I±'~#ñŒúcç¯û¢žSPª$LSÕÏ}À(V&~°»–œèW!ðP¨"ÝwâuÍñxð·wà~xK´¿ é¨ÀfÇÏ.i¯{Td49÷œåP!):!ŽVMËu‹àÅÛc-q|CUg»!ïõPö²Ÿ ˆ¶§,¦ ÚÁŠf„Á9mAµËæƒ8Ìì³?0ÑUžåµ0D±mãRsD˵˜ÇКä”\[h³ß²¶;Šú9U¾µÍ(¶”TÎñ76‘Þ÷¹ón+Þô‘qþOd¿Ýu•õ~vQ0Ê’¯5»œƒïYÎRø×Ò¾öxÍEÞ\Ìßœ¸£ÏD1,¢xã6#ÿiNŸŒãAó%sj`,Îÿ–‡¿4ÿþ·<<[I(aP f H4Ÿìv;¶uw ¦caiXœ¨…RMÑ‹Õ~ ^êrÐø‰†KºETÂ0榨Ü1ÜHŒ_ê+2ÕÁ_t‹KAD@:²\ ‹ÔJ*ÑJ”Ü´$“NÝW%«{e`ã–UÉ…,öò^™Ñ'Bî%Γ,k G,¸j VŒ·Tv*ïÁŽ5¸DPÕš# ·”Ügåä,N37”q뮢ÁÌQ4¡V 2Eî`Š€P›)#ŒïkÇÔCãRÖ­½(Õ­ŠÑƒÅíNxÙÐ?©­E4@âUsuCkåVë~· |íW>íîxèû€ƒì¹óŠÖÒ² t¤ KÔ¼«@$Ãn¨â[u|¬:¦½êhéÁ·•òÕIÕ´òûIþ+?Û'ÿOMÁ,ªa{Vÿ¡D<> /ExtGState << >>/ColorSpace << /sRGB 251 0 R >>>> /Length 1108 /Filter /FlateDecode >> stream xœ­YMo7½ï¯àQ:dÂï%=ÄFÄE?b è!È¡p$Žå¢¶Ðþý—CiåèÉ"ÚƒV¦Þ¼ÙyÃ!¹;6êJu«þÞËçb=¼|¼~{¡nMZk5¿>ÞÜ/ßXæ¬?+cI€z©cã"¹¬üȳÙF-¶êµTëÛáõzrÿ ?²aÎ×äQS´s²é çi0#ÛóÉVgriNvd›hŒs²ï ûDÆÍÉ¡ƒG fNŽä)Lõx>ÙéHö@sê Û@ÑÏɹƒ éƒ;›Ž*q9S:Șé˜iï…ñ€½›­ºî.WGÖÝêògþu êŸáÃG¥ÕƒQWü¹Ìäü§ÁØL‘ïâ3å¬6JÆ.¤­ºS«#–ün<·ÈcYÁ{‹:žYXï)é½…ŒçÙ’53‹:žY8Ç_3 Ï-jì{‹½–çC±5žë$•<XlÖKÅ^¿\_ÚåGµ¾:oÆÄQv¤¿wd:qSäTiòyšùWß¶çNÊd¯¸‘²žØ¿¾s?žOÏlÉq WËîÝõª›,Â~û¦±ùÐP»Òš¦)Öm”¿¸&>©ßÔýüLIÙ³oÃIå«‘3åté úDé—êËo(‰gªîÃe}ñÍ/vðè(f[k8& ÇTb@°3²Áptäì8z²#Ž\`y…aä£È+ #Ež8¦€#E^a¹À(ò £È5¹©¶"¯6M6× k$ çxYZÍ«ÞA• *F* T ܧ²‘úTÊ6T ŒTÊT T²áí îSé «©¬0R d Íp…¡JJËO1&B= B*ŒJ‚3,0RYa¨R`¤2i x•BêSYIP¥ÀHe…¡Jû*–Ÿ4‹3T±÷©¬$¨R`¤²ÂP¥À]*ÛY|z—ÑH@»ÀHeƒJ‘Ê÷©äçþˆOz RHHe…¡J‘Ê C•÷© ‰´ïU)$¤²ÂP¥Àð|9gßÙÚH}ÙÂöfDH(#Ægщ@`5T¸3#BêËHŽå½ 3#B‚{݉;ÁÊe¤ÂRWF¼‰dz÷†FêʈPF 2"p_F©/#üžðÛEƒv¡J‘Ê wªRŸÊà)ãg›#•†*F*+Ü©RHPåþ­ÝìÞÝÛK’¶Rm*8ïhœZ«']-1öΓwjÃÞ}iXȸt~JŸuÌüËÔzÜy,Œÿ¥n 'Ž ¡´9§ÆÑ«íöaÉ™P‹ßo¶>ìzGÿ­ñçmIò£JSé…Õå™Zò{ômاÚé+űL°e.ëð® ­+uy׌Ûð‹ú º4Уß{Í~:Æš×:Üy­Æs¯œógR3ê? ø‹wƒTÙSž9»_ÿ^*ÔâÓÑÝ17VóßyîæëýQG8 endstream endobj 253 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 260 0 obj << /Length 2627 /Filter /FlateDecode >> stream xÚåYIãÆ¾Ï¯hä$!-šU$E2@ôÀ9Ü€8s`ST«1Ù ¥ñèßç­UEŠì¶ ø”ƒÄb-¯ªÞò½…?|÷i›ß•Q¹µÛ»Çý]ßå6‰âmv÷¸»ûeõõ&³Éj·6« ~gyþ7Îbx4ðû&]'ø½Âï(ý?Âï#ü~àéfýùñßwñÝÆ˜¨ÌÆÔ‡€òY–?¯—¾~8çEÆñÙIÿï<É=ïXû•1õš• žt^7·¼ M¤÷wøýEÞ{9Ê“ìý$Ç;ÊsŽ\Ë:åÆwŸ²õÀà|i˜5ßè(´?6­o&ÄÉ,²vÌL˜mâ4‡ é“ö(‚-6¼Š¶‘}þ³.’UwYol±]ªµÍá®ôòÜœ¹Qá#'x¡ã›¤é…-.yÔ‡¾åÖÀ@[f«j` Øu …ôºÇ©(ÃÚ •%M£UïgÖk[¬ÒnZ٬¹x¦ît$ñYëºëe)¶Ï~ënöNŠO•^¨hp£Íˆ q·Þ$Y²ziùIäl§¤ ÀE8ü¯È'šÿ~H3ÎWßïyÚg  ð…g^D‡vÜIêô§ e¹6›o"‹eBÅôt$i†È/­ý(JÏÝí=e2¼–L. “бµòˆ…vÃex°2Ñï.b<¯"¸$±Ì6¶z'v³Òçn"mZyì•t¥:5Šøú7VÿíÔÄà ¦ø†Ÿû9™üÕì 4gâfõI¥.t¦lä\ÁÅìäbÖ_ìOÀøàãÁñ ” •öH $ÍÂ;ͨhÃíÌ©kÅDaÝ,šÑÜ=Ø=5ž›–q_¾^W9ЗÜöº&!Ó©g!þ»¶^FÌ™4»cþYe[Ë|I§€ëÆØtõ=žÈ$ z‡!d/nÇ<#m@É~ð4gµ úŒCýp+Ü4Ž`oúÀîÄxªÐ’2ç°MêM°}ôµØK}dô†Î”ÑMW ݳÌØQð¼Š{>v„™‘¨dì 4OÓrõ Ôœ¹ò²º#DèUÍîör=U*áà v=ÌYoèÒÒlá 0”zý²“­°÷Ôñ èY…OUwmãN ºô­œ”„T)t½Pv2aâ#íußÔ-ž _ðoC{&·W9‘_yÚã…š‹Rq†è𶫦V0ß-ñ¬ce}I/ -m"ŽsÇcÁš×ƒÂcG'»ŽíÀ“~A ‹ïùÅ$ŸÅõosð/v±›Åé#×ÒÊê½üIlJ)O ¶S=ÎYáq«Çy ¿Uœ#_õÒ­ã…}-[ÙuŽ™LÇ1˜‹µ òÞ–y8 u¡=ç¢Ã†çÓÖr¦ÐxbyöjTÝÃ’7·ýÂd^ü"ÕV¥Ð EÂa8NFö©×aÈÃ-ó°šÅ½MR‚rä½Ð)J¬=–qTÚȹ§uf‘·ªÍ›4¶Ä»4Æ‹€0p¼0üœ XIF3.»ˆ¶I©>J@Љ¦ü ¢9ßRNóÓ­.Tï[ÀB0/PSü¥w#¥Äž=BlãuæýEánÄñ -ç½fÝEæV-CD‰q'c¯†«‹€ˆÅ:[ Ö%z›7õ/B9„£¦÷~Ú»9 è];8MsH' ;¹dA“Ü»s!z¥É9 ²”X:‹—céŸP$.ô%é%¬ft„NÖ[](Jœª.0ÿjÔË j¿õ°ÍwE`3‘Yýf ÿ‰J…ÕN¹áLúì šÂu‰ÕRwÄ» Uþ2â=ç„`Ç€ƒŸù–ŸÂáÞOUmÀ X ¥'¶¬WÜCðN“Š`ƒv6s~7¶E¶º¸ètç|F!Å®ø1nRö•‹ŠâÍwW^|cØYõBZHšý‹\«#×Õ0:C:ámàC=rö†æ’¸ "8ã³lŸåRáAm×[+×yP£lfò/˜gΟ]ÂeVò<…lg‹.þrÕZ_’%€ŒÁåw ¥ÆÒ²öÓuû0Öv°U D¹ÒBOqx‰^ùìJÎT)’é{õje€t²Óm( |]MFHRÚ¥‘ã¶8‰l>‰Ûúå#Éõ­œ¿¶´þ[MõžiÑ—¡¹Ìà? ýŒõ¡†?£¼º¢]ïÿP"öݰÓïx‚Obn½¬Ó@†2‹òX.tªc“S¥å2r‚¦$kÔ©™"L0¸Což{“§~,!&Tp%¯òÆHñT!åúaL+¬í`?ÎQzc{Ð !¯4TÌ2èÞs`ÈnÈ”7™Å\`òN¦&]ŠæR“Œœã9¨J>óJJqà™ócŽ÷È.ÿ%'°-Øttß®ø0oVHðL3…<êÿU½Úß±ï…j./"„è §ùgÿÅ(rÄ’¨L¥äð3†Ñ¢Àˆî³Ø éï‰踫RβQh¨Æ!mýJ x¨.!û¿Ÿ`ß7óìÆÿkß+qO 5äÉ™ådÿÅø«vÕú7CùÎsÜîö#ûp!š Ô…ª’'#>8²Ah m®lß&”8v+SW IF|^¬°ðvAuåU ¾Æ-å·s; ãñ Ëuö¦]¦Îå8N¦!vê—¶)¾„Uzqþ3±O6$Äïoµo£ <ò¦,#ËG3SâØ‡=~ø´íœQ endstream endobj 266 0 obj << /Length 1198 /Filter /FlateDecode >> stream xÚíXKoã6¾çWè(1—¤^T±]Ài“.z)°õöÒö ÈrlÀq Û›týñËyP¢dÙ±MQ£™á7‡º_¼»I³ yªÓ`< rd:2M‚ñ$ø3ü0&: 'vlùù—L¤}”vTv,xÀûW~.ø›eUƒ¿Ç¿2*%ò¤­Ùi…±&Ò{;ÒôŽ•À×Q‹“p”üþÀ´Í b³|ïnLë¬4gY)­D–*’z jUô˜#\^¨÷v¬j”=Höª.ùuÉ®˜ósËs ß+°M[€6^|·ƒdãVdÔÈš&$7c™¶1·5Õ-Ý]6±Se‡ÆÄ"Í‚´Q0äÏc©ð@Š\±è7L!ï½ù¡ñ­ÎÀ“¢?ÃT›¬ÿ£d ¤7Tç)C•dçh÷møp’ Cvf¤…É2Òö ;pÉÏM“Xë&χK¤ sOšœå@B@fà”ÜnƒùSÖ­=½k ~úÉÛŸ?é“ÞÒôE…7»Ì×”•>iD\+Ê¡ sh OžaÔü@p2}F$÷±íŽ«¾D<²&è×V²×VòÿIMPZЭÏÖ„}¥­ô ê\]sÔ^L[: ä(¨ö$êTo•ùUWæüôÊl{7¯ÏEFÄ Ç`<в°9¹e¿9Ž¡ìL’L_wè1ëXä2vÌeáüoÃK,‰±ŒÃÍj0ÔiX̹åÁo+ö?…È"ÛÊ…÷Á f~PãˆÅÖÓ€ÉTY¿óÂÈZ1ˆQŸkÒÈ åA¢/pË¡Ó_LŠÛæX¶'`+ÈŸ& å}*…ŒÚMöÇj͹viM1ÖÑin¶djCiÏtpǽ¡)êwά6UãÎzïÛ- þÊ 8§A±Æ¤–.Ú`GßeÊÌQn·2UœßUø" œÅáhITLÆ­ÛæËÂõl!òÌ7ô¤v§èJNJÈ©fµåøg €eqÏE ™§½LEÙ‡€±³(ŸòÀ$@£ ÷ÇÒÔþ#!WJ=ü3kaÓ ŽXdìF¤k&ÎÉvª¨Å©+˜—>Å„> Q&ne_§_ꪋï;éƒT—|0‡T¦:áçÈ$žæÝ¢¤¡*å M»vÐÖ`×¹Ûn»NÅRD™vâ÷î¶=«ëKdwqõÔÆë-çÌäÂnb:R'J„œ¶A¶Tª:KD’tªÁ 7[Q—¸jíú¸Î ªÜ¹Ñ­«ú³»}òes¾–^üÈQý5,øùÑŽ±pä}ÆC­åÉîÿ)©ßþüw½¿h5Z¾ü¨7â­ÿLlWudN¼®øhßåàÔ}Ù'î~.»=UMêm ðN”½]OßRôåS´}uhåesIè%NXPŸ´à¨!÷ßz¥®NÀ‹g÷ôÒP㣠îÁÔ./Ï@=Sò,¦æÎùÒXÒs±ìIïƒ×Ù=²ÃÄ«¡uî²2‰ÊíÙ‘ cø/F?^\/¾ŸzÂJ endstream endobj 177 0 obj << /Type /ObjStm /N 100 /First 882 /Length 1986 /Filter /FlateDecode >> stream xÚíYÛn7}Ÿ¯à£ý6Y¬âeap¬ub`“¶Í® ,Ú=-©×sñÎÅðþýžjIñŒFr4ƒEäeº¦Y$«N]XÅöIŒ3>ECú(†8Ÿ )àé KÆ“ '<™äØø˜LbŒÇbRÖq19‡‘Þxç/’ñ>àö:5ãéZdÃY‡³Š¨œ„ŠwØ‚‹"¬#ÎH¿2ì‚@f#+g#™ 3L+YÕc1R<ØêaALˆŠ:I4‘Š.˜LdEÆ€˜á%jí9Œ/cR”€]ÌCCE„IcÁ~”0»d%ÔÇ8`rQ 6©×¾š|ÏA¨È ŽH*2\,©NÁ©uVƒPSÀ‹+3¶I½ùàIœXYX ¬,ÙœÔÕRì™±rRf8,ªVNY ¬œÕáÊ)«ã¬œÕ#áÓ©%°rIetZ½zñâ»zÙŽ†3oÎFÏžªwÿýؚ꯳f>îf£JYnþ™êïÝìùlÙ}>éÎÏÛE;kÚ¥9…kTÓn¶^š«ÿ¬ç«vÒž¯Œg®ÆóÕ¤].»êbQj«ºY¯ÚªéÍzz>i?W«n2n«iÝ,æ³êý¢¦ÔMÓÎVÕ¸ÃËnYÙÙ|5nÏ«ö®švÜM&õ¯//׳‹z±žNêõªš_Ìg퇪©u½åǺiÏFß~ÛkøbÑÖ«n>;©W­yròÄqt‘Ø ÇPžŽªçã{ÇÞuÐîWz½˜×M»ÐÑ`ƒuO¯÷šë«§7Û_ür>[ª·ë÷«þ¯¾ô£ê§zªcé våÁP7m—ß¼™OëÙèW»ô¹6ÓE7- —úYòÄœúäTcSýòš«Ð°xÌ֓ɽl>À²%-Þ¹7¬OÞj!YÎ~X’ÑÝ{ÐC§õº¹lþv‘¡}ô> g“ ݬÕk…=,¶e¤-ómdŸÇZŒdÇbc± U‰÷Bd“ ˆ"5KäÓQoîAn ­{SõŒF®ì"—ôu¢m_ÿZÉîþ²û¿t´ÙAþÐN>µ«®©7úG½ìÙí)Ä?RÿxXKD%Z½ECu¤7a¨Ž¹ meÈ_ëˆèv²¢¼_hæí&Öëm\,VïÅ:ct ß}Þl÷½Áè5×!ñÉ;%¹ÞŸ!³ÕE ±E/ƒ=Y„­…-  -_3ìNÙËî‘õÀý§Ëv7Øßkf´c– ÂüûK˜r×…Iø3aî[䡵0­I¨RÿuÁJô&“_©ð–—Óõ¤ýÔ5—n'orÜ+on²yDsÈÊ›÷ÅânzÔï+‡EcÜm.åaÍe܉F¹n*%^?Zºë-jß5 ¬«_°‚1º©ˆ®ŠýC/ ¹;é÷§a€N,<,̤ÛnæìrÙYGúQPou ÂGHÁQâïÓýbœ×8F\¼íçRöòóM¶¾tO¶Ð^ù~7)[·’•¯î=ïì;×Þù1ξA”½ ÚdT1gn 8„/FË(¦ùDú›˜A>f«ß¦ùPŠì¡/úì=¤óˆlƒ|Î!…Ó ŸdD' £')ÛOä“h3£',6çaô^Ùc9d<ç‡a4N†aÑo)® ÃÂY¿½ âG›Gc2ȇ$©Aƒ|œ¬žBƒ|8Z© ;ã„ØG ¯Ÿœ†af,Ó0Ì¡ žÃ0cO+nX>½œ†g}áûfû¹K endstream endobj 316 0 obj << /Length 1332 /Filter /FlateDecode >> stream xÚµÛnÛ6ôÝ_aìI"E”H] l@»&X‡Ãï¬{PdÙ1fKnd§k¿~çF‰²åÅY1ŽÈÃÃs¿QMCøSS•è Œ’©6YfÓr;ù0 Œ6&&gIGJ® àúÝÖLß6“ŸàÏù–¤ßÓ|3Ÿ\ßfÓ<È8˜/§y8Õq¨$žÎÓ?¼Û™òÖð[á5óã$õô«™o”ò~Å“öÿŠ â}ÆÕ^n45#7Kü&Þþ¡'ÐÂro‘V΢ÔCœ¢F~UË`$U3…B(Ò-ü¡HE‰«—H¥oË‡Š¯” vØ"‘–A,OJ‘Hœ{ø·‘«lv¬5hYÕ³(¬?ç߃5}¥‚Ü$l£²© þ• Å~B€šÕ‘Æ-Qü:¢à–õcåpe•KtæýÈæ°·šÝlTÚYv3?J¼ o•áG¢ßª2î¥"ˆ«Š…(Q¯n¸ŒÆÅEw°¸ì:¢ø˜Ì°É(hvøÛŸjAJ n¬‚P¬ûÛ,Óä¤8öJZ£ì•À­D ìEŠ×ä—â±D÷=0:òCvÖ§ ÁûPi–‚.Ý“ ¦Û±û„~îâô‘‚¼9°åç\`¶^*r²bs¶!œ\ßšÔÉÁHQž:¡½š]’Á:„aïÈËÊ[Œ(ºIš TÁÖRBÉIH\@¸û)RÛIQŠkL\úZð$S ¾eN]rä€ÕžŽ––Í"[™<ëò ,ö¦SNN-åçy+=Œ­•¤,Þ¼Äxw‚ÿA,Q‰1KY¿MÈujZ¥@YÛ–¨¹6J¨âÍ¡•ÐÂM$yͽÍ?±=‹m'WgÉJ®.㤮X˜ Ú„¶:Y;’¿÷–Z„èµ3®)©ìS¼úV¹aµ[“1(]Ê/Í J¶Â¢ôÉÌ•¥|Å6O\·C"EH”³Dß@ÝâÿËïÅ©+æ Bb•* ´VC¿E ñ·Láç… .o`‰oyë"ßœ‚^3h'—Òc!‡`ôŠbÐ/Ę1¿#ðÛ²y#A Ú¸)„¢07øU¡Nñ¶2)Q±ðîÜ•wçð…´ýHˆža^Ȥf¤wÇÿ‘‰ºˆ‰h¢/dža¢Ž˜ŒšËœa¢ža¾„Iò u!“u|z!õ&ò-D‚€ºÍoFžp0 46ƒI¶í Þº<~o[üE÷yÇ£NhÉ êõ‚!RpÖ4ÁaÀÕæøbêÛzÞÏíÌT àXK5\cªtCöK['·Bî£íÇ6qتª;kDÝÄîÌeÎøÖlÐÛÚé 5O4¸9Øh Ci‡Ø¶•‘:sÏ\ÌëÓ šv¦ãƒØÝ³í+<;øàY?•†üjÞÜKC¥Í“¸Öy/Áï3MœQ¸€ú‰QwÒüš½3á N𣎺$ÑÓ†êžR«ª×Á‹»¬X^Vä”Jð:†gÜž8ƒ¤Ä`çMf2t@±ï÷ 9רUI=hì9^ÐÜÛgx+mÿ^°íèðµôÏñyïHBÜÔŽ¼<†9Šñoç}Gb¯“TA‰Ö[û@:oG‚“5ÂJ4ÜìRÒO[ôBù×Övöñcsèôí×4ŒëŠën×ââqCü֮.vmq¡+ç²ÿApæâ°ß¿ØÍ‚¶u6‚‚Ç_P='``m¿¿åîxEa•ƒ9ò Ë2™uqr3Ÿü*”Ë endstream endobj 312 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./attractor1.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 319 0 R /BBox [0 0 504 504] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 320 0 R/F3 321 0 R/F4 322 0 R>> /ExtGState << >>/ColorSpace << /sRGB 323 0 R >>>> /Length 830 /Filter /FlateDecode >> stream xœí˜MOÜ0†ïùs©´{Àø3vŽ,…VH­DÙªà E…¶ìJ¨ÿ¾c{Le¬õ¡·6‘óæµ'óŒx‚[øÕão±ìvןÞ-`µî¤RÂô¸^Ýw»‡ï_~e ùÛ:H$8)…ÅÛîà`™:­»ÔD°`ƒÊD×élo³y¸Xm~<ÌA9˜­áñÛæ<¬7›ë³Ùúl>?‡åQ‡ýÇÀsÔû'¯D}²ÿ¯zÝé9H¸êáï¶S)„×ñl‚&ÀäfÐÂ{ø'/åÞÆ'¤æDwF8;ê¹9ÑÕ úaÔssÔup"¸'šÝ¥Ó“ž›]¡&þÜu¬0êI§æDwˆ¬õܜ誽õÜõœ¯"ÙÛ¦¤4‡~Q”1ð!†ƒ¥1Ûÿ½ZÌayÛ•Òªº±ÀtÑêø´Ñþùrõ^Éí;ˆÃã ¶éLã_ݨ»Nö.eûJ7 o¼pišX ÑÿSû¶à hëc­QòöšíAÅR&ûACìN¸+ÝÅ™íúp{·Õ‘œ±ƒÐiM˜}ºlŠ\{œ¤FÈP"[ì¸`Ð$Çê°8’ÂüàÉ;¡%<\øŸ­‘ûîCG=PÑÖ̘䜋b+ÓÄ…¢ïaÇ$Â8ø» ƒÅÎTW©> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 332 0 obj << /Length 2241 /Filter /FlateDecode >> stream xÚíY[¯ã¶~ß_a /2°G©‹¥ )mwÓ-Šh E’Y¾ ¶åZrœÓ__Î[>› ´}°ÅËp8g¾!ß-ß|ö¡ž5iSéj¶\Ïšl¶ÐyšUål¹š}—t?ÍUrš?é*é϶8ó§<×ÉhËێʃ9H š üqÃhžme/ 9Žë©hèóÇùË?|öa1«Òf‘× „*š´nª™&¾$ŠPÌ"ÍëböÄK ˜•i™kÛ–ª‚Ûß»öYÐúšwE’èEÒ^lñÐçºFùRö¤ª2Íí '•§M±à©¶´–¢ª,~œ—ebÜX³áÎ~ ß…S´u¶ úܘ•µCºžИs M[j:ÀŒÈÆI¼¢+3nE±Ô¬¦ 2’ WP†+ÐUª2ð²v•¢!f¶&8ުȓ¯Y‚Ÿüú†{R• ëâcéR"fRYï‘Éå…¼UKê»z*š;ÞèÞe%áâAQŸþ!×/lÑêJ• jVü25Û•uÚzûmŠ\%Å”ò¿Cñüï‡)"q}ô»R=XŠ„'!5 é,·›¦ÿŠwõÈßÁkùL; U¡hÙ:WL½¢nÞLÙ©­¸æ{þAùê¶Ž’õ<ð…òçÔõ[ðf<õï¨éO䣠øÞµý}¸'~?ÍB‚/ỉY,<‹Sho Ò¼õÛñ-M ü½Wù­ïîñN¼­êté±….kï¤POš:!:!yÄ£¶õÖ‘âÁ÷™*˜‡E&8¬í%êxÆîk?R¸#kì˜lhAæîÜãH@G#‡-å¸z4sÛ“÷5;wØ‘óÍ*B:qvÌZ²ña…Ë  ê,¯ª2T٭΀ .c/’cKïÑ! ?S{^®ðïÃ)K‰áÚÒ„Cl3®sŒp[ÄÙ°LÖm$v1ÿBxn aN:¤ªÃ è1ÏXÂÖÖ‡hss¥|Íb e«xÄdQrˆwZ ¾Ã&9=Ô™Ž:Ë7¦çÙ<Úiž uòw :‚äñ=MCØÙ¾ˆu3ea(2í(Ð/Hµd>7€¦‹á[¨Žœ¢+çb>ÔžamˆkHĈîúFX¡åÏE3!nyw¿Uòý­Ñ™ÆaÙ°÷»Å4ðË[šMPæÞeÒ]·Ì·ç¸o‘PÓmº9D…šdóqa>õÈ©W, YF ƒ4lÍH•=sÌž}0}6<‚N°è˜05/ëdÖ"'L·?zãá]Ù1PéRö‘Ö8¯Û~€ô$w$Ä0õ Aqx=g Æyðù +4ƒé#˜°eÊ8¬hç(9˜)g}pe˜?äŸHÙ —†ªºÍÙéÈÍEI!úÜRh²ÌE¤=wƒòä*¡vKLÄh¡oÓÉ1¼Ýxs S8µ½4±ý.AÉ!нЂí/v ÷Iµ‘=ÐO0åË'Ý@ë)h1ÿž/ëÆ;˜Ç¹Ð[*ôÿ,ã=˫μ(“årè‚ØŠÿgDvÖW­/²K¼?6J-ÒJçv6œæSNá«À²O¼R>êÓ¿V風„ýÁü®WÉÚµ\¿.Rö)®>ˆÞ9;eÝgé ³¾âTbTŸÓ êÇ‘Fáh?zA ß37MšWM|ü^“ «“ÍÙœ;×t¡i¿w]Ér"]e1ÒåäÂúHmÚÛ[5Kf:Úò ©ðbOpoãB¤eµÚáî¨ÜS¯Øëz8ò¨œïl#'e‚AS¸:@¶¢†ÍvïJax_¥\soáAœË>¸Ù[ÿìØv <É¿`Ê®ç^Å´rÿ¯ JÌO;ÁÐì¡_Tš¸Tû•ñ­Â~?ˆ¶.gOXÂ…w]û—ÛöìnùBPlpÙØÍÌ*rÝ£ÂÂÚ²öP˜9®&ß =un"°hšyÂ*"$½ Þ®ú[tØuéI éL¦Ò’Ộ–¼áä•â—‰=UV½SÅ@ÃŽä°·£û«L1ßJù\ÀUüœáz™£âëýà2wD,i+7ÄØˆ¡†Î½ù'•Êm.ŒDR_CÀÑØžØ µ¡µ‡î:xPðy68]ø”0âO{pQAzu©†:P¼͆>x8ð–©»î!1¾Á.¾À^MŒì˜t‰.nyU­“CgŽ~Ñ…KŒ6nù×ø\! X(’‹@™ÑÇΩ÷"È@›’žøNâá𪯱0ÿvÿðq‡FHi‹]q*lBÃBF˜Â4Œ Ô“iwÑ#Hóˆ)¦\PXE'WžéVÜýLÚ :øé ðâR’_;…wÛ`ÆãdÚúsâo=×nù{u¯mTÿ‚_oC~‹(ñ—Å÷.'“µ>{Õîõ0|D#Ý‹¼x³\-ÝÅh,É'ê¬JKeK^¦uÅVkè{ó~ù柳]~Ò endstream endobj 337 0 obj << /Length 526 /Filter /FlateDecode >> stream xÚTM›0½ó+8©x± ÷Öª»R{«Ä­Ûƒ—°IU>R ŠößwžÇˆd•Ó …ŒgÞÌ<¿™DÅ=*VE.w…Šwy)­ÞÅMý‹dQòqeú yÁñð½/ãocô“ž-”jk¤ú@-ó¾VºòKUneÅ¿ÖÑÃS[iK]Æõkl ªŒ´öñ/ñ”(ñ‡>‡óDï6Ió,Åç$ÝéRÔGrhkżPÐ-â´;ÑëÈŽñ•‘À¬Y½ë{À:4p;›–]d¿áÕm¥˜K¢+qI´#:ýeøy[Œ½î6µþ¨ä&vyEÞPnCg¥,”¥?-w•á<#=ÖÑÂoý endstream endobj 328 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./stategraph1.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 339 0 R /BBox [0 0 504 504] /Resources << /ProcSet [ /PDF /Text ] /Font << /F1 340 0 R/F2 341 0 R>> /ExtGState << /GS1 342 0 R /GS2 343 0 R /GS257 344 0 R /GS258 345 0 R >>/ColorSpace << /sRGB 346 0 R >>>> /Length 195364 /Filter /FlateDecode >> stream xœ”½ËŽ$A²¶Ÿ¯¨/hº»ùs+.iZÚˆS(.ôûŠó°ÈìîºÊàâÎ̹Y]•™ánÏcÇê×üª_ÿùë¿þãÖÿ}Õþ«ÿg_ãW»ÿëÿù¿¾þׯÿò÷ßþ—ÿð?|ýûþ£ü*¥|é?+ÿóŸÿþúGý5Ê×ÿûÿíÿ*_ÿç?ê×¼þï?ÿ£âǾþÇÄ*¿j|Õ¿öøú¾ðøãÂÿõ¯Ä.¿b^xÿÂãW½^¿þYïÄç×jn¿ _?ýWÙŽ_±‰÷¯†×¯÷×{i¿j¿ðõ 6ñøµ…÷">¿??5üþ^Û¯qˆ{%¿fó÷÷ºõE\‰[Õß¿~_!½ž¯]ÿ~ðýLþ¾¶ð?ð~w#>üü×ç9|=ʯßW7ü!|þ-¿ÚõûçÁ¯îü|×÷Õ›ñõFê\øÚ€¯7‚ï›[¸ãûî¿F}ÇáÏ“?_ñ|Þ~_ÑóÈ¿7Ž?ŸßÏØzù~ÇÄÇx}ž1~­óöyGÿµöÛ÷1Â?ïïëÂe¿}Ÿ£ùóùû×û;oÏ㣽=¯ G}{žöó×ó¾°Ï‡Î~_{;/ù÷ò<]ï‡ç#ÏÛõþ£½Ç1ô<ò¼Žõ«Í·ó|}_|÷y¿Þßo÷áoüÏëÿÓÅR××÷×?ñõO_Èÿôß~¸ÿí?ý—ë> ~ÁÙ¼r ß°>Ò…ñ–¯#Â#?€xýs¿ÅE¼¦ì:Bº’×ï_¡#Uˆ;^ÇÏÿÿøwÿáŸõëÿþéýÁ`”_“ãú]'ízîE¦£÷‚÷Ýúõ`*€¯¯¸ÖùuðúÌ£}}ÇÀüóÀûW=n>J±ð(Úõc‹W?æ¯ ¼òßÏ_˜_´®Âª8Â×Ñh׉Ÿyծܢڔ\/¬ëý]'\Gûº ûú}× ýüu§ãÂ]ß#pnyµ‹^¿~ì$®ÂGá÷ï±¾}›øOÅïi8à×9<…pàÝœƒÞ.;Ì÷£]·ƒ¿û:Õ×ql×å |ugà+ouýêü·×ƒ>¸ê„s]ï«è{» Ãõ6ycÎú5&?OîÏæ‡æ—vokSϨ–ÂïôúÎJ%®¿êäwÚ_vßynü÷øªo¬g²â‡ïèϳ֯{}Ù‰º'¾êoâëëúë;ÄÏ |õºÕC˜‡¸ÐÜ_‡o]`_G!ŒaN/Ü…uÝwàîw|P`™³ëppƒùÏ8îÒ…Ë2®x¿×׉«ð“3Q¯ß3~‚ëé_xâéóIóè×_óú¾k~ßæ–ã_~`ñdðLWüû­sT¯ËµÏF™Æ}òpðû.8,« |™ïëý4ß±ŠË¸xgÆ2Æ9ŪÆ8Šá³W¯ËzGœ>ÏÏÀhµ:qµ¾‰a#.¬ï÷²ó¸5¦më—_Xúürï×y¸Î1°Ü+ÎÃu¯piæyàEêùú€ßÄ÷yšŸ?Îë…ûñóÂ>O…·çº— ?®ï§áýUŸ`œ\#Ý÷âóÛ3±®9¿Ÿ6cã9âÏ_ÿõ ˆ§uAZòë²¶É3ò²òpLØQ]>¾¾}8JÀ âá3–¨¥Ó"]òaÂ×Êà½~Ù•ÃàÃT–°¿ÌZdÀ/cQô÷./Çâÿ¾þü‘A­×·†¿ãÜ!àŽ_ŠyÛ0¶8ܼlõzpµð|eŒß¯Å|ÿ<_Õx ëßÃÊÅ0>ƒç«È84œ'£À-Âyêzýz8?;ÉP€PÃX¸,ã)‡_~ú¾þO=!ƒ›ªxåÈÂãÏ€â•!“Q•¾h,HXÛpò¹`Pº½×½0¢ì6XàχY’EG+UÉ)”¢$kÀ Èõû•l^ã4by3xŸ¥d¹ØûLý>E¼®Æm,ý¾"ïÃè ÉêΈºâu'Ÿ•XÑÐõ=I#Yn‰û 4@Ž*“Ãoaù+»³žÑ–™Š°]bÌ3WìÀ.Œ 9¬•ÑÇØÄ{wÑ;Z¡ê¯ß_%3D'[ñLc8P˜–¸Ÿþþl`ø¼Ã~!¿í† ó2!ã8ðÔ‡³4Ø›Ëê_ñÿ ÌuÅÇ’«€‘¸~Ée`Z±‘¸lØe`d«3›Yä·Ú•=\_Ãe`Š Ì@3›¼J»‚ŠëÇfȨ·ëÎ\Ïà²7î¿ÏË2ÕëE³±ë–¹9ÆMMù ´'×ýg1†öà›x©¸1{‡ÅyG§…ÅK:íŠ=mØl7œQoDï5O£×®bR³½@¶33Ú½Î{›¬DØ~°Ô1t_Q#àš…+ÇÅž`±űèÆ=T,ü)ü;;zÞUÙ02øÚ½ãûű¢=¸¾¯(<zž]ç­Úï0Ûj< €¯ïëlÚ—™ÙS>_|Ÿçe)ûR…#²%ºÈé÷s}ŸCö$Òþ,eC5íWÈ[9Z|¿Q<—ÿºþ}\qúdvTXùæ÷×ݽ~_\q=ظÜáu~âÊ–НHg#(–áûAÒ¿ˆi¸þ™^¯¸ˆíL=O`d—föGàõkX E±í2¼ˆ3è_c3€u: Ƌ®=®4ÙíÞú~bÓ‘!òÒûÛz^ÌZâòå@íYÅåú:6ߥ*.‹Pe’ãË•R|ó‚Ëõžq”Uá“C錖H‰*mÇqÆõ=Ær%qÆõQ˜S¢SÃÄ<ª¸!1Ã/ǽÉDìú\qÙQ‹+‚¿¬oÌž‰×„ÅŽë^†^gõ˜Ïíã¹¹4îÉõ™‚v¥U=‡á¸âº|Î=‹²›~óú†°öËA#°?Õv¨òá9ýûÎç~=~ÚÕŽtzwáÆªÁõœýó ×àâT´F÷a𹺬¬ú:JÌðù¯¿·]ᆟØtˆ;.?ÙÙ?ÏEW ³‰Àÿ‚økTݰ3k+³FÞÙˆ*FÓŸžU9KgVÐ.gJ „ZèõÁg–ïL߇®èõX龆>5¬)^E ¯.•²FÓ:J&+Rí:R|Cžñ‚LÕÿ€Ÿ„«àQø‘¿‰Kû¢u|WÑC†&3“ep ®Oa`v݃¢ó‘¡X dãJ‰‘É]nWãðTÉZ_ãq™0–¾åÓÞªò‹NUû¥ÊÀv©™%ïËp]Ã%ðÊ¿w} Å)‹IÌNìôSeáÏ3é€Â%þ̦ë9ômë²Å‚Ç;y9ùYæÐÝm:ë×ã-¸ºNXÈB~‘sã¢Å´Ã¸þXİ¿Z,HÇu2inÖÇuni±OYŒ¡üIÆ&|VyElÕé:bw`úŽ’7Viøˆ³qSå+øãN7=â¶|§‘·]T•¹b“¹Gal¬bIa%6¦6ÛTæ`Sd˜òÂf(·ÁÙ=|ä;‡¨4nÇrÀ(.Ü•Ý7ü“Íüó‘+ïGó¢#Tªƒw'øÄyD>WL† 5¸É×[¿n0ÓÈ¡¨bt½ÓA7Ds3uÏakÇÖ÷Œì òc Õƒ‡üÁ6$¬¨ÁDö…ñÛ }lèÕâ+¿þ`ëA-áõda#˜!Ñ2(åwø“kýË‚šš(¬e}_¡)°C¹À²õ• 4€ ”gf e‡ <~® ÓâÜ¡O9’•qãJ¬¦Øf*Ðä„1]˜#,>=J Û Ÿ÷”üyÕ&ñ¶2ô@(„,¬Úâ¡À±ÝÌzÇ÷õjÿ?¡ìï]÷+‚<° Ûmc X‰D£gV"‹úüfÀЕÈÓ•ÛËaóßÏL vÓxO…L×)œ #(!Á¢¾Ýv»ác`BoЮ8_Gg8\ »ÎŽU¨l¨p(FlL!Ši†ˆ¸.³²m°P‰…Y©2I]Ab*+ã4pÐd#N Å8n1¡#S§t›•&;2 a¡`VžDª‘‹2–Lˆ;3ö\kåP;2ãˆâæ&0¢µsäEBo Bש©yce0 «€§2˜š¿ë@ð€ïÂù~Ž2½¿U”ÁØÖ/ze4/¼ú¸‹õœoÀëþ2Ú) `CWUiva–ÁÃ¸Š‚'¿«Ê¤ ½ÓÅœ€>j±ÏÀϹ躖Ðí,&Ø Kðw}]?<¶bàE® â>ãÅV2 ‹~ÀϹŠj2W\Ðxš®BAtt%ñDDXQGú…vÈeœ‹/]Ù¹ÉTè·\èÌð€US©r(Y‡ãç¤-sxÕíV<â–ª+Þ¦ã”Þ_¹┥'^zâ~RSíŠ|K(1óÝ!à»%âºeŒ»º¯#K·|»\¼Ù^A5¨Ë`à7ÏzÛœ|¦! {<›,% Ædê¢[^Y8Sz4Á­güÊFØ—…8„<óƒ-vÂ'¹ Šæ¡^Â``Š k«· "«¹ìBª¨ÞUÔI [ÒNzU¹ËW² W_ ÑÇ«Ž¢r‹Ö’Ñ5ôû}7P3nYTg˼8D½ªÈôþXÄ8ª©Óå|²!íãzd®CÏ܃| UÈo<ÌaYÆlùÞ•9Ð6²e\iÜÛÔ‡eåb°¢U³crTÑR Q®¢ð׌‡Z¶‘¯ñCæ³þ?èlU-\¾_`e rk¨Xö쨑­î–,:&àJ5´pA·ËŽËÚ¢/6ãºÞ*–‰ï‹Î×Ml¾ý½éõn:]g‹›tÛóÔÙÖa ú#¶€‹1;*4O*æâcTþ¾obV<·+˜&>µxõ|Zv0¿ø›³„–pÑaojù’'ÉŠf/á•-â-þ‡:6h ë|ìlù²e»•È£¥ ÿúâƒôìÏ•lé²"j+C¬Šú|d KƒhaŸå?>°Zú û‹ïø"øûÅNœT‘læùÁå-öç8?M¯÷åóƒÂAy;[¿Ï|’ õ>yô÷@Ʀñ@ò«ó1i|j±7p »ú>‘"ü¬£RÔ"¯¬4~“S’Â1ToIù˜:/]Ÿ•DâùFé(<_ã£åߊ)úbØkÆCÆO•ÌÊŠ4)#Ýxë<‰B€ÄBÆÜž–œ<ýþʪ ùeÙÑAÅ=L¿eÇFݶ~ÀŸIà` crXúëŒqA­Ý÷{uvPzâ¶iäzÝ6ýogT…ɉ×ówS•Í˹ìFû#ŸÛy1aoÚÍ“½9i/–éÆéŒÐ+ÕœJÊÉÈÎX´7:ê@3Þüܱ•(Ó¹P!¯¸ Ìû¶Dç…#D©7¥C<Å™”PLÐ8kÆKü-ÿ>Ý˜ÃØöL”q}HQªÆ§¿wxÝÁs˜”’éʺï:ºÅx÷ß)#ÇÜõ~Œ¸ØT ¤=òd°±DI±¿iòÇ'L¤ñþÆöó¥^¶'zž·}Eð1̨~™‚ŸS¸Ì·D0Âû×ò¼¨ŒÑ’NUü¿êhõüé¼lÒÄùõ#Ý"ž¶®" j6zsln>fl¡¹¢åŠ{oödʸøà œ¶#¿zågd–Óaßu² ‘îË©ð¡ž#š)ád} ²:Tü‡õˆ’}˜rÿ”£ŠÊf5G]Ó“¼cqÙ+¨9:dÎTyÂ>ç²Éõ˜ƒIh^Ç>¡ÓF×íâÎñÊO¾ÔVú+1‡•ÝpXÕuˆ#ÎlËô$‡µ÷ðG›¡Ï‹´Ðç q~ë² n뎫«z²ë*ÖxùùðG¶°xÝ-ìcôù£è÷©®Ù†Ÿouiݼ¨àgwM1mÌfeúÅêX<‰Q“õ±dØ´{ÆYEŒVºˆÝ "¦)=9ªLªe?x+#i‚ŠéPÀŸþütw«3e'­/qèuû   ¼l´î|çå^I#Ä]*¦é‘wß3%gµ)†éÉ£ïóÅÊ ®/Nò“˜¤¨ë~šcÆ[>ðz2™"‹™¶Ç˜D õ•1HMÐ1̾¹fË1ùcCÏ x«+¯ós9+Ó˃lÙäŒ9ŠºðòQU-°62æ¨ÊazÒRi?âçûò“ÏàÈGb¾uŸcˆš¬¯¥yŽž1fi¯y<_²2Ö‹ÆyŽmÖFob™•W 㘢eL:5²4Ò>T8Ýö.šìI{0cÜ9LQLaV‡X$>ãü™Õ¡5kž®âæ¨ã¼Ö·˜3ŽìCMŸ-ûÞüXÁùÛ>°’Àû»ì/|ŸWú œçûþ?°²ß.²•›õ7³U³ •öR\$—¶!Ÿ·ž“ÿ¾âàÖ³]ø „êIŽ}°ì\OÚ§àƒ“ ²¢€[5íùø<}Œ!–ê-U ”¡òö©.Ç‚ES ±eë™?‹9K"éPH1]M‡MÁ/¦'l"TÉ;÷hŠ˜£M™†[ÐGT¡˜*”21[lÅåhT_¿ª{jí¨Ñº«¸‡Ý•¦ÚœnÔ+, a}^°v‚ëßTá÷Ls ãÑDÊJ÷0Hj…y°;P‰áUÒ`íæ`e½ $®•„¹K9C;çÄ8±™$´"Ö¼ŸI]Kæ—)MÈäñš*yô4'S,øg$°:n’(Ã:4r±Ò<+$FËK½-Öªè^ˆ›SÒbwÐt,š'T«rUÖûhÞU(¤»iÆ.‰(Ühzø-{iM¼r—HL$BŠTÊfJ÷n¼"… ¥ãf½+1Iõwü¤^zϬ—â Áœ×yÀûénNMmÌ|þUæR=¶.Òeë&ܘD™æd;ÅÈ”öˆ´ëúé!ù'I½LqÔLqÖñ™™ÉQÉM®,a$Æó©5ÝÕïøsÊ«zm%iõ›˜$Søs*¡ºe”ϯn—PÛÉØ--<Î×µ×ù ; »#Å%tGY‚ëÂîõêù7÷(q«RB—èj²å=5sdÖL¾ªŠ³‘’ª¤[IcxÒ|?¶Â•U~ÀOHî±uŸ·Iî$•Ÿ<GÛÇî o‘ÈO’R9>lëéž™Ùaa6Ü3œ` xß3MCu…L‹]‘¥9&~Â%Fµ¡iBx«ÚqTëþþËÑPnV+jÉðµgÇ„3O'©Xt·¬ŽUc‡[vÿ¢"jÍ¡ÚXo»ÚÔ±™ÙQbÓ¶ªUî&«~þ‘—¥êi͘å ÿg–¡ð™DU;†gjVº{¹Û;˜Êæ{vX»òÁÈK¨Ãy§]„’ÕMüûJ¥;™¯„—G3hî°L…£·ê„†FEOÕyáìÊêX¨ƒ7³Ù1éûü9q‡­‰ÎÀðm¼Ü1»ª‘oQ÷ZÑçîp4=oLø+üôL”«Ç/ñû›glØáUõdæp·Š…Ò›•cžzÞmkª§½(9ÊY2!Ýa¹ÃˆÏ¯tâîÐÌxu@²CƒpæîØÌWxó™hÊê «O‹Á©™KS%=ÓÂp2‡PíÚÕTu £V·‡~ž¬iTÇÅ;Vxpƒ3.E š©a‡ ÕvQÕ7CT㙾ÈZ\½‘”üŸºíÉ‘Îï#ôd†é†(ß·âÂ9~Þaj¼«99$}vV·B¼ì»£Vù}CI ‡²§^WºªÖ§3½ñ ÐÎóÿ–»%mˆˆ{§']ÄÛeFHã0Ð?>ßβ;²®†ê(ðå?EÕïê¶à˜ñyvvѸÓ(@çE÷h'0g4k$Q¸/ý¾câ®èD(2Ný¼žg¯~]ÔnDézÞƒ£µ[)‡Kk7C&9´µ{æ+Ä@€×LÕÂH??w¨ÿzþ‹ÜUë>} ×/‹Ûü‹ø:_³¾Åkšñõy N#ªðb¿ ºNbð_¿ÿî.vŸ ó¤td‘Ðß[¦Ã*ƒ†'{²˜ô{&n±•,ûð†1>ƒu%Î’Hšy\EéS§,€¿F,ùgÇ‘qÏ4†gWUu7PŽhÄtêöÿ·çyÒ¿_Ëç©éߟ<_C3ÒåQ¼¸8û"v|7aùëEG‹©îÇb Ñòùý|uy@u¼Ww«­ÀòSÔïÛþ‚j0.¼Ým›äÍÒUýûÍŒ%`ío†Ïø3cWZmª»A|ÙËfFI£ÀÛ ÚÁj>µ"Ž1žv[BJ\vÀ<¨UÄat?Âçö:\~ ¿â~ó|sZ÷ÝŒ `”ºã1`þ¼ÀE÷YƒCþ§ï‡ö{ÓFªî—†A3Õ ñf5Xþp3_-Uþ{S4X ˜Í¤Xå§ÍóÛïn뮉¥a°ñ^¾0§øu›C,QŽÅ:ð£vP¯qŸ‚Ùìõ|‹ÒñðÜ &: ØÃ3œEåæp·Ö!x¾<ÿQY—¬™DU·ñ'¿ųpSÌ¢C3à8/ì.Eú{E÷1*©×t[Î71GAÜ×¢aœ(“#\ýŠ[½h±Ÿ {¢Ädq(öC‰¯*Q»/âÒŒ óNÇ <óyóàÄmh'ù#¡Q+;Z8ÊâDdøëï·T·šŒà¢9Æ€ykÏÔ¬_Léˆãâ(·$i˜sGÉŒ¢Ž_éX1pÇ-o‚L‘Ïʉ*9g¥ƒeåïlù'Ä¿—=<§@ø w[ÜMcx»¾¬óÌS‹[éNánKÈý£ûWâ!AQOÍӥߛXÕõ%!ÜìQükëV'>•XÝÁÅëÌ)jŒp§ NlwÉj~O:2½Ë—§JŒå~ þzªƒ–wQ˜æ›ðúxËÉ¿Íöµ»^gm[ß ßíõ?vÎ> Ê hðQð2DÛo„b|í“‘eï“^sP]æ¸hȧ4p|zÂëŽ]ÇG2ƒ³­ú0ömèGFhÁ#àÍÎ {ý?R:T}0uò›ø:{ìñâ^ïúŠÝg¦â°ÑoAŸÃ¨XÅ2p>&±Æµ?úMWß †ïâØ&ÝX6{O%ËV'ÆQ€u¹ÇkvÓ£¶j+›Â=cˆÖ‰åCÄ‘"®?àÏÁ8c†`KàûBÃúŽ€Hý 2ó?<¸FÎ{ óœ>óßrÞº» š 蟼îÆ(bRÈJÖ£Ð|ž—÷m,@ʲø4jäßg–_ íÕ÷£êˆH·mavuX}$.ùÀ±ªQ‡ÓîЛ8i® ¬hz³Zì ‘ÓzÔ«X¶×ýyŠ^×ÖݧžEó ŠLÎKID¸w¿þ¤ùÒýÛV*¼lâö¤%§7L¾žðdgt[+ÜWŠp,M x=ð“Žy2|>=a9átLêA¨¿ôÌ O¸+Rǵ̪B{ù-)áÚK~ãüÙéS‚Ì Y.öÐJÒSS3ˆ­…0æÑNÆ÷b²e²½0®yl×0r˜yÔEê‘” )Šö[×kqÜ57=u©É³Æ–¡ç<¬¡é9hhÓ¤Zý¢Yr*1åQÒã¼áG9z'5t-1¯¯keÚÖ©²ÎoÑßv˜“]{@y°\¶]í‡Á_'¬ÛÞwÿuâ¸ÔÈØ«˜#±Çn–¡ÎÀ s]eÂæÏ3 9ïžf瑊ŒAP&J$±âÊú${€Nž$Ñoâ.̶$²½°Äè,£6³2Vµ/k‚ËÓ Ìä‚áÁÊ2 ²Ío¸=ÅÌaˆøºµeiˆ&LIÃ#غ˛ó"f–y­¶ Z$cÏT¬"OÕŒÓs=2<ƒý=éoAš¥þƒ·S}¤$Ps|=K3ãÁËËu¿` ºÈ³²|NºÁ¹#`~,ÆšK†Eþx(à L«µ“‘ bµ¥î>ËØÜrÀ¯y†CVߥ‹Èj¸’B’'ñX\eœÅX_ûÜùØ+N?¦”Ø] ¢ù‹-Yè1©›/¡#'Ó™%¼Ò’¡zØ\MýøX+»-—á㸠ŠÕ+kil:‡[Å€8ãÅ”ÊO’Pa¤Mƒ¼‰/ë–*¹¦‡£ À?A€~ þª"Žë.¶7GÞàAÿÜÖucþ|Kr +âGõ¿MÁ9h<É?lŽº‡ã!6»]·âÁ×Ï÷ì ¢XOÆSî ž¬÷îÈ–È&±²»&{GöˆE“&rKbÄÏ=²­£õV}d+fÒ~÷•¼‘[¦â“)?ûw²È¨X t™:&iö·¨Ç÷è œ*Ji?Ñš¹[7baõÈò«ÖF’£›d)ÜÇÈQÿEG×£¿ {ðß7Yy1î·@ÿêòßÖø& \U–»8&ãòøý³0—…:÷J}Çõçžößö›å!ØçIöE~gM6ª¶;Zþ½iÜd·¡Qp2ßwm‹I†›ÚÎ)2dÈ~Lo€ F3lJ2ÉûËe^ôØ GÉí¿{ΊúçyøØ²™Dr¿gsB³N7þl¿9»„x^£ß2|ÀŠÇ¡£8Ù³o™ÿžԜ½ÜŒGÈJûL<ó|,÷lèb)Þ9Èï³[Ëx ØÓï÷yA~q^ç ö¥å°Æ$Ë.¤§îø³²§¯xdNý¼Uóð oä†+àþŸóòÏ‘•Ý&)aò\Jø>àùíúÚJÿ®øÀí>ô¹-T?Oâ©öö­mœÇ NLJx!Ò߃ ;’ 4h¨¹=Tö&´ôîïumïlIÆS~?ò¼ÆÓUŠ*OìzX+K¾ùý#ßhIVž[…v“iŸï{MreU9ÏURlÜÿ•öh5â’ùþT~Ð2_8²·=9ª²ºßÇÄúî~Îßµ ré°WÅóÙ†ÛMñü­¢Ü´1,ÉmÛdöù»6šmK1P·ÝñAb’ÛOª&‡f+- É… MÒ4Õ8¥jµçˆC…y‹<ç…Óù]»Ušo¼ýóûëÎïÃÓ?¿ŒGýCê䤿P<Ð4# ÿi—3³>Ðs¡Åþ)ŸýÛ~3‘®Jƒ¾‰qßúo-ù×$‹uá€%+ÒòõäuæÓ#ï[¹|º bòqÏú‹gós…*î'΃bt‹üwËz6ÒõŒÉlµ'ù]ûʪf¶„W~4;½«¨œÕG ñxXþŽñu£?ÌÏМߜÅçŒì1ó]äÿ+q_ïµ£ß_Ó¿óƒõ{˜]ŽA{вËÑÎïäõ¥.JMûßÍ8ÆQÞóý~ÔoªÏ¬.•øè'1ï¯~1û‰Âʇ–ãa$®[ÃkÊßÚ‘œ¤ÙJ¡©¿šõ^°Ä‡~)ÞŒ–ÿ^ü¡ xm]^ˆ^à³¼@ ùc·ôËt? làï߇8|Ùe¹™þÿæhš³·ü|Až¯#¹Êê|ÕgŸ×•ç…2`çkü¢àïo2>òý[+b1>ÃclYOÂÆ…»þ3ÉÊ&§/óû%ÿ’°DÎ7'¸²~?Óþ þXgÇpê õø’¸©>?áÏÃl,PµYï÷-ÒÒk@æ%Y~ú~Jëáùy8Mñ_¸þ2oQ~(ÿ~¨»Šç©û¿]_n¹Õ€ô/>_Õ¦†%2ߨÚ¯=™£ú~ù¼‹ã ·u“ëQOê[÷íÉÆÒ®úý<®÷3ÿ·ü&ý¹8Áªï¨ð†úýMŽª/ì|ÿÞ YϬ'ˆÓÝB[*êkÏÿ}y«ï{¸.ëÿî}\Ï× sš1Å ©ÛÃQ¬ç-ÖcõýwæÇÔ¾Xކ´6v¿¡>´¶ûk]ùaÊ"~ Ö†‡S™¯ixyeüOûÞ³ž·å¯ò>wË·Ì'Žò½öóŸú¥ÓþzšâJTÛßÓsmd¿´‹%ÉŠÀýj;ë¹Gùwjkì¥ööÌûº~÷ïê—"ž×ïGýxÐßÏô'Œ×#íEÉᵞ÷=¯÷›%qÄ’È|r΋âs<ÏFÍ 4ηÊi pgu­‘'Wî˱ÞpÂ/1EõYÊ«hsϬüípì†×Ÿ–t¼îÉl¹u`ì̮o™;Ͷ4Ê,ŽRMqÅÙùJ±vÀËĦX;áüJñ¨'"8XqgU M³¹Á³y£ÚáNR‹ç¸AdR}n„œ5ŒWÇ•¦¸ÅU&ù‹è£(€L‡œ+Š';'(àŸ$áüŸÑµ¥Â¿Ã¡à.¬ÇÒ\ µx >Èö¦8Ê*°n= ±à[]pUd|¯xµ1îm6UX6ÖäÂ`­¤Ž4œf¼©þCê wÃfÉ€ÄË  à»r«MG¶lYØ;K??ÿ• 4ñ3'? ¸ËÏ{¸€– úP½’Â#ö³ÞiM5/dÍ¡ ä_üÞô›ãÈœ„Ü{<ÀøÙ…&ÿ"Å : xq!4f^k|Åý¦Ã6Æ4cÍý%‹îã cðš ÀÅ•ÛÀ÷¢4$ø­¼x~Í jpµñ÷Z˜/µ¨ªÅ¼»ù®#L-TàPÁZ$ð~t¿e7Üç7Ÿ+½BÜ|ð‹v."Úy§èŽxE]¼ùH¬Î| å7ñT: Ò‘}½*‘:”×ô´•FãÛP°s4:nÞKg¾Ão·£ 1¼ Ä„[<-YIº»|.Œ>Åðœ0OCjþv~Àú–ÿæ¾ÕÍþ£ŒUŸºÂ±]Ÿêp7ù«rúüd¯΢g뙜å=³¶ÅÀagÞº)gt’g°I€‘Lã «µ²vý{^HCµÇoæ=.2tÛ)È<4ñ³ówšÛ0ÿ¸ÝåoÃ’©ÊØ€‡"ŒYmh0²[JFãŽÔ[kÚ ‡ˆâä`2ÜãCÓ†>D!9z=)q‡\œ8÷Èò–Crņ§*bPDyÈcF²‡2äx¤çYU"o+÷~³7’}û÷_†õ¢x‘¥´¹¥kHˆ&¬2‹/' ’i¢ÔDÊŠàêÕ†‚¡[v)cB™Ž‘†Í#Öçëªõs$ §¡Z hÛ¦¢œ—áBF–Þ>n'`Ç:Ž;P›…Hµ=õ»>2ÌÙüÝlÒÈñhiS·GŽÉ»k:Û¥¯Í Ï•—@ú‚ ½¡*Ï”–ðÖ«C‡|3½;ƒ7Utr’5êßðÉ>#(V• : tòjw bÏÜq7´3l:ôKÅàé¦c×Ðv…Zñ—윖¤eî·Ñ¦Qï+Òú„YRp^$‘q ŠsÚ«ŒoEa($ñÚ‡âEÈ#1´™#šlxª.—–2›ÚbÝåßïÚ»ëÙµåKÀ]Tž4²þÄŠµ)öÛ2‘ÀˆE·ý&$vùz*Õ.Y†áX°2œÊ‚B?š»¹K†öñbÂK$±v|Œ‘”®TW;е_u)©+•‹šŠ ë^ê9rmôHVÕÖ”áJ’Öõt g'k£íª¦q!ö‚¡Ðô¢ï·‹ÕÖ½¡„±BÓ0Ík£Äz»°¼]%%ƒ½€Q>Ã}ÖÞ¥|Æè<7”Ï”,e5yyxJ?ßz*¡‰åÓZ*¥u±tÜdëG RWæBE!ÈÎ,"³†º‹ÂuäßÙï$B.ƒšAuQ«KË!ÆZ‰÷—‡œŸm$Œ"¨0/ÁV@–ˆ–\ÿ1¥1Áb›œû9#uÀ6û¬¬f y'Ví-oöÕvójÛLÙŒi™cä¬ç^Y9e\µ¹ Ѱÿdz÷ürPÄ!vz¶½ãˆýÌ6­Ëƒ{éžåµR¢éÃÕ „,Xû9ÜåÎ’ÂG;{ƽB‘s¸ñÞq±uãGî´ÑŠÑ3¤ÐŠ¿¹#‰ýSX€6ÒÂáõš+ü´¤>ñÇÀY%Çõ ˆ"é1Ke‰zL’T-šÔ o¬à6JS²–M‚ìnFçl[ø|ð‡]®Ý,š°É1t>¸©Ãvw{ч•p%lÊ|ÈÈÐÖÃmÛSµÔ°Û2qgÙø™ø·I¨2]ÄÀ® ŸHQ`ªê¦Š«T'©Š+Uï}«Þvã"€ê‘g‰'à%ZLÏ6MÈQ–k‘!ÃÁÄî°@=&Þœ~‹êï3uŽ:ÓVpp!C$f)ïBWÿåV­(ÖIÚ»h=‘Us”#Pþ˜-WÔ0‡EÁ嶨$Ìö&eÄV—!ÇtC—}Ž· xx=Ç,Cå9s‹·ŠEÓ:ø‰(Íí€H{[­9Ïù4ÿgbÉ$<Ú1ðo•7YàÄJ?ï›»ÖÎkN†¶2×ô&½•’•4"^e¥m¯͊ì"iÂô@MËÂÐFŸ#w¡pn™ÐaGvS(™µ;“4SwàÎt2¶ú+ÓaÇ@dþŸ˜•H¢†–dܽ«^¤zRS¼VÔ¿íÎÖa°ÅÉä*èµü$‡eXÎ!6Á®±\ç¶oôGCÇC‡Ú0hůڂÑ>˜,^ô£ýÅÅú)§*Šéz`§j7ŒSµ¾?dó-ÊD ¼V´XW¯If¦ÔpN·,7;³9»ºÈ^äÈf\|ÕÜ¢å1ïÆÈ›Õ9,ëò†ØØ‹cp·”qHvŠäGÓ“4y¸t±õ&ÇL)‘d‡*¼rºF2WïýFæ˜Kä™RåR7Ùë5­?¤ÛóõÞßš]sInf›Œ1ÝL·L×?ÙžC±G¬¢oµë&ñ}À†ÍóÜK>Ùn ß¶ä×ÌçG»™å ™õ&")¾ø™†nì tu f¾.³¾žWÏß×ßÿlT1ŠÐ<5pÕói1¶ž×J ^†1m¡¼üb%¦¸}K*¨V‡÷¬¼,Vjjî*Ív·céç°±ŒÁ79¼D·ðßѼÒ%§v“o[ÃÅå*cGœÀ°ý³z¹ÊÜIOZOî/Ÿõ&N[T—À`?núæM§éQMDqVB²Ø_Õe¬Yܧ|cÒ—\ì_Î|:‹.R²½o{áâ¼èë¸o%YVé«xâÿnI§sq?åÄÎ-~Þúw·xÈC õÍRϧ¥0´jÒ5w}Ò0z Ñ…¤±Îå¢72á1®Zöàe7¢;¶œ][?Ÿz'‹ô)à‘Ìä)ñþ—Mü}¿iøI×c‘Ò}gëû94¯‘é%=Žæ‰€§1ž÷)Ù½¯¢ƒ”¤«6Õûïy ÝÕ-tïCEüHýšîfÍ#zÎlš×^ùž %ì(ÿEºçw—é¡“6XÏ;@‘8Ι*ž]óÝ©ê:{þ¼æ'ç)8Oœ˜óã©4IF'kú¦?›PßugŸö4U6s9ÌáE—³ð.K20KÆSú^ÞxßßöÐ_Ö’ñ1wP‡:ö—Gþ-²¹½¤/س¹=ÕY˜²OŒŸåïZKÿz^rÇô¯’O>Çþ…‡]¯Âò~'ëlù¿Ô‡8KôòÜe|–:/‘Rð¿ãÏ.ÑQµð›tƹ\Îó“31;K¬ÍKZÏ1Tc½EþpkyPK²‚Tn{ªíJh¯v àŸ_ßóßî'ö•?ÏÎw„û[Œ'Œb^>¿î,‘¾$üH¿í°ÐÀñKT¢Ýd qá b‡‡P¼W6޼#^íB ôžªÿ l`£ø«áÆ15Ŭ-2%'×·J '×Z†Ö“LSb Ë‘œˆ¤)ÒÌ ž˜šfzבÔ8ïéd¯ò™ò¶¤¤šýM )ÙҔ³Kš%’y¯¢ÆtÇLëõ›]W;Ù•S£œ3œ:¥k¾õ¹%í8#]9¹LŒ@º±¥>úi&0_!uQ¶CãÚsŽt•3èÞ2#f,Fm‹M5L¤î‹¥ò`ªx1#Së­çwºMR«ãÔ­É•FîÌP<ÛÝ00g¼LE¨ÑÑ“7Wq,½ç}ϸq6’bÙ¹K{#ÉÏÔ»èõg£|µ(t®Þ;y¹r†¶5Sar?jË«¦Ònm7“^Òš¹ÝiÌš[$Ô¨QqH®F#@T¨,võ˜ h)ý×<*>ú5æÍGºz2ëSª­Iú­M}ߟ÷N’B€ ®VîéêÅ|ÿqíïÔ™_ ¥iºIs½jàFÅ3ðÈFJc®®Ð ¥ï¤Á@é›n\•ºj/Ýâý`†‘©1\ÿ,9tI 5ò“éÎT7‹‡Z'ÏîoQ·n‰–BW-ž×8¾EÅ7ßO†,ÆU»æ%æø>¾CxUcNVx¯îc+¯bßíªíšÈD3½¤«M†‰TpôürR’x¾ð’ÁÏ+ºIÆâ¡io#¯é][ß¿YBC£âùóHÅKd‹Ï—£àY‹Çç+%×Ü3ÔÃ(øÌ½äÙI#JÉÔûç!M“kíÕƒi¨HçïG }o}ÿ¹}¯ì-{Ïá;~Rú:KË>¨´ÌZþÑš$•É5Ç\‹Œ‹Ê\6웋\¹îZ‘ zé&7—&ß.s– zÊ8ÃW‡|¹,…²ÆœÚÒë ëY ðÝœÂð‚!øî%[¯°^d=øjM=äÆÓ»¯qbËHv;Z³L–ÍM…è’9H™Å¸e+NʦPV!Ë–žÂí·¬f‘ìENÙYög””QU?Ò6Xæôà”å¢Ì–Ë@ÃßÄJ+‡VéšúES7õÙ-”É!kQŽd¼›Y6¢i|µáÖÐ÷ÏW;`Sv»åªº–äú!Ù8`K¦žÉ2:ÂúÜ)ÛBß¾r*¯é| ÅŽ°5U±Ü͑å÷r‘%#Ëh¶u+Ëh;^«ên2þzºÃ|Kfr«ÌD\%S¡»Í æ–™&–Œ´ E,[²:Æ8ÏÅ„®®ÄÜÉÜK&Ë HR2€ïßO OiãçÝxFóý”´eœ"j)+Üå;[Ú^ôA±zß¶ŠN¼eÙä?+°OÊje<´3—8}=cô0¿ b•:}5Câ™±À!¾c¢XASv’±cˆ>Œ·b‡š±BS¬°’NßK<“½šeœê©ÿ©²æ—šdSÂe?ڛ¶‡Ò¼ w¤,r¨ñ)Ë¢zÆrÚZŠžÂ¦,³dyNÊüR†¬Ø^u6Œ9Ñmo¶ÒL•‰:óu„\õ]¶©[6%dYM Û›¡Õ^ÕR$|Ëü+ÆEâýÂOdBX6åÌÈ÷;ö}Á+s3bј\9$µoÜTv}Ç÷÷Q®¸Ïƒ Kì”}’ã‰dÕ½áñ¬lÀó\•R}£LSs«ªvnŸ$´‚Ë[WÊôHÖ+wòÒNÑzöÊ;kSfss‚ç,ÀŸµ”ñڤɼr ÉQ]çÖ‘ @I¥Æ±rɵî2å-RßʘàÏö`i†bz‡}'¡¡ç”2õ ŽrKµÉ$WrõªêqäÑiêUËvJõ¿¡}KˆÕî©[‘ö[NåvåžÊ UâÞYŸmçR¬§UMyªM9Åéב—\ŒÎç3Bõ*šº¿‰”$ζÙ6ÎÜaIæ[míáÛ¼ÛlÆùó(ëf.Áý"Ê5zâ¢ß7² ·%;{·åv}•?Çâjê^Sþ¦,ªV5³‘;~Pk(óm ¿Vµ]Bñ"Ûöû}ŠvËß·ŒG–fdœ{³ì¨6Œþ}ñh…Û6lÓŸ×ýç°_|¹§øa‰°]²v°”ëôlË;7ŠGeåjƒv¯iÓº`É,5•ùGwî§$ÃàÊÝeßG¤,¿Î˸eûHº©I@æœÛbYOµ€ !¾×LɪJ,´±s8w¢jL0~T[XtEà[æ¿*ÞŒ”•mÆÏâÝÇènÓu~{úc"À.ë«-aYÞ®ø1r-C§ŒT$í€õS±Õ&Øþ¿ñù†ÛÈìw ›ÿ¦„x*ë49Oñã5|/ü¯1Ûx^+@\…Suƒ÷ß2´Ä’ùuíËÖ)np·áÔ¶ÓýW Å¶Ü2núýõQ-¡h¼PjXߺo…ew—á5®¸½dñý¾ïÛP›Ïµ9µEw{µÑ»Úr®=XµÅÔQÄóˆ‡wÊræW±ûkÊµŽ”ñúz^Hš±5‘ÆoÂ+¼ØöÎMû`÷páCûí:öëÙímStXªOý¦ÈýeþªC~éñº…&õcµlÊÎwL=ª9S¸‹òd¦iû®÷¶N*Å.©=©£ ìdq¯pl÷Ü´žßà–ÌÔ›T¸µE¸§HEõc±û%«Aâ â‹‘Eذœñ!V ÕKÒúuó¥w÷¾§Nb ëq-q¯'Mº®‹…WŽ‘Î]no:E~€Õ’fo³Å¥•’ºQ'ñ¤Tò¡s=÷L"s÷“DÉCÁcu„uùÞˆ~XØ;YÔzXw™wQ+cø–#<,=•7¸n·øV]‡û/ÉþÉ©º5S_ pó­ã-lz*Ç*Êßn¡FÔ«ÒåcÕL´»Z§ ß¾OÙk±jkQ¹Î­Šti¢èÖoÙ÷’¬Úy§ëw8!Q‡ÿ ϶çGiö{+oKÄ-·B%Ö×Ìt_éBâ'ó®‡{kÇñ¸ëõÜNµ'>LVr¨Ž&ým¹©&òNêcmNïŸÔ[FÅa¿iª°ysÎ+­_Ú®Þïí{ƒçä>`ÿ«çvžÒS­Ÿ-†šc¾ŸÓ¶#ªKK<É˪›žëN ”™âlGË´Ûö9˜Âgæ9ÐÜêÈq‘FJ ?w³{¶ˆÉ÷®)†Ä²Il§­”^PXy² ÜÄÖšyêÛ`;§šÊïaâþ‘ýò7;’lª]üÜ7­ò.¹[‰Õë[ºw“º“›ž» j¼¯øåÑwêöêÿ¯©IÁˬ[u™áéy3PÃÈ›YÄÉ•›z'ÿ¶ØÅŒDÆÔŠ(|•Ê•L5½á©ô—¨Ç;~$è'ǾlѺKû•©æ‹A_íñ2‚P›<–4lc¾Í.“F é=Û–§¾¸ÓVtâ•­§.#Û”UgÊ ¥"¾Tr9œÝf°óŒ Í1æ™ÂR}ÔØ¯ß/™ÔoÁ ¨ÆÆ¡ºÔðvÞ¦ÑÈó|X_+nr=#¹È‡úZÃC¤(ö_§qº}ØTRœVÙh¢I¤L\“ºÈôní&ùù2-¡LÍò’,d)×-sŒ‘¥\ney¥d“ùòì:a|å@Ä#Â`eh'aPîE™ÌýÃï\¨ZLXu'€½IÜbµ¬ìóç[v¸yq€þE•G/4c‹L¬U†ÔAŽC«ÐÅñèøÚ$qp–…©J$V¥*u+3›“œâ—]ogç¢c BíÜrÈÚã7™ƒ{×ê¡YÝÇéãa3éÔóì:(é¢ú$QóIpÉŠœ™ñÕhÏÎVu¹ÏFn-(-EßEJ,ý% nGé/7ÕëËM= Wº449µ×ZMÍXH ‘™p®LkÊN»©ªß“ÉT„Õ½¬‹Ú3I‰'™ 5ÝT³fm2—º˜ vC=™ ;¥Ä¶&£MB"¥nϾÒä¯ðçê1—ì®™B:¢“¿ËÉì•ÔßÎÊþÎx$_ð2³be»/À½íû/ž_™Œ±<4¹·=ß á·RÐÅÂsRJ›'K¶¨wSÌšš!/}¸{S€ñ³Ìµrˆ®+†}”S£V•¤jU&yǘÊTŽGRñÐño™oœ;óÕ4üñ¡nÅ-€È´6œ–ô5iŠœš-rÅÄ/¡Ç-ÍåÌçh3„¿ Çþw ɮ̄ԱÔb½mu•qXkˆóo••(µº­C˱B &F±Y™_`c„ë‰~€“ Kõ~Ïñ!Y;÷ÛÒ°ÃÅýÞ©*Xd*n…Â&Ó²ŸSÊ&M¦$‰+ ÇÈùš”Q’€ÆßA²@¹×œ¿a„¼¼_âLñ¡÷ SÙŤ!4øË⿟!SáF=±øË2“¦Å³YMyÑ‘OÓb0×\è ,ñ™Yœ¼ÌtÍü͘@Ä&ÕwZû%Ò˺LK.nBz9 6ÞUL—%2›†nWˈDÄe „&×»]#ƒöŒn¸ŽùJÓý;ü¼.Fsì›ãHßTßÖ>cð§Áo§]ÿ⺠.µð’jðí½œ´šúÀ;×OV—žK‡Z8e.,;‘já;×ÃæÀëÉÂåÏ©¤¸h¨æz1ÈC}­šãHÛâ¤Y(ÝJ¤)y±°0¿v¶)6‡²•Uʯ+ž(YUXó%Ѫd3uO ¿e½›ƒF§çÞ8²Xïbõ&7úØÁ2@`±dgŠr}ês^°(œ¨©ï‡fXÉçÞi—‚}ïøY“, *áK¢ÞêI+gì4¶RBþœÌz÷ÝT–{“ºÕ˜òõ¢™…u7+–2[ Owþä[šAj÷LŸgøžM¡sGȧfóXd€’ÄÓÙš0œBï¶ý õ¬X,ÆqœBßv$"»æÈa‡Wz‡ªU÷”úôŒRN±/áý“Mû{ ½¥°Œ.­T+œöª°Û‘T z†o©¨ë3ñR¸w+ì5w#»Ýä°»™o ñð%mRóò¥9•¾Ÿ5÷%§Õ¾ß/Iìù6#»ˆW6ï—f‚<Ã[ôïïÏl†×Ôþ$;´“3ŒA.ÄŒP7nÂ"÷Ì­æcÕ§w†×§>44£³p¾53WtŸtž%k¸VúHÍ@®Ô>=]ÿ=ω¦gÕ(1Ÿwõó8†áŒ`’sªf`KúÔªŒ¾=jÞ6²~,éúMŒóÛ3€nú~{6c±«fk'£šïš¡î©Ê¬Ù#3ÕÅP3¶¯lÞ/í`^/òèÑŽF…ä½0R¾g¨Õ¬~#j'Û(¹c—N øa_ÕÏž3˜¡æiOµ· ùÚ·t2Aò!zÚql~„~LN(2R –i#5¼|ŒÍýì X‹·æëˆ‰PãWóŸ¬ØÈvŸ›ïG3¨%gdvâz§±fÈgÞ¢Ÿ_In)zýäLùÑŒ¹Z«Z~ \óþl÷ÃxéçEþ›ZÉ2“<1·flëÏ3¥?ͨ ÀvϨ»ä0rF½K6tfUÔƒK#•®›2™é¨{d;É.SÕöš3èËAK6ÛS…#3î• 7™Vd˜íÅOƒ]ª(%Ýš9× ¥ý\u²‰<é_§È«?–3ÿ¾¿ò‹]CÝßvyW› VuG¨Js`YÔŒ3ëê@Ý•…g⥿òçoî[ÃAñ¥ó¹{[MrhÌ7ò·â ÞÇG›UZÑ ¢fÿÙJváí?OªS‘³%þ¸­®ÛRÝÚƒïÔdk¯xˆ+”¼ùä&ÓÏ»’.¶ÉŽ7 uõk¢f—_ÿ^šYZí*²çç>åÁÓ—}ßóEög9¼Ç|¾Q ‚˜ßc}‡ù™4U4¼qçkáüßíV²–õû"ÉÚh§l¯…4z†µm™O ßù$ëΗᨌ½²“Å›Âäo§~ÿ¾ÉÜÞÙ‰÷ néÒq†ÒBí^ÙÚ¥¢ûÙ5+5_Ä.™ƒÝ*rFÆ»õ`ùÓ®•gÑs0œ´!ªÍocØÈø»3‘sš.Œ¢oÇAð™ñ©vÇÊøx‹|Ÿ ѹ³~32¿ ùcùÓ¹u>Ž‹¥Ra|[‰F6Ó›½ØŠ§ÿÏów>Ùd›êMû±[v¾Ä¹Ü‘ØE=ŠÈg%ïgÏü±ü¦Qx$¬©ÁtT_ëÙSÙyoVÎ’ý¾ë¡¬w:¿ûÜ2—Æ\ ­ ‰x2,»Évš,‘Äœ-Í;ûG­¸Œ/÷Ìè;ÛÙÜYïxo¬2ŽÔ\†]l“žÄø7ý+ë93믺ÿ}e<¥á­nq[àfËJÿ®÷<¢TŒ£øcI£†»õÞW¤Î"û—E¬ÈáO:*a«|бw®Xn¹Rq§ÆYqÓ#‡¡v¼u2­q¶S¨EÂ&&Â=±¯SöŽe´oâ£û§zXÛ–Îü2ߌÜIÊOGæ1ÿö´¿ó^±ªaßǬ7hªXñO×Jßa6zH€LÕ㦆µ›W¤jXñ–°ê£hÅ¢9ºâ'ÃÚGçq<¬=׋# ÿÚ5<%¢PÙÉÆ\w'[B)7Ën¹3þuKÓîfPM7­²¾ýÕôj"³³þœl¯è­·°ƒ…"2þª×?Ó(Tx°_ÿ-¸O*]f@´;˜©W·É8.í3f…*»Í×#š5i¹ÅÝÓÈÞs…*[Í×Ûž7³ž^±d6¥®/ež´1äÙ¬lÁlê#¬”þÙìš­ø¹k÷·ƒíš~šR*†T×ö²²˜.ЉC…s/3«í­Û¹|š ib:äÈé«&Òu$)[.RÍ¡ËaDÍ¿Ïo† ë#ÛÀU-gûV[xä4”Œ"rúLs¸áƒ GQ[+ùp'DL#§—§D·T`Ò~!Æ Ã¾çÎõNòµé–1 $)»<\ÀH2ªþýqßTã2 èVâþ ðžˆ"N5˜¸.…X× Ä&u‚ÜY-Åë·ie %ì¢Â‘ *pµrrß$…Ðïw¦ŠXè.ù«³WNC2 Œl VGàÍn½Y«_jeÀ^†À;ÔºI]h‹“j ßw‹õZ·5„ð´\ïä,µ0-©Ûí-Ï0TÜÃÒzHí ¼º¤¹)­yc\×À–⮋ÑÚðEÐr¶–« £ ›ù Œu3Í â.ühܪh}Lá×þJh­ärAhƒ»ô¼JÕ:•lÀ²)Òѱ«:€#_Ø*r$ò6‰”Jq5nþ|ÃçsÂQ¥¾Ï‰±Þ¦õ— Tí[®7*ô|ø¾Kbìߊöú{Xž·Z §=€äþu¾;ñU"®Z‡»@s9ˆ–àHÅH1 âXÂ^n°vßלðÃþ²&ìówôûoÕ~ªE‡”}¨L…Uõâé]Þ‘êj¨çŸ®¥î–ç_¢¸Y@".²jx>MþAËSZKMp~#Õ3°¿­Ý )Ó-E~é_Ê…ÓawÒ5€Pq÷%0ìj©ÔÙYÂýÚwÁózá"ðõùZ6ø¨F>…)? m=PHûèª0.sÑùô÷˃€ïc§z ϯWüæ>¹–«PUÉFãV^ZºÚØ)9†û3Âö ö¢ºÀûƒï«ºAÕ• s:Bxòû­]„ý¹.~«·ýÐ2™ZŸqª %4G¸‡Ñ D‡Œ™«3Zé€ï†Ír("¿:› æ~xÔªmK¡†W[BLÚkÓ–{»¥ëoooÁ-ü‡­Ý"$†Ñôj“›Ô4ÍÂZ%aÓ e’-›c‰LX¨ä‰0kÙLÁµàƒ\‡Ws©×ë­½]Â3àqi™e§Z$x^ ÓÆ†åØ¿K˜x%F(³î«/ýÍ5^ 7ÀeZ)â, ¹£V°rOQH¿w‡¡CÔá‹Á^Õ9”¡^{Ã8ʪÅ]?Ô¾êv`ïãÐTܽðU ãéórŒiz’•´‰4‰á*¥#|äÌxá'W›W.S+ƒÿMˆÔ`»s·øi†É¥MOaºÎÕDHIiܦ5¶)'ØÄ4ž09òú±Ô½Œò¹œ «âJ^wzÈ´‰.?½u£)Ž[Åí„úÜJYL¥a+Gœ$!²²—ÿ;ü¼ˆ°ðqj~S §ÌÔPeÈÊy»ÔQƒå¬%=1ï òz×Çalæ¬ËÓE‘Tõ0®?"‘V|}5¶qGF˜P<ޤ3Rº#R}p|Ôj+ÌÙq{¸!Ñ·04f½¸”CR“š´3g¨Pz-¦.5i[!‡4hï×QY9¹ÎA5ËvV’öµ˜S&ùz—&mÍב韛z¯ýhYº'–&íοÿ¼—[Ÿ‰M} 'OIé-{ ûÚEfæ2µKÇ} ·–Ÿ­»LË ‘¹Tm*P$Zh3¨ºœòò!¬«]Zn+ïòò3YÞ–;Æf•éPeIžÚE Mey¡%$ï¢ »L‘òퟕ*8ÀZ û-܈½s–!<|Š …tz8’¸K"tc„‚Ç,1Hº ò?‘;iY¹}Ñ¿ç¢ÕÑŒÊm+xoK 4ëÀC2T¡Ná\ûø‰éʱ%Úü ˆ@¢›0˜¯´î¸tp|ªu3\†—­zïжéáG}¬n¥M*n g¼ƒdnlXä×0¼JÞûVl¯rÕà‡áâú)ˆ:¥vprͽËt£k‹½5(Wrq‡uÿ>kR³XË K2­^M(mH¥˜¹5¸“ÓÁ"¥À2ô[aló¸Ü‹BlZ’Lð5ð èÔ¦ÌÓrñ71¹É&7"Ål"ò^ ýüÑ ðâ‘ÚyËèÄ“øÑêÂ!Žæl»êOJÌô:S‡LbªÅ,2,SªÓ “<Ìî‚’¦¾g“Z€zUS›˜ÕÀ¿Õh¶¼ð¸,Rž±†|I6k8úZâ;û'¢¢èÛ«]'QÑ*,Þì‘h^¹·ØK!-HèYãX¨DÎì¤Èõa "grÈËÁ‘(ºÁ…eô$ëMl)rÉMÁ# ­è…Áœƒ·pËiA(Z„# à§pÁDKÞÀŸøÓ®NÃíkìÝÍ‘ÊKZmïѹ'±½'|§¸ª^­}ð–ïé$øªþ7e,YÐ)Òܦµq;ޏÈüaIr·å£6±òïªg øã†¿[¡¬ÃDæ÷\ç§øÁTvÚ Qw[&°%©ô n¤áÞÊÊ#qSûøˆ—;[k¥î´©ùK÷ã5¾K§¹3AÏàÔÜÀKK*gä¶ŽÄ=n.«pr¢œGf>“^8ÿ*gG*ÜË.JrKü ËB¬×îÎ*MîqÈ6îSΩºMÁˆ!k¡T¹#ˆZÎÝæèZŠìd¿J½–Ó¢÷“mÒ92âïpÆkaMVòúþATò0›VŠ~ÛÄ+˜¯~ØÙæ¨ð{E•3›4ñ<æ•K‰`âU›Ôf<\-4¨U¯{Nnwgñ¤á,~Žíä¯ëóµœë£°DÇk1®óåþÄíÁ¼=*i$ìfš5ËÂö*.±0±¬L„V¥ ö8+(XfdwA—ÝI§n  ÊûïjËÚûØ °¸2Z×Ó´åÚ¿ãšaJ²rzŠ}ž\¨N Æ*ú·¶ƒøXUÇRX€“\ê¶´ì`¸»´’’Õ[° >ë€Hê1¤÷ý‘]9WJg[c›Ú£ÃØ«Jþ<­Äô*‚Âp¥åh7±ÅÌpKÙøÄ¶ùûJ§•¨©€x”G¨9/±²&žpF ñ;þQ!áÏGÞ)͈=hå÷So‘±Q›5;ÿ,/LµwºQlg—Áã€1Be4LzõAÉ2FD!kwô‡\i*\Í­Xi0l†õ §U&£:Al¼Nõ³i„*„£ò!6±¶K„ª°auà®лÿŽ*õR?VÛ!‚q¨‚øõ‘M½PUZV¢åöˆõÓ±'qÙŸUZüƒæ*Zºi PO¡U¥ÞâOxSÖ‚Ej~ÚÝ ¨ÕòE%GO~ÍNLÔ˜–ÚÓÔ—øÍKÀ–DCðš7DIÅ$Þ …á[цû/•¶¤÷ÂRÑqôÓ‘­º‘Ñ3·ñs)å隸6.¯péÞ,¹N’4E·¦‚±ÔiTý@BXÀ źWʈ@÷/6ÑÁbÜn%tIø»s* ê]’¤#U Ÿ¨3ê¯ûѵrg—ìÄ‘*ÌÂý.5jåI MÍ’~-Òƒ5‡§mO!°.ƒ§MÏÄ!V½G»w€]Jä3ž¶¦¶4®Ýr“j ¥æ”,"YrœÑâ«uÑ9òÖ =*E{J˜SÖjuÝ¥ÈnüD‚é (Õ뱊HTò.}†uþPjæymã&.x¿‰‹?ov²c¿¾¯®©¶–*]’ò,Íß$¬­Nó°2IJë´d½ØJLIYêÙýÚ³“N‡ƒVà ãrˆ[)¶ªÚÏ¥û¿R ¹Ê*K‘ü×néž™6¥ùªãlTŽÔ®±L™ }Ô“|+W­Eˆ-‘|½¢.[o]Qu1F–ùï³j]vÚãz“*ÔÓÑ© ·ø(y4+m »¤I²X"]ì›O÷¤¾%ü%þÕÖ£L<@´å$EÍí]0=à[¥Ü%LºÇ]˜ž!þ–·%ÑvÛôh "žoþÕÊ® »~äkeW…¦Ç¸8ê H‘%íE>VÏ£MþV{‘2Þñg>'/¹ÔBÛM T ÓtˆÉϪ:l6"EäU¨"¥ kâM‡&mÜ.!þUK¾Vÿ+Ë.~`.ug—£Ë_§é “xšMI;:Ï!þX8"VWõÇm?ñµ†øW#«'_MÏûèu%†}ËôúóáùÎúâS’¤£×Uºî¡®NÍ.ZËŸ×ùêlÓÔ$_”¦¹d}1ki%Mâ¾vÇ?!×R²ëßtÿÞºft åÙô­h¯…kR?¢1Áé•Ðèýf¶:®)æ³Y¬Ã£¥••Ð,‹"’›½U2ÖoO¯’du[ðcè2–|2uºÂ—&wt’V®dñ„¾»ýÂÃÐ"Ýëø‰MA'3E «8•Ú®8Ø×¨)ÃÚû 53Cœ)†#·áÃVù¯óÛV糋h<Ò¦ˆ“ép„Æx$§L‹œb->¯Û"°!°‰»&QLCÑ»þÆY¾ñçpféN.1€ñýßœË12W8!›ÊðC¯Wu6ÓGtJ޵ÜPæU†­y¨ƒ«Ç[¸Ú§ÂÑììkšþEäÓb÷Wg´¹î!ú#NwË!yvÆÛkè}‹¹cü9œç3ŠÏGg\Ä÷—qÞ„cæDtð}ÕÛ†ÛÞr1‘F†+C9ÉÍô ÙÃb)ö/YÒó¨;Ã1%ªEQ`Cà“/›¿’SŽÏ[3µ ögžtãêðåÑuý½¦ÅÀdrù??"ž¿€¯‹” döJ,¿£HJÎH=,'0ëuñ}«,Oy±‰¼ ¥N–«FŽý'þýý¡‘Æ4ÀÐE®ãv$®í÷û/UÕZÓœ…IäÆp»SˆÌPÎz["1䨶`Æ|:ßæ}_-Æ(cN˜@ÔåÀÐáœCG¾¥¡8–.½¿é(”«õŸâß‘?Pc «~áùf{S ì 1ùÃu{Àš åøÑû”ççAþ@Ä&ß?’|ƒÃéºý~q‹Rí&Í> çíó}v äg 优ƒa€¬y\SµÎ\xŒ$dó©™É6þ¨qžøÕû5èˆõä/…·4Ž;‘_Y“òyW«Æ!IxO‹t¨ÁÕÇý÷IÝæ¨t’Â÷zÜSÄ/kâv®’ûªû/PCwßg)ÂsnMHHÆÛ3Ÿ¢šÜ5QÖÐGíÚoïÏêîfk^O‹ˆú¦U åTóòçö@8Ë€N>:_Õ ¶Y6²¸YvcbѪn#/ÓÉw¨4%@$9†ÁËÿ;Dé]¶pCÛèªC–r 9À+|ˆ5ìZ ræy/t†¹ì[R×á»×dbP§—Jâ,ŽÏ€dª¤%ùºd‹r¦ÿF¹c7’¼¾²\9X† @=ú„3Î?ÀB¡h‘7]½³ÚÏt 9²ÏëGÍK£eb¹ÅëæðOùÔ_çx·«AzÚh‰¨IG1’ŒI9$B+¯¶8²4(C×Òwññå"!´“Éå@¨Üi˜-"¾š@,¤u]4¶XC銽r^'Ý8x”W^@å­xVã‡ø pwN?¶€„Cÿý7]ñ:-nyGy>¯N.#¤8†ž'®k£qzØ+œ?x óŒ\þ1ðåÅÒu‘¯{½å¸Qð‰](7î4‡hŸZYŽü\§qTÜã@LM‡ŠuDiÖd¹€÷¡˜7.#Ê«¡8»¨j^K]¤¸™¢VÁeðÔåx¢tf¼ÿúóˆéïçYN墕Ï?§ùy1[xS]”åÔpû‹Ÿ—#_>ßœöŸñ”Yïæ;& ðAn~¾‹#?óœòý9¾)Ôgš±˜Ïæ³bÊü@̼ڣ‚8Ü.áû×ÏØ¨¿F*•¯I 2)ûEÚö†(& (ïnl"6ÙÈM.Œ{’¬*Æ—J†&1!ŠþF5tV‘nÂÑ›« eõÁQ­ë Îˆ·‚H4VWF?Í‚õ×¥Zð¹ƒsvÃß_<ø%‘=€!CìiJ–k¥ºü -¯x#×Å#’« hv q»ÝRG [LÜ7¼ Aûf*F9[-¹ÍGú´[¶K„6øcßu%¦œN·#ÚX }è¾ñ×'ߟÛΨ¼ÙWâôð¾éŠÁ{)žÆpúùyß|ÆoȇB¸Ódœåçi†â~Θ÷=mM!|B¨ %™èÓø È›F‘_$´Bhs–¿ÇL´hÈXb´Ù=–P}\›š aYR-€± *m3Îó¿Lf žêqhµPˆÐ?¢53®„frp=±¹(Îvgoÿ>hm…§Càý‘\Â÷%ÐÀ²®)Î÷Ñ&™¿KwJ¤aÚù…xRB_’ü|^ÝjLm[b˜¸äNI¸n‰Sjg<®$â ±%‡õýÄ=öAE MkSQ(Ë×~dKÄÿQ)D ð‚•ïÚhW‘ AùÒl‰úñ+^æÂ‹Û£“·œñ÷/ʘçqÏ”1Û×…ƒÓC6Á•’ÁÝÛJ tƬ'ú†nIöŒ¿ÿð~y— åpÝçÙF~Ýd«BtÆãÝó¥Dß’l,Ø.RÑIíÄZâ­õâ˜ç±W¶§Æ½Rj(câL{°½4¯NnKŠ!MŠ-ËWäKf^ùºÚÏÛª¿%nIÍhKíè¤EEóÆZéùÚJb–#Ĭ0NòW Kîa IKKê¥äñåÅO’ÕâXâ–ŠM¡é0,OúŸTÒc};iÙóçmÓß8c€™+‡®´0™Œ§q¹Y¶mö3$ÆÉîA¢«]ÛÂF‰|(pYò¶QK_Gû.!3²—*%Æe¹@“Ró¿µ1siIž¹HŠÞÛÅG%üƒ¤ŸÅéÑì¤þùPaôÑ™ìËñï—àB´kø¢UaÍðªÓ˜_nßDßGÀÞ$ð~‰t»<–Îý>G8|{ávy…³;Ü.¯nwš_v3{žákä=‘Ò+Œ ¡$Àdºn¤U7oD€·jQG•qv¤å¥¤LËz‚’˜€à³ ¦æ®öŒ™‘iWŸ±D8qÔ3–ç(&“ݘ§JdQƼq(.ˆ¿o£Ô̘‹Ýýï㸃7HQÇ™8bþ~j.з{µéU=oü{Ç<|€Ù1 U̘ø›‹eø“F€Ò$ÿ÷ó…N~ç˜æÐh²ã}z! ㈺Ùé@ÙN7ýzPDUÊ&'sÿ!C¢¢NUv˜eQ$Y еiâÁLÙÔ`” bŠ$¿ƒ?/\’­vŠæ¢TZˆyiÙª+z Zî-\¦Hk•æ*̉X z«¸k§2X’áêqÅ‚MfÆü~r'[ˆPSšŒµ@‚óaG¼ç¿ñóÀÿ¯KljÒ‰¿î?[`áäÔ~ÿëÛú2&¦&—&oÁ 3ü~ui¶Í0ÍŽm…LàU¾;ÜÖY¸ (-[mŒMg㪺„ÊT»Ù²7?Ä¿ûYÂpã- K7öÝ mŸÒVÕgÑ29ë®Í8ëî!:; ± u‚bݲ.«ôTë¡qwÂ׎ꈮS­:‚u(Åx³Ž¸þš¸lm²ÐÇgüÎÚ°_;ØA¥Xê”æ¾ jÈB±ÎÚ¿õ9MkŒÒ]çÞ Y)ö Ù€m%ØMÓáæ>®—«ÉøcÆL cð·íÀÀªxK¯GU|~ˆÞ•zD^‹oÔ Ù×±îÛ…YÀJœ׌9Gܼ%CÖ ù|ðýVÞ\‡·¸×ë¸ï›~^éžá: 4ú¼é¸òù¾QîD¬ioÞ锤³ÃB÷E>ÖÕ)³ñˆ;c~g´½íê´í‘ÆC†ßøTSàØN¸¿Æ:ñt;`mIça¸p¦uH)÷YŠ2ýêñ#„Ž–P=ê¸ñ½¹ªó!,¾ŠrMdÙLTû‰êÐÔêfä¤ã6§ÎL­Õ~3´Xw(·XËø»M:0é åyÒ…‡¿^7âõË’…â÷%6 gß9$ú~v¯Ê€'ª{äýq¿Dõ»ï“7;ÈQÊuwë`Ü3¤§!Ùš¡•X›¿o¡1eûs ?:D’HBã÷KvM2 VSaÒ#¿ßð)ݰ$ÈnHjqüSðŸp Vþþ^ªk’!üá௰Ë9¼˜×Íç'¿ Ù]ªM*ÉLû't*É\ZÊEOÜ*ÝaóÉï}¶K¼ôñbÁF”¥™üŸÏ¤°è‰ÍŸSÀäî ºÑµËõ[—H‡Ò¡¤s›ÙCÿÏù3}ïïT^ä.¾™ÊQ¹áӆܑ‹eÞÈàIUç…œéX¨·FAun S½`P}¯Ø•¯N-¢åí¼hI¾­ãwS5Ä<ˆèøˆ·»êïO4&ä‚2@Æœê,€QÁËïŽâé.ý4Äçþ¼òýý÷võ›ùþ|Nêú”õ÷m‹ãtûjÂ0Ɇ÷L×34òžPŽ96ž†=Ûž€t‹ÞÊËóÇs,öB‡ÓbûùÜ oܦË}³Y §‚É´ßß”Mpèâ¸tÂ1¡ +yÆ¥sò~¹hŸ~UPæìH›S'°—´IÔd7·-O~Ÿ 9´–ê!°w–e³s¼R\†1­v7OÁ2Ie[aZ–ì›§(O™uØ|ý¸®üûÄàKãëa1~Úº†G¬‘ çyÝ—ø÷žg$pÄn=œ‹‘b‚ÿÀÄGÎo0—RžPÔ±þíôÖ)í¥ÀÜQè×/ÆquÁ›i·7ÛÆ¢ ð¼™k›ÿÞÒ¹ÿ›Ž1xëthEø¥8se³7ñÀ¨_ýã0ÕÛOj8÷¢MÊ7‰w¹ru„u‹ob}·HË¡ÌÊA$÷®žœCòÂÖì÷§#Þaf[ XJ±Ue·˜.±;61ºØ*Ó¯ƒ!Ûp"t¥FæqZ”,š†ïðÊÔ¬š DµÆVQMÛY4›->˜õ ¿ÓÔTGóŸð—nÐê ÚK·Ð›¤Ð»DÞ5úÓà%F/9yõÉËèz…MzoZšÿtzwºÀ>Þ ÍÞ'A//RXµðR»¹¹Ð /”› c5`hÐRGcÌ“à½}3´?ÒÝQAO¯íé‚?½}Öþy±ôÓ¬­b@VºæüyØÂÏðû¯=öK™8E'ßäï°¾ËóK¶BZÕ6Ö‹^§OÖ‡Ë_Ï*'ê[G54mõ¿ ÞÆóàÇ\8\î™Ïz\Ò *á/Ëâ JpEàzúºØBâ¼¶m×:¼7Ây–ÇžÃøüX¶á@¯‡+¹þ]†çtÀ±×âßïs<èFÃŽ/dY ³ÝmÐ,ža÷Æ‹Dßß© kC‰ ´*GeLlr¸]ž KvÜw¹²¨ÌÅYZëwoüÚ½Ÿ'`ñ9 ï~?±Þo¶×1•âRƒh1~×qóóë…†Cˆâæóˆu¹lÆ#É·Ïóëü:È.êÝcp:”öaø jûÔÆ4; Âwèˆ9ÐÁÖ.á>ć÷û‰p½bôÅx3^:y^«ÇÞ‚ÏÔí| œEÆ$.léú…Ï-ìáûdXÑí÷}X¸ï3Ö²«Í^M6\h<;Ëoòm'™ýüãÁ˜ù±›Åóµ; …4ÁC¼søµ%ˆ!×ćù·)αôÞÎß"nÿ{€ÂPi+Y_pƒ72òR ä`„¢:hGLFž“åýÓZÄ„SÊqL«âIxYs¬ü̪7(3þ™Ÿ'óïp>~ct*³@éôÕ»AT)9ö {f¼Ýo°}¨º/{££® ùqh Òúô÷³žéxðˆ½¦H8Ûðyì¼OGõà ówØT8?wþþjx™bÍ¿)f0Þ²³¨wŒ5ꥩy‡k°¢Þˆ•O‘˜û…S9ë×{¥‘BL¹ ÍÅyÈxò­ÖÊŸw^£ÁVÅù‹öäÓѸ hK8 9„³üøßûw¾|F¦¸ 4PWøük´Œ9µˆE2¸à™O!³/YWj3ŸvÆDÄ4,33¦xsƒ¨’PFÿÀá9§(D1Ÿ*V¾Ä¸p÷¡÷ ì*¿ä«7¯?Ã/ÿΟݚ‚Ò¬´ÞÎXó.NÃÙv¥vù2œðPöþ<ýJRÖò &S¶¶Z×ýPœÏ3?÷îùXå}0 #‚AnöËá½vã}A™îA‡û~ [¾?^íG³^ßÕçû‹ôÆËt„Ã-ç¡4Áyúüç]‚»ï[ÿ‡žW'ÌLóüàG¾Ö¼Ûj4ñyö¯ Ÿ7"ù_°2çû˜ÿ°2~3íUZEàÁdÌóq¸n¡¥“è^6LOTgΧšé%T¦©ÿÒ¿˜odÃDòvÜ_£†AùT\H‡àv“ŽÒ›m–Xt oÒs»è~Xͺ×I ;½£¯nγ ÕF@ˆy^)zÛŠëç@šõ}7} 6Óô/Ô_­Üþzà¾(—þ 1-h’;ßçýP¿ƒ$lMƒ,ýyèdIÏ÷+Ëø†ú/X\ž'LºÒN×#Ðv– i“XÔ2£¢oªoÜy ¶Ðÿ-Çë‰_ÍÛ™oAÿÉû¢öwéFý5ó¿æëá-æ\ÄKHw tâ¶û3͗硃‘q”gžëlNy©N›¹¿ãßç¡[ 42 ’ T3\Æ÷}ÿg &„«‡Ìáå14®0"ãÈJvš÷G”ó¼¦L˜»&ÚåcE:µ+üfjyߨýÏa+üsieCe—iDÍ‚×ø’xvb¹¾o†%zæÂW¸¦6Ú ® }K»¨ã…½gVAó²ÊÅh±e0»IåA5¶<—äqÇ­ÀfÌòÂnåA×ë4Y(žüº×¯ì&”Í1¿ï؈˜scÜJ6bpÝ)“ãß,é ûxwj½õ£ãÔ =f£.i…š½˜.Š»ø8šNKû.ÛÂrPìU°åë4[ñÝØÝ~l^OúùMµ©i`|@ñŸe”s׺åUyp`Ý)Èö…¸«=@º>ÈË½É  ‡ *í€ÖeÂÝi/Ü©áÅöb.¢Ò«b ž¥ïŒ>{¢| nn#/fùÀò“æÌÙîG·qo€ÍÊ÷ë¸=8n':Ë…  í¶WãYWƒØaÌYžó&Ù¨e‹0ÙNV±{†û~ªÊ+y±ÕÚ}-àÁB”aë"h$¬MÇ P¶É7€6±)i*Å®LxѪái¸+„6¹@5¤·ðx’²`,Šs]g1#Ä퉿?8Ž¡:ÁbáÃ÷G'Îñx܃u‰×ï‹Ï»:½,ìÁ˜öú&¾¬uZrÆ“N¾ÿœH–â|K3[Wi7!îðÜ ›ž’­kÒÖÛ\ ·¹®;Íëc:ǹ¾~ƯޯÁroðþEö¸Ä¾\Þg¹oß0V8.¾,“oÌíõÕX¦]½Áø³ ¥_åc<=ÃZ¦,O&æu^o@¨žÄìøp\.d¨\fû»ñà™ ¢:\w!.ˆÙþÓ±.cŽ›Î!(Ê®ãs’¶÷Ã…ËñÕÞZÇÐü›ÇgãûOI•©É˜ùæÐºsOƒÀØ^n±·//Ñ'ÕYÆy_Î’SŽŸ´.nTËöƒç;_Ss÷IEÔ†×ëÈb t#dÛŸ*ÛÓð¸¡s½KøTÓúVŠWMZ 9Îò¸!Ïw‡Dê?—eÓí×Y>wS1¤}ÛÏÎõe??ü;Æçÿ?÷E>æÿ÷þ¯ÿûOùóÿ,C:yPSÉõ\òNÜ¢eR ;a6ƒÍ‡À;›¶ˆ>™kEÍr¥¨I.#®”$– {4zòÖf©H1åœ éÙÞÈêýÇZ.ð÷C[%—ÇZOÙì\ã”2]¨V¶¥äZEõÃÛ…êõ-<¼ûˆßT7ع|ºh=üýÿççÜ"Ë¥QÁÄ Â’™E#5R†A‹ ÉC Èàt,5–³Df±1o1,9¦½¼˜u†‘ð«ÐŒâÐc´4‹5ØtM75“C±i{ËIÉÑù¿¤ü}ëàçA³ MãÐþKY7Åx@ˤÄ hxîAÜü3IG)´Ñ(-­¤Q8ŽþG‡í‘¥ƒ®!²\$M¤ÒÜYñàzo2æ­4-e•M“6Ì U4õ£lÁ¶–;Ì/„íÜ €ÛÓ‚<Ð)½‰ ¿_îe¹œ‚F|¹¾ Uñ’ïŸÖ€KÃALúŸ[ çc˜ Ͱä„5ó÷U³§Þ¹‚r w‘á÷gyÝ«+PèG”`„„5À39ï$WÍ%gÆ(Z*G½®Iä®1#y ìˆÍ{>Žî"$w”þ/«òˆÛ·HŸ*“N¸QÒ"ÕobÆ”Imº§Ry{'ÿïøwB50\±|Ñ|µÿ¡E,éÒ“¨ë)}Gr\`plâhSæÜ”O¤]ªAÌÊÉ –WÊýV‘¼LÎÛ@Ëlž‡Ôj0©Iüø–¼ Êxð/™Š_ÞìÌ&ã7´K8±  Æ+ˆ3(Hp5Tn1¬ ›Ë‚ mêv 1¾ß 5´yµõ­ùh°sÈÿ¬ÃïGgXmÑÕ2ˆb'p_äu{æ¡`â»Ò®€ÈåSW®Žñä˜3ÎÏwv“ùåÕ®‰N§_&Ü¢Ïñïó0à{ùCÄÃ`¿Ñµ¿‡û È™ãc2,Ôš±¿ÀYÄ3„uƒ¬°úñ€ûKÆÄàÁŸýHÇ‹‡ ¾Þ…?”ó8 Ú¿Ø‹,Y±Õ°÷ >Qû Äë‰g `¿Õíî eŒö–¬¾n7›àBmC‹IFÝ6ƒápËûžÓµ…c[XfáÞÙG´±…yû©n[1ö¸¼þãõ#ÅbX ƒ‘¦•:°R7pSáòR 6šÃ‡¾53üÍ -¯€TÄÊ+p©Úø.#2îKWBRÌŠi³Åv;RpËj#¯€#?“¼rå~tÅIŠy³’½S°›ÆMë+£Q¯¢mWž´ú )Ô«®6teqdÏæé§(ÎïßË$Up¿J7þî«K‘¶#±g,»9š/Û»u`)á˜i…ÈT ÌÍ“¿¿Ðß[蛾ŸV ìr·g/¯Ót:NÏ¡™ö3—²S) F·B冸ˆç÷§(N?öÄ)ºÒ5s{×ã7+š*eðŒZv'Bòß ç\ ãú©6Z?dÇl‰AQîæ‚;O£³€èWÄP^/6bBá`¨^Eyþˆ°zSô;zÀEª&}B§Ðó`;ž¤dóNT4-Cæ¡ âBvZjÀà _‰m ìdqÌa‘Ñà+ ± mÈÌ4ƒ Ý÷ïhüò•¨þz:*Ži‹)¬ËbX²eÐá“ËZ¾’xed£†W2_‰m›:4zá¶Ú¯X·ãáâ_³RªYå q瘘,V ÿóóÇÿGšY`wÇAÛ<Ù²€†-Á(Ú¶×c[D-±‘-X¿_ÖîÎI‹þüí$J¤€´‰·‰ÿJgLgªâB n ¯àsì—þᏒ菱¿¢a~È0Çš©å[’m¨Ò"8mZÈå;‚‰T &ÞÔ>Ä•œ¨S»øµùBæ¶[ÓÄt Nð¸NIË0$Q•ŽÁßÚÐ5\… éhføýOGˆð |õÂÐDª‰€ÍWÂL—`iP ^ØCp_©n²=i©zABeeÅÞEãzÆU{þ¼c¥L*Á?wD*/A¿ò}ÃϫπfÅó§÷)Ç­yç°þ+¦r¸©'0†9¸sš}3óëÛïk¡+Ų‘ –ú”ï¦êò>íñïø÷"…ŠZÌ1_O¬¾AÒiWù×ñ¶Ž!§¤Ø­ŸÏX»Š‹XŽ˜E ¡†Žuþ)!¦òx¬ÏØ»DÇK»ìBc¬s>~~<÷ͯE©´tsûB˜eFWW7(É0¤²0 ¿Ý¥Ì‘/QÂÖµæË;&‹¡¸•îšÑä” ‚lfóýHç]0YHˆ@ƒë­$äE žÎp/9ã¤öà •¦uÎ ßq÷ n¥óŘÒÎo”ébø€¯õøÆã ç¨ÔÔ—Ò.ŒÁ déB©ä¢ëâ²tß“™Èq ³ëð €vã:çT:$æ !c\IÙ{yÌ©3¬UŽâ¼‹°ÃŸñ+á˹˜ä—¤ò'P*ó€²Ý‰nãÓ 0œé¦Š’ÉM+ŒIç¢>eµAIBè© ¨ÓOö/'¬Ã¢BReB±“…ÀÂØVtI•>7û‡ø×F¸˜úˆm஄ÒH¶r‰:í)gÈïÒ|4ÂalzZ¡Z7AqGÒ.§°/–ä÷©t è²ÿ û#1ä†õ¨U;pœÍ¤v6sŽÌâΡ9…ÐiÔEï/ßO2£EÐú d”Ü67íS6ÖºÀLrSèj@h‰Êsj†µ;Ö¦[1Ð FQ®kTÎïŸ'g‹bayæ…=Yµóðpáæ0|t‘ùwgLtL°èpœL-“ »&UŽ'þ8ÞŸh‰R#ã°6:&[¶ò›hg|Š´ÿLó˜0/" °’sÆ[-/²¦ÉB_ ]XmÊ[gêyMZE>ÃÿÆpbνi³ÔV¾¸ÃâÓ™œQK¨k2¶üé¤ÓõÔˆç3~¥L\ÆÔcÿúÙÞãµ@[ƒòrK9–±x­¸¥ÒíR×K`±ÆI'Ñ}»¨&Ê1'™hDÚY'ÈR€֓ΜŒnK6€ïs7½,)TÞmžlB©·=òïø ù`pi0 Hð¸È(*-fˆ̱EÓr§ÈFmáåZGךèn1‘ó©SMQz ¬‰ ²ÁÐü½ÓjÍ“É$3T¢9¶É!‰îéêÆþÿN&PVœ©/ZgnÄòÎâä:9VÄGuÿ¬ª8'ßÍVŒ 0¤ü˜º½hò|“ÓõðòV¸xŠü÷›¼ä< ÆÜó_¯#¢]D3Œ¯Àï¯?‹Kü}ß)Fl‘õ;Åh¸üÜB‹Z á¬PIþØ‚`xëû7qÛ蜵=¦;¾oóù­íûyÒ›ÂÏ“ó?thÜ{P `‰,›€‰mð>X`‰g`qª"Nu¨,c8[õ©’켌ËÈû‡ NoФīÐúJæ¹¼;óA{AY[8’<ŸyþNW‡yð‡mwt>“lp,‡z@&gÃËÏÌGNÞðââ|7‘ËÈ-/ Äå4‹Þ,¿ ƒô%ÜLžçhÏV*ÉZaqœ…ª޳ {“¬Å|lrÉ:­Æôó[Fk†¿?½6L¶‘',†büûoÅ4&*·Fe=y—PõäyÝÓà~’£·ê…ÊQIÆDãÍA´ÞRÇ?‡•ÐÃß¿¸Išþ}›ù¼˜œ}ˆÞëV/ª^ωåaæG‰S\dl£u'ÉÙWll2{`eƒ®óeNA‡Ï# pà”¬{– Â,FKâAÕ+h7Y/=8&®vfýYn÷'´d¾ßÔ "ZrPþµsó‡º21É[¬/Kú<_KõÎqHÚìáƒÂšö¢%™ÏÙ -¹nÀø5‡Ï6‡ñœ· )n<ÿˆýMI/ÁY?Дcë¾ N¤†Ñ®1n}dòÎb=µLÞÌ5†'lyÑwÖ_Dg7ÖÕStxO ÔkÄ 5¨®œota}Ç|Þ‰Îá|ÄÍ…ÉüHÌ ß[ $(Î1Ûñïù>$–Œ_ôz+ˆeE ”GþY×+²3ÊÛª2ͦ¥*D éTg}ÞtßË+Ö®|™ç±©ÿ¨G(µ8Ÿ.æÓW÷é æ;íP(f–÷å’˜G£Ê ,t,v2ˆ†–x`²âˆþCtôø#ÎÑ?–ì>ÊhèÜ:ÌeBë­9gF¯IæSz-áÚãùE⃅SQ,4ô%ù|Æ¿žoªz!åó ŠçgÌÍ} Q̸Œ´ïæžõõ 8ȃŸ ‰dô7ŒAh®O²/+±þ>FOÏ‹L`?Åz¾Lß߇1VÄ7_µ]›-X°Ža~h¾_’¼ûHlâ|>ùå?ñïdNˆÈc"Œûýðüm¹ýf\)6¨zì³-H6Ì6™vcÅV|‚în'xÖ#~X9¿NêÕ^ ×{ò,ì??ÏÈ$žy„¼ÿ@Ž”¸ ¼ÿ6bN°ƒH…sL¦¤7¯7 o2æ7ñÔ»ŠI1Ãmï?zCæcâσµ™ú¯W 1킎¿÷CÐ1òo£XÂØÇáÀn,“çYÿ‹at˜&æ}}ÉîWÙ»YŒ›Éî™o‡ÅÇ:THò¾žWLI÷7ï“¿¯éïÁ|"/ã¼_ïc‘±‰ÖÕî˜ÜûüM}•äÄ>H.GýÓO“'#¿n¯DŠÕÀ‚×ÀÏDµó°UR ¡ùù½Ò›åã^$X–Å‹â†ÅbJ9En›[ÁßWÌÖƒis²±¶Ù7ð™&cÃÌâCœIâ„ø:(y\Möô©?ƒ1zÔ/1´Iq•iqöCÛl”F¶Ä¾äZzÁQc•ùçß’ÔT¹»[mˆ)iϹô¾mÁÍny Z¬pÐ[ç½£¾‘Ø"ãF²py4*²Ñ¢“b;™Â[ô…ÁÄ >Š[Ȇœ;"[&†çc›`Ãñ°“ÅšÉýIÖv"2ïO@}Þ°ãïb ^°mø¢×f£àÒçy(8-†–ó§îþ¦/Î7¬ ÜißÖ%.–lÆC¯ÎnÏ– ^’ãô~ì¶ŸÞÔ—M¥ó[D¾þOüžâEýƒÝ–bD}Y|ù8Ï÷ñùøþý½·G¼bJõC,£PløŠQLéØ%bKCõøÂA%6ãJ6æuXKw ²¶íâÖ¤·çô¿7)F/O¨ŽH<É_×ù.ÿ_Õólüa‰Î|=-ÖÃ~è ²Ÿü<éÚ’e$¢‡Nk½ê¼çê.0ÿbÌÂ'cÖƒ›bi½ùëh\ ®`±ax¹Zü…v&x_-ÆPä5Ëúlà~ë‡à|LýÐã7bÄC* «t!€’»Å †(1·Ëªö╘°%ãb­qQ3DÀžo+ž?f *@Üø(nGì7¦wï; ñ ¸n‰/‘Ÿ ]Šép>5-¦ôJ¶} LMùõnq° 5„Xãm1…ÆúÿXŒvðë³Ý\0šm׸ [ÅžO¨Wÿ%ž—õÂí/:$Ù3&ù€*¥Ð(hŠÅôÊ{™OüF\1Ù©õ¢Ä'ò;ça´Àn±ªÜgTŠ9‹g=Ñ,Q?ɶm6« ­â㿃˜Kyˆ"G–Eù£}M6¤êƒ'ßóy·§T§¸C<÷›ÄXöóc¾Ÿåßñx•ÿ'þC‡ŽBà㎧-iK`’Ú„Òñ¸š Ø-Ðà£Ê”nØžœ¡$ǃÖ"‚g §­µ0&˜–TZ('æ0ÖÓì¹Ì}Ùš÷7ƒ ¶Š'|p)[åå‘“³ Â"Íž7Ù(E N%,Óã¡ÎbuÎ 3ê$4'¹­íVBS¯$4n_øùóµ[}kBݱ^fÒÀ­N«CÖS/Ì&á±[­ „Éã„l—ð€‚ <¨[ÍxP}qy@˜ê3,p¿€HoÝIüX´¢—"8p[:`9J5×%u_¨_ÓŒZê\z¹ dÿÙ‡a¸ móÁÝbÒ2ÿ(ï³uÁhõÎ!5_@§}Ê7,ª‡ÅÓÀ@MÆjA„¾Wz5üÿ^ÀÐD°O«'Ó®ÏÇ$fÆ×? “£lH¶ã,ºì ÔÕ­ö™ MÞÓWý³P>ÂߟtþÖ•°:A¨Q]51ªOI.dÑìü¸Y¾ Tà°a¢ˆë?–/AC₠ˇٱãWônn&s.C·ãJ1ç2Û Ä©WQÕÒ’TÆ÷cc²“{R ˆ;¯aª !YÕéÊ8ç0ÝêO 9,ÂqÃl$$Ãn  ‚äôøëß !÷ ÛjÑ¥p“ ýcóô=‰ê˜m°Ý*E³"õø÷¾¦skûS:§¹„oBY–hTuP¢4FÜÊ“Dï K››á€9 »hš¤švÄÝèœÃ¯ÃsÙ_ì¤TapÙJ1Ä]\\¸h],~.d˪~ðnÆ|·¢x8ÒßKÿ+{bè'…Ê/Ä üKa Ž'\ ki_XÄzˆ<¨@Ü-12€ ¯½Ù¶‰C®î¡öØ,jņ…„›0*TEÅKKš •jß?„ÿä¨"£Ñv”ÃM8”Þƒ,óCQ²Pz)§56%Ç’/“Ž^òÑ©48ỏ?ÿ2¶\tèÒ†2$_¬ 9¤ýjHTäÚ‚ÓR‚C-!(Á°Ž>ÿÎ9:… ö²Óm”ÒÆUÊA“(8-lpߨX·ÄEÉœT˜s´´ JnIQ»QÊ9‡K‡ê!EØaRLKŒAE³æiçE²Çošä:$äáQÆq‡J ±šÌ ¢dõ«²¸Ï å`»  ópHbhÿܶæRx.26Í5™“ŒÊ+Ù"èö¶iÉ¥CÛÃwj§Ç}»M—¾MM™%™š`¹CØÍx(™CfqJ½×¦¥5\(éÁoA"Õ玚yÞ§#;%=ä:0éË¿Š }?ñÖù~ƒÊËó7(Ù³‡Œj=I%ùîTZʘ¸Ø“T¾j(Î2V€•⹊° V‡Í5l*ÈV/rÉN«ÃqkŽ)ÄË3U5Ýï>jȚ(¸4ÅõŽÏ»P;ªÎ»¸Jnz—" ÒcŽ&ˆééJ®Ø±£‘ñŒÞÜJƒMr}ç­r>@| ¸jI³FÏH-âï«‹_7h£r &áÖEÀüY1ñ¯çÛ1$A}a©—C…½,R‚[’Qù"_d±¯¨ÊàÒÁ ~­qiQ â :.YB®Ác ŽZ i‡„§+‡w‰aGE†‡(Ȉqÿ'þ½ Ò¬8lBËÎÛž+>øAoMØ2ü.·˜ÿ­ÛxŽ  ¹/^F[Rɦkš•d'†ÑG”Bc›\žj¸Å5LÎÕ,ôZ¬¾Sèò󘑟k>>~ˆòÑÖÙ7~!ÎÁdmVðgž‹ÿB—©jÊûö¦TFƒ›gºZu:stu]¿ï”ù¸fæ`£.×@0vË¢áNᙿ^ŒE®-¾#rÐRÏ»;ÿamR9*rVçUðâ”V)ÇwñÀÂõX½k`±fþ@#Ž%O±ÖÌ%l)½¼xLÇoÖ‘…îßkjçc%=¹.¨Û•µžë~¼ÒÒ‹­J»•¿>­õœ^ˆõ®3oø—·Ò½“äµt׋“§ô%Ü‹‚AèÁ¿¨ y øýŸµm?1jØÖíõîid¨({ësØwŠ¿ —S-¢‡qÙ©¾‹Á>VŒ'¿ætãj<Ó€ðæÅ]uqã¢öË5 ia‚zãùCü{±¥­èŠJëý£¹*ÜPI®¾ÜPusy‘6ÛamˆF`Cu|ñVn¨öŸ;pìÍrÏëÐÞ#{˜*ûK„`w·?Lr)~>hþü÷‘Í]óÀHvÚ¨ý;þ½¸Ç„z07óßÁý¤IÊÐz™¡5¼ÃZíX©ˆì—sÐпOé¦{<ž¦ „g 6ýaúPi­¼}O0½ïÏ–¼4›6.¾EžX ÷TÚÏÌÅ¿/†N\ÀÑ^“îG‡Ç´AÅkê”"ïmJ—O¦N͸z¶dbº¼(:ÇzÝ{êCSÔ»‡€‰Ó½Àœ„¨<ߊ È¼qE4Õƒ‰·÷ å|î-‡M¶÷Ý×ð£Çß-D¬óžú²rWDIv98mÓ@Ü£>æ]cŒ£ÊŸ.;¸ 6¬Ë 65CxôÆzmx™Ï¯å†C? 4ýPŽK ¦ï§=¶°0¹dŠJ‘á÷+1«›@ܦ\ÂÞx)§÷ñêìñ I3[’&$-†¨Ù–]8TÐÔÀ/ELõ=x`ž²^lT‰’k êÉŒõû*©S×ÄÆUß<©t‘mt½g½8HD©¾Æ‰+·'Ðõz'w ò]W’6;~ \9›"bÉ”?®A96£R¾ÿªã%f;ïÔä9f£jû­K)APù&ñV•™)ãî–Ö–nžÅË¡Þ …Uƒ¦¸3)v(² w´ãùæÝD4«8.€Í¯˜ïBa­¯ZôLVL ¤o¢ª`ŠA“ð88îaG9ΤÇFþ¾ÆÞÀ4Ý]ùût1_P•±”rrIZé—¤õ¼”ðí¨òó–ØàçýN*ÜÝyÊ)TmN#éðW¼Ò<¨ÜyŠb­8;&ÆÇàˆŽš,ï 9;cÑQ‹äœ•åP4x.888·ùà{x߃Æ÷ n¼¿›ûÃÌ»¼¥RsÑIêq‚*,šžKŸŸÎQz¶Ÿ{á®oÙâð9Ù¹jï Âçv¨Tt)xVP·±ì)gÞÇ¿‹¦bàGc—/†©º¦GW‚½†è%¸ÈT§Æ¥V7ï³`p=] Fóýª¤"y¢ÙNèÔ°¡cÁzaXÀ™B—CBæùïºr˜ V@Â{@¹e°üU¢ ÞYqÓ3P  Ï8|qÙ( Q=ªÙªD 1`§ Ô:¬öhý£Hð ­Tt‹^ˆÎ¢ã&鯤É`»ÈjíMÒV"¤µ_›”õ"¤!ûã¢.:ʇC3YÃÀ¥ =܉^+f÷iqRšµ´'¥S/[smœww"`"–õÙÝ¥íHkÀryÓ‰z;Q^üB/¬PúËÁ> F0´£õËæÐÍ`€‰A9÷öêØÒ£S±¸Ï£r(7 6ž ¼¬å¿8~ÐÅܜ؅v”7ÀµrFŽÄÿêb^(¸€¡ÁÍÌ"U\~ p쳩´}ïjv€¬ÉFÙËyÉK,£—ôi¸|oD3$tá)õS>ŸS~^Dþ(R‹Ï_}G­½h­È…öµ^ÂàÜìÚ¸ oYi ¸­˜Ö"{ÀèÃqÈð`½Ñªqúç+­ÅVÀ‹Œø]ÑÜ̦êô^iH@Ügýôß$Z¿™µi…ʸ[Ÿ*™V²áÃÖy—uÙ°R¾ýûðÏ‹}0iíltim¢‰F £'›K]v³Õj3š¸“- Ú¯Uó+puG`*œ;g!¼?O¥µâÔóÚ‡ ÒçÑ^+B·b?>н²°ZsáŒB¨¹©jD ›­íÂ)l…~èÅRP7_y¬3á‡Øˆ¿?ÿj 8Ý¿ü|ï~¤‘aµxñPÞE^ÃV¬Ìªì×m¶G#š|Û*·5§‘×?—}BÑ öeK"‰f×Áaav½4ô˜¶m½ØíÕ#«¯î÷‡VßK…úï‹s˜ZÈ‘òë䉸©`)üºfkºt;}Ò ñY¬Ó q˜Ý)âîÙtNâÕT†_oWfü ƒ÷:ÿ=YÓú-c³Oâ7lÝEkÖ¶ÅÖM¯’´æ˜lì9+•÷„­®9h…U+¿Ž|’‹pæçIo§~—s•_7;hÅ…E¹—fSÖ‹¯ËûB^*èh“]À÷oàó©”]{ó|'ŸÐ˜}ÆÍhÿMëå3?âfë;¢aÝÚ>c×G ´úœ½Öõ_+EÅÕ³ÕÉFÉ(ÇËÖŒÓ÷ÉéŸqhvüĵý;~É(PËØƒ® ˆ©WÍÖÛÔûš—½wÙAŒ¡çfjs‘¿åžöcý<%Ûjbëm³GHS‡•rsÌûè(kPs‘–2dó­É˜ùˆÄÌ·\¤Ÿe¶ÞæâÜRßì|Å)z{–­“Áæˆct8=uãL1,â»(ïˆß±±&­QCÒøyÞ.œJOzµú¨Õä ©y =ƒìñ¬°³þjGNŠ·íóI6@;Ï×Á®(—Ñây{Kå<ÏÕçQì£æ)ø";ãNÉ;ÙBÛõq'Ðí-ÄÜœŠyãyÊ=l…xh, hlˆu¾*Ñùåc=Fpëð”»ìOö]óQ üúX#nœÏyóÐùfß©Á½Vêk?hýßobglÕÏDhD€Ï?¨&2Í– z‡MϺ©Y/Lø?¾‰­ýX){_1ßC­¤è>o¾d|ëAª—è&¹8-‘ßi…©~ª’íqÕsäµUŸþ¬2>—Ý7t+ý‡øÍ$Ùºõp« u劸zÀ±øõ»û­¸¾š×õ¼ÿ‹Ÿ_§”ÿ­¿‚RÿbWè?øDårf%¿øÆ­ÊÄàÙf“$YÀ@¥ÿÆ¿ß̇-ÆŸR? «[qÜÚ£N•ŸWîE¨ÞkݦûF÷ 8ìúõÚKÖô¸o½®šïZ1‹-Hu›ëu5 Ö ¯+ÀdÅ^Ü_Ãz÷¼[¢@|nÀËk$¨ÜÄÉlÛÂK ¨OK˜l¾jöî¶uõ_»³¶ÛÕ‡z•æ/v¿›@:ïn1h_¾èSP÷cµ`Ô§ÿþ,žä¿7²s—òé¦wfu~…v}ò/t…‡€®lÌñ1Å•ý;ϯ¬•÷² Õ¬“qö_ûØ÷lÓ}~ö~ü‰­—ê4¥“\ÙX°îþ8A'ÅìNÒ9úãý¸Ÿ14­°¾ÌÖK`l¹l?Öï¥û÷Fö \³*¬À/¾‚Kt©WÝ礩f<½XJví8Z u8A}…÷'ïï!«šFÚl²õIF…l«¯ ÞïÖ·½l{³§)£G÷Ï‹j*ë.2Èδæßñ/ÛÜZǢ˙tF±¨¸Ø‚¸z ,ìå=ébÕãηÌÃä§E¯R/*(l‹ÅÄ%›¬סä”p½|âÿ ^þΗ¨O­–Ò*½k«ãAÑþbëéÎ|xžþ8áD¶îÉþ¸“ìtL^ê¦wÏ;Çz4â³?YÉlYJâkùþæŸ]lø¢ü™ýõòùg£…2æ\ …GþY1Uoeþlë±–Îùs›V‹Ä¼¶5c[&]ÜšÏ'ÕÚí‡&@‡¡}ÀŸð1[½*Ïÿ]PH +¤>$™°óÍÎD~úägü;(m¹~.ô]ì›çÁœG·n”EM›1¡‚µíŵ§ÞÍó›c=H)®+ûça”IaÜBû~=1€é~ŸÆ´5ý使óãb~A>úB 8˜å{Ï4\M ‚æüµ=Ó¼˜õÓöá«m4΀«5Å]ñR¾-ÌÓäÊ>?ͱò4Áךçaƒñ0ðüpÑ<=ó"ù êù‘ÏŸ®Œ{‘oõPõ£ÍÏc“ }û©=è-ºµØôŽíRÉysÞ½ãæùsèþ [¿ê7ñ~Uÿ4òROüBœõè4Ù®QÝfNÏ7©Î8—ÕBIĘz¿¡v$ÃûùÐûw˜ÝÞØŸiÿTÑþ°dÞý1õðç'ºm³ÿ2»½Imë²ÝùuÝÿT?tüf_DaQÿ}o²Í«½À1¸;ÜóiôÃRw°ƒÄ­jbØ"ÛœD¡\©ìJ @yö…‹ünàGÖÛQžz÷ðû\pÿ½OÂ`mò"žÜËr›· rw— ËÑÍ!ÇP„¢î ¿ßááMÒBK4,c°°AœÅ¦j((fµ%7Dyf³F$ÒítÑL—­i…¥ÕeÞÉ üKúaá« {/„CñždR…òº _¸øH2žfî%Š<â‡& ë‘wžååÖ$ª»Y~ î<Á¿×_ÍΟ矇s1m wC&˜ä`Ú-Ø<Àn?ë“ÿ}àÉüY 4~Q®â nPÔþÁÄklˆ–Ù¶”Ëû"ÓsYN´W<Ú#÷»ÉÜkW>ðü‘jÓ?Ïâ2Ï(ßý 46 8³ƒ;jw òF®hR^F œKî¡Y,/Õ¸@²·a›.àV73´xÁ;þµœŽ ì;Ð\`õ+ŸCØgø})¼p~d*þ=€Æ…ùšáùe¼s€u 'ùgtÅ9@]fÚ,tÓ¨Ž ÊátJ ¡1³¥ë ®ƒ†0¦V20”ñ÷'ãØÞ”´ì˜\ˆi B/T:Æøø}0±ü4}{2~§ºÀ)ùxÙÞ!ÌŸ¦µQ³1ëh´Òn¼h†¼ñU 5¡íJ0„øUdp J'.|ôÕùÍó´"ÑMiÌnM*V-¥æuüFŽûOø;ϧÛúÜëŒaõ'nnÎb -[pârv“#ú!>Gº¡ZúÐA¡°DZYt:^d,÷Q¬ÌÂptâ•åVöiÅ›%Í×¹s6«>a(…Ç5æ&€<-`8Rã. ã鯗òÄ¿½Ĭ'Ã>i÷‡ùiŒàüRâ £ó«²™ÔV®zyhóÍîÁ«¸öjƒøàª›‚B,°x|!R¼hÐLRDP&_ˆkÁ|¨y“8¨¥"%ЊKþþ~¥c§mË»Á*ñÝÄWñ5=sš¡¾< Œ«gÊy¥4)påý¢Ó—=M3á¼’+ãiòoîpš0P8K‹Žâž­ÑÄ5þÀ‹.rú ‹:ð~ÏYKÞbÈLvc•f3h7úÿ˜ªÏ6ÖÇðX¬ '/3”8»ÒK*X©àùD˜~‡S£EBcéíØ”¥²l9åûÃi2ËÀ@ˆ3òŸð÷#¿¯«<ÄOg7¶£ˆy ÉfªNÁcýXˆ!É$óÒ­´l~Ä’tÉ+a2¦)K³óÈÓºr„\›( ÷Q&¥M'º*é@<ñ=òç‰{&‘ñõ0NüX†˜ÑLüW´*ÂÚÄÄ.倸ÕN5!Ý^³SlHå–ÄÅkÓ-?( TùnÍéËþIã¢ÞEB…E¯ 3jyþ»` hýŽÍIß›±OëMØ:ôˆó*þ–|DxÄZ”æ­1ؘ¸bÁœ·öT>z„pUã‰[|ÐØkêÏKbX–Ž2¸xåÓçg„oýÉW6~^Üýu‹S…¹ø?c«í¥I†HAÔ"ÏÉ7˜ÇUò<¹ÛD>ÏÌì,„—ÐBéÏÅÌqùpjæÏŽ7è¼÷é ¬m⊸,‹Ü†¯êâ Ó˜ôÅä4êÈØZÏgóëÃ*Ïå´Ëóáö}~<”,¶¦¦…kû˜žž¹³t浌µ¶!ÜÞŒ¢kb o?¦M¿Ò ù½Ú×ÿÐ t1ùö°AÓù"ºó ,h‘ì/þ¢­¢¾Lž5TÍ“äEÔ´IIé"ÁÄ{ÒŠ=' !¤W=ãÆ7åÉ\TðïX×ÙïÀ5w0 €K+— ÆwÀô“Ò€“ØèÍL Hd<,/Šßß¼â:c±â¡ =LÞ šjV#æ©dЫyÂ@öjùq £nükòÕ1oœnÌÕà‡¼¦K¨sº¶'ï1 ÷¤w¤œŒ6„êƒ.¤p¿Úl$0¹ÚÀ¹¶2ÌënÖ(›c°)}Í|ç-ÿf±*+j«Â-(õ¥ÂÚ2› Ì‚ì>h:g“&öŸ Ÿ©Ã;àÜ3§3ï‹12öCȸýëÌO6`C/„Î(ÍŒ³<&…grÓ&šÕÝl¸Ž®Á‹Ûþ=g0÷çæÁ;@LÄñ¾hf½=³4“ø¡š)² Î76ó©(épÜP~W]ëÈã ÌÊoÖè3„œJe›U´Xœt(R8œ“kÉ©Z}±jn¢UBùýjÈMâ®Y’rY*‡„K‰¯ÅÝVómƒüt08Ôþ0å4hIÝ1ÈÛÒ’N›²êç±MÀ5ÎWlÜ¥%9ïq%Å—L>ÛÏGà¯; ´€ Þß_hîà%ÿhØI0\P&£Œ€žP†„4‹!˜àΓ‹]*/vÝã§1”P!ýaÜ”üàÿ÷/myiÐ¥TBö\œÊßá˜Àä¡$LdöšñíÇT¤ù²z›šòdœ‰wJÔ4E3Pp6|îÀ)ÚQ2ßõÈô‚Öx<вÈC¬¯ùâå¥Zn>Q]BÿŽ-°QJÅÒå&¯×­ZŸBØqlâTÅžªŠyÙ¯aN¤45'÷â×È2Qã:˜AÙ¼¨ËÂ\ft…Ø­H¼nb5¨Ábˆ#/ÊéÄ de}õLâ^=ðÎ6’è/öЃ¾ÅÆígÔíòB1‚´µWåÐÇøªüÚTZ€+h[)‚,öذ™4¯e@7ާòë—‹¹~¦ýK‚4>œÖáÕ-M„·=5><ôÔpùUÎÚ8¥h'æË?¤Ÿ°ëíÇCÔŒB@o¾ÉS4z’šcªóܬ–¦x’›2KSÛúæ!Óº›è`Ç=ÔqçÛ±\0PGz Y¹5U©ü{¿E`j_övšÇç”ê4ÆÔ6¦m`t nÓñBt·Ð‡fè›-2Žn¾@ê¯&Ÿ€ØÙ¯uÆÃý™¾NµBÎQ|ÂÓ|QG>f>2Öy”1‡±òm±û¿(ÝQBºöŒÎŒ)Ó¨AIÜRÙqinæ£Ç٠ȆY¾S³º—« 5HÝ<˜.Ýc>x$^DÍj1sz€‹d2¥®ù\À.µ—Ø¢¹8 :UeŒÊÎ¥ó\ìæŠ±€ØÆuê™`}o8¦Ù¢JÍqgY ¬¤"2Öÿ¸â%7hA*“ÄpšÆ#•pr£Òu\¹èUí½½¦}­óþÿz€ÓØèøþõ?„À5»3ÔžŒÅ{æqNÝ0Cn61Ø›¹X )\Nˆ.†ùºtíé…Š­¤_‘åq»Ú§v,ðXoæñ|]ºJF'}¥Ùƒ”tÃß³<^³,å)£æ™ž¬þ TÛq§ðïîÝ ÏØ†E¾0$[ì—/ŒÀÇÄ4øeÃCnÖM1Zƒª"Xgª=/ì˜üÂ|úù¨=׉ۻ ÊRŸuäá9LÖ<(PŒâ_«ÜÖ0$ëà êcáuÏFŽÈ¤æž¼˜T4†É÷Ç€x´Ïþ¤PR;Tp$¬‹3’ó>Œ²dREyã§j!Fͤì@¸Š¡[jžqnx¤¹6ÙŸy{ÌM%swÄv•ùsNýq4ÀXZpoÙ;c»«¦žÌù#5c:1iao¥ÿ\Åuc¥úf+¿¼j=¬ ¦ÛŒ‚aw7…¤À¬)šE8óõî^ŲzŒ‹­£ c“ÿÿözÐØ'¯+P¥ÜdÈ7xaÉ¢)þwùŽÆ.i±^ÊVk°œ–áûÒä@\¹ç±ÁÕ´çôS¿yóÖÝ,õóæ”~Ù"ï|€sÌæÝ çÚö&ÝÃÈðUߘ3×¼°yO!ŽnŽŸL0ô6/ÁZióeÎßü/é® Ç›1Ç‹³y O/÷Û‡|šù)Bì&ñ”ñÂT˶oóáQ¾A-,α ¨J»Ë[¡ãïð÷š„È ®ú‹5C%¾Ã5Cã¸ñ>°ÂŠã:2ùñBÕ EêµÂMj»ºS\s¨&`£{±X“õ|ÁTST® LH?ZŠ^üïı¼ÉÔž‰5ñ%WìtN:ºk˜Ç¿¾0Âçd¢cÜÈéø}ž¦«±F°8ˆí±‡0{iöÀåï–qî JçW•ÂRø@»å…ƒivêê;'¡X,𮥡ÇþÍô3É+¥3Äþ!ÞIògaŒ"¯ÊϹc‹ÖÝ€* ÿÊS5dèÇU`YEW ùŸâFWR\á¡[V9úêÓÛ{~lùgX²“)oT%ai~¬Ö°p±8©ø±(ÿ«+é¬a'•ùŸ ºsx­·Oá’` ۤˡDÄŽUÅøî\µÉÖÚ¡p­ÓñE¸-Ч­\³ý1[8È"†Ø>H…ìÏìâÐfÈíÃx…#9ALÑãÅJ|ùŒi˜ã-~pxó W˜×/ `2¯wÏû—æy—ëQÇÃÜ ´Š–ý>‘ô‡ 2ú÷ûõ fíœáàX^“‘-ê»b;+µAZS,Ž—{ƒŽêôVÿqqûXó¶ 9Xâk¦¿¹Ó{·4>bä ‚ 8– ¥S‰ô9®ã^Ûž—uAzýõ‡¸u“½Z·ý‘wg à”ô›€C}?7Äï(>b¼¿¬ðË@øÉ‰ýªÎ»ÙcÔ—*$ý0ONüy&9;ˆiiôÉJ~špI£g@;¡ VHnü‡.ìÊÛƒ…_ÀE+³1ž¼­¼NÓU=¾‰—H¢l¡)8úõ?ú±÷k™ÚSµlt»˜TEÇ-†1F’X{â›)ѵØÝhR±$ÅoC7$*”Ž 6¡€ wÞ¯˜yñ%‡µza…p˜Ö‹À(‚¹ÿ¾â6›ŒšÎ¼Àf‚A:ªO¬¬>½…Ã÷è…9ÓóµeþÑ–ÿ(Î*bÌŒ<\+=.i@Ì·'œ¶eq‰943[œï ÉôöД1×Lú‹Ùv äÀ 1,C¼iãxÛŽ¶oâ¢}8rÍåuWZïëƒó1ɾSû .ØŽà™ZÎiV{ÁR>ƒ ­Éÿþêp–åa‡‰10Éš£pÊ;%µ¨¢òÏK¦ÈjÍrÓÓaùd,ed¼uR»? «¸ývš,ãç G3ÆÇ„Kfüy܈_ióÒ‹Ðh ¿·l̉UBAè%ѱ̌e‡¹NH÷²TI'íhI’'E°òÛ…—BÆ9‘ËÔȘÂ[¼8¸që¦îгSØmõmô,l[Ћ£(M8pt*1/Á‰ "šMc6xÖ~"h*ÂÚê‹Û›”à::ˆ—/=rbOÍ2,¦;ìïÂZˆo^Êš`.êñ¿Œþ:MN,7[ŒlPqŠX [‡bW‰‹lÜ–pMÈÂ3†«ì" ¸Ä™Â¯îéTš5a8¯ä‘Ã[¢9jåà?¸B`Oþ_í¿óä×¢uñž ‡+¯±—h®\Í`….:ñÍ[ŽÐ¢9?ò,ŸGÎÍblUÚ‹>Ú1µu ¼k>B6Ç´Èx¾:rÌ÷¹9b2¦z êr[Ì#X*å‹5TO㪵¬&ŸqaLõ¦Rø %ÿ{ײy?PÌÈWíH¾¸¤òÞ‰Á°îGlà,¯5¦æÔƒú"(£¸pÇSW¿h0ˆ±Éb<'Ãü4ÌoVùYËÊ£=o.œxÎýæBe²‡Í0Cš2æsæc±£Š­\¼xUÄò¿§Ühäý‚[„pˆÏÿþÜI.>òLÍxŠ;†«®P¢¨î”Q †¡¸’ÒBų_d³Rù?.¦+߱϶žô¦W‡¬íö˽jA¿æAZ׊{à qæ½Zy¨2a¤¤VÕˆ0hR«(6™Rã¯êÞÏJ=5«Ð™R#±vå½ QƇy“öT‚7ÿ}ñëƒÑ+¯¢“¯©9”7SÓ/ ©¦¼™Û6CÌ85Úëá]ù*æLóÆ~¸ õÃâ"«SçUÇíQÒY˜M¡þ3®l4Ãy5»«UåYÐáf ÚÇP\?ZÏ̳KÚ/ÎÃù²®!MVáü­a[»Ï‚¹BÌR Æ©8—=bRü2»Í'Oÿ;þrŠV= ÝZE¾¤¡pBX¯ ž,|yIo\z‹Sðy[3>ã¬3 ›É8ëš(Æ(^úÊg¹G³TÍ[8ã ý‚A¿=‰lTŸÒ¨˜ÇÃÚ odÙŒ{šY7ï=ª¯â‚ÖLQZRØiožâ*ÀàÊæ~Nõõ=Õ%­°‡Ò2Ùë¡Ò·q½”–5EÃx8-ë%Yõpµ[—éÐXcç³ÌûÉŽ-)Žfç Xm"Æ?(³ò&èyÀ ä-Ev>‹€nV/0DZÕùð… vÇ&«îêNH/*øŒ_Ækr)Ï´BÓýL˜•'ׇ’@¨´lWt·tï"©ùÇ{µšowA¹¨ÑH˜8d \%4¢Ž«‚œ/ÖÂAæ9T2‘ùÀw©ß`ýìÀóÓ8y²j¥ãÔaI•±6‡U¬€áуÆÅhØ2°„mox´y{Fæ•ßßLb›¬Š¥èË’0 àÞáQ„èÑ Sá7ÇAñ¿°2ÿ:Í\™’Íÿ…)?õp·Nd猇¥0Pè9l8TÀ¬Fb‡‰“ü‘LëGXm&´0ž+!ÔTH*ðÕ–0(£ 3ôŠm4^”ƒ”Œ+å%Sf¥ßnS $Õ¾l”0É[)œ­p‘ìn¶¾ðKv %«ñPŠN[ˆZ>ZᎯ¨èùY0…t"™â‹SvÊx×é޽[5x»‚”Ž—ä¿ñï²éÜþf’IÚÊê¶neæÞ(º2y£À #¥R†yÀh•Nô ÒÒ V)ƒ•1UUlSðXpƒÞ¶%+œúý .Ù– ,ÑTR´?ªœT0eO·ÚÙ÷ì!™þŽíZÆã§ø÷ú‡ºÚ!Ùty#ÛF&wßyã«OA½ž)¹=šºYrÔáV«‘¨·UFOŒÙ˜ëud;ãh¾Z5t-ÆÇ}wQŸz½3#(å?ñ»¾„}!.”áÞ®·§®‰ð,BÆàœíÇÙ7Ÿ÷ÕïŽ4¦Ï¶¥ÅR[ÖêC;ËìŸ*ÐføŽ½¡õ:gPLÕÁøÂì¶>¸¥Û»°6š¦óäv6Ì'Ûd7>©u3;„õÏèðmNâ\¶‰ë m.ò6OX_è?·w ݈”DÇ¿Þæ¤Øï#¹(âз*ÃMöÎáUeÇÌ'ÙÎϸ*\|ÄødN%ÐWF1'¨«.Š9«/ ÿïúC(o"¬°;ÃÛ}P¯ÃïXà27k¯Æ^R´CqÆÆ}D˜é Ä{Ýideæ°X¶¡:Ox[˜EhãÌÃ,ñÆÈ6’3øõn àæL„€(‚a§M~‡-·š9¢3ñ!®Œß(*ŸA‡ˆÁ94·Í6'Jú)U²›øz³÷«o†¸nšÍ|H Áкü+\¦úŸGYJ[yßh‚ñUÍá(·§B@‹d6Õãfüþ>‡Æþ shôgßþ9“kŽQK¤çÚ$ëO:Í¡éù›—'¤sr µœcO'[œ—´МWSµ&X±ßÉ>¤±‚[³`î½Ü_ïñ1'ÿOüëe<@% z†~!Ùz׺”l%½BO/j‚e²¦§à›<ÒL_ߎɛ_òd«”¡É˜žƒ+æ]ôuÍÑ·5øû"Ï/ôý'# 5÷;—ŒÛݸÿ-æ×ã7°ÉáTlCÂcncÉÃ×6Q´2æÖZí@КNíÕ`…~tÀð†Œm²ƒâzTñ.´gîÇþ Å·e‘<hʱ òÔÞ`^5È>ô¤¶•ÇÎÕíPÏIîÌûxꆩáÁslEû“ìJ9S«þnh¹JêÄq _~†E>‹nô&íîW*ø¢“× j]Æy„X«aÕf[×ÍÝŸå™&üQ²~ÒœÅBÖKRXƒpAØ&뱡{¨Cn›¶E4ï ‰!ŠêUi¯aÉÿÃÝá™l›]1ÏdÛ¤mõ¹tùðU:ð„‡¶°“ŸÃºj“†ÙÒU[òãvÈ9ªW¶Úú‡T;]ᇠÝwKw).ÓËè‹çF\\»äþ*ìE²Á`Db튃‰WµUH¬N„8'Ó^n• Üé¹à‹X>tÅ…y÷œKCëUØa*‹ÝXa$öÉ!ŒH¹AÝ’rçV…‡êcWɈÐkïØ5·÷Œ £J[YÖÓÁã‰U½2U K€iÞÚ¨£õJ,S [ô[£ê´›©ÚçdC×6úȾ˜öPuñŸË;1žî“3•Õ¥ŸßXVk=ãŽçh9ªR/FÓR¸ê•bô\•jÓm¢ªÒ¤bô\RiÚ—U‰uâÈp4=Ü÷V~ýǽË_©³m»-`˜“qPSœ“¦¶)Ï M;øHR1Dñ¡¢ˆnAøL3õýÐ B+áBÅ}žòÄx‚}+YG[+ïŒSçŠ7WÀLíkEü®Ý9^ÉIw‹åI$U¤cYœ{™˜/m¬M§±‹`ý=+Ý{RÉ☵/Á±5DØnþ¦ÚáaÁ·á{]ÂìaF„¯Œ›ZÑÀ>¸ÿÄ/îá¬6ÀÝ_7l,t—î~oÚE¤Ô.÷jÅ«¯nê£ø«Xp_$12Päç\W*Á¿ŽÞÞÃy¥Wý@á]dj9Š S4 ýß‚r0˜¨\ÀfÜwc0jŽ 4&âcÎf⽃$Òé…2°Caš‰Œ‡2w:úÙ^T’ªú .–ûóæ…³„j®MO¼ÛMc;{0—ßæ×éjb‰4zd-$‘½³‰4Ëc´yh¨oR§ÔO7a9ý~sewDµklaÜ(Ä<Ëê­onPÿè¿ñ÷§rÝ’¼Ñ«XmvT[Ýþ—ºÕRšÚKQ¯`1I2Gµ fŒâòws ]œ¶……óúh¦õjË·Æ;Ç ÙP›ë~X’9¿>RrÀJᇒëØë³ôYŸåà7›]6¸F=‡NÅáé­_…t©€\“µ 2•ãŒÃx,;¶.àuæMÚ£%¶M}¡ž÷‘¼Â9”¤ÞÜ96ñú*Úká=äu¤¦q6Õ-ÎÍã…*fÝùƒú·Gá š¿ùßáÙòF>ê±lyJ’ÿ¦(q31e“ŠÔLLÙ öeÁÓ,[õdŠk­fÑá xc¾¤NǵÓ…ïàc¶Jö¼å¼;èÍr]îëT¥ˆñNÅúðŸÛ›¢‰3*x¨|hÔ<ª#d„w¬$Û=)ª¯x|WOg=.¥¼ò‘VÁœñ¶¨z†Ác>ØR“si>$i¬Kap®õ#’íïŽzr“ŒáäâÆX3^³Ü£É{?¸)fúÜÀöW‚Û¹fºÞêh+7ƒš‚fÌô½±‚Îô»Cl67Ç‹`°Ã^)ŽÐB:fÎâ!Óï2ø«Wvèî¨ñý"„üžž·é“˜¢d¼HÖ0yQç—'5}µ Ït ý¼ðf˜Þö¯Ìt­M4±ƒd—5<Ü–Å ÙûaÇ- ~¦ã<2Ìjm‚°/ŒéW ïf0 a;ý·ì‹ÞtÜ‹ðŽê¸·;Òåâ2KI4q5€y„£=p’ΘLQEâZñæ¼ñV&¸ðÍ!™éª{²:o¦²†Ó˺'Áß7=t|d®â_¯ªIW䫯ÿ²7É’$וçw±‚=×òOÍjx}\Ûÿi¨æþÊíÍiÞ…*‰F ¤ä{±˜%%$„žÆð­.<¥ !,¡X_å:E ˜ P,´j‰Ó1(±ÜËbMµ'¬7Ìí»ù ºÈÎm! cüýq³pëíidôº¬l5q[yY‘µò,ÍntÛÍ_3±5œ´ˆ7^l7u /¨Ìó–ÿFëNþÕÒŽÖB _H³!k…I¾Vc4†N.ˆÓEváVGÞ™ÂÑѨ‹ÛvQ4—ÚÌ2[ H°æek¯Ûf„ÖÄë”|Y-þ5?©–!µ ®ÊL«©ôòôïëÙokx ¡oùÆÃ=mÕéî #jÇÜ= QxáýÞ¤o™Y½ɘ±Î¯æ«oNƒ YeAZÑɆíEÄ«—ìd^š³ƒ2/m<Àõ‘˜Ÿ¶Õg¦iåæ{ñ´Xᬑ5a‚ ssGh¾µ|‰Ÿ_¾ü mÃôƒKÖg(VzÿdXWЭ¾cOvpäÖdÇUcP &;º_ì³ËŽîpN†´ÇPŒ±Ã[ÍÀžìðÃÚ˜|êfp#º‡"øàmvÒÇ܆¯’I›°9Ù©9¹´Ünœ|ZÑs´dl7Êø7 åŸ]\óª†=‹¬–ÝÅ ÎÉæÁ wDƒŸQB>[Û¿PãÒ&«s›¬¸·W²oÁmk°?ë:Ô<ˆ¥ª‡A?– µªi·Y5Û5g1ë¨åqžLì¶;èÁv^y LBVbÝÞö°|‚—ºJl+Û „°æG5,&·+µS¿;‚ÖèîÒãøáI p{€s3ÿ8‚7Wò¨Ð;\[s4ÿCªë•å>›,¬gÀr{S–=Íó6ÑB¨lk¢¥±šÂÆŒoéS­úølgrÁõ%VÛV`[#[ÇE’…f*·ž_Íԗω¥ Õ-éaÍÔÍ-êÚ¶Y3TisÐÎ ¸îŽe„Þ´·íÌÂ×ø¬ET=¿í v¥- ëéіߺphÄkG4@%*2‹í¦?ûXdÈiÄ€YóÙþ~î€>ê_g–Š7mÊFgköœgDáÝþõ}UV SýùN>\Ú,e£<¼J¥“BÓï°xÒFµ9\Lb{ÏËÁÍí¹úù[;­û¹bJB ÛWóçoOÅÍUºÿѸ2‰}è/ÚªØHGÒÎ^£áù´¬8¾Ð¨gÚ!ö”8›??õ˜í…òŽ5dc ÏxƒH Þ7¿^:í¢H§÷=ž÷Y„ƒû|h¥B˜öÒ8Ìó‘²öfW¤š±B⳺(‡"qxs@£ºIP– ZþÀé1õJÒ‹õ—}d'È:¢L_V±^Ôjóýw>:ÞÿñÏ|ÿ¢Ñ|·¿ßܵMi“/Ø…8æúò­~'`‰„iâ•B-Q}¿ÕGÂá»s)ð=©NR¶•(Ç¥/-©‘?üó+gäšßw\yÓ–†Ò‘óƒý{z€Ÿ7‚¢…0ÛŸÏž¬†ô€éÀlÑpÔæŽšq%;ÔŒó¬çΈ/‰‘4_ÿYÕÛTˆ÷1êØ$è½Ui¾®Ï4rÓ¡Ø<½"6Õ>^!¾zm®ärƒ¬ƒS¾ì¯ @Å Loƒ©Aºb¦6leoÒüÉÊ6v<°•´°Àì#ûuÒ&=P?À®J¿ŸD €ÁžJ&ÿ>6õ úŸi“OÑ8ØNJ{ì߾ТMf;ĘÓya¥й„:¦&Z³ètÇ ¢£þtø‹^ªÂÀ+ŒÒe—›phëôÎúE»i:'R3@T ~¡ÞÐøÎÉ–ëPXßîù—ýOqªtIž[¢î›ÿsdŠš'첌úð 2Û†x‰TðNÅϹ=uo?è}\O`¡r4†õE%ìPLz8\Æ€Ò© w€¥Cì×1Vå,'•õë6 ‚ZO„zÿµù‡Œ­z£<ŽðôÆz㨫JÒ'UÓþ Qà×Ýð®ŽT¡œ//`%±Ž–øô,AÇ´ù4ÿ±Ã+Íõ8…Wœ˜Wafoâ̽ŠUÑ#_· ‚îu(£¨ëhKþãP BWŸDKûõú”`YÚ¯Þ§ ΃2§[ô2Xn}lŽÔª ðÅìyr(i¿^hÚÌ0ÈŽêà $¡õQU`\À>Š4HJëd'+΄ ?ió@üeÿž1‚C32pvµÃÈ b _X,¥Ê{¤%>È{6›D Ïx–üQJ‡1 €„íœIšÃ©ÑúáJÀCéPXi‘j:Œl+¯¦–ÛŠ0CFJ‡2?¬‰Ã›ÒçicùÖÖ…“Äãã["¸! …6R×_·æ™ ¨ýi,*îë—5µEÖÛ–\àe–>÷ŒRˆ©‡«¹¡±Ûƒö\?Ø¿; ´rÁÎÌׯG4çÎß,6±|l†’öò”¾¼Ëô4Qƒ‚¾ÓÜ0ùÞR°)6@kÐ ›Ö ïàP.3/),r÷!wÞÕTtt¬æü¤+!ù1û‚€„T^X¶P(£Ñ‡iT§ÁÞÊêÂVÆD3/ð©Ê^ÿÂîà )¬† KH£ „ê]Ï%3ŠSY(£@(Hˆ¢ÑÆMIH‚"8Î(Ž2šÏÛ›'  9¬ñƒý»ÃÀy^ЉѲ ),FÐtÉØšh…Dh°Ä´ƒH‘Ÿ%— ³ÄÔnÑF¢:c@Ï8íc0XB#”ƒˆåqFñŽxÿžA4Nloî; j£^9Îôdƒ–%Á8ޏÇûÁY±âŒŸ+¦¦CØDœYòÆ |žÓjÍ -&îäë*R„ e dšÃ[ó ¿Àš"ܬû3â;R•¢ep'ݰ6$w ÷w&Æ2¸9/M”³cZîÓØVF.ö ’ˆ¤ój£%3½ˆt˜é5CýsÚ¹gju‚tŽ—ÿH«¥ ài6äI¯å{Õ¸á1û€ W`ãwWjFgħ¤EA-чŸ±9öß9ä“öðóÌ÷5Ž3¬Â÷î)–dE§XT¾ßjP%ß|ìÍŒp¸$›ã)áiçù>›ÁŒï¸©Pø¾ª¿¾”§'ýûû›lú&ýâóçPY·Ì‚dj›I9ÑH£3)gôÝæ›8û¾.gU¸Qï»{p¥Z’«ôÝäU‡6@âøYóüß÷‡É­pÀêhK[{p±Š(¶fÀ!y½œò®ºŸù¾wqOŸM¿dúš3ÎÇñNÂTíÏŒúb~èÇZf7hÿ¨Õûo‰lÂtêCãNœËTžNÙ&Y5-É1¤‘m·—î›öê-kZΗ«qENkq®ZØaÐ[Lû[Ÿª;Óvð¾-ß¿Bÿ³™–†„lL©M7 dºÈByÕðìÃSâ§düºû34CÔ@ZŸ¢Ë5NMOÍø¤™0½õs:!OK?d¼XYQ·‹×µ|‡²vY ‘‘eµ%>²ÛÖëCö"`ÿ–ИÚFö;KÞ¡.lÚ-@,ÚÓ@Ù¥çÍD²ÛFUF){Ð]÷.œJºdïÊ Ê3 Î-;Øå_îÊ¿\gsXž%4›¥³ ±žoR7‰LêBÅ£2…Q3F»5i÷ÈÄ@f¦ÿh¥º{g99}°hHcR×Õ oÆ]¶Ü#ë  pÒÏ€ñ­‰ˆ¦b*$°®ŠïdÂ3½XÃMp ×Áìg¬ö8–ŒXë#–Aä=º¶ wˆî ã1œà!”»Æòêaì¼+ ;*3ä_:Ú³ÓsÞ,§B%‹©°iÐÿ\ÊÓœêàs˯ ¬XY¢n& Pm›кäjš~|ÿV<ƒ ‘/ØýÀ&¤¤-=MÂÊC‘6I¤’‡¥ ´Ø³Â¹´¡¤uÏm¹‚‘2RåÉÞ—Bc“pI.ŒÚ…€Ù3`…Õ‘’6#Þ¡ƒÉWeÖBþý]ÆïK'fâ¥Fc—^ú2K»À+ e(èÚWW"Ún2žõtýÓcÐXÂ$ÄÔìp†!¥ÛdÔ˜ƒ2Ž /q<¼×„°–žÇÍh¥”ðÉØËÔNœÐØ )­™ÖÊ|Æ Ñ¤òÆ`Š€whV@ã~Ri¥h à[†¤ª!ÇNžqó\Ù!5nú>7Ã/±^kÑþ(ƒè(ÝGåâM˜-M]i;F7ù ¨¡l;ÍJ’xŠØ£:˃忎üô€O¨Çk›Z³›HŽ‹ŠéJ ’‘cÒQA~!W‚Ñ. ’¹ÿ¬fþ’Ít+¡qˆàX11öN°VFlyPLÔmØT¤`½ùrõŒðÛƒ ƒ¶x‹X°»+ƒP¿Û¡$ͨiÚ 3„íÁ… =ìP351'y”Óã»ýÉ"ÒÃ_Ž‘fo*…î܇%K•,s ó „±˜Qa®‰¬‚ac’È.Lžðlà†4‡€x‰—·XE\wO¢«‡àŒ£ÄQÒàÜÛ%Ò2|t>D$Æ#ð»2ˆê ®vM´±]ó,1.m´¤õÌ©Íf‘{a‘aøóÊŒ¢˜€’ šf$ZR·X'éÏ4ë \b ë)çöÖG‚.«tFpUš¯×‘^ÎóE/÷4šXæûPÆP Z³÷Œ…q¼£°wÖªw®©¤ P9Ørt'p`¯ÕôŒ8 »)®‚:X"öL–f;Ò¬¤›l9~„Yô/û\Ì®-nĵµvñòø`+…¶=ŽºÂ¶Í„lEhÙVÛ²mµ¯ƒ‘ŠÌHvy³»!m¯¿lc"oöGM(“JÁ/bR…¶‰ÊM•Ä ¨',ž!?Ÿ“Z°Gð§æ0`W—_›È(¦7:ˆù!ñ¸wëuôª }8in aaÓt Ý(¢{›Dà b‰ž#ð:ï“EÕ“EͶ2†K .lRI;\ƒ>O=(ñ6™ó郭½Â±¨»0!×™29Õr­X«1ÅiKÈ û‹MÈ ‚Þ+ÿfÏ%dÐÐÚ(ê÷’j]B•} C Æ۴ÀWŲn¢vüj¦À©.Ëw f‚Âì0?éZ!bW¤À ÄaJ’¥­É,SBJL¹[òô¨ØØC˜ÂñdAFè®®`Fptù¥¯å’ ó qz;n:NlÛàÝõ&²’ˆ‹ àŽ"6Dpêýeÿ>zXúcÅÔìàè»ö±9.I¹­Åã;nbŒÁ”Ý£†[ ±#~#¨W R.Öèá ½¡iÁ&Ãr„_ódnEθ$w)e~»ðqS|:„AüŸˆÂÒŸÞ& Kqš<Jéh2ùv©5Ùü£öÍ¿40d\\nòEs¤òfñ Øë"sôèÓGŒ‹Fv/ÃjœV° ÌÎTþY;¨¶?Ï\-]×¶]!Ìɼþlî š8\§L¢ªìàN)~¾¨¥-þÄ»ýQho,ž['!.èÞÒfnÕàz3:Ósg¯} R¯&ð5‚Õ¡¢¡xëÕ¢" '­×ûó ’Û_%‡ÞgŽªÛ_ û'²«Ô<Ôš„ÁX¦„ƒ@–)yyË5ûUêvyÖ@&ù ¹’ß…'í¥/(»UÖkŒÂ:sàw¼ÏKðKx¿xÜ¡g)CŽ›âØ1æ÷C‘e™ÒX¾ÿ;”ˆót„þæy¸CÁ5¥ŸÝü:ø¼7•6µß$mÞÜ ÐÓæ{B×Úù>ysˆ ù>ù>ú¨Ý¢68/ïsØÞ¶¾Uo¾_#A:à;´ºø¾=„šµgXs¡}EÙž#kÕ(n'0Õ+Ç|¦®ÞYó«Ñ!qw:Ê4_ç~K±$õg_·aËW.¸ð>²”Ç{ý-[kSoþõν@4Åñ>å>™FÆÖBÀÊ¡3îxü/$ýùgõ¡Z¾µˆC×¶W³”?¹©\ÞÈ®¶`/ÛígÏ¿¹"’®t\æœ6ÄÍåÀZè0ª÷Èt$4é æz{–¾“È ´H €Š=ð¡ó€L÷›Bu?|on†kåQÿ*H˜p“Ÿ—í©[È ôgꙪ¥º?†=A½Ä[,Tñ¿÷±?ꟗå%‚³‹5h_‘“%©H×Ùˆ  N{Y¥ W vJ^¦Ýî RpO±ÑB,W¨Õ)t õi/@Ù¹~Æ UéæamÐÁ7‹Út9x¿$ˆÆñ”1ÑÙX®5sÀ´¿l}ŽÄxÞ/΋öBajº! TOMo:üuÏKÀ®óûpèU«`_È _ïÝÝøN(ËÉBþ¯,Í•“>ûCç&3Ò™—ê´ÁÊ|>H&úÃmA²0ÌMÁB†ô¶¢gër[²ŽdvÊw=¸ rš|ŠÒÁºü÷dójùH&@Ç»±âD/x7Ûu^’}£›Ü†}ÁùÐDFË ÙµëJ8÷ú »Iþxm2˜Ey¸/9X¤J-v:ð·ÏȦȺ¸ ŽÓA¯ ³·a6°ÛöU'šÎÝÜc„äaŸé&!êÄs猥ÎñœaCzüZÑÑŠr…+àr!înŽq6ÊÕÍ"Å+w¸ybîÎ9N|Ï–\ÄOöï9þ>ÈCª9cn….S^q.éÞ“9E†ŒpŽÑ ?Ÿº’ ÇǨ+§¨¼âì06¨¤wï„Μ3ñ`ïU ’ûEC!\ÑplŠ;„ÂÊj@©Ý½©ASIèÛÄö'9C¶ßN“Ì^ïÍ‹Õ2gxýµKCØ™3ä™Ó4 $ukšdÿÍ£OY'/4]·…Ì^a‡U‰ÁzØÒ´¯D¬ ¹ÄWP``D(EM-–ør\[RZÈvšdýSv8§œ/4}pÚ]—EG>ðî$u6¦ç–^hÏÜ„ç5Æðr_èb ®o {ìj¥’<€&% ތ٠îˆÑOñ*/Ïy8w¹2‹÷F9Bݲ?Á ŒÆ…L¤`¯?g-š/0^:äÝl\|ý<8i ®Ð6^ˆÞGK¦Ý¯ßççW­ðç}¦dÒÐꃞ_—ŸŸ²íçƒï{^%¡õG}‹‹×ašò*‹”? gòû´oƒ ÓÖÐðFP·nN™çåÊA7¾ïõ3e柢Ž>œK¾¸«6DÙ!áX!$·UÍ?æ·a9Òz6o`—, BB€§1¦_!Û¢¸¯%Y:<'Ò·œ}|ž8Ûó½àŸ.øäÛýûî8Øp÷¸ +ó¯ÖÕ¬i›Í½fg{Ø çgœà«Ûùè!™Ïßµ„új÷çÁüïòU¡´Ð«E,ˆýf¾E!ÆbÁo¾jbý±LÁj÷Î 88÷æ˜Æ÷ü.Xð×òÝþ°ùÇ=1¹hÐ¥Õà ð+zˆ¶sÚÃ|åÁÏ[è®'ý(†éE‹ËÕºSÉ»ÙÍ/ì\".zOç¶ò´ãoøøh>¼ùŠÂåoíÃÍ+òCl1`£î{Ú—Üùüçê”è~«·ô>À{BO4d  éþ~¼0ÍÙç„Hfó}u¿¿l&LJ¢„©Ü1¡0†Dƒ_ÿ14¾Eùžýúr%„[öã8¾Î̬RÍ_øðô…÷ã#óü±˜ ™òW´ß{ÕþÿœUŸMô¯—´º0܉¸D‘ÄNÕ“Gà6ˆ[¨2 ïJ¥¤ôwè)uŠ~}Á†+^BVtËô@fA.•Ù­¯{-o¡¼ƒ§)_o„îþàsHÉÛs]Óý”jz)fÉ1Ô¦{(÷õ£“ªS-»?ö'tu\¿ˆôoڼΠ½ÃÈÿ`‰4Ôz í&šØðæ²ýÚ»ËëÃ\ZP§RvÚÝUÃâ×7÷òQîw»’‰¢9×'™(š%J ðÆ'ÔؼöïïŸó˜ì´|Ÿcç…øXëÔ|>™ø4¤,éÑ&í»+$‡„{”»oâ½ ÅAI÷úN¤á"|¾î…xby ðÚíÖ`%ž;ŸÅJÀ‡›SΣz Æ#èNê  Ÿ» 4 ’HIþjÄëï8Kºã2ŸÎOcx¿šUI¾*â˜ìU¶çKQE†ç¿:E73ü·«‘Ì’½¸6œ´·É^G%û_ðM5ý»:ëÏËlþ­íÐ)Q%ü;ëû¨Õ:mâ¹ÕpšÎçsõx~2`)M©»æeóü„¾ß¢…“öÌô l‡#pE$ÜÁ÷Ÿá©ìç<ÀŸíOß/Ò¼23§™^ÏíVâ"UxÉLgß3“¿e…ãÔÿ("ƒ¨íETn$§%ì OÓ= 9üT¦“Œ×åiVAr¸éÍ5Žò £L&‡Í€6Áªf¡ÐÞ•’MnøzKzØûÌkÇÓ¥“Üðõ€qÙ7nýëÀíG R/ëEã'oÿòm'´Ž·äá/;å&¼Úv…÷Ði¡|D®%s2ˆÛþ€j—Ñ]¸à5©¯QœÜ²ÏÅ…Êwûw$Ü÷Y%HÚÀÔrÁ¬æ'ÀÛ€düZl¾¹üŨùæ‘Ø/—!,M½`aÑÊü‚R¾‹2†jºeæR@ØÎM^kM¯çÅ[ûÙþûú{vy¶&L¤˹I6ôBÿ2?i&4‚ýj&t"Gû2ÅØºÓäàðFBq0o¾ ½¿ßO <w ŠÏÇ^ìþ8Ymô&ÅU‰l•»Ù—³ ¥9Y¥`Z Ÿÿ͸x˜Ý<1n? ^?ˆ8q‚Éæq¸–˜óÜnFNãØÙ\K 6‡‡«›ÍÃîC[!§{ زï\!žÁ§^`qÀÝÌ‹ÓÝLËÿïðb6_‹k Òeo4ÙRÄ]Ä |ýÛ&Î šC?Ò½7;è—€¸vÍfv™ÏñJ ±\w€Tº{m‚Ç‚ý#Oîßæ0x`Þæ‹æÂºOVö ù°|, ác™òN׿ `,ÖÅD :â„á"D"l*…óÞ@ 5ùâ‡A€Ëû¤@…Ê},½[ÕD2Ë@M¤‹®Ÿ¢,ò¸Z…Qe×x¸«Ÿ~µÞêˆÕj‚X(, ²ºóT™EÆúˆ»˜-õç‡ElwV0‰7i\ÌDPVØÜ(8ôëñ™ª(ÏtvòhŽjžÎ‰¦v| _IÃYO+ Oª¾ƒ‹¯v¹€ÕsÕ?¬òNW÷ *Ì‹}İIáQ'ÀÁФ @ãEè_Þ~¡ ãKdzˆóLBAáùÀ:MÀ !¤‚Wgð?ÁuæÍL(;?¿„‚Í>7§6 nvãc& KŠ5GeCoc¢´ø¿­ªÌfF¹óŽ3D¸þeþc"`MMãMd$Ër8{c—^N&‰—Zó”®_Ò6©¤ï.-¥ªQ^ú‡VÒ»·Žlfå¼~Èë5lò6à“]½êak"{òð©‚ú7ó#¯Î’­yõEDOh¾:ö^kÒ&;®SB"”ê†ÞX&•Ѽö¤ÜËë.b%â'H¡šâñP‚èÕ/壸Vè&4ÓÏOH8i\ŒBůl'•bFÂwûwgJÒ§é”ÖÙÃã‚8ß{ùºÝ9žVC¾ ,Ñì¯#ëbWÐáh„¢Ÿw¶IÄèÀŸ7µüÁRfz ±Ìgc4b}A®p‰k97í½`bÉ¥þ=o~ì§p~©óžw´NˆSoŽ¡†c{¦~m«·Ûˆé· –~âØÛ=ˆ<…-Ü#¸V–ÅâÌEêz Kö ™ze"(‡ ©ëvîPÅS1n½ LÜå+ê}‡CÎ!îyÕÜET»©kUiQ°ÏE @³uÀW¬îaš"¦Œö|ò…×ËÛâ` }8yÊ„!@‰«[•L S96_çë,ç€Xwq¶Ã (ªçXá ÛC§Ìú{‡iµ^^]ï§Lðœwx¡çñèëÙþ¨ÀmôADÓ¯Mn7Ó( –|Õ ï!³½± 0ÛÆpéí>$¼%ßäÎä#Á‰ àŽ·n‡ ÛÙš„Gögð&3þ(„»;‰Ú° H0QŒòFHÑóò¬âˆ@€ÝO†oÉuŸZd:¬ŽiðRxx:G‘âf+a{]uÚÇ^¨}t>êVÔföáËÚH5P…“ÙH>¿‚ÿ*ÕrBtLÀY ±…ôPgÍpá¬K'm·°*QÌXÇìæîð¨,8ÛeÊnüþG§Õ üþá±»³a2Ûø¨€ÄŽÃøCúöML5Wö/Ÿ3¶ }øæYDâßL÷v/´ü18 Hq‰&ÚžSÛ:až+À„Q0L'ºØU“ j~`þkIÚ ýŒ•IOØ|•u˜úcŠ ˆÂýôõÜbHýe~‚ffêP+ÙZfžTw*ºº ú8â_i•xɇMè²W 6ÛÍ-%§‡øÄÝÀUH6”Ê,ØÍ‡mÌá щG\<îœwr"êG‚”ÊÐþqcÅO©Ê ºM8´``!ʰØNcÝ8=‰HuIJÌzˆšÙ×)LÔÌ 3“Љ ©îVÎÓíâ›ËL&ìÁŽG¯±8ùh/16¢qòŒ.Ø…“ Æ#3l·¹<¹£Z¯xº»qŒg&U׃oâ|7<)Pç–‹²ßý¾Ò=ÔxðÓNÿ{ñ͸ê}Â3Ç™‘áëYÙÎûÚó½Ûñؽÿ*üz‰ÝX‹ …ZÁu mO¾Rþ¶ì'ܘpÈîXcRiu¾àF ô:³Çp³¾³JEø²xOÛ݃s:ýªs²Ûqöq~ªÕ‹É®7üÚ?º×ŸðÊE}òb¼âkÅ+¸*7´“‡7°,“¨¯ÞºqWZ<{È‘TÎaÎ&Ï×pÒ\D+Å$®Ó½gÜÝ®Z]*)ü'©Øbù¼C-YÏS#9úž·ÎórõºAx#˾۟¬|®„q0ž'u§H€•xX¿Ï?D§ªîh ¿OÎM1Nãýš|1™>Ì¢ó´øýÓ“×ßû-“ß/âÕ  YMℬivSoE$fÝ9«`·µ^²¿¾~Ɯ܈ › P´¸(¨›ê·ÅLÇÂ"ÄéA° 2½»mY*×îxÔI¶ozßêÞVŸ·&:?mOw?¦Qª#ÜmãÁîw'¸È>qq¼Jü½>ݸÍó1¬>ÚÆx#ÎàÍï` ЍU¨¼Q¹yt#µ(¯œ··&BåF–Õ4Œ±ÀŸXzR•¼k('YÌI¼Ç ›-˜Æ¬‘ \†¿(çvü þ(Îu”'˪ dlwH^Wxë+qÚõÃru‘ýÞ¨F“¶°‘ê|ì;N%ƵçhýohYw»V/œ 0oìÆ ýcy|«’‰wwÈ "òÛl±Cfçv•½ÈܼêƒÀRªÌ`‚SÜ ¡})>@”C=·^ún2®Å9­˜;šÀ©î_äŒÍxþ½¢É^Úéqà,Ny>}]‚SaæÒÿXÖLpÈC¨égÐæBW9üÅÙ´/åm³yýá/oäñ_L¶2Ìv´…Ù6^ú;'ð±?Ó¤ä"¯Š§Ê´¨0Í™Ws²qHì¶Q9ÃïiImÞNŽÖ+ ]ìâ°­÷Œwޯמp3û¶eÉù»iîæAøëÓž}mb#ǧJ˜rýÛþh<8˜f–æ*ZCç ¿§­/24ÿâxN‘x¢2-RßÉŠ@e9-9Æè/I¤“2®F!Ó¤zõˆ‚„I ÂìŸ4šUü¥>lû7“BöyÂè'C¢HCpº¿àE ß7F¿™–ܪ8Q“ªe9@|fÖ% M¾{• ST¢S™´pÚíëq(ðb°ßHhÀκˤJ”æÎ‰4§ÅÓ$ ÍþoÂPþàW@ ù@»ûÔGîåå£Oól7Ö©=ÝŸ¦à²Dn¼p¥S ½£7=É.žn>TŸ•è›ã¥ÝÓ]èþL'$ÁÆàè›ÿ”(FeÙ¨ñlœ žœ?ØŸà1‹ã¾½ 9ë­ÑW¹Ž 6%”W„æ„'Þ­0¡8z“xÙ“4Æ»{2 Vi\‡Ó;Nñ|Q—ødU.S]øNõêz™çCã¢>Y§½u—þ²g§â÷Í£„fae­µ‰3G!©£9GÙqUÝ2)‰u—ÅeRR¡Ù=šƒ æL“C'k‰ò1ÌlM=Á™Á¼.ÊR¸NÔŸVÒÆRLh†ÌŽÁv¥¾›¿»Žs¶Â%Ðn5ϵI~{~xzºžmD%Är •î4¢œ7în ˜gáœ;š°éZ¦G4_|üÂéËáyò¦yò[A±ƒü×Û\ WÈ€ø‰&Û Ñª?Ø¿'<ȰÔa5‘Îü«Íe#ûÁI²n[‰׋‘ŽîEÛ yÃÛ¦ÙŽa8kiÃÊ¡ÐMp>áèeø¾^Ö¶…ïöïî†ûÅñ 6ø\[O³Që4ÖÓL†{°8rc ˆñ°ßw?L¦¦z˜Š-àüÞ×dYukRí€gM;9†·ÿæ.ÔÌþˆÌžî>µ-9;öE;(þëz5•·Ö~ƒ\÷³†Ù¡ÀéëÕ-)—^ñ ÿ¦Öç<ÏB ŸËm#<ß:§³^üâjqnä¹ýOŽ´]µƒ‡žaÞ ÚÝuË I]ÇtŽóVG7Þ‡÷‘vñùË¿ot†ËßÎÇ€Û¯\Ÿö•fÐÄÓ¢$=åùø¬þüÛǦș€ç’5ñfœìYø©Tþ'ï°F)ÿ:^Ø¢4R”gã’´`%1»Õ˲&°ˆ—áGMo@ã§Üñ]ôÂæ¦ô¡Ú-Ü0ÔJýT{›¿zTŠàÜÚÌk[Fë´•÷bޝŽ+4x¶çÖôýW¹²ðëÿmßß•,S{~TScðÏ„mñ”<¾CÁÛµh_š’¾¿¬ì_ ÒÊFïø•ï«6 ]÷,Ö ÁàbÈæNæ¬Ü›ôœç/¦òW®FǽŸÃzUpêszñ6¼è\\Ñ¡i½ çuů~—¯DK2ï24bþiKŠz§³¯Ã:rýðªåy»|)êQ@Ð.ï¬9P´{}— CÚ¯Qû–À9OOM?‡3¨]P©=—K;»RÀÜh—·²{íú@˵v‚ß^Úí#]ļȡM…EXÓDΔÚôgâwR> ¬›ü§.”‰i"Ö/è€#'狦 w-s2|ïFb]-⺹h1³±üGlô áˆÍ<·k|¨Hz&ݰeÃî°§Ýæá?«:ŒËM_O¡»m@ºérÃþëÏ›ÕýduÞq$5é¶›Ýp>FïÍEÑq¤®ïè(‡2fÚ‰Ò Bæ_ÿ‘ؔɼ VEHøG¶€ËÀÞ‡‹kR¹g"­l¡þÙ,üâκxRvÎZ2mÊæÞö„û±›Ã*·m u*dùé-MÛ-·­-K ’ñš‡ºzKYç ¼婹=›y@qø:V*fÎ €tš/ôâØpÄç™B\Vߦ‘hŠ|U©*^ðqž‡@p5È'÷Žö¬EÌÍáC°ß¯/¼ÞÙfèþ§‰,` ÷N9Pü°ÁÃzt|ŠâWM5ruDìç{@®GêE3¸ûdÞ8žñH†rò÷5µç ,±z=\êü„^ðòáÒå´7óGk±’œ ›à¤ç ]»kD!ÓcLÏ$çß¶šl¨wÍøsz%j踈nxÙÆu+ C’L‰:y ¿€s š`7å)—OIJ\h¤„ëèöЃh?Ø¿Y()büpÔÜF˜èò¥‰4µâjóDp[wó„ÑlT›ÖÆSv N½ø’ë±"s¯Ô½ë Å ×xè%šýÓÈŒ[­n#5%¥™ƒn÷Q€¯xÈÚr…]~ˆä–št«|Iƒ:·m8="¸3¨›;4$’v†¿îý\Ý£Ú×7•ØŒÜÕ‘9ÃN·¶Ù`XèÕKpQ˧ý#øñ÷KM}ª‚DÅÛf-3´psC½¹è‘ÉSü颃ò§ PHÆ6n>Øj³á0O›gMÆÝ\µZŒ"ZH:ÍàÅB¶²;K5 7` 1õ›ùñî›tÓ]å+†¤7mâÆÁt—Ûw=uîréçÙu•·´s8¹†ç†aC@åÚDi_ˆ±a_±B°°×XN ‡Ùx…Ÿ¤#<)[±;áë?ÜtfÓÅÌ º6º”Ùù©t¢æ Ä¬æ©'€Š óü^ÐÞ2®ó‹Qg4ƒ8sr'Ÿ@È P"Õj—.uÊÃs¯j(8“­ïE ‡¸® kQ“ÕÙc~&4ÿ  ¹9ÇÀÑÄ Úè'O‹sl%fMJºãڮ癘Qq8ÃoࢇYž1YRO¢È‘ò<ÜÝ6€ÔÛBcyÆ’­¼‚ôKJȤ‡"=s5æB»$‚]v°~×߇ŒaázÌúÿƒïä9ûÿþóþŸ?åÏÿûèX½Üþ8”]:í\¶M²dÁ?#×k³»M ¦æ ëu¤†¶ÿ¨Õm~=úéVÙ¼,\l0¼J©`¸-Ý0Û^…»»të1—õúýìV¥ ®n*÷âï! §½Â03èÚ tðS[Ïc5¯Góê}© Á‡”G&kêzñìŒÔKayÄ2ò.m„n”ÿƒÜ ŽÀË•VA|¥ã)Ò.L“ñydXƒïéÔ”Þž,ÀüÊ÷â׋‚иH*}33™mºîÝ”¹àÈ,3‚ÁÍË#%H ŒÒ3N¼ù}ª}T3j´¹&0?ên–ÂãbOÒ–u®‡ôÔ˜0mw—çÄ/î)Õ–°UÚ{%q3èM¹TÁðËM€ô(ãJƒlØÅfæo£?MŠÕPØhÇP øAm1¹Š³pÿ¡/S°#vò¼Ë£x×wQ‰Å%‚Y1â(ÎNk®MhŒ´"ræ„òÃÅK=)y=e.B¹ÿÛœŒTܾ`wvX‘3…¢ít›K”Š´óœ¯*·¼ gU¯’ý †¥EiçŽ¹Ô b«²RSŸv‚áïŸD,ˆ,†{(–j-…J;+õa¯±Ð]ÇK÷çµOÿÉþ5DTÂJ|é ÑÐeãmË%×Y/o[®?êZmzò.9÷u-´ÝÀï3)à§È¸Z—–ÏÆÁÁn| …9l ˧tЭÇN±¼¸.¹QëeE†§ëLf…ý •k½ü¼þßT”·j_Ú›6‹Å Ø9§~^y¨.²%לªè÷1‚ VÔ ó…W#80Õì*\䡸ŸtªU–q?ÝüØž9*D\‚^@^ Oî­·?É&ˆ\ÙIÃ(:3`4Ú*¯.:*Œ&ÛP»1mg¹‘Í G뼊[µéËÌ€² #¡Í cy¯ŽH-êq|Y^özé½ê˹éA ï,# ö`Á,õ(âÒþeþV¨nãlÔ‚[Î3ÛÚÛû Î/. Ã8÷»—”÷#£Äð…ï‡Qñ÷¶ Ž ÆÁÒ¨‹†¶C%8±•dZÑÅBÐN°U= hW»¨ÀiÚ\Üñf‚IS;CAæ+MáWx«³Ñ$U£5xöÄïZ8ˇôm)‡§fa>F¥ï©Œ¦8.éÐÙa…Pv?EàÞ,اˆS;ØÑÔâó» d U˜‰Ñ a&™÷­ÎŸüÉ,@)ÅLX¼ oâ•mT‚ ¹õiÜ¥4|cZˆšš1œ€”–öí%ŸýÞ ^¼ðͤI.>ÍBŒJ>ä^j~ÖA%÷´/Í©Þp6V«T÷\T^ÚEnÑÉÐ>´DÝ+±‰A3#€ªˆB5O7ÏÆÕ8ÂÔ¸î1ëxщþê%þL¯`«YîbâM4«aüe~¢=R Çupó‹ÞGx  ·qg-è×F˜Ä8üýÓˇŸO6/Ùž šÄûæmö\º³>à’À¨åß·Ýì þ¾sÁ¨óØ~YžÕÃEÜ=•ë‚Ù7Õ5W!¸rSNGð…'h\Õ웈ÈÙ‘l'ü9Îí*ìÁeJ*üJaƒê ŽŽ)ü™¨WèÐOŒï6ϧÌi¨j¨1:‘mAUupi‹ÌÎ*±Åwó£ü`‘17Á:@GLÉA^‹ œ©>‚ª¦VÒ$®P‰²2ìÊæªö$Îp†Ápâ ›-+Æÿ=˜_(yÎ|DI¹T#DA¸“íüAPÓvþ°à49ÜØâÒ(Ö¯Ç%ت¬Fpk»n™G2l‡Z”“M(üîÁ„àȇå Þc.h×¾]Gµ‰<¡ÉJòqÕ#9¸ÙˆHf²B¼$çw«Î„Šh>=ÜÁó‘ŠuÂl•/˜ ãP šî냓™‘Š`,†¹»uY`‡]ödw#ü9x Ó݅匞þà± D âÃÀÒ¸÷_ëòú1¯a2A˜jQ &,½û÷Mw/x€ÆdâØ_ög`w>ž)°{–i·I/}N6ì÷½«{†… ù±êí¾‹g`‰M¿€3ažE(Ã!ŒÇ¾×-Q½~á¥)P“)ò‡&¾Ôfþý¤¥sKÞ'zŸUÝ8”†ÓÎN€…7OÈ«”7X`ð¡?ã)Äœ<@ãz6}έ@ä!nÏ”Yزà’p±*ûO)=Âhß‘ÄIñ#õòa_×ý…,€Mò6¥ õ¹Ç¤4õ>2·Xà¤éV„âO¸8t(ÄkICÞ³¢Í s3ퟟ­Æƒ°æ`ÖÖ¤ÚY‡“AŠºj™C¥…l#É!s{øô·v1¤]Ù²:îóß‘%ôgÝɈ§Œq–eEqÖ€,âMÿTì¥;ZSIù’Dé¬þû´¬êÏÒí?d‰…üÜâ•©iåX O>˜4xÏè 'Ïó|]7¸¡`ò¹iMv›Ö•ž¼8-,¦¢‘0ÆÇKæb-·ôʱ ¹]*ÚÒÿC"üï=U©ø…Hmç% ‹Æh"EêBèGˆÿ ®9|'ïýü˜ë,#¬ê²1¥Ì’÷•áq$ÇØÅÑ=>í±Dí!D •ÍÜ$²h=îc~ÔxÂ ÛÆ×½„1pÅU"yS#)lÏ|Ýa~ 7KŒƪmÐiwÖL ¶m<‰ÜÀŒô›Íã84 –vMÉ$]Kæåò ;òGÃI™¨hß!¸ö`Üì_"¥¼¾äøëÒº€ J\õ*ç jGš~S]Áû0@<ÖbBª¢ó€|Ž«ÑÓqqhšøg¬ÁO;³¡…Ѻêñ×…ÖdõèJ&Í%ö¢hÔGiA!é32¥Ýê4 ‰#"‰ë*ä³M²]h‚4>­j…½ÞÈ®Š¥üÉPˆú“b °¯†M¥],¡ÌT~Kl³é~›Ø\ðˆJÂ…§›Öj­¦yKÓû¡i·D©'Ø •˪u=ØhÊJ¢™ƒVPIluP LQs0†¬Û5\ìFÓ" üªÁó×Ô&ÔÊÖ¹¹ÁSÔí¿Ìßò‹Êõô_°þ®'y¢ÅBëÈ®ŸZAÞXQç;eL™r2fiº63Ô¾˜¬ß"'11±ñä‚ìµÔ¡3Öæ"5J4¯¦ ;©lO¦ v*«ŒÔLŒ(ìQIeñ·w|@,A*}äežP=øtdx§²½ íÅ<À?ÍŒ]Ò—‹~MÅe8Ä‹ºêˆ3Ø1ÐM=±¸ÑÌıë¥R2û pd‡ä¶ŸqY0ÙI6šÊ ÉFÄsr[ô$ùˆc‘䬾þ]\d䨎be}¶ýï†"#ÉHÓÛŸ/4‘•ìñ br¾ƒã:ü œVñÜæ½á¡k]{íyÿ5Sìže— .zÀqÐêVgx¿M†+B¿I«ê}°Zþ²YŒ5á‰p"8L,¶KqÔ‘¬ôÆ3¸-¸˜¼¦ç¨Ÿ >£*¬¹È”Ô¥3¼X?¬÷ø¤ÅgbPYŸ15'ˆzì(’…–ƒI„†¢t£`®=±0,¶Ùnë6þŦs"õ`à| $v‚ÀÏÀv`ÏßÿNg|·íLV>€M¿Ò\Œ:¤à²Á!X³Ÿ?ÿ–µÙ ëÄ., GwqöhJr³µ;ux¸;é¹L%Ý=¦À&7”J¾õ˜|$p¬MzèâVaÄš÷ª¾³“M¾»×ZDLÉÁ †rû®Á»GrqÄ„º«½Æ~^ý6–Ç“«Ë;_vX=ŠÆ<Ý3èîLºñAÐî4„39MI^dõb(Ž¥‰ºbezÔÿ¤Ò-î‹àaHºëQI?ŽÎRW8$ý‚Dê ƒŸ>ŠAq2&œþ_ Œ¡úSeЈòu% ;·)ˤÁh ð q/ÔÉ4áë:%P•q§Þ(0Ióy°™;)'™UÊ<ÓX‰WegИRÎ8=×Ùuœ‡ðÀ2!RÏ»m…ãx7-¡kò¤ÿ`ÿJQÞd‚ßó•f­£³¥µÑ¡Pçñ@E¨þA”Ï'?„Í43Ž}:¸—` 4FùFÖ@UX“¿Èkn‘l®@ ®ÜˆÙ`ãΆ7^ð‘ ñ!®:‹7Ú\ žCz·×Úr‹wvš¤¼YÏ]1 ÝáfÍ%5Žï¢ÌC»™¤ÜÈô^î#vÂtdz*!DèÆqõýnÜ^oõà™dŽ‹Hþ +ë fˆ™Wå[ÝRÔûº{ÉJ®Â¼ÅJ®æð€ŽœõþTç?TœK%Ëž6aræÑdNj>Ô½@ø„æØ¼Oö·€‡ À©F`¦›e~xçï ÏÓ€`œ¶Æb±ßN~°0d Ò5£šÇvñû ¿~ðç{V…z˰M 8.sÌÁDä ö0 °ùùpÁ_h¤©4ñŠÃ;>Ùgš®šNIAÍ´*%¥«r:@‚|<”ï(²I]o¥¸f3‚Ì/—Q™0sf¡˜é]Õ)}ÃÈ<ÍuÿÛä}“Eú!LÅ‹"4®ŽË!RíÔ<ç)y¡ã¸ž¸Š¸Üßï ó„Ñ<¤Þq5¿÷¯îÀƒÊ~µ¼«Ì¦!KÈèæQ³óbæèáÜ%ÿæh6ˆ®$#9ä—Ù4QÙÆˆ¯u\³‘¨pB\h°nþg ³4÷m·%¼WÊžlºüU`÷ïæGõ¶0M[_ì],ØÝó\ù ú6™‚YaŸÖya[‘ú‚Â\;îè6K;A¸~Ù_ð?IºîÍä-i®ï÷4É·ÎÄì’„Õûiõa™'ÞÊÓΗT]$&yAõ¨)xµcЬ‰êølò„ìÂV:]Úªì”w>íÕØÕxìºóðbVšSÙwå/_Ì Ñf7ÎuzâÝ9ÞYºm`ŽÍûX6Bfš(ûN0ëÄíOcæ&ˆät²GÉ’#Ìœº2ýÐìì€Íbisô(Ž›k¬â¨ÓÈrÕ*šÆÕiwV–õ6 •A* NÙ™ÿVmh•¥½ýyfÏUt€_³Ê±œ¡ä+Í£¡=v¼# ΑJá‘øåòÈÙÒ›,Š¥’ 9L14»kf'¨ ù¶›õoΚmæá …çùËüUè€zw*µFa–4©2xÀä=ÚðR)(uÄÉ®Úð¢yЗ;u_Bváby.u:Ð Æ@̰ý¶X¾>²ìÔ:“:0â´ ¢ìxó×[WÓ?O[› é©Jí"mÊ/¾ÙŸ@ª©Ô‰nÇÔ²€Á`Ú-(vÚ>µRBk±hgвöÛ’ÛúçÝžØÔ.VýAï½zÓ6– TÌq ’e ³¯ é"œ¥ù„|ƒ™¸Ê í_°óöÝe ÜõQC“–9§•î<<£!ÆaHo í¬»c>6¾_¬ö$óäó‹í²‰\Žª:sg¼­ÍŸg%œ*KŸÄë=ÜÇÁ=É—S¶±Ñ‹haˆ1&S]”Bû gÖ3šÍëb²ÈZ ¼&²¦Óè$)ƒg³t= –Þ»üÝü½4f'¼mmXÈx¿9§bˆs(:ã(]+æbÆeà/„ÈbFÑç¥ðsàU®FÓY®ÐdÒÁµÉf¥(ÓùsÏ!¾Ö¶z¹Lœ¼ÌZn«K,ÏÖüfþ˜ˆþ}¸þÇ©ùÉÞ`,±Ý'°Büÿô*iýÅdæ,ØœVš½ã8¹S9[€q¬ås“Wé´uˆšËe ((<å1+•ôZÃÉÝd¦@!ϵœI|rïÊÉT-^ÝôB­ÑÝ|B!K¯aVfƒ¨ÑÞÔÓ.±é§Â%NÖ8ú9üp£ëeþä.ï¶ù“{ý×ü=ÀômT°"¿`§Šz­VµÅ\pÚ¸¨Yýe䯊lK~½ÈWX|ã›s"±!3û‚-á€b 2ÿþ¦ù˜&áŸf!ÄÝèè=!²‘¤cïÎÆ1Ì0D–½Èþ~òR½ÌW…ã/V˜¥‰Ä`¼,6 °ùI&¨.`þºÊLfsˆnè[±ÖÕ<›²ª3©z!üž£(9ÀD‡•†žÿ YlÆVÂL3¿æGÎ…)±øÛ'î{Á7%›ôz$ËIj ˆùˆ˜ÌÔñk”/„¹Y²úT3Í.h æÿ‚ë°ðž21\M ÁD±›¸ ð4s šH¼°!Ãcq¤DZs⹡ڪ%8:Ñ<¿È•hÅ•,ëöç‹Ï´Ð:$ŠEö ÿŸ¶„’«¾ 9ЉNWµº8>× -ÊÛÖ¸ÀT„0±Ò%LÕ!Á‰×梅éž_i§è¦k˜-‡¡7œŽÊÞΠK8J(rP1°ÃyHïgÿËü`ÇEå~Ü/˜E¦ ÿ”T4{|݆M z¥Ô¹¢EÚ›;[ÚT4ÏÕT\I»J£/Ù‹+×Ky‹öQxÒU‰auí‘§9BÜ“J ×çT»!ó*©öЪ¶ß³2dwç*‚˜„ݶ4[c²£çÝ9‰CdtÛšRqÓ.@È}kANâÙ1ÜrfÀ–ù’Ä:qî¡p~?ç;·Å¼$–¸‡…ù‰µe²z”= [™Æ%„kˆ ø»7`“Ñ|/éhUF÷å2XÞ±€ Ç•«7Õ.â´Ù]‡ÿr™JÙåº\Fÿe8ø08L ¶>®Ãð/:uiïO°?Öù­Ê¹Õc9¼ÀÙ½ÏÙÂQ+šëBä5«qo{&ÞY¨.—wùðØb^÷¥ßx‡îTœx„ðŒÉ¹ü*ñ(ëæ!Km¼Ïš©´SÚ{‹2棕×iGÛ©ð<³GÒìn3=ô¼ðóŠð~žÑüeŸÛC vH v<»Ýy¦ÇõÃ]¦ç0ÁƒôÃרØ+ÚÒÿCÑÚ,ÞÉ “`!uP²Z§EàhÞǵtî]Ÿ‚¶$ÍÀ³ùB%ˆHfq¾ÐªZ> Ëê‹p€(·´o¬å—+ýɪ/®lµþ(ÔõS¾‚Ž(óýlA„I%c¬ÙFÛñB„,mŸh’O¤çMʯ'5Ä-´¼'^¸Zâœ#©š+iTmT·@ù>»ÍBNðø@Ñ&¶ˆ‘¡G¾[n0E ŠfÏ‚º]hU7Ùúz.÷+T-(å .¿lÞåv¨EÄÌÿZž°ˆHÎugˠՙūäÒž¶¶ cÊ*÷×i½0PŸÜ¤Áh«…‹#T¡ùy7,.lFk·ißp‹”ªÒ ôš*Š}…gÂî5Ü!Çô`Ú·Ø~·_¡iâJbÓ‹_²‹‹aHƒÍgÏK&ƒ§{å§ßOófO5ÁnGyRªZJ¡îgŠaôLþ¶77vªâíýl"EGZæ¿ÃêÜP'w!¤Ã¬Ã’µÎbwñm ‹[¡¨œsÁéä¸Þî'ÉûÕ@‹s¾~¿ë‹Òž®uPL{ußZlÍijïƒÚ§ ‡ªßÖÓScnsôÿh¢ŒMLd`"ˆl ]á‹A¬GúpÿÀQžuÈ8[ª\œ™?Rõ;jÜÌXMµ­Üò ,fxi~ÖÞìª6`{TôÊÖn7‘ºyM[Ø.>¢å¢àhMf‰ý˜¿“ü 5$Z_° ñN3l4½«G“/ûÃ`o>_˜gë«…EÒ«WÚµ3%çë ºoѾígàýáp½Û¿<‘š‚‘ Ù [ÐQ­×;ÈzëëvG®±‘  ZkÝ„£€ÙÉ“¾o!š áîØ¹RÏg³>†Ôÿxˆ³Y ¡»ŽˆV`¯£ˆVÈ<Œio7’s÷yˆò˜gyÒžK­±1]\pâçklðqe£ÚæÊFõ´Ýi¶ë:‡t8‚ÉU³lº+ÒÎþ0 ÂSjøAe8óë»·«póÚ „Ú\$Cpw[yW:eëÕßn4o®HP·¿í¾BãyкKH3½Û’ìɈ x»{sp°Í6 ØÏÑ‹“»1,˜DÁ¡†{èHbZQ“ðv, ,Rv¥†Vó¢OIgµv÷b ©¸%4HN)®?‚-¤eíðÊúâ|4ÂZ™MV&§YKh‹ÒQ9tDžM#¥Cô4Ê¢kÌŠMlø=¹Ð*²ˆR¯0d“›[\?Ò¬ž„©4?•Eí,º¸Wc‘÷\‹›Ç¢¥ZSfUÛ‚XI“­^P·cœs|ªçÝÿöíª_"E†ªåGÖ"fgvÂâÒ1³~‰œí!Sùë?{™Ç<Ä'>œ©D¥’ôLùñÂòBþè6êä¬O˜}ÿx˜ÊÙn^pËÌýB7êÈEþH`L·C ¸½Zy(x(çÉq²-¹p€j}c,Ʊ˄k´«qõ¨ïL8œ:AeÏ\UìÊÍ\V[?)Ü€¤Ví°”N|­b—–Jõ¸b]ú 2ø%†Ë›Ù˜—&A’íB.çÌb\áø£~y£©(ÙÔã‡Ü`¼¾Ý>ŸoõyY·1/vóñ¿1Iò~‘bV®¹Š" ët®X?{ó0G^Ì ôŽ‹‡‹ÉU kUÿ"hÙD¦bê1´-ÅÄä1mȘ¸#»ÉVÙò嘉½íû{•û3Œ%¤¨°7E"C´€­“Zç{kìdK`oÇ,‘¯¶ÉS‹ ùxÄH&µÛ h%¡g;F.~Îõ³ƒóF––͘òÕò¢kŽiìEîIÆ<ÕNoí¬'!7PôGYƒ«Bø1_”ix¯Ò(x“69¦Ô-J›-Ô yÚ:Š*Ž´ ªÝd+j„Öþx†`•XÜB)$g{Ó ìmL?¯s»d¬d2ãT¥°x³™Co‹-ÝÂÜZ4>´´^¸ ­×Ü9pÕú¹’ ±e¡OžyÿˆÃÌÎ|z‡J°nã9¡0½FŽÇlL÷DѾE z½Åʯ?üyꣴäf–š™V†åb;{—¡+Â*ÇwTZVr /¸ É »a³8Ôêm‚Q‘a¶Äö'çV©Ñ´ƒû,™@Íju!–’ò\É¿ Si_Í­®0›¥ëª£w]æ(Nf„f˜é´¤T Î3KÍmÎss.Eñû{µ†9Õ\ÔÉÞÍ¥¨zÒ†ÄÖxö> dp‹<ìÏz•, kašb k-fRVÌ žÆ½ï`l]çi¦Än~ýå0V=ó†U~ýM UŨê1Åskyâ£ÑôÂiwpÜy‘ÒfZU8î¡÷Q…r§dº’ 3?³“¬®áæškô¥”QWáBгóÝoe‰ný:{xéë²y6-í—«/‰ë%a,Q${Å´b¬¥YìŠvk,yÜ^+Äùºsº$}…îù‡±5©Ñ+VckÕb„ýØr©÷ðzб5 åèù¹$> ðùúüˆ¶˜v@á ÒƒˆóáäfîT/d]AR3w®ƒU%”1í¥¹©";çíx';gߺ6'¥=¸_X_Ï}]Ëi£5/ÉãÀA“t¿{Ú}<:OicÑDó¬`µTBÚú¬Îš¶üzÎóXw#çŸvPÌGq,/ÔJ{Sm»7û“  7F袉Nü¾Zþ3Ï[¶ŠÖñôÊ6A±n{Ń«Ecž¯¨9ªáò|½þ!q´õ vMùS¥×)X. 44v‘_/ˆ»[Í4ªúŸm‘½ï.ye²ºÙ÷M,ÒmQÅ‚°Ív)ØÜ¹½8Pek ¿(p¶-‘‰å–£Ïìó²§£ç sþ!æøY¬9Ãc›_(éŠXÄŒ%„i›ãQR)<§Âнûë?¿%!ö–agg‘ w"Q˜àŽ·z—F¡ŒySÉ…Çk¨dŒ lºX !Áå)½ÄN¦–ð÷K|¯(l=²í‰¥Hmsüd"˜]½ÒX"g8IÞ˜·×C^¨Ðýl]ÿtïEw„›E÷ÃpjX +í GM, NÇ*íZá^–剒hpŸOÚƒîf|æÕì`F}ÑÞÊ\Ú{l¸’ª+}’¶ÖšðùVŠù u•ÒÖæd¶!*ÛÉ–OJûð}"ª$L‰fxîUºveÛå8¼`S³xe°©¶Ê\õÍþHæ±/…»ç‘nlØ»Øýóý)< åû£àw…Ž£« Añ›2œù#VKž„•Çxÿ ïïÊHæ¼å°³( ÒÎ>!jp¾Úz_°ûx»Ëp¥Ûÿ_HŸ'ïOÛ|þÚ;‘á¤òs¥ó>ß¡ðá¿ý„ƒ#5»ÿM»ÛÔúL’/pÐóySÚ'8åBz˜žßæýñýJâËѺ²Nn²B8î ßåÏ•íL»Ö÷ç=}?±§9Îtz‰ ðÞ‘GÅÑÜØïá›÷²_|þTíg[‘óöW0Ÿ£Z8YPmz˜îk¯yÓ;BzÓþ¶‘…m C¤Ü_JØ÷2ÞôäÄœáxòýv‡klC”î߯µ[AÞDå‰/˜¯4r @θø:FKì¬h^IÂÖ¾eðêN`v¹5h/#ÊnÂl𝽽Q>0Í´Í eˆA4q‰òðû‹«m6ýËüõ ¿~sP rØZܳÁ:µw9ÁÚèªiž®ý ¶ƒÆöç›]q£sã¬çœ˜>ÜÍsˆxo« ¡RÂ=¤Aÿ©¹´µ÷#Áôôxy£Öæ&5¬Xh°UPmp…ÕkzÄDvØã­OX+bfA7\°áûåó†çÏßJ(;±¿,ðºopαíã• h|Ç)þ}œs#Š)»Ãþhj¢Z¨.*#þn¼z\¯IîÍ[Sù¼;›(SÌùôÈX¹|Ch)sÙcnjFJ?›Š”ë}‰¨›7zR0µÙãNí7è¶)÷ãÖ¿²1CÁ¤/Ø(ˆæS +Cáû«àiÆQ‘ò0¢©@:.¸h‹RÁùmžG¼+ÐØ`L›ŸWÛ9Ip”˜ÿžñ>t7½8}f0ƒ˜5Þ“ö¡à"#b½+<¦íÕ"|ÞUâonr±Á€ÅrS¶ÐÞ¤ ¾y¶"#ãþ‰á ki­3´3ß"r•ˆ­ˆ2¿¿_ »q̬³Û[M¨|߯/î_è}'±'ïßÐûÎŒv/*˜‹ *jО`tÀŒœ«t†4x_§ýA¢·§8ÃÅØÞO v¢A\Uõ–!ןUOþ½¿Dÿ¸2E÷—b}¼}0cmF;;5W5=½Ò_«O”÷ÛMÑ^áÝci•þùFøAÑ`0ÜY4«3¬ÁÅÉ®¸Z7Z.°7ýŲ]˜‘ 2‡öüH @ \˜¾ý¢9Óä\FT×Óo¥êZ °ZvqEr±µ›)Í—KÜÚÖ˜Únofç{5(Œö?â·>E^·=F'pŒøÄ;Z<‚QûÈÍÎgNûyæ‡Imê3Û'¼þÕ4òAYnÑЩ7ª{ \D1<T„Ÿ¨-˜táÞH†ß"Íæmpv±`dêѲÀn>žâ?€\ÀŽ`{4o"&¾Ý{ÌÈ´æK¨S{*w¦ÊÌoëL‹ñ6á]LëdA4÷v‡ }}ã×}µ»Æs ÃEëv…P—{Xßð22ëÙì’{`8(7 ÚõÀ;×ÿ LòÁžLßtÉÓ*ð¡&­Ñîë͸_o¹ÿ®ë=ßdâq݃îßxœ4à *¬ó¨ßĽ~<Ã;ΧÀ ®Leó¨Q Ç‹ ßøÂ½ ¤½éaìa+ÓëuÛÛÜVÿ¼¿ûøýlmmuû{¾­ÿK»òý…ûç¼§cÜ´õàåßíßÛßÄ¿w¥|§¾jÚ\IÓ„viDçùT5ÿ_¶Ï…ž1ýÆ`f¦lG×Ép?}¿Ó7m¤Øïé@­DçDVÏó%´m¹®ê¿?¦ßÿ1Þ¾xŸÇíw,Øsþ`ÿ~Š·ãuô7{úùWî宾?ègt·ÇY­Ïîû_Xmç}5ö/¡©Ÿ²mŸwôNÛ‹L‘m\àúi?ª±9—øŽÑ){#Öi¨O­áåUr5—ßh¬ùدˆ¿–r8âå­§dão‰q©ÞÞ® T»¹Ã[=Hmwß’ MóuDOq¶€Løhî)ÍU€µ7?ÚXÞä°8Ÿöd»¤{¦N[·û_Õµf 6¯³ëe{zî7÷\8×Ôþßܦªeº©KÛ´l—à*5­†Trr@~sëÓµZ½öŒç­’<•N¥½ÙÎÖ÷wº{»Ÿ:îµA7¨‚j‘¶Àßý´Çƒážéf=œ:Ü?WW?÷jvpûQm|Þ~?è¯ÛÛ‡éÓǘœ¶Þº*pß~ßàës“]wª÷i~¿&†;õ}âx£Zt6gþõÔÞï(Þ–ÔQ-ŽÂ÷ë÷ٗü~¯íÖÎvúeGiÙÝ­.+íÓ~°?Ùv¥÷Q¶·]M¾_7ÓßO˜­–Í´ç}O6êÛçвSŸtnóç7ß:ÞEç ÞŽ÷÷+ºÒ}þ¼óQxN¹ŽMt:×ÛUþQgbH•&ïóR{¼ëþ"7•¶V¢=ÕÍnkžMhY¥®ÄìöÍ:é8äý•ÿæy¨ÑÕbXÝ_ÞÏe{}ÛµËÍ®>þ‚ù:®K¬üÆmõ \ë’€hš^ qœ±¥6_šl(û²õÞi*[³6i¾Bø®áq‹¶·Òq…Ú>’z °ÜNu‚ÆÈif³Ùü,À×Âî þ/:d®9eýSµFU)âÜÕOa‡Nø=|@á÷a{²w‚áX~¾ìÀ™Ï±[ú_O©ÿ)q… Êï[ý.8i~&‚€îù@â· ²•àTomòO|!áô`;áôåz,0çå›ñóþov»­ü ÍtòéÒ^7?ÿßÐSSEùöQwu3aêî–V%PGö¤Ã\î–vÓ«/Xçóæû©Ú èç]·7/“ Q7Wvš^Z96·»³äßÌý³^ùOü°ÄŠVƒL[ôuàÒµtÓ…)YêÓíF‚$NK̬GK1B¾O)†c»ÙÇp÷$lûsdFhǸÚæw>àa¥ö×aöþ¸f}€¥ÿë 5°…„‡ðlw‚S˜ Ÿ«÷C|GtÓ™`3ÀÖáÍלe¨“õTãóÄûçyèNˆŠÚ]¶ØóvÇé`›$ÔþY»‹›±©BõE~߀}Ü,8Ê4"$¥;!ºßL€‹ù Aþç±ÏÇ *º¯oï³—à³ù}¢½µ|ÿôþ¦V̺=2|žþ—ü³†ÇÉ?Áz¸>û ?_¹=l(Á^åËçݵ^³l·ßKa¸í‹á»¼–B;åÿ/kï’%9²+ Îß*b ªÐÿZúô¤«‡é=©Am¿ò!-2Ãnº_ç,qŒfáI*¡P@ĵŠVM ‰ÞÔª×Ñæ5ø:WO\QCjÆ‹¿ÚÍO×vLH;¬Ã÷ÂíâLÿÜÞ5‘#éÕŒ c¾n¹4VôGÛ}°‚Wú§—oéêXZcYÁwÄ“0TÜ¡Jˆh¢‚WÇŒ6¥ÒâÄ}ñ['¶áŠwê˜Ä^Wzà ½üÆgí_œð£h}P»æq0ž†¸*ù¥Ý¯{°£Ù qáóî‰.MŒxZ?È€˜C͘$HMÿþ2?}]'pžÀ¦ãÃØu\xâ¿Ïƒ'üЉ¶‘) J~T{'Kâƒ~é¡í)Ez²eÒ KILû_¢>—Ôê  ˜Ñ-d'5‹ú¬ +b׿¿¸~¢ÝÒ®r-ÜVèñÙ–z•HÏ—„ w£FÏæüón´š~±9Îx޼F' ½Ïe {ÂÃç–Èqå›gµ*_ÊBµ5­óS-Î3,J×3J÷t*ùH>ÿ *‚Ø]á÷ðߥ]%°°èõeO*œ‘è´ º…@¡Ö{·ú*ÍÚm%A twKµîߤ^íºÃâó—›óÒ±2¨tš¾4"BòCc¯æã¨ÚšÚåGBuGÆcM÷¹@»¼KË5ïs>e¼Ùt‰â­¹/M…©¯T÷%sŸ’?U¶%@œ_”«ˆ‚gЇVUÉ™VÚÒríߦ¸î,¼_±S*$Ûv Ô~¹VÄr×@yÁ½£\6èG˜5§ Q¬&×B(Æä÷Eú *«¹NÅÈ]«› E² <7cÉi/+¼à+0JnrÚçR€Ù”Ó¶ÐZ–h!/x//o¬/áå{‰ûEÆr±¤ÛÄq[jTÚ¾ZË|`"Lš†8(åµ%éüðxŠ…Bȫ٥’¨ŠY9óÃÃr»TNzc]b¡™³/a·1¾0+èße›èõÔ*àý´h&#²¿~~™³Í~Iè'Ü:˜£û«´ïÜÌùšJEΦ¶—dšØ¦óó†$#å»ùB¯F)áa—Lîq·D¢\._Lg{zû[üï Æ=Ó}¦R ˜ÑÑ,´†NKJ*JÊ·Ó²@30•R(@y½b<Di¥$ST+Æ@:ørÃÂMXiZ‚Q¹€²£!&…pSÐÔ®4›&w·^L‘Ný=üšŒ7Ç£IGvS (še¶Y>†¹&»yû¼bø8¿Äð}¾b22BFäöõ{å5&¿ßîùîwüFʦ¾+øØ/y2[`áH,Ö±´´xÚ*j<&”0¾æM¸—ÖKì‡;oó£¬T6÷iò–˜¦ôe÷—†Æ¦H]Ð&'c¨ê†9ãØ˜‘ÒG³Ú¹[!ñðóáyòûÔÔàœ¹ìlOY@óûÇF¨-åk–v šF5Iv¯¦fé§Í§{é¯iõt¿Ø¶«ýš|ns‹Il!ãXˆy¸)ÆQæ§n¶Û…FwÁ‹|,Ý´¹“/$“‹ºn­Ô܆«*H9Ñ~NRPÅÞò(†9qTù Lú‘PÇv[Ærq‹²Å¶“ú¦8êA§$Ñb:QÓhOVYƒØiÑž}pNÊãdëÚcáLªÈÁñÑ⦯U1TÙdê‚Ín@•mØ ŽQ‚¡:UÚ¾‹SB"hLô8aïuìø„1aéImä]Ôi˜(ÜRçâì c9DQ/r‡ hù° ƒK@|_ªm|ØÍRa«d ƒP'+îñ]žu¡==÷¬mò.»äá9ãËêŒ?Ä_ÙÓóU§Z%“BN¶¹M©FH)NÛÒIÚ]ç”Zä¹jRß²jý4r$à1ë8_팗÷tªÀ•kOŸˆ¥ŸIAó[åÌüëm’ a?¹[›zþ!þ‚åÆä›1b’!3DZß2¤Ô”Ø^,òÕRàX£*ÄËxjU: Iܹcog)mnp=eö€_•‰T™¨TÞyq¹<²;…àB§¶ÃÝÞt2Øù£Å?9úAEú7ä^P›nè!u£v’²õ^%åÒØƒ!w~Ì­nìS_]þœ­Çº5ïB/6,¡J@&ÄË;ùé/2~›ƒº×Þµé¢_–éÿU ÊØ]–CÑoû± ¿d3ÈBÊÔaºíÛŸ…zòa…‰ÃDsï­#ÃüÃRýH¬‘Šñ0d‘¬'dÏïS].‡"zžq·Ž§vÛׄÍ!@½ˆœœ1%/Ï· ÖÔåù–Çò6okpšKú³wßšÕåé!×ÌoZ̨­Úq’Àp+Öm”GÜË¿7dêÓO ë §vÑ—=åX;QfƒÁðy”j×Lt¿Z@ÇùÄ܉Ï-·{VBn×ÒÆƒ‚ŒÒ4Á]5åv©U¿ü–¹Šm~ú%‚Ž®)žÚ©FxýÒ ƒÛj€Šæ±­ˆ­.‹5Ï[QœGéªnaÐòNMaÆ9 À1e9nló}*†ë¥qjy­§ŠË¾hœSÀÛü¿ÏrX]‚gš\Øè>–Sè>±ë' ùl,Å)˜cÙŒsÛÅ>t~ÚÕ6Ï2v o»”ÛÈîÒQ<èÃñµîÆäûö1kõÅ(g7/šu"]`xØ(§ðèô|9ö5‹á#ÿêÞM°B6ÑÞ„# Ó9ùMâí¡27Z ¸Ï’WE¦R–òÆ„¾iº3„f)z Ø›DŒ;ì»}XKÿZí Ÿµøus GOmØkß.ô¸¨N¾âñWÔÈãò ypC솠:cU±ÓV’‚´ø÷‡èlÀšã¥yeSy«‹õŠU/[MÊî‡ ¬1ÜŸäHDŒ?{Hý ›ÎcÕò‰M/֪NJ°›¥ìð†«Ï/[: ªÂµãi̦æE¬ZKýÚ`i ÁãZÈÔ“¡\\¿4o›²ñÙ”uÊk•3ÙÝoή‹¦€Í$ÎŹænñb÷¸5wƒÙ™h—ów»´ãAd…ù“·@˜v•\›>ÙÒß„m2Ÿ¦Ì¶Íšæ×Ê#²öá€×¡ø×Ñ?8sÄ8w5³ðÀ¢/¬´Æ#LNœÍSé 寬“¦J¶¾õc¥8w jt4Ml3·JÕ¯ðÛ0‘ÿ¦³±º6rlÍ¢eœÓˆeÚë€ \.cøåÙ—Ÿç{4iwCØð´€t’Ï­ø:Kçÿl]÷Ù7Ö Q¿Æ_JÕ“g6E>ÆdæÎËs’gRò°³ ¨,·böŽÆºŒ@s8‡;!éÍ­Xž•ôƒZË¿Ç^\æ¬ÐÖ¿™mý¹ðw½·òCHüÚºÎÆÞº=)9Ôéu°-úɳòP ¼ñôxéÅÇ‹y¸õ7µù`2™s38xVf[{v§–{`‚"Qá ·‡KóI‹§íD5È;ù£Gë?Js° Ô%†åS£Ù?›ö²jÿl ʵ*–8»;­j΋^¼H!ªÔ3ŠY)•m'‡‚ÂŽ|ˆpÖ:ÚÁiF¢g ˆÁnd(|qù÷ý}Ñ ©êˆ¼Øµ©ÕN¬–ªØ{¨–R‹µi3jöØÚt½Ÿn(’ _eO’ñ$èܼ_B]˜äïšÇ†Pœ/û“>¿ŒÌOÈ w&CÖ/ÖSA5uhýÊÕ¹¤/æÛÃBíÔéç.^Ü@l4rw :ÙT»¸œÛ°|ÐæË&ß®~âæ®þ5–פp&x>Ú ‰m;©´Öì•5?W6kœùÊ·‘oDáƒï*,¤…Ô%²[ íÂZĽåÒ«óí½H!*ìÇmÔÏËÛhd«®þ=þJ©¢gÑmû*·ÂÝÔÆ0„àgéØr€µƒ½%NF² j\ñâ>ôi¯¿AÕ…ÆÐGß);7=Æßãvur§ª¹]9N 3Û'ý>ºÝ¼ÀUÁ àò~ÀµÞĀޯê nÜ«½µ‰ãsõÎpü^ˆKצœ}c»9µ0HlîVJ„ l`=i"yTr*‘Ý81×YbËÔ²øsq©( zŠe_c_îYTØßç6µL*û²-œñ6ílÍ™_8¡åk¹Ý…;×ß3ä67ëp”¢Vc>_ÃrÅ"k~åùàÙùb@èÖ®:[PFR·Á{’ZÜ zËVí踣á£>\§eâ6¥*¸3„+ðVÙ;\öòýdñ¬/ÊþLV"$¸ÑçpÓÛ>Ì£©ØÊš©5Í\8 èóC#g7ç—Ž,eXD½Ã]„%ÐP3™÷xEí§IÏøARt\È.IÔôuüˆ˜ ÕI"æù0T—Ñ:>I¯ÈHÎÌQ?|“ z¤Cíqá¾µÿ’öÑ…)R¨0ypqî'\UN2N½iÐV­º=Î<¹ÄU—®×ßïÑàë€}(%7c£HÝ» 7ÚyÞuËÆá6ë¶Y6¨‹¨[Œ"uv³‰sTù’$J<ÔZ0-.ë¨5Vs\C=¶ˆBý-þ÷ͯÒÙ¼qhuŠÜ]]§ÇuÊ¢»÷U· ÑbYÖRH›“ê;pÒàLŒZbɆÀûåHHº<8s®zø[_0ÍóO,v3ð h»àظ•`Î ˆìæ@j+švÄDtsP…ÇVˆ2I+„;bj†*fÛJÓI;bþAÔz’?æÂ|!ÐÙRËVøHî˜Ç;$vì*¶õ¡çLT"–A©}Ä_óœ¡-ò ivvj*^3ýÉevá =ìÑ´>»¨B4'±Xxâ;T¤iêD5¶À²^ºhMy÷šjdr²XÔ¯£‚LÚ†§ÅúIO¯»4è&H¹îú©~çÜÏóß·«û¯þG=åŒM&ˆ ÊP(WI¨PºüÈYn¾[„¢ÉÍ·‰}4EVÕw3¥›àIy h?Ý49¢*mV[f.9Rë:,¯æßÂ/U[›¦G5ÈÙFËtP%ϸ ˜kfoLb‚É6ºN³NÎ'©ëj±ŠÉæ8_è»…K yj0nÜL/@Y†¶4ÉúÓæŠSü!5óì Z¸™³9 P€ÇüáÍÅk5k¹°©+ ü<™Î_÷dØa]×x€P¡ú¹ùí4âBÛöK§ËÃ֫䟃œå#µ[tö¯#±‘8@áØŠ“›TT4åØà6q,èPL©,áÃÕ1üó¹q–££êA«…UñVëµ+žÄ{EyÆÑ ¢e¡8ÇŠªÄ|_㯵^)fu­w2×EÕlâ·› œmJq!DÊò@;05cª1 1flñóBnŒ&åݪ=VöèD`¶Å·;À;Õ¿M—ª‰‡¾U_ã?ªB)# ‡Å­V5÷X$s2;›yWë5ÿž¦Qb·V›¬k€è§yb:âÛØ™©zûè[…ÿülæ ~Œ©ë\s†>ktu}‰R̾O,öò6 J ŠZ14z j…ÆÄxˆß†¹aÅÅ•™¯ c0w¯©ƒƒÓq«² 8#ÚIâv8¾Ø}Hž†sIed)­­^™ïLÝæñùñÇGþ¿ÿ×ÿ÷/ ¢ä¿õþçÿú¿•_ÿ/'¿I=ëC“àÑîC,btÔ>“v¶ë¨ŒEo¢6q£0Bˆ©‘±&é<Ö{¹ýþñóú@ÿùó§´½¸ÓÓ«‘¾ÞWŸñŠ5¯[éO jŸë ôªÛMU[¤öyèpèn+‹Cl2ÿüë¿÷,z§òÔît2È8q?7szÇݬ®ª{¾ÅûÅÈ»£kZ¹wòú)%zÜýNé×;î”mÑ ÿñÝodÇQ´±ßí™B+>–Q ¥e[½”u{}œj½áf|> Ñ Å‹Í¼ ?¾ÿͨ*8½7 »AàêÇ®–1•ôæ€Sú—F,,h3¦ IãܽÑüý<µU.eŒÏe”þãû_ƒ8ßáœ%FÍÆL8Ñê-UÈgQ#ŸÄ¦Á¿¼¾òz!Uem„^ ÙèúÿùùúÇtx:)Ðø¾s^i ÷Åz¦,Íñú‡1½¥—;dw‘‘yç ô’BXþdm¶ßÈÕ¥Íóçëðœ ^"”ÖºyM]Æ8qùŠÑù¢Uy“§ØªwéSÛÒ·Í3»—oÙâ¹e<‘²Êù,Žæ¢2lP `n—n`ÎcHxðªžC#sÕ{ü»À„¥/ù\2° ?ÍõnÝ|ï¾³k†®;l!·¸p+¥ôkÚ‹^mYÄ ñVíwF9÷`Ì(¿}´‹»„'òóŒmÓº:•d2ƒ`…«““^ùF,Mc?Íë-&Ü8¸^¼ ra…¯Ç¶.k%6j_.yGü|ų·€Š?(\EÙ‰qi2ãK¬y²ayYsQ\½kN_ß}½¨ñÒ6¤jˆƒüóíP’¾?~þSíSœö>ßÃÅmÂûÂ6 Úæp ›é%×¹gjÑý<Ó¤Îû4íé³™ù/OöwcTV¾d”Vf¦ÖìDš{+¤©ÕrgÌ<û‘J§[ÏÑ}°îq¬ªs{c¶»Ú–!ëÎ<æ­BÄ&ãü|•û=ÈÊÉ‚wPQË;/8ŒÕž"?¾ÿ;_Øb«¿aGaW>öD’#e«JBm‘/g†o#§"¶=3›MËï »!A±ŸÞ `R«¨€kÔñ<¤„ÀÞ– çËž7>w®-i~òªAD©û›ˆ\ “-6©óÁ?Êžø|@ÀÐÓ3šMÊK™øDöu9&ã°ZDbc—]aïqêü|5¯_ïòæ7×!Ñbk«í<ìá~"ïu´‡*›2§wǃŒl l޹l;ú’P¶D :ñ–Ø‚U~zÿGXbégp (Çó%5(?±d2hµ*7ØA;ˆ©Ù‹Áèë»…NÛ›{ù×ý¢öò^ÔBG\pß -™÷°ÒЏïG1&V›á® 7!?öîʦïä kâ¾Ou¥ž”>HEÍ2¤ I2C”ËœÞnc[x "¥.¶q‡ô]Lè1.¥ŸÊ~ÃÃâçë}r´×˜…Œþ-æb>â l%Ä% Yèá¶U†uŠIÇÖÞæ§å÷#„¢Äýx½C} –T™.G§ãdý::“¥KLë\ï¨ÊGçt¤ä©‡'½Ó°¹Ë`_l>–çù¢²ÁBž7`ë—I¦F•¢æNÇf^ßîY®_ñ®ïûvÏÀX¾Ž³¯xt"Óß¿ÿã}ÿT瀄‡<znÅ‹‡¼Î(¥]nó ϶>ÑÂ5c 'c„%¯/®{’Á95^Wi™ Ý#õ½ð¤½eRÂû$ë–¢û©>^/‚sÕ“ÏL%‰Âe¬|E-ül¿—_š®bŒ}`Jüñºï´êšê2nÕ\ÑèlB«•0hÄ´TC”Í×½<µñ†ÿ}Ëe«<%¼î)n.†×‰¼ï,å'R{JtÔ»üñ‘ûí¥~Õù^„•36÷M'ݺ?½ï«rÙ-¢ÉC7«19o‚²‹ÊVCD$n97ÃdàØMq±1< _}7…GžØ_³î8Ý÷õqç~J³ºb…]Q3ï/ÞwÖéeRaÅBß…^»Y»Ÿ^r»Ù LE|þD]?¤£>   ²O1©ý©ÆǤWášÔiZ…ÚKîòSòÐ§æ †< Å0|â<µ$ÂT…#Tò¸¶îv¨Ç ›¸ÓãüçìúŽq!—B^åñúD=o¢1ù ’;¶„’i¤Œ’^7RY81Ù. 0’ñnœ|D´,Õ9vðÈ> d2Ï£Sõ|dš1®;•œÖ’‡HD[ÙÝb,ÁmöI:µ³ûfd3•˜–fØ2nÄÖ#÷¿Q=pÌü ²<y öUûûšÑ«Z/­Þ cÜj„IÔ#ƒ‚ê­˜‘ñLÞi‡\?YÎi§)Ÿ<<9–_í¡ÚhZV‹ï?=U8±)ä>=K4p‘ß?4õ;~~y¦)ûõ]<§“¯Fï‡ëžû~Wª96u *-㣙_U;çñš¨ÉkõFþƒmWy:U’M뼟¯$Á\ðÆúX¯TŒnЕÉõLhZˆ'O…ç†aκöý¼R™lIû'ãÖð{á8'ÄWÿ­ÎüÁú§g;ÁˆkùwÅùbÔ¨Ã}$›¿Wx}uåkžn/ˆM+édÿ8óCÉ.z%¢™t¿4^ )$ ^ˆ.eáÔÚv*ß«kòMíêÍ–¨½]ºyÂèñÔºo¬`´n2OgÞ_F4;Œó0û›L†-”'èŽ÷a™«3yB—‡ž.ë!dÓ1­ªâïÕ3˜<±öâTyœ*3tfÜX”r_îà…â~³Î©žÙÔ„Œ&N÷‰'Ö?\OƒªŸÔìü®‰¹y’ëý¡NVÿ6¨ÉM¤Mõ'½„$”md¡9î;cZ§)•åýuadþ®7á•¿÷Hç“cãð€›(gkȹìPrÏÐ:RòÙŽ9»L;ð^Ì)$c¶cøf:ô zfßmØü„é ֛݌)}®z±bò΂,,1 f ¯M$ay_è`\Ms­Tz¢©ï3Hà çõbî ®ÿk_m\ÿÛ̹ý^÷;ûŸåªï¡jš×·é÷¿W\¿æ@E9ïêåïÖ=íBvpÞmìÀÅ–¦¼‘™£É¹6¼/w×=ZïÃHç!’&F›Ì/Ä|¬„¬l?±þsV.ÏC{yv®ÐZqÝ’àˆ·§˜9I»;º²Z,·XíïÿÀúÈ9Ð Bw ÕäœëáTø ue—uhƉü÷£Îá€ýæ€h‚ó;Fy=f%SÂâ‘W&¾Ïº­{Â-‹Œõ|ÑÖ_p|ÝŠw~nwñ…óåKŒ:×óû@Úó÷X‡. »ùïµ'ößÖ/& ³­ó¿´B[oDžå¥Øú`þ¯R®ëƒÈ²þþ¦‹¾fÌAEâa?ÓiÉw…“ògÆIË OjO0`1±DÁ12Ùbh?ž%…+Þ‡‰#¯§ö )o©gZ¥Õ'ð6(çz—f?ºÐ럌’Am™.YàŒ¯é4˾tæ—.ïBÄ ×³³>ÈPîö@æ!ÉòÞÃá™´” Üÿ FX¯ÖÖÜPUȘBªI¦£m¹â†Ï)ØÆN:ØÛØÒ¢’ƒ øpZTîGî¥uvi¥V3ˆ‘ï+ÅâCâò9‘­ u.Ÿ_J“£Íã9U0òMe™¬ƒB˜ñ›¿ÿ»ùPUÂ0Œ+bÖ+!ièr[éb ÓZ¨4…DÌüzôµè †>o»ö‡¦ÁÛG„䊟ÃYn¸5E†ÇæMÙ·-’Zq9ßž<%)éæç)oXŠÍpý±ùóèYý|í£ßéþþµûùÒåÚ$kyanê[¹}/¬uÔ¾¯ŽµÎg³ðî÷ªZ‡óŠßç³XxhéÆü[?Y9*OO=²fs-í}³f“ ¶å‰ØÙ¾MRÚqœkc³ ¯ç´E±ß›f›ÿ½7óeßÍýÇ“ÿ8»d®N ³(*ý{ݵ™ë1*©¥Œc²Û>÷ŠMaù'-ªí¸ö¤Ó%-ðó܇Yv° ÀHÍ,Õ6‡ÃãØ»2÷g./öi´Ê˜ÃÇ´$o°vÐ:ºt¾Q Äoj‡ïÖ> gäz$Ö¿@ÓÍõJcŠ….o¯씯ËõN1ÐE¢~Y‹-èÖcýoÅÁõÏùF=ô*£Š'öÞåt@/ƒÏåqt²Ë£÷š‘ÀNÍÑ}ZŒ}I¹6źžzDÖ¢Gv+ ã{Äüî½Ç•uáÁ¾KͲŒ9±ð×fYœ;PGVõ!sp<³¯•C€Y§Š‰¹ìsŸÀ÷«öáÏÿŒû¹§‘ΈµÎ›Oü³T T  "¹’&}õÚÇ»âa¢i|Ôˆìë–¦‰ŠÔ°—ÉáuOa_¯º§ò~ºîù|×:­¯y¿O>Ÿâw !câ:ˆÿܘÀÉ:‰u'e†3~æÜUðïIQch£†Ò†ƒŠÉþ5¶$Ki¬9…}B`¬!\ y1õËiw1DÉ…fNä?ô/üþ}Obý:tÜÈû”^Å4râ}D¬z¸R»¯]f9‹{ÆÚ:ßn˜L@)óè>§ð@ê0tÅ9ɲäþD½3dXï`Y[ÌU¿¼·³ÐºAƒ6™„²¼/Í^:(9PðøúÏÿÏsì`—ÿþ/½ÿ<éàíÏÃgaÒéùöfÒiNøc0I„|Û<Ü6Å8܆h‡ c7Ý&¶êj÷ЈE¥ÃBþ{p˜Úy;h70^uDUðQ«Ø‹flÚ\ØÉ“+³RÕ½ÜÚÞy´J‹ç„ø Mt<‹g¦Ñ7Rc§œÆOV›.ök Û=Õcgš>iUd˜ãŒS6>çÊ2>×›pø°A&6F€Òœ1ð"¨6A£ Ù•½„rŠã¯1Òbœ–'Ç›5h4)söʼÐfŽc¥8¾Û–Óq¨rYÌöÓñfv'ê° ¼÷ò"T£B¬\×õlŸYø%æ˜4F…\dŠ&&Yp–ï*˜›VK-¨kîl¿u1'\ è`Ã6Öys­x"Û>U¸8meûθHêþšË]ÔI\ÓïÑš¥NÐ…¼^.h9f¶ý{i¼Ô½y¢ÊIôŒ3ñ¬r’µUÎvŠ(¨r®š1ÑkHj UÎt•÷€òA£Ñ^àªzÂÛÛÓùw×=Ú÷¨¸qÂ]Șèü‚@¢3BsPµå —ݶ€mUð¹!Tù-bðžqõ{‚Í„>¯t°rnóÃs³‰¾_ÎV@ã§ç­pb©[ÝŠFÏÔj%di–æõÛNW“hþCAc¼«¾‹î ‘›º+ô-ƒ°™Ñ› ×[s -v©(ás¢ÿÌñI` \ϹÞèÔM“Íg¢?N{ƒŽwýÃSQè#ÑýIô½x='žÓ—Ë›nJ÷ý@gîo­÷d=tUk¹Þ³n•ÝÉ=ìçë¿Í÷ýO˜» ®>‘&é¹\ï•û@s¬}ÕäjÜd5™qèTå÷£°j¬ÿ^©Èç%¢û“Ý\ÚÝuêº. i%šØ¥À<T]²4kãNèþ6}?OYžËh$Ôµž™ÏE[‚Šb˜Kħ ­'¢ƒJ ½o‰è¤cØ>dAi\ö¼>ýd­ô^5Ö§Z`düfÿúîúYÙ”úàúT\µ~õ9í>$»Ó°L%%óýCw®ÿ´>ÍÝ1(Áe+ÎnBÎ(?uÊí¬[†O¹¨1‹æ$tj­GìNÊÍe¼Ü½ÊSn=®QÁÂËý€×oåyWTÊ^zä´•>HìîBOšÐ ÝÜnèÌïv*³¸{ ݆Œ—e4ó÷Ž  ‹ÉÏ/oÎø„¥™÷º_©syœ¿s}ÍÍg÷w¸» ¹E•v•Oy=½9¨ øÒX–Ù|3òýWæ—Þe¨¡z¦¯g$êß»UݬånU¾};ß_ß¼_Œ‚ßkF@óùö§X…L|·Þ6µYƒù_õQž Ž»»¡pU\ÔÝõ¸Î߻ŸýùŽöÝüè¦Ï¥Â¿#ñ(w·6ó½u¥2ÿcÎNºÓˆ+bŠüwšH“¨þ{pnÎÝ®^©¿Tž™ÛŹ«¡¿ò?c®ç ¶>oÊ÷‹ù›õçD¡—qqw7E×ÃÓØo"þ²§¢»L¢pOÌqe¾OõÑuèh“Cõôü-ŸO­ß©Uݰû¶O]„<¢¤Ðûóü#69ˆÄÈg~ï‹ì¦zŸ@ÏK¾9œc=?ù}}¾<ÍÈý·CñX}§gz.“ *î¿»2ÿ7åÿ //à?^ï“]uuá7{6žkÏó'»ÂTÎzd¾ôh Ž®ò#]v2ŠæâŸ¯.ç\¶Ô‚LÛôæKÿ2×ja’7åX¦.NZñø¹si# îýœï”»¿ÏêL’:ãdu6²:…ã`],Ì´™….½tæÀò,dy.]Ÿ]áÐ4!„2Çë÷Ñ•Êø™~ §er]“UHÄÆÕ6q6«§zÅÌÁ{P¸­óÎ÷ˆ8QŸœŽªSû´žÉ~ªßUÅNªû ûY͸}e,–2ò^¿öÑս(°›ë^Ì6Œ‰=AÜÍý¯§Öý¦¿óþÂ>ôfÛ…lí†Yµ ôí,‡—Ww#ËsÚÆ!÷ñ¸`} L¼È8ëJ³ä€¼ž}Ü(Gð¾Dµãé3ú=Û©´•©Ô%”&[ƃú´ÜÆ»°,lë}³)¯ÂPןfüCçJïeü î¼ØÀ ‡ÐhøÂÝÜúxyÿgQ†çš\ïÌ'“SÓ^† €ÞŸ¦8몱ïßN´žaYâ\ÿ¥ký§Ó>:§$0…Cë= ÌöÎO@¢Y‡ß/`S¿¾`¼.ã¹´þ7ã7S!ß¼ÿò(§j¨¢€¹s4c ²[ü:#,'“éqn/Ø‹¥ i½tdšt¶ÏoÑ–áç¿yÚCýÞ‰޼ ¼B‚Èû<¿bA /MÕ=ƒûÄv4øÜt>fž?ž&ãi'ôMè¶eüˆnX#gt¶-¼m‘K†2ù`4Û×/Èoþ¼’ÿ0ìë—NÎîO'¾¾µ¯`!?¢ØØOýmý‹ÿsÅ  ?Ì…4¹Þõ„cz‚à‰º.ò×?ë˜ËI<ãŠ}€ûêáýã,ã\[ºŒ¹¾+'>˜oHǾ²´/LÖ©8®@ï÷À[?âAûd¯×ìïÔj}ßF30 eœßçŽÀëݸƒzÁÃîÜT*üÿ­ñLþ!/©y™Û'HLyw÷b‘(CeÚ±£E‘÷’vÍB¤ð)*V)xïÍ‚ñÅp(5Õ'Ô{R7v,ªn]±x]]þ»Czù $FH #e<¬Ê–j-ÃúûfßC“U½ÓtŒw8Õ7ï;‡šK!LÎå4mÅm”ÁádCJ,Š8pJiQ4µ7õЂ:8Y†8ˆm:r•ú¾| ÔªIµ§r}Û„ý°N6>›ñ¡Á)qÛì½Ä0O•ºX£øÇe×¾¿¹_Ôý›?è…¾:ª`½ÉÇ$^‰þtÆÌ÷ ðäçžZáø Êkã›àw6óºù¢¥üºñÏ5ò]écÊu/Õ*f¹î©óØQ8ÄÐ9#ãÆu¿­N˜¾!#¤Ó±NbXm£ƒÖ¢†ãVð={gË<¿¸îs»=ü늺·th̵òo„F«°mæì éóT ëPTYnœtð ),T¿y£röý:'뮪u“uKòbªxU®kªÔ…õ ]çéÁ¢Î)¸ž*2û8%/]xþþ|â¾o´5‘ÉsÙlÀR Ÿn& òPesT¤Åp2í£dÙT‘õ(Á0Ï¢°=p‡GÔz:“XÏØ_;ø7™§©Ÿß¸ÅhÖYÆÁ(F}qŒˆ·óxö£GÈ¿²S…iÈ\¬wªQäqý‰iéáx¤ß\6[Ú@ApKª²‘¬¹¥L9®°2ÄÉo/®wé™íAYLÉ7Z>”çqCwÑÇ=äýÖ%Þ² Q§ð´—‘õVœup5¯üЧ¡šwuºóJŸ’1­J‹±ËŒ×#Ž~€c£X8¨¡%ÔÁèb¾CiJeü¢%@érâ­¬äyzè^ªL}qP@ýGÃ(0puà˜ NÀÝÝ£J>O¨Ÿ|}.\»Qà1ÛTp€Ìë飵ûòSÀàG°oðŽù¹`³»;ÕDÁ_8HíÍê"ªðÃ}©F\™}’¹81oþæÔÄþ0¾#ÜÍöÚSç³f'È|2•ˆÅÌGŸ&3Å–N#¼üÅPçÆHvÓ$ÒYäü² ‘ëE=h8¹l"Ï@(& ½D¦ÙI›¸ñ 4²©5F²RìL‚a=uÿ&¶¢$ ”«³ˆÉžÔr¥‚ïw0´O(îtî|“?¿»þ1¾‹|ÌõÓò5ówð„ G[U7æû¡¸0V§“÷ßúúI=DÈ9Hh¿÷H'¹Re#­›r?@'sI×! J±:—Ô³G:Fy bÞoZîT:½þ…߃~“˜%ß—gôÉ:Fÿqÿ;ºS¯€WXF¸ó~ϰn.(*p`c<¹xd¾O;wrèńӿSüÂN&ï&+¦YÔ™ zⵯÿ`ç~)N=¬©‰Âüþä~ÀéâI|Jâ'*°¬:ëL‚è\¿MõJçzžÎßùÿ8VEµ½_lÖSœ`¢rˆàUñäþòŒ^_ÄltwÔ’ 1Š£,äÐð>Êï9±4ô~bc N]_ɰ®î°Aztòã‹‹e÷HþÏãsv»òAë&cÖ›E×Ct(Ë+'‚ O~Ǻ݅³ÔÏŸúþÊŽ…˜=§Ôy;þ_äÿŠõHï 2W®õ«|®‡™)M÷‚’•ñp~Ïü2Õ!D!·«^ªœÐéïT¾›ÿ7ïQ>v`®ŽLê^Ì 3ÙUXîÐ,î×Óï'ê·4°2>d @ ›¿÷fô›÷Ÿ‚8‚‹êÿÔW 9Þe=ßu‚+®ÿY¿,3] ï7õ¼…ê›æüß~‹˜aì¿ÔqÏ4Îÿk"&ã³"B1ÁúžÏ§CnûAW~ÏzhÊ?ù>Èdú½dÊ<äãùiM°.P]ÁܲSã"3«\çC&—ãΘùjáÂü>'¼(]¹¿p3oà<ðFgêûù³# Í—ë<,=Ø`ëÂ>ÿ¢ƒo}Pwð× úKDr1·x¢ÇÿÐòN¼g':* bÉ#W"¦œøßçö3tŒ¼:irLF–àÄy¤KŸBîü}9åÒîøþ<ÿO2Päg“ñfþ?Î׋1™‹t¸Ce(F¾r=TÈÔMEû­çut2Îýü¼Õ÷ýæúïô{é‡úâÉÄM†Ë(Òëp ÌX…çÙê‰UNK/B²o3ÖÓ×dˆމËÎýû©üŸùãTM0‰r¤Rw­ï£ýÓ ¿/†‹Þ—‹#Çâ‹!£ o3h`4û%Æ ƒ˜‘Œ;ë«bØæûö£Žû!ϳdÀñ¼{\ßã<¼U߯EüS:²[Ô/öõ•ßgý¹¼Ô¸ôé ë£ñL§ Æ‚ú~á?“õ¾nÔhp§¢ÁQ¾Âý€÷{²S{ÚÍpCRo(Ä÷ƒgꌢáÏþ@f>bÖ+œ›ž¨LÄŸçâo“~„3Ü‘Ðù¶øù¡ÐlÅXLáGü3/2° àüŸ…m&ï`=tw™¼ÝûðO9‡¢Þß<Õ?É8Ù RÕ?rþ¥3læÁ ÖBfµ/’š8¹ßJцxc_\žÆNVx}ñ~+…:ö”$#Zëš ï}˘ø}G}ÝZÓÄXú_~ÞÏÔ _гcÔÌèíôo®´Ÿ´°/üt2~¤þD#xå:ÿâ|;ïólîS¤´krc¨¿âÉ9Í^“Ëø('Cæ6~ÄóÛÜÏ8a£¯¨Ç¡z=÷¡z%ØAk>ï.ÆËý¯IÍë«¿&¼trñ~5âGf²£ƒ'ÅŸ3ÙG&öÓ$`S pq¤o’ôóÏ4†[,~Îꦽ/ ‰«.îl+àjœ)Š@¼Ã'ò~·©Îûµ¼à:“Ìäã>Öì¬ë«Î±Õ@Ýê>AîçiŸ&Üh(n<<øà(N2qyîÝT²)]¾›¾ $@ÿÅIàdª+I{ÛåM\ôó./Ç‹ÌÞËG&óT‰‡& rÝ’ù?Íä×DÙݧÚǸ?$¼Ú¶ïÅÁ„a#E†u/}›sŒí©÷ ¼ôm~ÎðÛ8QJ&oîëÓØŸ76Ïí¹lÈÔ"²ZÆê“Š©>}=}À }A²nvŒ‰£‡ðõÊ<<8—¾¨YǤñ³}}‡öâ8˜àɼ?íë›uN«·o°®_ŸD¯f%Lú"·6ò%Ù›“¸•eP–}»&;¸_L+IMr,}^ùüŠŸ¼Ž'A².Í4úÌúgß7—A3î©Ø8MaŸëê{ Þï»îçóh~_ëšuüüØç=~©¼µë3>ð’°K´þMdU¢Á®Å’õ..¿Ö`Uä‹e#‘êHŸ¯nb–Û†TAgçUÂ{HUE?jŠï“õþ±'Ì 2Ý”3&žsÌp‹ßobˆ à°côÓŒWÁ:j½ëW|wÝ#a[1eÓSDLÝy{ywú0,¯óFŸ†åë5ñ®‹¤ˆ\­ÀR)xÿ†©ù_®ûÅ Äà†rM¦^ü·©}ø,®Ûñ‚ÿÏïžI›Z½Ljwž‘÷_Ænžàûœê<À~ï8¿OP&þðÛeež ÅÊC"~'ÒxþÝœ$.å¡~×9ž@]áÉyâWÿuå¾'å=9ïó—'ç÷;÷íêóV_7#ò:oí‡ø&‰»¾oƒ£”v0q*Oíû«}¶*ÆýìÂ;û_¥™±º9ñâ­Eû·|½ÿ®îOa±PÝ_‹ù?/|6+ÑŸAþ¦ñ·3<Áª:øzíÃT$]ǯøÍÿ­G&Éâ`ZÁ²9ÃÏô—MÈ¥dý™ý–6Ydöõk‰Í SË“!JT|wÿ²“m .q0¸Æ»Éˆïžwé%ʼnšòÖˆcÒ/< êÃçdýr¬Ü4 û`Uö“ŒÿS„»±a|Ÿ×&'öyH±cã ¥<Àz'y…žï/õ:ýÈï<üþKãoyj¾æ±Jo«òÔyW¸L‘Õày^“Úçyî¿ñ<÷¿ð<÷ƒÈ»:Ïʾ£”è~~ÿÉóÛRY•ʬò—‡ÂÆA,\C)wªÏƒQ–ɘ8æaøwžì“ )á!.à9¿QZþîú§ò!M^>÷xÍÓƒ8g1Þ3ø>4nd¬óñ…Ó‰›ïË çãuäsp~É8žQª‡PöÇ–R%”ý}¿¤4™}Aö‰·]Ê ðâì;‹>¢$õû©,ŠçÓ`Ø Ü3xx×‰Ç ú`C 1ñÞ¿†?ÖqÜñ{ÕïOÖ¹c=Ôg90ïƒRAqþgÝ)^2ð\ä+Öˆ÷sœßu. ô9ÎOÕçÝNÞøðŸÍüõο€wTZgQª“Mæ¯Éü>ï¸hÒÉ“P‡ûyqkøz*Ó“SMûÅ¡BZ<“ÿÉÃÜvL21>H+Œ'ÏÝ>ÍVÄòþpÈú|›;ÏYw_˜}š7Škß¼ÿ“uüô¤Ùä~9»ó·ú¾V¦1ÏÓ“óspN [¡ŒõÒ7Ïsrn€í–‰>),GŸá¹©Ï%k¶à<¶þë7ÞZÿÛ¹7ü>ˆçV¬Ð¤¾Y÷¹7X/m¯ÿÃsÂ¥ëïæÿ ²íМQò’§•?•ýíëÞûÅ#q<_•¡»|ß·ú5^Ñ鹤R}_)å6Hhg¾îÄûÉ›jM¼œ†þQÆTÌjð7Ë|Ïú¿±ßÜÿjȧy=yÑswÍë¿A:ý…Göߥ9åOLBNòÌËT½Îïàñþ;ï“–ùýaÞ§ЪëÑÀ~0Ÿá9Tæ“`ýrÅ>ÊCGz'\Wϳ#oLãB<žu_4YÎËHÑ’JÒ§>ƒ;ôÉêÔ¹ˆ?óvÆœoiPŒPÛy`ŒÐ¾›q*peŒù•FÇй¼7XÓ½|üˆþîœJiù÷94—–ë3ZÑ9вH>3繨=Ôš“ <ˆ—b]ÏÿÇòþ.Ç…1çÁôAò÷T‡b Ÿ;Q×¶ÏXçÊŸ¯ÌD¬Û2þ|ñ¢Ê·7@Q=¿Õp‹ZY×x=×êÏA`ªso°bËïs>¬aÐ4ãgœ*$ óþòÜûù‡è~ò[q‰f½ŒJ)®æùß þLÆì·W8våûÀ>ðçïÆÅó‘úü¡ùº†|½À·àú‡Ãïòú§£òZâÙ§J#'*R¶Cg ò}HÞáZüû2ÎsÝÒ9>¯Ðø§†††f°/JÜ-çWÊÄm0¿ Ìø³ ‹kžBŸ7÷yÙ° ;dœë1.¥¹Æ÷c=ãP˜ƒ¸Ÿ÷{nŽ·gø™î¦ªøÃý\½Kä‹ä,|ÅK5g†L6P¢õÝ¥w³4ƒ‰F„ÏðŠîë¡Ä>ˆ¿Ì;Ä— ˆøy_‰w$ø\·<ñýk_žÄ÷‡÷íÄ“æxHW¬aƒÏuèw5ìc¹n¹O¶æçÃy‹Ì“‡ÏÃëúðùt¯kÔGüÛK°ŒÉ[l¨ó÷Ï#ߊs^¿¹Ï^9ßÜìè Øz]§Òdìgœ1r?…£nÒöϱnGß|/äðKEôÂ2€ýÀ!¾J?€ ©óû‹Ãz¨À˜úVÏèiÀ 8ïûìvì¿î£ÖŸWß=˜ß¯¾I:äµ*þ-û𨗮ïï;Ï—ãýHOã þ=UzJtPÌD?.ýµ }†~éõæÛã¬_¬Çjñzö °îÃziàeü{àlÈãš›Ϥ a¹ê9 ;í(o“Ï<½Þ ûÂÓ}°áb|éû‡úU¬79ðÖ¦œÛ~>WvlŽTŽæ¾åyÿŒ;ï÷tœëǸaÆ©‘í¾QÎ ¥tüž¬/z^NØ!ã¬_÷~7ø½û?p;b fük§VÇ`1<7[Í’Xšéh™"Ü ó/êˆ4¬cJp@2ùàwñåEYd<¹Ž—ñã|¶œo¥“º Ó|©TBßÍbÔèç’®¼ïþ~æ…´Axâœ5Á³K£ÈPL°‡`GŸ¿N;'}úâ ެUÃË;ÿôUù©Šm,Vq õ~:˜¼Á§¾»Þ‘¨ó¾ œo‹ò…<% „ÎXëxS®o9ÂÀ+,7žŸ®÷aÇ èoø|PXoùé}§îJ.RÀš꣑Kݵ\Ñx臼XÒN™Ž%©®Vt†@4)\‘!^„òp¹üŸ'ÏTɧ!tG޽óÎÑpî.Î#Ûý^éøž2ÌÛ:«»Xh˜×ßòüݳïã:Йä£b°¬0ïoåå͘x|ÁJ³îtØÆ/É£1ÏO:®mçýA*éI×j½Ã¿»î‘Ðs]W+‹ùcy£ßëÀ”I]ÍçfÔÑ>@Üd‹Û ømËYxyØœåÇëûS®lŒouœ±X—rÿKÍÃA5ñ%¤²9l¢;0ñ’!.î°š‹e@ú2>3¿²´n7õæ ¬¼lçºÃuæNêõ,ólwå}¿x'‹ÏÉ<æÁ}C¼g * ¿=‘çh¢mh|bqªpˆõ·Ð´Ï\ 0cQÛÓªít=o6½YhæwQÉñ†ç/3Ïú½æÇ<1/¸ëÞœ;ëÂe÷’CéܧV};2¯‡ãÃ<_=_ÝyŸçR|øþLÏSgú4_ãÇu xFa§b¶í3ícËÈè™ö‚Ž\=Cm ã|uŠÞ•ÜÀæ¹—?ê™ûÞÀKNü Ž_W<¸ã¼´·Ó‰¤áN¼~ûó ž¿Œ÷oâõ+t¾B? óÝÎóð~é?ý<ÏãÇäS¿ ç)âïàMÄ5—^ð‡æù•ý“¢óW'/F wâIÐû6ÃÂÃñ3"CÍ»rZ(ÁÌ$)ìÊWN6 uWÛ‰PÜ}–mC÷ÕÃP×˸Ún'cºÖ¼Çáù¼²ÿþaöð~´ÜÃ÷çú?å¾} ýu‚ÉUq¾„-lǧ8]‹ëXŒ6ñV\èû Z.–:9ôÔÉ~L0ŸöFZ¬µ³ è–à|¸9•/C •d ³Zÿ 6L6†_ÚgÕ§†V*Zø?Càýª/÷¯¢¹«çC°>7Ú¦"¡Ò(ãmð>A¸¦7Áû,ÊZˆÄ_ü3.$ŸNñd’ª Þ')jBa²)©»¤¤ð'§sÛ&Éß×áÍ…xX,²2~„´™ë17ïØ$åúmŒIo<Ô…Äâ’D;Ï?ªšGMH³lV“h·šUŽó}óPÔ#`“÷iÓ¬ë¬sߊâ÷7>ãzÅq1x–É¿jX6/7åzx˜Ê/oõ™\„è²ÊLßc_^l¢€8\Ïoãý _’áºÑ÷3Ò‹w³éöT]àJv›Õm¨`›¶Çq» y¸“\Fk›ñeÈ“tª]ÊUí—ŠºûÞy+úå?2® ƒ©ƒ6j§á&þáÊ© ®ï¤§­)*:úfåRŠâ”½[[0P&¯§¡Uãø"ý”Ô6϶@'ëýÝöUgæŸÄÓ*ùMh³2SwîÌ– hhö ÓWÅÁçnw V6§ qblÓªÛÀU>HÉp¿@þi8¯g¬û½üùºh7»m_ʸ\´…ÌOj¿åïfr¼þ7+݇d±)7´iýÈ0S}—èü!g¨wb#ÒZÑ5ªDÁ”èB¦Nê‘2ä}â‰]ý€SùËãš&èY±OÚ!dŒŠfºâü€ ¨¾¬ã~@«ídì–Ró‰!ß›ÝMWh¤÷Œ‡è‚ :¥¹î!'Џ`ݳ}ÂùÐLWP…£¶.+ä& (¯/¤ë·qëK»*߃¾núÂÏ×=t~“>s–Ö}ksE0ózw:N¤!¡D•üi^Ÿy±Ú¼mVÜOîËÆ„‹û€è:Á}`Yž²Të­À÷+þBzMÛªøƒÏãjÇ&´Çcp‹tÂêïâ K0=ê úzb½ÿ/VüÏÀ=[>‹t;äéùKêq:¡.ÄÍuN޵¥óû4~Ì1ÁŒ§Ûï”™<ÛÌßOÄáŒw²ZßÌûL?ª›™Ê³*ï»ÐáËÙ;÷$Ÿ‰5À!â×¥ L Ò¼ÞÕi†è‹$Üüå‡h àóÂe»;ïЕr5ׇ˜õ}ëv'¾h°pÀì®?'M¼›¯_t†µ13÷sØ\>bÕ6i¸°cÿà8(ór÷xh0O°žoÓ´ÒÆÛ4²#ü®w=¤}„4”6H’LïÏïc½Y)cŸqŽã®‹† ‰/Ó^šÌY/²]’¼0Ö”ãlxóûÇ´ä1É“:žçŒúwóþ&úȆ‚é }˜¶SS ¢¾N³™×³-ÚšöÝ ÚÂM;Éë™·¸×qÑŸYÿgó²8fЕË-¹‘6T¦!qe¼¬ÿŠ8ü¾ÆÓ4Y»)‚÷÷x7ÞñÝõ¿H›lCcW]FŽDocÞ¦qb_˜Ïäø‘do¢í"kÇò½ìóÖ£|9›Žú^2xx~Sò À¨GHt£ºÏáßþ~îëi“ðÈxô`]ß·dàÇË»l§Ú  ÿ5þ6ÿë0­jtËÆk¬…´¶´©ð8ס<Ìñ8W9÷øèïÿ¼GÓyw˜Ê˜c)ÙmˆYÇ/è¼ô°\ÕÂ*cÖ™ s¡y=Ï· Šþù)_²0NÕc°.üùx×ûê¬{ ¯À˜67½ùóqÙØdþ·\p¬C›Çã(¹d„ŒïOÖ™M1ö±‘ž§Êq¸Vnyªà OÂm}Æ¢Yfœc@1…7LÊx†èF_ãõÓr$Iê‰#:ó„lf3-ôçô©ð8( àg¥ÜÅb>²ä’¸Þ·m‹˜o8מ1i‚ó"ËÚú~ÖýÝòb/JŽ…=“ˆ¹™ÿ)g–ë•ù}6š1i— ¼Œ\ï´¹YÐaFì÷ã³>ë¡z/c|ß4Â]Œ“ÿ¿?¾ÿÁüEó‰i6t’o‚ÜçBø6lJ+äv¶r°ez>uûzŽÕUŒ©äïqœ·âÁfü̘D6›ùç® çûÑdÆIK>‡¿>—œ>>_Ìÿxù·¼žø[`\´VÖKX_ùûÏØ€OøoVªІT2’ccçªÿÆû@ùrÊMÌ%hí¯Kîç’#œH´Gð[†Ÿëôìw§ÆoÞ}N³"{mÞÁÝ Št̶D£ ¦TóiPe°s‘éúƒ˜×o<ÝŒ)æ°Áæéu¿³ÿfõYÅ›Dê±Xþ–O’©ú¹Å´’,u(B4³Pü~KŒø½êxòß{3ìñÍ{_0 =¶4I-뿆­ä °¾i%€ä2Fæž!Ùò§ú_ùËŸ¯÷Tû+G¸>ÿp›¢=±ßf¾^ƒbh÷0^Þ?Slm‰§B×ç~æn)Ú¤1yWX^Ïü¾+Ï÷}c³Yâç9lücÏõ1©9^\Üì!£(Å@“¿yQ³x,ÍÅÿ°×Çqʲ÷‡ãÂâé™ÃÖ‚ÖW.CrÇÀÕ\¦ÔþJíšÉeܵl3EÕ¥Û½ÐiDìeíë—Éeÿz¨í©Ã(-y¿yØ<Ü’ðÂbsR[Õbñ–0O&¡îâRÞ!—öc¥Æµ6dpÇ}„Û@9”Ü!iùºƒZóÈØÚQÃÕe ÚìÎø‡Õ(YUÔÌΘ–ÔÔØË˜Òyi!«ÏýŒ$ mËÔâÊ0˜ñ‹RtðæMW;“‹½ºÒP]ÝOÇåÍÐÍïz9>OêGó‹?_ûàšáày­}|§nn)<¸:¥úòp8høz,—ŠS•€ž}•C…åÕ#Ûm‚3–ÎY>ËÃj.´sºDÀÊT׆€Y¸)Ì*¿ûŽ£B¨ U9Ž9 Î,Ö{"åçÜÇ#uÄ¢~5ËÌ ä úíK÷1Kô¥9UÄÔs~I¶ôݽÈKA¼›b}þ À6»s üª2ç¬ñz  Çôw¢rÎt*Ì9>àæôpÎÑ—sðyꄵ6O°ÀïXétUýÎ1Ë–}Ü›Å\æÛ•ÏnŒÃƒ§V©ò×85ïÈ\öoä ¾yû7åÀi#ý¸0æº7™âê¯Aç쀟£1ÛÉï»ä¼ x*ó5–\+tµÈ;9¤`åTâSò >C<ž<’êŸðMXd¯ßÄ{¶û9+zä’”qò§Ž÷Œ€·ÆŒŸ©x(WÝÑÿ@œü©>\âÐ>.ñÉPOû¬.„Yœ6ÔW‰“§ªîñÒA{…„¡—┟íã|ëw׿—ÝY⛕ižý­Õ™öed‚’…ë]•ýÈõÓÿhç)Ì~ã£:5f<Þ·Gì¶ßÏû±*Çê3Î~ˆ · ¿èï2ówø:dܯ˜ýßaå"Ã6»”¯O„Hö+'jFð~¾þmÔ;e€ÉP–ïÀQî¾WC¼ùóNÙ5âÇ9'Îë›ußë(Äü%5¹gîÿ”ì…ë_¥íWðH þ%ÖsAÍHÔ†ö%«,1kÐ…ÏÙ/à~ð¿ùû¿›ÿ‡'%d³Ž#yækõoù™Órʨ·2ß7ÛY6ò7›í0µ_P”„#õWßÿ«¶ûyþ߉:ÁþPî•ýYò™(Ò‰ýòèÜ/lGɸTí),ýí®x±_¼¼ŸœÁ~òSý]¬ÏÃþ4ú±çEî÷î×R`ÀýÚíX6àîç‘vئ}€wÛo=²sQ¾zbý…3ø1W¿Wÿãz-ó»Ï\Çùü|.$ù³»?„D;‰Ò…âÂzj<#ÊrqnòK2_C¾H“o™Ï“ÇFÙæûIþÎÕïâ]ùŸû å:49q[Šò¿÷›Gú[”H~!üYîGQ=9igæÏÁý TOºB'ô)óûÚ? +—ˆ~7⟲uóû¬ÊÏËpfý9§Zö·FHNyÐîiX0iÀ.;cÉtåË-Š4*?où!3—ò³{17œõˆò'Êly6úQ1ÿOò⌠õïî ÌÜH.> ¢oyÛg{?€NtŠgq½åÎÑñ7À»Íß{¨þA9ë•Ê'»dJP¯oò\¿îó‚4Ë‹\ü`þê›ù2µ`Ú=­bû§Á|cûQN ~$?p“O(–âÍú³ëzä—ðõƒ²´R½É/ñ»Õ:QçÕ¥ú?ó{=÷ù·ò¼K89Ï» ó9ggÏÅ×ãý0ÿyU3ˆ(+¼ ô€óÄ#篅ýqj3ÃÏ:kªïœáHí¶·èçæÀÿE†Ÿïº•eáüTMMðÀ8ÂþçòÅÜŽG:½“¶XaÛˉyœÜŽm…Rž0$&ó8óÒD‹yþbò,\åý¸9ÖçÙNç$:÷ÝI^¬Z¥i#‘¸Ã’„åô—Î-­KŽÙ¼Cú…`9 ÅÀÙÆCÆV¶O°{’Ñ@^#Ù=8¨òúßꘛÍsõÅ„ ·³f`Ÿ ¯vcÀ¼h³{÷…7ì¤ï®{žk£Ëvt5Úb Õ‰‹ûn\¶)À]_lvÉ+Û’.lp€_šßœFÛÞ£8çb>ÄëœdÞÑE¶‹¹žÏ´Í4zèíØæI¶[ĉô~tÆf®%³ï\u‘l5¯sWú̇òþ¬´Ñ’ ›A-³£&úYˆÙÖÂð1Üb¦cÚ4._Ÿë oä}Ã-Ì­vØ2Šjðãû07ÛQô½™#–ùƒí(m.m†dƒ|lÃŒ·m‡Z7ÓR¶]´Åœ— £l“Ÿ©ûƒ6Bö7a{Žn'XwjŸí¶Õåû!¦~ŒûƒtðbÛ‹ ë>·uò¨»dÄô÷ïÿxÿã?ÜÿœÓÀí+åßwí« ¼1ä÷Ëfqñœà¸‘ä+sN)Ûº!™îÊ9)ÔùŒ'lb£?TwRw/m²0Où#yþ¶…kÄ+&Ü>Çm«Ûs½/äã¼¾øû¹þokžóÆ~FÁ ¶C—M4×?lÕ­Ès6ma«êþ3iÔ”ßuÀã~?`;ôò}Ø·ÛÔAê™äŸŠ舘Ý*êÝšB©`‘Ÿ¦¦IÕíX¢¶‚s†ù h9%Â>~–G'‚–rT??qÞÚÇöMª7i_¬þya¬9dô³h¿Å¼4¡GŒ<â~ì%{ à·ÞöèwÑð>ÿÞdÕÉ£îMç¸û釬Ùnü­óócü-÷í2d?½Á|„ëñ·e¾ÿr?þ¼p¢¾î+íî¡´L»¹Rp¿ûTÞ.ëåyÚƒo3o»ÅËž7hǸm/gûFÚ1í©ßÎc~ïþ'ƒ?÷ñiå¶”s”¬·e­!×Úy3οʶ&ãT<ž:ÿA^uâúK.5÷5–׌sý¤œô#uOG+ç­hû”@I f¿¥£ h—X‡àG»e݃û„ø•Z'87,}3&~Ý'Ï óÝûûÝõ™tœB¼ƒ7`©±¿H|¡˜>KO3¬ïñú¹æs€®ç¾»©wU<_º)‰å]é»uf rlu[ƃuûë™§e£uåýI›-Ûêý8¶›S>¹ïOÁ÷«íK7íû3ʑ؇‚ýÂÔÑ@¢ŒQ¬ ,ºþþÞ¦øt3€×"nŠSw¢kj¢ó?ò÷®8õ²<_ú€r[Â×GòO¼r¨Hä¯&×£d®ã禎ÀÞÜŒQtæûYéÆXþáÛRÿId쬧”«@À§r•Ìî; îåNRóÒ†t¸ž2ï†ïzÓ;(¿O%&i„òЉ—†yëÉ-/TFð‰ÄÓr+|ஸÙÝ‚©ùæzz'?¯|vÛ«xxBÊ!¸šqFÁRêóŸ?þGÊêC}‡ ÍkΠ`Û™àW$¸ìð³ˆ!öœ!²åhwøù>‚7Ö=ÃòŒV'IØg«Ã^iÔvt‚Vçá"§" kŠ;Š•²ÀEOÆ/E¿Œ·&~ˆi…Ô”]QŽíÎuJáA!ë®·®*”qcãºFì´C«ÂZxOµ$»NúùûzO¨d5Øáëo ¾»îy²8ÝÆ… gÒbÅHMÇ:æÉ–£™¸¿N:¹¹£ÈûŽó¯rto¬5ƒ>$^‚g\Îð¶eÒ¡|LÇ1*“BõÍÅÍ;–AB¹’7r¡}úæ*åh»Ê‡—ã±ýHîd€¾ñ3ð~!~ šN5þ„³<$®$dù‹"¹Š£cnœŒ8oÊ~˜ÔÎ|ýü­KÛw?ô¼p¿¡Æ?*õçtŒËû™r)_Çó Æe’:OÆÅ÷7å'ºdÓòeÈöEWù†—áð÷i/–àâ‡ûöïoáâ'u.ßí$ß¹Ø “†ýÀ„÷õśʖ–ªö€GLþ`³~‘<òp ÉãaËòe4–žA/ºá“ Qÿ¡F¾û¹#t ™ø!·Æ˜œxÈÔ9¸zY FÙ³m¶…×9Åf‰YÅ•ªª²¢+E]’Ô_N5ÀT¶åk¢¬³…þΖ$ñH•9¨rÙ§ôÉÀàa…Ë6kŸnµ¯AUÒÞïZ&U­ºç¨G°6ê¾ÇÛèB£:YÏáz¢«u@‚ÊU ÑŒÃ^£Q'f‹óH²çÐ8Ô Nh¿ •LHxÁϤŽ`ó“%ìåt³6ZS"ÅÐd++ÜXêþ­ãxØL=ÿ}›å5ÊŽd̙݅ÿÇü=™±Ó\=†Í×±=¨iúªZ̸QcNΚMšñâüý±™ú¢™ú°ZÉâéIê$HWj ³v¢Ü>¦Ð‡ýŒJdÂ0‰:70ƇÃ,ìØ!uÜ„†PÌ©Ø('îØžÅ¨s¬ëñ^äï½AÅ¿‹îÍÓ;§A€ºW ”‡hL!Êo„vHŽ“¸%„Ãë‹O³É&±î:Ð#¢žÔš‰Êw²  2zÅC뽓-Û§»åƒê/GŠ}\êJDýQþe6U!¯iŒf«?cò×€æ5z±R-/Ñ”¿LüMÒ‰òŸËDݨ~v½šTD3Î÷‡^…Š&íÕª“ù<Û|gÒöÍûOš,@XtUÙÆóhæ]4€°Fõ›m>qøEsú2ÍièZ©+‰³@]æ®ÿ¹bsÀt‰îÐáЬéT±ÙÎ$:|¼þ'Ñž¥}˜@ââ÷a¾ä£yÚD‹ºQýÃïµ°u©ïÐln‰ËDˆˆG½it?Î.îvœg•;¦q.¤—k¿ØTó)Ž+òÿ3*©4Zävu©&µ=­• …h2͸òzšÜw³»ˆT#ôþpu…;õX†¦)f#ÚܹŸý<ÿ£.¯cñ¸’qNG ³Ñ&¹™¯£*γã”)9®/Œ—öƒ`KjUœ:~¦>ø÷Î#l‚ ¹Œ`¦4³üRÁõÜ7òu¹Ö{Ãóâ4Ë¡©ån7ú™ïÏV/ã쪯swÁ‚èϨ6€ `‡“U³w’ÀÙµ­þ|»‹›ù~\l~ª u«œß‡Ø{¾É&×õÄFh‚¦ï™ïO8ÿoæwuóþ¶¦:¾îfæÿcþŠ+÷ò[¾®…Ïóÿ3jU<þMø°ˆÕÀøb%ˆõ -E°Âñ"«aèú,ÄçÔþ;É&œ6œ2«^Ïè– »Õ?à2žÏ|>®îÖ¸õžÐÍ æ£«ÛÅnÖÛKw‹GÌR©÷43ÞÝ­7í7ïÿ©tÕ:ó‚̇d_²ý·ÍÁ’IµÍêé\À+…ëmŒƒëyÿ·|t¤N˜Yå´ð3ù?–Ùú\ÿ4cvÁy°I6~3›?ÕŠLl1½Ûó\‹ênVW ªŸ­ó>øü±i.æ“S<Í2?Š5Ž*§±Êë4â0{sèüPo6²²Fó÷1f”ñòt Ô:ß²2¾Û]‹64«NN£H—§sºÝõäœÖ­Àþ vfèsO¿_jžœ^V;윞yãîðÝúŸÓKj»˜Þ¢H]Êïlü‹-dò>êìù¬®é—ÎéÑ5ÅÂê(DrhŸÝÅÎ絞‚Ûè&Žî«Ùü‡,Îy±X:çbïÙû®²;V¯õÁâ1»¬Q‹h,øNáûÏL³W²ñåfèõÚ÷=¨i”½_×{y™îšœ~Ü/ïK×ôß§~ü}柭}dÿ]Ø;ëÝăl{©Õ¢ÞÄt–§µÄÚ,^ÿk½Æ‹jµV“”PhýAýaZ4å ü‡ìï.V$hŒ9¸;§ƒ–÷²»ðÌÉîçû±irŸÝÞ£ïK@ÓÀTê0uyF­yQMy©5Wª/°‡T÷6O lþBuNÇÈïÿø\jÍfû7ª?ŠÆéßÂvÀøCö~æáúi ÃÊ/¯âü!6¿Õ¯ÙÌû¿9‘ýß.¼bÞêóÀ3Xа{*éïP_¨šfœfa~¡¬1XÈMù[¬æáé±ó§Õb¿¨™¬ÆýåR¿…:E¾û‘ü³ 8GÔ_¤æl~qÁqž[jT ŽßËÊØ”hH!ºhSÎ-þç‚@Å\·;ï看ûÄ#:›:ÍyŸ±Î±ËŸ_y~êtZÅapŠwùzLõZ5Þ:Ÿ…ï)ö…‚©Þ‡T4ºU0xãûàÔtx šª KS9ÉÞ/RÙŹo¬Ð“ê(°+ýä²û‰Ks\ öÏL±¨n¹X…Àúņ]Ó*ÍÌ+)ÜËó“±õ }ý¥%Ù^ëê!Æä9ù‰)ÞÆ¦òXžâU[Ϊ ¹/œAœ@ŽJïÆèQ[¥|C5Çy«U ÏvQ¼µaêN^Ÿý¥ìoÙ…ç«hT¼¸ÍBt??÷‚­Ž):äýq8µ8ù¾¥6Û!»|[¸PSºÇZmSt<—IØÐ–3ˆ'ULüyºØõþéý®œZìr‡¢10öë@Væýj]æÎ¼žn‘ʃt˜ óºUdvµ2÷…ÿŸº7ÉreÙ‘籊·í›im%§áûŸ–C5òÆgfð_S•£wðh4çUSƒ@dAþ1ìyçÜÍöbé'«Ã4óocoÒ”ª ¦â8=$cB/SrR—jžÂcwÿ‰û'äw¦Ø‰›G7?§‰Øí¶ê^‹S·ú}ˆói7³8,²ü”“'TœôGc1/°šÔ Öˆ;Ì… «Â~\b±ŠŠi¿+lÖ]ºY«¶ö—­éŠd‹hã°Ô¸‚É꣋ ;IÊû¢Ð‚^ØœXaë(À’Ô7îGŒt ØE˜; >3’ó½$"óè:Gß×!'km±]¸÷Åwˆ7ýûæwXb½µ­y|ëäÜ­ÕóDU»—‘<ºkc÷÷3¯þÆ×Æùõì†Cñ?Pöä?_çáÅg%>Ï[ˆÃ@wíÞ–Ç)cöûk,g2{jIð–QªtݰÜfWI°ÔEöGq·ïÓ.ÀÇC„ÍsRìæ ÝN’c4/æ$¡ó!Kš”½AWžºô(HW^´øæ&¤¿&w*Ë´]verØãpy¾Î¾ôÆsC(èÊI¿}mžåpËš»DÚDÅ\l‹ ÝÜŠò‡ÑÿAî¶éwCÜ<Ù\ž]3ò¶÷‡w÷ËåO ì’3š=Õ‹O8üI»ŒIè¡NŽÊ9®a -XëîûIHÜ»Zâ+5/ú¼äñƒBy“r>gU²èkvÑhP,O£däà™Óë çöá %óÐõ ò-aK9¬²XscÛ“; ©­û’3XÓœl›>¾&òÁ™-g³…Ê!‡g¼”íÖ3Óè*t^4ë~cý9FÈ™´ÄQè.¶£Ág›º|ÓçÏÃ?^|þK„4´þ…´•)´3iý×—œ` ËBÎ$Å“ÅU•E'¿,‹P¸¾Óë](ÉÙ¬ª.MÎÎÔŸª žÏG-óo׿pý+«DØ¿DÓ¦9¾Rzw닜‘gýŸѸÅ3»d©F½¨Le­åõ4U¿]ÿŽÂ”ŸýýꮒΡ>¡;\ÿìçU—Ôã°K4U+áp¨á‘±(~¾—ÔY ö‚*×gyeÕ·y¿ëØ­>f9šEÍìU_g³EoVÊQ•l˜Ã|²Šv‡»$\·» ±[W¼æ¯wé"¸ ów— ëQ8vHþ ‡D9$z¼Ò}ªý$ý œü·2­ðÃÕúv³oôÓÃ~>ºqç0WöF&À¢£P6ª±¬£¦V Æ²ü^,ÚwbMq«¥ªî¶^·NÇ'iê^~Q„r.`E¨Sí•"T·ßYž—ßáçwºÛ~cñ@5s'çH½#­æª ɉ<Ÿx%Pþ¼¬.xdÆæªjôóDéX¦Cî`®¼öbßèî?²†8Kø|³»O£zÛØÝS]­ÅÜBz¸;3µv‹¹8¹<ɹDÔÝA¬ˆm~þq:áûêndž©PV)³ n5Voñb*?\íMäj;ÕßBTŸá=Ipq”ˆÝBDé (p¹ÝÙÿ'&…²¸šÙ}pÌB¼Û¹˜«ùp3K‹7?ÜΙ݈ûpÓ²[ˆ4Ú½^ênX(Ï¡›tîjM$sm.V±ŠÏÉ\õA~^Ïá•©mªê4âž ÕjŒEö­îžÂnœì žÖ–àøŠÒ¬†¿™ÕÝ›ƒßêz¸ð†«Šââ;ÝþZíó–"ÌèÞ™Ã(yådW{Ô7¹9‹µv·8~Îõ¬èú‡û?ËÿÄûTêi:È9‘ ræŒi£f®÷ ßiä82¶û»mÇ9¨J„MÓ7§-ÌQÕ©ÛL,Ó7¹üû§îÔï»{¤ÕÒ’º{À¥ÜÍ­9½p/£JûÒݳÖ{Õ÷Oxbö×û¡j‰8ëNw§üóW$ÇÂÿÓŸ,”OÂfÏ¿³›™m›àj¦¿ÇP^§;¸úm7jÔ;\Í›Ý6¸ ”¿Ò¿“›¤LÚÓÝ;Z-ÃÝ:(O–mn™2Ù 4¬Õ‹¶ÿ°)¯V #U;yï`wgëVÄÜÔ¦îŽû9ׯ÷«Ûm;ïªëµûUOªÃ.¾¿¾Om˜;“ìÈ2¸™­Õ"¸¬[‹BçÃ4¾3ÅÕ|º=ÉÅy¸lñ£âîÐÍ®‰j\X;öóXH¬!ç{§Ë³q}›Š½‹8ñY¯Ef¨£õ·0ël7Æ£É×'MÇ»ûÚíÁ“ßÕK&eÓŸwáθsØœÎ-دøüh1nØû_wý Š.N•I.×+ËbWiùT·ûÖÿ`¬QÔë?Ç¿pˆøBô.Œ-<”¬JöÍÃÕ¿ÍõÏë»ÿ§ãÕ¨ LcÕÜŸ3¿»ÿÈ—­ý/=äiü¸R›1Ûoró×׺Wñ4Þ¢Ö]I/=ì Z®;'zÞŸ´Æ¾\NâúfȰn4ƒoö‰^Ä 0ùï¿mªd„f\,¶r4†C^ŽJæ5ÎÎ͔⸿ÂV\¿ØíÙX98Y6ŒUqeäéà~6îS9 0Œ;+/¸SoyöaOÚ÷šB™gJ…šhÛÜüqƒø<ÛæËÁáfyユ†N?Swçøõ¯œR9¸?:¤Ú™Š›qQó¾Ö(Rý}PÃ%ûzÐ5sa#`àKwž¼5Õu%ïÝh .}©àµ`–>UµÚÐ +]qJØ3®×úÔ~ÑÆ«±;9:Å,v°'õ©ç¹A¯ïŠß…0|!ì<ðë¡Ø¿nÀ©£Å"6ËuBTÞŠÍ )ùu Îi@UâÜñÃûRÿô»¿[÷ ›ãw:Û:éDcÙ¿³_–3»×M!N lö=°*ìE®a:žäF£Oáä…u­ò8nÕ˜Då7º?x?@5V]〞°”•c¡'=Ê?[P{#0%ùY˜wX¬ÈXê²&,šÒÂV¦ôK= ±è~.-9ÃønØåh Uغ>‘,=ç4˜Tó§:éwë¾ðÞg(†¤ŽÊLìnX@ÊÌ JÕ)ÝÊ-…‰e¡ó¢Le` ÿ-Z ý‰;вúv¿grW²‡Åþ ¦Î^_ÆþÕ~­Þßvžïvò~$Ÿœg¿صi¿‹ŒòJ}w }üü4 tôð3ƒÔjʋ؃t…‡dý”jǼ]ÆÅxfÔŠ[aà¶Aƒez%Ö%ºÓ;X!~°n«Â>ë˜èω«müSàG–m=—®ëCöWs–'úcG-ý£–Ì×þ=–#UO ´©„N‰ÎZí¬¬ü;jœÍaâè üC7žü{$¸IŒ óxHWðü)‡8çØ@¸QÂ9Øtbÿš-lCËçhö¹Ya'?œ£Æó7ê/q¿â÷cñœ½Â6ðücuÐç*Í©¥Ü\JŸ«u¼•”‡JêŒH¹beñ/ ‡^àîQx˜&„»¿“GA¼2ümíòïáWZ¶F%ì°»ëæ™×'k^– ;»O$ÎÙvpµÌÏO9šÇÃÞ7ÎÕ<+Ü.†µV§—"3³ÃGé1g‡_4ÌASq ÏŽŠN3È^ÇþÄ®øí~ç:ö%ͧÇ\N»ÓF öûÖþŽsô‰#;ãLOÅíîë»ãŸÊýÝý>,Æ‘õÊ~¯H›’È%ËŒI&·p£Cߊg»lšpÙHS|w*r÷ o‚µ'í;q$X¼¸ŽÍ¬`xÚupÚ©[ûl „¿Î²ƒ“¿WõÇh8¶lĥݬ’œvíƒ8É_³¡¢Lè(¶Íj $0šbÓ@? |§`”«~W7å2š"–9cµ2cL½©ñw3$5žx£^¾™'¯ß %ÀºpÿÆžÒÝ`ŽuÞΣã{®ë®ÜßžÊ »r¿wÛ›yÚ•x†ÜÜ{²\86ѬſFÅòiF³Ô`o`*ì1ˆÅk*'Ú“*Æ]‡i‘ðxfÐD¾²ßÍØ^<ià°«Y‹6ýuqŸTM<ÌŠTåÿ­ñ ¥ÕùýÈo[ó´(úÀ|)~or»‘¯.f×/NyËe7™‰}*œ/á<: ¿'šÑ0U]Ù'Çÿø}üŽø}ÈŒß'ÆÉ?ißÝ“û;«ÏØùªµF7X£KW~÷+${ö–bÅ¥|=ÿž¤ì­ÔÓœŽ#tN¹û‡sËûh Ø«::«ñ)4šGÐyiú} ñÞ³|b8 ~!É/á- S 7&â ¬ÓN ÔÄõËÚ‰ðKK~*hèküÒ¿Ný¾ŽØï›!Š_ƒþ=šÌZá1»ÁXćKþ=äšä]6;4V$~7šÄ³7'[»Ô¹¤Ž“п+þ&î¸é7ºë!›ïjWÿÎ|—ý®¥Kã¸ã÷~ü}¢¿Ï`ì­’»ýç?ÈFQÇPι˜¯N¹ûÅ{,ʆ¼ŒâbœT< Ó–x6dæ«4x¾\wJÊ„?žYupøë3×ö§¿nTüÈÏ|âõAU²¿Wã;5hÖ¼—âGÿÄú¥Ïøóä>û¦SF—ÒB·P¸lìh¾-”?…_„kðOaÇGaãø¯ Õ#|7Ò@UÌró÷û€2öúÿö`þ95¹‡ãÖ·73“g÷ßùûº^âÆ¸ÿ…ï,â ê/üëýŽº¶H\~ÂŒl;ºµ£+C:têWZ×k,zpÉ?:}MÄÅÆ¡…,ŠgûDîô},°¬ÊüÀï';Pø&œØ~FøK·_éÂÕ¦üRä§Ý~Xàãï77hŸwâ™h;ÎUv"EáïL_ÜOÎ%³ÃÄ–Þqú\¥I· Øý•8rgâ/ÈO¸n6ËtõÌX7Î3l8€Ç¸.‰úƒÏTî瓯*¾ŸªÏnâ }}ªW~¹îÀÐc¿ƒL| M(Öm‡’h˃G¯‡uëF´ÐÕN„^)5„ôjbÉÛŸæ‚¿÷ïQ·FÑàçþÞþ¹ÓÿW³–â7gžpÒÞîsªT÷H‡½eÁŸŸ¾)àï—æ|H÷¿ãç/¤Éa¢ê²Ð=ñàïØ¬Ø×äôbVX_xgÂ5Åñûö½o÷û¤_Yê¯Ü“ñ÷޵±ñ Ûdèïc>¦Wû‘Áº^u~ ƒð3ìïØ‹ñûIÒ€÷ኟ)ŒX*Çj_‚n…äÂË8°ãwâÀxõF3–I‡^‰0wÅBdÄHã–Ÿ!û çü~°NŠ×‹×­pËÎ+ö¥°¡qèù[ʹïÙZçM¿´ŒÇ/â=wê$3Ë@QágbÚ;©‹‰t‡(Îɱìý8na"f›oVE¢³È6X‹G^Á÷ä9¹D›³§ñ”âü4sfÇ7i¾ï÷¼ÿØï<—ûy̲ŸÃPüJÝíÙ"™C½)²²­î°Aê{— H+!}•¹êË©ÛùêˆõD²)ºÇæœÛ‡÷ô{|þ;±`ƒxžõÓS_…šR6bsßRoÔâ>Ø Ó oÎ˶qi^$ð—þ‚‹mæÒ]eÅJºÑÒÍ ¸óW±N†=¿çöjŸ¾%Õ«Ä‹RY?P=÷N½icº¦±¦ªÞ¤jTR<3ßË­*dÓ¿#2C½iñ»SØŽÌÊS÷CŸù÷ñ{¬CÆg¯FÿL1þñy=si(hG?Ír}5âÊè§I>:>ßöïý5Ùý3:O>Ì9~϶µ ž!«A8åfМ-1]1¸ðwv×€Q´pRŸ<¾[¹ƒæ6(s‚²Þÿʺo<ñŒòSÏçožEoû}ü±ßÓû~×õ ûB^÷{¾¸ßÁC!’ñL‡‰_7ñ÷ÅʵfÕ’rïªÔk7ÊOêü“gƒTa#ʈ#/©.-Ö9&xe?,p×OÕï(¼"ªO½¬°¿+Ïš¾^x>ûWgæ¹½î°Oo´ÝKkèç?¸k0Œˆ¢(Ë M¤[Rk +÷ :¯V¶ÝÇk‚qÃÏCîží’­]šÇÜñôéŸiì|ÙŸ¥¾úëN|ñìïÎs÷ìÿaü±;¯Ò~?õªzê,wú–WeõÏ ö–6õÏÀG·Ó@¬’©©Üªz“Fõ5¹“„FÀÎÞJÇ3…æ‡9ºoý;ç šçÀ{·Új2›®ð”ä9œÌú+qb&¶°»ì¨‹·Ã˺`ÜoË–zëÅv†™(rè([SB§<¸Ç¿u*&^, xdk%F÷•qdðûM˜ø‡Š;ó7ýå‘‘ñ7÷ç y·zÕ¬ãÕ¯Yì»Kî§,ĉ‘w.PÕOÆúêÉ®ð ôý¼áïõ'ézÓŸø{yÇßÓ;þÎïÓû¹óßÏ} ï¯P퀲qæ÷¥rμxN:ˆñ¢>UŒ LbÃf^Źõâù‹JYRŒGNÖK¿ƒ‹mô££ÛBñ{c±¸ØîzÅŽ–‚^ªôy[M¬*­1F‰¼Ð¡&KôQ›<‚IqÙy›hÉâ) ;^Ü,eû ¢ ?R÷°pá9¯{$Åó¯ôÚ¥¸oobž1¾Ï¸râ| ûNßRf„¾™~Dt–ž.uiÂljEjì-EÎÇ‘D÷*‚;êZ÷F\L·ŠÞùœïˆÆvä¬Fæ§ ƒ¬öãɹmÏ-‚æzÑn²CEµˆç)®9â"¢¸_ðŒõe©¸•ò).ønÝAÛþûê½?°ã|²ê¯.Âæœ} Q–ø ÃŽüb™?®ˆëk–qòʾ뿇Á9ãIµò‚¾°ÎŽ øæK³ósÕ£+ùðŸçD1Ÿâd=²˜'a‚ £1RÃý¾gå^WR©éþ¦ßáÝ"¼äÎ&^ÐYàSŒ¶EÁ%¡ „ÄwáÉ™À£1róVƒ x!¿÷7q^t/ü`Ýâ„úµÛQŸX·auòˆ?í§+ù©ŠçÙ¡v;ñ}Æ1…•R¬¾:¡nZê%.iÂÕ5–X½ ¯P ̨'C&ê}⺑pv’Ð$ÉÝO´OŸ¨¼ãÎwØëgãù89 %‚ÂBzî_œ‡Ãû²±ÎÅÏ!ΉÒíçÁÆýíýIy1Ë" ã9ô+sõd³Žà„ªÍ‰ªïIa “iã\ÚêlŒe¶:k4îkBóÔ0o³|N––„ê|MÒúko¿Î@§ÁÛsJ;+[ˆñåðæY§wþõþYÚ1ðö§š}àí >§féN8bþ~kßo"k:¶$R ¹[ëÚÿdØtä/cGù'ÿj'À!â|…±f«Ó&…×D€“És˜…ÂLbñYNe:›l²nå‹“rãD“ØWÜàdåºÿcˆqþŸAŒyàVú+qküõºƒÀPÇ•5о5r¦AÀ=ØIYÏ`Ôêof!4¿t(Lž¯KGFe¯à#÷@T&œU臗™=3*2eÚσ?Þ‡æó6¥gž·î´×XcѼ4˜èˆ¬ÝAÎѯAàogŽr«µ&`F’xÆL<6UK™ùiÓšH]°ЗÉF„¬€ž‰V»ÑÑáøIl¦ ©¶’‡ŸÏ‹§}!Sýd{ÂMׇüZÞ¾žÈ˜À‚ÑKºÄLÖ¸O¦F]ÃNÄrȰ×w-uög2$«I¯Ÿ«fž± ÒÎÄ‚xThIœ{ÇÏYR$Q¯ÿA€y@!±u|#¤>ŸÄ–q&;YWã{¤Š+ü<ÝÙå#"qÍaÿ(b‡¿QÄÞØ<Õ¬—Ö›ƒÙõÍlL‚ÀkjÓ1îÎQ”uiP~d3„*ιäo¶¤“»5èJø"½G‹ÅXSÓ‹ Îû}ºÖíÃxvCB|8¸îøyìLÙãØ¡ì’ÕG É %wÙÁDçÏtD„=“l]¯ -õš³ÁιPït D|=_7VdcŠÏ+¬ª¸>XWh#^Yf†nˆ.éÛ.¼?ÌÆøz‰)ôF_éo ™Ï‘_++…Ï;kþYÊEo˜üFo ^ÿn²c?OOÜ£à ŒþJ'BcÃcfçÍÆ©‚¯ºu}£Æ‘8¶Aºm…,׬l~$l¨áÕÅdúA¬'“*uû‰¤Ø"Mýié© ¶újŸç©ˆô<ï+~³±Ð!ÕGCÛÖLÊg¤)g¶@Nå鶦†7ujš.Ì__>•5€;Câ'•¡øXw´cKBÓsk™Ú-a‡¦EpÚ#ÓHH¹ZUw[IèÊluª¢œÐsv¡ 8³UiÙ•„d8¾OD‹ä·a_Ñ®‹}]ª³³õ&ö}¥¸¥ÑÂ6WüäçË~hò=˜~Oß“ºôý@Ц"ÿ¸á¾ßW´£b!X¢guØ“ÚÔ‚b¥6Mö ßGê²çzµ3;­Ó2‡Í­!ÒT¨½¤³d1B*áØ132¥µúý¢…ÉÙ6ø¡3«F­µfî èH0Í5¸B׋¶›‘Bšæ‡Ã·ëòñXŸ í¢J =Y+ªnž±'^IôCŠ2Å`»RU9üyž_×§Ÿ×â\ćxáK¿C-„XŸäÙÁB-Óe®½Ee.¾ÑŸs!l¬w3·jE¶éžÔ¾K¶‰XOi`ü½ßÏŒÎ5ûˆý©ýïs5‘À©nígi3î"(Ï©$¶¸6Ç›ÕøË3=t"´o¿\jq‘ÐèŽþwça0ÀÈòÌ*“4Œ¿Ìúèˆøýzä‹ö?æçðûÓf…²ÔÍØ’‘‰‡ßæt@BµUi ‡ßî6Þƒ8Bôvú½›V¢&cí> éѪü½ûJËeøåÅx¤føÊøGˆRøñÄø°ØïC÷qß„ í(ij&ß?š9…ÚTEö&ð­x§QSºuUN:5§‡+¤–ÉÓ u¿Æ“˜˜ [ODÜöp<ÄVë£yרY±Ûh+`w²Ó»Ã?“úô?ÉÜŠ¦Z€ô÷tšRf‚ž)÷=i¡¡ù0_d(æÁ®TuœùR~K ·õ$Í´~ØôßlûhMƒ ™šW­‰»ߟ°yp¶1À£½âûjõÍäÞÃýoT¬b_OúóÊ< %™£†}Ì÷¢››l*²Gáù»õþ0ÅÚ ›šk©Ù¦Ö`¾ÒjÜáOã @ËžnÝnþ|Úÿ¶2Lç]½<¬hç{³üÞlîûm¤9*r¤ð¹áïÑBG&¦J}Äù Ý1^=³}6ÊÞQŒj2'L8Û¦šÐÅÄ1³?Å >ó§ŽÝoãüÎ} ÿÚqÿRšìM•Õ’¸Ï«˜…ÂǪçþ$Äñc*îoÌð^ÄyP:ì+ÜÀýy’¿ïëÑÜ÷ *$³>\ˆxB>´ÓÐ{8ܬ¶‹ßíû¸J‚Wðæ§ô;í«¨qü’¯vÇ1ÌWW{·9ºCÖ.EOç,kÌo¥êðá÷ëï¹Ex$ÌŠ°§› $òÛãþñ™EúAÁqI䵈ˆÕÿž!Cc‡aþî ±îh¦eöZ†?Få-“²Y+>ìß@1ü÷ñÿ¡­Þ4“9Ù6µ{ÉrÑÚd~™7ø,Z7MÞ ÛÂýîpˆb–ù·hb¼Ï¨=ß+>ÇÏT)¥-­› gó|éàya vtåy©ó5ü1p®öLq&jïfw„H›w»óorcÅ÷ÂÍœ¿V^¦Læ}ç#ŸEÚÇ}_èç·ñùÂ:`sݪ¿ü8ýÎ~Ñ$ïOkÃÊ÷"~¥”îø}Ä;Pþ#®“˜îã7ˆÓ|3“Ä«œ÷€ìiÙT…÷[~o:ã©e|=põŽL#pºªýÎ`žÕ½^ƒ¸ÚÁÑ×ÿàlªófsÍmÞ/;Ïjão±*âÏËuÜa|A •Íe-=š¨#ΧÓ/3¿Çç>g³4ì†ÎYŒrM×S˜JtßñûçìÎÂw׫§œÄ)·ñšÄ¸gù^<‡gÕç‹õ—æç‘ö³ÞÕØÿWØ+b½¢_‚œŒ{÷ÿt¼Ô{ôÆ~çú*å$Ó^Ÿ¸ÿ§ÏàšêÜC9÷ÿÍäÊs?ú} ’3«ZÒàF¦Ç²ªiÓ†àgŠßEøO² JWÎ"ú"-S”ï÷7ñúÍx-ðÔmÝ1š@V~}ïYø>'ÄÞ°σÅ1ìÍï ÏÎx~kO½àFq3œ[ñ~eüߎƷòÖ¥}ÞX7<ñU¼y4ˆ‹n_“OÞŒF‹ñæä>ždA¿‡l÷Èolç±c>ª=ÿçlTõ×0úX/(Æ‹fzòà¿ÇwJ¼P$ëüɦƒƒØ/t7T ï :Óð~ÇÎfɱ£v{’â_ó7RžÉ¢ÊÈ(†š&ÿßÁˆaà/xa3wàóÄ7÷q¢ÄÙƒñŠ8i3ñÖšñ~<€Ö$`ɉњðŠ’?oŸú/¾Ý÷û¶»~ޏ}9îƒþ.jøsÚÛþ}ªÏÊ};›þ¿»ï õùêÏÈâ<¾S¿íì2kÆ5Ov^”™÷fŸ¯q}9y®ò^çÅ“²aÕû\‚&ãPÁоÓ/Ø0vGÙöâ¼â;#þ¬ƒÃ0 êX5Ëü}9³ ]' @±œ2Ä ¶?á‚ß×oÓ„/IõÛÚá߇ñ÷J¯¾4Ú…¿&ÅOBÝ%ì|ê½ôï§Og4Ôsñóáï7ì+¶yàõKqæfBr~»X§*Žs:ãÊjÍ œEq¢Å°Ëñ÷¸Í´¿Gß«Î3ضpžÊükøzõÅãDõÜq©žpqÿÒû™òkSöy þ§ ±§?*›S3÷¤¿ö÷ÏuûÿjEŸ;õ”_>³-ZœUfãÓà Í~Æa"Ü'YEùÎlîõâvÌŠiûÙîôI…Ž“ ¡¾ºïwã0ï}—¬[Õi< âyÇ÷¹2Èò÷…öv|Ÿñÿ[û}™ƒyùË>•?G•$ì|úÃy}9yìË>†?g$Œ 'ÀùÒˆSÜ™€n®î×Qæ>ø<ûOýv–g¶(Õˆý•qi£þÆcÏÓï|GC@qNC…,RÄä4­éZל–5aX7ÌŠË —i[3Ã×M½û©ïãñ÷®0+„߈~µ\Ù¯Üìw¿æòL’G|“³ë†¬W%É "®ŒÏ“ë)˜Žï·3¡Èû÷þj‹±ìF=EëMíSõ¹¦£i‚úwNbt©ÃzŸç±ÿxZ÷mF_gšÒؘ~ÂúßÁu×;›¹+{½Ûé+æçéàœë&ûãÜ=Ô£ â¸ßéoãó\]xâµïÖ¿LÔýW¡T[!ÕôªŠv'ÚÑ)ât8‰=“TÈâµ$ï×öy†ãV¿ÚjÐ'žÀê·ð48L¸³"Æ´_?ÔLêÌ_?Íð6lö#¤ä¾h³Ê}Òü?Uã¡uÜÔܵcßÀ]ßȯ<”5×á¾,Î~ãÁYx°4MÃ>uܨûÆ{êü6Ó÷ýDѳ°*±9&ïÄùòPÈw7öå™dþýý±oÏœJœÓ91ü#lãǾÞ~Üoúy^‘Û6d<èŒõÆ“#Jš(sŸkNÖŠÜ|^ùÁ“+íézKÔOL@ÜÈN~¨û~~èšß‰zTF[ýN£Ÿ8ñc“²ß‰¸(mû–íÌÙ6æ ùÔÑ1ÈsÅ~~©ÝÑ*tßpš¤Vm¤`Žõ:¸fàïÉÚä6ˆõ®>¢þ’óƒ{F½+©n{ì£5)‘l¡…ó)•~›ýS-ÙŸþœß󶾓öÁï'×_y-˜²â}˜Îð>ɰ‚ãy_Ñ<™Xx…Ñï÷&»Ö'Å—þ}G_Î1PÂä¨Ó9$j—ß/8$ØP3!LºT¾Ñ¿œé[ Ö¨ûêÓÿ8©î³ÏQ‡Åëj;úö¶_GÞ ¸Ð}³9â£óÞàþÍä7ü~à÷¹Qœ¨‘¶6ìn¿o¦#Ç÷‰LH§ŸAv5¾ó»AÂNžëŠx'ÆŸîÍå>ò½ß)çbñ¾_öÓ—–pNžºÖŒõŽÿñûÂ.Þ÷9Þƒáºñ»ä~ÿºù<Æ-M1 xÁÐß)„Ÿpß_ÌU%11G¼¨x¿¾ö æ¬^6ê…ŸªÖ˜ôCÝš«›ç@ºƒ+#¿Ì¹¬†á°Ï¼ÃîŒßÓT…_É>wc=sz´|¢–‹ýpë·s¼0Þ¿TÏbMÆþàþÇ9Ú§5R£ÆþÆyRÃþž§®;`ò¾ÿ‡çoÁìUù¾7âý¸ãØß—›ñMäïX¯ÓoÃstº9ê$Oœƒþ4ØîOŽ÷#ÆP¦#¾ï²•o]é_%p(ÆDØ ê÷ùϯËNèjYlÛ—i˜¿A… hþþ#– b°‘¥¸¸ 1Ûb”…“lNÖcnàʈ_²êYÿÅO7hÏ44é&›ê>úRzꆋß߇i'ÃÏÜ"Þ#ËÜØ÷f´Ypß72-÷41Òµ?öù¿>ξ×õìGÉ•~û>ó¸Õ7˜ˆ(Þ'ÞÏýñg1®°äwÎüÊ m"ú«œÏh® ñ¾?Œ÷¯0³ãÜeüا×_ö©“G§“ùXuÝ|q=Ë™“`~5]WyÏð&…}g>(ÎÁs_aÇzšÛŸƒq+<°_úEdgÏ‹"îñ\DÅ‹‚x4ËV<{…!¼qðëåýŸi/Ç=‰çjò|sôóäb-Ïí¸æhu¾ŸÓ“ïGRyÅçHä·òÝF?<\Ï]ÄaÖéC`|>íOÆø#ßMïù®¯ï>è÷ç9˜__YPQ®pÇØþ`~‡ßoS¾;Fl·%«P$Œ0Éœ8¶=û¯k\î| }¦Œïg0/õ‹sž6¿fÿÈXÿ´§?ʨxÝŒëD½öÁ—¡Y§öÚuàzÕQ°“»¯ïÿ4×Yþ'q†ùÏ¿‡3Äœ#ï'œ!1Þœ/ï…óÞ~yk§¢æøã{÷ƒÆçíø™?ÔιÀxx.=êëiª¯°ÇjÆÇÃN öfÇxJxïãùE|ßš×›ñþ4^\˃£¿Îà9ÿD ×›<i§Sü?ï0Vg6ËÁ/¸_1þ?}°ÆN¿½ÎYû¥D¿“ûÏÈShÄŽßAƒ¤p½K<\ßtx0ˆÏ÷3G[_ó'ò2<ùpÛ—ükó}R?¾ûÝÒ´4y4ҸÀýÈý;Ϲ«s•ë†ï°ËéCæ¹zò±ˆ‹Òr=…«8WËal'.·œï6>¿+ŸÆ48ë„¶wï®ôàYÞçûüàòCù|N\áÔ%Ë[] /X6ŽrÃï Omöûôë¹z}QÀ?Ò]·ÍŠwŒ«UÅ;Æ„/Oçk-¿çÍC8ú.Îyøýäùп~}ªNXež³Ùó£½¾®ÿðõÓç@Ì“&ÍUÊÞ¡Žyeý+qàÅ>wãñ¿gâÉÅ~fÐïLŸ»Zˆõâ>§j—Øæßî“ïhÈ¿à.ãÌK—9óÌ_³ãš4œ6ãýíø¾ÑÎÆyÂÏçüô5dÆQwú–ë¦ÿÐ`7üþòóÐúëy¸NÞyýÑÔŽþ)ŸSXÿÂ:»ý~'ÄùiÝÿ–Æ0¨ã‰ó`Ìu±5MÓÃ…5Û¹-s‚)åY¨…ß¾ò“ ðbríSûfZr…ÒMs~š+þçÙôóóäYÄeÚÁm2q›Ã›I\§º?dÑï7÷Ţߡ°—ÙðŒíhü-¿îwðÍzêVKñ¾â›ÃŸS‰d×¥êzâûJ‹L™Óg~1m×q“ñäêºb¢ú°o¾?w»ò\Ï¥oâ>Ë~¼þQ×û<·½ç¹•8ÏôzãóƒóLží“’Ú¿íw²q†Áºù2.ÐY™oøòù~6Çóã9|øË N>òÍ:û­ý:y#oŸ”ý¨âs­ÿ™ÛÊ\oŸÃý¼Ù×;nʬë.Ç=ˆ7ÛuíÓ×ÐÈÛwêQÕsYÇï¾Mášå;¿âj¹øúj;¹o_ÏgÜ©¯€ZqMV]]ùÒéÓשׂ÷—yuÄïοbþÇ8 æ°ˆïŸúWâó,/ü%ˆ³®(!ŽŸ‹S ð§¦J«‰ Ý¤Ê ÍáK½^ôà“ú€¢Kb¼ïO ÿÅý< æ%&ýÊóVüÐ8h'×QÏ/ó-‡,ÐvÞô_ðþN'»Ÿ¤;þ?yï`ü¥­’?8“”}lЇçú'qšc«_çé[›ï}„c¿Ç§±ÏÓTÏíFãsþ\ý7ò-îCÍç6ûéßìà›ôó¨áÁ7Çø¦ð}?¿L¿ÓoõSUâËñf“íøQ8Ú2NðÚ?…Äs¡߇tò<’l\çÏå+Jð;ôR’È®§<óAìé®O¹¿ä£ßa¾•Øïx¾wç{~G/öëγˆsæÓ¯¯þ3ã8y>õôݲÎÞÎ9¼ø}çÂÙN~P™__Qø[ùxý~òþͬG¥×\¬—œ~üÍ¾Úæ>ç¾Ïâ|mð}(¾_!îv…ÿðûHQ}m8 ìDÿ¾†: ]¼U ‹KŠ;-q·¡­s…YŠŽŽåŽÄ6çΕ¾i>”ñy·Rínã>Nìûäx¸IKé‰'WíûœìëlO~°ÙÇùaþà[¿¯þâÁ<·’À~Ú8ByëŸÌc­°ª~dkáUê˜fçí•„ §$ìøVÓ¸±ï÷}KÆ÷iWÏc <¼Të ‡¨¬£oûaN~*Ù®ìgÞ/¥ŸûÐùíúS±¶[w#?ü½£ûþ@ Uú`ü¯úk7±¬mÔé`{ýc¿ãý(LÄý²q¹àåŠûßèk“ŠYjƒü5§Ÿ±›6kq3PÛªLI`6ê#ÒÇqÖ¯™Ià€ÄjPYpäGÿÖßS!®W®;òÔûÔkƒ·µókNð›õòÄ7²“óà˜óî™×7„„}êí¡ŸÑÓ>ÂQ)3“؆4@k^“ôêF'ɾš±Çä§•9ö˜¤HRkÆhV§ìZ´Ð(–£ÿ ôõå~ï€èKë”XÃ@úïbš®ô»˜60Y[yìпiš#Ž™Å˜ŸlV”J<>û]Š3'â“2%Œ¸õpU½Z(n–)¥Êj•)ŽÒEJ;¶Rì°LiBNvñ]¨ìB ó ž‰>¾A?þA4êÀp?cú-ü•³6ùV{óœ $¶`ÙÁ×»¯°Ðo{lü½+üG£Qx·Ã~ß”iF4õ»ßaª˜n‡\ã8ãÇ"Õø ‹ƒLðK/Ç ˜/õ)|^Ü8_ÃAöÉ„¸ý„-~µI¿ ßZI~hÚŸã9U÷õP·w §“ð&ìõÒwÏ%_YwѾ,¶›žF[Qð$ÃKÇÝkV9Ò˜¤î* éG·|""ÐL DxKn‡öWêWu“W»cò6öÿ$VïCŸX'åO¨×aÙ87›ý}ãy0‘ÿ¦Ÿ9¯ÿŽø{WxÄGå~lÍ[˜¼“|aÐ b”ð€)Š6ŸœƒzĈxF§PÄbb3ÏdÕñnð„¢gëÌcßÚ¬wòd5ó–v*ö5SïôN^Ä/ØÑwWH“({ÁŸóýé\÷¦ù׿]÷…s©Ä„|„ó‹ì.æî_hê+&å–vÚlŒeb²Ç¤ÂT\6é@ùö‰‘¯CøÐ¸Ÿê¤^ D@¿ÂgÄÝtâ˜CA¿h+Ý”J|—v ëÑ…"Õás}"ú£?pKÚO!·CÇÌÔ¿j Ší8q›Cv¦¸ÛÐ RØñ@ø‹ïÏ~¡8®çB(Ù•Áîw2NÅÝâÑGoLútÁfc2:[(£RÈ*ƒíóáš•TUéÓèÆ·.>¢Aët#c]H9G-‡X7¶ô‘Ë.Öä#ð$ì*{Œ—uŽ#.! Tp¤\’\M nšâÚÔkùè¤êÓ.‘áÀLN5IP L^ÁbÓ»BrÒڬĒüýhì¬35˜(±ŠuÞòÇCþÚ£kXÇjÊüÆï7C†ü²'[‘q>(E¾J"B,„ý„Y)ÌÉBG§pl*ßJ6›¸ß‹½?ÉO†F¼/ŽAg¼s¾âg:X1K“¨yøó¢ ¢C.‘â6•z’ ²Iº~¢é¶Ã·nÝ®{ŸFã¿ áɸHŠ€0 á·ujZ7Sâ¦Ró Ú-†\tn Òc¯7è8<Ðrz$É"åíbݼp®VF{8žÆ \¹4´Ç 'Q?÷XD»Tˬ_ÁžÉóh™ïçÓ¬#ú¯÷ûw ,Çï‰P˜ ølÈqz¹0~oŽç+mú•÷2¾ìÊ÷I’”™ñÓ¼´îŠ&›qäèèÔSÒ.×&ø]»A= )êRåî{€$ðþñ àÕœFå§ùŽä —IÈçjµIØÙ¢?‰z²+ý»â÷ã§ÚÀ;®˜:µò@ïóý苟F¿cÂN9â6 soÿ¼¡êr÷è……­ÂO;«4‘ 4\¼°†ó8Ø‚«¯<ŸÞØï*åýýø÷LȦ[ÂR€~×k|R 9¢¥"î§ø¦‚WWc¡8¬0KùÄc9.ä¹8Ïáªø~ê|Äd›çª¤+¹½ñ‡ïG\ìŽý%>ƒzQ%áÄÏl¯7©Mlð|Ô¦ —íXÀÜ7ÍJ¾ ®‰ ³i¸|¢ùû}ãæ%I™Ì|µp´çàâ9éü3âÀ^œ¯>yÒ)AM–¨œg¡´‘M’˜ï&S†dÄÿ풴öv„M<¾ßð3 káÐáßÑ•Pù÷X÷¦¾ÃÍ&ȦvZÊÄÀÝg~šy }ÝŒPý¢S»rùÎxã9:†ðHÔ‡Ú3žæËºnâнXŠg°[ž–ùÆx§8~éÌg‹ñHãpWâwLlT20ža’9¿ s}u1AmFç3ÍÅOÑP¶é!†f«g)òGÄïWð÷§Þ‰^·¨‡FÜW·ýy¦¿–t;Zj:ìÓ2ùjÔp,ÔùjóhNO¶w6”€ßßX÷¹ª(,˜›»ÔrƒÉAá¼öÂIîTÍ›)àD‰Õ×Îø½§ŸrNž—ZáÝÒÒ›©ìÙòÒÛCédœà­eæŒà<8¯7N` 4㦾1Np¥ŸVÿÆï µÇRý»hô&쨟–)-|„{${°ÌÝ1yE‚Zq¢B‡åž¤:T.lŒt+Ž„¦èï ²$¡±8hOÙA—-eƾÜ/Ë.)¯wFì3qñkxFŒcìjªŽ°3=¥ß—$¤5ŠÛTq¾-á§™ø8…nþG#a7ú9eqKTýÇ>Uÿ…lQcTŠ…~9H6ó­‰$<®§ÿ™Œû³¨4¢e/¾Ÿ?Öç¿Ü÷™¾Å¸fgâÁÂÒw%Ò.žÒ{ÅÎf·G§s”A•+Ôû:ÍLˆsÊ-¶Â_qVÆX÷¢†ˆÊAˆ°Õ 9hgÑDéŒñ\2lµJNäKÇÏOÖËâö°Ç)û…â^ÆÇ°í7ˆ:Êöb¡'£R¶fZð¾‡Uâm6"ÌØØeÎïñb{Çxr((Eþ¦®Îó´j„o.UûŸ*ø|ÉÆ~Wí2®Ç9`\g5žz_ãþQ?/é“”ß÷ûÐK«Üïs=•Ô-]©zÚ™6eªx 4îb÷Þ…G†”žvæËÑô6 Sˆ3âÎHë†4føéZáç)ù•-Á½EÁª~£Ð„Å®F²ÃuŸš ãzPQˆú=î*ÍzY#ú%Ý¢êFÖS–XP’Ñ–´ó½ÕÙWªü°×¡–˜°ç¡²é¯çÀäçõ¡ŽŽ|qÝ 8†…øuî‰!ŠØ·Õ~Y6qÞ ½'´á?ªq …Mür‚„¨”¦>§Yù^´K¸ÿü^Š+'…·ZñAÞìA¹6Ñl€™5éȧÊx¥öOúÐ1úÅ;—+ñüDSøÝÁó•ÒÝeiÄi‚Ó7lö¥Nâ¥û¼+ìáÏ ã÷-;Ó¯W۱直þº%pgÍ™ õ›©&RÛ dCî/·ï²w¡™÷›é‹ñàV…fô„dÅÏ7Î×8/ó–4ÀlôÛÆ&p‹úõã¹à¼4>3'ó*ã7Ô` [ëŽFâ7xŸ®ì÷ÄÒuc¸3s!y‹]œV­÷Ä©ö7©ø.Ìn».ÎxBÑ€÷˜èï© 6©5v¼U?¯~™,5;3—´ üú¤Ÿ¶7ìâsaòs]Oižˆ?³ì š‹ó÷…ãáßF¡fÃË2µvƒo [”¡ä(K´°ßÇ5ï3.[ÓÒ }\k˜‚ 3Üa÷;ñ ˜úãýψ+fÃ?pŸ.pb„ÿà(ëJôG]T6¤ž€Ýÿ0®dÝ–œ ñ}ŽJ-JÕ—þòË}‘3ø›Äúß®/Nb\Ì*é!} šp³½;§õ꺀à]©‡Lp`E¼^¶üM£Í¸r2Ž-m¥dOœËvô ãÉ“}eØïëû’œ‚?šŒï¯à S·$¢7ल%x´;!º[ã8êÚƒ©bÝíI"ýÝ• Obc¹ÓªôIÂãÛuçH|Y¤Ú©Ô ÇyÚµŽ‹x)ˆ#ßå~oΫÏ×îç%·2=¢6¿)V\´ïŒXnβæLÅÓÝ<ĘÙzNµÐû½ËìÎW|NÜfú€­xç@¢”¯¯Ä}ê%*è†~¹LÅóòËÛÔ2—…_6U_ççÍMQ[ã¡ÈÂýº©)QR [£à “çQKlPàÄÕ¸üðÔ¾^ôÅqc#.̾ŽÉ>î"„°ŠË¡,å+Øzo„3×tÉÏ7nÇÌ6IJE5Ay_bßoð•];{Õù‰ö³*@l¤¨ù)Ö‹û>Öu/;ëý5yrßÀŸLÄO<Ï8³;ÞGžtð38ô¸¾Úïw^ŽSù÷ö•u—“(ì7ˆ••“ÐRªËÏK‰Öç@­åeÝçi 츂°îÛŽíƒ4î·qM=버Ïâ’ì#‘-ðzÇ5“ù.ëâ¤IN¹×ÄûO\”qâåõà<ø|¹—eV“À¬ü€ýìÕÒbag:sB7›Ý¨j¡du“ ž&¥Fð㨒Bt÷¢úM¶R؆Qy 1ÅôñJAa£7AÜú»ÚiÉþÝBa+ªCk.8Â÷7lršmĹ´KlÇ?3ê?GðÉ…‹bzn' W¢3ËBƒ€eÂ>‰±{v²wGo+¾oâ²ØQ,¹ãí+³ÍÆ1. -…hËúç½9S–“ÙmSWê$ñU\ïh´Òû+*jDA%<÷ŸŒ^ïTA8 ¸F]‰²á8Ûw³*xWˆàš©ØSMÜ”we5Vˆ.Vy€3“eECùïu”íl’ÅtcµÔU¼LÔ^ÙPb5µ ‰*!OÝêë#*(êƒWjo4yò~w¢K …½U8e‡šçUÿjÔŠê Ë7åZ9¿Eõ“SÆUÅ’ŸÆû]ɱ•èüoTc £úS]\7vi,I”ñâÍù>ð^™Qºü¾¯hgh#z*ƒÑj ô‹ö¢ ðÏ•ñL"×Å$DI躄j6ªïpßæbvÚÛ'Æ?ÛÞ>«[äí+Wf¹¾õö™4ÌCEÀæ#öÖœ\Ù’·“ hxwÐD«ÆWØÕöºraK õ;‘f[»<À–½ŸZÀß{{LLJÒ4”Xz3Í9b÷jï]›/ËðÄÙ/£éY#'´XŠä螺(:â…šl»c"é(Ì~ˆ!ö›OêMHŠ)£»¥d笋o‡éøC–äZawM—3Â*òþôû¿ô:Å-¾³qÆ~èr༹&K 3 ÏD6«Í/î½ ÿIþôŽ×™ì+€‰á¸v×µn1e?q'Fl¬9•:AMdØÂ8û]<[2ñïû MÖN,`WÒñmð†¹Õ{ƒ™cioD@ g‘¨Çëà¡ë⧤qÝ£ÏK5ðR ëÒºoØÝÑÍ$VÍlF7Û˜¢£.o>‡k뜜ìÙ.ë±;sã+ô“¤ AN…覚ü{C»èÌ7íItÌÎäðŸÖöfEovÁùÝ^}lôçÖ7ýf³ æ7¨¡çë°<Âô<Ülƒn@iÓK˜Ÿ#Œ_p䔑ÚÙE_Ò +Èó–ž ª#,—ž @—΃<í€8m–Á{:à@Ÿf>bBÙ Ž@ž;zv/ ¿†õÕŽûY¦Ÿ"ìøÃ^ÞØJê)R1,Zæ×* O¯€hI-z™¤$HK›«±ùí8‹µ&ax{¹­~ŠP ” BFâËI³ÞüE5ßk9;?fÑâ/.æv…01†Ì®v.f2R ¸åtÒÊÅUÎÕœcMWc¢³Œ;$ó/ MBšCÍåPô¾ù)½}7Ö9eç ÎS6ˆ@kgþ!q(Ü8e#×&òBÄ>&J2bßYqJ>EA¼€SÓ¹mtÜ•bR8¨{¢³!kÝñŒôÌÊŽž|GLmc’NÜËÈ©ûÝM 7 ½Ì(X˜bk.¼ž3¸o¾>ŠŒ&ó±!B!eÉWÈW ³n‰PÿÐ^DØµŠ·S <"³Ê¨|ÊΊâõKtY{*œçáq:t&E²?ì›ï}¼ P=œ³º< þ´ØAcRÿ@ W·èHæ³5@üˆ–Ûb;R¬Cn>Øi™ïUªªÌ¡}?ùTG-EÆö7ŠË©ò°¨~O£Ñ쎜ÎïgJVºÓa g®ZìPN[ˆ»….‹Œ7ÄÝ»úæéöèt1É pŸïðg—“A{⪙èÿzœ!Se¡ òókƒ>l„î-È[Êc!åŠ![åaH§4ØxÍãúxy~¿?lGÊ»–”|3B̼.µwç Þà2P^ûNoàÈXjÊ•ãrC„a Çé1Ù¼~$Ù÷ïYv4XzI96£Œš7:q`‡¢úžL!âyDw”'¸þT€ÙJÁ!¡5`k}ùüÂûòsÜ8, {ñyöOíºß®?(· ibý+€À¡|)žG¼ŒCc¢ñ<‚QXI¶¢»úyU>¯n;áþßw®ÿ6ïŒÑÀ«ëd(fo»ŠŒ™Åmü ã_EB;š¿/ú¶¨Õض’V•’¶½û+¶”ÝÿzÝ3Ñ¡þ³L)»2¬K‰#¼x™ÌìÃ|&ð?†”v2|J„Å:£†v´Km—Ø·¿‡èF%óçÕNËû<û½ Ÿ h]Ï´£p²5¾~%·òÅx¢ýi«l…÷¢Âþ0öøí¾GðW†«+úí çeåGê~¤ÓÏØô4–Þ‹²ÏõCvá{ÅÂIá8Á¨wÚc=¢-aKQ$lù¡9µž¡ÔµEKÏ#w³ß×óQW4¾ÏëS’߉6ä-h4üN§}…ž5WB}1U‰ «¢Ÿ(lB¿ýÙaç)?Ôyý°_ŠñÈ!h/üØ”ò÷£P4&!*Ü¿ã}¹R¶…$XâþÞÿ›ûx}yì¦ýÞË«Õ?ü¼ÏÙÂçGº¡ ‡‹ýß¼ÿ7÷ÿs—ÞèRòªjãÂ9é_ìç'Ï]­w$8”Káyp} =WÎÿõäÃÖ9%ÉÍâ×V·B¼ºÔëŒOû?®R†ùû+¶*>aþ&bÛ ,¬Ü[ÜJq ü.É66J-¹>…}ë÷)x3²{3˜?Â/3¾É¤qV¾d¼ë*¿Î±ŽávÿrN.d€¦qÿ îßûPô^R\@ŽË|ë÷÷ü.Yé3`Ag«a6„ÿó˜;=UI2„l¶HßãøMub^këø}„î| “L½’gep ÁÏC¹1ǃŒse|¯¡µÌ¼° ÑKª¸°ˆñ|å¾×¹ ¼¬1Õ ÐÎs¡ß‰7ãu¸KîûÍx†JhHØÉû|Ðodç½#öyuü‰ ¿Òíw6>'}n†¤fØ—òÜμ¿“ÇñÎb¼’ïp½‡÷ùd¼ßC îûV|.ð=J~OV~ñ;o¸Æs÷×!àÜÝ:wÃ/ õÆúêíÕç.qÑeWžÃÝçꦟɾ>*fKãÑç\þxn}¿þE~½jý3èÜŠõï\OŽ VŽ“e¿Búý±4Vø_p ­·XÐÂÞ|òÚ Âe¬ãžVˆ‹ýMÜ­y=ÿgã:Tdõwü?¹þÉqÐ ®vòeÄUóHûíús'6ÿÞ|>/Ñ@Ào3Þ!Ý|¼ñý~ÚˆoN<¿ï$Ç;xo”©!þ¡[¯¸ýÐ|¹Ó/ãËé|¹¼â•¤¯}×çørù¸Ð+¾ÜoâË‹¸Æ¸þµÂnŽ‘O¥çÁ¹Yü|ñh©(#_Û¸>M¯7ýÖÉžsæÆúŸ…îZáñËøp(k “±þë%Þ¯ÉùUv> xx½›¾¬}‰«n¬¿ë%Ì·Ð’Ûñù®¯û[¸Æm 5ØÝïKcþ›³á\"=ò¹ÆsüΓ§Tö¬¯W\èý½þÜÏûœ³¿ãœ+¿äge3¿5¾_Hä;>Ž3}ë÷gÌkIX3cö1fqQÏ8ÎßšèÙuøÿû£¶ÆãÃL¬ øÌèð™I|§ù>ÞoŒ÷WU¼?T÷ÈŠ÷ãá>͸ÎÁÿ+ñ~Æ“¹Ÿcü“³ýØžŠ÷›žÃ|<¡™RqÄ7…7/ãÇ“xý|_8æªø†x=~‡øf9yŒCÀ­Kçnáxãh— LJhfbŸ&æ­ÕûºÐïwïkÅ;ÚדŸᣅ ®‡+¨“žxöï×—©ß‰¶- ¬W†ÝŒ»»V¾%œ`™Ü(Ì·óUdOƧwÆ‚êà~ÝôÏ¿ÀãÙš;T¯@¼ÉºâÉŸ2Ï]Æ9µòyâÕýš¿5×}¯È#aý Ök7­¡ŸŸ^}>®Æç‘ì÷;qŸe¿¿¸ÞÓÏc÷ι|ŽÀ©¾Ýÿø~ØÊ¦q±*|Á8špiMç®p5ÒÚ tÄ~G>lœ¨¨ž9nÅûà% ;þùû\g V´Ç•c4òÕÑïò~ Ì·CâwK>Gæª×úT—ûÖï“Ngá›Ä5ÂïWâ2X–ËÌÃy/[ðó ®3„?çAü¹*#¤…s%9;_¢ûΓu¾Éyù—~†ïÿ»ý öóîg0î³æÅ~†Bz¡ÑÔÌSÏÙ.œ¡èyˆmñÄ/‹u7œ¬suûýöŠè.âûYïÁd<4o´Œ7¶(ç-ºÆÆ(%[P®±Ð•÷|ê+ÆûOÏ]³ñëð9;hOãÑ“çôü/»þ‹qLU_CYÎ>?Ò‹ß.”;ñÁóxÅy iJ¾\H{pp†2ü|?à´ß®c|þZ×]ÔuÏû!œ&ÿ꺕ÏËuöh6ÜÊ/ñ~°Ïáʨêê¬O×·²êè§®Þa§õÏ[=«›õ®f\hì×ü‹]¢cš¶‘͉c܉;Ñ„³츟§õ@»ÝA úy蓚TU_+Ÿfènm ZýFп)ü¶~aF¤·ºïd–Ž¢uÏÌUëï%ãÑbœfÑŒ"[xÚØÎèLjKįž<ÿ7æuãŽßÙÜ—˜pûyâÕý^âÍSçÄëûŸñg¦ãMÜ_Ò—§-ßê硌ó~Ö‹pîû„¦xjÊ §©/8OÙì§R¿QØxO$»?&|?É/-ö7Ü¡¥ÎèdÈœOâúgÚHùÕn<§ C ÓR_Ökòãçq¤þz¯}Gv üÀb¾”§âý·:mÄç\ßê~F?Sl×þê§qNO¸TÒQ?ý(¯?Êâ|÷Tâ.É}´½º¯ö_áfÕñü:ýl¬ûNãnï}( ®ÖÜï8éšwd9q®êÜ-:w‡úhË(?ÚÎo;ãžj»1ÿmÙû›ëÝ÷lå>‡ ×ÿÊþÃï“Ý+ÊìSÇüÚ¬=ø;žº.Q ×ð?¿Åû#¿•ˆý~ÄûwðýÓ·™²ú8;íí:nçs Mû« Åðø¹÷µûuq®{V]±úœ(ìÛª·ð}0iDü1›ö}e<¸OãÇ}ú¯'ûõ‹ìƒë,\Ÿ}ntæ Íñ~ãý>œ[ß繓~y9ÏÝû‰Ç¿÷×ø}1?PÝôôh?dÎj>8…ã{ÕárQ¿Ïø$Ûýå¾a-Ñ3OÊe k‰–úLÊ5Óêh2nþAgºÎpGHÛ™”ãd\òh.†1úæI±žÉ–µAß MS‘)dé»cþª“"­‰û¥“=YÊÄ„R05‡‹³é18»•ÈéP?ÅÉ_®ûBã+hç°î‹ýg´v¡6Ñ ²o½4ÉÇ,Ö£‹ú…A—L¼bz伟‰Ä gN²/€£(3\ MŒ¬ S¿’fjiX«îwz5±N™cqŽWœTMS¾â¤}i¹G—¼Hˆ|ÃTvõ°Õ$áÎæd-↠Ø9tÉ ÐÉžÄeþU‡qgi¦å,ü{Þúûa­N=`Çù¸&yLÿv&ñ*ÅänöðVÔw×RþÕ'­-ÿÞ€]€Ç“» íý(#ý½¿É¤3¦|áëC(29gPÚC—F> Å8òß{zŸ<žÓ^Ð"löÜdÜ)]öd ?­]Øéù—s€FF>ã“Ágš#?Ñó_¢W£†ëÊÔЉ˜¼G“¤ ò`ÐÉòüC1»O‚Ƙ}X«“G³:¯f6‡>µ—Vº³þ‡ nDLS/‹µ!2A˜iÎüL¶Þrx4_Ù{ç0[¯bzjx•eÿÅ!Vsæ_¡W›„^²èÕ@±³´žáò™À®ñâÌljk ‡2ô´LÎæÖÌ„‘Ý£ó ÎpÙWJU>·•%Ù¢UÖ£´!–Æi%ŽIhx˜I“?møéTF˜ù( JÙÆßoíb„ …²%dd8 é”w]:fç)[Í”/ÁÃM³1”ŸÂÛJz/‹–ÂH!î n´ÆQ쇑:#ûæÈ] )ŒÔç6gõ´ øÃ¤¯x†{0F3\§ÖUÂ÷’MÒFÁa’1<©õeÙad»%/̷͜úB蛡Ùät9¬»ÎÒB‰‚jé9M}‰xY\w•GÅV=¥Šu_ªÐÝ øÿ>©ªÝ;TIU=6dWö@ŸÉúÉ0Íà""?]©Z ŠÚ©t©2åJùTz{‰<2U…œÛ{Z&ïgeOÑu²å’ì´4y×BÏùRÎÝ”’S±×|²¬_põ \'¡L(Ä gaK‰<ûói&¨‹Jbô{Áî.éFô^²Yô3• [B ¤Èðµè~°„ÊQÿ6麷qÐ@„Í£´±ÕlMþ4¶¬©V¨6N —Gù*—[f¢Ïç¿ñÙò\D­vXïE@ie¦²ŒlŒ=|¼›®þÑËø‹V’bv’GWÄUW÷ Ä ÿ,W?¤$õñAW?åê]}?éêMÞn²L™ªÈšVv³RUïÄõG‹&7·âˆtú( óóvx“ûkÉïhÑœ’b%or;j<¢T'?YÚ…#v·€J‰Jã^JW»-mX_jáƒø˜@rÿÂá¨R¢ÊøôÐn*Ú®Få±-þXµÒäíP„­Ð%=Ú3Y*®”$VR¤‘Âo+f‡ ^æåÖ´#N>\*Œ™©[…ñ)¤æ„æìs*RÀÊ’'·ž›¢†ËèÂ5Ù@’ ŸTq}VÙm¾Ó€V8y ¬ª†œL»êû;ÛÛwzó£k‹ÓAò£…Éhàٯ߯ÌΡ¹2þÑ¼Ø oOjù•4à߈ѭ$B…Îy`=Fé…Ý<(}µ3uk³õÍ3ë³ÂÃδÓo¿ÄŽl¬EÞí"òøÊ†F„Ó¶fLs±a°øúR^걋Ä7%3, [:}оßýUbM»Ð…'7z ê07!ñ€1ûáÆ/‚ž}õ¤>Gs[*\ÝM9•>íNÛ7Ò&åüVßK:+ Ö@ŠWßHš}´ìª,°µóV‡J«_¨÷t§ª»Yi²7™îûëo©ë]õPGÀAoªÂ³¿© çn¹ôëNZ"ÀÔ+L£šÕ™ã-ÍÛúb¤u(Y*ç+™ ¿»*«jxrÕ¶½¨Kâz¦mwhEB©ª±¾´…`¢ã2?µÖJ¯T¬’dÍ\'sBíjó%è¼™_‘Å4«êSHüí;m$h™à}c&™^s³– s· Há­LÛˆä( LÖ+ °=`=Љł+àqèXÈxBð~·wÉÂxÔ%Px_ÎK"Fxàɋӳܱ‰¢zØ ÿªOnü}˜9ÿn28žN³õ”a%üœ‚À0r:ܗ˸¿-ƒùÛ.­Ùî6½Òyþ>'5(  ¦º9D–oEÛ<^âJµh¨‡RÉO36zô©œÙ_L”?¿ûŸZåJuÈIý¼þ„·–ÐÛA%Ö^iYÿ+®nPê8Ÿ³äïʽy5ÿOÃ{ëï6ˆÉúÞ´x5ÿ¶>×ïÒwß~÷ÿúÿçÿøÿù‡|ý%jÿTÿ%Þ¬ˆiªâ®”¿e3Ò§È*ô=¸+.ÕÿÀ^ô÷ÐÙæ»ÂˆKý7ñ?ükð½·ßú¯þy>èßåê…ãU“Í´/ÿkÕzåX VµõF’XXî>8^§Ï²Ÿïʽyµþt ýÝÊ(ß›¯æßöçú]úîëïþï=JDœ ëƒCþåÿ,pe5Œ´Æó †Æˆ†ÖÿÂÕƒòçàõwe oòóÐ p¾K¶ß»y“Ÿ¿­Ïõ»ôÝ×ßýß}®TD#;ÆÏëÿÁ¼h¬½´E~Èx.ûX\{¾*ú|ð¥ÒwmáÞ¸ÚÿØýù."ϽayÏÌö|®ß¥ï¾þîÿÞseãkÉ™ÂÉÏÿ.%òHRQ_Ø<¢hཛL™ù)¸+ü=¸+.ÕÿÀñ¨ï%Lë®4pi?e_Ãï½þÖÿî£˜ì˜ úyý?(5ÄÇk2ATß:øGd‡sþOˆiý][ÕÞåüðlï‚üêÜ–_hüm}®ßÅï¾ýîÿæ+ZÈF™P ûyý?úÐH[âUøMòÿ_ÚÞ]i–çôû)Ž9²”¼$Ét5!™ãL¿ÁŽ¡P9ÿûSX$«Cž™ù>  ‰]õe’×QÂcT‘>“vœ+ cóÓÒRÒØÊ(¬Æ†ÄOknÙå—°»ßg¿keRMW>ô«˜ÜV! ÒCªÈó ðñ¥Ú îã(`T~” ö³NG}Ž 圲Òá6_Ï~Êy3˜TÉõ*X6A[¬þúל¼@è^Ä'²3måmµp0*>*E‰5Ö8„ê<*|TsÒz;Ö¸Ý×ó…3ø¨§‚œ›7±xE¸f‚ß%·žÒ½ŽÇfGuXb%al¿2¡‹Rb‘ÛšcCòÂY7»üv÷ûð©lä@*hôÙ5h™\ÁÉ\aU;tP“Ә@ {ǵ—±–./Ö0ÝØ‹´]›ÇæÜ¶Ó/cw¿ŸJ6Ñz·¶V`wZ'r4¹qU¨ìÝ×"O鵂a@8 ¹©•‚ûRá¸eÕ¨ïŽVsÊJo„Û}=ü)ãPÀ}Š“ÔL¶XÆ)!¾Nd 0o¾îÂ8Œí,•2VÒðb’¥© Ë@§Çî^LrnÙå—°»ß‡hg^ó]OÞ4\ :Ò¶ÊÖ>½£’\l f;ÂÞ‰•„±ùiiŽolGXÎcSâ§9·íòKØÝïÓ½-iÛ®‡ÑçWSPŸ‚rËŠ‡.Zî©8’:fûÛNÒ>c)ql~Z„_Œ;;ǦäðÜìòTØÝï³ßµ=/×'{§oDúu1³5ýÊŒ (y%öÎ,]a%Í¢¼ýˆÐ×Õ%5H î•]˜`Þ#6ß,áë®, ³ýF°ÒXI›Ÿ–¼‰E[Ž ‰ŸÖܲË/aw¿Ï~ʆúØzãÏé³)x BN[½y bO ô7ã²²Z8 Ý[C+PÍjþL=jõÖÐsòXÞ÷ãëáS¹˜0t-濞|±gvEĹè-$ýÁ§Yliûbš‡°”86?- ³A„e3[M‰ŸæÜ¶ËSaw¿Ï~ʵämLæÀ½ ¼oìQÚäîüg—‹)£ßÄYÀ¨ø¨`:nà]ªQ)ÄG5§¬ò¸_ŸJr¥€nBA!kÀ¾"NÚxÉ]ß'£tVCÂßUA…vÚ'c—ÂJÂØü´4¸ßJ,h*rlHü´æ–]~ »û}öSvDTkÝÏ«@Y@Goå¹§ƒZ ¾G«›”ÏT|WëxÔˆ³G++Pa®è<*ü 5'­ò¸_OŸJ䬀³­ë©”†ágU4%¹‘[ž1ØÞYù&¬¤êcJj. cÖþ±jlJü´ª)h·_ÄþøÿÖõ¿ ¶×ÿyÐú?ýóÿñ¿|76ýó¿þUÿúç¿ý…´ï'øâ´y”KØ??ýÿý?üõÏÿö5ÿóßþñŸÿùÿ9bÞÄdã•óøå/ .LiÅ™ÐTeEÉÛ ]Ä:w$Æ:giæ:g ò­Œý>‘)ç .Hü8·íò Ø_¿Ÿ(6ämÒgS -¿“¨ã.¦ƒ`J‚þöËkE?qã$`T|T Üæ‡º çaÎI«¼!n÷õð‰Ã¥X‹Ô0%˜˜‹9Ú@‚$|Ýß7IM›ªÐ ÖÆæ§¥A{&c/¤nzlJø´æ¶]~ûã÷ÙOIrVõOÿl ”)¤âÚ­üÅ>¶°x°MНߑiIœŒŠÀŒI×â/Ý£6?ž“VyCÜîëéîuGèS®uΔVÇ~qpÏÑÍÊLtJÜ•-ï a¼_VR†šSƛĖØyçØ¼W›]~ »û}øT¢I\}5o´©@NUgÆÞÞZùUôüô×:¸5$NFeø˜‹ßLÄu¤dkT Ú¨^¯•Þ·ûzzÖçÝW̵Ý4+â½óÖŒ—Åýæ¥%þ{°×qÂZÂØê{˜]Ÿ ²¨Ïúš›vûEì߇÷ƒiwÝ/ +@™Ï„h$h|Oo¢&p¿.æ‡@jžedJÝoŸÔ*ÄXĺ=tõWè‰i•Kþ8|^½ qÏÜ—Yõáû=ÕÀ 1~ïW+É!л¼vÕ+izw–Û{s‰ÐØ”ü·sÛ.¿„Ýý>Éu2N ³Ôg× £¡:9= ù"WJŒ›¡–%í3t€•42`j ªÓ‹[ŽÝ½ çܲË/aw¿OWT DôÇG i¸ÆSTÆ)°à&±§äˬx-Ê> 3R‰•ı}™ RVŒåzè±)ñwåܶËSbü>ü]#I¡i椙$(-£÷‘t5ÿ[n?}¼‚² ­‰•„±ùiiØWêÊ«± †ÐØ”øiÎm»üv÷ûôý[œtwòèmô+‰´ïË<ž¤m´X=$ýQdvnvÜ'VÆvô0[±9öØ57Ïž[vù%ìî÷é%%ßtß/uu]RJsó0±‚‰RþHè}œë¡¿a´HO t܉µÔ|Ÿ$_'”9vÉ«Ï-»ü"öÇïózl¦[ËçÕø¿DÜŠ7ü["êI-ÿ­]W”¶3åÊXI-ŸWk,šX0DæØ%ŸWÏ-»üv÷û0ÖÊ?{–Ó|6±Å¦bw·³Y! *Êîq²ÞÎ$œŒŠJqÈ)ó¨ðQÍI«¼!n÷õoÜX²£Á½ÝX>ັd'¡©E2¥¼±ÜìÃ}íg%Œ7–ê‡Ü_,ˆrlHyc¹Ùå—°»ß‡èª×X¨*ãæ©aÒelà˜6$½7šªIÂct#~ŸvÄï+éöeNjÐ;<±äZðØ-·`ž[vù%ìî÷yª.ÙëU6 zEÄ/јL´&²;%/{s³?¼¬VÆvb4ÈþOl‰SŽ]|̹e—_Âî~Ÿ.©¸ÊïgêšË¶ÓÒEÒ»BÊI\öÐ2íZ`…•„±`Vjˆ¢»½Ëµæ–]~ »û}þêLœØ§Üùê-ÜÔâ…GæóÁØgÇyB’¯/ûfxb)ql¿¨¡Á~ÐØØõÌ›’_½×f—§Âî~Ÿf<ÈÜ(Èü욉»ÐÚÖØâÆ^¼#{]’Óçæfo(ì3VÆæ§¥aÆ¡±¨‚˱!9¡½vûEìß§Ï+™c¯•Qkn5Y!_.æT±O)%?S}½öé-¥¶©Úºõ7åR[»Ú”#ǦäƒPÌm»üv÷ûpIíYÔ­ìY® gݦý¾!×`}qöìšd¥ u‘L‘8 %³¬@¦“p™µdJ‚æ”Uî·ûzþSÆ;|4ïðSƒ®eø:ã·1¾î”ò§Üì\mŒ•Ô¼ÃO *ȋʉ»x‡ŸsË.¿„Ýý>=¥’Ÿ}s?»†Lõ…õTe’Â3HræH­¯ýf,AXI·o1Sƒj®Ä6ž;5vói?ç–ýò™ØÝïóhRã>tŽŒ&5îU#¥ª³ÙUëL©º°ìQr„`nv²a k©¾áii@ÔžØ 6}ùV?ç¦Ý~ûã÷é«·ñÁWüÙ5ì0ÜXm[PîíBFJ<ŸŒü+¸ŽµÚ‹•„±®¥_*ÈeÅM{Ž]}'œsË.¿„Ýý>}^AJZ‚ÊÒ[%iО3³ÊÁõOÉ“’·Àe³³`ÇXIÛO74xlxl=6¥ü+ØìòKØÝïÓ-p#ÍCË­’5\ºn–óT”1Ʀµ§äMí¨¯]ìµÂJj¹Uº“Ý6¶;Æ¢Š+Ç.¹UòܲË/aw¿ÿÆïZ¸ÙªïïZ¸áªøn—éÈø¹IÙBÉ¿ëµ^;[¡+)³SSÓ˜º)luÚ§rÈ«ðܲg ·ú/~æÕfèY»‡™Ñéï`6RQ"ªl6³å­Ã$aƒ¬“+ÄIÞ7XÒhã@âQ»¯*<'­ò†¸Ý×ÓWïCʵú’¤A0¬·sƒã l)ùë¾7;É}•´ý8ÒÞM Ë[VýÞÂznÚí±?~>¢ƒ=¹«z=md5ÇÚ½HÁ‰sƒd•”ð±iVÚ¹d+i9ý95¸Ò5¶‚þÛcSâ§9·íòKØÝïó€~T¶ŒÅ~˜¯fâKo;Ògaérh%åvf¾vtgI,%Žth¦K‹;@á±)y¹ëµËSaw¿OO©<õ–ž½›ÅkåÂÁ¤’ʽ\++Tœå[öŒµTòìc jpŒ½Pƒã±)qìé²&Øå—°»ßç§T]¥]5O©¡! JWŸVx ˆ? I>w–ñÚ”:K‰c{óSXö½jb+zylJ&ž¯]ž »û}~QStòêyQS˜¿šKw+Ó ;¼Jâ/•yò°/×»\&4z^ëÜLí=±qú96%o˜Ëf§_Æî~Ÿ&ÙÜ3Ìá­Rj@÷ÑÈ´TÈÉØžÅZŸågª‘(K¤ÅVcS¹U²†)Æ‚Í4ÇîÞ*åܲË/aw¿O·Àà—ÞÃM,/ަ'•…J[ªoa R›d'[qQ!úÐ<Ž·¥f¹¸Uד…[ÒÅAЇv{Jì߇¿kcbºÉ7 ÂW­1½!ô܆–„ï¾#óÕöβ°–2€mM­¹m§_Âþø}ø»Î›ù²‹½7ÍãâœÞQ21‚A.%|÷sñÅ!;ø++ cóÓÒ •ÃØvs!ãØ”øiÎm»üv÷ûðw­×Ï+ŽJŸ]SÂûÖpùU@ÁÒHC‰ß=;ÒŽjôÄJº2YWš¤±4³›?͹e—_Âþø}ú»‚'þ$ônJ º®GÉad­54¨ˆo³¤äï¾mvÔ%$VÒô»)5lèg,RÉsìÛ列[vù%ìî÷áïz/\g’ ë³kÐè¥Ý`{ŠâÅH›úîÌÐlx/Ñ¢¡ùýÚÑ}ÄXKÝ{‰Ô ùWb•‡¬±ßtOÏM»ý"öÇïÃßu1ÐÈÀŸ]ƒ4àhúÛ‚hY£– )Ể½×þ ßÝXK›Ÿ–lቅ2Ç.YYê¹e—_Äþø}ø»Æ#$Ê­KÍb^L7°s‚¼<%|÷ú"§WàÆJšÎ°KÍ`ó(aÕFPcߎ¼æÜ·Éþ{}±»ß§æ(„Ž”ÇªkP℞ÂLö“KCq´$_÷ÍÎÖ5ÆJº¼£´æB‚’±×bЈcSâ§/Sé‡]~ ûã÷iz(ÎFäúÿl d%4žª¢ <²õqè¢À§g2[q\3ŽBužÈÏ2nzÔü><§¬ôF¸Í×ÓG»Õ¹ Ú*Yƒ« ²°·í®‚ÊB Z#ĩӎô“ÄJÂØü´4H4J,B,96$~ZsË.¿„Ýý><Ú\`ÞF5ÖL¤a^ˆüàßR𱸠£ÄMíŒeÚA]”XIÃשÁcbqç˜c7/©9·ìòKØÝïÓßõbøð1.5ìW¾Š+ì"_h5¾ V汉^ÚoWØ+iäCg ØÇ‹¼”ûÍ€ñܲË/aw¿Ï·ÀänQj¡ÒúbPðPD¦u ñ“%S­ƒKÖŽkmá(pTï”CºBáè4*o|¿sÚJ÷ˆÛ}=Ý–¬,ñµX± ‰ðUZLìWZJÜÁ€á2í N¬¤•%¾Ö þkìŦé›ÒíÓÊxíòKØÝïÓÝQE€šp¾ REtïŠèel;oP«PàîWl¹ŠqzÖIxŒq•Û/ŽZs]Öœ²Òá6_Ê0v F¢KýÓ²¼˜´®’¸ÅA6|Ú…•”µ>©açWc±¹Ë±só—sË.¿„Ýý>}*Á ÍúÊϦaxü);nAæí +Ð]°uܘL$Ï´Ž‡ž_…3Þ¶âb…;R ½–q Û=Ú2Ú 9e¥7Âm¾žý”Hy^ ¨ñ‚)5,j`‚jIÐ)ñ• gÒŽÍsb%Ý®ŒIM''”°ÍœP»ùë˹e—_Âî~Ÿn{À±±²ÄÒŠÅ@ j½×Ã8 jËW–XÆ¡¯¥u€yF8 YbiÅÍG8QzÔ,±ôœ²Òâv_OS&k†IxRƒY"Ñeb ƉDÃ6-ñî lÈ20ÖR^þ§ævŰÌÛôØ=©O<·ìò‹Ø¿O×J°´NÞäW¦æjšÞ)…±"SÀ—^@ènkG ©p0*?J› ‡6š?Ê9i•7j"¾ùzºV¢T(^ÍN͆­êtCŒpFsÐCKòê×7ûƒ`ޱ’Z&b[S‘úflA²›Ç.™ˆí¹e—_Âî~Ÿ¾`o0­¨ÞÑÀøQÌk+}nsøtÁœH;+¨¹øìQGT?Ñ ê.¼L•¬ðˆEíyíZô„µ”©¹ÈpFìõ0“™cSâƒÌ¹m—_Äþø}ÊÐÈVzeѾ5á3¶GÀ"ùM$á‹'IÚ™øh¬¤ËEûÖ0›Ì؉–(›?͹m§_Æî~Ÿ†h; Ð{^ZƒˆYÜ çÚä}ø%ữ¼¶·ÂÆJêyj ÛS‹v9vÍ´ç–]~ »û}þœÆo#?»¤lñÀ,f‘׎‡ëJÉÏ^}í$í2ÖRñµ 5¼í4¶LÔcSòú6;ý2v÷ût)EY|ìcª‚AÖ,gø_.5ýŸ—;”ãÛ>P©o¬%Œí…šÁêaï¬Héõk³Ë/aw¿O¯@ó&g]º•„Ê-²À±ú¡q†$|÷‘ët¿vV…;Ì|ì'PšïF*þ\…LôšcSâ§9·íº7v÷û4^‹øo81•Šb èv#r×àpA•’¯³úfGžHb% Ÿ¹Rƒ<õÄvþ“4v^cäܲË/aw¿O#Cì‹5ºë£SŠå¸k ÖAÚ§¦¼øáúh¤”׎ótb%u×G§¦1,lelXc×ÜM{nÙå—°»ß§¿+–Â^ÀòÙ4õâ ÎÎT’e_)ù»kJÛµ!–Ry­­'ˆ±ß·¶n[®f‰ŸæÜ¶ËSaw¿×É´5þ˜T±ÇÅ?ǸŸèø! ß=S(Ò>q26VÒ» ²4ȉ rŽÝþ˜sË.¿„Ýý>¯.äb¹}*²\[X+æ1'ÙðèÅÞ¼ÊÎAWc-½q_kH2i,i%=ö÷õܲË/bü>=6¬xì÷õÙ5ˆÝP·F F)FÒÜ—³`*s‰óezJn¯}"CÏXIÛ»gh˜ä'lÄXVŽMévæu³ËSaw¿O×Wv+—S³SSpH‰ߎñKU´”Ä5·ê¶£-_b%]NͶæFƧ±72>=6%¯Æ£¼vúeìî÷é{x!å¯W¤±ÆxéÄ)-R>.,Ý3%'—<õµW²@k©ø›IÍ…'PX¶öØ”¼ß©I¿ˆýñût}E·ž?»IÏqÛléK»²ÍwuÀEgíøyµ4ÝÕ!5膓Xt¬Ï±osðæÜ´Û/bü>}^+ù;·ç•švñüÚ¯Ú˜”û]ºŸ”þèé.›-~K©¾Ï«5ù̶êyäØu{^9·íòTØÝïÓõ©bYw@ÂvIý‘ËĤ¡H_L‰gLp.Û¾ s°ˆµ4r5¶ææiWXÄŠrì7å¹e—_Äþø}º¾b=4ÙËœÒ,ÒõcõTYÐõ/v6}².ÍÉmoØŠki¾uiÒÜlÑ'lgC>Ý}ÑœsË.¿„Ýý>}^ÑßJ•ÊŸ]ƒJæÖÀ ¡*çHÎ)ýÑîymö<ûÎùJå}¥¹˜÷H,ëž=6%~šsÛ.¿„Ýý>Mfxâ6]´o²†oÖh'HÊìˆD§ùeÉ{Öº^{çŠ(¬¤šû&k ö>Æêͪ±¯Ü7ynÚí±?~þ®<…qK¤°wjn.¸q‰ TôsW¥$nÆ„hÿnú¯™XKÙq&5ÈWH,×fý®Ýž[vù%ìî÷éúª®ªÈùìšÊo›ÍÉKã/¡V-Y¬Ödjžì+ë+•d±’æz|¾Ô%½çØ”üW€®Ñ²Ó/cw¿OãM¤V¨·yèSƒþŠg¦¢Â#âE#%îYÑB3í`·5ÖRFÌSÓc3›Xıs쌘çÜ´Û/bü>ý]ÓÛ&›âm6ãÄY£Ü»ôË’÷6#5±÷¹Wb-½5åÖ€® ±¨ôαߚrÏ-»üv÷ûœ‡>Î-[œ¤†å†N•e)bÜó¥þtöäL»’r…•T_fyiÀ‡X"äØÙë$ç†&ýö×ïÓõµ±Ïz‰ñ³kPRØ>žÇ˜6¢a)y ,›Ûtc%•·ÕŽ4( 06’rGŽMé"Õs³·ìßÿÅïÓõÔ`w8Iš›…)$Ã[ƒ…)7_:™µQ¢»¼vR©+)³VSƒ2áÄ¢08ÇÎ> 9·ìòKØÝïóû¹(rn8™|v Ò(Àïtá®zñ~îIÉ7n%5‘vk$±)U'÷¤¦0MX\q娗ó{rnÙå—°»ß§÷9`ÿ/÷ ³‚ÅK Ùû7ëš6ç÷[ö´°w·Ûzã(\ÎÔ’¢?d®çž=(5*~sÚ oŒÛ|==Ú¨§¿ÕÄÒ0 2°ME- /Û®”\¨h˜m{C¾¸°–zV[S™%*la–¨Æ.o5±æ¦Ý~ûã÷y¨± £Œ õëø—á_,Bƒ‘è'%‡ âèh;;µ+i¾ÁiPW’XRÓ{ìžyž[vù%ìî÷ù‘!ßêÄ–Ôt976¨ à÷¤|]–|d­×kŸÎ_P´Úl˜òÕ\”&öBØÑc_–ôܲW§Ýý>}DÙDýæ2KÍÛi¤£¬MH¸~Pò5Úkg'!c% s™¥iF‰íHÝõØ=3{=·ìòKØÝïÓW/è›ãnWÛ‡Ô°QðÃòÖ8p3=a¤ä×ãÚì¼D5VR6¦IM ‰±èÁ”c7ÏsnÙå—°»ß§!á‹­–j^áXÃ#ÄL£àéÜÔö”þ(€<6{Ç~ÐXI5¯p¬A+ÃÄ^ òjìËñ9·ìòKØÝïÃD´¢"ç|7¥†ì|JþˆsÔà%Uj‰O R:£Ìˆ¼F5%>w¨2L;ÒP+©š‹15…LHÂ"5)ǾÌŘsË.¿„Ýý>ìiø€fkf/`+Ø·PrEˆ–´. |˜PüNE†~OÐÄYÈ.ÀV \‡&U5[{NYé p?¾žç¸ø¼3Ç0­Fž ÑFî*\¡JrŽ QÚ‚ùÆZ*Žž¦†¬ÜÂ.²rklJÎqéóµ|(ïñûôÅ:ùÊǧâ¹X€5ã; * n ÞÀÌ–Ö'Há(pÔ?:MÔ®©a¢\M5w—ÀsÊ*÷ˆÛ}=MâF_4ÄÊ5“”C¬ú‹®(à:GÕŸ$0'Î!¶£·Db) 6¥f‘ Ø!ÂLŽ=2Øä¹m—§Âî~Ÿ——6V亃¬5…­o&¬"¨qªžC<ÌÆ·}±Ë‹°’®ì +Í ¦±‘µ=rlJü4ç¶~»ûýïßš©å•ï÷‹þwhÍ´Pv¯"ñ¤`לUÕKx4l‡¿Ð|€¸GZou6ŽÂíwº‰kl´ÈQ[’¦hNYéMwƒÆôõô‰B‰ºX=QÒ «ôË ƒª7ëJ‰õ,t°}²èZXIÝáäÔ´øOb+K*4v}K.4·ìòKØÝïÓ¾u`Õ‹\³¬i  *ˆøËmèÉ4wJø«'ÿ_ÚÙTÐXJ›Ÿ–[ÆVP`{lJü4ç¶]ž »û}H8ÝûKyØVT­ì84­ì-…ðe],Ò…bÖïg!3°­¸âGÂÇK£JˆrN[å p?¾ž3:F«Î¨ z™:¡él._A¼c+klJø´æ–]~ ûã÷ßhùòýS?·ëmùš÷pÉ$*æcD ‘ølç#h¬¤nšáÔ47Ì–ýÐp`µÅçUD¯ö+ö¾ÈG½Å"±â[Øñ(}ŠÔŠÂIx«:¬@αp±Ÿh•žfÎ)«ÜîÇ×ó­hTX´f’©Ô Øë}T•5;c/p§ä­¨’G:ã\H,v9 ÅýЬAÎtbI£ê±Ë»qÕܲË/aw¿ß¶(Ž RA%ÏX2°‰²šX·&˜në²€÷â`«fZq0NÂòdÅŒëₚðûGÉQ%ࣘÓVyCÜîëé¹@)<ºÈSs#Ìð=°ñà}÷@ ‹$|Ýi.iGª³±–ºÈSÃìoc :‰xìòvÑÜ´Û/bü>lO‰îGq‰£‹)„OæåjŽ LÄ%…?üÕÛkEƯq8ª~(p€ŽM4êÊ:iÍI…ÝîÇ×óü‚‡‹›;j[³ŠÌ•öä.;%g Ô͎ܦÄJ/£4è;™XäM娙W•sC“~ÝŒ~î~ÿû;C7Z³ýÿ@ìj»2*ššÊfe¸ô‰Õå¾m½RâZÄNµ²ßˆßk)£¢©¹ð‚v>ä˜æØ”86ç¶]~ »û}ØZò&þϦ˜±=xðnŽ•å»~>“ä‰~o‚i}¼"õ–B¾d¬À¤q]Ý+g ø¨æ¤UÞ·ûz=C$(Z vWœPà LÅ /0Qç‘’ƒÐu³ƒƒ-±”JÖÎ¥m-Ó-m¯”øiÎm»<v÷û¼2a2ηÞÊ]š{".kaü ’xÁÏÔ!Ù'S‡„µT3ÇÕö3ö2Óç“’/Eæf—_Äþøý?z{üàÿ÷o¨,*µ ìÿþíñ?xuý/ßAöàhŸ]3ÜNª³k´ZMn‰7v7#‹Ó­ªƒVR6€NMwE’”þ¼c'ÏxÎ-»üv÷ûôža²Gáãm²5Ùà -®¤<æ¥ÀJÉWj@§|k‰cóÓÒ “ÜØ6Ù½Râç¶]žûë÷y‡9|·5ï­i¸Û»«‰x¡}J¼ Qí :L¬¤š÷‚ÖóÒØ‹ýè4ö•÷‚ž[vù%ìî÷߸lH&47—5,ŽÌ£`>îî.Ky/x½v4“O¬¤+ÏûÒÔ‡¼GIJg…Ç~[ZxnÛé—±»ß§ñR\èÅïRô7l â‚ê%’ Y?Î'%ß)”Íþ (f¬¤n:ÁÔ þ'±¨ÿɱ‹‹vsnÙå—°»ß§Ù6$Ê„%tYƒÆE¤-ȸ¬””¨f’ì:° k©%q“5_Æ¢qQŽ]2éÙsË.¿„Ýý>}^+ÿIï{­‰²k¶Á?¢°²ìF\ˆ’ŸÀ¶Ù'¢¹ÆRâØ¾öƒacÈ<6%~šsÛ.O…ÝýþœÑIwׯ]°.WrFw¦érF”ðÝÇm³WÔû +‰cóÓÒ0"'l¬P-ǦÄlÎ-»=%öÇïóB=|·— tRSÐõ7þÎ.l'šRÈSb¦SAÜÞöŠóŒ°–®7/Ššï&WœÒS‰WŽM ŸÖܲË/aü>Ͷ)®çuÖ£5hU+bd2Eb7ùR{J\1»¹ý+|Çýb%e·k*ÈeŒ­“k3ǦäÕ¸®×N¿ŒÝý>ïÉÐxïk¾Dk˜®Fñm‚v#*Œî”ðÝwfHÛÎ ia-]Nĵf1JØAÆ(M ŸÖܲË/aü>gf+Ìf1ÑŒ5$‹é âFËjÒ“´”ðÝ÷é>Z°/RS +é%𑦓,FØN"Ý_¢Ím;ý2v÷û4;îBùù¼œ¬‘šÂ¶¸…ç°‹bš’÷¬xeG¦_b%eÀΚñ°ñ ±Ôô›?͹m§_Æî~Ÿp:{e4¯9©ÁUhûaÕ÷n±IM‰+&©ÿl_.'VRËËhk˜£n,“Ô=vq6CÎ-{ß»züø}9(ˆn);9VÔˆ]>HºìlûàWèoçÜ(Œ|­7Èó„“PLoΗÂÅêñ¨ðQÎ)«¼!n÷õtI}Øð¢æ%–5ËÞ…ãÇÀ½ˆóRò"©½É}¾z{ÛÜ×Ó›ZkpS‘Ø w4ûr«¶œ›vûEìß§(nÃÀœ¥-°5`,UsG5?ˆ#çH‰;,ÙŽ7Gb%]¾Ø±æû;Õ+±×bÃOŽMÉÇá¾Ùé—±»ß§KêಅB²Ï®)Q\àPˆg\Y¨»%.{(ȶ–Œµ”½;­)®4„-(TóØ”86ç¶~»û}º¤Þ¤F)²†„&¬ü0õIS‘x«ž©yeG¶Bb%•ŒYÃÞ/Âv{ÑØ”øiÎm»üv÷ûôÈʲ¾»¹ópjرe¢eÎÕ¬„ï)9«m¼v‘ó k©åךŠeÑXÂæØI›sË.¿„Ýý>}^ 뇖¹ûSóð)©()bˆXkJ^$ûf¿Yã$¬¤l˜‘DšŒ]7ÃS›Ò»®Í.¿„Ýý>¿tžä·tAkðKÅÅo0–In]´¦”äkä²ÙÑ¡5±’z¶´¦‘m÷vÕâ\ïØÕ ernÙ‹+"çø¿—ÔD$F]¬@=®èÙ ÚE”¼ZÀâþl[êè„“Ðs”¢áJZ¸Š"µú·÷œU}Kà q»¯çt2A´Õ_ú'kHáTIåÓIïTy3Ð_ú§Ê‹Ûy§`¬¤—þÉR8Kz'ýÒ?ynÙå—°»ßç»^Ðc—ö§†Ñ6-æb‡ã”üˆÖÍÎF(ÆJ*.íO ¤Æ~Wµ™¼Rò®wmvù%ìî÷é#ŠÖ¨Ñè~D¥aJ_GÁ+øˆFJ¾/[¯=¸fb-ÇNRŠ3c/ðó{lJ›sÛ.¿„Ýý>\R;#íl>»†uõ]ñlÍ‚qc¥Äs'éðl'qž±’Þæ9ÖdSØA’M=Þæ9šÛvù%ìî÷éóÚ‰†ÁÊ”µ†õLú`Ci|JRò357;øú+iæU›5WƲàÅcßyÕæ¹e—_Âî~Ÿ×æ·çs'ý“5ƒN¸ÌkêÊø(aìíÚø`ãšv48I¬¤û¥’FiÂ*C!Ù²’OsË.¿„Ýý>=¥Þ‘Þ_˜„úÙ5 &€Û F#¼eÚ)ñ$‰2ni:K¼…M©½YëÒ0ÑX$÷䨙ü“sË.¿„Ýý>}^y eÁZj0ìö΃*ºLÆ6Rò¸6ûd÷%a%eÍZjP|fìņêûz®knÛå—°»ß§[`R0ìV›^M6 ^M–zRòÍJÛì7ž0c%e·Zkn2… {“)TcßÙ­ÖsÛN¿ŒÝý>¯¹Œ Ÿg9Z˜”Æ!ófÚèžRD•ˆQUõ¤&ê¯p3@¬¥,ÛO ~aë 5v{Ë5wÚå±?~ŸÒ-psøÙ5ÜŸ|=ÐÑ&Øêå+ˆÇoÖBr<Ù+‰ó´·‘”÷”©a:c+‰k/_Q sÇknÚí±?~Ÿ>¯,›o#ûsX3yyŒ[¢HjŠkÁèÝ,ñ™B§-ÛoÆð„µôv§²¯ÜÄ"ªcgîpÎ-»üv÷û´Õ ¿Û1|´I ÙÚÉۑpdfdgïÆêü´ß|º…•ôþXs#pa,~›ûý+ðܲË/aw¿OoYñÊÄ퇫R¤A lå 6neêƒjOÉÇʱÙkn„•t™hÚš¸y)‰“dŽMévæõµË/aü>ÌŠX8çÕ‡ M¥è¸Å]8-.¾¢wøŒx¯u œp0*?JʤC™´G-Ž·zNYép›¯§èdúêJkȘì&ê~ᡪÒºžšŠôžXKËE7©™`!=¿»Ç–ÄGs§]~ûã÷yFf4L@“»Ï¦@§“ø'D£ìò¢ÚeZàÆ§¢Iƒ¬ í„£ÐýûX žqè}êQ³5ªç„ÂÞ÷ãëéS9ÀOCæÏ¦)[ÑO´u#¹he™}iL++ñm/,EVÒÆsP²T±Ü‰½pªöØWžß=·íò”Ø¿OSÞ/ädG!Œ²:­Á«åÖdŠ’!6ð‘äß(.¶óRÆXIÅe:©¹À°-ìÄbé±)ñÓœÛvù%ìî÷ià—ê½:­35 òˆà,Ú³³­JãcD‰3Ù;Aa-eíEj ú…½&®)9¨|Í×.¿ŠCЯߧ¿+*zÖ|+¨XÜ@WuCêlžú}™¯¬`C9Á“Vœ%£0ß*Ø¥@¸1EzgÈQsÊJo„Û|=¥-`ß³gæFךÅÍ*[¡=7²JjyÞîíj؇ßÀ¿s£+ (ÛvòØÝoòœ[vù%ìî÷éÛ¤Rì=ðyqþeäÁ9»_oŽ×Š$bã pTŸ1oôÀÒÉy ¢§JÅœ¶Ò=á6_OÏ,XãÄKÿÙ5de;FÜ&¢¤Ä¯»1»Dv´‚L¬¤é7Pj.XÔu䨷#M97íö‹Ø¿O3ÍPH>—»F[ñp›‡Âò…0œÊî(ðKÇ:ak‡E8 +™÷¤@ƒá"cðñ¨xeƒ9e•7Äí¾žþ”¬}ÕG²Ô4Rëˆ|"5.¾Ü–’” `–Íc…µ””2©nbAô’c'¥LÎM»ý"öÇïÓí,®kz6±½CêO{G[‘Ê¥ž]GêƒÆò¶¢ï¸p²åˆ¨š7Uó5ûxNZå q»¯#ïhbã‘58k ÷‡×•ÌÆwJ™w´Ùk줵TÞ5×Ã(±×bHeÚ+#Dš[vù%ìß§/Xì3çc®V)ÖÅ24"+ŸoÍﻟ‚sSZI+zû£:1%‹oMàæt\±ÀbN[éžp›¯çk%Ò*‡›—¦ /â9z˜¶56™³’¼V¶ÍŽ÷ÄJyT³Ä”‰íñ§—c÷üóöܲË/aw¿Ïä¨þlŠæ³ì÷ͶH"ÕÝ|{]Ó,w·qêKXI‹¿ˆ›—©Ë‚o¹×k¥7Äí¾ž§¤4Õ°½))"I鼋ÖÕb©(ƒ•§/‹Ep›mvÜ %VR/Ä¥ÁÕfbqë™c×ýB¼mvù%ìî÷ihâ >MØaÓ@ÆÂÙY ãQÉq3­~‰ã‘¬,ONÂLæg)FäÚw³$æQârdi)F+½!n÷õôj…ùá,úìäcÅ…ÇÃTÎF"Ã’¯?ñdWxFØÇÅS¦)•†%HÆFâæ“cSâ§9·íôËØÝïõr¢ }\ŽèY¯$ó¯æ3র€?«‰‚w[G¬ ÆQ¸Ë“â~â…»W2^XàG1§­ðƸÍ×ÓÜkeSo{Rƒ-THt¾2¶ˆ)áë^¼³´½“JKXI#+f¬¥GbAé‘c÷¬˜ñܲË/aw¿Ï›Avt¨vo9)z<ç1Í÷h,Ê×:ÍvmÓVÐ,G¡¾}©($o î2½Ð°ÀrÎËÔD½%nóõô©Ä";Ðå OiÀƒææéjœèY\‡%†g*C²7ÞäÛ|'”4]Ò4VŒ­±—ȱëKÓ¥¹+9áåWc¿ôÝïól¼:J’ŒYS/szÅ]j-¬¢B^„$¾9/ÜãÊ> ÛR^¾T›—Çö+y² ´÷ÄÒhì’$cžÛvyJìß§e/ ´ÕLz$nÅÛàÎMÆÑ¹\£U-í-ÿÚÇ+µLº·I_‰EšWŽ]2éÞsÓn¿ˆýñû¼º7vÙqÝÔ²ºšŽJ‘ý?qեʀž©FÚXÙ;³ø„•Ô²;Ž5,¦0–Å»¼½ê4·ìòKØÝïÓçµð8ß]ÉœlF¡ ž"°‘²7%'ŒÍ~ãÛ6VRÏ. ÖðPc,5;/grnÙå—°»ßç‰'“7â.°·‘ü1x¿®Þ_+%§’\›}1FØå왤ù˜Æ2WÓc¿¹œž[vù%ìî÷éñýu"Ôz»ìEÔþvã‰:©piJ§FrˆíHŒN¬¤î|äÔ0CÆØÆ»:9ç–]~ »û}þV7÷ëÎ÷ðÃD€8Ѝ¢f\¤–¼üIæIVóØÎJa-- ¤f0ö.Òç!MÉïáõÚí±?~Ÿ^­à€X£n­™ñ~‰+ŒªÛ¨‚ËŽž×@¦²ÙþÃTXIÃï¦Ô _3±ÈṈ̃»ßM9·ìòKØÝïÓ÷pçªöÄ.ä³i*÷*™B`Q(xÍ”|r|6; c)ql~ZšÅ¿bƒEáα)9MåÞìòTØÝïszè‹§ßÇM´³+lN§M™b¢\J\1'Žj¶³±”86?- ÎcÆÎI2éáVjÓdÒœÛvy*ìî÷i ë"¡Pû&k&;a³]ÚàkäÆ×(‰ÏÔåtð¬¦ki¸Ú 5|±Ûð´MLŒ•Tr÷,MSm±Mµ]›’¯fËf§_Æî~Ÿ>¯¬ç¸[Ò¬XÓI•Â꨷ÄcÉqÄ+5H{Ÿ‰µÔ’fŲü{‘fEc_Ylã¹e—_Äþø}N#ï]¦i‘ªwšq;ze‹¨`/ ²”þè´»6{¶ŸVR±§æŠ„±Å{&»ç¶]~ »û}z-ŽG+貯§4ôCćDâÅÓÈGrgdðé$^‘ýF°ÔXIYΓšÊÞœÂöíÔØ¹Oɹe—_Âî~ŸÆ‡;‚ëM°·FIò7v3K ôl£´Þû)iÇ%pb%m öÒ0IÞØîâë•?­¹e—_Âî~Ÿ¾‡ ÀÜæ¨H ª=óÍËât¿u§ÓrãÍÚ6û`ÔVXI·3sSÃçÆ²k¢Çny*òܲË/aw¿O÷Ã÷³Ì¾ûìdà…ô¨ðdàš:&¢”—Úëµ’ý +é~ËS¥lbÑe;Çnoyªæ–]~ »ûý7jýW4Î,®s‚âV*Nÿì …büû¯½ Õð;×øï«E8 =¹V­˜¼.J@†G¥à³Pd¹ËJ÷„Û|=¯Y‹•¾=f¤³¦³9ÝwŒ}A·é¥)qÙ#û´íÓù¸ÀRâØü´4,Åö{üŽ¿@MÉ ðµÙåétÛë÷)Ò…ê“”ÇÒ4p3Ç?â!Ó bÓàÇ–„/¾w2MÉ~ûõyÝ)ql~Z´—6¶²­‡Æ¦ÄOsnÛå©°»ßçÌe“œûy{.M1Wôd/ðX_hg÷äQ+®YÊfoLÕ%ÖÒ•·çÒ¨•°‘Ýü䨔x{ιe—_Âþø}ZŽˆÊ½Ï®¹I€ûŠÊL½¨Ò:§7°³í›ílûf¬¥LL ë$– …»:|•sË.¿„Ýý>¤mxX¡P\:l²££Ù!Jðò+WaÌ=_Žåû±{³ãN0±’²â"5¤V$6îÄ#.Ʊ%ñÓYÐÙ%Lnúãô)Ó<süñ˜i^lG‚ÿýâf$¾dŽIÂ÷>ØÄvv7VRæ¸X³Xº)ìB0ÛcSâ§9·ìòKØ¿OßÁhYqÚÛÇi² B´Æ x‘­UKÜÊ d9íx3kéòFÚòèØ‚OM‰ï`Î-»üöÇïÓßí§"ŸQ©.©A 2âÄ_0£•Ñ,§¥Ä§ïÆ_°í¸9J¬¤á djØ÷ÃØÞ'ݽ̹e—_Âî~öõxâÄ_2A¬@•ó÷/$x‘+  £” …ðåû—º^+ÅÑRð:9Ó£RÀG9'ò†¸_O_»è67º‰KÍ4ù†‚hQ¶ÔñÒ—ä铚èm´žÄÞIô©›¸ÔÜà1¶›˜c¦Ä×®æ–]~ûã÷éÍ9NÄâ>ùìšÁûjœŸ#<ÛÈŠYSb¬¾‘÷zú>;zo+évödjzlWÛØ±Nc·äR÷ܲË/aw¿ó Ùuð~‹€¤`Oð‡ÔHë‹ÐØ5ÕýV‘gÞV¶™'NÂ[þ#+x„cqF}k4'­ò†¸Ý׿ÑE‰ÍàNÍÍÞE˜,¢è{t1‹l8À­NHiG—$c-u¯C©£db αKîº<7íö‹Ø¿ц|…Øv«æ25 éìÙ ñ’¿Õ»(%>Fh›ö†‹c%MïR3Ø/BXðZ娷grnÚí±?~Ÿ^¾B´ôª­°†Y6µð¾…8•=œJ–÷Ä=‚agÁ‡±’²Â'57Â6æîiì–…Åž[vùÕÛ÷ú}Ê…Õ¨£Zó³) ޹Ö±ŽÊÏ*ò¬êFºõÁ*h+Hã(\o#ÝÁ `â¢äò¨øÑF.;Z+HÄm¾žþ”wl°â3ý½5¼¬ƒ=‘hg¦Z-ù®³××þ¸Ÿ$°’FG¬AÂ~by…è±ßrUÏ-»üv÷ût]lSQòµtä±¶ ¦Cª¥ËJé¶O×fofä ¬¥’¨5(X3öO¼Ç¦äƒÑxíö‹Ø¿Oãªø[S«~ IîéžÔË1»¬]„µ‰Æ>¦Õzj&sQ‰-ˆ9xlJü´êe—_Âî~ŸÆxÈ*ލ)(?FÀçõ˜ÒXWJ¾ë¼6;BÛ‰¥Ä±ùii2±5°×d]9ǾÞ^Úš[v{JìßÇô¼“éJݱ¢FÚÌSyÚo(¯m 4çí<,û••ÁÂI(NÚ‘bÂ3á"?kxT Ú>Ï×Jo„Û}=­úf×÷!¿\Í/Í`Õüƒ[•`TMöYIxŒÈN›v0×kéöŸšFž[ak8ŸcWÿð97íö«%Ïm{Ç>ù)oÒt2œ÷Ùà;¾Ñ!8Âß§â-„„ð%RŒSqƒÂ8 6´™‘Â1”§Qߘ¡æ”UÞ·ûzz«Æ<ñë6_JjdDƒþT¹“¯”| ^7;Ó|•tû`žšŽeÔØFzZDÕ9·ìòKØÝïß’e£ùB Víˆß‹z¼û¦|éÓýyºØÈÇÕ>êê£ „7®Ä¿Ô£?ž“VyCÜîëùEZ”S]ob™5L{XY˜8öp†ò&–}ß ‘˜j; ,•ô&–YÃä0aÕÆ]c_ob™æ¶]~ »û}öS~σ‘è7º ¬`(û¿°)L Ö|{Æ4ÜÕÚŠEÛ8 ÝTFVT¾M‰+üÛæ¨Å±yÏI«¼!n÷õœL.R=دæ³iâÇQ²Çê×X(ÐSr¾×Øì7*?Œ¥tå®&5“ 8ĪŽÆ¦ÄOsnÛå©°»ßǼ»JRZº\ón¦q5œÜR¿kå⦛Vˆ '¡dg;*&:B «áô¨´?¯•Þ·ûz¸VÅÛuù¾,5"ìÁ_¬WQÖZÈØB ëY%£‹ì•l/ÂZº²C!5Ñ~ëéÆFí ÛãØ’¸²ò¾ÑvÞ7 ûã÷áS‰a•6ŸMQ7RчŒÅ: ×”üü¼V\p'áÊÞ}T Ö¢7]0*^ôbNYép»¯§O%ÉA¯Ì޳¦¨ ÂWñÔ!ʼn4£%³ã›§]=Œ¥t=û]éä+·ÔÄ^“ôÓ(_—jnÛå©°»ß‡Í^Å–^|Û`NµCì鈼ŒÆA†x´ÈË:Ì̸a: Åw¬@›á˜ù§QGæÇjNYå q»¯§;Ø|­éà•‘ˆvØEê¹Þ]&;ÿÙ>ýã+iøx‘°%6 HGJü´æî¦M‚_Âî~>•èýT£a«ó¦ ˆK¬j€‹Bä¸Á •ú‚%Oâ$pT¾L¨˜ääîF¿lzg7mÍ)«ÜîÇ×Ó8£jCó£Ï¦é—i}aWŒS:Ú‡Jâ™ý‘ÓŽþÈÆJâØB3Í3دÛà çØ”þ(¸sËnO‰ýñûðe0_z8Î 0¬Ij·¡µ…%NBø©ˆæYÍ8 ÃÉoV Ê׸éµùAðœ´Êâv_Oï˜Êð¦[ÃâèZWL/Æ­cJ¼‡DG¡´ãbÀXIoúqjð’4–éÅûM?öܲÛSbü>/,Y* Mcnƒpµó–ç2í”ã­|ë¥oGc-U´¥¦°å›°øsì+Ë.<7íö‹Ø¿ÏÛHÄÝD[/G½4Ìëéè>®ÉÐI:†›lg`ÊXI+9ê­™¼ê"¶ rÐslJù@×.¿„Ýý>ÜÎ"O…ÚÎJÒˆ§ðº•„Oe Ñôñ8ŽM©xnÞC'!Ï£V êl‹5Ï£ž“VyCÜîëé#Š_yt1þY³x-ü˜6à^lJŸ’ºk³³/³°–¦cË©è°`,o-=öí Õœ[7¢ò‹Ø¿ÏÓ†ºEŒLClêaâþð’ƒzî Xy;øÜì¼k{e±–Þ>Ö\, öb‡}½|4·ìö‹Ø¿OW¤'ƒìlêw•¦ÅIH’ùo$””œXÐ6ûDÐÊXIû^ëøÁ¢eìÿɱ!9Fÿlvù%ìî÷Ùï:Û×­¸·ølŠ'þn¢Aö ­R-`½«®0 +ªo„³°| m¶4ÂÅÖíQ)ÄG5'ö¸_ÏѸ×YY°”uV˜aÆcô¤äG´lvìܵôòmZƒ¢£Ä"K.ÇÎ,ºœ›vûEìß§«("ö‘…¢sJjØâ–ĵ>(ºÑ C’WÑ+5 Ð(‰µ”,Þ©wbÕSZco=§5·ìò‹Ø¿ÏWÑØQµæHIj”ÔA¾¢¦¤ä¥KâJdzíÈ—O¬¤æxIj ZÒ‹ö/9öåIÎ-»üv÷ûôÂóqCõqO vÜ‘ÆÑ™¿¼Xê9¦%¦€TæÉàÄJºÜÇÝšˆuÎÄFzÁ“cSâ§9·ìòKØ¿Ï;øˆúÄ$ºÖÜÌ2˜lw†ºÆ¸f\)9m(2[d¿cìÄZêùt[ƒ„ÛÄV6èÒØõmà5ÝjM ¼DËØ¿Wv׋«g]§¤fáš‘ýöðm÷Û“ä¼¹ÙÑÌXKYF—š*coÔmxì;s±=7íö‹Ø¿OßÃà³u–ßÃÒ€Ú-:´LÆ ™y)y‘œ›}cÄXIÍ%H©©L¶°“Æ.&¤É¹e—_Âî~.©8.ÇkTý:¥h¨´Ÿ8ZÇëàëSŸ¥€Å¯…½øjÕØW¾z=·ìòKØÝïÓWïã,űôê•Eæx=f6F|›µ[òwßûkGÒtb%eICjQ‘X6ròØÙè)ç¦Ý~ûã÷é«w` WáÊ!²†%¬‘Š©ÞÄ ïNɯÇùÚ#1v%ÖR{ÓÁ¤©&h›ú;¬ïØ%ÓÁ<·ìòKØÝïÓçU Vpúìšíoo¶c™Ö'ž0J~™¶Íþ°ý’°’–©ÁS3A›,ldÓÖ›’ßÏf—_Âî~ŸžR{¼Èâ/ãé:¥JÃml¿IEÍ-n”_¤Ä“$è7ÓŽrÝÄJæÎN zi$¶cíñØ=ù±<·ìòKØÝïóßõfCïù»BƒKK,t•jüîgJþ]ŸÍŽRëÄJj®ˆLMÅÙXPËåØ%Iž[vù%ìî÷á’:}ྵ¤JJˆÉŸ¡‚-b]NÅ×›f¯i­LëÎBwF«MüÒ:¨“¾¤ðGÇäTØ›&~é××ÓŸÙæ±P-¤©è`s#RýÅ/¤äg½öïISYŵôžO¨‰ErLcvz<¶$ï¼úf‡_‰Ýý>M–çeÔRë”jÍÍó ÒzQ‡Íþ wJ¥ööÚé—±»ß#Ãzb;¢«µÔàv9NH“Ä-tœFzJ\$Ñ)+í(µO¬¤ËlÖ\ظ{¯ÊcSòI©nvúeìî÷ù«76¥¹÷Ÿ]ƒ{^lZ¹Á¹r‚ÏŽ’_½w{íªµVRu6Mjœ˜Ø+ƒ‹)冹¿vù%ìî÷éóŠÑø»WÿàÔ`ÿ™´˜Œâ”+%>S7¿mÙ a%õ¬A´Ì(‰­äæÒØù|äܲË/aw¿OóSðK“( RÓoÙ¸d.åjK¼ö%í¦í$¶1VRËØšŠÍ±HZɱK.Àž[vù%ìî÷9Yüå¼ *©)ŽåDK;ñÉ=ZÙsTâû›½¢šLXK™¦b óMŒe*ŠÇ~3U<·ìòKØ¿OéxUñ¦Á‘f±Pµ6ñöCI9êp$Ꮎ!°žv„à+i$ Ž5Ød$¶ƒæÆc÷¤ÁñÜ´Û/bü>¥­ÂK®Ç~Ç´ÒLVàµ×+²5bW¿RÂw?ñÊM;^ÇÆZydµ‰7NŽÝóÈê¹i·_Äþø}ø»6R–Ä•R¥‰[µÄd(E$ñ»ç?Ëvþ“Õð$µ‚5.;\òØ”øiÎm»<v÷ûôwEs¯à4Pr²5"ˆâ™Tƒí¨)ñ»¤ }"±ÑXJ›Ÿ–fñVœØúÝ’žÄsÛ.O…Ýý>OùŒ…º¡þ³k3Ù´M&'6oí4Ž*M * ÿõŠÚÆxÄVJüî‘b–vÔ7&VÒ̼4knîý…í>¬”üøÍ.¿„Ýý>}DW¼®çãk()Ø—\óý/¶¥ ½|ïŒ/¶b‹&ŽÊRÁf ÄM´–Ó¨øˆbNYåq»¯§o[lJÔûî³k&.á'¶0±VÜᅳÒýðýµÇû³$ÖRvÚK ïˆE]eŽörnÙå±?~Ÿ6'ÅzœŽ.…êPèØU®»-`E_¸²WBƱOûãD+X5@\g¡Gí)ל¶µ<nóõtC$WpU|v ù,.P™¨H—ûÏ^Z/´ÈÎZc%çç[—NOboÖNhìûýN4·íôËØÝïS*@$ó°Ló³)XÉÉ4 ‡åªÕøü ‰HÖµ"ÂI¨'’¢ðQ#¼ÇõÊZaÍ)+½!n÷õô©Dr@ÝÑüÁ”‰àl$ãÝIþ)ùÉi›D‰•”´±Ö\h÷a셞Ǿ’ÞÞsÛN¿ŒÝý>oôóý!žš¼¥h$*GÍßJ¯¨¦ªx À^ZÖ‰M·pj6ò–y Æq§Q¯lä­9e¥7Äí¾žS&W/1O¥fðÆàbMÒ3ú¤äƒÇwïœö7†ÆJJæ©Ôt>gÂ6RžhìdžÊ¹e—_Âî~Ÿ®•˜áAtÿ³)H©~£)ãC¶uÖ’SÈ=êL+ Œ£Ð²0Q ± GŽVú2¸jNYép›¯§Ûžîk½ää”f0qøæ%àdÇJiKâê7ñtؾðs+é~;ZJÓÉ«)l#ç¦Æn/'çí JØå—°»ß§k%OnÕ/ +°Ç®lDÙÙ±fñHؽ9Ü%­ÞÂI¨ÙYC $^ ׸*pT \+1§­:X·ûzÞqëÎv¢Ÿ]ó0™måÄ J‰OÎBá¼íYQ„•”…Ë©Îÿt³Œ•c¯ vznÛå—°»ß#T;£ÎÔ¤xø*¬¯]h»4‘YL!ô¯ÔIÆQØZ¨Q¡jÀ-5PèëíŸÆ9m¥7Ùy-}=}*ñ†Š ñæÃˆ4 QŠg¥0&§¢5!õ åB£Ž´?ް+)© RƒÞ؆Þc·¤*ðܶË/aw¿O›»(3¶›¸;5Èû¿‹›ŽÄ‰cßS¾øÅ~²?¼ZÖR÷½pjûcÝ :Ó"(yŸº^û÷”ÙCÂZª®8L R.{ñrJc_N˹e—_Äþø}Zƒ¦Û±©agj”{x±´Y/QµÒ‡%Þx •vl÷+éΜk 4V÷#»eÃÏÝܰ >‰ýñû¼9i綸lN ßãD¡eò_qÓ! ß}¼Ï”Œ•Ô}šÆV¦Ã×Ãj1€±«O´9·ìòKØÝïsÆòp2îoF2–CƒG oÎÊ›Ÿ‚å™Ãwˆ/¦½’PXK#Ã<Öܬ“eŽÝ³üÐsÓn¿ˆýñût£Û˜$1³™°5¤?¿‘ƒd¶ÂˆkJÞì:Ù­`?Ûû‹•4³eˆ5ô8ÆÞ ÇñØwþxnÙå—°»ßçM¶pº\fOK̓÷Ý@Ü;î3*3–kJ>Ä–+˜"KF !UøºÉ‰lxõ”}›Y䉕T3{×öÙ5–}v=v2^äܲË/aw¿OŸ×‡ ‡§†¹Zýr{ÂÉ„©•÷¬íÐdïè÷`¬¤a’‡Ô ]&± α“@8ç¦Ý~ûã÷i¬÷Š-2x”5fM!üÕiì;ã—"$®˜¨ÒH;ؘ+©fn¾5Lƒ2öòæ°¦äÕøÚìòKØÝïÓPÄò5ütÓYixc@±ø“qÝ…¥…’×À²ÙÕÄZªnqšÂž Õ—N£¼c_ocñÇ n,~%öÇïó–¢ü|Þ–‹Ä…È©]èâ–Lt¢ËYq˜«›]T¤Â&U©s[R•Îòb:Š´¤*uî ç–=©Jgù¿OŸW·Æ.³+òk ™ß›§7öD/%_P£s“ì$AÆJÂØü´47þ‘ÆvĨRrRC4¢´ýÆSd¬¤·9©4UA5b+›jìú6'ÕܶÓ/cw¿Ï××(Z¥·\_¡!åtGû£8Ÿ95Ù2$y}m›½³ »°’æOß5æÜ®öb;¾»ûL—sÓn¿ˆýñû<Þw­çúj Ö±ƒ ÖŸ“\cOJŽ á¹‘½ó VRÏõÕs‹xwŽ]s}õÜ´Û/™í~Ÿæ VÖs¤i`ˆ®ŠÏÀë¿°ÝhI‰ßÁßFöÉßMXJï_ej&z_ [¯i86%~šsÛ.O…Ýý>?¿siQüÙ5Ä'ù£o6î{È}gXC“CÛXȵԲìØ?'öÂaÎc_ùÖöܲË/bü>}/Gþ†Ó²¥¸C)S#'ž™ÊC8%¿‡ëfoL¡!ÖÒ튑ÔtË\`ý¦ {nÚí±?~Ÿs$=$ v\ÂlcbSÿHºY¤ÄgªzXöЍ­°–Êñ•»>c#S·åØ”x~åܲÛ/bü>#âÍx_îhˆ"¶÷õææ…Ê°ÇýÞ·ÜH³!ã(\™[HE'§4qœÒ•?Š9m…7Æm¾þä²îj«Ï®i¼*vp…\—5¥L.{í y¶ÆZjïWšJ^.aYÍå±Kp=·ìò‹Ø¿OCý‹›—ì’°mÄjݸ;\%ewJܦ¢þ3íà«4ÖRöFIÍôÚ?u._9öÊÞ(ž[vûEì߇¿ëƒžÚ±ºàÔšiŠ‚Hók`}AJܦ*—@v&;½8»àÔš›õ–Âv~»'¨ç–]~ »û}úˆ²j‡ nŸ]ƒÊ›x¶bó=˜á‰agEJL&B€ÌöQ˜›K¬¥;/e¬´°<¿ylH~®ËýÚå±?~Ÿ§ÑDÉdWkâ­ÿð=~±HbrýH)Ÿ©ÍÎÆR*™òšš…Tfa ‰*46%§Í.O…Ýý>½rUaD8ª¯\¥aSø’C,k¼R-)ñ»EbÚÁžh¬¥â~†©¹ÐlXØÁ†ç›·Àœ[vûEìßç9hjÿ«ç55H‚Š<°‹ åIpê°ÄŒð+¤-×+©dok.ÒæË8MÉ9hèú.ûåÖÄ÷õ/~Ÿn•@Uˆ…"¬Y$¸Í!˜ï7/)ñ]‰—í훌µ43a X[Ëh¨ÇNJÜ[vùEìßùo]ÿóß5ìÿúMðÿïÿóÿúÇúç?þãù¾òþúçý«þõÏû –ï'ø £Ó•©“ÿüüõü÷ÿð×?ÿÛ×üÏûÇþçÿö‹þÚËÿ|rÆõ¢(&rfkFú )Ì%{]Ü¡à6 ìv’»+¤¡”½’†’XK×Ûl‹™Ô=ǦäH_KýöÇïÓÇk‘뿽ÉdÒÜlçŒÖÂ-ºâI @Á8í ‡/a-eÜ#5$ 4–d»¼Édš[d‚ò+‰_¿¯ ·U£¹òÊî.+ß·sôi­n²Dßû…{1Y žmá$´,n’uÆ¡½G½²¸IsÊJo„Û|=]Õ–lš6$555ÃÉ ö‰hÊsepo‚Û1íà}L¬¤iÚÔ q¹±Ë=6%~ZýÓd—_Âî~Ÿ6•è±t=Ó‰ÉV,×h|ÿóà¢*Ê,†…?ÿP‹ˆ× &\ã(LÇŠ¬@+%ãn\+hÔÛ¿ºç”•Þ·ùzøT~_¨Ñ·äy›lZÃn™…_÷ÃFšÌÔ’ðäDæk¯¸a7ÖÒÛjSšÅž™Â®eÆå‘Ÿaý™ÈN¿„ýñûô§œ¨ÿa5Ôg×°Z*hu&R .&ëÃ×­g]a í¥f—ÂþJoÏ:kXie,k«<öõvÑܲË/bü>ÍGá•LíY|f (¸µ#ý Ù)àô–äݳÙÙ=ÉXI/)º5ð0±Å]|Û^¨³Ä1W5/Ö€|#ºšã{gzé…NIx#ºTžv—Êk©%c•5ùAƲÕÇ.ÉXå¹e—_Äþø}Xór&L»P žÝÌ™èÖrë´à£ÚLYm# Cœ„;‰'¤ ‰»pdIÓ¨5Y'4§¬ô†¸Ý׿Á¨Ûñå;‘ÓìÈÁjËÐKÄûƒõ6%þ8C3aÿnqz!ÖRþ‘§†Ä4ÆâO/ÇÎ?òœ[vù%ìî÷á#:˜ w󼤆ʹ¿ñ-FÕ@î¯$× °-?*úDx÷i¬âÎ8òÃüBY™ˆ(œ„ "[öãzì_=j÷öÖsÒ*oˆÛ}ýÌ«ˆp’—^š‡Üò“­/óÎß)ñˆ¼ÛãÆu$ÖÒL^zk¹å‰7yç9öÈ·›ç¶]~ »û}úˆ‚“!ÞZ˨4Ìîâ¥a–.+)ñ1ºù`ÉŽ®¯‰•Ô’;ÊÖÄ‹yŽ]2/ÔsË.¿„Ýý>}DÁƒ/@U‹¦¦à¶j#4J6Øzi¤ôGôÚì7» {»g`öZ£&bèWb#AµæØ”øiÎm;ý2v÷ûðU¶{w\+£_.¥Æó=wi YsvR&íÄ ÂJêYc ²“Ë,mýfq_™–ÿÕØ-@œ>\AûÃlbÿ;­@I%Ym¿Q*ŽÜ;«Fã&³¥T›ÆQhþ'ZQÐJ8äóyÔËÿ>ÏI«¼!n÷õt3Ôp©ÄÊÏ®C7èZ ~¨øÎ#ü”¿l¦ªÙÎ46c%õ,I³Ç–ÄâØ’c×,IóܲË/aw¿OOÐ Ö>ª™–ûdÅ·9-A6Ÿ¡H}í¤4ÖÒtrHjFœ‘ËË=};U3ç–]~ûã÷!w9߃ëö›È Ü~×CðUbYœ‹DÙ%!ÈVR±.–ag![$XeÑ8d‹yÔL&óœ´Êâv_Ï«ZîÑL3eMÅ•ÒÂMN.*ìSRbtÝÒÓŽ‚ûÄJzã±Òœ@Œ-‹!°îf5.û×ܶÓ/cw¿ÏûT6_«'gj¸çd®›.dxô”œ=26{eìŠXK3sþ¬ìÇ%ìÍ~\ûvvUÎ}»×W+‰ýñû<{äæ=ˆ¹U­©äf¹Ù“±—MÉ$Ïf_lä)¬¤+ó-¥éh‰fl_äuáØ”œGrovúeìî÷i4·38>ri±fb(7Cé ËG!*¥?Šý®Í¾xõ#¬¤‘ Œ5=…eŸG9wsÿľ^ìî÷y6ulµ[f@¥†ý­3Ç™ýífþsúùÑ¥¼öŸsK™•æ½ [‘áä±kf@ynÛå—°»ßçYòñ”ôáVE©™Èk…,¹ìfÑø¼Qb^^C›íJ*VÒp«¢Ô …hbÉ’á±»Û>æÜ²Ë/aw¿OßÃ,+~²2+5dØ[,4ƒÍbã•'+³âåPækgò‡±’²2+5¤±–w {ee–ç¶]~ »û}š"„ÙÛ󸱬4A'WµîÄ"¼:I=ÓRrZÀ½ÙÁ=*¬$ÍOKÃ~ÏÄ"=uzlIL")5é)ó ~ü>Òs£V‹»Ä¥¦òá_¨!ªÊ„¸Ø‘¨½¿TAœíÜÁ k©¼¿”4̶àŠÔcSb¼žsËn¿ˆýñûôö,+ÝB?»¦sÅDÍø‹ Ì@ã^I¾O¹7ûÀ/e¬¤–9ºÖTlŒ-\m5vy»cjîâî˜ðKØÝïSf*’éÜÉTšI¦4¾îEn´› ÉTúq³/%c%%SAj:/å…Å£—c'SAÎ-»üê¾Ðý>}^Éê2^Nzk&¯bHóÝy/>a=%?c³“zÛXIÉIŸš›­)…íî³ÕSâ§57ÿJìÿ‚~ü>OB‡ã'«¼¥¼ÖbÉ8.ìXYRSbÒãÒ²Wž©…•ıPÔ™¶ žbƒÂêʱ)9EèÚìò”Ø¿Ï{ƒÄýeï&=L ègbÕ{HXWH°^RâxãíiûÀ.ÕXI=k%¬aàÖXu=öôõܲË/aw¿OSúض*."U lMÃòÐÙòjvo0f±Ä´;îpm|üVRÍÚ&k Þ¬Æ^üGjì+©¯=·ìòKØÝïÃýp%{ëSÌO ŽüÑéêûl £ÕUü.OrkF­»¼v4cM¬¤ê`~jPh젩ǦÄOsnÛå—°»ß§U-×V)öÙ5 G¤ ¤7#ZCß)á»ÿþ³bÏj;Xå+é­B³¦ãÐØ†‹ÝÞÍ-û•l÷¿ø}¾F"2ù?»¦r›Ï8¶ñNJÞÍÞñž5VÒÛÈК‹%’ÀÖØût-ÉûáºÙå—°»ß§çœ÷]©jàöó.m•­ ùžmŒknïá&RÙ™e,¥;S–R³@2'ìŒ"}gÖ’ç¶ý}‡?ÿâ÷ù¾©³eqm¹o‚æ…ÒwÍîlpÜYe6Rò¾ Ýeèôh¬¤åÛÈÔðR\Øï+(®D56%ï›zyíòKØÝïÓßµò†;êÏ®yHgÝØÁî"Õugw»·\¥¡…pÚ Óh‹¾À öÖLlþ„](ñØ+KJ<·íòKØÝïÓ„ÁvÖ±}vÍ2#jäúªVsÞ$‹x’rÞðÊ>q6VÒLNHkH§fìͿƾ3Üì¹e—_Âî~Ÿþ® «Z¿ƒI ZV˜ý óÍÚ/¼‚(q ¬ˆ4ØNža-ݹ{¶†oVc+jý=võÍWÎM»ý"öÇïóß5˜û"¸çïZw¾ÅµÈDJ…/rRòïzov´ÝI¬¤+³Ì¤é+龨Af›’ײÙé—±»ßçÝ%Tc+¦‚Ô eTä.fã?¬Ø]o¿®sÔÄ‘]õ¿Q à’Ž«Ž|kZfcÜIJ7¾ÛNª¯ú~÷}0aDv +iä[Óž›í¬þÖØ=ßšž[vù%ìî÷9ÝTd –—æÄR•DרI,W5%>SÏ”í7Ú+é¥9±æB(@Øh¯^slJü4ç¶]~ »û}˜ø ‡0.!—2륉‚éïùèaFL¤µ¯ÄRHH#bJ\$Ei!;s•ÔòîÌš‚û/cqöαólžsË.¿„Ýý>L÷,•¯„fš“Ôt¿Yâ?×Í Z4S–„¨N…nÚÑ­$±’šË±RSÈ"lá?YcCâ§5·ìòKØÝïÓX<ú¹Ç[[ù©aÓïÈããúD냭Ë(9^þ<¯5¡ÆJjÉylMÅÑÂØâ¬„™’# ˜[vù%ìî÷ßh”6£ ΄«RðtÞÑ«9ºÉ0‡jY`‚ˆ²ÞÈÉNÂý¦ûQÑñ4 ‡H»G}Y”5§¬ô†¸Ý×óŸ”ðóMG‘f1¥„šï¼“ ¬§äŸ2*7l׃#¬¤ù¦£H3øã{;Ýcßo:Šæ–]~ ÿ°¯ß§o[QXòùÙÊ€xâý½Ô©ìkëãSâÐbkebfÿŸVfûJ1˜ [>5•­ôu6œ‡¾î–çÅ¡ ÙÁ„’XI%Iù¬¹Ð%CØöøåý,K~*çzíòKØÝïó½mÄž8=|^EGZì.c·Œ´Ø|V Þ×·¬‹zâ pTojC]¡p Ã4*ïh¯–Vº'Üæëi‰>ª=Áà}inrÈ04$QßRbîy”dÿnWL10^)3nS£¤ÿmo®3íŽs‹åÿUthGÖø © ;t⾃p`¸’sÿ‹k T X;8Iï&ù.‰_Uiâøf•wÝVkDÍ-J¡W¶/]zŸÇ#|Õú~ÒÍîM2^<ù¢äÞ@ÂÔ`äsÄ¿“r|AíK~…ûËPOv˜ƒm¸|Ù…‹ã’p ÂwZK©p›º§7Z¶K®wö0ç¥ù |A… ã|‚f¾¸‡¶ºä4Œ+êÎelÎ…g¤±´A{ì™ù…ž[ré%ì®÷é[piŠŠcާ»²XwËà–‡Âd¢ì›EÍ+ª­ŠÈâT¸@Œ-X‰»¬ŠÈš[ré%ì®÷y´u¤½µg}¯ûrÆL¢Š8ÓàÔÚ³¯,¹‚L›”³Q(±Ù6ôñ÷º5)½jbiüØš›z{ÖÜ䤦7C@v½ÿAv2‹W)±ê옿5–}Mp1¡ÿˆ¥ð¥Gbd«<1 p‡¢µfŸ<Í))µnÓõÜ.ô½/GÅÊlg(ÎÅ–„8‡š¼?pD‰òÅ&ªœXŽm0±¢2é29#[6 ®×»/±æÎ¾ ÐKØ]ïÓ³“=>ïŒaãqœbêèƒcïú7e ’Ì-EUâLÜYN V\n°BGº¨9Á°6Àýèú:¢UÜ…m 2çuEþp~ßX2aR¿’²kòÙä¨a¬©'MAæ ºÆØ Ñ5›”ÍýcÉ­±?zŸŸÕQš3דƒ^ÄÓUä­õ]H*×Ð&Ÿpž+ª9s=9bc‹KòϤ|„öM.½„Ýõ>½Þv›^ýR1qŸÈL YãeM©™Ôg9‰Õó¥bNcƒ!a+ƒ!5vÍ—Šç–\z »ë}êÈœìC6³œ¦9;£ >[åó ܇­šJgc]rö=2VÔÌršæ°}‰±¯VÝ×£VsK.½†¯§KïÓØ †í–CbNg‚ÎD¼zLÀ¹ÊMŠñ; 0¶žÄŠZ1$æ0„ØØžÇc‹â_cî”K/aw½ÏËU£WwÞ]rÔ}ãeS®‰bõ^vRZÝ×\rFN kªûœÆNa·«±·ü Í­ü éEìÞç·^ÜPŸöÙ9HÈ›§î;ï¤òÖû.ù¡ÆŠZ}{̹¢(lc"¥Æn«oæ¶¼ù.ì®÷é÷ªA¤O|v“£š²™ŒÑ¸FŠßKNKÞYŽZXSÕÑ«ÉAÑcfùjlRú…Õ¹äҋؽO]£/|çm¬òòâ0[åKÃC/(=)_gæšúéü +jëŸ&N§ÛZØF—¶ÆÞú§iîæòóЋØ½Oxå«çgçÀ¿GwS%¦a¤lª»–<ê÷½‰5•G’3Y\6û ×{=2¦ÚsK.½¦‹Ú.½ÿArvÚ•/"9°H©DXÜ:Ûå>—)»¼Ëµä/ëë ûº›Zuè8t¤KGªÇÎ’ë9·äÒKØ]ïÓœ`ô‡ÉQ÷&sco Ò£2§*a'…Ïþml$ywo`EµÜµÍaŸc »Ûkì’»¶ç¦Üzû£÷ynK”;}côÙ9ceˆgÜÅ|ì‘>ûÞÙñ[r„¯%VÔíÓä\Œ³í-rìél®œ[ré%ì®÷ézm ¸]7/9,‡zÁ‹}¿6öÑ~²Ü‘9<üŽBÉÉKû›” u“#¶2±¢ž,wdÎͦÈÄÖ‹M‘9vMKŽç¶\z »ë}º^oöÑF~ægçà§^„‚ó)'âHÊ'æµä7[d kjeƒŠAo=± ©›×+ç¶œz û£÷é}Ö”jv®79Q——°8ã**üTš²DñÎ {VÊY®ÛXï~]Ã29Ø»ŒeágMÊ6˜Ûri*ì®÷éù*ËWI¸9•¦&ÙÉ;Š2SˆÔŸNã79Hb}kª¬gä(ªEX…µhlR›s[N½ŒÝõ>}¿v·»Ó9L*oˆû‰rú…ÛDµ’âóÂ6d9bŽ+êÊNwæLþ”…ü)kì‘u`=·äÝA÷Àîzÿ*“3TPœÎ.ƒÌÔ½wgRéEÝä|~+ª­PAqØËÙØâPÀ;©ô¥nré%ì®÷yhc ï¼2œÊ2œx² 9¨nÔ¤åûð|–\ý½…Uüú6§½.Øö¸¦hOŠ͹-§^ÆîzŸ¾_#ÜüoMN÷;ñæas«!fR~¿Ö%hæ;±¦ÚÊ ®ûÓÐØÇ.éòÜ’_?O¿]ïÓ{ÓͰ—’¹Þæ°ðYÖ ˆ8Õ‹|CfŒdrl íå‹s2¥•i8¤øÆ„6åÈ4ÖTÆH&‡•[E dŽ]×Ù­¹)·^ÕmU—Þ§û0j· ý…ÎWshön¨ôÛDeŠúLʶ¾{“3;ÛXQÓp’3ø*¶óU¤±{F@ynÉ¥—°»Þç~º¸WFi’7ýt»†vE‹;)¯0èИ”=o±n,g!aMµ,Na …°Å釻dT°ç¦ÜzAXzŸús \¸O>sÄxýRùžb‘ZISLðÕ‚ÐeKÕl‰g=pȸܚ$îÓMKŠ ¿…ž%¥6Âmºžçކë2>?YÅQ[î‡ùȨ¥Š7©?=„ž%'êXS-#<Í)8r…­ @äØu P|œë ¹ô"öGïÓ%ªÆ»—û$Yçq¹iÑl4å¿IñòÓÙvUò­ÕXQY$$9jË-,+(zìîG_ÎM¹õ"öGïÓ«RQ"ÖÀe]Í™¾Î\ŠsàUH=D]ÖõF]ˆ”w6âVÔÈ$sTñ\XÕ8ר-“ü=7å֋ؽOË1 ÎbtzQ©sÔÒöEzoS»[VƒÅC’g¿å¼KŠcó¯ÅA/ c›”ÍÍc“KSaw½Ï¾×A'AéYdZŒÁÓô°N–ÆNC"tteHŠz½Æ‰èY^ZŒ†ÄDá*(4j]µ¥9'¥Ò†¸]×Ó¬ xf£ŽüTïs^-¯ôêFÓŠ‹WM Ê|/}}“¿èc¬¨Ç­o“ƒ(cçÅŒ Ž=¯=cãÝäÒKØ]ïï’™õòcÆŒNL&|u oç˼ÌÇ/•# cVDëg";s˜¥kºexÔÕ–CsR*m€ûÑõ4Àe rpV±*q^œ þ`kG¹7Q=û~‡)ÇÑXQÏ*V%ÎÍ‚SÄvf2iì~­bUœÛréu»ÐÕÒû°ú¦Šhw¢)fÀ‰Ç¨ üRZ$\I„. ŸŒ{¥p&²¶=ÎCãÐzÀ£6_<'¥Ò¸]OWåë¶ò¥&Ùtq½êl÷EgªÉŠÂ瑱ã@ÊÑŒ ±¢º}©ÉÁñXžåØ™†sSn½ˆýÑû쫜èìÙ¿/M½fàüþî$ÜßíÂmKDèr!ÝÒR\Û„3Q½›¬pá*’Â5* ,`ÎI†µîG×Ó¯R×ë˜msÂøvÁ*+ãÒ«I¢¸ ò˹òÕ«ÎXRûO›78z'ë‹…ßÂcϬ)á¹-—¦Âîz~•ô´‹ølŒ+ð‰T(sò½[qJüÖÛ’bRãDL'ÿš†›Æõ°dzÔnC§ç¤TÚ·ëzzíAªN´{\åQ”=ÚPïàe£!ý¯&…;;û’wvM»é|5³«š9°G'¶Óù ±³u`Î NêÅê?z~•ˆ$êµæW)¢'Z{÷ŠÒ¾“µ\jVþ¬þ-)Ú7'¢æW)®~•7ÆÓ¨$t¬¶™RiCÜ®ëéY‰´¶èÈq¹€½8øÆéÎöÁþÑŠs›¢½ [òp1cMeW•ä Ô/±èu’cgW•œ[réEìÞ‡½áCŽ637af é÷çVª–@ø®-…[Û8Å61Ê’ 7`¢Õ¨$ð§œSRj#Ü®ëéªÄC>VUÖ^çeýÔ‹iã…µUYrý)«ö*ÔH9ôH¬¨gÕ^çbýTbïIßǾóà¹-—^Âîz®ÊJ—2<ªŸz9}¦àƒŸ±˜ž$´–%½Ÿ#œˆÛá„f\á/5á;5£{<'¥ÕïÀíºžºÌeÍÊd¾LΓèÀ‘ÜXé+’x#„Íä(’r$k*ê’Ã|gcyOðØ™üžsSn½”+½ë}¸*é —­ÒfÀ",gî÷pû®ƒ‡Qk$þ¸€û’^ˆžNÄe{´(®ajkxÔáW¹ç¤TÚ·ëzjuŸ|Þ~l%}0º§Ûõâ¦qI-ã¯=’¿¼ö+êö“+9xw$E«sìéWWÎ-¹ôv×ûì«üÞ&ã¦ô_ÖÍÀÕù‚i®=¸|](Ñ"×RTq±]™ŒQ|M#B3‡q7 ÷kÔ;ëúkNI©p»®§g%Ì`±)_Îg§:õ(ŠžLdÀáôJŠçÙËå£ð¡D¬©lÆmÎ`ãya»‘klR~³–MN½ŒÝõ>~W΋MÀªß•“Ç\EÕÉ—OARû„Þ•o2ØJ8UïJ0ðhn A‘F%¡wå\R©Ü®§ä¾£™:šsÇ é‹Ô4:Ö—MβV¼ýZMù÷'˜°¦Ò¤™œ‰®„ÆÂИc§I3ç–\zû£÷¡µý\#A¥Q̨᳜èýv³ïŽ=™‰DB7Ø’Œï†Õ…‘î2"Æ3ÜÀEæ÷EÉQEȆt3¨p?ºž†ƒ¡ @cDïgçLæU¡|ºb3à²OSt@ß¾È8K«/¬¨á §ätæd Ëž6;7µœ[ré%ì®÷áª|a5šÓպ͸pgDLD€_ ÖÊ$¡Sm&ãAXãD¤÷Ó XŒƒ5Á£v”{N0¬ p?ºžz¼òÝè®æ¼lc ä/ÛÅ$ÅóLGŒäð %VÔ“>2sX9YØ›FeMŠ͹%·^Äþè}xƒEgw˜uƒ¥£|̃Mýûý\ÊV½kz¡Ü¶¥, œˆé@S3†mA7BoŽÚííôœ`X›!ÛÓÒõü]‰¶­HüìfûO04ye]€ˆ'n¦üRlmÉâ+„5µRÍé~wÛXMNco)‰š›rëEìއמ+>ɰ*6Þð̘ñn½n7¬þÞ&£—q8ÕжKŒ%Z…31ûbFŽq-l&µ¹0Œç¤TÚ÷£ëáYön‚•?Õä°Üy´Ï`÷‹²Rшí7º¯IŽö›‰•*ÉÁ%<±¸xçØÕ™>9·äÒKØ]ïï²àŠÌ&WŸ$Ö0=²Ì÷Óièùd§¤ OBK¾áDd›$3ÐáʸûGm¾ xNJ¥ q»®§lgnœÕŸÃÔú›]|ofÝG]Ȥ€b`)gÝcE¬Jl³U¦´Æ®n‡’sK.½„Ýõ>öWvfa*ŠŒ¸[„ ˜Ý bŠ=ú%ƒ—ÞM–2:@8¾¯ÞŒ\2þÄÅŦ5*Bþʾ¤R¸]×С.\Gé‰ó@Ñ8ÝäZžŒ¡ŠçÁ³â³ÂÕ—üÁÔXR÷Ÿ%Ô5öÆ¿ÄcßùõÜ–KSaw½ÍéƒÊ))Ô T¶ž(„+¤Á„3“À]óF[xIü…QÒ„CÆM×&q7]›•„lH=ÒF¸]×óéÂh®ip(5XLs¢‘4jÊ%ÅÓÒ”Ã@šXQÝ÷Àä4vü¶Â<â±k¶lñÜ’K¯ænaKïskz†/k¹÷ùSÔâò^ÿbfœ[{’ñ\´Ð'¢Û,mî®Æ!Õ£VÛ¤='¥Ò†¸]×Ó³N œ@Sg¥8ƒ-5áòˆ--5ÑSNß~0ä[^b¬©æl“äT–¶°D£Æ.þLrnÉ¥±?z¿+£<ä2C±û‘R&B4DÈZú””â6NDºÌá1®‡%ãv›L<'Ö¸]OMçÑ…ØŒÏÎyá>®ôÖß8†#Dc&õ'ƒÂ½ÉaGK¬(ŒíG?87ÝÇÄFó†™c“²w³oré%ì®÷±ánò¶¯"Ýf\qûŽZ ëD]Å$d¸{–ô¢!Œ8õ‹ÌÀ7j¾QÚì:óœ”Jâv]OWea´Ns„lr†[ÛV™­+=ŒIÙ979š&VTºŠ’ƒ~¸‰…''ÇNoQÎ-¹ôv×ûð¬ÄÖmni(Fô†3d2ô¸Áó{'¡Sí]RvG‚£Ê3^KÂ=° hÔ' ,šSR©GÜ®ëyI©˜kLßГsùÅúÒŒwÑ )ÛI{_r¼Ø+júžžX  KAŽÝÓæ¹%—^ÂîzZ{:¥h^ùY ™]Qào<ÖõLâæÚ²¤O˜ÓŒ#ÁQeX-4e~?áv#:Ò½ 9%•zÄíºž×«‰§ö…ŸÃü7’Ìp^±|IêO¶¡¶ä­ªÂšz²ˆµ972‚„½ÐÑÀc“òCçÙäÒKØ]ïãÇÈË 9¹ÌÀ–6è­X9ƒ]­Iè…0:0&³Ä™ÈÔ3`¥3é05ón<'¥Ò†¸]×󔡨‹ã3S†*¯.~¸¢Wf‡ ²%E$Ýä–Óƒn¬¨ž‘­æÐsblÁyâ±K–|óÜ’K/aw½Ï¾Ê7 «Š"0ã‰ôeɲ¯†QRvÔ×GËïÐÒ‰¼7áDÜ>Ì€…Ö¸6¾7͵Š"ðœ”Jâv]O£ðrÁeB¬96²ÉñÎ"ÜèÅ»J=ýhN”rô`H¬¨ÛeU“3áÝ4vÀ»é±Çª‰¡¹%—^Âîz®JìîiSDšì¨qþß/kÒ¤Üò”Ëç’6g"7*1*’5…«ÈÕÔ¨$´Ö[2¤ q?ºž7÷ » «â}vÎÍbmL[êl”ÕQ Kϳ‰rË/¼Á2L…½`>ŽÒÉ< ÷$°Ô^W·*0ÞÃ8·¯f Ö©pÑtmzT²!õ%•6Äíºžú+q£Ž\Ùéªñˉ Ú«Ú¸+ãbkgRô)²õ³åh XQÙ!9_¼±hKcg„œ[ré%ì®÷á öBØå쮃o¶ƒøtœ[­Å-ôi&äY,Éx+)œ‰nw‡h­fÒ.=jq|ÏI©´îG×qÇÓË!æ\HŸzùD¸àèFT\3Åu†ü–”#õ%±¢f„˜3Ôa,Ê»g@ˆç–\z »ë}nN¿a±iyƒí£«*£±á—asú’¾¬EAÜëÂ-À[6¤×¸‚ Ü•„ÍéK*mˆÛu=½ÁˆÙXƒè³s´?½ÉE„ØNÔ(å[æ[–uŠ+êÊR`æ0öÚØ,9vwLÎ-¹ôv×ûð¬±\µªZ·f<ñÙ_0¬ s X5 yû’>Lr NÄíè23QbzÎxÔlIã9)•6Äíºžîhà¾Òš•ÌƵÎ/§2Ûj&EãÏ,Ëyº+*mZÉáKÎXØ­rì4kåÜ’K¯î"³Kïãœ5çŒ(æaÀ‰o¡‡@HÁHBžÅkIrÒ‰3ñ8×Ö Ü­…‹@ˆæQIènɰ6ÀýèzÞGåb'N•µJÒPî0úc" IÈ—)>ãy“´œwNaM­xss:»4Ûð õØÍ]KsnÊ­±?zzFnZãJxÉ>6þ¸G…5®! õeÙæÒ.Qk!q]«Æ™(®X!ƃFÂ=0ÃkÔ'ôšSRjCÜ®çaZñÒ«0}vS/ôçk6§¥º’r˜Ö³Éhl¬¨¾jò‰ÓP×ÇX4V̱ëªÉ§¹%—^ÂîzŸ‡i±K·üyf ¡L}˜k™¿IÈuÕ”vToND͈.1Â*óÎ4* ]¦Z2¬ p?ºÖ‚gSLôøãµ'9( þÕ—µŽãÑÇÖ¢þð׬¾`ùt7÷v-*‹/'§°ã:±õeõž]ÿÔhDs[.½„Ýõ>í˜ñ~ÊZK®Ru º ·â¯’Ù¿¢BŸ¨Œünr¶†ÖT÷3-9Ð0±å=vÍNÈž›rëEìÞç…0cïî}í¶âð]~ñ+ŠŠî… #)/£0[Îef¬¨ÕÛœ†Ÿ¦±•²4öê‡í¹%—^Âîz.ÑÇÝgo˜Ê4÷ën´/Â*{znÌ%e­kâLÜ®£l‚óŒC#D:m öœl“(m€ûÑõÔ¶Ž­,ÒŒoçfClnaÚyY>äJÊÁ8ÏXr0VT†f'gÆo.±v=²R¦ç–\z »ë}¸D n0ñè—Á 9 õð »gwÖ.Í­d3ˆF1ÏXòÁ¨@aE› Ìil¸*l”í96)þ5ç¶œz»ëýjK3Ù¼ûG¯‘e„duž’#©ýÒ"9«Yk*«3'çÊÚÒü¦\[:)ŸÐm“K¯+kK¿kì³ïÕK]}v‹ÎÔ…ê,œU š9‹âgÏÚÝ’W6MÖÔ“•mÍZبÿ5ü9¶(޹S.½„Ýõ>=Rùør5‚4™eqtÅUûB¦y{%)©aˆ²¼1d‰XS¥ä ¯¹±¶jMêO‡û“œÔ‹Ø½O÷a¾YØâ³sèß¹ùzdy Ę'EÛjCåÙΚ+ŸKµØ–î!Ý2IÐsSn½Ô‘g×ûð£ÍmÄ<ŸàÑFˆÚ&qYMBWÙgI«7\êÀQ`b  q(BçQ[FiNJ¥ q»®çƾp0UdÍvJ£†Á-œSÑ­Â ×’²±olò—Ï a_?…ܢΜŽûޱæ{Ý–y_sK.½„Ýõ>ÝzQu[Õ´>;‡­Õ#H›ñ¨ÑT°hDy3-K^±k*ã&’ƒœ‹Ä"³?Ç®YÃÉsK.½ˆýÑûô{eÈC”XWL´9~$/ã#¢Ì:Ͳ‘i@Š\¢ˆꂺš‡j4àa]ýh>z¹¿Ü<w?I¹M '¢û>hjë‡bºµú2è9)•6Äíºžž¢3~:/b>ãe¤ÞÅs¬0Ñçæ9—ùïa™›ü#ÀPð̸è ðEÜ„Æ}3õ]ÓZJ…„ÛÔ=-®¦|ˆî\“äðH¿2»åç|öwvmŠhåNùÍ^aMeצäð.l,¯»úV‘sK.½ˆýÑû¼Î{„D}vs¡/¢ix™ -êO/l|”ß…2ÖÔãîɹ^(la.´Æ&eûÒ]–\zû£÷aP 'ã÷ 3Ð!5~’j—N¼2JR~ÁÄ`9âf+ªe/s а û°O¨Æ~VQÍMŽÕôGéÓÍ;FkèïöÙ9•>0l/½xb‹«IyC웜ÆfcE­nrâT”J16j=\96©?çï&§^Æîzn¶™;·ë[šöaßímðcïhî|%mñ¢ÁŠR¦¤ 'â¶ÁÝ ”ˆ35á<êHÃ…æ¤TÚ·ëúîCñè/+PHœÊ`Ÿ ®›Þdpãl#•÷¡Mþâ\4VTYBä´‡AÏÜ·åØí^BœÛrêeì®÷áòĽ Íxµ5hÑ€K×°Ï÷$`pç!)wáDd¯a3nkˆ^Ó¨-{ kNI¥ q»®§çæ?›èüTýúçöñ÷Lt¤Bz-7xR4ºòÍh96ycM]¾À%‡… EÏ»¯ãSsSn½†Þ¥÷á :_Ÿiƒ—„äÀP­ŠR¾Ùþ¼%ÅS®ÁW`ygî°¢š/‡ÉÁ³3±ìNç±W÷:ÏM¹õ"öGïÓ%Úpе™̹¸c"!8– vÓ“ Ýk·Ø0,¿ð$1VÔÌÎ æà¡‘ØÎk³ÆÎ‚d9·äÒKØ]ïcŸKü>"‚0}./ÏÄ >—ø½|uú¾½Æ3‘Ðë³/é`.q"ºßefÀ¨`¾ Zí ôœ`Xà~t=½ Uü4⩤ÔxsÐ|:là….°°y…µ<)ÇMÎü5cEÕ¬ñ#N´o©‰-]o›ÿšs[N½ŒÝõ>Ümï7Õ‰7fà]ðNVWGZÅ‹x6ÚBÇ’â^nœˆê”3 šG÷¼n:þ”sJ*mŠ»P?kÔ³X>Ƶ²GågçÐÿûãÄÁ+ã¡ÿ±çž•y®M.7а¢rO1'¢àîIJO¥Ç^1=·åÔËØ]ïã22()¹V¥X]7œ´áò¸Pý¥$!ëMä‹Ö\³q&Öªƒ«R8®Jš«ÒsrUJ®Ê]×ÃóBla­—Í{ɹüˆ iÜÉ“âáÖð³œuèuÙ¼—œÉCYØL›nIýÙ€¼ä֋ؽO[rO¸2ó&9xÛ¡oä°™hØÖY”çÊÌ›¸Ü×’¿ÎpVÔ² ™3ØäïqMïkìsK.½„Ýõ>=8Y”&î ·5çEP¡/6îl:ñp E+OÇãÂrnÆŠº3„Èö‹ö{øEˆÆ&e{SÌMNêu± Ç®÷ñn«‚å*DbFE:øÃ9c_Œ­„„vÛ'¬àcœˆâB$b„—ó6.›¯G%¡ÝvŒ”W*Ü®ëyÜI¤p}£¾âN‚S =fh­ÔdÜÉHÊ^­k“£½YbIqlÛ.ÚêLl¹íIù˜m›\š »ë}øU¢éQ< Ôd× ~’{ýV¾Ý“°§²&'ìnAü.êZVq&¼.Æ¢C—‡Î^ž˜R©àÂçæZ\dî¬d΃*ïÃË "Ù3›T.ŸÇœX^ð›ÔíAÉa©±ÈÎα3{;ç–\z]ìðºë}ø}N†YeV3PuìeŽð‹n2ß¿y“ø£©&#Œ8µ˜ÔjÀj¼´†"mÞgûUOK©"nW÷ð¬'l>?ÅP¸[{×£ apnÀ÷âé`)^Æ‘ÈPT3XŸK8›zÔ Eõœ’Rá6]O›4oÏ'Û™sF ?#›Ô4áÙEçeºB!Xa¬¨'Û™s!Ìi¦+3tÓØ¤ø×œÛré%ì®÷¹«3¼ÍåqkYs*ìÆH¹l| L¸#GR¼z¢lqÊò„űí‡y¼Â²ZÇ&eWg[rkJìÞÇö Á¦Ê'7ýo^˜Ù">¨b…\Ihý “üe°—°¢®üNÍa/fcHæ±W ™ç–\z »ë}ø½6Øm ñÙ9ˆ”ˆ|WqE´ç{’ÂgßP¦;åÆ+cEey»ä`×4–q{f…;Ïm¹ôv×û4t³°Žpågç l\ ›~2 “â»D$Ÿ¸+ có¯Åi|ådë†y­±«¯$9·äÒKØ]ïóz`_µFfx˜W?ê [ÙͺYµŠ ­Q%e‘áD<+á ¤g7¹¡QG&vhNK©p›®g_eœ Ñ'pVçj'>Ù0@Et÷dÕê†Zí¢p´7˜RŽoÆšª¾Ó%§0œØïG‚èoŽM ­¹%·^Äþè}ºD_¾W–A5ÏéX8•áÀ³°±zR^tq±üb‡xaE]YÕÖ¿5–õo=vv½Ì¹%—^ÂîzŸº¸§fÛ\o΀ɽóZÝà¨aøzMaÊŒlÉL”šêi®7‡¹…™,Ç®i®÷Ü”[/bô>wq_ÜG26L4›¬wß”ÜÐOR64”MÞ¹µ +*cÃ’3xHöܶç»ï)WrR/ņízŸ~¯…?ãíÐqî8³"œ°ÓÛ‰p c2)‡ÜcÉßXQélH“_Œeò‹ÇiœòÜ’K/aw½ÏÃr.¨øFs®Â˜WœYØñå£l¦ìüڒ¿ü&„}}$fŸ8Š`;‘Ÿä±g¶ÓóÜ–KSaw½O3 qõŠ×ûБjNE¾-3öªjÅ–˜¯3±Ç’Ƕx%ÖTÙSùó¾ÛHlEœ­Ç®Ëë¹-§^Âþè}z¤•Dz}¤‚1Æ5¬Øj0´˜°¢Ì,E‚ƕҡơµ˜ÙÞÛ t²n0ù£Ž•›È9-¥zÂmº©2Xö™ž`sèonh90¸¶">m$ÅCÛ‚åÍ„5•ï’Ã2ÚÆ²p¶ÇîéöÜ’K/aw½O UXÓçí¾ÉA}ÀèO,cs|¾¬ç-ŠïdΧœ‡¤±¢î´ÚšsÅ5ÎXö ðØ«—€ç¶\z »ë}~ëEÒÐÎèÏÆyàg}¦0 ¼Ðß’âÍg@Êq$–Çöy0–(¢„½q¦±ï‘¦¹-—¦ÂîzŸÖÛÄÙÌjŸ¡*…8«¿_Ód±j‹©ã–`).Æ‘XÍ=ŸP/B84Üô¨«³§æ””Ú·ézøU2›f\hpóÙ9Ì /¼‹^Ì /¼§’Â2*¨"•rTþL¬¨ì¦“F"ˤ@ urnpR/`õ>58À|[þå>â´Ð>Œ1Q4ê0„»—ÔŸôó.9\Æšª®V”œ‚û°ý=6)3bnÉ­±?zŸøi¦âÜL ì=ô8ù|$ÅÇã…“Ðò§¤±¢.ÿ+“ë}bóê4öð?4ç–\z »ë}¾D ŸîkiÎVäX&8$›^R^¢c.9ŒFÆšºìÌHŽl†Âæòo—)/Ñ’œÔK¶Ê]ïÓS´³‰ÃãÇZr^¸Ócß»Pêäáëu3‹ƒ1Ù;—üfý8aE=+ÅIœùÐĆ]o\[”ÏÜy-¹ôv×û¼>n|hO6Cƒ•A£m!­C©(¥ˆ Ah¸§)ÓZj–ñ¬¸^2¤&\T½<* (=5¥ÔF¸M×Ã%Zn¢JllŸÓ°ùxšÇÕi¿Á5]—2$SÞx¶kªä™+΄»Ì؉0P=³«­ç–\z û£÷yþYœkWvFLv‡Î€™ø… %f&•ïÅM~óå*¬¨ì˜4:L,.Ž9v^,snÉ¥—°»Þç…â+oÞoŠt—¼<Àå{yÔϤüº¼7yss²÷MŠcó¯›{•ÁýVݬìª96)¾E9·ä֔ؽO/º(tôu裹7ЃFNûVøÜÊ1IÊN‰¨YÂX >´‰/»©`Ô‘ùÒšÓRjCÜ®ëéeÿHö´ÿììq5þQ6®®(¦,ŠË¥kSŽ®1‰Õ摜†ŠRÆbËɱ«wòœ[ré%ì®÷é) Ï@¼o·F"ç»Ð_ú³°pPŠ0|]-)žt7OBÉž’Â’âØ:¡ÝLÑK؉ÊÎ{f›[Ïm¹4v×ût‰">:ŠDOÏ0ùW±p¢´[A»ÛXb%).:$.§gFbE­¨3s.oËb–{EynÊ­±?zŸ›wñùÌXZŸƒ°abÕgû0ƒ 6­Û/i„Œ%ï4å +jf;ts“*„íNªhIÙ¼‹¹;6¤×pÂÆÒûô{剑&6Š3mn‹óã{Am,êu%õ§úÙäì d¬¨‘ sZ|)‰E?™»¦EÂsK.½„Ýõ>o0qÆÑÕ²Á 8›ïÏ12ÑÙx6î¡OR¾õ–%¯èîh¬©îßpr[Ñ [±EyìêßpÎ-¹ô"öGïÓ‡)lñ½¨ºurn¾¾aÝk<ógwÏñä ì›|²â¦°¢.!ÉÁK,±¨³cWÝȹ%—^ÂîzŸ÷j‰î0Îk«¼G¬ØˆG"Zæ°jÎŒå ƒÐ»¤—z’¾%‰ ä5C=ôˆ«,PÁQ3Š×sJJm„Ût==RaÖ»¤nõæD?ÞsÃèѶ÷ÔxJ’ò=öiKg}bIͬr™´@4v¢ö¤ÇžYåÒsKnM‰ýÑûÔ¼‹FÇuµsM‚2ó{ÓÄúÀƒ¿™`[aô0årÚk*Û¹&‰EgŽí\snÉ¥±?zŸßz ËÑl·ÞÂàyÝzÑwøõ­·%åeÑ–Ó.¬©{¿õ‚sÑé$ìô­Wv¥íÖ[’“zû£÷é÷úò²}e»(sîÈYˆÏ^‘qOÐ*ËS‚r@É»Éq‘K¬¨+»¾™ƒ>Ù‰ˆõØ#ûFynÊ­±?zŸ˜™únuÆÄQ±‹Bª3F Ñ»êŒ)Öò¹ÆŠZuÆÌQ­0aUGLc×åÐÜ’K/aw½O¿W<úâç4eH2§q…"„/ÖÅEK}Mýiu÷wÉo”Ý2VT]maÅAúޱñpé96)»zJYré%ì®÷ypÙÍNÅGêðK²ñX¼YðG~Ÿ7)Ûcë&‘6j¬¨;cÌ™Œ­”sì‘••=·äÒKØ]ïS[/ú]YFÄ ” û÷~wñåMüÉ,|-)ÜÚÆ‘È2"f U«pñïž•ÿsZJm„Ût=õ˜â9FÖèLÛÅDDÛ÷ ‹K&k锤èÕÄu7å06'VTæ[$u6‹œ9vÖè̹%—^ÂîzŸÞz;²æÚ²ÉQ[m”g‹_Zò"ãZ”_©½.ùƒˆÎ™-¹Ûë±}m²ª\ «¶Ù{k«­¹‹«7èȽ¯ÿÐûtë>¶|ë5QÁˆì«8ºÆÍÍ0)[oÇ&gJº±¢fÞzÍU>±w ÝóÖë¹%—^ÂîzŸÞzßxæÍ–]íÄè6ù\¸7šŠ¢eðÈš·M;-Å䯑hÿ FAvqß5z8* ›§Ø<<¤Ò†¸]×Sw JFdŸ\É錿±pâ‡ø :¯%Å›é›NÆ¢W+±¦š]É)l}BìxÙú„c“²ó¦lré%ì®÷é)Êè¼»¸F^r謭(a‡Àh68ŸIåÍt“£xfbEùæ\ð³{1¼Qc“rDßäŠ#v×ûül‘Ûjž¢“ý|÷™É¾]¯¤xÒÝnøÛ™<ñö…ÕVr„8(¡•X"çØÅþœ[ré%ì®÷áh¼?™ðɈ7nÃÊŠ­áÁ;P¸…Ó…ÓPR$ñ‚£òOÉÀY*Ü`‡CŽ:VDÎi)ÕnÓõô¥é£¿!3g ©5è^œdϽ').:þ¦,çoÊXRÛQJàç)0D úÏJÔøI%õg â&¿x. KêÎŒä }ÂØÝÿ<6)þ5ç¶\š »ë}ºDQq%ÂíwDÆDõ©>P;~â*Özx̼©¡fJ'ÏXâHpTþ)7{Q7XvŠ£’àÅœ–R=âv]OãŽ*ݹ™sc/©‘#za›©/ouwîB5òS69ÂKêÊ(9 eöÂf㱯܋<·åÒTØ]ïx}O£g½EÅÓáyß‰â‡ø0|/)¿ç&Ÿ¹¨„Uí.O{ç {±y®Æ&ecð}/¹ôv×û<4qE·ó¿“<œ±ƒ—ÍFglR|/Ôo‘<œÄ-±¦ng'·?c VªÇ.ÙÙs[.½ˆýÑûÔczæÉR]f v¢3kõe×¶eÆÞ¬Ó^Ë׌ÁÄXâLd‘.3PgK¸%¸4ꓺ4§¥ÔF¸M×ï²ÝñRˆË¤Þ¢ÉytÝÐÅ7.”±64…»ÃÏ`yGQcMÝ~‹&­°‹b99öð’ȹ%—^Äþè}^#°£ÆáteúÛ}n~Ðè“€F¶(ã—”¿¢;9(ØÅ¡ùÇUyÖ½Éfܘ¿ÏGÉн¥ŽëÝo Ÿ~ŸHÐQÛA§§9¯Ê†† ãûEÄ¿< rIñ3‡)'å3³ÄŠ*ùí‹Óè™¶¡‰Ç&Å¿æÜ–S/cw½Ë40y“} >¢¢=׋. •}Àª lÿÌ•4ÂoãD¬“BŒÎZ³Ä¡w”GÍÎRžSRjCÜ®ëiz~(øÁ+ºÓ´ø‰dÀyaé—H¼“úÓµéÝähžXQyGH ØËö»¯wæ¦Üzû£÷?ˆÚe…—Œ7‡»‚‡ï‰ñ*7?)Ç/ŒMÞØÈŽXSOÆ™sã!l4m™96).eÎ-¹õ"öGïÓ ..Ôq„gïXq+;&³`+¯¥jŠŸý¤åìÆŠš+áLœÁþ¯Âvö†ÕØ}õŽÎÞ…\z »ë}nþû>_8Þ?c`ߨ(;ÎHñÔæÖ!)¬Ù!) ¥'ŽD_ýÓÉ@j¾qtèkÔ´ÌxNI©p›®§K‡ð` ÏÎa¡Žs9Ô‹0Ÿþ¸Y¼Ã€:o’^„5uÛ£˜íHöØÓ¯¸œ[ré%ì®÷yˆQEÔש/dÜv—|/¤ÏCO Úc‘à‡^pe¡´"vD8Ó»­¨Xi\ë«Gíîøè9%¥6Äíº~•U™è5“FÍA÷ÖhËsÇ#¾ñ%MêOÇì³Éä„5Us ›ÃÍFØÊT]W*æ–ÜziÜõ>?8ô›°ÿŒ‡ÅÚ&úz<¬ê6ÙÙ½úÈÇ˜Ò ÿŽGõÁ '܉4* œÏ’R=âv]Oï@ȉ8QÅÒ'çF¤Z8-/îÝ·Ì‘¿„¶[Þaµ5ÖÔt,}rÆv$zìžÉ…ž[ré%ì®÷é‹ÑZ3(99“ ,Ì¢¯:Fl@R¶ µMŽhäÄŠÊ ää VQbQ(Ç®¶–äÜ’K/aw½Ï[ „oªŒ,Ueºc{W+hùö-)~SˆiO¹^bŠZÞs:_6Â6¾l4öòÆxnÉ¥—°»Þ§U/ÅnòÙHŠÊ§ퟢNúƒÀ˜7Ë¡ŠªýEf†p"r×2÷!ã°“xÔܲ<§¤ÔF¸M×ó¯r0/{ôü*Áyx‡D|l<+/~ÜWRþ*£d“å/ŽcEݮŔÖ0–•<öt­Ìœ[ré%ì®÷¹%ª—›Û%‡Ù •CÓ¨gòHÊ÷ 8R,ç?ÙXQ—MÏÉ™v˜;è0ÕØÃYZ9÷°3z »ë}~·½ßôÜy·‡Ü«-ήBÿÉTÞm7ù“w¿{QÙ‚:9hjlÔ·.96©¼Ûnré%ì®÷i•@DþÌá>äfà~uü¾÷®H]dðÒmçݦ‚–"~Þ8ÃÈÍÀ…Á¸êò½1j]Õ{9§¤ÔF¸M×óê(…ù’sfu”Â××­Ök<`n.Œš”—Qßä0e$–Çæ_‹CŒ°…öMêOš¼›\š »ëýb8/üðß-†óÂ2«Šáä]«*†3)Xñ\N9žÒ‰53Èœ]ÉØÎµ ±{©óÜ”[/bô>ý^áÔ gtó)*NåÛñX–5øÙö¤øÙ£$MÊQ’&±¢J:5Åé°”•–c“Jûà&§^ÆîzŸÇpÞl}ê²Éæ`±Å F<¬C8”“rô‰úG·åú6VÔ*›lK˲È{•MöÜ’K/aw½Oo½—wìI΋ûN4ZÑ“jâ®Y’Ê›éXrF+êYvBqÐ£ÆØˆ‚{slRükÎm¹ôv×ûô{…íã}¼õšª…ñ= Æú,:IyE=ÉÁŠ{ ñx÷5ãòsíAÑZ½Ö.þú£ù³¤Tˆ¸]Ýóƒ4öÃÑÝ6#9“¦z ¿§\a¡™”҈ưÙh‰Õ­zršÒ›ûRŒ]÷ƒ´Ï%—^ÍéÒû´]ÚëæBœÚgcT”þ¿PÈáB!äv¡~ ¾1!éj‰(>c²›:q¿bJ‚£bNK¡q›®çvÜ.Ë@I;.8ƒŽcšu¢÷‘ ¾%e;î=—¼3ãCXQÝÅ“ƒJ£‰EÒ;«”æÜ”[/bô>Žôüª5_£u`0è3iÌ2»’úÓæülr÷RÂS5°·Ïßjà;mï½L¤qxI©ÐeCrª{ºÍÊ =²æ‚9°w‡9 âËE^% ²ãЫK>ðO5VÔj+kNç÷#,Z<æØ«­¬ç¦Üzû£÷yc‰†IÃP2V÷ ªãA©·x;Þ&ü²|SúâNÄE8Å@ð¸q‰÷¨Ó²ç””Ú·ëú¬·ô^9¤Ú–Òé(t>©¡jŠIùY¯&ÉKíkêÉjsnDŠ û=*kϱIù>\î%—^ÂîzŸ—JþžDoææ›Ñè̼â5ùö´{™°¤¥4ü#Í8™›oF¡! 8v+ר«—¹æ´”Ú”4€]9ê٪ļ±Ò/»±ÅaÓ‘†Ú¦ƒ—è°¾Ž¤þtUº6¹ò¥„UÓú`NÁ>)läö›”-Ãm“K/aw½OË¿‚{ºˆ¹xɶ M’oõ Cä; l#>TKgü#±AÄÀdöÚ3NGsJJm„Ût=]•úÖÜÿ#9ﻊغ6ØÔ³gصeöM>™)¬¨æÜ›ä  •±•y‡»®¼DÍm¹ôv×ûtU"võéycØHÞÉ»5Âk×Vˆ"âKj÷2pv<û+FeÒ>q…9ûµä%VsJJm„Ût=ß`õ”|gn°à b26¹(53fn‚¯©Ü`“ƒ ôN¬©fÏQr*M „>yìbçQÎ-¹ôv×û¼·À@»ïÇÁ%d S/JÇ ô G˜NWquzíle)\Œ#Ñìé4£òXrÛ\-G-˶Ë9‹ÝЦú8N]ϯ=MáŸw^{À´¦VÈšî“1’òËþÚä¦8aEõݾ3UñòYXö2öØY ;ç¦Üzû£÷y¦vg0v ä(?¡:áÉ@Ä+k둲 ö^ò†!cM•U­šœ‚ØgcËMç-Ç.«)°æ¶œz»ë}îöè®éö|ÀFä}}jµõÓ H¥Ûs.ycå3bM]Ù„Àú¤ìh¢±G6!ðÜ”[/bô>5Øâ=7‡ï@f ¨HÄÖ³ÈÞ¥^¯qêp[ÚTº/p"†ï@fà4Íù®‡lŠ@ÅëïûX¸Q ³±Ð6 ¾Q‡ÛR”è6ŽÄãpS3n¶Å.ª?>•„ƒŽ¾sZJmn·ÓN]O¿J%W£©Åá/L "K‘ÑÒ%)~Üo¦’3jÄXQc!n)æ»°üuzì¶Œš[ré%ì®÷ytüõÆ !DÑØãá Owû‡Ç<|èdÄC1,=À™¨«‰…HùyÙø£’àsZJm »Blºžî¶ÍÍ’ƒy슎þXãâ¹7òê¥]Ë’ÃcXQÍuÛ“SY·OXök÷Ø«Ÿ»ç–\z »ë}îÎvWj»=ÅéÈÈlèÛ˜<»ž¤ì Fijäi:ÆŠJ‡prЖ3±ÿd]Òìç¹)·^Äþè}ºDQe&Œ¡*¿”th`eÒB”ÜèL$&e“Î|–¼ÑCB¬©Ç÷Æä ‘ÈØØfŸ›ÔŸžÈõM¹õ"öGïó4Ðïîý ;è³/=ãñÞDÃÍÊh¼i"ÝÍ%¥xº‚£òOÉx‚ Üs3Þ£’àŸbNK©žp›®§oÑ•!yzvÎM¿qáCá¡ß¸" žT¾.79ýÊÆŠš™ùiΰIøY·ÝÓmã¹u3‘^Äþè}îóŒÊ>ð›6ƃF®ä_¨ÕÑÈ#aŸç•ÒöáDÜ+Έ î0nÆžëQgÆiNI©p›®§–¿ÆU×V`¼8ñ¼ºEj×E³kR6²Éé‚6VTËÀxsV 5³®±Ë Œ×Ü’K¯üò®±O-®þkYþ‚Xa…›-\Œ7-waËß[SŠÆ‘¸–CŒÉ¢×Ä ×˾MØòsJJm„Ût=Ý`'ï!ïrx’ÓŠ •÷æpH—[OÊÔ¹ÉP’XRÛ[&8¬,leE`MÊ÷«ºÉ¥©°»Þçöø¨×ñ jÜgçt†»ÀÕ¥ŸöOR6´—M~±}­°¢šÓ`“SØØU}=6)[æ¯M.½„Ýõ>û^£ÝÍüHhMŒ°Á7‰Ðe2SNRæÐ '£âOÅp狪¦ÅwŽZŸí9)•6ÄíºžGÝFC‰Ù\"9ƒQŒè¦Ñ&Ú}Æ/¨%•Ñ<›¦ÈÄŠj+FW¥ ËÌ]VŒ®æ–\z »ë}øUâQ‡Æ ¼‘Ñy»þ~èÑQ˜÷îÈ€N:ž–¾ìéIŠ?ˆ‹†Qý £ŠÐ¤/©Ô#n×õ´É€}t>~…%ç7J5>ö¾¯¬¨•!Ia;(2œr<+êÉèysn4^6 ¿5Ç&Å¿æÜ–K/aw½Ï¾Ê/xïê^`B²/„Æyîhr²É¯ˆQH¬¨æ»jrj\4K_”Ç.ù3ñÜ’K/aw½7G6´XëÍ@NçÅæ¬IÑF´*Ö_°P[:aFNDV¬7•ç…cMzº*ÖkNI¥ q»®ç=©PY)ÍæD1θ°6@Ó¡p¾IÙ0&›Sa‚C­ KêJ#Fr×i@¨Û5½ÞaŠ͹ÉIMýÕûpUÂPŽ´d˜1mFéh™)Kº}¾É¸ø ÎÄpì¶=‚^ƒ§Æ£6Çn{NJ¥ q»®§M:?–•”Ä JÑXðß—vMŠ›`e7DÉñP5ÖTµ{-9|° ûlɱIýI“wÉ­±?zŸ}•7~9}§ÑšîÒ7~e}Â^ôÝÅ{0¿\°ÂIŠÒ·Æ‰Ή2OCãš‚ê{øSÍI©´éŠÌ_ºž¾ ñÊYW«Ò4ì[BÜHPéâÀDñôC¬XÊÑ>±¢z6e:‹þ•9vM¯‰ç–\z »ë}¸Á¢rk¨ªX3P,ëBÍ×8æãò‡’°"´k^KŠb²Æ‰ÈèW3¦öbà†*³Ž$t§mK*mˆÛu=}rcÇÖÏÆ‰®­ì¡psÓŽ~‚õ^MýéYë’OX)Œ%űýÊ¥oŒ(â±Iñ¯9·åÒTØ]ïÃUY8]õWi&ŽC!TëñeÝü$IüqÃjOé°‰ÿ­Idã13àBn ˜FÙuLsJ*mˆÛu={m4^» š8Ì(aÜj,hø2­K§±ÃÇ -&–Ó¶bìãcÞeÕÌy˜àDìdI~MêO濘Ûri*ì®÷áY‰˜»xÊÉgÆ«æ°Ñï îXå_lÙ"âF¾¤¨LmœˆÇ^83õ,ƒž5* ™òÞ%•6Äíºž§Ê^_÷ó^Fc2',~Ž#sÑDù ^69*ã%VTͰsØÜYØñ2„c“â_snË¥—°»Þ‡_%¬:½gl™¸ñO47í¼|OžzÆ–M$£[Š^•Q™¢ãçôÙ(0ÆÄ‰Ýv$¡Uy%ã‚]B8¹kšÐEãð3õ¨Õe*='¥Ò¸]Oß•(Ì•"’î  ñqƵlVžœÅAa©›¼3KCXQOz&͹qsö»eö+Ç&Å¿æÜ’[/bô>þ*þ2äV5ƒñiOüDTd/\¿IèûiKŠ|áLd&€qŠ_Æ]¨ì¬Q¯ì¡9É6Äýèzþ‘&ïzŒ4F¼VñkÝ¿~ÔOïû:ƒÏ¯-ù Ï^ØázLïzŒ\ú™”Ä^¬A¥±Iù1Òú’Dwù½¯=—®–ÓמK—O†À±‹ðƒî­Oú~Ê’¢c¤p"8ª®=jx=¦ql¾©QWoNÍI†ÕîG×Ó,jTàÒcDœ›õãÁñÈMŠ+‡z–3’ÏXR× æ0‡Â^ ÖÐØ× æÐÜ–KSaw½#Ю;îÅÊý0)§߸U³ KK"tyá©°g¼p&n›¥Í@wãlãQ§mÒž kã®,K×ÓU‰äx†¯Jrfa¹š—2¥¡ …E”¯=u“£=«±¢FÈ“£ÄbÎMêO°{É­)±?z[{ ã¬õî2w öŠDYfÈ'¡»ÌXÒIqÓþ½¸ÌÀo͸¢h¬–„¬=eI¥ q»®§g僉ÙËè³s:¬öñ¬½ðÚ)/N¯™ÔŸÖð=—¼Á#¬)ŒíuNž¼7o:•clR:µ{rR/bô>öŒôÁ ØfÏH§U÷;â÷ªáû÷øòŒÜKŠãDÜŽA1ãŠñŒƒYÇ£N_v='¥Ò†¸]×SìË“wú]™œ‹¿þÂ$Ö›šÃ Ýêé{Þµ±äÃE• j‹C§³lº°Í¹Ÿ{‹C×Ü”[/bô>´ö0'áŽË1ƒ•ꙿðÞêµZ“€.((ÆÄeD8Óq9fÀòn,ïµe§ÍI©´!n×õô¬| ¬Ÿjr~ý—žÈ–ݿÖþýœïMÞ3M¡-ªú›œBÛ±ßó¶!^GznÉ­±?zž•ƒ'øí>f<8&OûÕŸnn+¯ïÞÛQIú"ÆX8YšÙ ô0õ›=êtUXÏIéð£Þ¿ºž—„½é¤Ê¬8fk^¥bUÇ•¤xúÑO#yã…MXS5o°æ°û—°óå •c“úÓ©}mréEìÞÇ!qaŠáæ€ÉØ’ïÏá¢9‚PJÜBï$ò.éd sâDT«f”¸×`8Ö¨$t/žK*mˆÛu=í‰5>°$>;K&”SÛÀrŠ'rMÊÑ:}“ãÑ—XQÕ†ªäМ%lÇóؤÛónré%ì®÷±ëY¯ÚìzVT|Ç Ã‹¾  gþ~JJ/š‰‘…µÍ@8á.hiTz·ŒdXâv]ÿAÓ ySNY6É#hásãü­<¯zR>Ïæ’W¼š55Vâ²8ª…eëOÝV Í-¹ô"öGïóÈò ÏQ3²üµôBhM˜Ê¢UŒ-Oz–dÄS¿gbøhF—¸ÏÚ\ ÇsR*mˆÛu= Ój~l(;;9òÈBmøÈêåUQX9ïEw·ä·]ñõYT͈Ws ›˜ËmMŠ͹-—^Âîz®Êq¨edÄì£ûÀÖ]`e—îšè+Æ&³Â™ÈR•f :Ç8”ô¨Y§ÒsR*m€ûÑõÔ3ÂçAE¼ægç<0=Øß[ÅfÏFRŽí šåˆ„N¬¨;{‰›Ã€Pcá.ɱNJÒÜ’K/aw½#7ržØ;ì³ì,a;2,¢çXazG^ؾ¯½¶¤ 5‡Õ‘ŒGÅŸŠÁŽdÄ© G%os’aõ€ûÑõ°ŽÀ‹¿'-b¼xäÇ}{ >ïäMü2ñ‡?}PB[R”?2Ä“¶3ð¼îÁË_£>iМ–R=á6]ÏûM£®;û)ÚëaÝÎI«üÃz¢wRÿÅ>Aï&eöÜ‹ÂØüë×–Óq'özY@÷´×A–žÛréU²-F_cŸyF*²£Ë“ýiÍÁk8¼õaN«h~ýxÓÖlò¾ÿÙ–7+êñ=09hÔnla0ŒÆ.׊9àÜ–K/aw½Sw"кf3A3ÐðAI£ðH~ç|PqC„ž eIQsÃ8ÙLÐ 44·Bš—FÏI©´!n×õ4¶Ãd÷B9¹ÌAþ9³wÒK‰$ݤøö»#9Ò‰+ªøÉeNG™±'†Æ&Å¿æÜ–S/cw½Ï¾Ê9£HáYiR:^šb¤½4Ò<Ùú½™ÖH)2“Œ‘9 f È8„yÔÌIðœ”Jâv]OÏÊ'î¾ÑþñY)Ræ#c1‹²G,¶Q“úÓ%©orV÷ÖTÉPKq*ÕÆVÅ›slR<+9·äÒKؽÏJdÕ"ýŸ(|xóÉSpccŒ‚•» )ßZÄ™¨6i‘U8)]£ŠÀYI;ÔF¸]Oë¿â6 ÍônNÎÍ8¨™:jFoM 'Ûý°î¯ä¨\ŸXQ—/IÉ™°ª;`U÷ØÃ—¤œ[ré%ì®÷áÁyuÿ#Ü?Æœ=`XнñvR/•²-Ù?æb™å7»ˆ +êÎþ1æ°™š°7­iì{5bÓÜ–K/aw½Ow[Fþ·–xÌá3,mñ¦oƒ9öoRÞÃ>nùÄ%ÓXQ-ëð˜S™G lWÈc—,Åã¹%—^Âîzî¶Õ. ú˜Ô·Ñ»8Õ—YHOHÑ3ÌÒ ½…‘ÕÑŸQŒG¸µx4* 9Çz2¤p»®§w DÊÅ›\E’ƒ¢quñˆŒÕO—º(ÞSP/å(Ö—XQmåó‰ƒ\¡ÄÂÓžc—Œ%ñÜ’K/aw½ÿ‡'J²<,WíDžä…ªa­¢Qêgç Ð[W‡¥ŠJoñ’ò‚*›uí+*Û²&g2GØÁ%¢±ÇJãÑÜ’K/aw½Ï¼8—ËtÁ3Ã^Á[mà}ˆ7x6®ù.žžŒH³½3‘ÝÌ@ã,áQ3–Âs‚am€ûÑõ´Î“Q쮸B«8ƒ½'QÌŲš ¢x.Á™‘r8:+ª» rrPõ1±ŒwðØÅ•snÊ­±?zŸžypÕFtFQ¥2s`«# ^˜À⤩Iù\ê›\•Š„U³K´8êqûàqï±Iñ¯9·åÔËØ]ïÓké`ZIqèCr0Qw¡‚ÆB‰HÙ(369¢M+ªd^ž8í&ý¾ "îLc“â_snË©—±»ÞÇ/ŒBïFËFaŠ/Ûzfø¼0ß–ÖÒ¨ù“Œ¾lãD¤µÔ | Æ•øùyÔâß¹ç¤TÚ·ëzê„dm¡í±h탓u‰FcÐ ë‘¢³Ÿu,gÍ#cE­Ç¢8zð «Ç ÆÞ‹šÛrêeì®÷ở17êR6ÊV?Í…an4@©· =æ{2¾?º>'ârÄX¡ÆazÔa7«ç¤TÚ·ëzzE ¬#œât¾¯o¦Š1³(òˆ“âáö²¢å7RìŒ5•eΓSx°Ûa©óØ=Ëœ{nË¥—°»ÞDZWa[i°ó}6z%<¯sµ¾Ë(®IøÎ¸¤9Wìž)"͉f\qô7Ñ L£N—²óœ`Xà~t=<8ÃfyÅJ¯êî,Z[¢Ñuøl(·Á±“_=¥°, 'bÚl½ŠÂñ'©Q3{ÆsR*mˆÛu==+Q…¸=«¿¨9ìÊàXXcâ¼b°×³ú‹Þ “üFx±¦VQsPV5±H|̱3¹2ç–\zû£÷é£âÂ|½¹ñKrPÒ:Jo„vQ âbxR<ÏpO±üAâ›±¦Zf´šƒäÄÂI›c§7ç–\zû£÷áYI/RG:ÿgc°4…Ž”þ·Ñ=žUâÇ´¤ƒù•ĉȪf »›q(áQ‹Íµž“RiCÜ®ëéWÉh¨ÚW!qx$GZ@¡¿ˆUTFRþ¸ÃTjù±±¢²èsrh6–ö`]W!Í-¹ôv×û𫼼¯òVf ¶kÝe¾ï£÷uJ€‹îFÝŠäDyõû22©ê ºä÷Ml{ÕRy&±]“$ÍkRìÝ»ÂçרØÀÊkG€9µÉã*K ¢ly\== üǵ$§²UeË?õÅB‰*Q<ë:‹–öcVTñ¯Àœï•¬ˆm7_\›ÿšs[N½ŒÝõ>í,Á_Õw¥(»Yœ^Øê`ro/l%ÁØIá³”MÞá¾3”Ææ_‹ƒžFÂ"ÈòöØ¢ø×˜ÛrkJìÞ玭°Ý·Ûl’ƒ7˜C¿;fCFC˜Jߤ| €*ËáöN¬¨ÛRr.ü8eÝ=}&åÜ’K/aw½}”QRŸ>–ÏbÐ ó Ò—4>IWÑáº2ÞJ8UÏ0üèyè!»»G%¡·ÊXR©GÜ®ëéÖ«wûȲKæàNb¤ÖD#â±,·oÛ±™Ft‘ä/MošʂþÉé¼C ‹z‰9vKW¶ç–\z »ë}øUNfÜ WR4cªñôÃR|BV‰õ¬€Öd¼h×+œ‰adžpa‡ØJÚ2´DsR*mˆÛu=ï@EG:¢U?;¨Ãˆ )ªácIñËH@²|¢N±¢06ÿZD¬&­Çsì’©ž[ré%ì®÷é)ÊÜ¡:]À59¨WÍÞ&# ¢idA6‘(숕™L’Wf9 kjÚ:­%NÎ;} 9·äҋؽOOÑFµº°'g¸+þÓ] î¤xÒ¡å}ÊQU)±¢z¶1§ù7þòjc]³³ˆç®ù3Ÿ »ë}ø½Î—áîņøä°Ý3Sd6Äõ«BÕØ$ï,p$lw¹#ioNÄOÎÄFÎúc“ú“¹'Çz û£÷é)úò¥Ð³ º9c/ŒVQñ~§Û”£qæ½äQ¯ÆŠêYÝx"[³hZR6*anÊ­±?z›‰(õ–ÍÀOä»IN:?&‡wz:¾KÚðÊ$ÎDÖ[6×7ââbSo*BúL†µîG×Ó¯Ý#èB?[sÂã;`YÃ¥„Yƒ×ÍKK]þá——ÊãÉűóËp¬Å™+lÔê½rlRŽ"ºï%—¦Âîzo}Xí²ñ¶ÑË5Ðü-òåÿB5gºå\Kzá…,œˆá¼!3ÐhÜ8^¤4êºfiNJ¥ q»®§_åÍÀ©ßgç°|Þõ0ÌŠeö.ØQEùËQIÑʨ¸÷N¬©šs a¿÷bxL96)ß„ç»äҋؽOOQ8ã¢Ä«â’3ãao>$tÀ¯Ãx¡âI7Ø0@òÉÆŠÙkÝœÎv«Â6¶[ÕØÍ9·äÒKØ]ïÓ°Ÿ›Å…³QArxï¤[5Žs$µ¿ðþ•lTo‘œFç­±¦²QArX5ÜXzÄØïâ ‹<Þ¤üÙÏMŽ<ÅÄ’jé˜OÎÇ¥° Áh›”ý¡u“KSaw½ÏÔ“^óHíL9@ׂHí¨ø1WG„Ô%Eæq"0ªŽT\³PÞF¸‚z6•„Ô%¥6Âíºž~•X{¬–ÏήôÞxÑE,2bçEe°Ï½äˆè5ÖTw4qr*¢£ŒEá;ÛçÜ”[/bô>ö¼tæ8<éy‘é­ÀóÒ˜‚ñÂó2’çåZR¸™Œ1í“0cÈm\—Ûp$¡ës[RiCÜ®ëé[´ºo«ê6%‡ejØ? ïÆþOR~‹–M~±'·°¢2ÖNœˆû} O§xdz_K ŒÛU>›EMºü^;lL­`ÿìläøì™¶u³‡íHŠß –³—±¢²CFržXä€çØÙ!#ç–\z »ë}ú½2öa<Ž[Mš¯Ägÿ²˜QDgö×¥´ÛÔÁ¸ Éc2„5õx·I¬òÆŽé4Áš”3ï&—^Äþè}šÃ‰nÓwwI]3P¨Bè!ðò0L0~ýš-EŸãHdL€l@"œJ;rÔ ðœ’Rá6]O·Þ‚­¼ÏõvGÖƒJK >Õ¸ ¼Iåö¸É'"øzZêí±mk¨tͱ°oÝ×ÛEsK.½„Ýõ>¯Bï’-Ì“s³S1LÈ¥¢RH»Lq{,xkIÞèÖÖTF³$ÍZ‹“;£YrnÉ¥±?z~¯|8ã‡/[ƒ9ÂÀÚí4ý‹Ú Iq”Ž“¼Ó$¬©+CÈÌA6QbãÍ5vzârnÉ¥±?zŸ©ˆˆíM¹¹É鬃ø lqúÂÇUœ¿)&AYŽ.‰Õœh–œS$¥r쬞sK.½„Ýõ>g¨¬d<]ý 9…­3ÎúUÑ?}¬"ºüŒU0ä*(¬¨™—s0Lb?Ÿcgù¶œ[ré%ì®÷éz…9>­ì±'NCM©ŠZÿX37WIR^Sm“¿>UW=q ‹ô[#ªylQükÌréU\àé}z¤ª+5l>;kqС©Åïå`irR>$ŸMÞðÉk cû› <‰EáÌ;ëjæÜ”[/bô>|ÚtÑŽöi2 ŠÁçDAÿ훯‰‚ªê$ðô(˜ÏR(f‰éòf :)ˆëŽ»j&ø§œSRj#ܦëáWU(ر²ê5#Îľ^ÙÉ ß!¼²wRtkwÞž$‡A>±¤86ÿZœÛcÜ~øÂÕØc½€5·åÒTØ]ïó#5Îæè·ŽTpîÐ>–QœÖlDz”Ý”Ô79qd†"šº\g19ø''ÿä»ûj’sK.½†[l.½O·Þ›Õ‡ÃÉ™áÜ­Q‘ñ÷J\3)‡{Ý3åQ÷±'ÖÔÈË9=¤‰mð_xìfbÎ-ùíê•ýÑûôHE©…Ê(ùÏÎÁ‡:h÷ö׌¹o î„”£*UbEeH~rX:ÊXDÌçØ•ŸsK.½„Ýõ>½*!>Ö„z½$çfä""Fâò3¤×õ¤xA=Ù”£ lbE]žLö•Ä|{8x2ç–\z »ë}ú½òÎõdºVrw…ëÌ÷DËs\u°ê[Å7Už%çíÐXQ™´•d_%‰Y9vñ;/ç–\z »ë}º^ÑÁ ýœ|UK+ÖÅ`Zp؉¢ûoR\S/ÂÀ$Ÿ0Ekªdè’8·ÙËræØ¤þ´sŒMN½ŒÝõ>=RÑGðÎpt3Tn·ê]–¬8Ñòé cVIéÀÑ(‰|zšäá.D¨jÔ+Ca5§¤Ò†¸]×Cóýäšyl33y¨/úá„Dœû 팖ôõ«§$[ËÌÀëU¸·¹F%?園N/òÀíºžÛŽbA¿·;3&ç‰hÿ°ßÄÊaOKØô’²í(êYŽHŒÄŠº³ð´90h'vÒ¤±g®xÏ=m-‚^ÂîzŸ®ÊæîVEq& QxD°Ú\k|d$•˜M~1øKXR;07v㸭 Ë+Ç&•˜M.M…Ýõ>½uDI0ë³sX•7 ÇßÏþÁ[#žwR¼Á ™PÊŸXQ™õ•¼>ÛÝ€üNêOO©¹É¥—°»Þç¶Þ—U­U¿%9L-ï“»ónv-Ìgu<$ú&ñl6VT.js&ÌÆN¬9=s]{nË©—±»Þ§ßëDFTÄñ­WœÊOóÂÏñ{Z=ü¦"Sƒ”o¦W_ò7L¯‰UìÝ0çF)3c#û©æØ¤ü›icÉ©—±»Þ§ëu°£Üe/qrPÛ0ÖÔ¥ÏöÅz{’òÍ´lò‡«[XQ—½ÄÉ|Š>î¢÷Œ5vwA¦œ[ré%ì®÷é)ZÐ:â¶Ãß æÊTCº˜*‘l&ø„Änb)ìœÆ‘¸}Y7ãbm ⦫F–"‚Ê9%¥6Âmºž>LYE?<Š+3犗2ê=°åÖ7Š­“p•¥n´ÄŠš™Ýb΀—ÉX´¼Í±»Ÿv9·äÒKØ]ïs7[¼žïË¡ŸÉöq… ‰ÍqQIýé¾–¼ÓY-¬©+7jsÝœØÛgŽ=r£öÜ’K/bô>ÝzÑ)ªÜzÅyœ¨õða­U•Þµõ¢]SÊUÃ@XQ÷Úzʏ} ;½µ–¤ø×š[ré%ì®÷y³±[UËfc·+öÂÀAwÇB‚Á )Ûcë&G.bE¬Øo¢4‹H–;KÛåÜ”[/bô>ÿ^ÕóV-ª’ƒ^SñÙÂ.‡geލ?ÀÏ&Ÿ¶+*U%§Á‚hl¥õ±Û&ØJ~¯c“WÛëózŸ^Ybí)é›1°Fg`⃯`DÉ‹¤¸YÐMòÁ HaM•ô͈s¿t¶{?t¶rlR›sÿ•]Mm»Q÷¯èa2@±½¿ì!‰)HáÝY”º!D ñxŸ®õQö¹áäEUuV¹î9½·íry•íŒËØ5îÝ„Ëa.´|øX4ÑsñÆuGôaœ¦””ò´e±7œ% +‰¾ýK5ÞŸˆ—’°Q9Ò7%&8¶ìŽ”Ø—¸7§Ô¸b ‚zw·–â"·ïç–AIwbsÙ-p ‰¦¶¢·„q& €èBfJ®ìuRhLYpK¬_(Õ>ؼ¤ÍRm®;®æri´0),§NÉǧ£LûÅ/_XIÙJ'5Ì‹néûÈW¯Ç–½šŽ­¶âþBå «†ôgkMtXx0­áþúž`o˜’'I°íÉÞP‚,¬¤š¶©Uбmeì›’§Ô‘šŒ”Ø—¸¿°TRVþžK%öÖR©‰¼ŽK¥3%/•îÅNrc%ÍÂnkPkìI>Gù>ga·Æ¶]q »Æý…\ï'tTçÉRƒãäÞ"‹?°ÌÇΓe¾Vvår…•T'KD‰íè£bß=û¬xlÛ—°kܻ٠_†Íå©ÁVdÝ'ÉÏ×I\à>Sb–ïðvög0VRKRkÀŠ—X\¶Mß%‰<¶ìŠKØ5îý³™›ß}ëy6só·AWrtßíä.´§äÓ–2í ]éµTg§Ui [´ÛÛ»Ð7¥Ü/vÅEìKܻϫ4q…écÕ£Ýqû÷ú"1*ýÔtÖ,`‹Än玢§”è“vάÆZz|ÊšÛpaâ÷*Ó÷•u.[vÅEìKÜûÇl…ëÔzä1[Ñ¡åA6IVÄA·X,)ù˜í\ìhdXIÕÄFÖ\8k0öBmû¾²Ë¶Ç¶q»Æ½_‘ ”²ŸJ£#Ðý.î;”|v-v”ç$VÒr|*Ž@…Õñ¨|/ǧ[vÅ%ì÷îóÚÙêïpKÓÔðS¤/¹Œ³ûx«¤äçµ,öƒß=±–³l¤À‰Ek¡ô];˜cÓ}‰{?ûe¸tÅšZyhÉ»èÑúïÀGA”ü>÷´óž»±”ÊòtKÓ™o ¶à™³ï²<Ý[vGÚ‹˜qï.•ÔÔ2—©iHhÍ6—'¹pFJ\Î\®ƒývÂXI¹|H –Æ^XØ÷•Ëm»âv{·Èw OJqe‡pºRåÎÈR`Š9[[XG¡Ì1:z ÷±‹^)|Wæù¶BÑ÷ëî.õäC“—§Sƒ иÈun刖w’×Á°w¾Z…•”—§Sƒ ÐÆž¸mßg^žöض+.a׸÷ÏR®Luy:5·*w oD@)ɧ£u±3oi¬¤êËÓ©A73cIb`ß”¼~»âv{wJ=ý S_ÞÔà­_UœÊÆÏ•’œì)‹}øÕ ìÈ¿O’#kbAœ¾³AoŽ-»âªž€gÜ»S*®{FªÖ‰_k:“·O<ñÝ"±‹‹£’\‹òL{|Ûgb-Ý™øµæŠg-±gìÒ7$ï€Å®¸„]ãÞ}õ¶œ2õ»ZÃ¥æ¥t,ºìÄ.³§ä—iYì,Œ5VRöáIÍÉJ´;§Ü>}îÇcË®¸„]ãÞý]+:4=Ï,Þ–¦3—ÃãÌåK>Hûž|‘[vÅ%ì÷îïª'û¢Uƒ]!ø§Øïú7U±ä_êN .œõÄZ‚o¯‘UwårÆÈÙwÉks[vÅ%ì÷þꨱ@aܹ:jd «b”jø¥*Ÿ’3%?Swvñûø—òl [¾Ë¢1û®³]ŒÆ¶]q »Æ½OÀ÷)Û0#¼5»€•“=•ªŸ’–’Ÿ©s±£(5±”èÛ¿ÔÁŽ/£%v²¶”\"S^Ø©°kÜ»\I¬î/ùnJ Þ/ ½ã/ºn¢Þ_æÀÁ»²ÞCÖR¾›Rs‘ÔIØ“\ùòï¦[vÅEìKÜûdû›šÝÁšoóVãÞÂ’6\ç„ïþ!õ†íÓ>±–z^p´…¿Æ>7oZÒ7%|ZcË}‰{~U§ÂóÉùUÝ o>Sƒ%D7;qÕ”<¿Ó÷ÎÄZºünJÍ *ScÙ¨Á¾¿›rlÙ—°kÜÛÌt˜¦ºo[á-JåÊõs°Ï·ü‘«¨µõæÌIœ„ ž®qkC¯´ñ©ÓÚ<‹Žúë>eú ±±î¥ï¶Øt} $ç%%îO.²ÇÉ~c}j¬¤,§L š1Gewú¦ä½O_ìŠKØ5îm æÈvÌ ™VêÔu’o>zq¡¬\‚¶(}ZYhMœ…Ù?O ܦ4® Cž¼×éyL( p/±~¡½Óþw}iïtãJkél±Ä‹tEíRâ µ^¶÷jf‘ÀZj¾Ô”šÊÖÂØÚwqÑ`Ž-»â"ö%îíž@hhß|8lŠâ*ƒ• L{…õ9Wv¬,¨pL;ªM©y›šdù–÷ì»äVVCCá ÈÅ·†¼{VÚ8ÉÃÁǪáß»¤ÇÔ÷aQ$qF$Ñ‹í7ŽÂJª~+§¦à¾,±ƒ¡tMŸÅȶ*(× ÷©Vµ]}’j´ÑŠ1çG[Õ¸Ã{ )K ¿ÑIzUÛIÄj¬¤šüÖ {£ Ÿ}ßÙ£ÏcÛ®¸„]ãÞ¥×&¿ÀçÆÞœÖ 2’“àóQ‰&·wãÝXHœ™®³ýBRÖXIO2sXssª%ö¸8ÕÒ7%~šcÛ®¸nOÓ3î/œ†öcñb—šHdM¾çÍØ:¤”§á‹\ÓÆŠyzL‚,i:Úí ÛqŸØ¾)åiøbW¤Â®q¡}iC%´j{SÃþéÈbëPÙb4%oKÎÅÎrc%õ± ™KßÍ__Ž-»â:Ü‚xƽùS²= ?Rq,¶Ÿ¼c‰²©Ž¬£-ZÇ´b†7ŽÓ=½ê÷çÄÅ|óy•€bL[qk¬»[Ч×b¤…‹4ôÈäQí·zCzúŒWô¢×8ôÊRA†pâ:ûÌÒ+~cÚÊð„[býZùBpŒ¹[Œ4ä,!ˆF •%—¥,_¸¦Lû‰•ßY¾p€V'z’{¡"þ!­å ¶+.a׸w×·l‚Çn¹‹æ@Wôwiä;?à‡üp”¸e™Œíä–3–ÒlÍ›šŽž×²s®}Ïî¼ÛvE*ì÷þ™wlåjMb+kép±ï=¸Ë|ÝqYÊ|^jDEe¬¥:‰­¨)c!§Š—²Xñ”<ÍÆØ¶3.a_âÞï„{«Í½Rs°ý«è^PÔßfI)¿û6ídŸ7VR¶JI X=Ð0ξlJç±ew\ľĽ¹oQ3ˆÇ-έ@ƒÕ1œ«ºH×}¥ä}˳ع.%4¥Ç ÎSsã&­± ÓNßÉ0ï¡¡Ù²"ú­!ïΟtߌ8r¬Á×{G´ÙÆOq°£±$Îq\„Û~òî²°’Z.ˆ­!½°~û>²Ò×cÛ®¸„]ãþb¶áÞdÖ4^.R/´ÆËEê•FÉOê˜võYÖ]×Fv÷²¦#Õ9{¸µó}éñÖ–ê”Å®H»Ó¨3îÝóR0p|, dE"ÑÐÓû çüiÓž;~à Öã(þù­ ŒpÈŠØkõVÞcÒªhˆ[cÝMáž,³Yã)̓ d0ÑÇ••íWƒ¥~¤ä4k]ìƒ{Ra‡w™®ñ´†T2ÂÞ¤’‘oJü4Ƕ]‘ »Æ½›÷ãŽà8ZH ÊöBB§ÆxHqg×¶?N;“²ÆJ:3ák Ô‹#¢ô‡Q9¶ìŠKØ5îí%nø‰K8ÕK\(š;\(nSOÓ‚–¸=±ôn‰“PM¨"EE#bá>ŸµÏÿ“W ZâžWZpk¬»ë"ñáΊ޶֌xçcíÒ8Uî­§Ä9®s˜¹»ø‚•Ô}_&5`’0¶`Ugß”r͵Ø—°kÜ»oÛ†-@_N»¥Ñ‰5ŽX±ïØÆ?)yÓ?;IÊ{ž”Ó¾}ÖMžX­ÒÛô½œvklÙ×å„ÝŒ{¿iŒ¼>³iŒú—5az¦«iLJNæ ¹¬ìg‰µtfúÁ4ºO,îï¤ï6ÓÃi¯cÆEìKÜÛë¢ØZ~>êJ!“!A¶vrŠäÚe¤ä•N]ìª6µDÏþ™ é\HË\ˆ}SÒºèI…£ò%äÝù“tš¼{ý±jØìAaBå½í8®)±&ˆºmç•c‡Y.ÇRTxàšX°v¦ïÃ×+rlÙ—°kÜûwštn¹ƒ±æ`•›Œ3«|RrMP[ìlšb¬¤–;kÀ„hlç­Bù¦ô]{侨—°kÜû'/¨ê¦5M x~âô£r…DqÓ(%¿S¯iï$ÖRw@jžøy=Àócß”|òRûíµü÷vêïâÙ‰Ÿ[N`ûùx\>÷νûÙQ–„ß·ƒ‰³p¹ÎÏŠG§Ãí†#q"¯y[Õc>X½·ÆºÿÒÍDnïdͼ\¼ø:›>7æêKJ~¶ÅNŽa%Ñ7?- rzÆ6½°é»ÍºÆ–Ý‘û÷æO‰ëóq¬ùÅ &ƒÙ%ª?:V>-|é¬ ’u æI8 —g+P]nZÙÚk6ºõ˜´*âÖXww¡¨urc©©øêÃwFc¥ýqSr^v,v2î k©87fÒ%Â<ŽöM‰Ï0Ç–]q û÷>9ÎÉŠ®á|‘4'NÀ‡r° ae§$WþôkÚ/fÓ…•ÔfEiª[Fu^Ý|Žé»ä=b-»âv{wmØõ—‰ÐSs³(æ`Ÿ¡Çµ²5%Ît7æzÛ¬Œ•”ßLjtæ(lãÞO¾ó›É±eW\®qïŒ߈0 5÷¥NvÏ»¾<­)ñðòÌnáIY¯‰½|cÂ<‚Ò\¤»ö"I—|Sâ§9¶íÅ·"Jÿ!îÝ-éà=„bjÞÔTÐëÆa;k*ƒz—=$E<'›{¤ý`ŽVXI%©y¥©x;[ñz²oJü4ǦÆqû÷~ug²ÕǪA™ŠÜ”u}ÇÁÙJÏt@ElÛ+NDµ” ¯Rs1Ç$ìéüÔHɇ®[vÅEìKÜû%F˜<¥Çñæl<ÂŽfßã`û°á;V{5¦ýbë1a%åÓÜ­Lì…*û¾2ì±eW\®qoîcØÁ®åkØ \çý “Øç `pKÜòM3—V¤`Õß¹Öò5crºÆ¡„Ü^‹¹=&­Š†¸5ÖÝ)[¬˜¨nO©Ô¨{hoì5Êî¡ýàQe^ÙŠ"鲨y€d,%úæ§¥éøá…ƒÜ;}Sâ§9¶íŠTØ5îý)5Vc³/CjØì":xòÒÂÅòX]q09N!+®íäÏ5VR‹¤æÆÍac/æîåû2·PŽ}9·ß®‰]ãÞ-4ºâ-9’­Ö ÒãÇQ,ˆÙOúX 4â8ˆŠ˜äë)œ…䩵‚…~¡ñŸ½f‡A)+£n‰uw/ª>Îw²@ZÓÙ—±ð.Ù@ Ø­vo#ÛâÝàèO;èû+éNHkPD“ØÉ û>3yá±iw\ľĽ»=HY‡ú€Uî¨ØQ#ù¹#%Ÿ{^‹ýáÎTXI³ÁäåËæö]\Ï‘cË®¸„]ãÞÜÀà/Šß™Ã¶4÷}¦¨HB{Ì VçÙ¬¬§–ÂI(®ž‘¢!½.\Cc:ymÙ·NcÊÊh„[cÞÞÿÿÄøþæ¿þñï~ûþ»Ÿ^~Uþ÷§ßýà ¯þûíz/ïÿüVßÿù¿{«ñ÷¿«8E9°u:1Ñÿ“~þ—÷Ÿø-ö9È÷ÿëO§²x ñÇÛ§‡jéß%dHü¤¥}ÿó2È_þ©ä»ð.¾|C²ï†µ±}[ ß¿ýö¿Ü—Üÿæo?_°ïßþüŽï ä 64æj¨aûöñþÇ_ýõ/¿üüëÏ×äû¯þéû/ÿñó{ýõŸÞ¿ýþío¾a¨ÿßUEŸ¿èª¥«?¼ýõ?Ò endstream endobj 348 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 329 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./piecewisestategraph.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 349 0 R /BBox [0 0 504 504] /Resources << /ProcSet [ /PDF /Text ] /Font << /F1 350 0 R/F2 351 0 R>> /ExtGState << /GS1 352 0 R /GS2 353 0 R /GS257 354 0 R /GS258 355 0 R >>/ColorSpace << /sRGB 356 0 R >>>> /Length 177123 /Filter /FlateDecode >> stream xœä½É®lY¶%Ô¯¸_à¹ê¢ ¤”@‚× èP)å ²Áï³ç(Ö6³{<ÎŽ|‘¢á>ÜÊc«˜Õ˜cæ_ÿöWþõï~ý_ûïù¿_¹ýÑ’þ¿ÍþG9ÿø¿ÿ÷_ÿã¯ÿóoÿæßÿÿÍõë¿þ—¿¥?RJ¿øÿÿÿ/ÿõ÷·üGO¿þŸ¿ýOÿó¯ôëû[þõo¯ÿý»¿åxÚ¯ÿöo­·?RÿUZ‹wüºðþ£¬ ?fúõçßÚ¸Ø^¬ ¼ÿH×ã=ý1gýc\¯ïåJ¼âK¯Ìx•?r»pûcáýÖø# ÷?ßÌÀãRïúGéÀï·¯ÉÀ×Óï?:Ÿ÷ï Œç7~þø£ÆçýËù/µü‘öõú5ÿ±^ßñÂc¼|bàúòâùéå_ï—çË_ta~Cýŵê/Ð/R›Þ_¿XñŸï_´Î?Æë/^w,ÜŸ÷Š\ßï÷¶b¿ã¹þ +ÖðúC¾~}<ã׿hËü¯ÿþ›-óïÿ×ÿózƒùG\ÿ(ØãUø†ü ×wŸîú“ã2?À_1'àœôükusÓ\ï?ø…V^táxþÿò·óßüKþõ|÷ýbK§ø¥®-ý KR¯ÿÎÍÝ®]Ø6kkøÞ%þEøOàÊÍÜŠq!NÂ…¯¯K8óùu'blžÿØ X÷õ…2q|<ûñÁï“–êýïÌ/mü3ÿQó¯zök§}ì‚ñ«Í"àõÛ_°Ç"×yýÆñÙ±ë& Îåʱû¦xt]Ç3ž¬S[8¶ØÒëzm,xtÇÏ0Å·Þ9ŽV½>‹w:G|ÝãóÖø ½båâKæ„_ ^ÊèÀ-^Vù—ƹœðäóÓÛ_¸ó ~î”výÔsbg]güëÿI¼>ð&^‹;™‡3p!®ÆxóõX…À[;›xã2¸ð®Æ<9ßþ=Ÿ;"þþÝ~µërÙñ÷`|~à¸pGâ÷[Nq‡_'­•Å•ÜÏ?R¾ÖºpâëZiñ³çx¼r‡¾6T+/ë·/•·?ĉhyùýFüž-ÏxÚ“õkñEã&š¸‰bþ~'|ú÷†ÂUÏ_ÆxeáÂÇ—_Ÿùy4wMWçäþk­Æï'8cÞ øý~<Ñ‹ÛyÅ_ñpM@¯•ÂrÜñån§:7÷æÂ¬×“Jç™í pUžÙxíÒBÄ™€ØϪašpH¯{qò̶05õº àˆ“pÇ߸±EëÒÉ)Åmxga|Ô…ç£%Ý\’?Å×ö‘¨ýõÈí¸mq$ç…Ûë¾ß¯óÈÓž^¸ñHÎþǃ%ݸìãÄ\í+àe[Âä\?^ ØiaâÇ–eŒûðÚ8qžR÷ýç­ÐBäpV&ÏŸ5j%ÑØÇýY&Î×*À—q¨8_3 _{(p{t_^~Ý(°ì{Á‚¦8h×’ gè² 9ò‹%¿vƒîà…ï[:;—_ˆóWµ¸Æ}Yí)4~> y`xºáüì.ŒÅÍÜõ?-ε‡ãT\.Vïö‚aÉf(Á͵7`•Ù‹SqÁ&³§'óÌÔøÏg¡ÙË|ò’,|+,Kœ(>™'j…õ #¦K7Á¹pîZdüäE‡Ÿ¸u_Ò|¼ûžÂóüÈHr¯ïóõ†mÄ&5cžØr0^ÍïF²£ÉçwãM£7ºñü0’ÜtÉ7@jÄíÉ%Ûârna {\²-ܘ€09—ŸÔÊ'›°a@®ë´Çk7÷wìŸËöüs$îÄ%ƒÜ×Li)î¶/à\ˆqGBÇ6ñš œ+1vÄÈ~n\àšˆùx¸bØŒÀqçÆºbžÙW¾>80ÜÀ™¯tG_k^èe#k„€“ç)àäH„øã&ìQ½wËs޳»äq\wFøÕĪ^;bmÀZ¸#ÂE¿þ“/â“ñ³,½ó 3qÝ(0ÙƒTÄ™ k~툸.O*Ì _‹;ã²++`ëUve—oðÏ÷~väÓ˜È :/œuÏ;RêÆ|\AjŽìÈH‘W÷ó[ÿÀz¼ýÕëiõü ~àg¥ 7” Ž€ pp…‡œÔÄú²¡¸ –ÎÊ’Û5â—XÍM‡¶ðT· ûŠÈ5–´ÓüÊÏš|”W@ãçN¾Õep n´ ¿%àr6q­² x³Ï4î„áЪŽü̵îñF¸Å'nýî ½Ðoê<ÓçVït#»À…ÏgpÜ:ïŒWüñx^ï¯Ïíãý?>ßßïI°\cË\¡#®ýÀiÃ,¡X`Æ??ïgû²‘ĈË=g¸^—)ÀVâzß4 ‡<ìJíÀðñÚá b˜³À0%eámaÌñþ×¶ ×-Éo.NJ`¸Beâ"hײ'>^ãÖjÜ3ÏëÏ„A)á™ `ü^óN÷ÿ|%À¡†«Æ$P‹³ ì¤O#¦Õî ­šîü÷ë×…µŸä:6ZùF‡*\ÁwW²Úõdž­#¡öâzV~¿NsûÓþÐFôZ /§0´Cº ¿çås^Æ&L®ã0V:_¦¿wå%raÜÀ‘À+ñ¸÷Omñý”q¿UäKÂTáxG‚p gà g¢ož‡Rvü½‘ C\RÊ$žZß+†ˆýxaœïRôþƒÎl¹b„ë‡ ¹7á5z§+þ‰Ÿ„Þ»"ô[¡÷f¨=Jo†ÊJ}t¦2¦½ºW$°Ï{ª8¿âÆdÚÔþ \üùÄ‹O‡î뤬˜Ýë÷kÈû~Ç}Ú2ÿž8¿×ÆkײϢóÞ]Ý>ïëQ'MXœß©˜¡õ¿\Çë"hµëþ˜›©˜Fg±L¤’"UÃ×Oúx×¶Àýç=3U³ø|Ú¡k[Àg‹ó¡]l >^àª^8Oá6‰Ÿ™ü†¸ Çœ¸àû•ËÐ\aܸ8ã|ÃÍ(—3Þxž>/ü€‚ó ¯´0fó ox}gß•ËKöýÆ<J­eŸ×¶‰‹pçùdhþfª-ç÷óùnõãóøüâ÷¯ü¼rBùòwRŸou¬r-ãµûÃÁÍ8ÍcÐÅïLoøËÈ:ùpÅGŒ¼6«@À—«~ùs{ _§·neÌ€/ïürÒ»ñµ,5}¬ÖµÍ"g¾U—¾œû+ÃîþÄ?­Þ_—8à.éTòÔ&P¶­ª¼¬d«ü^-R³Ý§L ìv¬îÇ©íóΆáTòý·OmaÂ(ûù™§º<º•¯ëV·ÇÏÿ>rœÊ"«^îW€2[Æ©ä­]3OYa®V´ýRxÙ*ÓêD×’• ¯-N)¶Ú¼ÕKCºà:µôK‰/§tÛê†W1[Ý仯OüÄêʪu'¼eõº­Þæ)T.åXåf+¹™Ðnë¯ðçó?Þo1áÝ`_<µ ÜXÃ;øÇõ´Gƒ-q †ÕÛ²’‘e ¬’[xÕ(Xè– «^ïµ-æ’UެЫ©a•eUg“U¾þžÀ\¯Ë*Ç­{Ù%T%Tà ÷«ËõT $|?yÝE¿aÙ+ò»Ü?žLÿ®GQWW.¬Æ1þ"ÎÆá"\õü&œéuWž×ÉSu‰r"sÒ*­ÌË$vé53++=âüWá9oüãúFxÓ*âü^x®+ÙáÃJÒË^´¢YVî;Î#öCxá ÷Uxá^2¼ÌðÂÇäùäý€ƒˆŸ1 ‡W×—¬~¥•ï*á†Wû'~6zቯŸÚ…ßÏ|ƒðº›Î÷Òù¿·wÙ‘ðºéUçåû€^øñÊ_ñ“DŒJƳ+sã?ÿ9xÇ_à™þËÆ?}ÿß0]ó”èY²ŸN4ª°åfS † Jd'öíò®§×pú"èÜôB"}‰ìb™zmöäbQÀ̳I¼(ñ 8ú*E‘¡²¶Y૸¢âPµ­ŒŒÐõFutc¦‡<<Ô/žõog=d GÎqlzø?ïÝÊ ’†_ÄÝIEúIô ‹6/§XĤ ³Ìž|<›Ž1¸6ÙôƽLï(´Û¯Ï´]Ë'{­]÷‰Z]œèn,}7ÞlqJTî`(7îÑ(Ü1Õ·àF”ÌàvoÂDß}3”¸àr 5B•’œ¾ghùÊ¢…Fêj¹Šß˜Ïœ~œ©¦<˜JîÄ.~A‚=UJÉ8Œþ¤±ÌZ˜tL ‹_” ÏÔ áÒt)7–ãïCÇœÁ}ÈÚdjÉÙáðNÄÛñãÊ?2Js³ŽÞÉiSBÿ‚0ù e±€,œãtá¯Æ’üäýÈä|”ä$FÉ ¡$Ï·‚U ˆßa“d€-"IÔà‘`Ú(m¢Ÿ~š`d³vHB=ùì— <\8n¬²Ïü þùlÂoÆÙÛ¢Fé=T§ñq6»¨O>kZ¢âçëìŸ-%èË¡RñõùœÅö~V•Ú¾g7ýÊGD˜…¬*êÞ(ì¢ú‹ˆOA ¥”ÄJœî•]uMlzxYy­ÝÂC&Žy¾ è[4µ¦‹9çé8±7\~/üšŠéã`&>ž}p›rúýüÄ[H²VYÞBz±N3stQÖ‘õt™¥ðùó”÷÷ËÁ}Á§ ”~ÀºÊS\þ Çÿèßówð§ š82ù‹¿€ˆm7*'áYœËÚVç§6ÊÝaüó«/ѧ€¥“á ´euvbAA1ÒÞ©‘?Ó&jÄ]¾Â2Q,ò'—oгð=¢ƒŸìd«úÖNÞÜÙÝ;wñ~:Á)*§ý¸Ù|¿ ë¾…Óë}÷;–ßXÛ,ÌûóPIÿ ÿGûü~ÈÁˆœè£‚tÁÔgV²mN’³ˆ7à äeþ5êv€ ³­¨¼o@¼ó‚gÄ ¡"û0«IpÈ…ƒ™¨ªÇƒ4¤Šj¢[¤²ÖÇ ëü" ]4àjŒËûp½ÞñÏ^Xå–Fæñ ©—¡Ë$p%®ÆãÏoïøþ<áòŽÇøÀzý£|0 2ž¹“tq9ïH€¢„IäKQeŸ(ÎF:þrÔV⵪\[ X»ò2‰-Б›EîöÚ‰aš|gñûêk‹*ôÈÃ&™÷J:Ç>ìå¦,ñæŽØ¤stݩȓa¾eø"“£ñlwî¸1|çñ޾ƒ–H¶Î“nó!]ÌRÆx£·g»ÙÍÏoôöLþCüÀí,p§L·;"¢¤úN0Ðùh÷©fµ.ýµ¤(^O~ÕXÃZ{•*NfÚt³È@o,ÀFJ&©°º+ù‰QsdèUæO\ÒÂë#Éí¼>9z•Z„ÔævóÕ#•ùµñ®jL¿?rùäé¸áãÝ-^tƒ—Óó‰éÚîô»øÉ'}_T´iÂ-ãŒîS$ç0NzŸí=Åé{„ànF Ì¢Û~iåŒß¾vP¿.ŒC˜nFF  ’Þ¸áuÕóåé^‘p%— 0ŽZö ¬G†g[»ê éÄçMñÉ e‘_Æ2G‚…Ä·‚°&2,¸ñ3£÷ãCåÒù¸¢ø\äT5Ò{€7ñ£¢[O›²ù³Æü½“ÓMJq$§4V%wˆÔóøxukÒ9âSXW@÷ëuEÌ"¬Ž‘*҉̟é…âÚâH‡±mwò{Á XÄplä:3À-NÞzG+î"é$B—“M  dzëÜ‘­JÚEä¸D~¤Ù2×|x³´ŸÚÉ0l™9IúÖ’}WJ-$ —RߨO¦ª˜*Õ¹+ÉšN.ªt¾]zÍ,ºíò5J]"éþqU³{tàœEÉd’ÿVÙ*$Šöêì j BÝH—à€\[ rs+2´ÎìIZ'!âì‰牢†Ê-Й.á£ìü9= ›ÌÊJ§¶v!ÿQm{»žÙ^ÒL”ŸøzMIe§¸tÐTÝž¾¸óIiñùi ë ¥“Óãå×K m:¥¶Èn›^ÂÅV³éÚâ–Rîò¿ .ae¸’;s­V¡Uƒã2q©ÂÈZæJ›–µþ›Üb-¢hì ØE’o|2=jrŒâ–× gZO¸bTŽpˆ“s¤ôŸ³—LËîôw G;p·?f?°CTDwßÛÛek‡lo_/KÔ Ý—tñ$Ni-•NU:-~½RXɶ9ÓŸ&°úÏͶºÒö‚[¥mþ¶Tô[²YÇ0­`(aîN"‡©‹Jµù£½ÃtŠ_Š’V˜NeúVW¾sù;0/ÍËÔ#9‘è f-aZ«L;ªâ¿äk]6“³Ètǽ2Š.íë6ï4½2Õ° 0µU¦z³º/¦š f(ï;Ãñ$É ¾ ª_¯¸ú"£¹åMÓ­|ºÀgÙ‡]­}ŸèÊÎè쮉XÞžT‰ œO«`áó·ß/ª¿ëÚøíǺ„‰\è;J´Ô™×ôδÅ*sïÊ6>¹A¤€€I _2§]™$‘§y//v9(GÈ ¶Ö4åÎZÄp*yÜ2NépK$hMOÚÅ’:úÜ.–Dt{W{=•±|¾h¨‰E¡s å‘ 3ÍijÃXf‡Q¿Ó‹„–îàJ[ŠTM¶ÿIâ:®âF;†ÚÄ`'^å!™ ÷„cr™ÆD¯há —Uª˜,°åº%WzÁ¡m¯ærwñ1¢Byaj»ðÉKÛ¥Ó¸n%½ãd.1÷¢éíüÜkCDè¾: ÄK몔ïøç§éš–ùÿùÏÁë<ÿA,½üçÂÿà÷-é—Lß…«B!¬â³mð|˜Xˆp£RƒA@7¢7@ÔSV§ï!ÎþR߆¢Åèæ«ùxÃo Ø`ämwܤ ´uǵL'gž= ¯ÆéñÍÜß:¾G¦oâf‹J| 9ÿPn¯¦r†ãÂÂ[åÅö'æö²ãüÂ[éÄõö ì[t=ßqþ¤¯‘OÏ×Ó= š ó‡œß÷›&ØùúG}ÌyvV/Q®üÞ,G²B}Ýk•ýI¬PÏÁ~¥¡8üºè ›¬ç k3ñV…7陌ø& ¯[I¬Îé­nºÌŠldñ÷nÄåÙ=~ÒKuÁØëa¼ßq-¸ý€?ž_L›L²*ùçþŸ„A‹ 穦0Ú_¦É›Ì^ˆÙ¬°hj2 ã¡…Ù¬ÉÍ(†ªl:—h^)À“äv83±^ Ù-`6;\øº?[ÞvÚ¿tÞj}Ùϼ½ÎþfNš*(ÀÇ™SŸóqþ¡/;o¿÷ÑqY}¸ÅuÐKè«/úÉ¥˜7Êç‘m81O†ópáļód4³È›ñ|lôëUn‹ÀÈÌó4ËÌrÝN|¾k ”‘g£³-½€®X*p4#^x>»ß²›·¦ûoüç?ç¿ÀjûO†ÿêû<þ{Ô½ŸbéŒØ+Íü>ß_Ôb}ú3Õ‚í×KáY³Ô‚½ªy²%_:?ïï<_ÝxðùG©mðóÕ&Qï|û÷üÞŽ<{œ/(ÚUêbÇßS£MŒïSâÄ8™Cï 0Û 6˜†qþ1ÛÏŠ¢Í"²gQ³{!W!ð<8Ã_Þ´ŸEþ~´Ådbùçƒ÷…šÿ “>•ªCòßy^«ýñд¸°ÚT¨›VD¥†}íÀ¥}ƒŸÜÏíèšñ~n¯.¾mOM=h7QP’2‡høÞš­Ëvãý÷±tÚ>ñ|Sæûÿ ~"–퓹1þ\‰Ù–³¡Qs·XºŒkV–4öwÜWyÊ^Å~.ðÙ6³á¿Ât›ÎÉ7yÿ™m_þ!_¿~óƶ&`ï†ö{ijE÷[ì÷ÎópâËÅýÏfÞ9iß&‹À…øUG÷ßd¾ãЛçÍÛ’|¿Ur§N+‚î¿uèÓ/\*`ú#ó܇âmøõâb5¿~òõG™ròñGô¼ð¿¨EþÈ@Æ­ÖìöW8vùûå·ÇF¾¦J—1Ú[óòGÀi Lÿ=¤¯ˆ%nÁV–+þn£Ûå5?P¹>›þêOëS¨ÚPi5øúAóÐm:`Ý«ŒKü1¨Rß­¼ÁIQ*"¾jH¬eËrà—qàÆõA.òÄ>¼þ€Þi–¡ Ò~|ßú—×Â߆FãÚíS ôac.¸¤ÒU3¨K;&ŽÚµ#¶ˆŒq2.¶Õ<ǬüBöª‚*–“ŠUõú[C58Ëÿ®¡j/¬¶¹Ê‹8jn|~CkF.Ò=¬¤ûç*šTT¯…ÈUù•¨ ^Ynª E•ïúÚ¹þâ•]õÙµLˆª]¸«Íb¢×ë»Ò±Á'¸ gîJJ) ð(ôÏQ{¸^?ÔL‰ÁëþÊSñ ëñ)µ^÷×åˆEØAÿ0Au$/—çöcÞn“¾.º¨õ²VqáB:pR;7T®ó%‰*ÁÍ’]¬,Ý/à‰Ewrsüñew›5Z‘’k˃ñGµ½\dŒœ|uðHÌG¸Ýb¤£×ô‰ŸÔ’CLþý ¸3hlk–?#ÞU´IÇù.REжëÌó<¸ ï“ä¶KÝ7lë¬÷A•x÷k­â]…rÜUŒ¨!Ç}Óå_]Ç3âÓª*~¸¸ŸÔ!„‹0^¯Î¨jËjËlà-¦ÿÕp^óüÄR[tvÛ¦Ú¦³ýµu'çgÄ»ÛöSy÷¯Ó~W ‹8Ãù ã÷7ÝÅq·ótů¶]¼¿' ¡¢ü}-låîÀÌOƵØDIöD¸Ðž8?“¹æ;©´/~<ü_ná,{BbØù³û#=Õ7kŒªâÍÞØ ž'0e–ó/;½æk¹Õ¼ºNìj^¥_Õí Ý2 GDzñõŠ_:óÇÕ¼ÀÎøFçágûû®&´¶}_g`úW›Jþ=m\œÏ¬û´ð" ¯Ùë0‰nL |9òáßû™Tþ`Óÿ³LÂ/1ü9¾ÿD»Eøo¼?&t@‘²ïQ_(Ãb9ö^mô… ÀOy—›÷c)â]JLè(ogruÒitZ¯þ™òIãŽz{=oÙñçÝŽÂóx¸@Yù¡ÿªžfÿ®²>ðˆÜþsÕ‹ìaúßÌçQ韮|¼Ðüý·â=Š“óùôß‹”PCœ,Øvåˆæ—ĸŽ|nÔÊr½g±~#^)ê;´ëÔ{Ò^?îÿ^ÜȽ‡BÊíca>F÷ÛàØ€âüó·ýèÄ"0)¼–‰7óCò 7 Nf囚ðh/䜮1é{{ð»=e|UÐ^ð<˜ß>2ÈÊÞ‡½ÌÇÆO…<Ëë”­¨‰ùƒ#‹€Öh܇Mö÷qÖ}Yy±©ð…ì/÷S]´Ïõ'(}.ØÛiq´ WÖi±´Îû|Ù¾rý[âïö3î÷HÓUÛSÚ_æû™è‚}}–¯ß–™©S, Âz\µÕY“˜àæù<õÛÄüú©¯&ÖÓ»ëíÉõ¼lÞôƒ÷ÈH·ý䓙ߨÎ÷/1zù[¬¥J æpø[Y2=qŸFþ&wÅãž¼uß‚%ñ¶â'lô¸uáÇ}œ_Á¿;²'à.Öb{@¶/òUëýþUþ·9¾~¼k>«¾ÁXÆ´¯âœ!ò_”/lfm©Þö×ç÷÷oóýó_¿ÏÏüPØj1¼þA#Á¼“÷í–,Rð%Àg‹,päçØ¬B¾Dnïxèõ¨ÏL$úŽüT`¿?ùHÄüäþ…ÿ’ÉîÄöO_‡ÛJ²üû ›oªÅçÿê7<>0?o÷§¸=Ãã¯pýÿ.þ¹Þý(ð;êM“ùµ½E=)3Cÿ!êI“ùbòGÊv~‡½ÇEä×ð/‹â=>tNØ#æT&ó{Ûrl›ù÷m&’‰Ã¿°¸iôñ„áû(ÓŸx(v7YÏëº_È«> äs Óó7ïûqèù¼ï»ù"‰¯?sAÒß#óýšëŅϯËþ˜?Røýn±»¿{¿À‘¯œ°ó—W¬û«XZ¦1~(ößÏççgùôÍúg圙ÀÊWã÷ŽzSÄS¥Òÿ©©Ó?V·~Môߊòu‘߬Q>ÝŽ·4ÔçÉýœ9/âÍ‚ó×ÑE˜üŒÐÿÀ› µU53 ö-7µ½E!"ò•M"Ry°ÞÞ$.œg¢½V=%sÊ,Ãxó<#„½æë;ùžæ„Xt†½&_d¢ëüÏ${÷Eoæ—4 ÍuÛ{[QÆ1¿ Í_‡ŸòŽñ¥•ï´Ô[bþ²û|KfrYX>ÿˆ»K>™ï,þâÍw×0ßUsÛŒÅ?˜G¦öuõê|À·BJ¿çÛø{gÈ@~Wò»ù…õíL{Šü;òŸäoP^§$`ý³dù»ç™õjNù@~Ôà Ï7ë!«’_­æið-iï™›òÔ/ù¸ÌúL6ü1—'ÀϤüïÛáû=¹àäKÄ»ñ~Çâkÿ5þ|¿ù?Ïã¿|þÏü,Ö—hß_À¶²ÌŸBý/ÊŠò§;;¯¶ì-û¦ 2„ƒß°5‡0üé!û=„ã•së<ð—¿>ðŸßãñ›ýoaÚkÕ‹:×£˜o©aÅù4 ç(æGJÌ¿¸¿áøëõI¼þo¦ ÿ(øV›ùÑBÿ8ÑVÉ®îciC?€ü*ñW*ó¥Mü:NðŸó¯—ü¹ýçk¡7ùƬ_.½ÿ¸Ïëày£?»ðAð—é?£½ ö¶ë|ÊÞ.ŸÇ-þ•ù(|ÉÃOiãÆOìsÖ}{øËé×Í'nÓ²à×,Yàƒ5 àÆå\?pûqÿÿþÙ?!‘Ò¥_À±ÿ›ø´ðWÈeÿ)&•ͰôObÿ5M˜ËƒÍ ” Ì9¬]Ì”ÌÙrè/a|é/÷kq]?ñîþ’9Ù".K¦ØOe/„ù€éüÂP³úá“wêºøþ¿·?–ÑV¿\•LºurªëáÇæÛËYî·Ëô’û±ÔOñÞ×î~­"ÿÃýwê§Xö_Ô_tzÿ[ºýáŸãæã2îÿ/àðﳆo”Á!›øñÅf½–÷ÙÀF ešï÷!år_(ÞHæ<©?ƒùþ1É/Ϫ êî”"þøLäwè÷CþŽü;ú/³’¯êzÕT=kšOÎ|S™ù¥î·r~(ˆÒõÅ>QИñëw­xxÔ¶½«î ïãÅ>µM~iq^¢?k¾POô/‹ë»‰õžb™ôäøöÛ¦æßû3?p¼ÄpcÜÇÍš3zúciÏN¾ÀöÒùõ×<ꇪû}eñÇ7ý ØÿàOúdï%þ¾e8¿—ŸÊþËf¾|Ô=Xß·?¡ýR<ìiúÿöï)´#Ë)|œþÏâ8’¢áIà‹7`ÖïW¶ÿ¡ú Öç-_7™ÏÓØƒSÏïõüd¬…ê·äϪ¿¢ixyã|‘—þ«NþÄÜ]om§éýuøP;æ<ìÃQ¨âëXl#ÓjÎ狯SÙë 9Š—þMé–)ÿ”-ôîüÜîίOös6÷grÄëFã@í–7ÚÒMs?Õf¿n÷Àϸ8h_Ù_ÂK´§Ùý^°Çƒïÿ³=¾?UŸŒ·Š…ƒ'ëíÅ|')tó)&ùÊÅùÒI¾U±.Ùd¾õð9–óóÝ|ŒÊç+«þÛâ|ï¢?õð¾x"±¿97ÅsÜõ­*©ÆšÄwÙ‹õ¦íx¡›o£~ö·•­ó¤iÀe›ÿžØ¿!9\Ĭw1^Y‹ù-~„úëŠÞq>YS¿5§ŽÞõ1òÊb¼‰|û&¿Æñ…ù6íüHHš÷5µGßðŸßãô¯ÁÉ:ƒ×?ˆçbü}¿ìúÄ?Ϭ/œ~™R?p¿ñû?³Ä _ÀQ/èÊG°“^ž6u•û]Å,>x°·ÚÅ׉ó4ˆ9,o³^AÅл^åþ»°o‹ùKæ§7ÅgÛ7~ù‚êgu_Ø3½¾¸>5ùx>ýÈüþÙ|µÌÏ¿ûCø|ò‹Ÿ?9kÙþ|½âzø€Äï|ßz¯Ÿð‘r>rÔÂï¯/÷þn8íü¤_¸röm¥ÊÑpØ›6xß p Æý ¢ÑF|ÊÞ…L ë’¢<1~í‘´ˆL&‹õiä÷‘X]ˆWáo"ñÚ¯&?^¨+ú-_ù÷õÙ¬À_úhŸÑÒ:N²'Cý¿ÆâƒÊ¿Ÿ”æ=ý¿Óý8‡o¨ú‡ø&ãèEx¬’ê'Ýù¶­úä£zÔ„c\I+ýßjŸaÒQæÛFý¯W»ƒá@ÿ§ù¿“bp¬©¸Ï»_øUGµPs>ðt} çk«>Ý©ï1¤ÈYú°øù~ž¨Cþw)V/¾ ÷Ûp~Žº‰§7Ÿrôµýª‡UVë·Üø%>¯·Kc¾ìèè6æN¼ß4FËñ½øÛG¯¥ó¼¿ŸüË3Oc¸Ž^Æj};œó·óÙ kõ(ÔW*cq>šêOêRB?Oœ·Âû¸òbˆúâ‹h„ˆ|Œõ ‚ÈþˆÇôÑŸ'ý“ †¢Þ¥|M`œ×Áü¶ˆ¥ÕZ‡p¤ 0û‰ ùÎW¡PÉþfì¿ZT¯ÒpL3ð¹?Â_#íR÷͸ýëOüó@ûâÑCä¼`œïQÎàŒfL‘«upì­xe(þÜÊBÿF|ìÆüLaÚAx¯ƒ)HyÑÁñ,s<ÑçPü9.!p§ýTee}0›ßÁáò]ù ³Í·.s‘>Cwÿ…$b{6¿ƒD^ì/ˆcÀÖ÷²¿'ÿÍ׫Wô{|8¬mߦDßV6f|'múîøoûqñE/ŽÃ'õóÍ÷´È™ùž‹ïßàÏoE¢£¼àUêbÌõEãäâýÉóÁqÑæ5u~ïcöïæëºäa‘x[À•˜£¾¬“ â9ãCܯj|¯]|¢°÷ùÜm{ßÚžc¿Ô‡£¿Zf}wS/æó÷ÏF>c`¯m\^Î[S¿†©¼àüWëõýãýç>öäù°ÙŒY12 êFí˜Õ#*ÒaÂNK­šÉ8™Õ¤Y½•l‰eZßë Ìô– G'LwS1ZgöS¤u«;Û¦N©gh´x`fg+»;†Ùá]ŽAoì ÚÀðDÒlbø » h6‹ýÏê´ÉNª8ø?x¸­¥ ‡ºèš¤‡G+èæ#U¨*µ¥ ¥–}êÕ…ý×øóùïçªô›T¢ðÏ·ÚÐŒ +~ýKDíU,°ºèZô)fûctULZaî³–T¥<¼XåH,X}ì›Ê.ÕjÆ+îºEbŸ˜E:Y,ü>¥òý­n—ªn +ŽS¯²Ê´~Ý^Ozýþù)γ ¨É*ÕµbÖŸnýb/\VA*KýV‘»XºÅ:íê)î")~?©Æi©KßYêÀŒÒÓ“.øýû¤@>Ö?Òµ˜]Ð| óµž#Þ¥Ú¹,Jè׬ß?†ÝU9ôûF³rsÏx ×-g=àîC7ŸX*áR鋬¶—{Î3Ç—9ŠK _C'ŸQ?º¢Yš^^Ꜷ#IæÈÄHt«×?‰â6½, Ú¬òlW6½îí.¨³µvªõ³Ch¶*~3â ¢ÊÀU– y¶õc²bl±þ§Xƒ¤¦Ù¿-ûö¸kÖõöq—´sòñ•»w¡È†œ²#Ê1ÎñeÓõ°èSÍKÄcøºÐüÐó~¯ø‰¨JB˜Ë§¨J!fRv3èÝj FRLE<“ÌTdÐí" š#©IÈ5Ÿ"O£H*ôΙ‘ˤMœÔ4@‹ú­Åë,œx(7O}0"­§I»@Ä•¢~“¸ ͤº}ëªwSp⌆æ&âÆ—$ÉÅ™•õ©ÈжˆÏ(º4›~ø:Ðu,š°uýŸ¢¯k—ÍwrQbKDÅXM¿ÓE\ÓEÆÁá-Þ}3i®ÚlöŽœ5€Q{ (ナûèªX¢Á5æñqïS?lLÞ|å¿!yŽÓ?§¿óPsN'—(öìlÝŸ =:+™S‘Z\Á &`hd‡fƒ„ÿÂ5„0`_p³LB¸¥–4ŒþCÖ7‘®Öô¦­o’¦“}üÍš/9 M1öá ,MŽûùçqizÚ¸?ÿÏû:j÷u! ÐG=‚Ïm´Þ¸þ™#i‡ÓÆæè°æ«Èˆ±æˆÂH°îÙÞØ¢jÿñÆ6uúçñÆpvNÖ÷ä\1U405V2j°aí™3¢7”û™óßœ–7\3› Ë?¬?”ý¥AÖ~RS»Ú˜ô곑,Õ#T4’¥q=–9çÝøÔ|5œ´š3^ùzyË1§¼Åí)Çó’F£Ÿßö“Rl·4õÀCcéĸÖŸ§aYb Ò¤G­¿®7iÿFÏ~9_ÉÉŸë”O‘­Yêþ`s Þ QëYÒvfMcuº`y U7ï8öÕä£L N¥Á:YÆãÆe€-ÑÍÁè# pÜäj»ðæÂ  ñ;|rdÞ­Ý¡@n¿nv†•¦Ñ|/¶ú„ä:¾DåëO(Qû¸~¼>ÛWyó5úqŸ'8 (îoЫµÇ€»}¾”—åĸ³Y.ãVÄ-MÌvÿiyÐŽºC\½  =OL¹•ž{xjz¿… 6BVâµ?M7+L@,¶;¯dù¯¥«ªÈN,¥ÿƒ.ƒ‚&Ȳ›‡y¸Œ¦4Þ>²¯’e;e5ÉòøHkü‘‘,\õvdrÒ˪÷Â+iÞ4?y¬ûÐ 5ÎïÑ•€ªQå°Ë¯€‘”›‹Ç«Â] Hû”xøD±!•1 Ûé„£‰ý¿˜1š´ôf²phJWÕ€tÓdZ…Z5àÒÐ5&%8œr‰ÐAáFZ2ùH<‰öyYí•ËÑXõzÁéM5¹ùF®ÜÕËð™žXXÕ¹U—…×xþ€Ç¿÷ð¿öýÿcàŸU-Èr§êÊþÌ*Ãd€°\å—Jàöó%®—\uà54Qž¨Võ.7U!šY¥)ݬæÂxU âîÇÕîõ»*QIH‹òêú•¦*—E§®%汫tÇš&Ç#äiEJò&Þedô"¤2Ï8êhñyö9QGcÝ <-øŒ/}Þ"ØU_xÈà±î6˜ñk̪ „ÌÐmgŒ3t'c'ž}Ð ç ¿à3^ç©ÃŒí:ê"o}ÖÑæ|¼ÒÆ=dkô× î¦™÷üѶbuÕÉz2æè0¹Ï×ü`ˆw¦7-f¿ 1ç]³ïd,òd uÀ³ÞYWS}ÔñùÌŒ3ÄfC}`ò`âûf΋ ù"îÆqׇÜ}bú.á0ÎË~<ñõßòÈ¿A‹ûèF}ÕmnöyËáÙŽWƒ×nŸw¤;Ãyt–û­{¾òýûbææ^øÎ'ƒ«„¼®sÃVñšÕÁ+ÏgCeá‹ç‰û?o§ÆÇ™á®œcÂ銬« öQ°¿ðF²OÄŒ‰ û›tIƒ±.­÷+¬Ó%¿_ò|ÛìŒ÷\÷ †ºÚ¾o¸Oü¤ÏKº5âåu¦<“»w×=—û¶¤ó·Ü'/í5þ‹'sžÿù~Ò¥]汨zta¤;8õ9ÌÎ>ÖÊ9;Å}®õ¾±ë’ª+CP¢v÷EÒ•¨½Zw€s º߉\OåxâE®tËØÑ­ã=‡y6ó`é`<=oæ!['=3ÇP0=–êó']ìãpJ»ùümžÇ÷>–vŸ§ú6¤²~t¯«yhËï@— ûº!ªXPw™CY!jqhå©{'|^WìöJ}I‡‡Öy^ªy!÷º¦ßÙ+ÍAÙMöJ}ÃÛ}ëÊùl÷•[wÜ9Ý—_rZ=;¥9Ÿ…ç/Á„>åÞ¸¯§ƒ ˆÔ=VôÆV`ÉœFà”dÏÀÓRűP'±åP ûpa›ìWÄüÇÞ9pâüì~+æ]í¬óÓÚ«G_̳Zç¼¼yÌ…:R§Ï¼wcžÿÝ÷uúÒ­ËiÜùúÃóšÄg×âó¿ÕÅø¶â›Q¡…uøƒSºôyÿY×¢ª2ß”_… jƒÿHÿ²°Ïßûþ uÈë*نϛüÃ!ÿ’ ã·}dƒùÑ Â@’yë©¡öÍç­Š×srŒùæùü¼¾Ë9VÝ‹<Õs?.VäÛ‚Ÿùõ>TŸksÅoP÷¼Ý)xù7G—uì×ó(ŸvëŒiºç™{§Šð·i©ß× á!'=¸¾øá ±~+ìs`ú•ؤ¾îJä–ŠBþä"ήØãý5ç Éñ¸J@ ,Þt“‡W¨;±7“æÑíeÞ+vûTô+7o/'êÂHw}N˜÷q¡(tå¸R·N]-‰:tûNNN¿XW_÷q±²û0íoêþnƃÏïoþéé«~ÿq"xåø;÷ßÉ ¬úêÿVOMúN¤ƒÍñ5_Ìñ3~ìõ^_èbžxŽç_5êj6é>À/œVè)Ø矼ÌRÌÓ,f ò0™e.‰¼ÑuûŸKñ¡÷‡uÁˆ§í÷Ã>¿Æ>>0˜³WÉŽç·É¿´n {÷zÅ}í«mË5ŸnÝ4ÝÝ}ž~½û4G]ïl™qæ„”ÛúѾ6è>UÊ+}à?ÿ¦.ˆÿš™Q,¹í_`±®~}î‡üA Ú–N*û†þ~]d‚íÇ—†b?»WÅëžrìg¶ŽNò\ù+õè”7Ǔ¯þ‘û0͘q‚µßs*ÄÈÙŽ'Åè:ç[¼üokD¿÷-ˆ·Þ¨‹܈y©/D}ªh˜ÎÀÃ5¯Å¾: ]hôG›ò=Y})ÍŒšN^¼úÀ1…ïǹ‹>ø&\øø³¾ë Ưs-“çZªO6™§®9éž[†ólß*ó!ùÖ¹›Ôɪ[ö2Sgëôõ©//Y縰°ZY}w²Ïïø‰?Ó3’榀êx8†4v`òÚ+6bKÊ`àH‚=öÚ€=]ŽßÓ¢=º/£Æ™ÊÍ3‡ýÍfÈ! Ì|[ p°ŸòØ÷º·íeç<õåEöp™…@'ì§j¢ì£ßêË{ù­üì#ub›ucm峞ìùËê£]ö—“ïKéNœ9¨ƒ} É}¯:ÿÉ}¯›}ìš“ºÉ¸+*K¶³¶÷cc_è>}ÜÂÖ]VßçÃx“ÌØæó\í§t•‘Ÿ¯þnw>ô0æ*u0‹íc£ý[¶þ®ìevû²æ ¦»¯©3^]öÅ‹OíüsßAæïY•É¿ÿ0ƒMs Öéƒ}ÓÅ­Y÷òø»GwÇs=nÞxµ‡å]Gíî£?Óíå_í'Œ¶BBzæ‚vÖTÊý³°˜ˆ™¿a~ …KÆ“\¯™\¨äÜ‘±E9âܤÀÅñh¼ßXzÿØÄÉ}C…ùT2熌ùTǬÐ þç¯ñá‰7Ï\HÙÓnû¥¾½3Çnó<ÎS0ü¨@åÏŠ×çè"*ŸptHšúÚ1yÐ޾g6ijžÑÙW£¾µp4Qa1£³%æÛN=b±²Ý÷u"V<Gö’WæÓl/ëé;`ßiÙî3ÃXß·ºÏ¡¹­8>]Ê×-ß×ì[=þ¬p3#V}öÏîÓ>Î\æ†ûü¤;{úHÖ¯l{j]3Ï%PÁúœ×ü†;ãáqëÔNaël·¹î'_û¬o,Öûœ7öÙUëPÄzŒ*–Í9•£XG–sG¶N½èS©îƒüA?s(2ÿ¥ó½Ñ€[ûrŸuHû¼ûà÷ç°®V–n°çPHGH:[™ºE'ÿ»é¯ëfmî/é¤2NóÿXù‚½äÅ{‡P@öÌõosá3ã›nÿ*›rØíO÷Øsÿ¾ôu+žÜG\ßüãì9šßæÓ~·§¬p´+~1ÿ“‹û„2×;;Ÿ‹|Ÿëƒ¥0ÿcNY¡nI_~<ñ<λ¾¸©ë´Ü—‡õéîÛ#»°+^‚ÅõÜéü„!°ÕW¹Å>}˜»¼ç÷Övü#<Þïß%FÁy<¿Ú×ê|p÷}<_óŽº>Vü~cßûãç9!¤ðNqÞbîÇ$„õ¿Òi/],•‹©Š:–‚èÁΡDz×TçOÞ¦z°>³¾8å¯v € ‚ÏËÔá8¶?Ñé4E!Öç©Ï.pq詽U=£:ß«9çÕù]élúˆæŠž9Wã-ÿW<ôÌM4çóèòó¶ó=êà8:£^??>YÏ|vÞ¢~_ÀÚÅ&äo³9¾ÌïuÆó…ñÇ"ñKþ1{Ø'8NGHÂyìÎßBwÍsý8ðòôa#Þá}«zeaýqjŽ­üÝ>\?ÙÖußî믬¯-ÛÏDû<Ò7øg·²ž5uŸ͉îx½ãU>ðxÇûíñÆüà Îí—þEàz6g‹þ+å¿€Ã>µi´AÝÞyϽ,ì˜Ò…í*öÝJw/ÒZžÓ‚üܶNÅÑí%ŸD;÷ ƒÑÂŽªâú¦tó74§ ¹–·1ósYõ|w¼½Ï9Ö-9:L¿áýŽ­ã~Þo½céBÏ/íÆ?û»dUÐ>¿€ 1ãíh²aGýŸÊøòð{jg>4Ýõ˜ˆ­S޼‰|ìésïì«ßögUŸQ}“ñcëæ ëh$çwÓ¸ç6T’¿±?œ¿ï\ïi>ÁfŸü<çõ£>Z¤kòìþ'=ú;óEWæèÚ[GO|õÕ.Þ—Ó|žéó8ÌÁVnš¯ë¿œ¿ÕÜ÷Í7Ù_ÏÑlœËÞDOþñ|f1”q |«ç€³ªLçc¥;2•o†ý+ì~¢=ì§ý©ÇysÿSØÇð§îN_ÔïëÔ‘°‡3Ý|ÈÀÂÏü›¦97 ºÖšëêYhÖIšÎ¯‹o£ˆî¹#×ýŽå²þÿRÞ±tަ9öùë¼>bZçùÄ/઎Uû—‹ªÍ8Kg½ù<0ÿÓ¬‘Xï,'ÇúÇvýR:§¾Q¨3s÷D0ߣzæt¾ç[âß×§{.Äd¾öó÷íÆãË߸qÇ«¼cµ4M×OÔ{°îïƒËËë\Ÿà'ˆŸö 1ï'¶VB7„ùÆë­9 ü›öå@†êø%.ÚðGÍWÂ9Õ§’îßJû:y¿R·´Íû>¿Qï—­+Äçsá ?…sF›æ¾B@šõ­n¾É.…u’t©ß„ñäéhî/ºûOöÇÔÜÕ¦ýqc­·ò Ö9Tü°t0ÈònÝs&ÉGhÒr>‚DÑ;ÿÀD­“þMÇü?ÔÁ^”ÿ)ji,“õ‘âßw˜_µN~6“Oåx³•›Ooaçg‘ï)^ò÷z1¿(Ñ¿•î)âKòµªÏwÑ-þÙ?æ›bî^à¤ê²tþ³qcu"9§ãnIåœU´RGF:–/þfc×w4ḛ̈¾iÙœÿQio¥cñd}0÷±PYõ‘Àâ'"Ä1²Oð7j3Æ ùŸ¢óu8ÿ=8Gl¹ÞÕ8§w»#õAÔ»Ù!ÎöÁÃwIš‹‘Ý1>©3V^øºÿY)äC+Þ‹ZðѺ[b9·¶i¸[f)ÌüS{õ—×fý/¹öð[¨CµØhCšÖ³ó½¥H‘u¾oüçßÅå?Ïðø/ÿôýßþÞû>˯öÎsÐy±Ý-¼íä[¿©¹éQËv¥²K˜¥¿OàfÅàÿ×Åüžèž¹âÐé!Ÿ«ÚþTÆ'~¯Ràðù?ìä¿Aô¨tû^ânþWf}Lõ Ô«hÿnÝžzǃ'ߦú0°øÏæþÈy±_7–?ó:W¼uëèÝö¬½Û/Û7Ÿ‡¥ý±?öÉò‡½ªïû£¼ì¯':j‰öèÔC¬‹‰õmƒùåƒóÛS¥k®ÞÖW<\ÈVpYú¼!ÿ¥ÕWœ©“uò¯›|åƒåjÎ]ØÏµ^1ãÑ®¹uPɯxYðàþòü'ùñË©sÙNýãÄóâŸx]ùé£ÓU¥ãµùúÃÿù ççëõ>ßRìù ?:ß­ó|æðuê_mŠOGb¶ ~Df’Φë_μկÝ6Û'ãÍé9 âW/çï¥è²n‰‡EÅòaF²bË·ºr¿ûGÔm®Cºí¥rÎõ0Ÿ–ýuºÿDê8æÅñ"æ¤nûŸ÷qŸ$góù¤x³±¾Íþk’¢t#CAû­š_Iþ—ëõáÿLò{yß'Å¿Ãõ7ÞçÍ|ëÝ©þVÌo˜ÖÑ•¿Ó]«´ÔÝ\ÛñÑ·õÿïòGŠwsRþHõ®ìz™ê[§^æ9Û®©(›_¦|dv½KùÃ|øóš`~ýv˜¾Oñó=üQüËÄòy°ÿÔ|@<Ìø7Ùmæ÷æ÷òá÷Ò^Ó¨÷ÃQøâܧ&e4 h'›ùþšÈg™Öí1¿6Í ÒΗx·3žVýÕþ«Žfë·?{ò‡Ùþ%Xz¾u}å?ú`ü ]zÖËU»%RÄ×µn¿û­^ÞÜ¿7Ìow¸¢›ß"¾ø0v¿‹ëãMücñI¿ü{?Òâ}Œúå1urY¯øµ‰5׆ýs™?Ñü8tŒ»û‘Ï_»ß/“_Èú›æt“¶÷çÑuïÕsÈîõ{öÛúšÖc›O½^×£˜ÿ܌ŧé÷§ßBü!?óù§!ÞõµÃ_‘‚Ú©ª_ÐýLSs‘Ÿñ—uF9¬.ú?Yù¿*]cIaÄùóœ£sþ¤{jÝMÙGå·íë8ý¶êÏ3_;;ÿS)Õv:ša_ö‹½-Ùºã'YéŸ%óÉ”ïHþÙÃü½ú¹ !öõ†Ý_¹_çx™¿þÂ?rýû`î‡Ã7Ҝͣ›¬úêé?Ó޳ÞÊŸú·×ûYþžs-f¢8³Ÿ‰ýzõŠà“Uן!T¡¹ô§þ,ÿ6pì—©ür`¼_Q> 'Ôëfõû%K´qîñ…+%ŒØQž%„Ѿ¯G}{þx•áú¶úN?ƒÎ£ëÕê¿=çQ|”ß^ºý{§þ¾e¿ÞªŸ¼öò>ü­ðQüĹؕ"q_Ñ:0ã‹ nm`ðeÔXŽú3íçb~Eù4NgòXŸ+Ìß9_Ü(™Ö»ûc–ñp½ø%ÕövKç|ë¼oò¯y>+ëiæ¡_Š÷éá ⣸¨þÒä|˜ÎçÉå'ío+^ëÏ«ã›~tÊÛK|Óëáÿxý¤@yæ¦Ê¿:ç[õœ3'µ¿I¢U÷gœ9¬3Ù~ ó>X‡ßB>ãÃ~^õwVö'–®0óu“ç×ü¾¨o7Ú7ž¿I>u˜×»+ïÇm…‡Áøw…‡yç‡+~fÆìg®]n¼ïò‹ÄG©ä·žþ…êóT¬ˆ1|ž«æÐùñ¦ûøðóù~ÅýICükŸïIþýé§ØäO¯æä4÷3¾Î)ûÙ~jî†ê½ž¥Âý\¥ˆáúZå2û/‘¯Hꧨ²—Mý]ö2ÉŸ1Ÿe½öG¨¿‰×ŽòÜãä»^öê3\OÕï8—ª‹ŸøzÞÆ7ø‘ýä~? 3æ“yÿ‹?V?ìçé']ä÷~‘øb‡¿+éöwê«UÍÇ>÷±æ å·~nùK?óÇ %„:ùËwÈÿ*’óT¿^Qõß7ê㉠ž<_yZÙšs$2ûã§â›¢~›©üd(_ç|ËA)›¸|ðÃʳûñø«œ×%Ö¬ïQlïnû©xÂçËý£Ç~Îû)} ß—ž3¶^ÿöâ/½õ;ÕÓOú(¾T¿¥mßñŸ‹uãòû;žÏŸÖü‹zЩ‡Þx¿âž¾W4þÖ~1_W§ííÙ韖þK:öJõqïÿ.~‘ùvª——óqüSÅ›c¼¯ÇÍ÷¤½:|ν}?±_º_@ý"¦=ÒœK*lßöL Fê7¬ø¬ÌÇ9ÇdjŽ…üsÄ“|¾ô.T¿¬æ)—=ÿý™ÿy4/‹íWJ¯÷QñœÓ÷TüÜ>â¿~ô_Ô¿ùÖ_ÿ²EŸý´§VsþÊëú=í§åB€Ÿ ~W¯ìŸLâðüß|I ,½¦i>su~ñØr¿C&ÿØùߺ?=™IÿÏsê`<*=”ð?ýWöS×B{×ÝÏOþÓ´u¿ÚSÍmp¾©p.c?s¶ëëô'Ñ>NçwTo¨W²ìß­¬~ü™_ý›å¹7Ò«Xö‡¦ó¹«¾ú?“ü÷Óÿ2í ÷Kè<ö#™«~›Ó/Á~í¿a½†ö$> {Aj”í¾€;'%ˆÏÅüù,¶O•ñ^±=¬T°•þBÄŸK“Œ¡]¥ß”‹'7ló½4é¡' s3?ñæ¸ùdü“¿ø'íîçÔÜÓ¯w,{yãö®ï·?ðøÀ/ßçIýe’¯Œ¹Ö5P€OýþúÖyc#jœGò‹*ù³}©Aú]ü Ô_ˆÙ_T5çFý%qËÛùTþçÌEYÈÇvõ_Bƒ—çqþ{ú³Åýƒ:ŸÝþ©îç}Χâ•㟦;~yRiô7•?hžÓ.ÿ§9UÆu¼ÆþLu~ 1ßwÎ{ô12Ÿ¿#ûzò²¾ßåO}«¿óÞÓâ}X³ôžûÏŠùÌ[ùRæS‡ã Å{œ[Ü›ã½á9¨êÿgùŸ}wÚãêçÚwåg‡ç°>ô4âÌ/^¯“?íõõ÷/¾§ãCõN÷gúþu<9ù~Ûñ£~ïìõ°=÷z)¿tâCÿöŒ?D½qô*Øÿ7’ò;!6­¹Dæ,æÆÙÿì78ñò¥óÖkZ̯ϣß$ûÈ÷“bdwí¤=k̯ëïâÿTÕ“šêSâ›g׋ÔßuêGš8RÝÿ¬|J;ýÐÊ·XJñšF,ëLóŸ5×x›ß>ë‹?܆ûùžÍ…/Íý6ì·-ùMñ)#ÞÛ|œþiÉ*1¤Ï”7íÝ¿šY¯˜î¿ËÌÏÝXýH§¿GTÏ {9©ùÜݤø# 2Õ¦§øŸøgþ~¿ê 0Ò±?ÁÂÙíO´é|·Ök‘¯l¢­3÷ÏÝŸî—WþüžÏû2{ýÕœÝï>«óÏü×Bþ?4ík—þ§Ï à/¾mf¿ öc¾¦Y£ä•Òæô_3ë…ÝùRðñ–çø±ÿ·í»^™X?Ÿ–ù´fû[™oÛ|¤ÃŸ+ΟZ/&É>¦~‚VÛÑ“b}䶇¯õçoóÔ9îúóÿügâ3Wõ?~þ}ûXüßü«ßØõzÄÈÖW•àvqÿªâý£¿*>PyÒ¯¾åuéô!a¿ ãÝ҆ü®Æ^ÿLßm ¶Þ‰z¼¶;_q“mnÄ¡FtÍŠK7i¬Ció º|@ìÊ=aÔ†HF{[ãwBN&ŽAN왚¢”5ßBÓ€³Ç5ÄŽ‡ðâ´Ž‡œ‹b›v|M­:>‡4ÌNŒ®ž«SÕ:š1šM{4ó¤©;ö_áü->>Ío8ý†ú¾ÿDüÓž§Kc5в6§vÈÂND6€±x|ê–e_âþ€0g m¦€±ÉX¬áÜ,¦±ç‡}é(oNñt]9¬CŽÉÇ×vŒþ@X–ʬqmç^à¬#2?YmJ‡}[Vúîš×¯ÃºÿéÅM£>Ëí¦õDY†î4ýqë4ÊEf»{|äöó÷‘ÁaÙíÈæˆæ˜í6ˆ–\-[¶…Ÿ¸Ù“])Y,9D‚tsÅ’@ü1±ä S ðÛ.2ˆö} bÆ”h …Ó€¸ï¯–%9•µ8FdófX›S$~³!¢ŠñP“; ÞyI:yÃ…Åp¨ÌP9 ÙfßÝ/-‡ áÆ·üÄu«q§éŽãwçùåÇßw\ú¸ãÚÇ—?î¸ôq‡ý]œÝg÷žéŸ‹~þ?ú÷üsñ»²Z¥P¶{ކÉFºÅâ&*JÒ-ç[§gA{C ÷ðæÔ#^Lè„!G4ó°…qåm„ç€Ef>qR“™ç@$niÔ*1íÐ{×çôž.œŸ$.X\b™WdµÝï|¼ôü4×#í§T̵•¶—s9ȽsÛÔ Z^´M©½5­Õ¨Õ5¬%“©íÕ¥å%­võ†צ¥-^\›îÖz{”«ßÓ©•—ÜžV➺?:5øò{“G/Ý·0(Èû¨Ï/~ûÄ<á蘟xe†Á¿úž/ê*¯Í¢7Øùzô@—Ï'¯rh~yN䙌żIàA]ä?ð³eód_çܼÙmÞ«ê¾Û~÷è/ªgΗï/ƒnæÇãzþ‡NͶŸ.šmÞ­x³ûI—2@­ª ³¡b«³QnEÃÎ÷äñÖÔ(ZŽzÚ´òqÊŠ½qê⌖æ•OœŠVý8¦!¶"EŸØ áѵj¥qhŠW¦"mœâa\yÊ[û?šJÇS³’QÕòrêš_Š3”bE¾AW!ÛYÌ(‰‘®Nv‡Å&ƒ$ß«E…ÈuP psF¾ðñì[# u{gáÄü£«Byå_7õ ±o'Ò‹u‹l›Å—ñ·NŠÉn%G¹W»ð¾\H}bºeÒ­/¿b'‡#³Ø§¿•‡\”±Y›iÕÝ® vónts4(ŽâÅá¹Tm¸ˆõÖp8ÆáRˆ We?-±j”ü9ÚmëhIòÔ!±Þ9Úõã¨ö£ý‰ÛÇQÏG{½¿¿ñ#ßTüPØ„bËDƒG£NåŸcþ< îʼnòaÈu"¤Xø)BÝ1Ä’x§È€ ½zá2®ÅG7K› SÍÃC´of^ºÉ»Ò4ëPìÎG3«4Mo-&ýcEá#(é.cƒ{Ò•Q9¶xû éŒVRù?Úw´"Ñ…#ê%Q•t¢>?[t£$©«š*ü|ôÅÑ‹‡ÜXYŸ'QŽí€ÿNrîÿ˜tÞ˜¯e)wkOhM4ÝÆØç4ÜdÂP2)‰„¦’ÅMƒ$òBw5D\Ù” G%0El8õ"é|K`Št,v«hƒîŸy¥èÕ@Å`ÍT¸ï‚Ø3E^I2̱Ð!òªç'~~’HÈÀ÷ ‘×up%~êÈ %›¹Á$rs‘®+©ýQ´;ŽHùåDÂö•ž^Eµ»DÊèÕ!‘¥‘«zHùÙy’  º ˜Ð/à˰n&U_o½ó½ï,: ¨½ìÍEöøýGñë9Øt¨i²P´9´R9¦+#ÊÃ4ð#Rv­g_.²ST¸kPia“+zMªñ$~VÔËÎÔýšT>CNSóžÞnɤ÷áóÛ$êáó-•åó)RÌr‘AMuG¤÷½)z‘:ž5½Åù¼V«(â|±I>³ˆº!’ߪ,H4‰Ípç$ê"qþªHU…¦30‡Œ,l´ÆÚ:Ïod¥ªÇ¸-ôÂ=T“~ŸÀù¢è/aãóʲ¨ª™á@jÔÃdÿÉ;°ŠÂïøQàÅóY}^U„=Eõ®¢în*Ò6ŸWeÓ!QQüxz)Ââ¼òñ# ëózHr3 ®å;Ûõóy›)Î#L8ðÖyÉ'´*ºE'Ïkv0\îQLêÄ úÀɯßw¨È

Eri½œÉ8Îç´Ѝè{– šBVOŸ¿b’PãïW<ÄJ¢7õúÇý'ì"û(ïç[ZóyU“bsQP¢dÝö7„ü“ó8(:¾9%p¡¯Ãý½QýGi½žÏd‘ã!<-i^gÌ}_ö–M*«›Ô»@ZiIö Σìï fö65ÑÚÇÞfÙÓVaOEzl´ŸÙC´Ð4X¤ ºNQ‚臖Жfö_„ ¿­ÿ8Mž,òd˜öm$<ލã¦ým1Û‡”hQíu†â[T’xz0x3É­j¨—IkjŠÊnRTÅ·M[ߊ|ò|v‹|F4=Ôô8*Cþ`áhÃà÷£ˆNœÇNR7ØzqY¤çPüL|žøšEBãõ]Sk SkͤŒÀ•ç“öõÿ¢rÍEÙõ*xG$ÝçMÉ\‘O6Øžª‰EC*’EÍ–Cd½ÿ6~#ÛßµÈò‹ý|Ô”¶Á& {7}^c(OU*+Îk$kUSè†öpØžÆ`öš-B5ŸÀ´ lR¤O|~#ȪÉçMyß®Êlªò+q~/C8ùü"ÿ²L2žÈ‚–鱪´×eXD™þVDŠÃUfhŠ›n0¨þ)i¿MÚ3 ºÇ5’œª«)eüz']ÈÞz0»›f|ߪé¢yˆ”Ñ\Ýi£ˆZþ·“ÿe½úßÅö»=9¯™Õaø¿Ñ¤8â™!RpVø9409G½xãü‚´÷æùTSAI1‡¶Ö#!+ç™"Ü ¶ã<ÓÿJ¨‚æùOptã|ÓŸJh" ,R+šÞã¼çCbÕy§¿n\œw‹†?ÐOSÇÄý݈!ëˆnº{²þj ¥¨d` Á3IGM2ËÕ3‘Úö©¦½]¢zÖ/·EÒi¿«q=|ß_Ç>/úÓöÇ=Äïañ"sZWåì‚/&—Iâ^L)Š´-{œ5ôª/ºIt•&\<‘¬V²†;’Õ) +Y™˜‚pòlÒÃ)Q¨Çb(-§ÈÖXN–kHßzH çZØÇ¢¡"7þó Ÿ¡"jÊðyVÓêù½çëʶ,0ý|YôzÉ?fÆË÷Có )QòAñ)ªM ­_‘¤ ëšÿš…Ý€pVã55à,"ïÓ¼6kõJ¾nä¿›ŒYmb y§ "m”ùg)K’U’ØtÒrQ=þ‘£º³ÌYm@ÆBŽj8'•YAO'gÕ€ó)Fõ?Õ`WŸÞðŸÄÊr&ce%·± S¸¾f!ÙaòRao>£ËB°Ê‰‰8Ù‘ÒÏwÿ©}%u%ö5høÒºMª¨_;!™c±a?{Ž/ˆë{q¤é*Ú~8”Ô BßRƒÎ¢¾ïRÍn‘ÞvA¼vƒ–Cå0àÖŽˆdú·zƒãQÀ¦R÷’’ÒÖ ¸To˜Lü”Y™Ï$S^ÒRÞ ó˜’œwg›^àäKZim]Êót.a+³T_âé= i%i3gËkE¿-3gMjãû „u@Ut:/$@U6ÏRW5uà~rÍ•¯í*.$¾¶+õ¾ZÖצaËre7"E@.R6oFÅ(´G/ÚÆžÎL›'ó(“ÁãródZ§å=tænùœ#¯%¹Øaz²å]¬RYrëý¶-¹x0g¨}½xI.®yÓ Éƒ=©E¬åiy`Ë.“jÆÜêí’vЦtÏP”°!1F’wó IOZ›ºjcŠ€±ô$†_ÓTÛ¡eCuy1@GSpO±ÁW]MNœZ$ƒL•) Œ?ª\|Ëþ}YÇ™J`6%(‹—ei™ÍŠc¯z”pl>Ëfúù*Xô³l¯ì™ûìNŸMÝå³›µ-ž\ÎaÌÊD€{à༕åê|a÷0/8%µh[Â!+¨74ÕÕz% ‹×—\ÔŒÓÒzá˜mnËÀáçeööwÔ„ç#Ff;Sd9µ”r)wBê6†õÏòz¶÷„Tk'a¿ÿ >ÿóýt×Úx» ôè.í&¤bˆç‚pfr-D±yÇ‹‰›RHÔ¡œ¦yp^Ì”+Ñ1ïöð »xºvcóúÔk9Û-µ8²‰6¼Š@NùÊfÑ¢4Æ´šq†ªo³ƒ/ø©ò¡•m–ÏÜë$ ×ñ„jÓ“Žý+ogtºˆWÔôW #%¿ÞΤ’(ǩίI*©œ3ùó™CI‡Œ37XH¦hò0Ι@ 7’J¢(W†ÏLEœAQ>VÐ1x+í;ð$çˬè0œEÀg°ûóá=O3nnü̪µ~Ô()|:A2ðpÑTʧ(34éÐI)$cunåÃ|'{ëždú–”¸'ÅÎiM|r&sT¦[ô×òݹÏõ`Ð~”_³•`}>¬\#劄MrÃzÝ“ah£Jvg3R…=],Š\hû¢ zA.Š8¹ 2¤d• ;ó†’8»& ãzã'ÊsêÄZžÔ¦$ü2ûMEƒe¥81D·‹:c½$ {³rÁQ*³rñ)¢ª³Á¼›Å×Wc%Oç|YÏ]ä]ä U 4kW{»b&¾5¨4qX dÈi˜]ËE5¢É›dUhÏå’^Îáhï—|¸I ¡:¾2¤F.ÔI’Õ|æÐt:ëEVX˜—§ÆÞ-_–’ù[·;( ÚÎóÓ¯[F½iÌô²_Û™A^[!*ãrp£1Û2Ò?’¦- vÄ”5@Р¨Á²¿Ü¤cJú=‚Ïè\š°6)º6ó‹|«¥/º‚EªI/%zê à=™)KÞÝeJÑ­É º™ÄZ“öl³v ~É­×j÷úD—ûð¹m~««øû‚o&‹º¯Ø)^c߯“ ~ncëâ¯ðþx}ýxÿó|n˜{ní¾7ħ5™á˜pZA;mî/'³~M§=’(WWº5:‹ôch׊ŠÅ{2·¯\ùfi¯¨ÿpãûñ5E92¹Er‡qî£2Ÿ·³FŠ]^œëÈçy;Ê›FõdŒŸÉžq=ÙòeÈÜù¹=|Ýò9›?ûiOÞ\¦|0Çuy³Íñ Ý—ðæø…âÊn"vžJ;™õM®`<“ŒÀlH.F6Í3^™×Ýny–œ“å­˜µÓx¼®l@Î<ë}°Òšsçãú{ˆG«‡åóˆoÒœyÏjüBw«#tÀeá #Û†ŒðVÓÛŽïïñów»ÇÍ?iÃX‡iÂ6 ɹg;9¢5WË-Éy»Ò·ùüa¦ŒÚŸ——Q=ã‡3×÷&»R.úT~ÇÃJaãxŽñ(Ÿ ÂÑ_]Öîî© Hº*« EÙe‡8z¼>3ÝcÕdvq„ÉÀ† ›r¢}]>ª¤²ê±{ñÐ-÷d÷¬âC\“ûÐ\u¸òí´ˆ=+Ï.ª4¥ù²ø£'—Ç5W𮋙ÂaÍ–ÉC>LO™~~¶æKy!œ‚—õÖ/xèõh†«¼Ÿå©mÑ#VÙò¼:¹è“~ëRnbRƒU«™v­ŸV«I3¶ÄPu¥6µU˜®Õ0¬…+°s»Dh»””XÓùØ©öÓ,¨8¸Ñ~â7P¿é’l Ê€j¦Ò_4L‰Ïýë£ÖãëiØvLOxty;™"ìÙÞR%>C4ôæöÆxKW{K’ÓÀØæ£±×ÈG>0cß|4¤‡¼çƒ+ÓOÍx_vø¾Q¯-ÃÞ1ù©¥9ýÔéW§Þñ{Äá¯UÓKÕ¡maŸQÆ:àOEœ5$¡øÖЋršÛÖ«Õ˪ÑN9³®ãð›ø~§ÙL"nËXCVÄ OÒ™úvÞÊ uÓ‡ó™Èzî 24΢þŽt`rºŽß¯%‰4eŠ¿)÷Ü™JHÎ|´¤¡ 9 ã“|]X½«˜^Ϩì-Ørn5Ôs/ñÅEF¶†DæÁ†ï­ýš'¦of45)b¹}!Oï3ÝÓz;š&àÕäÉ!ª»/J÷ûú'fÝ‹E E»Š­°†4–›¾ÔÈ•…7SÅ|¶Ý>pÿÀŸÏ§éÝ_óýý¿_yÄ'îúVùµ£Ó´H¾tŠÄÄy_‚ênкb@450ù¢U}^c(kÜ®Å|ª=0Eù‡0íïà£Åþ(Ó¢@hD„véáÃ\ë_–‡ŽW˜Ÿú$%ÑûåTT“ˆºSýƒ1ÄŸp*pJ„ý”ÖTwjÑ¢Ü.µ-‰X~E~Ž<¿SC¾1ûÂy(Áù™ æ@4÷ᔨlâßçcRôCç…}Bìñ%^YÆû]f9Q´‰^삨Dí©Ê µK”3¯fQ)~¾z‰ºîǼ‡?¡±È.øDŒrEdÿ^©¾#Ò+»#Š_˜ê;C§UZ=©¦*¾°E-ÂxDËËþè•ÙŽ—!Öã¥4ûãù[àÖÃg#Ÿ;0ÏÓB¶Úiäo7Ñ-šV9ôJ)ð»ãõÙ‹õ)À•˜©ùªê»‡,Ô3´˜Í]e‹Ÿ<‘c ülÈt—?QÝ5˜½)þ}£„bQJ *÷‰Ìû°«Å/;•¨–½íÆYØÃì¨FÙ¤l~±i³û/4$'/*ö­},H¾ÜöQ¹™,ûؘœ¡}£ˆw¤rås£#-”e#J]*öq1åÄÔí@Úïd¤Ž}T öq¡5þÐ@8˜öxl7ö1•OuEÈtÙÇɶ@úOêFÑ5Xç«}÷Á~–Mì§\)û8ݧ(rž!X, –„ݵ„U>M‡ïû&¢>ÌÚh*ïßðdñÙ²±†’<³¨™`öDÔ)-ö‘C¦Š²°§z>í'¦ÓÞeø+œe!û9€É?P»~Áˆ5K’ö³ðóÉOËŸ§!%j_–EpÁƒ L¾¢ºDËòГŠxÆø ÿ;ì'“Mäga¨áÿôêé¬ÒÈ(‡Îõ#*ÊÔ¯wEœß^íï¿¶åÔ^Ìz@Ÿiàuøo||¥oðç}PÔµnÒìoz¨`žú”ø~°·™C”—ì­†Ž3¾˜àµTóao+EÆ’ÎÛÊ÷Ý8o ˲·²×L8¬LÑάrûªÅ•(jØ×BQ>½~p¨ƒ†BnÙìßà'çÛýp]ç[|ÿì„Ä»hét¿M¶¨ìöyU¿œD-‡ý«âóÚh²Î·ìó9ßG”üÅ~´‡Cl‡ˆGE"p'ÈýN°ï9”"eú¯âX6‡­GðÑ#_äŸò“¡¥{»)Z[,z¹õ~§¿’CÒÝr|ôMÌ~žÅ!yE¬¡°ÿ¸$òU¤ÚU¦‡6,úóSþ@Øwžÿd¬ûéa)~[äVù‹m‘[µÔo–Ö›KñÛë™%´Hîé癯ûECÂÎ~Q¼Óïä³þîßoý˜Ùþó#zEÄ3a_©mùÅû¹ßÏñûfßš¼!Šý@¾ö€ýÁ¬Ç7QŠ-…þnÜ׸ÿ5Ôý8 ë«õâ÷)Ý"ªRx©é¾†=šîÏ«Œ¿æ÷ýhßůY¢‹Sñky­M¤ÇÔ»ßJývGÍIý½½®ÏéÇËöχùÿ*ÅÏÓ/ø³^Úàõ\züQÿÎàP“293ðözeÆì¯#a çÁö4ó÷ãù“ñääyõª:^¯©øÓñiøÑß1´^‹X"óÇž?KÆ„®¨ÀÕøO±Öã[XC©Y<íTS§0âÝ-ªÌJþg`ÄGêOÀìLÌןª’†dWƳûé Vm(òŒ%ªE?¾x`öWÔäûþUåÐÅ¢x±Te,Kýs}þœŸJ¦n¼ Ö·"‘„Ù®xýe¸1$»hˆFC~ C·qžZe|ä~̆é‡ge¡úgø\ö‡?@ÿŠvh²ß9¦9à‡Cüʋȷ†¼ÝghÀÿ u_ÿˆFº?îàü §¿Âé_‰zÿÏïóùý?qý'ãöÿܯ†bve×0î 9 ÿþ¸†´FÿZăÅý¤»Ò^{ÿíû¾[òฟl-çϸפ0µßÙφûÍýkñ„ô!²ókÅýà‹çù@ â™ "ÝñΓ~Dåg¦Zò›z¶ú4•Ë"éŸöÄùõú2 UÌþn_”X~? y-?)tÎD¾¿;¯¿¯/å˜ÍD=R³ªòèßÌ×T­O؇Zî~á°OUD…å/äkœÿI|<Ûß[¼ß¸$A³Ô¸~‰÷Yº‡– ~Ü/ëÕ‹õ9°%ÒöÄÈ}.òô{gû²ï'ÿ­!fGÔÛý…þ½S·?¢õ~:‘ÝØÂÎÛЧlÿãìQùæ£õ[¤¦²^õE=„Ü­ö¥Ú_›èŒõS<½‘ÿ¬Åz&›Cгúy5¤ôØŸ zv` ™ázTÛ9iŸÔäú 1¤¢¦ïûc÷:ý»­!3£3ÿ±E}, ­wØ{ÄcªÁß }çú Qó¶¨uö/4äþß¿ùù™l-öw 5ÜÊï -ØßÛÃßýL× ÿC¯G>:/݇d"hYÓÞgúkI÷iÅÆ«$gV¾¦“õQ††VVù'2Ú\…ùOú•CºÊV¿~L›æyäz7Ü'˜5SåO4ú¼_ÙƒZßÂô7«†hö×UK†ÁŸð˜ßåtòÀì~ÁOÅþeoŒ¯ÔÏX˜¨dÌþ‰úîKq §/ ¾•„;í9ýÑQZ”¿-bE¼‘hŸe{Þ­‡”^íóD¯!ö#quþ°:ÌëÆOâwõç/Çï"„ržô¨–ûûE¥_¾¿Õß»\ï”^ÀZ…÷ßÇRþO†ú>?âŸþÞ"þ1_¹X¿ m¾¸ŠOç÷b?áõñÅ|äΌף>·ù8YŠÖ0.bÑ-Ø…þeäÃ_ØUõ‡…¡¸Ù.´8„iŸz`v=áálÙ#q¯%Œjá–¤£óɉõòæzOz•|ìíQgHçïøóùi|àúñþåÆ?ûì£)“C²¡ÿÂ|ÄÑWkôßUŸÃvß+óüOëÇdßÓõ¼º^ëã¬ÿ˜ïê¡èw¾âøï´Ÿsº¾QŸùÅùݚ߇@Jßçr~îû·!ôÙúgHâ©“ßs>øàòÎÏpþÏŒÿÑïûÏÀ?ó6Y¶‰ùÜÀàHÜ3ê­,äˬÌV ]Ϫ7÷âz>Z1Î`Ô'^†.Æ}R94ª˜PÉÒÍ®WdF—kàJ~ÀÃ!Pɯc¿Æ'ÅþË?·%®ÿ‰ñOßçýûy_Nçó%D}ðàûO×ë¦$yÍWÒPågþÝäPò Mè¯WLýÉÙO~ÞCËb?fëEΓŸßÖÛA<àü|à‰üã8Ï_¬ÇLcÆ Ùþ¿Äõ_pV?ëlÏ´×ÀÝXö‰,úaý4ñÿn¬ÇÝ*¥Ö¨aÖý"‹{¸¾:ÉGñéêÉ_WíÿŠ¿wê'~?Ó0öüÀŸ×÷׋Ïw>oéqûã+ßøçóƒ¹Õ½lê^åÿ€OÇxµ8ž(|~2_ 2±ŒùEÌgM¨&n~ý,/ùªYùyÉþ ½šõ(LþѳóÃvå¿¿>ðŸw{½ë‹mz¨îÁ®W¬|®ùwbÝ\¥'i~ ø‚§Õ¸ ¾ ôçžø‡a_ëèïÎænYüœ…À¿zðüé ~Á´ý|o“^XØÛX/*€Çù¤ìío!úE«ý¿ä½K–#ÉÎ38ÿVq—`ïÇZúô¬‡ãÞ~ €î®P–,ë>¾ÛçŸ"”Qr™‘ü>© ÁŠw¾_bþíÈ×àC£Ks3unö'ü½çü½ö8_óߢùnU>‰%ð”'Å‹|°P%%—î³Ëö©û°àõ®ûÒí²Î#ñ¬ü¾þ9„ª(7âS–4¹Ñ_y¸ñ^•Ÿ‰õÿù ó¯áƒæ+ à y oؘÐR¾ âýYþªäãñõß(âÇfä¯çóòÿÐß•q¾ðŠþ»ö±^àEþ×S1]N†Teô¢ß`•”¾Š¿IÏxþ´W~¦ø^ú}ù-ëýÙ_¼õ×úé'GÕÉæ~qÐ|"ÿìWýÄüµ¸b1üÆv‘U¾ûSæá³ŸY/oWZ>Ÿo¿ÜEý2ø›Rv;ù-úmû¾löKvÞøz|݉ºŸõo øZßÔc|ÿ§¾ÿ +b‘‰÷[YÏ·ïž%ånâ_nùaÏö¿¾þúûü÷$Ÿû:¿'ü¼E¾†Ï—¡:´ùª³ä^çç¡>D¾êýyâyx~ÆçALþ…øµÃ ½^DÜpþªüUáx£ñóðæÉóJþ;ëÉ‚zsj¾@¼z/œ|’ù~žñŽ«ú»‰Ëú[|©„úa ÿ¨¨7âù°þÙzÞœ¿¤âŸ ?sÎß²¬¸Ä3ø{‰þ‘Ñ“rÔŸ.¿(jã|&SéÕ*­( «²¶r>ùö|¾Þ? Qàù ù¯*žè›~ßø{=‹?‡yç<ÈâŽ%ÈP.Ï÷\¢ü3>ɇ×ùøz‰™ïÖýüñ¾Ëšoò¾Ëüè*_¼ý@ÂûwŹ?ó_Áù¥ÖÎÏÎïçƒ?硨O²·õ_#òvDÕ,ÓåþÔv^9ÿœÈ§ä§ÞÏcÒ|º!eú«.JT©® ñ†óUܰá^fø¨é[P¿.äÓ®~qŠo…ùíœÂÛªæ§Äçñ² ·ƒªç»µ¤š÷ýpcét,Åâ?‹_¥¸áõ.¾tÂû5ñåûc¾ÚqÇ<¶Ëï5IÉJå¨ß[àÃìŠ}'ÄÂwæ¾õgX f1òã‚ÚrWòÕ—ê=ßmÆñ~”ÑÿmÕ»¦ØEþ«zÝæ«›Ï÷äùˆÿVø|ÊãóÛZZ|ÅûŒüÇ*þáFN¥²?_Ü—¬g–ønÄC—ù_óûB>ì¾Rõ\Óÿ=ç#z>œîRàçEß÷~"óËß­O2'æU¼Ï/–eBoPšæQ˜WÞ‡ZÚ~§ü:´ßÃ…“>o=ê÷FÖRpÌFV=?ð‘äÇÏü³ï7Ý\~óg?XÅ/®ä³ê<. ëÁG(âD¾£?òÛùÆO=IÇ’gî7ÈXüVu~]/‚×aW×gØÿôN¨òþ4}ˆÏ‡ÙOäá~åµÉ>m@ÏÕ¸Íøì ú0â-Éù ‚Ïîú-ú_göï|6Ãsô`Uú0ÏwUù“z0y£.˜ö®óíÒõ_ê7 ÏéCó(w5‰øD@ÏóCsú݆?õµT\÷-ÏûÍ¥û´ê<6ž÷¦x|ˆ_~_÷ï»ø„ODþoêä¤PcùÔñJöK–?+~~‰ïÕ¡·D=‰-Ÿ7ù—ó<’Ô_‡ö‰À5ö{¬þ]\/¾X’>l¤û|Úõ•Ÿât© ×’úX¢ýß’‹ ]0‡^ýUvŒùÈ:µ“Ò.ü”üÊ"¼€üèXÑÆüp¦šÔë¹óðj»o«öÌ|Lü° =díäOÔ¯u ƒÞ§¾yHݳô%ª¦/b1= ôþÕºý¾NXj¯ç•¡7išúÒù%|üŸ‹ÇYó/¯Ï\ÈÇ»+€›ÇUz[¿ÿHŒ÷óû˼û¶/†æmþ~óÝÇŠzì_¥+ùi•üëÎù¾ Kðïù÷Ç ƒ…÷÷z¤b™kíÔ—[#=Ö3îÈoë“wø÷û@?Ò›øIÏüËóyæ×Ä8³_z–‹X•¿ÛCoJ·2éÅz×¢Ö-=QbúÀzÅþÿSþ"ŸÛcþÿçÿú¿ÿ‘þñÿxõYÞÀ c¨1ÉNõêÕq–Z‹jÎè67ÔŸ`_=Z´Ý4tɲå":·ͯý‰h„ÉÞ¨ÚR¨Ó½‹*RuÇJi¢]¬eu¡’d©²Ê.èºã[UäÂ[¡ÄQÊdœ°í–pÔÂ?Ç/+c?…*‘FV¡Ëó7Tû¸%`ZÜÉêuø±g]»îmª&ƒé¡B¼ƒ[cåð.Û自…[¦iê¿ñû¨UÓv‹ø>óV(þ€½*,¼EâQy‹tTK·Hªâ§ÒoÜ*©êÁ-øvjò³+ Ëda*|‹¡"d9.vɃߧE”x•­ƒË-FY,U²d³¼ÔâýÈ’]z?ûþ€,Ǹy|¶ލesð(¦ÛÆ.ØPLW²ë5ÓžO£ËB)Y•itÁßkYž*3°ü5%ö)â-›«XèGèS‰âq¸rxUH¸NMõâ]XÕd ÆT߯3T¬…‹Àn4üŠ"W£© ð‡¶Z$y©ÏÇTpÈ•#ËIª”õ»˜SÂý»¸Å%ýŸTQ~t¨ôeœYEåq¡¦vQø}Ô‘‡*¶”¸ªy°Šò)%§ wL))ǪŸUQîíÇüa÷aÆtÏòVEyWJ8Ý®&]÷ß Œ*¬L ÄD¼ŠÂ}¶–ª(T‰~ÞnU”wa·*ªê>äýw†*6T¹=c Ò3þõ÷âü_ÿæïmocxQþe¼ÞÇUñ|‰âÂxáu°f 7ò¸+ÆßÓõóc]ñgTueq£º/Ô}ðž„ëÕ†¯Þ¡4è1uˆ%€ñŸyM‚…·² nõÍZ±À­l™†íƒ^¾kût)cÃfþ°%ð™G~Iø÷&»« -¿L¢fVZW:›¶haÊ:¹Õù5>a­Ó…‡q6P¿¸ÿ7Löï*tÖ‹ã7±~^·z?±àº”-‹ÚFUXfÌ­Áa‘ÛÑ¥¼ÝJüã>¤ ÏçËc·õ§ëJÅ÷Í⌛ßQb—ŸN÷ͪçÜ[”–—VÏ*88µŽûŒõ‹Ë“¶b=ê»…|Nû÷FE×èô6÷NU½—±uË¿ÿ^ïu¿_›î»¶¯©Y…“|•‹‡ËwðúÛ©Ã;”,ü9ˆòQ…0å:Á-Tá:2¬ƒ©% ]®ånðßêÃ.Vù궘t© —‰D×u¡Ü’–OX­Àúµ$F}tÙác™6H Ïuƒ{ƒ!ÉàÂiú7ãz7µßíp—œVt¤ÑÁfº;ìui}0Hõþ°,ô^tx®®¨”¿CèV}/f†ùmÆ;O—gÚ÷Ïï‹éËNüë¸n†™á¸Â#ÈÅþÓjº³ê§xd€n´ N9°p1wØ×ûÿtÝãlÿª8ÀÇ7ÀªÑVéï§ßñ;³3oo$k6ç¼ùgGoKE÷Kxl0T0Àl0LôXw@†a- kA¨'á=ÿ „û¡ÇŸ؇D+w@?oÖ׃›„4”öõd`ßYù&ð™úP(ö¥»Î?çïT““úÝB-p'×Òw/ŠYPU`HÇFo„4ÖŽillüaM1áÒ¡­Á$ùvšVÍŽ¦gÕÄΰÎ}sèÕ}–;z:Ì68^ïýB>^ÀZ'óñ¸—c#k/À ÆÉÉ8ÛŠ“2´¸ªµ¹·0Gþí÷ÚŸ ™þžûcï@‚aÇ„¡çJ˜ÏNn õŽßÇ­öÁÒ]­nü¿.˜g6î˜]ÐrK º¼€tjÇFXÁìÀF_ c¹Û!…¢XŽƒ…0ËzJ…ë‘vsТ¾íX{ÙÖ-ÿB²Ûöa3­fÇ™L ˆ>Àï>žû[ú@ó»D°l[¢À cæµÝis„$´‹"Š^¯4-=@Jžzº?Ð߬¸ÿ±s€Š‰‚ÐÓó¹À;NŠû3Rß¡‚Š«r'p }7I¶ÕÊ” nq§ƒ- ÂÃû†ÙÀTá¦ðÙ1’á󼮠☽SÆ;áÊÓ]ç§úQàW›Äjâ>ÂX2™õȸÆ!\¹;´kð¾$Q¸_,Bö×Mˆ.Ç-Z¼_;bmÏŒ†Á›É/Ä(mÀB™œgeà)î‚€yÔK:á÷‡T ¯©æ–Tõ,—Zj'kßçøýªBÆgI/kkvM¬q„«æØtEÔ|1÷{MRäj4ô:ñ'²Š\øbÁÙ$ -TH‚K1“n×¼²`j~„GÚý×A8>eö$Õãø9P/7 ?Ï€¿ÃÉñ)ü|v|äz˶ð,¼‰½hK!£ ¾_:ðsžS·÷(w< *y¤âí8ŒYx{'KMx”±ì;Y›¯ñ AÖ2应|Pnø0\ù&Îv ÑE¦±‰¼Î_…¡ ׂ-V§ˆêõŒû®ˆ_À%»M|‚Ꟁ “øÚŬŸ¯\ÛstKFéè×ìb¨ ˆÏb¥MïÂo: ºÒ»¼ñ¬Œó¾’•Ë¥Q‹òŽßb^†óž—ægõTeË]Tp‘~Ähv‰Y2È•T]¸ˆ¡„XÑ4àç§\‹¨²Ž¦¡ðõp•¥ŠZ=d]WüÙå#£–pŰ˜ <1Y ½:] œU‰ù'\-é2&U‰Å‰óMÌÓ7*‘PõmÝgdùm°v«æíœ—±þîÃr¸».Iž¿Â%Šù,¾ï˜ŸDSÕÀª¼XÒEç1çë=ø5xÿ!Ö&]¥çƒå®íù4ê ×áZ*“ŸltËËçÏ™,ã‰ù™ÉQª.Åxž»(Æóļ#ƒ¥©çk1ç!;)¦*v(Æóļ9¹tÇë…*ÛÓyȦ1´6Œ®¼#XÍÄX¤* Ëb×|„.^‰# –<1•Ke‚×[äná$.Õ„^—JâH5dö˜'Nä§³{ìßw.ØT­”Ü•/ ŠÍ¨Å§\´³/ᮓóÁ’+òwZl£Ž©ó•Ý®ÛWcûùÌÀƧ\À2¶hL>Ï“ó£yâ`þ©w•8ˆTcoÞWœ7†êÿ>oìI F¸nñóûP˜^¿07€ ‹[Q4/eýøv«ÇOþçÁKÕ+@™:¨*r¢Z÷zo¯á#–:¸5Êùj¨ÿÀÇhP‰ÙDóKtÃ6O@=Iôc]üŒ ƒ¬Ö†óL•ƒÏ7qž‘ÏXobÛêÍ„zÿ¾Ùw¬ëþµz’ ˜Q¨ªÕ¸ ÷kRýØ€½.Õ— ÷ëÛùï»ïG-ª7¾^bæn•Q~¢+ÁFJ×ôÀ4éb°ôû¼Ÿ¯ü×îõN–*&\4ïçȯø¾ö—[wñ€ªkÁ*¾PqÍ •tÕÖ- ¹¶T.sBå\ñÿïñÝEÌ\@°…®cT)mºß¶”`Aöt¹§«ÄäR  +g˜õµeH,vbÖ—jçI,sºÖ>û/ñ,ÆçýZ­÷þ°ŠüÒÆú4\˜#?®+~v)¨R5;ÿ´[.Y.è .¾rÈ—¥jk\[J½\Ñíþ,ü¾¸KAº©TfÂû“‡lý=·|=·ÌË5¤Ae®"÷øÄU§=¶²uÜ·ExGˆ*ª¢CõJÖwl‘š\Xχ®Iáj@$õïµã¼J%ýp9;UY~ õ—Å[G šàS6¹ú ðÙô÷›Ê«‚/špÞàŠ*~C¦ Lcÿl[*¦T}¢]À¦úªê¼.Ààp ›;𨺈ç©6]5Nô¯PqwöKáú5ЯÇÖ’ñ~Èöóù¹Lµ¥Ý¸äk /tõQ?ÖùýP½Ú¡ªÞêï] Úýùæ Ÿ©øùüsÄÁ'÷û6]ïçýc:t•Æ2Rw­E?Ñ¡ªªø{MµÕ¡Òrñ®8U*® U&·†dléÚ*â[ ÝÕTýÅ„ Œ[%¸5Dü`©ºæå"MWñq†_¦pY”«ñ‘.¢í——×KÆõÁÇOàwÝâžîç™CÞ¢û;¡þ‰!S¸*å»íëþ|÷ûv¾^Ó–/º†`ô"{Âø{ Ké骷±•2q‹%]Áw–K]¬²\z&\?èÊäç%Ý]9QïnòSÝ….!Y*iWm7©°¯îv:ÔÛÀ«¼Ÿ€Jº?ú‹­¡ý š*vâõK¨°¶T¶]¿ÿ̯ädD¿±äÚªÎWç©,ævµ` ¤ç3¸`1r+^‘ ˆó^œ6·˜ßU}1U~p5˜.ð™ýŠáÛpõæÖ­‚­RérõuUç¾¶\6¸Nϳze OJr þ¿Õÿ‘ÿ6b^@kã–mÕk‹ùhx=P9H–?S¹Æº¦š^ز»±¥wÁa.¶Ö ×TÒRVæÏ~xA~\Âs˜ß°÷r½„ËOïÊ—]³º$tàC®¾±Esžõ£C.ŽM®0¬—¢o¸‹ðfâ˱e¯Ãd‰Ùá 2„?w¸”Ÿr _^߯üüÊíñÔÏ;…ªóÏ[»°5[«¾|‹×*ÿˆ-V¶Å«C… ¾i*Ú >óÞr½å–.¸¾ò_mk×¢«6\K*\è¢æ.'ø÷€ì¤÷ÇnµáÚË-€r%¡Ê:\ú->é79COâàp uRHɬz©‚W„ßÑ52ðoºLÖèð~áâÕç¶pa…²ËUHøª\Øñ׸¿ÏU—Û=wu¶kª¼àÅ·å=;áÕÐ#—WÊ‘—?né!U„bQ#¹‹¼G|÷½btÅ›^^‹@õ< HUA¯©?[èuz/¶ñ©`¶—îÕåêé Ê[[ôöÙØ-Ýö¥‚iTvžÓMÕêfÜÀ*@–§7_W—¼hqU^$˜Zö&¯ê¬Þå-䌧ïMQjì¶):_ã^µV1»¾ÿòžÊTˆò†×QãGÕ»4«¼Iã|Ñ‹4ÞoUÔ…»ß2ÁÞUÍîm¹Ø•'ÞûðO*ÑŠóA/ÙÞ•›ñ¤·â¬Ý˜<Y^zç¡h}xÓVx¡ôPr·Fcœq~Þïߢ¤òv¢Ú¦®ŸUpÒçK¯Ù˜BU¢|Q¥ªç3êó~än”ù@â>mR­‡W3w-½½~¢F ¯­ ŠÅ¦"‚Å$¼‚ìû»¸Û0“ã¿wÙx5/ªÒ­ ®ðº„—×pjµï–XŒç¸u±Ü]²³vIìšP×:ÝtÉbx×Nxóízy?å-BqÕµŽ7ñ‰×DÔ^]KxÁò¹›†¨ŽOÁ¥U׺ò0?rWõkªÂËk^¨n…wÐQ]bÌÐZ•oàíET(¼ÖèÕÂ.s© Ö ®ªK¬bÃK„^è:Ÿ LÓö`U-y·‘U@’K ª«øÃDÙTèjš{§•~èlçý»•ùò¸!.:/(m*[@ ¥Wz‡ªòüM¢¾KStmSõ9é²@ïv—™Þ˜8¯bݹ·XY»`ÈaÛA~¾¡¶d9¤¥Þ]éìþ¨7;¨¸·]ï¡Â#k1¼ ãèÉR ¦0U{Ñ¥®û÷c þ¼©ø Ya½þ=Ë'M±é­œ¹[×ãŽz4ò¼0yž¼hÇån({VW9AìÕ.j‹;vÁb†÷eJŒíù–¢© ½2Ûå€únÕ£¹ÞÏÿÿ‘—ðÐ.Ç{ŒóÇ®2î[²xfÿ«+ÔûÉëIJ-u•›]exã÷à jáß?Bu ¤ æÝ ïDìʰ»ÝzFýÓÙ¥w 6™oñ™õÑ/wéØðòÎòðf*8àí^Y¯¬Ø’éò¡ÝÅòâ »=˵kšÞŒtéXxÞýÚM\ÒÍûm¾¼Lc÷Ы¶a*wˆ*Ô@•^¼ÜcŠÆ¸G½Jªê!¢NÁRU¼_âùòûª¿®ÿÖ_Æî¦+>zþ3£>-`9x=ŠÝıÛ9£¿[Šv¹7Õ«õëVì^œíÊ—õìÒçß15צ.Yç›Ïoèüäïu„ÚÓ¥ÆîÿÂüººâ_pÉaÜ[~ŰqGþËúyë,ÖÏo¾×›Š|H—‹ %ìÜeé»ñïá>ð†ëéŒi»£ w/Vî’öÝõÔ™,¥u1»ß§Õí|7…?Z´{S¯êã1#`J]=ÑÖJ<ÂwAVì‚Fì…‚“QoxùQ°å&Ê »¢ýûѸKcqŠÐ ƒ®›Sî6js·—nÛT—»%7PëÌûº%«øè~^º¿^â_gñ>‹ÛÆ¡ÜIgñøÇýíßû&^/ù‰(¦PÎ]^ò~?¼ wíá[¬˜êÇøËãÆÝ,@©2Çn–Ý“•*÷âÆÏÓ;»Ékb¿°¾Ž],æ%:±»¥ÉKÔXU®N SКè-¼|yÇ•°;ik× XÃeÓ››»~м¾'\CÊ~Ïjy—(lÂ/K‡SÿÈŠÇK¼^âù»Ÿçû¾BÖHà•VÉá+Bù’ácq‡w3ðÊþ¹Ðõża ò¦ ;ÉëxÉ‚7o©bc×libÔbñ¬Ž]]ßx jÔ w9–¡ÝÑ>>óþpóù&ì.œòe}^êìÏ”‡½‰5@–܇×'cÕ›ìc÷‹âöŒ/üxiœ_Æá•ŸË½ž –P^@ÖÂÙÔÝžŸã3¼8<ÌþùrªÆDêõˆ¿Þ‹êäxaÚóÞܧXY8O0ðúC.qýwËdœGªÄ¢ÞÔó&˨ í¾˜À´+y&Õ‹MõžoìžáNqÁÔìŒÕ¯G€Üã_/®ÿd\þÃñŸþ}¯ÿ¿ýC¼ž±\ £^kϘõÚß^ÿ\¿¯w²“I¾<^À‹q_¸Æ”ÄïkéÈ'b]7rñûLõ]A¿ÃzŒSÞÉ|WáŽRëçÚU/B•TÁÒ¯Iõ\k&žU7vs—k··©*M¢¾ã”” Vï!¿µ‰]ñ›ýYÛÁÚS¼Pßaþsíú§»C8¿ƒ2û#ÿµÿ#V>L˜7„JiSu* ôo[SáÍÝ11î÷û”*r±@È¢G*´Î]¶ƒ»;T2ep ß#ÿpwOÃóf½U:çoò2‡÷û•Ÿh€S&ïÓ‘ñþT¢ûýG–[ìöA~ã}9°[krž8\¹î÷™ðÓÝñU»}6X M*UÞ‡oU˜ïæܵµµkw¬­ÝÔd™'í¶`‘gá•LZ<1GG}º‹Xoó±r¸»öÚUí@‹³æÎXü5vÕ—ùyÌ÷ÂÊæöù×kWYâámO–xœ×ÊÝÈá…yDàq¼ß ×}Ô«T…õ× yA•G¾Åø¾7°ô3w'̋Ϛ¬Oü<åcçs¡Þ™:Ÿó>¸Ì„,Wâcˆy3î÷À· ú.Mç>¥ë<ãï+ôS)ôÀÑn;ßµÅÝZqY¯(.8Ÿgý‡¬ŠhåôŒyL¼jh^ Ý¼²2¢êó>΢Á`âê_8ol •qÕÏ'Æx¿©ûü­ªùç|‚»I¼¿ûòØçIó‰´LVÚ ‡‹˜× ìØÁ çnJœç„Ý[ÜÝ›ÉBnS»'1¿lô¥‰yDÒn-ª¾³vKw¹¸Æ®û‚ùT øè}^1Àº{{_ýÕü¾½ÌïÕj~ç9½œïñ<ßTù\óãýr¾1lú}ZOÅü^÷±î‡y›?~žb¾Z6Uvƒ»~6Ïà ë{ßü•MU÷@½R´;oBµúW±búû*ÕGÇû£>š»ñ¶ÎgÅü~k7Ïã>Ýõ]ðÿߥ"¦  KÌy~¿ê‘Í|¨ç—®×.JÅå1¯­šÅî;²f¯ù>žGð£¸Û~œô‡Æ"­Ü€]ì` n}¿§ \E…óØü|lòA2],”¿,îT=u_¨¦ªbßF ¾ ϳvIºÊ ï·BeÖøá.åÈ?øeú<ÿ”_Æyû9¿l\õÉ?Í/û®?ìûîÇ‚5 ¾ëÕ¿ÿËDßuüý†ñËðzŸŒõŽá+¦ZÌÜÅäªíù“¬ÐŒ]v4|3<*-àks#¿ÑAÊðÏÇýÚý²Q?s¾80äßsÂ/#¾…]¡m Ïšr½ÄKÄÿêû†—´-•M_¬£Ÿ(ášK¾ÙÃU—÷»»îbh¨XXÇm¾Ä'ªSQ ìºqY‹×¼ÍÏœ±ï/ã¿”vùÿdò'`V€y}—ëLæ¼W»Sü<"ëvÞzåî:î^ëÚÆ±T¬¡’¦wñH›,à²XâóæÊë¬p¨Ößö[oÏçx©_×K~{¸ÐÔpâ ¾T? çëâ§•çùd½Ú"Ÿñ~Ôë“*½?]ü÷¾°°‹bݯ`aç-¼šø§æ¯RYQµeçÓñ+íz]TI_´ó¹¹Krñ|nÎ_ϧãxúÐΣðωþvŸ”øYaœ°k«½ËÑ.ñ×´‹Yª6õ‡‘ÿÊKþ«/ùqÜÏ…|‰¸oñ~ÑŸ°> ÕëìW¾ e;S™gÞkãÿGÛtÖøNlÇYØV³“ê?ì^ÚRE.ßÊá»™cW‹ºÀ¿ÙE»$á¶i-èüðÓŠÎç†*ù­Šåçóáú³¨º >®=œ'DüÜ]4P?Þb¹ !¦ëô}×Ñ~Æõ%–+bí>:9_5ÁB6sëJM¨÷‚¯²ÁoÈÜVdó)ËWÁŸÞìפ‚Ú¬ÿØOÄn»"•âÆ®9ñÖFýXé:´˜ïªò'T¤¥‘ß¶ÈíÚ UêÕn©Œƒÿ½Ú ï™ø¸ð‹Ûñ³ñùº*Þã­|ŠüEHR1ÏÿBŒ|XÕoõ}Ëœ/i‹‚Å üë,¾ØF?ò Û£?ÿæ¯`·_!ŸÎë?¨~›ê?òƒbëB~šÒ+ÌuÏWœOuá#Üí:.½C7|vœ§à“qú¸Þ¿æk~tò| õ‰ÏçŠÅëm<÷i¼ÿ:®é¿+þô÷þˆûËçƒ÷‹Ýð*¾üªãûÍ]äGüôט]ñý¼ÇÊÏÌ·Uù9¡ÿ­ÊçÜ]âõ…x¼Äý%ž/ï—÷—÷g|Ì?`¿"|hÔûýËþ2_xìäÏ«þân÷x­’Uoí‡ ³é¾O1ßž·þ [Ã<?…®„güÕU±‹ÝËò/Ô» ú)¹ ô·¬3øªƒ|¸^¸c1Ä þŽTÔ‰ªJ©\‰ N~¿øÂóbÞ­br¡sy¸Œÿè'ú€ÌÍñ›/+¶ÄA78°¥¯ÑõÈú]nÃîé¾`~ô» »£‡\C´ÅPüô\ªœ›êâIÛ)2òe¦jÕÌä€/¡þêtEñzú+pi‹þ·c5]œ¬~HðOoÂéÚvØ?‘ï•1~Æ¿þ3qþÇïïíúå¯bªÀõ}ßÈ/¡ú¥°ë¾Zõª?cl>ÐÐOæCþªÝGà4'xŒù:\fódÿëy»¯²øÜ™|mð½½r³Lü<ùKùšW%ðµÀ'~±9~ýM?›.aö¸Î׿¦‘Ÿ#—%ñ­pÿÁª¼ íŽF?,|ÀçU˜_/áçx¡«ô ý ÖÇÜ\4ð·pݸ¿Æå@ùÒý7¹Y%ŒÄÛK ~äZ¿‹çï_ÿ<_vû¹Öb¾ì|›Içý¸Ìé~¹üûyÛ2Ċ·ëÝZ“‹Uò *\÷ ÛqówÌ~½$/dš\„,^öû¬JòúÌbºäúÑ·‚–ä.#­Šÿ˜“ ­Ò•Ò] ¿¾Š¿Ÿ}Ô*·n™ bA |+;PÓ°ÌðìùgÌOöäóWüpqì—kƒ\EäA×ÛØ¥L=MìR®œÇl}Ÿðóñ}¡ëx|߈gÍ=Ï[—‹ŸõåÆóç.yã|ŸÏ¦üì[ôð|¯nì5áSÙø—ÉŸ7òÛ^øþPÏí[ò–?Onµs!«?ßÂïG­þ|á “µç >\ràÍbÌÃ’[]—+²ùØŠo¸N:±Ôž?ðÉìõ=ß*Ló9¨tAµ8ãûpÈŸ-â‡Ð•©HÿÔ¤-Äà ß*—«N|0\_隬ú…ó·ÐÏoL¡o&~ø0ù$ªåp„O4/Líó«îa˜Ç^O4¿H-†ÏƒÿçËï¬v±ÏÏ¿ŸzÝVùÿ›»Q[åü+ÃnÒbÔO÷Çw }úðú·U¹ דX ¼dTßðæ1ô|¾ÜK~ŸÇàú|Ìc?OÕ÷ly ¾ ?(ÁtW=Þþ~eã>o<¿ :{ì÷séx^Ò³Ÿ_zìïWüAZŒú#oÜœŸX\Ï7ñM=‚\€VUŒÏ[ú9Å»¼ÄýCÜ^âüòþã%~}=]ñÇç–îóíõ^r ºi3›Ý§æ ÓÄÊ>8°ûù:gäößÛóit}²x3gÞÇv_ßïàfäÿÊM8v?wÜ?¨ß¾ïã†ûxvöÄæ÷Ë~õ+Ô‹dö+Zœ"|’ç³ ¿i=dǼaÈ…­Çç®_üù˜?ðõpyzY„Èún”çó{ëÚùóù¹~Ë`m÷íñ|8¼^Ãç™\ïmõ·ÊnÔgÂï³»·.Î>ø±çÛô|ûòü=õü ò7ô1Ùùö<«žŸçÅüž} ˆç ÕW«ùóD}˜;îÛ~zßNùo6âÍ¡¾¶²?ˆzŒ¯ ¿“þ9ž7ê«ú$êãÃ_¢ßó;ùœýæzŠ×ôHî×üy¸¿B^ãõ´\z½"_Ææßõú÷齩ߴ¸t<¹ŽfÔÇäŸðþ\¬ßg×yƒ«ø/ž¯_81Òòm—ÿ„çkÍ §öøÌÏ…®çC[?¢Úáz†û0ê߉û5êã‰ó»_î»ýrþöõ×ßgt½¿â=å.~¾ÜeÖâ‰þ÷]ñF¯©Þ'¿É°€ˆÙ´jÍò™ùd5n%¶¸ >†? „J^#?f<¿MýÑwþ«8IùÍ럡óí®˜·ûÓûyÏêݩϫež?>Ÿ&|¯ãómᒈϟøÄT=DWʉ~iˆ¿tå¿G=÷1ç»qÿþ¼_¹¥âh“¨ëÁ§ûš¡Þø>›YýÏn1ê‘ᮃ-˯ [ÚNàÖ/åDà—ãþžc1ô©½âß_©»ßŒÅí¦o°ÿ~C½üãþn>jê`gîqVÜ®ø¤Ÿ)Ào¹…鳟éÿž8ÿ/Ç¿ýû^ÿÿ_ãù!^ϸb±[¸V.v ü¿ý`Ç߮țxÏô ®¯÷ûÙùv½ }ÿ¼0k¡çnîwâý”ô8Ž—éoX¿o6»I¯ßèwâún¼WÖÊ~Œó Óy}^¯þ ã÷QoT´x¾Áý·Q/ÐÏÉîWïÏ«ôNM1æ'ØâcñÖý7ÑÚ^¿Ô¦z$êÿÃ-ê±Õ¨KO’ó•ïãûÓ/×ln•«Ò÷p±ul}™õ^me ¾¬üT‚¿I¾¥bÎCbþ%Ú>JîüüœF÷å1ó\U;ò•v;Z¿>O\j.±õ9ükð¡*—ôáß_û|Á?¢t‹á_5|PýžùiM|^ç¿Wä·µñ:ñB÷ÿÉÞÏ·èß·Çá”â³ç;t^›ð<.6üÄÅèÏ|‹Ñé;…çÓv^õ¾ó÷þ›ã׿÷7±òsO·ý¯‹?×g>Hnð÷ûòØë±Ê~µàûÓ´Ƕ–Lô³±Ý'-"6|¤)ñx¡þʺO2êëÆúj ÿ©ª¿2ðȪ×û¡3>TlZw|®Aèq¹Æ6º„s«¼Uµ-…py/õ^o%<ߨ·Rø+àûå’Íç‘UÿÅjaÖßG.Ä|á–ÝFçËç9ÖŸd꿼kÃux¸±™ùÒ¯óg‹¡Ÿîø|3çõý†Õk¨‡xŸåÐS¹ÝbÔϘ{½‡ü˜ìóú®3?²¾£ÞÔ {¯Ïë­×Ñß‚Øiñ_üšO-–½â_ÿ¿ŽËi¼ÿ:¦ÞòGó’ü!F~1O0bž‚Ÿ<†ù:ú‹‘¯øó<ÍýEli¾<ˆ“æ#Þï-â—)aÂy¡ÏC¦÷èG’6~Ÿi"<οiŸ¡^Óñ àoÐW¤|NýENè©õy æ'è/³ _ü¾ÇùXþæøëo¶Ö¾«Ÿ2ç#UýýêTWâ-ª‡û˼„[{‹æ+Ü›CoM|è¥~JâÕǖʘ¬—zêíªw|«g0‡"#_p~Ñ#_ÈÔëÍEÿÀïúÆ?_ùVÛV…áŸ÷–‹>ûwè•àOæõVf=´€w£>šÀï*·JXýSP¿ÇÖšŽú õÚ->{~±%™øMàoœONñÛ¯˜ó‡Ä˜ç9¶¸r>vmm¥^»1Nœ‡ê|î×y·„꼟8ÛêÔ–ð•Žy‡'MþËÌ[ŒùAkÀW“ü§8Ú¬'¾ÿÃæÕuk>21æó¶þ‡õ5Þ¿bÞ]¹%Èûœ?ú18çóL?ïeáùÒo©À¸ÔëáCÄá—/ ý—¶bæþŒúº¨W~£¯ûùüüý¤,ýA…—öÇÖѦz-‰ÏÒØÏ Oåfûp¹¯èoÃÿ‰ýrøÕ8~´®-Tþ£=üi†Çoý~< zà/ýù˯ƒÇ&¾§Í«6ð·­ç“îóŒÂþy³Ÿ-Ÿ7õQÆãõyäÒ|«á÷YßÒßß÷äóäòá2U_skù<¬¯‹76Mý¬}Ÿ¼«Íûð}.η²úù¾`^.¿ûþ Ô¸OJÂV[æ¸upŒ—x+†>o¦ß½Î¸¿¼üücKlÖÖú~ÄÇî`õ ûßgøÇ;§1ÿ;?‡~Üôoòó2þiA}B½²kœ?%=æâóQýP0­ÂS&úÓ­z¡â>áü©ÏkÒo:¿†þ ®Ç¾ØÏæ 1¯I¡÷b¾¿êþ“õùýwñ ߘýí—çû«¾xá×½íç~æ—‰üб5¹Tò×úå§43æ{™ùf¢ž_Ê7ö|õtî×TÁËÌ7Ä+ÀŸÂz¯Obþ|b©^h¨W’æKõçÖ<Éù=ò/ÏÄ_»¶oñ¥ŠÎóæ÷á¬~Ⱥﲶ¶^1ÎÇÆý—…'lÔ±Ež÷uÖý™È/×ýêú¬)¾ ùßSÏ·¨¾HºO‰×¥À×óŸÔ©hþ ¾ìÄ÷Ÿ?ˆÞ!¯ãíþùAxíø&ðoÖ÷ÒçÕþú»Úg¾ŽïK­âÓä{ny³ïKÏzÐýñnx:êŸZÉ—,ìè·áóD¼ßÖ}ÎúñÂÓçŸÔôòSU¬úq¡> ?AæÃ|g<¯-~óÂ÷c_:{ý—‚OÍzñ៽4Ÿ$?{)?ï½>Ÿï||P/f'îKÎ3îGm…ñÍû·Îç51oǼ¥’¿Ô5ïݘ·wù¹E=õå@ÿM¾ÔÐùÄ|°4|?¹¡”,~ø=Ù…ÁÎïŠyùYÑ`~ò–?þîþ¦ŸU ~ôê±Õœ[y›æï ~-Á§™Ø2¤¤ElÑËôkÒóýM|ÚÐÏS¿[öèw’Ïò/ëÿŽ­¿â¶üÖúý‰z‰ý}Y[ìÆþboìü>FìÄj¿Õï“¿¼Å_\ì÷”¯7ø•Yù7a>þää÷©\ñ"òØ/ù·hk3ýycË2óo ¿,äß|SÌﯭ†åž?kðÃ_|èÉûwå;~PÐovééJðîg ½¿r?ƒê… ç]8>š¼ïªûñXÜ”_ø¯)ñ¼ñ|ã>/¯“?V õóž™_yžÙÿðq¨Ç±û•÷çŽût¿ïÏð™¶5Ìò!þ‰ù±üD„§µ-?âoIç'¶º6⥚L⣪Óƒžq¾¯ÉQ¯©þæüâí¼ãß’Õ»ßm@)ô[rüŸ|%›Ø}˜Õðųøm#ƒ_!øî[H[¦ñ5œ¿!þ)ðf›7Àï÷GìÏ'ðóó ò}ž>=^Ó|½ Ï:ë¾úw“Î÷Ðü`"®óM|r~y¿²¿ÇÄg¸¥¾¼ÄýCÜ~óûºÏÇ3¾÷iÕòŸß|Üi’_³‚ŸOåüNþ¥eë>¿ë)o<¯{Ýô&¥ë~¾øÅýÂo-Nà;ÀƒJE}´ù| ô,ß•„zŠþæÎ¿Â}ïçw½Á_3÷m‰•© >ýC_ÂÏ;ü.ðüšbîsêŠ ó¯ž'ýGb¿SyÁÏ'î“ËÏ‹ñ‘žýqÃVð/+ø¥è{A¿›qÿ?aä oÍ}àó[äô…~f Oà#_cüò‰Ágä³ov}'ë§Éü]Á_€þi,ðÉ«ø’è§ï|Çç2õ.³HoÐê›ø¤_JÜߢ­£ä/Oݧä¿QïóÙ©û·=öÄÓ©þj>öÃäØ|⽡_á|Wùºq|¤/Ú¸¿[E~²¸C~ë>$x›‡Íuñ[m6/¯”Λð÷Ôñ<ä§—ˆ¯nâ])ðXàQ ýs•?IN¨Ÿ‚¯Ìú)øÒ~pœ+½PÂùMâ§çü'xë ÿAío7¿¦ß9ò¡šÒ›•À78? >+ýù^øÐ¡àüeˆÍýjKõöæ¼çlžß1Oïкÿïö¸ˆOÙ‘·ôƯÈM~¦¾øÐó­ô¢þºøa¸¿,FÿÔ¡×ÊÒ‡Â/ÀùÈÏ%öØ"†ž-‡_´óW-NâS2ßâ~nÞ¶L¿$^„ŸÎ;Å_ŒzœÀƒÙ4¯û¼£ÞjÁÜϘõñóç…'òÑ„ð~n:¿ô»jgúàŽ~p¡?`£å1æaü¬ÅçÓ2îÓ˜gaþ,=™óÇ­¾FcêùSó0â¿Ð÷Ö}ØÐ|-aÞ5ÄŸfÿ$~sÀ›µï²pžÍzØñ.ÔÛKóê“ú ?°…^¨_ñ _§à¾,ò·-÷-ÐmÅ–èð·Åüù»-ñåÑo¡ž¤Í0bâ£YïÇ~-‹ïÃ?«Þ—ž,üÿnz³Ïýð†ÞÇÓò—ÇqÕ®à§7ñ¡j–þº nÌ¿•±Ï7·Îß’~—õõÔ|¡«Þ.ûv?”"¼lJÏ7QŸE=Ý_sàÑÌ¿åMüùù'Õ?xd¾~`ë±Õ=Iß•U_±>˪¿¨g¸âr;Ÿ=Ÿ¾Çý<þ¬ÛÎ÷€ßÌ—ÇÞ_Êæ»Þa>eìÄÞû½¿ë%×7Üâöx=øyç~q¿fîï5¾R/ϸŽ+>ògܪ?éÏÈýPÁ§n÷ú6Îëzð±Ão¡@z£¬}T^ykR½Lþ}Ì'*ù ª—É>Ú?kõ®åÏþ ¨‡í±@OïD[‹—â =üföÂïoíã^Ò ÿøŽ'ô#¸/7΃ô)SßÒ/ð%Onǃœ?y†ç§ð'ÖùQ,üˆû20Ï‘ÿ^å}ØvìË~*ü˜v~Æk½Äó%ñÇçcó¯D?jÏFìŸ*~—þùWø“îL¾zs"©Åègšë[Í_~ (ä-¿‰Üý:ýyøb1ü4š/ °ýx~ö}kãu௶ù¯cÿÕ¢>Äúcó\ôÿ0þ¾ù¥®ñ¾žÿù|;ü œ†õõÿúÏÄý~ÿñŸþ}óC¼þ:Îà¤ðåëá/G½ô©¼b6ç™Gþdv?ø}ÍçéñBþ-ÕñÓ¥ûÆï öûÎW¾ÚõóV_ÇU¯»¾õªÝ'1ßù;3Ÿ[<‡?ˆÍ³r?¯ß¨¿Ù[zú¯¨ŸJ7ÿ¿ïþ+Y|Ñ-üš~Kù—ýÚ¿ƒýÕ…wãõ©×ÅGV~)ø÷Þîƒýé¿â@i+ ûøÜ¯º{ þÆ_ Tù‚ß«ýuæßb|šBþ¢ù·Øó+䘋?¿Íû`»±©Çøù‚üÎ}»æ÷ãõ÷{»¿ ¾/EùÉð’L Ï7xž¸÷Æ÷©“oúŸðшgÅ<ª²?Š}é^?WÍ+–ødÄOFÄõއTÍCâýF½ã/±bèuúiÇ~ƒ |µéñ8/Ê›û ‹Šdº¨‡m>”—øøÉºæE Ÿ?ê·¼pž¦úS/Œ|>"¾¶¿ë!ë=v¾³Å˜/çóùéLà7Sõ¢Í¿²ö#'ôÿ¹ «¨'…ç$ð²ö%¾Ä'Ï¿c^Ÿ;ŸÇø >B½eà›ã~𹢞 |4ødw?Ã绸CþýùòØöL~^Ù‡LÁ÷®ðãžÔSäꃘ:9_ðzä;ßOöOV˜ÿÚ\œ?7/üêÜô4£äâ1Þ¿aòâþ6«GÌ?}q¶ùûØ~„¥úÐú£ê1ñwæêjzÝï'‹Á?ƒ¿I]Ô/dÌ/,nëM|tLׯGüø>tÕë—^2øÿÜÿ2žñµ_ñŒx?Ïãü¤=㢟§åQ?àó¤ïó˜:çÓÅU-¾æKÝã| ‹µ¯-ƒo”È/u?åýCø]5Ääs¡ŸO7½‡á'vÌñóIúrð‰Ò^+?—ï¸/E¿oø{õ~ýzªˆ+ñÖä€ë·NùAÄ¿œïèñTüënüòˆéQÅ¢ŸJø?ÓŸçòÆë—¿ôV~a½ÅXõçáWM<æ¬ß›àƒgçw}yì÷y‘¿wÞùÖ‚_lU~aÿc??ËP‹éÇë‹·|÷ã¼¹ªK¸ïÅÏÜYókÖo>ض˜þmõ ù®^â÷¡×U}WÉ_Ù®?Œøèü2çûù½ñGZÔs|>u^É/ˆ}Âý¡¯f¾è×>¨~Ðå'Œó=‚Ô^òyÿ“|~nšØOàóææç-‰ßÏóX‘¿Èäý½øýöy[çý=ô0ÖôyCc~o˜?O=¤G$_óË,½j.¨72÷cdoD-^ÒƒI?Y™ÏoQä·WCÙt¾9yäsÆGþÔwo¥ŸÂ>ZÈ—×¼"£ß‰yEB>==ù 5æ—ÿ„ ?®à‡æ‡¿‹×óœwŠÏ2€×ù%‚Øïû]߇ÂÃâþxû2ógÁ¾EæKìÞÔãe|>¾¯£3¿Ú> Ã7ìs\òÏëÚ FøXÿßä¯W“Ço¿ÏïžOŠý&_/ñ /ëâ‡äØ|]þ¼>oú´¨—È7RÿÅþª®ûçßuŸgèÓCï—UÏ—£zkÁ.û~¬/ìGÀý ¿€µtߢ^Úà dêì¾ì¸ÿì‚y!õ~>îË.¾ÐÄ}ÿÞÒ}Ê÷[êwuŽ7ñÉ}ªþgð>å|þÚÄ~èåþŒý2ê‡Â?òá‡UÕïF=¥ù´ê-ñ5uß’/÷)÷¹ñ} æ?yBÿlqÿ+øp¯ÓŸŒü­©û® `}¾uæþD»'bú_’ÇåWçý.ûG뼟éâ#Läcù·§½x“Ÿ)ø¢™~–Q5ù“òþl§û5²ôÜ_úúÀ+&ñkݯ÷ý“ï ßpà!äƒl?ñßõþõWeÝßI÷%ýròÑóM¨Jÿ¿ ZLÿWÖeo̼Öõ«íHoÀû§8­š~Åcð/’|Ãkø$Ç‹ü´Î[‹ù]öó†û5_—Ã?|÷¬z6UäGíCLЋä~ù{ ß={>MxM_5?öE4éwâó«õ^ß5ä¿»ž˜~[Á_ÅóiÑ/ } ÷W„ß#^Ÿòó¤¾óí>ŒŸõôä¥#g,æ6ü–ûyáG[ªæq^¨ÛóÂüh;‘žýÕ‘?´ïËë D¼¶Eÿœ_âõŒ{}‰Ç‡¸øýôûø3ß|"Ôg_ÓfISБÏ?PDÜ‚¿&?²…z1ôÚ«Üãõáb=C¼dÉŸ¼×{\Õß/ùíˆù¾æó‰çŸõì5Ÿ'?@õIËÏøÏæóYý{IÌWÌüG¼$ò_¾ã+Yü£¢|ùÄ{²üˆjäK~^ê™èGXÿ„ý ÎöW_äeý’÷§~ukþ[Ñ_až á¬÷[~žZF¾#žló_¾øP fZŒ|ˆÂcà³ø*ë5›ÿ¶Û¼6ƒÏkñ„›1,&_ºkÞ‹ùð×Áó ?ˆOîgú“Oáqä7ÍÇý|ã†~m\ú,öÓK÷­ö[„Þ¯>÷ðgíà»G¾îò_‹ù)ïÿ#þš¿qNðc|ñ•Å]û(2ëÑÅ|¶‘›òÛÄ|f«^d¾ß4Ñ?*ò%ü’­_ŒúØ yKSŒùÌÛzí¯ú¿õÒÿ½Îâ¿Ë÷ú²JO~OBÎÃnþƒƒ~ƒŸA?0Tÿ,ôƒ5ê#âk'zŸ?£?ðû×âÆç%~ËÀ<3 t½âñׯ¿þ>ï×+ÞÏøþ÷|>?À“‘æ¾c>þû;.¨O9?Äþ—"ø¿ÐB~ŒÅõMßäëy:ÿϳëù,<¯øùù&ü*ö¿h}Â_¢Þ~þIóÖ÷ zâ~ù;pÿÆ|ðûn|ís =FÖù|æ»Àqÿµèß™Ï/£þâ¤?ÈØRg¥Ÿxw ×â˜×uôwä¹P×ú»¡Øç…œ/gøß[±÷‡[±ÿaÖ¿A¾¾Í§öyØ>§Å}óþ¹ˆ‡¼Æ'ç‰óØ2äßÿ2¯a¿±ê‘‡ž8>ÿð÷¿âõᅫy~þkãOÿ¿3>ñ¿ÏèWÝÿÑýîúWè—úUÎ+2öƒ[ÌýÔÀoŠüîü¬Ÿõï×òBÐbÜ÷š—-à/Àºçõc®'™ê§PH_jýUC´ƒ¯ |0‹¹Ö…z>Þ7ú›ø¤¾îÁ7øz‰½ÛK\ž1ŸÏó÷…çñ¼D\X?‡Ÿ ^ÂÉO>óÛJì_½ÿEý5‘/¦æIŽgá lØóžÂìù•¤ùUQ?œUo <ÿªŸ¯x¾ï%äîÊÂá§‘2ðýßøÇ½»8_¦>¯ Ÿš'Ó5ðÍ—^úÙ©û©?ôyqžKß÷Ûxýa<ÿ—ã?ý{ÿ">é÷é÷º:ûý~Ã’ßÞÆ¼”~Wç=ôÃõõ/>¿ þLþ9ó~î_˜â[Où]qþü,Ó'Úü?_…?p?YÿªÊ/ti¾EÐûªªŸiâç?£áõ©óUûþ¾/ÔŸòèKþ±¥?ô‰Cúà,}"÷áåø>óuñ[9o ü|Ê,¼–ûÓRèå~èEýÍ™ž©ºpºÚZ0ð½Y‰ÿ£‹‘êDL~‹õÿ|®†þÞñçkÏíƒqçk¡¿wþI¬°¬^_qŸö·[½%þ•¿.~fw~N]¡‡.À ù¡øü ?gý5ÀW>êØç¹øy{<Ÿõ3—þ"ôô=F¹ßgEýʥǨ÷þŸüÝ»ãe>5Ùÿ«^îăWÄEù¨¿?ª—g_6áþ¶Xý¦öç àاBØù²àçdÌ÷6ëßUUO¿]ðËÍ‹úŒ50¤¿‘Å1æÉ ûY.¼ý”øšŽ#?ñuî/éâ÷Nœwî¾vÓ<þA …ýŒæ)ÜW HÆ9ðƒv?Ïøm¿ðú ÿ®¿ðï÷F þNÌ«9nG¬ _¸áoõ¹ïîÎ/æäý_QÏÑ_uk>8ä¯4ÉWÇýßPOtùCd͇‹üàÉgç¾3ì Ê~kû,2÷# "ÝŸ$îÖ“Y÷?bèYAìóçx/~¿hþ™1ŸÎû_û/tÿ)ø¸Ä›‚Ûþ½UüYîÏ?ôç5øñ¼çóûD~Vð·Öê†ß”~~Óoê¨ÿØðo±1sß­é}çÍ“E¾;ü»ŒŸ…×c¿øx{ˆ¯ÅzŸßñ}öT½ûQ[¾ê ïÿ‡âÊzáì~žøüŠöqOœÇ¢Ïk„ª2.ð£ ýÉ€_eQ½J?Ëk~F?Kᵞ¯ëÅ·/xÁŸ¦¿öůNð|0ï«&#.ÜOÒ²Ç]~ « ?‹eü¨Y©Wé>ȶ|\„‡Þ>¹ßÀb?ͳQ¯ø<[x†ñ¯æÖûù`Ðò/ùËàs¯ª÷÷ÆÒòm¾Ñ‘ßîëy‡GíàÚô_R¾#þtù•’/ðð+ ¿ûà'@±Þ|ßÇýãñ_ÿéßÿñ‰ÞÓû… ?d_„æ|ÕÁØù6é|?N&qÈŸ1bžêSäç–ˆ_UÅéŽgq?üT?<äwø*ýJr<¯‡ÿÀxá»͇öŸq»±|Å×úËñ¨¹nù |F{^ÔŸMð…›âüÈûÖž·ãŸÔã[œXß >ï]üyåtÞ“øçtc!{~迧룼¾A=4q_HO3‡øÇ‡û*ðì%¾ýŠ×Mÿ‰8ô¦“û¨÷çÝ^ðÍ&}áå¿úð›j¡ÑyN¬§³ÞZG|áå@VÙ~@ ó¦­}Ë‹±ÏhÁŸjËiùâ*ˇ˜‡L÷7·|~ãt¢—åCàcÓñ+ˇ˜·MÏ÷ž=ŸM÷³²ø×t¾‡åGÄÃñšÚåï[‘ÿà?…BÎbàeý¢ŸÙk|´ÏêgÏð³Ô<ãéw9cÿ¡Î3ŸçP>,}ˆó1mÐgÝæ¯üñÛ>kêWc¿(ùrýˆ?Õ\èB<äËc??™ý‰ñ q~á×fõqºÝ·Ø/ì|éÍü¼5êÍ;ÎÓìòŸ¡~½‹_âü*;Ï˜Ç ½@ì/+Àc¨ç³ü»1ïeLõ3˜‡Ì„ûgcæû]©Wß̯ ç}©^¸¯÷Y½›qßÊŸ¯gø…~8üVkà-þU–¿^{èaÆ¥÷ ¥«¿)ëþ¼sÜã þôü+ôžvþ–áÙƒH?ö¼jv#U¯G·Ç~QÖD?‘šœnço!öý„vÞ<_[lù1‘?^ôމûêì?ìû‘æs^¸Ú¿Ïý¨öƆ‡å„þÆú÷¿X›ñ@|VïN=U”o#æùk/1ù¦qñù.Õ·òÛzöá¯ûcfø-sÞùwßï!~ò[ÿöŸx„†½ßôyäp¡¸á ˜÷ Ç»½ÿÔ¾ï³ð ×Ûù†^@çIó@Û/|õñ’¿ü!ÆFþägM/´/‰éÀ‘Ǭ}?þ[±ëyÒ)¢ÉošüÕ†üÛ®}qó˜g̲ð!îƒÈýC¬üšûó÷‰WçÈÏxÿ$üªàçÏøÅÓ 7Ë·îïa±}¾cÌ‹fGÿHWËÞojßçľ°Íý%eB¿¼7õŠ3©ÿ¿¸šwì“^ÕD<Üýò»ŸoôŸÃ]~ óåD~?yx=RS?å'%ÍãºðjâCì/¸?¸ÝøC¨_¯Þ~ÕÀ›Vð#Ç_Êâc¦Ç<¹_û¤Ž˜ýí83êWïç¾ã|Mõwî¯B>Gf=3¥÷ù•ó©Œçiç‹û´ªæy0îÀw²ð¼ |çÏχ/äk\ïWÎÎW’ÿTø[ŠO¡çC=bø[Šï½“¿Q„ïq>zîW ü®rßDè5È'­rǨÏÿÞèG~+à³&ó}yìß_úÏÔ’‘ŸꃚÑÿ%òÛk~—è\³÷Ë–Æüó¨Ù¿¸Lkˆ^ßøù‚|¸ôþ>o±üæÿ¿öV¯fúûÙ/Zÿ“Éwö?dyìõ³'Úï÷Ïø¡Añé¾îÇiº?¯ø×#î/±îÓöàë_q¼Žû³Äï?ö 4Íó’îÏ ǵ^âSaÏwƒú›Iü–zf‹íóšÏMÿ`=ÊO¸£þE}9ݯéêWgA¿I?¿ÍÏkR=éùµë÷+òéÞÞà·´XÏNàGs ¿oÀë÷{|ë-Ÿ óêÎgU>Z1ŸÝŒ¹ðŠùúR\?į?ÿò~¥¼ÄõŠ?û¿c¿Ëw¾ó~ÊcöŸÈ7ðãÛäç[lõÚžÌ~­›x;÷½Ø"nÀ[‡ÞýäÒëÞOjÿÙðBÈŽUü<ï‹C}[Õ¾Ú-<@qð 7]¡§>xßᦠ¾Ì¼ø-Š÷ËïÇûïYâ?4à9Á—¡_Ù:Âs@„w¼¥³?ôùûéÏ&ëÙ ?×:§æÙ>(tþšæïóò¤yºòúÉ%~ççó/á7#«¿Þ3¨_àþ\ï÷ ß.¼³úó·éú‹#ÿ&à¹qž‰¿Õ¯‹øñÑóo[ý9æñÚ—4¤×O¨O£ŸOâçvùGKÏ¡üÇ~"üÊCßzé3ëõ£âËÕ‡ßUø‡ùkØó%ž }¿ô†‰øZÛðIÒwÀŸfÉ?|ÿ|+Ÿ·ñ'ãóîè/Vfðý¼^ÏÂ6ý埿ãùîÇǃoQ5Ëé†Ï?ºðø?»O¾FïÏïÃÛý«ïò+ýö³æÝô Êü®_û©+ùšoQÔ‚/Ãz(æeã^…Ê¥×c}ýâWWÅ·á>û³úv;^åùLûWx¾×lø÷Í)¾ ñøÅ~sgô{ÜŸèø/ü‰ß;‘Õñù“Uœgœ¿Õ'I¯¾"_.ùŸàµø¾L7–·˜õôþ“yßÌ©ïôúãûöñùŽ,¿jì# σ~u óÜ"|‹k½åç‘ôûÌ—ç=øT÷AÕü{Gþm̯ƒù73öz h~¾Ð–3¼žûe¿õy'öÏzéýfu‚²ù¼KÃ~7Ø[ŒýÓ›ý½7^ ý&^wàÃó/b?Ë¿ð73àx/üH»óW o>Û½>¨‰|6Ÿ§¢?E?Ú‰÷6íoYÈßÚwiŸþ¤ù©á‰ih¿Œ_Ÿì«dþž•û*™_§ðWꋇæ-ù¼kC?œkŸæ9]xP©ïcÍcJù?ö‰ÿûbáU%ýaüúûÿÆ¿÷HOV„WCO–г^À·ú5ÿ›ô·©Œé¯ÚcþÇùab\ˆ_ëõ}$ø “óÍÅùæt Åû÷ˆÿ¨/ð'iòKä~øvá仿r¿øo%ö{Êœ'5åî_ ›ñº÷ñ~ÿåøøïÿ'âÏ|†->*êïáÂ5‹É/ËàÉOÛø ¨Ï—øBƒß¿Ìúh?Zøy~?¥gü ÅþÔ€eäÛ¤ú¹aþ|"Ãßm~:ÿqõÃ+i¿NQ>žGøD[âóÁýGäçísÈÄÿ´Ïap¾)þX¢·bòW˜_“ø%9æ)¨¿ŠðÄ…úª /d}Öu~Ú~âÏ^€8ÿ=CØìø9ê>¯.¿Ÿ‚çKý¤Í³ ðú¹&Í·ÑÁ˜ÙçaˆôÛô µûloþê¥"½ ëùCí…üWà7ïñTÌzd{Ü…G8>QôùE}rÅqUœþ:Îû¿+þô÷þˆ_ÿÿñgüÅ 7Ã[à66æ MxŠÏ×mþ? }ƒ›þ5[~Ø‹ûÁA|uüEqÂ|qho󞔩Wäý”è/l±õ÷š'ú~^ðÛP_¾ÄG~ˆä‡"ðªàgoê¢noÅœÿ\óÆÊŸù1+îùÞoÌãÛÅG}Î7 æí=Ÿúg?F?vúO¸¾«{LýGF?%ÿ½µÁwáüÑû+äƒØAÿðWþ©ûd¹Qi…¬þê·QÔóAåýÓp¿ ßu¼ 2¶ûïxÞ>æ…|‹‘pÿ=?öGEú!òcŸÐÔ>¡ØgI¼2øn ¯Ç¾Zú·'áiœ?•ðæþ[}èWsÄ/õÆfûyñóæƒõüÒç É};/¹0.8/k26=&l‰c>×âõ…y†~¿‘ª×;æi+Æ|b-Æv3ùP/wz‰ßñKÞñ9â¼½k¿ä’~—~•KÏcQ/!¿uî'ê§ÈyzæÏëùÖÿqoâˈ|êcŽø2¶l¾îû²3¾ØïÙëðùð°I¼C|þ¹€ÊOx‚1Yf£uváUSõÝP¿1ÈéŒûä÷Ž~e¿ß¯û³ÞâþV߯eõÖ>)|úbýù4òÉ¿²ú+ñü©›È[~8¯^‰óKü‹ûLË…¾¿úµ®øc>ëóös…~ƒ[ûþºç#Ã7°ï|kËgÀ'L¯E¾bè×7õÔcž¯sžÎ}²xF¡þ~€Ÿ¨oñýò˜7.Åþóœ7¿Æ'óÚùóÚÂû*ôýž’öÑ)åç}¦}ÞŠÛ]ÏaújêoCÍýÝ1?§ÿsèë©×?›7€/=ý0m)â,=»´%˜/¸ÞbËﮡŸÎÌô³›œfâCSûüÕg•'áü4ùÑb~düaÍú¯%¼ÙÏó?íB½Î}3Ž7ã”?·ø£ßO÷÷‰ñY,ŸÔΗ®™úñÙs?« ž¬0ê®Sýw.z^I|¾~5úåŒyâØâ¿oû{íùoñáí>ý“7âˆ3úí>7÷s¼Æ'Ï‹û©ëd¾Ï#öG\^ã»~adù7_q}‰Û‡¸ÿa<þω?~_1¶ï'ôX\å±×Ÿ û gE~¬­J/~h ý×GµNñ¡¿¨ ü,ê'jåüøŽÕÛqS½-=âÖ.>e-ð?›çÉM ?‹úÛðÛ±p?Y½p>¨/kO"ýÉ ¿—¿_ÉR}=†ø°.l¬cßra`Ä'õ–áyñàüþ`±×ÏÆG´˜ú!﷪ǘ÷ì—ï‰óíáÆ¶Ã{`þжÝâ ¿ê!,v|dëý¸?–~â;~M¼çs½åDÃZŸ‡žÝžoå¼¹À¯¡ÖM<¿ûý`_›ªzÉîË–©'À>‹±¿ximEøŠ-XL½» ìkY„—Ÿº…^ÏQµ±¿.ÔI_l±õƒ­¿×³½ÍWàSxÿðŒoõò=¦?¼òËZÏxs¿‘òÕ¾ïÿˆ~@~¿"Îê¿Ë}_ÌȱŸäï·ÚøOÃe3_þ:XŸÚƒjˆq*ô­ƒøv­Èÿƒø¶o»/FE=éý´Gê[ì<ÛóÄ?ìÄó9þô÷½ÄÔÇß4rð[?ü€¯úàŠo¯Ƈ6øˆÍîƒ/É×á÷߉֡ÿ·ïÿ@~Ä÷³‚ß9égføõ꘷” |~köý¨ÿü¾°|¶{e\áïÒðºIëà}nzúý°>ôEc–ï çÈ~P<ÿ)ßY¾ÜWgçÁúÑA?`†ÇUù/áõ"}ešW|‚QÏÓäA¿âA1¿‰ý8Ôãt½¾é¯~­|=ð#Î[4¯a;ÅW£Å”~š~eKó¼ÄýeGõR ™Ûây{ øÎØÈ_/Ìsšð9Ëoƒû¯]ÈŠ×SÄÏO¿?ð<»^ïý«¥ßSó;ôoƒûç>ßWSúÐê|‹+?eLññ¼ÆßóÎ1å·Êúa/œGþßz¿v×—ç³2¦>óµ1¥_žG~Þü—²á7c±å#[“äõCEÿõ“ þq¥ªT´Ù1†ßMóùi­ÔŸ;Pe?/¾@s!r­ÔÏqÑW­œ’8i1ù¬.$÷4ŠzÇûM»fà‡Ù¡çúN»àÒ?ió£Žzûî»û_Ué«j^Ïàÿ—~=Â[_ã“z§°^©¬wÊÝÿv$ôWQŸœ™z‘à/wîW[Œ~¿¨þ™ô#¾HÿŠúÈ'ôCŠ|Iýþ‰^zü•¥×Ÿ xzÉØwOþYÅþã › ÔóRöëx-ç¿VxÿÃù–÷ÀS’úýI¿æÅú¤ÀýŸÑ¿Ì$¼ß—±5¯÷ÿq;ßøû¬OÏþÞñlîs:Ásìƒüºãóá÷@|>î_οÿ‡ü·¡û–üµ˜Ó_5æã³<ïgêggøÏïý;ýÖÉù·ƒD>ZIÌßä»âóû>xÔ ~¬ùu*_WøGпbÿš?_Ô§ xý'jê—Ñ?–†y{Õ¼¨j>þCÉê—Qæ ½{f~Èß?ÎçìûÄyãÿ?îwòAžwô«ó‹ùzŦïËF?ûö¼üü~lñÉ1è[÷A?†qàû•ütÍ+ú›9žñŠç{k^àõÛr#?Ä~Ê ½É’þ$â³ú®eÌKúo‹éßê÷—_¼ÈßÀ'êTþÆy®ðÒ×֌ϓû·,±xþ]Â'€§Œ<Æñ‹„ü]õ}ÁëÔ CϦümýÎ ^1tÿlø.Ý7øEç÷£¾‘6ê?î“ð~‡ó-Ý'ýÑŽ~§^ñIýàùÀeu_/ñ¯*V}QÖÆóC<þ^œ?ÄÇï÷éï{‰ý<Ý>ž‡¡ú©á¼`Þ6&ê_ίü?#þìÏ´küh‹½¡_jYàoËÕü› _Ñüš¬¿ßßüš:bì€Ð²Š_íþÍcÔW?bøµÈOÁü(Xß`¿Åt¾emáOè÷Gÿ«pp }üô÷/Ylxy—ŸÓ=>©¸/¶÷eUý"½ˆê›2®zÅë§t»?¯zªëõ†ßª·:~~ ?â¾àó Ä×|ƒúà3?ƒ~…Õ룅ýÆÔG:K>þæ}Ö1ï!þZ•Oçd¾«ð[jò?˜ðwAÿ™æ#ä“Xþc½Ä~uD>]¬§6óçb=•ÑOÃÏ û<Âïkṋþ¸•÷[Å}ÊØûC»×V=…~wÕO=üaë§”ÿºó^ùÁ`=þ”õUøã±>S;^ê-ù+Š_Ã~v†ßë­#<°:Q‡û°¿=ÿa†ü›üóuÿ‡ù&>ªŸ¸Ïy©~BÌúwë>ˆúˆñRýÃúk—{LýkÔ_Kþ Óÿd+Ÿ¶G}¶T¿G|ÄOÕy |0‹ÝŸ8‰?¿˜‘®z×Ï_~àõnöøâCYýQÔ_ à!EøîÀ¼§¨ëÀŸ¨µçÛ7OËN¼¨ ù£þ±~|p?EžròXÃo9«þIóŠ?ßÿÜ7½Å¿Ç¿ñ~Ƽ¿¯¸*Æü…óïˆÁ¯÷ÅÖ|Úp FHzÝžwOÒ_ñÉù/|ÇB‹-ŸñG¿Ï¿Õ§EûÕ«d/sϨ.<´28…ž×æ?I|ð¥j~Ì÷Û6ñq O«Mø îãªüß¼·¶­?±ûÞÖ ‡ž·cþ¾üŠ®yæÝ­°èó(ú‘úeËï©€Uå'd±ñÁä'trþGà#8ÿƒó õ3³Þð¾Nñi7î÷)¼t#ßH¿ ¿f¿_T?°þ˜ÂW¨ÞŠÛ½¿Iþ¡GüY»¯+úQ÷k°8ç¡$á™Ð ä%¼3)¿'ôK]~GÄ;‹ðê5ÅÏÅùfÿ|:Ìc&ñp,:¹úŸû¡z#AòÀ¯‘ß÷_¿±Š?•²bâÑÈ¿í¡îÒ«Ÿñò3f~QùýU?ðoÉï9Øœ÷iþ½©÷ÈÁoäü,øÐ䛯ˆ~6mÜÏKþR úåÿ+¿vÕ_|žYqÊÏ|»88壟SÅ"§ Ô~¦ÀÁÿéQOƒOÔU¯wîwzÔÛÚ÷$kRþu!¨ßâ7/úENžç9ï|ŒþÑÁ¾/­Üë­©ó]#?c>UÖ›øó÷e¨_#ŸzêçÛÿÎ?ˆor¿sCx6ê«Aþä?ÄâÉýï›ñÂüb«?§ŸçÒ¼„~­3úÎ;Žô( NX~ôzÝTÏÌ¿ØÏQ9ÿ¤q‹ÓtäŸaù®.½¾¼¿«œWy¡Ñ=fùglÌ'8€>ÿ,ý3Ò=¿úà­Ê/¤@?çxAcþõ÷g=&~«úŸ¾CÞ|’oýÄó-ý·êÝôð'_ÐiÞÐWäÛΘü®×™Ÿ§^Ÿx}‹¿ÑÏ:ÞËyC¦.ýɃ¿TÑOã~ÍØÇç=míßκ¿Ë¸õÏia?ˆøYf,ˆùÃu¾0o\Âë=§~i¾ßòö¾¦?y»ßדóÛEœßLJ¤³øÁýqþÃøïþ{¯ïσõaðùéï¦ÿ_ò‘¦^ç÷ÿ­ŸÂïgÇ~ Œ}-_9p~ñëšÁ®üßØÏ‰Ðb¿ êÊú‚ûìâZxÿ$ü=ïF>Ë߈O8æU?8ü€~² ½ŽyJi˜§q>íùŒóÍgþ=àý|ê1äÏ ½ÕèâßnÌã»æñð3]õMàí3ø„íŠøgì'ŠøgS1Ÿû ÍGÙ¤àÏV3 ç%‹F ¬÷¿ì$þ|¿…W†?8>¹8OËäŸNñ]XψŸ™+øÖ]xO¿=æ­YzXÔùré­ §šô{«Ø_ìõ‹ú…ÊzW|é>îxQ|ŸëŽú}Ñ¿mtÌ_—>ïŽýVëêç¹?ƒ|÷.¾ òÏâÅ•ùª2O³þàó¿‚?ŸTp~ŸŽêê_|++ü½¼±²xƒO¼µÊO DPïïÁðE×V¿¯·Â {½²b‰_á|ŠEÿÍ?ãOTÕ+¨_àGÝ]ˆå4eù{ ð)ß i¿u÷}vOþ(úÿ$þDZ/õ ê—Cÿ¤‰|´ÔONÜ×KþHü‡¥zd¢ÞXòWš8ÿëÚo½æ­Ÿï÷ù›¸ý—Å¿ý{_ÿ¦ÎËߌÇY<ßÄŸûµ-ýê³¶1ï ‘å¿2o|ŽÖÅwG½ÕÈ$~ç…7ùíùxK_¡‚¿*½GÍÚÿ75®èÇ›ø ófòk‡úyॡ_“ópŸïoø ï7å?ò÷ƒ0´OÿÿÂW¼ßß÷üH|]ýêmÞ|ªŸHó6ÎÃò£Ÿ—^‘û†Jèpõó¼‹úuÖO5øÚøùÐC²_hÁÏæ¼N|Sò“ú‰^Ñ.¾üÜùUWàçè—+øfây{ÿœ®çíý/ýcíùzÿÅWeÐïP|'ÈÎñ¼¯PÄWÚxÿ¢|;Ág¬ß`"&>ýe£Q‘¾¯Ä;\D>¶ú ÆE|S¯ûaþì;úmñQú¾Õ/ÞZ_­êÿ¸¿½Þúèï¶øf1_Mœ¯êû‘yÿêûU}?8©GÏ?-ùø~d‹¹3ø<üᨵ?GçÉý÷³ðú ¦‹Æýfìá'8¶ðѾ»ðØÔ¿~×UŸíû±Ÿ¨‰rÅ¿þ5q9‹Ëi\ÿÅñá¿ÿwÿÿ+ù¸C1÷7‰_K>|ðk©¿züù£y¹*úÃ/Âþß½:bŸïì‚úˆýhY>﬚W”…ý´šgø¾¯á1ð£?!ÝÏÆ™ˆÁwEcPÕ¿ø>¼ž´¿d‚¿áýƒí÷Jà{Ð݉Où‡YjŸbÌ7õùî³Ñç÷ûé/ò«o±ð òݪüw+î“þv¨GJüü¼Ý7ï^ï×ýsÿ÷âç?µüÝW¥ð³˜þì˜ïjžÏy„ó×úåo`õÄÄ~Φ𨙙_ˆ/ï;¿mRfý_úòe‹æóŒ¬~<£þIÂðˆ¬þMóÍ÷ð€yæ±uþZa>ªóvÞûFý1®ùÝ¢^6ü¨U~yêeü~Çmž÷«QðýÔÏs?W}Ñ¿ù±»~ ~Û¾/Òâ„þù½&õßÀçË_µ_|XúYLéY؇_J†þœú0â•…õm†ž9ô£ôK™Y¯s?@âE!¾³ m•z™ÕÅ7Åþ±…û~š¨œïY©×YÞo9>þç†>†úQÛÿIþÆ@½PQ¿pß»í+[Ðûžûç¤ÿ*0þ©Ú§PÀ·q>¨âÒ¯ø$ÿÏÉ“ùÿŠ=âõ»˜ù=½ÄÊïóÞô…ïÓ­ž ÞÔÂߟüùúŸáµMxw¿E“^¶¨¬ˆkàãŒÅϤ7ø ø@Óü*3¿àÿ#ï]Ò$Ir&±ýŠ>‚*ô}–ùfÙe%7\Ìõ™€ˆÀ̽<:<:½›Cr‰rÈ(3U<AC½ÈùÜ r>Ìçòﺿš×}ßÑsxÕ> î Ó~ Ùöh×'óP²»ôÓÞÚOEýiòÿÒOv{úþ[ñÛj "pM˯°?ßÕ‹ó[㼄lu§ýûÅwánÿ~Q]ó·†y§®øáöoеËíßÿtwýÆÈßkà“ÝýE¥ýÛõÆù·ÄÞ¤·ü¿7Ö3a×°_Öϯø9œGlMúŸKö_a/æ?š'åþœ&=ЃzÈÄÏá¼²%¿ù”åüþ=wà÷›ø:Ü—[õók_ö÷ú’Áoï mü {5Ùè·Úâ¿Õö>þû [ý~Ãç¨oà¸Ã_ïøßïvÌ—8^ÿ»p ;þ½…RØñ¾üÆ÷1oØbÐ9làûÁw ;~¿-ý{8_Öq¨wkVõóà×aÞ.ìJû÷‹rõòƒ´ß¹ßƒúa÷›ûO¶î'õyöËöŸp©ãýwí/ïÒ'¬Ò=ܪ}[|$“=aç¾ê]Ž´ñù[x¡ëUÜ—ýº‚÷M>¦ïGê3lèÉù¿Ï¹ÿ(€ØxÿاµtÞ¨‰Eoû"fInSßÎðü©ÿû_ýçMßçï7í[ŽB·¶¤žÝÛ´/Î7çßc?žŸ—òZëÕûe}S ß/õôÉÇèÀãÆå©o7óý’§Ï¥_˜ïwÞòõѤß_d“o–z•Ú/ Ÿ8/ù+÷ßÌöNýæ°OØèoÕ¶uÿŒû_>œ'®x™?ÕÚë ÝÒžaÓ߆ðªûkúÿótÈשQÈ÷ÆüÂj Îøù¿¶Faë¶=Ûïùï"¼jk_k+²ÿ ›ûèwêËr¿1Þ_Ö¿¹¯U|*郟K=vî/_ÒG§Þσ _›ÒŸÕþõwò#_þ¼0ïó ¶…yñúþ¾ö¡ýûÅté!övígŠx¹â}}ÞýsÞˆ—ñU¿ßvÄWô_kBþ>¦â³Ä×÷ú•Cý|Ì7¡ù…®øÉyðÔÕü’ôæ—ÆÐ~À¥xÌ~Mês³?s2~³?žúݰ-õ"Æ…}Ï—‹F„?_ëÁ—C<ëôg!Ü>ây¯ÍxÙq€/¶ Bù}1ÅÇYâ}`?¯¿èMþv”ùðMÇWð¾Àkþ™ó¬fþû]Í‚Øâ6ò-‹ÄÐßâ±ÿ%üýVülaÙ†ø»_ë¼ò‰wöýp¼wîû©Ô •¾¶ÝõB‡I¯5÷HŸµÓ^û|Mûv«ügY÷|ºIoøèsê…n}NÿúÖ|8õ\;ö#üB¼ƒÍý5ÑOôó€}3Þ8kñ¾ößx~Ó9ŸÍý7þ>ùý‘ï³ÐŽø¹¹oiNØKûÑ—â9ö+ÏÀýýplA>Ô¤×øYÄWéÁF¼'^úl¿•¡Êüù²3?z¸ß]ûȦêî]ª‡ÈÉxËûŸñ¸a)÷¡ ¯V½Õp¿GÚÀ¯ç;|IŸ7ñ|ïçWØ÷3ù'ÿ‰|²ñÅßßÈû‹÷GþJàWnŸhùôþì÷·â~"ßv<õ æal"Ò¾;ëxŸSŸ‡þYÜ_ÜæÏ·ûÛ˜ß/Ý_äoë­ûëÀâiéÜÊx†|ƒIaç~#|Ÿ|">rîßŸâsî7"ß–ý‡Œ¿|¿UõXOýnÔK=ó=û'÷×ßæÿú¯ÿößÿQþñ?±-þ÷Ó.h„ ë©Î‹¶µÛ'ÕP~?íRU=…î…Ýg'ÿþE½4V7#ºŸ½t¢A#ÜŽÛClçßO³M'AÜíT¿û}Œz™7uaÿ>§{)KÔ »1 œ°·¶º7)ûµúèóÛŽCÿûéü¤ÈßÿÏ)¼4Y`F/~Ùý?cÛú÷pj»~eïn·‡©-f‘KUƒi«cFÁA–‚~^,•·º²ôŸÈòãÜPήšWÝY#P‹ë¨Lœk‹r!¼d§Wªó–µX¬#r]R ¹šÈZ ³ŽðbR1²p¯îÕ0µ_¼ä ]?·qo܆—{Yõ¾ì¢"kŸÚJÎ.ÙKŽYýKŽªx9…5Rµ–¨ÎzD…V»£<Øòq¡8=½fVTm>´¥’ýNê*íÖ¢*”®B.¦Kå*TÜkT ¨¢R‘•èóŽ,”[òP<ª‚†Í*nÑž-ÞU›²ÔÅ-+ö÷Á­1~Uÿ í¨b3©Ð7d-öº*úûû«Ê Vá–,f SQa Ê˜ÚâBV«è*U¨¡(CÖsn9¬nÕ’êÂ0te—PÕëþé~’EôÖÖb+†ªà@ÕÎmâ*VšPUT ¿BÁûÅ–²2³j‡Íû*•±²u±­ÄTŠÛüù£*¨^­@aU…EhG¨lÃ}eÕ–Uþ$˵œ—¡ª>àô°ßºŸW–±ž²Œõ”e¤}îö(¨2³Š/¨"nöâï_Ê2ê£M–L¢¼Ïi³ë¾Þ™rõ®?ˆü–:ؘZkºUÙ%ê¾ ¬‘XOÔMª¶P‰íõˆeŒ¼£n²œG¨ä¹Í­Äñ {‹füÔ«PŸ*µ E¼ß+« Êùö*Ö5èÿÃDÈ;u¯d½s]K¯åÊ;ü<ÔòºªzU%r*eæœJYÚÚB¾O«r)þ‘…7õ}N¥Ìõ•½žìñôóéoí·âkߨ¨ŠÆöXØÊãªî.UÀ@AQ´nˆ§C(A”=§ØPœ&UâÆû'Õ›Ö³JGUÓô~[ bYxü'*”Ǫ m•0J¨|QUH=úý–ñ{]ö;÷Ÿ[€Îáý¿ì¿^ÛíÉîO6Q€B›SÕÜv„ê%èTc—7ü^¿[0^ªtÿ=>eé1Ìø v {"ǃsŒ-‡+à~÷¿Øµ:PRm•Ç8^T‘úù¨âÖõóu Õ§÷ÑôýTýè÷G>övüíRé;ê‚ðye×£•É-…ÜZ;õ9Qó®|H[|5'Š£|ˆSóE]n¥$*Û´åkÕÑÖ°·P<È¥GÕ¬ÄÿÚŽ¶ºä;ÜŠEz÷UÕ÷Žó¾uŸ+ò¡-TŽ(Œªú¶ÐÅ ªSÜWÄSø÷(¨ÛE*U?ªöVá?Ôå4Þ/VÝÖv È¿³kcÊ·y–º`êÒMÝWtqFya¿¥rДýz²‘S•¼)?f¾Õ²kŠú'U8u–*GÕî(RnQO•IÖO—Š$m}¿3?|+¿>]žw·=¾J¬žH´»Îkõu?%P@°JJtº¶z~7æ …/!/s¡À¢žjÊïPO1 ùÈÇŽò·v;o˜R‹úÉ”¯!Þlåg(Tî•¿}±õîÕÔQåTßäÔQ!k>U79E¡÷Å)К*ÊxEï{Q6»ÜwXuÁ5…¨-˜oÚ߿߸JçÖ ßJ[³þ+¶Ö²^ªz‚5Õµºž…|¹ÒŸŸV·Èúû?ȧ™Ÿ›Þ'ºæÅPQuÛÏC‡ÿØÊïÃ_S…Éó÷@m—òsÆo±Š«õW×nůÊ× î3Ïê‰ÖßÝ’j겑åb¹…E(>Y ¹•œù{W>%gå[¨ßLTŸùµ~Q=vÙòõuÅÖgU(¾¦PßÚ‚„D3ð‰¨Ÿ1.ï'Þw?Š¿Ø’†ú3âo|ŽúÝß¶ºAµ-PÚ8cŸàSt p±i°"†Pþ ÿÏ-„Þ5`—½ÁŽD¥C< ¨èšį*Ô¿ ÅçÖÕç½Um}£¿¨¯·ÞýýýOL-…X TlÎÍû¾îö \„¯°Þºì‡Ï§X4×ïk6U0ªü=»¸éoÖºìﻬ±U/º81uŠ©àè⤿D¾6t_ì\ùZÔ·¸ÿYOäod%…ã < v?q¿ í8KxÖDþ®®œoÂý~sª©èy™ºàgÊFýÊ­&¼ƒ*é–]îzǯ*ð*ÏúÙT/~_÷›S!‰gŠu.ü¤Ë_¼ƒONàOÁºq»ã~\èbÖÓ6pž·ê•(|¢ º™بg­á}He*4ñüñó¡jñ3YDŒŸê‚Üßúžÿl8¯ªoì¿ì-›[J“%‚üödþ Õ¡ÜJ,ɤ=™/ë÷Oªé÷nY”?ܲøVþ\C>ÁÏ |£F⬱<â!Y"ù§âÃF<‹«Nø§­|eê}6± ðÆ-Ö_økæa“ød¿ÉR¨b0¾ÝmÞNq¶'{>ÚŒ—Ý푟Sµõ<ڹŘ]ÓÝžì÷âÛP—/îÛªÿÃÿƒ®r±¸úÁóÕVáQᨚéñò{·M,°‰x„øƒ­½½qKwÅ >‡ñ.X€†çË­ÅWòn³KNÂ-~E=Ã-`nGü+üÿÃøAÚïÔ·ñd±¾å–‰úÐ…«ªlW½ÛŸê]n)Q×›*oÉ .°û]¿¯i êxºïïÕ·µ6ª0ÖPù îG<Ȩ?dó¾6á¿ÎjhG¬¦~ü%T3#‚Ý•Ÿÿíò§ì:³ÞåÈ`…ÿz“E2¿M°Z³ž˜º™\v´çÓçóésNY¥Mü8möÒ®O¿¯Þ¾ÿ=>Ü#?³‚-On{?aç¯è;ཹ…Ýý]U}0ÀÒ®K¬Þ(ÄzUÿlÇmSßÙãiU}0ÐBY@üwþ‹úò Žÿ&þá,Ëjðqðð_ô©cã½KªœÄƒ_â¥/óܯ©-ñ‡÷IþQª…ò–P²ö:ïcúSnÐ÷¹5bëûœ’:ªWˆáËç£d>C–Ã;,[¾…,àKd9ÿ ªHôÏ:Ÿ·ž‹Dêº?o¹òC´¨/ðüÉ*kSxã'U t‘¸oÀ“:ê‡!|ÊPߨ¿ÚB•)ðèÌ·€Gõw[¿â‰çO³<âI{Üðâz€Ÿ‰Å]ùÿKûü©¦Êò'ªÖ˜ü%·¸˜ü%ñ#S~Ã-xɲ&ÞTçW6UnôûË­¿öyü÷îÿþ÷,²P5uª uá‘{3^ðG°®'óSöw‚E†óSãçd¾#Yãû¯Œ§Ìg ¬êh¤Äû©Œ¯¯›ú·Uøpk¬ ždÙ_Ô׬ª—ñ•õŸðc±Šžðã¬ëq¿ÿO“eMÖu×Ï“um è?Šln¾â+§fžòå—[ÿ^Ÿ Ò úÑÁÂ:`‰á~˜Xbð¯VOž´+X`Èg ¬³¦)+¸_TˆûD!ü–ýס)œÙo÷½nàCãu¿òeþK•Qå¿b¡+ÿ¤ êÌþ(ú-éµeYþ–xýÖ÷ëùW±4…§V“éØì¿ãý¿ô¯âëB¼ •Àˆ·'l<¯ ¾DåTw¨0­ˆ§è¿CõÑã'â߈‹Ýë¸ú©~êÐVÑŽþ¬¦dÈëªùž‡ÇÓ»*¦ÇSäWHü{­ŠŸCñôd|=a§ ç„=Þ›rÂWŸ§ª_âóT5!¿eh+inÙÛç^ÏŒT±IüžõŒò!úÇÄã¹e4·6qkÏÒÏ“õý2_ÿ;¢‰Ïp"¿-!·Õ!†<½Õ‹uëxj°´Åz/ß/Œ—…¬ÈÃþ{9ð—ÚúV‰ˆe]+ê'ª¨y>lÌw•ÿ²ÿ‚¿§Ä;²œÃ†~¹eùeüÃÔÑ™ŠUö_Wøh»ðÈO›òöó÷1õtE=Râ)Uòîö[øû Ÿ¥¡ÞvÛn,zÇS=~uò!<^Þ'§† âù'ñsÄOâëdÙVÈûw©ÖVLMÇûšŒÕ®zÄããF½<ã#§˜Z⫨g-YÕÀWãý»m¨gßS½#Uµå’*ÃÄ;‡TM÷‘÷§éó~ßã6îßMÕ£)[üмïÜò¢)ŒCU5á­SÀo©2ZÁûèÜ é¶?Ïœ‚.†ûËóï÷7úkS+xi7âAeé>#L…õÊ|¹€¯’¬ìZp?óþò}h*¢6±ægN-!ß]Â{™?òÂ~§_²©²#> ñóœ #ÿ°?L%H¥Çó~þ0U6¥*Ü5唸ëYúã‘[s5õBÕ ÜŠ:Êe' °Ê ç3ž‡¯)ôwѯÿª^Ý/¿È¤ÒƒÀÕMSó%cΚzŸÞÿ²¦þiŒ³;? ø!¦´…zªS½ôÓêV¿5êç]ço°V?Îûe•ý™wü±òÙEÌç›þü‘x+êÏ©úƒ[ {Ⳝ"×ûŸTÝ'¾{ÎG×}Nü¨%ž„üë-±º0•‡¶È¯°;ðN]ðÚ1ì÷ÛÞü3æ;ÕU—VØëf¾ÕñÿWwÐÿ{å”oÝK¿õÆŽu½rjÝû³7ð~,ó+àý˜Ê­àÞÌ·âï9Ñh ß¾Y¿ÞRG|]R]Úˆ[ª Š·â ÛC<œRý¯9e|ß4•fëz?Qá}åý×”oöK×=ÿ6mx‹V¥ê¿?Tna_›Ï …‰Û‘×”uïz¿¾µ S¾ÇŠ­Nè—B5cS¼wñ³CEy›ú©±UÄm൞ÿûï_x@•g«>þÖöàûP}ÜÄWÃ>°ßë— ð'ú™ïf?’ùò¼¦é_kúOâÃ_Ù¯Ôû¥M›S/³ûö÷|^h#ø ¨?«ðƒÓPÏl¾%ü㦽Qÿo?÷ié¾Ñ??ê÷Íý{%þä÷Í€'œPÍr›ÿ>¦ðU/½¥ÊýEª2Ù|¾x©ÂПT45”výƶ'{>Ùçkûû|(Æ×:–Sý {¯]â÷4<_äe¢¾ÓTt |ÙíRïž7ãá@=;?ï…ªMÿ¾ ¿+1|ߌð§oª–e¿¹ö;^›ç·J•¬ªŸÌþs^Py¿ÔO®çg6ó§Ù?ý÷ëþÆ^ߨó?gë?öþS矉Ô[+Üf<ÅTdåüŒó§6Χ ÆkÇŸ+UÂßœÏCÿÒŸ ¾œ¥ó‡zî„+ñ¶oß×ÄVµu8ÿ3cJ:Tð›Tñ—êcWÅÚESÃ[ËY?¹[+ð›Ê-ïÛÏT¨Ê¹=…OÄë.•ø>óŠ­¦n¿ô/ñGò¿„?Ò¿.õßû?¬ª—* šÿ¿áýN|’÷÷k{cãþ®õ®=ÿÃöOÿ¾?°ßŠw=æXûP¼+aOÕoÞ.Sñib–xFÔs-æVÉwżI¡J¹Ç7¯GÊ!žVÀ¯ªÿK5ÑŸD|>_Mxa^ÆÞU1ñÿæ_Ubr¥ÝóÁ–|¨‡z0ëï&¾ãT}GþÛV=@>s‘Mü6óö›²¾'ÿñRa{ ÚÛ˜ÖæÆ8ÃF7p m† h5RÝ[݈N£Y½6h”ÔÊî± dƒ•ìße¾¡›¼ÔMÜx{©9Ù ½Qh„ñí ½‰hb×ôÚ„½4í60ÍTtÚ"»m:}Q†ºMv.Ñ{j”çijïu³¿ž¢îbQ—Á.Yí%Y"dUë­S¥¦–»©¥ð0ÅÜ5•ØS nßOIÏ)'¡Jdá/U©ì‚¾µ»Ç§ü¹—höþÂTBƒ½ùÞn%»ÆSgESDÐ6q–>G¬r7œaw@¯d±ú{¯ø|ŠEïµ^¬gg¥Õª)â†*ĤYªÛ`ù°”\X^&PŽÆsZÀ¬bú9˜8šÒlý²ßÉB¸(o_Ò"AUÙ—XyUYµ¿Uc<-ì©,YDUV"í0e%]:t©!‚¶²¢@ú«‚(Ì÷¨vó"kpTZÙnGÖ¸Üm°”Aö,¬èmÞmb]‡è«gáõjº‰ÛÈBÑ®p¬{À'au÷ì6²NÈãäÏJÄ©ØwÞ?µë¹[¥é¾%ËU,ÚÔ®|`ùe×$µ-ÞwfÑÜu\Õ•&k%»ÖŒ—#»*ëß.–ÏËÝÛ¿ßgx•2"/¶8ˆa#¿Áó-b]âÅy35%]¡ÆÓ¤bâùKÙœêËpÿÐ3aþ$mEï’±@kC¾R¤‹©SMÙGm"¯Î* yp*($Q÷P™ÀýOÕ‰ð?7p·¿Ïo8ÕÙ‰ ¢vuAú«‹Ú«!Œ|Èô9óÓçgÜó“DiZ¢0ãÅÙø}¨²úÖ”8º(ÊòÖ”CE{9PŽ˜âîØÝ¾©5^!§ùÇd>]v-+Ú±‘Læ#‘Ÿèþ÷8·|$v7¸½ÑÁ®íÍ©óŠóí6º,Ð.v{)_Ùû)?a¾ò.KoUÝGÔ'dÍ& *5©}ºp_§ê‘ÍŸW}±ÉâS}B–ïP|.¸ßC]î"ïb%ídAà÷õ÷Xz`Ez<„ÊQœ¸`Ý‘e-U +ÈÿM,ø-”`hªeÂN–@Áýb |•êJ5Ô;©m©Ó*ízª²Ô&Ô#îCÔ•÷•*Sñ˜u)XG·ºô=mæGkJ‹3m>ßú¯Ùã+»üs[(ÜÛöþ7ÛßüûßýÿX{z>çBÍ"ÿ$Ц|—Sqû©ëô λr‘?thߺ=a•`Áó‹©®O1›T'¦^ç캃UãS •öB>1•T²(mæÈO]Fù§ž p¢·ýOª;LùY*BÉì•mRq+ɪ!KJ(U’uC”,µ•9Eœ, –“)_à®ÕT™(Ø­ðr7ÀßY3 ùÂ" €T¨÷5Æï‰|€*J¡bù1žWÔCªNÁ¢(bI-Ô…ªmeO‘*O :FÇÊï~!ÿUšT}^îöxß©…øD²ÃžŠïd)m²ÀìœÒïRYá”ï ï¨óÏèóž,té9}ë¢tá†øß_å«ïؼ¹{%¦æ`ƒeߣÛöÖÔvîÍ|¹‡Š†Ûu3~ûîÃßi;§àŠ_̰¥­î»O6§ü<žûî‰--W ºn3ÞOÄ{ú‹ Õ·w<ÙïøúŸ½èÿ©}¾S{¹=Úô_;ý¾eïÇï7{úý[ÿ>ý§°žýá{* ñš»DÜ>`i#ß:Pó¬dQkˆõL£M–Бª‡•VË™`]SuÆýg+iªKIÖ´{veÔ.ÿz_|ÁÂzéÿȬþ¯«ÞÞ‘þèA%Á´Û¹HUas*%µ”©:™õ6UR’eûH…A»*Sþñ|Ðñ â§œ^¨WšT)0•T¥]™Ÿ5M%XñMSCU8}+{ãsLíì¸ò§ ÿÖX¯•ðO·| ªLµ©O¿Øíý„‡ì·ßßGƯq?ÿ-weëý ÏO­j¼ŸÜõÐÈâÕÏw²v³«DmdůNmó¬§ñþrŠ”öË݃g`jÛ*vs;áx’U±CÃí"Ö^AþPq?*XçÂ'&X™¨WT.*§Hƒ%€|∅Ԡbÿz¦X4¦û6ÀziÊG8¥QŠlÜçóž4LÝá¦ú¦j*ež'»<ÚõQâWÄ/¾´ÙUüÚÞÿaû»¿çüìÿï[»þëö÷ý 컞뵛ý„¢ÝsÀ˺iwXHT|÷ ´ÒQÇ.J±}Wà"þX±TÀwb K8ÝF|ñ¥kØ…xå,ÄóP –†ú¾ûj³^­˜:¼a1þ7âbEŽuÇíwXùw•ÊjeW[,Œºm{èz§ªHM•‘ý=ž~¾>ÚÏÿžXMo±^é_Ì€ßy~à,¯ÄŠ<ðgduà³ÄãÝÿ8ž•Ö7$w º½¡ÂÙ•ÌåÖö ²?° >{ª YumðýH+]¬ª§*ŸWÚÚ š¶=ÙíÉ®O¿o?ÙãÉî—ý=¾~ð¼–ûöÁÔXLZùu!_¬â‚¥Öy4êzåÔtÄ'°(ñ|7TÙ*U©?·Ö*T*û ÁšE½ •âÓeãþŸ)VûVýLe×û‹ý9ÿ{wÊ™ýŽ14UÀzXñ|<°ššX²—jLª´Áfþ×rJ€ù„øTÕZ9U‹ú¶ÈnõžOôÜ5üÖPxÞS‡R…¨G»~žÿÖÔ\ÅT¤X?(lýýM‰tܯª)æES"VíÔÑ!¡þßg¯ƒª·Gx¸Á^‰×Ë~'ÜÅzÄÚ²oùöÐÔzî:¹TÞíɦjÈüÊ~þþx²÷“}.ûû)½†ÝË!6ü+ìSoÎO±°·ì)LÙ¡ôþM¼6î¦Dc* Ñvã&Ãã—ÇÓÝT//Ô×Tp{£¿ÿr÷ä«÷CÕè95•õЯN×’=ñyªD°^JUæç™ŸØ“*?UÒ?Sµ8Uǹ«(§ª©âÿžÊ°÷Fà{*/¡ZÔ-ñèò<¾ñ  ñ-§èÜ_ZQ¿xÁ¿ª€ˆ'µ…? ø?ò‡’u7¯ûTÏpÿ z!–ï³ýŽ?$þPÏc=œSþª—åÿˆgä”?ßOî¢*hþ<ùSùóœšLÕ¬—ª´ƒx ðÃ]4ïõ“V×ÔùÞTæT:òÇEUÖgumÄáK»h*ƒõ—/EÿîSWõúOšºÊx8ÅÚF¾¸YkwÐ>šJ Ë»ŠÅM¼££žKüJ»—K^Ïú&lüüÒ¿G‚7ñ“*Ï\ô§—ýׯ^ÿ›Ù?ýûÏ?·+ø©JOíT½§ŠùÞGÕŒ¥Ÿ'ÿå->g5Ô«Çýöï@vø‹BÈmà¡vøKK<ü»†ÝÊ›»±¢þa¿üXàí¨¯ |»ÄÛ;âN%Nàó[ýô-üõ5T/ÝÂ×ð÷Z˜D¿ý¸ UÓÀÏ•_D¿|¾ÆÇ^N“o&¼xv²ºµ{Rù÷´ÇxÄ|=U…U8š¶$~'¾î¢«ˆOE¶!oRÅ1ħöV¾w eÜexøK臜þ“ø §#¿0ªž­UýÉþ£vÝì®GõïB}½Uo“g¾_>Ï)"Ƨ۔áÝ~k‹ÌV¾Æ)“zÏߪøØ´‹TRÒf¾v½çýO›[iª¶”}··TÒf>ø¾QÈ'Œ°÷+ì†x‹ü¹ð4EU SƒùFâÉã~×|‰xVÅËGþn SòÜS-Ö[$?©øÙ…*Gî/ §6â¼4¨î{3>?Øû¡ÀOÎKáý«Œ©‘IÿP°=m ù‡vÉ©äÛ×àŸzLºý^ ª<äÃc Un–¶BpkÈÖû¤Š9úWnã}‚Ÿˆþ`ÜÏ<ív_µõfsj¯à/ä‹ÅyÁýíy~&ì·¦Äl(_ˆó^¿†9 ¾_Nr·¡¿¯Ž÷ ÿØ‚ØýèÍ÷eä³5ú{n£K~÷@¿ªÖm‚¿Æ|ÍùÞÛì‚ïïWøëÄûÝâS ¼_L•ùû,ñ>9u>ðûÚ»[f8ÅM¾zG=¶øŸ7©Ð—v•JQàeõšòøZÄ?œx¿Eþ™|6ÖázÏÉg\àÛ—KE?ð–ò&¾]£_xuôg Úé6Î?ð•¶ŒõC©*dzq_pßÏÆç‰¤ãÙ¦ûîý륩N 9 ǯÁµ(DÚâ}ð|ÁóƒEþDmQ¯¸}”/tL-¢þo!¿}áX'ªÆóQ1u¸tÿ7øxÄÛ;¦ÅwÁ}¼{Ë>ð&?¿h7)ñ·ô÷|Eý;æcEõÁÖ®KªöPµ¹ˆ/’[d¨ª~J?Ú=Üuß'>Ÿò¬?·¶Ô àq/ù¯ò9nŒ­~¿ÉgEþÕ øê“øiãýcþéï'î—¦t±$Þmô+ Wé÷ýº¶1¥'Õ¤DÖ^„×`ÝÜÍ_7Lù5ž‡õWlÏ\´î÷K÷êý_±Æ÷Ç­¦÷Á-QTÍ)¨'S•ŒªéK÷Ù÷íýŠ~{⡜jßÚU]…Ÿn}þüܦÎ{Øö–ÿnØ:P'U"]N ýMøÇfR(ºO ýoÄË60eÜЈ‹ïÕ¶ü?ðt¬³I~qåÖ©Â-~7øI؂б%®¨? âol/ÍûÇx-íõiéÜbôd¿ó~WÕûøu·Ù/â–·­|º _»ÅÿN»ë¾ò¾´ñþ¦ÎÇœ·û7 âÇ‘ªdA|?êß_ö[÷³âý”‚Ý赯)œ«|“RO+TÈJá}ßœó"îŸ+¶Ó"^Z|·›â»«œÎ]†Æ÷‘¿7C>Uéoßge}Õ ÊVÔlÌïŒù@QÈ—þéÁv\ågöV<÷óW쵪ù«zë0~j¾$îoQ¼¦ R¹øþŸ'"òµ"@Uý"<ý…ýôý]_ä EõÖ£ý½nàƒÅßïþ¹ƒÿ]x?l€FeŸ1ÏÆ©fŸóv¸_­‚ÿmW~ÝÑ?F=Üb+ÌO±.Ìã)êã¶¹½ØßïÂç8_=ðìÀßõ~+øíGï3â7·NÅû…*ÏK÷ê~7âã‹÷›ó¯Cñ–õVÆßò”ï;²÷zÌ¿ì¬Ç˜Ÿ“_xğ銿¬§§~ÞàÿßSið­zà3Ÿ>ðÔ_CõÑÂ|*ãgE½Ë¹gƒó…þÜñÓr”Oa‹HQ?ëg"_ŸôçÛŸMñ8îûÒûã|ÚÔ<Ta U*ýýz?®tñ±ÕSÛ¬ƒQa¿•_õ#ü4ü]ب¯šò£Vm»Ï3÷ƒþõºê!âµ]ù‘¶†‰Êz®‹/Ê~h×ü«æ£¥Â1Çeï¿Áo+ [±<Ÿöþa!¿ßýõ@½B übtÅ}÷ѨjeèW–ÆçkûÑnÛ¼›ü/ú=—Ý ª÷*› ù2þ?ØÌÏ8øò±¢÷Ͽ絛ϣÝúeÿþwâñ¨¯óýp—üV}6ñ—´¹%´ôÇ÷uÙýÉnߨöC»þÿÇþ>?ÅÖ£Úð>+ÖuŸ\ñå?JÔ °_„!^ÍÃáäÇ3_¨Èwöu^'æíªð À¨ÊQ!/x‚ê‰ÝýÙ¦{?ìèÇyG?jƒ_rj‡]5µðyê5ÄùmÊO:òË&¼·ã<·›~C‡­ù©‰¿·oì·ÞŸE~ߦTŸ,æ9Ü&þùq›Âß[ô‚/§ùþ¾Tæ[ð¹_è‚? ~ZCþ²„÷´ƒ/§÷ïùÈ"ÿ$TwàCõbðï«òMÎëñ¥|îÛüÌ#†*Ñ|a¿½õnˆÏkȨ|éÜB‘*åÙŸéìß<ñ3æøÊÆ¿—[ñþíöwϳÍù¿ù®Ý^Ûëö÷ñ9ð–¨G‘_c>¾°_æñxP•ù4æ Uó<7àŒÏ[ùÏ{5¯úÖûa¨g‡êóA[ùwE=Œüª Ä÷~éaàל?Íñ‘Æó_Ÿ»êmâ'¨×¯xléÿÆe¿“ŸQå9üAØÈŸñçÌψ4åϵÝêmågwûùsü{Mù6ç­šðð2ÿ=â/ý=þïD¼Ý¡_aGý¬ùù†-^KµÔò#¿c?<ðÔÏGñ(â1Ÿê˜W(¦ç•Íbz_ØòZLý Æ'C=ÿV}”ùê¯;™ø…ŸL<’*û‰G"ŸÉ~ñ¯#{OIÕGì?ÈnxÿSx¦áó—ý¸¿ÇÃý Úȯ°êô-ø‰Q¿ïcàÜ2÷ýÓ}œè-Ý¿¼“ýéè¯öB=¿þ@ñ©°þ™:ç†oöŠ|X÷·ó÷µ+¿¨¸¯#ñK|>ì…ýÎÖ«ÀÙÏ-ÉEªüܲP„?s+UQ}<¯ŠæG&ê­¢y"nI.â‡fÿ¢ê÷y}¤-ıu«„½ô}χ´%ìû~åÐ<úŒ~Tèÿæh …ïÃË®óóâ#Õ‚[ýKý~ø÷þ{Úbõ­#_H{ßH›óuê??¿l¬Ã [xùàß+¼uóï=ó¡ü} ùÇ¿’|•÷øs-î_;ª‚w•°¡ZÙ¢°vû(Þz~zŽü;ôœÎÞ‚-…x_ö/ û“ªOŠúÍÐ+Uù$øwå6/2€V壑?˜ðrla,ö®jé–*àÉzyÊf½¼mnÁ=ªç¸µõHßK|ִǓݿ±Û76ùyöï²ë7ö¿ûßÿ'ö÷ùh$2 c¨À‹f…þ,ôÉNæ£äWMÅ¿¨'ÝÆù¦:ëÂÝÿ-|'¶Ð·ÃþTø«ö^äýÞsØßmܺM~øåÖÚÈŸ.¾ò¥%¾V؆ùоŸõvôûí]•öª­îì×s •ð»Q•ÿ´ìç‘_#|xÞñ¤Q´uì¨_Ãy§ø0ù[ÊO9ÏÔõ¾7øÈ–÷|äwUøY,ø¯ z‡]éƹט*Ô»©X/æ¶©ßâó³Â_Ÿ÷ú[;ŨÞ >ŒâIÅ÷{öcØo}/¾té´zççÞðM¼C|Ý ¼£ ï ž2„oOa?õ²çíõ‡öOÿ½g{<ýÿ=Ûý‡vû€ý}>øñ‘_À«Á¯Þc4‡ž‘ò¥ŽÏ‘_[¬'>†úóW¾ý£•úÔ;J>X½ÛÜ]ý¥6¡·@=²ÀOUåW†ü(õ"'ò³¬¿ ò­qïÃÞ/ìwüç縕+ç“ÿqô] æ…s eQÿÃäŸê}ËôÅ7Ëú{ÜúYO/â+WcIïj±Þ{«^6ú#S=¶€ŸØ_êÙ©~U§=OêUÏFþÅþoö«Xï.Ùûncˬ÷ƒo~ßhì+îø}GøïA¾unï3ìóÂ~§Þf¿`ÖÛì ÅÁz[ü méÖûe?±¨oì?&Ÿ¨Þð“Qpž¶üI>²õy¿ èç£><À§ÞÁë+æå¢¿Z±Þ5æG„×S¿‡ñ~ižc‰/²¨)~悞\?d`žÀ„P¯ÎÔ?îгÃÖ™ÞÐÏZ×},àd?ù´Þ†Á䌗ïÔ?œ×ïšO˜Üº”ó]¬g„‡r~>Í»ÿ ?}ÆsŸíœïëïÙâ÷ ßüÙÏÿþ›öOÿÿÞ±ßÑããÖ§Ò©Çw×ëˆüý§¥þç[ÀŸéÔ3-ê¿9—ž0ù­É/>à7%^ù˜æ‡;ôKJÆŸX×çõUÿåUþÔÐ/:ÒoÈ—Žâ¿ë)i‹n¿¬ã}JIz๥Š[¥Ú5/0Ÿ¤~ߨùúMÏý¨wõ ‡Eÿ‡[¦‚ˆüRÔãAüq›ü…H¼ÿþX‹Áç“6Õý ÔGž—›^BÛø÷ŽúÝÐcZGþ¢`>´(~ø &}é®­S©ïБ¿$e‘ïb/ìŸømœÀCºðúŸôGÔ7Ùo!~’÷ïAOñº?‰Ï´×vÿʶ×öx×®ÿß±¿?ߘòWœß‚xÖÔÿ4ðm–ø8ôœ‡Â|zÉóùõ2Å÷!_Døµê½yÍKmô£¦ú¡¬'Ï ?ŒúPõùÙèwûAêöƒ.û¯×¶=ÙÌG³Äùfå¯Ú7 üHó™ÏÞ¶ßø [ß_ÈŸ÷[þ©‚¿~õ\ë¾¢ù“‰·ÛSü ¼„|÷8ÿ§ J|üi[À©ç[!}ÃSØ/ä¼uôÓ+ð•ì–°§ê†~S?÷od?!ükôŸäÏJÄÉ·œ²‰GΟ¾ÿõôþ×Óû¶ÕOb=“6çŸÖC?/ù{ÉÚÂ/5o³õ¾‘_ŸœŸ"ßï-üÍ:æ'õ€,æ_C=½AFïÏù g©_ü_·Y†ŽóPùþ ÎÇQ?ÀçϾ<ÿ‹ÿPðþ«ð‚÷ŸùK¾–|ËÖîýFäïÅ´u‘|k{?>Qߪ‹ß@ýÞ¦|öPÿJ|Xê/§^fƒcÎ;j‹eê“pÿ„æí7ò‹“ó‹ÈoR¸=áG xÑ{|j‹ù¢È6ù–œOAýO<Âù%âËúV«E¾¾ûwׯðùùó†-—MùÉ„xÄÆ¼JÞÏŠ}SõkàvÕCz9ÿ0ÈWQ½SúMÏ©lÝì×¼Ó~òÒß½z¿ÔÇ©w‘6ß/ò‡Ü2z˜(¡^sÖC{?æ»=ÆÓ…úh¥Þ mý~ê¡lå'ƒüš÷òËp¬¡o`ÔóóÒ{© n_zö½B¿¥]ù냞ü1ÎCÈæ¼\Ö§ûiŠðmê¹ç|að1¨Gãù?ûÇÀGúD½›üè‰þOW·¿¡dѼðãüBêÙ&^‘ó Ô§(ú|<è9Í%~ÎþþÔ·¶'?ƒŸëûøSö3hgü=·ó ø»¯þÆÁyyÏÿB?óÁ¿Â6ØÜ"Œz¼h+aÏyÒ#¼vïÙò¾á~­ä#“ï¡ç_0¿6tæ× ÷Mzüœ~Sß‚øi~´qÿŠêcö?‹æG·øÄ7ê³ä_lij¢znƒß^T¯mäKEõù‚ÿ-ÒwXšO¡^øÒß÷rþõ.ö,â'õ€¿ ý4‹Æžëáý úÃÀãíÒOÿÆÊM?¡èOõã+ôš´o¤qŸ·ÜßošW[°Mxp̳PO<øÁÐkHÿ\Àß8ÊÉïØÙD¿`?ñ'ޛƠuà÷ý÷~×oíÁ¦ÌÛöóÏ÷'>ûxæ«—'û'|mⱘ·~6PŸ6ÅË<¶h¾oÜçñ;öµåËŒߺ=Õ§þVýí>Àoìâûð·¤Ôê™è%î‡jœ+à3$ß”zA©çµÈHü…ïSù ýk}૬K¯úñ]óžÔ˜Ò?¼×£a—˯çu0?cš¿bÿÄ™^àúÉÄË·öOˆ/'=½ƒù ƒ¾2ûóçÒ×#ÿ>õæ+拦öá1ªÒÏãþ©-½/îÇ žrƒ~U»¶JðØúÊ~KOýô"½/ÙY_ _Ý©oL|^õˆð3é'Ô/¹?ˆx[Ö3Üt¤Ï²XÏä<öå]ó…ö;ý4í­,ý#·ÙÏçþÂþÕ"ö9@¦zØó\ùeì3„ ý¶ÄûÛûÏ}Ð?Ä¢Å8‡ïWû¥÷Æ­©ØWR†ö+žÆ÷7±wsIQûMú“ý®þñ̦z“ûžZâ™x-ùhü¾ê òÅ.»óùÓÏ?ÿþëï¡}.û|¶Q¿h0Ÿ´;ãgÄ¿Íüß&êÃÍ|ó¸—¾Q3Ôûƒ~õE‹ÀzGÂ'ö €ŸÜ¾¿Ô¿`½¹Ä÷hŠÿ×ü ô‘LzÅ>²©æû &â-âéèÀÇ¥7&ö'j~p,ð§ö,ðç»óû][ä©'v·<ê5öÔsÔþ€ò´ÿ¯ÌG»2HïCûj´_ˆúíKzpÜGû]¸Åw½§÷–ó˜#üy™ò×ÔOľr´Ÿc(?æ>ÜXLþ—û¿6m·®I»`~Ôtô^6lì+t=€J{qoî»ñöÒC‚&þ–[7ù ²Éh¨_ÕŇ)ä3¨%>CêY=Ô³]ýóÔ§íÔÓÞÕ(Wýò½¾ý ÿW‚Öþ+lêßPºÀKÏìTèJÿèPï’þ3ôëùü'mοMí—¨·},@³Û¹Obc¿l‘þUí?‰ŸÔ{|åÆGI¼¥jŸÖVþ¢y&å/ ñqK¯¢Á_né“’/|Ùåñûš—Òï³öôïÝþý·õƒ9Ÿû} ü‰a:ç c&õë?.ýÓKÿð€ù̳Íymã~N.âþÌ¥øˆÏô¹Ï”ò¡v^Øï¼?ásÒ'»læ›óÉf0õfŸøÙ…ø^îóxØ·Æ|ö†ÿñ}&Þט_e?ñÖ/ü¾Þ¾‹÷ƒêúq›ú<àÏç| ˆr¡§Ÿ|ÄsÓêñ>¿Õþ<×ÃO}¡Ný¡Ãø ½Çk?±ôÂkQ?„^‚ôеïo3¾MðÏ€O…Ÿ×þ˜±4¯ðæ~ÌÜ6»ö¯¥ý×Glí‡y¶ÛWöþßÌþâï}ûy´G›zÁ3õZSÿù!ž3Þäþß·æ =Ÿ_ØÇ:6óûØÇVq~<¿÷ømõ±XûQPA_©j_pÍ}(éÏô±¼VèóqÊà{]ÊϹˆúƒžßèù¢~,z¼Cûq¸ÿ³_þ¬rßÑxa¿ƒW³Ÿ°¥ŸE•þ¿´ÇxÁ}©—D”úKVŸl|ÿØWvûÛßý=ÏöóÿÏOíò9ûûüµh¾îDýz³ß8o·¥?\ÀÕ~[ Îp?6mä»S?¿±ÿšùoAþC=B·ôˆq_JÉ|*?G~û2U_pž€ú`—­|rQ¿]ù)õs~_úbª?˜ï¶Ô›¦~‰òÕó°okoÏþÍžÍx¨Gîç÷ù뀞xñ¿çöaŒÞ¾Á?©…xÜÞÐ_­Úï\Àÿ¬Ú_R¡®ýNÇ”ÏrZÓ>ñªý܇ <÷`Ÿ±ö¡Æ~4ì×2éµîëj²‘ï¾ä—½ÊÆC?³ª8”oŠÏ©ü”|«©ó¯ýµÂç6óù£ý4¿_ðyÎ÷_ù5l;wÿ•ót/õÿöþfàƒ±_(úa³B/Aó3ôi=?B}?+øqÜ÷R'øm‹ú„nOäCÐCœE|9Ô³`~QõÊ8Ð?V?kèKI_Ómè)¾ä¿z?œ+z?—Í÷ÑžlÔãEñaœ'õ{Ñû¨×‹êê/½_Ö/'õ÷hëߣ~öKþÓßïð´2|¿Â>Ô[|p3¿§?òûרwÏw/ì·3ê“lÖw¹ûÁ«ô¹ôV«I¹Ÿßý Ýð­ÏÒ>»®ú‘z,Ô[Îû6Ç û­}4x¾]õ¾lÕóíoÏ}J_YßïýÞ¦~žøûÖçìW§>¶ö-ÈžÔ_| _7èÉVîws›ûî‘/™aÿ ó{ß­ý0‰×ް±?½ÎäÇWæsùÔl´ ò'àåÕ ïÕáïc4ôš»ð÷ßG|fbßõ! ’Ž_Kü½‹}ÛWØñ÷¿¥§‡û”úå›ï3ñs¼Ï|ÞÖuàïˆÇ%¾ºp>,ñTîëÊúóé¾’{á ðÏ+ñòGÞÂcu?õô6øuUó@»aŸñöŠAïxß›÷•ïõä>zð¿§H_ýÏý½ïˆ8/¼ÏÄ ¤pèÄÏ<ù}×>±ÜUÎ û­ý`ŒGûÁÖ½žç¾®qõ«ô|õ¼‰Ÿoå«ÄË3?gåè}MÔO%ãçx|ÿ…ûÆ„7”ŸìëØ/47ãc¾|è‰í|‘)¼@°ëå~€J½càß1¿äñø7ô3BhÑ>˜â+òài?Ÿóù–ôÌ¡¯ü0ü<ñt#|,è4êc_û‹†ðƒøúæ¾ËýáÚOIÿ{íƒàþ›ÄwˆgïÇç¿uÿˆ¯g¿rs_A¾ß‡~i~”_ûÙúyâµå]|oa?_G |e#_.öÁ¶k?_øOìª ûÄ–ú™öí/ZÚwÔ¹oõÄÂýä|×Çõ2÷§4ÔÄÓ B|á/TðÍÊÛø9òŸ!ýÒIÿšñûŒ’o™ûþðþ6ÞGîÿb~Usþ(û§|ßûé¾>ðïò¾¯zŸoÎãD?Sû§æ“Ño¨ýü¡}ãó1óÂ[ÉG@‹Ñ;^â_ô»ñ\ë¢ÝûÎÙä>zî›2áö;õ"õ&kg½hùL×ù7ÕÔ·Ìz‘|‘–ó8ç^víûêª?©oxÍÿâ÷]ý/ò§…WqŸÑ[óæü9Ìû ä?øù±fŒOü{ÍBX:öëó£~Û¯èù÷K¿Ú˜¯šÂ·&âã`¿¸Níßfÿºk¿ö1{¢‹Ï{çùáÏ“°ñ~u¾ ÜuåS¥iÿvâñ̇LøVC¾dïê-ñ¾ é‰/âçšÇ\û øê©—ø×‘¤ÿÍú†÷»¦?½ÅÇð·¸ÏYÏî§Ó}ãòçïðB?¢S |Ÿ†2ž|¼v*ô%ÚÅoõøvLóoßß¹Çâ·‰¯CçhÞÎã͉þ8ãg_Kz-ÚH|)öóÀ?ip?ÀÒþÁGûøI½‡Õ?k‘ý3:ãñySoe)¢þCÆÓE= ù×±ã)ñç £¾Jæ»Ô3y¯¿ }¹:…Ïú]Sûý ¯U§ö™çý]isœÑnàS3Ýç®þ1÷kÒßšöÿo6äËœß {Á~w^—ûNwW~ƒç•ûí?W|#þ2ß)÷üÄžö½UásE÷‰|­šxC¿ãUzkMùôŠßá;G>ƒç_6óÃ~¾¢þåÆó"ŸËV1hzíoØCû2Qlä;ÚOëöÂçèGnêç’¿øσðZ#>ú1÷£>ÅçØÏTÉg ¼h\ñðVoæþ­»ýN¼d=y¶ôÛ‰ßižÀò|<ئùÅ?Í/°Ÿ—óÔÛH}KN»\þ3ô¶ò·GûU=ýJ£B/dõ0ÚýôËoܸŽxFÌ‹¢_L½Ð8ak^hÐÖü—øÍÒä~º"¾<ùÑEýñ >6ûã z)Sû⣑¶úÝ|jíãßÚo7ø]öÄß²÷ðù¦ýÆ]üÍÁ|陿©} ¬_s¿÷Ã'þÄ÷ófܯSesžðšg"?Höæ¾´ñùË}Á{ÿÇÄÏžtLü×&|vÔ;~ÛÁ'1êÁìã¨Ò39#õþÅjÀcÁ'8 ñ“|¿Ÿx.ñâ伯à½Ô÷y‰çâ>YžK[|ZÆ×!ü–ûws¡áy'—z£×û#Ÿ+ñBò·Ò&?Kï·rÿŠ~?÷çŒwî§ü©òk üt?ȰïÔ÷£9èŸs>×Pø>€x;°pã¼cìŸ/Œ×õÓd¼.Ø?Ÿ|jΧ¡žÁ¢ÆÔ³•óiˆÇ]ûÅwòõ¸¯/ùÓëŠ×oÅß­|‰xn¹çŸ ùϼæ/9]¤'Aþ]•Í÷wíçþÙÄë³^%ß}¥þÔ}~éê¾5¯õô6&ø“ÜÅ|\üäädzÞs}øä/ô;ßÒÀ§? xÅ!^Á®è§.Ú†~ß_?£ ¯ °¾æ÷¿š'ÑüÀäÀ‡îš·ÞÒwE<ÿ1ôÃOGoéc`ÄŒÏÂwË¼ì·ææãý%?)ãŸæ”Oæ¿òŸÌw›¾/4ø™é?7âñNÿ>B¾Ëþi}¿¥>A­Ú?Å|RøùÌé?¹Ÿ&ý§ñ>'¿ù‰-}oùSú×Äÿæ]ÿÂý-õô ¹ïèû~ôº¬Ÿî¶ûC?cÃß™öyì›ó!^ŸðÙ€×ì(´:döÙ?¿ ú^û ‘Þ¨E3â-ûgþÉâï÷}óÐ+#zj¿}Q~ÔÖ­Ÿç|iÖ?‹¶¡ßöæ¼<ñ˜!}õ œ|Úä;ÄÈ?¾#ýcÕ›ÒK>_Øä׿÷Ÿ_{ÐJþõ{ùë¾0÷/_ýP+Ô«ØÈ_ü«àÕx?ègí…|fs¾ƒ,Ñ?Áó-ÈO¨ïâvG¾4Å—_°Äšâ7 ä»äwD}ºïõíÆÏwöÏö×Uá•Oö;zê‘ÏøR¡—»iþ#úצü•ü,ÿ§cþÁT_¦>W}ðíÂ7ƃ§I5÷‡D «F|ë‹}Z¯ôL|žûW±?.øÓëš× ý‹­ýS1ýKÍÏðƒ¸¯¥-Œm‚-þXÛˆŸÚ/èÂðÜתý-‘TÍö¿¥6þÞû&ê×&½¢£ø¿âkò¯;òÁï©úùÚß½vüûcA¯t¼ËL~*û«ÙOÏþXÅý]ÂÉ'ZÙOç÷ú£w›ü²ó•=Ÿ¾O>Äza?Nígm¹u¨¾™Ø`É?æ¾ñC¯ˆüFÃbÐȯä>Páù4ç?æûø¢ÐÏ«•øgéà#ÛÅga½<Õ¿)°/þ±ýþ^¾ÁÿëüŸß¼ß`£þ¯ÿúoÿýåÿó¿4í…¥±dƒZØÉVŠêåH­­>n ûAÛGWõÚÕ3n…=UíFvõüíÿæþþþþó÷m MÛ˜bZ¶b-ŸÛ`ƒ¨yÿ¶‘­nk.œ¾p»[¢èûí¾=ºÐ»§K°­ÜÞ¯ÿþŸ½ÞØÙG‡l…o×Îí}ÁV1F?©‡õKý)º3]j Ï»i»úD6eRÏ`‹qÙŸ?L«[ ÍüŠíÄþm`ÿó}L¨Q.ªµ•‰i¥E´¶0±w Ôw­Ê{Á¸}õÏŸÿV5ik¤¡ÌnùüîÝÞÐÍLõ†jQÙgçötu/û[¨ëýD·õúïÿÙó?äTƒxÕa/¹ýõ'KÅRŠ$•WРܽ'Fö£ “ƒ¶¢>ŸòËþä©ÃRÈC— ujRÍôäê@þu©ëÒ¥«¶ñóœËïhPùïCÍøýã#'?>q5?ùœ‹{`ÜSDHœ%<æTPGcÁVàh…žÆð}zðn¬g/kùMøâäüðù+n·k/Jx–vãÝ o«ÉËÇûYâñ7xªÔ!ØÈwò`qÒw+åÊ#>áù]ÇtÆÜ<¿Ÿýynž6ú ØDd§a$@}E àÒIxt‡ÏßqU‘×ÂóêàTâ`ž¹§Î#óðÔ9GÞU´‡ºtÀ¡Aˆ±nÒ \Èã up‡Kò߸ȟ?쥬ÑNø÷8>=¿‰ZIÅ;N¼FÖ Þ°úx%BtÔArVß:âŸÿ$·’÷;©{RyÞgŽXTwBdzáxs<þ}Çy˜þûüýµCÿ5cN×ç‚þØó­8~|ÎÄÔÂ@^v–D€0Q Š îùÙ´;ôüÀèâëg¢Ä ¤s¨Ø°€Pü¹çâá "|¿=˨šB|”k·Ÿ.ð”£N(²%âî<cÃS ü>ûŒç/š â[ r"$«ñ’Ñà'½ã$Ñ)Š1BpÄ™ú~E@3^¡ÏäU3,mP0Õp÷%2??ÿذÖ*6Ô¸íç½"+R°nD˜ý<{ÇÖ¸qÅíŠU £-0Jm£¦´… c$ûÄù?8ÿd”N0@M À¡Ìt¨ƒCÅ÷®û@D¸©CР¨[ÔFh½6LTñù?ÿŠ —!1FWú`GÃ@MsÏ×S~žïMÛ3ŸA†‹ãç·~Þ+…Á'1Qõ»2ðAÄÏdžÜè ©Ûùìxõ•Šðòÿì°bâ·ÕÄŒ†üXã6u\JÜοÿÓçoÿäùÏýwn ”6±aòÐ_ºÝ[0xÑ›@@;Â6'¿ìø»Íïƒ:ƒšä¿/]·CáÚùýùù_@ÈMµ§ü}͉hØSù 'î“aBÅ€ªŽWÇ}:ê°­ñèÿ2Ý/*÷ŸúÿÈßüâÿ9Ñ`:ÿ ”+>]þñ€~» ºÎ?Ñéÿ¹a' ¤b~ótÿìþ»"Ú +_d¿åÏá¿ñüWH×u£‚©òã„”‘Ñibø¬¥éFÅ\[áÈÜ®Ÿ©¼¨ÐÔ‰yÎ"u*a˜K| ÖÏ¿iBਣ…ø?Ø£¡ÂÃ’±¿ªß^ÿƒeû±òÓa£Ã© ŒEE\)¦NÁÎ] =EÈf¡â~>êåDBQßQ>áÿÝ?cȳׯV ²Vã}ô¬ØÓ’Ýa7)ŒOl [šˆšxŸ5'`ÐSkŸÀÇDƒ¹ó¿Zùw¬S¤@þb‹.PH¯¦39 ÓHµñ™Z6úÚ]ùE·îçžÇ1OHýÊ“;R <=Izu[êË›@®Ð¾*gz¦£ÈÜ’ó™Ìç†A¶!ä\Vôò/äçBzˆülÚ³FÄ8 ÚÚeìÈwV½,h]•ÏxžX²ax&7'?µƒ ÞÇJ­&œôKëïc¥vpç{Ôý%òVÕ#pnž"ÉŸ?ÿ 1¹§§ç—r’{ž¼Á“=½k±NF¢è&ް—zžŸ=‚àZ¹½„ù›ý Ï3–4xál³<ÇÒiâFLØM» ÆÓ.ôÁÙe²ÜmnŸÂü;¸ƒMž?¸fÜÕ—çYÚ:ïDzn÷³×}‰ùã>ñùó¾qVæÈçÆùÅ.ˆ¸ÞvELÙìÖ6Í–ou{ù<ÙƒœÚu›Ý]ÎjTEjO®OøŸƒÂtOî'(²±©`Ó•cðå¨ÛÛ±¸ aäXüÇÁ†³1‡³²´¥ ½CcN |Âó0æv©Ôû”?Äèy#“e8X·T‘ßšŠ¢Jù¹¶oÒ5ãOŸ‘ç`Ο9}N²&ÞR‰ç¤“9)0ž“s }¿ “=™‚HÐ>Â3±È‰ÛïÒÏß‚Îî6"'0é6ë¥2ª(Ï›ªãSª2Ö‘óYš‘Ïm¨¦˜áûöføóç¿Pó6©BN`ø¦©=ªzådNmåÖãÏu´UžŸ=– Öó¸¶R¥Í>y©ú[ëpþ ™ÊR+Tˆ‘øy_˜Ê^:ÿ =¯­îð‹–ìNýRÔÿ»¢¾>??õüžùÐÿô¡œ5Ó…qcîC˜ý‘]±Õm‹W%ÌH5YîG‘w—ë÷ çŸ\²ÝÞ3qòp¼V0¡5­¤/ Ø—ý?Ý ¾÷,Z)Ð|¦>mŸ©¶šN.x&üý­“;0¯Å}’·ù ÜßÎy #C؇<Ñmp¤º•^]*ç±Ìqpò9Ü•ÃÓNÞsœ‘9åúg5öwIO bÑWÎÏ}Âót<¯Ô‹¬°K΋?éËqþ±d÷…ú:âgo¼¯Ç}xG5æOGùÚcA` Ïܹ_Â÷ÿ¶&X̹§Çü„  ?ó¦ÞmF†˜Ÿu5aßÄo¼-«ú|¦ÛUnó»ÜovßW'^Ïíü“‘{Äk3DÒœ_ã÷{zÔĈ<à3 ÛëÂ’óõÄ(ßçºEî0< ÆÿB®æLq4ÅóesþãçÓT†àù“_?S£ïàù mû¢OýÓ'ošÜ«8ùœ\ŸÚlÜ¥ÜÔGéðDMÜÛÎI»Áê‹9q7Ó“†'êT¾Ø8‰¬v±)YèÌÿ[ª]'@—Sº”ÈÉIÏÏÉŒäÜ”aWV5;L›dRˆ›¬-7aÖ+rÿñó_ç¶)èWجIIׯæim ^Áö¾-røu°Éºç_Q»2ˆ+þðAË¿BÉ$JàóUµþÓçO%È£I:Cæ²/¥Âyç‘\›hkÖTûÑÖ÷sÖ‚¸~ò€v¶ðLväø­Ul®°0­ÛØ ‚Á­Ii`a„Nάh˜¸mú¾ÆÌÍ¿»6ãæxäžÛB{†6"óº“Üý©ÉÕdÜœÿœD_ä]‰çÆIþ#žÄBMQÔ÷]DC?’ùœ8ÍA§ò†ÓùG*#Sªq7Îû Úä¶gòC™çÝ4)wDŠÖ†]J:> hà3h›ϤÔ, 'ÇRy3ú¾ýš5j°‡"+'ó‡x…¬Ù¦jbÍ}ÂÿÇyý}Þ-À…í q§'à¼Ç¦œæàQaÏ&7Ç­ìiWß¼ëâF±ÜŒï3lÿ÷ÈøþÚ¼1A±×]¹¯]})2ö/ÿ©üÏÍã-•4ë?.¨û¼Ÿ#ÿ¯Éßðl÷ĦúŽÍ">™ëùÉQåµ»>§²16«ž®I]LNŠäßïàõÝA-w^”Á!Qäñá|&ÿÙÊgÌÔg¤Ò€0ö s)—¦Ò׃rãí¾”¢&ºe¦L´×«ïøÇçF õómàÙ¸ê6”,W¼?ßS¼Cž¶tþã 5Ûº1{èŸC‰dÆä¤ÛØÜ2c¥¸Û_dÎ?}þYù.<(MŽ"³ sF·ۆɟƒW;¨\ï?sÕ¬W¦øÜù£¯ü ÿ_âù¢`Çf6‡q'nBYþ“þ<‡ÁIV·#>hÂbo}˜ÜŽxÕÔý ¥~ÿýåC•o?È£Ën׺#•ë­»Ën‹IéJ-éoˆaç& vw—òY[W7ùùOä+"n;êf¬?2>psxøw|ùŒüýïö„¿2*õy>哿Fåcÿý÷ë3ÝÞ™JÆÈ?‡”Ì•Œúµ)bc?7×qóëR~iˆG¼CüèÚTuÀ»:á¹aó„?Ÿ :øóZ´•ONÆ×Áçmð/KϿI’õ„ ñš£yñûð}â}ûTü%æ\©“<²r3•"s“•ÈÛ¾¿-å*9žkr~)š9ÿs#9Ý_äïØ¬¹ÂÿE>_äï >O»!¿ïüþïÄØë…¦xàÝúV©T5CrÃíùÌlï†Ùöç5¤L³µ¹Zä!nò Å#Lå¼-$¼Ú%¥E~>¥äW?áÿ)AÕÚFþLÂjk‡s.=š1íw‚é¨ÇÄs Mñùx8þÐ?^nÇĤ۟‰¿;‘ÿ.ä³ÜðõÀ–ί‰½PåÿRi†ùýƒ’ôQþåéQ>Tÿ®˜hl·=4ölƒ'ëõoS½+Þü|oñj=>¸]è¼ÞmþfaBkÈ'¼žpêVãæíOàç) s³w*Ñ>äóè™÷&¼‡J0Mùf›!7Ý*?M%ÃqÝ?þ¡üçõPÿ£ü²)¾6ÔWYu|>õ¼;ü?•ÿbîeÆ÷™ŸVø/)ý.(ÁXžô‰óO¥üý0á.9D6nJù¹yôäæ˜‡z ¤²•Î{Ãù/ú}ìÁïøŸÊ‘á¯'ãïA<ØŠ§ÂsT¿äG[ç{Ô°Á3ßoºÝ…÷¸2œ‘­åöF~ôEçè§ç?y¶­h΂ö‘ÿF>Ïø¤¡…Rdƒ½–þÞë-á%Aøvö\Þ—P25Œ·~Æÿ{~Ò6æyPÜÿ×J¾áÿÁÓwÿ?ÿãy£Óñ`òûŽÿ\þ>m·Q¿a®'ìÏä?Kþ¦i΢/H¼†xOnÆTþ™›X؃϶Ï^t±Ýº:_Tò+Ÿ™3íÈg ý ·£ÞåSØôò7ƒõ°>ïÌWUWâ?òGþ>Œòá`ˆm»Qm?¿¿âü.t›xáTÎ[âøôåÿž›a+Ïá¦c>D¥yÆ_*°“öçø?”žOƒÿt%r'°n¶p%òM ÐöYAàoGÊX Üæ3¨³~^ø(ßÏ‘2ô vŸÛã3ùgA¾bÀÏ“Mk×&ÅÅ’™›59§¢úlãûEñ`K¥gÎa_ÚLŒÏñÿ3ðïðÏ™ÿÃ_3ß)Á<·}á?xãmpÄX?ÿA=€ïÏh´x|A`nåKë#sF½kó6 !¿½âmŸÂ§/¦ ŸŸ:ïÜĆþV_R fç}ŠÉ’s`s.ŸÁˆOŠ-_!Áêøï³a4)í/C›Q? nrüsÿbG?õöóØÇ'Î?{*˜3QÁ&g“ZK©(ù!»6ÌIVÅßð7EñaaޏHç!Èd®¸ñ±þ×Õ"þƒüe ¿)¸CùOÄúàƒó%æ7Àÿwà_Ñ/èÌðŒþ)ÿ¯ÍÓ…ÏŸýÄ©9:ö{*9>(ýõTê”vÛÔ•? Ì©.ÕÓć>â\‰µ¡ÿ;•YCIøIBüæHÁÇmàûPædò0žz|ðç}¤¨´0¶™Ïz¼ÚÜÁýÿóª £ÿÇó2á; xÙÎç9Ýžý\Ø©\LeÍ¡úxpŽR›Ï¨¤ø…NÅOóŸô|dCg =™ÊWv ü sÓ«!ÿÑ&¹Õÿ뼯ØTç[xPÅùGþ4ð¢ù©9ß&¼s2©0Åì©tËü±Þêcä×Q?~Ÿ›šæâ9'l© üê‹iŸž(‡ÿãþ¹ÃS‰8¤•Úèê÷ÄËC™¸‡ÝåßÀÑõ•Ç=lppwämŒñ¤Ì]ÄhÒ%é¹Ù‚Šm©s‚ú7•½©#SÖËûB-ʪÍGþ¬~fÚ(ðç…ü}FsëŽ?#¿Ïz7úcÚä·B !êÙÂïWü<ó!ø«ß÷§*4Ô_pæúü;θ5nZ$Þ ÿÃMÔ¹9Fýù'»hѤ2kÎ` >ä¦÷ûóþÃf¯÷cÿñóîxô©êïÆL‰÷o1wº£‘åþ~ióЀÍÍï!±ï?þ6Åf6Ýx0>ãÿêSÍ™ŽçmŸ—>/š–+ÐqèªÇó!NI!qPñ°èû[ŠcëþçÖÿâùÏþWW¿¤À¶çþWò:>W¿f£?lúù…x0Å þu±>Æ¿ê×Ì µS“ùIŽŸ'tcç¦/›ùNÁ LÓ¦*ÅÉ™›ñ`Fg ’Ñ 8¡\îùÎÐLÏÿâ7pèþõ0ùcª?ÜÐßåt øc’9½«>ÿB'áçþQÛV›^©°×ÅgkT8”ýèïSç'™¸ |–T‚žT ”]`×Ïàÿxf~èöB°JGÃè¿7ó…~cU=ÿ<ÿ¡.OÑäÅ’XM¦9=úñ&­æ"²œ‹g¼^º/†|´¨nÐíøHýõ,ðž%þÏÞæþîúüÚùo|?í]ŸÆïÔTþ–tèúåKñä33Gϯ]›S'uMÄWàçYÿ6Ö ªÈ¿Ê|¿Rñ6ùrÌ÷õ¾æmÓüGü¿Eý «M¾Ï¡ŽÞUÿî'ü&ÿõ°ò¥C~OåÏ{<¾âAâCÓÖ øfCüŠÉ#Ø[3_|þ;7±>ËÍCí¿‚ˆ7ÅáñX¸þÜ´õéâoþ\Ad>6…x=6´™g_¹y1únCåàùB ?ßÀ'å& ~dêÿŽŽx[…?\xŽðæ;œyܨwÓÿlÔ·¹‰"u²štâÄGÉM1è|dò%ú_À'»øÏìw<ÏìíÇótþÕÿZ÷øÐ®èlñO"H>Ü'ú/xiÚ}=(hoLÞåd˵¹ái“ÃIEbžoÕËóÜúX±–º‰þüòCýèvÔ³F>á6ðÙêU_¹šÒ²›]¸‰wÇüB?ÌŸç³^æÈöø">Í'ðö§ZÎ_p“Nn²a>š›“Ïﯘ¸áÿmß¿ošùÍüÉn|¹?}þÍbž£¡ ùë¿Z ¦ÍM +›øK­¢¿ˆ…¥°Ã‘Ÿâ¶×» ÍÓÞñûãý…ýûû}|èüƒ|g_õ—t;å_8 ¶Umn"J>𡬯¨“Hs¤ó‰þð,›¾Ð üáùÞ“ˆÁÿq>íð?˜·‰ÉFñ{ÜÌ>³¡ê6ðibÞøó¾Ëb6æ¯ØÄî“•ýSüOöËäù7ÚÉçA=•›×u<¥ Áø\“Ÿ˜|ØœqÏÍó:|_üý?=ÿ!¨ØðØ…]щþ‹ßŸ?¬7ü>tØC÷Ãß~ߟóv?,§ÜßD}¿ßâ>}FgrR'`Ë_asÒøþ4àg벩þƒú`Vñ© Ë7+~ùÛnÓß éîí}ÅOøÿE~sôßw4¦Ü ç…ð¼·âñÀó6ákŠ/ÈožòÿñÀäÿñ~>“ÿ‚|'t^oüÏqMòr)ý§úí+mNò¦®6'S59lßa/nÚúÌùyLÌ_øù~!ušÝv~Ä ÿñónœ/2Ú‘¯²ßáß_ø~àãþû½¿àcl:ÿ øÆš?õ?Ü$%Í^ÁG—æF/à+Oò!üûˆà?ëûÒÜÀ¦¯+ßi'7UÿO|o<̯ýë:· zºÚÕÿ'ðØP»‚¿¯ØpÁþ I·Á§íÈŸ¦ðˆÀ§«YïÖ£qÆ Å¿ç÷ižÏñ¨#?5ÿrî'þ ëU¯vN‘_*Ÿ¤)º/ôgUócõðÈÍé·zàþß×å`Ñ̯8¯v—ÿïÌÏ{…9:ÿÑO/¨w=rü+›ðó~¿¤>÷£…ýÿÓ6üñ~âç•Ê-çWˆÿÃ&ß°Ë?™6™Í¿tð'®ûÂùlÙüÃ/”C~øüËÒn¨à¯ºM™ÈZ™Ø¬Ê=­±,4“¶ì‰ùìxÞeA©€ó­llÜá°|+óÜãCÊ'›+Geþ3ù”¥üqÝ÷T,(;á9 ñúh3ã¿çðû³H‹ñ»Jçó#ùÿDú¹èÛ3`ï¶( %%7#˜[©y?C]ÁÍ€‘rº‰/£±¹(€>¡µôÛü‚7óS¿?¤§š¼ŸŠ9‰-œFªÒ0Ì‘².N-¬)ýÿÅwêS‡ JŽ 6ŸÑ×^˜óÝû 7ƆeSß|Þä|œ7’žâEÏ ¡·¦¹#ðvw»ö[Tlœìâi•rýüŸŸû¢9jànãhŽ<α¡s-¼ ué=wØS}²CÞŠp¢N=íF›s­Ñ˜cY²QužÖ ¶…ߊhÊM,I[Ĥg¨Œ¸)܃t1Ù X-&83ˆ¥n~æ¹·%þ%νûÿ~‹·ßËí=tSÿ‹ºæ¾¬üh §-ÝaÍ;Jãêx¿ûㆠieÓ߯y)ɸ¿?íRRjÒ#ÿ1lø{ú÷…kœŽß¿¯M¹îïcsï—xáOýÎV}dšwióö¼FΙúéô'çÁ¬© oâ?Wêh«CþÿGv9NƒG€&ª­Åéwá;L9øØƒ90 è&\xå¹oØÁ‹ƒ‰¦Eᄉ>æÚÚäBOÀÒvcÜ<9Ç;Ÿü=ý‹òî?©ï÷R¥PvpÎM d<÷õæïÿ`Ÿêþª£¿Âvamö gÃÆbž›‹+û3´Û˜ ›10ŒaWòƒ¾…MH@;}å3û,Š6ýõ-Ι¦jð7–v亴$ âiQŸ}qÿ‚ò|â:û·žŸá9L„ÃÕsÎXCã'»®‡Ô%@þ+ÏÉ´g†vFrÔõ`'Ñ‹‹%ø^ÖúŽ9wí6Ö'‰— ¯±Š/ÊDñu,ûa|㊛1o„ïç¼õAÿ¸ ¯ëÜp÷™þz¼gâ-Èsf¹á1ËÀo^³øÂsÖ@ÿ+ñž Ö$~"ûYíÐÖ¼<þ~¯ð6þTFD‰ú×x ˆþÅè°Â„É„ð9COª´þû—BŒÛDÌí3Î¥pÕI"¢-"2|õ2³šŒ{üþÀMíŠ07õÒ3nWDûs„»ÆóŸ‡¶ç5‰€RÔÑmN¸bÂCzßL¹ñ¨üþ˜7ÄÛ©ãs Þ`<ÎOu˜ýF Ã †©¶aÛÅÈ-@´gn®"B*ÏÇ÷“ NDµÌÐñÜz?ß'Ž1Ê„ZthUoÁ><¯…¶ŽqSŒˆûEŠðh`àÆ!ÁD“:j k¢ÝþºµYd5vx*袉 nËý@\·:È}ÞW¯4€ˆ7M–þhnÂúÈ„ß F:0áŠ]dēѯ ãèHTœ…¢‡ñûß?ÚìŒßID›Üþ!û"‰ónB¸¹Ù-Ïóz:ÿˆì¥2Mƨ¾Ï‰ä‘Šr@¤fî€æöìT†X/…· ;òç‚“|ÞóüsBGç ~$ÂMÑ6íÿÿEý¹ÿg #ùÿ&⃠ä.©¢瘝+2µÎ‰×~ÔñoR‘ææ±›á¨˜ð‘ψÑß¹\Ðá#hRu>ZO5ü?Î{ûéþ¼Iá¬kÓO¬lÿ‡¢2b“Ï ÿïøþǶ¸yð(ó5v4Õ¡$ƒëˆñÎMV9A¿ñó–°íN»#æ—B??ÿ ùM(dDG&músœÿžÄ“mëb\DGhÅyypÞQ±[ ÈM zŸðÿ“HSå„ëfÇÏwBAh(#î@¬‡&ʺ]¹/fÀ®b\Æ[1ø~?2a숄wÔ\–5üOÙ`,rñ2oŸHí@,bÙwL´.Ù˜hEþYBÒ턜þ}ü¾Pàp»~†áKƃ1ÿ„£|˜ÐXÜd¨ÿ£¿ç¾u4oŠBLìÎØÆhe"Ÿ8ÿjt2Ü#_g‡F™Šü%/‘u|âmÁýôOœonÚrÛý•;ã~€QóEåúsÿÏ|°NúnÚLmiKƃÿíÑžB˜x?ʃû¸ö›0ýŒÂ¨¾ÅÁÐálðïRí¹¥ŠCØÄZÝú|ÑBLûêu|?VÆÄv@ë§:œ†|±RÛÛ3ä?©…Néc‹û}š´ÔÉÈhz?üþ‘¢ß¢¿Éz¿ÿ# ÓV+:îKä[5å‡Ìo °2¨¸Ðj´^c‚xÓÿÏóÕjŒæ·Á 9·CÁŽ›2ÃöoÅÿéó˜#‚Šg˜ˆ!ÂÁͳ7…úŒ GŒÓ®ï‹‘ºXhSqNèPQó3ÎpíläÏn»9œ˜ »„ÿ_[þþ›ŸGk6ü}á÷cbŠ ´øýˆKÎïHáƒõ…€TØ5žç¾€ôÙå_V¹ž_‡bU(Æåþ$Æ ícbþoÚíÀ‰×/~îÿýùC±þÑV‡¿WÕ¿FÆW‘ Ä*ãEa¾¯|Èó')–7lBoê,~äü3ÿ™dX+ÿQ}µ_•_2Ÿ/‰7Ü&örÓ|×÷©(Ý®óÏ …L¸RzÇóÿÈ? T Ïÿ§òÿB<è®x3' <‘þÓÄhìØü¹Åhín”ësøOœ×¢ú·jóxÆ[æCEû ;¼©èMFo*œqÂf'£eÀ?)žÇ÷í3öqþ7C6êSLlÕ³œ@6Õ» ì!Æ—ãmBX/>Áz×Àˆ©ºز4*ò¥O0|Ù)Ø“fâ“MŠ}¥ß:ÜGا¥ŒÄGBÑæÆàõßG…jLÎ"߇&l,òÅ1˜ÿPqÂw5IF]*Xž7ò*Üûó•¢–û¯ÁE@þû7Þ'núû3þ§ÉŸçV·J…éÜÁü37 ³#­ü³=(^’aÔ® ?ÃyÏ ËE„/þþŸæ? +›øOÅ„ö BŒŸï dÝÌ÷£#A•jRNäûÏO¼Ï1ïñƒTÿ‚àðÿ?0ÁW^ƒ±XÅh4ár“üÄy6}Îïç„·abpªCxkùÐ&í:@—ØÜdŽ%JÞ!C«6܆‚hÅDæÒÄpƒzq¥¡ÿ|!“(òÿ:ÐÚÓÄ}ø}ãSþ‡Î*…­ a· ?œç™øü‰e|æ½Î7Ks¢õ[ögȨÿLþoè…þKÔ»¨8‘q°!`ÈFÿB´qþÿg=ÀøQ…oWÅN´}Há€xüdçàÍÚÍ3¡ØÝ—üwWçxœl*vÄ÷ÑùO¿ à~˜Qx f×ÂD .Møñþ…hb.8þïš ˆ(ú-MŠrÄóŠÚg¿ò×è¸ßû óÂÀXlbÚ™&4Šö¥RÑoŠ)G…­¦-zÌG9aÌx2ô}“:©ÀN†ðgο…¢Ä þù?ìªþñ Uõ ˜ÿ-ú~þÙ”ÿÇÄ·Æ}¨xߟyþTà;þ÷bÂÏ`=ßæ#ÖM Ò-[ Ò…õÖ-'ºÉÎ)ÀŸ¿ðŸ?÷ÿ‡¤¢ÀÿoþºËŸWP’ý}0c¸…4l°1Ð/®á_ƒÊ1ùó ü;(P8µwƒÒú™ú2PÄÂùŸ°Ožç‡þú¾–õ­=lílš°lbä-Nìlžõ?5áwàš&mC=ÜÅhoÉD*OÏ¿=ÚßÏ Ë W1Ü·~~¦þ³ kíÙƒee=…~#ðãº5á´ä:13ù*˜¸œš0{Ä3‚áß¾Ž_?þÌ'¡0tó×çÿ>áñ0ÑqM|~Ÿý÷ªó¨P:h·Ûèô¿Žòyö¹aIü2†Žðÿ‡zK Û âK|øP>oò)?½êWü>ÿ¹t Ä/©ÀÖ'72Háu6M ÙŠeè7Ρzìèç7'À1á:¯6týÐÿŸ† $ÂŽa"ŒñÖNU|rÔÃÜ…évÅçðÿ§ªÿÆ×Á„86€Áóòo<ÿýéüs’ óû£øiðï%ý;ôýûÀï›Þß͉›ú‰øçÝÔŸEþS‘¯MìUú‹ÌÿëWC3ü1^tä¯cÓæÄ÷ÐÄSL¸Î¯6TüËÏœÇç¿ÓŸÓÿ<ìÞs)ÀVå«÷§äóç•â¡>øXþ¹³~ºM· /(ð7É·zð7—ýøý ¼$Þ/âƒuÚû\iɨm|þŒŸ;7vâyoÿöÀ/¤bv±ö~SÌÇÏ·‡ Ÿ†ëùÔóoòïãèù¯;~™xfÑùx¾Gù ãñÖ}9¬ô>ò%N€cwq?b þiýË||ÿ\zžóA!n¡þü|¹¢‰í‚zÁ¤ð­ šÌéxþT #Þ´?Äÿ9M|ÁYäÿ‘OÆßëþœõêHÿOðþLô/üûü“E_Ñ_²#ÚŸR˜Úˆ±;û/ì—1°©¸Û¤¨8Æï)à—h"yXæ³Â‡6úÁ¹‰|”ùL~ …•8ÿä7g>CÅùæ›#ó}nŒL¼óÜê‹~H¾Ý//ŸÙðp´!À´áçPÑoó<ÈóË …ENˆ§m}_çýþØ¥p?‡~dÒ,‚,ð·ð?±øð’¢Ö~–ŠZñ!7ÈhC(ðþ͸6” ôãSq±ÂþÂ7'PSỪ߻„÷ïñˆn<ÿœa}–Â?÷?ñÏäÿäF‰ñ?ñülêü£Ûâ«Q½?Åߪú‹õ@ú{ñ¥3þŽÔLõÙgø‡~4 ^ÿGÿ‘üÛøÿ~Âÿ©p/õŒÿ×ó„ÿc"ä3NjØp´¥ÿA=¶´Á¤¢¹Œý°R§Žç`rµo^|ÑZÿsƒ§ÛüRô+ÜçùÜùoäãü”ÿ¬÷!>œ&¥žùÏœ˜âórBÿ‹ Eÿþ EæŸ˜Çø¿É{·dYrGô¿F‘CÐû1§ÚóÿíE ËWVTUdªíÚµþ;²ˆ¹\N‘ ÈQØóÖÑÿTåK\£ŸØú¯÷%ñ^™ç¼Á-‡mâýpXêû5ÇrÖS1uN {<â”úókø[opؘ"ckóŸÉý-¶˜€ZÇþž¿ûÓowüŸŠ7ZóþÝêTÔTX/Àÿ›z1iØû'þê·ùÿ§sâµ'Åïà–uÞÇ5øU_Àmz^÷u(\î¢üê¸OÆù#·ZF¿}Äùï¾Nâóx}[øzaÔ_çÿ:ÿû}þKœöëïô;^³âOG? ‹ÏCEîˆGU|¡'Þw=?®óySQ.+~MÞÉrW¿ÃÙÿý†ÿ;þpôs{ô‹ú¯þ/ú[ NSŠº¹iÔ6¾ãl·&0“ø:%øÏéÿuþÿáüË%þæ' èþÇ×üä¼Ù¥V¿Áyˆÿ‰ùNˆ7ÇZßÇ}Ñá@94?æ…Nm×úïä[…Â}Aþ)üLŽI‡Cá†bq8n$äûëUo· ÿiʧ¨U¯ô¿&ð²®ó?7âûP?w£¿È÷Õòû <ùÌä<^yu3´¦øC‰ ±r˜¡CÐ¥ú+á>,p¨p~ÏÿÿÄÿ×}@|ùäÿ+ÿÿÿVþß @¶—ú¿¸/«âÿBþ3#ÞsÞ.ð7Ü×ã^‡ÏÕÏ)âE¿çŽÃðHÁOKä¿5ìÏRýJG†"<‡ýú¦y— 0¿Qõý>£òHjùïk^؟׼¤¼bñù`þ³°ÿIx&çräû¨šî9rˆ/W^øQ’ãO(^vÌÛÌ+ówyOë0Οgžq>ü¶LÌÆ|¨¢^ÈZ7(ª'ô‡7ðž¡y˜ú {Žâ÷?Ôßï¿8å0ÏþbÕþ;Þ3ÁŸ´uÊRÂa>Ï¡ßpð=…÷°@¾Äù¢“ïiНSøiöÆ «ÔÝQ|¢}‘Ãù^LþÃÄý¬yß¶å¨bþøCŽù:Οª?Ö^Ší]øÝ%üósÿ+âùÿ®ÿ5/bÿK|7õ¿Ê_ïþׇ¥.~U’ÃõL’òËÿJõ•Ñ4o7…œüâ߯¼v—Ã@^>úo÷?'Ÿ?öùw¸J^ØÙÚºZáx•|ÐÁñ˪uÆüüà÷+çgð÷üýM‡¸Ç«q«ÿئæ'¦ôè?ozà9Ð;ºØ?›šwÌtXÕß7ðokħC¹ñßï¿ë ¸\óý÷|ÒÖpHM¬¹"hç~¶ék>XÑ/9ðlŠupàHί³5'“çë¦pWîàÏEóàŸôŒ|sßIú<ËÑŠÇ-Ñ/.ê·P?(k~)1_Òz0þ߈?˜S¬Ë°ÿüÇvar[zwhC¾~›év ¦ðõÂ×íálpÑ×¶¸'Ì=i.¿ýŠt/Ñ[“×:ùí_žüþéäC{:˜ÿ‰Ê6W¼•’C6vrùfëµ ¥»~düžÏϽDðÏñ0|DÛN6¼'“GÖ†<,×â¥7Ð̇LÏ–‰üP :vÊÙyd%… qò+&óZLšòÓŸ›Öoz#Þ¨|-r²c“ëˆüPzdÂÛÚ¼6'1rr¥ Ÿ„\\Ûy ÈNð~6å«Å›Àµ¿©okˬÆÇÿ÷7ïF&OæCW&¿ÔIÙ//7zuŽÇÛ¤ŸÞ2hY°“Ïʘ^bòBìÈ´>TŽßî¿+Ã4Ø-¾ÿÎŒmy#>øM¹|÷¯@{ºiM­Ò¶uÓâûðÚNÎä³ß‡·Xrfw+ùóÈpÝÊü³´—ú‚I­$äa±rÕ~:Ò™„T½I•;Ë¡<#o×íÄR݉‘ãn{êSn.„Ò-òO® 6],s¶ qZä÷*û¹…zÿö† úZ·\ ;N¶÷¸Ž™»öôXèºú¯“¯”®1ñ¦4rTôdÒ<1¸èá|påý>òÿäè-pæýM°“]©ÜlkæŒ¢Žœ¨YŽa7GÚü~‚ÊîÐÃòß— ŸÝ4ó©ÊiŠ"?1·è¹Pµ,»2‰Ñå/ÄÓs|8“„Qäò`¦70ŸŸœª%‡Þ0óe‘&12ÐuÒÖ)\±MÇj¶¾î¾†š+T.›m30pèöVÀg>m=îÔ\C=®žˆ¹ej8È5‰5o×ûШ!3ïÔ¨¦F ­ˆT3•±fdºÃ9q¹hƒ¶‹0‡bki d' ¸ÔzÎqnÑ“S#;?ÿùi!üûŸãÔ4­¬ÞÁ|/]M@x8äš±ÎùÒÌV‘†'9q3“³˜Ôƒg<«ÊT‰Y\ÁÜ ƒ´L±lqÞÜî«•%•W4¶Nå9Ï­ r:§s¶Úã"VÈùpŒ3aïû•Ÿÿrþ©Á*Œ¡öïÎ?1éKçß5blÔ5¹æ*Rt;Ÿè1ã÷÷ç{ÛØ¥Ô×?ûZÿFû>f4²c†ö{^9ÌÛï’ægEP•šk/MΙ alŒÿ}¿×M÷359¶Î{OgÍ[ÕƒLWz^Ó5,þ¡™ßêñ~+þÛý›È¹µxŸßÛ¯û@®Â¦‚Ÿ4#£ßOrÝöæ¥ÿýÌa$íw“æ]Èi‹ýÍê9Ž—¦ÞæX’«IéGæ?‚C”ÂeìÐÐú×û_<óxìšà({¼öóŒ™uç‹ç·2Þ®[Ç}€ÏÝÅÁï ¿‹oø}Ò¹öûããÌÂ?ˆÿÄpÚ;þUVí5ã²äBV¤žNÌ'GÏ%•{6M®‡36õŽæª÷¬*â=òŸ¶Î¡êÝ=^ã~…;‰Åû"Wí„øÏ™v·Óôû@=²1}]ÕŸ_r[è©8 óçÙß"—à-×Î(ÌU™5ÎÌ+?Ýà$†Ëêâý«5{Äwî_pl4Úþ`f:á|‹sµ˜ïdæ7žѵÔ×Û×ù‹Sj ß‘?¥èÉô'¿º¼epÒ8ó;Õƒ)Â8©‰¶Ì‡†Þ‡Ê=ͤRãjÉÕY|¿¡Vî¸zr3¡aèšuŽì$G~ˆá/!?Dr¼‡ç¸ë”Þ=Óœ wù쪿4¯õ¼&8㇫üDO¶Kóç?ö›HQ¸Ró“=°)NJ‘ë¡4ã¤IP±Î·êßÙ½þƒõ¯#?týv$sùz ÙéÀø“z*.4EÈgb}˜?\IJOËŸrÇûüï÷È%¦Js¯Bäk¿¨‰Õu~y£ÇÒšf’B“CùT¼?¸ß©É·äbs¥ç²Й ÊÉò¦šDí­¸š`d,6$2²[{pÚîhíK‚ü&×ñ³ôñSµˆ Üèö¶)Ì>3ÄÄbº±ç§;;'¿gùË˯¶u±A‡ž #Óô$?¿¢6ãÝ'ú#Mu»€Ì³t™6?¹ã¯Wwk”÷š‘%«»°Ü†_”ѸÄ6oÈ<+Õ®Z—»Â–:ää4—ÔÊ'ÕÅ6×ô;ìú>Õh¨ÆÑ¤þÖµÿR§¹yÚþ%¨ŽÂn¯Gnúq¦ÜéÇÙÙÝ'‰™¿­'Ôã/ìëù¸ÝLBæg˜³³Ý~ÿÆþ/²É÷_êóR›ÉdS y ;qé&æþò&èðõ u”ÓšÞDŠîܼâ ƒoèyU ì_=aü ÝÚ¸I=’Od2ìÎÛ÷káÚ3[ú=ûß2q‹íÙ†| ›| 7¦qYÙR½gŠ-KdAHËÃþ‡Œ¼OgOE~L_W©?²«¯D~WÙv[* ŸÛq[úißÎ^”Šdp²› é&XX{+[?F&êžhv\pÆ–tJ¿ü‰¾.…;ßOž¬t¤›ªëÒ íõ‹Ç“ô¤¤Txòç|0‰ò¬o(Uÿ ÒtœÔ¤“q’×Þí¥Nš­Ç8×NÈj0ÀÅÚ0ÕBŸ\Õÿ{wxnâ}dÔ,á–Å#OÒÝÂ07žOWwk³¬ï7Ô\CÝöšŒ!j†vGç':UmèdÚÚy8Š¥C§6£FÌe àÜ·­Ý·¢²›X k5ˆåŒPç:Ó×d¤[sŽC:zÈ|0@à9£ºçœ›ˆý¦ŽLu#Ãñ³)²wñtçÄ›®å¹IþýùwB©Ï4ù[õóÛ+#¿ww·"½ßLvÞGtÓñ>°'æ„é¹,®ùkt‹Îÿ­š—Îï©0çç\ܳÒÇ(ë& .\åÚ#ÿ¯°ëû]5oFÝÃñ˜Ã·'w™·#M߯$~õwŽ¿”VÖ"–JôŠ=–n¯S¼ù[±´œçg¹o)´=Y}Í@ƒ€Ãm¹ g¼EÚˆÔªÏÒ6Ì\ßÉyü¿×JVä‡[vÉzP‘•ÆŸÜä%¹"ò/Õõ•ó;àl¿×µ^Õî“ßB‹¡3òÐÝ¼Š§C-€.oºÆ×à>S1rR<¿¡><ÝÏçkö½~º¹¾Üÿ‰H¿;"g†H‰{±øaŸNõ´µózò„—é&Nëë‰Ï¿o³©›Zjö{ ^a¸9¦7ÌKæƒ6Ô÷ûßê™ùTi-Õ˜ÝB_«C¸ѬÑÑ·×…pýÞ4›×¹*gõ®x+Œíicé8ÿ¦µñóQ}ú„ŽÓ×"/Ùé ˆZÖ³¶Ù‰²Ôwô†‡î}ÞáÚ¶FŸl€¡[öãJüa¼ÚÙ€1ÐÛ-ú"œMp´“³tZóy åø|_Š0j›d¡oñiÝÐ6É«À;¡ÂÛ"¯ŠÙ9¾_yÁP¾S !¯Y#ò¬2ò}Ÿ½óó¿|ˆÜfñþ,d>ïs^È|:û7úìÞR‘ùTö5[DoŠ.3ÑÌ t<¿¤L©¢O¼‚§B C®ç; ã¸pþ—{ÔÊÙ.iÕpdžöÀÏ:wå}ÝZ8;dkc¤—­YÒí³F5á}¶ß³:¬ÒmÜ´ÖúDßc ™L+šíåùFüòºkÊt y‚áí‹Ù]f–S3ωû$â×RÍ›®0ü§÷°êæ6¡E²éí“!Z^wFbñÞ*…M­ÿÃ×ÎCÉà9غ)þ›öÏnÀ¼ü¾Áçw¼]FÒì(ãÿÞ‰´%Y¹.ymæ—– µBë„ÚíñÖ™XwiQúàþmü_~?÷nþãñÚ¼X 1œ3ž‹'k•X‘×ì³&ÏÖMí}À,6Lªü}Qü·nÿ;³ÕÅ3is5ˆ„Û:‰çiùK¯êfy tiÏ4µ±õT¼±çÑCËÐEËJ/ÒÀ}n#Ü7x&ß µŽs[MÚŒ÷ ÚVÔ°xO/$ä7˜ûòYêÄïÌ^£»øshw™XôÒ®—´•¤uÑ5Û¾Xy-aö–>çliœÿ¢ï³gÀï‡÷àVåÅÙ÷v…ç¹|H×Ï·kk/Œvþ·âùÆûA-1GÐŽüÇg‘mYêŸïÛ,ja¥iñ¿#ŸÊÒ–1­½B ñÏ$z. ùaUÏ„Z0âQáྼÔµTÃÛ”÷Gt·ðùRw˜ùÔ‡né·<7?mÄšáû+éþ¨Êÿ'îƒKl«%-ÃñûŸ^•¢ ê,íŠû€ñD¼ÎYLåKâ•Güáó»rþ—{yZ}…ó¿?¬ÞÒý;Q/UÕ_æS¶â¿÷üž|ÓöáóÍý~?OxG–ý©~ù~ÿ&D×dÏ=¡> Þ2Ù@¡ÝÌzj„÷)熴ÿ û_‚WˆÏ«ØZäí¶;sFð.ª.¹õÚØ?ñ¤Vò”'´ÌkÑÚµôíyíJ¨o ÷ßî‡JŽƒ=OËj–öžkñØïÝÁŸµÅ6¼¹->wxwaâwC¼=*Îÿ&¾6¨e»‰É»%¼í¦–âÿ:ðÒÿ¡T¥mS‹ÿÈ/›ÌY¼Æœ]÷b¯ë„u+ü¾Å«ª9Æç³©ý Q#[ç[ùO£ÖuÓùÇ\V×\ÑBü©Êw6µ#Q»_ñ¿-Wă¦×{™ïó_ot¾87äùbeþcs¡Ÿó™…ü¼ÿé^ŸŽwNå?ñ?+ÿA=Ñ4—ÚÏzùÁ?/Íù6ÄçÉó/|~>ø?ç¦ðæŒü}‡¢ñ Õ»óôú’ö›¼NÊÎÆ·õ/˜ÛjVÿB»yS;/£'føØšËE– ¿ÉÂ3-mÎ![½k÷ë.ˆ÷ö÷F“€åÖþyÂûþï÷?êSÎÙ±Þ ü`bÿ#þ“Ÿ;êŸ «˜o÷2Jhîù€Èöõžy܇ ø•ÇçŒó*/æ?œ#}ò×ýø?¼Œ¢3|õæ¼VV=ü¿ú>þ$*0 å?¼oÅ¡[(jï¯÷¹<­Á4Çó!Ý¿õpÖýK­î+Þ:ÌÍ Ioà?kÌI¬/„è háòýÍ‹Z†ÔÒ³ïghsÿ¯è0¶÷GxÐÎá‡ÊÛX˜s©˜ûjâò¨Ÿr¾ÍêÕBoñé÷?-Ø17gõRiòA|*dvø^=×-¾¯9mÇ#B{Ò™!þß»ÓY˜ƒ^ôö’—Ëz´U½};ãwCý:¤­Ú‚¹Bü¿<õ­{½S Qñ‡ºW´ ó„6öÚðfʘK´ø Nçôçoñ{¢ë©ÝÄû—OlÎ¥Ùß7ôšúöûfq‡uC?9#ݸ;uN–úïõÄת´³C«yî¿<ûÁê—Q»¶‹™Õp4õkøù5oÛÏZÁ¹uü­ú:iNÚð²Z¤µ~d¥7‹­ òÿ®¹Ó‚ü~k®ÚóÏöèx?ì–ÎI«R@ó§Q‘Jõm롬ü±3¾kÍ~Jp>Ù?NšàtÀ÷Ý vÜø?àM‘pÿz<‡wTàûÞEÈo&¼§8—oŸ[½Û¥ˆµÀ‘–·…ÝÚ”Cý€}xó\Ñ6§wQóøBèb¨Ÿ:ÌoÂ+õBKÿåû^µÁŒ“NÄo)ªÜâTÞâŽ/“óîçµx<§î ÎÿO¼ßêmàÏ¡+“Á§(¯å}lï›ßí“6þ·ç‡×Ç ¶-™³=´å9çÞ-åÁÏBë¿©ÿU4׸4—MþUx‹iwEÛÜίݗ»ÿ±ók÷㦷•çëø¼ªåõB{ø vÿîF¸å÷›Ý˜.ÂÐ#ë ¬ ŸÛ·f^zï4+œÿrÌA‡NRQþNÎx~¼V~Šï/ħÐYbÿ%t8äÕ|¥ÿ5áÅ^Ø?õû`½Ïo;ûW³›â?€¯RæS/ï ¯ŸÉõ~×·f.èu–g.^Ó¥Š/êÿ>øg“®÷»(?ªéÀ¯{G¾¯~NÂ÷î0Ïׂ×\"óvMxÒ›ÔÖƒÚðCkxS€ù¼&â=g{í}ðRØëÔmb;ÿô&¼3g ÓIâ—ó¿JǪÈû+õ ðêP0Ô} øŸñ{]ïû“Cñˆ^lwtÆVVÐù«V¯ª?¨z¶ Þ›Îñúù îß2Éo›ðn/]x¼—KS½ìxAAýþ‹ðàíß§t{’Î3urè0±¿®üŸÚµI|”I­yõãÇM…Iž×]Q?Úùœ\ ¿a¾¿T¿æ}ð{¼wÔ·ðÆØqþÝÃùEåÈ6ó?éVÇFà ÀÏF’WiV=ÕÏzöá;àyŒ¬|:@£Ÿ“n֨®ÌùùÞ~ÝŽr¦¯·ðãÓb”ç½fô‹å­@ütê}XÈoˆBg£ðÿ¯3êß;÷/½©»&_bFîñ¢8û‹®LEOä¯Iñ‰ý™"þ\ÂýÄWÙý¹ßoð?;ø=îmaùy†×`mÌ×òû¬|?Á+¡+¿ÙðRƒßoà‡B‡cy[rÓÍÚÇ=þ³ó9¼ Â+6‹/8Þº3Çù_\7œ÷¦ø¤ýÖ—×lUÿ _Éÿ—÷㜯P…ßoêß&âýÑÄ÷«ø? xQ¼_àKÃKp‘?!o‘åÀ˜­Ó-o‹Jï-y;&à;+¼HémÚü¬Ã«‹õ°ê ÝÃðYè'ô¨€7Ýá_M¨Ò‚FoßåÞgyûÛ(_îüÛvxU>”°–®¿_¥{hù¦øßî™ý¿7îä?q~Ì/?ÚK¡9Îïãu‡~o ï)Ä{ö ¦¼jÃëHïÛóï^»ð.r…m÷â…7fo zu…·×éý~xýV}ÂëB^9=ù¦{ Ãëâÿ¡gÔ»Yñ§H»¨Þ¥‚9ó¡!/Íkæ?Âßñ¤Ðõ|ÝßñŸj4ü÷¯ÿvÿËsþ“_Duúyþ9ÿ‰^ެ¯KêP+(!þÌù¬íþ˜çþoý­¹yþ“Y¦û“z& q'þX…“t•øƒæÁ„ÈÛ4¼Þy¾õ| u›éê_…ódþ€xvÅ[ÄÏãÄy×ù—Wœgàguþ:ïáí5oYÿ>¼{ëàyOð²^ZOÔ{ú×ßæŸU“¥ÐTãÄF‰y»ÁüÒâ¹µ};דÑr¾…üz OR~úÑ›ò{þ§í§ýûªt>Ï«ð«_åèàý—ìûWßÝ‹*IǰÀ>©_“áí«ù‹™ôy½Ò‘Nê‚P—÷—Uõ¿ÊzðâÐ%kÒÍòŽ MênwÍç%Ôw[kéRÞ¨ý<†—/ãò÷¡‡W/¼}Ó<Ï{A}Þûý¾$y»ûûtÜ{=ïÇÃí|ÿº¨ùà|þ*¼¾ã¼ ñ¤`¬k‹ï=KM êA=?ýŠÏwðq±þàÍýåùOè'‚ýÇ×ÞîÀ’ÿ{Ì«q+ÞÛùüê†×c¼ä$¿Æâ}ëðŠÄïyâì^’wúïøÃ ·x£îó:ùR¡ñCÇ–ª~ïþ¥+Iþ„¼¦ä3™Yâ Ç—+ü+÷²fÿ\ÞÖ¥?xšyu5z=žwÎçe­¼Á ~Í÷û³·ò+œÿ…õ%oÁ-Í™¾8Á~í¾P¨k+GN¾õ÷Ë[v©¿ÂþÌF¿¬ë¾`¿ç’æÒd9ºaí>é´¹Q½LÏ¢MÂÿqÓŪëàlÝÄ(ûH­6 °\3_†‰ÚÈH¤&xBãî@^ƒ§?ÈûYM)TÞ»Úg9¹hMs §£VÐÖÜWBÝŹ£ç6ïôgLìe­ï»w©bûÞý1ø%c]}9óké) ;öö½â© î{‡æRºUo-¨¹¥N¼³`Ÿ›ê#iüߤfÏоçŸj‡á­¶_vÕ[äO÷;õîFûÏÒ÷ò‚|›ªÙíÉY…ÚÍϲ¡öJø·ï¦TÒKÝ —ÇN&›ý2LÆ=qX[Ÿ~È“¿¿ggSäÏÃ{.ϳž=Gݤ>äxå=ôÜl<ß ¬sHS¨政<ïÞæ¬p¦ý9ï Y#%4fÓ%àAyrÆŽ7ÙÃrd Þ¬Èö €ùkŸðÁo÷}á~ÍÄ÷•_fÝ—ä·E}^â+ú…Tÿ ~Ö=ømà—ñ­Ä÷¿Ñß,&þùÓÛì¶ô#<½Ê~6ºã®ÜÀj¦ç¼.Ç/7„Æø^±ôÿãÏErɳхƒÍ jvòšéqÜÅ£­èc…vqâþ ÄBѪ¸Žå9X'ÍÕñ¹~Päúzß'h"N+™S¡ôÝ›Œ›šqÀ3¢¿sræ€äÀF u<¤†}÷ÀB³]$\Þég-Ì;/ˆ 9ÿ ñ}c=µƒ?K‡Àˆ÷¨O»úYœOÝ1¿ŽøÏþÀ–/ÒDZ/ã;¬ìÓÉí°†-ýTnj¸l{Ó½b„Ë— KOå·—Tv7 ú»ÁCm$Ún÷°å<¾ûÀºáä1å7K<ÂDÞ‡îÑD…¶P«GÞßò•¥üeÇYâ•sÎ}ãó}Þ!™פ?¶PÍpÔ~ :.—9Á™%§eNØùò©L§¾»‚ÆÂ»²1pí¬ÙP´KüñŸ<‰ù ùû[>#ø—/–Žx/õe\aþ¹òN*…5å3ëŇØê×ß™_™ÐÏ€Àøƒ}‹Ï>WÖèÐ꥟Q䵄÷WÕMùçðÌ|©•ýàÒ[Ú|BPÿO:ZÚÚÒ”™Ù/OИóˆÉßÇ:©`k~üª´áõÎrª¤5tj°^ÑÏ@^¿äH½©¡óL>çŒþ9}ÕB÷qÌ7R“6IoL|)R_æÿâœôÃ=O³ó;®÷ÔùÇûtÞK~⇯Ñÿ*Cç¿áæ7ûĺ ÏäçÎÏ÷øù›œàÒ À}@¨)¬xÂúvüòjŸªÃ8¿_÷qïBx¯`ÌôŽ~’ñoúÐüP?!‰?5øãü¨ŒþJãz?¡—ÁûUó¢ó*À7Óþ~K?ÞßÞv-!~¬àϲ_«~¸”nÿÙŸÊâVò•Å÷—žÆK£Ý™_©¹a¿–ÿ9ÿ¹+µ_ˆ÷pKèCëê•üc[WòM×|’µ¸ÞÈ•6ðþ‰ûf]Š?0Ô#ŸñŸ÷Á =˜×¼ÖŸÑW?÷à“Œp¿@üŸx¾Kú1ýÐ#û÷ñßû ŽÇÃ'ª9Î8©ßä¾QkøÆTðý ||Ù쉇­¡§—á†1?ÆÏoÏE>©þa/ÒÌnâ§“ÏÖ¶|ΆÖë_“óê+«©)üê‘ݘ_ñþ²u÷Ù³xÝŸ—òŸ±Õß"^߀×+jèWùýæý«tàû¥àþàü r1½ƒ#œÇEœ¡ì×T}ZTWMÝŸä뇞ŸOôω#G¿ý˜ùRržŸúÿ_ò×¦ã©Æ§LÎ_›®©îóZÐ_C|ÙŒï6¯UÀß,Uëþ&æ»àȾë£×i@Fðù§ó‘|}M¿>]ô)¥Rv>ø ŒŠÿƒz…Z“ÿ™ü’pp§p£|ëÃüÇ÷õõ’ 0‘–þô¿oÜŸy•¾rWÝùhóñUNÔ¯’òÆ|ã~R:ølWøûä÷5òÉ—ÊÁÇþïЋ9ù²Ò þr;||(øå¸tºƒ÷ß²#Ÿñù Ÿ¯JO}åó(멟|ÞH\_?£~+Á÷T‘5ß²p?c¾‘óî½ÝòI.ÐÏ~*„ï^>ßõWðùôvÄ'Ì£o½|~IJò…ý^=ò§îÌoýìÇXâ##ÿœä#+ÿtýBâ…Μ§¾á„žÃ¤>á =ˆÐŸáû”5Ï^1Ïu  ¯bzò駆#ô•VèP~I}™Àó ÝÖ~áùáHŸÍüÇoÏÿðyðóÉßçZóXúpZ.ôyÌwa^.âÿrƒ[çï‹ÿ¿¡‘5¿ÂùÝnoßæŸ¡wù¹‘ÁÿëÒûJš? <íÍWþÅg¶F'ßà úpš‡¿~òÙþòüç Ùüí”~§ÅšŽxÎù\éçUè!MÍ£S?ié¾hÐcjÒÿ\˜ç­…këÐ×[ü‘ރϤø_ó‰w6ùL?xÄ¡ÿóuUóÖÁ~ù¶Ì†ôöúùÝ"<8C¿¤€ÿÑ4¯UՈἠ8 Àëþ3æÕ/týg¬›ôNˆïué_Hƒ¿O}Ù)þ>ñΤþ ÷3ôô®‚Oëü“$¼zÄýŒç3¥÷ =Ÿ>Å/ùà¼ñ}ü_Лuü6ô;7êoá…N,®ß}“)>¹ôÜÿ7ôM²ôÂR>æW†žÉü4ù=þðø¨ OÒ}Ëù®¨Ÿð¶®ûµxrè‰G_cáK¨×¨o˜üíó—3œæÌ7>±«"ßÒïñÄÎôöydÌw Íwáùmþû]%û÷©÷Ó¡ïÏvcÌï®OøÉ÷ùCþߤßP©/.ý#éͪ˜õÿ°˜~Ï»+_¥"?Oˆ?—æGíüúüŠÃ’=Ú*}<Ø”¦ù‰½ç¡ó¾aáy*ì~z'®ßI=ï×@¿ä0Ü/‡ô 9¦ŸWN½Bè >ážžïxý)”õW½–„oÜ™ßÚEüW̯ï ~7ïǼƒO´…yPéïÛ:‘‰2ø}òm᛼¾O¾¹­Ù/»ã™¦z7Ñ-Sç=?óVç7ú]óô©þ[=ü[ï!k#™ÏïÊüÏõ»¯§æ©G‚óßqÞ1zT³aÞkH¯¤ ž>êçÆù]Í·»~çGÿ“oÏÿFþãz›ÔoXÇyæÕwèõo‹ùövâkEÎh¬·ˆG‡ŸKÒ¼À‡ùïoñŸ†|?Ë¿üü]Ð?É$“lé—LçO?zÓ…mÝå÷2ðýµ¢¾†P…>ÐGÿXÿúØÎ¢ÏºðËEþ”ò›D¼_ýÇ„|µ¾ð ¦y÷¢~ÀŽ÷÷Åüßô€ÿŒ*ýèp~"cž}h>±â|OÍóâ~~ôÍôp§ôš·ò$ý†Åõÿ ÌO[[Pý—uVÿŸoª€¿úb¦Ï¦ù²¸¶ðº„ùêõÌS0ÿù€Ÿ|ÿLðj¥~[&~,ü‡ýÂ,=†ZÄ7'„þYVý›Øïþ³ñ÷CëÄþØþï–žéTÿ%ÓÇ^<9…þø&E~‰~.Ò#ߊ|”-¾U‘…ü®äÿÆ]Kÿ3Î?üŸ õó|Þïñœ¼çÐoKx?ºô­øý,ý*ͯ«^®È·îÌo“dçúåvòó¯ú«‡•bšž±ªw7ýFĨÐ?ïQgE¿… ½ê߈?5 Cü™ëÀËfÞ<ý»ÖO¼­BOïð¡ýþL=VêÉïÐúFþ“É'lŒÿtúKÊoúxç;•õ€æ¡;çõ|دœá·ƒó?„?Óø’~ñç»üyâ;ñ(÷G(^éz„íÔoÞöäCzˆš/šYõCÖ:á÷/á÷ë¢݈xM¾NF?øÔo®þ~éùoÌ3V}ßß§¤ïƒ§ ÙIÄ£†ûãJÿ‹ƒ‘¦× ÿŠ¿é-ûEëzüÐçwOnÓkF?¸ÁG¼_Ú:ãsķƯR®ïô»ç =P?)÷o×¼ÕÞ@<¡+ÝÀšò¡ºÎûv¢~“ß‚ædöÿ4ç‡LÇ7·ðÃj~Éø±ý~×oØøÿwèÙnñO^zÿn—žü†žs¹Å¿¢_ãgý5Žþ"ññ‰'DrpžZøøÁË¥ž³ž'çëîùç0ŸœÂߨO‰ýG¾H}ȉøD}ÒðO›êÏP)ô2=&éiЦ\Ëÿé9Äà\Vð^~F ü΢û´i~=ö_ß÷ñKÿ™÷Í•üÓýlПšá߈~mÔ«~.IýÞBÿ"Ý¿Ò3ïü¾÷Ó–òý = é›<úåü'¿ÿƒùùfüoÐïþùÏò—.½þõÂkãû¸8¯¾gþ$æMAS¼ÿ'ôQ'æ_iéÌûà?ÿƒƒªv`‰W•>N?D…~5âÿÀ}½0Z[#mz­û’—œÀý|P¿–üáŸÔƒ~õšC/rQÏ9âùnÒó¡ÿ]ð· çÛïè÷?þEÒg‹òIùýÖëÿå_÷7ÿ¢©ó?Žûâð/º¥ŸA}žÿÉg>ÿèw¾ø†Mû]ÕOŸê1ž=ú¨ï‚>1§z‰ÿÿ9ôkÑÿm\£¿Õð9ñ¯_áÇXÔØðo„>ó"¿§<ý`÷o$¾ëzèЇþàÿóýùoÐÓyüKÉ ÿRêùë>à\ãÖýÛÇ»_ó7ÿRü}ž±é×s¥þ’¿"õçÜï ø&ù¶Yõí”_WÁ}¼Õ.ô¿ |³øÐØÀ“äÿ¥ó??Í»ÿIsÐÏüö3‹Ï<¨£¹Ð]û~'®÷|[ÎáMî?ýù(—ðŸþŽ÷sè_‘„‘¯ü¿‰ÿ3Á_Òó—_¯Î;ç-RÑû<)úÁ›ý…;øëÝÿ_¿ú_ãWÿ‹õ°>çüt*¿Î¿æOé‘¢ ~ËþÏðy>æ'N¿•.<“ñ|  ]ðá2êƒ$ÿÒI>„ü«'øU~vö>ÕtK¿|£_>4‘pß¾ñ?Güá|RàÓXOÅ{êû?ñóÑ\Ô)¸âß"?õ„ â³Å{ô«äÇ^q?…_{;üÛq„{‡ŸËÿ³¡_=ÏÇ/>_;ÿÿîÿ®„øß¤_¾Ñ¿íÂÛ–Ö]ýàE|?úè×âû xëå…ú¬Jßyáý*·Îÿ ŒÅþïžÇ}*?ÒÐëß1¿¥Ï;û‰ÑÿÅ÷WðãØÓ<ù^ýŽ~3õ5ö þϦÿ®ò™ ýÎ*>ÃÿsHvs~)ô;Ñ(á׋ϩ ýÈ>náÿç5‰Bý°³ÿ‹øý_îç–¿ùr)ý:ÿº‰&ù·/ÎÍßòo¤KÊÄê,þ&õË«ð‡Œü¥‡ž3ý7Ï÷B>Õåÿ^Ñÿ ~МÏûp%þ€Žüp†â{èÝÅüé¾Üõ|¨7<¤÷I?—)¿ù×…~!æÃ®èçIŸv¹Ì;õk—çç¡×ß0Å_N¨˜ùEêõ>÷ú!‰?äÂ\öûäËa~f­[øÿFþCýQŸ"DxeG<áùï¡ÜÎuè›O͵˜sçùÇ÷7æõ¨çy…ÿýý>xþ7õÉ;Ï«ü¸oÃç[úªùý^×À_b%ð':õW‚¾s¿äߨ¦â}ø—vÖ³š—ˌ窟Ò:âO˜ÇÎÚï„~×1Z_ýÉ$¾Ê¾“ÿƒuê÷OÌ·œç)?÷©õ€WM\ÓÏïÃð~Mú¹CŸµH¿ü«žoõ·âsèmP—$Çùçùž“^óÕ ýôÐwžÒ÷OâKs^€óÁË빺±?7ôËøn]þ¥üü$¼#Ÿ }`ÞKzå®ÿ?>(óŸª÷Åý^ÈŸ÷5øpððÿÔ÷ÚÿñܾÿôS“~õ€÷8ŸGÖ¼ÑÔBÝÒÏËÈ’ÎsžLR¾C?¨ÈgÂ/¤¾Æy/ñOÆ:ÞŸ¶åÿõ¡ñýùïéuþWú§çÿß<ÿ]zøCþœÄocÿ<¿ ÷óxéÄýÜ„½œß]š÷ýüUé<翇)5ÜXO¹~?øûUþ^ÒóÞÃûaÊ/ráÒÚû%ÿö>1/×áëü}ôÙ_á?þEé¼›òùªy€M=2ÍÇЯbë> ßõÿïñOžïˆ6ô‡ðOú36ñyØo\ÁKžéó.¨ªú_õ2øÔÆ£ðó_¤<ƒòÒßlÈ»òÑ!}þ%}yâC;ú‘Ô‘Tÿ8cÞ7«>(ôƒ¼£â|ÒV=ŒüñyöÁ5æÕ}~ÑÖÀײ㥭vúµg"µ5拲ã/ö}ο;±½Uå§¹àï×§üùûýÏýÀ:糆ðš†|2ð·!ÿã˜'’žØËOs>ü¡>]ô“t°îàŸÙï/Û¿^¸ÿë­ýËXOîw²ý#ŸÉŸGÅóHÜÿŸÀkûú8;°nûïç1žïº•ÿoôÓ;„»b>¥Ë?!‹_xù #ú/ˆ÷ϼ5úgEõÀ伋êúeßáÿZMäÿWTµ5üÑŸo5ÓzVöùÎZW|ÞùýaŸ­]PÖÖŽ×Ú:Ù÷©3xãüÎuÿ­÷ñäŇê/Ýs¼ß—½¾$|¨c¿Ÿ^è÷ø÷yþ‹ëWøùvþC)ˆGì•âü5;ïègeÇm ¾Ã³Æù‡Þ•í/æ' ãýš Œ!íyÜÑYºz®Ÿ ¾ôœø»dÅò?G~¯›ô®*ýzƒÿÀùVé÷g¾owôO\÷Òâãÿ¶öó½¸ÿÙù³?"þÌâÏ|ÃìÓÖ;ôMßÁ7Ì ï׿þgOìZK·üK‹âÇþI¿×˜?å:øÿâßjÍyŠÐ× +ø¢ºÍ5úc¸®ôßm¿[ñýòûËö»d_ïÉN<÷û3k¿qßníÿž¸Ÿ ¿¿ñ<«ôg&ö¿ ­‹ïÿ%ý%ú«õß9ÿ>¤ï|‘óG8¿=ø)]ø¿Oÿà?ﳘòÛ¹Óÿ˜¬þ!¶®ØOè9̦ø”µnÍãÇÈú|ùºË¯ºwÜϘwñÿ?þ¾T®™Oõ+ñ$à÷›þ¦G |8âOÂyÝšÿŒï‘ÿ‘ñ'ç$ñ©§üFÊÐó¾ÿ“ ;?m²ŸWÆš<_AüXx_Ä'ÌÞ(¶5ø Å!ö<Á¿*Ž?ÛïKq Ì~¯\ÁŸ51Õß‘¯È/müÊ÷™ÝÇùj—~Gý°‚ï†÷£ˆÍùîy¥þQ¯YZèõüNlŶýÊÒ/lÞn‰"·¾n¾F~>­‘¿BgÜÖàsY?ðçy¤uÉ?Jºãó;Þ¬zÄ›¡Ç~ԽϧèùÍ‘ÿܤ·íûÏ¿ÿ>øûVþãõQgýU îÓÆûµø<ª­¿Ÿ|§j=<¿ÿz‡¶n:ï³{|Âó*ž{¼ºÚ–Rÿ+¡Ÿ^Ô?'9æëòÿ­zjœýb¹Ä|…ão¸cþ—¾ ãFýeù[ž¿wåÿÌ÷¡w56ê±ÌþÕ̸o3êß< òyâ'öý5p?h:ž‡òÿvä«Wðgðý÷füIàÓÅ“Šyº~vˆO˜ßwÅ+ú34ù…$ø# 壛ë+ü‡ìDF‹ÿˆ?Ù›ÿ™ï/哘oÏSùï'¾øÄÆ}¬üÕîƒÈ¯ð~äŽ|èÎù§ÿñ+×ûA¾Ó4ÏXç‰ÿ䘿Ð<é¢þ§æá òQ|¿Ñÿe2þ·ùç•þ{ói™ú™.ø=<þ“ßìý ‹ÿÀ@İ5æÃxäD¾âÿ÷Tüï¾Æólž_ØúŽþëÙ_?æ‡ôKšô÷‚¿L?œ®÷ü•!<”÷CŠüõÛ =¹ö¼7ô‡ýüNò²Ùy¦ÞdÞ3„9Ðf÷ðÐìÍëgéUz¾4=ÊŒó_qÔÓûÿªmá;E> ô? =aêŸ×À¨WüÃ×}ÅxðŸt>$?ú¥ßÆ"-Wç?Œ­øœ¯'ÄÿJ}‡éDbÇw ׎ÏÉŸxuàö÷¬×ПÑã×ÿÀ'_š¿@¾^¤Ï|>Þ<ßxè þîQ/ˆªzB¾.ƒÏã’¿ˆå#Œß[øOÃþ`þ½dä+â/d×ßp!þ\e=w‡ÿÌþË€Çïû´)¿Ïˆ'À{*ú)œ'ɘ÷uç÷7þøÿŒ~Lž\gà©wü{Ÿø?ú;þ×Àsòcÿ1ò!Í' oȘýÄt΃„çQ?ͯ}ðN÷¯Žø¡~!üý~Ðû°ªÎ{B,+þøóÄ‹JÁýÍûÐâOݾw…ÿø1òÎlñß6úµ9øýûø\~×G~#ýùƒUò=5/3€?|ÀoÿþеÄð‡è§ˆû–õk¬‰?(¾ÌúÔ»Ž?à}A ¸Þ‚­ïÌßõü¦É¿šú“ÁïïèOÆü]W¿f¨?¿™Ï«ÿ•è_ÚoÞýü‚ú÷’þ¿íGC¿¼$îÿ@ü:ÏžÏK#?{áAãÉg|ÿ‘eá? Ïgiÿ'úaíÿp©ÿþ§|3»âÿ@½ó5ôdÏùz>ÌwRôk ¯UÕà<Æ¥ü+Þ'è_%;/¶àNÞ—üÍxZÑýàñ‰|*û>ñ;à?ðW‹üÕÖùÔ%þÃP=Ú¤¿:˜ß(Ÿ¡¿l¤ÓÏH󦬇ÿµõ®”ŠÍzïŽra};…ÿ½ˆ7%#^OuæÿêÔo#âóÿ¥ó5øDGþ§þ¥^³áF|Há·Àù•Ð÷ä}«ú˜úþYñžzÞS¾še?ûm÷ ?¿â3XàÏløÏÿÒ¸ÀÖПA£Èñ à9Nì6¼ýIò¶®é¯w¿xÐr|"'à餯çû׿ï߯ ü§ùcS½ü,òÕC_žùjèo ä›3ú5¨ß>äÏßžÿŒ~”—éèy~³ß ¿Ìèg©ß5‘ÿt­Ùç÷3ê³ñðÿ!~îï~ïƒoß?ˆÿáGÍøÏyÒÐ ¾#üR?ïůê?}C;ú•‹úÜòlä'^ÉÿÇDþOüÓð â;è÷b>Ûñž¥z ïŸ\çŒþð4ž~‹ó‡ î_ÿc¡ÿËùŸ+ý/ì7ð‡'ÿL‘¾|½ÕWíU'õWªâQ*þÙøë~û=ÿ÷ãþÉx¼ àeÂr_ExCîàGQUwñˉgdÞëRÿEõVþ¼¥zzìdùYþ§›ñ^ùÍÆ}QbþˆzôÂó2Ïÿþ!ê ‹÷^?ÌóØ:©Ÿ›Ð®ÿâ·âÿB|/ŠÿvÞ³æ­Ùÿ͉õ׃ÿ¸¿¾ÇŸøùeøs}æu…WJožü·¦|žñçñû¢þ›ÎÆóqþ©Ït+ÿ¯Àšú¿xþV>Ãþp~/ñÎȯ¶Èáû…ù©ô K‹zÆÿ~ÿ©Ö‰?7òõåÇÞ†ò›¤þV«OþþÂ'P?ü”6ÄÆ<¥ý‡pÿ^ñµx]É_[ÄïSñ;ðŸ!ýÚÜŸúÕñ â?ê0ÿÜê{¿ehž¾ˆO—îôø´ôïÿÀöÌ×OK‘ï3 ?Hö4߲ɟÞ@ÃúÔ¯¿“ÿÄûIÿÁâù±­Kôkç´Éóž¢^c=€ü‹/ÑQ/÷à?°?6þ:øŸýRý b‚ç^Éÿ±É¿eÉ?¶©¿%>ºøÑÌ7Kà;è³Ìù1ù4òÕ/ù•4_ÈþSÉëí–ñ·¾aþ“|ð«eñMž5ø*ú¾ðŸ4Ô_>”œ¸aëçç{üGþû=|Cò=gèÉ žT=ÎS„^V+G½¥yŒÈg›ô;îÌmàû?Û‚ùëíóƒÆ^°½žt~ôãý~c¿ë…ýÄ|ö^¸¯5¿½'ü6ý¶ÏÙúŽÿ Ýçä_©ÿ;ovñÖ:î[è§¹¾@øÉÒß1ôeØO>ñå« ¿Eÿ6ƒÿUñó ¼ÏÖ·Ì‚¨‹ñ:wrísè¡`þÊÖ˜èþâÛ÷‘ÿ[ÿnø¼#æ¿ Obówø‡=kþ¨Éÿ—|“ÐË'~лø#Ió¨|~1/Éx?Õ¯¡žÁó|öÿÝ&ôÏí|>–™¯Ûùí_ˆ—Ûy·z!wÜo¶žX£_³ðòcìï=þhÿ·Ðò¾ô`<ÍEüa<™ªo[?ò§{~$=‡þ¬÷qÿö½‡Àß"¿º¢¿š·_œ¶¿ñ‡ñ›þ“ö<üsæ ¶ß–¿gÖ뾞¾F½¼]Õþ|g3Šiþ< ´ð õI?äûóß‘rþ1ô2‚ïÉù–gq_—_z|ÁOd?l‰¯²ñüb~˜ý™;ü‡äÄ.Û/Ì¿$ÿ¾ß›÷éÀþƒ¿“*ö¿‘ßœ|^ÕÖEßwüŽó²ö{ëy¿û"þœQ¯z¾òçÁóC/¾Þ#>ŠòáAýzÅŸôš.⯷È_ñ<>ø×|ÿ}? ò‹ÿ½<û÷qø¡ßž9ãëôÄï¨ î¿¨my™ÝpÿRoêJüG<(ò?%^þ§Šÿê?J_@ù¾æåCŸñ_ßgÿ>ü{Øoû _ôýùg<^Šÿõø>G=õ¾ßÿ=ßá|¿ßxПI„Úû€~~šxò-ýmÌ›Úk ý·ýêéÑ{˜ÐO¡'F>ê_ÎÇD|ê¸_ã>hே^SÁ¼Ó•ùw‹Ç z$ÀÿÁ¯óuäóÈß#ÿ7?ÇEÿÀŒ~‡­¡! û>ÞðÉ\ÿdríú)éÿªÁ_v=úä_…¾[%^ û·!å÷½øtUÿ ¿ô†úï]Ÿ·;õoSü÷ùq?÷AVüÁy/Ê?oæ¯õV¾©ø³€_ Ÿ¿Þ~Ëÿ4ë¼Ý¿û|¶¿åŸõWþ9åŸíWþÙÞùgF>´®àÏÉ…,ÿlºY_­ˆ'ć–âOFþ™~åŸÿŒ3üøóïæ-ÿö{Ó`ýE?ÚàëKoã7Þóâ·ŸÂ÷#ðŸJýšà áù}à/}»ÿàïçøikë_åÅ~Ijx¤‡žÀÏÊäÓÛzã>…^GB?,óý´ý7~Df>gûŸñ¼?̯}ÿ¿)Äè7ÞƒÏF|"æ§©‡¢÷£oHò§5ÿ2Ïy2qÄ<ä¿ïÿz~[W†wð3‚-°õk}>ÛÖìß&àAìßÚÚñ"ùaê]Þ?k×WÌôƒÎw¬+]â*ž¸âÿ þóvãÜïÈ_B(ó¾U¾I¼§Jk¿îW°Ÿ'ÿñz¼ÙØ/â'>ö>€ßœÀ×ÌšÿM.nççÙû¶‹ïK~ý“½š,¿Œ„yùü‘¿ñíþù&Åÿuâÿ½Ê¿q¿jœõYS~¹þk¼"ò£ªùGâCWô—ì~¬ÀßÜ¿ÛîÏüg¯‰ûaon¼6×Ä+Zâ÷7~úp{âù¬gíõؾUÿ†ÿÝÒü5ù Mú{ìW”õVø[¨þ’¾^zõǶüòºøÔëàGÿ?ßix ý[½ßˆø_…ïË;ôËéoú¸ÄÔ/àãüÀÿ¥×ÖÝØÔð}ø=ö ]ÔßÞä”ßHÑþÈï‘å§›ýãW}0žûcïGþá%ÿë‰úhƒ¿mý“Œüúóvÿâ¾MÀÈ_²µÍWC††ýHô[¢?³ð<»ð"ë_B¦ãÎþgòÇ»ð7꫾J/ý½'Þ÷:üaR:Ï{Öý\•ÿdöwîô¿Ü¯Õö£À|#>ÓÿÖ÷;?ùŠ­ú+˜wOà«dòµmÍï½½á}Ú\Ûßã}»¤=Ô.ÿ‹ }Ï*½æ¶Åò…éý¾4ãäÿä_uÅÖËWú_þsÎà—Z~|ó^ Ÿë~º–ïcžúGuñß“ûP?zè×UÈಟ0PÜÒØÈwˆ?p~7âýuB_æ9ÿáI<:ô•˜ï'þýf¾¯|hLÝ7wðŸ~ÖÜĈßláÏÄ#’òÏŒïwá?ùùñª+ªw'þ¾«ž®wøÏxæ„~…óC€×G…ù{Ì·KÿGý/éÿÄ|<ëÕgœÏ¨ê°óA?çûû×øÎ%Q8eôÓ·ê© ~É"ÿ?¹0ŠÇŸ®ÏÖ™÷õÂýQ•¯öúäûvÿfÄ£;ú?Ö¡Ò<ñ·CoFó*Êÿ97"úå·CþÛÒóYý©¾¸2ÿ›&ò™FÿÁÄó«ù®ÔqŸJßðÈ÷›ÖÈ÷§êÝ<4 [˜ï€~D"Ÿ¢ÜŠ?ž^áü5õ7RàÇä7ˆoÛ_ùiÔÏ;ôÑó‘ï÷þýæü¿‡úâÎýÛ½QnñØýﯿ»âµÝ«>ý^óÃXä×8þ~pÞ¿qñ¼ýcøË¬vËÿ««_»ÄS~ù7þõd„ÿ¿ñÐ*~îÃ{ÍsÐõÖý»úSúÛ»#Ÿl¬§ÔÔ<݆žRnäçîú€úöý‰üt(ÞoħèࣗøúT ó;°Ÿ1_ÁùõàCP滑žÃx×Äb^‰ñf ®œwºÅÿ$~ãóS/pß–è?æç~x#ý±¿á÷EU¿~Ÿ®Ô£LSýæýëPaÿ³ö_ýòè?¾æ]þÎ÷ÙŸ3üRC±*þ‡v~z‰åÀëãuâoóI|ªŽù‰­úÉñТ~Ö>W~çÆ¼ûg¼?òÓçç—øo#æU–â?ðš¬óËÏÃ_­áü·ð›zéý7ù÷$å;~Íš£ÌÿËßÍwnñüŠ’ðšeÿaÏß;׃ñ|pmþ«‘Ñ'ú™ù'ôÆmÍû ûýýÓo÷Ÿñ~qþTña‚¿ý¬“ÈøkäGáGË~Y ÜßþÉzþþÆùŸà''ï¿oô§¾³ µØùŸÂò—Èÿ+ðÍ)ü9s^uñ}p¾Šôù¶–θ¥ÿS臓¤ÿcç7ýÊ×öI?cé>õ½®ðCªÁ?¿aô‹­¿V÷ýy›G1?¢Iýy[[~39íúVö~PoÅæ]&Þ—¹¹6~Ãܬ§ã»ur¾Îõ¯æù÷Éëß9ïÞ˜ô£Pÿ‘~"1Ϙ×;ÞÐϺE<:õˆ5/Ù5ÿ¸„÷wáœwº£?0ö°ÿ8Ý?ÚögHoÞø$s1Ÿ¡ÿõâüëËlÄ“Áý5¿B³UŠùU¬ úKŸèýƒüçgÿëÄü¸ß¿?ç¿.ÅŸ"žÐצ?sø%è7ÒÿHý® Û"þyÂû•¯èv'òÖÄþoþMMâÞñsÞ“ê«áùrMšGŽ?Úþ;ÝYMÌ_ 𔊲ë„ßûà_öåþˆçØÿ‘ÀbÿÂõçlj‡Í#E}ÅþzèÏ'Ü×Ķô¶—ô@ù¾•+ýGÓC]~~¡¿ =¿užíýX™ü«éù´­Û~¯GÓ÷§×oà§?ø¶n:ÿêçß9ÿEzIMúÄ›û ¯ïÊÿCo²èyŒs>ÆønÄCC÷yÕû´é7påþ]ND«°µø³=_™Kú… ñ]ósÀ¿+Iïp¸¿ûÏšzˆ^¨XüÚò¶üi须Эïè_uðEzzæ¯+ø†ÑÏíàÇuå|¸—hàýþþ:ž'ý«|êÅ™ßÖwô‡—ç_žÂÖõ§}óŽ÷ÁîÛÎý^x_xÀx%ÖËô žÔ×¶¿·|vjiúýfër‹ÿPfñf=ëß|OámÄs¦ðÞÏ‘ÿ´uâ õÂÒýÝp_ïKþ#c+ž;»@ÿ™k‹ï. nkð­æ»’üi‡ŠÛøçX7ò¯ú ©R¯cø «Ý/wüï—üÇ·ô¬ŠôÜÒ‹ÍxóCýÆ&Sé'JﳞüOÝ7ãÿÁãsC¼Qü·ý}ίûøû |tã¼ÓO¡_Kì?Nÿ÷úý1ÿQÏ ùñðókþ¿þš}3ÿ¬ÔêÌ'é·üð÷_zÿYü·¡ùHù¹%æŸ øÄÒ<0ùWôC¾ÛÿšœXZÓÂü¬­m¾Qzý~Ћ¯=ßµƒýó ªÙTU®íû9ãýð¥ú÷såÚúa‰ýã <Éÿ3W👰ß[üú/„¾ÛRÿ<üŽçuŒ}Þ·[zWàËÙï—YŸ_Ñ?·üÞücg‡ë…±Ðù¶ü~N½Õý"çV<÷F«ß¿ª¿*îïïÞ¯¬|Èò­9?éw}þ‰Tõ'Öá§¹N=aÍÏ…¿o“ŸE?´Qÿ3ôÑ_xv†Þ ï—ÿ礊þ£ÅgÆï”Ï‹¯17ÜÆóýÄuÃý•áý û½¡û £žú=›7Hù“Ç÷ûŸšêß½“¬ú©O ýös¬ë_G¿,é~^ê¿¿ =Öwæ¦ãvþ™z¡dkâ ð§Ä¯èÏcç¿ËÇòû¹¥¿êý>û>õ¶ ÞÞoö~x}Ý?ñç¿Ýÿ <¬rþzj~UÛè/¶'Þk¾=ú‹¬Ï¤¿Aý¬.þ[é^gÀvèÝ߈ÿÈr†þ°ꊵßÿ¨íþ~l/‚ÕË™üh[”©n÷…õÏrßÄþÞòýÄ~¯ý¾=ßt ¨Òƒ¡ÿu迵¨¿?‚ï\ù>èsÏ'듟òûEù)õߢ^˘7KWøWÓç9üüË*UÜÂ{6ÏÑùçy×:#? }úû¢JŸÒžßª—áϬ÷ëÊüïtü†øC¼ÎO~¿è7.ê='ùËâw¡·G½Oñ£‰7DÿŒúWêß2¼ßVç—mm÷iÊò‹­Àk ç]F^D/[ûýѨo;\ŸÂ¿|ß.û½XûçéÿpˆÅþï~óLÔ¥¿çúùVþ?¾!õ÷è'«|žóHYüúe‡ÞFCþ_ï øBÖß³Ÿ9¤Z9ovÿ ü†„ù‹Ìzx¥¯/ø|kÿ…¿ýZ³>‹ýýü z4ößÃ|Ìý—Ÿõ)æÓµ_šß`a¿QøùC%ï‹ôɤ÷ýã!~Еù÷Çù™øÏ¬Ø_Äo×ÓñóŒçAý™Œ~©­öŸxÜŽ÷~äIùð"R±þp}[å7èýÄ7ù#„^<ò¡ñ;þËO¼Ð_\þRóCõÖB~ üôËò%þ[÷AË×]¿¥tÖÃÒ7ïÞÈðøŽøïýˆš¤'?òyò‰Küh ï·û7±ž)æÇŽõ%þC•{×ý+ý·¸?ÙïR½[È@F¸«ßK¾hè-Q¿`©>#ŸîŽþ*€ÏGÐt Êó•À;Û™Ï{cãÈ÷]øç¨<±9ê…Ž~WÔN b½q‡E}òßšø"#ðÌöÆóßý• ¼'ú“]ó[ý⠼ϧôì¯ø9|x-éŸïïº ¯™ûÑ»ÝÀÏfàq xšüŽZE23þWàuU÷o#^}Çœø~}ü§Ê«ŸÎy¤öÌc4ö[^z¸ýÁßvùëé—Ù}Nmù¯±ÿ»¯èX<¾ŸÿóP>„xÎx]õ>Ìõ쟭îg¾¸ÏçR}°…õè_úпþ>þLôsWãùï˜ÈÒkЫmÂã êñ¿ Þ‡¾UU=÷gÑo$æUù<¯Ìß Oÿw àýÌWÊðÆœÝYõÀ.¿1Ÿ:¼ñ5ð/ôïYZ/ÿýøQóüÜé%Ô¯‰ó×=¡ÞÊâóïYÏ›ðÿ¢úah^c`¿›ô£…' žø½}%þ¬¬~"øÿê¯WþÓëçOÔ?ð~ç»ýÇoŸþ™%¶íè'ð÷çÇüùûú«váaàÿpÞe ï$¿­‡þöhžˆú3]ç=#žu½? úÆKõô$îFþo›ù‹Ïßy"ÔŸ'žïD<‡…€ç8ŸÒðχü g¬3×Ïç¿üà/ÿ=ö ÜXØþ{—Î }Ná?ª•ÿ3Ÿüþ#Ñæ¼ÑXçóŠþXÅý=UÍwÜáŸÏø?Àð~yA¿\ù>ñú¡|g³?¼•ïô³?æ…Ž÷wÕÀØðF“å?×ü;ù<òÿ­Èç“ðΊóÛ„7,žçò^oõÇâMèWòå™xÄþÏðFºÅcè<'S_@ù}¡çÈÀ¨ßfëþôNúF·/긿Sáïu*ý~¹“ÿlà•üy×ÜOù'7ìßzpþBù¼üŃ_µŽûÀðÿñ^ÓìÎùÞõü^ù'ùnYþ9Œß[|ÃD~®úcùÏ_¨ãýX›ùg_q,Ôûþ00?1ÿ)ò §ê)úÄü¨úa¯þX{æ½*ö»†^+ÏÿüëÀŸë'ýÞïñË×sÅü²nÛŸ\ß1™é7à…0ðþ©þ¯õã5_T¡géý¬ý¢µ5û¿Þ­òƒ¹Â?Á~vÍ¿kÞ(â>ã{øÿ†Þ@¿%øçš{ù•Lå£Uó×ø«ß÷ïäÿ‹ï9şͨ¿¤G6©O“ô¹ãYŽ÷H¯>ãýYz¼F?{ÇãòŸ[þ³ô—ÝüCòÇ‹ðêgð>¦_^ô#ðÍJ=\ÓÓ!_ן‡ÅWàIÐÓ%ô$®Ìßu/|™Öü~<¨‹ÿ™€ï³ ~/½áƒN“HŒïìñ?ðò?]/Ö7öŸz‡%‰ÿùê—oŧùÖ)ü ‰ïÄ÷ù¼Äÿ‘ÿ©ð8Îw\Ñ¿r|xŒë÷Úº"?ّ߀ë|ò› Èþ~çlñ}õ‡ûÉk¯§ÉG¸ÿɧڈ?S|·©þÖ8ç­-¿ ßMü‰5õ>·æó’êåà¤yîøóA¿ëûøoõêdÿ˳?ë±ÁöûÀÖœ7³ƒnýóA=_o_/|¼aP¯Î½=¯A¿¿°þ ßõíùï¨G'ãÿà<Ì$¿aTé™Lñר@>ú¬ÑúÄò_Mýyð#~þ{ãàCüëý·ýØØ‹?Âý¶cq?-S÷çÄ÷9¯ïDªâëTø}Ë÷çoí÷ ¿Ä£ýbN¾¾ã?Õý¿W`cøcõ@g}®øÝ“ðüЇFWχï³Åw‹7ëÆß[½Õ˳¶~¿µqîðÿÏ«­ÀÿÝâ·í·ú>°|Í~oö~{ëâwâ¾mòc³~ÁÏû!þŒý¾í7lóÿ ¯kíÿ¿O}?ÿqø±åà’?Ò¹œ÷Mz>…óÀŠ7š̼¯¿VðEÉŸ¾±ÿN4©~^Á?É,WÀp<ÏçWùeÆy&Å…‹lÝ&¿oý4{mÏ¿ŸwÞßNT´ß«—ôû^ý÷ =Ž®ûvi½ÅW?2âùþʇý-´ÿôï,âïRô þïÀMñø3 ÷ßðÏA}*ÛÏŠøS«ââKÑóP<êz^¸¼Þ9žgÖþ3þ\ëqÞ« ÿѼ©ð7ΫOíg¦?Õþëè§„>P“îü‡ó’Q/þzÿþþíÈל?kùIF|qba÷û9øµ6Ÿ7¨ÇîŸ7_OÝÇö>Í„÷ßßí¿—´žX+õפžsÇ¿¿MâÇš¯[õê±1U/ñJóñƒóâŽ~BÕûóø»]á¢ÿ`ñ?%ÆÃsÌ_x1þ¶UáùÞx·xO~Ðsß1<£QÀâ¿ñg,þ/®oÅÿM}ŒÌøßšðhÄÿÌøßoX/´˜g¡^úóƒù’ôûK¿,øÓWôÿ=_ÄùÞ…øƒí—•­â ä£)Î÷òóžÅO·~ðà}äDvįªøeó.c¡Ÿ`ñh!Ÿ½3Ñ+âw%þfñgçUýàÐ3™Àëš¿ôiâK?ðgΛ æûö¿÷}ü÷û—þ³¾_ û¥ýˈ/Kûmú&ƒ÷—ÇÄ÷–tÿ&ÔI÷/>_Êÿ;Öwò«w±¿YúŸÄ’øüƒñZïC£ˆê]ò©b^€ç;«?Éù½,ü‚ùÿýyÛ㇠žãþõý™º_7â;çÎ|ÿWþ³”ÿ0_š:ïÌÿѱ×Ö—üO«æ¥wgýÕ‘¿€ï3:žÏTþ>å×Àùº £þÏ:êÔ¿UõY"ßëŠÿÈðÁä ýÌÙ¼ºæ=|`ûzÂÃ*>†¯»¯áŠÂ­Š?©ù‚Ö€ÇÛ¯¡hwô7–ú³{0þ³Ÿ»Êy¾û3¿K½Ü-<‚ü¹$½·û¸ë¼3ßÉÊ?É'ºÂðóÚ<Þ7ÅÆû‘Ï;êcâÏçy_H¸OŸ×¯*ÏA¸ƒ¯Ò®áôg¯Â¶ø„ÿ³ÿ¸„çÓ//G¿…|råÿý¯&?röÇvèïå']Á¯÷Àˆ+ž-ã<ïãYg䛹œï õÞü}B|Êé¯þðA¿ëÄäÿiýŠÿêÿ*þk?Çö/ÿÇøøÃåøŸï÷füg=P¢ž>T#þ3U=¶÷ áuÖ¿ô+óø|¶þv¬ÿ}ü!Ðõ>þx~èósEõ-ýP õÛˆO?k$é‘ ÕÇü*õ øæEø³×ÛéRÿ=ƒ_YœÿŒû6ð4îñ èǾ–&ú)C÷ñO¾¿~þ_x\ÖçwæïF‘ÞôÔ?Q>9šü¨¦òýs~º¡Ðñû¢3þwè@¯@Ïy·þ¤Ýwø?Ý Û >êÓÿm÷¯ãÿÀóSà=ãÌï]ÈÙÖ£2þѨ_\¨݈GêC«Ÿz£ÿK¾ÎTÿxA•^3õ‹êÙA¿HõyôÀÿ_ó/ z5íé×_Jwø'˜¿˜äß:dšg¾ó£CýÅ®ü³0Þè>pübã>ë¡è¿·‡rÆózî?òϱ÷ŸíùrüÁï;Çß°¾¤ÿ°‘?VèÞ)½¤¾ÅÇùRú‘—à·á}¨‘±þþ;ñÍ p>ìŠÿ ·÷ øWzpYý«¡|ˆxPG=Ëüƒ¥ÎRþSˆç ?Mäw‰ëú'xîþoãüEbÿ—z2Yý[æ£-ú½ì¨,ÿ |¾4ÃÏ7ø•üó±5t…UpÖ¶Àß. ºUÍ;þß|]~áÿü<Ö=úËרûÁÔo±ÿžáÝâ‡\ãßvæŸ# è‘ÿ“ÿ©ó]‘ÿ7­‰_eñþP>ºÈWÔý°Øo¸…ÿoö{…?´þÎßM_`Ä<Ño¼ŸOþY€/wáÏÌ—¦âYÏûsEÿœ~Êâÿ°~ŠxN>áVþI¾OŸVúzS÷/ó£ðã!ÿ\ó¿ùÐï¸?4䇮_áB=ù£ðä„ýܪ¿6ð‡¡û7kº/ÄWþÌ~}þЀWÜÑ¿}݇Îz)Î÷@¼)êw1~ƒg÷/ýd•/±HÁ‡Àz¯÷ûrÅÿÝñOœï.ü¿¢Û:Ïõ•ßCïa é/=ø§îßQ|ôÁ?“ê¯ç¾¿ƒÿ³^šƒøÿ>ý@D}ü«õd¶îcλlåGÞøxÎûèâ³×è'×½Òÿ-ßS~÷‡ô:Ùÿy`çÿÏíë†x/½Ï1žøîý_ðVeü¯ÀÊ­ø/¿œ)ü‡üCéy ÿQ<Ÿä?(Þп$ø?šÔ1Ÿ´Õ~ðŽKüOà îßxAà ‘îßüÏñ^÷Àÿó‰7Ïà|màì]ãúc¦þX:ñœÐ[âuô+«ÖôS ?6êÍ„~V‡žÙ ?$ä«ãŠþUöƒÝZÂûkëŸ|§ÕM¾söxÓ*ý ŒÈ[åûhkó_¨ô'.0j¶ïC=û?Ô~üçìxªý÷>Ìï|»ÿáwÚ´ÿù×üüÅ ÷o¾úÁC~Ê%üÞ׃ïxÿ…zÏ1ÿK½ã+øC©îÇU;øÏ¥8ñÐÖÈ‹óß[møÿcûW¦¯=¾kèÕØ÷mMþýžù÷ü¬ÑŸ,.LÙj¹å4‘¯ÿv ßó»ôèò³®¡‡(~õ—šôß ú5SþzrKü“ ¿€tÇÿ݉I­&Ì/gl =Ô­féïÁ?³&Ηþ¬þ}þ¹¾ß·ï/ôê‡óImùÔá{åNþC½ø-ÿñ&~[¿(ä‹Iz3õUèËÏïò'//¿È!?Û¢µð½;ñÇ“=Þ8ÿF×¶öú¼d/$-ž4Äa›ÅÔcÙ]¾n\[|yâÑ~x\öóãñîŽþêßdé¿oмúF<ý~êû‡þF#Þ#eò%ªôC¹Æù—èúÄþ>þÿüû}?2ã¿ù#ãy`¿özVÙñŸWü÷øC?l[¯‚ï'ÆÿÊý×ý`ñ©%üÿ¿qþ;úï[ú3êW‰¥ç¡ó½ÉwP|šä†ßõÞB¯éåÇY€7õ;þ;Ÿí|OöÖ¥ú~b¿JÖý ¿ßìü‹÷þïñõÂý0øý±q”3þ“?äñãï¯ÄŸ¶‘ßwê¯Úyç<€ôÞz”ð/jíñ§bÿféûô§-ÒCä|_’Ÿ¼ü—oéO6Äã½ýC¿?¥gUyJOµe÷[ú÷i ½‚ìû›¤¿Íû=ü žÏµú—z†¬»ôLŠîÏŒ|§è}¨8ï#ò#òquþó+?ª¡W ù÷Žûû~ø}þã÷á~nçÕü+ñ@;ÏæWÉoöóŽ|‡ñÅù¢¶ú¾ù‰UéõÙùÇû‚û 8më;ý¯6ÃSúŸ¼_ýgòùù_×Ðæ}+½%ò!¸^âK€ #òè—ñß¿þÛý/ÿÍþ7Äèõüì?€q[CÏÄèYh[»Þ¦­Ï"q¦&dkšÉF4þ½ù'ò=hÔØRÿ„_ýÃû×i½òùøGQ?µKï­ÓÏW÷1õB#ÞðýèÒãîÀ'ŠôW7ÖûNþïx¤Ý>QŠó<ßñý. ñ‰~Ã~6ºÖ«úšß÷~’½?Sçßó¡ùÄÿç}»”ÿcÿéÿ5Õߪ¡—M?åÐÓÀýšBÏ™xsèrñhÊÏ*ð η~ðïû2þψ7úKùËþLEþÒý ¿¯‹ôÉö³HŸ©á¾èô‡œ ÷-ñ^×+Xx×ÎÿÐyÿóœÏ)þH?(ôp9¿8}ÏÁç¥ü³¡?zˆü+úámßìg¯ä?À#m?¼W²çöÈ']hÚÏëd=ÐqÞ‡Öë‰uÃ}0u_Tå¯;sÝ'ðˆ;úWS~Öµqÿë9_Ú¶ðËñó3üÈ/ú>ã‘üÈW¢‘/±>ùG¹ÿ8îçëù?Æã׋DØü5›â?ýh—ÖƒþœúþÞðßÜG¼Ï™~zÍç;}}§ÿÂùë!ÿµÐcjá/5Ïý¦Þá¾Pÿz­ãäK÷.=Ýz–¸ßïá?ùMþÓ}úÊò™öäëžï _³ÞzðÅǨêùOõ5æS‹×û¶þðþ~{þ;ð0#vþúë•ç]~E•õWÛz_’îׯù œï¡yVàÍ Nø÷ñ{-úmwüwX9>òzJõÁÜßñ%‡~L~ÇûÜßëû™÷‡'þ~Ÿ„^1ï›;ø3õž—ôgÂtáÏiøþ埉õ­ðè„û÷EÉÀC»ðè¢û{éþeývgÿ{ðIžþømOÿ øDŠþòŸÐ÷d>zÛ¿û_9õòÐó¸2ççç¨ÿâû»¹_Öaÿ]çwÿÅñc­ï«_³pþ—ð¢‚~ÿ¸ƒÿTào•þ/Ò'iÂÿ‹æÛ«ü;ö/üÙ__ÒÇU¿@úÏÌW‹ôé+ûËwô‡'ðµþa†Ÿ­[b<÷û Éÿ:#ŸL诟ý`ùÍ:^‘ùý±pÞ‹âÿD½qÑÿ¨¯Ù[ùþïóêOvâ×ËÿÕoWþ÷Þ§+ú3–,Ä÷"üÇñûI|93_Ÿêÿz øaë‰þ Ï·6ö{IxPÞ~V^÷sþ/ùQ¯vIic^…z\¡'þíCxEÌSs=c>|ÐÐ/ Þ†ø‹ífÿÒðèŸH·užoñÛü}AÜp¼Gk{™þÊlL4È<ÿ½Äæú ¾¾ã¿¹Ôÿ‹÷/ïãðSc>“B?ƒz|qÿÒ/úõ¸“ü.د)òßd=vEÿÖîüÞãß—èöàÿNÿe½{ðT/Ïýô½þE¾9uÿàCô+¾?Yóîy3ÿ¯Ìßg}çÿ¹Ÿ÷iU>St?¤Såè' ¥ž÷ý¢ïãÿ~ïüC÷#äZþEŒ×¡7Ÿ‘ÿwù!ð†ü+ðµªúÁü>ú‘ûó¼•ÿø~{ÚÉø|8‹_XóYßþÎwØ }‚'ÿQ¼z?Ÿ!Õókßžäöü¼³ÿ•Á?Œó>‘Ï'ñIÔn\/b7¡^f¼õ|ü |¿ð½Ö­ù£„ú5Ó¹SO <ýÄ…ù¤¢~ õ$«ø„â3'~¿ ßIÂK©÷?¢@¿á+üg;(ˆÿìÿú<­ÅûÀóíüÿÄkÌ?¢Ðñx_¹žÙ×m3þ3Þo€_¥¯…ÿô .éŸTÔ¯Mþ/äÛ6õò{ámïÇ|ü€úCü,Å{=¯ÄúùJü‡þª×W™øûùNÑçUõp!”¸®¨¯ZôË€ïdáGÿ™z ýåu'þïéýúÏB?#‰oÅuä›Ô+ÈÚÏz!E¼‚UøÑø[M峯çªûŽþ¹Çð3?Ïœöü\~ ü|(Þgæ÷ºüþÍ_¨!þ÷¸?€WC¯Þêƒòà¥Wâ?ê¡-ü¹úòÒ¿=úëéUwàk>ü7õçùÓâKö7ïð?3âýdÿQøðxòÖ·È/sÇý*ýíÜÁWä¼ª× ø=ðOrÅóZz?ÈÚ·ö?+ߤþ^~ú=ÒÇ¿Ÿü¶àGÓo¤‡ß&âÍV˜|ÞñíÿF§-oø?–Tí}l™~;¶öþðdÿÝ/[_:ÿ;ü¨«ôßÒyÞ—ü|«â=ãM‰õ<ñÿ‰þ™ü.4Lþ¤ý>ý×îð¯vþ0èºÝ¯×Î'ü^¶Ï÷ÚÚß7;ïÆÈÔSµuÅy†¿Ýž—É÷°¿7ü(SOÐÖV-ýþ™…oRÿ!k¾´ë¼oê)ýŠ÷Eùïƒ*|Ž÷ïÖ}›¨×-¿0ö'¯ä?¿¡~‹­žã¿'š¶Îº2öŸñýÞÜÈ7L~1Øó@&ùàÛ±ö‹ËÖùþÐo.é/5ñ;#ßì8ß[xD~ÍCfáoOoS=0? Å3úçÕ[çßêÕLýjÿØOàÏÛ…<žOÅûîë÷ÁÂçEç÷soŒÿ†Wg¾ï¶¶~½uÜá’/^è ¡°Ðço r>ú â37¾úªº|~dªà§oâ |­´ØH |ö‰øvcþ”ç9òÏÁóªyGΧ®×|Ý<ø‰ÔÏ>Íþ|<ŸAþø¹Òs:î¯ÎÿO÷mÃü²=øù;ûÜO'†Úzj¿­Ë•xPâý]X¿%ÌìPÿ;ñ¤;ùg‘ß2ô?{Q¾²T¿ÖýÞÖáϼ‰gVí?ßòÞÿªy>Ÿ;ó/ ýÀì~ Üܯž?û?íÿˆý/¨ô}Ïïå7›ÀxÞ‰û%#ß¾ÿý~͘´øáÿŽ|ÀÁË?œóJ1OA¾ô–ZG¿@ý4êɯCüççüs¿Ïÿò}÷_ÈÀ=¾Oæó¦—´È¯ÊÐëµüñ½CcÑÏ(c¾ÿX;°Z—øÿÐïµõ¥ú+k~zNžú‹D}ûö‰üs¨¾bþ¿ã¼FÌ'±_£ûƒó¨wú ó¢¹b~$âO%ß$yýçøt×y¯çyÇ|F–ßrBc8ÿýHæ«ùþÄþ“žFþŒû3æ]õ"…çp~t(Ÿ¯à‡ö>1ÄŸkâ%ÝôKWú_Û/*ÏïóÏ…uRýµQ_ÞPß§¤úk Ÿ/ª¿:ê/ý½õ#3ùŸ¶öûb}:?ߟê—TñO8úè5Ï×}ÀxR„ï°ÿUÔdü_1\žzëàW|ÐÏÿçç·ªþÚxŠÎ3?OŠ÷…ó±ÆûQÿ;úõèß'è{¨ß^à×ãýû;üÿ†ø]¨ÿÐè¿)?÷øÍˆøýG}†þiÌÿñ<ú¯üñéÉÿïè?Ÿµø¿#þW÷?þŽç@o{Qo2Ã?Îâ9ÞÅÿñà?Œÿ5¿ãÿ¸ÿ#!ÿ$«(â3žïÜ5?Wƒïƒû¡ ?dð%þsïŽdK²k‰é=ŠI‰þ÷µÍÈÜ”Z§Òó˜Žõq¬wš‘÷ígF© @Â'bûŸø.ùëâé?çOœwæ¥ß?îÃü½òüÃó@¬÷ÈO±ÿáyÚóEëÿÄùýØRài.:}Êÿߺî¯\à-zŸêï¢zlæ›LGÛ‘OûïÃÿLüyçK'áé~~­×u†ÿ¿ÂÿpÁŸÀ|ÃE‡ÿýsJJð¿1ž±è ÿœýqqže¼Åô-Äã•ô©þG\o"ñ/úã\¿þè_TQêþ_»Ÿ”~ßÌ÷IÊê~zç}ï3¿ÿð×gøâ¼NZþ·Žx<ðˆSE¼¦0Ÿ9Uøƒ óCSøÛã|ãûÖûªûØòÿ MÀgÖÿ†ú/øßZG¾HÙëùóu=;ó³~úƒªÖì¸oé~!| æú¥?ä¯þvýøÕZ#)£ŸÇ¢½þw¬ß8¿è¼ÏûaFÿ¦EOýý ½˜œqž«×ÅüŸßoÑÈŸüýú#<ŸÊõ‡ñÙ"ÿïާ0ÿü²ÿŸþfýÞ‰?é|\ö KÊg'~}ýÔù³7ÝoéÿLûþëøýáï„?ù´‡?TçKùŸá/ <Œˆ\¤W}|ª?ê]õ]Uù'ÄO½ôþoÖcÈŸŸ/ÞOq(¾¯=ð·+î Ž—Uáá~&ÿ6M¼ŸXߎó'Ï_±Ÿ¢>˜çѽÿ* ý8¿2^ŽæðGèü9POü±ûχEùoì×eü6ÖW'½?õÑúÿìVô÷Ƈ`=wÖ}õ/éÿñ¯¦ýôëñ{uü«=µ¿~/í¯õ߸_o#æâ;ŽdÄßËgê߉GU‰?ߨÊý—“â¿ÝýKYÿ+[wüì ßó>îÃ+±õ“Ú/ˆøüÌß®ÿñàå¯Oñþ ÿ=â¹q°_þÒQ¸¹îW"ÝAß8ßÇÁzÝ'oì±p-ºØ”‚þCýþï׿ÿ»ÿTÇ}Õùìßx _)ýC‚fü×ùøÎw˜ôWÈÿÀ~`úýwäFÛÌ/Ä»o‚øú=áïû|ùèÌÿY´ò:Ï«•ñ^͇XÏ.Ä—þÐñ´O¼ÿ]¿rà©¿²òm‡ðDzðPÚÚþ‡ñèßÐô=ú#^LË÷ß°ÿسâåtÕù=Õû1îoMëËÀ}ñ±õ™ùö±ÿ"Ù?Õ9êÿo|ÃyŸï¿oÿMÃy¿Š.Ø«ó…ˆ×gÿ'ê†çó[>ãÿŒÆW±>7î¿_çù+âï íÿÉ·îËôÿ`?öÿc~ä¦ýûIÖþ;ñý>ÿjÄ“¯ÄßhÌ?©Š%å{6ãÏð|ªý€ýíªê{•O¤øóQˆu)ñý[»þGbíŠÏV¬ÿQo·Öÿ|sýŸÈâú…Ik½ïZÿ/ø‹o…|ÊØ/n®ÿ÷4ó‰"þ¸Æ¿?µþ¨>EëÏýÀ“gþšú­É_jü“¬ýbè~\xþTþ¢âiÚTßýüÉÄ|„ç·Ÿ¥¿¡*~[á?&]”D¨cýŒû/üÏ]çÏŒ|‡[óáÆxù3ëOƒ¿¡„ñÚ·qþ„Š|fãoÿ<ý}¶¿¡œó%ëþû‘øËoî_Î?ùÿÕý++ÿ¿eÞ‰füÂÌø¯ò¯*â3ާOoûK1Ÿ¦âïÜ.Ý/æÛ}¤þ:Å'ò&óo;òOG¾2Úr.õ];ž•q¾ÏÄCL±_µt+?" ¯/‹^ùi~¾]ð/3¾5ö›­ZO’üýMç}ÆãÇÄø×¥õŸûmÕúOg‚Äý8ñü?ñ÷w#ñÈ›øÝ7ë‘þX?òÛ÷_Ÿx&ýÿ¼9¿ûíP¼‹ûo¾žôþûGþnÑ}7;Ÿßs~ÿ¤¥åxhHóÿ~ÿ ëKªÌ·mErœß1ãï‹è4ü-—-é>Üb~/¼OÔË Q¤¥ñ!ÿC¯Â7¹.¾ÿF¼såïp}¯ª'͈ß6Õû²Ÿ‚ë…ùûï?âõÆoe|r~äüÙ?g½¯ðŸ¯÷ë=ñuãý ±ﻑîø>Àh‘o¶Þ7ðÆZäGÞjæûï9>Õ“ñ”ŒúqÇ˳êç:ê%²Ö›‰óeÒyˆøžI¿oâåãÒ¿Qw=ëM<¹äÿ·¬ó9ßÄ; |‡þÎå¯A>hëò÷\zÿq_ày/¾òAáŸh4äè÷sµOùªý9ZêÙO­gõ³ÈÂSê¸ïÞšìp /”þ¢îóΟMûùMÞGΟßïcßSÀrý©ñ{F>I~!ÜÎxßë>ü ¯ qkÀ·MMòˆWÇz4ø=–¿:±_ÌGòOØYøWì‡×u~d=µó9#äÞxWá»…”Ôïû¹ÝÆ_åýù#þÏüÕe_õBïsáÓ$þ{Öû^ùåûývœ7ýûnXÿyÿÌ8¶4õ÷ÈWL«ÿ*Xÿ;ì·Þ÷׬úwÿ¾ÙO¶O¾£ÆÆ&>«ýãðê{ü?ÿ÷ïá ¤Ìü«‰±‹æ~Éý·h=ïøýæW(gÑ·öëA™÷Û~ÎÔ§ú!üâ5Táñ÷_玧/M½¼™+Öû¢ûpÄ[Òî°üAõV~Jôï[´×/Ê?“ÿÓÐî*è±Þ_æzß´ž`½Îzß«_Þ%|g¬?‹F|)C>õþäƒïÿÂß(ÿ§ ï¶ûüÃß»Ï?È)z¬—ZO2ñÎ5ˆ?ÓÇG¼¯_8ÿ|$ÿ'~ÿ3Ö—”øþÖÔµ |ú¦óMø@’õ"Çy õª‰x‰h-=Ÿb}û#~Ú¿¹ÿºþˆýA¦ð|²òA»ê+ñºÏR¼ÀøWéܳÎû·îÏŠ¿|êü“°Þ̤ó'×½¯ ëK÷ïëÍuÒõÇßWÖ+µÀ»Žï•H/ÿQjÊÿiMøŒ?vœïÕ¿® ÝŸìOÄCyÐʯjÆ{CýpëÂW¿”È~ŸÛñû,úý¯ü´Dû3gµÄzëØoq¾iºÜ y> GÝÒçù³>ú1d‡¬ý÷3þŸ>á_Në±Äÿ/AOáÇûÊòÿ³Ÿ{Ýtwü€þ8ö÷½òÓ…_§ü•zá÷÷ŸÿÑ8hùÿ`½¿Õõ`xŸñ_ø(ýÀïtÑ÷º®óþÀý à}?¿–ÿÇý_ÒöÏýšümÄÛ6¾p¥Gûóïa<ô†ú>×g‡:¦þ+Î#9Ö“ZtþÇúÂß;ð¹SÕú±×Ÿp¾©>/q½ñ}·b~4Ò±ŸôOåÚÿp×þ­ßÄŸ¬Â;OÈ7i³JéôÇ%áÛÿÀú1ïƒù@ŸÚã<ømÜkìEç™û úòûÇ}ÍþGuÿó§Ï§¾ÏÁÿ©û^ýÓþõïŸTט¿¦x‰Î?ÂSRþ¾îWÄOÂ_R?aŸ0_šâÁÄ7ñ¶ŽŒßs>ÿuß_µŸzÿÅß7ûãàÿé:/ñ¾ÛuÈð¿e}†ûÜgú_ôŠó`Ñù³ÁTü¬çÆSXχð—ÞC½µ±?[ÑüéÀã¨Û?4ˆ÷ô©ûWr=ï—Î+‹žÇû7^ן8¿×'=¯óï?Ðxcû?Ãÿ?ÿdÿïׯ[ÜÿKùò—±>²xý'ñü¶®xïäþ¬ú#Öw´~Ž—ÿä?ü7Î?ßûã}ïûתoù^ºüQ¯›OlÀ“I…õïúýÆcZ‘?©h½E‘?"ðØâï?UÿBOqý#ó’Γì¿&üfæ]Âs“ÿ_¯~›EçOæsM?q>ýHÿ÷Œ¹ÞwòûïØtŸÊتכï¯ÉZù>uߺ¦ös¾ÿ¿÷û¿öþþ ÿOþs©ªa~¿ê%„׬ûëÁŠâ/¬§ËÚ_ ë3æ9_ÆŽ§UöcûTü…ï#ü'ç~éõ¤œç›}ÞÑý—þϦ¿_ù ©íóPB|áÖúÃẋú/Ÿ*)þN¼¦|BΟ''ΗÝþ|®_ÂÛ¨¬¿p¿Bö«òúÃþGŸºÿæŒú¯¡õÿ‚¿Þþ4Ð÷ñþïÇ¿î}¯¨ÿ­û÷õ_ö¿õ]Oð‘óÞÏtþ~ïöÿ—~ÞgÙÿý±B¡/ÿ(ëM}þ!þ‰ñšx_øLüwí‡ðvÿ/¬7ާ\\?Žý6ü>r¾øïA7¯ÿxfÂy¶} ÿ­(a<꿎üÚJüá—'øû³Îÿ7ú—¸¾‹õî߯ýÚëëþà?üíû`“åàù³¢?ãÐy¦‰F¾'™Öûãþ€|ÅÔäokXÿ‡~ÿè–.Ý߾ߧê_–#†õpÊ?'ž†ýùå‘ëü“!šxÚS÷¯ë:ö‹Îþ/צâŸÉ?i¨çJ—âç“©ý´áüÂzÀŒÄÔ#¾ŽüÜÔ¶?nåíx êÓ¥ý—ñâûsøWú½êþE<™lüCæï¨žšþЦ|”yàù‡ÿáÌ÷ïUý%“ëãñ}?ƒÿ  ¢Àç|ÿÌÿìúý'øoºöÛ+á¾ ÷;qàþËú±ªóRQü8ùþ5oøÌù“xîÿÈþ-ƋܿŸ÷§Ö+þþßš>/ÝÏß?ó¥§Æ ÿèßçGÖÿ¦û*ã_ ‡ã¹¼Ïú÷ Ð-„âŠ×3~Ù´ÄyjìøLÆüJŸêÿUÜä¹ÿþÀk³ÿy¿Mõ-ó‘›Tÿ»÷_ÌŸG™/÷‘þ;q¸o ùpßbüñô,¦ý?ŽWìÏÓç%ܦÏÿ ïÇù¿~jÿ­Š·t¿ÿ[ûß?÷Ý·XÏxû>À~ýüýïŸxSûEa~é§î_ _ྑ?ëüqÎgˆßk–™ù?å¸ÁÚnÿ¿¹ôþy¾uþüCçÿäz!Ý¿z9ý•Æ÷¼åO¨Xï‹öƒÿN•ÿYùVÆCdþ„óßÒ>ß~âü“³ê½ðþ‰jÿCäƒÖíoèÈÿŸöG ßÇù õUþŸþ¤¢ï‘òÞ?>áÿ¹X_!ÿÏÍþ.ºO]ÌWÐzÏþ¦·ëñÊy¾'þvÝß‹x¬Æó.Àw*Ÿ9ÿ£~]ùÏqþA>t×yqÕ³$æoÄùçOÔWíÈïA¿°4÷ý¸á¼¹ý¥çŸOÿ;ëW’ð?™¯óˆ—»ß û‹Ÿù>Ì?Q½L}àó¹Iw}$ò©ÿÐ?÷÷ëOÄ ñ‡[Ñz_åO»±\^ïáßúýÓÿ)ß“þÿë‡ÿ??üoëÕGüÏÆÇxÄ_²òI*û oòF¾ƒñnøÿ‹ñÝý6³ú58Ÿë{>}bý‰øîDÿSÇg™¯÷¥+~ÿ¼ ìM÷3â'6Ý:ò¯ýÈ/½ÿȆ_¿ÿÏÔ¿Œ‚ßo¢ÿadåsbýYx™-hžï'öÛ¤xîÄþ‘tÿºãüSYï°ô'⽨ǸO¯þŸŠ¿ÜÀ{cü+¿SõÔÛŸÓ~úûÛ“¾´ÿ^À‡hòÿ\ðÿÜ:Å}c~èþuä?ôùö?Ó§ßÿÛüá7)ÿÁþgæ?|&þž±>wäOÆù§"ßAñô†ü‡}ßÂx¦¿Ó÷5ä—çëÔŸÊO©ˆoÎ?åÿvýÙxlê?ÈþQÆßÐyÒõD}ûïO>7^ë½®G=v;ðȸ? o?æþäE<à‡±~‹ñÝoÌøÏÀ[ÊÂ+«ú¤yÞxLú¿|ÌÿÐÝß—þž•ß ÿí‘Øù™®ÿXßxžÄO‹z/øïëü·®z±Èšúû‚< Ôÿ2èû׿áãyÐþ7ìÆþçü1ã9H÷[úÿ/ŸèËòÞ¼_ÿŠø0áöþóÍ~‚ªÿ½ó¹~ (3žõÀ ù{o¨'NìÿGuœ÷³Æ;î9â>Ëú£ ÿÏ×Óx> õ>o6õ/q0ö1>ÄEü8å³°¿Ìî¿üýßè?‹õõw±¾ð}G=ñSUÇõ' ÿ3꫹DýoÙûEŒŸ6>Yô;Á÷º?ƒÿÃþ"Æÿlò¿ ½âÝú>F|¬[þÒÎû¯ñ?“öÛk>çÏÄú4>Šÿ\qþ4þ!û»Åú ¼ÛbüCü}ýt*ûƒûÅÅõ>ðÑ3ûgãbß÷#õ§ëüˆx.ú¯)¿ªîx"ñýÕÚéßq>ÊT=ëM_Ïø#öóuP:ê‡ÿóëC–Ìû×?ð:Öo¾ÿµÞ7Ä“ð*û¹þ½úÅïí&¾ôMzãMÿ¹ë|ÈþGÜOu~Iã\6þ³ók™ï ïÃóëåû.óç¼þ`?øHü+ð÷ýÓ¯!m¼Ÿ8O¿!ûü<2žOÝdÿø3Åø'¨.ž ?„ÿЕÏiü â=o¸ççúÃü [ñáœ÷›î\ˆ''ÿÛ<êËþóïŸñ–‰ü·E¯õcÕgáýgäÑ?µè¼ô‡Lð'ç,¼ù¸ïÇ~«ýb"þXáïøXþ~ÿ®dÓ[ï“ùm»ÿ£ޢ /Úëñt§~ïê¿ úGù‡>Óÿ+ u[Îþ6ÎïSø¼_ã~û÷ý¢¯)ŸrIJòG¼§Oõ_¾‘xiýoˆïç+°¿¬óÍ¿ç"ÿ­|æST÷#!ž½×ÿ²ï ÿé÷?"?$òÿãýŒþ.‰ù"#á<ŸuˆF%±¾7Òþ#®ÿ7ö Åûú0öGÍèϵú¿ü¡~ê÷ëû±ù~ßC÷ÙÎø¯ñÞˆGãø$û“ÿüÀ—õ‡ç#Ý„Gö©þw<ßOýþÙ¯¨ŸÏ‹—ûÝÿßøcø}Oá5ö3þ˜ð̪~ÿÄ+ûLü…xbñýŸø?Æ—çûÖz4à?Øø?8¿¾ÆÿÇ}úcþ‡¾~/_û>Füãy6ÝLj÷Ù61ñ@½__XŸ†ü=³Wÿ®gê?ËüÁKø?ÍõwÎ?„ÿ2éý•zþž³ðϽ_?ñš8¾ñ»ð?âÿ‰ûñÊõûox_-?ÏÓë=ñ™òùûWýã=ôûÞ÷/àﯯ ?åCøÿ7ü9ý‹cýh“¿€ýI¼þ§G?ÆËåßú<ïã¥@ÿ6þûG~¦ÿã@ü7á÷³è<Ð"ü·XÏËö÷0´ t¢>x«½#ÿŸþ¹ŒóÛÒoƒKïýƒ~¿þ3Ÿ$ë÷±¬óùÙßÅx&ìçâûïþðôǹÿ2óM²ê¿_þCüî÷çÿ ¼ø:éÿQ?Bø?üCýá¿W¿Ç¸`>ÜZ¯ØŸÖþgö§½Ýÿx¢Ÿ¹ÿÊ?p¡ºñ$]ÿ[µïõ§þÌuc=†ýÓ÷öoÆû>ã9½Ûô)ÿC‚?~ÊÿœËŸÀó~±ÿ þ…n<>øŸ›ûµa¼îï‡|Ã.vÁ}`|,þN¼aÅŸõùÿgÿ¯~îÄKtþÏÏxÏÿEñxõÿúTÿ öËÉÚ‰ßÙuŸÀNîwq௞û±ýEì—¡ßÿýyêþ{ý’>‘ÿSÐßøW ëEÝxJ}žþÿ¬ø£ñ'é0þÛÄþœŸçzßtþ¿o}ïÏøÿ'ðÚ®Iÿ?ñÛ¯í ùžsã?— ÿ¾è 9öWÜ/—ßýOúf>cÄšzÓ?ý‘õùEçÏëqÞ©êm<”Âz ã¹Ý§¿§*>ãõ_ý4Œç„ùõüŸµ~¬óOáþ[XøÌê7>€WÕÿ1ÁCuÿíSþý¯Ó_3~œÿw¿wœ÷“ýAÄcUü¥¯õÖýw`¾ úF}†ÎCŸð?_¨÷½…¿Äþöÿ«¸h?ßöÀC¼õ÷Cþ †üázíŒúà?įÿõþz÷dÿÆ¢~îñ`ùûÿÍóIW÷;hôû…ÿ÷ˆô“ü£ÿüßðÿ°ŽÎÿì¯àø/ïÆ·½Ûé`¿‹Kø†Eù*îÿE|³ÛõÃå“¿âgà‡/Xõ_7ãåð÷ôÿòãÛ?DÿOÝñGõÛþØùŸýHUÿþ¼/Uí¦Ù¯ahÎééÿáß'ÇÇ®sý/úÞÀOû7Îÿè—Ô°¢ÿ{Ó}ª_Uý6 ΛCûAÁzÓýךò…ü{ìïçóçýW¿?ÿOæC žÿy?Ýý7YOäóþYÿ¨øÊÜý½„¿¡óéd?ácÑÿü‡øõoßs|$ÿµöQ¿ö/A}Ò=°ÿò|ñMÄû?„¿Ýð¾.äoÄ}‰ýÜÿúSÿå>´ñ wÿå[ûñ!ìc|ìcýwØÏÅçÿë|ŸñÕ÷Þ·ü]ñ€ŒýxêïŸýšO1|b?ÏøßÎUý¯»ðšÖ›‰x°ûqý0ž9ûÁ?ñŠÎCÌgÏò§²?pþÐù³Wøsªüÿ‘¸ºÖÿí¿=Ôÿ=£`÷ƒ|ôƒ÷}õñ;ŸôRþ'ûÿþ¿ô÷¿ÿ›xþÂßf=Ìôïþð??òM²ê§ýEì¦ïÁ|«Ûù'sû¯?±þ3_¼+ÿGùjògVÐÎ÷yö;¾çÚà¯`?½„óœãiï7úŸ–ÿü³íÿë/{ŒoxP6§G[eôWþ!PÇ_ÇÕÀrà'J—hŠ16þz*Þ¿Ž‰Ôm‘„lßSPøëªêÖï5í‡Ýÿ·ÿþÿù%ÿúkÄ®Tg‡³w3â’6Ð oFêÓˆ¼ Ë–'82fd QODŒºþTŒ¥H/î5ˆ•Ï„”Ö@ï´õ?úçýüÐ߯«19ˆ`„'–·†[4›®£h3¯[àN”ß(µ¤.©MN”Z[7Q›rÚEÝÓîwŸ23ѺL¼ƒ¡« VÃqšSä«“ú;þ:2¼$ÏÑ?Kº¢bìøkq"mÙºqiöØAal>›rÚEÝÓî·ß5aѺRwp¢ ¢${Mº…UÕ ïNXÉ;Rì©K*Æþ›¿™Œ%x­lÔ]îì±A᯳ô!§]Ô=í~÷]g\„×4‹z¼Íˆ:Ç+ÄÊ>ú^Ôg,$bÞE ¤q#•‰5þ”ŒÈ6“^`ÈiÔ âOùLHi ôN[ß~ÊxiÔ·œ¨ÐŽû"ëyFLªfÊ“nË…v ]Q16ÖOr$ÝWpÆæ³)§]Ô=í~÷)ïð©´ˆM_#Jdî(Üh5ðšî('±l¹#^%i`œIDŒJF ÎP¯„ûƒ£‚ˆ?Å3)¥5Ð;m}ÿ)Žêü©šÎ ‡‚Œpg¥Oym¹sAW”°Gã®åÏÚm¦:‘ÆöoÖϦ|(I:tO»_ÎÊ8žÕqåÐŒ«ù÷„[5¤3ó+…Ä²åŠ jIá>† ŒJFÔôQoDdŠ£‚ˆY‰g‚!óBïaëûs²{ãÀ Xáë6T%°.“˜ÑAéS&G ¢f¬YWTŒ­O™PCsºõÖü¿¦(mœcn9í¢îi÷Ë3.§‰€Óf\ë=à+ïµšÏ ,š[‹ý ¯†¤ìŒ=·É(\5Ɉ¼AéEìU£vòôÌ`ÈšÐ{ØúòS6 Kþ”â “ÄhàWgtµÓ§#Ê'ܱÔ%•ü)ÉA»éÖHÒØ ð×x¶ä°Kº§Ý/geBìçBíÁfÄâ01îX7f”ő஖·´#‰ z$bÔøS2bI¡ÞkGŠgRJk wÚúòS®Z+Ž-‰{¥8‘ô¾½uO‘AažkQòpY—TŒ¿îªd‹å¸)ï2–c£ÞÜ+ùlɳ¼’¡{ÚýúØn¿eäf”Ècš:ÓJô¾šˆh€ˆ—Ž’[J£pLz 0*OHÙßGzê¡u/GÁH5CæAï´õíKX 7õÁi:W2m#ÎvúÖÛ'ØûwƒÆäMÅØ:Á'@ï­.þšÏ¦œvQ÷´ûݧ¬ ûˆ!p¬°æ„Ó¹&,€9–‡ $YRÇ_Wµ„ yC4uIÅØøkr7ĺ9¼ö;(ü5ŸM9í¢îi÷û)ÚqÎÈÃS” ¸ÖªÖw.îõ/'ç¥)z×-ïJ ]R1¶¦èâ¼{l] ¼kì 4E{ÛrÚEÝÓîwßµ rt´Š88C>òõþÆDG2Ì.PÇ_c­k…tIÅØøkrï nUwÅi ÍgWEWÃ.çòo»ßÏWÂÊ÷äùZÐøk=0tk‰[?°†$EPš¯ýw$ÑQ·«…›ýäD“Cé®_AõØ 4_ó!§]Ô=í~ù]m Ö^sЫïŠÞ— S劆±¤âÝß¼/A~ó¾]QU+°9Èû”nŽŸªÆÎZ„ýlÊitv¿Ÿ¯„OÌÝ󕯜¯j7‰ùºg¯æë<æsW±7ç+Kr÷|nvh]x<5vPš¯„âyVcöÐ=í~é!ºª7 7gF²p´Zýþ3BmшÕT¼û„ÖNàt0£®(Œ¿&'aHwD˜Zcƒ Ÿ-9- ݧÝoçkQ[PÏWrî¨'E}sÌÇ?Îr‰Ò l×–Ý\Cw²ÚóuèpT“u[t¢×Ø ð×x¶äE S5ý°ÛÿÖëéŽ/vgÿ÷ý·ÿãÿÊå¿þõÿUþú×ÿü+Âßÿ)ƒÕ iÙÿ¯¯¿þ·ÿñ¿ÿõ¯ÿç[ü¯ÿùßþÏ}À—žqyèÈf=8ÞñŒ ’{U¬¯%O¯zÈ»°ÔB·«3x)ž^•½$ÊÖ­ðŽsìêcŽžM9í¢îi÷Ëe³¢²jø"iÎ…zC?ã†;Q2æûÞS¶|ù…/ëŠòuÒ|Gé"^c…±ùlÊiuO»ßo‡ª’ÞÛanÃÏ8!bR±ÚSÚÛ!çMƒº¾w”½îš é"b«±Ai;L‡<ë¼À}eÛýò»®+!=¹8Ò™“#Tw‘¼!ï^?(lpÁ¶NÍÁ «ãÞP¼ ÷ª9X÷"XyI[—TŒí; êî˺ xŽ Êw–CžTûq_?ì~ù)ãvQ¿ú”däø$q¯# ønঀˆ¥06IQu =IŸ’Œ9åÔû&¾?Gñ7Vøf­ÞÃÖ_L°ç\y_?qtY?.‚à?º"‚:¯Ÿ’ãz)]^6où©Í Þãê:êyµuÊ{Ëi)uO»_‡1 òâêT³L%âÍ„*ðO@ô‚PÓŒ‰ÅÔ#‘ôÕÉH‘5L½µ„˜] Z½‡­/?åj ·œ’ ĉÌãu͹xnÄõ+™’Ó¥ò¦ªÙ;oj8¹@x‘¥‹cºÆn;¹À5qK.» û°ûus…6îK Q2Ù€;­åeV #'­>p™”F“K鑸´ôˆHÐ[Ä·•ØזÒè¶þbÅ̹Ë^`1³2B-ÐÌEДgå!ïXn© c{Vbɜź€ ÐØ <+yR2nèžv¿ü”ß§ f3"Áovôö‹LÀ9?tØ:1Bzæz$šnb­ô¢H£Á¯~o)­ÞiëÛl´=?ŽòDÈÉ8^¤˜G+ò„E®™Ò™t”-¢?ë’J{g-ÁŒ ?=ãú_{gų)§]Ô}Øý6Á2 ¾+ÒľNN¤‘­´ÇUy„³• ™M…‹;Ge¸å“&]Q—̉4é"éLcƒŠ¿æ³)—]Ð}Øýö»^è~¯ÙýupÖÎTÿªs/ÚF9ESöw­mË«¦hª¦0¶¾+§èhÖmqóÔØ ”[ÄŠ¿1¶¥Ð}Øýò €‚‚½ÍÄ‚+ÊÇVÞ]û>‚4%áµ}FÝÒ‰³-ôH\ºÄˆ¸>Ô+QËÄQAÄŸâ™”Òè¶¾„ÄïuÈú­@·Áoiø3ZǤ£œíé©Kªø $NVˆpÀ—Íða3åMùÓ.êžv¿\m£f]é*޳bDƼÕÎß+&óÌyKZ ã̸¢H”z"²¼DbÄI”z#`09*­áÕRZz[ß~ʪ޸•Éäô„[záÄú‰”òjÊçG&‹uAaì¿é‹è¸]„‹º¨ëר tbʇœ–R÷´ûõqöfÙwÖqö¾U5á¨Å÷WÊ&xF­[Ú„§3³‰UI=8×l½®ŽšåÛÖ3ƒ!kBïaëû³¢ì••æä˜âØ™Ö:íí¦ì4=äÈõ.©¤ú ç‚Üvö²åÇí±Aiã¬[N»¨û°û¥C6 z+ ½¾F@}#×ÁsÁ°Õ•­ÜLÄÍ1îC’ÞQjE=]¯DŒˆI/ÀÏ4jÕæªgBJk wÚú>홡äûvÚs‚Û~½Tá  ãõV‡(ígÍœ†B!éŠJûJš+›·uó$06(Íá4·œ½È©{Úýr¯ØWaqïfÒ…Ö %*Ø.T<€ø®…nÆ÷5ù¢¨G"F¥ ¹*½ðhÔ ¸—d)­ÞiëÛOÉŒŒ{× Ó‘ Ö¿Œ«õï,JNÓœ·üÖ f†:_þQ/”кŠõBNi”öáY¶Üe²¹ü°ûå^™QÇèV ,”]ò°„VµÔÐÛ€‰iGC%è‘Ø ,QÉ$½(9רAРѶ”Ö@ï´õ}„š)×N°dGÂñ‚óèF:Ȩ¢´Ÿ]uË™M]Rsϳ®*ã‘·nW>Ò0¥51,FÝv e6m»_{<6#ëØÓŠj*ç%À”ïI?o¡“2Òx%ÁÇMœt.鉈Quì¹Âkó½šRoe¾W ‚Çž¶¥´&ô¶¾÷­7–pWûÖY¾¦¸ #¨€9¦œuuȇ*²Bwå±òÄ p¡nÝèR챃òÕå5o ÝÓî——ÌY?êoiNàúäY‘6¨¶y65#àÊ™WµÖ!ŸHN§.)QsâÓHwÆWÓØÓUÏ–œvQ÷´û—~ ‰V©ÏPêÛ”tm̦~ ÊíùI}S1öĨ ë3®íêÎ×”ˆò$²1~Øý6§1àšÑÖüà ëáŠþgµ"#⊺,R‘°rû–‡Óغ¤blü59Ș nAŽÇ…¿Æ³%§]Ô=í~¿‹2¦Vì * ö´/ÆÅ˜”vÑRÏ}“y¶½nêÚÙ¯·ò]sµnpó`lP^¨Û–\1×v¿Í©Œ>³§ã¯ƒƒr¾ç¼öÈ/_àÉTÌ)8)çÁ”º 06þšœkê¤Û±@cƒÂ_ãÙ’ÓRêžv¿W'WÜ}ôàP+¯ Y’7îï—N qtÝòžá €®¨á_81m­Ûã|˃á_ŸMùT“úȰ<í~;_Öº¢Êàëä iîŠ6,!GÍ ‘Ô,“|ÄÑFº¤šn9æèA]RÝ)â´Ø¥‹®/»:¥SϦœvQ÷´ûí|MÑÎóûçŸ4_ɉšwD|ò¹¡¤0§ZÀÁJw ë’ÊJ„çŠt¯AiìË!*=[rØ%ÝÓî÷óµàÆ‘«çkÁ¤r­„Ç¡bm¦4_Ç–w4¶¤.)Œ­ùÊÆ—w³nZ(Çå5þOå Ýí‡ÝokQ¢h´G²ÍÉá¦xÛ¥È'VLÅœB+ˣɨuI9ž-NFïaêæK¡åb gSN»¨û°ûm(´ãAÉ·Tq¢8kQ4«Â!›Šw_/T§Pn¿SèÚ¿£[jµÿ‡€ Psv¯ÔÊï@’®(û€Í‰œ놋ÖcÛ ìgSN» û°û}Ð…­íH§'8’n8l³EÓÔyf•¼ Mº¤0¶<ˆ·s}ÞEw-Ž J§¬¾å²º»ßÖ^8s:õÍœ0¤¦[3tÅä¤Ùɨn]ÈC>êŠrê›89þÒÍa¶ÆÎN}Ó³)§]Ô}Øý~î8¤îu˜oseH´ 5•‘€€éY”Öáۜ轭+Ê©þæÔ(ƒ”.Pþ5vÙ˜ —ª;¯kÛ݇Ýïk=—ã5W•(›e0«ÞrÍ¢Õ¾dD=æ4…w8uÉÃYh]RU%Êæäèá!]  i줺4?›rÚEÝÓî÷ó•{ Š[ÈÁa5àEà•oD°0¥˜yÕêØŠ)Œ-O3„Rµn›¸íblPš¯cËe)tv¿M–þëÆ9“åÉ |µÒ£¡Vt+éÑô…Tì#¢'’Hº”®¨MzAK7Z{ì °¿òÙ”Ó.è>ì~÷]×–ϲ ‘FŒ@.[ÖDÞ[F i‚€å5’j(béhŠ˜‰|[꜓£¥ßè™Òè¶¾ü”9€@j‰Ž—_'gÄnžе"Îßû~‰¼RaL Ÿ¬åÑOº¢ºM'2¦­ÝÈ=vPñ×z6ä² º»ß/½7¼¼y/½t*ULŒý œ’lJ‹i=äEÙ›* u6гp¥U‰&;µM JKï½å²º»_~×È~kŠÝ¼²Š½HÊ ¤ÎºÎlßFNàÞ‚Šw?ãHnydÈX—TS²9ˆ,J‘E]t ó³)§]Ô=í~_A@»Ý÷Èy„"ª^2…/5UÇò pkÔ½¾f×á%p¶pÿMÕ!…kcïRo=;ɵx][÷´ûåwÈ0Hñ]¾NNh×b¹ÒR¸rÖÚq›Ò:³-%ïñm¤Kjÿ ÄAñ¶tQ¼­±›Ža~6å´‹º§Ýïc©r¶îîXêg z.:G¥dÊ9_Éòž•‘»)Œ­ÙͤÜ9¬»25/ J±Ô+oùЖ;Ç»ßÖ–è$Yn•(‹ó½‘-DŽ;:ñ­lÕÜ Ï!©x÷wt ³<úŠZÆÆ_“}µ¥û½†¯%ŠcƒÂ_ãÙ’ÓRêžv¿OÄŽjC€˜ãPI Ät\?*ʱûN­n(c¢=î»C4ŒŸ;µº ç¦Õ­›U”TLùvÈiuO»ßî¯Ì+Y(Dæ •UâlA#ÕÇ”öÀ¾å%oIWTV6œ9QÁ-ÝŒ¦­ÆÆ³%§]Ô=í~ïêövõ Ÿ®~b{0]l˜òœ:ä—±uSÝy‚â4ÄM§:Ž¾Ç®N‘ѳ)§]Í©hsýnŽ–aëÂÐèb'°jËdûpÄ®uöZO …µò^ÿ+ùL”¡®(§˜8›ÒΦÆNN%г%§]Ô=í~;_º"¸–Ýó±k]Ÿ­1™òŽyÈo­¼¡{kÕõ÷>zØZê4öqÁuǼԷ]Ô=í~ébZÀxßkÝÝÑ1øàŒ€ŸXé]Ëåkaž‘J aÑÈWµ~ëF8Üc;ðîgSN»¨{Úýv¾v$&D“ƒ¯“ýg~gÎ?c†USšý»·oèÞ‚ysâ'9 …5ЭpÞslPJ”ɇœv%ål»ßº±Ç•ª²'sÚú­í,Òz$NgË@ÁÉ‹€šä‡K—”³.͉¾TÖ\Hí¬K?rÙ݇Ýï¿kcµîïÚ(½±ò6$.°x˜òÊzÈoÜLº°0®¬±õ]/¬Ú½oÝ‚r`Ž]v¹0ŸM¹OQ½ÿ°ûí|Fº,œ¯Ã°œ%’„Ë™bNݦ4ó–_ÙМeS— Ì™‘¤DÝ+º_ilPJ€š‡| ³þ°û}ªÚeŒ’¯“Ã=²ª»LÆÛLõ¹¿¤¯P>‘ÚB]R…œQé.÷Ûcƒ’y=[rØ%ÝÓî·ûk ¯<:œjh8ï bÐLi}Ë‚2Ô%U”1'+@«ÓñµÇ6¾Ÿü »¨{Úý>EbµJ¡9r¦àÄ:N¸„›¦t¹ùPáĘ\æ4br:ð»:  pšRŠD?ä´‹º§Ý/çëº/¯/­Œš¯“­FVG\:¿éÑO=‰Š9Õ®ÍòKAÔÐ%•„Ö$Î:õëÖ¹~ªþÏ–vI÷´û½_bwÃý:9h›×‹Š¸+¼wÝ”ü‚÷¢.¡ÿ뵩¾ÑçÉ©ªõŸHmIi]å9÷³)§]UàÛî·þ¦H _IH9ÓßD΄_'@4WØs9HîØ$ŸP¤«“³fËO]S16‚mä Ý¹tþ£±«ÏÚz6å´‹º§ÝïýˆÝËÉ~ÄÂo(zVJ@ÑÓKQ6ý0'’YªuE]LNC5ù-OÄ]÷Øþ·úÙ”ákÝù‡ÝoS$¢1¦¿NN€çÕš® iz%-dSØ1OùÙÒe@kszÔ–J·EÝ©Æn®KÕ³)§]Ô=í~n"¾{Ûç&âÒxú™N6pf½†(„’9 ^‹¸ôKWÔö Š ƒn\ú2=vµŸ]ϖܸô¥ÿ°ûíy¸D§ÙRäG4'Âó+Üž?U¤è#M 3°G\EòèÛh]RE¿sPj!ÝPV;éWàgSN»¨{ÚýþþÊ9Ñ÷ýµËq¢Ü¥ a¢=N«¢´cŽºåöÔ%Uwää}m[7«ƒ@3¥û+£?ul»¨{ÚývºB›ŠIš×êèX†ÊðZcÇ˦°¤Q·oë’š:QšwëÆ•Üc7û›ôlÊiuO»ßï¯Å_'‡žïÖøŸÍ”öW®¼Äÿyë’zàò»ÿsà,MüÏÖDi-m˳~oÄÿÜv¿=GçæuÊdOs*Àó†Rs£FlâÚ´c®4†vÈoœi©K*URfAwu•”|YéÓ.êžv¿Ÿ¯ºøéž#«Êf¢vL l; ÂãKùŸ‘+$ƒÊg¤<8 ‘7è.`•ä±Ai¾Î{ËiuO»ß¦ w$'õƒ3'oVR~Bp+V\LaÇp‘ä8’.©¤~pâ|o¬©Y÷ G“Æ…¿Æ³%‡]Ò=í~Ï)8Á¦Ûñöwç]„˜…°È¦¼²ò 󑺗foÚå’œ¯×½u«NBÍ”îPå7aòϧï±ß¦ ®”¯Ò•ZjNT€­É²ÒÅJ€ÝÅd1ŸP8Y.zéŠêòª˜¨PÖ­ñ±5vÕºçgC.» û°û=zϬJA¬N‹Ä„/q!1c–\ŽÐ4'Ÿ•zzmC×]'ŸUÍ÷«o݈ž» ÆÏ†\vjã´û=ÌyÜ1o¥Ñг‚¹7 ÆrgxUŠÜT¬• ªÜœ€1oÒµëD͉¨…t[t«ÕØ ´ÌCNKC÷i÷Ûý•€œEˆæÄuÒð ¾¼Ë8US7™³féZº¢Š›Žˆïº)§4vrÓ=›rÚ݇ÝïÏÃEm—ÏÃ…o3Τá(hå­…Hù<|ÈGÌ9é’JºŠSnlœÐ]h¢ÉcƒÒy¸rØ%ÝÓî_Ü_Ñ:`÷Wf‹ñþ ï[©5S¾¿nùª¤»¬+ª+ÝÒœÿ°Íå%¿C/^ãË!¶Ð<í~ù]3 Ç€xður*ÖJœRÑHx¹ª)¬¬SÀu}n]RE¥æÐÓOÝG[”ŸàgSÞTžº§Ýïa?t[ݰãöê§²¬~=;®åÆé7Ì@ê’*ö:Š“£—Ÿt#aÄc'—…èÙÉ¿‚Ûº»ß~×+|>ëw¢ïJN¸0WJÂÍd"£¾˜Šw_05%Ç´¥®¨MN¬(Ö͘–;+?Áφ\vA÷a÷{ÜtS¨tCœ[kåmÜÏÝM`•nŒªÂ¬7GQ·©üN¥âÄ%]Ä35öŽwêÙ”Ë.è>ì~›gê9Á=s¢ãG™Yϸ¹LÜ?A!³Å34äô¶.©¤=qP+ÝÈ7=6(ü5ž-¹ïΡ{Úý X_”GÈï/NE+›g5ï°±VÛ3ˆ+”…º¤ŠýþâdóP7¡üŽc§]žÇgSN»¨{Úýr¾¶èü»üçƒóUœ¨(‰×Xb–\\@MÅœê¨t”WÌ"èŠJ*çû€×në®>ÙcƒŠ¿æ³)§]Ô}Øý~¾NV}œ(æ à} ðTœ‹nSš¯ù7çß›r¹ 8(’.sÞ8ö‘ÇgSN»¨û°ûm)32z{t\ÿ:95j¦F·öÏ•huÅ¡žTÌ©¼Û¶ü&/uIegð‹“œ‘ºkûhþÏ–œvQ÷´û}œŽøc—2_™Þ€$²ÉRfSºcŽ£´ó¯£”y {è(ufÛ½Á<—ºÇî‚Ïð³)§]n#½í~9_kØ\ñþ*NEH >ÚÑ&Ü"Â*æT4mËGd§H—Tñþ*NüÆ­›p俨Éû«žt$ïeëžv¿¿¿6”¥è¿,W&úoCêTxXª\6úo œZ^UŠuçM¥þ[…ýÓ‹uW¥\óØ tm[N»¨û°û¿¾Óê³Þ¹þû—ö_ÐÎiÅtÙ7ù@ ` }Úîð ]îšÀÉÆ1½ù@ûê’gW­A‡´u›ºj5Sž^‡¼h²±«Ö¶ûíô |ã¨Xc×Jqàs«3.÷5òS×^”MaËJH߇¼ª•tEœH4·nè Ç6„ŸM9í‚îÃî·ÓëR˜›-ŽÌ‰Ó¨'òq‹|7…wŸÕ"äE­#¢¶ßí]æðdœpêô±u;Ð#’úP ]Bφ\vA÷a÷Ëïºüu%Ué21ç‚ÏíB÷ØÀ [wøÛÞ}”H^£x@º¢¦\&æDyœu{Ü5v—ËÄϦœvA÷a÷Ëïú½þV‚òºINw“%–·±S7¥cÎ<ä±Ì[ÆÖ1gb«íÓº-nØ”œIõÓRêžv¿¯‘³7«²¸Å '̆è²¶žHýï=ÒÅ%½âåSDUþ¶¨4§^àAiÔ$Œ =RZ½ÓÖ÷ST€ÕS´Û1u^øÖ{?¥):y‘Ÿ>×MíüBqЦJº ½ßÓ#ð¯ýlÈetv¿/"_¾·;2þNN¾° ƒoSðÆ¡²VòhÐe]RÎC3§¢ÀŸºÅÿ»lp>›rÚEÝÓî÷7‘Î’üâ›HßQÌØÒQíbÒ S˜F…”WdáD uBmIm•Ú­gC.» û°ûíj›Ž­¸HÞœŽÆŒ¦ìC™iJ„Øû(Xë’r©¼9Ñÿк.ï± >ïgSN»¨{ÚýþòA”³kúò‘°?¥o;áÂX è¸ J_ªå-'b$uIÍsçqYuwsÞ®{>›rÙ݇ÝoOGøñwÁc‰1ƒ˜U×øõ IÀ¥_R|Xê‘èÆ£ÂU½/FõÕMÏ„”Ö@ï´õ]ö"¿öA—°Uxe<†ÜhËÙ}õA÷y´ÍÖuT “ã-u€Ñ8v³7Aφ\vícoßcÿWß#ÛY«ßM[à6´i• ™}q}C*q0Ç“)…*Ê–qKº¢ú.kÉ*ïÏiëV ';!0ïðÖuȇ`rúa÷ë]nUR’±pS×m-úz\ˆC´ðn^;L³ZÒ˜ÔÒQ9£‚qEÎô ÃШ °>Æ3)¥yÐ;m}âzÁï,PHqŠ€/D é/O¦£*‡¼#/ˆº¤ò…$Ç>ñ¥[o5gO¦ôá¯CN»¨{Úý¶¸*3€™ñ橈3‘ÙqÉɲ¶)Ž gKN»¨{ÚýÞ¡Mœ§¶»·$lAÄæ$N±9‹)yÜZÚò!¯±9Õ\}wo¡w¥ä­Û‘ôÓtöø™DyÖnÉ?ì~_°»â9#ºm}D){T1Æ…ÈÃ’2#y´‰°.©K)ÃæÌØ‡©»fY÷Ø ð×x¶ä´‹º§Ý¿HŒe¹ßÄ`¢] †šW£™Ò²9yW¢]®gbì½1”]ÏÄØÙ÷Øu— %Ú;í¢îi÷Û»BGÒqdô}œ©ÉÄ0.'Z7…ý*¢¹–G4׺¤†Â,æYºM±›RX£ò.4ÉÐ=í~_  fÖÍ ì½B(¢É» nSóòŸ·|¥XÝÖår(s†.èß0E·)£ç!ïò†îi÷ÛD"]wáš3ÂÙ7‰}=£ªxûz’fûšrb_S—”}tæ4Y….b©Ûn:?›rÚEÝÓî÷ó•]°®îùÊÒº00–†«~šÒ|½yWɱêïñ×#͇œ*¬ú‡"u÷1¥ùÚyVúÛ§m»ßžXRi.'Ú‰°1+ótíz=H>Ê'HýMúuÈ£÷ŒuI¹ÔÊœÉrÔE”ÆÞ¥Vz¶ä´‹º§ÝïÛ„ãR…'ÙØœØÕ„͉P¡°9w£Ð;oy76gÝÔ† Œ¥[€¶Y͹ã$ÂæÛ.êžv¿/P˜û£€ É)ÀÉQæ3+ºˆÍ¸qƒÂˆ">Ê×Ú3­+Êà⌥Kw M–cƒèÙ’Ã.éžv¿Ÿ¯i°*§¡ˆ}¯áëÕ·»T3rvئ.©º ‡àî´uÚ²sì´;’òÙ”Ó.êžv¿Ý_ÑÅc]¼cšòýõGù¿uI5'úˆSLÝ@ÕòØÅ€Žz6åY1„OÞv¿½çúãÚ§šî9äDîK8~Kì˜N¨Ë¢¤8ÅRÞQZM]QΛ1§Gf‚tckñØÎ›ñ³)§]Ð}Øýö»NÁŠ7ÝsÈ vxmÛ9À¹c‡Ts"‡rXW”}áæ B#Ý&8›lêoZ²íÒ·]Ð}Øý¾`w͉=4¿NÎP¿–µrŽ HôrîØ¹Jpó!ÆÇÖ%åŽæ4 aPu»Ê÷ìgSN»šàl¶ÝïÏÙ÷”Ëçaösf .{=_˜3Å”ï˜×–W7¾65v‹r: ;©ÛTØÉyGag2Çvuvn»ßû‡×œø~?¾¿’ÄÄÒ¶m[± ôK™¾¿–8X~ÅZ*]RÝ÷Wqšî ¡[q?åØuß_ùlÊiuO»ß¯Ã}üôKôqú%z;ýŒ¢~‰»þuø%î|ú%˜“wø%¯L¿Ä]O¿Ä4e¿;ý}œ~‰m÷ËýµÌpØÏKç&s"z\ й.¤è—ý»“!¿O;זרے®¨Ëâ …uäÑØ â¯ùlÉitvÿø¯lÿ0ÿüÃþà ì¦ô]ç!ïò*¦H¾å£5ÓróÖ­ŠuSú®õÓ.êžv¿½çdüî§À?̹õ,˜37¢žsj§ÕŽ9w+*óñRÄ4(wž2§GMº ý_8vsѨžMyÖ ½ú»ßž‡«[ðè<\ݦ‡¥Õ»%ÈÀvLÜA%çý•º¤¦‰Ä Ðé¶Ž²ì®Ày”mòªÀ9Øý¾1L”ຯ9ÑS7ºh%anœgM)e¨Ü[îCMè’r?^sÐF[ºh£­±ƒÂ_óÙ”Ó.êžv¿ÓòͽL³ ’YïÅŽðY1Ôî˜×!·¸–Mu·‘iößuë´f²ø~æ÷Jž \TØýö<­Ë–¶(¿‰œ)ŒƒÈÔ¨­­­\ò‚–ù!ïq|’.©áŽ{ât$ R·EDUc7wÜÓ³)§]]8èÛî÷öŒ¬õ]`Ï^ì ƒl›5Q`_³(­¬=oùP±Ä¼7նבœH±¶nA“ Ž]¶×ÑnÛ–·]Ô=í~»¿xxVùÂ͉ÛÒj‡¶@‹¿ï§«ü¹ÔöÀé[@dé’ªú˜”;é×Ncgý ülÊiuO»ßÎפ–[Ê—g*K>±ÈQöbJ~ÿvÈ›¢?©oª;_Bœ±¶f¨?fÐSsåH‡œvQ÷´ûíyM°Zhš9q$L´(Dàœ¢tfMsˇ¯¡K* 4Mœz!!¾«Û=6(üuQàõζKº§Ýï¿+×J%­¥7*ˆ|áÝß¾Ç8B³o6m¨Û=ó“×aͲ´u«Ê²oSú®TyRÔ¯§v¿ü®¸I­EÀºæ´x©½hGÈn¦ài@¡äî ê’ª†T'šš[7zo{l÷æö³)§]Ô=í~¿¿ªÝY÷þJ¿w5ú%nxe³)}×zÈ;"áÔíŠÉëæ"NÜĬ 2½AÊôlʳü½ÿ°û½xॺȅœ†ð½Ît]õ’ø>ä(¤®¨êRq²N¸7@h®{vµË-@ªëÞvA÷a÷Ûó0¡7£þëäD-ü:³ÞøRË0´9õ«lãÖ—\ò™T†²tEuŸ²Ä SëÐÇ6ŸMù Í?ìþE\½Ä+fLÒœ¼¶àòµÚ9n&uCHÕ§=å}èŠÊ'ÄEF³¾R¬[Ð:šcƒr\}Ëetv¿Ÿ¯Œ˜ö=_ ëìY=ˆZÉùÚL9ærÈûú'[—”³ŸÍé€@nÊ&®×»ùn¬gSžÍ­ã‡Ýïï¯'ÔÖ|í8Å®#ÎArïº.ÖªÏMÑY´my¸uIuŸžÅiîx \†2÷ØŽˆøÙ”Ó.êžv¿ß_/®•Íûëŵy#Y¹cÀ.&åiÛò8>êvAÎH¸¾~€l#Hc7ùwülÊiuO»ßN°PÑΜªê–ß{ÍB"%OþuÈKÌ0êŠ*ŽÂ‹“âƒR·ýcƒÂ=Ϧ\vA÷a÷ûùzã~_wžéM´`f\€"êÈsI¦ü¥6¬LÈ€ îP.EÕw‚ÃÍmëFZ¢ÇîÊëô³)ÏŠ%åöÃî·ßu(»¿éþJs Û'_#¤›A¡*`$ï ùüÐ5m,NÜ:­y›Ûy~6åCþeü°û}ù[¦Ÿu—¿eú‡á¯Ëð'Ü«)Ý1û!oÈø¥.©fdqZúÑ/ÎcÏn=›ò¤Ósèžv¿Ý_Ù0/€¿NN‡–}ÂKqãfrÝ¢°N@¾Q~éæ’ò¦ [h±V© Œí–¯~6å´‹º§ÝïýÃ7Û…fû‡ÙÆî‚7àfA.¾[6%¿Dm[>€uB]RÍQ=q*< ]_’íks%ÿðÝ·<ëÕò»ßÎׂÕo7^ÍÓÖE9Á{‡ ÌeêoÎîtÈ?$]R»ñš8hž&ݤ¾—)ü5ŸM9í¢îi÷{ÀäoZ@Øâ8êyïš·#5åøë–¬æ-KWTuå¿8±qZ7®•c'WþëÙ”Ó.è>ì~[ŸVÞ÷qFT>.0Í•¶™Ñ⽚ ŸÐ%ê’_Q)+]RMNô€‘nÊG *þšÏ–œ–B÷a÷ûùZ½‡}œÖLE‘òŠfÝ”ã9‡¼#ï{¸­S{ì˜âDj¿u Z3qì²Û òÙE­›ݹǻߞ‡ `ž}­†4Sè§T¤IÆÔ1%n>ä„t(ʾ¿’³R#¦u½®3þz±Ý¢zÓ#þÊÊ Æ_¯ë‡Ý/çkŽi+²Ö™ß$N Ÿ–Œ;æD‹÷ŒÞ bNåpF[ÞmC]R16þšœ¹¦¦t¾N÷Ø ð×x¶ä´‹º§Ý¿ø®„ùßùMPÿ8ÍtxŸN:Ó”¿ë!wÝUj›r+$s*j]w5Æ»ì:É¢¸+èzݺ§ÝoýˆØû¥³„9Ñ—s%ÅÊKgÐĪ›t–XŠóßQ %]R»ZVœ¨¼–.zzj쾫eùlÉiuO»WçûÙ §K¬ãàw{Ôq¤£Ž#myG¤|è+³‚ëÈrc$}”­ËV`ŽÓ9ËÍq:~IÆéFùa÷Ûø+ðÅz$}œ 9T¹õHLZ-Ü“)ì îÚ©ÕHHƒ®¨¦©9‘¸dÝHUòØEyá~6å´ º»ój¦:}Ïáœê¨:%T}Ç:œLé»–CÞ•Áßç¦6¼²8y¹Ø¬›Ð:Â0öyã»\‡œvQ÷´û}^xAN¾ÎÃâàò¸jÚ®˜ ÕvLdýRÞàR.RcŸ‡Éi8S}¸4võyXϦœvA÷a÷/Öa¶à9ò›Ø¦8 žÁ‚q‰ò|½¶¼£òb¨Ê™`t×ÎoRC¾¶uÅÔcåÔϦœvíu8ï±ßÅ_#QjÅO‹â¯äD3ò#]kå÷ñ³!¾zQˆ‘¢©»ähø.]R]_sЃAºøñjlG ülÊiuO»ñ]û?¾k?¿k¯çwõçw½ëù]ï|~×;ÿü®<7GÞÚxä­ßµ×Çwí[÷´û}‘zébùur0Yr¸ž×)4£H7s*£ƒ“äØ1¥Kjè4oNGÅ uqqÕØMuÍ~6åM•óúa÷/¾+s·ó0s»‘ ÊÓ1óH§)×CÞ>O]Rmç™’S‘gJÝ‚<Óª[O?ÎÇ<+¯­]?ì~{½[4Ô(Ñœ¨G\·JVa­Sè÷3N2—ªPâFZ·m)©+j(óËü#¥ív=vuu»ž ¹ì‚îÃî_Ü_Y£ºýMÄÌð71—°vS¾¿r7"&:Ìì=üˆnD<óÖ-ÈåØÅ±"=»(³”•Ì„÷Úv¿=Gœ¡¢äëäEÊ ª&•^ŸEáÌí;-'R'uIåí&'`ߤû}H^þ_Ž JQøR¶œvQ÷´û}½ºîF™ÈäÀ=¦·˜&ª)xŠVíŠ,Á^·nÕ]Ä&ªVÖûÞºE&è…8MdslWQ£‰m÷Ûû+\~ qI÷Wp¾®«ÕKÆ}bF¯’#H wL¬¥’c•.ï@·ë_ʼnîÒ®±‡1ÇõlÉi)uO»ß~׆9ˆ2_''rîNñÝ€ÑMÉ×7ù…=’º—Jz…I(NbÄTïÝöØn êgSÞ4{ïòÃî÷ñœ„¤Fâ丑¶ ¤"˜¦2D9–fNÀÂ4ëŠJŽÂ“Àé®þ¦ÙcƒR<'š„P»¤{Úý‹û+ï˜G^8ï È g-}}ÔÏǼ£Bnè6Ëšòkç…³æ|á±I·àFʱËn^]TA§ëµuO»ßˆN¡Ã›sEa¢ÈêÕcé6…= w’äNºS;µ[3MíŠk{‘. 4vׯÀϦœvQ÷´ûxkܧ6~Sáþ ›le¼ûfJßuò®Æ/¹mª9#X"¨Q· G•c—ÃÊgSN»6úÚ½Ç~wFÛ ÷¯“}MV;4eá£Ow2…XZ…¯r òJ—T9#oÈ­nÝÀˆ÷ØÉMõlÈetvÿ—‹çÊ}Ïaþ…{gè…{ÎeJ_*òœêe@ „†2G[ݺ•[oûž3yVcNFí¶Ýoï¯Èõœ‘-ùur¢ídaf茶“ëþ¹N+ pÇd åÈp.©a4Eq"cÒº-¼É»MQϦœvQ÷´û=î%ï Î÷/ºçTd4ñžSÑ xšR¾Ä}ȇî9¡;tÏq¾?9Ey27p~î±ÇΚÏÎ&ú{Ÿl»ßž‡+2?‡âtæÌ@(^c$3”X/S:§C~©M{o›Št™Óq¡nÃâ̱›ïÆzvÎíè[÷´ûóµýc¾¶Ç|-ùZþ1_Ëc¾¦Ç|Mÿ˜¯é1_Ëc¾–Ì×ò˜¯í1_ÛïæëDÉå¨Ç5‡ŒÕEwü5á„]­Ú_(Y –-+`šÄ¸=uý©‘C½p[µ‹Ï¤”æAï´õŸ²üãS–ǧLO™þñ)yÈ!uIŸ’œý)ÓãS¦|Êôø”åñ)Ë/?e^'ê–‡ªñŸ̰Ù-GçDö9ˆxé±$J œ~ꑺي ƒÒ vÚt­Õ3!¥5Ð;mý5ºåù)Óù)Ù@˜Ÿr^ÏOI„Êý)ÇãSŽ|ʱ?‡Ñ-ù)çõóSöëñ)ÓãS¦_ʆŽ-ì(F[÷‘ï׺íïpÐ}¿ôa‚ŸòÚR)RDš¿eR¥—׎ªQ³üÊz&¤´z§­¿wÖ8ëÃA˜ÂãSŽÇ§lOÙþñ)ÛãS>Dó¢þ8õǨÿò@´­=˜++F]FÍè8ÔàjGº -°f\€„‡žçщˆ›Ò‹gêh=RZ½ÓÖ_Bë·ÝTØhi+ÍÈ„¸oQú”ùÞòŽü{ê’jn*,NuFb/Êv3å˜[Úò$¤˜yÿ°ûݧ¼«²r^£¬ßpÉòLö¿nDR@,[î P,H/l€Ð#‘åN#Ú,S]–9*ˆøS<“RZ½ÓÖ_ÌÊ{úãØÓÇžYþ1+ËcV¦Ç¬Lÿ˜•é1+ÇžùcO{úãØÓyì¹÷³Ê^ðO#\N7àj@ÌÜ‘5O‚/½™q“ˆz$ŠübDSéE*°FM*7Ò3!¥5Ð;m}ßå©íJ½§z/±'!«¼ÕÔnImbÏv¢M½…vµsî…†5·.À75v¶ÿWϦœvA÷a÷»O¹*ï[ìw "Š—†qE׬;î ÀD,…)®`ÌŒ_¡'¢+|(FüȤw Z;Ô3!¥5¡÷°õ×Áïñ#øíYÙîsVŽ{®Ç±çz{®{®Ç±çz{Æ?Ž= ~·Gð[³2ÿnV~¿Ö”K¾O‹WâÞÃ…/÷½ÓÍ(%ß'ªJ% $qé‘ðMZŒ¸ K/îÉÕ×h=RZ½ÓÖ÷Ÿ’¯{îüO~ŽùŸôÄÒ'Î^‡Ï¼Ô-êuºCõLê`*N8¬U]܃CϦ<ëgÐÇ»_úîXÞþsçÌAï; ’.áºî®h*|5w·ÈYM Ë®)÷0Íx©›ÐŒ—c'×¼êÙ’Ó.êžvÿ:ላö#¶¹ó¦§ã¢Âß9²qQáïäsãd\Tø;;.Úë–;qÑ~Ä\_}×E¬«lRÚÉùž*ëK¦Lj3œª%¡Ôb\)Ž£”/ôÏl]RMNœIw¤™ÆÍgKNK¡û°û=î3ĦâgäÄ'ˆ,/|勸°¦ô¥Ú!BÙ¸ó¦ì4·héFú®Ç.Þ¡õlÊiuO»ßÎ×°@uº¯8Q¥·æEEï¹ujûžAÝæÔŒnô’GµuIM{bÅA éÆiÃcû4âgSN»¨{Úý Osƒö|ÌBüŒµ¥ŒŸMSž¯‡¼£šÅñ3Ö¶.$Ö¾7˜·”Q÷ØeoÀ|vQ¦ÑÈ[÷´ûm¼;’¡×ïžqQq&Àr¤G¯¸Ò+r¤G“ ¼1Ÿ!/Ñ#^º¤06<ìä\‘pAÝ™º{¸““ž-9-¥îi÷ÛïzaWÛø;â 4W»…°îÊ#aœöÇl|ž™ Ìm #‹ü]^”cr·­€»Ø¯gC.» û°ûí|ñn±$~œ™Dw@$µ\0æŽÎª¤´cfsVÃàµõ@×Tr]*9Xr¥›9AcƒòZpÈatŸv¿ÇMÄŨÆeO¡ß&±ú8G~I1…/Õ)½QµÏUù®›êÞ1Ån°tãâî±}¯÷³)ÏF1¬?ì~?C0he}/Kœ;¶ý`鉔áñ2¥ˆØ¸,ÿ¾NFS芊±ã¯Å‰.~ÒE? cãÙ’Ó.êžv¿ß_YcèópQ âÌ@¢ñ<Ì‹Îq÷_Çy˜wVž‡ÇüyüRsëa»7SÚ_y/%6êÌÚ.¡tVeíhè’ÚN#q¢I£u:$pìd4w=›rÏçÒØýÒńΟi:ÞMF´XVk8"Þ]/ Çt3 K=óˆw³âÝî†K£&cBó™”õNãië/ YØhJ-O’Û½eÀ£0E í)’©¿9¡Ë!ïºÒ²qÛj¦À©+oÝ€÷Ø«÷³)wiVèžv¿tü¢UÉ•„,Fô¼šqF]-Ù¿çüÙåÅeFú¿¤‘ý/=IHAdÌÈ5¦Þ÷G,I£‚ ;9›Ak ÷°õ»(ÊÞE™\ –\ºdÊ»è!ŸÊ•]RUñ]sÐDºÝi8vv÷=›òâEå‡Ý/gåH¶9zù~Œ±l¿àöù¾-~O£+#§`Êsy…ƒKÒ­?¨G"F?%#Z[K/:[kÔ 8³²&ô¶þ‹ÐÊj%ONG›˜¢æðlÃbT/‚l>2´²u.[ÐÐ) w¢8%ÜNÒÍqùÑØÙ—#=›rÚEÝÓîwŸòûß=ò2¹‰Ñ×r5dE|÷€vZ}®‰cH¯˜]Ô#Ñ´ôˆ¡]éåµ°hÔ¬uGÏ„”Ö@ï´õý¬ÌDÛgÛL„9¢Òã€%±šÒÇé‡|(”Ü?žŽœ?Vy±°óãõ=vÞ¿|6åE˜,wýa÷Ë éžcY°|bÄ"¸NÑ„,ÖÇu&i¦pJA ³ä(a–.©¬Zsb •n‰eScw«Ò³Á‘Y¡ú0ú¸’X±îÛÌ;IfÇ7¢M·¹˜ÒôTVbÖX䲩ºQ(ûY©$]Þ5vÞ(”EkïìÛ.êžv¿œž¨hÀ%àë`Ä=àBõȾrkv˜ˆ‰ÔÑ®ÒNÐ#1b#ºŽH¯¯ó¼F ‚ë÷4CÖ@ï´õýô¤ƒÆÐtEEÝ7Ûí±58 Ìš)¯‡|`í¤îpKò a6ª.ÖÍ“sì¼¡éª ÆûØvQ÷´ûíè,µÊeoNÄ„âRÑÂIp¯)ë")L"¸_%Õº¤ª.oæD"†u#õÂcg¹ìýlÊiuO»qb:ó܇!„(3öL:ؾ+™òaèO8 ¨;å2d¾8)¼(Ô]¨1·ÇåÃÐ!§]Ô=í~ù]sQÊ2]€æ„3çªTëï=:ç¦TkºsJµùTªuèN¥ZÓhNàŒ[7˜»ÉègS^”jº§Ýï¡®†^U*<äæ‹@ô”ë¶Ãm>LÉ­~mùH„®¨nÐOq`¨k®Ç®»!Ɣ뷤¿ ö|ý°ûåvÚórwv1¢*áÇÞŠc}¿ÿ{Æž]Ýšý¾1Á‚‘釢)wf7'nàRÆëØ}ÙõXHiôNsß7ð‹$ƒ{ÏRpÊ3~gzÑ,m¦¼žòè»i]PÛî$À9¯è!uhwòØ |³=ä´”º§Ý/oŸÌÍêÍ2œLû½Ÿ¯P5R€¾·úáã¢Z̘*¢žˆ|\)ƒ±-½ë^Û>G£â™”Òè¶¾ý”‘¹zŒ a¨““ñ£5hvKøtLaò„ïQr"QWTò]UˆE7zÓ@w¹†ŠÇ%S>ä°‹º»_ž‰¢c%Sï¾Fœ£¿/Óéwß׎ûÈÅûž?)c`ÜF=;ÃŒž=¤W®¸µbT¼M3h ô¶þ¢\nî²ÂàÀÜÃV:|Ë(˜!å ²¶åh¯(]RûÀ*|ÏÔmð6slPÎ ë[N»¨{ÚýþLTˆÀºÏD€n<¤ìÆ™§ $×g" .K4fé’JûL4Éçša¬Øæ±AéLTy,ÏDÛî÷᳋)$Í᳋)&—ºÔp#¡„—˜{'œ”´åS%ÿ¡kw‘Zí2êmë%—%S Ÿ±MÛ®ªd•m÷kÑ ×¬ÆiU¢`Äšw¥ß”—z4­Á FÛR RD—'[Œh¨-½hc§Q«j[ôÌ`ÈšÐ{Øú>sá&V²2ȹ„eÿkbLt)ͦœ‹pÈÙ º¢\‹gÎtf=Ýc7£êéÙ”Ë.è>ì~¹qFè¦^v÷u0"ûmDp½WwDˆ7ÎaÆŒì~™„Ò¾*±L|Ô7vĺ j;ºŠD‘u¶›[>âZ!]RÕðŽâ £QºÈaÔØY ~vÖ0ì¢îi÷û»(‘Çn&OÀä Ž×‰¤ë ±ÍÛ”b‡ür«êº©~†Àó#I%ïvÓ»îx;ÛQË.'Çl»_Î×Á¾ySIÙæÄe0¯-¯Æéré¯ÝÐTÌ©•-¶å3¦uEM%e›3ÖáWºËÞæ±AÅ_óÙ’Ó.è>ìþÝm¦ÅfpÞfRѹj ß§ößH(ï*V¬yS]pOæT$m7¥ é¦dêq›¡<Ëtçv¿œ¯à«Í 7]¹¢´í Ê<°j€Äò}Ëln_PVñn·®($š.>ë†SÏc ÑϦœvA÷a÷ÛïZU(æ#09E…°œønÔn3×!ŸúR¡Kʰñæ$€YA·ÞV¦ô›i‡œvQ÷´ûWûë:WÊÃ+N€p[GÛåÁ]{ ©cµœ§[ê’êöðŠÓÂK+Ý@aóØÕ^=›rÚEÝÓî_'e»I…“²¯|&eÏûLÊvCZ'eÏûLʾŽí¾[ÏAýµ¼uQ‘¦±ënRÁg³bvA÷a÷ËùºÎZWté¿çF¶éø’«ÙÔßÜSßòè­,]Q— ,ÍAÍ$u 2ã86¨øk>›rÙÅzËÓî·IÙÈØY•djbLNœ±×»_Þõ>Ðv¢ (|©¹’n¬uI5]üÌ)Q­'ÝY ;ûV¤gSN»¨{Úýv@*T~œèLŸG Ë°IåÚÕº)íóßhõBÝ[íi˜‘aN¸ú¤[£›ƒÆ…¿Æ³%§]Ô=í~;_§Ê{ÕUœ~'!T:J*.Sz÷¿ILÍOÖUÝUÀìJ7¯ß¿ÇΚ~6åSeÇ£ÿ°û%¨ D-—MÇÅ ¸¸ŠjÒ…eq!õwü5ÖRɱÎJ—Ô%Ϩ93p©›.NcƒÂ_ãÙ’Ó.êžv¿OÞe‹YžýVj7²Š˜t}ãvÑLé<<ù%P“нx"÷¿8('•nF*ÇÎ;U­+;Ò¶‹º§Ýoï9‘ê¿p9_͙ۉßÊz«>ãûWu™Šµò{H[¾~•Õº¢ºæ«9 MÉ©‹JLíû¢ŸM9í‚îÃî÷É»j¡ŒÏ®:ì‹o;âä—0¥/urÇD¯´©âýUœŒÔ|ê&Ýz†)ÅóÚ!§]YiÿÛî÷ßuÕ;”©¤ls®È©Yh‹-v̈F]Jß5oùruëŠ24‰9¨ß“.ê÷4¶¡IülÊitv¿oŠšÝñëäªóÊê_7Î÷Q"«A0‚ÂÊŠôyÉoÜ>¨{» Š'\q\3«åÓcƒÂ_ÝçÜvQ÷´ûmÑSÚ×:jÐ{r2€ëÑhxupße*Þ}ÀªäNBÔ%•6è=8ùp=tóP{Œ¯ zgK^µÆ‡îi÷ûÀj%”üp`• iÜyx ÔÕ†ð)ù›¦9ëV9“uEÕÝ&†œ@eµ.P 4vv#]=›rÚ݇Ýo÷ׄ4ôo5'rÚW™Òº'®Þ²«¨©„öÀ®zÉ£Ϻ¤†[Y‹ÓWº-ÜJ»¹•µžMyÒ\ÝÓî÷~ÄFoÀm?bcÎÑï;jæŽiÊ+ë–÷„ëæv!IcëWÀìÈ9¢n’¯j˜ÒÞÝ9í¢îi÷Ûb¶¢³ø7€!÷nf8¢Dû6OC`Xζ‰ÔÝMéG`#Ò¼ˆÆ ÍgSN»¨{Úý~er{žÞ_éŠfÁC_jùÚ”§ÞmNoµ ¯lp9­+ªl8,rÎUÐ]Eõ·Ç¥ýu=[ò®_ÏsÛî·þ¦¤îÃ•Í Ä~÷´uŸèhVp™‚OÈ_B‡Cë’r‰”9ÛiÝèXí±ƒÂ_óÙ”Ó.êžv¿ß_çíò:,ÎFˆ#Ðz¸7×8Mi½ù /uI]^‡Å‰¶­Ò]SïòØ ´¿öCÞÕ0tO»ßî¯ ½<â®ýur&öHÔ‘æ ûçˆ~ÂùÚû륮#!G[ é’òÍÞœŽ=’º û'Çn{å³›šÎÌkëžv¿ß_Yˆ?§÷WzxWQ3ˆþˆœõ½¿nyîuE°Øädä¯P7ÀÜ=¶aãýlÊitv¿õ7ÕÈ1ù>†0{Òœ& Â†]}þ†)ø„F€YÿÀ®´uIUeOšSBÝì*#Søk>;«^7ì*®;j{ì·ëðSh^‡ Ã1Ùv2BcJë0›kFœ.¹õmßTßù+ä4¬ñÔ­hy ¿¼ßsË»÷€ñÃî·EŨò¾n5 çNkÌ|ÚÉJèû62_²B*|B7Î/”@Nº¤.·2g®©)Ý+ÀM4öeð=[rZ ݇ÝoýMlüw“Å®\øÄL#œŽ²”š)û„ù­ýнå/ò陜Ÿt¿÷Oú“š)gHò®o£ÿ°ûíþq¿u®$à9€Ê¸[÷ÿ¥íÝ•dÛuìP¿¿b™’%¾ÉéJ!™r´ÿ`EÈP¨œþã1dVG‡f醜³€‰•™|á1°ï»;ãf9)Å\ò%Œtë’n'"V·t±º5vSʡ禜vQ÷¶û ;ÿ¦É¢<‡ˆÓrçy>rÕxRJGÞÞ«V_ÿ¦Éâs5Yt>Ú¸òà>š,ž¶‹¶ËMÝ/×ëŒâ•Šlޝ›óD¹ÓŒD“èò½fæT—x•Jͨ¢±< l¬Kj¹TJœ²I·6¨Æ…¿ÆÜ’Ó.êÞv¿ß‡…xüMã4ùh‘¹&Ïß2¥}8ù9_ÍEHCAˆ“QLÝÉx;(ÎM9íʪ^>v¿m>R£6"»‘™9ÑŒlSûΚ>üþ4³©XSߟ}]G>Ã/]RndfN<\­©ÛÌ<7å´‹º·Ýï÷áîL³¯›³±Ä;)êë:ï¬Ai~.¹oÀejž&Æä°©Ûfsd;MåC¸‰ñÂ듎]nwì~»^y}Ÿˆ…ùâ¾uÞHæK×yâ ê/W÷sÉq§•.©¤Rbqó) »ÃçÍcƒÂ_cnÉa—to»‘ß„Ã5ì—xPyŸà×!`Y‚¿)›òMèÈ{–(CåÓºà Q·Wˆcƒr~Ó%§]Ðý°ûåzè,ðý*|çˆÑvÅ‹t–îI k*Ê`,Gëé’j΀'R€­["@cíñžrÙÝ»ßWÄ@PMÅÁºhï 4QÜfJ1—uÉ^.ÔzsÃøÍ´utÑDQcŸ&‹š›ò"`Ãнí~»^gÔt×GÌÄAFf‰Éuû|¬¦pgM]£|±žº¤06þšœH¾“nt;] B¥¹%§¥Ðý°û}V?½s §(£©Áûí᛺F+ ó»¡|`°<‡Êzœo ×cݺ”í´Ç…¿ÆÜ’Ã.éÞv¿]¯ ±°¢3ÇœÑ#îbûÛáþu¤¡‰K¿åqë³.©âÖBâ €º Ðh”¢?£9í¢îm÷ûûð$xÇÿ•'U8ódîbSú^¯ ÄÝ4f]RíøýÉ©ðûS· Í)ÇöÞ之ڠ*;qü°ûåz ö>Ã»ç‰ Z~žø&ž°•=±IÅgŸ¢a§åÑÚ“º¢06þš\¨»â­¢±—_Eš[ºŸv¿o²Xpj=jÆGN 8€ë5˺QSÊDc&[ÂMˆ9…9*›8»Ö8[·.ø406(ýfÊqjøÊ¥ûýÝùüþsK»¤{Ûýþ|¸¡öS5G܆ o1&Z‘.SÞY/9Rk¥K*˜fp”9 ÝïKD06(¯ã’y§jûa÷Û8]vö ó`Ä Èï[X%ûT{š2[&ú Ñ°äQóg]R®.2§ òF]TöjììX‘榜vQ÷¶ûí÷ú¨…S=MŒÙâ‰hŒ¹R@Q™›<¾»(®9·ê’j‚Ì4§F|Vº%< ;(í¬()ùØÝ»ß®×Ž1+ÖlNDÇöšªhû”á-¦"qÌò€i¶.©l¸Aq"¸!Ýoæ÷UQcƒÒ^P/y×Ùº·Ýï¿Wæ–¹Ùí£¶_)ÅgËÎQŒ{wì5…Ͼ¨g[È«~)ª%@œpZ7®‚;»êCsC.» ûa÷[ÓTöIçz'ÎìÝ´}!—eŸ˜+)³…9ð;Fº÷RÉ V tE-GÊÅ ¸kéæ¡Fõ‘#3ܨžsS.» ûa÷ÛøkQ¸šS‹-"«÷T× ¢7Ø 0Í—| ²FÝa@&¯ÃQ¿rt ÝÝ”îl¨ª¼ðô¡{Ûýr½nÇ.NÓÊüaq‘.÷ŒZñ@!ν Ž¼é&”{KÈÑóVº¤ ímNÜž­‹›·Æ ͹)§]Ô½í~ŸïÏOÓùÃKJ"˜ùÌNú¦®üá~É£GÖ•?ܧÆÖêîÌPìGùÁûÊæÜÌ^ig,èØýö|§fÄLt¾’ûÔ+ȹßëñAr(˜ã’Gß ë’j'³…ToKÕÛ»x½jnÊiuo»Ѽ† ¤N"PN4`ÃÅ]‚Þ«š"¨Dý´v›@Ó!hÞ,‡2Î9eæ]y2µŸ±Ë)Q/jÈXû±‹º·Ýïýþ¹Gœ€óæ ~6øuRÜ„&²±AÉï¿«j$Ÿ¨^¤.)¿ÒÌAÖ u ²f86(ü5æ–œvQ÷¶ûïWÜVÖõ~Å~—ø~e¾_“(¿_Ó‘/%¤t¨ršÉ/Ÿ˜éè&¼¨† €Ç‰ê•|ä´+«ý±ûe>â¾4Þc¾¿8ÑÈ< ây¢ël1õ7þú^ä]À¨+ʳæ„Kܺá÷ذöÜ”Ó.êÞv¿ÿ^Y‰¼¦¿W¶€KŒf¯³+µ€PzŸ‚ÓO'R.ݥʋuUfà 5ÖÑMZ묗»ö‚²Ž¼©Jz¬vûߺþýïuË~øßÿñ_þû¿üçþå?ý·ïcòÏ?ÿóOùóÏ¿þ‰såû/ð¶‹6‚;õÏןÿð¿ÿãŸþ×·øŸý—ÿúÏÿñƒþ–çr&júùº9®»,W;›¹=¦þòKË—Üý/W¿·ÅÑ?7ÙŒ†lÔJN¨à¹)§]Ô½í~»¼b¨@búº8@cªè©[ÑEuÿà³),…_;åpÚHÆÖb¬€¹Û¯Nê¹OcƒÂ_cnÉi)uo»ß?K:<^Úáæý4ÄR<sx#AùY2޼"™ºU©…Ú&g×[dëîøwõØ ü,™–Ó.ê~Øý ·ßŒk೎Ûo¢ãú‚ë×Q‡×MÙíwÉ£òź¤ŠsðÚ’.ò5vÒâ¹™M»øR»í~‰°*Ѫbþm*ô€îZ~@q¸Üæ6™JÀۡܵלŒ>›.—é㌀(禜vQ÷¶ûízåzìênΟ[h"åù{…í‹G7€W(äXêŠ2€9 ç u#Èà± ¯ä¹)§]Ô½íþEùðè\&EN``6 6Sú¦Æ%¨Št—0+\&ENV“t¦VÏØW™禜vQ÷¶û½{h'j"ŸíëæhgÇ>°Á~›µ]8)9|ò‘ï¸Ë°®¨)0 s"WκÚÑØ]áIÏM9í¢îm÷{XõöÌÇrO ª' Œª)ý’#›†º¢Êy–“õ´èì9rÀ\@)Õ)¹ì‚î‡Ý/×k¤Üèê[gÎŒ˜ +7ÇÀé@ÅšÚGÀ%âÓ–.©.Gž9Ý·.ñ_9vÕoÆsWá„]Ô½í~ïF Nz;°ì¢I÷Z'ªJ¼§)¹žK^P¨8åÖcKŒv`Ø~¢”£•§»ðË#œöÒŽ]Ðý°ûå÷ºbÉŒ®ãUŒ@Ü«г#¾E/‰°%À¤%fÔq<¡d´(û¡ºopÔêïžsCÖ„Þ‡­ï¿Ê‰ÚG¾ÁHÁþ8'Îö…û1¥/'_ò”J—ƶïøiûRKÝ}Î>”¾Êy䲺v¿û*±œc¯dROäÕ„Çn„‘rñL°%Rr)µÒ#±œŽCÆD¼½ƒ’mbTñ§˜“RZ½ÛÖ·NÛæ»¤œ¶Í÷I8V;"¿ NÙi vOÜz)z t%¸N +±G±n ”M Já>œ–R÷¶û%Na|èÜM€_2êþE àWí÷ð |]Û–šRJQnJ=Y}1b“¡^€ GŠ9)¥5лmý>.£ÏòEw"Ó/kºÌ*SºåväKÇl^‡ò¥Þœ¬*ôŒ¼^½ž.JÝÙ¼ªÆ†XÍÇîw_eœœŠkÖ×ň3«Gdyi߯¿]½o">ô¼/*’–}O¡žÃÞ‰¡NéF5ææ †¬ ½[QzŠ{éDNC_»)hÇÄòPSº§¬#ßEL˺¢N'q²º}-:í.Xˆd„æNê$&è‡úÃî—,*éû‰.7jðfo(Ñï-tTðƒÑQÜ=Ž+ˆÞé!jÀQOPs2ækޏlýEµ)lýÒmÚòc$±:wBšÐ`oSNÔ«G^H]Qír%”ut R’`Ž”Ò ¹!—]Ðý°ûmzõ$ª^\Î/Nt«.#ºl¯Ú~²²Gawv—,Ô#g»CêŠrÖœ^^éb[ÒØÉåüš›rÚÝ»ß~¯)ð”Zlá_7'vùˆuà›ÊH¦{’(ÇYÒ‘w%Tçq¨«›;9h³Üí—Ï;ÂPsSN»¨{ÛýÒ_PÞ‘Jÿº93ž‚ß«£±§Ý^j à«É!I”ÔåÀ½9«º±—zì&`MÏ ¹ìêZÓÇî÷ë•Ð'ó8Þè<À7õÐyàf_vœö_£*­à‡*î.Nv’ ˜J 4eçÁ²\veµ*:v¿\¯)IÛÚ×͉®¤'JxG|Ä%§ØAÅšÚ¹”—<²ù¥+jRœHd²nüþ=¶×‡ç†\vA÷Ãî÷ë5³µlñzÍxí7”áf4èiðËVSøì+ül”7xä¨Kj(úgNG‘8uYÒÆ±¯’7ÎMyRªJ*?ì~¹^KÖK„ýÍAØ£ô{@È•“MÅš*;+åc_B­Kj”Pœa4鯋Úc7ƒjnÊiuo»ß¿EÙ[Âñ³¡þ»G³Þ¢m‰Òf˜³?í1¬+jž¦$ä ÄÀ¨Û[JièÇeQž#§]C±·c÷{¸œp¶-ù¨Íy"ü³!kžðèu¤c.S±¦VôUµ¼‡“@º¤–|Ôæ 7u;zÓqlPøkÌ-9í¢îm÷/`·™tÒ¿X`˜+afFú1DÜРa¯œ*Š™ãèv5±xNáÊÄ݇…+ôAÌ~Æ.§åç6è>ï\ä?v¿\¯9ªÑ™¿óusr<@rÔ®ï&²›™{D´@ÅšÊayø-­K*©ôCœ]åQ¬Ëü Ž ¹%¯JŽÝÛî÷y Å™rŠ 2&G>žËT†[¶ Ã8dÀüöçè’ª'›t“.º‚˜uJhÊ‘Ë.v»í~¹^3àægV Øœh\2 êg´˜ ({P±¦  î)/€Á§®¨ÓÐ@œÿ,êî³¹zlP81·ä´ ºv¿‡Aê¸étÁÑ‘ƒøOsÔjhlšÒÎúywD,n°¤ª£mâÄB´.#Øî»íDÇû%§]Ðý°ûmŠÁFœ×_7§«ÛWCWÙ/ßX¢kÐp§¥¼ë¾[Ú¡|;0§ G‚ºÛñž›rÚEÝÛî÷ñn¾ »à­ü2ä7™à–'°Q1¥oª]ò"?ñœ‡ªíÙà¡­óèf}ËÅ”ÎîtäÇ9y¹5ö[˜†ý$yŠþ­æD `C%ìÏþ‰»ËVH¦"×`†ûÃòp”X—Tѿ՜¼íµnä{줫禜vQ÷¶ûç+wÝë|eß-d?UT5õQ_q$ý[Þ‘Ù7”>Íâþ|¯Ü™ëÑeK¿ªrþ眯í’g•ó«ÉE=c¿ƒñ] Kûÿº9ž³( 8×ÅÖË|nyD‚¤+*"qp6dë´® 1öý̹4ô(Öý°û=¬Êb––Þ9fdê;_³“>SzcæÇòaÀÈYuÚZ ÃGÖb]bì»­…á#Ùö‚ð‘µü°ûm™Ë­¼ër[ qâ6ŸGr.߆Á6™¤bMáõmyxBè’Znk!N §KwƒMV ¹)—]Ðý°ûí> \€–ˆ§ aH­"ŠVâçJï×rÉ›š§~¨ä2rêXèÖ…„iŒ]Ov禜vQ÷Ãî·ïÜB‹ˆšS"-uÞº¦°àHá-‚tÊiCW”ˆšƒ&°ÔÍÑ Tcg7ÕÜ’Ó.êÞv¿ÀUÞd’p,õ쀷bÆ'!’›)ÝmÆ%ÔTº§C¯8Àg]@vkìé­¹)§]Ô½í~ Ó€öÞkê>lNä ç§#ÿ'›ç—Ÿo¸„rÉ@-P—ÔÔ}؜Ȍ²nßLJÇîº{nÊiuo»QŒÛo¹Êƒá×Qjó¶æ]¬\ùSÜæ]º..ÿ¦<8}”çòà|•¹ì‚î‡Ýoýþ5’»ª[³˜<ˆíœm±îÔÒgO=®#>–G÷ë’:®â”ˆK7RQ<¶Ó]<7å´‹º·Ý¿,†É'üc.Ñ}ðÙ;1<ŸÌ¿ç’³ü—ºUGWa(ˇg;ºÑƒÓc·ãMN*†šãÏU¶<ۻ߶Bæi}fÎ`#fln7׊ÂÎd*ÖÔ÷IQ.yÔ{KW”[Ÿ™íˬ­Í<¶[ŸynÈet?ì~_¾Ô3QþgSûˆ7ÜOÂBØs˜RXt]ò¥¶O>TrcTrj âK·.µ:¦t{n—vI÷¶û-Lþ@ëÈp~ÝøuR ?ïrÂý¤¥&RŒ¥nŒ¢u䣨YW”é濗º¥bc—~ ø1·ä´‹º·Ýïß9™ÐÖ4£!߀13~ÄjÊžüKÞ‘=ûÙ“ÆÖ7Õ±æJ9ºÌÛ­Êw^oQ[iÇ.êÞvÿ¿/Kû>#K7ï“îÿEY^K(Sùº9vç6|)tçS~nÖ?—;w]®`R§(æ`’Ñ+L•þçê¢x¹sÛé¿*»Ž;wœ±ßUó¢äàû³L|nŠS"ub—wsû3æÂ³W: (_èæÐ•Õ¿Y¬+é¦ÌOŒŠÕÜ’Ã.ê~ØýÞí7ùtXvû1_2!3süÆýh¢þÞ‹‘øŽEyœi*ÉzqˆßHÝýŒJ”®Æ{nÉa—°o»ß^_áfÀö×͉øüÀEÓ"7~_(“)\1áâ‘îé’êFA§á²Kݪ‹r2…¿æÜ”Ó.êÞv¿ß6¹uùšCÎPB7ÂŒç4¥õú\rfë %;,‡Ð½^Ù'¼Ý‚kLVœ®9§LfŽcuo»ß^_QŽ™]æbN”ªìKe¬Ð(cÙ×Ïl WÌ]Êûa]R.s1 –Ò“Æv™‹ç¦œvQ÷¶ûåK .g»s`†óÈþíSßkR÷oÙÜY“)T.yÇ÷F]RW/85°3¤[ ‘16(ÝÉÖ%‡]Ò½í~{¾.÷$–;œÂti`’óŒ›À+¿ÎÀ™ÑÙ…ò‚^ßLÓ…±µƒ³âAFÝÝ×5vvwvÍM¹,…î‡ÝïÏ׊’PUZˆ“å˜ß·Ôí"`º‘)¯ó’JMº¤Ò©´§ExWº¨øÑØÍ¡aÍ-9;P÷¶ûmW6t#,ËÝ»ÄyÂo\ØÉ0à>v/´p³d÷RËùÈÑ%Qº¤|B™ï[é–€lÕØ ð×UBN»¨{Ûý‹}iŸ9}˜Ñ¸w²c;{$SÞ‡/ù(FR¡DéÛû0R‰ÙO¤àöü Êûð%¯‚ xһߢ¢ÓR-ºK˜ƒ¶ú2Õ@|ݽF‹)¸\ãçjyü”©kÊØ²æäˆ I7ÅsFc'Ý%€ÁH]R.ˆçû»iݺy'ÊþsK»¤{Ûýö|­‘R»/o|çˆÕ[ oâ}~îî÷ùX—(œ#ŽÉg=Ò%•NpuªƒÔ¾áR·Eå—Æ¥³›^§Ú.éÞv¿M÷]XAS%aæDNÉNÂmH4Ù÷¢’€®jdÜHà­G^"æE]QS7JsÐw‚ºÈßÖØ â¯97å² ºv¿OGZðB8-ôQ”ef ?0¦}&SNGºä’.©|ÒBÉIx W%'±T'™r:Ò‘Ë.è~Øýþ3p[IÕïœàL䄽áïûIaE‡)¬©…Aʤ+Q—”AÌi¸¸S·¢ ŸcWw|ÓÜ”Ó.êÞvÿ¢k Þþ3ù|ìÁ§=ñ†\ììbJûpÎG>†F]RÖPšZOG· °Í±‹“ 57å´‹º·Ýoã9|EÕ5†œ…®1ÝEKDXÂc{ú6=kyG‚uI¾Mâtt~¡nCW˜*o°»ÆpnÊiuo»™îÛô¦»Ò}3S±ñãÍWJîtÙÅI÷Íeºož‡jzÓ]é¾\ÏL÷ÏŸ+Ýwž{S»äN÷e!À±ûýùº=¶9\v_7‡("*I½§)¬©¨Ý±¼Ç[Eº¤blÆÁq[ö‡=-ŠÇ¥óµ_rÚ5\ÉÙÏØoaœ(-´iÝ,àd<ì €b¸lJ1ÒzÉàäR—T>à*pt[·îÞg§Ç…¿ÆÜ’Ó.êÞv¿MÏÏ*ÌÏô‹ó( ¾ þ¸öH˜>¤†ÇÛ½Ç<òŽnzÔ%µô+0}‡©ûMmÛ86(üuQ§¿Ó.êÞvÿ"þÊœ†Ó½‹±¶ŒwNcù{Șòz]GÞq< •—³GêU^¾˜ó0Ž. ŸªRæ‰Â·ST%»ª£±ùŒý6}0Á¯Àrs¢EĦvçÑí#"Âb >¡èµ`ù ¿¾tI%•Óˆó}¯f݂֮Ô_Zò\rØ%ÝÛî_œ¯ØÏú:ç+ Ÿó@ß=cß©çkÈ}¾Îë´=½oÏùZ×}¾¶tÆ.çÞĹ)§]Ô½í~ÏYQt¶û¼TÆsÈiÛ±µ£,û~òD&ñŽÀ,SZS;æ"9Ê*¨+ªªÄÄœ ÒMÛ1챓b žrÙÝ»q¾º¤ôÿ2¿é’wyêóUñQ®zŽëþÿÌoz]N³¦:3µÙt^K†÷òûzÔMÁwÿù77éŠò М ßuã]æ±ýôÜ”Ó.è~Øý>¿‰=’Îש²Ð‚3]< ÎÏfJo‘qä=«µôC僺IÈ4öéT¦¹%‡]Ôý°ûízM±Ÿíˆa|Åyö(›Ú{a_^$N kªÆ^*yC|•º¤¦JLÌóK]ÛhlPÊÅx.9í¢îm÷/ÎWÃt|Ýœ“ß®ò›L9§á’w%óó´}êŸùMï´íèžü¦OPÍ}ò›æÑ½í~»^—¢(]å4K'J^¼<{‹’"4êò‚ErÀ³PWÔt¿q¢-—u£—ÇîòÛynÈet?ì~ÿ½ª|÷÷:˜BOÄ@ZíD×SºÐ®–©ùPvÊì‡jú·šSÑ?¯«S½Ë”¾WîÌ罦&NÛ…Þ…)¬©‰®ã”GXغ¤¦ËUʼnöNÖí»„Äcw•˜xnÊiuo»ßç#.¬‚¡óµ ItñE ïÝbWSSkŠòGÙ«*ŠYœ´—¦t™‰Æ±Aùö|Éiuo»ßçûï·²ü¾nNdúmêA¶í.™@4/Φ,»Çû‘/€£SW”³)ÍÉá@‘.~jìä^Õš›rÚEÝÛî÷åå{öarŠúM3;᳟¦ô½>—üQ¦wZ‡ºòýyƲ.óù9ö•ïϹ%‡]Ò½í~ëoz4ùq‡9Q‹‘WÔ4G+§'^2õ—«»\rx|¥KÊu⬨ÅîŠ: ½\Ç¡¹)§]Ôý°ûý>üp?[Þ‡yK­x}ðËÛJ6¥µ–#¯ê©Ñت~[Yßk•çðYÖƦÆ¥}ø1GvQ÷Ãî·÷áˆÙîWaŒ9HW_ïõk¶ ëHùÃ+âÅ–G,Ùº¤²û„‹Ã)tRÝ96(ü5æ–œvQ÷¶ûmüÕ0½‹ykäìW²ŠØC)1ÛÉnBUWf,õvtAalET;¼3Ywߥ‹Ç¥[V¾ä´txb±ßåû/tÿçì×Í çmF+ªxCâÕ8—(¼1 ºL9Á™›^¤ÏÐØøkr" Úº‘öì±³¼žrÙÝ»áob+µãnì5Jÿ0[µÑ?lê#‰òŽäê’J'&Ö\™ÖýÞgËã±Aù–uÉa—to»ßÆs3錫‹3„Ú¦,A†M}Dh(]']Rí3§©è!t«ÚùNSøkÎ]…×ëѽí~ü<ÑJͰä,t ™ð<êò4Qzçdsb…늚'»‚œõœÜa!Ÿ±] í¹)wC â@»ßÞ‡p›5/§'œzP b Ý”b¤t„¼t~ë’ÂØøkr¢ZAº-Z¡jlP8_17岺vÿâÞÄšçÜ›XcƒÏþ¦>Ï'=O„[“t€F?õè>‚N0–8m?´­[QXáÎKð%vßðäÈð=P^¿Dð`RÍÀ“â +UºÈJÕØåT,ePÌyìbFëm÷[®Òíq½:9=^K045ÏåýM“ÈWR_í6Laly˜ÄµkΧ“¸v=:Ç…±1·ä´”º·Ýïß9¼Ï¶æwÛñv>¿›‘ž³³²ù)äú¦ØPÈß¹vVq†lVܲÊ8cwxznÊit?ì~[w5…K\%§ÇWP _=Hu,ÊGtbÖt'FV÷ñغ¤06þš†+’öé$ͱAÅ_snÉi)t?ì~ß>#s…é|]òë"úlISMé›êýÈ‹Ð&j9Ôp^4¿–nUkŽ:DùNfŽí‚î‡ÝoóÖ¢Jsc& 晊SâTÛÝ*¾¯d¹Æ©6"û„rËV<æ$¶õÖ%•DeNŠuÓ!,Ž J9qy9í¢îm÷û<˜êˆ<œ3Î^Ñü€m9+.Ó”ò`ž#ï(Þ¦®¨ÓdVœ±ÿ#ÝÖáñ}.|õzì—|êöÌv¿… .‘PS‹ó%ÄAªìí{g”~öèÚ*>{ô@°<ª²­Kª8_BtR7…Ic'çKhnÊiuo»‘¸Ç;†…D̃!Þ ó`L9æ’wå+*&ÿù™Ã\ÑvtOŒ)çÁ\r¯nåÁô?¿ÊƒÙ/Næ7‘ÃŒ`• ³322HÁ‡[ÐG—ò¨˜·.(Œ¿&'ªj¤ËŒ`Ž ¹)—¥Ðý°ûýùJüˆ•}¾Vúî‰ã€ŽÈº)í•óÈGBÇädüˆôq{Ç­²Y#2ªÇ¾oϘ[rZJÝÛî·çkBo—¡–æÀã»k£p[Ùf•ª» 㻹\ò®»Oè’Š”›ÓÃPé¶8l4vS\ÌsSN»¨{Ûý>ߟhMÞ‡›ÚUôÍe£Ê&3¦þr×î—|©‘öpg˜{gu6·u+öYŽ}šmhnÊiuo»ß·“Û®ª®Ÿ¯›Óãù5ÐD;wàn˜1)˜ëÈgT…IWTõ‹Tô‘nîÇΗ‹sSN»¨{ÛýÞß4p†¥dӀϨ vjÀ¿ÙNÑ›y"ª@Œ§|û“ºuEuGTÅ©~í#¨œ±ËÉÅÆ*Ç.êÞv¿­»ªøG$Á{›(ê»6Š%;ûé¸$è×g ã娨Ô%•Ü”œ×'鶸>ilPøë¦öÒ!‡]Ò½íþE>"}¸W>"}¼ÌG$,/óMéÄL—?eévÃOÃ÷kïG· fPÕ Î1Î]XåèÞv¿‡ã¥5Ø_7'’#‡·Å6Ñ_ͦQ­Ø”(ë’rÅ·9Ñ3Ϻ9¼É; ·ÎsC.» ûa÷{¿Ä"nÙñKô¦Ã/AЛÒ³D9òfN@tëŠêª\2§©) ×òœñô}TÇ!NÏðë=ûçT¸1W —Ø,gOê‚ÂØøkrb±Iwßæ§Ç…¿ÆÜ’ÓRêÞv¿Ï[Àßp[rj´6ƒÐXvIÕtb¤ÌégÛ"U¦~¨|Ú¢“”c“òÉ0ÄØÕš[ˆÃKYäcü°ûm}c&kû‹¾nNy î¥x5~ßP‡)œ qÊ£™¬uI-y§Ì™»âOºûÍ–<6(ü5æ–œvQ÷¶ûýùš#M>_3c¨Èiȸï²9±牨vsÂ3ج+ªä]œOéVDhùÛÁGÌóÈit?ì~»Ï8¨£øº9h¶÷ÊŒŸrÅÏ­šÂÝg$o²+]QŽˆ˜Ã’$ê6%UVSÚãó%§]Ðý°ûõtÉ8~Dá®`]d¶kåîgJ{e?rUCAWÔ<$×tõyt;œà»¿Isw9ÉÙˆ’©AÇî÷÷¦a©EùˆæTû<ÈKh±죥ˆÂM(pý,/È€€®¨âªJq²€ËB7éN6LéÞsC.» ûa÷û{Óƒ’ïÃàtüÀzÅ?¾Ž®Î t œ=Ê'.‡Ôºfê>,~œÔmShlïàû0æ–¼¸åJÿa÷Ûõ ¨5b_7gjM¥ýM0<ÕN¤ðÙ£ÀZrXW‡ëÒØøkrºœ¡¡K3ŽíŠ4ÏM¨2Úe³c÷/ó%êÁƒ!§¡†f©yëÂ>ÜL}äK@®|èŠ:ÍçÄ €wëfà½pìÓ|Nsg5Q!†³fŽÝïë_ó’çïëæD*äÎñÍL…/ñƬC”Þ¯}yƒßº¤œ•jÎÀk—º¯Ý"gžüš»ë%×ѽí~gš‘×7•/AÎP›Ez™ÅÆ;©±d«2½d¢ñNËö޽hlE ˆÊßÛÑ­rãTSÚµ‰ürÚÕäØ9v¿]¯ –µu_§!¤_ÛµÒ /Sy÷çÈy“.(Œ­38‘Ç.ÝŠ”-Ž]¯¹%§¥Ô½í~ïæ «Õþaæ u$ÜtÜ¢Ø\nš’øYG¾Ô~ª—C5EDÌ ¤ë\8v1†æ.ºRpõçúÃî·þá›ÊÆ-N-9ÈQÚwÖïPAþÒLQrTN~ÓÌ‘ï)y‰ÌPꊚ7Nmp£DÝŒü%ŽO~ç¦\v E‚ÝïÏWBÍs¾ ÷°‰ª¢ÙXÕ”üý’ÝpŸ~¨ 1‚œŒHÝè.æ±ÓA©Â¶ìëØ•µºÝo×kÑÎ)œZq€5û}êÈ*ÚFî0«)­©ç’lRw¨|óò4Îo œ½I3Ü!#\z¤>Î@ʟȇ.)÷»2§ Ù=t#Êè±ÝïÊsSN»¨{ÛýÞÈ5QO_¤Â»“àØŽ ™U”yñ+ªæéÅwŸ|t£O«Ç.ÎaÕÜË.è~Øý <Ó÷JÖæ›ó¨e ³e±ÄÁ”|éÈ÷ÎZ¬+j/FÒÛ˜[\d4 ”'²`üaÌ-9íšÂ.>v¿ý^«P¸¦üþäLx˜jdˆñÐᕽ0 †aXáÐäGò´C ½éÌézÚ-xù´¦þòfÞ.yUÝPèÞv¿÷óD|ŽøAN~†˜)q»ÿÜXöÞÉ?ìš·-Ÿ ¾@èŠjÎX'²­N(]töÜ”Ó.êÞvÿ"‘¾ºj?"ó%&N=æK°7à2¥õšŽ\Ñ3èŠêw%UêzX·Ê»LéU4.ùTƒîZØý v¿¿7ºXùˆâÉR+l¡%ùƒèÍ:ùˆIÞäÌ&ªJf–×Þä,ß=KGuþŽ3vµ7YsSîÕ=Û»ßÖq |ø}†É/!Nr°Œ`cF‰ÝšÕT|ö‘rɩҺ¤ªý┸æK7‡ßAcgû%47ä² ºv¿?_ÙåÂ~ rÂ\Eª“)­ÀrÉ+¼{K•¬à’_Bœ•º_ŽÝ_âÑÂÈýØ5tÚ»ßç7EnöØî›¯›3w lßR·[;¡¢õ¸(݇ŸKxzé’ªÞ5¯"éâU¤±›ÐO=7å´‹º·Ýï÷áäqâ9 è< ñ"2->àQZ¯Óœ@ÖuúÓ‘#äè²ÿǾúÓqnɧº<´ñÃî—ßk5Þ ýæ G©ƒÿAþR¦÷sò›*1_(¸tIUWA‹@jÖ ‡¿ÇvG ÏM9í¢îm÷ûz:æ}_øMÌ%~SGLf¡Ç ó!œ38á[ 톥»„M6ÎØýF£`ŸQâ7±*„øMÇî·ëY y©7µ8Û3d÷½”ÀúÚ+¬šÒ ì—¼8¿nΊ„ÖïSo¶Û €sŸx pbF#Ëk\à¨+jºRYœøzê“Ç6®´ç†\vA÷Ãî_ÔçÀ-=Oýë@¯Ï¹Û<1Õ«³ˆòš*G@RÖ…±usõ÷fÝ6)¯ò-÷SÿÊ8_ÇÒ¥r§c÷Ûø+°%Ÿ*?¢9áäËØöûtm|¦ÈL!…)z¥HŽ>*Ò%UåG4'ò±¬¹ZÛ¹\ž›rÚEÝÛî÷ïœêHø×Íéý>F£D<§›²§á’¡*­|¨öQ€;mËG· ?8)»¢xN=rÙU½pì~ÿ Ö„·FN‹›ÐBÎ}FîØâ«ñä–­(Gµ|Ä6"]RÕÞ)q"±Ãºy/[íÒÜ”Ó.êÞvÿb½2–vp/kC>§ò›X™±Dy^GÞßÔÕÎiÜß4ŽnALžc—sç7­cuo»QÇßAÑ>LZìO¼\v"ó÷M&™Â^Ù£6YòuËÒ%µÜEIœ›u·o¹ylPøkÌ-9í¢îm÷{?"+äÚé³òÀg4à•ež.«u²)­×zÉ‹ªfFÿse/¶SÇQá·`–Š_A™gìî®Ý' Ž…áü,ðØýÖïì“’•C`N Ø‹Û7°sî3òX@Á7ÝQ,G™uEeå˜ÙYÒÍp–rlPñל›rÙÝ»ß癣h½&a¦µ«ÎÂ^Yà ^§Ö¢¢âf -ë™G· %¤œWÑO~G·]¼¨Ka:½ú%OÚGÒøa÷ÛøëdöéÜs¬]5óý«ÛïSöœÚè°Ó¹!QqcÎŽ¯n¬YêŠrnˆ9ÁÔ’Çvnˆç¦œvQ÷¶ûu’xí»YQ̆ïÿ„[”ú»6QÚY[;òoü#¿C+[÷¦öñ†"¦fK”~3Œæ^ýa¥{Ûýv½"¦Rºþ­æô6My7ÂKŠv ¤K«æìX[x¡+ªëßjÒ,¥g¤Çöiì¹)§]Ðý°û½¿©â–™û›*nš¯õ­µÝ”¾)ÖIVâØ¦£;U'™uËšª“ä‹•^ÉT<6(­îZœvQ÷¶ûí½©…§ßÄ×͉ÌÜ}·‰O;àsuï…»Mä@ZÙ’Ö%5¼^Åá-‹º·,Pº“åKN»Î ®±_ã™â>Û.ûU5$$é±5ìo§ÃgD݆)ÇnÇß4tŸ®éØEÝÛî·ùèŠÉÑ€éëæ ASÅ-£ySE} (¼H£É¡åßm]Rî jBÒE¨Ccg}Žž›ò,¼°Ð½í~¾ònÓ‹ÏWÞ}&Þ"ÂÉÃ;¦›Ò^9ó‘7d§P·©«h?+96·'OÝæWÎ^mÇ.êÞv¿¿>èI5Ç_tÁؤíwŒ½kRüµ^òh+i]Rön›±-ë†#Õcw÷ÒÒÜ”Ó.êÞv¿ß‡‰Qš÷aÝçœ8mq·Ligå ¹Ý®Ý¥ ¹râ¯ßMjG—7¡~Ý©ô+˜·,Ö¤öÃî·çkŽ ü݇Fx¦äð+Q/Q¬e#Œ&S8»bq!Gý9ƒª:sÌÉq9”n޵®±³÷ÍM9í¢îm÷/ýMíàÀgáÁ²z‚y¤·OhŸP—Ÿ¶ãO¢îב7r*_©Ë ~Ž]„Ýê¹)§]Ô½í~Wï±×}>¼û›ÓÛvÄ¥+ﻚr¤ü’?áø’.©ª»¿9%¢µÒš-íš.ÏM9í¢îm÷ûó59ƒáëæL¡œ%TŽ«GÜ:¤…|Ï%5v‹õPãàK¸¿]iG·_ÂÙý~qnÊiuo»ß~¯@ë(Ãuâ,dEþc+²Š€ûê/Ww2g¯° ¶]SCBæ }Vº-ê44vs‡æ¦œv…î§ÝïqCˆê³ŠqC2 α‰zôoûcJçk¾ä Õ‹Ômª¸\ç|eu#qE˜8ú»¹»æ†\vu5O8vÿqÆQ~Dq±•9»ß‰ûŠT|ö=’¸,ýꤲýˆâ¤ðRwD@]cƒÂ_cnÊet?ìþE?ŽGo‰¯›8Î>„,PØkÌ”ÖësÉ¡—r¨ëåB‚RÒEJc׃22ÔñuõcWŽù±ûmœ9º¥\ir\ŸÝìcŸíêtO ž†Ž:JÊcùX—Tu}Ž8ØÐÔÍÀæØùàJsnÊiuo»‘îþ­_7el°‘ÏŸïµìºæ¬Œâ'Ÿ57Uý<[ý8›ÛºMpë³[¬æ¦|*‚O€Žc÷Û{BòÅo:sâ]¶ñÖã¦o¶@Õ7¥{Ӹ䨼.)¿é̉ “uãÍæ±ý¦óÜ”ÝÐÊúa÷ûõÊHøµ^+ëé°^éÿåzí¦´^ç%ôÚåzMck½*ÞSŽnCö"Çn'‡•s7eF*ÎT~ØýöýšPœ÷bùº9·²k£z¼1“)½_Ë%ÇA/]RÙˆLâ ºéAÓ.ŒÜ[VsKN»¨{Ûý/|%ÝF¾nÎúΤ«S< E8@!¯Bݺ¢ºß9âDö³uñÔØW¯JÎÍ^•´ ºv¿Ío‚v8Ö,ÎŒxñ~'†G7bÉñ¢L¢ðƬ;ÁÔò†Œ%ꂎ5›³”¼uÇT¦òcê/_Ò{nÊe)t?ìþE¾?¼Kw¾?n¸• èk÷¦dÊ9HõÈ«ª:z9Ôg¾?‘këÑ=ùþM”â¯ËÛuòýÇûÝùšt†ñîoNøuò¾˜ô8ÇF‰Sm˜ÒÈ34ä(Ë•.©«Ë9)ºŠR7?ÑU”cƒÂ_cnÉiuo»ù~ýÈ[ãËp\ïWç­±nüx¿Rîë¸Þ¯WÞ9E¾À„Êæ­-SïWç­þçÊ[;v¿ß‡wjTv-’9QO´÷‡õ­Èlɦ´×~ä¹ÝÔ%åZ$sЩ[¦È±]‹ä¹)§]Ô½í~ÿ½N|íä3ï~0ÓïÄ´‰eÊßë%ç‹“º~¶%HÌŸG·¨Ÿä2åïõ’Ó®ªö'Çî÷}w’srEs¢Oâî(7‘¿´o¸O€‰’³„o^òØY¥+Ê=ͪ@ÏÈhÊùŒí‹žrÙÝ»Ñ?5Sþ&r òþÜð¡_ßNL´¼ ]QùtÇ"' ¢„jd Êo¨#—]IÕëÇî·øÃÑXhŸa“uâD…Ä~cM¥÷ûóûG oÌ€.µ<`M­KjªBΜÈ$±.j{4ö©ýÑÜ”Ó.êÞv¿ç°‡\š~ç°Ç\aûöãtÛRò´#ï¹ÝÃ-…ºÆÖ;§/üª A ˆÆ.îi¨¹‹ÊNÓcÝ»ß×ÓUä^œ¼ÿ8ê`*2Cøòº)ùúæ%ŸÂrOÉÆþ{ù²R<Ö¤›ây¦±Aá¯1·ä´”º·Ýïãê<ÃæÁ¦W–ˆÌ*zàOZ¦~x|DT™±ÄìÄ \åiN½ ºŽTŽ J·¬‘œvQ÷¶û=^x¬’Ø ¿nN¼7®Yo±fÊ ´i 9 ep–×ý´.©ê*-qâêkݬ6Ž–ç†\vA÷Ãî÷¸\Ê59}ˆFY õ¦.SͽuõriÓ¹.•ëGwÉ»¤—‹8EkŽ{ézÎØù¬WÎíVªÑœ?ì~ëGŒ‚ïýù áü/äÀÓÁ^¸J䉮!ê/½ŽÉœ@îiÖUU;hN4;µn´7õØYµƒž›rÚEÝÛî÷þá3Lx0BßIê]Äuñ`Ÿ]¦œ«rÉ8z¬@$Ž^A>"qôš)e,„™/VFGU‘Žc ¥X—g3ǾÎnÎ-ùô]¼ü°ûí}8ï7$k¿nNTÄÓõˆq ½ªqgý~ªZÞãkõP§òQœ„Ø.tǃH9Æå·q:rÚEÝÛî÷çë®}hÇ×Í)ÊÖ^h*RزÀ”=ƒëÈjg©ÛTI›ÎùÊß̚ֈƥóu™#»¨ûa÷Ëóu¡êk×¹Ðï/N ßý÷šÙÿÙõ7ß?§…W¨8W8ù$ÂÉ']QÕ~qåÛº9üú;Ûﯹ)§]Ô½íþŽWÐðzeOæFo;>͆^žÉ”V`IG΃ºÃWe@ˆH9Ö ¤Ý“ôÜË.è~Øýö>œ½Ïªî*+w{ãsìnöXwk?”Mýåí9]ò0ĺ¤Ü¹Oœ‰üÒñOÒØÃû4·ä°Kº·Ýïó'³#äNÊ0”€ô¨Ë”o¸—¼+§\þß©±íudÅcÝÖñö-ª±ôÛ8 {ëIÇ.êÞv¿û^kŽ¢úò,åÁSž$»òâ{¿KQÄXsx Hý¿o‚åhÝ 86þšœ@6¡nyÆö£slRøë˜ÛrZJÝÛî÷ëµ±_Õñ#6^ÜÑA²!¾:Ñ“JÕ‰Óçë2'ph«uE—‹8Q4hÝŽêºÇýÓäNuuàh˺v¿½„Á¾›<òK³Â»ã‚ÈEIìjfJ~‰ÜŽ¿êŠö:еÀÖ àaݎבsC.» ûa÷/ò›p¯ìW~Öa•1.œ¼ GÏØ[“µõè6Åá®üá‚—ó‡‰Ñ_¯~Võ\v±íÛm÷ËóuÂÛõÕ„šÑíV÷‰¹Óª&ºEƒÂˆ‡’¯h+]QEÞmsr”®H7EâžÆN:Ï<7å´ ºv¿ÇÑã§©úqšÚú™vƒTL)FÚŠå= Y`®CÕSŸ“„òU×ÑpJs—ÕçhA|õÔõÃî·uWQ÷ëM}À™ˆsލ{g‰ˆh2…iÁ«’òЧã«%klEk "åÛEÝï5·†Ç…Õ¹)—¥Ðý°ûë•9õã¬×+#8!/aÊG›Ly½^ò¦{Q‡ê§þµÉ’çÑeFp‘§9_÷á#—]MM3ŽÝ/Ïו‹5/ÜœÈÁ¨è.V^WK”Š3°Dc]Ë£ÔÀº¤ŒDgN`~[7ðá<¶‘è<7å´‹º·Ýïýþùßàûgzò‘WŸ®nõ /“vã´K>p"Vá´ƒï߈ïßn‚W‘c§ƒöĹ“0¿r:º·Ýïë$œqùÔIÒ“_ѹìÁ¹;kG'fU>bŠ›å{Ù>ÖÕ„BmNQeèFâžÇξ=knÊit?ìþÅ;‡˜fë¼spŽ5Ä_u·w§Þvâ¯å’Ÿmª*"bN‰2é.Ç6nç†üôýMë‡Ý/ÏWÄEö9Å»¿9ƒBLeŸŸÛ¬s©¢â ÑÐ×ò/hé’*îÊ"N$IwEìVc/Çv57å² ºvÿ¢îŠ7ÙïœÍ9$÷yß³ñº)­©Ù޼}t—…±µOTÄ–bÝæî’½‹Ò;§ö#§¥K¨{Çî÷ï×ðuãJ‹3õ~ ÑÒûu˜Â3\–wœÍÔ%å®Ýæ4¼A©[õ~¦ô~m—œv5½_ÝoÏ׎ý,Jg¿nÎR“‚Ø u¼)¦ykóÈé t?zŸ“‰ÆHûìGT»ù ¥¹›š+ätto»ß~¯%Þ÷ßWSõ“‘r =oOþî $hRö4¬#Ÿy“.©ä~’äÌ@îD¤œcO×ÃhnÉa—to»ßĬâ9YUä òÕø 6j˜Ò \—¼#K°«+÷[§ñÂùÛëÑ-ê„7L)¿©]rÚU•S~ìþE}Î^Ãß«8 •k54¦b¯Ü s¢þ¦J×ÔÐ÷jšI7Â:»¹O¨æ¦œv…î§Ý/¿×áÌær™Žê}"2&³Swh×N̦~!ïÊÙÝ®ì e¢‰Sà9lŠææ|ÆÎÊåòÜ”gEÒóÃî÷}‘ =¾êcFÎDâÞÓ¾©Šî â›ª(¡’| —tIVâ4 xQ·Å‹c;‡ÕsSN»¨{Ûý>N7°ë>Éqºl­ŒÌ–ýsëY·•iʹe—üQ/ÊœLµu<ƒäLÔ=/!¼Ìê±ïªÌ-9-¥îm÷Ûüá¾O÷@“d¤8ÑbWÔsg)LÆéÚÉfœò…8uEg‹“#B3ãÛuÓ1@ÕIjnÊiuo»ß¿_ùyNnV/fÜVXÙHüþaJ{åºäÕoÌöçªh}Îk—9³ÝeV?fgWpnÈet?ì~ëGŒôœø^ø½ŠÙϹG@pïwÑ¡jîÙIý¥×q\òè&m]RÍ™-âDáu#ûÙcçNinÊiuo»ß÷Yaç1ùýÅAõ>á‘RÆñòäž6#ýðG•u¨ƒÜ#г¥‹rl½º57åÎ/ÝÛî_à†àÓ"æ½91Q`wçg{y6¶‡)¬À)äŸ8°uIUW´ŠS°ž§}Ú:cgeÌ{nÊiuo»ßçÁ$Ö„+‘œ dG5o oÌbJï×vÉ z.CWT1¸8€}”nBµÇNòÄyzSùa÷Û~WHÔ¿Þ¯â Miutä´ ºv¿ïO÷`… ÷Rœ\ï,†x}Dˆ{ç;Äù8Œ{ùDO<˧öðÐÚ+…{)N ìJé8ŠÇ.ƽÔÜ”Ó.êÞv¿½'½.2ýâÔHTÄàoQKñ½Þ–)݇Ó%諸.©rn¸äÌžºðõ”³f.9í¢îm÷Ëõú<Ê'$þ°9so Û9„sÿܶsö1>ÜT…¡¼)Fº¤º< æ2§uãÒﱫòÂ=7² Mn?ì~&2@{|&z@ ÷ õkÈR¨¦tf¿æø,»ŒçPýt³{Ôƒ´]Ï47ä² ºv¿Ý‡Ùªž¼p÷¤Š›PÑçWЮšÒݦ_ò_`sNyרéËbÛøèÍCݤ›P5…¿æÜ”Ó.êÞv¿õçØ×Ÿh“ûusè -ñ®zè ­Z3êIEtGÉ&Ѻ¤Š"]æäš’nŠRmŒ!¤¹)§]Ô½í~ïG$†Cžö#vƯÑ~­ÃóÇqÓ”ÎÀç’Ç–i]RU1s¨+]6ÀåØÎòÜ”;ûÿ™?ì~ëGŒˆqvúÉ ÆŒ8g Ïß4%Ïà3Ž|i­‡.©¡,7súv$Y7€%Â7\ÇßD¼pæ&/|Ô3v9ØÆCx᣻¨{ÛýÖ/QpÆ\.q€­Õ«NÄíOêÑ:€Ô_z1æ%–Ö%up¹Ä¶–t»¥±.—榜vQ÷¶ûþá¦õöusb[ -"k¬Ì¦ìÎGÞ…n7û¡®ÕMvméb×ÖØ×êæÜ”gy¾Xõqì~ë^±þŸf<qz\®+üšÈ ÜÛ6gà.œŸGŽ*êŠjƃ§¢1uK<\5v1Œæ†\vA÷Ãî·ëu çT¼Â¾nÎTÖî?lÂ}7›úËWQ=ò)_ÖÕé-N¼Ä¬[áñ}”§¡ÚÍM9íjº§»ß÷Yy˜á | r"I%":ª'Jxl³)øpщAòµ¿7ë’2j§9ñܱ.r5öÉMÖÜ”Ó.êÞv¿ý^}·1ž©ï>µr³'üIÙÔ_žÆ5¹ódB—Tu>¢8èœ"ݸõyìì|DÍ ¹ìbוÛî·ùÕP]¹!æ2RÍqìÈ[Û9¼qJŠ30G˜ä»Yµ®(WËšIÒÖ.â»êeï¹)§]Ô½íþÅ>Œç§Ãze. ûEžKUÅy0 ¹e”w£­C;N7±‚§ƒ/Kq:SÞ‡/yVæ£âtåŒýê{ÝU§ÈB`Žž9QùXwÁâœûš²ëWMÅg¿ëÚ.yÙN5éŠr sbZ7ª<¶{TxnÈet?ì~Ÿß´‡ ®ò›*nˆ/±“ýü±JvÆ(í¬ÉœýMl¯-uEÅšÍÉw*Ý´¿PköÜ”Ó.è~Øý¶þ5 Hku s–ÁQ¿?ÆúØÍN̹ےϨr“.)÷¨0gΓº]GSŒíÕí¹»¶¸°k¨YÛ±û½±c©Oû+oB'"p-'öÊfJûð¸ä Ñ©ÛÔ›½Ÿ(ü` æ<ºÙÿ»ÕVswUÔ|to»ß®×‚œ@ã›h·Aú8Ǿ—Nc\×=®ªnœrV˜S—”³d͉ôYë¢DcŸÍM9í¢îm÷/üÃü9•ãFìûAÌeïÁùºLùyÉÝÁ*tM,|‰a´§^Žn‹ÜcÝœ›¬¹)§]Ô½í~û~}íò#š™£u7.q~nhï=ÐIé³OùÈq›‘.©®›9”cÝ@ÊñØEïEÏ ¹ì‚î‡Ý¿¨»bvÿÉG¤O‰H–•¬e|L)¿)_ò®{³rÖØÊoÊY·ëåœ?¦ý™—œvQ÷¶ûå÷šªÄ‹îˆæÐMCdn‡B`‚o>€Ø-GÕŒtI9BcN”sX7Ê9œÜOìºÛt܇‹)݇Û%GçOéŸç>\(‘ëŽhö«±AÝw2Éa—to»ßž¯Ã¸ÐºƒÓÑè}ƒò!ùK+î6ýÔ2~O–ÍÙ'fÎÖ%ÕŒboN$'IwŸÍÝcƒRôG¸ÔýX Ý»ßâK<ººVáKƒ@ð~Öø :§ÝTœO‰©äáÞ´.©ªW‘9"KacÝ•EsC.» ûa÷ûóµ°_UòùZp¾.fªáüœË^žžnOWhÈ+PШ[Õ³p¯#{0˽[¹=HêÍù)—]Ðý°ûíùÁ‰½N¾sÄÁ{bã7ç8?÷îWËIJ±´Ø)¯Øµù©ÚÃYlNŽÕ-ÝÀÍñØÆÕñÜI¹Y­ûa÷ûóµÂ›ÞO»LMvþÄMg¢Ž£›Òù:/9ƒÝ™ÜKcë|UîT=ºÄÝâØ.禜vQ÷¶ûíû5âGûóÉŠ¿’ƒ YhÓþÞ œ=)|SÑ Ïò'|÷Ò%UT hNŠ0,uwJKñØ ­—œvQ÷¶ûýùšY—V}¾fÖÓ×,£‚Žýqª)­©~ä#«/ᨦ0¶Î×ü‰R­+,ÔÇÕsÝçk¾äS=\Jýa÷ÛõÕAµ?§®¹ §0¡öx¡ê4ê–—ð ]×{„ä5vé’ÂØø¦ÈAá u;Jm8vwž˜æ–œ–R÷¶ûùÀAj:_É)û‘±©ˆMþ¤¼D)_¢®#ŸHÏ¡îT²ŽwVrp¹ Û⟬±Ai×f·žÓ.êÞv¿}¿®pªã^šØ•û˜QL¾\5RHá%Õ–—8#©+ʸ—æv¥u×Òc÷ÒsC.» ûa÷û¼ðÎxŒÞ9ä<Ê0ÜÙÍ{òkJ+p]ræ¡BWÔ:UZE¨üeZ1gŽžèç¦\vA÷Ãî_¼_[Ü+ùo5'«úŸu0¨)­©|ɧº8„îTýMÓ œBPÛêîûîã±Aéý:/9ì’îm÷/Î×*ì×Í ¸ë8ã²ü°qšòùzÉ»<ù³êx|Å! uK4kÓØå Qpnʳ13Û»ßÆ_3úU%áÁ˜wín™‚ïmu¹éÕC<˜ÁTò‘œ˜Ô%•tB‰3¢òZº#úZkìá¾×š[ò¬îX¡{Ûýþ>LT_Õ]‰ƒÚ©‘”Gšqg¦´ŸK^…8œÛ¡NÝ•8YÑ!fÿ3r4Mùì>rÙݻ߾_<¶S8zæ ø‰’é}wÙÅ©pµRŒ4_ò(å¶.©sbŠ3¢]º‘ïì±Yí¹)§]Ô½í~{¾vå²ÆÌœ _ßP—¤Ý¼ í]Hɇ;ç‘?ðÆS—Ô8QøG1…_,ݸ_zìvÐ(†rÓÊ:vQ÷¶ûm~ÓÀ“£)ÖlZ”n ãŽË*€Ž§)œ˜Èy ¼!‚º¢šëšÅ ÿ˜u JS8¶}kž›rÚEÝÛî÷ùṀʃ!çA_)d†r'N5S:ç´|0Ê]QKÕ»æL½H‰>În±¬vu÷É©ÌÈÖŽ]Ô½í~¿7 ¤ä}˜Þ¿+šãšBœßl7La¯Œ+’åq}².¨ƒ(lÎŒ\QêÎ蓨±§;2jnÉi)uo»‘ßÄ Ã+¿ hó›PåÌø+ÑŸãi(Ï‘¯ô)‡Z'þÚ„5Û‹uÛPü5™r~S²\vA÷Ãî—ßëÓªïä÷*NDw®J¶ÖvÊ÷"ìIF£j„Ë›°+C—”‘èÌ‘R*݈{l#ÑynÊiuo»ßç7±§²ãtä<ˆÓE%IÄk©¦ôMõ|ä]ùij:N'Î@ºÊy«ö‡è7SÔ=äY½žý9v¿Ï[{%IóÖ¼ø÷-4#hrÏÎ4K¦”‰V޼ c‰º¢²ÐXÅÙ§ñcÝý5ötÿFÍ-9ì¢î‡Ýo¿×¦>)ê×,ÎRtGÜäAÿîe?üês6ãÄ\åè.EkÙ²„åüSµî»³Æîî׬¹)§]Ô½í~{¾FÑðNŸg¤9€R­QF¼Oµ…ˆê0…3°Å…IòÈwÒ%•U'iNB'AèîPjöØ ôÚmãÈiuo»ßîÃM8=SñWpzRä­ÁŸô {ó0¥3p]ò‘7é‚ÂØò ï´ëîuylPzµK~~oã‡ÝoïüwÙ~DqÂa¹÷»ûp6¥}¸^òèLf]RFg¶tÜÐØ þòDxŽœvQ÷Ãî÷ç+W˜êšÅyÂ{7€Q¸½<¨QM¦|¾^òfŸQ?Ô:ã'îÚdêîÜîé±Aé|]GÞÛ¸ú»ßú‡£ÁÛöDZ¶A\çâ¢ Ï  ³)y|ë‘·„Ê è’ÂØÊX ÒéۑαAalÌ-9-¥îm÷{±ØÇÁ! öÖbeÜ÷Ý6>îÃýÿ$/Â÷_åP×}¸(E“œÑ}ßåØ÷}øQŠ&ïˬ%hå‡Ýoó›¦2‚ýâÌp¤%|¦íPHð肘pg…<‡ Sº¢b쿺kI$üÔ­±9kì ” •ú‘Ó.è~Øý>¿‰úKõêäÄ(ûDäg»kÇAP{æìø*#å[WTS ·9¨’.êª4ö©»ÒÜ”O¥ÖF„á¶ûm½:Ð:Z@+~Ýœpûk*EZó³t5MŠ¿Fo@r¢Â1ñû'ÞÆS¹~cnÉi)uo»ßú‡);ç‰çó žÚ ¼T£[LÉãÛ.ùÚ/hë’š§–œ!or3*ÆžýàÔbnÉi×§úØý‹¾Hx#Öì}ø!¢0"s‹P=AÄ~! Œâ~'¨Qe®JχF‡^GêÒëȱ›2„<7Ñ h‘¢n»ßž¯Eû¨êsÄypá¬úÞâZÜ"£”b¤ŒŠ†|(bÚÖ¡Ö‰Ö’3#¼NÝ]p•<6(Eá[9rÚEÝÛî_ä…#“ÌïWrº°d;^œ uÓ”=¾ëÈðÔ¨Kªž÷+9oÐ꾄éŒÏû5Û#œŽ]Ô½íþ]]3xîºæ¹«ª-Þ¸+õǠðÙ3ÂC9ê–¥Kª¨NÒœŒ(,':2uIµç~¹tf%-ëªçƾ{B0'‚rZºÔãûØýÖßÔÔå"«N²©ÓE…ÇwU½3b. pÃELFrÄk¤Kªo29ñsµnïMc×Û›uo‘:Ž OÃ`.¨)çÁ”#ïÈ¥.©æü&qªúNÔUEþÇ.'¿‰sSž…ÇÆÞíÇî—ë5=H=NÂZ6Í=r†6 ™ÔÕH–¹àéLyÅaCݪBB²$g{°“uWÔØ'‚©¹)§]Ôý°û=.û%õ»êêc¶óþÚP³’€6ÙEÅgß–ú˜B¿~)‡šzÙ›¡ë6#YšÂ_!!¯~ì¢îm÷Ûó•\Q#öus¢gÉ,銻ûT[¦ðÙGOÉ¿OÌÔ¬+*©"Mœ†PuBÆÆÜ’Ã.éÞv¿ß‡Y—¼ª÷ᄎ® ™hQ/·•b¯,¦´·K>ë.å4¬« 0slªuµÖ‡²û½¸.zôc)uo»ßâ ð}c ‡€œn æ Ûê™Bf Êð%G‰¾tI5ŸÆâüx©›Ñ†cgÇ5wV{¶°«¨Éͱû}Ø[áä#ö«÷BÁËÄ}¦)íìtf%3ÑwØ·È<×íùAÎ>»c©’yœ±Ë¹=snÊiuo»Ž#ì)cN¸0³ÛÈu¦â ÜiÚ—Í‹¥KjøÄ'G랯Ç6ޯ禜vQ÷¶ûý;‡}TÒéw•ÃTp¢&x VI1åé%ЋuAal{|]µ*Ýy[”Þ9é’ÓRoÇî·ë5öš ö9„¶(ñìÞ%Q¢°¦¢òÑò€]³.©¬Û9 é=ÐÝÅÙcƒÂ_cnÉiuo»ßž¯MY ª»'Ü›û'#ðlJË”ÎWÖ«ƒ?¥£û(¢ªêqš: ñ°•3vuu€æ¦¼éü ÝÛnÿ[׿ÿ½nùÏOÿû?þËÿ—ÿüÏ¿ü§ÿö½4þüó?ÿ”?ÿü럱ϲï¿Àÿ)»gÿSŸð”üóõç?üïÿøçŸÿõ-þç_ÿå¿þóü ¿åùߟüV=.&„41çÁ¼\€Êæ|IÔ_n²Éœ€ï^Ö倣9ÂQ—A8ŽÝpÔÜ’O·>?ì~_v±p€±tÈœƒDy±îd‘dJ©%å’WÜì +ªÛ1 :™Jq íöãžrÙݻ߇_ø¬x†Ã/l –‘F0áDÍ(lZ(¹\ÓsäUá™Ü589h*]4ÕØN˜õÜMA¸y5½í~ { ¸ûD÷8;ˆŸ£±ŸMž›Ë¦âÈšìl9zIH—%7œgíÍAºm¢å Æ…¿ÆÜ’ÓRêÞv¿o×J˜ÉQÝ®• ÐùãÓ6úŽ)|ö\T:pVQÚ*‡ZÇéå mÕºûøîÔ_îó9ò¡àjÜn»ßÂñ/äId…Õ̉ÀÆnÕP[²OéÄžxÕ¥L)*,,/è?n ¢²±ÄIqnS·³‘cƒŠï•sƒc»B÷Óî_‡,‡¹ŽC–öcca)ñBóÛiJŸýsÉe"]RÃŽwqúNcµn‹^Ý ~¨¹)o ÷õôÃî÷í3ö™]º ÃÌ—Å­z¯’&*¾©­¯-¶ØÒÕ•XiNøì¬ µÆ®J¬ôÜË.è~Øý¾wΩóõQ«ú‡?7¤=8?‹)=Ú%¯N:xµ´“™3ÕL’I0l4YLi/HG.» ûa÷Ûë+|µko2g(ëqgeÔ‰Œ D@ÁåZຣ¼Êѷ꡺AòÄiÈ¡nU6f5…¿æÜUY¸aWÓÇyì~¿^ܱj×*Nø_à)X¶Òðß2 ÿHÉ—‚1mêȈSqÏžj.—óû4ÛÐÜ”Ó.êÞv¿=_‹<^]ç«oB3£Ñ5¶™ñĉØLéÄ—|ÀuG]RC ¼æôgdÝ-¦ïà¡õ-«¶cuo»áF €þåF J#ÝøÞ:ÝI”ÝéÈ»Z[õz¨vדS‘ˆB]¦2UäËœvQ÷¶û}›…}PW§^‰ƒsAL«a¾˜ vì)€²¼ãĤ.¨êÔ+sò ['»:õJsKNK—º÷»V[ûºöV{âchk²ô³šºÃj’3lF]RKÉWØ-Ÿ¢«6`ä¢(·ªºWåòç ÷åôÃî·÷&w@ʺ7‘³öÔùÉøÞžhtòÔÀ‰…»M“—:ä]«;t»üÝ ƒ›ÓÑ2´inÛ4v—ûÔsSžäÁÝÛî÷é „µ»ÊßÍÎò·Áb8|Ë”¾©çlI¸-•¿ñu•¿ñ&Åò·çxV4v¿ËßF:rÚ5Tþvì~ÛNn Ç‡ËÍÁç·²áííàLÅg¿"µSò'Ò>¯Ï~&ý—¿™‰.x»åªt£lÑc»¬ÑsSN»¨{Ûý‹°VPO'¬†U6qªpÝ D”º)‡Õ.y×Ûw¦CMAÁ™3ð¤n`7Çî‚#óÜ”g5|à#òØý6\¨ÊÛ™Æû°9Q™§¸á{)«)…4û%GžtI%݇ÅÙyù˺5âþsK»¤{Ûý¾…ŸÝ80Юx¦ T|7‹é ¦´瑬ów­C]…ÙÔçèV% vSÚãë%§]Ðý°ûmX­ Ð õ_7g!=¤Â Þ²’Ϯ˷Hîzc†|è^º¤æ ‘Þ2ëöð"æ³++m…sSN»¨{ÛýÞ/‘ñ–HÍ~ á`°|@ÓË€gû(=ò]X™­+jœ†Žä48ÆÝ„Ö8cWÿf47å´«Éõwìþ…±ÆïþyŽ‘7¡_^ŽÝoß‹¶¯Ï”ýˆ—v¿5⌠P>RyïË¡ä-ü„Ò%Õ§íÕºuÛ뱫>ÏM9í¢îm÷û{ÓÀÎØO:ýuéHLÏŸø¦¦)¿_בw¥çÏy¨æ¢eqêÿWÛ·´ê²$×Íï¯8Ci`”ïªZÂ6l»gBsmaŒÆíÿ}ŸŒõˆü¶,\{ A7Dĉ̸_í|Åc…A4I%Çn†ÀÔÜ”W%ä÷û‹ÝoÓ‘'+ÊÏ“טV9±of;%—zPJ*æì”¢R¬+ÊE#æ`’.úyj쪻¶ç¦œvA÷ÃîoÀÊ2Ô<|oj„ùd1!CÙx™ Sº7­”ïBÅf]Q+“ù«Gê;Sº7µCN» ûa÷[ÿp±ŒV•Êa~¿ŸP둃±ó.Rr%_·uIU¥r˜ƒÌuêV<à96(ükÌ-9í¢îi÷7îM„K:îMlqÁ{nQ÷&S¾7¥€Ò5³ð©è¦ôŒÔmÑREc7Gõ47å´‹º§ÝoýMqï}”!sðtÞ%ëðë„—@ àŠ?"˯XsÒ%uhGàÌHw"{‹cO…ü=7å´‹º§ÝïÓV˜¦mx´¦ñH¸ï*‰¹Ð¡›ÒÎ:ùÒû–Éú,²0<ÚRÓÞ>¬;î‡ß§Z¯˜[rÚEÝÓî·éHo C7šÓR4ñ2éH7ZðèöLGB}¥ä¨¯”.)C7šð‹ÒíQ¬±»¡5·ä´‹º§Ý߀m‡÷H÷eú%s$™2´ð•—)¯÷!ŸîX+©tß­x¾yÃ}rìtßqÈi—Ó}Óî·ïœ&OKẨ—Tk›A+\†Þ"3°s%Gié’jn*('©þVm¬ç¦œvQ÷´ûí>|á÷ijMkÎð“…Šx’/SÚYï”Ϫ/ÉLØ{hl½\n¼\ÖLÝ‚kü£®‹+SÆ!§]Ðý°ûýùº7ô_g}¦â´ÈyØg\DE#bŸˆÕ”NÌ~ÈàÁº 0¶"ªÁ‰œéÖÈ‡ÐØÕùš[rZJÝÓî÷é¾!BåG$çAsƒ˜oï³löU»(û„zÊK>j$ÆFW#½Él*ÕŠuÇ‚OãR㜖{ü3RN»¨{ÚýÖïçyÄÂèG½šK‘Gxû(4$¥ ˆçwd®P—”›’šmƒ­-…=¶[{îàØ®Ðý´ûýùJH†R}¾.–7 2GH‡¨×bË‘™hH¯“< µ¬Kª9Mœ‚„èöÈÙר üÚ=ä´‹º§ÝoÏ×¢}T~q’°ÎŠ3jwóÛÛÔï<Ëò‰„{ê’J¿¿8ðÝK~}~ÍM9í¢îi÷7ÒóYê›eRL¤å‰YXJŒ{Q3¥/5ù­wÐIÝg™Ó} ØÍ³;NL÷Óky—C>”îÛæ»ß®× I•ÑÕöçɉ„„GÔq<ÔÛ«”ÖÔeŽ×\蚺y;ÖûÞ§©‹¢‘cŸàß°æ–üR¡ÀΉû°û媄ƹ½^ ^µŽÌ–[¥|Ÿ¥wKùB¬ºK™£ŽÖ.ÅâÚºCÑeê#k†òf°´û‹Ýïýˆ{gìC-`̉šÂíË»áAê,5%?b;äáñ².©¡0æ´+•n@¥Æ®Ê'òÜ”Ó.êžvÃß„\ÁÞ‰3qb65ldio¿.ðšš(<.#u—Úöcׯ}¸>©Û´ãߦ주R^!]Ÿ/v¿ÍƒAÞÁFåù*N€Yì|“í¯Û?:rA—)äª çAräCH—ÔÔœ¾ÿ#¬ÛCñ[æØpnÊiuO»ßã úæU&õ¨ ùBÆ0AzÙFa™‚©i.¶\wê’êÙfœ&°µí•Û̱«Û,hîª6 £Y÷Ãî—ßµG±C€¢0¿IœhT-ˆ0—}w鑆M*~û)à–Gz¸uI]ºK˜›’uãä±ý†òÜ”Ó.êžvn Þ`·“›9*ØY;òH Ö¦)˜×!'0u+ò&=ƒÎb[wŽÝ3fϹ»bö„3àÛ8í~›/¿txçó%È©QX|]è÷‘á`J»»0åOÅ º¢Šv2q*³f [‘5ñA!_sK»¨ûa÷û甆ÇßU~`Tæ(ô£›r~ÓL9#ªÔ}äUôíùQ¶Ùó¤îÚÇy{æÜC˜ õNÝÓî·~ÿ;žH5Û?Šƒ´æòD®':—«0¸fûGKŽª<êŠÊöâ …£t‘­±³ý£æ†\vA÷Ãî÷~ ¶`¿8x:ã•LGDÉ/Ñ͉ì”˺¢¦áøÅð3­GÖaWSòK”’rÚݻ߮×ð_í/Á˜¤9«Yï‰T- 7ëîòh k*¼e–·uI’ÓœµJ·FìVcWÇv5·ä´‹º§Ýo¿+[TôýW÷óäL$Õ‚»¢h˜Âoφ”Oº¤º³ÈÅi(–£nE±ǶÇsSîf×õÅî—ß'x€Éñ»ŠEÝuEîv4NøõÝp ¿ýЏ¢ås´.)Q›µ›ÖQ1¢±‡^ ž›rÚEÝÓî÷ñœ‹™ŸÍñ¶ãëL™Æ‹´³2ÔÖkí–O·d¦Y­[ëUí—{êDh8¶Û·yî¡ΕåÑv¿Ý‡q<”®2dsPRp˜î…@¶.¹WþÚ=¯”ÿÚY÷‹”º¢ºÊÍ!u2 ±Ÿà¹)§]Ðý°ûý;‡ùúwó;‡Máñm‚š,ˆ}³²d†a½SîÓ¸´¤ÜLÀœ‰ÒŸ˜„yLéÃz5Ó.êžvÿë—«B¦dÅ¿B¹êäÖtï¿ôŸ'çQç=&±t\5†)ý°ëµ£÷¤nAгbÁLo²ÏòØ Úi‡Üø3¾Øý6üÐg£U]̉À]ݽö.u=¨ -º²+BíѦKò{éŠªêŠ :H]4vvEÐÜ’Ã.ê~ØýÞ{±h;ÑV®®•‰×ìh ÇúcJÏ’zÈS÷Q_cí“Ã.Ôð’rì‘©Nœ›rÚEÝÓî·ë5j·÷*¸”JêZTsï¸ ºÕ¥~m)lë’r©Ÿ9¨1 nAUÇ…¹%§]Ô=í~Ÿ>Èç¸Ò¸Åa7ŸLø«(€É4îIDOÊ;.Ôíº˜¬ÄÙ`Êé¸S·£ø¦ ³næŠÏ–YÒ.è~ØýÞí·÷ºî®~æT¸×’l#²³uÅ”yí/$ðR—”»ú‰ƒ¥)Ý^]ÝÜÕOsK»¤{Úýíô†ÃËô•”Ò] §ý2õ%½abq¤®ÓìÎuzƒ‚tîÜõÏܹã;½¡>_ì~»^QhX¦Ýâ,­Àýð/Ñ}'O_¦~çiüLË;Šù©+jÚ º`Kí 5¶Sb<7å´‹º§Ýo×+‹»Ë¤ÄÈ\l:?™‰3Lá §R>•¬y·¤ºƒpâ4-œ¯cæØ5ašÎ_Ö¶™º§ÝoݹK}‚˜žo΃¶í3rFð¹ß81§ðzk¢‰-å#ZKWTSz¾9ClÝ-Ç.ºØ{î"ç/{…îi÷7Ã¥FÐ4'p8"¹ÐÆæe4n…<)¿•Š]î¤Fâ‘c.×#Ñ{›©Ðå´‹º§Ýo×+Ó»©¥ÎWr¢´y¯‹m³[dbõÆiÖÔ åqX—TŒ­Õœ¾ê–hR®±AéìÞsKN»¨{Úý{“¿ËÏ“C\×)7BÃËä1å{SOù#71aéF(馯v®[—¸®KnÿL¹ˆŠÅÓú^_ì~GcÖý£2}PÀ¤< Fâ¸ËM§)8ÞÑBVr€IK—Ô¥¤sÖ~z[7.ý{:d§¹)§]Ô=í~_Nó°ÌIé äDS‘HÜÒ@YE5¥óµò©·ï˜IÝÙœ†g†:ò–Ëcƒ’3é9ä´‹º§ÝoÃà=®é¿NÄ*TIr.¶G\ê·§kÝ>ÑdÏòHt³.©¥·º9€â“.ÚËjìž!ÎM9í¢îi÷7ÎW„ëç+Ó ?ÃŽOm¦|¾ò‰;-u§n¸õöù:‘¸cLÒe}BWpT®'ÍM9í¢îi÷ûršx>ê^.ήßQҲ߻һEÉK3…3Ò©-Äkë‚ÂØø×äÄÑ#Ý;Ž ÿsKNK©{ÚýôAboïÃû‚8,æ%h—‘ï×v¥üÁm†ºzšx×~Tø¤’ø“ÊʱgîÚ—(+í¢îi÷ÛðK@¾ìÇ¥p)9.Óµ„îlCöʆ åÏ“.©iŒgqƾèZ‰c»ãYs»=ì‚î‡Ýï÷áê÷éÏ“C([¢XüšMéù.@íJÏç¯Íô|~‰i IíÚÄ]˺ƒàµû|íV•Vܶ>©{Úýv¾ñK7AÁ™3ÂË\Ž\£”c£ó.S¸Û $9â@Ôå¢s"LnÝä}Ž]\Ò¡¹!—]Ðý°ûýûµ¹âÏ“ólšK,¦ô¥Ö!Ÿ‚B¼VR÷™¼DŒJZÐ[LìaJï×vÈ«ÊÙ£>í~.(ƒâùjÎØgd„,︻ü:ü"¤y‰r¸ôJ9JN¥Kªë|5'úXZ7úXzìâ”SÍM9í¢îi÷ûôAbª;½œ……ŽTëKͦ)ßYù‚ço¹-DÕØŠ\ r>©ÛÕÌašÒ^ÐyÊ:ÛB¤Ýo߯3ΩuÉïoNtF©hp°{_þÚâEi oÌ(°<Êõ¬KêrTœµ}÷ÖÛŸí±§<çž›rÚEÝÓî÷é í3I¼Hï©BÅñ¨ÛÅ `ޱ”/íáÓ/í¬ÄZæ^:óEª±3IsSî˜áÈÓîoœ¯5VKÌ™MªÜ;û ¬¦t¾öCýR¥+j䫈œHi·n¸Z\jÊiuO»ßwE8ÕñgœÍ8§ né_?j¤#5ÃVÀöJŒUé’ò/#•K·"„űAém)½”Ã.éžv£\•žúü®ìþ~á»VÂUá»vSú®óÇëÛº¤fFhÈaÂýOo9vO¸¥.˜ÞÒ.'ë§Ýo߯ŸŽ´Yú›Ä¹Q±íõl(y)¦bM͈—Y‘5ë’rgs²+]¤ójìL÷ÕÜË.è~ØýÍ8Ý•°²äÜXŒ•=ðå±⓾>ÆÚžÈu»|}WR0Ž7Kꩦ±§ae57ä?<£v×7`ewj&n°‚ uv;‘³Çù¹avwSò =‡œ»6uI¹„9@“näŠzlw€ðÜ”Ó.êžv ÷YÇÕÉyèÙä'¬øRÓ”Þ9×!gBà#Âõhl¿sÒ­;¦ D¦)ýÍôC^Uyõ/v¿M|¢øÉÑ?ÎNž£½ºZ `î¨ç2åé!ïz¹„.¨šà‡âÜû}+Ý„»&ø!ç¦\–B÷Ãî÷þ¦Ž¸øÌxOEvî+_¤K0”WÆs®C~ÃSïnÇ×ÐØòN± J¿Só{fqë”§b”´k ú%í~›>XÂ^n¯WqÀ¤T—X%ú’BŠ_ôDµ|Äa#]R·×«8W¬9êüGrìâ²$Í-9í¢îi÷7`eYê›quz‰˜Ó0QÞ6˜aJëõ9äSÞ½q'µ`ª£qyR.o=2džsáâî°<_ì~›ßÔ÷ÒÚþ]­Wqb÷«-^Ðý‰Ý¯¶€^$…¤Ø€- së’ª^¯â”XsÔ½# _cƒÂ¿ÆÜ’Ó.êžvã>̦ YÖX~¥Vhl±ÎûpOÒ8äy>nÇ·ýþÇ}øÉûð’_¢™ò}ø7õ–¢_"í~û~½áå üÚŸ'ç–Wv!ûdÂ[·ß' d+(9©+êrŒ8 ãÔE!=•â¹!—]Ðý°ûýûU¾Õï×ùÀG‰ø*Þ¯W¥»ÍcŽ#k·’ºŸª±?"o¸RHw¨;ÄeJï×9R~¹ËUýb÷ËïZ^±X~žœXLµL¼5b¡ÕäPñÛ— oÊo•U„.©)`sb!Z7–žÇî‚$ðÜ”Ó.êžv¿OÏg9Ì­ï Îöäã÷ëðû?h~3MýÎÛó•òEÔÒ%5 ÆhN€üJ—Ð/û€†áÜ’/eЭöÅî·ûpD©jˆsà×iÅžü'v¿nÊ{å!ë’2D‚9h›BÝ»"AsKN»¨{Úý|‰ýû”Ì[êQÌÜ3ö/žðÿ>¦œ/qÈ_Q—Tɼ5pú#˜­Û ]ʰû„ù¸9ì’îi÷Ûõz©<ßtæD†É^a:ËoÒ¾™Šß¾VdõB^£O™tE½éÄYu.Ýu‡?‰cƒÒê¾JÊau?ìþ†˜/ÎÃ?ŒÈ[…˜0•þaÂT€gËœ(únÖÁ{Ò?¼²§u‡{Š SÚ‡ÛѯìRnÕu}±ûízeþR>¢9W@u4­ÿú‰wL¥î”nB룮toe62ÑœH%°n¤xìa˜ÍM9í¢îi÷7Ú¢ Šî²ÆG7¥ŠSïÒ?ï¤Õ”ߘ‡¼+>[»)Œí ¿Í°.*ž46(íñOÊe)t?ì~Ÿï•VñóäܱËBŸ(hkŒˆ>‹Ú9û+å¨Ðu ,ÊœµGëÎýLõØA鯠rÚÝ»ß~Wö;} SIÎîõÖe™M'æ4¥xò/Rê’ÂØöNáK¯aÝ}bÑË0•Šð@.KoÆi÷ËïZã/g”ØM~žœxAìso3%ÐÈj¿ARØYr|)ŸÄ.]RE Ñäô'vêî¶€¼c“Ò®]yØeÝÓî÷ëuâ “¿‰œÁ5WÔ3\½ÕLéK=‡¼«9×ë¦0¶Ökp.øŒ Û—üI—)ÇS.K/¡á¤Ýo¿ëí£:qî¨é¯Û±^#kwÿš-|Ién³ËF%”ë‚ÂØ¿ëmŒâÖ ~HÝ ½X9ö儚›rY Ý»¿ÑNŽ÷ÊâûðÍû0âa7ï»xç|éÉwN3'²†uIal­îÆŽÆÅºcév\Lé>|_)§¥Ðý°û½_‚/gÚ/Á·JqŽÝ(ϯ=ÎÀbJçk}R·>ë’y“Ó£)ƒt#9Æc·<97å´‹º§Ýo¿ëTÄô:º—ãuòà×T#1|åeJw›û?*u}ZR—ÁJÅYðäßêe>GŽ= Vª¹)ŸŠæÎöÅî·ë- J€Éý<9(·÷ÊŠ›NŸ±vSØ+]OrV^P×uª'”¬ïAí÷¢ç¦œvQ÷´û}Û1fƒ=ÙvLÈeCGÐ[¬Rò<º=H¶ÞI-¯nq&W/eOÜ%ÇY#¹)§]Ô=í~›S#TÏ1'JÖkNŽò4ôÀ:"…›Ð€'Ÿò‰jYê’r<Çx¥ ¯£Æv<ÇsSN»¨{Úýº+ÀeôÌ[c¯øIXYÜB'aeMÉ?|ò‰›u§âp‡×‘pLu¥nä{ìÌ6ÖÜ”WÁ@ñ •v¿Ý‡ãÙ°sˆË#Nܸ÷î¸ï6+nÜ{ç¼Lig}y8ü­KjúK‰(ÈÖ ÐyÝíuÔÜ”Ó.êžvÃ? _Ý™/ÁæAÌ—ÀWV¾„)û‡ùrÞxIjœù-ã”/ÁLï–c×|‰CN»šó%FŽýnæq9®.N$Kí½2öÂH«Úûh7…½’/RÊUßµšÔr\]œ¨A³n”j{ìæ¦Ü¯ÙÐ=íþÆùʪ•ç+€bvÞ—‹g )Ÿ¯%åD4§î£˜ûÈ—Ë…H@[ÖÝ.†ÛcƒòùZS>¬ØÖ»ßïÃ{Cÿu†ÝÝûpp"©fï…~ÛRc¯|Lig­‡|éUº¤Š=ƒàô'²ô©»_.kilRÚ‡¯CvY÷´ûý}˜ à®åûðÃv­Èû{ØŽß­šrNCÊ3&ÿ¬¤îŒÖ:>—uû_>jL¤h-ç–|©9Ý\_ì~»^/T>‚ªg£ZaM]Àعž-«‹úÞäjNxt«uIal{|+üQͺ%ŠË46(í{nÉ/×Þ¶/vÃ?|…×u& ô…÷«ZÂá}ºŽš·šùM·Z-À@GFuAalû‡[¼:{±ng‹ŒÝ³…ç–|È[¬VtWŽýÎ?‰_»~uÉ?LNx*ëÆÄYQ#³ß%ÒÓHÁ‡•×––uIM{ʼnìPëFq‡Çîï×Ü”Ó.êžv¿¿7=€ºº³]+[[³rƒk¦à·eN[Éß¾”£Œt—2Ñìo"§ Џóob娯_9|k¥]M¾ª´ûí½):!oŸÎÅ}XœðnìÛ̯WØÞýˆíQŠ(ù›9{w”O¨'cËœ±6éΈÃiìé8榜vA÷Ãî÷ïœÆ¶âÃïæ…?x5òÕÃ×,#åOúæò[QQc±=Æ•§1c¨|±²úŽ;k7åwΓò¡Lð9¾ØýþýºvõÜP«s¢Ð¶¢½WG©j)½HË!:ë’ή§ëµº ¯]ŽÝT7á¹)§]Ô=í~Ïyˆô‘quÝGü• e·â«ÕÔljy»º¢ZWÔÊø«3ÑØ½#’¾zŽ=ÔPüL[=í‚î‡ÝoïMMðfjÃ+NüIíÛÌE ¥/ÎgˆòMh¤<Ù¬Kj:³Eœ¨;±.ï\û¸“uÁ«…œvQ÷´ûý>|!ÿÊ|Ä‹ØY„GcÞ_Iÿ¯sâì/Õ&?-©©½Éœ¡¶Úlï8gŽíÏM9í¢îi÷Ûõ®}jž¯âÄC"î'3NÌcT#GJ>ÜšrÜ„¤+*Æ>nYbcDH·êÕó˜Ò^prÚݻ߯Wf!Ì\¯ÌD¸°^;nÇëɘÀ£j…È€H¹~m芺²«ÿfØÌŠpÂ}äØÓÍÓ5÷T£¬þX÷Ãî·çk‹?·}i.9±Ñm?ìÃ(¢±Õ”|íIyÔNY—TËÈ9˜_Ô \:mÜ:ÏM9í¢îi÷ûïz#KM8zäìGH?ß§qºbÊžüCÞÔ<½wS[+PÄO·îˆv{¸]…ß·ËÒKÙNi÷û÷kCޝüMä´èº÷»6Õ¶mïŒÃ”üˆëWQº ²Aœ9·võ…Ü)îøÃ”Þ¯íÓRêžv¦’Õ¹ ƒ ßæ¦W9ƒ¥ŠÒ>ÜjÊ—|¸¡»tïéÇ>LHýžºmoQ»©Q禼û©±ûíw½‰¿ößàÏ“«¾¢n4rO)¢â·U Ñ!on†®¨å(ÎÜGuGÄ‚4öp¬HsC.» ûa÷7pC°»µ¬W°Ããuq£Õª–]—Æ–x± ÃcÝ—d JþávȧZ–…îi÷7ò`F¼?W'_‘‹ÒÂïPrUª(çÁÔ”G*’uIe3+qÂifÝp“yìa_–榜vQ÷´ûß•-¤z~W¶˜Ê^óèÕ8M黲î*äê®VOê6Ú“8€£îþ|ÓcƒÒwí-å´‹º§Ýo×kªÏÔ«9ѳd¿LÂwÀ\âü¹*=¼’À.©©ÿVs¢\ÒºQ.é±»þ[=7å´‹º§ÝßÈGä[DùäÜhÀZTå|1³¥‰rŒ´¥¼+·,t»c·ycå+ZC9v¾s4·ßA%ßHv¿Ïƒykßõ]ɹ௠`·È*ªÈU1å—Ë!¿Õ„fö¤ÜÌÊœ‰¬êdÍpl7³òÜ”Ó.êžv¿¿>ˆ‘ªÍ½8S­êoDÊn°Å”NÌvÈÝÚšíâÚÒØø×—0mî9vÍ6÷œ›rÚEÝÓî÷¸!ê •Ó<°½w}©r{ï~ÝP‹)œO¼A)ßHî—uIal܇ÉA†!u·;±xlPòe݇œ–R÷´û}ž©ò\ä—¸…ØÔkFæ*Zá2*W³B.jn-ê\£Âƒ:Q¨›ðdžj]`CQ»'wíšrY Ý»ßÇ鞟—ãtñâÇ·©(Ç.øn %½%¿k‹å ýÐű§kˆDÞxèÆùhlRò&?)—¥Ðý°ûýùúp×}|¾>ÀèØÕ_êAÂjJ¿}O9>¨tECÛœèD%ÝoX=6(¯Ï!§]Ô=í~»^oå-½_ÉéQÓ´•‰‘À™5¥÷ë}È›*©îšTói,N¤”Z7p$=¶q&=7ä² ºv¿o'·½=n:?Î$ÜM=¨ÖÙ!ûUñ2©Î-[ þ<Ê;^¤Ð%…±ñ¯ÉÎu=»ÇôØ ­}R.KÑ—v¿]¯#â"÷•yáäÜÊíÞ1•¯‹ÝCÈ”#4‡¨Ï™öÞeÍ[©)¿ðW@ÝK¾ƒ'³é[PÃ)â÷ß9¶ÙznÊiuO»ßû›ö©V\‹$NEýp¿CÏŠ8MéÄ)'Ü5uI×"™ÉÒÝ56·Ç%S9ä´ºv¿¿3ÃðNÜ… ‰‚Üí /ó¾/SŽ}ò®–Û¥$ue^xWtm•Ôhá[•½¸7d¦\vA÷Ãî·¸!O`8߇͉;íF-èn².Z÷“ÚölÄÃûwuF ]RÙÜU­¤÷]Í]57ä² ºv£]+ÖÌÙ®•ñkÞ„°æˆï™’ñ9äS¹¬±¤ðÀ÷g–ñýø›ˆï™ò-ëW¡Ê«]kͱßá…¬‰îï*Έ§ó~CâKl0¢O|1JÑþRã €S—TÏïJNÃw¥nÅwåØ5¿+禜vQ÷´û›¸\Ω=ð¯. Jæì¯´™Ò—‡|)–F”áôÈ3HΚ"uQ䫱{þt5WïOÚEÝÓî÷÷á ß6}žÀ¹ ÀÞw—P(¤}ÌÙ7ÜL]R[·çàDÚ„tïH›ÐØ tvÏ+å´ºv¿Ï[î"õóäܨhe*"÷,ù Ý îBO ÊoDY¨Kjeöâ­XÑ5Sw –cÛ·æ¹)§]SÝtÒî·x0 5o+ñ`ȹ€ér¥åÞ ‚ÈåN<˜Hl’|“?Öµ¿‰œ Lêà½plçüxnÊiuO»ß¯×I,ÙË땯Π;/›Ô›È”wÖCÎj¨G_еQÞµ];Åõúè§ãÀBÕz‡¼XªŸv¿Å ø}¢KìÏ“ó„öžBö¹€<{™Š5uãé,ùïF]R·3ÑĹâµKÝ}F^þõòO¿Ò.êžv£^« «­ç%oûÄ‹•¨¿µŠÃ”î6+åûÔ›yÚ’š‰jKΈR3éâÄÔØÝ¨¶š›rÚÝ»ßã#Näá^Õøˆ¯ÆýV±.Ð÷bc^¦°#ßÊò'|ÒutØ'¤KD&Ž]\£¹%§¥Ô=íþF}óD‹ïMƒþõ’>ÜÛ54ºvíûOgð—¤–¼eæ ’Jº(ÔØ=›E6µ<¿[ÚEÝÓî÷ýsJ‹8&±[Íé)ïáÄ‹–©èŸSQòtsöË¥_ÖÕœE.NÝ®%ë–ˆiìâX‘榜vQ÷´û›}V–jŽ>+…ýéˆìÎþt¦tb²ÏJ¾?û¬°9:³ØîìOÇL¶5~}VÖʱGæ»ÏÊ::«P÷´û÷abÞyîC¸­ö”‡¼³Q¾—”£9…tI5U+˜S#}Vº%»[ÎsSN»¨{Úý üaGž£ï”džfJû0W7ß ¬Âbîöp„^ûðp4ܺ7:XµŒí–™rÚÝ»ßöϹ¥3½^Å ,Í ìÞ 7ò,¿¤p·©hžK9#å€heps¢2̺€hÕØÝëUsÇv…î§Ýßèw…ÕY³Ž£à†K,Ù2N|áfJ÷áqÈoEíX§¡=¼xuó»?ÕºƒÍ–16(­×rȇêÙŸúÅî·÷¦¢ áüƒ«k½+ð%«Z’_¦p·é¸7Uµ4¿ŸÔ¾Eq玿êâÚ«±‹#˜š[rZJÝÓîoä7au6݇‹ê›î>ô¯Díª)ç7”Oá+©¥ªæLt:¢îâ!Çê ê¹)/®/¹¾ØýÏ´ì½.pÏuá+r¦ö9ö 9z5¿ýê8#):?C—Tq9+Òg¥»€Á±AýNKžC»¤{Úý~Ö©õxÖÉ…\b’n7Øx'(ýöÌ gŒT'ê“ÔÌl㦼ðñ¤nŒ<Ó>2¢  ã³wÇ}º¯–ºSè§5wÖ‹ûp·.Bn”þ ú!§]K¹Çi÷Û{Óˆ`â.¦_BœBÃD»Y‹Þ€Õî6÷~NZŽÿHé’šÊÑ3'"ÿÖíq|hì®=ÏM9í¢îi÷û}XÝ#3Ï´ w»! çXCvb3åÌ–™òjcê’Z™aHÎPà{Ñ}çØ=±È9wW‡au\_ì~»^ùkNû%Ä $¡Ý[¡"›øÂšê¦´^gÊuCWTVȉ3à[ n*=v·_BsSN» ûa÷ûïÚØ*Ï×–;¯²ŽneŸ Sú®ëGY®¤–*!ÌA#érWnº+<_Û!/ºWë‹ÝïûÓʼnR?On+#!âŒ+Ÿ¦ð"í{±|ú¤–ªwÍAŽ’t‘¿¤±3¿IsSN»¦²ÈÓî÷y0ì»Ð2FHÒ8õ&¢vx¥¦|·9ä IÐufK•šº¯]Ž”r1fÊe×R_ÚýÞßt££ÍáoºÑõfRÙ¡ mñPçHJ¤6,ßHZͺ¢zvt%§…3Tº!ï±1ï¹)§]Ô=í~"pöWj0v¿;#å;ŠbJëµò!¯c½“š­ê‘sÝ©ÛáAâØ=£µœrÙÅ(ûi÷û¾ »Vâ×ÃòQü•œ8g €Í2Ñëµ@ýο‚zÈ^œÔ%Õt2§FQ tÔ«±íg÷Ü”Ó.êžv¿Ý‡»ê0œïßUA7pb?b Ã4%OþuÈ/áN‡.©ã4¾TuÉzvVוå±?Oã~ÈiuO»ßÞ›t`¾öÒøyr´Ú :Ý#½µGr©øí{`áYÞkIÝ.ÜKžPæ¬p‰Sé.þ5æ¦\vA÷ÃîoôY!2ûåõ:ˆÞŽsl0G¿¾)﬇¼;Nw%µœå&ÎD¼§9N÷äØãÌr)—]Ðý°û} ±ù‡É¹à‡½…,P«ÒMÉãñYÈGê>tEM£‹‹í¬ÛQ±{ÖˆpnÊit?ì~¾ò–T—ÏW¢vz÷ør¡çÏ”#4‡¼á^]QWîÚM÷¦çÀ'È¡)º7=YõÑR.» ûa÷ÛøkE¿ÍÇý®ÈÙ^Yxº8î?§Ò#é<ƒø“`ÒUoš±Q·^ð*blPò:Ž’rZJÝÓî÷ßu1{óòw]ÌàĺPçOÔ¨2oíèqSZÊÙiáVì¶í æû_©;u'»Mé»1±?it?ì~ozˆ¼|ozˆ¼âDÜ25pš×Ò½©§¼¡û uE-ÿˆ3ãù&Ý©ð{d×3ÎM9í¢îi÷ûw+köW¯Ø‡Y]Qé¥`—¤)ʱï™ò¡hwI]¹k““žø Ÿ+ǹksî¡Üäz§îi÷Û÷+ò„ê¥Ús˜|w+ŠžÉqœíNFÍÞ˜=—)ZS¡KêRmƒ9ÑñÒºQ®á±‡îÚž›ò¢Í¡{Úý ÜÜFŒgz©â•/ÊGvb¢ôÛ÷‘òÿï-l z‹¯Œ¨ÒcÌÎeô'Í‘cx¦œÛè1ôÏöÅî÷8K×m‚ &b÷9F»é˜BÆ»ÞPMø¬Kj:sTœ,wêvá¼OSø×œ›rÚEÝÓîoøýùwÿ¤ßŸë·fŽvì¬ÕÔÇõQf Ñaú“Ô•}}§2üKIÝ ì'Ž=ª ¦´´‹º§Ýoã9—ã1Ä—§ï'–2W¶÷îBÇsSˆ¥¡XEò†übèŠrv…9%ð'¨‹œÙgVM=3n¶î‡ÝïýÃ÷½_ÅA1-Ï@ubˆ¦"¤ì¬)ŸêRÈì b{øý:¯øXw'„W êã즜v-ÝžÓî·ïœðoí{OÓ;‡œïÀ;¦Ãÿ¹¤pbFNƒå1µuIUå#šSàã…î~]”¢ðëÓ.êžv¿Ï[»±ëõt7Þ¯ª§ÃûTõt¦ô~UD–õt-u/ù Ïz:ìê§ÃΫzº)ʯ¢™ò&ôpz4Óî·÷á(p OÂÃû09øsã-¹cºÁfnÙ¾á>wÊqÓ‘.)wÛ1§E’´t£‚ÇvŸÏM9í¢îi÷7ðÖˆ9ªóœT\î†N D_¦~çi¼9®ŠÒ…±ub²F¤5ëŽ þõTg•6ÒRêžv¿Çoº‰Ï/ÜKr¥°ú@%Ü/Òif g`ÜÕ$oq«“®(£ìšSâEJÝÑ?<6¨ø×œ[rÚÝ»¿‰s'î%9¬TnBýa_ßbJ;k;ä È=úú¶¢±½ºñòaT«·w=V¢Ç‹¦0Ô=í~»^_-êOgN´DÙY½7ð#¢kÁ õèÑZq‹¥¼Á ]QEÈ=â”8“¤[¢ŠÆ…õй)§]Ôý°ûuÍðïöÌ~pF²rãA5ìD>D5¥/ÅŽ9;/oÇ¡{)—·¬KXõ¶îXÊ^¬—(íÃÏ•ò&œžûi÷ÛwÎDoúýyrf 9_á¼ÚÝþ6æÙ§(¼Eð¥üÆû”º¢†^»æÄǺdê±ÝãÛsSN»¨{ÚýþC_Ýïœ_»`/e^Zaµ“)ûæS.”¢›³åÎ.3KWKÝ&LêeJ»ö8ä´ ºv¿¿î¥ÑÏ“ÓÍy·ÔƯ¹ð%†)}©•òµSÔeï”9‘(!]øŒ4vz§4·ä´ ºv¿]¯KXìîJNSï]bìwôí]¦ð¥TKA¾ŠºÙm]QÕÙÆätVß=ê8WŠÇ圸’rØ%ÝÓî÷ýsz 7á#’ï²}ÆÒƒ ôˆ¢Ò³””ó[º¤.wc'ÞeÖ7›Çö›ÎsC.» ûa÷ûõJ„´šùMDd¢÷ŽÕÿ^ÅnJë•È´QxvàèGïÝ™ïWrºêÙ'V`©9¶1>=wWgKbµ=Ï»ßúW„‚ö-󢑜¨!ØYø…˜¤3|}Í”üˆ#åHõ•®¨&o™95þ”¥[âOYcÅ8<7å´‹º§Ýû¿õï~ü¯øïÝÿµõ¿ÿóøëó‡OŒÿÿÃßü§ß"î÷~ûûøQ~ü×ßê¿ýõ¿ÿñÛ>ßËÿø[ àêÎn>ûøoZÜ€ÿôß~ü?é“üþ/ýÕÈZlQþ󷆚À þ‰TØÏâ¿õßüã1Éÿû»qì‚·)ÇJc·È#ÔØ¢öØýÇ6|ù2ü_ýû_ËèÇÿñGüÅÿ$š¶ˆªýñç¿ÿ‹ûç?ÿé/üº5ÿÅùýÏÿóO?ê_þÃ?þíoÿî1Õÿ¨ýWð/ Õ<ÔßýöPó' endstream endobj 358 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 363 0 obj << /Length 2961 /Filter /FlateDecode >> stream xÚÕË’ÛÆñ®¯ØÒ ¬h!<¯Tœ*+±*v¹—Åœ°$–d‰‚”´ùúôsf‚KËÊÁ9œGOOOO¿‡o–/^¿-練ʓünùxWEwE’†QžÝ-×w¿ß-âàó¾ê3| 'øÚÁçã")ƒfqŸ¤0Øàô¾V‹¤¶8«¾Ã¸ªm«yÁVl¶Ü¯[èôçqž²äßÂá´ìU#Ò5·i¸íqã'†þ„ÐH¢Ð€Ýn_G"q þ†ç¨óŸÆßN×ÊnQÐ5„õ ië ÿjñ~ùÃ]twÇa• ›>é™”iUõâÔÀ#L4s¦ qO1e˜ÃAFT‹{S™`Ó „ ¿M•2÷°Ñ5®g…VôŠÉð^ˆTlL˜Âu‹L=X;¹²õÄÜ9¢XI5æ2ê|ݺΜ°œÝt=0¾æ3â¸âVî$ÆÀGe\:L‘M20¿ M<¾<ФÒd_•œûöDØßdòˆ­.ZU’o !‡M„®x’­9BOÜ#¹ ‘ß ô ãõš'h/X屇QÏ|©o­„¼Cή¥)|/ ͳ8#¢HÈz¤;²k±‘3¦elÕÛ|)|#Ø"Mõàzl&àÅ–dÊaÄ‘Ü8hÂÓ >ßDh ûØ·#*(Ü at8BúT¯Ù$gU,=Êü(xºÞçM.žmXš&Aã¼Àyðü›h7»<üìåÍšÍ ‚’(‹â‰Çí#\¬w+½q&pÍ€GkMû–å¸4pÖK>2¬"4âU˜¥Ê9#3B:—²™Ž¿ûvš‡l»gK ›ã Þ0$Yæ&WCÂÚMW¯^œí·–´¸-„$ÖˆÚ[ d§¼x‰àN&ƒ]Ìq”WpZÌEw0žzl6*Ii5– t6i#¦4OÔÍbHšpÔ²¯=&PÜœ–Ì›5œºpȼ`í5¨P òA¸T?¨WÙé™PÈÀ,P0ãÅ‚;XRÄBãܦ'æ5D8ïÑ­¹aeU:–îa5g[~B`”ã^6—ð¼*z móžÛjD*‰($Þ’ ž§b.)“„lè¬Â¶.Ö–“t½ jQ}Ý Ó-©«)TÏd° (DÝñwÝbÆÔd†K<>™®=³ƒ”8Xhb:~þ#<þÙ)“?ˆ/Df¬ºSw‰ SŸ câÜÀ…ï„™„¬|2Q@AÝ@O1ך‡ûN#}è9jc¦`§“ÅÖc@ÛÉ;{ ’÷áZeÝ5ø/äS/mňíq ždSW¢æïT×J°Ÿ×›# ó–ÝD‘D·¢KÜÂÇ¥tÌ'3®—qDά|5Àocl&ˆxÈ`ãAöŸ‹%§Þ…ü* ¸Ybq4=FgÕ ›“ëBtª¶à’-ŽœI¢Âµ`#m€•¿Ó¶ÃmTñ1~&pŠÈ4œÔ¹¼ƒøžìšïa¹½Ä‰ bIG(B3 ]ïûnbsÝÒ÷¾9¥[†Ë©u-w‡Ûö¶¤˜ÒXC¥ÒÖ B)[`Û‹BÅÁ˜0O¾4.˳kšEsìm2v9Å&” RÄÓ)w¨­?ËÖµ¼nEd‚kE"Ï=Z·995ÊÀ„`¼‰èÔŠäÙE02Z0?Jø7ÉÚ† ”Ðæòþ©FÌúQÞ9ª˜QIiAÛÒY:€ÐB›Â8µ6‰Àýž;$ì6‚9òò±ìd×NDBHxŽRå"SZÏûÖikÃÃ\è’»§n.lõRÌ E£7zÕ¹û††Ä¡Gž#bé™[ÎȳÊ?Ž\T™N÷‹ÿ>zà¬ðÜ£Gõ´=½æ¥4Cß¹ ¡mt[ç¥ÁÚ4³™¹zŠ©!ïLLÓu±³cQ³9Š•ìB-P±å£ÞH °uÅW[àÂâÄÔ$oý2ŽÚyò§Ð®5=«©íÂÕlž'kسHÈ"—°­Ê®ÇAÙ’î¯iÕëÔ*Ž{—sWÓ°2’_|‹éfÂB0®V0±0Oœ7¸*[fkÉš9"¾GA…‰ ö/“ ZiE¥ØpzÛIÖ7Ùà‘B'£´ºT¿mÛZí|-HWÍÅ9S{ZÙ$䊴]·.SÀ"ëò‰vÎþ#‘ÀÎ//®W‹þ š ór–aúúVnnl‘ÕЇŒi¥u(26p¹3’)Íà4U}’_õ ¯x—ÖÛe+Øðâ¾ÏKo·NÆ{)ö¿t(lX+àØ~ç¹Ê £Å‚l$Êv.‚… »–Z¹Ç$‘\žÊëÌи¹8ЏáË pG-Ç51› ¥õXlû%´<÷Ôfçgç+Á6Î qÈ>…Àâ³>µpšüÄ·kÓ ¯&WÌ:«X+ —†‘1¿'á›QÂ?, Ðy¸)“+o|ÐPÇÊäs˜¿TT÷VðxNŽx´ÙˆŠho'Üòððj:ž‡öf•»Ʊ’‚­-ÇÙZ¹u/¥ýòÕ£ÊÂÄØ·‹ÉÁþ¿ó‹ãÒØ¾™Ø$}B^\†U™LÈó9ùµ¿_B±´ÞÔâš°wK—)ðHÓ*LóršRSµL£lÉùž:?¼"ÿÚõg‰¬0º´Îºþ·ÐC“Ç9r1yà¸{]0!μʂE¡ ~IŸ¹(¯i3Wó¦Ûq64­é´VÑ4ø8îN2Œl!< g3ó°t©·oÚ߈ÝÓ¢ Òüø<Þ0û;±¾3i×”§ #§<—Lœp¨-)LXV-‘‰ú“„bœ˜ì\f áõLò=…×ÝsêD ò+¡3‹ìšæØdcƒw^ø~­Z˜ŽÒ/.¶4’r§é\úêkÅ|¨zöªLÿ'ñêׄ ƒçàÃ…W­•ñ³çäù"æåo‰Q‘ëŸvö<,eà*:÷D4.Gà¼;ÿ‚'¯URýW2ïúi*lk¬NÞ“Iu,šâûGÎ៨ô}ÆŽÑi¤ÆÞùÿ"Éôï1bšŽìäH/YN-5kþ?Þ"þ^6}®ãE3Zñç›ó³eÝDji¶¨"¸óè²E~.¡‹£Q}€øDJÑNËÄÍÅ‚”u¾Ramné•F^Æ8níGÝ*lóê=þ݆þùWêñÑ ØG7åóë_•´‚ùó¯<ö^â±ñ(þæÙ`rr!NiF"†e´ra´g+É<åO.ÈÈëNÏMå ¿º?É¿ÄÂ,¹ þBúÆ4É.»l¸²„Ú‚õk NH};>O=ň&ºòP™ß¬Ï솩U= ¹¤9ôß»$ÊÃ,®ð¯SaYŠ#N νønùâ¿y&Ö7 endstream endobj 369 0 obj << /Length 1694 /Filter /FlateDecode >> stream xÚåËrÛ6ðî¯Ðø$M-š;MfìÖnÒC­ÚK’MQ'"é-Ûêäã»/€ ÉNšigšDh±»Ø7¸œœ_'“Aê¥I˜ f‹Aê&aäùI<˜ÍGã8Œ†Ù(ÞËX>Ì~9¿žFƒ)% ÉüÁ¨¦¹è!DœËÿ†`Ä3àO VïBŸ ­`ÜÁXÁ(\rdËßšx²£•¿eTD[ôÒˆz¯Æ{?ö…Lø|V(/I§ {à¥Á”µÿ‹c?Xócã1#¾—Æ)3ús4NÂéĽˆÒ ¾5‚¯?ñäK¸Û:¼þ,Æb‘(ô¦‰‡ŸÅˆµ|ÛΗëεCûn.Øó.Ljž¢S–áBV2pþèvôÚâ»&'ÒÒ0ÝÊÖ?1è7˜Þðô ¦!Œë}ä+…=ÐcÝ Ñ¤#š FÈ®±ÁKòšÃL÷ƸvOŽKNÉØÎdä”zJ]Ša´¡~+ÜK2[„Qêç|¦Ë30z:fHÕ6ø‡Av¬GᔳjAâ0ªÉÐÌäæºå5q#2ÉZѠΑËÒÔ͆#‘/a»p2l¨hAj(G¸ˆd½ÑX)\4U!D&¥p»Ûˆ×ï˜+n_œášf( QºÄA“%Ædw,õ°EâdXä``–±ò#ŽGÚ Wkr^%ãÝ’¨¥,-+^’ò§§”ˆ½!ûâè–Äj8Óº(½áæfj×ú¾ã»½AÊð£·Ê8k ñ£­e°YðŽ-±¥z(lÉfsµ–‘ªì#úGr=Š}Ü2ŠQ;o¨´ƒnÈlo½"•BÜk”Á¦ØS9/­:ÞÔm‡Òð”J °^2;Š¢wrä—¼ôh iÉësø ëŒY½nÐDÙM)™TêpÜbða ¦Éðb¡5Ë@¼I€³žÅ¤Dâ~Q4|Å K9׿f=y]»·¸Ãÿ!‡6|%(Q¯ÅE%•‰´m"qñßþÅ¡¼¦ª®™§ˆ”7t ¯¤^< £¦:䑵ŒvÃrµˆ‹BqïhåÞûêb]'òR5aãÌ–¬t:TU{;ý‹O‡±¯Ií øh¦é­©…Á zÓø²TXgOnem²3WŠ|gs1ÞJ£ƒØ¯`œÊƦ@ Ç¥Ndáw#x§‡BËìTYj.­CVï¨Õ­ÞH vú¬vÇ´–ùïŽ.ª•Ýb«i¡vjï ÚqcÞh¡6Úa*æÜÆ/ÙŠ E™/–êÎ@¢ŠŸ­;$€ª~îVìû<áš3—ÊI ¸¶ruDÚ~UDH#YM þ­²ª¢Ü+¹nN¡³’?&n ÔÚYc—ñ­Ãψ8ЇoåtM¤I’Ãÿç”–tÞMüžtIw>•VxT¼´Ì„ãÌï20B©ç6eínÓê@Èæ¨ìØÄͽ%Š«y¥ZŠšæ\tª5•¹)<¹Ìå.XÒÆ;j´¯aøÜ(>Bõ ]‚b”Æû_|+U»ö/)–K¿ì d18Êý\öìñ¾9¼ö•®Cúœ ¼Bh«¿0ÃC˜[gàuž?Á8·LÝHNü;ÙÉ&_ž¥®bhNyâÁÇ´‹.»h­{FiI}¨ô½`gd°“¡Ý _Qª=Ÿ£ò]±÷ŽÃn|pé¿[5Üã˜L‡©ö-ð­düßfÿ~iÆæa@…©épž÷j uR1˜_l¨%õBøC#¹ÐÎe§#×VÚJ@Er·d§IUjaï¡Å›ÀèrË@ò#ú>Û¬„µÐRoï€ê™ÃkZß²èZF}qÄÖ c=Kéöè‘`…Œ9ì¨ùC-Zi2KÉÁ‚ºÓè¨5ìn1»çøÙg¾'ÌnW™U;-f¯Ÿ¼Ít&ÖC îQ,K®¯ÅŠÊïn.õ¦§ºi­Š6z@ÑnÇ9ÁWòx†k]ÓG+ ´I;-¼Å¬ìö¨Å^¸…õ®uLDýÐ`1'CÀÿ•iÜÉRÙÂ;ãϼ»ËG,D1![NAÄjøvá Â-ØF®eüg%ÊD¿¶ÈãÁtXÀt×rfî *r>š!Üâ!bk[)µ¶»[¦.(-è‰CEÆA²5[¹w‚š@èKÄ‚*Ú»gF:†VäÇ ¦%ÇÞèâvÆO0‰å1%«­9ÜE‘aè'^¤À6ö&° c\;¹šü 5ÌùS endstream endobj 388 0 obj << /Length 2031 /Filter /FlateDecode >> stream xÚÅXYoÛF~÷¯ò$¡ÃåÍ - q" ÐÚEÚ>Ðe±æ¡ˆ’÷×w®=HÑnÑ (ŠËÝÙÙ¹ö›ÙU3~j¦²ØSi4‹}ß Ól¶j.>]xQ¢EN“†”Ì“Ž—ï›lö]wñ#üôÐRó\:LßÜ\¼¼Êf¹—'A2»ÙÌr¥°ŸÝ¬g¿Î¯j^ÁswÜùXF*œ'¯ËÄçï°¯ØÁß–ˆ¿©Ñ—ðß.‚t~@ºƒ°êZ&î6øhp[r{Õ58½ÆéŸ¹‹æá³/VÒêöÌ¡"þÌdkÅkpµ¦)jY°qzY{^ìÚ«ÚNl±yXÙü„Rw¨Å=<Þâ÷›ïÁ†K¥¼<ŽÙ2o‘ó é@ù æmït¾f~سGìØø×"kT Çñp^0YoÌSr?ZÈ2¶åû ãÏL4iŸKK2Ô\@DW¢° KïÅKjpâÎçÜ×ËjL99p¹¾)Ä×b¾—WIê„3T^”²-¿],ãíÁ3‰w} Í%7ïh5}= T4Óh/}hòßüØ—¡R⪖ïGy×2v9p²„ÿW‹¥ ü˜ãŒPÏ Y¸—±V8ni¹ßG¡{q¶RŒÑ9pshê{ÊÚúúQŽZ· 8ñvu%î{Cv„cPÇÅ “ÛÚé'¹F8s$à•—ææÞ:P¢üQjêÉÿ°Q(Q'; Øu…4x¿Õi ¹­ŽŒaa’ˆ¦F ø¤lÚ4Ôã ßµã22Q©ÄPFØ*B˜42¹N¯¥n$·tNÙŠëü0J_õßí'„^ MCÚ¡º¾ kUô‚ÆqÏß“‰— X›‚…ëÀ±  È¥MÈOnOs"䶤tí<ÉïJŽX£¤v6Ô|°')¦*Ü¥ŠrÏWXš{Q ê\Ü㻾ÿ0ìu‘°y¦D:“Î2Ð j©L/È$z®Ÿ¸2wĵ£ÅåÂÓ¬ó´6D2Ž›ÒÜÒpëT'§š¸7Úù ]neEâOæŠÇÞ]Ê yn ú ä&0‚'³r/ϺCžâ¡õåœL<9wI[ËëyYùHqÏOðüLÇ š Å‚®æ¢ïROzTC Û} OÑ+#ßËôEU áÅÛ›‹¿×a endstream endobj 383 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./attractor2.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 395 0 R /BBox [0 0 504 504] /Resources << /ProcSet [ /PDF /Text ] /Font << /F1 396 0 R>> /ExtGState << >>/ColorSpace << /sRGB 397 0 R >>>> /Length 62129 /Filter /FlateDecode >> stream xœ|½¹ŽmK°æß¯è/hVUÖèŠ" µ!C'9Äi" þ¾*cXkŸ7ÐxCÝÝgï5TåY¿þóWýú¯_ÿß?ÿÿç«öï^ô¿ûßíù?ÿíÿùú?¾þßþÃÿßÿÓÿòõþ)ßsÆ×çÿþùÿåþ×5¾þÇ?ÿçÿõU¾þïê×¾ÿó_ÿ©å»”¯ÿõŸ>×wÄW‹óÝÛ×/Ömq]¿þÜõüÞü<:Öã{U¬ëÀ:¾g¿ëý½Öå»sÝðùßçÜõúëÂïŸß£åºÇwä÷ }ÿýZþûø>+×mæµhùµw]ï?ÌÏ‹~¯Ìü‡­ï2ï:ÎøÞ÷ûÛ½ë}¿øþû6¾{þ}¬þ}Ú]Ç÷ÊßÙ¿×½¿Vó2ïzôï½ïºäeÝuù ZÝyÛw}/<î÷×õ]óúâþÐ}¾­}^Ï÷Èu׿¯ß_Û÷Áõ”þÝæ]Wþ};ë»Üß»ïϧò]ïçå>ï¼¾¶ã»ß_öwÍßÖ}÷ûËâý¶u/4ÿþ>f¬ïû8ù÷÷6¸¾ß×°nø½qo¼Üuä¾ë¾ð¼Kû.uÉÓJÉÇt×Ñ¿ËùªçðyãÁæzçkÏ5Þg½·÷£­gê÷î…E~~{®ñ‡w;Ÿøy}uŸüázÚwíX—¼žz¾¿®ŠÏóÏòþë¬ø÷[¿W‡Ö÷ùcÝëwÍuð}Ö»Qf½ëÆë©÷zó~îÏô¼¿zô}uÝûÉë¹÷9ïåß§ŒÇy/£Ý__ØDþÙõ{ܼ"÷ÈŸîÿ½UWû¹¼G§ç§•[m¶Ü‚õ¾ ™ovìüŽ:O¾Ÿ»ß÷€æ²ç>Øï¹¬‡Ë» rYòwGË·eÕ²¾ËŸ{êî¿«8e÷©ýb»ê®;Oéþ>§.¦Ö#×÷åòT¯¼“Ѧ'ÚôDùp«ùDûѺʎ ­Kà ÓnåX°k«|¾‘Æ–kØÙæ'¶a7î9þû9`çÎñšvom]ñÌ“™ïì¸_®×Ó–›ïTï°ó-K>³‘–ón}ZîCË:sÏç&%×8‰½Ÿ*ÏL¡ñÂa¬ùïïýÞç3DË}`e®¥çõÞ/¾7’|Âr¸”kÀø¤'€'¬wãíOPó~ê}ñi_ïc†A­÷Áíû}{Ò&x伪™—wÿsÍÝ3|¸¦{å]¥›€š8Fé%&LwÀ©]sÃyMwiXâÉÞƒp­rº§ë¢b‰ºÇâîÿÇÁtœë\Fp96—EËõ.h‰—ãÆc¹kîZ§v¥åʗךÖu0~ Y挿2^±ež<eMKwýcò”ß—ÍSxo}ìÚ\G¼åcÂj ì²eË›çî¢1eYóA3Ìa|˜Ïã<×O|ß2â#XÀ[Å®í÷Ù§e¾ïžc °Ì7E»˜ïæÐ¿ûï ßdµ]Üšx¢¾ç®›ŸèfD¸—ÖOt­ }Û°ï[Œi×&BÙ´CíyO\¾f"¢»v¨Ú÷íƒ7Àø®1ÿ`¸3âBÄ7íy±Eœëé;†›Ë+î¡oÏ5ÿE™\û¥%ËuyßQ®éîIôÞ…Ï<ðDïÑûvÄ„¹æëˆár K؃ž!-/cúÆ=Œnúý*cdæ×ÒlZb°¸&¢q3†u<±…õ*Œ> ŸpÌ‚h¢hƵ”yfîºÐ FÌ'Œè&®eLOq÷üÁ¿¿[¡ñ zŠ{#é«ï`ŽÀÿ'×°%í yÊ5cê fÇû†ÚµA驊Îp»Áf0FÇ™m7bÄõv^o›ôŒw`° X œ9|ÿ5@ˆÑƒ§]+‚ë î˜Ö+ï·qGgPR¸fŽÑ6s†FKš[½/žaÆðŸWæd¸ñÍœ–öÞ/Æ[¸¾Û»||äëÁ=ó¬¯mÿ¼ÿˆý×ïGc–ö®7¼ëÚžSõu*ññ{í0šyÖ÷zGù\7ú¯×@ö¬•×¾kØÞw}ŸÿžŸëÆáuG û®ƒ{þ]7úJ¯•¥=ë tÿZ’x×t¢ÏÀÇõÖ½t<ëû~Nù\3¶xÖ´’ïúFÿŸ÷—øÓúx_5”ÅyÝl½ë4×ÿ>C‰¯¿o£}|ºÎ_›7¯íc/LœêgyíéüøtÔ¿äõUŸûæƒÏÇÖÛ_O¡7Ϧç)þX~ÜòÏ Ä¿X¦¢á$ËcVZÞuŇܠ¡“†F×ICy]M:éûî‚gR0‘úÕ"×’©ãVÀ”®%Œ7Ò°¦«aÊ6ìjî¦JP u§+™Løàj\ϱk‘ë!ÜuŸmzú´ÿKF&SÑ´vôí®(s#¯3užE®üòt¥÷¶hÈ;Ö‚£Æy‚w].~‡¡ˆïιÙ97ŒG°h†ðs` 8²w|Q®iØàL:„¤ Ëg–{B®íúÐÁ«Â9_0“Ààg1xt­±avr½ ËãÕátl¡£yÒÆƒ;`¦MX`Äf×GΉ5‚—HÔª|)R%˜pâèórh “¶sàØ Q;Ác_¹£Z^oÚ!ô:w*Óж’ºÒXvhsÒ*nlGò †ð¯î)YëÇfZ!}CpWTIŸ`®+$o‡'LÏ7QµÃ4¡Ef£…ŽïSHêãxq# CxKpÔ¹ÌYpäêbŠWÊäV‚]r«&­x~µ>½¹1„?´M*#Ô›‚,&½XÿšñJ° ÷[3÷Zãr}J"ÖÍ×w߯fØ{ŒŒó'«\â]ÏŸR6uÏ2’I%[yÔKF© áPPÛà=êÐA¥óÏD»æ ^Ëåæ²÷7Íšr/`Æò]£.L¹ :ŽÀ ÍÒæ±G„=Yë˜Z'j½Dˆd¾«í<I¦›KF!ÍÒî2»i$Xá¡Ï’DC6"ŠÈ« ù@°.|ê—1¹ð*ÇäGŸOÆÄÙ·2Ã4Œ‹†–†ú>í4K× Cî TÖUÒÌlÞAÓóNïÙpÅ4[-ˆö„0êJÃ|ïÕ‚œ'Ÿ qœðä1ÏjŸ02ËX×{xìCnD£6‚‹ 3 $€ŽÙ!¾ÿF'£ÓìáótdBN9@f;õyAô³†cš)ðaæK³Só¥Û®þ)sfµÍÕ?‹Yý+Ì܉\ÇÚéx‰,\G?ÞdÖ®cêŒ :ÌVŸ²àê#Œ¶„ e*SˆtWÿBfƒf'pôîéå¿'h•fûC@šjäu¡ÂL=_l"µx­ªÖV¹±š90ÑK®‡°8í‡Ä ‘/~_(ã›|‰!«.…ü=1äB´”HD<³‡9ã!XÚ„ônU@qŒ3é ŽË½¶Ù€Ì"_4,M1ÌÝIù$šQ»ï^fÀ(5a×÷5dbØTäeq¥Wì"AÄ‹¾à.QÁ^ V‚e/ýLD7÷¡üb¾òZÍíÄ»D;Ã%ûÈh¨¿ÑPš™{VºùR¢}´Îh,+f\«Z¹•ô T$ÿW¢œ©fÍF„@Ã4\x×yȦc—ô% Ñc»ÎX!££Ð:ÿ~^ï~!Í ¤¿\³ØÊøëþÂÐçþÆÎêk£Yb‘zêØ¥™jwL@ôšö5°&è¸ôŒyÅ Û0ãE~Å…äåÌý^QV&PP ŸøâïÅÁ1Ì\D¯T5¥åÁb#@pü}öMœ¤²iYJ‹Í¿ PfÒXÌKewƒ+º´’¤…Qýáó’ÌÎÁèRÐPÛ,EYêÚŒÞpK=G¥¦$™”7þO’Âd4ÅÒÕÝq•Ñ£—¾XZ€Üz°´eRKE/ÀzÝF©0K4s­3É\Œ÷óüÃŒšÄpï·Œ7:É/.ŠFh¦?&att­¨”ˆCˆ3Z€íè*·6Í£ŸAØãn š¡NÈ¿ù÷Bk•£j“áQ1¹&@»a.x=%Xžß$$–Iœ pÓ)DåÓ\AFNÐOdîÆé(k$æ„DâžœFÈIìe‚$Ê QôVÞ°Háçk˜âЙçwˆIĹ,‰G\®wù³rdf{ï+®OE^Oå‡)Â=dÑ´>LâºÍÜ ž뚇lt­cEO¨ÇV-1zªŽ¦2I»Ñ–ŒÊê}cj&TðÐéÑ=ÑÞtåk°ž9…OŽFŠÈÌ0ñë¼¢9•”%Öp`8U]"wYÛ¸&YbÈÌ-®Ÿ´´3 •¡Fô†–†¿£˜†vØðæͰsÙðv¬»*Mw?¤áÈR.ðÅÿŒ5 +Y.,ÒÑÞ“kbÈweuð®‰QŠÏ¯iN¦KyѸLû¦ÓÞ&×¢x¦‹,—0$žñµi§=çµX‡††1Cç ýèJQ$Ì=„wœih¡kdZªJÅÚüýÈJ Å•èâ…1ääžÛfŸUĹG°§"ó'ÆŸ¬±_ yX¢sª¹‡ÓP™V“C°˜FÛЭBC»ÌëdgùûÀ}Trhh+ÑÀÆ $9B»6ÓÒJ F•¾´@»&´8Š÷˜æ¶Æ´óÈQÔÁ4®pÏ(þÈãÒâgµ¹†Ø[§“ƒ¡Œ*j¯‹÷Ÿ‡ùØfÚ]y¿i8iX'Œ8&0Ä#ˆÀwZ³zÇ`$UˆÎ‘ ׄø£²Ta*‘ÔÊÙˆ¸ž$uò¨TYÊÛ‹M;}ýñ}ÛDãé/¢\]QÀÄ^IÀ±ó} ìöÉ,uw×htTÐÆ†±Lò$á˜ð!rP\É—I°†.—,o²0*Ou äÄR†¶£BRéd±Îh¢»ÀÝôåh‡‡´‹’yâ~¼îø÷i˜ÄÄ‹#„–52vg9™”É:ž{m<Ä!*UÑ¡^|©yˆq›Ê»›‡*£'>Å$°ñÿaeÂh)XlŒ–±°ÍX<²|M<“~+ùʨ!É«,WbÇ!‰He›ØÄr3O2ê,¤m‰’( mS’µy(cøú`QnÛÄnMˆˆ”ËIŠh y^o2OX>&äÎÿä/ï•&}YæÊÊIÑ!ÏûI¤»ë硜¾þ†:r"ÿŒ¶*¬AV±=Á_äeóû²}¿oz0„îõÙ‘æ‹ÉûÛKåÜDîý‘ óEg4t¦ˆ?åß0‘)£©ûþƒüFS÷‡£%‰–¶·’:óÅE«NA¡ þç<ä(ãåk'ö„¨Ä_ä„5ß~n˜Ä AÞ|F÷Úúfpµ&a‹fto1>Î+IÇ~x(ô" 2¡N8‡ÑïïñíHÄÉeÓ²M,CÐÌ!ŽåB嬣ޛk![ˆVó˜Î{á1%o‰¶±)ÿž•ð![›IQB¼ÄòRW¤yÁèC\Ù&,f 0›ÇR,b%»¼ z~ß6kd º…odt2˜t”·>\æ{ls}È?#ä<ˆW¿§ÊP3ˆ¯Jœ"[°\*|•x>ÍœÔó0Ÿ±§V9îó~UoÛœÔe¦:£­IH3Æ[íý³z â ªµfxn2L§ðÂkõ“^Ðát±NoÞ•æÁPß'ØC‰|~nÂA0 1(“[ŸèW(-L†fF'a.W°ŒáŸ†;?oBÇ:ÝdmKe{ëùÔ"1‡û{×¾—*CŸeæjscôתgô–e’*C˜µÕŒÎªÓâÊV]t¨Hkò~ð}•Eƒr”T:ƒÐ¹NGT6ãe>Ñ܃{œO4ñºîš®;Ÿ(¡N‚GoïÎøª»‡ß§Ä5×éJº+úŒ ò 0$ÕR¾¡D„ó?/­óûB®æÎ4³„@ròË5ÿ‚lÀ™ÔPD™ï´ñªÔoœ„å;Ë,¥;‹j¼óŽ‘7@qµ›mVÉÿ¿‡›Œ€²hºS>„Òé¼ñ Áœ_ÊtB(ƒÌö5ÌÚ}àÉú7¸Vinõa– ¡ŽtgÍþ‹ƒS[‚V#­:J•[ëD$ÉšáõeèJö 7ç0•VÙXñ0‡y#ôOŽ#r9§P¡+Y¼ý-,¬ˆ·ÝÅI眈e" ï€sûßqÎ\¤¨rÎ %Œ#Ä5Èò™bÍdèš±ßæ)¡·êLg¬bˆ¡Žµ¸C3´Ï¿¿ÏŸÐÅt›·Í~ Òo³-…,Þ L( ÕÇq”Ò«>ã’Θ?€y$¢„àîhÁãD导‡9šØê׈¶˦±éŒUK®×ýý±1k#+ýïR¡èÙ é°ý6€ºt¸Øí,ÇXt õ‘¤ ²Œ„€(¦â’bx¢‚b{ÞèT±å>àü*çæ™QN,aÊ&HLXÊò‚ ô_¬Ó–eÁãØVoœSÚÆ@e--Kyl;-?ï¬%õ-ïwMRÖnî>Zööi;ÇrA—Ý47­É×E4¤ƒnš™ñ6ÐYòne\Óì/ZÒe®ÔhôÞÕl¯` ÞфКí¤"7¸*-SÞ|±`Üì½+Ùçŵ0T*\š„Ü^fQc&ùpµ:ƒôI̦‚L±˜¥»ÙÀç; !6_o& …Ü.³‚yØH:~àM3~ ü-súŽèâ§sïP‰7Y°Yk £-laKïªÚAÚæ'Ü¥÷$_°[hUÞ­X«@Ëô¦i¹«I÷sÇ<=8õØ»2~©¬ÅU•œÓ›ÂÛÊwÖ@Ó»òz*¢ÖZ¦˜Ø× 'c±t½¡t½“4 ùüÉ£ uæsÎ彎sÖr z2”¸ù|Ödžk{ö½Ï»* öô4óƒÑQsÚÚÚçc=ZgØT›{¢×ï?L¾a²ýšÞGFSMMݤ§cCßGzª'^l”óùžÑTU­ï¿O0ë:ØA ¬ªë<íW¹f!¦pœµsžyµ¹ë‰N¬²hÊ7<¸‰®U2$iŠò BM#´ ˆA%o•8ùÆW0Z–±Â˜ÆwáËtab<ÈÕ©.°¸g6)®Õr]óUÂ×Ãw÷Æ @ŒStädÂÏKt¤‡½IZE†S㕉w§oW¯aöVNVóˆ>e}ã°BÇ2Zb±ºz˜x7Æé4“´‘д¹n‰&% €¾ì4ÞtùöFßÞþ=ß>™x³º+t-ñÕ!ßžÆ|¸o‰õ” Ï OtjU—1˜Q,±'H $Ú‡‰8œx‚†âiúöcߎm®^'L™ÏïèÄ Q ?ï|±ã ±îîÅÌ´NZ¸t>“¾œŸ§*ð勾%h(™ˆG:ë*`€e™èÊÓô\‹‰F.üûLå2çU/ìA§ú¾òçŠjés)fãïýôºm˜ãä~ÝïÊÊ Xßð³Ù ÌH½Uá¨t¡¥#IIxÐ ™p.‘ç,X:HÇ©¡s/4%†½ÙW™k%f¤Z‡¨Ép •Î,ƒüÀAÕç4=½9‘ÛDà¦S{Öï ‚½•w¨ÒTV,þ ÕÏ´d6×;Y*™âµdª_Égk¦m¨þ¹\q Ö7‡  f*úgi%LëQ^D–-ç¯V¯iâJÐ_]*ilïTûh# »Ý4H öóž$õVOs°¥™hÍ&ñn©A)õÎX¢?„É TB3E$ÈNl®š;ž‰|^q¯1muz›bqޱsô‚ ŽîÙ”‰_ÖƒIÃ~ÿûÑAÈHâ„#G˜±#‰óTvãË ™dïÞ­kBM°Í4ÙÍ0ñ÷ÏîƒÞ6syòË¥È5¦=nÀ'W”ò±æShðæ„u6þàSrô å jSQäs‡jò‡í‘õ8J"uÄ®ôh“Éû¦Pcæz$ " a¸Ez<–ñYÞJC‡äMÎ,ÏmvH4VÅ«ªÞѹÏÕc“¦± #•E»èÈ‚fãØfS.ù2ÙÔì*áO*3tÐÎäz‘º{´o$o­Y˜èºŠBê“ßE*Hˆ¬Þˆ&·bÓ㣓ŽŸöô¥ˆåáH¦Æt( µ©s—ˆ=ÖCɺšÔeGÅdÕZœMhÝ$×@:ÀL®Y8¨ÈÁÒ±Óc6Ùß×Φå³èÁЍÆd¿|¬â‚cUH†&éêaN²jG•šBI €nãLžªlY—WÁ3ÃeÕ–r×Õ§Gc‡FÉiª °Ã!5›\nCÜo%§TT|^˜Üï.* Š„ˆÓäïkÊ#‹«= €æÆé<` å‘ÀÞ:°uyú±õ8‡¹ÄÎ`&¥Âk²Š ¡ŠWQ1¯`ðŽ.]BeP«2z(‘|Ñ呉Wd3Í@8NÞ ”äpÊ%"X-Ff =ÚLhÖ_580kwzž8H|$æu¦ó¬´¢ìÚMG¼ªt‘Çé~º˜ñÔACJ)qdÍ©Š9©&Õu?éõtÕQ¦ãƘñW{›ëºêÄ~+÷ˆÒÒt<éúaå¾› ¹ÙçRÜIÞLK±¢°Ïä< ­hº V9kcºj 2(NùòUN¸(½a …¬ó ”f—E•¯¢*°ê5±ã‚2L¦ÃJx‘ _pAêh=ƒR’ày Œú£yR@_>Ç?ƈŽeéóõIž¥§ÈíW:#œ8ÌþòGÙVÔˆ Tõ¾m”ô,!¤JÖšþý¢Ð@Û.±æ§äÊx¢›ß$þ>›Yr$mv6¹ ˆVïs£N4z¢F¢‰›|€r;L÷Ú©’x%H:,²üÙȦæ2iØäÁ\‡Ý<ÍÙ*Øå¥’% ›Ji IÚcItJoY˜i©@‹Ý”'IØ´Kîãßò$Ùç1¦rŸNØwŠ?”ž$Ñ#òAþ i&s%v^#^ßœ  æt¯ÏúA`£–\™;–ü0êŒ 7b.…矑%Pâ·ù˜IrÜHÂò5 ò«Ëƒ¶†Ï™DQø¼+Kš™W 3mRš†…š`r›0·ê0¹Øt°Ìa>zû˜üˆT‰Ü<·)Iž¼°ØÊscçõ%™ßWÀ'Ìcð–x¯ç;‡û)Î}Ј,ù9€3IøÝã…Cع\v/Û—0Ï2àæsÔYKå£cÆFY´ÅÀŤ…-͠墭¯¨CÖbý¥JÎ;–:åËÀ93ßb²ªDà.}«PÛ¾§,k® ‚cJçF—­ ªt„T¹Òåõ„[_^_D 0«n¾H¾i [†®7¡dó?:Á»$o, Xαì[@¯ªÓŒ˜N_;‡Y\OkÎtóP¨Îl_“|lyXü,²ñ¨„²øCëNF¶áFÒEÏ”€Aâ3M&™è5aì ' '»s¹ B ËFÐÄœÌ"iу°bë`޳muÕýVÁÞSÝ ³wwðdÁ9f.ïQßâMDwðüü£XˆÑï?Š”žîƒpÅôI]Èiþe`ñïƒ/sDwAüVÇ—Ñ]£ß-t-8L`\±ˆRjÊC®&#›&Ø'£Ë|;M…€ À쥌N3²éã¥ÞVî®påa+{FNL1¾2:®,<ðÜc6É)¬fûÛäµ.TZ¯fߪD›mØU¯8£ûÊFžB*.:   ÆŠ!Õ4Ú²f9†ÑÜÉF²·þ Ñ)?'Yƒ®TÞ%Óÿo¸ž¤ÞŽ)WÑ©{9«Bv·ÁõhMØm¹ÿ“>s­J׃$4s1Át`ß ‹I e N¸Müz+kˆÆÑ‰¤…IÆk%ªa:ÅêDÓõtVÝo¹Ù¾À…:sURw'¤uÀ—¥º*Ja*ÚʰۦR‰ÕÕ–èçHd×Ó‘6õ—T ˜æ‘ ŒX‘}• +Bi6m+šµÑ—,U0g p…òî/ Û†g~®~ ¡ g‡×õ«;Éû‰I›‚xö—K" ½UÙyv¥ª€ãq Í ËÖLÈ«;ÕTȳe ÄÄÌ’ÊÃç(+ù™EÕ!K[Ñäv¦KV‡žŠ’ž¥uóUŒK¦‘ž«’ßR?‹ñ”ȶ³&5UfMþ÷æËȾÂS5„­ÕYÚæÛ¦€,è)ãÅîÏ™ )ýÂ3±ZÜ •žzºD1*{‡\RÕŒ©åÞvØ&Ñþù.i–kÓ»¼Ÿœ*[—¾%ò]6gé¦Ì½eêr,ÑÇFö£¸³³ñ,·£5Àâ_ÇϲX ,BL 1H~œ<â{Ü7•mg.ównz$cϚɘ¨æéaî?e®OÿsÍÁÖÆ‚Ãiéù¨žwÐŽ¶§•@=niå!êÛ ê©îƒ nWaO¶d{³/6à Ymh3ホ Xu™DÅ ‘ÿþ#Ì|+ ¢Þñe„QZÙ"ïy™tLÉšíHúÁ,ˆ6šÁ uÞ¯k);•®Bš«Ìw˶æ8Ëåuªlpia¥ZSó¤°øE‚Ne•ŸP âBƒ|‘—Ãu¥¼Œ.S… c²%5ŠUTmPà „чaÞL£’k3oæP %{Rìd[ÙVÌù.ŽìµòP‡.æÈ"øEï;‹U¨fM‰ÐÙDËf 5 C³¼ƒCˆ’dþW´J©kí_{ɼž±ô{=È£iKI²è†œÛ`ãþ¯"Ë÷ó%•‚Fñ˜¶Õõ•î>‹eÛÐ`¥ªÀÔ+y‚|Œôòµ|ÌHÐnwP¬"‡•¼†LÈÂíÄYÌ Ñ ‰HÈŽ¡À2å±Ýwò`†”sYû•š 1#-U¸aYéÕIQ³§Wäï³!gm9’´E8Cfävä{iGU ®„PaE.…š0lF÷§Ý™<Ô”›Ö׫æ¬5?ŸE'qÞ{’ÑѰ @l¨÷î®pùÀ¾íaàéöÞ6ÃP¶9UçüàH5hvŠ:Ÿóšá층Z¾Aÿb©„JõÚb¡€Š#_ë3­ÚyÒ‹‘È '“D™Êx¹Z}·R#ª9ƒ•>׸W£L|Æ›C>5‰5."˜ÝŠÇÀþ?ìø0±¨³8×\ŒËì³[›¶£Q­~&eÌ0Œ“u žÈø\ÁŒ¯ÇP6ÖI+V¹èÔlã‰wTÖ`Ã0–çk)¾Î-zwÚ²¯ØpÁË"OÑá.ÆÁð¶bUÔƒP-Rî†òÕ‘Éd-=¨gÓgdv±!9†Šòßg'½†Þš\ѲýÙë]­{S©@Z›QÀ ÀÔ½éÏ{Ï,¼Yºáh¥G ßúh±“Ôšt5âÜØÉ#ùɳØÉœÚðP\Ø„ŸáóqŸË$"¦¼T®‰‚ôÊ¢îðÄd¿ÝA ö_,¯‰ZÒéI‡xod‰ÔL“–ú’²$_º+Mì[ŬR„#KÆ iþ±´e“Ïw¯tªW4•0îÛŸju æ_s[?ÿCÇŸWdÊèÏCP]ð¨ó(X¢–·ÌÂÎZá ?zé5¶¯k£ez‹—àÖ}![\D.3‘EH(Úœö"˜D8è¿Öâ(çÈ ¿\>ú+·ª*ªè²RôNÛ”[µy«6E±>_Iò­Õ€•ê–Oš@pß-×i…AJ.&!S·ytDcÛÝ3*"(:–•U RBë,ðU·TCY. oÝÍ´@õïàp‰ 8ðËûS¤Ó Øõù+Ù ¹?ÄC ú|Mw l„d±†ŠkwOD.リÆÙéF§÷%±‹© &Y©÷K†Hk(¿ž¯ááµG$É+¹!K–ÍËö5Ôóƒbî=ˆìaøÅe,yÔ7pœ¡¤pbƒÎ®X”äÇiqê oŠ‘[üîø¥ 弞›˜Ehj-Ü7š·vZ³±§,'†>ë ë‚{†ÄVÔ;U™ëö¿¯ë„žå8C³Jcgyˆ‡´”â=L½™·|ƒ0ü/†Â,§²`SŠ‚ø´2xÜG#H[­xÔ‚ü;·–6tWë­€xÏ€üx£ èa¤."ò §z6„r™fG{>(ý1ÃÊ'@ºgweáﻃ‘¸“(»×vkxô/·Ü£êpÌ·0hì¸BSzôòïm²ÐN#}¯j5[?$º+$]¶PŽpÎðC ޑЮô)z5NGäqØ®)uœ&Híj†q²à>Ø!»\Þ|c(ýÈ£ÔqvHÅcô:¡åÙ¹÷:Œø='k ¥úX²øAî0‡¤PË3BÐá:¶ â¼iÊÄÀp—”S©z‹wNýT¾¶´>hÔOó#\6ÇøzÈ E†]tO ÐÀv:¹ÁËÞÝT¤‡ÛÄŠîõBÇéi‘Œu?ƒCIΣÃäÌ·ÙPú ©.¬5X ¤3Éc7Ý.F="}’jU]»¨›QNص0šõ,¬çš8kÒ©((?(5^‡LÕ½_,ïN­Rl"‡x¹Á´n˜DPuˆ5€ò^-‹¬HàkÌ¡MÍû#À«¥œx.Óäω¾ eÁŸòç„­5^IÁûp—ÜÙz€¤ÆÛ3eÈt[¼ß|ñ×.íî}€Ù%OÍ`ƒß°…Ç9ÚD„âÝ8Ê;‹„g¾ÂˆØàC^R šq}…·®Ål?ªZUo~Ì¿wBöª•ÁWÁ7—O¿Êƒ*†äQ3•½w8”õ톔‚JcøUÁÚéÖç ñ´‚Â%Cõ£|‘ViÛg_›2=9bÀŠNs¨8Hቨ> ùL„-Kì†à|-,‰ ËI]ý¬Àº½Å}hÆ‹a‰¥ ½Æ0'Œf1^ÉÕšzlT¤ ÏSë!U„Dw€bD ùŒÀøy:ô=s H÷±/ö(ê‡(Zbm€•|¾¢¿Û1WĨÜg~¹ýQ/ð<ÆÇÃ3Ïl£ô–õß@Œ Œ0#`Dž ƒ”¦Õ,Ñ…“Î7|Š*ÜÈã&ͤ]l«Ãܘ*SÓþ÷s¹ýÚ²-ÞÂÂ;ˆc:HÖÒ\¨¯ônqhtëj-äãÖ…'U¯•¬yôR—ë’ä#,ø´„&6Ô%×I°¸˜=0'ySåö˜à÷'¢S•eZA [i玪TrâLÖê–æ¤1En9 K¢\§¦|<šÁƒlâƒGlŒ^ âŹ˒ížP;ŸMKC-ñv*™qœʶÄû¯ 5j—0ÔS»> ñý`¨ùx;Äô±U– yªÀl¢Î©}Ùˆl¼¢%è(N§¡Ö÷uÎêÛÑŠ­{4¢¨:ÄØ!1¨-ËÒ´ücvлĹx–ÄßÞ%ʬïRÏ^KŽ”~—H"ߥT½Ä|–•äw¹ÐÏö,)]ó,›Œ<—±©+ç% šw‰Æœw‰ýý,ûÏåzïèóáux¹…¬.”½åÛ¸ ™"À ÷gNpVÃqV¶Ê(qþXt«~²"Lœüº§³stv*þÌ_.púÿXÚ¡&ûÉi F†¸KØHÈÂÆr¢ªZöñ`’¹ÌòB8DeòRÞ;&ê_ÐÞ XÛfœTÄíOÁ”Iºnh)#_mt%ΦAÏc-çÜ% •àÐ\íŒä;žG·FÍbÎäaœ7£Úð÷a—=)¿fÂØ»?úôþˆ×cÌ"Ñm>åOì›I&ñuž#€…ãQ#ðzPÑBÅô4||ÒÍžªr©¼HQÁ$Ëá]vDz\îÌ!þÙé4µŒ¿Ôûr×)–ãﹸÓI–ªõj¹œKs¹ÿþª£Ö{-³L>n(Q||ZßIèÛéó£)©šáõRÁ³>~=\ïõ÷ïï²wðþø¾ôEÉ&Öý×õÁõuH öY?H×}üõ,?|‘ÖÛ ×ÓHÖKEägý÷ËÈýÿ—òÄ1\»"‘ºõ¹v$¡uu†¬u“R„×ñ÷óA•üsÍ.ýMn*Ó®Tgƒ×ÛHŠÖlüض4´&`ó®Ûüûï㉠¸î!˨5Û†?Öó¯ç¡œö¹î½èëϵéýïú3Öès=àçíÄ«~±œ°ÝÈqå€l£{b(-¨†ícyú„I](mµÀüÛ˜VÍ¢r…$=0è}½,Û4bêX40U,ÆÚ¤8µ<² QH©º±†ï*GE¨˜„£“¢PB+ ¡EIIc Ðn†Í*!Š;f¯aáxxtíO4þ.ç<Ñ8ã†'g ô‰Æ99æ‰Æ;8½O4N‹'§<Æsöwœö'ï@+Ÿh¼ƒZ÷DãäÒ7'TöFã­iO4ÞA€½Ñ8gœ¼ÑøÉúÆÉæ{£ñ–7àæ¼Ñø€ðᓎùFã“€îO)ŒWk(£ï'Ÿ ã¿Ñ8ÇľÑ8k!o4>Á€{£ñ HìÆI)|£q¢o4NSøFãLßhœò¿kGãêJtb¦7¿¦=ºD ¼ÝA2 etžFJýç”Ý©pA6 Á9ON€àƦª¶!z À Ó ŽŠ°¢Þ}—[3MáÝæºœ [’x`¬xáÝvġҠZüò憎¼à.?ðn´¿àÝ€ýzà]B"¼öæÕ•:ðn ÕyáÝ€ý ïv¶½>ð®´{x·³9ïw;•-x·ƒ3ò»}xäð3âwÖx·/N©6¼Û9}éw;ôè_x·Sçë…waô>à]„mÿx—¶å…w9"øw´^xwžzáÝÁIä¼;&[ÔŸÉê€{_xwl"†wš=^x—ä™Þ¥Qá]*i¾ð.):/¼;;'=´ø¾À»,ð»=F/¼;Ñ»ö» ¼/¼»@EyáÝ6þ ï.Ú’Þ%£ÿ…wzÛ_xwŒ|á]öª¾ð.ëÈ/¼ËšÊ ï.Õél ?Ö‚w”*¼É_, XÒ5ì×P5¤Î[i«(r?u§ bv,kªáGc¹¤6uH“£Eh´+j4!²Aj8 >ÖBa59¦~FªÖŽ8©ö©å‹a€›é! T×Ô ¥¼þQèü$ pÃCàL؇0P¡iö±<„²ïCh ›?„N¹}m²ßß„¶-`øhCìþA /a 8+ý! ¨ÿþ! 0$| ÂçKX¨—0@Èê% tju<„ Úâƒ0@"ÌKèÀH^Â@G—èKèˆN^Â@?|œùïq>„ŠàK(˾„ÁÉ@a€îK hñ&g«?„ÉAra`Bâ÷% °¿à% Lðî^ÂÀ\”i2a€Ôä—0° ËÔv4«1Á0a`ñûÂÀ*ö„Z_ÂÀ˜Ɨ0°ˆ¿„ Hø% P;å% pºÀK ö% l´¯¿„æÅ—0°UW²¡%Mç% ÅóHòù$ TJ0.NGN<‹]Þ•²šøó¬uª-3`Ìö7rئâœãLo~ l vë“gðAx“×M%ð0&É€ª˜²?R¿è\ž0OUE"Ä´ñKÀÒŠû*˜ä±Þ¾õŠ´QŒ‹¢,’ç¹ÙÓÇ€.ÔÚi| zîß”“ £³T 5â¨Ãžb)¦ÆnÅ^…w²ï ;¢~ž§ä2@g /weÙßͤ’§–íC“‡Ð«.‘LÂlË%–BV{Aγý û´§Ifw *ºÞ8@.N{*lMviOȪ0<IJ?ïƒííåYtÊâi>0õL2͈™›ÚD–,_P¥L>ð²J€âB]~ßë6í#J>†M=BD½@ËdîÓm ¤'È»{nÒ>%¶JI.G¬%mÙ½ÿȦӞJH;µª2I ûσì#¶-£˜¼NlÏ5ðS Úâ¿$Å:éÔS:Kè\ƒ`åçqC¤h’žužâÔ¼N¦ ì/—û««õ6ÇøöãqÈežÓé%ºûòØ9XÒ! IŒ÷‡®Ž2ûCRÊ:uš,Ó@w ÁJímÍJÑßêÊS:ñ«Ú²\_±1>ÚÄh:@Ñ…ô«ƒ”ÂYÊ–ˆüô§pA#0$Φ¾5æJ–¥ Ò„fÆ!š;„à>tÔýÏCvÒ’fÑçˆ&Zñ¡Ø¼Õ*>*lÓIÃæ¡§Q9ÍA-õfš±âð¦ÊCî¡f™f-f"Oƒó®šœ˜×Ó¥Ù2P1 § 5³ÛÌ3©b¥>‘QN£µÜ8M©Ged~~?sóÜ›¤ESs7<ÊbóEš’”qƒÃ¬|2ýÂÝ!c‘''£S|Û«¥Ú8s¨¸'9ˆj'ÙO‘‡k!P"kк¤à9™Édm÷ôj[ާ‹úP¼’APƒ‡îˆÅü’ÌSä'„5(@6Üg,ÊÚ^²±îÌì.×U‡˜X”ú0°'sN'Ò¥iŽ5•.Ž6tôÐJ@‡Y˜të¤f–.³Tº£8ÜÂÏ¡ÉïCÁÇt`ƒûšì%_6ÃÕq´sM&©ÎéTŒ¦­gŠxßkè„.L[[N7ÊsÛê)ų5Ç!¾¶o"×{‰fΡ9Û{¯5d² … .'¼ÄÄ“ca‚²ÿ±z{£„×ö¶®ì´-fì£ãç¶uáx5-6лIš¾’ÿV˜Ô#á¶ o|ti‚!Ð3&HO‹ß¿ b5ë*æ–ÍC ˆí Þ©UŒÉsha«›¢žÈóWÓ낺Œ]Û¸³8#¡"ê—@!Û#‚’fÝe9põtè™ðsþ¾õM†*%;Ìõ/öyA·Ú³ísc7+ìNý±šCŸŠ º£Ž®nìr¨ñ'‹K}î(§B¢×ªÚG޹t6“8Þhˆë†‰YµîÅ¢ÿXEØ„xŽ äBã˜åÈòüQM®S®ý¸¤ŠÚ¢‡›–|”yq|l²8âuëªØý’p!v¼’ôßn„—Ç ¬uJî!ápx+À?áŒï`³M¥lÕxäž±DúyzÆ*ÿµ{ÆR_?âéKX¢¾=c)LÙÞž±œj;ãéC ^Ÿž±Äbï¹g,å¸îÉvÏXø*G©ÂÆÎ~3³üG…¶tÏ$ÜÎÓ3V٥ĈïwÏÄ0ÛÓ3V‰¸g ËÏž±Ê±L£øð:º$Ÿ;ÍœT÷ß‹(£¢µ‚Lï,#_së+B<+E?ƒßЃOœ@ô mý—|–)¬‡åRPÉø™¨ô/—l`濦Üï¿Nw&ù-ýÔ¨¾'d£û•cÆZzxüÛS¤ÑAiÑ&Èô€¡ƒNÅ'.+˜âºÍÖ(y¦Þ$¬‰òµßBHSM½AnK˜9Q†óí9å™ÓØJ˜QåSßK.&Ψò©gδaT7YïÜ®ç‘¡Žš¡FµF½‚4+Hêgn]Ÿ~Ûe”K¨&Cmþ=g[d¬M#p‘äçhh¡Q±J-™\I›«ôÁ¨2SÏ®š@F•™ú +æWìļm6ŒSˆ¢=* ]{ÍÃŒƒ¥y[Å-õÓ©åg·µuHz¢s$7y¾`bn ×c™!ÜHöCv‹%4Ë Ö·K¹5ÌñÕ ò@Ð l°¸[åö¡ì­e•OPQÝÓÏá¨#©VH(ªK¾ ˜!¢Nv˜ƒ{Ð?5¥{…4 …Y@^[b}ý‹µ-5:¥û¢*–PРQ4¾uI+ä93jÛp'nLC•ÆæxŽ L3ÅYé‹Ì+Açeéa~F…î©=1ù›ÕP¢œÙMÿƒU™ægpûô¦-^ÎÞÉ^Yýc³yÑ • ]ÅKÚàÕ­¯¹akÒÖ|¥<-9æH±\ÊJv¨~(£Bj´•0f iNf”€_Pƒó‘þ®pú§I*¦"{=ÝÇeý3ÝBŠã4LÕöZ,pÐ8}ÇTôa¡1þô¨ü{ÝØÔÈ>‘úSSWÜyž „ƒØTÅ‹åM--D¦^gYKœƒ¹Ø§[Û°èS£Ó’È“ÔgÚy‡bì£çQ7ŽÅòXˆÎŠ,æu3Æäˆ?Ó,1vr!Õ×ç> Kôµ½æ¦oM!7} 5´>Î ÕÅN“nqÛÿvveãÓ#FCÁuzP†¢š Uº—’4Á˜׺!V͞൫Ìp85¤W³Zª¦â5¤»½¸^¥ËÀ?ÔP»ÅÒI~ŸŸªˆó)ç4"Än·˜ 4 3H0ÖÎEå#úlw @ûèN›P“‰ùQ1kµÚ™±b»Ï ¼9û¼â¤Ä$Ú"Ä ) >”^½¿ÙEe̸0k"ÉZ×AÓºF4"w%¿ ¡iËì64Q± šò—óì²^cýR¥úº&+úb®%$±x÷4$îÀ@²Œe?’±£+ùm³)í(sM ÉúìÀÒHŽSÔÄÊÚ@Ò‘½,ë‘IâÃ+ˆ¢[×ÃÛ|–]oàSÎ%Y¨ì½16€í~D®¢B(£Ù ç™4x´+-n'<éЮ­ÔìRÕO ï‚6¯bX#”L 1höT>ø†D‡²†\ÈA8?p‹ó|jPåU3Ø?¾‰ a#M©Dš>†ÿ½;C£<ðxæ£U”ŒŽÃg=^§¸4Ô§rfä’Ž òÕ–N‚©Àìt{A€)‡tdRº*h’mOidRç÷˜S9º?-jL§‡ãÓÎÒE¸["Mó4TÍ#/­êÏî–õÚ‰‚nmÑ&W±—§›²t|¨' tÌPä!Æ–ÊÄ›HÓFü…lU6[«ùrûpð{‘8°™|“QÀÏŠ KG¥Žny X“ìHA‰,-w+UN$ÊùöŽG³Ôì± Á1ÐY± "õ†w{brßÃHNÎnÖ,Ÿ0*'tÀ‡˜oO”ó Y$-½Œ$‹ ’T<¢&à”ðtÙtÍ_†rA®ajX^°iR-üé–× –ª%ß«°Žá¡<ÐW}ÊýкÀ`€Ös Õ&Ö ÄK‹iä±ÐÖÐÁD&K Ã?°ys<"@éÖ;D€ cY c0…~ÅØoå‚,î» ½°‡¸ÝP‘šÃY#Š S1“Äd,îŠAÝp5Á˳ž<*Y¹ƒ]èvFEÑàüè>×]]8Ç1Þ&Sn@ÈÛÄ:ÎRÙ¦24v[uYÕ¸-NDp“½Aµe½“ æ¹aÁO÷¡@ w AM¦|‹ü(¹Çƒ`:LEªâ21WTÊŒLvW™ƒä˜åŒ+80΀é®înÆíá%Rª¤’û()´aXÆÑÎëiBò HJ…QŽôk8AY, NÑÌ…Q®YçiJ R€ëðÈBhä:¬PŠ)¾bZþ|øÓ»?¸ãÐwÎðZ¨ò ¥é™¤zP,R1ŽüøÉLkT#fu°›-Î_©eÖÕïŸ6¬G®!äh9ríÀèˆSTàÇCÕ ˜T5¯ª#ræFeog3ƒÊ;f35ØÒ^_þ'CÕnÞ>Fн4 Ò¿®9ƒÑfÆ$9a2umDüÄ)͆m‡øp §{ȳ¨ÿÛrÛÔE»ŒÎ)3Å\Žõ¨(jˆ–U3 ¼{À*Š@ƒÚ£¢XYr³ŠbeK®UJêûQQ¬Ü®R&vØ_Å”ƒWE±òeZE3Ù磢ˆ)—ýQQÌ1Õ‰êê_VQ¬ä¾XEz毊bÆ#*Š™éWE±’,üª(bÇ[BJ;{Z¡YÝHãs3 ìib– tÙ®2pey¨+©ZºÔ¼¯G«Òpv5¤C¨TØ#|1¨ƒbÿ€©Ç­UÖÿºÖ^ŒVæaÉŸn›û#}Oå$è\vìå0xB¼¬2á@×ÃhÞ8MO¨JÕ¸¡¹k ñGýNŽï‰¨òõË yÄæÃ?†ˆ?È^2!å—K ÚÃÿ:ñr§øÎØšȹ¶S“8ó2™½(x‡äìœ>x@®¾æK-P·æÙFx9êØAìÖ‚5—´èEþ®šâµ;jÑ‚wó {HTÀ Ž^0=£¡“Ù—’e¥ݲúJE¬ ®»ž²DçÑV¨ÉLmq?z2ötƒ>r„áÆÌK˜ñžß¬)™(S<áÊLVþ«¶b‚¡Ù^]õÙȃZÓÐÄts(LÓø£¤›$Æ¢¯uê¥vÁ˜âžCG[ßLLÞcÒ{†E²+;¼‡D[·,ˆ´ç-ˆ.ý‡Ê}¤U«1vvŒ3í(Y&á˜ì@¼q–LÖ¡Gß?Ù“\åÈ‚õ¼ a¶°‘IÇÔ0"œó„Š‹+ùèJU-#†t9Cª9ÉÚìÚcÌÊÑ"X@ÉÝJÌ·[rWzF[Gå”Ï]qÓÏ›1wƒ¸t^Ö3ä8™ [Ckr°1c¬;×265šæ/—Ë!“РaÏ€bb†³3„<¶,d1¾`ož¥1ÓÄ àpNE¢Å¼œ¼#Fífx]Í8ŸÂ X¾s©bZ± ç‘snU–{D 6+|Qv}²Òšäš¯jÅ,È‚%à{¯Çr¯¹7çž"hNƒ¨¦å€/´]ÿàKÚSgf{ò8O–õ½³êp «Iu>nЭᶙãQî[¬ºyÜ­§ bm€H\d¦™9 SLM„?*Êäνþá¬Wv¹b2‰#cR \sGóx”ñNÆ1ƒ  —,*%ú§•E z5J:˜˜Â”Þ©Vϸæd½D‹%éÚ$fvc{{¦w÷ÄgÊÙÕáãƒÆÿ\ÏÐö®\/o÷Ê¿_ow<_n÷t—Ã; ÃEÍ ¦›»ÄÄS€x:Æ88ãá;SµïU5C¬ªºü`ÔUD“½'¹ì¬Ÿ;èˆCø–ÍŽ¤²'Ýí5;Ð%cœNYé®ÉÚ™S ë—çn&RvOÇ|†Ð '›‘á¿'d"…£å(*§=@_‹a©J’] V«>žáÇ‚º<¯¹!Í]¢À¢À ¡ËgY (I¨ßVÓêÂ|I²x.+âzÆG}+Ì©§•q™&¥fÆ#-†C@Ô+2xa>Í0·‚àhA"Ÿé%^lm¦<- Ë‚ú[œ®".«æÎÑXI ,dlg˜ƒ#³„}¢é83í¸ òjÅÄ~¼a< ³ó;GV‰fþ9Œ‰4ºÛ|„¢Pkï‚xF8N›«ÈëÝó£7tb$­hÊ`¨çmð´PÎGÙŒOÔâÅ lLÆ1sŽkœöLŽ÷ÓAZ7ùG°˜·Iì–ý6ž²]€D4‹kÛÛûÃÓÃä°¼Þ¥4[u7=p¢Ò¾-!Þ€‚­M/CèÔZÔÖjñœfÃ>A'þ}v”á'±É¾ôм¾ Ð?ŠÚ^²–ÝÍ#i±× ÝàÌåeÍ*G´©®ÐMel£Ñ(°Æ][9‡`äHÙÑ='³Lm˸nº,Ø0€#ã¸0²3X»×ŒI9¸®¸¯-R „úi¶ Ưe{èÝïáÉÒèÚSà?÷’¨r¼×ÞVÒž½EÎC¹ÓÂ8â‚sN5Š z¬³O•ücÙäŽ.¼£°éFdPÇ?fóÅñ`…[u<Âfkn©ñÙ——e$Uäí}LÅ«d¨”†þyŽi ÃÁ±š0\8UDáJ§ ƒÀý¦õñz½kmu(¶­ñ±ÕÝ5ÐDÔ»ér3ˆ¸¨ÓC _å0¢±ÞÉÓW„‰Ò‡›h+GÔ%‰ù fb b|h|CtP+¿jsºå1µ`WWFf7 HØA¡·ËøUõlXy¶  ÛÓÒÑe…øîiØ";’Ž«"ì ¨!&ñQ»ol;j±ÕQí>š•KÜã^>0Nõ¤¹‹JãC-SKŠSÕö©Ëä@ù©RŒc6‡] œOk;Òâ)8—‰÷x²i¬>»›«ãßR›dª“®Rc:ê̶˜S(U›Ì!ÿáÔñŒ ¬d3xP¥ôÊ×[0ÏÒ§JNîªxJ-èå†ò"k™¨ ˜}WC±hØÞJ;+…ר^•êˆù„k¿ƒxÀ‡,¨Slg¨3¨²[Iö©Í/¶GºÉ”#ÓjooþœÑŠ™¯h )-<¬pƒ¡Ùnr 6Å‘PøU)Tz-Ñ£¡å¦ZTz§¢ê!knü0=›‚Ùt4‘+5æ}c¡©ÌÁ$9ƒp>¦†§a.ÊJy(*)Ìû|DØ* üã(·I¾Œþö£;2únVÈF¼ºÝ¤›v K`¨•< d‡¿kqP ØÃUb0-·y…duì%¶züFÁ€Öó E ÆYϬ, ©§8×@üu”Jfpt¿ù4e.ìвÆÔqgXÊ,´ ¬4©˜vYáfá P+IˆØ{–Ç #ç>ËPoÓ’{¼„–ËdÜÝŸº–óYþ|ø±=´Áü÷U¿¦‰A†sCHv§ 7f`Æ[\™Ã@ø;ÕjVYpp+uVbê;Þ¦’R0†;&B£q—T¥¨,°{ÍÃóÉ7ÒŒa´`wÕ¦åâË>…»C¥Ó-¸äÎêK°':w“ÿJ£8Š«Ï Õ¾› LË­³î6²†BQ˜3ÑBZÕ”)tkG76²XÒ¯)Ó"•ZȺT¿X&¯N|+Ìë†Ö^À.Õ®“ÑÚÁ ‚<Én Ž¥ßá¤âÖÌÁLÊw°AX ée¶RL£4\é–[Ÿ °¶e\«Ë€*N »€âË€YÖkEÇât¶v<ðÒæt‰g¡A8©táYn £¯늀Az~Ì}S {B+ûBÓSíÎH¨<áßäÐPÌ ƒNÈRÏÖO˜H ’Z7Ü ™ðÔ×%È Èô^`#'"ªcrÔ²U£7Ôâ÷ÑÇL–:å š’2ÌLM)»‡„¦­DÁDüÔU¯=LÅ´> Ð$+=ËtžþØ £gõ’𓜄§`‡³ÓQ­$Õ‘¦€Ü)K„AMÅk~~Ti€ꜿX¶ª%î‚}¡5&St‰†)߬¨…nàiP˜½-é:×nƒÁ“Iq¶¥º@®i×sUZÃ5ͬkÉ£Bk†l?Y4Ä"Yê.€ìýÖ n—As¤<ÀÐÇ#ÛÖ eÂÀ1·Æg"@«÷ˆ³ÑDKfôy<2Š©'Rß H5B“`>e„ÔŸ-3Ôg^阂m°•扺ÃR<üf+霩íó‚Êïö à‚Âñ–J‰înj*<æÖ°ÉÜ·÷e퇄EÊ= 6!ÀyZUHfßÊs1˜KÖ&)[µ=uŒ…ú-‰Ë ZÆ–>WBO÷½ïã6wX­-~nCz3D}º–DµîåiË>p^ÒQTÙEÚP1 Ï´Ÿ±øKêwé©3ž®ÊΩÁ2=ŒÅ´?í€(ç0ÉŠ§.tòÌæ’ ,æt)‡ ‰³T£æ'Q†`L3ëƒ<]¤Ì+†û"K(ÜÒ€>š»"!•3Š›7‡w1“Va$,c±38;DܦƒÙ’Dpþ ÞØ0”O•zŽ·+o[J¡*mÈQ.„W¤˜WœÂŒUm|ÿ|iÛãÈõÒ ÜC»R´šYf4’kM«t€Ý(Ú®ÿ˜ƒþ¦°.á>SŠXˆ¶|± LÖãlbwðf{tjk ë/–ºx¸ºE}Ø à!A¼8’ãÔiÆÛ É™Çg`w-Ã’ 6”ÀÙK€O+¢ÒuT®hˆñlrix´ÞþÃF+lÁeV”>·KFw;:­0wWÑà¶Ð'Ü,m<Û2ÝÛ–o1gVkFw¾˜»¯Ž↟Ÿä¥Xò@qàv¿ò@¡/ŠÇ Ü›ëŒXE×Û:à¡A’À{=ÿ½‘Zäù\®Ÿö@(Aœ“G[5Ô©@57, ËbÑl— ÷Ôʼn”1;!› ¤z~Ñ…iY gNõ'&?£Ê|m+לü¯FÕu)Ã4Öøf.ùaœÌœ=åššU¹å¡ÚtÝš”Uÿ°3q¢®ÈÞÊžËPg —ÿ¾‡ùAÍâL>5cîAå1 žYg3J†êy@J2Ìæ©™¼”¡e0Íí@rQu÷8°gãxêá|‡"¹½DÆÒ"1Γ ’Âu¸ý™ÔõD‚|1q2°Ûì¹ØF®®9ÂhNrž±`{bG„]ƒ{ï™!3Þi„3Þ피€eÈõ9ZCå\|`¬×BʨÀÂqm¿Xö¡%ò9ﲕ÷i~öÇ7âJ^Ù»„1}–ÚvÏr´¿~h¢¨ô.Ï_?ĘîYî©Î…åþx7Qã5>– ˜>Ë:ÄBà²UÍïÖtïg]dã<ûgIÙ„w ñYjZó\š±¼Ìï×<1ÔáY.‡ZâP?KFmÏòÔχFæûÍ>û~LLž%éï‘׳ 8–gÉìäYr˜Ð³œõóª‚]‘Ïru…½ZB#ÿYîöy Pì®Ëñ/—ó_,ßû寞ûÊ Þ¬kƒÃSX=µr¾î:jÀ¥ìæëA—²‘'¢HÐÕê7¬ú¢Ê›rÒöû׿N7orÑS6§^çÔdFP–BˆfÃÉßõƒ+=ŸÙ¼È‘ ’–é㸘8Ðcº« –dˆ –C°;ÕQa@:C:hoê2F•¤’.J’Ò²“S9C¦[ì?®!OY›Äÿ C:¢â«è#=uÈRU–R(K®ÿþ#ž£wHj0¶gèRõÇŒ*t#¶t&34iøãb›ÕÀ¤dµ˜D«½ÙƒhµE#¨T•Ùf3 µ–ñªTšØÓ êЦÒfy¸ ‡R‡X7ݳèá5„DË%Þ†üëÇ’DlÐ!©€g Ä^/ÊÎiõÛŠ¨L]v³ $º:·ÏbK»™üÚdîÞ„qœnrÙ8–êyٲϵÉùÊ.ÒÅ|à:(N“…FB¾s¹×foMnæýRQlm³ÆC™;åÌ*-‹ueÌ* ¦ö¨!Ä•ʧ¬)ÚGp™GĤ=‚.Y‘btÝMŒØˆ½Ù>6Ò,–ƒÜ{ [Π×Ð’Ø?!ÏõðÄQ5÷278õ¬àýb™/mlpdÉÜhÔåíô£B‡o«ïŒ¾†¼¿zƒó- žx´Ó™ì‚¢©‹cÓ\,¯ÈsYÜbs·ü0“¨gª¤”FÑpáŒjö°!ÈõíTÙ°uàÜçé^ËÉ6µ#í Ë03}ç›äÆ ' ü„!Ë"Œ´o–2óØMté0%b–Ñ¥«›¸nÀ‘IŽTðx(Ù±ØãQ%*à§€_,³úcP¸t+ÅâË Pö£F5´aϯ#ï\v²yÇ"Bæï€|SsIÒJAaÛå݃«<Ê)x滳j³Tô‹eΡ’ 19’ØjTÀ»;K@[t û½§ÇÝc5´d®DÕvcÌØh¸ÖÂu45“±4æºSÔÕUpê+žÅ’;ÉŠÛŠ¹+uùhAø–2ÐPq哨ÓÒ¿@â·™Ùo²% 0·ÞîÄ£eÙz NVƒ BÅuG0oé3˜0[7½£€¸ÝˆH›më˜Áé4ø@I´áÐuwù \Ûmð[I¾´  ,?bã§àuNe{K92adaV K\¡Dêè´#rGù=ë̃¢yÒPë([Mõ†Î·„=‚óævÚ^óÜî»…dÓ”—Í:g9~h¹ªj÷Z¶gù“~sS&pwÀö9â(A| §Açâ+ÇXsAd1FØà»Ž1˜$c¥mqC…ÿ&lÝ€ìЮk]ôb¼ƒ‰ÎS»Ã;¹“[Öpa ô‹åÞqvœ.C€„µO£›x¡U>H ›šožxG!]a$ŠÈÓ€Ø^<Ýc0¼mÆ5IíFø*ßvä¯ÚdLº£¨µ¤âAôl±ë>ƒk‹Î6¶ò%‚êGš„gP0¨ðý ô0ùoc¦]‚)`n“Bt&©xe›³ ŠüdÂÈ Í&×·”»sìÉÞm‰.îÎΑƈ”‘ozZÜà–j‘¨ ›åºªáa?y]PêD"ú›Kè Ë(“[Küò êr(8¨kÖ¢ÚÌ•©ž ’·Žïr¯hE‡Vz—fÜ-8l¨Ñá í½Êù#;œò¤V\xìG":êÑ4½¡Rãå<„G9ްJ4!BþŽa7¡¢Säâ‘' ?0{K»•Zb{ÉÒÖ"ž¬&™¡)êöÒŠÌòCZLnn£i Ï$Of[O›ò•/žVæ.žþ\ÿ¹Ø? ›»¬nÏ!0Ë2•-#Ë#uŠeK}£eX²…ïW~ö 8°dj0—àó2›…ÖRäy” §zé­§€Ø„tM+ex§xÒ,_K8›J5ùiÅ×é6Ô»™jæÌÊ %ƒˆ½ ˜M2ʵɃê C›Pëàv8(% õ«q“cÛÊÿÓ+g\I©¿ãŠ Ks–Á•÷±ÜpÅ=‘ÿËå •+ Âm¥VÅÇ®6Óѯ,ly»­¸!­\[ñMÐòM€ºk¼% RÀØ,ǬÔ'x„#;ô̦Ú=*'»Lé< FÏÑ4H=çG¸‹þ­¡¶ †'Ô„è–æ4ë¸h¹`µEÀAS¡UHñÎ*û™£ò¡mF#ÏŽ¨Õ* æ; ˜’)Ëœr¼E ”ƒ®Î#zJ”RÅ0i¨Di%ÔÎÒC§€äW¡.¨ê¼Ÿo|$jY)¡aÍBDÜX2©à}œjVñ&¼_6«x’K8­½èZî’õX«,Tn9,-¾:‰÷ð\Ô,6¥ˆ« ›OªŠOã“þ ´¬•îl-aÕføû«œèJÔwg/‘1ä Ve.QÞ å—-y@ˆ8©~x8~§6Ç?¿T•yYš j˜ÐWðEŽÚ1ÁÜD¢.2¾+ŸTæÊWÊ €Cy4­²v¬ð¸xrÇ«™“|8)-B!ož—~@N9ÕÚwxÇ “‚Žw£8Éáâì[F½)Ùžâ;²|ñôÒVÔ·t<3¬oˆäØRß(Ëø ØÀ$µ­î ¯n!€@‚³éH:,Æ3ìç°MƒîÄÊ’$k-‘^¹;l¹Cl‘PÇ£Ø:5W9aÛ~çÂÀÊø ôò²i¶¬‡ÕùƒM ûEqÙ”-€„S¦5ÄÁ6\˜Þ¥ ¡;Ì« ,›}Oõ†kŸwîUÜ6€8lÝÁ}® ªé„¡×W'Ÿ£ëp÷ùäFÅwD©µ(Ð=‡¦©)Paòq7 Ç¿œù‚ Âȶ⠜*ø”òç[ÜäÔ O$¦,-ìã•>ÏÓ¯A©øSÞÉ%{?±0f½òX6z?ÓïØ "²fcgåµ2p"à¶þH ¬±‹gVBWbOHh hºû¦ Ì“f41`Vs¾ÜòDH çý㋹Þ1\M€¼Á!­)r*ð[4hÉZ&7LÖ®Kª–”±k¸È!vn° #ǰ™z”ÒèB$ƒÂ"ÖºA”pXí¥bÞóÃr~y~ïÝéÒÙ @‰^¸D µ4M"^fMÚéÙõÖ oqsþføIå3˜¶BãÕ8dNššµe=Á26ó¯ÙÖòH쪳î»ôiˆÎÁñ}õÇ\ÞŠFåcé Úi0¯ðÇ•—ËrF<Õ\pÀ¶yd—5ó0²}éØ\QùB-;ḭ"¡}@_ëÅxw xèM-£jç‚Û˜p;˜S­Ù( CëGxÁzDòéTJå09‡omrÞ^òÚTHÓ ÂV©¼x—hÇ€^[Ð\íúªI0|ÈGXdp즢ƒemòÙÀ—ï/ñ4Ú"጑~õCP¬ÃÁ#.n3;nþ+0—GÜ;ìàÆÕññæ¼Ç«¥`1”F¬‘À–~ #Ö8žÔ7lqdò sæU²r™^ Ñ¢x]Hþ}±m3*íRC½õ…³žQüñD»qn¼b¢W5 Màn`óFKymõ£ýæ2’p#GtUÏY^(Ñ翆 X`a?Vú+ ÚÕßååR0ÞÚ¤ÍA¥õ7—02b ÎAÑ7ñ‰ç~—@nÀT„iDÓ'è ùÖ$àææîÉ‘I]Qç¤Ñí’Ì"­°º ŠzHò«š ÇŒOѤT½å &ýcÛÎ’ò\ÀŸèŽ5é7—™¸Ås¢üÑ~žthë7áýóž°xxö»$Îâ–_Ù¬_nªP‡ä±ÒÿŸ®7IŒkG–mû…†€º‡¦q8ÿî—Û2G„òÝßʃ$E÷^Xokæ5–Í€Æl§?¥ÛB¢%JeäMòg¦¦L#‚p5E‘ή5‡¸³Ñ^O}rzsêÝS$˜z\ôui¡¹¥Z¡&GŸ–¹ø7[{‡FgÒ¡ŽT]Ò ,Šˆ¥ÍÁ¹*o6 €“1#ÏÊIf5·’ \·ËÂl#®¦ïSTf§˜ *L{¤¡"ê6?²Yô¤ š²×eÑeõ8Ô3†(±…?ç#ÉÝ¥F:S•fÔ'› …-1NÏ*‹eämy1ì£@QDî.ÙÕ$³iw¸ØÇÆI½ïíecÙóáMÞ¾<¼e/=Ç÷ÐÏJÍÙ,~Æü¹à–Ÿ¥òóCÁº(~»¥x M˜A¡'½ˆï\a—ovç|—$V^×qÖº%öw£ô;|ªÝIÇóÁwÚK;íü–ô.*Q?±l,õb&ÓáaUȩΆÌ|yÆÓœŽzSÂ^q(€BÜ5ºqµŠÎÙÉZ0zh3¯Ö¡«U÷ÿÔÆxïýëšj?ï‡YtRvN³†§îz)ÜéÑÃ'HÉÁ¥NŸ.-?܈³0¥ Õh7m¶ˆ ©h‘áǸ¦-¸†Bd¦†QV^z²ëMOÜûj!k™' 0žBK­ñ.^…3.ba°¤¥NK³äüðÕ¤Î/÷£4z™õŸäBiÎ*0[æê¢pób‘tÎ ôàSPA캯]±.»itw›ÇLO©U«$’|ÖÇwYO¤ >õSÙÃ鯂äH‘Îôríj?ÐtCR10Иs?^Q{óXœK†¹ ÚÚíÓm‘r¦ã°}·û„îFê¿\ÝÈI*³Hõ‘å¶•eMn/n@ÖRÁo1¹´O?H^úÌn:k³×ûÙÎS°´X*+g~çJQy)YFᣔ9¬¶8WÃ𬼈 +Ù*w# )ìÀ/Uàæž!¶æôBøQS-&…ÒÁW=gàÁ€ÂðAy;(S ƒ»JŒÔSÒ’H1ýåÒ¼z]#òwmy-÷سî«MpS|´{kâBÀ'%ì»v£—ÜùBŸs‹ªÞ㻤Ø$¶éïK£m†yÀÏ/2@›ü÷ ¿€š²mÙ<@Ë`dm”ð ¨é‡Ž„é#®ã`ó-ãñ 0öw)‰y›y%>´Í´ Qœ’î³jÅÛ<@Ë :ÕüTzñ6Ð2øçÕ8ül ¥Øì6bÁ/ÀæÁ ÒÇÀ<@ËÒ~·ô6Å/À¸êþJÇqØ6¿›ÄBl¥™LZùØ<@ËÒÛ< ¦m’Þ^)ë«Òæ~iQïáq¢—ñ;_Ú ³°-Ì=ˆÆ)Ñf4”âú¯'Ÿ¥T£xAŒD’wÒ²„c„ùIŠ’6K¦‡CÍ€ˆ¨æº2ÍœCø¯É³ Ê“*‹²/I¦Òõn=[=øt¹Í9äîXKJ K ¦­ˆO±xÊQD7¥"ÚcºDÚ;hqì´¢Q׎ï~xqRI¸ 8ËÏRßìRl0×Ü>¶CÓWÁé K}³±>cç{`çIaNþZþ˜ÂŒÙbîç®r5ÁN¸ÊÙbNï)*þc ®r53¸ÊÙbNKµ”£QÊsZväGqÁÓÝn‹9-êàÄt²Å‡ Ê 5™õRÛL©„TŠh^Æ7wG5\ål1§WL=ÉäÊ%Í™ä$Îß¶˜cC¬ß¶˜cC´ß¶˜Ó3S,æt0ƒ÷·RçG3Q[ÌiÁ$gc¸ÊÙbŽe|Õ{W9[Ìé¥1·<š+ü赜¯—FwäxÊ9Z;O©A‘øþIyÄQMlÐt¿ÚP¯³Mº,JMÍä#ìEþó ûq{‘ë7Gp]÷sÖ<`æ•·ßö"×çºç·½ÈÙñn «º¤×¥þr{‘óGÔßö"ç$†[šo.ìÇíEN,.¿íE®¥ô\òšSKÇ^äZH¾Õ;ÎøXïØJûÅÕ5öãö"çP‡ÄN.íé•Ê|J>[:`?n/rmÄíË\Ë…I†öãö"' ´ß-çû²Ÿe¯ùÒ:ætàLŽ®ûQCî+¢e;Fæš=ðxð[/må“.ziÅ˸¹Jš`H2]˜Š¸×xxbíÇ+Í“tæêèAƒZ|±ù¹[š]èã(ëñI ªx3¶±ÃÌ;S•HsÚ rq!ô™x½¥ôætnÒ·ßryÇw uîb=sSþO½æsìû&Ù÷OÊ83ᬉ©­Ñ eœ–c>ÜylÕÃõZtŸ_¾›Û6“ ÈM¶‘/Hǵ^×:¢A 57XŽß6òþˆr¬öG-_‡ZC¢X’X®i½¯FT»ËA¿’?Ÿ<¥*× Ù!ˆðÕ¾@A¿gì!ØäW+•óž~‚22ñ³<ÎmµÌÀîeÊT²¬éõr3Ån_ËV?ÛóoKNjÙ‹//-ښ˧ô‚(@K™=–ëNˆí|–ÓÖ¶¹LŒ—nŒz™<´\Î~rª¿z¹jíåy¹I,Oÿwiüš—·¥: ËùÏÊøK‹Î}-o¾´Á]½./­£†züÃtݤبH•º@#øVëtá%¤¼â|R·®D¼Ã㬹su7/ Þ?0tìw±¯­ªé¸òßñcqa˜èªçLU…_ܨFL»ü½BO·7qd7¥ãù·é6(Àÿªÿ“‘¼n?<á"ç•踋څº‰ˆ¹üo;†úÉÜu~žeO3õXÄ saiás³ï¼ Çž.ôg(Ææ+XÛïܵS»67qÄâ•lnÛ?¢µ¤ !–¢=TýU b|nù¸á*[†„f‹ï­ÇWÂÎ*Ôs›—ñ4Üâd4”}Jq¥'™¦8^†—s±ÊËP7Z:N¯&µy}έe¥y휺‰ ú£íRµäNT1%,ÜúÚ[í-•¹¬T?WŠ4ŠÃ”¸Ý-2úA¹×By]Ý‹x+nTù–bw$©µ#Z·ì~ä¿î˘ât<¢´¬h,U"ÂþQò·K©ë⎷”)C§Ò³ «R·˜ ø•Ê{7%Çú†´ºBK™übiiÓ"U'à ¶c8x4¤ÐÁäúGùO0é\&ÅÑ£[NùwùöåqÎ4½/©mùͺÏöåVôàîYDÓfAç[Ö?ÉÙš­¯û"l[ƾ‹õ![6ר^ë~±ö’ö-ZCNÀ†àø?¿P7Š'R¾Ãk{§)öOºmœ¸CIršÐ…¯i .îjvDSª–ÏyIYZ(3-uÓ2¹ù;¤±G ›pñ‹Nu®ÖE#%¥¹^mCi‘if™ü÷›¯aEc`ú–{^§¹O2†Ä¿#P oã¿Ñ-„‹Žû5RvôXch<ˆ ºJ…z3)h¨%ø{Ê/qS{ŽL¦êÀÀ¬ªHšBHõ¼.è¹ ³Zó¥m¬óVã¥mަº’Ýh=…ŠŽ‹ãs¼ØðY‰äë&+ŒðixÛ-ÔEŠk=·i³´§¯õ¸™²UÚÅsjÍWB_±[Ï­ .,Ýõ—ë䟸¸æªÿÄ8©s¼ƒ§i¦Ø2cµÐ’Ÿfót™[D'+ÁèØ¬û®H†ã•ºÑ¡ØÙ²¬i´}³ÖïªõŽ»[ñ7Ý̨qí¾ÝÛT÷Ø[Ëá5ôª®§V´J{1¥zˆùÚ‹Ó\¸¼±Õ¦·Z¨˜×l•êp+6Óß\ 7c § Z= ŽfEwÊ&S@O3¸µ yÐn^ÔÔc—¨”ö¥°Dç7ˆ„¨"ñLõðKk„Èã—o˜?Ñ‘æÉ6qÄ4z¹l„–ËwõH[ 5ã>ÔRœª p ´/#uW!Có jU·Ãc_¦Ñ…Bsä®kyoIC ¥f‚[’Ûô¾FÉJA|šÇ»¼Š+®ß=^/(4È’68„\j ‡¢ÆvÑ7ƒ\oÉE™ÊÙcCä°7l„Š­X0ä 1Nmñ¥3.#Í¿vŠÊVc¸Yä}ËáIˆxÍ¿ÌÏŠ| ”61Ǩ„øÉc<˜´^¹ÙFSÌô¦;VóOò³$ÓBBwh -~wཆ î5;~oz€]þm M ×¥c'M¾ìŸÐÁ8 ·'E ß~Ó¡ í(+Å©õýãÍ«H eKÀ‚ZM¡9h9€“ ±cÎÄ:ô@ÚN¼¯nŸX[‰ŽRMìz;ë›­VX°šKñNišµhŒ·’Ž7Bd“×ËðÁ*éô LZÜËýƈ`e¿A@C,/‡n!z\³a—Õ’RtqÃÞñ…燗M$Þt’§'}|i j û Èh#oK?øÔRïZIWÃßÜÈÌí¯ ´Ç»Y#ÀÚù¨7Äñ—#jWQÀ¤~ÕIA]Ó§|êºñÑFê!ÞSÉL#‹ñõàZMJ/½R\‰TP¿rºò”Œ$£+th§¯™·Åò¬<äžÛuèÀ¼ÛŒlëÁÇm±Íë!1h½|TJzú^u:#VŒä²6ÅŠj.k|ªiÛ2dC”Q‰çU¯*‚“Cry÷\MC:4:×ìϱ¨Å× ]Eã_7zd ‰€£áOt=°ˆR:®ä‘‡CwÙ‰&ÖíFo6YÔ=ÊÝ1šÎØÈh\錄@Œ9¿G¯ÉGnô‡G¨æ¥$GYÏ„ ‡qS7OúOŽF¶ÚwekI@X÷U‡”&[½1 ;óuÑã>çùˆ<·~Ú|K^{´cu“µ”X…ÜÚLwêX9æx02¾Ò’7pÕïKi'Ó>ÏoÕ.Ù÷Åz¹»RíìèæÒtS|V‚â߯Kó7ߦåñ¡Õ×õðÙÀåÐn?<åÕ8“‡×_‚ëÈñéavÁ¢:ÙöÚdÇt6!ƒÜks5Õ8·ZìÐP±#F—îõ;ðýRÔd]ÝÐ×ü,»ÿDúMtg~´ÜDy'ÄQÆ]‚º>P»ÖòÀÐ+÷,ìð›™…é2ïÅ\øYÐ@5Ëæ^¤­Ëhâ-¤µêzbi–\Ù#ò@9R\ìÝBW[¹u ¹”z6"Ox*ÓAŽpÒ¡è6 –ì„í<Б}úÁ_Á¾#Ô ôb_.còø»CïM .œ¡÷¦»å 1IKOXÎß7‘ç‰DããXØœå/Ÿ‰œ›]YL}„ãÈj¬†T1-– YˆZ„!-[SX+"KMMbÈLá] ® ½Y‹¥¬‚Âd æ*p™(ÁéWÅ9ºéˆü†Gº;ÙÅ"<@ú Ý€ò˜¹>¬Ý^Mq5VK5ÎÚÍvˆ˜[Ó"=pÀ¨ÆÑd"~ Šb_6ÇbÄå¢Ì?Yõw•ù;«~Ê|Р¤éÝóLP:¦¦úár€Þë—AcqRó½“nÝbÂ(ÈÒPÜêî Uß.óäöKd„Z°I‚ç‘×d×g’}6÷„:“Ô–ó= Ê®›Ö~-÷M©5r¹2óŸ¸(‰èd8¯)Þ›öerz5ök7‡=‚5GˆÜó+bŽ@#Ú^C\"eÙºªµ †ì„vÁv"bf»6z÷üÿù…KRAú£åâ*sª;X& làr³ÅT´3«#fÜN©5Åt° ¥'Dvƒ‹UÈYÞSñ‘úQK·OOóë­¡}„Håã[}ë§÷¼Ó‰]ræIõõô8Úì=Ma¯¦æckÄÄø‹Rxìr¤4$@Úç_+ÁÂð³Ý™é¹ô“âûá¹t#WJ2DyzüðUÉEvÖm¼ÈÞ²«Bñ„…Ù[ÓÈX>+¬±×¬åcž•Z}º&ˆÓ¶}ˆ,fªrC‹laÑ=¦æˆ˜™ÖD¸¾‘ ‰©’t0¹­¬˜™®“Xß…Ü6ÙàTBòÛ=×ý·å¸µùT©1UÅ(ŒKZÚÉ?¦$šQÄ„^¬J1fÈ65ʧ{µÎÁɵ£©Eâ4dUs=!×n+\FCN„=õÝ.žÍ ÊJv†…H§ë®<:1öéî—‰à§â)Cð}\Ý’ª´¤®—™sJÁ ¤r^½ì,ýðT9Æùªzxƒ`Ît†zëåÅ%I¨tÿMW==é)”oÜ Å¬¹8nÕzi¸¢éi™Û çÑÌ^P«< ŠqÕƒ<\Þl"Ižw̼º‡ëb /µhz »]žÁMqI»§ÛMŸÙ¥ñ–VŸ2$¾Î“lJˆ¬ ¢.È3a¬äBѸaËc²) \Ä{&I‘1á?g™€ŒuTŸÝÍÇïÛ#ŽU©÷´ HB¼5ì”áGJ¶Ó¢¼êl÷œy ÚÇ…wLFâï;ÏlM׈쉟ðÛßÏ{ þiàhzZÈGÓ16Iª™ÊS ©™„))äë°å³ž±~°šK(`l¾~íU‚`TX;á™…7y„š=Eø²HÓ¸›1“#@Òˆ;!Ȧ¡JdzNè"0DÁè†GÍDch¢>Þ|y*—IÒ‘BSÈ" ›ªçÂê‰[zêêˆ5Y¼Ûc}êÿ±þ£“B$k’!íb-b»6o,K{³ŠÕä&j~˜Sq;"GM^ëT+s›n·Ú&êlF¢ß=f=B£Çã9æ=Åkïçé’Éàà‘‘mxvåubˆà$@²ëR’i•í³ÿJžå¸º|1È>µ&SÏeö{œª8k¤”±¤]ãÙCZYzþ¡§q*jªÙª`ì9ŸQL)Q8ŸðdNÏ+Y¸"»\IµTʼnÖUEL§MóŸ|®*1§¢Iì8NÂ.MZ!qªØõL’¢R ¨ÈúW5§LÉDœ2Û[©é‰O>–-rë¢ôžä’­÷5ʰîÕQ¡mh-W-j]ì×§jvµe,&£AÔ¨v TʾuêütõšâÔÑ€#½¹à #NmK­qìÂG&ó>ã¢ïé~¾t#ʼn \wÓJ3-Α²ã)˜¶,é|`##j~J­n®îÔãï#;’挫JYIÝÏÛ˦å46nfuàUd ž¹Ù˜\ª~ãCÓéèûlØt·Ÿñ¿¸~°‚j1''dw¯‡bl¦Î×åˆ+U\‡òƒXºl™ ¯•Q?±T"îyÜìÌk—Ç·”—Ý`¨¹0üó±w€c®7•$¾›/gxXLm])±)‰§:&E0áHvj–Ò€þÔ2¯ÒSl¹¶gfÊÝiÁÉ€'0dìkfƒ¾éêÖRsîµÒ­iII]ÚéaYCµâPÜ+/¦]Q@ƒxhTon©žJ°cÒ?Òˆã€9ªgo®1܉4Qu­E€{b±pÎ0kG¡ž€ú˜‰wfLÖ'Ùüü›Š$:-ðPJß"àY5kýð–’¿ž¦¿âáMuwfñ¢›úƪìéöÔ pQ¹kÈD€‹k¾X¥¹ƒÔÉúU‹³*2ùé:'‘vÀ„”4j´¡’,âÍk^°':'Ž–MX…Žçè´Õ74qÁ-xõ¹é†Žì{“fР5‚‚[,Œø}ÿ³þ“Åq—`úÏkŸtóeÄ•áçvÀÛL.<#/®@±ódß’©Ç0=&¼æZ&þÒ±ä}dC™°sÝP0ê<îY£}’l†í“ý93’ô$9U–ñ«3+H¦H—L¾xÿ:5b¦àž±TF°jžwÄ TÆEþ²,£A®Å¶H±q‰U (™qyÁ L;ŒÝð2œõ¯q@D&=(PÚÎTÇr¹ eVê‡ ^4ú¥à uIIËP7ÒÉ.. Ö¥`h)gäÈ1Ò„W ŸŒ5éhìOUý2Ô C;dh"½5õ H…t²>‘”kxNrÒA®Eä@ø=E­;%ëI ¼Îð>{FLE$±{Š­Ó/e*g‹Hb=ii­~ ”-ÔeL¨&݇ÔËÇš8,¥RD6BÐ(F¶kJ¤V« ²‘ŠÌ9úPjEÿ«ÓI†ug&Ós#Œ”YÇ™#ÙHSúdºN$ЉÈc~Åʉ†)G‘1"Îñô½fóN-®X3ïvk÷‘g~Të ÒôòÌÁ€`  zVãƒÎ =¸V‡3Yꚨ›•Är‹®— [AM†Ýä±É ´Û¡uÂÞ­>%‘ËN·B§Íy´ìZ’*h»ªZ[^âô{\)Å™å Eu1œ“,ºFÃÀ æ¬Be`¹ –P®æº­¼¹Í¥‡Fè¼QcTœ}.gñ¶£-}m~3Ñ›iNOÈìÙ8}èü*X›=üðLµ³êÉ@Gþ·6vÖŸ°P¦‡žŒÏô€/Õ‡õž4­‡¥j¦a¡®Ç§ZÈ-i@EùÓüþ㥒éÓ-ZÓÍ+QtÜ ™*PŬKÈYÌγ/ì–âe°½Ža¡Ô4='r×í~ÿDIi·G:¹pP^BiõŒ—ß272»¾OæFžGÚh’¹éx¤ÌMg7¦ÌÜ{­,GkÙV™›åÓ袈TÛ¨ýõùÈÜDÎ|6:'­4šîǨidn"ˆVóç#¦çÀ™›¥©'‚ÌMDL• Ì+5XKˆ@˜b—en"õ¢I‹ÌMtxú—ÎMÄõ%t3RÅJ7 x5/H:<ì›S¥ãDìFµæ—ÚM¤RÏCd°¾_z7£=º/‚7ñŠêx‚7òVñ ìÜÏí#x׳®oúòÔÁ¥íÂxÞ˜ÇöÞÄU<¬©è÷I}–l[¦Á›ž´)ozšw!xÓ;õÞÄ¥{?‚7²ðûÞôc‘ãɨseoäÁÙ¿‘nr0¼‰—ßSÿ¦±ÜùðâúžâêáM¶; 7´ËÑ`‰ªÝïgµñr;z €*6Yˆ—geKMÿxÒÅÚh‘¤V÷ó¹Ü®Z‹å~ËŸ@õÅçÆåæGKÊ-~Ý€åöÕ¼ìõ…†24¿òFB—"mñb¦ |â•õç4L_Bï-òìî!TôÜR}¯žˆrßQµZÒŽ’­¤àÍe ç< ¡‰}Yã#Âð¹lˆ‰Aìñ[œ‚QÄDóz) îr(e8º=Ã+t\YÀíWþ(Ạ|² qÐZp½hÒ§§¢  ¿–©#/ñ÷ADÕÇk•ćl†5“ç ª¿ ÃqƒUß~L‡EDzX@`œ?!’œgI”隯X >VÏjDèï–±®¨zûc!Ë£›Ïò[y2 õÑŸò¤êöö;•'tlIJ¶¥PžŒÚ]Jaò" \ÃG =G%Ž(O*¯¾¿Sy2Òæf$F¡¡¨o6è+õm9¾Ê3¢EôâŠåÐ[ŽPïÇUÀO<'Ò“£¬vrHu–ã ñÉÈxí%¢5’ mùÉh.Ž ð“€ÿFË)(ƒð ªX Ùȶe4íA.Ê‘B¸V¡:þKÊÑ]aý‰(=(š-z‡…‘ŒzK¢‡=aËx“(¨û6Ê«kEœÎÄ à¦-bãjÌÇú±—ú¡Cu,ÅŒ&¢xâ…#ÑN¸)æ+Ô—õr& |—½_HQj †ÌUÍÃf¡¼–Œ¿:Ã#ܯzï#§¢wÑI1ãì @;Rþ]/:OˆdýèY-+éHz‰˜ÆLo®šÀž¹W:7Ä£¥¹ï”``Z–E´§îjá YP]<ZfÚžcª^²d8kßÐD“æ%M·$6Áb”Y>Iöìn9 ¡$¢%šL„€Î$~HóIÜow¿-B°Ì‘ ‘«;é¾"Ìó U+5)þYRÃ"Ê{úKJ¿§‘RúŸ`¢^s_Rú=íl‘Ò×\wþN)ý(Ž‘zÍà¹þ;¥ô{ ·!¥ñÁ†•´ â^àBèÀFÒÎ-ý¸žqL‹Êq³ýÌh¶"W‰œ~Ìx{Nejœ¢uêGEðñG/€„U!@ ɉ´¦~\û5ã7@Ï ¡fƯz\¶´@zºçL©Ö˜ù"Kg¤¯²¥õ/ÿ¥¶¾Ö7ߣ®}%)®¯ZýâúñS5­Ñ@#’ÃXKÒâúj¬ýçø¸3‰¸~rº:×ï韸~O*ñ5VÛÆ2ˆëÇ¥p<™\ _âúyÜךҚjÝ‘*-RPÈëT¾¶¾~¼qï惵¥ØµÎËH#¨?V¡T³Ë!·c¹F˜{oßè[x¨¸UtS.3q×8Šz6<]²Ep[ÇeƦwÖ¹6%Š=!6©ê0à_chÛ",í+õú+Qô2Ä>& LוÝKªÎt›—Meöö¥¼BÔ&¹Üg·Ê&sp"ðžÊA/©â4ÂW_5&~$æû •>eåkû­@CcÎmÁŸ_ô}c‰9¤ ‘ãg_ÿ°È,Ç(‡VÙñE²/ïi½¿I×jfð˜–aPøEG›åøZÕÓ´,,“WváŸe×tÊ&¢žA8‹|·-&§KÿWcV–½}]TpÕní¸AEÇîøâlð¾‡ÛŠâñ¤d9lô;)4¦ž´péF$nصpØ6ĶžŠ0Ów!jX#ûjUPQ]$S}®¶,jíÒiºÛSË*º}óm§]Â}7œð$Ô«'Ø’ã8„·–^‘¤ðfré¨0¤Ûcß[c˜ÄÍ¿òAÇ/*ÉÃAͨÌGä×µê–dÚ\©GµŸÍU,±ô·ÌjÀæJSƒ.£¾ÿÃtN±¹RËœ—A 3T¯š>Ð ·KN\(lÄYáú»@’Jj1+‡ÓõÕ}}®¯ž×× ¡å¯_®³“VÚÃq™?'Ä]\g’ŠÝ­§;–réhxµ¼ÎÔá?yÝi?Çõö®3AžÞõ&Äœé€od¤ë H[E¼'ª’ë}ØƒÓÆWª´[P±¦žB…Të›oR7ÚÅûêÖŸKL=€o!5ŸãM^7œ*í(4¶—ïiby h=æA ­)°+— †KÊÜ#Ϭïadü”>¥'¦2–;Hݺ‘ƶ¦>Eßòæå;ÌŽ‹ºA¾^»bßÈa¦Á·ñÚ]›™ev•qO¬wR§ƒœÍ|óPJ!M*FÄ?BÃÊÙÆüûâzŒèþï-üíÇÕ‘Ô„kÍðôUÆ2Û-}¬â†\¾>-l*˜MƒÛV[qJô—p -O¡¾sÐ06·u³¤YòÒWq3d} •ݱîú¦#,ÞÀ~”óTlƒ•î˶ô­ÖwŽVÒ-§É˜î(ùÞ ¸†ÇmZ -¡`xŒG\Nüm³=J˜ˆ‹®lK!tr-‚°`qW£Ûƒ+0ì¢kÁ‘n‹b ¶ë¹ßµº%" âQó“4žÿKaèµ=C|A<ÙS‹%™´qªF}´ZžßiA«3çaÁ¡[Ä(A™’gãwZÐÆ™#õǃ6biÏÒ K}€oÖþ í¨é݃EôŠNÆÎ8$õf¬ÔöÓK[ÑjXÐ;ƒØÒÊ3Úˆ¥7ù€õK¯ciüûžæÞˆkŒ„[Û6€eXÒáH;ºïGëmGlÅH OÚˆ­ô²0¾Â]v¥y|lK;fI›ZMFV¹6¦3¹Ý8Ój ¼ŠÏà¹ÿü‚¥1RÝ÷nZyýµz7aÞ“ókN Vùàž¢¶…©Ÿ×M;ÌEÜÞšWäÌá@3Õ{'ÕØ¤aÔR?‚Váœ5÷nÔç°œ[jÃXÎd³-'·ûŸÔ=÷EóÞ^à:3›1׿Zµ ÁOÜÊïPîèûuh×Ç?JJ«Aºìž$)®Ûñ VqsÛcì¦~0Ÿ¦ˆú¾Ý:{‹nÄnæ~>y—î ÙÛ¼OŒ3~ò4­z虵a—ZëRz2w†R½m¶{üÞnȾånºÙ$–ÊéQÇŸdÂæ’ºàJ©B¸‡ §Ý ®{g…§v„§9% º[9 °']sÊÇâv}·g4¥kú5×Í÷Ÿô­Üò1¹ÐÁw Ta ÇÁ‡Ð-R¢]s¥‘.mþy|óDûˆ¤ŠÏ3Œ`5¼]­+ª##?‚ºÒÓWƒ1¬ò¿ÑÃi|½t鎑&6KÈ5ÞCt#žAÈÎnúä&;™Ó¸c¬AhoA³Ç\ Rkë¥^²Ô¢«÷yX®|Ÿ û'›þšŽÔ“±AUÓŸ@E/Q=ïŸMí©Â®B;²'g[J»â}×Lº;¼–=$í+)ÇþXž~^Iß4`Sº*dv5A0»×–—¦Å?±ŒÇCŠKŽ[|\úÅý‰«ïÒ„¤s%ÆÞ-Õy§¢ëxßUŠ ³»694×ô /åu¿5õÔêþƒZiçˆNˆýÂT}ä¸}3mñƒ%[O?nMo8ˆ+Ó\Å|ßJƒ·>Oqï¯z:||%ÐYå÷Ë¿OqjP,ô·¨|D Œ\ó:êúõ”e?ÂI Tçnf”lÃûs/òH·¯÷$ÊçX…Š¢»¢Ýõáµ}‘SS–€bu‡Gy¤ƒïÈZÍ•^(«TK^-3ís€)¡°‹¨îf[ªïx4Ú­QcüJd]g<~wül?œNn:Ýã¾àµmJ¿T™ÎÓ²•~^Âí­†oG «Œù4ß4Ì…í l‡§yÞõ‰VI+¨¦Û‹x·ö<ê—‘ÁPFj[ʃzó ŸöxÚTaÍO4àÍ:yØBÆÎ ¼êFóve†Õh»™¡ªÙš.¨öïÀ\¡ ˜Æ¢ù›ÓJMI0Õï…§M†:Q§Ivêø{‡½Ã1EÕ® T‘±µûÑ)ŠÀÍôqK˜,2:º [è‚Ü”¡G£±ÔfÈœcætôè?Æ4!«©ó¦Û™ƒ‘ ­/ëå7:qQ~ñó‰-}©ÔZ5YÂPµ(‚À¬'L„î¥è¶ƒÖÕè=ÊhšÌö1±# ô«ÛJE…tt:ŽNÇQW÷—r$-¿ëŽér-/vU¼ökÐÚÕFBöˆèZ›*6½3/W†MÈ@¤ÔA"#vöN…6þ-ø/}¡–:J©uB$í4¡f6À¬ëZ^ÒÚã4︽˹·º7F{¢ÿÜeeý~€¤(”ŽÄ:^’EF0Ä Açï7'–•ß*‘hwv-ƨe'6CéwEz/æ Wm¾ÞytZuIˆºÚWriÔ4]œp¹—Á16.õ=îåaA]GGñ{ì33P&ÝëiÇ¥,‘‹Ñ…Ìž}”ÆG€•,™"3òµœÏt êè„>v”ˆ»×ZyѲœ=ÕÐ"¸UZumjËÑj݇¿^  ÆûÅ$+ÀÀÍOÙbSžºÕ·Á¶¥³a—j]?‚%JQŽºü,ÈáXCM&n6#kätúÎ,´Â›JßÇÉ%í¡Dñò"ô10ª \U0LoÅ%ÒO?ü?×aí§+oøy¦%Ø>*‚!<¿- ý‘PúáD®4“çwösù↓ö:x^è‰Fª”®c%ÎYër°•D÷Ѻo¯#+\ϱDy"]ºsõFáŸfWNÞ®fÂDD«qÅZbiÇo° ž?R•@y,̺“]ÃÆš: hèøø®²šãú½™'O‚”ᨱgrjâ}i Öp*P4TF* :& #)¦ª”š.è×nŽg˜"•P™<èàûËùLC&þ3f§H{¸¬ÓðžÒ(­lB••Ùž‰8䉊B#G\QÅbœ¾Àgs!^Ýìë'§›‹( {D컈S *Ô@—çY)á‰æ¡m>RƸ…àç°Œ0 ¦±™Ef·»“„¢ÆApžåÀ¨–©³¼´v,Léõf´öX\ ÑX¤püþ¥IYô¡r-zÝ€Ö†Ó·¤Gõý[Ó*‰sëylµðZµ©šbŒÃÏ?ºã±êš ¢4ùŸÿ(VU' cxÞu{ü¹u ñ’Ú&)ª¿__žÎ‹:t侇X8%zMƾ/ ëCe,ÔdQ ƒ{ŸgÏ0[::¢â7ÅÕuC".ÉÞ™÷ƒ:·XÞ¸3S‡NÀºS­Ã¹E®ˆþKQ¬÷N•*© owª:™_â}µ¼Zöw#±ê#NÊÇÚ—Ã4[Óô&§|¬ÍIóeïÿ¹D=0O!:kRÁ¶‹›­¯"€ò÷¬A¤J‡Ù…K–ë6&“Ê=1qo¡u òÚsŠ•SÑtä=zQñšøû.^E/r_¥ñÚéÚXh«›^p!œÃúà´Çëë¢ô%£V­ )©Ô„ÿÐT–*ü¹b³ŽÞMÏLìnŠÜ ©Óœç#{2ߨãîô«¬k¿Í©Úw+=Œ¿±s¹ ŒîpxõÚb@Íb-]Ž  ºžÊŸ}·¥¾£ÖÆÛcxÙyûuÁz{ôLõù¶LPvRº#ËS žõ'€¦÷Ó%±÷è#¿¿"7ëcc î‘8d{p ™šÐ阔Oív#V ² ÷@•ñç—}¸c½_èÜ •¤08qñSE¯Èð {qaõ›qÇÚÏ­œýÛŽ{¤P±ý¸j׿¡·1g‰‘÷ðOÐå2¢o9Ù™›Öäk84JAi$Á]ɸ,è,›F&˜¬þz3Gø¶´Fqª%ºI÷¨¸I›÷t²¾Ô vÒHõßò!Ì_`Ø4¼ÑÒ‰Î]ÍDcìa© $”ãA+t–ƒô¿q ­í·s B벜¾¿¤Ô\U¨þ¼èû~+v;jž[ÔJóz¤,ñʤp ÃK=V¡mÓN†ÕmÝ”êP›­¥ž´,Áè ñõÿ'Ô2ÊÀ6‚þ&I$é]%C-__›`K1Èé§ ÚB(_ÊÂL iÝÚ¾^mÀõ1‚TýjS¸íл*ƺۡw æ*qè]Fg7䌞¡·yØ“¦5J$îú–¤¯§Ò{•È•ôfI21²­Ýu_S™%x¡Y#Ö4­ë TNšÃuÍɳ™ ¡¥±Õjeœ.ëèÅžúû(—;3¹»¿W1 h~0Ÿ½F?3Q†ñLÁå¡s<=¾ÿ£¶Ì‰"vÕïEk¶ýBKrfƳeö­?æ’»f+r7P…™Ómàv£dÛGûgôœ í“ (´ú¨ ùÃü §[[~]„hLÙª´¡¨f/Ð3²-$ŽæÚ“ÞUí×ÐÁ@Âkf†€TŒÈdH(ÞtCâãØFF–NŸòw«hÇ? ·8¦ Ô!7ácª«>€­ÞŽ…›uWYo ZÐs6ȶÒ.™Ai„+yŒ<Æ!M;M“þ¿Žq´‘†qá Šøµù¡x¨©Ï 2ZΦdL¸I5KcËŸab“Ê1ŧ¨Þ'¤3ΚÇzaqM¶/¿V””%`•dz…E›TâL-¨£¡ÛEÏãJÒMã?ýû«q–JKüáŸy½ßK†ô¬+n´©N ‰ñßc] €è Õn±ðoñd}Ö„-ÚÆnF!9ÑñW»†w«§ºš¦ÞÓþ`–è›+FDb›¦u¼µž±+©ÇlVF¥b6Nõ‰TƒµîÌh‘ Ì6­šU™Ç1æväˆc¼·R¸­wâZ&…Óý Ư”bÔÖ‘ñÔ,+ã_wŸ%Ÿ#\O6DÍ¡Z7Ê6' ^?e>RÃ꘡¤¯gHàvP´FÝ èг›+½Ð.À-ÂŒë¤Ìw™wüD+q´4¼t r¸‚‰™"(ˆú" ›#Öú|dž [^ÚA bZðdã.1SUha¥ÞV($7¡lóƒ—@l(øÃò«Ð4=l‹.T³e–õgëµ_¢ÝÕhoPáQøUã,ÊÔ¬Wiháe‡VkÊ þa{ |¤ÒëHW§­Íö4íl£‚g€‡ÌdPééÉéýF1Ø”uè ¬LgãÖ‚´G:ÜIŸkv4°²;TÔýÝrž©Ò>úwg£§ª{Ï‚BL×½Q@¨X‰^˜ôtÓ?£KèZAñvL¬~z¼“/ÉmÛ RG®m ’爫tü€<lÒë‘él¤¿iÕ÷¦Fp9Ž9 ø!áÿ4‚SApóë©ÆÉ‘.Ç@Oê¤Æ3h‚k©HcžEÂÂ=~wÂÂ,ð©¯{5Ï@lç-P;°ZúOJuÖLA`¶"ä7—壘yÜpe+[ŽÂáFù°Ý”æDY£™ ÷ð:Þ=Ü4:yŒ Ýs".®›'+_‹žãélH/ž{W/¦¥^W£×¥õ®Až+éÿu/Ag˜Û¤Ÿè w+Ä?Œn7VHJ ]Æs|?¾š-¥©cN>V ó°ÀŽ ÚëžÆ ™ß¿Õ)Š×ì{[ O=f4â”z®úùGy^lòˆ£‚1bä1(Í ¦£ï¿Ê#bt@Ïüª3$»îm¥ÂÇWÞÛóJá ·ïí¿ò&äµhÌtŒ¦‘ŸFù† ’﾿·‰œâé²²“B`QÂL¢®fV6ÿã†ÿû‡Îj—µ¦öHÛ©Æ1:™Ð4(JËö{XÓë²Ûë"Ìô£uœ²oøf)yÊÉŽ…û¶’H<îÈ®§y1xþ¸y­L3‹bÁÿưeuÝÅq+Ëü‚ÏŽ'7^ü# :åÚ>h:ôlŒHÔ'õ.={*7žÀLwŽ‘¶¦øV°4ö‹¬ØÍ)]åþé׈]ã]E:×rõdçÁáužñ!¨ªˆÏÉS!ûÞ9ºÈ) 9 {»›Ä/Ê’º"ñ 爡ÜJ˱ïâÞ~:”ÿPWÅ:’ðàå¢NUÒÁE}Ú—æÙúg”=iÒöÂÑš-Ói\|d×ãžì§Ùö&~áú™G,±ù–ø£{ n¢y`ÜÆ:·™­±#¢û˜'…Ê‘ØvŠÙØ5.-ë¯8˨œñóWú§Üš85ßÊ~Ǫùýx$í( ÁYÙ!¿´uVÏÙZáëvt? Öû­ùþý9s…3'ËÅè© Ò¤z[$A¤ĺpF«×…3ÊÍ·%z­›—ï×0¦Qñêf~¯w:ïBæLâ­a„ÖΞ®ºæ²Áë¦uMxLü3ç§—lc&ˆ›}¬O¼üŒ# M›ªH¶`)»jyW+H7—Àè£èîFæ¹¾VS æqE]æ8õ´ºŠd¢úÍÖ ³vä¤ÏÔŒ  Çwy´Ö¦}Ä£¦.Ϩ1›À]½ßl•A]‹Á¸~þb˜q·ƒÁKÚ†=°Æ„Ûwû‚ÞKM; €_ß1•؈]0UJÊ¥¾Í× ß’5º±h†‰¡‹ðwñÿs×[?Éï«ñââ®§ue…ÀžS¦JÓJ«jÝ‚%¡!!U ·jÈG«ƒÜai^G‹3E0æ«ü}Ðùœ2ÆZoltzˆ—Ř½?(ÉÖ”Âwc¾jèFäQsw—ÅîQÆeàš]ÞijRÃÇï+./dâ5~_/Õ©Û1–`´@i¶}<;ÄÏeܯ4ïïUÝ CÄhoiÃß„9 ÅŒ UX•áÇËèy§?uE !ÝÍk¥DIïxœq·‚­ûaÍ©¦¤ã@d}ÚÎSM sÔO±•z!Š9¥[!yL~".-ð ,?RKz PÏë\àîôð 6ZjO{S=,J˜šq±3í­‰²@ñu¤±J´\6Ä܇WCÞÆÁko1‹sÝõÏå† þ棢}}[rkË ©ÛÜý¶Ðˆñ|tæŽëßÄín;wÝ™ê?Û A»••œ‡n §Žo«ò”áÎ4+n´"MÀZ‚}FøÒ¾*‚åF®ÏÍWŸJUÛœ LX#Ò]eLÝ’ÑŒD[ aнÞé@'ZѳÃÄ}•4LPk*öàͪO@M÷¤bÏé&I ê¡ŽÆ:U8|Bµ¿=È]g¤ Ø£}©€’o®Z—º›×mªænsOƒn4s>¿m©¬JWáæ:Éa_äÃöâ­ˆ ©OøÂØŒß?t…´Ê©Ì”¹Õš±ÛËŸP XÅX¨Ã„ÙsMPÖ¦µël ð3; Ë™LУ:(ž0§ ëúDDnf¢Ñ÷áëiLC,Ž5è÷=óîgŒµ;o,ÇlxeŒgѱɧfªloðs³.`ÛÖdhÌø ø±•šòELùx+ׇ¿˜AO‘‘ÖHõ«f†zF«X‚÷užpÏoˆÚmÝ%m›¥ã†CÁ¨ÆËÉ@žÖÍŽ}ELǃ7´-Oɯ뚊*€ÊŸV·Ä.õóކÓ‘mläŸÒu ÓG"0²mÙYØtÚFvðH=!<ñeP8æ“#FöýcëMலnß¡êV”#Ð^’¬mË­ÐÈF&‡öw$mÙÈäëBÝhÁ×P[–ԀZ1Y®óWh/>ïR ŠƒEv‰’ 4t*b½ü½•-G©K'œ:Ò|¿è¿ÑÒ#[#í¬É}0J|Kë¢#j » 5yƒC6y¹5“Ø“cß«–üî™ñ¿ß¶¦3¿+ I\ñÀAÔ]š-íZÔʉç½Âås3ÐYŸ¥äB2gº4Ђ› _³ ’¾;uS):ÅÚµqŠyk˜RÕ.üï²jO¼žÃÍàºk™„/Gv£›$Q¦6xš©¦‚Í¢:Ë7ÅALkd¶ÒÁ¦qó ï.F~R¬†r’ÒÐ!þGŸdWº‰ïçIÌiƒýd-ÀèàNø•8pÓ$|¸BÖ¾ºFb8¢´_&ôÖ;r“èKº°j²‡¥ž?q1G‹u w–h‚Óo­ –b>qOm¸ÔÈå²è¤lâç¹}Ó0$‹5Á a¦XÅÁu¿²”šÚ?# ¥mºbh¶û˱&â >k·…Õ ‹uI(ï…)s²-\i¯`Ë€µ–˜4 †[ý[½¡ë`Zf®´V¢`JP˜!äÍ ;FYP4­–¶ šË+¹ œƒ&¹ÌÁŽ®ÑNb¼ Q}¬šÐß’ÉÉèÿûFÅ£iPtFг7œDz‚€´Wâ'dc¿ŒZÉÛh´lW‚©;Škçß;À²¶Ñ|è¬oóôge1n#‰o„ï²àg\ÿQ–-3±¦¹2L=ÙLè<Y]ßñ󬎦w¬Ûk&T­{B&õû“ç²oü¦?KCØZOh~?Ñðw4Ööo¨¢WǺç™9¬ÙS­æÐh‡!ïÆ™ŠBqY,¦Yf9…–Þ'Oô™ ¯}ªÛÍgÖB 'Ö—gVp¿ýHékG²-Ö3±UÚ…9ì¨^¤¼`¤\’YÓï|’¯é†Ê¼yŠÏõ©Ô®u‹CX©Ã)e}ÙS_§²pj.QÄê²><áæïG‚8Ö|ÿñ«ŸÍ™ŸË_I §Žça¹™ä©ÊÜœ"¨äpF-UÏ–Õ9›õuhn*‚€±^Z% Rjfnw|­–ìµ÷æŸç²Ôo”S2f¾Ñ“kNe¹ßkŒ¢>ëÅÎõpÜ{k èŸ5FTŸ5…ô[OßçŠÅ×ÚEÓ[‹õµ>œ‘\¯šQÁëI”ykIP}Ö[$á¯u‡ùÖà1¾×íëïûç‰NÅÉ®Šv¬´æê’+›´½sŸlºâÕ·<‹²'ÒוÙþseYÑ/wo– à éͦkãî64?âàåç‘-ïÉ›eÔåßäã1ºZé˜ëþYÿ!ÒòÿTE…@ l>ñÍOÀ_”Êô‡eÂ|ÃS‘|ùwâ"mÒ‰¸êZÙ†m(ä ´v%70Æ7Nuißw¯oŽæï?•ßÒòÈŸ/k‚@D2jéI«™fÕrÊ{6‹L³y§x'BR ›`õT0áM…¨1mcí~û˜¾IEÅdãA+ú¾t¼@HXÁ3áR“5nîÝ éfîÜiZ¼ÅVZ×Ï]yWñFëüºËÏÐ;ŽÛË{0OõáÞ,•QÂà8g7I˜¸Ð®cرN6ê[ž î™…dã»ëI?7Ù≽{gWÎ`‚ß6øéKÙ˜oJc`=,KÐÅñN®afÙŠ@¥îÎ܈µ¢Þz|G&cÙ$Ö}}eÝ·™Ûͬâu²ùQ3N™Pró‰°'ÛÉ8Ë5ûyBmåÝÏô@ymçÏ GS&äÍÙZæ"ƒO6W7Ù’m¸¬€úÖÿì!oš ÉOœég¨ÆÈ8Äž@»Vë$ãÇ¥¼Iq8:ðtýÄ)è Ø·üvƹãµó±9ˆŒX;’² çäîJ+´¹3²ó \õåÛW ²0ëRC$Ôc#=U¸´=’%î ³½²ÍqÙA‡:9:ïävž€uÄ#-'+[jy¦)bQddW¥[%Ç¡1+Å!²Ôæ²÷s)ͶÒ:äÓ†%áãrim÷ÐÐ}Pªn£‰iTŒõR0FoË÷\MkÖÁ̱©ä°´Lš@¦ù!Žúz¿ÑÎ90tNÏ@¦ã »NöàìƒS¸9všHµ?7ׯ]{¥ðfÀ¼ µ}÷îlÁa’>ͱ:U.7ËÁÛi³ÐŽ«Þ囯MòeL Ÿ;ù15”ÜËn» 몱ràx7q,[¢÷pêmÖ«É.Uîò]¿VƉå4¸¢Z?×&†yÏŸ´lYsÔ|ʯ<ÜŠ»¸®Ïo”33;qÁ[>1·ËÄÄøÄ˜ÅLøS)Ÿ±Aìq BŽhzôÓÎhÄ]¼ ØOÝòD#'Ÿ’‰=€ªQçÏ–k(à3{exéöžœ|'{šïá›(¦]Ò¹K£ÕA;m¤q*2±¦îŸÒ?|ƒéÐtô¶×¯›dÃÇ*ÙÙ7{bßÌÆ $¯tŒ “,–•5РsƒµS÷šv{n¥n¾!G%¨y…Œ>÷êDýXÞS¹…šŠãʴΰPi›Ñ5PC#ÅàÞÀôݨ¸1M-Œ7T‰:dWÃÉášVà#äž7ì¾×íf¬šq¿¯2z3„V$=Cfµ^DÍîlÙ_‚ÌêïÅÒKTÚîõf]µ¹³þ¼ÑÉ™,×oÔ ‹ãÞÎÎü¶q¦³ƒ¢Å§qÖ{ãÉÚßùx¾ñG5p'Æ’_íÖ<ã>³Ÿ??½,á™ß¿É¯sÐq]‚Ä\颾õª0â²XºYÝËÉ*®§ù Û¹‰ý¼¾;ÊWKÆñò•¿raŒu³ÛÇxsÝÌ?qÌXIžX¨9¾ü±ReŽ£S§%ãùèô3Ï{fô3¾X4q™ªw»>¡= Í«&|cPéÛà²[/rïÂÚsŠªr ª!`aiÊ'¶í»\cŒTö0ÐzïJܦÆHkçóæ€Yq :¶°¨Ô°NOwÍ8 ý‰¸70×”ˆ(0Ìz Œ@ä³Ý"ñ¤%N §”ÆèãUtë»Ç²«bL‚þ è´‰XbI¦t‰˜ªå#VR0Ùò€[9Ë ø‡»™ šÞÖA8om燸± ½mô,sÚþßfçž.ysöï ¬²é˜ïž5—Å$ê»™³Fò¸ys×ïŽã¬=œnïáFv%J¥{ÚÑãµòO‹9W«Ó=»ïîå& „ ?Òê9º]ª›ú˜Žï4”½[lºG‘¼’OrXÌz¦Õo÷Ýènp/{°g$?ýr×V@ Vþé6Hu¯n©Ä‘=ö¡ÒbŒ’zrÊŒ=Id<º;Ú19ZÀOFúˆÉlí´¶¥©‹ΡÍÒÆRÄ9´>ÍVs‘;bòê÷al)uµêuÄÙæ™C¬ÏSg#*q·Q‘ühí~êÉ»»‘o2ò¾+§./¿lžÂ­Œü3;%ÎG©Ñn£_:=C¸@>×Ê~i¡°G3J®tW3wæÅð Z`ÀbQ³¬õ‹EÜÛ_`1í±/°XĽ=>`±n5°‹Ev ŒÁb×Öý€Åº»m ‹=sÏ,ùšß Ÿÿ›ë)|‘(=},ÖñÝ}`±Ž)Ü‹…âÅü‹Åž‰\ Áb&j=°˜dÇî,f‘ëð X,œ'Êý€Å»ãÙ‹Ù&ïÅ‚F`´D‹iŽ|?p1¹ž^,dÖd‘ê8-Ù¶ûAŒÅá©_1¥Mýƒ“.iû€ÆœH?Ô˜ïúéBÜØÀÇôÇD üBŽ™(øëõÆÃŽT>]’ÿì©Jɸ²;xó&¨P*À¨iRœøÒ–CÊH>S§¹‚qÖ™ì“ïpÆ<©a”û#WÿE®èX ?r…”ƒ Ì®ßq·e.Ððûº)û3‰“&Wt¬m¹âφuFÚ‡\gÄ/Á¸Ï’¸98îzô¹"âhÿ"Wèî®rElÎøþ$WÄ™X÷C®èiÁ’hÓò$W˜UñÈ!}ú‡\gä¶¹BX‡û!WÄdÒäŠýùcW™3 I¯=¯Ø³É¯ˆ`Q¾ ø÷ðìG`!“bgf~q,âÌ|“,”tËBfÿÐ,Ìa< •ZßD €O¦ÅœP½“j1åxôáZ°ñ¾ÈñŸ—¨¼Ù‘ xc¡ÿ¬œ{ݬ {Џ>²ãí÷Ψ½X“ö ˜ÐôP¹'YôìLXÁ;…¬®;Wd§¨ZÎ’š{†Oæ­3\•'Uj Ä6 ýóËäñ޵¦oà3D‡:yÇz9ëÃ;î65JÞ±˜®ëÃ;ŽÜEŸÀ¼ã¦¬/Þq·‰QòŽíÒöxÇqÆfýðŽ;¥ÐãGþÜ¿xÇRZ:Þq·ŒsòŽå‹Ñ>¼ã8,ë‹w¬ÃÔ>¼ãnÕÊäÇ™šûÃ;ööxÇZ”ï¬ï©Øò¥×>Ìc;®<êq0ÊHîq{sれêc›ÏùèÇ‘´õ/þ±’¼ñ! •ùÅ@ÃÂÂîR ·Yc|‘Qù°ç†ªñhÈ‚»~xÈS<¿™÷ûa"“@}Q‘ãÌôhýѺP!º{K_cޤð•çÌî/½ÑaŽ3}謱cšTëÆ4‘5þ´Ó?€]é\òõýfÛÜsœñzè>¿ÙøJ ;¨Nꯒºw/?’Î×çõ_¼!(5|¹b=‰ í9Î$ù{2ß=Fÿšœ¬^½>÷öðȘ¦ÂÊj5¶£Æ€”¸2J¨S”7ýñr Ozÿü2D,’š©Oœ²lvò‹í×¹yyF ÛŸÞT¡7E”a$ø„ë:­IZrê!S§ ˆzSè3»W¥4J²mÝQAԇᎾ)eÅúúó‰¨BA[ˆ=6xO÷¸r5ÜíUšŠ1o„~udŸÚ#ò˜À™SQ:2pÎVJŒ›VEzŸ³ :q¿Ôž¨§6ñ$-oµð®obiïZ”D*þD~>¢ÂzMú|]tûÎ(,ÖŸÆÍûŠ(¡›Öa·C:xD‰‰‹±öpF‰jJž.ÄŠÆxsTˆ(Ylµ§Í¿Eè"*¤Ñ±õ¸cúÇë¨2Š«5sθGúþÿ|÷Ÿ©æ ß5/ †O?{¸/”3&’F)fwŸ™qaåë–Ñ©ySs3Ó'êÈäL›ˆu\Îq¢Ã “ÂvÎÎ7³ò•J$ž­óóš’@¥4ÓQj1»/ɉölßQÇ‚7»ÕÌÄVÖ“Ÿ(„öd…l´^_ÉÎá’™ <‰­Ã%™@ÅWÒÎÝ!ŠÛÝ”vW6ºº¢/åÂ?|´”ÙÄ@\˜>1ö¨J"ó&ïT°tYð­MÿqÅ„å3ÙuëY’}7[åÚG\k×#‹ï@÷ç»Ã½þ鈻ó¥ã¸ :üÓAO¼£‡‘’þq‰_Ä*ÉöXÐa*nÇ+B^DYo ×+Ý놿ñtÞ ]ÒÌ0û<£¾sŽ¥°»u?¿ì8ëw7V„CZfÐ ]z")rqî|Neõõ¼l†¬sJ«NƳú³•²:SËçÞbÓ¼sŒ˜cݽë/»ºð«Ý.Pﶿ઩ ‘Uy\‘³¨Ùû:LQª %J毌WnF.)íç¹\ vKâ¬B¤5›U€;+–ƈkvã½ÒŸ4T#û ¯LnÚ­D}‹’#&ÇÊNÀ[h.T…•íŠM<“Ï#5T=:ö3]å÷MÅ“”ϪôœO64jâ1õD¬ ,™þŽùT¢¤ºF¶òB!-\^l,þ}£—wr×l!<Œbª+€#Ù¦‹6ÔµicãXÙñâfýÜ%wµQ’¢¸û¤µdE{ê¿W›Tïg ¤Ô÷Hm,ݵ‘DBºD%ŽöE49ð]L´m‡l,Í*+~Ú+Å 5JY•Ý »"+ïI‚8ê:õDýmsí­‡Ä`ã´j-¸q#(µRNX¿Å”ˆÊÚˆKGº§– 3¼>í|µx«¹ô9£\Zž3,¨Èºñ¸uË,ùà ÈIÆå6’U¢?6·òŠÛŽúº§›6º•§Çt¬\8^1 9!—–œsT" ‘·Îˆ–ÃeNÔKv[=òwHŽvôŒÞF¬>ÙÁÜý+6×·¡Ek¨L“èhÓÛ¸ é]”7q˜Š¸ hD|o¥ šóéEïÄD¶Ëí–³ØcœQJîà}+K«œ¼rR0-ëÝ~+1É‹Êz<¢ -®R¡‚€°äQ͆‰“P®ª\%ë‰ë?æ¦Ààù.gd¶ÁýLaðÁýpkªÇë#ݸÀúe݉®,²”¡á…;ª#™Íp#r:š%Ý,í|NÎX6ÓTûáŽbÑ-ûáŽÌîÌu/Á~¸±ÑéÊ㾑Ž"~¸==6쇫+îŒ<÷"RÑ}Á7"ÞÂøáömD±/I5’Y+Äô·n_ùïñÃí‰@¶n×}‚ÅoÔu˜ NONí‡ÛÇͯ+DJ’”îF iÿg?Üžu»ýp5ÅÈ)EÜ}gWWª\­ú{£‹¹’&²ÃV‘œû²Ç^%Yà+U÷.â•hAö³ 3…2]ÙºAÅR)qiÞ0–UUž¯ç>¬ú{óW]º[Ùƒ»xä¿×H°ß–;Ä¢5w.6ÇùZ³¸«« M·î>v," ýoiÑFÕ˜J— ÝuÕëèTìçÿjÊøCnó=ç+»ÁáRtëé3Ò93îEÔ´‚ÆûL…æ3Tñ%[*î)Û›3²!w ¶~ï×\ [¿+;ÉYTe‚Šëweo‚M62ò ìxÍø7È,>‘úJUw®½GèwÝü‹cšö>q-YùVf ‹¿ˆù&J,JÉÁÍÜù™,ÖïÞäkÈÑ®‹]]Îf€T= ƒ8ž’ É®6~[ý¦;D§ÿt[ªÎbWw-IãYŒö4¢w`ÝÒÏ8ô~˧ÿB§·¤¤÷pÊ;n5æô„¹7øþ“<Ù5p?©IAÔ9'í䈊ÇQ!o•|p'¯¶Óÿ#î÷Fbg߀wžBƒa=f8‚`.NjnT¦‘'Ù÷QÔ“hN̉ݘ&?¼ä“ˆ‚ÅŽ3W¦ÂnR¥|mÙ)&Ý ²©ß˜¢cî?ºÿ×К¢º"ð*ÿDZ¦óySBµ~_IïX¥¶ßÇõ'–ÝÂu“¥Þþ2¦oÛiŸ†âí!'BCP‹²G ˆc©êå$ºˈûðœök‹zhj[³NŠƒfußwÐ6×k[>heÚëÃ5 !®g'”õ“0zÌ>ó 5 5ãGÞŠ`¬ íkì(Š^,mß°¤ÓPÌá‡-pIØ&6P­º!‰,@® miðµ,écDLwƒpãyïË' ¹ù=²læ4CAšÇe–xJŸMCC>êÍ ÀðdBYÒæ¹fð`óLƒµ%’ "É‘å–$q­„ú.F ߯?8 À5rH\óà/ˆKí–· εÕâ7I¿Зë?ôì¤ x<—~ µ+Óe¼.ºÌ¶M§Å ¶; ?ª“PgÒUl…KûÅ— ϱ S\.*g^ÿÐW³}"wÍ¢óz__N£Q…ˆø¶4¯4ÜL—ùJèö»¾ûoOáHè"}˜Ûp(ð½B_ÓÀ®5[B 5ÓèIÓ¤t+Áãï#MãiO¹A׳3ðì3áXÚº=!­âÕL9Z&|Jè,Ð$Ã&xWO8×ïxÁµ¦à\œxFÖ‚wÝ\/Öõ½ÑÅåÙ·ßè¾ß)úâòΔ´n¾Þ¾ -¤NÁÕÍÖeBæaÔÈ7HJ}L{ä®ZœÒkú¡š)¼¢âþ$tŠ¡.þeùÀŽ(ÞAµzÇx¼¦ø 2w’‘åáÛ@.H³ÿlÁ^l´Ù±C}¸XדëÃz¼¨}°NY×Q;aÙBGá|„æºRìL£L-Ù²,›q¤QÿÊÏ¡/çÿ!’S„¡ç7Ýø1€‡˜cªÓÊ× Öè5dz¦¸)®†%k(düaþ3s=Ž÷ÐÅu³çšDv9®íÿ Ç)êt”è$`À‹p…‹² ×x@«£H¥¡æ=CædÒnPæ1Øæÿ¢¡Cu[#{ÍoPÙñÖ½µ‹¾Öø|¾uÙéÆá5)q®5ß_k„!>ëmûœ\Ãæú¬q«ø¬-bÿÖœ¯uù÷÷‡ Ã÷ϯ”2×åß¿O®Oã{íSžë#üÄg½µ‡¿Ö4ÊÞz­ÿY—žw#­-Ì\G\ÝßëòÏó“yß÷×#ùϺýû÷Õ™-TÖå$¬Øká1ÞZÂv_?Oªþ_Ÿ?TdÇ×ç ‰ùõ÷ÊaûëyVðÚ_ëg§Äº—¿Ž8ëg-Û\—ùÏó¤\ÿ,û?Ÿ†Âã³qú³dãŸå÷N<ÿ>ˆÓÿùœœ´ÎnOŸ´F3¢¡‘çæ@æð—ä}÷QÕÙ¾I Š{›¿^TÅxþ9i7Es.Æš%É„@GÍ?Lâ&« ‹¦ªã½C ÀÈ™ÑPPÕÐ׈ÖÕã’>­“™à“‰pTKо̵vôî ÑœèóVà6ç‰ò@@] ¯îVº·ù¼åSêKCðôy!U‚”!99^’²˜µB39?ÅÜàÀ}¨|ésCðôAJ­úõå›$:jð±> 5pkS¨-žÒSÄ©d»RLeДDÀ†Œè#h3ë¬ã¡õì)Tv2GNJ·o+xf9þh­qÊ̦¡)#[PƒÓâ¶°‘SÊXh˜lÊÇ•Ô4µ‘G!Ci y KˆWã •}œ‘”AîÝ4gf0—Œ£eŽIûbäýSä €}ᥚ¥JNÚ¨ùï‰íè$þ'°pÜE}æšÝßMÎ8¡1µã k2Nk‰~¶h<KfŠb`ªãŸjcWéc¸Ø4( aË) 019ðk˜-á?Ä"n^·ö÷F³!±ýFÝ4äömƒÚȶòDÙÞ,˜7Ê>¼A7æuØ Í÷F;ò°¼1µ u€#`“‡¼è¦¢(Ô·9ÞxÜ–«›äу#ЄPi‚ |ãq›M»T˵¸© M‹oLiMx–&Eü˜Ä­‚€>9üØéÒ]çÙe“^ÄëòéM¨Ñ5&g¦Hëí3Ôé’ŒŒòç~F|Ÿ±æò—}³iŠ[Ù¶‡REÆìP"Π)Y’fd GÂ*—ó—GÄnà<º­Â‰}D]z>ç™Í^~^wÆ.5~­¯|ƒŽ{VÅ'Én\Ž ®ƒÐ<‰9O²É0¢â)äcë#X 0ì$åWîó§ùíü`¤è¨ó­•QðxDœb~—[øùÂZˆhŽ÷™_¿oDÆ ÁºY=9%£ÒÒ@œÐ”wŽ`R¡Í~-…ùÒÄ.’‘ð™ŒÈ µ Ï p§¡V½Ó§ÊvÚîd¥ïÁ84±}‹V0ÞªRõýÍö•4Š|©%à’”°‘ôõâú–3v›¸ ÅZÈ¥C{=ÇÁ›/–Š|Jõ·ãÃ\@4×¢p×èMwÇ/™[.9k{¤{gmABKlÔŒ^†W¶¼¯šG 9bY‘dU¨ÈkBlíæGÅÖHÇíTMèqÜÊ»v-à>V¡¼6B“‘r²VôÓš.à2dÇã{¢å&•bîk¨Ž¾¡Á”ôˆ ¦%  WÖ¤Ž9…Ñ™QÕùEQÄt2£åÄÈ º£}4_ÄÓ–cèñ©•$Ä“ÒKÕ^—ùï+2—#iÅå°8AH°oñ,Æü3Åd%VžL’'3¿/¤K[ v´¯=)¥5åÍì˜åK0dAñ|‚ÇàõÔõËZ¬Z¼Ì÷)ê%Ö2ùÑZ=˜™cO²;»~]h¨èÁЇît@vîÐ._åöî¿i2Éù¶~«Ùe‹ûuf×n0¦™ Æ¢òþ@E݃òV}ÏÁÿÀÔR|sþ= ¬nñ+óqåw•]¹hù·$qΊãÄð œvZý.ãL×Ìð„ŽKâué"º•™¹+W†ŸÇ`ª¥¿—&ü[Vô<ï% AK€‘t3®,øükòuS­d-!ÞèHÜJåj:©5÷ëÊûJ_õÇ÷÷Ï>F}¾Îgl{qè¯<ØÙÓÚ@´ù Š©ëΑ#ÆÄ}¾âuÄl{cZ5|‘‡0mÂÝ^I£ Þß. i_Bbñ=JfÉøÊ“÷8Zßì‡x¬ É¢¬"P¥`1èÅåóœîûÿlúAÃúÃéÌtøš9r+y†í­´Ü<’ã ×ì'æ¤o~>ž$ë~Ýßß'c˜huÈ r¹™8C¾5û!;´üû¢Ë'î[bP©Ü#Ýi;#Й^[{è•0©wú Mz Î@Ãg¨AðĽbHéЭI ý‚¦Ý¶«Þ¼ƒª­‹'IµÚ}"=‹½²ì‚.;jz¦P JKˆ£:„qÿ«'›Žÿã2ÓΚÉNö\«Ì¹æÄM&"Áh]µö¤!ðº™ó·š´y;CÊÆ‰ +héïë>ɦX Í©•ª6ûâe¾Œ1Y:YMqŠ$Ú“aãƒy=«Tj „ÙØ–~”€$Õ·~¡Ë\’„s®$NºÆÎÐ|¬)ÅE"²÷M™ª®8:¦.‹rŒüü}Rd¶½µ%E T¡“dÖäÖŠéÓux·ÄÎH0ú›Œ”œŒ4fg7«ÒØ13'Q•FŸ¢zN1ðŠM¸œ ¨¤‰Á-½|ðeÐùëÃyïÀõ²[>E·rÕ­¼R‚gr+óùQr´®#·ô@ áÉÄï¯Îˆch;Î6[®³ˆIÏ=%“„Ë‹>„­3ijX¿­}Å-~âÖmi/œ¸ <‹›±Uþˆµd{åðÁ­¾ãóŠ52¼Þá;e‚­qyÖåÌ7ÑšÆda~ò*Ýú®RÍßïëÁÏ_¥ÐÚ0f&¼ŽW%ÊÑñZžáÛ·ú0ÙirëÄ:ò¤”~{Ûy\Âß óïÓððÂyÚQž÷Ä.}‹áZ©ë8tÄœ@oÙ=Wð-¨_†kíÞI„ï8X>:Aä;£0™¬¿ŸÞÝùý̶eÄ;Ýä!ë÷Wf¼R O½›GÛúá™û™¿“Ë3=)²m}˜ÃøÄód÷°«rŸöÁ€ù#¹£ï‘ÉÄ"“XÍ?¯læŸG›²{Âê¹<á$…Šé‰[ÿâ4(mzÂ-Á÷@ÁCd¾GRz™7ï'%™Uq83Û `>‚”ãèëî÷“û¢ººé<\+L¡vZ`"ÖÎÏÈjÊ“¶éNÊÆó‘!Íà;)á¾dAÞÏNû—ͤ)…Ž'ó`´NÁ`Hª¢$XÿÐÈ~y÷<££ÙT™àüMæ5Óíw»kzn³ Í=éÿÜÃ=?iÄÿhhàÕeqTråâ7ø^)ê(Ù ÈIf·VäJ‹f)“릧[B5aaÈ<\FcžQÓa½"qTÓ5Ô6¯é%ä!RM®ˆÌ-î±j X¬R·Ô†Öå³þó0ó ™”ýòùªÇ‚²%õÕmeí s˜ØØ/f(j&d´ÑOOAR©vÆEÒ‘N„q‰,(û¬ý—™ÒŠPÄúIÙ¹úh™Dˆ%‘ßa)>¡¶ÌªL´&Byãcw,÷ïó‘ÃïHäÖ£´ã¹Å+¡'å-úl>ì[ÜL«X®ž%ד-³ª¶5¶X­kfJêïã%”)”æ=;,Et5ŒÃñ–ZbPmŸA)áWõ;Œ*R#&]%û!6ÓÁÌ|PFJDŠLI”0ÉÇiY>¦'l¡¶ù²3@/¶$šðdfÌ’$º©ë\ª¢:‘«I%或ËD¨{J—tþ–*>";x&ª ñy©;óýjƒ´´Ò1à­=š&Þ^jœ•\Ÿßָ璠Öð hj=2³Z;y‚ý&müOfÆïöD}¸5PQ)‡oŽós ŒÃÑéÏÜ×a3å=óM¤ZƸ–ÄUçòZâÌϧtA”û·¦ºlî ±~u˜…jBéTªæ™ÛɅيس¯ó 3³±?Ô‰è ½ž^‡ä?,U""åP5Á§ÙÖ§=Øu€ÔûP…«fbt¥ï$Ï:Ifçó?Qa޾Z"lè§YPüÃKÏ,ì$[ç#m2õé0! T`E-?q°©ÜJùÄ-;+êåbâhvÍKK"©ÅΪž{_#fšmê # DsøÆÄj0wl|’Ü@¬ ¾tAFãîE€:Hª'§©Õ5AæÍ~D*úeê‘–j])µòò)7Í›êNI/»#Õ˜$ΆƒPp€È‘¶)î†Ï³òwü—ÙbžX[Ú (i³‘×D}\»ó¤á)ÃôĉB_€Uå!½“WX&»2¥1Ü‘<Çýˆ‰È„o=cÒªÉi)Á•yPº*ÇÚ_7‚Kf"5'n>»ONœÝ@oÖÓ¶AïÙÌyܼEˆê) ™Õ_Ú;Y½í‹ÌTRÉÂ'S_¦O8êmÖrûï—õ\¬åöß/«·YËí¿_Voëéäkõ6k¹ý÷Ëêmäü÷ËêmÖrsžcÉaä)ÀiÜ”hF½ÍZnœèaÚpæ=}}fS«œ¤‰lòœb$2#Örc.s¢ÄÖZ½Íã5W:뷵ܘ)_Ë] ㇑QÏJõ6k¹¹e$NŠ—Ú Â¶8 ‡F"‹Po³–¨ƒäÏõ6k¹‘÷4œÓ=£î··Dú4D¸[Ú‘5,Yž,»™\)üùeûéü°ÞZƒÍE]Y&v ¼;zzG1¸'_áCw³ˆ2äû–;xBŸkîlz¤lLž¸&x꺊ã]ì’¨ŠðÈCÈä§F^‘‡X.á’g$ylª$“i:6J°ä¹@^@è˜hn¿Ç–¢×êE^Ò²ƒ£ZV­¹ìÅœf'™ ÔBK¼ý` .OY:BzÚOæ1ÑšIF£¿Í‡þÖƒ”_UËõøm?+Þ¨2#w\~èÀ`@ìÑʘ22óTÌxGÐâó¡¥'Ý Sx)ªÜh©"‹#oñ‘¤MGÉ;ªë–™óÍ&gE qxZ>™Œô¤¤¢²³=ú!¤oöyÅÖ­Ê…_µhqIaðȽÛξ¼$Gb‚W7°•쿈3{°e>ò‚r{2?|w©öJU® Gåª]C&UGq;)ÏÅÈ«eб‘– QH¯®aêBžò·Œ €ˆEwTh·$KøwzúêM)lDz þ}ÙIªþ%£maµÖ`Ë¿/jÇ@ÉÒü¢&‡ìUS£xnmh,û ùÆ1)ÓajÕ]\!a¦Üí©¦¶nµäý)ávO?e)¥6d¹)†I8Y(2XÍ3èßYÏÍä1-ÖÅyÊTQWÛÈþŒ )JÔ¿éRþ­ÕæpA†û{KÉ]ßß$|vèø¤7i^»,…vÂߨ~WÎÑdœ{­ÜÍ™¿Iصqô^þþ®[sh¦Ø-Î Šªª*Š)±ï${*/!aÜÃúøäF7»¯¬(¸MúÊØÃŒ´ïD½©ó$¥Oj(dÍúM27¸Á‘ù™'£çÄ쀓|¬…’ËΓ§œð˜Ú§ïGÁ ¸Mò °Ðóøä{é\É'Žq tJÕà*¾IÍpf…1ê‡zü*Œ”shLüvÿXZT*&\¤ÆŸNkéT0itJ?F1FHjTƬÝ7ÏŠ£Àì!ƒ·Zæw©+G¾j!“wÜíÒ×10k DÞÌylX$#¸‰ì×^ÈlØŽœÿFõÎEÈ©#7¨t]Mø‚¬¸—Ð Új3Vrw^ú{ÙöîùÖ¹Tñ€·ö–ªø›mÄosÖ´¶;5sƒ*3ªÁçÚ®äX+²ªŽñwç½8åž¼2_MÄ%VêŠç!–Ö|ÝS†l1ÄHZ>ÿçè,À&²hC\}þε|þ'§êóçù/ž1× ÓɺŸÇ:¿Þz šg¼xþ“7ÜÄ!ŒÎHئN.5ë ï8×:ÌÇët0ÿîº^k2ËÈÚ&¾ŸÀ7ò´ª!¥ÓàÔ¡†x6RÍ9t¯ˆ‹—àØÊ©XMž˜uÈsš<-«V,³[óZøgᡊ¬Ó ¶•ófÌdE_–ñ²1Š I! £èþ<«RÍsmŽ!E¼ÒbªüÄÄ<#oBeM˜s3XcF1ÂÄ)A1Þ18©+ [Tæt#}øEå;ÿ´…j#ø!õÀ0;ã40weƃ—2"?ÁÒËIÕ[%bMÈA˜è¬˜dÉä‹·Îáz¨r–Ö¼&g)ëb¤tܨ7ä–^gµ»~hàh½»Ö; -XMX'êNE¢ qõ jÒ¬–1ÆDªæ\|ý{UïQåÙýË>,¸4€çíb½aÖð% ØS@¦™M7Ùn-æå°àr©³ç`0e½puÄY³C:Fqu- ž‡qu9ÍSn ´d lÞé`£žƒ‰gš…Ë ZÀóüМ/’Fòúû3xJæz=h%XÀ:3oØí3ÿ!ëÖø´‰n«m:¦„™îA¶P4aÜY¼¾¯*Ù˜ÍG••z ±&Ô®zàµ"´"¤a1ì™Ä4å< ü±0AöýønØùy‰·~‚•†J„b\Æ]Ê¥8)ëtÊoaëAJy8áoÀn|!6ÁÐWÑéNøÞÌú¢UÆ]Ú¤/z»Ç>ËVãx ‰4²ùvŽÍ㱞·3è‹NK+¤#ÒÔú“ÛŽ!ýMTÌr'Y’OL•¡C ú(7Èi4 G³°$#É[§wÞ´NëôªTy•K;7WDóƒnRø§ ¯Ä®KxÅ€ÓåLAM3sÝ+á\ÀÖ€^Äë8ÓS²p¢;½ŽÝ Iö’;[‰ž&(í¼–¹‘²*„Š¿Žƒ#ô»´G!]µjîi{½i1)y+´ÉàVT™¬f[ŒJ øôšx5in$—+&‚V¹zM§!ìæ€s$ÒØÌâðÀp’ܔԜ=DÂí.íåñPÐ2€îáMYí `7‘2ÏÙn¢WßÌî(Fˆ£´4ÿûúçE^)zæ7¯ ®§û"a¯Íf0~±±ÈØ÷øî„a/éª. 饀/µÿ…¿á‚Jxà6ûhæ-ëôznÅ E-ÍÆÁ'òÊ|(W€?1e'ôÿÍN!xÏ£º €1™3UÖûçY@•K©hYU¯‚¦²\pAƒrA%= œŽgÞ‡Íýù¦ÔyaɔƄC=®=’:¼¾%Úá¸aßWiùøçˆÉ Z¢Út“¶ñT{ß¾šã C< Aà âx²YÀ°€ `9ÙçË_»œ4llª’ª3M÷ÜØ>ª¥Ð¹œi9sSTê}Xàd2t`ƒ|öú÷ÞÙÍà¡ÂÉêhÌ\Ûï&*ï_ë¢]Ô‚Çf8 !AA3µëðè¦ýã@΂FIÆð9ÊÍcxÜ‘™szs—K€'”GZFQÓd&ǤaP3žlŠ& °R5Žàô7Ž‚JŽX¼›&ü½¸^Õ S͇¿O³‚¬C†…¾ `l™ UÚoä8„2…‚ÄŸHŠwÁüû«yÜߥ¬[Â4¬L/Î_œë#œc…ñÆüÈ©ž§œ“L< uìÒAû'¼Ÿ TÑ>*8iб }TÖ=l ŒU¢ÊŽ#DœJEÊ$sàëË^´¡Bù¸ñ°…cë6fZµà²ó§RtìF¨EFUÞä%*» ùǽüùn~°_k%sÍVdâ‘Inj%ko¨nÞ@¢³M j¹rÖ#Å.›i«å˜HŽ>?›µax$ဤ´VB¥Ç+Y$A 6ióP·h–‡pL‚ÇdÒ£I{Æ@ý#x„`ôM|›x2³ŒQæ “)oV#4›‡×p—–ui¥”£ÌâJô( xá÷•¼9‡s)¡¤jwp´8º„®…-¢.éN±‘݃¥PrxLD§7±é/‰+™”„¨Ý˜þ»œ‚Â.¡l}øýÕ»uKÒ)ð!³ q¼·5ΪN5šjUÚ IõGå„ûÒzsËBJ“N×Ü’äî}-¶r¡Xï(¥Þ­ÇÌ„M­ Sî)ÁçΆzÅõO–Mcœ¢Ä?º€B Þ!V¶è8]ÞÐi¡4™5Æúk0‰‚(‹®¯]ßp”ÌHÙ߸N™í^";p/Êë~Ok x8N€½Ù¬_0×v°FÂDÛt˜%ÏRPòêµ¶kg¡ëŠ®/¿x®àX¤©Z@T̃Â×gçZ ƒp…lÜê<äßNšë„êÝa΢´‡-¦8æYv;nÕ™æY8%xÑÔ,#}™Ãꔵ†Í !ŒçYI@³ðÄYé!‡ ±£ÀÚ&lŸ¹y?¢½©Io±ýhŒ .\j@Zø ØQL1ÙƒóìàäÙ)¿uäÙɳ™f pŰù>ª òƒ× <åä.ö–É•faêF¾Ñ|ýÖp Q‰lî—¤3q0lIï >Á† òl[+hb@àGH!`Ë ŸÃ‰!ëÅ ñAŒêæŸÃ‘¾ùýkŒW8œîcI ¡üǃ ÅGåYùÚ)£‰=EŒ$ù8¯6fƒa ýÆ05gxï ÷(ªá„­òßäbQRµ•.òórùr½/¹¡œ; ‚ÄÂæ”læ‰'S·ðBà÷»P¸q•~‡¼.OóÁ?ÃE0ÜEòyóExc<:ZùæÂ-g»­ TоBAÕÿoB q–žËUÈ zbƽʣŒLfÔn¡ŠÒNf¨C¾É‰iÝœ#"Ó N+4ò(âÔà1†è¢‚Ð2ûï3±!™ ,²(2uÔ ¤¶yJSÁL˨6agP¨qZÓ†Ú„b–˜Ù¥ÍŠ ù=qrA[FjÑ'´² Ì“Áv³A8M椡¸ü@¨£ã¦4]•LbÓA QAL5û-꫸¼E¨c€ˆ^hk#@„¢§L¶òOõ<=›îwŽ+ƒEYôn0i!áQJ TWðGB ÐTÃ/*h†Q¿ÅɆ¿o‘—Ðëm]+Ö>îõø»)1‹¤-¿yÝpݬm…ƒ…þÅNöµÆÁlŒÝ“‚ÜÊÏ2““TEêp(P8¸Zà|BÚ)i‰“EÆŸ™ýí¡–¯¯Ž 5¡½ò nW5¹Èõ±£âý#±ŽŽ`œù ¨JjC:ÏD…Às<ºh\1VÈPL%iÕ'Xƒ±7«P5I&Eé  ¾s°ÿ¹<‡Ž¨[,0eak]IVóŸøªæ§&ê:ïphYˆÙß±8TäR%»] Ø,ξ8w‹Åà—YgV8Ë\ê͘Tî8ƒ.‡í˜[½L;¼c!hVÐŽÄ|Ý8÷ÏJƒ Ìi~N±:íNnâÊ23äb¯ã ¼.s˜ô)jÏÌ™ô¸)þÆéZÔŠ]ô&ÙóI´ë]îÑa@O¦Ú,[„£¥>’Oô0XVÉd¹«Æéù¸Üçƒé÷¶ ß ‡Í²Ú*Ù>TCM…Ÿ?ĽÎS/?_HuVioœ³16xÒ"¤±Zɼ+fcTì,xôf9¬Y>kQTKÞÈü¾Jswð~—ð©‡!( %zÆAÏåñ¸§`–ÇÖAVl~‰ƒ3þ²¢îM¨‰Jë@7¶¬`öšå2gMGP”Ù¥'8;ó©¶åe¹ÜÝPæÈèBO´ÁOè‰åíÀŠ9­øàÓåpÀ!+^ÎÆÀÝñl. ÊòyØ3&‹Ö®ß?$w å7']@Û†á]}§ñ!è;ùì3¥®uyëa§&O€…ðüdJ,¦ðáÈi*ïó¥4ÃNpÙî:Nøo”ë8Û¢¼æN‡w]ËS{Xµ‚ƒæj9wÖåÐ#R™ë¶z #ÏÇO;¿Ù&+¤<Ü©ŠÎâ\‡GЏ‹Mì´äõ$yo}H®ò‰™8Æf%p¸›cñné_ݦòdªã_6YUïe%U&rìåÎlJ« «úCø¸ZŽóÖ@ ͉ê\ò‚:½Æ4玃±q‘(#³£>Æ}õº‡‘\PÍkíÌF¯æ©tJãa;Ë''ðWiVP›é‰W-¯UMÃE&)~ÝN@ÕÑÔyµÐ°ë;¡‚¿Q²%4jD¢Óð§šKùåÚYI4~œbCŸ8¶.kéò”ºÑλ|®Av r[Ú깕’X]ÀéÜ { 4‚¿åz ¡ÒÚ¡<€Ñï½dzùœ^XåieÚ5ÀÝjïsúPýׯË#¯Ã.ùÍêL¤ˆoíY/Î/®–K£TîhEòž_Ï„¯‡wFÇ ÓFJG–…$Ü0ö+QÓ~áèn9ëÛ½ 'ËH|m˾¯†ÔçN—â|2.þõ~ë±~–\¯jýJ\™ð2ù¬µñÚÜ÷` Q%*屿œ´eYªXßN8Z¨LŽnó™ŽJD3Èœ‹Hï2¨DÛF•¹éæºOmstKnù8å6;Ûƒ‚¹Š¹hƒ£\zHvÐ)  !JÁÅy#ái¢R&RÖßäë\Eãžó zŽw†êÀ¬¿»¹h9ZÝvZäèW1l„—×*ÅK8 =hHŸàS± \yi-€7Ô㌠ŽÍѰ˜pòé ·7›l³1&WÌ6[´{ÒÞ'býÅUm° lo™=2TÍ‹ëd ¢P¹^À$£‹Ô¢¿Ñ7Ìœ2ÎH„ÐÜ¥¸2ý]Ñ'3deKÚ<%ÏKqLâƒ÷FðšÖ,°Ê¾´ø›NYÁÖÔ-§í|1“!Ùg¨2ª:á¦meÑÆ€S&*{×D°zÐ0KmnåƒÛIúækÐþZ´y†ò5ƒÝ•)ÈÍÛ aŠnYdµÑ¥di¹ŸåûñR«t…vŒ2:ðý¥åÒ”+`KÀmæ0°cÿ¾Œ1iø¶²æýz=îQŸà3}«yÔ7ÚóTÛ÷dC;m:1®ÎáÕQìL7¼‡À•Šl5u]ÎÔ¦‘£¸/¬(6ÄgáÐB&)í¬‹Eiô©ne¿Ëo0+ºÍy!­›ËEÍ À{ãA:>Y<¨Éä0@0{`¤ø 6t݉°tJ—o:Ës1M×5úµN×Ñh &¦+Eq·ðˆJ3h‰À}”ã»ùú5}M™á¶¿„WW<;OžyÇùš ÏZŽg>QB®Iò¨ëaåâò<Ç'5 ~˪¥ @XØj!ÄœºFLå’—®Ñý’ÚéÔ/ß~>‘ø ”Ç@]^ç48¼YÊ©a@9^}ú Åh“•FK\XX…¯. Ñ V4ɲ³ˆé9”?ñø}oÌaC­æqMž)§¾¨•2Æbâ"X~|€’é0¡ÙM$BŸ¯Ò:u½ÁóM^¥Œ1Òýc¢e mòŽâÔÄ®Æ;Zy‡§­-²œž—‰‰Åšk:|=È3dèÍ›kÜ×A‹°éßÏopIøŽo„ Ù»= 9k·ë ·£û÷óTÝM-ç\æE¾‹y¶ôõï®[ý›:b„™‹ÌÆ›ƒa9¤®#rà1Âí¶“dB²üçÈ%Ëu™LJ;¶¯qNåq!éks9_ÌÏö wGºðõê‘™šÝÆEå¼äV`v&|n9»¤+MÒOå%%{DíÙ$Õá«z¿Õçr'¦š­Ò¶Ù$<—™^ŸaÅüû¤d&œ.ø\Ú:gaÅ·ñÄ¡9J(Dl”ƒòŸp÷Fð…©I£‹r‡Î¨cª °µøë•›O¤„€Âs›ÿ¾“ÖAal,]Í5\TçÍòØ1’•NÖq µ¹ƒã–ÆPU‡S¯i7Ð4ËßÛTñó&›å7¥/dV.23·ÖxÒP’-³Kt7Œm>|žzlÈül°{‚?¯>…÷¼ TΞ·¥¨Aö îÿg:ìÉ·ñ´HƒO|ýÛ_ªÿ³Õ™b²ÐF/; |µ³‘s*ã)$ÅewH‚#Û†UØw`Þ–] vÂAý¬/^Üa4äu¿¸ÂƵү¦‘Œî¹d"/ãf?vÍ®]“q?òaCxðW$¦oOÕš'ãùï­n?Bòé=^ÖÙÆ6‰Þ» së'E 5 «xoÇ4Pº™†üNp7ÄʱÉ*•gã÷Ÿ«—ŠöɄߦ¤Àæ .tGäÖtM#š°Ïn—¯¾È}QšZöIK½h}Cð vªjéö:<wZ[8ýe{&½1\|úï} ßí“—Ø0Ÿb{ ÷ÑÊd&‘þ0€Þ_|öi»§­'—父+— øõ²]ÀýFô·ýpà—+B5àþ¥`Ö Bëìªq(CYö¿Ùô½g»P7Ól¬h«•²Må@×§p›è¸ü‰A:„ÍvaÙm•Ó7¶Í2ìR¶}]ûÛ… ×ío\ÉäÎIuW\"{ÃåµJÑMóÄš­ÃžÝ WõúwÚÊ´ Ƙ¥F¹smz4L£ñ‡hÿ²f4ß϶;ë€å HKlÐ9‡öè|ÅŠRÚÂùà\¿â °¥J[TåÞlr?ª]Ö[cß Ð(r¹2™z(‹éNlޔјkSɶêšK£} ë›²^¸.ýè~¨a¦½’Ú Üd>é@ÎB&:8—æöA6—ç¸@ó©C C°½ H@Gn4þЗð8ßéL:C~aÓ¡]8"žSË´ž¸e±óãEû;ó§”Eƒ!»"ù-MBUõµò©ÞíÀâ.^}ÙšÑtø¶ùÍž.&YÊ OT©É«c»\–èe2‚ô«ÚIhúz«€®ÏË…¡«Ç¬v†ùÓÿñ¯þøË?’=2>¾þïùïy$”¯ÿûóŸþíÇŸýøÓ¿¼Nð_ÿùQ?~ýõÆ8¯ßà1o,@_¿óûã>ÿñã×½~üë¯?þù×ÿçå…ðöëéðr,oL@Γ—‹BŠjñÁËWš}ÿåcÓT›úƒ—ÓÙ“{þƒ—n(“¾ÿòÎ,äŽ.ÿÁË˳ìï¿\>ÂõÌ÷_^I»Z8>¿ÿòPŽF^®06ßy£I'ÏüÛ/²‹à÷oÞ¹€õÙCÛè°û«ŸtŠ‚¯ÿµ ÿåd€€øä_gk§‚àû/§Y²ñ¾ÿr¶º Ø•//‡‡óè‹ËM®ÐGöÉ‚­Ì@õà³WZšwBoßù¤‰.g±ß9CÍóý—7¸£?þ׫~~vfp<¾ó%˜#ùì{O’{{þÔ%®0×ãg>q„:¯¸;ò¡}¸Þƒ¶1Ow›d.¦´ïá^ŒÇ~ºÓ¦'èÛøàû/Oô=>eÕ§GÜfìóÃóuQÆóðp_ŒÈ|XYLIlž•5C7Ïj*bY :邟V“4…{XÊzÈ<-I({VÄ7Â;ˆÙïÓö…õO{'2ÚŸ6nú·)õxú¹+ØOï9-[Ÿ~ßÞŸµ`äêÃçmÎT®O;çÿ6ÛÒ§Ÿ{KNúìž³!ø} xö¬Šxöœy¶ÆÂ<\ßB€î-‚Ÿîk¾î©ÞîçBýž%‚žcÂ;Ÿž¡B[ŸàÂzŸVBšŸ–.¹ŸÖMBÙŸmÂøŸVŒš0<.W9ßx\+kºò´P×lça—àÉÒÃÅs­ÿ«?ú÷ÿÊ2š6 endstream endobj 398 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 401 0 obj << /Length 1674 /Filter /FlateDecode >> stream xÚíYKoÛF¾çWè(³»|M§H7(ZÄj/M´¶YREª®ƒüøÎ“\Št-«MÚCkíkvgg¾yÑ/'Ož½ÎÂAäI &‹An© “ăÉlðóðÍÈwÐ h[h×£qìÂáºhkh•,/e¬¿W¼5„®ƒfxXzø;çéÊ»‰K9¨’ßM=OÛß›ØG;ïÊŠWo=baøªó;|míÝÈ „ßW +›†Ùk¹ý¶Y½&¾íðpbG¿L¾˜ÁØÙ ·) Îñö3aÃßTÆ™Ã[¾Ò3¬ ò8ç3&¦;,ÿ,ñ ûKá½jä]wô´%z+w4jñôŒÛ-†ºª¶ª¸R%]­ôÓ] Mû1—õ¬^ݽÖBÊ2 ’¨Wpdhîß á7Щ}K®GZ¤ûïY¤F_Ü*{0ÚØèÑ̨E f?¿UÚÇZ¥%$@`$ȺJd½ádóûYÌ)æóEŽÒô¿ÒÿC½!æAù²K0_FyÃÈIºüòn4CǼâûŠýJ\ÛS^!̹¿#¡îåùOn.xø+ž0õ¦øËþU”¤ â&q;6±A”:`‹Ø¹¸“Xs9ŠáˆÕRÔt¡1ˆ¸+*ʰ×Ý×eY&‰ž6ÝPØÒ„»H WÔÿ}ä²áœb׊™Šíhì8œQâR@ñ>{ÆÞ}cÆËö—ï¬éòF=eí îKXŒÄ -1,4ø-ç¿ácQ¤„Ôy#¾8õß&Ò3KÁ[MêáÜ;Àç)6رУúw 2â`^Lññ×Âżh·žz'ª ¿È3’ívÊ w¦VsÅÛŠV"1¥»b;ž/Ú‡/õ5fPˆulAþqÜÒ;Ü•"JHˆ iæ²A®mdzF .ÕUÌÔZ^‡[Eq3¯jïêÆ¦yA­*ÒUT¢hçâñZË,<¹>xZ¬ù—$ܹðª1á O/Š•ZBЋçì1ÉÚNâH<ƒº"¹l5Î2Hpf¯yឥÐd„IÄnñÛ¹ÝåAh­ŠŠŠ¯%ÌÝP©Ý2{LÙuÓ6b®@7~ dÕÓÞ:ÕS”;'4u*[û4`"C|Ñl'¼–ÂYã^Z¨t®iˆIš ¦¥Ú¹ª·|O}NAÕÆ¸‡púæa$&H#÷wp‰w÷âÒfyšäѸœhø6Ép9ó„Ί{ol¤¡vU*{e†Ž7×[Š£>št½¯ \ã¾>y‘¯C^ªÆÑѸ?4ÁRLðÂ-Šì÷»³86­¤6n#ZÑôadl“4pqØö³÷Aåì4qdIEÑ?äÓilÛùŽŒLÞ’md 1W”sP$àÀŒw®ù>˜½EovxžŠK¡ö–yâ¾hVb˜§è,#ÛTÁóµsÇ·+F -§úáP¤QÊC”UبY(_¸¬ó^¥ËêsS æ^á é¸§á­2sÏ£7’Ǽe65L(;4 EEÛ”2DÀM÷Kƒ–¤SMÐ.)b«»6íd´_'|°¸_^—êû}Ò¨i˜@Ò­î=”‡‡o±Ü8û Ìo(¹~×'%2³«5ç‘ðr¯  ˜²ßi1k|3íð?³ffŠxÐÛï<çrAÂ5Ýy¤Ÿw$ž¹(ƒ÷ ¦÷Äv?êÉôbܤ"ªûÅêN£YÉÓ˜î)ñå‹+ E\éjLÏä™MVyž¬™6¡nx ä¼²ÕoL˦ Ã…Jv+رO ßàR°J®É«T4¸hns©A~¹î* ëãŠÍÐO¸ëÂD®ò? ]YkAÓÔŽZÕ|wP€®º>Ñšr½Ü‹QÀüȈB.gÿ ¾]ÉAý‰+{9ú;“‚Žm“ {|¦ã­k&kùßáè£'8Z.¤Î; QC–øc~Í ®\·^9]>ZßÝT O›¯t{zé©çò¯ýÈAJi’ ¶w…!i™ÿ-’âÆ'¯&Oþš2 > endstream endobj 311 0 obj << /Type /ObjStm /N 100 /First 877 /Length 1792 /Filter /FlateDecode >> stream xÚåYKsÛ6¾ëWàØ bñXLg»I3Ó6$3}x| )Úe+‹®DeÒßoáÖ•,YT­ú8q ~Xì.öÐæ¨Œ²9)/¬’QÎEVž¤ˆåi•5òtʺŒ§W6Ê3(GòdåBž8•Ëòn—•€³ìUÀPPL™£Uk%™gIå$ïV‘‰fâ¬SDLñ ˆ—u(* ^F‘š€a ‘ÄŽÎa+J,Àš:ŒZ²ÕA[â„VÖŠ’Ø:ÆêbŸ ¸Û"¯·";0Ó9‚¡ ‹zð‰ì'ÎGÉcD,Õ]QÕOMÄhA”LX=€—¨í&`†‹ œ…̘ÀAd˜‹:GHWäNe ,šTòdè•·^!œY¶'‚}ÆÇ4qŸ,ê°¾¨ %}%"¦³pŽD‚±«Ap’}ž`Q‡ýð)òÄaÏ|&Œ@&ŸE§U0b›à±È«Bñ!°² ƒù‚ËB°{ûX¶)×8c3©E¯lAˆÁ³S!Y!0=±LçŒmòð^6Ìã…ɉ·;¢lÄ–„€WÚ'¢°Í2;'D!zãÙC˜D‚@d!À9ÈpQ†C208sàÉÓ§“êTYˆ¹7ªúþ‡ô±4„RóÕlv>ùüó‡qN'8ø(ΑÎ}gÎ>ãLÖ0†Cˆi3®¬®éu‰Y#ÄÇq!hÊãf!ï5"|眶qÜ|d­–ì3Š#Ò—£8cô=m_ôóA=}ªªröÿAŒìóç &æ?h#Ñíp¨¾]ôÍÛvPgªúöô…ªÞµuÇüÝo7->ÔWí¤:ÁBí|X"Q±LŸToÚe¿Z4í²$Ö2ôu;íêçýu&K„`&VÉ“Nù«Õ °@‚´·ðgóyŽg%i‹Hw+Ÿ,Úzèúùi=´ê“ÓϬA™a‹8ñH³O°R?}ðÛ»n˜áËõrQßüÔ5Kõz5ܬ†'EßéªiòÕi§^ÖêeèɦâbÛIõvu1”W¤IõM}-ßì¤z^/ÛbÿêËvö¾º¦žT_Ì›~ÚͯJE-gév²üôy?›Å×ïæûúbÖýºjw³>«^œÈ¬)F‹ž¯-÷çŒ[Æwó«ïºù³ù²ûëóiwyÙbÓÅKÎP/ªën¾ZªÌÕ¯«~hgíå QWM{lÙrÙUW‹ú}[ÕÍjh«¦[4«ëËYû¡ºÙ´­®ëfÑÏ«‹E ¦ÔMª¦–XvËJæíeµÀÚU_œÍê»ÁŸVó«z±ºžÕ«¡ê¯úyûKÕÔÂoyS7í=§/®¹fѯºù/ж_LÛEqn:¯¾¬^U'g„s.áÐ Ž|0Zj6ºÍŒb¢.Í%ŒÁ³®oUõ²×+„ù'—ÝÕjÑjÿDBò¯è—&è.ú“4BFïȱ0r^T:ï2hz(W<6’ˆ¤‡ï__ü,jɤW×ÒËÙ£R‡³[©Ã™#S‡-é¨tp)ä¸}´0¤EÛE9iƒn饔k’ÎÎïÛǰ¾GJáƒÎð¦l5z$”w«³8“AîrË NâhÔ—v»GqÝmïø(•ÄÅmwq‡MÕ õTüc}syŠTuQËZy|Ü®_|^¾ ,Étu±èß×D÷[¶l!6:Ì ÇØ´»Ý|”käm׈Ç5\Úè!Š¦é ˜Y‡át §së?ŽsÖžÃ8.ÉÑ‚Çq1êàã8Žgˆ4Ž A³· Êšæ–EÖ‰Dã8ku nGpüüˆë’ wÝLrqД¶4ñct-w%›»Rø×&iOã‘þÇz¥Î[•ú±‡(ò\R²ÅQŽ£ü KRù÷ÿàƒOäÇ á æ$çHØÏÈÒ>Eù} )î‚ïçáÊNë0r8G"ûŒÔCa?xÏÅå£q\pnáö]p®—”‡N¢øbËŸ©­¸ÞîQ’ü9&´½¡­ÐÎù¸Ú#ÿ!ØÝ ˜ÔçµÙQS¶pÁ»£¦láÈjÚQS¶p†4íøApÇ1këÆaœ`'ÇÉ­ÙqBß…ÖE|¸¤Kíݸù˜œöqÜ|l¬–¿jc¸I‡õøùàn_ endstream endobj 446 0 obj << /Length 2023 /Filter /FlateDecode >> stream xÚÝ]›Fð=¿ÂŠú€¥ƒËò5•’ª×¦UÕªç>%yàlζbà vîîßw¾Ì}$q+µvwvfv¾wüfñìÅy:˼,ãÙâj–ù³$TžëÙb5{ç\Ìg[â<»¼Á_xîæiäœÍ?,~~q'Ö~憾F¼û»¹«Cå\Ë®ž=<òÎå]Àó#<Ì!üž÷¾öáÕ ù’§&›SU“%zõž¶º* ‰È¦àï–(3Ùn±É+„Þ Cø®+^^79óC£ú ߊ1ÊÁÝÅ~¦Î þÔÍG˜ðæn”(çÏJŽX?ÎÃÄÆqÅû—’·Äóð{‡`KD»i˜/ø9ÈÉ„ L4à(g¸®AœG‡é¡À‚ÀËtÌ[ÂñÝ(Ðt¤}>q²ÄïrhdcJ±Óââ™.PW-pA-ª-ψFëN®k–|ájBv°ÂaÑ’ži‹H ?÷P^ÏÝ0æ“¢Œ‡¤©ÄÊrá×6œØãZˆÚ–¸DIºƒ~‚°Ö8N‰ý‚9,*:M£1!¸e68Ü )â†Xœhcø¶Ù$SFL—ŒûÊì)xz„x‰iÙZ!Ã{Aj|ð‚‰Æqâ,66¦NŒ¼ãš\woX€37B¥ÝÐÁôFÎÇÊšÚ¹XÎú L+¥œÄë@•—E©…Ø‚&¤’¤ ¤õ¤×ºJ@ë¥×úGÑÚ~š:¬GB³•Xt%êTŒf‹zÂÉ"'Õ_öÆm8¨ñ3uD¯À×MÉ ¹`*nQ ùÁ(±}BþɾS¨Û¢åË‚7·⌫åVêNvÐj]É@îGi ýÁv¥ÞÉ›luÆ®AܤßFþ’óoc„¸Ù2'ùèL²´í?'9ÆÅ±I†¤Ð”rP¦õ©II|ÌQ­×;Áñ䊸/iiø-¦ƒñ |7ª“/è´¼~)ÖlŠK´ð_en%ð»ÞÊ)ÿJî:cj¥å3kç+xž[¾ÓÅ¡ü¼GÑZÅ|ó@ß Úð±*^$u°úHô¨>IL5Ǥ bXÞÁD™"a!5‚0f›xЍ–)¶mM%hêSXV6A».ƒI‘±qH&{Û)SÒzÉÀã`AàTö%ñ ”ƒá[¼O¥«ûž¤K'ŒâB Ö  è·FŠÊªKçãy^ÒD<'¤îä=ü.F6[ 2à8‰Î8ñZhøÂ¡Ò>k&$\TÌîÍFj4\1µHN¢²õ¢2‹é )QÚ¤0RðEJÒŽR]Tj{òAòXvq¦}ùù8߈ùwœtu9û,›Ñd‚ / c~`ø r?ЃÇU±§#5<ó[¹PŸ3/8üƒÜ’†¿Ã'N)x~á©×b:û>,,àùM6~OTï] 99Lq"_ñË%`7Ð á3ïÐÏt7öAÄÚþ=qa=F<‚6tÁ$ÚIn}Aá?‚Ò:Ê`„Òÿz”á=(ý/?¸z¥ÿù(£¯B9©uýD”Ÿ!Ëøô(“/EÂõ :~ø_püø©Ž«šrüØ¿z— NoYáé]JžËèô(¿ÈñKM+³¾©­Û: ®> A[Wˆq}Ø ƒ"tt‘ÔA¬¼JßðˆÅØS±6ë¯Ed£ð=t×Ó÷¾?qÎÄK¢Ì€„gSŒž¯Ó•@j,¾T³&^¬ã§³ä†IêøÜKtCœ¶Wúþ¦f¥‘"©0ö£qg‡ÁL± ë{ÓÞÕT¹µOçîÒ™Yþ»eÇö4f kìy©k¸ŽJGû¨Î¾þñÞÉ>â2xàº?Mw9v•޽ìýØ•·—Ù³¼ S´‰º¦‚f]­¬æ6Ï`÷‰=«¡ˆû*Óú G­(éDu‡¡ó#õJz`•´ÎÚñæþoÒãàŸ$X^Óšù3©?ÏDÀkøjÇœ4•9’÷ë/´uO`o‰ ‡­åŸæù›[ vè’Œ{Ì;ù¾ï⇭å¾õ–dƒn7 'þŒ ¸díÈåýÐ߸^RdäöuµózgT„ÌTùp›õ,p™Á ¦¥!9høÁXzÉ}ô™°AsÕð><ì»å’ ¥'¼´ä½d鉔òßÍíHAk#Pn‡>•AÚ̼4•8¦¸öì‡Å³¿ß@Ú endstream endobj 451 0 obj << /Length 708 /Filter /FlateDecode >> stream xÚUKs›0¾ûWp3 ij·fštÒÒ&L/mÛQˆ›i}÷!öøÔñ VûÒ·ß®°ô"øIOæI˜–¥—¤*L“Ìk«_«0TZ’ÇB$“´qVq}(½fõ~³)ˆÓ$,"õÙdtž.pYažPÖ›ju}WxeXfqæUÏ^ ®yqêU­÷]ÜùRìàÙXµ¨$ù;?H²\T~‘ÓÓ.ßÐo<ÂRï1ê/J¯(™ŽãÌ3¿kÚ+°¢× Jf`;Ê[ަ}‹G°4ƒ…³öƒ88p  ÙÎð8ºýöÓÌbÀô;¾e•Ýtú"`éí@;PÚÿY}ÂæH–©¥é îÕgXƒ÷/°¢sp¨àõìH%FGdGììí¶Û°¹A#­­FUÌ%aÁæ¸Ù²êþ#lïX¦*HùøÚ7•år<rè˜)Ôb=”ëѳ\¯÷.4RÛsË!Rw~\€×…ÊC¹Ñ­9ÚÊ™IjPD’juÓ GVŽH.x¥-ù¼òL d..K ñ@ýš¢L…hó©ùhèa22¡1ªÑä8èð>=xFeç•ÄAÝ.»ãNC1¾ Åpí£‰®Ã%ÊèŽôø¸)Ð-yÁ÷ƸÌ Å8çQ.Æ™STbºMMÛÉ܃ÿf¨{BOÎ4×Q>ÍêÜ|¡¾¯¹ThürXãò‡m&PÎd†;*·Ü:Po­³¡ËÚÎ8i®z V'm9¨ÆWy69ð%Qµè‹RŠ®µ^"„=‚¼bsvü ¨Ú=¡…]žƒAÍkv£µpè)ë ˜YGø»Å0rºj ÇÄì M|¨™Ýèýˆ¤ÒîZvÈ{M_ ÷é9Šš‰Ͼ¨¶ýn¸â( S i&¥e..Ѷº­Vÿ›5›Ñ endstream endobj 442 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./attractor3.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 453 0 R /BBox [0 0 504 504] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 454 0 R/F3 455 0 R>> /ExtGState << >>/ColorSpace << /sRGB 456 0 R >>>> /Length 766 /Filter /FlateDecode >> stream xœ•˜KO1…÷ó+î2YÔø5/!*ª> ‘X ”Rµ´P•ŒÄßïõøšDcáÅLäùæØ>çÚ3£:#C÷ô¯9çãhÕl.NŽh½i´ÒZÓîy³~lŽß¿úAÆ+é”ÚvÐjÐÔj­<ßö@WS§e• ^O~pʸ¨ºšŽãÓízüû4'ÓÒlCϿƟ|;mÆÛñîz¶¹žÏohuÖðqæiÚ‹åži/_øjßÒssuCš¾7†Îø¸oÌ4‡ÏMoã¯óAõ=PjÝ*çè-_óÎGÒÜálz[žš[nÛé'siîpÍöÍ–§æ–›Ö+k_¸4wxšð ßÎÿ=eµR ûª@S»Wž¹6JKyVsòšf_/ö¥S¡ßÑÌ›~LE?^+Ûñ²¢Qîhvø{œÓêþ}jgT;õ½ê¤þvê>UÈYÇå ]ì%ÊO/–µjç[åû¤>9Îj^Èyñyűx3ÝìûVYMOwtI»•tÚr×ÝÐñÙ©dy#°u7Bà~OqZY¶ç~ˆË˜?jâ‚öÜ™™Æ5&(";-··¢„mß)ï1fÐv›~P]±¶â¾ ï‹Èp¬¾Å63GŽöÇ *h4säT8´šy¥WïùJÁ«päU8t²ôš8ö*¼ÒkoTЯ¡×Äq…#W ‹¤‚^‹^`&„ø®Ä^…C¯‰c¯Â+½&U­WQ!¯ÖvÊökæÈ«pè5ó:¯¢‚^3¯[öuñµ‚½ ‡^Ç^…#¯Â Ü›…¨*½¦EìU8ôš8ö*zM¼Ö«¨ê¼:=(¾\ùjÍ*ü&*ŒsÉå"¼2—¬ªÌÅñ·Maoƒ±D…r^xkæ‚sI¼6QUæÒÙøX›‹¨`.‰ã•!? s­ÍET•¹ |{á™ÆÌ%qœ‹ðÊ\’ª6QÕåâM§Bõó%«P.Âa.™£\„Ã2¯ôÊ_‡¦ú™‘UÐkâØ«pè5qìU8òÿÅ8oþfzŽl endstream endobj 458 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 443 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./stategraph2.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 459 0 R /BBox [0 0 504 504] /Resources << /ProcSet [ /PDF /Text ] /Font << /F1 460 0 R/F2 461 0 R>> /ExtGState << /GS1 462 0 R /GS2 463 0 R /GS257 464 0 R /GS258 465 0 R >>/ColorSpace << /sRGB 466 0 R >>>> /Length 69312 /Filter /FlateDecode >> stream xœŒ½Ë®%˲%ÔϯÈ/Èr7w©FI%«AÑá!¤R®’à6ø}ÂÆÃcfîÃ…ÆÙGžs®˜ánïaÃêÏÿü³þü/?ÿÏÿ=ÿ÷³ö_½è¿}_qÿïÿúßþ?ÿëÿðŸ¾êÏÿãß~ü‡ûþÓóó?~ý(¿J)?ùߊÿ~ýÇÿîù×Y~þß?þ§çŸvùÙžÿŸ–ŸÿÛúó??ÿû/?jþÁÏÿöG‹úëÔŸ½Ï_»ýü~ÖëWmÏúüjíçï­Å¯ÚöQ ®ç¯ó|>Ú¯¹îÏÏ=Žñ«p=~íù¬ç¯6±>¿ÎyÖëWÇß?˜¿7ö¯ÀçÏ“ë=r=믚×;¿×›=/”ëv°~.T¹Æß¯ò+:Ö•ëàïï_kcý¼¼ññ{ 7’÷3p½… çý>ïéYïŠçžgãó¿fþ}ÿµq½ýÜÿÄó/~þ÷Õy½ùk¬g]ò²¹^¿J¾ïçyCëÈ÷ýÜÖù\O=¿ßsÞëõ¦ýÐïõÈÇ|ïçÙ–Ò>î·|-ïó´çý¬çmëךïãÙfî‡Þ׳.óã}¶¡çÓûnÏý­ýxÖ£|ì׳Žó±Ÿ¹žûý¬u>xòzåã¼ÜßÓyzî'>ÏÛsÿ¼¾Îãó|óó¼ö’¯õ=ÏÏûâ~ø¼?·…ëý!ÿ\]É¢<µ˜¿V‡¼Ôñóûç_ßÿù•ÏŽ]‘ý_ÿí_ˆì¿ý¯ÿõ¹Ôój+.õìhŠbÿ57/G‹çUt6tk{ó§¶o•G‡[ûü}[Ÿ_ªÏ•p'4õüü9K[›üœÆå×ázä=B/}ž_ã9ÄÏRÈ×£]ž'}€›üÂÊõÆï’»ÛŸªÊGZsÍ7óI¾©\SÈN¾|ëüýž{—ëžÚâý½3!4Ïý \ïllês¿’^ ž?7``y#ù|»cÝð¦Ÿç_üü‘†çóºóÿrýìÄÀûj¼Þ„ÔGÈŽÖã¹ÿÚ©Är½òû-ÿìc|žûýB¥äë•C¥âß+;Ø{?Ï×Îù¸ßçk;>žçùÚjÏû|mÅÇûx¾ÆýÐûzÖ4zŸ¥j?ô¾ŸËH‰q?ž5O¦öëYK‰q?sûý¬u>xžµ”ÏËý='>Æ{Þžû™<ùÎÇyÍ×öyžŸ÷U¨TtÞŸûÙR2¯<üsý%ñü},ÈK­©$þüþ£$ZÇQÌo<²üuê‚ü Üñ£ïû‰hÕ¿Xqœ8¬'¯ØôýSxb¬&Ÿ­Ázi}´nÿ®ì?úüÙªX3_õ÷çÿu•ˆ¼Îc=ë»r#ãóüq<Û‡s}J* Ø=Odzìy|âÙì–ªü9DæŽÇÀµ¼T}vë94±wz;¹ž©Mr—ZŸÓ|òj²ôõ¹÷G¥çžJ}¤'6×øûGújå÷±~¤?¿yˆë#í5>~/p_y?°¬5à2äíBIÔ—)òñy«yÈòé 4õ±,»áá?oùŠã1¸÷û˜´çAò]5^oä¡çl—©õ³÷±6umбä9ÝõÔóøûêÞ×[ÚbÿÞc q¨}?φžõq¿¬ìòñ<óùýúñ¼_åã}Ì©ýÐûš8ïûLYkï{Ji{?¦,½÷ëYGûØÏ\—ýžÝçƒçaJiû¼ø÷tœ¦'¶¹xuÅçáÆzêó.êÇ1~^UÉ¥¹|”?DàË¿…ýqf…„”G’þùíGÔŸ«–Ï7 6&—ðGTjXÖüë¿Æ{–¸íÉ-zþ6:OH¾±× ËÔé©iYÿ]¯ÞÌ“>syn©–•G2-Ü9¼—˜¿“;‡W-óŸ;Ý^ýáIÜ™­ x4yÒ(™ÏIÜoŸ'{¥ùÊ5%“Îk¬ª“Þá<æûQ¥u®q¶1×ðyëàÉX°Z¹†ŸðþÞ€ÝÍûéüü¤VÍû8ii&O>>Ÿ‘æ'Ÿk˜§|~^ÿ9’‡'>o}>xü‚|_ÁëÍü žËPR&Ì]Ìçþðþžz´|äm¬ÏõÖóèûCÛîë ùÄþ½'Fáóé~ž×ÀýÐý>VšIÏó¼¶Ù?ž÷q4gûx£¹>ß×óÚOûxŸÏšÏ§÷Ý­)µϚϣýrLãýÌuÿØï>}>xÒê®órOç©Ë<û¼¥£¼>Îãsãó¼>·Y?Ïóó¾¸:ïCæÿOyøçúo‰OÍ4äå±±ß?ÿúþ#óõñ¬jÇ7à@×ÇóH%ÁŸ¿Ð2|ÊA‰É+T^az=±æŽ=ŸºwØö¥ƒ\éʦuÿ÷eÿ±ù—¿Ð2þÏw?ó]ÛÊuÄ‹x×M{™V†A ÷>Uç€ñÈ56=ßõ¦l”Œ6"Ã8ŸMÜi·,í<´y–áºÕGˆóÍš~Íß{Ì;d©ëì<îÁ)¸?ž½SñüÏýóMž–‡6Ÿ¡L}ìJ_8[Ô}g¤yÇÙÃý>®pž½”^oAÝçYnZ§•í Mr½:Þÿ9ŸëÐóøûU;íëí‡~/ãùñq?Í^Œî·)ãçyœÊ’ž×ñ¸ßÇ#rܽ¯f/Fïóqø|zßÏš²®ýhU²¥ýj M¼ŸM®»÷ûYë|ð<äõÊÇy¹¿§óôÜÏú¡•Û£Œ¡eûÄ+m¹s*Ó;y.ØOBNÂs„Úsûx“ýqºžМÙéŽS&l‚ŸÃ åšAéDæ æ Ç÷RR¹f}à_b:o<:ó9¹¹ÆIê×ëØIÿK Æ6þ‹g ÚW|Ö1?~1×ýãŽòûåãŽózëã‰j£lø‰Ÿ ®ž7R%‹~c¹šŸo´:l÷/ô‹îŽuÑŸ;öÏõßg7ÿ¾wìhM»õ×÷ÿÈ]ýóìdÊ*Ó¦§â ûàŒÌ<´¸"ÞXªåü…©=~alþÂô6¬á9äß?–™*~å«RæŠO\´þ÷íZ<ÑÊcqkÜ[(´ù¬•NðlJº*ðS\ž[Nõ½— üQuHÊÒ <¿œ®Þu: ?«óÜiºó÷xùÆ^å)œt&[^oóͤ3:Ö°¶ÍÎuÁzæ!¬C>Žâ \ßÏ{üÞ£‡çÄý ~>2!÷ ½‡0;?W´šaïÞx>®Ÿ©v¯ðsÄ"©na‡rýh­Ú'wò®‡žÇßo”•{½Ð~è÷»ÇçÓý´£ýÐý6eüÞG*ãÏ÷õh£s>Þ§µ“ßwºžŸûÑ”0ñ~=ëˆý|ÖÚîwk><MÙŸ—û{:OM Ÿ7kCŸÇ¶´:¯M>¯Ïs—GyÏ»R^ÊÃ?×ë†4°gA^ÆþõýG7¤IîßxìVJXI]kxB¹® 'ž®Pqž¸€(àŠEߟ'ö#¯ÿEœ ó.÷å,):½ºg©D*^lJïÇk_N sSžeéï–­¦´67ôY2«ÌíÎÎ|Ãý!•Õµûzí±F5”Þ‘>«¡¢BªÖts²2LÍ[2•‡Œ"×°KYë £¬Œâ«šÔãé†R—ˆõ Öt6žØ.¢P:+c¹V?~ï¹ñ~p?„s‚ý¼_Öñ±b0ad8ŸÖ- +ùüú>¬ge”vÚŸ|_Э?g£Ö%8Gyžû¯raâòû†cxÝrÞïWc t=Wrõ{åbx?Ïk;ëã~‹á6zž2˜Úöófå¹|¼b¸ÞWQRÁﳄ÷ƒï»HV½¥êy´_i`ÛÇ~æº|ìwQ:ËçáY¯þq^ü{>O¥)¬Óy+*jù<>Ï7ÖÇy}~¶~žçâ0Êç]¥Ž?åáŸëX{VóR^è¶ÿùý´÷Y•Y?•ÿF òx²Ÿ Ì$!*â@=øy ¹u¦›´#¯%×Ï‘kÇs–oÖH´þ½þÂ_¤aFúk}ƒwøÁäçU¢b+ó©»+*áí8¤­(·Œ¿ðy ÈÒÎóÏCohvwàÜøX³Äµ*pcJ×Óóã÷¢$X‘¸¸@Зot:_8¬^l'¬‡­i%8± ÜLåšY\ zèùå™Í7B”å7ÖýÈu8-”op: —Nx®;Ÿ8ë"©§àªÁâà±EZ'qGÃi¤†H¼ß´_&y6ö°:ɳxF˜v @ŽÉ´U¾!Â9i=óxƒ%$³-á¦EZ<ðjÓEfš-ÌdÈ@³Àå é€)™¢ÖÂWe‘Zö‘áÒr©Õ™Ÿ[:È2ᦂž:2:ª-hÁ«ÕÒ×>‚çæúÙÚ\3`.À<äÏ÷…=.ÜÓ1ò¬€jçjª{F(­Jœí\°x¦ N ˆ­×Ã:x£çz`“Rßt¦kà ÷¡õh8ãÄB6i­”W†Aù† èÎ4±˜ÄV6j O‡e§ŽHXëÀÕº ìõ˜‹¾å<¿dú‘ =2 ¤9e Õ€6›ÖÌåšv­׌µ-?¨ù/;š ]ë­_x,þbKŠGþ¢}­€»ž°Q¾¡€·½å_ËôÔ–¥/ã•BhÅ )fòŸèÊ”ò}“í|cÝ–xPY6  &´‹ê-w@>´ðЕپ<¡XA @JUì(ßø„éÕÏ“(°ýáÛeÚ2uøù¡e¯Œª²˜‘v$nÔ@Ê,Oøó"ÒîÄ‘–?@Þ¤NG½é –?-u42£&4![ndDRbÎruZ‘eo´ôÍ–~sÍ”t®iù-ã På´[-dÇ:íË)iç ìX»2RaÇT,€Ó—vŒv¢¡j€ú¡½éÔŠC0àÞÿqq¡}™";ô}ÈÎÑáÐ ¼Áíò |±ãõ²Öä…vD0•´ƒÙæábR-H¼èN­I0Hék¶-™ zó¼ßÀQлÚA-»·í½Ë·fŽëÈ—KÍœÞvñ¦?‘2>šìä H u•QJ(}Û5e)‘”a(£o¬¡%ŠàªÜw®„¯ÕèÄöZ)k憿fq+>ÉJtB¨Äâ¼µNV*SvwÉ`žÀG&™Á`{|IFÔ•V©iÇòÆ&ãå­ucÄMô×ú WÈ3xBÑÁ³®‹ë¦_Hø†‹Á¤N®y¦*¯yEFÄrìh‘«“w\¥53o|”í„VzË]vgTà´ô¤RÆŽíö@Ñ:í°"hf®Ó.wõ…0z™#²ïƒvs¢š—kzó . r]'ò(À¼Ø÷¶£lF+÷ħ’vŸ÷³·×ÔʧùÐO8@Èf ûV2Myè'À–Í>–%_™I±Ü•Ñ à“ü>b“„_N­·´voXSgàbsMPŽÄzJ¦+¯¯ø«èÙâýOÇ«™•óš¾6Þ0J0ôµ3+–æ‡ZfÑN‡dªZþPV‰wÚUÊTÈûï–qÖz²•‡éhyÊÇIô,˜gì8üi·ä;Gª×´CÍ2ˆ:”˜Ü¡›œÃyGê¢øSç0â_ºÞTt¸úH£ŒûÌɵ|å‚>ZmBÒ2ïÉŒþ¢ÖV(}éÊÞ5ê¤Ã,[± f- CÊÍ¢QgÐ×f©$usPLÕCG¸át²W¯_P uÂd< ½~ŒŸ;<ÕLTXæ+{‰¬hðô Â2OÀœÕ_kú©UZ“/Σ,—ýÄ¿¡Î.l!®¶ûÌù¤jàïŽF˜‡\Àe´Âè,Ûì~*UØ-É3={Ù …zNHúºÕ?º{ßèë³ðŸoˆ' ÓO)['¨£y ÝM~¬ÂÔýöÎ2z\ÁE4ájíF¯j(Ìuœ—y#u»Ü ¹V<Çè£lFM¾qÁÑD«iMaçþv0wH÷·Yî¾þfPv÷ Þk"{0kßX§–¸¥Öi¤ ê¶#àºZ é*Tc˜‘ Y îbJ%j2Z¤ÖäßhÑDØ™ìBÔ„¼s„¹#Ô{SFº[TA4v.­›'" s"iwÀ²å‹žn¤íæVÁŽPk³Â\Ž´3å—Ý%íReuÑNc‘ÕØ¬ñ³ÖT˜ÑH_°ËÊ –rwt1k)|²|¹C_.äË /Gß èéËݼiJa¯/–kÓ—;n•Iï±K*³š ¾Ü›‡mˆáçFBe}5êôíÐu•ñþyÒôõôûAßN}ÎûfÄõÐ7ÜÎ<ÓhÎèëÁ—ëÆŠQï/W´Ik“ñÌ1Ö,Ÿw]”๞ôŽÑ·wì›ÑWk\³ ¼#R*òi h'o?˜%l¼>íÀ,Ú¿­W¼Í;Ʀ/• }þü0+Õ\ËH;ávddJ‰¯\^OZæ¸9ŠJœŠ3©g¾ÞrÞq¥·\üAÆ%e]‚µ†£<(CQT‡¼žÌ" ÀB%8ªø† \©÷éýV  Uüyg¼Â©¥³hµ1ÓëÚKesðn¶£w½ãµ´ mÚNŒ¿ìD¥ðNË×M:±ˆ¶ëÒ*i'BvÂgxŒ5gx“ ñy 2þa ½á[¤/Eorƒ­¶I»ôžP *àŽuÇ#‹8ú64‰×Rç™všj!¸côµÎa^oúŒÚ‰¦¼_AßKZêb»€úœ¨SïgÄyâ8…Bac–êwûbÏ \Á6Ÿæõ„ …2ËõÐŽ5䦃8•o®ëÏ,3‰81wœí<à™‚¦Ö :¿Íÿü‘ê"Ìsz{G íKk4¬«3”Oœ†Ô‚ÏV¶_û÷‰ ÇDûeŠzÞ<[þ•‡B!,óŒ}üµ¦wɈ¯SH!3œ}&ao4ó‚n*vÞ« 5‘Þ(:¹„ŽÏuîÀØÊ"‘0sôt¬ m ñ‹¬L‡cüC¨mÚ±ã¬NÚŵœ‡k´k[Õ£`5g]â£?×_$åš ; ¸w®§ÉÒ۫èú&™uÐ*&Ðéô%­3¨Üà+Òûö/d €ÒÒS¸{ï“yÁeo=ßÿ)Žë……/"h;Ð!ƒvÇšyÁ,“lÊðÐŽgõ£U3òÕ.ÐvˆþªQF«¾ßYC!$Ï /eÔyecjk>ã9ô&wíø¤ÌòNЦ¦Ìræ`ôà3¨Íê‹v´°?Vlš®Ço™g\ì­ÚñÔ)cÊ×^¬ÁçY GµÄ”@éáš8߸ܝ]Ï,ÒR+xV{²æ¿´ƒ•ðÌü2ú m(ì¤k樗Í7Ë7è«*@«±OÌdEØ=‚eÅR˜³xv¼v½ ðÍuÚOPÁŽÔª«þÜz4—áTD·l­óÝ•‡æªšfR+ëaq”•Já¯ØqýýBÞ­ ‘lU°”abÑ*Êà:Z£?ÓX7Õð»|e´ØIÝ/*ª¹ã"ð+¬· é´L`r‡¥µ‘~ËxPv2.eµØ¤”v“VL¬Käh¿”ÝZwÆÅŸ§ŽZª7~ñŠÃy¶o®™+ç3™1íIÐÛŽnÏ'˜;7N„@K0û ½ûð"v•Ç‚wì—-;<¦¸ 2 ;­É0[ýý Cí¾o@H'ÿ=ªCVBoà„v03£ÛÏÛˆ ®¡ù¢£¹æ;ÿZ‹-žÏž€ß¿¹>X_úÔ<åøŒ-z&•1~ž 9B 8e€/Ü\oÊÄõ$ŽjF½×&* a¡²"ˆ.i#z£'Ò›^ôTÖ«%ó vÛ‰$´ž3µ)#ÝÕ‰ž×Ôzô&±oý83ÌøiÄG„?¡õ˜•š‡]þËZ1˜s9:ã ¡sj½áÜz&S-ˆ~&=jAz:KyÃJB›Ôz¼ÞiÅèlˆß„µûËż/ã9óþöš±LV0â/hÀÈõ˜’1ö¾0O÷mß kžAœ¬án{ïêsPM¶PæLKÙ:eÔÞrÛfÑ.ÞáÎÌkñ£Ïᘖ“ÔíU–iã9Ú_Õ’©-ì¿«FìnõEØó¬žÔ[`ŸÄ¹Õ—€ŒOc¿2÷_–$‚ì½(~K;WØ/¦Â+ñv d¦DÏ‘ Á”y­i‡P Q„–ÔûÊÞsÁ „¯$.w°³#ÏGøQu|ÁW­ô]YÕopãsM½OL5âÉÐŽ•_VÔr싵 uË¥ï¬qKg gÖ1Þƒ¾x5ÊaªŸ;L?£,[‰E»;_E§Bß}1ëL|}»ô¹¦WTSÞbìD£òþx8áou% g(`uÁ[àŸŒ7·ÑŽ™Áy3üÑIt+ºõíLB僵’îÊÅš/Š:Psý‹õ¸‹(väs=ˆ߯@ïó¢Ú“…$µÈ2ÓÁj7ÏI²Cv®,× '{§V5çG'^r›$l÷šÉÓ·Ÿš¯f„;É3;}gv«#7}mú²£Ï)cÌø0Å møþ(Ü`Èr'P0OÌú%§')ŽáÂ,gSæ¾¡Ô cL{#öN]Nû]Wæ±wùs­y íÕÅœï\&a{—§’K¸ Îv$.Éænþߎ^Ò1Ùåò ÒEI;+Ù®Õz;TÎöUHÞämŒÍäêÂ/€„hÁ3åï;Èh®ÁÝ8¬aRëJ®™¼ c“P}ìçA(“|ý0âgpPE£|þÐ2yÑ”1§&wN²ßß–‘œË¡¶.¸Š¹J ]–½;oJ8^³ï³È ÂQª?$„­NŸKµ\K܈´žëÿæÆ¹ß!7TD yÜYjœ‹pÃmOâàI§cª9q°RhR8h 4•â—NE7poí“&R óòõ©æÔQXvÿ.'˿ߙœèÕíÔèJq*n [Ÿa}%ü\€z¦Ïš!4¤@*€ÉŒƒ^Éʬÿw.ŸçC}2¯PEªFO2±.ýÚ.6ƒ9<<Ãìôôy hm2GɃLO©Ói¼ g);¤/Ñ5O+Ú5 ³¹†Ž@‡;NcA,”hY‚& wJ„¯_LN„‡RwÈѱ߫@ýgÿ2OgE²6_)SsäNF’†ü¼w§y8[¢‹†TÌ`à»çý d˜˜läl,FŽgƒ³1ª^r®pIȲ”Öâ‚Oþþ¾c¯·d™%Ì}Þ6àT`ÇvÅ“Òø¤×ç»4{PCOrÍt1ÏA3ñd*˜c3é®`a]p!4›$ÙœJÌ}—tUµq63º’&–‹Ü#ŒBà°-þÞ ®È¡ECdLìt8 –D¡õÛ Us¿  TXºËä4Žm°ÕÜ-c-36ÑUaö·§W^ðO>O3ÅéÈs6˜§Íàq‡ í®dÚ¥W7 Quµ±ì4‡CÆr4ZÇ ±ÄVŸxG­Y]f0–yœºØC:¼è|ÅÖQ8‚tKƒÛ…›E‰šfD?lâÀ¬º<_”y1iMA×åkˆ¾Ê-ü8ôÒb )IÐY´3“.x¹õ°²5r¹uQMMÓpAŠòõ”þS³´`P6í ‡,ë[rçÌ<*3q ÔÕŸ¶¦ö•i8õŽi4Šüq4Ñ‚¬bÂ}É‘‘G ¢ &›p»Ýf!—Pû‹ œ£‚÷"Š©¨'…Œà«<47y Š’…[¥nQ7\ï\2`$¹ˆ¸þ°·¡tGt(ŸeDÒq¥8©-¬S—‹ñd¥¾ˆC´Š)¸¬792ë»þâq¤É^šElOøøÒZV÷Ef!äˆW•æÁ-±8unB½¬'¯½¹û<øÞÕÏÃÛçxü¾LÆp“ ¦T&ã`¹£7¿ï~œÙˆ &#Ù¿YŽ€loo嘟§ñzGöi¯g. æŠf¶ÎD·þý±œåçסfµ]~N$›™üd3œ§UÖnGìîÄÆ¾ jîNBÆzü‹õÜ´$÷HE7Xå’õ. 2+B'ŽZ)„ œÈìfBBN´|Š \ñ W ‘¼Ôj4aòTøaÀ›×iX! Î @o¥ ÐVN”×¹Ú›óàÕ†}*?[âAH !P½+ïj »xPÄΤ8LÍ#È×—,iêÁy”¿b+kH·´ŸÀ›5n—¶=À¼µoF1süÛ£Þë¦\†kåÔoÏâõðl HÔnÜݦJJ a¯ÞØ!N®7ý¡p§âf@箚½è“NòRäºëlÉ´Ö0÷NÏèÚÍ^½â*Ç"Ýõð–2ÌÖJ> ryõÈŠvY &y1J}-Y¥÷¯Œ¶Éu\ c(ñ²ñ†f…˜,pÊÃDïbúËxvüýô(õÍïkÚXç6v¬¿ñÀZC³ö¨ö\wK\ ökAâÒ2ÔD„n€`12%çoÂc7$ŒSîöBV¬oÈÒÁ«Á(|ŠœQx6ú ª‹k¡Ø$ê5îzZ&<I޳”‰‡>€ajØ$®É”ï +¤œ×!–j,^ê0g=Ë›R©ô-Ð †P•uòë®'Ž^Š¥IŽé‹nJ$-B%DmݦCöÑ£”oôJd€ß+Á&·_9Àê®0„¨¯ç(ß)bÓšŸ¯ßñ8+ûmæÊ×ê9¦³Ž8ÅIÎËã!ßmš÷ã0kyYãû‰ ç ‹N(mŸøL3WÊWT7% Ÿk~Žð÷¹_á9Ç6ot>ñµipŠ!qKUÉ0°¯D±ûY!A›ì>6ö5s§Võlfضx±[Ú^Çb~;½]ÜeVóÝgþœ9Ð Ý<™ÑÉa~}Ë|áÎ-|Ë”ªK‹ý ¬œ«Ò¯&+!ÓÖuJ†Ù›Hy’¼!Ѥ¼bAkÐ¥ããŽç-ú1HžÓA6ü~¸ìvÒíñ„vè“ ~ ÝQjìåÖ6îÇ¥ÿ§¹€Ã0ušÓ|o×T*@xx£[æg½*‡¾u¾áasµ©ï¶áÂa—kKO°Éú:¸Á!™ÌüF²+AÅ †7Ùu¨Ù‹ ‚L~1¤¬ñ/Ö_)™¥X‹x¬0 ­à¨ˆ€ù € ¤ #p6]™­rÂî|ƒ–n’®‚­C¼ÕV׫°aÒ£B…ÌÌ9t¢ÚÇ)i<·•9$Œ ¾jtËçµB‹n}Ó)ABËĸ¤îú°::ÓÕ÷èf~è\7Eé΋Á` QÍCA!÷ÔbwI|b~@AþZSnRÐgaGæoÊQÈ.çû›œJ£]p “²sÈqfv4ëîZ!BÛÛCVÁ'»Ö—ÌýJ¡J¹rÒ·0ytݰF9càV“ÂÇvüPŽªé*å¬é\ÝèmS¡È÷6j|ÑÍ®ÇlV˜BVûpÌíÈŸò¦X¿òdWju”øÜ šòdu?Mw0¥(C^`&¾¶è4I $LCHÓ ±*p®‹ç>C-W<Ùˆ13îE(¡!Db·GLäK¢«Q î›Ï@1•ÓrX»éM…ò3m…O·Õ!¡L“Rx¹•>^"عÆ[0Ø›'ŽÍú’ú×ÿ^“Ï,+V}pî<ÖŒ<¹­DÔ ŸÄlTy ºfIæúT4+ˆÕædÌw cjÞ•†GI[ËŒ)JS ŠŸ`|yãyäDýœä€©Ùµëv²±ö²‹3ÝD‰nu䃅žº¬®±£Î µfLÏeûÊ¿?®Í´ÎŒh‘»LZb¸Ãf\ج˜ ¯3–ª€ Ö(ßÇ»&¬¼0#»…A^W= ñÖÁZªr3Û^|ÆPfAüäjOaY¬šI&MH5 H™™æmIaŠþ2¨¥³Ǽ,€û ÝÅí&¹CžLQIE—ðÿêjZéÜ<“í0æ¢ Feãò¤059šÏ8âä/ço¿gšSqF`±涯4"ýï‰Îß_î>n…T ¥ëØ÷Ä3òóD®!æ™idR-æLô‰9’ñõ¾2|ƒ§KFƒ2Z]ˬe_îÖú¼Æ0×Ã9žF~L3 06œõÔz:câu·‹C¤òüü½ >íc½Ü´ÀrMÊp;Ÿkó™5vj˜OÌëí¨†Î,„°ãs}ü† ç(½þØq­£¾2V(cÛ2©zs\·d¥Ó[<-¤²’RŒ «Èù½XöÀÜ·”1>AT¹¶YQ0@êÞ•žx‚¦kèÂtú«Â÷I-)™€ï”šazGºZ“ý}ÔV\ýSëõ¹¬ŠÍðÃáä´µÜ]w¦Ïâϵå­jòHŒ¾±NDöç\íl îbJhäòÉv;xç‰íÅäzY2øp¾ Îhc‚/¨P”€Ná *ªi^N Ï'£v(˜mä Ãrü^Ñ,B7îŸCF7°E­Ê\oλñ\ t&[Ÿ?š•hâr,tÛ` ó\Ñѱ9ƒ9«YäîÉYC&»“1­šˆs¶Xðá°5œôMãeìÞbb1‡ü_ë/P/䎌!¦•‰­ëf B X“ûe¢¯°»åX |Ý“îïéf)LuŠ™TÓÔ ù<Í ¤ƒŽØÓ8¤M57˜TÌtÆï·Ê™ÍÂ$‡3¿3š×8ç€ ¥AnŸfs΄Šj2NvÛ•˹áfï «þÅð7Î9¸vQÞ GhØÜìY0 bálFaï:9ÚÃ3©È,sÌʸ5‹ÑüÔ»’‹'ÌÆ„ë¥Xíïen ñi™˜#-k{¿hÐtjýE.^s÷|qÞf%ˆ<í(ÈéØuAlƒ3 Änâ+ʼûFÔèò’J-H€Gã Lá¨; ÙŽ¤…SG4N«„¯Ø¨ÕÀDº¥²âz4·@@HÐxÝâfÙÌ—¬‚Xê„Å™ÎeI'T¶H“ìã°+ëNñ:dt;j3P©ük°7ç¶©s>ÐÎ9ëlÙÞDa9 –2»¹Ç2 –}Y‰¿×_?¸ô‰úëlÚvß6ÖìÓŽMÿbÃ÷ÙÜ÷O£ãi*$€ãïÙ8Wa™@!¿ß—'W ˆ2¬É œÒÕ•.F²„MØ"X$/ÛîD <­¾ ׃sÖù†Ùïn\sÐiVÉq§j#g3g]jÝjœ ʽzÐ O¥; ÄÔê#™Ó\¸ÛG88áHŒi¤‹9Ò²(©’ëVºd‰ÜGv{g8'² çºwy|£Œ4uìÔkGsæSïätÏuÊ@¿3xegÕˆ–23HA1–ìjpZ̨’¡´cMžAÊPNÊkµ(sßéâR†‚o˜v¹,Ú9µâ4ÆcÙX¢™ÁÈb½s¼Kã¬Ã™26É>ܼîÔ;d‡gWþ>P ¹ÔÊGsÞ–í(‹äž!¥L’ÿêtÛEö"sœfHçšZERÊðaç(Oô^äƒöœvRu7ÓA!Ú:襗֞Ó3—ÿ\ÓÎÚQôN s-Ê#är]MÒ’gr4OŽç´³Ög‚/{ͺ ƒÁ‘9Û„ßv€”„kNVoË3„Á€v•,| 9<Ó¤+˜ae"…&;j-¨`b í¬æŸzÒ}Я¨²KšØ„é4K:%w¼ÞY"$~¨jþB¯+[›šIYÄ‘G¿@SÖJ3›0*—»6H ’'†Ñß9žyf: r¬w÷J&5€ÝñwÞéæ]óXBGÕP\ºì¾Y.¬îàÄÛ ËrÆ/O=;=‡2ag§¿îˆúìîèÆL(´d¶eFmÙ_S%©ÆÙ"ÝÝ0iw5åZµ1ëöÚAõƒÿ}d  ãÊ;w uH¥/J®…ÍqË2OžÍ}}qâm‹ÕIN‚§ßPYWl•Œ§^âÖ ÏUP—@¨{{™soÊܵÃDg{¦1ÊL¤jé–ÑÔâS:‰v6=—‰ríì¢Ý%™KCRºO±}ù½ÒÎ’(©±têÌ«'}è %º2lžDBUr^Qi’™äuìŠvÒwÍ¿ïf)$t¥d•¾ë¤]¥Ý¯ƒëâ‰S¾íòD&ÎO¬œ‹ÇÆ~ÚeÌO=¯o{8IÄGe0Zòï•Fþêò¶nÎ,fíØç¦Ãq®¾wF€Ýgž¤Ä«™DøðsÍ‚´/¶Ôq06'2s=w@žJfpÿE÷7;Ϭê{©õÓwœ[v›SµÁ7e5ãÚÉ]8k*žb}ùãÌó}MSMnÖ¸çmU:1ÈÍÙ1åêI¤º5›Þ3t7çd·0‘-ç™¶bËÚ(kòKÆ+"Ãì$‹l/ 4ò‚—u騌WXœÀ[ÕmO‚¹{žˆÞ˜ƒ0‘kW^PüßÒ­,çQ3gR‘6 M‘ɶsœ¿Jþ ãè\ºíç눘¶˜ˆWy5Ç×'gaFä7>ÃÜ·;ù¬¶§—žmï\|fÄÁªV™~f—·Ö É ¬ìN䊰ùÕÜ›´‘5„D8ÞZý]ýËs#Ë7"Þ”±æú±X*1ü&#Ù~gd…æ6ŸÙà´’æœË0­û®…sän ˜o2žG ›ÄÞá7’ñJ7îdÓÎt3¾íf¢p5Ë^ÏhºÅÙŒ·ç}!á™DãòÞ79ý·HïýœÏ™]áÉ…—ad‘áMý `Òx'Žâ9wÔÒÒú£yæ)‘FwG-ç Ïjô†'׳'>)£ÄùrÌñ(d\Ðdœ ·?‰è= ËFŽ%^Ä~>fˆ•êù´ÛíX“3Æ„»at4ÃŒW˜&:0ƒ¹£‡žÃr­Ù“¬tCÛ{cžÒÐ÷Ž0¥·©l˜ºÝŒ\$¾Ðöμ¥y=ç”Gñš³Bªgh *rÆcVÃ4ï;†Š¯±gš¹%–C^¿4]? }Yc½*œTT€H»yÜ€öfáöe/)È4÷pÎh2 ©„´ŠâueF`¹ý‹Ã¿àI™5žÑù ï°U-燔ˆn·›´aF2 Êäv›AnlÇÀÕȧK†(XW0>1M‹Neðón©4pu/§ XÈ>f¦iS`!ÐÉAëPCß8“nTa•¥%³¯sœR¦¸îP¼Í´4œ|Ë0[<˜„…Sr9ñ„í§ÀùÞÂFŽ‹ªÕÂî:Î ½¡ FÇ´·˜™éƒÆâ%á»}0T/•ÓÇc!ÌñàÌÖéØÛ-l4ê.ðƒœæ|¤¢Øm<>^SŽwÓq‚/.Sró¸ï8é{<Ôÿ§ÁÀ@¨ºÜÌŽ®FTÖ‹k%|&h!³°£\g±røOÌÈ$)à 6Ú¡ÉõôÐ<ïMoh¢…?OOÄ¡7w`r cÓâG6ƒgwB>»‡Jm©2©ÅŸƒÖ÷Ô!q¯Oc¡Æåó„°‹=_ð`†îxåI¿¥1´L–ÆÜ)…RL7ÄPè8éˆÂóĨӄÃj=F )¯ÃDÇû#](dùmZ˜dµtº­Å:Þ“ÅèùyìèsúüÕ¤ƒÅt©ñÏ%]’âzßXƒEP´ÈAo1]‚æâõáÀ5ÑOÒ{Z@Àv¶Þ=bޤŠ}¾ŒáóRU&‘‡ N-&× ¬Š.®“(;M*“…ΆZ$‚Y‰6 <³ipù™Nè±³ ´¤á:K‰è†ýO‰äþG€‘ïK4ÑýÕx‹aŒ!Ý´ÓüûÅÀp»!bU³ïxlŽçÞ‚\U¶\Ý„ç$$h²¡pÇ«È5%ª£6àHç¥ÛÞ|ý˜Fó¦P‘Þ2ÉÆ–"ÕÔ—;+t—/Ujá@lsŒï_Ó®m¶5Ý¡.›po—]ض¤>ª5Õ¶„&vbÅ&„›Rbq~IÿB|@&¨"ð®]ï4¤â±$ <ãS7c È6é_ÚµpËvEà‘è±aZÎ,ÌÄmÌ"ä#Ü\)ˆLø k°N3࢒["‡¼>YÞ›[à e¨wPPþ~oÚa:y­ßy…è†I;ú>*)ÑQhc½ ͪ,Jp¥3>EAÃŽ¿æFÇ¿–_¨Ûe¤v¢öÐÏõ¥ÎÈp¬KLÉhÕá[pªO=/ž%û÷¢’t?†»¾X‰¼S]Ž"^çí¥-xêêb¥³¹P'§Q»ãÿkšýv{Œ°/éÖЈq|#ÂçÐvõ·&3Äù÷ÝF¸Ì;õ‡Ÿ·;üh;¶&Λòär§YnŽ'ïÊ`ήB±¿–_äÏ"óH!Ã; ܸ) Òpã¦ÆÉ÷Ë·3±=Ó—§)ŠÓ¥„†ÇB©m1œmbm¨…Û7 '‰¶ð ïΟñõ4°nËY€-nŒÍûíöË õÝéåB¶­~œ§;âÍÇuð>ò¬p ÅSãz½…/ß©š|·óÒWŽ`Lí¾ÅD½ÚÞ¬(A{½Ý¢˜YX»Öcí?ÍNtX°SÃÞd{– ã+'?’„º%­IÚ¸›‡QÄ=¬(Øy>C%Ôèl·8òðžé!eÌ_ß)…Eçcªníîö ñ2YbŠJ8ý P&gG‹ìó6Ár`Ñt¶4…{ F >6Ç y4çͽc — °Þ¬¤ni4 ‰—FFå3¥ZÉ©Î2wƒØ>MöÔÔßç~?¶Ù¥éדœò©Í¼¿:Þät:˜Æ|gm&Usxû:'Ç1]‡ß|-ƒN›ê›éÐ#µçÔ¤*æÍÜ{‰Ô3ÏØ=cp&[7w¤*êÃÉûÁúê°31˜L„j¶Öézédgд<áìÜ }eU¤-ëêIá_BoVæDÓëNÔaM½'¬¡Ê'&·c+í7×´.bË` ¿ªþ’;ëbd“–£Èaíè¼iæ—KvËÍ,DÅ÷Î7^õdÚ­ '»á·äL³g­Ãp²¼3¹Ê'•õQ¡ô±C;2½CÁÁÍÕ(숭Ŭg c!’§æì7`ðtÕŽMŠÈryf0H]¹€Â÷ ›“åeÆlr²´Ng„t³Ú!&;/Y¢B(«D¶†b¨ ‰ëåà^VaâȾ=Ê Ö2>”•¨Vû«BSeÔmþ¹Sñò¹dú=>ºÚ3H ?q#f ™+£•Ò¦OÓÍí2ølV¸]Pêð|›©u-ãÝ8NYA|êMõ3.Iëãä.Ü/y ÄB°@ÆÇf5Í 48¥nª÷+ƒð§òyŽäßx°§˜Fgèv˜VÂçÓèQ&ÈÀƒŽS#½ »Õ¤u+§HùL5È\†<âcYì¥2óAƒQB*Í5~¥Žwéf—<;‡ò”%„q‡Vzd‡Ï ö˜Sº¥Rë»#0šG;2ˆJars0Ñu;R .—EkV£%•¶ £1长 !”ßxe²´8ÝÝÙI£ü±¶Ï­Ù=“8#³b‡éMÃâÖÇD ±h/ÙµÂYŸÇ%¹ø¤ÃkÇ$„BU°T¢t¢2ªÇ:uäÄZ\Ìø¡LºÏp¬S8L'•PÚ½a”‡etKëMúìÚj¥æ6`1ùÒ‰¨LMvÚšÁ9ÓÉÖÎÏ/Ï?;_†ùu&è£Q²rÏ0_N|­î*ÿt½ˆ4SâIèLˆ_ÇH·pâhcpƒêt£Œ„£óÿ¢¦G{ÝÉ7Aª8’˜°¯ž]Ä1´éyð ö  YÞ-̾´g‘a?A˜´[;ÀÔ× 1h.uÏ•¢ï¦/d–A©w¨0HÝWk ìˆÒá•Q”uÈdØ2Ìt!”ÿð¬ Ù¥a;:é Í›ŽG"*=¥5º±~ႆ°‚*€µ¹-wÀ’ °Ý™74€¹“cªVsG*¸*ÈÕÏYJ3‘W/ˆ¹Ì¼8 b|°•´ê7Po¹£š&J½åþ©´wŒ B4“ÛJß̳Mò„l¦¨UØøˆ@˾é¬oZ’;ªï³×¨»ìÙ‰v3<ƽÂÏÒÕ¿;:&Óö•‡f{6û‚B~ÝgSqÇï[à˜~ÞN»<{‘ȸeÏŽ‰­ÜQ¾¯ÅòÄ~î`h6ªw2ªÎÙ9rg¨Ó¦}Ù ,ÐèíËD·ÜÝÂçP gpŽ&Pä3¥&Èw:c¯´sæªç´,{î´ÉTdqj²oö›z{¢+5šÓ¸8º\eàfôe±–Ý*1{—¾à1rl– ºÓó<å§ß™dqµLîýö™(µÙvñ4ÍEô¤ƒÑÅën4ìX;D±ž/âú xÙ5\ŠÿÆz~vê,YÖ*„1ÁÕ@é³;‹Ø1ã;5¿U‚!‚˜–w)“}#‚r…?Ö0~—ÔH釹>²Ä4”x6'<™è:ú“,¡]c"'$4ºTíDÛL6á)æ6™Þc3ø/ŰÂ'r® Óÿá È‹#«F\ê³äýƒo  ÿ@U†;ìùóÌâwy5Ç¢}8N2ßI±Â³¾ÿZ~ dLc ~Áñr‚)¡—9ó«*ò )@iCŠª þrc%妣7Ib2Üð3™ÕïÓíÿ¬Îv“–htSJ+_YQµ{K4ó~Ú0 Ï­57ð0­Ýä ä©¨xØzgƒ`´ßhŽHóuÝͤK\Ý6è2 ØM iÕ»¬¦KÔ–i{àºy¢ÞQSl~¨ªr,Óh4–\Î(ªŠ”—Bä°Š2+ã¶(A@°ÑÛÅò1bî,&m¦ùsý•ìxÏ ªìVÿÆòüTùЧ­ý¬æ7äô`µ|6íË:šÏÈes9“á¶¾Tã¹ÅÓ!Ç™ÁFŽcx¤òáTmS8° ï»r™¢XÛ´‘éÂ:ï¥4„èH}€ &¸Ä8ÏÉæBµòƒà9w¿‹¼j˜Ô‰ónSõE\HÜwœ”^PUYèN!çM¢^ƒy=úr’ü 9úçpvȼÞl9C·ê’ÍT-;ë²€ÈüÀ°Íì´ÚäX¬ç,3pØVæüº»G7=kB¥f¥§¾ÝÉÆê4Û¢ëixb?„î·G3击a5^‘†F µ¡Ž¼*?ôƒƒàÆ‚àþÙÌß, b0v w¦`vwQ‘#ûfü0š¢"Tݳ¢z“8 –ýpñg±@ñŽ fÖ:ÜMK’|ÍÔ¦b©ó´þY áÈãV üáÌw̰kZÚ`úÙ‡0š Ðf.kfXZÉ÷v*mf÷ÃæähBçvIm*tšj‡Z~‘±‰C„ÍôÑT šœ~Ûä}ÍîñŠœ•E&ήٵ ¨_¨UÙ½à*`zü§~uõ,„>Å 7¹ÉÉî1Þͺ¹„ÓqÙeˆG_öúÿXoW8’ж‡ëQ‡³µÂ«·Ìõ¸žõr;D¦bºÓäe‹›ºº8½™J—£>»S ±ý}QÓ‚N«ÂÒŽ£¦3´¨ø€mð©ôVI -q5ÁfÍKDgQñè)€jžÆ°LhÒ lÅmzÐ5éÔÒ’“™N­[_QÁS:O¼ÔÍ»J]4¡?фƊà0¹×dËT„ØMH@yM8½"Ö!j¨“w¡Ü# e­¬`R‘¢1-µ,)ÆÁ§¥ž&¼ëœÂ~[¬RAT! S€1…ý’|°õ·*©Ö‚ù’À. è2¦¦r"Èņ~ÞH`pPUA8•QÏA=—¶†ÖC±ŸmE÷¨¬Å# uWO@íÈ|XÐeâvTDMâ~^^áú¸!®Á“Žû6xæÖã•üýe˜áu[`÷ ¶nÌןt;«sÃ}°Èà ˜dLÁ@sî!«R1b1$ý+`àeÉq/æùÂt²†¹–—ó¶qÌÞ‰ŠC¸‡â__fé ån󯵲çl$œ¼¹ƒ¾¡yÜ…» \Œrù‹«²OØ%SNô@LÊ(»»Kõ8Êîç­Y{Ü•éʆçvùò×aÍÐí§†‚:!WìÕï~£»º½`\Ø"cÐa¨1Ú<àkwv,úÄmá9¶ÄcÓѾàõͧ•0K8ÆŠQ+É[s†ì™Æc½âD–ÞêÇCæj*ÔÓYžv\9`ÍÔ}kÆ] žñA¿R¢õ%Æ[½Ë)Go¨»áh9¶ñ§*¸Ú ¤ïr'KK¡¿]ЇtܹŸ™{h‚p6&†ÜRÏ·;Ÿ|„£ó¨Æ&Sáª(Y„z¨…'âÏ3[ªºc¼X—c{8Œ[ÅÖäÑ»D¿„>+ù¾—ÂÜ¡>P¬ÁFw.Iû?ìçvL ð—MVã8*çÄê‰&éÙÍÅ=ÉT½ÏŸKT6AD ‡æ›k¶¢÷ µ¢»‹n3ùX.¹[É)dކ= |w¶n%W7‡4ÜQЛÛÕ‘;A,n%ŠŒüÝ‹mÁçÅ"g´Ù¦ÛvIÂÓŒÒ_+/ÁÇPÙ›6†3åÂ%1NAAgXÈ1q¶IB 1™ÌÉæiÓÊm´>$Jº,?e1@8BrtE—ô‘ÇÇâ\œ)§Y(¿~´ÉI6h¯ýÎ%Ƽª µi¸d’þ(ÆäÀ¥ ÒÇ«¡«3ñ±EkÞéÐmµ« ´à‡)¶Æä´Yœ¶¸~<6ð¨àðvrÜ K5çå3ǧ ¢y5R9¬áyðÙÂÔÁL{@­‘*”k€úTjzÃ÷¹óȆS8gzü)žÔ…quê>:Èbc¢+I™Qˆi ÝîëÍòŽÛü°oÃéέc{Å,òZÎõî„aÚu[QšëÝÅ•œM{Æ:Á"_Ô0gúR}ÝYj儇ùªTééÛuÖºëÿªôtqÀÀZ™s=¶5µâ°Ã½¹ƒ|«–ÙlÙ*—¤:-\ïßäÊ 7Sm²bT·+nŒ@HÑZ†PC»½9Æ'nÞñD¥5œÜ8šøû !Ì—ôw#îHénFßõ¶¯²¹¯^‘u:M- —o÷,š…´Yšq?茷y²A´D_ÚÂ̯å8ã¬fLfä«X•í¿Õ¬¯dP_õ5}¨y¸]“4g¨¸­L°b3ƒé+8AÍë oF[Óòüê–€ÎüÌV%7_-å‘þÙxνÙ,èð=×ðƒŒÎØWÚ¦M#›•{1ñëfÄÍ|XølbÐ"Þõ$þH¿G>jŒÝ\¼ÚTÑ8nJTñLuümÊšLgÕ…ôŽtã€À„04ß^çÜDSm“Ó6¶’ƒƒ—¶Ê/nz'U f —|ŽÙ8àOíM¥%¤á ­SÐ:AkgWCåáNë4h˜a)úÚÁùOµîAë4ùh†ïôÔ³žÅNc5èÈ ¹µw^´/FQ™Ð²p€Å¸Ó„áÇe ‚~MEÒ ÅI⇬fÖ^šÃà úôœHLŠîÎÒXž³.°úö`¤—£p­>ÇÓ8îáÏÇ8qr¬»•žT!”§ Ú²9®Ì„š ø,Xw÷kh^©ÂE^oßÞ\ðQå ä’Ù½^0†¤x:ò¨žÛ8 –Ê¡º{ºw™s$÷0Ý$¸Þùª$Õ0þl`-0wl÷wÎ#æKßqpƒ¿çÎÓ¨T°Í#F4¿Õž5 «iÉ À׫/9è°¹7ýy’s+± Úœo²ä+lt†„)‰úAчžõ³%Ã͉Ú|zDz-g×лûsùõc!^ 6|cÙXµ€÷‡Ð4~…ËÁ$ ¯ˆØo¬Šrt{Ž0›Ëk ß¹ Ù>å6ò89„ŒGÀ2“»IL@;(T’g}{Á "Á‰9°ç•r‰'ß‹%z9±›¥4ÏøØ”éP§êf]½‰›ðphhsB•®Aë*« &šÐT(m"UË¢Fvå ZÆEí àÛ§Œ ¦î 'y6Q:"gC7jlƒKä›ã,„ÈÌÙÑ ìÿJGaÁ„H¤s)L„eƒí3ÖÅ?û âÜ!”ÿ1õ°JxGD«aäÿ¡ë͵,Ë•ì@ý}Eüa†Y¦@Jˆ½Z)öZT2Z)¡¿Ýö€{3ëQyUH÷p¿~`°a{Á‚ºéð,™ð™ð‚ülûpÑrñøBÇùãȼp#è° <½c;¨‘ôw m¾Î‚ý#3»¸>6 N6å|X뻟ð+ÓŽÃ'öpЊÔJ(Š›­ÃôiïMÓjQ—>ï -éëÞt!7Œë…,äÚý¸þoÖ¿ë:©„.€»ýƒ!;-ÿðy!o–þY ¥©Î÷âqI)“ ‚±x Ö£J§]¨BÁI’$@ •WV¥Ô%!½ùgwmL²È1ºÕßDtÁÖgìvììy7¡Ø*Û¥ìF— äM”2vŒëôH„;O¡ö"›Ãqé<=õ!§ÈO—½ž© ž7Ó¥;èðÍtXŒwË!‹­ý¤©²é6ÙZö—˜/,ÿü)D¡¥Ñ¨LŸ† ˆìÖaœ uáÃXó áb´+c13¦£7 IóZêf#I7ße9®\âÀ‡à6Ü,ËÂbƒT䇤âàÝšk>˜Hý²¦Èá€É˜ ;› ^º’‡ã?šFrø‹vÁ,ºÞ• Sô'#ʆ}aÇÌj>¬Ê^Z¼ySI&”¦äéKjáw¥!Ðqŧ¯Ü@wÞ€dqÓ Ùº"0i¿8žÇ$û nöÁ=îkh¬-…C”Š›ò_kfü°Æ˜þ6Óê7„j·á£‚º´7ãb¤žÓÚGÅ­¯([?ÌX0–õ½¤$QcR¤Î¶&FS°õQYí«o°“4ÇÙžÅ6W÷´ü7˜ÊµæVž@õËá/“Ä’Ng<:µÙÖÓɤM<ù—¼ç®î‰Ð=‡ïwá7X0Oá[q”:¡¾¦÷gúF§¡ôðßßÙªáÐÑ9l ˦Ü%X|Ç¿YãžòpÁ?¸X˜iá},þ¸Ø¯¹4,ŸºXQì2ࡤ5O6kÄ”›ƒÒõ”€Ä¡orŠ·r@Sy ‹C˜jê÷Þ0ê’Ó÷NôÇeïø"ãÏT"‰ 럩pé.‹7œÙ…ŒOgPh6Ó;8ìæž7?~œ…-‚t"&î,å¤cÒn=÷«ó7,%œ›Á0M?aïs¤{“_4X³Aê†þްgNþµ•±.Á (‡™«±YÛ…å¡5ôÒPå: ›ï`±ƒ‹à ß*ÛËõɈNòNÑttåHÍdcœn ’ Æà-cxu˜¶ðþŸëõ~cÙ)©Ö@n$ÿeù›tºyû‡Â1ñu›äâ×ç—Ÿ5›ÁzAL-yu° cÏ L§ñ7y”gúôœ"ƒu;¦7Ôd.ÿ¤,B·©/‘úé']Ö DÇâÐY’n£_¿Ïþ1R¦7z²ÙÄWÔñNRíEd’á, ‘M­ºÍúüõHe¬ÞÜÿ|7Î ¦³U¸ú¯BµŠŽ›ðñ®› 3 eùÜÚgÀW§ôéO|s\ll•†›ýÎÜò+A·N/ùðq•äº&T»8Øx«±T×U£¢KËI­}#ƒ/´©à™†ó'>‰”sÎaÎë(‡Ñ}í­Ô@¿rÞÙ”/£á…~(žùe­4“-gÌ÷ÍâÍrœ¶s6ÓõF.› >CGª«[º×ç„«VËKØÅF« ·`aŸèã‚—?ø«‚ž­v1fŸ¢ndݹ4WÇ{+Q‘ò51NÏ#y:Ť ^9CIJéNèü‹£•\ÃÙ@`E·†^»«¿s“lvãôšk󖽟í°Y|ÝÿºTˆ w¹ÿØœ !¦)ÄL"ûR`˲‰áŠHh·w?ñ%ON?6û×ÓÅѬރžN… f­)õü¤Ã0ÿQù& -çë´L·†£Ê´Â^K¶r¶ÅÒƒ_7œ³1 §5÷ô¸VÈ ¼¤ºý—D€UO×lÃ’ ²„ož›míè^'?ë@ú2e¶Âzâ \>ªzÃË«lCó#VªiÀÿ+Áà¥@Gto›žb€•]5,–A(ÈoV¾û=Q†fâÍÊ—‡Qì°Þøõ­¬c¦²Â£ÏñQÌ@À%"õÄ‘'¶¬5ÒhÜcsk¤ÑxUÌíßÐÙ vC¯öº¶Žÿâz"6m¬'Šß?yö¤?1-p-Z`«®ÕiƒjÕZ•œúX‹ð/Ç3Öä³y²]; °ÉíIÓqžšÑ¾™-‹Æþ j×ýYµîǤã0"Y%€xk^I™ jøp‡,*ú³ÂTŸ\iÔèŸFìm®¶ ܆.‚ËdœJé‚sÈ·¤BwÙ³^òQ|ñ|¶™ZÓ2[‹´ °¨ÜÔKtÛj30°èîÔKQ² r>Uv&¯`Õïê%|\ 9™ì¾ H÷ÜokëÆÀžL’‚=†Â Ò<¬S¡¨Éó-hzõñ­PÚYÎK7Ž—S„* uÕ9^&ft–ðJ¿ ˆó ÕuQ„ýq“ྠ#mÐcʧr¢IY:t&!Šiˆd"0æõt Ï²§^x?ŸÆä$fx½îwùÀç1”µýþ×û¿ã×ÿþÏÕ›k¿ÿËÿÿ÷ÿŸÿ*ÅËÓª?» ôZK« Ñ2R†Ð›²Šò‚„rÝ©´$šÌÎ;çóEzÊL˜Z 9{Fš|K!¶PcyP¤7Q‰J…vvŒ«¥äc 7Ô4)Œà0ÚÆï§”Zoš: 9À5 >q•›i¥˜yÙÈF6áI |Þöp߸`Zt1E؆ÚBïîÀ—ïûH§¨ßרbPÑuª^ €<œŸ×º‡y]ã°˜Ösù%Ú kf¶,œÁ~o°Õ½°^3ð7’‚›Vã$“± 'ªoµ6#<.XÒOy‘¤8ý®I:ñbàìl \ƒOøðùØWE æy!’#|ž ZûkvÉñÂ×ÕéB†Abq²àæš1®Ë³ a-e'Oœ"^èvãyv„Vœhüþe°Rz²'¦²À¥?tEó&m1)„¢È5M¼¡é­TG~Ѐ”! ­3°žÍë†õ ,½8?øhãþÁºo¬ù¨Pan¦>¶¢r§ä5ÐÛ RQ½3 *XÀÏÄÚêžUÌ}n´ýL´©ñõƒÃ[YQÅp‹T/ŽzX.ˆ.©W[êñ\£¢…X ©d¸b[ò{6~Þ 3ܯÆu÷óû×´ŸÙâׇ¸•òÄÕ»kæ’þìX÷‘J’*䄨ÇÌ];œ´á*ñ9·b¾ü½$[„5N0ùy^C Êëù ;ÊQ*mq)V$D `ª Ï¾Äæ®F¹Pi†é]¯ßh—û†º\ƒÌ}›ü†™fˆé7Ðý©Æº<øÀÞA÷O „òTV ø 6ºLȾ-žv*ùBóãçßç2 T ä`$ûÁÚ ,GÒìqÁ£÷uýÆ~ÞP{Õâ:GWÀdŸW 1²‰EÀlâʬ™ò›®?¿! •ñëb°…«Ùóð„{y#ò|þæÍŸ`£ÑŒŽ<5Bp†Óɪy9þ=óD¨èn­ÂÏ×x°üu!«ÑÎÏá¶Þ& ¾YÉ-t%Ù“L¯,’î ÇŽžÕÏÑ”ÞàGÓ‹$êH;å÷¿„ emü‡G}à_32 ¥a˜hüë×µ;'ÖÀÿ Fô?äªQQåg—_N »ô­®£6=ѯv „×¹ Y•öµdÚQ!­×ãÖø”’zšWζBZÛ^#m i*ב "vú–¡m„ßGõ”‘©uO¬²þ¹þ ÂÌð€G¦Æk&Z××oK#ƒúù„)®KaÛ®…°TÐx„‚טæðYÃ÷wdPÅãµ”:ò-tÍýÜ¿"x-1§×CE¼­ke W¤¢ŸÍ†ÄÕµ[GnŠP×ÙU Ã9Š)X”Os—:û‘RެkõTë¦Ó€ýKµF¢õ¦ HÄÂÆ¦=&©ù0íX{`ÚPˆjJK¨Ö%† -ßë¢m¦E„ðûBh°“𲟜ë9ìu'jU߆d‰ w4±æßs=ÀÚ‰Ú¢j‚ì®;ü—©~ˆÂÒ©?‹á×$™¦~b­«"ÏéÔ‘Ó>K”BÓâ0×PÙ¶ öðÆàG}¥ªh±Ub†|­»6”ÁiX-±ÙJ ±z–Ù…¯4[sH#*’ÖÖ÷ÍÒ TcëÎï§’ÎÑ$&'Ä£T*«I H:õèP—F­ë \Q†à?JE÷ÎÔcç “²>ôh ÍÞÿch—¢V•")ôR’”–Kc©0¨Èþ¾N»ë.ºå—ÖI‰ÐZ÷ö‘áýçú7Šñ÷4âð'ŠT[ÅKPl* I ù¡Ð?8.Ò`q€z}B¾¡TÐ*®Õlø”åG‰ltaªàHK’.‹=*F= ¸G^pèùûH4„È:þbæ# 9±øC ‚潋Epæ…É­br“cÏân\ª†Oíà!>¢Z¶¿ñr!qŽ¹Ì²Â2®0LXŸ®O¸˜øð жö€Ma¥CJÖ2A —Ê0±¢ìT›¼ÊQDQ+¥êöóט—ú‚7é,ì ÷ÊùÒÇeùK+ÛØÂ¡êõ„•ÃÐãÚ³umhjÏO¦Þ|â ƒÏp1Xg¬±#ìNa¥úÝåk%žW8èŠ)9PläVŒì»2ê ”Ù¦c[ýM½n8«ô]/£0rôŠ,EŽbÞr1 P*}Ãk~}ˆs&*Øó¸^h°ðž"Ñ'Ù"W¹»Ð¹eÔ<‹ Mì;‹ÙçñV9ܧ2‘£Î­úŒµ¶–å¢àCÄZwvf•Ï1˜…÷‰B•ßÔº s|Ê÷`&G•¯H¯«u•ç«ûÖ ”Á’¨+,8&¡µg5Mo(Kåß{Åôð½yƒQWÆ©²Ì’nÿc­òó;’(þðÂ)·žXg ,ýw òý]ÓØ ¸IîÄ`fµ!›Ý÷ Œ28á3Ϥ5Èñ=3qÏ5Ÿ #yOFÐuÝê©a¸ž¼÷Bg´îáu}fYN<£b mu¾e¢š–¬îŠFZ¥ÅuáÏ—˜Äñçï”z+~nSTÞ”«g é‹ä‰a êØUÊÌÕ`Twæ2ï¥Љ½¸*W‡¤§Ó1h\j¨y]¦8P>‘›Ö¤Â)óÔfIî?Xƒ,­z.Å$ E*Jzí'Ö9î?²s†=›oCO q|Ì›<é—7dEea ø$)Ô¼æÁ™ ßü—#yÐë>œg«p9XÞó0ÝËgVžØQ“mpî8‰ÉÉÓ;v9“ªžþ¡û`·º¦AÝ™Þ ˆ’1æBú•¡SMìÔÏï$ÁüZ€Ô ë>‘˜N‰ˆÐ%}×Qz±©-±©ßŸ¶/z‡pS_ ë n æ«ET{lI9[¨eKÅKKƒÔ/}ˆ.Ë÷zãIIJ¾¡N®Þ?™ ” Ä”¶†¤åôŽ %‚ÚÄÄ;wñ†ü}»ônjG@¦VŽ0ð£eÛÔ¼§ûHçr›tTUkµž”?9l«£‘LŸ»'ÆR±[¼mP³¹[Èjp[ŸH{(I(—RÝì ¨Jkæ[ »\Ó¯4‡÷вràvö=i Ã\‹줢æbT˜®6ñü|-au+ênf×Üs÷²Ñ®FxíY)~„3ˆ‘«•€=ÌlþºÞB£]M¾ÎöF5ÊW×7]Ã{qÍÀÿ¹þÍV:9‚ë¢þâ½p”KuöìÕ­ä'i6ü™¯Ì ¬bs+šÑîþ©Wª~ÚM£Žh$P¿ÁÎÙÜtn7_#}k¥ê­¦¨”„bÅ]ÙÃ=JLËF½²ÿΨ5<™$‰çª%g²£PÙ?°{–=íȲå\™BCÒʃšÏO/­¢øbã}óLަTñW hT/Ý÷9K½ý›õoü—Åa×ä½AèS°øý kð穇{GSøæ{¥³•ï{e‰äè(îIµz$iQ„A¯KpLº¢Jå‚M{´žèd«^odrÙ}Ï p*&Ò¼Š2ÑR£z0 CæÅouW ”­3‰k6Ú«õኲ±Q>¾î¡0£oGOF2ê+€R—bDýü9½£¡ ]ÕÍò™¯¿o,gb°k‹‘Ÿ{)Ùf¯c1ÑfVîˆæQ­õïÙÖíÛz°ª‘L±¶?XW—Êrã°œìj9D+=Üó`=4†³StmÐå E…[ß/¢DµòÃ7)ætðnàï È‘N1µk]æ¹ÅX_ÎãúQÖÆ^WÛwuuíТðr¿^=Tog Õ@C½÷ª‡úü[*pXo¬uF`gÜQÆVýSMûVwbÂ`jÉOÖDí™Æ>ûd[þ§ÕGKJ¬ò/"ê¶ö+°…¸ oöõÀD)ýޝæå¯Ÿ(ëâsIÒ9þCÔ ç@Ì(°^ß-JÍqÜ60`ð»ÖЛª3î{BŠNpÈJ ªYe¾ÎæCA>Ñœ–…e5‘H¡ÆÎ®†eog Ï×èy‡½*ë‚”®lN¯;ׄ,ÀT5u¯®ŽLÖžX´ÿ'>oRJþ…A:M¡ÃV9O]Ímñ4 ðÁ aï›U÷Îk/ÙYAg{£sËŠÜ÷ÚÓã@uA¹â¸ïŠ 3µ®'<¶vTÓ¸K*R°X¬3§l6©_gZƒîén¹ï‹Ì¥:Ût¢§²F+$K¨:6œ©ÎäðTzŸ†Wo 3Ûce@X>ÇlMþ{Kƒ“¶Î±ïAíçTñ©Ž¥\Ð(Ã1Ú•) Ä]ÈŸ$¶¼Þ(>m‡jf<60v#ª[ HØVûɪ uÔ´®äÁË {úzSÂO±ãú‰(¹:ËðÏo}d4ÅPŽ'$ï”Ά}tãÑéxBÔ‡Ëd:#–d'Søí«¦%½;p"ðÔUU? Í•yŽØ˜|p³"™Xº ¸ÝŒ üUó˜|‚.0 µ›¿dzSëé‹€WáäØb®F\…`º0ðÛl§®þ:Ó¯@¢fÆç*¦8¤Š¸FÁ€ô—môdâgrC)çn½²­Ñ¦F–7¨ »Ýª$/ð m/z¸íO­«@ B±>\«Y|'i®È"•^&GrLX'Gj¥¡$$šCÓKübÊV­É`«’¿‘ò-©Ö!š³šý•ÎUI4Ýþ.´ØðXû,rCäTÉÜb öžd£¯†ÄìËß óM7—I.²Ù}g-§äå;íüùƈ[InH‹â2¡ªÔf3Yî8õ†µmø†6ø`¦^­“Ø´»´C6e€˜Zl4jÍòµfÛäýDÔâž6­FaÏè.nÞ<º÷`IxÙ:Öm©I.t(Æa}¹V£lrÏî¥?XÛN¿qRç"¤Ä8ÈjÀzëq+¥j$GFlw÷ã3®Vãà'^zHXkŽÈRfKAޤ$£4h)™! @µ «Yb)§á±wL~·ƒÍïØ.º© RF®Fžà+ÂAŸ¬Šêèß0οÿ8ŠhÊ21n¹„r§ÔÖGëu?kU+w¢ž‡ª]¹˜‡ª—_ç‘RýuOrÏv@ó£?q€›Ñ6pû‚Ü&ýxÃÒÕfi,@Ôfá½2%cZm–ºwh ¨Æ×E›c{,~ˆä˜91­ýÝHcQÍÖ' Q2{[ŸÇn§ƒbý¸—Þ`5ލnƒ`ñ8þ{jÀÔQÀñïm0åŒF˜¹øSLå“fÄî%Ÿª-7!ˆùn† Z÷`’„¦lÈ|O®wVë/D³Æš÷"áMwz Û=`¨V`œO³|7Ñ;K0ðßüý¢é6Í¡^zú^… „¼-}ÏŽ×tWL'_EÞã—­Êð½,²ˆ2™ñz"G>#bµ:³häTèGRÚµ×éyDɦ'Q6Žðâµ(/Â¦Æ R½¯Ÿó·¡©Œ“bÒ÷­3‚ƒ”Ël L:Ã7_{DC×ô½$‚’† ëäù A'‡¨çEm;îáÁf/Gt”ÊytšŠb›ÍãáÙb³9=Bë_$·:s÷~ÆÔ5Edgk•æatëDzÅqæ‰Jÿ E©¹7Ì €Fx8ÑË”ÓFy(’½{”º+ÂÕèò“Dä ‘o!|^cÐûôz€%ŸFœÀHU"4MåÈj¯†¢!eõкì ïÃzqˆê¡)}ƈxøÃ‘™¼ù¥%ލùøÄ’ílú‹¶r1þ…Œ{û/æ}w¯¥÷ty&F@œVæJC[ßšb¶`ŒÝHó½8H9kŽºâ9~•»0à°šÛ›CÒìÚQÁÌæÁ£‰ë÷Á±ès ßÒŽÙß;Z”_ìx1i g»‚\Ÿ|]̘.b,…O [µÜÃAë5»Ö³ý}=Õ1 Ù8£nN»tLU÷äöºÀ6£¹}>ˆ nfB:«Õ—ïÞ@!gÓȬîIäé\@鮪YQ¾½îÅùÀ<Á{q+³Iò%€š°^œn~7Ö‹lÝRIR¼^ƒG Òbe&;¾Z¯)H\CNE >õ"¥š“ªžB÷z§ú(¬”øý” ¡ÜâZÐ ’.CÔ¿98gý²Í­©›ù¨9ةꛯõzHí=†³k )~?¹2[ªdU_!ÊIG¶¢:ƒÉ^Ð×tŽÃPg÷ê’ìÓQýÅÙª rcXÏNs]&Ǧ„:«Ùžë£ ® u 9<²DR«T bØ+áóˆ+ÓW«éô!XŠ¿¿S¦ª›ëC—,4çÈ•¡RPŠùPá¯ÎXj„ŠpJöϘn¡˜Ú1´Í-8ó†&Úïqk›ÊúÖõ†€75ãˆò¿c5;Q^j=4½?@Ö¹¦}Þ?Ö¿Ñlò ÷@ž¨{ü4PO&É#/'ö% ïª\ð¡õ7›ÿä’vý¬Œ)´lå–â0&7Û7УaøŒ/˜«6÷+ßÛkL›cË; cÃá¾på¦öU´s …ïŸÌÙnfß·>Ïr×q²·¦˜4-ŰÁÌ‘É$¹;z1Áöò_°mªÜ~q…AÅÀÎ}ÞúrÉC b±ByHTtåæÇÒ±Öƒ™EsWîbÚ½†Þƒ_1óêºwJ­bz´n4cµqšõÍto²§4üFéMQG¯»«W=«iˆè>Ôpu”ÞR˜p&R„ÃqH½7)Ã]AªŽ¬í[ŒÛ¦^LBJ=äÞ¤J±Î;‰}Oœ»Ó«'Ïðíü~Íš:åãŸxxuyIsŠZ+ÛW³Q!ošlr-ÎÌjQŸºo|Ó eïu¯†´U¹‡é¼]ßMÞ‹k‰<2…nÓ÷¦º~Gg´¢Ÿ8Ïü˜BjwÞ‹4zæ™5ƒO°:3¹‡]I%¼g;©Ì#úÇœ±;¦PdJœT ·ÉÝ [ØM@B… @¸8ùXT|üNÖÍp“åÈùPG¼ýº‡á¯æÎ|ÙÏ&¾!„©Éº§;&ݰò±å.köE«Z§ ú½ÝÃø¨bÉþát‰,Y2ï"G°èú   Í3ù]H™A ÙɈ¼÷˜}lÿ„Eh¨ÞH_ð†â¥·;$íåÖ×O$ áŽiÉYŽÁh Ê µfÇ¢uÒ§ ‡khÀÂ|Ý9Q¦Ah~Õ=ɘÑÀ‹¯[…]¾†Ü8†ªÅZƒø ‡p„ƒ³®«7 h8¸µ®¯›Ê‹[’·”z^é˜ô5!¤hÌÎjèAH5[@EÝ©,`rˆ`ƪ¸;×Íʬ¸íérJƒ²; $Ìnmå€LF7„l8r˜šåöéãÂ!ç¸KµЉØ×MJâJ‚¶ÖÁuºEGašŽ…ù¬–Ñ¡ ЕÔn”ämî‘6¯{h´ø¦Ñë_Àv ›×-eëåºE`žžÝ0·¾>ó›¹ø‘’¢8—Ÿí¸:ýÇšQyrz³•§=œvI"å +0?Ò‘í\Ö=Ájd=ÂX{P£K*gµ¶NJ'KÐFåA›sïÑV3aŸt@9}¯ŽMØõµ2aÕæak›ïÌ @3 oɯ3ªÙå¶s¨Ë(O-=OÌMʯ.iÊìºË)מTT¬j©sÉú^Ïp=.¢A3Ñ9Bøq¬4 7i™Ç• ¢:•˜7P "kœ¼ñæ·Ì•'¼ì#G#T©ë ¦ið}K¯I/Í™ :åKë œTîPîøÌ?/Iwšþyõ¶ Ü‚¼õ§MíUþ}Õ™_òz¹:"ázLþóùz‘J§§ƒí‘b›¿¿ª¹ñ¢¦‘ëóó&'á¯WíðúÞíSÑL[æBkÈšì_R—ÖšµÈi_»³œuä*‚( M³ GË¥¿( Ô ׌óiu&™ýò?€!5«#î‘. …ú¶ð×å½ Z2gA)é1œ!®ùûÙqÙg²žXo®øû»`@Êjë¸ÃQ;¨‡î½I틊 +ˆr ÝCk%#׊9ìîQm‚ߺ;{{¶Å‰5djÍ{˜œ–zƒi ¯Ã=4€Gj­in j¼>ZŸ³þ÷ÏÑþð$ŠCäŽ2jKý¸²ÿÁúí¥=ÍbÜ'du°ÐÃt+ôë‰ë™ÌM€§ŸØìhšŽE0B8§sáêâ—û­3Гq»kÇáûEÍ….¡êÝÎéšwTR{å3P¹-:,1ÿ 1s£hêMë«ÔޏÂàB'ÅQ™;5øç™¤¶Æ•?F]Ȉ’’*¨Ì±k×8­ËŽÍ½>£•‹6‰WnåªbwH.âd4]ª+ý°B¾SkDYÝ;¸òžØð÷7¾!É2 ¾áå?^_÷h]¿-#³:aáFÒY#l—Æu" nvÅpAÕ¼6¼Öê•ücIyy ¨—ay~Ùb4I8Rf’Øu댘+O z‹³•ž†J(´b‰Ð瞪{ ©GN'3ô@±ƒîàÛÕxÑ0h·îþ曕iiد®ÒÖz†‘¾ùº1ö«G6ð¡ì940± ¿fÊ=RÓJ³þêÒ4ð "e%ó½¿L; veЉítÌLÓ;½!Ò†ì úNöšÙIì-ÒÜC£ ³LÄ­žÂ«ˆ.ê (§¥"}'©OSyÒ¦+¦+‘Mu6;Où£÷tú³¿‰(h­ëcQó'èëˆ~ùy¶ºJU/LvYŽå&éKœ˜6ê Ÿ!%³–ôL’âJÍÃTHÉŒ‚ÌW]¢Â¡TâÞÂÙ¢ Å5ŠbÚóõ¡1ƒžÎ-èñÆ[^ô +œ–8éýãñÚå™ÞºpÒ£»« u ÷Ú›%NN³ý²¨!”9¾îBQ«¦„ì‹v%%^ëN—¯÷õΊsŠþ³§gܹ…ö³Ï—É)—3ïåNåbç}4 ižt/˜®óD^øýûiƒ}=×—žE¯k#”źFò%P¶åHÝ^Ó;`q>×}fØ›^úyÚ10ßÚQ"óOKŠ`F¾?4ÒAcÊc(}–¯HvNmÎ5˜Ã»Ë3|SŠðFÎèFMH‹¼™ˆM AWý#µF aˆ‚€Ä̲ Ç¤Ñ2ÁN¸Md“’@þ@©ÖAK‰xD`v"E>§A@=Ê+tå2Ã5³¦õ’§[•ÄKæ5É‘Ã<¼$z÷"” Bš2·£eRÆ>XÓéðQ» -g_æŠbIŸâ:ÆF™ÛEÇìê*5¢3Í¢¬l†Ï,;ÑiئPÀyz¯&®”=ýëÍÈã¨"ýÇúç,ùx!Ûûƒõ ‡{‚Êèmã/Zìó,I¡ò 8Kúÿá¿W =æ ¹ê1õ›F‹ƒô’€Sû|šIÇŸYgtˆÉ1ä58Ôu(œÊ¢6?[ 3­–Æ}оîéa\JÊP;€H¥.~è]>”?U‰›»P^¯¯¯'ñ—ñµŽö¡µjý>Ÿ×çAIÏ£oVë•_RZk‡Ï¨±ïN‹©Õ\Ôî{R^ÄxçÕ¾%í'MFIó=>‰“„¢:á7·BuVÓ½÷#bøözˆâ¿Ñ+–•ëk½ˆh噓Hšø¨Òîù5ãŸ'bù½úþžê…OÄåV}4iõ`‘•ê} eÎ3=¯±Oìë-qiD/nö°Q”/*;ë»ETÀÝæö$䀋‰*{šàÆã´€}Á³ŒlâüêtÏ©ïîUSE¡Î¸¾ŸõÝ6møH(˽~ÎÌk>Æ3|ˆÉž_÷ 4Zß×ÉU²¹2¿­‡àSì»G,7fÝäCªºð¶“ò‹Ûe±ëÔ5úmâ2θFr9³#}õÅ6¿î|nr˜{Nâ'»”Ë«ÓY¹m—jlõá*îÎ…ï»÷ì"F¹»¢^Ä5ô°À"±a]ÊßõƧšgN|b2ñð™«7jÌ·çGØ¡CŸwQëy]ÍŸ¦ês¾!á2^fÓ}F‡qkî½ßàŠ@< ÿç× kV¤“vfÑu(È[ü/Fv&³Y>aùÐ,08˜7#TGX[~X.BbhŒJá|7ŠÒ€Û]dF½ Øš'šÉéÀiÎæ7yÇâqHó«Sû0Л˜ÓÙ~õhŒÅ÷góu&ƒi†LqÀchäA<m ¯÷¢æ&ÖŠ߆?¤°VÌü8¡¬é1álAüÎ(Õé©N꥔@øOI>þ;Ç}:IdÔã1|¯ëžì¼¹qƒæÝOl`pöe«QA¸AGôº‰²&vjËù¨ëIeiæ¢D ¬ë܃­z¢ÝÂTÕ›ö<©ªˆ˜vc¬‰Æ[–þêœ^L ’ð ãB͸ ªj&˾_Ù)'Ø?3éú}óõ4 Û 9 c¢kÇY;Ýotˆá9Ä¡FÉ·¤ô5fšó²îi©ùëƒq®Þ/€p®üoäp_ÑZo¢ÁT]å—ëU=Ñœè_ÆZ­ÎtuçÝ2-TÀá™[Æå/vû—%^ ç òÿ`€®î~³Xšp 7pÙ{ßï$rÁë38y/Æã%Ö:³Dá·0BÓü¼¡Â޵¡¿‡Á 1‡o¬Ùo¢= Æ(Öà ×4>#pOßKâÏ}c²)2{Íö’¨ìy‚‹ä¼x$ŠÒ_³‚œZï£ >Y±Kæ§Sæç9@P¿§ÑYÏt5ÌqFâcdQ‹{&üvÿb&ù|i‘›‚Õ1דÈiØÍaŸ3ýùøC`—šÏ ÑzÇ=—Ÿú 2°tÔ™9D…í€F?玣‰_8…mâ 'c˜Åú8ºßØqf6Ý@uÐ_Œt_d×™ƒ²íæÌLˆ'™²¾sKÂÊ>•tFæÀ\Q¬Ì†»\»Å®Y¸¡Â5ï{çW'|So°["²K–ˆÙìjYƵÓÃ=sz¦Jëêž¹^ç²çÍXÿ†¯œ4g;^‹!i©gI5?„çíÜÃãÓy—¬“î|îßêR™s*ûkpNù¹§pÁý`"ž0ž¤¢*¼i!Û$C<ç!œ|˜½ÔA¼ËMfÝ]ø¹¡La‹KâL!É5áMŸÓ{¬›ñ8Ú§^EÕZ.'‡Œ@Ù Ú«à LíùÅÌI½ûm—›þ=  ž¿âI¥‘5Lp÷4xöùa« #¶“î‰áz@÷Dã=‘º'ôužZ:[?Y º'¶î‰Ð=ÑxO<^²póüyc2®‡ûŽaœýr…ÓŠ.O áùêÞ¨ãuç“öŸuoHú %ÔKæ§qÿ¯Â]šûÞ¨¸Ýž°/»@„þEáß Ù½Ñe‹Xžá>#¸0û#ß·É|x¼ôI,z:—oÄS|‚|Ò~/ ¹^ýǚȒ +EÛB–$§¼ÍȰzçY’Ì×ÃÁ_¬¥–”s¸§tÓúB$v²hËj‚k`J15&ò„Ø—‘Æ`s!·a…­®–æAð…ášQi³Ûfî qéÃ7í~0,ßÝiÕæ›UÔìý3µFM5N;h]úXÏ‘ Ûá€ú¯¨(òĜҳÈ3Nâ2÷ìÓQŒ²LÝlª+OާE!$Ét®ö÷5Ñ[ª‰ÃL‡ÊNÇQÜ 2†yÆA,KÍùÞpåNSr|óÊ^»¥´6ů·QÇ“>+i6P2›ÞF1/ê—\£žáû_Î<ÌÞ§ñwÈæá´",ÐØåBrBOd04.¢“£–™íT¨˜Â30¥ÈüFÙNC®ÉŠš¹ëµ´[âˆC÷fuÍ|Æ…´©\pﱇ£ßŒÚa&>}O Ù“ñ¤¨»• †+h±¶·§_RR0:,¡)÷T 4ƒ²ðwt*ÄF,#‰=²:C'}8ÂÒ`2…´Ð˜Úšê÷†.TŸ$Þ:³|Äy&¡úÔ³'ûˆ)žÞ×»}½ôžž ùÔZˆQh†º;xÑæ#—{ (T ÍÆ¨·Ð´ÿ(mÖ{©[z'DŸ ðÐdÓü¾Š!=?V08ûÃ’h®‰ÄÂz<ô× Zì­çgýÜ à ïÉ y©Zs1{óÓúȆcN«cPâq‹t¢ëSgv»Ç±·øÔK'>XžÊÖÁV2k–IaÅê{¤ŽÛÙ»*ROOŠBð%YÙ;¢ütýDg¡1,Y©¨þôPÈW–üŒdÔß{ôáé×<öIüµ!ûv6~%—r_¡³úô,ä°¯7?™L‹ÏšÆ.É3WÆ.ÞDòÿ "]¬*EŠw ©FѨŎyuïÉØ…x»¼DJ<º³Ý~l”Ÿ‚œ^STԽʾ­ýê±3;ĘÓ<¬Î Þð²ªÔ&ãΚEã²k”V‚6fEi»ˆ™°D’ 5 £°7ì®Fð**J‹‹ÓÈ'»šÕ õ FM4?>F.K,`K`Ò::®yØ{ØÈeùÌVnÛŒùÝ K+ÝÕ>ÌUùüNwî­ ™Z¡Ì²ÖQ´›/Ö©/óú’ÈuÏÅ…é Ÿ¨rSfÓ]šÙyïµ`ú&c= úøâ^d.‹ à‰„Bx—V9ª¨ýÒÌ,¨Rü’¡Ç3Í®ÑiÃޔܴvC·ØäÆP½û®3Zoô ÐÝ·ÎuŸ‘;ø!‡‚÷&ƒ« 0ü¬àÓ0sg¶ëÌV}ÖÜ5kœV5Kl^V#íÍ3UÏY5ëÆ« ÝóÏ»?Eö@†yãRzÖàWß8u±H2£­¨Gœ:™ñÃLù ãÜø²“ŒªæMèáˆ!É3 Ï¿ãÙµ敞ÇdgwÚ·tª3ìzr6¾i  ôˉ*¥Ÿ×—àýåÖ„”j{|êÏŠrûù¢Òîj»ïÙ£d¨ E{âà…÷îæ™VsxÇúP™ß1›)9¿»¯¥zãíÖHâüëZÓ‰…#xî®G;µ„sAžRgx{VpÙçžÔt¬Ý<|—F‘g›o(<$‰vΤ°³|R«Ó<È@|3òÊ+–{T²Z_øÏÉÙ„¬‚¨':­ýgñoÌ­(Jž±Æz÷<$™Œê‡yKW+TˇåÌÕ]¯Ó—¶ò¬k%¿ú|±?Úuë„}Q)Ÿ çxu06ëǘ´0ïô¼Ñš™pâS3øR»ÖÄ•Èr.,E½3?W#‹¸øPn[QS?/=ÃO¹PvE寝73õ“˜iþ…œTw ;ArRdËWkóÃ꺋hKÁ*¢2ÓªÂ3bß°ö­UÓ¡p5@;bý˜üúxoþ{ -ck¯Ôõy¤eFC­‰)S%†=0a°ZšÃMcj£¾èrB@²Æï?V¸ÅïöìD0ýûz}Ö¿ÿ…vÞøµSyL…æ¯-ŒCò¯bÑ7~m½}„ºŸoV±”ÙG,À4Þž>ræ.Õ ûµñª3>©"E2©þÙWìz€hàöI/P^ýf}«6Jšœ“ÆêBR­áùJеð@‡¤”ë…ÙƒK¦‰¢þØÃ£0¾nRÀb“Õ HSTZëóHäJ€ñVÁõzÙ¸^ZÇ•XÇ…¨Ú&Mƒ\&ph'ôÄ®¥9<Ši¤{Û¦røüÙòÉåHZß?Xœ¤Å3xVñÜòêëcdëKZRWGÒÃ)ÜÀ5žGzXË|[Ìcp¦”v>ã&çUC…Å·|>Xéj>:M‰çì šN&j¯³x …ƒòb±ø¡jÈ ª7Fo´Soè îÃâÄsI Q—&<®ü=U†ð`„þ¡Žù¨¥ly‘ÿt!2 YýóÍÞ/äÇ‘ÒðÞèˆÇK;îg›LÙ±T´ùy5sZXe÷T®/ã×À Oí×’vZÎþíµ¢ðè?oe¿8‡´~«5_»|"ˆ0„g{ÚHŠdnñzȵeŽZ¢Ç*íTºiÙ”òw™ça´f; Í÷“³Ç{ê”AzñêI®ãtók³5YКQþáàȨ€½”T†ƒuÿ¬iÁ3éMÏX:Ï«^•Ýys#NßÏËÛ%©¸rŒW¨9Ù– =*Tï•%)ÆÜÐqdåÚhüe €èüzª;Â&_kµ2È=ë5þ^ŠÝÈá‚:ü:žèGÓ.'-u¤#9hâ <>§NذÔy|DÊÊŒí~>†52#d8¤æ«~$М¼ªS@œbJ=i0@¿šˆ¤bö5–gú¸£»(­Ùôza½<9ý`²®1Yœ$×IPõIë,àÍ•€Àù¶Ø4ókó“µKqk¹_99gÓ$õ0ËN[ÅAD&¢þ è‚Ã:ˆY{²_x¬oœT+²"ú“Þó]o¸r¬í^M²ç¿Žú¡ÁðõjÔ¯\iÖ}¿ËbÇºš—˜«°î& e„u®‹þ¬°Ã°‚ãÔmy®ì‡>óÃúûºÕ}ɬ,ûÙ9Vg!¥Î%sX«7Yñim¢Kî$cÀáÔê© ådÛ½”_X[â8K¾ûïY¶ f)­+!̼2UvúʸyÊO t{æ/JÍˬØSªIfaˆÒ5÷ªµ=h´í,Iƒç~U7~yÏÃm—kV“è§}ÛåCfÄw2â–ïd—rDÿ]Èllæ'oFÍ7'Å¿·&=ÓíH+¿³sYcIZZ…?¨žœË†3;m°Ý˜åNd¹èlÀËu!éÍ_Ìrô–¤ðÚ/»p×¹üùð{³+·ë-`z¤¸Úx‡²·…‚þÕÏRÕ…\¼ŽIäìQäJjL&(îJ‰¿  ú 1t'Âæuv=Ѿ"l$!e×ZC wÀUC_x•03åEfsåº I°héw¿Ù×kB¦$‹ñJ˜éšrXq´aÝ"ráÛ²n+ʶ?7²˜ÈÇ*<0‰OÖXÑ0½ YÛ õö)j!fx§íà§”Õ‡ÖñYk"x˜ mM×ôš5äâieç3'kH™¥b†«¯»F ÖÀ×ìýË—Ÿp4N M­QBé ¬™Ð¾šý¸s¹øó˜ÏîZ íôài™ì‹…â3Ô øùxÚ]#šý/½Äx CΤãi¥áƒcýTtøy…{?ŒŸO»ŒÚå^3Á-–ç’%ÐBGñùØPb¬o¾à¤°™u¼*±ùù´Cd±ÚŽ?Gw¼äÐ`¥6çÏÏœÏÈOjZdà`P¶¤€–t¢XÃ_ÅÁ[O‘ *X˜°‚ÿO@éæùO¨ÜÓ›Ù˜§IˆÌ‘Ü!ÜŸVå»ÏLªïãkh¡;–°á{MÑn¸ìï¶:(ù¢…»îœöZí³ó%Áãȧ{ÁVСò³û´Ñ;Œ`êÑÉ÷Û\­ê±uëÁ^®•¿6œß½Ì `Áº}w]NFlÇ Äsÿ̾À£Žø¥‹óð¹‹Ù§·Z×öå´oŠk·… †¾™‡tËhin¹em˜ýxÙG×]2xéUSù.ý9¢}ºÌÙ¦»çé³2; ¢MÝíd™<ë`‚aÒ¹ó|°¥Éü¶=´¯xAæ&±©áévïö(»ÄM ´æŸ^®™O৺b5qoŸO4‰mdþÚaþ§™OƒªÑâ÷E…ßx~jZ ¯â{‰+K4¸1ÙXz#A¼°º¸t`iº½…éÊxCgà^÷ñAw õQï´.<ãí5Z·uÏöXqP©ñæ¶ÕBœ¿Œ?þÒ|¦6‡÷u"’]ižQi@oëÚËqO+ùA#)1yXPÛäñëÂUfEàkMc|møNš^œgG©cÌE ³0¤ô‡€ôfcP ¤‰fsͽØ7ïOÝ„}sf —“ë8(tÆÔü]¾Ý5ogÞsè{5‡‡‡8³ùÕ$[R´å÷“å1–-çh)9d6ôù+<v¬lèóÅm?_.ùvÑ4·xLP+?¥òÇ‚ºçkÁ7Œ¿Z0ƒùµjØJ .s };Â7æod\‡wæ€Fòj®¨çâ ^þ9_ÆÏOH¡Rè¹à/šl#ZK¿Êíº£SüU4=‰¨`_™¶@ý8™tMÄž©& jŠ¢•D`àó‘ÖÝm @J‡Ÿ·KjÙ›nдTüYQ®€ØÀJbPFêó$kØá¾6?h )â&ÍX ƒÁš@º1’xÀúÕTÈÆbÂÍÓ¶`g§{¶Â~tt³óRÆÎ¢­ï°uaR€Ý´æ.ÿtüElc^zÙ¹1;„­4.kLb;÷Gy¯öܸ\Ø"Ò°™—´incB—­0'µCìÓ9¦Å™sÍØö—®ÛâŽXVÛDó.7–éŽúA&îKÝ8c7 «IÌK3fdJC™U2y<Ûºošmm3¥5­¼þýeg±HƒðÆ:\‡bŸX“ñ,Úù—×™H2JŠƒÍSyŸÖÿ~™‚Ýâ’LëßliKzúe4ûeȾ-+Wï%y¸³Ö÷ óòaw´êèhÜÈÂ×è÷<ÙŸ<à~¹E |ìêubͯO½1Z¾óPÿaéuk)-EŒ!©×òç,ûÀ‘ºðS©==Ýå ðͧK¨€îñj6œEê±<4$ni](а߾ž ãíj‰ì£}ìe hØ1æ;ðÇyÚ×òç´S˜•sü!SbTãEœVE¶>3JÿëÙ¯zíYÜRU¾yvÄ„ÅsZ$ÖùáP¥»øQ‹bMû 4²{ívã"‡ ‡¿¯ÉjÚÌÉÀÃN}aÌUai{ºïH?kv’ÁÙÚoÒ á´œ6˜™¯ïxèÏãýŸD+ÄC¤]Æ–qç›T¬Ž4€ê®:/–Òa„õ0¨C¸ŒCÄo´[Šp‹ÇèìIsõcÌ×d'÷ç9.¹¨×ètéà;" Yxž‘×-ìÔµ°œuýïÓôæwÓ_—tª3Až˜ì3{|ûß«Ý+ó÷Î&Ñ—qu'*Ïü:ï4®ž^2)åÔ³Œ´Öh§Æ3Ÿ ôcÓÙ 7Ðú|qn"¯RH¹v e/)¹Çºx’µÇëëÒ¯t¼á*H¦ÏG®3Žq>üC_¹k¤l’¿ Þ÷è4¾‚ÌÇÂR3ê eîÖò¥sÖ2™…-£Ý'g «ÛŸ•žÉËjV´ßÁ ý.Ä×£GmÄNóù½=<D5»i.ªé>~fUÇè½yBž}î¼þÿ‚S9Ü»_f]=søË3&íP™±›‘°‰¿?öOBã¼^~جýW8è¤'DÁqž:8¹íÃè€j»oÙAU‰ûÆáZ›æÑZ Y%gFÝÉäôÈ\L–uFx&RJ›Voe™ÿú-ÈÈ&Nïð ²§&ªÄX]{1 SuŸ~/ùWU‹vj‰ÜAŒ¸×ʽÿ+€µD/9'gIKô2NK›s³þ_6;ߌãÃëc-Q”1¯7¤n3ã=Ó0æ(䨒1hŠýnZ©Ñš+ÚpÏ-nÝGy3†«÷ª~Kždi -Ñó™1+s—Ãϱ"s÷Í_ÕùL{:Bn‚Ú­eØ#*ènïÉÎægN˜.½-ÕS\ÔC¶Þû/a×0{B§øç@ú²VU…AZM§†cœØú}_ÿfæ.ÎÈõz=ſĿïùñ*¼TGŒ¾àÛQ¸öT£?ËÒMßäd0• lžéôŒ\ú»ãe›7¹uñøŸ èâ=ÄL‡Xékîi’Éy‡q‘rL².~²ßp·¿~ùuûÊõd¦">¸³8Kuäp˜²Mã8ñA>™ÏXÄþÚÑ~±îAòÇÄÚ3pqs×Ô:$æêNÎøCÔßÖ(@írľRâOD”ÁOôÌÛ|dϼá8“vö“ƒk3˜J*í~zŽ—nÓ]ÖàÌü9õ‰g6<]D¦ ÿODK³ƒéÓ¤ßõºÂæ T‰Á(õ”:¥‘ÐÌÁÁ§Uí¨$wö)*Š>u%qoÅ‚¢Ômö½S¦öž‹:*û£ s¨¯—¯«o€jÝKNîðïõðT†3걿§6(¿¦:tNÿL}âM‰¦oêö55Z¬ÎcÚo¦q’0Õ³œ›“O¥¦‰óÃEü÷R=oD:ºŽǰ)e*ôPzÞ„ƒ*ïO¢ƒvá.nS6fÜÓ7£gãS½Ô=ß0®ïM ‰ ¶s^­Ûü¬Éšv­=²¦–âžBá韣L;šÂi@Õûpª¾õ §€y¼ÉÉ&~Îë}YçŽEhªGÇ{i@Œ-ºøØb `/=ѺwÆø0(*fl f ã*êÒ4¢rËîê >ÏÌOǪÞÀË-'^må’d5Mx_@)fxÇtâHX­P7þ“; ¾®uí/}Üì-±©Ã²­Ü‘ø¡ŽjÆ5ç‚þ¼ûPwÅŒþ}èò•#£¾ôQW·Na(4,"Ov9R/ÖÍUË*RvÑda¹þéžúÍ“Š«z†+jñ\íQ`½ØázzÂÉ\lxr‚zÊ:!wÉ7‰iœÄ¼Š=YQ§±\ÄvÙKp°Ì©(ÜÌ(<š=³CP|;V  &^³寸YP”_üÌÖØ…æƒÕ­Žî¥£{iÐÃ9}MÞJž^ ‡Ñ$I­¸Ñì ¡á¬ „´W["ŽmôPL¶êX µ£cuLwúùïËzˆ•Ù5lK‚öüÚöð€N4+-÷¯Ý?_ýÙp{}~ïÏ&yÞÁø6´‡sÆ“nº\zÜÄå(í\g‚@.\v¯U;©8íõ·pp0[ö«ólµk¬7¡ÎGëC¬ºbo}ãk÷ þ›— 9SÂ~p¶|]ŠÏñT-9B„3dÓ:¨Šù¾¿1lgΗդæfì±í‡Þd}çÇ{d‘c&_Nî–=Æ«÷åuãl ;RÑíu…²¨0o~ 2{:=v£Gå`Õ] ¬ý5#h¼Ã Ѻ““wÞ­\|LB-Ðu<\ó?ô‰ñÑééOÌ.mXå²Ó°ú¬F ¢«;„wF™_5ê°nݪ“ ò÷áT ?þv>1؃=°nW¸ÑY‹<ýf ½éŽM&ñ²­‰Qs”E îZnRÇ5íG4¹ÇsX^¥iÖE*•˜õ<¾Í⻼ÓÓÌ[1rÂwÈañ°0É9ßðT%ùuue“Ñ$±?X^,‰I„Æý¬=!·••šD!ÂX Õ.Ä¢uç݈(´Ùϯ¾Šõž…3áˆu€‚|Mí`Ÿçê Ú 0[´N›Z¡ðQì}‰–\4ƒxV§¨‚ÒíZSïO¾pQï+bÞ›@[XåþDl’!L]Ý™fYP†#§¡>Ó–=ÏÐâÒtH†%´’ëj &ÁpU"wƒÖ`¹jÓ¥&J¿‡qíÉ ë JÀ µÆÆ-µÃÿëú7^tËn€H%BÆÞ~³˜-l© CZ{ü²} ü€¶ç‡g—ôø]QYÁjs²ê:+@=€>✾+ g‘gÄR&p™G8±K¯Üàê¥wì™XzÇ•Þ5•8ò(«ëE¶»|M° Â&ö¡ý›T©&Ø]Òr3L‰.öö ’‰` Ø^ „Eª˜¨LÖ,¡Um£ICOo$ ²èdÚ*Õ&MqÝk0¯ÀóºÄ:Mez|f˜}Ù¸:2Áá'”pŸa—Cðë'rÙx¹²kŒc~W0,áx@0^¯¶Ãè|ô°›ÞÕ›0^_,‰¶EÙ=ÛFPÁu¿ŸluN€âK—™°1=ÁÁæ1ó†"„=¶Ÿ([ÇëŃÁ›¤+4·}6Šù°•ùõo@y+An“‚´Ò, ÛÃ%Ø]xÂÒ"M#-8îî/¶gOHp>X½VcœÊF¨¤J°:™Šcüùôðª8&ž›è{¶ÎîþdÐdtr¯ÂQšB™b³Q@CÀ©8}¹ç:×@2w ¸`¥ù÷¯FXˆtÄé‰ë•ôƵ)Õ>VÛ²KŸIˆ»ˆúP@¤àAËgRÞôíP(–K-Üd§´‰P–L1‡mrÿ~Ã@jA jzè Ô^­§×“__ý߬ï€Ñµ#˜ÔÈ,µç›äu4-Œ¦É4ØÜÜ1ò‹ú¦F ¦™7ÛÛ{a¦H` ÀÂ&,uŒÂO ‹à©|çIàä©Þ­»¤¤ò#¬Â|œmŽpÈŽñi»À‹‡àg~¾Ek¯Ð\¾¢tˆDç"».ŽnÖL€®¡V|Â)KMÈDaæÍK˜JŠE;®«(|9¦V³›R.9¢óùøŒ8ªµ¾¾ieö§±i¢¤Í‘]ã0-âÖ® §Ä‚Ê0¹gµæT4¡<üHd‰d~ÒE%…·Áw„ ŠzÈXÍá%šð ¶H£8ßèÐg<´ gt­ë^™Ç lnƒ –€Ð†Gd55ØÁ…Üä•eܑ㕮¼užš Ó´˜HÝþá!¬+;ÿ±­ ñºl¾3rÔ™?æ‡ ãi“hÙéK¬›„‰¿eÚ´ ”±Íag;î‡=Doº¤ê/ÎîKŒ”l“æ“FŸÐ##Þ˜;"Ũ4¤úwé·Ùíþx¤k¦¡°OÔSoè²3ÞÅ~åæs{dgº?§òÆ´§ ›ÚˆKiÖ1g3c|ð߃:$œ…4RÜÇsFç¼Ói“.EöösêR jÚ¥gÆB« ÆÄx(Hw*J£3ÅÙ'´fš×ìjPéY{…OI¥³0ǵЩù'¤§?ÓÍWyèNÿ~q¦æÓ½$'õÍ&ÑvK>v]‰ð²„D–õ¥¥k¹|).ªÊ¯i7îÙeœ …È‚C°¿€éÔ:ú¸²5rh‰õ¢7äc½¦Ñ±Ï¹¼f;Í êd'Ó°ßhîL¾Ch’‹0¢õ_@XC¿Køeˆ15>.5ÿ=£ °fTënI°ô‡iÃü"ò糚‹iƒ1D5"‘š£ÚVîÐîOK—gXøhaø›µv…iùðT“^Ïg:·Tµc’òûÀ[‡Îäâ÷³T¹hScíòóç«ÅÓìàÊiVÓó°¬C›þyÝg Ïg}Z>}}Ö¿?Ú,H/Õ¥œª/ú@‡œŠ•  &K‰Žzi1‡ +AâTç !mªøÚ\sļ_QŒR#ש9Reéü'=XÁ ¶LC²ød1I †Jå³QVg¸ªÚOÛ-¬$ -6¶¶tƒ»’„ŽîG7ïOeÝ”êŠáû†Zî„j1Â)t!( v™AX‹. I £*æV²Ý iÝMO‹Cˆ'æÀùês¯Åÿ®ƒ„ º9+Ý7^Öý¬™ãééìŸOÎ翈}ÙBÕšÁ#ÉœªæhB®&½n«½*á4VnC­¡:uÒçg25½ã"@t§â\ ¿E®TYôþi§¹ÛuêÿþÍ=Û}&¤,f9nº¥”·2‰¶gÆqˆùÊõ7›úHUžPßcÆñÔùr}Úåh'ïO]X{~OFTUtVØ>Ža%iÚÒ,¶aÛJûU¶|£{¾ùó §DuÑpÂ¥)&¦|Ózt»™Â7a$ÛK®@×"¤—u6&¸ K¢@RüØï¦`wÌ0»ÜÓApKÄÛdCõ±ƒ7žâqzCUåø÷nôñŽ©Ã›÷ïúTÒõoå‡eý†bàþ¤½),R2‰( §¹Ë³LË®Uy£›ù…%„·Ø5²PBe`Í|ÅVfûèC+Ó²sÁì2Ä*HJ‘éëjãþ}ý›¾[ØèÔóåÆcêwgºÒâÑ_b!„a•nû²++”®Þe¡«.±ÏO¥:iÃ~-⊸b*ô»Û˜V: ŒÇG„Ôc˜s7Ć©ýñ©šþônëôNåÀpê8Y™¡Só;Œ²ₘ_ ýßngqbK–U.ûXËøÇ GàèÉßlVs}<úÍ™o¬Ö¬¡£éàÔ6›|#PѨ5=„Ѿ!.ÏÚ¥T¦ô?a#À*³“"]¡¶´Ú •\ ¹µÍÀ¤öò‡kí ×Vàè•L¥¯q´2í9»ŒZ.%„a±€×B!9¨8Lt›Â>ßp9ÞtØKÇZs‡P& Ю7_03H#Èàóßß.Ý8¬…Öä¼mí¶&< ¡ØT@¦Z£–Ï}ռ߮½-.3‚cu>¢Qj€-¿—°þ¯þ=íÐð~ <*™ ÍQ„Ý#Kù«NܶÐ?Ö<ÃÀ#=Ee±ÂÍìDŒõn:µuº9Š}ú†ÜIo" “|©‘v7|x¬ÔŸì«A=ZÓŽñÁÔ—N%y³$1­žAîÈ6g™7jéðwY £Þ%ÿjÙƒª±k´¬ýs©±ŽÝ<¦¹.Çj/ñ¥'ï½àì†},h]X™ìÈ×7ð‰§­q´NqoÒëäz¿3^gªæŠGg¼X¨gCšÐ¤¶zÇ º³Îx7+º˜'ì­ŽÉQzO b€p š‹Qgd;˜¢¿€9iêLwê'NëŔތ nré;mu“ŠACŒ¶ÁÉ+μõƒÎvÒo$Ë»[u<€3O£º ó –®1¹®©Á—TÈ骕ÛÞ~Ô…Oû¦5zÑSá/º…Ð`9júš¥=—Š;ÒöG—ë´§íAgôZ§þLëàË¥˜·Ìmî|ÒqöëPyâ<§ÞûžÊaM̧:cáŸVyrè,¡Â|ú„ ö½PÀÄ¢#0hxÂkP3>>lŦ’˜1+I©þEÈâíO‰·¥‚Æ´‚zCèy4Ý:µ»½$¤ºÞU™!/8_Š?y$2¸qÒ}³RÐ,ÔtÉ–=öá´n@±BÎuË$u¨7IvR½Ñ·#SºôËyyÓi6T—3ÁЭpéó¶Í¦êŒêò²à¼ì6{{k4³µqõ¸ß¤ªûµ‚oý\ÁÖÛóû®˜¹ 9—n+ó1/8hì#ÿKrßv¥ÃO?ŠRWÓfª4œï}¢Ê5‡”jÏË1è}¢ÃÌI÷ þ”ÊœŽ(;0ùóëŽ)èZ­kÞ³â£lQ½ñ‡#>T©]F•RPÓ†Ô™Ä-¯§ /`×c–3 ‡Ï”€aù=­8vפmJXá7ÎPi¬E.K­+Xªmk]{h F3戒™ +Ó“KØqÌ â“]Ã*ó“W<ïŤ’áG {<'ÞÃ궽̑>ÝCà˪ÏoƸÒúCAŒQuoUŸ Èz£×:É›(UKì7¦»Y—Zù<¢ˆÊôšNðá™RÝ2ì†Øu@´‹6oÉXŽ1d¿…ºs¿í»&¿ƈ⋠ës¸Š6XW ¨ú½U@C7a"ÿÂTHÙg¶Û•¹Y+¨­ÈO<©D˜_ʜÒó:ʧtº¤þåËÔ~œf &Ÿ˜ë.€/+JËUúòëFlöš™þï‡guF7• åJ0㵚ƾԆ YÔÎ\Î¥]ιö”öæÐTÓ¸V¨CÒdø°YÅ ƒó۠ĘáÔäá™! Ž@¼§ý8¥.Q¹¯=Œ®îé¤Gï]º§ë ·×óZô9snÝ»µ¥uÎ<á©y&÷ô=_>n Qüºž>tÊ®¾ÄÌßÖB”7/\|§¿ù¸Ýø*+æ«®X0—ÖLû‰—è…[™¡ÔN=œê4[†VäÕ½½˜Ë.w8€®–®=²>™ææZ=¯•ÔŽ˜®Òº—Ø\A"«uNªP6?‘Ò \Š¢à¨6W+tÀ9Í^÷tÀÙ×=°Ë=&ÅÙz£j×h5h2\o«‹&9¬{k‡$i[:yE×Ó=±ÆïOk14Þ³Šª«nMÊ+Ó‚/Ü2sŸÎ}[<÷ªVש_S"?᪠êVò-ƒZ€¬ããú·f"»‹rIá–ØýóF¿×ŒŠ›^÷­9*NDÁclS—·}:*®_’`dT¬¨Ô¥F ¥@êvmc*Êåu¤óúÃYÌÍzÒ9ôÁL+ÎÌK-‡­êe£¦oú÷•ÛiW1€OpÑ‘á)|Ó.™â*jòÌKµä‹fÖã–ÏÚ¶Á ‰8×Þö{Úi÷Î&õK±©-y–=ˆÉì?ëóõA-…¾>gˆÌï¾}†Î¯çšŒ3Ä5»rb) Þ;Ac!žIž±Á\ëè ©mž´‚®>‘£hÇqG׋k: +µ%M†ÎS·˜V¬y]ÅίKyòùr˜•Ï?oðf?Bç ñdOwqù÷©ïË.á1SúÒtè ©6ɧûXñ†It­•9 ;TtW#rîûtµv¿ïÿ°¦—aí ÒË0Æ$?h_Rk2á'Ì$*—ã=2Èuž©(ÂL¥r9é•HÏô8W¤ÏÙ¢î-ðnÝeìÍš;ÃQx›¦¨™ƒ®ÊöIºYöí\;¬{rÌúúª/s¿£¨—òÀðìf¨#•mv ºàð*œ¿ž ´=6rY;“ø¦´êþM"f­2E”rŦL"蜮73>X5ãcy–CÕ¨X¾×þ¾¦z†f­À;ÂÉè·cõŒÅßHfm×'ìé$1¯Ï yR åzšÃéz¥ó¦vß´¨‹ˆ*©]H5i©>Ÿ°ÿ úaÈÛQ™ú°Ê]iCåŽEÕ«M˜]æ²¢2-ë‚;Ó3{_*QFØ.:¿?%7’б÷¢ªT¥ÒºeRjS%J{½3ÈžÐÚº<ª>îAi§¾®ô]Ã=,NwZvñ^×üý굉Ö}½»bê…f˜×|ên­f¹=†g5TYZ©\µƒC}‘®3ZŸÇ޳®ç–Õ&rÐÒ*Hɨ½D®NÖú锣+÷ôa™Ý/8—\ÎtÚ~óO÷|ꌕ¾‰{>…Ý~ã—Äžmßš›î(ð^½ía†ßü´c}­1$Ìñ5 œtÄ* õ@°Üž™ó Œ£Nk_1ܳà ö$sŸäÄwZ"Õí3¤iOßÌ>ÛSø“N™€/O`¡®­ÿ(k¸ÕU Þ?oˆgžðÅXf&Œå7žÆ`_vùï™aOa© N˜ãS?Bw,Õ[ìok®É7$.R¹ÍÜXêDi[Õíù\¨­¯5b7)ËÏloæöQYgˆ§º]!½ôÁ­JZrC÷\íù)$Ý ‹ ÎŒÏz$"˜ÓÀ™½f´\ÃÙ{òÌMgëœo.q—†¼RÖQµ@Áxo™Îù¡ÎQŸ×Ûyˆ*ÌÞyf·3§ au{vSô¿ñQŠ«3Ô™ý+[§ºà~Ó*õŒÞ¬šCÇ*»‡Ž®U=¹Ò˜©É;JŠ©Öj9¤! °æÜÌ-!ú–_)'¢'"È$Ô$]-Í©Ãnº¢vhÛ_‰Á>µ?Ž|)×Ýþ*Ð4Î%Ä všÁúC³NT$U)äß÷X´ÇlÇ‹ YcÖ')ða‚´º¶¡L:üäF-k\¢€–Ȇ Ó½¾D«X_v#ÌfsÝo`ºßW[ÔÃVÚ-JÃØ¶«gR¾0zŸFó/8T-•ÕIÒüWƒ•µM¦ËcYsÆhr–MfW\þìÑý0Ð@Hm¿^g'?Ö f4þ;Hr4–6€Ð"ØkaÌÿ¬U¥êÑt¡Ô:×Zô6_L:ÄÕË"îl¥‰lŸ¯k}ßá)‡Yy'Ö²t“²*Oìn³Ú«%wÞÏÇ*ïÚ!ö‰ÁÕ¡ª£e;ZBö¶ YDnÿ!‰Nëf` ŠIƒ²m»zA¯lËÏ<›ùË£7È®@Áe˜ÎÍ¥š[¾™ÚݸŸ™™ýEù(¹>¾‰œþhÌ\Oïg;1®àêªëƒ^xn’†Î›ç ke1t†¡êCËk îÏ{;ÓÌ$éGMC!1Žü·dgÚà_Úäöôú²×ÔKû6ˆ,È®:¢ðØ?ÿ}(©-ÆÏcªÔ“’«Ãª4Ç`ʰ€Šeg*M•ú' —<œOkÚ)Š®ÅÓ'Š/ÄãÉ$r©ã”®eb žå2Pÿ µã´«žVm´ÇKB`ÜÕ&'n',˜'—Ómœ¤ëéöMAïåor¹!g–”3CÍ0šåêL=-ôêσy|# µ§Ýîô77ôAŸ™DÃ5·Œ¾WÁJ°[4Q—OËjö=ž‹1ÏVžœTnƒ¼/à~ z¤ÛÜg*ç¦ÝqŸ¹m3mÄ.ò¥NÓF)›rã"Ùãhï÷Ã.ÑDF #dq™›c;_’†¯£hÏ/xþ›‡Åo˜x… d«Ý„,r(À¹iµµm¹8ÝNÏ—^ „§)—&)k&»ñˆ”Ò"fm7˜Ö–‚¦”(ؤ®@³ø™,dš=S©6œ\S ¤uˆƒÚ6Òêt$Ž×¶ë2|)]«/&R®ké²Äø“ö½Ù“ïšÞ>»ÓlÓ!³Ãk ~e+6m ø6«Æ z8×¢9ø™G°à¤§ÒÙæm\z–96Øçq©°>r‚H§xàxþü0¤Œ€Fî >õÏß:üü(.oþ¢¸ãÚsñéZ®³4ÇGåâçó> ˆà4ü£¡o·ÂÌD—– 'o=šžÓš¦ ÑäŠ(i޲MÔºø½î]Ë‹y[çBQz;Y¸Àœ›:Qõß=H€½±dÌ8Èb½üµÁ§càÖl—·<úMûúº¾º ùÃu×qä§ÉѤZÀ¨Û•B&L¼yÕÃÀÝ)Çhótù[4iM'-˜¢]§ TiJ¦ûRݹt>î:s Ҳ¢)É;;Ñ7¬H~ šÇôKêOUç;8éÝÚ… ­õ ¤³Aæ.PôÛZ£s)ýw¬I³[ccÖpFþ`=(qCw,JO@/o¶½'Ökˆõ T5ì³_¤%t65ôÈh¬Ñ²YRG†ñ2tAªÆÎ/…HóF™C©+‘6ª®¦\*R(Ýz DM? Bížèš`|õfëtz0ðP$1³£;~¢¼¥6gX›»aiüA²D^XpÌÙ~‰mÛ™+Ñõ9¾W’ô‹a¹ L÷ –,LaA–œ;Žˆ®,Ÿ$lq…Nes"¹'¿;øšÛ3ÀSd¹ªD×ç5e³4J®Ë6R—›ä nSÁ&Y[*è][HvgloGsÍ"»´pe$_¤+-Ê „$í“°Ë¡L±"}Ë \+oI‚áN_PõGn¦ˆþ9¦"]2†¿Â$àÆmXs«=]šSµ ¼Å''JæDñ¶þ²'ï L(®{‰´P¼ÛíA(¾Ýw%á=]·4=Ô$ŠY¯ö‚‚ÏææÛ[Pà‚Fíµ×Op¾ýcr>Ð¥db¶ ¯tÅCc wŸâ¯O½kÃ"êx‡m´¡/‹)¥ãX{ÐýÔ™ˆa¶)ÄÛ"!ÒGV{ƒ<*YNäégI‘þõ‚žâÅ ñHÖ»ïó6 kçŽfùv—¢O5ž®ÉÀó+ÿîèd—¡„_ÚÏ/ºêÀpƒŠyt<^)ÏrOh!®ïðA”U>ÝD#·í?£‘YÝüIévê’׆’,&ÃA^+0ÛÈC,ª¦Ã °Mdt¬ñ…QIÖ1wIb|ºe:“8¸a¿Ú”v‹CaÎõr௵PVÕ§©æú–ÚÅÞì}@_®›ÞJO nwª˜¤ ˆýjÞ!4^özÐÛb•Ó—ø!gv>Ú0²ÛÝá¤ga¼K^ ðê¦w´Q&T°© Rm¤k¹Sô9§§6­Ô€¬-Ñ8õ£*SMàþ·EVM"/¶5á’é}>v¸ì_ ±Y\é†.«£ïD¢qœ™ÑWé\§²ØWÔˆÊdâ—äGл¶½´šjþ“æµtÝ|y-s #˜'‡@µ>û{œAµL¿€ßØê‡åÚ…¢­ŽÂÇH—&!Cš»`4\äy’bñôŽFªë‘+ ‘Tw¼NRöïaP`]ñœÐž´ˆÃlùq-ãâúe1Îxþ¾üme׉F8¥6ÚÕç)æ@)@¯»pú­ (~/˧„ÕU«PxÙïlo¸–b¼4 ³ûk‰îò¬Ððˆ§ÎUx„fáv¯bmWŒ'÷€‰Ë9ìóI7RýíF܆šÆfì³ãmz€8ÝÕŸôøäK~‡ªÉØ´s­ßÿúoÿã÷Ï>úõ¿ÿó_Õ m¿ø¿ÿýÏÿõÿÖ×ãßõ÷ÿŸÿ;ïÿû×ÿõÿj¿þªKž_&r°þùÙ Eº;ñó0úEo@è‚Ê|´® âíº´ªX ¨±¡Hq,K€iØã¯ýûøí@ƒ@ÑÓäv ¾þlaØùZWä'ãé’€m6¬ä&%„Z§çÙ°~(ŸM?†ô8ÿ8ŽŸZ× ­µñåAôzvsÑcÏe‚’bX‚øVÿžStj®×ÏgG7!L.A…ú0y­§tÈÓ®õÞx+¼Úå[r#·a?÷7¹lhw;ƒ&e!êûÃñÏ3î×sߢ»6ü|}¹+ >Ì?p¶¨ÙoX¡$…ñœ:X©#Þ   c[~>è¿÷×ß ºÌh]ÿþ²AñÌÒvÎAèüƒõ¨µx’I{únuƒ¤p0ÈGëĽŒ0@­‚!×(ÑdäÍõiøùÙÞN¼÷&ÕH$¦ÿgß²#É’\·ï¯¨%g!ÐÍß¾Q-(ÞÁ…Š!· hD@¿¯²óðÈž¡@t.æb¬+23ÂÃݞǎá½sç ¤î4NÜy‡;mšgs'-ƒûÆÓ8¢s_¹G)pëzm­È3(å€J ׄêŸýñÍsÒp}Å3+èG›u3²5×$÷Ívý‰ ~5Jp¾½üüþ®; e<È'È^‹Z¥€û¹Ó¿m.G 9$!á ª””z”ƾà)4Ö;Ûº'dß#òÜ«Œð$hª½Ûʇš\¹×[ÇÞË= 'Fò=»ìU|9+€(ªI–g\Õ_ôE6ÏYlž¨iuÇr/GÊÂScÎ﬩µèg…Ìëñ„) |6À@Uoañ=¡RþÅdφ<­…s ¶zª¡ÅäÑ–™Œ)pÔ0¢™2€¬í2E¸%Í8 ®Á÷/&Tz­ÁéX–°¬/#a øŒqþdMš®‡>‘o5à©Ü¦5Ð}â|æ{å4ç/æµ'ö2-Q ÖØzj¯kï—»÷õLåõü[g’© 忢KZ2#Œ>Nüý µùú‘)÷ÜYKh3d å ý`h-’ׄ<øwè‹¶TYrœb4!ÐRqP¶I-jå F°­;@u5åÂoÀ[h[–HãÐÛÖi9å¤Ü|G|æÉ'@f$Kw˜Ö~«šóÉjµ$0”#li6µö±%êúá±L}r¼OÇõÖíð‰º-Û¡–> H©À£ FBi§y0=-dzdÎóͬB™öX˜ø+ƒ¶s¨ÞR HRß\úc1ÕûùCã°1 _X¥=¸SŽW;ot­rçé[^õ±yC×oîÌUµ°&Õoñð­6¿ñýç*aº%HCîhï<¾×q÷Ï;Â:ÐÞdí¼‰gÞÂTÁ›i1IˆgÍÖ™³øà¡pÔȲ‡B-\0 WqZÃt¾±žo¾Å+#C„ë½Oðw'ÔÙ*.JÞA£g9Å×÷gïmxŸ,#¢šô¾³„y6Žº+‡g4O­…åâÐÖ’7ï ú, ™•ç³6i¤| GE>¢vç±R}`ëk¶ ð¡Ñ<û®²C¶™× ’T¾™ âó±šK‹Uœ¯:°ðüvíuªß»“pšé/ÜÓ«ÓV]›ìÔ¹ òXôãàhêgÊ©Ãö-3Ü.Æ 5–§vÉú>r÷õä•  ÞÛMä‘£Ñã+÷ͳ@Txúæc ƒ{·¿ÚÿÇO„‘k…ˆå›u*Gà™¯LuºN#\‘lo-½VP.¢ÝÕZœ–Çùÿ`Ïä*Ù×ÉéÉ®«¥+÷‘ÖLú`ãŠê;˜¼ƒcS¾qÛ.Äá/NßÑ Ü-wÞAè¿úó4/e4? Ö=^õ¯{úî8¶‚Ot9<}yÇÇ9VC‚_ið/4ÜÖù/P)Ó«+ÈØ :8÷B;íèZ¥ešúFøÎæ@þ³_œÔ'å¥ÀÆ;>×Óí™+(8D÷ŽhÓ.­ý…U:õçU›íç÷šÖöutí‹¡÷¬ë·ß{Þ±»e3a<ø–ÖI§q’ß°Ÿ³€©%´\eúŽhiÆ~yÏÜyÞ‡?/ÿAÅ IÇ[nz Ø©•7ßÓ°VnÔŠ\ѶÒbëï@"X"Wà 2Cx+.‹® yÙ2ãƒ&hMA“Û‹½G•²ß{gÄqñ€hjª&ì…¥j÷ýG4°Lb’ÿ¤ÖœÔÛ!´h'öÕHzþ8‚A”ç ¤¼}k]Ø—b9Š~£mijÀµ^ï Ÿ‘É(ÞAž…DzZ.{ "à‡äÊx£úzh48,¥Ì´$Á1mi‚µòàL[¦<=wÒc Ù¡æTýâä/É8ÿÅÖüÐW¾ûLm)Ó»/àSifÏ ‡’~ ‘_×ÙÍ; pü½XïÓ'š¶…gÕ‡(”»îP9–íÜ8Ѱ²L YãúÉql ݉,¤§Úèq4MqÀÌ‚ï;tW¤*\Íß /´yö›ˆ„›ÛH@…¿!s4YÞ7ÜŒ•0K)³{²!Ú¿Zœ¶1ÙÅ÷fÄÌGÇ{öë´¦ýÀdx4&CÃP#!ä|4P ®²æ5ˆž¤yf°«§½IÆõýÆ Ñø^€Øÿ‚ÀÂ)`œÀ¡Ï/zÞ³*mعM™ ÄE  •Ÿ×꛸ú 2{—¥× SÖ/ ý‚T¼ÒPûg™ŽÀ±“žYN¨°FÊ¥ýä·Ñ6Žcß™Ïu¤rms,EõÈ”Ó +ÎÅG¡ol¢ ô‘r\;øþ¹îi\´D¨¹b°bÁ=ê|k•—÷:³uQ|ºèÙ††ãtó4ÒÃiÁg^Ö‘ÅûªÊWnŒuË"/^ʃç—:¯å»ü ÂxjÔ‘!7Z.Ÿ÷Í;ª®leFÄü¯ð%û4.ò–or§œŒ±[ ­ªPàôÜÓÈ(m^ÏtÑõ÷­mîý+7îÜaë<èã v¦Œ÷nBëürqáË/nÝ‘µ¸®oÞ©½¿úÌl—ál^î´dWcãðwÞ°–¾; Ñ»÷rSôn¹Ž¹¢Ñ蹞3†žïcíM¿ç³;e/ŸFÙð‰×_ØÊÂhLêÍ •MwäJ×oïÜEãÆPÉê¹·kmêaø)rU¤y½õÃè~oiáJýÑí­ku{²ðL5B;exuBþ#ÐðýSû€G^LV(»Wš-I¡†Q ¿À}Rí+î\œ®Pî­¨‹\ÊÔ`V Ëäè…ļ§,Nèlx•™SÁ3Ñ2uïeÙî5aäv¤êtFçËaPŽ"Wù‰ªÆ•à8Æ :¶ÑŸèýõYÙzͤT4)A(?å í5V°Î]å}¢ij{Ã˪Ãq¹PcqSÕBÊM‹ÙÿibWnžÐþÆŒ¦³Â»³röÄ «g²eš|QÃ3­Êo‡0ÈœXWæYYàŸy*圅;âõèAµKF Fl–ŸÄ¤ _€š+¹Po,zÕ¡š©:ï`{QËlx·Uía”cñ­º•Ÿ?Dù…UGÌ´ˆX2s6«ÚSwùóÆÇrcmžž) ­š›²ïÛ‹[Œ±Œùú4Ÿaanáù顬âf=ÊÓäCj“2í@š§yÞ¹bH<äõÅ< ²`ÁHÖä÷ÛWæ mdÿ‚ŒªŽ²÷ NÜO¶^Ô’Í,¦ „¢ÌXy➀gÞª¨*+äõ²Æûà°âP4q39Úˆâ’5@Dè‘Èg¾k’§sºÎÌöé$ëäÙ8¬xL7D²u4åŠXÈá—kp€Ù¬mQ,€D‰ ÆPí [®±9» À|Áî¬Ý9šçDED9¶d5òb~qœ#«ûÌ-"Ù¶›ÉèrQ‰[ _Jx÷õªxúl¬F4Á°F §ó™1ó7‰´PsU#+Èå„?¢ßPŽ)³î¬Ó:‡ªº©ûòwVH§(:òû _\A%éÖD±ó&Ú™_Q¥=ÊÖmV²—ð ÇUU¸Z&Úgù¼ÇOúb¢ékI“”,ÄLguÙ•2½õÒøÅ)ˆü;5LAj£˜±ä^Ÿ>ÍŠÉŒ\‰´óœãÏçŽ2…qãÔ윔;W 9ÐÃÇT'è!WÒt朳ˆ±æM÷”™((ÑC'»ÎÕ¸s7Yyv…æB«S V`é~ð}ÖJ¡åëZóRù„êVÈïÏ}:5ç+°y²tJØ–Vx‰êyGŒx ’ryGˆ¹SuSÀºÃ*÷ªÃ•°Õb”Z˜ ˜KÑL!~c®±-!ûŠ2º Ôõ) mDK½­}õg±‡–'ÓŒMé@Û8·À9õÆu]ÌJÓ Lѧ?D ÊDÑþђΞJ:~s>„z™›¸}Çœ½s‘>çƒÉëãU¯ë'=°i]Z'’‡¹ƒÅ–­s>óO¨˜%™¥"uÅÀËg?4þá*V˜‹º@¨y<Q*DtÎMÿI”Ï F cRÊÏòä0Â[…xOa“RÖOÝÁæ*/W¹ùoKhè '5(;·´cW;å7®þh/`$&Ä0}Pæ_ö Æ{ë'tøâÎã°Õ×–t~:š;ó-½l'/bD±ódÏN<|kªÃæIØŸx†Jï#¸BµÄóÌ•=uNs…FµÇ¶ˆß$R€0ɼcj³Ý_ÎåEï§8V ¢›t&_|†Æ;ð3¯œ ˆ9¹ÌËr›c x=wÉñäQÆÙ«7“Wã W7Xîݲ5`êô¡$GfS­I‡H£)šÃÔåð¶+À@$Ã>6þ!öbÌ3tNå¨ ت›¿Æç-€@7O;ÜQs˜%œêbȟ˧ýtžË¡x Ú·S×£+þ¥Ûái•[þ>Tä`~&DY«Ê¥ƒëxØ/0=ÃäQÓ%ƒf`S§²­Ó¸ÛshY4›ô»d]b¥Ýi¶KCzþ¼ZFÇ¥ K}nEg²º¹¦26sk(ž ÉK›µnГ¯W«r/s­ç¤~rÐÙ„Þ_’C;·Þ;èÄ I.£›iËü÷m½¾‰¯òÙ˜DúìPL9õŠmC;åOaf'ìÁåNy‘‹)7>s±%šêߘúÅÅÓÙ}Šr©ã&»%îùŸ ºQiÊ¥>OôùCƒFg3|1¾al@BîÒÛs†5b,°|2õ]xÑöj dGüVm£ßÂÚôPІñEO›zšY©µ©u5ƒiÃz$ObZ•­à[YF¹¬E¤p(«µÀ×Ö“7#È>aÑ «EˆOÜa£%ù·í2)óÆó¦%⪯É;¾Ÿ¾C#À81£-{æd¦Â¸¢égjøÆbKÒˆ·¾–Føëð3§ÖXÕ™Ð×FŒ-¾ÕUïi\D3¯›3š\µk¿Õ9 ̘m™¶qG”O-â±…L¹Õ;¢·’ù탃^¥Ê!Y_sŠŠyK’Šy7ÔW—Éf;ëèÌÜåjmæ¦z–S²¦ ÖgÉóP8Uô»ü­‘Êîl4Ñ`Ô’PŸç€?øäK;‹ó5mí ªVÛ‡µš!RUÖNqKÄ_·#ôJ/¿GèuÏ|vj–êȼ×f–jUb˜+>œàrì+eô»1Ì0øõ¶Ñ— *rÜ÷_÷Yí¦è c|e ~wàåb še¦Ød•:/óE 5¥xÃùͶ8ßH””O¯Ú½ÏË¡öÔ/ ‡bÅ•:ŠÓ@Sf®ÿ`ì X))³êÄåÃïkF¡rnYöŒ¡òu0(.‚ª@®ÝåzvÇ­usf°˜pÐ?5>ªùJð}ò1Š=kF]ˆíOÜS!"‚¸7Ò‘ >Ù´û¼àX8±á™Á“Æ5¨^ƒN<- ~Påß'«ÎçÞ9]òËŽP¤žn§±uࣸu)NEj¯(“î „­ã«‹pºªqsèí ŸJ¼~‘û gn空^NR#¹«µ&H‰Wè¥\‰Ð`åý ° sž5IlààœÍññƒîxr£NÌLÅ);y’¡)ë3eGè ^\MÁ«¯ƒÔðerˆ8>sŽ û; žÌÛA‚(7¨¸ 6€?Þ$`¤øñ'Ü´)W\¯c2X€V’ Dø¬13¶Ð=à9Ŧz«Ó–ÜKO˜“÷†*»‡ƒè¯ŸJŒÔ¿Õáq˜õš`ò¿&MZ)þ'JÙ¤ýËíʉ)ƒx£›—M“\Ž'º¶aXȦo†…l ›ó÷ì±%2™;êtË$ÜNòu{@×!ÓÝr.@.ÿ´Ý×Ó"™Åõ~ܨ‚¬{ʆ¶°bô@7Á·aÀÀ>†<.¯Áz…8ìãÒ¶Žx¹É)¹qM™,;L®½®:Áì3ݼ+yK­m>cñšä–èÝí@ÀoÜ!ÀórŽFi¢û4}PªåâóÇBÌ ¦Ôìªvá'ËÛƒ_Ûm »¿¿liú%‹TÕÉËÅáK¤+‹ªÁ¤àŸùéÄÈ/e¥Ö*ùšðdœ#Rͳ2‘%©n›šôLÑ$¤ vá²høóẠå<É™aP}Ä‹Ž&ÅˆÈ ßlX¯žµ*å¢{Ÿ hÔ´SHèÙZ§æGi'öD@OO={Â;fq!djšƒ^ì¼%šÃñ†C¬~‡s Ç¸K‘‡nè”ÄÀà‹=¼8¿{¨ “^ 8¥õ|´ç«>¯ÉÑ‚} ²D¸níϦY !f4:ªÝéï†ÒvÊÃ¢Ü•Ý ‹mp,ù0ü—bû¼Mœ·£©1=ÀæÄg%ì²½4Lº5Ûð›Aù¸1=w~/Y"Kœ²ìa×€Bšm Š!ÍkÂ"©ÿrMŠ¡ªr!Ê‹²€¦„ïw·<´N-> uü¼Š—¤ìonºª|†î¦«B×®^ X¥ûk½˜9oC‚Üe7Y þ½º9wRnWç)“M=_(b­J+ÐùÔÉ•³š æ [êVX(¸¢¼¥/'DàR/µz™z ýf„sT7¬rÊÌ[¿<øËR¾}ó—'/îü¬*øËÖÅé<ò"ür£1 âBò–øwØÊü2I“-^«ÓVOè±ç6ÁZ—Ÿ¥1“åSJ4MYPÛÒªžFe[Øõ{ºÝ<»j~,³„ËšuɯÛT6[§r#MÄo5P§BªËyŸÔ=ÒØëlšNÕÉÓV¸þCCå¡Ûgë:(b§ØÙ\›ŸWÁ¥íÔ0‚iaϤ..¸œŠž…ß‚MŠ9Fþ…ÎO¨ B¯xrƒ“Ž«'oÉ×Ü:=¼€eøý ò¥ÂPp9Ü|$³ÍöVDÐÃÌvVÁK;•vβE¢Ž’sGå`éLÃUåáh쬡œE®:<Ö˜E¯*¨AÏÃñ}GU`…”ºUïÉ·&‰¦}°1tÝÄXõÍù¸êÙÜÊ©²ƒ¼žÍ`¡¤*øÃÃål:b‡7ï[A:îàT:6Çï=x/{жÄjîДӂn%KÁÌÇë9¸–<ÍÀ3ñä ·^ä*f±"Dí”r–ÑCpR¬zùH–K_$Ü«Õç ª©ïÝ7ß‚h›; W~þy+ß/°7Çß{³vƯBnh– ßBp¤»nO®êñª2ʈ£I‡‚Á?ôÌÅÚ«±˜š‰5¨¨5Æ!ßkPٸ两‹®‹@Ãp)k°'KL]SÒòzȲ¸9´ªM¹IÆY;´¤³ÝdKÊ$ÐT™c‹QÖûf+Û“òd#õ™é#l=ôRŽŽà?£,"VôÚWX}êò‰ƒï‘wàó+ULaé’+eßצäŒN›¬|~Þa/†Ø6bЯ«|m`yìzv7å-ÄR›ý˜šc ÐS8TY4FÐëCøî´Á®Í;5ù£—ŠØ9’wùúʲÓ2†4Oƒ™’D4MÓ’eZœäbË¢¿—!O$‡ µ4²JÆíi#ñB8¯r2jeÒ]ÃmŸ€R'gtU§6¥Çäí,—lj¸ìm¨èFºtÛ 9pJމ.Èz<”î ?u¢ôY’?ܬéÓ`ô†Œ£ÙŸD÷"À) {Ö)wÊl¨Ày„#éü|oØ_a„|ÿ:……€«­r2i ¬6éŽÔ+ÊAf9¯zÇ –¿ïÓ®lD~_z}õÎ%„à®$ëLp²{œö`Ñ/ E: Œ‹ à=L¿ÀC˜Æ"ÖKÌIb~07Û‹ø¨Îsƒ‰‰·EZÌîméÂÆ9”Gˆ=θ¹šP­†ž>a5^¯†HTòׇ¯Ï Ë®ÝhÑÂÙãNÂïÔçhCK “þ~„˜£Ó3Bú¶Xð¦s´zú>!ŒZoÿ¼š¯–ŸÏëkyä̉Ôx} …†°˜ p†­Z†ê±í  VCT^7äð*ç[‹ëÝáaÅ¿KùЯ ¯«Âå–ÌÔ]‹þ\Lé¶ŒBÙ8KÝ—Ú54 q¸¨š®Om^D¹žrþ½È†<>Äçkž f@É"5za ÔèiT?ÃøÙ3Ù|ï¤>áë¯GŠ(``•×G}(°ö‡œoz&‹žÇmwâǪÈ?rŸd]ªŠX7ex.¶ÒÕVðw7Éð/Õ–šžJú‡ñb•Q5W4#U’IJfÓg(VÇ[hðÿ'hóz§^3ø‹MrÚÀP'ßz®A,·ÞÜ$H!úèQrÕƒ#ˆ¾«J¡-ºÁx‡Ôÿ{øz’sÐ-8Èøy¦ô"œmhÊÁ@¿0S±² ø[*‹ –•ä*áŒà)«n_Ìï˳åÖ½ì€ËÚna[#¡[-Íg¡²å2cå@±ÂŸKYO8_­Ë΃t¦!Ö%UW•±<4Žctd"Mbm“ÐNS‹6:ZʇxÓ¾~ˆ1¯šð¤±ùÌNM«˜kÂp4HÂù®º>¸OgO«÷Éõ0˜žôËñ[ ŠÆV¹Ô¢<Ï ¤RO°ã¥WSnÔÒ$l_LczjHã,âj`8ÄÒÊŠÖ…K)(?qäÎ)ÃãD‘/È}Aê®G1ùøŠ÷EF¬Å³þk¸EDœ¹/²ZQtiªÔ”î¬xD:§¶A#‘âe [ã£Qˆ´ÆœI[…àL£·Ú%·†*uÁ†a¹sZˆèÍAÌ•ªí SmEúÀÓµ˜y:š×” ß‚æ[,"˜º¾“,„û†ð=Èü¾Ã·x®V&Oeg3WðýRA:3Yôy9@ ˜¦ÐßÓG>ë!¡Oå(ÚkdðÇ癹â¾c¢–o®H® =¦°j¡UMô§UÝ\uË9ΨÚ'.‡ãŒTnœ£”ßÇÏ“¼(ÈÊÎÓ˜þåÈKo¼£k]›†ˆ6ùL™;k&â?(Ò£{Ý1ufëÚðõ°î)wÇÌÌ]¼«Æ¨›úÉ–â¿kJ4ÈÌq}³\˜,º>ýÎ# §F8æ;òû8Ïù,×½”ÌsU4¾$wf¼;õÂ$màØB~b~ó’^Ñ¢pbÂBÎkÐѽ=£õÊè[‘HgÁ$£óÒ$§¾oªýtÎ{­&ÔëLe\€¦¡ V9u2’ ×\§Naú.U£†u ¡Gß9}ä}se^|÷©ýÇ*ß‹§²ÒF òÆh½3/Ï,ówt|¹êUó}Ô$¯ž2²}žR­ÜX-Ú¹ÉÖ”›½ô-ÙùDœ×&"A/Zšÿ%z›ŒÊ“Á@œqåA›¹œÕeŽåù>¢ø{7NFÈÞ1§ÔfÖ³BDJy‡›ž‡r"¤ 5 wy{¡üB'/¸É±oÈ‹NËy÷ftùF‡“KÛqd‚8"åpæ:ue±Z# 4Lݘ‡Õ=ö¡QªCh¼ü½‡›à€‹æ{ô‘Õâü_øïÊÒ0·G¾ç¥`_,]ŸkTCïà÷UûÔÄJÕ‹¸Ë8™„ ¢Í)N!åÆgŠ­Ì%£Ž;œÖ¦-”<‘­ÌwaªZ¨”FƳ&W}{pÌ3=“s˜ }µskmºæÆúR›ôh;—à+Þ”ÇÝ|kóÑé·Çd[rcê2ef®™º„ìóŸQw¨Y§‘12ãÇýìÜ¥Ó˜ØïLÍ ¹>÷'îqpïƒ\«´ù ÞÛ•^ºN׿6çH‡FOõ¢¼ƒªÓÍT5”KË5˜’­ßÓÞ/:1ºO#‚"Íéá^F¼Ø¥cÊUeé„:q‡Ú”1W‡Ñ]÷÷5Æ£ÕûCIÀ.0ìª!š!D˜“Ï踿1²ÙÎ à*ýż~³bÑ«ÖOP­*3áXé®Jp\Æ]59wUã9Xõxî ðï$f tz;RÄùû}ëå¶á¨4ý;êûsݧ-èa:Gjp¸vÖèÁçÒƒyãéë 5ÔËΞÌC;ÈÉ;•ÉØ/Èg¿F餳Ë}p¤”ÿ¡—N~œ%k°%­Û¬¸/ù¬Ã·Ôy=×àxÑacß«5 Ôg4GÝ¿˜kÔ½&é…5«:A ¥Iˆ¨+ѧž®±4^/©kŒo¥WÊÊÎ?–†«v5Òá[Ø÷tvÈ˧q´ç-ô¢Aö"ìÔ΋–ré»9WR3“ø ³ Þ oÊÀ¦#;ã\Hå[à3ïJ¤1+Á8ÎÖÐ[ٔǣßÛT:­+c›}|¾o1ý¾°]àÐÅI4lh•ááð4_Yy ¯]Èj’A{Qeû½WFÝÇ{Ö§ÓÖ¸ñtv×™‚§±úlæ“Y9`±¯ná>Ø<¯ §Çù=<¿7Ö>4ùG–‰ç¿ÚVb¯‡÷ Ÿ¹\[zèmïƒÂJ÷¥·k[YvP¹}½ÊÅþ€¦xžÐ{ΩŸ±ì?]–r·¿p:®—å‰""ʃP¹À÷,™aØ6&£z˜äÔ\Юøm"oaš’IŸÉv¢²Q0B$Æù}éc‘¹ ”…ZCåá0ÊbÔŽ1 fâÃ2¸&]ùer¸ªWGr¼neƒ/®ddm®Z#Ä/éðkŒ™:ׄ«¼PæÐØpýoÈ´© ÆÇ¥ë³ZxÏÆB/[„PJȵð-Š ?ŸA± N™þ¹:“‘zŸLÊX£> êÐyý°œ«ŠT¬q$IÊ1˜é`Ä&á”a42,+™¥G®ƒXÎPKzÊAoŸ‘ë`”çÊ7*ž.­ýài¯ñØF8+yOܤnÊ5X×7®ØÛÔûœ%†UµåÊÝã¥Ñ#o~ƒq Ÿw~:ýFЙÁBOÐà/Ž]<ÍüOc–ΘŠÀlÈÍò€¬ gã[¾,ÌÀÂÐhbZ‹â…À&æÐyK§É9¯8ܘ ŒpUò"òéŽ(­”•3Cö÷"¥³ãN¶FZˆãÄB§[#žhû,èÂg2wÚ#+ˆ®¬ˆéëÏÒTnuñ´Æ¼˜‹Xž­Q)ã½e8f5Bƒ‹m¸ã<©±h'!j¸ÇÃ25\Ûkš9üˆë­+ãPûÃRF‹\þ¨B_ÍÍŒEÖZ¦Âxƒft8ŸÁ O€iá˜á -na,)| ¬ÞìÉ›FDz«v¹=F¥1]ÎËå­nÛ‡¢IvûªÚå”q‹©¥×ºcf÷éÉ dZ"V¬'÷rÎ.$èW¼÷-ùhž4õ>-Ox¼™o€Á«²x ûµæž;££˜ÇšûfÍ|yHAîƒÞTïªî®$Ôà)3ÕXa–óóNQ¯G>Œæ?Øë>5&(1ljcØWqí„Ø½U]{—/xõìKç-¡ª¡±1ÔPPÏ£ñ‰¼Ña})åŒÿ[1 ¤7€'Tí¼Ì±4ljı¥<¶v^z0Mcsçe~¡UçÚˆ)oÕ-Ëà„/Ø=KJTBܾð`hm¹«0ÄÈ©Ê!Y×+‡º™Su­¶ÈÿxÁ`q'à·h‹`>Ò÷²ÉUL[¸‡=Ojå‹Ð[Ü®Œn„:±—1\Ü©û‰™hb²‘2ŒÉH–m-›züØ#‰ÊÊÆPÎ<ƒ-"eèɃë%h‰Ž¢uh¬ $ŒwâBûa0ôu=Š]TX ä ·Ù7 $OŒ¢0Ú‰-Ä~~>õ)©…Sç&Á„‘™)Ûq«½¥‡LË<èhç{™ª3„ÐlÖ^‹*›å}t¬»®Yžc´HåMÖxVJåõ—Æ£þ«F»Ð™§ŸÀâåN’í;´ï"eiLª]Ôoã˜UøÍ×+»ß%ãû«óÊé!c!’ÁDg(j«ô‘‚nÑÙ&ÚCY™myާ¶š×·x²4À+*ÇÂÓyœsY®ö‰ͽ_©‘Às&NÅÞÞØÛË{pï7Ÿô‘LqŸk}ˆ1Ž{?#ßGF±>ö0µ[£óÄäHòaûÎó_ûÏö½"û?~–©?*qK!º|ß«ÁA1ð?´œ%&¦¾/zgcØãÈÓf¢1M'«Ý‘\(o{4™O4½ ¦Z>¿}6 On1ßjæïDln1j§ë=V½÷ÁX[¾s#vwÐòäõ…9’e\ëaý¢‰ å-?±T%öã/ zÏÓ¢´jT×@{¯o¢ÀO• /ïEöõ>Kð#‹âHŽ<YaÄ’1ûa±lÊ|Ï[4ÆKÅ{Ù0\{C^úʼƒáŠaaù}ôh8á!å[éBº†tâ¤ÌÊšŒºÔ—ЖôÁtvˆ”Ÿ®t!Ý“;{{açÝŠ8’µi™D¥‘fzÏô ¹N¢ã5rí"Øoøî«j`CVTdzÓ5?~žv‚$€)Û.8½˜¶x´¬1¾æz2ŽlŒ}û¥×‡¶y›Ö[±4(DWúöz*¦Ÿø…Å÷R0kO¼Çå_Ȩnõ­}W5Wu“\¤Äá>pd›k8^j¶©•Í2BË”9ºFDFfÄÒ›y¢ëbâBêWy;ß‚*Þ˜¿îšò3÷!¯Žsµ¢‹ÉãàELÙ<ºƒõStŽŽdͧb‹ªä ¹:ƒ‘wX§Ÿ¹ÑMeº,è|<å:ãFtv!–v—Èfeœ>Rji£ƒyâØF6_OYY³©Ž¹ÒÈrŸÙ.0AÌÆ+v®š×DŸgQ¦ýõôx•c9~hö©ãÐ}û˜*eÇâq©xǤG;}=-VÛ˜Ú„e™úED0ÂN@~ÍâÄ`¬<í?tfyDÄŠØY]IÏiZ+H.€Lwf3~ pgÞˆæfª&Ñ`¢½ŸïÞ';Ù5RêáìFƒÁ6!#7VÁ­éì}î“Æ`(QF(£—¾ör.~c ¸7o¾±Qvž9ïpU’‚_ÈÓ¦³…ÏDKRšO“4õEŸÊ`<²4qÉî9Ä÷A×| eWÿ ºy4Ó–§ñÌ×üaçÞîNL¬}Õ;N#³>Å:qPGn#¥;ó‹Çw4tšmÇÐô#ÚÆ©:±Ïÿ ÝØ>ÿ‡ïY8%uÔuU jõ°+Uû(µt¿8&$oñý~ ƒŸ(ÖÊÔÒÝ‘fÁp+à×ý‹•omz ‚w´¼ss¯wy8°;‡Ÿß/kâ;ä jŒâ;ØÌîɶAÙÁRù‘^}R–mdª6i´Ò©šu&*çø>瑨5‰\”>`îŒþUæ5ü|þ›dèÄùô'=]ùTqÝ®Dh¤Êüc¹wP™Û"*0:{尿.ƱŒˆ£7ÖúêÄi %ߨ˜¸9˜å;*Ìp¢È”“Ç¿˜á¬š»ñ;{8 ³óMv"èm3O›Ù¼î\›| iœ{F܇²@íÁ¡ O&\A—@|ˆÝ÷wâÙ©¡ÎKXj”›ÙÊ_XFR²KL¹ÆnçéžÇPjÀy£:0Ÿ¸mËøá¸Ò•õe¿óÖÀnÞô÷<+Ë–‰s²Âì+ÈÍm|_¸2ŠOž¨-WyÛOÜhÖ N€x´ìŽ'chÞ~#Í[ o~}¤DcF(WF¶ïÜþ%~uR „´{æT¶9ï¤Íšì¾õFp ÄžÆ#¡ý4¯§‡Â)ï‹2žø~‘¿¡²=xOÝŒ‰Uº«º˜¤^gý|…~ ÈPŽ—}°Á¤Æ:¬¬[³åi\ªŒ} &Ü.Û¨;â]3W‘Öw£¬ ®l+ŽlÆÚ í+˸#£I7(¼±¯\{GU7?Sµ¯BV•—ùÀ½]ý F¢ÓïH—-ž%¬z2Uª#fëŽÈõ¹ƒ…RdjaÚ…ÅÎçzcÝs³oÕÏÈhºŽ¼¨ãæ}fÖ©îš Ö/›÷‘üRëÄî>y¢_Ì8°J³‘ôD·«:'^ò Êöݾ†--¾ÝE0qÂy¤½¨µ·‡Ûá-pç1£¹Ù!¿ÖKdp'ÝžNꃛՅä¾6¾ž¼~º!ÏšÉWÑçp°O”ÙFeûàŠ²TùNŸg­§?gÁ‘*'6f6ZÆNŽv²ë•§ñûÜçt˜ÁXÃÃíP;ç3ÑGâ,°XÃØ;´TaºN}¯æb,–#Sö‚ƒýb6rM4é':›·ˆ%£÷M ÂG2ÕØŽP±ÜÛ~âÚÔ¡bßplc·9Í$¶;o©â”'—vs[w'VÊõb,ò4ÚOÜåbBLùYnÞ¹¹·cíQá±îÃo0eÜ;¨´×Òô‘âXç1õônQ_\ÿ€4àˆHnæú¼VDU‡^®7Ч²üyñSµ®hÌc\*zsOt}#¬¯³ý[¹¸‹?¤O´œÍ~a•§âü¾f{¹S˜Ù"~5cé*­u}°vÁëËí_믯Ԯ/°5ãØ2>Yåf²8ÂCz_ý+”ó>Ê…«Ú¿(·—‡+œÐÒŠ‰ƒÀkûY^dîƒÔ84Û_Þ¶WµÒ͇¬5åíº²ºíÁlmÞ¢<ž¾¶î¬xîp ù½JÆ fëCO0f°ËA.³¸¦ÊÁ-³0šwmnõ¡5Ë),^2|¤÷áˆ%뉹w9b”õÆÜûÆÎd=1W¹œG.üÝAe}Rd²)çšp2å<œO޼ã²îŸ¬Ên W:U[ÒÊ“±;_I²z|¯5g H\)j† ^MGº|/ãT=•Óö4þ¤²Gs†Jèœßœ: ¡XßßÏL¬ïí´›G¥'-mð™8¼Ò9^iÚv¹<'“XÛ¢~Ö¬Ê®Û¤ç žÈíS1¼ñ”õ´/hÍ‹l]Êé‘Ï*pÁªk¬"æà‚K*C'ׇG˜¥èÚîÚþ¾Ì6 ytñ·W“m‡¬8!›ºMÃê›=ØÏbU&b:çÑCÐàPRTë  [»=}*ߨ÷Õóbbžˆ<ÛÅWçñ;9z~""!æú r#ý°{|0ÃèW^‡+Ý£ÎÁðaÚᤧÐõê&ïÌ ©[ é*1Þ½é.ò}`³×fTx÷'¶ø¶¾Qwpü‹“™hfª•}‹ÕýëÊÊ„úk0CæççÎÄÎ踃AL•YMÁÙ³YÑh:¯Ažšz$ñà\N F¶øh4VD8JŠTdàÕÚû©Bô ëãbç°·åIiœQž|!4+Wë"áX?à¹ãFçDH(Ö¾s #±qÞs%ú‡˜Š±‰öS;¸ÛXµiÇ2£mîø±¹&M׿ÞCõЩ1ºW\eÒšu^ý¸#ÈD{ÔYzÑyñ³Î?ë¼þ³Î«ÖyñA.$ÿò÷AÛƒ`¯çòûËßwêi‹Ï/‹‹ 4tñ·ÊÞË þýezà4«½ï¹OÖ³â…/âF˜«æ¯ î}q5Þu«0•iyœÆc¹üùimÇgcÀÖ¹Câ˜ÈJ-{¸ó–­-WvòC9’ÊáuØû!¹CÕZõ|hž³´öÂÙ:ÆÚµðÕû{bÚ¬­µ:­mµõ,´ß˧QÖvy'vÞì;ù0Š:ª*çš„?“a+ßÿ!à±²½ÅPéùzNR¹ J­b‹(Â-Óq}/ø3|‰šS<‡ƉWn¯4"áþDtñî°G‚a«QÓÏÇî¶§LmÑæg¿OÞV?8vŒãúr_Ì5¸é6Ùçη;•§·ÿÌMWnºò'ÜtõÛ¿üëïwòñÛ?Ôßþø~¹ï+øRé)Ûß¾>þâ÷?|üö/ßþí?þóoÿÞÇAX^?úÀlÇ_ÿx™œÿ»øËo á|'¸è×ýcS~ýãú‰¢Ø/\ýŸêÀþõ_Ï„RùèìxãÙ9C-Å¿~óEˆ}›–7Þ;tJâÆæ;¿Î@4'o,è 5áúmsÇÙ£Øùëx™ìüÆÍ£s®“ô×Wž#Y…xãÀ¶ÛdûÖÛhÊ€Æ7NÌiŽÑÛ;ó—8ï6ÞxmgrÞf¼µì™´ëKô­2~}Ùƒ\@ºöë?~H°¼ÑÜÿË_@Â;8ýÇ9wEì76ܘÆ8½sXÄ!40'ë—?='§ Õô––Á8Ä0o¨ ÖÌN{KIüERÃõŽe%C<û7¶ M:nþ-ƒ¸’uãùŽŽ›å%mô†–BìÏAìoÕåN¨ò†–Bë&i®ÆžLâ0]oÖ4ÈM„2o(heš+Q›oü:ÚÔ0êü¥K6Qï­¾åΡ˜Aš–óÎ{'¬Ó+PO%àý_gbœuï,Ýh¤¢ho=;hCÈ]ß°né€g‹&çwÿú³÷ÊñZõ½]7 5Ú£ßzq1ŒÂycå ã-ëÚH³+$ÅžB˜´íziâ*Ÿ7nc-QË%µ÷v,á8«½e³¥#3p•½{ w*€þé¿ýøß7¦ÿËÿóßþË_}ü§¿ûÿ÷HBÿßÿßþ§ññ7ßÿû—fŠÿúƒ” l'{üñ|üÝKZ?ò?gâæ‚äÅA[ƒtÎJ±pbmѼ\ié~üóO¹‹‹W_ß­.!}·¸Æ$©î©+%åwç*ÿÉ×—?ùú¿üëÊ·€5(÷?“sh@À.Íï·ð÷ñÿõ_ÿø‡ï·úñÿýÿõýñ#þð¿ýÍ}¡ÿîW‘`úßüªz¿êoü?q‰PŸ endstream endobj 468 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 474 0 obj << /Length 2543 /Filter /FlateDecode >> stream xÚµË®ÛÆuﯺ¢‹áÌY´ì"FS$ikçdÁ+QW‚%Q%¥k»_ßóä ¯HùÚ@”8¯3çýâÛÕ«ÞåËY—¹Íg«í¬LfKëâ$Ïf«ÍìCôù"³.êæ&ÚÃsäáßàuñ|ÅDWxðTð\à©áyÏY€§‘=xf Ï/2·‘ý¸ö{’%²åž-<¯ù¶£ìBè»àäßáù <]p{ O+û;™kƒ›Ü ®@Ÿáy#Ûôhmdîgsl5DÉ01fþÇêß?¼+>'³…MbSXfó§½~˜/\ ÀO2þÂc¢ã",nO<©7Õ<ì” jƒ _(ÍÕE÷X~ï©Y-.%Q‹GÏtž¬Os[ÐÖ=SFwœ+¾–>Íí?‚ã^˜À`qô„ÿÜüe^¤Èà4É¢‡+á@gpsa.-& Я‘}È1câ2ŧ¥¾È\ý&ü««Aæ©^ÅWäYϽêÂë4Þ“®ÐøÀLÒieW‘* ôˆnø±­jIG€-;ž]W§y@(Ì<̰,hUgd»Z„‚bëñÄ{g8–‘ÕÁT_zQõ ÿv­›£Š—hÜ÷»pÎ1ñˆ‘³ÑE͹^Qò½ÄŠM tî¬6¶Q†°¶u¬ñYèZL‘Åni3Âè8ŽZѺ5gbgûC¯GàÚx™O=’ÜMã<Õ3À¸dmlÊt ìãXÄÕ願䰰å2Îq¸¸L ^û'¹É®ë¹2Í]uh¹§5rx‡|%?Ð\;\5Ñ[Ö 6ëö‰ç§5–×¼/‰*<Õ5<Ûk!¼‡9rã•w´ãÚkÍ#OÞ‡ |Ñ㬧¤Òk!ki_Œi©Xñˆ8ÊØ˜L9û'Æœqoml§i/Ù=% ¬TÃ!G㪭ù… Œçà/M&8D(ÑúV]Ø|˜q¹‹þÕàn’iý„â­[ŽSK“‡v–4XWúð1kY˜4‹³¬2þ1ˆ«/ zÝ×8V˜8³¥2lÞ Æ2jl+uõuË3ûz~tM&Ñ¡Øà ôv<>ÖGb%Æ%k£-E8x™6.ì-Ã×>4ÂûIÍ(P%b¬5´¿ìCñù*Hw<¯a^)g©ýš†>óD‡¢Tvšíxo/ $ ¥]uÕÐÈ••÷N¸–= `Ä ôˆ85!,Qðý/Zü> :¯yu/»8{“¤Ä…šƒj£I ^Q¡k8hÐSθèÚ)³Ý Årœì~9"qÞ ‹ 뺧õ É—$&d$i6cb­¦eœ–L¹ÃmŒßØ4úí®ý8äš¹C¼n é¾ï*ÎË`& .E7ÝûBfp7•zº¥ãKßô‰ù1Ф4sh22GF¦™%Õ»á|hTInÅãj®ˆ HD¤ïOó,Gἡt>1í<Ü s¸åÄÊ[¨˜'®‘ßÅôí¬À.òžO<-¬ÝWM²ÌP?sfØO'UõºB€Ì–ì®Èî1'L¸Šœ*2l-΋ŽãÉÏç0X©Ó9híÊ¥xÕR87^={MÁ¯õz)ÇC%Ô4§kÈBÔÿj"OÓÊœaPy’(@]<›GÌ»Ô$åúœÛ±W½¬8»Ý†'øï¬99ñü÷Ĥ§àéÛÀQŠSãe’™\QÔ|“b"#Ï,»×äý)Ö(Že2 ¨¯DËYýŸ¨½`i§^«wœDä÷È£¶EÉô7($–”ªJ ÷ ™ª+q„â,ÙèáxHB·Låè^5ÍÑxÇ;97RoÒê ¨ÇšG5‡èÇ #µå˜ãÎç>¦yb&E`ÞF êäLËÜ ÐDóZÜ÷6tSòÄeö —(¼§Â3œÎµ¾ÖÝ÷™@Û;¾ ²x-é7nz mLowžÜõÄA¹ÉÔ¾Æ&Ãæå6‰>`Sbù‡Ÿx#X*['¥ßZx@YLa5Åäû>˵ås†…Iò¬÷îx~2ÿ"¯—úL»“‹É{OгÀ˜à±ìKD¡Ó,"¨qpË_@ß$‹dù£Åõ¨¸;)¥+AM¸3Kǵe½R¡5q’YÖ¢2[®0&}cš¤b&ta áp-Í­Èž³é>n ŸñòX{ø~îó¯Ý®¦’¾áŽçÅÔJÀ6“$ ¿Ýñ¸<ž'>ËÍ(­Ž>eû@oå÷†Íµ¶A> stream xÚXYoã6~÷¯Ð£ŒÆŠHÝ‹¶Àº› )ÚŶqч¶²¬ØFl+µìdóï;%Ê’s,ÆÔp8óÍÁÑPÓÙèò:NœÌËb;³;'óDžGÎláüíþ8žD:pÆÊÝÀ¨``|1…ñÆ ÆFc£†±¾µì1ôüÈ·X¶LRãg¿\^§ß™¨Ô üŒaÌV²£O•ºKRˆ¨VHHìµ…a5 ó±NÜgüWÂӢݰãé5nXÅŒ’‰©7ž„A š…ð8Ö©[î-ʲUš[[KS2I9þ+kæ©î,^ÙgÕ(o¥–h×Òì'uȺ'%Y£Q¸’¼§¼,ŠÙ{¡9¾ ÌNð' ,-db !"rT-xáy2á]ñscÌ‹jo‰ÊÆ@Eš(.8Y"gj¡BMÆT;ô ËÕ<Ÿ àžÄƒŸ¢#˜†.(f4v®  1âijŇÒ.JNò='é¿&¸m~sÆõ²5½8„½´yòƒq?Žb7_¢g‚’èÈÙ@„9ø&veumN y{#ÖRÐ=T8ºš¨ðå¨8ô|Ðd‘SlGÿ¼(Œ¢€8¬)-™}B¸¼Ù*å|ªF¿ÃŸY›¡KêëCÚ-A¢¼X%l뵸zy”´Ñ¡ï¦À¤,voÛÄ… sáæ<¤}C<$´Oò çåWdÚš³-*‡’e-…æ@g•wO+ÎGښ+ Dç £F |ÏrMT Ü€b!%¤]ìçP^œ¥&¦R+ü™`+>ª'yCè´ÙHqw&¡ö=vóòªÉ1t §ƒJ¶-J¦œ¯t2%ÇŸì¤@1\¯í³Âj†\uîH¹„ Sy .7%¡BâkX÷p<Ðy¨jóv˜oZÅu TÁ\¢s®Ãl¨|ÙÅQ\9GkžùÚ•[ÏU¨@sÒU˜oœt›æÅG¡$yF¡V^ªSVø® €X°t˜§|è늎3Zø ™ö÷(•øÈä «Ü¼È€Ró;XŽæÕgs5 Ùo¢cmò¹É ¤ÜÁxnyW‚$±Ó ™QÁ ;±%&[Æ6ßnMu[³QZÉõn :Å3^X-ÙéƒøRœô;ÕécRÇò+ýH!GҔ݂| ŠeÍô)§ErÛÒÐã÷0ðt+º¸¬px„qk5AM¼ú¦w`¼øÝx¢ ‘ÊHØQÞˆ¢Òz¹ 5l?ÀP0†¾ªeß”7Ö¶i3Ñ2·ð¢t|…|„ñ«¸äê=¾~g^èKÜo­`{k–b€æâÄ•H½γ^¸ÎJÞèµSÖ?­ÝS(¿ã­@é7Rï¤Å3ýÄüa½Pšî šº”Ëœî^úáq›mŠ¿ôc[^ÙµÏ0‘; vRØûÞ1)Žô¹!o{ÛºÕUñTù:Äk-öCæÞkZo”¸®ù÷`aÛÑE”®£sº2p@kAÿ£…n¿™ôÍÅ·XÙ»B©¶¶|#ýsÎ]ö¢´­Ý’’æî†&/t~¼fà˜k?ˆ¥:9^ä¶P–í¢áÏå*.n’e_5š Íg˜c‡\Í' 6QûpuStú™—¦ÒéÊÜÜÿ‡ˆO endstream endobj 477 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./pbntransitions.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 484 0 R /BBox [0 0 504 504] /Resources << /ProcSet [ /PDF /Text ] /Font << /F1 485 0 R/F7 486 0 R>> /ExtGState << >>/ColorSpace << /sRGB 487 0 R >>>> /Length 4437 /Filter /FlateDecode >> stream xœZËŽ%¹qÝ×WÜ¥µI‘ >·l$@î¼0¼iÙ^ ¦hf¡ß×yDVÝÑŒäê`º**3™$ãĉÁ¬ß=êã»Ç_^þèÿµ_½ä¿}«½ýøáÿùøó˯üÿÍã·Ÿ^Ê5g<žÿýôÛ?à¯k<þúò_ÿý(ÿy©ßáÿï^j¹Jyüþ¥¯Æ_ú<×nWØëjñàŸ#ß¿ôÝl÷k4Ùë* ö¼z¥}ê59£Í?Ó×°Ïö(xÑyô]®²»Þ·ëÕxýÓÛ_ƾâ`÷ã\íyÄY®vžÞ8ñãyF38Ñ÷ÏqU]ÏÍu…íçÿÜþôÂÅ­=ÀÀ¯¿»ãñ)·üO?þ–ÿø§?ë•Û†™¿jÀ}d—®WN-qÅU¦lÜÈÖëh üeù…çžbÈ^¾\£âþríÈ%j¼Âahoî¾l?®>ms‰_^zňûýª›¬ØœòˆyM=ßàýúˆ}m›ëªX?´hv³Ã=ºŠ§8¹¸–Û*ÞÕ¯¥«ø/êãš¾ºø÷>‰_˜0àB¹ß4»öm^KÛ4–üSŽ€9Þ¬¡àpmÊUu3üÝÛû‹àn¢ë«çšU¹ÁX/æÜzî/<‹¥‰Û0rÍ‘míçÞ\9›³Fš˜m¬«ït¶{RWšˆ[ìóîOfäòævÕó4TÉm÷‹ÚÉymç¶{’pM«ïKhó½Øõ}ù­çÍÞœÃÞ:8Ý+òÆÂlOÛÞêµÇ»S`Îþî2šõÝ¡0Óûr7†ò¶ o/2T0±Þ„IÎñ3,á<ÿŽóQlŽ·=¬G¾ÿ)¼f"ÂëäKðÂX ðŸ\|ÒpØ ¸ƒ¾êvÄ#\Þ…Ú*ïÒåÚ :ÆÌüÄÁ3˜`»æÍX@Œ{fKC+|ó&MÒÔÔÃÍ…Ù¶Âö7Ÿ_ÈÛHú׿“q~ýo iãóÿ=Ε÷?ç&®1¸9Àóç×Ç¿<ø_ýÕãów/ÿúù%èoÀÑÐ;VK[3S>íÁëî¡ÝɼP‹*¹Kê"=Ú‡xŽQ·hr3±W^1^ð‹­Åaµ½±_Äaú’}Ûà}ÿ Â&@jåÈž„flÌ_»†Òpy¡Ë!%è¨@Þp‚(r{œž¼RŽÆ;w «‚z/5Iй4„<·¿Ø^F& 8 ëíeçx­èy#¶&ÀqU‡ ÅÂø˜Y ÉËD´ù|¶àmed\ÙÀ mgØ4I*wTmdß7c“v˜Æ´ÒûÉl†¿¹ód€¯PÂu6‚¿æ;[føÈ±’=FQB-¾¾éÚ§¦-žÞõ´›í©ðkä–ÀG¤T Ž6¶‚¤‘?¦leœÖ4ÆGhˆ ¸ª!…ÈV•¸Zg –œJ#ûëy¨¤†Pžie‘Tv@ÄÛàÊJªÙdIÚnSÀ¥]¸Â†*¡‚ù¡"Á bGÛJb«Gy¦±å‘zšØiYLW)a°> Øö–²hP.b” èB84‚DXÅ/Hämo{ ê›™!I¸nI¢¥$~¯ ¬ïgƒŠˆÃ@Á@Ð|–~ nÔ]¨½Tåñ¦B'HN¶•Fn‘*6ó‹;ŸÔ©‰Û|¿„G09Í´w•-†x¶»ØúF®„Ú«ìš6w4˜u¦mqÀ˜ü%z*šÁ˜ mŽ«ì´Ía]"“¶’Z„S fCÁ¤{dwÎ(³È$´Å Q¥w)@é'À`lÚâñ(æ8 ÄA…¶8«ï0+„íN„F¤Ô!Ö’Ýmw.Œ¶b¨-Å| H4#¥B¤Üið€Þ—™£ÍrÛJJm ?mG ò4ÉÉÍ"‹¶8³a£my¸…96Â1ÞLz—­ýhHÓÓ¶d=#TûÕ¬` …Ñ%#n…ìrGTç|«#˜ÂÉÙûEއˆ]”›´UVT„ó(ìDè"‡EKÿÁÓ¶ÌýhÇO_7¢w±]~ÁþôR‡\MYãöd0ÓâÚH´§f8DÇŒ¯`X&`ã‚;TÁÚôp»cé—YÔç¥úÀ#k8ưÕ÷בœq†Œa­œ*»Á•Yj)æå±jŽŒ’ˆ©®É¡÷3Kb=Ȃқ'§žä,ÿlg¹jb&M3ô‘ÂmàA-þXè…Þ=é Ò—‚l†Xn;ÙŠä2ÝIîKiš#¤.­‡T)`“™Ì¤zÑ#7Ö[Ü$ì9ó ë.«¢Ehc+5½Í»Ì)ZH^%ö›r¦œÁH%åw»¹eŽÛ¬2»¦SS3Q¾Ò¬ijìåÁš7:³ÊJ˜È¢éü?éhF¸4âPåܬÊa.îxÃÂ%N¦6éS{)>mÀâ¦Ó\¥“ ´[[d„s¼Îrgy¨¬€ÉËwHI‹I³XV"¯*Évj1„ÕˆîwÐ å›Je²E‰±Å=d}Wàˆ„ÖÅ´—D@ïÝ¢¡wËŠŠ™D7Nš˜¨îo9(çSïW¶£hÈߤ”Æऩ&K#4þno¢£gÒ&NA©ëÜ" J¤(©QDp|,Ô }¨¢+‘K‘šŒL*J¬jP´(^/)tWÙ¾ŸÙwÈ,hÓØ6í‡ìeÛÖ),Õˆº“eLOÛÅÇ ,CWM[÷&{¨`9cØÕÂyɃ³:Iu¬°‡ ¨Sˆ«èÌ¢ŒÂµ!;;örE)c‰{”›”„)§ð8mWQÎÈr9p£—e…!tW>æ$¤HDz>TÄCˆégö#"ß’þ(²‹®7Ü}å|["h:.iD¨æC„#T×kóûºÛ.7#VI”ÜÊý Båѳ]•7Ë¢v”=‰P'uPà–µMvU™´Èk{ ¡J‚ ü¡-Rשׂ…0l¤dõSÒ?Mµ,¦z2B¤±_¬üP_‰ "p[–ëÅ´ÃöTµO„î´¹Ÿï"kÚýl°&—r•„ͤJ;Ò¶•öi»T •& U yéTÂëÍcÇÏoÇ4+ŸGÅ©Ò'X`ã:2Ú5QUJQoK¸Kæì,e5 \SOÊŽ(’eÔ÷éÁI2¤þB™ñ gH Í”,­ÌšÚ¡­¨'K]¦5"I·´´!,E…ä9"®´ô ÎB€¥©ecSJ+ÃTnÊ2B›…|òæ-ñK«59gØ#µßˆqáDâÐõ®iÐ.¬Hž@£ïD ¯CÄì[&’áhËâ¦dÐXô'ÄàÏb!bÈ7Bòº# ™nˆ™ÍBzóÇ«í#{˃l^ u73º…cf6/æ–pÝNó‡1(aéLÝ$<1Ñ1“³*…crd,é=ʲ}73†eYôä< iPƒ9€Í ŒO`¹¹±TÈ”™²¥F4 é8 .ÖÊBD1+sK'| Ê͘cµ@ååû¥©µÜ¼bé‘¥h·Þ#Ýü(6 70Ù¡fZβêna¨ ³ÛÕŽ 1åæŒu÷Ê–²dÔ±½­f²y¤æIÈg}&ÔܼãU6Y³ennyòljÄÔ²!bnÀb€º¦-&FÐt/Ž1vûAç±LRjþWžeVu°+0o3d:ÇýƒccžÃ-l7ÅO¹—xe5â«Nº¥6i7æË[ã}¹Ñ~Û1eû cªîçm[qõô|èœwfœóÅjüwg®/¨‘¹R?¬( `¶=ÁŒÙÖi m9ºN·e[žVW$jüî´Õ[w ®Èåýu§ÍÓ2¾/Òf±ÝM)wPØ$Ë2VñÛÆ:4CÉ6‡Ó¹¡¸Jæ ÂEqÅs£oÝv•íF#}äÆa-9žZá;Ûns[î{âJµÏÃGïÓÖÙb1Wï¬ÁU;‘ÊMmG=…9üÙ ÊCèì[]'k?—û÷¸ûô¶¥TÌÍì ûtOæÐ¼$p\­©öjUäÔ\Bù¥»ZSV }—ì?XÛûP£eËÎjð¾ŸãEÍCŒ·ÝÿðóÕY Ú=¾>Š`uÚýÑ/±ÃÁŽÊâ ñ(;>‘JF­“íÝ!9Ê›|ã[ý™”zÛî˜d=«£ö÷z5$‚õg/Ö׎H¹…NL)@U }Ñ_šë›~4æLI;r†\3ížodEÝV4aFìùMw[}ù ÖzM_H—|~[ëú`,\Ï!~â¹bgSy=Þ>üh>ºÒ§)Õ‡ýóä§ÕGW±îurÝ'Ô©ßýÍBÝn„ºõ?Q2÷}0¯æÏ/JÉñ¸"ö`ûãí<¼Ýß}yÑ€k~À=€FŽUöµþë®ù{æÒ«Õ•ǹ҇UúpÞ] šzÒ=„i;ãB]¡)5 ¯ë̃×WöjáS¿ïHáˆçX_h†Z@”§p®Áºô'qê‘Ê=’"ži·ó®'¤?¼‚së—Ÿt-ºx™§zûVkkü¼¿ëù]Íë_”Ê–¾`jü•(=tr4ý BQ's‹¨(²\Qî:O©L­‹È~;MHå~•³C¨Oƒúº¯êÓ aô}ã÷ Mëà9: ÷ö8ÿþ„ãþÓtÀ9tQ2Âøè<‚Ö”zqO#ÄGGX&”MØÎŸ…ñÿ.¡»=Êñ_ÿ¼“—žßôcc$bþ9%úÓ¾E |þ8„ÝóœjÞêáúqµÄuˆâ­©õÃoV£žŸ’I-ëáO›]ˆ£“ß5rÖ6º¿¨Qiéýúð’Ù¿Q׿Sžõ‡îM‡(náx»ÞžýãË߯%÷@ endstream endobj 489 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 492 0 obj << /Length 2587 /Filter /FlateDecode >> stream xÚÝYKãÆ¾ï¯‚$dE³ù¦‘ØMvà Œ °•“íEQ3´EQ¥O~½ëÙݤ83kØ#‰d³ºººº_ßoÞ|qW,ʠ̢l±Ù/Êp‘Gqféb³[|·Ü<¬Ì²Y­ã$Zîá¶¿žáÿ¿4Ëï«‹£jáöÈáûs#óˆÁŸv<láï0f2¸×žƒ°iªü?­W3"Ð=þp©ªÆ»þÌb ã]C"F9ÑàÈ÷¡IpúމN8¯ù$/û+®Â=­Šd¬ÖIn–/L‹¢U"jµúaó¯E¸X”©hð„rô[Ýd{¶—UTÇuT”Ë~×2\†¼HßâCA\qÐS>§A´Œ4˜¸]WµÜ‘øB&*Å[ÜÿÏ–è BÐNPºý˜ïÅ[\µÏÚPQ¹ÜÈ9ÓV˜üÌO¹LóNÈJ±…K¶l$ãýœêèà@µqìL)À­t'Ïb€%{:Â_û ‡ßùô˜fÞ. ©.eRðâxÀ‰É–í€×œU3ôüp"ÙûDñl71…JddGƒ®ˆ´µpU¥"ïÍázP=éÉá{Ël‚GêF½°C >ìbt‡‡W~ &}uïÜ!ÊiXBß¹FlH‰Êë^d9оgM~^;qÝGfjhUI¸ü($Ç€HÑAøöxÞÄöž_“y#ÇîtžoñM²|D% “þ( žø¹&+/FœY¼‹]zk`Ú#NÐxÕ Ýß7G2™Ú¸«eóvN…ÕQ$˜-ɃŒŽ(>YÇ^䎣±gŒ¤ƒ©#ã³zŸòÝËs&=‹j÷ÿë±Û¿äL$Fu_µ¸Ú—¸³/î²ÜK0°ÏÈ5xŸ_­Óˆ½—½€ÿŠ‹òm‡Üe•ŸH`³ÄÈü­aÈ:BgGììû0 )*ð†ÔjjR _‘ÌÄ_V²$fWYð£ú‰nfaÜÒßàgà‡DðK^]å,\/²ÚY¸md•­'/r¿ƒß;ø}-*ùðê ö,…ûEf^¼}4žüš¯tž(T=¹!Ck»ð™\|Á²g,€l&ÚLD¥ØÌ¼´ÄE¥ªähäyǯyÝzèY{Nƒ3„ÃgÚÙþ„A’˜ñIüÃ3½2Óoèdéöƒ˜Ê?úÄn‡ÞñÐI&åŽb'ÆhøÎˆ†þ+&…”_Ù£»Yæ=ýG³ªÌRƒl=3¹Ð4Üûznó°n–)^M˜ä¸˜IscÇCw¥q|ÎLiÇ.6IìÓ§y†Ïd6IºàÕ"µ›2ÈSÉè1¦úHßôÛ+™4AÑctžÐŽptA>g¼1(&†qópIÁ­¥üÔS¼­!'f,õî{ĤÕsL£9‚Îð¶"(Ô Å‰Š £Ié0¶WÆÀcJ]æ"|Qu„„,ì•Å(Á£h½úxé·(R‹ü‘аVeA€=sÇ"à6ãá”o·eù²Yah§¡¡aVX¬šÎýȵ)óŸžÜïÕûLËškìîxx«H[Ø5Z3h2Ô%/nYÖ,ú¸Æ=k'ʦç[Ü+¯)ŽnéNƒgGQ‰N•*¡nTƒ Á\ÈÞàë'‰±m­ðü@eÈ[IµÂ[©aê–éèíH6…ƒÌ<)‚nIWÊp<.nFËùÔ¤¨’¿vpÁ*Á #"²ÕœÔýPá^\E%@­e7þñ“,ìdè:d*"›Ý vÏýªõ,’ _ŸåÆãά¦Ë¾ä ¿®TùHTädÕ†/[ÁÃqž2 íõÓzêÿ#hFѽõLÈb§2˜RkÒ?{BTclçKÄË?ãeH¡%9Ï8èKHœ†ÀäÆ|8ÙÓ=ûhÅ:™Tš°^ÓQ!‹ÏDC|eK¦kíw d¢5KŠ{‘‘µ?ÓH1b &S¬ýLðFœAXd &RÏ{Iy½ü¿-F»II„qª[õœuÝq-@©1.ŠÀD“܈Áízä"Ñ€-^÷`+¬ïµì O1Înwð,' (&Ë{³s•Æ ¾óÂŒ%ÖM^Dâ[}¦EP”V+'8 ‡a®ê…NM ÷Êh†|7ê7aDNÿÓ ;°Ô¾Âck+“^yó°(½LYpõòã˜Iua‚Öñ¯p‡'DÔT­¶n¨Õ¾Ï^‘Ç*3‰?+›ÆYÆÝÖÑÇÓ$áFU–j1zvÝž„á#ã¦@#¤´ixEÑ­õÀ-å\hÚÏA6sAm¸¿”1éLÄÙýI•'3U"«9Jhºåé:[ŽÝ3)•c4zbßIí%©&5\ñtòA’Y°sÑÖ„aâ<+ΑŸ}ƒyˆL;h ÛÉq.‰âZÔróù:ñZÁƒPg(Å!]‡Vq@·ÓöXÕ$åÑç4í`Fš±ý®ƒòœû+˜¶ÉúÀéwˆU4ly ŠÍ3í¯Ô“âpçYÕ¯+êoÊÎtÄù|ÓpøýÂÓoh>d^ÑžIDëÚÁJÛÒh$‹âN†'üþù¶®à·7¾õ8<§-ðU®{¯2wàsløf«HÎÊZøzЃ³wçD«D05uárŒópÀöظ9éaƒÍ;”°ÁH;ܵõ˜5¹gÆÉÁµ×&ÂÔ™@†Ã£6¡à[Ú&íÿ4Ýǯª®óÆH¾³m¤Ê¦X 'qÌÆõ-‹fvRïÄåKÒdpd ì9ßøç’h#1<†˜Ø Ê þ¼•N¿-¥|¸ñ8òâcÝÛ >Hÿ›,Ì×A’Ý QÍ™||J¹}â &Ÿ› jôàôiYJ3žC‰C%(8µ3®ýÎå 0~R»?[ÌÄ"©Ñ\Ëݳ_éñØÄÌùMÒÁÆk2KÆÁŽ<÷½¤6“‹VSµ sâU•ôðIÃ-ŸãNI¸âŸ c+æç¶¥Q®?KùRO ¾Ú¤üN"ÛÌ)¤”èBgþj´{‡q‚O¼±Un0JÓqÌCíÀWõ#¼W è"ã8UNãpòiüY²ˆÉòLÎG¦ h ªy™ÁõË!ó?¯°(pÉmûÔ…¼4ó"œv˜F/Ól¾4zá³I”A)}ÓðÂQ0e ¿æ¼7[õNzGh ®ƒ¢µÝe/$“¼âñǺŸwîsÌŒcvy!Èö±w„YÂÞÜÒ§›£ p•éfmN> stream xÚíYK“«ÔžŸ_ÑuêHÙA6–ÞªÛ–§ÔÁÜÜ‘: ’`HArÚö×»žì !±û¨åÄAص×^o=ò°z÷ù‡$½Ëü, “»Õö. îÒ0òƒ$¾[mî~ðþ=›Çaäµ3ãý >á“ÃçŸ3|ŠÙO«ï?ÿ»$‚»9PÈ øVøüÄ„xôeÈðæåÕ½UÇuxP‹ÝlE‘w‚Ç=N¯ù,L±péÈf¾“ñ—Ô¸­„/ÜTÊ Ê®~Áe¡×lù—¨ö¹Í/ö65SÞÊíëµNòLH3MË«vÈr-¿~—õ7t{¸5^ÔÀEK¾éJïc"’mSïæB›.UñÔãl&^±'-à­‰+’/@†òz°˜_г8ñrÕ[N”7ºP¤aBoÝTGœoåÊõŽ×ôÒ5´™E¤hÚŽçN{¦Î [{+R ¬®÷ýÙ 0\ÒTÎ!jU$"ãg±X"qãj.C¢íNý…:Éë£Sœ(ED –#‹¥J$<•ìZ7G9¢èTa#7A;ÞÌrä%ôó%lšóã‘nc¼Áiðy„ÏJžÑŸ~–u½^;9!Ïmª[Ù] ¥y>¨ÀÌ€Pò×bZŸèS0-K¬ÁóvàZŒ-0L@¿äŸ¥è€¶§ý\'›¬;À »í¼iú°mŽÖꈸz¹5,zQÃD‰mþÅÛa ò‘WrŸ+xB›'ÑÂûî4¥î5áXºpp,ArÈÙñ ót4ñ/8]åì4Ð#N^ïôN@‡ÐÄÙ_Èv+<^‡ôö„°zYD³nä@"ôc`bµœ\ ¹“Šž Îìæ'…„Ê^/¥‘½D2 6ç–€n'Œx‘vAaí‰4¨ã'ò$Ž‘µpð¶/4tÓñô¼#Öƒ¥V5js ¨V_—´Å.†10ÆÀp¹ô:ÃF¸Æ‘õü†5ˆhòø;6j…×\§ß‘oœ¼´)a£ŽVQò0ÁX×?îi8ÅŽG”ŸQÞMûÄã=‘_lÙ¾°bµ/-£Çª‡B†ɪ…lì²zÊCárX&ñ“,„´òVú¯Ìáø³ƒîO6ä(qm™ø‹À蔑í;Ù’ˆ óþ_+f?Q¢6Áqù‹ì5 bÜœ¾„ 2? —z.¸Kè ž£¬í0á“lg6MïÁ²¶Fp@“8ö3­d†ÿP•0ø¡1C§ƒÔÄ”}…Lm‚(ˆ¶»;SôÜ2 ˆÀj›3çoI~ÆÉqô:´±)W.ìôéh a<`ƒÉ¯zøVXü•éOd;D÷˜™5ê G™¿LTߥ*•‚ÿÆÍ!E ÅiX&àšð>ÒÔ¼ É*Gá³Í‡%;Ú‘î-’[s¾ § /”5çÒìh‹Èû0[.ú ùø…—P¦Ï GÉìœE2•ÑÞòC†(WÖoÉ~_;(ÓMÒ$½É€fº}1çÀH) Õ!ï÷¤Ê¹Î^voœSuœ¿¾¿ŠN£2£ÏeqšN“’½šåµÒÔHúhR§’K‡~,¡ ×r—JÜô%Zj xƬGïàr‘rÕ\ïZþ¥ÎýéUÓ/ã`mÇgo/Øg㎖Þà /éTÒ§R”´ãÛß, ¹®Í+…HðÞK\Y¤~bú VI˜ùE Vk™aÅq¡¶8ôÃ`áÄôè’ðÙz±º7Á`×ð‹d’,V©(p.F(†Ô‘¹­ÁÐu@˜4%œyÍ3ðx{ß‘µ“dòÍô\M]™ãɽ î_](ÿ+¬t2~–·Î^ +®—sHgÊÜ\¡OAú²æÝœ ¸ u#9ŸØ!?ÎâØvt'CÑ…5zȾ‘¾]¿‚Ùë—L˦Ѥ"x±²¸’[\q“ê¸a(ȇ»¼ÀêZo\ͧôhe3ºS ï\tƒ åi¡±yÌVÚÁY;U*zVáÈGžóU»¹Š 7²AŠ4jµè†“ÚüËly®„ŠNÎxÒ¦ŸÔI3G-³$™Tß”Œö|dhÓ´±oDŽº§xeÍVAmšl¬»,ióîb)Õ©’YiÅ6HW5Ïr4ca5[f*djèÚ¸Å;ÂúÊOâ«“Í_'gƒ ûm7QÂ÷ƒ4_ý¢í­ºµùéÍbYjzÒÏÆj®t+ jR`7¹qåjd_ü,8»½S…üòoË0oSwjONxªKûªÀòmѺÂ¥Zaâ'qŸj½¡‚[¾±­‚u®¤¶”í|&Æhbp¨ ¾ÄÜü«§ÉÑ5‘M$%JÌ ^ÀðµŠ81 Ü-B{œ?'œ²ÁO§¥ÝÎ9Ù*˜R¸$ñ—ÿ`#òLÀ¿ÃÿFp„Úf™ý» ÇnDYZje@a#`ÄÒn”Bßå‚wAJ²³ÐŽ–¬fš…@W€ÖFsW‰S}²«µDQâYƒ $œ~íÕÉøDúŒGe½SÄ(dòhSk‚/¹¶ÖÕñ‡k°â™×wùÉi¨Ç©¢ÐóžCB=OT8°ÛsHR+ l ^Œ¶­©/*/ÏÜßå—kx_jIl*¡˜”)Wœ«l’€C'þr{»±ÿÑ*x°â. )_Œ3M :uÇG‡$ÝÑùŸ÷ÀìÀÌöÚ“`lÐC§®õ*1mŒA\ÿÞµHM†Ù!¼[æE;õ²Áé·ôÿnÝO5ïKÛ±s#«[²æšŽ.àbTt²lähÛ—ÑŸÚ¯©+ü¶7H¢¥5Þ£JÊiG5¶•zÅD-ØÛ±öbóDÓâ2@~ìÇËÌ­»?½ì¹ìTG~¦J\J`“-ý8KH3?2ž‹èÿ»w߬Þý½ºÌ„ endstream endobj 500 0 obj << /Length 1854 /Filter /FlateDecode >> stream xÚÍÛŽÚFô=_AI¼ o઩”HšªÚV)}J¢ÊXÜ€MmS6Šòï™sÆ>6_ÈFÚ‡Y†™3ç~›a_-Ÿ<½ù3ß³¼Ñr;òÍÑܲg¦çŽ–ëÑ;ãåÍÔ±Mc}ÃŒMÎÿÿ³ßð?kØÙó©XËrœÄ|܉=f$[þiùF Ç›©57ÄÙTŸÄ„U Ž&1 {>ȱ}ØHô|)¼’.Éøt—ˆ½s ›«â°`¶f7Ó¹ío$ß)æ‘®"ê›·(QfL8 ëÌ4ÍR&„žÞ|Xþ:2GSÆf¾‹ú+] ךkÚF˜ÿ&ƒ¡+×täÁÖ¾†bº—BÀÁO|‚ äB,øËo¬…qL&‚“°¤ŠÅT³´—Âu<#ˆÁŒD’EðDj.TN)i#`Ã*³µSÒFwÊd8 Ǻ Ã;$ÄÉ -áqÖò׃P̤XjOˆ%&¡´ë H ×° ŒÈiŽ sËòø#TYÆ=gá8Ær•ŒÓ¹t?é-2<‚éƒu2 )„?¡wB$1åœ+ìùkwNb³¦¾#ò–J ¢0c©´ÇÇ?"\‚{…l|¼7]>¦91{¶`§/éž#D´kà‘ç×vèIHF±(Ö^ð1ƽ‡b¹Îêø’)ߟ±ÅBmºÆ/æâÏæ?áR?"hLNbÞÂΖ 9Šù<"B¡ÒL|ûÊÅLrÊ‹8ŸZ¶ÇE]Ô\:9`LÛþBâ¶}_fÏHª—ÙŒ&é­JRS:0tĆL©µœ$Oˆ¯B®à€_bÈÖµœÙ‹¹Ð’ߣ”Z 0ÝLAÅ2•PÛ àÒ 4’»H“ž6MÚ¶ÕœÜ2ØÃà²m»äXÌ[8¶!s©Ó¬b.÷£Jæj$þÖWbéÌeÅØ'ZÑñ$¹LºZ*]“Ý |Ù›æ3n2ÙÞÌáÞ$µñO–m<…?HœoIP`;€wV¨Iåè1‰ò @s²”ÃRŽEð©søL¨~TæógŽç4ñ+8øÓž‘Z ˜QõÉž¤p Š<+ùÜ´-ýao—C %²¸M²(ó ]>iíR¨šªïÉ‚Š|MvÑʧڶa/•†+ŠÁ+ä4Á"uK4© E«#ìñpPZã€_8Äá<.Õ®:·}¹Tô>UétÓªèkRt‚RÜ*MÖ@°§ØwKC!*50Èò½E¯ó‚t”i¹Æ<ã½Î)pR3@‰N!q‰ØÆ¼åã/>~î«ÿ4J`ôƧf1†¤•Ž•Æ©#|õ*¬—$2ÂsŠÊØÁV™ö¸”Ö ÚDH–V–yKê…êXóFïÉÃǾšQ„úÀO“ŒI)¥ªaˆ%Ò;Â3@ô¹Av¾ÅÜ9SN¢×Á–‹äNÐ2·-+á`“9U¶»Ý”&èº]ÚNß¶Èá‘ÝFIuü]vÎnRÖŒMqå°5A·Âã9¢Võäˆûu_q‡köå·Ì›ÃLû­rè³î˜ ‹ìT0Îd9'óôkû"R¿¦/jŒ`õÄUû`=ɯn7õ±ÝG%oŠŒSZysM¾l˜ñ}Ïkx&½õMÔ}P²ÖuæüºúY“èçž]^eßû u(ŠZðס©ëÃPm©|}°Z­ õŒéÊã|áúÚRF³Ê@óNú¾ÕZÚ%ó_H›˜…o`_†ï‰`w$[‘Æ¢êLHCâx!󩜚ÝlÞJçÐ3§Ê)4}z<—<éåK+[2Õ¤$=)è`úLÔj®¶/};ønPU…V•¿=y !¼e$5…•F³ëI"j¯!ISÍî2UJü ÿ!Ëo£Õ0ˆ „ ¾¶W¶3…O—™W¯w'b 2ñÔ.š;æ=õ£>Wäû–Ïv‰ºò!²Ë:zÇX‘Ÿjï'Ûn•Yäñ:Á w½§Õ;Óå/Müç'-t?£&(pHH¥¤Ø†}_LY:i~õÑFUØïÃTB:Ö+[Òa…‘ïŠîƒÿòñ7éðÒ$=н{¶ ޵úÙ¥ÝÕkl¨ããO¼­~(H8Þ|Kµ8ö¾]tZ´W1B}G.‡3â…z$š®TÛá¤Ä¿óvm~‰ÉP”qï'‹}¤†§À÷ÌvðÔ¸Sy—ZkuOM7ÚËêkõ·¦(Ór«QõmcV}üU½É韉ÆÕühÛ¯ð´Úƒ{qA¬G€zÑî¸Y>Pòl¿^}n¹÷]öó“v„Ÿc)ueëºÒU(*ò<š¦j© )TGòî;îqá¼ø·Ëôf.óG¼dˆÿTÁ?àô8䓟—Oþg•Ök endstream endobj 507 0 obj << /Length 2774 /Filter /FlateDecode >> stream xÚÕZYãÆ~ß_1@BV2ï#ˆx à<, g€<8~hQ”†X‰TDÉëAþ|êìnÒjH4löQ¬ª®ãëêùðòî›çâ©\—Y”=½ìžÊà)âu¥O/Û§Ÿ/¯ËpQ/Wq/ÎØìáÏõ.ðëy Ûá3ZôWè«–Q¾xåÓò³þNËU”-j¤Ò‘T»Œ C3ª×¶ü†ô;˜ž/ºO®§ù„ jî¸ c òðÇåÏ/ýæ9Í=1‚§HQ†,ÄwÂ.þðó†Øä÷Nú@”4ЉbËMÁ®½<[Y}à)-)‡ }öˆ}‚±…Œ„áºLÓG9!º¡cFø2üè…#é3$µÔ:ã!Ò•¼¶D[T(ÓT½SÀnÀNÔo¡ìÿÒ@h@3œ“ÚÝ-Sy CÑ6¶7ï‚0‘B3„_ô83º é:ŠÄ$Ä&~‚±µ÷û™æ­¼‰_µcÑÿÚŽåÿç;<²]C7ÿˆ¡IT½òç Oh¹’ÙgùÕ"r%í~²Y~uÛ÷@|0¿)ð û›Ù“ŽI©*ôvh8'aî!©þ{! ×S3#‹Àßo'9rhdüJÎÅLùû²HPÎ$H}Í2'AjU`.<æ©„¦’­š-ü}ƒßŠÌØ\Ü3`¸"VÏ<$ÈÔX^9ñ™¼áP¼8vgGíÜá>^ÙY,?7O”ió;o4tm?s°}W‰4(8ÍE€y™0õ~Æ¥Iñ9CÒ‘Q§îßKþ€Ð°,”èl¸ [‡ Ša‚= Ä?p²áÇ«U§8:vÒz §B"Á0%öé]‡ú¶ŠF¬Ïôk6«$}bõDjXåºÈbVVŒQ)]‚£dñ=Ê‚Ä! ²C»!ö!JÇyJÚ`¼®TÒŠ‡NçÎ ƒÌŽ&,<7 Î:àŸ=ŽWrBËΣ÷¢Ìä»ý¼kë8Ç8/à@&+ oku[ž‚¾™†üÝÊű6½j¶–>AxB:Ì¡g»F‚ž5´}-Ó.nÒÈJ9R.Oìe_+aZÕ C'âw´ïV³@™4 ‰aƒL®>ã7º33<ã (/8é3šZ§AÝ/êèvIbÑ–Œª²ïZž NààFFÉáhî/—ôx6”»£¦IZw“…õr•gÅâãE¢„ýòWC0ä n ^šÀ´®•à³ǯ›ž ý±v,Kœ|8bð!!̬CS¥íç‹ £ý†Ö~‡2õÔ›Xõ‡;¥•›>SYM>H=åû[и£»¨ˆÅ}$Û¡EÇ™ÓeˆŠ·—érC}ëW‡ÃEiÆG™«,äÓûp·±ûì €zL GQß-R“u·j•aäŽö‘ýoŒîrq÷æ8`d‚avÏ œÃÈ}­³ãA;¹"Êœ=ã-ÓßsãŸQŒ=?7~µ}€ó— å¶Ã»U9»S½þêH 8õ½ C=aüké9‚áÖÀÙÌÕÅÏ6R@ÿJ_¡\µÁs§§D:å!É{W-Û¹€ÖûvpÏçkSª0uzI,¤ÚY±æÊßB½Ëq½ÁÁí¡Ì†^jÈŠuQ„.MrGºÂHÇW#ñN’–Xƒ·7Œ£5®_Åù> stream xÚÅS±nÜ0 ÝýåÁŠ%Y²Õ­A´ðÖfP}çËJu‚æëKRvr nêR’(>’zäƒ%«á“L¶0ᦑ¢kÙŠß…0µ6ŽNL‚äš¶:.¾©Ø§X|‡ï«”iDWë)§ß—«6Š•ìZQ["yÙWsÂYeYË„Z#dãX¿c?øU)ùÖø˜`ß—•¶š»eejÃû²Ó<>@ކ,U˸/í´bÂ$ÅSü×Ç#ú`Í{ØŽÇ\0Þæ“²æì1L°ÿÉîq¿%$¿ Éw"ï‚Ï>•ªã1ÝcÙŒý¬M ·»¹ò³qL>À ˜ÌQˆÎÙbÀf|Z›>ƹ¼é¿¡R gLž Õ ­É¼Ã©hŃXÙ#ñƒŸ³s@~-J¨+ɇi'øf4¤ÿ„D|þ>§¯-¤­cˆžVr”EmH.ÎѼŒËÖt}Ýðë˜^)>c,* ÿÜ·¢#º,ߎÍÏÃÊR ’’Ÿ‰Ö©Zà÷D´\NÞØ¤zis“ °7R­:a~Xu‚M'0A'¸<¼èTkÅ£þO¹ŸÎk¥j+Œ„ŸÑ:ÑêÌX[„ŠÏ}ñj2Ý endstream endobj 503 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./attractor_robustness.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 514 0 R /BBox [0 0 504 504] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 515 0 R>> /ExtGState << >>/ColorSpace << /sRGB 516 0 R >>>> /Length 668 /Filter /FlateDecode >> stream xœ¥VK‹Û0¾ûWÌe!9T«Ñèa]zØ¥[´Ð&°‡e!Ɇ<È‹Òߑ嗗®ƒc>™of¤™±&€°†Cöƒï‡Yvúùõ§L )%´O‹]vÿ¤øÿ³7@%J"þD¬ñCä9̶ð2ºƒý¼/W»óûb¾ùù|JÍçýñ4~…Ù$û2+~ç·ÎÀ¯ìå$,3„ ßë ß2ã„•àHH[ˆH/Á¦]Z ]¡†ErÂ`M—°á•DámÍ—°Å[Þ×|„ O$E®k¾„-Þ¡|ÃGØðe:ßÊnÀæÿe‡´¤ÀŠaƒdµ1ØÝh‹¤¥32ÃC®Ñ‡»V¦Ž‡û&Å»ÂZ ÷My.¬ŠÖÃ}kCUKlõBYÀå¾Sa¦±@Ç<Ãî¶fáʯ»ÁæaÛ”çbÕA|š¡Fáò„FO‚(ÒJúP÷mšr+¬+iǯL*(hÒ6(%â’b¤5êÐtmÚ¹ÚõÍS"&—u º C¥t‰dÕň ]Á†7)oº¼Oyßá%|> Ouã£4>êÆGi|ÔÒø¨ŸNãÓÝøtÿêÖüÍŸ( ÃÅ†ÂÆQQòÕ×vý ¨xÎè–™…ëãJv4 mùr4òŽ1˜ ÙŽw–˜‹Ö ÃÓ,ÉeØ0ÂÿèIÍyXÓ”M„Ú…¹ª›kIÝø4Ɇˆ9; Ó‹$?ƒ÷w}‹ÔgN9?»…ÇÆ“Ÿ‹ª£Ðn¹ßò*œ.›ss"j‡‡õ*hU µ:ÏÓ<¯-ÿ™Y Çò>4GHÏ›;8\æ|nÛ¬êmÌþníå endstream endobj 518 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 504 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./transition_robustness.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 519 0 R /BBox [0 0 504 504] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 520 0 R>> /ExtGState << >>/ColorSpace << /sRGB 521 0 R >>>> /Length 636 /Filter /FlateDecode >> stream xœ¥•MkÛ@†ïús ؇Lvö[ÐSBÓh  ‡ƒ±•â`)$²)í¯ïH»^IþHcrðÇëǯvßшàžà%ûίË"»h~|¹„y“ BÀð½™×Ùŵäÿ@#oASNè-HôŠ î'·Ï¯S8—&Õlµü;â¯å¾ÎªjYÿ‚ŲYÏêy9}€â&û\t[Ø®1¸ðù`="4¤ò(l»Êäúµ|Ù”õüÏЧö"m–äêî@»«[þÕøÝ?€€EFpï§Œº¾eζØ8´*ÐF£Q®ànG%PJ*G§ÞÊÄ¥èTâ[ÙskF<ÊÄ•ôèdâ[Ùs.‚£žG™ø(NŸ.ñwoX8P„¶ë‚‰@ÛÒ ë{¤‡8Ï®]ž`ç¸Ü#»~¿]òi3¶Û÷Û9zl÷'Ø= 5²ËŽNkµgOGêíT{¸U¬¾9ªPõÜuCP=%þ ™p”=—š8nâQö\IƒR'eÏãv¶|°»wŒ-PI°y{³tÙÛ›^2 ]Þ™ÍÉf©4ê̇»ýM·"Æ÷ékk!6¤îÛ…‡`¬r<\z„:õZÂO¨?6%ÛÈRÅ.á¦3aЍöâiŒ ©×í­hî¸7GTy‹Ö‡Úsi}t+ËMÇÝaä ±´ó<`-Õ®ÛònL¤a¡tðœøÏ¶Ÿ¨AiÇݽ?Q÷/0š¨ùø¾î$ßæ÷H¡Á> qv¨MÞ°óî…§òó#ðc™Lfõâ¹âdÍfµnÒCx¸;J!%—O»þ¹ä8æ¾ó¿é$‹ §òM˜Zæ ^6³z½\•©™³îBÄ} endstream endobj 523 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 532 0 obj << /Length 3359 /Filter /FlateDecode >> stream xÚíÙnãÈñ}¾Â˜' ±8¼ `df' ‚ÅÆÀ>lMÑ–b‰THi¼Ê×§Îî&Õ²'À,y°ÕgUuuÝÍßݽy÷¡¼©‚*󛻇›*¼)â$óìæn}óãâÓq¹*¢t±]F‹›Ù¢Þa»çÎa¹ŠóE?Ž0†kîq²å¹#4'ËÚFpôÃ=CÆþ¦åöˆÿµ£ÅÛ²­­×<Ú?X ‹°Ãæq—‹çe\,zD÷d 7«÷°EJ?ãâVæï±sJZÁ‰[ü¸üéîï>d…íðfEA• ³D Í=&2…·º|NCÚòFæÔ%ü( â¬ÒUo,‚¬áïï‚®‘ñ^æ¶2ާ|{‰º€ë-sÀy‹dñ©[®Ò46<ÚŽÜojâÕ-ôòÊÜÎ<àé:Å8{‚‘,jäþí,%ž³åqD±ÒqwÑâîß<ô_Ã,äŸèòøQ”a)Þç­Úxh\¥aäY2½æ½ ª’Šc¿!žóÜqv_s’=w¾0®¦r±JÊÜõ¤Y%†£÷Øl@+ib¢%èÀާ‹º[ó‚ ¡Æk´Gpg~l Ð`ôqíïªÈQ†d/&X:<$ðO6a¤(:seÄ€%ƒ± £á”èpñ@t5®àá0šüuÌê­ð|tàÕGîœU|vĉK„|Íõ^ Õæbks¥BçVàoäã†eš';/ì{=Åô6‘m3ûâgþ*IDoëŽ;d4±™LpA—øÖMo6xoÆ_¸m%/ ª´dòîQ^Ãڦy¾¸?É9ïq%Ž—U{¼øÕ 7OïfêÝ(J¡ÛH€FžU…m$¶'¬$®y/ ËlKÇVßž÷Ihg÷µ!E†‰ÏJÔiÐì:°ß×E‹•ïJ‰ËUYJ°}åªqJ¦6§ÿÆg^£nfbIÔ<g&µ“ñ­kËeü{ißËItçÀ{Ýä‚·+‹Biaÿ°S­ó9‡$ B0»ÿ ßPé/ì62¿—¿­ðóÑïª$H,óÄ%¤yÆx ¤—â‹B†¹LJ2̸Æ1ÌÔopù†¹{$\BðÖkcà-â2ú=wÉ~ôØe[ñþfn]qKÍSs+IžBŽË\ÍùÐßÖû½ÃVI–‘ÇÚªnA *qÆÁ!®pM xMCr0ªÉÎæ1'ލ]ƒÇÓ‚é:óŠG„Ò©HZ“™]¹¬ÕÝ ²Q0¶­Co€[¼a’HÖÊÞ[4Û 7@:àîÓ |ꆭ‰ðcàUx¬žXØÚm7'nãÒäØåxá"æ-_Âèà3’Ìed­&j-ä]Úb¶Ý0Gô ì@"ôD=Ìr)Š£+T^0™˜Bd#Ü­è×€.˜7´óØóü Ó €õr˜Ù“ “d­~ Ù€tq[VQžªùç‘@2Ëdíçe&¹ÙÉ¢&ÖÕ–H%d{ÖkÎYYZy„¶ŸS0±g[„Ìjű£¦Ó'©P«:;Ü»ö(/ oõ’K WhU™(M< ï ¯ì÷¬"@ƒ*%ÞZ-¾m5Kioy#±¤Õ@û¤7ˆ€Äy7rYç×$Ib¬Ö‰å¡S¥Ùšd“÷Ô>¯W•A–—]k¬äx¿ÎI-äÔµìfnÙïNª¼°é-È'ž-ªâ ó›U k£ˆWþ¢8¹$þ,}l?;>µõ;i÷â\îñÉ íä¯!;Á¿z°[ß}üj¹ŠbpèÄž“xÕïèf-DìgºþBù{Ãüøcç„nü¤óKÇ_o¿:åß uƒ­(¿4vSXr.ûÿâl;Ì$sÎr Æ^£ÿë¨ÃµÈ/œ »¦2)¨ó ê}ÚÙT5MóÐrcÜßÀ–G5'ÜP&ôo8ö’¸†‚È;A ¾=%s/ÞÎs;rñD9L2Ö@N\–.9qQš Nœù‚¸§ÀiñqÙ:ÅnŒžAfct²úÏõÙV™ÜkM¢ 4%¦¹%r#’«Â¦:=l{N\ˉQ®äà9o5¤Þð>öõÝè Â„éèqÁe$U:å4…N8,üŸ°0žšœ‡8²6A뽆a°`ß‹pagè±9òˆºÝ°œˆ¦³kÔ'ºˈQ×ÔîEé)KÀðEY‚LùÄÁ#žÅ{¢ßMh’y²­,¤ªµø¯ƒÐ=j¦óÆòT׺DdêÜqj’&Àò“^ÅC¸_wë·Ž©[iPk|%×oPsÓÅšÓẉËú'Gã>Õ¼œª;.wËeæR¬Y0ÇL ±K¥pðãË4ñ—Rp\,ƳêE¶ ÍŒ€æaÇW™ÂqË¿+¥ù¸Èƒ(ÊÜÂN¼ÛQÜÓÑñHíGÇÛDœ_,”IŦ’n¼eÂ[5¹…fŸb“Âh’UAžFseWùÉÂE?* >/E ׳$iÅùŒ¢i-P®„JçÔˆÙÆG¡aŽ™´ÿ–óÚ ³ˆ8ö-Sã`¢Ó¤æµÁ#’¨ègrþ{M©ª'%ଚ&ÿ•?+穨Ƒ0>©ù™†Ó°b™|ïh¡RM~kþyh)&:.í®{°Á‹Ù‹ :N±‘Y¢"€.r{™“Ø‘M}àãÚË2åúl¥5 7’|Ê/è^¥(/¥pZyŽ“Ï›~´`F‰à;VtÎØM ˧•ú¼º&¢}g÷PŠG" Qø­áÔ”½û[U,ƒ*46Á/”A’N^å6Þ¤ÒÊT'É ­Ø·f1Uñ†e†@¯½ÄÏ1A‘&Óq¸üÚ ‚¬Ê_8@¸¹Ý*M#{íh;~&ÛfrÜ#O ÅÅ‹„ Ñç-‘ǹ‰H³M™\Rm˜¯yÎè´Ý£Jí£pk®î>UiŒê€+òö\QôÆ cÉĦaçùT.qƒsœà¶>Ù‰i؃žë I¹x¯‘òÁ¾µƒí²Å1B/®˜tn_ëÒŠ‹vݵ+oX jUýdn´PõN¡ûÑ)4osÐ1~–ÊMT]é+e¢QÊø“ÎêX4Còœ$ç† ¨½øó­ Ñ…“5[|’-Æ.A{V…Wºl9Ež»¼’áPÝzŸÅ>ºœQ¢…3ü¢&ÈÃ_Û>j#}¥nä˜lçiË0Ôú_I{9@§ågï;Kº‹R À±¼rÛ{6•žÉñâEä+aj ‡ˆÊÿ×¾~è“CY+o@ú^Ô¾Z±p®…Ü^Ò Q‰"5,¤I=ó{ž"­(fâ_$Ö0åoG3J¿Qòv7kã‘>ÀÁéZŸƒ¡½6Á6VYàª%tÍRºæ¢ëœÁXHh7VzM_z¯§%þâ4®ÙjdFu'5 îU«x¿Œ˜)®ðjç“ø§—Š&Ÿ:S½@Ï”Æ1ß5üÖ ‚=í)]عòT›ÆV5qõàçN£S¬0åfã©'#XóøƒÍ»—€6ß,"Økß,âÂcÏ¿M¿'UԢ넚+©Q³a«ûùÅ1WPâiÐÝ9gTOb l’¹qôî|雬4,Át€cjîîÝZ‚ú‘ f¯_üÅ©S…‰?Š#Ëzo>>@T«?µfL÷„+uטÏ=æìcyÊQÉýa6Ýgá]Oáçáàxb"„Åô‹ñT V~r2D ¶ÊA[Î’ÌÅÃëÔ7g¶hQ‚„#;ÏÆ,*?Àuæw"£/_b–_ùÒg0^«µÞÚ3ü¦Ö°­]óªA«²îCh±Ni| eñдŠ)@®õÀãYŸ…Õb‚qóU…gYI*Õ”´äÊÂ^묜n™Ên*5*A­âµûìu]ÏqéÙOrU̹M:­³ ¸/3¸´æ3@ÊC«Z_Û3'܇e¯ßï½ÞÏ0aZî1d¢²3i„<½óMIÄéó(Íöh¿EÇÉÖÞ~´0ÿl1|)û(þ{³ü:ûxýU¶‘?=³±p/Pòäú•Tƒss¸­j±s.ïz^‡yEÕÍ*©‚2“÷ܤÀ…o~÷æ_]¤ endstream endobj 539 0 obj << /Length 449 /Filter /FlateDecode >> stream xÚSÉNÃ0½ç+|LqmÇNmŽˆE,¤Ü€Cš„¶jRC!þž™±C TPw–÷fžgÉ<’É©æÆ9¦µà¥2¬’·„QGˆ#“R2òb`r3HÍ.|òÏ!—+£¹ÅÊ™ŸåòQc.­áV)DžWÉäÊ2Ç]©JV½0вàNhVµì1½Êdº„w¾ßÀÙeyau*ÅY–]¦UžÞuÄ®—+‚ÝÆ`ÓÁ± |ÿ~·ÚÕ»CabÀ›#«›SË<Œ×TÙ=œ¡ß¼CnGY*Ú8Ew™²é;~³:”|F€·ˆ*·ÈóÔ¸ 'ãMÖÙsu‹‘’;cÂl?îµÞŒd¿x¡R*‚fAæ¢ á¡P÷KÒ‚4—¾^>Î*|S?õà¯<Šß`‰6 ûqÈ¢  /ƒðs²H倻s*½ÛÇ®øÎêû­r°ï;,7 ‚ W–k1MÛ¯aÕë£åjaiI!X¡ÅäœDvÛ1»E¸'Ú¿¦ƒÁ¯éC«†nýȲ§vKX’Õ[ qj}Çÿ¢¿F 7ãÄW¢äFÂTZ®mü@ ‹¹ä²J>9"òí endstream endobj 526 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./indegree.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 541 0 R /BBox [0 0 504 504] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 542 0 R>> /ExtGState << >>/ColorSpace << /sRGB 543 0 R >>>> /Length 638 /Filter /FlateDecode >> stream xœ¥VKOÛ@¾ûWÌ)90ìììóÒ¨ !µR›H‡ˆ˜*(1" jûï;~$öÚAMàà•f¿Ì7ïÉÜÁ3¼f?仜f›Ÿ7—ð¸É*¥ {n‹ìâZËï§O@ >j™¢Am@c0]ÁýèfQ,`QÌó1°‚Ñxy‚Ív¶Íåò|žÿZçùfüÓÛìë´2¿ãïžwl¡Õ 9 r¥…Ñõ:}ˋǿc˜>—$euW“AL®¾Ë­·ð;»óŒàV¾çŒ*ß2ëÑ)ðŒÊà j‰}@fX¤+4;©EÉ z7b‹kïІ=Þˆ-Þ˜Ûáë'Tè …¬ÁEô\%PíwDök]rÉVÊtº¶ÓQUÚútmö„®®<«NÉ›:Õ§áJÍP%­s¸ƒâs=!>Ó”ÙÄò„BÉ=ɈFý.ê<Ƙ ¬ÐrjñQ:9Ñ5k`çRÃ:_ÃL5¥°\ÓÀN¦15MZ#Q zR„xŸó˜®Xöj 7RÕÐË*k ¼[ܦ¸íã1Åcלà;±ÅS÷tß?Ný㾜úÇ}ÿ8õûþ™Ô?Ó÷ÏÎîÿô®6¶\Õ,óêE€ÖrÐÎÊwÖ½p8I»x<‡V/Fâ=# 9b`ëýñìAH\ ã9Ì0§Ñ‘¬oû±UEÊÃ}c¼x6lœ¡¤qbd%¶RdIW(IäYwêìP–ést’™Lõ#AÞë±ÀhVÌ_V’†ÍÛrÛ¾ ºþÑ> ä-àÛ«Å4СæãcÙ,5Œ±üO.ã‹ö ^ßfÅv±Ì÷uÌþQ«ã« endstream endobj 440 0 obj << /Type /ObjStm /N 100 /First 868 /Length 1903 /Filter /FlateDecode >> stream xÚíYYo7~ׯàcýPÞã0$v’h›"1Ð6†6«µ³¤u¥Uþû~³²µd{eË(R¤€erÉáp.ÎAz„ÞDáš$"7Yt½Õ·F˜Ì­–Á¬–ᬮƒ#á(¼ ÂupQø¿. b8§1>g1œ³"0œs"0œó"vp$"Å‘wAÄ̸¢Hn…3En³ÈLqFKøö$ŒŽÚQê£0è½÷èD#<”˜Š#˜Š«Ëcâ‘ L·šÄ;SÖ€]´°8|0 ¯9@ }äƒG'00¡“9a Òñ!¢2=aUdz|6 ôØ"'#ÌÂi¦'já°ÙÈcsìD–´Á?€ðt”¹ƒ‘@r‚R’ÆêÄ`¡Oøi žî'V²Î@XúØ<1IÃɲ¬âJqr}f’À¶Ï`-2øKšg4oÇ3ijØ2#íÂȃ$`áaÖ=Ø#ˆ ¢bè‡,¤C=¹È+¨ÖøVÐ0M £A‡ÉÄ ΦC*‚öX ¦3±ˆŽçN†]as‚‡;,8Pâ˜\`¬6—Ø!*ÈM3€3°F£6¼ŠíJgF›:8 |J&‰˜NæU˜ŠÌ$“°·0_§Gûû#u(Ž¡µ7BýþÇ;ÑQÒ2ˆÙr29=yr+TÈ2å œ2ÂRá\–:gI&jÎx™ü|h' pÎg+3Ä<—ŒÌ8)ƒpÑHm†å‡.5Ì}Îg©ó°œá¬¤qÃr†³”&ËÙ› ­–³×$ù˜ Á¹ì¥ÍÃrvÉIç†å ÷$Ýè‚‘GáHKö¥ƒp.KÒÃbv6IvÀƒp&JJkb~ÑÌZ±¿/Ô‹Ä‘ïbÅ‹„¨“/úˆÆ^N@NrõÁ±Ä\ÎŽK¶ûnõë¼)ßV­8ê×ÃBUŸ[qµíÑßç&гj¤@B5kì¥yùH½©Ír^V‹.ÈuC?WãºxÖ|Ǽ¼’´p¯ðÐ2åìV̵+ð§³YŒÇ]Üd’ÖvîæGêíò}Û}ÿTÏ>ŽÔ³f>®æÝæDý¨^©ƒc^®O˜¦Ì@f(‚w2"z˜¸C| ä%¶ÜÓNšo…zÙ5zøî´>[Î+÷X.=õ@eWêA䂇/·j§¯/’^Óá$!\~ @ÜØE!d6’¢‹]æUÑÖÍì°h+ñÝáV› ƒõ†a¤=`mÆ·ÎÕí3oÄËyqþ¡.âõ²=_¶{oãeYÍygZ꽋½Ú»Î$ µ§z4#õK1å9 +(U'xõc5ùTµuYŒÔóYÙŒëÙY—@õ8Ú¥»å÷ÏšÉøf¼ÇêÕÁ/c4ñèIo¯Ë+¬WëÕoõìélQ™>¬OO+hÕ†ƒ@jZÏ– ‘ƒúkÙ´Õ¤:mq–½7ëbQ«³yñ©RE¹l+UÖór9=TŸU[OÆ•šå¼™©÷ó 0XR”%¬Æ5¶XÔ %q ÆÕ©šcoUÂ8&“âjðÃrvVÌ—ÓI±lUsÖ̪ª,ßâ¼(«“ÿŽ}˜¾2ß秇à÷}Ñ.ÕÆÂ 6öüsûòm æAúS¡¥Óö.sëdY ¬€Y·ÃðMÙ!»gÒƒîy u™ÌÈ®MJ2&3ìËÙ/ÿþúýŸ[xêÕŒ¿pí¯¦] åvòàÑoxðhw ©aE¼¿È¸„Û)Ä¢Û ±@+¹|2Èj¸¾LI.¾mÙ¹#lY·•\|˜.'Õ§ºü m?ÔîFµœë²ýËhº²XêÄ-R[û¯C b¼$.À!*ã9=ó2GrØ€£ÛÊÎû`H&ƒ6›5Ù¿–¢ôs—kéÊêrc'ûNzÓ¾Ó}ìÛ'·nß1\·ç;£R¾#*åÿRTŠ}Gõ´Z|ÿ¦™³~\Jé¦%åo)6ìV@XG’¯u"ÎO²ÅJ¤Ôð-2„pWý6nÞîàæ~€²¨ÈCWùR´»œÞÍÐ…ânq§ÓœíÆiÎú!§¹Ç6[‰©ÖÝ%©ínÕØ#¸·¼Yg¿«@îSwÞÎÝõ,æÌ‘ÞôÝ9íÊ\~`QýÈw´R|Ÿ9¾ñÝ)0ñuï#ÞeöÒÇ÷9Òñå°1Ò:pNÄ×vwù¢¼æ‹ø¾{‹Cv ¬»èäTÏÞ[=½ƒµf¡½ ‡*Îlø 2»ø ¯?{¬GÉÜt7Áï^ÿßMtº¢;ôH_‘­½IÖ}cµ=?¹mã®ú`ÆyÉO‰†+¿õ[ùíj{~wÓw‚o÷wqUnÓU¹{¹*r~=ÆØI\z¯Úô˜1Ç9-ù!Y©Ô¾{ú•©{¶Íh·9;“ä4Ê¿ÛñS²–Ý[uð¨iý]TýˆÕ|D)€nªzR ¡€’ K"º½š/›OÕ<›õìÌ#§>kO?[]Þ4ØøƒöÉQ»[}òjî+ñÉþŠ£c"ù( endstream endobj 546 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 527 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./indegree_kl.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 547 0 R /BBox [0 0 504 504] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 548 0 R>> /ExtGState << >>/ColorSpace << /sRGB 549 0 R >>>> /Length 678 /Filter /FlateDecode >> stream xœ­–KO1…÷ó+¼Lß{ýš-¨T¢‰&Rˆ„T‚†H¢ªÿ¾?Æžx2JÔ.tóåØ÷Ø'wvÍ€=³×æÆ½.–ÍùîÛÇ ¶Ú5‚ !Xù¾[m›ó+tß_þ`€<‚ðjŠ÷‡[Ë–/ìvöiÎH°Ùûfóp¿úyöyýô0wßb³Íú=>í~ÝoWëù[^7–~ÿ´A±êY±WÈ,ºÛbvõ¶~}_oWælùÜ-Ò ..#.—_ݧF±ßÍíì±ví^Ï ø ¾4†¸L™îý…ɲܰÅŽ•à2P ·¸ìq*3·†Û6óXö¥â‚zžÊž“@¦ç©Ì\µœ óXö\‚æRgw±Ì|Ü}Ïÿ9"ZqÔŒ€k‘™àn®¼þq1 v”j,{؇(T™Bø8aÈQ ÑtË%ËÌÉœbùXÜb¹~,3í&^tÄ4’.AÈ´—ø£;ÖI-H“&Ùh’'ň²ë¹FqRLRÛ£Yš»ŸRlÛž,–Š’D1¶c€â½PHøêm;³íÿ˜ë!î1"ݯÑrmºµõs¶„^åYëgä!?ÁQðó÷ O‡’‚’K?ÜKl 'ŠTU~ÀMóÔ4èʆ# ØT¦Êµme Üëq[¹B#ú¾*[$m¿5bek ¦úžDÛÃÕY­*_eç¨'¡©Œ p[ßWqäña|HMP+Žœ°òURšÊ ÉÊU©US$SyÊÉï¦åž£¶•Ÿ ¥¹¦~ÓøoÇ)Vn H•™ª /RW^ŠŽnš¿ù 7Õ endstream endobj 551 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 556 0 obj << /Length 2653 /Filter /FlateDecode >> stream xÚÕÙŽãÆñ}¿b°ðƒ„X4ï#Hx¯±^Ã1œÉC‡¤ŒD)¤´ÚÙÀÿî:ÙMª¥™]$yÔguuÝU­7÷¯¾y›ß^‘†éÝýò®ðï²0òü4¹»¯ïþ>ëæÁ¬éáë´…¯#|úù"Š¢Ùš-6C]7Ü>à²ý‘;5´7¸™FËy˜Ížæa>kjž`D ÏâîÃ|¦‡ÏÜïxø€`Ú¾·<°_2¤·x|V§Î |oþÏûîü»EyEœñ•Þvq”Ðú›)À¥ãzÄuó@à ÎÑùÜÄé3n;Vx52®Í‡Ît½¦å¬Káµ’ƒ@®ºrÇËð8_ʶ²ªà;„Ed/q g+$#‚*ñªeEsÜ¿?J£bÿðŸfÞÊ›/²$œbõ½ìh7±¯H„ÿ4ƒ|l>€ ˜à€k0«¼[Û¸À5Ëݘ]¶Ä¼? ½ñóPeÐþ±A(Ä Ä¿cµ °¨#•K°QÒ÷c±Èù¦›ç€à Ö@dä6HÏ"Àæ²pâ‰awwØ ¡wÀ~¸Ã‘çHà÷'¹ ì‘g?Å 8’Íî >¯6G+™éö_ãXn‰€Û1V4Ç*ŠÁ0Z°V¥ü€_Ùµçf-¿›Þ¾¦jÇÂ%.»†Îpxý¤ø‹(õgÕiˆ˜›Û(ÂÄ—¶•Ð'÷­Ù².0é9!SV Ðùæm’YÆ,ô}/És@’; ƒ”ÞïäàZÆWÄ$n7,í¾ =· e–zi–*h¹ËãƒÐ‹ÓôÚéßÊïQN-IkÅ8ÈØ/ÒF%8Y{[ Vÿ¦AT –ýEú^™GrרV¤]µ2lž JgËQ®V`bH1·äHþm¦ÃtOÆ»U[ÇVü÷š‚¼{*‚€Q³ˆ·¢µ†0J/œ>[ô}„hRFù+¸“ß­°FÙ÷GøÜ kþ Ÿï ˆƒ,Unî wlÑ›íÕ"û1¬bÃܦ¡Ã`ïwbÒñ”º1hÚ–º-_™ÝR2úˆã†5¥ÇsÖ{½l̓âÕ à¦×ƒk°Si’pv#xÉ¿( ¼$¤ñeT¿ ]’za*žÝwS ó‘~¬$êQžyYeýL¸#—‘’µB?ϲ¿UñM_îtqñ‡y"Žãd ¨'öPÐ=š(Ê,W8rÅÔW%©ñ6yŒ]h:ÚGëºsÅæ&\±f£T¤å«ùK(qëŒ_o#ú'`K¾ž…þK$õ²­(ˆ#ãÜd7¦ÒN¦ËñðËx/§?½Fïoë%Ø~Z×uñWwÌn™¯û!ÄâÐ&Á ó§ÜVZG+Å£v²£Û.e]¥WçÆ¿ñβçñ’»ì‹$HUþwvÝIãTXl…\ ÈÁtÖ¡ìkYw'žü[`QäCÆõø1Nxψ‰=OŒè‘ŒüÔÈ<…@qb"<ˆ*Æ}´êšGçéº S1u…•ÎÄYg¥hƒá_îSM×H¹=­ Ñj=TÚ ?ñ¬V£.è¨ätVFâ œ#hœD—WyA<äJn¿t!è¥Ea4©±§É¸jö§ó1F(%4hp¥ŽU;´86VPKÕ SøÒÈá§žìgiïÅç4Vø¼›_Ljc•&+qQÕP¾’ &½µŒò/–õ¬‰Ýá^B ´•¾|nŸ0½þÛgœB=¾0àâ½·1úh9ŸëDŒH>XD/¥ÞÖ˜xÀ²l8´7ÎÎeÐû‹U·›¯o–d,J¡,/Ý Ûõ‰ËÎ0åltÍt8«$ #ƒÓ|»ÑLMŸ-à, +Wú¿=˜LgÈã¶Oó<¦48ˆÇg‹p²\ Nc/"xm4KÂÚ\µµð¯ME%¢Õ/Øã(½èä!Ä•ðôW^vÄEè{Òbò’$åpZ|áÎT|Œ;«Œœ<Äd\Èu> stream xÚuRÁNÃ0 ½÷+rLÍâ¤én ˜7¤Þ€Ci˘hZÑtBðõØI6vAQ\ÛïÙyN LâÛRk™–JЬsÙg&ŒÔÆÆ… Hu)±¹wP±Û9{ÄuŠSÓâ¢ëM“mv5³ÂVªbͳ’©Z"ϰ¦gO|—?àÞ´C^”Fr€«¼¨¶5¿¦x‡ÐÑ£YqÏ.’ÈüŠAi¹§¨]S3rºHu¡þˆv¡ôDÆÖÄ|ÿ;ùµõ©tŠ OþÕû˜˜@rÛ©‚F´ß1½'êDf rÈë#D§k®jþ•«-Ÿ©ÃGhüÒ<àšt/ÏÒÈ$ípž|¿´¿ˆA^h­‚€à„1†è»Ö«AbLv$dS@zÉŒqr­õ?ê=iYÒ,ÄÏ·„UApæP²ÂÇÇ¿@I+d]ÅqJI`v×d¿þö•} endstream endobj 553 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./basinsize.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 563 0 R /BBox [0 0 504 504] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 564 0 R>> /ExtGState << >>/ColorSpace << /sRGB 565 0 R >>>> /Length 651 /Filter /FlateDecode >> stream xœ¥UËnÛ0¼ë+öÀ>tÃ%—¤x)ÐM-ÐÚ@A®ã6‰œí×w%R¯Dn+ä`Á£Ñûâàvð}–ßÙ2;-¿|8ƒu™)TJAÿY®‹ìôBË÷Ë[ ‰ˆˆ)W˜kИ簼ƒ«Ù»9°‚Ù9h ³ÍãHàêûÊíoÕK¸¿…o«r[”Õ¿ÕáÐ|µ>lï‹ù5,/³÷Ë:¸f÷Þ–oz‘¡•ÝMŽÊUûÏ.7O›býkË]µH•eLñ|1’ââü“¼õ~fW× à&#¸”ß.£zƒQ@Ë`=:wÀΠ îañœo B޼V9oùv| dêø[Þxƶ|[~P_Ë¿¾ÅJ22`]Ýã™Vª©n¿EGÔAòõ=5OQ뜪<:µ›¢6NjÅ=u>EÍ0ôÕ¤:y,·7¨¼="–OU¨‹þŒ®›QÇ3ºŽN°ã59ÔyË'Øãs_º–°ã È¡åìønÃ÷¢ÿƒÇ Лº6£uý«–˜ªæTb;Y¬e&%…Ø•éj™*MQ=}ocÅí(„ÉjÖŒ¬£ÚöL*ÍPÓš8T£Ç |…âu.fL7¬1x©ެ½È¼C뇤Ä!g¾f“£õiýJ´Óhé(ü®O×!E’sägKç®:‘Ž^8®5F8¶prÉq’u݉#dôÏA1$$J!Ñhíµ5]óÄÃ#doQ¿4á—K L8 ½¨†Z"vbÁ.GŠ“÷œ:¾19Iƒƒ“Á•¢P¼¦åÞm.ÝâæþN’+Ÿö‡²½{ûáQ›'ûAž ó|©ügz\Í¢´>È E« öžVÅa»ß´‡$ûиÉ^ endstream endobj 567 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 572 0 obj << /Length 3363 /Filter /FlateDecode >> stream xÚ½YsÛÆù]¿‚ÎCœ1¡]ìâÊÔ‘,kâÖÎ4–ò”d:I¬y… ­¨ÓßïZ`—m9Öô°Ç·ß}­Î¯ON/m:Ò666KF×·£RòÄÄ*KG×ÓÑ/‘O´Nlôv¬£Åz<1:ZÁëf ¯¹ªå_Ò¨Á?‚ùß®ÿÎÀu\¦)W£I’ÆyilÅZ¸ªÆ°÷ Íà·¼c°Ëf;6Iô0vpá÷±å³gK^³…±û†Ï+Jÿ<•q¦28—Î;‡…+„2ÿþ ƃXÚ<¶eá6ýª´Ór:ìa ‹ªß_ŒÊ¸Ì’ wOÇZYxQ±É…Ô×´M \J²hµ„)Ñ ?$·È‰”¾fLKG¤¹wF™Ç™qÎÇÌÄg ¿ž6 |óØ¿_Uªø¡1Ïuœël½Z•„æKÀ©,áB ‡@.Ið“œÙñ§Ò¨®–¼æ†ˆlø£%ô`é'üÓ¢4±ƒ×¶çÁ!¥º]4‰Cª:? šÖ, Pqã‚ÑÄ‚ÄëO]ß‹F¢Ò©„0ØÅM?ØËŠ>ñG‰ní&TAÔÚ†?YQ:Õ–G¦„K½T…÷S9rÉÏ+< fÍV2šòé,f~Ç5•L#¨<’ƒ«õÑÀíN†Jw:‹Pæsâ¤fÌC¢ê–­3Θhu‹O ž…ßò\‹J²£ÙþDLÞàòÇ!ű(Ë$0}ùÍÅ9P “Å©5½jL¬5Ñ帰x:aM¾™´XÏÎKžñe ŸÈÉfNG¶52¡vÞdˆî²Ð‰€ô–¾%v8<ól(óY1ÑyçEŠ® ü|Á„ýmØÁq‡ó%aB` ?Jr,Oâæ‚¿„¥?^ö"þ~ b¡CÕ.Ë T-;aÑç_áu¯ÿ \JôB”Uà>ʰ釾ݞ$®;ƒß»1çno˜/½%_Ú›#\ôA í—OÒ… |)G^‹à~Þ£ý0ö{ªr}ÌçA‚ uût\+‡/ú6¬”È#X¥8¦¶œ"[åe8Iy%q°e»âÁ©ƒU±hðá¾óàîe‡‹Òk(ÇOÅ4\òÊ[¶J\¿ÉV²¼EÈ«ÝÜÅ=Õ¡H6^$ g¡¶qrä%ä4¿Š4xóõ\3E§tÎBfÞøœÖ†ÆÄÆ*ïôÆÿ]ž½ê€Vs–’ã®qåø½3.ª7Òo"³Gî,t;LÖÄ€² ~a67óCÿÁœ6)ƒ"?kªó˜^¢}Îã·Î'Õ^̠Ȁ³RdÁ»Ž0"¬fK¯M㎡ls!©ª5*:—-”´¥c£L˜OÝ#'(-\So@G§§-a2—êrµ¹;½è,¥váÔJv¶§WÁUC=óJvSÆS§}€ÑÉ›ë“ßO4P F2Ï"ÎEèÂ+ÄzqòËoj4…I°»Ø”Åè–.FÇ«¤ùèêä§“s¼S îtN,!HVåLç»FôUx¹w¸IãXò ‡›ê7nNIáBÃ%vü´ãœÌ7®°ë"j­Žóâ9¸<Îó=.½ßóˆ®Û¸‡„\o<…$B$´õn§kM4MI&r-_—ŒÝ¥$%É”'AF8x †Q³e|póg‡¦ÒJ“ çS›'ÏfìàŸr«£·r¦»¼ÂwrÕT—‡ïOÉÛsž8´ÒàÕ6–2ý®ÃÏþ%Qø—½Ö…p/tú®@°îB)wÉ„±®¤÷¦ w÷Âó.þ4x÷’‡\Vm~i_gýaÎsÑ—;Ãa‡Ùˆ1Gn‰9Fäð¾ øg†‚Â~p7O÷ƒ·C«M‡ÙÝt¹ Ï}@ V®æJSa›»L“‚Žk9^u×,{˜nî îõw¢†ëEºp÷¢»î?):—?wßÞm©à J7ïu x3eÏpgÌ.Ïãœúãž78C6¦v(7ÄaWíÁ«Ÿš4íŠR˜¢›è\5ú“š.íÅu+1rÖ)é”W}\½d–ÐYa+'ÑEì nEð\çP³S®þ‚<•£êZ>h&-Yk^‚‚P½}·0t©Þ_wzx¯nŽþ3…tVA{ÁÿòR¢'¤c“ªšÛ¾ùÐéáj¨ñœȬ¾]©ú{’<.s¥ù’«(!b Še±Nmp°•SŽÔjÿÇ[üýóÝÞMFÛìð"Ãßñ¯'¶-ôÄ"û¹I±Ï@ É:ÏpàHr™@9Õ Ý°ñÀôž®Üèãgäbýƒö¦ Ðù×þXÌøâ€öð¿WÔ½ÿ iJhzÅ<`.8ðá†W¼âõ¨V¢Z/ZÿÂcÇó#ãCãÝ þ·? 3Cf¡ê¶ +ëó¡Á I`X /¶WÁ!øxá 8{6ŒÀq8*záØ8 âºÌà7¤ðŸ p?b­ <8 uôò@&nBü_£©R!Ô‚*ë`ÂWçŽ>Zà±iµC| ÌÆÃ‘€ ^÷:@öç›ú4-å)ïr~T!D©öXáK%<Û$CØSæ½ò>M¼FNùúöt{"ß)F ÕWƒžÇ×GŸÙ{z$>ÝR$멆ï8CŸ1p!èІR}xÝÐfƒ)§ÈhU¢MÁD·Yœ¨@¼Ì÷³jì?kóç> stream xÚ­XYoãF~÷¯æ‰ "ûà Œ1;Á»“ÝÄÀ"Èä–¨cG"’²ãüú­“‡Ecr, ZMvuuuÕ×_U÷íÝÍëwÙ"óÄ&‹»í"©ua”Ä‹»Íâ§àÍyi‚¢é–+›¸` / <õ ß}ÐBÃ%¿hoð¯ƒëª8òÀ{X¬—6 >-m”(ÕÂó%ˆ¤iÐíU• šÚ+Tq:ã— n:ê… x² _;ÔóˆkTþ‰¯kˆë É–»ɺ=¿ Æý`>©ÀþÝǪåUI z6‘ ÂåÏwß.¢Åʸ0÷){ëTq=Ç¢Y®\šÓD54³h4'Œ~ý.NG®Oâ0Š ¨$U虞Y÷ùE ¤=ж|Œâˆ ëG45!S´b/äš!F‚ks¼ It`'Sâ oáù'<ÿøÜÔ>cŸ©ŠòWÔpâJZvOÁ®Á?ÐÑ÷ˆ >Š…kîÇ!åYV]¢tY¡4ZVt²RXo¿ïKnWê»Åme­cCøL˜Çö ”\Ó‚mÕŠ1ä6šºÉ›ˆµõ¨@-¨ö†CµçU€î=ŽóÁ©À—'V‚#êŽÛÅ‘¢ ";„zØ'¥ˆaçÃ2N‚‚€†Þ ár•8¼‘[XÏupИôÿ¶$ ³¤ ù Ò8ÜÖdÓÖEqp™ á‘8$<®Àq.8äû“ZRέ$Na!:áNì®ä·‘u)y¼•µ½›±ÜVíî{›²&p»…76hËŽ²ÉQ`WVl-7,êxUžqŽÌ†A¼†:J>ƒ:¯ä:Õ¨hGa&;j¾•®ö¿WÀ| ÊeŸ“‡Ql§Øÿ@¸?!í9gÁCRâ‰ß¶JúÎMxS_±ûÂßI¾› ² ÙÝ>^ðŒÔis@‹ãù=B×-Á&ëƒ÷ÂüN GK¨v¸•úÁåq õtL\OÊÞ’§î–°é f'äÑ5‡+ YQèR1Kd?æ.óÀö‰xœ›âÄršÙàÒOD9à"¬ˆÏ²më«Âx\¬Œd’&/ürª 4”×8¸FöÃßÁ†)ÁhwQª ¨ªõó‰TVdƒŸ iâŸ' o„š÷ˆ~ ×5mhܳà([£Q’O,Q¬×Jà­$t”«®7·„äyÏ'{ñ|G¡4ÁWð¼–çqô„ðÜ«OE¾1¥¸Saû$òJq»kH‡©ëI6ƒÍñæ(Zö5zv·çå:q´ÏZRœŠfpÀù"Syó·Bà„1Z(R›NÝý üB 6ë$™(ÕôÅ”K-­¶Þ!&[´ï"n[YS+ÝyŒØa+Þ"¼íX}Pˆ9Rû,)ö%F;ôÖ ·‡üç‰GiçQ¯—äPŸÊW s¥¢*y·¬«àŸ—XHP…#>FÆ%KA[A÷‹Nc.£‡í5‡ˆJ LŒRzÐßqªG¦%Š>‹• y†'^b™Ù*Kë-%\ëÙÉ¿XVŸi <0Ä9k*Y¤ šë¢§o'Õ½Ü ®8ìqDšØýšÇ)¦´KŸk’öð=fe’ÿ[þ(‘°ÜGóž5]ŠHQm¸áXhÃùŸÌ¨4•ˆÿÇΤöóI„‘Aìæïw7HZÑÂ…ÙÐæ9Õ}9Ö§›_nBgKIbÔ¤.Ñž‰  Ëôëë÷'¨ßÖ7ÿ†?U¼RÍ«‘êÛ™S¥Í-‡»Qý@ðkú¢^ˆ¨’“ÛA‚„’Ÿ ¸ „D½dgmÒÙç(µ‘ü3t^35Yè³ôO0K ¢t£¬á½ ~Dë!aôK'B‚ö†wˆÔ­z†¬J^—flŸ‹Q¥uiF& ’±ñ°OàP Õµ¸˜Œ-ùÛr[×סí¨>>I2ÜêV¾ †_IPj*U9ïÒæ”üzžŽ"œ‡•^q‚ÂÙÏ2d-DPP˜yØ×"ú²¯¹þMW«Œ.WCÐ;ñpÅ¿¿d³'*ã`Ò!Ü'\£'»dJŒR”ƒU.œË¸Ì¸Näs'{P=Ü3üC³0rHœSn„Å\ŸИO²Ó˜k¥»76åû”§ÞZùŠIuŸÂfŽ/|ΠˆPÁ?Âyü²/Ä, IHÕz ùdÎD¼#E ¥ö~”‚òi{é:ÊEÉü-QË}m_#‡u%%1¾\¸¦v_Ñ멾ÑBð(ê"È»H–z! á8tϼ‚Nk-µˆ §ËR/+ê¦å›ïâàC©é©‘{°—ì’Jr&%Ñ=ZÅ>}α|BÜO)zº³µÁp `µœ€Ó^øÒr¨­%h3ö i=Ž/Çë³WÂÄÔPµQvŠvÐ[‹*-^±}êk >ô±/3ïdZá'©¨çkžíE½æØ~ lØwÏ»çzc?+ºþÈÖÎm²éeÏ){¼ðÕ!tùÞVo®ï[VB;ŸÔÑøzû¬n¤/WŠN¼¹aõ•N<‘ŠAPÁ§©—zSûê=íŽÈw#›f‡vÑæT¦š¿)G¹Ú÷"õü…lcuõw õýÌ‘3 ½•¨÷û3¥ _­õAo?Iz’Šâ¥NÙfbW_úƒ¨\Jö|;w/mbf¶ÇýâMvݱé»â$ÿ/½½›‘¨žÅÃþ¹v„…ƒ_þ<9z:ð^5ärƒdµêýß;Ùà endstream endobj 577 0 obj << /Type /XObject /Subtype /Image /Width 1053 /Height 678 /BitsPerComponent 8 /ColorSpace /DeviceRGB /SMask 584 0 R /Length 35184 /Filter /FlateDecode >> stream xÚì|eÞøWïλW_½óôïéY°€Þ DQ,§¢Ø=QA齂J¥'B(B$!^H…*½C•:ìÿ·y`fg'“Ý õûýìg3;óÌ77÷Ûo¿uè?üðÃêÕ«å})€%J–/_®7‹ôôôeË–ØF$"55UÓ YSPND%4­(,,\lF~~~nnnzzzldäˆæ-Ÿ{> Zuyõyöyù(+e“`Ö»ÇGΜÕôÓé5«E<þOyÉ‚|”•6wŸ3³ÍÐÏþÝµÖ ž|¾ã/w}¶ÍàÏd¥õîPшJhZ±ÈÙÙÙÉÉÉ¿î^ùáoŸ|*øõ7§·h1ã³Á¯½ñMÕ§ºW~H6I f±{ô×_Eüýosk=šÕðõ‚N- ;·ÊjT7î¹Çd¥l*s÷~ãoùÀ³_>þöˆWšOùèÓI¼ñ]í§»ÿóÑ–È&‹ÝÀ>ó¦…†N›WqÇO™—{…Eú¼iÁ¡Q^¦63%!ÚךVäy 55ubß¾=ï¹?è¡G3_ymçð‘'7o>¹aÃΡßeÖùwÐCÿ”M@‚yÚ}Î7½g?üǬ—îÜÔ¡Ö/³û/þñÄžuû£‡lîôBÖËwÊ& `±{¿ ÀGšßýLß4šòï ¿ßøóš» †¦¼=±VõÀ‡þÑü àiwÓ®epów^}§”†÷únjFéÚÈ~ÍŸo<Èco’=«õ«¯žÛKö;¿ðê ï ž•qùç9{~ÐÇZê]Én8jn¶¡X:W–«Aç¤ÒåA_mÜo†0?¨¹Ãñy²‡3â÷è|dr[)‹vÉÞU¯Émކ³²ihpm¡iEŽ¢#"«üsò½.ÿÛß÷=YëxËvg§Gœ Ÿ~¬E«}?³üoUd“`¦»ÇË®vëºØÕñÏ¿ ¬~df›K£Ž/›sdV‡ýƒjìêøÿd“`¦»GÌžQ½E•š}zsê“Íb^’Û=a}dôšI½3Z~4§NÝ©Ue“`9vIûª†ÃñtÃÏ?o¨:Àw¾)kg}]Çáè–äi§¬¸~í>ÿ¼‹†OËNO«åÏ›´ ‹Ï¨¨”fÎصýˆ¨tß”2¹›$ú¡—>iw.Ù-†ÏN1K¿—Žš}Ò\Ë©UU:†û- é“_p8:L]°Ð|³.:?Üä=ûŒ‰òð±lfö©éxXÅÌ›<¬kŸÉ–û.,ZøMM‡ã³1´4¸¦Ð´"ÓA-ÛŒ¼¯Ê·?xðÆJgÿø€ó‰ZÎ>v6üÈùxMù(+e“`¦»Ïi×8å•›úêŽCCª ®vbÆ[§’:Jê|<â£ãjÈJÙ$$˜éî¶¬ÙæïïG=óIbíæ¯uÍý`ÐÒŽýŠÚvÈ©ß,ý•Ɖµe“`™vIþêiÇÓ}cV­Z½.g²(Bn“emþ?®[·"×ÓNY X¹jÕJóú¿ìx¨ï’ÒeYU˜—]Q)͘ZÙáèžæ‡<ÏøJºú¾sUª%Ù«–.ÊѶ¦§»Þ¼$¶ôU²kEöòµëÖ®(ðW‚Z>åp´Ï*Êó°]Hí!¹í2ÉÃDz™.U䡯JK%½´pÎ1µG5‡£ZhŠõÞ¹‹æ~-öŸNc€kM+2<0¹Î+ îyèÐ-÷;oªä¼±’ó¶ÊΞp½þ¯²ÓµòþC~PL®óoÓÝÓ?ª¼®íߎŒzìÄ”Zgæ¼âŒ¯çLmèLm òQVÊ& ñQÓÝ߬ûÞ˜ç[f¿Ñañ»]—ÔïùCƒ>Ë? Xþß/—5èRôŸùo·Ìzã1ÏK° »$ˆVt›ìZÌš!Zñt÷PWwðŸûß ˆWAâ'·©WUu÷×k39þ‚ýÃj8 HЭ‰Û½ÖýçºÓW>í7WõŸõ«Ö;èsµ¾Ö£uáϽêÇÍMU+§ ëTõ|ŸÜ=4>#uÚÕ1|Àá¨7.^°ûÈÀOeÝ}4¯ê¸¿Óع玘ZÿþûÛŒŽŸàp¼ï–çi²Þ0-Ű^KÉý¯¼U]þ¼XšÿÀ7Ÿx3 Ô= Bô¸ÀWΧS’“ôkª~нžku›¹ú8R§½ëp|”œSZ&ŽZŸGß=²ãþú““ÎG§’4RKR½zµªÖúo¿¤óÇo3hÐçµÎ•ÛØèså–17ôÓZçÎU§‘®c‡vK%ZÒ^?`²á£§ò×3-à%©"£.ê¬ò„óÑÎjÏ9Ÿ©í|¶Ž³úóΪÏ8ÿù”óþÇ×VzD‚™î^ØìÎÝ;1£ÎÙ„7œ™õ‹>t|äzÉBVý³ õd“`¦»×P»EL½žË> \Õ¸ÿŸ Yûé÷š}·¾éൟö[óIŸU¿\Ö賘zõú×N°KB¯Ž*Íú‡…n]ÿI‡£ÁÔ”LY;¥guGå. ®Ó›¸úÅ!±iióCT‘å&ӓݪìÿP¯Ý#†wí<$,)33¼ ýU˜kãÔžo–ö¯o ‹ láöíŠ>¬§,<$"73¶K YÛqž¬M{Õá¨Ñ%$37mvXXäü´´”Ä™!I:C"""“õ Ÿ›1×uÄ×¾RɘøŽèÑÔ”¬äÙ£>nÐ#2Ù-ÏS{Iðÿv4zôðáC‡O)]ÙÇemG$e&…ônì:ö‹*_ ¥…æž•ø-†ÌÏÌœ=¶Ki¦‚]{$…©Ä5ï?6<":Ewlˆä²G¸+M³¿‘0íGÇ”nˆi÷ øFpvÆùèÒÒæ…uSÇOÊL ÿ¶¹ëˆÕ{ÎÕ¿NçáC^r8žj7®ô Ó?”µoÎÏÍ ”Â`èì´ÔùSdé¡OúGDDÌIL5|4/ÿ ™Úë\lús—‘Û³ôþ·þ!á³ç$-ð|ŠÓÒŒ(ÿÓ/Ö× šV${`þ“Ïny¤º³æ Î_sÖûóƒÆÎϾp6oélü©ó÷¯¼á¬õâÖÇŸžW½–éî…­Ü;öÙ³‰o9ó>t.ýÔ¹ª¹smK×kusç²OeåÙÄw$€3ݽÑwu;&½?àÇfßmh>vóa[ÛÎØÑiÆŽ·¶½é‹ašø±i‡Ä ‡½ž `—y/žûþÝE½oâÒReíd×жç¼ääØ1euϨE®»„²D»ÆÞíÆÎÑöŸÜS´ÄR#kÑ’%‹R’“cFŠ…t. VGF¯‰+–,Ê[T”ßO†ÂÕ:ÈQFµ¯&cùñÑs"¢¢B¿•ÑgµÑ±ÒÛNzC¢©Û&$b^®Äœ‘’œ’ž›;SRÚ}ff^^nzŠ:àKSsä€ säDq)Ì€ÕŒf²Ô"4/=95sÑË—d¥ºåyrOõ½ ‡ãÕ.dåø.ÿcˆ_º8kAÖ¢¢Å®ÖPùš'…Q½ëD÷4”&¾A²‚ì ró—Dt–qùÛ¡²OüDWnÇ$.+Ì_˜—­?v\‡£Ê¸yi²œšÒS èÕ@)ªy¡.Ó“™¢E—œ\zü¸¢‚¬™ óU’æ'Ÿ;~ƒ~1+–,Î[˜óœÒð±ã\'«Å°iÑQ13‡É±ÛŒ“–¹@Ôè‘———#£ÿ ?š—ÿ…œ?w+.8w©Ys¾­'êž¹07gÅ)NNN™öÕKŽ*£impÍ iE¢’þwíÓ/¸„â£&ÎÖ휽¾râzõt¶ïälÒÌùnõµj'7úÈt÷…=_Ü1îeg·Î>sÙÄ–öÎ]¯-\W|æÌýpGÈËÌt÷N¡Í:Ä6¹¡UÈ–vÓwtž[Ü3e_`ò¾ÀØÝ_†oï²¥íˆ -ÛÇ4ìÚ4À.s{TwÔè=gåÊ•ù)S\_7?Þ.:1q’¬­ÜcnbâüðÞ2 }.t¬a®óC£µý'})ƒÚ/çêŽ8mx§gÔ½1UÔOú²º£J@B’ ’<±u!Ç%ÎøaǯTv8Þ•c%g¥Nÿ¶†Z÷xÃáÓJ7¡ºmœóñJº¿JI;ifÚT ÿBÇ èñe§As3¬ò<éK Ó{N‘z¶â‡‚¬ÄÄè/Å*^ì›p.Hlo#×PùrQõΡniÄK˜¾Éç;Ùõu} ØÄÄy¡¬Û´“¨C»¸ÊsöüÒOiq£‹Ý ‹žÿÝG²ºGZf².ºsIJIrK’:þôsë{ˆ&tq%oþÔÞŽ ¨89î|€ ç“ ÿè¡ü/Äpî¦tw‰¤7¬‡$¨Nh¬y°ó§Xmªã¨Ò%šÖ× ZÇï´~ý³_xÑÙ¤¹³SWç7ýc‚œ“§8§Lu;ûrvûÒÙü‹œÚ¯¤õ`º{ÆÈ.+†½ä,øÔ¹¶µK%vuuîëéÜ×˹»»skG×ÊÂOW«#ÁLw5{ÈgÞ·¾Ý´]ç÷Jß÷mÞþÁòJÛ÷MÌîžáÛ»Œ]ßö³·GG ‰°KLé v¼,%¥gϧ㩳ã'ö¨&ZÒIzÅ®ãcUèØI®Ûr:O˜£í&ûWq…<¼‘Ï:Õ;M^¶bÅòå±/ºÇjÁâÎr ˜«÷˜Ÿ8¾½ ß_¡X¾bÅÒ¬$WˆÔ¬üå+–¥ÏüÎ%ÿ t­šëÒ9)Ö<Þ䌠Ïd„\õÙª2öî’‘h•ç0×SË=¢õ+‡7“Ý[L׋¤0F-WsT+-¢ Ó ‰—Ô5šrþã;ËÆ7&Å Öyül÷¨“æ—hÚ=W€é©Ó¤ˆž·á“ÇgAñÉD—ÚQŽÿîxUjq¹n‚ê<;Þp|u'ÄŸ?Y=fæ¯8_žù™I*@•¶ôgüüGå¯Çù“üº´bB\Ád¹ÿ»ð›y´6¸fд"Îóç/hüéö_8ût©Ä´ΘX×kÆLgÈxç !;Z·Íü´™3Ý==aÞâAÿÞ÷¡sS{çÎR§øù+çO_¹Ìbgwçæ»ç}X0øßÌt÷ÄÔ„NSõOm:kû—‰{úæþ<¸àÀðžÏþy`Bq`äö_'Únr# `—ÙÝ«;*7 øU‹ÒGw›ÍŒ‹›Ð½šãÁî³ãââ“fÖw=ûù¨ðÈÈðQM]ן™”¨í?Aö¯â yލq®ñøçý§„OüªÉË¥÷äL* 溭éöÃ#g‡ lãº@„%9r€k^ãíö!rü“‡#‰ éÑ¥oHø¬ys§¸îhúp˜väÚ ˜1{¶I¼qóÒf}­úðV!óTúb&mÕªGèl·š—\d·­ôZ—Ès§ØüÜEiézò}„Äi,..¬±Ãñј¹óimpÍ iEŒæÎ›=yê¢ví÷~÷½k’B„"!Ñ™˜äœç Ÿ¶oÄÈÅ;çN™"Á<í¾ "xÉØzûrZ8wöpî 8¯Î]=öå}¾4èm `±ûÌäi=f4 YÔ.~g`ÖÞA‹~þN^™{ÎÛÑ'8¯M×i #“¦yÚÀŒY½jÿzLµ7ZMLÈJŒ™Ø«®ãÁn³\]OrNÂÄú•µÛd> IÈIÖu3ã»ÕvT/ ©˜—0®Ã*ìsŸtiUºøÉ°ðñÝþ%ÃôwŸ?w˜:­Ædå$«Ã§Lí[ý×$¼'Ïìï*€©É±çR§E7/57eê€úµŸz৺Œ™PÇ¥±Æã«ðÁ®ÅØÄü¬Yç3á¢ÃXÉüÜy“ÔÇ&C ÍË?f–k®¡Z×YçN±ù¹‹O˜Öì\Åhî9ØøžïŠÅÌIO ±ÀµƒÖ«F{`öìÙ)))9Ó¦-î°yÂăQQ§â抛0jöæ‰a_õ‘M@‚Yì¾`VHÁ¸†[R›ZÙéÔ–î§¶ö8¼ºóÖÔ…ãɦ2wJ™ÕdlZ«ˆe=âÖÆ­í3cY÷Ñi-"?‰L™n±;€q9…K5Š ¥'ÄÊÚ¤œ‚¥KrãJCÄ&¤,),ý¹K—,Î(  ‘’[¸´è\H:z^Ê")äÜÒ3?-w©:ióÜ?š”¿ªçOkJnþ¢Â‚¥¹†s—’¿¤tÇEÙr óS<µß}b7S’µ“p- iÅlD•’œœ\3jtÁ !«Æ­¼xÈP×ÇìlÙ¤ÂXï¾87+ubßÜ Ÿ­Šl²*òÓ¼Ðæ©¿–•6wÏÍÏ?oÄÐØŽßÏoõݼVC¢;…Ì!+­wð9±s…X›¡c$tìœóû¹–Æ´¯ìp´ —M®ÃĸßµúÂõ1±±î1–9Æ4ÒïZ>+xмd_òiii˜SZ6slG›µ0¶W‹À)e XÉá¨ñÊ{½y¯ëêT{|\’Ýò7$è×SböѬüõg'¦4h¬É¹+ݱt³é)ÿ¾ëƒçˆÝЄàšBÓŠYž™9s¦¼ÇÄÄddd,+Eä£kÚø|€Ësw€KELÄøÁ£&GV` Gjpç6­?û¸y—ÀQó²§Ä^a§8:)37#žúךVÌ´$""B-üúM—íî—„ÙqIé)ñQCd\RªDyu[BJzVvvNnNÖ‚”¹³¯ñS pÅ iE€WhZñ.€WhZáð ´Ð @+­P„……7îæ% 99™szÍrÉk åh…u°·ÞzË¡ãÆoTë5j$›Ü—ý‹§Ø Üu×]ƒ ªˆÄ´nݺråʆ•‘‘‘ùË_NŸ>]q·S2/¾øâ•Xñî½÷^‡/½ô’×Ǭ ¡U¿ë®»îî»ï®]»ö¬Y³.m鹟÷aÆ]ýõ—¤|Ê¥ÕªU+<Ï’%KÔúiÓ¦Mš4é"h…iìZ¡OX\\܈#|I@NNŽQQQ‘~åûï¿ÿÅ_âºF´Â÷"]¾|¹:›r)Û9sæ¨ëÖ­» µBU¿¤¤¤àààgžyFüB†ñ]Dh\•ZQæðµBµÂÎàY¯zZ´hQ»vm_pöìÙ{î¹§k×®Úš’’’o¼1==ýÒž¾K¥¾©F||¼T?_lâ"h…¾?^·nÝn¸aûöí§ˆÐ ¸êµBFÚmÛ¶u´œ9s¦gÏžwÞyç_ÿú×o¾ù¦‚ÏK·nÝî¸ãŽJ•*5J¯Z†~ë­·ÞtÓM<òH»ví¼NƒD$f!~¡>Κ5KÝe(ÓŒ¿ÿþû’<µœ””$)Ñ&>$ÌÀý[2sæÌyï½÷$U«V;v¬ZÙ¬Y35·¢X½zõc=öË/¿H‚ P¥J•[n¹åùçŸ/((ÐÂ|öÙg½{÷Öò%É–Äû±H-´Â"U›ô5pË–-üñí·ß.åäßê÷ã?^wÝu}ûöõTÚîEd¬‚´ÂSëÓ—ª´ÑÑÑ’)¥–-[ž8q‚þ.•Vxz¶" ࡇJKK‹ŒŒ¼ùæ›cbb|DÕªUkçyŽ?®Ö÷éÓç¶Ûn“AÚÊ•+eØ,#=÷g+6mÚT¯^½'žx"33S‚y†¥K—J)åää¨ 4ÐFéef¼cÇŽ/¼ð‚ ТE 9ަ÷Ýw_bb¢µBÆ´cÆŒ‘¡¯Œ{ÿûß:tHVßpà â*LçÎ_}õUU†22dÈâÅ‹%#^JL…y饗¤Tµ‘ª$[2åÇ"µÐ ‹TYlÒŸˆV­Z½þúëëׯÏÍÍ•sçw«½ûî»%:O¥í^D¦Á|IÒÓO?½Z‡h¯¦žZŸ¡µ>øàƒâeS¦LñùÝï~ç£|ZaS+~ó›ßüïyRRR,´B†ý7Ýt“Œ£Ôúºuë6lØÐÇA”þ©^õùÉ“'ÿô§?uéÒE v×]wiÃu}Âüu;ÊÃ?ܦMY8zô¨dP»ªÌŒËÈY†mGŽQÃQ ¬†ôË—/—QŸ/ß[ß%cW)®ùóç˲…ŒfÕIÑýå/™9s¦D- nß¾½ úôiI È­µÂYÁ7AY¤Ê:Áú“.úá‡J²}O¡i!׬YÓ°R_ÚEdæu’D¢oÐ!ÍSi…Eë3´ÖǼ¤¤D} z÷Ýwéà"hÅÓO?½ò<‡¶ÐŠÕ«WËŸ|òÉ:¥Èh_Æ`>¢ä8§Î£îDÚ°aƒÄ"cc½V˜þ”¿ÆÀÿ÷ÿ'CÙ¨¨(µ`3ã2x“ŸŒ$W¬X!+322DÍdlÿí·ß6hÐÀï#^!33³oß¾jfdöìÙjeýúõŸþyYˆŽŽ¾í¶Ûdˆ¾fͽ,ÿþ÷¿µ‰•K¥©²N°þ¤Ë9ªZµjZZZEhÅ<ФI‹Òv/"Ó`þJ’v”Eë³øÝ¶¯¿þúü£_, Ð /†¯¦<ËûôéumvÃãºåË—K,©©©M+Ö®]«blذaË–-Ý Á"ã2ÀëØ±£$ïóÏ??~üøÿüÏÿäååU¯^}Ú´iþ-q®?üðþûï8p Ä®ÁÎ;÷ºë®Û²eK½zõÔþË–-“2°×vçwÄ/­VX¤Ê:Á†¡ò?üðÚk¯I–Eßü[È?ýôÓï~÷»þýû[”¶¾ˆ,‚ù]+,*¡…VH‰…i\Z!Ãæn¸AÝ/äLc—!Ðí·ß®y„Dªÿ¨O˜ŒäŸ}öY¿¤äÉ'Ÿ”ñ¡þ(›0`À#<ò¯ýKÆöòñå—_nݺµÞ¿¿KfåÊ•r6UòNž<©ÁÊÇÿ÷ÿþŸ$ï·¿ý­ ¹eÍ‘#Gd, í.7n¬–_yå•>ø@-/X°@¯~,Rw­°H•u‚MéèË/¿üóŸÿìË÷ðî…ܳgÏ›o¾y÷îÝ¥­/"‹`~× ‹Jh¡o¿ý¶ÔOúC¸¬´BèÞ½û­·Þ:}úôcÇŽ8p@ÿs=Þ ¢ôl êy„† V®\955uñâů½öÚ7ÞhúlEhhèÿüÏÿÈ Ð÷â2dˆ”•þ(›/,,”ÿ÷ÿWÝÍ.–!c{_þõ›§’Y»víu×]$Ë’‰Tû*¡]»v²¦ZµjÚš¦M›Jfggˈ]R%[óòòÔ¦¯¾úê¾ûîÛ°aCTTÔ?þñ½Vø±HMÙ¶H•Å&ÃIß²e‹ØD‡ž{î9¿òÖ­[ÓÒÒZ¶l)ç.88X6mÞ¼ÙSië‹È"˜ßµÂ¢Z«™zLIT÷Oú“I´¢"´âøñã:uúýïÓM7ÉàJýfŽ/ƒ(ÃÿbÎÈÈp–ÞU©R%ùxûí·GGG{º êçŸ~æ™gn¸áý/¬zǶmÛd|¨¿ÊfÆÕÜŠ¸ú˜ŸŸ/É9r¤ïZa(™yóæ‰;Hþð‡?ôêÕK²,ÉÐnƒ‘¦„ÑÿÀ© ;4h #R‘²?ÿùÏaaaÚ&ê?úè£þïÿûªU«ôZáÇ"5Õ ‹TYl2<²-ƒ-‹C‰ƒø¥%Òûï¿ÿí·ßÕ›šiiŠÈâ¤ø]+¦Ù·Ó3{a¦W±2+Z¡5Cià{Ìðâ{æ=(ÔµÀS\vbÜc—¯5¬ãžž=åÇfÆý—ô½²¼×Ê,²,rasG‰B ùR²iò C}‹r0Á~ê#Òe]Už[oýSõê5j×®­ÜA¿IÖÜw_¥—^zéõ×_wßêKÆ}ÁfÆíÔ.q‡   qãÆ™¾+³ð®vé¯ò³g¯QZµfÚ´¥‹’å3~—Ò‡¬¬ÃÓ§/[´è¤»VØl5^k…´&5Z³™¯Š;¡žâ’F¡„B¬©è^΢ë³ÙHýÒ(´lj½iÆýØ(<¡:^û]n¹´B«‡vêª/³¦ÙtCù…we}‹žÙ ›p_0í4jZáI+¤™üTŠá ª5É`@kY-< o˜?éÐŽ&Q¨ki\ZxOßu«ìÈ‚û.žâ²ÓÿX$FŸyóΔ”•òž•µdãÆ½j¥Eú½Ë¸ã’¾W:áŸl£ÌB9…ý½$ 5@2äK&÷´©¡¾vŠÕ(BÛä^¼¨<†•ÚEA-—« }¯ûÌP&wÞù·û*Ý÷Ò‹¿ÎVx]yü8 µ™qëÚ¥œbâĉ2lvS™òK£°èе[O­-Û;­Ð×C;uÕ—› £ÌÂpp†¸ì|­á)1Ѳe{ÔPÿÛoCµqþÈQ³òó·ËP_’¡ß¥ÌÄØK>ú—ô½—õµÌ&*°§C©’!_êi'ÔSÊUý˜_›¼ÐÎr¹ÊÐæ×P¡ò¨ôÜsÏ=ÿÝ5[ѰaCå*ÀÍ¥<öØcÕkÔhX:[¡æ2¼«ö<úÙ Ãmäj¶Âqyª¨ZJÔR©æ¯mU뽎KßÒµV©¡*’~ô(k´‰?6 ý‚{—«ªŠ9)}å)—VØQ`ÓºZ^­ð"ûÊ/”Y¸ÏY”7û=syëÉ0[¡0í4jZáI+äýàÁƒ8XŠ,hC5ï´âà…È¥o×þƒŒ{\꣼ëg+Ä)~øá˜r Í,4­P­[;Ž{\vfK=e\†÷bÙžI“’Ô$‚ o'1öã’5>Æ¥:yíëAÃ7„Úµl’²»ZP=¹ ü‹j« ò¥NvBåÝ=Ù†Àz§Ðê@¹*¶‹{\jt­Å¥w–Ѝ<ò®~åéî_g+(×Pï·Ü|óc>¦ž­øäãÕ\†•ÇPÈJ(Ôoû¨q£öÛ>ö+Ük—ö<…§ÐÌBÿœ…ÍÚå/­°Ùj´¡—aþN-(­°Ö ›ùÒN¨r Ó^NÖ|ìy ÏVî'WíÑ_q¹WTý¡ÔÎ=.µÞë¸4}0ˆ†Bë|Ôzõî÷Fá>ÕbZU ÕÃ0-å^y,îM*S{­Ãør”ìr§– fQÞìÛé™}|¶Â¢Ó`¨ h…'­6âÞ£úQ+ÔÕD] LãÒ–µg+Î9EF©S”¾'%mÎÍýI»æº_ qÙùZÃSÆ7oÞ)/Óysç¯YsPêkX'æbÆ¥ú^­“W×Ö‘#GêµBÖ˜j…lUfa,»ë¿úÓ®&îùÒ*€Ì«lzJ¶v*ÕPÇp›e¨†Ój}\†;¬´+…6´ÐbôcåQñ–>[q«ölEûöí4§(­¸ó¾ûî{éÅ_¯ûz›Öm<5û­F«Kî_A+Ű_yì|3é^»¤žH/1jÔ(›N¡ÞUxƒºZ×.¿k…u«±9[az¡A+¬ó¥Î æúvaz²üÒóè¯0Ú„éeÚÔž´Múi›e¨Ýóã^D†o_Ý¿†Òbôcå~­xøÜ³½.œ­=?[ñqélETT”/­F)’û÷Ïúßö±Yyì!ôµKÍV¨Ùûfa:[a]» Z¡nÒnÙ²¥,¯Y³æôéÓëׯ?vì˜ÚºlÙ2µðÃ?h÷>©œ´Ùj¦ûŒÍ| z§poîçËÇžGkžî'÷W\vžqÐJ}”Òð._ž0D§ïµõGð½Qüb†4}_ªúXYù‹%úÊcó&(/ð]+¬³/MUË»,¨V¯ÿa(ìe¹²oÑ3—÷Þi–­_cÚi0Դ“VH³UíEû7£z­(´ñå æÚOÿ/)õ_1™ÆeˆTœB|xpppݺu“J™3gÎ_|! rœ^½z©322ÂÂÂLk—§V£#Ùyj@²cÀS¾TJLÍB¥V ¬%ÛÇžGoåz§pÿ¯ÓþŠË¢0Ìèoq÷¥QzòæË»F¡¯}|l5ž¦ ?zc§òØùfÒ}Œíûl…ûøÜ´vf+ZžG–ãââFŒñÑGuèСGíÚµûä“O>ÿüó™3g¶nÝúÌ™3&33ó»ï¾3­]¦ù²¯ú¯aUûRklæK;#úg+|ÔŠrU½YTh\¦õPk¡†Äø1.ï´Â—FaÐ ½S*¶I±-¤Õ¦VhO‚_ÊÛvL¢L­°™}O†ïxQ1®Y­0\Gô£2u”ôZ¡MPÞ% u-0ëÈ‘#^üGoÙK;¾{\vúO‰‘Á|~þ*÷{Ÿdœ?gÎB5Ô×§w¤‹Ä\̸T߫‡LËœ­Ð>êoÒS5ü† ò¥Ÿq0äTd«>ÙZ¾´»’´}Ë,CÃl…i%Ñâr× CzüRyô³ê½ôÙŠöú5»óN}˜N;j÷A•·òè‹Ýz¶Âfå±yÃa€íßÙ ‹ÚeçÙŠ³¥œ>}Z–Ï”âÆN«Ñ+VÏëטþB‘ö5¬jk²l)YäKB•YèµÂý|ù¥çÑÚ…~v@­© ¸´ÿL¡¯ºúCiN!´Qœ×ÂÐó´Â~¾¼kúÊ£†ÐšS¸£œB¯¦?e1®Vµá_ì]4­°Óv´„)§ÐÌBŸkO«Ìì[ôÌÒ‚VV©bý’0µVV±~yQ1®q­8rý0Li…—7h…þhòn¸˜ÆåÅ¿­QÍÜ4.;³¥¦‰QË2ž—×…ãüãj¥ö¢Xa*WÆ+".õÝ‘û˜Gýmý·©î¸k…öl…ûWµú’–ý³Z6 —uÙê^j½6$¶Y†úg+”›¸£O˜û³¦qyWy4Shß~bppÞ÷ÃÓ† I5½z\# `Ö!IB÷î©­÷®òhå`ñl…{mñºÕ˜Ö.ÿÎVXÔ.=²m³Õ”K+Ü¿†5ýaXÓ|N¨zZÍ žûÒóè‡Óúi;-¼ãÒc  õÕ£yxø’/m¡ÿ)o¾¼kîZa˜ó5M¶ÐŠ2¿®×›…êí/ÚMPvÚŽ6+¡7 2—iöíôÌJ+Ü+† lÔ‚¦îC…‘£©­Ö­ðÔ õÃ0Ã#Ûž0h…¡Ç¶¸èãRéße|»aƹsçîÞ½[ÞåJ+¯§ ]¯2ã²ÿµÆÈÁÕØ^{ic¶qÓ×.PW(‹Ë}™¯ˆ¸´N^ÿ.ê*# ÊdAÊÖôWA”V¨½4‘Ý\ˆµV¨Q„û)Öžep/5Â×Ó~êÿSƒ5­Ð;…_*²ƒæå}ÿ}Zø”e¡¡‹bcÖœbôè¬!ƒ“&LX4&;2rUøÔ"µÞSbʬ[a³vy§îßZØl5áö°øÖf¾­ÅSC;¯ˆ¸ÊÔŠrQ¦Vò¥?)¦ãÓ̺W¯ËÐþœ…EzWyä°C†$Nt9Å:5O‘¿IœbvÔÊä½wïY³\NQ¤æ)r²÷‰S$'mÒ'Éï•ÇbßòfÜ¢vÙ1 ;NaQ» uÉâf-ž6­]>j…r 5zT jÍ|YŒõX?Ýl¿òØ× ëèÊ[Qõÿ˜Ro†Šjj>6 }1^œFaªÚ³Z¡‰€ïZaášV(§ðñ&¨2µB¢ÐîƒÒË…Á;Ü×{¡Vh5­0½ )”V”·b\³ZqøðaÕ;vìèy|™­P‡R¨£IêZ`—}§Ðf+<Åeg¶Ô41zô‡5])iq~ƈî2Ô×oµ™ñŠˆKßÉ«_Ø6`xF[ÿ”Ÿ)Ú¡†’!_ÚI1dA}W©P·èèÃ*ƒ/ehsÈdQ†ÞU•/íÞ§„ø…s²÷h¿«îƒÒî}ÊÉÞ›‘¾ã‡eGÕ\†\ª*®ò¸ïë]Æ­k—fcÇŽ}0}7u ›µËÎiÕÿÀ¬~0¬ÿ¡f›­ÆpïŠ;~¡°™/Z!žn–ðù2«\³§Ð¢óº¢j]„:¦wÕ~£ðT˜Ý(LµBûh¡ÚGÓÊS.­(ó© }_n‚²¾â¨õê_Thr¡÷ m½Þ8ìdßNϬ´ÂS4­°#[ˬhE™£k/þ—„õhíbÆeçk ¿ŒÖd//m¤Z¡#C;qÙìäÕ&ÃoêÃöõQ+dÁpÛ¿>˜µB(¿Œ®mV#©»nfL[’¿©àü<…r Í;dMHpfNö¾ôóóÊ)*ºòø%ãeÖ.Í,<Ý¥œÂ»ÚåÅ­;†wE¹´Bû·/Ú»¶¦Ì) ï´Â"§Z+3¼—«òxýl…¡M]Zq©…µ‡Z„ñN+¬åþ0…FyµÂ‹>AÅQWü€úΡ\Ù/S+LÛ”A+L¿’B+¼ÐŠ’’’ã(ïuÜÓq$ u-¸hqÙé,S^<¥ÇNÆý—ô½ú>Ùå²  ™”YØA¢P$C¾Ô˜ÁSʵ–±ã~„ò–¡ŠE;”ŠÑfÙúXy4³ÐžÑVN!ëµsgø½Yå¦R•Çnj۩]Ê,¤:™¾+§ð®vy1Ö¾i×›…ÍVãÝl…©VXç«\¨º­åK[c¿òxñKPÖÑÙ¯¨v"µSQ/ÿF¡~Ì}ÅÁ¼iƒVè+Ål…Å¡4,Âø¢6¯8†^Bó Ãl…ia}‹žYi…ÅYÖ´Â"Œa«ÍŠp-kʼn ‘†sÂ6ª¡YÐ_ .N\vfK¯ÊŒ«NþÐ…¨Ÿòö„ö¬À*€~€¤O†ÃH'ïcºÏŒ\´Ê£F°úwC0ÃVy¿‚ZÍÚ%õ›«îï¾Ô®ò~ó Ù„öº gĺՄûŒÍ|•÷„jÃ{­òjQ™•çmT`Õ´M£+oEÕŸO\Y—/* c}“’iå±y”ørTy¯8†¾Bù…z¶B}ôÔ'xÑ3ûë¿l—Y1Ð ­;vLËÉ“'õñäyôËú5†NXÖœ:uʰ‹¶U¢Pׂ‹—¯5®ÊŒKß«ºtíæ*´ÿ.ª_Ö¯1ôäîôa$ 5@rÏ—Óø^†ú™*¿2~ik—×ÕIÓ Oµë’·ïN¨óbVÝåPQ¯ÙFqŽ7ü•}í_½ø’}?ve^’jZa¶ÂïX|ÅTAqÙœ-½ú2núݑ߱øÞ•Êsgüj­]´âº"Åå©—Oö/«ŠpÍjÅU‰ÙÒ«’*ϵ–ñ«µvÑjàŠh—|tqYeÿÒöÌ 5­0Õ ´Ð @+àZÐ ´Ð ¸â´â¯Ð´â»ï¾C² ¼ˆJ´¢À5ƒEÓ pì©ÜµbܸqN€k©êZAC°?¦ò»VÔúlñý¢b h\ËŒ1bðàÁC‡6lØ÷ß?f̘ÐÐЉ¥„……Mš4iòäÉááá‘‘‘¹¹¹6µbåÊ• Í@+­¸*wظqcAAÁ‚ 222rrr JY²dɲeË–/_¾jÕªuëÖíØ±cÅŠ6µB â éééfVZpåºÿþ£G9rDE¢ëׯÿñÇ×®]+ ›6mÚ¶mÛž={d«}­ÈËËØ¡cçÎóæÍ“ˆdZhÀUÆøñãENœ8qìØ±’’’ÃGÿôÓOÛ·oß¼yó–-[ÄÄ)T€riÅ¡C‡v_H||¼DáÉ,ì ÝŸoQðMè&ý‚ûëßm‹êuZŠVZpñµâäÉ“Ç?zô¨hžŸö‰Vl)E´bïÞ½‡.—VäææÊ.{/$11ñÌ™3Ê,Ôc­x­Ý’3g¶—ÈkÍæ#îC÷[8|J¿ }¸rõæ#«æ¯<°ÿЩ£×¡€V\L­8~â„8… Š6lذzõêU«VÉûÚµk7nÜ(fqàÀriENNNII‰a¸•’’2¡”I“&IS­8vâŒÅÐÝB+^hQ°cïqm ã_Ÿ¼Ò¦­´à¢i…Xƒ8…xD~~~AAÁÊ•+E.Ö­[§übÍš5bÀ¾Vdee;vÌðÈö¾}û¶mÛ¶uëÖââb P¦V¼ÑqÉÒµ‡Ôr|î¾Ï¾]e¡†¯=~òLí/ £ýAS6oÙ},½àçÿt_&ë´,\»µ¤ئâŸOÈÊ皻ˆŒˆ’ìÜ{<$z‡fðÔÍ»:‘¸ð§/¬Þ¼ëèŠ ‡_o¿Äý€hZV'N”±Pnnn^^žÄæÍ›E"vïÞ½wï^YÿÓO?mܸQäB>ŠnØÔŠÌÌÌ'N¹Ãç9~ü¸0ÕŠS§ÏŽ™µM^ŸX]¯óRê«Aû¢•Z Zc¡ßMßR°ú ûìÆ†í%òÞg܆©ñ»Ôš3gΆ'ìz©µË>ýz¥˜È®ŸŽ¿×m™XƒY0§Ï¸’!›öür"%ÿg œ²øç>!܈V h€0iÒ$qŠüüüüqÆ êy M+áÙ$LµB”^+òËÒ Q’—Zª©‹þzÂÆ£×­9ØvèòjѵaÇ´R­Z/ÕšIóvÍÞ®cÐ ÷¢hZ ¤¤¤,]ºT¯Û·o7hÅÑ£GÅ,V­ZeS+ÒÓÓÏœ9sÚ²I”©¯´):Trê¹æ‹?ûvÕñ“g¬µ¢öÅ?Ÿ2u‹^+ê´,ÜóˉWÛ¹?ô­iÅ¿Ûmßs\v¾ùâeë5î³ÂB+܈V h€³tfaÅŠejÅñãÇ·mÛfS+RSSÏž={ƲI”©òJ\ø“ŒùÓ ~^òã!k­W³oWmÞyTÔ ½ð—]ûŽwµN=sñË¡“ WXPô‹©VÈÂÐð-²×Òµ‡&ÍÛicÐ ÷¢hZ ,Y²dåÊ•ej…zÛ¦V¤¤¤ˆ;xŠQ6Iw­0}½Ôº°\?ôúFÇ%ïv]føíYÓùÃ?Úû×ç6£0=  ­@+àZfñâÅJ+Ö®]k­%%%6µ"99Ù:R÷ÿÿbó+­ðêU´b×®]hZh€¿´âðáÃåÕŠüüü˜˜˜3fŒ?~ôèÑ#J‘ù(+e“@+­@+,´Â Ð @+Ð ´Ð ´ЊK«hZÁh Ð  hZ€V hZ€V  hZà7Jö;ó®¶×á}œX´­¸xÈ üsÇÕö’LZ€V\d­Vû*™§Œ hZpI´âª‡_eÙ@+Ð Æád­@+Ð ²€V €V h hãp´­@+‡“´­@+ÈZVZV €V ŒÃÑ ´­`NvÐ ´àÚÖŠý%ÇÂr—^†¯}‡KÐ ´­¸"´BðŽæ—áK†V hÀ¤µ‡Nº|æ)$1hZ€V\qZaÃ_RÌ“„V hZV hZV hZV hZ€VT˜V$l£ÆZÁh Ð ´­ð‰JÓœ–Ri­`4h ­ðI+ÁÎoЍ7€V 4´Â'­×ø5T@+Ð @+|Ò y YFí´­´ÂS×9kÏ=÷úÃø_µB^‹Kr†ýxm½ö£Ù Œ¦­ ! åClB¯ú—XFël[¯Ö—˜ & 4´Â;­pŸ­˜µñÚš­PEV Œ¦­ ! Þi…¼;uÏVˆ_ˆS\kˆP h£)@+Ð ´Â/Z!Nqmþ_<´­@+­@+Ð iEôæk´² hZhZ€Vø®θ¦ÕhZVZV ¾kEÁÞkº² hZhZ€Vø®×8hZVZV hZV hZV €V h…_8uæÌ]ݾ“ôh/ùxjü®Œh¯6p–ìG+Ð @+Ð ´Â=f§êµB>:W&\ ãù+.´­@+Ð @+Ð €«R+ÖìÞ§× ùè}Zmüøñò±{÷îžöòDÛ¶me—ßüæ7îz €V pyjÅ™3gþüç?«a̦M›ôƒ"µRD@>víÚU–ÿûßkMhXh…Å^ž8tèÐõ×_ÿÇ?þQs´Ð ´‚"¸ÌµB˜0a‚ÆDGGk+eü£V6kÖL>Š&¨Úÿª;yò¤’ ­°ØKCFV™™™ò®>ŠMˆæ|ðÁ×xeA+Ð ´Ð ´àÊÒ ÉË0^=µ-Ã~µrãÆz­Ø¿ÿwÜ!Ÿ|òÉ+V,]ºô£>’1’lzä‘Gd}ýúõ¥Ïh«½ÆŽk½—†_üãÿX·n|Ÿ÷Þ{íü-ZhZ€V\>Z¡xñŃ‚‚f̘ñúë¯ÿîw¿{çwrrrT€üüü*Uªh¿F»dÉYrýõ×ËšÛn»MBöêÕKxâ‰'¶nÝêi/=¹¹¹êŸkÿñ|ã7ZµjeúŸ/Ð @+Њ2‘kJ앉¤œjW‡V(Š‹‹SSS3226oÞìþ@Ä™3gd˜$¤r³Ì½$ÀŠ+Ö¬Ycÿ ´Ð ´ÂŸ½2‘”S àjÒ @+­¸Òµ"44ô š§Ô¢€VZhÀå¦WÖýJL3 €VZ€V €VZhZVZVZV A+¦L™òî»ï¾|ž-ZH“¼„yLHHxþùçïºë®7ß|sùòåh €VZpùk…0}útÕ þú׿;v¬Â¯óyy½zõ2ÝéÐqë­·JŸ€VZh —¿VhÿÚõÕW_­è,Hë¾ë®»Úµkç¾Išy:u¢££/^üæ›oª$ 6 ­´Ð @+®­Æhñ?X÷ìÙ³{÷n;ñÊAž|òI‰ÈT+ŠŠŠ6mÚ¤–%;¿ýío%d=Ð @+­´àJÔ 9Ô 7ÜpÝu×µnݺiÓ¦¿+å½÷ÞSÿuúôé7Ýt“l}ë­·Þyç;î¸Cö}óÍ78 ‡½þúëeSçÎ÷ïßÿþûï_WJtt´ìØ»wïo¼QßyçÏ=÷œ4‹DVªTIBΟ?_ŸæáLJؤW³°Ú×»%Í­w ìêfß¾}hZV\d­{ì1Ys÷ÝwçççÇÄĨÉÉÉjk:uäãm·Ý¶nݺ“'O>ðÀò±cÇŽ²éÞ{ï•åN:9KoyR;*­}ôQO³zöìÙ#ÁjÖ¬)Í_ŸæF9üK•'D+\ïpU#fV hÀÅ׊jÕªÉÆË²´A`âĉj«„”¯¿þºúøÁÈÇÛo¿]–|ðAM+¤{§:t¸ãŽ;¤70¤ù*ž­¨]»¶”Œ¼ó"³P,ZV —\+NŸ>­Œ?ÞT+ºuë¦H›õ]+ŠŠŠî¾ûî+VX¤ùêC®we^õ |ðlØî`Ñ ´­´ârЊ€€ùø›ßüæäÉ“>j…4ÿçž{nݺuêcNNÎúõëÑ @+­´àª×ŠæÍ›ËÇ¿ÿýï²\¹re¯µBÚ»8ÅÈ‘#%m²Ë„ î»ï¾C‡¡€VZhÀe®™™™ªA=ñÄZ˜GyDÖÔ¯__–;¦È^z­¨T©’4Ò“'OÊà_>†††Ê&u «½¢¢¢ >R³fMùøâ‹/._¾|Ò¤IúT‰¼Ô«WÏð„Ý?ÿùOÓ4£€VZhÀå£S§NU¡øøãW­Zrýõ׫ßzÊÉÉéÕ«—æ[·nÕ´¢jÕª/¿üò=÷ÜsÝu×uéÒåìÙ³²)!!á/ù‹z‚»_¿~²pÿý÷¿ñÆê¾&‰WÖÜpà 7VíZ£k×®î?ÜÑ´iS´Ð @+­¸ÌµÂ;ô7AIû•Øõ[OŸ>-MûÔ©S² ÿ5'ÅîÝ»÷ìÙSÞÑ @+­´à2ÔŠÐÐÐXo©Zµªš­ˆ½XHjÑ @+­´àrÓ ¯3fÌwÞ) ð–[n9r䨋Zh €V\&Z‘››ëËÄA§NÞ8OÆ çÌ™sÑæ,òòòÐ @+­´àrÐ @+Ð ´‚­@+Ð @+Ð ´Ð @+­@+­@+­´­´­´Ð ´Ð ´­ ƒE+Ð ´Ð ´­´Ð @+Ð @+Ð @+­@+­@+­´­´­@+è`Ñ ´­´­@+­´­@+Ð @+Ð @+­@+­@+­´­´­ ÀÐ ´­`4h ­´Ð ´­@+¸ê¡h €V €V €VZ€VZ€VZhZA¡€VZV hW=Š­´Ð ´Ð ´Ð @+Ð @+Ð @+­@+­´Ð ´­@+¸êZh h h €V €V €VZ€VZ€V €V hZÁUÐ @+­@+­@+­´­´­´Ð ´Ð ´­ ƒE+Ð ´­àªh €V €V €VZ€VZ€VZhZhZVÐÁ¢hZ€VpÕ´Ð @+Ð @+Ð @+­@+­@+­´­´­@+è`Ñ ´­@+Ð @+­´­´­´Ð ´Ð ´Ð @+Ð @+Ð ´‚­@+Ð @+Ð ´Ð @+­@+­@+­´­´­´Ð ´Ð ´­ ƒE+Ð ´Ð ´­´Ð @+Ð @+Ð @+­@+­@+­´­´­@+è`Ñ ´­´­@+­´Ð ´Ð ´Ð @+Ð @+Ð @+­@+­@+Ð ´­@+MZV €VZV h h €V €V €VZ€VZ€VZh… h ­´Ð ´­@+¸ê¡h €V €V €VZ€VZ€VZhZh €V hZÁUÐ @+­@+­@+­´­´­´Ð ´Ð @+­@+Ð ´‚« €VZ€VZ€VZhZhZh h hZhZV \õ­´Ð ´Ð ´Ð @+Ð @+Ð @+­@+­¸FIýÞ¥Ãj»ÌÂó+lò(—VLeŒ×eý:¼­@+Ð ´Ð € !²ƒK+Êz…µxÂ¥-ž°˜×eú²œ“B+Ð ´­@+À{ÔMPÌV\Ý/9¿h h ­<[qÍŸe´­@+Ð ´Ð @+­@+­@+­´­´­´Ð ´Ð œhZV hZVZh h h €V €V €VZ€VZÀ€­@+Ð ´­@+Ð @+­´­´­´Ð ´Ð ´Ð @+Ð @+p¢hZV €V h €VZ€VZ€VZhZhZh h  8Ñ ´­@+Ð @+Ð ´Ð @+­@+­@+­´­´­´Ð ´Ð œhZV h hZhg­´­´­´Ð ´Ð ´Ð @+Ð @+Ð ´­@+Ð ´Ð ´­´‚³ŒV hZhZh h h €V €V ZV Œ¦­ ! €Vp–Ñ ´­@+Ð ´­´Ð ´Ð ´Ð @+Ð @+Ð @+­@+("´Ð Î2ZV hZAQ €V€Z±é<"ÅÅÅ@+Ð ´Ð @+À¦V¬Y³fÅŠEEEYYYééé™™™²,~±wïÞ#GŽ hZh `­Ë—/_¸paè´¸×:„ÿåÝi¿«?ç/m㛞?qÚÜÜÜÜ;v=z­@+Ð @+­OZñÃ?,X°àƒSOw¼5ÛÑ4ÕÑ­ÀñõÒ?ô)¨¸ð« ø¤¤¤;w:t­@+Ð @+­w/^œ——×¼ÇÇsãj÷Ïq´Ërt/r Zùpð†7·4ÚöѸUýÇ'dee£hZh `Ròò¦Ïš_§yDû‰…m#Ö6š¼ÎÑwÅÍ#Ö¾£t¶báf+Ð ´Ð @+ÀB+ª¿:hΚïSvpÍVßþÝÆGÆn{uÊÞcŽ´d¶­@+­´lhEwBÌ^34iW¿ÄâžqŲñ£¶½2ioÃÙGš%m›y´í‚#oG+Ð ´Ð @+ÀJ+ú»´b§K+æÿyðÆÊ#·½4iÏQ‡›'–jEæ‘7F hZh `¥ç¬vî&¨=· ÝôÏÑÛ^›¼çÃÙ‡¿H9Ú!çh§ì#oD+Ð ´Ð @+À£V<ýnèàÒG¶¥÷ž_|÷°MU]?0»÷“˜ÃmÓöX(¯#õG£hZh `¥ßŬ•¾shZq`Bq¥á›ž ÙöÞŒ½-âw^p´w¾ë?â5 B+Ð ´Ð @+À£VÔ|/tøÜÕc3v~Ÿ^üuRqå‘›ž™°­Á̽mâ™sô›¢’~…%Ç¡hZh `¥#ãVgî± øÛ”â‡Çlz!lÛ£övL:Ü'ïè e%C–ùtZ€V €VZµâ™ú¡c毟½stVñ€ÔâÇ‚6½8e[“9{»¥î·¸dø yi1qZ€V €VZZ”°zbîα9ŃҋŸ·éÕðmŸÅî H?<¸¨dÌê’ UGZMB+Ð ´Ð @+À£VÔz?t\ÂêIy;ƒs‹gW›°ñé[[ÎÛøÿÛ»ðªÊÑû‘©´~íçhOµ:­ÓN§ÇQ‡9Ãçåpp,”ªuЪUK±Z¦bÇ»¶¨(Þ¹‚$€ˆ¨xáF . á‰$@¸d'p$Ù $ ß›¬š“r‰‘‚$ðû=ëɳöÞkíì°óîõþÙ—Ì+¸"ž´6>Ⓤ?¼)+@VÈ @V +8lVü]F Y±pKbZ¬ÏœØ¿ Ïÿé[…wM)y2µ¼ï²xbN|XvE7dÈ YÈ deÅгG¤Õ¾·âÅÙ±‹‡åwSØmbÉc³Ë_ȈÊ KÅï^— +d +6+ÚÞ0rð´ì׿o47öü¬¢Ÿ Éÿߣ o_òàÌòÞ‹ã}3ãýWVtóIP +d +4š¯LÉNœ»e`jíß­øÇÁù—,üå{%ÿ\þøÂÊç—ÅÃrÇpY²BV²YÁa³âß~1rÀäìWçlé7'öÔG±ï ÊÿפÂ.ï”tŸ^þðüʧ2âO-‰ß2LV€¬€¬@VÐXV¼8!§ÿ¬-Ïψ=>­øì~ù?yµðš1%¿šï>+~ÿüÊæW\;HV€¬€¬@Vpجh{ÃȾs¦lî3+öäôØùýó4´°óØ’_O­¸wNåc‹+]ïòª¬Y!+Y¬à°YqùŽê?1{ÐìÍýf=•ûûùÿ2lãuo—Ü=­â¡ÔÊÇÓãO,®¸9QV€¬€¬@Vpج¸ò¦Q/O\3xö¦þ³‹ž™ûþ+yÿöÚ†Çÿ×ôòGçÕ¾±âéE·[ýþûïË ²È 6{öì¿}ä c—½’²±ÿì-½“·žÑ?ç_†¬ïòNÑï§ï|,µ¢÷âx¯¹»î¶lòäɲd…¬d²‚ƒÍ›7¯Û£cþÐ'¥òº?*üÓôÍ /­ùá༟Ýô›ÉÛL©èµ þÈ”­=‡Í™;w®¬Y!+Y¬à¿‹½ýþô¶wŒýíðô‡ÆçÝ4zmÂSY ý?¹,© Ë;[ïšRrßôí·]=ê­‰kÖ¬‘ +d +lÉ’%¡,îzì„Ë_kÿ삄ߥ&<œ‘Ð{uÂ+k/¶®ãù^^ùTâ‡óçÏÅb²d…¬d²‚ƒedddffÎ;÷׎I¸dX¿K¸)9á÷ ^’pß‚3š÷Ø«Óf̘±eË–²²2Y²BV²YÁ!³bõêÕ«V­Z¼xñè·¦þôž1ßê4úÔŸ¾û­;'ÝüÜäoM^¸páæÍ›+++ãñ¸¬€ú¬(**š?~ïÞ½Ã×°.+d +Ü˲BVdggçäädee-[¶,Ì‘æÌ™3oÞ¼°žŸŸ_RRRQQ±gÏY ³"Œ”GydذacÆŒYºt©¬€¬p/Ë Y²bíÚµëÖ­Ëÿ̦M›b±ØÎ;ËËË+++eÏ?ÿüø –-_ÆÎªU™²BV²Â½,+dE}Vlذ!ÅÖ­[KJJÂi×®]²™K—.]¶lyEEE Ñx1d +Ü˲BVÈ øBYQTTÆKYYY,ÅÅŲBV²Â½,+d…¬€/š> JV²Y¬Y¬Y¬@V€¬@V€¬@V +@V +À„SVÈ Y!+d²BVÈ @V¸—e²d²d²Y²Y²Y¬Y¬Y!+d…¬²Y!+d +Ü˲BVÈ È È dÈ dÈ d²d²d…0Y!+d…Ù²Â@€¬p/Ë Y!+@VÈ Y²Y¬Y¬Y¬@V€¬@V€¬@V +@Vø'’€¬p/Ë Y!+@VÈ ÿ +È È È dÈ dÈ d²d²îeY!+dÈ YÈ d²d²d²Y²Y²Y¬Y¬NYá^–²BV€¬8 ³¢]»v¯Ãë¯oÛ¶Í È dÈ Ž,+ ây+Y¬@V€¬à”––ú/z‚víÚÉ Y¬@V€¬þÞe#+È €¬È dÈ @VÈ d²d +îeY!+dÈ ²BV + +Y!+È €¬È dÈ @V +Ü˲BVÈ  +È dÈ @VÈ d²d +d²Y²&œ²Â½,+d…¬Y²Y¬@V€¬d…¬@V +@V²BV + +YaÂ)+dES²¢Ý”Ú•–¸l«’²d +dÍ"+ZîâyY²²‚㞥{Zêóí¦È Y²²‚f‘-øAûBdÈ @VÈ d…¬ +Y!+²BV€¬d…¬²BVÈ Y¬ +îeY!+dÈ @VÈ d…¬ +8é-\¸pr‹n¼¬²BVÈ Y!+²‚ã.L·¶XáÆË Y!+d…¬²Y!+h&Y1räÈ–õz”¾æškŽé·Ç‹óÎ;ïøÃ!/MOOß±cÇ·¿ýmYaÂ)+d…¬²d'XV„‡÷0Û?ܵ5åû†+¹ôÒKÃw9\VD.»ì2YaÂ)+d…¬²d-=+Â/gëÖ­O9å”{î¹§[·n§Ö¹á†jjjö×½bêôÓO—^{íµ×_ý9çœvìܹóÎ;Ã¥áš[µj.}ðÁKKKo¼ñÆSêLœ8ñÉ'Ÿ<í´ÓÂÆçž{îW\(G<^Ÿß"+d²BVÈ Ðô¬.ºè¢pòüóÏOOOŸ4iRtéÌ™3£KÛ·oNžuÖY¹¹¹ÕÕÕßûÞ÷ÂÉûï¿?ºô;ßùN8ùÀì¯{ÕS´oÈŠpòŸþéŸþÊg+n¾ùæãõù-²BV +d…¬Y_(+Ú´iN†9|XêÑ¥£FŠ. ›…“;vŒNÞrË-áä7¿ùÍèä÷¿ÿýú¬‡†£›_Ú³~‹¬È Y!+@VÀgÅÞ½{£K“’’™<òH´A8 ë¬øÒÞ[ÑÄ^²Y!+dÈ dÅQÉŠÇ<œü›¿ù›êêjY¬@VÈ Y²YqYq×]w…“?úÑ¢“ÿðÿ +È Y!+@Vp²eżyó¢Gé‹/¾8:ç / '»téÖ«ªª¢KÃ^ ³â»ßýnxد®®¾à‚ ÂÉ‘#GF—FïJÛ„?øàƒ†IÒ¶mÛ°~ÕUW­ZµjôèÑß¶0gœqFØæÌ3ÏüôÓOe… §¬81ïåþíjWNÔ¥|›¬ +8 ³âÍ7ߌ""rÇw<ýôÓ­ZµŠ>ë)--­gÏžõѱqãÆú¬¸ä’K:tèðw÷w§œrÊC=T_ÉÉÉßúÖ·¢7q?÷Üsaåïÿþïö³Ÿåææ†ïN¶nÝúöÛoŽLÑ£wGî¼óΩS§Ê Y!+NÀ{ùÄ^üË Y²‚“'+Ž@ÃA…#Bø}>`ƒ½{÷†ãEMMMX ‡‰†—›-+dÇ_¼ôD~ž¢;Y!+@V +¾hVòOr7ç›-+d|ɿòBV€¬à„ÏŠ‘#GN>"“&MŠþàÝgœ1~üøÉ_–pƒe…¬È Y!+²‚f•G¬k×®í>Ó©S§ÁƒýÉ Y!+²BV +dÍÁÂ… '·X‹-:²¢ù¼¼¼ÁGÖÈ ²dÐ’²¢ù|N³úó²YñUU×È ¿wÈ Nö¬8¾ÝÐGÖÈ hqY‘úIA¯)©²d…"8©³âøNé›á;–ÈŠ/ža8<>iެYÈ Y!+MV´Ä² +@VÈ YÍ-+Z\YÈ  +d…¬€f˜aiAï³ +@VÈ YÇ1+Þ\œÙ®ßèh¹¸÷°†Y–ß½95ŒŽã¾l+Ë €¬Ðl³"ÔÄ)Ñpù_}_oäÒ/mùÜ*+@V€¬²šCVülE÷±Ó–nØr|Ÿ§ˆnž¬YÈ YÍ?+Â×ýùÞŠÇÆ§ÔìÛwü<›6BeÈ ²BV@sËŠæó1P²d +d´Ä¬è>vZsxžBV€¬d…¬€šÍäµO²d +d´Ð¬¨ª®ivž²d +d´¨¬hŽž²d +dÈ Y²²Ž‹’¼Ú_Ý1wÖþ‡¯a=ñ5ûö¿™»ÿιµY¾†²KÍW„¬È Y²BVÈ Nجø¯¯Ôþ×/ïüÑnJmSÔ/m'É·’²Y!+@VÈ YÁ «»ÿÛ~sÿîòƒ"¢W@Õ/‰kd…¬Y²BVÈ 8è8ZÞê~ȇˆòêýÿÏÈ?7Å×’ö—dÈ Y!+ êªýŸý笨{cÅ!"î[øç¬¸9å¿¬È Y²BVÈ NdïÝWû;üô…û÷Õ”––ôíÛ7ú0؆Y±wïÞè “’’Ùå`Ë–-;ÿüó³²²Zú• +àdŽû ?Èñúë¯?ìTVÈ Nûöí;óÌ3£„ú·NGsãèÌÑ9?üp8ùÕ¯~õàÿ‹8\V4²Ë”ûŠ+®LKKËËË“~?‘4[ÉÉÉ ³bâĉ²BVp’1bÄÁayçwFç„LˆÎY´hQtNuuuÔ ‡ËŠFvi(̱CS 4hòäÉá6„ÛsÁ4|«¸¬Y47á€~ÞyçEG®³Ï>»ªªJVÈ NrŸ~úé-·Ü½k;Lû£3ׯ_@V”––žsÎ9áœK/½4++kÅŠ·Ýv[ô>ˆ /¼0œß¥K—ýuïìŽv:th#»Ô òóŸÿ<á/ýä'?i¹#TV€¬€“Äã?¹ºwï~È ÂL    oß¾a›ð5¬‡s>ÿzã¥û·ìŸÙ·6Â×°–x©¬´cÇŽ pÕUW%&&¾óÎ;;v<õÔS¯¿þú´´´úmÒÓÓðƒÔ íòåËÙÇoÕªU8笳Π÷ìÙ3Úàâ‹/Þ¸qã!wi(z¡Ôºuë&+̦4s999Ñ‘+¬rƒ^½zpˆç|þõNíU› ,S{É YA ‹ÅRRRRSS ù†ˆ}ûö… s˜*7ý:`—=BeÈ 8y´­s¸K£g+úÏV°x¶BVÀI6BeÈ 8aÕìÙ_UÖpI4 ,œùe,}¯¬ÍŠð5¬×ìqÏÈ ²Y!+ Å8èåI¥¿©]ñš¥/s™ú”{FV€¬È Y-7+šÅ"+dÈ Y¬ +d…¬#TV€¬€“GÍžý»Ë›Ýâ½²d…¬@VÈ YF¨¬Y +Y²@V²d²d…¬@VÈ YF¨¬Y +Y²hš;vôìÙóºë®»ýöÛ{ôèѽ{÷÷Þ{oĈ#GŽürn@QQQ¯^½:wîì¾ +dÈ h‰RRR¾]'à¢sòòò~üã‡ãWbbâ±þîá {Ûm·µnÝ:|»K.¹ÄÝ!+@VÈ ÐâäççŸvÚiáP5nܸ†çÇb±3Î8ãKÈŠôôô;v„¨‘²d…¬Y-Ô5×\ŽS_ûÚ×±쀋† r@V…Q|¸« ÄŸßø^‘Ë.»LVÈ ²d´D¥¥¥Ñqê‡?üáÁ—îÛ·¯¬¬,ZÏÉÉiÓ¦ÍÕW_Ý¥K—ð5û¢ÁÞºuëSN9åž{îéÖ­Û©un¸á†šššFö’²d…¬Y'’ DÇ©+¯¼²‘ͪªª.¸à‚a¥ºº:¤D§N¢‹.ºè¢°ûù矟žž>iÒ¤èÚfÎœÙø^²BV€¬ +à„Q—_~y#›½ñÆa›óÎ;/:yî¹ç¶jÕ*z]S›6mÂE7ß|sXÇÁèÚFÕø^²BV€¬ +à„‘››§¾ño|úé§Ñ™ƒnÛ¶më:§Ÿ~z×®]xà°Í׿þõ_ÕéСCûöíW­Zu@VìÝ»7º¶¤¤¤pòÑG=Ü^²BV€¬ +à„±oß¾3Ï<3:Tåçç7<ðEg†'~øá°þÕ¯~µþMõÉŠFö’²d…¬Y'’#FD‡ª‰'ÖŸŽqÑ™wÞyg82!:¹hÑ¢hƒêêê(ÉŠFö’²d…¬Y'’O?ýô–[n‰Þµ¦ýÑ™ëׯo˜¥¥¥çœsN8y饗fee­X±â¶Ûn ÇÁpÑ…^ÎïÒ¥Ëþº÷hG{ :´ñ½zäŒ3Î[žyæ™õ¯ÅBV€¬È Y-ËØ±cC\uÕU‰‰‰ï¼óNÇŽO=õÔ믿>---Ú ==ý?øAý§Ñ._¾<œ9|øðV­Z…sÎ:묰eÏž=£ .¾øâ7n¯ů¿uM}ÈL:Õ="+@VÈ ÐBÅb±”””ÔÔÔ‚‚‚ƒ_­´oß¾p( Á/tG¶²d…¬Y +À• +d +@VÈ @V€¬@V€¬È Y +À• +d +@VÈ @V€¬@V€¬È Y +À• +d +@VÈ @V€¬@V€¬È Y +À• +d +@VÈ @V€¬0i‘ +̦²@V€¬ +d +@VÈ @V€¬0id…sd… +@VÈ ² +d +@V˜´²d²d…¬Y +Y²@V²d€I +@V +@VÈ ² +d +@V˜´²d²d…¬Y +À• +d +@V˜´²d²d…¬Y +À• +d +@VÈ @V€¬@V€¬ +d¡²d€¬dÈ YÈ È ²Y!+d¡²d€¬dÈ YÈ È ²Y!+d¡²d€¬dÈ YÈ È ²Y!+d¡²d€¬dÈ YÈ &-²NÔ¬(..– +d¡G1+vïÞ-+@VÈ 0BiÉ’%MÌŠŠŠ Y²@V€z°åË—7’;wî” +d¡o–ššš••ÕxVÄãñ………²d€¬#ô`ÉÉÉ+V¬øÜ¬¨¨¨ÈÉÉ‘ +d¡{óÍ7ÓÒÒÖ¬YÓxVäççgeeÉ ²ŒÐƒ5jÖ¬Yééé999‡Ìв²²p2D‡¬Y +À=¤¤¤¤P©©© .ÌÎÎÎÏϯϊíÛ·oÛ¶mýúõ!(b±ØªU«dÈ YFè!çH;vìØ¹sç’%KÒÒÒ>þøãyyy¹¹¹YuÖ¬Y³aƲ²²ÌÌLY²@V€z°aÆ…¦¨ªª _×®]»råÊåuÂÊêÕ«Ã9¡)¶oß^YY)+@VÈ 0B)11q×®]{öì áPVV¶eË–ÜÜÜœœœyyy¡)ŠŠŠÂ»wïö"(²ŒÐF²¢ºººªª*‡²±®NhŠÍ›7oÛ¶-ú»²d€¬#´‘¬¨©© áPYY "LBPäççoܸ1$F8ŠcÏž=²dÀ±›´´ë7:¬X,–æ¶„±ù…²"„Cô„ÅÎ;³²² 6mÚT\\\ZZŠCV€¬8¦Ya±XšóÒ”¬±wïÞº¬Ø²bóæÍ7ÝtSFFFX Y.ÝSGV€¬8JãUþCØbiæË¶òxÓ³"zT¿~ý®¾úêûï¿?ÊŠè ݲd@³béÒ¥;v YÑ¡C‡I“&•””È MÏŠ²²²»ï¾»>+n¼ñÆ 6È MÏŠ·Þz«S§NõY¾0@V€¬hzVÄãñŠŠŠÐ›6m*((ðÞ _4+¢·l———‡ Ø°aÖ-[¶mÛ&+@VÈ ²d€¬Y +dÈ €Ã5jÔ Aƒ† úbذa£G7nÜ»ï¾ûÞ{ï}ðÁ&L˜ùdïÞ½Ÿ}öÙçŸ>4ÂСC‡ 6|øð¤¤¤Q£F=úwÞ™={¶¬€¦dEJýúõ{饗^|ñÅ^x!| ë}úô ƒeðàÁãÆ›8qbrròä:S€–oÒ¤IãÇÇʱcǾÑr„[ns¸åáö»áM-Âc„ a²1f̘0“Sú0?I¬3´iV®\ٔ͢dW>räÈÙœJV +ÉŠ^½zedd„“¥Ÿ ë[·n Ã<»§M›Vf̘1kÖ¬”””ìs€–,Œåpø8dô­÷½Öù·¯_ÓuÌOóÖüæ­kº¾õó»Þ˵w×~ýYX~ûv§;ßîxçÛ?íöç Â6îØ­öÌN¿­ÝàXïÖÙád§;ßúÏc»>8"ÜòpûÃOᮄ-Ì(¼"Œå0Ç30߈þsÛ¶ma*²s×Î]M–••u¸‹vîÜYÿ5Z “œ!/¾ø¢¬€£žÏ<óLjjjyyyUUÕîÝ»ãñøŽ;Â`Ÿ:uêG}VÂ¥óçÏOKK[XgÐb…±<~üø›îÒþîq ™ßçýÌ—§­í?=¯Ï´¼§ä ™•7lvÞksòg×®š‘70y]ÿ×õ¶.\úÂä¼ç&¯{i꺾Ó×½œ¼nàGëÏ8滼45¯ï´¼þÓs_žúÉKïeö–öóûjoø)ÂÏâ…–+šT„ÙEËa¦æaÖ1eÊ”Paþ&${öì©®® ö~žo®¤:ØS®3LxBÔôéÓGVÀQÏŠgŸ}6 áeeea¬…_±bŤI“fÍš5wîÜ0ä?þøãŒŒŒeË–…óW-VÅa\ßðûÄÜòÖ3“²¥l2gÓ«s¶¼2gë€Ù[ûÏ,JJ+µ°hô¢¢‘ ·&-Ø:lÞÖ!©[Õ]ÚoVQŸ™E}fõŸU4`vÑà9ECçn6ë±Þ¥neëà9[‡¦n2§pàŒõ¿Ÿõ½[ß¾öÞa3gÎ ?‘»Z®0¯£8Ì1ÂL#Ì7æÍ›ÆõĉÓÓÓCYDÿÛ¹§ V¯^ý¹Û„«Šþæ]qqqrrr¿~ýd‹÷V„¬(**Šž ܲeKô2‰ „qÆ{ffæš5krrrÖ®]››››´Lá þêˆw.Öé•%/~T80uëÀÔ¢sbýfÇ^š{î£Ø+s‹__<$-6x~Xõ¯»èÅY±çgÄžMŽõþ0öLrñs3Š_˜{)%ÖoN,ì{¬wynF¬Ï¬Ú†%uë˳·ôþpÃuC2þgÒà¤qá'r·B fa^faŽfa¾fiiiÑ‹®ÃEåå•••Uuv×%F°sçΤ¤¤è_× Y±û/•——'&&†©Ní‰Ú½«Â.¡)ÊÊÊ·þè£ú÷ï/+à¨gE©©©ëÖ­û?;v„3Ã?þüŒŒŒpÈÎÎÎ0??Æ ›6mÚ ´L………K—.mÿÛ¤„ÿxÿÍzâÃÍÏÏ,z!¥èù™±Þ3bOLýijìÙYEÏÏ.zaNѳ)E½gÆz͈õJ®½èñiÅšRüÇ)ÅMŽýqJ¬ç´Ø“Æžú(ìXt¬w gö ¡ñQìùY±f=;cëcS ¯JÌJ¸vBûß ?Qø¹Ü¹ÐB…yÅÆÃ#Ì4Â|#ÄE˜{,X°`úôé+V¬Øºuk¨ƒxÊ:!:ºvíÚ©S§ús"Ÿ|òIå_ÚµkWØì¶Ûn 3œøgBSÄb±U«VÍž={ðàÁ²ŽzV 2dáÂ…¡&b±¢0„Cò§¤¤,Y²$Œî0NÃ`£¾¨¨¨¸¸xÛ¶mÛ·oÿ?@ Fq8"ó§#nŸ™Ð+3¡ÏšòIûám†æÿdPþ·äÿ>ùÿräHYG=+Â×¥K—ææænܸ1ŒÄ0Š,X⢰°°¸¸8jŠ(%jjšô9o@3ŽÝáÀzÃÓùøš±…wOÛöÀŒ²gÅÿ0£âwÓ*ºM®¸åƒòGf–õœ½ë‰Ô²?Î.{hVÙ}Ée¿Ÿ^vç”]·OØuóû»n|¯,,·Ž/ûõ¤²»§–Ý3½vƒc½Ë­Ê»N.ÿ¯+þ{FÅ#)ñÚí?Üöë÷7Ó{ÙÏOÎÌÌ ?—;Z¢hRQ]]}¸}˜o”””„¹Gôß›YYYyyyaZ&'õïÅHNN¾õÖ[›þlE×®]SSS£7q„kŽ$\FFƨQ£dõ¬HJJZ±bE4$ÃÐ +¡2Ö¬YÖ·oß^VVVUUF}xØ÷™O–& á0ƇŒx÷̇æÝúîæGg—?½ ÞkQåŸÒ*œWù‡”Ê»’ãÏ,Š¿”ï—áãøÓ ã/ˆ?œ¿?%Þcf<\ú›éñnÓâ¿KŽß;3þàœÊ?έ|"­òXïò»•÷ÎŽ?4¯òñ…•O/Š÷^ï5¯âž©Emž^ïùq<ºô÷©•÷Ì©¼^å£ +Ÿø8þLFüÅåñc½Ëýó+[\ÙkIü¹eñ¾+â//‹?³ üŽákyeò‚ ÂOän…–+ê‹0Ç3ŠŠŠ0ësŒŒŒ¬¬¬‚‚‚aZ²cÇŽú¿‘}8ùùù\º³N¸ò0ω^gµjժѣGË 8êYñÆodgg‡#:Gº"ú[±X¬¬¬¬²²rÏž= Ÿ­Z¢êêêp˜ž4iÒÃ&Þ:,û‘‹ž^°+dÅñÇÇïK‹Z]‘øIERnÅœŠ«+ú¬¬xvYü‰%ñGÇH‹÷˜_»<°(þÇôøSKãÏ-¯è»ªâXïòàÂø×®<v_´ó‰±»G­}|ÐÄðSlݺ5üDîVhÑÂì¢þÙŠ0ës•+Wnذ!Eôé²á¢Ï}›F(…Ï}Gô&ŽÒÒÒ0ÉÉÉÉyóÍ7eõ¬7n\¿aðÖ¾0ŠCчAr>ŒñQY„_ó/ …–([ ?üðÃCÇÜ÷ʇ¿y5ý–¡Y7%fÿâÕì΃²ïz}Í=o¬¹÷Í5ÝG¯ùí¨5¿NʾíµìúK:°v¹vpv—!Ù¿–}ûðìߌ8æ»D+7'fß–˜u×Ð% ·|t¸ýá§?‹;Zî»*¢7V„ÙEôg&Š‹‹CPdee…i8¦"Mÿ”˜‚‚‚¦ÿ•í;wnܸñÝwß•pÔ³bΜ9™™™¡ ÂX^Õ@V°’››Ûð/VìZ²0œóóó/^+üµtàÈÔgÅÝG¤>+|pBJÈ @V²€¬€¬d +Yာd +d +YÈ YÈ @V²@V²€¬€¬d +d +YÈ YÈ @V²@V²€¬€¬d +Y!+YÈ @V²BV}Vú¬YÀ‘I8Þþ™Hu¨ endstream endobj 584 0 obj << /Type /XObject /Subtype /Image /Width 1053 /Height 678 /BitsPerComponent 8 /ColorSpace /DeviceGray /Length 2604 /Filter /FlateDecode >> stream xÚíÔëJÆá¾…QD$Ñ9ŒÂ̦sʞꇛ§ˆˆ ˆ""*Ìú‡òм‡òN:| ò¿ùUžç^x·;^Ì~ýñà¯ïç…Ww: ¦þuQè¼ÛõÍÀUç]÷º/Í\uÙÝÑc ê¹ßk ê}0%öˆú¥ŒD©ÇƒF¢Á'i#Qº3c Ê<6 ?5>7¿Ìˆ²¯'ŒDo¦ŒDSosF¢\×´€húÝŒ€hæ}Þ@”ÿ0k ší.ˆ ÝsF¢¹óF¢ùO F¢…Þ%#ÑÒç’€¨”(ˆÊ}#Q¥¿j ª&Åh‡š€¨6P7ÕÅh‡Ô²€hyP€¶qhˆâˆp8¬ˆVÄ@qÄ@qÄ@qÄ@qÄ@qÄ@qÄqÄ@qÄ@qÄ@Ä@qÄ@qÄ@qÄ@qÄ@qÄ@qÄqÄ@qÄ@qÄ@Ä@qÄ@qÄ@qÄAqÄ@qÄ@qÄ@Ä@qÄ@qÄ@q@qÄ@qÄ@qÄ@qÄ@qÄ@qÄ@Ä@qÄ@qÄ@q@qÄ@qÄ@qÄ@qÄ@qÄ@qÄ@Ä@qÄ@qÄ@qÄ@qÄ@qÄ@qÄqÄ@qÄ@qÄ@Ä@qÄ@qÄ@qÄ@qÄ@qÄ@qÄqÄ@qÄ@qÄ@Ä@qÄ@qÄ@qÄAqÄ@qÄ@qÄ@Ä@qÄ@qÄ@q@qÄ@qÄ@qÄ@qÄ@qÄ@qÄ@Ä@qÄ@qÄ@q@qÄ@qÄ@qÄ@qÄ@qÄ@qÄ@Ä@qÄ@qÄ@qÄ@qÄ@qÄ@qÄqÄ@qÄ@qÄ@Ä@qÄ@qÄ@qÄ@qÄ@qÄ@qÄqÄ@qÄ@qÄ@Ä@qÄ@qÄ@qÄAqÄ@qÄ@qÄ@Ä@qÄ@qÄ@q@qÄ@qÄ@qÄ@qÄ@qÄ@qÄ@Ä@qÄ@qÄ@q@qÄ@qÄ@qÄ@qÄ@qÄ@qÄ@Ä@qÄ@qÄ@qÄ@qÄ@qÄ@qÄqÄ@qÄ@qÄ@Ä@qÄ@qÄ@qÄ@qÄ@qÄ@qÄqÄ@qÄ@qÄ@Ä@qÄ@qÄ@qÄAqÄ@qÄ@qÄ@Ä@qÄ@qĸQqhˆâˆðÿqH-ˆ–Åh‡º€¨.@Û8$kF¢Z²j ªöWŒD•¾r­±º¶¾±¹µ½³»·pxÔlŸœžµZ_€¯Õ:;;=9n6ö÷vw¶·67Ö×Vµr"™JgFƲ“¹é™|¡Xœ_X\*•«7ÞŸ¯—–æ‹ÅB~f:79‘ɤ‡RÉ[À5ý»ºœ endstream endobj 590 0 obj << /Length 431 /Filter /FlateDecode >> stream xÚuRËNÃ0¼ç+|L¤ÖõÚ±_!($àÚô!µuéƒÂß³k'MÕ‡¢D»ñìάw€ |€’\ZË4h.3ņ‹è;âJJãmä@¤Ög&ÓÍßÞ`9»uÑ >P·í6}»GoЍ×Ï™åÖ`Ób̬`©®Œdň½ÇƒeÒUJÆÛâiâÕ·JºÒÄÅt8«ð³!€ŠG”ã[Îݤj†‰Ìã©Ãš,v<«Ô÷õégñÐëëìH èŒC–£z/å‘XñÔ݇¡äX½´<• žZ—_øéªr‰ñ(ÈÙTsOŠ]¶˜á6=?#ìõœ Ïô4&uëÓ¡|JTnâ%—óÀOèÝ2ЇieœX¢»â°´fgk®em…4—¢öBú£LÈࡎ½`¯{¡m|É `€>¹w·#ù nÏ­1Þar:—¯p〸§Êe{9Ð^™»èT6—ü†¨kÛȹm½ò!´ Ž_ïˆç¤kCz~Ȉ5·#ó"‚´™×~iƒ4n¹¨“=u(é2þ’\…1¥¹t±Br¡MP‘ªfŸÿ¤¹ÜÕ endstream endobj 579 0 obj << /Type /XObject /Subtype /Image /Width 1049 /Height 675 /BitsPerComponent 8 /ColorSpace /DeviceRGB /SMask 593 0 R /Length 64735 /Filter /FlateDecode >> stream xÚìxUÛ†×O?Äòa£HñWP&MЍ4A¥‰€(M5T!@@z@  $¤'¤÷F:5ôÞ¤C ”ýßÝCŽÃÌìd¶$„乯\›ÙÙ3sÊœsö½wfvÿó|ù >6mz||Â)PdW|¦ßtçEŸŽnذñ–-žûöíÛµk×P„ÄôáÀ“'Oݹsg6¨†$"$d[&IVVV†ééé)))±±±ÞÞ+† ·mÝÆ¦ISú›Ý² =¥•ô% dÊ›‡z{mýõ—Í-šx~òýÑ=¥•*7ßà5zéЯ&·jkݸ̈́O¿œÜrô’¡´Rys@Q“f€¤¤¤ÈÈHÛ¹SëÔŸ×ø3ÇÎÝ6¾eèpÇoºþÑ賩uêÑK”€’)lî?w¦ç‡oµjØ·s¦õȬ‰£ûu nÝVÒK…n>­í'#k·üý“+: Û8à·»þÙ®ùÔŒ¬M/)l@=!ÎÎ!E·ÿ¨°”g¤)bC<}L,mBTX,z l‘j€èèh—9s¦¿WË¡^ƒ„Nßœ]¾2ÿøñü#GÎ.ý3¡ýWõ>¢—(%3´¹ß³|뿒رú±ñ­®ø.¸{áÀ½‹‡®úÛ·n›øeuz‰(l>ßÁöãaï~>çÿúmüjýö¿Žþ³Ϲ̥16=\Z5µ­÷ÃÞ£†6Ù©eɰž_÷ÔÓwÐŒ?7Åé×zÏÖfàbƒ³IÒV«¯¿~¼mW°ðuÛžK¶Æ•ü:'msÄK¯+v_û $Q³L¬£Ñh&Fè—üzàü-,À6‡a͈HGÄâٙɆ1Ôc#Më^Fk4}·&a ÊÉð÷ô´­ûц÷?Øýö‡—·º;rì£ÍžÜ7ç ué“Ïw¿]—^¢”Lvó`Ï-þMªlïRþÜ„ªW5½å5úÞŸ»;ýnmuq³s^§—(%“ÝÜÓwKÓáu[Ì®×mSã!íR¦†öößï6+nä¿ö]65¢—(%KµÄÌl¦Ñ4ï;bD_žžó¼híÖ¹í5š)†6J ž?vĈ±:ú6§š³åƒÇº†ÆUIBM·Â'Öü=Em˜B…®×ñ籋=|¹o”¨Yæ©Ñ´˜£[޶©«©;ÁÝbeˆÝÐV£¿)~»üË‚ì,ÔpMŸ½ÚÇÀÓÂñšÝBSŸ5Å„lX6yöŠHÅm·goÿ£…F3t5F ì`‡‘£WÖ¬{ Ú×_ªñè•ÚÚO[i¤í;@ûI zJ+é%J@Éd7÷;0ªS¥Ë3ÿwîîÇ&÷¶|{?Âú~ÄÄ»ž=ï¬mF+é%J@Éd7¿hd‹ÑööùüçðvÃâ¾™œòãâægŸÜkHl§áíè%J@É@-‘3›kšÏ ÈÍÝw(yiA³)hmú®‡íI1´Qâö]{ss÷êYð¥¦Þœý2­ÊJM*ª’Æmª£ÑLr±@·Ì$•˜ÄJMÅÎÝ‘öïÌ«{XØ‘ if¤nEÒîÉ´TF~¦ÑŒKÌN5ðº ;Ë=j;ÉÍÀÓÂÙL]¤ÞL}«Äêç1›¦5Ñhš8G)o’4—2\à‹Á(#Ä`CûNñïÕ»Q¹–¶b íK5´¯ÕÑÖþT÷÷f­ne­U? Ú%»yì€:‡Æ¼}˾ὭúuÒ†v×F÷ÕF÷¡zJ+é%J7 ®ìæ½m»|¿ºÍȤ®ã3¾›œÓkú®>³w°ÙýÓï;ûLÊþa|z‘‰]{®nCÉâ@-á6¤S6è·J4Ÿê¬›îl~¨ÕÍ&”% Ý0º{#v΢V÷ÑBŸØÞݦ™¦žM˜`Ïš©­j±äšN¿Ìbó§M¯F½lÖ,ÁÖ·úÉÖ_þñÞý´6(š­ôXfýx¥F3Õ94.Úã'¶Ïjk4Ý׆²N]iû ­«ùã°FšZÖk‚ï1¹W­Z£×ø‡n°Ñhº9‡JêìAë56Q¢õ¼$µ:}Û”þu´ ××ß¶Û§Ýlœ¥e ü×Úv*(''âß4a3µ»nõè aÑßi4?;D&ëÛDÓj„OÁ+þ+GkjõÚQ+ÒJ^¤îÝ[5jõÓüˆ‚ý^¼xD«Çí¶Æÿq»Å9ÿÒêñ±²^©Û·óÔoY¡©ì½l6ˆžj!6©‹Ø?yì"6L-¨7•mj¨áCœ˜5–”c²  Œcÿ¬ñ‘öýÚºŸj4Ó6i­ý¼¶e{mÓ6ÚFŸk?úL[듃5>¦d²›g ©~~aÃ{[Ú? ëªMè¥Më¯Í û£…Ä^ºÓK”€’ÉnÞ}a»áݧïìo›;pÁŸíþòב!þuÉÁ_æïÿyvîÀßwöнû‚v1 –°Í4u‡,pu]eÕ«±FÓgST­Ý8½©¦Î¤0]‚̓ua§À˜˜mN}êÒòàÍ‘ÿn¿‰¶¯7#L°GÏå“'Ú¹F$$¸/èC©gºê^Ü4½›>Àìjçêéd;\·Z­Òeï:–Ùy¦$NjFk'„ÐÚHׯ5šf“œRb|]]½·ÅÄD…{9ÙÖ£rØ:yzzG wèä¤Ûã73Y16Ùö$%Ú•ék?¨Ï4ïHI7Í ä?MY¼jÕòåK—:n Яœ­³‡1+""œf Ôí»«W˜¾1\¥e`…o6Ün[B‚ïšIúJ9궈pe…¶`»§”0ï@'ªå4w]™â|ÿ 4ãVè_û9†cR\Av11!®SØþ#bÜç Óí±éô ÁþÛO\áén×Q£ùlìZýN6÷§µÝl·¥$¸ÚRã×^ê½m#-Õûy§§§_x´è©|û?ɦs»¸¸ÀéúkÛ8¹ûúEÄ>Ä11ñ+(Ëæ‡a´Ê‘ØÖ¸å‰›j[´ÕvøFÛýíµCÓ©ø‹¶gom§®ÚVN~Ò<¤i+Ùͳ¬>ø{MËGáßjSûkwü¢Í¦=8R÷·o˜vç/´òQxOJ@Éd7ï÷g— ½òç‘akŽÿæzrÌ–3Ö[ÎŒw99zձߖ¶ðÀ¯ãÃûô]Ö9ÔbÛáñçì:ºÿMk7èÂÙé!‘‘«'Òêé>iº+€’Ò2ýuñöØ5~|û ÓIEt)9‰i99™iÑa‘‘+É<&:û듵§ˆ5|ÏîÌ´Ô´ìôùþ6O{±ׄâ÷uþ~ž>>Îó(âl²*f[·®”M—ÑNž!)”s\TdTlJŠ•tªWBjjJlÛaÇMÉ´ÃíÉñÉþv:mY¸…²Ú2„–†;§ÆFF'¤íÚ“-©ó†éì“yÍדÖÓÊu“¾ KÝ‘‘Ÿ˜–¡+a3V¯jŒ¦“]¤eоOØÎ̤øø”ôω‹÷p¦mB]tµ]¾3+}{j’0ÿÀµã5šºkCto4ÑIQÓ©¾¶¥¦ qÖÙ]@BÏ.2ÒQ¿ÿàìÌÄø„íYé¬HÛ"ï¿Ïü€=9©Û“ÿ # O¸Vw°†/óð÷ô ðZFû½Æ/&!ž4›ê©»"þ'ŸÊ·ÿ“»=O»èD¿yÝI·Ü¶§$Ç+âÈÈ(™5u'úc´ÊáˆèûÓÁæmu1`°Öj¬vÆLíb;Ýß,[í8kíà!ÚïúlÕ.²ßÙÍ·Oïpfí—ÚäþÚ]CuqbœöìDÝ߉ñº§{†jSúŸqú’’Énníx}SÚÛz¿‚|©Ü3£bgš³‰Ò·àà¿nm´8(N©În¿SšY~Ùì^‰]™‰ááþ¿“It˜ö8Ià,Š‹›±z隨éDgI¨ð”fÏØ ûX¾½C`xxˆ3%›â&“µó$]{únÓ?‹ ¶HF³ÌÛŸhõ´˜„HAv‹!)ÛÿæÇë§‘LÒoÛ¦Yš'¨k»!¸ Áú‚"Ÿhÿ'»SuòHûuFjï(Ÿ¬à³—ÚkêNòÇh” B 3ARÛÚÁô֓µ,ЮvÐnبݸIëà¨]°X;åwí°ß’ÛuŠ™¿Pv󸕓ö,ë¨ÍüE{ÐJ§ç&k/M×^š¡=?U{r‚neÖ/{—µ§d²›ÛûÚ ]ßsíá±g&]˜{i^êÕ%ôsé€óÓÝOOZsxÌP§«|ìB@-úÀu-EÄ&m¡(SóÙ ßP—iMH%BCý¬)Äœ¼.¥tÓ]r3q½ßÞ•¶¯«KY°¿•-5š¦ÖvîÙ³{w`]â@ž,¸ ‘.Hn:Í74|Ý8 Š{‡îaìÞ³gGb„.Etbúî=;c½þÔ Å¶ºUAº0þw·@ù|#ã†RTܨe#Š·gEÅ…+ÕÙUwçñ4WáÊåChóá›ÍB% `ËM4MôMôd¨ðTº~ ö°n"½ØÕ-øq²‰ë|¥YGl[GÙŒ[ó¸c£=¨‰Ú|×·±F3Ô!4ò‰ì"œ'Ðþ¿[ÇZ-x}?ÝN}CEûgGp}hÁÁ𿕾§ =Ó"X‚ºcÖ xÁSƒí/ÄÀ±£úêTb}p!ÉhyÁw”ðŒ6@Ù ØqÛ¶Åüåôðß´ éôÁc‹6 P÷·ÅKë´N»ØîŒÕ˜„_†P2ÙÍcÃB2u>¸¿öØ8íY½Gü3S{y¦Î&ÎNÕ>¤æ’¯(™ìæáÑaÖ›ú-ˆþuëéßÃ/ÎIùgIæµå×þJúgQØ[ïÓÓæFþ2vC?J jñÚTSg°­ƒ“â™Ãõ·ßñ ^?µ‰æƒ©¾ÁÁ¡^½t÷ÐŽ°w÷öv·ÿUwKo/¯ˆp¾ýzÚ¾®.åc|Öêbð 6º»Ìü¥þz7}2Ý%K=Ç-r÷öuZ4ZwIýBOÚK¤÷BÝù‹ãœhÿ[6,_´Ô=€ å4mÒ'÷­!AuW+õ_Æ÷ÜvôÂ-¾¾2ù‡ÄlË>[åÂʰaé¨QÓœ}%u^¯»eøgÛ?œtØ;¸l ô_6@W*«ù..öãz°›¦z³&¢ØÞÚIZ†àºÛ·¿·ˆžº,Ÿ¤»'{ÈÚXzð×%³^ë#7•‡L­«ùÎÖùñÓиµCØy^[ã#ƒŸÌ.lóÝ+-z7¸…>QÓQ«uo0Oì_w›Z¯Õí,:P×\šÎsì7Pk:Ù/µw§rÌÕµ}¯åÔôÁ¢§òíì=­GƒßLò~|ˆåÿꑺ»×WP^Þ É‚ƒ]j4VmÃh”  ”´aSÚØqÿù—îdIDX¸6%#$líø®,mëŸ'Ò/þ¼Ì}Ý”/(4ÿ®ÍãÝ´µ:19’í>jÓœ¦ÿáË•´/Çoÿ½è¦—SPÛóªQíõ«j,Ù¢/aA¾º]…ŒÒ½:À'&Œ­ñt°Òhj/÷’ÔyÝ”'/Ò|òëŸa‰ñ+ï_SûÇQ¨L]føè“O¡Ø~‚ƒ´ ÛbRýWŒç;i:da\j¼.™#5êÔõ>r ¾-x-Åû-Wx?~éµ@× 6›"—Žgµia¯vŸÕ®ýÙ¤Õ.6íuŠ(Þ?Kï¨[ OOÜZP ã×PåƒBÜlØÓÁvòí°UwN¡Éä­±ü± óò¸c w7œlÝôïÈ\übÃ0ØeøúúFEE%{xdL·9¾ÞåºÏýàûÁÛ®ûøwqÍœ9›^¢”Laóø­N™kûžˆvc¯õýSvsßÄ“ÑóÖõ£— ÝÜ'j³­Ïà51£d|pö–SWÅŒ´ñþÙ;j³Âæ GprÖNvfZlX ­HÎÜ‘“¬O›™“¥ÿ‰”9qúœ¨”¬ÙS²äqÛ3Ó(uJVVzjš~)9:ÄirMÓÙ”Wšþ§²Òâù&¡1ÉÙ;²t«SÒvìÈŒ¦ÝFeîØ‘–’¢Ï1³ ÇÀxÚN·n{L°¤ „ñZý ÅóS6FÌâÁQ©;väÄKꕲãI²·GÓêÝþuäd¤edSY’õ›§dïÈN––ˆLؾ#+Mß6YÙéIÛXÖÑÔ¨)QÁ²-· ‹Fóõt–62‰ •ÍK'ÈÎ' &)3+;'';5rí×M»)ë$û¦÷÷‰J£FNѨ Ͷ˜”ì@Ä„HŸÊ´?ë‡5*%=-++3kGŠèØG¥çè7LK¢ÉâMók’ÑlŒŒÀX”| à£'2223))Ù~Uæb»ÜÕ¹k3ì–êž&%ÑK,òæ)‰Ñ.sRÖÍõœëýKªó°h—¹´Råæ)é)ëBV, œð×¶Q†Œ²ó·v YA+•73ð "U¦ Ô~Ûé–V«£ÑŒt§—t» î_·úÉõÒõ{ÍôÏ‘-5CH¤9õ”Í´2øèÛÆOu&‰Ûg ·ÝXhB÷E54šf¾ïׯÛûºOúÛ­ ŽPÛþ¢ý{HäžÊµ¿ðèè“Ê;ý†ú—e±û_“[âGFƒ!(;l5Œ——=ÄÅÅeffîÔC ôTwJ¸ AÉÜžžë–Øoð.Â<]V-[bïø,4‡Ï¶Ä”¸€B“ùºÛ/™8Újè a“líC’2¢Ÿ±C쑊þ(Sx)âééɤ›ð—JìæðT𠎈 õ)¼ƒ#¢) ïÒÕlaQ±‰IIÉ)ɉñQA¾eüÀ³'Ïw`¬ÓúûûSy¨•FŽyïÞ=Lt(N•0t¯„M½zõbbb¼½½+Uª`fî­Zµ:[ÀÝ»wÙúÙ³g¿öÚk˜íÝ»—BeŠî¤÷J;v¬{÷îŸ~úiBB%3¹ ;vì ˆ799™=íÓ§Ì ­ø„ Ú¶mË >œöÃõ¡fÍšááá–=.Ç®^½šÂ]Šu_|ñÅ7nÐJGGÇråÊ‘;°4'Nüúë¯YRÐkgg—‘‘A¡ôÔb,MÇŽ©UytJŦJY°ITB¡T / ĨQ£:wî|øðá””:vïüï¾û.eg¨µ¥M$›Ìœ"5oÞ|ŸR]®†FŸh´~ðÁäb7n$Ùùïÿk¦p(„.Ï?ÿüËDEE)¨…ú+V¤Ø‰­ïÒ¥Kß¾}ÍÌ]xg.ûl –7nÜ^Eøw™™;íç~ì*£#GŽP. UBöœ,÷ÚÚÚ¾ù曾úøø°•§€‚=Š÷ìÙC+ãââHÇ(žŸ7o^Ÿ>},å sæÌag@|}}ÙÊ^½zµiÓ†üýý_{í5 Ë÷ïß/⫯¾â'Pž–J(”J¹ÀƒNLjԩQ£F111E¡µk×ð³Ì}÷îÝ”Kttt±©ÄÁƒYŽ}ûö9r¤´*NAÝ„ ¨x#FŒ¸{÷n… RSS›6mêááaÙ–!Ïêß¿­Zµ-ZD¹ £Ö   çž{îĉÝ»wgìïܹ“P0Ï7ïÙ³'9ãÓU …R)XïÚµë›o¾¡*“²Y¶‘/_¾üßÿþwÁ‚ ­-l"…dW …N¨ ÔDd^üV €§¥*—+WŽ] Tt¹SØS­Z5ð©°`½·lÙÒ"%iܸ1ń«›TV|áÂ…üñ_|Añ<=ýòË/­¬¬(ñÕ«W-Û2{÷î¥H’/??_µÒÓ×_Š÷ /P˜MknݺEñ§ ßœ 8-wêÔéÇdËñññB•°`“JUB¡TÊ–ý†¢ßÿ½jÕªæ|Þ.mäéÓ§WªTéüùó ­-l"…dW …N¨ =zô þ‰‰O]%ˆ©S§V©ReóæÍyyy×®]~ÍŽi¹ o»&Øý}ûö­S§NtttFFÆ7ß|óÒK/ÉÞ+áìì\¡B üÌo;;;Š…W7©¬xVVmøòË/³«ÓÉ,(ž7ççØ µÌÁƒŸ{î9Z¦ÂP¦üË£ˆ±cÇÒš&Mšð5¿þú+µaRREéT*z555•½4sæÌš5k9rÄÇÇçÿþïÿ„*aÁ&•½íZ¡T /‰ú‰'È Æߺuk‹4òÉ“'cbbFŽIÇÎÑÑ‘^:~ü¸¡Ö6‘B2‹«„B'V²0vÛéí«¯¾jf‘,¥wïÞµ¶¶~ñÅ+V¬Hû®srý&r\\œVS5èiµjÕüýý ]àôÏ?ÿ|þùçåÊ•~ªiœ:uŠbBáÕM*+ÎΡﰧéééTì•+Wš\D-B¾@(_¾üŒ3¨ÊT ~‰ E•”Føe¤jöéÓ‡¢P±ªU«ºººò—(¼oР¥ÿðÃsss…*aÁ&•U …R)¼$ºíš~ŠÉ›È;,ÒÈ”i­ZµzôèAê*´3ÙÖ5‘ÂA±¸Jê„¢ÑÚ²eËöíÛW®\ùù矧"Ý¿Jœ?~¼¨C”Ó§O«¹|åܹsyyy¥©â P¼Í+{öìY¾>!!bKzU”þöíÛdI²—Ê_¼xñi5©B©^âPÙ.\¸ð[[ÔD ÉŠ¿r­ ãË¿ECôèÑã§Ÿ~B;üò5PÏõë×I%¶oߎ¦K–,1ÿgèŠ[0žàY`éÒ¥¢€J(ƒ;G:*E©©>&( ¨ L©ÄêRЍúÒ3¡¥µâñÅ:OY«xií]5à™O=(QÕº33¢J•½¼¼¼ûE eÁF_±åUhƒ”ÖŠÓ|{ýúõ›E eÁ‚"tž2UñÒÚ»0j×31(J`hQ¢ª_¢:eJ%®]»ÆFë7øCôTºRúªh%[¦,Øü_ly©™sJeÅÙ|{Õlmm½½½Ú„½ƒH륱iCkkkÚ=¢óX°â&ô.0Ô»´Â"£Æ‚õzZ‡†p¤sGeYcP¨é<%S% UßÉɉÞ\è±Øª_œ“¢J•½Ó§OŸ9s†ÏpÆüU¶‰4±h _>yò$›ÿ‹-/5gBKeÅi¾=þü… Ø£+W®¤f¡¦ôHk.¨ãܹs,(Õ‹b…Ù˜‡÷ iØÌlCQŒTü§R¥J”5=ÒûŽè€fee _}¶FÊÞ5wî\ÚVöÑÓÓÓäÞ%í-YYFÿÉö.Ùzm6GGG¶ ²^Oeæ¡زÅg§N¢¡GZfƒ¥øg9>H‹F¥¬‹mPˆ`‰r ½¿+÷C5}Õœ œd«O±bÅ JO´,[}õÈV_ÍÌl‚5Ⱦ‹Ú1(ã*Aƒú¢&|ž|Ñ”›ÿ å¥&Ç‹ê`y©ùøB¹0Òò\4•·`^4ßÒòßê`6Á e •R,(Õ‹M²Å…÷ í Úƒú6fÄw¥œ]už*U^mÚ´Y»ví˜/_¢55kÖèØ±cçÎ¥¯šSqsPYq5½‹|ÁÁÁaíÚµ²Ì&Lë]Âwv_ßýL%||ö{xìHK»OË[¶ì¢?¦ ‰‰77oÞ™––/U •£Æd• ÑÄ"4•õ*ºj(/L"„К¢žå¦>•ƒÔ"ƒ‚W“Ï6²·à 0›xÕO¹F©ï‡júª9g%d«o+9…i ¥\}…™Ùƒ.ÈNˆ*TB8ôhh\Ö#\Ï|4 7€p0^À÷FY°ù_6/žÞÐgÚ콆¤›ÊKÍœ£P–ãñãg£¢öÒcbbÎÑ£³• å7­â–Í‹æ[šx/«†Ùóõ[Q,(Õ‹&iÙXxÏ1‹øKÒ>`Bç­äolÙ¨64¿ó¼ûî»õë×ïÞ½;-GDD/+Ø AƒfÍšõéÓGÔ\¦•U³HÅ í]Ì#\]]ííí׬Y#}\´h³ z—ð4W‰~ýÆ­Z1wî¦Å‹}~ýuý±½z$›˜1ÃiíÚø9s6.\èEɘJ¨5¦I‡"4•õ*º*›¸–->“ii½°¯Zp–S˜úd)êAAYðùŠeÇ+nñA!‹°«Ðô«rÊU©¢~¨¦¯š£²Õ•`ËB§0ª¹”«¯03›p>BøH½‚½dBÇ*ÁÆQVV©DVB}®d) C‘$ÍêU",ìèÚµqôèä”wŽV²@h ïk,/5gB †2¢xž¢ú«WoÐ òíìܧ§ç~öÙpõo²…VÜây)¿¯Ù‰¥TB¡äL+TBMªA}šÓyˆJ•*UyõñY‰¡C‡ŠÚ¤zõ·k֨ٱÿg%Lî<Œ?IÁ²Qm¨òã¦bè<¬<ï½÷^ýug%úöíË|%¨¤§aÆM›5ë«?+ÁÎY˜ÖyÔ4²QGÍ'†zW¡a”MÈö.…{%ÒÓHo‹HKË'­`fA™™˜J¨5&«ßTÖKt@iFµÔ•ÍKv¼ð•,¤·T^Ê•‡m,SÑz“óRÿõB›àŸ6XpPª*=‚w£TBÁ#¤iÌ9+¡P}.¢5ÂsæW_afVo†zK`BÇ L© Ñ·%ððÌ4•ýú6ÿËæÅ—Ùæ¤Ì#üüö’G$$œ=|H+´ ö~¡ðU*£ACç礱vmÐÎ)Âg‰9Ê…QŸ—þ$…YyÑ|Ë>?~ŠÂ—eí@šXøf'úˆ'`A‘¨^Ò PláÅN4uÚC¡‡o"Í‹öÌwË(ÒÎÃ2Ò•ÐÝ+Ñ”Ÿ• _àŨ^ýíï•èbe5zòäɲCFý¨V\tCŠèUó+n¨w©ôY›Pß»¸>˜‰ÊQ#ºDŠ¡ðŒ?UY/á¥é”÷RCÇËÌ™GxVBtY8;+aÁ¼ uT^öERløóWÙz“óŽt>*9¬# #FZÃOˆXpP¤S.ë*jÎ= ;Q*¡F{eûª±*aBõ™S0›ž›0¶ú 3³±ßÑ$:+Á4U¨„pèÑãõëׯ]»v]-ððÌ4•¸þ$´CšÏù¯ºHóbOéQxV‚/Zcf^lbçŠ> äï_nrÐælÍÞ,ñ ìU‰êÅ? ô(-¶(±Ð#x0ªóðM¤y±ˆšç%ô”¢è<ôȾéÝÏJô±±±a~Á+WªÔ°ACv¯Äσ±s&tQ#3‰`ßÉÃbEþ<ê;š‹¤½‹ß¡Æ#¸Mï›PÙ»,¥*G ·DçéØS eÅPY/~@™GÈÎr£fæÌ#ºWBt}8–ÊKÚQ…»ba›4/¶Þ伸2ˆä‚Á'¶ž=Z|PHO©ÈvQ÷~’v…ëŽ U]å4æ\दú¢Ú±e‘M[}53³™÷J(Lˆ*TB8ôh\HgQ ª{aó¿l^|™ß+ñØ#âô¡Œˆ8ž’r™¿ÏJg~Q^j>¾0TñãÇÏÒŸì9qŠí÷ï¿ÎÃ{ŽraŠ3/6ßò‰½Ÿ®\¹R¨´FV%èUf¢Ä´¹ð#>þ"­ï,€gÕ4Tl~(Yx#ÚƒÊ6d!4ÛD˜—èê)þîÀà ž£;ËW¯D~¯Ä¸qc¹GèÏJT¯Y³fÇ:wé<Új´¡!£~Ôð¾$ý¨™i…úΣæHiï¢~B³„½½½J`,½HW•{—ÅUByÔ¨<+!{q H%”ëÅŽ ÷á¸=X™y„·Kˆî°l^²{ãƒ]¤ j Q1ÌÌK¤lPð ÙË é•i´ ÛU ¥—í< g%ú!G!9g%TVŸ?å @Ë\%ø Jª¯03ë¼Wˆl„Ž@™R á ÌNçñˆNA%DßàdH%ØÞ„¿+$ÍK[zzfçäÜzìúóqqçÈ#Üܶ“e(„^¼ÔÌ9†*ž˜˜cè|Åö[¶$°ðþº"j*.͋֘™ŸØ…°›ûØ.«Â‰ÍÆ<1ûŠ'áÙûÿ±-a1ø‰Ù·fYcâ/ O¨lC~=´‰DŸ²J?nâ9Z°óÿž•¨ÿø^‰Ož• œ•¤?+áããcΨaZ$ýœYø<*;ú°AØ»ØY v–A½MÈž•Pî]"•`]9’–÷ïßÿàÁƒÃ‡çåå±WwîÜÉvíÚůkb_©rÔl6•õ"„!ÒãeæÌÃ…¡ëÃ-•—š{„»bO©5L«—!DÙ g`¾¡pæŠ+rÐ0Î¥lŽ¥•Wv•8™€ù*¡\}ª¼î´ÀF½ð Dg'ª¾ÂÌlìïÐq³®‘4U¨„pèÑPec„ÿܧP%²T|È]ƒuŸ†~”$›—(Sòr~>‚–Ó¶ÿãá‘ÅîÅ]Äh(/5gB UüèÑ¿¥÷G¸¹>Ží»+ ï…¿—jlÅ¥yéîÂ6//>±‹®"f6ÁØZªì² Ú›Ò¹€H [‰ê%< -³¡‰G|[5m(<× ìu|oüê)ö3ÜÒoùã¢a©ÎÃ}Ax¯Ä¸±¢³oרùøœ¬F[QØ5N&Ö‘D2‹¾“GeçQs1ƒ´w™VBeïÞjÍT‚˜J,_¾ÜÑѱK—.züüü~ûí7Z ý̘1ƒmçêê*Û» a\¤æ.ªŽBCõb%‘µ VZž˜ÛÌ™GhâBþú³¥òR˜Dg„—¬›3(D³ÇØz™6(„‡EÎÌ#è‘O°_©²ó˜p’e1¡ú—XYƒ0`·`Ó£òà’­¾š™Ùäß¶–®Qî଄²J¨ÇJˆ>JRV ‘Gd¤_åÁÏJ(ÌÿÆ~°,- Eïbpã±}‹íU†÷…V\”¿®Éä¼h¾•ÎÞBT‚y=å*!D5 ?_ª„ôÃF; IçBÛP´‰¬Jð¼dÏJðd-Õy¸/¼÷î¿g%Ä÷JT®Ü aƒfMŸ•˜={¶™£ÆÐéÑ—Õ¨é”ÆÕæŸ•Æä²½KtVbd´¼bÅŠŒ?~Ú´icÇŽýùçŸGŒáååeeeõðáCJ“ðçŸÊö.Ùz©W áÇ­l|±5*ëňð^ 3U¨Î#´‰"ÍK¶ò**Œó2M%Ì"•z„¨óð—X\­ ª*U‚ßÍ]<;vd=¢P•PY}C“†ù˜Ð1(S*!zïFbì'5U‚ïí) 6ÿËæuëÖ-~Y›¶âû—æ¥fÎ1T àÓÓs¥×5Qlïç·…÷ÂÏînéQ(LqæÅæ[á<Ìo-ô¬*¼,Šßj*ú ‰ê%<³ ª)‹èUa±y½øG|ÛBÛPtVB¶“ð¼¤*!*E:ðì{Ôß+1N¸æíêÕ…i¬'Là×8Ûy„Í®|VBeçQy1ƒ(¨¶ìY …Þ¥æ^‰Gz˜ÏÞ•Þâ ­xQäÅ'váW¯°wZ`v@ Ô¶²ßæÁT‚mŽƒ6¿ö$Ê*Á"é!æ÷&H[€EõÜ+Õ·¡ð—”©„Ð#,Òy˜,\¸ÍÑ!õ¯¿bÜ7îtvN 8$òˆU«í–D¬_Ÿá°:ÉÛ;×}S6[o¨0…vž»¡opm«ÐyT^Ì ê]柕PÙ»LS é'*G»:>nUY/CTV%„ ÌŸy„p•0T“óâƒT()§¢¯ôçk¤{3¡^R•McÙA!ê$,`fWÒS–˜ßò, ªÙJÙÎc¨ lfl¶§§|W ¸ººšÛµ´ú"ØÏ^³/kiJ‘‰¨¬¾z•ögf B•0”Fô*T@%dUB:‹šsVBöMŠÏÿÊyòzª¥QÎKåœ#-Œ4È!”/Åö¶Ã»¯µ5ôƤ²âE‘›Ø MéB•P@”XŠ0(ÖËÐAÞ]h%Úƒš6”•¿6\¡ Më<ì|ÄZÇÚ‰û¦.Îi‡½½÷löÈžXjN¹;¬IÚê»iSNX؉µŽ ¢³&t…ß•Pq©¬¸lïâg%Lþ] •½Ë(•ýøšpAå¨qW a€ÄCGQÕ Õ«P• 1¾À¯5jæQ)ëTÖz„ùÕQ¥²Ï'7ѧ¢GógTÙ*ßR9ƒÂuÒi¥1ôËqLLP füû]ù® Ì&ÌT‰kŠ0‰àg"Ø{‹¹¦£TB4iˆTBØ(U QÑ«*;eM%htÜÖÃF -˜sV‚ïí…ó¿¡¼ÖC¡y©<*-Œ,|aO)kŠí)ÂrOËÒ*+^y©T 5($¾zõ*Š„õbEZ)aô.*¶¨âÂ=Նƞ›PhCÓ:íÖÑ1å¯å1›6±ó‡·zí‰9z”Ÿ•°³ _f ;‘z"0à@JÒߢv3¹óˆ~íšíD¡w[qÙÞEQy½½½ ¿v­¾wûe°¢SQGŽa×N«5îÆÀ BøÈ#ÆBë%{@…Q·èx±y@ô¾úÎc쥼yϳSÙQ…g%D*Á+ËvËWò˜ß"3ªp04óXvP:uÅlBV%„i(—í<…ª„ì® I‡lÂÌ œÔ¨—k®löPóf$[}533S é›s:Ä\%„C”†½ªÜ1€JŠýL;+!Ý›pþWÈKý»?+a(/•_Ü6ÝU»Î_5©ÿ¿ÕìíIåŠE^4ß*œk. •JC½ÊÊŠ«ú64êÜ„BšÖyÈ–ÿã®óˆíúó±1gÈ#²2tßKAÎë3t±×]>"0`?yD\ÌvVÂR‡_bÔ&*?€•í]êm¢PPè]&|¬èÇׯ'Û»dëe¬Gð[ù•õ24:*¯—Ô í<&Ü›¦œšŽ*üâY>EwÅ ‚¯4¶^…6¦úYÈüA!í!ÂoÛ6¤, õdéÐ0V%„»2¤”†yÿy8ÓÎJ(_Ý$¼À‰Œ2•ÕW˜™ ©sz*T CiD¯B%TBª|ƾs玬J{V‚ï„ïÏÿ yº®‰i ­]¥œ—š9G¶0Bîè1´’ @±ýÖ?F]Šõþ™F”FMÅ‹"¯BUÂ( U Q½„E6&‘­¬´3˜Ü†êÏM(´¡i‡vkgî¢óˆCì|DXè1ò_Ÿ]ÌèqÖ¬­[u‘ÍÎG$']"ˆŒ8&,’Å;¶ÆV\¡w©± 5¡Ð»D}IáË`îä•í]fªó1²¶Fe½â^!Êw(«ï<êUB9;c;ªðÇ"…Ö ê¨²aæ 6cñ Y•à÷J(¨þÍW à*Á<ÂÌ œ U Ê‚_ã$ ‘kH×› ÒICV%øS®²oC ¦Æv Ê”Jܼy“ͺyyyw 0ç¬Ûƒí²`ó¿r^ê=‚Ÿ•0”—š3¡²…"Ü­ìJ*Åöq+¦Rx/|UeÅ‹"/áÄξ[„è>káz²ð]1DA‘¨^ü ˆªÀ>“ä Øå7Â4¢Î`Nª “ÚдÎÃêůk =š•y=9é"ÿ®Wv¿®)9éï¸Ø3»vÞaç,èí©è:t[Ó*®Ü»¸M¬Y³†”AöQÖ#Tö.5‡Uøe°ÂXø¥Ê*Gèº) NÁPY/ *AˆîP¦ô õ’Í˨³"àÙ™ÜQùÁöiZGU?( 5fQ Y•àOT‚?•í‚yw Zã䘜t)¶à|óˆ¢î<©x¡½‹Û„¡kœ˜G˜Ö»L¸,GôÈ0J%øÏ²ðG¾¦ÐS¦©„BMù(=ÕyL¾WB4¦ž •xZƒBÙ=Ò˜¦Ê»’ÞÁ1V%L˜„ï8ìv ‘Sˆ`Ÿ3UýBUBvL‰TBöc(¨*UâöíÛw `ì{·¡ýPlþ/¶¼ÔÌ9 …1CåQSqËæEó­pV€y-ð0‰Ù„( ‰êÅâC%ç_£FºcÛåÂwÅrTÙ¶fvnü>kæ´ž;ÑwÃ2m¢è}úøñã'Nœ # ` U‰7nœ’ÐÐPÚ­!›P®·žù‡ó1á‚ôï«1ÙÝ­w@%T øU"??ÿîÝ»wîÜ!•¸tù©Ä =¤ÿý÷Í›7 U‰””Jö÷“„‡‡?|øÙ»ÕB¤ߌÍyøH{äômúÛü–4\ï02ëÚÍûÂáß Û½ûŽßÊÜw=}ﵫ7îO[u* Å©wïÝ#  èÈ‘#ûöíËÍͥǃ=z”lâÚµk…ªDrròíÛ·E!VTTÔz=nnn”@V%òî=T×T¢íðÌ3ßå§*¾‘Ùit6T@%ŠM%ÈÈ#ÈÒÓÓ333÷îÝKBqèÐ!æû÷ï'› Ê*‘˜˜˜——'ºíúÒ¥K§N:yòä… (A¡*ÑuBÎŽƒ7ØrhÊ¥¡órTÂzùÁ»ùÛý–)Šðo<~â|^læ??LÝIOÛÌ:xòö×cþ¹G+[Ó¥!! 9û÷]'ÿ3<Í’MÇÏ_¾¾ýòo ÷?wgÏ‘›ÇåHw•€J@%Š…RRRRSSÉŽ?Nâpþüù¿ÿþ›Ö_¾|ùèÑ£$ô”CA%îÝ»wëInp÷î]J «÷-R‰;wîMäææ*¨DllìÇ€^¢…ªD§ÑÙ7nßo=,cè¼Ü»ù•U¢Ýo™þ¹g·é„P%Ú̺xåÞ×c²¥7ns•øjLöé‹wió6Ã2vº1pö•î*•€JhõgöìÙS¨Jܽ{÷Ô©S *ýèÑ£‡ —(A¡*AáÛ/Sœ›ùOÎÊ*ACæå?{‡t 6ëʹKw§Øb÷P\¹‘¿}ϵøì+²*A KÝOÐV;Þp 9+J#R é¡P ¨‘““³wïÞBU‚ÝR­ QQQä †r¡—(T%dÿ:Zeõ¥¬]'ä|7y§è{beÏ#ˆ~üî‹™*³Ý!:T*€²LFFS‰ƒ*«ÄíÛ·T"22R9#i‚âÿ}jü®€JX öC"•8wîT* æ¨ÄÍ›7Õ¨Dzzz@@À–-[Ö­[·jÕªzhžÒJz‰@%T*a~•P ¨T@% Å£@% @% P  P  P  P  P  ´·¯jS]KÛßÍK8°@%€J@ÑB÷Miû£J @% TbY»Rr>‚*•*TŠM%JMì]ʪT¨ öFu€J•¨ªT¨@% @% @%*•*T{C%€J•ÄÞ¨P  •@u€J•¨T¨T¨@% @%€J@Ɉ½¯ÞÎsMÙQÿ.ݼ •*TJ¬JPЮf[ÿ¨`P  @% „«D»¥n%ç|*T¨<*!ŽÛŸ*òE‚J•*P ¨P  •€J•*P ¨P  •€J¨&ìz €J••0šÚ…;ÐiT¨¨„Ñ*¡qÔþ‘~ @%*•0Z%èoÝ~t•*P ¨„Ñ*Av;Ñ{T¨@% ÙtHÛ.èñ_ùuÿªýÙdhw\Öº([—ò0l @%@% ‡ B¨Â?2 «$ƒ¯–Ö?² •**¡^%¤g%¶-[g%XS@% @%@%Ô«=j÷JSG”5H" P   &«yDÙü­:¨T¨š 樄ÿñ2ÚY P  h"€J˜¦l)Ó4T*TMP ÓT"óï2ÝY P  h"€J˜¦e¨T¨š P ¨T*T P ¨€J•¨D¡Üøð)Ryø=½¿îG]EøßèòÚÛW¡P •*P Æ#=Ó|¢4Ãfó?zúhO裚ÿœú=²íitÀe¿®)è<] @%*a”>p>|˜{ö¢fèlþGOÞ¿÷pê;‡kÿí}h!¾|¨qÐ=—}º¦ Gð1G+ @% ì¨„P øb‰‹fè,ÍYŸÍu¼Ïð™r˜F÷7ñ­û÷òî[ˆ/üïkÖès®®)è3žDV+ @%*!+,‚â‘U~~þú„LÍ™ô·h[ü=ÆÑŒ{Ã4º¿M#ïY޶~÷4«t`Ý]SÐ#(~òõˆäB$P  •INW¯^=sæÌ±cÇŽ=J!ÐáÇwåî{iÀÄûÏܹû gü‡ûi¦„´ÍjæèÁÂp]SÐ#(f:tXu~4HhP0§P/P  PŠUBx2‚Ÿ‰8{ö,Å<ÒÄ÷<Ìðð‰Uhä[¶HùµwèÁƒGº¦xð-Q" AA~-1•*¥X%„§$®]»FóvZZšùûÿá‡^P¥J•âiÝRÖ%äP* oœòåË×®]»S§N¾¾¾P‰g —/_¦Á"{b*TʈJ°S QÃNI\ºt)55Õ"*ѲeËìŠí¢©-[¶lÚ´©¨sÙ¶mÛªU«ÌQ Ö8QQQëÖ­kÛ¶-9ÅòåË•UBe¦ ÈGpj*‰;1A‡ß1•*eA%ØEÝ«›ø)‰ .$%%YD%¾þúëÒz GÕ©S'sTBØ8‹öèÑ£R¥JgΜQP •™‚¢† ,ìÄ„ð'éíP  PŠU‚_ÝtõêÕË—/ïß¿Ÿàüüüûðž0_%®\¹òÅ_,Z´èqœüàÁ÷ß¿qãFöô÷ß7nœO£FÞxã +++НØKT†Y³fÕ¨Qã½÷Þ[°`ß!m2aÂ//¯† ®\¹’¯¾ÓªU«š5k®Y³†ª3vìØwÞy§gÏžשÙyrrr»víj×®mggÇÖÛÛÛ¿ùæ›U«Vmܸ±µµ5­ èÛ·/mÞ¼ysỞJ•Ðꪠ|ùòóæÍímãZ¦ê3EM||<¹À¥K—hÈܸqƒ]ã•*eG%„7Jð«›|}}ßzë­jÕªñpˆØP&¨Eàç  =°õ›7o®P¡;ñ±|ùrRþRÿþýëÔ©Ó¶m[òˆråÊ999±—lmm4hG¢AÅ â±ú‡~غukÇ‹¢wZþè£Z¶lI[?¾bÅŠß}÷ݘ1c¶mÛV¯^½©S§ºó?þ˜¼ÆÑÑñ?þxñÅ)Ôêì˜ ¨Y³fT‹ÜÜ\&”†bErÊ•+Sxi¬Jd+”^´·Š•*_ºzƒTB}¦ ¨!9=sæŒè'C·K@%€J@iU ¦ ì»›rrr(È×h43fÌ%6M%„·]GEEñ—LasVVÖk¯½ÆïË \~ú駦M›R@EyQŽ]»veq8-W­Z•"g–²G à±z5(*ã;©¹ÉÅ‹iùèÑ£T öÒØ±cI1 Ý9‰E€´LâË/¿LŽÃ^2t­Åó”KXX˜ *ѦMÑJÚÛ å^  S¾ÀI”)(j¨3“°kœØ÷8±Û% @% ¬©ûØk×®uèÐ<‚‚Ò€€QzéN²¿Æ%Š–¿úê+~•KÏ)ô­_¿~¥J•Æ'Ü„ÞT6ŠÍfÍšõúë¯Óòþýû©T-Z´øJO­Zµ(ê6«‹T‚/Ÿ?žv’ÀžN:µyóæ´ ~ç¤ŽŽŽ†T"))iÞ¼y´žöæïïo‚J|øá‡C‡íTÂÓÇßJÈf Ššˆˆˆ“'ORâßãÄn—€J•€²£Â{®)ÂÑè©]»¶òçÛì’§ü¸kÜÕÃĺuëFn"»Q”Kùòåd-€]v5þüÊ•+Ó†‰Q¨Å:†……µiÓæwÞéÖ­ÛîÝ»¡€R¯ $€³%¨%_%ˆÍ›7³ß]}ë­·òòòŠü½=5Uø¯B¼½½5ªT©BóT•P ¨T€’©4NYèþõ×_uhD¿óÎ;cÇŽ•¾DC»}ûöþþþݺucEZ¶lT•P ¨T€gT%h^¹rÅÐÞh€Ÿ?^M¾´“ÆSF²*‘}ìØ1¶LÕyá…(å´iÓ ¨€J@% <+*A»*W®ÜsÏ=geeõ믿þWÏ÷ßOƒW«¿ ªbÅŠôê·ß~Û³gÏÿýï´m·nÝ®]»F»ýÏþC/Mœ8‘F}ïÞ½ŸÓãïïOΚ5륗^¢ÄÕ«Woݺ5 y…BÖ¨QƒRnÛ¶MXæåË—»€Jf qm§Ñ=*2d±=©=E\ô8;;¯[·Ž¦V‡Õ«W¯X±‚˜%K–Œ?þ(.”Ý*•*a)• 6lHkÞ}÷Ýôôô€€– 22’½Ú¾}{zúÚk¯:t(??¿víÚôt„ ôÒûï¿OËÖÖÖZýåLlC¦Dƒ •B“%kÑ¢ ya™ûõë§ËR÷SR ÝãÓà.(.È& P ¨€JJ4iÒ„ÖPèNË4îXö*¥¤§;wfOüñGzZ­Z5Zþàƒ¸JÐÈ5M%Æÿ¿ÿýfQ™KñY‰víÚQËÐ#>Hg%€eÉÏχJ@% <-• é—% ·BY•˜2e K@ãÔ|•ÈÎÎ~÷Ýw÷ìÙ£PæÒ…Ô2ôˆ~€ÅÀ½€iƒP ¨T€«666ôôùçŸÏÏÏ7S%hÈ·nÝúСCìirròáÇ¡¨€J@% ”J•6l=ýðÃi¹N:&«qòˆ•+WRÙh“õë×׬Y“¦¨*¡Ì©S§Îž=+ ®6nÜH³è3zè„…WSå4&«„™mH‡xÖ¬Yýû÷°øñ…J@%(!*‘ÀþO?ý”§ùøãiM¯^½h9//% ­„*Q£F ˜ùùùðÓSgggz‰]óO h+‘ƒ´hÑ‚žvèÐa÷îÝnnn¢©¾{÷î¢?úè#Ù2C%P FPPM­¯¼òÊK/½T¥J•;w²õüᇊ´iÿ/ê©Zµj£FØ»€E^ME ¥a%|á…*V¬Ø°aC…ʪ„9mHojo¾ùæòåË“’’ÒÓÓ-~|¡P J‚JlÚ´‰YcРA¹¹¹NNNÿùÏØw4%''Ϙ1ƒ»ÆÉ“'¹JÐÇ—_~ùÞ{ï=÷Üs“&Mbƒ:,,ì7Þ`waÏŸ?ŸjÕªÕµkWvÍåKkÊ•+Gó3˜ɓ'K¿Ûä×_…J † ‰”âÕŸþùÚµk´ìîîΠ§xT¢uëÖiiiöööMš4)_¾ü®]»JšJP SRR–.]JïY %d*²mÕªUQ‰íÛ·W¨PzßgŽuëÖÛP J¾J˜†ð'³”»è£Î4ÒiAø-LŒóçÏÓœ`lŽP TBJNN΋/¾˜‘‘¡>º¶¬JtéÒ…-GFFRIœœœJšJP ÙNaaa %d*1bä¨N:Y¤ ׯ__µjÕ¢;¾ÏÔ°?þøc\\T€Ò¡ÎÎΦҨQ#vV"°¸ ÒB%P —/_®X±âüa(ºNNNn×®]íÚµíììøKT¤%K–|üñǯ¿þz‡²²²Øúþýûó Y£¢¢7nL¡,{º`Áá¤*AÁ½ló€€€¾}û¾÷Þ{Í›7¾7ýþûï&LðòòjذáÊ•+RR *ù¬Y³jÔ¨A›P‘ŒR Š0JH*±t¹}µ7Þ¤øŸ*ÎîøShÓ'Oþúë¯Õ«W§HõdÓ¦MTÈ *Ю¨UÚ\¶YÔ_…þöÛosçÎåɨ t4 åE –/_þé§Ÿ¾úê«õë×÷óóShg3U‚1yòdv…T€gZ%LfõêÕ4yRÜ[¹rešˆÖ#P TBİaÃ(B¦è‘‚%‘JPœÙ¨Q#GGGŠE) Wì%Š3ß|óM ¢(ú¢d4™?~\«¿Ð´cÇŽ,ͨQ£h<׫WÿJ©¬JÌž=›~nooO™RD7oÞ<Ú9ûö V¤?ü°uëÖìÛùRʪ„­­mƒ âââ|||ªU«¤^%lllJH*qàÈñß}߬Y³¤¤¤ÜÜ\å6;vì·ß~K!ëöíÛ¥÷/Ðñ6mç´+¦c†Ú\¶YÔ_…~óÍ7#FŒà*A›SsÊ‹öóÒK/ýõ×_ô4::šUÜP;[D%*!5©è:g¨ÏŠJ¤¤¤˜s‚ÀÚÚºk}ûöõóó+¶s©©©P TB”E¹åË—¯S§Ž0¦¥ ñ­·Þ¢°Š–óóó_~ùeö3£JU­Zuâĉ,…Ù+²/Ö §d·nÝ¢åÚµkSÞ­[7ZÞ³g¥¡ ¥:…ÙË—/§àÂQ+++Qª/űaaa¼H5jÔ ÐNZ iJ©JPRÉÉØú=z 0 P• .[¶¬mÛ¶´…ºÀI¶ µúï4h\CÇeýúõ¯½ö[Vhsåf1t|•w¨¬¼¨IÉwø÷1ò•†ÚÙR*Áèׯ_ll,T€gN%T¨D©Q‰ÇuMMýàƒªT©Â?rE×;::Ò„±%ѵkWv2‚B¬J•*Q\M!Y­Zµ(¦záÂ…?ýô“l þÆoPL8|øpQ]’’’æÍ›ÇNmðï— ø MÉ—÷ïßOiZ´hñ•*a›6m U *a‡~þùgÑ7²ŠòUs¯oCÂÏϯråÊÍ›77tñ¿P%Ú\«îŽ ÑñUÞ¡²JóbMJ2(ÌK¡-«½{÷&{…J•P  OW%´úëê«W¯>tèPå0x×®]( C8ŠèZ·nÍ–)tœìáá!6ò<\  <Ä8b›@Ä`‡Ráß_Œ5ê­·ÞJJJ¢JB• T B¨mA%Ц‹‹Ë±cÇ´©DiiiHHÈÆÓÓÓå£JKKóóóC<Þ¶mâ–(?uê””‡ñ±‚+Þ¦¦¦Ê[POÂøB⛟={vß¾}6l ”äâäÉ“žžžÈÕhÉ\y„UUUÑÑÑ^^^hD]Orss½½½‘äÑÆŒ’øøø¸¸8$É-[¶ˆx/ßÇ­[·K*!*¡í`Ì8Fróü׎]»±#êÑÍÍMŒYÎÞ½{7oÞ¬0ØÐÕÕ6¡‹‹a„Ø éW÷C¬í8‚¤¤¤HÕ0Q8 òÝW™+,øûûc77mÚTXX( û1?88ú:e•|ôÑG%%%T B¨„*AUâÞªˆ‰‰AEtD**‰|ˆˆ… Š:èZ¬BÈDªÏÈÈ@ÐB5Ä]±êÈ‘#¡¡¡¢Nll,6‘⽯¯¯”E5&aÄNé?Ïa è´²²ý¢q„7¢‹°°0Èbä?ü <ÂC‡íÚµ mHƒê— "#÷¢)!;h j——'\@¾ðšÕ«Wc<ÒÌ@‚ƒƒ;ªÔ1°/cæžóöñ•Î>’À¨06´¬R~üøqè Ž¯¶©æää4«ø ˜ Ÿk¼([Û!ÖvÁŽ;¤ß.´‰Í±³Òî«Ï•ø†oaXâè$''ãè@p°áºuëÏu94º¨3f Ž»ˆôT B¨„*AUâ^©9ÜÇÇGíׯ_/ò3Æ€À,®®¯¯www—þ#DPD>Ä2ª‰óÿ7n܈ ‹ÐØÐtiꨟ „ „ˆ Û·oG…}¨T@lÃÀΟ?/é‰Ê NGBBB"##nv”••…!É›òöö®®®oUöóïää„(.UÆ\‰Ê—.]ÂÅ N‚b¨ô…PŠ:ê×DgggKú£q*´m(ŸÀ 6`’¡EØ\’]±ÂqlV%Tæ ½K$o\º°e÷îÝû÷ï×ñÐ袂7ß|3O• „*A¨„P%î¡J44]†Œœ‰ø'!£r%B;²WåÁ ÊŠ/# ®®®HþH_P „1¤SŒÿøñãR’TIÂÏØé­%%%H¿â« qÂLCs×JH#Ø# ,..ÖQ%äM©ì#‚ñM¨WF¼DMì©P‰¸#GÑ©J_˜ •@ ?°4N…ذ  @A%6mÚ”’’‚ÙÖ8à ‡Xá86«ês%]ô!/ ÚÞ†'Í^³‡Fw•˜2eJ\\U‚ª¡JB•¸·*¼¼¼bbb”ƒ:zGJDÖ’VíÝ»wëÖ­b¹ñÈ‘#éééˆýâÿ«1Ôàààüü|IX峑‘‘HÈh¤¨¨¨u*!ƉlŒÍ!2-U •}ÄŽ _ÉZª8|‡qðàA„m…©€šaÃääd•[Aß”¥Cý+GÝUBøŽÊ>D!§ðòïV”.*1zôhhQ³É JB• T B¨wíi×xÿï]Ô‘oåùé4**J,§¥¥áÓ$44ôܹsx‹ {èÐ!WWWùÍ‹”Uâ‡~ἡé´%• ÑQ%‰‰‰(W?FY%Tö*]þÛ¿¥*öíÛ9’‰ÔÓÓSúOumV…BŒ_å(N÷’Î;jö+G4‹ÅrII‰‚Jà—“&ïE̘òWÚM³*ñá‡Jç¼Q%¡Jª!T‰{¥ˆOâ¤&Ä?)[*uô»yóæÒÒRÄQ¸r&Æ#V‰["¥‹+&°ÖÅÅeÇŽÍ&a q­qff&v6!!Aº­SCÓÅnnnÒQFˆšUUU˜½#GŽlÛ¶M½ke•PÙÇcÇŽ}öÙgÒ]ƒZ¡•••îîîØPH?æ$88Xrm*„ Ï•À/CYY™tƒ|+´‰P¿;®Â!V8ލãëë{éÒ%xœ¿¿¿‚J€£G⸠c¼ÅPqìàJèZüöJ·‡jöÐ(¨Ä”)S°ïºÛU‚ª¡JB•¸s*Q\\ìáá°ºaÃÄŨ¨(éâh… ŽÁìß¿_<:å*·òòòW[ä^¹ è¢ MOa@âE:MJJ:xð Äé1˜ü+'ÝUa„!!!Ø)DYÄuDåV¨„|QóäÉ“gFG•hh:石hÐÛÛ›lܸQåi×§BØÚ‚†©@J׸Unn.ªá§Ž‡Xá8ŠT€ú[¶lß)¨~?ccc]šÀ Å-^Ñ  cØÒwÍmÀzšýÎ…*AU‚P%¡JÜ5•TUU!25{kMêêê¯îÐÜ‹¼'–UN‰G¢Óå)Õ¨ÓÒä©moýuê¹sçvìØ犎ŽFvUnYš8…¶3nå+ÇM &\½üöâ7VÜðööª!T B• „*ÑT‚(sUBÔ`ÿþý{÷îå S%¡Jª!T ªU‚P%¡Jª!„*A¨T ª!T ª!„*A¨T ª!T B• „*A• Jª!T B• „*A• Jª!T B• „*qŸªDiiiYY™.ÿ º;«û¨„*AU‚P%¡JÜs•ˆ‰‰±±±éرcûöíMMMUž7§Î;ï¼óÚk¯ÝÞÝl騄*AU‚P%¡JÜ[•@(²°°˜>}zUU–wìØ!ž+}'T"66vÓ¦M·e T B• „*A¨„P%î­Jœ>}º]»v§NÒ}“V«ÄܹsGu[Æ@• T B¨„*AUâÞªDee¥¡¡áÚµkÕW¡_++«nݺ¹ººjT muPîíí=`À“Þ½{GDDøúúZXX˜™™ 4hÉ’%ºÁÃã_¿~:u1bDff¦´jöìÙNNNR54{ôèQñö“O>Y¼xñž={žyæãQ|IIÉŒ3,--Q@• JP%¡JP%!T |ðÁíÚµC2GX’—;::öïß?)))<<ÜÜÜ<&&F]%´ÕAÈoß¾ý† Ο?_PPP\\}lmmwî܉hÂà.\øÊ+¯ Lfddˆ«6¨T ª!T ª!„*¡±‹µk×êëë÷ìÙSºÞÝ™™™ùúúŠ·'Nœ6mšŠJh«ƒr“—_~Y¥#m'8i2Ú_ºté¯Y½¾9_•°²²B”öE}< ;hgggoo6ÓªU‚*AU‚*A¡JhÛ×ôô'Ÿ|ÒÔÔ x[XXˆpncc3º‰=z 2DE%´ÕåÞÞÞº«„Æ1œ={V.`ܸq#GŽÔE%äWshÂFDD[[['%%Q%¨T B¨T BU¢Y*++---ßÿ},#S!i;99EÜ !!A%¨k«#ÊÕŸ=ѬJ¨Œ!77íÄÅÅIk§L™bkkÛR•Ð8…yyy&LÐ××wss£JP%¨„P%¨„ªD³Œ?~èС Mçÿ-Z´H½Žü'ujkkQ>iÒ$•òyóæ 6L÷1TWW8::J«ºvíúÞ{ï‰å±cÇÚÛÛ‹åcÇŽ)¨„Æñ(ì ÄªU«ºté‚ù§JP%¨„P%¨„ª„ ÙÙÙ{öìAãXÎÌÌDº–¢ûÊ•+-,,ÂÂÂÅ«ªª¤»'Ƀº¶:+V¬èرcLL â7âYnn. CBBLLL***tÃÌ™3ûöí›––­ððð€/œ8qB¬Z³fÍSO=…Iˆˆˆ0`€‚Jh¶Ácœ%%%˜öeË– >¼ßJP%¨„P%¨„ª„‰‰‰:u244ìÞ½»¾¾þ»ï¾+"}CÓÿÛ/_¾ÜØØØÌÌ €|®ÔµÕA8Ÿ;w®aæææâó4C‡…)ÌŸ?_Ç1 áO:ÕÀÀÀÔÔ´K—.¡¡¡ÒVçÏŸöÙgaýë_ÿ”UBãx´ ÞÎÎÕ`ƒ†ÅP%¨T B¨T BUB¥¥¥ÈQ•••ê«Ð52~*l®­<˜J`+//Gy‹Æ€ä¦ÞŽ@ºM“.hÆÁ£&&ù7M JP%¨„P%¨„ªi9T ªU‚ªU‚B• T ªU‚ª¡JB• JP%U‚ª¡JB• JP%U‚ª¡JB• JP%U‚ª¡JB• JP%¨T ª!T ª!„*¡‘ÒÒÒ²²27\U!444((ˆ*A• JP%U‚*A• „<ä*cccÓ±cÇöíÛ›ššæää(×WÜ-Ò³gÏvš3f U‚P%¡Jª!T‰¶©EÓ§O¯ªªÂòŽ;ŠŠŠîJÄÆÆnÚ´I½¤¼¼¼ &èë뻹¹Q%¨T B¨T BUBGÆ?tèІ¦“‚ŒŒŒ-Z¤^G~‚“Æ:µµµ(Ÿ4i’Jù¼yó† Ö"•(((@Irr2–ëêêT 8ÐÁÁA,çä䘚š •PØmCZµjU—.]¤3¨T ª!T ª!„*¡Bvvöž={Ð8–333¹Å*qsXXÔ ªª kÕ3¼¶:+V¬èرcLL â7âYnn. CBBLLL***tW Ä9}}ý€€$:ô…µ~~~ÚT:tè0gΜ¥K—ÚÙÙYZZJ'Yi§Ê𶤤¾lÙ²áÇÿ¦ T ªU‚ªU‚B•¸™ÄÄÄN:vïÞ¡ýÝwßZÑÐôŸùË—/766633CÞFtWÏðÚê ±Ï;×° sssñù‚š¡C‡ÂVæÏŸ¯£J€%K– }ˆÉêÕ«±!z§'©«D]]ê@"æÍ›WTTw T§Ê°-Œ œ––F• JP%¡JP%!T eJKK‘£*++ÕW¡kd*üTØ\[˜J`+//Gy‹†WUU%m‚h§Ë&'NœÎŒjvœò!aÓ«ª T ªU‚ªU‚B•xp ÷ôôLKKÛ¶m›µµµJVl5T ªU‚ªU‚B•x€‰‰‰±··‡D 6lÙ²e¿d¡JP%¨„P%U‚ªUâ®A• JP%¡JP%!T B• JP%¡Jª!T ªU‚P%¡Jª!T ªU‚P%¡Jª!T‰‡V%ããã[ºUhhhPPú2U‚P%¡Jª!T‰6«¯½öZ;¦¦¦¢\ýpºÐ£Gõë×k[[YYÙ¡C‡—_~Y¥\Þ—¶~‡:mÚ4•777ª¡JB• T B¨÷J%œuƒìì_wd÷îÝÛ·o¿½*±eËØŠAyy9U‚P%¡Jª!T‰û]%^zé¥Û5`e•°µµµ³³ƒMx{{S%U‚ª¡JB•x Uâ“O>Y¼x±|ùøñã'žxÂÓÓSª†á}úé§Ý»wïÕ«—ŸŸŸ‚Jœ;w‘––öÜsÏY[[ß^•())™1c†¥¥e·nÝDaTTÔo¼t'ÿŒƒ`ÌVVV={öĘnj"펃ƒVa+WWW©>?}út•ö©T ª¡JP%¨„ÍÄohT /»F›Ðþúb›o£JlóU®Öº×/i[¯ßz-5øç”À+IŸÿ/~ËG6ÿ7vã¢ÿõïp/=5\¯¿Å×k¯þã¥QW/gêÛX%-÷{ºÏÀ¿>ãï·yíÇvúã…¢‹UNŽ«³èüù¿‚ü¼Y¼¯ÿÈŸÖ{¬ÓØ‘£ÃªÞ½zþRí_ë=Ñ™¯óµõ%-Ë_Cmÿ6íí·TJÜ\œÅòÂùó^?îÛsßd¤Ï9% }7zcÀßžqvZcÜÁðU?Šò•Ÿ|lÑÉk ¾^üáÂÆ1¯ÿUŽû÷”nnn#TbÖ¬YãÆCÂÌÈÈÈÉÉ¡JP%¨„*A• JB”Ø»¨Q%š{}1s@£JÌ Kå–¾~™¥w}¦Þµô~~_ïÊ?õþ7CïÇ÷ôþk¯÷Ÿizÿ~KïË1z ×~¾Å×kÇ·ävì ^ ‡ŠòwÞz«¤å.æ¦ßäa¹îÊåúÚ°E,[¶',ÕÕÕ¡›Ì›7¯èÛóš~þëî`ž—/_Ž­ÌÌÌPƒi¸qÙ5ÄD¥ý3f`„"Mo†ÞÛ]ªúI¥œP%¡Jª!T‰U%n ÂÝn#ÕÕÕ999È{âë 9µµµ˜•ªª*”‹eÄBõO¤§µûƒ^rb‚¼Ž$‰Ÿâ­8Á ]«·/Áœ¨„P%8ET BUâ'<<ÜÓÓ3--mÛ¶m6/}úØÚÚîܹóüùó(qrrBÚGvBèÂZccãââb±!Þ>ýôÓð T†tèÐA öŽŽŽýû÷OJJ 777‰‰‘6‘·¦&Mšô /¤¦¦4Ü|­„¶F.\øÊ+¯ øeddäääP%U‚ª¡JB•¸›*1pà@ooïQ£Fµoß~Þ¼yRÔ·²²BŽo‘ ÌÌÌ–.]*¥kDz$y©òóÏ?/"€¼þúëXÀ°±•¯¯¯(Ÿ8qâ´iÓ4¶ß v‚“¤ ØÙÙÙÛÛcŠZ¿ÿT ªU‚ªU‚*AU¢µ*ѹsgdø™3gÊT¹ÒÙ³gÛµk.•Œ7näÈ‘+»¸¸ MŒ¼°°[ÙØØŒn¢GC† Ѹ‰‚J(4alllmm””D• T B¨„*AUâ.«„t‚“•¨Ÿ››‹<'•L™2ÅÖÖVce777$| Ù [999EÜ !!¡¥*¡ÐÈËË›0a‚¾¾>:¥Jª!T B• „*ÑÖT¢ººÚÀÀÀÑÑQ*éÚµë{ï½§±òäÉ“ ÔÐtn’‘‘Ñ¢E‹šmÌ›7oذaê‘XµjU—.]Zs¦U‚*A• „*A• JB•¸“*fΜٷoß´´4h…‡‡G»víNœ8!U†Y=z˰°°·+W®ÄÛ°°°ÚÚÚªª*é¾Oê퇄„˜˜˜TTT¨WÐÖ6)))Á-[¶løðá¢ÐÝÝ}äÈ‘"ïi[¦JP%¨„P%U‚ªÄ]S dø©S§˜ššvéÒ%44T^yذa£GîÔ©SûöíçÏŸ1‹UùòåËÍÌÌ` ¨©­}| :ÔÈÈ›«TÐÖˆ¡¡!,cðàÁpQ8cÆ h²ŸÂ2U‚*¡¬E7€P@oñËO• „*A• „P%nä(„+•&Åþ‹/"q©o…]¸pá‚ä ”——×ÖÖj\¥±TÆ„´~¨T‰›U¢°°0???++ëØ±c‰‰‰)))X†Sàw»ººš*A¨T ª!„*q{QÿŠá¾*A•©D^^^FFFðÎ/Ç,ÚÑùÕšÑyÁÁ¢|YÜÿ9Äÿßìà³!;# ¨„*A• JB¨|ñE•¤¤¤ÌþlDzÉ.1߬=T²"æ;=‚¾›‹^ÝU6çËÊUI5Î5+•;%%7}C• T ªU‚ò°¨„MÊ|ix-ÿ¨á£¥?µ×¹þÑG×–.ÅO¥:ËW\û¨ñç}³ãÆQ%ä•&Ì uÛ™µáH±ÇÑÿ¬>XnáUhýù…7ÂÊüߪc5n§j\Žÿ4ïó¬èèhª¡JP%¨„‡H%š‹‹¥¥¥eee*áê6ÔòC{ٵο‰J=ztÄÛ¡^>ñ¥^ åkâ*žÜøí‹Ÿ_˜²÷¿ó^þôxóW5.§ªß (Ø·oU‚P%¨T BUÄÄÄØØØtìØ±}ûö¦¦¦999¢üöÞßµ­ÝÞ ©vM˜™™ 8088¸¨Ä=».UBM%þ6å ¯ÈŸ„ïÖ7©„¥÷·6þ^ »8;öò²”‡“5«OÖ¼ífÏž=T B• JP%!T‰šš ‹éÓ§WUUayÇŽEEEbÕîÝ»·oß~7U"66vÓ¦MÒÛÛ;ônkk{âÄ __ßçž{N__?77÷ž¨ÄÝMªÄ­¨„ͤ­^g6ÆÿÇ3¾Âá`E÷ E/l)¿ã¿3¢//J¼òIÆ••é5S6S%U‚*A• „P%9}út»víN:u§çR•˜;wî¨Q£îÐÐûرcÅò‘#G°×÷D%îènR%nE%¬_ ^·¿pC|Ùº#ŸÅþ÷Ñõÿt̶‹ö‘Õóâ¯,=ŽWõD_ª¡JP%¨„ªD#•••†††k×®U_õÉ'Ÿ,^¼X¾œð·¿ýí/ù‹ŸŸ†´páÂÇüÿøÇ·ß~+ªÍž=ÛÉÉI,c؃ B^}õUéØØØ§žzjÅŠ¢Ú˜1cfÍš%¥b4‹úê­!NûûûóÍ7ÎÎÎÆÆÆâÙÁÅÅÅ“&Mzá…RSSÅ}ûå›ÀPÀÛ¾úê+”c+Ô—ZFì8p Ú„¡Ó .(«ÄêÕ«¥ïbÞ™úvŸž=l¿¸sçÎóçÏkì ê!ToŸ~úiø*C:tè ûU«{=Ý?>1 »lnn# ¯OŸ>¶¶¶¢}åÝtttìß¿R’j#°¶W^yÃÈÈÈ.f¡JÜv•xþÕàu…Ž–¹5~+Qaþ¯÷ó+})ô¢}Tõ~+AU‚*A¡Jhê \__¿gÏžò˜ª¢X‹~±Œ~‘Ã?ûì3)åB1Z¤ØÔ9tèx«ræ´ÉÕ«WÍÌÌ–.]*Êé³Ñ¯T­K—.,×ÕÕ!ÞoݺU£J@7¼½½ÑEûöíçÍ›÷ëæSß¶zü±‹åâ­Æ¾PYR‰çŸ¾¦¦F¬…¼þúëXÀÚŽ¦fë½}Å N'Nœ6mš4<++«‹/J#Ѷ›h]óD¹¼;;;{{{LéíüÝ¢J¨©Ä ÿvÛ_¸þð÷.qŸ~Y¡ïùï§}KG…\|cõ?_YreArõxoª¡JP%¨„ªÄÍûšžþä“OšššbA£JHËåååÈÿ)))âíŠ+¬­­[ª©©©ÎÎÎÕ¨©œ±Ïž=+o Œ7näÈ‘[†VøûûkT‰Î;£ý™3gÊç *ñÚÄñÒµûB’—TBÞ—‹‹ ÚÄžþñ‘vŸ·9j4èÑ£Ç!C´9”¶ÝD#èÚÆÆfôhÕF"""Œ1ÏIIIT‰;ª®*QÖ¨1fÿîéS:2ä¿o…_þ ®I%RªÇm¤JªU‚*A¡J¨RYYiiiùþûïßQ•ÀÙÛÛ÷îÝÛÓÓ3!!A•ÈÍÍEµ¸¸8iÕ”)Slmm[ªÒ NrTTBc_/¾ø¢F•pssCÂÇ}ýõ×P‰•«öí`×Zªh];99ED¨6òòò&L˜ ¯¯N©wN%Ü# ½~=Áé¿®/껩t̶ÿ¾½ÿòì£W¿²$µúª¡JP%¨„ª„Æ?tèÐV«²:4A,;vL£J <99¹¡é|$¹JÌ›7oذa껺ºÚÀÀÀÑÑQZÕµk×÷Þ{ïN¨„ƾ°SUbòäɃ jh:7©}£9 ©ßÁI]%´í&122Z´h‘ÂZµjvðöœéD•ÐtÙµGÓe×ëâ+b+þìU4°ñf°§G]^xåã ¼ª'o¢JªU‚*A¡J4’\„Ʊœ™™‰(+¥èV¨Äš5kžzê) ,""bÀ€UâÂ… úúúßÿýÊ•+¥;)“ŠŠ õNgΜٷoß´´4D}luâĉ;¡û²¤0 q[ªXXXHƒÿøÓ•&æ;w‡ÕÖÖVUUI÷˜RW …ÝÄ„ Í°0ÕF°III ~–-[6|øpQèîî>räHqᆶeªDKUâ_Q…¾‰eë*UXy=P:i÷Å™_^^š|ÅádãSêÞÜB• T ªU‚B•h$11±S§N†††Ý»wGÂ÷Ýw…V´N%Ο?ÿì³Ïbí_ÿú×3gÎh»VbÉ’%ÆÆÆ;v\½zõüùó‘«Å™<ø$:t(t…*› WO:ÕÀÀÀÔÔ²ú› Ün•PïKº,ú6lØèÑ£1iíÛ·Ç8qhÄV5µ?¸t¹¡‘±™™ö5µ©„Ân¢—åË—crT±³³Ã1‚e <^# g̘÷ÝÒ¶L•há#ꂽcÎø%•mH¬p:\ÑÓ§èÅ Ò×÷\œðò'ǯ¬Íªqɬyçsª¡JP%¨„ªÄo”––~õÕW•••·eÌò»iq½¶¶V,ÿý÷òUPi• 555ß}÷J¼U´<¢NÞ—\%DìÇ>^¾|Y^_<¢îçºk.\üB…ÝÄæê ²¸ƒÖmƒ*¡I%|¾<ãŸR¶1¹ÂùhEïÍEC¿(~qñá˫ӯ¬Ë©ñÌ®~/ˆ*A¨T ª!„*A”Tâ&MPS ut~Úu[*¡¦/NÞ{&0µlÓ± ·øŠg¶-}7ââòøË.§j¼óñªž¹µ€*A¨T ª!äáR ;»ww¾4¼\]\œj¯sÝÕõš³3~7.ñ¥—4×qs¿æÚøó¾Ùñ1c¨ê*±åЙ­ie~Ç+Ö%V ú¼è¥¥ïG_ü,ñ²GVÍæ35[ ªç†P%U‚*A• „Z³øØ•%Ǫ_ñ¡JªU‚*AypT‚ÜüVâÁ¥'8yFzÇÿÇãh…ClÅŸ½Šúø•Žßqqú—Õ ¯|œqeEzÍäMT B• JP%!T B• Jܤ{m«W䟄ÿ¬O(w--í¹çž³¶¶–¯BïŸ~úi÷îÝ{õêåçç'Ïó «TTbΜ9]»v…­ˆð&W 4âááѯ_¿N:1BÒf»vpp°²²êÖ­›«««†`__oll<þ|m»,W‰ëW¯x¸»iƒ¨1`À è ’¤XõÆo`˜1|€*«Ä¬Y³äƒ),,ÄT_ºt‰dT BîG•àœ¨„ª„„££cïÞ½ÑrB>Ò”´ÊÉÉé±ÇÃDAAò°¾¾¾”çV©¨Œ`ÇŽhyÛ¶m**FÑÑ/‚‚7òqqq³ícÀýû÷OJJ 777‰‰Qé ‹ÐÐP]TÂÉa¥E'scÀÛ§Ÿ~zذa[·nýðÃ;tè Vùúúúûû#v:;;c“úŸ‚JIî°bÅŠñãÇó/Œ*AU‚P%¡JÜ×*.zõê…ÜŽe'ƒU«V‰UuuuÈùÒõ Mgyzz*¯Ò¨X5jÔã?^UU%©R™™™ÙÒ¥KEÍúúzxÁÂ… •ÛÇT`+$yQ>qâÄiÓ¦©tš’’‚.šU‰«µWÌŒ —.^¤>QíùçŸÇ´‹œ&Mšôú믫4…µèëÀÁC *‰€nˆ»9a×0ûöíã_U‚ª¡JB•¸¯U"55I9êÇ&FŽùä“OŠ”….°Jz¥³ŒViS‰ÂÂB###ˆƒ¤gÏžÅBxx¸Tyܸq€rûh«lllF7ò!C†¨tšŸŸ¯²9ˆ‰‰#‘‡ü³g ÚýA/|ïõ14¨]+áââÒ¹sgiêœçÎÛ¸‘Ê×J¼õÖ[#FŒÀBttôc=&(E¨„P%U‚ªÄ}ª³gÏn§B²ÈÕó¼Â*m* ÅÉNØÜÜ\,ÄÅÅI•§L™bkk«Ü>òV999EÜ@ýÛ‡êêjQG^ˆÞÿüç?«„üÜìÓP‰¸ƒ±êcPW 777ccã_š°··ïÝ»·§§'z×E%8 ¯¯_RR2iÒ$é‹B• „*A¨„P%îS•¨­­íܹ³ŸŸß7¨¨¨077÷nEï–––’ ` Ò[…U *]xê©§¬¬¬„J ð8::J•»víúÞ{ï)·e##£E‹)ïÚË/¿üøã£ e•¨þßOú½£Ã*õ1¨«ÄäÉ“ „ò‚‚ìBrrrCÓ Kº¨ª¡e 2•——Ç?/ª!T B• „*q_«Ä¾}ûLLL“ä…³fͲ°°@Xž6mZß¾}´&L˜`jj*]¡°J›J€¸¸8ñҸìzæÌ™h$-- ™ßÃÃå'Nœh¶ý•+Wb„aaaP¡ªª*ù=—$²³³Ú‡ vþüyQ²|ùru•h¸^?sÆô¾}zkª!ÿc̘èèht íB9r¦¾¾~@@¢&ƒM|7û5{3Ø%K– æàÁƒ¥ww÷‘#GŠhªm™P%¡Jª!T‰6¨¯¾úê»ï¾«RˆPÄÙÐt¢Q¯^½ðÖÒÒYZ~“Â*•o¾ù¦¤©S§Àºté"¿ç’Bû˜ x±±±™™T‰]ãÞ>}ÚÚÚZ´ xôÑGÇŽ«®U•ÿú֛ǀj'NDªG_hgþüù8’ °cÇŽ«W¯F¹QG“ƒG”UʃF䟶3fÌ@‰P9mË„*AU‚P%¡J´A•Ðt']k¬û*ÝA6ClS‰vͶiAÞ“²½6‘áKJJ4¶/=¢Nã0áÕÕÕõõõ¬GeS”ÔÖÖŠåïʾßJ(šš ñQo‡P%¡Jª!T‰U%dŸv-hÑÓ®˜ýôS++«ž={úùù3&$$ä×DýºƒƒV¡AWWWm*1gΜ®]»ÚÚÚŠ(W ´àááѯ_¿N:1BÒ ± ývïÞ½W¯^èW®ׯÕ9|ºÂªÛŸúÕ¦³fÍš?¾¤9_|ö¹K—.‰ˆŽŽÆÌXZZbz‘?ußMB• „*A¨„P%Ú¾J#‡††*¨ÂùÀýýý×®]‹ÊˆXb•¯¯/ ‘»œá#[³›¬\¹ÒÂÂ"lëëëK‘ÞÑѱÿþIIIáááæææ111UF°cÇ´¹mÛ6•prrBãˆvÈ„†„½bÕc=†¹‚‚äÿ›úuXÕ¿O¯¤„x…~µ©D`` ‘‘ÜA¨Ä¢e+^7^ÌÀÓO? Ù¹sç’%K:tè ûnª!T B• „*ÑöU"%%ñø·ÛiR‰.]º \54Ýâ ©xëÖ­*u0*4rèÐ!åMjkkMMM—.]*mØ£GñöÎÌÌ Š!Ê'Nœ8mÚ4m*…Q£F=þøãUUU’J à¡©q„õ… Š1@1>þøcÍýštôݰ^œà¤­_m*‰€°ˆ;\Õ^­ëôØãa{÷‰xþùçEà“&Mzýõ×ußMB• „*A¨„P%Ú¾Jäçç#ïÝ»WA%ä×JÀüýý¥·©©©ÎÎÎsçÎE#‘‘‘Ê› ¤É«5È®Y(,,Ä*›ÑM |È! *úFFFI%Ξ=‹…ððp©ò¸qãFމLVíÛ·Os¿ú£ÍsGÿ}¤B¿ ×J¼õÖ[#FŒÀBDT´YçÇ®ü|U}\\\:wîŒã¨ãnª!T B• „*ÑöU¢ººáÖÑѱ¥*ÙÛÛ÷îÝÛÓÓ3!!A•@0C5rõH‡UNNN7@› * ÅÉN˜™ÜÜ\,ÄÅÅI•§L™bkk+éRbb¢æ~ÿôG'‡•áûúUP‰èëë—””L|uÒüEKÅe×*3àææfllŒÓq7 U‚ª¡JB•hû*ÆŽûØc!)µH% Š“““šÎ ÒE%ÀÀ¡b9''ÇÔÔTDzì‘‘Ñ¢E‹”‡*W ÌÆSO=eee%TNd`` w¢®]»¾÷Þ{b---¥‹#Зô¶±_Ãö‹æÏiõœ°ïè#×ooøUvžF•˜}ºüi×mêáT ª!T BˆŽðªªD[&&&ÆÞÞ1lذeË–UVVÞû1ÝšJ aB%Nœ8!W ///>Éš*AU‚B• JP%pnù[‰_ëÈT‚P%¡JB¨T ªU‚*A• JB• „*A¨„*A• JB• „P%¨T ª¡JB• „P%¨T‰;Á¥K—’’’ÂÃÃÏž=«þ–*A• JB• „P%¨·Âž={Ö®]›‘‘!/D(ܶm[[;&b´‚7nß¾ÙOZ ÒÔyzzž8q¢¤¤¤¬¬Låí½R iüû÷ï/**º•Ùï/¡JB• „P%¨÷D%¶nÝ*/LJJºÓ*qîܹ“'O¶b´ÁÁÁåååØý¬¬,üªcœ±6???77W,#:;;KSy{GUBa×0~L5ƼyófŸ[™Cùþª!T BU‚*q÷UbãÆäKR!R. ï¨JÄÆÆnß¾½£Ý±c‡<äïÞ½ÛÕÕU>xDÃÝÝ]ÛÛ;ª »†ñïܹS,#¸bÚoúŠ„P%¡JB¨T‰ûJ%<ˆ4.ýGzEE…‡‡—TÃHKKóóóC9 ‘¯Dù’““¥¦P„Ñ¢~RR’··÷† RSSÕ;E_žžžÈöøè9|ø°BÊ**++È;†åøøø¸¸8,äææ¢wggg´®òVt÷ë½Ö§&ÅK*!Z@¤Ü²e‹ø²5Q¸nݺõë×Ë÷EÔ,-- v¥¦¥ •Pß5m*Q\\Œ‘#¯J“¬qÒPž€rŸS§Na÷³³³åcP>FêCMOO§JP%¡JB¨T‰Û¢Hªø)‰Cbbbttô¡C‡¤’””Ä㌌ $«ˆˆx†òÌÌL///ŒPTƒ’ˆ ¿@¦ETF0CG6S雇……–””üðà ]4«ñ›4È®@ðC~vssCûååå*ooá×ùë\œ¾)üõ‚ ´°iÓ¦­[·æååá“QÔôõõ={öl~~¾|_P-øûû#‚BdÖVTþ•Pß5*cºwï^ÌžhµMŽf†i‚À>$_+¡0*CE ç–*A• „*AU‚*A•h…J ';;;#,¡YQJR‰úúzwwwé?Ø1$]¬Å2†äâârþüyQ QË¢¾ôÇîÝ»÷ï߯ޯü, ….tQ ü‹By´ÎÊÊB#RùÛ›Fx½~÷öýûöJ©ÛÛÛ»ººZ^Ñ]œà$ßÔ\¿~=â}cׯ;9»d|uZ—œ6lذk×.x ²½Ø\uH²Iá—ÏŒð&u•Pž@•¡â>}š*A• „*A¡JP%n‹J }WW×ÌÌÌòòrÄNt*©„8ƒH~£$$áÐÐP)ôFFFb’1`Q?((h{ˆ¾!åy[¹‹fUJÜ4Âm!½<¾R çòšø|Deqv´/*5×y®?~â+]T£MIIASrÃÒ6i?üðÊ •UByU†Šã‹ØL• JB• „P%¨·E%¤”ž˜˜ˆ$Œ·’JˆÃ"\I›ìÝ»WºãÒ—»»{]]œ">>%ˆ^¨´\x·<•çmå.”UB|3’––¦»JÜ4‚¯ ósо=¯1u‹š˜“œœì©|_Z­â§óçϣ傂 C’M,ÊÏ;§¬ÊH• JB• „P%¨wT%òòòɽ½½¢ä*Mpvv–_^íåå%–±*qâÄ l+. ¨¯¯wuu•.ÖòvHHˆÔˆBÊ*‘””G§fé~‚Óo#¼ùN*©[ÔÄPÕïबÒ®iS‰†ç‰“©&Íßßû(–+**Ä W*cPž@ªU‚ª!„*A•¸£*!Îq')ÉUBD²Í›7—––"²¦¥¥­]»ZˆŒŒÄ†ÁÁÁR‰¸RÁLŒ\ã혲³³ÝÜÜ„4Û…|´H阇ªªªâââƒBa  ê™YA%náÕŸ®þéûÿ|§1u‹šHïØüç&¤}Ѩu×oâ”y:ÛÙÕ­ê—±¬òÚ¶'tÇN±üÓåjl…ñöH|‚»‡gnþ×?×]«©ýù»²ï¥r'g—è/Œ;üEˆÇz¯´ŒbÕ¾ýÒæQ1_úlÚ\\RZ{µîØñ4G§µ%ßýG½^èôÄ©¯Tö@>¦›*AU‚B• JÜ•ˆOÒcä*Þ÷ïßïììŒP½~ýúœœy â\ùt×××=z~úðq{%°;øEEè@³]ÈG+žš›6mÂ[¹§è®¿ÐÕÅm­cDø>m*šqqq«W¯†³È÷E£Jü\ßøt‰/_ñúbõZ×È/ŠéºkÏÖÐÒÛS§s?s\‹ŸX®¹Z î(¶Zãâîèì¶{_„¨s¥îz\|ÒçÁ!1±å?\rv÷L?•%V¡Ë?Õü¼kïþUkœ±¹Ëºõ'³r¤^äÕðÂZi¨Ò«þAt ª!T BU‚*qGUBwêêêÔŸ§FŽÑJ·ŠÕâ™ü Ô-íâiáÿU^¿z¥ÙGÔaò+++•÷Eåÿù«þwùçºkê_L(¿êê¯W^ú?5®-ùî?ŽNkÿ]|AÛæµWë.UýÔ²¯S%¨„P%!T ªi…NÜž§]ß9nÓÓÓKKKsrr‚‚‚ooûòçtS%¨„P%¡JP%¨äQ $ÛÈÈHq7Ú#GŽà×€*A• „*A¡JP%¨T‰{U‚*AU‚B• JªU‚*AU‚B• JP%¨T ª!T BU‚*A• JP%¨„P%¹¤¥¥Eß·`ðT ªÄàÉÉÉEEE­Ø°ªª ÃÖ±rNNŽô¼9ªÄ©eªU‚ª¹¯A ÷»oÁà©T‰ûýuke¸»»k¬¶qãÆôôt±¬þ7 ’¹¹¹‰ÏUTT4»‰Ž-· íß‚Jˆ©ËÈÈâè Pzºßíðíž u•¸ÓG*AU‚Û®ÁÁÁ÷×÷0U‚*ñ`¨~™Ëo -ðËU"???77W,Ÿ;wîäÉ“êõëêê<==###1r,£þ¥K—î¹JÈG~»TbëÖ­ò¤¤¤û]%4ÌR 00°¥7Â¥JB• J´µL~Ÿ›*A•h…JìØ±£Ùjr•»}ûvõrX uYYYIÎZ¹5•À´`7åOèÞ¼y3 ïk•h›Œ5ê­·Þ‚©Q%¡JB• JP%Ú¸J ë„„„ 6øúúž:uJ®ñññqqqX8yò¤§§§»»;>A>,ߣuqq9vì˜zËHII‘zÁ¶Øy¾={öl`` ——×Áƒ¥/:EØÛ²eˉ'Ķ–ÞÞÞdjjªÊÈQîãパcï²³³UF.ª¥¥¥ùmòõp]»í‹­R ¢ZiiiHHv‹ïVêof×®]8P ÌŒ(:¹¹¹EEEmݺU”àØ¡5ìËúõë“““¥m1]°°óçÏ‹=ÍÈÈ@û˜Ì'Œø*ªíÛ·½øûû{xx ;DY]ZÎÍÍÝ´iv%øˆÇÄbsÔÄ!C ö]L5ö1ø‹mLMKWÙ}ù²Æ#r÷UBðÑG•””P%¡JB• JP%Ú‚J 0ÿïRPDÚGòÌÌÌüᇤÀ,üXÀ`ÂÂÂ2íPM¥å˜˜l…xŒÁËË•¥‘cQùMjyóæÍÛ¶mËËËC$†Œ`Ò*dcDt¬ÂgVCÓ•àø,..ÆæëÖ­C5áäÈÌ•••ˆÁG.vÕ2ÒŽ_Z¾ÏÕÕ»#UCËH°!GGÇŠŠŠŸÕ E´ÆÏ€€QrèС½{÷B%¤ìLQ:ãää„Á‹òÝ»w#…¢”ãŸìuddd~~>¦]LšT ­a$˜OTƒ4Û22?„ › £ãÁ¿ XFBƑ߰HûxâÔWG“Ž9:­•ï¾4K Gä^©3f F."=U‚ª¡JÈ39>—_}õÕ¿ß`æÌ™R̸'”——¯^½züøñT ªÄƒªòË®Åè1;>>^ª¦í²km'8 ÃѦü e•@l®««oá)HæÒ*ooïêêjñaØÝÝ]ºLùyÿþýXÀ\¡\þ‰Æ‘‹Í«5àôKý5ÈD@ª†<SüŒœY¯Æ®]»Ž9’““³fÍšªª*” /Qˆ€øV±ÛJßY`DZ;Ò× T,ÃÂ`+G«°9&Aª)¨­­owî܉=m¶e¨„hYŽ™Á2æVR ±õ¿4\©»îäìrúôi*¡íˆÜC•¼ù曉‰‰T B¨„*¡’Éñ­×D—.]ðzgÓbzúÊ•+5®Â'Ë´iÓyäŒdàÀT ªÄƒªpë7…—.]BÂ/((¸E•ÈcP äv,è¢òKRSS=<¯„*AU‚P%ÔëãŸt…»Jâ#£¼¼\—~ÑÈ AƒÐ‹6• <˜*A•xØT üK ÉSþVE%BBBší9VúµÜ¹s'ZË%%% *eé³Ie†„L«ñ?¥ýýý¥ûüTTT¸»»«¼®®ÎÙÙ999YR ì`TTTëT"//ÏÅÅÅÛÛ[耤 ƒlJH¢cË*@vÖ­['N—jJÈȽR‰?üðüùóºlB• „*A¨âW÷‘GùÝï~7oÞ¼3fü©‰I“&áã@DCCC¬}å•Wþñ<öØcØpüøñUUUX‹–ÿûßcíÒ¥KñQ2eÊ”ß5éààо}{T¶´´´µµÅ‡H+Táá‹»ˆú•­T ªÄ­«„ü²kéÊëýû÷oÞ¼¹¸¸i e9ÈÎÎvssCÊRiS¢)´€ÜÛ˜Û›À‚¯¯/\¾°°±_E%éÅõçÎóôôÅÚáÇãí£>ŠOºººº'žxo/^,ÖvïÞo—,YÒÐtV€Ø*·ýû÷¿Åo%Þ|óM½»H³Ž@• J´B%ÖތȴøcAàÇ[$ɳgÏj;Á £Âï‚ôÁƒåÍÂA<<<é°Ñþl¥{C‰OnÙ²E\Ú W‰Ý»woß¾Û:;;£Méò õ„Œ‘ºÑ54:#}ÓM’’’ ±±±¤ß¬¬,õF0¥Ð%g§5îÎkÖ{¬ËÉÉ‘Zn©JLšô ¹Jh¤î*¡mBtiY€©ÀÀ<㸴T%°¹ÆÜeà}ÒE÷T B¨„´H%ž{î9¼EnÇ2þ%k¥›Q o_~ùeñö­·ÞÂ[sssñöÉ'Ÿ”T·W%îÚ·vvvT ªÄP eð'£Ë#e‰o U¨ªªBÓxÓN±ÝâfAØ˺Œóƒ9Ñ–o1Qò”®NÝϵ?ýßEåGÔÝ:ʃT Ù ѱe1áêÛS~D¤Ø\Ç#Òv JB• T u•À‡ X+ýÇŠJ,_¾\T']ÜQ•¸k×JèèT ªALOO/--ÍÉÉ ’þ¡Ð’ò›ÚõƒD«Uâ~„*AU‚P%Z¡Ÿ}öÞþáÿ›G• T‰‡ DAüC"BBBŽ9‚y£J´Z%222äO§JP%U‚*Ax•øàƒð¶OŸ>âmÏž=©„*A¨­P‰ûª!T òpªDJJŠü %ýúõÃÛÉ“'c¹¶¶V¬ÅVr•°²²Â?õuuuùË_ð688X¬W 6 —kˆ –GŒ‘——§ñ†–øÀ511A333•ϪU‚*ñà¨D}]ãƒújø…*A• „*A•ؾ}»½½ýš5k~ÿûß‹{4?~|åÊ•’h”””H*1pàÀ¿ÿýïݺuûÝï~·lÙ2écâСC;wb»¸¸`¡GãÆ;wîúÅÛGyäwÞQ¿2\\Á-øç?ÿ)OnT ªUâÁQ‰û%ûÎ…*A• „*Al•hòœð)€ßg• øÜw_Ç‚t÷uAyy9>eîɰ©T ªD[±‰õU_G• JB• T ]TB㣱Ûò°©T‰ûW%BCCƒ‚‚ø;rXU‚*AU‚<*Ý*¢¢¢ÄCèLLLöïß}·À€©T‰@%^{íµvMèëë?ñÄ£FÂßQ³[½óÎ;Ø¿#T ª¡JP%H[P‰Vóî»ïÚÝ`ìØ±¾¾¾~wªUâP‰Áƒgee‰‡,:Náíí}ë*»iÓ&þQ%¨„P%¹s¤¥¥Eß·¤§§?*Qócc`n ¯Ë?P%î¾JÈODG'N422B·¨sçÎ5jÿ‰£JP%¡JBî-wV%Dfn ¯ô/ÚФ?”*ÑÐtï}}}ggçÆ(zýºƒƒƒ••U·nÝ\]]5ª„Æ:¾¾¾fffƒ OuÑÖ¡JP%¡JBî{•ð²»—ßG wªDÛP ðÄO@°àèèØ¿ÿ¤¤¤ððpssó˜˜u•ÐX§¸¸xÒ¤I/¼ðBjjjAABSäAR tÄtª!T BÈC§÷6Æ·…1P%n0dÈ¢S333___Q8qâÄiÓ¦©¨„Bù N ÕȦ?_«o#6A• „*A¡JP%î¾JôéÓçý÷ß/,,l×®Íè&zôèÅPQ …:r•P¨F<•h#6A• „*A¡JP%î²JTVVvèÐaݺuHVÈÿNNN7HHHPQ …:r•P¨FH•h 6A• „*A¡JP%î²J888˜››WTT S##£E‹©o%?ÁI[yóæ 6L,+T#ªJÜs› JB• „P%¨wZ%ììì™JKK“’’,X`hh(Ö®\¹ÒÂÂ",,¬¶¶¶ªª*33SE%ê„„„˜˜˜@I”«‘û]%ê¯ÿRW_/^Wëëå*Ñhõ×Qáž¼ylôØ÷å¿¢o<ðí¾§JB• „*A• JÜ¡§]ôîÝ{òäÉÈTÒZô»|ùrccc333x¸­“ŠJh«ƒO–¡C‡ÍŸ?_¡¹ßU¢NMä/åµwô¥÷ÒÛzo~¨÷ö½im>|Œ*AU‚ªU‚*q{UB0$+ülEòòòÚÚÚ5EîS•PÿVâZSb¿·ßJ¼¸jU‚ª!T ªUâ^©¡J4«uMm¶ÁË®ÿu˜*AU‚ªU‚*A• ÷‹J´›ÁR%¡JB¨T ª¹_T¢M=¢Ž*AU‚B• JP%È}¡mÄ#¨„P%!T ªU‚ÜG*Ѧ JB• „P%¨T B• JB• „P%¨T B• JB• „P%¨T ÒFAN†AÔ_kT üÄò/×ÕUqíz£Jà'–['T &(B•à!T ªÄ}ª„¨óõ×¹§oz}â¼¼¼Ó§O㧨•“_p:ï·WN~kºÊA›¹y97Úl#P%¡JB¨T ~+AZI}]ãW¿¾®þZ¦ö­ÄÏõ¿½ø­U‚ª!T ªU‚_/”¯ë×4ª«Dë J0Aªÿ¡JP%¨äAãÚÕ_Uâ—ëÚTB\+W]kA•`‚"T þ!B• JP%ȃÆuqÙõUé×IR )Hÿrã§ë­½‰U‚ ŠP%ø‡@U‚*A• HË7n+~‹ä DÔºz½ñÕj¨LP„*Á?B¨T ªy©¿ÚД™ÑįU~ás%¨„P%¡JP%¨ä!^ùu¿<ÍÕ¹¯úë×ÛÎüP%¡JBÚ–J\þ*A• ÷‘JÜåU‚ª!„*¡•³²öQ%¨„*A• JªU‚ªDËb|È»5S©§J$''µtÕƒANNNVVV™í{;°ûª!T BH[T ¼²#©’J q—;w*WÛ¸qczzzKWµ‚={öxzzŠÌ&¨¨¨X»v­tÓ¡»ODDFÕì°1ÈŒŒ y!Ž ·mÛÖÒuœR]F• JB•øÿöάª2ÑûœyΙѼ¤d™Ö©ÔÏɲ›N¥ÇLm&Òhfl™´Ô1kì"–if¦¢)‚r ¹JxCTPDî÷k€‚\vˆ‚‚Pº7ÂGˆl0â||yOïYíÍ^l ôÿ{öã³öZë]ë]ïZ¯ûÿcÝ¡Jô •°íÓÅ6A•¸©*…¸koo¼Ôµ*QZZš““s*úDDD\“J\ߺº\%”#“““©¿tª!T BH/S‰ìÝm®Óþç³òÞÿQ ñA‘ªü«ÿþúŽâß.YZVéöP ¤ßÀÀ@$Þììì®U‰ÈÈÈÝ»w_‡J888@måÌW‰ë[WתÚõDò”#½¼¼0’*ñ+±²²š;w.¼Œ*AU‚Ò›TB$jS?µ©·Àç6P‰ÚÚZ¤ßªª*???ƒ $&&º¹¹yzz;vLnU&Irrrœ·lÙ‚Ÿ˜ØØXQ*33ÓÛÛÛÉÉ éZš‚q&ˆˆpuu•áWª‚Héî§§§w¸®ÔJLB[a¤V«_QDTU¥2 111È–>>>B¯”‰±sïÞ½H•ÆÕŽŠŠ‚É“#¨6Ž=%UBe¥*MŠÖHMM•³as°QÆ*ÑaËÜ2*!X¹reee%U‚ª!¤—©„ñY‰õcÚN%÷ óÝñéìù··€J¤¤¤lÛ¶ YYYˆë55ÿ»Éˆ¯...¹¹¹‰Õaª ·*“$¨mpp0ôÙO,¥ø±"„4d`¤nÌÓ¡J Tb±* #ŠWTT ømݺÙÏx]qqq»víK‹ŒŒTVA]äp•Êà+Ú"STT„ŸHeb///‡° gšª6þ•â””täÈ‘èèh9Fe¥*MºgϹ»qT`¶ÝX%:l™[L%ÀŒ3|}}•·ÒP%¡JBz´Jàß6ŽÂ#j+¸kn•@´ñÆòííí‘~Åx¬¡7!!AÎ)ÿN®2ÉåEG­­­áâô„Ø:Ä]ÄlS™(‹´†Í—*!"ÿì¿oß¾ÐÐPãu! nÞ¼¹¥¥EÔ Â0’!VÚÚŽJeÏÝÝÝe•DbÇÏ%6V!_W…£TUUò'¢>"1¶E]%ÚÚo|§KÄmט„"ø‰–‘A2X—V«E˜‘¸c«C¼ß³grKMUÆ”J´µŸY€‰Ó ¦ª-®qrssyUyÛµÊJUšöŸª««+))ñõõE©ÂÂBà•U-#'<ê:?•IÊ©buÝúAqESll¬ùB• „*AéY*An-•6>)€”‹¤ŠÈÚÖ~Í ,¾ºººž:uJyÉÊ$%¨6Häjq‹6ÙÞÞ9ÙÅÅE<©S•”*͉Ç2±¸ƒüs½ÁºÚÚÿÎ/î¶çÏŸÇäbÕ+£¢míq‚•@Tª,Š5Ša¥J¨¬T¥IÅÏ4&ùøøÔÔÔ`Þ„E!Ù*+ÖaËà(·3äœ2ÿ‹ È©Q3£x‡gjº H–ò.xª!T BU‚*qsUÂL£Lý)Xe’Ä0埬‘N•/q»>Ð2h ãøj°®Né’Ê\+*+UiR™¥å} æ|ƒ–9_ŠŒ,"Æã_q˜‰ŠR¦Š˜:J;ç¦@• „*A¡JP%nºJž†ºJ(gä}âJGÃr ò~•"‚ãSøU‚ª!¤§_=[[ÛÉ“'ÃðïÂ… ß}÷]St¥JP%Èí€8 PZƒ¼ZÞ¹ ¼xI"R´)•P)ÒaMz¦GP%¡JBsæÌ±PðꫯšŒµT ª¹=èð¬R1¤ H/0^B§*aÎñ©´ ã|N• „*A¹éDGG+UâðáÃT ªUâ6GÞ7­¼[Dª„1øûÆ#ºõ½T B¨„릤¤D¨„xÚ¿1ëׯ·ø%cÆoíú«š`ð9ºž*A•P§   //¯;–\WW—œœrêÔ©Ûðpº¾†ljú­ /•“¤¤¤”——wZ¤ûö8U‚ª!ä0±SSÅY %×pVÂàó·“Jìß¿ÓÏ|ùå—»wïFšê´”ñܺj{³³³+++åûݺlV'’¡@§ÓÉáÝÌiX±Ë²²²”#qT`¤|žù˜z·àÙãT B¨„ná§Ûš”7| FÞˆóóWUÿbø§¹gn=•رc‡V«Åóòò¾þúk$R„ù_,KKKsrr®©2oööö7,É‹LqM*qÛÕ* ™œœ|k«„¿¿?ºU‚ª!ļ_AÃK~xó꧃ë‘näçèî™[O%öìÙ#¿¶¶¶îÛ·ÏÁÁAýÐæËÈÈÈÝ»w_Seà2[¶l¹aû›€-…¼ 1š¯×±]]®Èÿ¨§ryyyaä-¬VVVsçÎ…1Q%¡JB®C%zć*q««¨­­ELMKK@xswwwssKOOï0Xv8ONN޳³3¼?.±±±*‹’b*‚=Š„„„`LBBBLL ž8Q‚…dffz{{;99!6K3———`9ÇŽCÓEGG#ìAŽð3×á¶GDD¸ººÊ¿ð+UœíB=±"1 {#µZ­øŠ""¢wZgå*ávïÞ½ÆE QQQ yrÕÆÂqUWWWRRâëëkê¶ksvew¨„Mll¬Ê½©„P%!„*qƒUBäg{{ûmÛ¶á«2¶¶¶"‡#¯"p"?Ë?Y+ƒ¥©yP᯿þãÅeÿ¦f»&•@; £ªXˆ‹‹‹xìRW©8xð T 3·«­ýïüânkpþüy,A>!Öü:)//Wš©TÛ(_ ®T ••"ÃPITûÔ©SÊ œDÀ$ŸššS*aήìr ?ÊûÓ©„P%!„*qÓUÂP¬·Ã‹m:LùÆ7sÕ)---êoлÛn°]=ªÎæ¬ãMýyßÌÄÞ%»²[¡JB• ä6§®®nÍš53gΜ?¾­­í»ï¾{àÀíÛ·wødËî@«Õ®_¿þÏþ3÷Åí¬„ôF¨„P%¹IHH¸¯yFYYÙ£>jaaáããÓÝkÇë¼yó~ûÛßbuãÆãî JB• JªU‚^Ayyùwܬ¯Óé tT"''§®®"C• JB• JB• ¤1}útdø>}úÈÅH¼¼¼ TB«Õ¢›Z~!ÆãÕK &MšD• JB• JB• ¤·€¸hÑΘ1cŒ§âGP¾›©¤¤äé§Ÿ¶²²š={6þ·X¢;ÿö·¿ý·û·%K–,Z´è?Ú™5k–¼K´ÃRT ª!T ª!T Bz;éééB%žþy•Ùš››GŒeÀ@KK ôÁÚÚZLzâ‰'Pü?ÿó?srrÂÂÂÄÒâââÔKQ%¨„P%¨„P%éÕÈðÿÜsϩ̶sçNÌsÿý÷‹¯Ã‡ÿÍo~#®Yzúé§1iΜ9ÆoŸXZ@@€z)ªU‚ªU‚ª!½šÒÒRþ(ï<=='NœøÛvúõë·páÂåË—cž¼Ñ΋/¾øÂ /¨Dkk«XšxKתU«L•¢JP%¡JP%¡JÒ«ÁÏœ¥¥¥ÈÿåååÊ;1á_W®\‰áßýîwƯÊRQ •RT‰Þ¨Å„#¨„P%¹Ù¾}»Èÿ‡–#ñ»&F¾õÖ[ø 5_¿ùæ1CKK‹•P)E•è*Aéª!T Bn[ð37wî\qç5¢¾‰ŸE¥J U6 _ǯÑhòóóçÍ›‡ß>Lzì±Ç0~öìÙmí÷Y‹RÞÞÞê¥ €ƒ 4sZZZüìª!T ª¡JP%éÉìÙ³±ÿü£Ï¾}û^~ùåÿøÿxõÕW322Ä 999¿ÿýïå“cOœ8‘~~~¿ùÍo0æ®»îœkÖ¬3<õÔS•••¦J&䯿.#å…Á•*AU‚*A¨T Bz:.!!!99¹¢¢ÂøJ$ü&âç?|×´Ìë+E¨„P%¨„*A• „ª!T ª!T B¡JB¨„P%!„*A• „*AU‚B¨T B¨„P%!„P%¡JP%U‚*A!T‰^ âRrݵliiAA¤D4,^ªU‚ª!„P%®›¿ÿýï¿ûÝï\]]•# 1òücl𪪪_|ñŽ;î¸ë®» 0{öìÚÚZƒÍ–––ãÆÛ±c‡² µµuÿþý‡ Ò·o_ L™2Å Ô=÷Ü3oÞ¼„„•¶}úô5j”••Uhh(»U‚ ŠP%Ø!ävV‰É“'+GÚÙÙõL•@´6lj[^^ޝfìØ±cÆŒéNl¦fgg{zz>ýôÓÈüÐ"ŒG,:tè“O>‰¯hÕææføÂªU« J¹»»?ú裣G6ÕV“&MÊËË‹÷÷÷‡‰`ù(¢^çÈÈÈmÛ¶±§üJÐàèT B¨„B•èQ*1räHDb'9ù#{ J¬X±âž{îA#È1pŠ;î¸Cæyl޵µµŽ‹‹ƒùùùaxéÒ¥ƒÖét¦A–Ú¿?Jåäät8ÛôéÓåWì”™3g0»C¥Îï¿ÿ¾••{ʯm8wîÜäädª!T B¡Jô•°µµ8p §§§SPPp÷Ýw¿óÎ;R%ÂÂÂ^{íµx`„ ʋիWôÑGÓ¦M5j”³³³œdªHkkëgŸ}öÐC=ÚÛÛ{ÆŒb¶ÔÎΓPÊÁÁÁ¸ª(;hРåË—Œ·±±ûK!¤kAAl lB¥d)„U”ÊÊÊêT%b',ÌÞÞÞÔ&£U‡jii9~üxQsS-C:U ÁÊ•++++©„P%!„*ÑTÙÿJqX·nÝ¢E‹>üðC9yØ×× ™™ÕãçÏŸÿØc7S7mÚ„ަ^dÍš5ˆÖ˜ZRR Awqq“6lØðøã#ɇ„„ 2$<<Ü ªX8V±wï^ƒñŽŽŽwÜqGKK‹¬_¿ó;v¬¢¢»víêT%š››!&÷ÝwìÕp(´ƒ©MƪgÍšõì³Ï¦§§«´ 1S% m(¯j£JB• „ªÄMT‰   ¾}ûŠëy䑘˜¥JHPdòèèh©÷Þ{/¢W[û“‘ú÷ï RA}ðàÁ+V¬SGŽ)Îe`---噑™3gΛ7Ï`Q©©©XTbb¢ÁøÀÀ@ŒGh›µqwwGà„_,Y²D4u3µ(õàƒ¾òÊ+ƒ zê©§Ä™©Ï?ÿ¼ÁHƒV2u“ÁlÄ|•Ì™3'))‰*AU‚B¨7W%”ˆ‚'N 6 k4P‰ôôt{{{¤b¤ßÇK•@q9´Â××W¥rš²¸P qV¢¤¤“&NœøR;ˆnPU$=ÌcüÐ$ˆ,M$6çž{îAÎ\¼x±lFƒ‚Pi„1cÆlܸqÔ¨QÆ £®0¯·ß~[¥•ŒU¢ÃÙȵª„ œ—*AU‚B¨7W%ÄÀŒ3Ö®]‹ˆ‹¯R%P‡  i;;;'&&š£¦Š ›a822ÒX%„& Ìúã³h>}úlÙ²Å`¼­­íý×ÉÍ‘8I±ð 6¨4‚(…9ø êR%©úôéãçç‡XµfÍñL$u•P)‚¯ýû÷ï½÷V¬X1mÚ´áÇË縊;²ƒƒƒ›››ëëësssk‹˜ûX°`4ÅŒ3&Mš„ùÕU"??¢4qâDñ^ 4iNN޼kCY Ñ2{öìÛ uÆFUUU%''/]ºËô÷÷WßäÀÀÀAƒ‰ûPTf#ª„Mll¬P%¡JBU⦫HII‘ïSPÞ+±|ùrXÆwÞ¹~ýz[[[cqõ‘ʽ¦Š´´´` ù’%KÊËËá"Š·µŸ˜øä“OPÊÒÒó‹Ç"£ÑhÆß·oß#F Š5Êàmת8qâijÏ>‹"wÝu*öÌ3Ï ÌwXj÷îݘmÏž=Æm%Þvµ3ºü)§šÚdüÂN™2eÀ€©2QÇËË«±±ñšŠP%¡JBU¢[UÂLêëë›››Å0òU—ÉÎΖWûH°±HqøW}áxYYYÓ§O>|ø¢E‹BCCóÌ©U^^ž<‹qÃZI«ÕÊI×јä: JB• „ªDOP‰®"$$ÄÙÙ933sçÎ'Nœ0a‚ù׫˜jðÆoØØØüúEªU‚ª!„P%z&ááá ,€DL:õã?V^›DU‚ª!„P%¨„P%¡JB¡JB• JB• „ª!T ª!T B¡J°ý ¡JB• „ªU¢'ÓÒÒ‚œ‰x©|×6¡J0AªU‚Bn[•¯]suuUŽ,,,ÄHùŠºÂèÑ£×3fÌh3z_^RUUemmÝ¿ÿ!C†ôíÛS¦Lé!m"ßš×§OŸQ£FYYY…††²WR%¡JBU↩ÄäÉ“•#íììz Jh4š¼v¶mۆꅅ…‰¯eee˜ºo߾ݻwwùJ‘'‡úä“OB¯°;š››V­ZÕsTbÒ¤Ih„øøx8œÂÝÝ]½Tdd$Ú°wu4lºU‚ª!„P%z”JŒ9ùÁIŽ;v,Fö4•ÄÄÄ@%„At7K—.Rô¸qã0uÓ¦Mˆ÷`êEÖ¬Yƒ‹©%%%ˆÓ½...bÒ† üñäää!C†„‡‡_“J(ï•Àðرc'Mš„E-[¶¬_¿~ûÛß`‘‘‘?ü°¼<©Ó5VTT`E»ví2UÈ6yA+Å–¢ˆ˜K‚ŽI)Àr°Y½GydòäÉ{÷î[Íùë_ÿŠ›•••3¿AŒU@ë° S{5œ5kÖ³Ï>›žž^\\¬²³z¦J´-*,"=U‚ª!„P%n®JõíÛW\ƃ”‹¬®T *€H-#ñ½÷Þ‹èÕÖþ€£þýû¨inn(®Ø—*LÕ§O???Ī5kÖ jz{{««„J|íß¿ÿ{ï½·bÅŠiÓ¦ >\¾AÜ‘ÜÜÜ\__¯|Rw¨„™kÌÏχaMœ8Q¼Wû"''GÞ±xñâ±cÇfffB+œœœ°¢ììl1éóÏ?øá‡±›:ôÔSO©«D```ee%Zþã?~á…̯–ƒfD;WUU%''/]ºµõ÷÷Wß XÝ AƒÄ­1*³õ4•°±±‰5Pª!T B¡JÜt•)))ÈÉbXy¯ÄòåËawÞyçúõëmmm‘BÅÅ6*÷J˜*ÒÒÒ‚1H¿K–,)//GT¹·­ý4Á'Ÿ|‚R–––˜_<ƒ¨[UÂÌ5ž8qâÙgŸÅBîºë.lÑ3Ï<ƒÈ-&!á¿ñÆ}ûö}FeeeJ• JB• „ªÄµFÊÉ“'+GÚÙÙõ@•Ðh4yílÛ¶ Õ _ ^{M•DFF¢­Lí÷I“&¡õâããýýý§L™§pww¿îv7¨$ºU‚ª!„P%z”JŒ91ÁIŽ;v,Fö4•ÄÄÄ@%z…AÜ\•xÿý÷­¬¬Lí÷éӧ˯8ÀfΜ9`ÀZ×·Àîë;wnrr2U‚ª!„P%zŽJØÚÚ8ÐÓÓSŒ)((¸ûî»ßyç©aaa¯½öÚ<0aÂåÅêÕ«?ú裌ŒŒiÓ¦5ÊÙÙYN2U¤µµõ³Ï>{衇Fííí=cÆŒÀÀ@1 [jgg‡I(åààp­*aª¸¨dbbâsÏ=7bĬíùÁÜÿý¯¾ú*B£r¶#GŽ ÂÇ_ºt)B£\²““Óc=†fA›äææ,|ÿþýO<ñ„‡‡‡Ê†›£*í©R½wß}wãÆ²ªãÇÇ0vèСC---1fùòåê*¡a”ööö¦¶Âx¦6¶›TB°råÊÊÊJª!T B¡Jô•@¶Ç¿RÖ­[·hÑ¢?üPŽA†ôõõEÄB΄t 2#`7S7mÚ„x¦^dÍš5ˆ£˜ZRR‚lŒìêââ"&mذáñÇONN 2dHxxø5©„©â¨äرc'Mš„ñË–-ëׯÒ;¢xddäÃ?¼jÕ*9Û£>ŠMÞ»w/rrÿþýýüüÄ$uÔ¡i³as***d©GydòäÉ(%ê£ÒVª„J{ªT:ï“*RØR £’³fÍzöÙgÓÓÓ‹‹‹;U ÁŠLm…ñMml·ªÀ&c½"ÒS%¡JBUâæªDPPPß¾}u:Æ #«+UB‚ ©FGGË|{ï½÷"za¸¥¥ù6 @¥HssóàÁƒW¬X!§Ž9Rüíhii)ό̜9sÞ¼yæ«„JqTrôèÑh4 £ÑPpíÚµbÒ|ų=óÌ32"3ÿãÿÀ¢#–,ëÜÚÚ OAAYꡇBÚ4®¤q[™£¦ÚÓTõTT¢íZ.p<ÿüó# ¶ÂÔ fën•Ì™3'))‰*AU‚B¨7W%”ˆ‚'N 6 k4P‰ôôt{{{$I$ÆÃ‡wƒ}}}UŠ §)‹ •g%JJJ0iâĉ/µƒñˆµæ«„Jqe%µZ-fKMM_W­Z5a„·eóæÍ÷ÜsÿÔ©SÊp^yå•?ýéO*‚`N[™R Síiªz]«°È·ß~[e+ŒØál7F%lllp$P%¡JBUâæª„@(]»v-b!¾J•@,X0fÌggçÄÄDsTÂTd3 GFF«R&mܸñÐÏ  ù*¡RüúTÂÑÑn… ÏÅUFV$XùÀ+ƒRæ·Õ¯T Y½.T‰ÚÚÚþýûoݺUe+” T™­»U¶èááÑéõTT B¨„B•¸1*Ô¯_¿#F¤¤¤(U¢¸¸)QŒlii1G%TŠŒ7ÎÎÎN  ÿüó‡~ÇáC‡žzê)¥J4HÜc¼ßÑþ¨gUUUrròÒ¥K!’þþþê[¡\ Êlݤ666±±± @• „*A!T‰›® %%%''G +ï•X¾|9,ãÎ;ï\¿~½­­-¤¸|H%úš*ÒÒÒ‚1±K–,)//G$ñµ­ýÌÂ'Ÿ|‚R–––˜_ œU‚*A!½H%:<1!l¢¦¦FØ¢Nyy9Â’ÏÉ“'5 òUAA‚Ö Bn!pHãÀÆáƒ\¼ ƒ]ݱ]ÝÄ7!ÓâÍ5þ)9ÊS¦TóÀÖõz=l 9ÓŽX&(žE• T ª!„ô•h3:1a`âÜÄ… v*+++**Ξ=[VVvºD¬’vNrK ŽgØâÇ¡Ž´Ã?º:‚<‚nòUR¶Å¢µþ)ÇTNIH•Jƒ5  CÇ’¡ø*ÞpG• T ª!„t­JLs Ä@7}2N¤ç᳟´\„"ÿ”$ß„Lï¸ ¯Ø´mÑ)žQÉ_Mp ÿ",ö‹Ã1.‡¢]B£œC"ñq ‰à‡Ÿ[ì#Žmä8ÔqÀã°ÇÁ.à™„î€N®‚n2eËv‹·Ö¡ãèT%Äe„P‰úúzF#.—ª®®†›ˆ·©„*A• „®U‰nþ¬¿úy»«Ÿ·ðYg±h­Å›k,~fñÏÕÿüôêgÁ*‹ùŸXÌ_i1ïc‹7ðYñ?Ÿ×—óÃÏ­ö‘‡7uð8ìq𣠈¾€N®‚n‚Îò–4\åê&¡pñfùææ«Jûþûïÿñ?~P Lý±ª¡JP%!¤«øAßÜ}ç#~qb¢ýÜÄãs‰ßˆÓÞ±é^±i?Ÿ¤ŸdÈ$ùù2"‘~zõGy<ãðǹ8 qõLDlº8N®‚n‚΂®¾AÅ# TB\ãäââbeeõÑG •7eS%U‚*A!½åý×Êû&š››Å¥Ý—/_nhh¸ÔBÑ„ÜàPÇ<~tÆÆFtt ù Ñ_Ô=ÂX%rss_~ùe¨Ä‹/¾vñâEª!T Béí*a`---"ùˆ¿£ §@šºü3 „ܢȃ<{qü‹¾€N®aìfª¾xñb©666çΣJB• „[C(ÄÝ£B!Bžª ä–Gœ€a,æx„JìÝ»×ÚÚZªþuss£JB• „[Æ&Œ…BÐÒ΄Ü6ˆc^vk•c•§öàß}÷xq6ï• „*A!·žMH¡N!ù‰ÛƒÃ^ve1§Oßv}ùòeñòÇóçÏ×ÔÔP%¡JBÈ-ìJ­ ä6Ä ;\SW¢JB• „j!·3×Ý}¨„P%!„B¨„P%!„B¨„P%!„Bz,^^^p __ßÀÀÀàààýû÷8p $$äСCGމŒŒLJJ:~ü8U‚P%¨„B!ž• „*A!„B• „*A!„B• „*A!„B• „*A!„r«ª„^¯ohhøá‡*++Ïž=[UU¥Ó騄P%!„BÔU"$$ÄÚÚúå—_¶²²zñÅñïÖ­[©„P%!„BÔUB¯×/]ºTªÄ¬Y³***¨„P%!„BÔUâÊ•+ÆÚÚZ¨ÄÁƒy¯!T B!„NU¢¹¹¹©©ÉÓÓ*akkûý÷ßWWWc*U‚P%¨„B!ªÄO?ý$TB¯×kµÚ9sædee •øá‡¨„*A• „BéT% ËËË«ªª øÚÔÔtåʪ¡JP%!„B”*qéÒ¥––ùR èCYYÙ™3gÎ;÷ý÷ß_¼x±±±–¿ JªU‚B!Dª„¸BxDuu5$âÔ©S§OŸ6qþüùºº:½^ϳ„*A• „B1ÈH0…‹/–••Á 5ÍÉ“'KKKÏž=ûý÷ßÃ&xV‚P%¨„B!’íÛ·ççç'$$DDDDFFÆÇǧ¥¥efffee;v,77S¿ýöÛòòr(U‚P%¨„B!www;;»7ÚÛÛ;88À¼½½}|||}}ýüüüýý÷íÛ—˜˜H• T S*îãââ²uëÖ-[¶8::â_ ;99¡³xzz>|8::úH;á„ÞOXXXhh(~÷ìÙ³³÷€Ú¢Î¨9êÏHÈ-€ˆÈ‡BØØµkÒ;b<ò‰O;ÞæQPP`ÎlB°ð;v¸¹¹]_¦¢Jª„J¬_¿þøñãøúÃÏ`øÂ… èÚø½ŽˆˆÀ@lll|||BBÄ<‰Ò›A_ÆO¶»Wàë˾úóÛ_O_¸kÆ›{_zsïô…{ÿò¯ |þºøê¿¯àóvõ[A/¿4cÑÿÌ€f~yÑÕ‘Öo_¡»‹`#ñÕú­½·Ý³pÅvÔõÇVpWÒ«A¢@®@_FÆ@Ò@Þº¬©©A©¿TÉl4©Iõõõò_1€õزe U‚.Q‰M›6%''_¾|¹¹¹ùÊ•+z½¾®®üèÑ£111ÀÔ´´´ŒŒŒÌv¾!„ôZЗCCCÿ±Ôë…ÅÁŸz¥9,ü"â´kd™SDÙ–ð2¯ø2ßIJ¯’Ê|¯{Ä–¹GŸq:ãqS”m>rfëÑ3Αg¾ˆ>ãsÆ3¶Û‹l=ZæQæYúÅÑS[®ñÍøË²«õÇV`[¸C 齈Pt¾Œ¤¼Ô³@æG ùñÇ[Z~­•PŸ i?¶`™<'''ª!]¢öööè¶Ð‡††ô/{~~~XXX|||JJ ºyvvöñãÇóòò0¾€ÒkA/F¿žõ¾ÏïçîÝvÒ#áœWÒwےΙtÁ-ñ‚kœÖ?C© üF»#ó‚úßÔ ^É<Ú§ºÄkâ´N±Z×x­[¢Ö3IërÁ7íBwi¸à™tÁ;ù‚WR•{ìÙµ5£^úëR߸¸8lw+!½ä ôbd $ äÔÔTôëÇçääÀ&Ä_84ƒo¿ý¶Óy°(ñºêêêèèhª!]u¯TB«ÕŠ“çÏŸ—@¤§§£/£—””œ>}º´´´ŒÒ;Á÷¶íû-žòµþòØ–˜*÷ä îÉZ·$K¢nkœnsŒîË”êmiÕ^:Ï4 ë\Û'm‰×9Äêì£u£t›¢«7ÇV;Æë¶&è\’t(ÛÝE6Çêœâ¯tÇ'ù‰ç7F›éuÜâYOÿ`lw+!½$ ä ¤ d $ ä ¤ŽŒŒ qA5&5^¾ÜÔÔÔÜΕv­õõõþþþâ%Ԩĕ_rùòeD«_®–nFxDCCVãêêJ• ¤KT"99ùÌ™3ÿ·®#Ñ©aëiiiÇÇÏôÉ“'ÑéÊËËÏ;÷Ýwß}OéTUUåææ¾ð¶¿ÅK§zkÖE}ï§uLÐ:Äé6ÆêÖEê>;ª³×:$j“´ö Úqºõ±ºõÑW'­¨þ,¼zuxõ§Gt«Ãuk"tvQº 1(¨íî"¹r£sˆ×9Ækíc/|z´ê>‹¿záØ"lw.!½äŠÊÊJd $ ä ²Gzzzddd~~þ… `úvšÚh,\¸ÐÚÚZŽœ:uªé—\ºt ³Í›7 Gÿ3ðNWTT”˜˜èééI• ¤KTÂËË+33¡ÓiÑm¡ö ÇŽCFßDGO×jµÕÕÕ555µµµÿ—Ò A/Ưð;,æÇY¬/´p*~ÒëÔ ~O{—õ(¿Ï­ün§ò'½ÏŽÿª|¼ÿÙ'¿:û¨÷Ù‡=Ëv/Ðíì½.gït*ï·µ¢ŸSù].åþ8û€ûÙQgÙv¶»‹Üë\1Ê­üQÏò§}Ê'uö÷%.Å -þ•<䯻±EØ.î\Bz#HÈHèÅÐŠŠŠŠÓ§O#ç#ÄÇÇçåå•––Š/8wîÜÆ_þŒ¹¬àÌ™3—I]]œÙÎÎ3`u9(((@ìñ÷÷§JÒ%*áãã“}òäÉsíh4šÔÔTt4x„xküÅ‹Ñ%ÑmÅÍ ‘ÒÛÀOvJJÊ¿[í³XqÌâ‹Sx•Møªü¹íçžÛ^õŒoÕÓÞU{VZí¬zyOÕ+A•Ó÷Taø…€*L}ú«ªÇ¼«FyVú²ê±/+Çm«zÖ§j¢_Õ¤Wgèî"l«|§ê9¿ï0Ï”€ÊÉþc}Êïp;e±&ÿßÿšœœŒíâÎ%¤×!ârÒ2:2r>Rl ÿY8q¢¤¤É_$+Pó Ξ={þ— ”rþ×^{­°°°¬¬ ËÄÀ7ß|³}ûvª!]¥ÇGç*//¯¨¨€S@%ÄëÑÑ»ëëëÑëÅõŠâÄ !½ tä«g%þyØâ³Où–ý}ï÷o„V/8tñõ›àÚ?ï©~qgõÂCÕÿ ¯~÷èÅ·Ã..<|q~èÅ×\|5èâ+»/N¼øbÀÅ?~]ýÒÎjÌËhZ‘ÚôABÓ¿¢õ›¾ÑoÍÑ»×;fë?ÏÔ¯MׯLÖ” ·ÓcꛑúEúw¢õKãô+’šV§4­Ëhêî"ïÄ6-MԜڴ6³éóoô3õëS—Õ>ýy–çö`l¶‹;—^Ç+@Æ@Ò@Þ@2Aö@ÔÏÉÉWY㫸[\lRàíí-îß” ºÈa1JA.\¸Pý3⎠,³´´ôĉT BºJ%Л ѹÐõÐÑÑJJJòòò*++1ÏåË—¯\¹òÓO? ƒ`“Ò{AwÎÈÈøð‹ÃÖ_®Njp8®wÈÓoÌÕ¯Íjú$³éƒÔ¦/ õ^½Ï·ú/ õ.ùW§~~\¿&[/¦¾ŸÜ´$©é£Ô¦U™Më²õ›Žë·œÐww‘Òš>ÍjZL¿9Oÿ"O¿)ýò¿âO¾<’žžŽ-ân%¤÷"œI£±±©Ùãøñ㦢¢á±¤®®N¾«Úååå*SëÛÁ‘sÄ5TEEET BºD%vîÜyòäI;z±^¯¯–ï’Ðét MMM?þø£ò¬!¤7ÒÒÒ‚Ÿæ°°°•n‡_÷=ùI”öóôKP‰uÇõŸfé—eè=¾mô9Õè_ÚèUÒèþm£SA£}ž~Ý1ýª,ýò ½mÚÕÏòoô«sôrõ›O4:5vw‘™úÕYWìQü›úu±ºÅ§×zÆV\¸p[ÄÝJH¯éBž•@ê@ö(((8wî$B< “:½ívÐé}⦌~ø!§¤¤d÷îÝT BºD%‚ƒƒÑgÑaeCÏ…¹££AÛѯ!Â&ZÄ ìyÇ!½üžVUUEEE¹yïZöeÔ›ÛræzkþásòoÛNþÙã俾.^²³xéîâw‹ß(þ§ÿÉy_”Sg¸_ýüÕóäl¯“¯ùžœïwòÍíÝ^D Ìñ99ÏGó/ïc+=Pó@Ô[má%¤÷Þ%!n”@º¯¨®®†Dh4D}|E1ÿI/æ¿íº¾¾¾²²rÿþýT BºD%’’’ a è¿E 4í` ´´TùF‰:BHoݹ¼¼<++ëСCþþþ^^^½ÔµEQsÔ_\ö@é½È4‚‘ŸŸ/Òˆ’Bóøî»ï ÍF,633óWª!· ê*A!„BÌÌTB%øÇjrû ¢lB!„ó3Õ„B!„ríðMå„B!„ë`1!„B!„\;|v!„B!ä: JB!„B¨„B!„ª!„B!„*A!„B¡JB!„B¨lB!„BU‚B!„B• „B!„P%!„B!T B!„BU‚B!„B¨„B!„ª!„B!„*A!„B¡JB!„B¨„B!„B• „B!„P%!„B!T B!„BU‚B!„B• „B!„ª!„B!„*A!„B¡JB!„B¨„B!„ª!„B!„P%!„B!T B!„BU‚B!„B• „B!„P%!„B!„*A!„B¡JB!„B¨„B!„ª!„B!„*A!„B!T B!„BU‚B!„B• „B!„P%!„B!T B!„B1Å™3g¨„B!„kõª!„B!Ä|ÊÊÊ൵µT B!„BȵzDï• „B!„˜ÇéÓ§¥Gð^ B!„Bˆ9”””(=‚÷JB!„B®É#JKKy¯!„B!äú<¢÷JB!„BLS\\Ü¡G`˜*A!„Béw0þŠB!„BŒØ´iÓüùó“’’L ÿ~C endstream endobj 593 0 obj << /Type /XObject /Subtype /Image /Width 1049 /Height 675 /BitsPerComponent 8 /ColorSpace /DeviceGray /Length 1416 /Filter /FlateDecode >> stream xÚíÔ± ðÞÔŸ¹F3‹}B†$[“v蜒ˆÜgx%ÿ,8è²ý endstream endobj 586 0 obj << /Type /XObject /Subtype /Image /Width 702 /Height 603 /BitsPerComponent 8 /ColorSpace /DeviceRGB /SMask 594 0 R /Length 17866 /Filter /FlateDecode >> stream xÚíÝ@gÞÇqrɽ¹K5É¥7£Ñ\ª]“X¢&¹$–KLÔhŒ½÷.ŠD°cGcEŠ(M¤÷ÞYª4 • ذ%êeßÿìYö%|?7GfŸyæÙç™Yöù͸€‘‘bþüùqqq999Gô>~Á‚Fed=33sïÞ½ò5@²²²ÊÃCDDDFFÆN€*HT S“ƒ>>""ÂÛÕuõðæíÚ›¶l%‹ÙÇíå¡Ê&© ÕªÚ=!!!66600pýúõ‹UòP e“T¨fwõÙwxm·|ئ·í0¥yûÉM?›þñ¸¥Ã¤°úgw–59$VAfö[óyÆþ½ y‹_us1Ây؈_v߬…q£·d“Tj•î.ÓzTT”ƒƒÃüùóW­ZeµÙÊÁa›ƒ£ÃæÍVòP e“TjÕ<ûÂMæMF7üxV“¯W>|냷ôíº²cãwßÝP6Uó쀉s³ßhï¸=Ñö–‹LMM—mt‰ç`÷ƒš4U ³;×äµÞz?úó/Y®¹œ—w9'çØò•Ñþ³á­we“Tj•îéää´téR+++//¯xMÜž½»÷îÝ­ÑÄ{y{I~MRAªUõì 7˜¿7üÕæ¾Ógë¬V:™½ëxÊòpÓ¯mÛ¶2ëá¯I…ªžuÏæÙÞ¼ö¡ß×FÞ±F–ôÿ¢ÿBçÛî`øTit‚MM«G:oÿÅBçÛ}yGz¬üþ‹o®ù~€ùÏÛ"ïÛ)ºGrÃðr[wnmÔjZÈ-¶»måŒ/ÊβћͿø~†Gì]ðŽ¥ÃË?ˆþÍØ¥Á|—â/A}IÇUÁÓÅżñ»ö¯¿™õòÛÅÍÛþ:zÂïN.¿;8]1¦¸ÉGY/7–MRAªUº»ŸŸßêÕ«·mÛ• IÏHËÈHKHH‡R(›¤‚T«twwçV#höV·m͇z}µ,Þ8ð «gö–9‘£ôèÔe[3Ù$¤Zê¼h¯ÊKù³I¶..+êcÔÚ8¸êºö&fëÜjÜH˜ic£Æ“n»asÚµ™åWÃŽ…9´222u »ÝgÝj*czë¿'Œüïµ)lÁö{vZ®?Ô·$g46úð'ï䨓pK]ZÑ¿¹r>¼ÉÍÛÅv­ñ ÏŒŒ[…Þ•ñ;Ï0z¾­°ÿ&y9}aæÈ·*þÔw’è*l=nÍ÷ýëͳÔÿýɆڦmµ}h¿ÿQÛäCy(…²I*HµJw···—l)QAýTƒúÉy(…²I*HµJwŸd1úÃqo÷rûh`PÇá‘_Nï»$}òÂã'Åõñyÿ Ž²I*HµhÔyAv³å•l£Ù–šš‘µ÷À¾ôø*ë†Í”ªÓ¶Ô¸‘جýöïJ©P9"4ôõˆˆô1Ø´µQë™Û¢kرؔýd%ÇÞæ‘ qþIZë¶{OöDû62M±Œ¸G§¥Â¡®üHÞ„ˆ­ŒŒ>ýÉùÖp§¼åµ™µoOzJJjZú®=ûö¦§%ÅÝ•ñ'gîÙ“•–œ”œž6Hz>בoUü¨É!² ö>zí­Ò'h­¯}¤¾ö™FÚ†M•åùFZ¥°AéÓoJûNÿ©twkkk///õM5&&F‚J¼Ž¬ÈCõýV*HµJwïeÞåÛuíGÇv”ÜczZO“ÌÞfY?šfõ›•Ñ{ÚÎï&%}=:¦ë7ëÚKµHÔyAö3” XáXVuí¿>6ƒÛª/óSÖ¸I±zéýf#£ž¦ö5h$À¼[Ón¦6Êj°MÏm§,Yد™®¶ã\ÜŒ»«í¾Ð1àZýîÍÊ[v4ïÙ »©nCðìVF­fèÊÃ\Æ}ÞìÚ]ì¶ýÖ»…UÒ±`›ï40¶QÛŒôÜdþyÙ}ïžÆk‚ÕR¥?ÍÆ-Y2Rc³~ë=Ã*GåžÃ {?åAœïyÐÍ,P:Ù³Y÷) {ʳ5X¯Ú{šìßl²òd!v_H£Ó¬¢ãÃÝíì\ý+žd?eìFÝM\\¼‚Âþ¼ÏVÞ¡úÃ\‚Ã[ãƒ4‘•¾Š*ÔV“Nêy6±rXo¢œç™vUŠBì,—Ï7™¬t´»yD²†oUü¨É!¤ þÍ?>ü^+퇴¿ÔvÿNÛ·¿vØ(íðÑÚþƒµßôÒ~ÞUÛ¶s~“6~­ÚVº»ú³“’’ÔŸ•y¨|PI÷ÓjµõYÙerp¯Åû†®Ì¾>o”]þxç£SœN²Í·6wÔŠœá‹÷ ™Ôûû_…a±™»¢–¿v Øgæ&)óÞ¤|&qÄ GO7¯í+Ëeðzðè¨ù­Z»È+0.*üO ñ“ù®Õt[e5ÐVf‘낲v&jâ]e~j240ÔgJãk•+v,ÀVI¶Þ²éç‰-Œzf¤ÄFEÅ'¥¹L•™êki4@éOï…^»Ò’5 q²{ã²ç-çg¯ÌÑF ›¾¡Žª»IHRœÚI£ÞËR²Òâ#ý7)SöT—ô¤ø¨¨Ø”Œ™ñ[Nܨë¿<À ]Y)‰šÄI e˜-'yø)õº/ððrwwßÚKÖ¿š©tTןë‚2R“4±‘õG@7¢O7{z¸¸¹Ù,Pžm­ìï¿¥«4Õeœ•‹_|bb\dh…±DÇ»vWþµÂU.?b‚¬ªíó§Ûâ¤Ï ןbß9²¥óÜÀë·««‡RRÅ ìM$“´^–&G*)a»¶i6žUU¾ÅØ>_~ÕQ9ò­¯wôã;ê{IP‚¿ï·¿M%3ü8H;v‚vöOÚ%Ë”e޹vâí ¡ÚßïoÛ1¤Ï•î¾uëÖ€€õ‡.%0¤é¤§§ËWy¨þئTj•î>Åfè$ïï×䌱:<ÁéèTŸ_LB‹ÍCŠÍ½ g9L±:<~uÎè‰^ßO²(¯×ˆä´ÌNÃ[+¯ê <ý·Í1ºNcs{ß  ï™2M³®a#AA>3e¾›ªÜ@ ò³‘Ù|†c ²îk­ÌB³íƒ•ÞÊ”ÔÚÄWY÷™¥´o£¶·eVg£Æ³|tå´ã¶ahgÝLÞ@¹ÞùZåë;¦{®©6J,~Æç†”õÑ^¹¦î´Á»¬?NAz»ÛTÏ–YÊ­…™+mll<cvg¦F—uÒÔ)ôÚ®ÊXŒ¯.Û)d®Ì–ŸÌòTúßʨ±i`ðµrÛ±•aªõõl×9>ŽÏ#úãȈëíÝH:h#û‡Ä„9-h­–5ùÞÒѧâÙÑóVS­ÿ¼Ï­ ¯äô®øQöékëÿGɆ1Må4¬ö,kð†AéZ›¢ž”κäPUå„&îÌÈÌÌÚ­qUÒE³iž|Ÿ¢öS_óU_¸(¶Cgí áÚ)Óµói×mÐÚoÕnݦݰQ»h‰vÆ,íðQq?_¸¸ÒÝ%ŽËåFrr²ú[+³tÔßt-… RAªUºûÏîˆY³éàÇ£Ó}~™Q¼@sz©,áÅó½ M ¦­?8~˜Õ×kÝ–e‚ÂbvFm”WuyvžVS”{ËÛ“v]“•à%óWãñÖ5lD©ßÒ¨åÔÍÊke6ßì®®«³˜n¯Ÿ”3½tëÊü8k‹®ÜwÙ ½ò²vÌ”Kë}R¥GYKZ—W¾¾c>›[^{® Íe:í³µ¬{›§J/ºnñ½¾?êóN­8./;åSг£”Œ -/ÖUÞ|푯r±/©£lëÖ>2N¶‘ƒe§ôi¦oÙ^³>Q†ã®«ßx˜õ®ò#›‘\áøÜ8¢?Ž€ŒH*ö (Û{×®ôeÿ€°˜¤¬]ÛW*ùá;óŠ'Fÿ˜ÿYŸ½*9±KûKÃý̶”ÙÍ’&;Y{]kðÆA©­y–u@ µGU•«³¬›rWÊoQÔ~jrð­B¤¿TÿÁ#FiY(iÁÑYëå­,ÎÛµV›µK–;>zðP©VéîÒ¾““SXXXjjªú÷2Ôä þ]-)TþÚÉIy¨LPXà”m}… ÙQ0+¨hnüÉ¥)g,“ϬŠ=iø‹¹kÁÌy!ƒ'Ø÷‘j¾¨ó¬æŽ1ÍÂÖÁÙÝÕÁb‚òÁË\¯óŠBc¼†ªŸï˜ha/òr^1BºÜq½»Ò`¥ƒº®µòVu®ã¥”Ú;»{)gMùYЮó|ø^Eí§&¯*øøøÄÚoKœ0ñÄÊUÊ­É AÚ `­¯ÖÁ±xõšäÉSã·n•j•îîíííáááîî“––V~ÏA’ƒ<”BÙ$¤ZUϾ=Äq¦s«Ä ÇÌcN,I<¹R–è~GÍ6jÆMwüÞ5رªgGb=óý[Çc–;Ç„øxy%Åì£w[yÒúíòÊòÛbª>´ÌáÏñÚ1Cæ»É”neæ2¶vSÖ=¬e®êhl­Ûu‡òÑ»Ž³uüwX޹ÖÄ—“LÇ´2j9c‡®Ny;>[ç6ºö}fŒQ&×7®¨Ø1· r}?c³Ò¤¸Æsõ¤ò޵º8RU±?×ÚßXáÈxØ*Ÿ4Þèv}qÅÊQ‰‹‡¶úã@­öLˆð—òÍ3¤z´¿VÞi̺˜¸)OˆµšÑóƒõù4—ŠýñºáPë¸Ðmsÿx>£ÏÖìPvÿïÿ‚ÑÓÊ'ô†÷”m’¹º˜ZWßgå(©ÇüÆw¥à¤$ß¹C¯ÿ§†F?lñðªjP›gw4jUÖšn€“u³ò#p—iÍôž¥Ó$Ϙ8Þ­ð ¾¢=« 3{hhhœ£c²‰ižµíY7·+¾~W|ýϺ¹çÙÚ¥üd&›¤‚T«jwY‘xž˜˜˜ª#+R(›¤B5»Kãn¡NænƒÖ‡qɘé{ÀÜw¿™s†ñÚðѦ®]CªyvÔ)!q)é‰ñʧwâSÓcÂ¼Ô ~¡‰òPù½ Rœ꫼êÂãuEñqá~5hÄ7~gúNM˜²êVÞˆ§whJzzj|¨nWßXåAœnƒgptbª®ýô”„øDÙ9Þ÷úvüÃâÒRuÒ’5‰Êï7Hˆ «Ø1ï°åÏ%}‹NHOMŒÖcgR¬¿:<ýþè÷SwH\ºÔ ó½¾øÆÊþ±I;ã•#%G,!:D-µšÞÒ¨•Yœ å©e\Qe ùFjR®YÙ!E7öëúãyá¾îIÂãv¦§*»Ç'¦§§„y_;¤º>È‘I‰ ô®x𽂓¥j\hõ}VÎcZ¼oU¯ïà¸$9?ºÓ¡t>-9Ä»ÊA…Êàw–µ¦ æÚÁ¬ì\ãvÊiVŸ(>=5!Ä—ïTü¨ÉÁ½ n:òªO‰ûymÊ’e{Ömس~cò²åÊCÝOF¨uªÙ]²Ìï;vìuY‘‡R(›þtwå=<)~³ßêåÞ“WùYé7f™ç+¿ÕRXý³£ÎñòöõõÞ7n‘×ÝõÅJÑ«kä¦xèÚ¯¶Æ”ûfÖ1]£>>Un¼C‡ÐûºÎ¸»¯›ØÈÈh´ƒlRžÚ«ò#ëåQ}£UwÚCÙýúfu}ð¾>×ðÅ¢œf_ßJ:_“AÕ´²œfõ‰¼ùÅ_†švTmûöíòÕËË+222%%%CGVä¡rdz¬BU\u<<<ËÏž¬ÈC)T·Þ½gp›¼\6/ýÙÞ• Œš¶WËÅÅE]©0§ëoªa jT¸µ}oùÙÜ2wßàˆÐ7€2jrp¨59ô¨59œ¨’ 9’ 9’ 9’ÇÉÉÉ€äÜÇ-^õMw§¶Ú|ÜÆºMKëÖ-6·j®,-š[)KSÝÒ\o¹‡%Í›l4®Ûf̘1þ|WW×ÂÂB^®É¸ï±áÓÿ8L6IÚu"¯ø×c§/;s¥ð¬º\ýÅ–¤ìã¿©~Õ[þÒ%¿ê¹téÒ… Ž9²eË Â@rî/S“°{¹%æ_È8viWá¥ÝE¿í-ú-ûÄoûNü¶¿øòõËoû+Þ‹ïÔu6½nù«—\Ÿ.]¼tQòƒÕæÍÎÎμh’p¿7ùÐj{NdÎù˜¼ q‡/jò/%¹”Tp)Y–£—RÊ–äûWb{øbv¡Ìùóç80kÖ,9k¼t’p_üòË/ZÛlN(ößw>äà…М á‡.Fä^ŒÔ-Qy—Ê–‹z˽.±Œ8¬Nu‹¾¿j‰¾ó:çÎ+--=qâÄœ9sä¬ñÒHÀ}‘——gÔÐzEl±Ûîs>Ùü÷_8p!ðà… ƒƒËó ®«Ý¢ƒõJna™¿Ùc—æÖö]œwNfÎóçÎë©´ÄÅÅåçŸ^»v­““ÓîÝ»k¸—–T ™áléY!Éá§Ÿ~’³ÆK 9÷ENNŽÑ{öËbJ¶e”îØsÞ#û¼wöŸ}Êâ[¶4þ e!Õuýò›*éеװYKnv/uå§€ÜÒšiÑ¢Å{ï½÷í·ßÖ¯_ÿoû›ä‡Òû!;;{Ïž=w°Á³:§N***Z´h‘œ5^ºÉ¸oÉ¡…ã¿‚M)g3Ïmß}^òƒÛÞ îzK£÷[~=d¢Gö½eQ •‡÷ªdºoîÙš‘ä0iÒ$u½C‡Ÿ~úéÙû᫯¾7nÜjíŒ,gÎHlóUXX¸råJ’@rîgrh»½‡SÞâ¸Ó«ÏlL=k“vnKÆ9ûÌsÛ2ÏmÍzæ™g>ùä“ÐÐPu¯Þ½{ËÅûàÁƒëÕ«—øpUu¤|Ê”)/¼ðBÓ&MRRR6lØÐ Aƒ·ÞzËÙÙY­³ÿþnݺI#5òöö–SSÓGyDJ6lèäèXi“7t 00°cÇŽ².}–ú7ž©’’â'NäÎ_¿~=É 9÷39|êþo»‚¯=Nô÷)èW2Äÿä°ÀS²Œ<5RYN>÷VózŽÓ­«…'eå•^núIo«DY^nÒþÕ–Ÿ R*¼ôA»—š´ïc“:Àyý»>üX=u¯—>hÛ¢Ÿ±ZçåfŸ<ñâ_ÍsîûKO«„ -«uôKÚ[í=v´¢JKš6m:fÌY‹‹{üñÇûýðƒ¬oÞ¼9$$$77·GÿýïÕÊjN011‰‹=räHUuž}öÙiÓ¦%&$´jÕª~ýúß|óMttô Aƒä‰Ô:íÛ·ïÛ·ovvöâE‹þýïK‰Ìû? •™) VZG¿±º´lÙrîܹò\yyy7 î¨lÊ?r$÷Ð![[[’@rîgrèâóÖ–c]ÝŠûx—üà{ª¿ß©Aþ§œ¨[N?ûV‹÷¿/+åKo» ùÖûÜÌY}øÙGyø½ý®^Ö;•rs—¡ºÝ?m/ÉA­óâíšõ3–ÂÞ¶éRçˆê=ÅKe%¬³ÖŒL诽öš\Ú?ðÀ]ºtÙ·oŸþÖÅ‹ËÖò‰»_¿~7¶P¡ÎÀÕõ±cǾ÷Þ{2ÅËú–-[þñÈŠF£‘±X[[GFF>øàƒéééRþùçŸ1Bݱª::ЦMɉ‰‰•ŽKbCÁ‘#ùùùEœœœHɸŸÉá»À–…½¼J$-Œ>36øìØÐÒñ¡¥Âd9'ËóÿnѼ÷Ä á×ÊòírùÖêz@}8Äe¿<ünePOË ]ùAµ¼‹™ÃÃ×S×_iҾ̀Yʾ+ü¤Nßqå­é·\iI·­Ž×L³fͺuëæéé)³sy¡LôÍ›7_çÕW_U ?þøã©S§Ö¼Î„ Úµk§®oݺU’ƒ¬ìرCÆÒ¢E‹Ve¼¼¼¤\’ÃÈ‘#ÕÊUÕ©Ðäää:<ôÐCcÆŒÉËË;VFÿöŠÄ‡Ã‡{xx€û•öìÙãï│Ãlmmú…wp*àZÒ”ˆsÓ#/G_4޾0+ö¢º¼ôvË6}'ÉŠIŒ²ÈÊå¾A_Kµäû>òp”ó®éa'zøŸ}Wúª;~9uÍ?¯§Öy­Y‡vƒgKá(—ÝRY6•·¯ßr¥%}œrŠjF’ÃøñãõKd:vuu•õÕ«WK*PËeâž6mZÍëLœ8±}ûö꺃ƒƒ$YIJJ’±lß¾½B7þóŸÿŒ5J]¯ªŽ~ãå$T<óÌ3‹/þEOaaáñã²— ‘ŸŸ g—.ê,™¸eú¾/ÉaïÞ½òMÔUFÃbº¹ŸrvFôÓøKfšßæ%ü¶ ñò‚¤Ë “//LºüÊ»­Úõ›"+²,P¿&üúÒ¿›7ù²ïœÈ“¦a'Þÿ¬ç+ï´œŸø›lúwû®/6nÒ{®}硦Ï7|÷‘zÿR÷z£ù'‡ý¤îÞ EÇç¾7Æ>QÖ'íØ#­•·\éÊP÷Ã'j¦yóæ’ôKäMFRAjjêîÝ»{öìY¯^=µ¼mÛ¶Ó§O¯yI“&IrP×%9¨ëRØ®]»´´4Y?|øpnn®¬HlÂò>TZG¿qáãã#Ù@ƒ aÑ¢EúCPC…D©päÈ‘ˆˆ9k¼tQ7É”-·Lß2‰ßûä*}ܲÿþ@]•œœl4!©¯ÏÉéQÌ~[œruéÎÿ-Oûߊ íªL­e†ve¦öµ÷ZË7ÚeÞhÚV gùxíÝVÿxìɇyìõ>4ñ=¸R*ghç…¶ìÖ_J>:ë{s›§^xÍR×Ô›-;~1ÊL­37ô˜<”6yòéz/¼º4ùWµÎJuÑÕÑ/™àw¬ü;·DGÿ{Y¿DýÙŠ uºvíúðÿ𠖖–O?ýt=¤P&î3fÔ¼ÎäÉ“;tè ¶ììì,É¡üä³Ï>{ðÁßxãgŸ}Ö××W*È›[ƒ ^yåww÷ªêTè€Ô—Äòúë¯ñÅÇŽUoy„P?8!g—.ê&™²eâ–é[&ñ{Ÿ$´È·s~~~AAÁQ ®Úµk×fÃΚ'^^ž®]½K»nvC¶v£nÙ´ïÚbµïuý’•‰%«’OWU§u·Þm÷Å{©Ëʤ“²oU-ë/ơŧoÏ¡C‡ä»^VÔÜrª¨?RQ¡0;;[m°š:ú t*žÒQßµ$<¦¥¥ÉY㥋ºIù!£ü|™¾e¿÷ÉA. Ô}:Ôa»wïn±*~Xài¹Ìß´_k{HkŸ§Ý–¯u(Ð:h ´NG¯[þ´¤¯É’î£gŒ]ëØ±ïЇyÔÄ%¬&{U_² þ|i]õÇïƒ:sæ¤î7AÉ{—œ5^º¨³dâ–é[¾î}rHHHÜÂ)@'Úƒæ¬\j›«Ýþ‹Ö½Dë}Zë{FëWªõ;«õ/Õ”*_ýÎiýÕåÏJ,£ú›ÎÿüÇÁ½§ÎZ—Výª/Y»ûÂ¥:Iÿoež?¯Ä§ââbKKK9k¼tQ—Éô-“8ɸ_߀‹-šl'±!ìª6âª6Z«,1†´8»ð¿ºêêÕ«WÊ\¾|9""BÎï]à‹äÜÇû~III£Fš²xuZnÈÅ«W´7.‘z˽/‘ä ­Û$6‡‡nÛ5hcLË€Á«ýedéW¾¨%÷±üƒ¾!M~nÒ/¤¦Ë€Ð¶ã¾Y•5Åë°ŒNÆ(#åtÉ·yÃ!é`Ñ–ÄcÛ$ŽÝé–z4öÐÙ¤üRC[ÖŤ»¥—¸g”xèÏŒ“×/×ʥŽ´Çä⥾y]æ$|2+qŠWžŒQFÊm 9à6o8øf. =2tÛ®1V1Ïœ¼pù×+ÿÓË„3šÃ瓎\L)¸¸ó襴£Ó^L;¦,å+R.[“\LÌ¿uè\@öÙ5±Emgƽ*KÆ(#å¶p;ÒrOÈÅø$¯ÃÖG®öN:Zrö7qYqåÊ•«W®sù¾–‡Ÿößw.èÀùçC*KXÎùðå뎄\ù¦+ 9¨TÚÞ?»ÔkïYÛÔS}¬ö¶œ#c”‘Êx9é@rÀ-‹;P´.ö船ƒ×†8Fî:qòôùóç/\¸p±Ì¥‹¸¿åÃN¹í>ç¾çœÇÞóž{Ï{éï½ç·Æå¾ôæ;vQÔϽRáœÛžs®»J2K­’NÜ‘ÿæ°H£ŒTÆËI’ÃWTTT\\'nkGì-´Œ::Ð9gèÏnq{¤ä¬Ni¹sº/çΕÈVGGÇ©S§N˜0ÁÖÖVv)ßäìì¼æç5ÂÇǧ¤¤¤Tß íÜlù÷^%™¥Ž™¥NY眳ιd•º(_Ï}Þgäÿ=úd‡o¨%ÎYJ`š[3Jmwžý9áô×ü†#£eŒ2R/oðWM!!!·9j™Ë"##ov¯¶mÛΘ1£Ò.­Òs—NÖ­uû–“çƒÃ×KrÈ$…§N:}úôùŸ²\'//¯cÇŽo¾ù¦‰‰‰™™Ù|ЬY³={ö¨õ[´hñî»ïöèÑã•W^yôÑGƒ‚‚ªjçÊ»¸[ïEM¬rNK 9@ÝLìÝ»÷³Ï>ûÜsÏõéÓçСCjù¾}û¾úê«§žzJ.ugΜ٬Y3µ\*/Y²¤|ß~ýú½øâ‹=ö˜TS -,,>úè£gžyæ“O> ½…äðÅ_lذA]_·nt£ü©¥q™X_yå•Ö­[—7~c7LMMyä‘zõê5lØÐÑÑñÆnW:äªÚ—’aÆÝlrc!ÉAãAÜÜܼ\ Êÿå«<îîîò2°±¶Ñ/÷óó“B9RÖ¤I“Q£FíÜ™ºrÕÊ¿ÿýïRXi;2„[(7Ú\Øß§x€Oñ ß’~%ƒ}Kû• ñS¾VX¤‚Tëç]ü½gñWÛ oÊm83™äu39têÔ©C‡ :íÛ·ÿì³ÏÊçúvíÚ¥¦¦îß¿¿K—.2 ߘ$¼ñÆ...………忈ÛÞÞ^®—?Þ«W¯=züirj!:årxûí·Ëgù… ¾ÿþûå<ÿüóÇïÖ­[×®]«ê†\ã˸† "—žTè@5C®´ýÀÀ@™âo69ŒÝé™!ÈÉɹ6ƒ«S·J÷_kkky„‡‡ë—Kýx`Á‚òH’ÃÿýßÿÉC©¶mÛ¶\Û¹µr#›¢¼K~ô-éïwR–Aþ§ú,[dýTÝú_YJúùœüÁ«¸·$‡EM¬7œJr€:˜ÒÒÒ¤êUùIÝçåaff¦YqrrRË·lÙrcrعs§Ô©æÃË—/ýõ×ÿ49¼øâ‹éÈ%ÿŸ&‡ï¾ûN]_½zõË/¿\M7*ükEyªrUí߬òä0Þ&Ú%*óÀd²>\™ÐÐPyöÅ‹ëÊùUs‚¬Kr:t¨ŒñÕW_8pàá;êù­ÅÃO <5"èô¨ ÓcƒÏŒ :3:XYÆ„\[,›NIáA§œä{²§gñ‡vù Ív’ &oooéÆÞ½{Õ‡»wï–‡¾¾¾ê óòòJ“ƒºï?° “r‹->Ðyíµ×þ49Üx¤šäPÞȆ ^zé¥jºQUr¨jÈUµËÉa‚mÌö謜œ™£å|9r¤àzR"þÏ?ÿ|·nÝôËçÏŸÿè£J˜‘uõs²²cÇŽ¿ýíor"*mGu³åï8ŸœV:)BY¦FœÓ-¥ :~÷Ïçüóùúòõµ6_M;=9²tJDéİÒñ¡gFŸùÑïTÇ­GÎÏ 9@L‰‰‰Ò OOOõ¡LOò055UÿÇ?þQ~‹~ùòå7&õ¾„lÒo0%%塇Rw\»ví-'‡E‹©ëS¦L©>9TÚj’CUC¾ãÉaÒ–¸±»%6=zTŽçñãÇ uŽ—Q×׬YóÏþÓÙÙY-”ÌöÌ3ÏÌš5K­Ð¬Y³±cǪ›†.›222*m§ªö«)oï~ffÌ…Ù1Lc/ΉW—K£¶íüû£õ|äIY†nŽ•ÂŸâ/šÆ]4‰¹h}A"Ĉ Ó_:m¸hÉê`r(..nÒ¤I¯^½¤A¹þýæ›odªRŒOf^™²7nÜ8}út™Êeκqún×®Ý;ï¼!ëÉÉÉÒZ`` $‡´´´ìììÞ½{Wúéˆ?MÝ»wÿî»ïdj[·nÝOúhË–-Õ«o¡NýR2iÒ$¹.~å•Wnœ¾÷ìÙ#¥M™ø^~ùeõ³ˆ]»v}øá‡_xáKK˧Ÿ~ZýäM%Ÿ_|Q‘¦~úé§?M•v#..®AƒÒmõˆþ¾U ¹ªöåb¿[·n7›f8%{%î—Ø …gΜÑÿ5’g¯§–dff¦§§Ÿ>}Z¿¼ªúw¤¼oȯËÓ~_•©]©]³KY~Þ¥]»[»2åbÃÖŸYÄŸþYW¸&Kk™©•jRÙ"åêœøK?zµX½äµ%9ÈõïÿíÓê VµµgÏž;w®jkNNN…}¥5õÂ_ý‡õ[è\WÓŸvC UýÖëê‡|Ëâ­)êrp²C²kܾÂ%çÏŸ¿téRÙŸ½úÃoeîWùØ8í¦}ZëƒZÛCÚ-¹Zû<íÖÃ×¾Zí½¤®K¹Ý!­MŽRM*¯Û«]²óýÝ‹¾Z¿KÆ(#åïVÀM%‡šßÄ6„{7ÅÌÌl„ ›6múñÇyä‘ò zêßÊœà‘ûãÚp»Èì£%gÿ÷?CüÛbÞníö_´;Š´ž%ZÏ“Z/Ýâ}Jë}ZësZù*¥ÜC–b­[‘Öå¸Ö±@»vïÕn…_¯Š”1ò·2 VÜs¸7ÉÁÇÇÇÄÄä‡~˜4iÒ½ù‹ ¹Ç‹}3 „ä÷\7Ã)9<»øô¥«¿]ýÝ“ƒíImð%mÈoÚ°+Úˆ+Úp½%âªnÑ­ËÖÐËJ5¿ó¿»•\]š~¾¿]–ŒNÆ(#•ñrÒ€ä€[Vx¢$é`‘\ŒsÝ×}‰ß°µAv‘Ùq¹¥©G/Ú²îè…Íù¥vG/ÔpÙt¨Ô,<§ïÏ¡2.ŒQF*ãå¤É·yÛ!|Ï/«" ƸìýÆ2ªûBÏîæN_›m«í‹ŒBÆ"#’qÉèdŒÜp’îÈm‡ì#'"öÚhŽÎ><Êe_ÿ­{úl1Ä¥¯ýÞšW–QÈXdD2.Œ‘@rÀ r=žt°È7³pKâ±µ1r‘^Û…ŒEF$ã’р䀻‘ÒrOÄ(’‹ôÚ¾È(d,d 9’ 9 9 9ÉÉHHîxrÐh4$jcrIüÞ'‡ªî9DCb ÷HHHH€äH€ä@r€ä@r€ä@r€ä@r$@r$’$’$’$’0ää ÑhHÔÆä “8÷€!ßs 9@r 9@r 9@r 9’ 9’É’É’É’ÉÉHHHHÀ“ƒF£!9P“ƒLâÜs†|ÏäÉäÉäÉäH€äH$H$H$H$@r$@r 9@r 9@r 9@r 9CN†ä@mL2‰sÏò=’$’$’$’ 9’ 9 9 9 9ÉÉäÉäÉäÉä 99h4’µ19È$Î=`È÷HHHH€äH€ä@r€ä@r€ä@r€ä@r$@r$’$’$’$’0ää ÑhHÔÆä “8÷€!ßs 9@r 9@r 9@r 9’ 9’É’É’É’ÉÉHHHHÀ“ƒF£!9P“ƒLâÜs†|ÏäÉäÉäÉäH€äH$H$H$H$@r$@r 9@r 9@r 9@r 9CN†ä@mL2‰sÏò=’$’$’$’ 9’ 9 9 9 9ÉÉäÉäÉäÉä 99h4’µ19È$Î=`È÷HHHH€äH€ä@r€ä@r€ä@r€ä@r$@r$’$’$’$’0ää ÑhHÔÆä “8÷€!ßs 9@r 9@r 9@r 9’ 9’É’É’É’ÉÉHHHHÀ“ƒF£!9P“ƒLâÜs†|ÏäÉäÉäÉäH€äH$H$H$H$@r$@r 9@r 9@r 9@r 9CN†ä@mL2‰sÏò=’$’$’$’ 9’ 9 9 9 9ÉÉäÉäÉäÉä 99h4’µ19È$Î=`È÷HHHH€äH€ä@r€ä@r€ä@r€ä@r$@r$’$’$’$’0ää ÑhHÔÆä “8÷€!ßs 9@r 9@r 9@r 9’ 9’É’É’É’ÉÉHHHHÀ“ƒF£!9P“ƒLâÜs†|ÏäÉäÉäÉäH€äH$H$H$H$@r$@r 9@r 9@r 9@r 9CN†ä@mL2‰sÏò=’$’$’$’ 9’ 9 9 9 9ÉÉäÉäÉäÉä 99h4’µ19È$Î=`È÷HHHH€äH€ä@r€ä@r€ä@r€ä@r$@r$’$’$’$’0ää ÑhHÔÆä “8÷€!ßs 9@r 9@r 9@r 9’ 9’É’É’É’ÉÉHHHHÀ“ƒF£!9P“ƒLâÜs†|ÏäÉäÉäÉäH€äH$H$H$H$@r$@r 9@r 9@r 9@r 9CN†ä@mL2‰sÏò=’$’$’$’ 9’ 9 9 9 9ÉÉäÉäÉäÉä 99h4’µ19È$Î=`È÷HHHH€äH€ä@r€ä@r€ä@r€ä@r$@r$’$’$’$’0ää ÑhHÔÆä “8÷€!ßs 9@r 9@r 9@r 9’ 9’É’É’É’ÉÉHHHHÀ“ƒF£!9P“ƒLâÜs†|ÏäÉäÉäÉäH€äH$H$H$H$@r$@r 9@r 9@r¸ÛÉ2’ 9€¿Xr8|ø0É€ÚE¦ïû’ÒÒÒrrrHÔ.2}Ë$~ï“C^^^VVVnnî‘#G €Á“)[&n™¾e¿÷ÉAH²³³w€ZB&n™¾oyê¿Íäê’ 9’ 9’ 9’ÇÉÉÉ€äH€äH€äH$@r$@r$¨³ŠŠŠ""",--Ç?hРüX¦ŸN…‡åî^¹ú°ÿþ :tèäÉ“W¯^-”®Ö£QLJ·_ $¸%%%QQQ“&Mš={vhhhqqñÅ‹¯˜K—.IÇ"##ÍÌÌ&Nœ(+Òíºs4êøðïÞ¡ 9ÀÍ:qâÄ–-[äÒòСC¿ÿþ»Ö€ý®#sGnnî˜1cììì¤óuçhÔñáߥCAr€›"×nööö3fÌ8vìØo¿ývåÊ•«W¯¨ËW.ëH?å*8//oêÔ©ÒyB8u|øwíP æJJJÂÃÃå]7!!áìÙ³—.]úõ:þ¼¼íÿi5™ôJ'e¯ .””œLNN666–!Ü‘ûö÷÷hüņ_Ók‡‚ä5wäÈ‘Y³fyxxä8púôé :¯'ºå:¹¹¹k×®•k½ ·¡}ûö&&&Õ×Q;PÖ“?œ;wN.0³³³½½½çÌ™#¹G£™4§M›6qâD;;»3gΔoÚ¾}{RRRùCÙš’’R«‡/ƒuss355>|ø‚ œœœ kxroÊÝ;$¨!y¿ Z¶lYjjêÁƒ‹ŠŠJKKå}ø| LŸ>]Þle¢9ÔÉåf÷’–ž+•‹âãÇïÛ·oçΫW¯¾Í›ö·s4ô=z´S§No¾ù¦L¦sçÎmÒ¤IóæÍ÷ï߯nmÙ²åüùóÕõyóæ½óÎ;òDµwø2MwìØñå—_–˜´jÕªqãÆ½ýöÛ·|rïË¡ 9@ É'ï´r¼{÷îƒÊ, W‹R~öÌ™³×‘‹æ3§õ”?ÿüó29Ê”!õË˯«¤§ªòvíÚW_ÿŒNéõ½)))‘ÎçååÉ'—Ëäµk×JÉ}9F7lذ×^{-??_-ÿå—_š5kÖµkWuk‹-暛ˊ<Ñ¿þõ¯ôôôê’РA¯¿þºtC¿Ï§Nªáɽ©ò»w(HPCòf»`Á‚¨¨(¹^ËÍÍ=|ø°ÌòÆ{ìø±ÂÂãò?å‹âرòåØ1[™õüüåýÖÁÑ¡¼¼gÏžóæÏ>|ø³Ï>[¿~}[;ÛêË?úø£)S§Èzïï{O˜0¡¼ÑcFÏ6]þPþs\z¢ëÈÑcÒ»£ÒÉ#ùùÒaé¶t>66vÉ’%2œûr4Žé=ÌÞ—ýÐC 2D¿Üd¶‰¨˜ØYoÚ´© -:&ú©§žruu­ªëÊ uø{³÷þío[ºli¥Ý.?¹²ìÞ³[^röŸ{î¹^½{ÉŽj¹·w‡ž|òI‰ ™Y™jaÖ®¬.]ºH¡DÓ;v܃CAr€’k4KKK¹ì•wZyï½6M”½;WãÓO?7nœ¬È<(WÓååüñ‹/¾8wî܈ˆˆ¾}ûÊä( V_>uêTY‘«Ý'žxBú ëû÷ïä‘G"##Õ6Ñ) ݼ¥›3t³†ì’“““‘‘!Wš2œûr4ôùû+ijëÖ­ú…aaaRhcc#ëÍš5?~|ƒ dš®Iƒ†<|u°ááá•n-?¹â“O>iß¾}ŒN»ví:w·jÕjÞ¼yòÉÉÉê]!Y¢_¿~°°°xûí·ïÁ¡ 9@M”””ÈÛ¬­­­¼ÍæååÉ{¯¼«ïÏEEE¿)_+•––öàƒ&&&ÊúŠ+þþ÷¿ïÙ³GÝ$“Å„ Ôu¹”wc™\ª/Ÿ6mš¬ÈÛþã?¾aÃY_´h‘L(EÕ¹6ƒ¨‡ì+زe‹ ç–Äà–F2ºøøxýBiêX¶l™¬KrQËtvv.ºE†2|u°6*ÝZ~rSRR¤Ú¶mÛÔr{{{y(¯"Yÿè£:uê´sçÎò½$BÈVN\\\hh¨¨]»vÝíCAr€Nòž/Âò5??_Þ{Õi¢X§¤j3fÌxòÉ'‡ëüðÃò–;wî\uSÛ¶mekyÍýë_jX>pà@¹Ø”•·Þzkݺu7>oy¯dåĉê´!žr­š™™)ó‘ äv¦Î[;Hf²jÕ*ý¬¬,)tss“õæÍ››™™Í™3çÑGˆˆ¨yË8üØØX—ŸŸ_¥[ËO®———T“9]-—$ }}}Õ'íØ±ãC=4~üxyÒòÊÛ”¹±ý;~(HPÃÉBf4™ãd²SoË›°ú~[þ!7uE]WWä½ú¥—^9räò2;wnÔ¨‘ºUýPœº~ðàAy7–·ñ–‡‡‡Ë…ùúõëëÕ«'Á©2>z§Rû/–šr±™˜˜¸zõjÎíL·p4n|(³Ø /¼ðõ×_ë—/]ºTrBNNެKr077—IJÏ>û¬Ìq•¶S+†/Õž~úiȩʔŸÜ¤¤$9ãžžžj¹$(y˜ššZ^S²„ÉeË–ÉúÎ;e«»»û‡åî ’Ôо}û,,,¢¢¢ä-Wý³Aê'ØÏVÍÕÕõ™gž‘üP^)ïºAAA².“…\BÊÔ#oé2?Ê´"’Õ—Ïœ9³¼©wß}÷ŸÿüçèÑ£«zöÒÒÒòÕKWOê~–PšŠ‹‹“ÈpîñѨԦM›dêCID2-š™™©•Ÿ­˜;WV¤ýÏ>ûìÍ7ßÌËË«aË8| >øàÂ… åÌÊCõgFdö×?¹RØ´iÓÞ½{KWå5УG‰OjËòD²Þ²eKÉWj›ê‡"vïÞ-ëê¿DÜíCAr€’9këÖ­2ÇÉ;­¼ñÊ›°úóûÕü6ž®]»Nœ8±Báûï¿ß¯_?õ—ÿ|ùå—5zùå—•¾ð÷/ÿOU•ëÿ² åË—«ÿþ§¿HýY~uþ•ky¹h•ÈpîñѨŠÍSO=U¿~ý† >þøãr5]ÞŽL‘ ,P×e‚–CצM¹@¾©ö jø6l((aI=¿_}õUFFF…“›™™)‘é‰'žxì±ÇZ·n••¥–KpªW¯ž(Ù«ü äææ~ñÅH4hðÜsÏßíCAr€’™+>>^ÞÞå]ýÍ?/^ü­Lùߨ¹:˜ššþú믇VWpõåÈÕ¢\¨Ö䉤éªL2н{÷Ξ=[ýP¢á éavv¶ôíÒ¥K¿Ýi8|™îeÇjN®8~ü¸´\¡PýÄ•¥K÷æP †äûСCÖÖÖ2eË;¿\¸É[ñÿþ÷¿[þó…;v433«y¹¾+W®¼úê«5y"é¤ÔWaãÒ¥Ke2ÛüÛ wühÜ=u|øwüP æNœ8‘žž¾páB™/äJM®+oçmÜÖÖ6""¢æåúòóóçÌ™#—5Ÿ2¤ÿË–-“ÎËîÈ›¾³GãnϘuyøwöPà¦?~<>>~þüùãÆKNN–ùBÞŠÿýwÜ&¤cÒ½«W¯¦¥¥M˜0Aº-WOr]8u|øwéPঔ””È|‘ššºvíÚ‘#GÊ›ð–-[öïß_óËÿ{FºtðàA{{{é¤tU:,Ý–Îב£QLJ÷ÉnAQQ‘Laaa?ÿüóÔ©S‡ Ò¿ÿ ŒtI:&Ý“NJW¥Ã·ù±ÀÚu4êøðïÞ¡ 9Àí\oæäädeeÅÅÅø éŒtI:&Ý“NJWoó3µëhÔñáßÕCAr€ÛŸ5ä Ný‹BEý±¾»:còѨãÿ{‡‚äH€äH€äH€äÀq$@r$@r$@r 9’ 9’ 9’ÉÉÉH€äHÀ0“À}ôÿÔ g endstream endobj 594 0 obj << /Type /XObject /Subtype /Image /Width 702 /Height 603 /BitsPerComponent 8 /ColorSpace /DeviceGray /Length 1889 /Filter /FlateDecode >> stream xÚíÖKJ›…ánÁ¹£Ò‰#ñ‰!F ñóçbîFDDD¢&ÝCëŠÜCëNÚÚiçÖ¯}ž%ÞÁ™øXùòýóí)ù41™<[‚ˆž“É©¯f ¦§©é+ÓËôŒˆjfÖD5;g¢š[°Q-,Û€¨–S6 ªTÚD•ÎØ€¨2YU6g¢ÊmØ€¨6ò6 ª|ÁDUزQmmÛ€¨¶‹6 ªbÉDU*Û€¨ÊU%±Q%5U­n¢ª7l@T¦ ˆªÙ²QµÚ6 ªvÇDÕéÚ€¨ºê%n½=U¯o¢ê«—¸õîÛ€¨öÕKÜz6 ªzQ/¼}½6 ªõ¢^P/¨õ‚zA½ ^Ô êõ¢^P/¨Ô‹zA½ ^Ô êõ‚zQ/¨Ô êE½ ^P/êõ‚zA½¨Ô êE½ ^P/¨õ‚zA½¨W½¨Ô êE½ ^P/¨õ‚zA½¨Ô êõ¢^P/¨õ‚zA½ ^Ô êõ‚zQ/¨Ô‹zA½ ^P/êõ‚zQ/¨Ô êE½ ^P/êU/êõ‚zQ/¨Ô êE½ ^P/êõ‚zA½¨Ô êE½ ^P/¨õ‚zA½ ^Ô êõ¢^P/¨Ô‹zA½ ^Ô êõ‚zQ/¨Ô‹zÕ‹zA½ ^Ô êõ‚zQ/¨Ô‹zA½ ^P/êõ‚zQ/¨Ô êE½ ^P/¨õ‚zA½¨Ô êõ¢^P/¨õ‚zA½ ^Ô êõ¢^õ¢^P/¨õ‚zA½ ^Ô êõ¢^P/¨Ô‹zA½ ^Ô êõ‚zQ/¨Ô êE½ ^P/êõ‚zA½¨Ô êE½ ^P/¨õ‚zA½¨W½¨Ô êE½ ^P/¨õ‚zA½¨Ô êõ¢^P/¨õ‚zA½ ^Ô êõ‚zQ/¨Ô‹zA½ ^P/êõ‚zQ/¨Ô êE½ ^P/êU/êõ‚zQ/¨Ô êE½ ^P/êõ‚zA½¨Ô êE½ ^P/¨õ‚zA½ ^Ô êõ¢^P/¨Ô‹zA½ ^Ô êõ‚zQ/¨Ô‹zÕ‹zA½ ^Ô êõ‚zQ/¨Ô‹zA½ ^P/êõ‚zQ/¨Ô êE½ ^P/¨õ‚zA½¨Ô êõ¢^P/¨õ‚zA½ ^Ô êõ¢^õ¢^P/¨õ‚zA½ ^Ô êõ¢^P/¨Ô‹zA½ ^Ô êõ‚zQ/¨Ô êE½ ^P/êõ‚zA½¨Ô êE½ ^P/¨õ‚zA½¨W½¨Ô êE½ ^P/¨õ‚zA½¨Ô êõ¢^P/¨õ‚zA½ ^Ô êõ‚zQ/¨Ô‹zA½ ^P/êõ‚zQ/¨Ô êE½ ^P/êU/êõ‚zQ/¨Ô êE½ ^P/êõ‚zA½¨Ô êE½ ^P/¨õ‚zA½ ^Ô êõ¢^P/¨Ô‹zA½ ^Ô êõ‚zQ/¨Ô‹zÕ‹zA½ ^Ô êõ‚zQ/¨Ô‹zA½ ^P/êõ‚zQ/¨Ô êE½ ^P/¨õ‚zA½¨Ô êõ¢^P/¨õ‚zA½ ^Ô êõ¢^õ¢^P/¨õ‚zA½ ^Ô êõ¢^P/¨Ô‹zA½ ^Ô êõ‚zQ/¨Ô êE½ ^P/êõ‚záÏz6 ªzQ/¼}½û6 ª}õ·Þ¾ ˆª¯^âÖÛ³Qõº6 ªnÇDÕi÷‡GÇ'§gç—W×7·wÃáýÃãh4†wa<î‡Ã»Û›ë«Ë‹ó³Ó“ã£ÃA¯½¸¼’ά­ç ›ÛÅR9©Vë½f«ýKÞ…×[ͽF½ZMÊ¥âöf!¿¾–I¯,/Î/¥Ò«ÙÜF¾°µS,íV’jíµßfëwÁð÷µZÍ×vkÕ¤²[*îlò¹ìj:µ4ï<À?àÀÿê'òÑ endstream endobj 598 0 obj << /Length 1333 /Filter /FlateDecode >> stream xÚ…WYoã6~÷¯ö‰Ö IÝEQ Ùv‹tm»0ZM[>`[r%'Ùô×w.ÊTì d’Ùá𛋹On>Q©ËÌeÑ|•&Ê]¬M–Fóeô—úsZĪ}œÎâ4Q‹ªáIµŸZÕ·¸HUóãtærUÃl±…Ÿ|/ÌŠËNðá²´ñ4YRô_Ý3uÕvrÛ¦A8ôŸxkç4øÓ¿GJIz54|HËLÈÅv>{+6¬¦Áx‹Œ<¢)tD¬öDo‡òz:KM©> lK7mѰš…Y%.ÿžÿ™hf­.SÁ¯GE‡©+Ô#^µò(´„¤SÇ_¦ê.€‰qª]ñx‡Ö‰VYº{ŽÐXµd¦¢´!¼Ö5“Nþ–<Ý•7Ó+¥|d…~ò 6Ú-Ú²æó–‚991Ô°„âÒbK¼L(^Ú˜ÂÇô—+}J»¡Í¼÷Pq°dJ’, õBU,@°€…Ø´â•ï ¹9v¯ô\~‹Žæé^±¢hµ”œ[¡Í…~iÿØá{Z_WÞÉö× €K¹yÑ£ðSõ¸¸¹ãóqË+í•L²9·ŠÒŽã$p8#³¥ú~¾šð­óæØ >(öĤì[•j!…¦´xû±ÕACâ_Š-ÚÃrlÉW¡\ú±¢—P‡£ axì/Þq٫͹ùl¨ƒJÁ;¯t3`GEb² éŠôåùÒ´RïQ±+‹qÏ{UCð€9Ì?l9{y«+Ž„Ç|3®»CkðŽ^ò G>Øx. Hߟ|»sUÜKPì¤"…˜mþo®$ŸùŸ¬»,(w±×[b-©Ô¼Vdé)Ð @;Þ~Þ¡&¥<¬E°2Xp¤³åð;ax xå[z‡×ÿNx]Gé·Rp,oì:~Ê]Ùy[&¾¬+Îd:µø F/Å Ûš$þýÔòWJ endstream endobj 587 0 obj << /Type /XObject /Subtype /Image /Width 700 /Height 603 /BitsPerComponent 8 /ColorSpace /DeviceRGB /SMask 600 0 R /Length 17904 /Filter /FlateDecode >> stream xÚíÝ\×ÞÆqrÓÞ›\[cc7¦Ù5±EM¼±$7ͨ‰±·Ø Åö^£¨( Š‚HïU`éEì‚ bŠÆ÷ýïlVZ6bù}ï|¼³gÎÌž93;ç™a!FF†š;wnxxxjjêI=)))óæÍ“À ÿîÝ»÷àÁƒòo"€%$$''Kf JJJŠ(‚DÉ 2 P,É qqq1…‰ŽŽŽˆˆ rupX=t˜YÛv3š·É´u;y)…²H*Hµ¢VŒŒ óöö677_´h¡bÑ¢EòR e‘T(fuåÝw¹ì½lÈ'·i?¡i»ß1¹õè%C¤°øw—d†¨"Șîççge6ǸÞ{óš6ÛÐõ«Æ٠¶¡K÷¹Mš×k ‹¤‚T+tuÐCBBlmmçλråJ‹M¶¶Ûl·ÛnÚd!/¥PI©VÌ»ÏßhÖhDÖÓ}³ºóЭ¿ ÜòS÷Zðш:²¨˜wJ“pG› 6Ž~tDɄڬZ0cÆŒ¥ì#è àIÌ *B@@€ÕìÙ&5j¯oðQhç.§W­¹ž~;5õô²¡ÿ»¾Á²H*HµBWÞ±cÇ’%K,,,\\\"Táî?xp¿Jáâê"ÉAI©VÔ»Ï_oöáÐw>ý~ï­ÿݹòØÅCûÎÄ. œñU›f ÞZC*õî(WÜ6Mo_7÷—€Ú]üÐ6°¸ï—}çÛ•¸e£c- ­l7´Ý—óíJzn;¯èõå·¹zõ3û}[ð;D¡'×m&½Ø²SK£“üþùêanë{=Œ^ýýïë¼~…Ù¨^íë~9ëžò /Ân{{³úؼ[7¹zÃ̦mþ1öÞû{¶;n™ÙèÓäêõe‘Tj…®îáá±zõêmÛ¶y{{‡„„DFª“’’"##å¥Ê"© Õ ]ÝÞɮŰúŸ˜6øj[ÓÁ.]—F{§8ì>´eVðˆ_œ;vÛÖDI©Žò-Ôe¹f˜ÿb¼•½ýŠ™½Zû]×f‘‰é:Gƒ70£¾QýßlKÜÆ€Y­ŒZMÛn`Ãl[Ͱ(é»n!ûÔàýÇÿŸ’…¾·ó±–û»ºä=é=¥¾Ñ'3]=šzô@äô†Ídéc[ßG¹›÷±þ-/ƒ¶šåÇO9C‹°~Äè5µê~­îÕ—jÞ«TGݸú§~ê^¿¨}"/¥PI©Vèê666’ üüü‚ƒƒ%$(ß^P¾á /¥PI©VèêãødtÃ?íïÓahp—É?-Nüm~ü˜ñá=uîëÓAI©ŠòÍÇzºœÆ–ªý qqIÉNŒ(²nÀT©:i‹Á K>rôȾØ|•ƒüýÿš 2 ¾3Zµœº-ÔÀ†…Å9z49&¬„=ãg7S¶:Û5aÿCG£lZÕ´*è1–|]]xOþA[;}>Óî7à«í©Û|ånÞ'**2vßA÷9_5˜éÏO9߃‹`Ó±sHÙk«_®©~©¦úÕzê:5SµzjMaíìWêJ›Žÿ-tõÍ›7»¸¸(WÔ={öH>‰Ð’y©\l¥‚T+tõͺ}¿®Ýˆ°îãc¾›œÐÃdoOÓä_f$÷™–ÔsRü㣿±§û·ëÚIµ`”o>6S4þ—oÏ+Éý7Ëm”Û¼ÚÖ8J¥±r»]·¶‘Q6lÄËì«Æ_ͰÔÌúZö¨ÝfÂâù}šh·Ñf´½—£ñ×Êö;Ïßî•[ÿë&º-o7ëQûëÚ¾Ó[µ˜¢-°ݹIîíg›>掅4Ì×ò‡Úµ-•mïÞhÖ9ïϯõ0^ã«”jÚÓdôâÅÕ}lÒÇ|w@þžÙ®yÎ0ÅÆCó"Ü}˜¼øÊÔ[Ù£É׿÷w«m®yß5Æ}òÞ¡³ÙÆÝ¹W€=dgÌÏk¬Yî‚`¯å£s÷¼ÍðÅ^zí>Cé’Ñkòwµ^O;šçvA“>Ýr›½}ù„¼~1Òí{¯¹] wîM̶ûÛfã5f5G}¸¹þ&|·O×ö†Wq½§ì…ÙŒ¹Íë±ÆQÓß¾öó›Ôî‘×(9Êr`mŠ?£4çОð°Ðí’Ìð჊§‚œîEØÝ°É‘š¨ßýH]¿±ú£–êæmÕŸvP·î¨nÑNÝäSõÍÔµ©ù¡T+tuKKKM¤WÒ‚J¥Rž3ÈŒ’47w>>R­ÐÕ¿^Øa˜Ë×&I?›è»àpÿ¥G®L¼"eÐ’#çêoz ï´¤ÞC\¾þzA‡@”o!!»ûk/Üøm³ƒw^ñŽŸ5C¤™gD¨µYO#£:Ëœ<·Ê\ƒþ ìíí} ؈·I £z“¬5³^Ö_)£¶©…½…Ií|½ÍìíÍ5£d¿¹õ[ÕWênÕ¾ÐnË[›¶hf=mÆžïäè´ús#£fã6JYþ†ùZ·02šlí®YÓÚDóCüaK=CCÌ'iƱQ4ÛñÍmOlj«ím—j65vc¾žñÞ¦%gØú˼ÃZÍ“ùÏç9„z›vÒ®ù£‰µ­“4oÃ(ÍÀ9ÆÜ)4Ôsé0Í2kYe›‰òÝ—ZÛ[˜ Ó¾õÚ@Mý¶Ò¢Õ®š]hidôµéýö ]`nk¿Û7WÿÕ“Êõ[jê:IÖoò›æÍü¬¿”N²t²¶vðÌ=,5ûnôµ‰­½½‹OÀß·ÙÂÖÕ?¨`oLÙâQ\ïå•Y`ao­)72è _óî-7yæ;ÊÅœQ:Û¦Kf˜îÍOùHøÁ³iëã¶PÒ^Ý©‹úëÔ?õUùU=t„ºï@õ·?ª;wW·ét¢Q+m ]ÝÚÚZù½ QQQÑÑÑÊowÊŒ¼Ô|%Iû›Jµ‚z¯èö›ï ^‘:Ô<ýWëcìNM°;5ÞêÄèµi¿.Oºðð ñ>={-ïê‡r. lï¾¥crï|{OÝ(e®5ß:¶|ûn{G—ËëË­¯¹s`hÈÜ–F-íåô  üÛøùyÈH×b²•fÖÛª£lpOr|”*ÂAF–úÃÖ%'Ç«T{æÊÐÒb‚³R_¶¯Ô÷ó³Ñ -Ó=òm'0IqÑ‘ª°àü]ýWh÷èóM»í-çiÞm­¬ï¹¥»lªÛh {ˆ¨¨ð`ÿ|ûáðµægr×±ÇÇ¢Ø6¾-\Ú™ï+½¡ôj‘½§-³-<)Nö96ÈZ“”Øz{l•¼ÑÒÚ#wKº£\Ü•G{˜xð9ÅSA>>EðíÕçH«öš´ðËõ¨±êé3Õ‹—j¦YfêqÔ«¿ëu¤M¿Þ¿ºúÖ­[½¼¼”_¥”¨ •˜˜(ÿÊKå—1¥‚T+tõ –ƒÇ»öZ“:ÒâøØ§&º3ñÏ4óË4s=;Í6c‚Åñ1«SGŒsé5Þrà“°7>hÇЖš±qìúÝžÛfÝÿßT©ofãîãã:U®ð“6¸·©2ÒMÔ<1óñ°”q|ÊvoͼûfY:M·ñÕ¼p%/Zš¸kæÝ¦i¶o©loË´NFõ§¹iËÿÚŽãúÁ´cxíÚòO§ÜÊ÷7Lû^-5 Xô³l|¶_^m4÷Ñ×»æµg‡Þê–ùvÈmË4Íã„©+,--½÷ìßì›×È;üsWÕì‹ÑÀÕy+ùÍ–»öϦíÖ´¿…QýÞ¾¹åV£êkvS©¯ß³Ýg¹å럂{ôWÈÕ×[»ž4ÐRÖ÷Û°c^K¥¬Q¯UÛÝòmŸ·˜¸ùïÛÜr¦`!‡×m‹æ«Ú^-º÷´å“­mKîNï\1L6¼ÞÍÏe“æ±Õ­Úr— ßéý¿=£ŠiPæÈÁ½Ážž!}f ûU½`‘&'l·S»¸j&»j‹MêÅKO:p°T+tuÙøŽ;âââ”ÿÂ…’”ÿ–j~ä¼c‡æPŸï Ûz/´+cšÏùÙ—Ä^YseeØÅEÞçÌ2¦Îñ8Ö¦·TsGùf1{Ô°I‹¬líœlÕ|'ÍLN«×Áš[Ö®³·qp°³ø}Ùï¶Nîî.s4CvU¶N.¿ww'cé&XhjìÞ(£É„ŽšyÇ4?ŽØ¨]ÕÉXóÂØA3ï0Aî›»ü¶ÞÊbê5µ?/7vRêämGóÜÀèûµÛl×ϦýíÇévš ÷7l·…d† Ú÷Òþ¾ä÷ãI·Z5IólbðÆ ÏûÛ#Ûo¡kÏ_œ6iêìÌW|_eÏ #åÆ¿ö¤UVš}÷½æ+ˆVš%›5múvÜ"i”Ţњo ,´÷ñ Ún¬¹Ëï3u•ƒƒ­ÕúE‹Ö»ä럂{¤×~ 5OY¾ga+GÆfÕ¢e¶RÁÉbê¤Ù¶»<ܶjÜÏËófý>/®Í2@+}î^xo(½ZTïíÞ¨Ù·/†kΛU½ëhެ§¯»»ý2)þfÒb«õó»(_„ÈíÀ"Ï(Ívm­¬l¬æ “& [ceeeëÀ§eœî.Epss ³Ù5vÜ…+5$-xû¨}|ÕnîjÛ홫×Äü61bëV©Vèê®®®ÎÎÎNNN{öìIHHÐ=gÌ /¥PI©VÔ»ïôÛ>Õ®·EÔX¯Óf{.,Žº¸B¦Ð ‹e—¶Žn;n[g×ËýeŽÞSFjÆ›Zý—ço˜ãz¹§Ÿ²I³IÏ@ÕîÕãu k1xa°*${r·¿!_Ï8[i¾õg¼Áñþâü•C¢‚nñWG­Þä)囦H+:~×.·¼ãÈu{Âý¤<02ÌbJ¿:«ó$ûüíq)ÐÕz=àî¿mö_ïgôÅš]šÕÿ÷×Ï+zX¸ù¸ l“´ÕmÆæâÛl5½›Q=¥ÏóÛµIó«1J¯Ù{ŽºéŸõ~± ‰”íºúx.ì‘{Ü~š½l| ]yF óß:Ý÷SœZÃìø¸¢Œ“ywdL÷÷÷ß¾=ÆdFúf««ŽŽwÜ=î¸{^utJ·²Ži*‹¤‚T+juOOO™‘`§%3AAAR(‹¤B1«ËÆýw˜90iŸ4Õý¨™ûS»$ãµ#f8ôwðßQÌ»£üð MŒŠ Ò|?'".1jO€‹²ÀÃ?J^jþ΂'Fø»kN¹ÀmQDx ‡qˆOŒWhf]tÙíꛘá¯]Õ=Ló"\»`·ohTœvû‰±‘Q²r„ûýÛñ OˆÓVHˆQEiþ^Adx@þ†¹ÄëÞKÚ™ªÝøè0Oe÷ôÛ£ßN=®~á‰R'Àýþâ‚•=âã£"4=%=ê§”ZLnnÔÂ4\zCóÖ²_!yrVÅæö¬¬«Ý÷ûÚ³»@Wß÷¦^áñ‰qšÕ#¢c\s»TÛ陨`o×ü‡ÙÅ7Fª†ûßfÍqLˆp/ì;î\¿dåNW'Ž>P(É ;‹eoo¯ÌäÍõ¸%$<غü»o¿—c¹Úg¿ w'Ž>P(É öGó{èG2ÃE€¿Cfd@fd@fd@fd2 32 32 3(èìÙ³óæÍ›2eŠqé3|øðfM-4ScíÔTozJKZ4ÝÔ¼Ù¦–Í6µj¾¹u«Ím>±üö닆œ9sžÓ 3O00,Y²ÄÆÆæäÉ“999Üï–â½é±—|¸k×®UªTùøã§NÚ¤Ie©¼xñb¥NJJJŸ>}Þ|óÍÿüç?R-ß–/Ýÿîò22"bÛÞk¶{¯m»*XRçÃf_ úM™ÿ¢×ÐWß|Gêôº´AÓÖ*¿úÁ'Ͷ‡(kµùê§_¦,îôãà—+VÞ¤:ST)ÿfèä*U߬õ~“¥îI¿.ØôF:Õk¿7q­£RÇ<$½ùçÿ“¼U«¾ÉfO)ùqŒé‹ÿ~IJÞx·î„5…ÖÉ× Õ™Y6~ÚIæ¥ÍæÁiJë¤kV ×6ÅIZ¸º*êÊ¢°ËßïH7êäHfÈ ÀÉ VVViii'OžzÖÖÖÊKKKKy.3[¶lQÊ-,, fe]33³S“Ì0Øëò`oíä¥7(©Ú Y…7jV~§¾Ñ3ÏÔló¿~NúuÚŒ^Qáw•’7?nû^×·“¯Nï+åz޵Îǃün”²å¢êüÕí{½ñaë·›}ÞkK²R2Pû¦<5S_K}Ü.övÍúÊéÂÇ[O}ïIfÈ ÀÉ ÎÎÎÇÏM §OÖ:£§I“&#FŒÐ/Ùµk—|ô•— òR¶³{÷nýòM›6IfPæ[·n=qâDݺ~~~g 46àZî˜ý×|’jï5«ÛþÛ«|;¤è ¿š³ó†Í_¯×X¦ŠoÔP ßnÔ®U¿i†×iñó¤wštPÞëóŸ{ñß2óý2OÙ—7ßoùæŸ(SU~R§Ö§]›ô£¬XT| ¸ã@fþõìsÍzå•©-ÌãŸ=Òïê¿«C½¯HŠèår±õö³F?û’€ÇŸ8àéé¹ (Ǭ¬¬äS ™AÉ gµÎå9¯%™aäÈ‘çõ(Ï•—öööò2**êĉÿ÷ÿçàà ”/Y²¤råÊʼd†I“&ÉLtt´T–Eç <-ì†n2Ù£™ -y«aóOúLÔ/n—,qïîòò«i+½ñ®²J&íÛ œnxÖ}§ÔlÖQÙrÏÅÎ’dþWûý²/?-wËמzmºµê5V™/ªÎ»ÚçÛ‹_~÷{©òkÿým¥ÌOÝsÃ8T¦œÉÁ9‚®òÏàuùËçÉQãÔE¹%—,¾sf8xð ‹‹K@@@XXXP^y{{Ë]|FF†tÃô=M›6•Ì _"55jÔ£G´´´”””o¾ùFr…²Ö—_~ùᇚ››KBxï½÷^yåe•6mÚLž22R¶v¡X¡¡¡ó£oË4Oûo13oТ}¿Éú%Ã7…J˜´ûèT¯“»þüï U”Eµš~ÖiÈLÃët0µN‹NÊ–û®pyþÅ+u¤°v³“\Så¥iÈå™Áe¦ÍOã¤P׌Bë(×Õº1h®êÆÜ¨[ï|Ðò«‰+çi çFÝžyËTõÇŒˆ›SBsFú]ýnw¦Ñ¨p9jœº(ŸdÈ–[†oÄgf땼»d•#GŽÊ«˜˜ù œ:uJñ333³´ô?,’äƒöLžV­ZIall¬ä„Š+¾üòËÍ›7‹‹“BYQ>È={ö”’ñãǯY³æí·ßV¶&™aÊ”)Jýû÷ËKÙf•*UªW¯~æÌ™| r•X±W­™’4Óª$õJåe’¶ì4Ð8_:}÷Ü‹ÿW©ê[½L7½\ùÕÆ_ö’ u›wèò«©áu¾bR¯ÕçÊ–‡®õÌ ¼û쀳ï·íö¯=ûê;u*¼Zm”e¨;î«Z£^•7küºÁ¯¨:²ñ/5Õí…Ô©b•W«×z¿ýW‹cnÈ›®L¼·<ñÞÒ„?Çý¹0öΜÈÛ“Bsúz^62Ž•£Æ©‹òI†l¸åª%ƒøãÌ Täâ¦|ïëP^íÛ·/>>þìÙ³º_´¼¤uÙ0ÇŽ;~üxQK{ôèñù矵4--­˜uõÉõaãaµLÚõ'KVDem8ø§Ì¯I¼.Ó×)ªdMµ¥çòÕY¼ç´l°ø:úÛYŸ-“®pÃ!õúCjóƒêµûÕ«“ÕËÕs¢oö»úÌB9hû8uQ>É-· ß2ˆ?ÎÌ w.éééšï|å˜ÜòïÙ³G2ƒäÝŸ‚,ô¯AhΜ9ãÇ·´´ìׯßK/½äææ–]bÑÑÑ;N©õ'» õÓ]²=Cm+Ó õÖãj›tµÕ1õÆ#êUÉê±þW¿_-GSå– Ü2|Ë þ83Cdd¤d:åܱcÇV­Z•™™)C³þ×òæƒòóó355•À0yò䨨¨›C||¼W¶Ú3[íqMí©LÙê§¼D¦«j·Ëši÷EµÓõγšð0-ôúˆÙkä¨qê¢<“á[q2ðø?z , º}ûöÝ»wïhýYÊìÛ·oZ]ަмƒÿTÝQÜQïÎTÏ´‹ãŵ \¸È ÀyÊý믿®Zµ*%%Eƒºô‘†É )S°ÞôÔ—È¿!2sWrWíwãîÖ¤c“­‘#%Ç‹ª‚Ì@fžˆŒŒŒˆˆˆ©S§öïß¿_¿~}QúÈq‘£#ÇHŽ”/NZÈ À|Úpüøñ˜˜???”>r\äèÈ1â @fJIrP~• ¥Mî± ™™™Ì™Ì™áÑd†‹ ì 32 32 3¨TªB3Ã0PšÌ 2ˆ—†ç 7nT€ÒAÆåRû³ 2Jƒ:œ„à$,™áðDÉ'…N'!8 ËDf¸uûVá“âöÃ›Ø ,l’OÊlmÖ¬Y2/Ðlð ž„´yÇO_´h‘2Ÿ–žvêô)ñS–‰ÌpCÏ /¼P³fÍJ•*}ôÑG*•êÆã’““så•|Rtóýúõ›6mšîå¹sçÞxãË—/\«bÅŠG¥÷ðÐOBÝ•ð•W^éÞ½{rrrÉ·ÿ§«\kÕª%3ݺuëÚµkûöíÛ´isõêUÖS|–‰ÌpM|RöîÝ{éÒ¥¾}ûöèÑãÚcQ£Føøøk(¯ä“¢›÷ññ‘ó!;;[y¹nݺºV… :Dïᡟ„º+aVVÖwß}7hР’o_.¿º³Ú@aaa’[ôK5j´mÛ6ÖS|–‰ÌpE|Rdfþüùü±ÌüôÓOÍ›7oذáúõë•:|ð\ÉëÔ©ãìì\T›Æ¿ûî»~~~£FzóÍ7øáe©ƒƒÃ{ï½×ªU+KKKy9uêÔçŸ^JF]piÁ·ÃÓG>)ºùË—/ËuÒÍÍMy)7VÞÞÞ…žf’8 õå4;s挔¸»»Ë¾ÐÓ 0ü$Ô¿Ž;¶gÏžETööörºJá!Cä\UNàBOH¹Ž>|¸à­˜möë×OftM:zôhÕªUU*ë)> ËDf¸tñ¢n’OJppðöíÛå´Ÿmf&%áá³²êÔ®­Ô‘kõO½{Ÿ8~\yYhù”ÊÈ)ú/å´éÕ³§Ì$ïÝ+烜Efû’“¥P>'Oœ{;»O>ù¤¨‰‰Éð“P®„2²Ë©(盿Ÿ_Q'•\Ö䜔ù™3gÊø®T+xBêN×|4·©L:u²Ü¼™#õtŸ„e"3œÓ#·ü 46l˜££ãÙ³g¥$##ÃÇÇgÆŒ/¾ø¢RGÎù¸¸8Ý*…Vˆ—™ßÿ½sçÎJa“&M$?Kð~íµ×†hÉGC’¶,’Ì.3….Í÷vxúÈ'Eÿ¥î—_~955ÕÄÄdܸqÅœfr'(g©|.¤²”ØÚÚÊýZQ'`øI(W¯¾úêí·ßž?¾RR𤠔1]Yêïï/£¿ÌzBêN×|4·)<==û÷ïÏazêOÂ2‘Îë‘OJTT”î¥ ýo½õÖâÅ‹%BȵZ)”s>11Ñ k×®ýïÿ«Jfعs§¥¥e5ÜóòÉ'EH€á'¡îJ8zôh9¯ä”+xR¥¥¥I‚MJJÊÊÊ7n\Íš5•ò‚'¤þéªA3|›§N:{ö,‡é©? Ëîw r×­[WÆôüQ.à£FÒ}÷Ì 6lÌ ÔlÖ¬™ò;;»×_½eË–7VJ–-[&9sæºTÿíP¾~&Μ9#×Ò… ršM:õ7Þ¥³fÍ’K´²JÁ x€ï@ž;w®^½z&&&…žTrÕ’s¯N:RA÷}ÅBOHÝéšï‚fà6¿ÿþûU«Vq˜ødiÈ ×ÿŽä[ù÷òåËçÏŸ° ù\»v-==]þÕ•ÈŠ’«‹ZЧ›|R ©VÌi&vCN3 „'aÁ“*33S®öáááµjÕ*þ„ü§Û䠔Ó°Ld†?€'J>)tÊôI(×XÉ t#Jx–‰Ìð'ðDÉ'…N@™> oÞ¼™‘‘A7¢„'!ÿ]K€ÿ¤ 8 §æ¿kž´R’T*Ï(å Í 2ˆó³ ð·™ï3E9~üøµk׬Ž!뙡„™¡F~~~Ê|ÿþý‡ ¢+¯ZµjõêÕ«U«Ö¼yó+VüùçŸV< .\øä“O:wîÜ Aƒùóçÿ£:E•oÚ´é¹çž{Y«B… t22ÃCÌ Ë–-k׮ݭ[·tå;vì™{÷îÉvêÔ©3pà@+…¾}ûNžÊS8)—yI’±;vìÄ1Å#"WãvíÚµnÝúÝwß]»v­®üÃ?ÔýîCQuŠ*Ÿ6mZÓ¦M5j$gopp0Œây{{¿þúëÍš5+˜¶mÛV±bEI¤råÔ}rÿþýrvÉÍT½zõ þD xZ3PJ¤¥¥ýíï¬U§`¹ÜÎ ¦â3ÃíÛ·ÃÃÃçÍ›wõêUÆ2˜È 2|Ë ^Úž3œ8{Óø÷£EíKÁ¥n{.xEdê—˜;fx„g¾&¦|™áƯ¼òJ“&Mä¥ò_È Ld†Rø³‰®ã:ü[Ô¾è–&Í6ÛtLfF-9”sóîç#ãtuRNæŒ[~˜ÌÀôÀ™áÞ½{7oÞTþÈ3™O$3è.qLLd†b2CÔ¾+c—Vf¦ü~Ô?úâ¥ìÛçô—Z¹¾}ç^Ö•Û'ÏÝülx왬?fç}¸~™µïâÕÛí†irÅf×SGNä\¼rÛmÏ…¶CÉ Lÿìû d<©Ì ‰k?,V®{37¤Æ¼*×CYº/õÚ ¹”“V å¾IfzNÛ»7åÚµwCâ/}1*Ž3S9É º1]fÎ_¼µd[úyäã£| AYÚyt|jFÎ2Ûã_OH”Â-§£ö_QV·ñ<£ ’Òœ¶·ûo W®Ý¶à ™‰Ì€2‘ò]âäªuúÂ&æ)ÊËËÙwF,ʽ IùÄUG4÷Sû¯ü¾ód×q 23Ï*3S9Ì ¿;œT åã£Mg2ÿÐÅÝèª|úÈ Ld”•ŸMè_âäª%wOºµ`fŒqã?û™íïe’lézÊ3"“3S9Ì ºÁýPúõb2ƒLÒ®KÀ¾ð d]áÌ ©1#ö^¾ríÎòíd&2ÊjfпjÌ 2ݾsï`úueR~„ÁÄDfÐÏ ³õ2ÊÇS3rœ‚ÎÛxžQJÎÙëöŸ½LöÊ|ìÁ«d&2ÊVf˜]tfP¾ÃðÙðØ‹WoK`2ïÀŸÞûfR"Ÿb&2C¡™!$þ’.ÈÔm|»÷nÞú󗼿½0iõ‘¬+·;Žˆ“’Œó7×;e˜È (+™Aÿ—ïªu íú*»GÇ{EdÞ¾sO2Cûa±égn8œë4BóíÇ/ÇÆóqf"3èNXuäRöm‰âºÝ Oºœzê†î¥$ð}©×®åÜ•u·xœ¾ríÎÀ9ûÉ L†d†œœœÊ•+W¨PA^V¬X±Zµj gxÌ™Aÿ—ïª5gó±ë7îÊ5mñÖtÝw åæ(ådŽ\ñäI•|…3S9É †O’ ºO(¾N×q ºœ Lÿè9ð3Cñ—¸ÏGÆúwl¤¾ò¨‰‰ÌÀÄDf@ùÉ LLd2S)Ï ÿ]K&2CéÏ  4 32 32™2CA*•ŠÌ@YÌ 2ˆóœ”¶ç dÈ dÈ dÈ d@fd@fd2d2d2d2 32 32™2™2CI2ƒJ¥"3P3ƒ âtèÐ>PFÈÀ-Ã÷ƒû%É  ü 32 32 32 32™™™™€ÌÈ €ÌÈ €ÌÈ €Ì@fdxœÎŸ?´jÕª1cÆ 0 _¿~¿ä飕ï¥Î£+W^öí۷߀~ƒþí·ßV¯^-”¦–ŸÞ(ç»ÿHÏ2üSYYY!!!ãÇŸ>}º¿¿ffæ7î–27oÞ”†›ššŽ7Nf¤Ùå§7Êùî?¢® 3À?ráÂ…-[¶Èíä±cÇîÝ»§.Åîiɨ‘––6räHkkki|ùér¾û¢+È `8¹_³±±™2eÊéÓ§oݺuçλwï”R·ïÜÖ’vÊozzúĉ¥ñ² å¢7Êùî?š® 3€²²²åzyõêÕ›7oþñ]¿~].ø[MÆý—ÒHY+'''+ëbLLŒ±±±ìÂCyJÿd{ã)Û}îï 2èäɓӦMsvvN=zôòåË9Z7î'Úé>iiik×®•û»œh×®‰‰Iñu”äµä/×®]“›ÊC‡¹ººÎš5Kvä öF>2\ÚÙÙMš4iܸqÖÖÖW®\Ñ-Ú¹sgtt´î¥,-Ó»/;ëèè8cÆŒ¡C‡Î›7oÇŽgÏž5ðàþ#¨+È `¹Òúøø,]º4...%%åüùóÙÙÙr¾n€É“'ËÅV†˜ë%  +ÿt-iaöµl¹>sæÌáÇãããW¯^íëë[ÂGô%é }§NêØ±cݺue={v£Fš6mzäÈeióæÍçΫÌÏ™3çý÷ß—7*»»/t‡ªW¯.iåÊ•£Gnذ¡——×ÜÇßd0„Œnr•;ßýû÷§M‘ë¿Ü!JùÕ+W®ÞGn”¯\Ö“•™Y­Z5e°úºòû*é)ª¼mÛ¶ÆÆÆÅ׿¢•}k²²²¤ñééé2ºIãåÖxíÚµRòDz#ßÞ 2¤F'NœPÊÏ;פI“îÝ»+K›5k6ÛÌLfä^{íµÄÄÄâ{©”ïþ€Þ}÷]i†~›/]ºdàÁýGå¨+È `¹ÌΛ7/$$DîÑÒÒÒŽ?.#EFF†\rOŸ9}öìùŸæÓ§uÓéÓ–V–2ÞyzyÊõÖv»­®¼GsæÎ:thÕªUkÖ¬iemU|ù§­?0q‚Ì÷ìÕsìØ±ºíŒ9búŒéº—òg¤%Ú†œ:-­;%ôÜsÏ 4H¿Üdº‰tÔž°=2߸qcÙµÐ=¡UªTqpp(j;÷•—ÖÝ?xèà¿þõ¯%K—ÚlÝÁ•iÿýrÈÑýõ×ìù£¬¨”»º¹¶oß¾R¥J>÷&ïU “÷%wëÖM %”îÚµëQw™ !÷e«V­’[]¹ÆÊU7w€È».ãóÏ?=z´ÌÈ(wкòÖ­[¿ù曳gÏ úé§ŸdX” _>qâD™‘;ÜŠ+JdþÈ‘#/½ôRpp°²ÍsZº·ÐŽXÚÑB;^È*©©©IIIrw)»óDzCŸ§§&GmݺU¿0 @ ---e¾I“&cÆŒ©]»¶ Іl°4ï¾²³….Õ\ñÙgŸµk×nVÛ¶m;uꤔ·hÑbΜ9ò111Ê“ !)¢OŸ>G]´hQÆ uWàoeeeÉÖÊÊJ.°ééérÕ•+°re>þü¹óš •ðì³ÏFEEÉüòåËŸþù(‹d˜;v¬2/7}r5–a¥øòI“&ÉŒ\ð+T¨°~ýz™_°` %ç‹“;v(C†¬+ زe‹ìÎÿúÀ÷F>¶¶¶²wú…²©gžyféÒ¥2/™AöZ:ÐÎÎîü*-»¯ì¬ÄŒB—ênll¬TÛ¶m›Rncc#/å,’ùO?ý´cÇŽñññºµ$<ÈRÙððpé¨}ûö=Ò® 3€!Ä\íåæWþ=qâ„\u•"S+«hS¦L©T©ÒP­ŸþY.¹³gÏVµiÓF–êj¾öÚk ,ïß¿¿Ü`ÊLƒ Ö­[Wð}u­’™ .(†ÜlÊýéÞ½{e$’)É ù`½‘¤é•+Wê&''K¡£££Ì7mÚÔÔÔtÖ¬Y/¿ürPPá[.…»&ûåááQèRÝÁuqq‘j2š+å’䥻»»ò¦:txî¹çÆŒ#oª«,¡±Už‚Û¸]AfC† Ëdt“aNy,,—_åJ«û›2£Ì+3r•~ë­·†¾,O§NêÕ«§,U¾ö¦Ì§¤¤ÈÕX.à–Ê͸¹¹yåÊ•e¸”'ß—ëJû¥ÁRSn0£¢¢V¯^-»S’Aóz£àK¿Þxão¾ùF¿|É’%’RSSe^2ƒ™™™ÌHFªZµªŒn…n§Lì¾T{å•WdG.Fwp£££åˆïÞ½[)—ì$/ãâât5%HŒ\ºt©ÌÇÇÇËR''§‚Ýòˆº‚̆8|øð¢E‹BBBäb«ü‡~”o§_-šƒƒÃ«¯¾*ÉAW,W]™—aBneБ‹¹ŒŒ2 ÈÍcñåS§NÕmêƒ>ø÷¿ÿ=bĈ¢Þ=;;[÷…yiêEíoʦÂÃÃeGdwsojãÆ²ÎÎÎÊKÉB2 ššš*/5¿71{¶ÌÈö¿øâ‹ºu릧§¸åR¸û3ž}öÙùóçË‘•—ÊïƒÈ¸¯p¥°qãÆ={ö”¦Ê9ðÝwßIpR¶ìíí-o$óÍ›7—d¥lSùòÃþýûe^ù¹Ã#í 2BF«­[·Êè&×X¹äÊåWù}übþ®N÷îÝÇ—¯ð£>êÓ§òg|ºtéR¯^½êÕ«k~±ÂÓS÷·›Š*×ÿ³?Ë–-S~Òý·ÞGùÝ|eä•ûw¹Q•‘Ýy̽QKKË*UªÔ¬Y³N:*T;hÝvdpœ7ož2/C³t]«V­ä¦øm¿Tíþúõë%JLRŽo×®]“’’òܽ{÷JXªX±âþóŸ–-[&''+å™*W®,%ké:!--íË/¿”(R»ví×_Ý××÷‘v™ !cVDD„\Øå’®ü Ÿ7nÜÊ£û{þ†kß¾ýŒ3þøããÇ+é·øò|äQnN y#Ùˆ4U Ù‹ƒNŸ>]ùÚaéé iá¡C‡¤m7oÞ¼õ°•ÂÝ—^V,æàŠ3gÎÈ–ó*ßL(XY𔑑ñº‚̆kõ±cÇ6oÞ,ƒµ\óåfM.Âþùçÿ§;tè`jjjx¹¾;wî¼óÎ;¶¶¶†¼‘4Rê+tqÉ’%² ²#%üo.<ôÞxtÊùî?Ü® 3€.\¸˜˜8þ|)äîLî%Kr·²² 2¼\߉'fÍš%·†Òþ¥K—JãeÊúáöÆ£+Ëóî?Ä® 3€áΜ91wîÜÑ£GÇÄÄÈH!á{÷î•ÎB&Í»{÷nBBÂØ±c¥ÙÒx寗‡Þ(ç»ÿ(º‚̆ËÊÊ’‘"..níڵÇ—Ëï–-[Ž9bø-ÿc#MJII±±±‘FJS¥ÁÒli|9ér¾û¨+È ðO?^††€€€ßÿ}âĉƒ êÛ·ï/¥Œ4I&Í“FJS¥Á%üâ_Ùêr¾û¨+È ðÀ÷˜©©©ÉÉÉááá¾¾¾^^^ž¥†4Fš$ “æI#¥©%üÖ_Ùêr¾û®+È PÂñBîÚ”ÿP©¢ü²Þ#+Kso”óÝD]Afd@fd@fd@fd2 32 32 32™™™™€ÌÈ €ÌÈ €ÌÈ  \e€‡âÿ’“é^ endstream endobj 600 0 obj << /Type /XObject /Subtype /Image /Width 700 /Height 603 /BitsPerComponent 8 /ColorSpace /DeviceGray /Length 1869 /Filter /FlateDecode >> stream xÚíÖKJ›a†áÎ;iÇuÔ¥5‰­õDO„xÑüñxLAEDTˆštmWäÚî¤5®ÀQš·½®%<ßÍË÷òÕ›w©T_ÿÀ£t:“Éd³ƒm k<%™Í>æ™N·KíïK¥z{^¿-ýù‚ùñ=éIì@D￘~Ù€˜2& ¨AÔGÔ'Ô¨ jÌ•3AMš€ ¦L@P3& ¨9TÞU0A-˜€ M@PETɵl‚*›€ Ôª j͵n‚ªš€ j& ¨MÔ– jÛh:jǵk´ µg´ U7ÚíÂ3|6Úí‚vÑ.h´‹vA» ]Ð.Úí‚vÑ.h´ ÚE» ]Ð.Úí‚vA»h´ ÚE» ]Ð.hí‚vA»h´ Úí¢]Ð.hí‚vA» ]´ Úí¢]Ð.h´‹vA» ]´ Úí‚vÑ.h´‹vA» ]Ð.Úí‚vÑ.h´ ÚE» ]Ð.Úí‚vA»h´ ÚE» ]Ð.hí‚vA»h´ Úí¢]Ð.hí‚vA» ]´ Úí¢]Ð.h´‹vA» ]´ Úí‚vÑ.h´‹vA» ]Ð.Úí‚vÑ.h´‹vM€vA» ]´ Úí¢]Ð.h´‹vA» ]´ Úí‚vÑ.h´‹vA» ]Ð.Úí‚vÑ.h´ ÚE» ]Ð.Úí‚vA»h´ ÚE» ]Ð.hí‚vA»h´ Úí¢]Ð.hí‚vA» ]´ Úí¢]Ð.h´‹vA» ]´ Úí‚vÑ.h´‹vA» ]Ð.Úí‚vÑ.h´ ÚE» ]Ð.Úí‚vA»h´ ÚE» ]Ð.hí‚vA»h´ Úí¢]Ð.hí‚vA» ]´ Úí¢]Ð.h´‹vA» ]´ Úí¢] ]Ð.hí‚vA»h´ Úí¢]Ð.hí‚vA» ]´ Úí¢]Ð.h´‹vA» ]´ Úí‚vÑ.h´‹vA» ]Ð.Úí‚vÑ.h´ ÚE» ]Ð.Úí‚vA»h´ ÚE» ]Ð.hí‚vA»h´ Úí¢]Ð.hí‚vA» ]´ Úí¢]Ð.h´‹vA» ]´ Úí‚vÑ.h´‹vA» ]Ð.Úí‚vÑ.h´ ÚE» ]Ð.Úí‚vA»h´ ÚE» ]Ð.hí‚vA»h´ Úí¢]Ð.hí‚vA»h×h´ ÚE» ]Ð.Úí‚vA»h´ ÚE» ]Ð.hí‚vA»h´ Úí¢]Ð.hí‚vA» ]´ Úí¢]Ð.h´‹vA» ]´ Úí‚vÑ.h´‹vA» ]Ð.Úí‚vÑ.h´ ÚE» ]Ð.Úí‚vA»h´ ÚE» ]Ð.hí‚vA»h´ Úí¢]Ð.hí‚vA» ]´ Úí¢]Ð.h´‹vA» ]´ Úí‚vÑ.h´‹vA» ]Ð.Úí‚vÑ.h´ ÚE» ]Ð.Úí‚vA»h´ ÚE» ]Ð.Ú5Úí‚vÑ.h´‹vA» ]Ð.Úí‚vÑ.h´ ÚE» ]Ð.Úí‚vA»h´ ÚE» ]Ð.híBר›í‚váöL€v¡£vM€v¡£vL@PÛ& ¨-ÔæN}ÿàðèøäôìüâòêú¦Ñ¸½»o6[­/ÐZ­fóþî¶Ñ¸¹¾º¼8?;=9>:<دŽç&§gó…ùÅbi9©TÖÖ7ªµÍG[ÐÚ5Öªëk•J²\*.Îò³Ó“¹qËü¯>:<42–›˜š™Ë–Š¥•rRYm_­jíénÁßW«UÛí®V’òJ©¸´PÈÏÍLMäÆF†ü—àðèn{ÒW endstream endobj 605 0 obj << /Length 1154 /Filter /FlateDecode >> stream xÚ­W[kÛH~÷¯Ð¾ *E3£k …†Ô%»e‹¡-m¼¶â¨±%W’“úãwÎet‰åÄ !(š™s™ï|sÎùb69›†±•zi$#kvc¥¾KåùQhÍ–ÖW{æ»ÒÏ\?…~jýäúiø]âºJeßèáŽÕ*dzî|Ÿýiù–+„—†¼Ç+lÙACþ½Þ˜Ùé–r`yTiÄá-ÏX?ƒñÍ}-ûC?Çu_Ñ ”žŽíÕ3ìǺ¿ÿ?€“6e ˜ "/M‚!]CL/GÈ)˜FHyBN!ðMža&>‹oDANÌiù¬N„ôû¨B»“n© þb•’‹ÿŽÍ–úqy½Ö´“%MAzÏ[Àø‡Yñ¼æ'ëLW|/ÒeΦI¯#š89ÐONAØ‹yAÄÄ‹Ðön¡c64¿j7ÅÜ1ˆBlug¾u\c‹3M%hÌYÓlX:ZùÞ‘‰!_-YÈÒÔ³^”Ø™v Ú ‰ƒžã&*9Ä*°nJ çš­Û£á +í5!ºÈΠΈ+’#¶õ&&øÎsÒ°Ü,¯µ ö‰ÇˆCð]„6wHȶõÀ ‹G7×|Mûß;atÏo›öi zåÃ9¼‚65;æ3¦S@ïeb*oȇIöüŽòo=ÿ8Æ"^ªx£¶×i@PxxÉ"Øý^Áýû÷ÞÁÄBÍë`n vK{ ÉLK$‡F Þ®§¦Û!ó »«{ºe¤íI Ãr•/˜X¿»¾dLà! c`Ü5Ê!¹—´Š)¹jÙ#'ÞÑþÆ­I†ò^sî-0 ô?XæšÈ©0PoýcOÿñKCÿÓ&Æ=ž? Ê+ZÈMgÚñ©±A›Q½ÞÐ;Ô„Šcg¨³6Ô/¡HËÁwZ1F_ƒÙUŠ³Ò¤·’8Ï~±‡‹¢PÒÀåÛÁ¯Içó ÆØ!aÝ=¯Ù•°9sHbºx¹ÙwÛß²<ßÔÐ5æë‰þ…60ë²éA2]F‡×¶²ªU8§žÅš¾æI$ÄÓ[º¶Œ¼ä=®9µ`üÀë_~ŸC5À"̧JÑ35_‡÷NÂÌ´ L›»u?ZµEÙP¸í¡*»¾E”𳇢$œ²ŸÕ®2[I[H¬»ÉûÙDhH¾%,^˜¦–TÒ“~b-6“Ÿ/ôU˜¢Foˆ"cÇ gW)¬Ëròþ32×8u{^/à×IŸ!S/ bK ß“)ñ2‚Zwky® "PÖ¨ä†d­ðÇÍ[2.`—6 ؃͆n±²jºO=‘Ÿ5_| Þ¶w­¯|XC3'QÇÔ;ÞÙUWåøí©ˆ]é^ê+¢á –»GUWÐYÓf;ú*8(¯64†~ztx×Ôœfk‘®a²¥¯=3ÛRZ=[×D ÖÄàç©ò#/ÑßÛ>E}ÁEWrÊwyPN*Ò¤IcÈL ½šÄ:ë„ ¼D1—AhRþ?º6qV endstream endobj 602 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./wiring_biotap.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 608 0 R /BBox [0 0 504 504] /Resources << /ProcSet [ /PDF /Text ] /Font << /F7 609 0 R>> /ExtGState << >>/ColorSpace << /sRGB 610 0 R >>>> /Length 3516 /Filter /FlateDecode >> stream xœZË®%GÜ߯è%lšz?¶¶ÀÂHæŽÄ!¤1faùZ€Aü>ñÈ>§ï B^xfâtuUVVddfµóñõ‘ï¼|ãÿŽÜΖâÏ6ûYýó»ãÇ/¿úé_}q|ùú’Î1êqÿóõËßã×Ùÿ¼üéÏG:þú’¯ñß÷/9)¿{ɹž»­×sÕã xs3㇗\êÙ ð:óžçÀ›¯×r¦}´‘ÏV…ñb.ç˜Âˆñ£Â âVÏÎñ-Æ·y¦"¼qOgéÀý¬E¸že 7?Çüɸ ÃÞ"\4? ÉÝóeázÖq[/Ù³ü|Ê£ÀIöŽÅ´¿hü„=Eû«IXm?˳œ­ÉEóÍ*ûa–疿ƹ<¾ÑÐÖû9VàFÜb?®\ö6>Ÿ{ßçK<¦çzmŸ#Ýìi‹Ó<í…›ëºí§³Þ÷Û:_{ú£µ˜/üÕ´ìÓŸÀ¥ÝüÝÊ9Çí<€[¾p¹Ÿ'°ùç \ûÀcßøòX/øûR¾ñ ö§tã#öçñÁWL;ëÏð—ùtñ=Ÿ]󽋇Ïñ«ÞàŠ8ÁÕ·ã“Çkä·?ý€üéÛ1Áö/îÄ!·ª)3¤D OØÄqî¢r\0iÁ.<…§Ž4Or‰”Z¿åÒ~¹¨ˆ»ÂÚr··Ækþ/ÅÞ+t Eÿ€)…[ä!¼ŠCæ_"uA4@- ,M¸qÆ‚ ÈUx‘„V¹Ã’‚Ô…Ae¬‰ ‚.áÍè/—ˆ”UÎÞ+7BÜϾ„³Ÿ/ª£°ìÛ™ùþÖü»’Ýš/ wªÑs½=´§ûù>{’½òhM yÖ~v†=EX­©’]Ü¿‚´¦vNúoø„j겟nó|Ãþjä¶qò¯‚”xïç“EíÏ _·ùôó¶H_îö´õË^ͺí‡A5nûEÐùü â}óWË4ãéÏ–Ì ËßÀí~À9ß΋±œoç l>Åyc|j7>×}ãËc½àì™ùÆ7ŠRºñûÙõÆWŠ^¹ñþÊKØ|o!êïãásüú£áŠ8ÁÞ ŸŒ8^5§ÎpÐUŽ©\Í Ç6WÅ qD‹Íè˜âŒI3J˜…§p»ÆÏ.Îô{ Ïz©laû„ª¨oU9˜QTõÄë.ŽB± Aj‡ŸÎØÊ&Ý¥M¸S×eJµ º£¨-޲†š¦‹•-M±Q(´$ú¤¦6…ÅÊÊÔd•Tj®HMÝãmo‘£¤Z:xÈþ\<ßpª”*Ta©b…¿¤"=Ts+/;j×d^!ÃesÛ?ntÍ%,U(cPÞ‚(dLŒ¯^?¨Jœ./«Ör”,Ç@±ÿÈXí§|ÂàâóÎOŒTK]CqR•ߌ‘9+<¬b!‰Ä.^À PµÕ«xM81d¾Z£øÊ™)¯Õd0s.dÎrÏLu×ÈŒ,^r·ne0 £¥åÎ`<£A>§‹%¤ºãÄXœ€‘u'šÁbFT­»êâW‚TW0VÅO?ê ]ÊMŒ®3t.w-Tq0ÓÅTgG"»X"õÊA"Oá!UªÌìWqŒUéaU¬Šñ~[QLbb>oQ ä±É¨ ]MWq‰%±]\ÃP0šÄî.NUÂÔ²¢²X™'\Qs%=_†‹Ø²ßy€Äv1¸ «lÛÅ G‘ØÊK…Š€ˆ±õ~IêŠHlwüµJŒÏ’Ž2£’*PFø¼ê,þ <ÅXEŒŸV´iûKöüc¸Ø-.…#¤-Mk"Þ›09NœÂÂnlÆV©ÌÜŠ¡¤‹XedÞÑ”™\NïæÌv1lÅ|ÝóçUœy¯ögÛÓA.ÿ»3a¹ÊûâÌîù)žM™4™=ÇûL7ÎÄÁÐ)ÌÌ݂ёɋÅÌô+Ê朗‰x¸|ïZ¯^íRU»RÑ]óC#©y54‘å{YÂŽ ,ª—zµS® SÙ à~™º´_„êâ|Õí϶ûI`>ÞI»­‘cA×ÁÁÉÆOgä­/:3œ!¡ä¦,e9Û!tjT²¥ÈD@­ ˜›aû¾¾¬Mþ°ŒY`Ñ’µ@ÏD,!ìlFN\jû˜ø4R‡Ã ÔnÔ)­j-ãÞÖñK³T*àŽÌ€°»2¢Íu™b«õ§Þ¡–ª¸Ep¡€`“¢}OI²z ùL}%…SçÉî–p»h¡Ø eS{™*ûB5ñs®ÑÑÁx·eßT1˜[Ì €ÁTÌvùï²ÓÓÉQú(êl¡ÛCå1[_9‘O9ØY+A4᎓T÷”]²þðÒÙ®’hW*¢pÉ“ÌÕàêéF_!šp<”-Õ|ÔeŠ0 I·4Ÿ ²¦½ƒEX"fZÕMÉ›`T£ ƒ6Sas gB)ÙVËD¨†c»#DTT“SH³%Å :eÁaA˜åi8£ZŠ_° *ÉŒ¥š¥‚‰5›Y˜ƒ ïŠ(æ+°B}˜5™Î"„À,XÅq¨^³Y~53 Nd‘&%êv+Î_FâðöP&óB•ûe…¦RÌÚÌcÛ—RSž¬ôd6ÑŽ*œc‚Ë9ÎQóÁÀƺpŽÇ]Ayà3‚Ã4TeÁ~Lf %V¶S:^ŠU¥3Êp³†µj¸œ„ô´‹ÙƉ¤]‡R ß9™hªÝÂuì*\ºéÖ‹%ŸûEÍ ¨¤i– Y9BW"ôèPŠÐŽzôŠÕ}Å'ðUI’»¨JAoÂJÝEÊ•TIL5SYޤ»ËR‰®ÊÀì¶‚b褾µ5(¿TáÂF)¯h” é°›¯ùq«>DS&!¨™o$Mvþì.¶Ùµž)>Ì«ZŒøp"k›¸TÙJyh× hÃZÉES,ôgý¸a„!̬ë‘r!z]·:ĺ:£T¹È¢/Ææuà dœ–‹8Þ¨Q+ÿòŽ‚™5nØÄfV?GŠÞÙä6(³6€øÏNÑîšãˆ)xq" ºß‡„ 9æ|ÍUElN¡,œÒ·¯ Gt1P^¨Qé‘ .Ì=®ÀåuÄ÷ÓLß!”]?BS@%P¼_å=òóž«yU»©áb_Å$¼éJ(ÉÌǽq› “hÊfeI\Õ²ëtkˆ+ A.XB§³tZµÇI4e]×yOëC×­ kWÑ]š–Ýl){ˆ]Ùì`Ï ç³pA`ÛVéïXuÄrœI,`(dÞM Qžâ‰J ÐŽ°…†SÄ`F‹ö~ª$æÙª.¬äÈt«ÆKd>m¾ïásc”`, és–#✥Ò8`¶NêɦN‹u˜®®Øc’,‘xÙ`*x²Fv€Ïöð:(IpO?ë<¡Õœ9áNìnFŒ!Vq¬3W¤+¬Å 7#„ £1Žp,»{ë«r®ÏЫ®DJ4ÌR²^®+_¢øÕ•LÜ=ëÊe>¯íW4åveã†Ö 6Æë‚ .J©eŒ&­­ª/f”ç%®TæuÑšeDUDÑD¦cÃ2 Ív3C›Y‚°!Z—V;錘 è³®ç¼Ò˜¡ÍIЀbÞY¹&WЦ/‰v¸ –t wSe=J8+¡‹Ã¬JŸ°{*úýÁÊòî£Ì¨$¤(„òôG)]›”µßÂ<9§8oJRT¼QY.Ó–Å )-Gã¯F2eúJWöTÅÁ™w<å×šŽ IÉ‚»¤ºpävÝ­‘(€^Ý­-—¼þÄ kÊx:œ¨ûõ4VkXr§¨¸ôç NeÁª&±’lŸfzòUÖGk/”¹ø €ŠÿrÌë+spcסûR*3ü‡{(s“2× Âa/tIåýUlSóñûaÊl Ûá‹&ÝŠ’¶ ‰ÿ²@½Á!ÌÄÙõù¬Z#lq.O˜väÖ|LÌÉÏ3?Š_(™!4—ë5#¨ÑŒ:ñ#¿­¢m¿ÿÉ<”•tÜÿäwØCµ9£‹·.´þùËô×]~dkº¾èóú è[Ž÷_%==Þ ä¹5:~é:Œë]×|×ÜFkÇó°+Þ}g÷·/_`<»¾üülüøÁË@»ùQÍl}õÀµHCür}?ó›ï¿¦itüb¯wmRLmÀÁ±°“üâ;ƒ½V–;=?s=ᇠ¢“:2ªÑíâbÅéõ<®üãÝw4:~iÒîë]_D\sit¬Ïîx÷ÝÞKõaoÏ\…7ŵ¾¤£ß׺¾†è‡¡²;Þ àY5Ô? ­ aŽ÷xm?¯Y Ĩûaß{gkÐI5µçx{`/°ôiÜ+oÝøß¦’îÃüCÎú¾ç·xJóH?جxÏ–xÒúà§4¶!~én$Íæÿ¡ñŇûçÞ{Ü÷Pƒ_ýËþvè&=þlMU·¾‰ÌãÃÛñ‹ßþø÷ÿë/ù—LJï_~ýAóÿ¿ –>δ.cŸï—Ÿû¾*„z%NðÕw?~÷óׯºzesÖo¯ÿìå—ìnÊ·ëõö7/ÿ%7Ï endstream endobj 612 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 619 0 obj << /Length 1657 /Filter /FlateDecode >> stream xÚÍXKÛ6¾ï¯0r’‹X+J”dm¤Ùé¶Á6uÑCš×–½ÎZ–cIq]ôÇwž²dkr(Z’Ãáp8üæA¿š]]¿±ñÈ?‹ãp4[޲`”†‘$ñh¶}ðìØx¾OŒ ­wó7ŒvãId¼rÝz ÿ¶+ ¤±·Í‘2†¹Ã8 ™á‘§*è® ¤6G\0.qm… Ö«Knïp¹Oã}‚éüqüqöóõ›é(ó³$LPÁ`4 ?J#ÖïÍxjq¯I”Þ²E{”þ€«…ê¶0pøw$E૞ãTêáL^Ã)è¦'aU…|RQ(®vtÜ× Ú ã©[îß'aâå<@Sˆ­T,j•/X6öKæ¼ÃÍáÄqì}ÂU¢™ãé?EaÜtQ¢6‡JNµÛ‰^8?wµôJÑG­`C4ß2› ×îIÞY·@ý@¶¢–V5j9ýÓÛùȲ ì‡Ðgã²5›ÉE®Š”d‹…ЗxgØY¡qÜŽ˜Hh%ÆÚãæsìÑ­æ*3ò>@7úˆÀOR0@’µsæ$Ó-Ç×ââÐgðN@´ÙÅ)õœW.;Ä?À÷ì+•òÅ=õÜÏ:Š^V»ê††(¼ÃZad!>jÖG,ÖLk̽l‡„rÉm—I3 FEßS¾­Ö½0[ ÜbëH³9V¤wÔl±qj’ãi«bc‚ÖAî|‹Ëkž]j´¾&¿²n ?øV/m–xo—|Ö#9J3tÛäC®ßw¢5EÊØE~é½<inÇ„8Ûq@gíw.üù`”Zåœ8àVdàŠ.hõ¿ öù)W šVô\+¦¯÷úÿþEìºÍ\ÌÞhyß/¢Í}g‹J¶žÁ÷¾?à»ùZwzÇU-š/Õj@£x’]Öbbê4c4ºóµPþ“U}ÆÎÊ×?”"CßÀÃ'ЧE׺d™¹y×±Û¡{\ï…Ë‘ù.+° ó“0ÓÝÄn+b7Î5»‹þT=Ô—G®Û»ÜˆÏ§ì³TuL$•fÆO3Û÷ËöK‡Šú7ÇaÅ 5ÀE/ŠkÁ»=Œ0¤ŠècÈ;ÖÆçï zdôåÉžíC‹tÓ‡(çæ”Å«J_W@£HGeÅ+ºîÓW7¼ -O‹PØ@`•kzÝI‹¶ªrô¬*¸`?+­ Ï‹p!öêÅâªÑ×Mz&– Á‡öqˆ3Ž›lÊ4H<ßZq}Fã6Jî„SW:É=)wëð•ânÍ­#íÈ—×> stream xÚì½ûÓuWUç;ÿ«‹ªÃ”U<%tÁ›@ñK)@=M# z4‰ðrŽÝ-BÛJs Q[‹}ääjƒÝ-*"A@‚\3 —„p QºÏznûÙÏ^sŽ9æu͵Öç[³ÞÚï~ö^·=טŸ9Ö˜c\wƒ½î¤B!„:«{Þóž÷¸Ç=®ÛÁæß¹ú³×}ä³ÃŸúЇ¾ýíoÿ⿸A!„Bèûßÿþg¾òõÿåaøñ/rÚÃ~éÊŸ_øÂÞzë­/û³Ðh4F£Ñh´q»ñ[ß}ãÇ?7Pô{>zË“õ+}èC~~ùŸ}”F£Ñh4F£ùÚuw|çžÿçÅ×ßø¹óÏ?ÿíoûËßöQF£Ñh4&··|åî{ÜãBñ‹_¼âÏo¤Ñh4F£Ñhr{ÓW¾sÏ{Þs@èï~÷»¯ø‹›h4F£Ñh4šÜ^wûÝGi:6›Í•ù1F£Ñh4&·Wé¡_õöÑh4F£Ñh4¹½ò¶S„¾ê§Ñh4F£Ñhr{é­ßÙ"ô«ßù g‹Í;íÛF£Ñh4­Ÿöâ7]ÿ.ùcõw˶a›Ã–›íâ_wõcÿÕO<ì~°l¶9lÙwéþëîÎAèk¯½ö–[n¡i4F£Ñf×~ñ7^ôö÷|ä–/ßY¶ Û¶ÜlÿöÞ|ǯ¸û¦–mÃ6‡-kú®þ¤³±ùÚ«®ºüòËŸõ¬«†—Ën¸a÷¾íÐh4F£Ñúi—<é¹޾çc·—mÃ6‡-7ÛÅÃ~àïúè¾òÆW–mÃ6‡-û.Ýï}þ¡_{ͧœmËÆ·ÜrËU‡ðü¢'êÑ^ o}Ã[O)Ú·F£Ñh4Z?íÒ'?ï³·ßyÝM·—mÃ6‡-7Ûźw~ø}·¿îå_~ýa{Ýq;zçö£'¯¿|¦]qü­×]qúÅ“Ã6‡-û.Ýs>wŠÐ|í§mËÏ×^{í%—\r¯{Ýkxq¯C]~齎ÞÐz‹ÐŽüîÆ<౯ý´o‡íýas¬~úÿʇš ~ãÌ'‡wv·¶÷ß„6ÞÅTíè\œ§|ªÿõß¿3rƒùG•p}¶»Î<†"§h¿ÿï`ùJW_ÝvËí8í¨ý]w'ÿGFýF4F£MÓÌ·_*Û†m[ÖìâÙ/zõOýÌ/ùÚðWÍ.ÐýÖß^ÿ¥?zÉi{Ía;|ýÒ§=c»Ááµóq»í^2lsزïÒýögOúõï¾ÙÙŽøù†nøùÑ~ôCîu¯‡òóCÝë!/zÑ“Ž¼ÓÛ èÑÞõ¸Gž»·9÷¸?¾Ù·‹×ÿñ3îmÌÞ{úßÇ=÷ô¯OyäΟÚ•;³µ½ÿ¦´Ñ.¦jÇç"žòðÚ˜G^µAñJ×g»£Ì¨ÀïØÔÐý~ø/:êÀƼp÷3/üçŽ.õöÅëŸûŒã¿>÷Bc.|Š»“›*uÌ4F£ÕjÿÏ··ßyíM·—mÃ6‡-kv1@ì÷ýþªÙźß|ßu·¾êE·^yоxò⨠Ùºy‡×ÿïSžº÷·¯ì|þ`;‡[¶9lÙwéžiOú ×YgÛîåÒ‡<äÈù6¼€ùYÏzֵׄC¿õ­oþ:ü{DÑû[xÞE÷þ•g>Üœ»äuÖ³‹k.¹¯yøó|µoxÝ3ïýWî¼såÙ­])n\×öw1U;9ù”‡¿š‹þsԯ˻\)×g»£Ì¨Äï+nêÅ¿rîÞ¿rë3;=ÓqÍw>9îäÏ»ÈtÑ£h4Fó¶'üÚ ½æ¦Û˶›o¿kزfA„ö}qØævè~ãúw}áeÏÿüËÛË^pòâàß—üúS†íüÓ‰ö^ýÂá‡þ=l/8z=lsزïÒ=õæS„~ã{¬³mz`枟ô¤'.-<Œß¸öP™¥ÿ{öë„\ôÔ÷ÂÆÜÛãàä©ã÷Ÿ‘¹ï3_|¼‘ݯïmmûßà9Òß¿Ýò‘޶ðɇ?êÜá÷>ìÚÅó¿>|àÅOåþ¹ŸžˆïRû^Ÿlüô€Güô¯4F£uÚùö®knúrÙv„ÐÛ]Ü|à…þ²³mz/„cÇ íþâî.Žú–—<ç–?xÎðïç^rðïöÅçþà9ðŸ~}ØÔ÷Îjxgxÿøcpú­[N¾u„оK÷kŸ¹k‹Ðo¾þggä8í8Áæ=–ÞßÎ .2ºêÍ×_õ£æÜ¥opoÿÍo¸ìÞ÷½ìÿ¿?|wûþ .º÷ß}ò§½­ü÷x_·8>vüõás¼ýwaŽ÷þ‚‹Ìî·ÌEOÛ?†íëÑ÷ö¢:½wœ§üîKïk~ôŠ=`ûùñ‘Ÿ¼?ü §gqrî§oîÏÁwþ+ŸËöÅè[;Gû´G‰°eßÅ99æ£M9£ñå=óÝ£Ï;¯ÏöO¾ŸÀ×É÷6K£Ñh4ZwíçÿÓï½ïïn}Ùÿ ³ýÚo¾DTþêûâ°ÍaËš] ÛùÊ¡†ò›Â.ÐýÔ¿ÿ—»¯Ð~ë'þÍv³G[Þ‘¿2lsزïÒ=ñÓ§ý'ïýœ³áçØçÃ%„gÐz7;ôîwßsãðâ€._¸Ú/»ùÙ§{ö~Ò®úÑ궯Ïlíä¿Û1÷ùÕëv6»£G]uæ‹{–vá|ízs¼G×!iP:åëŽ/lp‡_¼Ï}÷ßÙ¹§WþéÄþÞþ¾NÞ<{<ãŸL:—Ýë³÷C:zçdãîÏxNvü™Àçýp{ ÊŸþø²œÀužN¾}ŸF£Ñh´NÛ@¡ïÿø­Wü9ÛnÌðXÃ_}_¶9lùÌ.þ燜mØÈµÇçÛ7}_|ÿÇoÛîâ¡ßù¯Ï{Ç#Î{ç#Žÿ=lç¿ó_Ÿ?¼øíÇ0|ñ°|þà+çµ#„ö]º_þÔ)B¿åo>ïl±Õ w¿ûc» cÎ{›œ»¸î ÷3?öûŸ÷ÀQ{Æ£·Ÿ>¿³©7=k€®gœ|ì%O:oØÓÁ'ϾØþðÇÎÃé‡÷w±ûIçk×›Ž=:ö¢?BÏñì|1¼Çá‹æ>÷;Ï<ú»8ûõ“ÝíîëÌOsz<ãýJç"]ŸáPïó¤ëŽþ lÇs²ÞßHÑNÞÜýØÞé;®ÕÁå=s=|o³4F£u×~á×í•o»ÁÙȼٯ᯾/Û¶¼»‹+ßvƒ³wáûâ>ñ¥í.Ðýô•/¾ö§þ÷QûWÿ¿óÓ?µ»—½×Ã_]_Bk÷v^óãæ¼_øoã×;í¿]þC[OÞý.Ùð΋.>~qÜ®ÿ…ûm¿8¼>ûá£Ïëâg·ù˜×œÙõøÃgvá;`×sñé›{{ÜÛKÔîÏ©ŸóÌÕ“÷xºÁÃ+vx­žõ˜íîv¿~æü1ç½ûã/Úý™v‚ÓC:þŒ÷\ö. ÙÛòÁñÌûŸy÷òzwáûüÙs?i/{òy?ôäëÏtªÓ~uòæÞGg±ÿÛ ?ÄÙ½Ðh4Ö[û¥ßx៻ãOÞ{‹³=ãy¯b¡‡¿ú¾8lsØr³]  û¹7ÿáûÿÝïÿwž´ Nþ{Áó.¹d»Ááõðæè v¾rÁûùx;Ã6‡-û.ÝÅ;ý?þö6g;õB„|ÄÏ{½eéC/´o;Ú‹î‡þã{+n¿Í.z?žC|k»ã¹ü'Í¿xÒ‹üÖËè~—¿¼ä6ß{0×xëmu$F£ÑFíÿúÏ/úø¿]|³Ã6‡-7Ûź·þÙ›?üë¿P¨ýâÑ‹a›Ã–}ð3»s‹Ðÿóƒ_r¶£4GæTÞFq½¹÷Ú¿ÚLÚkÿsþ/¾µÕîÞú›?ô/óŠ©ÏúŠ_;ßüäkKmm˜ÜF£Ñh•ÚÿýÔòKwýÅG¾R¶ Û¶Ülè~ù]o»ñY¿zãe¿zÓ³~õ¦Ë^·g=ñàýƒ?=ñ¦ã×Oì~°l¶9lÙwéñÑÓX迸áË4F£Ñh4Mn?þ‘S/ô_~ä+4F£Ñh4Mn¿á¡ßþѯÒh4F£Ñh4¹=ô¡1N„þçÞÐh4F£ÑhkncHþ‘ßyT!‰ÐÿôÏÿüý¢Ñh4F£ÑVÚŽEèïýÿô÷ÿð}F£Ñh4mmàáX„þ‡ï}ÿÎï|F£Ñh4F[gx8¡¿ûßÿæÿH£Ñh4F£­³ <‹Ðw}ç{_þúßÚŸ>Ö<ø·>ð÷®?MÝ>ð¼ó͉ø¼÷%nÇ‚oxÂvóçÿ—›7w$[¥níàš4û½vØ<ö yW»Òá=îO[ï=¢ÛÌè‡ksÅžðºê×gÜ+Úûþ˃M«ëÿ[ ™¬£ ’nÓh4–ÞŽEè;ïþÞm_ýΨ½õç̃/ÿw\*ÒR·ÿþç·óÅ×<î ¯){¯F±íû7^~¾9ï·o,ž¼÷·lÎÞ{¿Zï²—þí.—æ'¨Ýö÷uÞùæç^Ÿ°÷Ô㜠Û4¼éjlöàF>é9ïÞå¯oÓ+öŽsxÓ˜¶=Ó¿¯ƒƒù¹×w~ïÓh4ÚbÛÀñý•¯ÿýÇ>óQ{ãO›>åêo¸þT¤¥mÿƒOy€ùéWÖ;€Ñö¯þû›K^Zø,„Ô¾ìÅ/ò€[ž×á¾^ù;÷ÀïüyôÞ uËݦÙMWg³¯¼Äœþ@Îý§/|àýŸþÁ3Çpá%­{æÕ½õ F£´‡“úŽQ{Ó¡=?óæK/ö™bÃÉ_ÄgÿùðâêgßÿäS'ÝÝÔÑëáßÝMÝ¡mÈÄ}´Ãøhÿzö8OvúÊã»ÿÓ?ä}Ó±ýá4þðóO¿ÄŒ7rµãRDœ”ãúìŸÑÎUþë¼ò;QýG§¶÷±øÞþîûyæû?ýÙÎóÚû¥†ÿ:xØHT'9ùî°µ³?Óø ®ÀñgNä÷/Ö-Ïv›3Ýl¯ó+~¸ý^Wâ‡;ÙÎÎéŸô¢ý;Å{`‡¿ãŽ¢¦]È÷©÷Œ=÷áßí/uô ×?h✶HsýÇçrÚ+vlQÚ¯L£Ñh´”–€Ð_ýÆw?n¿9joúóÀ§^óMéOW^j.zÓÑ›/¿ÈüÌ•G:zñÍ_óìoawSÛ×ÂöýmØæ¹gÿåáë¿|æqdáÉÖÌžùaÏ)üÕ}ñÌQ¼9œˆ¹ôåg·Ò>üÔs§§v|¾ÛÏK—BßN/ÅÁIÀîí\«+/=xÓ}åOÏKõìl$²^Š#nat;Grøc)~©í! [8÷À£ ß}^y=…»9ü”Gÿè–înãè{Î;ÂùÃz]‘îô|÷Nß}§8ÌÑ?ãÚÁU2Û®•óŒî§·çñ¯&^éFÛv¡´žé7&ÖwÍi4V± <Ðw|÷ŸýÖ¨½ùg̃žzíÙ7_uéÉø{ô§á3—^qôásÏyûðâÚç<àøƒvÅ0è¼joSÛ×®íÛÙí{·æ8ÎÓ¿JGµ¿ý¡ £üx#ãýŽ.ED{ó.Ø\1¾þGµ£‹ÞìÚûB'{@Aq?o_ãƒÞ9½º_êä+W\ô §¾êèõöúÇÞÑö/×é)Ÿ½’ÇÇpx•JuK_·‰è{u¸ÑMí<ýãcˆ¸©“Úá錶9ÞQæw®Þq;»}ïiŽMܨ E_ÿIt F£Ñ*¶‡cúkw|÷S·|kÔÞ|yÐÓÞ½óλ¬ú+^øiçŽÿôŽËô€Ë>|ôïÙÏ´W\d.¸joSÛ×£í«ÚÞ·\[sçî·†7…£Úþu|ֳؿé'5zóìU=j£Ý|>â'8ÞÎÐ1ΜrÌû~úãwÎ=çq¿ÔÑ‹7_pðÅáõ¥¯8³‘„ëyôƒº/Îq»êÒ+Ö-•ÝFì{m8ÅéŸmä%´ƒs¹èÍ¡k•¹ÇÝ{üAO»jÛ¯äë0q©wzÈ$z†F£ÑhõÚ×âúëßü‡OîÛ£ö'ƒ=úu;ï Cí¹ç¼sxqÝ`ÞOþ4¼>wéç¶Ÿ¾5Xû“?™K_yðæ O?wòæÁx}ôáÑöuíäp´ÙÝìlÍqœGõ€Ën8{T»pöëg¶òE÷çwÞÜ¿úæ¼{»ÛÆI;ÞóR(‚ÓKº¿ñˆ>³ß³Û9=’Ã_MóK̹ãã^_ð³—FÛèz^wä6r¸DGÿ¦wK±Û(ûžó‡óôÒ?œïôGw`º+öœ“¯tÎÃÊ×*s{÷øø¾vž¦óF3ñ}Òo7¼oº†F£ÑhÕÚÀñýoýãÍ_¸kÔÞráÎãÊs—ôæ/|ôçþç¼Ç_xÞƒžñWÇŸ¼òbc.~Ëéÿê¹çNÍo?só«üÞÅ¿ðäýƒ/š³ßU¶íÖŽìèh·»çÁ_/¼øAÇkž^}×è+»¯Ïlÿäþϟùâþ¥Ð¶³{w¾yzU·»8<ÍÓÝí|^ùœžæã¯Ì8àw]þ sÞsßå<È“]œ»ü¹®+æêQq½Î¸žGè¸8ÃA>w8€£.´=‹"Ýr¯ÛŒúÞî^äÎÕë²~¸Ý›ú-£ÓwmèÀÒ.ÚÎÁQ¾Oý7lt¯:ÞöÒ…nœýÍy3ªÚIo?¾Î²1ñ F£Ñjµ‡cúŽoÿãg¿xWr{ÕÅæ¢?º+g õÛ[.2zæ{ªïh—‚¶Ì¾·ˆ£×µ¢Ñh4Ú¢ÚÀà }Ë­w'¶ëŸ{î¼ç¾;ùëÚÁÐ|Ùõ•÷2KA[bß[ÈÑÎëZÑh4mQ-¡¿yç÷>wÛwâÛ—<—|ðeïýNÒ×[¶·þlÝãœÑ¥ -¬ï-éhçu­h4¶¨6ðp,BëÎï}þKO£Ñh4F£­³}+¡ÿüêÒh4F£ÑhknÑ^h„B!„Ö­X„¶!„B­[ 4B!„B 4B!„BS!ô;>úÕÝB#„B!ôö³ü!„B¡„¾ñ«» „F!„Bè¡Ïr2B!„B!„B!„P‡ýοºÛ@h„B!„*Þãä³ýµÝB#„B!t‚Чœ B#„B!Bè¯yú¦¯í6!„B¡„>ËÉ»}õM_Û6!„B¡#„Þåä«ý}5B!„B!„PQ„~×M_Ûm 4B!„Bïqò„þØ×vB!„ÐBŸåd!„B¡d„¾æc_Ûm 4B!„BïqòY„þún¡B!„:Dè3œ¼‹Ð×þÝׇvÍI¡B!„¨ø’¯=ic„Þ6!„B¡#„¾ÖƒÐïþ»¯ï6!„B¡Š÷8ù Büë» „F!„Bè¡ÏròB_·Ó@h„B!„*¾î,'ï"ôu 4B!„B1ýWŸøÆn¡B!„¨x“Ah„B!„’ú=ŸøÆn¡B!„¨x“Ï ô'¿±Û@h4kul®B!„ ôYNÞEèë?ùÝB£YÃóæ°Ò!„ÊGè=NÞEè÷~ê» „FóEèÍN¡B!”‰Ð{œ|¡ïØm 4ꄇ£xŸñE#„0›¡}†“wú¯?uÇn¡Q£@,ƒÐ!Ì&v¡â½ÇÉ»ý7Ÿ¾c·Ðhò± -cüE":BsàIÌ&B(ˆÐ{œ B£YðsÔp0öÃ0š „ú‡ç4ïñöó9f!”ƒÐïûÌ7wÚŒÅz<$9¿§x ŠšÄi°kyd;ét€ÐÕ@è=NÞEè÷æ›» „FµáYv¹d>‘vÜ;ñ„¡©øy×ò-Õø+N³‰C(¡÷8y¡?pó7wš >„ÎáØí“M͸S–ÞB¨B †(ø-£ãp„¡÷8y¡ÿÖ~s·Ð¨ñxáûpšÍß"tìÞyŠšÜ«¤hÁR™³þgLBEz“Ï"ô·vz@è]Žåg!4«è[­wD'˜;„P BŸáä]„þàg¿µÛ@hTj\и\”H…ÐʵŠr „ziMZNg„*!ô'ï"ô‡>û­ÝB£²Ný_ 4Ë B=ø„Éû8¨#¸eÕCè=NÞEèßò­ÝB£ÌñB¹`PÄ¥Z³w<#„êû‚–ÓD–Â!€P%„Þãä]„¾á–oï6•âçà‚Á²-8d”d”Aµô'ä¯ÒâaÖÊDè=NÞEè|îÛ» „Fý tÖ*]Ð 4B¨+ch=Ù8•ÞßÃ>~„Š ô'ƒÐ¨È‘€WÖDhø!Ô3BëRÐAC¨BôóßÞm 4RÂsZÀ>šá!T•¢•Æ0Ö ¡Ú½ÇÉ»}ã翽Û@h”?48ó,¥±k)„†ŸB¸2š(„Z"ô'ï"ôM_¸s·Ð(ŠŸÓPGh\СnA:Áˆá‚F¨„Þãä]„þØîÜm 4j‰Ð¶Pˆ2.h„P‡`µÍ|„Æ !T¡÷8ù BñÎÝB£XŠ® ÉUšá!EËiù–õë>ôëqA#Ô¡Ïrò.BÿÝ­wî6)Ç”´¦õ~FÕ6tÉUÿ”®†„Ʀ!T¡ðøã·Þuôb¡‡7w¢Æ—¨Ñ¡EƒÐ¡â&n\10*Œ­8BÃϵGè=NÞEèOÜz×A»í®£ 4Jn’?PdÉaÔcM†„žŸ·´œŒÐJCB#ÔBsòI;ƒÐ·ÝµÛ@hÔEGhÆ„PB;]ÓEÑ9MC¨"BŸåä]„þämwí6MBÑ™ ?#„ªRôn î1Q—Z¢ñ3ã‚F¨%Bïqò.BêKw í“' „FU):•Ah„Ð$¦L.Ú°´°BcÓªŠÐ[N>zq¡ïÞm 4šŠ¢ÓÚÅ?#„J´@×¥2|îš2Á|ÁÏ5Gè3œ¼‹ÐŸ¾ýîOé´Ð¨7Š.…ÐŒ5¡‚\¶´P¶~AƒB#Ô¡ðx•÷z§Ð¨E—Eh\С–¦,'GtBÃÏM€Ðg9y¡?sûÝ» „FRt=„f¬AGè„J…V§¡AhlBmz“Ah´Š\ð3B¨B ³ø4«¸[Ñùy¡®úæ/ß½Û@hÔŒ¢óZã‚f A´`ùÕTC' 4üŒÐ$½ÇÉ 4šEë4B(Ö:EQqNÚ !¡z]¡hB2<ƒ™¬Jf;~F¨c„þÎa»ûèS´æM%BÃÏ¡(‹¤I©‘fX(ZƒÐ˜5„š#ôwvË Qç­³d4 BHÏÏE'ÏÍc£¦ËB#4-B Ë ?~ë]» „F F®XfÖ 4.h„PWKÑÆUI~FhZ„Þãä]„þëOß±móé;@hÔlüÒS±Í@ƒŠ¥è²šÏG!4f ¡Iz“wúýê;n–!B#ä¤hÊ „‚¦Ãøù9HÑÚú·ÐСhgØò´)á-rÕ´™Î¼Ðð3B 4B™#‹/E*üŒÒ°tTŽŽöm]Ií@h„@h„JQôÞBu†„ž·¯M6B׳99­åmÒ¡M” BHi7Æë 5 ùr.×ÑÏõ=¡ºžÛ~F„FŒ’ˆyBiý|\ö´„.»ññeÁ B£•—\ýµÂï„èç2EkÑÊlx½·q*à!Ð(Š+ hD?¢è¹#t›cF„¡ Z ´ª~.Sô" €@hK\:D?÷qæä])Šû‰~ Þo÷:°€ÑÏ5æ"XQeî@„Fkõ£ÐÈ„ÑÏØU{˜BÅV> õy}ß"t„Fôù4àœ ¡w=ᥪ‚ÐÐhµƒ †å‚b, ÓLC¡5Ý¡w ¼[ „F„Fðó DèÅS%>yE'`§o!a%„®Q=„F„F ´¡õи÷,>yBçStÙø %?çß­¬%D„FËË\Á z6^ƒ{„FXžd{5k„&!-ž}@›ðWÙ«¬‡ö•°%„ΤèªmërÅ–pš!÷º'´WˆÐ,'DPtòwù¹B_N8k„ÆR!¡½á`áäX9„Ï9.ÄÆKõVît51$!:ù¾®}í9½ó÷5Ó@h¦ü„Fȇ©FÐr"hÙ­äaßQ)öÞ±un󉆨s¨£.¡Ï‚ùB 4ZóàÈ\?X ¡†Z³Ñx¾Õm4cZج¼1B×¾Á¬»Â(§YÆ#@h?;Ç ±‘ f±Ór¤B+Sá ßê“¢}Ðbà9¨’Ss4¸Á}¸›¹rÍRhB#Z¶„ÆÃÏ׊xÍrÂX„Ö§þ‹€+üŒiL@èå!´­™%!-xà3b GÐeÔ mª3Yé¾îêù#Ö3o@Ñ 9ò)z¾EUv““€Ð„FŒ}FçàS™û.8Xì-LiÖsWÏAhBg"tÕ±`jl^ò9"´s,€Ÿ èàJ=ç wË.gîèØÄäo·Ù•ó„F‹¤èdîí>J(Ûºx„n3yA„FKûœËK!´¼äÐŒ”6HÐõ TER.7Cè„Ý-¡}„@h´Z~†Iø^äçä:‰òvB#”ߟ›¥æ¡§Bh졉вjŒÐš.i©AèàѶ1û±;bå¢B=Ýí¥öeivnDÃØi=¾,Í~B3¡¥š ܌㦴+AhRÞ!-läRæm–…4¸s²_:ø]S¡ƒµk›}åàËx„fŽúàR‡š B#B£žÍÝF]RD.Þç –Ã04ŸwŽDÎp H+zÚjà 4Zó¤¾sŠÎô-§Ù¥y!´l±W„Fs¡Œ¿N_{„¶b ‡ÌÏ65ÿž¡5¥ ' Æ#´Nn¶$°B[]àôJ¡-Ë7f;*‹ñÅfÞð%§JÀÚ½/ú–Z1\Ùf$‰BèÆË “Vº:ZŒÉªJÑ ô$í;eÌ¡QÏÆM^¬ëˆv2ùøcÁŒv‚!MsAGåß .QT†‚ŸìÔþ Bs™øWBh›Q:¼ì½¹B„Æ€@h4S~'ÙˆJ çû–Ó~:Sy˜‘Ÿyü¦ñoÙ¹Á¨@åö}s„®gZ¼ùꇢÓ>›iÓ®À `½¡QWëÐ8~O¯/Qž3ÈÄíóë—Ý‘+Óbw‚Ð8sЂ-˜ð4ªg„ÖÜÑ [K5e`M4¡Ñì(ÚxÇé;&#´“50‡¹¼ÔQ9¡°þbß-¹46,δNž„¢ÓÚ†ªõÐØ.BÏÂ}±æëà\—à3ñrÃ3‚É.d„.‚µ9ݤÓš‘­Ç”%LœKqrø4íûsBϹ&{ *¤D†CѾ%J„Þø9ŠPbЛí3ìÍ’B'|„Fk³c-|íÚˆ&&GÐ Z_!ºÙí NDM+¢åÝÎBaÁØ@ÈóSyûÂgÚt§d‡aá«Þw™”®§å×Ui6-B„.e] Ÿ1OŽÈV¨âKþì[cèthgX!I¥›õ¥ÌrfŒ> _¢Û ô|ïÜ4„fA¡AèY_«d„~×—ÛÙ—æÎøÝ¶Pô£oE’óulõà ÚwµÂÂ÷€ÐV—‚rµͨ@ènm,wb0ÏP¡Ù 2Ãgi…Àç¾J ”„nùxQŸT¤ìøŽÐb,|¥ è"‹5©ùjøº{@èX47¡''Fžk+/…õŽèàrBŸ7þ¨âü…ÐÎì"SMs@h„”fÍ”ôšB÷0Þe"´«èÒá=•™]ùY›øúÝš‘hœÅNNj'žoƒ>š­ŠÐÎ]·aTø¡‚Þ¤&í©t‹S[ç$ý˜Üy+Xi}¸&ÑB 4j㙉z:¦‰[ö}^X?èsðÚ ºÄÖ@èRæ= ¡Y ZÅÌäÏź` ´ÞÈ›úÙ„òWM=!B·Ÿ¯äL•Iô4háÖãˆÖ ´°)[Á …ÐÁ½—õ“¤-hbdA¨,KWª'n]êÚ tm®l*& „F#„žŸ“sû WvkÙ3œ‘ÏÖã‚®‹ÐJ€/è'QVW‡Ÿ*ű †¢*ÆëòĦ…¯íÑ-å‚?@h(zZ„6ê<ÂåˆN@h±—ýíZÉÏ™F^SZ~F¨%Í–MtG±e0å~%K•‰Ðúч@BƒÐR´]m(Ç3ïœÒ…ÐVŒ©ñÃi⟭:Š„Fh‘,]#òÁ„b-’·àK­?9B§Y-9ÑB 4]o,p–ÿÓ\Ù_müž%Bû¢¦}Žß¿ZA„¶¥9àg„&·ŸÅom%Çæ„— äÈL4S ¥£€gBƒÐS AC5’)ÚztŒý KO‚ÐÁÃ&ĮЌ)5pD”­~UÅU¿…"Ë 3M™¯übÚ@Œ}C 4=º–G MH,B Ø\•ŸmÈÏŒ$4{/’='Q•ÑèÏUµ“5"Œb¡Šlºß½÷ר¤v™^w B§åÔ»ƒ¡¡è©@Ú7jlüÁN ¯Gè½È½ü‹Ðšç¡‚S(?mæH4ÕŒ ¡…QtÁ¼ÐBÞþ CÕ‹]0^vÊDè„­9_@èIÆqn7¹pÛŒÈP¶–ÊXh+:«Ñö!t0ŠC˜eÿÍìÃ}ò3cZ³©,2`)ÁUð]û¡£iUBèÃ% 49:=‰•ãv¬±ìîðåPrx¾eåš!´ÓþËQ2B'DsDhÆ2„¦àMä‹a&Ðo³@ŽœÄÚ>+M¦hBO5Žs¯׳ŒAZX](§ìP†=7ægÙÚkâIL(l#¡çËÏŒehñ–³8“§eÒ»> "tærÂR.hÐŽã+¼×Æf-˜UI“ÓÉ·hNSmÐÝò׊Œkzv˜Ÿ KƒÐ]…@3–!:ÁØ•Óö=“%{E|#BpÈ(‚Ð T>Äæ :ßáˆÖ»4ÆÖ(j - ´¤ÿ.B++ªÈë œ9¥ªzMEÑŒe„޽e” |“",'L`õ²îš|~¶Š„HtNBçÀaÔ8¾*„ŠXù¬±¤ÇÿµžewN'³óOSñ³¡•YA‚ŒàDèÞº.c¡“ rÚz½`¼±ì”F„ü3õƲ­™q B+mQì8¾Î2ßÁbß²3Á3ìf‹ QS ˆ5:-ÿ’ï‘kÿý–± еmr”eÐd òž™•¡„b¯e!º¬!¢æQÁ«$ƒ´ñ¤ænØž\ЄÎçgê #4ƒBË£è„ eù=B'‚Ë`š‰@èsyÚg®“AÚ—HYùß~B ƒ­YH˜ÆÏrG¯ @è(sL©‘ó¸ÊºV ùöRpE°/¨/ÿRS˜еá0êÎZà hÄdk +W b³õrt‚Ðú\J«^ ¡ág„–Ôác³$¥!´f9a „.b¸4‹M¡KÍåAhÙÑ¡‰ÁSF’ Ø)0³õTôî¡óùYžëûä,B8¢Fy„@h•Ë|ëçïÆS|v·¬aÁ¤: 4¡çÈŠ 7×âÚ·`Dï刊Ž|…¼ƒyêdÜÕÏõ€ÐÊŒÙp´N„Ö—ÊÕ£¬ü€L³÷`Y¨à…"‹ÄõñrLÞ]и­¡bÙõ8´&S„¢_S°»7~–:Ê­Ÿeèûä|]ÐdŠF ´Ì¥¾ÌE”M@hMĈ2‘|„e“,Å"4“wBƒÐUZiÖõýÉW‘ÐæÑO‡Q"t?Gv9màLùŠF«EheB~_8™ÆjDèàÙiüä“#4fÐ¥ h…­©5#T¦Vbs‚ç¹OÏ€Úg´cùYoØé‚f,C+Dhá.éîB &ÌúfC.èà­]6ÏTÔ–Ðõnº"´ÀÉš, ºÖÄ9÷ì¶“ù9y¡ý¼\жÄòI„V…ÐJpY„ö¹DÆ™:lhM¢rAúT]vi$¡×lâVËaD<–c<Š(ÊêΡõÅr’Ú9+¼Ì$ˆHDP´&'³b5¬Ghë_qïŒÇ–od}tJ=‡˜2 ~F tέ·f„6“"´àñž B'eQI–ônÿe tÔ=ˆÐRÚ—sU¢Ð,W±¡¬›* ³žx½ôwú“ªä ÓçÁþ „.~œÕ©”ÙíÒÓÍ1#–Ÿâ“GL5-B0r!:!ˆBc-õ˜½gš|‚•“£ƒn™fM4¡§²r«_l<†âyçf±œ0ì-pÍ,&§'>k†Ð,$D tKP„¢eI3kÓ'jR‘ØÔô¤Qv4B‹AèØ|qJ„Þ¨ÓbD!´&kG0›P›@–0#ºCB³àˈõed~–sGǺJ–á‚fäB+Y¢².;­ÀÏõê’ñÊÄÚ]o9¡¡Ñ] @èäëÓ~R3ÉhèÌÅUÎ[YÞQ“ „Fh m]‹ˆƒëõLdzŸ4„¶ñ®Ýâ,øÐiÆéŸ„¡W8úô€ÐÎΣ bÔtBßJ¢YRŸþ¹«kRkÑr$˜Æã:vÈ•dKÕËž¡±<„žÊ0r÷ÐN·Œ&%©&‡óMÙã4ÇŸûÍzŒˆ½ ƒy6äÄ;>ܵ~‡ª¯2xpÔVIk8¼Èä¢Bcy=­o{„ö…pøø9XÒQ3LÏn .h´H‹”pKfˈ›€Ð6ô°Ì‡Ù¾o)£Aô¤F GŸ±<„nH 4…ÐÖ_,,Á˜›ÈR¿óúí¸ƒÐ2øYF%FŽŠåÚŠQÓΜÿ›¤LÎúÔ¦mÖâ‚F ô„ƒ>4(Zvžì\QÐQI®¢VÖ÷ÿÃqû :*ÑœÑA/tì¬Ü‰ôz„޽†Í˃@h„î¡e»»ŠP3L\ÐuFÑ9äÛÄ首óÃû¼Íò¬\¨ÒRÄÝ ® üŒ@èn)𛄛kŸ;ÈD®9éÏk9!.h´TsTi9a‚#:¡Õãåð§¹ Û 4!Єî¡!ÚÇÒš%„N`.ó™×pÀô­¤mÌê¹1I×WCÑr&ç±­ð-`4¢ö:Í¢Åà«‘>ZÎL’ù+#„Nýkwå|)Ú·ŠP¨±¢樮2ß\vt{´<„¶©emƒ±ÁñH~þeCIæ¹ ÇÈGhç–5nü(‡¿p’_Ê‚Ð+DèÌ_¡¹+ç‹ÐB•¤‹çnš© šÞŽ–4¾h’ÑÚiRôCR0„ÌúCdǵ¡ÖG+×?ÚHµpÒ~åyeE t%ΩAÑÉÍ]9_„ÖÚ®ÌsQ-Ø'ãÂäû"m!¡u­ÅÐG|ùR Ø\6¿u%/rzª•ƒ¦)óæÜ; „^BéóQ6-íØ¸+g„Žò(ÐòØfŠÐôs´ ŸŒ°.¯ÈÍ«I(!;¢õ)|e„ÎÌ„/TŒÍùŬAè• tAFÕSÅn„ž/=vòÛÁÏMë“QaÎýë{˜%'µK@hëÊÉ©GèØ5ÎD² ä0Ùž £È’@h:òÑÜ•3È~;¡É£®*˜s#ø"™8ƒÐÎ,÷z„Öóq-c ^ê¨å„Q [„ЋD豋 `^ç;¤š\!@NøÛÍÑM?GK¢h×)):ÍëbÅ›ºœP@Y§ó9-é½¼„DÎP­Ÿ˜(¤'’œ³ÐsGh“º¸#XŠdË.Šÿ(k¸˜¸ šdʬÌ`\¡}l<~1FA}í£Ê¨•zF‘RC.ƒuÝô•Ç5©“xRŒ@èM„¶ÙV襙­¥¹›<ŒdŽ¿=-¤õ„Ü  —/úÂú+ŒD£&ã½ò8ƒü,Ùié>2SŒÏh³iîhzrHËœ7E=ë¡õI÷Fk ê¨þŸÿà2HÑÉmý‘z´/ëݸ|Œ>«‰|:D/#º”M{#s¦¢ tÿ–c<JÇ‚ÐQ³º+ZÏt~ïÍŽh+æÄð­Œ=£1E 8½w$>Ìv¢õFLs··YÁP 4¬¡sœ yà£(špè G®|„Ž- ?ëg7tTTÜž/€¢‹D:sq؉‘Žh£ˆUŽ-h¢,n.äô0þ•‰ÎA£„@èR졼­‚ao ôä¨V„Ÿs‚ñÚŸr‡Ý~FiyFKº„åoõÊÜû(ºTmÙ-SwÂŽä+)§æŽzМöTü¡W‹ÐVW1JÛåjPހܘEx2-ñþ\zoˆé“+@h”Cƒr¬ì|£˜ªæ¨²Ïå#´D;?©7MBÙô1T; u©êš¥‘dç¡Aè„I±ÕåÉæö‘ƒ¸è¨™´¶ë”Ð[B}éØ~\ÐÝrüŒr:¾‚ö(ºì‰øªŸä/¥¦€sò³òÇ2:$öͧ*%à VZÁ¸Ð t‚ "´@_ò È-™0XøL«`åŒ?åQÐÃÐ º[®(µ4­œŸ÷iï—²¡Ú‚5(Ú– ýuºµ}2Mz$ö¹¸k[B3ç©¡'GhçÝäû“°Š!xr?ê‚qñ)åVÓõAh„¢zÖÐeŠ®q.ʤ9~$¹ÌJ „N+Þ srۂЫBh[(õ\Ðt$ 4Ô‘`ÊäŸ@ˆ–í¶`±ûŽág´†»{îÐ}3ªÞ&5z£îó´ä.Z³ 4m+doV>å1ºúj²+`ׇlB£°¼ »½}Ží{}ºæ@hTÕ–áý mצè"&Â7µ±þzß—×¶ÉSÇrB„¶u  ÄFº(Bû W~88N‚¤ñlwÕoM— 鯍 «,溓¢û÷šÊ6ÁYCì,cü_yÆÑØÏ ôʺ E§å æÞ Ú(Íc¾`â£nµu?÷\e «8ú0*Î~‹y€>^uÞìn3(W3”-!· ¡€ÐÊ”òªCà9託ëX%ä fìï¡{ã UBè%=@‚:úDè6ÖÆ‡Ð46ÐóEhã)3š`‹@è´§„Á°ó`À³I©RM[ ?£%Qtÿu9Ó@º E秆®:‹I@h‚“=;ŠÖ›q}}R(ÚŽ £l"3šjÖ ÏO}=XiMG2 4C*Ûœ›NµO¤øökç»±yOâ=S„NX¼¹/ÍBc:¡…E26ë#eh±³ˆa'mzzÌ 5°ê3­÷-[¼ gW‰Fé‚&Q3¡§škçx¡£ª„ÇšÍ5`L²=®œ‰øj„9—ù$¬CoÃÏöl¿Bµ¼Píο¤"qO¤Ô–›%²šwÐÎå“×&G}7!‘»p÷ U d„Ž:˜–…W„ÒÉ8?£ª¿·BWµ!&TNÅt¶PÐóEèC”œµ2?b„¼vú ‘üûúÂ#ÓZŸ_ºYX¦|¨EƒõP„vN“ 䘊~Û ´`–}S*¬¡ûDèÌÔsQë Ah¹w°fºìD>Áé!L7ˆì‚žd fäBm¦fÂYN8 ý6^Kè|á|Ôˆ B tû¹¼²ðh¾1‘sD¯¡åäÏÊX_}вœSZ¨5Uá•Xo¹i…ШEåMzÁÀÉ<C ô´†"™ê9¢×€ÐNú¢h£ð'ÛÐÊ;gÖ,«vA·éÀ² ÚL—ÑŽ¡ ÕèT2J-ÛNöLÑS!´à(¡yßåÜï9P ¡íÔÑ­º›‚õÇkú‚ö„ê*{Or\ÐU׳øP9ÈÏ3J0‹Æ8ÑY tË]4ð‘Ÿn99™î5iMK='TßhoˆVËatõ…ðæ ËÂÉÃA7u2?lº §uÂ06¡ÆSlëÉ“³ÔÓ_-B 6_„™!:ÁÆêyµˆ×·,B¯Ç­¬?hÄ'¹òÚ§íú«õ¬ÔÓ»AÊ"´ö~F‹3B‚hz’]4Ch£æg_Yp‚:­g0=E¯©]Ͻìß(:˜ÅHlV"´ÕÕ½’ÅýÀQülgXã ! Bû¦®«BèJwtç-™•]„F#º B[Ý“ zZ/“ì‚ZÎÂ!½VúúÂ.ù£›r •¯ üŒ`VˆÐV‘i'ÿ¯*yÒ¤1¹BR&б_I°qxXp1Úz Z]í?eIk%B+]Ð9E‹8 ”ü¬¹2 4š…MЯ"\Á›bñ¼Ç£îMý¤¸} ´Ÿcƒý0S„V"´œ²±#:Á°’X%é AËA„¶¢·YàmÁ12®¥˜ìÿ©Áϵ:ø¡|ƒ Ig·„¶þgmA„Nq ÒfãtÎF‘µÉPøÐ1Ž _¼\$'#tòcýuÆrèIOpËõÙ9¬¸òN^¢¢xšãô¶•ˆnš¸ Y°ƒê¢@PkChM=>Ÿõ-û~mõ„Æ_7VvËGù¨¡3’ÆÉ ±a±&.¸Ó•„C›$#¤Ü(„6.B61u^Êâ«Æ­I;SãÙeæ0ÕåT—'Å>–^ÕEÓ/QZW%¶Dhëz&«,ÿ­I‹ŠÐšZV›¢Ó´zmëÍ5§,ä|öå…³À̲¡Në“QÅÏúLªùü\d²€Ö ÏB~¶`†5#´~>²½˜Æ³ð9 ¡ÛÜãÁ_Vó(pÚS@ ô"óB§UýÎ<†äGiN”Z§WJþád·‰K¨WH³ÆöjF¢„†pL¼! 4ëtP¦·A?¡ö%åXBGY’Ø{3Ö…[ê–Fcs4Sy`¦ƒ ¥ÞB¦¤qÂÒšoyy±ž&ù•oÙàf䥑Zÿó™¢.èXÿsíhÁw„PG°l/5Çj)ºÈ"}²‹²PÌü”fk˜)Bç̵£h9?#Ùક¾Á…{?û‚7ö8Ùdø.œN’¼”Ÿcê¹½ B+Wï"”ÙEåä9 ´/‡Û&Õ à{Ò—ï%Pö %0ç B tÔ3Š–s™9ã±£‹"t¦ÊÓøƒ¢å:)¾çƒA¿M3îË"tÝ6)æôÑ×X”àmÐC#&ˆ^¼a”)Zv G ‘¾GuÅx)ËèTB„@èRδ„vòLZRÍ"t²¿wcƒÙ6‚&•S Zç¸Ú4é 5É«kß5¬ÓAõîôå!tÂ3)ã¯,´99Ë1Œh!…$Ì¥&VDˆ!zÖà4ÚÌdGô kh!jÎz¢8‚£C0áF¥…J~ÎÔŠ;J~†¢Q ’ô%µ›BË è|Q[*mN„:¸LÛŽÒ}lJxŒek Q#ºsž@Ñ9± tp:J¢Çj!èNCìUZàçz¨¬ïäm¢¯ÑJl¯>OÑ|—ÊIæ}ÑhÁtCA›£‰CKCè"¡Œ¹Ÿ3ûŠ’¨cSI9øMy` Fh_ú8¹¦¶2þ<ÁùtG+ Æî>—Ú´Yゟ¤v(Ÿ“)Ú$M®ûgçÊ_¹bµPë\0#ò]¬ü-‚±¡×É?–oa‹p<øF t{THóK§Mó•¶ÈX£+é(8”1F‘­.t—3\¦ýÊ=xØ‚.hÌ)Êœ/çhÁ…=#´\äÔè²g1WjpxÊDhù§ñ¥Ñ«Šì4’Áó¡=E§1ƒÒFiªíOÿcå€àº˜Ld5I¹¤œÃA'§ágT¼G)•V|ö4 „Ö;™ƒé(}ñ½ÖÿT(x#EHë_Â#»£E‹w$_h4„Ӭ´¾”mpã ~VnçœÚUú"àùÆ< øåŠ0Ýò3ŠÜïØÞc¡Å t0Ø8xÝŒÂulC‹6â~­'»æøOò4¡ÞŒL0ø,'D ôTä?ƒ6:Ž îeÁÕU‚!‚ >„ØZ*™Fz„Ö/ŸŸ¡ágT–Ÿå¥ ú¤jvžz Ô £Œ~õŸo^ï%ËÖ[‰¢è¨õ,ÜŒ„®}WÚl÷oÔSKŸõ›²_pß;š§œA«‰¦Žfa)M,?÷öx‘Ô ¡}·ü&Äýgä—Ê'hÅ‚ÝiC÷rÄ*ò´L¼iBCŽhB·§ˆüTštÐJ˜_DuÖ(•8Î,—éV†m+÷5#„†ŸQ ŠÎÔd'í¼’ÚÇyBaý»c‹“&#´ƒmÅtÓ“Àêxn%{<¸= Š–ý{Ê7sÃŒ2-WÊ;4ùˆìKµaýÙø•y9”‹õó?£õYÔ`âbMüª¯ÀJÿ£‰óRøÀX÷"¤‘×OL„@=âsV´·lBìI9=¡ß  •Ž¢èÌU‚g`*íÚCFù cB´dZvhMª´b>X¡QûûÚW¬P¨g½„–SŽ(Ak :j#=ë_wßÉó5ef'¬¡» Œ˜]¡E[ÿ“©({¢y&h»q*¯¹J!d®³¢SZ¾øÂ‚úâÓø­–®ƒ¡­¶§ 6±7—r¯±9Îø 9jfùÁ±3„Æš!ºBX]…”4²U"t&ÜšPà®Æf¶ÿäGœÁ§uÂWÆ,mÕ…Z|¾îzÝoÚQ~FS´PÐÙù±9:g„˜ä¨€^ù*åxuä圾yA‡#Ȧק~„îÄkÑ€Ÿ7!ìÌAh«ŽIKØ—fI'­|€hÅë1¢Ã9 hj¬¤•,œ EÃϨ~ÞøKÞ;oÛYŒSzo­3”e£Ën§Dèà=>^Dcý«#»Ê}!¤¿Æš!ºÆ}ê{è/¤ÕK8\0ƒðLPãvè¡•gçLì/‡@§+LðZ÷LÑBi!„&±ê>` Þ€ýÌ|O¯¢ÊùiòàÅ"´æ6ò É^‚N–Ò"7­­´Å\JÇ£Ò†ÐJ|j³x­“5n±µT¬¢€—/~Ãú×ãÝ\r6äßkª™ üŒz³êÿT×öš0߈Yâ̤ŒpKFh«Žå˜KrTA#Zii7b~‰àªœ;1ßm«¬¤ÜrñZ'„`éÛ1å:ëºú¨Ø†"œ} V‘’:3$¦ýý¨ŠPK«îó9wÈat¹Ôä¬ËÖõ¡IôW¡ü„Ö pέi¾˜?Ü´ù àgÔ­U.dè ê4Ø)§ ÷jÍòjëÉq—†ÐVíQ·ø{½¦å„ÊðÚögT$Ñb(ZŸCs‚J„Wwjj«õFÑ ž+„¦²ê¥Y·±Zšh ¡šª&#tÐèe"´ !4QÇ„^OR;£^žÖþ,ÒÂP3ã¢åqªO„Vò³o4 ®èÖ¡ «„䀓|Ä­ÊÏSÍJ³ê=#tp)Gp% W©û,CB[u^ÁZà@è5”VÑo4àSÛP´/¥[W.ÙnëGaù…ŒÊ{ÎÁ¹Tu©÷+à‚F3elÓwtnp… 0ß—]šÊƒÅÚú“-o¨@è tfzŸ6n–`ÝÕLÊÒ¬ÎëÄšÔeàš*´ã±8ê,jUÇ‘J¿üŒæˆÍ]Uñˆ½Ñ|7¡ƒ±‚{¤B›QXЋGèøÙ¨ƒÒ&áé§\௫ ­Q‹}´,\ád„ÖW®é¢žù"ÔÌ«L¤¯Ï¿ÔÕ5§£x<¯÷™Zdmãs.i‚úœC†%ÐKGh%zÙ«ó’ɹ6E „Ü¡KA$òB B;ÓÌÊÎâµS§VÚ!Ш%ï_e…Ð` œ`:ñ 8Ï%¸C™£,BûJÞXEél ¡iÓ£&”&ºT*†LŠÆ­Éÿí¼Fapl²b| 0lâG SÓ]t)°*hx56Ä„ª» V]‰ÐÝ:œÁf»öqÔDU„¶‘…Åå¡–L„ž5Bëƒ7lžÿYHnVäø3Sö50ošp`ÁQXSÿËøÇ,çÇôõ œS{à(U[ÇÂÚÎõù!ƒ«EdÀVÚ‡þz“š#¡x–/×tTþüÞ&/ÐÅIÃè,@Žm,~Éüì[ë=yaÚõ—OP3LD1°iUëÔì 4jIŒNtŒ²ŸÊ´ÉÛo<§°þ¬õV\œ§›$óåCh“ÍÏP4¡ÃϤ¡H£èà •¿ó:à{I–4¿Ž¾$wEoú¦høMˆÐõʸ4~¶¢#ºv–uyEŒ¯~“õ—‚òKkrDç ´syˆ)‡ÐDw zîüœOͼŽÑ‚¿B(ÛíÏ-ŒMz„V:äçŽÐð3jOÑÆEÑ<s¦²÷6N|§÷EhÙ—uSÀ×Rmý šŸƒãaÒ„î–¦ZòsKLÑ‚àqí·ä'¤B")!:gYh3¯Wª”UBJ'Bkn1!`XƒÔ†ç¨»Þiš3•€Ði£’/£¾0(s@ñù ¶Ð=íX´.´Ü sÂ.4ÞTù iÏÄô3±’ 0Z%ÿ¾-,9S*,!j@ÑÆÈ‘ÐÓ+†Tµù ¹@åê$ÎüuÊBᙌêtò #ˆr¦ šC„niŸ•ü\?:™#äP´ï#z¦m=Ï”VPÆú¢Û\±Øy\Ш¥‰Þd¤© f§Ì7}EŒO]ͦàêf_•¨4F-‚КHuÐýXæÀ˜é Û€¢gäˆ2`D•”‹³t~ldmwøMåë0þçä\‰¢•óà(& ´œO6ãÉŒjt©õm^9=-8i*n,ŒŸÇ ”3”ÈŽhßÖ'BËÕ ªÉȃo‡>y¥‹‰4/êÎäç–ëf7!o³f)´½ÉˆœIFè„PŒ¡§âg!±|lÌbˆI°?Q=#G´sŽÞ_¤ÌÚѹå>Ža¨B³0n>&¬÷ ® EËE‚íL7*? óÅräŒÂFÉÏš"†X$BwˆÐÍøy*  ™ì+WPúÖÅÏÈmCŒ¼œP.Î4g„ÐX?4#~¶Ù.h¥Ý+e|äº$FL(j\ÅSŒ'“¶~Ò‘6ã:-tNš#„@è™]„Ü:™Dh WÉN ÁÝí¢ÂàÚR¹*\xwü±>ÝÑÁŒ+X?Ô3?ûà-¿×@hÁ°è*xv2vÏ-§éaôD„’’¥FYŒ/> Oš#¡•>j(ZϺ¹XB´dlXu·ËaœI§Ð,àÙgÕ‹Xž‚-f(Ÿp Ó–+‹›dÞøÁI0I×ä`a-!¡;±ºz{XŸ•)Œb%œ…Qó³PÅÀ÷üQpD/¡/Šu9¢;OÊ„“õÌJ›å$‰² ùV"˜ñ8*<؄ܶ>GtY„vFÎ1¶ÍWÄÐ÷ƒ’ÑИ_¥•(-dòÔópò‰ë'ø>„Ö¬òŒùòø9xé¢L~žP·ðìt5 Ü ÎÜ‹ t¬û"*”¡5+û*!´ UðEì 4 4¡;1¿É5ªæB)úUÞÆc£ô•¡|[›—#º8Bûj„Í‚Ÿ¡PW÷f¬g²  :Ÿ¢ƒ¨/gxs¥:6²"áâøæ/Á± x)˜ã#zF¾µJ·gƒgåiÍpM ŸKdÁmýþy盦׼ 4꟟eŠ®á‚v‚b¦}0¡z‚²»CIÑÁ¬BG¦~-§àu‘PK¤¡gµïÍ·Nì‡ñç[S& ð9"æË‘¿àȨ t{)pò 9"´¼’·’•È¡h£xbå/¢¢54>jax*ŽÐÎàç(OŽe3¡ûFèÙÝž™&%jõ·f´’—“t›Ý®ì1G§.N4 Š<±õøÙiån.9øDvÏŽ­±•Þ ß“ÁàB¿(ã)Ç(>¹–.B tcó;S„.µäP?sÚU!¡¨üážDOÞñ–1#ChªÉ]„ÎtϧŒÂé*¿HCèñ×c'Ñš&‹53zBÏe9á¬ù¹¸=1êx¡ ˜ÓÕ`g∮”΀P»×†Ÿ‹ìÂ(r‡úÎÝ÷"ð¬IÊQjݼkMH¶%® ÐsÃÎYßL„.²nÈ웲•ÕÍ„æ…aÁH¼ wZÈËÑóJ:,3ÁÏ l²ƒå”;’«¥Èå ´/AJœg”B!ºf0S˜P‰UßÚpçŸä»üúÜé®­e‚Sæië÷EG!´Í^7$‡y œï‹]Ÿ 0$¸/&qÕŽ¡Wíð=°“ݶ3G4–™k‚–ÁÏ×$Ô‘=«Êq!XÂ;¸8Q.º¬ç‹ÐVç…ŽGôvB¯™”/§²Æ_a6XiÅçî?+2–™k‚æÞQ§òXfR´z5û .-T"ôxãÁ$Õšly…¡—Š Fô?Lk(|ÐëL[ª/vЬp¸È5A+éœã¨°©âfcsG-$ ¢µ°`Pȕ狣ênjkùp#B·aÔN쌀ÐÂÃ>M%V„ƒÐÜųÓÚLˆÐi‰”5‘Ïú¼r Øz‡&~¯B ôÂ8ÁáÐÛª:'?û¼ >+—2ìÊç² uKç¬ÜNÈQc¿&²œ®>‘…rËÆïN›ýÞÜAЕvZ~Þ3;ævóÙC_n:9á†Ô®{‹Áç² 9ò³snÞ~9a ï·~³N§´b§ßòÆOËÎõ2Dn ´H„î!:Ëô¿œkvÛ71‘ Qu)‡Áç² Y#t”íš;B›Px³ü 3ê€M¡IÝŒÐJzÚ{|‘¦Æ·ÚEÈ­d:óZ`í¹2h¾ÝÉRå5–Êõ@h1ݾ.x¶.”YquW×SÏ•A³›¶w…jÁ*T9EÀÇ,5I<ö ¯`‡õå…ó .?GЕœ‹לîß BƒÐ¥YÑ×’Ä‚¨r°0£´¢9Wj •de; lŠå„-¡;Á×ÅgËt®(tÖÌò­©‡Ah„:w†äÜ)QYï6¡ÊVroÙ8 µ­«¡óHˆâ@h©mº ¾-,×9HûVÓþC‰ 4B³@è´½+ gkòB;©Ø„êÀ: Yð*ûÖ-:í<¡…!t¬P)Òãa£«rÅŧ["$PôÜóùÅj>¹l·\vPCéc„–3Gù›Š„-¡Á•INMζ4¡#;Ï•™×Œu…j9.h™¥…”ûÂsÌo°Ñy Vf1äµC„†X*Œwr½B3Hcä¹8³à4Ôçì&9φÃ&/Â3’£)¢Ú÷²C#BOeüfm|ä,Ëú×¶@‰ tãÓPñĈu±}ÝÏY%XÐ*Á\û:ÿž‰¡¡§Kayõb°ÙêÖÂXOâß0%‚Ðíù_4*ÎÏÑϬÐ-$>Jö[q9¡ó¯r BO54÷ì‹VšbÁnËf}v[N| "‚Гܧu ²­ñ3û\ÁN¿Dæºìà’@_bRÙg‚¡kŒËÝR´ÒFDFÅB´ÌXx®OíÐs¸5òû•ñOÐdZÖbçàk0c¿/*φ"´B t3„¶Ó >“k¤ÍVqJcç¹>š‰$Až¨à}aDxS¨`r÷ªi'÷OMW—k¸Ð+¡ÛSt°¦jcZZQ=! Œ-רŠò¥d>¸¤Cr}ô· >‹*Ò*¯ãÞWz$dã\ÕBÇ@„n«AËÖìõÞc¿Â¨KÓÊÔ­¼°ð!=íÌU²™Ë»#ÒJ‘oåÇ‚>iV8*£²B tËAarG´ ¥'b¡å´¥AÓ=~X™éîkB¯ê"@ ý;‰Ð>s*B'8d0Vº¾¹)¡{³Ìmr#oBù‚ŒR z¶sX¡s®k¦Ú_ÿ~ ­àÞ…U'¼±/@ÚúSd$OU”ØD7!B÷ãoé„¢£Š›”ŠˆSúRr2xà6¡óoI&b±¬ÔÔ~Â{¶l´c¬ c6¡µ‡ùö_NRÍ„@èAKmÓ”Iɇ§ñlgnj|‚Øü5#´~ª3O±Ús ß;»ApV(ƒ¢} ‹OU6û©IÜ„Ð"çõ 4]¼¿%W’•ƒ¢‹¯|¡WŽÐzÒ“SãÒ‹4—+Óäl¹Û!!Ÿ†óräg%B;Ç •ÌëAh(zrä6bï½ JõôÃ…YÔ¨E²²çŽ”œ b.ã`=´œò™tìj(r„FÁϾ <£ÅÌëAè…ø=#ðœÑç9 øYE¥ï²3SŒÿâ:öDÐ%ÈDLy¹ò‹MûŒa³;·Ù,^SoÅVËã Ã^üÌ­v^B¯“azè 'jP¾ŠW5ΗÒkCè`͈ çðüº¥Ã'ÊG=¯þ/ã±oស˲¾ ¶Ð 4]jXÊli’{Œã7¢R‚¤¼Æ1Nß[’-5¡Ìšù 3¯(,,2=Ÿ¤kÃyð ˆPpZ< Û£ÎëAh(:s<’k¦Èùœ5{,˜£ÉwØã(ÜÑ«Bh£. aüéyñ?×@Ùi¿Þ¾ókžåuOÏGë™×ƒÐ‹žÄ ;wç[\Qägg¹ÆœÎ/¸qœÚ–Â…K(Ó ";_ÝyO+uó6pA;ã4”®æÉû!=­a^B/{ ©ZÈÀÉôV]Àæ"w«ú ºR Ý•;"ˆ(ÁtÐÎzδc\þs«Æsºàg6Š,ÍX„æ"za­\l%,²êND î¢ÔÙPªçÑÙƒjBayU¬plò*,ÓÁʲwμ»%?ë)Úõe@hv]„î v!ëQlú)9y)4XÚº<‡¾R/Œ\X¡‚ç¥,¸&,í}…0R¬ù®²DNÔ^Ú”¯ÚÄ"ìsFFßF ^ ô¼_©DÑÁ2aQ¶Ý·|OÌ¿nÆïT÷EAk’0¬Ç͸¼ê„ãóÒø™å‰äFLš‡Ñ+Þ¯b§*Q•\Úœ¾²ÄO·v:6bä¡ÛÃsYú*EÑA>*ÀFqÂ^°„SšOѲç|ŒÐBmáÑ?†hÖ-°o¡“ºs’ÒàCHæÏ´•¾ T?cAÿ†.èœ tËß´R2üœ>,J%§/ˆ¬¢T\Y„¶ž¢áã° 9Ìuãÿe#+ñBëïS9fÕ(úð\Ö¦Íâm+ò|~ƒYôÑ3AèIø¹FI©´žcBϬ…OÆ>KÝ;T¹(p‘Q؃í öœU„^Bk+ûæ¡B˜Çzâ:|ÎÞîãyx$»¦ýiæ;É¡=„^BËã{ÚQiêw;‡°(tI«Ã’ÏϾP Ÿ7bá]lÑŒNGv, ¦¯°ÙO ŒÉi°Rκ„ä?ÂÍ>áO3ßIè– ô´¦²l!XŠNG4QÓ¾¼pwŸ¾”aì}¤ xö¹×¹Xl¦'(Ç—Ê·žœ«\[õÅ„˜¤… 0q“ÔÈîħ1£Ã¡c=GÏUÒlXÉñøÎÂG§Î(ã¯g‘|3D ©EÆÓ ô’;Qyg OaÖ =£¤Ÿ¡uöIº*âæuÂ.J ñšEZ0<ë„`ùÁº/"EÎZ?÷r>„–?3v8'¸ ó§¨ t=xîg¥'Ð t%–N&ê`šå䃉Cƒ‘ÎÃ®Šº‰|‰ nB‘˜£yQ\0vüB¾A¢øy…}’sе?¶™Z(ÑAèÙÙÌ(omƒÕ=A„rò¸J² Ò±ÉT hÊzòSšpñ­œcÊ«XNØ 9[W~!Óäc"ìCtEºO_oÜxìÖ¬'ÒÄ‹úÂSƒÛQŽìújÎB ÅÅ[Ñr”uAÛõÕâipG(—KwhNPBÛ5­qXFWìð7¡‹ ñ•²ÛM•µ)hX|oŽƒ+‚ -¤þÐc•¦¨·þ»ŒmòrÂ(´†Ÿj'1/Á6ø„î͆*õÃn-0]¡khª‡È¾AJÃÏΰ_(µæÖP>ÜwÖÚ>ô_¶ïé“Ú9Lï‚VFϵ¹%áWã¡‹ât‰ºÏa„îy;íCd¹8K,â:ñFŸ“*XI\Ò¾»ø0×¥N äDåVÅ¡äg†ÔJfs¯6¨žágL½r~îj˜¡s~ñOŒ+Ðw’GQ m|E†(»ÛF\H([WÕÍõǯôBkøÙ&å¸C™Ü,ê”6{BPtÚ>..@—¡Aè©83‡œÇ ]vG™ülc–û%û„ë3Ù„ÒqXO°ôJÒD¯ ¡õQÉ9¢Q tÑ\på¢ BG¹«ª=:ÓîG na¹Þß$õjŽÕqÊs×ð³ï”=¾¶å¡gо©åø®Ÿ;üA|JÂb„•È鄯S™ u…Ð,'DVW‘$êÉfc~Ž­'8>kŸ#¸Ó`´=p2k [!BË·\È<ë¡×L}X‰M,tŸü< Ð’sðO“ó³Õå|Ötu¹vLðz„–3Ú Ÿ\I¥Œ…Ý8òtL“-™ŸakP´r Å•¨Ú ÝYÇëÿ·¡ÓÆô¨Ñ_öÍ ´`š¯´ºÇ2Ò(ë-êI;êjëSs¬Äó0ÓS“Ó>Ë5t„»5™ŸÓ’¥£´‹üɸÔX‰âXŽ®:Þ,~º¸Ù7êdšw:äçqB9 6OÓ¸G'#´SsÉ7o-ç‹Ð±y¼ƒ.èLÿój«óL莀Ÿ±͆õq¢E?ƒÐµÇt«p8' r„ÞãX͉kB&‚'>.¹bâ·©¢MÃõìNßTí¾çËÚÄrBø„îj”Ñø–sbH2ùÁ´°5MynájÜ™;¬“¢P`%ˆÐJ²UVÆÓŰ þ†ª©çQ±bÚüfľi•}Ô9é6Àss„žûÕ¡›Y~}ÚãTÐÙä}Z=?×CèäÙñÂ|JëAh-[W°PÔ,r%ƒlZ”Z)ëB·ÿq…ŒFm@L‚Ð>+±žÉr{ÞsµnzrGM°Ûh&ÅUG(cA¦k½} VŽë ¡íƒ¢—±ºmlx}«SÞ“œú–Ój–?,{Ô“íUq¢‹M›‰ŠxTZVž’‰½¶?Üç‚^† ¢·£õMÙ–q7Ð55{_r9ù£R›‘ 7ÈÏz¯õ´7ÚÂ|Ñ ;‘q5̨ˆŽ¢ÔŽ2+5DWÄd]…e®víáÀ¤V=(x¾*'ÅÚùo¬‹¬7âíû—m6AèJ3¬($–ïåÆ}XüAO…&ö„æ\2züŽP:3˜6\Î>MÚ+½[/Ù„npA×ÿ„',-Ì„\ÐÁYUj º ëÝìÅ/x‡°ºx³ Bï´±;j» £l£>àDŸf93nІŸ„Š‹GÉ¢Z¥ot¡‹¸Ô„L>ú)9ʪäéa³¬ªr¯ÿ§{ÂZ‰ª _ƒxû4P 4Ö=ø¹†Õ21m±cŸ°€KžÎoty³§ šZFñzZ¾…GÕBn™Å—P© HQ>7¶ªô%¨êõ _%rÁ-—~è-¨®`UNÿ B#›½#³žuñ›4ÿOBå„ì8¢9…"-—lÐ'f$sl&®¤¤\çcA½êÕ&ðFTœv´_¾Ø’f-+j›Eò™È[U¢3 4ÒuÚÌ{¹=B'”)Ó…Œ=ÊH’NºÞ~›™‘ååèsúa|w¢²xž×–º8EYK®v¥¡*˜š¦R– Êwq>E ]{ãm÷¬òA’É•£vÔÖ–w[е;­’Ÿí¤ cŸ«úNÁÇÏú¹°¦ÞÜ|)ºå||©Ùùœ£@T3£ðÏPdaÂé<Ýf¨ F4U‰|D­ÏYiF¬è‚nuPi8HöëãÖ¦M< B/f4Oža)óº7¸IåGÛ9› ¾V’Òº¥}^Þ}' ´…1 ÏIƒðÜfüZ3EÃÏ“ƒ´BPêÊË«ó|™Ÿþ¥ü²ã&4Æ™†.hÛGú)ù'ÛTÈsH ö's¶îœ7˜í–×ä à¾ûEÐÖ³x¾ÝØË±x„¶þDzÁOS¡l7‘Ò5®—±ø¼,˜ÎÑÔ *ûœ}•}‰22o®`äääO ûéíUG+2ràHɹ˚¹ “gš™X¸Y”aÕNc>íâây!ô"Îé…v:säRú@èLãûçÅðsËy™|k”’Œ˜=ÒˆQÇš…~™§/,|h“»ÿ_Ï Ððsr¿r2a˵g“«"t‚ ºO„®DѸ óZàç`^Ù²ñ‡d.Þ¹€¥,†o¥€ UƒŸ¨ö=™-8ò ÏŽåu=Å#úúïóU}òøÆš¥¥à›ˆÆ}ɨ«K$v9îB¿PðEÌ¡×ÿj3LŽÐÖËá[{蜚ÐU‡`ÙÌNU¤À‡&_MÚ“‚d„öYÂJ ý‚QжUh‡Ò•Ôá]Œ#„žÖ'Ѓ ZoÊ‚4(Ç„§¹ ­+®“û.ÿéá¦f¢Qùâ/ L7*C€ç²¸’ ͆HÂÈ…Ûv“Ô™üÀµ9¬?jÂ7šdÞ\B†0×È;7k¼„¢Aè²6-yhèÁ@tš…6Þ-#ô)ZYx«÷ot'ä²Ó$èHƒgß:ĵUhÀÀ\À ¿¥•ø –¶ÍÈu·ÊIó4Ãbþó;áÔôü\¤ªËð’E… tû1BˆòšÜ,ç÷ù 0G=ºê¡5yæk[cýÏ´¤ƒ -§UõÒLN•j c=Ó´¼ËX¶TŸQ#t‘YŒ<ýl©ü@3svf"“GMˆÐP4:äg›W FÏl±wŠìˆòI®^°BÇTk ŒÐ~NÞ¸ÀI´FÙÑ`r«[ë¼\Sx¨àêE¡*‡€µrâÊ´)›ðØHðÛlÊ¢§Ý 4œwz'YÚJ͈5|›ŒÐ¶3G´ÔgCåSÛ<§V– ˜»ƒÎ©Ø„íò>Š}+{g­¡7Šâœ:ÎÜéeëhËþs¡}a*™¶4Ö-WBoÉŠP4ºrA5ç„ÈÁ´½S9ðåª^Íx#¡—e*0s0a»f‚#?50‹p—mßêÍOWËÏB7+µ¶n#vøIZSy<ö ĺ 7bÎê–÷Hç·@›ü$ 4üÜ› ºT÷VÒ²LàÊúà=#ô\~²Àó&T)ØWH%YcÏö†pŽ:Ýiµ“Ø’ÊùJÈJZ5#¸–°¸^ÃÏÅè¤D(„^9B/•Ÿ­§°²r#ò(à‹Ž›ü¦ëŸ–ºÀMΑ•‰ÐQ·ðÚB‚“ÜÎÉ|¾Cã¯ÜgóÖÖÉ÷K儾¤î{ô•P: ¡}]׉÷=¸ ×CÑ 4nÛ™"´>Ž4´–À¢¾‡ì“ßwÂJó>§l‹‰ß™Ù„ø¹ÞÁ,¡;ïí˸ÂBä†fE^‚1 vàRÕ4„ gÇ8ö8?'‰\âVXÌRd½ÃJœ´zéAè5 :ã~2÷yåØŽE­çÒØpçî:¹ï„*xÓúÓ䇒‹Ah37›,ŸS/ð0òµçbGkf‰[ T®Áòj\_iáF3¡n)ó³õ¯/’‹c=UHÖ숡ی­¶ctlŒ„Ïà´É>›ôãc9ì¤á&´@f÷oí ¾nýuEb6ôWØ·÷%¡&)2Z^á½âƒQ2¢…ÛG3F¤ÙÉ`1åm¥¿×ŒX<×ç /¸¬²+L홢AhL†ßaoI«îí´ÿJóhĬ¤3EhÛ‡û·Áº˜®új!'c¶ü”ay Aè––D“tÂT èØ*‡J¤Ï˜'8"”–Mã‚v¦xòXšÎøÙÎB¯žƒùµºê'iU®Æ_f1’“iÖ+ÝÇÚ#´s ›„=–Z×Û7&Ös8Çnyy´©œç¢âŽ—½î-,'t³>µfZÕ/F§O”\QEéŸ÷mYŒŒX¥±‡Â‚˦hzÍfÐÒй ZcEeëm빂pbÕ%Â{pDËyH&ÌØ0U1—–°¡ìK¥ | Ñ¡šR†3Åf¡úÖ¾™öecÞl€ÐÖŸ¹4¸àWàRç¢9¿½#íCt¹0¢rìm­„¢Aè•ØÀM(eÿ­@•± bB·¿ªÁ${Á…3ml×ÂÖ¸iJ¥ѵì‘9îjº¡ÇfÙ‡&1ÂÊ E9¢ƒq}Ö³:ÛŠÑËÂå’—j‚µ29VŽÐv¹¥d@è–6Ðç¢ìùàÂc(&舞/B!m¨iIäcÄç# lý¡•J2‰:Âɶ±ÓÞÅ d‹AäG~òEÑEê³(ÚÄ ´0˜˜’…ƒ`¹çç¬nó´q©=GãBWÑÎÙ sóØ'Œ>Óê ÖD™úPyrŠöe± 2^U¸uÌ’Zø|‰4—½l}vÓÿ9èÏŒ-9ЦšõhÖ…×:hÿóoLeÂBëùYx´§M žKÚí–EèÅó³<ªÊ ìÑ`°Ò ×-ÿ3ˆ(YWŽS–R³lßdvr5±paðfzr, ”_6¨½g.v»Û™ݹ ì¿–J~ ‡lð}‰é”öS¹¬©%ÛȘ\?^ þ—ÍϱCjð±Õ=I1¡$c3Bèå9Ö<ÊëPñ¸l‘yi­€ÐÖï”vgð¯Æe!ŒM>ËS$ãß:):ah¡1q³@he¨F¬ÿY~\NèK'ç lÆ6Q…4™È®¿€Ð>NHŸQδ4•ðóï MçýV"%Môø8å4wV]q>"Œ!4¡²§“' ˜ B'{á@èuÂsÿ¹ c/žåÔwôÞ 9‹QK¶ÑÄÖæxsª€-ˆ’ü )ƒtrIú™º}€çE"t0–É–.?í\H˜PBÔ9d8M\l'.…p:Ò"5_'æq¦€B£à„«ÛþPÄ+$Ž–¡¼®Ä—¥B„Öx/eþ/²f-jþ2÷9©|éŸÛÊî)ÍÅŸQ‘ØJ£hv·ƒõ?›ó¡K´T‚yá;Ý)ã!ÃæUŒ ¦Š²b>Re²¾üß4' B/Ø'Ð'/˜×(è¶þˆh;xaÍ.hÀЏ,’/5„#Íu/WøÕüŽòãÝùNXÞ˜öš$d)÷Å(ùYΘW ¡•%k…à+aÙ‹r»å2XiTƒÐ›Œç†ÎÕ—‹Ah›{„¡íLòÏäØ#ä/rþI6È>önðdM‰ÐÂRš¿Ž™OOK>ë„©‡/_–¯k8Üf,èsn‚lóõȱ1£.fI›ù3‚=£…Ð6v ‚³#FPk(:'׫ü›æÐø"ï,zå½<ªØÃÉÏ‚ ÚŠQÝšî࢒6üœ Ò¸ 5“š¨t.ÊKÝPGuˆækº›í+Š 4)rLo=„–cE”¡&ræœñ×£øSÈû¤ “£S4?„f°Hж S¡ÛL¸6`d-j¡5#Ú$£É¤W;0;gMÍ‚ù9j% 2K‚s¯[?ç0j½}mâ×±ê+V7pAË5µƒË …°7ᡞqcÚ*ÂÀ4T¯¿+M(>$¡—wƒƒÐ€ôº´œ®SàgçlBHÓgž`ô9ükXÎBÅÙMÓ2ý²#.Ø—4±:}"ô"ûÆâZã´LjjÆÏB—`î‹ÍÙ`g‰ð'~o£ ä°¡´«ÊYy>¯ äX;„^¡AžugŽòeÅ’ B;s„úØÕd[žרmRÛšÍ%ÇZÎu.’ý/èÄKËëhæÃÏPtWF[€F3}Wz**O äõ/Ag¬QdfŽZN¨Y«˜– 4a`‘å„‹Ÿ2ƒÐ84æÛŸÓrV·œDv¶ŸtGÅ<›¶ñb,gŸò`Èý†¹DÑ€Ðù¾‚ªK’*gÑi{l67bP‡ó|…¯cƒy)5uo‹¬ΜÚ$/iYüýÞù¹€Ð+¼”YpƒK'dðö¹ }¡ãAwÁ´Q=LüÍr]ÐeË kJ§ù*©i@ºÍ¤‰¾ÑØ6ÈË¡\žVpGm&‚ÿdbf! “Þ™ã{r*$‰Ê¿ƒJ-·ñ ˆ@hz©=Ç„3ÊgÜúçkrVŸ÷ÏGÑ“X Á>U~àEFÝÛø D§?G^,£&p{ÁåEôyAõ½.-³iÂÛ‚šlrú&¾ZKÎñ(ÿGÉ¿Èi¾èÅO™{>#zµƒWfâ £HøéC#M¶%!E^ÝÃomæH¾dVÊq?ê‘«¯ÇF¥ sú«û¿€ç¯¡’ÖÊfÂlí&ìF̳·wŦ.±ê„¨>Ã^dˆ™„¢?e¡1¼ó³f¦I&/úp+ÁúŒÛ„Yy;¬ø,º7ßÉfTš©Øˆý]0/tÀ œXŒÑ.Ž%‚… ZÑ|«”H9dOž ßL}*?ÍúDÁf*)ºeMÌ’R ¾=Ah4/„nL*{* ´L>‚#ÚúSOOÎÏíÙi RÏa%§Ã*ò+˜P5åœq£µÑLgsÅ'ÈrþdÙŠæðmXhM¹¢¨•zš|wšAðÉ©õgdÝûLr¢Œ‚ŽhK-¤Q§¡QÏ “`BƒeOÎÒ ×ÚŠŽhÛöédÿ=9ÂÅVz™ÊÎ3﹇ÃÏ ³„Åï%¥:³­¶œ0*äØÇÕšOŸŲ½Ó¤ë¿¶¡hùð˜ävuA@hºeB•%ÙycÁŠŸ²Mr\|R¡{€ù„P¥ŽÙÔáç E¯¡LäªlàFá(•¹W³º$¿ÖF%„†uè…ì]4ŠŠá±Óy¥#ºÈOE÷àî¡Q?ÎCëª{¢É¯+¸)æˆÐɹC‹’QÌ_jt˜„qMió‹4ð]~Z4#‚ìˆÎ¶®\¸Zä.6ž‰Úí;…`¶J™ì+2Bû†¶‚™âƒüÜEƒÐ(Á2§å²›wë/JØ EGº©rqf?GõðœÿÈ;¸œ0jp45£UÈÖà× –ͤheèš/[~TtS°¶H¥;Eã –ëÒ&¬GˆºV‘|¾„Ž„¡ÑL{² UNÑäâðyôŽè––D³”rª(«XNX|Ü4ºGÞ c}Ôêe $cµƒò&ä¼5ÙóS!ÎÁ7M‹í–m:˜]D™IcìH‰Í¤ª¹äÆGÑeÉùß…¢ ä@³è´NÊ•áY7¡Çöv’¢* ´2– TŽÙ.p´xÕ`À|ÕžÖƒÐʧç9öÇøó×ÿ1Ä&œÑ¬ï+{§ lb(:'˜Jésš‘J©¡èE:7@h¤ï®ÁÌ5ÚzB““å1Ó“ º óµÆÚ·äGá .ªä× ®kË¿ 5ÏœJR-Úú× ÐÖ¿ÈQy²i3=E÷Ïd¦U¢{vn€Ð(ŠM ?[ t2Bû 47ãçÉ'Å9+ïŠS´sFSéHª>›F8 ‚½Ëq»„VYGÏø‹_'ðs•¾R)&í¼tr:èLŽÒ¤N­¨PôRB#•Òôþy½Œ`$ƒé§*ùX:œçÄ3äk.'¬„Ðr^F”Ù¥•PjýÁÆÉóPáiŽ>ÞÃúYTBèàRˆ H[]àw© HÁ¥:„½C„†¢Ah4;„z´ŸŸ¿ØBOõe^¾/:­¾vòuü',º–†Ê4« £Ñ(ÓèEù!Ù×K mtEµôáÐ{Ǽ)‘~–+ªË?Jqï¦A!;-zYmBƒÐx<ŒÐÖŸy „ž¤Å&—N.y wlpÙ+Z§Y6m!3ayõ<ôq–V” ^ ‡ÏÈǨS‰²gáK©7žt×xpœ°e½#³B¯ ¡ç2šËÏ ƒ3z««öŒî['?Û©Ÿ-Ê)[õÉ—‚!ñmºqKÃÛ‹i™W“«Ö M(Em„6b‡ 9œƒ‡W<‡æ¦ÜþU-yf9*–‚Ð+¤hŸµé¬ úmbK>)—®¡‹Foæ‚„d°4ÃÓš¹:§¢t½n£¹ƒLý)ªñ¯U‘ó] ÒÍüÖS ¡PT3OHŸu @hº¥M‡ÏåL09F„ZºÞ³Åd³Ì©å„™¤à£¯RI±ÕÉÉ3+90õ¹8j{Sƒü,¤] –èj0ã–W€VºåsÎûBcœ5«{æg-dôU"´º°iÿ¡'©Æ(<8ŽÊ­!<ž¶rºï` è•˜e Æz Ë&tò^ðNÑDYËlhý  =÷IKUÊ5á‹ÙnàˆÎ_Tˆ@èuÚíY ÐQ €Ðs™Å4Þ‹ÓöÔ@³HjB  _c8[ <ï=»O®‚ê¬Ü‘v<?m:W&MnÙõ’r,tÐmýõ»+ÞêE<#ÌdÏ^o÷H>BˬebÒz40#³˜ÅLµ/gRîX~nYË ìØZu>šÐ›P¾ˆülýKfÀX¿À¤ìA 1$AGzí\ñ²{§ñXœ¶} ¢|}›‰wAËN†X„^UQ•ö! QC@B·_7Tö%:zÁü,üרë &ß³šE»zòÔ§9*rÎŒpÖ•)ZX4UòöyM±9 4Ò8åL^¸Xø¯Ð mu6Œîу~îÓ-jB;Ð’Z³äŒ²(ŽÐòôݤe{¬~e±¯ÌŠ81 ÇŽkÖôLÑÅÞÚ}ÞªÊäÀòCºX„®J/ð³w„Nàg;‡ r ôª(ÚWʳ‘_$(#¡Ï©^ ¡­ze±\ˆ\Yµ°™¡ËOÀEƒÐ 4 |“C—óºÀ€ÐʽG!tTîÿ)*ü¼0ÓºKi;;§¹‘Ü+‚5@•-$–) íL¡,¬y Ö(4£Ì'¦Õý•™€„¡Ah@:ÿú"´ó¿ tãþfE—²óÂh¾€Aå„K5­V§±÷¦›“]Ðò­çãaBW*Tmüðì‹â}ÎãŠf÷WN(ЀtK~–ÒÐ '£=%³Ôúxaüìì´hUV×x”ÓŸƒë÷×PN¾…ËÖøÞ( lÉK}Ñ2-Ÿò4Î BƒÐhñ ›¦²Ha;Áë" ðsíaEˆÖ|qš¬wŒhŽV7!¹q°ÿ]ò ß­§)ð]ð^sú…Ÿrî©q°w˘d!Kÿ’»„F]tT¥$ ÍF-¾Vª#G{·ŒUD8'Ä…2  Ù[øé'Œ>&w:–å °Â:¾ØÒW™=öu ùL‚y¡MÛB í÷BƒÐ(ùVí¤cýÏš'nÂSmrTü³õgG.è+h‚7lc„Lf’Ò'BWr4¯ BƒÐØmJIš©f7]¬³½jœXcƒ6G~–Z¿ïHYh~Fs±Ãúά¯ë]6¯C„ÖŸ•')=›MŠÂYЋ7ÝF‘ê3Í5Œoj=BǺ¬û÷3Ì ¡e`Æ< õÙág4_„ö%¬Óܳµ‹ÆšPâ»É:mYeç½¥Ããd9!½r.2‘ŒrG׆UÊnä4¿“¤àèvþÞÌ/dv Ž€†ø ´,Š6þ4VWªÞˆ53GнYÿ*lüªRtΟþëJS¤²‡‡@èÕòs0àAc=B·L©'§Þèó5£GZ.‚3Nß-3VÍÂ;Ù/ö®¬qYkà¼õ‚±%5ª«È×0aEÌ,†lÀÐmyua¥}¼-¿3ùy*WpÏÝx!¡fî¦)(\ÕÓ…Uéu•¨(~ο|7réb„vúL/Î"G¡'¿媦 ùü­ÿ¹¡ñ'êsBÑ=öàèèäúËÀÜ`ÕÐD4 J69¥6}ülÅQ]ÝxãhLÙø¨jߞɥxû¿såYÜM 4ÝÛ„¼a±s¨e?vϦi©ôÞÛÁh²vû2Ín þpÖ¤£RÞŒX·í8Úz*kçtu#¦ QæÄhcö“ïÇY ´%ï=¡ûCh« 3pÐwaŨ¹•ßõý8ç;ç@ º±ƒ+j)BQ¨Ø§Éͬ„¥OŒ£ÿkËU0i{YEc|@hz*XÒä¨×ËvÂO¥2â3ý!¬ë!lW«ÞøÙ†\жZ¤¥üø„F•æeA¯£ÏfRä<9QGòʾR ijz;<¥‰¤AhºöÍ«§yÈîdæ`ü팟$¤d.-,G­½XIx|?£RÖXs3:Wj;g— &EƒÐÊå&&Ç{‡³õÌœéŠ×[9Òw€Ð tËYp‚‰’UF¥ÅƒŸ{£èn“Tû®Rƒp£Žöļ dk¬)'4¾œ±ÐÉöÄÄÄ–œÆ&5Eó’:˜s/ù 5mZÅÏ E¥Ð2½'¤•^-B[—åke~Vö·âWR¾D&r¾‰P‚öñ³õÄo$#´œIRˆâ $õÿ¼¦ÍÔ;sû¸Çd 4ÝGáYæÚº·±hÈ$Þ°nZY”°ÒŒ ð?£é š—ªþ)ÿ[cPRâ,Ü¡¥)X¹¬¥#šÅ 4=9GùrÓíoÑÜj)ZãŸ0œ£ÛA-ªRp=Ç‹&Gn002(ÊËõJ|ë Óz£(òŒ…Þø ¿vnð‹T¢QV.Ûä-*TÎßAh„ž›e¢VZeùïU]j«HN2 E÷ï‚Öx`ªŽB4£ÓÉ–Së!+Æùû|Îi­¼q”éL ogwµ¾®©\–ïŠOvDcv@hTž}ëD”ö3“Ÿ×sSë¯CƒJ^ó³M­?X¡•«½¢G×òùÙøK¶Gè±ÁO'gíMÒvMå²"v)ÊÁ¡AèzÃWfE Ïš´¥Å“ÿÏz@øyBŠî¡õcqÁqJ™s, ­q ¡4–Ó8œsf)9‚öÍy wõ(ÔôYoeå²| ›ƒx¡AèÚüœðä. ­¿Ö:ùÙù_aHZB;=iÊRà™Êäâݱe ƒá‘ mH¹HV˜\—BhÍrBå=;/„Óä¾ÖÈ·Ž²x%¦f…Y‚FùÀAãd’Œ@ëAh™MÈùßÀ<ÎÅ­O´hãk÷Ä.’‹ù&˜õ—¡p…ð ’—ÁXvü¦%µ ’¼¡gH q ÇR´Ïž 0¡Ahºn"×MkøÙê<®+‰å¯‰pÚ„st‹Ðšô¶J×t‚JÀ]M^ßH'd* dqÍ~ _(]0¾Ëy›$$–¿¨ŸÃjÊÏ¡õsåh E#z>!—~®Œ]«Eh!Üù¢1E÷œZ˜ÓEhÉc¨ìXö ‘ÁÏÔ[g„æËÏÎÕ¦QÞæäÅ>+-O}Õ[ì|.cýËv2Ÿp¹ú¥ý„¡[Úðä%Õz`^Bû¬±¡kStÏ.h$—ôJ¸”ùj”O½…Ä_ÄHc~÷zBÐmË÷4Ü9õždgO®ýÛÌ›düíË ïsS¯CÁñ„¡Aènz×Ë.èu"tЭGèJתC´¯#%Ÿ~‚#ÚWÀÂf$Kzç@è•[`ù™`•ÚÙ±õžd¡' Ëoû7×>~¶žX,u×®ÏEƒÐ to6<Íuà³ABLQqŠ–ƒ™c]Ðò;QîG´lókB9„…œÜK£Ú7WMFèÍLêzËVwlºåœò'‹Ï&’e!Õæ–X„Ö¸2„^ê]ïs¨ >yŸ1¯Z±ºÛÙ\Á#Ô/ª’S j\ÐJ¢®Q¶ ÍÚP˜Ð# aÍ ¯*† {9‚Ëoûü |6Ùz ›˜åÉÅáŸ{ „¡§‚½fÓÔbLÓ"ïz9 Nб©!j€e{~®Q865ïÖY9¢%dÂA+±ÃB|ÕB[E;¡Ÿg.'œÝ“¹b¬óRh’XN…ÐP4 B÷`Rô¥šœîy•ÊÚi¢… ¢É Uð iÏ.èm#—Äj:™ŸçâCýÜ Q&4˜füßࣖ`R»9>I Æ×  })¥ªYw h„îÖ¶Äò†Ï€¯ ¡ƒ.h=BÛ˜2yóEhá4+Ík”s«öõYE*]Î(í^R$Å"t°„“`¨ggUôü¬¥åÖpæ'©·¤Å÷&v„¡{¶?A<V©8IryS`Ôœ¡óãÕûwS$§R,{Öz„–¡%È<éï!ER0>_ÔÌmÕ‘Õ³Fhë_ºåÖb<Ø4–W€Ð ô\ìà¯P"ô’¸BX.'¤æ#t·Uää$5†›`18aj#à´P…Ó¢ÐΈ«!¬"ŒžŸ­?·›¡g”u=[ôå¬kŸÇ¯å"tB£~¡H–àˆ[B+ùù& ú(Y“í‚^'B/²¼\K3ÇQ®Í©ŒÖf]••w|Oñôd¡ÛG•Õ›BÃ6‚ÙG­'`opZ„Ž@hÔ?;½" ´†¦„E—AîÊyN×ç07 BËÑ×Êõžò­¡OkÃWdÕiÃåÜÑÊûÝg„²Eš‹%—iYXT´ÉSÝÅJ× ¡Q·F>X9+ì±0~öÍ5|ëëcýf ­¿~e³9 eª,ý&ÃyÔ=Åx‡uê•È&¡åÈʇ)3Bè`ÅXÁmÕj4ÁêU{BƒÐƒ¢¦0ĪÚçÃTVzÕ/H)Žú½]½ÎZÎëŒÂk„‚ü㌯Ð? ¤<÷_ Bû|Ë„Ö«ÈÆ¿EóT „¡»µ?{F^SKKJ:ëÛ\.lgî£6 R:âh6¥(Z“Ž.Ahä뜾ޥDh}‡³Û/,CÊù=%k3íTpB£äInÐY±„öevz9‚ Wë‚nà¨ñ¹ÚœJ”üœIÓ.DšË$kµ ­qblÄ@£`ì®Ãú<“³Fèà_ƒK ƒóâ6†·3 BÏ¡}®<z/rY„NJ‚v_ØBÃB½16£pÿó*­Y]hu1Á‚Y‚Åë¡M(9¿U$îÐN2ŠéO®ÂíBƒÐ=aì‚n§É²¡²ò¾zž\£8‚eeš!tçQ½!´rùgðì4«;‰…fž ?9y£®®Dhy²?„Ö» åwãûTXþÓ~ŽÌB„îi4î2Ù¢ÊÅaƒÐÂh¶„ ê• ´/—]³@0‚úª7°ï_…ŒÐšÚšA’TúL:äçà¹Ëšë³*MxqÛ‚Ð tov[黉¦hÅ|Z€Ð•.BçQe:vÓ¬'RÖG0ž U¡» ¢`ž Eë9”ÆVX17w„–²aÿÿíÝAz¤º’@a–ÓûßH¯@³Þ‡û ëÙ(üçÓà^—ËåÌé(E4Ñù‡M…þÎŒ]›Š3qŒ¦3H¡ƒ˜|ólàîf6³#.•W,(ô×"»ñç¸:î®Æ%LãÈÉS‚BsúŒé÷ =÷Hžà ÊA—z«—fäŒTv}eR´%þÑþœ2ØTèf‘Å:Ÿ®ÜTè­òße¯ØTr­(ô×D:?iSk\ùíq wÅ=’ÈqÞô»xÇ] ÷ášëfÎÌî®à]oüé ;Nêø{…פºˆn*t­4ÜšaŸZFtæl`&àL¡A¡‘™·K«ol Ó3‚¦±+O8ñ OfŒ_¬ÐÊ⸠‘£¦¯ÍPÓŸwUyࣼ,—ÒÊþ‚Ù8“/ÌHµ{0(›¼¦B'U¶y0sw7#KüÍm~ÞŸ?¢Ðµ˜Oæh`}_PèËŽÖ6>.áÀ®:½]ïÆî…Ý[,1Ói%Vè8ýã…Ϋl¼±ÝÝÔïúsÜ·ÔqBPhS÷@ºK¡—]ß›!èÚRÒ¥Ðs§ßõËAŸ§Ð]kzF¡“‰ëgEZÖ_Ö6q»GSƒªúú««©²ÁAÝø= ±šò ˜^R‰“VyÕ…ÞçäáìîSNÕþEÞÕ³zx-Îtñnž™åϸþ¢­]œ?‰dSèæå"“ÛŠ Ó®€3(4ŽÏÕG:h°à–¡Y?*Sõ¨©ÐÓ}é)Yw)tóRŒÆY"K­°VùïD6‚<„fáè¤B'›†_ÿ&4Å;ådFÇA€B¿ÞŸkGW2:ýWœ’׉lü} »/9®nŸ½?—0‹ã²ß9®’Q+MP[©3ûþŒ³÷¤Í;_z@¡o/j—,Í׋.õ öî_ˆ…ưBo­Â¤AºB¾\Þj¯7ˆ07[\ÅOÿ_¯ÐñNäßÛê:bnV?HÖ‚¾^¶-îfìÚa–f:ǃ:8ÜWKÛVhõ7@¡16'Ç{ðƒ }ûŠßUla@¡ãY÷k‰ÐÉkfJ„ªvhhk•nØîõvW9o ie7co‰Jõ] ]š×O)]%2jûßÝ—¶åz¯°hPht­òAE‚ŒB—ÎÖá·oJº;Øv ÖÙGjÙ]£ÐqÔ¸¥àVßøäÖŒ:“öß1ýÊ/‰ÒIµoÛÂ*påÖºÐÉœ8¤SSèØ™)4(4z(˜²2 g»âØ‹,@…ÞÂê :Ù•²«IæC ²·D èäヮ7ü‚òwt3vÜ€;ˆÇ>B¡ãF3™øLW€½)ê.9PhôÎ]ñd’,j·Z]» ¨Ò‰[zeRj¿£Ðq4l`Sr SJ«—q\ºY鮫‹ÊyÝMS(‰&ƒ¯QèLŠEæTKàÛÉÀ@¡Ñµúwõs€×©V[ej½c¹jÎÛSb—Å1¦Ð™SB™c°™DèÚ»^o×k¹ÒŸ­þ/›–ƒœ„à"©•ãèRèrww•æ3£àTK¦oœdPhtÍÕñ®ÿ¡ ÝL)É4O‰_ày ±OÌâèRè|ävËùs©´9TðâㄽÄUåz네ë×fàŒB-ÂoQè­§Ü\|@¸y^Ø- é3X×ÁÀLIä»Nv'ׂøœZRlºr¤gÉÿGzkÇÏ(tp1¾˜“.}Òr<œFž>gêQÓQò8amž¼qóÔuïšrGþ6|(4¦‡ž¢Ð§3‰:øÄ›«ù°ûÅ=PòiÏ»þXôÀÈ{S8N=Ɉ{ýùç@d£K¡k5ñÖ\€â™jKnPh\cJqï㥺+½m¬)L3weÊ´ü¸,Ža…îjm7l6(,õ’¹Í«½ùûO\Ž{S ùÀ+:H±‹x4ºäNLß¾ƒ^æ¯×Û¬ºC¡A¡±HL „!»[ҡǺfœ¡ÐÇŸé?1‹cL¡kÖÚ•âXt©dA×£ym_`°c-ÉÀû,:ˆ¯f²‰šu’ãù®ÒÐ?¹Læ_·j­á`ЇÅ- [b[n~[A¡BÏ8—Åm’D­ŸÅ1E¡»>Í ÙqœÝ±kÎÍÓ²Éé»ü9yKâq‹æ„¶ë„Ûg{BÇe‚³ÆÁßrË€Bã– ­«·õ]½µŠ<¡›ƒ }ü…”‡”ƒ>I¡KOŠcF¡Kýœi³ÜAóàá¬åø` ;&ð‘é7Hãt:9‡¥däs óæðÞÆ|W*ôßÔÁÌtšï¨˜Ÿœúóš ýëíJÖךõiƉ%QŽ£Ô‹d:¼Äª¼]¶îsÞZ½ùš²,ž³ÔqÂæ+:¢Ð…ÆÅsx²Ù]+~&$—‰îòœé¯nå,ަjN_¶¶V‘ØZ»Þ@tæÁÊÖ™6?ÝŸÉóצßd‰¡LÏ^…¾q Ú*Y[ÉsÇ·¨…Æysxo!²[òÍz Ó (ô©Õ€×™ðw ¶öÑŸ´ríþCµ‚ñòˆþI’ý9¡©Y¾µ鳓ps#ÿ&….¹ž¹Á¢Ã¢A¡±æÞUˆlÁSÏÍN+y—;¯ð"½Ñ·ôˆó:Ù^-(þ\[aãgIK9ûü yFrûøu9=B¡ãÉg÷E DƒBãA^=Pâ~q…NÊÌI¯n5…Π')tPÕ6¯ÐA‘ØàÁJÓ¢·y tÈ3Ž+ôîI *8£·È,´å6ïÒ¡A¡ñ8n&x,¨Ðc!èæÑ¶¹ 5ôçÌãÔ鑟ø$T-«9Hr®¥•æ{¢Å­..¸ÁŸ“3ss~^_¡ƒÝks¦r[BcÙ™<X*‘£iÈñ7ìF)¿‚®µK›¨Ðqïždaç¤B—\‚h© ý9ÇŸ·ÑŸÆ (tIW"Ý}„´{G¬´Év毷ËUYé8arþL–ïΑM|u«­\A™¬Ì§ükéê/Hu©'rüúÚ»|þ{ð£Ÿ"ã_˜oóGŒ·ÖL•™ÄžÒ5èE õzw¢Ûˆ?'v)ôÜW÷ˆÈÏy iß“éã„cÝë6M!Ÿ~mãòÜ»?ÚêÏŒvOÂfÐ|-!Ïz4³y¦¿š?×27b…~«E¿l çŠô£ƒ9]qžó^ïškVìÏ¥u/ÿrº9b‘î=N”϶èföHïË8øÏŸ)ôß¿•QèŸJvÇOå¦xeÌÇ PhàÈü¹ÂÇýy«´hOvÍž¢ÐÃÇ k&ßì¨Ø<Ú|E%\2{´f}˜äµ§OYÛ¨?ÿ´òœ3ùÒoRèÝv«×$(4‹â:“ç] ]3Õæ)ÂÝÿVè¤Éæ\SèÖ|ÞFaw•ØÚõŸfxyʵ'jón$»z÷F.=…î_|]íîÜJ ÐÀ°@ÞèÏ·(t¦ÞuF¡3¯nÊæ"> dw$E7è'¿o™Ÿ,Ø…x WG¸£ãÇ:¿Júÿ D¿/ ¼Áݧ Ð@¯@Þ¨Ð÷ús&…²™=W¡»BбBïÊIF¡›]83ý7ï&ŸfRn2ÿ'h¶°_³¤ÿoxíaÓ²Ï(A¡)4÷ç»,zô€Bg–˜±Õ츟%,­ŠÐñª)É< ÓÃÒüemN& (ôîLî—m,{ªB—ô醻›ƒBShPèÕºŒ&rt)ôØëÊw|ˆ:NìŒE=_1³ì7—ÇÊJÖ%o]?¤VÀ|â\lßW,1~pÖu¢k¿ Ph|Á¢ïª†q—?—Ñã„g+tWLJ@¡3óìãמ¡^¶^ß(cÍOKüirZ8þ)7÷¤_Pèö»*Ý5“d Ká5þ\n-µ{š©öÁÏVèxß‘Tè`éÜ=gÔÌÖÈ/Ü¥¿>Év_¯ l½3› ®ûeÖŠ­Uóù݉»MK›3U¾‘öF Ðø²Hß¹]¡k>Y« ]:+ÄT·ÎtI'r$º$ G÷¾ŸÃôn!nKö þÜUB¹· üp.tþj?¾i¶[[~–EShPhà^_}Š?éa…δVI*t,ÀÍs[µ¯iÆ=w»$ðµ¬BOÙ§gJ®´‹/aó‘(ôÀ›`? Üå«‹(tm• z©$Ñ-!v¥^…þåÒ%ñ·75ü)´h ½ŽE7/­®ì¹;¸ÞñÅYÜá4ùY$#îPhà; ¤CÇ ?RwD3±Ü ·à°B—y­aæ~â_·ß,Íœ‡±btµ=àÙwýëgÚ^…. É3(4ÀŸK+]*™Æ')tÒB“ ]Z9#Aêi™—Îaí¾÷®™µ(Vìú9U¡3{jw(4ðq…®ùsí{W.Áp"GFnÿ]ÈNRèaÙˆºÌˆE[¾o¿w¦$Õħ\ÏPèï<ň³ Ç,ú• A¡ }ð7 ²ÏS踗ß,….‰f¥Uìë âNO·ÆÓú`â»´ÿqþ\F+äÔ6Ý’©@¡þ\óçZ!ÙLï¿Þטéwp±B”ŒB³è—Yôôôô‹„BLÂ'GzA¡Ï*t-ºÔSÿ–¹ˆK.ÉZsº$z|+4‹~ßí|ä~2­èÔ@ô‹/¿Y ]‡SøŽBï[þÛ½:îo’,m7å€U&©8>x˜, û÷?Ž$rä…Ùúû‘>r…Ç—ýt…þHoF¡,ºë<5@¡éþ|—8õ&iÞåÏ¥~D.8zG¡›'k–§­Õ¯0Pîøç§ü’¿À….ÑæÖ×O*jW޵Ý|îdÛ•–œ¦\Ï ÐÀÅëæ5sïß3€¥4Þ-ÓÑTèLdf Aa*/õœäÏIz½E¡Yôý¹´*ŸSè±÷9.Ô3 Ðš‚BïVèLrEPºì…šWPè¸bsŒqD¡Ô+‹ÿ.‹æÏW*t­Ž%….ýu9\Ï ÐÀõ«çÓoæcÐ௙˜ê©‰™¦'A/òDŽí&…fÑ_ög }½B»ã@¡õWÏ BЙc/»užÿJòn6róÈÞ€BgŽ&›žÄY+AX>sðp¢BçÍJàë¡7þðfjºBÇÅÒ¿¯ Ð Ð…>®Ðµõ´ùâ$Š]Ù~Bºuºqð†Ç¯7øïUè"ýòÉòœÿÔ(ô Í¢A¡§Lé—YtsÞÂ8sR¡›Þ;w'R*©Ú¥¿!øyŸx2ä£Äš·|þSËwúž;Qèó6Ñ…¦‹ßyós-cëAǰµè•œÏPèLûÂ]…>õ³˜¢ÐJѾÀŸ›Ÿ…¾f¾m'ô¸øšBÇuêšëé–+¼œùçVPèd^Ç©keoEß &F¡)ôÁO<îØòM….­²<î2Ph`©)ý¤iyø©ñn<¶Ù¶ûWQ»u:ßÓðìµr–B[ÙßaÑGü™BÏšoc»¶W…ž9i±îZ²kY±þ:9X«5··Z`™2µï9i­xíqr¦çË»ñ›ŸZðiNœ72MßtQQhPh€BŸ¡Ðùô…žæ $$Y,ú¡ ÝÔ-,.Ò‚M¡Ï˜o›…zø3(4ðÎLþå–Dê`l'rÌ œnaƒÅL/²|"ÇËLGn؉SG²VÞ×:(ïq(4ð5…޹ÁqºW¡K¢šÇ”×Uó-ѯð‚µr8ܪýAn–m§Ðc[× È|œñå6…¾£ÐµÉ¿©”™Óë±BïŠ÷¬L‰ø÷¯•§þÛa°¶¹8ïtçð‡nù¦Ð³¦Ž|¡7)tfö <ÈŸ¯_§’’9°¼^£Ðq{—æŸ6%|Í­“¥üƒ™+Æî O)tíØß¯PhPh`åHÈíjT[)ºº~(tm;c Ðôdvô: Í¢¿3EäN¼Š^©Ð£ÍMaæÏ ÐÀSVÆ[fé®ðK\<ö¯$—½„êÚÁœ‰‰[.¢N¡ñĽvÉUŠ»Šz»]?qÊM*´“ƒ ÐÀjóy³.ñRë˯tÁÝŽK¡K%‰zX¡k™ÌÉ÷-熎'²ZÓ?>¼$ºBоä2iÉSÆ…™ÌNoÔ4WœZ0yX¡Ë¤'ŵóŒI…¾¾z……¾qÊMž)(4@¡{u4Ÿ‰«áýûÍ¥ybïÕðâ ç•SÀ¦‘ƒ ÝÕ™ô• ]Â:B…ÖŸÒ<­ó+¼,@qFJ—BO\¼¶3 },¥ÐýoÊs¦Z…¾l; PhàÆEp5.•º]mþ’ =½Máqû}„B{ôl>v5ÛÄ¿O¡Ý) ÐÀËDº¬EÜíÄÝ A7º„Õ<&šêI§§XSZlíËþ<|9‚~Bÿšr ¼Ã¢—Šìf•4OÛe9JåDáñÞmRÓà Óûø‡u¼¨Öz@¡ó!è—)4@¡·.ˆË*ô®7ÆgØoWèY{“௬eÝ%6ÍI#y5Rh€BoZ WP 8œ¤aÔ¾9£Ðçm%fö›?gʵ>¨ÐE"ÇWç#›IÓ™]f…(tÍ{[ g:8Q¸øaŸ|pïH=Ç 1|Mæ7S ÐÀû,úúµ)î™/¬y…N64_V{Ý8óýÍ„<›F’›ñ4 Ph`Y7»1Џ¥;¼ kðýÉòÑ‹¯ÎcU{Ÿ§3ܮнŸPhàv‘^gåmæll‰"µªq7™7)tííb&¸f/<0½¸P `X¡3>¼µš*Ž)ô‚ ô¬rÐÉÔ`øê>cH¡ àˆEo-…Î÷%Käx±Bÿ«:ɸ4pp›Ö{Ô‚B@~Íýןk>“3 DÃÏå8©ƒä6ÚšØ'-šBÀ€ÎåCÐ] ÿ+‹¯Ñ¿öç™y°yq‰b…fÑ…е\'rüý9z÷„f³©:0lÑþL¡ `ÌŸK¢ …žøVŸÝ±Ÿº£»va Ð–Ú䪚Lâ=¢ÐK­Ñ+tI”1¦ÜÝÍïéý: |jyMV„ÞýbÓ› ]ÖDÿíT~¶B—•š¿ãé7øØ ÐûuøÚ KÚÇúïï|B‰¸J¡kº¾€BŸõçLÑæ’®A(ôîY³ÂÛ½ -܇+ýùß‹­ëëÞj€Búb…Dq…¥ùïïs™B×6…(4…–²èfÓ“|ÆE^¡¿}u¾]¡“ü9¾%r@¼€fúÄŠã\è¸]Ë:9 É\n ç*´ã„…pD¤c{ìJö(õî„[ÿób œ¤ÐÁ Pµ(4€F'@Æ]Bjçã[^*ßòJ…¦%¸ÅŸíÝ `Š<ÿzJ8mìÏÉŸ³UR8¾£ÐŽƒB ÐÀ£WÞÞ³EùŸ«ø‚%‘ƒÌðé?Ù-ÜåÏ Ð&úó_ÅÝ=[Ôûs2®¸HT6¨OräWŠý™EƒB ÐÀ;ú_³m®¼*ˆô:*B¡ñJ…v±À\‹ÖÖ­õ§AâÇSÒ}¯Qè"‘÷ù3…(4€)ëo3J|ä{žµX…þ¦+´ã„ Ð(4ð‘þ4ŸÏ¼Z·ÁY }D<âwÌå‡+ý™BÀ5kt2q·VúA¢x†BódPh ÐI…~b®ï\…–­ €B,º™ÈÑkÝëÛÈA…vf«ù3…(4€ËVêL4•BþÌ¢±ˆB» àz‘N.ÍO À6ºK?(4ôg Ph+¯éOLž«ÐE"(4  µ.ת?ÚI*´ã„ Ð(4€‹ât…~â>ïög Phë¬æïHWh“¤ Ð(4€éþüh‹Î(4Á£ýÙ Phú-¡ÐxB»z `M‹~YšBƒB ÐÎXÐ_pœBãõþìê(4€5Eú•f²[¬Ï' €B`&ïög—.@¡€Bã;ç¬KÎ¥ Ph Ðø‚(4@¡ M¡ Ph€B Ð…¦Ð…(4@¡ Ph€BSh€B Ð…(4…(4@¡ Ph€BšB Ð…(4ðz…þÏŸ†a†a†ÿùßÿ£Ð†a†a†A¡ Ã0 Ã0 ƒB†a†a…6 Ã0 Ã0 m†a†aQèÿü‡a†a†a™±èäÿÃ:”= endstream endobj 625 0 obj << /Length 3520 /Filter /FlateDecode >> stream xÚ­Z[wâF~ϯàQœcõEj)o¶ãÙqÆžqŒ79Ù${Ž 2&ÃÅ'„‡ýë[·n ëdOŒ@]}«þªê«j_<|õõ;›ö”Ítïá©W$=§MœdiïaÜû9º¯žú*ªVø±Uð¨û¿>|÷õ»¼WÄE¦3ìdã"W½ô˹×Ï §~ílQD·q ‹$:ŸÁË1ü•‹^g¢‹%4¹h‰-U¹`9ÙÂߢœÃçtDSB‹Š–O,±@ñu_çÑ—>vÇÅ}nľ`·5|<³xC”4Ç7C{©¸ Å–/Í*–œ:æ-‚Fš=•ÄYª{ ïðîyK3ÂTð7ê§:*aSªˆ¾íЉ3û®g<µÊÓ_’4AMÁSÁóø³é.ËÎpˆÞÀ˜¢²°}ÞȰîE2מÞ>.AÃ4èb``7Ñ Ç[ì«c¼»<Ö*óËGå _d4ê„ötÆM-L`*ùLÁô0šM ÂV‰J,'ÕLý›ü Ù4Îc~Þ®HOx+x•« l6M£ß*ò Ô{Ç;Yìr²”ÒOp^ôå†; Éç7¢¦ó…÷<ä,pu§oÉtœ…WØ%λXìòrÑáxS7zö^£(bçÜ×PâktÛ׸]êèL¤Š"íX9Ô©Ñ:º˜†ÈÀÖcuÝ‘;\áó=ÄË^!tk *i-'FºéT‰²Eœ%Êï í“,E~c£ZÐõ‚ŸCBÂç÷cKx"è§ë-îÒæâ‘À€Ø!²eŒ[z?Æ%ÎH±ÉÈ\.ÑŠ^pkžr¹8>¥)ò?s,Á¥»Â5–ðÖ1¤r bW·ò„Åf_ˆì/è\ƒ»‚ïÞÉð¹<žÉ·–Ýgæ°‘à†®Q%Oä·æd} Kt Μ6)” `{¬–<‹¢í¬ÕÑþ˜*ê€EU}áuÿ„ïÙ®¤ЪDMÚZX䱚2Q¹óÌBXVÑæÑ[5« LƒvÖŽpàøEMðõg&×:ó^ý3*x‰΀)°Ø¡>@Ü‘¿¯d(Â÷dé½E¶97±"ù;‚•;n»¯¥ÅÁQ3¸™8}­· G¸3<Ô¹p²™úd||„蜅]qP$¨ŸäX]@ÉMlTÚÆÉՆܯÏûàÐÝb€L@Ÿƒz*Á·.iÅèáв5K¦àyÉqbžXެš/D[LÜpÐ ˆÙfÛRSœñ‰6ÒÀwÔMhÊb$Ä„sq¬i˱*S˜|â\u¢ÔVíÚÎ53Ñ»~n£r³êëà¡Mß:MH$J¦Dì„ F”âL´&-—Ï%þ””‚±Nº6X7d"O®`Z±5lİB: n)œ;Ñ!dš+g ×<.Rujfã£h¿ ·ÄZ'¡6?ìêœåˆŒÍØ‚Õ1eD/B?Gì˜$Ь#Ô‰ÖuÜ1Ÿ—Þó“È@D/¤ûh+˜™U'Ò­m¬mpsÿú2LÇÚéEí³둆kPÚî*eT?2AšIlœ¸ìj¹@rk˜oäÜçCà»t€Ð]_2„µúõ²%yÑH/Ú6IëCÁ>¼”äeW ؑԅ1ÂÙèÞõVënQ¿…0/‡> œòJ’@lÛË$à÷¨l¸Ø›ÝÃ›Ž ÐŸ[;oiW¹™µø6†ØU$š€Üá€-¶b}N,Ü£­ØC›88x~h GúÅÃ. ߊõıiæl‚Ô½O.g9àÝ%2í&ìn(>U‚ZèÞ GhøèÍã™:öj¬¨†Â§V•rX7ép*¡üD¬;åYŒ5ng3ÈVV„è¥bw|Æ*i²†ôò\žìZðÑï•‹¨/Àá¥aY²iÈLôɇŒ‰·ÙšÈ‘{ÀÜW€‰YÅÊf'™}" Nl8ÒûVÛÆ7Á÷¡O³0nö‚¯W¯^õ›–Ô±Åcm8½O¿ÓY ­‹ã†ü!Uù?¥¢àÙ}Ý€ßrá |ÎZÕµ8\¦Ê>·Ö šUjïø’èŽ<§:U᳆æ=MdmXrû@2 ç÷1¿ÀÈñ¼¤²ˆ®¡†¸j1\”cë¬øÇ w6!÷Z®»å¶7j~O+©á Qóö+vûÔPý.µ#š‰´$\/覥s’\ 9',àl.£ƒ&Ç{‚iÈgç"“H ÔΊ‚/‹åT˜RÕí$²X+µW˜ã26ë²Ù}b9?f¿‰7˜0÷~öµJ×'Ò3¬Ã55<áÜEF!ŸÕ¦ØAhwàõçVÅÖuAÊ× 6QÑ u°I\hp‚ l#¥âÿPCÒk½*Ÿ½ë9µˆY¹{³Ûg9X§Uyt-S9ëBNB‡øܶ¤J"êFÐçõM¢Ÿ(üࡾ/W¿!” !ƒüè;ÚZE `ê‘øZ·â‹ÝW“àHнå†Îçl,ðجÃŒ[9þ™í ÕôþD¡ ›nC—±g¼Ýð„HŒÜRVŠ“K¡J„7¡@ÙRˤ³Hh²ì ¥åÚ•*eÝNeî¸\¨ÓU>0-F2/&5Oül2è5ß™À[2 €–Ïüž,/ø·©g°TAÚ–Ð ‡Lü®ô ƒ#6¥á–Ê TGõÜzCû%rIP3-¥ÈDlµU;=å°à˜º 4ØšùFå;]ø"L¦â¤PûÈmU¯O’_7ý‘J*úNž÷RŠ0¡Ä‚“ Þ}Ù¬ðWG(ñ^žX ¡èþ:•+Íâb ¾myrȳ@ô§<¢ÃZî>({dDb_ÄËÊ[5@4r(’ĈO™që_x"Ui†’êÆä8­‘”·+ta¿T%T…ŽsÊÉß A÷·W¼²¹¿[Zsv“ ŒÞJmàü­9Llrsxê Œ4Q$õ4”åtWb“í]¥ò6mã"O@•µ<º©¡dÛ%u¤¸ú€+·äÞè¬h3rƒ³f$¦y³,|ž·Pµ£Í! ñºñ6Á‹1m¡zéñmq2*ASå=SIÂh\ì’ƒ´×°RŠl4ܪj#lº<•+B.ŠUš¿¿¾æÃ¦OHÚŒ+šò÷À¿ž)xSIS¼V|9\>N[·^uÛþê¾Å‡á:bGLHÀSUH¹©+úíÑ͉U–S«Q³_XÝ´¹5äBÊ„­2r?«lH*að–óÚK)Qì/9/åqbÔß‹;°ûHåí›Yʶ2µÓΆÑ1œèÑ?è·â/ó†ÔPš¹/¨j(ÿô‘5ltÎÿ£ 2J\Zr”>®f#ÔØg‘½md¿o¾ ÒyYˆÃáêï ŸŠ—þVkk˵·‰P—>ãK&!pìùÓ[]Å4;å|È'`>ûu×üoTÜq wïû©!F{QŸŠ…OÜáһϙüÞË-A¼’¥ÿ#0Ëš» ‘HöuÒJ21»ýÉߌRnã9{9"t<—RŽ‘øHj'(6 4÷ÕÅÉ’¥j‚ßo½#¢ÑhÌUÚ“èýö±E©èì}ÕiÉ…’¶“XÌ“%; *B_¢ÿÇ%#6¢ò-¸ºõ³„;?öžæ.ÁÀç1íu±ÎÓƒxTøpò` öfgtÑÔe=éUàœœN,¾‚ÿ·ÀaÛWW_ý¤¼K8 endstream endobj 630 0 obj << /Length 1066 /Filter /FlateDecode >> stream xÚåX[oÛ6~ϯÐ2  €HEê¶a(š"ÙÖ‡ hýÖöA¶e×-y’’¬húßËÃshQ±ì8˜û°îA/çúéóÑÉ/—2r¸ô…ŒCg4s²ÀIBáq䌦Î;¹ç¡d/Ökלåtáröûaô u¹ŸE‘Ö /Œü$F•3Ÿ“þUѺ"dw®²Q©‰úZ™K${p¹Týº›©fU«ŸU®~Zô’:™ŸÅal|¾HÈÇ裃€ד2bM1Ñz8X•8º‹•&ì–f¦E§“Ã+Ö®oÔ³\B_2ˆ*/ç0”Ï E5pQƒ•õ€¯™ _ëÃÄGÒ+!ÃÖ S€ŠBgxSxE Œømq¤š!Qb!!¢ÔOˆâÜE\+²u¥í B(b?’Â(ú®—¤Y€°ã‰,òއµE¹‡p! ðB–© ±ë…1+¦8¹(ñ}Ìi)²r ’8Ï'€Î5˜o<ˆ?¿©qêÒM%q½¾¢@õ. å«Kõ£¸¯CWìàÂÏdŠ1UOò”5ŸÁ©z&PH·® [iŸgJHd,ß-Õ ™zSl#¯ÆÉxAÀkL )&(w^)8TÙu‘ó‡9Ñ…²áÄ~Cl[£¡šˆWP Ö²iqĬ ˆ¸Ù`cÕS«,—faÜ5ªõëÍ`Á)H9GµŽW\ÅMkÙ%±`¿«w(ØŸ$–k°°]ã”±pgV"ûaú‹j¾1K±~Dë_/)¢=Iµáì«z~jG*q˜&&ÛS$'0æH€ë)н¥áµ%š“XÕÖf45éMk;"}["Dd"üã í!߀ô”èn4°¬×7™¨i®¡gA:%šy§šz|MS•ÞWPdLMAVî‡]Øìc†Å[Àöç~ÅZroÈ2ßåâHÈT1pÏéË íqßåñS—Ç¿ÍÎ7ÞrE[òéQ)B†¹6<€÷ý‘½é׳^︸}ϸï÷Ž[5ÏÉöò{Õÿ íugÇ´ ýSØujyøüÃgº"/Ÿ~°L·w¬†¾•+ÚÑÛÿnÆ–å¿6_5Ôœ÷^O`‚Ïò‰Ù½ÁïìãªÌ|ÉŸãë¾æ=E=TnÆfÖ™g…Cú>ÐIlîÝñ¶ÒGÝ4‡•[ Æ[ò< Dß0Ú[ÿ§5™ðÈ>Ií;­î«…u"Û ·aÌbo­oÓ MíLêð³¥'â8.錄+ û´èj•5Þv¥7ËlÜÏc;æ¸+Äö¡´w!馣‡nCþ¶)é’QlQhB|³k=±`¯;ÎÐÆPÐÚœXL¡<ó>i-ò­…œÓX¯ÁýlÜwbÏáîL¾^ÿ–0ˆýˆgŽ'ÂÔ—a†!Ë$O.F'ßû]– endstream endobj 634 0 obj << /Length 1032 /Filter /FlateDecode >> stream xÚíYMsÓ0½÷W˜2Ã8CíZvlÇ0†B åPÍ­íÁ$Npâ’¤-LÃG+­©Vl'qfààØÖǾ§·+YÚw÷O;FdGÝ9Fèz¶øF·o\šÝ›1“–åµ;ôFÌôšCÑ„þô¡¤Ï+ô1›ÒŸq<‡’P”°gÖe|۲܀·ŠS^1I˜A·c>´Ü×}›ñº}˜^Jîú`kbxé ܳ‰°(JÆ ŸqTÀéAù•CÚ=`Àf ¬Nú[0]Üðu÷“á!vä£<·´fš2Ül‚=ñÀGF°qP `y®c=S šf Äô|‡§~(9ˆ þ‰Ç?G¦ÀºdÀ$lYaÇÌ£–廞ù›ÅÌ_üyÊ«„è¢tŒ.q}ÛÔ1?ÒÚSðˆpìVVa˜U/øívã•`«y•bþ¢×kÆÒÒÑ\1æŽ×ñ„,ûÈk¡±Û åm—º5Ë{Ñ0oýw 'Ùv³ËòHÛ˧¾Ô/]ÆÐ%}¬‚9;- 1ßc,L×|Æ¡íøžêð#~Aš´ ›ýô°ÚÄoå$8?w­²ŽÇ¿"ò±¾þ¹)‘ƒ‚È3Ü}ŽqÇ5ߵؾk»Nû¯[²|–ouyÏ¡zÔ*ºF'Šפÿ]ó'¹&Ï2 ‘zd,ж.§6ô“IÛtP 6 ]zšo.ÖùNI:…^.én‡’[IÛ&yÚ–5Åošøÿ£'©>®€H_¤íJÌ2óøÉ+÷lIö\ë‰úð5¯ÒSÿ$rÀö ýB»Nd»§_;‚–{'ݽ߽ÔŸ endstream endobj 639 0 obj << /Length 149 /Filter /FlateDecode >> stream xÚ31Ô35R0P0Bc3cs…C®B.c46K$çr9yré‡+pé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]ä00üÿÃÀøÿûÿÿ üÿÿÿÿÿýÿÿ@¸þÿÿ0üÿÿÿ?Ä`d=0s@f‚ÌÙ² d'Èn.WO®@.Æsud endstream endobj 545 0 obj << /Type /ObjStm /N 100 /First 880 /Length 2403 /Filter /FlateDecode >> stream xÚíZYoÛH~ׯèGûaû>Æ>Ö™ÉNÖöbf×#´DÛL$QCR9þý~Eù䃲å=€¶ÈbwuwuÝÕ¤³†Iæ¬ešniëq̃{bÖáÙIfµK¤fÎ8¬Â=°ú‹Q÷œNLI§™R4“ LéX¦ŒŠÌy `˜r«zty8¦‚¢À€y’ó=ç"€DK%P :\PL+ "}dZ;Ðe"féÚK¬oiîD'‚Æ=HÞõ\FŒ-رù.8³a¿F2ŒA?è5VÌ([bbÆEI_ƒ"1΂)0±UšM“Kà¥2x˜ÝKˬN@dÖ*€øm5ó`‚%–x¥@,^ˆÁôÚ}IŒðsɶ ËD£°w D¯ÐbL`I˜€#> 10ÈÓF *¯!ÇètÏ·[¥^[ÌI‹k©À”9%ÄgLŒ°„*4MAÛ†ð¼Ñ À`”ñÔÀÊØ£]{kip,5HöN€yH‚4»'F((ЧkðÛûýø|ÐÄo0«Æ&|”¾§ 9BÏÄá#Dá¡>á ;HI´(¥Š¸àCÂAEÚÚ4mÍm#€ôZ¦6€¶GîˆläˆÉ &*Ú,¸ ñ –-­ÉE Õ÷„c–%IÔ@ “•²w*Þîïïeu>„`ØÖ{SeÓËbP³_gÍtÖ ëCUgƒ¼¢^à —ÛWk•Ô´}½üœÁ‡å¤é‰ãÙYÓ>R£ê‰¿ecêÓs¶¿ä£/yS ²ÞTZ?‰Ñ”‹r„›ùäxÀNŒ;fâ÷þ‹Á † 9n“Ùhô š²’“yÇ£[Ám9¾³>¡KüþëÙ§|0ïz;&_¦ý|F<Á¡Áv¯Q¡ƒã¼ŇƒCH6ÿÖ°þ²ð?d9t‹+5äÖNÖGy]Î*E©¶é=˜“í•ߨ)INœ#^À¦öÙÇjdÖÀÕ]¡ïNÀD’ E@"‰ ÝW(hñôï]1ù )«a^µ+©¾øE¼û§¤R²O´aÿ§Æzn±XÐ’+øWD÷§ÅSð@ÛmytÌÄ›ò¤d`þÖyq1«r®ä6ñçE¨€¿çˆ¬Îð)¢J®ÛÈjyÐöQ"Ô"¤×¥@÷)…8¤|BÉ«Ä0eôF:àÕ]HÏÑ5¼œ²{¹¶ïÿÄËyŸ—óáGór^®ååÑ”Õ\"WÕIsŠ Ïqs”5›”:è;J䆎ÍÏ}9%Ù/騒ç‰R6¾Á¥[ çB9UÐ÷;•#aaÜ=èÙî[ ®×‰K¤žâBâìdÄêÈØ\Yìßì£Ý†ØÝÙi§»íºâXüãè-ý¶.›fú“õÙxÄËêB”ÐT8žæƒâvE#ð¸÷þÝÇwÐ×ÑG>C`µøû, P¾äáòQýñ­?ÑøÇöö²» j-M\DK(Õ ü’ÜN<%9 ‘N<‹NUÛJWÉpåš#•Röúa .¡‡0Ÿ?ÞUüø<ÅS•³i[®ØA˜G.*ì`® óAP“*›ÀŸËûÎÄþ±8È¿ƒüèÍ,œ5Õ,¦õßZ…õ¸¶ƒõÌÕØ*cHžñ^ãMÎG%œàY6»¸”›‘V‰ªP**c瑪A‘’¨'ÛÐׯ_ùYg>Íë¦úNæ´bq=ˆË:ë]âÆ<9³XÒå•4cÅ]ª§×Z AQ÷»´7ɻڟ¤½Iß§½‹ÜI›ç]÷ð€Î\ÒMfÓþe8ïp$ùàÈ‚='÷’ñ ‰w`€ŽžÓ¹…&i‘ Î¥âÙìì:¤YnV3åþ™ò²øèH(¾ˆ {éVF§SÏØ„èäkIB¦Øî‘Ûý·Rì°˜bŸã¼þËQ9Î& I6ìÝM²½Ò?R’½a9ŠlM!úQL푯ç2С(B’2¤zÅÌè,v貄¦²F¸è«0°É%;\4ÐÇmRÑì&ÉWéŽ-ª°¡-ªyaBçÊóû†Þs9Ÿ1ð–Ä#=‡Ó4I¶¹…O‘+›Îgβ{ŸRÜ Qî×ҳ㔻Ò5žû¤ŸœÒL³Oùg^ŒÏÇÖ6,?ÏøôrºýR§1J#Ôл„`QrB• §S'OêQå_1ôÞ`å_D{¤¼XÂS¡%ã„QZ»fíð¼(F/@^$íðúnÓÏŠb LÑë9˜E4â1J®”b7ž²<Ån< £Lx&rzÏÓ‰'=§w8]x(›¸t:ñê»×u ÷ÝóÙH¥êƳ'gºñ*®5øb`…¾›Ítà B7û B |wšNŠëؽ¬¶‰"d7žrðÇÝë’ç´¦›ËÊBû´z² ·ÀZn ¼kÒqS“Në™tZÏm®âÝw*ó4ùlfÙ;Ì2ú)ÌòƯ2˘—©<ÞÏ©ƒ¤—þ¯×5¯}ðŒ¾pxý½ä¯ÿx™hnËD7×ù÷YSdQ\*ÝVø»…ûs¬½Öê–`ô0°þ¢’Ù¬šF›ìì±~k7‡EU7û—Y…Ê÷Ä»lñé·bØ\Öí' ­•ß–©öêýáÒüuû•Ãuå ³GÊy¹ºTb‘árcëô7‘n¦rFqújåõúz}äúê²þ7.í4"ó ,êöJ2 täÏ‚\#¢#¿ÇÕsÅè ”¾“3hGù8tz¥w…†Çv }:è§ÏÀóÌ{‘´ÓÓ"JyyίAFžÚ× Š>Eãþ vÈ}`×¶ÐuÞâŒæúúºÐbéËÃ…Ö¥‘m;Ù–¬½"îjô⬒vj£'Šèã´–žy_ð´kçÛ¼~ïß_Üà endstream endobj 660 0 obj << /Length1 2039 /Length2 15691 /Length3 0 /Length 16928 /Filter /FlateDecode >> stream xÚŒõt¥ÙÖ ǶSÑŽmÛ¶íìØ6*¶+ª°bWœJ*¶Q±m›uÓ}út÷ùþŒ{GÆØyŸég®9×"'VR¥6s0J8Ø»Ò330ñDåE´˜™LL¬ LL,pääjV®¶ÀÿÊáÈ5€Î.Vö<ÿ²u»~ÈÄŒ]? åì2n¶fV33'€…‰‰û¿†Î<1cw+3€<@ÆÁèG.êàèåleaéú‘翟*Sj377'ÝŸîa; ³•©±=@ÞØÕh÷‘ÑÔØ ê`jtõúŸT|–®®Ž<ŒŒ Æv. ÎÔt+WK€ Ðèì4üA `lü‹9@ÍÒÊå? UsWcg àC`ke ´wùpq³7:>²T¥åŠŽ@ûÿËýÇ€ðWsÌ Ì‡ûËû@Vö:›š:Ø9Û{YÙ[Ì­lE 9WOW:€±½Ù†Æ¶.þÆîÆV¶Æ&–n V0ü‹Ÿ‹©³•£« ƒ‹•íÿóÑfq{3Q;; ½« Üõ‰Y9M?úîÅø×áÚØ;xØûü™[Ù›™ÿAÃÌÍ‘QÝÞÊÉ (-ö—͇î™ÐÀÎÄÄÄÉÁ:€ž¦–Œ$Pórþ©dþCüÁÁÏÇÑÁ`þAègeüøçãbì¸:»ý|þ­ø_ÇÌ 0³2u˜-¬ìáþ‰þ!šÿœ¿³•'@—écü˜Lüýý¥ÿ1afö¶^ÿ˜ÿyÄŒ jòšâ´Qþ[)"âà ð¡gçг°3˜™9Øœ~ÿçïü—ýŸR%c«¿ªûWDi{s÷H|tï¿DÜÿš ª¿Ö†ð¿>æ úgüõ˜Ø™L?~˜ÿ?/ÁŸ.ÿÿfÿ(ÿ¯ãÿ+’p³µýSOõƒÿ½±•­×_óìæú±òbÿM5ÿYh[³ÿ«“v5þØa{ Û¿Ûhå"aå 4S²r5µüÏý÷>‚ÛZÙ•\¬þ¸pôÌLLÿG÷±s¦6—ŠËÇYý©~¬Ôÿ¦·7u0ûc÷X>ÎÝØÙÙØ îãè?;À‡ùcIÍ€žÎ6€‘ÁÞÁõÃðAÎ`îà ÷ljr°…ÿýqEþAœFÑ7€QüoÄÉ`”ú±¥ÿA\F…¿€Qéôá§òúðSý±ÕþFÜÙÿA1MþAµ˜þþè£Ù¿ 3€ø7üh ãŽìoÉGVs+÷™|eîàæü¯&ÿ‚•Yþ Ù>zféåhùqcþcñ!³úüHjý/øÁÅæ_ðƒŒí¿à»àÇJ3þ+òÇ%ÂèðOîÛgæ_êÚÿQø:~Üôö¶@ó³1ÿ%uþŸ>03Ðúiæ.ÿ‚þÕ´®–ÎÀuí#—«‡Ã¿>Xºý ~°tÿü¨ÜãÈòáíù/øÞëOø?ãmêæüQ¶ëŸÐÇìÿÿùΞ@S¸¥ySÞëºöÇZa<ú½ þYò=ÍtjzŸ%çŸnÏHЩÔ5_?o8ß §÷ ¬îˆSÝ -½ùœ´6@‡ÿHVn{ñ}5LT™Þkƒ[œÂ˜,<®ï'€Å§WÚ÷}sòÕ²oí”!ÏsrãBR*@ôè“ô¬ï/_ ›ßSÞ¯á…-Ÿ¡UÑ *ùEžo’=‡CåJOCƒvé‰üëî~-wò7‘L"-œßi,k‘Î&KÜÓœ÷Z¥‹K.®øÚØ4…ÈáìŸÒ☠þ…ÎÈø¡å¾¤9Y \%ç2zþ¬@¹Nt²®\Ó,g[ ÓI%Q=ŒO(y©¤yr5ép©a6¾UÀÓ)j’¨íÏn®ÓsõNߤxæØƒ ;Â{~ôíŽlŽ×'(Æ ãiI9ÈTsuÒeE¬™qÕ|?q•a—؆BÝþßù ÅôÖàÖá¾Å®vzë<}ðž\ØJ/&J ‡ÉgoE –úµw˜ÁS(†Ü;S®,ï¬ÉMœW!tÒ,Ø"HgÙ\C2éLsv.øê`šSÊÏfZ§ÄøÓý‚H³oÙgå‚+Êçh§lg@•h©XxýÙ(† Çéq|Á¯A»\ç9<G<ÍêŸÜ Å’utí2 ‡ŒgW÷æÙÒ`moÙ†’æ°ö\åøü)ˆ43C+=䌹-Д`º,·”3'ò°º¬Ý«§©C/ô]¾;©¼MÕ †’¾&Ï»šSŸÞ ud”¤.%²øÄe ê^2yñ6§üOÊ5fk`ädh §a¬g¶á\ßµÝe— ˆ~õÜ`2ä.•âø4’¤…çC??q·C®SRKˆ5sK’j´= ¹ÛD »¶0ˆãûzWtêXeñæ(|GP”%bäzÆ%¹„™F)“^æì˜ ©Èù–ízúe؃—fz/–¾^BQDs÷™9T•ø½¬…¦ñê׸^ V k[õŠOÐ-!Ò·‚º`Ÿ¶ÇLa)tŒJp§Ër;Ök\̤€Åi”X-4.û‡ˆ3SAjfÜ¿DŒ7 £Q>‡.ëÆ'’}±¨cn{5G†Ö;L…f:‚å<#4V™4@¥Ê|•öF%%¶óXgi#m³uÞ"óþ=­†v&’¬?åS¡Ubôû™­ŸA2Õ½©rwÅWé‘EäØbµÁãÆÄ¦K¢6>H¡²ÄÜš7ÎL4Á–„–ã´‚ Çl?Þç长iýü, wNUy‰¥¸­à¥’‚²Ô¾ WϨN_9:$˜çi{­µ‡ÃמɄ;ÌN¿ýòŠî„q¹´HO›Œã“.mºxé@KŒ|¾â)âdƒØë–\Ív9ŽÞ͖У7+eI1ÅT*GqÈ%KÚ*TT'9$-Uêm¦M QŽØÆ;cÝXª ÚpR\¼M:Šc ’«Ñ½Á‘Hïs8ÎöÜw=© ÿcmtÃû²Ñ¤†wL˜tSò.d* âe8÷$d¿ôAn§yý©MŸ<Ž0´ê —‰dTù ØG eú^ÇÏ”‘Qòuœ ¨­¨_\u6^ ôœ |ÙSåKZØIê?ÓtÔ wœ.óÕÆL¤ŠÅÅÔÓµÉݘ[Ó¦$žŽtüì½?ÉÎ&ñdêy°$¯ØpÓZöÛ:\"™†6“N§¥Xwîëï÷»3t»z¶Â`–Á^$ÙˆwkÛÔû™…3ÐeàêïDR¡Šù‰Êdw°Å­ík¤I¼0´ÂñVÅš|)Úó#zïl­²Û{–NQ@0Ð=kcNLZÝzñŠÃ¦¿' è2.4Z]²½»R_÷„MÚ% g øLmË.&›½UE¥šÍÀ¿ËÅ–r@dsíï"Ò[ÕŸÒʲµø>òÓ&I_›zÂyé’‹òâ‡ÀÆ&§Tn^›h_t{e_5ª3Üí¦™¸ú\Éáù°¢pÿ,у4¸huDñhѶ-Ö\H¿ùùK_ɶ8zb%ñSè«®çØ¸gµ}¨i#©šÕ”[«GÍÆ+«=š`AY£åáœü>”¥7¼ß~G¼‰uÈ•ÉB…?cæ¥j+»O^ž.ÊVìì¹Ç˜3žéÃöò^0ËtQ’À@+Ïú{\­9áaXûå×¼¶½‹Cöé¶u.›…öŸU0”D¬nv§NŠ.NWÜ#4$æô„-m¾;¤7UCn¢|å‚ ‚Ë€¸¸ ê ˆTþ¤ì^ÂÍæÝö;’máÁ.`ÏEM –}¼a¢?¸”ý›ïb\ÊbïnñiªÐH‘%-ºõ­gÅÛ„’i~ôŽGM£Ö§½öÑPê"!Ú \·ˆn+2¸½˜GðÊ£p ØízŽÀjèäæ–°*'OÑgR2yMoœ•á䯑ÞÉÀh˜`6Ö"ð8õ^BÑ\/Ù«WqYcSø‰âz'Úq@`—"÷Ìûêªdn}`’ŽE)Ïvn¾CðD±¬¶ô"Þ±ÑUªæ —†T³2VK¾ÃXs8z‰£ªFÐ4sQ—~ä¿ÐžÍ@‘÷…ÌL4“yÔÓ.WAªô Dnf3£BÙPˆßÁoñ!Á²}Ò‹èÛ UsiÀe<‚^\ _ðóO>:ß4v îiöì<切•ø×üz#µÄOïy½"M9&\S­ÓZˆóòeµ?bªÐK¶Ñ¬àã6Ó£©/Êòüwטo2á{â3¡ùxÌèj f9Šö̳锺'J}/«mÚU¸~p6Þ XÁG@E4} :Cê¿f+Ìà µÕZ¢fÕèŠH„w¬ÓÉ‘ÿ²SÇÿÚ~ˆÞ  l§!«%²wðÜb• ÜõÜhuèèvǼ…¦›«óâ²½GÇÖåà*CY·Þ$=‡Ô'FAY´…Y¤m8¬¯"“¨Âèj·Œ,*k[¥ú• `¹;l]È­ïü\PBØjØÌø©ˆ£;‘4a¨'§é:Ê7ÊÈÛ‹ÐH²¯‚_e·ÖS›E]}_†‘%§ç<¤ÉŒÐ=;äR4…âµ3¹D-2u©×!´lt3)#hwrZJ ¹åb3˜ŸÙFîœËmÂ7~åæDØ)léšò©.ÉB«Ð!n04¢w^¶]Ч¹hsýœ…“³‹¿ôc1*ßBNÔbŽÇÞD6âYîGŸSü§”Açkvƒ>nðrzäƒ*N ææu‚}ùéÖd-ºö@ªÛë|Àˆl¶–è>'MW=Þ|áÒGHý×oß ëîðÌq†=¼¼|¥0ò}ŽÃÔý±øl;ÇŒßå¯ Ó@:QÏ]VZ7‘ §Ûû^&æ$&¢ûҢܓ”Ç­‘sßQ?%=Wgs`’瘂“ú7&À§E*îC"‚Áf"Ã)—T™3¯'á€ý x7D+œ£ãP¯º”Æ`XÑË¢$ÿm•$£v:¼7k’`Ú¥¡JY›XDevìȯ#ÒÁåÖ£¯âaW&jÔçÈ5Èy$±aõGkî/õ[¾dØ lÇÉ4B³.‚+pV“Ž &ýÛzΰ±ÜH½›:|Oî´å#P5r¢»m©´¥+\`ñ_🼢wª—¦ú-éIï}Šp&ÊyÁ–±ÀCÈîÚâÙ_ÄùT6H‚¦Êºþ„ÚÍð唀=VKÁˆqåùg©4·Q5×&&r|ôvß²š…Üç1_ùw†áʼ$wããMÕ½4^Nuò1^ð9£sW›B?Xñž=äÆ@½)Äq‰Œã3-”ÚpßU¯É 7ÿ=eTË ›Nw6 èÙ ]™ ñ¬žÜÓ–"¯nþ¶ åÜ_Är›S¢¡`ƒ„E¯UŸn7`ö»3ªÉV…?J›óu)vyѨþ»£ª y‹•ïhô“«/ˆ.Ì– ß§<ÿÓ×Nl—á)ûÆOŸ§Pš¦Ë=XØÖQB»ÌMÎÅüu©kž -ØJòYßÖ$)@‚{È‘S –x«Ú]“÷AÓx@cpŽ1žzü<ä31QA|`‹&+¿11˜”¥íXëìÄ ñEî#~¾÷öš·ýEýû¤°ry'›>¹ܵ¦nç0“q³ÄRb –æG˜½sà¼ÉƒË‡úýáân%Dâ‰6Ï¡ç²?¥,g÷PRÙkDm™óšO|åbû½Ë)RÓ_´¡àÉN÷†ÿ¸Ã`FþŒ°Ï$ð»˜w½3¾¹™l÷Ê`,O€Nû+ÄËjJ!hf.9hŠd/ö ë: s,uŠ ÕÊr&äã ¼˜ŠtÕªq‹½–ž—¨Œ“µiZK.†p âá’ÁÄßl~´ýc÷ùéf¢cóù¼÷'„’}µß úuH…’pòËê/fP€Nâ­È`*rå°Ÿße…È|—Ä4«2¢go•ê¡ ¦RYi˜dïvƒŽúÞVš©ýfÁ«eŽä-HfÈØŸ¹® ;,*D]XD9éd³s‘çra&Ú&&©óöS#ØÖž‘V™IA{~T|imÆÆ”&Ò2ÍVzXôlf|;‚1¾þ¼kPÔÏö†9ÌA0›BmM X¼lŒ è3F4pðz‹5È«˜¡àFßH‹¼ƒ9¬ /èäãóØ.å·L™_y·ªTòÅ·¹Ç `û&ñ~æâG£õÖ»([l]’qcê¨àŸÁÅ×%´“ÐÎÚôͺu%;ü3y*(7§ÂÄ%™·‚AOw˜€\¯œÂ÷ƒWäI}7nØ) Àxj’Hý•ZŒAp|dž»=»ÆœM垥ü"nZ«µu ƃ”ÙPÅFgÌÚikÓðŒ~tÃj¹£zº‘u „¹‰*6ÒŸä EÍ3{Ú“L>ŸÖ³— ¬Ï÷Ë¡oÌ|*ÚÞ<‹ßéëÏf ™¾ŠJ1b•Ž9Y1¼áÓî‡cª=¾-œÁ†ìC¢)©£VDV)¬ˆAÐ2™ø»p%ÎǤTÒQÂxÚSõ­ 5µ-Pªj¢¦WqY³ò†.’ëwÕhÙþò\ _N§p9É7ÜŬç²MÈi…üŽÅw[»'=鰀ʹ˜« ã§…$BƬÔ}pyð  œ‡2œõD¿¶˜9Ëöæe¼iÄyq6žFÆqPÈ]чU)ȱ°½º±#ʵ4Óä5–jýDËÆŸˆÆG³-:ËÌ)è†ôç/n6ùôûNW´ 0«9’&Ï{·$ ß×ó^çí.“ î¿·*ØSÍ.e¹Pyù%6מ£Oú°«tcNMyêþÊ5YÑ-.£0¡ËÝiWÄ q꜀ä F <?åmð4˜9^UNË8ªL´æÔ,>&ͪŸI‚š…NY©ü!¢!I°iµ‹­»+]¢)Ì'Ôr¸“Å_Ëq/Xƒ~d‚C†¨6"Yv‚–Ĥà"Ç~·2q”(GtãEÊ1oaèþ '·ïP$^Ó2Pà/MÝ K̪u5áñ DNùaÍç¡;Ýu˜Â€wo: GS"œ+œÞM Â*<Œî»V·³,,s¼ýnÀ%ËœþâEcÁ˜rÑWºÌYy¬ @à³ÂеJ1í{Ót—-‚ÅZ©òÔÒ “v匆ëº_EÛ‚/•1Ýæ¦U%ì nƒ¢¤:—l@œ¹èS¤Õ¬lëµ¹9ëQm»ð:]7|·~MWYhâ»Ø\µÎÁ836WtcgY@w¯zì¬Ë~£ÃLèqÀ`W•B$•ÍEÆÖ¥@X¨ÄÙ¿5íGÈÃ…¼æåË2k%Bè­ÛØ^¢<¢ÅçòòRV=qA½H™Ôò~ϱ;Zbõ\¸´’%Ž­rq‹žJ2‹®_âwÆý®%xcÛœ:¦ iæµ¶Â.ƒœP?}h³zÂt2ý¯ú£ÍRuM¶u7–º20pá¹üSdj£m‹É–Ë%^í»è ´Oƒ@Õñ}îBhAzbµöºE ¸wÙÃÔ8eÕyÜœ8˜çۦǦ=Ñ2/rk*àHHøY6SÐ"®B!Ñ)ì8 ‚ ¤Ž …º/^­h¶ß¤ m­4]EµuRvdœçĆíÛ Æª*Ì¿%^V¾/+Ç#|ÇiUu°‰èxÇ[”†ßæ$ìBÂѰûW&NÇ úø÷šó4Šñ„òU®Ëótª—†0†úyL¡QÕÇô’#ZsÞõ‡´’¾I0ùæ†IÎúâ’‰+ÆN+_ã,Jì`çôåí¿ýNƒq§ª«cl¸]–3©@ 8Š^0Û¾XR©â]‘Ì4–éÕPCÞz÷28\©úÝlñÍÎ3Ó¨N‡%æpk*Â7rÊgWXÆ4MYå±ÁÉÞŒjyå«WÆuó½ƒØ¸‘Z¹Œh<ÄêT¸·Šñêíà,ÒkÝÛ·…”…ãÈϯ¢Bmï1ÉòŽ|ºñ±L“‚¥oÀA^0µãÛxÚÐ2Ý›G‹þÉ’Øß˜ÁÓØ)Æ¡$åNHßMæ/k;6–†`iv^pßON—®|«yxšQ4 D»Õ½‘†W¥L.%kĤjÎÈ8ÈØ\åÚQjdL@áڥϤqDç¿:53Èf Ò T!Š&yÁÙ¦ÂpRæØ™'ÃS48Œ0÷o•ñ„î[½Ï„–¡î¹Ô!Úu¯&As3À„˜y""/§˜ç~:Tù¿°ñ”ÐY»@Ì#waŒÊoí<^¼À+ë6;õ“ýä˜`œ¶dηK›¸l»k¢""Aer/žãÌ.†e•¸Tz,#;:»: ³«p’‚kÛxAÇÀOÙ1 nMM\GˆÈ¬›Ž_^¹PÅœè’:(×uYån·\ ú\çÑ'Ë»[ÔxΓ^šEy1SôÅľ»1­AC˜+T~Õå÷|)Rʧ‘UwJ²ÉI Þ!Ä<°i­…G¤–‡½:{‘ÄW!¬Ô”F$"QÑæ¼,Ñ|o[™=ž¨=‰¼ÈØa¢š¨ŸS[SP¼ÅŽ)\92n“©ðôòoåÂrsl,ðEü!È~Q‹û›L—ÚåMÁŒ/›4®fjóH½Bþ×"a†‰x§ò‰ÚŠ+C9ÇÁ§Óùü^uŒ±uÖr\~ão?üQpDwôßnvK‰Xf°Iìa@EKw #v$d¸¦ßz߯†Y|n;‹uMQP™ƒc0aÍAµ†#[ARÑ ¶|:«¥—CÑ$ †`GJ™$³¿vEl*~û®ÏÓb2÷#$¸Q—u5§8ÇŠ+‡‡ÇÈÓKC‡ /7ñ b-ÊBâWÓÁjÖç+)eÝ*Œ©2Â+â:‡Àµ,x*6»+$dLÞ•›=eˆñÏ¡š‡¼Gwý´Œ„9æU9¾||_îßh¬Bív GÉ21z}Ôúåæ³«hôˆƒQ˜éÇíü+¹ŒA_qÕ_Lõš) "-vÐ æªî#ˆ~šOqÿøŠˆEYÆ;a±:®àòD–ìló}s6»÷\ù”2—9Ñy' ¿|0]öV¬Ò âùçA¹DI ȶ—·8A˜C~Zžú¡Yõ ·¶ˆ³`‹ª:×j+cH~C˜¾ÿ6RI>j¡¨´Âæ¡cúfæŒQÌÞ91õo.×òæsÏÒ<¯°ÛdÊà~Ó]›Ïö==DXOÐÉ?Q¿…¸hw¹L|ª¦vS¡ êAjÄÖuøÏ³êÔ†Eñ?ß'W%•ñÂpFJò”›ó0´À."±zKžÛ¾OÕ¬žøõtÁ§…¾Ur&.îÁŠPùô˜b¥ýýyMi­èª>t$á_Þ×Xç¬ ü®‘êÓ„¦…͹õh0¾WDƒ;tšÄSж™¥ßRQà»!O1²vs£ÚQ³ |4P6Š÷d½éÕ3èœX#vJ]'ºö>‰NHYÊØÝÒ¶cй‹ÉÁì˜í¹P©Ä′ã ãvfú•©›Ñ9„§h¦dl2{vW&RñÖÕø«a$=QÄUˆIòíƒ8Q'ùØo\uïŸUôR3Ękºè·òN`SÆ´Ö{óåÇÙ¡!s+HzL{…ôuô‹[<ÔOÐk)Ó`˜<_S~FnT5:Á$s²c«ê¿í‡9«Ë8dAÔÚ(ó>é/K ³Ö¸@^ÇßüfÛð™K*>baÔwq0rZ1x„Û\hºl¹ˆ|Â>OF”¬©á^1°¬‡™Ch!¬ÂC½óÐQ#Á Ë»ób¶ÙÐòú–9’Ô€—:â9¶_÷QöÁ)kÀBšCÄ!ok|fó*5ÖcdçQC>7/Kæý%!€ï%›Ý5˘Ži<âfëkóuœú¦x­Fðš@Ý:Ë"¨O㊻q¸Æ£µ‰ƒ ´[ߤÀKðe*òZn^Õ@žÁ09Z¤©Jߢ‚¬ªÚúe!„ÜsÌOßÕqŸ<\«0NM#«6SsJ—Ê1FÌVùÖ¤³»Ë ç³›ÖÓ³ñ‡rŽ8‘4¯L<ðÓбÙŽ„lÄ6{t›h…½éx{éÛËLË<Y Æhå<¡‡™·<~¤1RX²ÿQÓâödŒ:Ý'm«®‹’Oô¿šÕÒ?ÇÕV©oÜMC݃üj>ߨˆ-Bišú¼¡øKW©Îç³Åˆfºâ7x2®æ\â²µkIö¹Ð²FAPÓ‡.£èVéèe4q!¶OÁAFÆ>Ôœœ"ôSÿ/¶«t/ÑDY¾6/~Ë=)V³y*•Þ«¾;OÉ“þšð¡‹POu–l¶Ã¾sŽíÌÑœ‘¢ö•‰#Ÿ4LÛ,óÃί(³E˜þ˜¼»’õèTy¦…rn‰;!àßnçñ`Y[šX³Œ¡ÌDà+Ö툢†í?õÂCI¬ôÓW¸[pßÇv¥ZÞF¨Ä-ké«ò‰±-£Î%Ýâ(V´ ¯x¦ÙéÇÇAn÷¨úÒ:6¤$ëŠå£ˆ®Ld§Òo@ÏØthDÇ¡]â2L å{»ç&O{B6»2Ž§å™œˆê! ˆ´!¿ÕŠèµ·#C”¬²öH ÜM„WÍwÅNòlG;’x<.º1–÷Ôšð»|;”8¤èï®àKƒG‡§O¸¹ÙáÚfòÓ'•óá²\×÷¥—S±{„/ËÁƒ$$-rr^=³A)»f¦ƒØªÖcÂ0AΰÆ¹gã‘vromîÖóJyÍ›Òôgò†¥ví*KhÌË0Ylëí4T;t¸“Ô#0Ô8ð_}ôe¿rʼnŽÇ™ {º|ÂLy³Q”‡åéæ²pžùn°¡ï*–¾£Æ=@€96d„Ñ[`-¥! áð‹¢ÆÍ"ò'\Öº¡oë¦âí‘û§ª'ù29«šà/ÊÑÜ6C<˜áõ˜F¨€ãÁí.«È¹Xß‹D1pÚÎNU¡µ¾´ô[éb.”ðù¨ÉÛ ”_Ô™ÄÿØ1¥½ßçT¨Öjè=@ñöðã:ÎÕ>ÓäQE>ž£S8‘VF¬›Ð9e–þì6²ô¹s=~AH"0ŸšîSÎ÷Üæ÷Tøn’œR¸o7ˆýà'J¡ƒ.­À6¬™ÛÿOEªËÉ/÷/nè|çHcn"Þ°ªbaª¢ Ćg¦Ôu?”ç"8ËœÍ×mmFÉ­ls“»Ï1y¿´p^f[$à©8©kJãý¬h” ÌZÞñÿAæ…9âøçДبˆåçLÇ·i6œ£:oz‰]ªú]Pêßd•Jyýý"ú\†bB .R’œzá–Tœ™»SˆC ¬=¦ÊQ Ûj)>-žú˜¢´Ð c‹§mF8]î~óÄþn¶±"zý“¬S5§±FMy¦ (¦“ǹ¢˜ìS¥nhR¤ÅÐ`Êö›;”{]_$Ò-ë<Î5†;9Ñ[Ò×’ Ø“¨ÕêéºêðŸ“d´hôÊF¼å_ÚÀÑZ3îQøRŠîµÈL‰é¨».ê£Â¦‘¦uTkªH—|¬¤½£wA»hж’’¼d/›€Õlyú”°ì>§&&FÃ~ï5^þžÇvÿ¢%/ÔÞÐqÚ 1—dR˜üé1û%|VŽÖ˜ŸÜ»ÂñâMƒ$\³®~¬#£eýzºg~¢áCÂ%ä²,nF 5àG^¢h™QßõÚh…kòèi¹g–À…P؇yËÎ0|ÑnDY QöiŸ qõ™Â³}Û›fe3aä âö­Cœ ¦O©•(§:Ù”°æ &äЯû0ot]ëìC7g³Êï8D}Ý/™.%œW1ŽCC7¹:ô_µ!{ðõ$ð˜¹)Ðà¸À;MT¼iÇ,jÇ@].¡ç˜ýÚ×€ËèÔ_¯tÀp0ÚmÀ¢9×@œ‘S¨“—#æêœòæ%T𢅮âçØÐ—SÀ{:áTaašÓ—¹R†æé‰of‚[—ѹbo2¬H¯°þ^ᇶ ‹~K¦+r7äÓ`ß3RVõj×äJæ—q /#sxUy:Íš)ØõàÙ¹ñWBp* Ä—FƒLUú 4ù·3XD=_ñ¯©ÞN'½iËX…Gc·l­šYá èØ-µêOu‹c¡”§Ú“´ÏUXxøS_¿Þzž°ŠÅÁÇŒóÉ»—^žñå ¡—Zîb™©?”jêÒ7Í…TÊ[Oáu 3ÞC¶(xì󔸒 ­ÌnÚÄþý&5öd¬)„³9Mì¢Ø4‰äþE|.Ké¸[­š1ûÖ_[æåÐ’”ùµ®–CÏߪœÉ`KϘB¢íij8Wh¨Ý²ê™|˜1yÀGU_.a7Ñ–š&yˆËW>—H¤è¼#ç^ñð+<5 _k_1"¥2‡µ]?“5ËéÍù÷\÷Dè±¾PƱâȦգSýVòbÏh¸0#ãlŠN·µ£ßšXí °äìþX}ïGq`6ýõýëGpJá—ãP_¸ˆ%çl†ývF ¨QWxÑ”lðP0Ö“ÏÃ3‚ú`~ƒ}ÞéæÉæaCÄ’#2íÕì)\–܇+Øqd»·5S¸M9›!Ŭsv†oG8qù¹+öŒÈÞíMT”bÛW¨Ún£ŽzÿO‘q—%‡…~«‰EXT‹ÅžÒò5:Ô ö¦þ±ÐË•ÛÉi¯ð0“ÜEþC V”àE|\> èð—å±ÀÖ‹«Åº¼g“ÅñàaÇ‹åËb~KbÓÉ¡FËÅg…~PáLú01…]­#o·ÞNìy¿ÇÂSˆ3õ(&¸G[³É:°Âßà g|­òμï"í”Ðë)­]ø¢vfÊi çþ4“¶Z¦Xot6B€Û‡/9ŠÃu®¤¹Ûì—‘ke è Lå'Ö÷Áî—'7!þVÈŸT“>pp%µQà°'©J6|é£ÃÐ+yP!ñœÒéõ’ݽ͚ßLTõ@!„vð¬ïÌ Žwô`yôµ‰ûVðÄfÃéÑéŒìØ;~b7ñȼ±/@“£<Š÷ ¶ë9ƒÔzoMÈ"ðŸk{õ‚h¸D t"ãÆwª{Ɖ¬£k±‰Éz@sg:‘M-ó¯ˆPÏIöóˆZ%÷›a½ÏÖ.ƒüî °.bô:{䤓–}}BL·À‘Dª‡­ (SüÍ%R<ÎQ×R”ßñæM¡8 tIÕC¼-Ì —ÉHâÃ[·üñ ZÚÏ)?Ï=mü>…ƒPÿš?VÞ?ûñbJý8ªg¼–dgr†¡(“‰Õûµ)¹þ ]ÿ¬¾^ƒb ˆcQ*αî5§fàJÔ—;:¯Ðÿ5Æj¹]$›rÙõ§í飄/ó;uáDÑÃíÈ~@دîˆ&2rŽ_‰­Žþciõ‚+UÃù=ÃóÙößÖÍLLÛ¡¯‹vØƤV–áý_ø>e°¤ß—†W¡]ìÌ&Ó¹ ±§Ó& a¢¿:ßçÞÿ"ôÜö:X¦;RÂw8êaP:w°ŽŒô_Ï@.5t¬úäVH!t9±ÌLpÒ‚\–çhîì’1ÆX@Â1o'V@™1Ryôxe¯ûbp0«"Úª’ExÉ9Qw¢ sù˜Þ©´¡=·«'‰sÐ[Š)A }q«aÈ ÝöFZD&òT¶¬gì DÁó„P=­)»¥û‹‰ÆŠ.á´‡?íð˜ë¶0S8:“ì;OcjC  7ÐFøˆ{%¾TL-J\Ð&§ÚÕ`:ÌQqüêÙ¡R ädûF–*12©ZDtùM›°ºÍ`// :ÝøB§ZÞ¹#T> ´ƒ‹ö\Ó!±¹Û‹ÝÑ÷”3³Èw…ÿšr5”éþ„`‘B³Â¹ó> ŒøÔºTDw½o‚ÛiÓõnD»FuV\tSZ˾˜¿¤ÑɃKl!±;LþF9Ñšò­à>ökœy1Ô$z@·9b#‹V¼]bwËp¼rѤœvUÍÈ|ÓèØbHóe†á/Óæà+º‚òLÚá^Ë\M:Ò³lÈ, ù/ððª;ãäáùÙ´|áõÚåË$cŠÕöÒ–&쬀ðéðÑÑÐèF-™Yg©d¾z¼ëóT>ö1mq&&]`e¶qüU‰§G¯ºy‰áÄ®Z›·‹+/Ý&ÙìjPƒ³aƒ‰é‡·Otu2¶+7•qu˜Y÷}ž™°¨‰½’5y³ó{­ädv[‰™Òfï>VFMÜà4쪆ÄrPÓ>¾WKÇÀ¯d°xõ{íבo©£¢‰R{…àÎI60¼ê‘ï~èªÝ7êüï 7êÉõZBøíê‹Äk!ŸÞHìÊ;-ÂmAöн<1(,üÓ&íè^Õ}F°„-•:ïq£÷?#}÷¹(é’Éõúëˆ kebªò¦Ï½fŒ\—Šà*TÚ†1K ¹a‚ñˆ)¬ÇK'½ûínFí{„<ÀÏo<Â_йpÔ½ÉIG•R™ =MÚÄ”ˆ=‘³VRjŒù´Ce¹¬™lú¼û.º1±ÑîÐÁÛ–gÙÜÝ3<§ÒQfHú÷‰Ìjšàa@Õ¾´NßÊ kLDFr¥®”ŽÆˆÿ ¨Uö–‘uAß–2;Ì0î•Gû 1GÛ¼†ï.ÖˆÒª3Þ¨\òä ïiÒ~ž-Ö¶K¢”$§‘£¥³ž¤“[PU$¹ï}t6XcCÙÙÊåÎ;ÿ½"Ycésëå™â·dzšD­_g¥Ê,ð¿)TEßµ/žWƒm0å½?ïåïeFÀsáiüÆ?4Nï¯6 LFÇ­Qõ±N\¯—©ŒŒó”Dà6;F½ù+>Ð4Í'Æ)=Ðe@Óü†.£8Gè ðÀqç³¥ÃìzŠº´­Oøj£3ªÏ*u¥g:"®¦™ªMcÝφ?O§¬ Žâ‰ÛÜ9\¥Àúê1F0^µð¦K—7fÔXS«qi™öÁ›óÇh†0Dš+NnìéÍöe ;¦-NÃ|Úíy/ŽA‰E} YP>´g*ŒÅ}BðVªÇÄ:í@•Z>z/Òg˜vlWÃ]¶æÓMkÅŠ-ë†^(BCײ/n«¥u´Úºvý$]bföjçѼ Y$ÝJæ LŽHÁ'¨ #'ƒ'_}bÅnø´K¤²µ‡ZQYÂw^ÑZŠàèÙ…äã¥w`kÍ ºuzöé®»Ð\9_jÄò‡˜˜Wë9 (màWz®_–¶Ä…†Àü!VŽñø(éüèàz))8Ñiü U†õËa|"0L@†€U´aD¯QÕ ' žÞ¼/k™×mVqöïèR7ÏÕ爽Õo&ÃG*ŒŒÚË?jóï¼ ?§…•Ôw…VŽ[_yÓ ©×›©°¯ÓáÈôØjøÖôšûüÀ¹Æ6ùÕŒ½ Ks~^õIBÌY¾& RãZ°R½0 džn¶J ø^9óż…ˆj89kEfü"”w5Úto`Ì\{Ù$,f €o}1r¾¼Éù~kµŠâ%±˜Îધ[2cWh¢_|t«Ú€ÞÔò Ô²Y¿t…ÒpO$ug1ì+ŠêXÌ ùìã_ n›™EνŽäY°Øš>F™‰q\´" ¶8&B?ÏçsüB5Œ2ëÜ3œ“™ZêŠw‚¹$`H¥.»Í½×QžZ«î9s¹Nüž3S/r6, I˜bUŒ·ÂïÊÅ:9òmuŒûÓ(Q¥ó* Ô8S*ôÇdÎï’F¨í>@%~ &$û x£ë)ýE—G4PÙ7ÈI[7l`vk‰é›¹Ùê½» ù(…ŽˆÁ ²þOT*øhÝ_SS¬(¡Æñ’+P_ZQÊELuw÷|«9GQ‹°³NðU•©+Ä^%UOm}óe]-ö jªQ:¹ˆñÁ!siÝ7Jqj¾)e(”0ï7H{ZwÉéé"žûñäÒs±˜r¸ÚßkEø£’¶ ɃWuÛà´WŠLŒÞBmBpà̓+]D»tx¥ñP»P†ç”J *ΆjóL¨Žü°Vœ)ÿ*8¥ËÒª}ZU?£BBÞN/·8 *ò¹}Ÿ · ÓS£ØË– ðÀÒÊfªbO¡·Æ’Qá·Ž9°«ÞžwgÚ6’MiWûˆ/kcVðxÌÞéæq¶Ó£@ňL„’¤r@ãIu0äŽÉ7°T»fr¢Š‡Gðê¸*ЩuzX¨DÔò³V) ŸH2&Ï Þ—È:=EB¤åGh¼”èˆøÕ’Q½åµYϯ2ôÊrC§€d'X×ìY½_ÏË¡(zϰyÆ‘GwO(AS¹"öùsV¦£í'ÙkÂà½Zxó¡o¾IK(T2îc4Ç1(@Gî#)°‹ŒÂÐÔß³ àÏ &v‚®:‰l‡Þ@ïûûjú¦ …þ>›½º„OÇ&WPZmÉ™Ûàjƒµ-î³Ç|x ^O#£)¡üÐøßµìHÒÚq¿¤òˆt¼Sl'Ôt¹ã…bÔô€bwäiðH±­ƒ”«î–FAŽ{$ÅÑ›h^vËäBÌYJ*÷¾ñWûœ½²µ›+¡I Á,þ¢Ê@ñf¤ª!2±¤ªµ,VçUïØÀòªåO’#0WB ,ÈQ'‘æž5NTÏ=ÎÊúI)ºÂÅãÛ¹N‹pÏÌ‚§Ö0>² ï‰ Oß1÷–äÅí^Ü3?!£Šmü¡x„}ötn“LÞK9¿HuÈ­Ë ÜæÆxôË ·ÈD0ØçŸþ‰j`Up²Wg .Ìèqö3Šú‡Š'2͆¥šP‘íÁ¢¥hMƒj²ª¼¦Bƒ}ÈŽ lۛŤª§¤Ÿû .¬ûMãòñ 9¿è0R©ïÈüÃiæo("/LGÅóØ„œ¶ãØír9þ ƒÈdd¼ÏZ|t~ªØÕ¤’M߸–HÃmÌõù)ÑÂjÓ-_kuâë‘ëóÍ;œ1‹Ÿ·U&-!£ƒèjH–^(¿ Ý5>›ÔQeyR†H–`DÐõ°®¢EïÛ¡—H똬ÔeR<èLc*†dHšCï˜g´ÚœVŽc 5;#™…~E¨l[~åJí¸çß]ûý…ë’¸vù˜m°3#ᆢÆ&D–a›Ê-§òYü^Bw]Á3M—5´"-:ã0pÐËÏ—,=­Y‚ƒôÄôIÇ8ÝÄÁ VÎ-…7OíÁÄßæ:*üåy÷äœ" W»QÕ?Äh :êEgýÝ6S},­yƒ§tÄ+`ûòå @µ¨w¶·üwS¶ iÈùEÏ¢«2«@¯I8©ô‘§…Š»] ÛWZÇà¤ê qì·‰“8_øÖV£¾¬vøùIömKà*¡‘U>´7¾ç˜x«M-°@p!ùhr8]7YÓË7¥ N§ƒ-@QSÙ\–ô²Cf¼<|Mk}ÔÈ~ÆpÄÏVAxuÜæG¾¤^9¬+àKUˆ÷ì„7[ jsÖþ‡eTÉaþ àÔU|¿49è”yØð¦¹µPcîJ:ÓÃîdFÃK`Ä/ª‘ZÀgƒ½°épçfÃ6¢RvÎ P½þ†×kíá»s¿œIçtöœ«µÆÎL÷³‡6ïäý79KД»þ×€”j¥nCj1_\bæ•®ªÞ—:/9Ç÷Ò,¬j¥>£’ÖÓÖ¨hùÐyuF~‚±£ÒiÙÊžÏ%ƒ%‰°6Áa³¨™’Ó#gy'§“— ?Tõ˜ã×€LKGÇÆv[ÃÂôdhšjyZ†C´,¦³yóÕåFæõžx“È”_Üæ½Š8;ŒP>O)o±c·}CD´H0šM†Šã·'kõþ«‰L:´ «â²¢?¤w£ìI:áÆ³¬Æsó£”â×S,KJ½ÌûËû|ßîvv¢h #ÛÀF C@.¾ðI4jJ·h§ºš9ð¶ñÇ„Ç"UãíÇ«q­÷ØàjÏÂ7ôÊkhU¨›¡~É:¬£&Î?*oN¯s†»ÓgØW!Ý^+ü!&Ì¥­DUªmZÇkãÀ4í¯v欿ãTîô£2½bB”‚¶iô‹V8ìÝ H²àéí"ô†ßö· kqúÕ ‘Ã.–ÚØwžQ‘D·€ à<óþ7‹×3‰è>Xõ¹¹òZŒ0ˆ óĦ/IžÝ?í£-Í“ßÆ8²¤E³Æv,¶À]éæB9lªò¼ 2Ë‘¤ÏÀhî=£1â TÏŠí俺}Go®–Ñ™îàžz,ï Ï9ã¡•XsÛáË\˜æÃݬúÑwešÂ¿AÕùq0ß(¸Ù|–)œóèqœlù1›z{ÿ]Œ…¦ÌY0_ÍêbÒ’2ûè¼L7ó•/¢vGþ4VT›¶i8‡Ÿ¡FAÑ0hÔ€pðF4,Ê¥ñTgýG×ïù| ÏÉÍ >—b3ÇÜÂ=Y{Ò:ë1{+°pñ¶}[e`AäCÜDqæ¸éö[2²àO‹3‚Wêà%ÔƒRˆÂ®¼^çŒ4¨Õ@ ‡ UôÜÅ(üíú=Cÿ,_\èÃ}†Ùn<’Gbãf¨9µ Ä|ñVù’ ´øž ƒib5„:pr÷=¾k<™¡ñm{莼è¥gs†$¸NþƒÖˆ]OÐFõÎÄ-æ˜f­Õ« :c“°^#À‡ÔÚ)×HƒwC•v`I´óJB,ž?õû‘ÎíÓÏÕç×Áůg:ä$—›‰È°‘”Q¹õƒ±UäGÐ ÏŠ¿§•Ämì;-çKDgÛñ‡†¥>§·ô ‰—ýølaÐûÞ'3Eí˜eÀßZB|-×oŠ„5|(Xø$šOL—M{ðÀZê•ÔûÇ7#nAòýTr¶L߯[òr2]–*b×’]®Æ(/Ó0˜¾"î]*¹µfz…â3y}+ ¯WýÜÉX¸Ë# Oõ†Ôú¹æËàcÌpå¬áìåûhWÇï,ÆÚùˆŽÅEùgÞ2Ôî± õëIûd[õú†lúN$¯˰·I ±¯CWm›%¶¾"˜ç+ò |¹‚ÖW}³zy?›Ïd¬ÜÁ)òú×+*ÀèìM’\§ESÑMNÈÒúuO4b‰M„§êa.ÆÓOí`ñt±Q™÷/"=yÒôÞŠ¶s®C‹ëN/,< Ï9ËXhŽB¤÷¿mOx0÷Œ¢$ýxsd]*]­«^]HŽô[‹Ne —Ÿ> stream xÚ÷P\ÛÖ ã$8oÜÝ‚;'hÁiw×àînÁÝÝÝÝ=¸»‡Ç9÷Ü“Üïÿ«Þ«®êÞcú˜kε«É‰”è… @z@q¥=37@DVø 3 €‰‰•‰‰žœ\ÙÄÎø_9<¹*ÐÆÖdÉý‡…ˆ P×îM&ªk÷f( ²HÙ›˜YÌÜÌœÜLL&&®ÿ‚l¸¢º&Y€Èh O.²r¶112¶{ËóßG•>5€™‹‹“îow€ÐÆD_× «kg ´x˨¯kPé›íœÿ'¯±7#£££#ƒ®…-ÈÆˆŸšàhbg PÚm€€¿(ät-€ÿPc€'(›ØþG¡2´sÔµÞæ&ú@KÛ7{K  à-;@IR o´ü±Ì èÿ4ÀÌÀüo¸¼ÿ dbù·³®¾>ÈÂJ×ÒÙÄÒ`hbÈ‹Ë0Ø9ÙÑt- þ2Ô5·½ùë:蚘ëê½ü]º.@\è3@÷á?ülõmL¬ìllMÌÿâÈøW˜·6‹Yˆ€,,€–v¶ðÕ'jbÔë»3ã?‡kf r´tý/24±40ü‹†½£Š¥‰µ=PRô›7üo™ÐÀÎÄÄÄÉÁZ€NúÆŒ%Pv¶þ­dþKüÆÁÝÕ d0|£t71¾ýÀ»Úê:v6ö@w×?ÿ‹à™™&úv= ‘‰%üïèob áðÛùÛ˜84˜ÞÆÀô×çß'Í· 3Yš;ÿ6ÿûˆ…åU¥¤Eiÿ¡ü¯RXäp¥ggг°3˜™Y¹œìL÷ÿóoþËþo©‚®É?Õ1ýŽ(iipý‡Ä[÷þKÄáŸÉ úgm¨ÿ›Aô6Ï@ÕïñÿÆÄΤÿöÅüÿy þvùÿ7ûEùÿÿ[‘¸½¹ùßzªÿüÿèu-LÌÿ±x›g{»·Ý½mˆåÿ5Uþg¡…AæÿW'i§û¶!B–Fæÿ¶ÑÄVÜÄ h `b§oüŸ!úï)¼77±*€lMþºpôÌLLÿG÷¶súfo—ŠíÛYý­¾­Ôÿ¦³Ôüµ{,ì]]gx¦·cag¸2¿-©ÐéïÙ02X‚ìÞ\oä܆ ø¿N”ƒÀ(ô—è?ˆãm¸~#N£ÈoÄ`ûq²%£·(Ò¿Ñ[™ßè-ŠìoôÀ(÷/úÈ`TøXŒŠ¿Ñ[¥ßˆ À¨ü/âz‹©û½ÅÔûÞêÔÿýÕSFƒ? 3€ø|Kiøþ…Lþ…o‹ô~›³ÿ¥ÙÛüáÿfbô|«Òø_ÈöÖcg+ã·›õ·Å›ÌäøÖ*Ó?à/³?à1ó?à3‹ßùÙ‘ß.FÐïÜo¶o¯£?Ôoµ[ýV¿åµzÛ>Эa~+þjÌo•Úþß<ì~wâ-™± ðÞ¼UcçúÃá‹ýð‹Ãð­>Ç?ÿæíô| ïü7üŸa×··±y{ü}½mÂñßo Ð ¨¿8Òçñ3­òk¹¯Âs¤ßã›&ßQK¤¦w]´iµ|G]žê³ns+7Ø…²²-Fu#¸DôâzÔXØó¹ùÉíY;Jqr§~a«o<÷H¨º—à>½²à®Û‹µ›ª·d#x»y¦µýÇ÷ Ùè÷Ž=NÕ½EË#s;ŸwË9¤ž‹¦èÃTB¿yçÏgé¥Í~ ±£'€£A;wBž¹¹FË%’Š¢…w?cÍsUß` ˜uY-Qf±íÀ!ÃQÿ@yƒ62Iá*¼/…=ïZð#B* ä‡!Ö\=+²®5[%qû"oÑðøæð‡mo‘"äíÉ€ýÏ[äƒæJmÐ2«9ó§^˜µsàm?·í½`¹„”Î¤Úø ô™Ù(°&uG›úÝP À´íîÇÏs,àd÷õryLQÖD¿z F-°èeÙitºê:!´ApÞ_¸KXÂ¥k\+=áWžÃ$Õb6&ÎàÑ9IWè+C{5ãÇ+ ›„6©\—jwyÿÚ-—~¤ï+°¤Å»û ˆ±1o­¼cï·`P¤œ O6å–ê´„–~ &eQʮЈ=êMÖC)‘÷ùUq–èêæÆeSâ6]çß)pÕLN}G80(6ˆv›”,š8õÿ¤åø]¹¬xH**zÆœV̪“ÓÄ02qÕ.Å€Å1_6CÀ›¨Œ#;xLRËïgó §DΧ3=qË—4…¿^Ý´óÖ8{°–6Qå—cùëÅ6üs YäÏo›jr "yTªSßÎävwñ3[»XQßCÏ \šk£ØvÊ(Ôß!´…;*9lεëm ŽvëpÙX…÷Ý*l DVÈÙÛÌQËðÙ†ÏúL ˆŽ-f5u*Ì„h廨o ‚îè˜ÿI_0æ¢B3ºLÈZ²çq»ý)ÏÛ×eç37Äì l3Ñû¹ÍQ†ØIL}§¦"¬‡ E¸TÉ>h¼ê¼Á ÉìÒË3ÉÕàÓ´.Ϩ­YLàÔž6_Kb‚¹çË1õ³Á±„‘ ³8%Ug½_ çv2Õ^S5‘jS¹z ÕÕS,Üô±A~•‘Þƒ>’ß,äÀ<,“bwNo3q˜¾á¼Ê ¦Ø@-ÌAŵxË÷¼zÀ-­Žž„§”v ƒCò€ûQ Q.íy'tVú"=3æé«%øŠ&ö¿à|÷zTì£ú†\à×4†ž Õ³8ÕžüLfuŽCæ\’é‹È“,ËOv›2™ˆ+îœ?«s7JÛF=6~ég¢ÍËê¼+ØB'6äÒæW8,w‡Ï-¼-å‡^ØMD«K„Ýc‹i!øè„P£•úpý€c†ŠƒÈËO÷É£L«x\…¿Üm̓Š ;^"ƒCÛv|&&å¾%Ò"Ùd÷a,̦2®ðøº—_½øtdM`<|ôã–‚:¸Å~$ ©PTáz2¹à;G^Tì×>c±í/T}Αr÷‰°T\¸ù{Øìs¼Ùk_ØŠ ›Ùщ#οˆ¤ÀTˆJ݆·Õ£|[˜Ñü’…ñ¡)ž°¦,åyÑœ¦afû+~-=?¾Õ çm\ƒLÓSMÿ‚zz¿ˆGu¿ùÍÃMI0Z³Asî(7£÷#Àˆ˜£¾uÅ=,ëýç1ÚsX.VUW@[Üç0ó¹#‰²Úº-$N0b"pgkÚÍÝâ ¤)©š8O¡#h˜w»w¦Œ6³K©¾ê (Ôl†s´òV_´¿ÛyØã5"ÕÉx3EÖ[‰.žØ„ÐcõÚ=?=°šˆ¹ûùÔj çY»ÜÅ)bÞ“L?Cjˆe²¹¢û÷X¹(2ª=¼§×ì] «- ½[caS4¼¤liðÚÓ°N©Ï‡cH›a²ÇWɾ#8n¥(ÚY¦š|çHOBËVM¶–Ç?Õ˜›ÈGZ”¦Qƒh *·ƒÒ¤—jíGÐ#Ë Ì¹R7ˆ8/4Œ¬ ‰èáw’;)Ì^³Úް…ü‘Ö(!ãµ(ŸgÌ•1 »ž>Ê,HÃí[’â9—¢ýf?F„/…óÄña¨Ë =|Λ‹F #:Õ©ÑzØ7æptBÖçå[+spOAVÉ[‡›¢ v³šO86”.e&ö. ËQ²|ÈíÝö óÔF¥ Ð$H¯ýfrNŒù 5j’:d=œh!®¶f~w¦Qzï~d"¡Êá¨[޽IfQàÀ‹â¢þOKfvIîPÑ:ù–x™†sÐ^F¾eŒOÏsÔãôY{UêÝ‹ˆ¤/ûE4‚2¢‹m~͉»½ŒN¼ì‚WQ gºtÛ4äéÝ^óåÏ€ÕÎò€×ËËÈ\·LjÂ.Ñ||Ö¬ÅÝ8i²8ŒœýwI-:VÏªäø©UÛî4QìæiÅ× ˜¼.e¤:¯ýJØb–ã(_rïggÑo²5¨J\ŸÎ?‡µÌ¦Ù^Käk=cgŒ#Ý^tÀÔðÿ:^C¹‡%ýS)O ¿ÆÃ²1©T÷ËÝGŠN]¤>²_ «qZvŒjhÞ Îãíží=òá®JØ>K»R/ò‚ù«‰¶ð7ƒp‡Kê)V‹q¸&~ô@dA…h™W½·’[R+hŽvé°÷2D _†×]ôÞÿÈPПºsõ>¡&Ç–Y6”gA^-óÞÚPÉÍÔ¨D–Ó×_[m<3B/í‹C•Í̱ø›(7ª>L#®qMúÐÇR?´?ÙWÂwØÓb˜×Üüd«=hp)Ô—± ŒÁºW–‚Ñà†.qÃ}öß P ’»‘ŤiBªƒ69;•1¼2ŸaÌ@ȉ¡ŒhëŽg® m ÚiÞ¸ø|kÅN.Y‹UdL²aË=Ú?Â’},ˆÇšK™wô8²S†k^zÖ¨w(ŒZ €‡ÏÏ×ý°)PˆÔõD“‰¡¤‡Äë…×ÇD- Y¹c•pÏSÇÙ£L^ÊŠ°ì Ð⇈˜Êœ£Ì¤Oi€òZóZ¿os”•WŽ,µ•JþŒ×TóØéë ûîÉ»Uy­­þš¥L'ªLÎv}*üéÙ³\ØwÉ8ôr™ žnóŠ?c7÷ t °Dò)m¼üý r& ¡˜eL¥@e”“Rª’ªî¬™ ?eò²TŸYAr5róŽÁ<óó ¸é 8¹iFB <ói³‹Ë`Y¥š×š,­…t½_c_¿!É #«GNO9ÏÓm®]³ xåÅäˆÍ¯FòšKqVœg#”¼Œ¼µŠlY÷…å‚Ö Q³c°o6öüëõëD*ÐaÒ6 x¶îgðæœ)ö»‚µj—Wk¡o`ŠSÆdÔ!Ü.rJR2«Îø¦Zé=±ýѵà‘}ø„ÔSÊÒêB˜ LÐ>0R XTü\[Ýyk[Z¯$p¾ÐmÔ­_Ø÷ðøŒ!å¦|tåPª ÉØ¡·æ`˜WŒö¼Ø8ª9½?ÝFaÿºª•»~é4ÍÞ’g#(hÅXlÓ[}ÝÉm ·Ë¿t¾Ü­Þ¹¹ 8s½rü¬A«,mÝOÛ¸)ˆp¶maI·n*k)f(‰hP (AP®UZóõ}ùÇ®ä{9삜×4i”`n<Íž\aâ¢^l9/)Ìà³=Êy!†[³W^…®2F½ìmr}Åï€MËb(ßíËä,. ŒÁD+rÈöÚÊi‡ÉÌuˆD§4ÐÀ\9-Š|{I·›?Ú×9¦ÂZnðHl%ØóÒâ.Ž2Çy±ù'O‚‰óË#>ñˆnÞ>¢LäI '& 0Ô턤uWWŸ°îë5"¿ˆ'‡û)ëÔßÕtŽjë’ y4{FêmïK«Í©dº\‚ßf‡ É¥dßÒI&€§&ïö Ìùëž÷J7õ·s: iÍ…3'=0 ]üïèw3Úä SÕ0ÑÕô›m"&Ðüƒ°C<»Té ¼À¿‘ñü(±ÃWVì ÇýØ)zìÙ0!“aûÕ5H´†” áÞWÔU·ð›)O=™eŠÁPå訴b<¥UÌ¢î4á튶*68óœÁû÷ÏCϺbbïWØHÚðj–¸Cszq’/4%íy™1²HÖ™Q–æ;BêñŽǡݺõó|ÝŠB(k7ïw](¢Ã¼MÝÍã‚G§¤ã÷5?ÂÏQ·¶¬ÐÁ ú€!RqJ÷žgÉíRg¿Jƒ¥¿Ðõ¾adg×õZ»?øm¸ÍÓZ4:¨nWÄJ¶ý#S)j¤‰˜ì¨Kò"Q Ïofg®8ã`ÂÍ'-“ew¾ð¦"¸ "µßg5œ¯9~`!mâvžháXËšgûôP‘7cfsá!é&žgq=s‘ìPT®G×¥‘ìTäã½9€òÕ_°>qÃ_»¾ƒò‘ˆu˜['OˆS$Âã ­önb›"©ÄO!Õ;Í`Ñ5¤¶âwsL^[4ÞöëÐË.×z?±+|+ðŽŠm¾Nžü¨’ ®È¨#¿šÄ1‚»ÀUùBa<ú#rA¾mïêqcFmŒ¥RkéÃ}$ø{‰ò“g€‰\æÔXñË‹³a«¶Ò+É"ÿƒ‘Î-®0‡ÄüËÀ‘páó€Á—ÓÈZŒ›ðÆ/bî`•©'þþ»@5´fíý sóÏ…è/0& ?ïhqÞêH\Ö™¤guÈ_«[räXkŸa´Ç>¬ú†t»¦Pˆ•†rg›ñƒð.’ñ… *ë%Ýòâà3Åkhÿðé*mú夢Ñ)k°wrô¹-éךaMìD­#÷ê*éð{ Í}Ù&žšzލ›ç--Ù®)ç' ƒÆü|â*rBé5«(ºämK«N,B5QZ7Û!5 ޲*gfX½b Ø/lÐÒyU¤=§œ“{¬³ô6X((Ql$–HcBñRW‹hx0q›D˜< à¢Ò³àÃ+ õ<9ŽzNW-GX¾ÄÏ~]jŒq]Cí}x b-ÌvgX"Øšð¬!²³ç´Zw ãwÆé½mÄ5Jž’2Ê ?°}Yœ}èáÐa‹fʪ¡¾kê•9Øð´n²]Wn5¹DDâ5ÈÿL­m´@i™8bͰ¦¢•'`A(¸õKš¿¦>JÑÄx ²EŠaO„G¦–Ñ3÷N–ÕÒ0ÇlðöïÖý‰ÕE“Óãθ»üvÐñÁ|›‘D8¨Ì*¶NÉÁn7î²WKUÈ¢h_w‡¼ìL³¼‘ž^SÎcî¬.IËʨ[ÓB&“⥤æ,oÒëP'G+ƒS…2M$È*PÂÛãîÁØ“•ùpxsúœBÑí= $Oçë®Û$ÑE¾=Q5†¬z)™œwþ” Ž(fäùõ⫺*„æJHžOÙ—LòxÙÀoŒÉ¢KiªÃ=ýñí ›¼±$?{ú}=9‹pWN'Îe®£–žW`@ä—Ű8šL´q‚jùp±Uy÷ÐéçJ~~l¯€bU5 ¥A€_Û‚Éžã¡ÃzÄÌoµ~¢{TjúdRë?L¢XÐÜh‡“ÒøU±ª±ï%ØßNA*þÑdûWJoL(¸Ÿã$,6‹>ß¼¾U8Ë 5ÅýŒÿ§p!l$‹Õ&¡ 6ÖÕÓ™Íeñ-¥èQPAà¨nÚÔK0WÖ# sýìJFŠŽdŽH o¬ü­”“Ât:éJ4²ù°³Ç &Cšl;‡îBÆél®Remþ“[÷ލD°üõ]UN‚t¹uþ>vÎØð×­ÛÉk=÷öW ûì æOuñÁd_eyª@›&GOº|Ë1À8ò´üñ‡\ ¡ÖÔî#ˆC§°ÊþC¾@N›•¼HUa ºÆ \Íp‘xN ×NC9Ý ï< ÃæîÚ-™åW`ØÌ£šÅä/â¬Ï&!>©Â3‰v±[@Ÿ>¾ÜY™[ÁŠ+ÓšÒؤµàF%?V*4µ¬W³ñ »ã4{ð‚2rRâI~EÌl>3 ~{®zǪx¾–6MRÛ=,>Û|àâÆÙÆõÑ ú’Â!"ë”*ö*Éð˜‚)6?ÚÜ ©(›Jß¶õàÛvåiײ[ù¸F¤³ý 9Ð,Ì8M=½y†áEa»Df‚£u’¨0Mˆr¦Øóf·8ÂÜN¹‹¦Û; †©f;¹”‰÷×ÎC÷Nˆ±oS{E ×ÃBãµ¥…ó#´¾9Ïã§"ÿð#ƒ}÷TxA W üSçFÌ&aìž¶lÃñ“‹‹·‹³ÝŒª>”ãÝîW”c†ËëîÙ‰‚¼wÒ{¾‹ÞÑzÉæEªR—ðï»›¤ŠÉ=äOUWÇ•bŒg°<ª/~=âòÑû) ÷™£ò)¥;v ”î²}`¶rõ%ª‹—•èGªä%ÉÌ–êO=[²íµ†ž•2— ätj†µWî¶C¸1yf‚ñ˧1´ø|Ï6JÖ¤­·MR+ä»=©1X üN}>¿n´›#Êkª6Z‰Zñ¼MgÃ<î•.bI‡÷IåSkWý>ÖYx­ ¨³®jý¢Ëé2H«@ÀϤ‘·GŽ&›x£“Í.V‹ûNmu ¢«7pƒaÃ’PÚ© i%8t‡dÑ,JfÝ»½tr/±W¨èÞ,0·+qøoÌ«˜ñÐwÊ[V-ûJƒ³öU±¹³õ—f’`UOëB£PG°Á–Ø||·³w=> ½(Mp,öP|â'G®cI‹X½ýh2k…^€tØP/Ö`ûù§Ñ6‘³»b¿¯ØÑŒ®HÉ//íµÇƒŒs°óàE¦B}E|(þ” B³ÌïõL çk.î²µ5ãìtð80ï(ÕVN‚õ°{Ž€²ƒÛ/M¤\z8—5»è‡ Cq_2‹/È~up‘ÀI8Ûé9àŪHàñíß@‹ áhVÍ= Ý söÞ“,ÏK¤…ò3u.~V¶Ïd°Ö“ oeLøBL›< ˆÌWaÔb8#¹ú:ÉPAíæG¦Ž(à öªOG):Ýÿ‰ ½Lœs\¤¢c®Õîn‹4âÎ'ZW˜î O2ú}’Бá”…´%£hõRÜwì{ÿ¶F{ >ZªMa˜Z{°¦96›´K÷¦{‹ú\"w÷½f§#‘Wˆ’Eù¶±SñôŒìNŽÛaKØ}¬Ìs¬Æ¢jþsZ0U+.T èH¸Ñ6êIÚ#â M ?×kçRŠåwdª¿µ“¥Ú^áõŠ{E­¿ÃÅ©m>ÄÒ ˆx„ñf KãÉNqÁ„‚1Ä XÏÜ& Hö›:­ŸWâÆÎä¤ )¯Ÿ+ª{Pí¸ÅìKÀsë2åté;šw»-iIè¹üd#Ï%5ŠÐNÍ+‹ÄúZ›#b¹]ŸßAJk&±¢å6|[ë}–ÃwÞi¡:íËà#KTðµ,›—µêÐJÞ€¯5ºàu{Ô`­ŸÂÈpϲñs±µuz¦£»Ã‰ÛŒ{fïäøë^òíê iG ^ ¢½¯Ø¤9›y^ßµ#ƒ¨C޲ÝÌ#ï–åóOaöcª7Ófó阗\òžÝ”l¥]4.ÙœmizÆvþèôéùªz$õ¾°Ü%mÕùžæÊãTòýQ„¿S*½·âÛ‚¡î%×XB¬ÔY vªÄ@‚ÆØœôõDÓ¼ :HeBÌ~& ¹™'…ëqÄ/˜–éŸ-õØøÚpØâ>íRšÙ«¿ —†¥ Ëÿ‹Ÿn µ²Ç{Ù6èv\/˜78Òr f zœ­ì΄)ÕJ~˜K‚ºeµìá€A©!®öXLE Ëêcœ€ÚÏ@¯G5‡ µ€§=&ÔÉäüµí•žÅŠðö§¡Ò<ìžbõ„ÿµÂ½„¯³pàÿV\È€»3(yi†AÂ"R··p޶¸i×›Ñ`» Ü_<‹)NÄý•ÄMì ћό%ø´°PBAÄ9âXi{©r[Á&¸æö6vHÿõ£? 5â}fMõ•4C†ðóÄ IÝ0S–½éÀµ—æÈ d¯&ÛxBKbû÷>-ɇWH…èi{¬*߉ɜCì_y0Í*l ”àø—¡èÅõ‰6V¹~ˆÜá?ª×±˜ùÕ­ðy8AKú®Êã…Äöˆ%” ‘\¿´ÈΠù­F$+ôºBÔ½UÔÎ}áúœä ý¯Xâ¢x—ŸS#ƒI"XnÊ(n. 5b²qk9½¼!¹=Õ3–tàç”3ÅNœscu :âO¾Þe–õ±¸>ãä4Ãå« Úª’‡wƬkô»[Mä¬A •Q¾~ (L­©ôDÍÜ o±›ÿýUO]„8§àÚëÇP@*TÝ›gÄLm^dÇgê:‘^-÷Ÿ0êF;Üåáà u2¼^Ùöu]º¯¾ŸÃqà-Ëx*׬檞\ì÷4t#r;ÒЪ2H'«rh,}/2ã?6wû”¸GÚ °,Ûä \ž^J ù9ÖÀX­¼=€SÂKNCÍý¬&S@6h9âkûÕ s.goòÚ¥GQ6ÛöqǪ¢õ]Ô&ƒØCܬ.:¢*km†Ê|Œ”úúBà±£¿3Mn_Äݳ‘H=«9kº:¬¹8xNtM%ÆÝ{!Ü=Å1´*þ/YŸŽKE1®,%xDL'OäL# êÕ ÅàJL£5ðÔëÃõ”Va?;èÔÖ¨äŸÆ°lü,͹ý4íú¿#â’ÓíBKÜæÍ©³FÍö3ôЋ ĺKÿÄSàÃ…Þñ¦Ê»æwúóéDq(Beü ï(ÜÉ‘ŽöøL9›zAbiû ÄÜôUŽ… qŸM®X’ §WFHÿóI,X«WÆ2t,kâó õ -"‚´®31U‡=v*jþAö¸ëq°í‚äDè²jã×ò‹â1‹‰—»p¹p ]ÁrR9Îø¡nœúy3½GãÝNÒP)£Öé73С|VZ̯sBÑÙîN ëÔR«|ªƒ+—ÕÕ¼ÏÃQ¹ƒöª)£¡Ö¢XT_9¸;u]ß» ! §»®Õèõ¾ÃB¨qð<"hÍÚ˦oÊr;.¡:G^ø‚ÀT-ÁŠŒ3{Ü,.çx‹~.\ä†QWƒoƪX uÑÚ$WÉqŽZC;=^T‡¯¾Iù u] „â*³Jºñª[ŸÄ+g¡ž¥ûÈcû¬É<êι+Æo™Jàt¥…^Ñô³ÒZÆ{µ £`$<«”2”Ì"T®Ü`‡#Í =®¢5ÙÓNqô$ 3v“Ð%9Êì#<ÔÚuÝ_žÜˆƒ§Q@GŠAÔDPÉ%hqÞ+³ÎÏÿ éå´ÑÌž²½›1ª÷Sò9Fÿáüä-ðcÙ®œí] IA'ÇÃâ·#ËÒO ƒ‚9î]εÛ:ð6vt¡Me/ ÊBJïU–×i¾"@ê‡×§f51þw‘àñ¾ÇûI,©/±A{¬_ ÎòàûöúK±ž7švÞëm,†R¿Â4¡7:9íÑE«@$‘Τ[Ç0dZÍ»$ƒmŽ>mß¹•SK°í»@‡x˲–:Iž šœªfm°ðöFߟ&2´W^_¬µ¢àQ¢uÖhî(~|˜|×a/sÆ´FÞ°Þ0[­G’Ÿƒ"$Â'ïvq=¯{ŸèÒp‡²`#œ^iÆð%`fµéjY^«ÿ Õ—etéûžÅ¥\R¤2Ô˜¶9fVß×%ݱºŸÞÞÊV>©$å$Š'߬ Ђ5±ëé ˆb¯) –ˆ:š?,®€#-¦RyA÷øŠyѵßÌlƒAhóâì±åÖF}ðÅå èùñܦsé+³)7­ˆOµz1Éb^)qÆîÐÓÀs)c¨UÜØoúU¨Ýr…† rØrtVA3¹6'“UºT¨ª²ËöVžªEüGv“IÄ/ãóÖÜÃ]I€&ðÏ“cBNdއˆVòÖ„qð[½Èlå¸9³ºv ò|O{ÊúnbƒëðîXi¡E È„s8„ü9½Î’më‡ùê󪧰ô~î—å4‚‹lk*qb§…h.£,:<Ë‚À™UïzJ»gà„°»âx;sr0£P‘½$?=& Ð|îBæýÚ“Ù¾-V™Ç\%Óa¹uˆ¹C®.>J _·(9nù¹1|åÐ ÑÎlÖyuõney½mrgÈKC^U ß©-ßœ–fÜJçêÖÈ}È?.2@3pœlýë~™ºe›à‡ƒ ,QLsöŒ?Ÿ¶À2ó£~Ñá@c"^ÛR§}¨¸h5, ϡijíåÚw–:~Ë|“v®[j—D§9­/5Í>ymŽdeì*b8-ÓPð4K*ª„nZú´£i k?¥7V±iŒËN;VÛ…Ž.‰T!Ãçñý·`}—fÒŒ¡Òð ÏŒÓlUQiD©Šâ}á?÷œ²` Ï­ÞEP÷%‰×•9âòNòþz7ꆦ{h³ Ÿ9=)8î½5‘¶ÌCåÄÑšÒ’‡›Ù\øþwðÍŠ-2^Z—ÛßíØ„ÉèwäϿ㵢À´¤,\&Mo÷8÷2ÒHO&` ,=Þ.-Ýó3RãÛ°/\Ì1ìTÇ‹¶¦ŠÀ‡>tøh±g˜zQ,DrôýÏWë ¼Y_Â}—Ãᔨª^Óph<ú y¹xo{ìt¡Bó(Óæô„!$ÈÂÝî•72ÃqÙeCßù”äȪ•oÈ(ýCÜ/»pÈglõ&áãJÿ„†ÝŸx a‰<£â®ÛX¶5$ŠÍY² @ÄãÉì3ÞÏçüH-’H©æ©ÎÖχýaüä —Ž¢ÄÛ€z΃#?" )=zØO¶ýĸ t"2Ô£Nn¬I®ð`=É#ô`BËèÔ“×˧d/ááIÉg&¤‚ øá$éÛ ,® g3aƒ¿¦Têêà€Zm+cXÃÑ¢Ò‘§–áûJà Æ–æi¡°ùò2FMiTIEê$æf…x„}Iub͇ÕðËGò\“ø^ iCdžpç°V¼ÖT„Hó¤—r/µ: Óõ…(röº¤þh,{|ùQȳÑoÑA·3<[ŒÒ¡ù¨¸Ø˜þjIÓÝÑ:욦\‰ˆäµå’¾ì ¼ÿFçdkŠèi«ª ‚Á8@g2´>ÔÇyžn|Ro¡µnÆY pæÑ\ì7£;œ<`Æ9f:Ñ™M¶¡hu çH˜è(Ô”vˆ+±wÇPí~!‰ ÝV®¡Óçñ|°05éó­jo]“¿á»$Sn—˜Ì8åaYï¢O+8ž2E_]–F^'Õôe µX6>•dÌlFƲP?}Zin»^~¸Èf°j+2GSª!rB¡»¤†Ô¸ö‰I×3·â0¥ìª4xPfµÇE1*gpÁ0ÊÄdÐYîû”žD‰¤•j$4R´F28 à ?å·/Åpa؈Bbð{ûýíMÄ HA9É‚yKØé±Xê]Ï-*Òr€«ã\ ¥3¬–å«–›AðNð™á)*¿àS0ŸJ+·\ÑÜãPôDº QjTÚªJº+=»õâtv~©ë¥ÓXÖüz€ê‡@›ùéË4$N€oµá9ǘ26¨¯™ŽQhì—…¤7޼@ððýgª¨sµ9SŽYHüTJ^ÍÀì <„—0Ñ9»†K‡˜ü·}!ë!?üî¢(\î€6 øŠ%©dFa®ÅÖŒ~°V ùëñǺ3ÂO½ì•´»îÃNºÄ5*¦ëëóVC¬. {ñ;;F—>hÚúN-L.±Ó43ÓîÚÒžàJR²{FLß\âmc&:wñ‹*ÓšYý¹ú#¦=n]’ô›”»ûåV)·Sâ¯{|Òs.*t|üè!òøô?5 {›ìŸwÂf.H¨zF>6m/âž7G¡Ÿ#Ço8½úw–¼‹Ìà$ì¤ßZ¬SÄišgÿ4Ùæ»@ó…ÞØ‹xÍT?ˆÆØÏ† GÑŠ¾r Tì)äLs¢À§ð³ÕJEÈC{†b (¯FoÀG x'¦¥Â&þ)+ÏÝCŒ'þ©ùô£–ß> stream xÚweP\Ù- ¸;$¸»‡àî¬Fº¡iÜÝ%@€ww·à\ƒ»k‚%á1™¹3sï{?^uÕé³>ÝkïoíªCÿB]‹MÒ b”ƒ€al\ìœÂi)}m.N'';''7:=½6æüǃN¯ „º€ `áÅHCæ°'›Œ9ì)T(º:¸x\üÂ\œœnNN¡ÿB Âs7@… ]Ðé¥!NžP-ì©Ó^Œ–L.!!ÖßéIG di¨˜ÃlŽO-ÍZKæù_%Ema0'awwwvsGvÔæ+À³h]€P7 àÚUsGàßäØÑéÚ¶ —?]Zk˜»9x28€,`—§$W° xêÐRP¨9Á+ÿÀ øk{\ì\—û+ûB ðïdsKKˆ£“9ضXƒ€59ev˜Œ`¶ú#ÐÜÁò”oîfr0·x ø½xs€œ¤Àü‰ã_ ],¡ '˜ » Èá–”yÚhY°•4Äц¹ ÿ±>hù´óž±=âöþ[ƒÀVÖP±ruâЃœ] 2E=™Ðÿ±Ùa>NNN.Ðô°´åø£‰¶§ð·ó·ù‰‡¯·Ä `ýDè ²>ý¡{»˜»0¨+Ð×ûߎÿFè\\+% `´Ñÿ©þdZÿ‰Ÿ¦ òq> !€óßßo&Osf;xþþû 9 $eµÔäYþ&ý·[J âðfã°qóq¸¸x|¼ßÿ®ô÷ü‡ÿo«º9è¯õý«¢Øú“ÆÓþý‡ŠÛ_óÁø—|˜ÿÝAò4×@ã?20æäã´|zpý‹áwÊÿKTùÿÁÿ®IÎÕÁáwãBþ¯sGƒç_1O“í {R‰ äI+àÿ Õþ)n)ˆƒÕÿú`æOZ‘Û<Í;/;'ïŸv‹Èh¥‚YÚþ9Oÿ9ާ 0PâúãzÊâäüß“-íŸn—§Cûí>)ì¿ûÊ‚-!VH‘›`…š{¢?ÍÀâxs=iÖ èñ{Ìì`ì)ðÄÐ` ¢ÿq´üü©?L¿‘€ €Cõo$È àPÿñ8´þFBóÐSžÅ?HÀaù7âzlà¿ €ô/øTÈþ_ð©’ÿàS)ÇàÓØs€ÿŸ*CþyÐÁ§F.ÿ‚OLaÿ‚O•ÝÿÜO¥<ÃÿÚ^KW(ôé&ú­„§½ÿþ}í@KôÅ9ˆ¥Hˆ]MHÛm•$¹;ÛÎ87/fÿeÔ5ªÞ¶,©ÛžF´èÝOnô‚d×ÌnôÝ:ÞwÑc£½>§½éšÏûha¢Åº6dk‹-VŸ <±û#eWî]¥ÎNC3°• ÑY“æ ûµÄ41«óÅÎlƼèË¦Š›rÛ³g Çìã±ÑÏHy0BÚ%3Ú+¤ª%§g:è\.%ÆO’(åîÞáæÛì_*a…m¼'?<ÄtRºÎ8|•¶ßÃO¦d6˜¦ßî‘%yH` ºn d´pUW®´Ÿ¾ð0àIt¹ð^qT¾>Ç÷MLHÍŸKuOªÐÁ“Ã$Ù\Ò$JÇhu6 ÅüQMáR_Q7qpŸ”…Bÿc"Ä_mŠ&aû5yŠ.ŒJàW Eï/~OLÜiüHb·ël1 7ZC?‡«·dz¼öoÆJ6íó?û”\±ÓWÚ¶ë{En¤¬|ã9­ÅýáÝîoIN× Í ÅCJ)ŸÈrRgߦo 0ÙmÁMXf©cA’ zg:ÊÒ°/"‘`£4…NMä?©£úVitñ‡ÜÜ'•‰éè®ðŠ7‡g˜ŸÙ©ü1t ‡üDW]É‚tÞ’6öñçÕeâׂ©–s„šíz^¹¡eìò0ÜÞÞÄEU䢋‘Sï™Î‘ÚÛžñ£ÖƒtÒÃj#'BÒóœîÁµ~‘¢“„‹¦Î”ZíÆBW÷Ùù¹G}ì N3:9|ÏíédO ²üÌûÒp“àEÄÖN‰éSjïàøw™–-õl<-œ|¯àÝvÙ~9Yñð4Cç(Ckð…ëòñÓ…2°UÀûËÁíc^Wv 4¼Aí´ ›EÑ‹8TRè¥5¬¸–K¥.i=‰ú¶M‡8B°’ªö•3Ÿ!aäVDaHîLW 9h´º6]G˜à¥šIǼ"~…G§»Ð&—ZÁ*Û?5I?D1 ³¾wêg˜+ûvæý°¶YêÖzú…N¢êçé3I àL”vܶ³š7ò3üVaèq—ć5έ Å£è¦ÀdÜKVÅæ…pš¿*föw™<‚cÅN™}Ñ2¼œŠé<òCFL‡t˜Ïpj³­á&¡-¸õ ’)… ñÑ=Ö×DytRŒ4jHô"Qùò›!ÆÇ¥¼9tÓŒPW,ïÊ;¢KY”%úÏcaø¤ ÚÁä¯`Q„p̪÷†ëlÑïåD¶ ú^Ãõ Åðdìy„½ÀàЯ3²ži‰zô£`¨b)Ò—Bê’öç£Uv ¦I]W„´"Ûfoøzl~ÇLRR:$ÔóÀà "æåÞ–îá›#èëHBgEMæ¸o2¾'ÔEÊL–üަó«;ɶ[‰Ygt%åË•7œÿËÆŸ–äxúV»j›K3ýF¸žúmøKl£øN‰V«ÇEá FͺґÙeå#ÄGW“ÙqR%bµ‘‰{ râ߉sÐ?×?þÒbl\ÂÁ¿Ã3Z8ç±av#AÌ3qUÊ4éÏâ øâz šeþæ}ÜITœ_,ºº³–®ÊÍ‘ŒË.AÇ,ä&ËÐFwzžI¾$ä%ã%q;葼ÎgËcr¡Àæ[ŒésÜÜ÷r£ˆ‰Å/ÞϹ«7ü;ZŸ®Úh|/Y"=>Å¿ËeJ&Ÿñl`êuu®$)^ãÆUTñ0#4Ú«î56Ã)þÏOŸã—Öh¸ú á}G(õbn.¨¤ aɸê¡$n„.rºCÒЦê;u?>]çÀÄ?KwV§ "Üb²¢}v¢$µ|ÊàßUþì]ká!»ŒMú–®Bû Í:S#²Õœm/l4ÜíéýÜñ‹¶•…Ź ·d€ÃÝM@‰F þ)Z¶8sj¡YíŽleu5&èTp˜¸  :cG™NöÝ’A>u`ØRlD†Ì®}åîË©(Ò—RZ¿Þc—Ì(1©PÏXò$›ædñLØ“o8ê4°B”e_ h_Ñl¥¦úoâÍY{–áÐÒÊÈYhÑoÙœ›#žÏU¬Ôø/:í& 剤Ká´}—›ôÝ9± t{ ìvœŽ£F¿›åWðGOQ¹¹­µ©UÕ‰¢¢-Ýž6ÕqY(íTL!}ƒ<ŽK»±Ù¯JzÏ3 ÅMvIªç*.ØD#2ý¹}ys" ¹¸yŠ?ï͆u»àôîÊŒÎ臾)ÎñµûÊpž:¡^S2øÈ ŸÕ ÃýÙ Ž¹¨”ùa%Q!¥ogÐ"&nY®WèçÐhå¬|G Ý—~%çÐ¥îŒbÚ wÐꪋàÇŠ5:´%jƒïܪEîŠË¾¡ÃŸg5›”kÒjà­¿v&miD3{ï!Þö;˜>kI‚Ðåì7j0ô|9I¥ÿ‰~+fô»è•†”ËnHQR|f[œÁ³<¸+–wn»ÂXN.ž£…oæø˜‘VujdškÐàŠÏü= ¹·8©+ºMƒŽD‘68¤–Tè[òn—ƒå• _AÕ&D Qöˆ‘›¥û‘\\ÌDHàøq€ç™5\Ï©3®Ôþ¸º/#· ¼\{Í~ ΢)=q–Õ•yãÙ‰œ| áQ •5#3µå¤ Ž1 û«xÕ©&MËwŽ,ÅŠfMz)ý!ã²#*‰¬t1ÊŸô3²ýƒÑ°ýÝÄ­+ÒÖ”oõÔ²³Î€4Ä!ô!åe£IXÑÂÃò´hSõ¼Ï Y«2gCxB4ø|%Õ·ÂÅ*Uv”:ö‹¤Šåf%T'çéR©1üM½÷Nºt“×LCJ [«¥¨Âe}(ª\«êÈìýÖ¯âg¢†¿¹—œæõþ`x }å{.–ÏbýZëÀ¦«Žó…¤Éý q¯Mî ]ÂK5°É¡cÚÌt M™´cÊh¶dCïXM-æ<1°›çF¤ø5ì(ÐÂápàˆ—B_ޤ²‹f+¡¬¥†‹½~:ACÏäƒ {$%/•!jÁª>;È Š&Ñ2‡ %S=¢ì_.VG2pÞÜ&Fp¼Œ£7Ù‰}¥ ªQŽSšÕ# /½ÏûxÙÝ•ß6G")SñLü “ÞŸí[H„#Ÿ ë[_†-$ó4ïå¼F``SIÏŸ:Ùšjå¯ú’×üIˆúë¸;k©'¨™áyx"eÚX|“ÃØÐˆ÷¾†4b¾Ó0‘¶íJ}^`Š×Ë+& ÍåNÆ¥D8Ý·"cnkòãÐYvQödþ”–&$U©Ñ¢IMš_»_P›Y“«º‘qV’tÜÛv~öv¾0Kˆ8±ú¬3ÝÙ&¶Swì è”ÅúÀOñ¶U?ù­ú 13œç†9iÏ¿Jµj,-q‘J+\.o$µ3Ù$lȇ\:Æo¡¯è³û«¶]çdü¼2 /–_$$9øh¸YEy]ç1¼Z ëõ9JÓaG¾½ú¸ùʈé[Ö˼’͇™dk16Ráã ‚kÜuèFk]é´Ç›+ŒM©nr‹µeQà‘^A*eû•.Œ17~Ô‘ ·ãVC¨“R5`e·žæ¬7ÃZ-Ê9‹¥;/ñ#qLàè¸ICrÄO*õHêšÇ¨ ’K[öÌn[J¯2µ íB•õËÇ#ÆOŠn¥hNP9åÇ÷áÞv{›½\˜tÏB¤¶’<ÜŸ¨»æ·}'Š‚ãÒ¶?ÖèΖ}¾°`ž¸j8¹W'ŠãPÌ^Q)Jd„ß¡ÌÄÎPÓfv¿Xc›%¨-zA9Wç¨D zÌä&1JëmDÄÛÖï|?iÈ—H#4$pÇÝĹÁYÕ¨ºÜÈ¿ú޽@~¿‹Ä€Eв¶“4¥¸ráƒÀâ»ý݈P79bû`}Ì@M¤19[œ»I%ÕÚ÷òÈ„ÓQ•Rø×Ša,¯ -ÍðêP¸”Ò ¯o¾¾í4Š˜n ûô!~ó[’à¹lXûæ….ƒ“–”—½5?qQÈO¬«òWYøMˆê>MG;‹\’’S´}yqÒÞ¶ì”ÓAÄŒM„êÕ¯%^Úö¾æ0ÇèžF°‡ ÒžŠ¸=û‘$Dv­üøu{‰—Ídáê³vn¥\×·A|I ÞËÅ$Rói%ÉÔ/mDÃã«Pv›BB—»Ï á ,aõ™‰ô×Vþ¼Ì}Ï&‚×” †Éù##®K3}E~kñ¸’uæí|Ûlv^ ¨´?a@£îϹer¨¿çdÁ¤Û]!oøI˜Ží¤Ž9ù]àk?Å×5ïïž ‡þ÷ò9”WkK‰ïΙtظ–Ÿ‰3Hò¯¦þøÑVb ÚëkãÚ“åÉ”,6v¿›Ê’ÔC@Ü3Åf^JUNÔ¨Qa–±,]@›Ö‹§f+qÈô µUÜjE“Zå"„o…e û¹AWjÈ︥¿Æ´À“ÈbUe·Ó†§Ûx+SÁW“•F¼ÿ6iV´YKìx¸hÈ€®œI“À‡`Î>øæ%ËxsÉ‘ì¥[J.÷‘nx?m™æÒ"÷(Óë/Vwr©ìðm¤p*|ÏŠ„0C¿%hÔPæJ¡O“0œ¶?Ïú5éÇa(éÃÐâÓÜzBã¹—¼ôÙc·—f&ZO)«ø!ÆÝïÊ0rZý Û<Ötšñ–”QlD89¿õÁ¦¯ÒØ´±jÊ»lËÅF;ú2©Šé}Ód’Ãõп-z¤2c¼•c1Rí©»¼PývÛŒ˜|@$åI¨)ýf1 s¢JbC~-›CÖs(Ý<&¨Ÿwù™æ‘ýR‚-UF6Us…Lžtk^#é*õÏÂ0“ãëW¤|@ÅÅüÞè÷ηI;!Êá]¥;%û!KóNïÉPT—„WâÇa¥’ë˽Y.ý|xý((HúÒk:Mß0b«ˆÛQ:òƒHu?µÍ_@‘_Å»,³å³IξKiéí¯Î þN_G¿) )#E-e0ÃÐè¯*çqׯr¿n¬8ÍÃO½þö©ô«qg>Ò¯´»ö%Åobèï0?ìù›ÖÂwÞûè*,–úexÚ¨bT—5»uã h¦çj½‹/¨ŸßÕb"7x»uJcÿ% ±Ø¡ÖµBT—ôýGRÂ,øÓÇdIüá:¸Vç­I#¢25·GÃûêïZŠ_ŸgU(ö_ØÓÞè׎y¾¸ÁŸY'&‰9E+$–óÅÅorÌëaŠl¯‡Mwì©_ã˜!­0б6t½™ÜE›’ Fºç›îò+ i”cËFç*릔º¿éC¿6É=|ùº¯õ0#½"ø2;÷t³µ–c€Å6P{Kû†eœË·ðþj`Ž>žY®[)K‡æ°æ>ÐÉgÐ<àlÔ&ÝõjpáAš‰.Êe`™Ùç6 “ q¿7MÁöÉ´áŠh{¶Ù޲O©ÒÈP'hwÐM¶Æx3/dµW¦k$§îk*Ñfлað¨ ÁW¼.’›~‡2G´/êcè .þY$Y™/iBÁÈ?ÙjãŽïv¯ªKr€ÆAý“jRÂ'ðʺHñEã,Cg=6™÷½ ³ôåÏŸ“uÄJ²SFþîø® !c¤ã„Ϊ·'2œ‡_,iMÏÇjð¸ãéîÛªmJ†Ú.âŸ<˜6P×®=úFÌ3t9P~.hÏ?y¼Îlç9\}››½×_YÝsç¥}µÂeJÞd$ð`…S>îÅgÕ (ÃRõ§'›B¨—JyÇØhP42µ˜+'õ“âé \á<ÁLŽ™­+ÌsbÐ-fGyÌðYµäÅ‚[²/õ‚çN]Œq÷öŠ|l—¯,få®)Ç©˜WÂ…(Åò-š;jcáÄËTh #òÉ„›Ì¹Fq74‚ð與ÇÒ*^˜ý :ÁÒ©ÓºyQ¸b_ÏÈTŠ7ÊŠÌŠ1iÐá²Ÿî¦ ¡Y?·ØP%ô-|00Þ}gæñ  "ŽsÛ<;ïlÈò9|Q4™’«¶ì¸Vàƒ¾`"èË—xq6”‰Ãq"YÚº„æõÓì¨^#ÔM†nëq¥}ëÉ ÀýuÙÑ_ŠdS5 °S_ûºÒ«ðü³DE¾$¥7?¢ªf{ðå±Ñ¾îN’ì4¡’Jmq‡þžÙ³˜Ï†›âNl…§$SG¬ÂñÙšv•{Õ¢)&Ù8Ðöˆ”Ágî5ý/Y9?C¦Ö6Ÿïºos:Îj~ Ëcizì_•@¨D¬ Ÿ5“À/üQˆvNî\ÒÙ·‡Úo•1(÷ÚcËŒûµÇ§ƒ ·Úde,&ô7Ö”WÄ/4tYR£ë ¾¯ªÿT¯‰¯š¸7WË€ T-С۩w ÊQL:èj AûÀøÁ˜½ä‡~2ÈéÏ€í jqC.|>Ò#iÒô~a¡çºó£Î¼ £r4SÊåAصÕG M2ˆ‘–Í-VlxØBasAVãâIì[¶ÑMt½ŸäÔmeëƒfnsª'ó•/~ ìé6?8ö·f³:Önî®×³Ž¨;¢ïû+[×`ÕÚqçöùt<k;“XJòîïÈ__ÎãŒ5àSg $Ì7OV’3oú€W´§žƒŒ×Úª8Üß«:ºªyßáÖ®“Ò•Ê/Ê´‡j|ÛAÕˆˆñ¬G> 4Oµµ×#&#Š41[BèÈ(ŒM`Ð5¯9ê<\. ”–^dø¼.€K­]”Ô>ãÔ—Cª uÏÃD(…R18Ï ½­ òeé‡Êâm²kWã´—Æ“#„ ‹ËJWº ¾¾Mj^Ÿ7–â 3h2†)Ç!Qs]3”$ÃÄppª¯+Úz¢1in$ɦžã·ª¿•”oDå"á!³ð!iÏ%#LõØaò‚Ñá_Vî"˜Í~ •NÔÛkñ×;þé±Áâ Íݶœ³¥ïUÝLðº$‚f51„4C«Òþ6áÍ™¬gàI]u²Le'Ü7¦’k/“þ§×’ÀõÑRQÏH‘ëaÒÊBU“Tnl¹¥7n9'®ÝmäÛ=šÓKr5ë›@Œc±‹íö:é7É)å2ýh¼5øR`ÝÛÈS’ Ù$ÅàTOÚm|55¼—~WbŸâk Q!ãº=žI·’Ìo½S‹Þ:ôÝÅ:ÏÔ.Ý}8N‰‹Y>ë©Â<úé0›V]™§Øh’ÏQï¿d«ª_VbêÛ¿^ï™Wi5©Lq:C[ø5júÅEV#¸PÈã§t7E¸xÔ¡1ÑYüªRmçÝæa‚}G@rʼÏ{¥/}êR߃”Nž›·©qx¯®MË­R·¨Õ`)ä[Ÿw™àÛDW" ¹Í)H#„«æ¸Ô‚۱мb&g-Ã`‰Ù>äF¶á7ozœ…9Éö e_O’ÝY¾=u’¡õzþÒš/‘n;…ƦOTïÂû¼›€Ä?"Ö‡Ú®fµ¼ ‘æ$ð ..F:šWᦹðdÞ>¾ÏOáŠóyÑ9è@‚tíJ>),ëW;ÆíXb²øÉGôÈ,Û3>ÇJïì{ðÖF×ø ¾‹û0ÍâÌûGÞÅRád$ ¤`ñSPKE‰òºUr ®*©-E·C"JÓ&£‰íbG~8~\}•š<ëH‡÷XPòhkÊÄ…B4÷%Ú¤6n”_Àþa›Õ#>R̉ƒšõ—Ö&¾ïƒhq>Ÿp•”Ù{yì̧vsǾëå(ÂŽÅV @P¨zc˜‡Pmô޵ÜÙÝ1µÊNé›-êZÚÌç’6¹;~•÷Ô\?º>¼Ù×ÿµæB`Iª¦Ô©äùjêÍ0‘è’êCé Úv7$×Cý¦TŒ‚>Ä ™>ì<ôÞ×Ùñ™+33;ƒŸkÚZFë&Uz}z[‹ú=­ÐôKqY.öe±¥ þùc2Œ¶Û¿î®hþ½Æm„zÜæð¸ÁÇ´_A§lº¼ ‡èƶ÷0gçŒj­Øú²%‚–¨}énäÚÆx/üPÒµÒá#?æ¼hؽòìǪŽ+ôly$„cF l¢/¹xË"¯”/[Í;9€Üc.ÜÔ¹á`‡>畃— Åɘç tz>ž¬ ©§&ñ¿ k% ©9­Ú˜Þ„Så2kTQó)‹(ô—=vÌS÷Ñ’xxÎYª Žj¿k—Ô°:I:LøÑ¿nÙâ²EÄ™G¼K5LL9½´ÁÍ[N6¥…wA¢ÐÚ©tñ>” ;;rè˱ûw°‚ô~ðqé^A³ÞÎVû2¢²ØoÝ óè—jÅâ_ñî—ç,ã• ²rõ"#t+|JƒgÈy—È$Y~â7Ž‚ˆöƒN21÷ƨ`Ü‚ñéË™„;ÿ󒨍PÇ«,Ä);1IušúϹœ[Y{$,ßò^Ç}*ÇþªGä”§Ë®¨œ&#’÷&:€ZNÕH°C@)ÈÕq#Ý îûØŽYI¨”)›¿®áåä{ÈÜI«•˜¸\%ÆÖ?ý‰ßÉ`]ïÃÙGiF AØ­• ¨"[AlM]hA-(e0à1êdÓñËнî›Ù‹ä¯sy¡ÆõMüvî—Î&¦XZ±Í2t8ö²à9h/²nϧ+’ÓúéøÇ𪟣²pkÊèò’e3/›ó° “.á¼êæWtb†¾Ö÷H×½£YaüŒÄ tç)xKØk˜Ö‹9Z2Þ÷š7Uý×"Û@=Ö 4´yì¾nJÞÎ¶è¶ÆQ‘gÇ>Û$_xùm{‹mXÖ´taÖGý¡s¸õJÏúŒFÐFåæHü°WŸð»[³8äù_.û³k·asó[ù@ÕsÝww*{à/;TI‰zg)x©úÝõ€ÛïGdï{sŸ¶"ÚaÏM'îÈ ²ªW𡝴—‰¯zDÐÜÇ)ï+ï{™ŸTÎÉ£ÄáÍ›ò4ö«oi]–fvzÇbZšl9MìT¸ðY§°Ê´%2¼0(¡ó7–EG ~g‘¦í{c¤³åòÝeßµ¨ÇÃû×™Çsß#ÿ$ÿ â_øHœfż˗±ƒb¸n%’XeÓõÆQ Õ3Y×,ñÔâÍHÒ¨Â0»!Ó6«_g½ÁWç&Tì6™JxÓçã…µøŸ"5qFØÜc$À“€(3IÁçz5Öò8-Ñ(û‘öGÑ›—ÉõÊ#ž!!/Å· м‰ŒÑ¥ºË³ËÀM1 Ê=êDoöýaïú5Ç^5hÅDºx>`F:ì’ëÍÉíf*âàpô§²hb1˽+ ?ÅÅ]SÓ»$Uà¼Åm5G-ÎŒ[äž\u+ðK–»r`ï[f# tçQè²¶ÊIø+0Ç)Sè•u‹äײ½0K‚¼*Ê‹PÔÇ|$Ëà&y®ÏîÔÜøÁ@šˆÕ´¨7znB¯dµ-IªtOX‡‡ uyéüzîqü˜¢p#õíx‹ÿèZb qÎ|~r»v!ïÿ¼á endstream endobj 666 0 obj << /Length1 1716 /Length2 10583 /Length3 0 /Length 11688 /Filter /FlateDecode >> stream xÚ·T›é.L)w)N @ñàîî®- @°Hq§¸»»(P¬@Ñ¢Š(îEŠKq.™33çüÿZ÷®¬•¼ÏöçÝ{Ièi4´Ù$-¡æ`9¨#œ“C ­ªªÈÉàààfçààB§§×ÀíÁÿ‘£Óë] PG¡YH;ƒAðG™ þh¨ u(½±pr8ù„8ù…88\‚ÿ1„: d@®K€*;@ êvA§—†Â<œ!Ö6ðÇ<ÿ9-˜œ‚‚ü¬¸$ÀÎ #@·;úƒ\A{ù£Á¥ƒr’šÐ#ÿø¹X8C`pvˆýoŽÀßa¯YÖÑRêàv„» ÿ®Oâ ¶x¼wà_͵s„º9zýYA-­~Ó°|ê:BœÞ€eþ²y¡ÿ#³Ã¼üܼ°ìnaü@ÇþCÉù[üÈÁÇ …¬i€} VàÇt/+w~öñú·â¿:''Àb˜ƒ­!ŽèÿDƒ­þÄýw†¸^s<Ž'€ã÷ëï“ñã„YBí=þ1ÿ£Å@MyEm–¿(ÿ­”’‚º¼Ø¸¹l\¼NÿãÁç¿ãü}ÿaÿ‡Tù«ºETt´‚~§øÍâñúþÃÄõ¯Ñ`üko˜ÿB ú8Ð`ã?óoÄÁËañøÆùÿ¼¸üÿ ÿï(ÿ×ùÿߊäÞØÛÿ¡güÓàÿ£9@ì=þ²xè7ðÇåP…>®ˆãÿšêƒÿÜhU°%äÃÿjá Ç%‘t´~t6Nvž?å9ˆ;ØR·°ùs˜þÓÇöG°ÔòûÁóèÅÁñ?ºÇݳ°{|¸¸<öìOÈåqá´÷7?®Ú×!ëhµü½“\¼|³3Èýq$/À‹óqy-ÁîÌ<Èî…?º9û¬ Îè¿ÍÇJýý‰ø@é¿?(÷â•ÿA ÚßHàü@‹¿ïoô¸Ù ¿%¿y-ÿ¹@«AÐæ_ð1/ä_ð±`ÛÁÇŠíþ“9ü9#Ãþ©ä±JØã$Bÿ•›ó1ºË¿àctø?ë±P÷ANÐãø_=°xãìüؤ?–ç±AÿÁ<$Á`w°ú÷i¨…ð[ÛÚ·­—5’änl›#"ȇi—\l#E&¨ð^Ù ÓÕíì¬9år¹ï=œr&¶jRN—9K3§^uÔõ<lÔrÛÖÔæqÓO¦½~QÐNã4!äë§HQ •:÷"hPFâv¢‰[Z÷jÓãx¿¬ížMtc ,“ãW nUkï¬)ËR!¦Ôû¹¦o6ÐÙä=#y™»æ´ežª–A«,Ò~…žàV»Ò?8°€×CÙ ä¸yDÇ“ áA©Ö[(À¾Í-uÝËÀ÷2—'سì­XfJ¹¬U;±Ù8Ù3¦aLêä·1K²ŠâüéyE‰[ ”JsÎ+ÜŠ°œÏ ¥~ú±_,ñ—‹^w:DáóÒû5J;¥Ð`e¹©îñ•Û7Ê©Š¯GûÞ2²ª&ˆÞWnüôi o‹vµ AlyY“‚·!ËBœÅ´ëcTÐGgŸ½pÁ<¥ÏõZ ͦUG¬dAðm‹¿77–+$­JØð£¥ØðÂË“ç¾à´½]ŠaΩ:Ò1?Ês¥nÁ;£(ÿúø¥Þ"ýC”´§›Ãê…wµûª±J¿´Øç½g«ïþÊ ^LT@ón·#âm4 {K8íûùõž°sªJÄ8K„2µ¼Šë³â¯}ÐVntײ€¨ë=Ï»=Ä €:¬Þ¹\ƒHXo¢Ãš¯¿ Qì;ëñXKªº¿ƒ$Çðwãt33á€W;Kq˾ Þj0äÍæ¨jÒ†ºŽÁø°{¶‰]«ièfÚ½—ÜžÇSoçtÛQët¥ƒÒ4,Q]ÇŒè韬aÿ(8ÌÓŸž)¢³ìÂ=k—Çježqä9ÔŒ  æ1•z¶¾K€Œ¿pÓ7rÍyÈ2>‡7ùç§~C-× š%s“Uþ´Ý]lÐjF¡îú5µ±ŽìE—m†Ö@„/åccƒx‘†»h/°ái°«=ËÍÌV Ñûµ`ÙHÓè/lÉSP¨SŒóWˆuýÚ•ð……r,ó´0‹ç(ŠAT5¾'–ày‘æä²[¯ȩϜo“3ZñºyD—!X<öíW¼hØ®Us£È‘­òmÌ$]“ýŽé™1nºà:[OPÞæs;ÊÙÂUšÎ¨§×X¡c^xÌ·¹9/s¶áV«g!kûyï½ÂU&öÂ:;Ñ ²×KV®4,‹‰ÌmÔëäÍ@´Ü2&W…ÐC©2Á͇èÀ´ð–mJŠ.b›ý&lŸ·y¡ð­9ƒ‚ Z~ÿ'øÛ«kŸNü­ñ$¦š$m­Iƒdçø"Y.õ\¶Éê&­«A-¸ô˜±ºÙ-Á+^bSÑÀ¼ÊêwÒÐåMŽúJŸ|ØüsË^6Äc³ô„³dDÆÄ<¹Ë¥Œ;GRµwlxv­ŸšsúRìŠWÏn>)SU9D.J,™I¾Üšé|Õ2Ù‰ÊJ§Fs˜’yýô}tg4Ìwè¨ê(ã™ÁB¢ä€ƒ¤ç÷óYH–íj´é¾$ÏÆÊÚaË­©DM¤Òò%Øþ‰jc¹51=ËÞÂe”>ÜNÉå_Sýffí¶B@ Äç¯êbýîuK虯ùÈfO¥¶VçâEw75¢è`Omßûwöí¸uÃY eKª"¥ò©œ·S€6ÝâÞ¡#—mÖlÛ`Ÿt£Ïpé]”ÃÁ+ªt ºÌê&àÓ šܳޙþ´R$¿š¼}wôÎû3»WªEM¨ý%GLac)ñœŸ4jËÁWŠ&Šï¯šîat†c\P)N=ly‚œB´Óòó¥"näJø²Ö&$ÓžŽƒÞÝŽæN:]È_pç‡éÛ';_•q‰û•Ÿ±†äE{L*lfw™ìª3›!hæ“ñ—.&Ï/ÝåØãCPqöHÔ…d¼Š<°­^—#ÔYhÃb¥‘iÍ×\»X%ÕÍ9ø[ØqB?°lù¡†o-#ùwÉF²JW9v3„Üì)föM¥!9·Í7~üò°v£†š¹&¬¶8[>‡‰ÿªªÎ²ú&=Bôìûéf}ä XÈԩݳ‚ ‘És'nÌ{\†>Œ£pXtK6^¢º%‰ýËdŹ®X(—‘RA¬¼=§1¼X7%\ýk¶&ÿ­ƒ~ÖÛqƒêªäˆ§‹™‹¹O\NÔ÷»n—& BÓD—V bjκ\XÇ[õÙÏ©ö‘K6FòfæO.@TEé—NLt¹ ª2ê§Î×O¥‘i+\;"›Îmïñ¢ÅÓr¯†$)'?nñ²—¹µ÷“ +pU·ÕŠÛwÔ×ZâoÜ#hÿ:££Îï²Á9cfdÀþxs‘äÄ…;»à¦×ò³ñ$hæHÁÛØ¯}O× ÈÓã…ÃFZ¿ìõ}T=šL¾v¼ûLg¡í¿GÎKSžÓ‘±6'L“Òè»!ƒ6ùB@Ó/ÿ¤þáÔ‰2×d·FÔZú¨ ¾>`Qüj{oÆE8ÚÔ8±ÕÙ÷ñ±Bbu8~‹Ñ}ºÍ'ýŽ_Þ:¦9íê ¹Ε”¨ Ý9Êqÿ ]&óG¾øóëgœsš 4jp¥ðö¶ÿ„~/{™¥ï/ù{Ù´Õ4„¢% ÎÆâhwHM„^¹füpSuEÒ{ÜiØë"µ'nÆËÓFY .\N÷â9ì³ÅÊ×Â^çç:Í<¸!¹ŸcKÕ §pWžµÛí­ôX®¸w)ÚÈŠö•†';t:}°Zoö3¹I«^`‡"¥ßïö¾F«IEÿ–`ñæÎ£YW+ÀnåiÜã/’†ÁpòН!o½[ 4¦òôÚzw<—Æw¼\ÛbºÕà̹ÃǸ2é†É0L…ávSKl™Ù»<”ô¥¥ÈreW‡é¤˜—‹ûµdOžJªç2V…¸|±ú@ϸp‘™W åb@NcƒE`(úÖ„›¯ŸqÓˆ¾‘=ÕÜIJEeÜ“®³­éüx½ü]qóŠË…² qùF²Þ:D>ñ«šv„E×ÔmËŒ3>{Èâ:ÿ7éi©¼ÕÈíBÑEç¸q³”Â,{§÷Œ\Æ‹éj`òlåí$Ž:ÊŸâ¥0Δ_Ç&Ñi'Ø„Dxf¾ÚԢʋâ²W[Êä™™ u,§á…ÎFt\ht¯g¢€îÓ0îv„½5CÝüJ§ äfD³m+ïÌ*ë齨 [ÊI†É µ» fçŒËZàc$ævWv‹*žï„—*õ›}I2`Òr?\J؉{ÚãŽÆ;Î>gSöµEFt7÷;Ç¢EƒoW3±R1æzHÓa@±q߀‡òbý½œ°ˆáCîXð­o·÷IÅÇe´)<‚3 sÇ] uõ¡dùnkaý͆}%½½çGÈ×åG¢Œ†´²QãâÉ–¸ì‹c-lj_É´»«v/sÏ$´ó®½•0˜ÎŒÈŸú°&M¸êŠËˆ0ù¥eÞ$:J¨\[Ú‘ëÇëJDFø˜¡C·­¨z±ê‰!@ÌT¥ô®ùØñ"WÔŒ¬9ŽE0"`7H)Ø~&b~•œ•Ûü}=—$Œ…JX+I~ÞÏÏS—_ÛÆRKnw¾ñUbµ¡$-¤êö9å9á‹ÁZ°÷MÚ™yõU:&\%T`üGê`˜÷èän»:Ó²ÓØ&®\2-E=±PÔ½¶¸¥9rk¶Ät«Wô!÷Ž%µzB]p3DÒg˜$ßcÕÇUÔÝ4ª«BùSlçr>Ÿ:j¨­Ôܺ€x°øÛ›2ÈŸ¢â)^ÇœyÈ$}ï@qÐ/1}‘` zHñvcÂS4[Áyß ¼A}.mlìJÙ:0ZîI †-‰¶}âµÉ@à³gÁˆ)PàE,|œ Ã#ùôœe˜˜™¿ñPaÔôRS䌄ÓÕEÝ¿9HçIݼÝ7ÞTK—ë…˜A–vú0þM'­ ‘~ªUw Ñ3¶,×0¤[ùQBŸÃæO‹ô©³êQ6&ⱃÞô2c¥JFʺ¾uä»'÷Î#¢À8 œr:>²ÆÇ­ÜùË¥Úô ªMÑ…†ÒEIhæWëM%Ñ,h’nDÊ…è¿Úïã³Ð eù6(íõCEžñÜ_ªš’ë„¥û¾Ls­¦¼×ô@·] Ë)ZMòëÂHóf«±PÁEz{V¯ƒ„—{àé;€‡‡˜õ@®rMÂ?Uü^žåUçP®Tԇ刎]Ñ&Tf†áþ _¿Ð¸i+}öÉŸ¨‰©k{Ûšl”n>–tåQ0ÚF?˜o2‹zãÈY-&9ð{9ì?ÖÔuÑkqC¨ìçœHú•OÍL+Gt’ÊVÖ=_w…çç å (^¨¨³¬|Š+ë—x3ÈÐM8û¬¯´èÒO¥™]œ£~‘íÛúœ¶™4&B ¿X'£ˆ¸Tļƒ×~\š¨ëè«›…PLñ°«»Ó¹'¸ÿÀ;޹4h"Í«²P–'4=ਣ ˜†žy–è A„úŸé·²œ ¥*×µvÜNë ¹ýxçâªSÙnÈç<·{¢’È ¤oÑÓšX·./jP±‹ ETFÉÄ’¸áþft ­&$_HüÒi§dUW|‰icJËœ~üfõÑ?m[,‚k½§ß—) M=½â]¿ïW íЪ·]z#˜”H²¤TÑ.Ñ´’HÕÞ•CÁ¡z}a×Ù¡ï9Ù|¦•Ç(V̽Ghçíãı¬,jŽßWîÙí‚îÑä„V/ÕÙH×-ñ’4lo‡Fo}$îZ–¨±O±ùï’õFQ§‹.4ú~Ä#ó{èAâ…¤yëAÏÂ&ǘĞa~9_®{Q¨ù3®zÑÝ‹T¡2„H<„`z&DBÉz¦ª{âÝ@?­©Jêµ8ÅgK|æk¡ÐiŽC.c~wÆŸ-<0Œ* Vf v$W^Ê—!s‘ó˜:cÍŽCæËFåýä–b`v¶9hùdìö½4i)RJ~Ÿ¿ý îa߸‘/© k74E¦8}Î:dõÞ#àj7oD0ï혛È$Æ™’_Cõ®ÅôÊÛÆ5R†·––HþâåIÈf{s8ûùÙTm¥Qý¡äár25,I¤WkãÎÁWkë4_ ûMÄ?‹hsƒ îä&ºÙ.O˜òèL ±W?xCbZïú$‘xDñÔ­w¿J;‚<™+¹FÁ÷|E (ÆSTY°S‹—ÚFŠïZÖ™I§ "G$,¿ËÈ*z…|OrˆŽÛÐéçúN ƒ.©©”ˆìC]ÛÐm"Ø×çŸM¥=o/ÞE©>K’ d¡fg\0;s Âs}ûe.Ž‘îÁ&ÙCjþõ÷„²—é7íw Ÿí|5üó…~ôUZÌbð×{“˜ä…­[Ë R#ô/æ­ôH ye³·³åˆb0éK%L׈.ƒÃß4ø–&†ùý^­¤TL[}ífÿþXÈ}FSê ÓòÛ¶¸t.b#pVÉókv®}Å Žên‡<šÏÔ—(Vû5¬,ñÝZ]4;ÞZR¢{_ öÇãŠ,mäC¢ßâ+Ó•}Z.BKÚDåÙ¡ùÝ?%™ÒWïö¿›çm׶®"Üåó¯•Í—çÇí‡îŽÜŸN‘¯‘͘–éÉ!}ã½.é38»ƒ©W ¾†4SúéS}ZÐ.z9úŠ)¡?žJÆk‚…U]CÆ]Û äBîñ°WYëpô¼·‰«%©{IÎ.#Ƭê9ÓÕ•dägša凹Èi,Jl³NKÚNoœ ï•غd+7m ¥Q8÷D’­YLØ„= aOîü:A½ê9íøå16ëªö={u|ø¢ýVj`•[|®“}!Ë;7ˆú¾y$¡è×Ry-[Üé‡<Ÿ”4PÑè¸,­ysM,_@ëÑK:ÜÚøxáëUZ¤Ñòe'ºB_ß>g׸;cÎà3%¬ûËÊѰßýŸ/ñËsÒ¶Ö_¾™Ĭeo_ž¸Â&.ìÑ¡Ý^ìÂp1ÿdØšòøÙþ$üØ‹t —ãˆØö¢N_[!´•—· ŽÛ&ÓRëJHsyÿ:ˆ¼m+*Õ|;ù…´Ž PƒüüVÆŽ9µBîâÛC/žx‡mNsºâz\VŽŽv‡¿ødÇ-ú × 3IõeÓë_ÝêÒ˜±û×H"OŸ}aâ…#«Ã7OI¹f¯Ô¶O[ë“E¸Ú ¸,CQFF?ÈæiW˜Ò}¤Úóý)“(ºÌiÕðLsÏ',„Â]0$tÝ2•ØÂ¥Ã.qð»NÂXè4ܦ3ÑßN£]zÀ?Âw¡­OkOQK«ðØÙÑ é°ZUƒF^uï^“·Äç#kƒ¯P²pï($eôšÖ{æPŸçjh£q­ã§Éž>©M”Û3wï5ºÐˆ‰n­x.º±i(êð ÈpBÊmKP™+âÊ&ë1Ob5èNžà¸'yÖß„ÖÜñ6ݹ!ˆ=¯ËÌ0T}j­Á?t"¯¤¢)4v´Äh¾Ý£VLðÍÁÙò¼¬5ÇÁ¦+}êþ ¦S·ß§¤;‘ºÂ,}³ÁRÌw¸›ˆ~z~ýœ©u†™þ‚ 4^ˆöCîØTb¶ÆS¶†vf,mk©ˆ[ßy´_ÌxËødUš¹(ëF¼Ô’5hZÚÓléÊ®–E9ƒ' 1¥óa¸]}ø|FâµZ` [aíKÇAôÕ.š~âC½¹ŒL^s³ëÀŸsm–‰Ê®² ¯‰-MqKÛt‰‘9÷‹Ù$Ë8ß©Vö¹ǹÏ,-†G¬›³¬s3¸Á§ªaq¯j^Ô¸ÝÈÍØ%æ*ÅZ“éT§²—dÑÖ41á)”4b"¿o¯¾!#.Hª*+í­ñû)Í=iÕ9o'Vÿª‡t gÈ`T'ÂÉbGw­všF¤QåÿyYë˜ä뫳 ‚\5¬‚“ëãw”IvŒ$…ç\l|ɱ.5-ô/"\˜Äðåžy#¨|¿ú™Hu;Ñ2ð¥õ½ÆuÑÈËÐEþI¼ÙÂÓ’Îdµþ–/apï1þÑ|_²­ö’SöŽüåÙ©1g‹mø^'PÒ n,N˘PÜäö6³_Ššš‹Àm],#lbÃ'ò]ÅZ¹Ñ¢j°É@õ-¶íÆoÉýPL¿G_%LЗáíWÍ-Ž’lcÎBÕ€øìÏ_9iÑšÜa£ß1îe æ0å'dg–å\ÆÍEó†£?‰\ øuû+c)@§“Åt^šP·v#<[‰<ã»{;8„ìaasø®ÆíƒszV8°¢ŸS` ™”Oƒð™vÜóQÞáú_,±-ûwû¬™‘åCRµûטd'X÷KòùœÁf@®e0ìHÉ} `Iè|"‡ò‘\e©i¡ÌÓ“KšÕ{P—R¿´žõ¹ˆ4dȼU¬75\k:sV»Ôå‰Ç¦zŸa<›ÊJê9ñ¼óNNò½ òP!ÑÓŸU_jª+p΋¯Â®Ì~jCƧjÉÃJñ`H¨˜•‡qÛyÅ›w‰³ù¿îV¢´Þ,ˆUs®Ÿ ÌLXEȵ6 T}ÌÌ›®¹19ØÃä:ˆî¯˜G¼ø‰®[Q°ët"0Ãõµ­×`;ûŸcÌ‘gb ¹‰ýã 2 áWGÞˆL•Õêü²,çx`ZR4±oÝÖä¿eöæÚ‘§=?×]>“Gcç~‘–â˜1m¨´duœš*”'±kªÃÍóeÊ'³­"ý5é&Šé^%>ýdx8Ù¿ã7‹´ÜÓX#®äîàU—·±ƒB«îÆc›l¸|b‹N¼“ålhu ·ïŠI|uï {hp*T´ì|)úM÷Ñ)‚,“î9úA³Š¢¤Â¢ Êçö¾úº×é+Õ”h' hÃE{c^ãBF‡jï¡’X›¸ë%©è•QÃ0Rââçgâ4À¹Á¼ïÒñJ&ýùˆ¨80†&k›¢3Ä!öO¨Ó$º%cÆ!JØ5Žñ„ç2óìâ „D•mZõ™oQ(‡ˆ– …Ü×iƒu™æ9p.×&ó­¹݇w_ÔibhIÍnž¦Å§ßä6‘8yũ餸b”„‹‡E3±´ÚqQ¹•ŠûM][u“c·¼úzø¨)N#G„s¹žV|£ß~Ÿïºr÷•”*U†°£ø L×=áÏ…ò®5 TÆð v+tt÷bù‰ÒºrÊqÝu í×¼[öÝQJš¾? ¡#£[•&;q§»È+w-¨¹ÊÏGqÅw þŽ(ŒÁ?eù¼QŽøå‘â›þk9Í‘D'[cg"ÅŸÙOqÊeÝùIÂÚsˆ-giŸ*uýüÜ¿š¡M˜möû *y*aánœ_þ*a Y`‘1ÿªg§;ç2E‰N ¢'è÷¡ š²a‚RË9,_Êñ.–æö” >¯:“ ƒsÒ£¨¬Ôªó7£¹&‡Gú1ôG&ÆÁÕ÷-YïÅ‹e® _fRû©‡Þ¬+$ Œ3b¢1ÍGð3¢©z3DT¾¬G;Kà*!«R›k‹Cbá¿`Tf(0žÒüÕAòäY!–Ó±LEÄ#œ£ìr»Ørf-_.}… µÈ(rÖ·Åõ´¹Ç_bðUya›T@mÍ)ZRrE8-Î* ÅF|iÅ˜Ëæ¦i޲Öe‘‰‰5Û+IXÓËßÌÍå}Ø:m¿YˆV!î9™[n©××LÕÝt¥~;xôår$IVT~¶‚[I­1d ²lŽ…h¬hXýgGŽüJlà¶\U$+O´Ö è[„ÀSµ%àýwzž9lT×k "tϺæ¯Ö\Õj¡h÷Àþ:ƒÍõPv<éäŽñ.¬;±ykÌK@zS×ôä{ÏuµÖÁ¦/¹Ó#_OÇ*SœàÆ’n _²¾àüÎáXÉ“‰tÌçªoNƒÃG,®‰:ÙU¯½üÆüÉh?K8jÓ/?ŠÔtqºðÇ^h¬c>—ü°µ¤Ñm‚ˆuÃ]û5þŲ)f¥#@näµ”×å«Ï9š4—×ÓyÀ§ñ¼/¯J¡øV×+4]ùƒ(eÛª¥t’ovØ|øeªºOõÎíçØÈý¸"f¢G\¼R\²6÷³0ÿtËyveëJ½,ŠKš%âfäxm»³°må'^|ÉV xÅÝîÌ u qR1—\z½L q$SÝ"í•ËEj3 }¼dIcÊÜ·¨š·Fºfð’®d'žz_HØòq0gQ¬Ñ`Sóˮ⺒DV[¼MS2 ‰‚lĆkÍ£ÇÌÍî ×Ð}k×?~wœ|üø½ ¸u©»õû©EIHÆs°äÝâOÍ/ç^-» ¢jzaÇŸGÌï*Q$Tð_rï¢ØXj†³Ü]ÄϪÁÚìµØ4Ççí},>ÙÖ S­ ]| ¨ð5ùRa^F¨µ²î-·|0_¯^^ºF50¿Œö9Ò)•kh¹â†èÀË<¾bزôÍ—&w*%Ï3GJªO³Ç£"0*rŽ@”÷® _êùÃy²W²Ô»Mr®· SËŒ3­âÓ¿Ö0¹(úo~àQ¯ëŒ¥ÅŒ™¦c¯èyjþlÞ;«Ü$ê~%,'¼v" Î#ˆ£®ðôÉIÇ™ö½ÙõŠOy îS—åcÀ³²—ç1ˆ2Þ[2ºñ¡Ñû®ø&T×kÌ0g5¥-ñž¢zšâ =ÊË6èÏV,uh軆1e·‚…!"[DWwê„O å…"]1éÅ8¯hºvšêÞlemÈø¿Ü4Mˆ-úÑ´°ÀûpÓ6ScN¿r2uÑGqÈé˜2jiçõÌûûÇ+tb4 ñQóïk`•)ynñÎË_â\RïH­«îStÊý+áç-»˜£0‚ø[ _2{M–^wÊûËzÇ;ü‰ Âo~þ¢!‘RQ«ü5&¬Ù‡ïÈãÈ¢Š]äôñJ©­b:VÐ1ž´5óÈñ-Ë,nhv¸®AˆÊ¯Uá6l­Â¨Å*I„æTÖ+c…쉲¬-¦vlN_#Þ:G刡&öÌWÙ5ó|·J)ÄÅŒ»¢¥™/ÿ•êÿIL½¾ŽD'2p¨3רxu«vtöjz,§8‚Ào2…„˜%@…µ@ÆÚÄ;zú•*œ­T3À)ƒÓP­pé`—< ¦n)Íîß4¬ªòKð¾žZe”š±3ÅÄ尿ÀÖråB†X$Øʼzpl.è´NŒdã§"~aqw×ñcI¬O Õ¡"ä§e]wlhÈ™¤¹ÒùL56º;óN`õ)EHï~ƒW|1ºnä’ >Q»síK ûž¹ &O½¥ô{-âËË» '†3æ”èoú¶–tšJr¤HŸQti³‰ü--SÒú¼µÉC½±mXs'™—f–ÝR[™à> stream xÚtT”kÛ.Ý©’ƒH×ÐÝÝ ’20ŒÀ 14Ò" ‚´ *Ý ’Ò ‚ðº÷·ÿý³Ö9kÖzç½û¹žûº^&=Cy0Ü¢‡!xøyEmmua(È  °°AοÜ,&w(&ñ¿Ý! ʧB ò´á0€†§3€_À/"Á/*€@ñ¿áî% ÐæhÀaE¸«¯;ÔÁó÷+€ÝŽÀ/..Êý» ïq‡Ú`mÂₚhrÂí „ï¿Z°K9"®||ÞÞÞ¼ ^¸»ƒ 7ÀŠp@< î^0à`€Èò/ ÀÈêñÇo·GxƒÜ!”Ãjy *ÊD>à)²ÆCt+?^M1ÌÍ™×|­2×ůbý䣎‚òåÒÌ7ÿõzÆ_¡sF•mFÛ¤éÛsôÉTÿ ºÓ¤ïÐòMÓ$JÝ»ÑôècÉ>áË‚º YHØê:gS½Yï•©ˆj„¿×ùð©¦,G‹’NÜdÿ«¢Ù¶ÏhCø;5[ÞW—Äе8Ëè ¬šR. R¼«ÉVzúÈ»èÛcŸix…l?Œ@+KöÑ) áV›,\ç•zíeÝñ·U½+·î®XæHGÖéœ:®ŸîY1qºu½l¢îÂÛ/ÖRMyš•Ÿ0"7œ\ó-Ùrº2¶tχä£,l‹ilüJH’|S㩾/aû—ñ¸ ¡£‹öIÏüóŠ™ÓC‰×&‹“K8Ñaa M!ºª7ì.ƒä‰¸/êË‹ª Ïž’Çd¸E`ÇLDBöw¶Þà¹ÏWL®9›J¯™>é–N):±žßÙ· (}^܃üSÑÙùV>Í–£Eôê*`ÜÕÒTR1@wå Ðï`Á»N·qÚà9{¨éq‘¬ÀBÍZlT´JGð„,Æål fœxSo ×Lþµ¸ºå!fPzÊÏ$êÇØ˜Ìç#ÍO¯ð OãyY +:k ûÔ™Ýb÷îã~oö*©ÿ4Œ®`t”ôÁÄh^®å£!iyò~üãzFéPì©ÁŽšs½'y€ª¦f7^Iʧd§¼-ªK, V2ŒÃ7VàžÜ'³ïÊ#5ª§½ª±ºÓ'ÉoëäÃלG¤ ÂÌ©T^Pïæ>Ë ‰¯Ïz: Í2ÂÌÏv)ãÕ~«oGØÒ70ºA³…iZå›ü¾Ô•ìz–vKTɉ§6}z\–8|n4B@û^!;!nŽT‚„ò³ò3ÍèLu_}⤖•£³Ñ¹ä9Þ©Ÿý ·5¤/uåU±Œq?ù«î8 Žwï)k´˜œqjæ¿g/ÓÊ“ÿ”« ךœžûl-Ù×v%è‹%¿MJ¢a¢êņ“]=|gDy¨?s3=b`Ùá(PgLÈo×à§ÉxŒ¾Û#4qƒ{{Û+æ‡G»íZ4ôéA“òõ×íkv|cÛ%[åTȵQ“XjÝÑ÷´”Q”OR…©°~¿áÕ  ±Ûñ3-¾!ãøÉ‚ï‹c}1‰0#”'1‘õ#'VIîní¸«¤‡ì S®Ò+bhÓ:¡dW¶¼±‰ïM¹G0´³2SrW½¦Ö’—ÛÂÆ´‹æ¡Ó‘$Æô„/®ÛÕ©£åR,ÌÌub6Á‘-ãí\~å±ÿ=¬¸ñó»e‡„goñDZem„Ü/b4Ú˜ÜN×oÉ õªƒómÞ^lí¤Z‡)ª£_ï Ü¢ ¿fÄâæ9iZê’lùIû°8Iq¾»óGÇaᬧ©•¯F0ºC ‹‰Å*Sz_-K.¥‘•ý ˆ€£4„lí¦xœ†Wú~FåHɦFŠ"ìÞ'>Z ö¾ãÊ9$­¦nšà˜"aÄlè]LxåËÀªÜèöµ?*„~†d?¸Q&FT=‹iMa¿ÖŽ;»^Ø`ê‘öò™nÊð¾þË®’†Ýn ÚY“E‹¢¹dôñnÉÉ»Hï`œpîWR.Øo8óùkæ>ÓQäùÍf½×ÉõÛJË¢Çô[÷ŽÐÖò™[ž›“K›ä÷4a,µÔ´?;s £9EYâG]Å¢¼=h-äýС.–\dís*ÞŠqÐoÔ”Í bD+ ã«WÌv0ìöÄo¯EZ7Påt…öö¬ôŠÐâ±Ë ©“# ¤±êIM"áÑœM™Lr¡ýѪ)xfhgk@å,_áçAM~ z䤼mÉàÊ…ò»7¢]¡ø® 'åÆ Ï‚M/t°8üh¸vϧX_Ü͈zdK¢ÓÑÝn,œœ˜RßZ_90íºÈÔaËÌûѨ6¼ïŒH-›} Mqôlx Ÿ†‡»iÓøÌî}©Øö\bÏ¡¬?x EX¦{«+øÝ¿“J¯AÍFÚïKÖ_9Í^ë>ñ°}& Ôx¤å—Üâá:©a]vnžÂnOrÃY2Ò~™ÍŒh§ƒ.º«gª’eSö⋇•¼S Ôs]Ô÷UNÚTkoqmÈ]_ÎXdjêá¿ò"úÀáªÐ!·h+Oî@è*ß¼&‰îièKÔ_þ–,MÔ~¥êÚ7¸»¨!.‚ý©±Ë1tÀø¹§y㵠ÙKÀô¸êuÞtHhGŠxÒV(žÃ¦Ö;SÓ)í©‡tø'ºIòÜ=ÅÖZ)žr›Œ‚ Ááº0dNxi©¢`\îDkסáyÚ¥ ŒæƒirÅ ZmfsÓ×| Õ[—­LT¼ø ’dÔÝ^vmNÎóô>øÊ¬*7ßæxPånÊ]s޼í%Ç6ÙjÍ2Ø[ð©Ç€5ÜüRÝÓà@CÅ/Ú˜&xÌ)‘ ·eév4O‰ÁÞϹìˆò¢#üIWZJñ– Ì"’l£Ò"¤ò°2Šï‡î;Õ°€æD!ãA3ÓÓ•Wg¶"Ê_Þv›hÅ’ÂØ6-IeÊh6ý5Öëзº®BÁ7†gò¥#‰¡ZÜšìøõ†Å›’-þßšhÂw] Ç#;ÚdûØjZUÒ®SƒÎŽp®gG\¶R;jÉ6•1 Ú½Y)? 6&¤2[5¯kŸJO0èÃ#ÞÉ•" î8Šý8gƒ^ÀzsàA~ÔФ iìéá›o1`äCJ4>ô ­¹>7“Îɘó' ÎXõ¬ÍÙ{R3÷cÂBåGl›S„‚õÌå|Ü$Û’7 -¦Ž…Ú†9Úyqû3Ó}w3L ´0‹c#=&ÐmªÔì Sc¢ißæ|ÀhU¦¥-ªkÜŒi¤ß ¿´–JÊŽµÿ h> ¦¤cË#»À—Z #0œR8v"0G -ÐS{$ZMs{l‡­ÞŽsÍ’…Ä0…P·›óf öà§qó½šÙ3µ ¸k-‰c†}é™1K]Ð=ˆ7c,&eÐÝÍ$D ¦‘æÔ)Wî™Y{+œ<$7Q%ç~yVñ˯¿CºÄ3¥œÂÄò.J•l?4Õ~ÐlUN–¿ýôzƒmIŒþf€×©z!ž¼ßÀ]}ÁU.…ãχ16 T° âãG¬»]Îî—^Âû1%PKfyg5‘ ®ÀÜ×"·j÷ºMûU`-rÛ´7T`VÈ!9m•”Á?²)Ý¥°Ž9ÑplUök¢ñÁ“”R½^¢ìä¯é¶ OÓ¢÷fæŸÕEšgº‹qÞº¬"9ŽÕ6¼Às]•; *aÅdÌÏ%ÔÁ&¦ÓdFØG“£c{%ae(ð¥Ò|ý¼¨mŒ1ºoº,Û[¶ß˜Ô ÈÒ³)ƒ~P®‚2#å ïךè`µ0á§ëæa²ÆU¬ëÙ—Ú±«™hÐE4A”ºÏ*—Wf}‰0§»¾¼‰›ºì¬{g¢’8Ń<´éI5—~ÀPÕë¦# ¼ëÖ»øªFâ!%s"—jËDA7]”ËÔü²Ï/BSM²þ†PØúÀÈèm6Ë«Ùüwƒ&ºà¹·Ö”Dèw!ý ˜Áž’…Ÿ""£¦ÎS ??ðYý ò"–õÁ'Ïìi§u%½Gy9[ö³ÍrÞDïÒ0wXê-Ñ÷Ù=Æ48ð˜¯üD©³Zª†p|ÕSÙØ·³Êéת³]›?Ä÷‰Å½æÃ¦H¶ÌÜ z•Öš™x¯f¡ºÜ–W‡—äc¯ã,vxå2ûlqGã!ßÖës¾«¤3(Ró…Ëqû”» }—È:^¢ WsCPF46§Û¨¥zRÜýü}Í«è{3k3“3œ¤Ó·³@™Ür?·wxïÚN«Tàü­ü4”w€­_L ˜¾^pÆš!oÊ&cÐÌ-æ$óÔG¤‡F¸ð±lÎØèÜLÛ:Ž-:yS¶×쎜 'c^FË>Ma/;ž~Ý£LŒTÇêH¶È0ÔäÑÎC”›JxÓ åù÷o_<·¥=£J;$ô”çìpÖ¿&¡õ‘¡Ì|7R)¥ÔCaQðôø›œè´MÓÝ~<—¤Ø´!¬FØ 9Çj¬ ڛ㠆íj|Á7Œ¤£½šZù'6^L‹'#Æõû¬+µ2`»/ý äm74Æ–§XUû³_ìQ`'ûF,Ê’^è»wÿ; ZIoG˜àú¹úû©ùyïG$Ø]i‡þƒC?’iW‹u¸Ý€X°^N¨ÏFÖs.™È›N¥hP)ð>Aÿ’Ãn}¢œ¾wKŠù V·RÚ¡ûìåEM¸>ºÖãaw·ÌcÞâ(GðÜìþƒ’8f¼—U·ÇÒà°ÙNùdãO)‹eó>až¢U àçA·•¤Ñæ îêÏ¿$˜ ÉÛ`ï(Ô–3LÓAªV}dãæ ×¬»-*y:Gµõ„,¯`8£ô*kÓ°T­},ñ-KÚ¬NäIû•Ÿ€}ÐWLVn{[¿£›‰”:1ÐÆslÃÁþüjEu{æðXƒ•Âð¥ ekÈÄ㆗ê8OÓŸü¨«0HIŒŸ~†ËØéWbpª¿Ñ–*ñctÑcÈ /“Øz­ðq»ÜÄP;;P.)8ó¾³Fµ÷ðzbçú~©D?×¶ïýÆ]ÿ“Sk&ÖË(¶ãS§#Ás“’$f«Ãæ!ý¬!Kœ«ðæ<Ò™Yâ"Âl#‘·?©Ä·¦°A¯ìã úoUÌhv'›Nk+â,’´ÿÀ\“M”Ë~˜Lóîã(ì{Ù:«”O^4ŽŒÛ§dâLU•Ôà¦k†½ÈÉ‘™ï… XP?ÍuE¡%æ¥Oó•i'¥é¡šž–°åvê”±¢GþKš®•EdN÷ÁÄ)cD˱ÑW‡¥êðÕ”¦<¼Õvª‹sÁ‰ð#±–n–¢åSÑb^׿ؚăIšÕŽÉªï©º/-',èÚP1Ë6}h—b'dÓž0¾KÍ˨ZŒz_,UƒA³Ã8»cÍ‹|õ_â̤Ù.O/FŽB¡Æ‘é6wµTù&«{`Ø:Ì0ùžÂ5Å€¡ 'Íǯ=T‰ù ‚\7ß56  vt©ûFÓ¬¡%ig…)~¦gÙ†ëñ…›Án+†âS~/ôþ僱][²Ûrì2¤ÅTlæ ÚÝGËcÖÙx. C›óó÷|å“ý#“ÅW(k÷ÂTZЃúÍ…•§jB[avL·;×¶ìçÆ‚ ¬x»çPÔÍ_G/L¨×#é±){ŒY÷,ÉÖÍcÂg(…¯²êÐD¿Ùx“bN%\vœ=ò—Óµ^žjŽnÞ7¤:ýAü@ýÓì¦zçܛۻ‚¼ëýÃ"³J2}ÇltG)=%M<“•-C”ëå…g§9”ü"$Èö~‰ÁH²w.ÐR5R5¸-R-ö°W‹›æD²™«Ûg{ø¡ä}\c ðLëÝÁæqé“™¦í8¿-dzÄä.·6H±ÂŽ ¸v÷$¯á„Y¯+ާÆ”J^ñE ÝsŠnI.sùtf üYÁül%Ç&øg@rˆ¯ú©AåJƒ6Ÿ$àÒê[>ã.‹Ç¯í»lY§Vz]í…2\õuL âåv¾Á³OEwçy. 7ÂI FlˆIÉ¥œ÷çæíŠ=`ð|Ï0˜Zq^C*O@d¢ÿE>ܾB˜tž*ºz6$¢ZrP¡94ââý=MŒ¥wω%õ8|D J»ïõR“pté1üb+;—”)`&Ïyh#OºJˆµÑ«|¹ÖвO ëiŸL©ÂÛ$o3ÌŽTdζÈš>‚Ñ,8?DÝM#ÀË,O@cú¼èI3E±Í–Hƒk¶mƒ§”ÔZƒ€Ã^‹ˆÅ’ÝKóg ããF©¶UámÁ‹?ÊHxt2àKÝKÂèXb`í×6—ÛÅÛ¯á»XÄÚ'Ã.xµ€˜Üˆêvk+ÖÏ3,ÉÌ“N,¼ˆoT›+&+ÛJÀ㾞~ è âvs;Uh´÷|´‚q6ê5ùËç6 ý÷g­öôºLÅŸæ+Š˜õ—Ì‘†„‡ zÚ?Édû6`Á  jÓ\µõÞ­’¨ìÖ>$ýH”Mbç‰Ó«\S¯Â«>Ur?¹ñ—£O­«žo«CLžAcµÀq~Š}ó _¶A€Ïô&Ìõ• Õ^‚;v¬˜hî2MÁ¤êº‚£÷Úi@ç§oÒ/r^?3V5ÚõÁ˜ä¢ï'Ã|ZFGì§9 .K.|¨oÝ#©ývƒJ ºç;'É)Õ¾[,挫PU*%\p?k²À BûT2[óí–ÑéÆ}–بšÿ|æõºZ¿Ü²t?ù÷È–UU™a*±²ß¯×·@~ž&{ÕõyÙ×D+%[ Ï.ê;‰œ-tÞ–ÿÐø¢ endstream endobj 670 0 obj << /Length1 1467 /Length2 7145 /Length3 0 /Length 8133 /Filter /FlateDecode >> stream xÚ´T”k6LJw— Ý0C—4HwÀ0 0Ä 1t Ò(-ÒÒRÒ ˆ¤Jƒ”¤t|¨ç¼ç=ïÿ¯õ}kÖzæÞ½¯{_ûfcÒ5à“·FXAUp$ˆ( PÔÒRBü@  .›! éýKËf uuƒ!à’ÿå è #ïtJ`äŸPww€„ QI˜$%þvD¸J”À0k€?@‡ºá²)"œ½]a¶vÈ»2œ.HBBŒ÷w8@Þ ê ƒ€á-0ÒêtWv 0(Òû_)8¥íHgIOOO~°“?ÂÕV†‹à CÚô¡nPW¨5à`€6Ø ú?.ÀÐæöGo€°Az‚]¡€;…# …»ÝE¸Ã­¡®€»â5M€Ž3þÇYó/௻€øAÿI÷Wô¯D0øï`0‚prýap[€ Ì ÐQÑäGz!y`¸õ/G°£â.ì†9‚­î~w¨ÈëÀwÿ‚çq…9#ÝøÝ`Ž¿ üJswËÊpkE„“ŽtÃýÕŸÌ ¹»vo?“u€#<á¾ 60¸µÍ/ÖîÎFp˜‹;TMé/—;î?:[( @]P/ˆÀ¯ô†ÞÎÐßFÐ/õ_g„3ÀæÔf½ûÃõu{@HWw¨¿ïþ-á‚@k °‚ÚÂà¸ÿd¿SCmþÈwÃw…yï¸ýþszzG/kÜÑû÷ßóÐÑRT×äùƒø?6„À—à@ 1@ìîàÿï,ÿÁÿ7ößZ]0ì¯Þ€ÿ$TƒÛ à w—÷7¿hÁù×Êpþ]BqÇe(€óê?Š!wÐÿóüùÿãý¯,ÿ7êÿoC*¿Íœ¿íÿ3Ø æèý—Õݑwk¡…¸[øÿºš@ÿ¬²Ôæîô¿V5$øn=äá¶wç ó…ÿèan*0/¨µ. ±ûC¤¿gqWÇê"Ü`¿^œ»( ðlw[q¸{UÜî&öÇv»[Aäïáþ’¡wKöï>”á„õ¯m€]]ÁÞ¸w„¸“D¾ »µµ†zýæ;@€Ž@Þ…î0ûl®¸¿Æ Š`¿t‰¢ûÿÅÿ%Jœþïø"ÿ-þ«'ˆ»«ë]Ó¿©t×ðßòïç õ‚Bpg§©ûº¶³y:O¾µ1i̽Ô3SA¾±sldŸò„ÅR‚AVæœF™Êl/HÅܾS[Áå,ûÛô‘ïêÆzoá>F•ï¶ŒVqS·'¨“‰¾§ôÌSDÍ(¹&É ÷%‹]ûPt¢‰ßáÈZÛö°ùqÔõÌ$z²“—¨ˆ©‡¶iw¼«)ÉÔ¤¤—0ÞYÖG¶X ®‰Ssä,;Å>_yñ$2E;YCºã7Á³šx±hà I/CWtºGðÚ>k’DYj€^I«ÚøKáUN±Çv:©¯ÕC2U®Ç\‰%qk}&ÛáÕCNë/×Ý󥺟Ùo—]eÊ ©g%rδÔy¿öãMíQÐõcÆÛ!jô {m±UBûrÙ÷w UÛ€ôÕŽ½å„£eúpäq:Î4£‘` SÅôP5îÚH C?já‰è—=ö]S&ë¤ÇeÑ=¶‰_k&Î £Rl·ÝZSÉÖûsSG*\9|*`“yöQq:Â!Ÿ§¥5ÓZ ~Ïâ%y‹€„„.f–~#žãM~-ß±õÓ`BœŠë…Je£>ºë^‹T6_³¶¹/ìOÉ+Ïã ^GX¶r:Ä»É}çÄN3Smü^ÚÑá»Y*óÎmr¦¤ GâÍ·Óñ=Ž$¶îóx㥠‘•¤kè.Ù†8“š?âÙBk°"`&Ž{íR¼ï 4¥{u-”“ˆ¢îW‡žg%`á~}¥ß»LÅuõ $9>õ’íPH/tG&By(A½.˜>‡ºÀ$ÿi–Œ"f„ê)bG?Ìcd©½@{Yz'}ßÅwfõýù³Ã☠]äzR Œ¸òW—×Ûâ½ÞC[3Ìsïropx2ú_ÍIV¶‡æ=&—E¹"Éôt’’^И›²Çïì ì2qÓ$M)×¾4YšÛF+nyíÃÏáiè¦ýùö‘$²5…ùХש?[÷Щ÷…µ=c¨Û–ÄÂ|^I:~ü´Ýêª)l£i¢üö§¡ª0Œ²ëý\GÛì7³ž5E{¡“~a"Š&t\y/R‚ ƒ.#F§EÓ<üÉ‹„"dÑúJ&FŽ\*ØV¤++½F…-‡ä=c¹ŽÕ¯ôg´ïMgQÑ|oèQ½æ¡ìbã+J Ky{bœ5áJ]škÂm/Ef~®\Z§¥V²-2 g´o»ÞPÏ—<€ÔV¦Á?ð“”jµ¶¡b¿ªfQ7H+Ó¶Ë[ºª&xo=ÛŸŽ–r2`ªÈ)ÀJËȸï@ÝŽ?.¡"2ÖËF'¿ön1ø[xg XqëàâdS­3áš\îRy8òg2¦8&²< óˆpÅ\˜à-/UêsK*œ©¡ýgá°¡‹Z‡"+w­8¡Øµëãp m¥(u¨q\³¿Ö•Pz›aK ]ã(†UúGïѪ3éê$ëd+!(²Þo™X¹Üòˆz}Eó6¢œu“‘'_ÐáG³jlŽT`²Ö¢èi×ИFÏeª×Ÿ:’GÌw"±M™!ÅZŠÚ¯‡KäÙ¡Éf_-½dƒ>ᄤåM–¢ßWÖ}0TôpdRXø$RHíQšúç3Ù‡_¬©<Ðç8ßÑ[Mº†?«»¨7I%qÖ ÖÚáŠ`¹YŒ­$í^<Üâ)wr[—,[A¦Q¡·÷‡Òó·$DùÍË›·Â)CQEàoâ‡{ÝBTÁ fïãp½€›Òã¡};ì(p²a‹¦¡ëšÒ¹˜Õ6ª`†î¦»½NŒÚ³•X’Í&˜Ò=“’QD’ˆ‹Ð=ñ¨)­Ô×—0…ŸBí¢È·¹ÑŸ,›®¸eÍ ¬4£%Pæ-~'¡+|{ãÀË%žGÊø©h£ÞÓB± “F;VrbÝ, ’̀¡pBtB6·–Izó\tï¨êLbD¿æ“læÎgwBs È™Ö'Ø—Ü}›ø¬nÿ )t,kF‘Äé#uƈª.öd£äy‘ñéµÞÊA° µ fÇÛëJŒÌl›_6çÚM.G­>q“y=–ØuR¡^Ý>Ú™ayk•}á\ëJc+b_;å>G¹t§T²aÖÜro"Ýól¾¦EÈëÀ)¦¡(s¸²8Ãyßûóðéâ1^þÜÜÑœ—PY¿ÿ}ÙÆøkÌiA‡ðûÁCa€i`g\ ×›xF,#ÿi l:‚Dj†=ç5<²º!àMcótwKæ ÕÅ|Í2á0袮…d=€ãM–?ºå‘Ð F׿á$çú*¨|jž1 {ÓgRß^Þó̽ ,΂ÔªqÉÝÃüHX\ÀJŒúíÕsòxÌ:y[rñ•Ñ oéV½I|A»*}å#XÉ=Ϲ¢ÌU4‚žù«óŸ}cö!Z˜u$­( ±¢9Ðð÷‹(º2ÔÀSâ¹å4QçÕôôñaκ_õ\»ai3O]Ù Ÿ“GT]g'=iÒ54yâÏÑ*Bø~‹Ð?§˜ã“ •ÞãlùJñ“ÞÍ!¯à;â«^‚)älF–Ü+äcʲrCRqåãNÔžå„ì“fuöEæH…àjHútÔ1Íý!ÿ@¥ 5'%£ä6»ÉM@—Ãûýl.Ýl6>G?ä6fsê ¤ý’*0qÉßÂîÝ‚]-êÁK‡Ã”ðζ/ñ ჊ µŽ€ãE0 ƒÝؾ—Ú²ƒ»Wãap`š:yC^%"8cÚ/îz5¸ùTtÄ­L…–Œžnê‚?ßo}Ï’ÏÍd¥>ÞrãÉD4Çû›ÍáÝv¦e•úÏÓljÅš§lfC{¿sr¡¼©NcÖ{¹ÈfõQŽºÏ…'Á\·ITþê;cY¯ÿ"Fˆ®äCN LûçsªÜêþ`fKý¹I‹œ$á`_ëC”cúÌ"ìm_­qF%î:}Þ³U6¾ò›*ý©oSãyº>}z#k .÷&µ¸Œ‘â€ó Ê­S‚º'ޱ9/Ñ*ƒ‘b,OW·óÊH½´_É+éÚ#ÃõäkbI gÅ'ÁûécØe ÔÊS-¡k*Lýâ AmÒ÷Ž*ß2Œ9šW½ýÖ‡”QòOÈf…è®jÍT¯-»Ÿ:»áFD¾bk;\ó™W"èE /øT1˜º³˜ôíÝߺÖm%>gA阭¡¡_ýÓ>hÐßè±á¬ PÞÀoù,å]ð*ÿº÷#”ÖGE3Õ›-éxã…æÞ¹m•ö\ÖÛBªK8&5FQ»õ ËVGùùñ”E§$YáCóZ.ÌeRñ¶¡G,¥õòv\µ[Ò´UO¦¨¢iÖŸä³'Ì%x´žÜ°Ñi¤èmE-sÖók±®i…%^²¶~I¡Š­44ó¶ãâÚ:x,•\’ÚRóñj’dÛWyñà|ñ³ñe߇õÀHÂÑÓ¾#¬‹U¾/<0vÇ{Èû0d,ëLÝØM(u.å$o„ÿúAôâÅãñUVo†þœ¹Ržh.ÎL/ ÆÏÕ ÍÞë/§Û‘•‘¯‘‰qEmÌÄÈ­ ÄÊ)ÒaÏ·s?Ïq¡ƒ b<Öô&Œy?­8EÇû#dg!cöy¸OçÛ?Û=àË æ¼²è7/{Á(ié;*[t«Ðit‰5ÅžÛŠzoíËñÉä ά„j¯‹‘àá9ß& (Rô¬Íz_©¯€Fqíþ™ˆ‡ÆºòÌøÓEóÆyK}­”Ë+¢„ûDØëȸ+61ŸÄ£”]û€Úî=#[3—¶µÝ؃.úäú…}“Qri›Ï0¶‘]™BSÍ=Aæ>‰jÖÈ,ɯû•R+÷Ò–q¸Ê"*5]¨ôÔ öŽ$~JAÓÒeîõst{4;Ì®PÅÅyø…¨®ß¶šÏðo 8¥²Ì¤YORôIø¹|6jò¬b^¨Ý—ų5à²$ ¶ö™_˜e4l¯¬‘ý­SθaÝéƒÏ×›ñl÷H÷ã3&’¹Kz:ç•z‹÷«÷üæZ©¸ç–óÕÇ“r±ßx`Voh]ÞFÛ8x#5«v¬ÜLk‰r¡ª<1÷ã¨ñÓJšˆúÙ(4£¿ù]Üwqô,Ì »•¢ˆ®vfØt,y};ÃíÎL­5bw.šÊ»zUDI.Ú÷­POÆÞæXŸ¤ø'­a×Íݾâ9Âz²I_l7BÆ>´bûXήõÒòDªFA¶Í=`_0?M¼%â¯v0× tßÝ–¬ñ;el¢Ç2Õ…S—trH8“Ü·à¢`–7—ˆOäB«Ú7ÄÇõÝ« êNö;Ôgž£ Lé%[ù/?ú+çÅßZ‹%VPA¹·XŽNu÷+­øT-^y×wÜ‹Gìó²d<9|X52Á _ûò€…p£*¸‡Kpöa/æf3Á8Héyþ騴żm¤Ém96üUú sÖÇ¢Z))е²D?¡›2Ý~ûgõë§ ßWjÙ’“gúD"ˆ Lw^ÃL3™ÄܹZUPqoCÁk¢^ΛWx ……›»M×L§l9+­jàÙØ‰÷²íŒ¡LùñëÙãÊdRÓD_%Ð&’b_V£ÊãP;ì{“7Ý:aÿ-3íf“"œyP˜ÍWqÛíȶ¯L—º6%Ej˜«Ål!Ưªm¤’:“~0ÑÛñê P;M“GÀ±…tEox§Ò¥Ã”|·n/Ãóøã¨¹É¶gïÕ~™žÒSꌞ9ñÎ$æ›G×FY"]ę́"J†7G¸°”TwZW¦0G^û}éê@Sj=/Å•¶W¦’xG™lŸŸ½|ë2Ü<{óqžKœˆK·ÕÑÜ >”¶îì5ßqaÅ¢!jm¶£yÜ“š*öÊû…²9†Í,ïûì³¥Âmoü#«þgÆdhc‡ÁVå ÝYô§þù—á˜xa‚'”“åq†òd•ù…mcCçø÷s0à>²šÉXz2aøžG¼3ÐÚ\îÿ8;ï£ïcvH³UÔœŒÅý4sÉ\2žø:öþ¸#9KæV–e¢Â3-ûvÓ w[B•s5'ÛpešÖ@KÃm·’Ç d£s9è±ë´«>§@í—ù•¾“ºà êè…ŒirŽí!©Ö,%õçˆÇOw™»ö·ý‚zâ1%·C÷¸w)ɼÛþ?R·wïÝ”*=彋l[YL1W–ÜÕr25£ïGA1b¯¢'[{Vœ¾#Ú`·zÖmó<.ò¼VΩï;ôqMa$(ß´Úv-BnÿõÆ÷=Õ m2ã¶½‹Î`Ã!+qÔ5­æJugçÀ~â·Û<<ô…T°MƒÕNû 9‰©´'_mÉÄæSÔ#.öd¦¨ÒeèÐÂ\ƒ•âR÷fj&cä|f02\&?̜׾HîœL‘ð5>uè´ä;jŒ¦Á7Qdúº;5½ H R¤Cá©U~CÕÅ~YÍ[Í&²Å¶Ãü].Xó‡úXmœÓ&Išï+ñó.®ŒjV#Y2Ÿýi»iÓ6ßOoPâŸêòí:´´fÉ’dgfüØ wf~Ú!¤z Ï@› EOÏ=§æ:Ü OßÅíåNÀ™Ö`) Æ-ÈŒÈØŸAyeS W}éDøè1üÖÌkr:> –˜N>’ØY©»fq•„Ëóâõ8 ^ssbW׸lçQÂúgvœÂ2ÀˆCxƒKZPuÌzaN!Kô³§é5¹¹GVwë}a–;,L1#0Žó½VÕÑÆÞƒqehëGK“Á›Ò4É :&×¼˜U.‘À½ú*ŸMž•p)þÚ“&`Úlïa¨+¶×| YÊ•Íç:€­YI–ÅSߺ RlŸ‹íÒü™G[ë^J­‡Äï3¦¼Ô>˜Õq}«P« æô_­¡HPzëaÝÖ,f”øn‰?If ª;žÞÜ1ÁÂô•çcvÇé–Åœy’d"¸Ý"Ç¢]ß3núHSÖúˆïÍ/[fUiRû‹_áó©ã`+3ŒDùȬjbeÑ NÝÕdÿŽ™þRÿ^©æ´væÉñ#\K±sSDÎËÖšåXpØq÷¨0^]EÆæ ÿ»Òë¶ôXëãÜã^Ï0{tüÔö‰Ù³“ðÛ2/6” K4¤›²¾rI_Y-¬ª7fÝ0*iv‹S¿PS›3™ý,Ðþ§Fó(-‘ƒ‹©ùô¨Â‡ ïÍ"¬K]g¢6R3†ÆÅl@ê0‚s†sQ`µì@±hWô³û­©E¯žm‘“¨Ð©/MˆÑs f á`O¹wÎNcR±\ö¦-Ô¬+ Î ½ã>í[Û)<8P¼yæTkúíGßwmoã9}‹ Ñ µ`n¹¹pïk–XZ¹N& R)äá Q—VÂä¨MH" 1­ÙàûPB ´RQÓJ´Ý…lš­ï׎MÔ×ø÷ãÒŽ A*¢,Vá/9«’ªo@‚S¥ ÕN$Xb”¼.Sa†K§XºI¨qM¢nú×8ü:ͽ½5iT\†­*²‡î˜?RîãG=ˆ4ÑW5Xú9µk52“;ûê[%0*»"5Á(ÿ¥“$` §1 ?ï1/šñCÛÛ‰¢çHæÕÞw¤í4G ¿Î‰•e½ñz­ñ³¶-ÏmÂ)¶ð¥¬¢ °wC?àÀÓgÅÙ(Õ¶gŒc5½ ШoUet:d¥Ð¶ùãuÌ…É¥ÙSÓ{÷ƒ˜)ǛǣöYäüÊËÝ¿Mì”kH…ì€ÒìEñ\`N ®yóAáã>Œ¦×rhÄù«Þ&9 »‚¥?b½k5”÷oÚr®Ïr\o'#t߯/7G öâà)|ñ‘ŒaJR&zËàëæÐè• ,ó©ú“ÄœçÙ"¼¤ÀÚµw(Mãߺ-ÀŸ´4xù•*bIÅØ¦;´-«79aÏê5²±™žzWÚëå²Î%.ŸÅ´’Ñ&¿éQ>Ï(9A2æû=8³´Ñ XX~^äXÍøÆúC"š¦ÈñkMSÛۨãCùªzN‰õªÂ‰–tÑqÏE5Ns ‚ÑîvJ˜Ÿ~·Å0 }ÕKWM¨Ý!#›ž4%é’¯S_/»w±^Û°d çt'ª“QGñÕ#™âßüˆ0t¢B·!Ï-3Ô ´µÛUm“<Š6Ê>Ç\Ê7TIgp5÷l«‹ô×#òE\·–ØAg«¯G“Žcà–ì ²ÏºîÂëûIËÒÓ…Ì{‹žô#æ3ÚËš«Ÿ<ãU!§ÂÇØ]SnÖdm+ç×R:È9:üîÊÍ”«ŒE „©˜½|iÞÃ?QnÙAùº˜/élª«e?šÑLýl(¸§˜]—L`jÝNß+•™®}@ ôrÕ´ô˜ê‰*Á/³i•’gdEؘ¯Û8Ï–%ð+å:®`Ý„!íƒS8¥;pùãYÉ‚%M ¶ò#0²z&Ý MNRVÞ‹{s% ®Ô§—¯Î ” u#j¶ÿˆ¾ endstream endobj 672 0 obj << /Length1 2809 /Length2 24165 /Length3 0 /Length 25740 /Filter /FlateDecode >> stream xÚŒ÷P]ÙÖ ãÁÝ ppw—àîîwîNàî‚'@Bp—à4¸;y§»ï½¤¿ÿ¯z¯¨‚=¦­1çkí ™Š:“¨…“PÊÉÄÄÆÌÊWTcc°²r0³²²#RQiØ€ìÿ1#Ri]Ýlœùÿwš‚À6 S8NÑÉ çn`ã°qó³ñð³²ØYYùþèäÊ0õ°±(2äœnˆTâNÎÞ®6VÖ ð2ÿ}КÓØøøxÿNˆ:]mÌMЦ k xEsS{€º“¹ äý¯´‚Ö 3? ‹§§'³©ƒ³“«•#ÀÓd Pº]=€€¿(™:ÿ錑  amãö]ÝÉäiê € ö6æ@G7p†»£Ð^ .«Pv:þ¬ðO#à?³°1³ý¯Ü²ÿ*dãøw²©¹¹“ƒ³©£·£ÀÒÆP–R`y¦ŽšÚ»9óM=LmìMÍÀ37H‰ªLÁ þ§=7sWg³›ý_-²üUÐô2·fù«¼†·3ðo'Û_fpþ¾ÎNÎKp@K ø¢¯›©ruúûþéø7BdcXؘƒf@+GÄ×ê`3Ðò Þ|W/€>+X{lÖ¿~þ÷d–—…“£½÷køßûË"*«¦¦«ÍðOÇÿó‰‰9y|™8YLì\¬¶¿DÆ~ðÿw™ÿ à¿ÍÿmU1µù¹?*Ê:Z:øþé<¼ÿöáñYÐþçÈÐþ½‚’XË@í«ô X¹XÍÁ¿Øþ?€¿Sþÿéþ¯*ÿoÒÿ¿„¤ÜííÿvÓþíÿÿq›:ØØ{ÿ',ewøX(:‡ãÿ Õþs”6îÿ×+ 2QG+ûÿÑÆMÊÆ h¡b2·þGCÿÝpy{G Š“›Í_— € ¼aÿÇ>pævà Å ¼W»€àóôï%%Í,þ:xì\ÜSWWSoDðÖƒÀ— |B-€^KÀÂìè§Àíù,\ÿÚQn.°šþ2ýƒ¸,b¯ˆÀ"þŠx,ÿCl`´™¾ºù,’ÿC<¬©WŽ–~Eì™WÄ`‘}Eœ¹W&'ÿŠÀä^˜œâ+“SzE`.ÊÿC¼`.*¯ÌEõ¹¨½"0õWæ¢ñŠÀ\4_˜‹Ö+sÑ~E`.:¯ÌE÷ˆÌEïó^'ÈŽ45kïN0;S7°mÜì^“ÀåÍ^¸3WSs; øf zµsüÏþÏ ü¯ƒýï Çë*|àuÍ_ýà®ÍÁâ¶·eÆ÷—ÍÆÕÜÝÁÒ,§ÿš¹ÀLÌìÁÒýá¿ÁWõM5Íbñ ÙÁ-[Ø]nà×Âk˜Ô+!°Y€ÿ"ÍÆn¬}S7ëWÁý•ãâ¾1^Ë€çeù Á–@ο Í5Áørqüÿ Û_†×â\…;¹»þ±8Àê®ÿÊŽ,kogk ã`Û볂۴ý‚'c÷÷ÏÖÀ›äðGk੾Væ§:‚¯‹?üàÞ^É€“þå7ãüês8þKAœlÿ±þ[?൜®ào€?B¹ÿ¶Ù8ý±ÑÏåUAà]Ü@@ 3û­ÂÁùêø÷BlmØãfOïU2\à–Ü€6ÿÖ×_1`mÿaq³yÕ,'˜¾›ýŸ:bc³]üŠbY»ÿ#x< O§?À5Üÿ€àòø‚™yþ¡2p¶×\Þûž‹Ï+9p% ë?Kýëš7wwïèï1øüÿý±zÍçœÌÂlÂ:îêE‰<™~¿›¦ú¥AÇä»èÚéþ€ú&•®.'dÍõF4u¨}eK’öZd‰ôÉ÷ðsÓ›È/ɪí¿ýÕ¦~µ#.LâöO”Š6ö#¼eÒÙñ{rñÓ ¶ƒþ ùMŽªÀÅU¥ëγWÚ«±¯ry4bî—êN·<Òcå¦8ÍXƒà3T…f¹³øäp &bxzÌ3/´™ë›iÌü‰R¹DDÿ£8ŽR_½uö÷³>«Õìn]”zøÄÐט£SÔ¾b{irxó¾å¥+ý ^ŸKIóQÓW˜Ð™÷سëlÔb[{>yŒ.~eÛ.H„Ñõcm'ªhÅ6v%WÆ©k7ŽÁ}â°ï}µ[í¸Ñúni›þv‰ïGã `E×ú0¨í»ïï&—Õ¡á~¦Ûˆô/wC­Ã[ßýµ? ÷ ¿µòd£—´Ö^YæÏ&N‡­Auie±Ñ—Súº>ƒ1oï‰iúÊ­ôbö-ý쬄ÀšCÒ$'‚¶0[òûûŸñ4ª Àæ™ÐJ–³õ\f‰ oR…¤M®…óÊRNYéž_óµCÑ!Þ¶÷|ÅÌ'Z5ší \ŪdÛG1Lc{ÍÁƒb¡á½|7{›7UUbF8ûNZ÷g5žQbC64x ßU ÊïrSΔ*»ÝšíA0£8Öó shGÓÖx÷°5ÖUöèÉX)+AESº¨Ø'¿/é·h¸ QÚCP$‚ûþº5ˆ½¡SùŽ9}õUÎÎ24…qçP«Öù3¡‘ºÆ]…Ï:DÏü±-²‘©-J_ûƒœ½m®ØLhûDj²ù­ ¬Ëµw´±ÑÏ–Ñm?5=E›–Þ~Êžé® ŽÂˆQ¼éä`Å?’”TÐäüT(eÀ~™KγÝôÉy o{WëfÐðûZ0¼êA—.$åš„p”æÂäÎ#wjþ/éBUÇ*¢¬h‚m›:ª¹”<²ù)Dv¼OúyYW[¥td±–á:!ðæ{1ð[‚³4؃ ñiçjX*’…daLüŸ0h0ÖŸ'EQåÐê˜a{ÄåÆ!ä@•Ô=¾

´CõËŸ‰X©@8LûÊû*òn9¡Z Ì‚–X¼¶Ø[ÿ]-º˜õÁeÆÂÓàŸOÕ0qÛpK;Û¥â +;Ur™÷:`¦‚¼î`ÊðõÇu´¢0ð.¯T êP4T^®=B îÃŒIÎÏK„¡®ÖÉmÉî¸ç a±& ö¾„ð·@ÕÛ¹cKo®‚ØDÝk*s‘E'˜õ9‹ÕØÍòL2’€í*gƒO/LÝMiD£U.ÉÚ±•½dÌ·ùÆ+ŸÓ¤›o7ÎöƒhID‘í[±¦NØLVxÝ™/ÝN¶É.…Î}†š¦¨ÚëÖ ¼ Y3ÜB0æ 0µÙ¤¼&NföÒ×VωqÍ^ZÞ×ÍKS¹ä†>øé=.¾£äG$fÞ,ô•3»Šñ½§ÄqlÓ¯g{èUZˆPÜ–óBLÚ)EÎÄÈ×CL wÌ$ÛK=ÐÂ!-Ä*]F—A ¬o”Z†LªA\£ïˆì/+LÝêà ê„vë*ãl–ŽG—4 ×Ú/²^ïê¥ÂQM—*uRéìݜ ¤¬Lè$Ÿâàè¸Uá›ç;Ò‹sã‹„¤1Ùª!A9r]Ò¾çWJ)=t›¾Hi%³ EÎ1"Ö^ §fçôĬ°÷AÚ¡œa×>Åjð\ ï?Ræ3{)þE®\–5<¦ÝC/…i¸ÊRfâ]«ú !j(Å@5µ›HоrÅF÷sÊÆ6ñMôžC‚''ñÅ3‡gÖÔk9:%ÙaÅsDZ7s·rSɰ dš2¸©ŸÉ¦VtþƒÙ†f…ì÷9 »‰wïy¨7­…Ár|ÀÇ»Ü#”tøA̧v82?âŠ]Øc¦êà²ãz>²GÒ´˜Œ—`¶Ä1m9ßÊs‘ì "üÏ/)]ouÀóð|¨Ìš{{'±¹ýêdÒ´\2Öû½Öh©”äÕµ‡“ É5Sý¨Ë;/Î ™ð¿ƒ7ÚMËÒ$sØèºXäbW\‹—;w2äÓUúpwliã™Çæ\Jw|•ÎBìCnlê¨ïZ:›f‚h¡}Ûîíò…^51#b51Sûo‡^Æóº¹ü \Šë`ÖvN–±O£ß`}h¯Ak& ,ÿÍb[¾Þ·XHæÿÓ$åäP‚ZûmÐ`åöœªÎgJ8™µ»h£ Ù’š„ÀÁYæEÝ·ç" Ž8U®ièÆWGŽ+ÁÝð(_•·@¢J°L (Ži1é°Æ?qŒÃ—­°“šòpûãâLHê'ËåÅ"žq{[¾¯Ö%¶! ¥ìÙSuNŒ ¬* œ¦ëŠhɽo.½`‰x£N@ƒlôùš#÷ÉVäÛ«ª1T’–UzX`ü βª Ô‡Š; šÏgyèy‚ .DŽ ÛîÁ {q¶d^×a:¢Kâ|¯ËÒ`áí˜I6qu†®·Å*l=$À!(uö1$Ž*¹4Å¥á°T{ÚóéfJx’/À!Õ_,ÎJ\ò<ÚOÀh?ºžå…Ÿ¦Ñ2i5ëzŸ§ë8Ýã4ý¿õõîö\•Ãak¦ÈFÒtS îÉf eágt•OçÈSí™—JÖµ‘üÎ~'¶8*kH¤Çv  ¸œþ‚a:ª¯¡`]©Ëô+$@ÝõÙÛ”  ¨¢+]1;)@Â÷Ö¦b O7&\„+(iumŠ–ñ.'Q)·'´uHBÆ6²}Ë Ç'Äk% q‡¹[hir®®®pÂ.½vɾW€:­ŽBpw)«þ˜@g9µ-å“mÒ:Ð*\´%k!¢.C&øÛ‘tôp„àŠΕ yk°¥õ©’£ïÒ´F”ÌÛ»c‹ÿ|š;Ïœ¬Øë 6-ÄlBñyîý‹¥?ÇZZöáHÙÀ¹tEFÍ.¥¢ÛÔ›RmÍ'ÿÇ›æÖ6ÝÞæ8#¤ ™y*Û±2™¯§1Ê2/ðCcHï[bö"Æ/7åÚ< Q‚ W()ßT¢-Óˆ[ se †©ã?·Ô?I®ÁÏEÈ2­n bÂÎ 4ŽØ·wÒ†lR¤½ˆ‡s…hýH±l2?é¨ëk»lÂágåA\kò…FÖ¾à)pýÙ¯¦ÇÂëi•îá#ß”"8ɺŒÓwãΦ{FHÁ Ö‡ÊvÐ&¹­'Ù[ÎwÈ5¼îÞ+”®i«—©îˆ–þæ.= \߽ȞV gsˆîºŽP5k ¿‚ èvløe. ¾*‡÷.ÓÖ•ƒ÷‰¥´¾>»LÂá U»ï­÷2IóGmœ÷ú„æ…gËèPÅk{,tA LúlᯈÅyS)il¶µp¼Ã¯Õ9\îpÀ–KºÃešæ»%¶Ùš—YI¶œ}²kSc>̾~ò  p`ƤSßê–h]´÷~$ÅçIÆ-BÖ½žo¬ésØo6j©“vç2–Î~s×¼ÈVö Ä;ƒô¼7ºy†¸Îùþ[c”ño !g8†ËJ+>kJâ‡ò>HC‘SÅ{“£Ÿ¥åo¸ªàJ<Ûa¶e]]NEË9,ECÖt1lÜ«ƒºW·{.:§N~`꺢ïK\ßðÇÇ-Y¼Q+…^$‹‚0™*±é6¿˜V– }±ÞœàÓŸùèþ¯¾‹Ï'ŸD†Ñ«!_aªC¹íi5”Ü¢ª¿ åCä2Zì #K›öÒa‹Î¥ð±R¶Ë¼ÙßÏš¤‹2ÑGbKs¢;Á³]7Ž¡ó©Züt·w¢¤/‡íÛE³}à"°‹hÒÄýNŠÐ¦úˆgn%j¯)«ßh‰›è„%Ï{ê·‰éY!fÙ J´~Ýx4ºÉ¯£’yÅÝž„ßaLIˆ }vl.LÃð0ým‡ëw‡D~Gÿòï ôBÛ9Õn}“ùË1ÒíC«#=ª/j½°^…ÏeLê0fŒPÛ.ï1©3“Âõ`ñoèSy!€IS9U·IZÑÉê·!·Já/#íýFïé“pæžT‡7Ê•Ì,Ö;¾þ Ës"Gˆ[ü¨‰Ðá3uiu`5fºý!Á½Iª`*S°KçÁ{µ­²zê¾jÐêæ…SX‡Ý°;³\&k¬({þ"Ëèû¤‹Щ!'Cóø2ù¶4)i’G舮¿ä2SÆ1!êKy(ù¾¯D„š ;èI±oàêÞíWYÐo;>Y«$Ë⊜)èÍ—‰§ß X‹e:’GÓЙ6Ⱥ&{Èéå–ÕyP»–tIêàßîÁžÚ.£SÿXÝ“Cf¨Ú‰úö¹s óÝušRá/JnuB ]Œ÷Ëøµ é/œãOv…³!&hnŽn{î¥ð,´¤ævqÝpª¥ŸKÖXÚ*\šz`†n ­cûЪïïõHª}Â$*@"È·@̬ìü=Å![:Amk“mÅŽ(¡—ù¢¡—€ àú±–„ܬ_ú—/:hþSÅ]£ñú5E÷,ñŸ 2Š“RTü`£É§;äo¦)Æ5 ZQ¥n v Ÿnf’¡‰ ¡‘2ºüÔ½!(2î3Ü/ª}O“4¹ªƒf^mH9.IÕGù+mÍ0Ž—©Ú@r‰oX„† •_Nrˆ]µ~wxÖ†ë¢Û<ÍÿÞldŸ{Íåô]·pRJQ‰ºœ˦"Úà“’êwÙ ™™±«IÒ.a þc‘©S¼]¥¤7ê:ßWY? VÓµ[¯kÏÁwrZ~–’hµŽ_f^hÔ€¢3R‡b" wôôbDŠÒSj“Ä™‡¼ª»EÒEŠSƒ6ûtÏÜœqtü0@lY??ënp™ÄãIg{} …ÖÌó‹¡ÑIjˆ “AÓœCç–E2 Í Û]¹zäÒ2þ 5$4[ÆG/Ëê;Ýl@Ê¡¹äÓ>ä¾-•c =ºX~­²V>L'™Å‹ò¨YšóàIW{f…=‚ã2ÿnaKQú¹n'ÊúËRiN‡› Óg‘$Dyhižø-ò?ÕÉH¨Ê‡_½ 7¿ðÿâ^…Ù&u¬èRþ ËÊY‡ŽÝ¢§ñsgêHì½ïçô-Z’år VqIjÞ^àš-á=Þ£ùÁ€¾Ú²Mõg‹îº>GãÔvMÕ>ŒÊyt3Ê“úA"\4…O¤jýLHÈAÌxÌV kÒ_ù)¨ù]‡ÿ-LÈÒ²°9à Õú'„c¥ö1u.¾ˆ»Ðïq•yä=s½9V{û«ÛFfÚ}ðpË´ ô”€XO¸ê»=:œèØä­p#l%2ך]ŸRÁÒj<×tQ Yq"–¨`D&[$·ÁˆýÚèStŽ<'!ýX°<Áüªv©ú/•˜±ZÑJišÐ^ÜÞ•¼ÆÉ£’§ì “2*<ßñêHŽu·µ‡˜¤†0%ç ³ÅÞoæSbBž³S ª~Þ٠ض6Ú ÙÚ=ª, Xðµ(söœ #†°y°9 u‚çsMÓôuôñçV7¼|§b¼uŒü¾YСªá¬Zª¤¦ÿ1úVÙ©äI[™»’Ù¢£†P„lw>}OÔˆ°oW©vE¼U€ ´2:Þλ£ÎЦýE¿ «€rˆl7.#Fa6ÍŠH }$)ð¡’d0F)ý‡TN×Õ¶…ÓݽuŸÄ‚7¤x« ‡ªãæ/ÄÑ mÆQTk}\qj„–¾|›|¿ççKà~h-ô='S EmÔI]ÔfåœXœñIŽ\{r°øqZ,å[ÛÓ¢³“æÙÑ©´é¥¸4¢-Û¶&{ÕX^íoÄp¢±­Pzô£Íeìéõ'Xµý»âº@>˜©¢\½öç+ÊEífjO ÚÖ`‘ØÄŽeT¹Ökï¯"òEŽ\Œßr ¨W|fò£_òQnoîã*ƶWÅÄœÏÜâ„?ñQ ¿GIÕ˜Èý6šÖŒcàž17=eºÁÞK¤®)Õ é?à–6õ%+Ñ>þÀ‡³Âüöf@“òœ}Yê\Õ¡§à‚Éfù:ju•qÏ"2k¶ìäåé‚^h»½å猺U®¯§ë{Ç “­w(ÃÔ+DñÅÏØ› ZÙ/8sºP1[’;|æû<^k¿Á_¶§»ÞIèkÈMBþy½­ÀÎØÎÞš]ê¹dz‡f`'§ï—ÝãûðbBݩ錘ÃÛ…16ÅÜôs…Vâß´^lyÙLgѺ¥k†ôëñ×T14¡:ó›Ú4D<Â<+òÊ퀀gèXwÔ/w 7û2OuÜE†`±”Ža™ w³Ù¹œö’ \“õ ½0â’˜øá ߨ †ÐÔOwÇâúë²mê)T€ÔÏ(’äfg9ov3š>‡ì|â1¡‡ÂªTȩ̀°\ªçWüü’¤Ì¾"2âïIp6^È#Ý0‡î¸ø2› „ßœlYï‡lòpí‹pñQK<Â%–“ýá‘W— o³rÊN€²žêÛ2Ù„€Ï¡;m¤34dmeЋ*N©ÙS ®Îª_È”ÌU?˃Mz¨'½M¦ ÝTT3;ªCß­ç5àžBps~91‹ªy.sýòàÖmñ«ó —}Œ4¤òË”Þ Ó'§'Nþ®–n¨èi{¾Ý¾÷§ÚÉ;²ôWYÆ, ‘‹H#ƒ~ïÀ¾Û…²éwŸŸsξ$ÝvbÞ=~²N¹4HûWMİšÎqÙAVÉ+˜a›DÚÕ©/‚Um-Öäƒûrloåà ³Q]<´ßbNɺ¸kH÷F-~n¦]`ò‡ÀDûT@_ã!rÄÇ^º˜ÆÎ¨ÞãN./>GBô_Ï'Y¾zîð ðO²äe,Ô Î°.{>ŽÀ8 1lE¾¼ñß°‘‰€.øR¨¢ÂVvÈ<ìw«Ý|ßϼÕ-8T§’äœÑC~„šü5ó¨س7ÚöÔ{?¯ËÚ>8­nªï¿KW2P< X˲E×´ãôùîþ«U>ŽKÊîEZ¢h~+1ƒ­Ú^i]„T:’peïjGžè˜²@ÑÐo’†1AGzž4‡<¦ï‚¦Ñ(Ø•ž±ÒF ài£òûí”û@<©ÖoÔ~gö ‰¥òüøp~Öÿ-[I1V•¦#l5Ë‘l’jÙž]Íú5Ú1DëIºÖ.0b tOMU……ÜÏ@‚†W®uÁø2D\¾@Åý‚µ]ìd6œÙiŽ÷åízµ·&ãîÑ•F bw.Ý›FÁ„Y„õ*4ªÇ²öTç´°+cŽ_óŽHdͳEjî~ò^É«ÎÆøk±'òyºã”U=±S÷¤Ÿ¿è0kÒèükÑܑјhí4 Yr:4̲>"ÉgIbdŠo5±Êz.Ø?Å1ëe}(v™šïžŒÿ%zžXú»Ý|¿·gAùÑhÂfÙ/ß¿\º­yöRØÆ ®½lçm¤dé ïMB¨®>p/Rþ+ÕN9ª¿©ŠóxKÆn}Z{ ª)+Ù0Ô6A{˜ëøSÌ çgY×ûHÕ ŸoŒÊÙûž)€_q"m<Âý…+¦[F¼Zc¦Ãª)ŸdP¾P†kÀž‘caIuØúGÆ×U4œ¢¾!‡jO¿ªï@©í ½I¡Ž›ÿhxoøUæY±°"’qsÿÜ’Œ¹fIUªÉrðÙ™¶ïÛÕOkï5u¯øSéÓÔ ØÇŽ!ŸØ•ú³!ì´F^¦eã<‡ •·-žÓáåû ÑÍ~ªä °~p´1‰4™Â¸’š;”°¬ò@µ1­Ê7è{2Ãt쨀sItg„"Ó1Ľ«}†¥j)ÓLSŽ\^™+"idH]Pgà*‹Pßj|°ØÔí†2­ŸáÍÅăGr½£%QLøöùB+Ž À7öŒå ×`”ÒÄ®Æð}1R|–ußÏí¶Eå0CÈE[Ï‚˜CnþÇð¹§Jºü`ûóÀÎ1_mËÓƒ¸ ‡G)”þ[g±ÌK/eKcYØêÈ®ASë ¨¾Ý¹AL.^†U7JÝ…Íü½2w~_âŒ[*GÑJBq& ‡÷&…öƒ.'4.¦.Ôû¸(¨‰7z¹”×®ùÝ* dXrUÓsñK·wîva–aæÖˆ£E·?W(ìKW<û‹'÷«yÇÿàðÛ³mƒŸ9|;Å鿉Ž.”#´Ìü¢¸P/béã¹áýËâîù ´+yz;ËM¡¨‹o·\©±Ì¾27™º¨x|o}oQÚˆnŒ}WÖÐ_ Ñ<ÅBh0à¨bò8Û@µl…¤º2>M˜×·Ÿª³FH‹8ûqÙ—Ö˼sïrgõž°Örº\ÚUöP)!å׀،+ ûèÅ¥QÏõ,ëÉ-ÇÚŠ-Ii¥#W´‚@Œdú1~²25qåŽÅì0ésêÐÛ£Û‚}FüG·j¥=ï':MËt[}¾l±k{\p[‡Áu¾Ek‚jûxßB·ª‡á0ª5g}Ó•mÌ|:*a«a<Ÿµ™Ow4çöJ(Ëëp>*æh~IÕ(á§èói﹡6lÓê:õeæ‰Ð)²RPÐ×0_ã>DêÚl¯÷.¨¶6i;T‚roŒT´9£ëÓ)Å0ËG Eâ,dá$«©lì:Cè@bx¹UÍY«8cÉ¦í®­¸«Ñ³ãÚ@Úïü_ãÙo—”p¸ÌŽRÁcÁXúͺRöè»çÓì‡ûÑ|bèëÛÑv(ŸP WQ47ÖúZLö|·÷ƒ6úWÁnøŒÆŸk› Žwå¾:k^›¦¿eÛ†\júWHzxžä×£h>õü[Yîôñí‡ÍËaúj_ñÔ·›³42o{Ü—´jPD Ëa’ι|ç÷ Rè•„,O*|ßm£‹ñ#xû&-·Ö¬£ÌUæÔÙ'ÜQ˜j,È ñX¾_³õ£t¾bf‹JØT ޼ áÍÁ`x~¼2¢èÁ„=ÁÌ„›KVô5£?©t›•zLî-;Ý5±!|¢ƒ(¹Ǿ(­×w¥Euœ`˜-„žìaÏt‚þ Õ³UËûFÐN PäÔ–!æÄàOñöÒµ•ë¹&™‹Ü9z43–¨ùØ|Þ¥W‰ÈâcˆO>Þåðøã¯ Ýàoñ΄¤Ìªu÷ß/|‘3eMdÈ…È¢î9–³k Ð2jýnGýÔ‰‰ú†–Çwoûl*#Ä'TÉÈÃö¶Ñían/˜N±™èDo¾’{—\s$JOtœË_6^4,ňâ5@qìñ9NY¶éMþv,£Jx¿cQÚ€¼ÈÜ8Ã%›ËUš×(.ÿ¾ ¢Éž["~s¹ïqÈ^‚6ÚO™Ô¸Oï`ÜE],4qŸ>í:]^æªG¢ÓH"UæG2Åz¼;‡³o2pØ!hÆMzg0 UBÑ3 Ù*Ÿtìÿe®{ewá×LÈaðÂGö}Z‘Suwõ„77_Šçs³9ï¸DQ«cçtvT¥ýn€m†D|kh–25$F«¹ eªÊOMRœ¼$Yx ׯˆb¤EKÕ‰ìêªÕÅ9Ž™ò Ö!|„sõ­š|qñ«±}BÄ}K4UÄ.>Œ.o"š¾§k¬}…§utÚ… )±\3jzÀGSyþyû<Æ :ñ qó6¾;râëöD¡ tOÚÄrø^§ü…x±¢õmÏÞaqšZ\ï`Œù~¢LŒÿ¯wiÈ[_wιH˜ºÊÃ3»z …lÿݦĕë`R®Ô\±Å‚d ‰Gkv׫? öÎÏÌZšnº6qœ–>y'>´œæøü¤g¢ »E­‡ÄÝPñ«L‹È㨠~®°TX…bøŸÛó8žxŸB!Ez'#LS³°JXá—U»X¼àB=>OZ7†¸ÄÐMWg>Y¿‡š[©PÕÃ’W Jä >92Ì®½¢bÆ~,Fþ..‰lw3$¦±˜"Í×:KÀëU‡"´[:ÝäÓKie3÷Æt5ù’y¬}h:˜àå.ìG jÿàp9AìÎL1Á@xëÏqÝÎßlß\”Ÿ˜·F¹´(Dûû½àWÃðæÊ½´œC7^ÙÛÍco>½Ïʃ“p|Áã!/k!gd 0gpï°?}Dÿ—F{±4KÚVf¾¼½õLŠüI6÷­aC¬í»+ýcaDw¨(x~ž3ÜÌÈÙ®âóù xä…oA=˜ÉÓ²ô Ô¡»0~­'_सÙn ³6š3£ó¯1mV|‹:—0ÑHª¦ß–1 ¤Dß·ûÅš,:,ÛK^Ò¨µÖ=ó{Y—í\]Ç[†¬Üðv5ˆÈbl7¹W–D@ÍjY÷ea;öÜ: ¦Jzë9šáÇ ïB@ û÷™«•˜ô×­X¦$¤¾AÊvÂÇF\ÅÝ8Á@äù}˜J+a1,´Ã[ïAÑm¨\”‰GøÑƒøðtâ[€5ŒÔ]T­ì¹%ËY‹——/ µQ©éJZ©“¹Dˆ,ÏÑ4¡C4>§áY¯­;ŠëÓg†™q›Ó‰¸3CôƒÆdžª„š›†4-Ü©Áý3 3W™QƒšÉŽçš+èÁ8Í5î…ZAœätÝ™VÔYˆø”mtc"HV.üå‚—v¯¯_Pô®FIyD¢¥$£­Fr¡…eî¿»_rjwl}ü½G›òÝRÍÑ@'}EúÞÂf3ÉVßÉz×9²R¤ŒÓеb*S[&o?PÒñ¹Å,Hu{¤–éôüG¹µ+ý—}Æ÷ v ]Wûb"Ué¸&&­±‘co{uÏlè·ÛÍÌß—¡0E]Ì|T °FCNµ7vC¶ö¿®ß( ëGooB¸Ÿ1ÁìÎSi¹uZø½•˜…Oä[˜Q`H$¨«3ô)^龤ˆÚÉD²ú–A‡ŸøyÜe òÍûM©·¿¢·˜ió0ï,Q‰E´UìÝÆïÔÞ© ºmú 7#|SUgTàÉ®3ªCc€³#5¥¤Ä]jUYØIƒÕu›”eyOŒ›¨'Ōà aDÞu’þ©f_‡e¾tÃ=šžë Aé½×A³e[ðªºF×§1r×úí„üŽ&½í1øÙíH-«æúh¨ ›bÛ‰²¾ÎÞóz¦zÃQö*Å+ô-.{¼=9Í}X;Ñ-½ÄÓG¹þQÏ}ãœ2‚;*›mbð¤¡xní¿rÙ²d³rƒÂ¿uÓ!B,<‹âвi¿Óû–¬3¯ÜÑ묔\®ãMM…c=S½ƒ÷2fëÌ\{ëï5ÐÌqIäW›ÕÊܪú.m‡OFØmßE@h»Ìð|:Ö„N5Ä Ö´]‰ŠbÎ:×5nÛ-4ÍvØ‘†ø‹3>Óq…(t Ç«¤,6F°th¯K9€ù£[|ƒ˜Ä¶ÃÞÝ4CºQ þ a¥½—÷“v ™&Ÿ éì;„¾*ôBÆù›£ûæwÙ…’¤)gŠŸ µAáLMÛ­î¾*±Ã¶¤P¼¡ \8¶;A÷õ'Z¿¦”×ßÚ¢eKH*F°•¢’p÷jNÁÛh¶êÆÆ"©•°U"vb‰miZè2Ëó5#ÑC¡rþœÞ.à'ØDŒùЉ<¡ÿå´K‘R,;~waçòICLHkƒòÍ\µñLtŠ öª#󶘰òj´ hšØBA¿ÆiDEµj¢ZÆ!)o^ y1ÊRg$Êo@baó™ÀÈ[A®”w}¨ÞmtS‚œ*™ä+×ÊØ ßìᣮAXݧîá}Ä$)‡øô³¤T êçoвNïé¾ÝÖV®Ìúíçãò€óë¾ÀêÇeBœöa¹£oIFkýRvu˜Äh O"]ò¶pÚVáÜ gz¥ Ô4 „ˆdFÚ*ˆìy)8S¶0X“ýŒú%:Õ‡³kçM§F·ÀÀõ°,Q¿­ŸyRHB>‘XÏà&œfZ&=çMÖ¡Žñ# ™Ö?~ £AHï¹ûâkÙ”:¸¯Ê`äXŒÁhmîôMgæL¦t¥0ÄËÅT~Á V×€{¶yÞY?›+÷£ÝâôÔ.«ÉVÏväÖÈo)9‘¡tPu‡”‘FË×ÝYhʑ܀¹n¸íBÅX'ÞŽ„Ó9£šL£#wå*V ™"øL[®zÍÆû’-Š´¬ Ã"ÕÙdûY•x ½z±‰É½i'þ/ßI÷<ôÍЭ3?½ìÝLfES9bÎä7´¨’µ”Ú–=Éë kº…U}<Œ$ÚWÞ1Êà‡,Q@¡«¬ƒÇ ùÍÎàR"i\£ÎñÈî +áûâä‘qÃëÉ\Ë›Ö W-5¡²ß·¹ˆ6è¤o#9a±ÓŠ6=^àüù}nÍìŠFac¢¤Ë@‰n(>•"‘:”‹CŒ<Ú…l¹¾€ÏÖ Ù\,ªPß ’ïç a–¤£SI!çÄý…k÷g$–m¬ ³rÊPˆ.¸È)B ¯1‡•‰úú¦ÌàTO^#f£@›Ÿ—J†‹ÁÐÖa—Op±7?yä å3‰bW€ÆùðíK±Íc©†~8ì'TΜQiPäצJu_3%‹µ”ßñÆ´´þîÎÎÎô »OqêþjÍÊ7o¾Ñ7!¬H“ÝV[l‰jó$!±ÂŽÒ¹?šØ: ç¢JÓfù¿ _uJ»#k^h¾#:–Tà B¤™Ü¿¸x´Y“3ìbx“‹EµF²~%’öõÀ|!òÚrV(?øÈ¹ÖØõœ w†)´äù3 ¯‡ï,“* )¯ˆóC¦†Å—Òr>²º›@«¯®N.Ùœ4ã–®³²@öƒ`DwžX=ëÝS·Çç!“/)åY5…Ð~ ª¿ „ÓÍØh38γy‹Šb›§k%B]•º2wôãÃúÏ_<‚Ð! ûPúmÍ×ã»áÈ™´û ʹäî~„K©—³^†Ë.c~¤ÀtAÈ¿¯ÖQ݌߄¸jäÍ7Y™ªÆ}ŸÚ*1}L¢\a_ð¡[·Ñ]ÌÐ$f•Óƒ PrJ’B âÜ ¦´‡ç†Ö2¤/uUNפÇrB¥GYLPÚ…`$E».nóu”>rŠ]T]¢[ÆK ÷òF× ¿;p‰öÛÍÒdÒÜFCšœ†–ú—dnÑ"q^ÞVЀLÈÅAôg_-[ÜÔ|§ãQêë¡púG3÷îÚµì’-ëáO;DQÝHª\‚t_ž66‘‰zrßã`v­ÿVkpT%œâ!g8¤_ü{ž„Ÿö=ƒô9›zPƲÛÒ^ü}i¢F77yÞâ&<ZÌÆ7ÄÐ.q…&.$’˜ZüÌ5‘yè¦}^#aT©´~¬àðY©cL©qíÖå%\‚ü‚Ý,úC³­´û ¹€2·¾Ðeˆß}®R\|@ݯÃQòA™üxM•³Hm¦ óãÏæªšï$/=ÞÛêCýx„r‹.³jã®5î[(5”ýÚžsNtêçàûpгàÊ>”~ÏËFµ¬òŃ¥¥xç 53ÐY«Nš¿Y¡Ž…`Ûܸ´\w¡õžZFõFôËžTl*f)»bÎYâò–FÜÞ*y´¢ÇLXŠ+)=d¼b}TŸkñgwä+Ï/|É¥þÎ!„”îê!åÞÖ\å{ {ùNv/¹ª æjµîmï³6ÎáÃ{,WÑÔf_„Ã’)ÔÚtè w¢žö»~ˆZÞXSG)S AZ¬Kç6È?h;~ÇÕ–ð’Í­Aç=Ý4.9»+·,ËR–ú”¨š)D“è„Ç‹ÀqâþŠ.ŒÈ’¢ÉÄYzßù‚aHŒ»¢ì‚„óⷔ漙#wèdï™[vîÄ=L±ü+”åçRO¯~šä4-³âÔªíi 4 iq™¨Ki€÷­9Þ½yKTéð¨ÀïÜ;Knz¬h/ªõÅH¾Û³i#ð. ¾Ë×yÁý$﵃ÈÑt_eáÄ ¾ÜBLð» D(µ¤->p`*È­¸mñœH;îC”Ìb`¬‰‘‰„'Zéˆ<†Aæ È¥°¿ŠÜ8.¦‰RSŠƒ7†ÏlÕTÍŽ†ç…˜«ùÅiT5ÌŠž£;!Z.sy«Ñ2$TÑÕ‘c}‚¾»{y"d¦s ¿Û}e‘f%ê/CœqeW±x󦃎6 €Ë°ûIá^D1ΖŠ9)'{©âÈ»:‰ë6MgIOö˸œ†¥IïÁ³ ™Ç Îwë(gÙŠDJˆç©ŠÜ+ZfEZÉĆ­:|Yƒ‘b‹ýN1O{ó,Iï55<#-"¨y¥"ßåDÚm¯J kL}ˆŸ†ÍÚúAðÁÕ,Zç!%|cÁmx˜‰… ¹Îúˆ½>ß`‹y€¶2ßP™W×@LúF¢‘ÚU2>­ˆ§…è3f°ˆÎ¦!è@ë[ì™á9彫9bCvŸxFÅîRã4Ó$ vmËb0õõtªúÿ«Büæ²1ö»Î{6`#ïÀ+ðw…}0 Àû¾½yH¾`¥†QÖæ¶_gTav}€ûÏ_NŒÅ»®w —¬(©ê¤nŒu(sÉž¥Þº²ßÌŽ7ßéˆ^/š¸AüŠéûHÁÅ,’7×µx‰¥P#LÞ±+ÑÞ(ßx›Ä½ð©vÝ´í*ò922g¬µViEJrà†`ð@!^(~ÛDïg½>1¾-Áú1ìQ”¯#B ß¹T‘ôTéÍó¾¤*äIà±ÇÍÛtAÜÛ:³(ÁKÚÑðÂG1èz^§–•×pŒ†[Õ£èø<q[nË•·Š:œ9^¢õ·Ï>Ú‰“'osg”xe|o8lTO¢YãC0à€Ð!²F–' vv[.ÙΈìÀ»–ÎÛE¥ÏÚæ\ÙŒ;7Ù¶•‘ââ•„­¿BmIâû1½ØÅ8é`Þ‡~ʰjãô>fó†>|ÆÂ)4ékQfB~Þë&¿V§_%Ùfgo‡­ )˜ ?Ç—ÄGDª4 §:Ä‚E©ÓØ1ý!É\Eu"gº­Fܽƹ…“ýsë±M‡íŠ(ôG–ÍWUZ%Wð¿óo¸ƒØbÒ¼s)]c Kwr¤ 6ÉöÆO㉠UÞüØ î²0DcÎÜÙ󆑉Yøø(ÕƒÀ­4”ÊAtÈ÷98>R`I€‰T—‹ÄéFåÕÌ!RŸLó£­‰j22¤I3–U—ꥌbPÁÈÎ1ÿ5½ï&/‹úùC9öâ:bÍï³Rü«©oGK1ÄÌßiû²é&£ég|Š=•·6ø(† 9G‰™v;"›ê]ZóÐK:?aí|Ñønív,TÞ"7L9;±rçÄçOe\{è,+˜Z§s9e"²ßLU £w‹¬Ø‘{W+ê„6V2V» Jë¯ÝÑ ¼'Ÿ<Ï{9ü)2‘ ÜÔu&&_í>U¨*D€áiÈËþVÎbýƒzZ o·[ ß^Ì|Í£GåâEæÃ¶%Àg¬Þ’$õµ.¨™Nqáèóûµâ¦Œ\j»(|׆7‘ÍÛÁ솗l°•™âînhH…±bÊ ¾éJ-ÐÅgCPŒø|£ùt¿TƺÄPµRõdÛÖ/­¸ZR'œÁð}îô!e†7õ´Çéœß5úÇ‹—o+œØ>ŸÇÝýXÒo¿(Þ7ì×ÑxÔ8Êý@§©m¢³ö‚fÑti\j.»·_]ŸÅQìªO«œN¶•ÔÀN ÏZP¥ eüÝ]àÉür5?ʬQ¥@–˜¨Â¢©ú¿e„r-”¯½Bqÿ°ÓH\EÕà‘°¦@rðd!.#ä0´y”Ô–ôço>2“H‡:ó)v˜Òc}:âd]í±-§J?ÓÍÂæ_o/™ê0N·l«DY5yS<“›Ìí=ÿÔÈá½P $½'Èa£»/Ù‡Q9VÊ ›3F<Ýw®€ÔEô8wƈ­n ú§8$==èÞ:]ÐÝM\¡pGØK’j6²Ô^§Ò‰7€ÂÊËÍî =YǤ“¬³+ /;'Y…õ¤ùÀegÁÁ`@6ŽÙ:Ìd/…fþÊ¡—áЩ’ÂmHþ¦¥Y•—´ÇD2±zÞásšµgÀÎE³Tî6c‹jüæ|„Ž6ãtìä¸"Çé+"œ¬ž+­ÝoA!Öä#K1Q,Þ‚v\î;ˬ1RyäƒÕÒOåâÈ æºÛC8û¡YÃõÝïõÉGü‡+U–G¿Eë!?h}°G k¶#¨ a¦³’¢VüF`L²¢ï‘ÃÔÇ A\ø˜Ür¶¨r!—ž‰¥éBM-7¢uÉËt¬¤CÙ!ðð¶cª:w!®Ü(6Ðàæ8›(º‹ ¼pR9›¢<6Km–ÏRéôÁ!c8e9ÜXÓîË ž0æÊ;bBxlÇ„÷©¼ì¥f/‚Œ³X i¹‚*6hQIt3"ä(ø[”öoìkl‰U-§`o:¯œ|;q¾IߥÚÒ‹k˜Y0ä5¦Ÿ5š¼“pçþòc„mM<‰‡6> B_€ãf˜äغ qªiÓ$ךϟË醒u±Ìé¦3sz¤°kP;‹a˜¼ØÍ„Šàê¾EÛéyˆ—•)Gô2ûhÉ6¤äÁ”(2Í0‘áüÁ J«U)×Q2 ŸWmmWÎ!Ë`MkÀ€ÐX?}ç`ž:4•w®Óì,:øÉa ùÿ "oÝC³–`1bÀ®êF‹­ýå ‰µkç ¼·kÁFx^‹ÃóèŒ,é0\Æç_6Ë”¬xƒÈ,iadl¨ŠàqëIÀ‘€ÛèÅb‹ù•azóí^PëG£… Ì‚,câ¸ÝÁ1š©åÊåã9¼\ ×úø©È:'6qUiZµ‚u(wD'©0ª#ÑJÚ¿€[~½\pú=ìä„(hE"Rø«`\¿Ý—Üb^‰\ ™ž˜÷@Çx×TŽ<“ºü¹ 9C—\¦"qÖñü°]«»sÜdsXú 4Ú‰¾sÌ•öjÌÝíÿu¨‹Þ15ÒTw[vÇwÐó–š•J”€H?èÜ×èÉï^皈&Wg™«ÚÚª¯ƒG¢f § /®—â©!L Ð¥—“.þУsâÅ' O>6TÂÖÊÀ8í3&§PÆ ÀxlEŒ£mŠvq}¨sqº–(ô*iC*Rÿ‹7AswN?¯]3Ϙ,+vãŠ)7ÞhÈŠ8©FI¡,Ÿ€ëk(±³² d4ØŸ|£Õ„òË Z¥KjúGÆùÝ€"VãêBÛêb“a ×Ö $} heΰ3C…{“ÆñÊ`=­ã–B¸;Ì'øNA¶üª²~²0 ›þcÂínÄD‘V'æâ–™¹ØZ²H½ª5„âîð3hôZþˆE) O¨&¤ø _ë?§ËªøË±óHã/««Q˜47ñ‹:𕞇ÕßN@¬Q}œJ†9Spóð³%.úÁ£(˜H]É0lÚÛÒjÅ;’]p¦™4ÙA ”ÿ’ü{šdõÇš®x)r¥ùêLž‹ÎÍr݃Í÷jQ»ö‡h¤~¤é—•Sǵb]pncÚ¿6bµ%áè2œ[š…{³º»«^½²÷Žeò´ž:Ët²ÑÐÎÎP]›‘¢Ë¯”îuRs`á)9{«\þ=MU_å6ìp41S¨(xm)¹Œß`ëf¬¨,¢Â.fþƤÆÖ?`ePÏ!Bçm¼3h 7‹@[ÞŠ‘TM±¨3ЃªÈW82#©A?#ib©âA¸ˆ»žfž#l‘ó’Zèä‚&?sa(Pa˜Í–ÅßíÍ…{é\e‹¾êGºn‚ ƒx†»1Ó«”œЉ!ëɵ[B&–¤úèÕÖÌ&[ßBL t.ÉìÚµŽÎ}_›²‰˜qP½Öö ƒU’¨duõHŠ•!E)&ªPØ* ŽãQ÷#7¬ÁXQyâ]-~Ä'æÅoëOžÎìlï„]sT[Zƒw=›°¶yar³ÿBõWn?‹øè—ÓeÀŽîg±ÿnú¢béáª8˜Póq¡©rý/·I<1©r Ú†„. >/–'ÜóAHΧ‚'ðòW#o›Æ ¹NXŠ¡¢’nfóÒw4YâØŠ¶“<Él¶=Aª«¥k%É`O§;#Ñî¿w¦² (‰„h¶Ñ >Ä?ù#©rÉEwà_q1`Ò“Ä> ¸8 \2 Di‡Î¡”O¸÷‚ UÓ—1¾²n¯Àë‡ô±ïÈñS<]µéPž@w¦äK,$zQ¶¶óƒ çü"ÈøêµÑ'fs–QSÁö¢š4ÏH˳Xíü X|}êFf™ŽoÕJm•Uá6ßa@ÕÔX÷É@yäú©Yp·Ç±äÑÙ/#i}ÌŠOÿ?}:̾ž·y^Æè€³˜êܘjT6EŠ´kmp­ÂCÇ¿Á¨ÐÇúä±pàu<®:x%8TT™ £Næmó·v½,ßû,([t阂/ *# Îd‡Q œWNu~Žc*Du´çî:Š0Û™¸™©ä»±êÉYy× ‹„(ê.ÐÀÛ åd®í¸qBèäÖº°>gl‘çj.ٻIJËZ³Ø‰!²äÖìNÌñÀó¢²/˜ëÿˆÕ hPu%)2lÚ-2¹76…þ޽0g*.-Š×1AU† SWÚf,ÐbÞÛ*¨ Ôn“ÛËL>H%µ´ê½*´é6ˆ˜ßÊ¿¢ª8_ÝK,_âržAøØTCÀ˜nV|ô®¬, ¯GyÝ '—#Æc2Ò4eäû¸‡{ig•Õíò”µ>”«ô¶Õ!åO÷z‘”þ-“¾=k ° ¼[ x\¯ *8ŽRå˹ÛNÔ½ Q¥0*UІ,à%ö.ÍÞkðiI/—Ý‹˜´ÄgØÞŒô¤X,Ú@3~ n¶'/âÁ™Ÿ‹g;B•½!³RÄŸ¸!¤æ=ãJG1_ÜÆE+©qÏÃÍÖ9JÝ_œ'l_8óã}̳¤Ê%Zp(ÜX¯ýÙŽ!^'¦˜bóO란cwi—8ÍéœØdrËç½mk€º—ue³cÛõçD½®³µÊ¡ ˆ×Tö¿TGÌð­ÉöÂ2@J„œF®ÇЭC~˜³‰ü(í×ËQ–ÉÞ”æ¬Lêð(Ë3Îuøꖂt–qêíýšÑD¡Q®s«7)8!؈^Xár@GfDvÉqo˜±)ÓšUÎãkÀ7t?¤¸ ЏMt‘ÁƒóƼý TŽ×rW˜Þ]Z÷𣠰zF‹6:ôO'¤ÃI= õænÙaµ·.÷(ÍOU%õµ|ù¿}Ä2ªO È1ÂNŠp±†òN#‡Qép¶š GA¢¨#—–{6| ´úä×+PkNMÉ»hñpwJSQKƒ¥å†Ôd*HÁËrï%Dƒ³nT;í6/`jâªnÕsÀ€üÆT…ªâWÀ³¢Äëj¶mꃺ•þõò®Y¢(Â*ênˆgq™‹²°—‹¦6*ˆ%vãr3vÉqÚº±»—ÏÙ SŠ! Hï~>‰‰m„Љy‹ÇÊÂFuÕ¹zµƒU¡k¸14Ùhø9Y Ja *±ÛnÜ"ç]:†B3D=€ðÛK ç-” í})F¨ŒjÖ’Ú&¼¢fÑH#„çI^)Gh9Qþ ¦ºz<ô¢úÏîð¿+|î ú}” ;+W¬3ÔC·¹`øI´¢a¨P“N5wÏ`p|žÿh7‹«Ìþ*¥^7ƒ„ª»©ížžÃyøxwh&jÆÛ79(©\ﯴP¤ão§Ã2&Z=XV¸9ˆ_3´H!—Á0¬*Mi=ä?€áæ“ò&䑯ÀèÇÑö§ÜÖwþ_¸yñâàx^ßD8·×8üSC\üÝãjrêèþq-–‚ù§3»\ˆqÁ¾[NÅN C$ïÕ,ÅÊ™ÿŸ±™Í/h(èB0`:¸êw†½ÕâSІ}阣>9¾™H̱ ô=”ÎlÝ· @çj"ÓÇaBîî<í-Û[í„Ù?ˆç%Ðv<й§`äNHnL<³àD³t ,U˜-ãg¤…~T}?‡Wb ×]…Œx[Þm¦&üQ‘–G:H¯„Þ—qèµÛÎ3L“j ã¸ãˆ1o?ÊcwÝYÿ‚0׹߄ {·¼Ì †“‰G~ž´ç³'yÅ? eè–æ¡v/ÉÒ ³­È Ê.§"ÊŸj ôINž³Œ¨ÂÞY41œåP’ŒSÁyäÂúÇ_ôÍþƘ¬ö•Àϯ…uÑ?¸›ý¿:³¹[0e}­5i`¯Rµíþ“­›y°/+ŽÍª•tBõC¸b^„†›ðròÔ]MÈö´N =¯þï:¼Ps ñBQ(âZ†r$µ˜¬XZaåm6}·œC­ êÂLeuŽÞ´Óþ(ú:0ëSVÙhœÈ.åµGƒ«ÁÒ69ÅJºÒ÷¯òõj϶ÀÏZµŒ8Æ^@×{NÒÎÔq¥½?îçxàX$ gRt°{-UëlIÑ^NhW€xêìŸÍÏV A£!ÞOôßMç䲃t,©_ä>© fYl±½ÞSªŸ’êòÙæ ÛþIEâÕi_˜äFüy ñÀfç…Œ^,â,Oá‘v~¶Þ™ï½ú¿’–_o€!„M¿[…$çJ[…çí ·RÆËÖ‚E}Äde‘3ç5]²3ÜÆ÷+Ú0Üå¿]_]L“ÖåX# çˆö×& J]Î ëŸ ù œDzòÁsUúÿË/™£ÅÐT*~»„“ÿë®zîÕ°~wȈ*ªfs £&ò۳ɨ¡ÜN¤—_Ù¿é#<⽞Ø3¼Ôö t°ÝìÐc7Þ9»‘ŒoIPbvÉÜV¤ê0½4"‡ÖuëøŸÒð¡½{ &­(ýâÉDÃíxa„€”ý$ GÊÜq¹m@7«ú’µ„4D(yÿ2N(ÃI")Ð ‘tá¥mRmù·Oc(¯ÎB1ÙòÁŠCãäð`xU£‹F¶H<œ]ß ëŒJ½Æ×Æ*'u[z¹NL?&@â{Uùvåà 9DÔà¡îk8®Žj#]‡ñ¡¸·¸Æ @9?jòR÷y®_zCàÚE9᡾r޲ ûZ ó4°+Ï Þæý‹»1±nC+U8a4hûÙrôÒö€ËÃrŸÆå.<¨ãÐÝ 3¿Š¼wïÊbÒ¦]faE^T=HÚ·Ko ð敃6£ö„Œ«ðxn‰óÅíÙ!FÛcÌÏ[î7m<õŽ^÷‹TïÕ?“4‘kü½¶~_ç®ä‰‡0ï#ín‡0!KƸÈuZ,YÊ•”±†ŒýÃ3®H‹s,Úæ1FWky‡_Î4v~2ÒРµ]f›NÙð¾ xkAà-GF{Ú4ÆÜߘ‚æìøµ !x¤^eÎ2÷ç®&ø„¸ŽÃ9hòô·p9ÚÂF¹Ê–{M¨Ã«hÌLŠceF‘Š‹~ÅY}^¯×‹Ü§¢Ø×ö*oÙ¸š/(W¾&g½ ÉÁvÀqZ·­å©Kç ˆZ'iVþÔµ¹iÓ'ìˆT6ú™|%Ën‡ƒhC†!ý)çÆU.“2m8l=?ª[T¸Îåm!œze©â ¢ëÛ.t•úˆOI‰Á ú½ÇÌw“ð­1ûYÕ·Ç^l‚¾s¯§ˆm {·Ó]¶ãUP¡Ï1gþY½Ü!ülÛÔ‰”Pî9‰/ÞXv8gîWåv5ÈH¤Ñ¸…DU(ÙPˆâÛUàƒ€³¾í¥,I`—Å® ¿ÿtf¹–1sau ŽÒ*¥e1DçEp œܨ?Ü3ªëN9sÝw!2Ä8`í» Ù aí#Ì`ÀxWXÔÇ>eõdÓ]°Ú.§…[/C¹žeû ·r× ´¬’I×#áO¥¶Å´Ê~F9ç éƒúX9S¶ïŠØ‡bÖÑ ³À†‹ePÂ4äÄ€ÇkFÔigò4îÛŽ©nº¨bóA}}ˆÜY•xgXõеA%|°s¥A|þýtHMn°IÝ[R)Ä à8™¯y˶œ—/¿¾•ÃëRýƒêu0:Éš+›ùòz‹f¯ƒeˆÌ.¤äÿ”øç¸Hÿ‘Úõ¸RJ·ª¬nérΗ"hÿÖÀ¾$IËçÞnÄŒœÏ±€øz„.¸¾–€×b¨<6üFþ& í8šá©QTM^ó³¿ið5…^Ë­ wrOwˆŒ›¦ìÕay_ºì è´žÑªÅuæ®söaÊ/ÜÛÏn!ªu…ÑŽQǤ´ ¦üHðÝmdZ&Æ3Ù ÿwåBE/P/æ6Q &'X.)#ÛO}Ž)ºÔM:Ξr¶ÓÇÙÙN’×—%5ÿ4ŸFÈ&r¤!ú—¹JÄÙ‰o+ý ¯¢ÖÃÎ{™>"€Y‡*[‹D~$Ôp†[={Á¯…†}ÑlTZf¢ß…YX²^„pá)ÀÞ]`>}‘ü™9úüÑÛ¼”xÛQXü÷Ç!'>Ž£šßâL¨z1•€J± ~ œ Ó¥ä:4b™Ê)ÛåŽÄ=÷.Dù¿o9T2u«A™ç')]ßœ} ‚Ö1÷¡1ÒoSHŸiùfl@b©RÕkß4C9@ M¯»³US+Rz[úQ¿Ë¶n²î¶¿/Ñf17÷lÝ)N3bÛˆãäTÃ\tMZAá$ƒÛ3:Є-åߪøX7à‹ ±ÓEVT¯¨¿˜õú{¯G| Cž‘ø/9GóÃNȤÏçq÷yýM pûŒ€5c¯–ßS¯YÖ㆜&8 'ý]Ô•7¼2Âö¯»“™…é®ÈÎ3M½]Î^eº»{‰o`Ò˜^âŒjëŸÍ^/˜lÍÔÊfê|ްÞΧe« ð6‰A~þ-t¢Oõa)2¿FÖAÝE1 ÕRÇóÊ*ÙéYÓÒ~ø{lzzÂè‘Ö³¯à&ìJ/jlŒ„óQ_)¸·Ðï!<sk˜rÍÏLJ”cí¨@Û›´e?Ý‹Ùb}~^I™‚2j¾¸Û°[±Z)7 ž¦ð=?íA3Ÿù‚Ù>$û‰<Ö¥6¹c®±]¦Üg÷P•}mºäí5éDYçE(«DÆäHiQaKìk`Δ)«JÙmaa( ƒù%dvw݆¶Á+í&‘¥,¹ÊšvÓ7\ëir¹¿· ؙ֭ }zîn ¡4cae«[sìÎê #wÑ¢Zí!Í·ñr.“¶j]âò­©‡ ]v{.bsÑ¢†¼&ß桹f?æÃSJ'Æš3Ñ”q韓NÝÅ‚$Ê£2òÂVÇáШØùkþG'eQï®|Õ•Ý1ÂØ½N¸®Qòí±uÿîv4¾È g¿›3rºvìØ;ÝÎø©Ü¨3ô×Õ†ÀÄ !n‰ê™Ý8?šM®Å¸+2£ ­Õ˜sQÍ= ¶U‚ë5ž˜å¿ˆþS6–öp1Œ-ÜѨ³kXÜ€kÁú–ü¹9ZVlZ‰ Õòd®C!ó§Èz¡èOœ*™øm{›ªt·¡G¡@IÌb vÀ¦'';ßqÜ–uídü$ÛfÀCy֌ᢋMÐÙØ Ô ]&¯î kü`Qþ‰ðµ?°zµ“\“;ü¾ÇÒ»ø%ÜêÞ™M.ÿŒÃ#=IŽÞ–«o^@àùh‚ÄpMŸ„]/Dì3F¨°Sëêf}t'ˆ=u•¼fÌë´MðÖ-3 #ê4ÿÃòŠ› E/¶6YG~ ®XF"*‰ ~õaõlÇòq®'ÝYEJ:ô‰5}›˜>·õÖ —á#yéjrEõè¡ÄÆ&Ýš"¤¶&_„Lâ·’ÐM|8¶Ò†à§IKÝ@H÷¿Í´— DF3.ntO˜Œóº…·vì!CÕº¶[é¾a…ôiÑÇ N6±×Û­œÜ[\3úÞd·@i@Éh{š¾ $êÙ)þáÚQ\DãÌóµ­¬gÉv#75+.áØë ÍC±)Ó /Žmy¡âaû‡À¤¢ j^‡°c3JN»F®£×¸jßãHûd—#2”ø¸‡ÿX#Fxoyy@1CPâîßúx&›==4¼©»ˆ]:(+à\ò2ï¬ÅŸ˜ô¡^¿rËÄ‚|Â¥[VÂõÏÑìLWz$ÿH«‡üh/=¹Ùž7T¯±8<–"yöf=Ö Hz ýNØP†$2Õ!Rß÷ëmàç}殪S_§¦*x*XÞ¬2އ°eô›XÁ|s×¹YÞXêZ“ =J`ǮɂÕaÛî # OžóŠVâ`Ê”4owôž¶jhŠ}æe+;és±OãŽ\$ÏsÏåi¾¼PB“ 5s¨¸ößÐ4º 4ùTƒÞ´¬¤™ç'Æq´ªŒµ*ê›®Mº8pßì|"îà°?>º“Àdo:À¨!@0-1í<[Ñ£ª¦èq=ȶ•fÛº½“ÇÀT¢âÖPYìÃê ô °!ôfò4ÓGN5X˜§EHÛ[Vͬ“Ÿ[Ç–›COR=Ÿ*ñÓï´rßõc¢Š£<{½âŠG¨€V+;ôó9äd|:9¡¥îéåXÇíêì>¡¦uên1­7RœÇt¤][ƒ°&Ûã"ÿïz$Öolóþ(ß"ìgêÙÖ¾FŠ‘<¨ÆCl9‹(VTKËV·9.c¼™r”¤ljž&BÓ÷p:,k“¾G-Q^Ä ƒ¬¾nQ±>G§——6€ÿ•-H Ö?ô¢/î€%Ÿb6FØZI¶­v÷7|‡iòâÛ„ê†sшTßæ©@.=ôQ°¼HΤ'¹ Êøf3î¬4moBEƒwLº;ìó¼ôô"4=ë¨^#uª"ƒcìFoÉÿ¿÷Úz™j|ûÁ¾Õ.,«\ÉÂÍÎ ò¾o6/‹²`Bí}‰¨|Á°íœüIô1ËR0*ɲÄl uZ*¯”=ª›g–º¸©`ÕÎÅnœBžWpý­å«[ dN—“âi|fDpÔ`#”¢lôIx³üÁ“Í~Š= ?Á Wì+ y!”aSdôÿÛß:άK"ÃÂq$ I]‰¼£OâÄ0ôÿåIœË8¿†¬½j`_ÕÙÀqKçMŒS•¡=·¤þçÎÜÓêÙh±ye§¥DÈ!$¬ü‡(_Ìå†Äe=۵д ª_mæ–VC‚G#;K?®e‹Ü¼yM£xGœ‹QÕ¨YŒU “ëYpu ¦éS:ÊñwËC­sóhDc7’LÓ7u£rB;uFAßrþv¶èË3–pD+·dÁÎËT8À[­„õó$¬Ÿ¹dUsÏÜN®å{°Z;æ(æŽGDò0‡ü#J:ØSûË£ôg|H»Vî ÷ QyDÇB¸ÙvǬµÝÃÁñ´oO"ð‡©–5!=É•¸ ‰åwk|‚„#Îôa›®üÚBN|&~qj)+nRd‘É ÙÌú1P½¢{ʳD{5ÍñF\$œ«œk…7ï8{"‹þëE“¨Ý 2Uü»%U*Ö)+ÐqÝ¹Ï EL…1Wy-A¿÷l:Q¤_äK«¿Á ‚ ¾pÊ™ÛV§•…Vi³`lKg¨¬90»(gQžœ*œ<á ´Ÿ¶Yå”ýŸ½cƒiÞé¾ÃÕÈH¼?F9ÿlÓJßßËõ—¨SÚ²"VÚ¾-Æ0ãvÉÁ“ŽØÕ{åŸÃôé;RRË!ùÝP‘‘Í•W`}s×ÏpZôÕôŒï'(ÍádlÏ>¥t®jØÿ5=P$uoœõæe–mªÉ¦UE$ûÊIoïråHË=®mr ±&Iñ´N䢥Ky«¹Ù× t¬õ¡ÑK¹¡˜ÅÀ•aËæi$ÃRÙ½Ûаø›•Ðë:F‘L̘ïŧÉ4…`Bu2·žTˆo;þÈ>Ó©´THjΉ\ ŒÅ°ð€},­úñ’O¾1S"J¸©ŒyC±Ò6Êý9»ÞÍV0pqšŸ’Ô„¤|>5N¤´ÍýS¦UUVšÚ(àÂ4l •@Z>—)'ôüÝС¬Mfboh3"¾4à³ðóËêOç—Ž¥á;rNG,Ö9¢êÕ|ÔK¿hŸèGÖ9tÀ彚ªðãM•aìÌx=ßÎs÷èZNwJÛ¥ˆœ$éMf}¦sØb©PÑ‹;FˇÑÜÜ{< g*Ÿâ÷\ì+vyñafèzøZò9åpó¢™™&6AÓyj`‹¿T\Î[V¬ã±\®˜"{qZ”U*šB“hìAÏ7ÒÙνÇÁÒÓþù^µB§tô.¹ „‡Ñ´Êˆ0M\Æ[G¨Ú³ã[¿-¹€{‡ÇR~4Ç„á†Àxyó„7×…À’ºõ¶p›|Þ|8M¡täD_:R¥=Fy¬k7WòÇÒÀt2ŠÓ „%}¥À™ì›QçÑ™©Éà ÔÒ$3h=MO‹¸ÁêØ@IŽÉ)¾þ’a¾…øŽ‘ä)[0¢®Ât9Rî?Ý>ZÍ®ýK›_½–ö²Ð•µÒ¥óœŒJÔ¸uQêšÁÄßš‘×`ã«(òɶ[%KaP—7Y.¾é‹î;ódo3‚š|=óÎox,®nïçD±-M¶Ø¼=«mA .^<Æ33\ô'ÅëF0?Ë”ƒØ=^¼E Lü«MÃ|°oì+»æîóbjõh ƒ‘âûA£C­fªMƒsÿ ÷Ì¥ z¢8:œ ˜WY‹ƒ¡<„ù,²g#θiB,Z|5Mýýˆ“Z»}#Kc׆ϕS$Þä_`•‚èŽwn XмE¨ól8»ˆíü\I Tú8®.ÆASɰ¥îÐ'`·c­Q·öͼ'÷a$ ävX=ÁCéôJ¸¥0×P0Gq4“#Á×î‹[º¡:H1Vòî‘õóÉeÝ€ÂLééÊVª îµJgÏ‚óÑ0l!O&d5ëþ–sD¼r—Ž?ËKE¬ŠšNŒ¥F¹ÁèÒ¾úéºÑ?»ò$}à——=0)ŸMmìÛ`uA+oÈê:òÒé«B9J?•*Öšøˆ» R.5\eã8“u65iÑhŸ (ÅÆ7¶Òg‘|.†û|å¤ûƒË¼•ö“åª_eíºæ²æÿk;ø endstream endobj 674 0 obj << /Length1 1804 /Length2 10589 /Length3 0 /Length 11728 /Filter /FlateDecode >> stream xÚ·PØ-ŠÜÝ‚»»»»»5ÐHC×à Hpww—à!HpwKp „GfæÎ̽ÿW½WT5½¶¯sÖ>UMC©®Å"aíl ”u»±p°² ¤T498ìì\¬ììœÈ44Ú 7Gà_fd] Ää üW€háöb“¶p{‰SqÝ\^A>Avv';»À!‚i 5@… è º"ÓH9»xC@¶vn/mþó@oÅààcþ# á„€¬,À 7; ÓKG+ G€–³èæý_%è…íÜÜ\ÙØ<==Y-œ\Y!¶¢ ÌO›@è „x­¿ T-œ€2cE¦hÛ\ÿ´k9Û¸yZ@€€ƒ#È v}Ép[!€—æ-e€š üg°òŸÌ€¿ÎÀÁÊñw¹¿²ÿH¶°²rvr±{ƒÀ¶# &«ÌêæåÆ °[ÿ´ptu~É·ð°9ZX¾ü1¹@VB`ñBð/z®V‹›+«+Èñ7E¶ße^NYl-åì仹"ÿžOZ½»7ÛŸ7ëvöûþl@`k›ß$¬Ý]ØtÀ 7î@é¿B^LÈÿØlnvvv>nð èeeÇö»¼¶· ð'Çoó _g€Í  ?ÈøòÙ×ÕÂpƒ¸ý}ÿíøo„ÌÁ°Y¹,¶ 0ò?Õ_Ì@›?ñËåC@^#öíqØÿýýÍäE^ÖÎ`GïÂÿ¸_6}% - E¦?ÿí“”töø²pqX8y8üü>v€ÿWù›ÿ¸ÿaU·ý5û?À6Î?)¼œÝhxü¥ ú¿6†ðßT_¤ Ðÿ£|cvv«—Žÿgýÿ‘òÿ'ûßUþoÊÿßdÝÿpÓÿáÿÿ¸-œ@ŽÞ¼(ÙÝíe+Tœ_vü¿¡zÀ?7Yh rwú_¯‚›ÅËvH€mÿ>F«,È h­r³²ûSBÿ¹…—òŽ 0PÝÙôû­°p°³ÿïe߬^Þ×—»úÃ|Y§ÿn)¶r¶þ½wœ<¼ Ä™ýE^œ<<_Ž—µzý¡l+ØÙí%ðBÏ`ã Aþ}£¼<6‰ß¦?€MêoÄÇ `“ÿqØÿA/yJÿ —<•¿‘À ²øq¿ä½<NÿX88_¬A@ÐõåiøÛú¢y6à¿àKw›¿!Ïoäìù—ÿ¥®Ý¿àË@ A~›ã?ƒÀþ|iåüÏ„/ü¯Ö/;Åæò›÷½(ÕÙú_/Íÿ5 ÇKó˜ð¼8]_Vú÷K·Ü/³¸y:ÿËýrîÿ:—î>ÿt!â„üþ_Woå¼<‰,ç‹.þƒÿx@/ ò✳•P¨}Ch×]‰'Ë]½4ßEÈG÷tÄd†Ú¬àuÈDò§~Ì•múkñ%Š'ßãö&ĈŽ$Ο~f šS»È _ñ‡'‹Ž%‡ÈHY´Å÷üžÞøé9À¶C÷(Òä½qçGW/À¹ó”ójªXŸÛÕØ«åUBy¬˜f‰Õ‰1*¥É·ÌþFH…àÆBöŠûÌ cöúf;wò™B1 Ùÿ$–«Ø×pƒ3îþ›Ïj•6§k/5‘!!ì5öø­¯äAŠ"Á¼oYñ:d<õþljM§Žô>»ªšwà SZšIAz"B6X\…w1ëò‰N¥”‰ÜÙg+Šë^ |í–®Ìj‰ g5G¾FMݾ‡ÜFŸDz¼}ÆM;¼äF ðOtn#-zdá®íÈc,ÁšñˆÕêØ*ns›º¹ YûÇÀ-۬ϠÃUmÊO+^£ ³çŠ>Ó‘‡ÛŒŽ¸gWV™ÎÃ={®ÖND¦ÐÉ4ÍÍÁ"uɹÒ(L$ïð³ÉÜoÚIà‰c_'geäµs5«£Œ˜™4ì£0dÖty"ßEmãVèT¼àR¯ºÿr¢ûòÔ¤…]˜µÂVKUÕñŽaŽZ¼òéL~‰©@Óî/ÁR¥Fx¿²ÈÁ¡Ï¾Q€¥ˆÀŠ9æu¢œŸoº`D?Ú³›¦z§4h ý¢Ó8üþö0,ª D„úIˆÈÛð“úµ[Üv ¾èsýŠË>9G–n´ÿûÁ’Þµ ‹Kkv»Áyß·o…¾qz~ÏMyÇ ³å€ N=…B¾!% ¶ Œ ˜ü~9Ë Ì¥5EˆfÝS £85G Lþ†ñÝu Iض°'GžkÐ¥©ª´GaKLf«Ü`“¸ËËðôGQ"¾ÏLæOÖl­wI*W áËŸZc~x<©ÏؾæPx­f¶ëºZÔ98*{kë^7°ýßrÃ~™É !üî9)1ÿì'Z®“z%ƒÝÃö{ZN^_s›9;Œ(‚ÛÉGLÄXÜ“í9™Jå¤q§*bÕ%ú9y½˜nFÙ4×t¦>ð‡‰ ¨dL µ/ã0•o¥_L#?“fÐpp–!õWq”“Æ Žïæ‚Bÿ.tÌ…>{áùX[Æ=ÓѤõª‰äa î4šØH¢m©…wË©DIÔéNk…9Âûkü ÖCP2SHL·"¼W-ª`_áÞÊä©¿æþ¤íÈ®@@í×C·CG<Ê ºˆØO1FŠõ;¿øo7Sô2Wr}Ã=âð¨X`‡ÌŸà÷¥è¡BµѵmÅœ˜F‰\†œ/i•FƒHU¸d:Q"OðÞ§±„<×x.ÎÚ4sunÛ.phGØ»:ÊpâƒéRX62Ëøq’§Üž%¼Ç ©7)Wl)4a åµ H+…4ût¡¾ëlžˆQ:–Ī,VMqÚâ¨,³â†iò%>´xN&½ek‡-–zµž—¢k‰Ëgºå™S~­(Te…†¬Úûñm1VŽ´·¤hcÑ/3qv€§‰óq£ˆ?CáqÓ'’v±Š@ÿLP˜çLÛѹTMo3y%{Lèû‡7ˆ½Ç’›ãÂ’&L 6myßœ?“ÏHÛÎ}î²ÙòŠ}ÜäÂ’ç½7µÃÈt?×2Û¥r45E÷_jay# Þ1µ|^C¯ïüU‚˜×êí© I²ÂXWÇ£ßÉvàïD¬J®à‘gK*låNÕ\’'ìä鮞 D˜ÛÕiÆ›g–%õ›`\ ‰ …ũж Øu‰B' QÕBýjDI[ Oº;DýÖïÛ­ Œ¨öÇI‡ºÍW‡÷°:qpt«û=s1b ~²+O9.[²À_B](ÖÅm+ŽcÎHÄíœO¨I:›—×î½¼[iRsïhˆ‡ ´¯é4¯bFˆí§¡rç8ÈT*ÀþÊ¿Þ3A% ªýjf7¿ٟɉÛŃÂûÄÝ×T©ˆŒ*‰ún|”ºÒÀâ[<’DÂ[[v|D—ÂkB©?=ü„¿ó"ÎÊ-žÑÝüôÞE š¦Žž\ÿÊ#ylÏŸ£IÚ±R¢Vi©&š‚·ëUJŠIR&SÆÃF½c•/Þ%] ÑñW®sFmÔúšr“œ ^Í£>z™ê EJ.WAx £DÁÑJá8*¼á¯ŠQ×&Õ©§&«¯第Ë÷¢¨ý‘3Y¢=´í$)#^5»Çãí>à4ôžÈp©²:›7z,‹ÉO!¼o¢œÓ\˜Xolí ó ävn$￈q r»-ž/zӒȦSz ß¼¡8Eÿ^×)˪2ƒîKX¾)”!Á~°L¬óÄ1Pý¤˜:¼]‹3ÄK›G}’ù3^Åûèµ Æíd,˜8äʾŽU{'ê:‚ð€¶+‚w6×§~([Î9R w|–Ê” ú>P³Ç+ÂÏÒt£ÛSÆbÞ¦~úǧVÓsV,77 ›eêó qú ¬Òr?×îG¬ó‹Ãú J5»IE‰‘ôŒÆ.QÓRlÜ™xoFD:'·¶™AkÕ×§©Á…”gHö,4½ò(í)?j¢@È|™ÑÌxž‡Ô³#°—G U3$mã°0@œhI]÷ {>^aê–ÂíoÇLX“W„ ÊW+3«µ"òÒmmNb94R„g"‡>‡«ª.½ö²€BSÓÎy¥»ËÒIßJ©ØÜjØí­¿Žô±ŒÒ¤Ög~E|žµ%°ü•ç{Ô$Ëû$iå&3È¢üîaõÛàÒZ6rÈ~i0æíD­:MÒ;/@•õQOJ¯WެēÕñPÚXÇd~Á£õ*}(£`Îs¬µydA„ʃºehL8 ¸(!â°Ö .ÑäusqÔ°£-í§`Yj5ÆAŠ%5Σš Oë½ü5pÞFæB@ÀŽ7À…ú¢¦ˆ• Äg¨,MeQ˜|e³§ÀQF*6kï6@÷‰_>F!G.?w j¬™7zŽ(" M8„)¿¡r¸ËòÊY°ú,Ùô¶¶S g×g@¡›®d¸‚”SíÑWu‘ˆJáFÐq5±²M€&eQܹeëZªwÁ±XHy…!¸ý•Ãë~äÃÅèŽy‚noò9­Œ LnX‹&!úÜ.ªÔrêH:_‹ùÈ"5\mµŠÇ:âÙ¾_c­ë`ÌÔ^}ÊAÛ×`ëÉ£$O¬Ð 0}¨õb\ªó¬3Åm©YØÉgNômáÕÎ $˜ÈzÒ´> ò/•x…SäWÕFÔÖÒÚG†s˜÷¨Óöƒ­ÁI ?5Ö}OK-˜×!IDŸøÍ¹ŒÑ&Êæ NÛ3˜¢¹G\Þ2Ìå KD+HEûÅr‚1ú[ ªu°~Áø9G3t'w8!H‰¬OMŠ_U¢|SD€À–G仞©×Ä8=¼WPÓàóRŽÌ[òº¾%7~LÕÜ«9…8é±Ð‰iQ=•Å=”Añ„Ÿ`Öà©Lü¡[dq{†ze´q8G4AÂH%ý. |ö‘ã!Jr›­Ä‘øÎh­,Z=<_]’9¨„e³g´ ôÁÒf¶Ôt=+ä ´]ޤž\ïþF6ÔŽ9ÝŽíÚÒ«ÅÒö‹ àlLFSYbŠ×b¨ê${qm,§)ÄNög²_Ézê(¢”ÎX1é n†ã® ƒ£sqbÉ¢"çüö°h³>¡¯Ù@ø06[5ºÀ­,ež( ìÝïlFÑ0I ’‚Õ4Ý¥¢»rƒ“(Å>PµöêŸk™íõöƒ>àk.Õ¸ó5½A;é¼³wrDÎàÊ¥\9#€$†Ç‚1ÍÝù)x¨‰­àÊîutÒÕÆ„ü—Ë0Ú°î¬EC£G‰_¡§Ü£QØvt#ÂC;ê<:{?Eç2a5RiÐøˆ R—é@A» ·â)òjÊ¥ÞŒ5­ŒGx8­í4Ð\ßtæ6NãšT‰¨Kù‡>®˜q®ŒÌ:<]ãâÐà ëåøæá‹Rîb>²kØô±u$Ü Eÿ¤ Z?ÍÌRjmùqÆ%É~Š‹ãr ^ËÙÇGÜ28$gŒ/ªÐI¼+]Ö•"íXW1õ0 ·V–to£÷L¢|“SdÄ8íÖŠe÷Ã=òvî)©Æ*‰«Š§Åã¦ÝÚÔî¬Þ‡p®Õõƒæ ù|Sðá4¤8^ÑSÜÅ|ï¾ónýX1ZÀãðMð×ÇliOªJ!ûó: ¸‡j¤/æZšÆ-pèõ¬ÓžªORõ »Þ8•kîò¯éùÑ'Uùël ä(¶BIì*6ľ ‰?e¹È’bC´<åÁ.þÒõìßޝ¼¯w,lŠB˲$¸ÄdnâX51s%Ñ¡×áwƒRá­&uüÔ.ʘÚuȨ› S"‹Qñ5$àø§¦}óñäBæM¶Ù3Sˆ±ÀØÂ†¨F–꼜!1¤jý6+Á65ÜEÄ7|Æ c4}V~B”þs“»ÞÇ™b¿Líñ¦m]•íZÆõÂPÞ~<Äq«ýš%SáÔ,Mž ÏÆ]Œ…÷‘÷—)Áº%¨ ±‚`EI›°<¢ìc2ÍDïŽüë&n;ú0è<Û¡€.dþn–¹¸ù£°¸âwôþ'™„Q{øÚYÚ(*©Y¡êÕõÁæ§.³‘ùæ>1¾¿è2³"½P£Nñ˜2‘?ÿv›OPÍXì_wT'Ë[uÍ9ubÔoÃܼ-âPüRQÎ;_×S®l”Þ:ëÊhe{-¾àä`ãQ&Å¿:6‚ކ& íb(þÞ+d|¶44ÄçÒZÉÙ’¬¡\ÙÈ×PäÒ‹ÖŠo-¾Ï iÒ÷l'¶däæ"öúÄ«0•ÎsOÌÙ§ñ"³uå•–»ª¤<Ý tãYÁ®^^ ¥>ï,0C¿ó’í­¿ë÷DvÆwúeލïÙ{w\Ó"nÝá£ö®öë\G åм#‹¤.¡ò‚h×{T¢hHà¶óÆ{3Œá$zú¾Ž_ð¹HUå*—b+J¶³_ß`]gjÜ:=ó …ÄU#y¨o1àÈÕ>nïªÒ`4ؘмWs zû¾}w›ÐѦKÂq+[ôÓ\nØf3…‹x¤ÙdkÃö3|ù¥.í~üëû/óu1s?™ò ¨?ÅsîÌÒË%³}<àNÍIM¤GL¬˜ƒ¦b:B›àCÆî›kvUHØÛ»Âoóç'F!8S,_Æ]:uè"—3ku]".ÎY„žÒ Aâ–º[¿ˆ0屺™5O3Ó–ô«3,]~-Í0Î`mrë…¹ÌSç¡êø’±Ä´”MKF‘\rc‰ß,å¥ [˜«û½Ù޲NƒÏ_ÛüÂuH ;3ÐA½yÄvé7­¢ùÐÊbC²Q‹Z.Ä»§òà7”;`pxkp¯0ªw¼ wîZ|F˜ ²%Nw”Á8ñLjmë› e Œyëre½Ô¨ïˆû^Zß· G¥Ü’SX¶ÅœŸ¿[i.ë{ñ·K¤Ê€µ°“5ñòò¼Sef61‚2ûaÓûCHì'µ8OÕ“J!µ-‹W&Ú~ƒSîìé>z*ÑZû"uñI°—`èUâi‡ÌûÌ_ƒ±¯€³±Ì±ƒßî($ çd³šØ,¯·<Vo÷>Á´¢Àæk`¯a_fCK×Ï]þt¸sM)°mÉ0Kȵˆ-W¯£°§Q¯ oý$ŠÜ,§ç˜¬4%“ž±Ó|v_r·šPNÛmç~ Eû‘\:œ3&8v–æ!NÀÊX•JŽžj uh«âþéº9|óþSonò4&”OiLn*UÒN IîR[H…î–|tzâõQs,‡ÜRî­¼Wô–FסvÃÄtå'h×x–­„Ê>©Æ†¼7‚ÈÁ°^@+Í_©z؈1oµ­9Ö=¦ í׿æT € ¤a‡„,N‰LÑ]ZÒÓ†Õ"MŸ)¬¨Ã†;[{‰Õ$:¯KIukáÚíbÓé8æJŒ|o»N (Š” õŒÂ5õlZ 0£ý0"*ãþúdFËš\›œLª!ÖÇT[P²¼H2׉F§¬ù_f UUƒ¥Iȶû÷)ìñb ý(°Ï”öEy¦ß±òÐ+m>à͈2!†‡0qwz/Ã[ƒÏŽû*ù퇑E[ׇk¤*2óG¬˜ä¨ ç ”Å¥,~åךº*^$kj,ûØÛJÏ qnGuìwzVsÖ› 4·Þ$dsÂóÑ·‘97MïÁ»v °ÏÔ2P3{#ð5øÞiwM­æ×b8¡g¿§š;£êȺ”—Utvú³nálŸ@•|ÿþ:ÎOE“X\ç_..æß~˼*a ÒÊ@`%§Åø`<8eÒ›m©·žOY ºV첈g1ðƒ=Ñæ}—ãûUpç ²Œt,j“ âDð¼î’ kwöDN¤p*áwk<[¯™Ÿß—<ÁIJg¡U¨UÃíÉv¶QM´áz6–ýpF“Ÿ¬7Åèž”0ž!práóÎîƒt˜[°f–ÿÌñfés£æv.™\È9‰aûø›íÄ–%×($qSû„òïò‰u¦~—-X•šVü E8¯îöfþI\ã»?¨IÙ¥ÊfRäÜ_øþÈñœØ¡môQåó„‘Aaà¸xè¤\Gÿ&y’½ÅGU‰Z‘Sìx¥»¢Ç/³¾„»r­>u«¡¢›í¶$º3‡n}8'ݨ„ÚÞ)å“"¡çR×Ìrº¯=+M—M’¯(ÂÉÁ¢fr3iŒ¤j(Iš`DNùŠÛéå6®ùL¡Øf^h<î-ó¦á•/ÃIÑãñ—IU <÷òLjo4Xý]Â[;ø5ÌÙ╼3aÒ_a`*¡k3¾Ê»@%Úž¨_Î_c.e&gñtõ'\0râNwíCòÎñ$OµÊ”á†.š6®5P“ÔL® VUÛx¨~Š,¨G{D¬»Y޶™|èaœg¸=®.ÔÓ/yŠ_¾„’`à¡ÆÇû¤²Ê ž‡Tm3îÚ7$(ÙX˜H•Èu76†Ap)1¢k 5’—–—{¶õ“‘CeœÙâ|¿BUàKùöý–ð¯R#ÆÓRõ¸3úœªê½¯éìQbVÉCÊzIX4ª–H@å7ˆv-"fœ% &›ûƒÄ9tPŠõLM&Vè÷-~Ìs:~œfBWXBÞ7ÙF¹µ¡„UDW)GG¦?ˆKàWÚ£Ôßig"ÿB•T¢5`˜™ÂMûEÊ´gKßšeÛÍ Eyùõ™ä) äNêíUr?"‘Ô³WŸá˜øcÿÐÇ7 [qáNIH“2/¬—Ò!ÀÝíçÕ›ÓLOù& ùÈ*fÔKѼÁ7žýW¶?:«µá^«EÁ¤P|9€ß'uÒø!ÝåÛªÉôú|Aɵç´ž;ñ‡'vþ™ÜFØÑÙ}myoÄUl>D½.8Î KÈTS^ðUô°ïTù«Ÿ,­IÜ=¶>/¾:W=ò+Å$¼åÍ¡k<ø+&ú(#×'<ÌÏÀ>tLäW7mg0šæC<¬$ZÓ¯-U<§U5Ÿ¤«ÈflŠSòtha¾ŒÊÎ3L‹ü%Ã?U·„êj³¶¡p½À£ ßgÚr€¯ÎA'‚_”ÐÕ™¸€Z¿¦ß' mt'¥ßŸF7¿»®}J¬}»´×I>ºªÎSRüY‰q(®«Ô>!Ê#Öxò^gQ¹BŠ5þ ë8ôÍB2þ[9üÏ4ݪÔÛ¹dºÌ8ÅÒÐ$™peRÊGÝ7Ü#ƒ‹4 ³ö}´€È_šJ¿‡+÷WàWŽC•Íg¶¬b{0…Ñ}Þæ/™(®a¥aºª&‚­k9i¾C[¬ÄSõÊñÖºŒs¹– {ä>\mŒæVf.6Ø¡¯=&-^¦ii6ÇþâÊ$Ã|ãbd‘¸q¬Ô$, šÈeÕ£É×}ÿ£g1’·|½·‡m¥µÜÀˆ“~i=üìë+i 8¸ã˜¼>QJ;+à BÇÑb†Ïétã“>«uS´×ÅÝðQ§&¬Öß/è÷õд`h‚ µnÂR°µº¬úìŸk±ÀâãX‘ß„<°@«>9]¯ÎðÕTT„c«Üï *ÇéWýëíÔ‘Ñöåß“©…K`Ä2&êUÃIÅÚüè+½¨ Òý (¢/âkëEù¦³ñÈøìP8ø¯(2à=ß¶0•#a´lÊ:ŸfÌš§ty‰E®^Ú ’’FŽÉÕ]µ·ã úÚ¹À:”¥ã`µÆŒµ:Áe¸:.šDÌÇ´^awM“G¿SAªk5vÖeZÔk镜߬¾ æÙcW¸œ©Êä‡2:=æðÅ ;I•ËQ2ËFgýHûÚ§Ž p.´° eçjšM€ß¾ÄÈ K¡œ>úÝ ÉŽ¿tÃk:ÇJ%ņÑN‰!ô^.À<á.þs^bO¤rÖ*öA¸¡Î²x˜>¼HcAù/#š+rñ§Š$- ³–«Œ$›ÒTMÅ·k:9 ‹Âz³É‰è²u\púiçÔ:ô#4iÙ®tk‹iªòÁr)RHÀüVyÂ^Ys ×ÚÓ¤l 4ÑáÄÏf†þJÔÝ€7bàœŽ>åGä¤Rø¡ÕˆÁ¸ö±õî"Êpd”O ­Oî Ć_"’{²"h"©÷ÞqMõœ–ð¦å&ÔP[%ÊŠˆ>)÷aþ¢e±%ëßß¡hnŸ"k6«XèÖ½5bSóÄÖ«*_h9qN…Ô.xPœo»' 9k:[¦ ÚÚ—!'9íƒ/öÈ'Ém}³)œFìö]׬·áMçgE¸+çUƒ›Ê€T7òU•²Ð–SJÔJÛÃ6x´°Äùe ëG«ò.^}ì Lr@7Â*„z¸F7ý cºC5Û».aw”oe²,oÜÝ|³$õŽÅA3á´¯`Õº(½˜VªÒ©à'Îh·<,Œh÷?)9ÜvŠá:xçKß}ŽÅ«ÛÁ¾¸ï…”§¿k9®³SÒ@3¬ªx2 –~#†/)ï^p05-³Žë¦v,¯ŽöìÚõÓø|¶ñóùÄU¿îQ줇vÐ8"WÊWhå‡ðø‚Æc^ʘr”ýÌ´‘HÍ!wÎI§‘¡0ú ÚUü«j;‡•ÓŸT–´îµt|‡«•Ûó™'‡Éíºð“¢ˆÑ;[ƒ¬kô­SÝÎ\¨~°‰ÀI=\ß‘÷Ü”ëI²aé³\ópmDktt˜…™ÁÇu-[Ö;F†—dÄ×( ¦õ¦ülO,‘>¥bõ£uZ“EíÄÙÍç<Õ»I•^š‘ûÈÉŒ–Ô’)CÙ­¥#BxfvËg e?™@‹´ï”ºúá¼Üš©ß¦\šºcó~•šƒÝ†ìÖ”IŸò éÒªààçO£JÕu|S,.âÙŠIØÍFã±ìdµ™µg;Ø/â»…½ûÐÍHÒºîEר¹‹ÎSF2Õ¡¨~¨@ó¸µ2§÷ðø÷ÿ@ûAõåA¦ZHæD°³¹‡HLwƒºE¡U#øYµáœh÷@±ªHº÷VØ–÷ë9ìÌÃ/†wSÐ;Ç*Jã÷ÿ4 ö\S¹ÇG©²Š™æ]’ñMì=+ÞФ;•äO·êŒÊw¦Nžˆò²´‡µFÒŸßnÉcÚùö¹[£ºVTfôN±Cåt.ÕÕl :6êCJ†zñ¼ÔÅÙ.Üï‘£í¢¯?U! ™r±·ÐBÎ %½ç>Úe!Ø+cD$ìŸ ÁÂßÕiR rITRáÞ01)ªÍX%r(ó±¶°Å£H^ݰ(ï»c¤Ôÿ„„Í+g~ýæß«‹6Å| ,E%Ït£XžýVm1jü˜ìüçrõà?Ÿ&>væ¦ÆÎ”ôê4,~½–†º—æoK‘ãrLnùÁ?ᙜüªMÕýЋI¯Æ¼ôŒ¾EˆõqÔAX÷žxN+U¼;å¶ÎZ)>º×cw°õÃPãÛ(ƒ±ˆž„Ã=O¬§'%Muz/1'©"ÿ^ZÚÜ­4Óí§Wk?= N¾ú¹Ñ†<ýŠs®Ð—VËì•°€Šœ|ú9Ú¡ u )ÜðT²QɸÆܧ:›ä³Í­©Ü»z31q¥tê!KöožöÝú\=ß»üéˆêƱ×:Î¥N†±¾ÄY "_eóv;-ÚgGj›š58 šKè^ådÈÝ"Ã=%—!OcÂxu«,úÎ.&OBAZŽÂ[ ¬u±è– 2Q° …ñΆš°a0UrN¿ã?ûÌö|xÌæ"tG:Evc‹¶lŒh…6mé(ø~ìA£Ñ5³KUm´:z÷aãËp‚N[Å"”ÙðC þ»ÙÿT%»Ÿ endstream endobj 676 0 obj << /Length1 1576 /Length2 8336 /Length3 0 /Length 9363 /Filter /FlateDecode >> stream xÚ¶T”ß- Ò „ÔHƒÀÐÝÝÝ] 1CwwJˆRÒ"Hwƒ4HwI—HwI\ô×ÿï[ëÞ5kͼû©sösösÞ¡~¥¢Î$j5IA!.L¬Ì,|qE5Vn ;3 *5µØÅô§•Z ää †Bøþ î2uy²I˜º<Å)B!9W;+;€•‹•›…ÀÆÂÂûW Ô‰ aê¶(2ä 3*µ8ÔÁÓ leíò´Ì_:sz+//7ãït€¨=È ln (šºXƒìŸV47µ¨CÍÁ Ïÿ” °vqqàÝÝÝ™M홡NVBôŒw°‹5@ ä rrY~(™Úƒþ`ÆŒJ а;ÿaW‡Zº¸›:O;°9âü”á ±9ž¨Ë*”@?‚þ`üÙ+3ëßåþÌþU ùljnµw0…x‚!VK° ,¥ÀìâáÂ0…Xü 4µs†>固™‚íLÍž~ïÜ %ª 0}"ø'=gs'°ƒ‹3³3ØîEà¯2O]–„XˆCííAgÔ_û“;ÌŸÚî üãdm!Pwˆ÷ŸÀ ±°üEÂÂÕ¨ ;º‚d%þ y2¡þc³¹8YXX¸y9 GÈÃÜø«¼†§è·“õ—ù‰¯·Ô`ùDä ¶=ý z;›º.N® _ï;þ‹PYY`s€È Aý§ú“dù~:|'°@ŸåI{¬–_Ÿ¿Ÿ Ÿäe…Øyþþû|Rròb²¯ÿ`ü·OL êðfbg0±q²x98ܼßÿVù›ÿ_Ü[ULÁî埂²K(€÷ O½û‹†ÛŸª ûsbèÿ]A ú$e€îå°p²˜?}±þ?ëÿwÊÿŸìUù¿)ÿ7$åjg÷ÛM÷Ûÿÿq›Úƒí<ÿ xR²«ËÓT(BŸfò¿¡Ú ?&Ydvµÿ_¯¬‹éÓtˆB¬ìþn#ØY ì²P»˜[ÿ!¡¿N᩼R:ƒÝ5&V–ÿñ=Í›¹íÓ}âütV¿] §qúï’’s¨Å¯¹cãä˜:9™z¢²<É‹“àÍú4  ßÊ™!P—§À=_€%Ô õ׉rq€b¿L¿7¨ô7âåMÿA¼ ù߈õI¡@п ;hõ/È ‚ÿŸ*Ùþ >-c÷de!ÿ‚O•¡ÿ‚l Ã¿àÓ†]þŸJ¹ý†ÿi‹¹«“ÓÓuñ[¸O=û ÿ¾›@ 9êü Ôœ?Ħ*¤åºB”ØikDp’zK;…žÉ{Þ©Õõé}ù‡ §KÑw_;±7$é.DÈï½÷k›ު6ÿô¹3NPßjFÃïý¸'ZÝCŠB¤!²ísïè£h ×ûEŽ:ÛÑ•C%÷Ú½[Ú£º§èÛPØÌ–êv9—<Ú]ÑS¬fŒA`ÁuŽYÆ4!¢ )2αæÔÅå$NÖè#¹\ÂkTßýXö|o½U¶77Ó^K%lÎíDTDz„¤p8Cã4Þb;ïåf½ ?Ec50²åÞËeîG¢Îɽ¢3Ú èò¶‘ï@’Ø¿\¢ñ…µn_ø""{Iµˆ× Gok‡êJ{t6Ù«’@“¾b3›?ÃÒ»üâs=íz 7^†6 @bi[nŒzóÂ)•ŽOK/³(Þ—ÑÕC}îcGÛ±U®dO¤SO­˜.¶.ÆîŠÊ¤ð;é…Ül,„o*©Üm˜KéÛÉB&ÑÆÈ§-ÍD8±üöA×13RŠë?Gµò ež­QnÎŽ{êI·&™ŸÄ¼Ò¨ÐYK¾òµ²uäÍÁ!ØGÇO¸ð.½ŠzG\ ]‡©…Üà½ï¤ÙО޽àܹdðX·žhYá¯%•uï€>()Á3s¬Ë®E°ã–Ö7^v/KÆ|z[ŠÐ¬2T”êªc¼[ÙíkÒn‹ >aÔ¨ž&7ëC6YfаD$æºÅ¦³¸%‘Uã… /š¹Ë{` !iWy{Pó:ËÊtdAíâ­À±½t@½?ÉäZ5æË’NcQ$ÜrI0©³¤ÕþéDÍá÷ôHçïüpöV•å-z<$ÕãR“ÎÛ}s©¬âE,• sé릟ŒºØ 0Ô-F#T²ë¾•ýÙše@¼Üg-×ÛVßÉZUöi Î£Ñ ~§Q‚^Ÿ ÉKá–¦íÎ zÑîóß&xGI÷_ DÝ` ºÍ3 }EçÅÃé»Ãñi@Š6ÇJ56”{¹B8ø¦µF…5ûdÎ|šQË©ÅÓÑ Ã =óÇ*öm™Nd»/Ö¢yF:D/¸[ÕBÄ€®xÏݯuدü´´¢+MÁFWÖàÝÓšŽ/ äü…ú;y¬mdÓ¢²mòù¸ª¬'?ᗃ̚µ.à§ÀjkGµ½~yƒC›p1¼”´ÄˆõŸ31ÐFvKä89‹+­¼à¸ã­¤eJ#FÅéßÌOþ\¨ efÊ‘X%B&ÂŒäi–[ž×3›«ö—žò P¦i>„ ýÚ£Û»!¸ŠÝ{7+º‹î‰Ô@ú¦e$e¿)˜wBx{{Sf;Ä|yôsKâK!ᇈŽ`À8»ùióãOÕ`Ͳ-E絕ÔLv³9®»W+SÃã;Z¸<†„U-Bµ/ëì?³/ôh¸ÂǪnb÷ì†=Ê*V°@5Jmíà­„mp}鬡{g-›·êOfjh±Ô)Pöœ·tì¢è".Zð!¯ñ2ÓµQgDP z6eR€ô}9£Lëfúe¾ .PȫΌ{>óžÖæ»,"c$x ºÃñs|£³yarˆí#½ˆvi­’fñF(5ÿ@ÔÙBbèkAIú"z•äyý<+A»†õ%˜³›>÷–º‰ø‰vªÚSž ÷ z@: ø'kºœŸÉ‰‚ÜOƒV¨Ÿ¸¼õÁ’_jÓ‡‰øU{‡©i•s¥Þøù Qø’@ì×û¬¢y÷ÏýD{Ý‚a€=£ŠÉ €TBC# žB›<ïØæ¬š¤¹0'@>m¾¹ÿ±öF‡´•(pÝêQ·…©ó(ž–Õ x®£°AÑ.ô9e)(ê¯CRtç4Örü˜ÔJ~c%XþjcÖ¤6ÞspPsB=r$W)>Õµt*ë«Ð©®ßVzk-Ÿ¶²ó¶ƒN¡›ô0i·4:7‹¹ „‚€›%Ë.ÙFk4¢i¢ $û“Ñc C‰Û¿ë›VŠÇÌ¥†¤øÐ™À~§%%ÌJ¨-¼hD]Sm*ù@øë¨À‹¯þwúd‰ùšAc;¨ ûÝ™;û¸Föšæ›4.ü¤ÿ`¿ìwreÇ Ýàwó¥‹&¡h×üãiv/?¤rçs³) jÐÈûSùŒÍÒ25Ï Á|P«„ºð`£ƒ_Ù8 ¼Þ¬ÿ ß$P™ÙöRuuŽ¥ó–$ÕŸxÒï×b Ô1<Öo³úB=öö[4Eä)`Áïy”ÝÈ·R/Ü”¾ŸÎæ­G’ˆ[É‚=ž¨>0zÊD¯Wˆ6ÄA¹iÆ”™B®¾)𼋼ÖkŸyUSp2ŸîðÈð•F/uG¹é4:WLr?û°ckºÝ `Öq‰¨«3ÄUtŠ¢íRÇ‚üHלyìê[ᾉŽR¤ÇëY0D‘ª œÍGÞáÉÏD„nß4ÃUøq‚ ’oÐ<™·:žaMY¾ÔÊ›~‰Ø°ÊZ€ ”;O½F–¥àãÍâ€j1M%’Fñ†¡G9Žå‡h¡ðm}Pg‡R†*±íjñn˜Nr€]Ó¥®§pÆjáà|›bÑ‘ÓÆ‚Q¹,(‚‰ .°>YX¸Fëy¬]±´>Eư8?U»N!b‘ Â>]­êD>jâg]زFñY»åèMÃyšùD8¯l3¼òdî•>P<áÊGY˜êU:·¶¼ÞÑ›ña)Ó.ͳ_bÌ-¢‰çUs{®%ÛDôÖ‹=3OþW,0ž²}Ú‹˜j ±˜½SœXÑWÁÆ—Ó3mëlîƒp¸ª3Ò7/ Ÿa{±„^4gÒT½OÒ ñ+™h×µX$R’Iª@qCOq¢-ÕÄ£ÎÁyM’Ô±Õ©ßóe'Z"ži ¢É*]—¥€v5ÚÿYjñ^Ix·ï+­¹0©1\þ´ú¹»ÿ°—ͰNDØŠAŸü0øEý$º 1ÜÔrœb[ªY#¢WH߇NÂjbkJSd> Ë£"äuÊ×wÛaÒïU˜/>¯à$„'™Ã—•Ö!žÃ!‹ÖuO'£ª½È Nóëçm WoVl¯lºøÎ²€±ƒ€ 'ƒ—Œ×?.ðRZY“ÃÆ¢´¥Ú‚ç«É–ʸ£¾˜}/Y¥.¹_)‡;ùê›UqQO©Zg¥ãû—MäÝ1G!ÂÓS³Skϼ¡kdëÈ|‹öá4(s)¡c®»e诌…3;ÌÝtQ†ýl"ÁËÙäù}Ÿ"fp H O4}RÏ…ÄJƒ±Ô%ƒÝW‚¿!PÙ<.kÒ²x>lJ tåØÅ"Ú˜ä’âcèxhÔ¡5_ÙÝuÀÃ>ê /ñè”é†aÝ?xÃİNž›~Òýìª.ñãÜ}§OåÓqÃþsý½§àÊyk\Îô›Þ[Ie8ĦȯVk°²„?0-c~œéŒ³­—yëlkV«öAÄtî• ÂªæaÅ ¦´gëÏÕÑ#XΕ>Ž#Š ×6®*ù=¤“$®µèULXÛ¹ðiAãÖp°4Ó.Œ²0ß(xì Œ*8øµ®ÒÀœ40uU¾$-žÝo——Ä­ÚÈhÇ¢¨~‡©2HF€E7[{Ÿr‹ç|øj û|½=XUálÁbV¢)\b ‚°˜èñíž&r0B-;´æ"Ìód˜Œ=:À‰–(E-<Êž,ì#åùt”‚Ú*ðSA8ªMóRíQÈí šCWzœÇʺG±z¬½;æˆÍAá?ã4–um-4©[ȳ¾ÆPï §€Í¸ŠU÷ù9æ°m°¨b'Jå\`üª-vès^…ä¯wÛ¢o²êE/åÜ.wíÕTÆÓoÔ½€½›Tî=É’±EQxºkvÒ0½{×¹©É~ëÖ±Ñß«¾h•ÉëOkjò_©p±¢l4æE¹}_¨çHB"os p•§C‚X{‚°.ÒpÍdsMŽrÄ)ú…r7®³„2Þão «_žqÒâ§:kÈ3Ò´ÒØ!)“¶Ã'ÈV&ç6ÎŇ#Ö›ÄÔ Êª.ñÈDjºh—)ß µ5ð$W]I¬U8 Ô’)ó¨ýÖ)ôD#?ÛS>>ÊûÜ¥÷²éMšQßy»>šÉ ˜Ll!áz´ÁL¦AVØ›¸GåØ/ù¼wñ'c&½¿é$íaLOdÐ>/º©žáëã]JTûe"²‹Eë³»Ô/¶ê{Ìé›^²0@Á÷ÍF¦N^uM0Þ“Ýses%LAĺWÚñ;“z_“T ^©ÕÞ#Ù´d­bU%²FÍ‚JKÌÊ‚'}³’ ÍRaq²Î÷ÛB®%•X8+È öŒŠ8þ’’ÛJÆG;OX1>B%Ø8[»dHA¿¶¼oÄiÎÜÙë«ò+j“—oæF\®²þfÍ©ÔÀÌt£6}'G€p@ÑÎR̈˜"Q¢ægFsz–͈×Y=/z#WΉrÒü^¬–§ž ‚‡¿nyH˜Ô8ªº[:¼o•*úÖpSDI'+B ç;Ö)x(FöÊäî„þ ¯Íò1Pµÿäy†iYSáýÈÌŸ´_8,­{fÌ2(ž^>‚á¹-LÞ«N‰1^ ®Ë“çÞû(c3ªÛC–CWuz›k'NþºSË–ïn˜‰;­!©#›_7£ïPìÒ„¿*"½þÚÄ~­ÐMØÔ!uó²¯@­\ɯzß”-F¥sï·‹@‰ªh†«"zx-EÈÃ|½CÃj.F™Nð*jQL±òü¡w}Þà~6œoAšr[#ᘴ¾‡x§˜‡[4¥º/g†5’Vf¤‘>Yû¼ËÆòt ´¬KuQÐJËz¨@ 0„É­O·K-ªbºœŒÎ̘øNä‘ó“@¦í%#Bi'aýÇ:ºÝ,}Uí@ÙÂ/¢ö5ÀjÓŸlS‰& a†£v·ìoô&*.'œ<šÇËbgøa•º¬¼]˜YÓ·nþ˜>>öÅËU7·£Öç"ËE—¼W—z€ )4 qlšˆìäÏ|1a¼! {uÞ©Ñ¢-ˆêöÚÕÛɆœÑ÷N’nó[”·t$ Ö'9º5Úí4°ätêšxS[Iå"ý’o9Ä"Nû?¿Nñ´Í³$ê_`:ðË,w|¥úâÈÅ‘'H¥¹ÝõíBnÉsx·<±À˜º?ÄüùðlÚU4))¸7…þ:#h:£ [Æã©‚Ð1|{‚Iå°‰€fÝÔëš÷–ò|©9Å–œ‹e§8µn8/OÕh×ë(Q±‘„Ö›)Ž„J_ká2â΋• ¼‘ ¯wÿH\ÆŠ¬Ñl‚ªV<“*DRF:8Óç~vkm»žrw\¥ŽîhØœ´6ŒcÂÛ_'zN® B\LÉ<²lºÛ”ûÁüUìøœc–¢YêdžüŒ2‡³»DEŠƒ{8u9\GÂSû$튔"”ãs z¡^*x¢EÈðaY[½†u5ÞN¡°º£°3Ü.Å£wÕÞ!“vökÊILÄ+{ýY²X#Ôéሠê»05ÃËW2"Îr£_†Å»/¿·Ásä{xëšs#9åz!;N67³ð‚\>ìõ(ì`$±-¬0¤ó#˜=ñ\aÈåÛP¬Fæ1m›Í³P“y À£—îØÃÊ÷ûoå»WðøfÛ Ìú¨’Nߥ¬Aù;Ý%24»RsQh«ïM*•È×a˜ãÅÛSž-^ê…¡½3’G9_íVÏ”OÅ@!•,\þ´®4KÚ©Ø-¤­jï†ÕR0©}K”+ NÇ´Q³?š"±¦ùº­(e3ôNuŠ®G3½úŽZí¸½ï½óÑcT7d*ͼŸ9Ò¾îúÄfò{LTSûŠç.ÖÆOÉVü{b©dp¥f.ÅðõEÉøŒ÷Û!ÑMÅw˜ŒƒDÚI“í”0ʃȗtÄš8ÐÁÒQãÆRVÜ›¶µõŽÂ 0D†%ç ¬B¨cír#Qûj’"½âÛ®LɰÎ\]ÒŽˆÇôÇXóZÝð‹ß-Ž ·Î¤„£ìÍ—Y»»³-3CÚy¾³Lzˆw=~>°[XÓHûCDÈl4–(t¤Áèó[ó$TMwêGâsRdçI†Ø2¢6½£_£G+‰-S]/2ìUzâ³Dls°ÙRu;–º4 ‡2ºTNøP[+ð'Ÿp¬î¡<£¬øJ{­Í¶1pÛ,=óYQ³<ÄNYÌx7=¡ oK+¬ÉLæVÕ W ÈË-!>Er™uY,åðÓþy´óY¸eŸÜdž¸zò—ì¦7˜òý,I u\ªâXt&¸ö‚ÑiC] Em«A³¤ýˆ’ù+m‹U“ oŒ‘kaÒâPDK¢–wqn.E÷8CŽöuÔâÝy\H[¾ý6W½È:súpUä¨xL5båýú ›s…°‹ž<çSÝ€äüVº}q'jãlf‚À2•teÙϧL›+b"éÞõcN}Žz¶Íñeæ¶:رè¼u»+Ã\½@”ìb^z_zÒ¡{'VÝ· 8ÎaJЯ"E🻱>üŠ«>Æ|,”€OßÍ=¯{À*‡›• \Õþî”ÿ¬ßC5–ô}¬àd:Výë­Î5nJÐÆèÈIùw®õk\7U4ß]Û›P—¯±¿(Ö¸Íè£è÷ƒÃç÷¨×{³Vâ¥ç¯õ1¿ðwKX®¥äp÷•ŽŠ;ð~™ªÜƾ™Õ ô5czh/!t¦ìî,l!”§ÅȦå+%GTwÐWÓìò×(yR¶QH™×ÃzŽ@”·?p¤úú¦h:)wÍÛécpÌ÷8UÚ   cÎþƒ-XÄSÁØ(Ž|!€!‰9XýëP¤ÉkU»½BgÇQª¬óãŠ!jÚSi‰wå÷ŒóBv÷Vþ/ÑÜ4¹D†´·o+É…K<+Ç 'H®hÉ æd—sò ™Ÿ8'%&B½KNNv£z;Ì*ü(´PúQliÛ93>οá¡Jä=yaCͬÅöýæôñ%]±0$-7“÷½ÌM'~]ßÃinÁ5þ&—âAÊ[p~¤×¢‡nò€Ê³Ã¢Fn®-é¾× 96]ÖËÚ,µQñAñ†”ØqC¿5´ík•λÊ÷å_Üû7ù”WCƒßº6ÜÓ³pN=k]] xItÛÂ5}CÇEé#ÕSœÑ!v†®Ã„Ʊ„]±jY•d”üºF.^Kµ½Ÿ:ïvÌyQÚ–w S…ÃÒ§‹ ޶y×ô.IHí‚ ò£|6­¥¡nup=âV”3WMÃØ€M©éÓö #(‡Ÿç=[+Ô±{f(ðp•qPV@URNrÏŠäTˆ +ïV6k'f2Útùø9úÁ½=Ä|cØ$ÍmoœP01 OõâÈobCî(Sü3E>MÌU¤]+\\•žÁ­§–8½+[VùP¦ZæAÕÕJQÊǹm×tÂÀè! Ïªå·Æ uì’æ]ïšnyÎq=Ê_˜3† ›Â!=Š÷ö«ý8¾ô&î]Î8PS=W+d¢ l¹E¼°q-ú¾ò1‘v´ÎêÃÖa‰êðýjäĘüáô“–äW;4Š!+§“A«£ÊûÉz:ÿå ‹ÕWzó ’òàr$„3سZ{q 1>™0²4ß@Åe«"GfœÅ=bÁ5´8 É`VÔß17Ë-Hnæ'F° ápúYHædcç¨`ÁU*wë›Èšf<…tKGK£Ë‡^«”¨$ÏY…!ÁWêÄ/S—hž§Ê9×ÞÉ‘o݆UÙ&ŽfTmO¨bðÊïì`ž‹’’&çhgxÎG"³ìâw·ŠQA4v§Äöcÿº4›Z«»"¢òýø¬í¢&='Ç<•µëOô‚OJÈY€œÍcA¨(k«zÝ{va/3¢3lLOîæo?’ˆQÅìdû×gÓÈ®[C~:ÔeQ,LJ¿d.*_Øi®=x¸äâL½5š¥š6<šæ©·Ú9SO¾ªÌ‹ãâI´$ åX Íl1ʬæäfWŸpeÀÖXá~ëš)¤£é<'êñBnÚ’x‡{róÇ{ˆÞ#Yê¸â¼‡}{³a=Üëg9£Ô}Äî52y¤!ÕM²Áë ÓÎ1Ú\+{ÖÒxéé¼\YØá¼Õi@w ÌQ7 Ÿ·:°Z}8Çáá&ÆÛ&—qäS/Ô˜±‰C•o:c¼ðúðÓîõÿsYн¸Ìæå7ã–/ö¾šÍ±èqë¨á—/œ¶½Î`5>F”ëÐÜ€“YÔ$Ím$š¾˜±Í)6ò= àâõcÔiŠì x¯cÜ•±4ÐZ)…%¥Ä^©8gÀÇÅséÅý Af  2X¦úèÚ¤Œ¾:s•޳øi!ŽCƒâûì¥MÕ`äØ2$OÓ…Å‘DˆÒàŸ¿—&Wa:çGÞdÆÎ*w)£Y^?¿½3Q—ÚÅŸn"+t@êHþÛ/¸vÅŸäÊŸ»“n‘ÐyÏÅ0ý¿l/Üih¡Š®ù×mÇÖOÂaW¾çÕ”tkÁRv¾…ZÊhˆ=Bm:ðÔ×,4°ÃÖ›úMÚKW*¶JD¥U‚: Úƒ\ÄÎç›EUÏ8.‘6 ôâãªy%óy÷f¡#ðtóôLÆ!³‰Ooݰ•4N¬Ó¤©ÊËecK†~ƒx ŒÎc\o ‚¯¢Kö¶z®…þEÔ endstream endobj 678 0 obj << /Length1 1379 /Length2 5950 /Length3 0 /Length 6890 /Filter /FlateDecode >> stream xÚVT쿦[ZRp€”Ôè–é0`Äl4H*!H§ˆH—¤t#%)HwÒJøӯî÷¿÷œ{ÏÎÙÞ÷—ïóþžç=ceÒÖ㑳…Yƒ•`P?/PðXSW ò¬¬ú„3ø+«!ØA%þ›ÿ±;„@Ù@T˜& Pópð øE$øE%€@€(þW Ì] ò„Ø4yj0(NÀúæêã±w@ ºüµpØpøÅÅE¹§ä\Àî  B8€]Pm@Î=˜ ŒðùW )ÂU‚ÏËË‹äç…¹Û?âäxA]0ìî ¶ü‚ xrÿÆKÀ Ðw€Àÿ0ëÁì^ w0ep†Ø€¡pT‚Ôì@õè©j´\ÁÐ?‚5þàüy5~^þ¿Ëý™ý«ú;dcsqA} P{€Ä ÐRÒàEx#¸ ¨í¯@3†Êy‚ Î kTÀJr: ߟèà6îWœqþ…ïWÔ%+BmÃ\\ÀPœà×ù î`Ô­ûðý«æõûcmÚÚý‚`ëáÊg…¸y€UþŒ@™þ±Ùƒa (*&»ÀÞ6|¿Šëû¸‚;ù™Qçðs…¹ìPÀ;0ê‡Àòîà¿ÿîø÷Ž€Ÿ` ±A¬Áö(Á?ÕQf°Ý{ÔäÝ!ÞS Šxüà¯Ïß+s·laPgŸÂ—O[ËÈÀð1×oÀ»äåaÞ?~ €G@ˆâ*P ŠZü»ÊßøÿÂþÛª ‚üy6à?U¡v0€øPw÷ Ï?9Áñ§\8ÿîð†â1ÀñíÍ€Â@Ôÿÿ›ü¿Sþ7ÎÿªòÐþ?Ï£äáìüÛËñËý?¼ ˆ³ÏŸ~‹=(EhÂPº€þg¨øk‚m!.ÿéUE€PʃÚ;ÿ}‰¸Äl« AØ8üA ¿f€*ï ‚µapȯg€ð?|(­Ù8¡ž8jR¿]`””þÝRj³ý¥9aÈÝäC€^( J àì`î¿æ)$àC=V¿Œÿ*lãáîŽÛïÁ£ºþµÿ­l0ØlC0;³‘ s¬k¹¨”£÷âÙ‘þºa”ÆÉã7ëÞê$ÆMæ¬È Yv?“KþÔEº°®Èq*;wÿÚo·ñnxS¢Nó•ÿOËxݱf‚™ÏT½£y»r5= ø÷xôe7ý¯Ýü ƒ0ÑÛÕX³Ý<Ĉµs(.¼º•½kzJæ‡^LmèlVˆ¨þ,ç‰1ˆ6 .œ`}gýf’†ÁÀ÷ü‡7ÉÄéÙò·£·÷Õâ¹öbóýLV^]Nú.–é À;hКÐ0`ž’±ùÉo¥¨QOûå/ôÎx7Jåß{‡;u‡”wKàuD÷%´þc•çÐlÿ×ìd@;}/Å×ĪâzJKwf­»Í–/)U‚N`†­6;ù9*3Ý)&Þ„Ó¬üÝÒOm˜¬qº=qÑ|¯¾Ç¹ð½x›#7yU"89O³ã_^è’ïýÆ7à BwêMöä ߥ3t×ÖJŸ£mö—à é¶–LJžޒ„y9n*ÉW49›_U[X ²öR…$Y[=Á_¡Õkïu¤P¾˜ÔÑ´½ªv¸>}Ìó¥—À„ç“Cì©Z¦aütMBÿ±¡1¬èpÁb¾„Äç­}f*îhÔcúX³µšPÁ±(áS®Ü.vÌÁVå;B÷_óÜÄ–´·t‰Å¹pÍêltœõ.µÒæÝlHvM//‘/©>ªX;ÚZ6î|sgÆ"àA½¹ø73ž‡Î¡:ÏÍüƒ}Š‘Á©èm@–MÂFž´KË9RC÷µ†ZˆBÛ×,ªù§’kêíšv2”.Yø’ëï1,Ì1ìoYJê_?qצ¨£©@Xñ3Ç>÷ ³žâ«„W™ý@Bœòh›e‘è?Xµ>U–™ÞÈlažíz ¿Œ®4uQ^[L%w»&ö ãÖfÒ¼?bÎùt'x«&f{ñæŒ>3Ã¥;W_âÓnnß'—Éò …PNZ‰¶&ܨOsD¨ ‡¹ê®:ãè]MRÛ¼ON…œ/Ûd×Û«íô*b„_?C¿y"z°!¹=ω¯}>Ã?\ÖjªÚ–RíýLãÚËLŸêî¾øŽ>Ë—i$uí½bn[wP 'z]¦/ôÁJ§ ãuñe±žðËš#{j‡Üä åöóÒ#¦O´ì$ngQrO0ÜpÛÅðG àª®†Ûp"]'×ÞÙîáÙ=cCy¬ØñmÔ_ŸÞKû¼N+•4¼7qÕ­¸ÛÈðÆuÅ.‡[qÞ·žD‹±Ä×ÞúzæY¬{4,oÌX^XÆ8 ÁL½ÃŒID“3I=-ybF/†·çËçÔÑœˆ^tÂýG:8n·Ó}.*PSsj8';ã%ó;#ޝ×/ÌÌ›(’ ]ñ…RÀo+Ý-oº0 ;?nƒT†SèâøûYï8¢g%L‚|ó‘Ö|¬.$ÛŠ™ãÁºÀ€Öâ®kc}h‘*0ûÒ Æs¤qq£z_Æè ”Þ»é$ó´Lý±ûk£@ì¶ÊîkÃÁñm±ÀcK"CUׯ÷—Çù^g+¨Ukõ¹‚‚Þà VHæ©©ö° W>’x[oÆ®¹X "Ö‰„¸æ¦^%ó$äzhбnÑÊE„±<"««@»,Êï´´áý´qî´ÕkŒi𘦚_ÍwkžŸR‹ä³gùb†I‡F‹&s7x’º:xEQ'Ja~ óÅ_¸{÷<ÃY„öþnY/•ycź¥þâ®vY¼ž‹º&Rìæ'‰ŠÀçä¯øË²gd0â÷?²æÑê_5 G“š21º#\.‰Ô˜j"†£çN£§Dßh3o§uŽ»<öÏxßHLj“i@þôÉ.ïÓ ÖºK…1rø0:e ‰ÄçÑê8޲{Ýk-ÕtºÐ­ý³ dôhLæ„›œ&¤‰ÕU6bNL‰D­;0ûˆÆ¥â¹ÞZS'î ]sî{註<»´üÄ|r¡ÁKƱT %Wש~­ ;úi'%|F7,³bÐjú‚ÈY×êd«,±ùüÆuÝäKøäݺĦ‘èf….‡–—è`úU§±Ô r|<Ø»ÔÕE¦Õ‡àðøœ–+Zú’ÒeÁ×ÜÄ’|sûKh$£,^ó¹»w.)ÍJˆw–û„z)Ùuö†ù]ú¾ßqõ »“É™ÔÁPaqj‘WZ¿ÝWA@þ³¬ûUñJ®¬¼|û6ûÇSé~«L_G‚ã#_S&¯~¹2Î É×”ßÝj%\È ]çy힬¾·‘nÉ÷?œhÌ.pk¤¡FO9ký¸–TeñÉkmdGýi=m³"€ôÍŽÜc&®+›-ï}‰§!A‘[üR¹ºÈÙÀ²â²—ââD ¤Á²aE[²v3¾ ×î®9ŸòÜ-ºyƒ{k®šm¦¯¿­³tBQ¿®Õ7¢ã¬<ßú÷—ðD~…êâs^Ǥ(\1sÜF²1wDÒ¤†Ýv<Í[}ïÚœ")RUœ2MÊlâTæ)í‚rVëiÖî9‰^Í3*Wa)ÅãâÂ<&É0<}µÜäóÐtÂÇóÝqgôÇž ‘³¤ÆœWy+rÛ©Ÿl*Á"¾M!•¤¥ûŒ¼FUe‚‹Šç¼?¦'cËw.Tì(|´hz)‡¨^ÝŽB¨ùpº ôÝX/¿Bå8 œu'c1˯-V«B®Ê)+ÆÛNøæm‡eÔQ‘Èï ù¯ܺú0æóZ;1{%¾“|$Ò.ƒØYÔ,*`ûTuêYT˜ÕyÅpw†綬æÛßi?b¿Y"°é^Óa²y52ׂÃAY^7óõ¶¿±¥þ®´L:çºo áœÏ½ž{”æŽ jÆže܆z¸ð1Sbõ™étÀ;_›; Íóü²çÏú'©ß@#,lW¸ÍΨøYefùéSÃ,’UÖ©›&µr­d ž¹4¦ùÿ°÷èκŠjD¸ž6™<ó¼ÛR`w“áu¯e¬~˜&^Ð8ŸÛÉ‘¶°lÚ°[Gƒ±cÞ×ù§p!M pqît—sD<Òù¾À 5Ǧù£tîªÙ=7w`yš» ‚íáï¿Æ|´,ŸG»q}í âmZêÒëc­‰40›ìqd/”±ºB·+›W?` ²×å.à&úRÊvþ2‘¼É!Î)éÐWd•3›7«…>XJ¯.àQöܧûúÇ…M÷ìcÓn½À6陽°´¼ß1ø™k˜ŠËÄpwéõÈcì™L•ó©]s`Jõíî©ÕàEïD楕©Q{U1'Ë”½‘Û=·]з ;¶Ÿ¼‹kO÷m»€0EæÀ‰ÇIægpÊáMïÝš$KJ|`Ö9äЭVD,<$¥0úy»f&©’f˜Ͷ®Ž·&É}‚5K9®`fÕÝ)ñÂaõeÃVM—ª£p~¶U\<ä©‘ÉÚ›ž» ø[ À¡0ÝE\Óñ¯il;}¹ÂÅ qò]Ú›¹|¼éñùÂPmí$®KÀÁœ3=‡©7Ú ¡Î"m&;ÉÎ)ÌùECÃvéŠ^*5ǰu¢šF‚(|«ç¹7þœd$Úlpq¼F²Púç8ʲ»}—Û‹¤tëÅÍbn©½¹“O©Ü.eôøÚ 2´æhÜž«Ù÷:³l$Оf¦M}‘øü'M¼àò0ã½úüÆsQž§f—Rl"õ[:nÁÀg6Ú2çÎ  ïˆzøÙÉ õÞ_lO½Íñ[®v<ˆÕIjœt†Ö’ZwlZV)“":6œÑ{mÝq>Ò4\ø6‘‚s²Ty(úîQªÜ¥SÉl™Ý;øPëLœ[§neÇî•+y}Ì_o´f"êwævK}bHžçÇÉ=k?›!½ 8yÒ¿HEQ£«õ#HŽp-×תܪXlú~F¨iˆñæ–·U5©±úýqÉòìx¿ö£ÄÚn-Ú«ÏËuTª}ì®ÇÙÔ…)²`íÁáôñ·‹ZynZàI+3ÝMïóZWnÛÌ¥×}áûkŒž¦ão[ "Ø&gÔ[[\¥WªóT¶Hò[-³†Ë«µ?d‹ ¯Œš]×kîŸêš`‹vÄ‹šÖ¹wÒä rvfN(M#ÌLÍÇÈö*ÝÜ.ZóîÏ)Ë)F b®wiLè ñ<£«2ÝA~!.veÑ6CG‘4N´²bÌÏÜfRØØÞþx)ê.?Êëð‚>§}¯NËyÝÓ»ñ¸ÀX œÚJÏÇ¢b?n?sU’ÿá:ðÁóZpE+^ð|Œ“KݧƇ¹PÝx>ø7x/hêUǾæÈ†&žÝçƒ]•hL¹·gµ©] ŸÙÄKöcÃê:^GöKÚàÒ¤ÝÞ<”zÝøµð¨i} Cÿð @Ï >iò dí?ex@r’ùHF¬W°yý½ªc›hÝ}r.òo¸Ö«Ê+k½É5ôÑ é½áð—c ÌD¤ÏËx<œØ³SC[’ÄWFœŠCø³¹ä‘Pœãس#_‹RWnTT„&fä[i¿¸œ©¦æ>k'pöbP…¾?†Ç© Ê›žÞÙ¨ÞWÐÐÌ^íerƒÌù¾·åZ lEmþî*”¹M¨ùýÜÇ] s^sýPêxÁ“Rß0û…›kѹjÃs4c¿.ñ½™NIœïs™:w‡’©GNÚT™¥VË/ËpÙFÉ„˜%¯F¾ßO®þæ7Ð÷”÷ª × ]ÚòÅîDµ`uÕú›Øfì(¯ÙÈ à C¿e¾vê Bnã%PŒVÃ3Q¡¬VòèÕñšõûY·¾“Î×n X;–có(Ú—;]œlRßhƒÝPp!÷FãÃë¨Â¢ª&ºØóâ šF:2U£zÿÛKJ÷*ïÐSPBK{ «ïÇižZìw„½lšÎÍ9U?i$Ñ,Ä¿…0:ïs’6PÇ•„ÍÞ¿ïoS¡<[ôàŽ®9õ»=¾rVæM+a@²p󷜡â9’î£ÒŽØ¯‹Ÿš·¹h©r‚÷Ò„Yófù¤‡Ð;*0”Áx'¯–ŠäÂ{ëêšåÉ€¦Ì·¶u~_§÷åŸ/g˜>êêC|S6}rÒr¼æ:¸!À*ý²ÌñÅ2uþÁøZœ-CfŠ7¾âæÇsJµ]éÀľž¯‰ÃíåJU32l)Þ®ßênœkGàâ;|µë!Î1€vxí¨* [㧉')ïK xN¢ê6ÿz áz0TÁhذ Æó^¸øÔ¶s<ÒZà:MRPS+S<ÇŽŸ»ƒsåœmÑÁ»ÉI4ZN“ЕŠêƒÐ•—û@ˆœêòÐÇ&q"‹ e{®î"<ýOsòGùÜr§êØamJºú;Y#Ýâ€ÃܯhïôŽª¶4ý6šË¶±TR6|Ǩ ò¡ÖUWî÷§Q€»\2é³g¸,Î,M›Bˆú5ºo¡>úƒ¢ØÚV¡é£¬ ä}½‰±lŒ ~R:2˜¸¹oêD;Óí4™§‹¼U ód zÏËK#C\F†yÐꌖͪSØ"¥Ð½N0½9îÊ뱜V3xšÏ²)K"ü¨8|ÍÆm«‰Œ$»½S?<ì1Çf{¹%Lü®â‹˜qÚ¤®Q僷ë“Âô÷¡²® B;›Z`²¤Ýê´¶…Ž ¿ˆë/8•A „!uô—v‚Ûh&'A]ÝWS^?¼ é,e¢Ìé„×?v‰³5ŠŠ<m²ÄØqAÖh©#tžvÏïa!½M2&O×ð›LÄÆžÝ Æ´ÿÐÛÜ–ø§»5ÏC~<"ÜFßñðÀ‰$ÕˬPïŸ|â\–ÍM–=u…pP,„ë<õ2?©Ã«ü~Ütÿ(o%€¶Ô¼Ç2ÙyȤˆó’ia¼A‘8X<µ¡cS»iIÙþ0/¼Ç 7û³6¿ßç` :Jhvä«É,¥9?kýÖ¡;œkûÙ›rGÊžNýÆúópÙM§»n|«Ò“*>=»Ö§þ+NDz;”ëšøÕkÉJc•„÷x©è¨b3ð¯Nø{ã§f!ÃW‹”q.¹ÍX çj,!ûòg+»ÔÚ¢TWŸ=—uªA–†| &LžÔŸ¡•Kç‰pI‹䜕;7èEÝß¿$8å8‹î+Æã¢«RØ~>.¸¤døu¨“3b¡Íd6‹ž$6]Š“3NÝæø4IСØ@ݪ$R¾£IÁ<7G¡º×]QfrZàÅ@¹_ô}f0‡,áÇîöؘ€kÊî€3àE´å8²N §aNjğq$­TT¤ï^>ïfñ?nÍ=•åÆ ßI£'’–- ¿J7ÍVŠÔ×Íc‡WZ*âO=Š‹§¹ÛU1‘–ûvøj0¢ìhëÚ#è˜ý‰¡‡Çá .+@iãéÊáØÃWÜÇ,œÞ𦹀)«Àªõ›&)LXR~Ïu¹ÂÏyÈÐ8^| ¨;< WÍ£¸gL<Ò!ÅžeøA£ ´Í;§_Â’W\Ã)%;vñÏvºÙW½ÝÍ8Á'SöSÊ]—€"gjíäÐÛèTA„VITýœÚLÓíµÖ±ž»svígé!ÅÞ†ëõZJ~¶Ì‡„ëg ãB¿ö[*òj•ê*m}yB•.‚OžF™f;±˜[ üôHnY7µ7ø¿ÓDuË endstream endobj 680 0 obj << /Length1 1393 /Length2 6165 /Length3 0 /Length 7106 /Filter /FlateDecode >> stream xÚVTì»G@bt·LBém¤ tw*!5Æ€Û`Œ%(%R"HJ+¢4Hƒ€HIH§„’* Í~u¿ÿ½çÜ{vÎö>ýüÞç÷¼güWLE•Ñp 4 + ËUõMd€`°„,àç7C`Ýáhüwà/%÷ßìª8‹×©A±x7}4 ¨ãí„H!Òr90(ËþåˆÆÈÕ >G ¾P‚{øUÑþ„³ _å¯#P&„ÈÊʈü*#á ŠêC±.p$¾" ê4EÃp¬ÿ¿RÜrÁb=ä@ ___1(ÒK qVú"°.@¸ãwþ‚ 4€"Έøf.¯?Ô¦h'¬/âîå…ðF9Â1@|m ©¶ÐÐŽúÃYïàŸW„ˆAþN÷gô¯DÔï`( †Fz@Qþ”3Ð ájè‰aý°"@(Êñ—#ÔÝ ‡ú@îP¼ÃïÆ¡@ ec ïOt^0 Âë%æ…pÿ…ô+ þ’ÕQŽªh$ŽÂz~õ§†ÀÀaø[÷ý« í‹ÂýqvB ~ApôöÝF!<½áÚjzàU€tÎp,P ËÈ‚pO Üæú•ÜÌßþÛù¥Æ÷„ó@{ðàA'8þ€ó‚úÀXŒ7<÷ß ÿ–ÐÃàÎàŸìx5Üé?y ÂxŒ'þõùûdƒç–#åîÿûïá‚,-Ì u„þÛ¤¢‚öâDÅe€¢âR` ".”Á‚þåoüaÿ­5‚"þì üOFm”(ûüÝýÃçONü¹.‚ÀW0@ãy  üC{k°†ÿ‚ü¿Éÿ;äãü¯,ÿíÿ³ ow÷ßV_æÿa…"îþÚñ,öÆâ7Bß ÔºšÃÿXb}¸#ÂùŸVm,¿Ê(g÷¿/á¥ðƒ;!°0—?ô× ðéÝ(¸Ú ñ뙊BÀàÿ°áw æ†J¼ð“úm‚ãWéß%ÕQ0´ã¯—’B1¨??x¼$ÄAðËé÷ûÍk H …ÆâC€xxA@'4ðkžÒR@ò/ÕoIRÂ?]¿å•yc0øÕûM|É¿÷÷ƒÃ“ãhØÍû®oî¿=¬Pæð]á_1"(Š›Ä4yS“¦¾Ê ›Ç(§ô¶ÓÎ,« ì+MqŸá6ê«H#’ŒOOíM†WCÌïŸo(Wvq‘sŠš)­žyÞ¹çFT©E‡?ÇÓûµQáo§¦_eWéô‡ˆñãÕWÒº§¥EÝŽµ¾W4ÊŸëðlŒ•‡+ÊE&D¿ëG3º0BŸ=xÁ­“( Ú|$Q€³Z; ˜}a&îÕÊÆÇfÅÊE´OÿaøNe=U‡å®¸`.ÔÚ»0Zb¦•ÀF3x|‰\æ–?"ñÆkÅ¢««Î‹?7[(êúP"šQåS©ÏWÏDÊBÊ=¥V×NÁûÙ=!´Û¸q®Rúš7<-§ÏeT«Ò™–¤£Cux¯²ËËï_OæÞÅ<œòáV˜âÖÜcK-¿¢â6¦Ò Ö¯ îr!¯på" dñ\E”´etC¥(»òOÉ“Dtl˪p°‹ìÚ„ÙæÖXXØ? q¯Žrs)!t5ô]ošñÜ$$ßu»&’´j§šþá¼7 v…' ¥xP80f•$˜•”:ö›¡•}€‹¨ü‘[GêjLŠýÖ#«—µÉ ½xSz*ŠT¡~Å”j’X éçäó.gtsâvâÙûûò7mˆ.p¯Ãæ cÄñýÞIAÜÄ#Ÿº÷OC(ïl¯3O$´z Üëì]wÆv?Û·fT·©—ÝD“m­6ߥpU1pzØ6ÝZnÔk;AÒPøjÇ·ó…ö%U¯·š#cÄ„Dœ1ÙAš ›•©“¿·$åzV±_ûBaÃâü°ÁÑ­óìXÈÇÇ¥\‹E·–íŒz~ŽÓõ ‘ÀÄõé³ô Á’`&>mþ Ï…ÇFÚ¼•¢úôIƒëwüܨÛýº6•æÞŽNg2XÍëH»„î¼\š’wQžª˜ø@"GÛ›€v÷i˜cۭϸ÷hr·.µçvq“z×/ïÃŒ^©àºØóœäçk!1_g5Ÿ^Çu@>µ*9¨û[`šSÔÊ ­ŠÕ{Åfä7’øm‹›@âwZëXëšÙŸ}ýØÕýY`~w ¹ÓÀæÔÀFz™žÓ$NÌj?]k¦‡Ü]:øļ÷ø=gU€î„>ò5wÁë‚ÌÝÓ raÛ/uã>Ê•ohõ¾sM?îRÎÍ-‹Zm?eÂÞæUÙÏI{ŽÇü¦TÛK[6¤†‰Ã“÷v®úæŽØ~I¢ç^m·¶Î gÀÉæC¤*—*¬"G< BŽ“8–W?r-ß ”ܵ2x/ xµ¯,ä{¯AñüÒóóõmÞÔªœbÙRö›{€*båË‚Oü©)d¢‚fl«‘ÞÛ™ÝâÇ1¹É/*ü‚‘Òí$·îØêºq܉÷ÿYþœG½à&íaîj×çÎÚÎf•(×&êµ·1¦Oì¬miØ/žžØdñA»,®©º&Oi’*Ã…²–|l'¥5Ÿ†RžìPÓdÚàÔZuþätJÓ!,_Jç¿sq»Ò÷!Ó&IâË9Eúí !ôI®R,ù»Ôš³6~ù=R²ožÖ!<Š {¤'9‡Á<ï[€S Ž]ätv6YÃð\žYŠ]Ô´Ó'»ÝÀnb¡ôµV QöÌrôë”C…Ïe4Ü’×È4»1ÖÒÅÔé=z‚pßöBÖÄ™Ž'*˜Q•ØÚtVŽÄƒ6@FÚÂÕªr`œ7›àJGÞòÒi× œ§„¹­ AÉõg³g ¬–=.(ð¸y§Éz¼é¢"7ýÁT'åáfšUwEMJT<"Uµ<ö^~²©n*§û‰àF®Úë•ü:Ò:ì^XJ‹7»­¦‹A÷‰ÒÉÆ‚gZ‚•qã±4SÒ$çkb‡cýÈ{×é…¾’Õ\'*-ì’^Qü¼²jQΩÇefU¤s‹4¦C¢pêQ›bã&~HI¶·ùUF_†Œzw °þm)QKöôꢵ:A [%p±NX5O–¾ïq¶ÕÝòŸ%gŸGoÑ(.áŠÎ¡vi¯jMZÛJwÕÒËÄR·±ÃÚtOXÕGš¶/õQDÛÜ{äÔu¼vçkùXRÙœ«Ì¨´·õÇ>(Žwkd‹eµˆCôÞ1à@nÓÁ0múî7Aºm­—oIG•-§Ô7“;/Š~ÞvξåVíYD ÇÖQ©R¶:þ^ÈõÅH õ¸vìuJ¾ËÍJSrH1±g©‡;P%ÄAeíôeÅ[v%­‰Z7{e÷©Kò#?$a²åÖšfû0µ¶%ö¦õ)ïàí•»rÜšª¡r{o4„y hC#ì!‘VOliÊX%ÓÁÀ̓Álä´°|EéN-󣡉ï'„9Èt0OcAómG™µšOÍl=wïXdí¤ˆb›^i¼oÂŒÕø×[çäW±:MU7 ñ3õ„pï?ÐÔ_0•3êÛQt'ø¼§GgæÑmùÎCgù€’-Ê6güLn{žÀ5éËrñ¼ÜØ1p ,+'šv½ÏZJNÖâö0Ð5†Ð$cÞ™×f‡Ðܳ:sǪ®8q¹1ôi[jd$G•èÙúŽ?OV4ÙÆW^áî¥îëôq\RrˆÊZiŠÍPáa!û´¯:ü±Ù“'ÀW§Ú6VŽ/Ö2ÁÕÕèæUÇ;:|Jå;¯4E°ÄR}-foÎð÷Ýe>£¥£Ôͦ¼ú=oŒ\¾¾!qHäéCœ&¦QnÇe¡œš«tðPÊ\Åß–6(Ö\atD<À0Ås•¸¨(ij"‹à LŒ£¼2°t×B´2•÷0Å~P­¤„®@ºpî¾íº3>«!Üç+Á0›öYÐÄ‚†—«®ð(O¶À+@ò›E4Ï^‡%_"=\Œ B#Ôà%Á¢+ÙõŒw±9Æ1£‰ØúÎ#qŽOfS¨àm±­²pàý–>Ž”ÀR»®+ »¬ó uçnƒ/5.Ôò ¡¬SNK‰#1g‚à/¦*/®ö§}ï÷š»ñ–\x`y6‚*5ñ¤nò‹šL}/³ÚiãQùÞ•WûÓ­hõ}#ðØ£Uú᡺õ½ÎÉòá .™Ô÷vÆ?ÉÂM:£©Yjh•Ç™ò99(>"q¦;ÍæÜ{;ÕŒ&»Þ»Om7ëmªdÄy#^¶Dî¾øÉ0®Ôšª37JUä§fM íÜ~/§ˆ~éIYIknMsþžéÛ w¶g a! ‹Ñ<Á{ì­}&—KËÕíÝý‹&">¯dÒ¨;„u­6XI1ʳï+td¥‘¦ïvg2æó25º˜Ò›(Wn*ˆwΑ„“Ž)ºÓðxÎ Ð «}5ŒˆÜ÷vÛ'’´ âžîÎâ-¡$(°7h‰:”‘†Ñ6Ú©®¼˜T¹µ$_漡kH C›®n]M°×é{ù‰MV,²Û$¿¯ØBêJZøÍ•¦WùÓþØéh9´4Œõåxp©wcŒÎkW_µAVˆìn®­¹ŒÞÅ%ê-nZë70]!,›ª Xæn;²e_†—¯2P6Ý€8w8Ûk?:|»\ãJ^s²tÇmVoW¦ÎQ¦×³Rݸçð•zv >U°ˆ×ûž¿>»@º.t+IÒÄArq%(úá­«ªZõ‹½Ã™š´eÔúƒ³”ÕjyZéèƒ Xð^û—Äh}û:í…Ï5UcØ`] ÚLÚœè.UQBh—R¾(“Zê’r¨Z1>à/Möbôø8øsÎo÷àBËEÍä“Ë}½ÂèØÈiº¥’E€†È×¥éÚ„§Ýî¢Kü~Ô Õæ Þkïô[ÍÒrR£d 9ýR€•a¶žóhù%ôáps]1ìQf4ô°Š1²ô¬©åbhwâ`Êž¸ /Ì2–v}LêM»}µš*±²b©'«þõÜ'¼oü¬î†b(ÒЭ/tHÅ’ŽûO—ÚëÎFZ,·ÓXZeÆloƒ#»¿éÛ7OZˆLö   Ÿ’SNØDŸÏœP«šîæy8Œ÷´ô\X÷ ⢎ºXÅE óùf×tLvT½¯‘ŸÔñVÀ›’ûN‚®èœÜÿ²4"Š~Æš`8`i–ªj³Ší¿ûzÔe³­.Œ4&ö¨^AäâbIn^Z|^BOzß¾(rë&@©Ò\u¶ï§[´¸¥Ömr‚&߆ÎdçþhRšaµ‚®ð=*Naébüº3[yŸÌ§h¨§¾Ì™[]¦Lñ†qÓæŒ™Ä1&¬™=‡dU?Î*ì`ÖÃ2R·bboj ]Ñ/úvý¬™KîMWI¾#Ó&³Eä *Pûí¾Mq¾Ÿ'hByÚà…(4àsðH ýèQ{ë¶Ã>˜·7±DKcc÷¨òz÷Ì%K–øW=C"E}¹ùÌïÃÚÍ ¯ßhìõHyîôJ)Ü“í”'Q>#–%½>®ê`"•-Y[/ÌxüôQ®‹àzˆÁÀ@ñ4ór©®¸[h·L%doXD&'õ–"Z3ëérPbàንAãíîŸqWy穌?6ѨV¤fi·êƒWÑ?)€YÄ1K|ºTw ŸlfCÔÖ˜ìóEÒï8¨QBµÃe]r˜„U¯xê$ëQŒ¼‘ *@{{ ‡Õ™ð+í±5MǼuꇡÜìÊ:kLü’ä·¦‡‚‹ÝGÆìÄû¶’Í«]Kõ ;Z¸?Ĭ˜N#á%í<MóƒòyÈK¥²I1°N½"ç)WRj–\Æ$J­á„6ûUlFâ. Oæa‚ß|¦[’,½§Dß'…[“n¢t3çeëôîµ1Ä– 1–Ù7ˆ>‚P† ¿&jûž–±ÃZîÚ5ôaZëûs¬uìÏíwCß5[uÂÜÙ6Wš7”Ó¿;í9)@¥ÔTiùJ¤ë—ÜšÏRj„$w@¹B O8—ùô8Ê Ï‘KŽ|¤•IÅ|ôàXbøê¸» :sZE%À±í+eý%ÝÚ"kY¹§%#D2ÃþƒÍ«­ÔÀ$Ÿˆåð)qH‹`”{‘À'ÌŒc¾u>Ë {p=Pɺ‰Ÿèi\ÕnS¡ƒÏbÿLå{Ýu'eA6*ÛøÊ+ƒwr“ÊxTvaISdŽT%€jõK:‹ÝPfì§§kík¢4#dêùûn®«ƒ3H”ÏcŽORE® ñØàËã÷ÕËÈþˆâmÓHEZN—¬¨y¼L3ã4“¶âÿv2¤E£=íº–~ÈΜ²f %ÓV‚À œ²&\w3ÞåItŒ`_$'ÇK· tçN_ÙV†P,J8ìð«°+ñ•ê;ÖlòÝØðJzhôÞVhy±+'ž2lpí»'qÿŒä“ý¾\@ñKŸÊöwZ5$õ,¦À06M …°b|Y‰tïg…%/ÜîµÚò%*‹:ÊÏ'ox?ûÑki «ñÇúX›>R¼C&Ñ%Ad@¡ñ`ä^¦ìÐ%ÒÀ]JžÆj ò<3*mãInbô\B›]&~Í9óYweÚÛ b{cݯ¹­w·§RBÀ.û9¯¡·Ê/n0æ> òŸxê³~k4´©Qoû²¢7ùpßúm…j³†ÃÎw}ãKĸú–rwµ§_Tܨsò¡,X äŸÊ*0¼7¢bvç11‹VÉ´%‹p«‡N)`¾÷ Ò£Y‡M"¢¸×òÁ4Ï‹r6»¸ZÈÔØR¯AÅÈîn˜–9± }§±³Ó*Ð~·™3˜ƒ®8nó®ß‡i¢x1¡¿Ç2 Ñ'AQ§Àæ÷ž~¢{Å{¨Ïö³Y)×Ûwè–ä²­Èe¤PP©ÇËö‰¸F§½õÐ(%'ƒœgê\1.{Gž®êpzÖ⊥º v/Lƒ¤[¬©hÇmÆ^Z;¿§„ ö4x©çWZpñ·nÏß.ð‚‡q¡_ëv O ¸ÙW„¿®EUÈ.‡ƒ».»Ïãâ’û%¤E#ÜËFYîíN†Û<"¤»ÔUõãZLäG}¿¶˜©~ºµa"üõ ’\Éþyk÷ûÇi“œäã±»Ÿ·o¿æu æ¥QY ÈÙŒÍKñÏDóöm·Aù¤a¬­ù^¢O†7Ïr¾ )¼?¾k"Ã™Š‹q+BÊ\Fë>¤P&ï¿Î4Tu-3–°<—¡RÆÆÚwuÀ* .ûÇØÞÔS2¾Þ!‰Ç¬Ö›Z“²!ôK «ßó$HJ_Ù¨wß'0?°‡ê20_#ºƒKyo¥?Ð^"$ÑFŒ·(ºÛóo›&SX|ïü*4ÄÔR$Ïv¿üx?&qǨ;î…±¹©å£$lÐ2¹µc™${Ý¡^óøü—úEÞ:PúpõÚþOqB…Hë Z Ï :Ô:ÖÃx뼦ü å˲\¬adÆÐÅ‘ÀHÅÝêÎid™ÅO¿ý§íØêkaëÆF*‹ˆ †ÏºÖ "> stream xÚŒ·eTØÒŠ{44îîîî,hãи»»»w. ®Áw'8Á^Ï̽“Üï½o±ô®ªS»ôô‚DYAÄd ”Ù93°02óÄÔäÕÕY˜ÌÌlŒÌ̬Hê–Î6Àß$ M £“%ÈŽ÷1G ‘3X&nä 6UÙd]l,lN^.^ff+33Ï A޼q#WKS€#@dtB¢Ù{8Zš[8ƒ™þû@mB`ááá¢ÿû8@ÄèhibdP0r¶Ú‚MŒlj K ³Çÿ¸ æ·pv¶çebrssc4²ub9š ÒÐÜ,-ª@' £+ÐðWÚE#[à¿É1"QÔ-,þQ©ÌœÝŒ°ÀÆÒhç>äbg t€ùj2ò%{ Ý?ÆòÿÐþS #Ë¿îþsú/G–v621ÙÚÙyXÚ™Ì,m€%IyFgwgz€‘é_†F6N ðy#W#K#c°ÁßÁ$ETFàÿ“¡“‰£¥½³£“¥Í_Y2ýå\h ;S1­-ÐÎÙ é¯øÄ-&àÊ{0ýÛbk;›×olfigjöW*¦.öLv–.@ñÿXEH¿eæ@g3337¸±@ÐÝÄ‚é/u{àßJ–¿Äà<|¼ìAö3p*@K3 ø’—“‘+àìèôñúSñ¿‰…`jiâ 0š[Ú!ýöÍþÁà)p´tè2ƒ‡Àü×Ï¿ŸôÁsf ²³ñømþw£™ÔÕåÅ?¨Ñý›ô¿jQQ;À‹•ÀÀÊÆàdápòp|þ×Ñ¿%øoúK•,ÿÞeìÌ@ž²—ï¿™¸þg<¨ÿ³=4€ÿePÇ þ½zÌÌ&à_,ÿ¿wáï#ÿ_+ð——ÿ[ðc’t±±ùÛ‚ú¿&ÿ/ #[KÿØ€Ûż$ ðªØý_S-à?»­4µt±ý¿Zg#ð²ˆØ™ƒž‡‘󱥓¤¥;ÐTÙÒÙÄâïáùo;À 6–v@e“å_€å¿MùWÞ@kð%ãnÚß* xÁþ—UÂÎdú×&²rpŒ<˜Á£ÆÊÁðb¯¬)Ðýï)01ÚœÁGà }f G¤¿ZËÉ`ùKôâ0‰þF\&±ßˆÀ$þñ˜$þE\Ì&É߈À$õ±˜d~#0ŸÜoæ“ÿÀ| ¿˜Oñ7ó)ý‹¸Á|Ê¿+€Iõ7ó©ýFìàÅùÀ쿘Oë7ó}øñ€uFÿ"6°ÎÈÖ<ÿÝpÿÚ€¥Æ¿8 c#k'#'‹¥,¬àpŒL€6@3ç?Äÿÿ³(ÿ:aùGl tþ{¶åÿç¸.&ÿ"pD& ð0ýWÂÎþ—ÄÖöw.MÓï$ØÀ-0ÙØ9þaŽø»Õ!ðŽþ{ x¦lŒlÿ8Nßìw ` 3K×ßN8þRƒ\þ$›˜ÿ&ëÍÿú†þiþw)ÙÁ%³ð°·Úýa–YþÁÉXýÁM´þ‚«ó; NplþZ­ßzp-ÿÈ|Å2ý¦b3Ù¹Øÿušÿø¶gýŽìü*øC ÎËþ·ìÒüµl÷?Íegùô[ ¾@˜À#g úÝ,vpÍìm\þˆüParø$¸`. g ©±Í6`éUegòÛÇ_èúGQÙÁUû?CÌåw`àëœÉÙÂøGwÁy9»þ8öáò{HÁ?>œL@ŽÜ×? ¸xn¬Ø©ûÌêñÖówÌ`Ož@Ç"øŸ ÒÄÅ\Yç¿¿ËÀ·çñßï Ðh‚´82á ¶ªn¿«!pcØýÎÖÇ©qóêBÌŽc¹ÍÕ«ˆk]NÀžÍ’#®õÌå*?ö眖¦>û„ñ£Ëòǘ!Ù.Ì'Å(~œÐ|ò0±­È óé‘¶–c¼›W›„]I΄xˆÚO³ÉCΨHßüÕe5+¢Ÿé‘a¡•Ä{¦ åŒt O¼é&©3G÷å6ç°|%$Õu¹ÛYڌܓ·© gyMú¸êëüê©Ú«ñm˜P˜b¡K(ÿày<Õè÷Þu‚M?P¤ïå+¹@"šˆþääO¼™‚÷çÓ²4Àê.T4lËýð¦­>u–£“3”iiHŸ6ˆ× ‘1jvÁd“´*$:¡½û0¦ËT”& ºXzø¦«Ïh‚Ò¸ ¿O0 (_bžE¿‰ÉXtsX?b$Ãñ¦J8Y†,–ü }–?S…ðµ‰~ïæCuo’Ú*w½´ÁF⎠Úb’&*ÂåpïÆ]4´TÔae^$üÉþ·qÜh4'敨¬‘Ò¨‰Ö 1»É9}²,—ÀЉv‡ÿˆnPêLf´Œ+EÎP 8Ûk¶:)-½Tìhk'Ìj~©èá@( v"Kw`ʇÔ3ë°³ˆBuÔŸ6]·{z;ŽyYßШÎÌCO{BL «ldæ/¶T€€ åDñÎì ÉÿèF%øbê²ÔØÅxþÓzS?Þ3®‡5ãÅ÷Dt\ûj§>²QQåm2 zÕSì復 ËÛØýhs7hƒEe•6}d‘ AM6³ŽƒŒê¡$²;I®˜Òu#r! 1°·=Í0:ɨ<&Rò,ZW¤ JñààoXÈõÞ ¡½‹¾§î´_ë<¾Xú0€Çó²~7ظ™®´ò5£Ô/#›œ¡p‰atJûöˆÑS„ *Ê/~ðaÁÕäÃ~ܽ2†¦Fìã{WuÝî½³Š˜ å‚óuêÂesb¡¥ç²­U YIöãúFM”£4•kôEÑÞ¬ùG÷÷Sï_›v=ÙážoyD >bòÃmŒzŠ¥>oÒéß°sä¸sëR|î­\»ñ{„©cvB¹ì=õ¶±ï$ OÄõP \NõíÉôDOépG}5±’$¦e­¿_É@|ÒÕ ¤Ò ØwøØOÍ‚Aa\ò¨Æî{H .*½>®)Þ~bZÜ„ #[#Ô%ÁÜæÛ3aï¶3tÃõ¾fCüQÁé Ó &Ý«‰3õ°dŸg½¸ãçNð›FòËæ“#²¡,4©Êk•¬«VZK„ÇÂàFø—PCFÕßì “s[ƒï›ÚÕcÃÐ>Þò޾š3½içBüŠë¶X|é7WYsó‘«u‹ Ÿ\­mÙÜ¢">µ ¶û¾f=jøÓÄ0Ÿé*=Ñìà™_q?½Ð í¸w&(LÝ/X½é¡ßK÷Ðl}Á‘^t/ÿ©ÜÍÎØä­ÃA®khÉóL,dȼûÃëfŽôlWŠ*ê=òÙ(M̱ï$CÎ5’­ŸmЗCTºDiöñÊè¡zz‹\‚Qw #œ×(]‹zTÆ•E]©m’ÉW«ñ;Ãìñè²ðR$o–Ëw*•3ŒËUY¯ùŽr*{ZsèÙ‰só#gWuÑYB™p­n+•íÞÒn=üXPù`¢àŒœ–-”`NÀÊÅÆ…¤Å–•Îl¾;ò³ôøÍÝE„é´€„Ae†({Dòôw΄#¶DÊ"Ý¥ÂänyÞ€²x3žÖ“ñ<#ÇšqàWíéN †uèÛÉN¦Ô.tEÚB¥cYuÌkØîÌp}JÆ“áã›Rg¢¶Hd”þú £¹5ºxÞ ÉÃãÂDÈ«aåh~½(ãLΦõ’ЩäìÍ|ƒ\(HÇ÷rl):h½ÀëWA¸ÖïѤ­¦k¡„6´&†?jõGbïÆ êHV>g¤øÌH‰­”~–t„…•²MÌWæã<Ä´¾â‰~ã$íJŠ(bŸOm¯íÆd²èe´F»gÚÎu¾ÁÖ@‡xƒ¨õÊRÒ‹¶#æ Iæþ«p3f2и áÛªDÆ­ÐÛù.Fo Ihê"© ¹kÃnÄ•b¦w¢­~Í‘JéôG…¸ÃˆèEq"ûñ`ßkcºëËA:üBŒBc zÆP6oûlzöm!õª‡Ð†Ñaö£W‚áèh¯U ¢ëG¹^€Æ7‹ü_÷ç¤ñô3Á$]Ôy|9ØdÛ7ªÙY“¸n±\MÊQm™xò_<4¢Œ ð¾8',;?dô¸wÈì"'s'}ó/ñO@V{wä–ÃÕî²Sw(4G)³½²#³žçuL1M·lò é š;ñERÒ™#&"áyØ *”«'j9^ÁâE-9RÖDzÅÁìZ ô58ð×›CÃ8ôw2[bsÛ|!Aw¼ÇzÀ¢…—ž]Iòw>´Àæzzw K«Õ`²Æ¾ŸDkš¿ž "~ùüFF@g°Ù ùší[q˜V®Æì±Îõ£œúY®¢/-ºn aë¹ýÚdÿˆÅ;màBKR 0GH>îçÃf ¹U¤ vk9ú.ŽÅÄ9<ŠäcÑ«5>¬P¤gÃÒB’ÌÄ|ÿÏÕµaòéRŠ=âTåóä*‚ôñg È aÏBTÓÎ6³Ñ‚´órÖoš>§J 1j¼~Ž»&å¥BÒ¯—Xa ˜30á±l¼VÛiFÏ0ÚV '»…EQÃ÷yš.’ fs5©Lh¦ã~#u›ô7=桬lblƒbÝí¸éØs>ÄšËÒ³µ!·Í«;€ð#üKįŽçã«—-…‰—”- /w.–KûŸ[°¸Ø²Ö;*g9#µO›!wÙØ€„°ý¡ï+ 7,t‹Ç±ûX9W[×’¿ËÏCi›ÜG3^U2豚nžOo•º¥oа#Á¹$,1<á骼4sa»Ïå^ÖÿÔý’pù˜»„c™[Æ•ñsç›fH\WŒeÔ:2ð/lÿ• Ì#?~ 4yC‚êúc„_ý%ïÝL£ÍËw±ò}±nfÚN™kõè ÀN¦[³¿X`:ŽmjµAUËÐNkoÉåù­X¤Ë5éÑ6ñÒ"?õF…D™Êü:ßg‹õmàAqì°ËÆ®¯jlj«0d›Êñù ˆkÞö²}*fÎ ôŽ:q½ :`…Ò³pžbm;ÏKöÃ9Ãe˜2ݶÛ!™ƒÈ<‘^ö‚Ç8¶íçWÚ9Rýü£M&QX:àA#OZ9ñnrA<.,ˆF<Ç׆†|3‡Y¥ŸØñz°œJXN‰Ç‹#^z¿f¾':Š1èÔ¹ær'Ñ(Ü@¹ÊÅÜÙ ]ŠØ¸dT¬'V¾¯kŠqt VP鄸vØÈå…Ùrþ1FË «¨]†”˜a Såo³K¶jp1Ô×öú™—pv>(A|aj}ZIjL Cƒ fá;Lø †)OkCŸ¡°³Îfî›È–.íè¼ú½®ÔûˆoY-l'!SLÄ¢‘Ù0 ï0”wzœùüƒ'û|•í8r'IˆúœM(¢îG‚šTKëB" ̽kõR<æJ]kV7iàÕÃÖ±-—ŽÈ¼èïÂÔ`ºHx`áªrݼİ[ñÎ2aËöõÆM]þÚ¡†Õ Ú³wÍ—é)ñøxêÅ¢#oî";®oɰ‡YX§«(û¾ë]d¼cYÿð0 D’±dé· ÿµýkFQèùËS¦­HŸ,¹¢b©Ç²÷3þOÕûù¥F8£Š†YÛk.f|E1t|÷²‘ø¨é8"¤ŠÇ·¦&­­8%"¬ |–6ê¸PÔžÞÛ¢5‚Øò%CBŸr‰q._ë6¯]&øª_ ÙIåü×y*¡hª2«z–ö=ÃŵÛ֤Γ9v^B åŸñä QZ Fæè#ÇAÜ00BŸˆÓI$’è¬DIdnð9*Æ„»‰¾y7EoßÑÓóå¹ñÝ‚­Ô„UlZ/ÛII‰Ó'=XU›¶wËgZÃè^©zæn\•ýž»R ™Éºïi'‘Ù‘æ¾i®íE¼Õ°QO#q›‰áàJ×ïÖôx® p粤F¤B¥½“¯~éƒÑ#‰ãrt1*3üð|ã;åÄ ’>ÙŠ ˜Ic?d@üþkÏ#Q¾pì"‹å×c@;Mè‡a:9×ß¼üìäGÍT l%ŒØ9…÷Š×ÍDÞ(T]_]bÀôFÞÎÈ3í` ¿rF Y3ÆÉi¹ÝP4?›ê!FY®Eü¿q T51^ÒÊ tC‚rLß‘Œò5(taóìç¹Í^À |÷Êm4^­¹ºM­ B³‡Uª>8AÄ—­é†\ûŽ„íCŸ^⦀Ξˆ”½¥ê0/nÉ<Ÿ‡•¸U. –@ŽÃ®ƒ[ò†c¹à×eeÊÞ¸@¡Û/Hÿõ†Ÿ]˜¸ðΆ\M¾îÜ4Ï”Çdœ¨aïLqÞ µ‘T‘ºaoˆÐCw~–©»ZÒÜ!d~o=M/ižv'¢¢ Š ê|6Û¢D,I¹»—ä“×—ò«fQÖ'~¸˜{ceKqaØ H¤Z¤75’'ÄúŒN¨|àóe±ºN‚îëgäŽofKÃÝÑÑØ©òœ¬©Þé|gãHe[ŽMšJ»êô¨ÕµuÞWjEuÚ_gæP°Þîü9g.ÒÑq=÷2Žk3«ZåHôªkÂ|Rn§"û¼ðM‡JoÖcœas‹:Zà‡'…·J=OÇ××b_»ç‘xtVÀPO®êk ÎWxuQ”C‘@Ðw¦àž#èÜ) «1©‘âøžá¢\Äy(’"ÕÕp£.WP·Å$»K|vn˜ŸWÝR$塨LUnXésâf¶ L™yq­Å…a*lvñvQÕ¯‚s´šÓ¬FÑ=ÍV<'žŸ’¶^pÌÈb,ï/¢ý”ýôã­õ ߨõEÿ<Ë”¤Ømš¦>vý$'Ï“øá¸,/MˆÅR›½íUë¡ß.…hpA˸É;^áOòŒa†P„ÅÁˆ4$â9\ÜøôVpvõÍ¥ÚwbÔ[ƒJ"û8ž¹qT\¥ÚÜ9½’Óàäƒ&"Êc¹ØmÕÒÅ$4´âý²øï7#¡[ÉBÅ¥š'ûC[Κä¬q‡3ýÓˆo­ŸÛ£³âÙ<’—xm'ùÈc}] Ûw‚PŠ@“õß:YpøÊT…-Û¥˜4\ê8Í{ƒ'µdTB¥-_L +(=]|ª¿ê½É xÈ¥ÓßûgL˜Zmm­l¹“§Ôè˜nÏ_±}…åÓ†Bö]YJ3½¶ëI ¼hµšS¡ƒ\ŽÈH&®Ø2Ñ–ICÕjÏ™‚¿ \\Ñ4àž•‡Àº|SÊoóæKRƒNôdƒ†ÙÚi•¼Væ1FFÖ—Z(wª’ð«CX,볉ìP¼±NF:¬ù8‹O)µ=øç3$Å”Ü;ò›ù¹4Øû­´õöU§4η-ÔEÃõd½az1P<_ãbN¾ À7\ªÉª•øùF9.xBcHæPtªMQ ’PóðåH Ü÷’12;+ñw< ¶³…›Œ;qÉ{Ë<þs†Ãý¢?½IÞ‹XȽmÛ..¯#áwB«Ô5]àwçÔLd¿ê´J¯b%¦ü#µïÞ@7ru#~‰ÂG€—¿sx‹ŸCDýáyAù‡6{#‡¥ÈÖO³(TD÷ͽgȘxÖROÜ!Üv0¬„‡g C~僗ØýÞh¹d°â¹ÑsL_?–˜™æGáìg¶<š“;?þíÀC3K0”ÒOtÒàªÇq3ÉkèÕKgùÖà’Ê V¼âsךR©þÒ©l÷esõÀús¢0Ù«áËGxíìs”ª`b¸âžŒÓÀ÷Ð:žøÄÓù¡ƒŸî …\ ô•MúQÚCÍÚ_óâê‹Kº°³Dã€MµÉ^™‹Ýñöò…ðÛG’‚dОª›‡1×§†g’­Uî+¾°íªË—¶gbf=ݱȘ‰¦p(a–÷ë'góÇÆû«…ܼ:œ'î‡Òîh—UÕgƶ¸˜}o)›ã†`žìª;~EýºN¿(E¬®ËWXí«ÿC­¦ƒtùØ?yyíQ®@‹|A‘l2/ŠŸýðܘ·ÍæóˆÝADë¼I븤ÚÒAÄ’ÿN³Ðè1VZi&A´è Ä ï+Þé_;oÌ–OJ¸PlMʈò ¯~®”»R™Ä2}}»‹[bĽæ>Y§@=©¼ ‡MÆÄŸ0´‡~{,©ñкa-tz¤…èßÚüC·é>¡ÑýÒr\ùŸlöo—ç¿«s“£3R0›øö‡òï5¾Bi[yóOx¥àá¼OqÖá:î^q»êg:|´TlÇÈ#ž”ÏÝ} sË=B^}öÛB‚ÊC@êBô\„ ù}ôñ‡ÓXÌuëÒM=•àeÿ°Þ®ö¼ 1,¶•2t ×ÑR=0Uñ[&Òú€â&šk´«ëƒ:o›ê¨·9Qߊëå,1o¡–æE£É¼«®4L"̼ZyrÀ¢ð£ÁÖN;®… §ö&ÇЃx-K¼å#Ç!³½¥þƒ!;Ž`7!&P©ëìVG¹ÚEÃ…°+O<ò¬N•¹ÿÊÄ ºNp ­ )¨‡¦X§@þ£é+±÷±Ë›ø2í¹/ì¡XÛ!o<ã‹ý„ ˜~>°Œ&»0¸fStj"ø=vQøÊóCdy7 kP{n12æyŒ7Ú•©Ñû¸ÓȲ2{áP­£>º„-Fèt]žèGàéAjѸù84‹„Q®§êÛ’»õ\j‘í^y„O¹H‡ £T-¡‹ÉqÌz_Є«Î~5£¿ð É_’ž™(DÔ N?GÝ…¤‰šQRÓåùÑΈÅå=HMqƒÚetJÀ(–´#›&ûãk $I6!®¶y0ag«4<ÉÎ,fœ–2JQ5Âwl‘§w=£pr$ãhʙڗâžäÀ„ÈïÃüeoS›4i=É¢ß Kû‹—Þj“éä–Æ¬ey¥ØâXHb§Á¬W—ž–É~>¤µ™Õñ>d`¦Œ ÎæïÐöVlð=¢Dƒh5)ˆC"FbzÏð®%áR“=8µ˜ÅÞêeTñ“Ã$X»PB¤hQzúߥv/X‘ж^ÙèoºÆíØ­Ð#Püq;jEÝ2æ;qd  ÞÅRcž»ÿX¯Ú-d{vEüLóqJí‚›¤ÓmYM”&Õ<úIÄ–|@†Ã8´r8±¦5ÙûíÑž'†êí¤ ÈYy ”I¤üÇÃC\æ ƒƒ!Þo‘Ù lÚÎÅ©†¤dpêåŹÄO¦ÙÛRŒ1»ù5ayÌúoÓ*ZGbýlal8|f´iÍ7ùx 3[µ¯ôåc™×“—ãæfŸCÏ9쫉Β²ÕýØX Xßàl-âL™îÄ/—9gZ@P$ø,û掊oš‰ïuÜ® ±‹òp#?åO2 ÌÂt‚J´5½^wÚ!ÒöétöeðýyJY'D0ôK¬Ù™k ޼íG£jP3ž¨ù ´ü¡zX¯¯?!ù×Ö‚…Z&Xà NRí:å)Hf)~¶GÒo² gˆ§2"ªm2.JöÂN2阥ÜY¯D>½ZŸÎÄÒqÄn{Ô?žU¾)$Ƹ.žžë6GÝ|³×}A­’³¦¶Nþ5eÞ‰ÛdÓþƒ¬ü-÷c°¢¬²;ßA:9yÛR©[ñ]κdõjÞ†±…þf">Rø÷¦Üõxó Æö= G\/µ»|±=ÞàÀ¹Jø® R`þ«uí…ÊÒ‰N Âà"ni…ÑMrí»ÉKçÍÛÁž¾Œ9ÇÒn„‰¿m«UÂ4×6ûB™Ìq\‡ô„Î@ÊDÉ™Ñ7œÃ5N²ÍÉ’¼ÞT9Âcp¢>-faʃK™YqŠ/J[T˜óï°º9öÚ[Ò…ÅAuÇ!Zå]ïaªÔ•>x¤ô¨Š¸ÉÁ§·±ãåÊkÐL:¼úÌvªÔ Ï•ºå`ÝZfÈz˜ Q°õy™>›ˆˆ~Rß¸Ø *™¢„Mà H¯+@Þ²–mKØ?êwù¾1ÔøìÝf©vÇH’ƒºbNöˆðkHh\?«*wÏð|¥ دiÂ.Êš¤»Uå ¥‚Wœn×/Õ%æ¹Q¸Ýôk‡ý¬iM‚½ý¥Ö®X÷͇SDT¶•-ﱟò˜¹Ú?®gòR_Z-ðr¶Â|׺ —»çߦ4¾hh¬D5 ú¯þ @6µ9¢jqw?ªZELÿ6£¨¬ˆƒyƒgÉöF®qœ%Õ ,CdÆ»}…šä•½ä‹ÃxèŸGÓ³Œô»#<´nûŽà¸éºërÈdAeX`’­xøvL~?¬kµMuT‰v§j\äÅ¡€Eìà¤ý˜šXdc6dâ;ì†ò+²ñBÓO=Re¥“wy—3ò3ÑÉ@Á$% ׯBIƇÒNzÒyzdzT¶ ݈JFJÝ/ÕS’Y°¾vóÇÝ<Ò¯ˆˆ•–{ÈEÌ9Ì@®ô3G×ÓºiËdANøžIÞŽÄÚLíÅ Ñï?ÌÈ+òﳆ¥„w»õ=#¨Ä=tCš(c©w-#N‘2s›¯Á§\Ó‹0ºDhHMíØä&ípOmb]02["ik[J>Èë‘¢‚ ì]HL]ƒ^œ0^Õ•‘_Ÿ€ O§CˆäÒ®²Q˜ÝjaÝPk1oJÎVÝì~êR >²éÞ×Þ[bDŠÎâÿ\—z¶"nž&ÒUSA+ªìI‘ÜŠ3Û<9ô›"ˆ ìÆ¥ndxj;õ‡&«bÙ/æ WcÜN&™Ñ(ôT$Ù˜f¢'tÒ®•8NržZif©b‹7˜uµ×Úrâ(ø”l— "™š÷°!>ýíd —¬L/–wd½^’H£êñÊ Yà‚>¦¨îw6Ùpj>ß u- k ƒ¢î#–³úSáÇèüVïñwÕímè ÜM­/OîÀÁ_x¹lø©Ûå:Ö³O™Ý*¼Ý h%CbÛ÷ÔæxqØm×ørqÕÌ9|õiúƤ”Ϻ3–õl¨òŽï…kŠ˜éº¹Äˆž?s½mÿÌ¡6š} 9ÖÙäÚ%‡·ÓÛ^‘ÔG™Š j4¾vLËKlÓ{måùõ$U!¤<f³´åaÆ®‚Ì?i¶ ÷ü¬Ï-ûå9>m fmuqû»}Ö§jÛü~Ö¼SA°¾¼;à eÄúOÍìå÷ ‚ê¥<{¾WRÒï+ó*H¼ |Æ€é4m1ôJw+rüDŸfxæ£oÇ*Û Ç4¥›Aÿ%" \%\ÉgyÂÞØúÖ¬¼2›7·Kš'C‰QN@oàáu«êŸ;:Zí½rØ uëÃþ‡ŸÅ£B‹Ì—‘o'<Èq.8ÍCZ±³ÓìëÈêžД„NIU"ºEΞÆû²Ÿ¤û·bÔ¦V)E‘¾d‚/(gãJdª-ê–Ï4W—Öy Š»æbìÝwU\v„1}ÍЬÓ¹Ó‡NH+/ f¹=>¢“`þØ|7u¨Z£ãÂñ¨*ý$6›J¦Ï91f&s÷æáÓƒì„-ôŠ·aç/VÇI†%RWUâõnltXIlµ3t`îDCsu+>¹À1ŒJÓV‹…™dòÒÎÔËûTt†}R*Jr3¼ÆßÝ桦/°=;<‘|ñbæÂžón}4"¨Ü}é:@ÿˆléšL& x:r®@é÷°êÄÇLûá[ìÌ„´fÛNØ#md7 µpöþåÅÐFφÒ;к%#Oû‚©ú)뙲à0ÀvŒw‹!;Ÿªªÿ[ÎŽÈg¹¨.±ïbD}AÂ<¢/{cuI¯ 6¡=ã>ñÓ›ÒNöçxì(íí¨hÍÖµ" 7m èª^Ónùù¸¨#¬'%#.Ý©_)”­ð€‚½c÷'ëD±¬§5²4¦T‚È·oR™¾>Ž5‹‹îmRÄèÅÛ8¢j•×°£áø¥7ŠI‰u,ØpŸæ«d›eýå™ñèÉBR‡M 1(æáÏDÈôÉó·ÿ¡b_ úQ:|ÎrÎJõÈ-€q'—ýr#´ÖL_[7IÓuØâ5¡Z·À‡6¢æì¦ú£3½)^z]C…ÝîˆeMÐIÏ–ãðÌM-ûÁ£y §ð‹DÑaU!‹'ÃûÀoÌLcÏòKü‘Ù¹•,r†¢V.‘d mú%›|RƒOmÃûW^ªÝD²š{Í äSFÈ‹˜ÿf›=,¢Ø °Ïï.¸þüÞ¿]2AÈLß߆¦^TH‹IA‚>ùÖ`LV\)MŽ‹Ë¼¬.^R¡ í’Å‚OY°ŠÓý>ŽG Žÿ¼~,·pñéWzFÅ1‡LÆ^k£‚éák(äy~Šìη)þ|+­u(áÒÛ”eûp9·>Ç\·’ä¥ìÆå²Ζ5B ]h½eZ±ñi ªµÍç÷´®¶¢–/ïlóuéµ°GÜrü°—;ôø.$òjðˆ5ë5 %Èu«Ÿ#Ðnð€lôèÂÃ]¥µé–Ñþ ëPí(54ñö/žð)„ës…ì‰cr.VŠFýÛôÓzÌØš×¶¤Ø‰SZÉK‘°C/ÉÊþ²YÔ¤(×ð×ûõþømJZ zn† ;Ô˜ú D¢ÉqïùByhAz†äÊÃÝÕ£É\›¶ÌL¿”• Ñ~Õ)­(i]rík¯fØ`S/5ðyøîôY¹dYk•uUv]>¦GŽ6Fa2LÆ@q黤ã}£Ùÿyš#Ÿ`Ø&­V­(©itò‘7µoÎG¾ŨKÃ%#ë{RL1ù²J{‘7wå …c÷™zÆwNŸ˜P¹Œ{/Ùú G³S/jE­¾×†Ž}ßñ’˜õ=·äk¿}H¾f@¬X=Ì£ôRo2Äj)¶·/Çêôè¶ÑbbQMŸŠ¬gUFËð•'‰4HŽ!Õ>¶˜Ôw‰ :–-ñ›.¼þ×ïaTFT‹¼¶Gáj£¹…Ì{´dØQhèh.ÙÆm Jííú+éi¦;h°’+­]2ä Ï' Í7BÉ{§šaæq§#ÛtñÑ¿.˜LHø5û ¨´Gä"Ÿ(N|²ž8„÷æ¢8ެ eåíO¨wÑM®¦új’Ž”­ ¦ƒÆzõ‹Ûf þóäI×öɬ=¦ßœš¢æYÉGIÓÂ*mê.tz¶#‡•\Ó–¤¾ž#nÐÛfñûš|kò´ÕaûÊ©è;+ ” Öšl³£±ËÊnÁyìò‡¾¼ÒI:ÍŽÙzgXíø¡Û$r˜”Óíz)Uhí£Ëéͱ ÎpipÙ]‰9âqï)À¶~^6HFYy-PÂ׉aïn,¡&€'rWŠÊ!Æ´Gän7›O84âôâ‚#JÃ"§Iãà·/²îB‚È©bÛ õ¢'7RGln3Ç:t0ø£RÁïží¦¹]MÖjÞ¦1ÿŒÿ¦Pê:6I¼ß/쀮²˜y).G–ăwÓn ñ8¡¨Çã¨zd>’ù™(^†³ q ¥‰M‹·¶ùI°•ª²<‹ËÖÓ$©ž›Þü˜}µ™_ÒªÚñaéŒò A+NÒÍãK[¶)ƒåäôæ~àøôÊÇç,¼1µH»fÙâyZÍ›6MùT¡¼oý†ÀÞ®ÛÐ/õ b¶Ø—Ý3ÛAqÉUÎ}‡µØõöÕ1Í¥ÞÖo Ù]€˜  Ôý/õ ¬;c¢È—\÷RÈöhýeÞÅ=èS ³7ê¬}-û(®g Ç€P[Q¾²Ÿ5²\`JÊ…ë­Uš@‹û#m„Ò{,-Â_Læ5špѤù´Nô¢©fHs‹J—F ;*e°¡Ñ4ÝP¼‹aÂfÊú$Ðcì6ùæëœŒ–ÄÆ&2Bdy ¸E1{-ó/XrµJó\½)‘EX¯Sƒy½=,ÆøWÛkIMâ¢ñÏÊä‰â†ÞvGb¤i¶ô믎êsm‘ÜÁ/28—|{ÉAµÎ¿ƒøtbr€ŒYg÷0ü:—¼F9£d°½mÇÅwø‹ÂŠ„…½¤eÇý­ŠçXjåʇ$v\ìäÒ9“¹:}tt¦^âöéWQÓÝ!/gªï@N3Ô7îæCRÀÍÂ}Ød[Õü‘95}=•†€²_~xÏŽˆ3í$¦w0~¦œmA5¨UŽÆGÕy³¢ÁÈ `Àôî°œ ådóbKõnâÓCGÞïÄËNÓE}jS±w÷w@¢~ñˆ†ÇÈÅ ñ£hZDlÑMoßô”zÜ1ËQ*\‡/zmÛAç¯dêÜïœàÝËŸžž Ñ_\g}€ýÄðå½”Юäìüme1!ù“ìrç sor—‰ƒñåÑ[8WsE^qÕ6ï®_ç¼Wa°PiárbÅ6ié{±œ a:¶nUÙY¬ŒF"i7ß>ÖœŠ}LÍÃÓOÁŸ•¯qf/ .Jñ*Ü:6äa[è›5jÀ´Æͺ6ÙÃ^KCaÏg~ ÏÊŒóÆiÎ"†6 _eÕ97(x´²‹ÿ¤ì̓¹tu¦×*ÔgÌ5²‰¡aȘqÚA|¹r¶ÜÆø2#Õ²Û±íN}H9ȉuˆEZ,夜l|8j±ŸÝ#i÷¸C'¾´|gî4Ç`;óÔiAŸ.£¯gÕ;ÙFVƒYºFÃÀý†Ùkµ(Â0T¶|­Ók•û0Ìj-cLXíxþœVGSäyU<óƒ&CŸ°ÐuÿYUˈŠbË ?’µõ#ulÇ‚y$Ö˺»]àÓœï2ö¥Ê0F–sßš¦ìÛ•4uÜ˼Ýx Æ2Õ0’ÃPâWºñ(ßù*BXv[q& žoÂÇ­ÊðÞ¬e3âý~ÍfïaQ…,¶²üŠ/§Ô—…göoD„ã$ŽúFçêV@TÑáåÑMŽVYˆÚ´ö<®ûÆ9©\¼ÛeFùP@¬I¯ç¯î¤®Æ1”ë¯Èõ†:sö=ç—5¨ªòVíìþ\xfˆoeFpÍ)˲¨˜BâÉÚ ëfÊãA»ý7áwí‡ÚÞÂnÇ›­xaçCw„]PUîÄóavÇÇéÖ¾à nIgO(’I €Gaô`Æ1,fp!ÌÇØ6(ŒC•ë‡Hš:䉀<’8,ÜÀñꑜaR:oyßh©ÃÆ_Ÿn¶VRY1çþ gJJ7(úÃEW rL`‰9lC‡"°O6Ë%acƒ|ŽZÉ&¶¼Ú`pƒã\MÕÔÍñŠ(ýéÆ7AYíè8µ²ÖD.­DÚ¬D“’øN^•qZÛ Õ,ˆ»ÿ5_K¾»·ÝÒ­:Z¨Tí—ÿýðö=†œçxLôSë”×ò·ÑXõ0²Žü^þP({Â÷YÚ<<¦a)?¹ú –LÅÄ7x‰o@%{¦ QRk:ëŸùÙ'ƒÎQ-ý8WÌØï,~…™®6úd›ûkÂ|½-QƒÍÛ* öôE„è錬‰tŒ~n¨= ,áïâ„F›Ûx$BokʵÞ£‡sÈ#×:60 ‹æÌ9Q1öY¥ÊÁ¶ûˆÜ€v>é8©¼" '›@1>Ê€@¼|@ƒc‰ûŒùü®ÚÛÓem”œ{”&»dkÜ ƒÉvLû´lfÕǕ;ÏŽôøÎ©ín‡Z]ïË[Òd"ŒÂ'»9,g¬‘Àƒ°e¾ä73Å&ÔˆPÞ·–U‡*ᦠÏûû—zEîÝ»d¤_)ßÖNqÒË1OÊýªà vÊ¡ªÊ1Ή:eo‚SÅz{Í>m¾ÂëĨO:¨¹|3µô +0•÷¼\Ýo-Ýhð–Š™PϹ¿ï8°Ó¸éº;±téù¶™û|3Ô¾/²˜Çñÿ…¡°™ iÆâE&Mž+æ'Phº=ЫØ\æß×ó%2ô_}éícƒE%ý¬Ê‘m·ù»¯e&MÅ¢+IöLÂRîU°OŽ×Y¦“I¤ R›þªE896Ò ©|R“Šï~ Èz»è§À‡>|®š —Æ5ßTavz'¨gÎ&º ðêê 6Ãfò!†P¾f>ƒwè²:´ûÝcU±GCï/?ŠC ¸³u¥89Œ„á×0G"Ôg¥¶Ìg¡i°Š;Œi:ùúg·Ö¹Ã ÊãÔûïˆÑy„2ó™Ãд É=€êÏ+Û‚d6³a†¿@Émsf’Tu&¤débŠ¿^¥ùx•yžÂ†ÇôU>âx‰Û—½!Ëf[eS‘òçô•} ½LgZÕ ŠÊ£Ñ2ð4kÄh,{iHÓšÀ3¯ˆ™ÄYß¿ˆ7ãþð7×HC~œý>ÅìÍ #Õ±à;Y™¸V5Û5 lÝ3’£:ÞºI¢e“iâïR96› è}e¶|nB9.Õé™YÔï ˜©–TÇ 2xK€šrôȆ H‚Ê8V”ŽQïž«žŠˆÙ[Ü–œ‡ˆ–ž²Ô.P5% ªë¡Œ2‘¸è|6Øô©ã¡)E·ÜDk%LtX0é?„M\ @Ï0ÀÔ!)˜øàÜÀŠ@™“a]õ–3fôÄ1çAšžý`#úÖK‚ÏjÄ:\f¬Ý‰švƒ%MÞ•¤yyÑtª¯¡ˆÙözUùòêºxW¹ÌwÕÙòÿîøÁnfªBrA–ª>¿ š]v/B›ÙºÞª5Xä&Ç$àJ–õ~ȯ!Ì }¶—#æ‚ÐG@¹ÕŒ“:*ˆQc<2r^Ë×¥ë/µ>¾É¨d“¯GcµÉIJxÁ,ÑÄÁ"*™ÿU޽ÿ7Ë•²5‚öœâèóóÓaï£G¼˜—lý‚ë ð.´ý±À_ÔHžˆžž ŠR-ÆÄ-ã^âuoæÁe.ør@ì”Å&¬»U€JÝ®ЉDÑÈ„‘2$Ä¡ó¹p·(û+0DÝ $÷4h S¯ÑÊmÙP4*‚ìFü ô‡ÿq?yÏ0C`1¡`:|ÔHoƒ¹;YòàèÏ“Q=K»²ÇÈ&IÑÀ|Í^I;ThÍ®•…9ŠçÐÐ|„о·'¢ CÍÒx;`Ó¹îš>Iú7¬ÌÞ8E0§ˆN ŒëTE¹,/ݰ‰À{}Z@ÿÚHoámägÄ7áfø —ËÛkË3ñ·£ÇLJýBX¦@’ æúd›g7Cü]ƒ‹cn«"ýÌåð¶@³û¼ÏK©/“HÈHãubìx9äþ3Ú²ß~*uبˆ+cÐHâž7`ßéovS-ºÁÈm¾ªåIÕàÀCVÒÃEb¼7r"qÝ ºè•p0”&L©³ŽÇ•(¹†½{ƒ¤&q\j !ñ!\x2‹ÑGX?üÒø×zåÓ=Ô*ÞZ*ÁC+Ñ Ølº¦ÿj¡}{c·É1?­„e Þät¯sįÖjÉþŠóZÏe»TÒ®’&oöŒå~ðËo7‚G’-Ã^Êv‹em”úC A4a5mP¦E<7á.d²ö™ÊÞWT§ñH TÝt=Û553œ†FYžM!«ü¯¹’”ºˆÐ XB…]ý/xÂó¼ü‘ïib+I½Ñž…Feö˜6¨ÑÔØd#ÈÓFÊ㜴Ræî€LíBÉ_]p;Ø(mÐ!çô%`E»¦$e*jÊ_yŽ ¥¹&FŠØ¢åÚË$Ëä:™QŸÉª($£ísÀê¶•( L Ç©·_˜).*Ç=?±Ó*„Ãi{¥ä=¶lLô¼Êí¹!ﬞ֜±‰ŠÞýã§c¿Öàa8w’”áõ\Ì•þÁí^°×Á2Åf½2éÈÜK;6LE§ð¾ÝüCºêê(W½&@ªèôàÇM!´äBœS«ã3 däaÙcÌ[—ØÖ@`±#È„–< P”h+TÉ|LÝ)b`ÁCí‚MÒŸRC¯§b/AƒvÔÂê— Ô¹Œ"æÝø_™j ©ˆ¥{ Ía¶…löV$œèdc¶d<‘4Àº¡ûÆÞ «¡6óù•kO—ƒW ‰í ƒ<5÷˜ÖЮÒÉ1Áµþ0ú¾áel¿ßê™ 2§,tÙ#mE±}òù–¼,É^}ŠX–\n L¹IÅ™e_€Ï°•pºQ”Å[:‹&MÅ^Ì" [=çëåºï982Ÿ†æY½¶ñ‹Åÿ¯ .Çôê€?ú_“(çúƒqb™³°uyáý¢ŸÇCŸá¨ëß×ðµÿ©ªÜ÷L_‘g–2âÔÎã"OI\îà(~ ʳ -%õ³èÔ¡P‹¢;²b „›×tÏØä9Ñȱ›ñ.Œr°ímÃnMÚen[Ž´ºS#^÷Õ*„™MT?zX»tƒCjÉxõGk†ˆ©×Ô%·¡žKš2ëÉzÑ×ÈJgM¿ZI=M¯~6Ÿâ÷ Ö$)1b–sQÍâÄíLöNqö}Ý5Š®Hºñ äÞ9BT#ÍÛe"[­Z¼ $7Ù¿µtûV“Ø{½O§ƒWüûñ´§.Þʦ×ÏBî©è~˜¥£n3¼Ì(¼,0{n9äl åâ5‹RMÝEˆì÷à'Ïf—Í£j#Mç?ÚNäjí:•g‘wSþ_Õ¤W%õÉŽ†Ø 2½s_ds¯§éR<ÚyºÁma6$eLOÖôÀ£R@‡;?p#?è‘\ù¢á!"Ï´éèò½€Ïן(nUqÔàAlƒ"¸õx¯”Zh¶ÎT:LÑê“c ÿ/ê_r)Íáî\éòŠâ£M”BñìßIòŸšÄjb endstream endobj 684 0 obj << /Length1 1514 /Length2 6615 /Length3 0 /Length 7627 /Filter /FlateDecode >> stream xÚxT“[Ó.Ò¤W©¤÷Þ{GzoRB $¡ƒTi‚ôÞéE@Št¤KoÒD@ŠÒ•òGç|ÿùî]ëÞ•µ’w?óÌÌ~öÌìd…ÙÀ˜O Œp€¨#à(>!~Ai€Š®±¥ @PP„_PP˜€ÍŠ‚AþÆ ØÌ H(.ý¿* ©Qh¢.xà ‰„Ä¥…$¤‚‚RÒU  Ðå<@À!H6„»¯ÔÉ…Îó÷#€Ä’’’àýíPrƒx@A@8@ˆr†¸¡3‚€0€1… |ÿ‚SÖ…r—ðööæº!ùNò\¼o(Ê`AB<¼ `À/É= ä4~6€‰3ù—Ááˆòz@hAàH´‹' ñ ³Œµtúîø_d¿¼€?‡âú'Üï_ ðßÎ@áæ„ûBáNG( ÐW×áGù x@8øC"Ðþ@/ t@~oPW2Ñ ÿèC‚< î($? û¥QàWô1«ÁÁ*77…$øµ?U¨„>w_?Åu…#¼áþ¯¡p°ã/`OwS8ô‘'DKõ üs‚ b‚RââbBÈ#Ää,ð+‰¯;ä·ñ7ŒÖèïŽp8¢e@¡Žô?è <—Ý q·ÝnÔûâþ³â‘²*€œ„cቔÈFµn0»”?6a”Y*Ñ7Ir"àdc¨ðœÃÙ±‰`¦ ýžºpÏšõis Yý ÷£³^†eŠÖ:ƒ~ s¬âPuÉŸ^"> Xè‹¿õUBtÕ>ÞÛ²1D¯ªÛ‚e)ºZzÑLVh?;Zha v¤s%¼a'Ür§º¥¡™êO Dã3MK9´ËÑÕîIІ º8ûa®wÑ(K-å¸ä ³%~óô'{ÊFìžú õà 2L#g¡—Lêy_Kª'y"aD*6€’â¥N¼p/ÇYDãÄÝݽƒ{õç0÷JËaµmQÕg› ·ˆMÒwÐÒpí ý¡égÌZwb_ͼú¹u÷›ÙµjÆ\&³kôkÆ §"çý ÷h)ÅÌÓç9þß¾E>©—Á°R;O$}°«èoM£’4Í•Êzª×eê™ß›­L^©´S†™!êÓ—¼Zóö“zêSîɤäÔÉ|ç Ø(­ì|ÈRù½)5‹fÊèÇËH%u¡;ÇPÕ™€–xFÑŽ7oz$‡¤Ã•œ:ÎÁ¶¥¤ua`‹YQŸé½˜EQÖÒôså‹„ùüL`Š Ù765Ъwô×/CÒ=!<³¬i/8Ø÷ꎟ°.hù¹ÀԬæ_ ¸—©‘L.»bÀñìÁ‹‘¥ ¯ÄYÞÖgÓR]…Óú=…µdwî¹p /ây¹%!dà†I²b‘^’˜í‘Hj´É§zIÇÖ¯aIdX‹>WxQ• ÄÌçi6â'øá„E?’Œü^Pœœ8îøGNÚ’©:8•Ý,ôÏÌ\WNÙ üñf`1)ìÈ¡r⻲^k7ør楢 ˆI2¹N'ñˆ#Œöó-í¨KQW}9šƒëJÅ9S@RÙï²Bíé ÍgWÌw™ÜÄx°¬ß3ãîŸÿx=¾°=óÑj;Ïúš=öÓɱ ™$,5~ó5²…=<¼[ a}Ý–+‹ÙäS_0ès­êpq²~:¤Ã˜¥@&~;õÒÓÃ8š@Iì8S\YŽl©Ð ¾”i²W_7ÑÎòd꼜ÂFwŒ/(Ð?jj`H1&ç)C”øÖU98îZÚh˜ù8ë_A¤WŠñÅ™ ù½bç(€Ñ2¿¦WDºù©Êìýæø`X°<Ëæt[a–—óàØUKÎp&O¼Ñòê±+Å5Ú­—J0Øb0ºŸãw'П·xˆŸ·wË×[¥mw lz-0I¹ú’=£nÔLòu—¡Sšß$»ÐåLJ…ÛT-g;øi¨(°°…@–‹½™·ëÒÆÄãFŠ ¶Y?¿n‘¾éxÇ5ÔñLíþÂv1˜£ª÷S=_Ká[a ú~Û×g‘‹]ô± hÝFžÔX]ÒõêKN¼9]Œœ4N (1«b²u4‹ßµj8=iÊãÊøvûQÏüÈÒ7µ¬­8?û…îhì•=ŸbýmAr3Ü+zŽÓœ‰ºÉ³r”qÙP Xa¹Î‚ ›‚3Ì2ìIß¹«žy£å›õÙmåÀú´×ú¥ÞÛ«Fœïg'l…ØH1•.¯öÝÂÛ0bÇIv`naˆ™·û墴†ŸZ©ªÃ |s)’ãß{Ý#ÿÂó8¡(Ÿ©/E­ôìÝ«E¬$ݽyê3Fê=Ô¬KMHVÄ¢JÃŽ—Þ዆x aÉ>Ñáíü<›F¡%š„7±)<[µœ›-f³_Wc4ʪ`¡ÚŽôæ”~+ùvr?5Xü9*DG",t%œ]w{Së"¾Ðú |¨oZô›Öéµ h‰V½Å4 ÊGò}MPíÀ½)†ÎÊøGó‰ÒàZd^TýÛ5Ú…f¥Í”–n\óªÀÃ$Ä9®[ÈøÄ š»á9R_âXÒ‰áíú>ò.Ó…¦—^Y<”%n²÷K(« ãÂuHCe¯™´‹œ<ÚïdKr ? «X|ãâk’ÒÛhæ6ø9}öQ験Ê0mâIâ—…7­Y·¤üpÚ>™D©¬ ô¡·&ögDà”"¹Ò¥b<&fµž \jL´Ï(|\ ZùñyqÇ.x„jç^}%ìÕʆ©ê|1´Â 9o2àƒ#NÛ;8d'-;Vq!|ûBıù!±Üjb÷ÓÁ‘_‹ÏÒümT*äY¯±Ôñýœ˜'£¸_ Z1fp\bÞñéý 9+«FKÆ÷k{:-ǹçp ÙR‡òÏÅDåŽ÷ìÕê˜E?>}{syáFD ŽÙ°Qî󳔨'´•Û½4| e¢ÛtsÖÿŒiøömd¦˜/¿EX<ÃôØK®¯Ÿ M 0JÎÀBÚù…®••£1.ËA•…xôpA?š —Œk÷E¿Žß–›î°ù…ÏÜ}ðªeÁ¢ˆ®°G¥å+Ø×ù‚{æ~t¿uòý"Æ0ÕûjïB“ÜÝkÔ¹+˾խdx}ñПÃ%àwŠÈ¦±¥Â¸kè÷-¤¿unɶgIs­è0:bŽÅQõJ%±“\dxý©Ú#ñ¹&ß+%9õÖjsï†Xh÷`.™5qø-ZŒ*1¾ç‡žMÜ©Ÿ5iO!ëÍLXÒ_%~°÷åxÇVZve]r$”ÍýÐ,ÜÃü•rÅ4òG@6FÚ}Üïbfá{ŽS¦1» BÏ/§änb³Ð¿gzÄô zq·‘YR_K™žn~Jæ&`äqrW æ­åí– p©#S •Èþ6K˜ô%­¦1}4ˆG@½Œž~¨eD°0 e”³ÖƒÉÏÂà !t¦£í"6~Ùœss?>|‰hP¬­[O ¹±;ÚUš)]7¤ÚéRf2;}Ìz$¥VØJà"GðÔFP¹ëïScG"&r^¬~è4ÓU/š«œ¹½™½¯TVI¾ÖñèÕÄÑɽÕ7+S¢·c˜"‹&…^8Þ}‡_uÂ;gÜŸ/~ºÑŽÃðÜ£¨Ô:q¹ÛËþ#a{cÝÏ8šÓ® Ÿs Ö›|úðâÝ þÀ‚–ñ;£)¯Ëh>Ltªe¦€jë²CåîVw;2ÓܺÇ=ÒQÁ+°åÛm$ÙÊ©¸¸ø4ËÔܡثǮ喞·üBÞ‚ù­[*äë°â8ŒšØü†eÚLEsû"Wò+Íl"ެïEŽž'0åönqYG?ÉÀL”^Cq_Løi³«’–M$îIP“qáçË´Ex#]h.nfü,{·í3ÆÁDŽK"ÉúÝKö×C²«ãýEéçLStµä7»‹<) âêà&قǾnûHÙLÓ)wf»NÌRÃö÷ß69Jô²5¾¬ádÈcö—½q±i ‡ŸˆXÈ?(ðSXT=–Ó»xr«ÃNÄçÿˆÆÁ’SžeQ’{ûiçИk™¯Èb=æã ø$Zs£‡(^Õ{½å¦(˜°ƒ>jüÜ_-‰j¸¸÷©wÈ"íZ&?+•ÙÚ–3*çÌÏ•ÕÕ•ÕFt¯† ûäØ\𣆴MÛ_³ÔdtJn\oÓôoö4²µœÊ¢%æ%xΪ^ö.MSuñØŒNÁýø¶ïTz ¥Á ›º\[hÏà€r$îÙâY†ö‚sýc½ëfl­a»Ý¨`¼#j¿•iGü-|Ù™´”ØË[ö¢èoe5¡¹íWkˬöFø¸$¡·ß=, &[×vu,ž <Hˆä‘î6{­ívi/™ûçèάˆ(ÌÇÇ•ëÛ|—6§•¡$óº—ð„4Çb]'\ù^~t©E<¿Áš–ŒB>³IQ€ÿÎk$õ>Ö™©ÍæË°$¹)‹˜ë;WIb ob‚=‚uQò¾r5Ü!*Xm‰:PýôJu0ަ‹þ’ÔË“[OÏò‡tB0÷ ’Ù%P(Ì3O ?m'Ñ÷'SqL2¯=¹Xvêe~|0NMëñê9ºü¦ò¸^¡ëAX›@’:‹¸)­ ü.æ)ÏmÙpAZ–á™Ê)¹½¯È•ƒ0Ä›µù æQïKqýeþÀ§yÁ¨½‘ 1²£B³õ‘òzž*²â×UÕo.%bêM‘¡Y/çÊ|·> ÷%ß6ÉU»ÔðpZ7Åí#eLe¨oìŠÁ{œº¬Q±¹ ™—¾KTPƒ«ëõi•Ó…U¶± ú:Qÿzm3nÓoˆ9j~÷‰þB"]”1ì‹gÕGøFÖ4“=Y—ûŸñ®9B·úÚ…ª)ˆßÈÞ#9zòP7(4Ç)½‰¯S8{±Aa•)ʤå‰]Þ¿]ÔS¾EB¡›cR•˜åž±° hØj~,|»qì©‘“MxÂ|Õ')Å5WÚ¶å@ç¥ â RëâQ +‰b‡IZ´ÈOÂNñµÔ·¤zP) ¸Æ¦úã ba7ëâ•úò!®æ?\‹ Ë;0G,j8Â^2–PçPõÈš–¾š×[’ÔA€]–óÄ"¤‘ò„™÷é龦M¡8,RÁTR;•Q¶5Œ×/OùÞÅ­|G¤>ÌÞ†ÅúzUk€x÷&ßNrmÿŽà^ë›UûÐ@>)*C¾âOºõà<……îÁ¡ÝéÚÆ[L¤ûΛX61%G]øW;m»•v»Â²Sci<ؤû(†žŠZ뉜º(Ú×åúŠElº‰Z¡+;D¨’Æ/ܰˆÙ‡t-S½ÇºfêTÂb7ã<®ZŸ„Í¥äÓË_H'/úšNEP‘M•7­.%½,¥ ŸOæò‡¬©ftbœó1ŸY’SÕs- Ä$\©V¯“ï³ÝÖLzˆÁ[å3pЬAúkæÉªk“mlF.àŒ8—Þi±Ÿ¼ûÃweÊÙ˜ÏÜŠ<žküÁ]Ž×µçÃre›¼õ>åÖaÒѬúb«›áÞ½v“Ñj‚1ÌÚ+"Ñ“#,¶Ÿ¦¾;=º–¬sTà”qg‘»vÍóg»j fUFöB6bðõ¿ݳ'Æ+uOÊðo^-Ó§QIÓ¾RÁð®Íu£¼]ùaØøëKßLS*:§…'‰ÍÔ>Þø;KŸ¨7¯dã°=f ßTK–‹h’±Ç&é'ôúÉvqï}‰õh׿K(3†E#Ý”Î%nµ7Ü7æåå3+í 6L¤ö´òµ£|efI®xáÀ³Õ­a³«ñùÈ!î}¼!nñJ…´KU›Iÿ6mw¤c6§“¢·c‰YæHõnÐã½X!õï;L¶$J"^UøƒëúÙ^Ó5 M·¼ ü~|2i^ù1"¸¸Lépÿ,û–u¶ŸïDÒ,+6D¨jÉuV,l¤´oÏÙÿDÑ?AÇ×\¾ë(jSþGbÍ–¯âçþ›Óµx¿ÿRèÕ”ù§Éú*;H”ØÙ}â[pË#ß}IÅã`/uxnî>ÄèÃüÌ’tÎáy8@Å,¿$òS°!ަ·ý…íìË”»\³™|þ¯õã[jõç~“•õ4ø¼ÝÞûeØwê­ì4™¸Þ~e|Õ–—Í2_Ëv8:ó“i©ËÐò}¨6Ó=²íîQæªKøZW±Âþæ¹Hj¬w8e|þ¹1ä€k[ÀÝhðbeñMË]áFO‚ 5H’ØOßb-²Ôꘃ²®¥ô[ÆÇ-‡(ÃWt§GµÆ0ò|—þ3@-ßm/Z Ò•àõÇlüÚ~õ( b·.7ΩÕvoón@Ì„§Éäti\”|!@ƒf‹¤§éL…§šå‡„¢æß&³tš·>Ó¿ú6•(Ê­ï÷³•Ô|âJ©´d¿\ý°°0A¿¿+·'Ažby7³áìâíÑ.¯’|XkU=&U Gár4&sȈäoÐãÞzeÒZ˜’J¸kR3aš¦ûÈ²í¶ `ªrºõÜ£âØ ¼¬çƒêÛätæU]Éͦì±+ëÙö"óýÊ@±–aϳ³h®€ÀËW¾dhbÏÃx[©”«ÕkïJVwq ÷õöɦ= ëoëê‹+™á{7£ÀªõÍ½ÎøAxaLŽCkõ}'iu‚~ª\%[Þ[”¨Z»ãõ\÷æ tî+ö{Ä¢&_%Ð4ñ¤M*öÔ®+Q&3xiÌÚw"éÞù°§;KúN±ƒZ]þÞ¤Š\4žÈé§+¿ù½E£ÂOÔ¼?ã"-^Ú½î& 7Īøfîmm*%jɦG¢ð|ؾð“ß‹!£¥f›Üov÷£â<‚øÎùo9¿²¹Ã-FOÿõæÒ©^#%™´±´ïŠØÍPÅ=h‡­Š¦SŒû.Õ£J«ÏŸ l³mƨ2SÞ¥|ÕgÖÖúb2þ¼)¸¦=Ø:Æ0늱u+ {¼MEp®³ÓÏU¬Ü7fÂ|QäÌײÅXq /\ ÜÅ\4Àd<7z|ŸÊÆknH¼~©""¶›öÛ³Ý3ƒ÷ =æ¥kjë!iÜ·|òÀÛ"Í¢ìòõJwôÓ‰X¥Q©ã˘¼˜è9Àññ† ¥F¡ö…ËÕ^ EùÈõ¢è^âNí÷9ïh„ƒlqÊÒ!;—R£‰ÁXIÌht3öO{+MÏRzQÉ©êú7Á ›æä’G¬ní»œÆn³CöWºz§;È5×@ªÎ¢Ï;I=‡ù,ðò*M™|š·yXQo±.ãî>ÝY[Í9ñ%3a¾£GdÑÛ¾¡¹“'ßoykÌjÏåêùQÕô}ö,ÿ@škœ‹åóá Å3í®”Ù©„†™ Þé.ÅLËù}!7 ï´ÞE­åÍÖÑÂeöÀç UÇË×¹+ær‚Ä2Öú„] ’©Î Ý)¦Ð£ž-§gr âÕÐ =3âù©Tnã«gÏ!Ë*ø é­V­ñw.(qÒß)µ§IžßdË–¬öeñÁfyXü´‡í¹K~P†¡â¸»§J‘³D»)Q˜:ñØrF¨Ê0ÝK£íû¥ˆ÷=×Ö’ÇB8Šžð—Ô¤ëŽ> ‘Úh8(œŒTçÛ\,ù†Ü4GEmMòsòˆŽWüÿcÞÛ endstream endobj 686 0 obj << /Length1 2186 /Length2 16775 /Length3 0 /Length 18083 /Filter /FlateDecode >> stream xÚŒ÷P\ÛÖ ãîîtpw×àîÜw×à xpwwînÁ%¸“à®s®äÜïÿ«Þ+ªš=¦5ç\»›òƒ²£ˆ™ƒ PÒÁÄÈÊÄÂSP—ae°°°3±°°!PRª[lÿ‘#Pj]¬ìùþa!æ 4½ËÄAï† öYW[+;€•‹•›…ÀÆÂÂûCg>€¸±›•@ ë`tA spôt¶²°½çùÏ#€Æ”ÀÊËËÍð·;@ÄèlejlP0YíÞ3šÛÔL­€ Ïÿ A#` 9ò13»»»3Û¹098[Ñ2Ü­@–U  ÐÙ hø‹2@ÑØøojL”uK+—)ÔÌAîÆÎ@À»ÀÖÊhïòîâjot¼g¨ÉÈ”öÿ2–ÿ—à߇`ebýo¸{ÿÈÊþogcSS;Gc{O+{ €¹•- $)Ïò1ŒíÍþ24¶uqx÷7v3¶²56y7ø»tc€¤ˆ Àøá¿ù¹˜:[9‚\˜\¬lÿâÈüW˜÷c–°7s°³Úƒ\þªOÜÊhú~îžÌÿn®½ƒ»½÷¹•½™ù_4Ì\™5ì­œ\2âÿ¶y!ü‘YAN6Ð ô0µdþ+º§#ðo%ë_âw¾ÞŽŽów@_+sàû?oc7 äì ôõþ§â++ÀÌÊ0ZXÙ#ü‰þ.šÿ ¿÷ßÙÊ Ëò>~¬–¿þþû¤ÿ>afö¶žÌÿn1³Ž¢¤Ö' úSþ¯RTÔÁàÍÈÎ `dãd°²²q¸ß|ÿ7ÎOà?ìÿ–*[ý»ºD”±7wðþ‹Äûéý‡ˆÛ¿'ƒæßkC øß Šïó Ðü=NÓ÷ÖÿÏKð·Ëÿ¿Ùÿ+Êÿëøÿߊ$]mmÿÖÓüËàÿGolgeëùo‹÷yv½ï†‚Ãû†Øÿ_S-à¿Zhfåj÷µ2 ã÷±·xŸsFV&ŽÉ­\$­<€fÊV SËÍÒšñžÃÖʨìàbõ×½óîÅÂòtï«gjó~·¸¼·ìoð}³þ7¯„½©ƒÙ_+ÈÆÉ0vv6öDxŸ€wÄ ðf}ßU3 Çß#`f²w½»Þ9úÌœþj,'€Yä/Ñ¿€Yôâ0‹ýA<fñ?ˆÀ,ñ_ÄÍ`–ùƒ8̲Ð{Lù?è=¦ÂôSñz©ô_ÄÃ`VþƒØÌªÐ{>µ?è=Ÿúï{ã?è=ƒÉÄúŽœMm€ïosÐ9ûåÿÛÿ*ÞK2ý/â|fê`ûÞ«ÿH88þ’ØÙýIøW™ÍþßSÿßy˜ÿ!«hßë°ø|nù'×{«,=-öÿ°x—ýÓÿ»Í?à{½¶ÿ€ïdìþÀ÷„ù¡Þï,f‡À÷Òÿä~o¢ãûÒ:üaÆþÍÉÕá}_þçÄXYß‹vþ|¯ÐåÏ ¾;¹í¬þ÷9ÿ²ºýƒÇ;[cËz/áOš÷}`¹ÿ³Þw×Àwênÿ€ïyÝÿqìïÞÿ€ïÔ=ÿß©{ý ÿgÕL]ßßF߉ï{øü÷«ôš",/8˜ò[×·ß׈º3îM²q ^F^ÃiíJà»¨Š <\±çG-‰tÏíG=lbœ°•¼5Ûhã°Ølø¤Fñá,7´C››ì0øLc>ž¸È»²íËuué±Û›Yàœµ¨»_œ¥ÅepºØ›Ï8’ j©º«´<ƒ¥núÅ„1‹ÇÃÃŽÜ!’ÑQ%Z+2;×)Cárùqòw±äÑCêÀçöàJ¸ÕV*áñ1²£ÜuƱзÃ^.9£iÀ,ån¯ÞÓWšÀëöàÏ4&.ãjÂäü™2»Ó—Ò—»Ñ2ª-ÒC›)b›_ÉÎ7áE²=L¨· øéºÄK¾G.'©z±sR—õ–—Ka JÂ#ö/ÁKÎü ®cÊF—󑯙‰7PwIÊœM-dKÇlRV»ò^d1…‹ rޱbí ÞñW ËŠ†µ^´5ü8ªÕ(hïC•F¤ü€yñDrB¨Y@äÃ5u:.Åk•‹2þÄÜNÍÜ:ŒÏ|V{Š?Ôgö˜ã°Àz5د5e(Þ¿€Ð‘UkŒä&Oæh ©ö˜ÌXRŒ—gqÐæ ºlÛúèO•T:ýiö&Ó(B!Èg5Ï}ÆÊ|ö¥u‡h,Lÿ-¸^"Ïë¹ö—Õ[z²mæ¹VÊ[±Fí¸y\$b¹ïT®S´)CÈÇŠ$ïðú1®^¿³ áHYµ®º²þz·ŠÄúk«z2Š‹:¥/yi¤ÙšË*qÂ'`?áØÀ.Ë+عÊ\ ÀKÆ&|1ê\ýòëÚÁ¶I*wò“yoºöújÉ'K`Í™L0.g‡ËwüÛ¥Hf‘šOJí~Î#“#Í'ÄXyÌ.Kˤê)ÖÓuž«ä¬þ¦ƒÄâï—â €AÃÂÀgÑ¡¡˜<š×v# Óúâ}¢ õºl_o©ýªÁOPÈ4`LÊ­=ôƒÂÛV!Õë@z±K} 5éÆº(I8·ÿ‰x+ Æa^Þ²²ªèI„ã‹F œÝÁ¢ê<`QnºGU½9ÿ¥è)àUØÚ™>83G‹Tñ 3ø’°²á§hYIÉrf´&^¹·Iãtz±bÄÇ|q«Ý˜S’¡ö É]ǬƊý¬W3*uŸŒž‚†sŇ)Qõî4ÆhIJ·Ûcj‰H×…ªiˆωŽNp±éš2á%Î+>_–]R„òäãW›œ˜¤›W?̘ Êõ³,®ú?²Ý è=EPn$ØOiÑaqºÊàlPýX7Ë—/0תi•ë§<èCw³³‘Þ@˜\•fAk¢@4Ψù(Ý”V5"R%½Ynj»H‰ÕïP Æ N¤ÍXž¶ ¼5ÆhrscTY’ç$‘¦ÂªOMEæ‚ äÅÀI,2羫ª¾°ç­ú*˜úõ^&Ǽ|N•*­Öc¶œ±wÖ_ð¨ç%ϴµö› xÈÞíGDêº5+ÖÜÒ¯j*ÍÿT"tNWü%žc2bÌ҈ςPÅ"­àÀ¤¸™<ÌKÖJ^.NwA1TÖž±íé©— (áU+@óö$ûš©"â~Í|1Sd•CÀ°ò=-¬‰‹‹“/FX-Í™œ­ù <=†þJÿwçÀ¨NEhÝ—“¥þžWMA}$ \¿ñÉÝ­h,Àêå=Gtç?ñNW+¿õÒŽlÐ+ýýR«C懨ƒ²bZÏx&L¸™ãì·9 E[M¾‹ã`iĵGš¬GÒk ¦¯q˜b«¸#B?îÍœwÑ»?åzõ²'Nˆ‘Ò<ý,óŒ/.«^}t) uÆUqpÁÊÝßÏ=;™æk~k>ñ]êW^“¡~U•°\û>ùDBÔnÿÁñ4ßת­ë‹­“4uA¼P$Ûã Jr\ÝŠˆÒ”mB0[9 º€<áI·p,Í¥›Ô! ìû“8èòéÈxWŽ8`Ò?…Ïw­ƒ—YaYßüwŒö²­ùe>ã£ä¤Ï ïQ„õ/Te0 µ†™í• †}”¶×VzÌl2k¦)Чk<‚^ ëUß"Èëš¹‹P;­Ö¼êð…ù“,µ-'ÖhÙŸ^M %jö§Dg©ŽI­žÞÚyç>KpÓÌÃãF ¯²ª ü©oÃõyó*²Uš$®•¯.´,úÁ–&:¼ô%Ѱe–r»¼Vë÷å'}ÈÄ$jÜ}E÷3: ªXªØ©¯ÜB8Tø\‡ä¾¹w\ÓÛ‹Íù¹uÝ.€À²êùRŒë=Iõ`ñ?áñœvÈ\öêzΧ¦ªqüpÍÆº1ƒÚãz‹íG…aÄi.âv…ºýfì"À—½r9ŸÃá1 P~\1ŒQ°1“ýCź2÷/ÎæÊ%¥¤U¥5ùɳl]šÄOjw†Þè7&¡Â(FŠ<á’,×<÷&þ¹ò²Q¯"PP•wûÑLèçÕɘÞ6…p•:˜É$fÍy³ú­*p¸Ÿ½ô¯¢kØÕZøTA2gkD27Ž™"7Ř–t­¥€>-èš¾CtÂË[CÔ‚t ›-¶)ª½hM½¥¦E©¡ºE±üÉR“ë Ôµ©¯ð™Aìçs- E.[íÚïãëqÆ¥{?îJÜ}´›ÏÇΕÅT*I‹,ºé3" úYæóÚûÂMú$QV­÷©ûçöBgŸóÖ(G[^hfºÕ…ãðƒR'˜°Y塘ܛƭŒCCÖ¥+Ë_îÈÅ¢, pa«ÌÒ"¨'ÔIH…ú?…áÓe\%°‚„% -g9S{\xËâbP>\OK}rî ¤XÈÝœe_ÉïvÜcuð$XòX[Ágˆï™…ñØ1ÝŸÚþ®îEõ±õAGC*­g.¿_Kã§N¥aSր߲¿›­»G°Õë{^ ØäËOÚú’AíÃ8ë肽À Ü/N$¢?IDLMÔ±¯¤ å%Ý÷³äq&Ù“~/ p«Š¥û`@†vl¢gƒ÷Û<›êr¡å—åoM› ß”ek<þá©ÏÄú·F ÌûBÍrp¦WrŒ¡Ðâ#Šýlѽ18x(IoxìœÈ¾€SWJ‡i˺ªBÊ“æ@/ Ž•ˆÎq€ïAÅŒ+Û¡eö[Fmw_»t+MxG[ÖUKƒÛà(Yä6φ˜vÚc~™ðô«ç¥ŠyG2(c»þæE„¢$CèLgŘè_úŽ~m(§.³êÕZ’½¼kþ°Uçr€ÖE]š*iå.EÅ6jRˆ/. ‹z3-=y×é67x‰(¤Âz‰G80GµEÒwëÔ`¿qÊmíý ´ÙÔ‰7!a{ð?oµ“¶Ž`õuzi+7TfÃñùiÌó«pÄ/|lܦNyë–Ãá¡Èðä íѶ à:v4üUj¡[ú\\ØU4ÚUùÈÆêϽ§n«á,Ê1bÏ íÑ5FÐntëq4ïí¥…u.ͤY¼ˆ÷×wLÒ( r¡«’åÎô y×>Ou-¨[æ6ܱÁÓJMxÜ‹Ó ˜P¯fætù¼¶Š|CVÉ”ÕäŠÙ*Hr=sR±]\œäá´7ëhMQ¼v)¨ð)OµwëvOºݶ1_¹}´nœ|Û4”OúZxWæÞ§ø£&ØWrÍL›®5n4òÔ=jhÿl’ò»±B‰i_Žÿ sÞ)Ñ…‰ ‰¿=vz:›Óz¹¹9ºJ`L0Z4‚ý!–<ê¢sd(µ{ô"\…f^¢q]IaFx„CÓÅSä1JR"ªí)>mó;ˆ~©!ä®Óâ5?=ñå-ø¸óCErµyŸ°S½{[h1C.Ogþ twC=‘à @öB»ýéƒ×·‡¯¨é®hhØý¢jJÖI`C9M5õ¡ZdŽ®SÏ€D»kcUgÖ’çççÌba4ˆ™ÍÈ ¦­7U–¢Ð¨ 9Æ™÷|ª…hýÙüFñÝ™¸ùý‡Í AŸ¨øR•EȾ狚.xÝÈ>¿)ôh7kÿÔÑ›reD ¢æs¼zA˜Ô«Û¯†ú`$9M=I^Ǥ Hêg š¥3¼èÖ§«:×±ohÄoþ˜œÛÍÅ àù1§ñªßË©?¤lL'o·N½ 2á}ŠU¿?@¼Èƒ£!âêc¹‰‰XR ¢Òpæzò ñœˆðð8£²ŽÝ Ô” GDäª* #‰¸ G¥$æl´ÍCì´ÆiÚ¸Úº™¬OåƒCðŒøÔ ÷éuRzŸÿ(©¢¢ò"’Åθ©AÑzÔìP{´Ò‰>Ó̧ÿ 6O1,îÔ~#uó|˜ 4—÷AÐÿ¦Ýt@‹Ê40ºm.k>Z“q‹ÇØ%<å> 0G—k¯§wiË÷Êas¹€.ym:æ ï9òïìŒØã±÷w|Tg^Xn¡Ò~‹™)ü™»ªÃðQ=(„ß½ñõ®t?û´¦Ìk¸}¶xgêØ 8ùÓ&ÞTÐkèüÆx÷AÚhÞˆ7ù–£ýa*jCzYÊ ƒ™§õ¦õ23ú|0éJÄIg2 ‹Çû¬¸=Ý@5Wí»ÒLžI·†°Àý*xÆìóØ(V¨Í–07¦…ÓýÁ]$å¡Í𵺂ÀGµ™ÀàèªesüòV!áòëÊqÀž:[€sãÖA—\—²Ðq4EÊÜòHäâÒïZy5EdÎ^IÁuÚˆÁä‹<à@Ÿ‘¥‰„9‹Ú$CŪˆÌ›5>‚Ü’Ìb茄U= ‘ç®h3†¸£ ?«Î¶4ƒùrÖ'9½@¯ vgÉVƒ¯²á‹Kµú'îVv=‡}òcŹ·[¦E Í396BñÒ2•Èb"ÃêZçãOç`ÌXkÒç”ÒSpæ úþ†Hd![à œ_éy%¦`°©÷ÃŽ· ï‹5œÇ(µê†ÖÏcVÍÞ#_þ³x 8ÿ¸YÏ&Ï1hÐÙ9_laͳ‰ÅÒ}^þmû¶HÀ³ÙãÄlïY½9,—ÆãÅÅ hÝrd¶sOýÓfÑ'lU;k±=uâ¨Ô³˜Ü)(,¹³ù!}‰AõµÌÀoóñö´ý ¨¢"Ï}r†¹Üv) p\ËÕŸ.D‹_è¼—îûõä/Byô«…ô…ýGX["p«ÆÍáWjŸ-ÝlÎä`ô‰ªÃa ÏCtõ³ šÕ[CïÊÅF]Èl—Ÿ¤q¼úÁ‡<‘'Ù¨ê•]û;˜öüÜßøe>»ƒÛØ7Z}28Úh³ÜS~•7†=ЪgÔÃF—k®ÒƒyÒgòƒSfoÐ+õŽx`ŸÃ÷ÓKç+ÿïFôG:½x0`R¾ì^}S+qQµiêëŠ^ox©ÃÂПÂ-(„ÖœaÑENîEC¼ÔšÁ­Ž×RBrü)µ°¥3€*d!H¯ O°ób†&DnRçø«ï–†"}QLÞvØ‘;ó˜ÙVcÃ]hi 0KÖ n­nK“×£2X±U–n4SxɃUCD±q-‡¤¤3u¶Ì=ÚªôÓ>2æ&ÁÞ¹–“H¹áúœAºö é><ú$Õb9 ¸í¢óàš#dtŠ…:sÍC#)‰ÕëtF ÂÏ«_a3 •C#Åł۲.¯håç%ÄWÐz×~œ¨©M‚9€”L"àËôÒ`Õ™—Ÿ®Ÿ\†gnºI£n›@åÂbEõÊæ’¸Å·icðkLÆ¿“iÄ>,m€‹›ôÜÀ§ÃH”z,[Sþn™ùô{ ÷LNë%žõ2=z=ù —ù“ ècg¯?ç僻@Ÿ ‘ÑT Òßç55З ¬ÚUÃ0vÜ´¤¿¯Ÿœ’VºçŠ¿‚ïøLÌN:¿©‘]¼­"°×.á eŠæ zNÜ»¥ÿ3žÁ Øn–?ºŠôì±d§iÿŠ¢8¶Øùú„é‘KÂÌùNpS^]8ÄTµWb¢œŽ‚%a²Ä”£vÖ\ÎíNŽ!Á®+1.3Ȫ ±½®Jo'0%'S(ã­/=áÕ¼ÌÐD_ÈÇèí™(m|DÒå@ê®I|e.Ó{×k:§]À1vžïÜŸwÆÁÔ€ÀñKéZÔív#¶µ"ґɶ#ñÔ udлÖ~·*.Ô“Ðõ«DŠIˆ9ʈ­·Q[£º96øÀOÿÛÏ4¶PY°!YS  QìSáúã!Ñ®¹…°Ï6m_ɱR‹IV\Â.©“Û ¶/üú-I2¬ú3†Ã~[8¨ùøŒ UÂz“_)ör9¢‡Z*ÜFv4 7îã¸x–‚R/€2Œ®’å}° «ÛS'¿ ˜¬öf>• ð¤„æœ5É|>‰×eÍÁ€ü†~Üí¨ÕŠý,8yÖVáài7«1I~çý€¼êü›`§×$Fa?à*£¿«¸çW >­ŽHÚï Ú#"Ȇ4UðMôyñÛˆÙVÞ¨—?Ó?NªñAÓtcæwEª¨ù=2Æ ^¤èõ¼ÁÁMߊƒe §*ö²VgÛ(IÓqi¶Èt€µX!¹]Dêu±œq=5:S‚’Iô2±ù>}G‚‹üV¦åàw²Wo¿«ŸrÂ__Û‹[KÂåpÕD^¨›¨:¸©Vkù&“Tó-N]s"©DÈj—ã=ùÃ홾~TF—Í2L6z·”01òÊôÍûk²G¢*G,Š¢¹,9„¤Çx£_ÞDAZ]‡Ìó™µ£ô;`ëØÎì›YäëÐd1=«ë:XµØ?Ð+Êçý€ÔPü¤óô*–Yu¤±Â㾸röâh&D³hLU9Žâ¹K’ÓU¬Òæoº+£ß z?,͆ÂEµ¢±Q¡XŸ(nŽMfÇqª1Ðr¶÷H…‡‹Æ(()·‹£d„þÌò2¨Æ<Ñʰ‰2HÂY•hÊÌ? #‹¢Å`sëã\ó(Ø[ÖÕº”9ò¼åºI˜º€…>Gx¯C_YöÊé-nƒ9ŽrÍTÁþE+GOQ_³àg¿%¡Hžš¹PYo_ñY Õ‡fþg>ÐgVYµ…ŸN5¯TÙe'®0­<ø‚NI¡­¹É s†¯…¹¶JAÇÞɬ¤1÷ðÑ%°ù$&<ýN­õPšÐBAiô§¿³x I‰?ýøTù]«rQëó@³† ˈÆF'rI«q–«j,T9z‡ê3-ì³ïÓzå€U(GÞè'›X—2O¶Ùåù>)m¨¶+'WHT)n‡´ßð¨ˆÃÛˆFn:)Q1X¨O+¬ˆ÷>»UaǧHmªVøÈA m&å|ª§}r¿ªsë ˆë›3“ f:aêß¿=(¾i&³x|,%k)pjÝsøŽÇ,*Ò‰PêMVgˆ½T_ÞUà âÎë‚g¨t¿p›1iÃx7˜)ÛÚ£“¬¥ ŒŸlÜÐà=vÓõxý®ôfã#1Ûà§î‰O2yËá×uØ6Ÿ-Ô%l±èŸAÄ…-&‹cSXçÌ­$ûy 1ѳß:óÃmM©lt>×UK*®BŠ­u,ýí«RáBýÊ™¶XŒ3 g¹²K®ç)ò&´Œ¸T…ö1wÊÔ¡a£®fâ[Ö…¼(O²‹caø®Pñg_$óIºDBà|-ÑS.±Z’”îj âg\÷Ëe|ã­GtŠ/ ή=Ì3·I«„Ö)[À㵃Žs“'³j=`.÷®½‰4Wïm©¢’¼ªË¶ŒÁ¤šÖFŒÌ58mu#: í¢ÏÙäuf=-InðÂô‹¿jÂü`ÓÚscñÕLm‹ŒÑùèRÅl—[BZ0™,Ü>ƒ üåìÒ¨Ìzáï;i÷Çjˆ‘å6õ–Ë Rkã‹@gCŒéýkÿˆ9_ù‰­yåÌUÝð©«­ Ûb šD! +„/K¤^ÌC ÙÏÚaC}VÖKÂâ''# noÊÚ%Pö¤³Kú¹aÊ6)|ŸJj´í)Á©ûÆèË—Á1pJ<>—´pënu½ôÌWŠ€ 6¬á_v"¸wüìroð\ìÉ6à`ZMøMjùÑIÄ»ZU5µ!’Êá°+À¯©Üw£Ñ¯·Ÿ× Ýžh¡1<ªá÷æIÜ× aØírø=‹X^/ _¶õßé}iÏ1¶´á·gh5ë„9Ï|ø 7“YåÊïfG…VüÝ 9fº—'7L?.‚ñ¥GN¯WøÕá|Ó3úùÅÖÁVÔ„*{yú»dÞ(‹¦9ŒSxŽ\¨LíðÈæ@Ïp1îq»\ÕL$rUª"î qŸ÷E4ƒÍM¢›ðcðÒn#Ú€•G/ÛòßÞQHpgž÷™}ì jkÿ%!©,ʨ¦:2€YØ:•ý‹ì‡véÝT52¦ÏSí÷­ýª#„½ƒG°Q!*3úˆ§Yš‹õ¶'¦k–†+t.—ýq“½ØÁòt5GÀH#nÄzŸ—6šûå=OrSS¶ßNÒXÁ¸ò=&±V˜x¯gÄ4¬gˆ08‚jŒ¼§ÔÕŠLÛp/>5 Zç¼ñ{yÉ™óObÓ3?r°ÀFˆüvïVàvõèsLÙhÒ™ôΗ!Òo«eb}–Ã?"cùyù‘&òë‚wðásÉ+¸Ê'6?ýVTGÆó+†H9X¹™› ™¤†Þoâ‹wjUÒËËA]aŠæç¾|lØâX˜Ãw±Ax÷zêsºŸWlDѽá4äó`ØÀ¶äÓN~­ofzÃ[Û5L@íûÁ&/ Èy}Ô߬œÃŒÇ0µK½—»ù¹œëì˜l^`x¨D½]NÙœYmÃÃY²±@UªÝIýÙG¶H­êÄôéÇuñÏo€áQ®Í_èdõM«X^X@÷¼t½j1šf›Øf%Ç£L&†ñ§MQ‡Š’)=Z‚©ÈO¢ûq[x®ÐæpÅñ-au?±i9ѾԊ¦»^‘g|[‡â6ë÷šYv;}ÿía.ø²1á퀸ó»íê÷ÇÒ –¥2Ýo¶‚\wi"mê]ßÅBæXÃBjxTF;@C±ëœ58o‡¨®ncÀ<.ßjG>¯ª„ž)"ËÇn—«·_?AI¼ì€w­Æ„`èO”ð"£«VºõÈUÀZ«³8ñŽƒ%¿½L¿í®÷·Ëgžy×2{v4øcÝúæ4Á fìœ|Á‘- H_¼#Fwg.ùYJÈËU ̶ƒ§ë)þ;(Ã㾨Ž]Bæ¨Wt,00°ì )vmÎÆ8aŠ|ëåspR™jC-Ïv|öÊ‹Ž¿“ ù7S&øÅ„ºÖÕXÈDsÈqiÝ7?*7F­y«¤S†¤uS%“‘ØÖr®a<³Ê+cøèÔH•$QÔo*tlÃýgûóˆœRú¨ YMìçx†‰ºöÝ¥}FQÃ^òfœõ†/¬95¤Öµh f/¸sïeÄ7x³ ì—zo=¼kt¾lÜ ÔC¸O`”cVi´Äf&QJ”‹pŦ^ßp«¨.ö®pÄr#>mÕ“ “õ§Ì–qd¨!^¨ˆç5gµ.•ÿ¶5¢õ˜/Ô~N¢<‡úDs\ÐÎfêj¬i ‰ñ`Ü`š¨ÆX[Aþ­Ÿ½ßmÕ—X\´sמxq²¿ÆW|§¹Ð‰Eκõ„ø%œâ_}oN ¥y B{ƒ?BL³Š@ãúŒ8Êæû‹.þ[ŠÃŒ¢Õ‚”‘Ø÷‹06Ñ¢…­Ï'yÏJݘGW*ñ_¡Šõð}(à ꥥúhCËŒœ´2yÀ}ËÕv—D‹ùR)4&fß Ì}Ç0”.:âr…*F÷….êë NdE&4¤ßÌEÿ:G:1æú%|tx‰­b¸WnŒqË-J Òÿ¾5c?ÁÜõ±~u+1‘©LVâ™$–¹¡O£7žIçªÃ¦"¹TÀ0;J?ºØA¶n—~m\sÏfÄKˆæð¢²uù¶N4x¤qÂìÂÝ’ÚÍÐdÁefåðLÆ;ýâæ%?t î*p|¾ É»–þ BÑÓsÂíUIzë—¬.W}šS²ÆÓ ÕG¥m-Ç®#¼Æ 6ìÆì,¾>ˆÇMËl,¼W^Y^¡×©¾ŽBÈcŽ#±Jó0u[L#N×UˆáV'ôZ^0²–…FÅ8Ø ƒv£²¢qÑv˜Ê™VÌH É}y 祣–Jš.ÉGôò&Æv†–™A+ ÎÉûOu? –( ý„Ã…óŽL\ôý•v­jûT{±‡Z“ö¤ñô¨"6Y ÉÎ:¬#×Ü8zg(™IïñŸÚ=/,J]§v8è¾E[-UVOÛ.v=|‹Ñçdë{ì|× j‹K#¿è2§ y“U‡ª èÛC…b´‰‚-)Tk1 ˜?wŠ_»®Ôϰ ÒA%´tP¾«+æb¥!+ÅÞ¶Jk žGj Êoì•75f¸½2>¥“Þ/ª_Ïà¾fÑrãñä)º—äD:Uè›^ûFud)£éNð” SaŠˆ»‰9^™ÁXáL·cH¨qË^¥\~žøÒ1,ÎA_Zá@,8jQjÃÏ}-½=ba>VÝä`bÝØUS¹lï®h%a?üýë¤÷›ai€·ÇÛÝÙ^Å!xOn©Vª 0µð«Û–TõÐÌYìÃw òÖ ·+—Âñ/O’æPÞRQ½ ðþNÕÐT]R"NP}âNó aÅÔÌá5ŽÔh£Ä õÌY9³ÊP¨ß•±ë>ˆÝòbôO.Bë<ð ›AóB³•€mS|’D\Ò) Cí™_Õˆ]Ô1˜œ ]ËçqpÍ…÷k‹"FbÖ9š-7A—ðd[êáA±ß¼{×xV/ÂöëòõÝíc[¥–‡4/îÁNYÏû¨-b_Ÿ¹h»|lÔvÛô ý ˆ2%aë«øá6¤5ŠÊû;zRýW®KJ"ë…GÂ`鋵ŠFSœ;ø£L3âÚíèkßh÷À7gƒrDœ--/Á"ûßß1¶oÈ^.ô)?ÇZ'I°~Ìù† &FC¡{©]p¯©›=ËqÃWz0aªï³,=¨ì¹!˜¼'pÇhˆÿ}ØÍøU§Žy„É4ž"…ÚëÓ¸-=·7BÃØ…MIgM+Ö©¥öÜõÑÎ¥ŽÿF½O7o5bϹ­ä !Hºž€OVWõ§N¸nî5þé á„»±Â'µh'M¤Ø H3AùŽ‘LÿN]Ī%1òß¾1EÿzC”ÈœÞbØ›²I@WÄŸÚÐ÷OÂÊüY’ébu-o­• ¾&›ŒÅËÑrßÓHTYGÚŒúÏÅÛòE ©aVÑÝä]ºSˆ¥îr§L‹ElM@'jÊŸP¬ôr®„hOP?Fé Q§B(–oQXº‹&_eÏâB©Ègû¬-ÊŠ§¶Ì–4ãPMU¥JÛY‰ô{”’HòSò²n¸£¤ -•Vqpá¥É$¾/qcŠ9 1ž"Ÿ%|EïÄZз5ÅàÙsëbÆVà'X}K”ÎâeÕ. [E-L}íQï?GNÞ(•uðÄ8 .èN“Ëþ²œ¸°)ƒŸ)†Ëý ›òØß86EkJn‰)”ÿ-””pªmû0éz†ç«€«LˆÁ “´ñ\- bIª¾wÓk2Lsàb OÎiU´gÏë¤÷š5žf[ëÁž~q€¨z¬ÉÉÖ‰½¶c{µù.L¶"žÚ¼R™¥CÐóCeDµVÝÂ.šEòvÅ0–AYAÂKû‰aêÈ&MÞ0m³ø¶•ØŒiÖÑæÂýƒö¹Ws§ƒxÂÇíá'¿æs˜|Wªò³ÈHçŒgÉÔJdÚ‚QZ°'T(g|’Ö9y4~TöN‹•¬®ó¢ TÔžj^ìÃKHÆ-ë—[°ÐEÉÎÞ†#ˆ‰¿”üÔ¥"œœ¥h^¡GõÎ!ed­jìÿôtSA?.o#4}D+§Ö¨lokX¤ÊˆêXŒ,ê#ÚÕ$3±žeïÉ 0tƒË'±ÛIÀbà1û 6ÑsF¶£«‰7F!E'ĈãY¿ìà¬0½/(nWŸ@hFLçÂzžÜã|î›ÑïY\çþH®r2UÆÒò®Ó~buá°@GèU½S<„ŒoÑë£?ܖپƔ±-ÿJ Õ?ã…”l±ÎfóÅBσ>«yé¢g ðÏóÉïYM~§.}Snë½³h6@¡·è]6mÝj`GÐQLôZT[SúߥNªÔ ì‰w )‘h~³ZX¿›Ÿú…5N×…iŽ~¡t’йý$ ÈùUfe¡6—œí³x†!zõðÒDˆz¢®ˆSgéJ\†ÎÎÃ4º©t—uî2¯ýäÓçb†Ô_'ª×|é’waÎ…!à̶8o0zAë^ÎâŒB—­@¬K‚¶lÖíÀ=C ã,fMùßo"`³¨ÇŠ/ì• ²"‹("Îq ZÑ_»B ªNA\%­E*´œG†Ã"q‡eòË‹¼Zs“¦ßðÖ® í53"îî…Ú}³.¸‡8Uå8l¦äŠçž5Ôë, M¾ |ëF¾:2Õ»®A&oÐaðñËx/’ʇ÷'mÃsùZû*$~ª7U\ß±I©€4€í)oK9àçS«4!YR" ZþÀt>ÛTη̻Þی̀¿•5©áÑÈ·¦ßUò…^^S]|Ù€Ô ¼ ‹(NK±;É|Ép Ïwý—µ©±6jU}"v¨C¯ã„ÀeÌ´7Ù*Øý ã¾hF²ºôÚÅÆË>µ áºÈzâ…Ä,-“C>. x¡ÎKŽpgƒ>þjåX£1©}í”ÊźoÁÊ…Ý<:BÛ|¢4!’†:®k¿Þ ,$S/×Lþ,ÆÑ‘Ô†_&ª6Ó¤gE.E"»©bŸçñѹ‹øÅN O#'ÞzQ…êð³×©ægý2ñ N ‚{ú£t6‹!ê$Åêvpd£e? Fîcw&…$cèhKôŒÎWiÇÏ+¹A¨L•gXàlX·ŒïËDÅ>N™ÙÀª% Ünþ¬' 騾‘i›iÞ^=]Ë!î* ”–¼V8•kjlß &‡¸ÓÀ‰êæ©lŒü42ß±û2!TùëÕµ_¡ºv—»ŒK´’¶—ÐZÛ1)‘†(–¨•HÕO±R9¼{¬È9Œ ®„Z—ÛÌCè¾rßéý‡ã–p½´Ç’Ý·½©3„Ü~aW²_°”™iTé{TZèe~ÏpŒsŸcƒAgnë¦W žsæö¹'ý Ä£SLj¬9EÄ‘w™*1…u+­Q,A|M?…ÍÌb ¼[Ί°ë¹LDè6– –³€rL­H˜h©k$ôçs"“â ómmžß}Ç·†e´œf,'ìç£ÞbRW 6BkÕ“cƒßõ¿Q+k~öç‹Êæ‹0˜òÆõlÿÂPõ:™-KÒß¿w¼ÂG~ÕÂOÄBenÂÓ´SÒArÐûļƒ ³•àQ˜£þÁåÛþå"zÁ¯of¨Õ&"U¦TÀÔ…·Ré”–HÎ3ÒaLjSü,c¸H]†š$`òlë–ß«kRÛj ¤àv ̈́ۦÌC§Y³×”BµãjWL3MMȱ âÕLÏÒ##BCøÓ|Ç0Å…|Ì)ž¨MמY¯KN™?†`Ãc§8ÓÍ„Ç[ ÿ*ÅãùÂutPCO“êË4¯o}÷UÃÜ£W‡œ¼¿ýj”œ‹'ud6šd1«Ù“â–Âc„x ÉìQNÃCŒ\8—JYiÅÅ‹Vu=_Mã½ÜÉ¥ õÊÄçá€u×[@^äŸ<óãú¢iJ²Òxèò5[²ì¶kY&ô²¾C¾´0^wæ€Þyb0 £µà\{އ‡Ò–eÚRé“€3hÂ@EGgýE'csqŠ’Œ ½±ŠL\ßQ¹Hùš ?ÆnË0ˈØIâ{¶æ=£ß+ËŸFFé8»Ó|$$Z‚zòvë]âWi[£¯†“fa­¼)OmMÚ§¹æÚ’ÜÕJ¼oú »ÁÆÐ½èpì bKÕŒdžzžxîž;ÆE¥¹v\$CÇtq­1tœu3ªLsm€å¼qQ™¦æüZQjÌ Â‚š"þªð7áõGÏÄÙû;2–úO¹.¢j&aææü Zi?êi¤,CCS.C4ñ0C¡µð1™¯Ìö­S“uѽŽ5é´um§g¶ù¿ìì3 Ê1ÐQ|‰áj E!ïÿ…±ZaµÂÎÊyé%°‹ž:F4ι°ÆØúö¥ôÃ:ñaCþ72ØKït× Êˆ8_^Skå‡`ýHý»ðÁfL´¤T-²¤¹ðhÚ}Òp¶žò@kU±Âú+@¿|T+».+$TÖÙ|¨N(³¬¾;PøÐ¤MW5JT{òÄ>­f{vB÷×sX#²lÀ€z5ݦ†ÀéiÞïš~ç÷ŸÊJß¿kŸ³6–ÒîWÄ€š×#>§F5„P̲¼®¼Ž€ÕçÅCÖŽîµÖIé,"…Ñî;š¯ýr˜¶½*£3ÑuFß|LÓ·H7{´EŽB=! zÛ¦@¼Š–&ap¯ñ“G]–Žxb"Ê3²·Œ TލÑ1QLߢu½­ +dú&Êç%ÄÎF‡_~© f#k³\Û\…ÁÅD \zGáS;¶X~'?ÚT4rs`Ñ+x44(ãÙæj!2/µ“P§Ë}Ò©S!.•”Ü©æƒøIn 9“Š“!})¬¸JÄ÷µùcÐú×äá_æ²M.b³D 2ÜÑÞÁp–’“Rg šAS´Bö±ž˜ŸÍu "°qG$y©ñýM|t‰Mâüæ¶]Õ„8‡hÀ°Ý18Ý$=âIMžåÚ«núhüÒö88­L¤ /eÍŒ]a.zÅ.ˆ]Z´O {¸ô«Ý´ =( y8xÛG"^ûxkŽcÖƒÓMu™hUÐÝô#(Ú²¸ˆ*Ra¹*¿l@bñ‡&:U±³^vˆÜ¾.B]:ù©àµ¥ó\Ð/)¶bïŬ_Ú¼UDë—™;;Ì<ƒ`«ÓëYš”$ `o”®’‘-íŒ8ø^ꑎªâÃZ¡×MÛ\$¨ý[…Qö k§g¹ü±[§R†˜u[¥«‚¦PXß!BµCõ¼ lî¸ÉäzµôƒU;,x¯@Æ™‡'&ÂŽg–=Éöíj'hÁßi°]žÄb`–X50@ÌŠK´ÅY\kr!1°.€3N ê_&GP `…lh)XPæ’Z™~l¯*±G‘\Óµ¤ñ7Nq}ÝÉz žâS.;˜äÐ?¾ú~EðLú€òiú´´¯=>í¿‚ØQÀ÷û ­¹ÁÞÀвŽ.gý`j$ÃÆãëòoì©þB w‡‘¼y„Yw.™ýÊKß´%²\¯q¢‡&*D7ŒRÈñb¯ “ÐqL»g[p°ËLùL4E Õa´%+EÌ B°05 èZöé3/ãGÐòòÇú3 &÷ˆ…‘q( ¾¨ªî-´2"#øsçúØîõ”ÓŸ“‚x%‡ LÇ`)bÒ‘(°ÇZºL‘&Z/ÈùlARŠ Í©™à|x|º×?QÖ™‹Ô»Â|30'-Fú<Ϩ g-sbcC]õ°Ç÷ŽjÖtpÑ4Qï-• ÜÄ}v —‡g3UIžM½…!CñVkƒ—JB©©ÕÍa!±zH‡lŒÎs;>©3F«¥IOÉÙ´C>œgH, y:p0çô·…ïâ"˜¦øãÊâIƒ‰.Ò9"[,'*Yàê ÂÒöTàP7¤Nè„/Ãì ‘" ¨æ¡•þŸæúÚÙyY÷/¬°¥0§nÈkº™dÏ0JªûUâu/ãÝ [œX»¿ádK)—Rl—ÿø°¡´ž[-Â!jk6&®~R ¥¥8F-JöÉôó¦ƒ=GQYŽW”c^zÇS§ªÔnlñpTê½Ø•H4Ï ²S¦ ,á"gNO Ë…1 £ÊÈÞsúVþ+;Üe|Wpâ…<¹I6ëÖ£Óæ=FcÝ1­C€Ç›˜€hx,¾bŒ2iv§ÊüÌÒ®V ¦%S8§Ü`Õ]“ØVÝ®Œ¯åÕä(bïqû™Ä=ÚSJ\•ù×=¡ZÁuu¬çäË78gw­Y±Zß¡tÛ>ö»7š°»@k—Ý+/-žsƒïÓ!•8ØPB-zç=ó÷É ÄÀ_4Þc½[¥¤2¯ìý\N ,b a‡'ic1).N-ŒH7©”£þvDÓ{é]ðÒÇ!7,º›52Ði¡X°¯Íâ­Ùçóë?d"+º$o[sŸ±ä,†p×Ã!wÿúÆî£ì¸úxôK­(\¬·GÑp1€í<½5Š /¸câ»p©<|®åçú¾£ÄËæ˜ ’¦¢ï²ã=ÏogÌz P0K[ð/|O¢ ‹-KZç¶ÿ¦(ÿ{X“ï¦Û~ªô¦Aš£ rg·_Gè©=Ùß4~¡|gP—-<Ùa‡rµk,áj|t†ÀIízÍ®ÄHç®Öÿê‹cû:»RÏë"é®=I”ÅÛÖNaœP‘øÖMUÁi¼ÏœalbÉ‚TKz5î\È3ÝŠŸbüÞQ’ÚI9Ý?¿€ ©çF®¦B?`ޱuNÌe Ús!>sôìàxXè:‡¡¸ù­]æ4ÿª-§fý_ÊöÅYÊF·uÕ˜¼ÔL‹7XS y¹ÜÒLLØÙ´ !ò5Ìsq¹'¨¶[…ÔŸ$M¯5øëîRæ® @u¿*h­c4¤…!njxß•?·‚ ’gç" ÅÕìdc¬æJ™}—]HyN¨ò½!†(rö{mÐ)»ù;µ=ÝÆGLìˆmÑ|zm~¦–ëq¶¬È†58¾½ÐB ¿Æ7 ™œÜ´ÎºÒE¼Ð+FuNÍÙPìõ—\ñØ’N3JQþÃr—rÃæÍã°èž÷z“;½f}MxàŒÌäËën̈HÑz²UŠ;[U ž—^ ÎIÃÔõ1W–n©ò‘ã^â+‰á¥FJSÕ~c+âÏæÄQÝÏÆÌ äZŒ;ÆéôO¨×¤(b»„ì*g)¬MÏAÚœ›òÂìmÐó; ˜on×à‚…N§’# lŽ|ûžBòÑýLùFiú³"(Böâ•»›áCƲ²w ›M][þŸ¶ ×äÍ*_¢”L0¬GV¶JéXþO. ¯šû¶%ƒÝ-ßmP•4H–tNzX,¢šg‹ÛÍщgy~‚‚AƲ…FSßÈ[ ­`â3-ôáF4+·æ[‡Þ“üåwê.^Ѳ”8{ƨ$!Ë€~š<ƒÎ=4 ^^Ê+ÄMl¡ÍER ËÛ?>@dÁbô€5sÄ醱‹2là‹±Ã/|Ù 2¢'_Qú endstream endobj 688 0 obj << /Length1 2778 /Length2 19770 /Length3 0 /Length 21355 /Filter /FlateDecode >> stream xÚŒ÷PXÓ ãÜ]ww·àî. î®Á‚»;Á!8ÁÝ!8Á îIð$ÜÉî¾›ì÷ÿU÷U0OwŸî~ZΨÉU5˜Å-œÌ@ÒNŽîÌì,lI%MMv6' "5µ¦»=èrDjm«›“£À’®  ;Xöè6TrrÈ{ØØ9ì<ì¼ll66þÿ:¹ ^=m,J,y'G"µ¤“³«•µ;8Îÿ>èÌéìüü¼Lˆ;€\mÌŽ% »5ÈÑhÐp2·¹ûüǵ»»³+«—— ÐÁÅÉÕJ„ž àeãn P¹\=A€_”Ê@Ð?ÔX©šÖ6n+4œ,ݽ€® X`ocrtñp´¹ÀÑrŠgã߯Š0þ)€…ý_wÿœþåÈÆñ¯Ã@ss'g ££ÀÒÆP‘Vdq÷vg-~íÝœÀçž@{ Øà¯Ôiq5Ìð~næ®6Îîn,n6ö¿8²þr.³”£…¤“ƒÈÑÝ ñW~¯m\Aæàºû°þÓ\;G'/G¿ÿ!KG Ë_4,<œYµm\<@r¯ÿ±‹ˬ@în666>NÈò6·fý@ÓÇô—’ý—Ì!ÀÏÙÉ` ¦ °±ÿ ú¹=AwWP€ßŸŠÿ"Dvv€…¹;À deãˆøÛ;X ²üƒûïjã 0`;€í×Ï¿ŸŒÀfáähïóÛü¯³JêIªKH1þCù_¥„„“7À™ ÀÌÁÉ àæäððóþëå_þÿãþ—ThóOnø“s´tðÿM\»ÿÑðüg.èþYzÀ#(;§ û=ü†lÜlæà_ìÿŸWà¯#ÿÿ&ÿ——ÿ×áÿ¿I{ØÛÿ¥§ûÛàÿGt°±÷ùÇ<ÍîàÍPrï‡ãÿ5Õý½ÎJ ‡ÿ«•s‚7DÜÑÊþßBÚ¸IÛxƒ,TmÜÍ­ÿš˜ÿµìÝÞÆ¤êäfóë¾0³³±ýxåÌíÀwЏY©@àúoD)Gs'‹_«ÇÁͺº}ÙÀóÅÁÍ ðcï¨Èû¯Ñ°²8:¹ƒÀì–N®ˆ¿ZÊà `ÿ%úñX%~#^ð¤ýF|Ö׿?€Uê_ÄË`•þج2¿€Uö7â°ÊýFàè ¿8ºâoŽ®ô£+ÿFàè*ÿ">ptÕßOý7ÇÓø¸¬š¿8ºÖoŽ®ý£ëüFàèºÿ"~°ø/âë€ÎàøuÝýkŽt3·±1·q5÷pøWÎÅñK/7»ßÆ`fÿ"vðY3 ë0 3W 9Èdéþ‡˜ûñßKö¯7ö¿Åv ÷ÿØósþ+ÿ?ÀÕ4ÿqƒ“1w²ä¿9sý’88üæükRY“å—ÎÂÉÞþÏœÁW+è·S°è?Ay~é]<Àÿ¯p~àIµ:üá\.Ëß^À–6ž¸ý¥vòø3,ØÄêw°Þê×3 úÓLÇú79p­}œ­AŽX€e6@pò¶@pûíþ€àzý&Á.Œý¯…ý­W÷Fàûšõw(n°/Gð¢ÿ.8´£‡ƒÙ¯+Öê”À/ «Óï¤Á>þ8ÅÎ&êü[ Žá ~îÿÓ.ö¤ÿí>˜xzmœ~÷“ \Dg{?H€¿þ°ºü&ù y€Üþº¶þÍœë—ÐÉdafÿÇA°ôÚ³ƒéývË ¦ár°ùï¸qÿ²yþÑn°7ð#ùo~હÙݬÿp fñ›ø¡au·vý1)à’¸{9ýqìÃã÷ €cþõ}ÈÍÜÉõϺ‚›ëù'ìõÇ‚zÿÁQ}þ€àžøþÎìÉäúwÿ¹ÂÍ=\ÁMqÿë•ßïÿÃ}•¼AæˆkËNæ‚a¶Maĉ¼˜f„¨t2é™ýÖ\»=žPáÓèësC¶]ïÄÓÆÐ7ö¥ènÅÖÉ~øu4ÃGv¦¨u=û7IRŸ?èB\Ù-=?LòŠ˜YSìÐÿ‡‹¿v°td¯2ÇkÅW,R™å-áSÀ¹3“ 0`^{£-ÞÞ-`̾É'1"œÇs–ùéïp¼}\òݬÑäpë# "ÐÇ'¾Åœš§ñ“8N—Ç[ñ«,Û^Ég£gØž&óŸì%¿0P”ÃÄc³w]ã—™¢ èzϬ;ˆü*÷@ÃÔ™¡Éù uŸÑÒËKZ¦X¥½|Èøp,òÕ}”+£…’g¼²ßáîÌ­ÞÙ­ÂÙEÓ¬ï„åÞ+Ä=œ6‰Í×?"]°•àˆ¿òõù—Úæ¼£jô´=w^ð>ôÖè©–ºô@E„/MËBCÇ*Ínå¥OºmÄâ2|UÏßeñʰŸÞ`œ`]Zë‹ËÍáO®‹¢)ýL>…g_//âûÔÙr9n3Ì62[ó¤ }œ(Ô¬¦Þ‚Òåñ*…FJ1ùOubó]ÒçÓJ‘G÷ý&UEÏ”VŒMOgÂmÇ"g10‹úy‘ÀÀö¶ âå[ìYn=Öõ}!ý¦‘ÒãÒ¢ÈáH\"©é2ƒÉšÂx9¤®ã¥û;”¸ÏpéhøÖÎv–mQʵ¹Ô¸ßÇ'¾ÔKˆZ©g)¼{o=(¤± ÒÞ÷‚–PS&|[µg0E<˜²fÔ@ù&sJ¡_ÕgÂ{¬>®)²q4X‡æµAÒ D fËAç’ ?qW¸jÀc@OÒvïà<ðvÙ–ÅäÇL|áú¤,Y˦ãa¼ñéÈWÂø‚RÛƒ·Cûî¡^]ö”Èù ‹ëVM¢³¥Ûë>±ê£‚“NôbGŽÿþ0uÌdV g™ÓïÓÞ$ðvê3ŠårÑ»ÓØ”ƒÓ›òçJK«sê^ç¢g!›2R:Z¿w KM“¨^Õ?55@9´|¯_n&ç‰öÞsÌÎôÞK×I,U:-Äw&]`Äög\ê—À!­½Ð¦%ÖF BªøÍKgFwstÆ‚Ÿf¹7sKUÄÇ µW&|7'J’sÌqÉ"ñM95Q T=iöûOk’ŒîÕÕsª$Ë$aŒë¹ðS~¿Øe•8£:Ú¥?Kn¨ Ó¡=d‚Ž„ø)1,S…LÀìš<¥Y‘¶„«gƒ&Ád—]yDƒ8S-E‘ãqÓµ¦·óôÎôJcÞØ”¢™.­vÎ!ë‰IMao…V¤#WjGU™I@éØ/FƒS†CUŒÇ°`G”ùzÉW7ž6èÓñm 4.‹‹uæ ì½QÁ—gû`U¥×Ôšr–ót…imí·½l%þF¸Ï&ØòVͼÈ÷2§>¸ Oh~L…¨}Ým2. ãBnh3RäÕ•búr\ú>Žö`ÀtÇÚnYS3A®ÚQ6dÿ¹µ£{:ùËÛûÁBSÌÍ»åýàÌ »•Mm%©sÔ6*0Lµ{Çá]ut¡Vï|M%ë¹Ê¬&"µ)Í9±_¾Â°‹ä¹Í´q¯·ì03–çžÔ÷E.onÒ¨ƒ„µÎï1ÙCLßò+,öì¹iÍ&Í6]˜ÒeïX*) Ç|û¯”•ïõ‡d¾À»xL“¶6.+¥Bõ|ë·z>Y´`…†bwºxÃ0ÔŽ¹ÛÙƒ6Ñ Âv~˜lAd¿l pB R€8§K¿ò'œsSÚ'1` ç·L ûc~ÉÅ„À¬4þ¸^A÷¼ÎÞëY ©û}UÜ6‘\æk¨·ðéMŽ^ѹ éš×׈I¼Jü¼OÉúXUï¾4LãVü‰©tèž<¼ y_õOß‘¢ÑÁ)z¾ñ\wSÆŒ§ÓµÓT„ºZ” P_lÓCrÿŸµ@†ºi‹#-¤Dxzw9bk—¤•ŸQ¤ lÐ….—AAõ"GaÊ8£Z¯†9GÈÆvxц‚øUÜ[ 8ý㯹]Ù ¿v8¬þ|^åƒßNÓÉ$vy­8Üýá­ßÆ…ivʘ…W*‘ÿJŠŒü‹/k[î±,m>UXôDÖªÒL)_|éÎÛ„}ô©¨·¥B¼Û~õŠÎ[ƒ÷ÚôÔX˜»Çvœ¡açYšN¥ß%¸DÚô_\Çüº\ñúµô_ø¥ª –eêv=’¸ø×EvL\z¦YCJwßœ zï¥'h„ûçZò“­ÔˆöéÞ°xŒIx[ʘI}gñÒ|Ïrbê{…W&¡hg§ÐâÏo‰`eõ ÒþÄ¿šæQÐG|T¥1 CÉ"Õ]4I¯'åF«È9¯Ö¹ùIàô`+|5mv¤c»2Ú\Ö {\öQ¹ÎÖHõOøÊµí äw™ÊpŒü/ëh\¼±>2htó?··Q*ƒQúb(j}'öPTLRýkÌõûJ”†Šµé‰“mö<îˆK@ÞéDf¢‰G"38i/ãðz}áW—¹ËxÑ'šåVÍö0XkñüZ?¤OåëE)0 œÖa'œg¬ãVû gú’+o"´ ø‚f—R|‹Ž¶z#Dß=A¥à} Uˆ¬»}*Òy¡žÒM »…¡ZÀ3çwÞo–6¶È–˜!]–W§ƒä1`Öd¸à"ÏŸ÷у0¥UjùAT‹P1¡„U­*N9b™¤IaIG# ºÏø©[A“¬Þ3$5z†dTÉ¡t1Áƒ|#jMÏG3…Ã*D· ½KO!Çëd‹j¹vGoSŽ…Öeƒôífߦâ¡Âi xÖÚf·=°Ùãå9úAÕÃÕ‚lh~8z§xÀä9S¤é¡vìÔ!°ùEø&€¤Eªy²’n_cbrš%¥·þ-û=’Å3nl(å× 9¸iÁ® U#<Ìîñ–›\uÈÞŸißÓ:å ™R)ÆDsòR‚ïöÍ$ fgƾ¯ðùo|’™ÍßÚ¼2ì”EFtÙ…3çˆÚ®÷&ÓÃ.d'ØÁÙÅèH?@Çu§$ÜÁ¥î˜¿O³ ‹Ñèøf€¦!ÂÛÖôO¯Ï‘¡m™ŸÂ†ÎUÂxpÊK²hQMŒ ³odææKÛ;&p0 Ôo®ÊáÂgDüUÎí±-,Oªùå©6E6 ’¯Ro· ×±knÖï{#s0Ú‡‡'„|÷—ªßÏS݇pŠ+ä½ß§ñ­Œ-¨ÚeÁ3ô›0õØ|1À‰""k©øF}ÒÁÙ•ð=œwÀpÉÕ1$BYž¬åôgìì—¬…Òµv5MHïa¿ô¨ØöftÖm¯26Ã뀗æÜÞ)-igÄÒW=d¦í߯’¿ÑÓ¾™Ìák>ïcïÿgA)¯ÈŽ+Š¥Ô<&ŠE1œcV1¥ÖJ|ÕÓaiÞ6·PàÚÜ]$deÿ&þ*#‰[¯^aV8XãàÆèÌQ,ª4Èž{IÖm'äùvgä”õË^gì”6ñ¦Ç¡ÕçÀÔE±Ë—è´\öis©bõ½&*rÛ¼9³¬~‰Æ0¾>Ì®ÓøÞ(–DEÝSdO˜¼òÛóË7a+ }÷Íyïöi ‰|ý:ÎÌZÊÌíTÍÞŒC¬"²5 >”OûíË-Ô’‡¡h†¶ÇªWQ-0•‘†Tž³K@”žïÓHeÂñõ¿Ïý®ôÊKë>÷œ+cu}ˆ)wǦ¤0ºI"pƉˆÌä•E£}µ&…© Oƒ‰§«¶Ê'ÜâÈDK¸ô£‚*ëÐm+Ö,ﮢåù‹‘-Ñ/V’—ØjÁÕØ”Έzrð !ÃQL= ÷â™WêªSdðªv6B÷:š)¥‰(;g¦Qî3*Qɪ#ÙöS wš~ †lšHÓ¤Ôcë…Ê…ÈM¢°l©Î/?¯›Su›QÖ·_§•áD€Á˜®¸VR–Ä-zª2úS<ë¹±ßCværƒp†^[ª3¶™ «Ú@½¸UÒMâ#ù™½8çà”ýIPª¶^ñtÈ(WÖ¿V#e ¡1² @y;Ö ß[qý0IÒ\qpÔÐ×5‚Ve„zÛDô˜µ»¯ü¦ÁƒŠûsx *½ìï%ç„ BÐÓ´BÏ„[‡k ÀÕ,ÒfÎD…DTÏBYâä,Z”w-þ¼Ö-7atOe/â _FõÛ®|¸Ú7]i(Lª®ôUeP›|—¡±¢~`Á@vd¯|·š`†e;ùÊ«ÛÃd¸Ÿ˜mŸ³Ì¤×aPšõx;PíæÛ{Ëo{ň7´r¯”aŠ»öDDZ\l«n²è'Þže/41æ·‰cŽÎ“̹ïu½ã¡‘K•ä_vp…õäumÂü*óH-ùEÞõg«Ð]µ•ŒñÀPóû7õÞª'pÆA {[‹xý;zOzá¯'S(ÚS©°E-ÛxI3Ö³·0:’u'?;Gq~Ï¥ÝcÔ ùóÞ¾)ð~à—îI^†›H¤a{ N]e¦Úì#XC ò+»c$‡ó‡tyؘºM–òB4×÷oídž¥’3˜'µ‰Y]‡"}¤¸‡xnÚé$äôOò•ÞÕãºÓ_Õ –Ȕ߭È?¡ó‚M[afЋ¡":x3,ˆS î¹Ý1*UË]"J‘¯sà$¸T'Çs•ª Ekhs¬ðøÍ-€#ŽÀOMœÞ‹PþÔ^wç-Ž §Gœ:&'”fŽ w’™?雳§d¡Žç>^3ñ€ðà‚,Â2EÝEž£gVtZ(S²ÙÅ›n¨æÞæ¤JÒNHœ>«89Hª[¦´—)%SŸ™Óò\¼ Qzóä Ø­¯éÙ/¼» Hä|Ýoí!ÇY6¡œnIgq[–<¢<ÚÂ4D§Ùô…ªH>|Q2Îw’‚Ú]¾JEÒ²‚PŒßŒî´1¾"GíÙréðŒ÷±bã©h¦ e?)¿0¬ÍÔȵ"k¸aŒKÈi¶Å--z~Á\·‘½Rï²ó´§ò¯µ¹?gsq¾îFTó†˜wuÚ—}R‹zŸåé{s”3z ŠZ»áJ0­½3»Ïì­Ö¦­z_ã"0ìNã¾-‚ìz«t )ù­8º.õ–í#…k6‘[ÎŒ†dÝ!”ðÀGŸ ägƒÅçEc!rærvªnÅÔ-% 9f‘Ÿ¸K©r—ì‘”¹˜òü—4Yr ÐᔀÙa«·Û­æ ]Œ•µ8Ò:ŽJ³êzYfªÐm!µžÙGæ¢&VJvÜúNCN›ØŸ‰+ Þ‡~´,Œ€~ƒ·}!3 ²ø}µål:Š©½°&sßÊnÜJŠ«M:³`Õ¥Ìjê Wv4³wÂÁa]ùä>ùŠŽÕ`Hlß_P²|Âèʳ¿¤{‹¦ÓÎõA26B÷.ZíáI!ˆ;ö^\”_¸w1˜¼€?æ‡ýô¤4ÙÓzG xèè‘Wˆ_Æõ©@Û`j‡‘¥Ø$Üì´’Êý®:‘ý”¥5`|yt¡ß|þ{½ßçj!¡ÏóûömÜ)ßåo‘BOHÓ7écs%›üS®p[ø-Á¹f!î­Y™T>'sUËEÚç#tüå‹"%›ûlÐù·dª¥Ém: $ú’ã#91*ù§ÁA¯ÎØÞŸ-ð:Cf–û:á4¹gÒî™x£CGpטûsðÚå$ëüØÇ:"Äc2·õ‡ß†¯#pUI¢“A@"tÌÄäÙ'ÃþPÌo³Ï½m†ñú‡ò})­—â äf“-EÚ „Žç{¥3KÏœŽÒGb¦¥YøºˆPôùÖ2!–áC84)ïTû¼Û›iä0ñ³³^ÎJl„éÐ&3 }B ÙT§O"Ë0óFÍEGröžu>ªßÖ¾[Ä-B‡¸ctúÎ{}œ·†0/ãO¯?ÑEÖà;ÇôËKB]ÊÓ«‘ç²Ãq븦¥reÌqÏþyÈKF¿í@«¨3¥¶ˆ²¯È›B_ûÞê.¨-8båkÒtR+KT߇K@ºTΆ=D´<¥‰»^âú[[B‡œLhä*òÚr˜^lÎoì!"!WÀåçj˜ËèB‚3ÇÄMã,·Îqã %¿A~©”á6ìyb¨)¾ùM‰}w¡uʳ÷:nŸ^q&  ¾1šUÿ1ÿæêíØ³tWŸÝËüü§Ëpõ›hËMôé FËÁ›×jÒm…ù)ÚTÈÁÿ(MOx=„¢§1”‘1§:ÎôýH`’×5×…‡ù]´^æIYQ™Á 8”Îù+µ ѱíÒ‚öÖzO·’3\1ðð[ÄGåXüÍ’f¤Œ@ ¹Ùt,òu!‹½0–‘nÛl¨ŠÁçšC;CŒ–Ës¥i€Y*UZ¤6“c´‚Yb>ÅS¥£ŸŽ³Þ]æjظPƒå:´bŸÇ`l}Ñ•¸Ü Ú‚ýÜp' P³ƒ,™IJP×R ú*ÉÈ©8wBYâÏn;äÈ„šÍÒPrdcƒžVYv³\­žˆ•^ÅPŽã7yæ¯ìMFý,·?³K³r)Ýð®K„÷jÀ+_ké¬så&×Ã.œ|Ôk¨æòGª„W‹Í¯,‰žØÕ=é%:yqÙy¥´Ð7ܰÍ&¸Zâ2ö€ræàÊ£òµ½E»IR¼NBTP–$ÒC'ç€ü—¹Ë…Nyp&R|áÆT¼ÎÔ°£Åó[¡ÿjb¤ïÂ8uÕGSWè"ÿ0’oe-ÝKâ*‚É–³_UØ¢Ž ›Ãåb&1ißú»4Å%î.kñA:Å–×Ê®?:hÒ83aeÏè$®ÁçÏ#ή¡W†8¨]KþëÕ€âÉE>V¨ OK<$ÖåÄìb$…ꊿX¯Ú öEw‡Ü¾Ïé§#˺J!†âÓ¶Íìß  ‡ÁY«ï—|=©(Þþ%†ª8‡³ZtÊ1àüáÄýµ‡(y_ÿÉPJ¹P™—%ªô’c „¹˜AUí×òãCˆ6ûù˜ãÄφ|²ô¯Ú¡­Y6(€÷ARyYõí¥û땜[ "!\©‹ë‹JD³…ãòŽZ ™îw(%¿1ùîŸÆ-_"FCb¬%whŸ¡8w.Tb 0À)qB‹9§çX}@ú)ü¡¾ò±0ó¦ðË*íª–§)Ÿ5+xƒ/Ùiˆ×t · â;æúÏW£Ñfµ|Ì÷åV¦oO•cë›ÞwîNFTƒèf: üáÐ u'»Ú"µ°Ì_¥]¶¨Rç^L¾mŒ’]³Öáhßn®y³XÑîPAF“¢Õ*¾ XøˆˆÀ£Â ?(/"[Ä]7eQF•¸ÝÖÍ¥ÆòQÞç¸æQ8¢¿pÝ® òy_ö:Ç9ªÈØÐ«J=0£ûåN|RçK…l÷qí¸­oI¦&ÕT«áy>÷—S |N*ÇæÞz Ɇ(xWÝÕ!©V’¼y%hR :ØôÅEaÊx=ÌædIŒ¸6­­zÚS+ÆjÕ¼BúV–ƒ5üvJ=À;VzG?ÛüYq?òHÝróú*¼7úÓIœå°Ûåyoùé ¦[ç"¸09Sg‘=m.òy–š|Õ3‰ Œ‰x$Z|ƒÓkçªß g3“½î”R1DœöWñ&³2âdÅny¶¼&Ç©ø¨(zDG’BŸüö„”áE¸`ˆ¯Ñï`´i_D€«ó² ²[lÂåf¾)5D&xýô”'7STÞ}ñ¨ª§º"ße²~Þ^Ð1Q£Eê£,6‰®µ4@ß.ͱ!I$t»šmÀîÚg‹§ãG5Ckw]兀‹}ÙDŸ‘TÌC 4¡WA²ûEñ^•åü»ó¼v¨+ÅZµØÈ¶¶âŸ³« ÔÓÅN‚tÃÉj:­U+€üI ÊÉO…0’wg³ ÆZñH2Î;“þ3„öã~_CÑo yîã—ï™-ãøaî5XYrj”KžS£!fziÙV10ç¶by¿ô´œPŒ ±CcÞ ‰ùŽ·¨¿ÖþÄü.ód-Þ{IÆ ·NÎ'®A'ŽßÖHˆ-, ;ø•ËC} eè<«‚w9h=ŠM.ŸãÆð`DƈJLãYéø… ɹ”ÝFÅeûOGÞ¦ÐfÈoÆ5æÒª}¶‘hŽX΢&+ù1=üM󱋸†Z!O¤›Ws`oHÕüÀ}wÁ$-C­Í)Eu¦sߪï;Éø AŸT‘²ÖÅ’$\ëPŒÿn(,Zõ®×ä¨%LeŸÇ5ªÛÓwáªG&ßÊH$nR]ïPt&j€HÒd(´ ÒçÊ=ufîƒî4O‚‚ˆÙ‹Ë§´®·c¨Ivú„ªèèÔÒØ¸q9òÕØ´[{/0ŸrNKÄuFlµöýWêxø}xÎ<_–ŠË£-÷F^;¹«ù{¦+LW _ì4ŽwÌ—òsØrÉaô<ž6obB`Þ¤˜…;{éD..ˆ1IªÏ-TAßžßþ„âÄ(Ó;[ž’¤¦ùdÆG¯ç¨¤‰ê‹átñœlå µ…ÒC§£tš69ôBòm÷¢óÜ覚âxµ}m•òQá5³$ìI6ä¾têê÷Ñcìô: YJ¯w@ª§bÍoTò´¥&"™»›Bó/б_HwÛ·‚B«]ãÞîÝÖÏæ?GqXÙ<æ' ñqµ+áаÖºôš9¤Kå~˜ÉþÛoòD˜yÿ̓“³3ÛÉÇÇ9Öúûx˜£V­B2ÑrKW.Íîå fÝÉm‰§¹+ìm„Î+¥†uG4®„—©YÒ˜™°Dø¬ ¥WU:9D²u!Á‰9åcŠÀþñqŒ2)d5÷ÕØ¼r…F¼À©aôÒ|‚AÁ¡n‚8*·W¤7?tX›È‡È`an•v²vÖ²$ê²÷=üÈâºEW3ÍïI¼LÍîXšòïžœICÃ$ÔèVWê>t˜èßV v<Žr,mP<½Çâ¤nÊÁŸ˜‘<¤p<$e2y'ª¡Rh²[™ñ:%°syjôº¼ ü¸tT½sË™îŒ9FR» Z.{^_|ÐùNQ¡v  ò¹®›"Yý™Ðœ>í4À8š¹Z0zïBÛjü'±Cñ EV'ùäÔÜ+:º¢‘òÀ¨Ëqþ»#»»9·C'\³þEû?ÆÑ¥ Wuφ¾BX#ÞE“NL?-è8Ç|ÏÒÜhè “?ŸD¨œ< `±k s—ÄñÃP¶}`*åö¡ñ}Ö^yØ,‡Ñ½ Ÿh:ÂF:}3gF›ghÐS¹È‹J™äS—r%•™Á¡?öœwLvaå²Eå&|!.륆æ˜4i0óH*±mÀ-*,ö!÷ÓÅ­u­¤³AÞÏøÍûRál’(ÿ‡F-‰ÏÏûö»)‹\›Í•*X‰—] M¥ˆ…n^…56×ÅÒnçmoçô9ÑÙ‡qŒ9”è™çãöÆ9;:ŒÑk‹•$È|ÂÛ K«óq¿`|8¥µcßêl+ÍÈ™X@9Ç·(ïø w$˱1Œw<ƒ=çvPkâ‚Ë~µf:”‚ëÚ3L ïH$FõÔ$Ü™þĈ¶8'’¶!ñZk™ âZ[è‡ÆÄv“ƒ²¹îq;²mù.h‘ª/k‘¨íÈ3™žbܤªéG|Ÿú[æ4Bçd±Õ×6"ÒdLQXïºügðßÞR”Ö;Ö)b$ô²Ø¨ˆäÛ(9hË‘ð¼=P z½±peçKc‰1ÝW©åFzú‘+Æ å²‚©ÙóØoQfp? ÔZûPSMè~‘¦¸/tX-yC¨[©+væªYRìZ3¾;Ÿ‡Ç´tªÞçúÉ«™ÊÙÀ1?—ö­Ì‚ÔÓXÀ3ÿÐ÷°«ÓÖÆ€Uüȹå–j›:G:ëÀ„1qv‚–ã¡þšþ͵¢Ö¢Š+õ=Åù²U± Wßâ´¨j¡™Cd.Fø<ÞÆqŒ”«‹ˆ§_¤Ä%uM\6ÞÁ|áJøzøhùú%\í«‹Éõ³§ªÙQÁ>¢­ä—KÁ¸ Fçæþ÷FÕ)Ú{#) ÏÈŽ”ñ\ËtûÏÓ3‹±«+‹z>¬ó.Õ‹Ó•óú¸#­ J†Iâùñs4n)Àø˜gíâ–²ÃÉê‘XÒbðPø?ñÐì&׈PäÉ^Yt5{NÅŽ$¶©°œOÉDöNŒqCr¹³HÅó&•rù%m9ð >l=Põ„BŸ@#SC&ÄÈú?>26¾/QΑú%¢_yCé!¸¨MŽã ¸wz¦ü>ÞDjý½¿ð™ÖhŸu tLæ)œÇÁ-ËÆM=©‘ÉEO¥÷ÒV«–[ÓsHƧ÷‚é{e6èòô4#•‡´f;Ü FJd£ð„! a˜è[Þ4ã³gdEÚ=Jg¿øÇ0z;ˆ¬½®Ê±áÓæG„…ÎeÎFîlkjÒ–\_dç`·5—õó:È𶟰¯`µtÊïïÛ3¶Î·™lß’±¨kÈ´FÛ¾mûd{-“‹~Eð5§ÐÇrÇy{¢§qhËÐsNßûòùõwͺðuëdƒ->êK+#ñtLA^aÔãƒ#Tò ¤ªþÍ¡,`í‘…<¤1iÈ 5æPTØÛËŠ›š “bØŸõ=™~WQ³ñféqÔä9é×Àý;êf©hø‹QÃ6åuÏi+>ª|/?ísÆ„úãK¼SÕ‡· ±¸ZÚ>Ñèó è-ÉT;> n Ç~¨ìú£ã°§ðmÝoÁ]ÆÂv9ÓAÊYD­w`7|7w6O ©V¢Ùo9a–ê·¦}s`X¿¥JËj}ÜE¥y8˜÷³¬¨9Ax+Oô€Øµ üØhƒê„“-­uÔ`š&x•²ïÍŸ ýp˜íúù¥îA§[Db•"›9á퓘¬I5ÜÄ`†Ê!žè &•CÙø#  £@§\5dÆíÆ’6fÕð ˹YØœÏtl¼¼¸…P‹GE¼»öZèÇb7´xt\a3…ZP´ô!K¿–8ƒµCb%‹‹œ>»eÍ¢"ëYõrèT4z²¸ljC¦V"Gÿí€k}J¸H°ò_=õ1T2Ñ’k.߆—$«ÙѺÃuKõ$A;“–T›á|¼è¨üL'œ¸Âú§ VM €hé™(P ‘±y± °Ñƒ_‹‰ÈÃ'«ë{ܯ¡²§¢ÊÝÿl0:ŠÿMÚ–~)œe3÷6M•³÷¢}{AEPÓwug´h_X¦¬GNm‰È‡®¯ÿÂ5 AÂÿdªUÔðã!—Þ½.É2©ÚZ†)(=÷œDý”šj-!s9´¤5DÔ …OüÄö ¼KÉ’z¥S˧Sÿ,×amá¦3¡~…'D¤”~d*óµ`˜ýO.TöÍ ‡Í7O³ fèšQk¯cg×Êb·K:—ù9ú ¬QpXÆë8à ‘‡°:[køVw$Ë”Œj,OÔèåpUôu_šœ0hí KÃKÓyª,ù„Ðh±ÔÛŒåuΫ WÇN²rŒMyøàËRÁúë&<ƒ*OhòÉà·Ã_ó;8MFé2gÍ}ýÙƒ§Ÿ†˜rØ—ìóeæÚån€£Ô!t’(›ˆ5̬Š^ÕÙóŽªI§V}ü–tʵh¯D”Jy?c@ùæó7­ŒK¸Ôú°·ã£Çªù‹h Á _4ˆ8žÄQfû7$|9ôÀT–)„çcƒìê€7õRñsrl_ØNI3É=:§HDŠ"Ò¦v²rÁÐkŒ:¤ 3øv]€bPÕh,þOÙb‡¨“ìšÃ PÚ·Š •¼ÇZ˜œçÇ6Òf²£L»zôJ´&ð#òPî`Jn— ö{Å­Ð"“6ÞRöàU €à)îjíVh˜Þ !Ö‹u¢ÆY·#NÌ °•3ßÜ¿íÓsµœRàN{9'rHSj L›ÒÁ|Ç×ÚƒÏù½ÑÇhMλsêü)Ù-èüëPuµÐ¸XFêúü6§­)l2^ve}U¼- #Å&[ŠèšÎ¬Ö‹,Ñ› Ô¬ž‡RÔ‚ŒÄ[e-yNsm –Ë63ohÿNÔ\Tf¢Nh.™˜Õ8=h§ÜŸ(±µ2x¦‰«Ï"÷_Nõ!¤‰åãóde»¸¤ù”3Z{Æ =ô—sFËs0uUì‡ò÷¯l¿õÐ=ç–cÍMuÁ‘™°Ž|`ê2’J4o[ó&›VyQû4¥ —bÐ+9<;¾DÆ#ZW¯£Ÿ…7Ž{½¡ º`û(¹ó¶ ·AÁgFI&ŠJú­c w­ËÕŽÇH¤Úeã`Ï8òròøÃnü3)ÁÞS•aU-Sr’|õ’ÞROìYt u?ÞIÕc×·6ç‚)××Ö}×ï*¶¬4â*·q`®5Jœ£Áð3߈7eOYÊB‰ªˆžë›8ê›Õ«tŒ=“"|fXë\LLhM6x™tkË-×”¢{¶q1óù>1+³¬a¤«cš²K+˜w§'Sn^r´”}¶ÉïmgG!Ǭn Õeš©äß÷c~H2sU³ûì<3Zh¹û=е?%ª-hƒ@˜@…yМ'Ák|¿Ú3Ñ âŠ$í`AÓÂ6™@ƒ¬¾sµÇ‡/Â6qн çQl£©Ñ†Q‚“†›cµ4ý¨$ººÏ®ó3ý5–¢º²/¢"ás:'_ºÿlvƒc!+|”>ÔT¶±f8÷´Û芑BÝ>Š´ÿí4œ­>Ž|U¤’3Å‚pO¯a,!"±ÉGí»ËÈU{>Åh+–ëB•OÏØßdfDœ´! šôéIïä鉗}Ñôþo›:£"¶^ŸOÈbî™}̼ëj¨{qz×·±Q«Zi¬Ô‡aw¤c:Òp…È7˜ƒmcö[³‹M¡_%ã?”“¹’6HŒªzmúåмêYð Sr`!Az:fj”Õ—NÚ‡`!ªo¢×fþh¥ $mçº/S® gV£3'¶0köîE}ÉË-¡ûï&¨Ê¯»ªÅ숆Ÿ¥Ž„üx(e7ˆ*-ßšIì£_h¥CY„W8?—–XCšbŸ¸ïz"ErÊÖ«ß/øã*H)KðªïÑ‹XWÉ!23ÏPrxJ]øRuá¹²Y€ „Ñu~÷Q4·ãö6óìµoÞü?,yd5è¾ dÔ¢Ÿ”ßà´~ FÀ꬚\£„_íX†ÙÅ¡X›Ma» Ñþ ÝÍ2ä;$Æçô£ÙV­‘† "l’ågä†u¬@7%ºô_€F(Lå8HÉ®xúàk»ž0s¯É ÕE2Y2D“õÃx“+·[Eɶ7S*PÖæ2ʰžGJ=ök'Ön%S•¡¯ÀÊë ÷šÄåÖ$³…ïäçÍ–«B!¿¢PwÏ…4Z•Ï0íˆ5<ÄÐ÷²ï³X¥¼ø>O´¬¦¾h¤ÌîMp HT¦XuÄö’dŒ!í. pÁ !Ç[ËP {qš*Š'J•Ÿ1NÇU]•ŠÝ—ã|ÔV([ykï_éý)¨Ñ|„Þ |à<‡CP¥äÛ#Û–Eµ8 :ÔR¯) è¶±ÅÕ•å[ }n»ˆÌ8[6ÌÙ%„ªØíKŽÓ A/Ñ81È(Å8‘1þé= ×âò[>`ÎHÝ´Íl·YH —Ž›Iªè‹‹$÷þ~¼ÍTE©’‹µvd!{ý¨•ã 4Vü •ºî„¦­]¢>B݉uÚ32‰C4õô¦‹ËËÈfY,þ] WY*š°‡ã)¤H¶jnø,¾Y=‹Æ¡¿„Ü&wðð LU4ÎMfAÙa¨‚E_€ÍÞ8ãÐÕþ»«éâý3ê.âá®OK¯7­4Ê’,(9'ctÊ^Ìݘ¢©;”¡'el§7û^ÅØ£RˆÉÝZ˜)?:b{ÓúA‘ççµÈLªmßhg+l³‚`;Õö©"ÉkûgåQ6ä’[ê:›,“«ËïN4:µ¦°¸o•¼d±Éƒ ±.,»Å¢Šåó0¾‡>¿½Ûl°²Ö§•Åd2vµ ˜áËsóóO"•î¤M“J4fßÊê (œ.ÛÏT02!caž]Yk€†Í´>ÅRºÅ%#Ó‘½B  ­;»Œó¦¹œ%¦G)êIlºM ¡ëmr>·ñ“ ãäBƒæ,_ܵñ„V‹ü’íR}#ë–çñ@`vÂ'H’ÊåÈCj‰D>“çGu× ¯Ý¸O/›&t^xš`ꀺ+K²Žâ]ݬôÁá%à…¢=Ðå#œ°äG— t3åÔ­b•%;AþÝ÷Ýî9,ƒ,¶ç}mbå¯/ä[ÊÄØ"ðP©ð¦ù=yýgÈfÏLR©öÒº*2&â5~J ì ¦÷êQ*¤\SŠwj- QQXktµòí*,ùV+ç_鼌ž¹¯NÇ®ÐÛü"=òSUD”m= ·Œ?Ú—¡?lñK—Ô±¿ÀÑwV&ÏßĘ*á~;ù@sC¹ô驇ìá37`ˆ@zQ¢8÷a)ßGË2´sÊŠ?KTXg~F9ÓÓÒÚÞöª÷å =#/q Wð84ÁFPn^ïOYÁd)‡' {·é3Nůº5ÃØ´\ vÈßF°Ìðãz¡øŽ}ÔUµ ˜°ªbtÀ¥9;—ò5·£)Ÿñµ×ÅìýpâÓ‡ª¹ÞMqQ/‘®«½y3zàâMÁ¾ Ák"-|EÝÿ³%.4E«jq8]© ‹ˆ<¸íI*)ç%ܤ!Lu£µ1;;:urºïZ&à|ÜÇëoUH…TšövÄê¹mÇSŒ«.³ŸZß=A’U[æ½b¦îùš½ZFnß…8o×v=†îû¬H¶iˆaÅž4‡ø^eÏëë5¢¤sògãï÷¬m8Ó¬q)Ù´¤Œ,,îȤáìþ£—áïÎ;šây‰òÊéLw€ÍÝ2ð§|çF…3XWGýêÓôÓ!·]T¢UOßIæ¡3  ÝÝÚIž¾(¦Ø3K,ÎvWSLÆÁpe1q§¾!“ »ÍàD€ uJãRÍ©ÆùÉ„æ±`Õk;ÌÏ£»wÖ°¡”ï°³ª,ç~DR ^Ò?ÖÛžMÌ2äÝÍqñÆ`ùpΟ©äµ2åÌ£T|ú*œÙ_OJõÔ µô†$ –Ñ;ÐÛ゘‡½OwÌÖeSnQôu#¼õýØ-RÛѸòç'†Rç¬jc` …I-Q­FÀZ®÷çü`ÂêmEJêÀ(+¯t{mJÝ(GˆNlŒ%Õ)ÞüÙý­èsn$¯1ªæ¦QÍÑ`ʽ$»5›TNÒ|jÀn$NŸí$ËœÍ.ãÝ]®/šÖ7“ÙÒG•y#ú÷!ê‘ ¹'E—•JgÞþÈ%ì}jò'(GÇboóD†HPyŠgóåÚM:ÑçTà$û¦*Â: "¡5cÜD=·vËc¡ Áx ꟿÉÊ·pL^ñ Úûr󆦹 û³«Œ’%ŸR·¯ 1}HÔ’æFûrÑì{†SسÙ—/±róÂ;éíà5‘¯Þt™øC\V ÇØ\ÑåA>çDòuÞ;.™a¦ÆÊ‹ó79»ú>õõyB ¡(\Ùö'ɾûB3 ±”ý½Hçav÷¢¤Ô¤¸ôŒÈñ#äKßø¦È–C‚gª´¢cëeá·O¨­2ß2竘`…¥r¢FÑyP*×´Öò[Bšž¥ßÝ)/VxÈšáfá7©ž~“Ñ’ ?d\âöôE!¾¼/¡ÙÉúºàz‚š"IÆ1V‰ ãÙ(¯É·õÉâ]Þ&]Ý씺øR¬zÇ3å¥  <M9!¬‡3Œ1mï rmåíJ}V-ñÉúŒaQßÑ€0JlŠ%škùl É‘–¢Ik¢rÎ¥ÎGZ*øO¾’xÇ.==Vnñr_—MJ×=Üà4 ËËâCš=êp€GGÅÇ}²/Mp ‡D½Kˆ,(Ÿ6çÚ>ä-ÝÝdN2ÝúouýübÒ:ÃÌ6·#uÏ•kØš|ÆÔ—$›]§ùtš¢5îí»º;[wè‚Ù"mÁÕ©ÙÏ2Äëo«Q"9Ðí((zÄë4^#Àøª§¿<º¹íFµ´tŸâh¢[®çWL epjT:¡@–޵šc7ëùµî“T·L+™Ë½ÿÓÁŒœ*ó×$,‡-Ûƒgí­·´¬ºI©>&]Ô+CÖÞ {¹ÜYu¬“>`— ¾®ÉD¯wbNZ²?Pv „þgBPO±³•åLø°Õ s0é®ìœBƒÙ嘸ë[ÇÖ§<Þ§â!Ä(øÉCÔç¸ÖªY­±˜ {Ÿâ¹bÅ´‚ßêïG0|.ê[Ô`EEërÒ”¶IŽ»œ¦€¦$ Qžïé7­Æ>HÝrGS1$Žê2]\¼3ûâ>ši߯¾nÛÒ‚‡ukXnü«\–*Í»/Íá){´Ö!?–Ô9 ÕË!G±R®ÏßRÅ;PgQÎ?Xßý»•—&Éâæ¼a•,¢©v.]761üÑ€W|ÁgAÜ?9Üan®­‰mªÎ( ß±ºÄ¦«ròøMŸžÈJHR̘}^ÁÄ­½ÿ_GͧÓ,íá;Ûy¦jVøÿx<Þ Z—wö¬qݳêp·“„Æ4вd[@ymÙaübõ7¬0'Þa‹s¤ýF£Åðz¾[ös¸K 褫Et¸Nù ·ò81¥¥Â,:‡?¬éS¾J­‹þç*¯’3 ä(¾1¢† œ¿Ù@éTé†Éiñܤ¯ŽÜè"Õ‹HïÑZ‚à\pžTƱ})W%6ÑóÓ¬ P†\6Çj¿äj‡Ä—Ùà öþ–zx6¤2K5ûËY‘0²ù7:R‰oº8cÝ6¬éìçê øšùC]O/™(4+÷îãŸÒ®­Jàvä?æBs{ºL%ƒ—ÍÉÓ¤ÀTt«Ž æyÇ«É2¤Çü^ •Šíá:±¡Ïà^kû…í¦þ?³@æ—GÙŠ§=ý|d¶PÝX¨Â]&fƒœCHè‡Öl¢sRóר¢yœãy!¦Jð®¢MÑ*c™aW™Ë:MÌÇcýdz-‹ÞS<_€£].;¤¼Ýf˜«±EQúNÅ}¸ÄèëúøYUÈü0ûP0¦mŽÊA«x`ç@²D<ÇŸ… g]Bü|ÑugÇ}¹a£(ïêb.ôÀž7JHúX4ê,ÜñHåÖ®åC©øŠ¬Ã?µé8í“DÙÅ»öÄÃe~ŠY'3sqP‘r¡« &ŠV”¤?߄܌ÂQ,¸j[…@(z#˜†4 NíÚøãâ´!Ä÷PC-«³\J¤âí¦â|f¶×‰¥“y.&Q;ºÇ<æ°çXšT•¸…£ûºUañ'ª™÷̷Ѥˆ+G—Ή9@(»ÿÍ\ýú$ëÁåû>¾ËvùŠíyU+ÀÒÀGYÅWó*2)ã¿âŠ»!žŽkät}íØÊœ…²ÌVÂ&Æ›¬üŽÓb/O›vÅöNâ¥ËBo~]õkf 1H7£}âÄõ¾Ö ÒÍÓÔ†l¡3ÐU‘‡—_6+¿¯íÖç\åóÑ¡GeÓhè5å+Ëôj…/Ìågmµ›:@/]rœÆÛM`ƒ#‹ÃôõR0\À”8¶@Nª @hûÆÈ¾ïÂpïOÌrÙée@t¶Ïie,ßžð¡ÖÉ"ŸGЯäíU¨¶ïŒH¾»Ò0Û£i«9 t`…¤àòÐz [‹GÜKgØÎ¹¨W8¡U ©´ÂËT>CXIÌÝ{àeÎïZhR·µ óH"n!© E¶vƒr_÷ñžœî±«áÓÈ¥mªP ]4ƒè>Þ °û‹¿é€³GKYÃ:ŽÊŒô3Îé¾Z6fÆ„Ñ m×Ò­™Ÿê†qø.Hº½O JÔ’á<÷kÔÕ]mx«­á²„ë‚…`&oKŽ$«ÜmóVÁA-¼ˆ¤÷\JãΛ?7pïUüÿ—˜uv*UçÊ “ \ ŽY¨çÙò>Oa"-ü¾ øYJ†ÊÓëýH¨žø²eOÝA¼íéAæVÉW“EBVvµÐS0µ$+sö¶U1àœ µNz0¾ä¡F'·* Ä´¥yù˜‘÷š1‰ZwO90ü²@zÛÛÓ'´œýɽ9sD…\OR®eÿUüê÷v»ÙÕÖ9nÈù2ðw4m¾;·óAÔ=ŒÑt±Š§L%©éH•ÿ…õ—I}:5T ›$A•'ň˜Eñ?m$äp•—çõ Ô·F þ,á|O®•Escϸ8÷E;žÄ`k¿bÌ¢jøâH wᾌXÙ±¥}—ÃtÄ­SSl'QˆVCi”êHKØ©hqOʘÏ{©Ýð‹ºÏ~åáe®ç<µ3ºpp Ð2¿´ú?;UXÐP‘}8£Bû"?™–‘¼ÍŽOÈ|ÑI,0‘Y PÊ3ȼ>0p ´èÛ‰[Ì^Ö,Þô']ÑE«$ÐÏ ÍÆ®Ejωíןô€×¯>à]q7¼wKfÔ—©Wp0X¾žJ͘7a`¦­~"P¾|Áh…®ìê¼ç‰·EÓ ð‚¾C2—)+N[˜/lO‘;=Ü;³®vOü–›±ÖGrü0¢qqë£ã‘Ù «° ËC§|S4¥• 4“Ál.¦õè gƒÊGÑÝò8eU²M½Äk‹4 æK!Y§â¸P†Œ½ˆ3 žŠGhfÿçBÏÁå87Ç—áΔ¬V#bßZÒ˜k>šåRíÈ·c´.—š@gx¼ŸË‹–u'ݽoe+Uös›q4ÛÝñ™Nfµ–ºªûb‰PøE\±+8bá ñYÇ[7Ôr&ˆº}q?{·ñâȧeƒÂÆÿ´©_RzH–¤zãõHwœ~ •ëfü š €8N⯬×ÎA‰Ôþȹ5£dBPÎéúqó«bF¯Š°”´’ýe. !,DGh |š.ëQzD²ŠBî?µÍYøIó님“ÆA\q ä[ãŽÕ4²!Ò±œ Ã·\_7e( )h1OÂNñÑÂhcn(Š~“êãÒ£‡Ûl'‚'µÃû.èæñmxyªnQ>vÖþ±iî.ãî Š:†º&§ôíy> Œ° "xª›ƒ~´çÆ |ž‹¥}÷dI>'O BÀ¡«²‚^ÀœûAys‡¢ù*iÊÓcHLT{>]×á n…¯Ü¢†Ç!Àž×f1_É·[My‚Åg”/1¨±:h}Û!lÃÎ-JMeÐBŠðÍ5µ~v6L›eí<ævýöÕ %ž¶™jŸ+Ré*ƒžÝ)Èl 31ŒÕ#}GðÔm?AѺï–Õ›4Ô†)]Uä}J(AÌ•ŸÀŽ©ÈœÀ´dÈ¥_}5%”;|*”FLø¹°ô¨=í™­õøÐuj€…8ûܬ³?Uù×Bm|¤lŘXSüÚ*¾7KXæcîøÉo¹Û,¸B6T~™ëÔÙöµ¶ô×á ¡­£ÿy…ê É»–¬0{­•'Ñ™g?¶ab]jpƒï‘°~H Š>•5yw¢êÔüD'•ØUk ¤âÌJ©°_ƒ¢ðÝÛÕI\C1Œ6€€GQ'Œ;Ê%2Æ—(‡œek Î=ËÚ`¼éã— ìIøL®ÄÔí èk·!ÈÏÛt̤4 X«áó˜`sUÀ‘µdòâtärW6é€eòŽEÙb\¯VvC»÷ߟí¹t]<(Ó?¤%&4òÚkŸÈPv¤¬¤ÿ4HSAÕw)œj£Ã•;N|®½ž Ö}>(ë)®¼— N³2‰9Q¯rSþæ½Øcíñ†æ»MC%TÖ³Ÿ7l\°à,m=Ö®tæûÍ|‚$ܵÂ1#å™êÒÁ1¼{O)$"JÎN§ðïÞíKüQì }-×5‰ãj¡ÉÜ>™ã€Ò;™-uDׇƺi©E7ûšüsÆZ Ÿ ³1ÏPõöÃÇR Ím;ó¦ñ¤ªççø©ˆ©oN*/gãô :  3ôÏ0ÂÃü÷âÁ‰÷9 ƒ“O—™ТÇLKßä©ÔèKäGì·8Ÿo¹g¤_œ8…†»þ£²ðŸ:ê!Øæô OÝöq“‹£»NLŒÈ'|Ÿ–MYwÞÁñ8— B™d˧&¶g`ô`wRx nQ-;õÅ&N§Ä!ÒÝj€  8Ü~,ƒ}ùC™-§ŽWWD®cÝòJN¹?·Ùgcl[ÞÅ iö°¹ÑëY!-NÒ©5¾ŸûÂ;YJý°Ó?}6º×hüÇð÷’É¡µœüÕÞ5y~‰ÁÆ ÂÅ’¨c†ÎI­M¸ŠFoéî4®ì¥¤Á­¸¤C+Ö—ÜÀþ=¼ëñó½ôÛúݨ3e1òˆn•Ûž£é‚¤a"8GIrÚŸ<Äúöê2’ûŠ”àÝb&ñµ{\}íµ&’\¿ô=æiu #|À7 @÷@!5·[¹/ì¢ùÞ„ô„tÐ^?JœQ ™½Ø Tdè…×¥ë‡ã·Z')µæœ[K9iüs]é†uû "/àx<ÍY+Ä›ÆÑƬdH¨o¾}©.]¤sPkx˜ž7ßõ»–¤xÖƒiÁz‹-¦)n£ÒMS³ˆwYK$}Ç饫ô%C`‹HdcQÇ„éçØ=-lk*Áþ4JX2Ô¦«*l%vg•Æ~jBœô)øNMR}h‡…ÀdïoÁû8ùäÁ¦×J˜"Ô•“ÀÒüD£;]¹bP·ºšáve^%Dô?ÿÜ—€¿/yU¯sôuù¦EŽ+»YéTþ `úØÜ:ÁVã…0aš7ù±h¼S5f›ZE¨‰‚eÒkóþF™Œc†(¯ h©HÛ˜aýË(¢,LáLººs€ê;ׂVÌíW¸…êW¥Ç×Y´ï=îs±œúk´p 1Z%˜¼81ê\ endstream endobj 690 0 obj << /Length1 1464 /Length2 1785 /Length3 0 /Length 2711 /Filter /FlateDecode >> stream xÚT 8T{W}ݹ®ÐBå_˜†Æ¬ˆ1*{v1u…º÷˜93s2Îgf WSh*·}´ªn=-"YZ.Ý".‘%mRŠ”hêF¥ïÌDÛ÷=Ï÷=ó¥>ÿ6ÏÃRéð¸Žåht¹wµFÿçG>ŸÌM÷âö½bXsËãÂö5}ƺè3þÝFJºæ¼:+»¶ñ£…×[üì"tª: /y~êÑœ«ÇŽ³Ú®ÏÒð»f¨íEћӌoyêçž}ˆ³Šô7†QÎs8ødÔ/õåÖ¾94Ëzlö>ÿ”Ȳži“ëšnΫ§Ø±UÌ4S§¸çá|« äÀæÍ‹œ¼‘k[{ûo-éß/½;À¯ ¨­Úø±%½¯{­/T·î{wr=éáÈØ™ a·Õ†Èrrîì§GÙçuýy:¦¡o×duÒxߺ‰]dÁ¶ÝMé ÞøTûÌP¥ûÚ_¸«O†›1Ë ç¼T^|à¹-s®MÉ«»öï°W F~GM¿°s·ÒqSKO£ê˜¯ùånÉÊEÇlKNùíÎ6͈ù…ê5O Ðõoæ.¥º_¨˜?ESF}Û"ÿL@§æ§ÒŒîS‚LŠúw?ÌËŽdº7¦ÀK‘;<ôZNÛú±Ùå˜&ƒ^Õ§qÙÇäM9­ýÅŽ¦k3ó¬=l™aÃäà¯V¨…;Õ †©7ù9÷\Ÿs¢ÞLË>s¸áÇküûfOJƒ{Û ?hÏÇ_ßy¬Ðo²Úë¦PY§×ãÅ©AÒ4§Ý>´,QAÓÓPe/‚¤—sí…}OËœ÷ä›>§}' ¬êðÄšî¥fæ´œtKJ¸¼ãuÀ“ )ãºÎmîà÷hj×<·/#t½ï²´âá¾´«ÊÇÛ–uï°Ø\Sºûœ|Ÿät0¿¢ýyIˆ^S[ûr¿Ð«À4޵øÜ­+õÁm~m“ê“pÒ¦³ÅGí^<ùxñ)çvbh–•;;âJ·2;VoJøOÈ¢ýÔ´zR¾'Õ»û¯MzcÝ#‚Z¼K~yþ‡L­6cÛ¼q2»F°ý“5ÇÛÏïœÿÖè>9$²(GœextØvaÄò»‹ƒ,‹š‚ G™yÛ¢ÊÏá¯H?ºvTÃþüƒ•X(†gš +ü¸Šl®“äÈ-hN|­Ïøì[òîMB¢Êïœ|½eúðGõ›&3÷–µÄ^â­ß0g×½ dëšSßßà¹[‘kÞÑm2¼`wt»¡eèÑÆEE)‡ÞÖd¥¯Â/\ôñS:¯W†H—Çt̬VfXͬH=’æ)^']ˆœU‘í•U¢¨m¶sÿPZÓ:Ý¿6Ä­“òÛù‚EÖé8'zl')õü_Ư7^šý< *°üúÁã(ÍžåÑŸ‹á›EiU­¿sz¨7·N§ÊÌ?6¨/ÍþŠzlâï»=žbV&ã^Š^ÔqjÆ=Ý>3%pÅUŸ±é›Í¿tu˜û¿[¶]µ«ÒæµãY#³DU´™åÁõ[9÷w1ëkϪxî1Ʊ®çFkzTe”·¥Û&UFeœÙ¿¢6E¿$»ÙëôÎ2žoQà¿ÜCßEÒ.ĨX/ýªg8~¸]·ÝuïÓwUzqÜʰ2Cî¥÷œÖUk¦)ØÏÊN[P{ªÐ†%Û×çYþú冪b¿{¥ç ]ŠèÂÕgíZÈF^Ÿ``n˜ìbº¸ÜØX4뾺µÒ®9°ÖhJ~€›IDçäqŽí'âìþö›’å2ÉR87Û.a?û^b­[ñ8Zgqô\CäNÑ(QdY?oÖÈ»7|÷ âMaKñÜ>y¹ï_%rò•è_•Ö™–w=Ù~¯õ'Ù|·ÎëÇ6¡Gš-&n½°ƒ<ÑÏvb¯úÕêGaÜî“„ùeÕ·«ý–­Ðs/mž(=¾$»iüËÓkWQ kÌ]+ÒmglÚÒáÏ>œÙy9Õ¸j; ò¨×_€V:è7ÿÙãi=ÆÈíâáõÕf¥úغÖÚ f1•©¤#µ#*üq¥ª¸l[¼bLÞµ:Hø wlkÉÙË?©.tØðþTVAßú\È&ÐØTsóºº?f§š+æ†è{¬ô)ñf5ÎlµYN¡§ÿ}ÚþÙ2ò¦ ÄåmKK C^q2«øáÖ? 6sv½—Gнãó2u±(ØÙõrŽùÕi6/ÞÞUeLÜ[¾´:iå–€­%“­ÏDçó–F tj+’¢wÈls/~F;ã-VÏÈz'ò;Ÿ9Oþ@ºÚ5[Œ®+”î[бâãò[^: endstream endobj 692 0 obj << /Length1 2058 /Length2 7279 /Length3 0 /Length 8506 /Filter /FlateDecode >> stream xÚµTÓí6N£”t*N¤ÙhiAºeŒ#6`c€t‰€€ !!]Ò)"”4‚Hw ‚Â;õyÔç÷ÿŸó¾gçl»>}Ý÷õù~ÙniëòÊY#¬ J8ŠÄÜÓÔÓ‚|@ › åýÇLÄfuEÂpñ¿î¹BÁ(ŒMŒÂÄi"à57GH‰Š ðî¿Wq€ ³hòÔp(’ˆíÂÙÓfk‡Â´ù÷/€ ݽ+Êó3 çu…AÀp€&euÂt„€º ŠòüO I;ÊYœŸßÝÝì„äC¸ÚJsòÜa(;€ uEC­?¿˜ñ±ôì`È_v]„ Êì ` Ž0ŽÄd¸Á­¡®Ls€®ª@Ë ÿ¬ñ+€ðÏÙ@| ßåþÉþQÿ™ †@NÎ`¸' n °9BZJ|( ·þvD"0ù`4æ¶Âüœ P’{cþC q…9£|H˜ãŠü?Ê`NYn}áä…£D?æS€¹B!˜c÷äÿu³p„;Üë`ƒ[Ûü aíæÌ¯‡¹¸AUþ Á˜ˆþØl¡(€0 .¨ÄŽÿGy=OgèO'è‡ÃÀÇËá °Á€úÀl ˜"/$  \Ý >^;þ‹ˆ@ €5 ‚XAmap¢?Õ1f¨Í/Œ¹|W˜ÀˆÑüñùýÏ#/kÜÑóOøÏûå—×56Ô4äþÅø·O^áðâð  „…„"wï|þ[ä7ý©ÿ´jƒaÿŒüSOnƒÜýÅstÿ²@ÿ# ކðß÷%C„oB0_ ÿgùÿLùÿSý*ÿ7áÿï@JnŽŽ?Ý?ýÿ7Ø æèùOFÈn(ÌRh"0«ÿßPCè¯EÖ„ZÃÜœþ׫Šc–CnëøûaH%˜ÔZ†‚Øý”Ë¿—€©îƒCµHØ' €þ³mÌÓ‰¹ªŸ.(f™þÛQAXÿØ:aØÕìIĈK@Xଧ5Ôã§®ü|p “À°óØ \‰~\¨ˆ0€_î‡éÁëðßûƒÄü Ð]¿âo$ ð+ýA~•?HÀ¯ú‰a|:€_ïÂÌ¢ÿÝÅtÿF‚˜î`'gŒî~ Žà”X´êÙj<>fרÛõ¹Ÿ:QIÿYù=Œu¾RÜ´Z’iöLÄ…àX™1þÌ¥œd ¯‚MÑW62Âa¢šyÿ´—`{ð"øÄf¬Þåb: ÐFŸf[¹^{?æ;н”Ôõ ô(ªI$p_šóÚJcp‹ÙyâµÂêDvÅŸ n†{«ÎtC¢‰X×R(Þs"ê2Lâ颉pÊUc…4¸ ’«ë¹’$c_¾¼f¸Ù&ˆ•à”Õ“êa>„íŸ÷yïñb ÒãáÆ¡‡¾ð|\ ùhŽ>Dq£Œµ’Ú†zçÛCž5šZènmÜí¼9\š¥ØhP—E˜kFÅ8ƒÐZÉÑÎ`U~YY÷øêz(u¦>è”=”sO¤k”i‚Íoé{ݲNdš Äû$I,`,ö•gÊí*Þ@îç«€H¨¾ÜÊš½_£îX]Ã[‘Ö/¦ëç{›e’kÓ¬d1ÌÏb‚8ÕsÉÝ,‘›À^Á¥Ý™1ûOw(qf˜…ˆ9%Àã–BacH¨pO{§Å…@¯mÚÓÏh-ÿÃ9R“rŽÏ›Y¦œàøeŸ³76ª’M9³NRF‰zK@j¶§_Ì YvdJ¬}õœn:Qª(KMiP…ãq”®œîšõ«ñé!‹By‰õ¥¨Y³¼¸>?`ÙôzÖaB‹®%£×‰?ïéh©‡MS}€œ6º­=q³Ö)÷DqúŸX•¥·¥½˜cžÞ`¯z{ð1x³åÍȇèê”ð=ÓùW§Ç6ÅW{©ÃûÀ‹“…Gb49Ä¢ü  s|¿bíöÑzÉ€Ð^kQ%¾+ؼK+Ù<ä¢3wó¿Žöe4”h´©‘ä~R”ÞHÃIP.~ìG$TÆ{|i+MEè᜼¦”oOS^y³§i¯ ðäa²ÝV“ðs»Ö4K+_‚úTä˜ì1O7_ÂÒˆw«ñÃU:cã½n6£Æ›O¦bÌé>-R´(’¨Œdݪ<8éj™Ïqðý&‚f_K=³J«$hZ™³´äTK¶Î¶× bòïg½[£ÿî•áÛëÚ®à³æô‰l¦©Æö+¾Oæ×åïûú™L?ŠLOIÈÄÎÖykÙÞU"ÇgnAí9}0ÂRÇUhP[š ›Ñ¢Yreº°0–~ÇL;ú*¡_ÔmØä¦ø|YVSËa¾¹[V‡ŽŠ¶Y'lÒ%Õ ¶uFæ,?Èw¦4P |¸¦{QÍ!k±(tâ4|8jåϺ$&ºsÇŸ$“|Ó‹Ñê*e±8½j2ÇÇö‰nS­¯ÛoßP"à}À¢yuê™åmEÌòþâT…-kQÀW°øt ·Ì÷GVÓŸó£Âhc(f|ºú9§?BVÝ4ꆓNx¶b=(‹î,ù|0Gx7A$kOÕ“ñ´ù>ÄëZuI\e•ªÒMÈ!%W!}jùòEI*¿‚nš%ׇcî>²tÆ£(ä­nôaFâ ¸œ€þJEaxúMóÄõ$w…§ÚgÌ0ÿLb&ÒôíÒ04/ÞDTâò‡@:À Q2=³Ós¢×¢µû-ä\dÚ cù êûº'Í'•Ô¥|ú¾Êþ9âå.¥(¢B#evî‰AÍ'9}9ÃòR«Ý§ö4hDm$ÚjæÚ¥Y-Wc Á‹Å\8n§J´Ì%Q’~ ËÉÌøž]É£þjÒgºÈ=†³ ;@áøxOºwíZ8¯%ʈy2ᛌ’°ã+Éá}T©½‚öleŒÀ®„Ôï ‘ØOe¦: ÜüØób‘Ç€¹S :øÂIæÕ7jÈ[EY»‘ù‚Mœïx‚8’6#ž7Òêˆ ®Ë·ØQÜÆNVP 4` M=âOª{÷Hìqõ)÷õ¢¼ƒÌ_\Ä´^[7?X–K0zV†+ºÑs}ë€l?ãKîèc•|ŽPË«§¯Ì¥Fr×"ó…—† ñÙ«ú®&L†Ù=¿'d.n—r2#ÝÒÅ럈¦›ŸIö\§7ôþÛ ¼°wF™xBÑYD· Ñ7g«å±}G,“û¯ L5p:´ú¿…ÄJ»·9É_¼Å—< 0Ψ~é6¸ºMzÿ»bÓÃA7«î‘vãËךãBÂÝJ¯üöÌjÊ[eCsç­_Šjú¼çj÷_ÞU—<èxaÄœ|Å=ÿêH9¨6ËÓÃôøwÃì¡È7³©‰v6rMæØ×±L_ÈG—gš¤o&Ø—ïÞNժ״bÑŠz½W»q× Ý­º³Œ_ ëzÃseÁr‰Ù]ò€‚$V.„åž›wÊRÄÔn¬n×ÞºÏÅ—cQö˜­;£Ä‹#ü‡|¦jÖ9™G{éYâá¬`ÄðÔjðZøq@°^²:²'™¯<Ÿäó®â4Ê1j'‹ -–ÂñK?T8Á沚¡óTצçÜʺÝŒKݬéÆÏš–o_¬©¡ÀùbÛ.««û½^x'飜;»ÎÎZŸ ˜ùJJÛ^ùÆ¥âŒ:Å5m,î#TIfÓK{P_±<=ú/£äBÒ{¨Æî|¼~Å)¢ô}õ–ÏAeè+ʆD=VÆ62á!’’â—o\UVqWÞì7ð‹þ"'7Z?*›(úè‘ΣB?œT •=$–¬zµo-î Í²)Èò‰6ùEÖžÁ6ò  rÁ%5¤Ûà÷z†¯kP ¹öCåaÓjí² ·Äx]àmqsñØ9éç¸ÎÂÒíú¯?©4ì±²m¿—WvÎsìVPË:{î»/KMüõ°¬ÇQQ¯üp‡ã ÝQR¦×Ý[/\NL†eÕ ¸VE­Ž$팄h‹'û$Î.ï¯Ï| §ÜrBI«— LÕ8__iѬ¥a4jݬâø>†4r]6˜Ñûâe¥×YM¸ÆwÜh€;Ì@¥†s@ÈEÕ´ÖüixDZÎo¥ßj`,Eæ“3uζ]áî[üüdRÒ^eRBÝèm|œôºÏÁ—€ Ö]F*ƒ›e¤1â,“ÎÏdÖ5ÕßÓg.ßot0ÄyÜRÕ¿9ãTÝÙý fŸ‚å'ç/Á‡û¢-7"gsH¸üùÂu·ÜõkY7y’Î;b®B+Ó³ØtýzeMætA†!÷yã|52öå¨ùÉîϾñ"‰êÜER¯}÷ÿ°Çã¦a4Íe>›Î§ñ9ûá‚ßeY|ý€}½±Ó6»%¯ƒr¨£ø zë†lŸ˜_rūս€××5Œ U¶«G2p‚ëÆ[ÝcSÍ¥¥´÷!ß×Ú¡ëÞ[´e_,¾ÍQúæN×9¤~;­.Pâ­QÇ©ÞÛ(ô1ºe2ØOz®ÝÚÙê‡>‘½{zŸË†½ìª=—ž¦1ëž0ncíEª—á¹à^‡MLæQnꪞ­·ù™¾g¥ä½õâѧšòƒwü­^m£Fg[àÈSÍÁ[”hœÊ£ôÑþãV#vŠ¥b·iŸYpóB¶±—XžÖDÁͽg3š6É ýÇ=Í ÀÌGýùS´8- Û=ñBtåÉE¨ºè°€2wÂÝ·õ,c[ÁOo¨q©Ýѯ9µ²†©y ºÂçŸøÏ¶û›X¿yÇ¥œâ׿góq@·¬+‘ü&âNAk¾KV޻é¹¼¢’ÛJ¡¹S=$hö rÔïì”ÕZ Ùe# N×ì…r ÆÎ?º—zñ²º]²ëÔÞë˜Hæ u}{¸Ù&í“6ÝøjSR|$¼-Ák_ˆý9€H©¦ì¤59]Ë›b~à$âó©÷½˜`ûU"ƒK-œÎòÛfÒõD˜·NX]êÞ`Ü1]|×[sÈm :Ày× x ·—ºÊ ¸?hÛR%ÐV£›¬’ï뤺´ûÂË7 ¬¼`›í²,37$¬I¤òË‘ª>ϸ+ÚMe—änâjNè[–Tç†Ç+Ÿk0ô¹øóÔø™³ž›O<ãÛêšsÄ,š2sTÛ¤¹¼Ù!Aþ­¹‡¡omשµŸDóŸï6êΕ!‘:Ÿž1B1R!–\V¯HuÜóÔ³³Ok›4N&‡MŸ^t´õL¦˜Ü¾%Ù©šê·ªyš€ýÍ.p¾7ážOlK£KÚ[>¯;má%§Ž|¦¯Õ0ûvjÎU2}kéž¡fHp{q[êÛm„¯¨Ê[)¹ˆk+_Ä]\“©F¯ POŠ#÷†ÑåžÖ%Á”Í{Ï4xîÏ|ZZ<Û0üý®‡%K–ŒÜ°{ziM@ÐýXâhƯ®»š­GŒÑ›kçB*mýž¶Ÿûòì?Klª+ÇÐ, Ðò‰Eº½n¬Üz¨ÑækB‹$uJê™—bñ@'ö[š•J]æ`ù+’­]˜oÅÉËy»ú¢Ýu*éž±¼•a.´ ãN™P Dq̱*âã×®¼[9ŽïÆU¿–py[Ñňkdÿb÷$ñðìÊBRìV$ìéÓšÄ Ûuh;ÕíŨ£TÔnF³Œ)½OЭŒ¬Æ§;®¼ú€&{òrdù…sn™{yÿÓ€Amg{vˆú‹v_êƒbï:ÿ´—˜.¿ƒ^ìÕYΩ¨Ã¦¢Xzd yndï‚‘…*‰rCVzX‚Y†V™¯B6법L“£‰•AíÃ~Ü«T®;Iø”Ñ +êÝ Ž•GùéÝù‰ãïÛ3ͱ´µD‚e*¤x“èäÏìFK_–Ãñ¨s ‚S®ä†ŽúJéÛ…“6Ù#–7޵Ĥ[>B´‡ Ý6¤ÄoÌ‘gH%~>}xœ0Ä,PÉïk–ÿ.Ávl"ƒ3ªù’ûèãQ¨±UZ ‚¥!~|RƒKŒö#»õ„ñ®JY\زh>ChZâúaíGÝÇ3Q$**U<ÀP[S^ØËÅÓ:ld}iK¦ßqÅÙèÖ2 îÆõºTç{ɾcE*òõ]š8xÉÒ+¦û A›Ñ”ä:Dk_^+Ú´9|«Z¢Vƒùò‘¹)¼HKsgY>ÝX˼ürÓ… ô "ë¨[ yó ¨\fO‚rº”tf°!i5¿bÆ+4½E³›c(¾ã‚œÜg%‡‹A«:©¨²¯š ©Ë«eÕô†”2d²69·=v÷Uu²k’VÏŸÓ¤ªäÌw¤}؇képcÊ8“f3cêþŠãp¿MW¯— ^8¸ùi¨›±~r÷-‚c×Ü䩬ËZ$ÎÛ´)Y¾¨’ðÄ'šzY}õð ËcêlÞ¬o#-ƒ P-Ÿ÷•Ù¶|-sy×ÜI/÷‰<õCéE¢'•j]øCh‡õd€oꄎèú<éò˜g³n»²•î{iµ)x‡Ø-C;¾2òÅøÁçÈL&¥ÛÀë!A½¢qÇôÃ\Õª¾&âÓýã¾ÎŠc‡‘Ú½wq–›ý>·á;LóžÅ?|jÎL"ªœ ×ÜÈ<‹ãº/m³Kãp{írù8º¡±0Æ«Éî}Ïß×Ws‡*T‰–˽å5.*Óogh«Ì½œž„'IÃæ·Ý{DGø±Î;Î%¦å9,°Î>¹ÍS¯?'¾^yº‡Íæ>é9s“tõ[œß˜Áá÷ч+uØ™vFÓ¸Ù¸j±Õ %ÒkÎvÍý9²zÏ2«›RbN­žÐQørê ZãÌrо îšAU­d%ʶ‹YRHï>^܉×ÂÒæÈýrá´z©Ì(C¥âÎï|9*ž©@3ˆ.È™#7&÷UA‹–ÍGè"8*«Fö3+rOÉ´„£|·¯Çñ½ \¤½Sü ]¬Žú¸À„­&—hÁJªyáïÒxæ9ó"‰Ûw<ú¶ó¹ÖH†¬ùâ´SŸ’°š‘l'¬aoQêÛÏS‚'ôà›áuÇAî#Qºæ-n×ëàKʦžå p³Ú¿UO Õº¸N]^·ïe{ÙT^:±®ä#T¦Î=sÀzƒÅx£î³Z“è媴zã^Büžá B,æGu RÇWRHTò ñQŒ´N»syRø‘çÃÏêq>PÚÿðµv9³²ä±jð¦0Uã:näÝrðí6 ™*f©Ð<ƒÏ{Ÿk¶)ÝDWö…Í£¼O¯\ý^™=Ù¦gªwaî=Q†2ÐI«½ÎŸÜGÊ>šv¾ÒZÉ5Z+¤Ý§ágÕ¸¬ “*Ó–ÒRê ³ñÕ~\PtT Ξ«]{ÖCB_V:Œ=7F°®B¡7âP×8+˜nÀ¾*Õ"eo³;âB‰‚gø›.îy$+æÃõýà¾>‡Ä¾ñcs›KSæ¡™îPgM¦†~Ú’1ã1N97#«áÕ§ØXÍ™¹ŽÓŒâ›ëoݸîÂá¯î5WOÄß5Ž¿:~ƒE[5€R-· 0ÙR‡uWGÏñÙRªfþ¾š1rn©bk#É[áX*PRžÀÛÞmQ\ýz¹¸jr”uöâ¤L1eñ¤n2È„wd²ê£§y•?Jîæ)2Åüˆ9¯†WÈâÑ&*Ì:ªµ¾3ûŽœ%½ªþãLÛíc2­é1ËÈ@uü|}­àDRqh)ËÀêSÍÅ;N/‹7“ÃC1ôáã±Ø+âvŸý ¦Ú9J©Ëk¥·=öïMTL4';ÞŠaÛ¹ŸH\x^&OšzÈ`!ÅòÉË;v¢fØÊ `ÊŸÄ@áÁ8Yëu—DâÍ´6/¥oŒê`ìë«|øTù.:¡¿5QX¢2ìj\õrDøXÓ!C›y­„œûÔ‘Hž±{z=1jª¾˜ðêøP0¼b1/Q”Éÿ„ÄL`’ ®·<¹>¸Lt°ûfOã9–€v’v‹Ã Å#–7â I¹ÍÃYdJìý¤ç»Œƒ–æSh­Ü&UõèÏuDØî  œ.¶¾Åª¦¬Úh†à£ m¶÷èÛXÈžòÍjcqok®~¯LV™†ÞC%%7§{&,nÑÛB c·ÈAtI‹ß —ëj2,žBF”&J&…ëã•á²bYÝ·p¼*]r‘±ËâZÌ“^ùýæÛaëÁð츠µ’U¶yÏ%>m–Pƒ0‡>†>ùƒk^ýT’ƒææCß2lÜbôÛ:Ä›N%í± À*|îwÅÍ_0†PuóÀ] ߇u)‘¦Ù¦w‡¶BÆ$cÍιv–X)ˆtN"Nn(20ÑiìŒR§z8…È+ß±<ý¤¦£awŒgÐüÁÝlô*_+ÅõoFõ2Òø2S‡ôÙ¤¨>ÐGŽ¥Jý R6ãEØñˆ?ñ­ðJWdÁ†³Ý 4^¡_ZÚÉØíËðÀû)T³ÁŠMè@ðéÛC°™A£šW‚hC$Ë OûYÆí4±%s¥RH¡JÛKÆ÷ U‹ùn¬³ï³‚'p«ÞÙd¸iÉ¡~‚6ÒŠàW»cʦ™õž;ëõ˜A8™W,‰E>à´ca·³`²V©h{"½7šB“(ò{‚?³Ë{£¹&ËògyéSþ­û½T_Ðd–f숥 ˜’ÓžPniéÓ¦#ûu­ûqC¯“_2W3åÑ ÎjFr’ÉŸ}Ø-µ4n\E]÷:iÔ–fõµ¿¬àê³·ïZj‚¯ÙnÅJ…n3;vöU©˜ y×e’zÝœÿ^±qò€O“Åw¦#áÿ4EÍð endstream endobj 694 0 obj << /Length1 2292 /Length2 14125 /Length3 0 /Length 15478 /Filter /FlateDecode >> stream xÚöPÜÛò Cp‚‚Ûàîn!¸»; ƒ»{Ü‚—wîœàÁÝáMÎ9÷æÜÿ÷U½WTVËÚ½zwï_¨È”Õ˜DÌÀ& I°½ 3+?@LA]ÀÊÊÁÌÊÊŽLE¥nåb úÇŒL¥ rr¶Ûóÿ+@Ì tØÄ.8°=@ÖÕÀÆ`ãægãáge°³²òý'ìĺY™˜²`{32•ØÁÓÉÊÂÒrÌþКÒØøøxÿJˆØœ¬Lö ‹%Èr¢)Р6µ¹xþ­ ¥‹‹? ‹»»;3ÐΙìdñŽŽànåb P9ƒœÜ@f€ß‚Š@;Ðßʘ‘©ê–VÎÛÕÀæ.î@'b°µ2Ù;C2\íÍ@NÈá5y€’Èþï`ù¿ÿôÀÆÌö_º²YÙÿ• 45Û9í=­ì-æV¶ €’¤<³‹‡ #hoö;hë †äÝ€V¶@HÀ_•’"* Dà?òœM¬\œ™­lKdùM鲄½™ØÎdïâŒü»>q+')¤íž,߬=ØÝÞû`neofþ[„™«‹†½•£+HFüŸˆ ùÍäàbeeåå`€ SK–ßôêž ¿œ™! |½Àsˆ¯•9ò ÙÛè¸8¹‚|½ÿíø_„ÌÆ0³2u˜€,¬ì‘ÿ°CÌ ó¿1äò¬<z¬Ùc°þþùï_ñ2ÛÛzþ ÿë~YÔ5ÔÄ”5þVü_Ÿ¨(ØàÍÄ `bçàpq²¸ùx¾ÿKò_ùÿ‘þ—UhõOi¬ødìÍÁ¾¿@Z÷nÿ í? CøßÁIhÿ ¾>+«)ä¶ÿÏãÿWÊÿ¿©ÿÍòÿ6øÿ· IW[Û¿Ü´ùÿÜ@;+[Ï ƒìêY 0d5ìÿo¨èïEV™Y¹Úý_¯Œ ²"ö¶ÿm£•³¤•ÈLÙÊÅÔò¯qùÏ%@Øm­ìAÊ`g«ß/ €‰•õÿø ÛfjyMœ!Wõ— Y¦ÿ=QÂÞlö{ëØ¹¸@'' '2+d¸Ø¹¸Þlõ4yü5×f{° $Qç 0;!ÿ¾Pn.‹ÈoÓ߈À"úñXÄþ ^‹øÄ`‘ø/âa°HþAl©?ˆÀ"ýqXdþ Èér„S鿈©üAXTÿ ‹ÚÄ Y‡?©ñAiþñAÿ ˆ"“ÿ"6v ÐéRŽé$Øl ¹§ÿX89[ììþþ¾@³AH#@ ¥ü=<ÿmâo¿£+dæÿ¤@tšÿIè4·rûÇo7ØÕé_ ‹?Œ¿Åï/èß!B-ÿ” 饧ƒ%Èþ_›Õ¿ ¤M6ÿ‚éJä†h´ý=’üFÙýl€qC@ðŸÓ!±ïã¿ÜŠþ¸!¹o”½-ÈüOŸ8Ùþ±:ýOû8! u€¼ àµò…fqü„HÿW'Ø :ÿÎõÜþÕ.H¸3ä)þ“9âÏ׋ÅÅÒ ô¯û€ÔëâþW¤u®ÿ‚Ö¹ý BÔ»ÿkâ |žä@b½@N“ýÏ’›º:AÄ»üõ C^€ÿ࿾³ ÈùÇØT ÄúkHëmµ¡;Óö˜Ð4Õ¶V*“÷§6×{4„$ºªÌ 5§k‘¤ÁnŒåM Ú«÷‹¤OÞMµáÍŸTZ|âU'·[&púÇ D¾õ#1©¿ßñyrôÑ ´i‚î¥ÊqtåESÎúuï•òøÖWº46·­²SÅ-÷ú±tŠ)Z#J?ðË U®IÖ,9¼ 1"=æ©úÌÕõ4æçñRÙxdßÃhŽBoÝuö˜»Y¯•ruvçN|J|]N‡QB©NN›àΦNZô] ¢ ºÆxOk*XÎÈSr(¿J]:z;õó+³ü-c˜|‚‡&b·™þH¢ D¶Fúezÿ‹iËYé¨ o´¥±dçâê–š¬{§ëË£ÖЕÛnƒ€Oü¢W0Û2ú”~)B3ñyµ¿Æ#‚òbRq~ ¿½Èè Ûú•üµ«F¥³VÖH~ÌsK{È‚¾ŒBT@Òì­ç=ª›$s³G7µÖrîøî”é9½©ýöŠ{ëË äàå3Ô¯kê™L–Ö©3° ˆüs_˜˜öMçyÞùMXØàÁ²ú§æë&Œ×RGqpXDqìür·c¿íŒqÊ” €CûÀïëX.‰¶¾ôÁUpÅêTFBhœ~Rv‚¹B×=lÊô–#ðÍ/á¡NÍ3†µœˆs´@SáioKÌñ˜ªáŒ'©˜ '¢gKDÌêÚ6Jýwjo|רS Iä üB7ۯʹ'%Õy#]ÈC Ý^!)O[wd·‚æ7‘ðùÔ÷oÀ|æ ‹V*­µÝ}«“žv*3NVˆ8ÖqÃ’0Kú£˜¢P®¥HüÎû»Äái!ß=y¶òZc³Ti¶ÕÛ>´„N¼šð6 tÊd959Œô2wñ¼j\íGÀc2’{²\ôË8ã\Çç—7NW¼Ò¦x%%4÷"£x* u[Ñum]ƒÒÝ!×ìÑü|ï^qûÄt Mõ¾Å~°ÿ §þ‡`ë(ÃúZõÆHGròKQ»€v«€Ôv@œÑÉplý4?¤W×És†{Ídh÷Sïäí">2Ň˜j¾8*PzBûqÅKºî"> ™R¡Ô4.¤-yVÉŠ •xÁýJ<Â}3¥çpKKK*y¤¹ÓÇQl—öRɇÛtš%¤åPÁ°i;Ûe?NÊa‘SLÁÓÏ?¤ˆ×õ¾NÙoŠéÐõýtø‰¦>¡³ZI‚À³‡r°leù8j%Cl ô9r³§ðÈs¬¡Øàæù j=eœ´”NŽË´1j"ú¾þ®|¦5Õ“yyæŒÇ÷ýC5ø „Å(§Ã•åöâ·¬ÏBÙ¶Õ[=9 “2ïÀ±ý:rd$»þÕo±-—¥2I†üCØJ>®Ì†?'ßìº^dº›Nò5s½ûZp»Šh&+ŠRÝ{Êzty¡Wt:HìpýVoÌåbe‹nÐuÔj¡èܘ˜æ ™UÝ?VƉ4”ÛZ(ÿþÕˆ{äÒ`[aÇâÄ–á>ž0üÛÔ§vøñ¥C¬¾»E~ïû¢·%èWŸ›Ã…m¥k[ÓèÎSvyc•*Í òì´í#¿‘¤¯¥ *§¿j³²z^4ЦFK:}ðð&Hå"þ^nN$ѱZÙ.Nè²¾ë5Çg?ì™+JÒ× ÈØta@Ú⌊€}ÂFgÌq˜§Ì{ïAýäCrÒ[Ì)íljy%ËS,´ž.˜—1Ñ]öV¬fPyg:3°Ë×Õk¯Û'ëÆ¢ç ´Nú~‚œ=×-è‹\üËu½ñ=}€ öÕ²±;Á4k,ɇAKƒéWÕŠž›”ö¥†Çì jX®[zå?ß^ϨÈ0™bS:W%¯ÃªžD?”`|eÞw;8o2ÌJ¿–÷W+A×dJe‹´Tÿî!‰†œDäByTP€5¾wœÄ«z¬M0ÀÊα“¸j]m˜oS)Ï_VþZž”vq†\¾gå…$H(ò&[ÍÉú#éìõ“7 ¿Ý‹÷gèk¸`e ëLô «XllC.뀒ò‰–„4Š'©:冕¥`CN=…dý£ÆÀ±7_ ¯*"âw=M¸ƒ ºã¾oNzÀYΦ¾žXóÕ{Y 0§ tŸ³4ÿä”Ä%ÝJ/ˆÌ+(\ZCKáyÀ†Uó£Å›ßõénto{Cí¡A xÿÍÍ®®:С)¡!šNGQ,Tõ´ÙWÁF<-2þmÚ'ѱq†6‹ô¬¯MºÎù<úKÎðtÏàr5m„P*”lX4-ÍÁð4–àcj¿ªxŽOµÃׇW+!ƒ)Bx§fè{mB+‘°ß­Å·_Üö’+.–Ùû€·ðªÂöâ_Î%x ‚ØÆ»^:çØ‘Ë"ewEI] üšl°†%—]¿µA÷æ†aYÊJ»BûåõÀ7}*JŒÞšÊSÉÉ>Ú@¨¦A÷_ÌœÊaƒ+£F`%kc:9zóK3iì²Õ\5?â‚V¥š7>ÂÌÀ•êþðé§“àã£ä.>*ür¯( Ñí”Óý•_àv šY^ºvØsZêðÏa¸–ox».¾p’nìÝàQªÕG6£–í}Sÿ¹‘ ‰z°ö‹yt¸+"§õÛ-ÛìŽÒŠ.¯O_‹­Ò6žŠÍn$»4ú¼ê8ÔýJëC¾¨@I)!ým…ЃwËJù "ÛÆ=ÒækË*tæ Dô&‹ò¦ÏŒN%Ã: +‘ví÷XÙ”ËÇñ¦^F•¯ñ–Ý„$ð\!ñ_²ÈD k>e}·ºþu‹/ ß#)„:ØÙ–à"÷´k2DY LF©_[(åkGÔóÁ |«ßìÖ2ØJÎñrP–VâAFxýF³.hªM»uWšR­P˜b×êiEíÒ²ª¿ùu¹Ó«…ZÕ4ÌŸXZb4Ç™h¢Ê­Õà+l=x‰áÈÝ W+O·¶÷])c‘¯"¦ áÃÑõ‡X_VﶨN­…ÏÖæEPUƒ£ößûûËu*ßapаD`œÔ0imŒe%e¥Oc¦¬¼ÕÝ’aâËŸë‹ÎQ®òÃÂO´ ù” sª³ùÓ‰´ MI¡†kÃ饌,Ü æ³ÅèÆD€£oãÍÎQ^º¤´½DICº6‰8ùÝ4šAN(ô“-%5*æú¼[³Î;ß@Ìœ<5ï´AvžE¡3˜’©CIÑ ›Uä¢Ý@8 ³yï€ÿå–Ëç#%<“8Ž©¯n®¯ôŸƒccSlÈÒÃ*wí³î¯ØG>¿W Œ§‡ÂÅr›ôáòâ°[_H?gé¿*®úVþ¿ÖýÃ…_Çþ„”ù)®Ôaiü'ÎÄ ÆÂŠ¿„Џn©r› ¶$²¤#Íí—<>ö«Õžß–g!¥ið 2g6lžànÆÛ¾„ÄU…‡§¤|·CñöºÑ¾æ"ûÝС”R&ÁV±»Ö >¹ žÏ+*cùä‰ wÕûÄTyÙÀ0:*JúÛ¼.–t‰Ca4B㺞nuâ¸ÔÁ–¼Ï~ùì y’ í¨È™Œ .:µÊ7Ú?HÝ#kAÁ™ŸBD§*;ì<»?ô±Íqº<öåÜÌØ¦°º'¿ sÈ9"«ÿ¼[ƬéÑ/‡žnõ:‰I°%* 7 2)„ux²ÈZ&å‘B$¤ksùY­·®ùaR1·}áÙï»’aQxênÔ *ñ+7ãȲG7ãÉp;tä¾íËÆâ§”wN85üÁ| B6µKE±ÃuJÓ…[*”è#o¯(I»‹ÕsàÙ#ÇÅ”V5sAŸ…’n¿«½âÙpÍL2Š AóöÈDMZ¤<ä§Ð=·jg /µÍ|í‰ÚSoè£ò[-?aÚA?!mŸ@·Œˆ4^÷¼¹öpð&Ñu cë¶xŒ9ë3Ÿ0qovºQz쎽´ñ¦H¨Èü»©ôf|ä¹åŠOÀ„“¼d¨½¨cksû…¥´¨±ìŒ&`¾KKÔònïNÔ¹ÛÒòüÚ¢²#‘¥¢²¡ÑÐ ³»=·šÆë/äè꟡ÄôÏ>ÅmhEîSl><˜—)¢TÓ/õ{æA¤ù¸ZÑäf܈*2À¶›©¬0´> æ Ávµ,«Ì»®¬Ù4:¬Y†ºì×#T}°:ÆH±)‘•\dár`yµ–ÅY’„kKeË-ñÓÅzÕø4<¦öÊ&µóý!»-ÂHçEÛ³j¼°¤‘d¥)ŒCã8¯CÊÜÆq‰¾êÁ´ŒÉE€; Ý\s¤Ý1øfîÍûZT:¶ÚýppùYjƒÞUê €f$»¼)r¼§Ž|‡„yŽ)Òëà|fp´2¸EÆÏÅ& ØtšÂ  })½ie’¤8Xu¤Ts˜%D"TïD8Å °0;ʉHŒ¾&ÙáNŽE?«(þÕc<ª"Ž+2^:AL3g_Ä ‹ Tü$5µI¹(>špIª§Ò²Ëë,¨(ÎjÁ_¥˜TìË;ÚæúÉ7ˆˆ¸¥Ó¨}`úL–›ŒBzîÂw×ñfѵŠ\¹§Ù9ÂŽWt O¶+Jã*f»Ì.½€#óÜ^$m–zŸ¬½À ¸¬f˜ÉZÝŸjå\[ïYüdŸQWfð³g«áIµ-w¹ ^çÙ«¥ÛCº†OÓ{B•ˆ/™|’ÿë)še ÙÐæõ:-ÀøW9dU+5KÛ×5–šï[Ýã<ìåû%^fíÓ3û"~füÂùöD~ð…µ; 3¯~¤ôN^KIS=3Ù[,ŽYË}¯ÌŽ+WÎ^tʼn©óX¼%¯[õ „YÊG+Tv¶W8wÏ©¥Æ¸Çt"ÓA$EmI#ùõËØ"ÎŒ8kSoû§>éy G{¾éoºLÛÅðîÊrem¥÷“2IZ—  ³ —M•®, {$z ‹Q Ibnª€€ cWT•~ËI±uO…2‘™â쿯-9Å.ÖGÓÅTaÕð9éQ”N¹ôúï¬öº¼ÛE¿¸¹·~Ò€rjcɵMšX_Û<'¾®—¿hNuª- FÉM¼á‹ª¬öK@‘ÚM•¹´'å_Ë"2ÞñUVžùm¶r©7Ÿ®]$n»”t6@›f %úÍÛ5Næ{˜ôtÜB{…¸£ Žàøm!ˆS_µ &ݘÆÔúôÞ©·åå¼Ú{D¨KªÿÕ‘A€Íñ1ˆ¬AJô«z|º"þÁý^07½Hqó ·hÍ¢>ÔLsN4N³è/Ôò£ŠÔŸ¥SGA?LýäCÂ…UGà•p‘»km nŸÉV¦38S´§¸ílá%ßìR;üì [ýf²uNˆ÷5XßcC¥ª¨®cÜvnD"}×õ›.Qáâ÷ö¥qåïkØøäÉ©§z®±”Ò!'QlÏ„v%cÑ9³Ä±· ¹*ºÍÔw?®¯ 4GwGþR4"<æ*ð£)阰#gÚ¦ýa‘ioMÙ>¦u™/Ãöך; -ëŸ RçÔreb¼.á3 £œ”¯hì^­£-rt~Ûݬá‡Ãýâ—x%2GfÅÿ|2ø³þ‰øó¬ BP@!M$ž iŒ!€\Z[ûbüÝ’ÎÍÂ\ú&^sæí»7@£ ¶~#V ÂqÉ"EM— ]QÍy3Xð¶‚3P"€‡Ðûc—ëÍé-eS_°è´øiï$<-}€%íL‘<=!ÁT™õ‚¶|êP6˜Œ9¼÷I¹÷ÆÓ!D+ÔÃ>¡-HˆÅ(oÏ“ú=+†ÚÊ1)}‰ júɡ8ûï<ë”rÄÊ«òùž]É<å•E6Ì,Á/×pD|J<ÐÁ4]­žG®RGÄE›ª›Â ç„=‰Í”b;¼9ˆ6µz<;×4G²Î[hÊY g-!·ÚÎlEÑ¿>9Éñ'ÇJÈÉb[Õ) QnÝ®à†)•/?Òž´É´Þ^ñûÒ# rhP!Ǔχ¨­*®‹¡ð€%Žm·ëHߨ۬¦”ÒàP68$ô fÍúéKÔ‘Úçw-r‰z”<ÐBß?޳Y­—e‚3lßY+¯b¶Uá|”T{¼Ç©­:É(Ú+ e.¬d;´•ꩈ‰“ïl>^&ȱ:M¼¨âѽì½|á#°k´Œ´6B†k®Ÿ¥]»OIHëf˜mv=ašAÌ»B|Wˆ6º`ÆX²:Æú(±ù)hŸŒ²æäݾø³½žRl ¦ï3C8HÂ0ÿCî©éçBjºþ€‡ûΨG7®¬ùÍ×Ürü·ûÌÈvÅßùvðÆŠÅ2¿Í»÷!ÑÍ7 ‡µcï`iY†¹í©KöŒëØu‡/b•L®s©ž¦Ö1Lòé ÜÈ =^Ö8Ù’Q\Åßܯ³ ¯}÷* ¸Jš(;yÇ÷#êýbÑ}Ø! S4&醥U¯ÊŠ>ÒÚ2ön±ŸnR sWü¢Ø/†^D©"ú”V÷ÑLƆ¢á@X×9qZ¾X ñ]ˆˆFÚò¾üxgœi&œw‰õø{^ œƒ°“ášd\ðœÞîY:Æö.üH°s¾’Œà»é‚ž°Èm¶OŽtÁò°©îNŸÍÚÔµáw3~JBy·$MeÖ^ÈkX8-wj<_•ùÛç2å ÖÉêY})ÀŽÞ¦G*€Ä/¤Jð|ŸÔ‚CsXßñK Œ#f¼¶ E?ïª1uüŠÊlß6¬–™Zzîdzk“ž‰ºMyÙVoÆw$ßù ;}ö–w¾(â•Àå'!ï«cf¯äw- #2{,Tö9Ñó{CMŒoheRàÕ3ncF0²Ÿ`)ŠRqöR9ü^r àø#5îjãoK$m=—m¬¢e Eø4¦ß ®…h;K ÍÊb죞æ™FìH+#g÷·÷w*͒Зoû¡Ð¹Þ¢H¹{c ýÊHeÀK¸wf×:r¼¨ƒ]ÁUUêç耺ÿ•zÍòÊ4Âj5Ñÿ­8šL‹ àˆ&‚–“‘$ÚCˆ¬PÝT'©}à ê#¹™Ã‡ÍhÙ¯ ¢ âÓ´†¿Qþê¦ñßÙW1; ÖÉÂx¯ŠBI2£sÒ./¨›Ýyˆ3Qb-’lì=kéœt?~ú‰ý½`›u°õE>>ö3Àt="T%§Lç‘s#:VÅ.ǹ§’áˆCøÑ(b~<7KB´æMÞxÇ,¤=VâßÉhæúÁe&ÔΪrdcKºÙ=^àÊ—-L")51ÚÛh]hiéYã/YÀTxzQƒ%ÕX' —žÞÿp¯:½tàѨÂqL!Ð .n¨ÞÂ<¿|r ‘zØÅÐGÇæŠ*i~à²rÍz«UˆN 3#NÎ`áHj$n·½`ÝhÓLX;8o¼Ñ%-Þ|Æð:*Ž9=.×Ûq{ÍÅh+T—ÀŸ¡–¥Ö@ hÛ!ßtð¹íQWÙµ4ýÖׄðö‰ÌÌÑsäGÿ[í;JA —·KÕj÷|Õ+×¹&Ïк®¹±®þúµ5QEB]S]|¹õÏaMØjž00­ œü_‘6~=à‘ÏGJIѾ3-ÂÙËýæþâ–‰1¾,nžD ÕÛ);3_=ÖÙ@ 7 /é6d/òˤIbš™ipÞ[dILùlÎ8{?Èÿ‡ùCo}¡T$3Ûmøq©<št´gkû©›ÄǸât©“)ѳ?Z²ìñ÷z‰ë&Í ‹áîhH‰Ú]6ì$14/‚Ù­aòƨH%—ÞÏ ·’\׿?_(2Ýå¶8]¦{äzQ'‡ºÉ/¿ ù““é™óÄ9À)ò<–£ç<±"ç´îÝ\߈ 5ú`~À°…Ë ØhÔÒJ$»4£Ž²F§Ê†+Y)o,ÆÑ9ôŽnhÐÆ~Ä#¨>(HaQ¶YT1© ,îK ÅXˆÒ€¢£MîºÎ[µ•ß+I0PS±ðòƒÈÁ =?/âTfpqfqvrc‚îßÕ7ÞcíTiŸUÂÎÀTEpGþ²"Qïž ¢Aý9#‰k¡%:\·Ž`íÁµ"¢µ’”Þü‰„jù‘ļ”ŒŽ50!jéÈüðÓ.EV(¾^Ö½£º9ß„k&.é•&|‚ÚT+ DGݘº•X°7˜ ‘ùE²^Ò72qÝVŽ‘&Õá’–J¾eDŽ`èi]Sõ0ìÌTN§tÜܾ©Õq E»¡ ™WE:Göì’ù¼Q~[Âè=Òq\³øfú†òÏU'¸iqFBÔ OÔ¢€{½½ñæ+*•Ìæ…eyË£ÃϪùªÁç[ᄚª²ªµ=àÉéE8sÆŽê]<è{øÌ1ßü¹)%±ƒ ˜MŠÌ—ôËM ò€! ûo=Ï\H‰ ò\äÓ^¢cµ8¥Ô)/wI!H—IX¢œŠQœ7„"㯛Y4;Io烽äK„U‰1ÔÌ.€Nr¼?×|¥µµrŽ…¢X¼_'à4êåIy¿dÊ®Pö×lÉAwÆsN¸X÷;}O¢+Īj£Û‘92É&¤Ý¦1ëN˜z´8ɪ×XC6“o_!)•KüztÈs·ÔŽkÇÛ#ÙÔK»ROuÇYùö¶Ål”„Æþmöí Æ±Ož @ôœ0ïDÄ’Ì”Ä#¡ÆÖ¡„Á+-K£»Rÿ>HeUo%í#õ¯1q¼ ¨Èo6æ™7›JþÐÔ÷9ƒíµÉ£DmMﺫõµŒF‰ú›ÉäÃ3ã¹ÈúË‚ÉÛƒ¨eáœðÛ¤Ù¯ÉröØvk9CÇM>kfk ཨoǤ֙,©¥*"î PÇ…© :*f£×ö|@¤ˆ;½ƒ\(pžŠ_6rG@§-Ô·0×]ŒÌ{=×RŸs²ôh½â…OñW¡`'úÿó–ÓUFÄh¨‘q¼Çºs“R8˜QP¸X,yÓD–*¶Tvi!X>ã”k©\ËLÈlû…K#×­+ åò>O(@‰—ýÕ—‘pQŒ†"½ \Õª=Æ'VV¨£ÕTà>‡/ ý~ÒT¸HŠÃV‚Ö´9®ÚP†Â¾/}¸¬/„QïÏŒRz¨Ò…¡fDì<·_Âefàü2{OÍä?üq€d}¹«©EŠ€ƒkV‡ßÔ!ÝY3DÔßð⊡ ::õþŽxec±Aøó‡õQÜc_fØ)¡o=bÍ5¡ue;P#ŽÌ'¶8,-­:]¼ä×âL|9 8¿ÖžÝm³*ô´hxÍØ-0T¬¾xú)YbÆuØ0÷Î'‹,z!£Í ƒ†™uÖO£òås‰Ü¦W»×%&6³e§…bªγ2ÅS­ô—ÛÓwÊP?H'Q}¾ú„¿ƒÑÁ2I7Ò³&iµd¾Êë´ãžç—¸~…YÆ Jhà ä+¿RŽ_ÓŸA¤hŸxaÝEGcKÕ_!ó[f½p=Kï+ñëx­iUf¢jl`¯S<Ô@Áóe&vXôÐs¼ŸbŽêñ"‹Fceê.5j6þàÄŒÉH7ljˆ,sAÐíIÛ“xé&HD÷.‚I‡0ÝÃî€.à `ZÓ Y> 1gÉw4fY3ø*ö]#í|§ NßK070‰Åú„°[m[¿Heò.n ÌtóË!ÜL¹a¹ÙÁí¿”Û#“í4T[…ŒÕÜ÷ð@¸ò'wfÌrºjÀÆ´¤6#³#sjÓë/Ý€ª2…Ű–Оֈ7sË$[7_Ó¬d]±œ®MÝ6ç—nLÇYwÒV<Aæd؃½àç>]'–Ùë‘›ð©¯d³qcz—Å<N‰À(cú{îÉ=DxÓEÂc!L¨j®ã³âÐÐNÈÂPE­Tå5îm1~£F<Ù\Üû 4­%š€F‚Q=*RS‹âv‹XkXIBè§Ÿåó7ƒi Z~D×EÏV¤ëž¸RÛÙdj dõ¹I¾.ÇP”°õ×’b+Ú}Ý´ÊH54~®šr‰s;ã/{[‘tdã]Dfj>êê›=ˆ%iÅkX§=ˆ—üÌ {ÀêoÚçkËUvbXSϲ‹u^ dŽúèD_†-Ìdñ%«I>Yð=ΟÎÞ¢NªTÝñÿ2R|ºÇuz6t¿c\aÉ<±rwN€:ôaùMúVàõPç%̸’ø–ÅJ¥tô‰1ðêS«v)½£ ðˆ¹r|˜+±Ô…›qþt|¾Ó§¦ÉÆ^õ%Wø¬:4¢g©#¥!îkœT5½WSN‹ÂÊBcÚß|Õ8a2ǤÈãäW}Ò|ÀUÕ”Ñ%(.æŒ{ÌÓ+=H},,¾|´Wm½L>_¾̺+9DãŒK«b97Vsš)JÚ«TÀA“žfò?¾h:º+ñl/ªPlîüå—â©ìOn°ü¹‚#'×íªXÝkÚS>‰ÚÀ4•­oEÂ'“_ªI"Ìàöz ù~Q¤««Š40Ú4Í{IÔ"¢BDd“5ùÐ,Ót­üÚxŸÛ_ Ö…_6® W—ýâ$[^|­³äÝI)”ââ#½åªÆHü½Wx¢ Ì|Sp/ŸÄ‚¿éÄ3Ëxë!U<%?Z`d+9~sÜ€yÝüÔg"Á^ÐN•bâ ª ¦ñ髵÷o«öm’>îÑδ¾“P’¬-Ú–h£ŒñÔ% º‘3^¢æ‹ôÅŽ{Q/l¿5èW|&£JP>˜ÙK àÀ¥±Ì´ËÅå>CÙsT¤2% ^O14´dDj¨E–VŽÂ'r¸Ë8² $Æ>]]Àñxó$ý©G7—¼ŒßäÖ{ñI‚ ˜1–mОY;»‘æÉn#.ƒé•êåýb½{ù1}‰_~Œ÷«•Ä¢Ì3ýÐÃɯñ0+õU þì«Ñêæ à³Jy±ä„ãÔïÆë ô{€Ó§PµÚ!¢pÁ’*6Á-ûÇ#гÆïFz³"ÌÐÄ Ô]kih}ƒ°º,b³ÞHÕ@¶ìšM£<7¿ø°P{z—š)*Ky¨&•²ßx7w”Á]¡=„v #Ã×…ºi3Ò\pm[Ï2©v6œ&Õ°³ÖA›$,bí–ÂGMXv橜½ÉKtK9:VÞ{|2d³Êlzù°p{¸´ý•‡©ìÏöð9^š‹“‡í+=}îb1èÂÏQ›»Þžo句ùYçã`l°žþÔ¶0žæÿí mÂ7kÏ‘©äÒkµy4t£«Ñ•Äáð!uT‚·«trPw¶]ýr÷¤e~„ˆAYOB;>6ªNvOG«4-SŸì‚4PçMÝ6¾[“|%¨<Ã4ó¯ ÝÔ$rȃ¶=¹©ER¸è£å!^Þ^ôâ¬U„#‰ÔÚ‡ùƒ¹„ïžÒ¤˜ùÌqPVàXñüþÃæykÂ6JϰšÞ²5·-AîùG?Fédé!…kc7²ÑRrùxt‘+Y7LÍ¢0Tœ9®[ËwM|Šl×傱P%t§ú?\ÃÖ{=±B¶›Ã¯„ºXvÎãfk ¬v¥ÞNÆ›'ƒ@—ê æ®èfÌý¡3èæåQá~§WÓ³Üè-Þá:-rÊ™ÉßljÆíа*¬½ ìLz/lƒ“¯•ËC|:g‘ü/„hÁ^l•m“ï—Kaì΂×l>è ÊIŸh%îKÂÔOÜh¦Mm´½mÐ~Âc|Ê4NËZ/7ǘ NÄX™ÏRÚÒ1 òá>ÏŒ½£ô÷°=xsJ oé³ù ©¿ÅþWB¤["ù¨­`~¬C¯7ßg2îú}ÛÝTö¥Á–pKß.i‘ ÀXs2õ¸°]¯zpܵ¤ßª}ž6¢wU3‹Ùa)P0Ááì­Rœêϱõy˜˜Ðâ§–)Ù̳JÞÊDÀ„®þ£»N“Jµiš”öäzÄ­]¹pê‘"Jº 7ÒíGX_Ò½ì@µ§uº‰% "ÔÏk=†_Ó‚:ß”SÛ¦†-Î[ô<êšÖ 1hÁ—˜ÆŠá)Ò$:º‰ž‘ÿŒ* £½˜ ­Cì ãhÛ~m#léE£H©ÕÈ{÷õë>·`Çó]û‡:¨¸7òFä©ö æë'Hìì‡Çò„hðœÅвèÐxo{¦¿3%ÙÇÔÁöíʰÊ¤ð‹æ ɺ™ØÓ“ûFNËÇ=c¾‚H|4Š íRûøXòÖ›¦¥ @p®Çú‡`¯ÍÑܴ۬çù¸R—ˆÌ¨HLð˜vórج¶ |ޏÓ yÉlŸoX •¿[ÐçïK~EAµ¦Á"H†«Á*›NøxX«ðu{7áæ`z»Ä}f}£$ó[XzßðçÒ*Iw)²ãì&îîÓ bCCôŸFÈ"w²ößIïhZp5K^¥ÎîÊxA½PD‰kw3E T…;C¥ã2?èÔVrÙà }îÃK1C…Î@Wy.;-"<›¹Y;ìÖÊD:†i[Ƚťz±ˆmDÁÀÕêqõ]i‘{%÷]ÀÿxX±¹Ãä1ÓüI¾?ÐaÂôŒ5Zž–XX=‡j°<Úç+MÛaˆ'7mwJe©¢vš|M*•t© ¡#‘¼<žÞb§Ù8n@â”v“•¢õwÒÝ×Ka7ÅG#ÓaV=pÏSœW5}9WT`bºù$+åR^‰Ø#6]jçz[ 4­Úh釚ÅQ-p6ª´åIáYΓ¢âê³Á*­:^B)ª‹Þ,»¯6 {è}´((2ECb–gn¢ÔËzùÁ]—>NÛ;)šÀ}ÞIÍI©jR¦šG®ºÒ.ã'i0~ÂK׊ù ½¡Ùn?‘Æ•O×Éi+~I‚Ì“Dtºüúu.½ÚË,LW˜Ð@Ûw›#Ô`ßvÞ²ó÷Þ½Ó4.c:œ‡—WiBx1NyTúŸ« ƒ:2ƒ‘«ºõ5¼HsÕ‹Ë;p®èõá3"²û9“Ž}_qÎÕtÇ3{ŸU\TV¥ ®Ýüúœ—3¨+Vï¢òFàè»Tcqj×. ‡7¶U×m;òäz»Jl|jyÔ€”4MXÔª²¯­ Oö„µ"·K7òªuCæë™ý#û;j@ßµyBEß÷¢—g5sµo…š =\GéH¥f¤í~¶%›:²4Ý¡´.-˜SöéYÚ뙡|;G)U€Ç`´a\Ðõæ­à§†vùúç¶Ì}«q2(ŠÀ¾Ö¾1w6:㣂#žÑJ} +güž–®]£méK/u'aSÛ1Ëq±}OeâJMø 5¢X×Ã9ô3¸Ué”cX¦$ø+ÌDLË7’œ$ãcW*Ïí+c®(™·•oÈ­\=^2¢‰ßäŒÚ nZvQʤÞG¹@ÿPØRäÚ û¥]L'H öúNȧ7æôýÈ•P†]£`s´bBÁ%y`˜Wˆ{)^ìÖˆ‚ì°ß°¹GÏÙ=ËÇÖ룭Ý!ÊãFtA=ªR˜j”ÈlPc‘ÈK9·PËDÊBæZ£Œ²tñjk…øJÄ]mÿvÀ~|%hÓ ,]ÑkôÈ_sxcLâ=w£YÍ¿Cå˜[=³w²q6ÝcÈ_¬ìÞÐtý©Š™°Ž8m3@ƒêy” ñ·Ù–Ѭà&œŽ†˜ZŒ ïÝ9œÆœfÉå™`©™ÌJ8²)@eFÚl:²zñlðV|áÑ%KÉo;èÒË^ïG^ÊÍT+DǺ¾‰–<©oá5IZ=¹êûààþÄÞ²áÔs•ôU&Ö8îA³-\Þl™aÓ¬ZF¥™Òo™@XÅ@b!ýinÔvû4¢iÕÉdÒf´ä¤jŒ9³'šfÚI»ß©ÑÿµQË¥)GfQÄ)íŒq„mñÿIgU  endstream endobj 647 0 obj << /Type /ObjStm /N 100 /First 937 /Length 4993 /Filter /FlateDecode >> stream xÚí[[s7²~ׯ˜Ç¨NY3¸U[[åKœµã[,Å—¤R§hi,qMQI9Îþúí¯1C %Ê®ót6+4úòu£ÑÒVÛª©¬ö•§6TÂVÖЀ•ô)*×ú”•çOU å5ut%œ¥©¤PDNÒ s`«”t ö•òPi¥ÁRT„ÖªJð±¦2 œ­«ŒÑ†:¡2.„Ê‚EÓNU–dXGÓÃΑZ¤‚u¡r$µ²ôç4zU9ëi¹7•—£Ž«¼¶è„Ê{ES¤SÐ ©T¬p6˜*ÒW4øSd¶ ¥¢ÑŽž%ÝØÆT‚ ¡qE¶K Z²GB¬ ë¨Gÿ#:¦•d1q ž²ö@HÐê@ë„'ðRxr ãd»x"e¨¥ž„$ãX"|£%ôq„µÃ¬iÀ8K+ý°ÄS:éÈ% óèYôõ”§žj¨§=ÜH”„½†èA3EŽ«¬‚f½À=é§Œ÷i¯à7KNÊ‘5d޼ãÀƒP'¬©IàHKêê†LîHRLQ‡¦(òÈ.¯4S P€X“ PEC] ¥)@(ƨciJ‚Ø‘,¦…¥ ˆA Z~@¤¦ñ  ÑRŸ£Z¥ßDm¨K=‚Å8âà6zäÛ;Œ°6‡Ð .$U88ßÒÎÁmŽl¥ÉpŠìtЈ¶ ñ$Ã1V[›À!d¼ ˆLðZ`Œdx«À…dx2ëàwï›#ÿÇÁï–>-}+(:¼;¢½ëÅô‘®Tc©OÎĬGb´õJÑV$ç…5¤Ê‘Mm¢ð’¸ÚM΂BÌE F@šïluê³|¦Ñ? ©óYe@¿æ¶KÓÛ´‰gÖFY9MqZ±ÃI«d³Arñ4JÉ68…Q¦SžñÀvXéY2NÌ5®Od l¢‡’„HÉmà“XÁ’2\sTr›â|Æ~ëžÞÝX¾£ÑsÑC)r2\˜ŸÇRô¨õjk¡“¶@L3LGQH»š(i+ÆÁ ‹¨ ™„Dm$k8Âî߯URЬõiË­[<{@H2hc‘q’ÛØ7´ã‡½Û´¢!r“þn¿ìL¹)®åmF2âͳe‡Å¶H*I”1,¹õnmCÿ‡ØF 6UrÀÆ6S2J£tE>¡xJK}:Žæ’){…RÉÑ>äÖF>¨'|8BznÈ h‘1!Æ&+ª5¬1 õ¤ab&Š¢xÏXÞoRwF޶dZs$oµ } #yCQÅ‚ÝKE’3„R9ô&h”‚’ ¥€$¸¼%ýRŽUá ^h,^× oR&Bv…–ÎxÎI!edyèh9Ï9„µöæ…YÊÍìâ¼Ýćf„ ­¡ýKŠö­bŽì ªÍ0î¡©Æ6s´u+ÅN¤#;ÑQíAa€èQ ‡×>ŠÑµ@ÔŒ“D•'0B–bë"»þÿßÿé¡îŸ@q‹sí÷ Çvž¶ú1ó$yÅ6î÷p–ÙºŒJü7».çŽçÐHNx‚çl3ÊŽ$ŠÙôrª<ôM–y.S¯¤ØØŸÜÒ"rű'S›àtMLL<ÊGfÜì©´ˆ›€èÒÖÈì¤TWѹ ŽñÚÄ]!]FÀáìÄ›õ!±1tØË `fÉY?óö|*7<’+LŸ:RÐ5H¬J£C²ÙIÜí&&zbLËZ£ìŠ-•éëbWfÎå÷1wÛ¿´:¶[äi8}Ç6ŽÐÕŒK]ÏE3ü‚‡@ôŠÅÀ…P@š^â•¡Á iº"â$žÃ'„H}o‘!­âc&Q0Ý y8jÁ­ãM5·Yh•¡Ûwd ½Ô'¸©D4"­ˆ£kXcªÛÖ#t5ÆAWvÔ‘Bs¡¬ ·ì›|6bûÜâúB1Îq®pÐÇ–n£h5*FÃ@Œµ8ü-\ P–¾Å˜Ô÷ ÷6¸ÃQõ€àÒLCªÙb7¶Öo|99¹EF³¿eôÆëMæ_Œö¼ÐÆ‘è^×ÑÆym ‡¦>yi3Š}n¹”£F¢$A/•6ßЂËúÏQö¦q+ùb„6Žà‘ ªóӜŭå½áWL¥ —vâ•’“6y:ð*µæW&Þ\€QY¼æ *¼ÄiÛ=®Ï6÷{›'°ÑÊ@…®'W…Ý<¯à1#,ç|‰:=®è¨âœâ°Sž«Fîo梺±Û(/òn#5k‘,ŒæJßÁxJ ¸ p…M)*l‰ `ã‘ãºUpES!E2ÎBžÇ˜O«Sߣê5Õ|”)c¸VÏGŒÅ 5ëgPCo÷ó‘ÈY7¿¼O÷3؟Ѥµqœó~qNrÀksžL£Œæ$“¶ÞPböƒüã >ùûs[Õ¯æ«Gíòt1ý¼ºZðó‹É%f^œ<ûãÿ<|þàhhb69_V:R©'õ‡ú´>«ÛšÕ§_ÚúãÕõ¢>¯/ê‹¿?_´ózZÿ»þTÏêËz^_ÕWó¶þ\ž,Úù¬ý¸Š½¯^ÔËzU¯.m[¯þºª¯ë/õ_õ×úïÃh÷ã)ik-.ɯþùÏ[áøàå›§??Š8ÊpÄ[`¾ŽM¸Ç'õÏõ³úyË„ãP¶‹éÕÙmÁ“û€÷þþÇ/bðNžŒ…¡ ) ¥Cê»ÂwÑ·Ðø€!;NpµÉˆÁ_C›õ>6¿ûå§wOŽÉæç£+™,n´¿!`Ô--v23X‰¾ÁëÇ-/êwdðéÕåå„¢ä#EŒ†ËM Àú-Û}¬}ÿñ‹×¯ØzS4^¹d»Òá;ÙšQÛç}Sü>¦¼|þðÁýglŠ+ûQ¬ó§ßÉ/FMY;«o’Û+™Ýòúõû·dÒë±ÐÔÍ:4›orO—Ëlµ(¦²GÄe¶šPJ{\ÿÄÇÃÓ.µ½¤úKJo¿Öoê·ÂïëßhïNN¯Wm=Y®(p—Ÿh+XLN?µ+>R? -%B üöl:›MêÓéâôúòã¬ýJ{av5ïvÄÙ´]´Ëé²;ŒÚùÙdyQ·^OfÈ©øÿt“Zg;³ë|JÉuçiE{à­÷ÞŸõŸ×W«öìÃŒ ×›“mÙ^N£ÆK²ˆÚé×z9ƒ†Å´]ÿ§þO»¸êGË^ÙûÝÏ÷yÊÑ2ròQIÊ'¾%ý.ÁbvËC „ÆsròÙÆc£3Ófå³ p­D%höJò=ýùÁ†f$7(7RÐT´êpkhÌ4FåÐ4ÃmÂgÙy:ÍÀg²öK߼2ù«—o}ó&š‘ì·Nª¹©|lnå}?ž*È›}SöÊäïß½}yÄYr}(áKùïÈnWÖã÷Êá''ϽC}qüìäd´¦‚o¾bà/û3{„èÙƒÇÎ)åàd {¤ñ˜ÀŸô’÷:u#qSÒ¾¤ý¸œÌϯ)EÇì…lÝvy»]gí‘t~:ÌÚW”ÔÈÙœ¦Û¯§³É%WÀ›ò÷|ÑNè ØNÔ³v¹ŒÙúúò©6=Ÿß˜³‘O>Ï®—YÂN陓r!!_Ïψ÷éբݕ›ý^¹ùÑÓ_{z‚(x¿«®øu~“áœÙEøÝÊ=^i½H—8âfWçÓÓÉ žOÝùÕª¾œÎ¯—} öJ¿½xüö=®¸ãw eº­¿S‰fý-vŠ˜á.˜ìªR†a.q½âbsOé6ŽÀ%Â:û…Aó½N…‡ï¾~À˜æSQß”zš½3Ï¿FrÏ›­ì3YžN§±ì•”G¾W2ŠáÿM) ä]óR»\MI¯A‚º]ýxËtµ× üüõËÇ'/bØÈñË^qJ¼c5ß6fÇ…ø¹hFˆ®z&…ý^ ¿ûü-›äGÞ Á"¼‚åŸÔ}³EÎÞj#`¼æÀ¸‹B–„è9WПú5ôØ«¶Fyvù{;NÂ^ÇÚɯÇ_½aPCT›²‹–ÄÛ;¨z¯ìÒÏ+“qX³ýãÆïmûÛló?ó‚#^k÷¿’#FÎVBâúÊ1H<˜,[Ìl¿Dîùõ –õãéb¹p\ <›¤!‰ÙÛéÙêbÉ¿"Þ[üðÝëP¼ŠÕˆx·¿øí·—CÌPkÇÐf†¯‡âÝP¼ñ£ö«ýÅÞå ¥‡-ôEÏûxꬿƒ÷ïßâÝVì‰ÆŒ‰7Íþâïʆâ·c¯½Ë„ßÅóýW/Cá[q‡WÜ#Òý¶}ÿíÆPºÛõÂgÒÃþÒû/†Â·¢N‡L8º˜»ƒåý7Ù^씊£³[ì/{ûb?”¿sJõÜž) ïí‡wÊ¡ø­¨ëm÷FeæËý¥osCéî†d/3ãïuËÍP|¸=öæØ äø nØsv#^ÝᨳCé7žÎ°¿ÃA3¨ú†ÒÍ UF&]öü«Éy»¤Âîêeâ=/â €x&Õ?OÏ–Õï1±à;Üø)Ó³Òé3=ÇýÇ]D›xÇ/m*w}&ÞçJ6ÍeÈ&ò’ÂÅO©Ó§ŸºIŸöî2L’ëŸJ‰ô©Dú´ñ3~Y|'*~WW©¸ïÉåQoë¨J›ôâ;ÉÐÉç:î.úL¼C7M´Ãˆ½|îr&abbdâW’ñ3þ ¿•ŽŸþd¤ø1q¸²Mô¹Q¦M1`cLï’!ÆdXu#Î*WÐ÷?X‰ø]2ÿ#¶@299~j£¡Æ„˜´SM¼qò¿v»Žïd^ŒŒµÕƒE/¯W³éë8U1¿s ªÒWj‰£éNWtéZ—J÷«ôõÒZ÷Áq‘XuÄM؆tø¼Z´_ªt¶&UÒw:I›ërOôù¯ öûUúJÍÍ‘Ù~ìWšn¥Ü±2iý¢ýŠ÷©6bÍ&¥E6题Ø´1¨FÙÄ•Mae‡°Ù…°ô׃Ûäp'×pë¾0ÝÁ­ûp¯Ù³,]0Pwpk¹ce·.À­;¸•g£r¸KÚ¨n¥w°É±×ìU‡½jŠlx¥²Û+e¤´;¼–³énì4ÝwÚ`ÃÊzÙ‡>·UÌ“ØÂ.9Ö²€µè°zœKuIÑA-š^( HoÄœu.Ýç8‹çdÞÈæè`eI̽Óx?H‰ú‡GW§÷ŽW“ÅêWNÚ?œNWíÑdv6™Ouˆ¶^ÿ_‰Í|˜¬è4˜Mÿü!e6™Oá— «TãÄáÓ«/í"ˆCüóÉxNÔϦ—ÓÕ@±>ñCxöìúÃâêËDȰ™Œ“kmñ/¯³áO“ë/'óFà S˜±fz¬g@irÓ?M/G"b ËÍ*—Ó—-™MÚ‹³vy9i?M¿0¹¤Ù”5¶ª76™ŸtarCfWóóɇÉõùEcbŸÏ]N®O/Ú4’1æÓÄòâòzÖ~™ž^4pp”½eÐPÇÂÚ²qËÏílYÛä§ÓsòÑ‘€®?Ô 6L ñO¼Íéj›ÁZ…(Eýs52ú-ÓH…çz! Uoˆü¢D_/Â]¥:j=D‘¨BÓ¢ÈÑz+r6²7tc ’:}ë!Š^“./?Ì–Tp-WÓùùÑ=x<]zã°1¼½q2T¥¢º7kƒQ°ö‰·4§éøm©tÄJm”Í&(¤+Î`oJ30Å‹Ò ¼¶Æ©?ƒMµ.—7æ •ÜZtƒY\uIžÅŒ)Í8ÌØÒŒÇŒ+Í Uy_˜Nì6Ën-Úm–„S|É)N %§Hޝ’S$œJN‘pJºÄflÐ;í‚–[«n0 ^ %¯Hx%”¼í]I{(ïJÊCwW Hï¢Ç²‡[‹vÛÅ]IqD“+E‚Ém“ä]еj\içqãwÚä·í²IòWM(ÉCºMa†ã¯´+šÒ d¸F&չæ¨ápÑn›p.4ª ÍaB&PN5¦00±írªB¬ªè@/vš4ˆ<^´Ë$ÈUa(†¼°CîLa»’I€­ÅŠas»õ®Ùm/FŠ/œEš/ä6͈ëBkÞ2Z™Ï6ùÃíE»ŒÒ¼e´(ê¨1£J33º4c1cJ3(s„-Í |n‡]QË­U7ÀÖ"0CÉ.œø·¡…xE–¼‚“MKQš²Rî¶+n¯ÚmŽE-‹êÃ-²äœZ–Ü‚“MË’[$Ü"]iÈJ¿Ó0h¹µj·aH ¡¤½‚[dÉ- nQ%·(¸E•Ü¢àU xd•Úi×VªTþäŽØ endstream endobj 743 0 obj << /Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.14)/Keywords() /CreationDate (D:20160624154717+02'00') /ModDate (D:20160624154717+02'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013/Debian) kpathsea version 6.1.1) >> endobj 720 0 obj << /Type /ObjStm /N 23 /First 199 /Length 952 /Filter /FlateDecode >> stream xÚVM7 ½ûWèXÈZ$EQ‚Erë'šöTäàìvíÅÚÛ¢ÿ¾äŒ<ÑÌhŒ ß#‡¢$w‚àXWt£®äXD× ¿¤?v)®Ñ'Ò?âRì­@d.ÙAȰò"e'$Ût“†ÓYù(8¤ „ÄCÿ':dV ‡‘5 EaÛ•&ÖÈÁ;Ì&'€#¯„Pÿ°ß¼¿Ùý²îÎî¯ïžÎ—ãÛó×îõî]¸#Þº lÞýîf–hnYÄ,±eIf‘–%›%5,A žÌðe³ûéð|¸4EÎ7}Ù|ø°žVðF—t–¯oåkéúVº–­oekÉúV²–«O7S2óM‹”^öÝlµ¥p`Ý jÄ|2×nNw‘"0Ù És™WÒÑiE–1Öñ´‚¨Í]!Z: ÉT#Z,Œµ.•ÀmY¼Ú²Ð[8©Ãi.Dˆ¨FÈZjq(†QnßÔe¬£×Š0­¥\ì«®ZG…‰Tk%®}T)P].²V—v½Œtôjë"-OH“€ZžëòRë"-ûÉ.6¤.¡ j £±ÁÔkE˜–‡'_ɦ ‡ºÁlª0ׂ•§îJ;hë åfYÑ%Ûo^m]AËéÖ´<<9ÁÊ“ë´<ÑO„iy"ÖÙ1$6…ëèµ"LË'­²!õ\Pj\'£ Ö[4*¶E¥íèÔÖ¤ •ïsîî/‡Óñûa¢Åˆ–ûÔÓiЍ×ÌÇÆš4Õ)wåµÐw5Ù§‚iL­’\¡·¯#w/¼…ÛÄâng57p¼‹þ«ô̽—Ú¿Ù©¯ÒR™*ân³.7p»ˆ©Û) <//ÆÎ\Ù|Ë­T‚IæÜ "ëã®’ãR±Ü’Ö3Í·ŒÒ~<<¨¿øálJsRFµ ]CYLŸN÷ï>_ö¯—áŽ:œ/‡ã£^òKŽXbHYSY‡* CÛ­¼& /tà/˜ ¨‡¢ŠúÒ¸E È &´y1}¶`^R•$JïÛãyX‹,0Ü~õµîÔBEuy€H™öÚÖBM~ý^l̆½'{—ëÿ=¬­6*k)gQÊí$å™,åÙ!”oµÑɧ2ÜŠWð_:·û¸¿ìŸN›ÝošòÙÅÜmv¿¾iG{$Èpe¸ÿŸOÝîÏswuÞ}þ§ÛÿÝ}<ïO¯ûã}ç’/ñ^ºã½4'é*ã?ÕÖb˜ endstream endobj 744 0 obj << /Type /XRef /Index [0 745] /Size 745 /W [1 3 1] /Root 742 0 R /Info 743 0 R /ID [<402A98BB96E93B4DAF3129DAE5A6AD74> <402A98BB96E93B4DAF3129DAE5A6AD74>] /Length 1859 /Filter /FlateDecode >> stream xÚ%—kh]YÇ÷Êóž›ûJÒ$Í;§¯¤MÚ¦¼Û$mM›iÓ&MÒ¦IÛ4¢2Èèˆq”QŽ3 ~˜ü4~˜­ [FˈƒˆŽÌ™ñÃP°‚ ¾h}Í€ Þß¿_~ìµÖ9çž³öoŸ³¯sÎý¯Â¹ gîcƒŽÑ™ W‘\fd ,[bT ªÀyr—Uƒ°Aî"£Z)÷{‚0Yr{È-Ö¹ä.æA\/¹ó„EP"7Kn°4”o=œ$wްì"w–Üpý`GÀQ0Žãà8 †À0£` ŒƒIsµÖM€SÜ‹š­Û8͈‡IºÁ~pè‡Ôƒ)sù¼.0MAÚ0}@mR7ÔgM€fFZhÎgÌu¬ëzç8X-¹Íõ©ÀäÅ:í X2wò“*\挣T·WÀU° ÖÀ:¸n€esÓ;:÷:§-]^WÞ2wýnyA<ûrëжâ6Ø4·ônñ»´Ý×r.ÏáQ¾bÛÜúSâµ*î€Bå̬ëãåËß}Z! ̳¬<ËÊW›ûÚó*hUDæ¾µK!+ų |ÞÜ+o)§EÒJæ^­RŽUáw¼÷m`7h4÷½ ÒÌí²¦cÖ–Çqßz@h5÷ú¨îä)Op03ózˆYj•}·¹Ÿ­é¸˜ByR~÷ …(ê±Øï3÷ÎãÛEtCþ ¹û‹Êa±ÇbÏœ{D÷ˆî›ûËå6ý7è8ÌöHí›{Ô§¢ûÓ‹=‹É›û MÕSù=ò{ä÷ãfUËŽ;å çY¦žõë‘Ú#¦Ÿ2+h~ý OΫ%.{j#jö¼Yë'TUxy½ õR€÷šÇlÏ›Ðc±çÝéõ“æ—žz<õxêñÔã©ÇSlŒõ›½½t¼ÐÑo ó;Ü$oò TjPjAD ê@ä-sdÓ™ ôêR¼6GZAÑìÀËʵ€Ý ê¯á‘FÀËw¤Élðžnfó?tVuñ‘r] ÍlbAa'8N‚n³Ù Žƒƒ=`/Øöƒ ôYÕÌGtÚApôƒpGÁ 8fµ•ÖÃ`Œ!«Í?Ta”ÙǃxŽð·ÚÖwU§Ài0 ¦À48΂0 t•y|)ÿFyJ®‹à*X°ÚžŸ¨p ,Ëà X+à<¸-Óñ>gMʪez¿¨ ¬up \àØ[à&¸nƒmp TЕQ* T@©€R¥J” (P* T@©€R!  & Mзi‚¾ØM@ßé‹~[¿Ûf™3mÎ2KšÐZ-3ô+…ȘÚÀÔ†NËLV«Àœ4 ݇…=–™ÓœD ˆ) R@¤Ðp(àPè·èö˜Î@šp fG-zò§ª"p8eÑ3…x†-º[©AÂ$k×Â(@¸0&,úêt0¾„i‹¾9­‘Â<˜µèåï*‡HÂ9‹^}C¹°hÑ_w½]«… }I!®<x–,º÷i$ Y@³€faÅ¢7?¯*b†U€RaÝ¢wßQ‡Â–Eyà,[Y£ÜM–‹À¦pâ7TÐ÷r„ª¾—läbI³mÑŸ~©·²lB½°C¨œYþCÏ•ŸèƒÏ)¬•  T[¶æ¡ u–íü¹FyY¶þ³ s`hËvô©ÐŠ êAƒeão¨ÊÆ5Ö‘O`ÜlÙnZyŽ#Œ´á‹-{vM…nËÞÿ¨FÚáuYvì…{,ûÖW4ºduæœåŽ=©=W¼ß²ï=>M{àQ«{/*²7UŽ UÌÖ*î³\ÿï•;d¹Ï´ktÌr_þ›FúP Xî Ç>ÛìÜbÝ®öHƒ–{ᑚQË}gN9v‚ñå^|Fá˜l§ãepÚòOÜSŸã)°V,¿ñ¶ Wâk–¿uA9vZ‰®wlZ~çä nÄ·Á6¸P qVúíŽK 0û ³Ÿ0ûI5¨(•d@² ä,ÿÔ–.·ükÿÖ¨`ù¿J¤h…–_kT²ÂÜ?5ª·Âö›5XáK¦Q£þX£Ñ.+6-iÔdÅñ š­¸ú#Z¬øô¿4ÚmÅ×ojÔjÅû/iÔf¥žkÔn¥O=ÎuXéÙ×4ê´ÒKw4âÏE¢?ô>Ñö\›ò+€YHV}NôçBÿ&˜…äP³õoŒf'›` ÐìD ‘f'4;¡Ù ÍNËÍþÇsÜAJ³SšÒì”f§4;¥Ù)ÍNivJ³SšÒ씥–²üÒ`m¥¬­”µ•6]ÊjLYi³•þ>SþÝ÷½û?Ìë^ endstream endobj startxref 1111985 %%EOF BoolNet/src/0000755000176200001440000000000012733234746012416 5ustar liggesusersBoolNet/src/boolean_network.h0000644000176200001440000000557212733234746015770 0ustar liggesusers#ifndef BOOLEAN_NETWORK_H #define BOOLEAN_NETWORK_H #define TRUTHTABLE_BOOLEAN_NETWORK 0 #define PROBABILISTIC_BOOLEAN_NETWORK 1 #define SYMBOLIC_BOOLEAN_NETWORK 2 /** * Basic structure for different types of * Boolean network (extended by derived structures * TruthTableBooleanNetwork, ProbabilisticBooleanNetwork and SymbolicBooleanNetwork) */ typedef struct { // the network type unsigned char type; // the number of genes in the network unsigned int numGenes; // a vector specifying whether the genes are fixed: // -1 means the gene is not fixed, 1 and 0 means the // genes are fixed to the corresponding values int * fixedGenes; } BooleanNetwork; /** * Internal structure describing a Boolean network * with a truth table representation */ typedef struct { // here: type = TRUTHTABLE_BOOLEAN_NETWORK unsigned char type; // the number of genes in the network unsigned int numGenes; // a vector specifying whether the genes are fixed: // -1 means the gene is not fixed, 1 and 0 means the // genes are fixed to the corresponding values int * fixedGenes; // an index array with the -th entry // specifying the bit position of the -th gene // in a state array - this is not always equal to , // as fixed genes are not stored unsigned int * nonFixedGeneBits; // a vector encoding the input genes for all transition functions. int * inputGenes; // a vector of indices to split up for the single // gene transition functions. int * inputGenePositions; // a vector encoding the return values of all transition functions int * transitionFunctions; // a vector of indices to split up for the single // genes. int * transitionFunctionPositions; } TruthTableBooleanNetwork; typedef struct { int * inputGenes; int * transitionFunction; unsigned int numGenes; double probability; unsigned int functionIndex; } PBNFunction; /** * Internal structure describing a Probabilistic Boolean network */ typedef struct { // here: type = PROBABILISTIC_BOOLEAN_NETWORK unsigned char type; // the number of genes in the network unsigned int numGenes; // a vector specifying whether the genes are fixed: // -1 means the gene is not fixed, 1 and 0 means the // genes are fixed to the corresponding values int * fixedGenes; // the number of non-fixed genes in the network unsigned int numNonFixedGenes; // an index array with the -th entry // specifying the bit position of the -th gene // in a state array - this is not always equal to , // as fixed genes are not stored unsigned int * nonFixedGeneBits; // an array containing an array of transition functions for each gene PBNFunction ** transitionFunctions; // the lengths of the arrays in unsigned int * numFunctionsPerGene; } ProbabilisticBooleanNetwork; // see also symbolic_boolean_network.h for the definition of symbolic networks #endif BoolNet/src/common.h0000644000176200001440000001477012733234746014070 0ustar liggesusers#ifndef COMMON_H #define COMMON_H #include #include #include #include "uthash.h" /** * Common structures and definitions */ /** * Macros for bit manipulation */ // the number of bits that can be stored in one component of a 32-bit state array #define BITS_PER_BLOCK_32 (sizeof(unsigned int) * 8) // Retrieve the -th bit in #define GET_BIT(x,i) (((x) & ((unsigned long long)1 << (i))) != 0) // Set the -th bit in to 1 #define SET_BIT(x,i) ((x) | ((unsigned long long)1 << (i))) // Set the -th bit in to 0 #define CLEAR_BIT(x,i) ((x) & (~((unsigned long long)1 << (i)))) // Set the -th bit in to #define SET_BIT_TO_VAL(x,i,v) (((x) & (~((unsigned long long)1 << (i)))) | ((v) << (i))) // Retrieve the -th bit in an array of 32-bit integers #define GET_BIT_ARRAY(x,i) (((*(&(x) + i / BITS_PER_BLOCK_32)) & ((unsigned int)1 << (i % BITS_PER_BLOCK_32))) != 0) // Set the -th bit in an array of 32-bit integers to 1 #define SET_BIT_ARRAY(x,i) (*(&(x) + i / BITS_PER_BLOCK_32) |= ((unsigned int)1 << (i % BITS_PER_BLOCK_32))) // Set the -th bit in an array of 32-bit integers to 0 #define CLEAR_BIT_ARRAY(x,i) (*(&(x) + i / BITS_PER_BLOCK_32) &= (~((unsigned int)1 << (i % BITS_PER_BLOCK_32)))) /** * Macros for the management of vector-like buffers with automatic resizing */ // Allocate a buffer of type [] and set the capacity counter and the number of elements #define ALLOC_BUFFER(buf, type, sz, count) do{sz = 4; count = 0; buf = calloc(sz, sizeof(type)); } while(0); // Add a new element of type to the buffer , and update the capacity counter and the number of elements #define PUT_BUFFER(buf, type, sz, count, el) do{if (sz == count) {sz *= 2; buf = realloc(buf, sz * sizeof(type));} buf[count++] = (type) el; } while(0); // Set the capacity of the buffer of type [] to the current number of elements #define FINALIZE_BUFFER(buf, type, sz, count) do{sz = count; buf = realloc(buf, sz * sizeof(type)); } while(0); /** * A hash structure for the allocated memory map */ typedef struct { // a pointer to the allocated memory void * ptr; // used by the hash table UT_hash_handle hh; } AllocatedMemory; // map that stores all allocated memory pointers // to free them on interrupt extern AllocatedMemory * memoryMap; /** * Custom function to allocate memory that stores * the pointers in the global map. */ static inline void* CALLOC(size_t n, size_t sz) { void * ptr = calloc(n, sz); if (ptr == NULL) error("Out of memory!"); AllocatedMemory * m = calloc(1, sizeof(AllocatedMemory)); m->ptr = ptr; HASH_ADD_PTR(memoryMap, ptr, m); return ptr; } static inline void* REALLOC(void* ptr, size_t new_sz) { if (ptr == NULL) return CALLOC(new_sz, 1); void * newptr = realloc(ptr, new_sz); if (newptr == NULL) error("Out of memory!"); if (newptr != ptr) { AllocatedMemory * m; HASH_FIND_PTR(memoryMap, &ptr, m); HASH_DEL(memoryMap, m); m->ptr = newptr; HASH_ADD_PTR(memoryMap, ptr, m); } return newptr; } /** * Custom function to free memory that was * allocated using CALLOC(). */ static inline void FREE(void * ptr) { AllocatedMemory * m; HASH_FIND_PTR(memoryMap, &ptr, m); HASH_DEL(memoryMap, m); free(m); free(ptr); } /** * Add one to a binary number represented by an array of characters * with 0/1 elements. * is a vector of fixed positions that are not touched or NULL. * Return true if there is a next state, or false in case of an overflow. */ static inline bool getNextState(unsigned char * state, int * fixed, unsigned int numBits) { if (numBits == 0) return false; int i = numBits - 1; while(true) { while (fixed != NULL && fixed[i] != -1) { --i; } if (i < 0) return false; if (state[i] == 0) { state[i] = 1; return true; } else { if (i == 0) return false; state[i] = 0; --i; } } } /** * Free all remaining memory blocks stored in * the global map. */ extern void freeAllMemory(); /** * A structure that provides flexible * large array blocks as a list of arrays */ typedef struct ALE { void * array; struct ALE * next; } ArrayListElement; static inline void allocNewArray(ArrayListElement ** head, unsigned int numElements, unsigned int elementSize) { ArrayListElement * el = CALLOC(1, sizeof(ArrayListElement)); el->array = CALLOC(numElements, elementSize); el->next = *head; *head = el; } /* * Free an array list . */ static inline void freeArrayList(ArrayListElement * head) { ArrayListElement * current = head; while (current != NULL) { ArrayListElement * next = current->next; FREE(current->array); FREE(current); current = next; } } /** * Encode a vector of binary values in an integer. * The rightmost element in is the leftmost bit in * is an array of elements, and points * to an integer to which the result is written. */ extern void bin2dec(int *dec, int *bin, int *numBits); /** * Decode an integer to a vector of binary values. * The rightmost element in is the leftmost bit in * points to the result vector, is a number * to be decoded, and is the number of bits/elements in bin */ extern void dec2bin(int *bin, int *dec, int *numBits); /** * Inserts values of fixed genes into states - this is required as * fixed genes are not encoded in the internal state representations. * is a pointer to a state to be corrected. * is an array specifying which genes are fixed, as contained in * the BooleanNetwork structure. * is the length of . * The function changes the state pointed to by and has no return value. */ extern void insertFixedGenes(unsigned int * value, int* fixedGenes, unsigned int numGenes); /** * Removes values of fixed genes from states - this is required as * fixed genes are not encoded in the internal state representations. * is a pointer to a state to be corrected. * is an array specifying which genes are fixed, as contained in * the BooleanNetwork structure. * is the length of . * The function changes the state pointed to by and has no return value. */ extern void removeFixedGenes(unsigned int * value, int* fixedGenes, unsigned int numGenes); extern SEXP getListElement(SEXP list, char *str); #endif BoolNet/src/symbolic_simulator.c0000644000176200001440000011175112733234746016510 0ustar liggesusers#include #include #include #include #include #include #include #include #include #include "symbolic_network.h" #include "uthash.h" #include "common.h" #include "random.h" #include "sat_search.h" #define STATEHASH_ARRAY_SIZE 1024 /** * A list element containing the states of one attractor */ typedef struct ASLE { TemporalState ** states; unsigned int numStates; struct ASLE * next; unsigned int index; } TemporalAttractorStateListElement; /** * A list comprising attractors */ typedef struct { TemporalAttractorStateListElement * head; TemporalAttractorStateListElement * tail; unsigned int size; } TemporalAttractorStateList; /** * A hash structure for state sets */ typedef struct SH { UT_hash_handle hh; struct SH * nextState; unsigned int sequenceIndex; TemporalState * initialState; } TemporalStateHash; /** * A structure for mapping states to attractors */ typedef struct { UT_hash_handle hh; TemporalAttractorStateListElement * attractor; TemporalState * state; } TemporalAttractorHash; /** * A wrapper structure for a state set */ typedef struct { ArrayListElement * hashStructs; ArrayListElement * stateStructs; TemporalStateHash * table; unsigned int stateSize; unsigned int internalStateSize; unsigned int hashSize; unsigned int currentEntryHash; unsigned int poolArraySize; } TemporalStateHashTable; /** * A wrapper structure for a map * mapping states to attractors */ typedef struct { ArrayListElement * hashStructs; ArrayListElement * stateStructs; TemporalAttractorHash * table; unsigned int stateSize; unsigned int internalStateSize; unsigned int currentEntryHash; unsigned int poolArraySize; } AttractorHashTable; /** * Functions to handle hash tables for states and attractors */ TemporalStateHashTable * allocStateHashTable(unsigned int stateSize) { TemporalStateHashTable * res = CALLOC(1, sizeof(TemporalStateHashTable)); res->hashStructs = NULL; res->stateStructs = NULL; res->stateSize = stateSize; // ensure proper alignment of states in array if (stateSize % sizeof(unsigned long long) == 0) res->internalStateSize = stateSize; else res->internalStateSize = ((stateSize / sizeof(unsigned long long)) * sizeof(unsigned long long) + sizeof(unsigned long long)); res->hashSize = offsetof(TemporalState, state) + stateSize * sizeof(unsigned char); res->table = NULL; res->currentEntryHash = 0; res->poolArraySize = STATEHASH_ARRAY_SIZE; return res; } AttractorHashTable * allocAttractorHashTable(unsigned int stateSize) { AttractorHashTable * res = CALLOC(1, sizeof(AttractorHashTable)); res->hashStructs = NULL; res->stateStructs = NULL; res->stateSize = stateSize; // ensure proper alignment of states in array if (stateSize % sizeof(unsigned long long) == 0) res->internalStateSize = stateSize; else res->internalStateSize = ((stateSize / sizeof(unsigned long long)) * sizeof(unsigned long long) + sizeof(unsigned long long)); res->table = NULL; res->currentEntryHash = 0; res->poolArraySize = STATEHASH_ARRAY_SIZE; return res; } void freeStateHashTable(TemporalStateHashTable * hash) { TemporalStateHash * entry, *tmp; HASH_ITER(hh, hash->table, entry, tmp) { HASH_DEL(hash->table, entry); } freeArrayList(hash->hashStructs); freeArrayList(hash->stateStructs); FREE(hash); } void freeAttractorHashTable(AttractorHashTable * hash) { TemporalAttractorHash * entry, *tmp; HASH_ITER(hh, hash->table, entry, tmp) { HASH_DEL(hash->table, entry); } freeArrayList(hash->hashStructs); freeArrayList(hash->stateStructs); FREE(hash); } /** * Decode a sequence of states as a state-memory representation and * returns it in . * is the network to which the state belongs. * is the number of entries in the state vector. */ inline static void decodeState(SymbolicBooleanNetwork * network, int * state, unsigned int stateLength, TemporalState * result) { unsigned int numStates = stateLength / network->numGenes; unsigned int i, j; memset(result, 0, sizeof(TemporalState) + network->totalStateSize * sizeof(unsigned char)); for (i = 0; i < network->numGenes; ++i) { for (j = 0; j < network->stateSizes[i]; ++j) { if (j < numStates) result->state[network->stateOffsets[i] + j] = state[i * numStates + j]; else result->state[network->stateOffsets[i] + j] = state[(i + 1) * numStates - 1]; } } } /** * Check whether a stat transition pair has already been traversed, and store it in the hash * table otherwise. * is the hash table for the lookup. * is the next state after the state transition. * receives the initial state of the transition if it was found. * If is true, the absolute time point is not stored in the table. * is the index of the sequence to which the transition belongs. * Returns true if the state was found, and false otherwise. */ bool findOrStore(TemporalStateHashTable * hash, TemporalStateHash ** initialState, TemporalState * nextState, bool dropTimeInfo, unsigned int sequenceIndex) { //TemporalState * search = CALLOC(1, sizeof(StateHash) + sizeof(unsigned char) * hash->stateSize); //memcpy(search, nextState, sizeof(TemporalState) + sizeof(unsigned char) * hash->stateSize); //if (dropTimeInfo) //{ // search->timeStep = HASH_UNSET; // search->startState = HASH_UNSET; //} TemporalStateHash * res = NULL; if (dropTimeInfo) { HASH_FIND(hh, hash->table, nextState->state, hash->stateSize, res); } else { HASH_FIND(hh, hash->table, nextState, hash->hashSize, res); } if (res != NULL) { if (*initialState != NULL) (*initialState)->nextState = res; *initialState = res; return true; } if (hash->currentEntryHash % hash->poolArraySize == 0) { allocNewArray(&hash->hashStructs, hash->poolArraySize, sizeof(TemporalStateHash)); allocNewArray(&hash->stateStructs, hash->poolArraySize, sizeof(TemporalState) + sizeof(unsigned char) * hash->internalStateSize); } res = (TemporalStateHash *) (((unsigned char *) hash->hashStructs->array) + sizeof(TemporalStateHash) * (hash->currentEntryHash % hash->poolArraySize)); res->initialState = (TemporalState *) (((unsigned char *) hash->stateStructs->array) + (sizeof(TemporalState) + sizeof(unsigned char) * hash->internalStateSize) * (hash->currentEntryHash % hash->poolArraySize)); memcpy(res->initialState, nextState, sizeof(TemporalState) + sizeof(unsigned char) * hash->stateSize); res->sequenceIndex = sequenceIndex; ++hash->currentEntryHash; if (*initialState != NULL) { (*initialState)->nextState = res; } //unsigned int i; //for (i = 0; i < hash->hashSize; ++i) // Rprintf("%x",((unsigned char *)&res->initialState)[i]); if (dropTimeInfo) { HASH_ADD(hh, hash->table, initialState->state, hash->stateSize, res); } else { HASH_ADD_KEYPTR(hh, hash->table, res->initialState, hash->hashSize, res); } *initialState = res; return false; } TemporalAttractorHash * addAttractorHashEntry(AttractorHashTable * hash, TemporalState * state, TemporalAttractorStateListElement * listElement) { if (hash->currentEntryHash % hash->poolArraySize == 0) { allocNewArray(&hash->hashStructs, hash->poolArraySize, sizeof(TemporalAttractorHash)); allocNewArray(&hash->stateStructs, hash->poolArraySize, sizeof(TemporalState) + sizeof(unsigned char) * hash->internalStateSize); } TemporalAttractorHash * res = (TemporalAttractorHash *) (((unsigned char *) hash->hashStructs->array) + sizeof(TemporalAttractorHash) * (hash->currentEntryHash % hash->poolArraySize)); res->state = (TemporalState *) (((unsigned char *) hash->stateStructs->array) + (sizeof(TemporalState) + sizeof(unsigned char) * hash->internalStateSize) * (hash->currentEntryHash % hash->poolArraySize)); memcpy(res->state, state, sizeof(TemporalState) + sizeof(unsigned char) * hash->stateSize); res->attractor = listElement; ++hash->currentEntryHash; HASH_ADD(hh, hash->table, state->state, hash->stateSize, res); return res; } /** * Find the attractor belonging to state in the hash table * and return it if it exists. */ TemporalAttractorStateListElement * getAttractorForState( AttractorHashTable * hash, TemporalState * state) { TemporalAttractorHash * res = NULL; HASH_FIND(hh, hash->table, state->state, hash->stateSize, res); if (res == NULL) { return NULL; } else { return res->attractor; } } /** * Allocate a list structure that stores attractors */ TemporalAttractorStateList * allocAttractorStateList() { TemporalAttractorStateList * res = CALLOC(1, sizeof(TemporalAttractorStateList)); res->size = 0; res->head = res->tail = NULL; return res; } /** * Add an empty attractor entry to the attractor list . * is the number of states of the attractor. * Returns the empty entry. */ TemporalAttractorStateListElement * addAttractor( TemporalAttractorStateList * list, unsigned int numStates) { TemporalAttractorStateListElement * res = CALLOC(1, sizeof(TemporalAttractorStateListElement)); res->numStates = numStates; res->states = CALLOC(numStates, sizeof(TemporalState *)); if (list->head == NULL) { list->head = res; res->index = 0; } else { list->tail->next = res; res->index = list->tail->index + 1; } ++list->size; list->tail = res; return res; } /** * Free all entries of the attractor list */ void freeAttractorStateList(TemporalAttractorStateList * list) { TemporalAttractorStateListElement * current = list->head, *tmp; while (true) { if (current == NULL) break; tmp = current; current = current->next; FREE(tmp->states); FREE(tmp); } FREE(list); } /** * Perform a state transition of the network from state * at the absolute time point . * Assigns the successor state to . */ void symbolicStateTransition(SymbolicBooleanNetwork * network, TemporalState * currentState, TemporalState * nextState, unsigned int * timeStep) { unsigned int i; for (i = 0; i < network->numGenes; ++i) { if (network->stateSizes[i] > 1) memcpy(&nextState->state[network->stateOffsets[i] + 1], ¤tState->state[network->stateOffsets[i]], (network->stateSizes[i] - 1) * sizeof(unsigned char)); if (network->fixedGenes[i] != -1) nextState->state[network->stateOffsets[i]] = network->fixedGenes[i]; else nextState->state[network->stateOffsets[i]] = evaluate( network->interactions[i], currentState, network->stateOffsets, network->numGenes); } nextState->timeStep = *timeStep; nextState->startState = currentState->startState; ++*timeStep; } /** * Finalizer that ensures that the internal C structures * of the R network object are freed when the * garbage collector frees . */ static void finalizeSymbolicNetwork(SEXP network) { if (NULL == R_ExternalPtrAddr(network)) return; //Rprintf("finalizing\n"); SymbolicBooleanNetwork * _network = R_ExternalPtrAddr(network); freeSymbolicNetwork(_network); R_ClearExternalPtr(network); } /** * Parse an R list specifying an expression tree and convert it to the * internal representation. * is a vector specifying the size of the history for each gene. * is the time step at which the last predicate that * depends on the absolute time point has obtained its final value. * is a Boolean vector that is set to true if the gene occurs in the formula * and to false otherwise. * Returns an internal tree representation of . */ BooleanFormula * parseRTree(SEXP formula, unsigned int * memorySizes, unsigned int * attractorSearchStartTime, bool * geneOccurs) { if (strcmp(CHAR(STRING_ELT(getListElement(formula, "type"), 0)), "atom") == 0) { BooleanAtom * res = allocAtom( *INTEGER(getListElement(formula, "index")) - 1, -*INTEGER(getListElement(formula, "time")) - 1, *LOGICAL(getListElement(formula, "negated"))); if (res->literal >= 0) { if (geneOccurs != NULL) geneOccurs[res->literal] = true; if (memorySizes[res->literal] < res->time + 1) { memorySizes[res->literal] = res->time + 1; } } return (BooleanFormula *) res; } else if (strcmp(CHAR(STRING_ELT(getListElement(formula, "type"), 0)), "constant") == 0) { Constant * res = allocConstant( *INTEGER(getListElement(formula, "value")), *LOGICAL(getListElement(formula, "negated"))); return (BooleanFormula *) res; } else { const char * operator = CHAR( STRING_ELT(getListElement(formula, "operator"), 0)); unsigned int op; if (strcmp(operator, "|") == 0) op = OPERATOR_OR; else if (strcmp(operator, "&") == 0) op = OPERATOR_AND; else if (strcmp(operator, "maj") == 0) op = OPERATOR_MAJ; else if (strcmp(operator, "sumis") == 0) op = OPERATOR_SUMIS; else if (strcmp(operator, "sumgt") == 0) op = OPERATOR_SUMGT; else if (strcmp(operator, "sumlt") == 0) op = OPERATOR_SUMLT; else if (strcmp(operator, "timeis") == 0) op = OPERATOR_TIMEIS; else if (strcmp(operator, "timegt") == 0) op = OPERATOR_TIMEGT; else if (strcmp(operator, "timelt") == 0) op = OPERATOR_TIMELT; else error("Unknown operator!"); SEXP operands = getListElement(formula, "operands"); BooleanOperator * res = allocOperator(op, *LOGICAL(getListElement(formula, "negated")), length(operands), NULL); unsigned int i; for (i = 0; i < length(operands); ++i) { res->operands[i] = parseRTree(VECTOR_ELT(operands, i), memorySizes, attractorSearchStartTime, geneOccurs); } if (res->operator == OPERATOR_TIMEIS || res->operator == OPERATOR_TIMEGT || res->operator == OPERATOR_TIMELT) { if (res->numOperands < 1|| res->operands[0]->type != FORMULA_CONSTANT) error("Time operator has an invalid specification!"); Constant * constant = ((Constant*) res->operands[0]); unsigned int value = constant->value; if (res->operator == OPERATOR_TIMELT) --value; if (value >= *attractorSearchStartTime) *attractorSearchStartTime = value; } return (BooleanFormula *) res; } } /** * R interface function to perform a state transition of * the network from state * at the absolute time point . * Returns the successor state. */ SEXP symbolicStateTransition_R(SEXP network, SEXP previousState, SEXP timeStep) { SymbolicBooleanNetwork * _network = R_ExternalPtrAddr(network); if (_network == NULL) error("Internal network structures not supplied to C handler!"); unsigned int _timeStep = *INTEGER(timeStep), k; TemporalState * current = CALLOC(1, sizeof(TemporalState) + _network->totalStateSize * sizeof(unsigned char)); TemporalState * next = CALLOC(1, sizeof(TemporalState) + _network->totalStateSize * sizeof(unsigned char)); decodeState(_network, INTEGER(previousState), length(previousState), current); current->timeStep = _timeStep; symbolicStateTransition(_network, current, next, &_timeStep); SEXP retSXP; PROTECT(retSXP = allocVector(INTSXP, _network->numGenes)); int * resultState = INTEGER(retSXP); for (k = 0; k < _network->numGenes; ++k) { resultState[k] = next->state[_network->stateOffsets[k]]; } UNPROTECT(1); FREE(next); FREE(current); return retSXP; } /** * Convert a Boolean expression tree to a * truth table representation. * is the total number of genes in the network. * Returns a binary vector representing the truth table result column. */ SEXP getTruthTable_R(SEXP tree, SEXP numGenes) { int _numGenes = *INTEGER(numGenes); unsigned int attractorSearchStartTime = 0; unsigned int * stateSizes = CALLOC(_numGenes, sizeof(unsigned int)); unsigned int * stateOffsets = CALLOC(_numGenes, sizeof(unsigned int)); bool * geneOccurs = CALLOC(_numGenes, sizeof(bool)); unsigned int i, j; for (i = 0; i < _numGenes; ++i) { stateSizes[i] = 1; } BooleanFormula * _tree = parseRTree(tree, stateSizes, &attractorSearchStartTime, geneOccurs); if (attractorSearchStartTime > 0) { freeFormula(_tree); FREE(stateSizes); FREE(stateOffsets); FREE(geneOccurs); Rf_error( "Temporal operators are not allowed in the truth table representation!"); } unsigned int geneCount = 0; for (i = 0; i < _numGenes; ++i) { if (stateSizes[i] > 1) { freeFormula(_tree); FREE(stateSizes); FREE(stateOffsets); FREE(geneOccurs); Rf_error( "Temporal operators are not allowed in the truth table representation!"); } stateOffsets[i] = geneCount; if (geneOccurs[i]) ++geneCount; } SEXP res = PROTECT(allocList(2)); SEXP table = PROTECT(allocVector(INTSXP, 1 << geneCount)); SEXP genes = PROTECT(allocVector(INTSXP, (geneCount == 0? 1 : geneCount))); if (geneCount == 0) *INTEGER(genes) = 0; else { j = 0; for (i = 0; i < _numGenes; ++i) { if (geneOccurs[i]) { INTEGER(genes)[j++] = i + 1; } } } TemporalState * current = CALLOC(1, sizeof(TemporalState) + geneCount * sizeof(unsigned char)); memset(current, 0, sizeof(TemporalState) + geneCount * sizeof(unsigned char)); int * tableEntry = INTEGER(table); do { current->timeStep = 0; *tableEntry = evaluate(_tree, current, stateOffsets, geneCount); ++tableEntry; } while (getNextState(current->state, NULL, geneCount)); SETCAR(res, genes); SETCADR(res, table); freeFormula(_tree); FREE(stateSizes); FREE(stateOffsets); FREE(geneOccurs); UNPROTECT(3); return res; } /** * Construct the internal expression tree representation * of a symbolic network specified by the R object */ SEXP constructNetworkTrees_R(SEXP object) { SymbolicBooleanNetwork * network = calloc(1, sizeof(SymbolicBooleanNetwork)); SEXP interactions = getListElement(object, "interactions"); SEXP fixed = getListElement(object, "fixed"); network->type = SYMBOLIC_BOOLEAN_NETWORK; network->numGenes = length(interactions); network->attractorSearchStartTime = 0; network->stateSizes = calloc(network->numGenes, sizeof(unsigned int)); network->stateOffsets = calloc(network->numGenes + 1, sizeof(unsigned int)); network->fixedGenes = calloc(network->numGenes, sizeof(int)); network->interactions = calloc(network->numGenes, sizeof(BooleanFormula *)); unsigned int i, j; for (i = 0; i < network->numGenes; ++i) { network->fixedGenes[i] = INTEGER(fixed)[i]; network->stateSizes[i] = 1; } for (i = 0; i < network->numGenes; ++i) { network->interactions[i] = parseRTree(VECTOR_ELT(interactions, i), network->stateSizes, &network->attractorSearchStartTime, NULL); //printFormula(network->interactions[i]); //Rprintf("\n"); } network->totalStateSize = 0; for (i = 0; i < network->numGenes; ++i) { network->stateOffsets[i] = network->totalStateSize; network->totalStateSize += network->stateSizes[i]; } network->stateOffsets[network->numGenes] = network->totalStateSize; network->stateFixed = calloc(network->totalStateSize, sizeof(int)); for (i = 0; i < network->numGenes; ++i) { for (j = 0; j < network->stateSizes[i]; ++j) { network->stateFixed[network->stateOffsets[i] + j] = network->fixedGenes[i]; } } SEXP res = PROTECT( R_MakeExternalPtr(network, install("CStructures"), R_NilValue)); R_RegisterCFinalizerEx(res, finalizeSymbolicNetwork, true); UNPROTECT(1); return res; } BooleanFormula * getSATFormula(unsigned int targetIndex, BooleanFormula * formula, unsigned int time) { // create a formula of the form target <=> factors, i.e. // (target & factors) | (!target & !factors) // outer and BooleanOperator * extendedInteraction = allocOperator(OPERATOR_OR, false, 2, NULL); // target literal BooleanAtom * target = allocAtom(targetIndex, 0, false); // inner conjunctions BooleanOperator * firstConjunction = allocOperator(OPERATOR_AND, false, 2, NULL); BooleanOperator * secondConjunction = allocOperator(OPERATOR_AND, false, 2, NULL); // first conjunction: positive operands firstConjunction->operands[0] = (BooleanFormula *) target; // factors are considered one time step earlier than the target firstConjunction->operands[1] = copyFormula(formula, false, 1); // second conjunction: negated operands secondConjunction->operands[0] = copyFormula((BooleanFormula *) target, false, 0); secondConjunction->operands[0]->negated = !secondConjunction->operands[0]->negated; secondConjunction->operands[1] = copyFormula(formula, false, 1); secondConjunction->operands[1]->negated = !secondConjunction->operands[1]->negated; // assemble top-level DNF from conjunctions extendedInteraction->operands[0] = (BooleanFormula *) firstConjunction; extendedInteraction->operands[1] = (BooleanFormula *) secondConjunction; // convert whole top-level DNF to CNF, and store it in the network object BooleanFormula * res = convertToCNF((BooleanFormula *) extendedInteraction, false, time); // free temporary DNF freeFormula((BooleanFormula *) extendedInteraction); return res; } /** * Start an attractor search based on a SAT formulation of the * symbolic network . * is an optional parameter specifying the maximum attractor size. * If is true, a search for attractors of up to * is started. Otherwise, attractors are identified based on the approach by Dubrova and Teslenko. * Returns a list with four elements as simulateStates_R, where only the third element is non-null * and comprises the identified attractors */ SEXP symbolicSATSearch_R(SEXP network, SEXP maxAttractorSize, SEXP restrictedSearch) { SymbolicBooleanNetwork * _network = R_ExternalPtrAddr(network); bool _restrictedSearch = *LOGICAL(restrictedSearch); if (_network == NULL) error("Internal network structures not supplied to C handler!"); GetRNGstate(); unsigned int i, j, k; if (_network->cnfInteractions == NULL) // create a CNF representation of the formulae, including the // equivalence relations to the targets { _network->cnfInteractions = calloc(_network->numGenes, sizeof(BooleanFormula **)); for (i = 0; i < _network->numGenes; ++i) { _network->cnfInteractions[i] = calloc( _network->attractorSearchStartTime + 1, sizeof(BooleanFormula *)); for (j = 0; j <= _network->attractorSearchStartTime; ++j) { _network->cnfInteractions[i][j] = getSATFormula(i, _network->interactions[i], _network->attractorSearchStartTime - j); } } } pAttractorInfo res; if (!_restrictedSearch) // start exhaustive SAT search as described by Dubrova and Teslenko { int _maxAttractorSize; if (isNull(maxAttractorSize)) { _maxAttractorSize = 1; } else _maxAttractorSize = *INTEGER(maxAttractorSize); res = getAttractors_SAT_exhaustive((BooleanNetwork *) _network, _maxAttractorSize, EXTENSION_MIXED); } else // only search for cycles of a specified maximum length { res = getAttractors_SAT_maxLength((BooleanNetwork *) _network, *INTEGER(maxAttractorSize)); } SEXP retSXP, attractorListSXP, iterSXP; // create list with 3 empty elements to have same return value structure // as simulateStates_R PROTECT(retSXP = allocList(4)); PROTECT(iterSXP = attractorListSXP = allocList(res->numAttractors)); pAttractor el = res->attractorList; for (i = 0; i < res->numAttractors; ++i) { SEXP attractorSXP; PROTECT( attractorSXP = allocVector(INTSXP, el->length * _network->numGenes)); int * attractorStates = INTEGER(attractorSXP); for (j = 0; j < el->length; ++j) { for (k = 0; k < _network->numGenes; ++k) // decode bit vector in Attractor structure { attractorStates[j * _network->numGenes + k] = GET_BIT_ARRAY( el->involvedStates[j * el->numElementsPerEntry], k); } } SETCAR(iterSXP, attractorSXP); UNPROTECT(1); iterSXP = CDR(iterSXP); el = el->next; } SETCADDR(retSXP, attractorListSXP); UNPROTECT(2); PutRNGstate(); return (retSXP); } /** * Symbolic simulator that identifies attractors and generates sequences of states * and attractor graphs. * is a pointer to the C structures of a symbolic network. * is either a list of start states, an integer specifying the number of * random start states, or NULL for an exhaustive search. * is the maximum number of state transitions performed to find an attractor. * , and specify whether the return * value comprises the state sequences, the transition graph, and the attractors respectively. */ SEXP simulateStates_R(SEXP network, SEXP states, SEXP maxTransitions, SEXP returnSequences, SEXP returnGraph, SEXP returnAttractors) { SymbolicBooleanNetwork * _network = R_ExternalPtrAddr(network); if (_network == NULL) error("Internal network structures not supplied to C handler!"); unsigned int _maxTransitions = *INTEGER(maxTransitions); unsigned long long _numStates = length(states); unsigned long long i, j, k; unsigned int mode; unsigned char * randomStartStates = NULL; if (!Rf_isNull(states)) { if (IS_INTEGER(states)) // a number of start states to generate randomly is supplied { _numStates = *INTEGER(states); mode = MODE_RANDOM; GetRNGstate(); randomStartStates = CALLOC(_numStates, sizeof(unsigned char) * _network->totalStateSize); } else // the start states themselves are supplied { _numStates = length(states); mode = MODE_SUPPLIED; } } else // exhaustive search { unsigned int numNonFixed = 0; for (j = 0; j < _network->numGenes; ++j) { if (_network->fixedGenes[j] == -1) numNonFixed += _network->stateSizes[j]; } _numStates = (unsigned int) 1 << numNonFixed; mode = MODE_EXHAUSTIVE; } // allocate required structures bool _returnSequences = *LOGICAL(returnSequences); bool _returnGraph = *LOGICAL(returnGraph); bool _returnAttractors = *LOGICAL(returnAttractors); TemporalStateHashTable * hash = allocStateHashTable( _network->totalStateSize); TemporalStateHashTable * usedStates = NULL; AttractorHashTable * attractorHash = allocAttractorHashTable( _network->totalStateSize); TemporalState * current = CALLOC(1, sizeof(TemporalState) + _network->totalStateSize * sizeof(unsigned char)); TemporalState * currentStart = CALLOC(1, sizeof(TemporalState) + _network->totalStateSize * sizeof(unsigned char)); TemporalState * next = CALLOC(1, sizeof(TemporalState) + _network->totalStateSize * sizeof(unsigned char)); TemporalAttractorStateList * attractors = allocAttractorStateList(); unsigned long long stateCount = 0; unsigned long long * sequenceSizes = CALLOC(_numStates, sizeof(unsigned long long)); int * attractorIndices = CALLOC(_numStates, sizeof(int)); if (mode == MODE_EXHAUSTIVE) // generate first initial state for exhaustive search (all non-fixed genes set to 0) { for (j = 0; j < _network->totalStateSize; ++j) { if (_network->stateFixed[j] == -1) currentStart->state[j] = 0; else currentStart->state[j] = _network->stateFixed[j]; } } else if (mode == MODE_RANDOM) { usedStates = allocStateHashTable(_network->totalStateSize); } for (i = 0; i < _numStates; ++i) // iterate over start states { R_CheckUserInterrupt(); sequenceSizes[i] = 1; attractorIndices[i] = ~0; SEXP state; switch (mode) { case MODE_SUPPLIED: // take next start state from the input list state = VECTOR_ELT(states, i); decodeState(_network, INTEGER(state), length(state), currentStart); break; case MODE_RANDOM: // generate a random start state while (true) { TemporalStateHash * dummy = NULL; for (j = 0; j < _network->totalStateSize; ++j) { if (_network->stateFixed[j] == -1) currentStart->state[j] = randomStartStates[i * _network->totalStateSize + j] = intrand(2); else currentStart->state[j] = randomStartStates[i * _network->totalStateSize + j] = _network->stateFixed[j]; } // check whether the state has already been choosen as a start state if (!findOrStore(usedStates, &dummy, currentStart, true, 0)) break; } break; } currentStart->startState = i; currentStart->timeStep = 0; memcpy(current, currentStart, sizeof(TemporalState) + _network->totalStateSize * sizeof(unsigned char)); unsigned int timeStep = 1; TemporalStateHash * previous = NULL; if (!findOrStore(hash, &previous, current, _network->attractorSearchStartTime == 0, i)) ++stateCount; for (j = 0; j < _maxTransitions || _maxTransitions == 0; ++j) // calculate successor states { symbolicStateTransition(_network, current, next, &timeStep); if (findOrStore(hash, &previous, next, _network->attractorSearchStartTime < timeStep, i)) // a previously found state has been reached { if (next->startState == previous->initialState->startState) // a new attractor has been found { unsigned int attractorSize = timeStep - previous->initialState->timeStep - 1; TemporalAttractorStateListElement * el = addAttractor( attractors, attractorSize); attractorIndices[i] = el->index; for (k = 0; k < attractorSize; ++k) // enumerate attractor states { addAttractorHashEntry(attractorHash, previous->initialState, el); el->states[k] = previous->initialState; previous = previous->nextState; } if (attractorSize + 1 == timeStep) // If the whole sequence is an attractor, add the initial state at the end ++sequenceSizes[i]; } else // we have reached a sequence we traversed before // => determine sequence size etc. from previous run if (_returnSequences) { while (sequenceSizes[i] < _maxTransitions || _maxTransitions == 0) { if (previous == NULL) // not enough transitions) break; TemporalAttractorStateListElement * entry = getAttractorForState(attractorHash, previous->initialState); if (entry != NULL) { sequenceSizes[i] += entry->numStates; attractorIndices[i] = entry->index; break; } ++sequenceSizes[i]; previous = previous->nextState; } } break; } ++sequenceSizes[i]; ++stateCount; memcpy(current, next, sizeof(TemporalState) + _network->totalStateSize * sizeof(unsigned char)); } if (i < _numStates - 1 && mode == MODE_EXHAUSTIVE) // generate next state for exhaustive search { getNextState(currentStart->state, _network->stateFixed, _network->totalStateSize); } } SEXP retSXP, attractorListSXP, initialStatesSXP, nextStatesSXP, attractorAssignmentSXP, transitionSXP, iterSXP, graphSXP; PROTECT(retSXP = allocList(4)); if (_returnAttractors) // store attractor sequences in results { PROTECT(iterSXP = attractorListSXP = allocList(attractors->size)); TemporalAttractorStateListElement * el = attractors->head; for (i = 0; i < attractors->size; ++i) { SEXP attractorSXP; PROTECT( attractorSXP = allocVector(INTSXP, el->numStates * _network->numGenes)); int * attractorStates = INTEGER(attractorSXP); for (j = 0; j < el->numStates; ++j) { for (k = 0; k < _network->numGenes; ++k) { attractorStates[j * _network->numGenes + k] = el->states[j]->state[_network->stateOffsets[k]]; } } SETCAR(iterSXP, attractorSXP); UNPROTECT(1); iterSXP = CDR(iterSXP); el = el->next; } SETCADDR(retSXP, attractorListSXP); if (_returnSequences) // also store indices of attractors for the sequences { SEXP attractorIndexSXP; PROTECT(attractorIndexSXP = allocVector(INTSXP, _numStates)); memcpy(INTEGER(attractorIndexSXP), attractorIndices, sizeof(int) * _numStates); SETCADDDR(retSXP, attractorIndexSXP); UNPROTECT(1); } UNPROTECT(1); } if (_returnSequences) { // calculate maximum delay in the network unsigned int maxTimeDiff = 1; for (k = 0; k < _network->numGenes; ++k) { if (_network->stateSizes[k] > maxTimeDiff) maxTimeDiff = _network->stateSizes[k]; } PROTECT(iterSXP = transitionSXP = allocList(_numStates)); if (mode == MODE_EXHAUSTIVE) // again, regenerate first start state for exhaustive search { for (j = 0; j < _network->totalStateSize; ++j) { if (_network->stateFixed[j] == -1) currentStart->state[j] = 0; else currentStart->state[j] = _network->stateFixed[j]; } } for (i = 0; i < _numStates; ++i) // iterate over states { R_CheckUserInterrupt(); SEXP transitionStatesSXP; PROTECT( transitionStatesSXP = allocVector(INTSXP, ((maxTimeDiff - 1) + sequenceSizes[i]) * _network->numGenes)); int * transitionStates = INTEGER(transitionStatesSXP); SEXP state; switch (mode) { case MODE_SUPPLIED: state = VECTOR_ELT(states, i); decodeState(_network, INTEGER(state), length(state), currentStart); break; case MODE_RANDOM: memcpy(currentStart->state, &randomStartStates[i * _network->totalStateSize], sizeof(unsigned char) * _network->totalStateSize); break; } currentStart->startState = i; currentStart->timeStep = 0; unsigned int currentState = 0; for (j = 0; j < maxTimeDiff; ++j) { bool nextState = false; for (k = 0; k < _network->numGenes; ++k) { if (mode == MODE_SUPPLIED) // store supplied initial states in results { SEXP state = VECTOR_ELT(states, i); int * _state = INTEGER(state); unsigned int numStates = length(state) / _network->numGenes; if ((maxTimeDiff - j) <= numStates) { transitionStates[j * _network->numGenes + k] = _state[k * numStates + (numStates - currentState - 1)]; nextState = true; } else transitionStates[j * _network->numGenes + k] = _state[(k + 1) * numStates - 1]; } else // construct list of initial states from internal vector representation if (_network->stateSizes[k] >= maxTimeDiff - j) transitionStates[j * _network->numGenes + k] = currentStart->state[_network->stateOffsets[k] + (maxTimeDiff - j - 1)]; else transitionStates[j * _network->numGenes + k] = currentStart->state[_network->stateOffsets[k] + _network->stateSizes[k] - 1]; } if (nextState) { ++currentState; nextState = false; } } memcpy(current, currentStart, sizeof(TemporalState) + _network->totalStateSize * sizeof(unsigned char)); // get successor states from hash table TemporalStateHash * res; if (_network->attractorSearchStartTime == 0) HASH_FIND(hh, hash->table, current->state, hash->stateSize, res); else HASH_FIND(hh, hash->table, current, hash->hashSize, res); for (j = 0; j < sequenceSizes[i]; ++j) { if (res != NULL) // encode successor state for results { for (k = 0; k < _network->numGenes; ++k) { transitionStates[(maxTimeDiff + j - 1) * _network->numGenes + k] = res->initialState->state[_network->stateOffsets[k]]; } res = res->nextState; } else error("Did not find a required successor state!"); } SETCAR(iterSXP, transitionStatesSXP); iterSXP = CDR(iterSXP); UNPROTECT(1); if (mode == MODE_EXHAUSTIVE) // generate next start state for exhaustive search { getNextState(currentStart->state, _network->stateFixed, _network->totalStateSize); } } SETCAR(retSXP, transitionSXP); UNPROTECT(1); } if (mode == MODE_RANDOM) { FREE(randomStartStates); PutRNGstate(); } TemporalStateHash * entry, *tmp; if (_returnGraph) // generate the graph representation { PROTECT(graphSXP = allocList(3)); PROTECT( initialStatesSXP = allocVector(INTSXP,stateCount * _network->numGenes)); PROTECT( nextStatesSXP = allocVector(INTSXP,stateCount * _network->numGenes)); PROTECT(attractorAssignmentSXP = allocVector(INTSXP,stateCount)); int * initialStates = INTEGER(initialStatesSXP); int * nextStates = INTEGER(nextStatesSXP); int * attractorAssignment = INTEGER(attractorAssignmentSXP); // add all state pairs in the hash table to the graph i = 0; HASH_ITER(hh, hash->table, entry, tmp) { R_CheckUserInterrupt(); for (k = 0; k < _network->numGenes; ++k) { initialStates[i * _network->numGenes + k] = entry->initialState->state[_network->stateOffsets[k]]; if (entry->nextState != NULL) nextStates[i * _network->numGenes + k] = entry->nextState->initialState->state[_network->stateOffsets[k]]; else nextStates[i * _network->numGenes + k] = entry->initialState->state[_network->stateOffsets[k]]; } attractorAssignment[i] = attractorIndices[entry->sequenceIndex]; ++i; } SETCAR(graphSXP, initialStatesSXP); SETCADR(graphSXP, nextStatesSXP); SETCADDR(graphSXP, attractorAssignmentSXP); SETCADR(retSXP, graphSXP); UNPROTECT(4); } UNPROTECT(1); if (mode == MODE_RANDOM) freeStateHashTable(usedStates); freeStateHashTable(hash); freeAttractorHashTable(attractorHash); FREE(sequenceSizes); FREE(next); FREE(current); FREE(currentStart); FREE(attractorIndices); freeAttractorStateList(attractors); return retSXP; } /** * Check whether is a null pointer. */ SEXP checkNullPointer(SEXP ptr) { void * p = R_ExternalPtrAddr(ptr); SEXP ret; PROTECT(ret = allocVector(LGLSXP,1)); *LOGICAL(ret) = (p == NULL); UNPROTECT(1); return (ret); } BoolNet/src/statespace_search.h0000644000176200001440000000430412733234746016251 0ustar liggesusers#ifndef STATESPACE_SEARCH_H #define STATESPACE_SEARCH_H #include "boolean_network.h" #include "attractor_info.h" #include /** * Retrieves attractors only for a given set of input states supplied in . * Here, numGenes / 32)> consecutive array entries describe one state, thus * the array size is numGenes / 32) * numberOfStates> * describes the network structure. */ extern pAttractorInfo getAttractorsForStates(unsigned int * selectedStates, unsigned int numberOfStates, TruthTableBooleanNetwork * net); /** * Retrieves attractors from a given transition table with entries. * * Returns a list of attractors - the last element of this list is empty! */ extern pAttractorInfo getAttractors(unsigned long long * table, unsigned long long numberOfStates, unsigned int numberOfGenes); /** * Calculate complex/loose attractors by performing random transitions from * the states supplied in . * If is true, self loops are only considered if there are no other possible transitions. * If is not NULL, this vector holds the probabilities for each gene to be chosen * for a transition. */ pAttractorInfo getLooseAttractors(unsigned int * selectedStates, unsigned int numberOfStates, TruthTableBooleanNetwork * net, unsigned int randomSteps, bool avoidSelfLoops, double * probabilities); /** * Retrieves the result column of the state transition table. * specifies the total number of genes. * is an array of values specifying whether gene is fixed (0 or 1) or not (-1). * provides the input genes for all transition functions and can be split up * for a single function according to . * provides the truth tables for all transition functions and can be split up * for a single function according to . */ unsigned long long * getTransitionTable(TruthTableBooleanNetwork * net); #endif BoolNet/src/common.c0000644000176200001440000000764712733234746014070 0ustar liggesusers#include "common.h" #include #include AllocatedMemory * memoryMap = NULL; /** * Common utilities for the BoolNet package * * Copyright 2009/2010 by Christoph Müssel and Zhou Dao * * Contact christoph.muessel@uni-ulm.de */ void freeAllMemory() { AllocatedMemory * m, * tmp; HASH_ITER(hh, memoryMap, m, tmp) { HASH_DEL(memoryMap, m); free(m->ptr); free(m); } //Rprintf("Freed all memory\n"); } /** * Encode a vector of binary values in an integer. * The rightmost element in is the leftmost bit in * is an array of elements, and points * to an integer to which the result is written. */ void bin2dec(int *dec, int *bin, int *numBits) { // clear output first unsigned int numElts; if (*numBits % BITS_PER_BLOCK_32 == 0) numElts = *numBits / BITS_PER_BLOCK_32; else numElts = *numBits / BITS_PER_BLOCK_32 + 1; memset(dec,0,numElts*sizeof(int)); // decode input and write binary integers unsigned int * unsigned_dec = (unsigned int *) dec; unsigned int i; for(i = 0; i < *numBits; ++i) { unsigned_dec[i / BITS_PER_BLOCK_32] |= ((unsigned int)bin[i] << (i % BITS_PER_BLOCK_32)); } } /** * Decode an integer to a vector of binary values. * The rightmost element in is the leftmost bit in * points to the result vector, is a number * to be decoded, and is the number of bits/elements in bin */ void dec2bin(int *bin, int *dec, int *numBits) { unsigned int i; unsigned int * unsigned_dec = (unsigned int *) dec; for(i = 0; i < *numBits; ++i) if( (unsigned_dec[i / BITS_PER_BLOCK_32] & ((unsigned int)1 << (i % BITS_PER_BLOCK_32))) != 0) bin[i] = 1; else bin[i] = 0; } /** * Inserts values of fixed genes into states - this is required as * fixed genes are not encoded in the internal state representations. * is a pointer to a state to be corrected. * is an array specifying which genes are fixed, as contained in * the BooleanNetwork structure. * is the length of . * The function changes the state pointed to by and has no return value. */ void insertFixedGenes(unsigned int * value, int* fixedGenes, unsigned int numGenes) { unsigned int tmp[numGenes]; unsigned int i, j = 0; // build an array of Boolean values for the genes for (i = 0; i < numGenes; ++i) { if (fixedGenes[i] != -1) // this gene is fixed { tmp[i] = fixedGenes[i]; } else // not a fixed gene => take value from original state { tmp[i] = ((value[j / BITS_PER_BLOCK_32] & ((unsigned int)1 << (j % BITS_PER_BLOCK_32))) != 0) ? 1 : 0; ++j; } } // re-encode Boolean array to integer value bin2dec((int *)value,(int*)tmp,(int*)&numGenes); } /** * Removes values of fixed genes from states - this is required as * fixed genes are not encoded in the internal state representations. * is a pointer to a state to be corrected. * is an array specifying which genes are fixed, as contained in * the BooleanNetwork structure. * is the length of . * The function changes the state pointed to by and has no return value. */ void removeFixedGenes(unsigned int * value, int* fixedGenes, unsigned int numGenes) { unsigned int tmp[numGenes]; memset(tmp,0,sizeof(unsigned int) * numGenes); unsigned int i, j = 0; // build an array of Boolean values for the genes for (i = 0; i < numGenes; ++i) { if (fixedGenes[i] == -1) { tmp[j] = ((value[i / BITS_PER_BLOCK_32] & ((unsigned int)1 << (i % BITS_PER_BLOCK_32))) != 0) ? 1 : 0; ++j; } } // re-encode Boolean array to integer value bin2dec((int *)value,(int*)tmp,(int*)&numGenes); } SEXP getListElement(SEXP list, char *str) { SEXP names = getAttrib(list, R_NamesSymbol); unsigned int i; for (i = 0; i < length(list); ++i) { if (strcmp(CHAR(STRING_ELT(names, i)), str) == 0 ) { return VECTOR_ELT(list, i); } } return R_NilValue; } BoolNet/src/picosat.h0000644000176200001440000006775412733234746014254 0ustar liggesusers/**************************************************************************** Copyright (c) 2006 - 2015, Armin Biere, Johannes Kepler University. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ****************************************************************************/ #ifndef picosat_h_INCLUDED #define picosat_h_INCLUDED /*------------------------------------------------------------------------*/ #include #include /*------------------------------------------------------------------------*/ /* The following macros allows for users to distiguish between different * versions of the API. The first 'PICOSAT_REENTRANT_API' is defined for * the new reentrant API which allows to generate multiple instances of * PicoSAT in one process. The second 'PICOSAT_API_VERSION' defines the * (smallest) version of PicoSAT to which this API conforms. */ #define PICOSAT_REENTRANT_API #define PICOSAT_API_VERSION 953 /* API version */ /*------------------------------------------------------------------------*/ /* These are the return values for 'picosat_sat' as for instance * standardized by the output format of the SAT competition. */ #define PICOSAT_UNKNOWN 0 #define PICOSAT_SATISFIABLE 10 #define PICOSAT_UNSATISFIABLE 20 /*------------------------------------------------------------------------*/ typedef struct PicoSAT PicoSAT; /*------------------------------------------------------------------------*/ const char *picosat_version (void); const char *picosat_config (void); const char *picosat_copyright (void); /*------------------------------------------------------------------------*/ /* You can make PicoSAT use an external memory manager instead of the one * provided by LIBC. But then you need to call these three function before * 'picosat_init'. The memory manager functions here all have an additional * first argument which is a pointer to the memory manager, but otherwise * are supposed to work as their LIBC counter parts 'malloc', 'realloc' and * 'free'. As exception the 'resize' and 'delete' function have as third * argument the number of bytes of the block given as second argument. */ typedef void * (*picosat_malloc)(void *, size_t); typedef void * (*picosat_realloc)(void*, void *, size_t, size_t); typedef void (*picosat_free)(void*, void*, size_t); /*------------------------------------------------------------------------*/ PicoSAT * picosat_init (void); /* constructor */ PicoSAT * picosat_minit (void * state, picosat_malloc, picosat_realloc, picosat_free); void picosat_reset (PicoSAT *); /* destructor */ /*------------------------------------------------------------------------*/ /* The following five functions are essentially parameters to 'init', and * thus should be called right after 'picosat_init' before doing anything * else. You should not call any of them after adding a literal. */ /* Set output file, default is 'stdout'. */ void picosat_set_output (PicoSAT *, FILE *); /* Measure all time spent in all calls in the solver. By default only the * time spent in 'picosat_sat' is measured. Enabling this function might * for instance triple the time needed to add large CNFs, since every call * to 'picosat_add' will trigger a call to 'getrusage'. */ void picosat_measure_all_calls (PicoSAT *); /* Set the prefix used for printing verbose messages and statistics. * Default is "c ". */ void picosat_set_prefix (PicoSAT *, const char *); /* Set verbosity level. A verbosity level of 1 and above prints more and * more detailed progress reports on the output file, set by * 'picosat_set_output'. Verbose messages are prefixed with the string set * by 'picosat_set_prefix'. */ void picosat_set_verbosity (PicoSAT *, int new_verbosity_level); /* Disable/Enable all pre-processing, currently only failed literal probing. * * new_plain_value != 0 only 'plain' solving, so no preprocessing * new_plain_value == 0 allow preprocessing */ void picosat_set_plain (PicoSAT *, int new_plain_value); /* Set default initial phase: * * 0 = false * 1 = true * 2 = Jeroslow-Wang (default) * 3 = random initial phase * * After a variable has been assigned the first time, it will always * be assigned the previous value if it is picked as decision variable. * The initial assignment can be chosen with this function. */ void picosat_set_global_default_phase (PicoSAT *, int); /* Set next/initial phase of a particular variable if picked as decision * variable. Second argument 'phase' has the following meaning: * * negative = next value if picked as decision variable is false * * positive = next value if picked as decision variable is true * * 0 = use global default phase as next value and * assume 'lit' was never assigned * * Again if 'lit' is assigned afterwards through a forced assignment, * then this forced assignment is the next phase if this variable is * used as decision variable. */ void picosat_set_default_phase_lit (PicoSAT *, int lit, int phase); /* You can reset all phases by the following function. */ void picosat_reset_phases (PicoSAT *); /* Scores can be erased as well. Note, however, that even after erasing * scores and phases, learned clauses are kept. In addition head tail * pointers for literals are not moved either. So expect a difference * between calling the solver in incremental mode or with a fresh copy of * the CNF. */ void picosat_reset_scores (PicoSAT *); /* Reset assignment if in SAT state and then remove the given percentage of * less active (large) learned clauses. If you specify 100% all large * learned clauses are removed. */ void picosat_remove_learned (PicoSAT *, unsigned percentage); /* Set some variables to be more important than others. These variables are * always used as decisions before other variables are used. Dually there * is a set of variables that is used last. The default is * to mark all variables as being indifferent only. */ void picosat_set_more_important_lit (PicoSAT *, int lit); void picosat_set_less_important_lit (PicoSAT *, int lit); /* Allows to print to internal 'out' file from client. */ void picosat_message (PicoSAT *, int verbosity_level, const char * fmt, ...); /* Set a seed for the random number generator. The random number generator * is currently just used for generating random decisions. In our * experiments having random decisions did not really help on industrial * examples, but was rather helpful to randomize the solver in order to * do proper benchmarking of different internal parameter sets. */ void picosat_set_seed (PicoSAT *, unsigned random_number_generator_seed); /* If you ever want to extract cores or proof traces with the current * instance of PicoSAT initialized with 'picosat_init', then make sure to * call 'picosat_enable_trace_generation' right after 'picosat_init'. This * is not necessary if you only use 'picosat_set_incremental_rup_file'. * * NOTE, trace generation code is not necessarily included, e.g. if you * configure PicoSAT with full optimzation as './configure -O' or with * you do not get any results by trying to generate traces. * * The return value is non-zero if code for generating traces is included * and it is zero if traces can not be generated. */ int picosat_enable_trace_generation (PicoSAT *); /* You can dump proof traces in RUP format incrementally even without * keeping the proof trace in memory. The advantage is a reduction of * memory usage, but the dumped clauses do not necessarily belong to the * clausal core. Beside the file the additional parameters denotes the * maximal number of variables and the number of original clauses. */ void picosat_set_incremental_rup_file (PicoSAT *, FILE * file, int m, int n); /* Save original clauses for 'picosat_deref_partial'. See comments to that * function further down. */ void picosat_save_original_clauses (PicoSAT *); /* Add a call back which is checked regularly to notify the SAT solver * to terminate earlier. This is useful for setting external time limits * or terminate early in say a portfolio style parallel SAT solver. */ void picosat_set_interrupt (PicoSAT *, void * external_state, int (*interrupted)(void * external_state)); /*------------------------------------------------------------------------*/ /* This function returns the next available unused variable index and * allocates a variable for it even though this variable does not occur as * assumption, nor in a clause or any other constraints. In future calls to * 'picosat_sat', 'picosat_deref' and particularly for 'picosat_changed', * this variable is treated as if it had been used. */ int picosat_inc_max_var (PicoSAT *); /*------------------------------------------------------------------------*/ /* Push and pop semantics for PicoSAT. 'picosat_push' opens up a new * context. All clauses added in this context are attached to it and * discarded when the context is closed with 'picosat_pop'. It is also * possible to nest contexts. * * The current implementation uses a new internal variable for each context. * However, the indices for these internal variables are shared with * ordinary external variables. This means that after any call to * 'picosat_push', new variable indices should be obtained with * 'picosat_inc_max_var' and not just by incrementing the largest variable * index used so far. * * The return value is the index of the literal that assumes this context. * This literal can only be used for 'picosat_failed_context' otherwise * it will lead to an API usage error. */ int picosat_push (PicoSAT *); /* This is as 'picosat_failed_assumption', but only for internal variables * generated by 'picosat_push'. */ int picosat_failed_context (PicoSAT *, int lit); /* Returns the literal that assumes the current context or zero if the * outer context has been reached. */ int picosat_context (PicoSAT *); /* Closes the current context and recycles the literal generated for * assuming this context. The return value is the literal for the new * outer context or zero if the outer most context has been reached. */ int picosat_pop (PicoSAT *); /* Force immmediate removal of all satisfied clauses and clauses that are * added or generated in closed contexts. This function is called * internally if enough units are learned or after a certain number of * contexts have been closed. This number is fixed at compile time * and defined as MAXCILS in 'picosat.c'. * * Note that learned clauses which only involve outer contexts are kept. */ void picosat_simplify (PicoSAT *); /*------------------------------------------------------------------------*/ /* If you know a good estimate on how many variables you are going to use * then calling this function before adding literals will result in less * resizing of the variable table. But this is just a minor optimization. * Beside exactly allocating enough variables it has the same effect as * calling 'picosat_inc_max_var'. */ void picosat_adjust (PicoSAT *, int max_idx); /*------------------------------------------------------------------------*/ /* Statistics. */ int picosat_variables (PicoSAT *); /* p cnf n */ int picosat_added_original_clauses (PicoSAT *); /* p cnf m */ size_t picosat_max_bytes_allocated (PicoSAT *); double picosat_time_stamp (void); /* ... in process */ void picosat_stats (PicoSAT *); /* > output file */ unsigned long long picosat_propagations (PicoSAT *); /* #propagations */ unsigned long long picosat_decisions (PicoSAT *); /* #decisions */ unsigned long long picosat_visits (PicoSAT *); /* #visits */ /* The time spent in calls to the library or in 'picosat_sat' respectively. * The former is returned if, right after initialization * 'picosat_measure_all_calls' is called. */ double picosat_seconds (PicoSAT *); /*------------------------------------------------------------------------*/ /* Add a literal of the next clause. A zero terminates the clause. The * solver is incremental. Adding a new literal will reset the previous * assignment. The return value is the original clause index to which * this literal respectively the trailing zero belong starting at 0. */ int picosat_add (PicoSAT *, int lit); /* As the previous function, but allows to add a full clause at once with an * at compiled time known size. The list of argument literals has to be * terminated with a zero literal. Literals beyond the first zero literal * are discarded. */ int picosat_add_arg (PicoSAT *, ...); /* As the previous function but with an at compile time unknown size. */ int picosat_add_lits (PicoSAT *, int * lits); /* Print the CNF to the given file in DIMACS format. */ void picosat_print (PicoSAT *, FILE *); /* You can add arbitrary many assumptions before the next 'picosat_sat' * call. This is similar to the using assumptions in MiniSAT, except that * for PicoSAT you do not have to collect all your assumptions in a vector * yourself. In PicoSAT you can add one after the other, to be used in the * next call to 'picosat_sat'. * * These assumptions can be interpreted as adding unit clauses with those * assumptions as literals. However these assumption clauses are only valid * for exactly the next call to 'picosat_sat', and will be removed * afterwards, e.g. in following future calls to 'picosat_sat' after the * next 'picosat_sat' call, unless they are assumed again trough * 'picosat_assume'. * * More precisely, assumptions actually remain valid even after the next * call to 'picosat_sat' has returned. Valid means they remain 'assumed' * internally until a call to 'picosat_add', 'picosat_assume', or a second * 'picosat_sat', following the first 'picosat_sat'. The reason for keeping * them valid is to allow 'picosat_failed_assumption' to return correct * values. * * Example: * * picosat_assume (1); // assume unit clause '1 0' * picosat_assume (-2); // additionally assume clause '-2 0' * res = picosat_sat (1000); // assumes 1 and -2 to hold * // 1000 decisions max. * * if (res == PICOSAT_UNSATISFIABLE) * { * if (picosat_failed_assumption (1)) * // unit clause '1 0' was necessary to derive UNSAT * * if (picosat_failed_assumption (-2)) * // unit clause '-2 0' was necessary to derive UNSAT * * // at least one but also both could be necessary * * picosat_assume (17); // previous assumptions are removed * // now assume unit clause '17 0' for * // the next call to 'picosat_sat' * * // adding a new clause, actually the first literal of * // a clause would also make the assumptions used in the previous * // call to 'picosat_sat' invalid. * * // The first two assumptions above are not assumed anymore. Only * // the assumptions, since the last call to 'picosat_sat' returned * // are assumed, e.g. the unit clause '17 0'. * * res = picosat_sat (-1); * } * else if (res == PICOSAT_SATISFIABLE) * { * // now the assignment is valid and we can call 'picosat_deref' * * assert (picosat_deref (1) == 1)); * assert (picosat_deref (-2) == 1)); * * val = picosat_deref (15); * * // previous two assumptions are still valid * * // would become invalid if 'picosat_add' or 'picosat_assume' is * // called here, but we immediately call 'picosat_sat'. Now when * // entering 'picosat_sat' the solver knows that the previous call * // returned SAT and it can safely reset the previous assumptions * * res = picosat_sat (-1); * } * else * { * assert (res == PICOSAT_UNKNOWN); * * // assumptions valid, but assignment invalid * // except for top level assigned literals which * // necessarily need to have this value if the formula is SAT * * // as above the solver nows that the previous call returned UNKWOWN * // and will before doing anything else reset assumptions * * picosat_sat (-1); * } */ void picosat_assume (PicoSAT *, int lit); /*------------------------------------------------------------------------*/ /* This is an experimental feature for handling 'all different constraints' * (ADC). Currently only one global ADC can be handled. The bit-width of * all the bit-vectors entered in this ADC (stored in 'all different * objects' or ADOs) has to be identical. * * TODO: also handle top level assigned literals here. */ void picosat_add_ado_lit (PicoSAT *, int); /*------------------------------------------------------------------------*/ /* Call the main SAT routine. A negative decision limit sets no limit on * the number of decisions. The return values are as above, e.g. * 'PICOSAT_UNSATISFIABLE', 'PICOSAT_SATISFIABLE', or 'PICOSAT_UNKNOWN'. */ int picosat_sat (PicoSAT *, int decision_limit); /* As alternative to a decision limit you can use the number of propagations * as limit. This is more linearly related to execution time. This has to * be called after 'picosat_init' and before 'picosat_sat'. */ void picosat_set_propagation_limit (PicoSAT *, unsigned long long limit); /* Return last result of calling 'picosat_sat' or '0' if not called. */ int picosat_res (PicoSAT *); /* After 'picosat_sat' was called and returned 'PICOSAT_SATISFIABLE', then * the satisfying assignment can be obtained by 'dereferencing' literals. * The value of the literal is return as '1' for 'true', '-1' for 'false' * and '0' for an unknown value. */ int picosat_deref (PicoSAT *, int lit); /* Same as before but just returns true resp. false if the literals is * forced to this assignment at the top level. This function does not * require that 'picosat_sat' was called and also does not internally reset * incremental usage. */ int picosat_deref_toplevel (PicoSAT *, int lit); /* After 'picosat_sat' was called and returned 'PICOSAT_SATISFIABLE' a * partial satisfying assignment can be obtained as well. It satisfies all * original clauses. The value of the literal is return as '1' for 'true', * '-1' for 'false' and '0' for an unknown value. In order to make this * work all original clauses have to be saved internally, which has to be * enabled by 'picosat_save_original_clauses' right after initialization. */ int picosat_deref_partial (PicoSAT *, int lit); /* Returns non zero if the CNF is unsatisfiable because an empty clause was * added or derived. */ int picosat_inconsistent (PicoSAT *); /* Returns non zero if the literal is a failed assumption, which is defined * as an assumption used to derive unsatisfiability. This is as accurate as * generating core literals, but still of course is an overapproximation of * the set of assumptions really necessary. The technique does not need * clausal core generation nor tracing to be enabled and thus can be much * more effective. The function can only be called as long the current * assumptions are valid. See 'picosat_assume' for more details. */ int picosat_failed_assumption (PicoSAT *, int lit); /* Returns a zero terminated list of failed assumption in the last call to * 'picosat_sat'. The pointer is valid until the next call to * 'picosat_sat' or 'picosat_failed_assumptions'. It only makes sense if the * last call to 'picosat_sat' returned 'PICOSAT_UNSATISFIABLE'. */ const int * picosat_failed_assumptions (PicoSAT *); /* Returns a zero terminated minimized list of failed assumption for the last * call to 'picosat_sat'. The pointer is valid until the next call to this * function or 'picosat_sat' or 'picosat_mus_assumptions'. It only makes sense * if the last call to 'picosat_sat' returned 'PICOSAT_UNSATISFIABLE'. * * The call back function is called for all successful simplification * attempts. The first argument of the call back function is the state * given as first argument to 'picosat_mus_assumptions'. The second * argument to the call back function is the new reduced list of failed * assumptions. * * This function will call 'picosat_assume' and 'picosat_sat' internally but * before returning reestablish a proper UNSAT state, e.g. * 'picosat_failed_assumption' will work afterwards as expected. * * The last argument if non zero fixes assumptions. In particular, if an * assumption can not be removed it is permanently assigned true, otherwise * if it turns out to be redundant it is permanently assumed to be false. */ const int * picosat_mus_assumptions (PicoSAT *, void *, void(*)(void*,const int*),int); /* Compute one maximal subset of satisfiable assumptions. You need to set * the assumptions, call 'picosat_sat' and check for 'picosat_inconsistent', * before calling this function. The result is a zero terminated array of * assumptions that consistently can be asserted at the same time. Before * returing the library 'reassumes' all assumptions. * * It could be beneficial to set the default phase of assumptions * to true (positive). This can speed up the computation. */ const int * picosat_maximal_satisfiable_subset_of_assumptions (PicoSAT *); /* This function assumes that you have set up all assumptions with * 'picosat_assume'. Then it calls 'picosat_sat' internally unless the * formula is already inconsistent without assumptions, i.e. it contains * the empty clause. After that it extracts a maximal satisfiable subset of * assumptions. * * The result is a zero terminated maximal subset of consistent assumptions * or a zero pointer if the formula contains the empty clause and thus no * more maximal consistent subsets of assumptions can be extracted. In the * first case, before returning, a blocking clause is added, that rules out * the result for the next call. * * NOTE: adding the blocking clause changes the CNF. * * So the following idiom * * const int * mss; * picosat_assume (a1); * picosat_assume (a2); * picosat_assume (a3); * picosat_assume (a4); * while ((mss = picosat_next_maximal_satisfiable_subset_of_assumptions ())) * process_mss (mss); * * can be used to iterate over all maximal consistent subsets of * the set of assumptions {a1,a2,a3,a4}. * * It could be beneficial to set the default phase of assumptions * to true (positive). This might speed up the computation. */ const int * picosat_next_maximal_satisfiable_subset_of_assumptions (PicoSAT *); /* Similarly we can iterate over all minimal correcting assumption sets. * See the CAMUS literature [M. Liffiton, K. Sakallah JAR 2008]. * * The result contains each assumed literal only once, even if it * was assumed multiple times (in contrast to the maximal consistent * subset functions above). * * It could be beneficial to set the default phase of assumptions * to true (positive). This might speed up the computation. */ const int * picosat_next_minimal_correcting_subset_of_assumptions (PicoSAT *); /* Compute the union of all minmal correcting sets, which is called * the 'high level union of all minimal unsatisfiable subset sets' * or 'HUMUS' in our papers. * * It uses 'picosat_next_minimal_correcting_subset_of_assumptions' and * the same notes and advices apply. In particular, this implies that * after calling the function once, the current CNF becomes inconsistent, * and PicoSAT has to be reset. So even this function internally uses * PicoSAT incrementally, it can not be used incrementally itself at this * point. * * The 'callback' can be used for progress logging and is called after * each extracted minimal correcting set if non zero. The 'nhumus' * parameter of 'callback' denotes the number of assumptions found to be * part of the HUMUS sofar. */ const int * picosat_humus (PicoSAT *, void (*callback)(void * state, int nmcs, int nhumus), void * state); /*------------------------------------------------------------------------*/ /* Assume that a previous call to 'picosat_sat' in incremental usage, * returned 'SATISFIABLE'. Then a couple of clauses and optionally new * variables were added (a new variable is a variable that has an index * larger then the maximum variable added so far). The next call to * 'picosat_sat' also returns 'SATISFIABLE'. If this function * 'picosat_changed' returns '0', then the assignment to the old variables * is guaranteed to not have changed. Otherwise it might have changed. * * The return value to this function is only valid until new clauses are * added through 'picosat_add', an assumption is made through * 'picosat_assume', or again 'picosat_sat' is called. This is the same * assumption as for 'picosat_deref'. * * TODO currently this function might also return a non zero value even if * the old assignment did not change, because it only checks whether the * assignment of at least one old variable was flipped at least once during * the search. In principle it should be possible to be exact in the other * direction as well by using a counter of variables that have an odd number * of flips. But this is not implemented yet. */ int picosat_changed (PicoSAT *); /*------------------------------------------------------------------------*/ /* The following six functions internally extract the variable and clausal * core and thus require trace generation to be enabled with * 'picosat_enable_trace_generation' right after calling 'picosat_init'. * * TODO: using these functions in incremental mode with failed assumptions * has only been tested for 'picosat_corelit' thoroughly. The others * probably only work in non-incremental mode or without using * 'picosat_assume'. */ /* This function determines whether the i'th added original clause is in the * core. The 'i' is the return value of 'picosat_add', which starts at zero * and is incremented by one after a original clause is added (that is after * 'picosat_add (0)'). For the index 'i' the following has to hold: * * 0 <= i < picosat_added_original_clauses () */ int picosat_coreclause (PicoSAT *, int i); /* This function gives access to the variable core, which is made up of the * variables that were resolved in deriving the empty clause. */ int picosat_corelit (PicoSAT *, int lit); /* Write the clauses that were used in deriving the empty clause to a file * in DIMACS format. */ void picosat_write_clausal_core (PicoSAT *, FILE * core_file); /* Write a proof trace in TraceCheck format to a file. */ void picosat_write_compact_trace (PicoSAT *, FILE * trace_file); void picosat_write_extended_trace (PicoSAT *, FILE * trace_file); /* Write a RUP trace to a file. This trace file contains only the learned * core clauses while this is not necessarily the case for the RUP file * obtained with 'picosat_set_incremental_rup_file'. */ void picosat_write_rup_trace (PicoSAT *, FILE * trace_file); /*------------------------------------------------------------------------*/ /* Keeping the proof trace around is not necessary if an over-approximation * of the core is enough. A literal is 'used' if it was involved in a * resolution to derive a learned clause. The core literals are necessarily * a subset of the 'used' literals. */ int picosat_usedlit (PicoSAT *, int lit); /*------------------------------------------------------------------------*/ #endif BoolNet/src/sat_search.h0000644000176200001440000000314712733234746014710 0ustar liggesusers#ifndef SAT_SEARCH_H #define SAT_SEARCH_H #include "boolean_network.h" #include "attractor_info.h" #define EXTENSION_EXPONENTIAL 0 #define EXTENSION_LINEAR 1 #define EXTENSION_LINEAR_ADAPT 2 #define EXTENSION_MIXED 3 /** * Determine all attractors having at most states in the network , * and return them in an AttractorInfo structure. */ extern pAttractorInfo getAttractors_SAT_exhaustive(BooleanNetwork * network, unsigned int initialCycleSearchLength, unsigned int extensionMode); /** * Identify all attractors using a SAT-based algorithm adapted from Dubrova et al., 2011. * Here, is the network whose attractors are identified. * If > 0, the first step of the algorithm is to identify and exclude * all attractors of length 1 to . * specifies the way the chain is extended: * EXTENSION_EXPONENTIAL corresponds to the exponential scheme by Dubrova et al. * EXTENSION_LINEAR corresponds to linearly increasing the length * EXTENSION_LINEAR_ADAPT corresponds to a linear increase whose step width is * increased over the iterations * EXTENSION_MIXED corresponds to a mixture of linear and exponential increase, * where the chain length is doubled after 5 linear increases. * Returns an AttractorInfo structure comprising all attractors of the network. */ extern pAttractorInfo getAttractors_SAT_maxLength(BooleanNetwork * network, unsigned int maxLength); #endif BoolNet/src/attractor_info.c0000644000176200001440000000254312733234746015604 0ustar liggesusers#include "attractor_info.h" #include "common.h" /** * Allocate a new AttractorInfo structure for states */ pAttractorInfo allocAttractorInfo(unsigned long long tableSize, unsigned int numGenes) { pAttractorInfo res = (pAttractorInfo)CALLOC(1,sizeof(AttractorInfo)); if ((numGenes % BITS_PER_BLOCK_32) == 0) res->numElementsPerEntry = numGenes/BITS_PER_BLOCK_32; else res->numElementsPerEntry = numGenes/BITS_PER_BLOCK_32 + 1; res->numAttractors = 0; res->table = NULL; res->tableSize = tableSize; res->initialStates = NULL; res->table = (unsigned int*) CALLOC(tableSize * res->numElementsPerEntry,sizeof(unsigned int)); res->attractorAssignment = (unsigned int*) CALLOC(tableSize,sizeof(unsigned int)); res->stepsToAttractor = (unsigned int*) CALLOC(tableSize,sizeof(unsigned int)); return res; } /** * Free a list of attractor structures */ void freeAttractorList(pAttractor p) { do { pAttractor next = p->next; if (p->involvedStates != NULL) FREE(p->involvedStates); FREE(p); p = next; } while(p != NULL); } /** * Free an AttractorInfo structure including * all sub-elements and the attractor list */ void freeAttractorInfo(pAttractorInfo p) { if (p->initialStates != 0) FREE(p->initialStates); FREE(p->table); FREE(p->attractorAssignment); FREE(p->stepsToAttractor); freeAttractorList(p->attractorList); FREE(p); } BoolNet/src/random.h0000644000176200001440000000064712733234746014056 0ustar liggesusers#ifndef RANDOM_H_ #define RANDOM_H_ #include /** * This header contains wrapper methods to generate random numbers. */ /** * Returns a random double in [0,1) */ static inline double doublerand_1() { return unif_rand(); } /** * Returns a random integer value in [0,maxVal-1] */ static inline unsigned int intrand(unsigned int maxVal) { return (unsigned int)(unif_rand() * maxVal); } #endif /*RANDOM_H_*/ BoolNet/src/uthash.h0000644000176200001440000016264112733234746014075 0ustar liggesusers/* Copyright (c) 2003-2011, Troy D. Hanson http://uthash.sourceforge.net All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef UTHASH_H #define UTHASH_H #include /* memcmp,strlen */ #include /* ptrdiff_t */ #include /* exit() */ /* These macros use decltype or the earlier __typeof GNU extension. As decltype is only available in newer compilers (VS2010 or gcc 4.3+ when compiling c++ source) this code uses whatever method is needed or, for VS2008 where neither is available, uses casting workarounds. */ #ifdef _MSC_VER /* MS compiler */ #if _MSC_VER >= 1600 && defined(__cplusplus) /* VS2010 or newer in C++ mode */ #define DECLTYPE(x) (decltype(x)) #else /* VS2008 or older (or VS2010 in C mode) */ #define NO_DECLTYPE #define DECLTYPE(x) #endif #else /* GNU, Sun and other compilers */ #define DECLTYPE(x) (__typeof(x)) #endif #ifdef NO_DECLTYPE #define DECLTYPE_ASSIGN(dst,src) \ do { \ char **_da_dst = (char**)(&(dst)); \ *_da_dst = (char*)(src); \ } while(0) #else #define DECLTYPE_ASSIGN(dst,src) \ do { \ (dst) = DECLTYPE(dst)(src); \ } while(0) #endif /* a number of the hash function use uint32_t which isn't defined on win32 */ #ifdef _MSC_VER typedef unsigned int uint32_t; typedef unsigned char uint8_t; #else #include /* uint32_t */ #endif #define UTHASH_VERSION 1.9.4 //Modified by C. Muessel for use in R #define uthash_fatal(msg) error(msg) /* fatal error (out of memory,etc) */ #define uthash_malloc(sz) malloc(sz) /* malloc fcn */ #define uthash_free(ptr,sz) free(ptr) /* free fcn */ #define uthash_noexpand_fyi(tbl) /* can be defined to log noexpand */ #define uthash_expand_fyi(tbl) /* can be defined to log expands */ /* initial number of buckets */ #define HASH_INITIAL_NUM_BUCKETS 32 /* initial number of buckets */ #define HASH_INITIAL_NUM_BUCKETS_LOG2 5 /* lg2 of initial number of buckets */ #define HASH_BKT_CAPACITY_THRESH 10 /* expand when bucket count reaches */ /* calculate the element whose hash handle address is hhe */ #define ELMT_FROM_HH(tbl,hhp) ((void*)(((char*)(hhp)) - ((tbl)->hho))) #define HASH_FIND(hh,head,keyptr,keylen,out) \ do { \ unsigned _hf_bkt,_hf_hashv; \ out=NULL; \ if (head) { \ HASH_FCN(keyptr,keylen, (head)->hh.tbl->num_buckets, _hf_hashv, _hf_bkt); \ if (HASH_BLOOM_TEST((head)->hh.tbl, _hf_hashv)) { \ HASH_FIND_IN_BKT((head)->hh.tbl, hh, (head)->hh.tbl->buckets[ _hf_bkt ], \ keyptr,keylen,out); \ } \ } \ } while (0) #ifdef HASH_BLOOM #define HASH_BLOOM_BITLEN (1ULL << HASH_BLOOM) #define HASH_BLOOM_BYTELEN (HASH_BLOOM_BITLEN/8) + ((HASH_BLOOM_BITLEN%8) ? 1:0) #define HASH_BLOOM_MAKE(tbl) \ do { \ (tbl)->bloom_nbits = HASH_BLOOM; \ (tbl)->bloom_bv = (uint8_t*)uthash_malloc(HASH_BLOOM_BYTELEN); \ if (!((tbl)->bloom_bv)) { uthash_fatal( "out of memory"); } \ memset((tbl)->bloom_bv, 0, HASH_BLOOM_BYTELEN); \ (tbl)->bloom_sig = HASH_BLOOM_SIGNATURE; \ } while (0); #define HASH_BLOOM_FREE(tbl) \ do { \ uthash_free((tbl)->bloom_bv, HASH_BLOOM_BYTELEN); \ } while (0); #define HASH_BLOOM_BITSET(bv,idx) (bv[(idx)/8] |= (1U << ((idx)%8))) #define HASH_BLOOM_BITTEST(bv,idx) (bv[(idx)/8] & (1U << ((idx)%8))) #define HASH_BLOOM_ADD(tbl,hashv) \ HASH_BLOOM_BITSET((tbl)->bloom_bv, (hashv & (uint32_t)((1ULL << (tbl)->bloom_nbits) - 1))) #define HASH_BLOOM_TEST(tbl,hashv) \ HASH_BLOOM_BITTEST((tbl)->bloom_bv, (hashv & (uint32_t)((1ULL << (tbl)->bloom_nbits) - 1))) #else #define HASH_BLOOM_MAKE(tbl) #define HASH_BLOOM_FREE(tbl) #define HASH_BLOOM_ADD(tbl,hashv) #define HASH_BLOOM_TEST(tbl,hashv) (1) #endif #define HASH_MAKE_TABLE(hh,head) \ do { \ (head)->hh.tbl = (UT_hash_table*)uthash_malloc( \ sizeof(UT_hash_table)); \ if (!((head)->hh.tbl)) { uthash_fatal( "out of memory"); } \ memset((head)->hh.tbl, 0, sizeof(UT_hash_table)); \ (head)->hh.tbl->tail = &((head)->hh); \ (head)->hh.tbl->num_buckets = HASH_INITIAL_NUM_BUCKETS; \ (head)->hh.tbl->log2_num_buckets = HASH_INITIAL_NUM_BUCKETS_LOG2; \ (head)->hh.tbl->hho = (char*)(&(head)->hh) - (char*)(head); \ (head)->hh.tbl->buckets = (UT_hash_bucket*)uthash_malloc( \ HASH_INITIAL_NUM_BUCKETS*sizeof(struct UT_hash_bucket)); \ if (! (head)->hh.tbl->buckets) { uthash_fatal( "out of memory"); } \ memset((head)->hh.tbl->buckets, 0, \ HASH_INITIAL_NUM_BUCKETS*sizeof(struct UT_hash_bucket)); \ HASH_BLOOM_MAKE((head)->hh.tbl); \ (head)->hh.tbl->signature = HASH_SIGNATURE; \ } while(0) #define HASH_ADD(hh,head,fieldname,keylen_in,add) \ HASH_ADD_KEYPTR(hh,head,&((add)->fieldname),keylen_in,add) #define HASH_ADD_KEYPTR(hh,head,keyptr,keylen_in,add) \ do { \ unsigned _ha_bkt; \ (add)->hh.next = NULL; \ (add)->hh.key = (char*)keyptr; \ (add)->hh.keylen = keylen_in; \ if (!(head)) { \ head = (add); \ (head)->hh.prev = NULL; \ HASH_MAKE_TABLE(hh,head); \ } else { \ (head)->hh.tbl->tail->next = (add); \ (add)->hh.prev = ELMT_FROM_HH((head)->hh.tbl, (head)->hh.tbl->tail); \ (head)->hh.tbl->tail = &((add)->hh); \ } \ (head)->hh.tbl->num_items++; \ (add)->hh.tbl = (head)->hh.tbl; \ HASH_FCN(keyptr,keylen_in, (head)->hh.tbl->num_buckets, \ (add)->hh.hashv, _ha_bkt); \ HASH_ADD_TO_BKT((head)->hh.tbl->buckets[_ha_bkt],&(add)->hh); \ HASH_BLOOM_ADD((head)->hh.tbl,(add)->hh.hashv); \ HASH_EMIT_KEY(hh,head,keyptr,keylen_in); \ HASH_FSCK(hh,head); \ } while(0) #define HASH_TO_BKT( hashv, num_bkts, bkt ) \ do { \ bkt = ((hashv) & ((num_bkts) - 1)); \ } while(0) /* delete "delptr" from the hash table. * "the usual" patch-up process for the app-order doubly-linked-list. * The use of _hd_hh_del below deserves special explanation. * These used to be expressed using (delptr) but that led to a bug * if someone used the same symbol for the head and deletee, like * HASH_DELETE(hh,users,users); * We want that to work, but by changing the head (users) below * we were forfeiting our ability to further refer to the deletee (users) * in the patch-up process. Solution: use scratch space to * copy the deletee pointer, then the latter references are via that * scratch pointer rather than through the repointed (users) symbol. */ #define HASH_DELETE(hh,head,delptr) \ do { \ unsigned _hd_bkt; \ struct UT_hash_handle *_hd_hh_del; \ if ( ((delptr)->hh.prev == NULL) && ((delptr)->hh.next == NULL) ) { \ uthash_free((head)->hh.tbl->buckets, \ (head)->hh.tbl->num_buckets*sizeof(struct UT_hash_bucket) ); \ HASH_BLOOM_FREE((head)->hh.tbl); \ uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \ head = NULL; \ } else { \ _hd_hh_del = &((delptr)->hh); \ if ((delptr) == ELMT_FROM_HH((head)->hh.tbl,(head)->hh.tbl->tail)) { \ (head)->hh.tbl->tail = \ (UT_hash_handle*)((char*)((delptr)->hh.prev) + \ (head)->hh.tbl->hho); \ } \ if ((delptr)->hh.prev) { \ ((UT_hash_handle*)((char*)((delptr)->hh.prev) + \ (head)->hh.tbl->hho))->next = (delptr)->hh.next; \ } else { \ DECLTYPE_ASSIGN(head,(delptr)->hh.next); \ } \ if (_hd_hh_del->next) { \ ((UT_hash_handle*)((char*)_hd_hh_del->next + \ (head)->hh.tbl->hho))->prev = \ _hd_hh_del->prev; \ } \ HASH_TO_BKT( _hd_hh_del->hashv, (head)->hh.tbl->num_buckets, _hd_bkt); \ HASH_DEL_IN_BKT(hh,(head)->hh.tbl->buckets[_hd_bkt], _hd_hh_del); \ (head)->hh.tbl->num_items--; \ } \ HASH_FSCK(hh,head); \ } while (0) /* convenience forms of HASH_FIND/HASH_ADD/HASH_DEL */ #define HASH_FIND_STR(head,findstr,out) \ HASH_FIND(hh,head,findstr,strlen(findstr),out) #define HASH_ADD_STR(head,strfield,add) \ HASH_ADD(hh,head,strfield,strlen(add->strfield),add) #define HASH_FIND_INT(head,findint,out) \ HASH_FIND(hh,head,findint,sizeof(int),out) #define HASH_ADD_INT(head,intfield,add) \ HASH_ADD(hh,head,intfield,sizeof(int),add) #define HASH_FIND_PTR(head,findptr,out) \ HASH_FIND(hh,head,findptr,sizeof(void *),out) #define HASH_ADD_PTR(head,ptrfield,add) \ HASH_ADD(hh,head,ptrfield,sizeof(void *),add) #define HASH_DEL(head,delptr) \ HASH_DELETE(hh,head,delptr) /* HASH_FSCK checks hash integrity on every add/delete when HASH_DEBUG is defined. * This is for uthash developer only; it compiles away if HASH_DEBUG isn't defined. */ #ifdef HASH_DEBUG #define HASH_OOPS(...) do { fprintf(stderr,__VA_ARGS__); exit(-1); } while (0) #define HASH_FSCK(hh,head) \ do { \ unsigned _bkt_i; \ unsigned _count, _bkt_count; \ char *_prev; \ struct UT_hash_handle *_thh; \ if (head) { \ _count = 0; \ for( _bkt_i = 0; _bkt_i < (head)->hh.tbl->num_buckets; _bkt_i++) { \ _bkt_count = 0; \ _thh = (head)->hh.tbl->buckets[_bkt_i].hh_head; \ _prev = NULL; \ while (_thh) { \ if (_prev != (char*)(_thh->hh_prev)) { \ HASH_OOPS("invalid hh_prev %p, actual %p\n", \ _thh->hh_prev, _prev ); \ } \ _bkt_count++; \ _prev = (char*)(_thh); \ _thh = _thh->hh_next; \ } \ _count += _bkt_count; \ if ((head)->hh.tbl->buckets[_bkt_i].count != _bkt_count) { \ HASH_OOPS("invalid bucket count %d, actual %d\n", \ (head)->hh.tbl->buckets[_bkt_i].count, _bkt_count); \ } \ } \ if (_count != (head)->hh.tbl->num_items) { \ HASH_OOPS("invalid hh item count %d, actual %d\n", \ (head)->hh.tbl->num_items, _count ); \ } \ /* traverse hh in app order; check next/prev integrity, count */ \ _count = 0; \ _prev = NULL; \ _thh = &(head)->hh; \ while (_thh) { \ _count++; \ if (_prev !=(char*)(_thh->prev)) { \ HASH_OOPS("invalid prev %p, actual %p\n", \ _thh->prev, _prev ); \ } \ _prev = (char*)ELMT_FROM_HH((head)->hh.tbl, _thh); \ _thh = ( _thh->next ? (UT_hash_handle*)((char*)(_thh->next) + \ (head)->hh.tbl->hho) : NULL ); \ } \ if (_count != (head)->hh.tbl->num_items) { \ HASH_OOPS("invalid app item count %d, actual %d\n", \ (head)->hh.tbl->num_items, _count ); \ } \ } \ } while (0) #else #define HASH_FSCK(hh,head) #endif /* When compiled with -DHASH_EMIT_KEYS, length-prefixed keys are emitted to * the descriptor to which this macro is defined for tuning the hash function. * The app can #include to get the prototype for write(2). */ #ifdef HASH_EMIT_KEYS #define HASH_EMIT_KEY(hh,head,keyptr,fieldlen) \ do { \ unsigned _klen = fieldlen; \ write(HASH_EMIT_KEYS, &_klen, sizeof(_klen)); \ write(HASH_EMIT_KEYS, keyptr, fieldlen); \ } while (0) #else #define HASH_EMIT_KEY(hh,head,keyptr,fieldlen) #endif /* default to Jenkin's hash unless overridden e.g. DHASH_FUNCTION=HASH_SAX */ #ifdef HASH_FUNCTION #define HASH_FCN HASH_FUNCTION #else #define HASH_FCN HASH_JEN #endif /* The Bernstein hash function, used in Perl prior to v5.6 */ #define HASH_BER(key,keylen,num_bkts,hashv,bkt) \ do { \ unsigned _hb_keylen=keylen; \ char *_hb_key=(char*)(key); \ (hashv) = 0; \ while (_hb_keylen--) { (hashv) = ((hashv) * 33) + *_hb_key++; } \ bkt = (hashv) & (num_bkts-1); \ } while (0) /* SAX/FNV/OAT/JEN hash functions are macro variants of those listed at * http://eternallyconfuzzled.com/tuts/algorithms/jsw_tut_hashing.aspx */ #define HASH_SAX(key,keylen,num_bkts,hashv,bkt) \ do { \ unsigned _sx_i; \ char *_hs_key=(char*)(key); \ hashv = 0; \ for(_sx_i=0; _sx_i < keylen; _sx_i++) \ hashv ^= (hashv << 5) + (hashv >> 2) + _hs_key[_sx_i]; \ bkt = hashv & (num_bkts-1); \ } while (0) #define HASH_FNV(key,keylen,num_bkts,hashv,bkt) \ do { \ unsigned _fn_i; \ char *_hf_key=(char*)(key); \ hashv = 2166136261UL; \ for(_fn_i=0; _fn_i < keylen; _fn_i++) \ hashv = (hashv * 16777619) ^ _hf_key[_fn_i]; \ bkt = hashv & (num_bkts-1); \ } while(0); #define HASH_OAT(key,keylen,num_bkts,hashv,bkt) \ do { \ unsigned _ho_i; \ char *_ho_key=(char*)(key); \ hashv = 0; \ for(_ho_i=0; _ho_i < keylen; _ho_i++) { \ hashv += _ho_key[_ho_i]; \ hashv += (hashv << 10); \ hashv ^= (hashv >> 6); \ } \ hashv += (hashv << 3); \ hashv ^= (hashv >> 11); \ hashv += (hashv << 15); \ bkt = hashv & (num_bkts-1); \ } while(0) #define HASH_JEN_MIX(a,b,c) \ do { \ a -= b; a -= c; a ^= ( c >> 13 ); \ b -= c; b -= a; b ^= ( a << 8 ); \ c -= a; c -= b; c ^= ( b >> 13 ); \ a -= b; a -= c; a ^= ( c >> 12 ); \ b -= c; b -= a; b ^= ( a << 16 ); \ c -= a; c -= b; c ^= ( b >> 5 ); \ a -= b; a -= c; a ^= ( c >> 3 ); \ b -= c; b -= a; b ^= ( a << 10 ); \ c -= a; c -= b; c ^= ( b >> 15 ); \ } while (0) #define HASH_JEN(key,keylen,num_bkts,hashv,bkt) \ do { \ unsigned _hj_i,_hj_j,_hj_k; \ char *_hj_key=(char*)(key); \ hashv = 0xfeedbeef; \ _hj_i = _hj_j = 0x9e3779b9; \ _hj_k = keylen; \ while (_hj_k >= 12) { \ _hj_i += (_hj_key[0] + ( (unsigned)_hj_key[1] << 8 ) \ + ( (unsigned)_hj_key[2] << 16 ) \ + ( (unsigned)_hj_key[3] << 24 ) ); \ _hj_j += (_hj_key[4] + ( (unsigned)_hj_key[5] << 8 ) \ + ( (unsigned)_hj_key[6] << 16 ) \ + ( (unsigned)_hj_key[7] << 24 ) ); \ hashv += (_hj_key[8] + ( (unsigned)_hj_key[9] << 8 ) \ + ( (unsigned)_hj_key[10] << 16 ) \ + ( (unsigned)_hj_key[11] << 24 ) ); \ \ HASH_JEN_MIX(_hj_i, _hj_j, hashv); \ \ _hj_key += 12; \ _hj_k -= 12; \ } \ hashv += keylen; \ switch ( _hj_k ) { \ case 11: hashv += ( (unsigned)_hj_key[10] << 24 ); \ case 10: hashv += ( (unsigned)_hj_key[9] << 16 ); \ case 9: hashv += ( (unsigned)_hj_key[8] << 8 ); \ case 8: _hj_j += ( (unsigned)_hj_key[7] << 24 ); \ case 7: _hj_j += ( (unsigned)_hj_key[6] << 16 ); \ case 6: _hj_j += ( (unsigned)_hj_key[5] << 8 ); \ case 5: _hj_j += _hj_key[4]; \ case 4: _hj_i += ( (unsigned)_hj_key[3] << 24 ); \ case 3: _hj_i += ( (unsigned)_hj_key[2] << 16 ); \ case 2: _hj_i += ( (unsigned)_hj_key[1] << 8 ); \ case 1: _hj_i += _hj_key[0]; \ } \ HASH_JEN_MIX(_hj_i, _hj_j, hashv); \ bkt = hashv & (num_bkts-1); \ } while(0) /* The Paul Hsieh hash function */ #undef get16bits #if (defined(__GNUC__) && defined(__i386__)) || defined(__WATCOMC__) \ || defined(_MSC_VER) || defined (__BORLANDC__) || defined (__TURBOC__) #define get16bits(d) (*((const uint16_t *) (d))) #endif #if !defined (get16bits) #define get16bits(d) ((((uint32_t)(((const uint8_t *)(d))[1])) << 8) \ +(uint32_t)(((const uint8_t *)(d))[0]) ) #endif #define HASH_SFH(key,keylen,num_bkts,hashv,bkt) \ do { \ char *_sfh_key=(char*)(key); \ uint32_t _sfh_tmp, _sfh_len = keylen; \ \ int _sfh_rem = _sfh_len & 3; \ _sfh_len >>= 2; \ hashv = 0xcafebabe; \ \ /* Main loop */ \ for (;_sfh_len > 0; _sfh_len--) { \ hashv += get16bits (_sfh_key); \ _sfh_tmp = (get16bits (_sfh_key+2) << 11) ^ hashv; \ hashv = (hashv << 16) ^ _sfh_tmp; \ _sfh_key += 2*sizeof (uint16_t); \ hashv += hashv >> 11; \ } \ \ /* Handle end cases */ \ switch (_sfh_rem) { \ case 3: hashv += get16bits (_sfh_key); \ hashv ^= hashv << 16; \ hashv ^= _sfh_key[sizeof (uint16_t)] << 18; \ hashv += hashv >> 11; \ break; \ case 2: hashv += get16bits (_sfh_key); \ hashv ^= hashv << 11; \ hashv += hashv >> 17; \ break; \ case 1: hashv += *_sfh_key; \ hashv ^= hashv << 10; \ hashv += hashv >> 1; \ } \ \ /* Force "avalanching" of final 127 bits */ \ hashv ^= hashv << 3; \ hashv += hashv >> 5; \ hashv ^= hashv << 4; \ hashv += hashv >> 17; \ hashv ^= hashv << 25; \ hashv += hashv >> 6; \ bkt = hashv & (num_bkts-1); \ } while(0); #ifdef HASH_USING_NO_STRICT_ALIASING /* The MurmurHash exploits some CPU's (x86,x86_64) tolerance for unaligned reads. * For other types of CPU's (e.g. Sparc) an unaligned read causes a bus error. * MurmurHash uses the faster approach only on CPU's where we know it's safe. * * Note the preprocessor built-in defines can be emitted using: * * gcc -m64 -dM -E - < /dev/null (on gcc) * cc -## a.c (where a.c is a simple test file) (Sun Studio) */ #if (defined(__i386__) || defined(__x86_64__)) #define MUR_GETBLOCK(p,i) p[i] #else /* non intel */ #define MUR_PLUS0_ALIGNED(p) (((unsigned long)p & 0x3) == 0) #define MUR_PLUS1_ALIGNED(p) (((unsigned long)p & 0x3) == 1) #define MUR_PLUS2_ALIGNED(p) (((unsigned long)p & 0x3) == 2) #define MUR_PLUS3_ALIGNED(p) (((unsigned long)p & 0x3) == 3) #define WP(p) ((uint32_t*)((unsigned long)(p) & ~3UL)) #if (defined(__BIG_ENDIAN__) || defined(SPARC) || defined(__ppc__) || defined(__ppc64__)) #define MUR_THREE_ONE(p) ((((*WP(p))&0x00ffffff) << 8) | (((*(WP(p)+1))&0xff000000) >> 24)) #define MUR_TWO_TWO(p) ((((*WP(p))&0x0000ffff) <<16) | (((*(WP(p)+1))&0xffff0000) >> 16)) #define MUR_ONE_THREE(p) ((((*WP(p))&0x000000ff) <<24) | (((*(WP(p)+1))&0xffffff00) >> 8)) #else /* assume little endian non-intel */ #define MUR_THREE_ONE(p) ((((*WP(p))&0xffffff00) >> 8) | (((*(WP(p)+1))&0x000000ff) << 24)) #define MUR_TWO_TWO(p) ((((*WP(p))&0xffff0000) >>16) | (((*(WP(p)+1))&0x0000ffff) << 16)) #define MUR_ONE_THREE(p) ((((*WP(p))&0xff000000) >>24) | (((*(WP(p)+1))&0x00ffffff) << 8)) #endif #define MUR_GETBLOCK(p,i) (MUR_PLUS0_ALIGNED(p) ? ((p)[i]) : \ (MUR_PLUS1_ALIGNED(p) ? MUR_THREE_ONE(p) : \ (MUR_PLUS2_ALIGNED(p) ? MUR_TWO_TWO(p) : \ MUR_ONE_THREE(p)))) #endif #define MUR_ROTL32(x,r) (((x) << (r)) | ((x) >> (32 - (r)))) #define MUR_FMIX(_h) \ do { \ _h ^= _h >> 16; \ _h *= 0x85ebca6b; \ _h ^= _h >> 13; \ _h *= 0xc2b2ae35l; \ _h ^= _h >> 16; \ } while(0) #define HASH_MUR(key,keylen,num_bkts,hashv,bkt) \ do { \ const uint8_t *_mur_data = (const uint8_t*)(key); \ const int _mur_nblocks = (keylen) / 4; \ uint32_t _mur_h1 = 0xf88D5353; \ uint32_t _mur_c1 = 0xcc9e2d51; \ uint32_t _mur_c2 = 0x1b873593; \ const uint32_t *_mur_blocks = (const uint32_t*)(_mur_data+_mur_nblocks*4); \ int _mur_i; \ for(_mur_i = -_mur_nblocks; _mur_i; _mur_i++) { \ uint32_t _mur_k1 = MUR_GETBLOCK(_mur_blocks,_mur_i); \ _mur_k1 *= _mur_c1; \ _mur_k1 = MUR_ROTL32(_mur_k1,15); \ _mur_k1 *= _mur_c2; \ \ _mur_h1 ^= _mur_k1; \ _mur_h1 = MUR_ROTL32(_mur_h1,13); \ _mur_h1 = _mur_h1*5+0xe6546b64; \ } \ const uint8_t *_mur_tail = (const uint8_t*)(_mur_data + _mur_nblocks*4); \ uint32_t _mur_k1=0; \ switch((keylen) & 3) { \ case 3: _mur_k1 ^= _mur_tail[2] << 16; \ case 2: _mur_k1 ^= _mur_tail[1] << 8; \ case 1: _mur_k1 ^= _mur_tail[0]; \ _mur_k1 *= _mur_c1; \ _mur_k1 = MUR_ROTL32(_mur_k1,15); \ _mur_k1 *= _mur_c2; \ _mur_h1 ^= _mur_k1; \ } \ _mur_h1 ^= (keylen); \ MUR_FMIX(_mur_h1); \ hashv = _mur_h1; \ bkt = hashv & (num_bkts-1); \ } while(0) #endif /* HASH_USING_NO_STRICT_ALIASING */ /* key comparison function; return 0 if keys equal */ #define HASH_KEYCMP(a,b,len) memcmp(a,b,len) /* iterate over items in a known bucket to find desired item */ #define HASH_FIND_IN_BKT(tbl,hh,head,keyptr,keylen_in,out) \ do { \ if (head.hh_head) DECLTYPE_ASSIGN(out,ELMT_FROM_HH(tbl,head.hh_head)); \ else out=NULL; \ while (out) { \ if (out->hh.keylen == keylen_in) { \ if ((HASH_KEYCMP(out->hh.key,keyptr,keylen_in)) == 0) break; \ } \ if (out->hh.hh_next) DECLTYPE_ASSIGN(out,ELMT_FROM_HH(tbl,out->hh.hh_next)); \ else out = NULL; \ } \ } while(0) /* add an item to a bucket */ #define HASH_ADD_TO_BKT(head,addhh) \ do { \ head.count++; \ (addhh)->hh_next = head.hh_head; \ (addhh)->hh_prev = NULL; \ if (head.hh_head) { (head).hh_head->hh_prev = (addhh); } \ (head).hh_head=addhh; \ if (head.count >= ((head.expand_mult+1) * HASH_BKT_CAPACITY_THRESH) \ && (addhh)->tbl->noexpand != 1) { \ HASH_EXPAND_BUCKETS((addhh)->tbl); \ } \ } while(0) /* remove an item from a given bucket */ #define HASH_DEL_IN_BKT(hh,head,hh_del) \ (head).count--; \ if ((head).hh_head == hh_del) { \ (head).hh_head = hh_del->hh_next; \ } \ if (hh_del->hh_prev) { \ hh_del->hh_prev->hh_next = hh_del->hh_next; \ } \ if (hh_del->hh_next) { \ hh_del->hh_next->hh_prev = hh_del->hh_prev; \ } /* Bucket expansion has the effect of doubling the number of buckets * and redistributing the items into the new buckets. Ideally the * items will distribute more or less evenly into the new buckets * (the extent to which this is true is a measure of the quality of * the hash function as it applies to the key domain). * * With the items distributed into more buckets, the chain length * (item count) in each bucket is reduced. Thus by expanding buckets * the hash keeps a bound on the chain length. This bounded chain * length is the essence of how a hash provides constant time lookup. * * The calculation of tbl->ideal_chain_maxlen below deserves some * explanation. First, keep in mind that we're calculating the ideal * maximum chain length based on the *new* (doubled) bucket count. * In fractions this is just n/b (n=number of items,b=new num buckets). * Since the ideal chain length is an integer, we want to calculate * ceil(n/b). We don't depend on floating point arithmetic in this * hash, so to calculate ceil(n/b) with integers we could write * * ceil(n/b) = (n/b) + ((n%b)?1:0) * * and in fact a previous version of this hash did just that. * But now we have improved things a bit by recognizing that b is * always a power of two. We keep its base 2 log handy (call it lb), * so now we can write this with a bit shift and logical AND: * * ceil(n/b) = (n>>lb) + ( (n & (b-1)) ? 1:0) * */ #define HASH_EXPAND_BUCKETS(tbl) \ do { \ unsigned _he_bkt; \ unsigned _he_bkt_i; \ struct UT_hash_handle *_he_thh, *_he_hh_nxt; \ UT_hash_bucket *_he_new_buckets, *_he_newbkt; \ _he_new_buckets = (UT_hash_bucket*)uthash_malloc( \ 2 * tbl->num_buckets * sizeof(struct UT_hash_bucket)); \ if (!_he_new_buckets) { uthash_fatal( "out of memory"); } \ memset(_he_new_buckets, 0, \ 2 * tbl->num_buckets * sizeof(struct UT_hash_bucket)); \ tbl->ideal_chain_maxlen = \ (tbl->num_items >> (tbl->log2_num_buckets+1)) + \ ((tbl->num_items & ((tbl->num_buckets*2)-1)) ? 1 : 0); \ tbl->nonideal_items = 0; \ for(_he_bkt_i = 0; _he_bkt_i < tbl->num_buckets; _he_bkt_i++) \ { \ _he_thh = tbl->buckets[ _he_bkt_i ].hh_head; \ while (_he_thh) { \ _he_hh_nxt = _he_thh->hh_next; \ HASH_TO_BKT( _he_thh->hashv, tbl->num_buckets*2, _he_bkt); \ _he_newbkt = &(_he_new_buckets[ _he_bkt ]); \ if (++(_he_newbkt->count) > tbl->ideal_chain_maxlen) { \ tbl->nonideal_items++; \ _he_newbkt->expand_mult = _he_newbkt->count / \ tbl->ideal_chain_maxlen; \ } \ _he_thh->hh_prev = NULL; \ _he_thh->hh_next = _he_newbkt->hh_head; \ if (_he_newbkt->hh_head) _he_newbkt->hh_head->hh_prev = \ _he_thh; \ _he_newbkt->hh_head = _he_thh; \ _he_thh = _he_hh_nxt; \ } \ } \ uthash_free( tbl->buckets, tbl->num_buckets*sizeof(struct UT_hash_bucket) ); \ tbl->num_buckets *= 2; \ tbl->log2_num_buckets++; \ tbl->buckets = _he_new_buckets; \ tbl->ineff_expands = (tbl->nonideal_items > (tbl->num_items >> 1)) ? \ (tbl->ineff_expands+1) : 0; \ if (tbl->ineff_expands > 1) { \ tbl->noexpand=1; \ uthash_noexpand_fyi(tbl); \ } \ uthash_expand_fyi(tbl); \ } while(0) /* This is an adaptation of Simon Tatham's O(n log(n)) mergesort */ /* Note that HASH_SORT assumes the hash handle name to be hh. * HASH_SRT was added to allow the hash handle name to be passed in. */ #define HASH_SORT(head,cmpfcn) HASH_SRT(hh,head,cmpfcn) #define HASH_SRT(hh,head,cmpfcn) \ do { \ unsigned _hs_i; \ unsigned _hs_looping,_hs_nmerges,_hs_insize,_hs_psize,_hs_qsize; \ struct UT_hash_handle *_hs_p, *_hs_q, *_hs_e, *_hs_list, *_hs_tail; \ if (head) { \ _hs_insize = 1; \ _hs_looping = 1; \ _hs_list = &((head)->hh); \ while (_hs_looping) { \ _hs_p = _hs_list; \ _hs_list = NULL; \ _hs_tail = NULL; \ _hs_nmerges = 0; \ while (_hs_p) { \ _hs_nmerges++; \ _hs_q = _hs_p; \ _hs_psize = 0; \ for ( _hs_i = 0; _hs_i < _hs_insize; _hs_i++ ) { \ _hs_psize++; \ _hs_q = (UT_hash_handle*)((_hs_q->next) ? \ ((void*)((char*)(_hs_q->next) + \ (head)->hh.tbl->hho)) : NULL); \ if (! (_hs_q) ) break; \ } \ _hs_qsize = _hs_insize; \ while ((_hs_psize > 0) || ((_hs_qsize > 0) && _hs_q )) { \ if (_hs_psize == 0) { \ _hs_e = _hs_q; \ _hs_q = (UT_hash_handle*)((_hs_q->next) ? \ ((void*)((char*)(_hs_q->next) + \ (head)->hh.tbl->hho)) : NULL); \ _hs_qsize--; \ } else if ( (_hs_qsize == 0) || !(_hs_q) ) { \ _hs_e = _hs_p; \ _hs_p = (UT_hash_handle*)((_hs_p->next) ? \ ((void*)((char*)(_hs_p->next) + \ (head)->hh.tbl->hho)) : NULL); \ _hs_psize--; \ } else if (( \ cmpfcn(DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl,_hs_p)), \ DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl,_hs_q))) \ ) <= 0) { \ _hs_e = _hs_p; \ _hs_p = (UT_hash_handle*)((_hs_p->next) ? \ ((void*)((char*)(_hs_p->next) + \ (head)->hh.tbl->hho)) : NULL); \ _hs_psize--; \ } else { \ _hs_e = _hs_q; \ _hs_q = (UT_hash_handle*)((_hs_q->next) ? \ ((void*)((char*)(_hs_q->next) + \ (head)->hh.tbl->hho)) : NULL); \ _hs_qsize--; \ } \ if ( _hs_tail ) { \ _hs_tail->next = ((_hs_e) ? \ ELMT_FROM_HH((head)->hh.tbl,_hs_e) : NULL); \ } else { \ _hs_list = _hs_e; \ } \ _hs_e->prev = ((_hs_tail) ? \ ELMT_FROM_HH((head)->hh.tbl,_hs_tail) : NULL); \ _hs_tail = _hs_e; \ } \ _hs_p = _hs_q; \ } \ _hs_tail->next = NULL; \ if ( _hs_nmerges <= 1 ) { \ _hs_looping=0; \ (head)->hh.tbl->tail = _hs_tail; \ DECLTYPE_ASSIGN(head,ELMT_FROM_HH((head)->hh.tbl, _hs_list)); \ } \ _hs_insize *= 2; \ } \ HASH_FSCK(hh,head); \ } \ } while (0) /* This function selects items from one hash into another hash. * The end result is that the selected items have dual presence * in both hashes. There is no copy of the items made; rather * they are added into the new hash through a secondary hash * hash handle that must be present in the structure. */ #define HASH_SELECT(hh_dst, dst, hh_src, src, cond) \ do { \ unsigned _src_bkt, _dst_bkt; \ void *_last_elt=NULL, *_elt; \ UT_hash_handle *_src_hh, *_dst_hh, *_last_elt_hh=NULL; \ ptrdiff_t _dst_hho = ((char*)(&(dst)->hh_dst) - (char*)(dst)); \ if (src) { \ for(_src_bkt=0; _src_bkt < (src)->hh_src.tbl->num_buckets; _src_bkt++) { \ for(_src_hh = (src)->hh_src.tbl->buckets[_src_bkt].hh_head; \ _src_hh; \ _src_hh = _src_hh->hh_next) { \ _elt = ELMT_FROM_HH((src)->hh_src.tbl, _src_hh); \ if (cond(_elt)) { \ _dst_hh = (UT_hash_handle*)(((char*)_elt) + _dst_hho); \ _dst_hh->key = _src_hh->key; \ _dst_hh->keylen = _src_hh->keylen; \ _dst_hh->hashv = _src_hh->hashv; \ _dst_hh->prev = _last_elt; \ _dst_hh->next = NULL; \ if (_last_elt_hh) { _last_elt_hh->next = _elt; } \ if (!dst) { \ DECLTYPE_ASSIGN(dst,_elt); \ HASH_MAKE_TABLE(hh_dst,dst); \ } else { \ _dst_hh->tbl = (dst)->hh_dst.tbl; \ } \ HASH_TO_BKT(_dst_hh->hashv, _dst_hh->tbl->num_buckets, _dst_bkt); \ HASH_ADD_TO_BKT(_dst_hh->tbl->buckets[_dst_bkt],_dst_hh); \ (dst)->hh_dst.tbl->num_items++; \ _last_elt = _elt; \ _last_elt_hh = _dst_hh; \ } \ } \ } \ } \ HASH_FSCK(hh_dst,dst); \ } while (0) #define HASH_CLEAR(hh,head) \ do { \ if (head) { \ uthash_free((head)->hh.tbl->buckets, \ (head)->hh.tbl->num_buckets*sizeof(struct UT_hash_bucket)); \ HASH_BLOOM_FREE((head)->hh.tbl); \ uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \ (head)=NULL; \ } \ } while(0) #ifdef NO_DECLTYPE #define HASH_ITER(hh,head,el,tmp) \ for((el)=(head), (*(char**)(&(tmp)))=(char*)((head)?(head)->hh.next:NULL); \ el; (el)=(tmp),(*(char**)(&(tmp)))=(char*)((tmp)?(tmp)->hh.next:NULL)) #else #define HASH_ITER(hh,head,el,tmp) \ for((el)=(head),(tmp)=DECLTYPE(el)((head)?(head)->hh.next:NULL); \ el; (el)=(tmp),(tmp)=DECLTYPE(el)((tmp)?(tmp)->hh.next:NULL)) #endif /* obtain a count of items in the hash */ #define HASH_COUNT(head) HASH_CNT(hh,head) #define HASH_CNT(hh,head) ((head)?((head)->hh.tbl->num_items):0) typedef struct UT_hash_bucket { struct UT_hash_handle *hh_head; unsigned count; /* expand_mult is normally set to 0. In this situation, the max chain length * threshold is enforced at its default value, HASH_BKT_CAPACITY_THRESH. (If * the bucket's chain exceeds this length, bucket expansion is triggered). * However, setting expand_mult to a non-zero value delays bucket expansion * (that would be triggered by additions to this particular bucket) * until its chain length reaches a *multiple* of HASH_BKT_CAPACITY_THRESH. * (The multiplier is simply expand_mult+1). The whole idea of this * multiplier is to reduce bucket expansions, since they are expensive, in * situations where we know that a particular bucket tends to be overused. * It is better to let its chain length grow to a longer yet-still-bounded * value, than to do an O(n) bucket expansion too often. */ unsigned expand_mult; } UT_hash_bucket; /* random signature used only to find hash tables in external analysis */ #define HASH_SIGNATURE 0xa0111fe1 #define HASH_BLOOM_SIGNATURE 0xb12220f2 typedef struct UT_hash_table { UT_hash_bucket *buckets; unsigned num_buckets, log2_num_buckets; unsigned num_items; struct UT_hash_handle *tail; /* tail hh in app order, for fast append */ ptrdiff_t hho; /* hash handle offset (byte pos of hash handle in element */ /* in an ideal situation (all buckets used equally), no bucket would have * more than ceil(#items/#buckets) items. that's the ideal chain length. */ unsigned ideal_chain_maxlen; /* nonideal_items is the number of items in the hash whose chain position * exceeds the ideal chain maxlen. these items pay the penalty for an uneven * hash distribution; reaching them in a chain traversal takes >ideal steps */ unsigned nonideal_items; /* ineffective expands occur when a bucket doubling was performed, but * afterward, more than half the items in the hash had nonideal chain * positions. If this happens on two consecutive expansions we inhibit any * further expansion, as it's not helping; this happens when the hash * function isn't a good fit for the key domain. When expansion is inhibited * the hash will still work, albeit no longer in constant time. */ unsigned ineff_expands, noexpand; uint32_t signature; /* used only to find hash tables in external analysis */ #ifdef HASH_BLOOM uint32_t bloom_sig; /* used only to test bloom exists in external analysis */ uint8_t *bloom_bv; char bloom_nbits; #endif } UT_hash_table; typedef struct UT_hash_handle { struct UT_hash_table *tbl; void *prev; /* prev element in app order */ void *next; /* next element in app order */ struct UT_hash_handle *hh_prev; /* previous hh in bucket order */ struct UT_hash_handle *hh_next; /* next hh in bucket order */ void *key; /* ptr to enclosing struct's key */ unsigned keylen; /* enclosing struct's key len */ unsigned hashv; /* result of hash-fcn(key) */ } UT_hash_handle; #endif /* UTHASH_H */ BoolNet/src/symbolic_network.h0000644000176200001440000001162612733234746016167 0ustar liggesusers#ifndef SYMBOLIC_SIMULATOR_H #define SYMBOLIC_SIMULATOR_H #include #include #include "boolean_network.h" #define FORMULA_ATOM 0 #define FORMULA_OPERATOR 1 #define FORMULA_CONSTANT 2 #define OPERATOR_AND 0 #define OPERATOR_OR 1 #define OPERATOR_MAJ 2 #define OPERATOR_SUMIS 3 #define OPERATOR_SUMGT 4 #define OPERATOR_SUMLT 5 #define OPERATOR_TIMEIS 6 #define OPERATOR_TIMEGT 7 #define OPERATOR_TIMELT 8 #define MODE_EXHAUSTIVE 0 #define MODE_SUPPLIED 1 #define MODE_RANDOM 2 #define HASH_UNSET ~0 /** * "Base class" for Boolean Formulae */ typedef struct { // The formula type which allows // for casting to the corresponding "derived" type unsigned char type; // Is the formula negated or not? bool negated; } BooleanFormula; /** * "Derived class" for operators */ typedef struct { // here: type = FORMULA_OPERATOR unsigned char type; bool negated; // The operator type unsigned char operator; // The number of operands unsigned int numOperands; // The operands BooleanFormula ** operands; } BooleanOperator; /** * "Derived class" for literals */ typedef struct { // here: type = FORMULA_ATOM unsigned char type; bool negated; // The index of the variable that this object represents int literal; // The temporal difference unsigned int time; } BooleanAtom; /** * "Derived class" for constants */ typedef struct { // here: type = FORMULA_CONSTANT unsigned char type; bool negated; // The value of the constant int value; } Constant; /** * A structure holding a symbolic network * with all its network trees */ typedef struct { // here: type = SYMBOLIC_BOOLEAN_NETWORK unsigned char type; // The number of genes in the network unsigned int numGenes; // A vector specifying whether genes are fixed (0/1) or not (-1) int * fixedGenes; // The formulae representing the transition functions BooleanFormula ** interactions; // The formulae representing the transition functions in CNF // (for SAT-based attractor search) // Usually, this is a single formula per gene. // In the presence of time-dependent predicates, there are // + 1 formulae per gene. BooleanFormula *** cnfInteractions; // A vector specifying the maximum delay for each gene unsigned int * stateSizes; // The sum of all elements in stateSizes unsigned int totalStateSize; // The point of time at which attractor search can start, // as temporal predicates do not change any more unsigned int attractorSearchStartTime; // A vector specifying the indices in the state vector // at which the histories for each of the genes start unsigned int * stateOffsets; // A vector marking each entry in the state vector as fixed or not, // corresponding to the genes it belongs to int * stateFixed; } SymbolicBooleanNetwork; /** * A structure holding a state for temporal network simulation */ typedef struct { // The index of the start state to which this state belongs unsigned long long startState; // The current time step unsigned int timeStep; // The state vector (also containing previous states for certain genes if required) unsigned char state[]; } TemporalState; extern void freeSymbolicNetwork(SymbolicBooleanNetwork * network); static inline BooleanOperator * allocOperator(unsigned int operator, bool negated, unsigned int numOperands, BooleanFormula ** operands) { BooleanOperator * res = calloc(1, sizeof(BooleanOperator)); res->negated = negated; res->type = FORMULA_OPERATOR; res->operator = operator; res->numOperands = numOperands; if (operands == NULL) res->operands = calloc(numOperands, sizeof(BooleanFormula *)); else res->operands = operands; return res; } static inline BooleanAtom * allocAtom(int literal, unsigned int time, bool negated) { BooleanAtom * res = calloc(1, sizeof(BooleanAtom)); res->type = FORMULA_ATOM; res->negated = negated; res->literal = literal; res->time = time; return res; } static inline Constant * allocConstant(int value, bool negated) { Constant * res = calloc(1, sizeof(Constant)); res->type = FORMULA_CONSTANT; res->negated = negated; res->value = value; return res; } /** * Free the expression tree */ extern void freeFormula(BooleanFormula * formula); /** * Free the internal network structure */ extern void freeSymbolicNetwork(SymbolicBooleanNetwork * network); extern BooleanFormula * copyFormula(BooleanFormula * formula, bool negate, unsigned int timeOffset); /** * Evaluate an expression tree on the previous state . * is an array describing where the history of the i-th gene starts. * is the total number of genes in the network. * Returns a logical value resulting from the evaluation. */ extern unsigned char evaluate(BooleanFormula * formula, TemporalState * state, unsigned int * stateOffsets, const unsigned int numGenes); extern BooleanFormula * convertToCNF(BooleanFormula * formula, bool negate, unsigned int time); #endif BoolNet/src/sat_search.c0000644000176200001440000006256712733234746014716 0ustar liggesusers#include "sat_search.h" #include #include #include #include "attractor_info.h" #include "common.h" #include "random.h" // Activate this switch to use the Lingeling solver instead of PicoSAT // - requires lglib.c and lglib.h to be present in the package. // Make sure to respect Lingeling's license terms! //#define USE_LINGELING #ifdef USE_LINGELING #include "lglib.h" #define sat_add_literal(solver, lit) lgladd(solver, lit) #define sat_deref(solver, lit) lglderef(solver, lit) #define sat_solve(solver) lglsat(solver) #define sat_free(solver) lglrelease(solver) #define SATISFIABLE LGL_SATISFIABLE /** * Custom interrupt function to be used with Lingeling. * The function calls R's user interrupt check. */ void SATInterrupt(void * external_state) { R_CheckUserInterrupt(); } typedef LGL Solver; #else #include "picosat.h" #define sat_add_literal(solver, lit) picosat_add(solver, lit) #define sat_deref(solver, lit) picosat_deref(solver, lit) #define sat_solve(solver) picosat_sat(solver, -1) #define sat_free(solver) picosat_reset(solver) #define SATISFIABLE PICOSAT_SATISFIABLE typedef PicoSAT Solver; /** * Custom interrupt function to be used with PicoSAT. * The function calls R's user interrupt check. */ int SATInterrupt(void * external_state) { R_CheckUserInterrupt(); return 0; } #endif #include "symbolic_network.h" /** * Custom memory allocator to be used with PicoSAT. * The allocator uses the internal memory map of BoolNet */ void * SATAlloc(void* mem, size_t sz) { return CALLOC(sz, 1); } /** * Custom memory deallocator to be used with PicoSAT/Lingeling. * The deallocator uses the internal memory map of BoolNet */ void SATDealloc(void* mem, void * ptr, size_t sz) { FREE(ptr); } /** * Custom memory resize function to be used with PicoSAT/Lingeling. * The function uses the internal memory map of BoolNet */ void * SATRealloc(void* mem, void * ptr, size_t old, size_t new) { return REALLOC(ptr, new); } #ifdef USE_LINGELING /** * Initialize the Lingeling SAT solver using appropriate memory handlers * and interrupt handlers. */ Solver * initSATSolver() { Solver * sat = lglminit(NULL, &SATAlloc, &SATRealloc, &SATDealloc); lglonabort(sat, NULL, &SATInterrupt); lglsetopt(sat, "elmfull", 1); lglsetopt(sat, "elmschedprod", 1); lglsetopt(sat, "seed", intrand(~0))); return sat; } #else /** * Initialize the PicoSAT SAT solver using appropriate memory handlers * and interrupt handlers. */ Solver * initSATSolver() { Solver * sat = picosat_minit(NULL, &SATAlloc, &SATRealloc, &SATDealloc); picosat_set_interrupt(sat, NULL, &SATInterrupt); picosat_set_seed(sat, intrand(~0)); return sat; } #endif /** * Recursively encode a symbolic formula for the SAT solver. This function expects that * is already in CNF, being either a constant, an atom, or a conjunction * comprising only constants, atoms or flat disjunctions. * is the network to which the formula belongs. * is the index of the gene that is currently encoded. * is the index of the state for which the formula should be encoded. * is the SAT solver. */ void encodeFormula(SymbolicBooleanNetwork * network, BooleanFormula * formula, int geneIndex, int stateIndex, Solver * sat) { assert(formula->type != FORMULA_CONSTANT); // if (formula->type == FORMULA_CONSTANT) // { // Constant * constant = (Constant *) formula; // if ((constant->value == 1 && !constant->negated) // || (constant->value == 0 && constant->negated)) // { // // add tautology // picosat_add(sat, -(network->numGenes * stateIndex + geneIndex + 1)); // picosat_add(sat, network->numGenes * stateIndex + geneIndex + 1); //// picosat_assume(sat, network->numGenes * stateIndex + geneIndex + 1); // } // else // { //// picosat_assume(sat, -(network->numGenes * stateIndex + geneIndex + 1)); // } // } // else if (formula->type == FORMULA_ATOM) { BooleanAtom * atom = (BooleanAtom *) formula; // add the atom directly if (atom->negated) { sat_add_literal(sat, -(network->numGenes * (stateIndex + atom->time) + atom->literal + 1)); } else { sat_add_literal(sat, network->numGenes * (stateIndex + atom->time) + atom->literal + 1); } } else if (formula->type == FORMULA_OPERATOR) { BooleanOperator * operator = (BooleanOperator *) formula; int i; for (i = 0; i < operator->numOperands; ++i) { // recursively encode operands encodeFormula(network, operator->operands[i], geneIndex, stateIndex, sat); if (operator->operator == OPERATOR_AND) // if this is the outer conjunction, each inner element must be a clause // and thus be terminated by a 0 { sat_add_literal(sat, 0); } } } } /** * Add CNF clauses that represent the th-last state of the network * in the chain to the SAT solver . * specifies which of the formulae available for each gene should * be utilized for the state (usually the first, but there may be more than one * formula if the network comprises time-dependent predicates). */ static inline void addState_SAT(BooleanNetwork * network, Solver * sat, int stateIndex, unsigned int formulaIndex) { unsigned int i, j, k; for (i = 0; i < network->numGenes; ++i) { if (network->fixedGenes[i] != -1) // fixed gene => add a clause with a constant 1 or 0 for that gene { if (network->fixedGenes[i] == 0) sat_add_literal(sat, -(network->numGenes * stateIndex + i + 1)); else sat_add_literal(sat, network->numGenes * stateIndex + i + 1); sat_add_literal(sat, 0); } else // non-fixed gene { if (network->type == TRUTHTABLE_BOOLEAN_NETWORK) // network in truth table representation => construct CNF from truth table { TruthTableBooleanNetwork * ttNetwork = (TruthTableBooleanNetwork *) network; unsigned int numInputs = ttNetwork->inputGenePositions[i + 1] - ttNetwork->inputGenePositions[i]; unsigned int funcSize = ttNetwork->transitionFunctionPositions[i + 1] - ttNetwork->transitionFunctionPositions[i]; // construct clauses for equivalence relations by "doubling" the truth table of // the transition function (corresponding to inactive and active output) for (j = 0; j < funcSize; ++j) { // in the first half, the target gene is inactive (truth table result is negated) // input genes must be negated for CNF if (ttNetwork->transitionFunctions[ttNetwork->transitionFunctionPositions[i] + j]) { sat_add_literal(sat, network->numGenes * stateIndex + i + 1); for (k = 0; k < numInputs; ++k) { int varIndex = network->numGenes * (stateIndex + 1) + ttNetwork->inputGenes[ttNetwork->inputGenePositions[i] + k]; if (((j >> (numInputs - k - 1)) & 1) != 0) sat_add_literal(sat, -varIndex); else sat_add_literal(sat, varIndex); } sat_add_literal(sat, 0); } else { // in the second half, the target gene is active (unchanged truth table result) // input genes must be negated for CNF sat_add_literal(sat, -(network->numGenes * stateIndex + i + 1)); for (k = 0; k < numInputs; ++k) { int varIndex = network->numGenes * (stateIndex + 1) + ttNetwork->inputGenes[ttNetwork->inputGenePositions[i] + k]; if (((j >> (numInputs - k - 1)) & 1) != 0) sat_add_literal(sat, -varIndex); else sat_add_literal(sat, varIndex); } sat_add_literal(sat, 0); } } } else if (network->type == SYMBOLIC_BOOLEAN_NETWORK) // network in symbolic representation => use CNF representation of the formulae // to generate the corresponding SAT solver clauses { SymbolicBooleanNetwork * symNetwork = (SymbolicBooleanNetwork *) network; // recursively encode the formula encodeFormula(symNetwork, symNetwork->cnfInteractions[i][formulaIndex], i, stateIndex, sat); if (symNetwork->cnfInteractions[i][formulaIndex]->type != FORMULA_OPERATOR || ((BooleanOperator *) symNetwork->cnfInteractions[i][formulaIndex])->operator != OPERATOR_AND) // if the top-level formula is not an AND operator, // the result is a single clause that needs to be terminated here { sat_add_literal(sat, 0); } } } } } /** * Add clauses to the SAT solver to specify that the -th last state and * the -th last state of the chain should be equal. * is the Boolean network from which the transition functions come. */ static inline void addEqualityCondition_SAT(Solver * sat, BooleanNetwork * network, unsigned int state1, unsigned int state2) { unsigned int i, j; for (i = 0; i < network->numGenes; ++i) // iterate over genes { unsigned int historySize = 1; if (network->type == SYMBOLIC_BOOLEAN_NETWORK) // determine history size historySize = ((SymbolicBooleanNetwork *) network)->stateSizes[i]; // for temporal networks, the history must also be equal for the two states for (j = 0; j < historySize; ++j) { int gene1 = network->numGenes * (state1 + j) + i + 1; int gene2 = network->numGenes * (state2 + j) + i + 1; // equivalence consists of two clauses: (!A | B) & (A | !B) sat_add_literal(sat, gene1); sat_add_literal(sat, -gene2); sat_add_literal(sat, 0); sat_add_literal(sat, -gene1); sat_add_literal(sat, gene2); sat_add_literal(sat, 0); } } } /** * Exclude an identified attractor from the SAT search by adding its complement to the formula. * is a pointer to the SAT solver. * is the employed Boolean network. * is a structure holding the attractor to be excluded. */ static inline void excludeAttractor_SAT(Solver * sat, BooleanNetwork * network, pAttractor attractor) { unsigned int l, i, j; for (l = 0; l < attractor->length; ++l) // iterate over attractor states { // add the complement of the current state as a clause // (for temporal networks, this must also include the state history) for (i = 0; i < network->numGenes; ++i) // iterate over genes { unsigned int historySize = 1; if (network->type == SYMBOLIC_BOOLEAN_NETWORK) // determine history size of the current gene historySize = ((SymbolicBooleanNetwork *) network)->stateSizes[i]; for (j = 0; j < historySize; ++j) { // decode value of the gene bool val = GET_BIT_ARRAY( attractor->involvedStates[((attractor->length + l - j) % attractor->length) * attractor->numElementsPerEntry], i); // add its complement to the clause (at the last state of the chain) if (val) sat_add_literal(sat, -(j * network->numGenes + i + 1)); else sat_add_literal(sat, j * network->numGenes + i + 1); } } // finish clause for the state sat_add_literal(sat, 0); } } /** * If a temporal network contains time-dependent predicates, this function adds a sequence of states * traversing the instable phase of the network to the beginning of the chain in . This is required * to ensure that only reachable start states are used for the attractor search. * is index of the current beginning of the chain. */ static inline void addBurnInPhase(SymbolicBooleanNetwork * network, Solver * sat, int startStateIndex) { if (network->attractorSearchStartTime > 0) // only do this if there is a time-dependent predicate { unsigned int j; for (j = 1; j <= network->attractorSearchStartTime; ++j) // iterate over the number of steps required for the burn-in and add states // utilizing the formulae that describe the behaviour at the corresponding time step addState_SAT((BooleanNetwork *) network, sat, startStateIndex + j, j); } } /** * Determine whether the SAT solver found an attractor. If yes, the attractor is * encoded in a Attractor structure and returned, and its states are excluded from future * SAT searches. * is the employed Boolean network. * is the length of the attractor if already known, or -1 if the length * should be determined by the function. * is the total length of the state chain (which may be more than the attractor size). * Returns a pointer to an Attractor structure holding the attractor, or NULL if no attractor * was found in the state chain. */ static inline pAttractor getNextAttractor_SAT(Solver * sat, BooleanNetwork * network, int attractorLength, unsigned int maxLength) { int i, j; if (attractorLength <= 0) // determine length if not already known { bool identical = true; for (attractorLength = 1; attractorLength <= maxLength; ++attractorLength) // traverse the states from the next-to-first to the last to find a duplicate of the // first state (chain is reversed => first state is a potential attractor state) { identical = true; for (i = 0; i < network->numGenes; ++i) // compare the values of each gene in the current state and the first state { unsigned int historySize = 1; if (network->type == SYMBOLIC_BOOLEAN_NETWORK) // determine history size of current gene historySize = ((SymbolicBooleanNetwork *) network)->stateSizes[i]; for (j = 0; j < historySize; ++j) // in temporal networks, do not only compare the current state, // but also its history to make sure this is really an attractor { if (sat_deref(sat, (attractorLength + j) * network->numGenes + i + 1) != sat_deref(sat, j * network->numGenes + i + 1)) { identical = false; break; } } if (!identical) break; } if (identical) break; } if (!identical) // none of the states was identical to the last one => no attractor in the chain return NULL; } // An attractor was found => build Attractor structure pAttractor res = CALLOC(1, sizeof(Attractor)); if ((network->numGenes % BITS_PER_BLOCK_32) == 0) res->numElementsPerEntry = network->numGenes / BITS_PER_BLOCK_32; else res->numElementsPerEntry = network->numGenes / BITS_PER_BLOCK_32 + 1; res->length = attractorLength; res->involvedStates = (unsigned int *) CALLOC( res->length * res->numElementsPerEntry, sizeof(unsigned int)); for (attractorLength = 0; attractorLength < res->length; ++attractorLength) // iterate over attractor states { for (i = 0; i < network->numGenes; ++i) // iterate over genes { // determine gene value and set the corresponding entry in the state array if (sat_deref(sat, (res->length - attractorLength - 1) * network->numGenes + i + 1) == 1) SET_BIT_ARRAY( res->involvedStates[attractorLength * res->numElementsPerEntry], i); } } // exclude the found attractor from future SAT searches excludeAttractor_SAT(sat, network, res); return res; } /** * Determine all attractors having at most states in the network , * and return them in an AttractorInfo structure. */ pAttractorInfo getAttractors_SAT_maxLength(BooleanNetwork * network, unsigned int maxLength) { if (network->type == SYMBOLIC_BOOLEAN_NETWORK && ((SymbolicBooleanNetwork *) network)->attractorSearchStartTime > 0) { Rf_error( "SAT-based attractor search in networks with time-dependent predicates is only possible without attractor length restrictions!"); } pAttractorInfo res = allocAttractorInfo(0, network->numGenes); // add dummy terminator node res->attractorList = (pAttractor) CALLOC(1, sizeof(Attractor)); unsigned int i, j, length; unsigned int maxDelay = 1; if (network->type == SYMBOLIC_BOOLEAN_NETWORK) // determine maximum time delay in the network { for (j = 0; j < network->numGenes; ++j) { unsigned int stateSize = ((SymbolicBooleanNetwork *) network)->stateSizes[j]; if (stateSize > maxDelay) { maxDelay = stateSize; } } } for (length = 1; length <= maxLength; ++length) // iterate over possible attractor lengths { // initialize SAT solver Solver * sat = initSATSolver(); pAttractor attractor = res->attractorList; while (attractor->next != NULL) // exclude all previously identified attractors from the search { excludeAttractor_SAT(sat, network, attractor); attractor = attractor->next; } // create a chain of +1 states for (i = 0; i <= length + maxDelay; ++i) { addState_SAT(network, sat, i, 0); } #ifdef USE_LINGELING for (i = 0; i < network->numGenes; ++i) // freeze the first state(s) of the chain: // the variables of the first state are used // to exclude identified attractors from future searches // (multiple states for temporal Boolean networks with delays >1) { unsigned int stateSize = 1; if (network->type == SYMBOLIC_BOOLEAN_NETWORK) // determine history size for current gene stateSize = ((SymbolicBooleanNetwork *) network)->stateSizes[i]; for (j = 0; j < stateSize; ++j) { lglfreeze(sat, j * network->numGenes + i + 1); } } #endif // specify that the first and the last state of the chain // should be identical addEqualityCondition_SAT(sat, network, 0, length); //lglprint(lgl, stdout); // call the SAT solver int satisfiable = sat_solve(sat); while (satisfiable == SATISFIABLE) // as long as the formula is satisfiable, there are more attractors // of the specified length { // encode the attractor in an Attractor structure, // prepend it to the result list, and exclude it from the search pAttractor attr = getNextAttractor_SAT(sat, network, length, 0); ++res->numAttractors; attr->next = res->attractorList; res->attractorList = attr; // try to find further solutions satisfiable = sat_solve(sat); } // free SAT solver sat_free(sat); } return res; } /** * Identify all attractors using a SAT-based algorithm adapted from Dubrova et al., 2011. * Here, is the network whose attractors are identified. * If > 0, the first step of the algorithm is to identify and exclude * all attractors of length 1 to . * specifies the way the chain is extended: * EXTENSION_EXPONENTIAL corresponds to the exponential scheme by Dubrova et al. * EXTENSION_LINEAR corresponds to linearly increasing the length * EXTENSION_LINEAR_ADAPT corresponds to a linear increase whose step width is * increased over the iterations * EXTENSION_MIXED corresponds to a mixture of linear and exponential increase, * where the chain length is doubled after 5 linear increases. * Returns an AttractorInfo structure comprising all attractors of the network. */ pAttractorInfo getAttractors_SAT_exhaustive(BooleanNetwork * network, unsigned int initialCycleSearchLength, unsigned int extensionMode) { // initialize SAT solver Solver * sat = initSATSolver(); int i, j, maxDelay = 1; if (network->type == SYMBOLIC_BOOLEAN_NETWORK) // determine maximum time delay in the network { for (j = 0; j < network->numGenes; ++j) { unsigned int stateSize = ((SymbolicBooleanNetwork *) network)->stateSizes[j]; if (stateSize > maxDelay) { maxDelay = stateSize; } } } // check if the network comprises time-dependent predicates -- // for such networks, the chain cannot be extended and must be rebuilt // each time a longer chain is needed bool isTimeDependent = (network->type == SYMBOLIC_BOOLEAN_NETWORK && ((SymbolicBooleanNetwork *) network)->attractorSearchStartTime > 0); if (isTimeDependent) // for time-dependent predicates, length-based attractor search is not supported { initialCycleSearchLength = 0; } pAttractorInfo res; if (initialCycleSearchLength != 0) // first determine attractors by explicitly searching for cycles // if a cycle length is specified { //unsigned int maxAttractorLength = 2000/network->numGenes; //if (maxAttractorLength == 0) // maxAttractorLength = 1; //else //if (maxAttractorLength > 10) // maxAttractorLength = 10; res = getAttractors_SAT_maxLength(network, initialCycleSearchLength); } else // initialize empty attractor list { res = allocAttractorInfo(0, network->numGenes); // add dummy terminator node res->attractorList = (pAttractor) CALLOC(1, sizeof(Attractor)); } // construct initial chain of maximum length 100 int numStates = network->numGenes > 100 ? 100 : network->numGenes; for (i = 0; i < numStates; ++i) { addState_SAT(network, sat, i, 0); } //picosat_print(sat, stdout); if (initialCycleSearchLength != 0) // if attractors have been identified by the cycle search, // exclude them from the search { pAttractor attractor = res->attractorList; while (attractor->next != NULL) { excludeAttractor_SAT(sat, network, attractor); attractor = attractor->next; } } #ifdef USE_LINGELING for (i = 0; i < network->numGenes; ++i) // freeze the first and the last state(s) of the chain: // the variables of the first state are used // to exclude identified attractors from future searches, // whereas the variables of the last state(s) are required for // an extension of the chain // (multiple states for temporal Boolean networks with delays >1) { unsigned int stateSize = 1; if (network->type == SYMBOLIC_BOOLEAN_NETWORK) // determine history size of current gene stateSize = ((SymbolicBooleanNetwork *) network)->stateSizes[i]; for (j = 0; j < stateSize; ++j) { lglfreeze(sat, j * network->numGenes + i + 1); if (!isTimeDependent) lglfreeze(sat, (numStates + j) * network->numGenes + i + 1); } } #endif if (isTimeDependent) // add additional states in case of time-dependent predicates addBurnInPhase((SymbolicBooleanNetwork *) network, sat, numStates - 1); //picosat_print(sat, stdout); int satisfiable = sat_solve(sat); unsigned int numIncrements = 0; while (satisfiable == SATISFIABLE) // as long as the formula is satisfiable, there may be more attractors { // check whether the identified chain comprises an attractor, // and decode it if yes pAttractor attr = getNextAttractor_SAT(sat, network, -1, numStates - maxDelay + 1); if (attr == NULL) // no attractor found => chain is too short and must be prolonged { if (isTimeDependent) // if additional burn-in states were added, the chain must be rebuilt "from scratch", // i.e. the previous result cannot be recycled. { // free old solver sat_free(sat); // create new solver sat = initSATSolver(); // exclude already identified attractors pAttractor attractor = res->attractorList; while (attractor->next != NULL) { excludeAttractor_SAT(sat, network, attractor); attractor = attractor->next; } // start chain at time point 0 i = 0; } else { #ifdef USE_LINGELING if (!isTimeDependent) { // melt the variables of the last state(s), as // the chain will be extended for (i = 0; i < network->numGenes; ++i) { unsigned int stateSize = 1; if (network->type == SYMBOLIC_BOOLEAN_NETWORK) stateSize = ((SymbolicBooleanNetwork *) network)->stateSizes[i]; for (j = 0; j < stateSize; ++j) lglmelt(sat, (numStates + j) * network->numGenes + i + 1); } // extend chain at previous time point i = numStates; } #endif } switch (extensionMode) // determine the new chain length depending on the extension mode { case EXTENSION_EXPONENTIAL: // double the chain length numStates *= 2; break; case EXTENSION_LINEAR: // add the initial chain length numStates += network->numGenes > 100 ? 100 : network->numGenes; break; case EXTENSION_LINEAR_ADAPT: // add a multiple of the initial chain length depending // on the number of increments already performed numStates += (numIncrements++ / 5 + 1) * (network->numGenes > 100 ? 100 : network->numGenes); break; case EXTENSION_MIXED: // perform an exponential increase every five increments and a // linear increase otherwise if (++numIncrements % 5 == 0) numStates *= 2; else numStates += network->numGenes > 100 ? 100 : network->numGenes; break; } // add new states to the chain for (; i < numStates; ++i) { addState_SAT(network, sat, i, 0); } if (!isTimeDependent) { #ifdef USE_LINGELING // freeze the new end of the chain // (possibly multiple states in temporal Boolean networks) for (i = 0; i < network->numGenes; ++i) { unsigned int stateSize = 1; if (network->type == SYMBOLIC_BOOLEAN_NETWORK) // determine history size of current gene stateSize = ((SymbolicBooleanNetwork *) network)->stateSizes[i]; for (j = 0; j < stateSize; ++j) lglfreeze(sat, (numStates + j) * network->numGenes + i + 1); } #endif } else // network has time-dependent predicates { // add additional states in case of time-dependent predicates addBurnInPhase((SymbolicBooleanNetwork *) network, sat, numStates - 1); #ifdef USE_LINGELING // as a new chain has been constructed from scratch, we must // again freeze the start state(s) for (i = 0; i < network->numGenes; ++i) { unsigned int stateSize = 1; if (network->type == SYMBOLIC_BOOLEAN_NETWORK) stateSize = ((SymbolicBooleanNetwork *) network)->stateSizes[i]; for (j = 0; j < stateSize; ++j) { lglfreeze(sat, j * network->numGenes + i + 1); } } #endif } } else // an attractor has been found => add it { ++res->numAttractors; attr->next = res->attractorList; res->attractorList = attr; } // look for more potential solutions satisfiable = sat_solve(sat); } // free the SAT solver sat_free(sat); return res; } BoolNet/src/statespace_search.c0000644000176200001440000012004312733234746016243 0ustar liggesusers/** * C code to identify attractors in Boolean networks * * This is part of the BoolNet R package. * * Copyright 2009/2010 by Christoph Müssel and Zhou Dao * * Contact christoph.muessel@uni-ulm.de * */ #include #include #include #include #include #include "random.h" #include "common.h" #include "boolean_network.h" #include "statespace_search.h" #include #define NODE_ARRAY_SIZE 1024 /** * A structure saving search trees for states. * State trees are employed if a non-exhaustive search is * conducted to provide an efficient method to lookup * states that have already been visited. */ typedef struct STN { // The left child node (containing "smaller" states) struct STN * leftChild; // The right child node (containing "larger" states) struct STN * rightChild; union { // In case of synchronous networks: struct { // The node holding the next state after a transition has // been applied to the current state struct STN * successor; // The basin of attraction to which the state belongs unsigned int attractorAssignment; // The number of transitions required to enter the attractor unsigned int stepsToAttractor; } sync; // In case of asynchronous networks: struct { // An array of all successor nodes struct STN ** successors; // The number of successor states unsigned int numSuccessors; // Dummy variable unsigned int unused; } async; } type; // The state itself - a set of binary-encoded integers with // elements unsigned int * data; } StateTreeNode; typedef struct { StateTreeNode * root; unsigned int arraySize; unsigned int nodeCount; unsigned int numElements; unsigned int successorPos; ArrayListElement * nodeArrays; ArrayListElement * dataArrays; ArrayListElement * successorArrays; } StateTree; void stateTransition(unsigned int * currentState, unsigned int * nextState, TruthTableBooleanNetwork * net); /** * Insert a new transition from to into
. * is the number of array elements occupied by a state. */ TransitionTableEntry * insertNewTransition(TransitionTableEntry ** table, unsigned int * initialState, unsigned int * nextState, unsigned int numElements) { TransitionTableEntry * entry = (TransitionTableEntry *)CALLOC(1,sizeof(TransitionTableEntry)); entry->initialState = CALLOC(numElements,sizeof(unsigned int)); entry->nextState = CALLOC(numElements,sizeof(unsigned int)); memcpy(entry->initialState,initialState,numElements*sizeof(unsigned int)); memcpy(entry->nextState,nextState,numElements*sizeof(unsigned int)); entry->next = *table; *table = entry; return entry; } /** * Free a list-type transition table as used in complex attractors */ void freeTransitionTableEntry(TransitionTableEntry * t) { do { TransitionTableEntry * next = t->next; FREE(t->initialState); FREE(t->nextState); FREE(t); t = next; } while (t != NULL); } static inline StateTree * allocStateTree(unsigned int numElements, unsigned int arraySize) { StateTree * tree = CALLOC(1, sizeof(StateTree)); tree->root = NULL; tree->arraySize = arraySize; tree->successorPos = 0; tree->nodeCount = 0; tree->nodeArrays = NULL; tree->dataArrays = NULL; tree->successorArrays = NULL; tree->numElements = numElements; return(tree); } static inline void newNodeArray(StateTree * tree) { allocNewArray(&tree->nodeArrays, tree->arraySize, sizeof(StateTreeNode)); allocNewArray(&tree->dataArrays, tree->arraySize * tree->numElements, sizeof(unsigned int)); } static inline void newSuccessorArray(StateTree * tree) { allocNewArray(&tree->successorArrays, tree->arraySize, sizeof(StateTreeNode *)); tree->successorPos = 0; } static inline void freeStateTree(StateTree * tree) { freeArrayList(tree->nodeArrays); freeArrayList(tree->dataArrays); freeArrayList(tree->successorArrays); FREE(tree); } /** * Allocate a new node of a state tree. * and are pointers to the * left and right subtrees. * is the state reached after a state transition. * is an array of binary-encoded integers of length * describing the state. * is the basin of attraction the state belongs to, * and is the number of transitions required to enter * the attractor. * * Returns a state tree node with the supplied values. */ static inline StateTreeNode * allocTreeNode(StateTree * tree, StateTreeNode * leftChild, StateTreeNode * rightChild, StateTreeNode * successor, unsigned int * data, unsigned int numElements, unsigned int attractorAssignment, unsigned int stepsToAttractor) { if (tree->nodeCount % tree->arraySize == 0) newNodeArray(tree); StateTreeNode * res = &(((StateTreeNode *)tree->nodeArrays->array)[tree->nodeCount % tree->arraySize]); res->leftChild = leftChild; res->rightChild = rightChild; res->type.sync.successor = successor; res->data = &(((unsigned int *)tree->dataArrays->array) [(tree->nodeCount % tree->arraySize) * tree->numElements]); memcpy(res->data,data,numElements*sizeof(unsigned int)); res->type.sync.attractorAssignment = attractorAssignment; res->type.sync.stepsToAttractor = stepsToAttractor; ++tree->nodeCount; return res; } static inline StateTreeNode ** reserveSuccessorArray(StateTree * tree, unsigned int numSuccessors) { if (tree->successorArrays == NULL || tree->successorPos + numSuccessors >= tree->arraySize) newSuccessorArray(tree); StateTreeNode ** res = &(((StateTreeNode **)tree->successorArrays->array)[tree->successorPos]); tree->successorPos += numSuccessors; return res; } /** * Recursive helper function for findNode() */ StateTreeNode * findNodeRec(StateTree * tree, StateTreeNode * parent, unsigned int * data, unsigned int numElements, bool * found) { unsigned int direction = 0; int i; for (i = numElements - 1; i >= 0; --i) { if (data[i] > parent->data[i]) { direction = 1; break; } if (data[i] < parent->data[i]) { direction = 2; break; } } switch(direction) { case 0: *found = true; return parent; case 1: if (parent->rightChild == 0) { parent->rightChild = allocTreeNode(tree, 0,0,0,data,numElements,0,0); *found = false; return parent->rightChild; } else return findNodeRec(tree, parent->rightChild,data,numElements,found); case 2: if (parent->leftChild == 0) { parent->leftChild = allocTreeNode(tree, 0,0,0,data,numElements,0,0); *found = false; return parent->leftChild; } else return findNodeRec(tree, parent->leftChild,data,numElements,found); } // should never be reached return 0; } /** * Recursively find the node corresponding to state in the state tree , * or insert the node if it does not exist. * is the size of the state vector . * The return value of indicates whether the element previously existed in the tree * * Returns the (possibly newly created) node belonging to . If the tree is empty, * is set to this node. */ StateTreeNode * findNode(StateTree * tree, unsigned int * data, unsigned int numElements, bool * found) { if (tree->root == 0) { tree->root = allocTreeNode(tree, 0,0,0,data,numElements,0,0); *found = false; return tree->root; } return findNodeRec(tree, tree->root,data,numElements, found); } /** * Returns the successor of the supplied state node . * If the state transition has not yet been calculated, * a new node is inserted into the tree . * is the number of array elements required to store one state. * describes the network for which a state transition is performed. * is a counter to be increased when a new state is identified */ StateTreeNode * findSuccessor(StateTree * tree, StateTreeNode * current, unsigned int numElementsPerEntry, TruthTableBooleanNetwork * net, unsigned int * basinCounter) { bool found; if (current->type.sync.successor == 0) // the state does not exist => calculate state transition and insert it { unsigned int nextState[numElementsPerEntry]; stateTransition(current->data,nextState,net); current->type.sync.successor = findNode(tree,nextState,numElementsPerEntry, &found); ++ *basinCounter; } return current->type.sync.successor; } /** * Traverse the tree supplied by in-order, and write the values * of the tree nodes to the corresponding arrays , *
, , and . * is the number of array elements allocated by one state. * is the current value of the node counter used for the array indices * and increased during recursion. This should be initially set to 0. */ void inOrderSerializeTree(StateTreeNode * root, unsigned int * initialStates, unsigned int * table, unsigned int * attractorAssignment, unsigned int * stepsToAttractor, unsigned int numElements, unsigned int * nodeNo) { R_CheckUserInterrupt(); if (root->leftChild != 0) // recursive descent of left subtree inOrderSerializeTree(root->leftChild,initialStates,table,attractorAssignment, stepsToAttractor,numElements,nodeNo); // write the state itself memcpy(&initialStates[numElements* (*nodeNo)],root->data,numElements*sizeof(unsigned int)); memcpy(&table[numElements* (*nodeNo)],root->type.sync.successor->data,numElements*sizeof(unsigned int)); attractorAssignment[*nodeNo] = root->type.sync.attractorAssignment; stepsToAttractor[*nodeNo] = root->type.sync.stepsToAttractor; *nodeNo = *nodeNo + 1; if (root->rightChild != 0) // recursive descent of right subtree inOrderSerializeTree(root->rightChild,initialStates,table,attractorAssignment, stepsToAttractor,numElements,nodeNo); } /** * Free a state tree supplied by recursively. * If , is assumed to be an array and freed */ /* void freeTreeNode(StateTreeNode * node, bool freeSuccessorArray) { if (node->leftChild != 0) freeTreeNode(node->leftChild, freeSuccessorArray); if (node->rightChild != 0) freeTreeNode(node->rightChild, freeSuccessorArray); if (freeSuccessorArray) FREE(node->type.async.successors); FREE(node->data); FREE(node); --nodeCount; } */ /** * Make a transition from to the next state. * States are encoded as arrays of ints and can thus contain an arbitrary number of genes. * is a binary-coded integer with used bits. * is an array of values specifying whether gene is fixed (0 or 1) or not (-1). * provides the input genes for all transition functions and can be split up * for a single function according to . * provides the truth tables for all transition functions and can be split up * for a single function according to . * * The return value is the next state, encoded in a single integer. */ void stateTransition(unsigned int * currentState, unsigned int * nextState, TruthTableBooleanNetwork * net) { unsigned int i = 0, k = 0, idx = 0; unsigned int elementsPerEntry; if (net->numGenes % BITS_PER_BLOCK_32 == 0) { elementsPerEntry = net->numGenes / BITS_PER_BLOCK_32; } else { elementsPerEntry = net->numGenes / BITS_PER_BLOCK_32 + 1; } for (i = 0; i < elementsPerEntry; ++i) nextState[i] = 0; for (i = 1; i <= net->numGenes; ++i) { if (net->fixedGenes[i-1] == -1) // the gene is not fixed { unsigned long long inputdec = 0; for (k = net->inputGenePositions[i-1]; k < net->inputGenePositions[i]; k++) { if (net->inputGenes[k]) // if the input of the function is not 0 (constant gene), take input bit { unsigned int gene = net->inputGenes[k] - 1; unsigned int bit; if (net->fixedGenes[gene] == -1) bit = (GET_BIT(currentState[net->nonFixedGeneBits[gene] / BITS_PER_BLOCK_32], net->nonFixedGeneBits[gene] % BITS_PER_BLOCK_32)); else // fixed genes are not encoded in the states // => take them from fixedGenes vector bit = net->fixedGenes[gene]; inputdec |= bit << (net->inputGenePositions[i] - k - 1); } } // determine transition function int transition = net->transitionFunctions[net->transitionFunctionPositions[i-1] + inputdec]; if(transition != -1) // apply transition function nextState[idx / BITS_PER_BLOCK_32] |= ((unsigned int)transition << (idx % BITS_PER_BLOCK_32)); else // this is a dummy function for a constant gene // => value does not change nextState[idx / BITS_PER_BLOCK_32] |= (GET_BIT(currentState[idx / BITS_PER_BLOCK_32], idx % BITS_PER_BLOCK_32) << (idx % BITS_PER_BLOCK_32)); //(GET_BIT(currentState[(i-1) / BITS_PER_BLOCK_32], // (i-1) % BITS_PER_BLOCK_32) << (idx % BITS_PER_BLOCK_32)); ++idx; } } } /** * Make a transition from to the next state for a bit vector encoded * as a single integer (max. 64 genes). * is a binary-coded integer with used bits. * is an array of values specifying whether gene is fixed (0 or 1) or not (-1). * provides the input genes for all transition functions and can be split up * for a single function according to . * provides the truth tables for all transition functions and can be split up * for a single function according to . * * The return value is the next state, encoded in a single integer. */ unsigned long long stateTransition_singleInt(unsigned long long currentState, TruthTableBooleanNetwork * net) { unsigned int i = 0, k = 0, idx = 0; unsigned long long nextState = 0; for (i = 1; i <= net->numGenes; ++i) { if (net->fixedGenes[i-1] == -1) // the gene is not fixed { unsigned long long inputdec = 0; for (k = net->inputGenePositions[i-1]; k < net->inputGenePositions[i]; k++) { if (net->inputGenes[k]) // if the input of the function is not 0 (constant gene), take input bit { unsigned int gene = net->inputGenes[k] - 1; unsigned int bit; if (net->fixedGenes[gene] == -1) bit = (GET_BIT(currentState, net->nonFixedGeneBits[gene])); else // fixed genes are not encoded in the states // => take them from fixedGenes vector bit = net->fixedGenes[gene]; inputdec |= bit << (net->inputGenePositions[i] - k - 1); } } // determine transition function int transition = net->transitionFunctions[net->transitionFunctionPositions[i-1] + inputdec]; if(transition != -1) // apply transition function nextState |= (transition << idx); else // this is a dummy function for a constant gene // => value does not change nextState |= (GET_BIT(currentState, idx) << idx); ++idx; } } return nextState; } /** * Retrieves the result column of the state transition table. * specifies the total number of genes. * is an array of values specifying whether gene is fixed (0 or 1) or not (-1). * provides the input genes for all transition functions and can be split up * for a single function according to . * provides the truth tables for all transition functions and can be split up * for a single function according to . */ unsigned long long * getTransitionTable(TruthTableBooleanNetwork * net) { unsigned long long i = 0; // determine number of fixed genes int numFixed = 0; for( i = 0; i < net->numGenes; i++) if(net->fixedGenes[i] != -1) ++numFixed; int numNonFixed = net->numGenes - numFixed; // allocate truth table with 2^(non-fixed genes) elements unsigned long long numberOfElements = (unsigned long long)1 << numNonFixed;//pow(2,numNonFixed); unsigned long long * table = CALLOC(numberOfElements,sizeof(unsigned long long)); if (table == 0) { Rf_error("Too few memory available!"); } unsigned long long initialState = 0; // calculate state transitions for(initialState = 0; initialState < numberOfElements; ++initialState) { R_CheckUserInterrupt(); //state is simply the binary encoding of the counter //calculate transition table[initialState] = stateTransition_singleInt(initialState, net); } return table; } /** * Retrieves attractors from a given transition table
with entries. * * Returns a list of attractors - the last element of this list is empty! */ pAttractorInfo getAttractors(unsigned long long * table, unsigned long long numberOfStates, unsigned int numberOfGenes) { unsigned long long i; unsigned int current_attractor = 0, elementsPerEntry; if (numberOfGenes <= 32) { elementsPerEntry = 1; } else { elementsPerEntry = 2; } pAttractorInfo result = allocAttractorInfo(numberOfStates,numberOfGenes); for (i = 0; i < numberOfStates; ++i) { //memcpy(&result->table[i],&table[i],sizeof(unsigned int) * elementsPerEntry); result->table[i*elementsPerEntry] = table[i] & 0xFFFFFFFF; if (elementsPerEntry == 2) result->table[i*elementsPerEntry + 1] = (table[i] & 0xFFFFFFFF00000000) >> 32; } pAttractor attractorHead, attractorList,tmpList; attractorHead = attractorList = (pAttractor) CALLOC(1,sizeof(Attractor)); attractorList->next = NULL; for(i = 0; i < numberOfStates; i++) { R_CheckUserInterrupt(); if(!result->attractorAssignment[i]) // the current state has not yet been visited { // first attractor has number 1 current_attractor++; unsigned long long begin = i; unsigned int steps = 0; while(!result->attractorAssignment[begin]) // iterate while no attractor has been assigned { ++steps; // first simply count steps until attractor is reached // - to get the distance to the attractor, this number is // later subtracted from the maximum distance result->stepsToAttractor[begin] = steps; result->attractorAssignment[begin] = current_attractor; // perform a state transition begin = table[begin]; } if(current_attractor == result->attractorAssignment[begin]) //calculate length and basin size of new attractor { attractorList->basinSize = steps; // fix the number of steps to the attractor by calculating // the maximum distance and subtracting the current value from it int maxstep = result->stepsToAttractor[begin]; int rec = 0; unsigned long long tmp = i; while(tmp != begin) { rec++; result->stepsToAttractor[tmp] = maxstep - result->stepsToAttractor[tmp]; tmp = table[tmp]; } attractorList->length = steps - rec; attractorList->involvedStates = (unsigned int *) CALLOC(attractorList->length * elementsPerEntry,sizeof(unsigned int)); attractorList->numElementsPerEntry = elementsPerEntry; int a=0; do { result->stepsToAttractor[tmp] = 0; //attractorList->involvedStates[a++] = tmp; //memcpy(&attractorList->involvedStates[a],&tmp,elementsPerEntry*sizeof(unsigned int)); // get low-order and high-order longs in a platform-independent manner attractorList->involvedStates[a] = tmp & 0xFFFFFFFF; if (elementsPerEntry == 2) attractorList->involvedStates[a+1] = (tmp & 0xFFFFFFFF00000000) >> 32; tmp = table[tmp]; a += elementsPerEntry; } while(tmp != begin); /* set steps of attractors to 0; add attractor stub information */ //generate a next attractor space attractorList->next = (pAttractor)CALLOC(1,sizeof(Attractor)); attractorList = attractorList->next; attractorList->next = NULL; } else //update existing attractor { // reset attractor number current_attractor--; // assign states to attractor basin, and // correct the numbers of steps to the attractor unsigned long long tmp = i; int maxstp = result->stepsToAttractor[begin] + steps; while(tmp != begin) { result->attractorAssignment[tmp] = result->attractorAssignment[begin]; result->stepsToAttractor[tmp] = maxstp - result->stepsToAttractor[tmp] + 1; tmp = table[tmp]; } // update basin size in attractor record tmpList = attractorHead; for (tmp = 1; tmp < result->attractorAssignment[begin]; tmp++) tmpList = tmpList->next; tmpList->basinSize = tmpList->basinSize + steps; } } } result->attractorList = attractorHead; result->numAttractors = current_attractor - 1; FREE(table); return result; } /** * Retrieves attractors only for a given set of input states supplied in . * Here, numGenes / 32)> consecutive array entries describe one state, thus * the array size is numGenes / 32) * numberOfStates> * describes the network structure. */ pAttractorInfo getAttractorsForStates(unsigned int * selectedStates, unsigned int numberOfStates, TruthTableBooleanNetwork * net) { unsigned long long i; unsigned int current_attractor = 0, elementsPerEntry; bool found; // calculate the number of array elements required for one state // (depending on the number of genes) if (net->numGenes % (sizeof(unsigned int) * 8) == 0) { elementsPerEntry = net->numGenes / BITS_PER_BLOCK_32; } else { elementsPerEntry = net->numGenes / BITS_PER_BLOCK_32 + 1; } // all states are stored in a tree for fast search StateTree * stateTree = allocStateTree(elementsPerEntry, NODE_ARRAY_SIZE); pAttractor attractorHead, attractorList,tmpList; attractorHead = attractorList = (pAttractor) CALLOC(1,sizeof(Attractor)); attractorList->next = NULL; for(i = 0; i < numberOfStates; i++) { // check whether the current state is already in the state tree, otherwise insert it StateTreeNode * currentState = findNode(stateTree,&selectedStates[i*elementsPerEntry],elementsPerEntry,&found); if(!currentState->type.sync.attractorAssignment) // the current state has not yet been visited { // first attractor has number 1 current_attractor++; unsigned int steps = 0; unsigned int basinSize = 0; while(!currentState->type.sync.attractorAssignment) // iterate while no attractor has been assigned { R_CheckUserInterrupt(); ++steps; // first simply count steps until attractor is reached // - to get the distance to the attractor, this number is // later subtracted from the maximum distance currentState->type.sync.stepsToAttractor = steps; currentState->type.sync.attractorAssignment = current_attractor; // perform a state transition currentState = findSuccessor(stateTree,currentState,elementsPerEntry,net,&basinSize); } if(current_attractor == currentState->type.sync.attractorAssignment) //calculate length and basin size of new attractor { attractorList->basinSize = steps; // fix the number of steps to the attractor by calculating // the maximum distance and subtracting the current value from it int maxstep = currentState->type.sync.stepsToAttractor; int rec = 0; StateTreeNode * tmp = findNode(stateTree,&selectedStates[i*elementsPerEntry],elementsPerEntry,&found); while(memcmp(tmp->data,currentState->data,elementsPerEntry*sizeof(unsigned int))) { R_CheckUserInterrupt(); rec++; tmp->type.sync.stepsToAttractor = maxstep - tmp->type.sync.stepsToAttractor; // perform a state transition tmp = findSuccessor(stateTree,tmp,elementsPerEntry,net,&basinSize); } attractorList->length = steps - rec; attractorList->involvedStates = (unsigned int *) CALLOC(attractorList->length * elementsPerEntry,sizeof(unsigned int)); attractorList->numElementsPerEntry = elementsPerEntry; int a=0; do { R_CheckUserInterrupt(); tmp->type.sync.stepsToAttractor = 0; memcpy(&attractorList->involvedStates[a],tmp->data,elementsPerEntry*sizeof(unsigned int)); tmp = findSuccessor(stateTree,tmp,elementsPerEntry,net,&basinSize); a += elementsPerEntry; } while(memcmp(tmp->data,currentState->data,elementsPerEntry*sizeof(unsigned int))); //generate a next attractor space attractorList->next = (pAttractor)CALLOC(1,sizeof(Attractor)); attractorList = attractorList->next; attractorList->next = NULL; } else //update existing attractor { // reset attractor number current_attractor--; // assign states to attractor basin, and // correct the numbers of steps to the attractor StateTreeNode * tmp = findNode(stateTree,&selectedStates[i*elementsPerEntry],elementsPerEntry,&found); int maxstp = currentState->type.sync.stepsToAttractor + steps; while(memcmp(tmp->data,currentState->data,elementsPerEntry*sizeof(unsigned int))) { R_CheckUserInterrupt(); tmp->type.sync.attractorAssignment = currentState->type.sync.attractorAssignment; tmp->type.sync.stepsToAttractor = maxstp - tmp->type.sync.stepsToAttractor + 1; //perform a state transition tmp = findSuccessor(stateTree,tmp,elementsPerEntry,net,&basinSize); } // update basin size in attractor record tmpList = attractorHead; unsigned int i; for (i = 1; i < currentState->type.sync.attractorAssignment; ++i) tmpList = tmpList->next; tmpList->basinSize = tmpList->basinSize + basinSize; } } } pAttractorInfo result = allocAttractorInfo(stateTree->nodeCount,net->numGenes); result->attractorList = attractorHead; result->initialStates = CALLOC(result->tableSize * elementsPerEntry,sizeof(unsigned int)); result->numAttractors = current_attractor - 1; unsigned int nodeNo = 0; // build a series of arrays by in-order traversing the tree inOrderSerializeTree(stateTree->root, result->initialStates, result->table, result->attractorAssignment, result->stepsToAttractor, elementsPerEntry, &nodeNo); freeStateTree(stateTree); return result; } /** * Identification of attractors in asynchronous networks */ typedef struct SSE { unsigned int * state; struct SSE * next; } StateStackElement; /** * Push a new element on top of the stack . * is the state to push onto the stack and has elements. * Returns the new stack element. */ static inline StateStackElement * pushStateStackElement(StateStackElement ** stack, unsigned int * state, unsigned int numElements) { StateStackElement * el = CALLOC(1,sizeof(StateStackElement)); el->state = CALLOC(numElements,sizeof(unsigned int)); memcpy(el->state,state,sizeof(unsigned int) * numElements); el->next = *stack; *stack = el; return el; } /** * Remove the top-level element from . */ static inline void deleteStateStackElement(StateStackElement ** stack) { StateStackElement * el = *stack; *stack = (*stack)->next; FREE(el->state); FREE(el); } /** * Applies the transition function belonging to gene to state . * holds the network information. * The result is returned in . */ static inline void applySingleFunction(unsigned int * currentState, unsigned int geneIdx, TruthTableBooleanNetwork * net) { unsigned int k = 0; if (net->fixedGenes[geneIdx] == -1) // the gene is not fixed { unsigned long long inputdec = 0; for (k = net->inputGenePositions[geneIdx]; k < net->inputGenePositions[geneIdx+1]; k++) { if (net->inputGenes[k]) // if the input of the function is not 0 (constant gene), take input bit { unsigned int gene = net->inputGenes[k] - 1; unsigned int bit; if (net->fixedGenes[gene] == -1) bit = (GET_BIT(currentState[gene / BITS_PER_BLOCK_32], gene % BITS_PER_BLOCK_32)); else // fixed genes are not encoded in the states // => take them from fixedGenes vector bit = net->fixedGenes[gene]; inputdec |= bit << (net->inputGenePositions[geneIdx+1] - k - 1); } } // determine transition function int transition = net->transitionFunctions[net->transitionFunctionPositions[geneIdx] + inputdec]; currentState[geneIdx / BITS_PER_BLOCK_32] = CLEAR_BIT(currentState[geneIdx / BITS_PER_BLOCK_32], geneIdx % BITS_PER_BLOCK_32); if(transition != -1) // apply transition function currentState[geneIdx / BITS_PER_BLOCK_32] |= (transition << (geneIdx % BITS_PER_BLOCK_32)); else // this is a dummy function for a constant gene // => value does not change currentState[geneIdx / BITS_PER_BLOCK_32] |= (GET_BIT(currentState[geneIdx / BITS_PER_BLOCK_32], geneIdx % BITS_PER_BLOCK_32) << (geneIdx % BITS_PER_BLOCK_32)); } } /** * Calculate a random asynchronous state transition for . * If is not NULL, this is a vector specifying * the cumulative distribution function of the probabilities of genes * to be chosen for a transition. Otherwise, each gene has equal probability. */ static inline void asynchronousStateTransition(unsigned int * currentState, double * probabilities, TruthTableBooleanNetwork * net) { unsigned int i; if (probabilities == NULL) // uniform gene selection { unsigned int r; // ensure that no fixed gene is chosen do { r = intrand(net->numGenes); } while (net->fixedGenes[r] != -1); // make a transition with the chosen gene applySingleFunction(currentState,r,net); } else { double r = doublerand_1(); // find the last index in the cumulative distribution that // is less than for (i = 0; i < net->numGenes; ++i) { if (probabilities[i] < r && probabilities[i+1] >= r) break; } // make a transition with the chosen gene applySingleFunction(currentState,i,net); } } /** * Calculate the forward reachable set of . * is the number of array elements used to represent one state. * If is true, self loops are only considered if there are no other possible transitions. * holds the network information. * Returns the resulting state tree (set).. */ StateTree * buildAsynchronousStateSet(unsigned int * startState, unsigned int numElements, bool avoidSelfLoops, TruthTableBooleanNetwork * net) { StateTree * res = allocStateTree(numElements, NODE_ARRAY_SIZE); StateStackElement * stack = NULL; unsigned int i; bool found=false, newNodes=false; // push the start state onto the stack pushStateStackElement(&stack,startState,numElements); do // iterate while stack is not empty (depth-first search) { R_CheckUserInterrupt(); unsigned int origstate[numElements]; memcpy(origstate,stack->state,sizeof(unsigned int) * numElements); // remove the top-level stack element deleteStateStackElement(&stack); StateTreeNode * current = findNode(res,origstate,numElements,&found); StateTreeNode ** successors; unsigned int numSuccessors; if (avoidSelfLoops) // try to find successor states that do not lead to the initial state { unsigned int successorStates[net->numGenes*numElements]; for (i = 0; i < net->numGenes; ++i) // first, calculate all successors { memcpy(&successorStates[i*numElements],origstate,sizeof(unsigned int) * numElements); applySingleFunction(&successorStates[i*numElements],i,net); } unsigned int numNonSelfLoops = 0; bool noSelfLoop[net->numGenes]; for (i = 0; i < net->numGenes; ++i) // now, check which of the successor states are the same as the initial state { if (memcmp(&successorStates[i*numElements],origstate,sizeof(unsigned int) * numElements) != 0) { ++numNonSelfLoops; noSelfLoop[i] = true; } else noSelfLoop[i] = false; } if (numNonSelfLoops == 0) // all transitions are self loops // => accept self loop { successors = reserveSuccessorArray(res,1); numSuccessors = 1; successors[0] = findNode(res,successorStates,numElements,&found); if (!found) pushStateStackElement(&stack,successorStates,numElements); } else // there is at least one transition that is no self loop // => do not accept self loops { successors = reserveSuccessorArray(res, numNonSelfLoops); numSuccessors = numNonSelfLoops; unsigned int j; for (i = 0, j = 0; i < net->numGenes; ++i) { if (noSelfLoop[i]) // create successor in tree { successors[j++] = findNode(res,&successorStates[i*numElements],numElements,&found); newNodes = newNodes | !found; if (!found) pushStateStackElement(&stack,&successorStates[i*numElements],numElements); } } } } else // self loops are allowed { unsigned int state[numElements]; successors = reserveSuccessorArray(res,net->numGenes); numSuccessors = net->numGenes; for (i = 0; i < net->numGenes; ++i) // calculate all successors { memcpy(state,origstate,sizeof(unsigned int) * numElements); applySingleFunction(state,i,net); successors[i] = findNode(res,state,numElements,&found); newNodes = newNodes | !found; if (!found) pushStateStackElement(&stack,state,numElements); } } current->type.async.successors = successors; current->type.async.numSuccessors = numSuccessors; } while (stack != NULL); // return the number of elements in the state set return res; } /** * Recursively retrieve an array of states from a tree * and store it to is the number of array elements used to represent one state. * is the current array entry to be written and should be initialized to 0. */ void getStateSet(StateTreeNode * root, unsigned int * states, unsigned int numElements, unsigned int * nodeNo) { if (root->leftChild != 0) // recursive descent of left subtree getStateSet(root->leftChild,states,numElements,nodeNo); // write the state itself memcpy(&states[numElements* (*nodeNo)],root->data,numElements*sizeof(unsigned int)); *nodeNo = *nodeNo + 1; if (root->rightChild != 0) // recursive descent of right subtree getStateSet(root->rightChild,states,numElements,nodeNo); } /** * Recursively extract the transition table from a state set * and store it to a list of transitions
. * is the number of array elements used to represent one state. * receives the size of the resulting table. */ void getLooseAttractorTransitionTable(StateTreeNode * root, TransitionTableEntry ** table, unsigned int numElements, unsigned int * size) { if (root->leftChild != 0) // recursive descent of left subtree getLooseAttractorTransitionTable(root->leftChild,table,numElements,size); bool duplicate[root->type.async.numSuccessors]; memset(duplicate,0,sizeof(bool)*root->type.async.numSuccessors); unsigned int i, j; // check for duplicate transitions for (i = 0; i < root->type.async.numSuccessors; ++i) { for (j = i + 1; j < root->type.async.numSuccessors; ++j) { if (memcmp(&root->type.async.successors[i * numElements], &root->type.async.successors[j * numElements], sizeof(unsigned int) * numElements) == 0) duplicate[j] = true; } } // copy the unique transitions to the table for (i = 0; i < root->type.async.numSuccessors; ++i) { if (!duplicate[i]) { insertNewTransition(table,root->data,root->type.async.successors[i]->data,numElements); ++ *size; } } if (root->rightChild != 0) // recursive descent of right subtree getLooseAttractorTransitionTable(root->rightChild,table,numElements, size); } /** * Validate whether a set with states is a true attractor. * If is true, self loops are only considered if there are no other possible transitions. * holds the network information. */ bool validateAttractor(unsigned int * attractor, unsigned int attractorLength, bool avoidSelfLoops,TruthTableBooleanNetwork * net) { unsigned int numElts, i; if (net->numGenes % BITS_PER_BLOCK_32 == 0) numElts = net->numGenes / BITS_PER_BLOCK_32; else numElts = net->numGenes / BITS_PER_BLOCK_32 + 1; for (i = 0; i < attractorLength; ++i) // iterate over states { StateTree * set = buildAsynchronousStateSet(&attractor[i*numElts],numElts,avoidSelfLoops,net); if (set->nodeCount != attractorLength) { freeStateTree(set); return false; } unsigned int size_set = set->nodeCount; unsigned int states_set[numElts * size_set]; unsigned int nodeNo = 0; getStateSet(set->root,states_set,numElts,&nodeNo); freeStateTree(set); // compare forward reachable set to original set if (memcmp(states_set,attractor,sizeof(unsigned int) * numElts * size_set) != 0) // no attractor return false; } return true; } /** * Calculate complex/loose attractors by performing random transitions from * the states supplied in . * If is true, self loops are only considered if there are no other possible transitions. * If is not NULL, this vector holds the probabilities for each gene to be chosen * for a transition. */ pAttractorInfo getLooseAttractors(unsigned int * selectedStates, unsigned int numberOfStates, TruthTableBooleanNetwork * net, unsigned int randomSteps, bool avoidSelfLoops, double * probabilities) { // attractor list has empty dummy element at the end pAttractor attractorList = CALLOC(1,sizeof(Attractor)); unsigned int numElts, i, j; if (net->numGenes % BITS_PER_BLOCK_32 == 0) numElts = net->numGenes / BITS_PER_BLOCK_32; else numElts = net->numGenes / BITS_PER_BLOCK_32 + 1; // if probabilities for the genes are supplied, exclude fixed genes (if any) // and recalculate probabilities double * pProbabilities = NULL; double convertedProbabilities[net->numGenes + 1]; if (probabilities != NULL) { convertedProbabilities[0] = 0.0; double probabilitySum = 0.0; for (i = 0; i < net->numGenes; ++i) { if (net->fixedGenes[i] == -1) probabilitySum += probabilities[i]; } for (i = 0; i < net->numGenes; ++i) { if (net->fixedGenes[i] == -1) convertedProbabilities[i+1] = convertedProbabilities[i] + probabilities[i]/probabilitySum; else convertedProbabilities[i+1] = convertedProbabilities[i]; } pProbabilities = convertedProbabilities; } unsigned int attractorCount = 0; for (i = 0; i < numberOfStates; ++i) // iterate over supplied start states { unsigned int currentState[numElts]; memcpy(currentState,&selectedStates[i*numElts],sizeof(unsigned int) * numElts); unsigned int t = 0; for (j = randomSteps; j > 0; --j) // perform random state transitions // to reach a potential attractor { asynchronousStateTransition(currentState,pProbabilities,net); ++t; } // calculate forward reachable set of end state StateTree * set = buildAsynchronousStateSet(currentState,numElts,avoidSelfLoops,net); unsigned int states_set[numElts * set->nodeCount]; unsigned int nodeNo = 0; getStateSet(set->root,states_set,numElts,&nodeNo); // search for the current potential attractor in the attractor list bool found = false; pAttractor current = attractorList; while (current != NULL && !found) { found = ((set->nodeCount == current->length) && (memcmp(states_set,current->involvedStates,sizeof(unsigned int) * numElts * set->nodeCount) == 0)); current = current->next; } if (!found) // the potential attractor does not yet exist in the result list { if (validateAttractor(states_set,set->nodeCount,avoidSelfLoops,net)) // check whether this is a true attractor { pAttractor attractor = CALLOC(1,sizeof(Attractor)); attractor->numElementsPerEntry = numElts; attractor->length = set->nodeCount; attractor->involvedStates = CALLOC(numElts * set->nodeCount,sizeof(unsigned int)); memcpy(attractor->involvedStates,states_set,sizeof(unsigned int) * numElts * set->nodeCount); attractor->transitionTableSize = 0; if (set->nodeCount != 1) // if this is a steady-state attractor, no need to store transition table! getLooseAttractorTransitionTable(set->root,&attractor->table,numElts,&(attractor->transitionTableSize)); ++attractorCount; attractor->next = attractorList; attractorList = attractor; } } freeStateTree(set); } pAttractorInfo res = allocAttractorInfo(0,net->numGenes); res->numAttractors = attractorCount; res->attractorList = attractorList; return res; } BoolNet/src/attractor_search_interface.c0000644000176200001440000002605012733234746020135 0ustar liggesusers#include #include #include "statespace_search.h" #include "sat_search.h" #include "common.h" /** * Identification of attractors */ #define SYNC_MODE_STATE_SPACE 0 #define ASYNC_MODE_RANDOM 1 #define SYNC_MODE_SAT_EXHAUSTIVE 2 #define SYNC_MODE_SAT_RESTRICTED 3 /** * The R wrapper function for getAttractors. * Arguments: * inputGenes An integer vector containing the concatenated input gene lists * of *all* transition functions * inputGenePositions A vector of positions to split up for each transition function * transitionFunctions The concatenated truth table result columns of the transition functions of all genes. * transitionFunctionPositions A vector of positions to split up for each transition function. * fixedGenes A vector that contains -1 for all genes that can be both ON and OFF, 1 for genes that are always ON, * and 0 for genes that are always OFF. * specialInitializations A matrix of special initializations supplied by the user. The first row contains the genes, * the second row contains the corresponding initialization values. * startStates An optional array of encoded states used to initialize the heuristics * (not needed for exhaustive search) * simType An integer that determines whether a synchronous, asynchronous or SAT-based search is performed * geneProbabilities For asynchronous search, the probabilities of each gene to be chosen for update * randomSteps For asynchronous search, the number of random transitions performed to reach a potential attractor * avoidSelfLoops If set to true, self loops are only allowed if no other transitions are possible, which reduces the * number of edges in the attractors * returnTable If set to true and networkType is synchronous, the transition table is included in the return value. * maxAttractorSize The maximum attractor length for SAT-based search */ SEXP getAttractors_R(SEXP inputGenes, SEXP inputGenePositions, SEXP transitionFunctions, SEXP transitionFunctionPositions, SEXP fixedGenes, SEXP startStates, SEXP simType, SEXP geneProbabilities, SEXP randomSteps, SEXP avoidSelfLoops, SEXP returnTable, SEXP maxAttractorSize) { GetRNGstate(); // decode information in SEXP for use in C TruthTableBooleanNetwork network; network.type = TRUTHTABLE_BOOLEAN_NETWORK; network.numGenes = length(fixedGenes); network.inputGenes = INTEGER(inputGenes); network.inputGenePositions = INTEGER(inputGenePositions); network.transitionFunctions = INTEGER(transitionFunctions); network.transitionFunctionPositions = INTEGER(transitionFunctionPositions); network.fixedGenes = INTEGER(fixedGenes); network.nonFixedGeneBits = CALLOC(network.numGenes, sizeof(unsigned int)); int _networkType = *INTEGER(simType); int _randomSteps = *INTEGER(randomSteps); bool _returnTable = (bool) (*INTEGER(returnTable)); bool _avoidSelfLoops = (bool) (*INTEGER(avoidSelfLoops)); double * _probabilities = NULL; if (!isNull(geneProbabilities) && length(geneProbabilities) > 0) _probabilities = REAL(geneProbabilities); // count fixed genes, and create an index array for non-fixed genes: // contains the bit positions in a state // at which the -th gene is stored - this is different from // as fixed genes are not stored unsigned int numNonFixed = 0, i; for (i = 0; i < network.numGenes; i++) { if (network.fixedGenes[i] == -1) { network.nonFixedGeneBits[i] = numNonFixed++; } } pAttractorInfo res; if (_networkType == SYNC_MODE_STATE_SPACE && (isNull(startStates) || length(startStates) == 0)) // no start states supplied => perform exhaustive search { // calculate transition table unsigned long long * table = getTransitionTable(&network); if (table == 0) { PutRNGstate(); return R_NilValue; } unsigned long long numStates = (unsigned long long) 1 << numNonFixed;//pow(2,numNonFixed); // find attractors res = getAttractors(table, numStates, network.numGenes); } else // start states supplied or SAT search { unsigned int numElts; if (network.numGenes % BITS_PER_BLOCK_32 == 0) numElts = network.numGenes / BITS_PER_BLOCK_32; else numElts = network.numGenes / BITS_PER_BLOCK_32 + 1; unsigned int* _startStates = (unsigned int*) INTEGER(startStates); if (_networkType == SYNC_MODE_STATE_SPACE) { for (unsigned int i = 0; i < length(startStates) / numElts; ++i) { removeFixedGenes(&_startStates[i * numElts], network.fixedGenes, network.numGenes); } res = getAttractorsForStates(_startStates, length(startStates) / numElts, &network); } else if (_networkType == SYNC_MODE_SAT_EXHAUSTIVE) { int _maxAttractorSize; if (isNull(maxAttractorSize)) { _maxAttractorSize = 1; } else _maxAttractorSize = *INTEGER(maxAttractorSize); res = getAttractors_SAT_exhaustive( (BooleanNetwork *) &network, _maxAttractorSize, EXTENSION_MIXED); } else if (_networkType == SYNC_MODE_SAT_RESTRICTED) { res = getAttractors_SAT_maxLength((BooleanNetwork *) &network, *INTEGER(maxAttractorSize)); } else { res = getLooseAttractors(_startStates, length(startStates) / numElts, &network, _randomSteps, _avoidSelfLoops, _probabilities); } } // pack results in SEXP structure for return value SEXP resSXP; SEXP stateInfoSXP; int* array; // create a result list with two elements (attractors and transition table) PROTECT(resSXP = allocList(2)); SET_TAG(resSXP, install("stateInfo")); SET_TAG(CDR(resSXP), install("attractors")); if (res->tableSize != 0 && _returnTable) { // create a 3-element list for the transition table PROTECT(stateInfoSXP = allocList(4)); SET_TAG(stateInfoSXP, install("table")); SET_TAG(CDR(stateInfoSXP), install("attractorAssignment")); SET_TAG(CDR(CDR(stateInfoSXP)), install("stepsToAttractor")); SET_TAG(CDR(CDR(CDR(stateInfoSXP))), install("initialStates")); // write transition table result column SEXP tableSXP; PROTECT( tableSXP = allocVector(INTSXP,res->tableSize * res->numElementsPerEntry)); array = INTEGER(tableSXP); for (i = 0; i < res->tableSize; ++i) { // the transition table results do not contain fixed genes => insert them insertFixedGenes(&res->table[i * res->numElementsPerEntry], network.fixedGenes, network.numGenes); memcpy(&array[i * res->numElementsPerEntry], &res->table[i * res->numElementsPerEntry], res->numElementsPerEntry * sizeof(unsigned int)); } SETCAR(stateInfoSXP, tableSXP); UNPROTECT(1); // write attractor assignment vector for states in transition table SEXP assignmentSXP; PROTECT(assignmentSXP = allocVector(INTSXP,res->tableSize)); array = INTEGER(assignmentSXP); memcpy(array, res->attractorAssignment, res->tableSize * sizeof(int)); SETCADR(stateInfoSXP, assignmentSXP); UNPROTECT(1); // write a vector with number of transitions from a state to an attractor SEXP stepSXP; PROTECT(stepSXP = allocVector(INTSXP,res->tableSize)); array = INTEGER(stepSXP); memcpy(array, res->stepsToAttractor, res->tableSize * sizeof(int)); SETCADDR(stateInfoSXP, stepSXP); UNPROTECT(1); // if available, write the original states SEXP initialStateSXP; if (res->initialStates == 0) initialStateSXP = R_NilValue; else // if start states are specified, the initial states for each transition have to be saved as well, // as they cannot be inferred by enumeration { PROTECT( initialStateSXP = allocVector(INTSXP,res->tableSize * res->numElementsPerEntry)); array = INTEGER(initialStateSXP); for (i = 0; i < res->tableSize; ++i) { // the transition table results do not contain fixed genes => insert them insertFixedGenes( &res->initialStates[i * res->numElementsPerEntry], network.fixedGenes, network.numGenes); memcpy(&array[i * res->numElementsPerEntry], &res->initialStates[i * res->numElementsPerEntry], res->numElementsPerEntry * sizeof(unsigned int)); } SETCADDDR(stateInfoSXP, initialStateSXP); UNPROTECT(1); } } else { stateInfoSXP = R_NilValue; } // assign to result list SETCAR(resSXP, stateInfoSXP); if (res->tableSize != 0 && _returnTable) UNPROTECT(1); // count attractors unsigned int numAttractors = 0; pAttractor el; for (el = res->attractorList; el->next != NULL; el = el->next) ++numAttractors; // write attractors SEXP attractorsSXP; PROTECT(attractorsSXP = allocList(numAttractors)); SEXP listPos = attractorsSXP; for (el = res->attractorList, i = 0; el->next != NULL; el = el->next, ++i) { SEXP attractorSXP; // each attractor is a 2-element list with a list of states included // in the attractor and the size of the basin if (el->transitionTableSize == 0) PROTECT(attractorSXP = allocList(2)); else PROTECT(attractorSXP = allocList(4)); SET_TAG(attractorSXP, install("involvedStates")); SET_TAG(CDR(attractorSXP), install("basinSize")); if (el->transitionTableSize != 0) { SET_TAG(CDR(CDR(attractorSXP)), install("initialStates")); SET_TAG(CDR(CDR(CDR(attractorSXP))), install("nextStates")); } SEXP stateSXP; PROTECT( stateSXP = allocVector(INTSXP,el->length * el->numElementsPerEntry)); array = INTEGER(stateSXP); for (i = 0; i < el->length; ++i) { if (_networkType == SYNC_MODE_STATE_SPACE) // insert fixed gene values, as they are missing in the calculated results insertFixedGenes( &el->involvedStates[i * el->numElementsPerEntry], network.fixedGenes, network.numGenes); memcpy(&array[i * el->numElementsPerEntry], &el->involvedStates[i * el->numElementsPerEntry], el->numElementsPerEntry * sizeof(unsigned int)); } SETCAR(attractorSXP, stateSXP); // write basin size SEXP basinSXP; PROTECT(basinSXP = allocVector(INTSXP,1)); array = INTEGER(basinSXP); array[0] = el->basinSize; SETCADR(attractorSXP, basinSXP); SETCAR(listPos, attractorSXP); if (el->next != NULL) listPos = CDR(listPos); if (el->transitionTableSize != 0) { SEXP attrInitialStateSXP; SEXP attrNextStateSXP; PROTECT( attrInitialStateSXP = allocVector(INTSXP,el->numElementsPerEntry * el->transitionTableSize)); PROTECT( attrNextStateSXP = allocVector(INTSXP,el->numElementsPerEntry * el->transitionTableSize)); unsigned int * initial = (unsigned int*) INTEGER( attrInitialStateSXP); unsigned int * next = (unsigned int*) INTEGER(attrNextStateSXP); TransitionTableEntry * currentState = el->table; for (i = 0; i < el->transitionTableSize; ++i) { memcpy(&initial[i * el->numElementsPerEntry], currentState->initialState, sizeof(unsigned int) * el->numElementsPerEntry); memcpy(&next[i * el->numElementsPerEntry], currentState->nextState, sizeof(unsigned int) * el->numElementsPerEntry); currentState = currentState->next; } SETCADDR(attractorSXP, attrInitialStateSXP); SETCADDDR(attractorSXP, attrNextStateSXP); UNPROTECT(2); } UNPROTECT(3); } UNPROTECT(1); SETCADR(resSXP, attractorsSXP); PutRNGstate(); UNPROTECT(1); // free resources freeAttractorInfo(res); FREE(network.nonFixedGeneBits); return (resSXP); } BoolNet/src/picosat.c0000644000176200001440000050062412733234746014233 0ustar liggesusers/**************************************************************************** Copyright (c) 2006 - 2015, Armin Biere, Johannes Kepler University. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ****************************************************************************/ #include #include #include #include #include #include #include #include #include "picosat.h" /* By default code for 'all different constraints' is disabled, since 'NADC' * is defined. */ #define NADC /* By default we enable failed literals, since 'NFL' is undefined. * #define NFL */ /* By default we 'detach satisfied (large) clauses', e.g. NDSC undefined. * #define NDSC */ /* Do not use luby restart schedule instead of inner/outer. * #define NLUBY */ /* Enabling this define, will use gnuplot to visualize how the scores evolve. * #define VISCORES */ #ifdef VISCORES // #define WRITEGIF /* ... to generate a video */ #endif #ifdef VISCORES #ifndef WRITEGIF #include /* for 'usleep' */ #endif #endif #ifndef NRCODE #include #endif #define MINRESTART 100 /* minimum restart interval */ #define MAXRESTART 1000000 /* maximum restart interval */ #define RDECIDE 1000 /* interval of random decisions */ #define FRESTART 110 /* restart increase factor in percent */ #define FREDUCE 110 /* reduce increase factor in percent */ #define FREDADJ 121 /* reduce increase adjustment factor */ #define MAXCILS 10 /* maximal number of unrecycled internals */ #define FFLIPPED 10000 /* flipped reduce factor */ #define FFLIPPEDPREC 10000000/* flipped reduce factor precision */ #define INTERRUPTLIM 1024 /* check interrupt after that many decisions */ #ifndef TRACE #define NO_BINARY_CLAUSES /* store binary clauses more compactly */ #endif /* For debugging purposes you may want to define 'LOGGING', which actually * can be enforced by using the '--log' option for the configure script. */ #ifdef LOGGING #define LOG(code) do { code; } while (0) #else #define LOG(code) do { } while (0) #endif #define NOLOG(code) do { } while (0) /* log exception */ #define ONLYLOG(code) do { code; } while (0) /* force logging */ #define FALSE ((Val)-1) #define UNDEF ((Val)0) #define TRUE ((Val)1) #define COMPACT_TRACECHECK_TRACE_FMT 0 #define EXTENDED_TRACECHECK_TRACE_FMT 1 #define RUP_TRACE_FMT 2 #define NEWN(p,n) do { (p) = new (ps, sizeof (*(p)) * (n)); } while (0) #define CLRN(p,n) do { memset ((p), 0, sizeof (*(p)) * (n)); } while (0) #define CLR(p) CLRN(p,1) #define DELETEN(p,n) \ do { delete (ps, p, sizeof (*(p)) * (n)); (p) = 0; } while (0) #define RESIZEN(p,old_num,new_num) \ do { \ size_t old_size = sizeof (*(p)) * (old_num); \ size_t new_size = sizeof (*(p)) * (new_num); \ (p) = resize (ps, (p), old_size, new_size) ; \ } while (0) #define ENLARGE(start,head,end) \ do { \ unsigned old_num = (ptrdiff_t)((end) - (start)); \ size_t new_num = old_num ? (2 * old_num) : 1; \ unsigned count = (head) - (start); \ assert ((start) <= (end)); \ RESIZEN((start),old_num,new_num); \ (head) = (start) + count; \ (end) = (start) + new_num; \ } while (0) #define NOTLIT(l) (ps->lits + (1 ^ ((l) - ps->lits))) #define LIT2IDX(l) ((ptrdiff_t)((l) - ps->lits) / 2) #define LIT2IMPLS(l) (ps->impls + (ptrdiff_t)((l) - ps->lits)) #define LIT2INT(l) ((int)(LIT2SGN(l) * LIT2IDX(l))) #define LIT2SGN(l) (((ptrdiff_t)((l) - ps->lits) & 1) ? -1 : 1) #define LIT2VAR(l) (ps->vars + LIT2IDX(l)) #define LIT2HTPS(l) (ps->htps + (ptrdiff_t)((l) - ps->lits)) #define LIT2JWH(l) (ps->jwh + ((l) - ps->lits)) #ifndef NDSC #define LIT2DHTPS(l) (ps->dhtps + (ptrdiff_t)((l) - ps->lits)) #endif #ifdef NO_BINARY_CLAUSES typedef uintptr_t Wrd; #define ISLITREASON(C) (1&(Wrd)C) #define LIT2REASON(L) \ (assert (L->val==TRUE), ((Cls*)(1 + (2*(L - ps->lits))))) #define REASON2LIT(C) ((Lit*)(ps->lits + ((Wrd)C)/2)) #endif #define ENDOFCLS(c) ((void*)((Lit**)(c)->lits + (c)->size)) #define SOC ((ps->oclauses == ps->ohead) ? ps->lclauses : ps->oclauses) #define EOC (ps->lhead) #define NXC(p) (((p) + 1 == ps->ohead) ? ps->lclauses : (p) + 1) #define OIDX2IDX(idx) (2 * ((idx) + 1)) #define LIDX2IDX(idx) (2 * (idx) + 1) #define ISLIDX(idx) ((idx)&1) #define IDX2OIDX(idx) (assert(!ISLIDX(idx)), (idx)/2 - 1) #define IDX2LIDX(idx) (assert(ISLIDX(idx)), (idx)/2) #define EXPORTIDX(idx) \ ((ISLIDX(idx) ? (IDX2LIDX (idx) + (ps->ohead - ps->oclauses)) : IDX2OIDX(idx)) + 1) #define IDX2CLS(i) \ (assert(i), (ISLIDX(i) ? ps->lclauses : ps->oclauses)[(i)/2 - !ISLIDX(i)]) #define IDX2ZHN(i) (assert(i), (ISLIDX(i) ? ps->zhains[(i)/2] : 0)) #define CLS2TRD(c) (((Trd*)(c)) - 1) #define CLS2IDX(c) ((((Trd*)(c)) - 1)->idx) #define CLS2ACT(c) \ ((Act*)((assert((c)->learned)),assert((c)->size>2),ENDOFCLS(c))) #define VAR2LIT(v) (ps->lits + 2 * ((v) - ps->vars)) #define VAR2RNK(v) (ps->rnks + ((v) - ps->vars)) #define RNK2LIT(r) (ps->lits + 2 * ((r) - ps->rnks)) #define RNK2VAR(r) (ps->vars + ((r) - ps->rnks)) #define BLK_FILL_BYTES 8 #define SIZE_OF_BLK (sizeof (Blk) - BLK_FILL_BYTES) #define PTR2BLK(void_ptr) \ ((void_ptr) ? (Blk*)(((char*)(void_ptr)) - SIZE_OF_BLK) : 0) #define AVERAGE(a,b) ((b) ? (((double)a) / (double)(b)) : 0.0) #define PERCENT(a,b) (100.0 * AVERAGE(a,b)) #ifndef NRCODE #define ABORT(msg) \ do { \ Rf_error(msg); \ } while (0) #else #define ABORT(msg) \ do { \ fputs ("*** picosat: " msg "\n", stderr); \ abort (); \ } while (0) #endif #define ABORTIF(cond,msg) \ do { \ if (!(cond)) break; \ ABORT (msg); \ } while (0) #define ZEROFLT (0x00000000u) #define EPSFLT (0x00000001u) #define INFFLT (0xffffffffu) #define FLTCARRY (1u << 25) #define FLTMSB (1u << 24) #define FLTMAXMANTISSA (FLTMSB - 1) #define FLTMANTISSA(d) ((d) & FLTMAXMANTISSA) #define FLTEXPONENT(d) ((int)((d) >> 24) - 128) #define FLTMINEXPONENT (-128) #define FLTMAXEXPONENT (127) #define CMPSWAPFLT(a,b) \ do { \ Flt tmp; \ if (((a) < (b))) \ { \ tmp = (a); \ (a) = (b); \ (b) = tmp; \ } \ } while (0) #define UNPACKFLT(u,m,e) \ do { \ (m) = FLTMANTISSA(u); \ (e) = FLTEXPONENT(u); \ (m) |= FLTMSB; \ } while (0) #define INSERTION_SORT_LIMIT 10 #define SORTING_SWAP(T,p,q) \ do { \ T tmp = *(q); \ *(q) = *(p); \ *(p) = tmp; \ } while (0) #define SORTING_CMP_SWAP(T,cmp,p,q) \ do { \ if ((cmp) (ps, *(p), *(q)) > 0) \ SORTING_SWAP (T, p, q); \ } while(0) #define QUICKSORT_PARTITION(T,cmp,a,l,r) \ do { \ T pivot; \ int j; \ i = (l) - 1; /* result in 'i' */ \ j = (r); \ pivot = (a)[j]; \ for (;;) \ { \ while ((cmp) (ps, (a)[++i], pivot) < 0) \ ; \ while ((cmp) (ps, pivot, (a)[--j]) < 0) \ if (j == (l)) \ break; \ if (i >= j) \ break; \ SORTING_SWAP (T, (a) + i, (a) + j); \ } \ SORTING_SWAP (T, (a) + i, (a) + (r)); \ } while(0) #define QUICKSORT(T,cmp,a,n) \ do { \ int l = 0, r = (n) - 1, m, ll, rr, i; \ assert (ps->ihead == ps->indices); \ if (r - l <= INSERTION_SORT_LIMIT) \ break; \ for (;;) \ { \ m = (l + r) / 2; \ SORTING_SWAP (T, (a) + m, (a) + r - 1); \ SORTING_CMP_SWAP (T, cmp, (a) + l, (a) + r - 1); \ SORTING_CMP_SWAP (T, cmp, (a) + l, (a) + r); \ SORTING_CMP_SWAP (T, cmp, (a) + r - 1, (a) + r); \ QUICKSORT_PARTITION (T, cmp, (a), l + 1, r - 1); \ if (i - l < r - i) \ { \ ll = i + 1; \ rr = r; \ r = i - 1; \ } \ else \ { \ ll = l; \ rr = i - 1; \ l = i + 1; \ } \ if (r - l > INSERTION_SORT_LIMIT) \ { \ assert (rr - ll > INSERTION_SORT_LIMIT); \ if (ps->ihead == ps->eoi) \ ENLARGE (ps->indices, ps->ihead, ps->eoi); \ *ps->ihead++ = ll; \ if (ps->ihead == ps->eoi) \ ENLARGE (ps->indices, ps->ihead, ps->eoi); \ *ps->ihead++ = rr; \ } \ else if (rr - ll > INSERTION_SORT_LIMIT) \ { \ l = ll; \ r = rr; \ } \ else if (ps->ihead > ps->indices) \ { \ r = *--ps->ihead; \ l = *--ps->ihead; \ } \ else \ break; \ } \ } while (0) #define INSERTION_SORT(T,cmp,a,n) \ do { \ T pivot; \ int l = 0, r = (n) - 1, i, j; \ for (i = r; i > l; i--) \ SORTING_CMP_SWAP (T, cmp, (a) + i - 1, (a) + i); \ for (i = l + 2; i <= r; i++) \ { \ j = i; \ pivot = (a)[i]; \ while ((cmp) (ps, pivot, (a)[j - 1]) < 0) \ { \ (a)[j] = (a)[j - 1]; \ j--; \ } \ (a)[j] = pivot; \ } \ } while (0) #ifdef NDEBUG #define CHECK_SORTED(cmp,a,n) do { } while(0) #else #define CHECK_SORTED(cmp,a,n) \ do { \ int i; \ for (i = 0; i < (n) - 1; i++) \ assert ((cmp) (ps, (a)[i], (a)[i + 1]) <= 0); \ } while(0) #endif #define SORT(T,cmp,a,n) \ do { \ T * aa = (a); \ int nn = (n); \ QUICKSORT (T, cmp, aa, nn); \ INSERTION_SORT (T, cmp, aa, nn); \ assert (ps->ihead == ps->indices); \ CHECK_SORTED (cmp, aa, nn); \ } while (0) #define WRDSZ (sizeof (long) * 8) #ifndef NRCODE #define picosat_fprintf(...) do { } while (0) #define picosat_vfprintf(...) do { } while (0) #define picosat_fputs(...) do { } while (0) #define picosat_fputc(...) do { } while (0) #else #define picosat_fprintf(file, fmt, ...) do { fprintf(file, fmt, ##__VA_ARGS__); } while (0) #define picosat_vfprintf(file, fmt, va_list) do { vfprintf(file, fmt, va_list); } while (0) #define picosat_fputs(str, file) do { fputs(str, file); } while (0) #define picosat_fputc(c, file) do { fputc(c, file); } while (0) #endif typedef unsigned Flt; /* 32 bit deterministic soft float */ typedef Flt Act; /* clause and variable activity */ typedef struct Blk Blk; /* allocated memory block */ typedef struct Cls Cls; /* clause */ typedef struct Lit Lit; /* literal */ typedef struct Rnk Rnk; /* variable to score mapping */ typedef signed char Val; /* TRUE, UNDEF, FALSE */ typedef struct Var Var; /* variable */ #ifdef TRACE typedef struct Trd Trd; /* trace data for clauses */ typedef struct Zhn Zhn; /* compressed chain (=zain) data */ typedef unsigned char Znt; /* compressed antecedent data */ #endif #ifdef NO_BINARY_CLAUSES typedef struct Ltk Ltk; struct Ltk { Lit ** start; unsigned count : WRDSZ == 32 ? 27 : 32; unsigned ldsize : WRDSZ == 32 ? 5 : 32; }; #endif struct Lit { Val val; }; struct Var { unsigned mark : 1; /*bit 1*/ unsigned resolved : 1; /*bit 2*/ unsigned phase : 1; /*bit 3*/ unsigned assigned : 1; /*bit 4*/ unsigned used : 1; /*bit 5*/ unsigned failed : 1; /*bit 6*/ unsigned internal : 1; /*bit 7*/ unsigned usedefphase : 1; /*bit 8*/ unsigned defphase : 1; /*bit 9*/ unsigned msspos : 1; /*bit 10*/ unsigned mssneg : 1; /*bit 11*/ unsigned humuspos : 1; /*bit 12*/ unsigned humusneg : 1; /*bit 13*/ unsigned partial : 1; /*bit 14*/ #ifdef TRACE unsigned core : 1; /*bit 15*/ #endif unsigned level; Cls *reason; #ifndef NADC Lit ** inado; Lit ** ado; Lit *** adotabpos; #endif }; struct Rnk { Act score; unsigned pos : 30; /* 0 iff not on heap */ unsigned moreimportant : 1; unsigned lessimportant : 1; }; struct Cls { unsigned size; unsigned collect:1; /* bit 1 */ unsigned learned:1; /* bit 2 */ unsigned locked:1; /* bit 3 */ unsigned used:1; /* bit 4 */ #ifndef NDEBUG unsigned connected:1; /* bit 5 */ #endif #ifdef TRACE unsigned collected:1; /* bit 6 */ unsigned core:1; /* bit 7 */ #endif #define LDMAXGLUE 25 /* 32 - 7 */ #define MAXGLUE ((1<= FLTCARRY) { if (e >= FLTMAXEXPONENT) return INFFLT; e++; m >>= 1; } } m &= ~FLTMSB; return packflt (m, e); } static Flt addflt (Flt a, Flt b) { unsigned ma, mb, delta; int ea, eb; CMPSWAPFLT (a, b); if (!b) return a; UNPACKFLT (a, ma, ea); UNPACKFLT (b, mb, eb); assert (ea >= eb); delta = ea - eb; if (delta < 32) mb >>= delta; else mb = 0; if (!mb) return a; ma += mb; if (ma & FLTCARRY) { if (ea == FLTMAXEXPONENT) return INFFLT; ea++; ma >>= 1; } assert (ma < FLTCARRY); ma &= FLTMAXMANTISSA; return packflt (ma, ea); } static Flt mulflt (Flt a, Flt b) { unsigned ma, mb; unsigned long long accu; int ea, eb; CMPSWAPFLT (a, b); if (!b) return ZEROFLT; UNPACKFLT (a, ma, ea); UNPACKFLT (b, mb, eb); ea += eb; ea += 24; if (ea > FLTMAXEXPONENT) return INFFLT; if (ea < FLTMINEXPONENT) return EPSFLT; accu = ma; accu *= mb; accu >>= 24; if (accu >= FLTCARRY) { if (ea == FLTMAXEXPONENT) return INFFLT; ea++; accu >>= 1; if (accu >= FLTCARRY) return INFFLT; } assert (accu < FLTCARRY); assert (accu & FLTMSB); ma = accu; ma &= ~FLTMSB; return packflt (ma, ea); } static Flt ascii2flt (const char *str) { Flt ten = base2flt (10, 0); Flt onetenth = base2flt (26843546, -28); Flt res = ZEROFLT, tmp, base; const char *p = str; char ch; ch = *p++; if (ch != '.') { if (!isdigit (ch)) return INFFLT; /* better abort ? */ res = base2flt (ch - '0', 0); while ((ch = *p++)) { if (ch == '.') break; if (!isdigit (ch)) return INFFLT; /* better abort? */ res = mulflt (res, ten); tmp = base2flt (ch - '0', 0); res = addflt (res, tmp); } } if (ch == '.') { ch = *p++; if (!isdigit (ch)) return INFFLT; /* better abort ? */ base = onetenth; tmp = mulflt (base2flt (ch - '0', 0), base); res = addflt (res, tmp); while ((ch = *p++)) { if (!isdigit (ch)) return INFFLT; /* better abort? */ base = mulflt (base, onetenth); tmp = mulflt (base2flt (ch - '0', 0), base); res = addflt (res, tmp); } } return res; } #if defined(VISCORES) static double flt2double (Flt f) { double res; unsigned m; int e, i; UNPACKFLT (f, m, e); res = m; if (e < 0) { for (i = e; i < 0; i++) res *= 0.5; } else { for (i = 0; i < e; i++) res *= 2.0; } return res; } #endif static int log2flt (Flt a) { return FLTEXPONENT (a) + 24; } static int cmpflt (Flt a, Flt b) { if (a < b) return -1; if (a > b) return 1; return 0; } static void * new (PS * ps, size_t size) { size_t bytes; Blk *b; if (!size) return 0; bytes = size + SIZE_OF_BLK; if (ps->enew) b = ps->enew (ps->emgr, bytes); else b = malloc (bytes); ABORTIF (!b, "out of memory in 'new'"); #ifndef NDEBUG b->header.size = size; #endif ps->current_bytes += size; if (ps->current_bytes > ps->max_bytes) ps->max_bytes = ps->current_bytes; return b->data; } static void delete (PS * ps, void *void_ptr, size_t size) { size_t bytes; Blk *b; if (!void_ptr) { assert (!size); return; } assert (size); b = PTR2BLK (void_ptr); assert (size <= ps->current_bytes); ps->current_bytes -= size; assert (b->header.size == size); bytes = size + SIZE_OF_BLK; if (ps->edelete) ps->edelete (ps->emgr, b, bytes); else free (b); } static void * resize (PS * ps, void *void_ptr, size_t old_size, size_t new_size) { size_t old_bytes, new_bytes; Blk *b; b = PTR2BLK (void_ptr); assert (old_size <= ps->current_bytes); ps->current_bytes -= old_size; if ((old_bytes = old_size)) { assert (old_size && b && b->header.size == old_size); old_bytes += SIZE_OF_BLK; } else assert (!b); if ((new_bytes = new_size)) new_bytes += SIZE_OF_BLK; if (ps->eresize) b = ps->eresize (ps->emgr, b, old_bytes, new_bytes); else b = realloc (b, new_bytes); if (!new_size) { assert (!b); return 0; } ABORTIF (!b, "out of memory in 'resize'"); #ifndef NDEBUG b->header.size = new_size; #endif ps->current_bytes += new_size; if (ps->current_bytes > ps->max_bytes) ps->max_bytes = ps->current_bytes; return b->data; } static unsigned int2unsigned (int l) { return (l < 0) ? 1 + 2 * -l : 2 * l; } static Lit * int2lit (PS * ps, int l) { return ps->lits + int2unsigned (l); } static Lit ** end_of_lits (Cls * c) { return (Lit**)c->lits + c->size; } #if !defined(NDEBUG) || defined(LOGGING) static void dumplits (PS * ps, Lit ** l, Lit ** end) { int first; Lit ** p; if (l == end) { /* empty clause */ } else if (l + 1 == end) { picosat_fprintf (ps->out, "%d ", LIT2INT (l[0])); } else { assert (l + 2 <= end); first = (abs (LIT2INT (l[0])) > abs (LIT2INT (l[1]))); picosat_fprintf (ps->out, "%d ", LIT2INT (l[first])); picosat_fprintf (ps->out, "%d ", LIT2INT (l[!first])); for (p = l + 2; p < end; p++) picosat_fprintf (ps->out, "%d ", LIT2INT (*p)); } picosat_fputc ('0', ps->out); } static void dumpcls (PS * ps, Cls * c) { Lit **end; if (c) { end = end_of_lits (c); dumplits (ps, c->lits, end); #ifdef TRACE if (ps->trace) picosat_fprintf (ps->out, " clause(%u)", CLS2IDX (c)); #endif } else picosat_fputs ("DECISION", ps->out); } static void dumpclsnl (PS * ps, Cls * c) { dumpcls (ps, c); picosat_fputc ('\n', ps->out); } void dumpcnf (PS * ps) { Cls **p, *c; for (p = SOC; p != EOC; p = NXC (p)) { c = *p; if (!c) continue; #ifdef TRACE if (c->collected) continue; #endif dumpclsnl (ps, *p); } } #endif static void delete_prefix (PS * ps) { if (!ps->prefix) return; delete (ps, ps->prefix, strlen (ps->prefix) + 1); ps->prefix = 0; } static void new_prefix (PS * ps, const char * str) { delete_prefix (ps); assert (str); ps->prefix = new (ps, strlen (str) + 1); strcpy (ps->prefix, str); } static PS * init (void * pmgr, picosat_malloc pnew, picosat_realloc presize, picosat_free pdelete) { PS * ps; #if 0 int count = 3 - !pnew - !presize - !pdelete; ABORTIF (count && !pnew, "API usage: missing 'picosat_set_new'"); ABORTIF (count && !presize, "API usage: missing 'picosat_set_resize'"); ABORTIF (count && !pdelete, "API usage: missing 'picosat_set_delete'"); #endif ps = pnew ? pnew (pmgr, sizeof *ps) : malloc (sizeof *ps); ABORTIF (!ps, "failed to allocate memory for PicoSAT manager"); memset (ps, 0, sizeof *ps); ps->emgr = pmgr; ps->enew = pnew; ps->eresize = presize; ps->edelete = pdelete; ps->size_vars = 1; ps->state = RESET; ps->defaultphase = JWLPHASE; #ifdef TRACE ps->ocore = -1; #endif ps->lastrheader = -2; #ifndef NADC ps->adoconflictlimit = UINT_MAX; #endif ps->min_flipped = UINT_MAX; NEWN (ps->lits, 2 * ps->size_vars); NEWN (ps->jwh, 2 * ps->size_vars); NEWN (ps->htps, 2 * ps->size_vars); #ifndef NDSC NEWN (ps->dhtps, 2 * ps->size_vars); #endif NEWN (ps->impls, 2 * ps->size_vars); NEWN (ps->vars, ps->size_vars); NEWN (ps->rnks, ps->size_vars); /* because '0' pos denotes not on heap */ ENLARGE (ps->heap, ps->hhead, ps->eoh); ps->hhead = ps->heap + 1; ps->vinc = base2flt (1, 0); /* initial var activity */ ps->ifvinc = ascii2flt ("1.05"); /* var score rescore factor */ #ifdef VISCORES ps->fvinc = ascii2flt ("0.9523809"); /* 1/f = 1/1.05 */ ps->nvinc = ascii2flt ("0.0476191"); /* 1 - 1/f = 1 - 1/1.05 */ #endif ps->lscore = base2flt (1, 90); /* var activity rescore limit */ ps->ilvinc = base2flt (1, -90); /* inverse of 'lscore' */ ps->cinc = base2flt (1, 0); /* initial clause activity */ ps->fcinc = ascii2flt ("1.001"); /* cls activity rescore factor */ ps->lcinc = base2flt (1, 90); /* cls activity rescore limit */ ps->ilcinc = base2flt (1, -90); /* inverse of 'ilcinc' */ ps->lreduceadjustcnt = ps->lreduceadjustinc = 100; ps->lpropagations = ~0ull; #ifdef NRCODE ps->out = stdout; #else ps->out = NULL; #endif new_prefix (ps, "c "); ps->verbosity = 0; ps->plain = 0; #ifdef NO_BINARY_CLAUSES memset (&ps->impl, 0, sizeof (ps->impl)); ps->impl.size = 2; memset (&ps->cimpl, 0, sizeof (ps->impl)); ps->cimpl.size = 2; #endif #ifdef VISCORES ps->fviscores = popen ( "/usr/bin/gnuplot -background black" " -xrm 'gnuplot*textColor:white'" " -xrm 'gnuplot*borderColor:white'" " -xrm 'gnuplot*axisColor:white'" , "w"); picosat_fprintf (ps->fviscores, "unset key\n"); // fprintf (ps->fviscores, "set log y\n"); fflush (ps->fviscores); system ("rm -rf /tmp/picosat-viscores"); system ("mkdir /tmp/picosat-viscores"); system ("mkdir /tmp/picosat-viscores/data"); #ifdef WRITEGIF system ("mkdir /tmp/picosat-viscores/gif"); picosat_fprintf (ps->fviscores, "set terminal gif giant animate opt size 1024,768 x000000 xffffff" "\n"); picosat_fprintf (ps->fviscores, "set output \"/tmp/picosat-viscores/gif/animated.gif\"\n"); #endif #endif ps->defaultphase = JWLPHASE; ps->state = READY; ps->last_sat_call_result = 0; return ps; } static size_t bytes_clause (PS * ps, unsigned size, unsigned learned) { size_t res; res = sizeof (Cls); res += size * sizeof (Lit *); res -= 2 * sizeof (Lit *); if (learned && size > 2) res += sizeof (Act); /* add activity */ #ifdef TRACE if (ps->trace) res += sizeof (Trd); /* add trace data */ #else (void) ps; #endif return res; } static Cls * new_clause (PS * ps, unsigned size, unsigned learned) { size_t bytes; void * tmp; #ifdef TRACE Trd *trd; #endif Cls *res; bytes = bytes_clause (ps, size, learned); tmp = new (ps, bytes); #ifdef TRACE if (ps->trace) { trd = tmp; if (learned) trd->idx = LIDX2IDX (ps->lhead - ps->lclauses); else trd->idx = OIDX2IDX (ps->ohead - ps->oclauses); res = trd->cls; } else #endif res = tmp; res->size = size; res->learned = learned; res->collect = 0; #ifndef NDEBUG res->connected = 0; #endif res->locked = 0; res->used = 0; #ifdef TRACE res->core = 0; res->collected = 0; #endif if (learned && size > 2) { Act * p = CLS2ACT (res); *p = ps->cinc; } return res; } static void delete_clause (PS * ps, Cls * c) { size_t bytes; #ifdef TRACE Trd *trd; #endif bytes = bytes_clause (ps, c->size, c->learned); #ifdef TRACE if (ps->trace) { trd = CLS2TRD (c); delete (ps, trd, bytes); } else #endif delete (ps, c, bytes); } static void delete_clauses (PS * ps) { Cls **p; for (p = SOC; p != EOC; p = NXC (p)) if (*p) delete_clause (ps, *p); DELETEN (ps->oclauses, ps->eoo - ps->oclauses); DELETEN (ps->lclauses, ps->EOL - ps->lclauses); ps->ohead = ps->eoo = ps->lhead = ps->EOL = 0; } #ifdef TRACE static void delete_zhain (PS * ps, Zhn * zhain) { const Znt *p, *znt; assert (zhain); znt = zhain->znt; for (p = znt; *p; p++) ; delete (ps, zhain, sizeof (Zhn) + (p - znt) + 1); } static void delete_zhains (PS * ps) { Zhn **p, *z; for (p = ps->zhains; p < ps->zhead; p++) if ((z = *p)) delete_zhain (ps, z); DELETEN (ps->zhains, ps->eoz - ps->zhains); ps->eoz = ps->zhead = 0; } #endif #ifdef NO_BINARY_CLAUSES static void lrelease (PS * ps, Ltk * stk) { if (stk->start) DELETEN (stk->start, (1 << (stk->ldsize))); memset (stk, 0, sizeof (*stk)); } #endif #ifndef NADC static unsigned llength (Lit ** a) { Lit ** p; for (p = a; *p; p++) ; return p - a; } static void resetadoconflict (PS * ps) { assert (ps->adoconflict); delete_clause (ps->adoconflict); ps->adoconflict = 0; } static void reset_ados (PS * ps) { Lit *** p; for (p = ps->ados; p < ps->hados; p++) DELETEN (*p, llength (*p) + 1); DELETEN (ps->ados, ps->eados - ps->ados); ps->hados = ps->eados = 0; DELETEN (ps->adotab, ps->szadotab); ps->szadotab = ps->nadotab = 0; if (ps->adoconflict) resetadoconflict (ps); ps->adoconflicts = 0; ps->adoconflictlimit = UINT_MAX; ps->adodisabled = 0; } #endif static void reset (PS * ps) { ABORTIF (!ps || ps->state == RESET, "API usage: reset without initialization"); delete_clauses (ps); #ifdef TRACE delete_zhains (ps); #endif #ifdef NO_BINARY_CLAUSES { unsigned i; for (i = 2; i <= 2 * ps->max_var + 1; i++) lrelease (ps, ps->impls + i); } #endif #ifndef NADC reset_ados (ps); #endif #ifndef NFL DELETEN (ps->saved, ps->saved_size); #endif DELETEN (ps->htps, 2 * ps->size_vars); #ifndef NDSC DELETEN (ps->dhtps, 2 * ps->size_vars); #endif DELETEN (ps->impls, 2 * ps->size_vars); DELETEN (ps->lits, 2 * ps->size_vars); DELETEN (ps->jwh, 2 * ps->size_vars); DELETEN (ps->vars, ps->size_vars); DELETEN (ps->rnks, ps->size_vars); DELETEN (ps->trail, ps->eot - ps->trail); DELETEN (ps->heap, ps->eoh - ps->heap); DELETEN (ps->als, ps->eoals - ps->als); DELETEN (ps->CLS, ps->eocls - ps->CLS); DELETEN (ps->rils, ps->eorils - ps->rils); DELETEN (ps->cils, ps->eocils - ps->cils); DELETEN (ps->fals, ps->eofals - ps->fals); DELETEN (ps->mass, ps->szmass); DELETEN (ps->mssass, ps->szmssass); DELETEN (ps->mcsass, ps->szmcsass); DELETEN (ps->humus, ps->szhumus); DELETEN (ps->added, ps->eoa - ps->added); DELETEN (ps->marked, ps->eom - ps->marked); DELETEN (ps->dfs, ps->eod - ps->dfs); DELETEN (ps->resolved, ps->eor - ps->resolved); DELETEN (ps->levels, ps->eolevels - ps->levels); DELETEN (ps->dused, ps->eodused - ps->dused); DELETEN (ps->buffer, ps->eob - ps->buffer); DELETEN (ps->indices, ps->eoi - ps->indices); DELETEN (ps->soclauses, ps->eoso - ps->soclauses); delete_prefix (ps); delete (ps, ps->rline[0], ps->szrline); delete (ps, ps->rline[1], ps->szrline); assert (getenv ("LEAK") || !ps->current_bytes); /* found leak if failing */ #ifdef VISCORES pclose (ps->fviscores); #endif if (ps->edelete) ps->edelete (ps->emgr, ps, sizeof *ps); else free (ps); } inline static void tpush (PS * ps, Lit * lit) { assert (ps->lits < lit && lit <= ps->lits + 2* ps->max_var + 1); if (ps->thead == ps->eot) { unsigned ttail2count = ps->ttail2 - ps->trail; unsigned ttailcount = ps->ttail - ps->trail; #ifndef NADC unsigned ttailadocount = ps->ttailado - ps->trail; #endif ENLARGE (ps->trail, ps->thead, ps->eot); ps->ttail = ps->trail + ttailcount; ps->ttail2 = ps->trail + ttail2count; #ifndef NADC ps->ttailado = ps->trail + ttailadocount; #endif } *ps->thead++ = lit; } static void assign_reason (PS * ps, Var * v, Cls * reason) { #if defined(NO_BINARY_CLAUSES) && !defined(NDEBUG) assert (reason != &ps->impl); #else (void) ps; #endif v->reason = reason; } static void assign_phase (PS * ps, Lit * lit) { unsigned new_phase, idx; Var * v = LIT2VAR (lit); #ifndef NFL /* In 'simplifying' mode we only need to keep 'min_flipped' up to date if * we force assignments on the top level. The other assignments will be * undone and thus we can keep the old saved value of the phase. */ if (!ps->LEVEL || !ps->simplifying) #endif { new_phase = (LIT2SGN (lit) > 0); if (v->assigned) { ps->sdflips -= ps->sdflips/FFLIPPED; if (new_phase != v->phase) { assert (FFLIPPEDPREC >= FFLIPPED); ps->sdflips += FFLIPPEDPREC / FFLIPPED; ps->flips++; idx = LIT2IDX (lit); if (idx < ps->min_flipped) ps->min_flipped = idx; NOLOG (picosat_fprintf (ps->out, "%sflipped %d\n", ps->prefix, LIT2INT (lit))); } } v->phase = new_phase; v->assigned = 1; } lit->val = TRUE; NOTLIT (lit)->val = FALSE; } inline static void assign (PS * ps, Lit * lit, Cls * reason) { Var * v = LIT2VAR (lit); assert (lit->val == UNDEF); #ifdef STATS ps->assignments++; #endif v->level = ps->LEVEL; assign_phase (ps, lit); assign_reason (ps, v, reason); tpush (ps, lit); } inline static int cmp_added (PS * ps, Lit * k, Lit * l) { Val a = k->val, b = l->val; Var *u, *v; int res; if (a == UNDEF && b != UNDEF) return -1; if (a != UNDEF && b == UNDEF) return 1; u = LIT2VAR (k); v = LIT2VAR (l); if (a != UNDEF) { assert (b != UNDEF); res = v->level - u->level; if (res) return res; /* larger level first */ } res = cmpflt (VAR2RNK (u)->score, VAR2RNK (v)->score); if (res) return res; /* smaller activity first */ return u - v; /* smaller index first */ } static void sorttwolits (Lit ** v) { Lit * a = v[0], * b = v[1]; assert (a != b); if (a < b) return; v[0] = b; v[1] = a; } inline static void sortlits (PS * ps, Lit ** v, unsigned size) { if (size == 2) sorttwolits (v); /* same order with and with out 'NO_BINARY_CLAUSES' */ else SORT (Lit *, cmp_added, v, size); } #ifdef NO_BINARY_CLAUSES static Cls * setimpl (PS * ps, Lit * a, Lit * b) { assert (!ps->implvalid); assert (ps->impl.size == 2); ps->impl.lits[0] = a; ps->impl.lits[1] = b; sorttwolits (ps->impl.lits); ps->implvalid = 1; return &ps->impl; } static void resetimpl (PS * ps) { ps->implvalid = 0; } static Cls * setcimpl (PS * ps, Lit * a, Lit * b) { assert (!ps->cimplvalid); assert (ps->cimpl.size == 2); ps->cimpl.lits[0] = a; ps->cimpl.lits[1] = b; sorttwolits (ps->cimpl.lits); ps->cimplvalid = 1; return &ps->cimpl; } static void resetcimpl (PS * ps) { assert (ps->cimplvalid); ps->cimplvalid = 0; } #endif static int cmp_ptr (PS * ps, void *l, void *k) { (void) ps; return ((char*)l) - (char*)k; /* arbitrarily already reverse */ } static int cmp_rnk (Rnk * r, Rnk * s) { if (!r->moreimportant && s->moreimportant) return -1; if (r->moreimportant && !s->moreimportant) return 1; if (!r->lessimportant && s->lessimportant) return 1; if (r->lessimportant && !s->lessimportant) return -1; if (r->score < s->score) return -1; if (r->score > s->score) return 1; return -cmp_ptr (0, r, s); } static void hup (PS * ps, Rnk * v) { int upos, vpos; Rnk *u; #ifndef NFL assert (!ps->simplifying); #endif vpos = v->pos; assert (0 < vpos); assert (vpos < ps->hhead - ps->heap); assert (ps->heap[vpos] == v); while (vpos > 1) { upos = vpos / 2; u = ps->heap[upos]; if (cmp_rnk (u, v) > 0) break; ps->heap[vpos] = u; u->pos = vpos; vpos = upos; } ps->heap[vpos] = v; v->pos = vpos; } static Cls *add_simplified_clause (PS *, int); inline static void add_antecedent (PS * ps, Cls * c) { assert (c); #ifdef NO_BINARY_CLAUSES if (ISLITREASON (c)) return; if (c == &ps->impl) return; #elif defined(STATS) && defined(TRACE) ps->antecedents++; #endif if (ps->rhead == ps->eor) ENLARGE (ps->resolved, ps->rhead, ps->eor); assert (ps->rhead < ps->eor); *ps->rhead++ = c; } #ifdef TRACE #ifdef NO_BINARY_CLAUSES #error "can not combine TRACE and NO_BINARY_CLAUSES" #endif #endif /* TRACE */ static void add_lit (PS * ps, Lit * lit) { assert (lit); if (ps->ahead == ps->eoa) ENLARGE (ps->added, ps->ahead, ps->eoa); *ps->ahead++ = lit; } static void push_var_as_marked (PS * ps, Var * v) { if (ps->mhead == ps->eom) ENLARGE (ps->marked, ps->mhead, ps->eom); *ps->mhead++ = v; } static void mark_var (PS * ps, Var * v) { assert (!v->mark); v->mark = 1; push_var_as_marked (ps, v); } #ifdef NO_BINARY_CLAUSES static Cls * impl2reason (PS * ps, Lit * lit) { Lit * other; Cls * res; other = ps->impl.lits[0]; if (lit == other) other = ps->impl.lits[1]; assert (other->val == FALSE); res = LIT2REASON (NOTLIT (other)); resetimpl (ps); return res; } #endif /* Whenever we have a top level derived unit we really should derive a unit * clause otherwise the resolutions in 'add_simplified_clause' become * incorrect. */ static Cls * resolve_top_level_unit (PS * ps, Lit * lit, Cls * reason) { unsigned count_resolved; Lit **p, **eol, *other; Var *u, *v; assert (ps->rhead == ps->resolved); assert (ps->ahead == ps->added); add_lit (ps, lit); add_antecedent (ps, reason); count_resolved = 1; v = LIT2VAR (lit); eol = end_of_lits (reason); for (p = reason->lits; p < eol; p++) { other = *p; u = LIT2VAR (other); if (u == v) continue; add_antecedent (ps, u->reason); count_resolved++; } /* Some of the literals could be assumptions. If at least one * variable is not an assumption, we should resolve. */ if (count_resolved >= 2) { #ifdef NO_BINARY_CLAUSES if (reason == &ps->impl) resetimpl (ps); #endif reason = add_simplified_clause (ps, 1); #ifdef NO_BINARY_CLAUSES if (reason->size == 2) { assert (reason == &ps->impl); reason = impl2reason (ps, lit); } #endif assign_reason (ps, v, reason); } else { ps->ahead = ps->added; ps->rhead = ps->resolved; } return reason; } static void fixvar (PS * ps, Var * v) { Rnk * r; assert (VAR2LIT (v) != UNDEF); assert (!v->level); ps->fixed++; r = VAR2RNK (v); r->score = INFFLT; #ifndef NFL if (ps->simplifying) return; #endif if (!r->pos) return; hup (ps, r); } static void use_var (PS * ps, Var * v) { if (v->used) return; v->used = 1; ps->vused++; } static void assign_forced (PS * ps, Lit * lit, Cls * reason) { Var *v; assert (reason); assert (lit->val == UNDEF); #ifdef STATS ps->FORCED++; #endif assign (ps, lit, reason); #ifdef NO_BINARY_CLAUSES assert (reason != &ps->impl); if (ISLITREASON (reason)) { reason = setimpl (ps, lit, NOTLIT (REASON2LIT (reason))); assert (reason); } #endif LOG ( picosat_fprintf (ps->out, "%sassign %d at level %d by ", ps->prefix, LIT2INT (lit), ps->LEVEL); dumpclsnl (ps, reason)); v = LIT2VAR (lit); if (!ps->LEVEL) use_var (ps, v); if (!ps->LEVEL && reason->size > 1) { reason = resolve_top_level_unit (ps, lit, reason); assert (reason); } #ifdef NO_BINARY_CLAUSES if (ISLITREASON (reason) || reason == &ps->impl) { /* DO NOTHING */ } else #endif { assert (!reason->locked); reason->locked = 1; if (reason->learned && reason->size > 2) ps->llocked++; } #ifdef NO_BINARY_CLAUSES if (reason == &ps->impl) resetimpl (ps); #endif if (!ps->LEVEL) fixvar (ps, v); } #ifdef NO_BINARY_CLAUSES static void lpush (PS * ps, Lit * lit, Cls * c) { int pos = (c->lits[0] == lit); Ltk * s = LIT2IMPLS (lit); unsigned oldsize, newsize; assert (c->size == 2); if (!s->start) { assert (!s->count); assert (!s->ldsize); NEWN (s->start, 1); } else { oldsize = (1 << (s->ldsize)); assert (s->count <= oldsize); if (s->count == oldsize) { newsize = 2 * oldsize; RESIZEN (s->start, oldsize, newsize); s->ldsize++; } } s->start[s->count++] = c->lits[pos]; } #endif static void connect_head_tail (PS * ps, Lit * lit, Cls * c) { Cls ** s; assert (c->size >= 1); if (c->size == 2) { #ifdef NO_BINARY_CLAUSES lpush (ps, lit, c); return; #else s = LIT2IMPLS (lit); #endif } else s = LIT2HTPS (lit); if (c->lits[0] != lit) { assert (c->size >= 2); assert (c->lits[1] == lit); c->next[1] = *s; } else c->next[0] = *s; *s = c; } #ifdef TRACE static void zpush (PS * ps, Zhn * zhain) { assert (ps->trace); if (ps->zhead == ps->eoz) ENLARGE (ps->zhains, ps->zhead, ps->eoz); *ps->zhead++ = zhain; } static int cmp_resolved (PS * ps, Cls * c, Cls * d) { #ifndef NDEBUG assert (ps->trace); #else (void) ps; #endif return CLS2IDX (c) - CLS2IDX (d); } static void bpushc (PS * ps, unsigned char ch) { if (ps->bhead == ps->eob) ENLARGE (ps->buffer, ps->bhead, ps->eob); *ps->bhead++ = ch; } static void bpushu (PS * ps, unsigned u) { while (u & ~0x7f) { bpushc (ps, u | 0x80); u >>= 7; } bpushc (ps, u); } static void bpushd (PS * ps, unsigned prev, unsigned this) { unsigned delta; assert (prev < this); delta = this - prev; bpushu (ps, delta); } static void add_zhain (PS * ps) { unsigned prev, this, count, rcount; Cls **p, *c; Zhn *res; assert (ps->trace); assert (ps->bhead == ps->buffer); assert (ps->rhead > ps->resolved); rcount = ps->rhead - ps->resolved; SORT (Cls *, cmp_resolved, ps->resolved, rcount); prev = 0; for (p = ps->resolved; p < ps->rhead; p++) { c = *p; this = CLS2TRD (c)->idx; bpushd (ps, prev, this); prev = this; } bpushc (ps, 0); count = ps->bhead - ps->buffer; res = new (ps, sizeof (Zhn) + count); res->core = 0; res->ref = 0; memcpy (res->znt, ps->buffer, count); ps->bhead = ps->buffer; #ifdef STATS ps->znts += count - 1; #endif zpush (ps, res); } #endif static void add_resolved (PS * ps, int learned) { #if defined(STATS) || defined(TRACE) Cls **p, *c; for (p = ps->resolved; p < ps->rhead; p++) { c = *p; if (c->used) continue; c->used = 1; if (c->size <= 2) continue; #ifdef STATS if (c->learned) ps->llused++; else ps->loused++; #endif } #endif #ifdef TRACE if (learned && ps->trace) add_zhain (ps); #else (void) learned; #endif ps->rhead = ps->resolved; } static void incjwh (PS * ps, Cls * c) { Lit **p, *lit, ** eol; Flt * f, inc, sum; unsigned size = 0; Var * v; Val val; eol = end_of_lits (c); for (p = c->lits; p < eol; p++) { lit = *p; val = lit->val; if (val && ps->LEVEL > 0) { v = LIT2VAR (lit); if (v->level > 0) val = UNDEF; } if (val == TRUE) return; if (val != FALSE) size++; } inc = base2flt (1, -size); for (p = c->lits; p < eol; p++) { lit = *p; f = LIT2JWH (lit); sum = addflt (*f, inc); *f = sum; } } static void write_rup_header (PS * ps, FILE * file) { char line[80]; int i; sprintf (line, "%%RUPD32 %u %u", ps->rupvariables, ps->rupclauses); picosat_fputs (line, file); for (i = 255 - strlen (line); i >= 0; i--) picosat_fputc (' ', file); picosat_fputc ('\n', file); fflush (file); } static Cls * add_simplified_clause (PS * ps, int learned) { unsigned num_true, num_undef, num_false, size, count_resolved; Lit **p, **q, *lit, ** end; unsigned litlevel, glue; Cls *res, * reason; int reentered; Val val; Var *v; #if !defined(NDEBUG) && defined(TRACE) unsigned idx; #endif reentered = 0; REENTER: size = ps->ahead - ps->added; add_resolved (ps, learned); if (learned) { ps->ladded++; ps->llitsadded += size; if (size > 2) { ps->lladded++; ps->nlclauses++; ps->llits += size; } } else { ps->oadded++; if (size > 2) { ps->loadded++; ps->noclauses++; ps->olits += size; } } ps->addedclauses++; assert (ps->addedclauses == ps->ladded + ps->oadded); #ifdef NO_BINARY_CLAUSES if (size == 2) res = setimpl (ps, ps->added[0], ps->added[1]); else #endif { sortlits (ps, ps->added, size); if (learned) { if (ps->lhead == ps->EOL) { ENLARGE (ps->lclauses, ps->lhead, ps->EOL); /* A very difficult to find bug, which only occurs if the * learned clauses stack is immediately allocated before the * original clauses stack without padding. In this case, we * have 'SOC == EOC', which terminates all loops using the * idiom 'for (p = SOC; p != EOC; p = NXC(p))' immediately. * Unfortunately this occurred in 'fix_clause_lits' after * using a recent version of the memory allocator of 'Google' * perftools in the context of one large benchmark for * our SMT solver 'Boolector'. */ if (ps->EOL == ps->oclauses) ENLARGE (ps->lclauses, ps->lhead, ps->EOL); } #if !defined(NDEBUG) && defined(TRACE) idx = LIDX2IDX (ps->lhead - ps->lclauses); #endif } else { if (ps->ohead == ps->eoo) { ENLARGE (ps->oclauses, ps->ohead, ps->eoo); if (ps->EOL == ps->oclauses) ENLARGE (ps->oclauses, ps->ohead, ps->eoo); /* ditto */ } #if !defined(NDEBUG) && defined(TRACE) idx = OIDX2IDX (ps->ohead - ps->oclauses); #endif } assert (ps->EOL != ps->oclauses); /* ditto */ res = new_clause (ps, size, learned); glue = 0; if (learned) { assert (ps->dusedhead == ps->dused); for (p = ps->added; p < ps->ahead; p++) { lit = *p; if (lit->val) { litlevel = LIT2VAR (lit)->level; assert (litlevel <= ps->LEVEL); while (ps->levels + litlevel >= ps->levelshead) { if (ps->levelshead >= ps->eolevels) ENLARGE (ps->levels, ps->levelshead, ps->eolevels); assert (ps->levelshead < ps->eolevels); *ps->levelshead++ = 0; } if (!ps->levels[litlevel]) { if (ps->dusedhead >= ps->eodused) ENLARGE (ps->dused, ps->dusedhead, ps->eodused); assert (ps->dusedhead < ps->eodused); *ps->dusedhead++ = litlevel; ps->levels[litlevel] = 1; glue++; } } else glue++; } while (ps->dusedhead > ps->dused) { litlevel = *--ps->dusedhead; assert (ps->levels + litlevel < ps->levelshead); assert (ps->levels[litlevel]); ps->levels[litlevel] = 0; } } assert (glue <= MAXGLUE); res->glue = glue; #if !defined(NDEBUG) && defined(TRACE) if (ps->trace) assert (CLS2IDX (res) == idx); #endif if (learned) *ps->lhead++ = res; else *ps->ohead++ = res; #if !defined(NDEBUG) && defined(TRACE) if (ps->trace && learned) assert (ps->zhead - ps->zhains == ps->lhead - ps->lclauses); #endif assert (ps->lhead != ps->oclauses); /* ditto */ } if (learned && ps->rup) { if (!ps->rupstarted) { write_rup_header (ps, ps->rup); ps->rupstarted = 1; } } num_true = num_undef = num_false = 0; q = res->lits; for (p = ps->added; p < ps->ahead; p++) { lit = *p; *q++ = lit; if (learned && ps->rup) picosat_fprintf (ps->rup, "%d ", LIT2INT (lit)); val = lit->val; num_true += (val == TRUE); num_undef += (val == UNDEF); num_false += (val == FALSE); } assert (num_false + num_true + num_undef == size); if (learned && ps->rup) picosat_fputs ("0\n", ps->rup); ps->ahead = ps->added; /* reset */ if (!reentered) // TODO merge if (size > 0) { assert (size <= 2 || !reentered); // TODO remove connect_head_tail (ps, res->lits[0], res); if (size > 1) connect_head_tail (ps, res->lits[1], res); } if (size == 0) { if (!ps->mtcls) ps->mtcls = res; } #ifdef NO_BINARY_CLAUSES if (size != 2) #endif #ifndef NDEBUG res->connected = 1; #endif LOG ( picosat_fprintf (ps->out, "%s%s ", ps->prefix, learned ? "learned" : "original"); dumpclsnl (ps, res)); /* Shrink clause by resolving it against top level assignments. */ if (!ps->LEVEL && num_false > 0) { assert (ps->ahead == ps->added); assert (ps->rhead == ps->resolved); count_resolved = 1; add_antecedent (ps, res); end = end_of_lits (res); for (p = res->lits; p < end; p++) { lit = *p; v = LIT2VAR (lit); use_var (ps, v); if (lit->val == FALSE) { add_antecedent (ps, v->reason); count_resolved++; } else add_lit (ps, lit); } assert (count_resolved >= 2); learned = 1; #ifdef NO_BINARY_CLAUSES if (res == &ps->impl) resetimpl (ps); #endif reentered = 1; goto REENTER; /* and return simplified clause */ } if (!num_true && num_undef == 1) /* unit clause */ { lit = 0; for (p = res->lits; p < res->lits + size; p++) { if ((*p)->val == UNDEF) lit = *p; v = LIT2VAR (*p); use_var (ps, v); } assert (lit); reason = res; #ifdef NO_BINARY_CLAUSES if (size == 2) { Lit * other = res->lits[0]; if (other == lit) other = res->lits[1]; assert (other->val == FALSE); reason = LIT2REASON (NOTLIT (other)); } #endif assign_forced (ps, lit, reason); num_true++; } if (num_false == size && !ps->conflict) { #ifdef NO_BINARY_CLAUSES if (res == &ps->impl) ps->conflict = setcimpl (ps, res->lits[0], res->lits[1]); else #endif ps->conflict = res; } if (!learned && !num_true && num_undef) incjwh (ps, res); #ifdef NO_BINARY_CLAUSES if (res == &ps->impl) resetimpl (ps); #endif return res; } static int trivial_clause (PS * ps) { Lit **p, **q, *prev; Var *v; SORT (Lit *, cmp_ptr, ps->added, ps->ahead - ps->added); prev = 0; q = ps->added; for (p = q; p < ps->ahead; p++) { Lit *this = *p; v = LIT2VAR (this); if (prev == this) /* skip repeated literals */ continue; /* Top level satisfied ? */ if (this->val == TRUE && !v->level) return 1; if (prev == NOTLIT (this))/* found pair of dual literals */ return 1; *q++ = prev = this; } ps->ahead = q; /* shrink */ return 0; } static void simplify_and_add_original_clause (PS * ps) { #ifdef NO_BINARY_CLAUSES Cls * c; #endif if (trivial_clause (ps)) { ps->ahead = ps->added; if (ps->ohead == ps->eoo) ENLARGE (ps->oclauses, ps->ohead, ps->eoo); *ps->ohead++ = 0; ps->addedclauses++; ps->oadded++; } else { if (ps->CLS != ps->clshead) add_lit (ps, NOTLIT (ps->clshead[-1])); #ifdef NO_BINARY_CLAUSES c = #endif add_simplified_clause (ps, 0); #ifdef NO_BINARY_CLAUSES if (c == &ps->impl) assert (!ps->implvalid); #endif } } #ifndef NADC static void add_ado (PS * ps) { unsigned len = ps->ahead - ps->added; Lit ** ado, ** p, ** q, *lit; Var * v, * u; #ifdef TRACE assert (!ps->trace); #endif ABORTIF (ps->ados < ps->hados && llength (ps->ados[0]) != len, "internal: non matching all different constraint object lengths"); if (ps->hados == ps->eados) ENLARGE (ps->ados, ps->hados, ps->eados); NEWN (ado, len + 1); *hados++ = ado; p = ps->added; q = ado; u = 0; while (p < ps->ahead) { lit = *p++; v = LIT2VAR (lit); ABORTIF (v->inado, "internal: variable in multiple all different objects"); v->inado = ado; if (!u && !lit->val) u = v; *q++ = lit; } assert (q == ado + len); *q++ = 0; /* TODO simply do a conflict test as in propado */ ABORTIF (!u, "internal: " "adding fully instantiated all different object not implemented yet"); assert (u); assert (u->inado == ado); assert (!u->ado); u->ado = ado; ps->ahead = ps->added; } #endif static void hdown (PS * ps, Rnk * r) { unsigned end, rpos, cpos, opos; Rnk *child, *other; assert (r->pos > 0); assert (ps->heap[r->pos] == r); end = ps->hhead - ps->heap; rpos = r->pos; for (;;) { cpos = 2 * rpos; if (cpos >= end) break; opos = cpos + 1; child = ps->heap[cpos]; if (cmp_rnk (r, child) < 0) { if (opos < end) { other = ps->heap[opos]; if (cmp_rnk (child, other) < 0) { child = other; cpos = opos; } } } else if (opos < end) { child = ps->heap[opos]; if (cmp_rnk (r, child) >= 0) break; cpos = opos; } else break; ps->heap[rpos] = child; child->pos = rpos; rpos = cpos; } r->pos = rpos; ps->heap[rpos] = r; } static Rnk * htop (PS * ps) { assert (ps->hhead > ps->heap + 1); return ps->heap[1]; } static Rnk * hpop (PS * ps) { Rnk *res, *last; unsigned end; assert (ps->hhead > ps->heap + 1); res = ps->heap[1]; res->pos = 0; end = --ps->hhead - ps->heap; if (end == 1) return res; last = ps->heap[end]; ps->heap[last->pos = 1] = last; hdown (ps, last); return res; } inline static void hpush (PS * ps, Rnk * r) { assert (!r->pos); if (ps->hhead == ps->eoh) ENLARGE (ps->heap, ps->hhead, ps->eoh); r->pos = ps->hhead++ - ps->heap; ps->heap[r->pos] = r; hup (ps, r); } static void fix_trail_lits (PS * ps, long delta) { Lit **p; for (p = ps->trail; p < ps->thead; p++) *p += delta; } #ifdef NO_BINARY_CLAUSES static void fix_impl_lits (PS * ps, long delta) { Ltk * s; Lit ** p; for (s = ps->impls + 2; s <= ps->impls + 2 * ps->max_var + 1; s++) for (p = s->start; p < s->start + s->count; p++) *p += delta; } #endif static void fix_clause_lits (PS * ps, long delta) { Cls **p, *clause; Lit **q, *lit, **eol; for (p = SOC; p != EOC; p = NXC (p)) { clause = *p; if (!clause) continue; q = clause->lits; eol = end_of_lits (clause); while (q < eol) { assert (q - clause->lits <= (int) clause->size); lit = *q; lit += delta; *q++ = lit; } } } static void fix_added_lits (PS * ps, long delta) { Lit **p; for (p = ps->added; p < ps->ahead; p++) *p += delta; } static void fix_assumed_lits (PS * ps, long delta) { Lit **p; for (p = ps->als; p < ps->alshead; p++) *p += delta; } static void fix_cls_lits (PS * ps, long delta) { Lit **p; for (p = ps->CLS; p < ps->clshead; p++) *p += delta; } static void fix_heap_rnks (PS * ps, long delta) { Rnk **p; for (p = ps->heap + 1; p < ps->hhead; p++) *p += delta; } #ifndef NADC static void fix_ado (long delta, Lit ** ado) { Lit ** p; for (p = ado; *p; p++) *p += delta; } static void fix_ados (PS * ps, long delta) { Lit *** p; for (p = ps->ados; p < ps->hados; p++) fix_ado (delta, *p); } #endif static void enlarge (PS * ps, unsigned new_size_vars) { long rnks_delta, lits_delta; Lit *old_lits = ps->lits; Rnk *old_rnks = ps->rnks; RESIZEN (ps->lits, 2 * ps->size_vars, 2 * new_size_vars); RESIZEN (ps->jwh, 2 * ps->size_vars, 2 * new_size_vars); RESIZEN (ps->htps, 2 * ps->size_vars, 2 * new_size_vars); #ifndef NDSC RESIZEN (ps->dhtps, 2 * ps->size_vars, 2 * new_size_vars); #endif RESIZEN (ps->impls, 2 * ps->size_vars, 2 * new_size_vars); RESIZEN (ps->vars, ps->size_vars, new_size_vars); RESIZEN (ps->rnks, ps->size_vars, new_size_vars); if ((lits_delta = ps->lits - old_lits)) { fix_trail_lits (ps, lits_delta); fix_clause_lits (ps, lits_delta); fix_added_lits (ps, lits_delta); fix_assumed_lits (ps, lits_delta); fix_cls_lits (ps, lits_delta); #ifdef NO_BINARY_CLAUSES fix_impl_lits (ps, lits_delta); #endif #ifndef NADC fix_ados (ps, lits_delta); #endif } if ((rnks_delta = ps->rnks - old_rnks)) { fix_heap_rnks (ps, rnks_delta); } assert (ps->mhead == ps->marked); ps->size_vars = new_size_vars; } static void unassign (PS * ps, Lit * lit) { Cls *reason; Var *v; Rnk *r; assert (lit->val == TRUE); LOG ( picosat_fprintf (ps->out, "%sunassign %d\n", ps->prefix, LIT2INT (lit))); v = LIT2VAR (lit); reason = v->reason; #ifdef NO_BINARY_CLAUSES assert (reason != &ps->impl); if (ISLITREASON (reason)) { /* DO NOTHING */ } else #endif if (reason) { assert (reason->locked); reason->locked = 0; if (reason->learned && reason->size > 2) { assert (ps->llocked > 0); ps->llocked--; } } lit->val = UNDEF; NOTLIT (lit)->val = UNDEF; r = VAR2RNK (v); if (!r->pos) hpush (ps, r); #ifndef NDSC { Cls * p, * next, ** q; q = LIT2DHTPS (lit); p = *q; *q = 0; while (p) { Lit * other = p->lits[0]; if (other == lit) { other = p->lits[1]; q = p->next + 1; } else { assert (p->lits[1] == lit); q = p->next; } next = *q; *q = *LIT2HTPS (other); *LIT2HTPS (other) = p; p = next; } } #endif #ifndef NADC if (v->adotabpos) { assert (ps->nadotab); assert (*v->adotabpos == v->ado); *v->adotabpos = 0; v->adotabpos = 0; ps->nadotab--; } #endif } static Cls * var2reason (PS * ps, Var * var) { Cls * res = var->reason; #ifdef NO_BINARY_CLAUSES Lit * this, * other; if (ISLITREASON (res)) { this = VAR2LIT (var); if (this->val == FALSE) this = NOTLIT (this); other = REASON2LIT (res); assert (other->val == TRUE); assert (this->val == TRUE); res = setimpl (ps, NOTLIT (other), this); } #else (void) ps; #endif return res; } static void mark_clause_to_be_collected (Cls * c) { assert (!c->collect); c->collect = 1; } static void undo (PS * ps, unsigned new_level) { Lit *lit; Var *v; while (ps->thead > ps->trail) { lit = *--ps->thead; v = LIT2VAR (lit); if (v->level == new_level) { ps->thead++; /* fix pre decrement */ break; } unassign (ps, lit); } ps->LEVEL = new_level; ps->ttail = ps->thead; ps->ttail2 = ps->thead; #ifndef NADC ps->ttailado = ps->thead; #endif #ifdef NO_BINARY_CLAUSES if (ps->conflict == &ps->cimpl) resetcimpl (ps); #endif #ifndef NADC if (ps->conflict && ps->conflict == ps->adoconflict) resetadoconflict (ps); #endif ps->conflict = ps->mtcls; if (ps->LEVEL < ps->adecidelevel) { assert (ps->als < ps->alshead); ps->adecidelevel = 0; ps->alstail = ps->als; } LOG ( picosat_fprintf (ps->out, "%sback to level %u\n", ps->prefix, ps->LEVEL)); } #ifndef NDEBUG static int clause_satisfied (Cls * c) { Lit **p, **eol, *lit; eol = end_of_lits (c); for (p = c->lits; p < eol; p++) { lit = *p; if (lit->val == TRUE) return 1; } return 0; } static void original_clauses_satisfied (PS * ps) { Cls **p, *c; for (p = ps->oclauses; p < ps->ohead; p++) { c = *p; if (!c) continue; if (c->learned) continue; assert (clause_satisfied (c)); } } static void assumptions_satisfied (PS * ps) { Lit *lit, ** p; for (p = ps->als; p < ps->alshead; p++) { lit = *p; assert (lit->val == TRUE); } } #endif static void sflush (PS * ps) { double now = picosat_time_stamp (); double delta = now - ps->entered; delta = (delta < 0) ? 0 : delta; ps->seconds += delta; ps->entered = now; } static double mb (PS * ps) { return ps->current_bytes / (double) (1 << 20); } static double avglevel (PS * ps) { return ps->decisions ? ps->levelsum / ps->decisions : 0.0; } static void rheader (PS * ps) { assert (ps->lastrheader <= ps->reports); if (ps->lastrheader == ps->reports) return; ps->lastrheader = ps->reports; picosat_fprintf (ps->out, "%s\n", ps->prefix); picosat_fprintf (ps->out, "%s %s\n", ps->prefix, ps->rline[0]); picosat_fprintf (ps->out, "%s %s\n", ps->prefix, ps->rline[1]); picosat_fprintf (ps->out, "%s\n", ps->prefix); } static unsigned dynamic_flips_per_assignment_per_mille (PS * ps) { assert (FFLIPPEDPREC >= 1000); return ps->sdflips / (FFLIPPEDPREC / 1000); } #ifdef NLUBY static int high_agility (PS * ps) { return dynamic_flips_per_assignment_per_mille (ps) >= 200; } static int very_high_agility (PS * ps) { return dynamic_flips_per_assignment_per_mille (ps) >= 250; } #else static int medium_agility (PS * ps) { return dynamic_flips_per_assignment_per_mille (ps) >= 230; } #endif static void relemdata (PS * ps) { char *p; int x; if (ps->reports < 0) { /* strip trailing white space */ for (x = 0; x <= 1; x++) { p = ps->rline[x] + strlen (ps->rline[x]); while (p-- > ps->rline[x]) { if (*p != ' ') break; *p = 0; } } rheader (ps); } else picosat_fputc ('\n', ps->out); ps->RCOUNT = 0; } static void relemhead (PS * ps, const char * name, int fp, double val) { int x, y, len, size; const char *fmt; unsigned tmp, e; if (ps->reports < 0) { x = ps->RCOUNT & 1; y = (ps->RCOUNT / 2) * 12 + x * 6; if (ps->RCOUNT == 1) sprintf (ps->rline[1], "%6s", ""); len = strlen (name); while (ps->szrline <= len + y + 1) { size = ps->szrline ? 2 * ps->szrline : 128; ps->rline[0] = resize (ps, ps->rline[0], ps->szrline, size); ps->rline[1] = resize (ps, ps->rline[1], ps->szrline, size); ps->szrline = size; } fmt = (len <= 6) ? "%6s%10s" : "%-10s%4s"; sprintf (ps->rline[x] + y, fmt, name, ""); } else if (val < 0) { assert (fp); if (val > -100 && (tmp = val * 10.0 - 0.5) > -1000.0) { picosat_fprintf (ps->out, "-%4.1f ", -tmp / 10.0); } else { tmp = -val / 10.0 + 0.5; e = 1; while (tmp >= 100) { tmp /= 10; e++; } picosat_fprintf (ps->out, "-%2ue%u ", tmp, e); } } else { if (fp && val < 1000 && (tmp = val * 10.0 + 0.5) < 10000) { picosat_fprintf (ps->out, "%5.1f ", tmp / 10.0); } else if (!fp && (tmp = val) < 100000) { picosat_fprintf (ps->out, "%5u ", tmp); } else { tmp = val / 10.0 + 0.5; e = 1; while (tmp >= 1000) { tmp /= 10; e++; } picosat_fprintf (ps->out, "%3ue%u ", tmp, e); } } ps->RCOUNT++; } inline static void relem (PS * ps, const char *name, int fp, double val) { if (name) relemhead (ps, name, fp, val); else relemdata (ps); } static unsigned reduce_limit_on_lclauses (PS * ps) { unsigned res = ps->lreduce; res += ps->llocked; return res; } static void report (PS * ps, int replevel, char type) { int rounds; if (ps->verbosity < replevel) return; sflush (ps); if (!ps->reports) ps->reports = -1; for (rounds = (ps->reports < 0) ? 2 : 1; rounds; rounds--) { if (ps->reports >= 0) picosat_fprintf (ps->out, "%s%c ", ps->prefix, type); relem (ps, "seconds", 1, ps->seconds); relem (ps, "level", 1, avglevel (ps)); assert (ps->fixed <= ps->max_var); relem (ps, "variables", 0, ps->max_var - ps->fixed); relem (ps, "used", 1, PERCENT (ps->vused, ps->max_var)); relem (ps, "original", 0, ps->noclauses); relem (ps, "conflicts", 0, ps->conflicts); // relem (ps, "decisions", 0, ps->decisions); // relem (ps, "conf/dec", 1, PERCENT(ps->conflicts,ps->decisions)); // relem (ps, "limit", 0, reduce_limit_on_lclauses (ps)); relem (ps, "learned", 0, ps->nlclauses); // relem (ps, "limit", 1, PERCENT (ps->nlclauses, reduce_limit_on_lclauses (ps))); relem (ps, "limit", 0, ps->lreduce); #ifdef STATS relem (ps, "learning", 1, PERCENT (ps->llused, ps->lladded)); #endif relem (ps, "agility", 1, dynamic_flips_per_assignment_per_mille (ps) / 10.0); // relem (ps, "original", 0, ps->noclauses); relem (ps, "MB", 1, mb (ps)); // relem (ps, "lladded", 0, ps->lladded); // relem (ps, "llused", 0, ps->llused); relem (ps, 0, 0, 0); ps->reports++; } /* Adapt this to the number of rows in your terminal. */ #define ROWS 25 if (ps->reports % (ROWS - 3) == (ROWS - 4)) rheader (ps); fflush (ps->out); } static int bcp_queue_is_empty (PS * ps) { if (ps->ttail != ps->thead) return 0; if (ps->ttail2 != ps->thead) return 0; #ifndef NADC if (ps->ttailado != ps->thead) return 0; #endif return 1; } static int satisfied (PS * ps) { assert (!ps->mtcls); assert (!ps->failed_assumption); if (ps->alstail < ps->alshead) return 0; assert (!ps->conflict); assert (bcp_queue_is_empty (ps)); return ps->thead == ps->trail + ps->max_var; /* all assigned */ } static void vrescore (PS * ps) { Rnk *p, *eor = ps->rnks + ps->max_var; for (p = ps->rnks + 1; p <= eor; p++) if (p->score != INFFLT) p->score = mulflt (p->score, ps->ilvinc); ps->vinc = mulflt (ps->vinc, ps->ilvinc);; #ifdef VISCORES ps->nvinc = mulflt (ps->nvinc, ps->lscore);; #endif } static void inc_score (PS * ps, Var * v) { Flt score; Rnk *r; #ifndef NFL if (ps->simplifying) return; #endif if (!v->level) return; if (v->internal) return; r = VAR2RNK (v); score = r->score; assert (score != INFFLT); score = addflt (score, ps->vinc); assert (score < INFFLT); r->score = score; if (r->pos > 0) hup (ps, r); if (score > ps->lscore) vrescore (ps); } static void inc_activity (PS * ps, Cls * c) { Act *p; if (!c->learned) return; if (c->size <= 2) return; p = CLS2ACT (c); *p = addflt (*p, ps->cinc); } static unsigned hashlevel (unsigned l) { return 1u << (l & 31); } static void push (PS * ps, Var * v) { if (ps->dhead == ps->eod) ENLARGE (ps->dfs, ps->dhead, ps->eod); *ps->dhead++ = v; } static Var * pop (PS * ps) { assert (ps->dfs < ps->dhead); return *--ps->dhead; } static void analyze (PS * ps) { unsigned open, minlevel, siglevels, l, old, i, orig; Lit *this, *other, **p, **q, **eol; Var *v, *u, **m, *start, *uip; Cls *c; assert (ps->conflict); assert (ps->ahead == ps->added); assert (ps->mhead == ps->marked); assert (ps->rhead == ps->resolved); /* First, search for First UIP variable and mark all resolved variables. * At the same time determine the minimum decision level involved. * Increase activities of resolved variables. */ q = ps->thead; open = 0; minlevel = ps->LEVEL; siglevels = 0; uip = 0; c = ps->conflict; for (;;) { add_antecedent (ps, c); inc_activity (ps, c); eol = end_of_lits (c); for (p = c->lits; p < eol; p++) { other = *p; if (other->val == TRUE) continue; assert (other->val == FALSE); u = LIT2VAR (other); if (u->mark) continue; u->mark = 1; inc_score (ps, u); use_var (ps, u); if (u->level == ps->LEVEL) { open++; } else { push_var_as_marked (ps, u); if (u->level) { /* The statistics counter 'nonminimizedllits' sums up the * number of literals that would be added if only the * 'first UIP' scheme for learned clauses would be used * and no clause minimization. */ ps->nonminimizedllits++; if (u->level < minlevel) minlevel = u->level; siglevels |= hashlevel (u->level); } else { assert (!u->level); assert (u->reason); } } } do { if (q == ps->trail) { uip = 0; goto DONE_FIRST_UIP; } this = *--q; uip = LIT2VAR (this); } while (!uip->mark); uip->mark = 0; c = var2reason (ps, uip); #ifdef NO_BINARY_CLAUSES if (c == &ps->impl) resetimpl (ps); #endif open--; if ((!open && ps->LEVEL) || !c) break; assert (c); } DONE_FIRST_UIP: if (uip) { assert (ps->LEVEL); this = VAR2LIT (uip); this += (this->val == TRUE); ps->nonminimizedllits++; ps->minimizedllits++; add_lit (ps, this); #ifdef STATS if (uip->reason) ps->uips++; #endif } else assert (!ps->LEVEL); /* Second, try to mark more intermediate variables, with the goal to * minimize the conflict clause. This is a DFS from already marked * variables backward through the implication graph. It tries to reach * other marked variables. If the search reaches an unmarked decision * variable or a variable assigned below the minimum level of variables in * the first uip learned clause or a level on which no variable has been * marked, then the variable from which the DFS is started is not * redundant. Otherwise the start variable is redundant and will * eventually be removed from the learned clause in step 4. We initially * implemented BFS, but then profiling revelead that this step is a bottle * neck for certain incremental applications. After switching to DFS this * hot spot went away. */ orig = ps->mhead - ps->marked; for (i = 0; i < orig; i++) { start = ps->marked[i]; assert (start->mark); assert (start != uip); assert (start->level < ps->LEVEL); if (!start->reason) continue; old = ps->mhead - ps->marked; assert (ps->dhead == ps->dfs); push (ps, start); while (ps->dhead > ps->dfs) { u = pop (ps); assert (u->mark); c = var2reason (ps, u); #ifdef NO_BINARY_CLAUSES if (c == &ps->impl) resetimpl (ps); #endif if (!c || ((l = u->level) && (l < minlevel || ((hashlevel (l) & ~siglevels))))) { while (ps->mhead > ps->marked + old) /* reset all marked */ (*--ps->mhead)->mark = 0; ps->dhead = ps->dfs; /* and DFS stack */ break; } eol = end_of_lits (c); for (p = c->lits; p < eol; p++) { v = LIT2VAR (*p); if (v->mark) continue; mark_var (ps, v); push (ps, v); } } } for (m = ps->marked; m < ps->mhead; m++) { v = *m; assert (v->mark); assert (!v->resolved); use_var (ps, v); c = var2reason (ps, v); if (!c) continue; #ifdef NO_BINARY_CLAUSES if (c == &ps->impl) resetimpl (ps); #endif eol = end_of_lits (c); for (p = c->lits; p < eol; p++) { other = *p; u = LIT2VAR (other); if (!u->level) continue; if (!u->mark) /* 'MARKTEST' */ break; } if (p != eol) continue; add_antecedent (ps, c); v->resolved = 1; } for (m = ps->marked; m < ps->mhead; m++) { v = *m; assert (v->mark); v->mark = 0; if (v->resolved) { v->resolved = 0; continue; } this = VAR2LIT (v); if (this->val == TRUE) this++; /* actually NOTLIT */ add_lit (ps, this); ps->minimizedllits++; } assert (ps->ahead <= ps->eoa); assert (ps->rhead <= ps->eor); ps->mhead = ps->marked; } static void fanalyze (PS * ps) { Lit ** eol, ** p, * lit; Cls * c, * reason; Var * v, * u; int next; double start = picosat_time_stamp (); assert (ps->failed_assumption); assert (ps->failed_assumption->val == FALSE); v = LIT2VAR (ps->failed_assumption); reason = var2reason (ps, v); if (!reason) return; #ifdef NO_BINARY_CLAUSES if (reason == &ps->impl) resetimpl (ps); #endif eol = end_of_lits (reason); for (p = reason->lits; p != eol; p++) { lit = *p; u = LIT2VAR (lit); if (u == v) continue; if (u->reason) break; } if (p == eol) return; assert (ps->ahead == ps->added); assert (ps->mhead == ps->marked); assert (ps->rhead == ps->resolved); next = 0; mark_var (ps, v); add_lit (ps, NOTLIT (ps->failed_assumption)); do { v = ps->marked[next++]; use_var (ps, v); if (v->reason) { reason = var2reason (ps, v); #ifdef NO_BINARY_CLAUSES if (reason == &ps->impl) resetimpl (ps); #endif add_antecedent (ps, reason); eol = end_of_lits (reason); for (p = reason->lits; p != eol; p++) { lit = *p; u = LIT2VAR (lit); if (u == v) continue; if (u->mark) continue; mark_var (ps, u); } } else { lit = VAR2LIT (v); if (lit->val == TRUE) lit = NOTLIT (lit); add_lit (ps, lit); } } while (ps->marked + next < ps->mhead); c = add_simplified_clause (ps, 1); v = LIT2VAR (ps->failed_assumption); reason = v->reason; #ifdef NO_BINARY_CLAUSES if (!ISLITREASON (reason)) #endif { assert (reason->locked); reason->locked = 0; if (reason->learned && reason->size > 2) { assert (ps->llocked > 0); ps->llocked--; } } #ifdef NO_BINARY_CLAUSES if (c == &ps->impl) { c = impl2reason (ps, NOTLIT (ps->failed_assumption)); } else #endif { assert (c->learned); assert (!c->locked); c->locked = 1; if (c->size > 2) { ps->llocked++; assert (ps->llocked > 0); } } v->reason = c; while (ps->mhead > ps->marked) (*--ps->mhead)->mark = 0; if (ps->verbosity) picosat_fprintf (ps->out, "%sfanalyze took %.1f seconds\n", ps->prefix, picosat_time_stamp () - start); } /* Propagate assignment of 'this' to 'FALSE' by visiting all binary clauses in * which 'this' occurs. */ inline static void prop2 (PS * ps, Lit * this) { #ifdef NO_BINARY_CLAUSES Lit ** l, ** start; Ltk * lstk; #else Cls * c, ** p; Cls * next; #endif Lit * other; Val tmp; assert (this->val == FALSE); #ifdef NO_BINARY_CLAUSES lstk = LIT2IMPLS (this); start = lstk->start; l = start + lstk->count; while (l != start) { /* The counter 'visits' is the number of clauses that are * visited during propagations of assignments. */ ps->visits++; #ifdef STATS ps->bvisits++; #endif other = *--l; tmp = other->val; if (tmp == TRUE) { #ifdef STATS ps->othertrue++; ps->othertrue2++; if (LIT2VAR (other)->level < ps->LEVEL) ps->othertrue2u++; #endif continue; } if (tmp != FALSE) { assign_forced (ps, other, LIT2REASON (NOTLIT(this))); continue; } if (ps->conflict == &ps->cimpl) resetcimpl (ps); ps->conflict = setcimpl (ps, this, other); } #else /* Traverse all binary clauses with 'this'. Head/Tail pointers for binary * clauses do not have to be modified here. */ p = LIT2IMPLS (this); for (c = *p; c; c = next) { ps->visits++; #ifdef STATS ps->bvisits++; #endif assert (!c->collect); #ifdef TRACE assert (!c->collected); #endif assert (c->size == 2); other = c->lits[0]; if (other == this) { next = c->next[0]; other = c->lits[1]; } else next = c->next[1]; tmp = other->val; if (tmp == TRUE) { #ifdef STATS ps->othertrue++; ps->othertrue2++; if (LIT2VAR (other)->level < ps->LEVEL) ps->othertrue2u++; #endif continue; } if (tmp == FALSE) ps->conflict = c; else assign_forced (ps, other, c); /* unit clause */ } #endif /* !defined(NO_BINARY_CLAUSES) */ } #ifndef NDSC static int should_disconnect_head_tail (PS * ps, Lit * lit) { unsigned litlevel; Var * v; assert (lit->val == TRUE); v = LIT2VAR (lit); litlevel = v->level; if (!litlevel) return 1; #ifndef NFL if (ps->simplifying) return 0; #endif return litlevel < ps->LEVEL; } #endif inline static void propl (PS * ps, Lit * this) { Lit **l, *other, *prev, *new_lit, **eol; Cls *next, **htp_ptr, **new_htp_ptr; Cls *c; #ifdef STATS unsigned size; #endif htp_ptr = LIT2HTPS (this); assert (this->val == FALSE); /* Traverse all non binary clauses with 'this'. Head/Tail pointers are * updated as well. */ for (c = *htp_ptr; c; c = next) { ps->visits++; #ifdef STATS size = c->size; assert (size >= 3); ps->traversals++; /* other is dereferenced at least */ if (size == 3) ps->tvisits++; else if (size >= 4) { ps->lvisits++; ps->ltraversals++; } #endif #ifdef TRACE assert (!c->collected); #endif assert (c->size > 0); other = c->lits[0]; if (other != this) { assert (c->size != 1); c->lits[0] = this; c->lits[1] = other; next = c->next[1]; c->next[1] = c->next[0]; c->next[0] = next; } else if (c->size == 1) /* With assumptions we need to * traverse unit clauses as well. */ { assert (!ps->conflict); ps->conflict = c; break; } else { assert (other == this && c->size > 1); other = c->lits[1]; next = c->next[0]; } assert (other == c->lits[1]); assert (this == c->lits[0]); assert (next == c->next[0]); assert (!c->collect); if (other->val == TRUE) { #ifdef STATS ps->othertrue++; ps->othertruel++; #endif #ifndef NDSC if (should_disconnect_head_tail (ps, other)) { new_htp_ptr = LIT2DHTPS (other); c->next[0] = *new_htp_ptr; *new_htp_ptr = c; #ifdef STATS ps->othertruelu++; #endif *htp_ptr = next; continue; } #endif htp_ptr = c->next; continue; } l = c->lits + 1; eol = (Lit**) c->lits + c->size; prev = this; while (++l != eol) { #ifdef STATS if (size >= 3) { ps->traversals++; if (size > 3) ps->ltraversals++; } #endif new_lit = *l; *l = prev; prev = new_lit; if (new_lit->val != FALSE) break; } if (l == eol) { while (l > c->lits + 2) { new_lit = *--l; *l = prev; prev = new_lit; } assert (c->lits[0] == this); assert (other == c->lits[1]); if (other->val == FALSE) /* found conflict */ { assert (!ps->conflict); ps->conflict = c; return; } assign_forced (ps, other, c); /* unit clause */ htp_ptr = c->next; } else { assert (new_lit->val == TRUE || new_lit->val == UNDEF); c->lits[0] = new_lit; // *l = this; new_htp_ptr = LIT2HTPS (new_lit); c->next[0] = *new_htp_ptr; *new_htp_ptr = c; *htp_ptr = next; } } } #ifndef NADC static unsigned primes[] = { 996293, 330643, 753947, 500873 }; #define PRIMES ((sizeof primes)/sizeof *primes) static unsigned hash_ado (Lit ** ado, unsigned salt) { unsigned i, res, tmp; Lit ** p, * lit; assert (salt < PRIMES); i = salt; res = 0; for (p = ado; (lit = *p); p++) { assert (lit->val); tmp = res >> 31; res <<= 1; if (lit->val > 0) res |= 1; assert (i < PRIMES); res *= primes[i++]; if (i == PRIMES) i = 0; res += tmp; } return res & (ps->szadotab - 1); } static unsigned cmp_ado (Lit ** a, Lit ** b) { Lit ** p, ** q, * l, * k; int res; for (p = a, q = b; (l = *p); p++, q++) { k = *q; assert (k); if ((res = (l->val - k->val))) return res; } assert (!*q); return 0; } static Lit *** find_ado (Lit ** ado) { Lit *** res, ** other; unsigned pos, delta; pos = hash_ado (ado, 0); assert (pos < ps->szadotab); res = ps->adotab + pos; other = *res; if (!other || !cmp_ado (other, ado)) return res; delta = hash_ado (ado, 1); if (!(delta & 1)) delta++; assert (delta & 1); assert (delta < ps->szadotab); for (;;) { pos += delta; if (pos >= ps->szadotab) pos -= ps->szadotab; assert (pos < ps->szadotab); res = ps->adotab + pos; other = *res; if (!other || !cmp_ado (other, ado)) return res; } } static void enlarge_adotab (PS * ps) { /* TODO make this generic */ ABORTIF (ps->szadotab, "internal: all different objects table needs larger initial size"); assert (!ps->nadotab); ps->szadotab = 10000; NEWN (ps->adotab, ps->szadotab); CLRN (ps->adotab, ps->szadotab); } static int propado (Var * v) { Lit ** p, ** q, *** adotabpos, **ado, * lit; Var * u; if (ps->level && ps->adodisabled) return 1; assert (!ps->conflict); assert (!ps->adoconflict); assert (VAR2LIT (v)->val != UNDEF); assert (!v->adotabpos); if (!v->ado) return 1; assert (v->inado); for (p = v->ado; (lit = *p); p++) if (lit->val == UNDEF) { u = LIT2VAR (lit); assert (!u->ado); u->ado = v->ado; v->ado = 0; return 1; } if (4 * ps->nadotab >= 3 * ps->szadotab) /* at least 75% filled */ enlarge_adotab (ps); adotabpos = find_ado (v->ado); ado = *adotabpos; if (!ado) { ps->nadotab++; v->adotabpos = adotabpos; *adotabpos = v->ado; return 1; } assert (ado != v->ado); ps->adoconflict = new_clause (2 * llength (ado), 1); q = ps->adoconflict->lits; for (p = ado; (lit = *p); p++) *q++ = lit->val == FALSE ? lit : NOTLIT (lit); for (p = v->ado; (lit = *p); p++) *q++ = lit->val == FALSE ? lit : NOTLIT (lit); assert (q == ENDOFCLS (ps->adoconflict)); ps->conflict = ps->adoconflict; ps->adoconflicts++; return 0; } #endif static void bcp (PS * ps) { int props = 0; assert (!ps->conflict); if (ps->mtcls) return; for (;;) { if (ps->ttail2 < ps->thead) /* prioritize implications */ { props++; prop2 (ps, NOTLIT (*ps->ttail2++)); } else if (ps->ttail < ps->thead) /* unit clauses or clauses with length > 2 */ { if (ps->conflict) break; propl (ps, NOTLIT (*ps->ttail++)); if (ps->conflict) break; } #ifndef NADC else if (ps->ttailado < ps->thead) { if (ps->conflict) break; propado (ps, LIT2VAR (*ps->ttailado++)); if (ps->conflict) break; } #endif else break; /* all assignments propagated, so break */ } ps->propagations += props; } static unsigned drive (PS * ps) { unsigned res, vlevel; Lit **p; Var *v; res = 0; for (p = ps->added; p < ps->ahead; p++) { v = LIT2VAR (*p); vlevel = v->level; assert (vlevel <= ps->LEVEL); if (vlevel < ps->LEVEL && vlevel > res) res = vlevel; } return res; } #ifdef VISCORES static void viscores (PS * ps) { Rnk *p, *eor = ps->rnks + ps->max_var; char name[100], cmd[200]; FILE * data; Flt s; int i; for (p = ps->rnks + 1; p <= ps->eor; p++) { s = p->score; if (s == INFFLT) continue; s = mulflt (s, ps->nvinc); assert (flt2double (s) <= 1.0); } sprintf (name, "/tmp/picosat-viscores/data/%08u", ps->conflicts); sprintf (cmd, "sort -n|nl>%s", name); data = popen (cmd, "w"); for (p = ps->rnks + 1; p <= ps->eor; p++) { s = p->score; if (s == INFFLT) continue; s = mulflt (s, ps->nvinc); picosat_fprintf (data, "%lf %d\n", 100.0 * flt2double (s), (int)(p - ps->rnks)); } fflush (data); pclose (data); for (i = 0; i < 8; i++) { sprintf (cmd, "awk '$3%%8==%d' %s>%s.%d", i, name, name, i); system (cmd); } picosat_fprintf (ps->fviscores, "set title \"%u\"\n", ps->conflicts); picosat_fprintf (ps->fviscores, "plot [0:%u] 0, 100 * (1 - 1/1.1), 100", ps->max_var); for (i = 0; i < 8; i++) picosat_fprintf (ps->fviscores, ", \"%s.%d\" using 1:2:3 with labels tc lt %d", name, i, i + 1); picosat_fputc ('\n', ps->fviscores); fflush (ps->fviscores); #ifndef WRITEGIF usleep (50000); /* refresh rate of 20 Hz */ #endif } #endif static void crescore (PS * ps) { Cls **p, *c; Act *a; Flt factor; int l = log2flt (ps->cinc); assert (l > 0); factor = base2flt (1, -l); for (p = ps->lclauses; p != ps->lhead; p++) { c = *p; if (!c) continue; #ifdef TRACE if (c->collected) continue; #endif assert (c->learned); if (c->size <= 2) continue; a = CLS2ACT (c); *a = mulflt (*a, factor); } ps->cinc = mulflt (ps->cinc, factor); } static void inc_vinc (PS * ps) { #ifdef VISCORES ps->nvinc = mulflt (ps->nvinc, ps->fvinc); #endif ps->vinc = mulflt (ps->vinc, ps->ifvinc); } inline static void inc_max_var (PS * ps) { Lit *lit; Rnk *r; Var *v; assert (ps->max_var < ps->size_vars); if (ps->max_var + 1 == ps->size_vars) enlarge (ps, ps->size_vars + 2*(ps->size_vars + 3) / 4); /* +25% */ ps->max_var++; /* new index of variable */ assert (ps->max_var); /* no unsigned overflow */ assert (ps->max_var < ps->size_vars); lit = ps->lits + 2 * ps->max_var; lit[0].val = lit[1].val = UNDEF; memset (ps->htps + 2 * ps->max_var, 0, 2 * sizeof *ps->htps); #ifndef NDSC memset (ps->dhtps + 2 * ps->max_var, 0, 2 * sizeof *ps->dhtps); #endif memset (ps->impls + 2 * ps->max_var, 0, 2 * sizeof *ps->impls); memset (ps->jwh + 2 * ps->max_var, 0, 2 * sizeof *ps->jwh); v = ps->vars + ps->max_var; /* initialize variable components */ CLR (v); r = ps->rnks + ps->max_var; /* initialize rank */ CLR (r); hpush (ps, r); } static void force (PS * ps, Cls * c) { Lit ** p, ** eol, * lit, * forced; Cls * reason; forced = 0; reason = c; eol = end_of_lits (c); for (p = c->lits; p < eol; p++) { lit = *p; if (lit->val == UNDEF) { assert (!forced); forced = lit; #ifdef NO_BINARY_CLAUSES if (c == &ps->impl) reason = LIT2REASON (NOTLIT (p[p == c->lits ? 1 : -1])); #endif } else assert (lit->val == FALSE); } #ifdef NO_BINARY_CLAUSES if (c == &ps->impl) resetimpl (ps); #endif if (!forced) return; assign_forced (ps, forced, reason); } static void inc_lreduce (PS * ps) { #ifdef STATS ps->inclreduces++; #endif ps->lreduce *= FREDUCE; ps->lreduce /= 100; report (ps, 1, '+'); } static void backtrack (PS * ps) { unsigned new_level; Cls * c; ps->conflicts++; LOG ( picosat_fprintf (ps->out, "%sconflict ", ps->prefix); dumpclsnl (ps, ps->conflict)); analyze (ps); new_level = drive (ps); // TODO: why not? assert (new_level != 1 || (ps->ahead - ps->added) == 2); c = add_simplified_clause (ps, 1); undo (ps, new_level); force (ps, c); if ( #ifndef NFL !ps->simplifying && #endif !--ps->lreduceadjustcnt) { /* With FREDUCE==110 and FREDADJ=121 we stir 'lreduce' to be * proportional to 'sqrt(conflicts)'. In earlier version we actually * used 'FREDADJ=150', which results in 'lreduce' to approximate * 'conflicts^(log(1.1)/log(1.5))' which is close to the fourth root * of 'conflicts', since log(1.1)/log(1.5)=0.235 (as observed by * Donald Knuth). The square root is the same we get by a Glucose * style increase, which simply adds a constant at every reduction. * This would be way simpler to implement but for now we keep the more * complicated code using the adjust increments and counters. */ ps->lreduceadjustinc *= FREDADJ; ps->lreduceadjustinc /= 100; ps->lreduceadjustcnt = ps->lreduceadjustinc; inc_lreduce (ps); } if (ps->verbosity >= 4 && !(ps->conflicts % 1000)) report (ps, 4, 'C'); } static void inc_cinc (PS * ps) { ps->cinc = mulflt (ps->cinc, ps->fcinc); if (ps->lcinc < ps->cinc) crescore (ps); } static void incincs (PS * ps) { inc_vinc (ps); inc_cinc (ps); #ifdef VISCORES viscores (ps); #endif } static void disconnect_clause (PS * ps, Cls * c) { assert (c->connected); if (c->size > 2) { if (c->learned) { assert (ps->nlclauses > 0); ps->nlclauses--; assert (ps->llits >= c->size); ps->llits -= c->size; } else { assert (ps->noclauses > 0); ps->noclauses--; assert (ps->olits >= c->size); ps->olits -= c->size; } } #ifndef NDEBUG c->connected = 0; #endif } static int clause_is_toplevel_satisfied (PS * ps, Cls * c) { Lit *lit, **p, **eol = end_of_lits (c); Var *v; for (p = c->lits; p < eol; p++) { lit = *p; if (lit->val == TRUE) { v = LIT2VAR (lit); if (!v->level) return 1; } } return 0; } static int collect_clause (PS * ps, Cls * c) { assert (c->collect); c->collect = 0; #ifdef TRACE assert (!c->collected); c->collected = 1; #endif disconnect_clause (ps, c); #ifdef TRACE if (ps->trace && (!c->learned || c->used)) return 0; #endif delete_clause (ps, c); return 1; } static size_t collect_clauses (PS * ps) { Cls *c, **p, **q, * next; Lit * lit, * eol; size_t res; int i; res = ps->current_bytes; eol = ps->lits + 2 * ps->max_var + 1; for (lit = ps->lits + 2; lit <= eol; lit++) { for (i = 0; i <= 1; i++) { if (i) { #ifdef NO_BINARY_CLAUSES Ltk * lstk = LIT2IMPLS (lit); Lit ** r, ** s; r = lstk->start; if (lit->val != TRUE || LIT2VAR (lit)->level) for (s = r; s < lstk->start + lstk->count; s++) { Lit * other = *s; Var *v = LIT2VAR (other); if (v->level || other->val != TRUE) *r++ = other; } lstk->count = r - lstk->start; continue; #else p = LIT2IMPLS (lit); #endif } else p = LIT2HTPS (lit); for (c = *p; c; c = next) { q = c->next; if (c->lits[0] != lit) q++; next = *q; if (c->collect) *p = next; else p = q; } } } #ifndef NDSC for (lit = ps->lits + 2; lit <= eol; lit++) { p = LIT2DHTPS (lit); while ((c = *p)) { Lit * other = c->lits[0]; if (other == lit) { q = c->next + 1; } else { assert (c->lits[1] == lit); q = c->next; } if (c->collect) *p = *q; else p = q; } } #endif for (p = SOC; p != EOC; p = NXC (p)) { c = *p; if (!c) continue; if (!c->collect) continue; if (collect_clause (ps, c)) *p = 0; } #ifdef TRACE if (!ps->trace) #endif { q = ps->oclauses; for (p = q; p < ps->ohead; p++) if ((c = *p)) *q++ = c; ps->ohead = q; q = ps->lclauses; for (p = q; p < ps->lhead; p++) if ((c = *p)) *q++ = c; ps->lhead = q; } assert (ps->current_bytes <= res); res -= ps->current_bytes; ps->recycled += res; LOG ( picosat_fprintf (ps->out, "%scollected %ld bytes\n", ps->prefix, (long)res)); return res; } static int need_to_reduce (PS * ps) { return ps->nlclauses >= reduce_limit_on_lclauses (ps); } #ifdef NLUBY static void inc_drestart (PS * ps) { ps->drestart *= FRESTART; ps->drestart /= 100; if (ps->drestart >= MAXRESTART) ps->drestart = MAXRESTART; } static void inc_ddrestart (PS * ps) { ps->ddrestart *= FRESTART; ps->ddrestart /= 100; if (ps->ddrestart >= MAXRESTART) ps->ddrestart = MAXRESTART; } #else static unsigned luby (unsigned i) { unsigned k; for (k = 1; k < 32; k++) if (i == (1u << k) - 1) return 1u << (k - 1); for (k = 1;; k++) if ((1u << (k - 1)) <= i && i < (1u << k) - 1) return luby (i - (1u << (k-1)) + 1); } #endif #ifndef NLUBY static void inc_lrestart (PS * ps, int skip) { unsigned delta; delta = 100 * luby (++ps->lubycnt); ps->lrestart = ps->conflicts + delta; if (ps->waslubymaxdelta) report (ps, 1, skip ? 'N' : 'R'); else report (ps, 2, skip ? 'n' : 'r'); if (delta > ps->lubymaxdelta) { ps->lubymaxdelta = delta; ps->waslubymaxdelta = 1; } else ps->waslubymaxdelta = 0; } #endif static void init_restart (PS * ps) { #ifdef NLUBY /* TODO: why is it better in incremental usage to have smaller initial * outer restart interval? */ ps->ddrestart = ps->calls > 1 ? MINRESTART : 1000; ps->drestart = MINRESTART; ps->lrestart = ps->conflicts + ps->drestart; #else ps->lubycnt = 0; ps->lubymaxdelta = 0; ps->waslubymaxdelta = 0; inc_lrestart (ps, 0); #endif } static void restart (PS * ps) { int skip; #ifdef NLUBY char kind; int outer; inc_drestart (ps); outer = (ps->drestart >= ps->ddrestart); if (outer) skip = very_high_agility (ps); else skip = high_agility (ps); #else skip = medium_agility (ps); #endif #ifdef STATS if (skip) ps->skippedrestarts++; #endif assert (ps->conflicts >= ps->lrestart); if (!skip) { ps->restarts++; assert (ps->LEVEL > 1); LOG ( picosat_fprintf (ps->out, "%srestart %u\n", ps->prefix, ps->restarts)); undo (ps, 0); } #ifdef NLUBY if (outer) { kind = skip ? 'N' : 'R'; inc_ddrestart (ps); ps->drestart = MINRESTART; } else if (skip) { kind = 'n'; } else { kind = 'r'; } assert (ps->drestart <= MAXRESTART); ps->lrestart = ps->conflicts + ps->drestart; assert (ps->lrestart > ps->conflicts); report (outer ? 1 : 2, kind); #else inc_lrestart (ps, skip); #endif } inline static void assign_decision (PS * ps, Lit * lit) { assert (!ps->conflict); ps->LEVEL++; LOG ( picosat_fprintf (ps->out, "%snew level %u\n", ps->prefix, ps->LEVEL)); LOG ( picosat_fprintf (ps->out, "%sassign %d at level %d <= DECISION\n", ps->prefix, LIT2INT (lit), ps->LEVEL)); assign (ps, lit, 0); } #ifndef NFL static int lit_has_binary_clauses (PS * ps, Lit * lit) { #ifdef NO_BINARY_CLAUSES Ltk* lstk = LIT2IMPLS (lit); return lstk->count != 0; #else return *LIT2IMPLS (lit) != 0; #endif } static void flbcp (PS * ps) { #ifdef STATS unsigned long long propagaions_before_bcp = ps->propagations; #endif bcp (ps); #ifdef STATS ps->flprops += ps->propagations - propagaions_before_bcp; #endif } inline static int cmp_inverse_rnk (PS * ps, Rnk * a, Rnk * b) { (void) ps; return -cmp_rnk (a, b); } inline static Flt rnk2jwh (PS * ps, Rnk * r) { Flt res, sum, pjwh, njwh; Lit * plit, * nlit; plit = RNK2LIT (r); nlit = plit + 1; pjwh = *LIT2JWH (plit); njwh = *LIT2JWH (nlit); res = mulflt (pjwh, njwh); sum = addflt (pjwh, njwh); sum = mulflt (sum, base2flt (1, -10)); res = addflt (res, sum); return res; } static int cmp_inverse_jwh_rnk (PS * ps, Rnk * r, Rnk * s) { Flt a = rnk2jwh (ps, r); Flt b = rnk2jwh (ps, s); int res = cmpflt (a, b); if (res) return -res; return cmp_inverse_rnk (ps, r, s); } static void faillits (PS * ps) { unsigned i, j, old_trail_count, common, saved_count; unsigned new_saved_size, oldladded = ps->ladded; unsigned long long limit, delta; Lit * lit, * other, * pivot; Rnk * r, ** p, ** q; int new_trail_count; double started; if (ps->plain) return; if (ps->heap + 1 >= ps->hhead) return; if (ps->propagations < ps->fllimit) return; sflush (ps); started = ps->seconds; ps->flcalls++; #ifdef STATSA ps->flrounds++; #endif delta = ps->propagations/10; if (delta >= 100*1000*1000) delta = 100*1000*1000; else if (delta <= 100*1000) delta = 100*1000; limit = ps->propagations + delta; ps->fllimit = ps->propagations; assert (!ps->LEVEL); assert (ps->simplifying); if (ps->flcalls <= 1) SORT (Rnk *, cmp_inverse_jwh_rnk, ps->heap + 1, ps->hhead - (ps->heap + 1)); else SORT (Rnk *, cmp_inverse_rnk, ps->heap + 1, ps->hhead - (ps->heap + 1)); i = 1; /* NOTE: heap starts at position '1' */ while (ps->propagations < limit) { if (ps->heap + i == ps->hhead) { if (ps->ladded == oldladded) break; i = 1; #ifdef STATS ps->flrounds++; #endif oldladded = ps->ladded; } assert (ps->heap + i < ps->hhead); r = ps->heap[i++]; lit = RNK2LIT (r); if (lit->val) continue; if (!lit_has_binary_clauses (ps, NOTLIT (lit))) { #ifdef STATS ps->flskipped++; #endif continue; } #ifdef STATS ps->fltried++; #endif LOG ( picosat_fprintf (ps->out, "%strying %d as failed literal\n", ps->prefix, LIT2INT (lit))); assign_decision (ps, lit); old_trail_count = ps->thead - ps->trail; flbcp (ps); if (ps->conflict) { EXPLICITLY_FAILED_LITERAL: LOG ( picosat_fprintf (ps->out, "%sfound explicitly failed literal %d\n", ps->prefix, LIT2INT (lit))); ps->failedlits++; ps->efailedlits++; backtrack (ps); flbcp (ps); if (!ps->conflict) continue; CONTRADICTION: assert (!ps->LEVEL); backtrack (ps); assert (ps->mtcls); goto RETURN; } if (ps->propagations >= limit) { undo (ps, 0); break; } lit = NOTLIT (lit); if (!lit_has_binary_clauses (ps, NOTLIT (lit))) { #ifdef STATS ps->flskipped++; #endif undo (ps, 0); continue; } #ifdef STATS ps->fltried++; #endif LOG ( picosat_fprintf (ps->out, "%strying %d as failed literals\n", ps->prefix, LIT2INT (lit))); new_trail_count = ps->thead - ps->trail; saved_count = new_trail_count - old_trail_count; if (saved_count > ps->saved_size) { new_saved_size = ps->saved_size ? 2 * ps->saved_size : 1; while (saved_count > new_saved_size) new_saved_size *= 2; RESIZEN (ps->saved, ps->saved_size, new_saved_size); ps->saved_size = new_saved_size; } for (j = 0; j < saved_count; j++) ps->saved[j] = ps->trail[old_trail_count + j]; undo (ps, 0); assign_decision (ps, lit); flbcp (ps); if (ps->conflict) goto EXPLICITLY_FAILED_LITERAL; pivot = (ps->thead - ps->trail <= new_trail_count) ? lit : NOTLIT (lit); common = 0; for (j = 0; j < saved_count; j++) if ((other = ps->saved[j])->val == TRUE) ps->saved[common++] = other; undo (ps, 0); LOG (if (common) picosat_fprintf (ps->out, "%sfound %d literals implied by %d and %d\n", ps->prefix, common, LIT2INT (NOTLIT (lit)), LIT2INT (lit))); #if 1 // set to zero to disable 'lifting' for (j = 0; j < common /* TODO: For some Velev benchmarks, extracting the common implicit * failed literals took quite some time. This needs to be fixed by * a dedicated analyzer. Up to then we bound the number of * propagations in this loop as well. */ && ps->propagations < limit + delta ; j++) { other = ps->saved[j]; if (other->val == TRUE) continue; assert (!other->val); LOG ( picosat_fprintf (ps->out, "%sforcing %d as forced implicitly failed literal\n", ps->prefix, LIT2INT (other))); assert (pivot != NOTLIT (other)); assert (pivot != other); assign_decision (ps, NOTLIT (other)); flbcp (ps); assert (ps->LEVEL == 1); if (ps->conflict) { backtrack (ps); assert (!ps->LEVEL); } else { assign_decision (ps, pivot); flbcp (ps); backtrack (ps); if (ps->LEVEL) { assert (ps->LEVEL == 1); flbcp (ps); if (ps->conflict) { backtrack (ps); assert (!ps->LEVEL); } else { assign_decision (ps, NOTLIT (pivot)); flbcp (ps); backtrack (ps); if (ps->LEVEL) { assert (ps->LEVEL == 1); flbcp (ps); if (!ps->conflict) { #ifdef STATS ps->floopsed++; #endif undo (ps, 0); continue; } backtrack (ps); } assert (!ps->LEVEL); } assert (!ps->LEVEL); } } assert (!ps->LEVEL); flbcp (ps); ps->failedlits++; ps->ifailedlits++; if (ps->conflict) goto CONTRADICTION; } #endif } ps->fllimit += 9 * (ps->propagations - ps->fllimit); /* 10% for failed literals */ RETURN: /* First flush top level assigned literals. Those are prohibited from * being pushed up the heap during 'faillits' since 'simplifying' is set. */ assert (ps->heap < ps->hhead); for (p = q = ps->heap + 1; p < ps->hhead; p++) { r = *p; lit = RNK2LIT (r); if (lit->val) r->pos = 0; else *q++ = r; } /* Then resort with respect to EVSIDS score and fix positions. */ SORT (Rnk *, cmp_inverse_rnk, ps->heap + 1, ps->hhead - (ps->heap + 1)); for (p = ps->heap + 1; p < ps->hhead; p++) (*p)->pos = p - ps->heap; sflush (ps); ps->flseconds += ps->seconds - started; } #endif static void simplify (PS * ps, int forced) { Lit * lit, * notlit, ** t; unsigned collect, delta; #ifdef STATS size_t bytes_collected; #endif int * q, ilit; Cls **p, *c; Var * v; #ifndef NDEDBUG (void) forced; #endif assert (!ps->mtcls); assert (!satisfied (ps)); assert (forced || ps->lsimplify <= ps->propagations); assert (forced || ps->fsimplify <= ps->fixed); if (ps->LEVEL) undo (ps, 0); #ifndef NFL ps->simplifying = 1; faillits (ps); ps->simplifying = 0; if (ps->mtcls) return; #endif if (ps->cils != ps->cilshead) { assert (ps->ttail == ps->thead); assert (ps->ttail2 == ps->thead); ps->ttail = ps->trail; for (t = ps->trail; t < ps->thead; t++) { lit = *t; v = LIT2VAR (lit); if (v->internal) { assert (LIT2INT (lit) < 0); assert (lit->val == TRUE); unassign (ps, lit); } else *ps->ttail++ = lit; } ps->ttail2 = ps->thead = ps->ttail; for (q = ps->cils; q != ps->cilshead; q++) { ilit = *q; assert (0 < ilit && ilit <= (int) ps->max_var); v = ps->vars + ilit; assert (v->internal); v->level = 0; v->reason = 0; lit = int2lit (ps, -ilit); assert (lit->val == UNDEF); lit->val = TRUE; notlit = NOTLIT (lit); assert (notlit->val == UNDEF); notlit->val = FALSE; } } collect = 0; for (p = SOC; p != EOC; p = NXC (p)) { c = *p; if (!c) continue; #ifdef TRACE if (c->collected) continue; #endif if (c->locked) continue; assert (!c->collect); if (clause_is_toplevel_satisfied (ps, c)) { mark_clause_to_be_collected (c); collect++; } } LOG ( picosat_fprintf (ps->out, "%scollecting %d clauses\n", ps->prefix, collect)); #ifdef STATS bytes_collected = #endif collect_clauses (ps); #ifdef STATS ps->srecycled += bytes_collected; #endif if (ps->cils != ps->cilshead) { for (q = ps->cils; q != ps->cilshead; q++) { ilit = *q; assert (0 < ilit && ilit <= (int) ps->max_var); assert (ps->vars[ilit].internal); if (ps->rilshead == ps->eorils) ENLARGE (ps->rils, ps->rilshead, ps->eorils); *ps->rilshead++ = ilit; lit = int2lit (ps, -ilit); assert (lit->val == TRUE); lit->val = UNDEF; notlit = NOTLIT (lit); assert (notlit->val == FALSE); notlit->val = UNDEF; } ps->cilshead = ps->cils; } delta = 10 * (ps->olits + ps->llits) + 100000; if (delta > 2000000) delta = 2000000; ps->lsimplify = ps->propagations + delta; ps->fsimplify = ps->fixed; ps->simps++; report (ps, 1, 's'); } static void iteration (PS * ps) { assert (!ps->LEVEL); assert (bcp_queue_is_empty (ps)); assert (ps->isimplify < ps->fixed); ps->iterations++; report (ps, 2, 'i'); #ifdef NLUBY ps->drestart = MINRESTART; ps->lrestart = ps->conflicts + ps->drestart; #else init_restart (ps); #endif ps->isimplify = ps->fixed; } static int cmp_glue_activity_size (PS * ps, Cls * c, Cls * d) { Act a, b, * p, * q; (void) ps; assert (c->learned); assert (d->learned); if (c->glue < d->glue) // smaller glue preferred return 1; if (c->glue > d->glue) return -1; p = CLS2ACT (c); q = CLS2ACT (d); a = *p; b = *q; if (a < b) // then higher activity return -1; if (b < a) return 1; if (c->size < d->size) // then smaller size return 1; if (c->size > d->size) return -1; return 0; } static void reduce (PS * ps, unsigned percentage) { unsigned redcount, lcollect, collect, target; #ifdef STATS size_t bytes_collected; #endif Cls **p, *c; assert (ps->rhead == ps->resolved); ps->lastreduceconflicts = ps->conflicts; assert (percentage <= 100); LOG ( picosat_fprintf (ps->out, "%sreducing %u%% learned clauses\n", ps->prefix, percentage)); while (ps->nlclauses - ps->llocked > (unsigned)(ps->eor - ps->resolved)) ENLARGE (ps->resolved, ps->rhead, ps->eor); collect = 0; lcollect = 0; for (p = ((ps->fsimplify < ps->fixed) ? SOC : ps->lclauses); p != EOC; p = NXC (p)) { c = *p; if (!c) continue; #ifdef TRACE if (c->collected) continue; #endif if (c->locked) continue; assert (!c->collect); if (ps->fsimplify < ps->fixed && clause_is_toplevel_satisfied (ps, c)) { mark_clause_to_be_collected (c); collect++; if (c->learned && c->size > 2) lcollect++; continue; } if (!c->learned) continue; if (c->size <= 2) continue; assert (ps->rhead < ps->eor); *ps->rhead++ = c; } assert (ps->rhead <= ps->eor); ps->fsimplify = ps->fixed; redcount = ps->rhead - ps->resolved; SORT (Cls *, cmp_glue_activity_size, ps->resolved, redcount); assert (ps->nlclauses >= lcollect); target = ps->nlclauses - lcollect + 1; target = (percentage * target + 99) / 100; if (target >= redcount) target = redcount; ps->rhead = ps->resolved + target; while (ps->rhead > ps->resolved) { c = *--ps->rhead; mark_clause_to_be_collected (c); collect++; if (c->learned && c->size > 2) /* just for consistency */ lcollect++; } if (collect) { ps->reductions++; #ifdef STATS bytes_collected = #endif collect_clauses (ps); #ifdef STATS ps->rrecycled += bytes_collected; #endif report (ps, 2, '-'); } if (!lcollect) inc_lreduce (ps); /* avoid dead lock */ assert (ps->rhead == ps->resolved); } static void init_reduce (PS * ps) { // lreduce = loadded / 2; ps->lreduce = 1000; if (ps->lreduce < 100) ps->lreduce = 100; if (ps->verbosity) picosat_fprintf (ps->out, "%s\n%sinitial reduction limit %u clauses\n%s\n", ps->prefix, ps->prefix, ps->lreduce, ps->prefix); } static unsigned rng (PS * ps) { unsigned res = ps->srng; ps->srng *= 1664525u; ps->srng += 1013904223u; NOLOG ( picosat_fprintf (ps->out, "%srng () = %u\n", ps->prefix, res)); return res; } static unsigned rrng (PS * ps, unsigned low, unsigned high) { unsigned long long tmp; unsigned res, elements; assert (low <= high); elements = high - low + 1; tmp = rng (ps); tmp *= elements; tmp >>= 32; tmp += low; res = tmp; NOLOG ( picosat_fprintf (ps->out, "%srrng (ps, %u, %u) = %u\n", ps->prefix, low, high, res)); assert (low <= res); assert (res <= high); return res; } static Lit * decide_phase (PS * ps, Lit * lit) { Lit * not_lit = NOTLIT (lit); Var *v = LIT2VAR (lit); assert (LIT2SGN (lit) > 0); if (v->usedefphase) { if (v->defphase) { /* assign to TRUE */ } else { /* assign to FALSE */ lit = not_lit; } } else if (!v->assigned) { #ifdef STATS ps->staticphasedecisions++; #endif if (ps->defaultphase == POSPHASE) { /* assign to TRUE */ } else if (ps->defaultphase == NEGPHASE) { /* assign to FALSE */ lit = not_lit; } else if (ps->defaultphase == RNDPHASE) { /* randomly assign default phase */ if (rrng (ps, 1, 2) != 2) lit = not_lit; } else if (*LIT2JWH(lit) <= *LIT2JWH (not_lit)) { /* assign to FALSE (Jeroslow-Wang says there are more short * clauses with negative occurence of this variable, so satisfy * those, to minimize BCP) */ lit = not_lit; } else { /* assign to TRUE (... but strictly more positive occurrences) */ } } else { /* repeat last phase: phase saving heuristic */ if (v->phase) { /* assign to TRUE (last phase was TRUE as well) */ } else { /* assign to FALSE (last phase was FALSE as well) */ lit = not_lit; } } return lit; } static unsigned gcd (unsigned a, unsigned b) { unsigned tmp; assert (a); assert (b); if (a < b) { tmp = a; a = b; b = tmp; } while (b) { assert (a >= b); tmp = b; b = a % b; a = tmp; } return a; } static Lit * rdecide (PS * ps) { unsigned idx, delta, spread; Lit * res; spread = RDECIDE; if (rrng (ps, 1, spread) != 2) return 0; assert (1 <= ps->max_var); idx = rrng (ps, 1, ps->max_var); res = int2lit (ps, idx); if (res->val != UNDEF) { delta = rrng (ps, 1, ps->max_var); while (gcd (delta, ps->max_var) != 1) delta--; assert (1 <= delta); assert (delta <= ps->max_var); do { idx += delta; if (idx > ps->max_var) idx -= ps->max_var; res = int2lit (ps, idx); } while (res->val != UNDEF); } #ifdef STATS ps->rdecisions++; #endif res = decide_phase (ps, res); LOG ( picosat_fprintf (ps->out, "%srdecide %d\n", ps->prefix, LIT2INT (res))); return res; } static Lit * sdecide (PS * ps) { Lit *res; Rnk *r; for (;;) { r = htop (ps); res = RNK2LIT (r); if (res->val == UNDEF) break; (void) hpop (ps); NOLOG ( picosat_fprintf (ps->out, "%shpop %u %u %u\n", ps->prefix, r - ps->rnks, FLTMANTISSA(r->score), FLTEXPONENT(r->score))); } #ifdef STATS ps->sdecisions++; #endif res = decide_phase (ps, res); LOG ( picosat_fprintf (ps->out, "%ssdecide %d\n", ps->prefix, LIT2INT (res))); return res; } static Lit * adecide (PS * ps) { Lit *lit; Var * v; assert (ps->als < ps->alshead); assert (!ps->failed_assumption); while (ps->alstail < ps->alshead) { lit = *ps->alstail++; if (lit->val == FALSE) { ps->failed_assumption = lit; v = LIT2VAR (lit); use_var (ps, v); LOG ( picosat_fprintf (ps->out, "%sfirst failed assumption %d\n", ps->prefix, LIT2INT (ps->failed_assumption))); fanalyze (ps); return 0; } if (lit->val == TRUE) { v = LIT2VAR (lit); if (v->level > ps->adecidelevel) ps->adecidelevel = v->level; continue; } #ifdef STATS ps->assumptions++; #endif LOG ( picosat_fprintf (ps->out, "%sadecide %d\n", ps->prefix, LIT2INT (lit))); ps->adecidelevel = ps->LEVEL + 1; return lit; } return 0; } static void decide (PS * ps) { Lit * lit; assert (!satisfied (ps)); assert (!ps->conflict); if (ps->alstail < ps->alshead && (lit = adecide (ps))) ; else if (ps->failed_assumption) return; else if (satisfied (ps)) return; else if (!(lit = rdecide (ps))) lit = sdecide (ps); assert (lit); assign_decision (ps, lit); ps->levelsum += ps->LEVEL; ps->decisions++; } static int sat (PS * ps, int l) { int count = 0, backtracked; if (!ps->conflict) bcp (ps); if (ps->conflict) backtrack (ps); if (ps->mtcls) return PICOSAT_UNSATISFIABLE; if (satisfied (ps)) goto SATISFIED; if (ps->lsimplify <= ps->propagations) simplify (ps, 0); if (ps->mtcls) return PICOSAT_UNSATISFIABLE; if (satisfied (ps)) goto SATISFIED; init_restart (ps); if (!ps->lreduce) init_reduce (ps); ps->isimplify = ps->fixed; backtracked = 0; for (;;) { if (!ps->conflict) bcp (ps); if (ps->conflict) { incincs (ps); backtrack (ps); if (ps->mtcls) return PICOSAT_UNSATISFIABLE; backtracked = 1; continue; } if (satisfied (ps)) { SATISFIED: #ifndef NDEBUG original_clauses_satisfied (ps); assumptions_satisfied (ps); #endif return PICOSAT_SATISFIABLE; } if (backtracked) { backtracked = 0; if (!ps->LEVEL && ps->isimplify < ps->fixed) iteration (ps); } if (l >= 0 && count >= l) /* decision limit reached ? */ return PICOSAT_UNKNOWN; if (ps->interrupt.function && /* external interrupt */ count > 0 && !(count % INTERRUPTLIM) && ps->interrupt.function (ps->interrupt.state)) return PICOSAT_UNKNOWN; if (ps->propagations >= ps->lpropagations)/* propagation limit reached ? */ return PICOSAT_UNKNOWN; #ifndef NADC if (!ps->adodisabled && ps->adoconflicts >= ps->adoconflictlimit) { assert (bcp_queue_is_empty (ps)); return PICOSAT_UNKNOWN; } #endif if (ps->fsimplify < ps->fixed && ps->lsimplify <= ps->propagations) { simplify (ps, 0); if (!bcp_queue_is_empty (ps)) continue; #ifndef NFL if (ps->mtcls) return PICOSAT_UNSATISFIABLE; if (satisfied (ps)) return PICOSAT_SATISFIABLE; assert (!ps->LEVEL); #endif } if (need_to_reduce (ps)) reduce (ps, 50); if (ps->conflicts >= ps->lrestart && ps->LEVEL > 2) restart (ps); decide (ps); if (ps->failed_assumption) return PICOSAT_UNSATISFIABLE; count++; } } static void rebias (PS * ps) { Cls ** p, * c; Var * v; for (v = ps->vars + 1; v <= ps->vars + ps->max_var; v++) v->assigned = 0; memset (ps->jwh, 0, 2 * (ps->max_var + 1) * sizeof *ps->jwh); for (p = ps->oclauses; p < ps->ohead; p++) { c = *p; if (!c) continue; if (c->learned) continue; incjwh (ps, c); } } #ifdef TRACE static unsigned core (PS * ps) { unsigned idx, prev, this, delta, i, lcore, vcore; unsigned *stack, *shead, *eos; Lit **q, **eol, *lit; Cls *c, *reason; Znt *p, byte; Zhn *zhain; Var *v; assert (ps->trace); assert (ps->mtcls || ps->failed_assumption); if (ps->ocore >= 0) return ps->ocore; lcore = ps->ocore = vcore = 0; stack = shead = eos = 0; ENLARGE (stack, shead, eos); if (ps->mtcls) { idx = CLS2IDX (ps->mtcls); *shead++ = idx; } else { assert (ps->failed_assumption); v = LIT2VAR (ps->failed_assumption); reason = v->reason; assert (reason); idx = CLS2IDX (reason); *shead++ = idx; } while (shead > stack) { idx = *--shead; zhain = IDX2ZHN (idx); if (zhain) { if (zhain->core) continue; zhain->core = 1; lcore++; c = IDX2CLS (idx); if (c) { assert (!c->core); c->core = 1; } i = 0; delta = 0; prev = 0; for (p = zhain->znt; (byte = *p); p++, i += 7) { delta |= (byte & 0x7f) << i; if (byte & 0x80) continue; this = prev + delta; assert (prev < this); /* no overflow */ if (shead == eos) ENLARGE (stack, shead, eos); *shead++ = this; prev = this; delta = 0; i = -7; } } else { c = IDX2CLS (idx); assert (c); assert (!c->learned); if (c->core) continue; c->core = 1; ps->ocore++; eol = end_of_lits (c); for (q = c->lits; q < eol; q++) { lit = *q; v = LIT2VAR (lit); if (v->core) continue; v->core = 1; vcore++; if (!ps->failed_assumption) continue; if (lit != ps->failed_assumption) continue; reason = v->reason; if (!reason) continue; if (reason->core) continue; idx = CLS2IDX (reason); if (shead == eos) ENLARGE (stack, shead, eos); *shead++ = idx; } } } DELETEN (stack, eos - stack); if (ps->verbosity) picosat_fprintf (ps->out, "%s%u core variables out of %u (%.1f%%)\n" "%s%u core original clauses out of %u (%.1f%%)\n" "%s%u core learned clauses out of %u (%.1f%%)\n", ps->prefix, vcore, ps->max_var, PERCENT (vcore, ps->max_var), ps->prefix, ps->ocore, ps->oadded, PERCENT (ps->ocore, ps->oadded), ps->prefix, lcore, ps->ladded, PERCENT (lcore, ps->ladded)); return ps->ocore; } static void trace_lits (PS * ps, Cls * c, FILE * file) { Lit **p, **eol = end_of_lits (c); assert (c); assert (c->core); for (p = c->lits; p < eol; p++) picosat_fprintf (file, "%d ", LIT2INT (*p)); picosat_fputc ('0', file); } static void write_idx (PS * ps, unsigned idx, FILE * file) { picosat_fprintf (file, "%ld", EXPORTIDX (idx)); } static void trace_clause (PS * ps, unsigned idx, Cls * c, FILE * file, int fmt) { assert (c); assert (c->core); assert (fmt == RUP_TRACE_FMT || !c->learned); assert (CLS2IDX (c) == idx); if (fmt != RUP_TRACE_FMT) { write_idx (ps, idx, file); picosat_fputc (' ', file); } trace_lits (ps, c, file); if (fmt != RUP_TRACE_FMT) picosat_fputs (" 0", file); picosat_fputc ('\n', file); } static void trace_zhain (PS * ps, unsigned idx, Zhn * zhain, FILE * file, int fmt) { unsigned prev, this, delta, i; Znt *p, byte; Cls * c; assert (zhain); assert (zhain->core); write_idx (ps, idx, file); picosat_fputc (' ', file); if (fmt == EXTENDED_TRACECHECK_TRACE_FMT) { c = IDX2CLS (idx); assert (c); trace_lits (ps, c, file); } else { assert (fmt == COMPACT_TRACECHECK_TRACE_FMT); putc ('*', file); } i = 0; delta = 0; prev = 0; for (p = zhain->znt; (byte = *p); p++, i += 7) { delta |= (byte & 0x7f) << i; if (byte & 0x80) continue; this = prev + delta; putc (' ', file); write_idx (ps, this, file); prev = this; delta = 0; i = -7; } picosat_fputs (" 0\n", file); } static void write_core (PS * ps, FILE * file) { Lit **q, **eol; Cls **p, *c; picosat_fprintf (file, "p cnf %u %u\n", ps->max_var, core (ps)); for (p = SOC; p != EOC; p = NXC (p)) { c = *p; if (!c || c->learned || !c->core) continue; eol = end_of_lits (c); for (q = c->lits; q < eol; q++) picosat_fprintf (file, "%d ", LIT2INT (*q)); picosat_fputs ("0\n", file); } } #endif static void write_trace (PS * ps, FILE * file, int fmt) { #ifdef TRACE Cls *c, ** p; Zhn *zhain; unsigned i; core (ps); if (fmt == RUP_TRACE_FMT) { ps->rupvariables = picosat_variables (ps), ps->rupclauses = picosat_added_original_clauses (ps); write_rup_header (ps, file); } for (p = SOC; p != EOC; p = NXC (p)) { c = *p; if (ps->oclauses <= p && p < ps->eoo) { i = OIDX2IDX (p - ps->oclauses); assert (!c || CLS2IDX (c) == i); } else { assert (ps->lclauses <= p && p < ps->EOL); i = LIDX2IDX (p - ps->lclauses); } zhain = IDX2ZHN (i); if (zhain) { if (zhain->core) { if (fmt == RUP_TRACE_FMT) trace_clause (ps,i, c, file, fmt); else trace_zhain (ps, i, zhain, file, fmt); } } else if (c) { if (fmt != RUP_TRACE_FMT && c) { if (c->core) trace_clause (ps, i, c, file, fmt); } } } #else (void) file; (void) fmt; (void) ps; #endif } static void write_core_wrapper (PS * ps, FILE * file, int fmt) { (void) fmt; #ifdef TRACE write_core (ps, file); #else (void) ps; (void) file; #endif } static Lit * import_lit (PS * ps, int lit, int nointernal) { Lit * res; Var * v; ABORTIF (lit == INT_MIN, "API usage: INT_MIN literal"); ABORTIF (abs (lit) > (int) ps->max_var && ps->CLS != ps->clshead, "API usage: new variable index after 'picosat_push'"); if (abs (lit) <= (int) ps->max_var) { res = int2lit (ps, lit); v = LIT2VAR (res); if (nointernal && v->internal) ABORT ("API usage: trying to import invalid literal"); else if (!nointernal && !v->internal) ABORT ("API usage: trying to import invalid context"); } else { while (abs (lit) > (int) ps->max_var) inc_max_var (ps); res = int2lit (ps, lit); } return res; } #ifdef TRACE static void reset_core (PS * ps) { Cls ** p, * c; Zhn ** q, * z; unsigned i; for (i = 1; i <= ps->max_var; i++) ps->vars[i].core = 0; for (p = SOC; p != EOC; p = NXC (p)) if ((c = *p)) c->core = 0; for (q = ps->zhains; q != ps->zhead; q++) if ((z = *q)) z->core = 0; ps->ocore = -1; } #endif static void reset_assumptions (PS * ps) { Lit ** p; ps->failed_assumption = 0; if (ps->extracted_all_failed_assumptions) { for (p = ps->als; p < ps->alshead; p++) LIT2VAR (*p)->failed = 0; ps->extracted_all_failed_assumptions = 0; } ps->alstail = ps->alshead = ps->als; ps->adecidelevel = 0; } static void check_ready (PS * ps) { ABORTIF (!ps || ps->state == RESET, "API usage: uninitialized"); } static void check_sat_state (PS * ps) { ABORTIF (ps->state != SAT, "API usage: expected to be in SAT state"); } static void check_unsat_state (PS * ps) { ABORTIF (ps->state != UNSAT, "API usage: expected to be in UNSAT state"); } static void check_sat_or_unsat_or_unknown_state (PS * ps) { ABORTIF (ps->state != SAT && ps->state != UNSAT && ps->state != UNKNOWN, "API usage: expected to be in SAT, UNSAT, or UNKNOWN state"); } static void reset_partial (PS * ps) { unsigned idx; if (!ps->partial) return; for (idx = 1; idx <= ps->max_var; idx++) ps->vars[idx].partial = 0; ps->partial = 0; } static void reset_incremental_usage (PS * ps) { unsigned num_non_false; Lit * lit, ** q; check_sat_or_unsat_or_unknown_state (ps); LOG ( picosat_fprintf (ps->out, "%sRESET incremental usage\n", ps->prefix)); if (ps->LEVEL) undo (ps, 0); reset_assumptions (ps); if (ps->conflict) { num_non_false = 0; for (q = ps->conflict->lits; q < end_of_lits (ps->conflict); q++) { lit = *q; if (lit->val != FALSE) num_non_false++; } // assert (num_non_false >= 2); // TODO: why this assertion? #ifdef NO_BINARY_CLAUSES if (ps->conflict == &ps->cimpl) resetcimpl (ps); #endif #ifndef NADC if (ps->conflict == ps->adoconflict) resetadoconflict (ps); #endif ps->conflict = 0; } #ifdef TRACE reset_core (ps); #endif reset_partial (ps); ps->saved_flips = ps->flips; ps->min_flipped = UINT_MAX; ps->saved_max_var = ps->max_var; ps->state = READY; } static void enter (PS * ps) { if (ps->nentered++) return; check_ready (ps); ps->entered = picosat_time_stamp (); } static void leave (PS * ps) { assert (ps->nentered); if (--ps->nentered) return; sflush (ps); } static void check_trace_support_and_execute (PS * ps, FILE * file, void (*f)(PS*,FILE*,int), int fmt) { check_ready (ps); check_unsat_state (ps); #ifdef TRACE ABORTIF (!ps->trace, "API usage: tracing disabled"); enter (ps); f (ps, file, fmt); leave (ps); #else (void) file; (void) fmt; (void) f; ABORT ("compiled without trace support"); #endif } static void extract_all_failed_assumptions (PS * ps) { Lit ** p, ** eol; Var * v, * u; int pos; Cls * c; assert (!ps->extracted_all_failed_assumptions); assert (ps->failed_assumption); assert (ps->mhead == ps->marked); if (ps->marked == ps->eom) ENLARGE (ps->marked, ps->mhead, ps->eom); v = LIT2VAR (ps->failed_assumption); mark_var (ps, v); pos = 0; while (pos < ps->mhead - ps->marked) { v = ps->marked[pos++]; assert (v->mark); c = var2reason (ps, v); if (!c) continue; eol = end_of_lits (c); for (p = c->lits; p < eol; p++) { u = LIT2VAR (*p); if (!u->mark) mark_var (ps, u); } #ifdef NO_BINARY_CLAUSES if (c == &ps->impl) resetimpl (ps); #endif } for (p = ps->als; p < ps->alshead; p++) { u = LIT2VAR (*p); if (!u->mark) continue; u->failed = 1; LOG ( picosat_fprintf (ps->out, "%sfailed assumption %d\n", ps->prefix, LIT2INT (*p))); } while (ps->mhead > ps->marked) (*--ps->mhead)->mark = 0; ps->extracted_all_failed_assumptions = 1; } const char * picosat_copyright (void) { return "Copyright (c) 2006 - 2014 Armin Biere JKU Linz"; } PicoSAT * picosat_init (void) { return init (0, 0, 0, 0); } PicoSAT * picosat_minit (void * pmgr, picosat_malloc pnew, picosat_realloc presize, picosat_free pfree) { ABORTIF (!pnew, "API usage: zero 'picosat_malloc' argument"); ABORTIF (!presize, "API usage: zero 'picosat_realloc' argument"); ABORTIF (!pfree, "API usage: zero 'picosat_free' argument"); return init (pmgr, pnew, presize, pfree); } void picosat_adjust (PS * ps, int new_max_var) { unsigned new_size_vars; ABORTIF (abs (new_max_var) > (int) ps->max_var && ps->CLS != ps->clshead, "API usage: adjusting variable index after 'picosat_push'"); enter (ps); new_max_var = abs (new_max_var); new_size_vars = new_max_var + 1; if (ps->size_vars < new_size_vars) enlarge (ps, new_size_vars); while (ps->max_var < (unsigned) new_max_var) inc_max_var (ps); leave (ps); } int picosat_inc_max_var (PS * ps) { if (ps->measurealltimeinlib) enter (ps); else check_ready (ps); inc_max_var (ps); if (ps->measurealltimeinlib) leave (ps); return ps->max_var; } int picosat_context (PS * ps) { return ps->clshead == ps->CLS ? 0 : LIT2INT (ps->clshead[-1]); } int picosat_push (PS * ps) { int res; Lit *lit; Var * v; if (ps->measurealltimeinlib) enter (ps); else check_ready (ps); if (ps->state != READY) reset_incremental_usage (ps); if (ps->rils != ps->rilshead) { res = *--ps->rilshead; assert (ps->vars[res].internal); } else { inc_max_var (ps); res = ps->max_var; v = ps->vars + res; assert (!v->internal); v->internal = 1; ps->internals++; LOG ( picosat_fprintf (ps->out, "%snew internal variable index %d\n", ps->prefix, res)); } lit = int2lit (ps, res); if (ps->clshead == ps->eocls) ENLARGE (ps->CLS, ps->clshead, ps->eocls); *ps->clshead++ = lit; ps->contexts++; LOG ( picosat_fprintf (ps->out, "%snew context %d at depth %ld after push\n", ps->prefix, res, (long)(ps->clshead - ps->CLS))); if (ps->measurealltimeinlib) leave (ps); return res; } int picosat_pop (PS * ps) { Lit * lit; int res; ABORTIF (ps->CLS == ps->clshead, "API usage: too many 'picosat_pop'"); ABORTIF (ps->added != ps->ahead, "API usage: incomplete clause"); if (ps->measurealltimeinlib) enter (ps); else check_ready (ps); if (ps->state != READY) reset_incremental_usage (ps); assert (ps->CLS < ps->clshead); lit = *--ps->clshead; LOG ( picosat_fprintf (ps->out, "%sclosing context %d at depth %ld after pop\n", ps->prefix, LIT2INT (lit), (long)(ps->clshead - ps->CLS) + 1)); if (ps->cilshead == ps->eocils) ENLARGE (ps->cils, ps->cilshead, ps->eocils); *ps->cilshead++ = LIT2INT (lit); if (ps->cilshead - ps->cils > MAXCILS) { LOG ( picosat_fprintf (ps->out, "%srecycling %ld interals with forced simplification\n", ps->prefix, (long)(ps->cilshead - ps->cils))); simplify (ps, 1); } res = picosat_context (ps); if (res) LOG ( picosat_fprintf (ps->out, "%snew context %d at depth %ld after pop\n", ps->prefix, res, (long)(ps->clshead - ps->CLS))); else LOG ( picosat_fprintf (ps->out, "%souter most context reached after pop\n", ps->prefix)); if (ps->measurealltimeinlib) leave (ps); return res; } void picosat_set_verbosity (PS * ps, int new_verbosity_level) { check_ready (ps); ps->verbosity = new_verbosity_level; } void picosat_set_plain (PS * ps, int new_plain_value) { check_ready (ps); ps->plain = new_plain_value; } int picosat_enable_trace_generation (PS * ps) { int res = 0; check_ready (ps); #ifdef TRACE ABORTIF (ps->addedclauses, "API usage: trace generation enabled after adding clauses"); res = ps->trace = 1; #endif return res; } void picosat_set_incremental_rup_file (PS * ps, FILE * rup_file, int m, int n) { check_ready (ps); assert (!ps->rupstarted); ps->rup = rup_file; ps->rupvariables = m; ps->rupclauses = n; } void picosat_set_output (PS * ps, FILE * output_file) { check_ready (ps); ps->out = output_file; } void picosat_measure_all_calls (PS * ps) { check_ready (ps); ps->measurealltimeinlib = 1; } void picosat_set_prefix (PS * ps, const char * str) { check_ready (ps); new_prefix (ps, str); } void picosat_set_seed (PS * ps, unsigned s) { check_ready (ps); ps->srng = s; } void picosat_reset (PS * ps) { check_ready (ps); reset (ps); } int picosat_add (PS * ps, int int_lit) { int res = ps->oadded; Lit *lit; if (ps->measurealltimeinlib) enter (ps); else check_ready (ps); ABORTIF (ps->rup && ps->rupstarted && ps->oadded >= (unsigned)ps->rupclauses, "API usage: adding too many clauses after RUP header written"); #ifndef NADC ABORTIF (ps->addingtoado, "API usage: 'picosat_add' and 'picosat_add_ado_lit' mixed"); #endif if (ps->state != READY) reset_incremental_usage (ps); if (ps->saveorig) { if (ps->sohead == ps->eoso) ENLARGE (ps->soclauses, ps->sohead, ps->eoso); *ps->sohead++ = int_lit; } if (int_lit) { lit = import_lit (ps, int_lit, 1); add_lit (ps, lit); } else simplify_and_add_original_clause (ps); if (ps->measurealltimeinlib) leave (ps); return res; } int picosat_add_arg (PS * ps, ...) { int lit; va_list ap; va_start (ap, ps); while ((lit = va_arg (ap, int))) (void) picosat_add (ps, lit); va_end (ap); return picosat_add (ps, 0); } int picosat_add_lits (PS * ps, int * lits) { const int * p; int lit; for (p = lits; (lit = *p); p++) (void) picosat_add (ps, lit); return picosat_add (ps, 0); } void picosat_add_ado_lit (PS * ps, int external_lit) { #ifndef NADC Lit * internal_lit; if (ps->measurealltimeinlib) enter (ps); else check_ready (ps); if (ps->state != READY) reset_incremental_usage (ps); ABORTIF (!ps->addingtoado && ps->ahead > ps->added, "API usage: 'picosat_add' and 'picosat_add_ado_lit' mixed"); if (external_lit) { ps->addingtoado = 1; internal_lit = import_lit (external_lit, 1); add_lit (internal_lit); } else { ps->addingtoado = 0; add_ado (ps); } if (ps->measurealltimeinlib) leave (ps); #else (void) ps; (void) external_lit; ABORT ("compiled without all different constraint support"); #endif } static void assume (PS * ps, Lit * lit) { if (ps->alshead == ps->eoals) { assert (ps->alstail == ps->als); ENLARGE (ps->als, ps->alshead, ps->eoals); ps->alstail = ps->als; } *ps->alshead++ = lit; LOG ( picosat_fprintf (ps->out, "%sassumption %d\n", ps->prefix, LIT2INT (lit))); } static void assume_contexts (PS * ps) { Lit ** p; if (ps->als != ps->alshead) return; for (p = ps->CLS; p != ps->clshead; p++) assume (ps, *p); } static const char * enumstr (int i) { int last = i % 10; if (last == 1) return "st"; if (last == 2) return "nd"; if (last == 3) return "rd"; return "th"; } static int tderef (PS * ps, int int_lit) { Lit * lit; Var * v; assert (abs (int_lit) <= (int) ps->max_var); lit = int2lit (ps, int_lit); v = LIT2VAR (lit); if (v->level > 0) return 0; if (lit->val == TRUE) return 1; if (lit->val == FALSE) return -1; return 0; } static int pderef (PS * ps, int int_lit) { Lit * lit; Var * v; assert (abs (int_lit) <= (int) ps->max_var); v = ps->vars + abs (int_lit); if (!v->partial) return 0; lit = int2lit (ps, int_lit); if (lit->val == TRUE) return 1; if (lit->val == FALSE) return -1; return 0; } static void minautarky (PS * ps) { unsigned * occs, maxoccs, tmpoccs, npartial; int * p, * c, lit, best, val; #ifdef LOGGING int tl; #endif assert (!ps->partial); npartial = 0; NEWN (occs, 2*ps->max_var + 1); CLRN (occs, 2*ps->max_var + 1); occs += ps->max_var; for (p = ps->soclauses; p < ps->sohead; p++) occs[*p]++; assert (occs[0] == ps->oadded); for (c = ps->soclauses; c < ps->sohead; c = p + 1) { #ifdef LOGGING tl = 0; #endif best = 0; maxoccs = 0; for (p = c; (lit = *p); p++) { val = tderef (ps, lit); if (val < 0) continue; if (val > 0) { #ifdef LOGGING tl = 1; #endif best = lit; maxoccs = occs[lit]; } val = pderef (ps, lit); if (val > 0) break; if (val < 0) continue; val = int2lit (ps, lit)->val; assert (val); if (val < 0) continue; tmpoccs = occs[lit]; if (best && tmpoccs <= maxoccs) continue; best = lit; maxoccs = tmpoccs; } if (!lit) { assert (best); LOG ( picosat_fprintf (ps->out, "%sautark %d with %d occs%s\n", ps->prefix, best, maxoccs, tl ? " (top)" : "")); ps->vars[abs (best)].partial = 1; npartial++; } for (p = c; (lit = *p); p++) { assert (occs[lit] > 0); occs[lit]--; } } occs -= ps->max_var; DELETEN (occs, 2*ps->max_var + 1); ps->partial = 1; if (ps->verbosity) picosat_fprintf (ps->out, "%sautarky of size %u out of %u satisfying all clauses (%.1f%%)\n", ps->prefix, npartial, ps->max_var, PERCENT (npartial, ps->max_var)); } void picosat_assume (PS * ps, int int_lit) { Lit *lit; if (ps->measurealltimeinlib) enter (ps); else check_ready (ps); if (ps->state != READY) reset_incremental_usage (ps); assume_contexts (ps); lit = import_lit (ps, int_lit, 1); assume (ps, lit); if (ps->measurealltimeinlib) leave (ps); } int picosat_sat (PS * ps, int l) { int res; char ch; enter (ps); ps->calls++; LOG ( picosat_fprintf (ps->out, "%sSTART call %u\n", ps->prefix, ps->calls)); if (ps->added < ps->ahead) { #ifndef NADC if (ps->addingtoado) ABORT ("API usage: incomplete all different constraint"); else #endif ABORT ("API usage: incomplete clause"); } if (ps->state != READY) reset_incremental_usage (ps); assume_contexts (ps); res = sat (ps, l); assert (ps->state == READY); switch (res) { case PICOSAT_UNSATISFIABLE: ch = '0'; ps->state = UNSAT; break; case PICOSAT_SATISFIABLE: ch = '1'; ps->state = SAT; break; default: ch = '?'; ps->state = UNKNOWN; break; } if (ps->verbosity) { report (ps, 1, ch); rheader (ps); } leave (ps); LOG ( picosat_fprintf (ps->out, "%sEND call %u result %d\n", ps->prefix, ps->calls, res)); ps->last_sat_call_result = res; return res; } int picosat_res (PS * ps) { return ps->last_sat_call_result; } int picosat_deref (PS * ps, int int_lit) { Lit *lit; check_ready (ps); check_sat_state (ps); ABORTIF (!int_lit, "API usage: can not deref zero literal"); ABORTIF (ps->mtcls, "API usage: deref after empty clause generated"); #ifdef STATS ps->derefs++; #endif if (abs (int_lit) > (int) ps->max_var) return 0; lit = int2lit (ps, int_lit); if (lit->val == TRUE) return 1; if (lit->val == FALSE) return -1; return 0; } int picosat_deref_toplevel (PS * ps, int int_lit) { check_ready (ps); ABORTIF (!int_lit, "API usage: can not deref zero literal"); #ifdef STATS ps->derefs++; #endif if (abs (int_lit) > (int) ps->max_var) return 0; return tderef (ps, int_lit); } int picosat_inconsistent (PS * ps) { check_ready (ps); return ps->mtcls != 0; } int picosat_corelit (PS * ps, int int_lit) { check_ready (ps); check_unsat_state (ps); ABORTIF (!int_lit, "API usage: zero literal can not be in core"); assert (ps->mtcls || ps->failed_assumption); #ifdef TRACE { int res = 0; ABORTIF (!ps->trace, "tracing disabled"); if (ps->measurealltimeinlib) enter (ps); core (ps); if (abs (int_lit) <= (int) ps->max_var) res = ps->vars[abs (int_lit)].core; assert (!res || ps->failed_assumption || ps->vars[abs (int_lit)].used); if (ps->measurealltimeinlib) leave (ps); return res; } #else ABORT ("compiled without trace support"); return 0; #endif } int picosat_coreclause (PS * ps, int ocls) { check_ready (ps); check_unsat_state (ps); ABORTIF (ocls < 0, "API usage: negative original clause index"); ABORTIF (ocls >= (int)ps->oadded, "API usage: original clause index exceeded"); assert (ps->mtcls || ps->failed_assumption); #ifdef TRACE { Cls ** clsptr, * c; int res = 0; ABORTIF (!ps->trace, "tracing disabled"); if (ps->measurealltimeinlib) enter (ps); core (ps); clsptr = ps->oclauses + ocls; assert (clsptr < ps->ohead); c = *clsptr; if (c) res = c->core; if (ps->measurealltimeinlib) leave (ps); return res; } #else ABORT ("compiled without trace support"); return 0; #endif } int picosat_failed_assumption (PS * ps, int int_lit) { Lit * lit; Var * v; ABORTIF (!int_lit, "API usage: zero literal as assumption"); check_ready (ps); check_unsat_state (ps); if (ps->mtcls) return 0; assert (ps->failed_assumption); if (abs (int_lit) > (int) ps->max_var) return 0; if (!ps->extracted_all_failed_assumptions) extract_all_failed_assumptions (ps); lit = import_lit (ps, int_lit, 1); v = LIT2VAR (lit); return v->failed; } int picosat_failed_context (PS * ps, int int_lit) { Lit * lit; Var * v; ABORTIF (!int_lit, "API usage: zero literal as context"); ABORTIF (abs (int_lit) > (int) ps->max_var, "API usage: invalid context"); check_ready (ps); check_unsat_state (ps); assert (ps->failed_assumption); if (!ps->extracted_all_failed_assumptions) extract_all_failed_assumptions (ps); lit = import_lit (ps, int_lit, 0); v = LIT2VAR (lit); return v->failed; } const int * picosat_failed_assumptions (PS * ps) { Lit ** p, * lit; Var * v; int ilit; ps->falshead = ps->fals; check_ready (ps); check_unsat_state (ps); if (!ps->mtcls) { assert (ps->failed_assumption); if (!ps->extracted_all_failed_assumptions) extract_all_failed_assumptions (ps); for (p = ps->als; p < ps->alshead; p++) { lit = *p; v = LIT2VAR (*p); if (!v->failed) continue; ilit = LIT2INT (lit); if (ps->falshead == ps->eofals) ENLARGE (ps->fals, ps->falshead, ps->eofals); *ps->falshead++ = ilit; } } if (ps->falshead == ps->eofals) ENLARGE (ps->fals, ps->falshead, ps->eofals); *ps->falshead++ = 0; return ps->fals; } const int * picosat_mus_assumptions (PS * ps, void * s, void (*cb)(void*,const int*), int fix) { int i, j, ilit, len, norig = ps->alshead - ps->als, nwork, * work, res; signed char * redundant; Lit ** p, * lit; int failed; Var * v; #ifndef NDEBUG int oldlen; #endif check_ready (ps); check_unsat_state (ps); len = 0; if (!ps->mtcls) { assert (ps->failed_assumption); if (!ps->extracted_all_failed_assumptions) extract_all_failed_assumptions (ps); for (p = ps->als; p < ps->alshead; p++) if (LIT2VAR (*p)->failed) len++; } if (ps->mass) DELETEN (ps->mass, ps->szmass); ps->szmass = len + 1; NEWN (ps->mass, ps->szmass); i = 0; for (p = ps->als; p < ps->alshead; p++) { lit = *p; v = LIT2VAR (lit); if (!v->failed) continue; ilit = LIT2INT (lit); assert (i < len); ps->mass[i++] = ilit; } assert (i == len); ps->mass[i] = 0; if (ps->verbosity) picosat_fprintf (ps->out, "%sinitial set of failed assumptions of size %d out of %d (%.0f%%)\n", ps->prefix, len, norig, PERCENT (len, norig)); if (cb) cb (s, ps->mass); nwork = len; NEWN (work, nwork); for (i = 0; i < len; i++) work[i] = ps->mass[i]; NEWN (redundant, nwork); CLRN (redundant, nwork); for (i = 0; i < nwork; i++) { if (redundant[i]) continue; if (ps->verbosity > 1) picosat_fprintf (ps->out, "%strying to drop %d%s assumption %d\n", ps->prefix, i, enumstr (i), work[i]); for (j = 0; j < nwork; j++) { if (i == j) continue; if (j < i && fix) continue; if (redundant[j]) continue; picosat_assume (ps, work[j]); } res = picosat_sat (ps, -1); if (res == 10) { if (ps->verbosity > 1) picosat_fprintf (ps->out, "%sfailed to drop %d%s assumption %d\n", ps->prefix, i, enumstr (i), work[i]); if (fix) { picosat_add (ps, work[i]); picosat_add (ps, 0); } } else { assert (res == 20); if (ps->verbosity > 1) picosat_fprintf (ps->out, "%ssuceeded to drop %d%s assumption %d\n", ps->prefix, i, enumstr (i), work[i]); redundant[i] = 1; for (j = 0; j < nwork; j++) { failed = picosat_failed_assumption (ps, work[j]); if (j <= i) { assert ((j < i && fix) || redundant[j] == !failed); continue; } if (!failed) { redundant[j] = -1; if (ps->verbosity > 1) picosat_fprintf (ps->out, "%salso suceeded to drop %d%s assumption %d\n", ps->prefix, j, enumstr (j), work[j]); } } #ifndef NDEBUG oldlen = len; #endif len = 0; for (j = 0; j < nwork; j++) if (!redundant[j]) ps->mass[len++] = work[j]; ps->mass[len] = 0; assert (len < oldlen); if (fix) { picosat_add (ps, -work[i]); picosat_add (ps, 0); } #ifndef NDEBUG for (j = 0; j <= i; j++) assert (redundant[j] >= 0); #endif for (j = i + 1; j < nwork; j++) { if (redundant[j] >= 0) continue; if (fix) { picosat_add (ps, -work[j]); picosat_add (ps, 0); } redundant[j] = 1; } if (ps->verbosity) picosat_fprintf (ps->out, "%sreduced set of failed assumptions of size %d out of %d (%.0f%%)\n", ps->prefix, len, norig, PERCENT (len, norig)); if (cb) cb (s, ps->mass); } } DELETEN (work, nwork); DELETEN (redundant, nwork); if (ps->verbosity) { picosat_fprintf (ps->out, "%sreinitializing unsat state\n", ps->prefix); fflush (ps->out); } for (i = 0; i < len; i++) picosat_assume (ps, ps->mass[i]); #ifndef NDEBUG res = #endif picosat_sat (ps, -1); assert (res == 20); if (!ps->mtcls) { assert (!ps->extracted_all_failed_assumptions); extract_all_failed_assumptions (ps); } return ps->mass; } static const int * mss (PS * ps, int * a, int size) { int i, j, k, res; assert (!ps->mtcls); if (ps->szmssass) DELETEN (ps->mssass, ps->szmssass); ps->szmssass = 0; ps->mssass = 0; ps->szmssass = size + 1; NEWN (ps->mssass, ps->szmssass); LOG ( picosat_fprintf (ps->out, "%ssearch MSS over %d assumptions\n", ps->prefix, size)); k = 0; for (i = k; i < size; i++) { for (j = 0; j < k; j++) picosat_assume (ps, ps->mssass[j]); LOG ( picosat_fprintf (ps->out, "%strying to add assumption %d to MSS : %d\n", ps->prefix, i, a[i])); picosat_assume (ps, a[i]); res = picosat_sat (ps, -1); if (res == 10) { LOG ( picosat_fprintf (ps->out, "%sadding assumption %d to MSS : %d\n", ps->prefix, i, a[i])); ps->mssass[k++] = a[i]; for (j = i + 1; j < size; j++) { if (picosat_deref (ps, a[j]) <= 0) continue; LOG ( picosat_fprintf (ps->out, "%salso adding assumption %d to MSS : %d\n", ps->prefix, j, a[j])); ps->mssass[k++] = a[j]; if (++i != j) { int tmp = a[i]; a[i] = a[j]; a[j] = tmp; } } } else { assert (res == 20); LOG ( picosat_fprintf (ps->out, "%signoring assumption %d in MSS : %d\n", ps->prefix, i, a[i])); } } ps->mssass[k] = 0; LOG ( picosat_fprintf (ps->out, "%sfound MSS of size %d\n", ps->prefix, k)); return ps->mssass; } static void reassume (PS * ps, const int * a, int size) { int i; LOG ( picosat_fprintf (ps->out, "%sreassuming all assumptions\n", ps->prefix)); for (i = 0; i < size; i++) picosat_assume (ps, a[i]); } const int * picosat_maximal_satisfiable_subset_of_assumptions (PS * ps) { const int * res; int i, *a, size; ABORTIF (ps->mtcls, "API usage: CNF inconsistent (use 'picosat_inconsistent')"); enter (ps); size = ps->alshead - ps->als; NEWN (a, size); for (i = 0; i < size; i++) a[i] = LIT2INT (ps->als[i]); res = mss (ps, a, size); reassume (ps, a, size); DELETEN (a, size); leave (ps); return res; } static void check_mss_flags_clean (PS * ps) { #ifndef NDEBUG unsigned i; for (i = 1; i <= ps->max_var; i++) { assert (!ps->vars[i].msspos); assert (!ps->vars[i].mssneg); } #else (void) ps; #endif } static void push_mcsass (PS * ps, int lit) { if (ps->nmcsass == ps->szmcsass) { ps->szmcsass = ps->szmcsass ? 2*ps->szmcsass : 1; RESIZEN (ps->mcsass, ps->nmcsass, ps->szmcsass); } ps->mcsass[ps->nmcsass++] = lit; } static const int * next_mss (PS * ps, int mcs) { int i, *a, size, mssize, mcsize, lit, inmss; const int * res, * p; Var * v; if (ps->mtcls) return 0; check_mss_flags_clean (ps); if (mcs && ps->mcsass) { DELETEN (ps->mcsass, ps->szmcsass); ps->nmcsass = ps->szmcsass = 0; ps->mcsass = 0; } size = ps->alshead - ps->als; NEWN (a, size); for (i = 0; i < size; i++) a[i] = LIT2INT (ps->als[i]); (void) picosat_sat (ps, -1); //TODO short cut for 'picosat_res () == 10'? if (ps->mtcls) { assert (picosat_res (ps) == 20); res = 0; goto DONE; } res = mss (ps, a, size); if (ps->mtcls) { res = 0; goto DONE; } for (p = res; (lit = *p); p++) { v = ps->vars + abs (lit); if (lit < 0) { assert (!v->msspos); v->mssneg = 1; } else { assert (!v->mssneg); v->msspos = 1; } } mssize = p - res; mcsize = INT_MIN; for (i = 0; i < size; i++) { lit = a[i]; v = ps->vars + abs (lit); if (lit > 0 && v->msspos) inmss = 1; else if (lit < 0 && v->mssneg) inmss = 1; else inmss = 0; if (mssize < mcsize) { if (inmss) picosat_add (ps, -lit); } else { if (!inmss) picosat_add (ps, lit); } if (!inmss && mcs) push_mcsass (ps, lit); } picosat_add (ps, 0); if (mcs) push_mcsass (ps, 0); for (i = 0; i < size; i++) { lit = a[i]; v = ps->vars + abs (lit); v->msspos = 0; v->mssneg = 0; } DONE: reassume (ps, a, size); DELETEN (a, size); return res; } const int * picosat_next_maximal_satisfiable_subset_of_assumptions (PS * ps) { const int * res; enter (ps); res = next_mss (ps, 0); leave (ps); return res; } const int * picosat_next_minimal_correcting_subset_of_assumptions (PS * ps) { const int * res, * tmp; enter (ps); tmp = next_mss (ps, 1); res = tmp ? ps->mcsass : 0; leave (ps); return res; } const int * picosat_humus (PS * ps, void (*callback)(void*state,int nmcs,int nhumus), void * state) { int lit, nmcs, j, nhumus; const int * mcs, * p; unsigned i; Var * v; enter (ps); #ifndef NDEBUG for (i = 1; i <= ps->max_var; i++) { v = ps->vars + i; assert (!v->humuspos); assert (!v->humusneg); } #endif nhumus = nmcs = 0; while ((mcs = picosat_next_minimal_correcting_subset_of_assumptions (ps))) { for (p = mcs; (lit = *p); p++) { v = ps->vars + abs (lit); if (lit < 0) { if (!v->humusneg) { v->humusneg = 1; nhumus++; } } else { if (!v->humuspos) { v->humuspos = 1; nhumus++; } } } nmcs++; LOG ( picosat_fprintf (ps->out, "%smcs %d of size %d humus %d\n", ps->prefix, nmcs, (int)(p - mcs), nhumus)); if (callback) callback (state, nmcs, nhumus); } assert (!ps->szhumus); ps->szhumus = 1; for (i = 1; i <= ps->max_var; i++) { v = ps->vars + i; if (v->humuspos) ps->szhumus++; if (v->humusneg) ps->szhumus++; } assert (nhumus + 1 == ps->szhumus); NEWN (ps->humus, ps->szhumus); j = 0; for (i = 1; i <= ps->max_var; i++) { v = ps->vars + i; if (v->humuspos) { assert (j < nhumus); ps->humus[j++] = (int) i; } if (v->humusneg) { assert (j < nhumus); assert (i < INT_MAX); ps->humus[j++] = - (int) i; } } assert (j == nhumus); assert (j < ps->szhumus); ps->humus[j] = 0; leave (ps); return ps->humus; } int picosat_usedlit (PS * ps, int int_lit) { int res; check_ready (ps); check_sat_or_unsat_or_unknown_state (ps); ABORTIF (!int_lit, "API usage: zero literal can not be used"); int_lit = abs (int_lit); res = (int_lit <= (int) ps->max_var) ? ps->vars[int_lit].used : 0; return res; } void picosat_write_clausal_core (PS * ps, FILE * file) { check_trace_support_and_execute (ps, file, write_core_wrapper, 0); } void picosat_write_compact_trace (PS * ps, FILE * file) { check_trace_support_and_execute (ps, file, write_trace, COMPACT_TRACECHECK_TRACE_FMT); } void picosat_write_extended_trace (PS * ps, FILE * file) { check_trace_support_and_execute (ps, file, write_trace, EXTENDED_TRACECHECK_TRACE_FMT); } void picosat_write_rup_trace (PS * ps, FILE * file) { check_trace_support_and_execute (ps, file, write_trace, RUP_TRACE_FMT); } size_t picosat_max_bytes_allocated (PS * ps) { check_ready (ps); return ps->max_bytes; } void picosat_set_propagation_limit (PS * ps, unsigned long long l) { ps->lpropagations = l; } unsigned long long picosat_propagations (PS * ps) { return ps->propagations; } unsigned long long picosat_visits (PS * ps) { return ps->visits; } unsigned long long picosat_decisions (PS * ps) { return ps->decisions; } int picosat_variables (PS * ps) { check_ready (ps); return (int) ps->max_var; } int picosat_added_original_clauses (PS * ps) { check_ready (ps); return (int) ps->oadded; } void picosat_stats (PS * ps) { unsigned redlits; #ifdef STATS check_ready (ps); assert (ps->sdecisions + ps->rdecisions + ps->assumptions == ps->decisions); #endif if (ps->calls > 1) picosat_fprintf (ps->out, "%s%u calls\n", ps->prefix, ps->calls); if (ps->contexts) { picosat_fprintf (ps->out, "%s%u contexts", ps->prefix, ps->contexts); #ifdef STATS picosat_fprintf (ps->out, " %u internal variables", ps->internals); #endif picosat_fprintf (ps->out, "\n"); } picosat_fprintf (ps->out, "%s%u iterations\n", ps->prefix, ps->iterations); picosat_fprintf (ps->out, "%s%u restarts", ps->prefix, ps->restarts); #ifdef STATS picosat_fprintf (ps->out, " (%u skipped)", ps->skippedrestarts); #endif picosat_fputc ('\n', ps->out); #ifndef NFL picosat_fprintf (ps->out, "%s%u failed literals", ps->prefix, ps->failedlits); #ifdef STATS picosat_fprintf (ps->out, ", %u calls, %u rounds, %llu propagations", ps->flcalls, ps->flrounds, ps->flprops); #endif picosat_fputc ('\n', ps->out); #ifdef STATS picosat_fprintf (ps->out, "%sfl: %u = %.1f%% implicit, %llu oopsed, %llu tried, %llu skipped\n", ps->prefix, ps->ifailedlits, PERCENT (ps->ifailedlits, ps->failedlits), ps->floopsed, ps->fltried, ps->flskipped); #endif #endif picosat_fprintf (ps->out, "%s%u conflicts", ps->prefix, ps->conflicts); #ifdef STATS picosat_fprintf (ps->out, " (%u uips = %.1f%%)\n", ps->uips, PERCENT(ps->uips,ps->conflicts)); #else picosat_fputc ('\n', ps->out); #endif #ifndef NADC picosat_fprintf (ps->out, "%s%u adc conflicts\n", ps->prefix, ps->adoconflicts); #endif #ifdef STATS picosat_fprintf (ps->out, "%s%llu dereferenced literals\n", ps->prefix, ps->derefs); #endif picosat_fprintf (ps->out, "%s%u decisions", ps->prefix, ps->decisions); #ifdef STATS picosat_fprintf (ps->out, " (%u random = %.2f%%", ps->rdecisions, PERCENT (ps->rdecisions, ps->decisions)); picosat_fprintf (ps->out, ", %u assumptions", ps->assumptions); picosat_fputc (')', ps->out); #endif picosat_fputc ('\n', ps->out); #ifdef STATS picosat_fprintf (ps->out, "%s%u static phase decisions (%.1f%% of all variables)\n", ps->prefix, ps->staticphasedecisions, PERCENT (ps->staticphasedecisions, ps->max_var)); #endif picosat_fprintf (ps->out, "%s%u fixed variables\n", ps->prefix, ps->fixed); assert (ps->nonminimizedllits >= ps->minimizedllits); redlits = ps->nonminimizedllits - ps->minimizedllits; picosat_fprintf (ps->out, "%s%u learned literals\n", ps->prefix, ps->llitsadded); picosat_fprintf (ps->out, "%s%.1f%% deleted literals\n", ps->prefix, PERCENT (redlits, ps->nonminimizedllits)); #ifdef STATS #ifdef TRACE picosat_fprintf (ps->out, "%s%llu antecedents (%.1f antecedents per clause", ps->prefix, ps->antecedents, AVERAGE (ps->antecedents, ps->conflicts)); if (ps->trace) picosat_fprintf (ps->out, ", %.1f bytes/antecedent)", AVERAGE (ps->znts, ps->antecedents)); picosat_fputs (")\n", ps->out); #endif picosat_fprintf (ps->out, "%s%llu propagations (%.1f propagations per decision)\n", ps->prefix, ps->propagations, AVERAGE (ps->propagations, ps->decisions)); picosat_fprintf (ps->out, "%s%llu visits (%.1f per propagation)\n", ps->prefix, ps->visits, AVERAGE (ps->visits, ps->propagations)); picosat_fprintf (ps->out, "%s%llu binary clauses visited (%.1f%% %.1f per propagation)\n", ps->prefix, ps->bvisits, PERCENT (ps->bvisits, ps->visits), AVERAGE (ps->bvisits, ps->propagations)); picosat_fprintf (ps->out, "%s%llu ternary clauses visited (%.1f%% %.1f per propagation)\n", ps->prefix, ps->tvisits, PERCENT (ps->tvisits, ps->visits), AVERAGE (ps->tvisits, ps->propagations)); picosat_fprintf (ps->out, "%s%llu large clauses visited (%.1f%% %.1f per propagation)\n", ps->prefix, ps->lvisits, PERCENT (ps->lvisits, ps->visits), AVERAGE (ps->lvisits, ps->propagations)); picosat_fprintf (ps->out, "%s%llu other true (%.1f%% of visited clauses)\n", ps->prefix, ps->othertrue, PERCENT (ps->othertrue, ps->visits)); picosat_fprintf (ps->out, "%s%llu other true in binary clauses (%.1f%%)" ", %llu upper (%.1f%%)\n", ps->prefix, ps->othertrue2, PERCENT (ps->othertrue2, ps->othertrue), ps->othertrue2u, PERCENT (ps->othertrue2u, ps->othertrue2)); picosat_fprintf (ps->out, "%s%llu other true in large clauses (%.1f%%)" ", %llu upper (%.1f%%)\n", ps->prefix, ps->othertruel, PERCENT (ps->othertruel, ps->othertrue), ps->othertruelu, PERCENT (ps->othertruelu, ps->othertruel)); picosat_fprintf (ps->out, "%s%llu ternary and large traversals (%.1f per visit)\n", ps->prefix, ps->traversals, AVERAGE (ps->traversals, ps->visits)); picosat_fprintf (ps->out, "%s%llu large traversals (%.1f per large visit)\n", ps->prefix, ps->ltraversals, AVERAGE (ps->ltraversals, ps->lvisits)); picosat_fprintf (ps->out, "%s%llu assignments\n", ps->prefix, ps->assignments); #else picosat_fprintf (ps->out, "%s%llu propagations\n", ps->prefix, picosat_propagations (ps)); picosat_fprintf (ps->out, "%s%llu visits\n", ps->prefix, picosat_visits (ps)); #endif picosat_fprintf (ps->out, "%s%.1f%% variables used\n", ps->prefix, PERCENT (ps->vused, ps->max_var)); sflush (ps); picosat_fprintf (ps->out, "%s%.1f seconds in library\n", ps->prefix, ps->seconds); picosat_fprintf (ps->out, "%s%.1f megaprops/second\n", ps->prefix, AVERAGE (ps->propagations / 1e6f, ps->seconds)); picosat_fprintf (ps->out, "%s%.1f megavisits/second\n", ps->prefix, AVERAGE (ps->visits / 1e6f, ps->seconds)); picosat_fprintf (ps->out, "%sprobing %.1f seconds %.0f%%\n", ps->prefix, ps->flseconds, PERCENT (ps->flseconds, ps->seconds)); #ifdef STATS picosat_fprintf (ps->out, "%srecycled %.1f MB in %u reductions\n", ps->prefix, ps->rrecycled / (double) (1 << 20), ps->reductions); picosat_fprintf (ps->out, "%srecycled %.1f MB in %u simplifications\n", ps->prefix, ps->srecycled / (double) (1 << 20), ps->simps); #else picosat_fprintf (ps->out, "%s%u simplifications\n", ps->prefix, ps->simps); picosat_fprintf (ps->out, "%s%u reductions\n", ps->prefix, ps->reductions); picosat_fprintf (ps->out, "%s%.1f MB recycled\n", ps->prefix, ps->recycled / (double) (1 << 20)); #endif picosat_fprintf (ps->out, "%s%.1f MB maximally allocated\n", ps->prefix, picosat_max_bytes_allocated (ps) / (double) (1 << 20)); } #ifndef NGETRUSAGE #include #include #include #endif double picosat_time_stamp (void) { double res = -1; #ifndef NGETRUSAGE struct rusage u; res = 0; if (!getrusage (RUSAGE_SELF, &u)) { res += u.ru_utime.tv_sec + 1e-6 * u.ru_utime.tv_usec; res += u.ru_stime.tv_sec + 1e-6 * u.ru_stime.tv_usec; } #endif return res; } double picosat_seconds (PS * ps) { check_ready (ps); return ps->seconds; } void picosat_print (PS * ps, FILE * file) { #ifdef NO_BINARY_CLAUSES Lit * lit, *other, * last; Ltk * stack; #endif Lit **q, **eol; Cls **p, *c; unsigned n; if (ps->measurealltimeinlib) enter (ps); else check_ready (ps); n = 0; n += ps->alshead - ps->als; for (p = SOC; p != EOC; p = NXC (p)) { c = *p; if (!c) continue; #ifdef TRACE if (c->collected) continue; #endif n++; } #ifdef NO_BINARY_CLAUSES last = int2lit (ps, -ps->max_var); for (lit = int2lit (ps, 1); lit <= last; lit++) { stack = LIT2IMPLS (lit); eol = stack->start + stack->count; for (q = stack->start; q < eol; q++) if (*q >= lit) n++; } #endif picosat_fprintf (file, "p cnf %d %u\n", ps->max_var, n); for (p = SOC; p != EOC; p = NXC (p)) { c = *p; if (!c) continue; #ifdef TRACE if (c->collected) continue; #endif eol = end_of_lits (c); for (q = c->lits; q < eol; q++) picosat_fprintf (file, "%d ", LIT2INT (*q)); picosat_fputs ("0\n", file); } #ifdef NO_BINARY_CLAUSES last = int2lit (ps, -ps->max_var); for (lit = int2lit (ps, 1); lit <= last; lit++) { stack = LIT2IMPLS (lit); eol = stack->start + stack->count; for (q = stack->start; q < eol; q++) if ((other = *q) >= lit) picosat_fprintf (file, "%d %d 0\n", LIT2INT (lit), LIT2INT (other)); } #endif { Lit **r; for (r = ps->als; r < ps->alshead; r++) picosat_fprintf (file, "%d 0\n", LIT2INT (*r)); } fflush (file); if (ps->measurealltimeinlib) leave (ps); } void picosat_enter (PS * ps) { enter (ps); } void picosat_leave (PS * ps) { leave (ps); } void picosat_message (PS * ps, int vlevel, const char * fmt, ...) { va_list ap; if (vlevel > ps->verbosity) return; picosat_fputs (ps->prefix, ps->out); va_start (ap, fmt); picosat_vfprintf (ps->out, fmt, ap); va_end (ap); picosat_fputc ('\n', ps->out); } int picosat_changed (PS * ps) { int res; check_ready (ps); check_sat_state (ps); res = (ps->min_flipped <= ps->saved_max_var); assert (!res || ps->saved_flips != ps->flips); return res; } void picosat_reset_phases (PS * ps) { rebias (ps); } void picosat_reset_scores (PS * ps) { Rnk * r; ps->hhead = ps->heap + 1; for (r = ps->rnks + 1; r <= ps->rnks + ps->max_var; r++) { CLR (r); hpush (ps, r); } } void picosat_remove_learned (PS * ps, unsigned percentage) { enter (ps); reset_incremental_usage (ps); reduce (ps, percentage); leave (ps); } void picosat_set_global_default_phase (PS * ps, int phase) { check_ready (ps); ABORTIF (phase < 0, "API usage: 'picosat_set_global_default_phase' " "with negative argument"); ABORTIF (phase > 3, "API usage: 'picosat_set_global_default_phase' " "with argument > 3"); ps->defaultphase = phase; } void picosat_set_default_phase_lit (PS * ps, int int_lit, int phase) { unsigned newphase; Lit * lit; Var * v; check_ready (ps); lit = import_lit (ps, int_lit, 1); v = LIT2VAR (lit); if (phase) { newphase = (int_lit < 0) == (phase < 0); v->defphase = v->phase = newphase; v->usedefphase = v->assigned = 1; } else { v->usedefphase = v->assigned = 0; } } void picosat_set_more_important_lit (PS * ps, int int_lit) { Lit * lit; Var * v; Rnk * r; check_ready (ps); lit = import_lit (ps, int_lit, 1); v = LIT2VAR (lit); r = VAR2RNK (v); ABORTIF (r->lessimportant, "can not mark variable more and less important"); if (r->moreimportant) return; r->moreimportant = 1; if (r->pos) hup (ps, r); } void picosat_set_less_important_lit (PS * ps, int int_lit) { Lit * lit; Var * v; Rnk * r; check_ready (ps); lit = import_lit (ps, int_lit, 1); v = LIT2VAR (lit); r = VAR2RNK (v); ABORTIF (r->moreimportant, "can not mark variable more and less important"); if (r->lessimportant) return; r->lessimportant = 1; if (r->pos) hdown (ps, r); } #ifndef NADC unsigned picosat_ado_conflicts (PS * ps) { check_ready (ps); return ps->adoconflicts; } void picosat_disable_ado (PS * ps) { check_ready (ps); assert (!ps->adodisabled); ps->adodisabled = 1; } void picosat_enable_ado (PS * ps) { check_ready (ps); assert (ps->adodisabled); ps->adodisabled = 0; } void picosat_set_ado_conflict_limit (unsigned newadoconflictlimit) { check_ready (ps); ps->adoconflictlimit = newadoconflictlimit; } #endif void picosat_simplify (PS * ps) { enter (ps); reset_incremental_usage (ps); simplify (ps, 1); leave (ps); } int picosat_haveados (void) { #ifndef NADC return 1; #else return 0; #endif } void picosat_save_original_clauses (PS * ps) { if (ps->saveorig) return; ABORTIF (ps->oadded, "API usage: 'picosat_save_original_clauses' too late"); ps->saveorig = 1; } void picosat_set_interrupt (PicoSAT * ps, void * external_state, int (*interrupted)(void * external_state)) { ps->interrupt.state = external_state; ps->interrupt.function = interrupted; } int picosat_deref_partial (PS * ps, int int_lit) { check_ready (ps); check_sat_state (ps); ABORTIF (!int_lit, "API usage: can not partial deref zero literal"); ABORTIF (ps->mtcls, "API usage: deref partial after empty clause generated"); ABORTIF (!ps->saveorig, "API usage: 'picosat_save_original_clauses' missing"); #ifdef STATS ps->derefs++; #endif if (!ps->partial) minautarky (ps); return pderef (ps, int_lit); } BoolNet/src/probabilistic_boolean_network.c0000644000176200001440000004371412733234746020671 0ustar liggesusers/** * C code for Markov simulations of Probabilistic Boolean Networks * * This is part of the BoolNet R package. * * Copyright 2009/2010 by Christoph Müssel * * Contact christoph.muessel@uni-ulm.de * */ #include "uthash.h" #include "common.h" #include "boolean_network.h" #include #include #include #include #include #include #include #define MATRIX_POOL_SIZE 1024 /** * An entry in the state probability matrix */ typedef struct { // the initial state // (next state is the index of the matrix array) unsigned int state; // the probability for this state transition double probability; // used by the hash table UT_hash_handle hh; } MatrixEntry; /* * Structure that maintains a sparse matrix */ typedef struct { MatrixEntry ** matrix; ArrayListElement * entryPool; unsigned int poolArraySize; unsigned int currentEntry; unsigned int numCols; } SparseMatrix; /* * Initialize a matrix with columns * maintaining an entry pool with arrays of size * */ static inline SparseMatrix * allocSparseMatrix(unsigned int numCols, unsigned int poolArraySize) { SparseMatrix * res = CALLOC(1, sizeof(SparseMatrix)); res->matrix = CALLOC(numCols, sizeof(MatrixEntry *)); memset(res->matrix,0,sizeof(MatrixEntry *) * numCols); res->poolArraySize = poolArraySize; res->currentEntry = 0; res->entryPool = NULL; res->numCols = numCols; return res; } /** * Calculate a transition table with one entry for each state. Each entry consists of * one bit per (non-fixed) function in . * receives the number of elements in the table. * receives the number of array elements occupied by one state. * Returns an array of states. */ unsigned int * probabilisticTransitionTable(ProbabilisticBooleanNetwork * net, unsigned int * tableSize, unsigned int * numElements) { // determine number of fixed genes unsigned int totalFunctionCount = 0; unsigned int i, j, k, numNonFixed = 0; for (i = 0; i < net->numGenes; ++i) { if (net->fixedGenes[i] == -1) { totalFunctionCount += net->numFunctionsPerGene[i]; ++numNonFixed; } } if (totalFunctionCount % BITS_PER_BLOCK_32 == 0) *numElements = totalFunctionCount / BITS_PER_BLOCK_32; else *numElements = totalFunctionCount / BITS_PER_BLOCK_32 + 1; // allocate truth table with 2^(non-fixed genes) elements *tableSize = ((unsigned int)1 << numNonFixed); unsigned int * table = CALLOC(*tableSize * *numElements,sizeof(unsigned int)); if (table == 0) { Rf_error("Too few memory available!"); } unsigned int initialState = 0; // calculate state transitions for(initialState = 0; initialState < *tableSize; ++initialState) { R_CheckUserInterrupt(); //state is simply the binary encoding of the counter //calculate transitions for (i = 0; i < net->numGenes; ++i) { if (net->fixedGenes[i] == -1) { for (j = 0; j < net->numFunctionsPerGene[i]; ++j) { PBNFunction * current = &net->transitionFunctions[i][j]; unsigned int inputdec = 0; for (k = 0; k < current->numGenes; ++k) { if (current->inputGenes[k]) // if the input of the function is not 0 (constant gene), take input bit { unsigned int gene = current->inputGenes[k] - 1; unsigned int bit; if (net->fixedGenes[gene] == -1) bit = (GET_BIT(initialState, net->nonFixedGeneBits[gene])); else // fixed genes are not encoded in the states // => take them from fixedGenes vector bit = net->fixedGenes[gene]; inputdec |= bit << (current->numGenes - k - 1); } } int transition = current->transitionFunction[inputdec]; if(transition != -1) // apply transition function table[initialState * *numElements + current->functionIndex / BITS_PER_BLOCK_32] |= (transition << (current->functionIndex % BITS_PER_BLOCK_32)); else // this is a dummy function for a constant gene // => value does not change table[initialState * *numElements + current->functionIndex / BITS_PER_BLOCK_32] |= (GET_BIT(initialState, net->nonFixedGeneBits[i]) << (current->functionIndex % BITS_PER_BLOCK_32)); } } } } return table; } /** * Calculate combinations of function indices. * is an array containing the numbers of functions for each gene. * is the previous function combination from which the next * combination is calculated. * is the number of functions. * Returns false if there are no more combinations, and true otherwise. */ static inline bool nextFunctionCombination(unsigned int * maxVals, unsigned int * combination, unsigned int size) { unsigned int i; while(true) { for (i = 0; i < size; ++i) { ++combination[i]; if (combination[i] < maxVals[i]) return true; else { if (i == size - 1) return false; else combination[i] = 0; } } } } /** * Add to the element of whose start state is , * or add the corresponding element to the hash table */ static inline void addToMatrixEntry(SparseMatrix * matrix, unsigned int column, unsigned int state, double value) { MatrixEntry * entry; HASH_FIND_INT(matrix->matrix[column], &state, entry); if (entry == NULL) // add a new hash table entry { if (matrix->currentEntry % matrix->poolArraySize == 0) allocNewArray(&matrix->entryPool, matrix->poolArraySize, sizeof(MatrixEntry)); entry = &(((MatrixEntry *)matrix->entryPool->array)[matrix->currentEntry % matrix->poolArraySize]); ++matrix->currentEntry; entry->probability = 0.0; entry->state = state; HASH_ADD_INT(matrix->matrix[column],state,entry); } // increment probability entry->probability += value; } /** * Extract a state from the combined transition table of all functions
* depending on the function combination . * is the number of array elements occupied by one state. * is the state for which the successor state is looked up. * holds the network information. * Returns the extracted state as an integer. */ static inline unsigned int extractState(unsigned int * table, unsigned int numElements, unsigned int initialState, unsigned int * combination, ProbabilisticBooleanNetwork * net) { unsigned int i, j, res = 0; for (i = 0, j = 0; i < net->numGenes; ++i) { if (net->fixedGenes[i] == -1) // exclude fixed genes { unsigned int functionIndex = net->transitionFunctions[i][combination[j]].functionIndex; // insert the th bit at the next position res |= (GET_BIT(table[initialState * numElements + functionIndex / BITS_PER_BLOCK_32], functionIndex % BITS_PER_BLOCK_32)) << net->nonFixedGeneBits[i]; ++j; } } return res; } /** * Free all hash tables in the matrix array * and the array itself. * is the number of columns of the matrix. */ void freeMatrix(SparseMatrix * matrix) { unsigned int i; for (i = 0; i < matrix->numCols; ++i) { // free hash table HASH_CLEAR(hh,matrix->matrix[i]); } // FREE(matrix->matrix); freeArrayList(matrix->entryPool); // free array FREE(matrix); } /** * Start a Markov chain simulation on network by performing matrix multiplications. * receives the number of elements in the returned probability vector. * is the matrix of state transition probabilities with columns. * is an optional vector with encoded start states. */ double * markovSimulation(ProbabilisticBooleanNetwork * net, unsigned int numIterations, unsigned int * outcomeSize, SparseMatrix ** stateProbabilities, unsigned int * startStates, unsigned int numStartStates) { unsigned int tableSize = 0, numElements = 0, i, k; // calculate combined transition table unsigned int * table = probabilisticTransitionTable(net,&tableSize,&numElements); SparseMatrix * matrix = allocSparseMatrix(tableSize, MATRIX_POOL_SIZE); *stateProbabilities = matrix; unsigned int combination[net->numNonFixedGenes]; memset(combination,0,sizeof(unsigned int) * net->numNonFixedGenes); unsigned int maxCombination[net->numNonFixedGenes]; unsigned int geneIndices[net->numNonFixedGenes]; // write array with numbers of functions for (i = 0; i < net->numGenes; ++i) { if (net->fixedGenes[i] == -1) { maxCombination[net->nonFixedGeneBits[i]] = net->numFunctionsPerGene[i]; geneIndices[net->nonFixedGeneBits[i]] = i; } } // set up transition probability matrix do // iterate over all possible function combinations { double probability = net->transitionFunctions[geneIndices[0]][combination[0]].probability; for (i = 1; i < net->numNonFixedGenes; ++i) probability *= net->transitionFunctions[geneIndices[i]][combination[i]].probability; for (i = 0; i < tableSize; ++i) // add probabilities for all reached states in the transition table { R_CheckUserInterrupt(); unsigned int state = extractState(table,numElements,i,combination,net); addToMatrixEntry(matrix,state,i,probability); } } while (nextFunctionCombination(maxCombination,combination,net->numNonFixedGenes)); FREE(table); double * outcome = CALLOC(tableSize,sizeof(double)); double * oldOutcome = CALLOC(tableSize,sizeof(double)); *outcomeSize = tableSize; if (numStartStates == 0) // no start states => equal probability for all states { for (i = 0; i < tableSize; ++i) { outcome[i] = 1.0/tableSize; } } else // start states supplied => equal probability for all supplied states { for (i = 0; i < numStartStates; ++i) { outcome[startStates[i]] = 1.0/numStartStates; } } for (k = 0; k < numIterations; ++k) // perform matrix multiplications { R_CheckUserInterrupt(); memcpy(oldOutcome,outcome,sizeof(double) * tableSize); for (i = 0; i < tableSize; ++i) { MatrixEntry * entry; outcome[i] = 0.0; for(entry = matrix->matrix[i]; entry != NULL; entry=entry->hh.next) { outcome[i] += oldOutcome[entry->state] * entry->probability; } } } FREE(oldOutcome); return outcome; } /** * R wrapper for the Markov simulation. * is a concatenated integer vector of the input genes for all functions. * is used to split up into the single function inputs. * contains the truth table result columns of all functions and is * split up according to . * specifies whether genes are fixed (0,1) or not (-1). * is a vector specifying which function belongs to which gene. * is a vector of probabilities for the functions. * is the number of matrix multiplications to be performed. * is an optional vector of start states (otherwise all states are considered). * is the value below which values are considered to be 0. * specifies whether the result should contain a transition table * Returns a list containing a data frame of important states and their probabilities * and, optionally, the transition table. */ SEXP markovSimulation_R(SEXP inputGenes, SEXP inputGenePositions, SEXP transitionFunctions, SEXP transitionFunctionPositions, SEXP fixedGenes, SEXP functionAssignment, SEXP probabilities, SEXP numSteps, SEXP startStates, SEXP cutoff, SEXP returnTable) { ProbabilisticBooleanNetwork network; network.type = PROBABILISTIC_BOOLEAN_NETWORK; int * _inputGenes = INTEGER(inputGenes); int * _inputGenePositions = INTEGER(inputGenePositions); int * _transitionFunctions = INTEGER(transitionFunctions); int * _transitionFunctionPositions = INTEGER(transitionFunctionPositions); int * _functionAssignment = INTEGER(functionAssignment); double * _probabilities = REAL(probabilities); int _numSteps = *INTEGER(numSteps); int * _startStates = NULL; if (!isNull(startStates)) _startStates = INTEGER(startStates); double _cutoff = *REAL(cutoff); bool _returnTable = (bool)(*INTEGER(returnTable)); unsigned int i, j; network.numGenes = length(fixedGenes); network.fixedGenes = CALLOC(network.numGenes,sizeof(int)); memcpy(network.fixedGenes,INTEGER(fixedGenes),sizeof(unsigned int) * network.numGenes); network.nonFixedGeneBits = CALLOC(network.numGenes,sizeof(unsigned int)); // determine which genes are not fixed network.numNonFixedGenes = 0; for(i = 0; i < network.numGenes; i++) { if(network.fixedGenes[i] == -1) { network.nonFixedGeneBits[i] = network.numNonFixedGenes++; } } network.numFunctionsPerGene = CALLOC(network.numGenes,sizeof(unsigned int)); network.transitionFunctions = CALLOC(network.numGenes,sizeof(PBNFunction *)); // count number of functions per gene for (i = 0; i < length(functionAssignment); ++i) { ++network.numFunctionsPerGene[_functionAssignment[i]]; } // allocate function vectors for (i = 0; i < network.numGenes; ++i) { network.transitionFunctions[i] = CALLOC(network.numFunctionsPerGene[i],sizeof(PBNFunction)); } unsigned int functionCounter[network.numGenes]; memset(functionCounter,0,sizeof(unsigned int) * network.numGenes); unsigned int functionIndex = 0; for (i = 0; i < length(functionAssignment); ++i) // decode functions { PBNFunction * current = &network.transitionFunctions[_functionAssignment[i]] [functionCounter[_functionAssignment[i]]++]; unsigned int numInputs = _inputGenePositions[i+1] - _inputGenePositions[i]; current->inputGenes = CALLOC(numInputs,sizeof(int)); memcpy(current->inputGenes,&_inputGenes[_inputGenePositions[i]],numInputs*sizeof(int)); current->numGenes = numInputs; current->transitionFunction = CALLOC((unsigned int)1 << numInputs,sizeof(int)); memcpy(current->transitionFunction,&_transitionFunctions[_transitionFunctionPositions[i]], ((unsigned int)1 << numInputs)*sizeof(int)); current->probability = _probabilities[i]; if (network.fixedGenes[_functionAssignment[i]] == -1) { current->functionIndex = functionIndex++; } else { current->functionIndex = ~0; } } unsigned int startStateElements; if (network.numGenes % (sizeof(unsigned int) * 8) == 0) { startStateElements = network.numGenes / BITS_PER_BLOCK_32; } else { startStateElements = network.numGenes / BITS_PER_BLOCK_32 + 1; } // decode start states (remove fixed genes) unsigned int numStartStates; unsigned int * decodedStartStates = NULL; if (isNull(startStates)) numStartStates = 0; else { numStartStates = length(startStates)/startStateElements; decodedStartStates = (unsigned int*)CALLOC(numStartStates, sizeof(unsigned int)); } for (i = 0; i < numStartStates; ++i) { decodedStartStates[i] = 0; for (j = 0; j < network.numGenes; ++j) { if (network.fixedGenes[j] == -1) { decodedStartStates[i] |= GET_BIT(_startStates[i * startStateElements + j / BITS_PER_BLOCK_32], j % BITS_PER_BLOCK_32) << network.nonFixedGeneBits[j]; } } } unsigned int outcomeSize = 0; SparseMatrix * matrix; // perform simulation double * outcome = markovSimulation(&network,_numSteps,&outcomeSize,&matrix, decodedStartStates,numStartStates); // determine number of non-zero results unsigned int nonZero = 0; for (i = 0; i < outcomeSize; ++i) { if (outcome[i] > _cutoff) ++nonZero; } // encode results SEXP resSXP, stateSXP, probSXP; if (_returnTable) PROTECT(resSXP = allocList(5)); else PROTECT(resSXP = allocList(2)); PROTECT(stateSXP = allocVector(INTSXP,nonZero*startStateElements)); PROTECT(probSXP = allocVector(REALSXP,nonZero)); int * states = INTEGER(stateSXP); double * prob = REAL(probSXP); //return R_NilValue; for (i = 0, j = 0; i < outcomeSize; ++i) // encode states with non-zero probability { if (outcome[i] > _cutoff) { prob[j] = outcome[i]; states[j*startStateElements] = i; // re-encode fixed genes insertFixedGenes((unsigned int *)&states[j*startStateElements],network.fixedGenes,network.numGenes); ++j; } } SET_TAG(resSXP, install("states")); SET_TAG(CDR(resSXP), install("probabilities")); SETCAR(resSXP,stateSXP); SETCADR(resSXP,probSXP); if (_returnTable) // encode the transition table { SET_TAG(CDR(CDR(resSXP)), install("initialStates")); SET_TAG(CDR(CDR(CDR(resSXP))), install("nextStates")); SET_TAG(CDR(CDR(CDR(CDR(resSXP)))), install("transitionProbabilities")); //calculate size of transition table unsigned int tableSize = 0; for (i = 0; i < outcomeSize; ++i) { MatrixEntry * entry; for(entry = matrix->matrix[i]; entry != NULL; entry=entry->hh.next) { ++tableSize; } } SEXP initialStateSXP, nextStateSXP, transitionProbSXP; PROTECT(initialStateSXP = allocVector(INTSXP,tableSize * startStateElements)); PROTECT(nextStateSXP = allocVector(INTSXP,tableSize * startStateElements)); PROTECT(transitionProbSXP = allocVector(REALSXP,tableSize)); unsigned int * initialStates = (unsigned int *)INTEGER(initialStateSXP); unsigned int * nextStates = (unsigned int *)INTEGER(nextStateSXP); double * transitionProbs = (double *)REAL(transitionProbSXP); // encode non-zero states in transition matrix j = 0; for (i = 0; i < outcomeSize; ++i) { MatrixEntry * entry; for(entry = matrix->matrix[i]; entry != NULL; entry=entry->hh.next) { initialStates[j * startStateElements] = entry->state; insertFixedGenes(&initialStates[j*startStateElements],network.fixedGenes,network.numGenes); nextStates[j * startStateElements] = i; insertFixedGenes(&nextStates[j*startStateElements],network.fixedGenes,network.numGenes); transitionProbs[j] = entry->probability; ++j; } } SETCADDR(resSXP,initialStateSXP); SETCADDDR(resSXP,nextStateSXP); SETCADDDR(CDR(resSXP),transitionProbSXP); UNPROTECT(3); } UNPROTECT(3); freeMatrix(matrix); FREE(outcome); if (decodedStartStates != NULL) FREE(decodedStartStates); return resSXP; } BoolNet/src/symbolic_network.c0000644000176200001440000003411512733234746016160 0ustar liggesusers/** * C code for a generic symbolic simulator for Boolean networks * * This is part of the BoolNet R package. * * Copyright 2013 by Christoph Muessel * * Contact christoph.muessel@uni-ulm.de * */ #include "random.h" #include "common.h" #include "symbolic_network.h" /** * Free the expression tree */ void freeFormula(BooleanFormula * formula) { if (formula->type == FORMULA_ATOM || formula->type == FORMULA_CONSTANT) { free(formula); } else { BooleanOperator* operator = (BooleanOperator*) formula; unsigned int i; for (i = 0; i < operator->numOperands; ++i) { freeFormula(operator->operands[i]); } free(operator->operands); free(operator); } } /** * Free the internal network structure */ void freeSymbolicNetwork(SymbolicBooleanNetwork * network) { free(network->stateSizes); free(network->stateOffsets); free(network->fixedGenes); free(network->stateFixed); unsigned int i, j; for (i = 0; i < network->numGenes; ++i) { freeFormula(network->interactions[i]); if (network->cnfInteractions != NULL) { for (j = 0; j <= network->attractorSearchStartTime; ++j) freeFormula(network->cnfInteractions[i][j]); free(network->cnfInteractions[i]); } } free(network->interactions); if (network->cnfInteractions != NULL) free(network->cnfInteractions); free(network); } /** * Evaluate an expression tree on the previous state . * is an array describing where the history of the i-th gene starts. * is the total number of genes in the network. * Returns a logical value resulting from the evaluation. */ unsigned char evaluate(BooleanFormula * formula, TemporalState * state, unsigned int * stateOffsets, const unsigned int numGenes) { if (formula->type == FORMULA_CONSTANT) // return the constant value { Constant* constant = (Constant*) formula; char value = constant->value; if (constant->negated) return !value; else return value; } else if (formula->type == FORMULA_ATOM) // return the value of the atom in the current state { unsigned char res; BooleanAtom* atom = (BooleanAtom*) formula; res = state->state[stateOffsets[atom->literal] + atom->time]; if (atom->negated) return !res; else return res; } else // recursively evaluate operands and summarize them using the operators { BooleanOperator* operator = (BooleanOperator*) formula; unsigned int i, threshold, sum, comparisonTimeStep; switch (operator->operator) { case OPERATOR_OR: for (i = 0; i < operator->numOperands; ++i) { if (evaluate(operator->operands[i], state, stateOffsets, numGenes)) { return !operator->negated; } } return operator->negated; case OPERATOR_AND: for (i = 0; i < operator->numOperands; ++i) { if (!evaluate(operator->operands[i], state, stateOffsets, numGenes)) { return operator->negated; } } return !operator->negated; case OPERATOR_MAJ: threshold = floor(operator->numOperands / 2.0); sum = 0; for (i = 0; i < operator->numOperands; ++i) { if (evaluate(operator->operands[i], state, stateOffsets, numGenes)) { ++sum; if (sum > threshold) return !operator->negated; } } return operator->negated; case OPERATOR_SUMIS: threshold = ((Constant *) operator->operands[operator->numOperands - 1])->value; sum = 0; for (i = 0; i < operator->numOperands - 1; ++i) { if (evaluate(operator->operands[i], state, stateOffsets, numGenes)) { ++sum; } } if (sum == threshold) return !operator->negated; else return operator->negated; case OPERATOR_SUMGT: threshold = ((Constant *) operator->operands[operator->numOperands - 1])->value; sum = 0; for (i = 0; i < operator->numOperands - 1; ++i) { if (evaluate(operator->operands[i], state, stateOffsets, numGenes)) { ++sum; if (sum > threshold) return !operator->negated; } } return operator->negated; case OPERATOR_SUMLT: threshold = ((Constant *) operator->operands[operator->numOperands - 1])->value; sum = 0; for (i = 0; i < operator->numOperands - 1; ++i) { if (evaluate(operator->operands[i], state, stateOffsets, numGenes)) { ++sum; if (sum >= threshold) return operator->negated; } } return !operator->negated; case OPERATOR_TIMEIS: comparisonTimeStep = ((Constant *) operator->operands[0])->value; if (operator->negated) return (state->timeStep != comparisonTimeStep - 1); else return (state->timeStep == comparisonTimeStep - 1); case OPERATOR_TIMEGT: comparisonTimeStep = ((Constant *) operator->operands[0])->value; if (operator->negated) return (state->timeStep <= comparisonTimeStep - 1); else return (state->timeStep > comparisonTimeStep - 1); case OPERATOR_TIMELT: comparisonTimeStep = ((Constant *) operator->operands[0])->value; if (operator->negated) return (state->timeStep >= comparisonTimeStep - 1); else return (state->timeStep < comparisonTimeStep - 1); default: Rf_error("Unknown operator!"); } } } /** * Print a Boolean expression tree (for debugging purposes only) */ void printFormula(BooleanFormula * formula) { if (formula->type == FORMULA_ATOM) { BooleanAtom* atom = (BooleanAtom*) formula; if (atom->negated) Rprintf("!"); Rprintf("var%d", atom->literal); if (atom->time != 0) Rprintf("[%d]", -atom->time - 1); } else if (formula->type == FORMULA_CONSTANT) { Constant* constant = (Constant*) formula; if (constant->negated) Rprintf("!"); Rprintf("%d", constant->value); } else { BooleanOperator* operator = (BooleanOperator*) formula; if (operator->negated) Rprintf("!"); if (operator->operator == OPERATOR_MAJ) Rprintf("maj"); else if (operator->operator == OPERATOR_SUMGT) Rprintf("sumgt"); else if (operator->operator == OPERATOR_TIMEIS) Rprintf("timeis"); else if (operator->operator == OPERATOR_TIMEGT) Rprintf("timegt"); else if (operator->operator == OPERATOR_TIMELT) Rprintf("timelt"); Rprintf("("); unsigned int i; for (i = 0; i < operator->numOperands; ++i) { printFormula(operator->operands[i]); if (i < operator->numOperands - 1) { if (operator->operator == OPERATOR_OR) Rprintf(" | "); else if (operator->operator == OPERATOR_AND) Rprintf(" & "); else Rprintf(", "); } } Rprintf(")"); } } BooleanFormula * copyFormula(BooleanFormula * formula, bool negate, unsigned int timeOffset) { if (formula->type == FORMULA_ATOM) { BooleanAtom * res = calloc(1, sizeof(BooleanAtom)); memcpy(res, formula, sizeof(BooleanAtom)); if (negate) res->negated = !res->negated; res->time += timeOffset; return (BooleanFormula *) res; } if (formula->type == FORMULA_CONSTANT) { Constant * res = calloc(1, sizeof(Constant)); memcpy(res, formula, sizeof(Constant)); if (negate) res->negated = !res->negated; return (BooleanFormula *) res; } unsigned int i; BooleanOperator * operator = (BooleanOperator*) formula; bool negated = (negate && !operator->negated) || (!negate && operator->negated); BooleanOperator * res = allocOperator(operator->operator, negated, operator->numOperands, NULL); for (i = 0; i < res->numOperands; ++i) { res->operands[i] = copyFormula(operator->operands[i], false, timeOffset); } return (BooleanFormula *) res; } BooleanFormula * convertToCNF(BooleanFormula * formula, bool negate, unsigned int time) { bool innerNegate = (!negate && formula->negated) || (negate && !formula->negated); if (formula->type == FORMULA_ATOM || formula->type == FORMULA_CONSTANT) { return copyFormula(formula, negate, 0); } BooleanOperator* operator = (BooleanOperator*) formula; if (operator->operator == OPERATOR_TIMEIS || operator->operator == OPERATOR_TIMELT || operator->operator == OPERATOR_TIMEGT) // temporal operators => compare to time { int value; int comparisonTimeStep = ((Constant *) operator->operands[0])->value - 1; switch (operator->operator) { case OPERATOR_TIMEGT: value = (time > comparisonTimeStep); break; case OPERATOR_TIMELT: value = (time < comparisonTimeStep); break; default: value = (time == comparisonTimeStep); break; } if (innerNegate) value = !value; Constant * res = allocConstant(value, false); return (BooleanFormula *) res; } unsigned int operandBufferSize, numOperands, i, j; BooleanFormula ** operands; ALLOC_BUFFER(operands, BooleanFormula *, operandBufferSize, numOperands); if (operator->operator == OPERATOR_SUMGT || operator->operator == OPERATOR_SUMLT || operator->operator == OPERATOR_SUMIS || operator->operator == OPERATOR_MAJ) // counting operators => transform to canonical CNF { unsigned int stateSize, threshold; if (operator->operator != OPERATOR_MAJ) { stateSize = operator->numOperands - 1; threshold = ((Constant*) operator->operands[stateSize])->value; } else { stateSize = operator->numOperands; threshold = floor(stateSize / 2.0); } unsigned char * state = calloc(stateSize, sizeof(unsigned char)); do { bool includeTerm = false; unsigned int count = 0; for (i = 0; i < stateSize; ++i) { if (state[i]) ++count; } switch (operator->operator) { case OPERATOR_SUMGT: case OPERATOR_MAJ: includeTerm = (count <= threshold); break; case OPERATOR_SUMLT: includeTerm = (count >= threshold); break; case OPERATOR_SUMIS: includeTerm = (count != threshold); break; } if (innerNegate) includeTerm = !includeTerm; if (includeTerm) { BooleanFormula ** subOperands = calloc(stateSize, sizeof(BooleanFormula *)); for (i = 0; i < stateSize; ++i) { subOperands[i] = copyFormula(operator->operands[i], state[i], 0); } BooleanOperator * subOp = allocOperator(OPERATOR_OR, false, stateSize, subOperands); PUT_BUFFER(operands, BooleanFormula *, operandBufferSize, numOperands, subOp); } } while (getNextState(state, NULL, stateSize)); free(state); BooleanOperator * res = allocOperator(OPERATOR_AND, false, numOperands, operands); BooleanFormula * res2 = convertToCNF((BooleanFormula *) res, false, time); freeFormula((BooleanFormula *) res); return res2; } // AND or OR unsigned int innerAnds = 0, op; if (innerNegate) { if (operator->operator == OPERATOR_AND) op = OPERATOR_OR; else op = OPERATOR_AND; } else op = operator->operator; Constant * overrideResult = NULL; for (i = 0; i < operator->numOperands; ++i) { BooleanFormula * operand = convertToCNF(operator->operands[i], innerNegate, time); if (operand->type == FORMULA_OPERATOR) { BooleanOperator * subOp = (BooleanOperator *) operand; if (subOp->operator == op || subOp->numOperands == 1) { for (j = 0; j < subOp->numOperands; ++j) { PUT_BUFFER(operands, BooleanFormula *, operandBufferSize, numOperands, subOp->operands[j]); } free(subOp->operands); free(subOp); } else { if (subOp->operator == OPERATOR_AND) ++innerAnds; PUT_BUFFER(operands, BooleanFormula *, operandBufferSize, numOperands, subOp); } } else { if (operand->type == FORMULA_CONSTANT) { Constant * c = (Constant * )operand; if ((op == OPERATOR_OR && ((c->value == 1) ^ c->negated)) || (op == OPERATOR_AND && ((c->value == 0) ^ c->negated))) overrideResult = (Constant *)copyFormula((BooleanFormula *)c, false, 0); else freeFormula(operand); } else PUT_BUFFER(operands, BooleanFormula *, operandBufferSize, numOperands, operand); } } if (overrideResult != NULL) { for (i = 0; i < numOperands; ++i) { freeFormula(operands[i]); } free(operands); return (BooleanFormula *)overrideResult; } if (op == OPERATOR_OR && innerAnds > 0) { unsigned int transformedOperandBufferSize, numTransformedOperands; BooleanFormula ** transformedOperands; ALLOC_BUFFER(transformedOperands, BooleanFormula *, transformedOperandBufferSize, numTransformedOperands); unsigned int * comb = calloc(numOperands, sizeof(unsigned int)); unsigned int * counts = calloc(numOperands, sizeof(unsigned int)); for (i = 0; i < numOperands; ++i) { if (operands[i]->type == FORMULA_OPERATOR) counts[i] = ((BooleanOperator *) operands[i])->numOperands; else counts[i] = 1; } unsigned int pos = 0; while (true) { BooleanOperator * newOp = allocOperator(OPERATOR_OR, false, numOperands, NULL); for (i = 0; i < numOperands; ++i) { if (operands[i]->type == FORMULA_OPERATOR) newOp->operands[i] = copyFormula( ((BooleanOperator *) operands[i])->operands[comb[i]], false, 0); else newOp->operands[i] = copyFormula(operands[i], false, 0); } PUT_BUFFER(transformedOperands, BooleanFormula *, transformedOperandBufferSize, numTransformedOperands, newOp); if (comb[pos] < counts[pos] - 1) ++comb[pos]; else { if (pos == numOperands - 1) break; while (pos < numOperands && comb[pos] == counts[pos] - 1) ++pos; if (pos == numOperands) break; for (i = 0; i < pos; ++i) { comb[i] = 0; } ++comb[pos]; pos = 0; } } free(comb); free(counts); for (i = 0; i < numOperands; ++i) freeFormula(operands[i]); free(operands); BooleanOperator * res = allocOperator(OPERATOR_AND, false, numTransformedOperands, transformedOperands); BooleanFormula * res2 = convertToCNF((BooleanFormula *) res, false, time); freeFormula((BooleanFormula *) res); return res2; } else { BooleanOperator * res = allocOperator(op, false, numOperands, operands); return (BooleanFormula *) res; } } SEXP convertToCNF_R(SEXP network) { SymbolicBooleanNetwork * _network = R_ExternalPtrAddr(network); if (_network == NULL) error("Internal network structures not supplied to C handler!"); unsigned int k; for (k = 0; k < _network->numGenes; ++k) { Rprintf("var%d = ", k); BooleanFormula * converted = convertToCNF(_network->interactions[k], false, 0); printFormula(converted); freeFormula(converted); Rprintf("\n"); } return R_NilValue; } BoolNet/src/attractor_info.h0000644000176200001440000000457312733234746015616 0ustar liggesusers#ifndef ATTRACTOR_INFO_H #define ATTRACTOR_INFO_H typedef struct TTE { unsigned int * initialState; unsigned int * nextState; struct TTE * next; } TransitionTableEntry; /** * Structure that internally describes an attractor */ typedef struct Attractor { // an array of states the attractor consists of unsigned int *involvedStates; // if this is a complex attractor, // the transitions of the attractor are stored here TransitionTableEntry * table; // the number of elements in
unsigned int transitionTableSize; // the number of array elements for one entry of // - i.e. for more than 32 genes, successive // array elements form one entry. unsigned int numElementsPerEntry; // the number of states in int length; // the number of states in the basin of attraction unsigned int basinSize; // list pointer to the next element struct Attractor *next; } Attractor, *pAttractor; /** * A structure holding all information * retrieved by the algorithms in this file */ typedef struct { // the number of elements in the following three arrays unsigned long long tableSize; // the states before the transition - can be NULL unsigned int *initialStates; // the resulting states of the transition table unsigned int *table; // the number of array elements for one entry of the table // - i.e. for more than 32 genes, successive // array elements in
and form one table entry. unsigned int numElementsPerEntry; // the attractors the corresponding states belong to unsigned int *attractorAssignment; // the number of transitions needed to go from the original state // (before transition, not stored here as it is defined by the order) // to the attractor unsigned int *stepsToAttractor; // the list of attractors pAttractor attractorList; // the number of list elements in attractorList unsigned int numAttractors; } AttractorInfo, *pAttractorInfo; /** * Allocate a new AttractorInfo structure for states */ extern pAttractorInfo allocAttractorInfo(unsigned long long tableSize, unsigned int numGenes); /** * Free a list of attractor structures */ extern void freeAttractorList(pAttractor p); /** * Free an AttractorInfo structure including * all sub-elements and the attractor list */ extern void freeAttractorInfo(pAttractorInfo p); #endif BoolNet/src/Makevars.win0000644000176200001440000000005012733234746014701 0ustar liggesusersPKG_CFLAGS = -DNGETRUSAGE -DNALLSIGNALS BoolNet/src/reconstruct_network.c0000644000176200001440000010537412733234746016720 0ustar liggesusers/** * C code for the reconstruction of Boolean networks * * This is part of the BoolNet R package. * * Copyright 2009/2010 by Christoph Müssel * * Contact christoph.muessel@uni-ulm.de * */ #include #include #include #include #include #include #include #include "common.h" /** * Structure for lists of * transition functions for * the return value of reconstruction functions */ typedef struct FLE { // the number of input genes unsigned int k; // the indices of the input genes int * inputGenes; // The transition function. // ATTENTION: // If all functions are built (returnPBN = true), this // is a bit vector containing the transition function // If "don't care" values are allowed (returnPBN = false), // each integer element encodes one bit unsigned int * transitionFunction; // the next element in the list struct FLE * next; } FunctionListElement; /** * Structure to build an internal stack * of functions. This is used to determine * all equally-rated functions recursively */ typedef struct FSE { // the bit position to be processed next unsigned int pos; // the (incomplete) transition function unsigned int * transitionFunction; // the next element on the stack struct FSE * next; } FunctionStackElement; typedef struct { unsigned int pos; unsigned int numFixed; unsigned int numAvailable; unsigned int k; unsigned int n; unsigned int * indexMapping; int * comb; int * intComb; } InputCombination; /** * Add a new element to the function list specified by . * Set the corresponding values , and * by copying the supplied values. * is the number of elements needed for the transition function vector. * Returns the new list element. */ static inline FunctionListElement * addFunctionListElement(FunctionListElement ** root, unsigned int k, unsigned int transitionFunctionSize, int * inputGenes, unsigned int * transitionFunction) { FunctionListElement * el = CALLOC(1,sizeof(FunctionListElement)); el->k = k; el->inputGenes = CALLOC(k,sizeof(unsigned int)); memcpy(el->inputGenes,inputGenes,sizeof(unsigned int) * k); el->transitionFunction = CALLOC(transitionFunctionSize,sizeof(unsigned int)); memcpy(el->transitionFunction,transitionFunction,sizeof(unsigned int) * transitionFunctionSize); el->next = *root; *root = el; return el; } /** * Free all elements of the list */ void freeFunctionList(FunctionListElement ** root) { if (*root == NULL) return; FunctionListElement * current = *root; do { FunctionListElement * next = current->next; FREE(current->inputGenes); FREE(current->transitionFunction); FREE(current); current = next; } while(current != NULL); *root = NULL; } /** * Push a new element on top of the stack . * and describe the data to be pushed. * These elements are copied. * is the number of elements of . * Returns the new stack element. */ static inline FunctionStackElement * pushFunctionStackElement(FunctionStackElement ** stack, unsigned int * transitionFunction, unsigned int transitionFunctionSize, unsigned int pos) { FunctionStackElement * el = CALLOC(1,sizeof(FunctionStackElement)); el->pos = pos; el->transitionFunction = CALLOC(transitionFunctionSize,sizeof(unsigned int)); memcpy(el->transitionFunction,transitionFunction,sizeof(unsigned int) * transitionFunctionSize); el->next = *stack; *stack = el; return el; } /** * Remove the top-level element from . */ static inline void deleteFunctionStackElement(FunctionStackElement ** stack) { FunctionStackElement * el = *stack; *stack = (*stack)->next; FREE(el->transitionFunction); FREE(el); } /** * A function that iteratively returns all choose combinations of input genes * if called multiple times. * The function receives an input array containing the previous combination. * Before the first call, this combination must be initialized to {k-1, k-2, ... , 0}, * and must be set to 0. * After each call, contains the next combination. If all combinations have been * listed, the function returns false, otherwise true. */ static inline bool nextCombination(InputCombination * comb) { bool posChanged = false; // find the first position that has not been set // to its maximum number while(comb->pos < comb->k - comb->numFixed && comb->intComb[comb->pos] == comb->numAvailable - comb->pos - 1) { ++ (comb->pos); posChanged = true; } if (comb->pos == comb->k - comb->numFixed) { // all elements have been listed return false; } if (posChanged) // reset lower-order positions, and increase // the position found previously { unsigned int i; ++comb->intComb[comb->pos]; for (i = comb->pos; i > 0; --i) comb->intComb[i-1] = comb->intComb[i] + 1; comb->pos = 0; } else // the current position has not been set to its maximum value // => increase it ++comb->intComb[comb->pos]; unsigned int j; for (j = 0; j < comb->k - comb->numFixed; ++j) { comb->comb[comb->numFixed + j] = comb->indexMapping[comb->intComb[j]]; } //for (j = 0; j < comb->k; ++j) // Rprintf("%d ",comb->comb[j]); //Rprintf("\n"); return true; } static inline InputCombination * initCombination(int * requiredDependencies, int * excludedDependencies, unsigned int k, unsigned int n) { InputCombination * res = CALLOC(1,sizeof(InputCombination)); res->comb = CALLOC(k,sizeof(int)); res->indexMapping = CALLOC(n,sizeof(int)); res->k = k; res->n = n; res->numFixed = 0; res->numAvailable = 0; unsigned int j; for (j = 0; j < n; ++j) { if (requiredDependencies != NULL && requiredDependencies[j] != 0) { res->comb[res->numFixed] = j; ++(res->numFixed); } else if (excludedDependencies == NULL || excludedDependencies[j] == 0) { res->indexMapping[res->numAvailable] = j; ++(res->numAvailable); } } res->intComb = CALLOC(res->numAvailable,sizeof(unsigned int)); for (j = 0; j < res->k - res->numFixed; ++j) { res->intComb[j] = k - res->numFixed - j - 1; res->comb[res->numFixed + j] = res->indexMapping[res->intComb[j]]; } return res; } static inline void freeInputCombination(InputCombination * comb) { FREE(comb->comb); FREE(comb->intComb); FREE(comb->indexMapping); FREE(comb); } /** * Lähdesmäki's best-fit extension algorithm to infer Boolean networks * from time series. * and represent state transitions. * Here, consecutive array entries describe one state, * thus the array size is . * is an array of the same length as specifying * whether inputs were normally regulated (-1), overexpressed (1), or knocked out (0). * is the number of genes in the time series. * is the maximum number of inputs a function can have. * is a flattened Boolean matrix specifying dependencies * that *must* occur in the reconstructed networks. * Similarly, specifies dependencies * that *must not* occur in the reconstructed networks. * receives one list of possible functions for each gene, and * stores the error of these functions on the time series. * specifies whether the algorithm stops as soon as a perfect solution * is found (false) or not (true). * specifies whether incomplete functions (with "don't care" values) * are expanded recursively (true) or returned as-is (false). */ void bestFitExtension(unsigned int * inputStates, unsigned int * outputStates, unsigned int * perturbations, unsigned int numStates, unsigned int numGenes, int * requiredDependencies, int * excludedDependencies, unsigned int maxK, FunctionListElement ** result, unsigned int * errors, bool allSolutions, bool returnPBN) { unsigned int i, j; unsigned int numElts; // calculate block size in time series array if (numGenes % BITS_PER_BLOCK_32 == 0) numElts = numGenes / BITS_PER_BLOCK_32; else numElts = numGenes / BITS_PER_BLOCK_32 + 1; // store the lengths of the current best solutions for // each gene - initialized with maximum value. unsigned int bestLength[numGenes]; memset(bestLength,0xFF,sizeof(unsigned int) * numGenes); for (i = 0; i < numGenes; ++i) // iterate over genes { unsigned int currentMaxK = maxK, minK = 0, excludedCount = 0; if (requiredDependencies != NULL) for (j = 0; j < numGenes; ++j) if (requiredDependencies[i*numGenes + j] != 0) ++minK; if (excludedDependencies != NULL) for (j = 0; j < numGenes; ++j) if (excludedDependencies[i*numGenes + j] != 0) ++excludedCount; if (currentMaxK < minK) currentMaxK = minK; if (currentMaxK > numGenes - excludedCount) currentMaxK = numGenes - excludedCount; // set error to maximum errors[i] = ~0; unsigned int k, s; if (minK == 0) { // check for constant genes unsigned int geneVal = GET_BIT(outputStates[i/BITS_PER_BLOCK_32],i % BITS_PER_BLOCK_32); bool isConst = true; unsigned int const0Err = (geneVal > 0), const1Err = (geneVal == 0); for (s = 1; s < numStates; ++s) { if (perturbations != NULL && perturbations[s * numGenes + i] != -1) // ignore this state if the current gene is perturbed continue; unsigned int nextBit = GET_BIT(outputStates[s*numElts + i/BITS_PER_BLOCK_32],i % BITS_PER_BLOCK_32); if (nextBit != geneVal) { isConst = false; } if (nextBit) ++const0Err; else ++const1Err; } if (isConst) // gene is constant => simplest function already found! { int inputGenes = -1; addFunctionListElement(&result[i],1,1,&inputGenes,&geneVal); errors[i] = 0; bestLength[i] = 0; } else { if (const0Err <= const1Err) { int inputGenes = -1; unsigned int val = 0; addFunctionListElement(&result[i],1,1,&inputGenes,&val); errors[i] = const0Err; bestLength[i] = 0; } if (const1Err <= const0Err) { int inputGenes = -1; unsigned int val = 1; addFunctionListElement(&result[i],1,1,&inputGenes,&val); errors[i] = const1Err; bestLength[i] = 0; } } } for (k = (minK > 1? minK : 1); k <= currentMaxK; ++k) // iterate over possible numbers of inputs { if (errors[i] == 0 && !allSolutions) break; // initialize gene combination vector InputCombination * comb = initCombination((requiredDependencies == NULL? NULL : &requiredDependencies[i*numGenes]), (excludedDependencies == NULL? NULL : &excludedDependencies[i*numGenes]), k, numGenes); // calculate the number of array elements needed // to represent the output of a function unsigned int array_sz = (unsigned int)1 << k; unsigned int numEltsFunc; if (array_sz % BITS_PER_BLOCK_32 == 0) numEltsFunc = array_sz / BITS_PER_BLOCK_32; else numEltsFunc = array_sz / BITS_PER_BLOCK_32 + 1; unsigned int c_0[array_sz]; unsigned int c_1[array_sz]; do { R_CheckUserInterrupt(); memset(c_0,0,sizeof(unsigned int) * array_sz); memset(c_1,0,sizeof(unsigned int) * array_sz); for (s = 0; s < numStates; ++s) // iterate over states and count errors { if (perturbations != NULL && perturbations[s * numGenes + i] != -1) // the current gene is perturbed in this state // => ignore the state for inference of this gene continue; unsigned int input = 0, bit; for (bit = 0; bit < k; ++bit) // build input by transferring the bits of the input genes // in the current state into a condensed input value { input |= (GET_BIT(inputStates[s * numElts + comb->comb[bit]/BITS_PER_BLOCK_32], comb->comb[bit] % BITS_PER_BLOCK_32)) << bit; } // determine the response value after a state transition unsigned int response = GET_BIT(outputStates[s * numElts + i/BITS_PER_BLOCK_32],i % BITS_PER_BLOCK_32); if (response == 0) ++c_1[input]; else ++c_0[input]; } unsigned int f[numEltsFunc]; memset(f,0,sizeof(unsigned int) * numEltsFunc); unsigned int error = 0, c; for (c = 0; c < array_sz; ++c) { if (c_0[c] > c_1[c]) error += c_1[c]; else error += c_0[c]; } if (error < errors[i]) // the new solution is better than all previously found solutions // => reset the solution list and the best error { errors[i] = error; bestLength[i] = k; freeFunctionList(&result[i]); } if (error <= errors[i] && (bestLength[i] >= k || allSolutions)) { if (!returnPBN) // encode a function with "don't care" value // note: in contrast to the code below, // each entry of f corresponds to a single bit here { unsigned int f[array_sz]; memset(f,0,sizeof(unsigned int) * array_sz); for (unsigned int l = 0; l < array_sz; ++l) { if (c_1[l] < c_0[l]) { f[l] = 1; } else if (c_1[l] > c_0[l]) { f[l] = 0; } else { f[l] = -1; } } addFunctionListElement(&result[i],k,array_sz,comb->comb,f); } else { // recursively determine all functions by filling "don't care" values. // note: here, the elements of f are used as bit vectors // to save memory // start with an element initialized to zero, // and first examine the 0-th position unsigned int f[numEltsFunc]; memset(f,0,sizeof(unsigned int) * numEltsFunc); FunctionStackElement * stack = NULL; pushFunctionStackElement(&stack,f,numEltsFunc,0); do { R_CheckUserInterrupt(); // get top-level stack element FunctionStackElement * el = stack; if (el->pos == array_sz) // the top-level element on the stack is a complete function // => clean it up { // create a new element in the result function list containing the // completed function on the stack addFunctionListElement(&result[i],k,numEltsFunc, comb->comb,el->transitionFunction); // remove the completed function from the stack deleteFunctionStackElement(&stack); } else if (c_1[el->pos] == c_0[el->pos]) // the 0-error and the 1-error are equal // => create two solution branches, one with the -th bit set to 1 // and one with the -th bit set to 0 { // create a new element on the stack with the -th bit set to 1 FunctionStackElement * new = pushFunctionStackElement(&stack,el->transitionFunction, numEltsFunc,el->pos+1); new->transitionFunction[el->pos / BITS_PER_BLOCK_32] |= (unsigned int)1 << (el->pos % BITS_PER_BLOCK_32); // increment the position of the old element, which remains on the stack // with the -th bit set to 0 (due to initialization) ++el->pos; } else if (c_1[el->pos] < c_0[el->pos]) // the error is lower if the -th bit is set to 1 { // set the -th bit of the top-level stack element to 1, // and increment the position to be examined el->transitionFunction[el->pos / BITS_PER_BLOCK_32] |= (unsigned int)1 << (el->pos % BITS_PER_BLOCK_32); ++el->pos; } else // the error is lower if the -th bit is set to 0 { // due to initialization, the -th bit is already set to 0 // => increment the position to be examined ++el->pos; } } // terminate if all stack elements have been completed while (stack != NULL); } } } // get next input gene combination vector while(nextCombination(comb)); freeInputCombination(comb); } } } /** * Calculate the entropy of a set of genes (gene_1,...,gene_n) * specified by . * All values less than specify genes in the input states, and values greater or * equal to specify genes in the output states. * and contain states, each consisting * of array elements. * is an array of the same length as specifying * whether inputs were normally regulated (-1), overexpressed (1), or knocked out (0). * The table counting the occurrences of gene value combinations is returned in
, which * must be initialized to a size of 2^. * The return value is the entropy H(gene1,...,gene_n). */ static inline double entropy( unsigned int * inputStates, unsigned int * outputStates, unsigned int * perturbations, unsigned int currentGene, unsigned int numStates, unsigned int elementsPerEntry, unsigned int numGenes, int * chosenIndices, unsigned int numChosenIndices, unsigned int * table) { unsigned int numEntries = (unsigned int)1 << numChosenIndices; // reset table to 0 memset(table,0,sizeof(unsigned int) * numEntries); unsigned int state, validStates = 0; for (state = 0; state < numStates; ++state) { if (perturbations != NULL && perturbations[state * numGenes + currentGene] != -1) // the current gene is perturbed in this state // => ignore the state in the entropy calculation continue; ++validStates; unsigned int tableIndex = 0, geneIndex; for (geneIndex = 0; geneIndex < numChosenIndices; ++geneIndex) // count the number of occurrences of gene value combinations { // encode the index of the table element to be increased if (chosenIndices[geneIndex] < numGenes) // this is a gene in the input states { unsigned int chosenIndex = chosenIndices[geneIndex]; tableIndex |= (GET_BIT(inputStates[state * elementsPerEntry + chosenIndex/BITS_PER_BLOCK_32],chosenIndex % BITS_PER_BLOCK_32)) << geneIndex; } else // this is a gene in the output states { unsigned int chosenIndex = chosenIndices[geneIndex] - numGenes; tableIndex |= (GET_BIT(outputStates[state * elementsPerEntry + chosenIndex/BITS_PER_BLOCK_32],chosenIndex % BITS_PER_BLOCK_32)) << geneIndex; } } // increase the corresponding table entry ++table[tableIndex]; } // calculate entropy double result = 0.0; unsigned int tableIndex; for (tableIndex = 0; tableIndex < numEntries; ++tableIndex) { if (table[tableIndex] != 0) result += ((double)table[tableIndex])/validStates*log2(((double)table[tableIndex])/validStates); } return -result; } /** * Liang's REVEAL algorithm for reconstruction of Boolean networks. * This version is enhanced for dealing with inconsistent samples by * taking the solutions that produce the minimum error. * and represent state transitions. * Here, consecutive array entries describe one state, * thus the array size is . * is an array of the same length as specifying * whether inputs were normally regulated (-1), overexpressed (1), or knocked out (0). * is the number of genes in the time series. * is the maximum number of inputs a function can have. * is a flattened Boolean matrix specifying dependencies * that *must* occur in the reconstructed networks. * Similarly, specifies dependencies * that *must not* occur in the reconstructed networks. * receives one list of possible functions for each gene, and * stores the error of these functions on the time series. * specifies whether the algorithm stops as soon as a perfect solution * is found (false) or not (true). * specifies whether incomplete functions (with "don't care" values) * are expanded recursively (true) or returned as-is (false). */ void reveal(unsigned int * inputStates, unsigned int * outputStates, unsigned int * perturbations, unsigned int numStates, unsigned int numGenes, int * requiredDependencies, int * excludedDependencies, unsigned int maxK, FunctionListElement ** result, unsigned int * errors, bool allSolutions, bool returnPBN) { unsigned int i, j; unsigned int numElts; // calculate block size in time series array if (numGenes % BITS_PER_BLOCK_32 == 0) numElts = numGenes / BITS_PER_BLOCK_32; else numElts = numGenes / BITS_PER_BLOCK_32 + 1; for (i = 0; i < numGenes; ++i) // iterate over genes { unsigned int currentMaxK = maxK, minK = 0, excludedCount = 0; if (requiredDependencies != NULL) for (j = 0; j < numGenes; ++j) if (requiredDependencies[i*numGenes + j] != 0) ++minK; if (excludedDependencies != NULL) for (j = 0; j < numGenes; ++j) if (excludedDependencies[i*numGenes + j] != 0) ++excludedCount; if (currentMaxK < minK) currentMaxK = minK; if (currentMaxK > numGenes - excludedCount) currentMaxK = numGenes - excludedCount; // set error to maximum // Note: in REVEAL, is only used as an indicator // whether a solution has been found, i.e. it is 0 if // a solution was found, and anything else otherwise. errors[i] = ~0; unsigned int k, s; // check for constant genes unsigned int geneVal = GET_BIT(outputStates[i/BITS_PER_BLOCK_32],i % BITS_PER_BLOCK_32); bool isConst = true; for (s = 1; s < numStates; ++s) { if ((perturbations == NULL || perturbations[s * numGenes + i] == -1) && GET_BIT(outputStates[s*numElts + i/BITS_PER_BLOCK_32],i % BITS_PER_BLOCK_32) != geneVal) // ignore this state if the current gene is perturbed { isConst = false; break; } } if (isConst) // gene is constant => simplest function already found! { int inputGenes = -1; addFunctionListElement(&result[i],1,1,&inputGenes,&geneVal); errors[i] = 0; } for (k = (minK > 1? minK : 1); k <= currentMaxK; ++k) // iterate over possible numbers of inputs { if (errors[i] == 0 && !allSolutions) break; // initialize gene combination vector InputCombination * comb = initCombination((requiredDependencies == NULL? NULL : &requiredDependencies[i*numGenes]), (excludedDependencies == NULL? NULL : &excludedDependencies[i*numGenes]), k, numGenes); // calculate the number of array elements needed // to represent the output of a function unsigned int array_sz = (unsigned int)1 << k; unsigned int numEltsFunc; if (array_sz % BITS_PER_BLOCK_32 == 0) numEltsFunc = array_sz / BITS_PER_BLOCK_32; else numEltsFunc = array_sz / BITS_PER_BLOCK_32 + 1; do { R_CheckUserInterrupt(); // calculate entropy of input genes unsigned int table_input[array_sz]; double entropy_input = entropy(inputStates, outputStates, perturbations, i, numStates, numElts, numGenes, comb->comb, k, table_input); // calculate entropy of the combination of input genes and output value int comb_output[k+1]; memcpy(comb_output,comb->comb,sizeof(unsigned int) * k); comb_output[k] = numGenes + i; unsigned int table_output[(unsigned int)1 << (k+1)]; double entropy_all = entropy(inputStates, outputStates, perturbations, i, numStates, numElts, numGenes, comb_output, k+1, table_output); if (fabs(entropy_input - entropy_all) < 1E-6) // the two entropies are the same => output is fully explained by input { // a solution has been found => set errors to 0 so that // the algorithm does not search for higher k's errors[i] = 0; if (!returnPBN) // encode a function with "don't care" value // note: in contrast to the code below, // each entry of f corresponds to a single bit here { unsigned int f[array_sz]; memset(f,0,sizeof(unsigned int) * array_sz); for (unsigned int l = 0; l < array_sz; ++l) { if (table_input[l] == 0 || table_output[l | ((unsigned int)1 << k)] == table_output[l]) { f[l] = -1; } else if (table_output[l | ((unsigned int)1 << k)] > table_output[l]) { f[l] = 1; } else { f[l] = 0; } } addFunctionListElement(&result[i],k,array_sz,comb->comb,f); } else { // recursively determine all functions by filling "don't care" values. // note: here, the elements of f are used as bit vectors // to save memory // start with an element initialized to zero, // and first examine the 0-th position unsigned int f[numEltsFunc]; memset(f,0,sizeof(unsigned int) * numEltsFunc); FunctionStackElement * stack = NULL; pushFunctionStackElement(&stack,f,numEltsFunc,0); do { R_CheckUserInterrupt(); // get top-level stack element FunctionStackElement * el = stack; if (el->pos == array_sz) // the top-level element on the stack is a complete function // => clean it up { // create a new element in the result function list containing the // completed function on the stack addFunctionListElement(&result[i],k,numEltsFunc, comb->comb,el->transitionFunction); // remove the completed function from the stack deleteFunctionStackElement(&stack); } else if (table_input[el->pos] == 0 || table_output[el->pos | ((unsigned int)1 << k)] == table_output[el->pos]) // no information is available if the -th bit must be set to one or zero // => create two solution branches, one with the -th bit set to 1 // and one with the -th bit set to 0 { // create a new element on the stack with the -th bit set to 1 FunctionStackElement * new = pushFunctionStackElement(&stack,el->transitionFunction, numEltsFunc,el->pos+1); new->transitionFunction[el->pos / BITS_PER_BLOCK_32] |= (unsigned int)1 << (el->pos % BITS_PER_BLOCK_32); // increment the position of the old element, which remains on the stack // with the -th bit set to 0 (due to initialization) ++el->pos; } else if (table_output[el->pos | ((unsigned int)1 << k)] > table_output[el->pos]) // the -th bit must be set to 1 { // set the -th bit of the top-level stack element to 1, // and increment the position to be examined el->transitionFunction[el->pos / BITS_PER_BLOCK_32] |= (unsigned int)1 << (el->pos % BITS_PER_BLOCK_32); ++el->pos; } else // the -th bit must be set to 0 { // due to initialization, the -th bit is already set to 0 // => increment the position to be examined ++el->pos; } } while (stack != NULL); } } } // get next input gene combination vector while(nextCombination(comb)); freeInputCombination(comb); } } } /** * R Wrapper for bestFitExtension() and reveal() * contains an array of * binary * values, where consecutive values form one state. * specifies the number of states in the array. * is the highest number of input genes for a function. * If is 0, bestFitExtension is called. If is 1, reveal() is called. * Returns a list of lists. The outer list has elements, and the inner * list has one element for each equally-rated function for the current gene. Each of these * elements consists of a vector of input genes, the function as a binary vector, and * the error this function makes on the input time series. */ SEXP reconstructNetwork_R(SEXP inputStates, SEXP outputStates, SEXP perturbations, SEXP numberOfStates, SEXP requiredDependencies, SEXP excludedDependencies, SEXP maxK, SEXP method, SEXP allSolutions, SEXP returnPBN) { int * _inputStates = INTEGER(inputStates); int * _outputStates = INTEGER(outputStates); unsigned int * _perturbations = (Rf_isNull(perturbations)? NULL : (unsigned int *)INTEGER(perturbations)); int * _requiredDependencies = (Rf_isNull(requiredDependencies)? NULL : INTEGER(requiredDependencies)); int * _excludedDependencies = (Rf_isNull(excludedDependencies)? NULL : INTEGER(excludedDependencies)); int _numberOfStates = *INTEGER(numberOfStates); int _maxK = *INTEGER(maxK); int _method = *INTEGER(method); int _allSolutions = *INTEGER(allSolutions); int _returnPBN = *INTEGER(returnPBN); unsigned int numGenes = length(inputStates) / _numberOfStates; unsigned int numElts; if (numGenes % BITS_PER_BLOCK_32 == 0) numElts = numGenes / BITS_PER_BLOCK_32; else numElts = numGenes / BITS_PER_BLOCK_32 + 1; unsigned int encodedInputStates[numElts * _numberOfStates]; memset(encodedInputStates,0,numElts * _numberOfStates * sizeof(unsigned int)); unsigned int encodedOutputStates[numElts * _numberOfStates]; memset(encodedOutputStates,0,numElts * _numberOfStates * sizeof(unsigned int)); unsigned int state,gene; for (state = 0; state < _numberOfStates; ++state) // binary encoding of input states { for (gene = 0; gene < numGenes; ++gene) encodedInputStates[(numElts * state) + gene / BITS_PER_BLOCK_32] |= (_inputStates[state*numGenes + gene] << (gene % BITS_PER_BLOCK_32)); } for (state = 0; state < _numberOfStates; ++state) // binary encoding of output states { for (gene = 0; gene < numGenes; ++gene) encodedOutputStates[(numElts * state) + gene / BITS_PER_BLOCK_32] |= (_outputStates[state*numGenes + gene] << (gene % BITS_PER_BLOCK_32)); } FunctionListElement ** res = CALLOC(numGenes,sizeof(FunctionListElement *)); unsigned int * errors = CALLOC(numGenes,sizeof(unsigned int)); if (_method == 0) // perform Lähdesmäki's best-fit extension bestFitExtension(encodedInputStates,encodedOutputStates,_perturbations, _numberOfStates,numGenes, _requiredDependencies,_excludedDependencies, _maxK,res,errors,_allSolutions,_returnPBN); else // start REVEAL algorithm reveal(encodedInputStates,encodedOutputStates,_perturbations, _numberOfStates,numGenes, _requiredDependencies,_excludedDependencies, _maxK,res,errors,_allSolutions,_returnPBN); // for (gene = 0; gene < numGenes; ++gene) // { // printf("Gene %d\n",gene+1); // FunctionListElement * cur = res[gene]; // while (cur != NULL) // { // printf("Input: "); // unsigned int k; // for (k = 0; k < cur->k; ++k) // printf("%d ",cur->inputGenes[k] + 1); // printf("\nFunction: "); // for (k = 0; k < (1 << cur->k); ++k) // printf("%d",GET_BIT(cur->transitionFunction[k / BITS_PER_BLOCK_32],k%BITS_PER_BLOCK_32)); // printf("\nError: %d\n\n",errors[gene]); // cur = cur->next; // } // } // pack R objects SEXP resSXP; PROTECT(resSXP = allocList(numGenes)); SEXP listPos1 = resSXP; for(gene = 0; gene < numGenes; ++gene) { SEXP geneSXP; unsigned int listLength = 0; FunctionListElement * cur = res[gene]; while (cur != NULL) { ++listLength; cur = cur->next; } PROTECT(geneSXP = allocList(listLength)); cur = res[gene]; unsigned int i; SEXP listPos2 = geneSXP; for (i = 0; i < listLength; ++i) { SEXP entrySXP,inputSXP,funcSXP,errorSXP; PROTECT(entrySXP = allocList(3)); SET_TAG(entrySXP, install("input")); SET_TAG(CDR(entrySXP), install("func")); SET_TAG(CDR(CDR(entrySXP)), install("error")); PROTECT(inputSXP = allocVector(INTSXP,cur->k)); int * array = INTEGER(inputSXP); unsigned int j; unsigned int numBits; if (cur->k == 1 && cur->inputGenes[0] == -1) { numBits = 1; array[0] = 0; } else { numBits = (unsigned int)1 << cur->k; for (j = 0; j < cur->k; j++) array[j] = cur->inputGenes[cur->k - j - 1] + 1; } SETCAR(entrySXP,inputSXP); UNPROTECT(1); PROTECT(funcSXP = allocVector(INTSXP,numBits)); array = INTEGER(funcSXP); if (_returnPBN) // for PBN, functions are internally represented as bit vectors to save memory dec2bin(array,(int*)cur->transitionFunction,(int*)&numBits); else // for incomplete truth tables, we need a third "don't care" value // hence, each bit is an integer in this case (but far fewer entries => less memory) memcpy(array,(int*)cur->transitionFunction,numBits*sizeof(int)); SETCADR(entrySXP,funcSXP); UNPROTECT(1); PROTECT(errorSXP = allocVector(INTSXP,1)); array = INTEGER(errorSXP); *array = errors[gene]; SETCADDR(entrySXP,errorSXP); UNPROTECT(1); SETCAR(listPos2,entrySXP); UNPROTECT(1); listPos2 = CDR(listPos2); cur = cur->next; } UNPROTECT(1); SETCAR(listPos1,geneSXP); listPos1 = CDR(listPos1); } UNPROTECT(1); // free resources for (gene = 0; gene < numGenes; ++gene) freeFunctionList(&res[gene]); FREE(errors); FREE(res); return resSXP; } BoolNet/NAMESPACE0000644000176200001440000000265212733233664013051 0ustar liggesusersuseDynLib(BoolNet) import("igraph", "XML") importFrom("graphics", "abline", "arrows", "axis", "hist", "legend", "lines", "par", "plot", "rect", "text") importFrom("grDevices", "dev.interactive") importFrom("stats", "dist", "kmeans", "quantile", "rnorm", "rpois", "runif") importFrom("utils", "installed.packages", "tail") importFrom("grDevices", "adjustcolor") S3method(print, AttractorInfo) S3method(print, SymbolicSimulation) S3method(print, BooleanNetwork) S3method(print, SymbolicBooleanNetwork) S3method(print, BooleanNetworkCollection) S3method(print, ProbabilisticBooleanNetwork) S3method(print, BooleanStateInfo) S3method(print, TransitionTable) S3method(print, MarkovSimulation) export( loadNetwork, loadBioTapestry, loadSBML, saveNetwork, getAttractors, plotAttractors, plotSequence, plotStateGraph, plotNetworkWiring, plotPBNTransitions, attractorsToLaTeX, sequenceToLaTeX, stateTransition, getAttractorSequence, getTransitionTable, getStateSummary, getBasinOfAttraction, getPathToAttractor, getTransitionProbabilities, toPajek, toSBML, generateRandomNKNetwork, generateCanalyzing, generateNestedCanalyzing, generateState, generateTimeSeries, perturbNetwork, perturbTrajectories, simplifyNetwork, simulateSymbolicModel, reconstructNetwork, chooseNetwork, fixGenes, binarizeTimeSeries, markovSimulation, testNetworkProperties, testAttractorRobustness, testTransitionRobustness, testIndegree, truthTableToSymbolic, symbolicToTruthTable) BoolNet/data/0000755000176200001440000000000012732246464012537 5ustar liggesusersBoolNet/data/examplePBN.rda0000644000176200001440000000060712732246464015225 0ustar liggesusers‹Å”ÝNƒ0ÇKÁDñ3Ù‰7ô†ÌË^/™z»,^í–agYK€ELö"ú2>‡wK|Ÿ`ZJÁÁб¹Å“œöôÏéÇù…ööºoé}ÔUj7 ÷=î:Ž‘ïá^§ €Úà O² 13kÜ¥®¤ºˆ¸ïiíê¾Æ÷“¹S!£·Œ‰[IcŸ¦ÑDEn¬´ßma¥²v¨3¡\UËDBýq$ÚpLÝo~€Ã0*•}?`g@<=ñáì/ ÊV“ÁE! ¡ ß±¼='ö’bŸ›$!þ eD–é%"—«A HòE·„d¥‹R¶5/ÊMZ®™01“‰`bŠú‹ŠЂ2hº=Dë£Yf? 9þ‡" +ª2 Æ­<²òÈNgÔË„ÉÉÕWYh¹_gßÊ„F8p܈×f<î1Åù`Hb|W~k]Ï ³·Jñ¬—± #âvó°C»8zdÁƒL9-ªWÌó°ØZ’™}á¥6y¾BoolNet/data/igf.rda0000644000176200001440000000073112732246464013775 0ustar liggesusers‹ÕWÛNÂ@Ý^ÅzMHøßÅ…hˆ‰ð×ZÒÐnI»DHühÀâtÛí $ -—&Û™ÎîΞ³3;m;­^]ëi!IÜ%Pen’Ñ1HÉà^Uv Må]íLJXít#U~mߘýAƾnµå¿_`û=à`Ó´‡†\?4^Т™9%3Hñ‚SPˆùДp•ä%æ‚’ƒ0TT-HžÅ-;ÃÆ.Ï4…³3“ alçœ$û M.yÑBoolNet/data/cellcycle.rda0000644000176200001440000000106412732246464015167 0ustar liggesusers‹íWËNÂ@Ki|4ñêÆ´‰ `ãʨ<Œ+$&lË0(±B1j¿ùK~zçE§ƒ¦%`â$Ãܶ÷–3÷ÜÇ´UoW¬¶…2q3¢iÀÏ2QÖ"&A€ßp@Êà Ð0èj‰•Z0>ÙËĸü²•—šµ7\×þh7ôŸH$sòf?>¥Uï9ÄB¶ÈëpD¢¨?ájªaÙXL!ç9^†ÍQ0é¿ë~¾a£Øïî‰t\;§ªR¨K¡á9ÇVÎçUšms‡5¤šÞ9æRí·U8Íî·nÜ”=ÒÎ!´BÙ›håN return empty data frame if (includeAttractorStates == "none" && table[currentStateIdx,"transitionsToAttractor"] == 0) { res <- data.frame(matrix(nrow=0,ncol=numGenes)) } else if (length(attractorIdx) > 0) attributes(res)$attractor <- attractorIdx colnames(res) <- sapply(colnames(table)[seq_len(numGenes)],function(n)strsplit(n,".",fixed=TRUE)[[1]][2]) rownames(res) <- NULL } return(res) } BoolNet/R/print.MarkovSimulation.R0000644000176200001440000000603212732246464016612 0ustar liggesusers# Custom print function for class MarkovSimulation print.MarkovSimulation <- function(x, activeOnly = FALSE, ...) { genes <- x$genes numGenes <- length(genes) cat("States reached at the end of the simulation:\n") if (activeOnly) { reachedStates <- data.frame(apply(x$reachedStates[,seq_len(numGenes)],1,function(state) { r <- paste(genes[which(state == 1)],collapse=", ") if (r == "") r <- "--" r }),x$reachedStates$Probability) colnames(reachedStates) <- c("Active genes", "Probability") print(reachedStates) } else { print(x$reachedStates) } if (!is.null(x$table)) { cat("\nProbabilities of state transitions in the network:\n") transitionProbs <- getTransitionProbabilities(x) colIndices <- c(1,numGenes,numGenes + 1, 2*numGenes, 2*numGenes + 1) if(activeOnly) { inputStates <- apply(transitionProbs,1,function(row) { r <- paste(genes[which(row[colIndices[1]:colIndices[2]] == 1)],collapse=", ") if (r == "") r <- "--" r }) outputStates <- apply(transitionProbs,1,function(row) { r <- paste(genes[which(row[colIndices[3]:colIndices[4]] == 1)],collapse=", ") if (r == "") r <- "--" r }) colWidth <- max(c(sapply(inputStates,nchar),sapply(outputStates,nchar))) align <- "left" } else { inputStates <- apply(transitionProbs,1,function(row) paste(row[colIndices[1]:colIndices[2]],collapse="")) outputStates <- apply(transitionProbs,1,function(row) paste(row[colIndices[3]:colIndices[4]],collapse="")) colWidth <- numGenes align <- "right" } binMatrix <- data.frame(inputStates,outputStates, transitionProbs[,colIndices[5]]) cat(format("State",width=max(7,colWidth),justify=align)," ", format("Next state",width=max(11,colWidth + 2),justify=align), format("Probability",width=13,justify="right"),"\n",sep="") apply(binMatrix,1,function(row) { # paste all states of input and output into one string, and put out all columns of the table in a # formatted way cat(format(row[1],width=max(7,colWidth),justify=align), " => ", format(row[2],width=max(11,colWidth + 2),justify=align), format(row[3],width=13,justify="right"),"\n",sep="") }) } return(invisible(x)) } BoolNet/R/loadSBML.R0000644000176200001440000004546312732246464013563 0ustar liggesusers# Check whether N is an integer using # a regular expression. check.integer <- function(N) { !length(grep("[^[:digit:]]", as.character(N))) } # Parse an SBML species list in . # Returns a list containing a map of gene ids to gene names, # a vector specifying which genes are fixed # and a vector of initial levels. parseSBMLSpecies <- function(rootNode) { genes <- c() fixed <- c() initialLevels <- c() # iterate over species for (species in xmlChildren(rootNode)) { attrs <- xmlAttrs(species) # if available, use the "name" attribute as the gene name # (and replace unsuitable characters by underscores) # otherwise use the gene id. if (is.na(attrs["name"]) || attrs["name"] == "") # for better compatibility with CoLoMoTo, # remove "s_" at the beginning of identifiers name <- sub("^s_","",attrs["id"]) else name <- gsub("[^a-zA-Z0-9_]+","_",attrs["name"]) # gene names must be unique if (name %in% genes) { suffix <- 1 while (paste(name,suffix,sep="_") %in% genes) suffix <- suffix + 1 warning(paste("Duplicate gene \"",name,"\", renaming to ", name,"_",suffix,"!",sep="")) name <- paste(name,suffix,sep="_") } # Reject logical networks with more than two values for a gene if (!is.na(attrs["maxLevel"]) && as.integer(attrs["maxLevel"]) > 1) stop(paste("BoolNet supports only binary genes, but gene \"", name,"\" has a maximum level of ",attrs["maxLevel"],"!", sep="")) # build a lookup table id -> gene name genes[attrs["id"]] <- adjustGeneNames(name) if (!is.na(attrs["constant"]) && tolower(attrs["constant"]) == "true") # if the gene is constant, save its initial level in the "fixed" vector { #if (is.na(attrs["initialLevel"])) #stop(paste("Gene \"", name, "\" is constant, but no initial level is supplied!", sep="")) # warning(paste("Gene \"", name, "\" is constant, but no initial level is supplied! Assuming an input!", sep="")) fixed[name] <- TRUE } else # this gene is not constant fixed[name] <- FALSE initialLevels[name] <- as.integer(attrs["initialLevel"]) } return(list(genes = genes, fixed = fixed, initialLevels = initialLevels)) } # Parse a list of transitions in . # Here, is the result of parseSBMLSpecies() # containing a map of gene ids/assignments, a vector # specifying fixed genes and a vector of initial levels. # Returns a list of interactions in the format # of class BooleanNetwork parseSBMLTransitions <- function(rootNode, genes, symbolic) { # iterate over all transitions transitions <- xmlApply(rootNode,function(transition) { # parse inputs inputList <- xmlFindNode(transition, "listOfInputs") if (is.null(inputList)) { inputs <- c() } else { inputList <- inputList[[1]] inputs <- c() inputThresholds <- c() # iterate over inputs for (input in xmlChildren(inputList)) { attrs <- xmlAttrs(input) id <- attrs["qualitativeSpecies"] # verify gene name in species list if (is.na(genes$genes[id])) stop(paste("Unknown input \"",id,"\"!",sep="")) else inputs <- union(inputs, id) # check whether attributes of the input are compatible # with Boolean logic if (tolower(attrs["transitionEffect"]) != "none") stop(paste("Transition effect for input gene \"",id,"\" is \"", attrs["transitionEffect"],"\", expected \"none\"!", sep="")) if (!is.na(attrs["thresholdLevel"]) && !is.na(attrs["id"])) # if a threshold level has been specified, save it with the # corresponding ID for later use in the MathML terms { inputThresholds[attrs["id"]] <- as.integer(attrs["thresholdLevel"]) if (inputThresholds[attrs["id"]] > 1) stop("Threshold levels must be 0 or 1!") } } } # parse outputs outputList <- xmlFindNode(transition, "listOfOutputs") outputs <- c() if (!is.null(outputList)) { outputList <- outputList[[1]] for (output in xmlChildren(outputList)) # iterate over outputs { attrs <- xmlAttrs(output) id <- attrs["qualitativeSpecies"] # verify gene list in species list if (is.na(genes$genes[id])) stop(paste("Unknown output ",id,"!",sep="")) else outputs <- union(outputs, id) # check whether attributes of the output are compatible # with Boolean logic if (tolower(attrs["transitionEffect"]) != "assignmentlevel") stop(paste("Transition effect for output gene \"",id,"\" is \"", attrs["transitionEffect"],"\", expected \"assignmentLevel\"!", sep="")) if (!is.na(attrs["outputLevel"])) stop("Output levels for transitions are not supported in Boolean models!") } } # parse function terms functionTermList <- xmlFindNode(transition, "listOfFunctionTerms", throwError=TRUE)[[1]] transitionFunction <- parseSBMLFunctionTerms(functionTermList, genes$genes[inputs], inputThresholds) return(list(inputs=inputs, outputs=outputs, transitionFunction=transitionFunction)) }) # now convert the read data to the BoolNet interaction format interactions <- lapply(names(genes$genes), function(gene) { # identify the transitions linked to each gene linkedTransitions <- which(sapply(transitions, function(transition)gene %in% transition$output)) if (length(linkedTransitions) == 0) # no transitions are assigned to this gene { if (!genes$fixed[genes$gene[gene]] || is.na(genes$initialLevels[genes$gene[gene]])) { if (is.na(genes$initialLevels[genes$gene[gene]])) { # Assume an input if the gene has no transition function and no initial value warning(paste("There is no transition and no initial level for gene \"", gene,"\"! Assuming an input!",sep=""), call.=FALSE) if (symbolic) return(parseBooleanFunction(genes$gene[gene])) else return(list(input=which(names(genes$genes) == gene), func=c(0,1), expression=genes$gene[gene])) } else if (!genes$fixed[genes$gene[gene]]) warning(paste("There is no transition for the non-constant gene \"", gene,"\"! Setting it to a constant ", genes$initialLevels[genes$gene[gene]], "!" ,sep=""), call.=FALSE) } # build a constant interaction if (symbolic) return(parseBooleanFunction(as.character(genes$initialLevels[genes$gene[gene]]))) else return(list(input=0, func=genes$initialLevels[genes$gene[gene]], expression=as.character(genes$initialLevels[genes$gene[gene]]))) } else { if (length(linkedTransitions) > 1) # multiple transitions per gene are not allowed, as these may be conflicting { stop(paste("Gene \"",gene,"\" is affected by multiple transitions!",sep="")) } if (genes$fixed[genes$gene[gene]]) # a constant gene should not be the output of a transition stop(paste("Gene \"",gene,"\" has been specified as constant, but there is a transition!",sep="")) if (symbolic) { # parse the Boolean expression, and construct a symbolic expression tree return(parseBooleanFunction(transitions[[linkedTransitions]]$transitionFunction, genes$genes)) } else { # parse the Boolean expression, and generate an interaction with # the corresponding truth table return(generateInteraction(transitions[[linkedTransitions]]$transitionFunction, #genes$genes[transitions[[linkedTransitions]]$input], genes$genes)) } } }) names(interactions) <- genes$genes return(interactions) } # Parse a list of function terms in , where specifies # the assignment of gene identifiers to gene names, # and specifies the assignment of threshold identifiers # to values (see also parseMathML()). # Returns a single character string representing the function term # as an R expression. parseSBMLFunctionTerms <- function(rootNode, genes, inputThresholds) { # iterate over function terms functionTerms <- xmlApply(rootNode, function(term) { attrs <- xmlAttrs(term) outputLevel <- as.integer(attrs["resultLevel"]) if (outputLevel > 1) stop("The result level of a function term must be 0 or 1!") if (tolower(xmlName(term)) == "defaultterm") # this is the default term => no expression { return(list(term="",outputLevel=outputLevel)) } else # parse the MathML expression in the function term { math <- xmlFindNode(term, "math", throwError=TRUE)[[1]][[1]] return(list(term=parseMathML(math, genes, inputThresholds), outputLevel=outputLevel)) } }) # build lists of terms with result 0 (negative terms) # and terms with result 1 (positive term) posTerms <- c() negTerms <- c() defaultValue <- NA for (term in functionTerms) { if (term$term != "") { if (term$outputLevel == 0) { negTerms <- c(negTerms, term$term) } else { posTerms <- c(posTerms, term$term) } } else defaultValue <- term$outputLevel } if (is.na(defaultValue)) stop("Missing default term in transition!") if (defaultValue == 0) # if the default is 0, the result is a DNF of the positive terms { if (length(posTerms) > 0) totalTerm <- paste(posTerms, collapse=" | ") else totalTerm <- "0" if (length(negTerms) > 0) # if the default value is 0, additional negative terms are ignored, # as they should be part of the default value # (otherwise this is a contradiction to the positive terms) warning("Potentially contradictory terms in a transition have been ignored!") } else # if the default value is 1, the result is a negated DNF of the negative terms { if (length(negTerms) > 0) totalTerm <- paste("!(",paste(negTerms, collapse=" | "),")",sep="") else totalTerm <- "1" if (length(posTerms) > 0) # if the default value is 1, additional positive terms are ignored, # as they should be part of the default value # (otherwise this is a contradiction to the negative terms) warning("Potentially contradictory terms in a transition have been ignored!") } return(totalTerm) } # Recursively parse the MathML expression in . # Here, valid identifiers are the gene names in # and the input thresholds in , # which are replaced by the corresponding values. # Returns an R expression string representing the MathML expression. parseMathML <- function(rootNode, genes, inputThresholds) { name <- xmlName(rootNode) if (name == "apply") # a bracket { operator <- xmlName(xmlChildren(rootNode)[[1]]) children <- sapply(xmlChildren(rootNode)[-1],parseMathML, genes, inputThresholds) if (operator == "and" || operator == "times") { # treat "and" and "times" equally, but warn if (operator == "times") warning("Interpreting \"times\" operator as a logical \"and\"!") return(paste("(",paste(children, collapse = " & "),")",sep="")) } else if (operator == "or" || operator == "plus") { # treat "or" and "plus" equally, but warn if (operator == "plus") warning("Interpreting \"plus\" operator as a logical \"or\"!") return(paste("(",paste(children, collapse = " | "),")",sep="")) } else if (operator == "xor") { # convert XOR to a DNF by pasting all odd entries in the truth table tt <- allcombn(2, length(children)) - 1 tt <- apply(tt,1,function(x)sum(x) %/% 2 == 1) return(paste("(",getDNF(tt, children),")",sep="")) } else if (operator %in% c ("eq", "neq", "gt", "lt", "geq", "leq")) { # comparison operators have to be converted to Boolean logic if (length(children) != 2) stop(paste("Operator \"",operator,"\" requires two operands!",sep="")) # check which of the child expressions are constant isConst <- sapply(children,function(x) { check.integer(x) }) if (all(isConst)) # two constants are compared (this does not really make sense!) { children <- as.integer(children) return(as.integer(switch(operator, eq = {children[1] == children[2]}, neq = {children[1] != children[2]}, gt = {children[1] > children[2]}, lt = {children[1] < children[2]}, geq = {children[1] >= children[2]}, leq = {children[1] <= children[2]} ))) } else if (any(isConst)) # one constant and one variable are compared { constChild <- as.integer(children[isConst]) varChild <- children[!isConst] return(switch(operator, eq = { if (constChild == 1) varChild else paste("!",varChild,sep="") }, neq = { if (constChild == 0) varChild else paste("!",varChild,sep="") }, gt = { if (constChild == 1) "0" else varChild }, lt = { if (constChild == 0) "0" else paste("!",varChild,sep="") }, geq = { if (constChild == 0) "1" else varChild }, leq = { if (constChild == 1) "1" else paste("!",varChild,sep="") } )) } else # two variables are compared { return(switch(operator, eq = { paste("((",children[1]," & ",children[2],") | ", "(!",children[1]," & !",children[2],"))", sep="") }, neq = { paste("((",children[1]," & !",children[2],") | ", "(!",children[1]," & ",children[2],"))", sep="") }, gt = { paste("(",children[1]," & !",children[2],")", sep="") }, lt = { paste("(!",children[1]," & ",children[2],")", sep="") }, geq = { paste("(",children[1], " | !",children[2],")", sep="") }, leq = { paste("(!",children[1], " | ",children[2],")", sep="") } )) } } else if (operator == "not") { if (length(children) > 2) stop("Multiple arguments supplied to unary operator \"neg\"!") return(paste("!",children, sep="")) } else # an unsupported symbol has been specified stop(paste("Unsupported math symbol: ", operator,"!",sep="")) } else if (name == "ci") # this is a gene identifier or a threshold level { id <- trim(xmlValue(rootNode)) if (!(id %in% names(genes))) { if (!(id %in% names(inputThresholds))) # neither threshold identifier nor gene stop(paste("Unspecified input \"",id,"\" in transition function!",sep="")) else # this is a threshold identifier return(inputThresholds[id]) } # this is a gene return(genes[id]) } else if (name == "cn") # this is a constant { # convert value and ensure it is Boolean attrs <- xmlAttrs(rootNode) if (!is.null(attrs) && !is.na(attrs["type"]) && tolower(attrs["type"]) != "integer") stop("\"cn\" nodes must be of type \"integer\"!") val <- trim(xmlValue(rootNode)) if (!check.integer(val) || !(as.integer(val) %in% c(0,1))) stop("\"cn\" nodes must be 0 or 1!") return(val) } else if (name == "true") return("1") else if (name == "false") return("0") else # an unsupported symbol has been specified stop(paste("Unsupported math symbol: ", name,"!",sep="")) } # Import the sbml-qual document loadSBML <- function(file, symbolic=FALSE) { # load XML document doc <- xmlRoot(xmlParse(file)) # remove comments from the document suppressWarnings(comments <- getNodeSet(doc,"//comment()")) if (length(comments) > 0) removeNodes(comments) # do various checks to ensure this is an sbml-qual document if (xmlName(doc) != "sbml") stop("Not an SBML document!") if (as.integer(xmlAttrs(doc)["level"]) > 3 || as.integer(xmlAttrs(doc)["version"]) > 1) warning("This import is designed for documents up to SBML level 3 version 1!") if (is.null(xmlNamespaces(doc)$qual)) stop("This document does not import the sbml-qual package!") model <- xmlFindNode(doc, "model", throwError=TRUE)[[1]] # compartments are ignored # parse species species <- xmlFindNode(model, "listOfQualitativeSpecies", throwError=TRUE)[[1]] genes <- parseSBMLSpecies(species) # parse transitions transitions <- xmlFindNode(model, "listOfTransitions", throwError=TRUE)[[1]] interactions <- parseSBMLTransitions(transitions, genes, symbolic) if (symbolic) { delays <- apply(sapply(interactions,maxTimeDelay,genes=genes$genes),1,max) fixed <- as.integer(rep(-1L,length(genes$genes))) names(fixed) <- genes$genes res <- list(genes = genes$genes, interactions=interactions, fixed=fixed) res$internalStructs <- .Call("constructNetworkTrees_R",res) res$timeDelays <- delays class(res) <- "SymbolicBooleanNetwork" } else { # create BooleanNetwork structure res <- list(genes = genes$genes, fixed = sapply(interactions,function(i) { if (i$input[1] == 0) i$func[1] else -1 }), interactions = interactions) class(res) <- "BooleanNetwork" } return(res) } BoolNet/R/getTransitionTable.R0000644000176200001440000000436312732246464015762 0ustar liggesusers# Retrieves the transition table of an AttractorInfo structure # in a readable way getTransitionTable <- function(attractorInfo) { stopifnot(inherits(attractorInfo,"AttractorInfo") || inherits(attractorInfo,"SymbolicSimulation")) if (inherits(attractorInfo,"SymbolicSimulation")) { if (is.null(attractorInfo$graph)) stop(paste("This SymbolicSimulation structure does not contain transition table information.", "Please re-run simulateSymbolicModel() with returnGraph=TRUE!")) return(attractorInfo$graph) } else if (is.null(attractorInfo$stateInfo$table)) stop(paste("This AttractorInfo structure does not contain transition table information.", "Please re-run getAttractors() with a synchronous search and returnTable=TRUE!")) return(.internal.getTransitionTable(attractorInfo$stateInfo)) } # Internally used to extract the information from the subcomponent # of AttractorInfo .internal.getTransitionTable <- function(stateInfo) { fixedGenes <- which(stateInfo$fixedGenes != -1) nonFixedGenes <- which(stateInfo$fixedGenes == -1) if (!is.null(stateInfo$initialStates)) { initialStates <- t(apply(stateInfo$initialStates,2,dec2bin,length(stateInfo$genes))) } else { initialStates <- matrix(ncol=length(stateInfo$genes),nrow=2^length(nonFixedGenes)) # encode the initial states # first, encode the changing part by calculating all combinations temp <- allcombn(2,length(nonFixedGenes)) - 1 initialStates[,nonFixedGenes] <- temp[,ncol(temp):1] if (length(fixedGenes) > 0) # if there are fixed genes, encode their values initialStates[,fixedGenes] <- sapply(stateInfo$fixedGenes[fixedGenes], function(value)rep(value,2^length(nonFixedGenes))) } # build return structure of class TransitionTable res <- data.frame(initialStates, t(apply(stateInfo$table,2,dec2bin,length(stateInfo$genes))), stateInfo$attractorAssignment,stateInfo$stepsToAttractor) colnames(res) <- c(paste("initialState.",stateInfo$genes,sep=""), paste("nextState.",stateInfo$genes,sep=""), "attractorAssignment","transitionsToAttractor") class(res) <- c("TransitionTable","data.frame") return(res) } BoolNet/R/getTransitionProbabilities.R0000644000176200001440000000177712732246464017531 0ustar liggesusers# Builds a matrix of transitions and their probabilities from getTransitionProbabilities <- function(markovSimulation) { stopifnot(inherits(markovSimulation,"MarkovSimulation")) if (is.null(markovSimulation$table)) stop(paste("The supplied simulation result does not contain transition information.", "Please re-run markovSimulation() with returnTable=TRUE!")) initialStates <- t(apply(markovSimulation$table$initialStates,2,dec2bin,length(markovSimulation$genes))) nextStates <- t(apply(markovSimulation$table$nextStates,2,dec2bin,length(markovSimulation$genes))) idx <- order(apply(initialStates,1,function(x)paste(x,collapse=""))) res <- data.frame(initialStates,nextStates,markovSimulation$table$probabilities) res <- res[idx,] rownames(res) <- NULL colnames(res) <- c(paste("initialState.",markovSimulation$genes,sep=""), paste("nextState.",markovSimulation$genes,sep=""), "probability") return(res) } BoolNet/R/helpers.R0000644000176200001440000002562112732246464013622 0ustar liggesusers # Encode a vector of binary values with bits # to a decimal number bin2dec <- function(bin,len) { if (len %% 32 == 0) numElts <- as.integer(len / 32) else numElts <- as.integer(len / 32) + 1 dec = rep(0,numElts) dec = .C("bin2dec",as.integer(dec),as.integer(bin),as.integer(len))[[1]] } # Decode the low-order bits of to a vector of binary values, # where the first entry is the least significant bit dec2bin <- function(dec,len) { bin = rep(0,len) bin = .C("dec2bin",as.integer(bin),as.integer(dec),as.integer(len),NAOK=TRUE)[[1]] } # Generate a list of all assignments of n variables with N possible values allcombn <- function(N,n) { rownum = N^n sapply(n:1,function(i) { rep(seq_len(N),each=N^(i-1),len=rownum) }) } # Get DNF representation of a truth table # using the gene names in . # If is "canonical", build a canonical DNF. # If is "short", join terms to reduce the DNF getDNF <- function(truthTable, genes, mode = c("short","canonical")) { if (mode[1] == TRUE) mode <- (if (length(genes) <= 12) "short" else "canonical") mode <- match.arg(mode, c("short","canonical")) # check for constant functions if (isTRUE(all.equal(truthTable,rep(0,length(truthTable))))) return("0") else if (isTRUE(all.equal(truthTable,rep(1,length(truthTable))))) return("1") # generate truth table entries <- allcombn(2,length(genes)) - 1 colnames(entries) <- genes if (mode == "short") { # heuristic minimization # the 1 terms that need to be covered uncoveredEntries <- which(truthTable == 1) # current conjunction list conjunctions <- list() while (length(uncoveredEntries) > 0) { # take an uncovered entry and expand it currentEntry <- entries[uncoveredEntries[1],] for (gene in genes) # test for each gene whether it can be eliminated from the term { geneIdx <- which(names(currentEntry) == gene) candidate <- currentEntry[-geneIdx] condition <- rep(TRUE,length(truthTable)) for (i in seq_along(candidate)) { condition <- condition & (entries[,names(candidate)[i]] == candidate[i]) } if (length(unique(truthTable[condition])) == 1) # eliminate gene currentEntry <- currentEntry[-geneIdx] } # determine which truth table result entries are now covered eliminatedEntries <- rep(TRUE,length(truthTable)) for (i in seq_along(currentEntry)) { eliminatedEntries <- eliminatedEntries & (entries[,names(currentEntry)[i]] == currentEntry[i]) } uncoveredEntries <- setdiff(uncoveredEntries, which(eliminatedEntries)) # remember conjunction conjunctions <- c(conjunctions, list(currentEntry)) } return(paste(paste("(",sapply(conjunctions, function(conj) { paste(mapply(function(gene, val) { if (val == 1) return(gene) else return(paste("!",gene,sep="")) }, names(conj), conj), collapse=" & ") }), ")", sep=""), collapse=" | ")) } else { # canonical DNF conjunctions <- apply(entries[truthTable==1,,drop=FALSE],1,function(conj) { paste("(",paste(sapply(seq_along(conj),function(lit) { if (conj[lit]) genes[lit] else paste("!",genes[lit],sep="") }),collapse=" & "),")",sep="") }) return(paste(conjunctions[conjunctions != ""],collapse = " | ")) } } # Retrieves a string representation of an interaction function by either # building a DNF (if is false) # or returning an unspecific function description # (if is true or "canonical" or "short"). # contains the result column of the interaction's truth table, and # contains the names of the involved genes. getInteractionString <- function(readableFunctions,truthTable,genes) { if (readableFunctions != FALSE) getDNF(truthTable,genes, readableFunctions) else { if (isTRUE(all.equal(truthTable,rep(0,length(truthTable))))) return("0") else if (isTRUE(all.equal(truthTable,rep(1,length(truthTable))))) return("1") else { truthTable <- sapply(truthTable,function(x) { if (x == 0) "0" else if (x == 1) "1" else "*" }) paste("", sep="") } } } # Reorders a matrix of states (with each column being one state) # in a canonical way such that the "smallest" state is the first. # This makes attractor representations unique. canonicalStateOrder <- function(stateMatrix) { smallestIndex <- -1 smallestVal <- rep(Inf,nrow(stateMatrix)) for (i in seq_len(ncol(stateMatrix))) # iterate over states { for (j in seq_len(nrow(stateMatrix))) # iterate over elements of encoded state { if (stateMatrix[j,i] < smallestVal[j]) # determine new minimum { smallestVal <- stateMatrix[,i] smallestIndex <- i break } else { if (stateMatrix[j,i] > smallestVal[j]) break } } } if (smallestIndex != 1) # rearrange matrix return(cbind(stateMatrix[,smallestIndex:ncol(stateMatrix),drop=FALSE], stateMatrix[,seq_len(smallestIndex-1),drop=FALSE])) else return(stateMatrix) } # Find a child node named # of , or return NULL if such a node # does not exist. # If , throw an error if the node does not exist. xmlFindNode <- function(node,name,throwError=FALSE) { indices <- which(xmlSApply(node, xmlName) == name) if (length(indices) == 0) { if (throwError) stop(paste("Node \"",name,"\" is required, but missing!", sep="")) else return(NULL) } return(xmlChildren(node)[indices]) } # Remove leading and trailing whitespace characters from trim <- function(string) { string <- gsub("^[ \t]+", "", string) string <- gsub("[ \t]+$", "", string) return(string) } # Generate an interaction by parsing # and building the corresponding truth table. # Here, is a list of all genes in the network. # Returns an interaction as used in the BooleanNetwork class. generateInteraction <- function(expressionString, genes) { res <- .Call("getTruthTable_R", parseBooleanFunction(expressionString, genes), length(genes)) names(res) <- c("input","func") res$expression <- expressionString return(res) } # Create a DNF from a count predicate # ("maj","sumis","sumgt","sumlt"). # is the expression tree of the predicate # Returns an expression tree in DNF expandCountPredicate <- function(tree) { if (tree$operator == "maj") { if (length(tree$operands) %%2 == 0) count <- length(tree$operands) / 2 else count <- floor(length(tree$operands) / 2) operands <- tree$operands } else { count <- tree$operands[[length(tree$operands)]]$value operands <- tree$operands[-length(tree$operands)] } table <- as.matrix(allcombn(2,length(operands)) - 1) tableRes <- as.integer(apply(table,1,function(x) { switch(tree$operator, "maj" = sum(x) > count, "sumgt" = sum(x) > count, "sumlt" = sum(x) < count, "sumis" = sum(x) == count ) })) return(parseBooleanFunction(getDNF(tableRes, sapply(operands, stringFromParseTree)))) } # Get the inputs for an expression tree . # If is TRUE, the indices are returned instead of the gene names. # Returns a vector of gene names. getInputs <- function(tree, index=FALSE) { res <- switch(tree$type, operator = { unique(unlist(lapply(tree$operands, getInputs, index=index))) }, atom = { if (index) tree$index else tree$name }, constant = { NULL } ) return(res) } # Determine the maximum time delays for the genes # in a symbolic expression tree . # Returns a vector of time delays for the genes. maxTimeDelay <- function(tree, genes) { res <- switch(tree$type, operator = { timeDelays <- sapply(tree$operands, maxTimeDelay, genes=genes) if (!is.null(dim(timeDelays))) apply(timeDelays,1,max) else timeDelays }, atom = { res <- rep(1,length(genes)) names(res) <- genes res[tree$index] <- -tree$time res }, constant = { res <- rep(1,length(genes)) names(res) <- genes res } ) return(res) } # Convert into valid identifiers # by replacing special characters # Returns a vector of adjusted gene names. adjustGeneNames <- function(geneNames) { # eliminate special characters res <- gsub("[^a-zA-Z0-9_]+","_",geneNames) # ensure that identifier does not start with a number res <- gsub("(^[0-9][a-zA-Z0-9_]*)$","_\\1", res) names(res) <- geneNames return(res) } # Check whether the internal C pointer is null checkNullPointer <- function(ptr) { return(.Call("checkNullPointer",ptr)) } # Print a synchronous attractor specified by a data frame # The attractor has the index and a basin consisting of states. # If is true, states are represented as a list of active genes (otherwise binary vectors). printSynchronousAttractor <- function(attractor, index, basinSize=NA, activeOnly=FALSE) { if (is.na(basinSize)) cat("Attractor ",index," is a simple attractor consisting of ", nrow(attractor), " state(s)",sep="") else cat("Attractor ",index," is a simple attractor consisting of ", nrow(attractor), " state(s) and has a basin of ", basinSize, " state(s)",sep="") # print a graphical representation of the attractor cycle if (activeOnly) { cat(".\nActive genes in the attractor state(s):\n") for (j in seq_len(nrow(attractor))) { state <- paste(colnames(attractor)[which(attractor[j,] == 1)],collapse=", ") if (state == "") state <- "--" cat("State ", j, ": ", state, "\n", sep="") } cat("\n") } else { cat(":\n\n") numGenes <- ncol(attractor) cat(" |--<", paste(rep("-",numGenes-1), collapse=""),"|\n", sep="") cat(" V ", paste(rep(" ",numGenes-1), collapse="")," |\n", sep="") for (j in seq_len(nrow(attractor))) { cat(" ", as.integer(attractor[j,])," |\n",sep="") #cat(" | ", paste(rep(" ",numGenes-1), collapse="")," |\n", sep="") } cat(" V ", paste(rep(" ",numGenes-1), collapse=""), " |\n", sep="") cat(" |-->", paste(rep("-",numGenes-1), collapse=""), "|\n\n", sep="") } if (!activeOnly) cat("\nGenes are encoded in the following order: ", paste(colnames(attractor), collapse=" "), "\n\n", sep="") } BoolNet/R/markovSimulation.R0000644000176200001440000001226112732246464015520 0ustar liggesusers# Perform a Markov chain simulation with iterations/matrix multiplications on . # If is supplied, probabilities for all other start states will be set to 0. # All probabilities below are regarded as zero. markovSimulation <- function(network, numIterations=1000, startStates=list(), cutoff=0.001, returnTable=TRUE) { stopifnot(inherits(network,"ProbabilisticBooleanNetwork") | inherits(network,"BooleanNetwork")) if (sum(network$fixed == -1) > 32) stop("A Markov chain simulation with more than 32 non-fixed genes is not supported!") # the C code requires all interactions to be coded into one vector: if (inherits(network,"BooleanNetwork")) # deterministic network { # Assemble all input gene lists in one list , and remember the split positions in . inputGenes <- as.integer(unlist(lapply(network$interactions,function(interaction)interaction$input))) inputGenePositions <- as.integer(cumsum(c(0,sapply(network$interactions, function(interaction)length(interaction$input))))) # Do the same for the transition functions. transitionFunctions <- as.integer(unlist(lapply(network$interactions,function(interaction)interaction$func))) transitionFunctionPositions <- as.integer(cumsum(c(0,sapply(network$interactions, function(interaction)length(interaction$func))))) probabilities <- as.double(rep(1.0,length(network$genes))) functionAssignment <- as.integer(0:(length(network$genes)-1)) } else # probabilistic network { wrongProb <- sapply(network$interactions,function(interaction) abs(1.0-sum(sapply(interaction,function(func)func$probability))) > 0.0001) if (any(wrongProb)) stop(paste("The probabilities of gene(s) ",paste(network$genes[wrongProb],collapse=", ")," do not sum up to 1!",sep="")) # Assemble all input gene lists in one list , and remember the split positions in . inputGenes <- as.integer(unlist(lapply(network$interactions,function(interaction)lapply(interaction,function(singleFunc)singleFunc$input)))) inputGenePositions <- as.integer(cumsum(c(0,unlist(lapply(network$interactions, function(interaction)lapply(interaction,function(singleFunc)length(singleFunc$input))))))) # Do the same for the transition functions. transitionFunctions <- as.integer(unlist(lapply(network$interactions,function(interaction)lapply(interaction,function(singleFunc)singleFunc$func)))) transitionFunctionPositions <- as.integer(cumsum(c(0,unlist(lapply(network$interactions, function(interaction)lapply(interaction,function(singleFunc)length(singleFunc$func))))))) probabilities <- as.double(unlist(lapply(network$interactions,function(interaction)lapply(interaction,function(singleFunc)singleFunc$probability)))) functionAssignment <- as.integer(unlist(mapply(function(index,interaction)rep(index,length(interaction)),0:(length(network$interactions )- 1), network$interactions))) } # check whether the start states are allowed # by comparing the values of the fixed genes fixedGenes <- which(network$fixed != -1) if (length(startStates) > 0) { statesValid <- sapply(startStates,function(state) { isTRUE(all(state[fixedGenes] == network$fixed[fixedGenes])) }) if (!isTRUE(all(statesValid))) warning("Some of the supplied start states did not match the restrictions of the fixed genes and were removed!") startStates <- startStates[statesValid] } convertedStartStates <- NULL if (length(startStates) > 0) convertedStartStates <- sapply(startStates,function(x)bin2dec(x,length(network$genes))) on.exit(.C("freeAllMemory", PACKAGE = "BoolNet")) # call C code res <- .Call("markovSimulation_R", inputGenes,inputGenePositions, transitionFunctions,transitionFunctionPositions, as.integer(network$fixed), functionAssignment, probabilities, as.integer(numIterations), convertedStartStates, as.double(cutoff), as.integer(returnTable), PACKAGE="BoolNet") if (length(network$genes) %% 32 == 0) numElementsPerEntry <- as.integer(length(network$genes) / 32) else numElementsPerEntry <- as.integer(length(network$genes) / 32 + 1) # build result matrix reachedStates <- data.frame(t(sapply(res$states,function(state)dec2bin(state,length(network$genes)))),res$probabilities) colnames(reachedStates) <- c(network$genes,"Probability") if (returnTable) { initialStates <- matrix(res$initialStates,nrow=numElementsPerEntry) nextStates <- matrix(res$nextStates,nrow=numElementsPerEntry) res <- list(reachedStates=reachedStates, table=list(initialStates=initialStates,nextStates=nextStates,probabilities=res$transitionProbabilities), genes=network$genes) } else { res <- list(reachedStates=reachedStates, table=NULL, genes=network$genes) } class(res) <- "MarkovSimulation" return(res) } BoolNet/R/generateRandomStartStates.R0000644000176200001440000000277712732246464017324 0ustar liggesusers generateRandomStartStates <- function(network, n) { mat <- matrix(nrow=n,ncol=length(network$genes)) fixedPositions <- which(network$fixed != -1) nonFixedPositions <- which(network$fixed == -1) if (n > (2 ^ length(nonFixedPositions))) stop("The number of states to generate exceeds the total number of possible states!") if (length(fixedPositions) != 0) # fill fixed positions with the corresponding values mat[,fixedPositions] <- sapply(fixedPositions,function(x) rep(network$fixed[x],n)) if (n != 2 ^ length(nonFixedPositions)) { # generate other positions randomly mat[,nonFixedPositions] <- round(runif(n=n*length(nonFixedPositions))) } else { mat[,nonFixedPositions] <- allcombn(2,length(nonFixedPositions)) - 1 } # eliminate duplicates mat <- unique(mat) while (nrow(mat) != n) # if duplicates were removed, generate new states until the # desired number of states is reached { vec <- rep(0,length(network$genes)) if (length(fixedPositions) != 0) # fill fixed positions vec[fixedPositions] <- sapply(fixedPositions, function(x)network$fixed[x]) # generate other positions randomly vec[nonFixedPositions] <- round(runif(n=length(nonFixedPositions))) mat <- unique(rbind(mat,vec)) } #cat("Using initial states:\n") # print states and form a list res <- lapply(1:nrow(mat),function(i) { #cat(paste(mat[i,],collapse=""),"\n",sep="") mat[i,] }) #cat("\n") return(res); } BoolNet/R/getBasinOfAttraction.R0000644000176200001440000000101512732246464016221 0ustar liggesusers# Determine the basin of attraction of attractor in . getBasinOfAttraction <- function(attractorInfo,attractorNo) { stopifnot(inherits(attractorInfo,"AttractorInfo") || inherits(attractorInfo,"SymbolicSimulation")) if (missing(attractorNo) || attractorNo <= 0 || attractorNo > length(attractorInfo$attractors)) stop("Please provide a valid attractor number!") table <- getTransitionTable(attractorInfo) return(table[which(table$attractorAssignment == attractorNo),,drop=FALSE]) } BoolNet/R/print.ProbabilisticBooleanNetwork.R0000644000176200001440000000263012732246464020746 0ustar liggesusersprint.BooleanNetworkCollection <- function(x, ...) { print.ProbabilisticBooleanNetwork(x, ...) } # Custom print function for class ProbabilisticBooleanNetwork print.ProbabilisticBooleanNetwork <- function(x, ...) { cat("Probabilistic Boolean network with",length(x$genes),"genes\n\n") cat("Involved genes:\n",paste(x$genes,collapse=" "),"\n\n",sep="") cat("Transition functions:\n") mapply(function(gene,interaction) { cat("\nAlternative transition functions for gene ",gene,":\n",sep="") # print original expressions read from the files (if available) lapply(interaction,function(func) { cat(gene," = ",func$expression,sep="") if (!is.null(func$probability) || !is.null(func$error)) { cat(" (") if (!is.null(func$probability)) { cat(" probability: ",func$probability,sep="") if (!is.null(func$error)) cat(", ") } if (!is.null(func$error)) cat("error: ",func$error,sep="") cat(")") } cat("\n") }) }, x$genes,x$interactions) if (sum(x$fixed != -1) > 0) { cat("\nKnocked-out and over-expressed genes:\n") mapply(function(gene,fixed) { if (fixed != -1) cat(gene," = ",fixed,"\n",sep="") }, x$genes,x$fixed) } return(invisible(x)) } BoolNet/R/plotNetworkWiring.R0000644000176200001440000000525012732246464015664 0ustar liggesusers# Plot a wiring graph of the network with the supplied # graphical parameters. # Requires igraph. # Returns the igraph structure representing the wiring graph. plotNetworkWiring <- function(network,layout=layout.fruchterman.reingold,plotIt=TRUE,...) { stopifnot(inherits(network,"ProbabilisticBooleanNetwork") | inherits(network,"BooleanNetworkCollection") | inherits(network,"BooleanNetwork") | inherits(network,"SymbolicBooleanNetwork")) if (installed.packages()["igraph","Version"] < package_version("0.6")) bias <- 1 else bias <- 0 edgeList <- c() # construct list of edges from interactions if (inherits(network,"BooleanNetwork")) # deterministic network { for (i in seq_along(network$genes)) { if (network$interactions[[i]]$input[1] != 0) # no edges for constant genes { edgeList <- rbind(edgeList, cbind(network$interactions[[i]]$input, rep(i,length(network$interactions[[i]]$input)))) } } } else if (inherits(network,"SymbolicBooleanNetwork")) # symbolic network { inputs <- lapply(network$interactions, getInputs, index=TRUE) for (i in seq_along(network$genes)) { edgeList <- rbind(edgeList, cbind(inputs[[i]], rep(i,length(inputs[[i]])))) } } else # probabilistic network { for (i in seq_along(network$genes)) { for (j in seq_along(network$interactions[[i]])) { if (network$interactions[[i]][[j]]$input[1] != 0) # no edges for constant genes { edgeList <- rbind(edgeList, cbind(network$interactions[[i]][[j]]$input, rep(i,length(network$interactions[[i]][[j]]$input)))) } } } } # build graph from edge list res <- graph.data.frame(edgeList-bias,directed=TRUE,vertices=as.data.frame((seq_along(network$genes)) - bias)) res <- set.vertex.attribute(res,"name",value=network$genes) args <- list(...) # check for certain graphical parameters in ... # that have different default values in this plot if (is.null(args$vertex.color)) args$vertex.color <- "grey" if (is.null(args$edge.arrow.size)) args$edge.arrow.size <- 0.5 if (is.null(args$vertex.label.cex)) args$vertex.label.cex <- 0.7 if (is.null(args$vertex.size)) args$vertex.size <- 18 if (plotIt) { plot(res,vertex.label=network$genes,vertex.label.cex=args$vertex.label.cex, vertex.size=args$vertex.size,vertex.color=args$vertex.color, edge.arrow.size=args$edge.arrow.size, layout=layout,...) } return(invisible(res)) } BoolNet/R/print.BooleanNetwork.R0000644000176200001440000000133012732246464016233 0ustar liggesusers# Custom print function for class BooleanNetwork print.BooleanNetwork <- function(x, ...) { cat("Boolean network with",length(x$genes),"genes\n\n") cat("Involved genes:\n",paste(x$genes,collapse=" "),"\n\n",sep="") cat("Transition functions:\n") mapply(function(gene,interaction) { # print original expressions read from the files (if available) cat(gene," = ",interaction$expression,"\n",sep="") }, x$genes,x$interactions) if (sum(x$fixed != -1) > 0) { cat("\nKnocked-out and over-expressed genes:\n") mapply(function(gene,fixed) { if (fixed != -1) cat(gene," = ",fixed,"\n",sep="") }, x$genes,x$fixed) } return(invisible(x)) } BoolNet/R/plotPBNTransitions.R0000644000176200001440000000721012732246464015726 0ustar liggesusers# Plots a graph of the transitions in a probabilistic Boolean network. # is the result of a Markov simulation with returnTable=TRUE. # If stateSubset is specified, only transitions between states in the set are considered. # If is true, the edges are annotated with probabilities. # If is true, the states are annotated with their gene values. # specifies the igraph layout to be used. # If is false, only the graph is returned, and nothing is plotted. # ... specifies further parameters to igraph. plotPBNTransitions <- function(markovSimulation,stateSubset, drawProbabilities=TRUE,drawStateLabels=TRUE, layout=layout.fruchterman.reingold, plotIt=TRUE,...) { stopifnot(inherits(markovSimulation,"MarkovSimulation")) if (is.null(markovSimulation$table)) stop(paste("The supplied simulation result does not contain transition information.", "Please re-run markovSimulation() with returnTable=TRUE!")) # assemble edges from table edgeMatrix <- data.frame(apply(markovSimulation$table$initialStates,2, function(x)paste(dec2bin(x,length(markovSimulation$genes)),collapse="")), apply(markovSimulation$table$nextStates,2, function(x)paste(dec2bin(x,length(markovSimulation$genes)),collapse=""))) if (!missing(stateSubset)) { # determine edges to be excluded based on the subset stateSubset <- sapply(stateSubset,function(x)paste(x,collapse="")) keepIndices <- apply(edgeMatrix,1,function(row) { (length(intersect(row,stateSubset)) == length(unique(row))) }) # drop edges edgeMatrix <- edgeMatrix[keepIndices,] probabilities <- markovSimulation$table$probabilities[keepIndices] } else probabilities <- markovSimulation$table$probabilities # determine set of vertices vertices <- as.data.frame(as.character(unique(c(as.character(edgeMatrix[,1]), as.character(edgeMatrix[,2]))))) # build graph graph <- graph.data.frame(edgeMatrix,vertices=vertices,directed=TRUE) if (drawProbabilities) graph <- set.edge.attribute(graph,"label",value=paste(" ",probabilities)) if (drawStateLabels) label <- as.character(vertices[,1]) else label <- NA if (plotIt) { # set default values for further graphical parameters args <- list(...) if (is.null(args$vertex.size)) args$vertex.size <- 2 if (is.null(args$edge.arrow.mode)) args$edge.arrow.mode <- 0 if (is.null(args$vertex.label.cex)) args$vertex.label.cex <- 0.75 if (is.null(args$edge.label.cex)) args$edge.label.cex <- 0.75 if (is.null(args$vertex.label.dist)) args$vertex.label.dist <- 1 if (is.null(args$vertex.color)) args$vertex.color <- "grey" if (is.null(args$edge.label.color)) args$edge.label.color <- "green" if (is.null(args$edge.arrow.size)) args$edge.arrow.size <- 0.5 # plot it plot(graph,vertex.label=label,layout=layout,vertex.label.cex=args$vertex.label.cex, vertex.size=args$vertex.size,vertex.color=args$vertex.color, vertex.label.dist = args$vertex.label.dist, edge.arrow.size=args$edge.arrow.size, edge.label.color=args$edge.label.color, edge.label.cex=args$edge.label.cex,...) } # return the igraph object return(invisible(graph)) } BoolNet/R/generateState.R0000644000176200001440000000175312732246464014753 0ustar liggesusersgenerateState <- function(network, specs, default=0) { stopifnot(inherits(network,"ProbabilisticBooleanNetwork") || inherits(network,"BooleanNetwork") || inherits(network,"SymbolicBooleanNetwork")) if (!all(names(specs) %in% network$genes)) stop(paste("Undefined gene names:", paste(setdiff(names(specs), network$genes), collapse=", "))) if (!all(unlist(specs) %in% c(0,1))) stop("Please provide only Boolean values!") lengths <- unique(sapply(specs, length)) if (length(lengths) > 1) stop("The number of specifications for each gene must be the same!") if (lengths == 1) { state <- rep(default, length(network$genes)) names(state) <- network$genes state[names(specs)] <- specs } else { state <- matrix(rep(default, length(network$genes) * lengths), nrow=lengths) colnames(state) <- network$genes for (i in seq_along(specs)) state[,names(specs)[i]] <- specs[[i]] } return(state) } BoolNet/R/zeta.R0000644000176200001440000000144012732246464013114 0ustar liggesusers # Distribution function of the Zeta distribution dzeta <- function(k,gamma=2.5,approx_cutoff=100) { zeta_approx <- sum(sapply(seq_len(approx_cutoff),function(x)1/(x^gamma))) sapply(k,function(k_i) { 1/(k_i^gamma * zeta_approx) }) } # Quantile function of the Zeta distribution qzeta <- function(p,maxK,gamma=2.5,approx_cutoff=100) { vals <- cumsum(dzeta(seq_len(maxK),gamma,approx_cutoff)) sapply(p,function(p_i) { indices <- which(vals > p_i) if (length(indices) == 0) return(NA) else return(indices[1]) }) } # Draw random numbers from the Zeta distribution rzeta <- function(n,maxK,gamma=2.5,approx_cutoff=100) { maxP <- cumsum(dzeta(seq_len(maxK),gamma,approx_cutoff)) p <- runif(min=0,max=maxP,n=n) return(qzeta(p,maxK,gamma,approx_cutoff)) } BoolNet/R/toSBML.R0000644000176200001440000002040412732246464013252 0ustar liggesusers# Indent using tabs. indent <- function(string,count) { if (count == 0) return(string) return(paste(paste(rep("\t",count),collapse=""), string, sep="")) } # Export a Boolean network to an sbml-qual file . # If , a new symbolic representation for the interactions # is generated on the basis of the truth tables (in disjunctive normal form). # Otherwise, the $expression elements of the interactions are parsed. # If is true, constant transition functions are exported for fixed genes # instead of their true transition functions toSBML <- function(network, file, generateDNFs=FALSE, saveFixed = TRUE) { symbolic <- inherits(network,"SymbolicBooleanNetwork") stopifnot(inherits(network,"BooleanNetwork") || symbolic) if (symbolic) { if (any(network$timeDelays > 1)) stop("SBML does not support networks with time delays!") parseTrees <- network$interactions } else { parseTrees <- NULL if (generateDNFs == FALSE) # Check whether all interactions have suitable string representations { tryCatch( { # parse the string representations parseTrees <- lapply(network$interactions, function(int)parseBooleanFunction(int$expression)) }, error=function(e) { warning(paste("The transition functions of this network did not contain valid symbolic expressions!", "Generating DNF representations from the truth tables!")) # There was an error parsing a string representation => generate DNFs generateDNFs <<- TRUE }) } if (generateDNFs != FALSE) # build new representations of the functions in disjunctive normal form { network$interactions <- lapply(network$interactions, function(interaction) { table <- allcombn(2, length(interaction$input)) - 1 interaction$expression <- getDNF(interaction$func, network$genes[interaction$input], generateDNFs) return(interaction) }) # parse the DNF representations parseTrees <- lapply(network$interactions, function(int)parseBooleanFunction(int$expression)) } names(parseTrees) <- network$genes } # generate a network identifier from the file name id <- sub(".sbml", "", basename(file), fixed=TRUE) id <- gsub("[^a-zA-Z0-9_]+","_",id) # open a string connection output <- NULL f <- textConnection("output", encoding="UTF-8", open="w", local=TRUE) # write document header cat(file=f, "\n") cat(file=f, "\n") cat(file=f, "\t\n", sep="") # write default compartment cat(file=f, "\t\t\n") cat(file=f, "\t\t\t\n") cat(file=f, "\t\t\n") # write genes cat(file=f, "\t\t\n") for (gene in network$genes) { if ((saveFixed && network$fixed[gene] != -1) || (!symbolic && network$interactions[[gene]]$input[1] == 0)) { if (saveFixed && network$fixed[gene] != -1) level <- network$fixed[gene] else level <- network$interactions[[gene]]$func[1] cat(file=f, "\t\t\t\n", sep="") } else cat(file=f, "\t\t\t\n", sep="") } cat(file=f, "\t\t\n") # write transition functions cat(file=f, "\t\t\n") for (gene in network$genes) { if ((!saveFixed || network$fixed[[gene]] == -1) && (symbolic || network$interactions[[gene]]$input[1] != 0)) { cat(file=f, "\t\t\t\n", sep="") cat(file=f, "\t\t\t\t\n") if (symbolic) inputs <- getInputs(network$interactions[[gene]]) else inputs <- network$genes[network$interactions[[gene]]$input] for (input in inputs) cat(file=f, "\t\t\t\t\t\n", sep="") cat(file=f, "\t\t\t\t\n") cat(file=f, "\t\t\t\t\n") cat(file=f, "\t\t\t\t\t\n", sep="") cat(file=f, "\t\t\t\t\n") cat(file=f, "\t\t\t\t\n") cat(file=f, "\t\t\t\t\t\n") cat(file=f, "\t\t\t\t\t\t\n") parseTree <- parseTrees[[gene]] cat(file=f, MathMLFromParseTree(parseTree, indentLevel=7)) cat(file=f, "\t\t\t\t\t\t\n") cat(file=f, "\t\t\t\t\t\n") cat(file=f, "\t\t\t\t\t\n") cat(file=f, "\t\t\t\t\n") cat(file=f, "\t\t\t\n") } } # finish document cat(file=f, "\t\t\n") cat(file=f, "\t\n") cat(file=f, "\n") close(f) # open file and write the complete XML string f <- file(file, encoding="UTF-8", open="w") cat(file=f,output,sep="\n") close(f) } # Build a MathML representation of a parse tree # that represents a symbolic Boolean expression. # Indentation of the XML nodes starts with . # Returns a string with MathML code. MathMLFromParseTree <- function(tree,indentLevel=0) { res <- switch(tree$type, operator = { if (tree$operator %in% c("timeis","timegt","timelt")) stop(sprintf("Operator \"%s\" not supported in SBML!", tree$operator)); if (tree$operator %in% c("maj","sumis","sumlt","sumgt")) # convert special predicates to general Boolean formulae tree <- expandCountPredicate(tree) if (tree$negated) paste(indent("\n", indentLevel), indent("\n", indentLevel+1), indent("\n" ,indentLevel+1), indent({if (tree$operator=="|" || tree$operator=="any") {"\n"} else{"\n"}}, indentLevel+2), paste(sapply(tree$operands,MathMLFromParseTree, indentLevel+2), collapse=""), indent("\n", indentLevel+1), indent("\n", indentLevel), sep="") else paste(indent("\n", indentLevel), indent({if (tree$operator=="|" || tree$operator=="any") {"\n"} else{"\n"}}, indentLevel+1), paste(sapply(tree$operands, MathMLFromParseTree, indentLevel+1), collapse=""), indent("\n", indentLevel), sep="") }, atom = { if ((tree$name == "0" && !tree$negated) || (tree$name == "1" && tree$negated)) indent("0\n", indentLevel) else if ((tree$name == "1" && !tree$negated) || (tree$name == "0" && tree$negated)) indent("1\n", indentLevel) else paste(indent("\n",indentLevel), indent("\n", indentLevel+1), indent(paste("",tree$name,"\n",sep=""),indentLevel+1), indent(paste("", {if (tree$negated) 0 else 1}, "\n", sep=""), indentLevel+1), indent("\n",indentLevel), sep="") }) return(res) } BoolNet/R/scanStatistic.R0000644000176200001440000000722712732246464014776 0ustar liggesusers# determination of P(k,N,w) pval <- function(k,N,w) { return((k/w-N-1)*b(k,N,w)+2*Gb(k,N,w)) } # helper function b<-function(k,N,w) { return(choose(N,k)*w^k*(1-w)^(N-k)) } # helper function Gb<-function(k,N,w) { sum<-0 for(i in k:N) { sum <- sum + b(i,N,w) } return(sum) } # If two significant overlapping windows were found, these windows are # merged. If the windows do not overlap, two different windows are stored # in a list listadapt <- function(lcur,lnew) { if(length(lcur)==0) { lcur=lnew return(lcur) } else { if(lnew[[1]][1]<=lcur[[length(lcur)]][2]) { lcur[[length(lcur)]][2]<-lnew[[1]][2] if(lcur[[length(lcur)]][3]>lnew[[1]][3]) { lcur[[length(lcur)]][3] <- lnew[[1]][3] } return(lcur) } else { lcur<-append(lcur,lnew) return(lcur) } } } # This method searches for data accumulations by shifting a window with # window size across the data and deciding at each position if there # is a data accumulation. To test this, a scan statistic with significance # level is used. scanStatistic <- function(vect, w=0.25, sign.level=0.1) { temp<-vect vect <-unlist(vect) vsort <- sort(vect) N <- length(vect) range <- (max(vect)) - (min(vect)) windowsize <- range*w N <- length(vect) binarizeddata<-temp res<-list() lcur<-list() # shift a fixed window over the data # the window is moved from point to point for(i in seq_along(vect)) { start <- vsort[i] stop <- vsort[i] + windowsize k <- length(vect[(vect >= start) & (vect <= stop)]) p <- pval(k,N,w) if(p>1) { p=0.99 } if(p<=sign.level & p>0 & k >= (N*w-1) & k > 2) { res <- listadapt(res,list(c(start,stop,p))) } } # if no accumulation for a fixed was found, the # binarization is rejected, and we search for a accumulation # with a higher sign.level. if(length(res)==0) { while(TRUE) { sign.level=sign.level+0.05 if(sign.level>2) { binarizeddata<-(sapply(vect,function(x) 0)) return(list(bindata=binarizeddata,thresholds=NA,reject=TRUE)) } for(i in seq_along(vect)) { start <- vsort[i] stop <- vsort[i] + windowsize k <- length(vect[(vect >= start) & (vect <= stop)]) p <- pval(k,N,w) if(p>1) { p=0.99 } if(p<=sign.level & p>0 & k >= (N*w-1) & k > 2) { #res <- append(res,list(c(start=start,stop=stop,pval=p))) res <- listadapt(res,list(c(start,stop,p))) } } if(length(res)!=0) break } reject<-TRUE } else { reject<-FALSE } # search the window with the smallest sign.level. # this window is used for the binarization min=1000 ind=0 for(i in seq_along(res)) { if(res[[i]][3] res[[ind]][2]]) smaller <- length(vect[vect < res[[ind]][1]]) if(bigger > smaller) { threshold<-res[[ind]][2] small<-tail(vsort[vsort<=threshold],n=1) big<-vsort[vsort>threshold][1] thres<-(big+small)/2 for(i in seq_along(vect)) { if(vect[i]<=threshold) { binarizeddata[i]<-0 } else { binarizeddata[i]<-1 } } } else { threshold<-res[[ind]][1] small<-tail(vsort[vsort=threshold][1] thres<-(big+small)/2 for(i in seq_along(vect)) { if(vect[i]>=threshold) { binarizeddata[i]<-1 } else { binarizeddata[i]<-0 } } } return(list(bindata=binarizeddata,thresholds=as.numeric(thres),reject=reject)) } BoolNet/R/fixGenes.R0000644000176200001440000000157412732246464013731 0ustar liggesusers# Sets the genes in to the values in # and returns the customized copy of fixGenes <- function(network,fixIndices,values) { stopifnot(inherits(network,"BooleanNetwork") | inherits(network,"SymbolicBooleanNetwork") | inherits(network,"ProbabilisticBooleanNetwork")) if (length(fixIndices) != length(values) && length(values) != 1) stop("fixIndices and values must have the same number of elements, or values must have 1 element!") if (any(is.na(network$fixed[fixIndices]))) stop("fixIndices contains invalid indices!") if (any(values != 0 & values != 1 & values != -1)) stop("Please supply only 0, 1, or -1 in values!") network$fixed[fixIndices] <- as.integer(values) if (inherits(network,"SymbolicBooleanNetwork")) network$internalStructs = .Call("constructNetworkTrees_R",network); return(network) } BoolNet/R/loadNetwork.R0000644000176200001440000001551412732246464014451 0ustar liggesusers# Load a network in a specified rule description language # from file . # is the character that separates targets and factors # specifies whether gene names are converted to lower case loadNetwork <- function(file, bodySeparator=",", lowercaseGenes=FALSE, symbolic=FALSE) { func <- readLines(file,-1) # strip comments func <- gsub("#.*", "", trim(func)) func <- func[nchar(func) > 0] # check header if (length(func) == 0) stop("Header expected!") header <- func[1] header <- tolower(trim(strsplit(header, bodySeparator)[[1]])) if (length(header) < 2 || header[1] != "targets" || !(header[2] %in% c("functions","factors")) || (length(header) == 3 && header[3] != "probabilities")) stop(paste("Invalid header:", func[1])) func <- func[-1] if (lowercaseGenes) func <- tolower(func) # Replace all invalid characters to be able to load most networks func <- gsub("[^\\[\\]a-zA-Z0-9_\\|\\&!\\(\\) \t\\-+=.,]+","_", func, perl=TRUE) tmp <- unname(lapply(func,function(x) # split strings at separators that are NOT # inside a bracket block { bracketCount <- 0 lastIdx <- 1 chars <- strsplit(x,split="")[[1]] res <- c() if (length(chars) > 0) { for (i in seq_along(chars)) { if (chars[i] == "(") bracketCount <- bracketCount + 1 else if (chars[i] == ")") bracketCount <- bracketCount -1 else if (chars[i] == bodySeparator && bracketCount == 0) { res <- c(res, trim(paste(chars[lastIdx:(i-1)],collapse=""))) lastIdx <- i + 1 } } res <- c(res, trim(paste(chars[lastIdx:length(chars)],collapse=""))) } return(res) })) targets <- sapply(tmp,function(rule)trim(rule[1])) for (target in targets) { if (regexec("^[a-zA-Z_][a-zA-Z0-9_]*$", target)[[1]] == -1) stop(paste("Invalid gene name:",target)) } factors <- sapply(tmp,function(rule)trim(rule[2])) temporal <- length(grep("timeis|timelt|timegt|\\[|\\]", factors, ignore.case=TRUE) > 0) if (temporal && !symbolic) { warning("The network contains temporal elements. This requires loading the model with symbolic=TRUE!") symbolic <- TRUE } probabilities <- sapply(tmp,function(rule) { if (length(rule) >= 3) as.numeric(trim(rule[3])) else 1.0 }) factors.tmp <- lapply(factors,matchNames) # create list of all gene names in both sides of the functions genes <- unique(c(targets,unname(unlist(factors.tmp)))) isProbabilistic <- (length(unique(targets)) < length(targets)) if (symbolic) { if (isProbabilistic) stop("Probabilistic networks cannot be loaded with symbolic=TRUE!") interactions <- lapply(factors, function(rule)parseBooleanFunction(rule, genes)) onlyInputs <- setdiff(genes,targets) if(length(onlyInputs) > 0) # some genes are only used as inputs, but are not involved in the network # -> create dummy input and function { for(gene in onlyInputs) { warning(paste("There is no transition function for gene \"", gene,"\"! Assuming an input!",sep="")) interactions[[gene]] = parseBooleanFunction(gene, genes) } } delays <- apply(sapply(interactions,maxTimeDelay,genes=genes),1,max) names(interactions) <- genes fixed <- as.integer(sapply(interactions, function(int) { if (int$type == "constant") int$value else -1L })) names(fixed) <- genes res <- list(genes = genes, interactions=interactions, fixed=fixed) res$internalStructs <- .Call("constructNetworkTrees_R",res) res$timeDelays <- delays class(res) <- "SymbolicBooleanNetwork" return(res) } else { # extract "real" gene names from the list, drop constants #suppressWarnings(genes <- genes[is.na(as.integer(genes))]) fixed <- rep(-1,length(genes)) names(fixed) <- genes interactions <- list() for(i in seq_along(targets)) { target <- targets[i] interaction <- generateInteraction(factors[i], genes); if (isProbabilistic) { interaction$probability <- probabilities[i] interactions[[target]][[length(interactions[[target]]) + 1]] <- interaction } else { if (length(interaction$func) == 1) # this is a constant gene => fix it { fixed[target] <- interaction$func } interactions[[target]] <- interaction } } onlyInputs <- setdiff(genes,targets) if(length(onlyInputs) > 0) # some genes are only used as inputs, but are not involved in the network # -> create dummy input and function { for(gene in onlyInputs) { warning(paste("There is no transition function for gene \"", gene,"\"! Assuming an input!",sep="")) if (isProbabilistic) interactions[[gene]][[1]] = list(input = length(interactions)+1,func=c(0,1), expression = gene, probability=1.0) else interactions[[gene]] = list(input = length(interactions)+1,func=c(0,1), expression = gene) } } if (isProbabilistic) { wrongProb <- sapply(interactions,function(interaction) { abs(1.0-sum(sapply(interaction,function(func)func$probability))) > 0.0001 }) if (any(wrongProb)) stop(paste("The probabilities of gene(s) ",paste(genes[wrongProb],collapse=", ")," do not sum up to 1!",sep="")) } res <- list(interactions = interactions, genes = genes, fixed = fixed) if (isProbabilistic) class(res) <- "ProbabilisticBooleanNetwork" else class(res) <- "BooleanNetwork" return(res) } } matchNames <- function(rule) { regexpr <- "([_a-zA-Z][_a-zA-Z0-9]*)[,| |\\)|\\||\\&|\\[]" rule <- paste(gsub(" ", "", rule, fixed=TRUE)," ",sep="") res <- unique(unname(sapply(regmatches(rule,gregexpr(regexpr, rule))[[1]], function(m) { sapply(regmatches(m,regexec(regexpr,m)),function(x)x[2]) }))) # remove operators isOp <- sapply(res, function(x) { tolower(x) %in% c("all", "any", "sumis", "sumgt", "sumlt", "maj", "timegt", "timelt", "timeis") }) return(res[!isOp]) } BoolNet/R/print.AttractorInfo.R0000644000176200001440000000447612732246464016077 0ustar liggesusers# Custom print function for class AttractorInfo print.AttractorInfo <- function(x, activeOnly = FALSE, ...) { numGenes <- length(x$stateInfo$genes) attractors <- x$attractors for (i in seq_along(attractors)) { if (is.null(attractors[[i]]$initialStates)) # simple attractor { printSynchronousAttractor(getAttractorSequence(x, i), i, attractors[[i]]$basinSize, activeOnly=activeOnly) } else { # print general information on the attractor cat("Attractor ",i," is a complex/loose attractor consisting of ",ncol(attractors[[i]]$involvedStates), " state(s) and ",ncol(attractors[[i]]$initialStates), " transition(s)",sep="") if (activeOnly) { cat(".\nActive genes in the state transitions: \n") initialStates <- t(apply(attractors[[i]]$initialStates,2,function(state) dec2bin(state,numGenes))) nextStates <- t(apply(attractors[[i]]$nextStates,2,function(state) dec2bin(state,numGenes))) binMatrix <- data.frame(initialStates,nextStates) apply(binMatrix,1,function(row) { state1 <- paste(x$stateInfo$genes[which(row[seq_len(numGenes)] == 1)],collapse=", ") if (state1 == "") state1 <- "--" state2 <- paste(x$stateInfo$genes[which(row[seq_len(numGenes) + numGenes] == 1)],collapse=", ") if (state2 == "") state2 <- "--" cat(state1," => ",state2,"\n",sep="") }) } else { cat(":\n\n") initialStates <- apply(attractors[[i]]$initialStates,2,function(state) paste(dec2bin(state,numGenes),collapse="")) nextStates <- apply(attractors[[i]]$nextStates,2,function(state) paste(dec2bin(state,numGenes),collapse="")) binMatrix <- data.frame(initialStates,nextStates) apply(binMatrix,1,function(row) { cat(row[1]," => ",row[2],"\n",sep="") }) cat("\nGenes are encoded in the following order: ",paste(x$stateInfo$genes,collapse=" "),"\n\n",sep="") } } } return(invisible(x)) } BoolNet/R/plotAttractors.R0000644000176200001440000002143412733233767015206 0ustar liggesusers# Plot state tables of all attractors in . # Genes are grouped according to . # An additional title can be supplied in . # If <plotFixed> is set, fixed variables are included in the plot. # <onColor> and <offColor> specify the colors of ON/1 and OFF/0 states. # TODO: remove old definition from comments #plotAttractors <- function (attractorInfo, subset, title = "", mode=c("table","graph"), # grouping = list(), plotFixed = TRUE, onColor="green",offColor="red", # layout=layout.circle, drawLabels=TRUE, drawLegend=TRUE, ask=TRUE, # reverse=FALSE, ...) #{} plotAttractors <- function (attractorInfo, subset, title = "", mode = c("table", "graph"), grouping = list(), plotFixed = TRUE, onColor = "#4daf4a", offColor = "#e41a1c", layout = layout.circle, drawLabels = TRUE, drawLegend = TRUE, ask = TRUE, reverse = FALSE, # new parameters borderColor = "black", eps = 0.1, allInOnePlot = FALSE, ...) { stopifnot(inherits(attractorInfo, "AttractorInfo") || inherits(attractorInfo, "SymbolicSimulation")) if (inherits(attractorInfo, "AttractorInfo")) { numGenes <- length(attractorInfo$stateInfo$genes) geneNames <- attractorInfo$stateInfo$genes } else { numGenes <- ncol(attractorInfo$attractors[[1]]) geneNames <- colnames(attractorInfo$attractors[[1]]) } if (missing(subset)) subset <- seq_along(attractorInfo$attractors) else if (any(subset > length(attractorInfo$attractors))) stop("You specified an attractor index that is greater than the total number of attractors in 'subset'!") res <- switch(match.arg(mode, c("table", "graph")), table = { whichFixed <- which(attractorInfo$stateInfo$fixedGenes != -1) if (plotFixed | (length(whichFixed) == 0)) { plotIndices <- seq_len(numGenes) } else { plotIndices <- seq_len(numGenes)[-whichFixed] } if (inherits(attractorInfo, "AttractorInfo")) { binMatrices <- lapply(attractorInfo$attractors, function(attractor) { res <- matrix(apply(attractor$involvedStates, 2, function(state) dec2bin(state, numGenes)[plotIndices]), nrow = length(plotIndices)) }) attractorLengths <- sapply(attractorInfo$attractors, function(attractor) { ifelse (is.null(attractor$initialStates), ncol(attractor$involvedStates), -1) }) } else { binMatrices <- lapply(attractorInfo$attractors, t) attractorLengths <- sapply(binMatrices, ncol) } lengthTable <- table(attractorLengths) lengthTable <- lengthTable[as.integer(names(lengthTable)) != -1] oldAsk <- par("ask") oldmfrow <- NULL if (allInOnePlot) { oldmfrow <- par()$mfrow #par(mfrow=c(1,length(table(sapply(sapply(attractorInfo$attractors, "[[", "involvedStates", simplify=F), ncol))))) par(mfrow=c(1,length(lengthTable))) } res <- lapply(seq_along(lengthTable), function(i) { len <- as.integer(names(lengthTable)[i]) attractorIndices <- intersect(which(attractorLengths == len), subset) if (length(attractorIndices) > 0) { cnt <- length(attractorIndices) totalMatrix <- c() for (mat in binMatrices[attractorIndices]) { totalMatrix <- cbind(totalMatrix, mat) } rownames(totalMatrix) <- geneNames[plotIndices] colnames(totalMatrix) <- sapply(attractorIndices, function(i) paste("Attr", i, ".", seq_len(len), sep = "")) if (length(grouping) > 0) totalMatrix <- totalMatrix[unlist(grouping$index), , drop = FALSE] par(ask = ask && i > 1 && dev.interactive()) if (reverse) { plot(c(), c(), xlim = c(0, len *cnt), ylim = c(-2, nrow(totalMatrix) + 1), xlab = "", ylab = "", axes = FALSE, main = paste(title, "\nAttractors with ", len, " state(s)", sep = "")) } else { plot(c(), c(), xlim = c(0, len * cnt), ylim = c(nrow(totalMatrix) + 1, -2), xlab = "", ylab = "", axes = FALSE, main = paste(title, "\nAttractors with ", len," state(s)", sep = "")) } #rect(par("usr")[1], par("usr")[3], par("usr")[2], par("usr")[4], col = "grey") axis(2, seq_len(nrow(totalMatrix)) - 0.5, rownames(totalMatrix), yaxt = "s", las = 2) xStart <- 1 unitFactor <- (len - (2 * eps))/len startX <- eps for (i in seq_len(ncol(totalMatrix))) { for (j in seq_len(nrow(totalMatrix))) { rectCol <- ifelse(totalMatrix[j, i], onColor, offColor) rect(startX, j - 1, startX + unitFactor, j, col = rectCol, border = borderColor, lwd = 2) } startX <- startX + unitFactor if (i %% len == 0) { startX <- startX + 2*eps } } sep = seq(0, ncol(totalMatrix), by = len) #abline(v = sep[-1], col = par()$bg, lwd = 3) if (inherits(attractorInfo, "AttractorInfo")) { if (is.null(attractorInfo$stateInfo$table)) { freq <- rep(NA, length(attractorIndices)) } else { freq <- round(100 * sapply(attractorInfo$attractors[attractorIndices], function(attractor) { attractor$basinSize/ncol(attractorInfo$stateInfo$table)}), 2) } } else { if (!is.null(attractorInfo$graph)) { freq <- round(sapply(attractorIndices, function(i) sum(attractorInfo$graph$attractorAssignment == i)/nrow(attractorInfo$graph)) * 100, 2) } else { freq <- rep(NA, length(attractorIndices)) } } if (!isTRUE(all(is.na(freq)))) { text(sep[seq_along(sep) - 1] + len/2, ifelse(reverse, -nrow(totalMatrix)-1.5, 1) + rep(1 + nrow(totalMatrix), ncol(totalMatrix)), paste(freq, "%", sep = ""), cex = 0.75, font = 3) } if (length(grouping) > 0) { if(!is.null(grouping$class)) { sepPos = cumsum(sapply(grouping$index, length)) abline(h = sepPos[-length(sepPos)], col = "black", lwd = 3) text(ncol(totalMatrix)/2, sepPos - 0.5, grouping$class, cex = 0.9) } } #if (drawLegend) legend(x = "bottomright", pch = c(15, 15), col = c(onColor, offColor), legend = c("active", "inactive"), cex = 0.7, horiz = T, xpd = T) if (drawLegend) legend(x = 0, y = ifelse(reverse, -nrow(totalMatrix)-1, 2) + nrow(totalMatrix), pch = c(15, 15), col = c(onColor, offColor), legend = c("active", "inactive"), cex = 0.7, horiz = T, xpd=T) totalMatrix } }) par(ask = oldAsk) if(!is.null(oldmfrow)) par(mfrow = oldmfrow) names(res) <- names(lengthTable) return(res) }, graph = { args <- list(...) if (is.null(args$vertex.size)) args$vertex.size <- 2 if (is.null(args$edge.arrow.mode)) args$edge.arrow.mode <- 0 if (is.null(args$vertex.label.cex)) args$vertex.label.cex <- 0.75 if (is.null(args$vertex.label.dist)) args$vertex.label.dist <- 1 if (is.null(args$vertex.color)) args$vertex.color <- "grey" if (is.null(args$edge.arrow.size)) args$edge.arrow.size <- 0.5 lapply(attractorInfo$attractors[subset], function(attractor) { if (inherits(attractorInfo, "AttractorInfo")) { nodes <- data.frame(apply(attractor$involvedStates, 2, function(state) paste(dec2bin(state, numGenes), collapse = "")), stringsAsFactors = FALSE) if (!is.null(attractor$initialStates)) { initialStates <- apply(attractor$initialStates, 2, function(state) paste(dec2bin(state, numGenes), collapse = "")) nextStates <- apply(attractor$nextStates, 2, function(state) paste(dec2bin(state, numGenes), collapse = "")) } else { initialStates <- apply(attractor$involvedStates, 2, function(state) paste(dec2bin(state, numGenes), collapse = "")) if (length(initialStates) == 1) nextStates <- initialStates else nextStates <- initialStates[c(2:length(initialStates), 1)] } } else { initialStates <- apply(attractor, 1, paste, collapse = "") nextStates <- apply(attractor[c(2:nrow(attractor), 1), , drop = FALSE], 1, paste, collapse = "") nodes <- data.frame(unique(c(initialStates, nextStates)), stringsAsFactors = FALSE) } edgeMatrix <- data.frame(initialStates, nextStates) graph <- graph.data.frame(edgeMatrix, vertices = nodes, directed = TRUE) if (drawLabels) labels <- nodes[, 1] else labels <- NA args$layout <- layout args$x <- graph args$vertex.label <- labels args$main <- title do.call("plot", args) graph }) }) } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/R/sequenceToLaTeX.R�������������������������������������������������������������������������0000644�0001762�0000144�00000010113�12732246464�015157� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ sequenceToLaTeX <- function(network, startState, includeAttractorStates = c("all","first","none"), sequence, title="", grouping = list(), plotFixed = TRUE, onColor="[gray]{0.9}",offColor="[gray]{0.6}", highlightAttractor=TRUE, reverse=FALSE, file="sequence.tex") { if (!missing(network)) { stopifnot(inherits(network,"BooleanNetwork") || inherits(network,"SymbolicBooleanNetwork")) if (missing(startState) || !missing(sequence)) stop("Either \"network\" and \"startState\" or \"sequence\" must be provided!") sequence <- getPathToAttractor(network = network, state = startState, includeAttractorStates = includeAttractorStates) numGenes <- length(network$genes) whichFixed <- which(network$fixed != -1) if (plotFixed | (length(whichFixed) == 0)) plotIndices <- seq_len(numGenes) else plotIndices <- seq_len(numGenes)[-whichFixed] attractor <- attributes(sequence)$attractor sequence <- sequence[,plotIndices] attributes(sequence)$attractor <- attractor } else { if (missing(sequence) || !missing(startState)) stop("Either \"network\" and \"startState\" or \"sequence\" must be provided!") attractor <- attributes(sequence)$attractor } # escape "_" in LaTeX genes = gsub("_", "\\_", colnames(sequence)) # determine list of genes to be plotted # Open output file, and print header sink(file) cat("% Please include packages tabularx and colortbl in your master document:\n", "% \\usepackage{tabularx,colortbl}\n\n\n",sep="") totalMatrix <- t(sequence) colnames(totalMatrix) <- seq_len(ncol(totalMatrix)) if(length(grouping)>0) { # reorder genes according to the supplied groups totalMatrix <- totalMatrix[unlist(grouping$index),] separationPositions <- c(1,cumsum(sapply(grouping$index,length)+1)) } else separationPositions <- c() if (highlightAttractor && !is.null(attractor)) { header <- paste(paste(rep(">{\\centering\\arraybackslash}X", min(attractor) - 1), collapse = " "), "|", paste(rep(">{\\centering\\arraybackslash}X", length(attractor)), collapse = " "), "|", sep="") } else header <- paste(rep(">{\\centering\\arraybackslash}X", ncol(totalMatrix), collapse = " ")) # output table header cat("\\begin{table}[ht]\n", "\\begin{center}\n", "\\caption{",title,"}\n", "\\begin{tabularx}{\\linewidth}{l", header, "}\\hline\n", sep="") cat("\\textbf{Time}\t&\t",paste(seq_len(ncol(totalMatrix)),collapse="\t&\t"),"\\\\") if(length(grouping) == 0) cat("\\hline\n") else cat("\n") # output active and inactive states if (reverse) indices <- rev(seq_len(nrow(totalMatrix))) else indices <- seq_len(nrow(totalMatrix)) for(j in indices) { separator <- which(separationPositions==j) if (length(separator) != 0) { cat("\\hline \\multicolumn{",ncol(totalMatrix) + 1, "}{c}{",grouping$class[separator],"}\\\\ \\hline \n",sep="") } cat("\\textbf{",rownames(totalMatrix)[j],"}\t&\t",sep="") for(i in seq_len(ncol(totalMatrix))) { if(totalMatrix[j,i] == 1) cat("\\cellcolor",onColor,"1",sep="") else cat("\\cellcolor",offColor,"0",sep="") if (i < ncol(totalMatrix)) cat("\t&\t") } cat("\\\\\n") } cat("\\hline") if (highlightAttractor && !is.null(attractor)) { cat("\\multicolumn{",min(attractor), "}{c|}{}\t&\t\\multicolumn{",length(attractor), "}{c|}{Attractor}\\\\\\cline{",min(attractor) + 1, "-", max(attractor) + 1, "}\n",sep="") } cat("\\end{tabularx}\n\\end{center}\n", "\\end{table}\n\n",sep="") sink() # return the matrix return(totalMatrix) } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/R/saveNetwork.R�����������������������������������������������������������������������������0000644�0001762�0000144�00000011235�12732246464�014464� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ # Save <network> to <file> in the BoolNet file format. # If <generateDNFs> is true or a mode of getDNF(), # a new symbolic representation for the interactions # is generated on the basis of the truth tables (in disjunctive normal form). # If <generateDNFs> is false, the $expression elements of the interactions are exported. # If <saveFixed> is true, constant transition functions are exported for fixed genes # instead of their true transition functions saveNetwork <- function(network, file, generateDNFs = FALSE, saveFixed = TRUE) { stopifnot(inherits(network,"BooleanNetwork") || inherits(network,"SymbolicBooleanNetwork") || inherits(network,"ProbabilisticBooleanNetwork")) expressions <- NULL if (inherits(network,"BooleanNetwork")) { if (generateDNFs == FALSE) # Check whether all interactions have suitable string representations { tryCatch( { # parse the string representations lapply(network$interactions, function(int)parseBooleanFunction(int$expression)) }, error=function(e) { warning(paste("The transition functions of this network did not contain valid symbolic expressions!", "Generating DNF representations from the truth tables!")) # There was an error parsing a string representation => generate DNFs generateDNFs <<- TRUE }) } if (generateDNFs != FALSE) { expressions <- mapply(function(interaction, gene, fixed) { if (!saveFixed || fixed == -1) { table <- allcombn(2, length(interaction$input)) - 1 expression <- getDNF(interaction$func, network$genes[interaction$input], generateDNFs) return(paste(gene, ", ", expression, sep="")) } else return(paste(gene, ", ", fixed, sep="")) }, network$interactions, network$genes, network$fixed) } else { expressions <- mapply(function(interaction, gene, fixed) { if (!saveFixed || fixed == -1) return(paste(gene, ", ", interaction$expression, sep="")) else return(paste(gene, ", ", fixed, sep="")) }, network$interactions, network$genes, network$fixed) } sink(file) cat("targets, factors\n") } else if (inherits(network,"SymbolicBooleanNetwork")) { expressions <- mapply(function(interaction, gene, fixed) { if (!saveFixed || fixed == -1) return(paste(gene, ", ", stringFromParseTree(interaction), sep="")) else return(paste(gene, ", ", fixed, sep="")) }, network$interactions, network$genes, network$fixed) sink(file) cat("targets, factors\n") } else { if (generateDNFs == FALSE) # Check whether all interactions have suitable string representations { tryCatch( { # parse the string representations lapply(network$interactions, function(int)lapply(int, function(func)parseBooleanFunction(func$expression))) }, error=function(e) { warning(paste("The transition functions of this network did not contain valid symbolic expressions!", "Generating DNF representations from the truth tables!")) # There was an error parsing a string representation => generate DNFs generateDNFs <<- TRUE }) } if (generateDNFs != FALSE) { expressions <- mapply(function(interaction, gene, fixed) { if (!saveFixed || fixed == -1) { lapply(interaction, function(func) { table <- allcombn(2, length(func$input)) - 1 expression <- getDNF(func$func, network$genes[func$input], generateDNFs) return(paste(gene, ", ", expression, ", ", func$probability, sep="")) }) } else return(paste(gene, ", ", fixed, ", 1", sep="")) }, network$interactions, network$genes, network$fixed) } else { expressions <- mapply(function(interaction, gene, fixed) { if (!saveFixed || fixed == -1) { lapply(interaction, function(func) { return(paste(gene, ", ", func$expression, ", ", func$probability, sep="")) }) } else return(paste(gene, ", ", fixed, ", 1", sep="")) }, network$interactions, network$genes, network$fixed) } expressions <- unlist(expressions) sink(file) cat("targets, factors, probabilities\n") } cat(paste(expressions, collapse="\n"),"\n",sep="") sink() } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/R/perturbTrajectories.R���������������������������������������������������������������������0000644�0001762�0000144�00000014530�12732246464�016217� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ perturbTrajectories <- function(network, measure = c("hamming", "sensitivity", "attractor"), numSamples = 1000, flipBits = 1, updateType = c("synchronous","asynchronous","probabilistic"), gene, ...) { symbolic <- inherits(network,"SymbolicBooleanNetwork") probabilistic <- inherits(network,"ProbabilisticBooleanNetwork") stopifnot(inherits(network,"BooleanNetwork") || symbolic || probabilistic) measure <- match.arg(measure, c("hamming", "sensitivity", "attractor")) if (probabilistic && measure != "hamming") stop("Probabilistic networks are only supported for measure=\"hamming\"!") fixedIdx <- which(network$fixed != -1) nonFixedIdx <- which(network$fixed == -1) if (symbolic) { maxDelay <- max(network$timeDelays) flipIndices <- unlist(mapply(function(x, i) { if (network$fixed[i] == -1) seq_len(x) + (i - 1) * maxDelay else c() }, network$timeDelays, seq_along(network$genes))) startStates <- lapply(seq_len(numSamples), function(i) { m <- matrix(nrow=maxDelay, ncol=length(network$genes), round(runif(n=maxDelay*length(network$genes)))) m[,fixedIdx] <- network$fixed[fixedIdx] m }) } else { flipIndices <- seq_along(network$genes)[nonFixedIdx] startStates <- lapply(seq_len(numSamples), function(i) { s <- round(runif(n=length(network$genes))) s[fixedIdx] <- network$fixed[fixedIdx] s }) } if (length(flipIndices) == 0) stop("All genes in this network are fixed!") perturbedStates <- lapply(startStates, function(state) { flip <- sample(flipIndices, size=flipBits, replace=FALSE) state[flip] <- 1 - state[flip] return(state) }) if (measure == "hamming") { dists <- mapply(function(state1, state2) { sum(stateTransition(network=network, state=state1, type=updateType, ...) != stateTransition(network=network, state=state2, type=updateType, ...)) }, startStates, perturbedStates)/length(network$genes) return(list(stat=dists, value=mean(dists))) } else if (measure == "sensitivity") { if (missing(gene)) stop("Parameter \"gene\" must be set for sensitivity analysis!") if (is.character(gene)) geneIdx <- which(network$genes == gene) else geneIdx <- gene if (length(geneIdx) == 0) stop(paste("Unknown gene \"", gene, "\"!", sep="")) sensitivities <- unname(mapply(function(state1, state2) { stateTransition(network=network, state=state1, chosenGene = geneIdx, ...)[geneIdx] != stateTransition(network=network, state=state2, chosenGene = geneIdx, ...)[geneIdx] }, startStates, perturbedStates)) return(list(stat=sensitivities, value=mean(sensitivities))) } else { if (symbolic) { att1 <- simulateSymbolicModel(network, startStates=startStates, returnGraph=FALSE, canonical=TRUE, ...) att2 <- simulateSymbolicModel(network, startStates=perturbedStates, returnGraph=FALSE, canonical=TRUE, ...) attractorAssignment1 <- att1$attractorAssignment attractorAssignment2 <- att2$attractorAssignment } else { att1 <- getAttractors(network, startStates=startStates, returnTable=TRUE, canonical=TRUE, ...) att2 <- getAttractors(network, startStates=perturbedStates, returnTable=TRUE, canonical=TRUE, ...) tt1 <- getTransitionTable(att1) tt2 <- getTransitionTable(att2) attractorAssignment1 <- tt1$attractorAssignment attractorAssignment2 <- tt2$attractorAssignment names(attractorAssignment1) <- apply(tt1[,seq_along(network$genes)],1,paste,collapse="") names(attractorAssignment2) <- apply(tt2[,seq_along(network$genes)],1,paste,collapse="") attractorAssignment1 <- unname(attractorAssignment1[sapply(startStates,paste,collapse="")]) attractorAssignment2 <- unname(attractorAssignment2[sapply(perturbedStates,paste,collapse="")]) } attractorsEqual <- matrix(sapply(seq_along(att1$attractors), function(i1) { seq1 <- getAttractorSequence(att1, i1) sapply(seq_along(att2$attractors), function(i2) { seq2 <- getAttractorSequence(att2, i2) return(identical(seq1,seq2)) }) }), nrow=length(att1$attractors)) stat <- apply(cbind(attractorAssignment1, attractorAssignment2), 1, function(idx) { attractorsEqual[idx[1],idx[2]] }) return(list(stat=stat, value=mean(stat))) } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/R/stateTransition.R�������������������������������������������������������������������������0000644�0001762�0000144�00000014150�12732246464�015346� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������stateTransition <- function(network,state,type=c("synchronous","asynchronous","probabilistic"), geneProbabilities, chosenGene, chosenFunctions, timeStep=0) { stopifnot(inherits(network,"BooleanNetwork") | inherits(network,"SymbolicBooleanNetwork") | inherits(network,"ProbabilisticBooleanNetwork")) type <- match.arg(type, c("synchronous","asynchronous","probabilistic")) if (inherits(network,"SymbolicBooleanNetwork")) { if (type != "synchronous") stop("Only synchronous updates are allowed for symbolic networks!") if (!is.null(dim(state))) { if (ncol(state) != length(network$genes)) stop(paste("\"state\" must be either a vector with one value for each gene,", "or a matrix with the genes in the columns and multiple predecessor states in the rows!")) state <- as.integer(as.matrix(state[nrow(state):1,])) } else { if (!is.numeric(state) || length(state) != length(network$genes)) stop(paste("\"state\" must be either a vector with one value for each gene,", "or a matrix with the genes in the columns and multiple predecessor states in the rows!")) state <- as.integer(state) } if (is.null(network$internalStructs) || checkNullPointer(network$internalStructs)) # refresh internal tree representations if necessary network$internalStructs = .Call("constructNetworkTrees_R",network); on.exit(.C("freeAllMemory", PACKAGE = "BoolNet")) res <- .Call("symbolicStateTransition_R", network$internalStructs, state, as.integer(timeStep)) } else { if (length(state) != length(network$genes)) stop("The state must consist of exactly one value for each gene!") nonFixedIndices = (network$fixed == -1) res <- state if (inherits(network,"BooleanNetwork") & type == "probabilistic") type <- "synchronous" if (!inherits(network,"BooleanNetwork") & length(type) == 3) type <- "probabilistic" if (type == "probabilistic") { if (missing(chosenFunctions) || is.null(chosenFunctions)) { chosenFunctions <- sapply(network$interactions,function(gene) { distr <- c(0,cumsum(sapply(gene,function(func)func$probability))) r <- runif(n=1) idx <- 0 for (i in seq_along(gene)) { if (r > distr[i] & r <= distr[i+1]) { idx <- i break } } idx }) } else if (length(chosenFunctions) != length(network$genes)) stop("Please provide a function index for each gene!") res[nonFixedIndices] <- mapply(function(i,f) { if(network$interactions[[i]][[f]]$input[1] == 0) # this is a constant gene with no transition function return(network$interactions[[i]][[f]]$func[1]) input = state[network$interactions[[i]][[f]]$input] return(network$interactions[[i]][[f]]$func[bin2dec(rev(input),length(input)) + 1]) }, which(nonFixedIndices), chosenFunctions[nonFixedIndices]) } else { if (!inherits(network,"BooleanNetwork")) stop("Please choose type=\"probabilistic\" for a probabilistic Boolean network!") changeIndices <- switch(type, synchronous = which(nonFixedIndices), asynchronous = { if (missing(chosenGene) || is.null(chosenGene)) { if (missing(geneProbabilities) || is.null(geneProbabilities)) sample(which(nonFixedIndices),1) else { if (length(geneProbabilities) != length(network$genes)) stop("Please supply exactly one probability for each gene!") if (abs(1.0 - sum(geneProbabilities)) > 0.0001) stop("The supplied gene probabilities do not sum up to 1!") if (sum(geneProbabilities[nonFixedIndices]) < 0.0001) stop("There is no non-fixed gene with a probability greater than 0!") geneProbabilities[nonFixedIndices] <- geneProbabilities[nonFixedIndices]/sum(geneProbabilities[nonFixedIndices]) if (sum(nonFixedIndices) != length(network$genes)) geneProbabilities[!nonFixedIndices] <- 0 distr <- c(0,cumsum(geneProbabilities)) r <- runif(n=1) idx <- 0 for (i in seq_along(network$genes)) { if (r > distr[i] & r <= distr[i+1]) { idx <- i break } } idx } } else { if (is.character(chosenGene)) { chosenGeneIdx <- which(network$genes == chosenGene) if (length(chosenGeneIdx) == 0) stop(paste("Gene \"",chosenGene,"\" does not exist in the network!",sep="")) chosenGeneIdx } else chosenGene } }) res[changeIndices] <- sapply(changeIndices,function(i) { if(network$interactions[[i]]$input[1] == 0) # this is a constant gene with no transition function return(network$interactions[[i]]$func[1]) input = state[network$interactions[[i]]$input] return(network$interactions[[i]]$func[bin2dec(rev(input),length(input)) + 1]) }) } res[!nonFixedIndices] = network$fixed[!nonFixedIndices] } names(res) <- network$genes return(res) } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/R/binarizeTimeSeries.R����������������������������������������������������������������������0000644�0001762�0000144�00000017022�12732246464�015751� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Several binarization methods for time series. <measurements> is a list of matrices with the # genes in the rows, each specifying one time series. # If <method> is "kmeans", k-means binarization is used. # <nstart> and <iter.max> are the corresponding parameters for k-means. This clustering # is employed for binarization. # If <method> is "edgeDetector", an edge detector is used for binarization. # If <method> is "edgeDetector" and <edge> is "firstEdge", # the first "significant" edge in the sorted data is the threshold for the binarization. # If <edge> is "maxEdge", the algorithm searches for the edge with the highest gradient. # With the <scaling> factor, the size of the first edge can be adapted. # If <method> is "scanStatistic", a scan statistic is used to binarize the data # If <dropInsignificant> is true, insignificant genes (that are not recommended by the statistic) are removed. # Returns a list containing the binarized matrix list and (for k-means) a vector # of thresholds and (for scan statistic) a vector specifying genes to remove. binarizeTimeSeries <- function(measurements, method=c("kmeans","edgeDetector","scanStatistic"), nstart=100, iter.max=1000, edge=c("firstEdge","maxEdge"), scaling=1, windowSize=0.25, sign.level=0.1, dropInsignificant=FALSE) { if (!is.null(dim(measurements))) fullData <- measurements else # in case of list, paste all matrices before clustering { fullData <- measurements[[1]] for (m in measurements[-1]) { fullData <- cbind(fullData,m) } } #switch between the different methods switch(match.arg(method), kmeans={ cluster <- apply(fullData,1,function(gene) # cluster data using k-means { cl_res <- kmeans(gene, 2, nstart=nstart,iter.max=iter.max) if (cl_res$centers[1] > cl_res$centers[2]) # exchange clusters if necessary, so that smaller numbers # are binarized to 0, and larger numbers are binarized to 1 group <- abs(cl_res$cluster-2) else group <- cl_res$cluster-1 # calculate the binarization threshold threshold <- min(cl_res$centers) + dist(cl_res$centers)[1]/2 list(bin=group, threshold=threshold) }) if (is.null(dim(measurements))) # split up the collated binarized measurements into a list of matrices of the original size { startIndex <- 0 binarizedTimeSeries <- lapply(measurements,function(m) { currentSplit <- (startIndex+1):(startIndex+ncol(m)) startIndex <<- startIndex + ncol(m) t(sapply(cluster,function(cl) cl$bin[currentSplit])) }) } else { binarizedTimeSeries <- t(sapply(cluster,function(cl) cl$bin)) } #colnames(binarizedTimeSeries)<-colnames(fullData) return(list(binarizedMeasurements=binarizedTimeSeries, thresholds=sapply(cluster,function(cl)cl$threshold))) }, edgeDetector={ #switch between the different edgedetectors switch(match.arg(edge), firstEdge={ cluster <- apply(fullData,1,function(gene) # cluster data using edgedetector { cl_res <- edgeDetector(gene,scaling,edge="firstEdge") list(bin=cl_res$bindata,thresholds=cl_res$thresholds) }) if (is.null(dim(measurements))) # split up the collated binarized measurements into a list of matrices of the original size { startIndex <- 0 binarizedTimeSeries <- lapply(measurements,function(m) { currentSplit <- (startIndex+1):(startIndex+ncol(m)) startIndex <<- startIndex + ncol(m) t(sapply(cluster,function(cl) cl$bin[currentSplit])) }) threshlist<-sapply(cluster,function(cl) cl$thresholds) } else { binarizedTimeSeries <- t(sapply(cluster,function(cl) cl$bin)) threshlist<-sapply(cluster,function(cl) cl$thresholds) } return(list(binarizedMeasurements=binarizedTimeSeries,thresholds= threshlist)) }, maxEdge={ cluster <- apply(fullData,1,function(gene) # cluster data using edgedetector { cl_res <- edgeDetector(gene,edge="maxEdge") list(bin=cl_res$bindata,thresholds=cl_res$thresholds) }) if (is.null(dim(measurements))) # split up the collated binarized measurements into a list of matrices of the original size { startIndex <- 0 binarizedTimeSeries <- lapply(measurements,function(m) { currentSplit <- (startIndex+1):(startIndex+ncol(m)) startIndex <<- startIndex + ncol(m) t(sapply(cluster,function(cl) cl$bin[currentSplit])) }) threshlist<-sapply(cluster,function(cl) cl$thresholds) } else { binarizedTimeSeries <- t(sapply(cluster,function(cl) cl$bin)) threshlist<-sapply(cluster,function(cl) cl$thresholds) } return(list(binarizedMeasurements=binarizedTimeSeries,thresholds= threshlist)) }, stop("'method' must be one of \"firstEdge\",\"maxEdge\"") ) }, scanStatistic={ cluster <- apply(fullData,1,function(gene) # cluster data using scanStatistic { cl_res <- scanStatistic(gene,windowSize,sign.level) list(bin= cl_res$bindata,thresholds=cl_res$thresholds,reject=cl_res$reject) }) significant <- sapply(cluster,function(cl)(cl$reject==FALSE)) # remove not recommended genes if (dropInsignificant) { significant <- sapply(cluster,function(cl)(cl$reject==FALSE)) cluster <- cluster[significant] } if (is.null(dim(measurements))) # split up the collated binarized measurements into a list of matrices of the original size { startIndex <- 0 binarizedTimeSeries <- lapply(measurements,function(m) { currentSplit <- (startIndex+1):(startIndex+ncol(m)) startIndex <<- startIndex + ncol(m) t(sapply(cluster,function(cl) cl$bin[currentSplit])) }) rejectlist<-sapply(cluster,function(cl) cl$reject) threshlist<-sapply(cluster,function(cl) cl$thresholds) } else { binarizedTimeSeries <- t(sapply(cluster,function(cl) cl$bin)) rejectlist<-sapply(cluster,function(cl) cl$reject) threshlist<-sapply(cluster,function(cl) cl$thresholds) } if(any(rejectlist)) { warning("The following genes show a uniform behaviour and should possibly be excluded from binarization:", paste(rownames(fullData)[!significant],collapse=" ")) } return(list(binarizedMeasurements=binarizedTimeSeries,thresholds=threshlist,reject=rejectlist)) }, stop("'method' must be one of \"kmeans\",\"edgeDetector\",\"scanStatistic\"") ) } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/R/toPajek.R���������������������������������������������������������������������������������0000644�0001762�0000144�00000002234�12732246464�013550� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Export a state table in <stateGraph> to a Pajek graph toPajek <- function (stateGraph, file="boolean.net", includeLabels=FALSE, ...) { args <- list(...) if (!is.null(args$attractorInfo)) { warning("The parameter \"attractorInfo\" is deprecated. Use \"stateGraph\" instead!") stateGraph <- args$attractorInfo } if (!inherits(stateGraph,"TransitionTable")) stateGraph <- getTransitionTable(stateGraph) geneCols <- setdiff(colnames(stateGraph),c("attractorAssignment","transitionsToAttractor")) numGenes <- (length(geneCols)) / 2 from <- apply(stateGraph[,1:numGenes,drop=FALSE],1,paste,collapse="") to <- apply(stateGraph[,((numGenes+1):(2*numGenes)),drop=FALSE],1,paste,collapse="") vertices <- unique(c(from,to)) vertexIndices <- seq_along(vertices) names(vertexIndices) <- vertices from <- vertexIndices[from] to <- vertexIndices[to] sink(file) cat("*Vertices ", length(vertices), "\r\n", sep = "") if (includeLabels) { for (i in seq_along(vertices)) cat(i," \"",vertices[i],"\"\r\n",sep="") } cat("*Arcs\r\n") for (i in seq_along(from)) cat(from[i]," ",to[i]," 1\r\n",sep="") sink() } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/R/generateTimeSeries.R����������������������������������������������������������������������0000644�0001762�0000144�00000005546�12732246464�015750� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ # Generate time series from a Boolean network <network>. # <numSeries> is the number of start states for which time series are generated. # <numMeasurements> is the number of time points for each time series. # <type> is the type of transitions used (synchronous or asynchronous) # If <type> is "asynchronous", <geneProbabilities> describes the # transition probabilities for the genes. # If <noiseLevel> is not 0, Gaussian noise is added to the result. generateTimeSeries <- function(network, numSeries, numMeasurements, type = c("synchronous","asynchronous","probabilistic"), geneProbabilities, perturbations=0, noiseLevel = 0.0) { symbolic <- inherits(network, "SymbolicBooleanNetwork") if (missing(geneProbabilities)) geneProbabilities <- NULL if (perturbations > 0) { perturbationMatrix <- sapply(1:numSeries, function(x) { p <- rep(NA, length(network$genes)) p[sample(1:length(network$genes),size=perturbations)] <- sample(c(0,1),size=perturbations,replace=TRUE) return(p) }) rownames(perturbationMatrix) <- network$genes } ts <- lapply(seq_len(numSeries), function(i) { if (symbolic) { if (perturbations > 0) { fixedIdx <- which(perturbationMatrix[,i] != -1) network <- fixGenes(network, fixedIdx, perturbationMatrix[fixedIdx,i]) } res <- t(simulateSymbolicModel(network, startStates=1, returnAttractors=FALSE, returnGraph=TRUE, returnSequences=TRUE)$sequences[[1]]) } else { startState <- round(runif(length(network$genes))) if (perturbations > 0) { fixedIdx <- which(perturbationMatrix[,i] != -1) network <- fixGenes(network, fixedIdx, perturbationMatrix[fixedIdx,i]) startState[fixedIdx] <- perturbationMatrix[fixedIdx,i] } res <- startState for (j in 2:numMeasurements) { startState <- stateTransition(network, startState, type=type, geneProbabilities=geneProbabilities) res <- cbind(res,startState) } } colnames(res) <- NULL if (noiseLevel != 0) { res <- res + matrix(rnorm(mean=0, sd=noiseLevel, n = length(res)), nrow=nrow(res)) } rownames(res) <- network$genes colnames(res) <- seq_len(ncol(res)) return(res) }) if (perturbations > 0) ts$perturbations <- perturbationMatrix return(ts) } ����������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/R/print.SymbolicBooleanNetwork.R������������������������������������������������������������0000644�0001762�0000144�00000000762�12732246464�017745� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������print.SymbolicBooleanNetwork <- function(x,...) { cat("Symbolic representation of a Boolean network\n\n"); cat("Transition functions:\n") for (gene in x$genes) { cat(gene, " = ", stringFromParseTree(x$interactions[[gene]]), "\n", sep="") } if (sum(x$fixed != -1) > 0) { cat("\nKnocked-out and over-expressed genes:\n") mapply(function(gene,fixed) { if (fixed != -1) cat(gene," = ",fixed,"\n",sep="") }, x$genes,x$fixed) } } ��������������BoolNet/R/reconstructNetwork.R����������������������������������������������������������������������0000644�0001762�0000144�00000022761�12732246464�016107� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Reconstruct a Boolean network from a transition table or a list of time series in <measurements>. # If <method> is "bestfit", Lähdesmäki's best-fit extension algorithm is called. # If <method> is "reveal", Liang's REVEAL algorithm is called. # <maxK> specifies the maximum number of input genes of a function. # If <readableFunctions> is true, DNF representations of the functions are generated. reconstructNetwork <- function(measurements,method=c("bestfit","reveal"),maxK=5, requiredDependencies = NULL, excludedDependencies = NULL, perturbations=NULL, readableFunctions=FALSE, allSolutions=FALSE, returnPBN=FALSE) { if (maxK < 0) stop("maxK must be >= 0!") # determine method to use meth <- switch(match.arg(method,c("bestfit","reveal")), bestfit=0, reveal=1, stop("'method' must be one of \"bestfit\",\"reveal\"")) perturbationMatrix <- NULL if (inherits(measurements,"TransitionTable")) # preprocess transition table and call algorithm { numGenes <- (ncol(measurements) - 2) / 2 if (numGenes < maxK) { maxK <- numGenes warning(paste("maxK was chosen greater than the total number of input genes and reset to ",numGenes,"!",sep="")) } if (!is.null(perturbations)) { if (!all(perturbations %in% c(0,1,-1,NA))) stop("The perturbation matrix may only contain the values 0,1,-1 and NA!") perturbations[is.na(perturbations)] <- -1 if (is.null(dim(perturbations))) perturbations <- matrix(perturbations,ncol=1) if (ncol(perturbations) != 1 && ncol(perturbations) != nrow(measurements)) stop(paste("There must be either one global vector of perturbations, or a matrix", "containing exact one column for each time series!")) if (nrow(perturbations) != numGenes) stop("The perturbation matrix must have exactly the same number of rows as the measurements!") if (ncol(perturbations) == 1) { perturbationMatrix <- matrix(-1,nrow=numGenes,ncol=nrow(measurements)) for (j in seq_len(nrow(measurements))) perturbationMatrix[,j] <- perturbations[,1] } else perturbationMatrix <- as.matrix(perturbations) } inputStates <- as.integer(t(as.matrix(measurements[,seq_len(numGenes)]))) outputStates <- as.integer(t(as.matrix(measurements[,(numGenes+1):(2*numGenes)]))) numStates <- nrow(measurements) genenames <- sapply(colnames(measurements)[seq_len(numGenes)],function(x)strsplit(x,".",fixed=TRUE)[[1]][2]) } else # the measurements are time series { if (!is.null(dim(measurements))) # only one time series => create list measurements <- list(measurements) numGenes <- nrow(measurements[[1]]) if (numGenes < maxK) { maxK <- numGenes warning(paste("maxK was chosen greater than the total number of input genes and reset to ",numGenes,"!",sep="")) } if (is.null(perturbations) && !is.null(measurements$perturbations)) { perturbations <- measurements$perturbations measurements$perturbations <- NULL } if (!is.null(perturbations)) { if (!all(perturbations %in% c(0,1,-1,NA))) stop("The perturbation matrix may only contain the values 0,1,-1 and NA!") perturbations[is.na(perturbations)] <- -1 if (is.null(dim(perturbations))) perturbations <- matrix(perturbations,ncol=1) if (ncol(perturbations) != 1 && ncol(perturbations) != length(measurements)) stop(paste("There must be either one global vector of perturbations, or a matrix", "containing exact one column for each time series!")) if (nrow(perturbations) != numGenes) stop("The perturbation matrix must have exactly the same number of rows as the measurements!") } perturbationMatrix <- c() genenames <- rownames(measurements[[1]]) if (is.null(genenames)) genenames <- paste("Gene",seq_len(numGenes)) inputStates <- c() outputStates <- c() for (i in seq_along(measurements)) # iterate over all time series and build state vectors { measurement <- measurements[[i]] if (numGenes != nrow(measurement)) stop("All measurement matrices must contain the same genes!") inputStates <- c(inputStates,as.integer(as.matrix(measurement[,1:(ncol(measurement)-1)]))) outputStates <- c(outputStates,as.integer(as.matrix(measurement[,2:ncol(measurement)]))) if (!is.null(perturbations)) { for (j in seq_len(ncol(measurement) - 1)) { if (ncol(perturbations) == 1) perturbationMatrix <- cbind(perturbationMatrix, perturbations[,1]) else perturbationMatrix <- cbind(perturbationMatrix, perturbations[,i]) } } } numStates <- as.integer(length(inputStates) / numGenes) } if (is.null(requiredDependencies)) requiredDepMatrix <- NULL else { if (is.null(names(requiredDependencies))) names(requiredDependencies) <- genenames if (length(union(names(requiredDependencies),genenames)) != length(genenames)) stop("The required dependencies must consist of gene names that are comprised in the measurements!") requiredDepMatrix <- matrix(0,nrow=numGenes,ncol=numGenes) colnames(requiredDepMatrix) <- genenames rownames(requiredDepMatrix) <- genenames maxRequired <- 0 for (i in seq_along(requiredDependencies)) { maxRequired <- max(maxRequired, length(requiredDependencies[i])) for (el in requiredDependencies[i]) requiredDepMatrix[el,names(requiredDependencies)[i]] <- 1 } if (maxRequired > maxK) { warning(paste("The number of required dependencies is greater than maxK! Setting maxK to ", maxRequired, "!", sep="")) maxK <- maxRequired } requiredDepMatrix <- as.integer(requiredDepMatrix) } if (is.null(excludedDependencies)) excludedDepMatrix <- NULL else { if (is.null(names(excludedDependencies))) names(excludedDependencies) <- genenames if (length(union(names(excludedDependencies),genenames)) != length(genenames)) stop("The excluded dependencies must consist of gene names that are comprised in the measurements!") excludedDepMatrix <- matrix(0,nrow=numGenes,ncol=numGenes) colnames(excludedDepMatrix) <- genenames rownames(excludedDepMatrix) <- genenames for (i in seq_along(excludedDependencies)) { gene <- names(excludedDependencies)[i] if (!is.null(requiredDependencies) && !is.null(requiredDependencies[[gene]])) { conflicts <- intersect(requiredDependencies[[gene]], excludedDependencies[[gene]]) if (length(conflicts) > 0) stop(paste("For gene ",gene, ", potential inputs were specified both as required and excluded dependencies: ", paste(conflicts, collapse=", "), sep="")) } for (el in excludedDependencies[i]) excludedDepMatrix[el,names(excludedDependencies)[i]] <- 1 } excludedDepMatrix <- as.integer(excludedDepMatrix) } if (!is.null(perturbations)) perturbationMatrix <- as.integer(perturbationMatrix) on.exit(.C("freeAllMemory", PACKAGE = "BoolNet")) # call C code res <- .Call("reconstructNetwork_R", inputStates, outputStates, perturbationMatrix, as.integer(numStates), requiredDepMatrix, excludedDepMatrix, as.integer(maxK), as.integer(meth), as.integer(allSolutions), as.integer(returnPBN)) if (any(sapply(res,function(interaction)length(interaction)==0))) # some function lists are empty warning("Some functions could not be inferred. Possibly the input data is noisy or maxK was chosen too small!") # prepare result object res <- list(genes=genenames, interactions=lapply(res,function(gene) lapply(gene,function(interaction) { interaction$expression <- getInteractionString(readableFunctions, interaction$func, genenames[interaction$input]) if (returnPBN) interaction$probability <- 1.0/length(gene) interaction })), fixed=sapply(res,function(gene) { if (length(gene) == 0) -1 else if (gene[[1]]$input[1] == 0) gene[[1]]$func[1] else -1 })) names(res$interactions) <- res$genes names(res$fixed) <- res$genes if (returnPBN) class(res) <- "ProbabilisticBooleanNetwork" else class(res) <- "BooleanNetworkCollection" if (allSolutions) # simplify functions and remove duplicates { res <- simplifyNetwork(res) res$interactions <- lapply(res$interactions,function(interaction) { duplicates <- duplicated(sapply(interaction,function(func)func$expression)) return(interaction[!duplicates]) }) } return(res) } ���������������BoolNet/R/simplifyNetwork.R�������������������������������������������������������������������������0000644�0001762�0000144�00000007050�12732246464�015362� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Simplify a Boolean network by dropping all input genes that are not relevant # for the output simplifyNetwork <- function(network,readableFunctions=FALSE) { stopifnot(inherits(network,"BooleanNetwork") | inherits(network,"ProbabilisticBooleanNetwork") | inherits(network,"BooleanNetworkCollection")) if (inherits(network,"BooleanNetwork")) { network$interactions <- mapply(function(interaction, j) { if (interaction$input[1] != 0) # no constant gene { table <- allcombn(2,length(interaction$input)) - 1 dropGenes <- apply(table,2,function(gene) # drop all genes that have no influence on the results, # i.e. the result column is equal for 0 values and 1 values { (identical(interaction$func[gene==1], interaction$func[gene==0])) }) if (sum(!dropGenes) == 0) { network$fixed[j] <<- interaction$func[1] interaction$input <- 0 interaction$func <- interaction$func[1] } else if (sum(dropGenes) > 0) { # update network network$fixed[j] <<- -1 dropFunctionIndices <- unlist(sapply(seq_along(dropGenes),function(i) { if(dropGenes[i]) which(table[,i] == 0) else NULL })) interaction$input <- interaction$input[!dropGenes] interaction$func <- interaction$func[-dropFunctionIndices] interaction$expression <- getInteractionString(readableFunctions, interaction$func, network$genes[interaction$input]) } } interaction }, network$interactions, seq_along(network$interactions), SIMPLIFY=FALSE) } else { network$interactions <- lapply(network$interactions,function(gene) lapply(gene,function(interaction) { if (interaction$input[1] != 0) # no constant gene { table <- allcombn(2,length(interaction$input)) - 1 dropGenes <- apply(table,2,function(gene) # drop all genes that have no influence on the results, # i.e. the result column is equal for 0 values and 1 values { (identical(interaction$func[gene==1], interaction$func[gene==0])) }) if (sum(!dropGenes) == 0) { interaction$input <- 0 interaction$func <- interaction$func[1] } else if (sum(dropGenes) > 0) { # update network dropFunctionIndices <- unlist(sapply(seq_along(dropGenes),function(i) { if(dropGenes[i]) which(table[,i] == 0) else NULL })) interaction$input <- interaction$input[!dropGenes] interaction$func <- interaction$func[-dropFunctionIndices] interaction$expression <- getInteractionString(readableFunctions, interaction$func, network$genes[interaction$input]) } } interaction })) } return(network) } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/R/print.BooleanStateInfo.R������������������������������������������������������������������0000644�0001762�0000144�00000000507�12732246464�016503� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Custom print function for class BooleanStateInfo print.BooleanStateInfo <- function(x, activeOnly=FALSE, ...) { # Create a TransitionTable object and print it cat("Transition table of Boolean network\n\n") transitionTable <- .internal.getTransitionTable(x) print(transitionTable, activeOnly=activeOnly, ...) } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/R/simulateSymbolicModel.R�������������������������������������������������������������������0000644�0001762�0000144�00000016300�12732246464�016460� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������simulateSymbolicModel <- function(network, method=c("exhaustive","random","chosen","sat.exhaustive","sat.restricted"), startStates=NULL, returnSequences=(!(match.arg(method) %in% c("sat.exhaustive", "sat.restricted"))), returnGraph=(!(match.arg(method) %in% c("sat.exhaustive", "sat.restricted"))), returnAttractors=TRUE, maxTransitions=Inf, maxAttractorLength=Inf, canonical=TRUE) { stopifnot(inherits(network,"SymbolicBooleanNetwork")) if (is.null(network$internalStructs) || checkNullPointer(network$internalStructs)) # refresh internal tree representations if necessary network$internalStructs = .Call("constructNetworkTrees_R",network); if (!is.null(maxAttractorLength) && is.infinite(maxAttractorLength)) maxAttractorLength <- NULL if (length(method) > 1) # if no method is supplied, infer method from the type of <startStates> { if (!is.null(maxAttractorLength)) method <- "sat.restricted" else if (length(startStates) == 0) { method <- "exhaustive" } else if (is.numeric(startStates)) { if (length(startStates) > 1) stop("Please supply either the number of start states or a list of start states in startStates!") else method <- "random" } else if (is.list(startStates)) method <- "chosen" else stop("Please supply either the number of start states or a list of start states in startStates!") } method <- match.arg(method, c("exhaustive","random","chosen","sat.exhaustive","sat.restricted")) if (method == "random") { if (startStates > 2 ^ (sum(network$timeDelays[network$fixed == -1]))) # more start states than in the full network { method <- "exhaustive" warning(paste("The number of random states is set larger than the total", "number of states. Performing an exhaustive search!")) } } if (method %in% c("sat.exhaustive", "sat.restricted")) { if (!is.null(maxAttractorLength)) maxAttractorLength <- as.integer(maxAttractorLength) else if (method == "sat.restricted") stop("maxAttractorLength must be set for method=\"sat.restricted\"!") if (returnSequences) { warning("Sequences cannot be returned for method=\"sat.exhaustive\" and method=\"sat.restricted\"!") returnSequences <- FALSE } if (returnGraph) { warning("Graph cannot be returned for method=\"sat.exhaustive\" and method=\"sat.restricted\"!") returnGraph <- FALSE } } else if (method == "exhaustive") { startStates <- NULL convertedStates <- NULL } else if (method == "chosen") { convertedStates <- lapply(startStates, function(state) { if (!is.null(dim(state))) { if (ncol(state) != length(network$genes)) stop(paste("\"startStates\" must be either a list of vectors with one value for each gene,", "or a list of matrices with the genes in the columns and multiple predecessor states in the rows!")) return(as.integer(as.matrix(state[nrow(state):1,]))) } else if (!is.numeric(state) || length(state) != length(network$genes)) stop(paste("\"startStates\" must be either a list of vectors with one value for each gene,", "or a list of matrices with the genes in the columns and multiple predecessor states in the rows!")) return(as.integer(state)) }) } else convertedStates <- as.integer(startStates) if (maxTransitions == 0) warning("\"maxTransitions\" is set to 0, which disables the transition limit!") else if (is.infinite(maxTransitions)) maxTransitions <- 0 on.exit(.C("freeAllMemory", PACKAGE = "BoolNet")) if (method %in% c("sat.exhaustive","sat.restricted")) res <- .Call("symbolicSATSearch_R", network$internalStructs, maxAttractorLength, method == "sat.restricted") else res <- .Call("simulateStates_R", network$internalStructs, convertedStates, #as.integer(length(startStates)), as.integer(maxTransitions), as.logical(returnSequences), as.logical(returnGraph), as.logical(returnAttractors)) ret <- list() if (returnSequences) { ret[["sequences"]] <- list() } if (returnGraph) { initialStates <- matrix(res[[2]][[1]], ncol=length(network$genes), byrow=TRUE) colnames(initialStates) <- paste("initialState.",network$genes, sep="") nextStates <- matrix(res[[2]][[2]], ncol=length(network$genes), byrow=TRUE) colnames(nextStates) <- paste("nextState.",network$genes, sep="") attractorAssignment <- data.frame(res[[2]][[3]] + 1) attractorAssignment[attractorAssignment == 0] <- NA colnames(attractorAssignment) <- "attractorAssignment" graph <- data.frame(unique(cbind(initialStates, nextStates, attractorAssignment))) class(graph) <- c("TransitionTable","data.frame") ret[["graph"]] <- graph } if (returnAttractors) { attractors <- lapply(res[[3]], function(x) { att <- matrix(x, ncol=length(network$genes), byrow=TRUE) colnames(att) <- network$genes if (canonical) { smallestIndex <- -1 smallestVal <- rep(Inf, ncol(att)) for (i in seq_len(nrow(att))) # iterate over elements of encoded state { equal <- TRUE for (j in seq(ncol(att),by=-1,length.out=ncol(att))) { if (att[i,j] < smallestVal[j]) # determine new minimum { equal <- FALSE smallestVal <- att[i,] smallestIndex <- i break } else if (att[i,j] > smallestVal[j]) { equal <- FALSE break } } if (equal && i != smallestIndex) { if (i - smallestIndex < (smallestIndex + nrow(att) - i) %% nrow(att)) { smallestVal <- att[i,] smallestIndex <- i } } } } if (smallestIndex != 1) # rearrange matrix att <- rbind(att[smallestIndex:nrow(att),,drop=FALSE], att[seq_len(smallestIndex-1),,drop=FALSE]) as.data.frame(att) }) ret[["attractors"]] <- attractors } if (returnSequences) { maxDelay <- max(network$timeDelays) if (returnAttractors) { ret[["attractorAssignment"]] <- res[[4]] + 1 ret[["attractorAssignment"]][ret[["attractorAssignment"]] == 0] <- NA } sequences <- mapply(function(seq, att) { seq <- matrix(seq, ncol=length(network$genes), byrow=TRUE) colnames(seq) <- network$genes rownames(seq) <- paste("t =", (1:nrow(seq)) - maxDelay) seq <- as.data.frame(seq) # add attractor information to sequence if (!is.na(att)) attributes(seq)$attractor <- (nrow(seq) - nrow(ret[["attractors"]][[att]]) + 1):nrow(seq) seq }, res[[1]], ret[["attractorAssignment"]], SIMPLIFY=FALSE) ret[["sequences"]] <- sequences } class(ret) <- "SymbolicSimulation" return(ret) } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/R/getAttractorSequence.R��������������������������������������������������������������������0000644�0001762�0000144�00000002632�12732246464�016311� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ getAttractorSequence <- function(attractorInfo, attractorNo) { stopifnot(inherits(attractorInfo,"AttractorInfo") || inherits(attractorInfo,"SymbolicSimulation")) if (inherits(attractorInfo,"SymbolicSimulation")) { if (is.null(attractorInfo$attractors)) stop(paste("This SymbolicSimulation structure does not contain attractor information.", "Please re-run simulateSymbolicModel() with returnAttractors=TRUE!")) if (missing(attractorNo) || attractorNo <= 0 || attractorNo > length(attractorInfo$attractors)) stop("Please provide a valid attractor number!") return(attractorInfo$attractors[[attractorNo]]) } else { if (missing(attractorNo) || attractorNo <= 0 || attractorNo > length(attractorInfo$attractors)) stop("Please provide a valid attractor number!") if (!is.null(attractorInfo$attractors[[attractorNo]]$initialStates)) stop("A sequence can be obtained for synchronous attractors only!") numGenes <- length(attractorInfo$stateInfo$genes) # decode binary representation of states involved in the attractors binMatrix <- t(matrix(apply(attractorInfo$attractors[[attractorNo]]$involvedStates,2,function(state) dec2bin(state,numGenes)),nrow=numGenes)) colnames(binMatrix) <- attractorInfo$stateInfo$genes return(as.data.frame(binMatrix)) } } ������������������������������������������������������������������������������������������������������BoolNet/R/symbolicToTruthTable.R��������������������������������������������������������������������0000644�0001762�0000144�00000001174�12732246464�016300� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ # Convert a SymbolicBooleanNetwork object # <network> to a BooleanNetwork object symbolicToTruthTable <- function(network) { stopifnot(inherits(network, "SymbolicBooleanNetwork")) res <- list(genes = network$genes, fixed = network$fixed, interactions = lapply(network$interactions, function(int) { newInt <- .Call("getTruthTable_R", int, length(network$genes)) names(newInt) <- c("input","func") newInt$expression <- stringFromParseTree(int) return(newInt) })) class(res) <- "BooleanNetwork" return(res) } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/R/parseBooleanFunction.R��������������������������������������������������������������������0000644�0001762�0000144�00000033001�12732246464�016267� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ # Split up <expression> into symbols. # Returns a vector of symbols. scan <- function(expression, lowerCase=FALSE) { if (lowerCase) expression <- tolower(expression) # add extra whitespace to brackets and operators expression <- gsub("(\\(|\\)|\\[|\\]|\\||\\&|\\!|\\=|\\.\\.|[a-zA-Z0-9_]*)"," \\1 ", expression) # strip multiple whitespace characters expression <- gsub("[ ]+", " ", expression) expression <- gsub("^[ ]+", "", expression) expression <- gsub("[ ]+$", "", expression) # split up at whitespace positions res <- strsplit(expression, " ", fixed=TRUE)[[1]] return(res) } # Parse a Boolean function in <expression>, # and build a corresponding parse tree. parseBooleanFunction <- function(expression, varNames=c(), lowerCase=FALSE) { minArgCounts <- c("&"=2,"|"=2, "all" = 1, "any" = 1, "maj" = 1, "sumis" = 2, "sumgt" = 2, "sumlt" = 2, "timeis" = 1, "timelt" = 1, "timegt" = 1) maxArgCounts <- c("&"=Inf,"|"=Inf,"all" = Inf, "any" = Inf, "maj" = Inf, "sumis" = Inf, "sumgt" = Inf, "sumlt" = Inf, "timeis" = 1, "timelt" = 1, "timegt" = 1) isBooleanArgument <- function(arg) { return (arg$type %in% c("atom","operator") || arg$type == "constant" && arg$value %in% c(0,1)) } checkPredicate <- function(pred) { if (pred$operator %in% c("&","|","maj")) { for (el in pred$operands) { if (!isBooleanArgument(el)) { stop(paste("Invalid argument to \"",pred$operator,"\": ", stringFromParseTree(el),sep="")) } } } else if (pred$operator %in% c("sumis","sumgt","sumlt")) { for (el in pred$operands[-length(pred$operands)]) { if (!isBooleanArgument(el)) { stop(paste("Invalid argument to \"",pred$operator,"\": ", stringFromParseTree(el),sep="")) } } if (pred$operands[[length(pred$operands)]]$type != "constant") stop(paste("Last argument of \"",pred$operator,"\" must be an integer value!")) } else if (pred$operator %in% c("timeis")) { if (pred$operands[[1]]$type != "constant" || pred$operands[[1]]$value < 0) stop(paste("Argument of \"",pred$operator,"\" must be a non-negative integer value!")) } } # internal function to step forward one symbol advanceSymbol <- function(errorIfEnd = TRUE) { pos <<- pos + 1 #print(symbols[-(1:pos-1)]) if (pos > length(symbols)) if (errorIfEnd) stop("Unexpected end of expression!") else return(NA) else return(symbols[pos]) } getCurrentSymbol <- function() { #print(symbols[-(1:pos-1)]) if (pos > length(symbols)) return(NA) else return(symbols[pos]) } # internal function to preview the next symbol previewSymbol <- function() { if (pos + 1 > length(symbols)) return(NA) else return(symbols[pos + 1]) } getSymbolPos <- function() { return(pos) } setSymbolPos <- function(newPos) { pos <<- newPos } # internal function to parse a sub-expression in brackets parseExpression <- function(temporalVariables = c()) { operators <- c() children <- c() symb <- advanceSymbol() while (TRUE) { if (symb == "(") # a new sub-expression children[[length(children)+1]] <- parseExpression(temporalVariables=temporalVariables) else if (symb == "!") # a negation children[[length(children)+1]] <- parseNegation(temporalVariables=temporalVariables) else if (regexpr("^[a-zA-Z0-9_]*$",symb) == -1) # something unexpected happened stop(paste("Unexpected symbol:",symb)) else children[[length(children)+1]] <- parseAtomOrPredicate(symb, temporalVariables=temporalVariables) symb <- advanceSymbol(FALSE) if (is.na(symb) || symb %in% c(")",",")) # end of expression was reached break if (!symb %in% c("&","|")) stop("Operator expected!") operators <- c(operators,symb) symb <- advanceSymbol() } if (length(children) == 1) { # an operator with only one child return(children[[1]]) } else if (length(unique(operators)) == 1) { # an n-ary operator res <- list(type="operator",operator=operators[1], negated=FALSE, operands=children) checkPredicate(res) return(res) } else # a mixture of multiple operators => ensure correct precedence { i <- 1 startPos <- NA operators <- c(operators, "|") operands <- list() while (i <= length(operators)) # identify AND operators and move them to a subtree { if (operators[i] == "&" && is.na(startPos)) # start of a conjunction startPos <- i if (operators[i] == "|" && !is.na(startPos)) # end of a conjunction => create subtree { subOp <- list(type="operator", operator="&", negated=FALSE, operands=children[startPos:i]) operands[[length(operands)+1]] <- subOp startPos <- NA } else if (is.na(startPos)) operands[[length(operands)+1]] <- children[[i]] i <- i + 1 } res <- list(type="operator",operator="|", negated=FALSE, operands=operands) checkPredicate(res) return(res) } } # internal function to parse atoms or temporal predicates parseAtomOrPredicate <- function(name, temporalVariables=c()) { if (regexpr("^[0-9]*$",name) != -1 || name %in% c("true","false")) # a (Boolean or integer) constant { if (name == "true") value <- 1L else if (name == "false") value <- 0L else value <- as.integer(name) return(list(type="constant", value=value, negated=FALSE)) } if (tolower(name) %in% names(minArgCounts)) # a temporal predicate { name <- tolower(name) # translate all into & and any into | operator <- switch(name, all = "&", any = "|", name) nextSym <- previewSymbol() if (!is.na(nextSym) && nextSym == "[") # a temporal iterator definition follows { # discard bracket advanceSymbol() varName <- advanceSymbol() if (regexpr("^[a-zA-Z0-9_]*$",varName) == -1) # something unexpected happened stop(paste("Unexpected symbol:",varName)) symb <- advanceSymbol() if (symb != "=") { stop(paste("Expected \"=\" instead of \"",symb,"\" in temporal predicate!")) } # parse start time point startTime <- parseTimePoint(temporalVariables=temporalVariables, TRUE) symb <- getCurrentSymbol() if (symb != "..") { stop(paste("Expected \"..\" instead of \"",symb,"\" in temporal predicate!")) } # parse end time point endTime <- parseTimePoint(temporalVariables=temporalVariables, TRUE) symb <- getCurrentSymbol() if (symb != "]") stop(paste("Unexpected symbol:",symb)) } else # no temporal iterator defined { startTime <- 0 endTime <- 0 varName <- NULL } symb <- advanceSymbol() if (symb != "(") stop(paste("Unexpected symbol:",symb)) subElements <- c() while(TRUE) # parse parameters of predicate { oldPos <- getSymbolPos() for (time in startTime:endTime) # expand arguments according to temporal range { tempVars <- temporalVariables if (!is.null(varName)) { if (length(tempVars) > 0 && !is.na(tempVars[varName])) { stop(paste("Duplicate variable ",varName,"! Please use only unique variable names!",sep="")) } tempVars[varName] <- time } # re-parse the argument with a new time point => reset parser position setSymbolPos(oldPos) subElement <- parseExpression(temporalVariables=tempVars) subElements <- c(subElements, list(subElement)) if (subElement$type == "constant") break } subElements <- unique(subElements) symb <- getCurrentSymbol() if (is.na(symb)) stop("Unexpected end of expression!") if (symb == ")") break if (symb != ",") stop ("Expected \",\" or \")\"!") } # check if number of argument matches if (length(subElements) < minArgCounts[name] || length(subElements) > maxArgCounts[name]) stop(paste("Invalid number of arguments to ",name,": ",length(subElements),sep="")) res <- list(type="operator",operator=operator, negated=FALSE, operands=subElements) # check if argument types match checkPredicate(res) return(res) } else # an atom with or without temporal information { nextSym <- previewSymbol() if (!is.na(nextSym) && nextSym == "[") # the atom has a time point specification { symb <- advanceSymbol() time <- parseTimePoint(temporalVariables=temporalVariables) symb <- getCurrentSymbol() if (symb != "]") stop(paste("Unexpected symbol:",symb)) } else # no time point specified => default to previous time point time <- -1L if (length(varNames) > 0) # check if variable is known { varIndex <- which(varNames == name) if (length(varIndex) == 0) stop(paste("Unknown variable:",name)) negated <- FALSE return(list(type="atom", name=name, index=as.integer(varIndex), time=as.integer(time), negated=negated)) } else { return(list(type="atom", name=name, time=as.integer(time), negated=FALSE)) } } } # internal function to parse a time specification parseTimePoint <- function(temporalVariables=c(), allowPositive=FALSE) { symb <- advanceSymbol() time <- 0 while (TRUE) { sign <- 1 if (symb == "+") # ignore positive sign symb <- advanceSymbol() else if (symb == "-") # set multiplier to negative sign { sign <- -1 symb <- advanceSymbol() } if (symb %in% names(temporalVariables)) # a variable was found => add its value { time <- time + sign * temporalVariables[symb] symb <- advanceSymbol() } else # this has to be an integer time value { suppressWarnings(addTime <- as.integer(symb)) if (is.na(addTime)) { stop(paste("Invalid time specification: ",symb, ". Time specifications must be integers <= -1)", sep="")) } time <- time + sign * addTime symb <- advanceSymbol() } if (symb %in% c("]","..")) break } if (time > -1 && !allowPositive) { stop(paste("Invalid time specification: ",time, ". Time specifications must be integers <= -1)", sep="")) } return(as.integer(time)) } # Internal function to parse a negation parseNegation <- function(temporalVariables=c()) { symb <- advanceSymbol() if (symb == "(") { res <- parseExpression(temporalVariables) } else if (symb %in% c(")","&","|","]","[","=")) stop(paste("Unexpected symbol:",symb)) else res <- parseAtomOrPredicate(symb, temporalVariables=temporalVariables) res$negated <- !res$negated return(res) } tryCatch( { symbols <- scan(expression, lowerCase=lowerCase) pos <- 0 res <- parseExpression() }, error = function(e) { stop(sprintf("Error parsing expression \"%s\": %s", expression, e$message)) }) if (!isBooleanArgument(res)) stop(paste("Non-Boolean formula ",stringFromParseTree(res),"!",sep="")) return(res) } # Regenerate the expression string # from the parse tree <tree> stringFromParseTree <- function(tree) { res <- switch(tree$type, operator = { if (tree$operator %in% c("|","&")) { paste({if (tree$negated) "!" else ""}, "(", paste(sapply(tree$operands,stringFromParseTree), collapse=paste(" ",tree$operator," ",sep="")), ")", sep="") } else { paste({if (tree$negated) "!" else ""}, tree$operator,"(",paste(sapply(tree$operands,stringFromParseTree), collapse=", "),")",sep="") } }, atom = paste({if (tree$negated) "!" else ""}, tree$name, {if (tree$time != -1) paste("[",tree$time,"]",sep="") else ""}, sep=""), constant = paste({if (tree$negated) "!" else ""}, tree$value, sep="") ) return(res) } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/R/loadBioTapestry.R�������������������������������������������������������������������������0000644�0001762�0000144�00000021673�12732246464�015270� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Parse all nodes in <rootNode> # (i.e., all nodes of a certain type), # and write them to a list parseGeneAttrs <- function(rootNode) { i <- 0 res <- xmlApply(rootNode,function(child) { i <<- i + 1 attrs <- xmlAttrs(child) name <- unname(attrs["name"]) if (name == "" | is.na(name)) name <- paste(xmlName(child),i,sep="_") # find the "simulationLogic" node, which contains # the necessary logic information logic <- xmlFindNode(child,"simulationLogic") initVal <- NULL if (is.null(logic)) { warning(paste("Gene ",name," does not specify a simulation logic, assuming AND!",sep="")) logic <- "AND" } else { # try to find initial values in the simulation parameters logic <- logic[[1]] params <- xmlFindNode(logic,"simParameters") if (!is.null(params)) { for (param in xmlChildren(params[[1]])) { pa <- xmlAttrs(param) if (pa["name"] == "initVal") { initVal <- as.numeric(pa["value"]) if (initVal != 0 & initVal != 1) # only 0 and 1 are allowed for the initialization { warning("Initial value for gene ",name," is neither 0 nor 1 and is ignored!",sep="") initVal <- NULL } break } } } # get the Boolean function of the node logic <- unname(xmlAttrs(logic)["type"]) } list(id=unname(attrs["id"]), name=adjustGeneNames(name),logic=logic,initVal=initVal,inputs=NULL) }) } # Parse all types of nodes (genes, signals, etc) parseAllGenes <- function(rootNode) { genes <- unlist(xmlApply(rootNode,parseGeneAttrs),recursive=FALSE) names(genes) <- lapply(genes,function(gene)gene$id) return(genes) } # Parse the links in the children of <node> and insert them # into the input lists of the genes parseAllLinks <- function(rootNode,geneList) { for (link in xmlChildren(rootNode)) { attrs <- xmlAttrs(link) if (is.na(attrs["sign"])) # a link with unspecified direction (inhibition or activation) was found { warning(paste("The link between \"",geneList[[attrs["src"]]]$name, "\" and \"",geneList[[attrs["targ"]]]$name, "\" is not specified as an enhancer or suppressor and is therefore ignored!",sep="")) } else { geneList[[attrs["targ"]]]$input[[length(geneList[[attrs["targ"]]]$input) + 1]] <- list(input=unname(attrs["src"]),sign=attrs["sign"]) } } return(geneList) } # Load a BioTapestry file (*.btp) from <file> # and convert it to a Boolean network loadBioTapestry <- function(file, symbolic=FALSE) { doc <- xmlRoot(xmlTreeParse(file)) # detect the "genome" XML node which holds the nodes and links of the network genome <- xmlFindNode(doc,"genome",throwError=TRUE)[[1]] # find the "nodes" node that contains all genes/inputs/etc nodes <- xmlFindNode(genome,"nodes",throwError=TRUE)[[1]] # read in genes geneList <- parseAllGenes(nodes) # find the "links" node that contains the links/dependencies links <- xmlFindNode(genome,"links",throwError=TRUE)[[1]] # add links to gene list geneList <- parseAllLinks(links,geneList) # build up network structure genes <- unname(sapply(geneList,function(gene)gene$name)) geneIds <- names(geneList) fixed <- rep(-1L,length(genes)) i <- 0 interactions <- lapply(geneList,function(gene) { i <<- i + 1 input <- sapply(gene$input,function(inp) { which(geneIds == inp$input) }) if (length(input) == 0) { if (!is.null(gene$initVal)) # input-only gene without fixed value (=> depending on itself) { input <- 0 func <- gene$initVal fixed[i] <<- func expr <- func } else # input-only gene with fixed value { input <- i func <- c(0,1) expr <- gene$name } } else # dependent gene { # determine signs/negations of genes inputSigns <- sapply(gene$input,function(inp)inp$sign) if (!symbolic || gene$logic == "XOR") { tt <- as.matrix(allcombn(2,length(input)) - 1) func <- as.integer(switch(gene$logic, AND = { # calculate truth table for AND apply(tt,1,function(assignment) { res <- 1 for (i in seq_along(assignment)) { if (inputSigns[i] == "+") res <- res & assignment[i] else res <- res & !assignment[i] if (!res) break } res }) }, OR = { # calculate truth table for OR apply(tt,1,function(assignment) { res <- 0 for (i in seq_along(assignment)) { if (inputSigns[i] == "+") res <- res | assignment[i] else res <- res | !assignment[i] if (res) break } res }) }, XOR = { # calculate truth table for XOR apply(tt,1,function(assignment) { res <- assignment[1] for (i in 2:length(assignment)) { res <- xor(res,assignment[i]) } res }) }, stop(paste("Unknown Boolean operator \"", gene$logic,"\"!",sep="")) )) } # get string representation of the input gene literals literals <- mapply(function(gene,sign) { if (sign == "+") gene else paste("!",gene,sep="") }, genes[input], inputSigns) # get string representation of function expr <- switch(gene$logic, AND = { paste(literals,collapse=" & ") }, OR = { paste(literals,collapse=" | ") }, XOR = { getDNF(func,genes[input]) } ) } if (symbolic) return(parseBooleanFunction(expr,varNames=genes)) else return(list(input=input,func=func,expression=expr)) }) names(interactions) <- genes fixed <- as.integer(fixed) names(fixed) <- genes net <- list(genes=genes,interactions=interactions,fixed=fixed) if (symbolic) { net$timeDelays <- apply(sapply(net$interactions,maxTimeDelay,genes=net$genes),1,max) net$internalStructs <- .Call("constructNetworkTrees_R",net) class(net) <- "SymbolicBooleanNetwork" } else class(net) <- "BooleanNetwork" return(net) } ���������������������������������������������������������������������BoolNet/R/attractorsToLaTeX.R�����������������������������������������������������������������������0000644�0001762�0000144�00000014504�12732246464�015545� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Create LaTeX state tables of all attractors in <attractorInfo>. # Genes are grouped according to <grouping>. # An additional title can be supplied in <title>. # If <plotFixed> is set, fixed variables are included in the plot. # <onColor> and <offColor> specify the colors of ON/1 and OFF/0 states. # <file> is the name of the output LaTeX document. attractorsToLaTeX <- function (attractorInfo, subset, title = "", grouping = list(), plotFixed = TRUE, onColor="[gray]{0.9}",offColor="[gray]{0.6}", reverse=FALSE, file="attractors.tex") { stopifnot(inherits(attractorInfo,"AttractorInfo") || inherits(attractorInfo, "SymbolicSimulation")) if (inherits(attractorInfo,"AttractorInfo")) { numGenes <- length(attractorInfo$stateInfo$genes) geneNames <- attractorInfo$stateInfo$genes } else { numGenes <- ncol(attractorInfo$attractors[[1]]) geneNames <- colnames(attractorInfo$attractors[[1]]) } if (missing(subset)) subset <- seq_along(attractorInfo$attractors) else if (any(subset > length(attractorInfo$attractors))) stop("You specified an attractor index that is greater than the total number of attractors in 'subset'!") # escape "_" in LaTeX genes = gsub("_", "\\_", attractorInfo$stateInfo$genes) # determine list of genes to be plotted whichFixed <- which(attractorInfo$stateInfo$fixedGenes != -1) if (plotFixed | (length(whichFixed) == 0)) plotIndices <- seq_len(numGenes) else plotIndices <- (seq_len(numGenes))[-whichFixed] if (inherits(attractorInfo,"AttractorInfo")) { # convert decimal state numbers to binary state matrices (one for each attractor) binMatrices <- lapply(attractorInfo$attractors,function(attractor) { res <- matrix(apply(attractor$involvedStates,2,function(state) dec2bin(state,numGenes)[plotIndices]),nrow=length(plotIndices)) }) # count the numbers of attractors with equal lengths attractorLengths <- sapply(attractorInfo$attractors,function(attractor) { if (is.null(attractor$initialStates)) # simple attractor ncol(attractor$involvedStates) else # complex attractor => extra treatment -1 }) } else { binMatrices <- lapply(attractorInfo$attractors, t) attractorLengths <- sapply(binMatrices, ncol) } lengthTable <- table(attractorLengths) lengthTable <- lengthTable[as.integer(names(lengthTable)) != -1] # Open output file, and print header sink(file) cat("% Please include packages tabularx and colortbl in your master document:\n", "% \\usepackage{tabularx,colortbl}\n\n\n",sep="") res <- lapply(seq_along(lengthTable),function(i) # accumulate all attractors with equal length in one matrix and plot them { len <- as.integer(names(lengthTable)[i]) attractorIndices <- intersect(which(attractorLengths == len), subset) if (length(attractorIndices) > 0) { # build accumulated matrix totalMatrix <- c() for (mat in binMatrices[attractorIndices]) { totalMatrix <- cbind(totalMatrix,mat) } rownames(totalMatrix) <- geneNames[plotIndices] colnames(totalMatrix) <- sapply(attractorIndices,function(i)paste("Attr",i,".",seq_len(len),sep="")) if(length(grouping)>0) { # reorder genes according to the supplied groups totalMatrix <- totalMatrix[unlist(grouping$index),] separationPositions <- c(1,cumsum(sapply(grouping$index,length)+1)) } else separationPositions <- c() # output table header cat("\\begin{table}[ht]\n", "\\begin{center}\n", "\\caption{", title, "Attractors with ",len," state(s)}\n", "\\begin{tabularx}{\\linewidth}{l", paste(rep(paste(rep(">{\\centering\\arraybackslash}X", len), collapse = " "),length(intersect(which(attractorLengths == len),subset))),collapse="|"), "}\\hline\n", sep="") cat("\t&\t",paste(paste("\\multicolumn{",len,"}{c}{Attr. ",intersect(which(attractorLengths == len),subset),"}", sep=""),collapse="\t&\t"),"\\\\\n") # output active and inactive states if (reverse) indices <- rev(seq_len(nrow(totalMatrix))) else indices <- seq_len(nrow(totalMatrix)) for(j in indices) { separator <- which(separationPositions==j) if (length(separator) != 0) { cat("\\hline \\multicolumn{",ncol(totalMatrix) + 1,"}{c}{",grouping$class[separator],"}\\\\ \\hline \n",sep="") } cat("\\textbf{",rownames(totalMatrix)[j],"}\t&\t",sep="") for(i in seq_len(ncol(totalMatrix))) { if(totalMatrix[j,i] == 1) cat("\\cellcolor",onColor,"1",sep="") else cat("\\cellcolor",offColor,"0",sep="") if (i < ncol(totalMatrix)) cat("\t&\t") } cat("\\\\\n") } # output frequency of attractor (basin size / number of states) if (inherits(attractorInfo,"AttractorInfo")) { if (is.null(attractorInfo$stateInfo$table)) freq <- rep(NA, length(attractorIndices)) else freq <- round(sapply(attractorInfo$attractors[attractorIndices], function(attractor)attractor$basinSize/ncol(attractorInfo$stateInfo$table)) * 100,2) } else { if (!is.null(attractorInfo$graph)) { freq <- round(sapply(attractorIndices, function(i)sum(attractorInfo$graph$attractorAssignment == i)/ nrow(attractorInfo$graph)) * 100,2) } else freq <- rep(NA, length(attractorIndices)) } if (!isTRUE(all(is.na(freq)))) { cat("\\hline Freq.\t&\t",paste(paste("\\multicolumn{",len,"}{c}{",freq,"\\%}", sep=""),collapse="\t&\t"),"\\\\\n") } cat("\\hline\\end{tabularx}\n\\end{center}\n", "\\end{table}\n\n",sep="") totalMatrix } }) # return a list of accumulated matrices sink() names(res) <- names(lengthTable) return(res) } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/R/edgeDetector.R����������������������������������������������������������������������������0000644�0001762�0000144�00000003510�12732246464�014547� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Provides several methods to binarize a vector consisting of real values. # The methods are edge-detector-based. With <edge>="firstEdge", # the first "significant" edge in the sorted data is the threshold for the binarization. # With the <scaling> factor, the size of the first edge can be adapted. # The "maxEdge" method searches for the edge with the highest gradient. edgeDetector <- function(vector,scaling=1,edge=c("firstEdge","maxEdge")) { distance<-c() binarizeddata<-vector #sort data sortedvector<-sort(vector) #distance calculation for(i in seq_len(length(vector)-1)) { distance[i]<-sortedvector[i+1]-sortedvector[i] } switch(match.arg(edge), #the index of the first edge with distance[i]>threshold is determined firstEdge= { threshold<-scaling*((sortedvector[length(vector)]-sortedvector[1])/((length(vector)-1))) index <- 0 for(i in seq_len(length(vector)-1)) { if(distance[i]>threshold) { index<-i break } } }, #the index of the edge with the maximal gradient is determined maxEdge= { index <- which.max(distance) }, stop("'method' must be one of \"firstEdge\",\"maxEdge\"") ) #based on the edge index, the binarization is performed if(index!=0) { for(i in seq_len(length(vector))) { if(vector[i]>=sortedvector[index+1]) binarizeddata[i]<-1 else binarizeddata[i]<-0 } threshold=(sortedvector[index+1]+sortedvector[index])/2 return(list(bindata=binarizeddata,thresholds=as.numeric(threshold))) } else #if no edge was found, a vector consisting of zeros is returned { binarizeddata<-(sapply(vector,function(x) 0)) return(list(bindata=binarizeddata,thresholds=NA)) } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/R/plotSequence.R����������������������������������������������������������������������������0000644�0001762�0000144�00000017211�12733224732�014616� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plotSequence <- function (network, startState, includeAttractorStates = c("all", "first", "none"), sequence, title = "", mode = c("table", "graph"), plotFixed = TRUE, grouping = list(), onColor = "#4daf4a", offColor = "#e41a1c", layout, drawLabels = TRUE, drawLegend = TRUE, highlightAttractor = TRUE, reverse = FALSE, ### new parameters borderColor = "black", eps=0.1, attractor.sep.lwd = 2, attractor.sep.col = "blue", ...) { if (!missing(network)) { stopifnot(inherits(network, "BooleanNetwork") || inherits(network, "SymbolicBooleanNetwork")) if (missing(startState) || !missing(sequence)) stop("Either \"network\" and \"startState\" or \"sequence\" must be provided!") sequence <- getPathToAttractor(network = network, state = startState, includeAttractorStates = includeAttractorStates) numGenes <- length(network$genes) if (match.arg(mode, c("table", "graph")) == "table") { whichFixed <- which(network$fixed != -1) if (plotFixed | (length(whichFixed) == 0)) plotIndices <- seq_len(numGenes) else plotIndices <- seq_len(numGenes)[-whichFixed] attractor <- attributes(sequence)$attractor sequence <- sequence[, plotIndices, drop = FALSE] attributes(sequence)$attractor <- attractor } } else { if (missing(sequence) || !missing(startState)) { stop("Either \"network\" and \"startState\" or \"sequence\" must be provided!") } } switch(match.arg(mode, c("table", "graph")), table = { totalMatrix <- t(sequence) if (length(grouping) > 0) totalMatrix = totalMatrix[unlist(grouping$index), , drop = FALSE] if (is.null(colnames(totalMatrix))) { colnames(totalMatrix) <- seq_len(ncol(totalMatrix)) } else if (length(grep("t = ", colnames(totalMatrix)) == ncol(totalMatrix))) { colnames(totalMatrix) <- sapply(colnames(totalMatrix), gsub, pattern = "t = ", replacement = "", fixed = TRUE) } if (!reverse) totalMatrix <- totalMatrix[nrow(totalMatrix):1, , drop = F] plot(0, type="n", xlim = c(0, ncol(totalMatrix)), ylim = c(-2, nrow(totalMatrix)+1), xlab = "", ylab = "", axes = FALSE, main = title, ...) len <- ncol(totalMatrix) xStart <- 1 unitFactor <- (len - (2 * eps))/len axis(3, eps, "t = ", lty = "blank", yaxt = "s", xaxt = "s", xaxs = "i", pos = nrow(totalMatrix)+1) axis(3, eps + (1:ncol(totalMatrix))*unitFactor - unitFactor/2, ((1:ncol(totalMatrix)) - 1), lty = "blank", yaxt = "s", xaxt = "s", xaxs = "i", pos = nrow(totalMatrix)+1) axis(2, seq_len(nrow(totalMatrix)) - 0.5, rownames(totalMatrix), yaxt = "s", xaxt = "s", xaxs = "i", las = 2) startX <- eps for (i in seq_len(ncol(totalMatrix))) { for (j in seq_len(nrow(totalMatrix))) { rectCol <- ifelse(totalMatrix[j, i], onColor, offColor) rect(startX, j - 1, startX + unitFactor, j, col = rectCol, border = borderColor, lwd = 2) } startX <- startX + unitFactor if (i %% len == 0) { startX <- startX + 2*eps } } if (length(grouping) > 0) { if(!is.null(grouping$class)) { sepPos = cumsum(sapply(grouping$index, length)) abline(h = sepPos[-length(sepPos)], col = "black", lwd = 3) text(ncol(totalMatrix)/2, sepPos - 0.5, grouping$class, cex = 0.9) } } if (!is.null(attributes(sequence)$attractor) && highlightAttractor) { attrStart <- min(attributes(sequence)$attractor) - 1 #lines(x = c(attrStart, attrStart), y = c(-1, nrow(totalMatrix)) + 0.5) #abline(v = eps+attrStart*unitFactor, lwd = attractor.sep.lwd, col = attractor.sep.col) rect(xleft = eps+attrStart*unitFactor, xright = eps+attrStart*unitFactor, ybottom = -0.5, ytop = nrow(totalMatrix)+0.75, lwd = attractor.sep.lwd, border = attractor.sep.col) arrows(x0 = eps+attrStart*unitFactor, y0 = nrow(totalMatrix)+0.5, x1 = ncol(totalMatrix) - eps, y1 = nrow(totalMatrix)+0.5, length = 0.1, angle = 20, code = 3, col = attractor.sep.col) xpd.prev <- par()$xpd par(xpd=T) text(eps+attrStart*unitFactor, nrow(totalMatrix)+1, "Attractor", pos = 4) par(xpd=xpd.prev) } #if (drawLegend) legend(x = "bottomright", pch = c(15, 15), col = c(onColor, offColor), legend = c("active", "inactive"), cex = 0.7, horiz = T) if (drawLegend) legend(x = 0, y = -2, pch = c(15, 15), col = c(onColor, offColor), legend = c("active", "inactive"), cex = 0.7, horiz = T, xpd=T) netGenes <- if (missing(network)) colnames(sequence) else network$genes return(totalMatrix[netGenes,,drop=F]) }, graph = { if (installed.packages()["igraph", "Version"] < package_version("0.6")) bias <- 1 else bias <- 0 args <- list(...) if (is.null(args$vertex.size)) args$vertex.size <- 2 if (is.null(args$edge.arrow.mode)) args$edge.arrow.mode <- 0 if (is.null(args$rescale)) args$rescale <- !missing(layout) if (is.null(args$vertex.label.cex)) args$vertex.label.cex <- 0.75 if (is.null(args$vertex.label.dist)) args$vertex.label.dist <- 0.25 if (is.null(args$vertex.label.degree)) args$vertex.label.degree <- -pi/2 if (is.null(args$vertex.color)) args$vertex.color <- "grey" if (is.null(args$edge.arrow.size)) args$edge.arrow.size <- 0.5 if (missing(layout)) layout <- matrix(c(seq(-1, 1, length.out = nrow(sequence)), rep(0, nrow(sequence))), ncol = 2) states <- apply(sequence, 1, paste, collapse = "") nodes <- data.frame(seq_along(states), stringsAsFactors = FALSE) lastAttractorEdgeIndex <- NULL if (length(states) > 1) { initialStates <- 1:(length(states) - 1) nextStates <- 2:length(states) edgeMatrix <- data.frame(initialStates, nextStates) if (!is.null(attributes(sequence)$attractor)) { attractorEdge <- c(max(attributes(sequence)$attractor), min(attributes(sequence)$attractor)) if (all(attractorEdge <= length(states))) { edgeMatrix <- rbind(edgeMatrix, attractorEdge) lastAttractorEdgeIndex <- nrow(edgeMatrix) } } } else { edgeMatrix <- data.frame(matrix(nrow = 0, ncol = 2)) } graph <- graph.data.frame(edgeMatrix, vertices = nodes, directed = TRUE) if (drawLabels) labels <- states else labels <- NA if (highlightAttractor && !is.null(attributes(sequence)$attractor)) { attractorEdgeIndices <- intersect(seq_len(nrow(edgeMatrix)), c(attributes(sequence)$attractor, nrow(edgeMatrix))) - bias graph <- set.edge.attribute(graph, "width", index = attractorEdgeIndices, value = 3) } if (!is.null(lastAttractorEdgeIndex)) { graph <- set.edge.attribute(graph, "curved", value = 0) graph <- set.edge.attribute(graph, "curved", index = lastAttractorEdgeIndex - bias, value = 0.5) } plot(graph, layout = layout, vertex.label = labels, vertex.label.cex = args$vertex.label.cex, vertex.size = args$vertex.size, vertex.color = args$vertex.color, vertex.label.dist = args$vertex.label.dist, vertex.label.degree = args$vertex.label.degree, edge.arrow.size = args$edge.arrow.size, rescale = args$rescale, main = title, ...) return(graph) }) } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/R/testNetworkProperties.R�������������������������������������������������������������������0000644�0001762�0000144�00000033267�12732246464�016573� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Calculate the Gini index of <x> Gini <- function(x) { n <- length(x) x <- sort(x) 1/(n-1)*(n+1-2*(sum((n+1-seq_len(n))*x)/sum(x))) } # Compare the Hamming distances of the successor states of states and their perturbed copies. testTransitionRobustness <- function(network, accumulate=TRUE, params=list()) { res <- do.call("perturbTrajectories", c(list(network=network, measure="hamming"), params)) if (accumulate) return(res$value) else return(res$stat) } # Test attractor robustness by searching the original attractor # in <params$numSamples> perturbed copies of <network> or by perturbing the state trajectories # and checking whether the attractors change. testAttractorRobustness <- function(network, accumulate=TRUE, params=list()) { origAttrs <- getAttractors(network,canonical=TRUE) # decode parameters if (is.null(params$perturb)) perturb <- "functions" else perturb <- params$perturb if (params$perturb == "trajectories") { params$perturb <- NULL if (!is.null(params$copies)) { params$numSamples <- params$copies params$copies <- NULL } res <- do.call("perturbTrajectories", c(list(network=network, measure="attractor"), params)) if (accumulate) return(res$value) else return(res$stat) } else { if (is.null(params$method)) method <- "bitflip" else method <- params$method if (is.null(params$maxNumBits)) maxNumBits <- 1 else maxNumBits <- params$maxNumBits if (is.null(params$numStates)) numStates <- max(1,2^length(network$genes)/100) else numStates <- params$numStates if (is.null(params$simplify)) simplify <- (perturb[1] == "states") else simplify <- params$simplify if (is.null(params$readableFunctions)) readableFunctions <- FALSE else readableFunctions <- params$readableFunctions if (is.null(params$excludeFixed)) excludeFixed <- TRUE else excludeFixed <- params$excludeFixed if (!is.null(params$numSamples)) copies <- params$numSamples else if (is.null(params$copies)) copies <- 100 else copies <- params$copies perturbationResults <- unlist(sapply(seq_len(copies),function(copy) { # get attractors of perturbed network perturbedAttrs <- getAttractors(perturbNetwork(network, perturb=perturb, method=method, maxNumBits=maxNumBits, numStates=numStates, simplify=simplify, readableFunctions=readableFunctions, excludeFixed=excludeFixed)) # try to find original attractors in perturbed network attractorIndices <- sapply(origAttrs$attractors,function(attractor1) { index <- which(sapply(perturbedAttrs$attractors,function(attractor2) { identical(attractor1,attractor2) })) if (length(index) == 0) NA else index }) return(sum(!is.na(attractorIndices))) })) if (accumulate) # return overall percentage of found attractors return(sum(perturbationResults)/(length(origAttrs$attractors) * copies) * 100) else # return percentage of found attractors for each run return(perturbationResults/(length(origAttrs$attractors)) * 100) } } # Calculate the in-degrees of states in the network. # If <accumulate> is true, the in-degrees are accumulated # using the Gini coefficient testIndegree <- function(network,accumulate=TRUE,params) { attr <- getAttractors(network) graph <- plotStateGraph(attr,plotIt=FALSE) # calculate in-degree using igraph if (accumulate) # accumulate using Gini index return(Gini(degree(graph,mode="in",loops=TRUE))) else # return the raw degrees return(degree(graph,mode="in",loops=TRUE)) } # Calculate the Kullback-Leibler distance of # two distributions <x> and <y>. # <bins> is the number of bins used for discretization. # <minVal> is the minimum value to be used instead of zero kullbackLeiblerDistance <- function(x,y,bins=list(),minVal=0.00001) { x <- cut(x,breaks=bins,include.lowest=T,right=F) y <- cut(y,breaks=bins,include.lowest=T,right=F) tx <- table(x) ty <- table(y) tx <- tx/length(x) ty <- ty/length(y) tx[tx < minVal] <- minVal ty[ty < minVal] <- minVal return(sum(tx*(log(tx/ty)))) } # Generic function to test properties of <network> against random networks. # <numRandomNets> specifies the number of random networks to generate. # <testFunction> is the name of a function that returns a distribution of test values or a test statistic for each network, # which receives <testFunctionParams> as optional parameters. # If <accumulation> is "characteristic", the test function must return a characteristic/test statistic value for each value, and # a histogram of these value is plotted with a line for the original network. # If <accumulation> is "kullback_leibler", a histogram of the Kullback-Leibler distances of the test value distribution for the original network # and the random networks is plotted. # <sign.level> is the desired significance level for <network> in comparison to the random networks. # <functionGeneration>,<simplify>,<noIrrelevantGenes>,<validationFunction>,<failureInterations, # <d_lattice>,<zeroBias> are the corresponding parameters of generateRandomNKNetwork(). # <title> is the title of the plot, <xlab> is its x axis caption, <breaks> is the corresponding histogram parameter, and ... supplies further # graphical parameters testNetworkProperties <- function(network, numRandomNets=100, testFunction="testIndegree", testFunctionParams=list(), accumulation=c("characteristic","kullback_leibler"), alternative=c("greater","less"), sign.level=0.05, drawSignificanceLevel=TRUE, klBins,klMinVal=0.00001, linkage=c("uniform","lattice"), functionGeneration=c("uniform","biased"), validationFunction, failureIterations=10000, simplify=FALSE, noIrrelevantGenes=TRUE, d_lattice=1, zeroBias=0.5, title="", xlab, xlim, breaks=30, ...) { stopifnot(inherits(network,"BooleanNetwork") || inherits(network,"SymbolicBooleanNetwork")) if (is.character(testFunction)) testFunctionName <- testFunction else testFunctionName <- "" testFunction <- match.fun(testFunction) accumulate <- (match.arg(accumulation) == "characteristic") origResult <- testFunction(network,accumulate,testFunctionParams) numGenes <- length(network$interactions) if (inherits(network,"SymbolicBooleanNetwork")) inputGenes <- sapply(network$interactions,function(interaction)length(getInputs(interaction))) else inputGenes <- sapply(network$interactions,function(interaction)length(interaction$input)) if (missing(validationFunction)) validationFunction <- NULL randomResults <- lapply(seq_len(numRandomNets),function(i) { randomNet <- generateRandomNKNetwork(n=numGenes, k=inputGenes, topology="fixed", linkage=linkage, functionGeneration=functionGeneration, validationFunction=validationFunction, failureIterations=failureIterations, simplify=simplify, noIrrelevantGenes=noIrrelevantGenes, d_lattice=d_lattice, zeroBias=zeroBias) randomRes <- testFunction(randomNet,accumulate,testFunctionParams) return(randomRes) }) if (accumulate) randomResults <- unlist(randomResults) args <- list(...) res <- switch(match.arg(accumulation,c("characteristic","kullback_leibler")), characteristic = { # get one value for each random network, and plot a histogram of these values if (missing(xlab)) { xlab <- switch(testFunctionName, testIndegree = "Gini index of state in-degrees", testAttractorRobustness = "% of identical attractors", testTransitionRobustness = "Normalized Hamming distance", "accumulated results" ) } if (missing(xlim)) { #xlim <- switch(testFunctionName, # testIndegree = c(0,1), # testAttractorRobustness = c(0,100), # c(min(c(origResult,randomResults)), # max(c(origResult,randomResults))) #) xlim <- range(c(origResult, randomResults)) } alternative <- match.arg(alternative, c("greater","less")) # calculate p-value if (alternative == "greater") pval <- sum(randomResults < origResult) / length(randomResults) else pval <- sum(randomResults > origResult) / length(randomResults) # plot histogram if (testFunctionName == "testIndegree" | testFunctionName == "testAttractorRobustness") { r <- hist(randomResults,xlim=xlim,xlab=xlab,main=title,xaxt="n",...) axis(side=1,at=seq(xlim[1],xlim[2],length.out=11)) } else { # plot with default axis r <- hist(randomResults,xlim=xlim,xlab=xlab,main=title,...) } # plot result for original network abline(v=origResult,col="red") if (alternative == "greater") text(x=origResult,pos=2,y=max(r$counts)*0.75, labels=paste("> ",round(pval * 100),"%\nof random results",sep=""), col="red",cex=0.75) else text(x=origResult,pos=4,y=max(r$counts)*0.75, labels=paste("< ",round(pval * 100),"%\nof random results",sep=""), col="red",cex=0.75) if (drawSignificanceLevel) # plot line for significance level { if (alternative == "greater") { quant <- quantile(randomResults,1.0-sign.level) abline(v=quant,col="blue") text(x=quant,pos=2,y=max(r$counts)*0.85, labels=paste((1.0-sign.level) * 100,"% quantile",sep=""), col="blue",cex=0.75) } else { quant <- quantile(randomResults,sign.level) abline(v=quant,col="blue") text(x=quant,pos=4,y=max(r$counts)*0.85, labels=paste(sign.level * 100,"% quantile",sep=""), col="blue",cex=0.75) } } list(hist=r,pval=1.0-pval,significant=(1.0-pval<=sign.level)) }, kullback_leibler = { # a distribution of values is returned for each network, # plot the Kullback-Leibler distances to the original network if (missing(xlab)) xlab <- "Kullback-Leibler distance" if (missing(klBins)) { bins <- unique(c(origResult,unlist(randomResults))) bins <- c(bins,max(bins) + 1) } else { bins <- unique(c(origResult,unlist(randomResults))) if (klBins < length(bins)) bins <- seq(min(bins),max(bins),length.out=klBins+1) else bins <- c(bins,max(bins) + 1) } vals <- sapply(randomResults,function(results) kullbackLeiblerDistance(origResult,results,bins=bins,minVal=klMinVal)) r <- hist(vals,xlab=xlab,main=title,breaks=breaks,...) list(hist=r) }, stop("'accumulation' must be one of \"characteristic\",\"kullback_leibler\"")) return(res) } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/R/plotStateGraph.R��������������������������������������������������������������������������0000644�0001762�0000144�00000021263�12733201216�015102� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Plots a graph that visualizes the state transitions and attractor basins. <attractorInfo> is an object # of class AttractorInfo. This requires the igraph package. # If <highlightAttractors> is set, attractor edges are drawn bold. # If <colorBasins> is true, each basin is drawn in a different color. # Colors can be provided in <colorSet>. # <layout> specifies the graph layouting function. # If <piecewise> is true, subgraphs are layouted separately. # <basin.lty> and <attractor.lty> specify the line types used to draw states in the basins # and in the attractors (if <highlightAttractor> is set). # If <plotIt> is not set, only the igraph object is returned, but no graph is plotted. # ... provides further graphical parameters for the plot. # Returns an object of class igraph plotStateGraph <- function(stateGraph, highlightAttractors = TRUE, colorBasins = TRUE, colorSet, drawLegend = TRUE, drawLabels = FALSE, layout = layout.kamada.kawai, piecewise = FALSE, basin.lty = 2, attractor.lty = 1, plotIt = TRUE, colorsAlpha = c(colorBasinsNodeAlpha = .3, colorBasinsEdgeAlpha = .3, colorAttractorNodeAlpha = 1, colorAttractorEdgeAlpha = 1), ...) { stopifnot(inherits(stateGraph,"AttractorInfo") || inherits(stateGraph,"TransitionTable") || inherits(stateGraph,"SymbolicSimulation")) args <- list(...) if (!is.null(args$attractorInfo)) { warning("The parameter \"attractorInfo\" is deprecated. Use \"stateGraph\" instead!") stateGraph <- args$attractorInfo } if(is.null(colorsAlpha) | (length(colorsAlpha) != 4)) { warning("colorsAlpha parameter not properly specified. Parameter will be set to opaque values (1,1,1,1).") colorsAlpha <- c(1,1,1,1) } if (any(colorsAlpha < 0 | colorsAlpha > 1)) { warning("colorsAlpha parameters are not in range [0,1] - they will be normalized.") colorsAlpha <- colorsAlpha/sum(colorsAlpha) } if (installed.packages()["igraph","Version"] < package_version("0.6")) bias <- 1 else bias <- 0 symbolic <- FALSE if (inherits(stateGraph,"AttractorInfo")) { stateGraph <- getTransitionTable(stateGraph) } else if (inherits(stateGraph,"SymbolicSimulation")) { symbolic <- TRUE if (is.null(stateGraph$graph)) stop(paste("This SymbolicSimulation structure does not contain transition table information.", "Please re-run simulateSymbolicModel() with returnGraph=TRUE!")) stateGraph <- stateGraph$graph } geneCols <- setdiff(colnames(stateGraph), c("attractorAssignment","transitionsToAttractor")) numGenes <- (length(geneCols)) / 2 from <- apply(stateGraph[ , 1:numGenes, drop=FALSE], 1, paste, collapse="") to <- apply(stateGraph[ , ((numGenes+1):(2*numGenes)), drop=FALSE], 1, paste, collapse="") vertices <- unique(c(from, to)) edges <- data.frame(from, to) res <- graph.data.frame(edges, vertices = as.data.frame(vertices), directed=TRUE) res <- set.vertex.attribute(res, "name", value = vertices) if ("attractorAssignment" %in% colnames(stateGraph)) attractorAssignment <- stateGraph$attractorAssignment else { attractorAssignment <- c() colorBasins <- FALSE drawLegend <- FALSE } if ("transitionsToAttractor" %in% colnames(stateGraph)) attractorIndices <- to[stateGraph$transitionsToAttractor == 0] else { if (highlightAttractors) { warning("The parameter \"highlightAttractors\" is set to true although not enough information is available in stateGraph. Highlightning of attractors will be set to FALSE.") } attractorIndices <- c() highlightAttractors <- FALSE } # determine nodes and edges that belong to attractors # set default edge width and line type res <- set.edge.attribute(res, "width" , value = 0.8) res <- set.edge.attribute(res, "lty", value = basin.lty) if (highlightAttractors) { attractorEdgeIndices <- which(apply(edges, 1 , function(edge){ return( (edge[1] %in% attractorIndices) & (edge[2] %in% attractorIndices) ) })) - bias # set different edge width and line type for attractor edges res <- set.edge.attribute(res, "width", index = attractorEdgeIndices, value = 2) res <- set.edge.attribute(res, "lty", index = attractorEdgeIndices, value = attractor.lty) } if (missing(colorSet)) { # define default colors colorSet <- c("blue","green","red","darkgoldenrod","gold","brown","cyan", "purple","orange","seagreen","tomato","darkgray","chocolate", "maroon","darkgreen","gray12","blue4","cadetblue","darkgoldenrod4", "burlywood2") } # check for certain graphical parameters in ... # that have different default values in this plot if (is.null(args$vertex.size)) args$vertex.size <- 2 if (is.null(args$edge.arrow.mode)) args$edge.arrow.mode <- 2 if (is.null(args$edge.arrow.size)) args$edge.arrow.size <- 0.3 if (is.null(args$vertex.label.cex)) args$vertex.label.cex <- 0.5 if (is.null(args$vertex.label.dist)) args$vertex.label.dist <- 1 attractors <- unique(attractorAssignment) attractors <- attractors[!is.na(attractors)] if (colorBasins) { res <- set.edge.attribute(res, "color", value = "darkgrey") for (attractor in attractors) { # determine nodes and edges belonging to the basin of <attractor> attractorGraphIndices <- NULL basinIndices <- which(attractorAssignment == attractor) if(!is.null(stateGraph$transitionsToAttractor)) { attractorGraphIndices <- intersect(basinIndices, which(stateGraph$transitionsToAttractor == 0)) basinIndices <- base::setdiff(basinIndices, attractorGraphIndices) } if (!symbolic) { # change vertex color res <- set.vertex.attribute(res, "color", basinIndices - bias, value = adjustcolor(colorSet[(attractor-1) %% length(colorSet) + 1], alpha.f = colorsAlpha[1])) res <- set.vertex.attribute(res, "frame.color", basinIndices - bias, value = adjustcolor("black", alpha.f = colorsAlpha[1])) if(!is.null(attractorGraphIndices)) { res <- set.vertex.attribute(res, "color", attractorGraphIndices - bias, value = adjustcolor(colorSet[(attractor-1) %% length(colorSet) + 1], alpha.f = colorsAlpha[3])) res <- set.vertex.attribute(res, "frame.color", attractorGraphIndices - bias, value = adjustcolor("black", alpha.f = colorsAlpha[3])) } if (drawLabels) res <- set.vertex.attribute(res,"label.color",basinIndices - bias, value=colorSet[(attractor-1) %% length(colorSet) + 1]) } # change edge color res <- set.edge.attribute(res, "color", index = basinIndices - bias, value = adjustcolor(colorSet[(attractor-1) %% length(colorSet) + 1], alpha.f = colorsAlpha[2])) if(!is.null(attractorGraphIndices)) { res <- set.edge.attribute(res, "color", index = attractorGraphIndices - bias, value = adjustcolor(colorSet[(attractor-1) %% length(colorSet) + 1], alpha.f = colorsAlpha[4])) } } } if(plotIt) { if (drawLabels) labels <- vertices else labels <- NA if (piecewise) layout <- piecewise.layout(res, layout) if (symbolic) autocurve.edges(res) do.call("plot",c(list(res),args,"vertex.label"=list(labels), "layout"=list(layout))) #plot(res,vertex.size=args$vertex.size,layout=layout, # edge.arrow.mode=args$edge.arrow.mode, # vertex.label=labels,vertex.label.cex=args$vertex.label.cex, # vertex.label.dist=args$vertex.label.dist, # ...) if (colorBasins & drawLegend) legend(x="bottomleft",pch=15,ncol=1, col=colorSet[attractors-1 %% length(colorSet) + 1], legend = paste("Attractor",seq_along(attractors)), cex=0.5) } return(invisible(res)) } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/R/getAttractors.R���������������������������������������������������������������������������0000644�0001762�0000144�00000025767�12732246464�015021� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Identify attractors in a Boolean network. # <network> is a BooleanNetwork/SymbolicBooleanNetwork structure specifying the network. # <method> specifies what kind of search is conducted: "exhaustive" performs a full search over all states, # "random" generates <startStates> random initial states, and "chosen" uses the states supplied in <startStates>. # "sat.exhaustive" and "sat.restricted" start a SAT-based attractor search. # <genesON> and <genesOFF> are lists of genes to be set to ON/1 or OFF/0 respectively. # If <canonical> is true, states in the attractors are reordered such that the "smallest" state is the first # <randomChainLength> is the number of random transitions performed for the identification of an asynchronous attractor # If <avoidSelfLoops> is true, loops to the same state are eliminated from asynchronous attractors. # <geneProbabilities> optionally specifies the probabilities of choosing a gene for an asynchronous update. # <maxAttractorLength> specifies the maximum attractor length for method="sat.restricted" and the initial search length for method="sat.exhaustive". # if <returnTable> is true, the transition table is included in the result. getAttractors <- function (network, type=c("synchronous","asynchronous"), method=c("exhaustive","sat.exhaustive","sat.restricted","random","chosen"), startStates=list(), genesON = c(), genesOFF = c(), canonical=TRUE, randomChainLength = 10000, avoidSelfLoops = TRUE, geneProbabilities = NULL, maxAttractorLength=Inf, returnTable=TRUE) { stopifnot(inherits(network,"BooleanNetwork") || inherits(network,"SymbolicBooleanNetwork")) symbolic <- inherits(network,"SymbolicBooleanNetwork") nonFixedPositions <- which(network$fixed == -1) type <- match.arg(type, c("synchronous","asynchronous")) if (type == "asynchronous") { if (symbolic) stop("Only synchronous updates are allowed for symbolic networks!") if (length(method) == 1 & match.arg(method) == "exhaustive") stop("Asynchronous attractor search cannot be performed in exhaustive search mode!") if (length(geneProbabilities) > 0 ) { if (length(geneProbabilities) != length(network$genes)) stop("Please supply exactly one probability for each gene!") if (abs(1.0 - sum(geneProbabilities)) > 0.0001) stop("The supplied gene probabilities do not sum up to 1!") } } if (!is.null(maxAttractorLength) && is.infinite(maxAttractorLength)) maxAttractorLength <- NULL if (length(method) > 1) # if no method is supplied, infer method from the type of <startStates> { if (type == "asynchronous" & length(startStates) == 0) { startStates <- max(round(2 ^ sum(network$fixed == -1) / 20), 5) method = "random" } else if (is.numeric(startStates)) { if (length(startStates) > 1) stop("Please supply either the number of start states or a list of start states in startStates!") else method <- "random" } else if (is.list(startStates) & (length(startStates) > 0)) method <- "chosen" else if (!is.null(maxAttractorLength)) method <- "sat.restricted" else method <- "exhaustive" } # fix genes according to genesON and genesOFF if (length(genesON) > 0) { network <- fixGenes(network,genesON,1) } if (length(genesOFF) > 0) { network <- fixGenes(network,genesOFF,0) } if (symbolic) { return(simulateSymbolicModel(network, method=method, startStates=startStates, maxAttractorLength=maxAttractorLength, returnGraph=returnTable && !(match.arg(method) %in% c("sat.exhaustive", "sat.restricted")), returnSequences=FALSE, returnAttractors=TRUE, canonical=canonical)) } else { method <- match.arg(method,c("exhaustive","sat.exhaustive","sat.restricted","random","chosen")) if (method == "sat.restricted" && is.null(maxAttractorLength)) stop("maxAttractorLength must be set for method=\"sat.restricted\"!") if ((length(network$genes) > 29) && (method == "exhaustive") && (type == "synchronous")) { method <- "sat.exhaustive" warning("An exhaustive state space search is restricted to networks with at most 29 genes. Switching to the SAT-based exhaustive search, which supports more genes, but does not return a transition table!") } else if (method %in% c("sat.exhaustive", "sat.restricted") && type != "synchronous") stop("SAT-based search can only be used for synchronous networks!") startStates <- switch(method, exhaustive = list(), sat.exhaustive = list(), sat.restricted = list(), random = { if (!is.numeric(startStates)) stop("Please supply the number of random states in startStates!") if (startStates > (2 ^ length(nonFixedPositions))) # more start states than in the full network { if (type == "synchronous") { list() warning(paste("The number of random states is set larger than the total", "number of states. Performing an exhaustive search!")) } else { warning(paste("The number of random states is set larger than the total ", "number of states! The maximum number of different states is ",2 ^ length(nonFixedPositions)),"!",sep="") startStates = 2 ^ length(nonFixedPositions) } } # generate random matrix generateRandomStartStates(network, startStates) }, chosen = { if (!is.list(startStates) | length(startStates) == 0) stop("No start states supplied!") if (!all(sapply(startStates,function(x)(length(x) == length(network$genes))))) stop(paste("Please provide binary vectors with",length(network$genes), "elements in startStates!")) fixedGenes <- which(network$fixed != -1) statesValid <- sapply(startStates,function(state) { isTRUE(all(state[fixedGenes] == network$fixed[fixedGenes])) }) startStates <- startStates[statesValid] if (!any(statesValid)) stop("None of the supplied start states matched the restrictions of the fixed genes!") if (!all(statesValid)) warning("Some of the supplied start states did not match the restrictions of the fixed genes and were removed!") startStates } ) if (!is.null(maxAttractorLength)) { if (!(method %in% c("sat.exhaustive", "sat.restricted"))) stop("maxAttractorLength can only be used with method=\"sat.exhaustive\" or method=\"sat-res.ricted\"!") maxAttractorLength <- as.integer(maxAttractorLength) } specialInitialization <- NULL convertedStartStates <- NULL if (length(startStates) > 0) convertedStartStates <- sapply(startStates,function(x)bin2dec(x,length(network$genes))) # the C code requires all interactions to be coded into one vector: # Assemble all input gene lists in one list <inputGenes>, and remember the split positions in <inputGenePositions>. inputGenes <- as.integer(unlist(lapply(network$interactions,function(interaction)interaction$input))) inputGenePositions <- as.integer(cumsum(c(0,sapply(network$interactions, function(interaction)length(interaction$input))))) # Do the same for the transition functions. transitionFunctions <- as.integer(unlist(lapply(network$interactions,function(interaction)interaction$func))) transitionFunctionPositions <- as.integer(cumsum(c(0,sapply(network$interactions, function(interaction)length(interaction$func))))) searchType <- switch(type, synchronous = if (method == "sat.exhaustive") 2 else if (method == "sat.restricted") 3 else 0, asynchronous = 1) on.exit(.C("freeAllMemory", PACKAGE = "BoolNet")) # Call the C code result <- .Call("getAttractors_R",inputGenes,inputGenePositions, transitionFunctions,transitionFunctionPositions, as.integer(network$fixed), as.integer(convertedStartStates), as.integer(searchType), as.double(geneProbabilities), as.integer(randomChainLength), as.integer(avoidSelfLoops), as.integer(returnTable), maxAttractorLength, PACKAGE="BoolNet") if (is.null(result)) stop("An error occurred in external C code!") if (length(result$attractors) == 0) stop("getAttractors() was not able to identify any attractors! Please check the supplied parameters and restart!") if (length(network$genes) %% 32 == 0) numElementsPerEntry <- as.integer(length(network$genes) / 32) else numElementsPerEntry <- as.integer(length(network$genes) / 32 + 1) if (!is.null(result$stateInfo)) { result$stateInfo$table <- matrix(result$stateInfo$table,nrow=numElementsPerEntry) if (!is.null(result$stateInfo$initialStates)) result$stateInfo$initialStates <- matrix(result$stateInfo$initialStates,nrow=numElementsPerEntry) } for (i in seq_len(length(result$attractors))) { result$attractors[[i]]$involvedStates <- matrix(result$attractors[[i]]$involvedStates,nrow=numElementsPerEntry) if (canonical) # reorder states result$attractors[[i]]$involvedStates <- canonicalStateOrder(result$attractors[[i]]$involvedStates) if (!is.null(result$attractors[[i]]$initialStates)) result$attractors[[i]]$initialStates <- matrix(result$attractors[[i]]$initialStates,nrow=numElementsPerEntry) if (!is.null(result$attractors[[i]]$nextStates)) result$attractors[[i]]$nextStates <- matrix(result$attractors[[i]]$nextStates,nrow=numElementsPerEntry) if (result$attractors[[i]]$basinSize == 0) result$attractors[[i]]$basinSize <- NA } # order attractors according to their lengths attractorLengths <- sapply(result$attractors,function(attractor)ncol(attractor$involvedStates)) reordering <- order(attractorLengths) result$attractors <- result$attractors[reordering] if (!is.null(result$stateInfo)) { inverseOrder <- sapply(seq_along(reordering),function(x)which(reordering == x)) result$stateInfo$attractorAssignment <- inverseOrder[result$stateInfo$attractorAssignment] } # extend the resulting structure by additional information, and assign a class result$stateInfo$genes <- network$genes result$stateInfo$fixedGenes <- network$fixed if (!is.null(result$stateInfo$table)) class(result$stateInfo) <- "BooleanStateInfo" class(result) <- "AttractorInfo" return(result) } } ���������BoolNet/R/truthTableToSymbolic.R��������������������������������������������������������������������0000644�0001762�0000144�00000002541�12732246464�016277� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ # Convert a BooleanNetwork object # <network> to a SymbolicBooleanNetwork object truthTableToSymbolic <- function(network, generateDNFs=FALSE) { stopifnot(inherits(network, "BooleanNetwork")) res <- list(genes = network$genes, fixed = as.integer(network$fixed), interactions = lapply(network$interactions, function(int) { func <- tryCatch( { if (generateDNFs != FALSE) parseBooleanFunction(getDNF(int$func, network$genes[int$input], mode=generateDNFs), network$genes) else parseBooleanFunction(int$expression, network$genes) }, error = function(e) { parseBooleanFunction(getDNF(int$func, network$genes[int$input], mode=generateDNFs), network$genes) }) return(func) })) names(res$fixed) <- res$genes res$internalStructs <- .Call("constructNetworkTrees_R",res) res$timeDelays <- apply(sapply(res$interactions,maxTimeDelay,genes=res$genes),1,max) class(res) <- "SymbolicBooleanNetwork" return(res) } ���������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/R/perturbNetwork.R��������������������������������������������������������������������������0000644�0001762�0000144�00000022372�12732246464�015215� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Randomly perturb a supplied network. # <perturb="functions"> perturbs the functions associated with the genes directly. # <perturb="states"> perturbs a maximum of <numStates> states # in the transition table resulting from the functions. # <method="bitflip"> randomly flips up to <maxNumBits> in the functions or states. # <method="shuffle"> randomly permutes the bits in the functions or states. # If <simplify> is set, the perturbed network is simplified to remove irrelevant input functions. # If <excludeFixed> is set, fixed genes are excluded from the perturbations and stay as they are. perturbNetwork <- function(network,perturb=c("functions","transitions"),method=c("bitflip","shuffle"), simplify=(perturb[1]!="functions"),readableFunctions=FALSE,excludeFixed=TRUE, maxNumBits=1,numStates=max(1,2^length(network$genes)/100)) { stopifnot(inherits(network,"BooleanNetwork") | inherits(network,"ProbabilisticBooleanNetwork")) fixedGenes <- which(network$fixed != -1) if (length(perturb) == 1 && perturb == "states") { warning("perturb=\"states\" is deprecated. Use perturb=\"transitions\" instead!") perturb <- "transitions" } if (inherits(network,"BooleanNetwork")) # deterministic network { switch(match.arg(perturb,c("functions","transitions")), functions= switch(match.arg(method,c("bitflip","shuffle")), bitflip = { # choose the function to be perturbed if (length(fixedGenes) > 0 & excludeFixed) functionIdx <- sample((seq_along(network$interactions))[-fixedGenes],size=1) else functionIdx <- sample(seq_along(network$interactions),size=1) # choose the indices of the truth table to be flipped flipIndices <- sample(seq_along(network$interactions[[functionIdx]]$func), size=runif(n=1,min=1, max=min(maxNumBits, length(network$interactions[[functionIdx]]$func))), replace=FALSE) # flip the bits network$interactions[[functionIdx]]$func[flipIndices] <- as.integer(!network$interactions[[functionIdx]]$func[flipIndices]) network$interactions[[functionIdx]]$expression <- getInteractionString(readableFunctions, network$interactions[[functionIdx]]$func, network$genes[network$interactions[[functionIdx]]$input]) }, shuffle= { # choose the function to be perturbed if (length(fixedGenes) > 0 & excludeFixed) functionIdx <- sample((seq_along(network$interactions))[-fixedGenes],size=1) else functionIdx <- sample(seq_along(network$interactions),size=1) # draw a random permutation of bit positions flipIndices <- sample(seq_along(network$interactions[[functionIdx]]$func), size=length(network$interactions[[functionIdx]]$func), replace=FALSE) # permute the bits network$interactions[[functionIdx]]$func <- network$interactions[[functionIdx]]$func[flipIndices] network$interactions[[functionIdx]]$expression <- getInteractionString(readableFunctions, network$interactions[[functionIdx]]$func, network$genes[network$interactions[[functionIdx]]$input]) }, stop("'method' must be one of \"bitflip\",\"shuffle\"")), transitions = { # turn off gene fixing - otherwise reverse-engineering of the transition table is not possible oldFixed <- network$fixed network$fixed <- rep(-1,length(network$genes)) names(network$fixed) <- network$genes # calculate transition table table <- t(sapply(getAttractors(network)$stateInfo$table,dec2bin,length(network$genes))) # determine the states to be perturbed statesToChange <- sample(seq_len(nrow(table)),min(numStates,nrow(table)),replace=FALSE) lapply(statesToChange,function(state) { # choose the indices of the states that are allowed to be changed flipIndices <- seq_along(network$genes) if (length(fixedGenes) > 0 & excludeFixed) flipIndices <- flipIndices[-fixedGenes] switch(match.arg(method,c("bitflip","shuffle")), bitflip = { # choose the actual indices to be changed flipIndex <- sample(flipIndices, size=runif(n=1,min=1, max=min(maxNumBits, length(flipIndices))), replace=FALSE) # flip the bits at these positions table[state,flipIndex] <<- as.integer(!table[state,flipIndex]) }, shuffle = { # determine a permutation of the bit indices flipIndex <- sample(flipIndices, size=length(flipIndices), replace=FALSE) # permute the state table[state,] <<- as.integer(table[state,flipIndex]) }, stop("'method' must be one of \"bitflip\",\"shuffle\"") ) NULL}) # restore network by assigning the columns of the state table to the corresponding genes network$interactions <- apply(table,2,function(gene) { input = seq_along(network$genes) # encoding is reversed in the transition table input <- input[length(input):1] list(input=input, func=gene, expression= getInteractionString(readableFunctions, gene, network$genes[input])) }) # reactivate fixed genes network$fixed <- oldFixed }, stop("'perturb' must be one of \"functions\",\"transitions\"")) } else # probabilistic network { if (match.arg(perturb) != "functions") stop("In probabilistic Boolean networks, only perturb=functions is allowed!") switch(match.arg(method,c("bitflip","shuffle")), bitflip = { # choose the gene and the function to be perturbed if (length(fixedGenes) > 0 & excludeFixed) geneIdx <- sample((seq_along(network$interactions))[-fixedGenes],size=1) else geneIdx <- sample(seq_along(network$interactions),size=1) functionIdx <- sample(seq_along(network$interactions[[geneIdx]]),size=1) # choose the indices of the truth table to be flipped flipIndices <- sample(seq_along(network$interactions[[geneIdx]][[functionIdx]]$func), size=runif(n=1,min=1, max=min(maxNumBits, length(network$interactions[[geneIdx]][[functionIdx]]$func))), replace=FALSE) # flip the bits network$interactions[[geneIdx]][[functionIdx]]$func[flipIndices] <- as.integer(!network$interactions[[geneIdx]][[functionIdx]]$func[flipIndices]) network$interactions[[geneIdx]][[functionIdx]]$expression <- getInteractionString(readableFunctions, network$interactions[[geneIdx]][[functionIdx]]$func, network$genes[network$interactions[[geneIdx]][[functionIdx]]$input]) }, shuffle= { # choose the function to be perturbed if (length(fixedGenes) > 0 & excludeFixed) geneIdx <- sample((seq_along(network$interactions))[-fixedGenes],size=1) else geneIdx <- sample(seq_along(network$interactions),size=1) functionIdx <- sample(seq_along(network$interactions[[geneIdx]]),size=1) # draw a random permutation of bit positions flipIndices <- sample(seq_along(network$interactions[[geneIdx]][[functionIdx]]$func), size=length(network$interactions[[geneIdx]][[functionIdx]]$func), replace=FALSE) # permute the bits network$interactions[[geneIdx]][[functionIdx]]$func <- network$interactions[[geneIdx]][[functionIdx]]$func[flipIndices] network$interactions[[geneIdx]][[functionIdx]]$expression <- getInteractionString(readableFunctions, network$interactions[[geneIdx]][[functionIdx]]$func, network$genes[network$interactions[[geneIdx]][[functionIdx]]$input]) }, stop("'method' must be one of \"bitflip\",\"shuffle\"")) } # simplify the network if necessary if (simplify) network <- simplifyNetwork(network,readableFunctions) return(network) } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/R/getStateSummary.R�������������������������������������������������������������������������0000644�0001762�0000144�00000005442�12732246464�015315� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Summarize information on a state <state>, specified as a vector of # Boolean values. Information is taken from the state tables in <attractorInfo>. # The function outputs the corresponding attractor, the distance to the basin, # and the next state. getStateSummary <- function(attractorInfo,state) { stopifnot(inherits(attractorInfo,"AttractorInfo") | inherits(attractorInfo,"SymbolicSimulation")) if (inherits(attractorInfo,"SymbolicSimulation")) { if (is.null(attractorInfo$graph)) stop(paste("This SymbolicSimulation structure does not contain transition table information.", "Please re-run simulateSymbolicModel() with returnGraph=TRUE!")) geneCols <- setdiff(colnames(attractorInfo$graph),c("attractorAssignment","transitionsToAttractor")) numGenes <- (length(geneCols)) / 2 stateIndices <- apply(attractorInfo$graph[,seq_len(numGenes),drop=FALSE], 1, function(x) { all(as.integer(x) == as.integer(state)) }) return(attractorInfo$graph[stateIndices,,drop=FALSE]) } else { if (length(state) != length(attractorInfo$stateInfo$genes)) stop("State must have one element for each gene!") if (is.null(attractorInfo$stateInfo$table)) stop(paste("This AttractorInfo structure does not contain transition table information.", "Please re-run getAttractors() with a synchronous search and returnTable=TRUE!")) if (!is.null(attractorInfo$stateInfo$initialStates)) { stateNo <- bin2dec(state,length(state)) # search element in initial state index stateNo <- which(apply(attractorInfo$stateInfo$initialStates,2,function(x) { isTRUE(all.equal(x,stateNo)) })) } else { # find out the decimal number of the state which is used in the # transition table shortenedState <- state[attractorInfo$stateInfo$fixedGenes == -1] # simply use <stateNo>-th elements if initial states are not provided stateNo <- bin2dec(shortenedState,length(shortenedState)) + 1 } # coerce summary into a one-row dataframe, i.e. create a # TransitionTable object with one element res <- as.data.frame(as.list(unlist(list(state, dec2bin(attractorInfo$stateInfo$table[,stateNo], length(attractorInfo$stateInfo$genes)), attractorInfo$stateInfo$attractorAssignment[stateNo], attractorInfo$stateInfo$stepsToAttractor[stateNo])))) colnames(res) <- c(paste("initialState.",attractorInfo$stateInfo$genes,sep=""), paste("nextState.",attractorInfo$stateInfo$genes,sep=""), "attractorAssignment","transitionsToAttractor") class(res) <- c("TransitionTable","data.frame") return(res) } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/R/print.TransitionTable.R�������������������������������������������������������������������0000644�0001762�0000144�00000006227�12732246464�016416� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Custom print function for class TransitionTable print.TransitionTable <- function(x, activeOnly=FALSE, ...) { geneCols <- setdiff(colnames(x),c("attractorAssignment","transitionsToAttractor")) numGenes <- (length(geneCols)) / 2 colIndices <- c(1,numGenes,numGenes + 1, 2*numGenes); if ("attractorAssignment" %in% colnames(x)) colIndices <- c(colIndices, 2*numGenes + 1) if ("transitionsToAttractor" %in% colnames(x)) colIndices <- c(colIndices, 2*numGenes + 2) genes <- sapply(colnames(x)[seq_len(numGenes)],function(n)strsplit(n,".",fixed=TRUE)[[1]][2]) if(activeOnly) { inputStates <- apply(x,1,function(row) { r <- paste(genes[which(row[colIndices[1]:colIndices[2]] == 1)],collapse=", ") if (r == "") r <- "--" r }) outputStates <- apply(x,1,function(row) { r <- paste(genes[which(row[colIndices[3]:colIndices[4]] == 1)],collapse=", ") if (r == "") r <- "--" r }) colWidth <- max(c(sapply(inputStates,nchar),sapply(outputStates,nchar))) align <- "left" } else { inputStates <- apply(x,1,function(row) paste(row[colIndices[1]:colIndices[2]],collapse="")) outputStates <- apply(x,1,function(row) paste(row[colIndices[3]:colIndices[4]],collapse="")) colWidth <- numGenes align <- "right" } binMatrix <- cbind(inputStates,outputStates) if ("attractorAssignment" %in% colnames(x)) binMatrix <- cbind(binMatrix, x[,colIndices[5]]) if ("transitionsToAttractor" %in% colnames(x)) binMatrix <- cbind(binMatrix, x[,colIndices[6]]) binMatrix <- as.data.frame(binMatrix) cat(format("State",width=max(7,colWidth),justify=align)," ", format("Next state",width=max(11,colWidth + 2),justify=align), if ("attractorAssignment" %in% colnames(x)) { format("Attr. basin",width=13,justify="right") } else "", if ("transitionsToAttractor" %in% colnames(x)) { format("# trans. to attr.",width=19,justify="right") } else "", "\n",sep="") apply(binMatrix,1,function(row) { # paste all states of input and output into one string, and put out all columns of the table in a # formatted way cat(format(row[1],width=max(7,colWidth),justify=align), " => ", format(row[2],width=max(11,colWidth + 2),justify=align), if ("attractorAssignment" %in% colnames(x)) { format(row[3],width=13,justify="right") } else "", if ("transitionsToAttractor" %in% colnames(x)) { format(row[4],width=19,justify="right") } else "", "\n",sep="") }) if (!activeOnly) cat("\nGenes are encoded in the following order: ", paste(genes,collapse=" "),"\n",sep="") return(invisible(x)) } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/R/generateRandomNKNetwork.R�����������������������������������������������������������������0000644�0001762�0000144�00000012312�12732246464�016707� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������generateRandomNKNetwork <- function(n,k,topology=c("fixed","homogeneous","scale_free"), linkage=c("uniform","lattice"), functionGeneration=c("uniform","biased"), validationFunction, failureIterations=10000, simplify=FALSE, noIrrelevantGenes=TRUE, readableFunctions=FALSE, d_lattice=1, zeroBias=0.5, gamma=2.5, approx_cutoff=100) { k_i_vec <- switch(match.arg(topology), fixed = { if (length(k) == n) k else if (length(k) == 1) rep(k,n) else stop("k must have 1 or n element(s)!") }, homogeneous = round(rpois(n,k)), scale_free = rzeta(n,k,gamma=gamma,approx_cutoff=approx_cutoff), stop("'topology' must be one of \"fixed\",\"homogeneous\"") ) k_i_vec[k_i_vec > n] <- n if ((zeroBias == 0 | zeroBias == 1) && noIrrelevantGenes && any(k_i_vec > 0)) stop("If setting 'zeroBias' to 0 or 1, you must set 'noIrrelevantGenes' to FALSE!") geneNames <- paste("Gene",seq_len(n),sep="") if (!missing(validationFunction) && !is.null(validationFunction)) validationFunction <- match.fun(validationFunction) else validationFunction <- NULL interactions <- mapply(function(i,k_i) { if (k_i == 0) { genes <- 0 func <- round(runif(min=0,max=1,n=1)) } else { table <- allcombn(2,k_i) - 1 genes <- switch(match.arg(linkage,c("uniform","lattice")), uniform = sample(seq_len(n),k_i,replace=FALSE), lattice = { region <- c(max(1,round(i - k_i*d_lattice)):max(1,i-1), min(n,i+1):min(n,round(i + k_i*d_lattice))) sample(region,k_i,replace=FALSE) }, stop("'linkage' must be one of \"uniform\",\"lattice\"")) containsIrrelevant <- TRUE validFunction <- TRUE counter <- 0 while((!validFunction) || containsIrrelevant) { tryCatch( { functionGeneration <- match.fun(functionGeneration) }, error = function(e){} ) if (is.function(functionGeneration)) func <- functionGeneration(input=genes) else func <- switch(match.arg(functionGeneration,c("uniform","biased")), uniform = round(runif(min=0,max=1,n=2^k_i)), biased = as.integer(runif(min=0,max=1,n=2^k_i) > zeroBias), stop("'functionGeneration' must be one of \"uniform\",\"biased\" or a function!")) if (noIrrelevantGenes) { dropGenes <- apply(table,2,function(gene) # determine all genes that have no influence on the results, # i.e. the result column is equal for 0 values and 1 values { (identical(func[gene==1], func[gene==0])) }) containsIrrelevant <- (sum(dropGenes) > 0) } else containsIrrelevant <- FALSE if (!is.null(validationFunction)) validFunction <- validationFunction(table, func) counter <- counter + 1 if (counter > failureIterations) stop(paste("Could not find a transition function matching the restrictions of", "\"validationFunction\" in", failureIterations, " runs.", "Change \"validationFunction\" or increase \"failureIterations\"!")) } } return(list(input=genes,func=func, expression=getInteractionString(readableFunctions, func,geneNames[genes]))) },seq_len(length(k_i_vec)),k_i_vec,SIMPLIFY=FALSE) fixed <- sapply(interactions,function(i) { if (i$input[1] == 0) i$func[1] else -1 }) names(fixed) <- geneNames names(interactions) <- geneNames net <- list(genes=geneNames,interactions=interactions,fixed=fixed) class(net) <- "BooleanNetwork" if (simplify) net <- simplifyNetwork(net,readableFunctions) return(net) } generateCanalyzing <- function(input) { k <- length(input) table <- allcombn(2, k) - 1 canalyzingInput <- sample(1:k,size=1) res <- round(runif(min = 0, max = 1, n = 2^k)) res[table[,canalyzingInput] == sample(c(0,1),size=1)] <- sample(c(0,1), size=1) return(res) } generateNestedCanalyzing <- function(input) { k <- length(input) table <- allcombn(2, k) - 1 remainingIndices <- 1:(2^k) res <- rep(sample(c(0,1), size=1),2^k) for (canalyzingInput in sample(1:k,size=k,replace=FALSE)) { newIndices <- which(table[remainingIndices,canalyzingInput] == sample(c(0,1),size=1)) res[remainingIndices[newIndices]] <- sample(c(0,1), size=1) remainingIndices <- setdiff(remainingIndices, remainingIndices[newIndices]) } return(res) } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/R/chooseNetwork.R���������������������������������������������������������������������������0000644�0001762�0000144�00000005630�12732246464�015010� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Creates a deterministic Boolean network from a Probabilistic Boolean network # by choosing the functions specified in <functionIndices> from the # network <probabilisticNetwork>. chooseNetwork <- function(probabilisticNetwork,functionIndices,dontCareValues=NULL,readableFunctions=FALSE) { stopifnot(inherits(probabilisticNetwork,"ProbabilisticBooleanNetwork") | inherits(probabilisticNetwork,"BooleanNetworkCollection")) if (length(functionIndices) != length(probabilisticNetwork$genes)) stop("Please provide a vector of function indices for each gene!") if (inherits(probabilisticNetwork,"ProbabilisticBooleanNetwork")) { interactions <- mapply(function(interaction,index) { list(input=interaction[[index]]$input, func=interaction[[index]]$func, expression=interaction[[index]]$expression) }, probabilisticNetwork$interactions,functionIndices,SIMPLIFY=FALSE) } else { if (!is.null(dontCareValues) && length(dontCareValues) == length(probabilisticNetwork$genes) && is.null(names(dontCareValues))) names(dontCareValues) <- probabilisticNetwork$genes interactions <- mapply(function(interaction,index,gene) { func <- interaction[[index]]$func dcPos <- which(func == -1) if (length(dcPos) > 0) { if (is.null(dontCareValues) || is.null(dontCareValues[[gene]])) stop(paste("No values for the \"don't care\" ", "entries were specified for gene \"", gene,"\"!",sep="")) if (!all(dontCareValues[[gene]] %in% c(0,1))) stop(paste("Invalid values for \"don't care\" entries specified for gene \"", gene,"\"!",sep="")) if (length(dontCareValues[[gene]]) != length(dcPos)) stop(paste("There must be exactly ",length(dcPos), " value(s) for \"don't care\" entries in the function for gene \"", gene,"\"!",sep="")) func[[dcPos]] <- dontCareValues[[gene]] expression <- getInteractionString(readableFunctions, func, probabilisticNetwork$genes[interaction[[index]]$input]) } else expression <- interaction[[index]]$expression list(input=interaction[[index]]$input, func=func, expression=expression) }, probabilisticNetwork$interactions, functionIndices, probabilisticNetwork$genes,SIMPLIFY=FALSE) } res <- list(genes=probabilisticNetwork$genes, interactions=interactions, fixed=probabilisticNetwork$fixed) class(res) <- "BooleanNetwork" return(res) } ��������������������������������������������������������������������������������������������������������BoolNet/vignettes/����������������������������������������������������������������������������������0000755�0001762�0000144�00000000000�12733234746�013637� 5����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/vignettes/BoolNet_package_vignette.bib������������������������������������������������������0000644�0001762�0000144�00000012130�12732246464�021233� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������@article{laehdesmaeki03, Address = {Hingham, MA, USA}, Author = {H. L\"{a}hdesm\"{a}ki and I. Shmulevich and O. Yli-Harja}, Journal = {Machine Learning}, Number = {1-2}, Pages = {147--167}, Publisher = {Kluwer Academic Publishers}, Title = {{On Learning Gene Regulatory Networks Under the Boolean Network Model}}, Volume = {52}, Year = {2003}} @article{akutsu00, Author = {Akutsu, T. and Miyano, S. and Kuhara, S.}, Journal = {Bioinformatics}, Number = {8}, Pages = {727--734}, Title = {{I}nferring qualitative relations in genetic networks and metabolic pathways}, Volume = {16}, Year = {2000}} @article{li04, Author = {F. Li and T. Long and Q. Ouyang and C. Tang}, Journal = {PNAS}, Pages = {4781-4786}, Title = {{The yeast cell-cycle network is robustly designed}}, Volume = 101, Year = 2004} @article{xiao07, Author = {Y. Xiao and E. R. Dougherty}, Journal = {Bioinformatics}, Number = {10}, Pages = {1265--1273}, Title = {{The impact of function perturbations in Boolean networks}}, Volume = {23}, Year = {2007}} @article{faure06, Author = {A. Faur{\'e} and A. Naldi and C. Chaouiya and D. Thieffry}, Journal = {Bioinformatics}, Number = {14}, Pages = {e124--e131}, Title = {{Dynamical analysis of a generic Boolean model for the control of the mammalian cell cycle}}, Volume = {22}, Year = {2006}} @book{kauffman93, Author = {S. A. Kauffman}, Publisher = {Oxford University Press}, Title = {{The Origins of Order: Self-Organization and Selection in Evolution}}, Year = {1993}} @article{kauffman69, Author = {S. A. Kauffman}, Journal = {Journal of Theoretical Biology}, Number = 3, Pages = {437--467}, Title = {{Metabolic Stability and Epigensis in Randomly Constructed Genetic Nets}}, Volume = 22, Year = 1969} @article{aldana03, Author = {M. Aldana}, Journal = {Physica D}, Number = {1}, Pages = {45--66}, Title = {{Boolean dynamics of networks with scale-free topology}}, Volume = {185}, Year = {2003}} @article{liang98, Author = {S. Liang and S. Fuhrman and R. Somogyi}, Journal = {Pacific Symposium on Biocomputing}, Pages = {18--29}, Title = {{REVEAL, a general reverse engineering algorithm for inference of genetic network architectures}}, Volume = 3, Year = {1998}} @inproceedings{aldana03_2, Author = {M. Aldana and S. Coppersmith and L. P. Kadanoff}, Booktitle = {{Perspectives and Problems in Nonlinear Science}}, Editor = {E. Kaplan and J. E. Marsden and K. R. Sreenivasan}, Publisher = {Springer}, Title = {{Boolean dynamics with random coupling}}, Year = 2003} @article{spellman98, Author = {P. T. Spellman and G. Sherlock and M. Q. Zhang and V. R. Iyer and K. Anders and M. B. Eisen and P. O. Brown and D. Botstein and B. Futcher}, Title = {{Comprehensive Identification of Cell Cycle-regulated Genes of the Yeast Saccharomyces cerevisiae by Microarray Hybridization}}, Journal = {Molecular Biology of the Cell}, Volume = 9, Number = 12, Pages = {3273--3297}, Year = 1998 } @article{kim07, Author = {S. Kim and J. Kim and K.-H. Cho}, Title = {{Inferring gene regulatory networks from temporal expression profiles under time-delay and noise}}, Journal = {Computational Biology and Chemistry}, Volume = 31, Pages = {239--245}, Year = 2007 } @article{shmulevich02, Author = {I. Shmulevich and E. R. Dougherty and S. Kim and W. Zhang}, Title = {{Probabilistic Boolean networks: a rule-based uncertainty model for gene-regulatory networks}}, Journal = {Bioinformatics}, Volume = 18, Number = 2, Pages = {261--274}, Year = 2002 } @article{longabaugh05, Author = {W. J. R. Longabaugh and E. H. Davidson and H. Bolouri}, Title = {{Computational representation of developmental genetic regulatory networks}}, Journal = {Developmental Biology}, Volume = 283, Number = 1, Pages = {1--16}, Year = 2005 } @article{batagelij98, Author = {V. Batagelij and A. Mrvar}, Journal = {Connections}, Number = 2, Pages = {47--57}, Title = {{Pajek -- Program for Large Network Analysis}}, Volume = 21, Year = 1998 } @book{cover91, Author = {T. M. Cover and J. A. Thomas}, Title = {Information Theory}, Publisher = {Wiley}, Address = {New York}, Year = {1991} } @article{kauffman04, Author = {S. Kauffman and C. Peterson and B. Samuelsson and C. Troein}, Title = {Genetic networks with canalyzing {B}oolean rules are always stable}, Journal = {PNAS}, Volume = {101}, Number = {49}, Pages = {17102–-17107}, Year = {2004} } @article{maucher11, author = {M. Maucher and B. Kracher and M. K\"uhl and H. A. Kestler}, title = {Inferring {B}oolean network structure via correlation}, journal = {Bioinformatics}, volume = {27}, number = {11}, pages = {1529--1536}, year = {2011} } @article{dubrova11, author = {E. Dubrova and M. Teslenko}, title = {A {SAT}-based algorithm for finding attractors in synchronous Boolean networks}, journal = {IEEE/ACM Transactions on Computational Biology and Bioinformatics}, volume = {8}, number = {5}, pages = {1393--1399}, year = {2011} } @article{biere08, author = {A. Biere}, title = {{PicoSAT Essentials}}, journal = {Journal on Satisfiability, Boolean Modeling and Computation}, volume = 4, pages = {75--97}, year = 2008} } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/vignettes/BoolNet_package_vignette.Snw������������������������������������������������������0000644�0001762�0000144�00000274301�12733225062�021250� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\documentclass[a4paper]{article} \SweaveOpts{keep.source=TRUE} %\VignetteIndexEntry{Detailed introduction to all major features of BoolNet} \usepackage{a4wide} \usepackage{graphicx} \usepackage{amsmath} \usepackage{hyperref} \usepackage{listings} \lstset{breaklines=true, breakautoindent=false, breakindent=0pt, columns=fullflexible,keepspaces=true, basicstyle=\small\ttfamily} \setlength{\parindent}{0em} \setlength{\parskip}{0.2em} \title{BoolNet package vignette} \author{Christoph M\"ussel, Martin Hopfensitz, Hans A. Kestler} \widowpenalty=10000 \clubpenalty=10000 \hyphenation{me-thods pro-per-ties re-pre-sen-ta-tion} \begin{document} \SweaveOpts{concordance=TRUE} \maketitle \tableofcontents \clearpage \section{Introduction} \texttt{BoolNet} is an R package that provides tools for assembling, analyzing and visualizing synchronous and asynchronous Boolean networks as well as probabilistic Boolean networks. This document gives an introduction to the usage of the software and includes examples for use cases. \texttt{BoolNet} supports four types of networks: \begin{description} \item[Synchronous Boolean networks]{ consist of a set of Boolean variables \[ X = \left\{X_1, \ldots, X_n \right\} \] and a set of transition functions \[ F=\left\{ f_{1},\ldots,f_{n}\right\}, \] one for each variable. These transition functions map an input of the Boolean variables in $X$ to a Boolean value ($0$ or $1$). We call a Boolean vector $\mathbf{x}(t) = \left(x_1(t), \ldots, x_n(t) \right)$ the {\em state} of the network at time $t$. Then, the next state of the network $\mathbf{x}(t)$ is calculated by applying {\em all} transition functions $f_i(\mathbf{x}(t-1))$. In a biological context, genes can be modeled as Boolean variables ({\em active/expressed} or {\em inactive/not expressed}), and the transition functions model the dependencies among these genes. In the synchronous model, the assumption is that all genes are updated at the same time. This simplification facilitates the analysis of the networks.} \item[Asynchronous Boolean networks]{ have the same structure as synchronous Boolean networks. Yet, at each point of time $t$, only {\em one} of the transition functions $f_i \in F$ is chosen at random, and the corresponding Boolean variable is updated. This corresponds to the assumption that in a genetic network, gene expression levels are likely to change at different points of time. In the most common model, the gene to be updated is chosen uniformly among all genes. Moreover, \texttt{BoolNet} supports specifying non-uniform update probabilities for the genes.} \item[Probabilistic Boolean networks (PBN)]{ allow for specifying more than one transition function per variable/gene. Each of these functions has a probability to be chosen, where the probabilities of all functions for one variable sum up to 1. Formally \[ F=\left\{\left\{\left(f_{11}, p_{11}\right), \ldots, \left(f_{1k_1}, p_{1k_1}\right)\right\}, \ldots, \left\{\left(f_{n1}, p_{n1}\right), \ldots, \left(f_{nk_n}, p_{nk_n}\right)\right\}\right\} \] where $k_i$ is the number of alternative transition functions for variable $i$, and $p_{ij}$ is the probability that function $j$ is chosen for variable $i$. A state transition is performed by selecting one function for each gene based on the probabilities and applying the chosen functions synchronously.} \item[Temporal Boolean networks]{ are Boolean networks that incorporate temporal predicates and discrete time delays. Here, the next state $x(t)$ may not only depend on $x(t-1)$, but can depend on any predecessor state $x(t - \Delta), \Delta \in \{1, 2, \ldots\}$. Furthermore, $x(t)$ may also directly depend on the time step $t$ itself. } \end{description} In \texttt{BoolNet}, there are different structure classes representing these network types: \begin{description} \item[\emph{BooleanNetwork} objects]{ contain synchronous and asynchronous Boolean networks. Here, the transition functions are internally represented as truth tables.} \item[\emph{ProbabilisticBooleanNetwork} objects]{ encode Probabilistic Boolean networks. They use a truth table representation as well.} \item[\emph{SymbolicBooleanNetwork} objects]{ represent synchronous and temporal Boolean networks. They encode Boolean functions in a symbolic form, i.e. as expression trees.} \end{description} As we have seen, the networks are represented in two different forms: The truth table representation, which basically maps inputs to the corresponding output values, is usually the most efficient representation for synchronous, asynchronous and probabilistic networks and uses a very fast simulator. However, this representation grows exponentially with the number of inputs and is therefore inappropriate for networks with a high number of inputs. This is particularly the case for temporal networks, where each unique time delay for a gene encodes an input. Hence, temporal networks are represented by directly encoding the corresponding Boolean expressions and use a different simulator. As synchronous Boolean networks are a special case of temporal networks (with all time delays being 1), these networks can also be represented as \emph{SymbolicBooleanNetwork} objects. The package provides several methods of constructing networks: Networks can be loaded from files in which human experts describe the dependencies between the genes. Furthermore, they can be reconstructed from time series of gene expression measurements. It is also possible to generate random networks. This can be helpful for the identification of distinct properties of biological networks by comparison to random structures. The different methods of assembling networks are described in Section~\ref{sec:assemblingnetworks}. In Section~\ref{sec:networkanalysis}, tools for the analysis and visualization of network properties are introduced. For synchronous, asynchronous and temporal Boolean networks, the most important tool is the identification of attractors. Attractors are cycles of states and are assumed to be associated with the stable states of cell function. Another possibility of identifying relevant states is the included Markov chain simulation. This method is particularly suited for probabilistic networks and calculates the probability that a state is reached after a certain number of iterations. To test the robustness of structural properties of the networks to noise and mismeasurements, the software also includes extensive support for perturbing networks. In this way, it is possible to test these properties in noisy copies of a biological network. In Section~\ref{sec:importexport}, the interaction of \texttt{BoolNet} with related software is described. In particular, the import from and export to SBML is discussed. Also, the necessary steps to import networks import networks from BioTapestry and to export networks to Pajek are outlined. For the examples in the following sections, we assume that the \texttt{BoolNet} package has been properly installed into the R environment. This can be done by typing <<eval=FALSE>>= install.packages("BoolNet") @ into the R console or by the corresponding menu entries in an R GUI. For some of the plots, the \texttt{igraph} package is required and must be installed in your R environment as well. This is analogous to installing \texttt{BoolNet}. For the BioTapestry and SBML import, the \texttt{XML} package must be installed. After installation, the \texttt{BoolNet} package can be loaded via <<>>= library(BoolNet) @ \section{Assembling networks}\label{sec:assemblingnetworks} \subsection{Assembling a network from expert knowledge} A major advantage of Boolean networks is the fact that natural-language statements can easily be transferred into this representation. This allows researchers for building Boolean networks entirely from expert knowledge, for example by collecting statements on gene dependencies from literature and expressing them as Boolean rules. \texttt{BoolNet} is able to read in networks consisting of such rule sets in a standardized text file format. In such a file, each line consists of a target gene and an update rule, usually separated by a comma. Optionally, it is also possible to add a probability for the rule if the file describes a probabilistic network. The first line of such a file is a header \begin{samepage} \begin{verbatim} targets, factors \end{verbatim} or \begin{verbatim} targets, factors, probabilities \end{verbatim} \end{samepage} To illustrate the process of transforming natural-language statements into Boolean rules, we take a look at the mammalian cell cycle network introduced by Faur\'e et al. \cite{faure06}. In Table 1 of this paper, the authors list natural-language statements of gene dependencies and the corresponding Boolean expressions. The following rules are taken from this table. For gene CycD, Faur\'e et al. state: \begin{quote} \textit{CycD is an input, considered as constant.} \end{quote} Transforming this into a Boolean rule is rather simple: CycD does not change its value, which means that its value after a transition only depends on its previous value. Thus, the transition rule is \begin{verbatim} CycD, CycD \end{verbatim} Gene Rb has a more complex description: \begin{quote} \textit{Rb is expressed in the absence of the cyclins, which inhibit it by phosphorylation [...]; it can be expressed in the presence of CycE or CycA if their inhibitory activity is blocked by p27.} \end{quote} As a general rule, inhibition can be represented by a Boolean negation. In the \texttt{BoolNet} file format, a negation is expressed by the \texttt{!} character. The referenced cyclins comprise the genes CycA, CycB, CycD, and CycE. If {\em all} these genes are absent, Rb is expressed -- i.e. if CycA is not expressed {\em and} CycB is not expressed {\em and} CycD is not expressed {\em and} CycE is not expressed. A logical AND is embodied by the \texttt{\&} character. Consequently, the first part of the rule is \begin{verbatim} ! CycA & ! CycB & ! CycD & ! CycE \end{verbatim} In combination with the above statement, the fact that Rb can be expressed in the presence of CycE and CycA if p27 is active means that CycB and CycD must not be active. Thus, the second part of the rule is \begin{verbatim} p27 & ! CycB & ! CycD \end{verbatim} This statement is an exception (or alternative) to the first statement; this can be expressed as a logical OR, for which the \texttt{|} character is used. The complete rule for gene Rb is thus \begin{verbatim} Rb, (! CycA & ! CycB & ! CycD & ! CycE) | (p27 & ! CycB & ! CycD) \end{verbatim} After processing all genes in the table in this way, we get the following network description: \begin{samepage} \begin{footnotesize} \begin{verbatim} targets, factors CycD, CycD Rb, (! CycA & ! CycB & ! CycD & ! CycE) | (p27 & ! CycB & ! CycD) E2F, (! Rb & ! CycA & ! CycB) | (p27 & ! Rb & ! CycB) CycE, (E2F & ! Rb) CycA, (E2F & ! Rb & ! Cdc20 & ! (Cdh1 & UbcH10)) | (CycA & ! Rb & ! Cdc20 & ! (Cdh1 & UbcH10)) p27, (! CycD & ! CycE & ! CycA & ! CycB) | (p27 & ! (CycE & CycA) & ! CycB &! CycD) Cdc20, CycB Cdh1,(! CycA & ! CycB) | (Cdc20) | (p27 & ! CycB) UbcH10, ! Cdh1 | (Cdh1 & UbcH10 & (Cdc20 | CycA | CycB)) CycB, ! Cdc20 & ! Cdh1 \end{verbatim} \end{footnotesize} \end{samepage} Now save this description to a file ``cellcycle.txt'' in your R working directory. The network can be loaded via <<eval=FALSE>>= cellcycle <- loadNetwork("cellcycle.txt") @ The result is an object of class \emph{BooleanNetwork} containing a truth table representation of the network. The same network is also included in \texttt{BoolNet} as an example and can be accessed via <<>>= data(cellcycle) @ \texttt{BoolNet} also provides several convenience operators that can be used to express complex Boolean functions in a compact way, e.g. \begin{itemize} \item \texttt{maj(a, b, ...)} is 1 if the majority of its operands are 1. Similarly, \texttt{sumgt(a, b, ..., N)} is 1 if more than $N$ operands are 1, \texttt{sumlt(a, b, ..., N)} is 1 if less than $N$ operands are~1, and \texttt{sumis(a, b, ..., N)} is 1 if exactly $N$ operands are 1. \item \texttt{all(a, b, ...)} is 1 if all its operands are 1 (i.e. a logical AND), and \texttt{any(a, b, ...)} is~1 if at least one of its operands is 1 (i.e. a logical OR). \end{itemize} The cell cycle network is a classical Boolean network, where each transition function only depends on the previous state of the network. E.g., \verb+CycB, ! Cdc20 & ! Cdh1+ can be written formally as $CycB(t) = \neg Cdc20(t-1) \wedge \neg Cdh1(t-1)$. As already discussed before, \texttt{BoolNet} also incorporates several temporal extensions. For example, a transition function can also depend on the states of genes at earlier time points: \begin{verbatim} a, b[-3] & b[-2] & b \end{verbatim} is 1 if b has been active in the previous three time steps. The operators described above can also incorporate time ranges. The previous statement can be written in a more compact way using the \texttt{all} operator: \begin{verbatim} a, all[d=-3..-1](b[d]) \end{verbatim} This defines a time delay variable \texttt{d} that can be used for time specifications inside the operator. It can also be used in arithmetic operations. E.g., \begin{verbatim} a, all[d=-3..-1](b[d] & c[d-1]) \end{verbatim} specifies that a is active if b has been active in the previous three time steps and c has been active at time $t-4$, $t-3$ and $t-2$. Apart from relative time specifications, the \texttt{BoolNet} network language also incorporates predicates that depend on the absolute time, i.e. the number of time steps that have elapsed since the initial state. \begin{samepage} For example, \begin{verbatim} a, timeis(3) \end{verbatim} specifies that \texttt{a} is active at time step 3 and inactive at all other time steps. Similarly, the predicates \texttt{timelt} and \texttt{timegt} evaluate to 1 before and after the specified time point respectively. \end{samepage} As the above examples do not cover all possibilities of the network description language, a full language specification is provided in Section~\ref{sec:appendix}. For temporal networks, \texttt{BoolNet} uses a special symbolic simulator that represents the functions as expression trees, whereas the standard simulator is based on a truth table representation. These simulators are discussed in Section~\ref{sec:networkanalysis}. As synchronous Boolean networks are a special case of temporal networks, they can also be simulated with the symbolic simulator. When a network is loaded from a file using \texttt{loadNetwork()}, the user can specify the parameter \texttt{symbolic=TRUE} to load it in form of a \emph{SymbolicBooleanNetwork} object instead of a \emph{BooleanNetwork} object. The same parameter is also available for the import functions discussed in Section~\ref{sec:importexport}. Temporal networks can only be loaded with \texttt{symbolic=TRUE}, as \texttt{BoolNet} cannot represent them as truth tables. \begin{sloppypar} As many network generation and modification routines (such as random network generation and network reconstruction that are discussed in the following sections) internally use the truth table representation, there are conversion routines \texttt{truthTableToSymbolic()} and \texttt{symbolicToTruthTable()} that convert synchronous Boolean networks of class \emph{BooleanNetwork} in a truth table representation to networks of class \emph{SymbolicBooleanNetwork} in a symbolic representation and vice versa. For more details, please refer to the manual. \end{sloppypar} \subsection{Reconstructing a network from time series} An entirely different approach of assembling a network is to infer rules from series of expression measurements of the involved genes over time. For example, microarray experiments can be conducted at different points of time to cover the expression levels of different cell states. To reconstruct networks from such data, \texttt{BoolNet} includes two reconstruction algorithms for synchronous Boolean networks, Best-Fit Extension~\cite{laehdesmaeki03} and REVEAL \cite{liang98}. REVEAL requires the inferred functions to match the input time series perfectly, hence it is not always able to reconstruct networks in the presence of noisy and inconsistent measurements. Best-Fit Extension retrieves a set of functions with minimum error on the input and is thus suited for noisy data. In the following, we introduce a tool chain for the reconstruction of a Probabilistic Boolean Network from time series using Best-Fit extension. Microarray measurements are usually represented as matrices of real-valued numbers which, for example, quantify the expression levels of genes. \texttt{BoolNet} includes a real-valued time series of gene measurements from a project to analyze the yeast cell cycle \cite{spellman98} which can be loaded using <<>>= data(yeastTimeSeries) @ This data contains four preselected genes and a series of 14 measurements for each of these genes. \begin{sloppypar} In a first step, the real-valued dataset has to be converted to binary data as required by the reconstruction algorithm. \texttt{BoolNet} offers several binarization algorithms in the function \texttt{binarizeTimeSeries()}. We here employ the default method which is based on $k$-means clustering (with $k=2$ for active and inactive): \end{sloppypar} <<>>= binSeries <- binarizeTimeSeries(yeastTimeSeries) @ The returned structure in \texttt{binSeries} has an element \texttt{\$binarizedMeasurements} containing the binary time series, and, depending on the chosen binarization method, some other elements describing parameters of the binarization. To reconstruct the network from this data, we call the Best-Fit Extension algorithm: <<>>= net <- reconstructNetwork(binSeries$binarizedMeasurements, method="bestfit", maxK=4) @ Here, \texttt{maxK} is the maximum number of input genes for a gene examined by the algorithm. The higher this number, the higher is the runtime and memory consumption of the reconstruction. \begin{samepage} We can now take a look at the network using <<>>= net @ \end{samepage} \begin{sloppypar} The dependencies among the genes in the network can be visualized using the \texttt{plotNetworkWiring()} function. In this graph, each gene corresponds to a vertex, and the inputs of transition functions correspond to edges. \end{sloppypar} <<echo=FALSE,results=hide>>= pdf("wiring1.pdf") par(mar = c(1, 1, 1, 1)) set.seed(333) plotNetworkWiring(net) dev.off() @ <<eval=FALSE>>= plotNetworkWiring(net) @ plots a graph similar to that at the top of Figure~\ref{fig:wiring}. To use this function, you must install the \texttt{igraph} package. \begin{figure}[p] \centering \includegraphics[width=0.5\linewidth]{wiring1} \includegraphics[width=0.5\linewidth]{wiring2} \caption{The wiring graph of the reconstructed network without prior knowledge (top) and with the inclusion of prior knowledge (bottom). Each node of the graph represents one gene, and each arrow represents a gene dependency.} \label{fig:wiring} \end{figure} A network that involved the same genes was examined by Kim et al. \cite{kim07}. When comparing the wiring graph of our reconstructed network with the reference network presented in Figure~2 of this paper, one observes a very high similarity between the two networks. However, the reconstructed network comprises too many links for the gene Sic1: The reference network does not contain a self-regulation of Sic1 or regulation of Sic1 by Fkh2. If it is known in advance that these regulations are not plausible, such prior knowledge can be supplied to the reconstruction algorithm: <<>>= net <- reconstructNetwork(binSeries$binarizedMeasurements, method="bestfit", maxK=4, excludedDependencies = list("Sic1" = c("Sic1", "Fkh2"))) @ <<echo=FALSE,results=hide>>= pdf("wiring2.pdf") par(mar = c(1, 1, 1, 1)) set.seed(442) plotNetworkWiring(net) dev.off() @ The wiring of the reconstruction with prior knowledge is shown at the bottom of Figure~\ref{fig:wiring}. We can see that the two false links are now eliminated. Similar to \texttt{excludedDependencies}, there is also a parameter \texttt{requiredDependencies} that specifies dependencies that must be included in the network. When \texttt{reconstructNetwork()} discovers multiple functions for a gene with the minimum error on the input data, it includes all of these functions as alternative functions with equal probability. Consequently, the function returns a \texttt{ProbabilisticBooleanNetwork} structure. If you would like to obtain a \texttt{BooleanNetwork} object with only one function per gene from a probabilistic network, you can extract such a network by telling the software which of the functions you would like to use. This can be done by specifying the indices of the functions to extract: <<>>= net <- reconstructNetwork(binSeries$binarizedMeasurements, method="bestfit", maxK=4) singleNet <- chooseNetwork(net, c(1,2,3,2)) @ The result is a Boolean network that is created by extracting the first function of gene Fkh2, the second function of genes Swi5 and Clb1, and the third function of gene Sic1 from the above probabilistic network: <<>>= singleNet @ \begin{sloppypar} \texttt{BoolNet} also supports the generation of artificial time series from existing networks: The \texttt{generateTimeSeries()} function generates a set of time series from a network using random start states and optionally adds Gaussian noise. \end{sloppypar} <<echo=FALSE,results=hide>>= set.seed(3176) @ <<>>= series <- generateTimeSeries(cellcycle, numSeries=100, numMeasurements=10, noiseLevel=0.1) @ generates a list of 100 time series by calculating 10 consecutive transitions from 100 randomly chosen network states in the mammalian cell cycle network. The series are subject to Gaussian noise with a standard deviation of 0.1, such that the result is a list of real-valued matrices. We can now binarize these simulated measurements and try to reconstruct the original network: <<>>= binSeries <- binarizeTimeSeries(series, method="kmeans") net <- reconstructNetwork(binSeries$binarizedMeasurements, method="bestfit") net @ Obviously, the number of generated time series is still to small to reconstruct the network unambiguously. However, the result comes close to the original network. We see that the functions of the network are not fully specified: At some positions, there are asterisks (\texttt{*}) denoting a \emph{don't care} value. This means that functions with a 0 and a 1 at this position match the time series equally well. That is, a partially defined function with $m$ asterisks corresponds to $2^m$ fully defined Boolean functions. It is also possible to generate these fully defined functions instead of the partially defined function by setting the parameter \texttt{returnPBN} to true (which was the behaviour prior to \texttt{BoolNet} version 2.0). For many \emph{don't care} values, this may consume a high amount of memory and computation time. \texttt{generateTimeSeries()} can also generate time series with artificial knock-outs and overexpressions: <<echo=FALSE,results=hide>>= set.seed(4463) @ <<>>= series <- generateTimeSeries(cellcycle, numSeries=10, numMeasurements=10, perturbations=1, noiseLevel=0.1) @ specifies that each generated time series is generated from a network where one randomly selected gene is artificially knocked down (constantly 0) or overexpressed (constantly 1). These perturbations are returned in an additional element \texttt{perturbations}. \begin{samepage} <<<>>= series$perturbations @ \end{samepage} Here, each column corresponds to the perturbations applied in one series. A value of 1 denotes an overexpression, a value of 0 denotes a knock-out, and an N/A value means that no perturbation was applied to this gene. The \texttt{reconstructNetwork()} function also supports the reconstruction from such perturbation experiments if it is known which genes were perturbed. First, we store the series and the perturbation matrix in separate variables and binarize the data as before: <<>>= perturbations <- series$perturbations series$perturbations <- NULL binSeries <- binarizeTimeSeries(series, method="kmeans") @ Now, we can reconstruct the network by specifying the \texttt{perturbations} parameter: <<>>= net <- reconstructNetwork(binSeries$binarizedMeasurements, method="bestfit", perturbations=perturbations) net @ As we generated only 10 series in this case, the reconstructed network is much more incomplete than in the previous reconstruction. In biological settings, perturbation experiments are probably one of the most frequent ways of exploring the behaviour of a regulatory network, as it is much easier to obtain various different responses by applying perturbations than by just measuring the wild type behaviour. \subsection{Creating random networks} To study structural properties of Boolean networks and to determine the specific properties of biological networks in comparison to arbitrary networks, it is often desirable to generate artificial networks. \texttt{BoolNet} comprises a facility for the generation of random $N$-$K$ networks \cite{kauffman69, kauffman93}. In the standard $N$-$K$ networks, $N$ is the total number of genes, and $K$ is the number of input genes for each gene transition function. Such a network can be generated using <<>>= net <- generateRandomNKNetwork(n=10, k=3) @ This creates a network with 10 genes, each of which has a transition function that depends on 3 genes and whose output is generated uniformly at random. Similarly, one can also specify different numbers of input genes for each gene: <<>>= net <- generateRandomNKNetwork(n=10, k=c(1,2,3,1,3,2,3,2,1,1)) @ \texttt{BoolNet} does not only support this standard case, but allows for different methods of choosing the numbers of input genes (parameter \texttt{topology}), the input genes themselves (parameter \texttt{linkage}), and the transition functions (parameter \texttt{functionGeneration}). In the following, some examples are presented. The command <<>>= net <- generateRandomNKNetwork(n=20, k=20, topology="scale_free") @ determines the numbers of input genes by drawing values from the scale-free Zeta distribution \cite{aldana03}. According to this distribution, most transition functions will have a small number of input genes, but a few transition functions may depend on a high number of genes. The shape of the Zeta distribution can be customized using an additional parameter \texttt{gamma}, which potentially increases the number of input genes when chosen small and vice versa. <<>>= net <- generateRandomNKNetwork(n=10, k=3, linkage="lattice") @ creates a network in which the transition functions of the genes depend on a choice of genes with adjacent indices \cite{aldana03_2}. This leads to networks with highly interdependent genes. It is also possible to influence the truth tables of the functions in several ways. The parameter \texttt{zeroBias} changes the ratio of 1 and 0 returned by the functions: <<>>= net <- generateRandomNKNetwork(n=10, k=3, functionGeneration="biased", zeroBias=0.75) @ generates a network in which the outcome of a transition function is 0 for around 75\% of the inputs. A more intricate way of influencing the function generation is the specification of generation functions. Generation functions explicitly generate functions according to a specific function class. \emph{Canalyzing functions} are assumed to occur frequently in biological systems~\cite{kauffman04}. A canalyzing function has the property that one input can determine the output value on its own, i.e. if this input is either active or inactive, the output of the function is always the same. \emph{Nested canalyzing functions} are a recursive definition of canalyzing functions, where the part of the function that does not depend on the canalyzing input is a canalyzing function for another input. Such functions can be generated using the built-in generation functions \texttt{generateCanalyzing()} and \texttt{generateNestedCanalyzing()}: <<>>= net1 <- generateRandomNKNetwork(n=10, k=3, functionGeneration=generateCanalyzing, zeroBias=0.75) net2 <- generateRandomNKNetwork(n=10, k=3, functionGeneration=generateNestedCanalyzing, zeroBias=0.75) @ It is also possible to define own generation functions: A generation function receives a vector \texttt{input} of input gene indices as a parameter and returns a truth table result column with \verb+2^length(input)+ values representing the function. If no explicit generation scheme is known for the function class of interest, validation functions can be used instead of generation functions. Validation functions verify whether randomly generated functions belong to a specific function class and reject invalid functions. Naturally, this is much less efficient than generating appropriate functions directly. An example is the generation of monotone functions, which are also thought to be biologically plausible. These function account for the assumption that a transcription factor usually either activates or inhibits a specific target gene, but does not change the type of regulation depending on other factors~\cite{maucher11}. We can specify a simple validation function that checks whether a Boolean function is monotone: \begin{samepage} <<>>= isMonotone <- function(input, func) { for (i in seq_len(ncol(input))) # check each input gene { groupResults <- split(func, input[,i]) if (any(groupResults[[1]] < groupResults[[2]]) && any(groupResults[[1]] > groupResults[[2]])) # the function is not monotone return(FALSE) } return(TRUE) } @ \end{samepage} \begin{sloppypar} Here, \texttt{input} is a matrix containing the input part of the transition table, and \texttt{func} is the output of the Boolean function. In a monotone function, the values of the target may only change in one direction when switching one input. Hence, a function for which switching the value of an input gene sometimes switches the target from active to inactive, but also sometimes switches it from inactive to active is not monotone. This is validated by comparing the two groups of transition table entries for which the current input is active and inactive respectively. If a validation function is supplied to \texttt{generateRandomNKNetwork()}, the generator generates Boolean functions until either the validation function returns \texttt{TRUE} or the maximum number of iterations (specified by the parameter \texttt{failureIterations}) is reached, in which case it fails. \end{sloppypar} <<>>= net <- generateRandomNKNetwork(n=10, k=3, validationFunction="isMonotone", failureIterations=1000) @ creates a network with 10 genes in which all functions have 3 inputs, of which at least one is canalyzing. By default, \texttt{generateRandomNKNetwork()} creates functions that cannot be simplified, i.e. that do not contain any genes that are irrelevant for the outcome of the function. If desired, this behaviour can be changed by setting \texttt{noIrrelevantGenes} to \texttt{FALSE}. The presented parameters can be combined, and there are further options and parameters, so that a broad variety of networks with different structural properties can be generated. For a full reference of the possible parameters, please refer to the manual. \subsection{Knock-out and overexpression of genes} \texttt{BoolNet} allows for temporarily knocking out and overexpressing genes in a network without touching the transition functions. This means that genes can be set to a fixed value, and in any calculation on the network, this fixed value is taken instead of the value of the corresponding transition function. Knocked-out and overexpressed genes speed up the analysis of the network, as they can be ignored in many calculations. For example, to knock out CycD in the mammalian cell cycle network, we call <<>>= data(cellcycle) knockedOut <- fixGenes(cellcycle, "CycD", 0) @ or alternatively use the gene index <<>>= knockedOut <- fixGenes(cellcycle, 1, 0) @ This sets the gene constantly to 0. To over-express the gene (i.e. to fix it to 1), the corresponding call is <<>>= overExpressed <- fixGenes(cellcycle, "CycD", 1) @ The command <<>>= originalNet <- fixGenes(knockedOut, "CycD", -1) @ reactivates the gene (for both knock and overexpression) and resets the network to its original state. The function also accepts multiple genes in a single call, such as <<>>= newNet <- fixGenes(cellcycle, c("CycD","CycE"), c(0,1)) @ which knocks out CycD and overexpresses CycE. \section{Network analysis}\label{sec:networkanalysis} \subsection{Simulation of state transitions} To simulate a state transition and identify successor states of a given state, \texttt{BoolNet} includes the function \texttt{stateTransition()}. The function supports transitions for all four types of networks. The following code performs a synchronous state transition for the state in which all genes are set to 1 on the mammalian cell cycle network: <<>>= data(cellcycle) stateTransition(cellcycle, rep(1,10)) @ To calculate all state transitions in a synchronous network until an attractor is reached, you can call <<>>= path <- getPathToAttractor(cellcycle, rep(0,10)) path @ The returned matrix consists of the subsequent states until an attractor is reached. Depending on the optional parameter \texttt{includeAttractorStates}, the sequence comprises all attractor states, only the first attractor state or none of the attractor states. A sequence can be visualized by plotting a table of state changes: <<echo=FALSE,results=hide>>= pdf("sequence.pdf") par(mar = c(1, 4, 2, 1)) plotSequence(sequence = path) dev.off() @ <<eval=FALSE>>= plotSequence(sequence=path) @ \begin{figure}[t] \centering \includegraphics[width=0.6\linewidth]{sequence} \caption{Visualization of a sequence of states in the mammalian cell cycle network. The columns of the table represent consecutive states of the time series. The last state is the steady-state attractor of the network.} \label{fig:sequence} \end{figure} The result is depicted in Figure~\ref{fig:sequence}. \texttt{plotSequence()} also includes a shortcut that calculates the sequence directly if a network and a start state are supplied. It also provides an alternative way of visualizing the sequence as a state transition by setting \texttt{mode="graph"}. The function <<eval=FALSE>>= sequenceToLaTeX(sequence=path, file="sequence.tex") @ creates a \LaTeX\ table similar to \texttt{plotSequence()} function document. In many cases, start states are defined by a set of active genes. Instead of supplying a full state vector, one can also supply only these active genes using the \texttt{generateState()} function. <<>>= startState <- generateState(cellcycle, specs=c("CycD"=1,"CycA"=1)) stateTransition(cellcycle,startState) @ \begin{sloppypar} calculates a state transition starting from a state where only the genes \emph{CycD} and \emph{CycA} are active, while all other genes are inactive (which is controlled by the \texttt{default} parameter of \texttt{generateState()}). \end{sloppypar} For temporal Boolean networks (objects of class \emph{SymbolicBooleanNetworks}), the above functions can be utilized mostly in the same way. We demonstrate this using a small temporal network example of the IGF (Insulin-like growth receptor) pathway that is included in the package and can be loaded via <<>>= data(igf) @ The model illustrates the activation and feedback inhibition of the PI3K-Akt-mTOR signalling cascade through IGF and IRS. A state transition from the initial state in which the trigger of the pathway -- IGF -- is active, can be performed using <<>>= startState <- generateState(igf, specs=c("IGF"=1)) stateTransition(igf, startState) @ The IGF network incorporates time delays of up to 3. Therefore, the last three states have to be known to calculate a successor state. If only a single state is supplied -- as above -- the function assumes that the state was the same before. This can be seen when calculating the sequence to the attractor using <<>>= getPathToAttractor(network=igf,state=startState) @ Here, the states at $t=-2, \ldots 0$ are the same as the generated start state. If it is required to specify multiple predecessor states here, a matrix of states can be supplied instead of a vector. E.g., <<>>= startState <- generateState(igf, specs=list("IGF"=c(0,0,1))) startState @ specifies that the first two states ($t=-2, t=-1$) should have all genes inactive, while IGF is activated only at $t=0$. This time, we plot the sequence instead of printing it: \begin{figure}[bt] \centering \includegraphics[width=0.6\linewidth]{sequence_igf} \caption{Visualization of a sequence of states in the IGF network. The columns of the table represent consecutive states of the time series. After activation of IGF, the attractor consisting of 14 states is entered immediately. This attractor represents the activation and inactivation of the PI3K-Akt-mTOR signalling cascade through IGF and IRS.} \label{fig:sequence_igf} \end{figure} <<echo=FALSE,results=hide>>= pdf("sequence_igf.pdf") par(mar = c(1, 9, 2, 1)) plotSequence(network=igf, startState=startState) dev.off() @ <<eval=FALSE>>= plotSequence(network=igf, startState=startState) @ The result is depicted in Figure~\ref{fig:sequence_igf}. \texttt{stateTransition()} can also perform asynchronous updates. A random asynchronous transition is performed using <<echo=FALSE>>= set.seed(54321) @ <<>>= stateTransition(cellcycle, rep(1,10), type="asynchronous") @ In this case, the fifth gene, CycA, was chosen at uniformly at random and updated. \begin{samepage} We can also specify non-uniform probabilities for the genes, for example <<echo=FALSE>>= set.seed(4321) @ <<>>= stateTransition(cellcycle, rep(1,10), type="asynchronous", geneProbabilities=c(0.05,0.05,0.2,0.3,0.05,0.05,0.05,0.05,0.1,0.1)) @ This obviously increases probabilities for the genes 3 and 4 (E2F and CycE) to be chosen. In this case, CycE was chosen for the update. \end{samepage} \enlargethispage{0.5cm} Sometimes you do not want a random update at all, but would like to specify which gene should be chosen for the update. This is possible via <<>>= stateTransition(cellcycle, rep(1,10), type="asynchronous", chosenGene="CycE") @ In probabilistic Boolean networks, a state transition is performed by choosing one of the alternative functions for each gene and applying this set of functions to the current state. The following performs a state transition with a randomly chosen set of functions on the artificial probabilistic Boolean network taken from \cite{shmulevich02} with 3 genes, starting from state (0,1,1): <<echo=FALSE>>= set.seed(432) @ <<>>= data(examplePBN) stateTransition(examplePBN, c(0,1,1), type="probabilistic") @ You may get a different result, as the functions are chosen randomly according to the probabilities stored in the network. If you would like to execute a specific set of transition functions, you can supply this in an additional parameter: <<>>= stateTransition(examplePBN, c(0,1,1), type="probabilistic", chosenFunctions=c(2,1,2)) @ This call uses the second function for gene x1 and x3 and the first function for gene x2. \subsection{Identification of attractors} Attractors are stable cycles of states in a Boolean network. As they comprise the states in which the network resides most of the time, attractors in models of gene-regulatory networks are expected to be linked to phenotypes \cite{kauffman93,li04}. Transitions from all states in a Boolean network eventually lead to an attractor, as the number of states in a network is finite. All states that lead to a certain attractor form its {\em basin of attraction}. \texttt{BoolNet} is able to identify attractors in synchronous and asynchronous Boolean networks. There are three types of attractors in these networks: \begin{description} \item[Simple attractors]{occur in synchronous and temporal Boolean networks and consist of a set of states whose synchronous transitions form a cycle.} \item[Complex or loose attractors]{are the counterpart of simple attractors in asynchronous networks. As there is usually more than one possible transition for each state in an asynchronous network, a complex attractor is formed by two or more overlapping loops. Precisely, a complex attractor is a set of states in which all asynchronous state transitions lead to another state in the set, and a state in the set can be reached from all other states in the set.} \item[Steady-state attractors]{are attractors that consist of only one state. All transitions from this state result in the state itself. These attractors are the same both for synchronous and asynchronous update of a network. Steady states are a special case of both simple attractors and complex attractors.} \end{description} The \texttt{getAttractors()} function incorporates several methods for the identification of attractors in synchronous and asynchronous networks. We present these methods using the included mammalian cell cycle network as an example. This network has one steady-state attractor, one simple synchronous attractor consisting of 7 states, and one complex asynchronous attractor with 112 states (see \cite{faure06}). We first demonstrate the use of exhaustive synchronous state space search. This means that the software starts from all possible states of the network and performs synchronous state transitions until a simple or steady-state attractor is reached. \pagebreak[4] <<eval=FALSE>>= data(cellcycle) attr <- getAttractors(cellcycle) attr @ \begin{lstlisting}[linewidth=.9\linewidth] <<echo=FALSE,results=tex>>= attr <- getAttractors(cellcycle) attr @ \end{lstlisting} Typing \texttt{attr} calls a special print method that presents the attractor in a human-readable way. Here, a state in an attractor is represented by a binary vector, where each entry of the vector codes for one gene. An alternative is to print only the names of the active genes (i.e., the genes that are set to 1) instead of the full vector by calling the \texttt{print()} method explicitly with a changed parameter: <<eval=FALSE>>= print(attr, activeOnly=TRUE) @ \begin{lstlisting}[linewidth=.9\linewidth] <<echo=FALSE,results=tex>>= print(attr, activeOnly=TRUE) @ \end{lstlisting} We can see that the search identified both synchronous attractors. \begin{sloppypar} The \texttt{AttractorInfo} structure stores the attractors in an encoded form. The function \texttt{getAttractorSequence()} can be used to obtain the sequence of states that constitute a specific synchronous attractor as a table: \end{sloppypar} <<>>= getAttractorSequence(attr, 2) @ retrieves the states that make up the second (i.e., the 7-state attractor) as a data frame with the genes in the columns and the successive states in the rows. \begin{figure}[t] \centering \includegraphics[width=0.65\linewidth]{attractor1} \caption{Visualization of the state changes in an attractor. The columns of the table represent consecutive states of the attractor. On top, the percentage of states leading to the attractor is supplied.} \label{fig:attractor1} \end{figure} Synchronous attractors can also be visualized by plotting a table of changes of gene values in the states of the attractor: <<eval=FALSE>>= plotAttractors(attr, subset=2) @ <<echo=FALSE,results=hide>>= pdf("attractor1.pdf") par(mar=c(1,5,1,1)) plotAttractors(attr, subset=2) dev.off() @ plots the state changes of the simple attractor with 7 states, as depicted in Figure~\ref{fig:attractor1}. Similarly, <<eval=FALSE>>= attractorsToLaTeX(attr, subset=2, file="attractors.tex") @ exports the same state table to a \LaTeX\ document. The advantage of the exhaustive search method is that apart from the attractors themselves, the complete transition table is calculated and stored in the return value. This table comprises information that is used by a number of analysis methods described below. You can extract the transition table in a data frame and print it out using <<eval=FALSE>>= tt <- getTransitionTable(attr) tt @ \begin{verbatim} State Next state Attr. basin # trans. to attr. 0000000000 => 0110010111 1 4 [...] 1111111111 => 1000001110 2 1 Genes are encoded in the following order: CycD Rb E2F CycE CycA p27 Cdc20 Cdh1 UbcH10 CycB \end{verbatim} In the printed table, the first column denotes the initial state, the second column contains the state after the transition, the first column contains the number of the attractor that is finally reached from this state, and the fourth column lists the number of state transitions required to attain this attractor. A table of the same structure is returned by <<eval=FALSE>>= getBasinOfAttraction(attr, 1) @ which extracts all states from the transition table that belong to the basin of attraction of attractor one (i.e., whose attractor number in column 3 is 1). If you are interested in information on a single state (here: the state with all genes set to 1), you can type <<eval=FALSE>>= getStateSummary(attr, c(1,1,1,1,1,1,1,1,1,1)) @ \begin{verbatim} State Next state Attr. basin # trans. to attr. 1111111111 => 1000001110 2 1 Genes are encoded in the following order: CycD Rb E2F CycE CycA p27 Cdc20 Cdh1 UbcH10 CycB \end{verbatim} The visualization function \texttt{getStateGraph()} makes use of the transition table as well: It plots a transition graph in which the basins of attraction are drawn in different colors, and the attractors are highlighted. The result of <<echo=FALSE,results=hide>>= pdf("stategraph1.pdf") set.seed(43210) par(mar=c(1,1,1,1)) plotStateGraph(attr) dev.off() @ <<eval=FALSE>>= plotStateGraph(attr) @ is depicted at the top of Figure~\ref{fig:stategraph}. The blue basin belongs to attractor 1, and the green basin belongs to attractor 2. The above call does not ensure that the basins of attraction are clearly separated in the plot. If this is desired, one can choose to use a piecewise layout, which means that the layouting function is applied separately to each basin of attraction, and the basins are drawn side by side. The result of <<echo=FALSE,results=hide>>= pdf("piecewisestategraph.pdf") set.seed(43210) par(mar=c(1,1,1,1)) plotStateGraph(attr, piecewise=TRUE) dev.off() @ <<eval=FALSE>>= plotStateGraph(attr, piecewise=TRUE) @ is depicted at the bottom of Figure~\ref{fig:stategraph}. \begin{figure}[p] \centering \includegraphics[width=0.7\linewidth]{stategraph1} \includegraphics[width=0.7\linewidth]{piecewisestategraph} \caption{The state graph of the mammalian cell cycle network using the regular layout (top) and using a piecewise layout (bottom). Each node represents a state of the network, and each arrow is a state transition. The colors mark different basins of attraction. Attractors are highlighted using bold lines.} \label{fig:stategraph} \end{figure} Exhaustive search consumes a high amount of time and memory with increasing size of the network, which makes it intractable for large networks (\texttt{BoolNet} currently supports networks with up to 29 genes for exhaustive state space search). Therefore, \texttt{BoolNet} also allows for other search techniques that can handle larger networks. Depending on the requirements, the following options are available: \begin{description} \item[Heuristic state space search] basically uses the same technique as exhaustive attractor search, but only uses a subset of states as initial states instead of the full state space. It then identifies the attractors to which state transitions from these states lead. The start states can either be supplied, or they can be calculated randomly. \item[Exhaustive SAT-based search] exhaustively identifies all possible attractors of a network based on a formulation of attractor search as a satisfiability (SAT) problem and then applies the PicoSAT solver \cite{biere08} to the problem. The algorithm is an adaption of that of Dubrova and Teslenko \cite{dubrova11}. Unlike exhaustive state space search, this method only returns the attractors, but not the state transition table/graph. Depending on the network structure, it can be applied to networks comprising several hundreds of genes. \item[Restricted SAT-based search] uses another formulation as a satisfiability problem and only identifies attractors of a predefined maximum cycle length. It is exhaustive with regard to attractors of at most this size, but will never return any attractors that comprise more than the predefined number of states. Like the exhaustive SAT-based search, this method does not return a transition table. \end{description} The following shows the application of the above methods exemplarily. A heuristic state space search from randomly chosen start states in the mammalian cell cycle network can be started via <<>>= attr <- getAttractors(cellcycle, method="random", startStates=100) @ This chooses 100 random start states for the heuristic search and usually identifies both attractors. <<>>= attr <- getAttractors(cellcycle, method="chosen", startStates=list(rep(0,10),rep(1,10))) @ starts from the states \texttt{(0,0,0,0,0,0,0,0,0,0)} and \texttt{(1,1,1,1,1,1,1,1,1,1)} and again identifies both synchronous attractors. \begin{sloppypar} For the above calls, only the subset of the transition table traversed by the heuristic search is returned. This means that there is no guarantee that, e.g. \texttt{getBasinOfAttraction()} returns the complete basin of attraction of an attractor in heuristic mode. \end{sloppypar} An exhaustive SAT-based search can be started using <<>>= attr <- getAttractors(cellcycle, method="sat.exhaustive") @ This will again return all attractors, but no transition table. If you are only interested in a subset of attractors that have a predefined length, the restricted SAT-based search can be applied. For example, <<>>= attr <- getAttractors(cellcycle, method="sat.restricted", maxAttractorLength=1) @ restricts the attractor search to steady states. Correspondingly, only the first attractor of the network is returned: <<eval=FALSE>>= attr @ \begin{lstlisting}[linewidth=.9\linewidth] <<echo=FALSE,results=tex>>= attr @ \end{lstlisting} \texttt{BoolNet} can also identify attractors in asynchronous Boolean network. For this purpose, another special heuristic algorithm is included. This algorithm starts from a small subset of states and makes a number of random transitions to reach an attractor with a high probability. After that, a validation step is performed to analyze whether a complex attractor has been identified. The command <<results=hide>>= attr <- getAttractors(cellcycle, type="asynchronous", method="random", startStates=500) @ conducts an asynchronous search with 500 random start states on the mammalian cell cycle network. In this case, the algorithm has identified both the steady-state attractor and the complex attractor: \enlargethispage{0.5cm} <<eval=FALSE>>= attr @ \begin{verbatim} Attractor 1 is a simple attractor consisting of 1 state(s): |--<---------| V | 0100010100 | V | |-->---------| Genes are encoded in the following order: CycD Rb E2F CycE CycA p27 Cdc20 Cdh1 UbcH10 CycB Attractor 2 is a complex/loose attractor consisting of 112 state(s) and 338 transition(s): 1011101111 => 1011101110 [...] 1000000000 => 1010000000 Genes are encoded in the following order: CycD Rb E2F CycE CycA p27 Cdc20 Cdh1 UbcH10 CycB \end{verbatim} For the complex attractor, the involved transitions are printed out. By default, the algorithm tries to avoid self-loops, i.e. transitions that lead to the same state again. This means that self-loop transitions are only allowed if there is no other transition that leads to a different state. If you would like to allow the algorithm to enter self-loops even if transitions to different states are possible, you can call <<eval=FALSE>>= attr <- getAttractors(cellcycle, type="asynchronous", method="random", startStates=500, avoidSelfLoops=FALSE) @ In the resulting complex attractor with 112 states, there are 450 transitions instead of 338 transitions, which is due to the additional self-loops. The asynchronous heuristic search does not return a transition table, such that the above analysis methods cannot be applied here. \begin{figure}[tb] \centering \includegraphics[width=0.55\linewidth]{attractor2} \caption{Graph representation of the complex attractor in the mammalian cell cycle network. Each node represents a state of the complex attractor, and each arrow represents a state transition.} \label{fig:attractor2} \end{figure} As there are multiple possible transitions for each state, complex attractors cannot be visualized as in Figure~\ref{fig:attractor1}. For this reason, \texttt{plotAttractors()} supports a graph mode that visualizes the transitions among the states in the attractor: <<echo=FALSE,results=hide>>= pdf("attractor2.pdf") par(mar=c(1,1,1,1)) plotAttractors(attr, subset=2, mode="graph", drawLabels=FALSE) dev.off() @ <<eval=FALSE>>= plotAttractors(attr, subset=2, mode="graph", drawLabels=FALSE) @ plots the 112-state attractor as depicted in Figure~\ref{fig:attractor2}. We omit the state labels (i.e. the gene values) due to the high number of states. This plot again requires the \texttt{igraph} package. \begin{sloppypar} Although \texttt{getAttractors()} can also be applied to temporal networks and other networks that are in a symbolic representation (i.e. \emph{SymbolicBooleanNetwork} objects), this function is only a shortcut to the simulation function \texttt{simulateSymbolicModel()} in this case. It is advised to use \texttt{simulateSymbolicModel()} directly , as it provides more options. For the temporal model of the IGF pathway included in \texttt{BoolNet}, an exhaustive simulation can be performed as follows: \end{sloppypar} <<eval=FALSE>>= sim <- simulateSymbolicModel(igf) sim @ \begin{lstlisting}[linewidth=.9\linewidth] <<echo=FALSE,results=tex>>= sim <- simulateSymbolicModel(igf) sim @ \end{lstlisting} By default, the result object of class \emph{SymbolicSimulation} comprises several components: \begin{itemize} \item A list of sequences \texttt{sequences} from each start state to the corresponding attractor. If this component is not desired, the parameter \texttt{returnSequences} can be set to false. \item A graph structure \texttt{graph} that comprises all traversed state transitions. If this component is not desired, the parameter \texttt{returnGraph} can be set to false. \item The identified attractors \texttt{attractors}. If this component is not desired, the parameter \texttt{returnAttractors} can be set to false. \end{itemize} In this case, the network has two attractors: A steady state describes the inactive state of the pathway. The circular attractor describes the activation and inactivation of the PI3K-Akt-mTOR signalling cascade initiated by IGF. All visualization and analysis function described above can also be applied to the simulation results obtained by \texttt{simulateSymbolicModel}. For example, the cascade attractor can be visualized via <<echo=FALSE,results=hide>>= pdf("attractor3.pdf") par(mar=c(1,5,1,1)) plotAttractors(sim, subset=2) dev.off() pdf("stategraph2.pdf") par(mar=c(1,1,1,1)) plotStateGraph(sim) dev.off() @ <<eval=FALSE>>= plotAttractors(sim, subset=2) @ Similarly, <<eval=FALSE>>= plotStateGraph(sim) @ plots the state transition graph of the network. Unlike in classical synchronous networks, a state can have multiple successor states (outgoing edges) in temporal networks, as a state transition may also depend on the history of states before the current state. The two plots are shown in Figure~\ref{fig:temporal_plots}. \begin{figure}[p] \centering \includegraphics[width=0.6\linewidth]{attractor3} \includegraphics[width=0.6\linewidth]{stategraph2} \caption{Top: Visualization of an attractor that describes the activation and inactivation of the PI3K-Akt-mTOR signalling cascade through IGF and IRS. The columns of the table represent consecutive states of the attractor. On top, the percentage of states leading to the attractor is supplied.\newline Bottom: The state transition graph of the IGF pathway network. Each node represents a state of the network, and each arrow is a state transition. The colors mark different basins of attraction. } \label{fig:temporal_plots} \end{figure} For temporal networks, it is often infeasible to perform an exhaustive state-space simulation, as the search space is not only exponential in the number of genes, but also in the time delays. There are two options to deal with this: First, the search can be restricted to randomly generated or prespecified start states similarly to \texttt{getAttractors()}. If time delays of more than 1 are included in the network, not only single start states are generated, but the required history of states is generated as well. For example, <<echo=FALSE>>= set.seed(43851) @ <<>>= sim <- simulateSymbolicModel(igf, method="random", startStates=2) @ generates two start state matrices, each comprising 3 states (the maximum delay of the IGF network), and uses them as the basis for a simulation. This can be seen when examining the sequences to the attractors: <<>>= sim$sequences @ Both sequences comprise start states $t=-2$, $t=-1$ and $t=0$. The second option is to use a SAT-based attractor search similar to that in \texttt{getAttractors()}. Here, only the attractors are identified, but no state sequences and no state transition graph are returned. <<>>= sim <- simulateSymbolicModel(igf, method="sat.exhaustive") @ identifies all attractors in the network in an exhaustive manner. Alternatively, one can only search for attractors of a specific maximum length: <<>>= sim <- simulateSymbolicModel(igf, method="sat.restricted", maxAttractorLength=1) @ will only return the steady-state attractor representing pathway inactivity, but not the 14-state attractor. Please note that this length-restricted search cannot be applied to temporal networks comprising the time-dependent predicates \texttt{timeis},\texttt{timelt} or \texttt{timegt}. \begin{sloppypar} Classical synchronous Boolean networks can also be simulated using the symbolic simulator \texttt{simulateSymbolicModel()} if they are in a symbolic form. However, in most cases, \texttt{getAttractors()} will be faster and will consume less memory for synchronous networks without temporal elements. Only if the number of inputs to genes is very high and exhaustive simulation is not required, it may be advisable to use the symbolic simulator. \end{sloppypar} \subsection{Markov chain simulations} Another way of identifying relevant states in Boolean networks are Markov chain simulations. Instead of identifying cycles explicitly, these simulations calculate the probability that a certain state is reached after a predefined number of iterations. Of course, states in an attractor have a high probability of being reached if the number of iterations is chosen large enough. Markov chain simulations for probabilistic Boolean networks were introduced by Shmulevich et al. \cite{shmulevich02}. As a special case of probabilistic Boolean networks, these simulations are also suited for synchronous Boolean networks. The following performs a Markov experiment with the predefined number of 1000 iterations on the example PBN described in \cite{shmulevich02}: \enlargethispage{-0.5cm} <<>>= data(examplePBN) sim <- markovSimulation(examplePBN) sim @ Only states with a non-zero probability are listed in the two tables. The first table shows the states that are reached after 1000 iterations. The second table is a transition table annotated with transition probabilities. This table can be suppressed by the parameter \texttt{returnTable=FALSE}. The results correspond exactly to those in \cite{shmulevich02}. If the transition table is included in the simulation results, we can plot a graph of the network: <<eval=FALSE>>= plotPBNTransitions(sim) @ <<echo=FALSE,results=hide>>= pdf("pbntransitions.pdf") set.seed(4961) par(mar=c(1,1,1,1)) plotPBNTransitions(sim) dev.off() @ This graph is displayed in Figure~\ref{fig:pbntransitions}. The vertices are the states of the graph. The edges represent transitions and are annotated with the corresponding transition probabilities. For this plot, the \texttt{igraph} package must be installed. \begin{figure}[h] \centering \includegraphics[width=0.65\linewidth]{pbntransitions} \caption{State transition graph of the example probabilistic Boolean network included in \texttt{BoolNet}. Each node represents a state of the network, and each arrow is a possible state transition, annotated by the transition probability.} \label{fig:pbntransitions} \end{figure} We can also use Markov chain simulations to identify the attractor states in the mammalian cell cycle network: \begin{samepage} <<>>= data(cellcycle) sim <- markovSimulation(cellcycle, numIterations=1024, returnTable=FALSE) sim @ \end{samepage} We set the maximum number of iterations to 1024, which is the number of states in the network. In a deterministic network, this guarantees that all states are found. The fourth state in the returned table is the steady-state attractor identified previously. It has a probability of 0.5, as the basin of attraction is exactly half of the states. The other 7 states belong to the simple synchronous attractor. It is also possible to restrict the simulation to a certain set of input states instead of using all possible input states. In the following example, we only consider the state with all genes set to 1, and identify the state belonging to the steady-state attractor again: \begin{samepage} <<>>= sim <- markovSimulation(cellcycle, numIterations=1024, returnTable=FALSE, startStates=list(rep(1,10))) sim @ \end{samepage} \subsection{Robustness assessment} A biological network is assumed to be robust to small amounts of noise. The plausibility of network models is therefore often assessed by testing its robustness to noise and mismeasurements. Typically, artificial noise is applied, and its influence on the behaviour of a network is measured. There are two major ways of applying random noise: Either the current state of a network in a simulation can be perturbed, or the network structure itself can be perturbed. \texttt{BoolNet} includes functions for both types of robustness assessment. The function \texttt{perturbTrajectories} measures the influence of noise that is applied to the current network state. It generates a set of initial states and creates perturbed copies of these states by randomly flipping bits. It then measures the influence of the flips on the further dynamic behaviour of the network. For example <<echo=FALSE>>= set.seed(3361) @ <<>>= data(cellcycle) r <- perturbTrajectories(cellcycle, measure="hamming", numSamples=100, flipBits=1) @ randomly generates 100 states and 100 copies with one bitflip and performs a single state transition for each state. It then measures the normalized Hamming distance (the fraction of different bits) between each state and the corresponding perturbed copy. A robust network is assumed to yield a low Hamming distance. The average distance can be viewed by typing <<>>= r$value @ A related measure is the average sensitivity. This measure assesses only a single transition function and counts the number of successor states that differ between the original states and the perturbed copies for the corresponding gene. E.g., <<>>= r <- perturbTrajectories(cellcycle, measure="sensitivity", numSamples=100, flipBits=1, gene="CycE") @ <<>>= r$value @ measures the average sensitivity of the transition function for gene CycE. The long-term behaviour can be evaluated by comparing the attractors that are reached from the initial states and their perturbed copies. <<>>= r <- perturbTrajectories(cellcycle, measure="attractor", numSamples=100, flipBits=1) r$value @ measures the fraction of pairs of states and perturbed copies that yield the same attractors. It can be assumed that small changes in the state should not influence the long-term behaviour of the network, and hence the attractors should mostly be the same. The second class of perturbations adds random noise to the network itself. This is implemented in the \texttt{perturbNetwork()} function. Unlike \texttt{perturbTrajectories()}, this function does not perform any simulations, but returns a perturbed copy of the network that can be analyzed further. \texttt{BoolNet} includes a set of different perturbation options that can be combined. For example, <<>>= perturbedNet <- perturbNetwork(cellcycle, perturb="functions", method="bitflip") @ chooses a function of the network at random and flips a single bit in this function. By setting the parameter \texttt{maxNumBits}, you can also flip more than one bit at a time. Instead of flipping bits, <<>>= perturbedNet <- perturbNetwork(cellcycle, perturb="functions", method="shuffle") @ randomly permutes the output values of the chosen transition functions. This preserves the numbers of 0s and 1s, but may change the Boolean function completely. These kinds of perturbations are supported for synchronous and asynchronous networks as well as for probabilistic networks. For synchronous networks, a further perturbation mode is available: <<>>= perturbedNet <- perturbNetwork(cellcycle, perturb="transitions", method="bitflip", numStates=10) @ Here, \texttt{BoolNet} calculates the complete transition table of the network and then flips a single bit in 10 states of the transition table. From this modified table, a network is reconstructed. Changes of this type only affect a few states (which might not be the case when perturbing the functions directly as above), but possibly several of the transition functions. As in the previous examples, it is also possible to modify the number of bits to be flipped or to choose \texttt{method="shuffle"}. \begin{samepage} A detailed listing of a perturbation experiment is shown below. In this experiment, 1000 perturbed copies of the cell cycle network are created, and the occurrences of the original synchronous attractors are counted in the perturbed copies. This is similar to the simulation in \texttt{perturbTrajectories()} with \texttt{measure="attractor"}. However, instead of comparing the outcomes of different initial states in the same network, it compares all attractors of different perturbed networks to all attractors of the original network by exhaustive search. \begin{footnotesize}\label{alg:perturbation} <<eval=FALSE>>= # Perform a robustness test on a network # by counting the numbers of perturbed networks # containing the attractors of the original net library(BoolNet) # load mammalian cell cycle network data(cellcycle) # get attractors in original network attrs <- getAttractors(cellcycle, canonical=TRUE) # create 1000 perturbed copies of the network and search for attractors perturbationResults <- sapply(1:1000, function(i) { # perturb network and identify attractors perturbedNet <- perturbNetwork(cellcycle, perturb="functions", method="bitflip") perturbedAttrs <- getAttractors(perturbedNet, canonical=TRUE) # check whether the attractors in the original network exist in the perturbed network attractorIndices <- sapply(attrs$attractors,function(attractor1) { index <- which(sapply(perturbedAttrs$attractors, function(attractor2) { identical(attractor1, attractor2) })) if (length(index) == 0) NA else index }) return(attractorIndices) }) # perturbationResults now contains a matrix # with the first 2 columns specifying the indices or the # original attractors in the perturbed network # (or NA if the attractor was not found) and the next 2 # columns counting the numbers of states # in the basin of attraction (or NA if the attractor was not found) # measure the total numbers of occurrences of the original attractors in the perturbed copies numOccurrences <- apply(perturbationResults[seq_along(attrs$attractors),,drop=FALSE], 1, function(row)sum(!is.na(row))) # print original attractors cat("Attractors in original network:\n") print(attrs) # print information cat("Number of occurrences of the original attractors", "in 1000 perturbed copies of the network:\n") for (i in 1:length(attrs$attractors)) { cat("Attractor ",i,": ",numOccurrences[i],"\n",sep="") } @ \end{footnotesize} \end{samepage} \pagebreak[4] \begin{samepage} The results of such an experiment could look like this: \begin{verbatim} Attractors in original network: Attractor 1 is a simple attractor consisting of 1 state(s) and has a basin of 512 state(s): [...] Attractor 2 is a simple attractor consisting of 7 state(s) and has a basin of 512 state(s): [...] Number of occurrences of the original attractors in 1000 perturbed copies of the network: Attractor 1: 622 Attractor 2: 589 \end{verbatim} \end{samepage} We see that the steady-state attractor is slightly more robust to perturbations than the simple attractor with 7 states, as it can be identified in a higher number of perturbed copies. \subsection{Identifying specific properties of biological networks} The described robustness measures could also be used to identify specific properties of real-world networks in comparison to arbitrary (random) networks. For example, one could assume that attractors in biological networks are more robust to perturbations than attractors in random networks with a similar structure, as they should be capable of compensating for small dysfunctions of their components. Similarly to the above code, one could execute a number of random perturbations on the biological network and measure the percentage of original attractors found in the perturbed copies. Afterwards, one could repeat this process on a number of randomly generated networks -- i.e., generate perturbed copies from each of the random networks, and measure the percentage of attractors in the copies. If the percentage of the biological network is higher than most of the percentages of the random network, this suggests that the biological network exhibits a higher robustness. This is a kind of computer-intensive test. \texttt{BoolNet} comprises a generic facility for such computer-intensive tests. This facility already includes several tests (mainly for synchronous Boolean networks) and can be extended by custom test functions. The outlined example of attractor robustness is one of the integrated functions: <<eval=FALSE>>= data(cellcycle) res <- testNetworkProperties(cellcycle, numRandomNets=100, testFunction="testAttractorRobustness", testFunctionParams = list(copies=100, perturb="functions")) @ creates a set of 100 random networks (each with the same number of input genes for the functions as the cell cycle network) and creates 100 perturbed copies for each of these networks and for the cell cycle network by applying \texttt{perturbNetwork()} with \texttt{perturb="functions"}. For each network, it then calculates the percentage of attractors that can still be found in the perturbed copies. The function plots a histogram of this robustness measures of the random networks (see Figure~\ref{fig:robustness}, top panel). The corresponding value of the original cell cycle network is plotted as a red line, and the 95\% quantile is plotted as a blue line. <<echo=FALSE,results=hide>>= pdf("attractor_robustness.pdf") par(mar=c(4,4,2,1)) data(cellcycle) set.seed(3241) res <- testNetworkProperties(cellcycle, numRandomNets=100, testFunction="testAttractorRobustness", testFunctionParams = list(copies=100, perturb="functions")) dev.off() @ \begin{figure}[p] \centering \includegraphics[width=0.6\linewidth]{attractor_robustness} \includegraphics[width=0.6\linewidth]{transition_robustness} \caption{Top: Attractor robustness of randomly generated networks (histogram) in comparison to the mammalian cell cycle network (red line).\newline Bottom: Normalized Hamming distance of randomly generated networks (histogram) in comparison to the mammalian cell cycle network (red line). } \label{fig:robustness} \end{figure} We can see that the average percentage of found attractors is significantly higher in the biological network with a $p$-value of 0.01. \begin{sloppypar} It is also possible to perturb the states instead of the networks themselves by setting \texttt{perturb} to \texttt{"trajectories"}. In this case, the function applies \texttt{perturbTrajectories()} with \texttt{measure="attractor"} to the biological network and the randomly generated networks. It then tests whether the fraction of state pairs that yield the same attractor is higher in the biological network than in the randomly generated networks. The second built-in test function also tests the robustness of the network behaviour by perturbing the network states: \texttt{testTransitionRobustness()} applies \texttt{perturbTrajectories()} with \texttt{measure="hamming"} to each network. It then checks whether random bit flips yield a higher Hamming distance of the successor states in randomly generated networks than in the biological model, i.e. whether noise in the states influences the randomly generated networks stronger than the biological model. In contrast to the previous measures for which a greater value was assumed in the biological model, the Hamming distance is assumed to be smaller. Hence, we must specify the test alternative as \texttt{alternative="less"}. \end{sloppypar} <<eval=FALSE>>= testNetworkProperties(cellcycle, numRandomNets=100, testFunction="testTransitionRobustness", testFunctionParams=list(numSamples=100), alternative="less") @ <<echo=FALSE,results=hide>>= pdf("transition_robustness.pdf") par(mar=c(4,4,2,1)) data(cellcycle) set.seed(22652) testNetworkProperties(cellcycle, numRandomNets=100, testFunction="testTransitionRobustness", testFunctionParams=list(numSamples=100), alternative="less") dev.off() @ The results are shown in the bottom panel of Figure~\ref{fig:robustness}. Again, the result is highly significant (indeed, the Hamming distances are \emph{always} lower in the biological network), which means that the biological network is considerably more robust to noise in the states than the randomly generated models. Another network property can also be tested using a built-in function: When looking at the state graph of a biological network (which can be generated using \texttt{plotStateGraph()}), it can often be observed that many state transitions lead to the same successor states, which means that the dynamics of the network quickly concentrate on a few states after a number of state transitions. We call the number of states whose synchronous state transitions lead to a state $s$ the {\em in-degree} of state $s$. We expect the biological network to have a few states with a high in-degree and many states with a low in-degree. A characteristic to summarize the in-degrees is the Gini index, which is a measure of inhomogeneity. If all states have an in-degree of 1, the Gini index is 0; if all state transitions lead to only one state, the Gini index is 1. <<eval=FALSE>>= testNetworkProperties(cellcycle, numRandomNets=100, testFunction="testIndegree") @ <<echo=FALSE,results=hide>>= pdf("indegree.pdf") par(mar=c(4,4,2,1)) set.seed(6314) testNetworkProperties(cellcycle, numRandomNets=100, testFunction="testIndegree") dev.off() @ plots an histogram of Gini indices in 100 random networks and draws the Gini index of the cell cycle network as a red line, as depicted in the top panel of Figure~\ref{fig:indegree}. \begin{figure}[p] \centering \includegraphics[width=0.6\linewidth]{indegree} \includegraphics[width=0.6\linewidth]{indegree_kl} \caption{Top: Gini indices of state in-degrees of randomly generated networks (histogram) in comparison to the mammalian cell cycle network (red line)\newline Bottom: Kullback-Leibler distances of in-degrees of the mammalian cell cycle network and 100 random networks.} \label{fig:indegree} \end{figure} The histogram shows that the Gini index of the in-degrees is always higher in the biological network. This is probably due to the special structure of functions in biological networks. Instead of accumulating the in-degrees using the Gini index, it is also possible to compare the distributions of the in-degrees across the networks. For this purpose, the Kullback-Leibler distances of the in-degrees of the supplied network and each of the random networks are calculated and plotted in a histogram. The Kullback-Leibler distance (also called relative entropy) is an asymetric measure of similarity of two distributions \cite{cover91}. If the distributions are equal, the Kullback-Leibler distance is 0, otherwise it is greater than 0. <<eval=FALSE>>= testNetworkProperties(cellcycle, numRandomNets=100, testFunction="testIndegree", accumulation="kullback_leibler") @ <<echo=FALSE,results=hide>>= pdf("indegree_kl.pdf") par(mar=c(4,4,2,1)) set.seed(234256) testNetworkProperties(cellcycle, numRandomNets=100, testFunction="testIndegree", accumulation="kullback_leibler") dev.off() @ results in the plot displayed in the bottom panel of Figure~\ref{fig:indegree}. It is possible to switch between the histogram of an accumulated characteristic (e.g. the Gini index) and the histogram of the Kullback-Leibler distances for all tests. \begin{sloppypar} You can also easily implement your own tests. To do this, the only thing you have to do is implement a custom testing function that replaces \texttt{testIndegree()} or \texttt{testAttractorRobustness()}. Testing functions have the following signature: \end{sloppypar} \begin{verbatim} function(network, accumulate=TRUE, params) \end{verbatim} The first parameter is the network that should be tested. The parameter \texttt{accumulate} specifies whether a single characteristic value (e.g., the Gini index of the in-degrees) should be calculated, or whether a distribution of values (e.g., a vector of all in-degrees) should be returned. The third parameter is a list of further arguments needed by your function. If, for example, we would like to compare the sizes of the basins of attractions of synchronous attractors in biological and random networks, we would write a function like this: \begin{samepage} <<>>= testBasinSizes <- function(network, accumulate=TRUE, params) { attr <- getAttractors(network) basinSizes <- sapply(attr$attractors, function(a) { a$basinSize }) if (accumulate) return(mean(basinSizes)) else return(basinSizes) } @ \end{samepage} This function calculates the mean basin size as a characteristic value if accumulation is required, or returns the sizes of all basins of attraction in a vector otherwise. It does not need any further parameters in \texttt{params}. Now, we can start a test using <<eval=FALSE>>= testNetworkProperties(cellcycle, numRandomNets=100, testFunction="testBasinSizes", xlab="Average size of basins of attraction") @ <<echo=FALSE,results=hide>>= pdf("basinsize.pdf") par(mar=c(4,4,2,1)) set.seed(6724) testNetworkProperties(cellcycle, numRandomNets=100, testFunction="testBasinSizes", xlab="Average size of basins of attraction") dev.off() @ to produce the plot shown in Figure~\ref{fig:basinsize}. Apparently, the average basin sizes do not differ as much as the built-in test characteristics between the random networks and the cell cycle network. \begin{figure}[h] \centering \includegraphics[width=0.6\linewidth]{basinsize} \caption{A custom test statistic measuring the basin sizes on randomly generated networks (histogram) and the mammalian cell cycle network (red line).} \label{fig:basinsize} \end{figure} \begin{sloppypar} By writing custom test functions, you can extend the test facility to perform a wide variety computer-intensive test. Of course, it is also possible to plot the Kullback-Leibler distances with such new methods by using \verb+accumulation="kullback_leibler"+. \texttt{testNetworkProperties()} accepts most of the parameters of \texttt{generateRandomNKNetwork()}. If necessary, you can generate more specialized kinds of random networks which resemble the original network in certain aspects, for example by specifying a generation function or by setting a proportion of 0 and 1 in the function outputs similar to the original network using \verb+functionGeneration="biased"+. \end{sloppypar} \clearpage \section{Import and export}\label{sec:importexport} \subsection{Saving networks in the \texttt{BoolNet} file format} Corresponding to the \texttt{loadNetwork()} command, a network can be saved using \texttt{saveNetwork()}. This stores the network in the network file format described in Section~\ref{sec:appendix} and can be applied to all types of networks supported by \texttt{BoolNet}. For example, the cell cycle network can be saved using <<eval=FALSE>>= saveNetwork(cellcycle, file="cellcycle.txt") @ \begin{sloppypar} The function stores the expressions that describe the transition functions. In some cases, there may not always be a valid symbolic description of the networks (e.g. for networks returned by \texttt{generateRandomNKNetwork()} when the \texttt{readableFunctions} parameter was not set). In this case, \texttt{saveNetwork()} can generate symbolic representations of the transition functions in Disjunctive Normal Form (DNF): \end{sloppypar} <<>>= net <- generateRandomNKNetwork(n=10, k=3, readableFunctions=FALSE) saveNetwork(net, file="randomnet.txt", generateDNF=TRUE) @ The \texttt{generateDNF} parameter can also be used to detail which type of DNF formulae should be exported: \texttt{generateDNF="canonical"} exports canonical DNF formulae. \texttt{generateDNF="short"} minimizes the canonical functions by joining terms. By simply setting \texttt{generateDNF=TRUE}, formulae with up to 12 inputs are minimized, and formulae with more than 12 inputs are exported in a canonical form, as a minization is very time-consuming in this case. \subsection{Import from and export to SBML} \begin{sloppypar} \texttt{BoolNet} provides an interface to the widely used Systems Biology Markup Language (SBML) via the import function \texttt{loadSBML()} and the export function \texttt{saveSBML()}. As the core SBML does not fully support Boolean models, import and export of SBML models is based on the \texttt{sbml-qual} package which extends SBML by several qualitative modeling approaches, such as general logical models and Petri nets. For a full description of \texttt{sbml-qual}, refer to \href{http://sbml.org/Documents/Specifications/SBML_Level_3/Packages/Qualitative_Models_(qual)}{http://sbml.org/Documents/Specifications/SBML\_Level\_3/Packages/Qualitative\_Models\_(qual)}. \end{sloppypar} \texttt{BoolNet} only supports a subset of \texttt{sbml-qual}. It can read and write logical models with two possible values for each state, which are equivalent to Boolean networks. Logical models with more than two values for a gene or Petri nets cannot currently be handled by \texttt{BoolNet}. An export to SBML is usually not associated with any loss of information. For example, we can write the cell cycle network to a file and re-import it into \texttt{BoolNet}: \begin{footnotesize} <<>>= toSBML(cellcycle, file="cellcycle.sbml") sbml_cellcycle <- loadSBML("cellcycle.sbml") sbml_cellcycle @ \end{footnotesize} Apart from some additional brackets, the re-imported network coincides with the original network. Similar to the \texttt{saveNetwork()} function, \texttt{toSBML()} exports a symbolic representation of the network transition functionss, which may not always be available. As for \texttt{saveNetwork()}, there is a parameter \texttt{generateDNF} that can be set to generate a symbolic representation in Disjunctive Normal Form from the truth tables. \subsection{Importing networks from BioTapestry} BioTapestry is a widely-used application for visual modeling of gene-regulatory networks \cite{longabaugh05}. It can be freely accessed at \url{http://www.biotapestry.org}. Although its primary purpose is visualization, the software supports specifying logical functions for the genes. \texttt{BoolNet} can read in the top-level (``Full genome'') plot of a BioTapestry file (*.btp) and convert it into a Boolean network. As an example, we assume the following BioTapestry model with 5 genes (2~inputs and 3~dependent genes): \begin{center} \includegraphics[width=0.8\linewidth]{biotap_model} \end{center} The corresponding BioTapestry file is included in \texttt{BoolNet}. You can determine its path using <<eval=FALSE>>= system.file("doc/example.btp", package="BoolNet") @ \label{cmd:example.btp} to access it in BioTapestry or \texttt{BoolNet}. For the import, \texttt{BoolNet} needs to know the type of influence a gene has on another gene. Therefore, imported networks should only use links that are either enhancers or repressors. Neutral links are ignored in the import. We now set further simulation parameters for the model. These parameters are imported by \texttt{BoolNet} to construct the functions of the Boolean network. First, we want to change the function of Gene~2 to \texttt{OR}. Right-click on Gene~2 and choose \texttt{Simulation Properties...}. \begin{center} \includegraphics[width=0.8\linewidth]{biotap_sim_properties} \end{center} In the properties dialog, choose the \texttt{Logic} tab, and select \texttt{OR} for the logical function. \begin{center} \includegraphics[width=0.8\linewidth]{biotap_logic} \end{center} Now set the function of Gene~1 to \texttt{XOR} (exclusive or) in the same way. \begin{samepage} You can also specify initial values for constant genes, i.e., genes with no input links. Choose the simulation properties of Input~1, and change to the \texttt{Parameters} tab. Choose \texttt{initVal} and set it to 1. \begin{center} \includegraphics[width=0.8\linewidth]{biotap_initval} \end{center} \end{samepage} Press Return to store the result, and exit the dialog with \texttt{OK}. This will create a fixed gene with value 1 (i.e., an over-expressed gene) in the \texttt{BoolNet} import. Note that values other than 0 and 1 are ignored by the import, as well as initialization values for non-constant genes. We assume that you save the network to a file ``example.btp'' in your working directory. In \texttt{R}, type <<echo=FALSE>>= net <- loadBioTapestry(system.file("doc/example.btp", package="BoolNet")) @ <<eval=FALSE>>= net <- loadBioTapestry("example.btp") @ to import the network. Alternatively, replace the file name by the command on page~\pageref{cmd:example.btp} to use the file in the package if you do not want to create the file yourself. The imported network looks like this: <<eval=FALSE>>= net @ \begin{verbatim} Boolean network with 5 genes Involved genes: Input 1 Input 2 Gene 1 Gene 2 Gene 3 \end{verbatim} \pagebreak[4] \begin{verbatim} Transition functions: Input 1 = 1 Input 2 = Input 2 Gene 1 = (!Gene 1 & !Input 1 & Input 2) | (!Gene 1 & Input 1 & !Input 2) | (Gene 1 & !Input 1 & !Input 2) | (Gene 1 & Input 1 & Input 2) Gene 2 = Gene 1 & Gene 3 & !Input 2 Gene 3 = Gene 1 | Gene 2 Knocked-out and over-expressed genes: Input 1 = 1 \end{verbatim} We can see that Input~1 is specified as an over-expressed constant gene. Input~2 is modeled as depending only on itself, i.e. it keeps its initial value. Gene~1 is a representation of the XOR function in Disjunctive Normal Form (DNF), using only logical ANDs, logical ORs, and negations. Gene~2 and Gene~3 consist of conjunctions and disjunctions of their inputs respectively. In addition to this textual description, we can visually verify the network by plotting its wiring: <<eval=FALSE>>= plotNetworkWiring(net) @ <<echo=FALSE,results=hide>>= pdf("wiring_biotap.pdf") par(mar=c(1,1,1,1)) set.seed(559652) plotNetworkWiring(net) dev.off() @ The resulting plot is shown in Figure~\ref{fig:wiring_biotap}. \begin{figure}[h] \centering \includegraphics[width=0.6\linewidth]{wiring_biotap} \caption{The wiring graph of the imported network specified in BioTapestry.} \label{fig:wiring_biotap} \end{figure} You can now use the imported network just like any other network in \texttt{BoolNet}. \clearpage \subsection{Exporting network simulations to Pajek} For further analysis, network simulations can be exported to Pajek, a Windows application that provides visualization and analysis methods for graph structures \cite{batagelij98}. For more information on Pajek, please refer to \url{http://pajek.imfm.si/doku.php}. The export function writes the state transition graph to a Pajek file (*.net). This requires a synchronous exhaustive attractor search in \texttt{BoolNet} to build the full transition table. To export the mammalian cell cycle network to Pajek, call <<eval=FALSE>>= data(cellcycle) attr <- getAttractors(cellcycle) toPajek(attr, file="cellcycle.net") @ This will export the graph of the state transitions, which is usually sufficient for plotting. If you want to include the state information (i.e., the gene assignment vectors), call <<eval=FALSE>>= toPajek(attr, file="cellcycle.net", includeLabels=TRUE) @ Now, start Pajek, load the network with \texttt{File | Network | Read}, and check out the tools provided by this application. For example, visualizations can be accessed using the menu item \texttt{Draw | Draw}. Figure~\ref{fig:pajek} shows a plot of the cell cycle network with the Kamada-Kawai layout (Menu entry \texttt{Layout | Energy | Kamada-Kawai | Separate Components}). \begin{figure}[h] \centering \includegraphics[width=0.75\linewidth]{pajek} \caption{A visualization of the mammalian cell cycle network in Pajek.} \label{fig:pajek} \end{figure} \clearpage \bibliographystyle{plain} \bibliography{BoolNet_package_vignette} \section{Appendix}\label{sec:appendix} \subsection{Network file format} This section provides a full language description for the network file format of \texttt{BoolNet}. The language is described in Extended Backus-Naur Form (EBNF). For synchronous, asynchronous and probabilistic Boolean networks, the supported format is as follows: \begin{verbatim} Network = Header Newline {Rule Newline | Comment Newline}; Header = "targets" Separator "factors"; Rule = GeneName Separator BooleanExpression [Separator Probability]; Comment = "#" String; BooleanExpression = GeneName | "!" BooleanExpression | "(" BooleanExpression ")" | BooleanExpression " & " BooleanExpression | BooleanExpression " | " BooleanExpression; | "all(" BooleanExpression {"," BooleanExpression} ")" | "any(" BooleanExpression {"," BooleanExpression} ")" | "maj(" BooleanExpression {"," BooleanExpression} ")" | "sumgt(" BooleanExpression {"," BooleanExpression} "," Integer ")" | "sumlt(" BooleanExpression {"," BooleanExpression} "," Integer ")"; GeneName = ? A gene name from the list of involved genes ?; Separator = ","; Integer = ? An integer value?; Probability = ? A floating-point number ?; String = ? Any sequence of characters (except a line break) ?; Newline = ? A line break character ?; \end{verbatim} \pagebreak[4] The extended format for temporal networks includes additional time specifications and temporal predicates is defined as follows: \begin{verbatim} Network = Header Newline {Function Newline | Comment Newline}; Header = "targets" Separator "factors"; Function = GeneName Separator BooleanExpression; Comment = "#" String; BooleanExpression = GeneName | GeneName TemporalSpecification | BooleanOperator | TemporalOperator BooleanOperator = BooleanExpression | "!" BooleanExpression | "(" BooleanExpression ")" | BooleanExpression " & " BooleanExpression | BooleanExpression " | " BooleanExpression; TemporalOperator = "all" [TemporalIteratorDef] "(" BooleanExpression {"," BooleanExpression} ")" | "any" [TemporalIteratorDef] "(" BooleanExpression {"," BooleanExpression} ")" | "maj" [TemporalIteratorDef] "(" BooleanExpression {"," BooleanExpression} ")" | "sumgt" [TemporalIteratorDef] "(" BooleanExpression {"," BooleanExpression} "," Integer ")" | "sumlt" [TemporalIteratorDef] "(" BooleanExpression {"," BooleanExpression} "," Integer ")" | "timeis" "(" Integer ")" | "timegt" "(" Integer ")" | "timelt" "(" Integer ")"; TemporalIteratorDef = "[" TemporalIterator "=" Integer ".." Integer "]"; TemporalSpecification = "[" TemporalOperand {"+" TemporalOperand | "-" TemporalOperand} "]"; TemporalOperand = TemporalIterator | Integer TemporalIterator = ? An alphanumeric string ?; GeneName = ? A gene name from the list of involved genes ?; Separator = ","; Integer = ? An integer value?; String = ? Any sequence of characters (except a line break) ?; Newline = ? A line break character ?; \end{verbatim} \end{document} �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/vignettes/biotap_model.png������������������������������������������������������������������0000644�0001762�0000144�00000172724�12732246464�017017� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������‰PNG  ��� IHDR����¦���Øæ��®iCCPICC Profile��xíZgTM—®î‰0 9ÃsÎ ɃäF’ˆ$A2"É�ˆDEE0�&’"¢(ˆb�%©ˆb‰Ûàë~gÏw¾_»ÿÖ:§«Ÿ¹uëÞš®ê©;õ\�$NxQ©¡0� ,<:ÒÖDŸìäìBƽÀÀ¤¼|¢¨z66ˆÊ(‹#ˆ6R†e¶l=7—Þ7À³ ÔªtR0úþˆ#‡�@6ˆ€%à7öÝÂÞ¿qÜÞMFtò¶°O ÒU!X:’bk€à‡�à‰Û˜æÅöÞÆŒo·°—Wd��œß}²—W�‚¹H¿±÷–ß±>ˆ}.d X¦pß pD„øÀêøúEù� Z‡èøúFù„ †�Ö ‹@Ú%¶ž‰¸5é+\@xëÙ!w¤ìÑ@e±ñá_²°Ï�4¥À-ý/™Ädl‰�4sþK6o»ý<!¶ÇQþJŠÛæ "bófss^�\�ë…››«5››ëµ� Æ�è õ‰‰ŒÝÖè­Ðdþ8â@(5 v#`¬8àAˆû@82@.(�GA¨uàh- Ü] <�ƒàx&À;ð|?Á*A8ˆ1A$IA :¤Aæ-ä yBþP%@iPT•BÕÐY¨ jƒ:¡>hzM@³Ðwh†aÌóÀ"°,¬ï„Í`;Ø ö‡©ð~8 > ‡«áø*Ü÷ÃOáqø#¼�o¢hQ¬(2J ¥†ÒGY¢œQ~(**•…*AU¡. ÚQwQOPoPŸPËh4š͇–Fk Ñ´:€ÎAŸ@ŸA_Aw£‡Ðãè/è5 Ã…ǨaL0?L4æ¦S‹¹ŒéÁ c¦1óX–+ŒUÁa°Ø8l6¶ Û€½…}„ÀþÀ¡p¬81œÎç£âÒpÇpgq7pp“¸<Ï—ÃëãðÁø$|þ þ:þ~¿DC¤ Q¥1§ñ¤‰¡É¡©¢¹Jó€f‚f‘–H+H«AkMëG›@[D{޶“ö9í†ÀKP&˜|Å„Ba”0O$…‰ÚDb81“XM¼N&~¦ÃÒ‘é4é(tátYt5t7éžÓ}§'Ò‹ÑëÓ»ÓÇÑÓ_¢ï§Ï�3ð1h280D2ä340ô1¼%A$>’ɉK*&5“‘æiÅ}Ó«;Ç7˜x™v0¹2Å3•1µ3½dúÅÌɬÁìÌÏ\Æ|ƒy”y…—E‡eËA––;,ïXq¬¬æ¬a¬¬-¬ÏX—ظشÙ<ÙÒØêÙúÙ¾°3±«°;³'²×°÷²ä`àPæpæHä¨åèãøÌÉÌ©ÎéÁyˆó<ç ç"/—W0WW+×n,· 7…;»–û÷<7O(O Ï-ž÷¼ô¼j¼ž¼9¼—y_óaùäù\øñ5ò½àGñËð;ñ§ñ7ò¿$£ÉòdWr&ù2ù�­€š€À›³‚¬‚ú‚TÁ Á~Áe!!;¡ƒB—„^ …5…ƒ„ ÷ ÿ¡ˆ¤‰\™eÕ­C‰)‹ù‰»'¶,.)î*~Xü¶ø7 A {‰L‰v‰9I~I[ÉtÉ6ÉOR|R¶RR×¥¾H J;HçHwH/ÈHÈxÈËôɬË*ÉÉž’}*GÓ“Û'×(÷Vž[ÞV>[¾K~YA^!@¡Rá¹"ƒ¢©bŠb›âw%I%¥“JÏ””M•S•o*/ªÈ««œVWåRµW-P} †UÓWKRkWû©® ¦~^ý½††§F…Æ+MvMŠf‘æc-:-s­l­{;°; w¤íèÖ†´wj'kwhoèèè$éÜÖÙÐÕÕMÖíÜ vêíLÝyG£g¢—¥×¯OÔ·Ò/Ô6`3p2(7xc(`ègxÖpÎHÞ(Ú¨ÍhÍx§qºq¿ ½‰I©ÉS!Ó ÓK¦?wií:¸ëž½™½Y¹Ù”¹¤ù^ó6 `ajQ`ñÂ’lhÙl¹b¥o•gõÌšÏ:ÀºÙzÕÆÈæˆÍËÝ»Ãw·Û¢m­mËlßÙ)Ø%ØõQX(ž”‹”_öÆöEöãÒñ÷Y½›7œ,œÊœfÕ3œŸ¹»D»ô¸2»ú¸¶¸¡ÜìÜjÝÜ Ýº¿÷PóÈöxµGzOÒžAOAÏhÏ{^œ^¡^ÞLÞ~Þí>DOŸ+¾x_7ßf?ŒŸ‹ß%´¿³ÿ¥�t€K@S 6Ð-°%ˆ&hOе`º`ßà›!Ì!!!=¡Ü¡Q¡„ž…ˆg†ODhFG|¦šP«©«{ö6E"ý#»¢x¢â¢†£å¢s£gb bªbÖbc¯ícÞGÝ÷(N*.;nf¿ÑþÚx8Þ3¾ã�ßÄc ;ÊV]o$q'%$%k'ŸJÞLñLé>(t0ýàLê®Ô†4ú4jÚð!ÕC¥‡ÖÒ=Ó{2Ä2r3¾fR2Û²x³f½Ï¶ÈnÎaËIÈ™Ê5ÍmÌcÉ;7uØôð¥|öü¤üwG,\-à-H/øRèPØQ$^TX´Rì[<P¢VR}”p4æèÄ1³cW“ç_:á}âQ©fé™2¦²¤²OåŽåwN*œ¬¬ V쯘9eª§R¡²ªŠ¡*±j®ÚµúAfÍùZ®ÚœÚ•ºàºÑÓ§ož‘=SYOªO­_8ëwöÅ9³s7Ï˯i`mÈjX½qaú¢Ãź—/‰_ªhblÊlZkÞÛ<ÓâÞ2|y×åŽ+ªW.^¾Z~éZv+Ôº¿õ{[PÛd»Kû“ëæ×ïÜйÑzSþæù[·NÝæ¼]ÜAߑ݉îLî\éŠíúÞÖ=Ûãß3ugϱ»ÎwGzíz‡îYÝ{ØgÖwÿ¾ÉýÞ~£þ; t?ÔØ5 7ÐõHÿQ÷cƒÇ=ƒ†ƒ½C&C}OÌž<¶|j÷tä™Ó³Ñ‘©ç~Ïg_„½øþ2æåÊ«äQÔhÖýXñkÎ×§Þ¿9?®0Þ:¡3qwÒbrxÊejj:xúÇÛøwð»Ü÷ÌïOΈÌ\ú þ¡{Öbvä£çÇŸb>mÎå|fû\ýEúKÛWïƒßܾÍ~ùÿ82Ï3~AmáîO»Ÿ“‹‹KyËÜËçiüº¿â¼òa5n ¿Vº.±~}Ã|cl3üo,ð7ø üþÆc¿±ÀßXàï¹Àßs¿çÏþž ü=ø{.ðÿ÷\€êéµ  ö÷àG=�tÎ�0@@ýoÛó(¿£ €BH!xËÀ#<„(ÐEø†C  ¼ƒX!=(áÞ¢p|łڇšDÛ¡0v˜)ì~;®M#C³@ÛK¨&¦ÒùÓ›3(’ÈŒÌL´Ìh +Ž]ˆC•Ó‚+;—ç2ï(?ž¬!*X-4#¢$š(Ö/Á!é'Õ,½&k*W(ÿRQ@ÉG¹VeR[¢‘§Ù¥5¯-¬c«{xç}¬¶a¬Q½ñ Sì.3óƒ5–ÝV¯­wÓÛ ÙiP,í=¢ÓJ/¸Ürt›tÿ¾ö$y‘½|t|-ü\ýÃæ•W…ä‡F‡¹„G(Qö2GÒD¡¢6¢WcVc7âàýøxÆ\ B‰¢IädžöƒL©„4tÚæ¡•ôùŒ¹Ì™¬éì79¯rŸç==<’¿\\ø«8ù(t,ùøçRë²óåËZ§¨È©ZwõTÍJýi3õqg¯œûÚ yÁçbYcÿ¥õfé‡Ë)WÎ]¸¶ÐÆÞ®vÝñ†ïM¿[·ƒ;‚;CºÂ»£zâî¤ÜÍí-½×Ð×uÿUÿÂCº¶G¤ÇøÇƒóCÓO††;Ÿ6=«)|~èEÂËØW‘£Qc–¯Q¯O¾Ñ|36ž9¡617yn*xZazõíýw'ÞΨ}À|x0›úQåãûOÇç¬?3|ûÒùõæ·Ñró=?[—ÖŒ77‘ù‡�Ð#<”$ÐŽ àÄ Y"¼P `+¸^Gù£FÐ6è§O̶§ƒûŽ?GL«BÀƈ-t¹ôA $EFN&Ó:ó<ËgÖolK웜D.2·…w/_ ÿ5òA&!ká,‘^1”øN‰DÉV©yY¹SòOÑJÊÊ{T²U[Ô^¨¯iòiéí×®Ôy¨»¬'¨ojj˜oÔd<`òÎtÕŒdN¶µÔ´2´¶´qÞíi`N‰¶?àâ˜å”ï\âRîZíVï~ÉãÊžvÏn¯ÞÃ>£¾S~þZ%‡„8†‡i„+DHP…ö’#ù£ÈÑÂ1’±òûTâÔ÷+Ç+KNKLæOá>È–JJ#§£Ò73V3—²–rs©yïòmÜ..J)>ÊÌûøÉ¥Kå<'wT8!+!»êJõJ­i]Ñéñz±³¡ç.œŸ» yÑ·±ìÒP3ºEýrЕWû[qmF퇮÷ÞDÝÒ¾} ãZç\·`åNúÝ˽“}„ûJýBîH{”õ8w0{(ýIòpüÓègÔ‘Ðçá/"_ƽJÍËxô&f<lÂÒcÊiz÷[ów¦ïgŒ>Ïš~´ød3gþYõ Ç—/_»¾~÷û±s^xã§Ø¢ÓÒ•_”U—õ•íùÇ2û@h‚ÝÛxaÇæPY1PôY;àD¸E@íAµ¢YщèÌÖ; Ãmâ hDhnÑ:Ò.Šˆ*ÄQºCô ôÓ ÇH–ŒXƦC̦,t,#¬lÁìúkœ¯¹np—ñìçuäSçgçŸ' \ÌòV¡™mËw—“$I.H=—n“9!»OŽ"¯¨@¯0«Ø¥t\9LEO•Eõ½Z«z–†‹¦„æ’Vھ: º°îÐÎ*=ª¾ž£Á¤a³QŠñn“¦]»Ž˜¹šs™?·8jioÅi5f]cº[Ãc;lWC‰²7ràp˜sìp*vpÑvåpýá6à~Æ#e›§º“לwŸOo²Ÿ›¿z�sÀ·À‡AuÁûC,BC—Âˆ *P÷¶EÆFÉDMFÇèÆ|‰­ßw0.`¿uüŽÒ <‰¤$šdTòFÊêÁ_©ËiˇÓd,gqf[æ¤æÞÈûž/vħ ²p´˜»ÄõhűÉb¥áeWËU(œrß^K㵸:…ÓgŠêïC7jÈ¿ðºQáÒá¦-Æ—Ï^%\‹no߬$[mš·» {ݵïè ëgxÐ>`ûèÃ`ê™áÏ:Ÿß{E;vx<yjqÆú3Ç"jkþóé[{V€É�8Ž@‘ €áÍ�`§ÀÁ �­Lhú9€øÚþ{ÿCØé›Û¬Žì=ƒ¦À9p'¼„’G… Î ¦Ðühwt9zÃqÁ”c^cù±ÞØ:ìœ .׆ÛÀ›âóñOi¸h¼i=E—6—öAŒ°ÐGä&FïÒñÐÅÒ ÑËÑçÓc°ch#ñ“²H Œ^ŒCL:L ¿™Ã¼ÁÉò‘Õuá.ÇÙ}Ø?qÄrœE\¢\7¹í¹¿óäóÊòñÅðóðß!‡ ðÜŒ’z+\.âˆp…ƒbEâ\ã’g¥öJëÊ0ȬÉþ”û.?«0¥øZiDy@¥[õºZ³úYJÍZGvdj§ê$ëfí,×kÐï4xa¸hÌl"oJÙoVm~ßâ§•€µµMÊîÛ'vÝ” {Kv‡Ç6§\go=Wq7wŒû¦Ç¦'ÁKÐ[Ç'À·Ä¯?€6Ð"¨0¸=d4t%œ'b'ÕoAäí¨…ñØ=û*ã&ãÅD$ÜN"&»§´§2¦EZÎÈÈbήÎÕÈÌ÷9²RXX,\ÒzÌôøÓR²™“K•%Õµ|usg:ÏVŸÏº°·Ñ¥É´Eé ßÕÍÖéö®'oóv™Þ±¹'ÿëÃã%†.<©~)0ZûfפÒ[ÕÌs×¾²~W›g]¸±(·”¸|ñWýJÙªÝÝÚÙu±õ3"]›žÛ¿&HFÂ+ˆ²‡  û0k‘ðyø-Âý»£ÊQ¯ÐÜh7tz#Œ À4`¾cÕ°‰ØGÁUàfðJãÞGÃHãNsáÕhÒ¾'hò ÓDMb ñ 9Ýyz}8ýS† §IŒ¤dÒ7FÆçL»˜®3Ë2ŸFØì¬l¬ÇØ8Ù*Ø…Ù›8t9†8ý87¸Ê¸5¸Gy’y…yñÅó‹#¼r®€žÀ¢`“P¨°¸ð‘ÑP1%±uñ^‰#’RRR›ÒC27d/Ë5Ë_T¨W¬SªR.S)R=¬–©~Pã€f¬uGˆvN.ugŠ^¾~•ÁUÃA£9¬©Ø. ³HóR‹ËoÖ|6Ö»Ólí.R’í)ÒŽÇNýÎÍ.•®Ån9î¹…{*=¯y {/û ûÙùçôa‚BLBÃÓ#Š©÷ÞüÍ£뽯8®wÿƵ„ØÄ«I‹):3S‘Ò­2 2³I9¹5yŸóÕŽdL©—”,s9Þ]*Svê$sÅáJƪÆû:Ôéöú}çô.¼mlm*j ¼¢¡u²½ñFÌ-›Ý.åù»÷Dî ={,>$>,öLì¹èK±Qá×Rãn“oÅß7Ïš~ø¢ö-éGÁBÄ"y©vycEvuÇšÚ:n}`£{þ-@²Wd@o`8 C)£òQŸÐfèó"&ó«Ž=…Ãà"p/‘÷¼yË3iæi}iG–„;D]âm:º;ô–ô¯BH€t‚Q…q„)œÇ\ÇbÄ2ËZĦÃö™½šÃ•“ƒs”«†;ŒGÉ!xÏ×Í_MNÜ-¤#,-Â'Ê,F§‘ÀKÒJ‘¤ydddä²äÛf”8•MT¢TëÔžj`45´BwÔiëòîtÑ+ÑbÈbäj\e2»KÃ,Ç|ÔRÉ*×úÃî]¶g),öYާdàšï.èÑíã­æKò[ X Z 9&~‘*¿÷r”zt[¬Ò¾–ýrñd/&Ë¥ÜJ5NkO‡2,3K³&sdsSòçs *¸^„+v,©?ºtÜôÄñÒ™r“y“•ºU—k¤këO‹œ©;+~®©AñBk£Ò¥f$N¬¸ÂxõÀµé6³ö‹7ho†ÞèîÌéúØcz§æîú=J_C?x@yxn`ý±åàÉ¡OÃOsž<{ÿòþ(×Xàëú7¯'ø&ƒ¦Zßbß9¿¯ž™žåÿh÷)i®æó•/í_›¿úžõÃc^nþëÂéŸN?-–-)/ÝZ6^~üKç×…®•ì•ÉUÕÕÜÕ‰5•µÄµ+kŸÖ×× ×ûÖ77Ô6¨ç6¦6¹7)›‡7{·æÿwÖÖþh "B#"ɆÛÿ練Ð$Ïk»0!51<Ôj+·‹ ¹>øzš#wäÚ †nçÁ!:—_¸½"ÛÂÒáÞVÖÿ`ÿHc[#}!j´þæ@°?5Ú†ò<)>ÐÀ ÁDD^âeôÇNU°—’ƒ†DË�j‰Œ±µG°0‚;£bí¶òèH~HqüGgÁ×Ïð9 ûïú­3EïÚòÅ‚üù ‰0ßâ Væ ø!1x$R‡#9aÀ�þSË�à…´Ä"mQ ¼GpÒ#é`ò?zÿ&1Þî€ôûŸÉH~YâíÏßÞȈÏ?6ƒ€/‚ÿȽ[m[£‹Ú”ú/Ÿ4¶ìmF¾A~V~íϘТhE´ Z­ÖAk�2š ÍdÐÊhu´Z­…´i�cð±ðgŒ[öÃZücODì×tDZ·¾»÷ŸVà°­ôߟÿm èÑ\ëÜŸ ù“Û9È“XdžN"y~�ÜI¸´uû%Ú/n+WDP÷GF“õ¬I?iò®pYi²¢¼‚<ø/ eê\ƒÚ}��� pHYs�� �� �šœ�� �IDATxì]œEÒ¯Í˲ »°dDD¢˜NÅœ3f1‹NOÑsÄO<³§œ <Ì9gÅœÃÀ¬ˆä¼d6§÷Õ¿ßÖ³·™™7ïí[X°zo»»ººªú?=¡kº{Òˆ¨5ÿ²ùWtíµ×nµÇ{ìÛ¹sç½³³³{2Mƒ" (Š€" (Š€" (Š€" (q¨ªªš¾hÑ¢÷9¼yÅWLâ KÒø_>ÿ ÇŒ³Ã!C.ÊÊÊÚ¦¦¦†êëëã TE@PE@PE@PE@P€@zz:±Ojkk¿~ùå—obÇÃç™ ó¯`ÇwÜ7‰lSQQ^ Š€" (Š€" (Š€" (Š€" „F�“Øá@Ûl¿ýöûqÅátÀl‡ì¶mÛîE@PE@PE@PE@H8ŠŠŠöâúce¦C:Ïrؾ2Q¯Ñ U‹ÓŒ·ß¡e¿üBµ••¦NFv.µ8€zÞ› Š‹)''‡233)- > ï`ˬ\\Beo¾I5?ÿ@é ³-ê[µ¢¬M6£ÖûíG¹Å–¹de }8õmš²ðª¬« H¤žr2ó¨‡Mh·¾ƒ©}›p2½­Wª" (Š€" (Š€" (Š€" x!Àãý ™ž@;þmôÅ_|íÅ(4Ì‚ÀÒ‹9Ÿ}A¿=ö8´¦âN]¨Í])·X1g.•,\@¥¥¥Ôïøã©ûŽÛS+8 x=‡_™e_|LUOÜOyíÚQa÷îÔª[Oã¬(Ÿ;ƒåΡ²%K(çØS©õö»„–ùÕôÏèéÉPëÂ|êй#u,êDµõu´hé|Z¼°„ÊWVÒ1[žHƒ6Ú1®L?û•®(Š€" ¬O,þã'ZHhàÆÅk¥Y«/£¼â"ÊX+Ú׌ÒòÅðËÚl`÷Ô´³j-«+ ¢¼5c¿jQE@PA€—Xl›éoãHÌp˜óùç4õþ‡¨g«Ö´IûÔ{ß}¨Ã!Cˆêê¨äÅ—iêkoÒÏå•Ìó /ÚˆPvÂZ_› ³ôËO(òøXêÚ­5u߬ î² åít8;Ò©ü³—hùǯÐìïS ó”ò¬‰ôv+ó«?>£'¾@Ý ¨ÇFhï>ûÓ}÷£òªRšøËKôñÌ÷iÞ¬ÅôØ×÷±Ãd»>;Êôm€(Š€" 4åôÉwÒ»%D­ !§ Ün0í½ýÆ”ÃÙ9ï?@ÿùµ7]}&ß3‚,¨›Kù/Me'¸‘Qü«j¨S±”h¯sÎ¥»ºþ…ºeßÑ}c'ÒJi<7±bitÁÙ´u±{.§÷GŸF·þ>Š&~vP9}|ÏÍôcÿ“éÌ=ð¢¢yòï ÏL§·>fv¸öÖ¶fmò¶¡iÔÙGÓßÿ³?·ó˜€v†×Q>ã%ÚX =óñ¹ÔÍ=¤áÅ(§" (Š€"Ð\¤ËžéñœXR1ë±§©;þVZK]–¬¢‚ߦRæç_òÀ½žÚM™J›,]EE¥54)3¦3oQ¿~”Ë3üB/©H{é?Ô¥WmØ/ƒr;USví<J›ÿ#EXOVí\*ìTI9›ÕPVv-`ÞŠ>Xæ~"iñŠzqÒã”ß5Ú÷Ê¥Ö´¬~MYúUÖ–ÓÊô%TP˜M²ò(ƒW“€wãŽý¨{®¿L_eZ (Š€"ÐL¤Ñªï^¤‰iGÓˆ-‰Æ{˜^|êaúiÌStÁîÝ(­n*}üHÕ¨‡ïØ?Dr©k¿žTË®¸~9–žúr;1r»¨ó¡¨8:Þ=Ð_AJê–Ó'¯¾M­¶;„¶îŒ/W§>T.žNO|‘úí5ŒöØÖ(¨*¬¤ºšJn³å‰0%iÔ¾…öù”É÷uàºêˉôeñ‰4‚óÔœöVÿA7žy÷ÈTÀºêŒ=ÞÿÙäÍ’"jýñÉDšV° Þ¢sƒL/ZbêrÛµ'êϳ90vk/ÿãKúpZ& ¼u°C­¡bëM§k·ßŽzhWúää-\qšWE@PÖ6Æé€¯WdÔñl… °àÃO¨/±Ø®Œ¨Ky”.àeß-_nœ¹¿N¥œ%”]SGÙy™´"½†LcŽò[óÙëTPTK}¶.¢ì6”Yá›ð,J_ô×á•u3(3Ò‹¨O~&•~QJ«¸NݧûÊüâ÷(#;ƒ6جòòs(='B‹h}_ZÍË+jieV åfRû¼¶ÔºU.Í^²œPç°âc|ej" (ŠÀšF€ïI|Øî€ciä‘}iÔ‰Љ;£y¼4÷«‡ÜCSŽ©¡’ùKÙ¡ÒŠé á#)“"üG4£óÏôÔò]hÄð#Ã|l;T±b•ñ½k‡úe4áæ;èG¦-ã܃“µ-’ÁqܹçÒ½¢Ž ìµT½j­¬ú³ÍPŸ‘Á³ ïŒëØ-3ô•)tbõ Z°´œïõÍgïÏÏŒ¥è\³I6UóË ÿàØäϘ‚’úå’Ñ <H{n*XyÑSUWÏ 3ÆiÀØàœÁØÿ)cÙ/OÐÍ7°_bç-©w_T]i ¾ìÿèʃÿAíÿí´Ú –?ekJPE@X dÈòŠ´xoyò~ý6¬K£®ÕõT€ ð€6{¿a/Bi¯¨ˆPž¡€=6gÞ™¿N |{T¸ô êÞ¿ åvlOYmÙéŸGé¹|3ΘË#”Ù¦Žê³ÛRF«,¦çÒ†ýÓiîÒ/Yæ©F¥×¿¹•3©ë€bÞo¢ o<™MY™”•QGåi%TÇSZe¤Sf]›è¦˜yµT3 “æ–Ì ´ÓKÒE@Pšzã$ ²´hÑB¾/È€¹Ö\¯}ærºfò�ºsÔ^Ñe³è¹{n§;_™dŒê5äl^zqõhUIKK¢£`yùJþ_C KJ(×pFÿ-ùåMú÷-7Ò§Ó¢ùÁ§\G眴#/1 šõî]tû¯ýéŒA%tÖÅã ÃNǦ Nߨ/nê_wÖd´ÿíxwÍ)Ô—gÚ!ÌûöºeÔmÑ2Î_<áuÚoÃeôßá'Òeôpºeê&4îõó)÷3èÚ˜NÙtý�mtìTøÄ»´ÇÝ·Ó°†Cõ4ºëÌë¨ó·Ò­¿¡†M¦ ¯¢^îÄf­Ç�—Cͪ%TR‚[~ã`ÛÝkðÁÔþ].ß+b0®§2z~Ô9ôõ–çШÝs=ííË:—Oùî1šÞn}äÅcéŒý63N¨­wRûãö¡ycn¤Wèlzù},ݰBÝ<zëžohØ=×SúÊ*úƒñö~{zvÌ1ÄsLXþÃstØí è¡{N¥÷Ŧ½z™²%?0ö#£Ø÷<„–Ï¡¥=¤«Nß‘² VwRçÇPÍËÓ¸O¹ Ÿ»¯:…6ŒôWM£‡o<@õ¢óÇÞDC6kOÓÞK<öç4†N¹e*muÅC´Ís«Ñþ±W²q„|ûøC„"‘|¢Â*úé‹Çé§?åÍz“N¼!ºÅÖiƒw£^ƒ/¦;/ÛJû`5UwÜF²’翘A;°‘­NÓŠ€" (ŠÀÚF Mœ<Ë)ýC›‹© OŒ((⿾Qó€Þü²X^µãGþºUWSA/¿àM—-( Ì·Í)£‚®Å”UÌN‡Â<JËã§ÈeÇ€ u™”^CY<#×Wðì ¢‚òÅ´"ÀÖÊœrêÒ­Š (;+ƒ²YV;B296_˨Ϧ®__N ÕtK§…+VÚ銖(Š€" 4<3ÇËË–Ì¥3VÑׯÝO_ÒPzdïÞ|½®eçö,šöÛFcÀBzä€aô —éÚ8ó÷Ïá4ì€Rzü­©SÃØvF?ÒÄ‚M½?-¯e‡úög>@WmÛ‹J>½‹N¸ìrÚ~×7h÷Ù”^_I“žCg={ ÝüÀ“Ôvæ{4|ôh*/¼“n9|�UÏz—Žd‡ÃI7?IwnÛŠ^¸ðquGzõ–ƒ¨UÝ,z˜YŒ§Û˜O™Eus¨>Òž¾d4}=|4mqÂÅtxÿBj—Ã-1ºx� ]ã¥~}ÚЫOÜG·½ü î·»ÈÏûüzvZz¤O{Ê\Ù‰Nº)d2·ñHƒÓaúwßÒOËrø‹Sµ¼”±7õéZ@Õó>2vïuÎ4ñÈþ4óÝGi8< RÄàÃ3"N¦ß*Ó}í­œñ.6â_´íð›éµã·¥ÊŸ^¡#ÎI”ÞËØôaaéT9m3‰Îø×Ýôh¯.ÔÊÁžÊÊh.söãLj*.ëñ7^"0æJúø§ýé`ãhYEsh—{©Wvý&61oŬ‰täÈ›Œþ‰ÇoE%?I'\ñ ?‹ìodñS„ÑçÅ“hQwГgVÓ}'\HÞß•n:¤7k]H>?h4½öé´èí»è”‘S×çÆÓ–»ICo|™¾v*]³/Ê.,¦6u«Ó*g¼íüYƒê#ü¬óåMtΗ{¬ÖŸn;rGºl;¢ñ ?‡úñ—»ò¸ñú`}Ym<”¿I6m>UÖouø¸Š5¯(Š€" ¬ÌLÌ[H·¼"›7áÊ{>ß,óxÛ®Ö¼–g&˜N|:s{Êx &/¿Èå™YÙ™fê oÛry_…¶ù”UT@imØóߊ§rþÖf´Jœ9”–É3Òxúá2Þú+·<Pfëœ<³l¢ —íå½%ryÎb«ô,޳X&? °ÌrþU±S¤ši¹õ´*§6P¦¯ýZ (Š€"ÐLÔQߦL¸ŸÆL˜J@Ëè—îÕÕ5Ì‚à¡î]¥¿CrñeÏžO›·¯¢ªÈætáWÓÓ‡]C_L=˜êÍ‚‚ƒó ::­]¨D]·?–ŽÏ¨¦¥‹WRÇMv¦¾ô4•³ ®.ƒï˜Ñw½ùÃÔ¾¬”ê6?®ûx<]þåTZqH_š;ù-.ß‹vá¹ð³KjhÀÁ<ú»âcšQº?õÍLã¥Dÿûù{úm›®4pÀ�ŠT¬¢òÚlêΟ™îÆe èG=6ȤJ|GuíE|r=õÏ,£ªÊ:Úÿfv¦\x-M¶ mÝ~ }0úE¢áhãŒJ*/D£®Ø‰V,ZÌŸ†faN0Sù™öØM÷Ñ—½91u*m|ÁiT§<šóÝLJ£NÝZ­¨¤Í9‡®ûôº|•àXÈCóÂIO{3mJלµ;å//£Â­£'G}DÇÜúÍàú¼^àw×›ô튨‚_L”•V°¼?CÅ‚ŸéŒøi<ó�Ç%Òq{º¬/¼_™LûõÝ‘êfEc§Ý|Ë�ª¬Ye*›˜wÎä÷L®±;µZUNïw:]÷þ}Ü~¥ uQýC¯{‘®Ü¿+­ªª¦Ý·%z$'Ë誘þ =Άïчªg—PÑ€í̱Ÿ±pým`ÚŒygtîE=zô úê ªJ[6)èøó#“ê#ÒŸ.äþ´ªQZvØæ´Í!ì”(£ý6¦ÎUüXU·æ3Gq¿½ˆžZÊý .5_Åp ×¼" (Š€"±=ân$™Ùg#ªš1›wÜê@ÄK!¨mžØ–¨ Çü°D+xÚêŠü+%Þ¢Š²7è8ƒ ¦møórŒ|~ lÍŒ\v `¦fO ` ßp±Ø‘Ÿy¨:3P'hVF×¶]¨¾²”ZgæP.;/ò3³ø—ÃË*²ÍTÝŠÚ*Þ¬²Šü P^ ©,£.…\‡ß$hPE@h)ÔS%·½ê&ºh_*›ÿ-];ø$2k$½pãXÏo÷ë)³-;Áy¨Ø%c9-gß7ïÒÀƒúè½);'­Ñõ]f: ž}ÕŸýÅ£tçy·Ñç\»×ßzÓ4Žá‘_$ÂBûö È¼y´Ä¬VH§.ýyTüUe±c¢¬K6¾¦3{—c„>üÛ’ZñZÃú¬^ôÏÇÇPÉqWÐð×ùmýGÓíOýÛgÓ*Þ|Cè:^ú°r%ß9]ÛîG«X—i O$ÜjmËN7þ÷õßd M`¾êE+«ñ Žå4¿5½C}´ÁtÕóOÑоÑýêø“óùSÔÓ¾úhÏk(máRþN¿/¨\ÆyÈ‘å ±§¦¾®ÚÃ^v ”|Íie,Xbœ xQ•Ó‘e¬¤jvÁ=„ft.ŒÐþ¦WHkxÑP]ÅO¼$oíw8çD¢s¥Ÿÿ>ˆÒÞ¿Žñ¿„¶*ª¢š ˦ú2š9™õï9„r/¡r›Êå±6Ôñ±Ë`Û¡ÐF¹4wÑRNñ žÿ2.¦ïä¡ïu<7)üëKǵÎb]+¢mª+åãƒcŒPêЀAÀñ·;YT€ÕŸæÆúÓÛ°wãîO¼áõbþô8BÕòüR$Z)¸F1©©…2îµNߎJÐÿŠ€" (ŠÀZC ¼Ó!gó´hþ|êÛ¾?ñ*Ö¢"Žù—Ï7lÌt€ÓgðF ì4È¢’eK)c³¼y£Ç·¡½•·¢e¥“¨êäòß<ðšSßÜ8Óy¦dóôHÊ©£å«ê¨²óÖ ]è6*ìOß•|J9‘LãxÈçYù­ØÁÎ <_‚¢2kkØìE•´e»meº:4¯(Š€"ÐÜD%4kÖ,ÊÈÝˆŽ¿d[zõ†OiVÙ~¼'€ý›kw]9iShÖâ*Ú¸ßC8Ô”-41–Õap)ù?Õ Ôê©t;jψ&Ÿ²o¦8ÎÛüò²®·×R-¢£+5*é÷§°,Õ˦öØOGÑë?\E‘ÐÁK çͧÒZ¶­û`úïÑâŸß£KŽ>ŸÎ{~�½~2£M0{‰F×ò*ãÑô®Å÷©ºîtÊé}ȩ́ڿM‚'†¶*ˆÀZà‰Ó¡zÅ,Ʊak¸s¨SovœL˜KË.¨oØ›"›8¢ðO§lä\ÃÕìEÛ¹ÿB êQqƒÕUÀ¾#Ï2D½h¥ºòrª/òxíÏœ9ûñ0 M]Èǯ'/§dÇ@ëûÑžô½øðÃTöÑé÷ìJue¼Ÿ\E1›ò¨÷V¬ÿß“iÆ?E?YWBSÞgƒªÍRÊLÑY$…Ðo*ó1¶±ºÂ4˜.yêK:~“¨ã<åKçÓ’2öæ0ûröíÈñ‘úÒâÿ:Vé¯þôËÿã—9{š¥Ÿx6AˆüÒl¯aõéƒè—Õ4ïWnx·=ÙuBDkêE@PE`­#`œfoyEú–[Pݯ¿Óþ2DwÞƒŠØñІ´0C÷\0Û/óÌ…¹˜~ºQJßrs3}1ʰúÿHŸÝ©âûïiÁ‚*êÜžßJ±³ÂüÒù±7X¼ýÀ³b6¿!ažŠº,Šl²;ÕÕzÜÅÄ÷i»)M/ÿ†–Ì,¥výZSvZ6å¤cyf:D(›oâ9i¼´‚/ž¾„òrZQïÂMù;84(Š€" ´xš=[²œ÷t˜9§–VÌžDOÝÀ3::gׯ�àûDt@« ·£#9{óƒ¯S3÷¢N¼NÿÍûnbÊ‘´íyTWÝ0Šc ϶ç ËæP›Ã[Kr(›KßWG¿¿ó8½ÇÙÞüU‹ºNí¹NGöiÜ@&Ò‘;õ¡òiïÓõxý–ÔšgÍìt8Ñ—ÒÙWt¥KŽÚ‰ 3*hÞÌ*îßÚÖͧwÞûŠzm¹ umSL›±ÜÿåDïÕÑ{Ù§_ÿL›ïÑ—ò³y¹ˆ—}ueÔw߈þ{}Æ>‡³ÆoKuü…Ô®[ú½õåbÚz¯¨£x)˜.Ë æÏœNsjZ±^Îðí.§¸+m¸ Øùýþc¯mHGl݆¾{éºã+&íÁÎ3E?z g&r!‘moç­÷aÊzqâ–tÔ®}¨böçtý­,ä´qÔ#½ŽÊê`o ¿çŒº¬.tû?¦,b¼7`¬9”Uw¥£OëK#&<Ź#éRÞô¹jfvØ6US×A2íj:ãºL:w»ÖôåÒL4¨åšåQ›ÿÔ/õ£_ŽÈéµ÷¨Û膣GS«ÿC:eÓò…s©ªh#êÙ6ƒòpèÿó&MÙn(mÀËKùh5Ú†AÇŸû§ÿ½–ž¬Ú—núÇnfÓÓàþTGé½ús î¡ÓN¦6]ZQ+^Þ¯N -£_Ø9sÂ][D¿ŠÁ4(Š€" (-?g:ø= ˆ¡«øá®hï=iî7_SÏJè€=àpÀ,ÌFHçÙ¼WÂâ ~Øâ§ÌíѾáÿùv@$ý—ò[¤ô §ù³_£Ì¢|*Þo!6‘4l,—e/æ¹£ f—QYé´¦áËŸb¥"<¿r»NChRÉ+´,¿ŒZoCuf=jôMoåÀfFhélþüfI9íÜù`ª.¯ ´³‘Í(Š€" ¬xÙßf~p4ù`TÝ6žE÷Ÿ} µ­^Je™œòÛj¾ÏTWÑyoÜO4òT:ç„qQæ>'Ðø7þNEU‹yo†( ÿ#Ú6Z/:ebn:ý¼iÄí—ÑI\}çaÐY¾Cw:™ªn}”vÆò ÚƒÒ¾½„N¸R8wÖ]tñ.íxˆrþ´ó.ôö#×Ðe'^MÃ_j` ½iì3½)Ÿ—Xü|ËÕÑ/ bŸ#iü1pÈcv`vÖtö—ÒGwö¤›ž¸Š3;ÀHÓ®˜}\­¬íVtÇwÓ ´çƼôp^MP>î¾ûMº}·í©}t†¡Ë?™éðÐèóé!!r¼Å©<Ð>ùtºã¬¹tî]—ÓkLÛøØ³è„A¼Ùc+Þ~vvÎG} Ѻ—½»@/ÜQJ‡{ =ßÐôA§]ONëÇûL,çn„qþŠ'Y¦gà ;:n1vú"ÚΓº´Ñ>'óLŒËh+¡¶+Ê£Ë'›Ò:îÍØgÓ¸ ÏÒ«¯v×ý´÷³§Ò›¼\³–õEVÓ¹‚™°§®,—†ô å\}]}Î1óλû)v2dÑVG]AôÚ:ï„gé䛥CycO—vøÇŸgV¦-ÿfðìó‰LÖ`–Jô§œ^;Ói}î¡1çcîáô苼œ(N,ùßË</äHz~�/ á/€hPE@PZé<ª7‹Oû¼ð xæð p´áýZ-ZDÙ?ýBzõâUmx¦�¦B¦Q9¯Å\ÊkOŸAU¼Öµ¢cG³2Ο 2³–O§ÖKߥ·¡v ¨ßèál¨,«¡¥óVQÉô•TZ¸'ÕnZæ *¡W¼E‹ò¨Ï¢hÇvòCFiE%-Y²’,)§Í‹ö¥"êW¦ùJVE@h62©ï ÔÚH×ó~<+/¤•õ”ס;uÌ«¦93áÅ=V¹-uåO%WógœkyëÆ6YüÆz>-g^;äwÜ€Šs«hάh½hY:vîÊ_U(ÇÄ~^šWMµ|¿¨â±[FÍ2úyâhþÁôÉ=‡RfÙJªâ}‚Zó&Žóç/3º!#§MêÔ.—JW–ñ$½Þo9ƒ–ÌšÃ{6äS÷Å„åUlh›¼IŸ×`W:uéÆoäyÃH^LQ»tÕu§V»b¶WÏ£qGÿƒ–\ô0Ù± a�Îó;ñìÃ\Z:g&­NÈÌïÈåü‚À õ•¼leAµëÒ…W/òæ›\· UÕfð£x¯„9sJ Ž{t§Ü*æ]ˆÝ'V·:[·ëÌ/"ÒheÆž¢üL~Q01UÃc‘^@ôhOU‹çТRìÊ),¤É7ïA—Õ]FÏò>8ìé­‹©G‡|Æn ¡ú2©±Mu¼u'êÖ–7¦æÇÊÅ_Ó5ûŒ ª‹î£sw(öÐïÖg‘¼ci—ÎÌ[ÅǶ–—f¶É‹Ù›Ý¦#ue¯ ÆñµË¨de yÑ|}C?N+õ¹üŽ]©€¿†¿jîOµnȨ̂®ÝŠØ±Ä})'–1–ó>»Î¿–þLçŸx9òð[´›²Xß0pé?E@PE`-#pØa‡§Oj¤¾Ï=÷Ü+AöD×ÁbßÈ6TÄSýª&G9ü•Š<lÉ‚2^RQ›K9¼ cÏvM—Ò0 Â'Ø2 [çÒÊßÞ燾ÙTØ&i´bU&•§m@múíNËË*–Ùš7û™7¹ZQ7ƒ22«às ºš\j›µ! ì° þ½,”Ló•¬(Š€"Тà/EðFÄiü~¾¦Æ€ëgro<œÎCíž ÇŸM2{ײœù]Bÿ¸cozô¹½)Ÿ—¦ó^5žËüÒx…`&ßkêù ÒßêgðrA¸ù½ìŠêõ“µvæ;·Òù÷|F÷¼ÊÎô*€ûµ$1zm^’<íå/Leñ£(Ò€ŸWÅ@λM|`õÛw33;"] +~§Q'\BN½ÚWÓçO¾J3iwºï•K©]tƒ ጛvñÌHsøKb¿Ü•ÅMkD÷¢qÏó;þ1Y&‘F˜ÉJ2¹?¥yö§YüyØZf\Ð+f}AŸÔì@'þ-‹¬¬n¬JsŠ€" (ŠÀZFàˆ#Ž@?þõ}æu¶ÿ«�� �IDAT™g^Žgf&`æBß$Û¶mKùìp@¡¦¦†JyÇåüõ ¤…w}‘¯Z®(Š€"°~"U·œ¦”dSÏÎy<¬\÷°à}GºÓ=Òù«kÆ5 3-:uÉ㎋£{l„QÉ›DWÍù&ý6“? UM…½6§Ý÷ÚŽr–ΤåëNA}0“gctÌ.£y‹Ë ¦<Š€" (ŠÀEਣŽ:ÏOø×÷©§žz1ŒvÌNÙ îÒ 8lžõIf˜¶(" (ŠÀú…@f^!åÖÑRþÄeãù kªi”WØŽZ§WÓb¶¡Ñ[ø5eB‹ÕÃKiøKZ­y‡tžJR_SÁ›.¥õmoèµß[lPÃE@PZ8G}ô¡üyóâ&]–:„±Yx}7…b!ÂFx„¿¥Ë ÛåSE@X?¨)[F‹ÖêKä•-[LkÕ„{(khÅ’E´¢ÅÚ—ÃÖ~LM;TŠ" (ŠÀ_Ø×+Òx¦Ã_m´" (Š€" (Š€" (Š€" 4 ¼SVÃL‡çŸ¾Y4¨PE@PE@PE@PE@øë!À[3˜ïYòžÌkio¬¿æÚbE@PE@PE@PEூ@Gsú_PE@PE@PE@P¦!`f:à kç+`M3^k+Š€" (Š€" (Š€" (Š@ËEÀÌthÖå>ø ?¾åB`Yvå•WÒÛo¿mQ4©´LÖ¥óªe"Ø4«ÿ¦á§µE@PE@Pþ2§f9„^^qÈ!‡oÑè׺uëbÇ{,GÂĉéµ×^“ì‹ãÙée“&Mйm‰¤8qöÙgSß¾}=¥>óÌ3Ô©S'§D×”=ž†„$÷½öÚ+$÷úÃÖ³gÏFç„{Žì½÷Þ)mìÚ8¯ìs*'IõèуöØczöÙgSÚ¶ææ×?o»í6ÊÈÈ­zmàÚ8eTE@PE@PZæ“™ /¯Øf›mèÞ{ï5 C† ¡ššÉ®Õ8ÈÎ0†¹myõÕWiÚ´i4räÈ0ÕCóÀ™p×]wÑ·ß~K[mµU£zp:~øáf@äÚÓˆQ3¡h®cøÊ+¯Puuµ±áÓO?¥sÏ=—ðE ÌÚ´icâuýŸœSK–,¡éÓ§ÓC=DC‡¥[n¹…Î?ÿüPÍk®cJ¹2)Š€" (Š€" (ŠÀšD öÉÌ„ötÀ�jë­·ö4ô¸ãŽó¤¯ baìqÛ‚å”)SRîtØqÇÍàôÉ'Ÿlät(//7³D0HCpí ÓåiŒ@sÃÍ6Û,¦hÑ¢E&½é¦›RŸ>}bôõ!ážS'Ÿ|²qŠ]z饯ùн{÷¸Íl®cW±2(Š€" (Š€" (ŠÀšF ¶¼"!§C•]tQà ¼¾¾ž.¿ürêÖ­uéÒ…ÆŒ$®ÙÊ`ÇÅ_L]»v¥6Úˆî¼óÎÕtÙm¹ãŽ;³¾úê+Â�o²S0ÿ˜cŽ¡§žzŠ"‘HLì믿Nùùù´ë®»šmAXâí³Ý¦·ÞzËØÙ€ý7Þ(Ùf_xá:âˆ#ÌqÇŒŽ{î¹'¦óôÓO§3Ï<3–Gâ—_~¡-¶Ø‚–-[fÚzà 7P¿~ý¨mÛ¶“¯¿þºÿgœAW_}uŒ|p¬Ðv„æ<†1¥q°)^;Âð¸jfΜIÆ £:|í™H.o*ó999„¥ ˜Ýtÿý÷ÑAÇÙïÕI¥½ae[^2äÜ|ñÅãÇᬳΊÍ~ñª£4E@PE@PEà/€@ê³gÏ& €ü…Ï=÷=òÈ#4vìXºé¦›è¥—^òco½ªªŠæÍ›û!/áÿþïÿh„ „Í#1“`òäÉ4wî\)6±Ý–ƒ>˜vÞygóæK!†Þˆ·©,±˜5k}öÙg1QöÒ m{ÂoœQ_0ÿñÇm”‰Aâ–[n),Í£}Øïáƒ> C=”þùÏÒªU«ŒÞAƒ™A+ p|à˜***"/ô8Þyçã´ÂñÀ H»Çm^±b…aiîc(vÅaÚ†ÇÕlJJJèóÏ?7ç×öÛoï²4[Ž ô78‰‚޳ß1ª“jÃËÊÊŒ­°W~ .l¤&èÜjÄØÁ¹ùÆo ú5f%ý÷¿ÿ9b¼ê(MPE@PE@ø `&8`t2Œß°‡ <hˆð†k~ûñbuù}<ì|eee„7ŒÜ~ûíR9à€"G}t,Ÿªlàv5úñæoF<¯½F.¸à‚Fêxàá·Ð1šm;ˆìhˆì¾ûî±òT'ú÷ïáM%X^Za°zï½÷bjl{âaɳ$"YYY‘ÒÒRSƒ 60Çeß}÷5ùï¿ÿ>RPPaGLL~*À}Ï=÷Œ+jåÊ•æØð&£†wéÒ¥~k7nœÉãuìØ1³?Œè7<»$&·¶¶ÖØÏo“c4vhDN;í´Xž7ß4:ž~úé­¹!{ô=^ŠÓ‹°Ž×Ž0<e÷äwÚi§t#hss… cËNÏãîgØïxÕIU›ÐžYÉÎÎnôÃ5÷¦1jâ[`rñGžgåDØ¡3•÷`‰vØa±¼&E@PE@P¿ð5dò?„„–W`39¼…–°á†J20Æ&ŒxËøðÃÇf7üþûïæ-i`Å$ ±³¾L­‡ÙoU—/_Nx»î,uX[.fÉ;eÈ]ZáÚËÝvÛÍ|MáÃ?4ûEpç63 d3Ê—_~™ößâÁ—+ºYó}ô‘™é 3x€gôa6l{ôÑGÍ,|ñ_ìÀŒi+¬c¶áXî°ÃföFŒØÂaچǫ™x»~üñÇ›7÷ØÔ‘?^lÍFÃ,‹]vÙ%&ßï8Ç<ÉÔñ—„ë»ï¾ÛˆKD.¼ðBC“cèu ×Á¼¼¼˜\\_n½õV³4ÈÞl7Æ  E@PE@PE`ýG ¹$ñ‰Ì& ‘\Úïa~s823ůò§lЈо}û?‰- …%£G6ƒrwi…k^<,1øÁ K:wîLx ¤£öBÀ’–óÎ;ÏÛly8=N8áúâ‹/ŒSá¨£Ž¢ñãÇ7ÒwÒI'™Ï­by–~€NYƒý-ì€6ÊÒ ›ÞRÓaچǫ}Ø+›VbŸ|žóÚk¯5{§xñ¦š†/YÀ‘‡Ï¾†9ήþdê¸2R™wn…ÕGœjkÓ‘ÖVåSE@PE@Pš ãth&Ù«‹Å ƒH R0HZ[_(..¦o¾ùÆì1�;0Ø“·î~vað ŸEôãi ƒ6l°ˆ7ö™À.ÿ~! –ûì³=öØcƹ2jÔ(¦pD€öÝwß/mñŸrúÏ?ÿL?þ8ñr›f¯Ïªî·ß~æ¸àM=ÖÇãø ôîÝ›0€Ã~˜!Ÿ¦D à‡hü±Åâæ>†1E‰0íÃã!Ú6ß|sƒÛe—]föÀ%ÖÄvÌÈÍÍ¥SN9…Âg÷„©ã×ææ ‡9·ÂèŦ³¥N‡0h)" (Š€" (ŠÀúŠ@:7 ë ÖÈš z1 ƒÞ'žx òñ¦Úý AªÀ†#ÁÞHi8 0À††Øè Ó¬18À4~ XñÖÕ/l»í¶4iÒ$Z°`K“é˜í€Á¹ýÕ /¡a°<x°Y~`;WÐnÞ7ÁL…ç}-¼D7™æ…;ï/apÿí·ßÌ1Áž8&Àƒöã«Øàƒh̬Á§ñuO>ùÄ,ÑÁ 0¥ßþâ6OÄLŠ?þøÃl¦ˆ¯¸aMCW§äô# ȳc8ª0C_]¨¨¨ M6Ù¤Yrl1³$`ŒM,o¾ùf3£öãü :Îî1SÇnks§Ãœ[^6`OY·!–61‹UiŠ€" (Š€" (ŠÀ_ãkÀBùSy°*m&^¬¡ŽlÒvþùç›My°iÕª•©#婊¡“ÛµÚïý÷ß7*°‘bÏž=M9Ïzˆð'û"ØH’?!3Ám ÏЈð>fº¿ÿýï1¾T&x0g6ºãÁôjb]{âaÉÐÚÆ³b²¾üòKÓfþrHŒ–Ê„î<s#2räHsÜù­x„?›†8þöF¤ì�2öÝ}÷ÝÌâ=8"üP³Ù/«ˆ´k×.òÀ4âÁƼlÇÔ0`@ä§Ÿ~2i{#É5q ý6’„±aÚ†Çí ØH’—™ RyÏ•Ïòh„M*2ö±å‘^½zE9äÈÿþ÷¿Fâãg¯c¯N#MÈ  ^òÞ ±$!>Þ¹åâüŽ;îáY<‘6mÚ˜ÍvÑ¿yFO¬ÕªŠ€" (Š€" (ŠÀº�| ð:ÀéП›ò_Ž×Xà¯М9sÌ&’^û.¬)C`C×®]z+<þ|óGL)o ¡¥` ÌlÁ›dÁ3€¿l&ˆ%ÀØk¯ÌFÁò|¢ÑoÚú¢E‹ˆ¿|!"=ãµ} ô# Ý8,¾:u²Ék%ï8Ã(÷„©³¦öÜ /ì•‚þ‡ýFÜ=HÖ´íªOPE@PE@XÛð˜íôµætXÛWý-,sÁ` _±Ð ¬+ØN‡uÅfµSPE@PE@hnàtXýÓÍ­Uå+>¬\¹Ò”œ}öÙ>JVZ&Ø�û]hPE@PE@PÆÈL‡¼¼â¾ÆEšSE@PE@PE@PE 9x¦Ãøz…E@PE@PE@PE@PRŽ@lyÅ5×\“rá*PPE@PE@PE@PþºÄ–WðtyÅ_·hËE@PE@PE@P”"о}{]^‘RDU˜" (Š€" (Š€" (Š€" ÄÐ=bPhBPE@PE@PE@PR‰€¯Óáˆé±Ó1¢&E@PE@PE@PE@@À×éPG‹’Dà?ÿùO’5µš"°n# }?uÇO±L–*IXŸÐkCêæºŒéºl{ê¤JTµ€ïF’˜ÝpÊ)§ûìôÚ6Xõ+Š€" (Š€" (Š€" (Š@ËG@7’lùÇH-TE@PE@PE@PÖY2“µüÉ'ŸL¶ê_¢Þ1dzZ;1ÕíœsÎY®X®I#ÂÀå×væ§Ÿ~ZÛ&´hýÚ÷SwxÁò‡~HâHjiç‰^GRpPUD‹A`]¾6l¶Ùf-Çx†ø=·µ´ë­¦~¶·´gN¯¾ï¸h¹" ¬{$ít@SO=õTÊÌl’ˆ&#V[[K÷ß¿‘ÓÒìqçåpž–f{K³çoû¥§¯Ý-HêëëiÒ¤I-²¯µ´ã%ýZbíû‚D¸Ø¾®¹5‚°ÔóÄE‹ÈÆRñ Ƨ¥]GÔžàãå–®K××ö–š_—1 ²½¥[-õø«]Š€":šä1¨ªª2t0'‰PZ¶ˆˆ¦M‚ÿyÑüÊÀ 9^Á-“<‚Zš=bW˜¸¥ÙÞÒìÁÀ¡)N‡;6Ùd<xp˜Ãáɯ¯xÖKqåÊ•11©îû£G¦Ûn»Î?ÿ|BAt˜ŒóÏ-“¼S%0ÛÒúZK³'<§°©ç‰#.©¬Ý¼°ÌÏÏOJnØJ«V­2¬^ýr]ÀÆÛ÷A´Ã¥ÿsˤÍRnÇn™äã/Ȱí‘ë…Èv¯6¿è^;vË$Ÿ¨=¨gëtu õÕW›k›è°y$í–I¾9ì<E‡Ø`Çn™äm{lþxé–Ö÷ãÙ».”ÇÃô™gž¡yóæQ×®]騣Žj–&%ÛZÚµ¹YÀQ¡Š€"Тh’Ówr#´„rCõk)ê €?ämš]Ï‹šè¨««‹±·4{b†5$ü¦º¡¸¥ÙÞÒì©®®Žõ5é.¾nþé§Ÿ¦¥K—Òßÿþ÷XœíÚµ£¡C‡ÆhaöÍ=Y| kÔ¨Q±Aþ­·ÞW=Ú ‡ÆÜ¹sc R*ú>œ ø!H ûä3þ'¸Ût¿sQêHœŠ¾?`À�sž8°?ز`ÁÚc=ñÁa“ˆíÉ[[‡ØcÓ Ä^tÐ[ûØÚõÂ2Ñódüøñ„~ë·_Ü·o_Ú}÷Ý]3|óñÎ?§Ã7ßøŠ ]°õÖDr¼½°ôÃç½÷Þ ­##ô·iÓÆ°í¹çž«±ÇÃÄöÕ*7ìþ“ʾ¯ïwïÞvÜ~kš5km°Á4{öl:fèa¦½p>à·&í ‹}ms±µ±y~çb<|¤¾Û:üð¶sæÌi1×· È‹í¸·6õê%_h'N”äj±}~­VèA°ù÷Ýw_Ž`R²×Û—_~™***ŒpÄp@|ðÁ«)LW+I°¯'n• Û½ú²ßµÙ•”·Ï—/èÚìòj^PÖ?šätÀÒ ÛÙàÂÓ©S'—”p~áÂ…u222båñìưvÅÓ-òìØ¶Ç¦#4Õ-¬íãe2¶B–lÛ[š=ègòàfÛ”Æ:A¬]¼÷Þ{ ÛÏ?ÿl;wì·~2mýAø,Z´ÈOÝxã±Á½<_|ñžüvAVV–¥d—[ÐwЧ쇟°6‰,Ķ=6éTôýÌÌ 4h[jÝ:ºuëfœ0òP'úàp(.nOÛn»-eggûò ¿Ä¶íAÇVø›;¶íqua™Èy‚ó¢C‡<ÐN™2Řà5€vmC>ìy"uŸþW:üðþ&;cƯTUUIo¼©Yº÷ûïßzŸ>››¸¼¼”fP¯^›pyãóAä'‰à#òáøB€ãÁëþ˜(>‰êO”ßîkA}×q6ˆ8>ýükã|èÑ£%sÝY‡µGøÃƉ^oEnsÙùÀÔ¾w㺆û‡K[ÛöØt¤Sumpåºy8óáxHt-¾Ý÷]™aóöù¦N¢ü®Ìd1Å  Ë–-#üpÍ-**¢V­ZÑ¡‡*ÅMŠƒ0 ²=è\OÔ Ø€ç7¸ô k³[WóŠ€"°þ!Ð$§¨äè^øøÓ±‹Þ¦ ><†Þˆ#bi¯Ä¸qãbdÈ]¼xq,„­ ÓÛ$Ùã^ݼÈ@,ò;vìhÞ”K™_áŸmÔ ‡±½¸¸Øˆš>}.MºŒz÷.⇽…<°êÎ)M™`eÛ„‚Dmoiö =°)ÑpÜqÇÑã?nŽ#f8Àávðäê²ß(á#çêÛÇáºë®3#K)¿üòË:ð íu¼ WøÁl÷µ {lYv}è¹ì²Ëçª؆<*í`˰é¶<Û›'^:ŒíÀ œU«Vò1ìdf2|þùç´Ã;Þ^KÀÛ›ž={šr‰13Âæ^?ÛÃØv}äÃ`–/Y,aìî¾ûnãpÈÍÍ¥ÒÒRsFècn ç8öÞ{ïx¢ÍŒ aòÃÒoVóÏÞK;ï|�½õÖ“”“ÓŠ~û-º‡Š8ÆŽ½ˆF޼‰^yåAêÑ£/Ïl™ÅÎ¥ž THÛo¿Qtž„ÅGìO$ŒPG:^Ç"ìuÄîOkª¯ù/\—0Ãç W�åLÙçZ2vÛ}ßÏØ¹gŠÍp<ˆóAhrÏ”<bÛîTÚcë@zÉ’%æz‹X° ç`égÔ C†W SWxî¼óNIš{œú¸Ç† vß[Gø¼Î/™Q$<vìÅo—§"„)–TÀ)gƒ8$®ÁB?üðÓ6'YLƒÎ­DÁ¹,ÜsyÜ“eéiе9Qʯ(ëMr:„iî7 O—{Õ±pP ØüÙ7e[†}3¶éaÒo¾9ͼ¹ÁšÙ³çPŸ>}xjvWúúëaš®\DÝXì {‚¦ºÉDž>úè[~èëD……´Í6´|ù*~+˜MÏ?ÿ—ýÎéÕ´ï¾—ÑĉÿŠ'γ<Èv·BK³öÙD®½Èã8â‡^áì³Ïö"§Œ&ƒ|ÄC%ú´ûÀ+ÄpÄ ‰¯Dåùs~r‚ìiJ߇><´”òÃKçÎ]ÌCÌé§ŸÎ}}_ócÛÙµk7æ+¥Ž:ÆvðÐ/Ù¯ns”ÙÓT,Åá““c–"`m/\ñêÆàiݺµi¢<ćq<ÄÃdæÌ_=YÊËW±3usž¡4–ÏÕ…”••m®ÃbW~~!½óÎ34aÂ:÷Ü›éÇ¿4vgeåÄœ®à ,]Þ¦æ±o ®/pn6UÜ©\—0Ë!(<ùô fv‡{M ªãUƯz~4{z½½ÿø1hµ÷^2Rm«×/<ãÈÔs”ÙdOS¯ ®m^yéãpâãÅÌš ¢[ίxn—?[“ÅŽ„çŸÞ8àŒC_ÃN%kÛg8)šâ|ðj[²¶{ÉŠGǃôc×áàU?¨/{ñ+MPÖmšätÀCª\4Û^ÎTÃ"z ×Öe{îƒì>ÛF<DÁးoß~´rÅrúåç:°Išq<¸m°m°Ëüì±yšêÆö6mº±”èÌŽ»îz†¶Ûn;š<yr4þŽãm·7*ñ�OºÝÖDmOÆž+®8n¾ùÑf±ÇÏ~Ó`ë2’ (`]wÐ,éCào÷ ÔsÛ!y<ÀIǃÌ~:xmyÉØ#²âÅЛÄá&vºõüìqùšÚ÷á8À¹ºªôÏ™pD€.¶õäÅmD+KWQ¯â茙QSScÊ域í©>¶Ð×”sQì•8KÁBxÝØv8�» ‡èQž¨ã!L¿”å®}W]5ÁÎ<óÚØ,:›çì³ÿÅ3|jè ƒ†òàÁCMìâëwlãácëJ6o@è>´íÒK/¥ë¯¿>f’Û;ïb«d%üð êû~³DÊ1¨Ç€ÙžÐ\öØøˆ ÒD¡‰ÃÁ½ Üå·å‰ðá#|öµuÂqŒH,oðÅ¡êg+»)×WVP^‰: £ ÙñÊâ_nýDùÝúMÁN„wÞy'&ÒÆ tÛå=öüñ1þ0‰ LƒlêËaô }îHÿǃðÈ5�¼aû²ÔÕXPÖšätÀÅþàÉÅG.0©„ÉÖ¹¢ËötÙ#üCFç†5ªp8,[¶”ô@‹JÐïS"Ô§oÔñ�~´ƒx»¾!4üºm]/úvEtã%……­Œ?‡ÃäÉ“h¯åY#øFwãj*E¦[ tÛödì\ãip€¤ÚØ<Ä^èsó y9üê‚Ážý`Ë–64‚¯ã%evŒ´/ÙR&m‘‡cw3AÑ'2Â/ᇞåË—û€¯½öZºòÊ+ÅœÎa¨dÛ"ᇥà)¨QÃJó†Á2Öá€ýÇL‡•¼ccÞ«`%ÏxøÇ?Î6}ûì³i»kŽ`cÛÏÈz¶¼1cÆ4šºãhãiózÕ·åÚöØõâ¥!?ÁNø‘OÔá€þ;ü^_‚;Àé· ÛíÆ$8Ì(“`§yåº=b¯½¢›ƒYô‰.KÐðsñA=™ÉtPÀÆšAFÑ)6X|lû.¹ä Àn¸AÄ4Â1FôI¸6›ÐÅVÐAü$/üØ4RàsÛ‚r8LÑçE¶Ôµc¿2¡‡±ÇÆGêé°¯©^üv›EŽð%jÔ—ë&ò…ë˜ðLÙ0¸n¡ÏÈ€ tLC— ÷/{„'LŒúøÙØ¡ž—4b7ˆ~Ðe`ìŇr›y?Þhiøÿöù¦V¢üad OLáhÜ¥b›.Ž {ÌŽðšñjL!Ïî÷^òm{ýÒ8®èÃv?¶é(Ç=\ô‰.ûÜò“¯tE@XH‰Ó¹ˆ¤êÆâB,+›në].¢6]ìA~’ÿÞ@oOápØxãák—®4oþ¼˜ã|¤"KèÛz…fÇASÝ m´eضb,©r8ÈÌèÄÃÌŠ+Œ<[fXÛ“±z'[‡TÚÙ°ÉŽív™‚†à{å•WlR£tYYYlÊø!Cõ ¯~&•íãá…ð¡ ?±7VIƒÇ-—zˆí‡cäÁ+Á¶Í–'|~ýÇ•ág̰ÀçåD–á¬@ÛMÆú'¼©Q2Ù¾}2£a3ÓK,:óCÎJºâŠ+Ì )G\Êôží72A={¶7ù‡~(6²±]ÛÁ„%Ê¥°„³ØÉ®þ2{ »úE?EzÕUW™:Rº!'Œ=b§ÄAXŠ\;†Nq8` nâÍp@ûÑ6‰ú+±�� �IDATÅñ •2@‡3Ç Ð'Á K)k®6K°ñš`.±m¯;S ÎH¡ÙŽIi¿È”<¶SBtH9b[Ÿ>R޲‹.ºÈ8Pç!%"1~n‘—ŸË 9vpë‚ß«ï㺄þŒM#¤b è÷àÀ٦#-¿TÙ…d#öº®‰m¸¦OÚ&öH¹È’¼Ä"[òàH#€Á•¼[ß06üƒœ‹mÛ¶5Ççޝ\oE>ø$ÉO2×уúv Ë+ Ë{i£m—-Ï­/X¹t7öü’z‰òK½0q*1õà Ü·ß~Û˜ƒâx,%ö²7Ó Û!ÓíË^òÃÐpï…<iŸÛõéËv=M+ŠÀú@“€Á¾ Ú鿆ºl}’–ضMh£ IXW‡Ãr^ëßµ;æò7•9ž6}}úébÚi§âØÅƒx»¾Û>”•Mu“zÛ¶#M#—óXÂà|p"Ï4Øž<ž‹±Ø6Ù²c ›$á•Ø¦!ígÏÈsþüusØÝb×£>{ë-ù³Lòn\RRbH²V]d džp ’5ºä&*D©#±ÐƒvÍ5טoÃK^ø$:b;`p*YüÛå’†/Y^´ÿû¿ÿ“j&¶ë"‡^ âx<b‘‰þo·Ëå>›.édû>dÊ[’Ò•ìp臃ÌtXsHˆãëbWñÒŠŠMlïí€|¯�¶í’–u$í³x»ú㸢®[?Œ=.O,¥Žè6LÔá€EÔG=¤%o?@Bt%ržˆÍÛ˜‹¶>ÁGh¶c!ˆÇv÷ öòá ‹Ød;D†`.< ÛiáMèK™Û|  ¯ÄBCÿ…#Ûží Çç•ð=:6÷Ó#¼v¹¤Qf—KZb±Ç/>‰E®£?ÙOÊ_ø¤¾ðIìe®“‚Íc ¬¸ö¡+ÇÔ]äXìÆf[·]†t2רé耬wß}×-2y¼™Ç@YêÙ„ (·ñðj=¿å·TÅM¦SWÙØ±ccÇ ÜGy$Æ"ÇN" ¦alw쵞Y±Ef< –ã-}Ä­ˆ:©ÐíÊÕ¼" ´\üŸšBØ,7JaMö"›GŠœ0±\äl‰Ú³‚÷pÀÒŠ˜Ãg8Àá0gî|ÊÏ/ ßÿÞxãÚÿI¶.×F/{\ž |<Ûñ• lé% 2£�ìñ !È^áAìe{2öÀá0nÜËÍbØk· iLaÅ:HÛI ¼n<cÆŒI¶<Âá`O‹• ‚‘äƒðÁÀQq¸:ìA¾ÈC >yДÁ¿Èpùä†.t?{ÄáCìښȓ™¢ß.Û8¡Ûv 6^rQ?^ð³]ê‰CÁÌt°¾^ÑÉÌxˆNÛÇâöíáp(¥ž¼ù*–Z þsÏ=GGq„y³(r{ÙÏ»>:avõ‡L¿‡/[ž—=vyØ´},†~80¨D2±[ßµGìzX,Ÿzê)SåÃ?4³2~ýõW³±ïôéÓ©{÷î„ß}÷m±Å&ýý÷ßÓæ›G?¥‰vú·7¶[l,LEþgÓ$mÏP¾ ØË±Ä2±Iøüð¹ð c3„WìD^®R&±Í#4¿Xl±ëøÙ¸6Àñ`óÃá ³_㇠öÙ¼¦ à_"öø]C½ÄÃ&×{Pïw^&b—Þ0mG¨kìý"[òaäJ¯Ø®o§]^”aO |ÒsäÈ‘Š1XFÙÑGݨ?4br2ç¶Óai”MôüJ”¿‘²&flí´+³pm³ñ `Š`/à ’ÞD1E Açºð„q\ål×ñ£‹ÝñÚgËÒ´" ¬û4Éé€ .òó»¡lÍ‹uñ“`Shvl¹Â¦Ë ±è’|AöH]›‡+VRwk†­rsèiÓyÝxÇF;v‹ [Ò~ö ÌASÝ‚l‡ŒnüYL|¥ÂÝ3a»my3ÉI¼‰äöQ‡ʉ³Õûl‚èÍÏváA¹Í#r¼ìAYsÙ#za‹póÆÍÎ .ÐËnÖxÍ?6ÜD~|æðÍ0xüóÃgÔ¨Qf`Žry teް_ÀÍ[æmÈÁ²$–´” Þ:ÂI ¶šJüå^A~å¨cÛù¢ e¶=ÈÛ!Ù¾§<Ì`éöaA{:”6à(刱§f:täã‹|‡ŽèŒ3ΠSN9Å<ØÁ&iŸŸí‚Êm»®´ø†ÝÕ_6.¢Kd‹\‰m^Ia)<ÒFÉ‹ƒs<lJ>ÑëËíú®Ñ'±´Ï KðØû:ôî}4Áé€0qâD“~ùå—ù+ç–E½õÖ[tØa‡™Í-ñ°.N8[áT<ùä“Í1³›–®Ýûí·_¬_¿Ë#¤=Æ †ÂëØêÇk׳y\|n¾ùfÃêçÇ@ý[ì[ÅTšÄÿ„WÊ„WbЅǵe8ßp@¿—k††aËN¥=^ç’èöº¶+`[%Àž[n¹%F—¶£Ü¶Ýnƒð Üæ‘:ˆ…åAçx…_l“z¢ 2l]Âï%;™kƒÈG ÙèÇýû÷7K=àpÀµçÆbh(ƒ³އdú¾—ýB׉$„i“ð6GF¿àbëš/äÑ.üî¸ãŽF× à‡�Üå|²1@™Ý‚ly° ?±3Œ\/9ï 盡#ïêjªNÑ¡±" ¬ü¹X0 {q àHû +|¶ v:ŒŒ+àpè[R‡Cë¼VÆáЮ]‘L` F"!Ȇ0Sݼtá&4tèÞì¡s8lKG5’¿¼1ÎKL\šm»v+úÙ>³§Ã²7n¹Y{ÍNpí–¼8*++…db‘)Öí;móÉL�¿rðâáâÆŒéîø! ~òÆPä¢óÏÖa§…Mêz• îx¼AvÕM¶ï<´˜8?:Њå^±<ó•²Ã¡  ?Êz¼$Ã.·Ûk§mÛí´Íã—Æ5uä>I#–kÒaCo2XŠ£À© ô°±[ß«=¶ívÚ‹W|Ñp6L˜pVŒKÞ°œ›è¾ñÆôþûïÓ|`–Ãa½3<˜Ý�§ ìÇzx¯`Û`§½x¥¹× Y—íÒm¹¶ vÚæAb™þ|s= Û6Øièô ˜å„A¿ âíXl #ÇK6hv];íÇ¢<¸VÈO®³š\¿D–Ø.y¯Ø¶ÁN{ñ® Z É\¼lƹ$¼ywÀÇsŒqFˆã2à(Œ‚lªë·Ì#¨NªÊR…©mœ“¸FÀÉ€™¶ÃÁæ—´9lgÊqÏ ‚lS_yE`ÝB ³)æâ‚!?[Ž{!ñ›¹`×qÓöÌ”yé‘e©+<®~äÁ›ŸŸ/¬lbÄ€„ÈÄ�Qp„&Õ\{„&†,ùÙü A.BNNµù,¦×’Ší¶Û¶ÑÒ <`‰}¶Ü°¶K‘!6!ïgìáýŒgjíÝ¢Wl±7xÃàDœRîc/q8Øí"×®>à€Ž¼ül>y {í¾Øº8°ôÁb bð!yà“r¤!+ž=RWd¡žß´dÈFŸ‰Àƒ Ȳ'ž»räçÒm‡Á¬Ù³Œn<¤~úéÆ^»¶uã=~øþÃ÷¿¯þgâ3˜|²ÄÇÅa°?l”cˆ4pEp÷s°ËPŽuð¶ãåR_ò†Èÿ\{„&†LÔwƒÌhHõLWÚ¯_ºuÇF—v8è ƒbYÁ rÅé¡C£ŸËDz×]w5?¤m<],ýðA»äH�]lpydð`ÏpÀ`y ÂÜÁê‡Á|°ýÖ[o5fxÍx[$¶íEt)ó³ßÅGêH=[&x!e8ŸÄA*<rmp¯#"Kdƒ?ÕöÀ§)‚Øi2üOô#›ÅÑ€×á‘Xê&‹´r\{D¶Ä¢±¤¥¾ä…×µGèabÈD}7Øz¥ÌËáàÚÇÓO>iœROb—tÐì¾/¼^1–LÚ÷s¼À÷hùr†W½5MKSØf;#Åá ±8Ð/åºÌüúä%‚)øí€ºò³é?õëggÓûvþ)<ÿ›~“×”¾¢ E@X§h’ÓAZŠ b¹@J™Äö¡Å^Ž Ñ#õܼK·íÃÁÏ6©&†Ly¨rõ»yW^ÐT7áˆm{?üð6Úm·ó Û„ ׃ìá€%˜á€€7‡"vJÚZÿ\º›V¡#^›öˆbbld…›8DðEû!ÅÞ¿Á®ƒ—ž={Ú¤X2Àc"„ÁË¡I,ƒäÝÁ­íôǃ×&ЇúØCžðŠ)»ìXx‹SChàCŸ°í°ë")ìAƒ ±ËæµuxÕO¦ï›M!Ù^è<õÔ;hÀ€þTQYAµ5Õtá…ûÓå—_±šãa.ïü}Åϰs¥ a¶ÒÌôïŸfød‰…ûàíg»ÐÛ}_èh'°°wõ÷j;Ê;dØu…×¥¹yá“8K¿ºò€'ƒvÉ'»õÅ&;ö²AhÛüñÒRºÜãçÖ~Ðí´WÞ­›L^<àÚàåpÙ®M  ±Û×äü—ún,umº å.ÝÍ‹ ¡#ví_Æ üî1y"_b—îæ]>/{°É%0µҾæâº!Ï¶ÓÆv<Ø×BÐ]ýn>Œ=Â/¶eÛi»žKwó6/ÒÉ\\’‡ã?� ]b{�-´xq<û¥> ®ãAîó³¦âTbŠ{œ p2ˆÃq²!Ó ÛEŸÔ—ôžß~+ÅÎÿÇœŽ;î8S6S¦©qnbÏoc|¶Cðãš°ÿ¬m_6_L™&E`½F %N!¿ ‰—Á®g§ÝY(såºy»¾vùððù°ÇŽüñGÚyçÍCã Aƒè«¯¾¢!C6¢¶ipÎŽ£èçÂð b?Ü€ÉÕcÛ é ©nÂcÇ®L8ð–~›mF¶?¿RñXlIê|ðÊãÔ…?ý‰‡.×NTtåºyÛ;íò­ {\äAëMå<=Ù±——g›ß(]^^nò®¼O<Ñì íÒÁl?|7ædlG‚+2@Ã`UÞÌ¡ºË'û0ÇÏQËB¦Ø‚‡rWGŒ1„Ø•ˆÃâ“éûØ _vÙ“TTXd¦Öwà}8ªj*饧Ð!‡ö5凸Î;?¢Šò ³WMemºé@ºçîè̳v9(µö{a'øâz`ïê~  öÅ7¦ï¸1ð¸rݼȱã0Xºrð†úS=ÓÁÕ;Þ'v›’ICw./ÛD[öꫯJQèxêÔ©1^{ð€Á„üÎ;ï¼$‚lkh8í~ šW°ëº÷)» uݼ—<?>Ô•ú¸FÙo°í~.<"Û¶É-sóRÇm>q8€ç¿­4,Q ø‰^3Àë[[fç½ø¼hvIñ¹en^dØq2×·ï÷îÝ;öel 6i<ðÀÍ1ýõ×Jl¼êâ=dP}Àئ™t¼¾/ ³˜7FÀ˹ÏÃŽgžy&¦CøƒbùÜ/xü(Aõ“ÁÔ–'Çíé§Ÿ&|_LÃò÷šáu­°å -²lz¦al·ey¥m#FDŸ=Åñ`óÛ|B÷ã÷â•:+ŠÀú‹@“a/^Ž„D`õÓãÒݼ«Ãv4ˆãÁËá�ǃlljŸ?º+Ë+¦.<e°ïʇR8ž+½2n´y«m\ƒt¸enÞÕ‡üڶ礓Nò2ËÐıàËàQ€6É´«á#ƒ}›_Òâppؤ1êÛ n™›y…Và zH‘:~±ØåUî§ß‹×¥yÕ•íŠ éØã6¥—_šÆƒæJ³hÇ?ö-wüV1Çf8TV”ÓîK÷Þó whG•¼/@qq{ºåæW™~çÀ¶¸úݼk¯ÇñÄò |Åâɧ_0Ep6`†(÷ A:‚ʼdÙ4¯ºèkta¶@NNNRŸÍD½03l[ö²Çå ›‡,¯þëG÷ÒŸ*{08ËÎÎ6¸Úo-íAÛ›o¾Iؤ2(4Å·®=¨‡Nq6ù9 ÁãÊpóàÜdú>üî9�®­"ßÕïæ…Ïv8€&ƒ]ô¹ /bœ¢Óm>7íêwó.¿W>Ñ:AüAe^ºmZغÜ#ÈWž°,Ï«®8rD6cFc!ôdcq<`¢Ø”¨8pýjŽà…‹—8Äá`óÀápûí·“—ã!¬|[^ØtXÙöù/Ž„”xñ“G…°úTi‘" ¬C¤Äé y”¼ƒ=`·é^i?…-ºì¼ÈMè^öˆn,a·t„hÝqxƒp×.уb?{ªš(ÞT·x¶Û²d@-mDêãa ƒK8ÐÆ·¸Î<hîòŠ<?Û[š=bo˜øÐC Ö}¼QÑ ¡ ÆÀÝåó:öñ²ù½x¥\l”º’G¹ô›z2Á–ág-7™¾7—ô£rÞðó¥‡C1Ït¨®ªdGB;c0>ÄmÛP!/µ¹.ÇÃf‡öˆ+iÓb|‚ìó³í“6zai·íÚk¯%ü®¼òÊØÞ pB` õö»¾ø K¤žÈD^ô ígÊ$ÄÃRøìo%§L™bɸ>$êx�?m˜‚ŽÙç7˜¶Û¼°´mC:ì'3±_ ä¹øaÖôÑK׎DóÀºáh€ã±ä!ËÞ›Bd‹}v^hÒ.É W,<ƒf<ðÛƒn`‹ÓIdùáy"SìA;-2ÂÄXö�y¨‚—M‰Øy8çD¦,›0D럴ýÞž•<ä~)ŽyáEõDí±T®–ôÂN0±uŠ^`—ùÙ#¼ˆ“¹6Øõ%mÏâǃ”yŸ¶H§€äíØnMJÃñ�‡ƒ—Ž çúƒq<H>‘8U˜ŠNYJë'®àpã¤~‰ƒ0g;êJ}» Mt –þ‡¯Ï{ì±4«a¿”_Ê‘G¼ð?<+z°Ë £þS¿ )q:Z^*)sìB»²Ý¼È±évZÊaG²¶ØëB]Ùn^ôÙq¼©n¶ ;mËpÓ^|ò ‡Ão?ýD?<—qDØ¢¶/(·évڮ립øRa—\W÷šÎÛ6ÙiØ\¯�>¯ãàÖG]/ZXº_]èÆ²”Û^¶zѼäzÑܺÉô}8*+*©ÏT¨ª® âöÅÃáPÔàx(6MY?ß®ŽÌl@yµ7ŽÔcGÅAa;�ül·évÚm—çœ v°õ ÝO¦]ê!ÂÒ¯¾8äÁ=ǃ8Ðwâ9l;%mÛd§QžÌ'3q¼!Ç^ƒß±cGãôÁÛB ®.нhŸL,†ÌÌè­±ëxˆ'×¶ÉN'ROxQ_®·2GÞËñå§Ë¦ÛiÑ‘L,Ø$N×&?]6ÝNÃ×ñ ¶¹| ûáàG÷’96ÝN£Ì/øñyѽhëG·u&sm°ëÛi¯ÏKÛånZø1+¡°°Ð-NIÞÕáδp•`Y–gàÖªU+·8T>U˜B¿|DlGƒ"×iÉ75²²í>e§ýôŠ!ì=Í?Œ.?”®(ë.Mr:ؤƒ12³ Tñœ~ºÂØ#vø-©À^¸±}òÉ'¼|ÓÕö~ð²ßÏ/^?ZÛ¥®ðzá-eòà ‡Ã¯ìx(yï1úç®­éß5Þ(ÐÏv‘~<kÒÑ/ƾ²·C<Þ¦”ÇÃø'²§„},ƒðö+‹gÝV™æi×±ËIûÙ“¨ á·åáÍuMm t 3Ì ~û5sÖ ãHØa‡L<sÖLÚlÓf† ˜áОÕÕU,§:ö&\f:غD?b?á^ûøÉ™WY¼ 2Ñ×”Xhq<¤Úá`ãdíCÆKÆ>4?i>™9mÚ´Ø'3sssé†n0Å÷Þ{ïj_!7žâthn,ÅNYJ!S¿]ºäýbé#(²ÙubÚõP&ÚNqq8 ¶ë⺄à§Ë–ëÇc„ügË ²ÉO—]ßGA&‰97ÅÑ u„.y?]"|~<¶ ¤í>/eˆÝún>ˆ×.kδ|^Úíß~:ÅáÏàW? =QâphN›ÂØk”ìç�çÃC=d!öWxDŽìÿ€'½Ê…¯)q"}Yôœp ’lûõ]/~?ÞF5£(ë%Mv:È…Kb?”â9üê ò½tØ4›Ç¦‹ İ#Y‡ƒ8, ÇÖ…¼?½(šêfË ’9AåvWøÂáðãߣj¬®Íg ¬2ቅσÊí²¦Øcë„L¯9¼5xë­·lV“ÆtO{3ªÕ<¶Ý^ºP.<‹É»ƒûË/¿ÜL@.x1 ̘1R=&7FhH¸{@ˆ#-y‰Ýú’G9lÃ@.Ñ ²%¶ë{Ѥ<™¾/ø¼ôâïffCtæÏ|èPl>yzò);Ó<›ÁðïŸÊ›F~hf6`FD{^ZQSSEí8ÞbË<³!YYYbV,¶mGZòÇDP¹WYSh¢:KáA ]nßuxF¿Â KÞ<»1‹~3ìö¸ºÄá‘Ø¶QÒa>™‰svâÂnÄB/h^Ç×O/è¶Íö”r±Ë+†£Á2 ó¢Ûºm]RåÂ#±”%Ãñ€l|p½qlÝþoëM¥=°m†L9VÛ6¥âº†¾á¶úì6E)ÑÿÀÁ=&¶ áµi¶,›.¼v,å~Îg¡ á÷’&åM¹6ˆ ;Æ^Òwlº_ýN÷v{\œýꇡÛ:ÂðÃé 6…áwyR…éþûïOo¼ñ†q4ØÎ8J‹ŠŠb8äÙ1òâxHÓ Û!KäI,m·•BôU¡I,}Yòˆ½øƒÎu»®¦E`ýD IN‡ Hpq²/d²ùLP¯2ܬäìU–æÚ¶žË×{âMusu¥"vŸ·Kô+㾎‘©À3YÛšÛ|ÅBúŽÕÃ?û”¦|Rsذa6ÁŸÊ‡"?lı 7hè…Ãkž×Æ1±uÂ&û±ñH>Éô} £K'úмi$f8`}ïLþ ¦8Ž8âƒì…gžµÝÊ›Fn2p3á–g8ˆÃ3"d¼ß1ZèÉ`i·Ëv<`ˆA<”ûÅâpÀC³Ý/l™Í™ÆqE·ÑtÈñ¶c±¡’÷�I6`–fKÉTn¡ Ý0øüKd€æ#“ŒsS¦d{20ír.»1ê –~2šƒn#èG[͵aOs´1H&Úëi7°IeHæÚàçlÃ9à:Ò`«Ì”rí?özIEHT®c^÷|\/š’ÁÔOŸ\C±wC§NŒ3÷aÌ|ÀOfjI}¡'³×d$k{ÐõÆ~n;Aó{‰áÅ/õ4V¿Mr:à!Õö\ÊT ÄC¼ÌM hØ:D–è²oÚ-ͱ5LÏv/‚A¼²±Ÿþùî…§ÈIËx:ÝrÑz2ö ¾-ÃN»º$/‡þóŸôïÿ;6ˆÀ´F8ì$Ï«,èxyõW肜ýë_F­ìè‡CÐ1ñ²Qìiêñ’™2Hà²á;E¿è”¼K™m]/í‡%¾ �GAÔñðçW*°7f8Àá�Çø€!ôÖQ _©=P_–`€Ï^¶ûÙc×sÓ"Ç¥#ï–¹y»Ž”%‹%ê‹ /Ý¢ ¿x¸r8� $„ß–-²$ö*KK‘çC°±g6ÈqÌĉ…y  ]ò¶{i–¤%¶ù’IÛz¥~"ø¸}WdH ù8‡q>ÃQ„�'òÈynó#mãd—ý"Ë/ƵD®urÌülùaíquÊ Gä <hÀ <l^Wž”%kÈ9’·c·ÌÍ{ñÚöØåñÒmË—4 ¸†úéKÂëAóÖËñ&uýt¸ôDuà8'j“«3™<Úe·ÍNûÉ\OÁƒÙ¶ç°8"dø\Ùn<‰„ se~×”¹¶„á›%N¶/»ú5¯(ëMr: ‰rñ°›‹ ‰Ðå†e—¥å"$õ%öª#¼v™ÿڴǶ-hªøâÙnË “|D.Ž…¤ÝúÂkÓ½xm,mÞ0iÑ!r›Ûž“O>y5³ðÖRÞô&Ò±Ý(íˆG³Ëí4Æeçu›î—¶õ…µ'¨×_½Qe?¬ËÌ Ñaëõ³MxýÊ“íûpZÂa�ù´ˆ#1l´šb³Ë‡<øüú›—í^mŸݯÍ6]t„©/¼v};,–®î8ÀˆÅCdãÈn]Û;íe{غ¶¿4äËñµylº­/{¼ÞêÚ:’IÛ¶ ~X{ÀçÖ £þøÙƒHȺ}¾$bíÈc‡Í¦{®úÙÔ|Üv£Ÿ×&/Þ¦Øã%Ï‹&:Âoáõ’Z2×Ôñ‚mŸ—cÁ­oó£,žíný0:ì:‰òÛuƒÒÉ`жºí÷Ó!×a”¿þúë16Ìr€Bg^òâašŒí0`êæ›Çì“Økj8~» ñuΧQ�� �IDATl£WyE`ÝB INñxâBb_@w/.v^ ’ ³[å"CÊ„eBØ�º¤AÐEÒ¶¬(%ú_èn]”Š )^” ͵evšêÖÒloiö�[Ä‚·ä¥ yû¸ /ƒi¯º(·ë#oË].>îC/d¥2Øö#-6@‡¤mБÇO‚Ý6Ðds>y‰™ò�*õD†`aËxÄÑeÇMéûpŠÔÔÔÇbÉ‹}bbHH ~<¸‰Â Û„æÚ.í�]xÀ¼è”úv4ÑáÖE™È2á•zÂ#6 ï† ,ÅÄ¢õE¯È½x L,t»®0ˆlÉ /òÂïòH;\{DF21NÐi,…nëBZl@±ÏæýàƒŽ•!o· y B—ö ±Èšð"/ü.ØæÚƒ¼ÍkËù"×­+ŽœöÛ|ÐE¦mØ�y’ve"/ÎI[/Òv;E¾”‰nœx‹+òE¦ðƒ.6 ®¤…_ä!ŸÑ ù [è"_Ê‹ )^” <bè’]x@YH#ز¢”è¡»uQ*2¤LxQ&4×”Ù!™kC¢}?Ìg`ýl·m Jï»ï¾AÅk´,LåXŠ¡6BC,t9¾~\§…Wê!†ž d»__øÛoA"W+ûd`x~œŸÒÖx}y5EJPu&9äí˜\Dl4\š›Þ º[ææ!6Hhiöˆ]aâ–f{K³Ç7)¯>àÒܼàŸ݋צùá#vÑÙœ1làgÊm»½ò˜ñ ³¼ìGýx2 ×¶ù°¡)¶‹×>›î–¹yðÚ¶·4{¤-ab´­¥Ÿ'^},LÛ¼x0˜'Ï>¶ë>ÒN·Ÿºy?>›|ìzvZøl|ÖDß·mj öˆ×5{lÛã¥Ñ¶–tmˆgïºPÞœ˜Úé—ÛØxÑìr¿´×¹ïZê'+Yº}íIV†ÖSu&9|ðÁÕÒ–f NÐT·–f{K³gòäÉ.œk5ßÒðiiö¸Gû¾‹Hòù ,õ< ÆUñ Ƨ¥]GÔžàãå–®K××ö–š_—1 ²½¥[-õø«]Š€":07k'þ X²dÉ}¶XlÔvÊ)§’¶y4­(Š€" (Š€" (Š€" (Š€íÛ·?cõmh½8•¦(Š€" (Š€" (Š€" (Š@‚¨Ó!AÀ”]PE@PE@PE@PÂ! N‡p8)—" (Š€" (Š€" (Š€" $ˆ€ïž ÊQvE@PE@PE@PE@Pbèž1(4¡(Š€" (Š€" (Š€" (©F@—W¤Q•§(Š€" (Š€" (Š€" (LÁáüóÏ—¤ÆŠ€" (Š€" (Š€" (Š€" 4˜Óa‹-¶ aÆ5Y  PE@PE@PE@P¿6=ô æt8.½ôRIj¬(ë)×_}Ü–éµ .DÊ (Š€" (Š€" (ØãÕœ[o½5 >Ü£š’E`}@`üøñ¡š¡×‚P0)“" (Š€" (Š€" X¸ãÕœoÊ’;ŸñUÊd­‹‚>¹oкh¶Ú¬(Š€" (Š€" (Š€"ðC`ìØ±TUUEééé”––fâììlÊÍÍ5yÀºü222åÿÏÞ½ÀÙQÕù¢ÿ÷+ y‘„’@H�a�EÞ*rdŒòŠÀAÁF8ÂÀøÑ㹞Qï€^õÈGG.7D1À: *Åð%(h€@HÈ;Ý[«Ân:îN'éݽ«ë[çììÚ«ªV­õ]|ócÕª &ÄG±‰ÖfC‡Gy$^}õÕM.¬vØa•]ß @€� @€@FŽo}ë[ãå—_Ž+VÄúõ룩©)œ÷*… )HŸ´ŸŽ :4–,YÒi¯7:¤Àaß}÷íôâßÿþ÷qï½÷†à¡S… @€� @ P­­­1f̘Øyç#í§Y«V­Ê?---m³RàÐØØ˜‡Æ ÛúÐ!¥ië8Û!M¥X¹retÐAqÏ=÷Äá‡^(H%@€� @€�6HACeCú{z¬bÐà W¤ð¡¹¹9Ràf9¤ã黫­¾«íËÓRŠÑþS™N‘n°Ï>ûäÁCûk¶e¿¾¾.¦>6¯¢ý~WuÛ®!ƌ캓]]§œ� @€�ØT ²fCúNÛúìÿ¥­ò»²Ÿ²î¶Í>^‘f:TB‡Ž¥ÊÓ‚iKÁÃÝwßÝéÂéøˆ¡që×ЧŸ[™~ƺæõñ¡‹Í÷;þÑÔPœº[ÜvÏâh¿ßñ¼=wÿsæ¤X±ª%›ö±>¦î>,¾ôí§ã×ó_éxªß @€� @€@Z³, ÍzH³Òz k×®Í×w¨äéQ‹´U2®ªíQèP™Zѱ’4óaöìÙyqšZ1eÊ”Ž§lô{íºÖ˜ùùG6*ÛÚ Ùlˆ/œ7%fßü×<œHõ4faÅ ¦îS–­½Ÿë @€� @€@ÒäƒÖ,TX¸pa¾ÔBʶÛn»üQŠD¤G,Ò'ië.xØlèPyž#… ·<0¦M›–§i%Ë'žx¢ã)Ýþ5¢1.úð”8ÿ+ òóþ¯3'Çw¼znU·×¥ƒï;2ÆŽjŠŸß÷RÛ¹Í-ë£ùµ´åÄ·Ž‹÷;>þôìʸô†¿Ä¢—ÖæÄåÿsŸøá/ž³NœþiyüëÌÚùãgž°K¤‰#·Î[snýkÛù?þÕ qÆ»v‰ž|5nºó…øT6»bùÊ–øä7žŒe+š£³{µ5Ê @€�(ˆ@š\f1üáÈŸz=ztÛº í—\HÁÄÒ¥KóO Ú?vѾ«›*ªÌthƒ´ŸÖsH H+[Ž5*ÚWÞq?ÍDxÿ;ÇçŸýöžÕ[;ŽÞðxF:wÌöM=ž©°ëŽƒã¡§–çit¼Ïàl¶ÃûŽqÖÿýHüòþ%1ãm;槤@aÊ®ÛÅîã‡Äþõ¡˜°ãØk·¡ÑÔXÿxÒ.ñÏÿgAþÈÇ1Žñ;dhÙù{fçÒ§}æÁ8hÚˆøïÇ씟³èåµqÈFFW÷êØ&¿  @€� @€@­ ¤¿ÿ/X° 3Eú»~Z$²³@!•7.ÏÒã);èlÛtúB‡³Ò…ééÆÝméxW7©\—Ú°4›¶Õk[+Å[õ]Ÿµ©cŸÛoûøÛâ5±Ë¸Á‘¿8{Æ„|-‰ÝwÒv•«[ãòŸÍ¯}î…ÕÙl‰A1zDS6#bU<Ÿ i»ïÑeqä£â–_/Î׋¸ööEyùâWÖÅ5?ù[¬^ÓÏ¿´&¿î{èò^ùEþ @€� @€�H“ Ò#FŒèQ°ýöÛçë>TµèØÍ…•™/nÿ»'¡CK¶Øã­w-n»,Ílh¿mX³}I×ûϽ¸&œ:"† ªo 0ÞuÄØ¸ûÁWbåê–xyÙº¸û¡¥ykÚ© •°¢’à òzé‚5ÙÚÛ nȯ­œ›ÿèä4{£«{urº" @€� P³;ì°C >|“öu5É MR?~|¾þÃ&eÝO_ÈN¨ÌtèøhEÇßéF]5¢³§²4c`݆l&Eöö‹IÃâ€,DèévߣKó¿ìW^­Ùþºß<²,vÝiH<ñÌŠ¸Á²x$[»¡»í·Ù̆i‡åYd$ò0#…=Ù¶ô^=©Ó9 @€� @ ?ÒzŽ­éØ][R>fFt¶mv¦CšVÑÙó+Kç¤s·dK3î~pi|‹'ÿ¼"[ØqE/O¯Üü¿.{*>“->yì¡c²�¢9öž84~ú›—"½%ã»·ý-¾wñþñø3+#ÍtHçvµ¥Wn^÷³Eñµ§E1#æ?ñj¾˜eZ¯asÛ–Þksõ9N€� @€�úK =.Ñ“  }ûÒùiý‡Î¶Í†•Ù ›[Ó!W9·³½º²9ÞñO¿ßäп]õ§28{¼!›õÐ~;îcȦG*ûí§ý WÄéŸ}8Ò[05ÖÇ K6¬ÉŽýð/došx1{L¢>–g¡BÚ:Öõ¯ÿñǼ<ýñ£ì­?þÕ‹‘f:¤·`¤­ãùç|áѼ<ýqÙŸmÛïì^mí @€� @€�‚¤WaV^ÙÝßñ;v§« ¢G¡CW·¿I:gKÔþÚŽCûc=ÙåÕ ‹Sv<7­ßP :ëìwkvþÆÑGggu^¶¥÷ê¼¥ @€� @ ÿºûûÿÖüóÏô__Ý™� @€�¨Qž„›éžçøñœ¿cùòå±fÍšhiÙð¸BZ,bðàÁùÊ–Ûm·]ì¼óÎ5J¡Y @€� @€@_ l6t8äCúºMîG€� @€� �W €AÔ @€� P‹›éоëÊ7÷F5ê @€� @€� $`¦CKS  @€� @€@‘„E-m%@€� @€�:h°4•� @€�I@èP¤ÑÒV @€� P ¡CKS  @€� @€@‘úäíEÑV @€� °ò•ˆn�©Bö?>bøØ*T¬Jl* tØÔD  @€@ÑRà0çÌ¢÷¢:íŸ9;âðYÕ©[­è tè�â' @€À�˜ztö왨CÛЕ{æD<qç6TàRl¹€ÐaËÍ\A€� P8ø¯ú¯–Ðáu {ô‰€…$û„ÙM @€� @€@ù„ås=&@€� @€�}" tèf7!@€� @€�å:”oÌõ˜� @€�ô‰€Ð¡O˜Ý„� @€�”O@èP¾1×c @€� Ð'B‡>av @€� P>¡CùÆ\  @€� @€@Ÿú„ÙM @€� @€@ùË×e=&@€� °©À++WÇMólz €%ÇÿÝÔ;|h[®É 4¡Ã@Qý!@€�Ø*8œyõ·êÚZ»hö¬“bÖÖZ³´‡� J8èºL€� еÀÑÓ&ÅÌÃèú„>2çžâÎÇÖp 5�² Ê6âúK€� Э@ Š<K@èÐíð:H€@ XH²ÁÝŽ� @€�”E@èP–‘ÖO @€� ÐÇB‡>w; @€� P¡CYFZ?  @€�ô£ÀméÇ›»5ý& tè7z7&@€� PsñÿÌ/Oõ”� Bÿ$ @€� Ð'ŸþMÄE÷÷É­Ü„�:ÔÈ@h @€�2üïû"þßeè©> „þ9 @€� @ OÎþeÄÿy Ooéfô“@c?Ý×m  @€�Àßy2âªv3­Ü¸³Þ±tmÄß#bþâùµeÇOŒ;dË®q6¾:ô•´û @€�(‘@ îük÷N³–¬‰¸ô‘îÏs´{ÙGGÌšÖý9Žè/¡CÉ»/ @€�’½KĽÏG¬nÙ¸Ã×1eûˆƒÇm\îWÏæ<±ù`§g59‹@õ„Õ³U3 @€�Ò ¤ÀáŽ"&_±ðÕ C"RàpröhEÚÜa÷?·\`s³I¶¼FWè]¡Cïzª� @€�nRàð£wFLß­›“"@`ÀÔ˜žè @€�5/ð½wj~4@/ zSU @€�t.ИýÍ#-x8cRçÇ• 00<^10ÇU¯ @€�Ô”À÷þ›#kj@4†@ ˜éÐGÐnC€� @ ÌÞPQæÑ×÷2 Ê<úúN€� @€�ª( t¨"®ª  @€� @€@™¬éPæÑ×w @€�!ÐÜÚ“?ýõxvɲ¼?g^ýãHŸ]GŒ§÷º/÷½×û9ç̈kÏøÒß"†Žz½Üª `¦CPUI€� @ /ëëãôCÿn“[¦²ÆÃ?¸Iy0Cà°©Šª t¨ª*  @€�ôµÀÌ#Øä–yÙ>ëÆÇŸ¹ño¿ P%¡C•`UK€� @ /ö?6Žž6©í–OÜ%RYÔgOTzz[yŒ‘‚ú@@èÐÈnA€� @ /fþúl‡÷½ù ¯ßòMï{}ÿ'o"^/±G€�ª ªF«b @€�}+pò›öáƒÅ¦ÆøÐQo|ý滑>i;úŸ6|û“�} àí}€ì @€�úB )xX½®9F ²ñ-ËÖqhÌÊÆï½q¹_¨¢€Ð¡Š¸ª&@€� °­k[#Ö´ô¼–SÞ|@¬inŽW×m|MÝÿƒGźåŸÕ{¿ZÖo¨+}§¶ nˆdžu韛@A„(Í$@€�(§Àîøü﷤“³¤âގ׌Æ8=šéX^Ýß¿þ[ÄÈÿ/âsG|öMÕ½—Ú ¨=Ycí‰ @€�ØFÎÿg~s;Ø ЗÿÛ¨/[à^ @€� @€À€uÈaÕ) @€�"𿲗P|âõ7a¶[ƒ²5l”O@èP¾1×c @€� ¤Å-ÀX ÓT6ðxÅF~ @€� @€�½% tè-Iõ @€� @€� 6âðƒ� @€�è-¡CoIª‡� @€�ØHÀB’qøA€� @ 6–,Y_ýêWãᇎ‘#GÆöÛoÍÍÍqÌ1ÇIJeË¢®®.Î:ë¬~oüÏþó¸ä’KâÉ'ŸŒ#<2Î9çœ8üðÃû½]@€@ÿúÇÝ]  @€�ôX ýE~æÌ™ùùóæÍ‹‰'æûO=õTœtÒIñè£Æe—]Öãúªuâ7¿ù͸ýöÛcÇwŒ»îº+®¾úê¸å–["µ3…$6Ê'àñŠò¹ @€�Hàé§ŸŽO<1ž{î¹|¦C%pH]˜2eJü⿈Q£Fõ{žy晘0aBÜ|óÍ1{öìøú׿ž·iñâÅ1wîÜ~oŸ Ð?f:ô»» @€�è‘À¹çž+W®Œ!C†ÄqÇ·É5;í´S\|ñÅ›”§‚E‹Å Aƒb̘1¯¦Ç3ZZZbôèÑ•¢¾{RO C:"©’ÔnWlÄéR J5Ü:K€� P$W^y%\!µyÒ¤I1|øðN›ÿá8V¬XÑvlÁ‚qÆgä!Bz¬aéÒ¥qà 7äkA\qÅqÁĺuëâ¼ó΋U«VÅ5×\“_{ 'Äu×]þšÐ]=m7ëd§µµ5¾øÅ/æGæÌ™“ÏÈèä4E”@@èP‚AÖE @€�b ¤E#+Û¸qã*»›|×××Lj#òòÕ«WÇ»ßýîX¸pa>C¢¡¡!+N;í´¸õÖ[ó…/½ôÒxðÁóÇR‘ߘ1cFÜxãqÇwıÇ›«g“F¼VðøãG /ÒB’iû—ù—<txãßøÚ¾(“€5Ê4ÚúJ€� P(—^z©­½iö@O¶ë¯¿>Ò:i}…ôhCSSSŒ;6n»í¶xùå—ó*Ò#iKo—8äCâ]ïzWþ;ýñì³Ïæû=©§í¢v;Ó¦M‹ÿøÇqꩧ楩¾4£ÂF€@9Ìt(ç¸ë5 @€@öÝwß¶V>ôÐC±~ýúüÕ˜©0½)â»ßýnÜÿýù9)\8å”SÚÖoHTœ~úéù±TO Òb”­ïfCT¶´¶CÚÒ1Ò¶%õädì³Ï>ùci½‰o|ãñ»ßý.–/_Þåã!•ë| 0ð„oLõˆ� @`€ì¹çžyHf(¤ÅÓ#“'OÎ{wþùçÇa‡o~ó›óßiÖBzkÄ'?ùÉü÷ÚµkóWVVÖgØR’ÊÌŠm©'-p™åHkQ 6lK›à|€€Ç+À ê @€ÀÀHk5|ùË_nëÜ<жŸvÒ#•m=öÈw§Nš¯Y³&î»ï¾Êá|áÈæææ¶ß›ÛÙÒzÒ‚”¿úÕ¯ò…)+u§°!½Î3­1QWWW)öM€@‰„%l]%@€�(žÀYgiÈ´]rÉ%yxPéEú‹~Çíä“OŽwÞ9/N³!Òb”óçÏTÏ‹/¾˜—§E"ÓV !Ò›,*[e¿'õT®Ißéo{ÛÛâàƒn[Dò׿þu¾ÀezÄF€@9<^QÎq×k @€�‚¤×^{mwÜqqá…ÆôéÓóµÒ ‚oûÛùB‘騙gž™÷(•ßtÓMù+3Ózûï¿ì½÷Þy)Œ¸òÊ+ÛÖkHoª˜7o^üä'?iÓH¯ÔLõí¾ûîÝÖÓvÁk;)ÔøÁ~×ù8ꨣbâĉñ‡?ü!ugÇóý&@ B‡rŒ³^è3»ï¾;/^Üg÷«•¥UÁ8âˆZiŽv @€À�øÀ>éóüóÏç³ÒâßúÖ·b×]wŽë6¤7R<öØc‘^_9tèÐü/ÿ’³Ï>;Ò§ý–Öƒ¸è¢‹ÚåûÝÕÓñäô—,Y’‡©=S¦LÙ¤]¯ñ›�/ tøc¬‡úT iel PôFˆôÙÜ–ÖƒHo‘ØÖmKêIçî·ß~ÛzK× 0€„h0u…@- <8'x-µ©mI!KZ¨ËF€� @€À¦B‡MM” Ð éqƒO<±jªí*æÎkfGm‘Ö @€�ô£€·Wô#¾[ @€� @€�, tÈ£«o @€� @ „ýˆïÖÊ pÍ5×Ä{ßûÞ8öØcÛ>ÿãü|Eí"ôÿ¶Ûn‹·¾õ­±Ûn»Å 'œ=ôPš­ @€�jBÀš51 A`à œqÆùë²Þÿþ÷ç?~|Ü|óÍ1dÈ~íô=÷Ü·Þzk§¯«4,½küÔSO­üŒgŸ}6—ùƒ>˜¿ž¬í€ @€�:0Ó¡S…ô¦À¡‡ÚVÝÐïË/¾˜‡ ¯¾új[»:î¬\¹2.»ì²øÑ~¿ýíoãøãÏOIï¿þúë;žî7 @€�˜éÐ Š"úO`Ù²eÑÒÒ£Gî¶/¼ðB´¶¶Fš9±%[ ¦OŸžÏZèîº ÄUW]“'OÎO›3gNþNôæææH¡…� @€�Í 6oä ª$pÅWÄ\ëÖ­‹óÎ;/V­Zi ˆ´¥õ®»îºüÑŒï}ï{qöÙgGš}Êëëëã7¿ùMüíoËg |ç;߉k¯½6Î?ÿüX¿~}|üãÏ|æ3qÎ9çÄ 7Ü×wã7ÆŒ3âk_ûZ¤@!méØý÷ß—_~y¼á oÈË*¼ño¬ìæßcƌɩX¸pa¼å-oÙèXúñôÓOÇÕW_½I¹è'§îŠx<»÷­¯}÷ w½°<?ë®»²kž˜ßƒ+œB :i†ezý¸À@: „QÔH¡À¥—^i„¹sçæ!À‰'ž˜‡)$¸ãŽ;òÅ'O;í´¸òÊ+óßóæÍ‹´äI“bŸ}ö‰[n¹%>ÿùÏÇ%—\_úÒ—â™gžÉƒ‡Q£Fåu§uÚoéÜôÈDZòä™Çoõ�� �IDAT“Oޝýëíw¹ŸfV¤Àá°Ã‹w¼ã›œwï½÷Æ÷¿ÿýMÊ @€@? ÜyUÖ€ôéÁ6õÀˆ·ÍÈgº]%tè˜Sª%0{öì˜5kVµªW/>:ô)·› ÐQ`РAyÑ‘G‡rH¬]»¶í”´pce«œ—ÎÙk¯½òâ´ÿÇ?þ1Ÿ‘B‡¦¦¦Êéù÷àÁƒ7ú½-?¾øÅ/ÆÎ;ï) ©´¥}})Œxç;ßÙ¾È~ôˆÊwÞG}tÌœ9³ÃQ?  ÐËi¦Ã¼,l8ò#¦Õ£ÊÓL‡«žz)þñÿ1ŽÚqx®qÞ¨üßÊÞ¬S]ú[@èÐß#àþl$ÐÐÐÐö;­íÐÝ–^c™¶Å‹Çòå¦ÄvwþÖK`üð‡?ŒŸþô§yðÐY=ií‡4KÃÖ½@ Ràà¿Þtïä(½ pOVÇâ,t8. ŸÕ³ …?Ž£Ž:*f‘Íz°èô+m’€·W ¤ÑÔ%¨Ì8HAEoÎjhϘüÈG>?ÿùÏc¿ýöË¥G<žzê©ö§Ù'@€� @ 3:AQD€@1žþù¼¡S§NÍ­¨««ëÕ†§…-ßûÞ÷æ¯×|ì±Çâ‘G‰—^z).¾øâxàzõ^*#@€� 0„qTõ‰@ ´_›¡Tš¸zõê|7½Š2méM•­ý~¥,ýå?=J‘f6ü×ýW^ü‰O|"ÿž0aB<ùä“y8êýÙÏ~V¹,£òcذaùîÃ?œ/(™Ÿè¸Æ@z´ã}ï{_¤ÌóUÌ+gßéM#FŒhWb—� @€�Î<^Ñ™Š2zM ½ÎòŸþéŸÚê›?~þüG}4#EúN[zSEzlᢋ.j;7½RóÏþsÛï´3zôèxÏ{ÞS¦LÉß&‘‡3Ï<3?çSŸúTì¸ãŽqûí·GZïáñÇÓ»Ò"öØc¸é¦›ò@"ýþà?˜¾ò0á+_ùJœrÊ)ùïö|úÓŸŽ›o¾¹}QÛþ¡‡Ú¶o‡� @€�®ÌtèÚÆzAàôÓOôélÛwß}ãì³ÏÞèPz‹Eûàa£ƒÙñãÇÇþçÆO<‘¿¿z̘1m§LŸ>=þú׿Ƃ bÚ´i‘·HDzëDûíÜsÏ̓‹úúú<¤h¬²ÿå/9ÒÇF€� @€ÀÖ ¶ÞΕt#Þ(1wîÜnÎØ²C/¼ðB~Á¢E‹zToz•f_l©Ÿ6 @€�::t�mX³fM<÷ÜsÛXˆËׯ_•µ R˜ðÌ3ÏDc£}õ ®J @€�TQÀÿj¯"®ª ”Q`ìØ±½Þí_þò—qÐAåŸTyZû!-ò˜^•Y+Û¸qãj¥)ÚA€� @ f„53B``qĽޑO<±×ëT! @€�ÕðöŠê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥€Ð¡”îÓ @€� @ úB‡ê» @€�(¥@c){­Ó @€�[`å+úwÏœž÷ó©åÎ}ꮈºù=¿Î™6'°ÿñÃÇnî,Ç H¡Ã€V"@€�”\àåg6�<qgDúôd[`vÖŒˆyWEÜ-tè ™sz(0svÄá³zx²Ó ,¡ÃÀO½!@€�H»°ÁaêÑÙ_öfnØßÜŸOf3îz)âÈŒØkøæÎvœÀæÒL›ž†^›¯Í ) t(ä°i4 @€@RàÐÓÿ¼>›Ýp×#¦•]“f=Øô‚€Ð¡UQd Iyô´� @€�Ô°€Ð¡†GÓ @€� @€@‘„E=m'@€� @€�5, t¨áÁÑ4 @€� Pd¡C‘GOÛ  @€� @€@ jxp4� @€�Y@èPäÑÓv @€� PÃB‡M#@€� @€�E:yô´� @€�Ô°€Ð¡†GÓ @€� @€@‘„E=m'@€� @€�5, t¨áÁÑ4 @€� Pd¡C‘GOÛ  @€� @€@ jxp4� @€�Y@èPäÑÓv @€� PÃB‡M#@€� @€�E:yô´� @€�Ô°€Ð¡†GÓ @€� @€@‘„E=m'@€� @€�5, t¨áÁÑ4 @€� Pd¡C‘GOÛ  @€� @€@ jxp4� @€�Y@èPäÑÓv @€� PÃB‡M#@€� @€�E:yô´� @€�Ô°€Ð¡†GÓ @€� @€@‘„E=m'@€� @€�5, t¨áÁÑ4 @€� Pd¡C‘GOÛ  @€� @€@ jxp4� @€�Y@èPäÑÓv @€� PÃB‡M#@€� @€�E:yô´� @€�Ô°@c ·MÓ @€� @€�~hmmôY·n]455埆††µJèÐ#&' @€� @€�r ¤ aíÚµùgÅŠÑÜÜ)l>|xŒ=:ÿ:th^Ö•ŒÐ¡+å @€� @ ¤)`HAãZ?¸oiÜÿL],iØ.Fï<$NÚmy>Ṙ6i‡˜8qbŒ3¦K%¡C—4 @€� @€�ò ´´´Ä’%Kâ?nûK|ïŽÕ;e¡ÂØíóÏ ÃãšÍ1ÿÉæ˜¾lIµü‘Øo¿ýbĈB :eQH€� @€�Ê'°~ýú|†Ãwoûs|ï®UqôIoˆ;µFl7,bÌàØ{û!±g<ì4¤>ž~idl÷ç?ÇvÛý1¦NÚið t(ß?CzL€� @€�:HU,|nI<õÒ øÈYûFëÐ1~B]|áš1¤)vÚ; c†Š¡£†ÅŸŸiˆ?ý屨a‡—b§vÚ¤N¡Ã&$  @€� @€@9Ò*~õÀ’xÓ~»Æè±#¢µiH ]WñüºØ½±)FdŸaÙ,¶<$ ‰Øa—í³bTLzñÅNÁ²+m @€� @€�ÈßPñÜ‹­±C8 2(76ÄÆìqІúÞXƒê룩aPDöÆÌôÖÌ¡#†Æ‹-#céÒ¥ò™éÐ)‹B @€� P>ôšÌ¯F ÚnH4Ô7Dk]CÔ××å3Ò¬…Ö,thºhÉ~´ÔEÔ jˆeuCò×jv¦%tèLE @€�(©Àšu-Yšu¾®.Ö¿f°2ÛÉÖ˜ŒÖÖºhξ×f§4fëKÖ¥�"+KaEg›Ð¡3e @€� @ ¤--)aȇôÉC…ˆ¦õÙ ‡ì³&KÖ6gadÓÖe9C}–D¤Œ¢«MèЕŒr @€� PBôÚÌæ,p¨Ï‡4¡5Û_ž#³ý64g3RàЇ Y‘íwµ º’QN€� @€�J*­ÙRÙzé{} j¬‹lù†üÓÔ°>²õ%óý´ÎàôG›Ð¡ Å @€� @ ŒiâBZ·¡>ÍlHë8dŸuÙk²ßé³.›é¯éðÚcf:”ñŸ}&@€� @€�[!Mlȃ†|È´Ÿ ˳€¡5}Rð}7eŸÆì“VšlIß]lÝL‚èâ Å @€� @€À€Ȳ„lÛðgúš}ÖeŸÖìGZ<²þµCÙ²iÍÉ.7WtIã� @€�(§@ZÏ¡.­ç… õ Ù‹1³‚´vCS*Ï> Ùš铎g‡»Ü„]Ò8@€� @€�Ê'B…:¤Å$óµ²Ù C³ßi!ÉÆ,ahʾÓgHöI›…$78ø“� @€�è@ö²Š<xH¹BzƒE>«!û‘‚‡Áé;+”?cQ—¿É¢«*ÍtèJF9 @€�(¡@>Ó! Òc•С)6Ì~È_™¥ MÙ'åéXW›Ð¡+å @€� @ ¤éñŠ4Ã!… •™•Ç*Òw>Ó!ûN‹J6¦d¢‹MèÐŒb @€� PF´€dCåóÚB‘)dHáBšÕ‡ëóÇ,’OSþ˜EçRB‡Î]” @€� @€�Ò ä³²€¡2Ó!-*™‡<¤�¢2ë!OǺڄ]É('@€� @€�%È­Èú]ùÎ×xhȣȆ6T‚‡´¶C] ²ï®6¡CW2Ê  @€� @€@ Z³ !ûÿùÙ’ ¾[ë¢e}]4·F´fŸuÙ'í§Ð!ýîj:t%£œ� @€�”T ÍÙ§% Ò~únnɾ³ÏÚ´Ÿ}Ö5oÀIDW›Ð¡+å @€� @ „ë³!… yà}·f©Ãº,lHáBþIûYà°&ûÖtX×’½ê¢‹MèÐŒb @€� PVôÈDþI3²G+ò™ i–CöI3Öfei*Dl8Ö•“С+å @€� @ „i‡¶G*²þ§ýÕÙ'ÍrHW¤ƒ²ïÆì;-þàñŠþC¢Ë @€� @`kÖdL´æ3²™ Íu±fmÄÊìÕ˜¯Ž¼&Û´>š³YÙY±";ÖÕf¦CW2Ê  @€� @€@ Ò+2òOzMfzuföªÌìwk¶ß”}›Ò«3ëcpS6Ñ!{£Å ¬¬«MèЕŒr @€� PB†,u¨Ïž›¨Ï‚†8Ôg;M C³U#³¬!gåéÓ˜ý®Ëž½hÌŽuµ º’QN€� @€�J(PŸ…uYè°á“ÍzÈ‚†úº–h¬«Ïf5dÁCD4dßYðífÇZ³`¢óé—–U—  @€� @€@ÙRx0hðúX³bu¶€dZ)²5Ög¯±XÜÜœ­íÐ’=NÑš…-ù ‡úl͇ÖìuÃbM 4¨S:¡C§,  @€� @€@ùcâ.Mñ·¿.‰æuëbݺ–X…¯dïÌ\‘}¯jiŽUY�‘G¶«–­ˆcil¿ýöb :eQH€� @€�Ê'ÐÔÔï8x‡øíËⱿ¼‹W¬‰§^\‘¥ ­± ›Õ°dUs¼ºrm,[¹2–.[Ï>ûrì9biŒ7®S,k:tÊ¢� @€�”O Ít˜4atì¿Ëâ¸rÎüxû»ö;þ’Mi9<-Þwg 9ØÒ;¯­º—–Å!Ûý5¦ì¶Cì°Ãb :eQH€� @€�Ê'P—½¹bذañécíú?Çœ>1fTÄ«#ÆŽŒxµ)æ¯[nls&½‡ïÑ{î¹g :´S,¡C§,  @€� @€@9b̘1ñáƒãí·8¾÷’¸ÿéçcɲe1zÂà8fºxǤˆ}&‰'ÆèÑ£³&³×Xt² :AQD ,k×®'Ÿ|2î¼óÎ8úè£c¯½öêrÕÙ²˜è' @€�é1‹Q£FÅ›þnxì¿÷.±bÅŠìíÍ‘‰áÇçACúN3RY:ÖÙ&tèLE’¤Àá–[n‰=öØ#.\˜ÿ còäÉ%é½n @€� Ð@z}ævÛm—?n‘f3¤--4™>C† ÉÆtNw›Ð¡;Ç p»îº+=ì°˜4ib 6<֬ɞӲ @€� @ @ Òl†ôI3 ÒwZû¡'›Ð¡'JÎ!0@þþïÿ>û—E}L›:5Ò¿H–/_>@{ª[ @€�ô‡€Ð¡?ÔÝ“@L˜0!›Ý°&Z[[ceöžÝ®©‘æj @€�:lÀ4—@o 4(_8rݺuù©Þ¬[] @€�è~Å> @€� @€�­:l%œË @€� @€�î„Ýû8J€� @€�l¥€Ða+á\F€� @€�t/ tèÞÇQ @€� @`+„[ ç2 @€� @ {¡C÷>Ž @€� @€�[) tØJ8— @€� @€�Ý º÷q”� @€�ØJ¡ÃV¹Œ� @€�è^@èн£ @€� @€ÀV ¶Îe @€� @€@÷B‡î}%@€� @€�¶R@è°•p.#@€� @€�º:tïã( @€� °•B‡­„s @€� н€Ð¡{G  @€� @€�­:l%œË @€� @€�î„Ýû8J€� @€�l¥€Ða+á\F€� @€�t/ tèÞÇQ @€� @`+„[ ç2 @€� @ {¡C÷>Ž @€� @€�[) tØJ8— @€� @€�Ý 4vØQ лsæÌéÝ ÕF Ž?þø;vlÜÉ- @€ÀÀ: ¬ñÔÔ¼ÀwÞéc#P$Ù³gǬY³ŠÔdm%@€�5! t¨‰aÐ |3f üNêá€H3s„dnXuˆ�úP@èЇØnE€�2 Œ5Ê).ó?�î»Ð¡Àƒ§é Ðï’ì÷!Ð� @€� 00„s\õŠ� @€�ô»€Ð¡ß‡@ @€� @€ÀÀ: ÌqÕ+ @€� ÐïB‡~ @€� @€�S@è00ÇU¯ @€� @€@¿ ú}4€� @€� L¡ÃÀW½"@€� @€�ý. tè÷!Ð� @€� 00„s\õŠ� @€�ô»€Ð¡ß‡@ @€� @€ÀÀ: ÌqÕ+ @€� ÐïB‡~ @€� @€�S@è00ÇU¯ @€� @€@¿ 4ö{ 4€� @€�¶Z`Î[}i¡/<~bÄØ!…îB)/t(Å0ë$ @€�UàοF¤OÙ¶ÙGGÌšV¶^¯¿B‡â™ @€� @ fL.'BšÙQÆ¥¨£-t(êÈi7 @€�¥5¨¼ÿ¥_èPœô-$Yœ±ÒR @€� P(¡C¡†Kc  @€� @€@q„Å+-%@€� @€�…:j¸4–� @€�G@èPœ±ÒR @€� P(o¯(Ôpi,Qàî»ïŽÅ‹±éÛÜæ±cÇÆG±Íõ¨€�(¦€Ð¡˜ã¦Õ P 8<÷Üsj±¦ @€�zG@èÐ;Žj!@€�›<xp¤ÿò_†--kÖ¬)CWõ‘�èF@èÐ bо�� �IDATŽC @ 7Ràpâ‰'öf•5[×ܹsÍî¨ÙÑÑ0 ÐwB‡¾³v' @€�lV`Μ9›=§L'üñ¥™)8ÇUè0GUŸ @€�(¬ÀwÞécÛ 0{öì˜5kŽ‚  :pšM€�ŸæškâG?úQ¼úê«mÙc=â£ýhì³Ï>meµº³hÑ¢¸üòËã÷¿ÿ}Ü|ó͵ÚLí"@€@¡f̘Q¨öV»±iƇð¥ÚÊÕ¯_èP}cw @€�›œqÆÑØØïÿûócãÇÏÿò>dÈMÎí«‚{î¹'n½õָ袋º¼åï~÷»øú׿×_}¬]»6:è .Ïu€�¶L`Ô¨Qþ‹~2¡Cþ¬/`›5™� C=´­p@ôgàðâ‹/Æ©§žºÑÌ‹¶ÆµÛimmÿ÷qãÆµ+µK€�è\@èй‹R P3Ë–-‹%K–l¶=/¼ðB¤Ç¶tKuOŸ>=ž}öÙÍ^zÈ!‡ÄèÑ£câĉ›=×  @€�Wøg€�ÔÀW\\pA¬[·.Î;ï¼XµjU¤õÒv 'Äu×]—?–ñ½ï}/Î>ûìX¹re^^__¿ùÍoâoû[¤U¾¿óïÄöÛo—]vYœþù±~ýúøøÇ?ŸùÌgâœsΉn¸!¯óÆoŒ?üá±`Á‚üw*¿ÿþûóõÞð†7äeÛòÇÓO?W_}õ¶TÑë×Z½×IUH€�º:tIã�è{\zé¥ñàƒÆÜ¹sópàÄOŒ´¸X î¸ãŽ8öØcã´ÓN‹+¯¼2ÿ=oÞ¼Hë1Lš4)_„ò–[n‰ÏþóqÉ%—Ĺçž_úÒ—â™gžÉƒ‡ô¼pªÿ?øA[çÒ¹iQˇz(N>ùä|͆¶ƒÛ¸sï½÷Æ÷¿ÿým¬¥w/· zïzª�t' tèNÇ1 Ѓ Êïzä‘GFzœ!-ØXÙÚ?Q9/³×^{姤ý?þñùìˆ:¤­©©)ÿ®ü1xðàÊnÕ¿;ì°xç;ßYõûôäVAs @€@ï z×Sm @ ×ÚêliiiÛïlg·ÝvË‹/^Ë—/áÇwvZŸ•Mž<9ÒLZÙ¬‚^+#¡ P I–e¤õ“�J!P™ý‚оœÑP \$@€�¶X@è°Åd. @€�µ+ðüóÏç›:ujÛcuuuµÛ`-#@€�´€Ç+ôðêÔ²@ûõ*aAjïêÕ«óf777çßéM•­ý~¥ì±ÇË¥H3þë¿þ+/þÄ'>Q9&Lˆ'Ÿ|2y䑼îŸýìgmÇÒci6lXþýðÃç J¦7XÌœ93/ëøGzÄãÑGÍ‹+ T 6:*ùM€�v÷Ìi÷Ãn—û1|l—‡(¦€Ð¡˜ã¦Õ PpôJËôV‰Ê6þüü/ù{î¹gÛ_èÓ›*Ò›)~ò“ŸTN‹ôJÍãŽ;.vß}÷¶²Ñ£GÇ{Þóžxâ‰'â/ùK¤ÀáÌ3Ïl;þ©O}*¯óöÛo´æÃÇ>ö±üØ{ì7ÝtS¼ímo‹~ðƒ‘Þ4q×]wÅW¾ò•ü•™m´ÛI¯¿üéO¯¼òJ^úòË/ç¯îLo×H¯¢´ @€@'OÜ‘>¶îfÎŽ8|V÷ç8Z8¡Cá†Lƒ  @` œ~úé‘>mÿú¯ÿºQqz‹ÅE]´QYûãÇÿüÏÿÌC‡±cÇÆ˜1cÚŽéÓ§Ç_ÿú×X°`AL›6-Ò¬„Jì¼óÎm祷_¤à¢¾¾>vÜqǶòŽ;³fÍŠô¹öÚk;ò›�: 0#¢óIcÏ,÷ï4D(3`ÿ: Ø¡Õ1(‹@kkkÞÕ´ŽCW[ZXò oxCÛáöC¥0…6èE¡£ü—ûžr z*U¸ó„…2 &@€�¢ ¤õæÎÛ+Í_¿~}>s!Uö›ßü&n¼ñÆhl¬ÿ³^Y+¢W:« @ °µó¿N K¨á @ gkÖ¬‰çž{®g'oæ¬ßþö·1yòäü“N½êª«â]ïzW¤ 6 @€@­je$´ƒ�¬@Zg¡··´þB¶qãÆ¡™ÕoãÊláÍnªþ}zûV’ïmQõ @ tB‡Ò ¹ @€@_ qÄ}}K÷«58Ìyý"µÖ¼.Ûc%ù.i @`à ¬^×Cšü•y[Gšà¶ ºž� ÐS©Gg‹Ê`){+É÷tDG€À�¸÷OÏÆO,ŒÏpô�îeõ»&t¨¾±; @€�6¤À¡(ï ·’¼j  Ÿ¿ù—ÑÒº>þí¤·ÓØJú­¼Îe @€� @`À \të¯âÿøŽßÏjuPèP-Yõ @€� @€À€<lý0 ¶ÞΕ @€� P<|îæ;KÒÛÞë¦5zÏRM @€� PPïÜû`\5ïm­eåê¶ýÊNZãaÑÒåqØ»VŠ ñ}üßM±Ã‡öK[…ýÂî¦ @€� PK)p¸óñ…›mÒc‹Çüê÷›=¯–N˜=뤘uÄýÒ$¡C¿°») @€�ÔªÀÑÓ&Ešé0ÿ/‹6jâ‡ßvp|訃â¡ç^ب¼V̹ç)Õl¿Ð¡šºê&@€� @€�B ¤À᎙™ÿeýí_ÓÖöÿ9ý¨ø·oÆúúxÓÄ]ÚÊk}§'³7ªÙ¡C5uÕM€� @€�…øÌqo;éí…ïGtÀÛ+úCÝ=  @€� @ 鑊Ϟð¶B´µi¦C-ŽŠ6 @€� @€@¿ ´¤¢ßSÐ :pšM€� @€�ÕH¯ÅLë;ضMÀãÛæçj @€�€Cšü7úÞV¡Co(ªƒ� @€�ØD@t³ ‰ @€�¨ºÀ‹OE<u׆OºYÚOÛø½#&¶a¿ÝŸÍ­ßÿcÄ]‹6V¾Ó¯Ó÷ŠìU–íN¶[3†¥f†BC @€� P2kÎŽ˜wÕ†N§ï9gF¼´°S„*\µ`Ã'öϼ3â?8t V#…B‡Í @€� @€@©ÆM‰˜rÔÆ]>6bÿã7.k÷kæÔv?^Ûí¬lÓ³”ô—€Ð¡¿äÝ—� @€�e8|æÆo<9bððËÚý:yˆáM¯ iˆø‡,»°Õ®€Ð¡vÇFË @€� 0°þ‡ˆ‘ã_ïcÇâõ#ù^ >”-ùPÙfLŽ5¨òËw- jqT´‰� @€�ehñæ,xHÛ.ûEL<8^yå•X¸pa,^¼8/Nßéw*OÛÌiùWþÇG²Klµ- t¨íñÑ: @€� lÃ^{ÄâDÔ7Æ×¾öµ˜<yr\xá…y¿ÓwúÊÓvà>û‰8x\^äh¬á¶i @€�P`msK¬É>=ÚÆíCw{S¬:ð}±~õÚøÐ¹çÅ)§eD‡mûQÛÇ«Ùñ´ýÞ ±:«~ÕÚÞ£C]ýli]Ÿ§ïtŸÁ 1(ûضM@è°m~®&@€� @€�_øÉ¯ãó7ÿ²Ci×?Ž7ÅïþõÛ]ŸÐñHc¶Ød}}|ní²ŽG¶ù÷¯Ÿ|&Fþóãs'Ÿ=ámÛ\_Ù+ðxEÙÿ Ð @ v–oxž¹v¨eèßÅ.[VQóòˆ*[Ög÷D@èÐ%ç @€�úC`îÿޏÿ†þ¸³{ @€�^ðxE¯0ª„� Pu«#®8%âô+#ŽúPn JTGà½ë-ñ‰¿?¢:•÷Q­ƒ¬çÐÔB‡ÞPT @ šß9;bøØl¹öÕ¼‹º  ÐkiF‹0ög¡+òxE¡‡Oã  @€�Ò\uZÄü›JÓ]%@€�!`¦ÃÀG½ @€�‚Ào¾1ïª×{²hÁëûéQ‹Ëß1svÄ®F<;ÿõc½½wÏœ 5V¾{»þ¾¨¯Èmï ÷ @€@ úÚm @€�›HÃwvÚœ3#Þ”­óðût^oMmÙ\{zã>ê @€�+ t°C«c @€@¡¦‘f:,[´q7ÆïñÖó"ö{÷Æå~u.°ÿñ—+%@€�>:ô ³› @€�¶@ ¿#"Íj¸çê×/LÃ?‰ØaÒëeö @€@ jxp4� Ð&°[¶ŽÃG~¶á-m…v P»K–,‰¯~õ«ñðÃÇÈ‘#cûí·æææ8æ˜cbÙ²eQWWguV¿wà¶Ûn‹/|á ñôÓOǘïï¿ÿþýÞ®Ò�¡Ã@Iý @€�®À.û îèê)ðóŸÿ<fΜ™÷mÞ¼y1qâÄ|ÿ©§žŠ“N:)}ôѸì²Ëú½ï?øÁâÔSOmkdzÏ>©½>ø`ìºë®måv¶^À+3·ÞΕ @€�ê Œ›²á‘Šác«/w @€@/¤'žxb<÷ÜsùL‡Jઞ2eJü⿈Q£Fõ¶­Š•+WæÁÇ~ô£øíoÇ¿a ˜4Cãúë¯ß¶Ê]Ý&`¦C… @€@ ìz@Ä{¾1r|5Ls еÀ¹çžé/ôC† ‰ãŽ;n“wÚi§¸øâ‹7)¯,Z´( cÆŒ©uúÑhii‰Ñ£Gor¼'u,X° ®ºêª˜<yr~ýœ9s"µ-=òâ‹/nR§‚­:l›« @€�Õøo­þ=Ü�½(ðÊ+¯Äí·ßž×8iÒ¤>|x§µøÃŽ+Vlt,…�gœqF"¤õ–.]7ÜpC¾ÄW\\pA¬[·.Î;ï¼XµjU\sÍ5ùõ'œpB\wÝuÑØØÝÕ±ÑͲo|ã7*J!Gz¤báÂ…ñ–·¼e£c~l½€Ðaëí\I€� @€�íÒ¢‘•mܸq•ÝM¾ëëëcĈmå«W¯Žw¿ûÝù_øÓ,‰†††<°8í´ÓâÖ[osÎ9'.½ôÒ|­…¹sçæaDz„cÆŒqã7ÆwÜ‘ÝÕÑv³.v^xá…üþ‡vX¼ãïèâ,Å[* tØR1ç @€� @€@§/½ôR[ykkkÛþævÒ i-ˆ4Ó =–‘¶±cÇFz³ÄË/¿œ?j‘¹HÛ‘G‡rH¬]»6ÿþH @ö¤Ž¶ :Ùùâ¿;ï¼sbTîÕÉiжP@è°…`N'@€�Š%žÍýØÇ>óçÏÏžžßýå/™ÿÚo|ãùtÜbõHk  P»ûî»o[ãzè¡X¿~}þjÌTøÍo~3¾ûÝïÆý÷ߟŸÓÔÔ§œrJ^žÞf‘¶ôHÅé§Ÿžï§º¦M›–/HÙÙúi6DeKk;<þøãùÏ-©£r}jÓøÃøéOš•rßÛ. tØvC5 @€�5,žñ]¼xqÜu×]y+Ówú¤)¹é˜�zO`Ï=÷Ìg%¤Ù i¡Ç´>Be¡ÆóÏ??Ò£ o~ó›ó¦ ³gÏÎ÷+³"Òì…«¯¾z«þý¼µu¤E#?ò‘DzÍç^{í•·'½63-*™Þ¶aÛ6¯ÌÜ6?W @€�¨¼+¾}S;+kÜ>l¹@Z«áË_þrÛ…<ð@Û~Ú™0aBÛï=öØ£mêÔ©ùþš5kâ¾ûîk+O G¦k=Ù¶¦Ž´ å{ßûÞ8õÔSã±Ç‹›nº)£EZÐ2…¶m:l»¡ @€�H ‚¥ç„+Ûøñãcúô镟¾  @ Î:ë¬H @¦í’K.Éß8Q©>ý%¿³íä“On{¬!͈H R¦ÇâR]•×W¦Å&ÓV !R QÙÒ~OꨜŸ¾Ó#ï{ßûòÙoÿüÏÿ'tR¼ç=ï‰}èC1tèкlý-:l™—³  @€� ¤Ç(fÍšÕÖòôhEe¡²¶Âv;é•oiJpz,#mé;ýNå[´­ÌÎiaÄò õäßéwú¤c6 @ººº¸öÚkã;ßùN<õÔSyÈ{ùå—Ç÷¿ÿýHBZË!ý{øÌ3Ïlëý¨Q£òYi¶BZ_aÿý÷σ‹üãyqå•WFe݇ô¦ŠôøÃE]Ôv}z¥fzœ#ÍT誎¶“_Ûùô§?7ß|sÇâü÷¡‡Úi¹Â-ð ã–›¹‚�( À>ð¶ÿšžÝínûÚ×¾ŸÿüçÛN¹ð #}>ûÙÏÆç>÷¹¶òÍîüâk·¼^OüðÂÈ?éÂã?›}>·Ù*œ@€�¢ ¤ï¦ÏóÏ?ŸÏ\H ?~ë[ßÊgžu¶¦Nz#EzÄ!-™fLœ8±­ëgŸ}v¤Oû-­ Ñ>xHÇvß}÷.ëhmÚO´¤ãq¿{G@èÐ;Žj!@€�j\`ï½÷Î0KÍLûÝmýèG7šQ97ý—¸-ÚŽùhÄá³:¿d»-¬«óZ” @ æÒÚ=]!­ ±Ï>ûlSŸz£Žmj€‹7:lÄá 0 š³w·7¯Ù¤+3ßÿ¾ e«_ÝäXû‚QCbÔøÚ½¾¿™k_?1Û«Ï^ç6¬‹zÒ‰ëjmÙpyúNÇgŸ ï¥ßpÀŸ @ XB‡b—Ö @€�=¸í ?ÖðÚ5ÿeùöѽ¶S£_Oý:â£#7<~‘ð @€�‚  :pšM€�l¹À(“¶Í @`¼½bð\J€� @€�t-`¦C×6Ž @€�E˜þ¿"ŽýDQ[ÿz»LÍxÃQ@èPÄQÓf @ {´ø¢»7r”�ô€Ç+ú�Ù- @€� @€@„eu}&@€� @€�} tèd· @€� @€�e:”qÔõ™� @€�ô€Ð¡Ý‚� @€�”QÀÛ+Ê8êúL€�J"°dÉ’øêW¿?üpŒ92¶ß~ûhnnŽcŽ9&–-[uuuqÖYgÕ„Æ¢E‹âòË/ßÿþ÷qóÍ7×D›4‚�l«€Ða[]O€�Ô¤ÀÏþó˜9sfÞ¶yóæÅĉóý§žz*N:é¤xôÑGã²Ë.ë÷¶ÿîw¿‹¯ýëqýõ×ÇÚµkã ƒê÷6i�è-Wô–¤z @€�šxúé§ãÄOŒçž{.ŸéP R§L™¿øÅ/bÔ¨Q5ÑÞÖÖÖø÷ÿ÷7n\M´G# @€@o zSS] @€@Mœ{î¹±råÊ2dHwÜq›´i§vŠ‹/¾x“òTsxùå—;=Ö¾0=ž‘ßèjëi=‡rHŒ=ºm&FWõ)'@€�EðxEGM›  @€�.^y啸ýöÛóã“&MŠáÇwzî‡?üáX±bEÛ± Ägœ‘�i퇥K—Æ 7ܯqÅWÄ\ëÖ­‹óÎ;/V­Z×\sM~í 'œ×]w]46nøŸUÝÕÓv3; @ $B‡’ ´n @€�²¤E#+[w,Ô××Lj#òSW¯^ï~÷»cáÂ…ù ‰†††<¬8í´ÓâÖ[osÎ9'.½ôÒxðÁcîܹy‘ߘ1cFÜxãqÇwıÇ›«§Ò.ß @ ,B‡²Œ´~ @€�’¼ôÒKm=Më%ôdK‹8¦u vÝu×ü‘ŒtÍØ±cã¶Ûn˵3fL 4(¯êÈ#ŒôHDZô±²=ûì³ùnOê©\ã›�”A@èP†QÖG P"}÷Ý·­·=ôP¬_¿>5f*üæ7¿ßýîwãþûïÏÏijjŠSN9%R¨¶ôHÅé§Ÿžï§z¦M›–/FY9žxí4¢²µ´´ä»éiÛ’zò üA€�¨€Ða€¬n @€�² ì¹çžyˆƒL‹=¦G&&OžœsœþùqØa‡Å›ßüæüwšµ0{öìøä'?™ÿN³®¾úê¶õ¶Ô°2³b[ëÙÒû:Ÿ�Ôª€·WÔêÈh °Ui­†/ùËm×>ðÀmûig„ m¿÷Øc|êÔ©ù÷š5kâ¾ûîk;žŽlnnnû½¹Þªgs÷qœ�E@èP”‘ÒN @ ÇguV¤E ÓvÉ%—äo¨\œÞ<Ñq;ùä“cçw΋Ólˆ´åüùó#Õóâ‹/æåi‘È´UBˆHT¶Ê~Oê©\Óþ;=žQy4ã™gžÉ iÜ>(ª€Ç+Š:rÚM€�t)PWW×^{mwÜqqá…ÆôéÓóµFßþö·#­åŽyæ™y©ü¦›nÊ_™™Ö{Øÿýcï½÷ÎëHaÄ•W^Ù ¤7UÌ›7/~ò“Ÿ´Ý?½R3Õ·ûî»w[OÛívÒã?ýéO#½ê3mé±³Ï>;3ÆñÇßîL» @ xB‡â™ @€�=øÀ>éóüóÏç³ÒâßúÖ·ò·T46nü?ƒÒ){ì±xüñÇcèС1qâĶ»¤ }Úoi=ˆ‹.º¨}Q¾ß]=›œœÌš5+ÿ¤ÄF€�šÀÆÿ×v õN @€�™ÀN;í”6‡‘ÖƒØgŸ}6wÚf÷V=›½‘ @€@ XÓ¡ÆHó @€� @€@Q„E9í&@€� @€�5. t¨ñÒ< @€� PT¡CQGN»  @€� @€@ j|€4� @€�U@èPÔ‘Ón @€� PãB‡ Í#@€� @€�E:uä´›� @€�Ô¸€Ð¡ÆHó @€� @€@Q„E9í&@€� @€�5. t¨ñÒ< @€� PT¡CQGN»  @€� @€@ j|€4� @€�U@èPÔ‘Ón @€� PãB‡ Í#@€� @€�E:uä´›� @€�Ô¸€Ð¡ÆHó @€� @€@Q„E9í&@€� @€�5. t¨ñÒ< @€� PT¡CQGN»  @€� @€@ j|€4� @€�U@èPÔ‘Ón @€� PãB‡ Í#@€� @€�E:uä´›� @€�Ô¸€Ð¡ÆHó @€� @€@Q„E9í&@€� @€�5. t¨ñÒ< @€� PT¡CQGN»  @€� @€@ j|€4� @€�U@èPÔ‘Ón @€� PãB‡ Í#@€� @€�E:uä´›� @€�Ô¸€Ð¡ÆHó @€� @€@Q„E9í&@€� @€�5. t¨ñÒ< @€� PT¡CQGN»  @€� @€@ j|€4� @€�U@èPÔ‘Ón @€� PãB‡ Í#@€� @€�E:uä´›� @€�Ô¸€Ð¡ÆHó @€� @€@Q„E9í&@€� @€�5. t¨ñÒ< @€� PT¡CQGN»  @€� @€@ j|€4� @€�U@èPÔ‘Ó»¥=��„IDATn @€� PãB‡ Í#@€� @€�E:uä´›� @€�Ô¸€Ð¡ÆHó @€� @€@Q„E9í&@€� @€�5. t¨ñÒ< @€� PT¡CQGN»  @€� @€@ j|€4� @€�U@èPÔ‘Ón @€� PãB‡ Í#@€� @€�E:uä´›� @€�ô±Àúõë·èŽB‡-âr2 @€� Ð^ » BèÐ^Ê> @€�(±@wBw,]]'tèNÍ1 @€� P"ÆÆÆõ¶«¡ãÅB‡Ž"~ @€� @€�’ ,]º4z($¢Ê¹/¿ür§bB‡NY @€� @€�ò ¬^½:š››·¨ãéü+VtzСS… @€� @ |‹/Î„Ê †ž¼ð ]B‡ž:‡�ÿ¿½»û£ÊÓ8þkÛíö+q0qH‚)YÀH(¼Ȉվ€«]e¢ ³BqÁq—pÄŸEH / BK´ÊÜDb.€Õ*BÃA^¤ °K^HÇŽínw·÷÷û˜²«Ûqe½t}k¦RÕ§ªËUŸ„ãÓOŸ:…� €� €�ä@`rrÒÆÇÇmttÔêõúe¯XÁ„nÇÐ{š’¡@�@�@�œ Ôj5Ûºu«™Æi¨T*©ðAaƒ‚†³gÏÚ¹sçlÍš5³c;ÌçZÚ°”óßÅk@�@�@�h:õn(‹vçwÚñãÇCð 'Ztww[GGGÊår¸î––ëííµ®®.B‡¦û—À!€� €� €� ±€z1(L(•JvóÍ7ÛéÓ§ÃíêÙ YÛB(˜Ð>===áõB§AO‡…d(G�@�@�@ g  …BÚÛÛmÆ 622—Ô­ 4ÇÐAK½Ö{M„T(C�@�@�@ Ç 4·¶¶†[(,ÄÇbª§Cr¾I^N‡m €� €� €�äP †1xP¯ ±WƒÂ­Ç× ÑÓa!Ê@�@�r)°ï‹¯ryÝ\44ŸÀJë³<è– … ºÍBc8İa±ÀA¢„Í÷ïŠ+B�@�XÀ§Çþlš™@�¼ Äq¦¯z¬†ÑÑQ{íµ×쥗^ ã<h[ %.çDèp9¶!€� €�äFà±;Í~Ÿ›ËåB@ G¿õæ+¾Z©páý÷ß·¡¡!{ï½÷ìÅ_ ÇSùb¡ÃbBlG�@�È…@_W‡ý~û¹¸V.XŽÀ7ß|c‡ o9räˆ>|ضoß¾¤C0ä’˜Ø @�@�@�ü T*Û»wïœ ÷ÝwmlllNÙB/’¡@�@�@�œ <xÐ~øá‡9 .\°Ì)[è·W,$C9 €� €� €�9xì±ÇìÑGµZ­f/^´jµjÅb1ÌK¡!tXŠû €� €� €� C=*³^¯[|¢E|b…—¹”ii{-åHìƒ� €� €� €�$¬"€� €� €� €@v„ÙYr$@�@�@�H:$0XE�@�@�@�ìH2;KŽ„� €� €� €À/Z T*ÙþýûMHj°H ÙÑÑæä ’Ú¦}ÚÚÚ¬³³Óz{{^7¡CC @�@�@�ÈŸ@¹\¶Ý»w[OOOxL¦žZ¡§Wè‘™ÃÃóÌloo7Í $4;v¬!·W4d¡@�@�@�V*@è°RAÞ� €� €� €� ²Pˆ� €� €� €�+`L‡• ò~@�@�@�šT@c9ÌŸ5ˆ¤Ê–2:,E‰}@�@�@�È¡ÀÇlo½õ–i@Éjµ–zŠÅƒ>hÏ>ûì¢"Ü^±(; €� €� €� OGyĶlÙ2çâõxÌ;vÌ)[è¡ÃB2”#€� €� €� sÖÖVÛ³g©wCœvîÜ©__nIèp9¶!€� €� €� cÝV¡žêñ ippÐî¿ÿ~«×ëáV‹Åhb; €� €� €�9PØ'­?ùä“Ößßo»víŠÅK Hr–‹@�@�@�h$ÐÞÞn/¿ü²i<õrˆ³žb¡§Y,4-¼e¡wPŽ� €� €� €�M+ ñÔ»!Î *•ŠuuuÍ 8ÄÛ,’=#’0ôtHj°Ž� €� €� €@Î’aƒ‚…±±1»té’i=9 ¤ÖF”J¥9åI>B‡¤ë €� €� €�äX@·J(\¨V«!h¶ñññУA!ƒ¶ë‰êá ýb‡¸œOGè0_„× €� €� €�äT@Âwß}gç㉉‰ÐƒAã9¨7ƒ¶ÅÐ!.‹Åbèí@èÓ0\6 €� €� €�KµX[[[.ttt„Y=bo-c¡@b`` á §CC @ ¼þúë¦d3vR‚+-U)Ý\·n]H?U!é¾.MÚ΄�ä] v?UݨºTs³Oj„jÖïØ mökæú@�ÅbO�Õº]Amå‘‘‘pƒneÐvýÎÐ÷]ì˜ÉíÛ·o·Ï?ÿ<Y´èúüvýÅ‹íùçŸ_ô}ËÙÐa9Zì‹@Êå²=ôÐC¶yóæ9ÂQ…¨m_}õUX*|ˆ Kj›¬ÀrÈÆ%#€�A@ƒ¾1úþÔˆýlj²]m·Éj«×‘~/¬ïQðG ·§Zå´ÞÞ åæK­ûÿ§¡¾¢}5i¿ꆥ¯{Y‹þðiµŽQ¯ùç~z,šžšÖÙ9e½¥KvÇæ²Ý¸q¿î ¿#ÂIò C…qV;Zõ¢~Gèñ“úÒîî»ï_æ¼B×ÿ®dÒ-»víºì[uú—ÚYë:—ï¿ÿÞ>ùä“˾ÿJ6:\‰ïA G Ô`V"«uURª”8|ûí·!™UE©Þñ¾.-CƒØâ2Gd\* ô­ÕÐÐ}ðé);[î·_ß¾Ù®XcmþÝéòA_hõvšµúuõ™²š—×ë^ßξVcU„÷0ó}õÁ^ïQØÐêiD|½Zǘ¬ú9(tðs)øEMŽ{Àr~Ä=mGÿÇ~ûWׇqú=„�äQ@ì5i{Ài©zQ=á¾üòK»ï¾ûfŸQðߪӗۖîîî^¯Î#œ“Ÿ–¯…s8þ|hÏ/é�ËØ‰šXìŠ@TÑ©"œœœ “^+t8yòd覊MƒæØV¡C2xÈ£׌�ùP=©G‹½{èŒ}=Ôg¿ûíV[ÓÓåAA«7í<pðð E!B­`í ÂvóAQ_ÎÌÚGÁCÁ­šgB‡6¾Ãtàà÷Õ®â1¦¼EÙâçÎÉÏ£Ô]µÒš»½ý˲M|zÖžû‡^ëïï§ÇC¾ÿÓàêȵ@ bè ß ÔnÖGÚàà`ø²¯ W©Ã2¦ØN_ê[bð óÑ#1õ¥¢Î%ë‰Ð!kQއ@“ ÄŠ'TB~nÁĪõíõrˆ½ TiÆŠ3†Ë­,›ŒËA�œ ¨ž<vò¼}ôyÁþîo²bGÕ[ÛBO…)¿AA‚·5­êáB[ÕoãüC»z7(tP¹W·a©×aöתSÕlQt¡ÐÁËVßÞâ/Vó:ߢŸK­Õ¯ÇÏÓ ~­m>¦Cw«Ýö››ìßöýÑÚzÞðAÆ–ú-\NÿépÙ ФÉøú¯ÞpqÖwªß5¾Ã©S§lÓÆÖ2S&Ž=ÌzšÄ‡~n£ˆíô$Yè½,ðu}yøÎ;ïØŽ;¦ë`¯§Õ»!ž“Âå s¸mwB‡y!¼D�¹1TPºÝG¥U+X•’Bˆ:¨—ƒ‚‡ØÛA`¬<çW €@ó ¨1©gšÿë¿_4è·KÅN»To±ú¤7æ<1˜òè~7‚í0Ý£aÊS}±¤ödò¶ î °A!EX:ˆÚOûǺ¥A½ Vó K*êéàAŠ·“½ì„ŸûX­ÅFZ:Ì®ï·Ùýwzÿ]Ò¨¡Üüÿ2¸BÈ»€êðd/…šU'j›ÚØêqpÑÃõëÊøvÝ‚ñæ›oÚ™3gì©§ž ÇJšêË?þ¤²ƒÚgŸ}fÏ<óŒÝ{ï½³»(pÐÏÔÀ–±M?»1£B‡Œ 9 Í* Æ¡…P)VÊ^‘M4£J)q•ÑÓ¡Yÿ%p] °TÝ’¦o¢ŽüàÉÀú5ö‡ÓuûÃè°Ýîßú_[,Ùˆ'ã8\ðè•I³=SþA]I‚ׯÞVœôòšßvá÷`Ø„72˾÷õUÔèC‡¶Ý÷-úRsû̼šÇ¨L¶X·wq(y˲Ëç?¿3劯øú¼~­ùñRp¹ZÚ¥þý° °±W€<¨Ý¿¨Óvµ¹µMã©)hˆ½‰ÕÃxÿþýöÅ_ÌžºzIÄP"êx æO*ÓñÏ;go¼ñ†ÝsÏ=¶{÷nëëë ·Q+tÐÏUÛ^sÖ¡CÖ¢&Pe¦ÊPÕÄD9\Öc£Qƒ*'½Ž¡C¬<c÷¬¸l2.h( †›ƒj]ÞÓ¡ÏlMÉn-µZ‡ßnPñÛ JíÞÖƒ‚Nÿ,^öêÝ>8¤÷Po…ªn¯ðöbÕg}^Wà0áó¸ÏêùÐéÝa‹PµÿÌ\ò,Bï_Íc W¦Ï«w&<ѵ øïbqÊþÔZ±±É>»à”)ÀV£X¿;˜@�¼¨í¬IKÍ 4«ÛÉúÝ¡¶´^k›z«g±n¹xõÕWíÂ… s¸Tß7èµzKÌŸT÷ê÷Rœ^;vÌ^yåÓSç´MïsÜ/«%¡CV’&ˆ!‚*CUFz­I Çx[E\ª,V ÚWS\†ü�4¹€oª û6vØOþÕÿ]­¶ÅQÑÑáîz½¨`aÒÇq÷dA¦^ï±à-²°Í_ëÖ õx¨øzÙÛˆêù "Üzá=ôô Ï-ÂÜæ!FÑG— ½VñkýÖ‘vüK:ëðª_\Öý>’1ìáúñ‚š¨X߆Òl@­†5 '8h©¶´‚µ‘õ:†ÕjCÇv´lT®Û,|ðÁvøðáY2 ÚØ*Ÿ?é÷’~Nœxà{üñÇíÒ*×ÏÔ9Å6Ü/«%¡CV’&ˆ_¬ˆbÅ+E5¬5Ç^ZW¨íšU†MJÅe!€�A@!ì5×\c¹ùŒ}t©bë{JÖï½züÖŠ‚wO˜ôÛÔÊÞ&T˜0>é=üö  R2Nú¬/¤¦{:øcÌf‚‡šn¯ðI½4{牟o±e«wŒÑ:xOŒ¢Â›ž¶Q³ê¤ÿÓR³ Þ~hãôóèå£ß)L €@žâ‡~-ãyq=@Ä6wlSëõºuëì¹çž³#GŽØÛo¿mgÏží‘4Ôq uÕ&ß´i“=ýôÓvÓM7Íöºˆç¢÷Ævò˜Y¬:d¡È1hbU>ÉÊO•£*³ÎNïä›HFã~Zί°šø—†�)}¨Ö£!ÿvÓ·öéѲõ{7„µÖåƒ/ÔýÃø¤÷t(zà /£Z=tèí™îµ !D¨‡ƒ‚õr(Åu_*ðŽ!p=üù”ÏÁ³Þ0ƃÊVë¿–ö0¦CÁo#ñsô-Lù7yÕN¿¦ªmšªØ=ãvÝu×…rú=Á„�äE@mæùíáùíhY4ºe9Ö—zÿ¶mÛì¶Ûn ƒBª=·EG'¤ßAqÒÏФývîÜi?üðœÐWƒÂM 9®V LèˆùP壊JKUn±ÂÔ“+4èLOOO(Sy£y¡ãRŽ�4«€êKõt¸}p“ýîâY;qªÏn\w?6Ó¯Øo;ðN Öâ=ü šútîÝ[}�Fÿ îBàPôpA½ÂR¡ƒ*ÙâD ¦>èXèá0Z¬æ1ê«Â¯¥4sN Cô(ÏKcS6òãyû›¾3vÇ-›‚ËÕjÔ6ë¿'® ~ù±ý¬ *‹¡>øk ¯ 1o4Ç@ûÄ÷KBÛvíÚÕEû%C‡äNO<ñÄìËFèçjÖû@ègÆsšÝ9ƒB‡ 9Í,ÃõlPE+3-5B»F×Uå§@"vÏÒ6M±Bkf® h$ zqË–-ö×?ýdíú/;y¼h7üj­u÷z=Úé·¡y¯�  ²M·Vx‹Lc5hI¿+Áê¾ÍGÑQFá=|ßÏ;H„©àûê}žmxãÐCŒ™÷®ê1jþ-žŸ]x$¨Ÿse|Ò&F&ìôÛ¯&ŽÛÝ7‚‡\ô»‚ È«@ ´T}¨1ÔžV[Zã7ÄGÒëÜ—cµÔ§OÄŸÏA?CW^`˜Ða9ƒì‹@Ô@TØ Y•¡&¥ šõZÞѳ‚Â-‘HÁC T–\û°D�šU@ ŵk×Ú]wÝåß:}mÇþ|ØNž¸ÎζöÛDK—Õ >¶ƒz1¨7@¯÷XPOŸUÆuðÞ a0Iß÷S¹¦ÐÓA= <t·Wøº‚‹Õ<†g ?Ÿ‹?ë³sjÜúª?Ù­mgì–¿ݯ½öÚЀ&žþ{äOȇ@²ÎÓºfõ.PØ Û!N:>èkÜõ Ž=¤³Üöórö×¾ú]¥eœ5àäB=%Vò·Eè°=Þ‹@& ‡Çï¨BJVœºüXI)xP²ªFv,‹ÛsÀÄ%"€� ÔKlppÐëÆÓvã?zPûŸ¡—XM£ˆÓH\YdéáB˜t‹®Þž8Äô†%üy51sNú–,Œkq}¿mØp‹­_¿>„Òº% È«@² ­ÞCCCá– }ð×6}‘§9NÉýcÙbK…»G]l·†Ûc;ÿ†nh¸}%… C‡½{÷®ä˜¼šD Ö'Nœh’+â2@�Õˆ½ÅVÿL®Þ¨A­ÑÕ53!€�ü²¾þúëLO8:ìÙ³'ÓÀÁ@àÿŸÀùóç=)ê‚E‰Ø@�@�$?oÌ öíÛ×`wŠ@�@�@�@�å h áßø|«˜ùÏË;ï@�@�@�@�Ò>8æ?Íötxá…Ò{P‚� €� €� €�\¡Àlè°mÛ6ãî+Täm €� €� €� 0+¥NšÝÀ  €� €� €� …�¡CŠ@�@�@�R„) @�@�@�@ B‡,9 €� €� €�¤R$ €� €� €� €@„Y(r @�@�@�H :¤H(@�@�@�@�,²Pä €� €� €�  tH‘P€� €� €� €�Y:d¡È1@�@�@�@ %@è"¡�@�@�@�² tÈB‘c €� €� €� €@J€Ð!EB €� €� €�d!@è…"Ç@�@�@�@�”�¡CŠ„@�@�@�ÈB€Ð! EŽ� €� €� €�)B‡  €� €� €� …�¡CŠ@�@�@�R„) @�@�@�@ B‡,9 €� €� €�¤R$ €� €� €� €@„Y(r @�@�@�H :¤H(@�@�@�@�,²Pä €� €� €�  tH‘P€� €� €� €�Y:d¡È1@�@�@�@ %@è"¡�@�@�@�² tÈB‘c €� €� €� €@J€Ð!EB €� €� €�d!@è…"Ç@�@�@�@�”�¡CŠ„@�@�@�ÈB€Ð! EŽ� €� €� €�)B‡  €� €� €� …�¡CŠ@�@�@�R„) @�@�@�@ B‡,9 €� €� €�¤R$ €� €� €� €@„Y(r @�@�@�H :¤H(@�@�@�@�,²Pä €� €� €�  tH‘P€� €� €� €�Y:d¡È1@�@�@�@ %C‡©Ô @�@�@�@�+˜Š¡Ã•‚w"€� €� €� €�  P„� €� €� €�+Pè [+¸½bå–@�@�@�~àöŠŸ-XC�@�@�@�,èé¥&ÇB�@�@�@�(@O‡(Á@�@�@�² §C¶ž @�@�@�¦¦Úf$Â@’{÷î@�@�@�ÈB`ªàGùµÏ·LMMíËâˆ@�@�@�( O+t¸×ç[|nM̺í"α\¯µ,K•iÖ~šâ브eÉ¥Ö™@�@�@�@`uÂþ£“K­ÇYgUK¼®ûzrÖ~z­}4'·Å²šn¯ÐŽ'|Ž!B\*DÐz\*DˆÛ´ŒAƒ–šbY ârzëôŸqßdë €� €� €� ð+ , 9Ű!¹T Ie1€H† *ÁCr9»ÏÿÑ´;ć»����IEND®B`‚��������������������������������������������BoolNet/vignettes/pajek.png�������������������������������������������������������������������������0000644�0001762�0000144�00000205405�12732246464�015444� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������‰PNG  ��� IHDR��Á��Ä���§¥P���sRGB�®Îé���gAMA��± üa��� pHYs��Ã��ÃÇo¨d��ÿ¥IDATx^íýûÓ}ßUˆ~þˆ®.«Ž?P§ê�§º Š_úh—Óˆ4è#$à¥Ý-JÛJsK¢¶DúÈ!"ŠÜìnQ!! ’È5!\BÂý’€(ÍYï»>ïøŒwÜæ˜—µÖ\k?ŸÚ•ìwï9Çãc>ãYs¯½¿O^ÿÆ·ÑãCð� �€��@��ÇüÞßû{Ïïù=\6?ù›¯þÉ×ÿàO.Ã>â#>âÛ¾íÛ~ögö½ø€��@�� �€À¿û»¿û¿ðËÿ—ü¨ÿì?ÿÏå¼<ž|äŸ{Å" ¿ð ¿ðïxÇ—ýÓÄ� �€��@��À›~ý·¿þ‡j‘ÑßùCoòió–èE@ù?ý!<€��@�� �€�ðxý¯þÖïý½à oú©'Ë!ôr Ç—ëá€��@�� �€@ŒÀ7ÿÂo.÷Fßièåè—ÿ³7á€��@�� �€@ŒÀ7üÂo-_1¼ÓпýÛ¿ýÿüÍx� �€��@�� #ðµïúÍE?ßiè凯øoÁ� �€��@��¯~'ÓÐ_õmoÁ� �€��@��¯ü9¦¡_ùí?Œ�@�� �€��1_úŽßzv/ÇW¿êGÌGíOk{vð:�@�� �€À<|ñ7¼áxé—â_ü[c‹ÍÅòæKüý¯}õ'þWô#ÿ³ÿëØÇbs±ì%ëývÝ ¡_ûÚ×¾ýío"{žÊ€'@�� �€��ö¯~Ñ·}ç¾ýçß=ö±Ø\,¯‹î°Äó¾úí/ÿŠß|ó÷},6Ë) ý^ý£æCHäE7¿ö•¯|éK_ú’—¼ryº<yãßÈÇxvð:�@�� �€À<¼ð/}Þ¢ž¿ó-ïûXl.–×0wXb9~~Ï}ï/|ýWŽ},6Ë^²þÎO³sèøš3¤—#çWÞ«ç/úK÷ÿ>öc—'Ë‹‹†~ã·<“Ñž¼€��@�� 0/ú´ÏÿÉw½ûõo~רÇbs±¼†¹Ã‹Ò}÷|÷»¾öËþß?–'÷õ•åïž<<§wü鬯}ù³‰›‹e/Y/û)¦¡ÿÑkÜ|¬zÑÊË©ó _øÂ÷yŸ÷Yž,ÿ»ü{é‹Þg}}ÑÖ$µ #ëž<ùàOü‡¶ý‡ñ¯úÄÿâÉÓÿÅgýÝgÎ|åG<ù„¿úÈ·ånMü¯b¾«—h02dÊ‹ò8OžüßþûWyÉR¯÷ƒ³ÄÕ†-ÝéCçôT^þîÿÁO>ú+ïГµJeIEø¬P?âo1ãlâ_ý誥<LgÖ€��@�døä§ú¯óÈÇ¢¡Ëk犗øÜ/úê?þñÎ{,ïzŽñ%¥ûëÿæ ïü_òìñ5_òÎåqÿÊ—~æg“ýå¹ùÊ£¹÷³~î|Ébs±ìõß¿ñ“LCÿã×½Õ|¬z9k^ôÇ~ìÇþþ÷yŸå±üûýË¿÷ùý_ôEwGÑ‹†¦£•‘ïø¤~Îû>yÎ'ý#ÛþÝøôÙïûäÉG~ÞÀôÙŸDÏ_÷ÖOÿhöÖ“¯øÈGÖÄŸþ*N€‹j‰#€5¯?% yóäÉG¿"gVƒÓW>´PËŠ,ºÎé<•Ž©¥üþ‹ÏþÂ×}Ç'-Wqý<^]_ø?<g…šžüãÏûì§•üyÏ{òäyŸþ´¨D‘/¦Â‚÷K1—Ö£êë �€À¥øäÿño¿í]ï~í›ß5ö±Ø\,¯-^bQ·¿ëÿ[ÞõãK,J÷×¾ûõïøª/zÇ+î?ûðdýs1Bç¼Ëóÿ阮xåg—)÷#Ÿ>–é÷›‹e¯/ÎÛ˜†þº×¿Í|ÐÂ/úý¿= ]ž,Šù%/yÉr�½BË·|Ë2fùßUFK#Ÿÿü÷ý Ÿóž<ç…_kÛÿº×¿æ…ðä|¾÷îÛ¾îk?ç}ÿè+˜ÙW<¶&þôí8ÞY–K4 ìgßzˆ%yy÷Éóÿç”M N\-øÐBM+>‹®s:O¥mê‹ÿÂsÞ÷/¼æ¡ÀøV™æl¤.òÏþ“GE{TEa] �€��.Ÿò—¿`£¯yó»Æ>Þú®÷,–ׯ/QÔОc‹Û´Ä¢tå ßñ3_ö·úËï_öOîþü’¿òéË*ÿñáŸx¾¼û3÷³Öÿ½|Áú|±¹Xöäñg¼•iè¯ÿη™ÒЋh^Ôór#4½²Üñ<¿û–ák_»<YïèxldQ!ÏÿŒï¼W_gÛÿú¯»S„Ÿ¡WÿÛÏòŸóÅw¯/Føtaþ¼S<ë¿?ð·ï׺³¼þ[íßüóœû?Å`k‰¿ýtúbí‹?u™u÷ï}?õ5÷rØs¹¢^¥ìá=PqÈ÷ÚÎŽQ¬H¾-Ož<ù˜çßýïúïc^ñ¢ƒkh±?Ä+üY=LÆÂ±â³X ¤ÒÍ-ðREÝùÔç?Α(€{xìOK.€ÚÉò:qÉõ³úTEþì]§ìíæmC¼€��@`8÷÷=¯yóÏ}¬zõvyòÖ»£îŸ7¤¡ÅíëÙôý9´=‘/±jè·ÉËÞþ÷^¶üïO-Oî듟ú{/û{ÿÓ_YLýÎãË+ËëO‡ý½g³žÎý{/[5´‡ù_þ‰÷<û}èo|ÃÛ͇þ]Ž»»;tóú.‰éåù##_ðü'óÊo|Ã+ÿà“ç¼èëlûßøu/~ßxñÿG¯¾Ì¥×¿àùïû©¯{°,¬=üùt-Z… {:}yeÁ÷väà»W/ñäéêËH>ëÉó?óÎUî=W+ŠUR>�…üº}À“?øÝXÇÛKÐxíùjçíwYxš£;”žÆþìEÏA—åÉ3ˆ5‹yû™³zXÖ å¹^® –J»Ï¬ÎѳÐu¸˜]sº>Dfé-Qu R»È…Y§øMçmF¼€��@` úú;ßýoßñeÿû÷™¿ü×¾$¸Yyy×›¸Ø\,¯~ÆK,öáþßò„¬™/еø‹Òý±—ÿÝñ‘<þúý#dv]ny%ž²Ø\,{hê3 ýMßõSæƒkèE+/7lÜðî¶ úÇ%šùäxÎ'ýböNÜ?±_ÿâ÷{ò'?ËYýaÊ+ÿࢧŸŽÖþ¼³óäýþâëŸN¹ÿóÙ¿yå#7Äà;ËÞ|9zn½¨W´\Êzèú³¸úú§ÀW¼Gþý>€ÁÂsñùÏZTìß‘Ézxñ1>:eÚ<A"ÑË[ë+àÅð(¿Jå”K‡]‡äÃjÍL·Ë"ÙïÇ?äB§×²/<f �€�ØEà~Ï¿ãåÿÇ÷›~ß°8Q]þ\Þõ&.6Ë«{ºÄÿùý/·‹‘Ÿ¹ÿ'Ä:½hÎZ^üžþ9ZbÕЯú¯ŸûíõÜW}ÔÓÿ]ž¼ê£>äUÿõ‡,OþÆÇ} -´Z^W\^¿°L¼Ü¿›òÜõ±jhOÿùcú›ÿõO›Zü 7ò‡¸Š}òÜOùs‰×Ê>ùC×^¬}öÇÒ˜e<3õ /Y$øg?8ÿ%é¹ËšwÖ¿~oçïÿ¡Ç><|?-ÁGšÏ­ïÌŠUò:þ°ÐÊ+.~>y¿|î“ýûH2ÏOXއö(5ÏüÑëFh?´¼]Ðx¿¿ôúõï< ì8ÁªÌËÉx˜û¬~ «4¶ú]áÉ«œ*sY‹›-”··ûð:�@��íø3åï|ïüÜW~ëÍÇ¢2ßêÿ[Þõ&.6Ë«Ûë¯øÖ7šâÞÄïý‘wÒ‹ÒýñW|ñkÿøÿC=þ«å•¿ù'þ8_E<_Þµ&Þ™Zl.–=ðÿÌ0 ýO¾ûgÌÇb~ÉKÞûû~ßÝcyòäÉrôÝ“õ±¼¸¼BÏßû^ËÈW/âõOÓjŸ?Xñ _p'|¿ðáÏozéŸ^ž//~àK¿”¼ú¦—¾ßÇ}õjüÅ÷„Þº{þðúúî—~ÚsßïÓþåýBOîŸP\ÆÒƒïÇ<[Âs˜^ÿ—zÑý«ÃwίÑéŸ.ýh•¼‡®?„Uqŧ/(=@!B{0µ¬õä/~š ‡ÁÏ^øÜ…¯°õÐ~ÚãY÷˜à þÐRy˜–=xɲ™¯Tü“ï^V¤Õe}.‰[«‹žÈ²ôªë..V½Îæò6^@�� °ö¯þÝxë/þÃ×ü¨ùXäæøÿ–w½‰‹ÍÅòêÿK,J÷m_óeoø¤úÎOú#Ëã /ü¨å9=xËó—ýÉç‹WÞ@S–‰wsÿÈ:w±¹Xö²ðÂË4ôÿþ=ï0O5ôªžWÑLzýs•Ô«¶~ï{-#_ó‡Ÿ<÷Ïüo«}þœ­ø¿½ôýé8ï_úeËÈ/ºÓÐwOž>Þðg>Œ,ÏFÓ˜eüÓ/xÉ:…Ûü¸¯y´´|7…–ðf¯“…{Á³èÄŠb•*¥?„`Å(— ‡ï»Çê%ËUÇòïÑ£ýá»;Î_þýá/âUÁS°X~úïémæãY«?«3OÂ2›ž]â!9þqì+~Ù§=÷ý?í ÷Ùg'ÊOëêáEñ§ˆ]ö’ˆGAÙ›ËÛtx� �€Àü¹¿ú…oú©_ý¦ïz»ùøìÏÿªà~èå]oâbs±¼ú¿Ã‹Òý©oüûßóß}Â÷üwÏ{x,Ï×??áó_øBŠby¾¼¨^y:ò~Ê'|ÏŸjg±¹Xö²ð®¡ÿósæãÙ9ô"‘W-d4B/¯¿÷½ž¯ñŸzÿÿñ»Øq"½³¼ÃÁêú­ü¹×¬ßbÃø¼ô=ùÃ_ì,W…UóàoyéûàK¿¼yº1ñ»î®÷< G.t(n� �NŽÀû?Ñÿìo WV‹ÍÅòjv‡%¥ûŽú?ðWþÌ ÇŸ]í,6Ë8ÿ–w?û]ŽÿóûÞi>îwãµëó€¦9ÖWMÏßû^Ï^? ÿðÿùäCþì·ØÅ0>„oùkïÿ_þµ—;µ7~9g¡—ÿåyòÇþá¨å–«‚ÖFy;@�� �ÿïÏøâ}ç{þùþÂØÇbs±¼®µÃ‹ÒýùïøÖ7½ä/¾éÅñÍ/ù‹o~ñÝ“§—|êÝëwo}ꛟ>_^ùÔåÏû×ïŸÜ?h=Yl.–½šùcofúŸ~ÿ;ÍGíw =;xý$ÜkèbÃоëÏþ—Ë-û¬µC8X� �€ÀÉø´¿þ¯ùÞý±wýæØÇbs±¼j†–øØÿû‡¿úå_ñËÿêuc‹ÍŲ§|>æMLCë¼  �€��@��Aàk¾ýÍŸö×_þç?óûXl.–W wXâ+^ù­ÿÍû~èrf<ö±Ø\,{•ðQ?ľSøÏßøóx� �€��@�� #ð‡Cÿ‹ü<€��@�� �€�ˆøodúÛ~èñ�@�� �€��@ Fà#V ½ü[¾8¨‡þ§ÿô^<€��@�� �€À-# Eòïûw?ýoE˜ú?þ§ÿô»ÿ �€��@�� p£,z¸ZCÿÎÿï?þ»ÿ»x� �€��@��ÛD`ÑÃÕúßÿÎï¾û·~ �€��@�� p›,z¸ZCÿö¿ÿÝ_{÷À� �€��@�Ü&‹®ÖÐïù­ßùù_þwêñO>ñɇÿõïÕ¯OðÊ÷~þý7$ïÿ}èç·á|ÆI?À¯û2ÿ!ÿË›-pÈþ”#ô¯ó;LZçVÈ~ò‰_ׇvõêÅåîÝû¤Â7$M¥u+ʆ™š=q¥¨{Ò÷ ±OùZÏÎ0|tUÜ…öÝÿˇ?Ùkãüõ-QÖ H;§m™¬žDc.�@à ,z¸ZC¿û7çç~ñ·Ôã[þÔ“é÷è×G½Òjÿ{>ÿ¹Ì±¯ù¤OùÃùŒ“Žÿxicø›^ú!Ožû7Þdá³.ÑÅ#ŸŸù®¿ñáO>äó¿«1¢LÔCư¨ïàʤ`PIçïÖzî‡<ùSÿ˜ÆçWÏ|ìÌe“Dƒk®PMfï6òCå|Ïç¿ôY²âÊLY«BpÚòâòoS¢Ëãç +ÚLP€��ÃXôpµ†þ…_þwoù‰_Q¯ÿO>ôÓ_­_õJ›ýïûô~ò'¾rˆ¦Êþ«ÿæ=yá—ø¬>´E!üçF†‚O`¤Áá=ãº_ë+ÿæ}ðßügO—_=?’ãsHÙ4d¹-ºâBMf¿ò…Ož%¨¸Dÿ€;'ÿÄó>ôƒ>ëûžqÝâÃó^¸1ÑqÏc š`t©©1X�@�Ü‹nÓпú–Ÿo¸o-^üÒç=Ürð¼oxËO|ÿ½œ}p×?÷Ÿ-F^ý¹ô0êá]nj}¾ü/7¥Ww^¹3¾(ZÛÛ¥A>¹÷±ŸËàûE¿ò©côY߬õ¢a sÅá~üg½põû‘‘WP(<ƒ5>O—£ˆªK€&òÌH*ËwvÖÏòh`ÖåýQêrôàÉ}Öç>”ÓŸ^¦–Ä5³¹«·t‘¬™zõ]<NÓ½…gà<Eò阻@>”J÷IՊŲyT{¢ø‰“U7"qwxÞÙaá/û×Ü)Ï#ûWÚÝZ” 5¹þ>u7`mU,K¬[;À¿Hq&evº&“gUñ4#Æ.΋‘@�� P@‹†þÅ_ùí~Û¯©Ç7|ü“ýŒ×è×—WÞzÅ‹ž<ÿÖ‰_þü'ÿŠõ­õɯýðk>÷ƒŸZà¦èy`ß\ôÁæs>÷_ܯø/>çéÝ…÷NÞ­ûÁŸó£àk=y²N|äÕËK O^ôåë»öLýÀg<çYhOã¥ñ~ígPÜõÔÃê/º ÓF~ÍW:̈U�ÿwK<ý÷P�Ϫb‰nu’yrŸ¬gî¹™"— ÏùÐuØ2W±Õ5fUÝ3'—Ô/î €jìˆTYÚecÔm®GUjí'²ê†$îY¼"|{§˜Ž=ä¥i/ß!|·¹–OߌµOŸUŽÚ€Õ»ì©h³‡øGê¼Ú‡uk¸dò´5‘æÂH �€�¨F`ÑÃÕçпø«¿ý#?ùëêñÿäÃ>ãµ_ÿªEk®ÿÖ·–1/zùÝÜoüøç¼ìÛ–'¯}Ù?}ånâËaýUë02EÏ-û†xlŸY~lÍðóY,‘WÒþ²úÒæ)Ø E1–g–¹ôoÅó1hw^±ÏÿFy9Ÿ‚{³‹ ²²¯ë¿ò€6_K;¹¼²VÅ£pÂL=Lyùó?ì3¾jNøÇ.Yî-ë.•ð®ûÜHÞYdÜ]¡ŠZM¯˜-›pGì™8^œ~øOwJÞ±ŠšgØÞ'E…ÆÊ¤‘tŽø¹/KÉn˜šâÄf¬÷¡H‰¶3ù…0� �ªXôpµ†þ¥_ýí{û¯«Ç7~“ûÌ×±×_w§¿ânä|æsž¾õí/þ°~ñ¬ÿ{gáÙ˜»‰_ñü'ŸðÊå 7EÏ•}Ç¢W–5ÃO¾Öâ|à½û°ô3k…($©pÖUL(Ø‹Q]3¥–{_‘‚§vEpŸ¦üã™o^êŸÃs^öíOÍ&3µ–Ö7~ÂÝÄåù‹¾b 癑¤‡:Ý68OC~å†~@ ­,“eÖÞ¾‰{–n7üo+«)¤§ ]ªh¹Ôy¼4VæL–ße÷5öJª«xã¨fmÆtÈ&ûÅ[ƒi>XŒ@��j=\­¡ù×þýÿÔo¨Ç7-ú³^Ï^_zís^öªeäë1ýðÖòü9/ú„çÐÈeÖ"GîgÝ {ÑWÞY~ãgÝÉÖûïö:XÙ7|Ð^ýÆ«–vûÔ,7¬~ÞyõÁ/~ãc¯¸§?²ÿ0ñ‘Ã4žM”PÎ[8{P÷ȳO—[P$SðÔÔéSpr)xœ;…pòY1ÜgMåݪ¨;gžóÔŸåù'üÉUú¦ð¼«Ã»ONªN;¹`¸¸º"ÙX–÷…ÍsÁË&Y{æÞqªô>S}‰£²á›ÞꊊsêüñŽxåËèåŽî³ïÓÎÅ×ûÚÄÿžÇî(ÎLn~ëMÊ9SS¢ãLv‡Ö:†ñ@�� ð‹®Öпòëÿá­?óõøfúáÝ=Š/ý¡·þÌ}ösï?Ä|î'?ï¹öÙÿòé”W¼àÉ“|ó³éÿòóîoq¼S-4æ­_ýÉO_{Á'?ïáõ»‰Ë?>×pC;öžgÖž:¶ŒY¼¥å´Ÿwï>»û÷¼¯^mò)üù#ûƒ½ñ&J(’á<ò„â}ìÒ3T ±û0Ÿ¡ÇÆ'S@IyòɯȺª¡{Ïw¼ôÞ<÷ó¾c± |Xâ9/ý¼‡Å™Z<¤’?¯ðð1t?sïá#›ŸÅ¿àó ïkûYCÊR”ª½÷°UâÄYUÚ•¸g÷!<ç¥ß¬Â7w Ï,í2UùÕ{™1ÌÓ2Ž÷©¿aSµ! j¾´qVÞ³)®Ž¾øsÙ,f,Þ–gDšŠÔâLL@��‹®Öпúÿá'ö=ͯzÁ“çÿƒöéÍëÖLüæç?ù°ÏùÎÍ<›ƒP“—[pf§Úû±Þ»ú-T#b@��E·hè·¿ã7oø¼ç<÷ó^×<}§‰w½ùÅoh1éä9 Ø„$V74l—Ú†ç±Þ»:¶�@�Ü4-ú×Þý;?õs¿UÿxÓ‹ïníøðWÃܧ|ËŸÜÖÏA±3òXnëÚ‹ð±Þ»úX$a � �N†À¢‡«Ï¡ýÝ¿óÓïüwx� �€��@��ÛD`ÑÃÕúŸ½úûð�@�� �€��·Œ@µ†þuü@�� �€��·@µ†~þ �€��@��ÛF�ú¶óè��@�� �ꀆ®Ç 3€��@�� �n‚†þöúEþXFß6\ˆ� �€��@�¼mQÅB'ÿ¾x÷ÓÿÀï{ßû^hhÔ�@�� �€�”4ô›~ñÛÙçÐ( �€��@�� p§¡ëäÇçÐÐШ �€��@�� ðhhT�@�� �€�¨C�º/Œ@�� �€�� ýª7ý"à~hT �@�� �€�XT±ÐÉî‡~Õ›~‰? ¡Q1@�� �€��@àAC?“ÊÐШ �€��@�� !p¯¡5?ÖÐoþ¥W±ΡQM@�� �€��@àNC?ÖÉ4ô«ßüKôXÆAC£b€��@�� �€À¢Š¹N^ž»zy€��@�� � ¡Q@�� �€��@ ‚†þŽ7ÿàº]Œ@�� �€�¸"‹*:ùѽßñ–_âhè+Ö�b@�� �€�¨CàNC?ÖÉÐÐub4�@�� �€À­!PÐЯyË/ñΡo­>/�@�� �€€F`QÅB'?:‡~Í[~™? ¡QC@�� �€��@à^C?ÒÉ4ôkÿí//×<< ¡Q1@�� �€��@`QÅ«H^Õòò044½ Š@�� �€��«†æGúuÿö—ù€��@�� �U,tòc ýÿü:ö€†FÅ� �€��@��; ýX'K ýúþez@C£b€��@�� �€À¢Š¹H^ž?ÒÐâ=hhT �@�� �€�(hèù#¿ÂÐШ �€��@�� °¨b¡“CCC£D€��@�� �€€@  ¡¿óG~…?p@�� �€��‹*:ùÑ9ôwþè¯ð44*æÔ<¹ÿwêà<�@�� 0wú±N~¤¡ßð£¿ÂÐÐ3ä >4 °ªç÷Þ? ¤�Ä �€��@€#°¨b¡“ièïú±_áhhTÏI M2ú¤Àm �€��@`U,t²Ðпú]?öì =CÎàCíA²Ð8F  pkÔÒæ­áƒx@÷ú‘N~¤¡ÿÕý*@C7@Œ)h»%z` ` �s!ÐF›çŠÞCXT±ÐÉ4ô¿þñ_åhèC’„E æ[2ôDÜÔº@`~úÏ›is~pà!8E }lF°º‹€wœœLŸÄ@Cgpà �ŽB çü˜”wm8ÖgA  ¡¿û'~?p}–¼ž×ÏàÐ¥¿ðž´þ@‡�ªxäSp^äá9�S!œÇ<)~ƒh=/àM}Sg€ÀYXT±ÐÉΡ¿ç'~? ¡Ï’×3ú™9téüP2X¢¸zqÀ1‡Ï@�̉@ð-!‘õA€ËmâD`ÎÔë!°¨b¡“ièï}ë¯ñ4ô‰R{:W3ú¸SÈ®§/fç(®^p:Àá0�Ó"hèàD¹8ke¿N"48vF`QÅB'?ÒÐÿæm¿ÆÐÐ;§çv–ó¨ßD ùø„4t|r£o•®rïv²†H�Ø}ÝNÿ‰(OFLÅi'Ûe –o E ,4ô¯ÿ›·={@CßTqìlƒH]qþ׋«äÝÀH �€@}ZL—÷ù£èºËø†1@�,ÜkèG:ù‘†þ¾Ÿüuþ€†FÑô#à"×´ihoVqõâ€~d`� àJš¤3Ñ‘)‘ù»úÃ7œ Æ€À(U,tò# ýý?ùëü = ÷Û´ß„W{‹Þp ­OS­{·™bD €@Ìmižä¥û:ÌåÄZ—ãg:òiÂH à!°¨b¡“ièxû¯ó44*©ÌQn¦©¬>ŒÕÐd30»úV»nb˜ €À%¨º&×ÌYEDɳêK⌠€À¦,ªXèäGúoÿ þ€†Þ4×6^õbF§fƤ48–ÈA ª–»v*�d8}ÅŸ’ig’ŒZëÌ#¦ß8‹*:ù‘†þÁŸú þ€†¾ñré ¸†®:Š^[EÜ0zÞíAs�¸)ªÈˆKœ='ÌaÎ7Uov;U,t24ôvhßeó£ÆÚ£—"^ùNPÔÐÐE´1��!´ih±tFC{còÌ9$^WE  ¡è§ƒ?p}Õ:WpŸ_ðVðYdà[¾ôhèü*a„) �.Œ@Ûç¢f B»p]!´XT±ÐÉΡßôÓ¿ÁÐÐ;§çŒË{Q©¼�kèL7:c.à3�s"Ðv ÑÐÅ1E^1x&D`QÅB'?ÒÐoþ™wó4ô„)œÊ¥!ŸQ áÛC詊Î� °"`Þóf‚#H,sÙoŽ€Fí,ªXèäGú-?ónþ€†ý%MÕÐkÙZCgºÑ%“… €�ؼ2ί>DCC@çÇH A`QÅB'?ÖÐ?ûî·°4tÓS¼—CàÓ£’“-¡íFޤñO7·Œ€ËUwhnªIjh2…Cè[.Kľwú±N~¤¡ÿí;ÞÍÐл%æ¼ 5t‘æ“àLï‰?0õ,$-Ÿ7Mð�L¢«=AÈËè~ NëI7æE¯"ù‡ßñžõÉ# ½¼ÊÐÐ(£$üx¦ÈÝ[E­BC'Ša@�p´\®½“MX‹áÍhèàºHÂH.� ,ªXèäGúGÞñž»ÇÏÝÿï;Þ Ý�1¦¬'Á™aŽéQØ´tÕ'›Eo‘S �nO.¿÷ÉñÈ“I†è’·jhSy7n9­ˆÔ"°¨â§:yUËïxÏc ½¨gö€†®Åã "‰·ÝÑ‘4›×ÐEƒÈ)�7Ž€§¡ÍÃé$¥l§¡“ÜxN>h@àNC?ÖÉ4ôþÜ{øºbLé—Ñmòz]×»‘#¯ª‘A �€€@@Ëeb›õ(zýÇŸ1,]py«è�� P…À¢Š…N~¤¡ìïY?úð€†®ƒ5™³7obñˆu€Àp‰ü ŸÝ×QdªU‚{~®oe„²0’Yw880nE“N^Ÿ ý›?öÎghè)‹MÃl“ÑmZ4Š ‡Ð›¦ÆÀ `^¢syÍo.ÊÙ¤†è úF aN‚À½†~¤“iè×oþø;Ÿ= ¡'IÛÙÝ(£3¦ô˜Ì+gþ pÍ:8ŠæÇ}AC’q,z³,ªøN$3©¬4ôòÞÃúf exàŽbÃá±wJ”4><j@àbxŠvy½êz…%þÀ-þ` úb¥…pæGàNC3‘¼<¤¡â]¿ÉÐÐógôDÖÊèí4tñ3Ö¡ W�Ø@C“Œ6/æ='‹·j+’MpÚž5€µnE }³Åp@à[ËhݺpÇiÆ’@àºÄ”R¥ž‹GÑæ949À=†¾nÅ!²‰(hè·þüoòΡ'JÝU\‰?»QVEgnä@§¹J! p UwP$ Ç#º@CC@“~¬zÛ,ªXèäGçÐÐз];Eß)£ƒéÅö–li;e€�˜ âAr‘d2™1䉹"4ôd…wnhè›HóüAæetþfŒâÐó<G!°Hñ?’R«¡—pŠÌ“?‡Ö'ÓEãGá‰uÀõ(jèßzëÏ/厎»'¸—ãz0ODùû4’MKhèä¬y�'@�ˆ� h’Ѧ3mÄRTºæa§˜ipÑìxbi p=î5ôª“Ÿ>ðÂëeù4%et¦iŇÐè4§© 8 Ž@@è@Fgè(#¾ÅOC›ËACQ#X¼­ðÂ~Ç{øçÐ(™­ÐÚWô™iZ8„Þ:S°.ŒÀZ3[,£WNãì'Ž¥q4pá‚Dhs"°¨b¡“Cÿ«ÿUzüëÿUhè9³x=¯Ì3¦n$ºýxcÐi®W0ˆ G@Èh72—ôoiˆ­ /�EU,tò# ýí?ô‹ßþ¦ghè" 0 ¸3UièâàQ>Ã�—A`¬[|§0>o ´†&rƒ†¾Lá!!°¨b¡“¡¡O”¾‹»Ú#£q}ñâ@x@`„lÕkvžC¯3‡Ü«'B4¯B@ïR XH ¡QS#ô§àtYwš¸QM œ@`EMl.•¼ã¢GËe´ÖÐ8„W°Z€†nA söD Öʦ865tO{Û3^¬€À¬´P¼7ã( í's¡LÌÆŸÁl[T l ÐД0æ`<íÃè×ÑfN!–G#@:þ½ç5´)£û õ f;º¬°þM#� }Óé?Qð±ŒönùÀg'J1\Û! 4—ÑÉ»;Š÷ZxɵAé…ÄQôºÓµK`<�C€†#Œì€)ˆÍF"^ÄQÍéÁ@`b< ¿»c7 ­µ¸ >â70ÛÄ×nhè›Hóe‚ônÒˆ?î¼Lø�fô½Uwwì©¡=ÍÕ3ts%`"…�4ô($ag'L­ïôÀ;åË�“ °ÞÿÀ¿S¸>ç@˜î¬¡…Œæ„¶ }’ºƒ›WF�úÊÙ½jlÞ'›k¼¢Ù\Ä€@¤>Å!t拆¦lÕð ^ySô'lÐá…) Љ�4t'€˜~ ☙ŸÊðyŒsX�éàÇÒ-†)¾M54_”Ô3¡§/.8x+@CßJ¦¯§þpsí78§¹^®ˆ�WÏô<#Lãsèín®Ð÷£‘‰·X�×F�úÚù½xtú¶ è‹§ánÄ]ùO®ÔÐÉ›¶3Øl¡È3ëb ¸ÐÐ×ËémEÄûu¸í„n \D .‡€Ðâ.Ž"uè[ÓNìpC~ô%DƒL@`A�epzp¬rú"� °ž$åj¾œ]CŠwwìUƒXç:@C_'—7 ŽUn6õ4 à1FFFﯡ—�R\p Áõ¯UL7ˆ�4ô &ýR!ÿ óRè  �Þ'W™»2ŽÒÐDtý§Åæíàï·FÅÛA�úvr}ÍH¡¡¯™WD6F€‹Q¡žã»¢Å»å=$”~õ¼º¡/!ªþ[3Cb p  ¡¯‘Ç›Žbà7#‚7Œ@^F¥¡G%g%LRÒ8†,ìÜ ÐÐ7˜ô«…ì}2{µ87ˆgÔÉÖ®Á$†@²Î“2ú( ŸŽW¥Ïp/G€ V ¡Q A Ù&/mw¸ðè†N€@m¯:5¾=ã =P@¯’Œ~8’¾;œ¦óé¤. €†ž pacÛÌ §&5ƒ`&M ÜŠ@CsíQ ]Èî¡î?36œÜH:Ó8†Ø(w0{a ¡/œÜ› mx›¹*‚¸òª™E\æ:/Êè³kè}t?ª\hè˧ø†„†N&»Y[$íc˜ž:eô%54øs†¢…çB�ú\ù‚·èùúhøŒ;o#À$ôÔ9ÉhM,;kèáÌfÞ¶1|•Ij�n�퀆Þ[XÞLÀ=kVVð-¢½këí‹@g]2z‡û"2ÌV…«¦ÁáKTùƒÁ@à¤@CŸ4qpû© ä@Äm ³›^q\Q\2­J Ð\çÁÄ6§ÓЦÃÐÐØ5@ hèÐ0å`<5\ÔÐø ÔQÚâà Àò@ Z±èÝѱ›†ægáµÎ› AC·Öæ‰�44jâ|ÐMt+ÂCÐ`Ä1ñ|t{ŒSùnaà”4ÈPSFï ¡i“ŽÝ­æ©|,§L?œC€† 'Œm@ †jèæ·`Ì ÞuÈë°&F A/òÃ`Š,¸ÓcHô´IÇîVhè!Ù ° � 28mz=¥ÎÜË1öÈgNpq*?g^àÕ>4hè•@Ä]æùô¨<ÝÿšÖÐm€ŒŠv€Ày€†>oî®ày|Üë½ë©á¸$ÅqRjŸ}hèS§Î÷#ЦW¡¹gÔÐâ2`E² þ,À8;ÐÐgÏàYýmû^B¼¨ÚùYuÿ‘Ï´é¹…K…iÁ‡c‡#Ь¹ŒÞTCóÎîV“�›Ñ8<p�‹�4ô±øßîêqWÈô -Žš¦/žUߎ†&ãëŠÛ­QD~iš…#?Ê'Óc#‹Ïª=µ†SUåƒw@�z±„D@¨7ýó¦ÕÊ» îˆ¦/6NjŠC¡g&ýMÛ?ŠLŽ@‘ ÿi_o½ÁűwÏk81‹N›²WÓÆÇΈ�4ô³vzŸµNåÌ.´/iYýÕ 4´g$ÆN359eº—ˆB\*Ì–¶­Ûÿlñ  ?ªjÆdU—¡ªΫ¡Å7ÂA_UyÇà€†ÞX˜- `Óý®ù“[hh“©‹ÿMlS|g~äÀBA:|,=¶bîQ¨1ƒ ‰N¸G×óÍÆM”z@hö¤j¢†zò㉪è0øÔ@CŸ:}gu¾xH¬%©¸»C·Ý Læ ‹Ï¿ã[;bÑ?ä¶áÉn“ÃÝ€A Ѓ@çyp›‚,2XODü(Á<8oóy1u =ùñÄìÃÈ)€†>Eš®æd²­Œ &%íõq\÷½PÞO-ñ½ï&N¢\'qãj•xvG@_¾V¹Ð¦G“ÌPå‰lž ¬R¸ÍòI5ô²¸©2º­0k,ÐÐcñ„µ,ùΧe4µÌµLãÑ^e~¦Ãk¨m·…dì ݇fOÀ-›aSàn-ãLÇèà !z×·ÅÞ°tç¢ú!ïtÓ�!� b8Ή±ž[ßåç\CÛì…Êu¶X(©õõ0ísÒÔ>ù€†Þg¬²)CU›ŽôHiT¼žWÍÚÜòm±Š±ÖŽèsÞ#WÆŸhèS§ïÜÎ'›Áœñ“í3ÖЦ¼ÙäôT>õ¼Ì‘ön…†Þ j,´)C.M›¥ävû(p©mÑ hèµ’œ¼iÕÁ8X€†F%†@¾ù éLLšQ¥E ­ï¸àˆÐÉ= ð ºTRñï–Œ¶6¼›{X$¥¨še4ùÙoA0‡�]–'!âÒSLës•?mƒ½#•6k˜:€†îÓ¨Ò”¦†^.ªð*m~2X\¢Ø“¸Å;OѬŸ ]fÌ‹€¨ç†òîW“ý ¡‹–¹¡�ŠKc�Ð@C£*ŽA`”†&;ñ'•æéEчâ�¦x±tðSÓ»ñ~íBµã))¬ #P[·I}ÀÜoÎŒãd6EÔt¢Â‰EÖƒ•¸)œ(X¸:?ÐÐóçè²ê#^¯ñ×Åó•1½f)ô«æVíƒ8 ÊÜ.Ÿ‰ LWwæý¼¶ØÙ±ËÖ:;¼®ÍÜZF=©ÕÐí—–Æ•3zžûƒÄ´ó � }ž\ÖÓ@à Qh;MyÇ;)—#4·Š‘uóÓšŽšxPU«tÖB•†Þӱθ0˜T|'†Eù›±Ÿ1’ŠNgÅÒ™U2Þî9&ÖЂäñÃ{¦æ6ׂ†¾Í¼ïuRærZôh¿žW·42æÖà&BÃ9´¸x¨=íîÌ_²û¢!uâŒéS!‘Œ™1Å úd,ð‚ŒKÅËû¢‘@CÏø@@C£6D`aIÊõ®öIh茼Ò<ø®ç4ž~ˆàÙ(+èpÅFÅÑ8꿼 ½aÑÃôÄd*?£_‹!öÉÏÍ„³ºZä¥bD“ (^9ˆÖs’�áÆ¹€†>W¾f÷–s:qY’Ô6ÕÐkÑ·%>´7×LF±WyêÏ[&ªZÍ^ßðïÄõ?Ju5ÛÉO, JÐE^:Ebù±ˆç0?¤ÈÝ)‡“"� =aRNé’f®U,z’Ñ ‚õèOÞ¨sÄòN4“[Í&$˜º6šè^ž5z}Þ¯jÒ{:vÊÒ‡ÓçD Øù „Þl$?:VÒâd$ì9+^€�4ô _rI! ‰Üè*"µäÕÒ6–wž>æv´`å<Kò÷+‹é¾6Èì ž×3õÚ^Ò0å’EŽ .†€Wص$Pr ˆU­žÙ›æ˜ªU¢ØbŠhÉ%t+INÄ0 PD�º” -«ÿ›œ¿2ß’~&ŸÕ­&òñä(½¸JÆõuñ¢©¿Iãj훼¥[Ð?-ì öéj™¦+ÎopœSÞqZÌ}7j3ÖÚiÏÚ4À=Óž×Ð<dÑžjÞ3@¬u: ¡O—²44‰×à¿-¢›gÔ°)—͵H:sLV5Grý T²©¹cf߇ܛ5ô:1ÂŒ5 Ÿ€€€Þ£6c­ÚñDzAzµÍ†Uf(Ÿ¤†h6sŽ3C¤ðá,@CŸ%S³û©U©`+R¨EúæZ-£Dyÿóı°cÞ›¡×”TŸÁ�7èù°u¦“Q˜—+ÉÃø­C€} °bk™*éC•ªÁ|“zÍýÞ°J2ØM‡ACo /Œ7 � Ý�Ú£)UФw±‰çs*ž ¯‹ˆ‘Úöî Y^ø ñú§'^…Zõ†¯Wߣ¡é§�«V¬\ÄŸ[+Šþª¥1Ì@Û•sW^³æGŠ} ­/ûé\üÏ¿ïNê!4t{â´jl·u•™â(WÐz1!£Í?›5´þµX‚×&G€°.§ù]Hmþg[Mú™7ÎGÉu1 œ"*ûª+OfrÓ%‡™ö ÝìÏlù2‰T8©qÐ}§3›³ÁD�º|­Úm]ef¬’óˆñf \N¦œÍ%ô‹žŸyƒŒ‘óÞw —¹æ˜}Kò}ZŒÎU*q\±ŸÙw™1îž.4mö,t`â© ÄøÄêÀаôI€†nLœ W|Sã(D-Áæ!ŽTfq.‰QI©!7¼ss®ž^["Bß dÈOíðÚk´™“*´ŸÚJÀøó"°Ã•kq@ñÒ=¹‘Oš—6 ÍQ{]tRáö@ ¡ÁÜ‚a]™~_ƒ†.Î:˜ SA4Ò“ø«pò½]±.Y0_7ìi¥±Ã=šÙν´1lÀ _Ü8ű†&㜣mö¬²Ôy›z‹œæÇÈK"� ÝžV\Ñ ì}æ)ÅXÒ ±ëýF‡6¢©–Ú†ÐÜâu’àíeÁ¾ï(Zš§¡É¥~6.©¡Í.{ÞÖÛ“M̽Y<†ïÙÁܳüì€çkøFNÈF5kèb°ÐÐåå–ÍBC·ge“tO»‹{ÍÌ@á)Ÿ©e{KMlöa„ëf=~H'ãç@ÁsÑvèOÉ%ŠÝh¯ÊÂ:@à0Z3i'é¨Ç0C˜G¸‘3$ŸD yX§†^5ôYL’›ÝÆÄ #� Ý›ÜÛÜ~"j“˜4²Ä€\Å�òF%æÆ´{\+kåJÆým,yöLþðñCV :³ÄÀ¾Û»»0@Ìðmü¿Ýó¨Ï¼’¯‚6IòU6k: ©¾ ¸ÚRYÆ_ hè‹%tópÊ|%NóʦìæryUœÜˆž®%2×ßÚÚpËÙÜ|nú Ä·€b¿·iè̬Í+ �YˆIÌ;MÐ{¼?>ÍCV:øý(¦2¡¨ÒÐk‘“3\ô'D�z ø·#24éäéuźJFóæÄ¥0)ÎŒ†æërÖj{H5Tih¡§½«ˆQ·  ÕPœ57gG /¦Åž¸Å¸@LÊ÷"ì’_×ÅTçIŽ*Bš ªˆ Ü8ÐÐc  ¸]Ç,s´tj¯æ…ŒâXœ˜b—ϲ• S=L¿KŠ|ÀI TðµØ!؃“þÖÔöÔÃðN b9;p—Å:>¹æŠ"tÖ† ̘£ŠarÅŸùµÓyL¿*ÐÐÃ2[Ü´ÃV:ÎP ¡Å D ­5ÍY¼%˜‚X+rOCS{[E36Ô íÁåÞæmQCk72yls³€ÀåÈÈÙxL-D\šû½¸£= ±å±L\Þ{=¢ö²ŸZ tma<G�zX=¹iØJ‡\)ôbð§à8¢0z=è%Ô 44Ée¾âvz]ŽÅ…;7ãÃØÎ }èÖÁâ·‹€InE½Û€WÀÏ‚š<ãž Á‹¥êçÿÛB3Ch»òç­d»ûOÂÄ”s!� =,_·£¡‰d¹´õ¯붡e·É‰Zk=M Ëß" ­ßM6•Ú¨¡WG”Ä%ÚÖŠjÁÁx pˈ+çQ[›.Ôc![lRÁE{‘ˆŠÈÉ¢f…ð Nd‚?ƒK~ÒÑæÒ-W2b_€†V 7µ y'(2Q±m4ËhÒÇdA¬%pÑ¿‘€f¹cÔBL5/ Q\Ÿ 9)©ÒÐ7UÏÃX�†€@~”0PFÇ Ø$mM;¦ , þ˜ŠGqFû¦I»ùÊü–¨S )#� ]Æ(9{’4¢ EÐ6ŸÆN#ø­¡…å²Õ;ÏH&º8,ôÚ ³+PÇ"Ðø“çÀ½ D›[Q �@@#Q¥ ¸ ³+o>ñÌŠÁüìV ‚Þ7—оUhò¶ð! 8S‘—êw󦪢Àà‹!� =2¡ØuâLB“yÈAìÌÍTu¦2¦W=JTK-Áœ52ñm‘çÂ1ÙÖÄÑ”�-߃¶¿5O%s ·K,ýèÔ”žNŠ9³Š¦qœ¬ÔR„p#ø…é@â¯ôÈð?«\ò&6³ëþõƒg@�:•…d#¯Úé…O8(æ @ jÅ©éRècÍ\¶zR•+éMq 44×ͦ†ö:M ª“UÔpЖ6*6Žfv øXz¶«pÎu™¯úiZ&߈¦´c¾µ…†î!®@C¼»f‡*ÂÇ"� ]À¿Šæ’jæØ”o½ºGÇ$mi�ÇVßE·¾+˜Ž¿ËFrÀ¦ Ïš¦¹{\ë“?^§!ZonELï,GŸôlŠU`\ÒQž`] °ÁÆì_4C瘺x„ìõÁÎMÎp¶4ŸgpóX:sÉ‘±17‚�4tYCç¯J¡¡Êæ­B«gqïÜZF %jjèU šR{‡½íѽö\;£; ½ãÇ4¶@O¹D¦÷åÖÃØ;8®4·0o¯q;UÊ2 AeU0ò¢/õk„†®ƒ= ¡£Ú¨mäµÛøu©y­øãJœ¼<rçc´†æú˜“)ÍZ=¡_‹&'Ê€ e]Zä¯ëŠç4ÞIj²vëMâ6Ü�m a'MD•ñûh­)KsŽ ~ð€`ÎÊ€hèôL ¹äȸŠ1·ƒ�4´›kÎGyÉÒ°™OZm&_{¤éÔ!'wSÏ™Ô)$2Ñ7—צ�Ýí@Cóp¼j1£ãj˜z^¾!™k‰§ª^Ý×÷ÉVû#0dëÅR8XÂ#s:¡Ð4F†àéièèÌFï†ü–è¨adr ¡ .È hbœÉ³>Ä=OâÄt,ÈKˆEþ'§o¬VÆdS¼ÅÿrÞˆ©¡éEñ®0[ÙÚN¦‹5tÆHþ‘[·ä~aŒB ÷ B.Þµ¬='æñ$&`K›½ÒÓ¾µÐyÄØ�] ¡¹’®õãohh[Có¯p7 .0Ë¥a?Ÿ±ìŠ|`¥)U3š'‹‰àVUÍŨ) ºªÙNC ¬’Åi¦£ØHf¨Ì̦›ÁOø�zèo=œ¬/ãé혷yŸ ¨ž0M ÝfðÔ×SN˜»ÐÐj ’{59l·o´P'J\ëë~RÃü-þ"—ˤ’M }”+jh¯NÌ>áõ3‘… öb }#E»Ñ^€Y 0þm¨ ˆ(±­Ï„cU:ÿ‹xE ‰ÄúpÑB.Šá`À5€†Îjèd¾ogïi¾n¸‡Ì”ËB:ÿä}B+édâÆó4´Ù¸D¦úÑ…”ìdf ±µi‹vZÇÆV ¬­\0YéEÃdÔÅ6§â̽U¿æÇË5 É$h±†í$aİhh£ <ÆIn­ä°S×IUÎ×â¡‹É™QÈb-£õ�­žL„ÖÐÜa¯_ ÛÁùhèQ*–Ä©÷œUŒÚ‰D#D›UD‘¹z×b}å4¡àóëüÙyÉ«ðQ‰(…@�ÚÖЂ ˆŒ2)¿öÔD).9ôwY¸º-Ê&OI›2šËt­¡3ÉÚhL¬¡Í ©Ðfw O¼·0©5ë…#$B­YŒs"°Qã(ò3¡!XK¼ÎAó(^_º�ï _p9‚†ž³há4´[f«ÎÐ\fÌy+O0²&ʘ.…Ò5qàÈëñœLµnæªú@y7›'("dÑ®¼@8ø±²<†67Q>ÞS¥@U£x%IÖòZÖÓК²¼Õƒîq8CoNæaçà˜b½Ø˜òkaäµ€†Nå7Ørz~¦–ŸcP —5u®´[T´Á>W ã|Êß*.·œèéyàžèÁ Ðúo6Åæ$Z`U1ï†X¦“™ev”‡XŒE Ù88ë½/˜ópñû*<¾™|%¶§y[v MiºIh¢t"p ™…óNg0ýÔ@C§ÒW%;’T˜Zx¦AœGô·­“ ($/Ï{K+f."kÕä>ˆVièÍ•t¦5òš :å>àWñÚØÀÛ+‹>`�Ødãð®$µÎ;ÝÔ¦‚Åõ6½Û£¡‰¬<<ugÑP®¡«þ3;W–;hè,øUÊ#Ɇٵ'Ç%²Ç&&‰ elr±9†¿¨E3½[T‡€'4´–ÔÅÖå•PÃf×Ú딇`¥…†ž$pcO2]Ch~ãœÖÖdP?1ãŠE¶ ³!šú>nZ@›w’o”ŠYó�ó¡Ã��4t¶$’4T¼æÎ®7Ù8®¡Ås.v3¿ª3½Â=ŠÃL¾ž6­¡uŒ¼Tw{Tèà6t­¡‡ô¡í öÜ›9ãÛ¡Ë7‚@fWzÚ{]ô£x‰Z ­ÇsA,T¯^ÚkÁ·ÒG]ü×jhWÿ÷#o¤žo$LhèŠDsaO˰aÅÂs å4m²§÷ß© ÔpÕ[+Ò¿™?ÙOjhÑf‚ 0³% còâ Ü3;ô›^�dö¦y%hk®;‹*9Þ}üŒƒØX„MüŸÃ&ŸsÊ# |ßG4Ùš±kÎYrdˆ0r ¡ë’s ˜:ÓÓŽL@âUB9?8© ÁÕÓк߈“ÇÍ(t7§s¯%³h±?%÷`f-ŒS!P,~R®ú6O[ó£‡àÎ7"o ß„VözŸÉ9««ÔP„Œæ˜Aõ§ÌóJ[696“¦~'aá@C×¥)Ù¿/¼Ç4Ý—ìy­ìeh#z­+gtFCk×e£-š× …3CÜÈH¼q.¼­6ÂfÏ…@¦Â9sòèˆ Hžòëó"[BÖÔÇDMÜg2"¦˜cÄw˜s7:(Ijhîâ8×nÚÇ[hèjœ“4Wm÷ü4‰›kÅÜ®Ù3úͱ@-ç­EècS@›Îè‰qƒäÎ ‰n;#ÐÐÛa Ëó#P¬Ú霴Bõ´µùd~)GÙ\¨MC'¿9³›†6‘‡†žËî!4tu „‚ NI«MŸ‚>ÌØ:¦d:¶vCØ×× ‚£ÅAHR@›ÁÆDÏÊ\þí ”höÁê“; nXú25´'‚ãS¤ˆõ°£(Xk5´`¹ÕÉÌBü¬!óÓCµ óÞ‚…j¡¾üxhè–g6RfLËÚsÏ¡# þyâÜ.oâ‰].¦ycX{ 5!%MIdyñ#u‹ù 2ðp~ç7)#½1â-h\1Qˆ]­\9ùc5´`-S‰õÑ`í[f!âFR±Ürg]Tiè-èôÓçA�º%™Í|Ë]?ƒO îþœ ÑæâUôÝf„¼.Jj>ž_·Ä? 5óáÖ ¡‡C ƒçB`”†Ö—èÞé D}m:ÃÅw›†½—¬á Ex^džáœ«,ám€�4tKydvÔ„ª®%ÔóÌ™ p¡¡…ê¥Sóu~“é+fƒ ”ú„Y-¶± }†K@ ˆ@¦Y—М ¸ÞÕ_×;ˆÿéqç_ï ~»CHó54±XËâKŸ±ôžÔÐc-– œhèÆ¬w>¶_#²­ÓfÜì[ž®ÕýÏ G÷­µ±ñ××çq/l…y«yA¼[- »@`KÚ¶¡I«w½Â%£î\ÚϘ|Äe?L,”âÅÊ“3–Þ3zìŠ[l‰�4t#ú™ýMØnÓ´ÙÐæZ&ñãýÜ Ä”Î¤žEÇ"}–c r7[Z›j“n¶m¨5´þ ‹ägRCó‹p¡ÅŸ™_£ËD-$l\õõ”oßßö,¹7‚�4tc¢3,€ößnÓ´ÙÐö44ÍâJ¬ÍuǯœBF'5AS]`8�æmÈ÷BшÜÞÙ-QyúÃÛÙ: xYnž4æz½Èئ'ý¹½ÛcÝþ…`ဆn̲¸Ä7­9¢qmLs˜ p:>bÚ¬ÝØhzm¯cå¿ö>I)¡M’¸1 Œš,vŒ‘¤Œ.jhÎKúäÛ¤óÌEòÉ0ÛŠŒ½5ô¨…FÕìÌŒ�4tcv ¡ÛrÚTÜ'Z…GÜžzÎà䵨zOÆ¥†1^Ö¦ÊfC\˜rã´mC­‰ãÿ‰Þ&üѧ Q‚¸Âä²ð„þä«ÄQ+wwæú¡­À81zmö1릀†nOwQFi¢}mÌ´˜ p®¡kÓŸ¢Ûi=íå™·"ýß Xß=Ëw ͬM•Jì6 Ѐ@Û6ÔZìåª_äXOsÍÿå5´VÆšvÖUâ¨9+Æ¢¡ó ÜP˜rI ¡ÛÓZÔÐÄ\ík`f S /Þ–øsê4ú(£˜ËëýÀKÙT©¬©AŒ{¿ˆŽÖЫhæšRï=‹ÓËú<ð„s…–˦2æ‡Ðëê\›ä“ÐÜOS©Ç<™DX{ØC˜=s‹cÀÌ@C·g‡ÓÖR�Û²!7“h/Ñ“t-‡GJ&Ùr´(§–Ù�àÎSÌ|M’Ä¡Àr—D@PA1FSÇ·sèýnJj®Mõ�ze&~‚ƒ«po@¿†6-g>OÓœ9 â-fG¨ZºÁ>¦LŽÀMkèN‘º†Æ¶lÞ6‡Ë/3wº»ˆŽÅussìbâáP€.B„çE £E…§/ªõe˜zŽ^ÔíÉÓФ)õ¢ëõ9ýop©OWòB-6\ÒîüÛŠæ,ñ¢9ÑÙô°™-«–>o1ÃsÕУDjQF·íLlËæÛxórfó>äB™«ê«›t ûClBCF&A #ì2åí ñºæõ#®ƒ5óÄÒ–+ïgÏš§Ñ…¼¤­÷›".êKñÇ@LõÏÙ2““íE³Öw«ORœpc#nWCWÝh_ÑÂ¥agê=‰m™¯þÀóÆ‹#ƒÜŪh¹vÀ±8$½E@Ò†ÃЇ2d6f~LƒŒæ ˜4q¼b0…+òÝ4tò§÷‚®ÍÙ¸™uÆõ¯”^–p`nQC©‚zL&Ê¢¸J®ºªÞ¡JεD-à£XZ=^ˆ@Þmè<V99bãseþlNNrÿ’~ Ú½E:¸AC/ÞŠYB.kãÜ%®³‹s$…ó«fsÔø ™º¿¶ÀôŠúײkmbü€†~ö剆üet@’Ý`¡!–ËL9®*6ßócH•Ù;ISD AØÅ;´jÿjML’—?YŸsíKˆÑ‹IÝÉ%µ©G…Á¼}ñEÆ* MY(.ÇÔBMñzR¾ÊàE‹¥G!p[zÝ�ë­[ÜË!8kMRæ"?éWFåûì4�>–rw,0! 3(aÌ)4´'ìâZ»×ñb–)@¹ü­ÒÐz"©I’¤ü‰0^Œ7îÈBõÆ_8‰k†Ü¦‹Šäx‚—ñS”+œ‹ÀÍih~¥›ùÑœ"ÜE5PKˆµÔVôðÖ4>(NúÍfLÍ~ÑO¯ß'b�˜@ ýÇéÝ ¤a khhÁNy²±Ð¢üI­ñu|ðmBz—«v³wç•:WÒ: |!}1@Á9†›°˜áR7¤¡õFÍsG€©¹oÅ5kUJÄà>íYîs½¤Ü˜óǨ=œßçkì D±\ÆmEK[SÃ5ø©u¡)£…@$E˜YQ,¡M™‚KhhSªš 5t zy,æsÝ—…¸Ï�ˆ1×Cà¦5ôß»(jè¥hz$BÏÜëÕk2"Z¾Ã%í×^Sõ›MZ8Eµèì$£Ã0 03\Ø;±(£{v±—B"sKoU-'bÍwÍ”i?Í/_æ¿^_% õצ(/[Û¬¢Y 87¤¡W-knÔ*Ižs›[Ø?Q‘íïªViŸ»å¹²'×ý@»zÒÿQ[#¹†CðH£Xÿ»8#£éd'Ïl„!M!Íå8¿BðÑ‹®¯ˆ;4D¿æ?|¡-stºS‡Ô½ 7§¡õF]ÙDÐA>ÁMpÒÉLjôfƒ·0Qt©üa†I¾fÍx‡+ÇÂÛÙ}wp^x8¿Ã;`‚%.Œ€Yá\hnÁ$ZF i+tpþ¤VuëÔòZ·3î[àç:Qh_7jßÁwœLS4±  „ÀmihÚ–q#¯ÝWEÝ):§ßf¹s¶íÔÐù3ìc3uìêÉ2—7ÉY<„›¨Ý¿—…T]õ(ï€$…ÖÒZY4M3)zŽ“«Ï§Miß9½®î‰lò¿ K.í†À-jh n ‚3z:ØuÄS=Å®n@Ohµ¼ækçf¦ž&òáþÄmB÷Ê SöD@(³XíéXq-OSri+˜§h³8À“Ѽ©™Ž-¯n›ÿè-Sæzï+&Õ¹÷ƒÍæ­Ïq€"®  q%ÍbØä@C?MP±£bº¨¡=¢¤HùÉËhB÷´ Lþ”¡h<ù3ìb mŠ­>³°IÙ¿fU‹KÜc7`má!ß³Zqf fÆ¡‰'ëêZ‹imS¬›äa²#D°žÎkCvdÎ>ŠrImž™r‹Ña@'ÐÐY M@k1s7Q•—ªâœ¿7tVáÓ…\[ƒemºž:šƒ¹[D‘·ÉûñΑ_:9Rd$9 ÀÀ*§DU‹WøÎfF,)£Çr¾)£{ôŠ0—â¹h—B'“¥“îÝ­aVHþø#_0¦žÖ~æ bäÙ€†®ÖÐZLCy©1[wàX>={ÉÆþó\ÐÕK’LÍ>­…u声õt²Wíã6wrŸ±Ê5ðä2?’œªÔóµ¶ú_Þ\ÆæŽËh!{"ç…}Ù|­$ÓÜàP™§›û Kb»ÒÓUqõ ¹"� Ý®¡y:i;éÇ",sš Ù9缆æsMâ¦f.O4t¦B0æ¤x$™¼¾3jNZFoA)Ô¤´ðm†ˆÛäMP¬µ*é*­)Æ5 ±§Â›Ã &ÖÆµ…°y ÐÐÏÀï¡-.b„žÖ\ ö|†Yz|;°¼ö\Zãì)Ë5Aij4Q+iÍ"ÜÔžÁеD?Þîè¥9Fx³L¼YÌÝSëüX‰M!vñFþe‰>Õ¶çÌÀòZm¾bM6És“œó·_·!ÐWóB˜8!ÐЃ5´¾&.Jä ³@CÇ›G‹]~ß3½fü€¦ÍÁœ¯…ø>j{Õ9ªâ…†®‚ ƒõU¢Ønñ–? €\w®jÌS„#2…o›}ïÚfEÈôÚuº6/�t—rPD¦6®¢A 8ÐÐjh}…jÞ´—ÙÐÐmZô¤ø`ƒ²C_@$ 6¿ >Éq¯YÔ›g #è²pU'ÎòºAøÿ ==6Mƒmö½Ë˜˜|j©IŒçÆ—µ µ NU:`ú逆~”²©êÍM–¾jçžõ8vº¢ô.R³µ‚dͦ+^Ô”mš¤{G/;|‚™¯+!ò1 ¾gvj’¤=²õ§'|*m ©`u!š=Ýl2aCP˜ª€†ÞCC×*P±F8u{¨ªHsp Î:ÅS«¡5ì¦VÞ§ydp3;Ç$äü„fÓsµ PsôyD†ZÏ8u‡M¯9ÇrWò„¨'ž†öÄ4o7Þ7{`ÇÜ$ÐÐjhsó{»:&£çÑ)4ÄUJ¬‰×Áñ ßìÐ<2{8)ú3¦6³© ØÈg˜SF 9uj¶äJz£@r—æÏá•Ó ¡wðjx˜0xR ¡eâši+Ïãz‰@«‰Ã¼“ÖYÛ+8±Ø ì뼘77Ó°¢ì¦3o!¾{bl››)$ÞÚVéœu¸þcúT˜òˆ®Óß’C°ÚZ·¿éZ7Ä" 6÷ô!Ù„‘k#p} ]»½{öÛƒÒ{öÝj³zŠ{ÞûêáµkÑ‹Ž4´¾Ò\èfn9Α™ݘÅ+µ56*o½1šÄͨaÐE¬S´+Mþ<nûrkÕ&ÂÔÐ1ÃOòe•ÚH1þŒ\YC·]m7kè*J*ÊhsÀ+lˆÏ¢©èÿ•Ÿ�Hzù5Õ™<îÝ$Ý\< (yBe¿O'Ž=¯Ú `Êm" 7µG§Ãgç@FQÖ(;:_ ¯#/\ §+ÝÛtøâºáËUm\P{Þf bOSy´9v²öúJ_®¡…ÖÌK¯dwàŒIè¥ÀÓÐtJwøa ôF©‡YÁ·tݨcçtXACó” êÖ}–Ó WÛ ­ÿt¥‡g@಺‡‰ªÔªÖgɼš«¬Ö¼·’–/9L$´˜_b[qe¢Y˜ŸgxZ3µ÷[޺Ó»ZÄg¸?dw²ª­´K°|1L ­)â¤QïÈM:ÄHpÍ>h­€ퟴàöü@C9Jһɉ\´™% í‘©¾‹#>ŠÖÝȼJáÂ×Ô‚üEqл$7ÈÔ¦!ºBt_Ù¹›°ÌÏ€ðð,¾5ÿ¼†r┢»Ìð|Uµ­|Ãâ'ߤ8j¦zäÐ ‰FNÀe5ôÚÑÛtL‘S‚ÍYœËËÅlÚ¯²|ê¢$5æ)é5³ÅüŠ\ 0ͦ¥)[8Ægñ¯1yëLŠö__˜í܉{vÜ@d`êzÛÓÔU× Ê=%`'bÓƒŠ5•1ç:]Û9s½…ˆú¸¸†&5SËGUê6#‹k/ßMn’Êoç·JC{ÿCŽùú\кöak ÐæñL?_ÄÝîð;°7 ÆB@l(Ú†ëfÔWGùyÞu;;KçôŒ†&Â7kCtäíÜ;oÆáù(®¬¡¹Œ¨Å«YÂÖn×@¬kŸk×F=Ãø"'’“šUMÄLq,”±÷;¼Isõ¬U¬~¥í3L ’zçjÙúÊ!ƒ Æ\]W´ñ= ½såoùát.Ñ9½¨¡×ŒëcÎѳ¶Îìß ××Ðâ’4™ã¢Hòì4°‰§×õë Æ“ñN2¬V‡ñnjê]“F×¹÷PŰõOñ¢ ݦôm:ëÝÊF¤o·u'©^¸±¼¨<-•Ü•[¸·Í¶RÏ=sc�‰áÅ‘QqðÙèhŸâ¼ñU ¡Ý ]ZK£Æß¬†ær½ï9>¨ ÊS&-´î d4‰l­¡3š«óÚb(òQ •Ååâ¦:~ÿ+‡"2pUH iUDÛ¡jcž¨á4¢èY¢gnFC7eQ*gÿÏboÇáÛÒÐâ¸"³{J¡PÌ)¤ä¸&kðçDS´ì£sˆ¼Œ6Šš÷i­¡=UíIÉí07µ‚)¬M¶slµœÉ×Ö>ÀþÅ ¢ŠµÔµy²¡­Ô–AóÍ‹òŽàÝ•'¨›ˆ_Ï(‹ý\SCkõÉ‘ÊløØBQ|×&ÆsÉÔFµÆO4Þ<gâ'ʼMò#(®q‹7f¬MUÍßDI$SF²rH<­¬Ë[ ¹Ï1Lfg ÁFn¯¤iÏrB¸>;l®¶%Úf%DÉ ´wÝ®»ÉX6N†€a×Fàjš_¶:8Øö\µå¾SÌYúÅ6ãmì<K÷È€…°& ´£©¹IL›’šŽ4Út²ó8k'Í‹õÅýa.\œùaävx„ ´ÑUëpë¸Úì·ÍJ ¿@ò8ß3¥é—ê'ÐIÇ0 ¬\PCg~Á¬âõ6v8Koõ6ã§(wÝ ½ŸË0S¬ÙÖä\j·\RóLrœ´×¡yvLR6[~O.¡/Ä´–Ñ[WÎÖö{pÃÜk `^”òÏ÷ì5BæQì°Å–h˜’O O.gfÁÒ ÉÌÃÙ8F^Kih±Iâϯ…ñTu[îÛh%ãC›å¶(öŸÅ3èe3¾'’¸Õü!$ÁȦJ¦1ô®`d’ÔæM&ZU5f ®ÐI'3ë&Ç\»2“ `ئÐî¦bÓ{S_LnêÒžÆ3=«ÓŸ†]Ü0%ï¤`ìà›âœx9uÓóý?—ˇ‰‘çEàv54‰Œ€šÙ¡m"4ôÚ9QêŸ4JjhÞ\©­­×{KKêÕšù[Kœ¶ÓÐÜUÝ9Ä+Bd´Uf‘à62[\nÍ ¦N¢¯ ]Exð‚÷p¨Ý˵ã«\âWMÊåš[nhè*ä18‰À¥4´)n 2›?3F/Ñ6Ë<A1µ`2»'F!›SëW®…ׂÒk½\+ =-4«'Žu÷ \­M ¯(!ë½²‚ÞC¦Ös|sÁYF.€wÕ*.oDC{7³ Ùãµ{¹v|¾V=m~Â,R îlœ#/À5t†G¸J‹sÜFm³¼ õÓUëÒÍ¢SBÙüú6×Í$@µ2^Åh, õuúòDäÝ §-w¦·™‚¡1™ï tú¦¯OÚ b0/ŒMa$¶†yIy<…äj2£9¿y˜Ô6¯Úñù\$54ð³fãí<ÏLj‘gGàjºØÅ5‰Ä©y› œ¨•ÙÙË. ï@êQîˆ4¹¸»>65´°ljî`-¾´g¿3ež†Öef¾²éç˜âª#¾M¼L¿Hôx[›o[.›¹w~l(â=®d¬î8¤›B͹T.8‡Þåa§õbüüy‡‡Ó"pZË¡‡âô´ÑD@:Eƒ1…§O[mEœ3RO°'×»Þt*�j´Ô}¹¶ÃD‡ÂÚcmnY”YsâxȱV0—ðúî:á+z}nÈB0rkðr2KK»Ø&W…˃¢¨¡óŸD Ž ®Š›9-“¡¡år~Ž¿6³ŽäAå¡Èø‰1·ŒÀÕ4ôºUÄž÷d %>&‚6šÐ‹š¾™Å§WJå’%›—zœ=Mº×¤¯Û-½kRØôD|OÅìg";ù¼{iâ€{Îk8(ÔŒŸmEåu&óžÅ¶%0ëÐ+ˆ]“€Ø&WÍã“`ç©UôDÏ&;œ×Uô?qŽ`^<ˆjá¼9©Ù.(X¾ÔÐÞ%f 0øžÔ Ž'šãÅ^ÇTé±(ÿ³ÖŸ•lDİÌÕ*Yô�R¥š¯=òåS⻪‚ ÊV¤rÊ\òˆ†ße!ÊÍéD{mWi3r—<ÙG%'ö¬¸Ü'º<Ñ ­¯˜{Ü3ð[óNyÍÄ Œ×SÏIÚ¡éÂÐÔÀÁÔ¥4t‘)â=hÓ*Ùjj¦¢o¢ÅŠÜó*gÎUâ^ðB&XÄÑKD»¥?…¶Ö«Çä«»¸©€;)›‹! ´˜*Dã0°x´)³òÏUðvO¼ýž9tл“ÀžQ²V‘uCYˆˆ�/ò�OM@ƒE;Íà<8ûÄ»:¢íxm÷r4ç·¥¡‹šÃ«<Sx›Ö{=> ’(öÿ2ÅM½P+B3FÞM½Ïõ„\æGó%É·X y’ÎÕ±¶V´¦†ªý25‰@¶@ .QOaSáqÅ·CqWnËÎ65Äx`Æ H'(80y»ÓUnœËkbo}—]p�šjÈ ¦˜\JC¯Û)s‰é‘líëÓ@3%}3%i>þäkÚ£ibUOCÓDþD«g¢Ý¢†Îôiês™š .ÈO‘ý \ƒ:R6ñÒp†¸#çE Y¢æ–§¥ŸÜC2ZoÀ¶î£ål@°£n \%žŸˆjÒ¯×Jλ¡àù!\PC'/1«är•&ð(@óQ1åb]ú³ÊŸâ*§+i}÷žмïò¤POô-ÑEþåh âý<à¦DX§Çœ(yOÄHsuám³qL¼zJ”ËG¾­Yy=Hƒ`y§Ð—ÿ¾¯æ³»y-¯s¯*(ËúI¼JCÛmpSn«ih’•è�]ƒ|uñÑäz.Sv|]ÎŒ™¹§S¥S¼âD„Óîª>ù?ód…ß;HÏ‹"ØÐÆãZ(ð0ÍÕÒ|þ]lK怶0O]¥p¾Zí¥ÉPoíàò²ÇÕyærbŒe4ÁkÊèLGãG[#ð;¿òÁ±%¡ïÐhKD±›´™Å, pM Ïk^Fg‡44 5-_]½A ]%Å49zmUHç¸YþÄKVF[7ÈYj¢SêR ðHG}ÀZ¬[ݧó[¦¸ 0à’Tít!Žùî›ô,…W+ì4\‚1*´i"ZÂü|oMŠ÷V[Ñš®9¶m-Ìܺ†ö-L™’Á:æ&­ujm¤™1uŠ1 t¯V(fºª­7î܈ ]¦ Šp’¤&´©žE+Í÷ËLy˜Ö´€N†™Yc®@fñÃ}Tq: \<ðXÄ^ Ä¥¨s®¨ƒ­Mî­ËAU°¶#H»HËUËa0èA�ú=“ĵV(j‘â�Îþú¹—Hn–ؤ'ë3ÏmSœ¼Årfl«ÿ¤ì{_ë$c>Ý ŸuжaV‹(Œ¤?Ù÷öEgâ:½Âô“" ¹7.c³æÉÈYèQl¾Ù=1êí/3ä`p�¯×ã¥ùñDçmÞ¿pFëfþ =ÏŸt˜ÁžtÁ퀆~¾ O+äwiW¾3ÒGë‹fÓ¥‡H1/gX“y½õéNžyÅ¢µÝEô ³£°Î”Ь™ ñ⬠sˆW0rFÖ’6OFãzæõÆí‘ݶCì$õ¾Í¼†éý&Æú®&+ï÷(´ÛA.Ä)Cð=Ÿ†“óì£Ø7…böèÝ<ñ^lK%fhèG5Ëhšó”m*¡Ìt>f}ž™u®ú&Ýbý3Ö”ñ…ÍãÙò/݆͆TìëÂ.w)nQfK#¯D®¹På´CºMdD#lø¼xϱÄlèm.¶Œç° CswϬÞ#œV~34¿'ÊCÌìç˜<VÌ…¶&ÈGX¨"Ú^&8P`+ÞÕq°ÓV›hh™±Ÿã?óZ6PQI%Dž˜Œ9gyUyÅ»ˆ÷Ü<Eˆ)X‹N³éò5)‹@´…¼ˆÏ`Böµ€æÚ:cjà³¹;’õ<Ð1˜:žäª•Ñb'¸;Š) àéÑŒ†ĸ.êuN#œÓ4›i Þ†øöçA‰@Bhæ ÁÚŽö§o1ƒ�4ÐÐFUjh=Vobbð1w’J8‘å—>EÝëžj’ ÉÔÔ8MLmF´[óh1Ø›[„4è—™¹<"íCÑÂFb }±‚ÜC˜¥zæÐûª¾HãÎÜI.Ý?\þê²X·|p/ÁZ›Q›[ÒÜÅy íiqrI§u=e×½Ÿ1ÝSøy?î:Û \rEhh;­žŒäuPÞf"»Èþ¼ôÐTmjh“Ù‹t_AôúG¡³‹ñ0L¶Ã ¯ÐÒÜ¥S} ø—\z-ìâ‡þkáéÁ‚ Å~™ 1Ä­|³{Ș¸J¢§¬Ðéuë‰5%Ϭ©§¹{žÍ±Í‹@ÌÏ/K2·ÄÌV3ðç@C»i2岦’Lš3šÈ.Ömmdœ<|Œ@IsqÀΦöHÒS… "nCC,‘Ì»)èŸÚü¬¥{^±1×.ñ·†€ÞïÁ©9˜“áÙ5´VÆÞÆ÷pÓãaÍå¦89ÖåŠ\÷Gz%à½íØL¸fc^0Å‹·[Ûˆ· hè7N æ5wôLÃЬ¤í›.åݘy¤×EÙeäÉÒò:ÖÐz|þÝò§ææ™¯‡d0VÌ“8y2X´ Of™+̵ WHm^m:‹¢0,PÆÜ+N’Ä\+ë­l^½h°—9¼<M^—Ô÷«lMœ¨u É¥Á›&Æ/�4t!ÅD­¢¹°Ñ&étz2yMë&*^‰‘4{°æS-X9ÿ&Ÿ‹;ª…ÍÌ­¤�’RûÜé"UzˆWXôÔx²˜kb¾m½ ¢…]Ì�‚FÄ¥,@ƒ+TÆ-ÐÝÆ…ÖÜ╘vb­uj°®`È}À7•ô²4/Œd;ÞÇa¬rj ¡Séã4PLÑ–ØÆE-v>qŸùzqu“[§m9q8žÔ6?¡#VåZð{R7Ó0S1ëÍ~©×:‘††€®Úhì! „cñR-þ Fì©ia'â½ `�ê>ÞUº8#ØHC›º“K|¹`Ë={ fúP¬½iëŽÍ†�4t6#£d´y$Pû¢y韌„¨“KÀn{_2ïÚÃüôP?ЈæY=˜7 S@¯ç@Áý!™ ži9](èžÅ\-ïôE¯¨1¾I½+d¾£OÁWz[ ÀÅk|ƒ„î  ¯ù‰\’`WØéù …>­ Üí¶ (víÌg»áƒ…† � ]†‘oENè噉‚L‰z¼kz> ­[!È%µX”swÛZ �²CbËÙ\¤ 0Ÿgô.™2)Ø<'K†7ÔÁ4t2¡–DÀÜ×âEª:NÅZŽó]œ\ý¨a¦†&Ó„ð›ÆJoRoÛz´£»’ç€ЂoW«žçÂ1³UX÷D@C’e’y"$W¾ò2z%,ú»a:°Š ÎÝ¢3õèÂ<ñÈŒ¾ ˆRwVþÊ >oZú]-¦5€'‹€ˆvX¿õ�]üŠ­W‡ýG€o½5Ä»‚ç‡NèZA;"^N/æ×0h<iY.sM†1±�z+ŒShõShhAtó<œhè(zkiñ$D'×£ùi.x»OŒå&I‡ÓŸIÄfïY¹Û»G9˜"¶Ô\[g=Vçëg#B¸A@o„3Ì)‹oLqMK,!tää¨ê T}Ÿ†ˆT4¯ ˜ú›Kê"2&ó˜Ë‰¼˜L{øAŒÙÚ:u: ¸5.¥¡·V0ÁµxQíÅ…åq–9«èFq-ïæ]!gÐÐA°º Zô¾„Ä{­x¾jñõõ?¬P䎆ú<PFC@Š[#@[lýôŒö¦–ÑbÛníX}H‘Òi3ò¹? ”8í|âíw5%‚N„ɯgøó†L{6‰šû ¢¸LÝÑÐ+M ܨ‚³8•ëû¨’ïš²¬íÅu˱ jê™í¡øÅŸÂ;‡<É褒=†w,Ý~¸HrMÐö’Ú†™=õ(gÚBÀ¬S# Y]ì_Ri\®™ðp8Ûè>•×ÐZ˜jŠnÓЂ÷LļŒh‰oªØ³ z4xìÀ\\léëhèµÙ¼¬ôx°J%ëå<.ë·xÉ1üʤmó`cú£þB qL̓æjù¨Å·Ž…7oJ:õ¼æ|B÷ÐmµŠYÐ_‚rmîßþ´™,êݰ¡ƒ_lÉ U4‰ë ¯­Ðë&í˜NÎ »)â‹-¯-ŘuË\AC{âÕÜE¦¢‰ƒÛ‰ee•Ú+²˜Ézœ°:ól°’öÛEsÓ%-s>|�ÉhýÄ<%âeÃ%8åˆR/|ãΟEF›š®4¶K4,NÅæ§mTœzKê9žœ‚ÏÍÎbîDA5f 6Áù­¸…½O,§/�:{ÐÎ :¼—í/–Û‹khÁ³1 æ•·Ђ•ò ;™Ná†è¦?IËÞ0!.;­m4§ÒÇ¢I˜r–Ƙ’:¹üê…?_ Æ{¶°Ú¬×¹ws� ±§ÄM\¦’6eè±Hò(âˆh›¯`5Û˜Ò¿ÈáJ6AÝ õºÍ‡Ç&«\ACEL¯X@“€Kš*Êñ$‘‘^ÏÌŒ1×ÍhèfãÄòcµj6²¬;ŠÖÐE¥k^Ï$[c¿Ù'ÐùjÄÈM0Å"§D¢ezÒ¿ËÆF”ÑbÇ™ÚW(l“?¬òÿG ^/.ÚiÝ"éÅl<dX"p Í·w­Ú( è ûŒÍ¢PíɈ’ô«§Ñq×&5´ÐÍ|–Ù¹ƒ¯0öîY ³¿y¼A7í_€@ñ(¡Èê\F¯œ³Öê­þM\ê ΡË>1¶£5wr/ëíÏA#ÿc*.fíD`Q °ÑЂ2òH/—WNÙA»‹æÈÔäèE*}Þ±#=â.†Ìý4¢°/ä²h`¢ê;Í&WtµˆX¿…` n|ÿÊ/ÆŽ7ˆ@‘¢‰ü§ÕЂ tDbß™ÚdnJ3g°¤†æ-À£¢Sóû‘šEo°hòí p) ]›¶XŽÄôT»Vq¼©Sµ¦)ÚiPü´´–MB)n*àâÐbâÎÌ]ÄÓf·3»Q£´i#Ù. &&™’à pœ¾f»—#y2¢54§bA&Þ1¶y±!ÚJ†:4 ˆÌ’o‚-Ç<Wª ¬ ¶Fàv5tQ@súÛ4 &÷™ÇÌŸ7¬j[ð ½hžîäŽØê§épQ@ëÃŽ9ï¼›P ~4`ëF²Q  ‡- n„�ß§bÿöß1µ‘Ϻ¡x,D|EjÕcOÎ íN e¨£JCsB††Þºr`BnTCÏ  © d$`•2ÎjO+ÔI>5ý ’(š“©ÍVaŽ4AºZ­· ¼é…µf©çë§v Œøþ5å IžúØ[Ë´ŸqlÈòSÜÆ÷¾°÷îåX·w�ÏE6?JÈ4“dLçÅ—@¦ý4`Hú`pnQC'µWžqtI”ÎÜ&w¸J<#Õ¡ fN”;'ú2€çQt&-)q¼÷˜-Êë[¼Ç˜ÎŒ‚®ªЋЋ‡±Æ‹«cÀ- Q®zËpe§§ª°›nÉ|5{’7‰ÈüJF‘92É}Mìçµ6¡’é•lÉ%ñL äaÄH p8·¥¡ã ,ø%I7yŽî¡Á°ùºÑQÇyä«ù‘^é !ï³9Rwä0 h·º{™@߆Xlb@[E¸ 4È»æ@³IÇôk ë*q^|yάL.7‹ž¤‘Ma÷ˆ—œ§ÍÈCw²ÑŸž5 Ó]rk O„©Ì‡“ºSäk`SðaŒEà†4tLEòMânrôééñZÑ1×Äb6ï?N²pÑ«Ú ŽÛ õ}Ǥ–Ñ:fƒÌ®2n×B!4GÏôu.õlþg¿YX�TQúó}¡}ùN1e´wÍLW¼&5‰­Ñ[gÍ£)ÁðBûæ¿€¡qàP'£œ@yŒ96 ³3&Á0 0-·¢¡å§eP³LÌðKO)ôËhSrMiÞÊ& jƧ'vN➌†ö$›m½\»Dzë»ûÓÁûe¿µþ,Õðv¥y)[¥q©n¹Ü4w¢)åç¹9M»V½&us4ž‚Ót§ Ê,Ðб6 dëÎx¥ý‚XÎ…ÀMhèX@‹„õhˆ˜¢MFóYñy…nD[oR®ô„7¯C‹ˆ‚<Öö¡*MÐ NOF  ›aÇÄ ±†æ÷$¬'ÊÉkΤ€^mz$гqбÇj2-—ÎBÅ®oé[¢…P¦«Ý×j¹KC·¾¢=ák™f:c•{Eð1�ìƒÀõ5tÀ’Þnï>ßšWÜš´CÁÆEš«´-ôpÈ0ßùëæÇÊ¢ x(U}¦sŒŠºÍOè¦z¢Í=̺z7­Ò™ßT–Ñg$uÝÆÕËÙO(Ñ-ŽU¦§z…cD5ÂyNÑ"j>rˆ†æ2Z?¹QД5ïê( ×™‚M ЉÀ•5t,wLÎí—ûÐA›–¥YAÍIÒ¶tg™æ§ënM ¾öq#º2ÿÓC)®+ݺ’çjùÍ‘m¥«ût§˜4šM mŠK½¡ÄŽNîG¾A’SRIÊ2¿ë‰Qõ=uB§ õ¬£ð4t[WÒ¢9Ô<)AŒš‡«!)˜¶Cà²:¶©€/¶K[³å$ëÅË¥¶GÓ±ˆ’Ðü~G”PÒæ­™¼céFžD ­{µa’t‰+•µ)ÖNls³n!.ùVÍ—ÉõeÆ‚9&31™5Úé Å¥¸´à7ºh&ñÈYËYáR2jÞexãà <¢Ø,g`1kŸÞ’yÄ0 P…ÀE4´`“`3{o%i¥ ÜMs‚«ZHG*^ÔiŽŸ® {ñ Î<Ú¾F©X…ªÁUÙÔâ>?¼š3›ù@0r~´ ¾çiMóò/_½Eêë‘ȧVC¯×±„†÷}­ƒ“ºÁ®ÂE£áDj6ó¸!îÈÐÐ=…‡¹Ç"pz ­©9–2Ev>6U«ï £Wx‘]åð¦ƒ×V¡;ÍÚ¢¨+˜|-d4oiÈÍào 6^zëDÀ¾F€“‰&–$uÓÖk؃ZÌò.ŸAM;U7'Póônð:wÒ#êf‘ªùŸƒÏ—3ÕDêõß*¸òyÁH °5WÐЙíðõÝ:Ož}®„ª1ÙVó&ÓtYµÜø†°×Š’'ÓúˆeÅgB(Š€ëîXœ‚@`ÄþêÐææÍ«5tR>rÊ¥-©/é=ây¬®ÝKæ‘ÐÖ­ÁÌ‹ô™ÖLZû¹D2 ›"pn 0Kpuž|kSÜ_¹¬€ªd´9xHû …÷•AÞbÅìÙè`›‘rpq¬½C °D?(Ôò.¹œ¹‘“sã=ej_=Å»ê¦]©ùœS ú€Æé­f¦Š5´Ö€æ_MÄ“ý‰€ °'××ÐÎ+=fÜ:™3†€µƒ+ š0éÖÑUÙ7[…î1¢E‰?ƒÏ=µ)Ý5«Þnp\ÛGÕêvñÂòõðĮॆÀÝÙ`m¢ÉÇd­¹å2šž“qM\ë[1‡s÷Zžà ê\ûš× ñ $ÚlƒoÍÉÂD 0 skè•A¼ŒŠBaÔ¦5¥Û¨ ÅvDøúr¿è[@Á\:k0‹ðIß<(3˃ëŠ2»Vù(¼òæi=Ä1, ŠpI*$cg Ǻ³è[0À$N ñí 5Ùá8ˆwM¼Ð4žÉ0uD¤éy^„5N‰â³A¢†ÏQ“þcØ+hhR3|sz‚_ôBV«®Q–¹·š@5O™ºxSš W-@ùÒÀ"Îá¨5Xë!¡j*c³îP�µQ‹ö&¶F-&m«ch@€ØFë*®;kØÓšÍ{ó<Šâwût€ZûšJ:èkœ²@3%/·iN:[‡¯ ;TCR0ìƒÀé54i­üâÓ‚Qø ýäÝøÅ—óÔpðºé-npŸam Áäë• ‰/¯¡yEi`E™- `Tíeì˜W™‰v@@+ª•jLN—‚îUµ y ž¾zß"eññ3—pµGC æ×@_ŠðË�êAB‹ª3˘6EàÜZð¯Öyô«'¡jq•?¢—x<ž‘w&»éîÂÃá2ZphU; nv/†N$wæ6àu¯ÀÇ@ @À»º •ôbó¾—SYC²‚ÍåE‘9s%zXW+éý5´кó,›G3“gCI`Ê­!pV mòo†X3cj‹`7™B¼©=—œ…Ö”¢ÑëŸzq R ÝÖã›Ó4rz‹·±LkÜ:X³*Тö‡+fðh3CJÍûZ8&X.ã6—Ýææ"ªôÞ÷{d¨dñ§e“½‹Á’)ÞM8ákô<UjTf‹Ña�‚À‰5tƒjÙhš‚~Hz8_×:¯žPÀ+‹s( hÍ×µŽE&¶Öã›Ùã½…°Þ3Æ`­8¿“8 7n"óz'8ü¢]°\>š  ˜\ažDhšŠU²~—ó³)Ê ·<%z™çb]Ë|EL7Jnã;…ùÂÃÈ©8¥†nSyîhËV¨mvø,âÊS%á›ÐÁ»ñvESS Nn:¥3ãk¤âÐ(¾äè\q 4¼F¾ÅZ° ’5´Øz‚‹’«d†i¥˜™EÚ‘Á”Ô: 2.HØäU¡•iQSCówM­•niRC ³A PÞ¢{æóˆ‘@ [ÑЊ›"õøœ¹Ì îË´+N”‚ýy{k.Ä-&ö�赺ÓÝ¡¯¶€6@-Å«;RŠÛ hÒâI2Ú\ßšš’Ó _ÚÖ‡ NÝú]>FóX’Å0Oµ}A_�Ï“ c˜Sjè•#ªîåHÇá©„ØìÇé&3zœ« çnSe6;¼ÅÄ-’^[x[ÄÕ`S4ò ˜Æ"¼ºã*‹éáÎ4çèÏôÌ­'´²'åµ Mjh2Hjo–ÐäÉ{“'âÅÏH­3cs k@` 'ÖФfŠú` -50œïšõÔž†Ëd:ÞQÄaƒÐÜ¢É ¡ÓÔyO6þNÏ1Ü1{ï# 5×5€_]ÇJšÞO´†æ"•xX¼;æEkh½´öÜ´ÜæLC:0ìƒÀY5t^wn!¤æFpâpËÞL»ÔT=~ðp ½iÞ‹—mó8ÊÔ¦€Œrv€�! ȇ+Ý-Pj> àJ7>a5Ùž«Oêk¼ÁñYµZhVïG©žZ…“XåÇ$ÓæÌ¹†M 0 skè" 3ë†}t˜ÖÊþ®öG4.£M*/¦cÏ3§~O´"9du, ªØY@çet\&YÝ$[¡•ùÎå2ݸ‚Õù܆¯pè%¼ŸI1¯ 8DÂógªÊƒÀÎ\YCÏ©¢Š¤³EТæ1‰VÒ¼‰çú@‚·¦|*g¶Èi­M�R‹Æˆ€¸bßÇqjY” hþ$Ê#’&R]Ÿ4kèuzÏw‡¼�…óÚIór¢Ö™L 0ˆÀe5ôΊÁä ‘×̘ᥰ.Ê¥s|w‡–ÈBaÇ?ó9Üÿ6ƒ;g¿ÍÉg“ÇrÍp½ó÷ÏjY:ÖÐ\ {hú¤Z1š‹lS¸ëSx7{•̵v&9ÀÀœ\SCï)Ф )rÏRÐ×ýü°$¦Kz—B8˯#ïY�{f³g-`Òƒæî†�§ªÔQvÊh~PEþb]úShížXÅÜé|–gÁ”à 'ÙÅDÔ"\4ˆ@à(.¨¡wÖ Z¤Šã„£R«¹Ntø7K8S%²9€zFæÐe4v®}‚ê\˜tˆéÛ! ^À]ÛùÀy{u ¹eŠÇ(dM«aŽÄ⃽†S± ”v•^ ä~&Àò‚%€À„@Cw%Ehñß´ë2=b²çÞâ§hœ%ã»5ôÉWáÉ®3"¸ÈÆ$nlf•}`R§Ï<îÚÁ«6ÉXÔܦY­ªM:hÐ^æÓ37½h;¦@7/!Šî,fCàjzg¡ (ùËA{&ÍU@›@ »ŽÚÀú.ýïž1еv®#­Z°TÁ…Áû `ªCb’£îåØb]OÆfÑ]&iY_–¬¯˜´?ÛyÐ>ÕˆU€@-çÖÐB  Ô绵ù>^;I(A‹WôyÇ|–ijç,hÄw`x‡,C`„‘hUǯðÍ+ö«{âu‹ß_ó"5éKpl<·Ê²#Ì¿'ã}¹5ø°N‡ÀY5ô!ôªÏ;5×Ì©TÄÅF@ÜtØLcH@“ñd†\ðˆæLÁáÔ�XOˆ)Ôü¯È]cQÍKÒªu³æ©ñ0½ëW9,k ]e­  —DàÄz‹Ûò9¾$×èóS4sm=Ϲ”¢WÃ@&¿»1r7LU·ÛꙣhÚ8;HG*®üM1Í_ôîxÎc¨Ï;„ŒöúZgìÇ&«í8¥†žA¿ÎàÃFeÁ{?¯“¶Þâ£ÏæÐÀõÐÐÍщû# UÝþ>èÓq¢wN€ül¸ÖIqœLò Ó ÁÀœßÄÑFòf¾4?"áÓřȄ÷(Öâñ@`# ¡ÛÏÚíN0S·Ç¼³]K@CCCO°àB•@HIϳ…zön2N!ʃoŸÓ ½ªmÓ .…éyÌ)}U3OR’hcØ Sjè•M޽—ƒÎ2¿(´[:Ç.¤¡9¿óSóïÆ:“±®P8™˜=˜í ¼(@58±ÔæãuÏ[R³+Çæ`íð:L{E¯Ð�á›ø“_Õ€:öÜXë\œXC‹+û£p×Bó(O6Z—“/'hA²â“ÄCh÷E7‚}¸Y€3RìD`B ݶMø™±‡‰>ßåÇÂwC¿¥4%2§ë€Ÿµv<ß™eLFଚ_ O•ž6 ž*ÓÁÑÄþü‘ÖŽ˜i'Å{Uðûá2ýÂÂ}x¡v:³—+Wý:A¼¥Óá)éø÷£´¸§E/ü)ëÅ ›7ˆÀ¹5ôœ ëdá9ƒ¢‹}vb4±ùžá\ùN Õm'’˜>ótvìykmÛÄä:óðØüé}>]8Ðp¬×5¿óÍ2/cf»¶É'#Àž@Co‚voâÊP£âìDœF›'+»A±ÛBCÝÉØƒ3•PÛ)å§ZæKnPÃñNp¹eq¦Ë¿M(Ôs¿€¦“2%¤°)âM‘=Õ¯-ª–áìm!� Ý›oï¢×îLó=éì‰f„Ÿ£lPC ÜÚ¥yìß888T›§çô¤mƒðº ®Ó<!KPˆÃãõl‚N(j}ÖtñóžoÐÐs*¼š hèöŒÄ‡[µÄ×îÇ63¹>6Ï›9Å›¢Y\]è>1Öñ³>þ3¶MýÙÓxñ(nOg°Ö„´Q‡Ö¦æÏñ6aþ–çI!Íš"€&ë_æk™žþËWÅH1�Ž�4t{ Ї[mÔÜî?3ÉÅB7s{A°œ‹3'([ˆéy Þ"}ý6oó_–ê/ªËXhÛ¼®¼ë4‚(8 ¥Hš»‡'9“›¥Îu6Wùâul“Ë9ÙhèF`‹¤¹ÚmcçFŸ¬i&?êñ°b°œ²õs/œ¤²Ï q8Î'sãørçÆ‘9°&'Yº§�¨®øñ<³°Fj±¢E½_îç{¸ö,Âd E׆€ñ@à@C7¦©(+ù DãÓøq‚÷‘œ»Á'wÉ`%„ÂÙ¼9âžFؼè‰&Þ8>t‰˜¬äe®ö й/¨®øj‘žÓ1Ф¦À¥ßuzó}™R×¢Y»Úƒ*æÛA�º=×y¦ëdê*­{_ á.…·É¿W.-8‹>‘9ÏèÓ{"\•ŽIªU|Yj’š<ÜQ›ÂÔÄ«qs zËûÕ9ïõ C™{¬®u?m Kž58�¦B�º=&yæFñuÑ]NEqLª7Úüл=Nl˜z%@-•ç-Ñ»ê�@D™Í_ú^µŒ«vkoçêØ‘dZ¡ªu)êÓ qfažShŠæ§ÚÄí¦vÏÐûvY€e pv ¡{3È»BÀËc);PêB 'ƒ9L7<N¸ú¹à÷οä¡Ë<]¹·’¶œ¿OùmÁ�Û¤!¨ÚQ<`Í™àêpØÇ†öèTüb†–ÑyWEakÌ=?“m"—jŒ7„�4ôàd+£5Eš4êIa“Ícݼ[<ÛNBoŠéÙZr2–£†åÛðQn½®@€ š$ÝÖán*•6p;Pñè�ùÑ´"'L}¨¼T÷[‘ðMZî<ï8¼ºà�8 hèñÈ-y w'¢×“*Aó{:¢ ˜Gòn!„xoEÍ_»i êÔ³v(¼™ññê¿G¬Ìo§oIºÈ¯"ô¥Gyƒ=#GíS­òcóHBx.ú/í<)¯Õ¹vŒÚSW˜{›@Co•w©G1x,4½—‹Ñ6»'tpÏiŠgŠÛàघJ> 9­U«ì<8#õ<•L×–Ð ¢NH„eà3Î7ò$vàFÐj•tª¾¡N%Ôó:—þ·m+y×*뉸æOJ±K›˜¶@ ŸŽ¶ðj± ½°wf’ÑDåµ±Õ6˜ŒØXú¶äZ„_›Ù£üL®ë)cS©h•l ècG“o=¬MKÅ<@Òm†Ë•QÁS«Áë”;±S@¯Ó½[5Dà‚–ójë „} ˜¼8¡¡·­ØetU`UJ—Ÿ ˆö)úu…Q­‹ÛŸ¡%W|ààáøKRêÅ‚Æ{÷ÀÐŽ]:ˆ)—3nÏÐî‚�+]œú˜ËeA§0ƒ1ñêZðWªº@§Ÿ˜’$Ù>imø0hèáJƒ&1 dóþ�Lg̃ zѓΫ3«Aúß-¨Y·ä© íOÊX ×�‡ª.yc@¬¡×Å•˜w]š¹7S¥|ûk*Ø‚L¯†o¯x45™wÖqzl¾õNGj£ûpL2õ€1@ @p±š7²éHhèMá}f\³Õ üåé{*\R-$Žcõ,ôú'—Ôcá65ýØ%®am†bëGr-Ë@›»L¨d>F Ž~'OmaøEE²ð¶VÒI7ªr‘¤W{Z@½•ˆ³tÔ°TaˆÁ@ F�2¯Œ6 ”7NëB­zyŠ99«¡J„"±.DƒåKN¹@³ädª¥½"Ô˜:ZCo-àNTQ/*Pm˜’ÁvÓâ÷|åªëS3íX}820Ðl_œ²ç�œCñ-Ãíø=hHú-~ná}P^ìpB@óChñ¼ tîÀŠWÌâ•í€msþØY@#%Á-ºH¨r~†~l~Ç®^ÜéÅ££žzë\]ûÖãLXÓaq5bH q°¿†^7B&FŒG!0ðÂ~‹ ¡·@5²iê×±NÄ5G¤Éu39àÑz‘j¹€æKpËE#fDÜSRoÆcÓ´§µfä÷t²¸–(N*€øöh;¯LÜ ]¼aÀ¨JµyGùcBá1­ à>uI7`Þ3eS|zÃ\ ÀEÃQ…†iÊ `®±Dæñ²æ™M­óú6%˺Pó60] 44½Õ³h*‘'4¶ÀŽ Ú»”Š5Š.NQNâüO £‚=ݺͻ;ˆ´³n;§S¡ÊL±øyÈÖ1Ä� pj ¡KßF2Ú£lÑátÃ3ÏNŠ}‘«ÕU° ÁU ‘DÎsyMò½jÑ‹ ¾R§,jâ5X-¸ „x¬_[¤1Å-p±Ri §§Àb„›ñïq)B,޹1R;ÖcÆÏxÌÖ(õ{ 7ŽÀä% }d}j5ÐïM‘ÙMmÁe‰NQ»¦&&ÝL²5ÐФlªÂ XÛ7et1¢*ÇN4xrjFÒ“Ëk%Ä¿Èaþ·WèDwz$“Ò£ÿò×*µ«ìPðE¦LxàasÊ€J†ÉKº±nk9=Ãb£j%>öÐïV‘;Îå ÙW£N\L=DtöwƒkëªÀ eŽi£JkŽhž}Ü¡3KW€Å›¤EÑò?“¿?= ºÑYW1Sé¸ò¬ÛéXÒ¤ÿœ—’–w¶P»…ƒ….†Àüõ ]]rù³“¼i*”Ί) DAúâÔ-¿:_Èk$^ÃË7Âà Ç“òÞ$wØ“OÖGæ3{ŠèŠûÅ«s^Qté%dw0·¡tOgƒ“ýPsäye.Í_Ü­Ú3½`7g’H•ß<À¦Ì¿} ¡« yöPk·( bƒšÍE§!iž±Ñ‹™’]ÇÄ…@áÎ7t_¾âjYÿoì‡OUàµ9g|&­óx[ôÄÜ,"ÆxŸš€Ð=7£–Šn_c@Ãþ5oÖФü8-ø™’ï¼´N±ïNáä5ö¢¨Bà• ]•Sy“åØ_ô$.n(@1h1-îõ¬ºõSËYS”“¢õÚgUŒZqÏõº×˜ùëZ­_#«+…S¾XtI Í5±V6* ]!Áþ:U!T8kjå±…ä¡JìÁŸLRÅ`Ô Õ5S3ûȱcszd$XûZœ¢2¡¡ëŠÎ“huVÂÑ$Ró6¯¡ ~€ëH¯v=íb~=+Þ�ùíh~øÄÛ­þ2Y|Ùw&Ÿ”©F^,@sè:ñ˜©)_ô.rSwH›r0­­Ú«t§)¬w ädhç½Êº9$ó…a“#p–²„†®.$“+‰ß«ÍYjetC#ÑŠSôH­?LMgÀâ³ÔbÇ-XщÀÑBÙ ŠãÓ€Õœkä,|$PòŠ„ooëñ¹<ü`sÎË{ì§Odžw¸ü¤Ép‡“Tqõ¨ÔœšUNJÃë§Bà,e ]]6+ã{·ßq×Sµ}ExÕÒz-£Í’%ãÑIs�÷Í<]æ®’ ç)»©3EïR¤ºî÷PÜeÞÅ›8NöjÛdÁ•[°ë÷ÅfÛÕN$i§~/lj@ÓÕSäám Ö€BàD5 ÝX¿Hmž¸¾j±†%F}±ÆSäZž2·u1@m|}ÅëXú ‚4^h²Ã›nU%t>qäÈ,&¿ºãfé²J JÓ½’¾‘š9…äD_nuîüt3óŽyF~8 +¬»'ªIhèÞ’( A¾€ þÌÚ¼µ{šRœ½eÌc¼&*"zZ‡IGzDÁVñ¤ ™ nq¦{»…†æ>ºÞèD{‡é'â#3¹úz.›LiK‰ŠÙ+Å*}Ô ;”Š·¹v[:^ÈäÏ€ˆöt{)ßòé(¢-LÌ:çªFhèö¢ê'ͤ¤6ªÒîUAº(”)"úÂb¬¤‹šFx.Ów©GÑ«œŠ¯Iª€:ËàsQÒš¦ø~›¼†±ÇõæUôç,•ô³ŸÙ’ %‡‰+"ž&þVÒڦö£å­ÝÞÔþäÆOšµÉQmsïtÝ º-Ñw³DgíϽ'©‡/TŒY¯¨£3_¡‰foó^ÔBÙôP·vâ¾ØaZWŸ=ß‚¤î¯ÌbÁ ×üQ0†ù èÕ ¤¸ÖðØ'1¸µ°ÈØçcôx3Ë“ w.7ÎHCÖ=eˆYiF .Å i4/Ý6º ·òQY£]6M(¿=oÇ,2‹YÊZÓˆÓè58¡¤éO.g= í`Êk!žòsûs7•…36ȸI×RÉi±H.ž¸êø»æZS%ú,Î$éE€¯¯´© Îø´~ž‘"†€©{Ö³0Ò†@P‡EÒh[±4t#†bïñN. ‡<?êw$¼cžŒ€6êŽïLñîdp!”Å¤Ú /O£çmf¥­—aüE€¼´DyèÝè0›çO#‰Üê´`Ç „“p«@‹û¼ÑAÐÄ{Ìbn3±†Þó14t+9ríE þêñäE•†6O¸:OÂhhï •6d<÷¨K”öÊ«œy½)*ÓÔÐ$²é:ÊÔÄb×ÜæóJì1<¢MÚ¹šj‚Ëqˆû¸Ed0†Î ´Û˜¼€žê[ÝÐÐíâI·v‹÷3ù)u Úí{ž„yZÙ«u­†cjæ�/ô`O"ó×¹ KÎÐлõôXûê*¥Ìòì{FŠú6åÅv9]Y" Ϙâ„ÚFvFeê‘4{ÊTúlTrOaúiïä(Q+?WÒÁAÚøx,zÚÓ¤þ‹wepŸ…ìøKH^r/¶Àõ4Ô¦Š ~;œw°|öîX¥¡õÆ¡ÊP 5&Ê’6Ý ºµ%Lí’\“ä­A·]¼gg‰dÌž Ý€dÿ”bù‰F_ßïRÒΡ“@m2,î÷\&n²¼oÔ»0(^0ˆ&¸Íc/JX¾a„I -®Cø,ÞÑ‹!ËÍC7má˜Z\‘e½kÌœB@·åbȬxÏzKhn9{as”‘[Ókë‡$£P…$ȨmÓÐÐÉfêf­ðÕ8ÌÇP, ãZ÷ÞåQkLt,Ëñ@… $;|7òß“.nã­‘ßÈþÙãjÐÐñöáú[`¼µQvnÐl†æp½°§Jý­éih¯M•¬‹9S¬=NËÅÁ;ƒ ½à$"õzâ-Sbîäåã_<íª¨tWyʯ„tÖz%@ã‹Â]ø¦u3÷Êü/³Ì¶3füÔ¡™Ç+þº¸.ÕÚË”æ4ËÃ-vHe ],Ñu€·¯‡¸tãFŠ)¸>º×W°Ç÷Ìu¦¹ïéOíZÐеˆ=úoÝÅ“uG7E$WЦ€ÞÝt£â¾Åg½BÖÄ4Dïff%Ã'SñHEDQu÷vu­Ì1! àÎ>óbM¨™MóõUc™;hˆ€öüûw6çô§f1e'­ê9Ó!®O¦ur¬cºùÇ’cׂµàT¢á­yð„†®ÈE’÷u#×kh‰é½²[«È hþ­ -‚3×ëTp½‘G€¤•ø^ˆ×ú:*Šà„Có�N\MïrNl=sO™r °òü¡J¾…ë±±¢dR¥NÙIKz,zc­Ý,¤¼­ó_Œ¹Y@ÆÖUQœZ@/ÎCCWL±‰&[‚ØœžæÎhñ ï¡BÈš£Dà\+ðXbÒàd§×M'²ÀIrøò?c祯¿Nv¶P̦)£Û4tƒ€ÖiÅïÅî à5–#–áäiá8ìÅ ¢JŒÿÞâ>øßà*^ɨ¡¡³u›Ô‘ÁE•©°Ðüú;öM\©{ß\öC  é‰«j‚1¿—¼™7oˆ£ôlœpœ™ÙùãhÐÐz+‰â1YF@¯%ê]€oÍsñ”(¿‡ =Òbºw^ñðåˆ4’=îp‡¯äÀ4Ρ+ ²¹Sz"ÆSÏkÃÞ­p:*"â­åuQp“Ö'Fž”1EhœU-\G$tEÕ*£ðßÚN&e[ûÐcß«Ïàu¾×ľëÐkI®ñû²ûO&_”ˆžºÂ\KÒ`ñ²˜á6?¥<p;èzóÄÒN—Æ9t¢gÌ&d=~Ë\CW8W9TÄ¢oq>+OR°Ÿ^áêYkw>¬*,ÝøMZ4«Zèƒ=Íw çiä¿S(.ÉA››ÑÖAy¤Zð]ì^Ž=‹Go[Ê©ênPêí³g5ï³n¼ã¶óA´!hèí Ö–M½§£Ö‚†®@Òäzó‹DEa](ì ý¡±†n`“"ÿо(Ïê© µ¶fɱÍK¶µ†äb #A~·Xn;›ºNHøŠDë?É+S+çt`™×íe¾S¸sñx›z»meZæ;kÿbÖ»lkä›ÅÎy¹ärbwŸ·ÿBCW×'musËâ˜dqP.¤¶()á[к2Z["˜#ËÃBYãT^žÇÖµ’\¼æþ7OßY5û™ŸHÙáåÁ_=xˆ€.ng]Øùˆ¦¹gñxky›ñJ›t¶Ðlé}õe çÔÄWÕwø`G0FU³ˆÀ š»øÔ›º±€kÛ m× \qÙèåÃ4“ÊÑéŠ×”;/¼:ƒ¤6]Th¹Xk€"VBžÖoXhª)q§rµèŒÖÇ¢Bt;äEeR¶Ðߺhu‘6‹!œk€Y<ù}”¶ŠHOÝkó˜ì3RgS'}Ó›ûMɾªvï¼Èh¡Æ„2ˆ³iJK‚­WÜÎ>4t#¶ Ô_ì@ka‡5xìuDo9ÍnBhŠC‚Àç¼€&IMì¶?—í¿bC6“Sâ$&L2¬VCë«2!ù^ónÇÊü|Þ$ø w#(žá¥ÙÉÛ†WÚžÃS–7h&×ëhÛE’}7 ½‚Fl 1^íù4]l$!I»øØBC·ª)L…9]7Þzü²xl«¨’û‚S´'ž5Óg! Åž1óÀ±8$3}È¢I߆]ƒ§„†æ ˜Œ¾&Ô%GÌ•DüZóSæk�WT#竆²×ä:)E>é\ô–§›«ŠØûÑó–[%»öp쉸¨^⓸,û£ÞÇÂlÔÄJ¾]¦ÏBC·WµYbrI¬Ä kxmyl¨ùØÕÌÝÒtqOˆ6é…©åQ{†ZgOA«#æ]& „úŸ¹kxÿ½Dôæ`_zb‡Û4d}Gý {E[gGŸGìÖe—Ê—½šc‰·˜î­Ã54u(S@¯ïî³Ùûw¥¦¨IÆ&1im7$“þŒ Ý‹§Yµµš˜oã-DOUÐÖôñJf ¿Þà�öf¨~~z“‡Í¸L,µvóqflv\ š›¼z<,ÙÇ-Ü£·„zön¸L%•%Ê‘w§ÄÎ Lo1q)% c`pÙjjh]“[ÜÓ2ðªF¿O —Æ^ íB¼ 4tou˜Ü󵂻Êc.82?OQôY±Ù;cï"b4®ªB2¸ˆÃU¶6r(øÅÕz>Ä«NW¸®s**¡‚–£ÛÛå›ÁjäêÄ4(ðýÔ•*yÎ F¨€ÍžE[ƒ÷£†U’S¼>Â}3÷`%öX)E\l¯np6Òкç$¨9½JVif4t%wLPÉ­.+9+ï´¦¤`n¼ºn~4^p_BÐgê ÅjšË‡<jäð\Œr,oç!ðÞFbZ”G\c¤ÒÖf)š4’ïJQÛ{^>§É$ÔI,”½Š½R%’MÝx"¼“é-\å»UÔ‰×OiXæ¨è3odœèú\|–µÑÑi›¸$(Ì'S}PÆYô´ ]ÜqÑ€`Ïgìò"#}™˜S»KƒF•|K £?µvñB0åË!ôE“™M»@C44¯CO4S5AãòzH#OfðìÄ^ik¥W*㣪{a»ih. …TÕoqñšï E„EÛåÕ¥W¡ÓèáEˆ‡@(ÇÑy(‘Á"8z�ßÂÅéÜóüÅsÑìÌ ¡{³Ó³·ƒÍÜëÖý|o—šÆ=Ž(n!./„åX»xnhƒÃù+ ïFë!MºW¶‘ÿÅu·À7‹è1tý©Ï˜i 1'Rô¬ÝÒ·Œ‡ØŒåQÑ¥+•q1Øí˜Qß±@7-Œ…×�=×/j';‹ÇlIfÏòÚåX¸?=â!èžÅz8õ¦³,ZdÅâ€í*SËÐнð&ë,¸¼ãB³×5?¹KÍú.=—5f€$nèIƦ9x;"‹1»nsµ4ÆXÏ;…ï¼RµÓ�óà“!Ô½¶X«c¼¶5O d¢¾X%gBÞbŒ&q´Ð^ca×HìV~â«=u—‚èY<ÆžmË×Fí Š¸—€ˆ·<ælƒâ¼³ ¡[r§k´ªj—%E__iq¥4§¸KÍÅp2fÉ5±÷ŠšU¨"!ÄK~l^t#ì.37ÖóíüÌ[…ÁI\׌×y5ë¼XüÉÎÇu##ÛŠÿze|lº9u›ŸÛ•Ùé-mRó+z\Ä‹;7hGÿs mU!CÑ%Ú¶P4ÎZÛi€¤3¼_‹¤Ö&¿)¤=ŽµÍ…†®ÃÍSœUV8;P=mZX,hnlÁ­h.†É]nçVe!?xÔºžªË{R5r”ÛU‹n:˜·½‰tåwyòn*šGs&94[»ÞÄ6|®WÆ ™ ¼ÍZp¬kn¶UˆñtêWA,šˆ¸Dôa­Ù%R«º´ÚJ´ÁO1ÏSí›v«yÂlËŸ ]‡¡Þö Õ šý! D” Ÿ‘Å»K�ÿ)ÐçÂh…EcU—°A£²¬WÞ”•4’C|„ß3TT¼`¨Tø“ø¤muK”Y³¯ššM]l¢ØÅùÊ̼bâºnÔ×Xã­AÛaHKâÛÁ웢õÄmqÈæÒaÒ&÷d£ºò {ª‚‚¹ àTav¦ºÀ!È…{–Ôê�‘ò¦ZÄU “K¢©4ô¦²iûi‚Š2}Ð…µSæojhþ"Õ /ýõ!P†>„†x2›‘â®î™;mþŒb Aûôçú„/¥ÍgAtÞÖ0¯o9ÓRö‡l.ŠKtÎÏó®ÝŒ Ÿö<5¯kfHìüRm Á£LACW ß¿“µF%ÎòahRnPu³óý¯¹ fΘ|›Å6ówŽì¤6Îà£N•jÅÇðNÐ iítÚ>fãך+iû• œï'‡Z4æßYo;n~|Š®EÅ¥ ÝíPœ×'mq…IÄÛ >ßÞÖ ×Eˆ.)9¿…º ZÅ,K½(‡b,c±-¨ ¼s°`ÎNk4}ª{‚‚†®COÐAm˜åXk¤ÎãÇ£5q‚Nö<“õÅ€ˆ«& à#MzíA gn1Ó8çn³cõ¸äÍÕà{k‹Õ7²I}Ž*w>Ñ#ù^ZµI,n _þí¨ ˜ßl-μ¹6Ï–*59s ]¬L©ùycpÜŸÞk̾)v±PWšÁÎz8ÚÞr¼sé¨MÏ«’¨/fŠÓûÁ/.Ñ<` oM5‡Ó?ºCMjùù¦ܹŒ#4H:î0HS^-wp¡#ªX4ùð‘ù|e¯>xÈ÷p]kxÚÂÏZ›¼ ®ŠW(pñ®‰Iqus³ëE­Ž=²*:9á�]~I'{Ø5¹Ä¹†iÇ ;_iš|‚FжY4°´SÄQº¹Iù&Zà¹)²V•J¾¨×ª4·'íªöQàžƒóQÄ^²³gìz-hèüšq)*ñ¤Å¦9š—óf¼¢7ÙG`~;qkÄž‚dó>É{˜iY;L‰n¸õ¼ÍyÝ$v[ºÍáü,!a©Ýji«GæW1SÆ ò¥j›v|gì=Ô4-& Ž É¨Ï_€ÒSLNX—Ϋs/:ÓŽàF“KE£Ôí²MxñÍë5&M›´þÏ—ªœ¯ÜPf=SFù6ÊNO,s¡¡;LM¼@usH5³dà­fK1RÏBL©)ô‡ Ð3o ¯Íw æU54oüMz-³x!Ç'z"£ó3å¶œÎ?«¸Ç‹à_¦J›“%è%SIa§‰Ë¤£QØáíÓ#—Ë‚6éRY·•LÕ f #|®xNþsÜšoFWÉòÈ„–45|Ø(ßFÙ`Þ 4t«ö‘B]qi7Ú7Ó|É ÖµbÓvŠ[%0âñl�³½Æã‰9¾ŒncN„ÓÌÌŽj[8\eS´Cñ§8?ËT· ’Uu iU\K&fø¢D“ÒðzHŠ+´â!tP<SšŽF¥ °£¯¬r™,ÛSŒ‰›—n"B—s®Ðl9ä`¾¡V‹ Ö`sÔ”Q¾²3*®Z;ÐеˆU'uµÎ¤Š9KéÄ RG‘yE€O)Ò_uJZ'x½ÁôÐ[dˆà(6 p¾å´Â³Ç<ÞSEDú R&qWæ©Ô­Ô\që„îkÇyLÞá×ù¦jzYKK ¸~ ÈrPðUê<sýIú˜Z¡`Nú“öòÌ-ÏëV<÷Žÿ›Kªy4Olvµjâ÷†©r{ì`hè±xJkk}˜Ûõ¥;©ß5ÇF‡|1aäôt“ëüto‹â+¢½Å¢;ØÔÝ”7ÚàæNÞAžë³í5鸣cs`ê=Á4p‰9MQYe,D*U`[¼UØ}Þ…ó¼�hßužÄó-ïõÑn†ßSÔ³MzæîPíCÜbd‡`Í% ¡·E^s]‚o»ðëÅÊ&6¤‘zŠg$î—‚ÔƸ,kÖÆ¨“]¯~œ™‚b*ë×Ù{G^g¡SCÁÛ|óqÝÞ¶®gª´í*ªM¶wð<Mƒ™#Xj"mYÛ‡_%Æ´œKÛáÍ‚RÌs½zlsîg^æ®K膢õ4÷ªø¡VùÁæÈ¶,w.šŸÞï^¿…¼·ÃGBC‡ôÎ ß·æî¿hŠRŒš‚9¦žÁãb˜þSðàQ2Úì1Ú·Mª*aTw Ây'qÈ!ºZDÕ¨>‡.Öº°†ž¼Ú i¶)fÝG°¤ž½'™�‹Ì·L±$¯?‹ý‚3•‰�ßhqû (gŽpÒ}-¬ÓƒžVùm>ì0«3ÌÎé;, =³ë¾;JÿåC-Ö4QO|jâÙɸâZXç#;Rp®¸jâÜWDr#Ǩä®qË.˜X|l »×‡ëõ±åQkÍ¹ÖÆ{x4È›ˆ·©Â‰Š«p6 Ø«Þ!»IE‚•ÈjõJôPšKãÍðõb˜`rm–7¸*„Çvù!)¨õ??¾ß½~ yoÇŽ„†‹§üOiðʬ7xás‚:‹ÕL¬-ØÍ¼qÍä,¯yhÝÌ/?4Å]í@%šÊ©™{E¯‹6°›Ÿ¢ÞòŸxnÔ@³ºëÓ+öøÏN—¨øÍÕÅÍÓk;=³Iõðì«s„‰1Lv5?ë ¥Šd4AqNÓÀjîÍ€/xÒ»áj•›ô¯xoIž]…¢¿ðE©ÑˆûI&ÑÐcy&wµcªÊÏ,°Ú' =,|cÇj²³Ú†ylýŠPÑ8'nÎ/I~Ô\é}.ä ñ¬§³‹ž ©Yô-ø®î™Š}8û-A××½0@;VØVÐoñWÉø¦E%":{ýlŠU³qS8r='>轃³q­Ì –&Ž”v„¹[‹=‚×T&ÚAæã5O@{tÁ ¾;ïòà 6msy‹g¸K;„†�²æ ±Ãµ°ê LarYÐn…d,œÛénaê›C˜…³3o]«3G‰SäešÍˆRÚÆhŠ¢´ôŸÍ>ÕZ>*ãÍ' ]D¬m�ïâ~_ÝVˆ<ùZÄ9æ»ÜiûÊãÛLÔ톬qîâéå2{MX«höÕîý™OñF]i#³ù¸Š#{<ì™[tl»ÐаÕÔ >�âÅ1O¡dÈhU„œƒ}““ù\¡ž‰§D û(f¾> ‹iÚ‘ß$°é³=´¯qƒAU-ñêÒ“€Š^«+Ÿ¯Ò¦H’žì3LlIÚûרŸ}0¬]%à ʈ(i^¨ÉþÒÃQæšÿÅŽ 'Å­¼/ð�×çÏÕH°×ø�Ž’ØË&¶ëŠü^a-™Üd ’Ö4mw›Õ~ÏÜÝ AC÷"ïméu+j²ë]oÜü"z|dòZq° zÎb(M ëîxÿŽC¥lÉô„o~Môf€å•*G¢?MÐ*m?\Ó«YBºqò&„"9Œƒ"vÓ±Í ï?ÇP„s±ú9¾‚-’$¬·¶N1½’¬½žŠÕ}ÍÔµæç±bÛrV!xQž{oi®0먻œíŠ-™ÜíÈXnv²ybÆ«Æ@C÷ë‘ ï@´Æl%3E†GD6yÜc2©èâúOSìŒêºœî"Z‚è<ÓÿÞ¼ŸôÔ!ö5âåç‚*J Á_õ´™šº/]<çç™t#Žtç 50ü3š dŸwU#ʘ÷ÚE(’¥Øá=.ÖÐzoš»U¼hò?í/“]½#j^Ò >iøf‡½³ÃÅâ‰ôxØ3·Óí¶éÐÐm¸=šå‘àÚ˧Ð$5¸œåÞ|”ìÁÚ²)z<Dnø\ó­¹L˜!ù%²¬xb}{ˆ^B”_³å&jbåYŸWÁnÖ^¬–ß"³UøÇ\o[RfU+bp'kRL¹¦óe2‰è2ù"ÌÔCR-éÂA‰]É—ÖŒ*¶ ÐÛ"öÌ-UÞþ¥×ù“`³kdª÷”Ín 5;ÙìaóÄfW;'BCwx7=&Áù5´GßÁר3ÄJÄ'ŒÉ‡éÁ"Ú5·Y¾sô¤\·«8¿qm ôÙl®=‘Î3W§›79¯­ŠžÍÓıÒϽ¤©œ«ÅÃÌ9œçíÀjœ¹ƒOÔG×9ôŠ÷aWQ‹h~nƒ‹ó9wFÜÍ(ö#'s³#h^ Ê›„À£fíÉßž-P¼ ^sÖžk5»ÍYºÊáªÁÍîš = IûÃô™ôJ(&ãïïÀq~ÔZ°g@ bzŸ¬í)nøöÖ„«7Œ°à÷æZžôt‚f6š€ìõT.8tçÖ*ÄëRZ¸´m‡1u@æî¼]y7$§]HÔ¶yÃñJìô¿qº‡èAé¢9ÓŠõ$µp›·€¸añUâC}±¯=¸8ódu’ùÂÛy¹¼c|d[k>Eh&4t[m¸³ÄÆ›YC{DÐ\Õ=aœÅ^"³Â>ç_>†“©V¢BËî&nª4t€°)€š¹£–îý–æ&AÞÅ¢~øNÔ6cäy'Ø­ÒÚ@Õ;¥h'£ŠF0`g<n ì6)Î!nk©DÛ„ VNõ¦ŸQ¦&Ó,^Ñ]I{¢‰]œ©Ó±úŠ˜^b’y#ÍÍ"¿DÿÈ:"xûWßÇ4ô0œÍí=sA$^²ÅržòtO̧DëúIpº–ŒbTš5Õ Ëb@í¹`m½¨h3£â=ÖŽWH\?ºå=/@‰§y…S›ÊC  XÈôçø$'_Ôã=ͱžà˜z-•<jŠWþ¢è˜f[i+r“Z=ø5€y·XÕÑÒFµ40ƒ[xØÓš'à =¬x‚K®i "ð9 ç&©V-‚éãköÔÒnâFK:/^cÃÉe­’6;M>ƒsŽ ˜›(覢;r%Í%¸™Ao­†T‚m²~¦å¥C@›|QSÍÞkBµ.ÔѬÆ„ìI%¾7…ÜCî°Ðú`}%¹51ò¨ .Až€¦(’«áíçíQI,ºÚ0À+ŒŒ©™ãþCCgZ”ËÌÕHrÌ÷#(:¢E>Q¼Kã5Ës®4{ƒ¦-n|©ÅQ‹TšJECJá$•M¬ð´‡ÜìÌÅ–¬(¾ù<F@”ïR°AEÇ©¬Mh-Û?¯ç×ÀDˆÈ"í˜b²·¦Vïèa’^ï‹{¢ösÝkœÕùŸ«·<dï^p™Õ­ÊÛøUz½Ç£L;q¯HÒ`ÃÒIËC†‰¨ò¶jðoÛŒ@C·á&gÅ|1fͬ´5TSº ÍÁ‰S¤&P¢Ë"#‹¹‚XÛbIB+vu‘‚‰^{¼*Î¥g! Ú"êªÐ¨BxQiE{8skTlºf‚šdL˜“ø¼©{fS¯•ÙàÁA\·ægtà €öÔ®;Åû„Pó?ï|—™¤*¨`-"T±\=³ ©i˜RtoÔ€ž5s\hèQÕbÀt–:¨BA‹b:²cŽáD)¨­¨¡‰X=Ñ\lEU1šƒE6…ºŠÛFçêq§Ôøw.wøtu~™(Å<ž×4¢¤÷ùè£'=6/9W šíÂ4ÅSPáhNšb±Jn¶Emî b$ó´Øt•ºƒîâæãZJùºgêˆÄ½(ñÞ÷¢ãn˜yáW U¹È3d•ÙQƒ›[óäq­ø@CªûW¢OQy4»ñ¹œƒ;ðWrfñ˜Ww‹ýŒH¥©Ìò /¹@˜Üˆ¥a›ýIfq¨3;ˆš–wå|ìëé'÷9ìûa2A^qfÀL.q™a[ïY±=ñ䥯sO µ†â’ÄxÑ»²4*7ïâfcõÉ[ŒæŠx§s·©=‰Õ“0rS[hh/¤{;_AC®œë)­qÈtq¯¯h…!¦ÓDA©ÜfŒáž=O_!Ð+AçØZZÔ[/4xoäÌñNPäÐbÛ$ÈZrÞÇͼ_Æ—pͧG9<ZFyÅÙbëêsŠ50�o-qÓ—Ðm=ÙܺÅû‹:‚`{OM®ÖÈgnœ¿hö+4˜4=¦÷˜[ŠÌ—Îilå[ ÖT±Ô>z0¤=|7Ø•nsæÎô¸ƒ¨*¸N ešElKch!±‹aá^w¸Ü ¯sˆ«ˆNž  ؇­íÎ1{&±õ€*–«è¯^öt¾¼pmìƒØ¦mÛOœuŒý ÉãÒ~<½b#),øœ"åA‰³�~,Í%5·™gÚ5›azQosN,I’á}- ©Î©ˆ.ig¦‹ªjú̃7ÝŒC‡†ãS#ë^ùÉ9:¾O0§T¡°‰ô.êo* Yçn'ßO4iN¨äšã¢¼›bµáMñš´×~LâÖÍUܦÙòðYÅâ¾âÙ j>Ù®s›kQÊÞh¦Á±Ã“¥Ûm7‚‘û`ÊG>…?çƒM–3aÑ[U 3ã§¡Å4Ô ï›Ü¥ª]~¿7�[`ç`hèN�M?c5{ÔœŒEkM©$Ž5s ¢yd}Eì"s‰‘‰T¶ô6ÞßáÔál¸™îàj*ãCг©zÅ™kəܭÛs§{™jÇ\²6jA¨ïɬZ;™ñTx¼8·¸ e|«ì/}r¼¾b^ÓŠ·âmë9©gñ½¬n.´kï”3é¢LÏ¥ äø†´Zf?Øí‚‚†Œí‰º—I7Ä8"Íïñt-J85xƒïÎwbîþ”ajè"ú7¸’Jæ<üKóæ}Y@„— ¢kŠÊ¡"`FdV¼Â_Ÿ0º4oÙùžéì¢H³+ÒžÚZˆhJç-ƒÞõâ÷l¥vRPІ"ÈDßãm-¦dÑõ’Ù¨ö»‘\w·a3G =¸ NÔ½Š/`¾+ ]Ó mä1© <SÊlÝuÌ‚0÷ðá¹-ap)ïbŽdŠŽ%£`hVæ¶ ¯b‹N¼ªÍ뢅]°”‹d�<ı-:Ca0ÄÍp‰ÍÕl'?1hë[A¼‚NM»ZH h-âÍKtÞe¨aµihm?éFrúá(égó° éÍ6GM„†…ä#;Ùw¸—%ìL=ÝLÕÏ·A̤\y›*<`êá@ig8Ù(žV<ª3sHM\]f \Ër}Ì‚¹¢~ÑÛ¼fÕeöÑF5 ³cy®K†w�g.3±sîÝ‚ôN b¤·ô>~f¤¶¦¾´Gš35…š2º ½ªÁ:‚Ò3‰&Ÿ;—ίµÿÈiCƒ†Þ¿¦X1ßûMI¡§› ƒ3'Êõu“é<áô7¼½Å)1woÀò} C"ò$©h¨¼Yšý¦öÄÈ«gZÈT0^º/ƒ!¹¸q#&ŸxÕŒUÀxôÖÀE©ÎãÔNÌÀ|E¾Ýøëb—é) Á ¦ç1€œ3ùtÝt8˜Œàfö‹*œµ?UÓ/9˜22[tÐгed?zøšshpl@ZB W<úÐôWKmÍÈšœx¸xâ€ô¤²1±*zµý~lƒ…f�ToÓŽ)×j¯ÍŠ×á±AÁ¨üdº-)ĵ{*³\¼SL¹ÃÝÐÏ…¢õGÉ$œx�1¹ tý'XEk…Ù22À®cb÷òv.3²˜÷#…†>üƒ—n®KÎÎtœ`v“³<2-Ò­»3p!+žt’·4 G¯¡IZëÞ¨,]òj¿6FŒßž;±}<Bk“GÅêZ•Ó(áNÊOí?i9ñµ€óé-íŸEÝ!ÃrðõšOëJi«O…wZ’÷ ÉÈFþCCoìiÌtcÆÀ¥ÛÊûôŠf7Úù‚¡8o d!&êkô€ÖüÅÉ}ÔÍ‹Up`½–¶í676 G‹µn¯þôgÁƒ‘wµ`¡Ú}T•n Ž€.A_AÛ®-ѼþÓ‹6¯Å™Ypl'˜ñN1C ÁÙCt¾ƒônâùÊÈh±mµ65Y}ø•L3Ô^Ói6xÞ‰Ef>64hècñ?ÙêÄ€Z²èž$(R—–‹róŠœÜ;³‡ñ]}ˆxÒí§xsy?\¼ÿñh;<ÓãUˆçyÜtâ d“×’VÁ”й·O„Öv%ï<gs  è„bæÛ63=3ÆÛ)Üê™;I9è/ÍêV A¹óˆ} b3—ÈÀK]zp§Íüê󌘑-‚‚†ÞÕkÚ$*÷Λ5wk.0ûPÆ‚&D øe Ü5gͰ¥É+ާ÷e¸Q°¬ëöÙ¦¡éz)è ºÿ™WV¤è¨¯2;ó àmáµ¼ùžeÀÿlS3«óVï:MO‰‘Ô<죶¤x.yÀ’ú ñ9Á3kòÉøÏʯÌ òÐ(M™UÌ1mE÷¸›Í;±-ïûø ½Îç[E7•}ÁÄ÷6=^Ð'‹x G|Nn²&¬„-|Ð6 F1~ç®Q{±W}ºZ{Äûní܆tìPT ^aÊ@©§÷ŽÉ�&e<¤¥¹Vã^$œx;“)¡È·¨jn“s²¾+FhÆËñøDƒ–Á\èf¯ÑÄúoë'+/×C(= Ý Ãšó¾ƒóÐÐ;€|²%‚z 䣨ÕO™½‡^ôH‡[ÓMh‹öÀùÔ”° ªqT{€ép'í®°{ ’’‰´ÁÞz3K` ð•lò’–¡â’µV$ñEMÈ ßãUŸóÐÙAC¯ÚT÷ Á[ñ\PwÐ_òµìÁÏM¶¤Ð†ì ZoãîS[uCB˜ÁȦ¾9@hèfè.;1 ÷•Y‚ïêí-èÔAD¬ -Vïÿ¸-H¤Ç}ºmìY ¼¿V­ÛLå”—à^Â$³JfŒ×Ûxçn³S_` ›¥Õ-—YÉ:äâÒSÆ$¸<åÞ®{ÐL M1tÒÉdºù~÷žÅVåÀò0…·ÚZ§€Ö¹ãP˜°ŒÅjÅ! ¬Ll¶Ùæ f™@C£0!@,_õišØÌÈ3[×:žÏÒì ºÿÐv2:&)j;×P�oÑ“Úå-0øNaf‰Ì˜b/-¹;�]TZwjŦùïýØ‚^±êóM˜Árš‘¶Û#k§ˆûù#Üà!Ÿ½ASzn±Y#mí]˜Nm›¨ñb÷2ï¶¹ŠYU@CWÁuýÁ1'Šƒ•tƒáÃÌÂðjA3©ÙíÌÛ£4ô!ÕÀÑnãå¶Y:õ”ýÚÛZjÐÊ PBµÆI"S±yŠÊ¤)ª·b•rAf~ž#¸×Û_\r› ý:ùÕUŽž÷á¤XÝûÓ¼n¡%(ÌZªÑÁšùòH#_T›©)žX[W1&�4t«[iR¹©ZÌKá@ä ËüDAkhA^GÙN@ë˃* €7ï^3››=‰Òš‘µKWßB.äQÅÈÓ!á:¯æ…vÑÒ–N Áç9ñq5_.8šÕšuHŽ´¸Ç"<öXFk”̤x½£6â(j(Ï·•GàR›‘⬱Z¿Ò ½wdtÆÞ>=^/ÞÅwƒkh"SO“‹Æ³¤Eæ:$MDýîõOç(5ELªÖ­Ì bº˜ è—e¢ìµX,ÞxÀ%]ð!›yÊË©Ø;JØNC —D¤<.Ý2´W´ÓƒaâÓPÆÜ7Þt„©þò0}kæ´Xš÷ŸÐ7 ‰) ÐÐû•Á¹.=a*˜E0‚ÐUš•Ìé‚pƒ[±WƒbüF)l#»œ±Ø›3nô¨Ë#cMW‹7Ë+¿L\ÓU(Ýìà"I_³Å<é©+S+‹=¥.d´§\ûÓÈ\âç•¥‰«½4Ii€Ô –0ä\qR =°Œûkã-@Cï—ô°ŸÓWŠ·k, ‰OɈ–ÂE:ȵQàì¹VÒgÞ‡ÜÄÒ#oáÜíŒ)£|­©$bü¢Ëó¼Ê_ -8YoÒäVõT¯ L^ÆúV¾ÅLåÚŸ¾Lð´wï õ‚µM˜Ç(1iTÅEîÅ´³EyÐÕ5ĤçÁ›fÒ>†µ!� ݆[õ¬kz†=IµhŒ8± ÁMoÅØe„Zunœ {®•ôy‹*ʇiöxò¼hGd¼øiC“ªaÔªIˆTMÇà‹!—ts°Á>å 8x.–æ“VßMá è![ ¹ï_-ôÍ{?’Zy z|e¶!R·[¬Ké£"ÑÉ5 / Ø´~sýßÔDhèÒ]TŸE ²“£á2œSôG‡‚du nò:D`?¯Õ†�5g:¶ÐÐkR2 i¦(0hÞà“žd¼©ÓÉ>×馂€H®)Xk+sSYãñÀžÚ”€«Zzêqó¬$P´[Üïë%Z„¶ÅÞo+¯5à‡ì£Û\z¿¼›Ûæ\Õ¿z«)Æ”ËÍÚdghhêOµ“x'xm;™—Œ†Þo+>¬DõL_w©síÐý1¼êŠT1yáoZ6Å͸ÖóF÷rð-/öõú–¹´¸Tλ— ¶­‰QÉm‘ëÅgO¶¶­h⓼Õg¶x4Ðãæ6 � Ý�Zã“UMaݸÀÆÓ]MÂÜêDXžLá±7Ú‚ÔôBû¬R•1àðg3ÜfäË´—}l­ ´ä`¾âúœ àD;4,†Ðä–:Üø•Lõ_Kë¶p†ëéX Òêä?í,þ–IÅñ ~Ålu'Q«yÃÉð^ (¥ª´†;Óƒæ.@Cï]A{®ÚK;û­·®§-bíkò¸É¡YìÀ#;,Q›AîÒFí0ŽZgœ Í ïfñ躪móõZ¬ÚÆSw'5ÐÓíÚ|À¬CÐ Ï»7à ýÛ3àI|ÅBõÌŸ „Wô2±õ)8 à!dhÍë5Cb!gL¥¾ÏQt¦¨ˆ”†D #£€†…d‹³thSyg–"`ñ¦6Ì“‰¸ÓsòŒ–69`à>^«h›ÔÐ^ðZ(lÚ,ó9àš#¨ó}2’w# ªæO<9UTT‚Ê*Dï2!=×?ù‹ždçô‘¬89› ÞÔ£´›< -d´Iøær=!ð¹sSúZ¨`f¡†¢Ê˜Å˜6 ¡Ûp6K‹‡-Yo¨_CÇb‹‡\äÓÕýMydSãõðo¯p)Ÿ«žV3.Ï”Yäb/Ìð±Œn®$¶¸¦­60«.Î(§mG’ýze6}“†fE± Í&¤öÀŠä»†ö‹p†ô´ð*hÛuFòmë;È5Ó6ôš†)=sc ¡®M7âbý`ÿ|µZäzq¡hß6 ½•lg¹9›;»”\Nˆ×Ú½×·»ñ±y.³LUÝlE@ hSF¯ÃèŸw¹HR¬ù:_ª¾Œ$2Ò“ËÖøæéª,xNÒ¦Öº™N=8†^‰q®r5?Ø6oaÏ‘I~ÞÓ¥›] zŠÔsIB%úBÙÈSÿ^ƒ¥¡ÍuÇfqB†ÚߥxEÞž©AfŠÇ,u^ó›ýÀªà²`B¡?0Ò›2hh}áD &¶† j.%kÁ 44mœ@zš°¨Ë:¹R@@KyÎáæÑïÀ#ódt|ƒ¯ˆÅL•4»Ñ°ýÛÁF\À,4ôìI<VI÷ª o¼\šëÍÆcZ3[ÈÀ,C¸VÒÔQ.Å]„W¦öÐË] o®sö°áŠ$Y¶”PM,šÜ8Ñs~ ÉË»mÛšüÆéѼ„37 y8üªÏÄJ_cEð}ß0³5½{G<¼ øóª®ßl[uõ¯ hès”×+»y\»Kƒñ¼÷hÿyˆ›Ð ¦6êÒq¬KÞê¼&õñJU›‚`œ“KÒæ“¾aX-$ï¸ÎâÛ¤âäOH>ÒÈæ=kºÁÍ&549`ê×Z”ÌS~Z¬ïuáœïñ¶>„¦Wx^:½-N×;š»Qœ~È€æ;ÄÛ / }¦äV ‘ÎÀ¶h¬¡‰§´Bò44?à¡.5üLE·‡Nè†OoÈÅ´JÐb‚:¥xËü3ä¨0k±Ò*§ÖÆÏ†€VÆ\¶z”%^çÜVÌBøš¨ß:L¬($l@¿ ¹X­q™«¹‚3ƒðYˆo®¿¹Ù}n¨ð|Ó7£7�µé”¶ÛÔ¥4 }¾¤?pWê¿ÏÜ^Ãæ ¦pÍao�f'‚lÓ[fbo9?k—´LÔ>ð: ²ÆeAòþ1æñ7GjÕÒiÓgF@T;ýÉŸ—‘ÅÐÌrâ:xµ@Ëé;†õºylãXk¢à×t àµ�íR±Y‘¬@(‰¶²FWkmÏñ“»·'® } ø]K%DáJÕæ,Š ¤xWàl+ZQ±7táøxrUà×M\Š”Q/×ubvA‘YJ®æ„°ï“\¬r.„t梖×pm=k­Ëes]Í“úN‰âŅƒ«y¾äƒ >˜Ÿ.s<‰4ÌSê¼c #5ÝísÞàjO§î_4ÐÐ箊-”t¾ð3ƒ@I{Úœ.XØû‚vQ¸·å5{›ý†Yû»\ó˜×3¦zÈKŠýlȦ� ¦ò㌔/inÊ<Z6?s$i^²z÷¼å}+fÜTÆÞ‹ÜI~Í ¢Ž§]j ;Ñ@”Ú\JÎ:‹ŸÉpÎ8 z׬m§üFY®Ú“úòÝD“3¿—ÛN »é=ž«»Db±ªŒ$앇šd„îˆôŠ£ÿäì]9~Œ¸a"åÊUÔ?…qÁ´Bsk®‹/eIkf Š;èFm:“Ø=¶ü K¶•áE*R? %íç¨fÍ!Ž &€†NÕ;L_éöZTó5«6,‘'ŽXi d^è'%yã 1Sòá]׳v”?qã^ ) ÛCÂQÑí“;¬r.ŠÔ±®xbJ[þ"n2¡ÇžŸÚIó^ޤÄÏäÎó0>' ª¢Îø3vÌÊNÃõ.6Ê2XtlÞk­AC×"Ö8~·kë%]µ“2—l Ç‚é¼Iìy]~cTN;Ê¥ O‹Ã¡¡E|Е ÇðÃð(ZÔ°÷§'¦Í{ÄC :‹çÓ‚`…vç«ó‘CPnÐÐD,Á‚‡ÆŸóF<Ì[Ð#7’Gµ‰(.3zT|±Qõ7(éO2ŒwÜ´2ÆÇ&¯±˜œ»õ}®Eo¦ï†õu€g|B¨ÄKŽ@@ÑBïÒ¦XË;Ï`Ò[DéñÇwæ%.ù#Þí‡]{¾~Ï»›¿# GqE>}I½KN‡™\=Ä2ŒÄ@CïQ!zólqk*°äÖjã©8 ±´^œN³ö(îˆ{G¸F[^úÝ.– ÏŽ¸Û’«mÓ“£‚ꇮŠ@ ¡I¼ê'^yëÝáíµB+ ^¢-SôS«d>w -<'”ô<—ÅôÃæ7)4ö©À6½”JmIäÃÜ¿Qæ}»…‘ÐÐ;eY_Ôê›ÕÌØï™¦¸Nê‘5Zoé]ØEsQÌõãSÔ|—¨2Õ“”ª…tÃN—© ǹzÎT3˜x#¯ uÝL®3ýÔŠ“{»©†æ×�’Ȝ޹†Ž}^ÌfÐØ®8 ä½è–Å)Å[Ø,.Š„�4ôNÅ deþ–/oÇÖúÍ•´Ö¸µÖâñ‚‹‚Ì”e;‹­—Ë�~ˆK#‹–ô˜µÿ™QjŒ¹Y4’þ ®®ƒ 7Uãj³äÕ‚é°¸óá -î½&o¹Îö¾æF'hÍӷЦÃ;oÌÃͱcbhè<VF’õ¾’œWÌù‘Üoâµí¾«Çwuž†ç‚þ7 >›ØÓ¥beê$×ô|Ïp†ç¯Š€.cQ¨ºnõ�ÎÆ\y“qÖ=0 eÌYF›Òôá;1¦Sôk@†{Õµy­ÒiPÆk‡÷Í!QœÚ4ô1é3I'àYO1ç_ç8 Þ€o™…bõÖà@í”!í­vÑâøÝ:ŠÙáDK6;´žHN:ºÝÂ)‹@ H†±Ü¬«)Ä+CŠ_ÐTL›Bm‹9ÄŸ"†´¨nv¦c½Uä&죌±\À ±#1ÐÐÇTˆÖ\za“@^g¤m.k,ÉKdOs!ŽÂS=±š»CøÔäbÅ\¼ïyu•ÿ¯�a·XF;7‚€ÇQ¢˜Ñì h¡½úñ›ˆì›j «|ɉ‚Ü›ÊÏ™»XÙÏoúÈÅ<XåY ˜uØúÊ•vuq!>`.(ºW•‚±ƒ÷¡iOCð;7 -„‚éó>ŒÖnMæ}½â(7€œÕ‰{;ñ47 } /M+šÊoì®Ôr—òG6c½êÄ\ˆ+“©¼26vX €†>¬<<M nîaO+¯™42ùU¿f€È™`!­ávãO>6Ç;vâ>íÀ³ $×¢¯è¢ ¬±¬¥®/Í ïJb<ÍÆ>‹u×?µ¤ã˜š¦Œ¥CB5ùõ›±^ub®§ëÞ´[· ŽB�z’vbÆ1¿¼ХǛâu.¯IíÃY1Ñx­Ц¡3kè}òBew8]®fý˜}½)3“ÐÏ»íiœů[T]zZˆÝ°ya‹ç\(‹+=54'Í«˜"µŸÝ¦hŠ£Àwó ͆�4ôѪÑ|…“»VÀÞU²w­,(þ€°%ó ;Üç£ä{ÈþB0‰¿pL´ýúÉY×Ɇ{ƒ@`%b Å—µ¦€&õÏͰÙ',\({W´U=ý=6‰ZC¼EŠƺÚ`Íãçýy»ÁyLÙhè-Plãñcì"§o>RKpN¸Q¾'4‡pP±qîÀÖ7ØxñײՓESͨzù{jþNÜŒ�&ŽE@WŽš™kB.Rù¦ S ©KÝtuEÃë)ô. ؇ö›÷cPcë¡hrmŽœßÿb€P‹�4t-b½ã¾#‚+ ©˜ 9wë=hëÞØN8Ÿ_Ë€ÍgÔ98¢¨Ly½…W&D±€ØÂ ؼ ^ñh \|®*V+éÁªK=þjoòÝ|\=)îYåXÎD]”Ñó‡ c’@C'9,PKñ[\ðy×Á‚Êé\„ŸI@FÔÿ4n#S^²5¹4U²ÙKâS‚!z?;ù/þ÷8€¹—D saæ©"z] h"^’×yô¼RuνòG¬Å7U{ ‹n•G¬ad›{<­Á¢ÍÆÁ”c€†>�ï2=P 1Ù mÍ™]ð,WÏB>�ÄÑKŠk‰$?náõ‰4´W]¼ÿmÑ›ˆ<±E¦`óbh6ÎlF.’8ýòkHý< ]FC‹-–é)™¸’n7l ê ÊAÑ v9Æ8˜9Ú:X>hèC`¿[TïÞŽF³‹Ø„dzú0 ZØDc½]/iÀ[\‰™(é†Ñ°P±'™_œòÄp`ðªæ,þw….Ë„hnÖÐëþÒÿqPOù‰×ÅïôñwçÿÄf ÞÓüü­=¯Ú«d45šâ-šWÝ\׎ z®üjê ¶±P6Zèð¹€Þ‚¶æ‚Õò†�¡ëÎŒûc2­4ëJ_¼é 6óB±§0bˆ„Kz¡â€ß0÷J<l^Oj¹LÅÆßÊC䕺0»ÞŠ_e¦:åc>„¶‘[¯ÎfpWLÆí¼†6´EŒ·1f  ¡·@µÝfFHiùˆiÚÃ\)j=Ýîñ9grL ½¾¸pê¼@4ðêÒšZר ¸ŒH6³Ì¶Ú?×XqZ K>‹ÚKþY 9S«zCed"‘ÞÌ¢£X—³„yúÞy-‘džà §X p  ¡gL“©9ˆ9‰ Æ1 h}‘O×zs͈¦òÉ _ÀK íÑ„‰ÐÝB«j’nê£4¥€pIï‹Î–9ÊyØ9œ‡'óM!†ÙŠó‹dà™cjhšÈU¸¾!D¸—ôjÏaÈáXk[.ÃT�óßB³g~/¶4ô, Õ´hå•…ëÌhÇYàØÒqÎÔÆ°Íîï¼\ÑO³UhU­Kq»¶¡û¢4â˜Mˆ’¶_a/…F@_’y,Á¹¥AC{µª÷—IÔD¼=2½˜5Óé¤ÀЄ‚Æm·XÏEäE‚kø"ž'� }|âø&[ÚÜáÞ‹Å깇Gއ¯Òƒ"¢;š—+•kf‡w6ì25ãtŸÈtޤÈ;ÂK40®Ûçš¾àÃÜ›*þ<à©y€kbz®{-9±M’[;¹q‚¢]"–Óדóg¶mKŠõ¼øª% H¦FãÆ'ÆF‚?:àaŒ�4ôñâ5~½-ó’ZÐ=ñ çw¡&bDÑ ˜ÌØÌ³U1í³J›K·Ìu…YÕUKs™"MM\¥­q,Ô‹[›âñ-gWS.kÉoíÌÆ ¬Ñ>åÛÇ»˜-¡UZSP7î}‹ì(DŠ)n»6hp SöD�zO´µ‚ÆÏG{Û¯xùËÏ$´ ¯ŒÅöËkmâ#ÏHÆ!¾YxÈ*y#äoÌÅNÀAnûö’Ð%Zïš:#ÖÐô.ïÓýgQy01rrDa››QìÁ & Q[!£#‹Ú¤¬âÎ-ú¶õ�s_ó �­›ÍWÌŸ®¡5ȳøÖù‚ýhèƒË€³±'ߊñå4ívÎ8âŃØ~yBRƒ Þ¾ÔvÁ¶P&ä_¡7/@]«Å)êXì®ßòtF²Ç÷jÏ/5Ú ³âº-Þ(/hÙÐtMΕ_ÃE8g$ívÀbÏ®s½ý2UIˆÍKé ÿ9oŸWï1KTa"1!‡W…ƒÁ @C7€6xЧ â^oWΤ\ÇpêÑÂzp`“™‹1áLmjè†FXÀ„ü»º¤ÿ×lêÉ‚Œ1Ñí-лzƒÚš¯«W¡é-(éªê=õ`ST‰ÐÚÔÐ|³ðÉÝ­°Vi)î³pxþ›—Db ]¬7oÿzݶhРÔl ψ�4ôñYã__={B!ð[ˆEAåBRÚñxhÆy@0ò«®œS+ëÞ6ε;K*6³ŠÌŽžÑÉ1µ¿äªÍòò^sä¡#íá_6[°¶)žtóŽ¥õ¾àeæ)ïdý“)³ŒÉU¯)˜>ÚtS`Œ WÔ&É…xŸÕ¦’Fô0“^š­aâ逆>>eÇé=o ‚`Ws½HsoVCëþ”×Ðâ:dxÑdZìðEcƒ8Æ*—Š1ÁüdÖTù&Ç÷Ù"¾ès<!±†^/´Èíâóf ÍõâÊ6ÚTp–¬Õ§¾ëéGÑŸ72þ\\3ˆ~dz&6»¦ŽæÊ„†n†î¡¡ÏcQ:T}1‹s1É }RÂßÒ|}<(C= Æ\,zæI±°šM«é&®Áò“‰QKqå#ú¢p#ÓÏø©=önˆSæGÀ üû¦Bàohmݦ¡yÝ ²¢úojò*™x~~ímm- Wü½/ Æ¢œ‹éQJ:C;óïx؆�4tnƒg™ŒóÉô@s±CB=›gƒÃ;Ôœ‰€VÕ¢/š´(èxTX£¨|ˆ?ºÇp‘ÑÁÅé^‡ãEË{$_+ÓÉĉ5tÑÛ!€ÃÈáèªÓ·÷hql kºÔ¤*ObÞäÌ—hÓÐú4z*¶É\&\L{Z n=røå„I`Ã÷õ>@CïƒsaS¸Ôjh- µ.äÚ‘è^¼8"ãœÐšÃBœËѺàpòõäà¸è«-Ñu‚þNOµ-5!ÙWt›ÚÔÂxRR{-vf©ÑŸXÐp4ïí¢ÙÔÐ^•/x[Ór†ô¶åçèòŒw-ÁE°àdâm V÷M©Àd½œ¨íªÉ’a›¤) ;ÐÐåK´mSÍîj.æZT—#^W˜”>W´€ÖÍ{§fm³q}Éy›³IeÙf¼jVÐcF9™´£µˆ(oO¬P¾DàæºfÛ° @ ¾�D¦Þâü)ŠMWŽÉÉ¢ Îu;ÚQØï Žš?/œ™ÅsÞȈoµ&6ÁÉ»iháóüøÃÃ6 ¡ÛpÛc–ÙཅM…!$±ÎžpÜ#È×аhŬu¶Öaž¸¬Ê‘ëTŠm l-U:ÖÓÞŠ|$•ýÆÕ ó!où$…ÆÚ¬Û¸,cºê*n‰SËE³èSâ-"瘬¼+ 1kàÆ7M ´?ÑÞ€+ hèÙË!ކРN|¤OP’âfv¼˜Zk:Ö€èîHXé{9ú9“ß=17#Û 2ÖÌÒåí“câÕ0~2ø{&kÐ{A(3ΙTQ^eÆUª2}é ûÀÿs6§e¾1Åë"(‘ñúø™[«úš~±N‚Ô€g’èw4ôys÷ÔsMÍzßr~÷¨ù\´[L›&\ÝÿćU&°S·}xš”Å`Xq=f¸“Eƒy H“8–¢Q…©3" ëGß=Oq™ü©Ë8£·øµŸæ1.Ü5ªg¬jSCs6&bMm®xÃÆÍÎDÞ¤ 3îøì!� }úÚ ìì©@CÇì|.¤2lkh ^‘¬cж òÎ4Q¢úÙ¢+k›¦Và%íùãÉ”5}¦è™öάaúm'Êi½×,Q.¬õsOl ÂÑ;‚KI/^½·@f M rð Öô\œkè4ñL ô<s£)hS`| ¡÷Ç|äŠú2×äPñ¢–#vé÷ƶb­qÂë…E±ÕI‘Eûãd˜ßGCs¹ k8E©Í%Kð°Ó]Ûì_ XQïnQQœ7̽¬/ðLM/ÆóÍ(”â5440#½î¦±Ño(yƒ8PÍcóî†�4ônP_ˆ‹ýKb3ó+xhèõdÂÓ‹ÄæÅÛæLý—Ìô„š÷r]$ɸ’ø}óFs®†E\ßÒELiø” '¡ÉÀ1ìxˆŠÊ¸¼ ÇZì>NPñ1WñÖš |­›©Oñ·Ä‹¼—épò콂”(h ¯`s; ¡·ÃvsËË q¦õ‡)¨%lî÷Æ è𽋠AÓ¢‡åO2ÚÔpÛ¬MÁã²`‡zÐy1/Z¸˜0u³ ±:{êBdÓ’¸Y㱆Ž®¾Æ+Ê>N>4=¹ANª¡Ûˆm.ä5—Ñ&¼¢Pi:¿¤Ùa;k.Ê÷‘›Ýk§ú¬é3u!ñ>×g7¥¡µòã\ìÝ9Çé{%ëÎfÖк£o±O’ÁÔЦ˜&·¹ )~˜À»ìyßIØÜó‚JTcP0Þ¥v•«I¡ù<.òä  ²-`bS hq„hh.Ó«˜ü‡âe³‚6r f·C�z;l7´Ìe1ÿlѼäå²Rè6Sˆìp±¾4Z˜êðé®4ô„Zèf}5²EÖ´Œö®‚V÷xåS—âíŠKš’,éò¾†°¹¼8MæŒ F°k zE%‹z«ÄóZ h»|ϑѫAÞ%éÏH˜ÇbRÓFå ³‡ � }ì]‹jj^ïî¿AÅiKè ­Eºü;n²æDÎÂ\#ͦlúÜFô݃½ÙØz fæ ´µà¯ÄšWu¬3LÇöÉ{ôÝ<J;Œ4·*/E(D¹Ú[‚oIñqJl¸n|–ð44ïDB@óÍEj‘HÕë?ü¦¬þä?û»:¬í�4ôþ˜÷®¨Ù“ï[AèšÇùtó¹Çν~o?_ó©fÞµ»&¿Ô!Æiº!²-l6¸Á§˜­ßf±œøºž?”Ñ>yÓåÒ³ ^>x†8ƒy¿ötA›žfâäã‰Zª=Õõ•¡®y±kĺ³åBìw€&m½Cõ+^˜œêÚ…’X¢È~£Ö…£€†> ùÆuÍ=I¤|}Û$kÝ <®otwÇiZ6‰)Ø�. ßvCªRxCVÌápq©š™«ÇT Á¸ªÉS¬ˆÎpã± Bn+¹­gi>[FkY]œÂIAJ¦‹¼]Cã·¤Á>—ïk¾m¹ÿ|Œùú:1Þ°œ76ýƒعâDzà”ù€†ž?GÏ<4I“Ë>-2g …!(~fòódznr´�Dè¶ÇJ4Iѧ‹m©¸mª„ ©$¸K«?™ŸÀóöˆV'Å€6|ìEzÔª™–,ðZå;]T¦Øbºni®Ø|!ïÚ5%¹'Úf3aòv&Z›7½xã„ÈÈv7éaóîYN“¬ =I"Ênx‿îñ2×…züº¶æ²²OÓŒ0U©ˆšÿÉCsõ°±Qnm¿Í[Þ§©2zÔSäµç=¼ARvx�Á,�Oa$›n’³Ð†;ÜbºHŠþ“/ê½+ˆ—Ë\s£™sfÖFÄÒBƒnF³M!‚y·âûWw+…ÖÞ½‹ÞÞzº™â<âÚh†§E�zÚÔ<Òµœp…ÇZ|Ð�ÍYÂŽ)ƒµæËT¥â’@ü)XÐÞ†‡œT{Ã× šp57˜!hhÞöÌ£è"¤¼ǧP[·ØLZц3(í6F§#¾œ+þÚWêšØ…zöèZ¾É‡»ÁˆËõ-”ÉÆß¼¢£¿Fï1X‘1šáš@šÇÄ ¡@ÛcJr+jñÇ#öáobŠi¡Y<íZÃ$DNÁ‚£‰Ê§óV´ÛÑw3ø¼éêçmf„ èýº‰z:ð£-\2ïVlp» Ÿ¢ÏÅÃòáë ‰ÀX ­4g'MA¦” &44ש“äT7êMë(¨)ØÎÉî¹8’üvÁÞ¸ehèI ÙËMF欤í\LC áÅe±ÐOš¬ m6¶þZ1½í7Ûia# Mµ—ì(¢˜Mõ ®½KÑ¡)Ññ&‘Ý u~z´¼AŒlF –Ñ¢=ê ÍP7M¡z69íDZGhh}Ÿ†ßìn\@ã[}Í5‰I ¡“@í:,î圆4{Š“Œ¢h’Ú;áØ5þôb€6Å–¬î‚·¦¡…Œ¥õEË\Qõ„/anªg!#<;Áë«ýà^oßí)gpÒÛ#ÀeÕ¡ùA÷®ÞP”h|xÁÓÆ¥(Ûœ§L'):¡êݧ!b¤=Ëᢹ”¸yÐ\š0w4ÐÐGgÀZ?îåw Kœ÷=Ýà1òYGw&S'™í*è7dv8{ª±des žCÂ×ú#PÒÂÞ :CÞ’Åe$8CÄfÙó(kàɼcX-š-µ€µ'Ž$b"Ò×|§ð½`è:¯ p‹ñœKÅ Ì»ž×u¬ÃhSÓZüEz¾Et°  ¡'­A"œøE¶àhL<…&ò¶í=Ÿ#!ø(¢âwztcÚÅTZý ˜÷›í´ Z/5rþ¤g ³’ÍòãyáŠëc¡c<‘¡‡ñ…q±k„0ÒÛ­`®(ÂVÙQ…Í5®Iª\>jAë΀±…*i³Úhâ܇ïhÚ‚·5¼¤†E˜úP‰øž×ÀÍ@aây€†ž4wZÆ NáÔ »o‘e< m’ûœ™:)@IˆÂ ßdºc&§ÐÐZR7DÊeA|7Á¦†¦Eõìõi®˜c +´µnê=PÄs! ·Ãv ËÏx—×6'"=ž³ךf‹é3hhA šKu ZòšÉfË3ezܶ¨ؼY ¡§N½à#ï1ƒæVSÀ ]2V?mЬ§G5{Ayýf;þÕ*pSˆ2ÆŒ¼g‹KŽŒ5³‹Z\Îñ bº1z׬j}¼° œ×½¿ Ì,¾[3ã1æpLi(jLW”f-ÎBZ[óý¨¥§9^ì¦=Ò;×ãR±¯ q•ÐÇâ.g©ž˜¤=ñÁZ—D�úLi5ûºÙ€…†¦ Å`­ê§Ï‰Ž' ×¦bŠ0"\ …–\[ðoàó mJ�j¸šôŠÖÓ¦:áýRh߸Oób¨úT7¨¢f(̉ÐcñÜÍ/<³È9ÕÐ�Í6žt曑ӲÉí‚^4±ï�‹¹s½s½¿âW´J&Nð–Sv@�KÜ ÐÐgJºÉ2:�O@s²öŽ+. ¡EhfD"¡câŽØV1§Ðк·ËgeÄ(—ÅqÓ%‹S⛌kk-LĄè°½«8®¡M=çm7ª:þD\Fг€Ã5´‚)¬9'ˆ+[¾ã((S@›ïŠô­Ò\:5ÐÐçK©­‰‰gÃjùè ž©@Œz-'†E뤌ì«BcZÍKÈD¯*Ì`pRŒ˜‹fýÜû¸¨oFØ`º´Ù¦h9¨E¡¸»wýsÝzTâ‰Àß[‰s ¯¨«+Þ¹ÁýÍü ÍÆ¼®S¼#ç$íÌVTðçD@CŸ(Yw®fäǤšU5ÈÂIÆ{†˜b6$®·ÌË“gMwVIàs§åžé^ö5Œ=«ÔÎ5;bœŽxS-¶Ö·ãw–8=‡)@QÆñQ®¡½ËûÓihOËò@„ÒŸ8‰õå½)¦“=E 6B�z#`·2› ÚT!3´ù¼c\rHˆ™Äɇ)²ûs9¿†&p<”úA(ZÐí–{E™âE¢ÔÍŠvÑ«-̰³¶ˆëfm5¦;‹\U‹úç[€3§»,“YSãÒn5ïÑ2¡u8„˜wW´‰LÆgŒ@Cw¸ëtAÇæw¤D{öô41µGOü`× /f^3˜ÊÉk$ÁˆóT9Ó hžbÝ­w+�¡‰ùŸä½H)7>òf¹òkƒëy7Tñ6W×50v,|…ÎæƒÅ*üO1ì,ÑœÑМ|ttbË{÷FÔóìôCðÇ¢;#� ½3à]ËÅZˈ@Os 홨#ÛÂÎÄ«¿5‰÷ &Ñs'Æ>­†æ1šzkÁ§{§÷ ÇPT….rJn[7m›•¬ðu•\ÃD  VM b?Š HÁØÔœÚü~‚>ÎЊ¹AC¯Sð+Öù-/ }²ì›dÁIĤTâ_­’&ÇPQCϘc Óî(¹s mÉ(„ÐU*„¯ùçª*Ìœ~æ%µ·Fm±`Žò v6E@3¶GÑmš_è’…M¯=¸ânbn.±#È¿BàÔ¡¥¹¸Ñ\ܲifa,@CŸ¬ <&ò~— >[%ªõ®ãïúcE-ű2¿,o~©EÓwO‰œB@›mØ»îjCë[‡? tpY¥°éª6Î3¾ÝiÖá[©-q˜Õ‰@ µhä£ÙCì—uçréÌg§çµÓ×½éíÐàCµPÿ<4dð%El·Úôa|ÐÐm¸<Kð¦÷u gghnçÈÍ´:kh.•̸¼#êÔÐf®ÒТÒD‘ð$Š\pákª[SO?@¨ê ´D±$š‹¿ÊŸæU0qZx ákn4±/´¶âR‰÷ã(qBä¬ÿ,†¬IØÓ¦ŒÆvÛ"Űi"� }úÂ(^÷¢P‹ì¢ìÞ/®¢øê&5{­…³êúÜcvâ÷!DLkí[°beu®½ròJ”ƒ#Dƒ)ù‹úºÈîEÿùîØHCç}˜ªHàÌpLvZ¹(¨^“»<¢K_y„†¦?9?è¹·æI3 š»„cÇ凑@Cw8Åt-“w6›t£)ûØ =ªÕ›ðÜcR2(ˆ>&ô<ÏL œ¢“d¼Øtí­š@Ø äéC×+ü?™åãôZ¨|O5céD¾ PUã;}ÃôMлÀ¸"霠„Âo‰ú';‡0Þ>œ¢…€æqÅi¿ëË óÆMs ã@@ � }…’Ðjò2ZtO!iž ´ˆw±àëÑ4‡t²bAëx9Èf;÷lŠæ§Û$Môä©ΦPæºAk>%ˆÝëÄZÂO¸‹󨓃õNNİ ÐÙÔ5I^C †9\CÓ6'’ ›œ÷îEä_Ô<Œ-3aåß KÐÐ×I:©ónQS 9EÇ$BXìŒ÷ª(CM&5ã*6­Uú@_ô³1,ªIŽÆ¦š«d}3´Íž†-™†i\ÄÙÓõcsÓ™z×Åp0`Bt6‹RÒ¬dÍ~ž¼6Åt¾übÈ÷ûºO½ÝJí¦¨¡×;4„“+Èì!ÁÄ ¦NŠ�4ôIçºí‘õ)4t•ó&{”_pym ­¯.xa˜*Þ!øÓÙäý•gJ¼nþÉ;qИu€žÿ|dE3A䛺X=8ÎovwC@g“oïžà~ ­7r¾‚“äpá­ùÕ@}«¿òEÔc‡©D�úšIJÂæë‚y÷$b-ebI䉨çX)Ž’S¤ó¦ª°¸0Ú44!¦›7,òÓh.—I%ëMmžoy/ÆJzx?®Ú5ÐÐSí‘Ngx6µ ä÷'¬µªWiiá¯ðí¦·ži¼3´Ìt“?bá›?oGÄ–Éäcv@�z\B“8¿”÷*§¼*5Ðjƒ n˜âõ-KçM±Únè%‘®¡×uu!y©1Ï–¨wjÍ_ ”t DŠÈ ïÇ I7•GÑs ˜ʦNkp¯æj¾/h£™;n 'dÎ^àæ­_œ¨Í»ç, xuU ¡¯šÙ§qy§œåƒCSqnY ºLQ²¾¨ô. 8ùjÉeаæHçÔЦү—ä õøämŽä•xBB(lªI*�¯Jµñ:PÂÖ"FQÄ[²¹1q¨ð¼-ÀKWˆB”¼þ5wiѬ7rm)öhè€g¼Ý§cäPtWt¿ÿ°�j€†®EìLãF‹¯àùîÆÅšLãŸzXÅ“‚yuÂt8Ã4{äá¥cö¤ ·u^AyÙ4oð TÒ®!¸Ð$®Å´N½'Vt…‹*jKVU!™ÞVYhs³öA ”fšTfîP½—õ°Cj)ÃáÂÕäTf8E¶ß'×Xåf€†¾rê=/r–æ÷}`Z ‘„g~#[k;Τqçðˆx`€´Ä!=,„;æ‰K1½'MÝ_É þd(þiÅ,Ä´¨~t'Ly7êtöã<V ¬U˜Ú¯à=3//y]é-Ìë\<Ïä@L×_à®ûßé]…) Ð�4t?†S[0I¼ÈY¢ÇïÜò5 kˆ½öPtUO,N©M0ïsµs·Ïu¤)"MúÛ0­»ê­t×%è•x~öYêy}=óÑJ i:‘O5¼Ø:ÝÆôMð¨Ìd!“–ùîàÊ[·y8ñÀù-àódîlNn±M ã@@ � }ñ’ðT‹ÇYz¼=û@« O‹Etš-¢mo¸‚UÝØ4ùË•ª¸Ì…´zæ*™´3½Èz¢xY¨u¶8« G Ît÷beö8€¹3#ë]º ¼’†6/k«šŽ™ÐÌF›¹àÛõ€†¾^Nˆ‰{§#UÄw p“•Šs™óªH?âÞêDZÓƒ®¿o Ì…P&5L’Zkkq©#@¦w‹GÑñw¼ªMƒ‹øk²m]Ì:)^Áˆ2×¼Þø[fÎÀBEòÑ×Õ|›CCŸ´¼oÍmhè[Ëø³x5kÏïí`¬¡¸šI ¯Úèfè^¼­ Y¹¿†6´ÖÍü­¡µ8Že4· .*<@ŠR¸¡©C=×nŸ[hhq­¸~„ªH«R½¹V�ça!ò?fžd£iÛ¤·PTˆñ( ¡Bþàu5¯Ì›—\G è|ÚBCÏÓºt6éÖ…àÕ™—Ùã¹&à-Ÿ„¯ÐÐÁgÜByë»-E=è²ç7kÖ–t[)Ö®‚ñWB ¨y‰ŠzÖü<¿†®ç½·(jw\”^i/\#hèkä±: MǤf]l�Õ~ÔL”×Èÿî——yÍPãŽ1öšR/ð .?’°hƒü¡Œ¹ü¥ç듌†S(Ë: ó¯þ“‘òÕÅ”¶6ß6+ï-FN‚@‘BEer]üIóOq¹Ý`Ñ—¯|éâ~Œ§ïhè[, ¦IÁˆ¯[™_¦Þ¸€@3Ü´%OP¶E7•†6/øÅ†è¯=ZgÁÌ Çy ½æˆ ‘-ä¬E,£ô«·JƒdÉp[5bÖ$èŠ ÓdE{Öû@F“ØlDDñz{­¸ Š"{’\Ã[C�úÖ2~o ¡Íó¼‘1Ö€@3ÜÇ;*º û–'m©+‹£ 3k]¨³`æ…kh½%‡ÂssOàêèªÄ ×ÂTO e xìn‚µÝ(JCoÇéãgnŠß—l4qy¹[ÔÍ  ;yÃtóÒ˜Ú€†nÃíô³NÔ¹\¼àºgøOph!EW SÕéNýdˆ†ö² ÚÐÔݵ’65´÷B.—‹×0ñÅ@R #ÉY^=ä xªŠ‚3IÚh–䲞N¯ˆkK±AŠ{!éÿ$ðM&IÜÐ@CßhU´Ö( -ÚÏðXæì[\’šbšt¿'1c鹪aï7ãŠÚ7£¡ƒïr kêiï:'µâºÂ3Û£žy"pÀ6|'Nb°MùyÚ»¿.þÆ-]¬N‚I³ÞÕH‘šWÄD A�:ƒÒeÇôè€=A ŽsªNz¶‹7#àöDL(cO=s Û¬¡µŒæWhü[öZ1“ŸÜáuý¯§2i�¿N ›ÃÑ—^)^oè×-dmëOHö/<¬\[Æà¡y\l.M€ú×<.µ ñíXý¸!„­€†ÞaØ€@‘@gøÖ£ƒÂN›Ð]„Ë>SÆåuaæ¤G'ÈLǤ’Å­³µJ‚ÛË~QFÝ×\´Ø­5Ôŵ]œ‹Ó"@•Puä b}!Ê¥¶ù|ý.ß\Ób•w,PÏ‚Ðò61ô � ݃æîŠ€§`f`O¡üvÃÅ“ª¢­ m·vVŽ[¬&“áh#b q™¡Aãø»"®¡½;Acõ+W!e̬Õr™NÂŇø7XÔC0KÂ,]Ï=­¡ÍLû×¼Á#؇À²Ý¢æE¶Òv€Ã²F�Uqbb%´[`\<õ©‡uÓ]û«î£¦h¦~¸Ý‘)”…ÀrYKm®Å %Oéêt˜â>8 ,›ž4$S.ƒ€( Qlµo^}Ÿß;ü' ÿhn‹üj0IF šª…} oa󀆾…,_6FSAî­–‰ûøàI½àwd¹’æmf# ­5º'©I7›ÌN™ÔÐ4Œ;Sü&ŸYZhÌûö)V1õœVrtfœ j5«°Wü’RL4í$ݘp˜à.¸¸êæÎcÏN˜Ê+¹ }¥lÞV,ž„ÚÞ5%º…Wýšüp H}ÌÌ4×ÐÚˆÖ(æq27bþ6HFC„·ó-2 ›s"àå.Ï„Ûæµ_&4a0y¹(J½êVìŒWÇŽñ4ôJbú"\ç"æg/‰ÇFÕ'G�zòÁ=hèµy5¢è=BdÎi® âc3óÂCxÂtð­ASé’v ~Ó#£0x[õ@€ž>)Iå5S°G#T„\äµaUÔÐz»¯Û<9p–&.qÞL|e¦’SM¾*„Kσ�4ô<¹€'Õ˜B­ÚJß~Òg©e¶ÉþúEOF¯Ý½Ø6j5t¦å놧5tFxVKpñã¦øÖ9¨RBµzºˆ|KM`N ¤fŠ·Fœ;A µ;ȬCójyy#š®FLð9ÈÅÅÌÐGJ5‹÷'E�zÒÄÀ­ É^˜1Õ6F°v›‘þY¢ì3Ÿ/zžÔ*�OC›º™¿4¶à;RB¯ª0µ±ØhyÏæf3)‹õôᥛ áªcÍ”¹ *–sµ;ÈÔÐä69 ºð½"d/ç"ì|f>˜ºêŽ@\Í@C7C‡‰³ PliÛ9:‰†ºÔ—ËBð?‹�[‘XѯÒåÓù0­uLWMË«ýRUO¢¡Å:w>qÛ•+,ëÊÔ?½ TÜ)âB‹oÀ!àkÌý2¤ò‡8<ʈÖÐt}+–hљϻF;C�úb E8»"à©·]`‹‰†Êu¤§¡iL,∴T5_ CtA¡Là‰+fCMJ3Æ¢ô¯Í5GG_µèõW/æëUò%Ä5Üp m:¦¯Ö蕼ÛýÀnj!¯¡5¡AÀí¦¹»¶qhèkçÑmˆ€n–.–0íµÞÈù®ªã6#ŽvÌFîý>†V·nZC“ænJ¢öªˆkàmq®7 MÆ5/‡‰úÊʼ·Ø¬ó¢VÿYe¡6YŽYkpÎñ&¹­r9ØeAjô…Ç%Q{Îl^É+hè+e±ìŠÀTš÷i-”élF¿•éqŸÎ(B²€æih~°äÉÓ>Iðž²ØBC¯áº'/=s×*â•/þäoU ™Õ²†ÞÎrUÔ[^QÕÿkhýn ×€¹u²nÍ>4ô­eñŽA`fÍû 5žµCp­™—q:)C“ÚkœžŒæÔæ^·ÕQy×2®Ö7ŒïD€’›ßñŠb›ˆ½Öé­˜~SõÓ¬¡M®ÐiŠùmlâ`íb@C_,¡g'Fi©!î ù(t³–Ôë+ùoÒ{L¬BbuËÏüµ­û¨VdŠ¿Õ£6b ]<+&WÛ/NÁ€±Tm„`i½G¶Öзó9F ¡3{ÐLͺõ(û؉c·ÕíXƒ†¾\#Ò‘Ì£¡µ'BCS·à}¢J:d4tÐjèµezþ˜ ‰H‹±hýí‰uS²,2ØÚªà¹è¸bÛââsÛÒûÏâš+fULÍ]ßà ûã€çD�zμÀ«©8‘€·;óÆ£[HQ›ÆY1Õm€•xKL×ï’f-úÉÃÌ·ëèŠAFO½QsÎõk©@CWI½œ¿u"%mN;¬¨¡¹°¢9º©ëi“{Ç ¡/D„°7“hh®ðt§1•ÐÐ4f5UÔ¦ @{B·´šÚjg§ô0 4SD˜r,k–3_®­:ã×WÞæj‹½_÷·­»ÿ¬QZHíNfج8'ÐÐsæ^MÀ Z¨^Þi¸&7M EKFøó8¶-PZCë&G‹Šè‚“'-Ù{Ô†èßÂÉX‘Ô8f5#\C6ͤ›e?¶<:u3JûOÌh耼MªIrl‚ö +‚�4ô!°cÑ#`Š¿ã1;(—Þ)ËY4´4 šÚjÚð4´×³Ñ†wÞÇ.ç¥{ ½Þ¦û­juó’˜bç¦ò[OÂrÐpy$«`Çà<ÐÐy¬0<í[Dž¸Çbgž­ ­ÇèÖþÐ;žþüª×HÚÂ4•„-\h%m¢*Ö¥Y QÔjèüyØØz€µC0+J¼¨Uà(Wió6ö(¶¶³‘†ö>Û:Ø¿ÐÐ×Ë)"ÚXn»öÃáSð=9ÞYIFs­ÌOq¸hZrU“æj˜ŽÊ<aÁ%5 Vï¿!'.<¨y Í7¹ ”Šb¨‚k‡‚Á[ àey ͯ /\oy ¼|%J¼_Ü¢øa“€†F1� ŠZ°ÂVÓP~Lüçµ…ÜÔç©ât–›åškÜ¢¿Úˆñ¦5Sôëƒ"ñ_•3uƒv€ì´é [R+·-WD&A È/4ôÀAC¦¶@�z Taó²ð¹¿NâG¼ž€æç1¦’'¬ÁéoR/re,¼ò{¸‚7ÿ“˱OÚŠC&ýgm]Æ:8úÚ¿6jCÃø¼üê×µ ìYWlÞµ¯Zl&ÙÆ œ¢Ÿú3 —A�ú2©D ›#à0mº0ï‘BëÖÁæáèµ\ÅŠ¦Bf«4t¬_…Í@¸çíèt˜·¸ôE7kè@^oZ-0¾P ("#ï’Îó²¼ íéf iä±Î»¼’™Â°Ë#� }ù#Àa쬡‹\o*fÝo¨Ëzoí¬¡MmžFsÌ›¤…Ê4t¦¹ŠBÑ—"f%åÕ°B„¡ãˆ i -ʲx™wT½+›ÐÓÓü„>³ð…¯=2ácÌ( ¡G! ;×G ¦ïáñ ik6oáo ¤°Í-Ðã/Ùd4¨v8¾á¤øÍHê‹æ÷èµKžmý²_Cã4zø¦8Ö`•€ÙÏì LtÐЄR‘3xb èA�º=̽!‚¦-PÈœ ó&MÇQ¼Å*\¿E¯øæqe€Öå¦8+Š/Ì@H ›²Øt ã¹™Á¤†. eÈÕ›Û! ®Kƒ…Ì‹ºXðպ͗ -_¬ÀÚUf¯#ìáEݼßgˆ>œhèÓ¥ ƒÀ„Úk¨Ôl¼ƒ^O  5ß™„ºÕb7ÇžæÐfƒ&š÷6#‰ŠÖ2ÌˉcJ«æЗdñ<h让QÍú’W)È0è ¡@kžÓ· %>¦­bí÷ÂÉ Mú{£kSgðµ@Cs¨Í)csÁµ~Ñr,£‹©,ÚÇ€ý¨ÊšY�cIô¶ÃFØyMn&-x›N_·½ ¡o!ˈ±¥v‹³| ¦ªùJðërñ·ô´"ïñ~¾§¡ã3<=‘¤C,^{|¥¡…3ö¤ÇOÌÝÚ¬ACÌBÀ·ñeIÌ™=„) °"� J�evÐÐû{g*¢—˜’7è(Ár+ÇjhµN©œŽª4´yy@Hßž,FÀlÚ£ º˜<¤­ÖLjhóÒÿ­²»ÐШ PF >ü(ÏOŒ=;>^Õþx’w}Ý“¤ú].·ˆZÇ%Ü‹u?YW~cÈ( ½vz´ö¶,8+Ÿ5s·B°!¨›ÕÐ1Œ‚£p±ÚPZ˜Òƒ�4tz˜{Œí…&d=‡^ú ÊÔ¾: šÈ¶˜[«#イ_(þ¯jIºÑÝ ±›®SŠ9Ú7±Nd&kA6ò†®+]œ^í~“ÁÖ@TkYôŒÈÀçÙ€†ž-#ðg:öB/¶*ö× F4ò±Zkôæ yšüqðtöüšÚÿ•„Nsœk¢§’‹ { oÜ”†ŽqÓï ºÃ>çÚ_g÷úì„ÿÛ"0°ÏhöçÜÔÐÜxQdÓÉ(=1µHчmIôW ¦«ÄÿáZN¨í-´©Æ$ìždÖŘ(Và(ê4?—½Lá%5´y S¼°Ù¹H°Ü倆¾|Š`£aÑ ýƒ®°ú&´©Ðæ˜@CSW.J„bDüðÕüo%®kéÿ¡÷_7Ô¡yf“¾ÃÄZyƒ—‘2ùop¤¨[ó“QÔq³úée÷=Ëq2¡çÁM_؆7¸+ úرèiÕ“ AlªLÑNùIªFòšŸf‘¼õíO‹ókOFS%#Ýb“ g†5khff-Œ9»ihS šÅyÕHûš_!sº¨ãt…‡ÏŽ�4ôÙ3ÿ7D >ÚpavîbjYSS’¶æÇ6úES‚{G¼7R#n„B+{'ÓÛ¥ çÚé2jf;x/`Ù»8Ô»/x¥ˆÃ­ihº°/~<5ê"¿˜ �ÐÐ( `  Ïƒ9_ô4h|çt¿†^ƒÕm¬¶V<ÿù5@,Óã¿íÔj†>¤TjSƒñè“Qa°ÿ Ü+ïKžCÓñ³Þò 4Ø™\LI ¡“@aØ­ ´Æí[�®Ö²ÉoÝq%g*B:òYGÒz+]ó¢"Sæq°ÜÖ cŽBÀÛ&WÔHш)¦‚¢y]M¹‚â<4Òì�&f ¡›¡ÃÄk"`j¾5ÔÚ8 bƒYú ÿG‹jYÌߢp¸bLm]”wMÂqŽzœ‘’"Ì6¬Ò0¥[ŒŸ¢ü-zîÕO ›OZrzƒg^!N>iÔÅÀ€S � }Š4ÁÉN=ej!ˆã/áqÅOòš#Hº™+i¯7Óë=h•ìikisd~z[é@C·á†YÁõvÕº íQ.½N &^A¥€†ž! ða¦ÕÐB‹vüœy›×ÐtØ\<ߪR�AFÛä¯Páú¤jl õkhº>ë¬Í€¾b „µN°×Šût~|›y7§yÞç Þ^hèkçÑU#à‰³Q ²Ú!50£ZF*³AC{² !œ~ù\ê4ø“1ÍÙˆÛ¨Ð`g;âëÃ|ÝŽ†^/5;ÿg»„Â2ˆ€†F…�G˜]0ßü¶F“<!ÿø]ð«pÜ”>å¥@ÚŽ=†Èß!FâLõŸCÅm뺂ý!Är0I#ñ°‹C¯špÃ5ç:„‘Ý€†Þ j,t&ˆÊgãt¡¡½SœXe’þ^S"þä/?%%M±20YC44N×δç»}-Öv¿†ŽË2i¿;ÐM ܼ›ø£@ÀB�ul&<ÑÚ;ÅáÎëÿ±§¡õWQ4TO|V—4dgH3îÔÐ[à–DÃŽB ˜ôŒÆÇ\XC•5¬ z€†îAs¯ŒÀ©7 SCÓ±±PÀ±Ê¤ãg~½›†&l;õn0}}+£ZtŽô¬Z;E95¶0`mÒHV#4ô$©„@ ƒ�4t%Œ¹9&Ô@Zàò¬xTfç^ E.Fòw·¸'!))Š•W´S°…†^áÝ·" p æ…kp5+\-^ªyÛœì-–×C�úz9ED˜GCk ˜9%Ín®’×UÌYy0�÷zI‰œ¶®ŸA¸èéä¸ýÇ€fôVJ^M04tsR0l�4ô¨Âæ8üÑaE…ç©aqXµÚ ¤žÔÅHÖkÅqf|á|¤™åòÖ0òt䝯3û út�‡¯�4ôµó‹èÚ8üÑñf£ :k0ž4´wHVlØíàŽ›IQT™Œ¥í@ ]å_:S–!~=8 hè£Çºç@à¨sD¯õÆ}tõVœk IwÆ þÂzÅDÃE¯ Ð Mα]§ôÒ¼æ˜ô: †Ý€†Þ j,*¨=¾òNÍãsè* ½ŠÎжÊ/zV+^xÌxO°˜»3æÞô6là4ôΉÃr@ ˆ�4t" �Ç  ¯bAü' ÍSU É{9.¬¡ù¡ ùÉ4ô1{àB«êë´ä hè •B¹ÐÐI$¸ú¤ÊÓÐÁqr,»WYLÓµ|œüvŽQçÐúcòÀ¯Wí7QþS& 4ôM ‚=ÐЧHœ¼]H׿¡ù˜°¨¡ù¬>iδísCzì¹–æÁÕËácé“"°†»N /Ü»!� ½ÔXt!¨áµq¶ÝËAZ<1ÿœ­Coª¡ùÕ…þ >8¼ïJ3&ßÞ†õ¢·?Ÿ…ûŽn£‚å@CO‘8b¼¾H¯{·däÏ¡¡¡½Ë.¦éyíͬ¨p ”nÕe44êLˆ�4ô„IK@àúezϼÑ"s#/?¾­=‡žê(z‹sèør…_«@Fc£v"ìn¾Í«n%ÊØìtÓ�X€†F%�IðŽ– -nQjS™ çù°X\ q,säÏÕ3¿û|ÒJ‚[S"P,×àÃ%ó »ÈSÂ�§€À‰€†>qòàúµ(Þ1Yüx÷ÚšßÇ"NÓ{ £¨¡× B÷€Œ¹âr×Ä+³Ú×6�!� ½°0 ºmRvtФƒ{9ô,ýÑpñü¬+òôäc5´y˜öoâ&ò öõ[ñ-€†Þ]Ø­Ì ¡ƒ†‹  5îŠyÜ}UPaèñÐÌ9ô:C_]4/Љ·†@qÕjå"c܈ì€�4ô c Ђ@|ÀèÁ¦žk¸—c•†¤ƒÿ„aQÄW¼‚�� éIDAT´Ä\3çp ]ã,Æg$÷Ní=¸ÅEvF�zgÀ±È" ¥ëÝWР¡I‹Ç`“ÜÆ 54‡%‹²—?‡n^o¼†6÷šÇ 1cÜ8æl�4ô¨Â&†@ñ€98|ªÒк›¿>1ÏY4ô°"ƒ¡}Hjhú8Èo2ÃzYeßб¸ÐЗJ'‚¹<¢Az§ÅÔ}M@V#Bƒjq\|åØŸuÛSCC—\~gí`­À­¿[ X�hhÔ�8浆¡iICÏŽKöqÜGC›°ï)–»µš¸vü•°B,@`r ¡'OÜOЧÂtØl~ó/ÐÐz|¬Å…Zá§‘Etôg¿àЖgˆÛà4ÔgÔk`…(€Àü@CÏŸ#xäÔƒßDᔚ­7Öʱ8ɹ¬§¡—Zéѱ€>öÞlƒ ÐPœ S.�B�§@�úi‚“·Ž@ñ& º+ƒjÐÐúw½Ü΂†Þp,7ZA\;~ˆ“0€@hè$PFÀ»—C» Üàžõ÷m{ ½’9ž?¸8°ühØY S΀|A�ú"‰D—G sEϘsukí-½Òˆi6<ù"D€=4TfÔ1�* ¡«àÂ` p0mgÌÂéÕoÏg9~¦@ ½·åÉ›x:|ÚÂǬíh«É¶YÛEË@�p ¡Q@à"ˆ»‚/ÀiõLƒÏÒ³·ÐÐÊÙ S†Ñ¶³ÚfM �œD�ú‚IEH·‰@³†>ãý¾c5ôªžOw!q›u~Ò¨ÛÔpÛ¬“B·À逆>]Êà0p2:¸3a5‘—ÝSnÆ%׫NâVeƒ�!Ð,…›'| �v@�z±Ø äy*5fhèó^HìTRXfmR¸mÖa�ÐÐ)˜0œâ}½âÈöt÷rÏ¡WeœLÙI/$’ÑaØáäKQ¸Ú<ñðá�¸ ¡o$Ñ<C@hèÓÝ <VCë£hhì–4—SóÄÎÃ�ÐÐ( p[˜§ÔÅ£ë©0ÚBCŸîBbªŒÀ™�f)Ü<é�@` ¡÷Á«�ãHÞ-}¼£%†kèuÁs]H”@ÂûS Уƒ{æN<œ�WG�úêF|@àËüú„§-Ä=*È<8Ü3÷ðÀá�¸ ¡o!ˈœõgìÌÌe4ôz®ŒÄè¬ÀÎ鎥À � }#‰F˜·ŽÀe~}"â-H[/ú£ãï©Àž¹GÇõÀ­ � }+™Fœ@à÷r@C£’Ï‚@î™{|à'8;ÐÐgÏ üY®ñBhèl¾1îP:EpçôCCÇâ@àV€†¾•L#N °"pö_ŸÈkè5Xä‚@gíuN?$d, n hè[Ë8âçF�úÜù» ïûp¿…Û@Q#€†>}¬ €@-Ðеˆaün üz·¬a! ÐŒ�4t3t˜€À@C�:–,!0üËÐÐ%Èñ>8hèãs�€�È#� Ç #wC`ìÞ@@ï–8,z€†îAs�Ø¢¶ÐŠSv �‹]! ßûäÉòè)¼ž¹W1I€†ž41p �@Q[@C£löG�ẕ"˜hè²�€�H!Ц¡‹³RkcðÀ½¨ pƒ@Cß`Ò28+E5Ì ÿš×YQƒßÛ#0¶ØŠu¾}@X�2ÐÐeŒ0�Iˆµ…øe±±Gƒ“ �7fF`ÔoÛACÏœeøhh�§AÀÓúpø-ª§ÁŽžhèóçÜÐÐ7‘f ®@ ¡×C ŸD€†¾FÆo0 èL:B>)ÐÐ'MÜ·ˆ€)/<¹Œ{9n±DÎ34ôùsˆnhè[É4âgG yÍ¢IFºQõìÂÿù€†ž?Gð¬@C£€�8¶Žœ¡žÏ‘]xù¶·¡VQ@à\@CŸ+_ðÜ.±†Æ‘óíVÆù#ûÓxçÇ�s � }Ž<ÁK �ŠŸqãErRpïþI·ohè/�„Î�ôñ9ò/ëÀoÈÔc†@`  ¡§Hœ�@ÀC�s£6®�4ôµó‹è.Œ�4ô…“‹Ð€ÀÀÇÜWÈ"b@‘£@€À€†>cÖà3¸pDw+™¾í8ñaËmçÑŸhè³f~[@�ú²ŒWpÓ?*œ hèså Þ›C�sß\Ê0�@à @CŸ!KðÜ0ø˜û†“Ð��ó"� =onà�„�>æF1� �€ÀT@CO•8€��@�� p ¡O$¸€��@�� 0ÐÐS¥Î� �€��@�œ�hè$ . �€��@�L…�4ôTé€3@�� �€��'@�úI‚‹@�� �€��S!� =U:à �@�� �€À €†>A’à"�@�� �€ÀT@CO•8€��@�� p ¡O$¸€��@�� 0ÐÐS¥Î� �€��@�œ�hè$ . �€��@�L…�4ôTé€3@�� �€��'@�úI‚‹@�� �€��S!� =U:à �@�� �€À €†>A’à"�@�� �€ÀT@CO•8€��@�� p ¡O$¸€��@�� 0ÐÐS¥Î� �€��@�œ�hè$ . �€��@�L…�4ôTé€3@�� �€��'@�úI‚‹@�� �€��S!� =U:à �@�� �€À €†>A’à"�@�� �€ÀT@CO•8€��@�� p ¡O$¸€��@�� 0ÐÐS¥Î� �€��@�œ�hè$ . �€��@�L…�4ôTé€3@�� �€��'@�úI‚‹@�� �€��S!PÐÐËÛx� �€��@�� #ðþo|Ç“õß{ßû^€€��@�� �€@hh½ �€��@��: ¡ëð*^”`��@�� �€À倆††@�� �€��u@C×áuù‹*€��@�� PDà™†^žá€��@�� �€@§¿Ëÿ@�� �€��@ ÀÿÞø”=v•Z����IEND®B`‚�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/vignettes/biotap_sim_properties.png���������������������������������������������������������0000644�0001762�0000144�00000257012�12732246464�020755� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������‰PNG  ��� IHDR����£���Xþ×Û��¡iCCPICC Profile��xÚíšWPT]×ç×9én &§&çœA@2’…& ’“„¶IŠ$Á@PD0¢ŠŠ"`�ŒEDQ3(QÅ’ú»Ðçy§æ›™›™»q]ìZõ_{¯PuªÎ¯jo�¥#ÁLf, �qñI,w;Kº¯ð �Ð@%84‘iáææÿ[›{�À€Z0“ûÂQ5µW2àeRЯeÿgãaùøú n�@‹üí‡�-ä·¿�h©IÌ$�d�ÐB£‚Ã�J�Pe1Ü­�‡�DJ$ÃÝ €ã%�‘Âp·à™� R‚ƒY‘�Âß�€ Býí‡Dˆh�=%42 @Ä �Ï@À›……'†È×�@XXbh€�µŒ‹KPr�ÅP&+ @) �d}|ýè¿ÇÚh  ·€ÿð-î3@ÃN�QÕÿhJ§„3�…ÿ£Í¸�ˆÀãÄm��@(–�¸·löŒ<�¡`e?›½t’Í^©À ´Å†&³R~ŸÇ�à€Ü@a�P5Ð0µ`à ð…@…(ˆ¤B:l‡]PÅpÊ jà,ÔC4à h‡.x�}ð ^üƒð ~‚ „‚ð"Bˆ"‡¨ Zˆ!b†Ø Žˆ;â‹!H’Œ¤#¹HR‚Eª3HÒ‚´!ÝHòA¦ïÈ"Š¢d”†Š¡r¨:j€®EPt2Ñ­h.º=ŒV¡uèô6Úƒ>E‡Ñè,ÊÆ0ü:Fc€±Ä8c|1á&&“‡9€©ÄœÇ´bîbž`Þb>a°X,V«Š5ÂÚbØ`l6[€=‚=½ŒíÀöc‡±_°Ë82N§ˆ3ÀÙá¼pá¸$Ü\)®w ׉Àãfð< /‹×ÃÛà½ð‘ø-ø||¾ÿ?‚ÿAÀø #‚!À$äήF ³D"Q”¨A´$zcˆ™Äâiâ5â#â8qžƒÂ!Å¡ÏáÈÄ‘ÌQÀQÉq…ãÇljB’&‘\Iá¤tR é,©ô‚ô…Œ#‹“uÉŽäPò6r)¹ŽÜI$ÏP(YŠ)Å‹OÙM©¢\£ P>sâ9éœÆœ ÎxÎ<Γœ78_p~ç¢p)pYrpmá*åºÈÕÃõžå–à6æöâfqq×qwsOPªÕ„êCM¡–R©¨Ó<$E[ž0ž\ž*ž6žažU^qÞ5¼þ¼i¼e¼­¼¯xñ óñùò¥ñ•ñ]çä[¦‰ÓÌhiÛi'iwhïø üJüŽüqüÅüMüÏøçDL‚rjz¾ò ê ú fžìü(Ä-¤+ä+”!T-Ô-ôY˜OØP8Px‡ð9á>á9q+‘‘b‘f‘·¢xQ5Q†hºhµèÑ1Q1+±X±b7ÅÞ‹s‰ˆ‰ˆ_#—Дð“Ø!Q/ñR#©&é#™+Y/ùŠŽ¥kÒýé»é—èo¥HRR¡Rû¤nHMIóK[J3¥Ë¥{¤däd<d¶Ë\”y#K‘5––=,Û%ûSNVŽ!—+wInLžWÞRž%_-? €QÐUW8¤pOaAQYÑ_q¯â-ÅoJÒJžJ»•Z•¦•%•Ý•w*·(R‘PqWÙ¥rM勪´ª—jêmÕY5%µ@µRµnµuõhõêO5È©õš¢šîšùšíš ZšZ‘ZZ/´¹µíµ³µ[´¿ë(ë„ê×y¦Ë­k¯›£{CwNOS/Fï”Þ°¾ˆ¾§~±þ¼¥A¦A«ÁOC-Ã8Ãs†ïdŒ‚ŒÊ^ 3ŒKŒ›pš8šä›Ü[ƒ_c½&wM‡)bºÖ4Ëô¶éª™™Y¦Ù-³Ussó,ó¶µ°ÖbmÎÚ;8 ;‹<‹KŠ¥‹å~Ë++«cVo­¥¬Ã­ÏXOÛhÚ$Ù´Ø,Û®µÝiÛcÇeçawÔî­½Œ}´ýEûŸëLÖm_wÏËÁÓá˜Ã˜£²ãfÇ'p²w*vzéLwŽrnt^t±tÙãòÌUÂ5ÒµÑuÉÍÆmŸÛ«õ²ëã×·ºcÝ]ÝËÜßyhy¤{t3hŒ ÆÆ/O[ÏÏa/U¯4¯{Þ4ïïïU'Ÿ2Ÿ)_Cß]¾Ïüdý’ü:ýùüCý›6`6xl¨Þ0`p0à} A`~àëª37öI%Ý Ž ¾ÂÒJ ½F ÛÖŽ ÷ ¿ð¸‰ô‹lˆÂGmˆjŠæˆÞ}5†3&,æÆ&¾M›6uÆŠÆ&Æ>ˆ“‰K{¯¿;~$Á8¡4á3ÓŽYÅ\Úìµ¹EfE°ÚÅ·$$i$&M&[%W&/§ø¦\MåKe¦>Ú¢²%ËäV›­ÕihZPÚímÛ2¶ ¥¯I?–¾”áŸq=S43=s(Ë4ëD;;(»c»ÌöÛ'sÖåÔårå2svèï8ºcygÐÎÎ] » w}ÝÍØÝ’'ž·=ï}¾S~c@AzÁX¡}aýÚžm{ÆöÚï½X$X”YônŸó¾+ÅâÅ;‹¿ì÷Ú»D±dÉbiXiïƒUÉ“Žr8tå0ýpááù#!G5>zºŒ·,³ìÓ1ïcwŽk¯(§”o-Ÿ<áy¢³B«¢²’»2£rºÊ¿êÁIã“çªEª ªkbjO9ºqZýtE-µ6§vöLø™—gÎÞ8§qîd]^ÝÒù„óã¼.<¨7¯¿tQñbyOÃî†åÆÍ“MM—Ö]º}Yÿò…+²WŽ]彚ߌ4omþÞÝ2Úê×úäšãµ;×Í®7ßмqî¦ìÍ·„o•Þæºß†mËj[lOiÿÞ×1ÕÑ9vgã¡»¾wŸwytõßs¹÷°Û¡ûþ}»û]=6=wX=èxhù°½×¢·ý‘壎ÇV;û¬ûºúíú»Ÿ8<y8à2Ð÷Ôãéóg>ÏŸ>{þbêeÜË﯒_-¾ÎÄ æ q •¾~sâ­ìÛsÃZÃÍ#f#wGFÆüÆÆÆcÆL¤½Cß¾ç{|RnòâÃSNSÏ?}üø)ù{ºà³Àçª/ª_Z¾Zíû¶áÛÔ÷äè}3b3çf fïþôø9:—0·:¿gAtáÜ/£_÷}?,mY&.]QZ¹¶ê¸:ÄŽÿËYà/ üe¿,ð—þ²À_øËYà/ üe¿,ð—þ²Àÿ¿,À f���Ј€µ�œ¾�|}�dÌÿmü÷=Êà �(� @ȃ9Âh€w?b°3È*& ·04L*fëíÅyàÆð[ ‚„Nb‡Ç,©‹\EÉáŒàräÖ¦ÒyøxI|XŽŸ À-(#¤/ì$%Z(vI|P’H7’Š•®’™”Ó‘ÏPèQRWiT]V·×دùJ[J'T·ZoÔ@Ôa´Ç¸ÝdÆTÖÌÝ|ïÚ–x+Së›ZÛ—öøuzŽÛN:w¸¼q[Ïå.ãaÄpö òJôÞésÔ÷¼ßMÿ¾ £ß7¢AÔ`zˆV¨Y˜S¸D\䶨=Ñe1•›Šb“âüâmt˜R›ùX‰˜ÄÕ¤¥ä¥”Õ-èVbÏ6‘t™ ùLz–X¶àvÞr.6—½cqçÌ®éÝ“yãùo ^¾Øótïó¢…â˜ý¿J³"‡²>êZvîØB¹É fEeeGÕØÉÅ®SR§­j·œ¹|ökòùÐ eõ=WU›¼.e_>{¥÷êl‹`«Á5ïëa7ÂoFÞŠ¹Ó¶©=¾#±sËì»…]GïÕu·ßÝ3û³Wàõ1ññjßLÿø“þ¶§ Ï*žï±ãeú«”׬ÁÄ!ç7˜7Çß¿Þ=b02=zv,f\k|iâþ»#ï£& >à><˜Êù¨÷ñý§ÃÓ®Ÿ¹?}iûzãÛà™ÎŸÍ >˶l6� €.e0oH†Ãp>!¢ˆ3’‹ÜFuA«ÑLæ9Ö û„›Å ˜¾ÏrÄôÈDò¥‰³+šÛ‰ªÍ#ÌKà]ᛡ}æÿ&0/ȦˆÐEMÄâ›%H^¥¿•æ•q•Í“ëRÀ(®UÊPnV™UÓTÐ8¡ùD«£«»Q/_¿Éà¥á²±„‰ÅšxÓ ³‡æ Ò–öV±ÖE6 ¶½vïì—¨Žt'ugckWg7ßõAî‘ñŒ$Ïm^ÙÞy>E¾üŽùWm¨ ¸xyckPGðƒÐÁ°±ð‘ˆ‡‘MQ‡¢³b6mò޵3Š×JPbÊl¦³$éI²ÉÊ)š©z[ ·ê¦ioÓHWÍPȔΒÌÝ.CÍ¥ì îÄìdïZÚ=Ÿ7_ÀSÈÜó®È}ß­ý²%Ù¥%…>~¤÷èü1±ãkÊ}N0+ò+/W-VÛ×”œ®U8{öü¹éóÊÂêË.ö7b› /E_>r¥§™ÐbÓºãZ× ÌMÓ[Ûn_m›îîdÜÙy÷R×h7ù¾N׃؇[{så=.ìËïßù$k íiÒ3æóØñ/Y¯¶¼ÎÌÚõ&ómòpÜHÄhà˜Ïøú Çwöïm'm>ØNÙtúä6íøYÿ‹Ð—/_Û¿íÿþcíŒì¬ÐO…9ŸùË¿K~+‹l6�  J` ë!öB !DqF’‘Jä è4íÀ11ÍX~lö#.÷ï!ÄØÄb9Ž›$oÒ,¹„¢GäÜÁ¥Å5Î}ˆễçéäÝÁgOã¤=ç/ˆ´’Z~#r]´Ll«¸·„¡¤ ä ½_ê‚ôn™ YC9.¹qù…BÅ�% eªò¬Ê Õµ#ê© Mm-.­)ívúqzú4ý÷͆yF~ÆJÆó&]kš†™i™£æýk+-˜–V<V£Ö6Ù¶ëí¤ì~Ø·¯Ûçàï(âøÂé ³§‹°ËëI·ØõFî8÷“ŒDO/!¯iïÛ>¥¾‘~¦þBþ?6ôœÌÞ¸!È0˜7x:¤;´&,+|C„a$_ä·¨‡Ñ51[79ÅJÇÎÇÝ?’ÉÔbÎmna¥$ª%Ž&•&›'I©Mݾ%r«kÚšmªébÔLŽ,LÖjöÒö_9 ¹ ;ævþص'œï\Sx}Ï÷"…}¡ÅûKEø,?4zDáh|Ù•c¿ÊµNTäW^®®&Ôh <]R{ï,æœM]Ñù7õZ÷6|h²½tæ ùjRópëúk]7Ìn¶Ü6n»ÕaÝùè®g×Hw\÷ƒÖ^÷Gúrž¨ ||ÖöâÞkÒÐÞᬱ¹I×ÏBs6à÷}:��^àH€÷ �C ˜@‰@àÆ À0dqñ€H´üûÿЀT¸Kˆ!ÂBÎ#¨8Ê@ Ð6t£‰Ù„9ÃJb°Ç°ƒ8Qœîî ^‚¯Á ¨X„Â*ÑžXD|Ê!ÂÂQÇ1K2'’^’È©änŠ(%r—SŒ3…³ŸKƒ«ˆë·w U’šGå æéç5ã­ãæ+à[¥±hùÃùG‚†C? ¥£Â%"ò"7D=E¿‹‰«‹÷K$KŠIÞ¡ÇI‰IÝ—N“Q—™=&ç-Ï+ß§P¢è¥$¢4¬|Fe³ª¹·Ú²úOïšSZcÚotžëöêuè_3h4<cTa|Ädߚݦ9fYæykYÔY¶Y½´ž³å³Ó´g¬Ks¨r¼ïôÓEÊÕÕ-{}“ûÆ.Og/A¯IïŸBß? Å ´�\�;D–1 ;ÞIŠrŠÞÓºi0v1^,a-3bs1ëVâl²bÊÆÔŠ-£i ÛÒoeR²²[sxrw,ìÚ•Ç—_Uh´§¯(tßâþý¥²šÙ~z4°lòxBù|Å*¯j‰šéÓmgªÎåß\ï×`ߤsYâ »y¼µýúñ[âíöwÜîiÞÿúððc¥þóOŸW½’¬~»nTgBÒè#ßôÕ¯üß føg¯ÏiÌg,\øU»X¶ä±Ì¹|fEaåôªÜj;;ˆÍ�;8¯aÄ)Fî£jŒ²Ðs膎 ÀüƊb7`˱#8Y\$®÷o€ÏÀwÈ¡œ0IÔ!f»9x88ÎrÌ‘lHIïÉFä"ò8Řr€ò…Ó‘ó™+žë)÷îSTjõO(Ï Þu¼×øÔùNÑÄiGøø  ” Ê 6™ õ ‡ ¯Š”‰‰Še‰ËŠ?’H“T”|E/”²š“n‰•U”ý W'« £°¢Ø¥´O9PEE…­Ú¯v]ý’F£æ­ZíJÝ2½ý½» ·m3N1a®ÙdmmÎ\›mQdYiuźÏfÚo¯°ÎÉåxÔ©Óù›«„›ëú\÷z Œ,O†—ª7ÙûƒOo£_…醂€ÂÀý+‚®„,„Ɇ{Dì‰ìŽÆÅhm²‹õ‹ŠÏJ(e^Ø|Ÿõ)‰7Ù(%$µtK×ÖÕmé)W2ç²Í¶ïÎéÛAÝ鲫xw_>µÀ«ðäžÏEûòŠGJôJ˜=äw¸ã¨ZÙ‰ã|å{+x*ëOzÖ`NµÖ¦žµ¨ã>?QßÜPÒuÙò*wóhkýõä›n·ÍÛu;5ï*Ý“»/ó@¦Wá±b¿â€Â3…ò¯eߨ o­ŸP|ß8eÿ©÷‹Á·Ìų sôùê…ÕEõ¥5Ë+„•ÞÕ6�œ QDv!oQ=4ÂèbŠ0Ÿ°Øs8 .÷oˆ?AÀ¯ˆöÄ&ŽÝ3¤0Òs²3ùÅœr‹ÓŒó—3×kîMT áÑãyÎÏGà«¡ÙЦøKÌ> V ù Šœ3ç/Ñ!YEÏ•Š‘^/c&«*'!ϧ@VäP"*“T¨ªbjjê^yš-Z“:ºvz‰ú5OpÆF&±kjL‡ÍÅ×úY°|bM³ñ·­´›ZgäPà8è¬ãRèúaý:÷3 šgž7Î'Ëü‹¤;‚’C ¨ዑKÑó›ÅIÇ_`jn¾”h˜Ô’¢“Ú´U#íBºZÆ…,ì›9¶¹­;‘]λæ¨fïy\$²/ºøZ ¡Ôû@íÁùÃöG<ft|Oùh…y奓ªÕµ§äNלQ<ÛP§}¾¹^çbc£jSùež+Û®Ž·8´^¸Nº{³÷¶j[AûÇNû;'ï®Üct×õÀÆÃ³½+ûŽ÷0zZðìù …—i¯îŠ E½©}ûfDb4z¬yÿÎ÷}Õäø”äGO™Ó'?_þÒúµñÛ‰ïy?g4f¾Îžúéóó×\Ù¼îüÍÛ…Ç¿Ì~_YÌ_]Ò_*\YÖ[ÎX¾¼üiEzÅweÿJ÷ {Õ`•¹zvuŒ-Êf°÷²»Øl€ßo°��€d•›À¢;YYÃÿ[‹‹Mþ§/�Pâc]œ�@��>„[;€�¬2cÝœ~ïADÂã==þøªñ!.®|³–­ûﳈ3ÉÒ�„�f’ãž™eå��ä@x¢Í?y*c‚Ü�€ �ib%»{€,�Ò–˜âa�T�d"-ŠáýgÏlX¸õE#¢m×ýñy£“Ö1�€€JoJptÿ] ÕGˆ…pH„C<¨XõŸU " Xá›à=° !b!X@ÿ³Ïê¿)¶ ,ˆ„ðÿ)#B!’ÿ­ùúŸ Ñ ÿêÁb,‡ÄÑ9ÿ©ð?æ‹…`iÖiNi.ÿÇÊcµ±zXK¬)Ö kt¬�VÔ°ºXC¬Ök‚ÕÃ-L� "ÿéqct+®)"åHÂVc¯¨?3„ü;L� ¢ÿ—ýéýÑtóô¿Âï7��x*Àñ��wÒ/þ·o-)|K�€Us++:2*‰nÁdƆ«Ò×Ňª«Òµ5µ4á¿� eê\¼Â}a���bKGD�ÿ�ÿ�ÿ ½§“��� pHYs�� �� �šœ���tIMEÚ3�µŸŸ�� �IDATxÚìwxÕúÇ?Û“lz'„ˆ”Pô‚ņH±€‚Š€xí¨\ z-Hð^ ä'ˆ(\Á\Šb Å‚Ý 6DDJ€@HÏî&ÙÍîÌïͬ»›­É&=Ÿçá ;õ÷¼óž9ß9çŒJ­‰âŒî]¹âŠË{ 6tG‡§#@ @ åû‹zÿ¾é‡ïö¾¿UÏž½z=òÈ?9묞SêêêÆI’$<$@  $Ôj5:N¥V«Ñ:ø»nݺÊ555Â3@ @ ÂB’$ìv»¬ÑhTÚ‹.ºP®««^@ @Ðh$I’µ™™"!Ë2v»«ÕŠ©¤„ƒ›·PþË/ØkkÐè£H>£í_J\j*ƒ­V‹J¥ 阵%ÅX>üºÝ?¢®ïM!EG£ëÞã°aD¥¦…}ÌÒªb¶îÛÌÞ¢_¨uÔ Ëm ]ÓºsQî`RâC;¦@ @ ‚ÐQ}óÍ7r  êêꨩ©áÈWßð늕ÄÅIÍhC|»,TT9JqÑqÌf3]n¸ìóúN§ zLË7Ÿcýï2b’“IÌÎ&ºm{T*ÕGRyä–ÒR coÅØÿ‚¹íÀW¬Ùõ:ÆÄXÒ2ÓIOÊÀ.98QvŒ’¢bª«jsöô9ý¼ Çà¯@Éï?SDgtL=)ç7•”“š„æOìãê’ßÙ[d ÇÙ‘¹N«‰rGI1"~@кЛèÑjµräë¯Ù·ìUÚGéž’F§¡CH»j88¿ý.ûÞûÝÕµì[ö ¨dr @£Ñ<¦ùÛ/W. «­‘ìñ$^p1F¡R©©þê*>_ÏáJ(^¹�³J…úÜ ƒsÛï_ñßï–—GÎé\Úù2æ£Újfã/ïðù¡O(,(aÅöe A¿Îç<¦@ Z¼)Æ//ä£bˆ0ÄsF¿Á\Ú¿#àÈ'/óÜžN̸û¶­GY1ç%öEG;�kýÿkÊ`н“9¿­áOéEGù÷ügÁFª¢ÿXVSfàÊî¡wª¦Ï?™yó~›ÂƯ®!Žj>á~êz3w<­Ùm-ÿþe®¸[ͦ¯n"6@\´¤MÍÁá3¹ë¹ËØôÕ˜�ׯrð.»©˜µŸO¦­x”Á©$2˜JJ(X±†.*53ÛiSj"î×}h¿þ$‰ä½ûè^f"É\ÇN­š+ÖÔ¥ QÙÙ~YSRŒêçhÓÁÊi]4DeØÐÛ Qû Y¥Fg?JbF-†uèôVŽ¿ó5»•ÝÎï1K*‹y{çJb³bHé…1NC¹tœ½e?Rk¯¦J]J\¢ž4] ÞÞ¹’Žé]ÈŽj'¢@ Z *Lß¿ÍFÕõÜy6,^üo¯~Ÿç¬æ‹Û¢rìãóדpÜ)°ö’£ÈêÒ; @Ñ· Xým?îœÔÏ)6$BšNÊ•|±a3Ñý®¢w¦¾YNQ[r€×6¾M—A71ôŒ�¬‰µ8êj‘¤è>O> H‰E+9ýjúv#ߦÞÈ’Ô¼öÚ~ç©»ÿÃ}¯Jœ$áô<ânS󿱑ýq½|Vf€eᕜ]“ÐH¾c·â÷oÙº_ËàÁ½ ¥s‚ñ̘Ýÿ\®{õB¾¸ù,‘:@ÐzD‡Ãpƒã[¿ ¹®Ž~hS]Cœù8*iTT€$µg†ƒÅèëèc´TªëœûŒ¹Îï1ë¾zŸ¸$;{'¡C'£‘ PŸø Pã êDШ“è«ÅüÓWïã¸æv¿Çüæ·ÏÐè5´ë‘HL¬µAæü`¶a—ìTéŠ1$jI‰IÀÅáÒ ¾ùí3F¦ŽQ ­¨ ßåc™tm.Sn¼œÏ¿‰ÂªZ9W½ÀÞ1u+ÃP«HåÊ “Ð"#3w³ºâîœp z@¥‚šÊr,uŽ–¿D©œ¥ÏÌçªå#8ÛÑ<ç—õÎã&OæšNa@¥Ra3•Seýãœh4*Ô2 K8½~/7Ú*9^Vݬöî^»€Ï˜Ìœîzlæ@“P{ÙÔ¬ÔñËÃÿâÉ^á’3–…Ù’ ²„Êá¨÷³÷Δå¿ü—gž„®çŸM§´‡YÅàGg1mÄ?øì²*º3 •ˆ ÁÞâÄìù•Ó*²lq* Î‡O€ÉâÜÀlA%ËīԨ$èéPqhÏÞ€o‡˾!»k<Qé)èâÐÆÆ Ž’AsÑÆ;ô h¢u¨£¢8­«š£eß"I·ú=æÑÚCduK%5#ƒAN«A§qP­*Æ¡‘‰Ö¨Ñ:â“CÆØ©ë¦åhñ¡“óK þZàÈ�–JNœ(Ò@¶#I{ÖNåñ]ÝX8esDMo¾ð, ×ï Ãð{˜q÷5äD×RV\ë:jEuPGQq1Qng+ýåCþoîS|¹ßù{ð-OpïßÏ#(øèyžÝÓ•;ú3ñ¡Å� ¸a&Ü~‰nû?1ñ)vüí?~ ¹qÎÆ^áwë™;%ß¹xhéû ;­œ—&ÜÈoÀÜ™˜»¯;‹ßÏ#ê«çyvOGn9ó“f¾Ìécï ñ¿1pѳ ïç<€m?Ïßý™Ìãrã.¿iKߟB‡h^”œÓ-Õ™J).Ö6Xïnw‡Á#Hù$#IÖM¹—ígßË”‹£|Ú› {·²èΙl®?æµ-àŽa=лl]Hʸ!ÎyŠõÜûŸ\CœG+¹M/ìà¦þºÊÊï=ÏMŸ¤ðÆœ1¤(åö㛌|ö8¯¾p+Ÿ(6 ê༆?ä‰IÊ5 çŒê#”µ¿–é·Ÿ‡¾þü™wŽ¡î݇Xü¥³|M¿…n‰õqÓ~^{ê6^þ y žfxö¸€'æÎá–¹ûèõØ«\V÷fƒeÿ”°ü?r,$Zùù›•ÜëO1rã“Û¸mðEtü FqÀ´aK?—IÀºorîå§‹ô!‚SCdˆ?^Bµ–¸$=4`Ð;ÿé´ÎWAÉq`·ƒÍF\6’ƒòãÅï  qY©èRSÐ%Æ Š‰vS£®ðТ¶ÐEGNOœâªK¨ pÌZC5mÚ&’‡^§A¯Q£S©ÑjÔÎ/OHzê$ ›$a3ÔQ×VMQ¥Iˆ @Ъ‘e(/=ÊÁƒ&¶¿·ŒoÍë—vB’쨤öÿz:*IB¢ˆ×/¿‰WÍ’wæÒQû;‹ïŸÀM—›Y¹éF24î <ç±ñêªn·Iô¿ûe¦÷í@ñ—Ï3þÑ©ô¿ð.ÎÑ£–jÙùÆ&¾qϼ¼Š„C3aæLª2wT7lqíħøû3«XØ7š·¼Š;g¤³aî•D; xmJ>º–°udGJöàH7 É)Œxx&Û'Ìä¬ñ1ªk"ɉ"©–o<ÅÎ7®à™%ËéÒ9ž ÿýùïncp—‹Ñ…_¯çýi¼Þ9mU}&qZ _Õ˜\/2øþ;~.7`¯µ•щÎYqØ ?ãÚ‰O1èÞùl¼¶+‡>Z΄ÍN'É’„„ [Ñ.~­Uûµ·öàGŒ¼ó_ôð ïÝЗڟ×sÍÄIün~‘¹£:jj÷ïdñœÜñ¯E,ïІhïa G.q`•$rþvÌ™Æç?_ƈnq€‰O,„ ^¤ƒ^ůŠM’DMÁF®ô4}'<ÃÆzQüù*Æ?¶l—a•$´õç_øÐNN™Ïª»mügüƒ,ýäBž¾ªPÄÒ·±òÊ™¼÷å@Nl~ž[&=DÖ›K8ûÂkýÔ»|Ó­<~Yô‰©Ä;.«=¸Ùùû’Ïähøöiîýv`ƒxÊ¿ö<íÿú¶ÿZr/]RÓˆ‘¤ 1(Ytt ö£V: ½H @ h "C°áúèh -ÄFCL [ÿW¥‚ÚZ0™ÁR Õ5D™-èôZ7*MB,º¤8Tñ±m�½´õo[v°PiõèT4åVˆªxL£!ctqQÑ´j¢4¢Õ:¢4:@¢Æa§ÚaÇ*9°itÔDI˜ v‡ˆ@ h58ÐÅÂޥ˘³t¿ I¢º‡£¾—zæßvð ðèyôL±b•{òàS3X3òq¾Ù7‚+;ź5ðœhg7õ?Èê?–46ÊJªHï~>¹¬¡ZªÅáÐ aþ·?>@ŠÅŒ£çm<ñù¦~»Ê«r9ºk0ˆ :é9\\G·£á±Ï9h¾Œ\­ -ð¿Ý?ðë9YœÑ­r‰j»žì3ºÑ8½[rÚi©µXêÏ5ˆ×¿ø7]µ¬µ.{f4KœÍ®›. wJ)ŸÎ|&,¥£¦–êÔ>Lyl�•'J¨õQ9êE†Oÿ‡o;ûöÑñ—˜’Ñï?F3åÖs‰®¬¥çU÷òÄ—¯3Õ¤øÇyÀD•Œßöþºk0šÇ'^Ll……ÄÞãX5å3ÆÌû€ƒ—u ZvzïùùG¿$jl6,æß×ßÍÿÈå¶D ‡9½?æÂ¿ÖïbXîy8ocÁ>xfn7jëLØäppd×ÇÀh¦Ýy1Ѧj:»'>ùSM q8p8œçýÄÛL», “ÕÆÅ}áuƒ‡ÃAͬ& ìŒíp1IÝú‘ËUò·3rèÑfv ''ÉVƒUÕpÙÎ@åï«w‰¬ÄÓƒ¤XLñT>²'ç ßZÈéÒ‘LKµ-h Æ"‘Úe¬.£Öá@ ˜A«‚½É×v>ëÁÖ q‰ ïÜÀbÊ*¨¬„J3µHèÛeì!P—ƒM£F ƈÒýÑ;œC24VÐhPÉ`ÓÆP—ð˜Y mj͵¢´Zbµ:bµ¢5zd ÆnEo·Rí¨£;r­…6‰mDO@ hUHÔš ïô§Y6:˱ï˜=øï /˜Ä[O]Ž,9·‘$ m‚È¥¦‚ 3@ Õvgݤ7¨<ò»Ò“Aòz›~ø›å,¼/Ÿ¯ëÄ~@…sBHY6Cnra!¥2€š6]sa[ :©Kq°;F~T´ÎÀÙD«$$]î_9‡âq1áý…pÖõ<ûÏ蚢ÇTfÂ8L¥TUÅÔÛg†¾ÃÈ´Rjv-¹×pú²†þ÷;]»ïe)ðÔ•¨²Y ŽÕð¢ó‚™¾n5£só38jÊ8VZÊþm[á’ÇQ•Q T×–c•ÜýSï#IFrØ|ØkÃR¼úGs¼ @m-VC:P…Í!!!c2eŽ—”û´QUÿbÁf­EÒj,:ν÷F¸w9»ïêƒê“' ÷az%Y©«q³I²ph×v¸d8Q%¥TË@m…ë’„Frž¿ÏéQ=QX±�‰²óµ1F�–L¹%.‹rgÔQWSé¼&‡™ªªªúuf¯e¶Àåï«w‰+žŽºâ©Ý9}á­töjJÌ΂·VTb2xïã+>©³KΨ•‚L†*Ak =Ïàıcä¦$Cr"$%ArÄÖ÷d°X * Ðé(./CÓã ì†6dö¢Ü¼“¶DÀ ½t:gE©¶; *Lj3{NOìÊ÷Å_bµµbµzb5ÑDi5hqÓ^–µœ|Ž •‰ �²¥”‚‚4Q§sÃÃ}Ùðä—X†Wß—A’$Õf`/%V:¶ÕPg)ªoœÉ^"ƒÜPd°íãùûò±ç½Ê®[z¡–÷s_Ï«eu½È�`Çîêß×òÛO{A–°IzRÒ€ëxÿÇé8¿S$Ê a¶›!{0/ýx%%»?æáëó¸o]7Þ¿­/õ—€N«qÙ(Ë@E«äêònqdsËí¹ÜýK°ÿm'ôN¯8gƒ;¨ëE[eîŸé4Ñ)–¥ü©~n ›ÙSd@¹^Ìih¯ž”´¾°òŽK}HUÜi-Ò‰VK®9!ÕÕHIѾŸ/2»Ë^öYéØ> °bì6ŒKx·_{ Ë[pû â°Ø½lŠ¡S¯¾ð»8xççÅìýèc£N’Ð*ç·X£©ßÙ¶gƒþáÕßrCwå[2ÕeÇ(µÔ€ V÷¯È^Ë‚”¿Ã—ÈÐ0ž~ùæp 6IÂ^?塞þC¤ƒlîùÚ^â@ 8é"C°áê³Ï±ç7Žè5d§¦@R"Ä'8{ �èô Ñ€FÍQ‹Çé9¨Ïîp‚Üùbj~øãÇ­d¦Ä;ÅÔg­Õ:Ÿ3õ2Ç[©qè»_ŒÃîÿ˜Îä@õJ™IîbD¯ÒcPëÑ©ôÈÈèÕ•%J‰1DÓ)ñLêjì"  Õà@*JrèˆÊÃ;Yýäÿ€ÛÈÔ;0¹ {ˆ>­×ϼò>9w"ƒ">üÏÓÀµômƒÃöÇ× õ=<†KØ ÔXŽòÃ÷~Û²’N•å82RpÈé°÷I–nLäÚ©Þÿ ÿÞ WüûlŒŽ:⌂ùpÏcY<|Ý�55*&µkÇØòñ6:œÝ¬øTz�ÿ3Ä9ëF›Ó‚/·ï¦çÀ\bõzßö9,ä/Mç«0qI_æ:€£ìW6}[BïAH÷1ßá< ÇàH]4`Cj§uï ,aÅ{§qMïx¾ç^æoÊØ4õe øÙ—½™½‡�sx{ãÙ\wagjÍ¿çmƒÛ“£v`©ßG–d¿Ï]FæÂÞå8Ú¥;…[×ß–ËKW×òH7-V“ÕN›ldõ¹˜ÁOh™ÜÏÈ·ó_á OŸDÕ½ÁóüÊþÎu†qù<yýL¢ŸC· =EG±&Nû 1é°÷¹ÙÛo4íb£Ñkh°ì´@審áË—f³Ê:”§ÿqÑ$ž¨;t^ààþ›‰oMtttÐ}ê(ç—·`üóg9¿Z!ˆ@ N‘Á$Ë$]z GwlÇe Íht ƒ³·Z ;%55êõhûõ¡ÔáØCÀ,«QŸ6Šc‡ßC›KêéÑ€Úm ¨T”«áøa –œQ˜ë¤€Ç”«eúe ggñzÊc-Ûp¨dõº¾ä�‡]¦ì°Sq5çgŽÀV]'z2A«BBk„ß^™Éݯ8—œsÅD–Ý3†[m: #9جIÜ÷Á2˜t+÷ŽwμOçñ,ùà.’¬%T»¥wY6B‚s?W­•Ãí÷]ÁÏ>ÊßÃù7=ÀÄ+¶°hÊÍXç-ç|Ù DõÝÃŒŸïÜeàÄçyè‚dÊJªQ'^Àæ×çÑg0áú ¸”k;«’Ø=w†ó‹�¯eɘž8ˆÊᦉ¹gá#|¶°=Oÿ÷YRµi {ÙXz1XÄx.騡Öd ¶ú�‹}ȳõ'ÅÇ@|¥'ë3óxÕmùY·æóäÍ·3âQ&??•÷€Žc'2¾Ï"–GkQ;8”/|Ô7È}Ù{FÛËyk¾™‘“f]ý¥÷¹íß,½­ •'*À!ctü¿tpè8Êm<uçR.^óONÓŽJNr3,}”]EBeµs8„—MªôKÙüºžÅKß`Ãùü2.}ãV>ŒÒaw8œßÙ3EVæå°D1á³µf\ÇŒ{?p™tߢմ‹ÕÑëºÇà½9Ü7þ n~f9WwŽo°lÔYʪŠ9hæjüËAâÉÐá|nëüs&ßL`ùÛ—ݧøïò:ײ®›Žº*«H@ h¨Þzë-9àãž$Oô‰èþ…´HNŒ'ƨ¨¶ÖRVUEɃX»æR“žNUUjµ:è1u0–}DZÇx’3㈎ÕJE­¥Ž²BŪ0'^B]âé!³’b~ªÜDzR É)ñc¢@–1×ÔRZZÅñÒjz& %‰´ ÇAK£%­]6F·†³d·RYRDe­DLZ6é16Ž:PG%•ÍdÁŽ–ø8EǨ¨õcÓÛ‘eåHs?'j3³ˆ–ª±bĨµa—e¬VÐÔ•³{ãL&|z_¼p5ZKV­£¦–cÇÊ]Ç0ħ‘‘…¹Ê‚Vk &FCiÁLÄ’“Š£º«âãôTÖÛ¥&©M[¢¬è±—Ç‘”MšÛu¹°²øúPúÏטs^\}ƒ´±d§FQväU>:äicÓÉNiXWÖ–Rp¼†ä6m08¬Xí­Á®1 “,9RŒ-é9ÙDYK)(2ù´·ÊÆäLÒŒ*ª,VЉÕÖpüX 6PÇÑ.'kÉN˜ý÷4$&²ë™<êx”7îêƒPSÉI‹ÅQ]Êá&W\xÚä@ŸAÛ„4j¨-ÙÎãCîÄúÏÿ0ùÜTç÷ÞÐÅÒ&3¬UXíZŒñ1®íõñéd¡Ê {9ÅUu>—ù-©>ŽUÕ®˜‹MÏ"ΠAƒ›¥ »w<icÉj›D­É‚Ö ¦üX …_=á?ͻɻq*W½¶‰Ëâ-®Øऋ o¾ùfÀjI®ORt4Ö]ßc¨®!&6T*,3¶¨( gŸEyMk’$•JÒ1QTýú ÑÒaã퀊J“–jU;â»\L…¥6ìcŒì.ÞN¥ã ­YG] ºÓ8#í,•–Ž)‚S¢*C«Ó¢B¦®.ü!p­5vêì2¨´è´`¯³s쳇ùÇüKYþæ¥Äêt¨e‰:ŸÃöTètZdYÂîµ^£Õ¢VáÓ.çyýÓÉ¡-óÈ{á+^ذ‰t«)¢^ d›?yÙ«Ò ÓªA®÷_cD¥,ØøòNº í1ÔÝj~cÊø‡I<Š)6¾^µC\ÌÖ?B²Í~ù«dìuvdÏèÔx.÷µ,@ù{ljF%ãA«Ó¡òOõÇ’ìØ2ÇÄ`MÁ7|Qw.7þMÇñ*›H@ h=Ofk×® úT IjµNGBB±±±ètõ“lÕÕa6›©¬¬¤®®ÎµíŸå˜@ øk¢sT°·XOûÌNŽíÀTt”9›³rÔüiÛ‘ª2ÚÄPVXB]ÈÚ„ë‘_Ùùë!*«l$vèÉŃúa(;D…í¯ƒÚøtÒõ K,âfAëªÚW¯^Ò«Y–]oý½çÌŽ-‡Õ3àT9¦@ þzhcIŠrPVf:IꩈILƨ¶QRfBô†÷(â““0FéP«UHu5T”–ñg›ËùäÇ @ x‚Yµj•xn@ @ÐdT#GŽ"ƒ@ @ ‚&£’•@ @ š€˜ùP @ AD"ƒ@ @ ‚ˆ D@ @ ¡ÙD†W^y…%K–œN˜6m›7oÑ hõœJ÷•ð¿@ @ð×#d‘᪫®B¥Ryü3®õcǎ媫®rýÞ¸q#ï½÷^‹_P0;ý5vîÜé÷Zš‹{ÜÜ\ŸëÖ®]KFF‡£Åìiªß ô—»Ú·oß ÞÜÿ]zé¥=ßɸ¯Üï)µZMNNä7Þ8eÊÉ_|æçç£ÑhZµÿ@ ‚S m8ŸsÎ9¼øâ‹(ê?4ŠáÇSWW×*.*¡à}-6l`ÿþýLš4)¢vŽ;–矞ï¾ûŽ^½z5F…F£iU¾=Ui®2\¿~=6› €/¿ü’É“'³nÝ:rrr�ˆÿSøO¹§JKK9pà�¯¾ú*£GfîܹäååÔ2@ §¨ÈOïÞ½}®7n\«¹¨@v†‚÷µ¬_¿ž½{÷F¼qtÞyç‘““êU«<D†êêjÞ{ï=6lØÐê|{ªÒ\eØ£G×ÿOœ8À™gžIçÎÿTþó¾§n¾ùfFÅ#<ÂèÑ£ÉÎÎ>ie @ Z›“áŸÿügÀƃ$IL:•¶mÛÒ¦MæÌ™sR.X’$zè!²²²8ýôÓY¸paÀk™?>k×®eÛ¶môèуɓ'GÌ•JŘ1cX½z5²,»–¿ÿþûÄÆÆrá…úôm _Ž=Úãš6mÚD=øî»ï\ËæÌ™ÃSO=Õb>ë­·¸æškhÓ¦ ½zõâ…^p­»ýöÛ¹ûî»=¶ÿå—_8묳(//G’$ž|òIºtéBBB^x!Û·o÷ØþŽ;î`ÆŒþéÑ£›6mjö2 'î‚]G(ÛxsèÐ!nºé&ÒÒÒhÓ¦GžæÄ`0ŸŸO]]Ë–- ZÎþÊ Ð>'+?„“§”{óí·ß¦W¯^¤¥¥1qâDWï@ @ˆ äðáÃ:tÈïú3fðæ›oòú믳`Áž~úiÞyçf¹(«ÕJaa¡ëŸÕju­›5kK—.eÚ´ilذ]»vqôèQ¿×2bÄÎ?ÿ|:wîÌóÏ?Ï„ "jëØ±c)((૯¾r-s*áË·|™ÍÚµk]Û¾ùæ›üôÓO[.[¶Œ³Ï>»Å‚¬  €Aƒñé§ŸrõÕWsÿý÷c2™�èÓ§Ë–-£¼¼ÜË>r�� �IDATµýÒ¥KiÓ¦ IIIÌš5‹§Ÿ~š;-[¶Ð¶m[Î?ÿ|8àÚþÀ Êð§Ÿ~¢²²²EÊ0B¹ŽP¶ñæé§Ÿ¦¸¸˜¯¿þš7ß|“þýû·Ø5uéÒ…ììl~ùå— åì¯ íi, ¿üò‹Ç¿¢¢¢&å©Ã‡óÁŸŸÏý÷ßϸqãx饗\‹@ @ð—C‘#FÈFŽuýÛ¼y³ký˜1cä#Føü][[+FùÙgŸu­¿üòËå믿^Ž4#FŒ7n”eY–m6›œ˜˜(?ðÀûdggËO>ù¤ßk™0a‚|ñÅËÍE×®]å{î¹G–eY®®®–F£üñÇ7Ê—ï¿ÿ¾¬Óéd³Ù,˲,·k×N1b„<tèPY–eù‡~ãââd«Õq¿_rÉ%A·«ªª’ù½÷Þ“eY–ËÊÊdƒÁ /^¼ØUFéééòêÕ«e«Õ*FyòäÉ®ýív»'Oœ8ѵlРAòm·Ýæúíp8d@^³fM‹•¡â{@Þ»w¯ÇòP®#ÔkõŽÍÈãÆ“G³]W ²íß¿¿ÏuÞåJøÚ'’× R©d½^ïñO£ÑÈjµ:ä<å+ÏuÖY²Åbq->|¸<räHY @ ø+öÄK—.uý>í´ÓBÚoÿþýX,^{í5×[Áß~û-¤qÜaàÀ®®ò€«G@AAôéÓ§Á>*•ê¤ =cÆŒá…^àÙgŸm0T"\_^tÑE¨T*¶nÝJNN²,sÿý÷»&|÷Ýw¹ì²ËÐëõ-zŸ}öŸ~ú©«ÇAmm-�III >œåË—3aÂÞ{ï=W_}µëZ àQ–çž{.?ýôÓ)#ä…r½Öû￟n¸_~ù…¹sçrÉ%—´èµsÁ-çÆÄFsä…>úÈcY~~>>ø`“òÔi§FLLŒëwŸ>}˜7o’$…=é¬@ @pª–È`49ãŒ3Â>‰Ãá�œ_mpŸ(/!!¡Y.J¥R¡Õ6¼´êêj�RRRZU!Œ;–™3gòé§Ÿ6*®/cbb0`�[¶l!33“+®¸‚sÏ=‡ÃÁöíÛyçw¸ï¾ûZìÚdYfüøñ|óÍ7L˜0ë®»Ž%K–xló÷¿ÿ«®ºŠC‡±lÙ2Æ^¯w s‰õØ>&&Æ5âT ”ëhìµ^sÍ5tîÜ™‡zˆK/½”Ù³g3uêÔ¹®ÒÒR ÈÍÍ ©œ-I¤ò”Z­¦¶¶ö¤ —@ Á)!24–Î;£×ë)--åšk®9i{æ™g’ššÊŽ;4h«qìÍ©J¥jÖ‰ÜrsséÕ«Ë–-cÆ ¬_¿¾I¾2d+V¬ %%…)S¦`00`�+V¬àûï¿çòË/o1ŸïÞ½›•+WòñÇ3pà@ŸŸâ6l©©©Ì;—>ø€;v�ЩS'Ôj5_}õ—]v™kû/¿ü’aÆy4ê àóÏ?oñ2 D(×êµú¢gÏž|ðÁ<úè£äççóÈ#´Èôüü|¢¢¢¸å–[B*gï2eŸ–$RyjÛ¶mtîÜYˆ @ ‚¿$-Ò—×`0pÿý÷³bÅ þûßÿR[[KeeeЙó‹÷Ä………Øl6T*ƒ ⥗^â£>bÛ¶m\}õÕTWW{|ÝÁ›¾}û²sçNŽ?Þl>;v,+W® 8T"T_<˜Ÿ~úÉCL4h‹/æ‚ . 11±Åü®ÓéP©Tüúë¯2mÚ4� ]ûét:ÆŽËÂ… 9ûì³éÙ³'àì9sóÍ7³zõj¾øâ , O>ù$ÅÅÅ_¤èß¿?ß|ó ¿ÿþ;o¾ù&'N<)eèP®#ÔkõfÙ²e:tI’¨©©¡{÷îÍ"0(e[PPÀÇÌĉyúé§yæ™gÈÌÌÄh4-gï2eŸ–¤±yê믿v ÏZ¿~=[·nåÎ;﵋@ à¯I¤&ö 4ñ£2©Z^^žl0d£Ñ(GGGËcÆŒi‘‰ù“O>qM|ؾ}{SSSå·ÞzKÎÎΖŸzê)¿¶—––Êçž{®¬×ëå»îº«Y&Ç(((U*•|÷Ýwõm0_J’$§¦¦ÊÆ s-ûöÛoe@^°`A³MèËï6l'Mš$ 9**Jž:uª|×]wÉÑÑчnÛ¶MäE‹y·¢¢B=z´¬V«å˜˜999Y~ùå—=¶Ù»w¯Ü£G»uë&ÿüóÏ &~l‰2ô7ñc¨×Ê6¾&~Ôjµrbb¢|Î9çÈŸþy³–­Z­–;tè _uÕUòÿþ÷?í‚•³¯2%6šsòÊyóæ¹&~ åÞò•çÎ;ï<yàÀr||¼¬Ñhä»îºK®««3þ@ þ’¨ä@¯ð›»ÝΑ#GÈÎÎö9oBKqäȲ²²Âzë{ìØ1’’’ˆŠŠjQkñe(TVVb0\¾+,,$++˵þ³Ï>cذa;vÌçøêêjJKKÉÎÎöÛ ýĉ¤§§·ê2 å:BÙÆå{FFF«/g_eÊ>­õÞ;v,ÕÕÕ¼óÎ;œ8q‚˜˜˜ój@ %Z\d|qõÕWËòåË…3§ î"ƒ@ @ h¡‰‚@TUUpÏ=÷gN)zõêåú2ˆ@ @ =@ @ Dµp@ @ ‚H }üñÇ…@ @ 4Uii©.!@  Éˆá@ @ "‚@ @ D„"ÃË/¿ìóÿ@ @ =Z€çž{N8A b_ |)Dn>¶ ‚?= &~|ùå—¹å–[ü_ @  ¢'ƒ@ @ ‚ˆ  w‡U«V ¯`̘1 –=÷ÜsÜ{ï½Â—arÆg´*{~þùgQ("ö[/üñGqŸˆ<"¹¡Õç†=zœ2~>•}zªÔ»¾bY ü…E€[o½­V{R ·Ûí,[¶¬UÚã¯d/|š=ûÛßP«On‡I’عs§(/û­Ö—â>yäÏûž?on8U8•}z*Õ»@ˆ X­Vìv;�²,£R©\ÿWðµÌß:•Jås;_ë”ß’$µZ{„/#gÝnoRe>þ|ºwïÎàÁƒ›T™òO\\\³Ý UUUÍV^3gÎ$??Ÿ¼¼<fΜ)bÿÎ#M½O"õÐÈ—±±±Íz~“ÉÔly¤%üÓÚc_É Þy£5Þ‹3fÌ`æÌ™"7´¢Øÿ3̧k×®¥°°¬¬,®»îºVåÓÖ–›$ %Y¸'Z•¦¯ŠVInþ*f•¸òÛáp´Z{¼ñ×uMø2¸=6›ÍµNÙ/kÖ¬¡¬¬Œ»îºËClHNNfôèÑMªÌë€)S¦¸õóæÍ º½"`=z4â啟Ÿïj0(§L™Ò*c¿[·n˜L&—/”÷X;~ü8ôØ®ªªê/“G½O–,Y‚$I¨Õj¿sss¹øâ‹#vŸø{ݱ£éYïÞ¸Ê;œ<òñÇGTŒà’K.i–<r²ò~vv6çõïMAAíÚµãðáÃŒ=’øøxòòòÈËËk•õ{nk­õbvv6GŽi5¹ÁʾkÖ¬irˆ7†t…{?:4l›ëÓwß}—šš�jjjX»v-#FŒðëÓæ­w#!2Îåf@ DÏ´Ú€*nFFF“ +** ¸^£Ñ„lO¸v;w0{¼ Ôu-TÛýÙß[#áË–²G­V‡]3†U«Vñâ‹/°{÷n’““ÉÌÌlÔ÷óòω'üã©§žjШ衇B:¿N§‹HyyÛRTTDFF†ÇÃN¨6µdìkµúôé‹ÑCÛ¶m9zô¨ë!NaàÀ¤¦¦Ð·o_ôz½ßí"ûÍEc}Î}òâ‹/’––P`$‰½{÷úm07å>QX·n£FuààÁ=X­µtìx&Z­–ß~û€Î{P]mæÈ‘ßéС;Z­.ìû¤1y$\Ž?@||¼Ïk×?-kìÉÈÈp‰ íÚµã˯·søðarrr•7Zê^ 7ß¶DnÈÈÈð¨+Û¶mˉ',oéÜŒ²²2Ö¬YöXúHœßýþjŽí#åÓÂÂB×ÿËËË)//çÅ_$))‰èèh®¾úꈔE ŸF꙳±Â‚÷ò@¹Y ‘¡A‚U’„w¢KIIq%—%K–0aÂ׺;ï¼3àq/^쑤JJJü&U¥»W0{¼` 7ʾéé锕•ÝÇŸ=‘ò¥rÞÔÔT�8ʾ}åtê”ÄáÃE´m›MFF:€ËWÁ®?¾lI{T*U£*ÄqãÆ±råJÊÊÊ\C¨%oÜßò{Åé¾î‰'ž ??Ÿ’’RSS=õS§Num3uêTŸþÑh4MŽ}÷uS§NåÑG%%%ŵ¬¤¤„””¸o-±ß®];L¦*2330™L|ýõל{î¹Øl6×ö&“‰öíÛ{ü‹‹óØ&Ry¤11Ýܾ õ>Y´hiiiDEEa6›Ñh4Øl6Ÿõz½Kh¸ôÒK#rŸøëµðÆ/rþù—³iÓ* †h~ýu§‡È°`Á?™4éiÖ¯…œœ\Ž/@¯7—HÿþC‚Þ'Í#¡ øÈ½aãë\¡æ‘“kþìyâ‰'8¯oÁvíÚq^ÿÞDGG{Ük-Q…RG¹ îC=Ü먓‘JKKIII¡´´ÔCx())A¯×»|Ù’¹! .ôV­ZŸqãU‡Fâþ $øÚ>ÒòiVV555”——»„åwyy9‹-r-5jT£mh¬OÅr¸(Ï2¾zß(up°Ü,„È6;êŸ&wè ë.@,Y²¤ÁöÞ•p ‡ªpøðÃý““ÃáÃGèܹ3f±}»LïÞ$IïW°JǺ®#55•Ï>ûŽví2HLŒãœs⨨0aµêY·nŸ}öƒ¡CeãÆ5ºÂ<Uíñ~�òEYYeeeìÞ½Ûçú{î¹§Yo2¥Q¯<Ø–––6xÀU€•í"Y^áÏß=×Ò±‡Ùd"3³ &“‰Ûo¿¡C‡"˲‡YYm1›Ì¤§¥»n”a‘Œµæ¦9}© ƒªª*¬V«ßž ƒ£ÑèñЊЌC‡öø\^]m¢S§ž¬Zµ€²²"t:=*•ÊeOll"[¶¬eéÒ9Lžü ?ýô-jµÎàNfÙvïÞÝ»w“™™Ibbâ)Qù‡âŸüü| n³jÍ[ÄÇÇûl´7gÞ†{wy÷ù#”Fª{cþdÄ"4¸ë dSsæ†pb<99™ôôôUïû+X;÷cc}:jÔ(Ö­[Gyy9ÑÑÑÄÇÇOFFUUU‚ÃÂ… ÉÊÊj’Øp²âÁ[hpá.0œ õ®@ hE"ƒ{W±@ã°"ý ä~.w9=ÊvîË¡  €ÜÜ.TUVðËnݺ«Ø¾]9!ú³Ç›P»Ýù³=>¾-àT~Ÿ~-ýúõc×®]οßï¢_ßþ.Q¦¼¼<à›•HøÒ۞ǻgžYÞ,ö„ZuïÞ½Qñµ{÷n>þøã€½k¾Ô}_1•œœÜ@hPz7¸o©Øå~KNNv l';öM&999˜ÌôdPeßöíÛ;•ÓO§Êl¢Cj{uuu‹ýpÊÖÛ÷ÍéË`÷‰»À`2™ ’$aµZÃBñ¥2<›éÓ—p÷ݳ}v¥½çža·×qå•70xðhŸþmji Á@‰µGy„ÿûßÍkìñ׋AÙ®]»väåå¡×ë=ÞP6w=ʽè.0xçþl¬=î¹<\!Dù«ˆ"Š€Ú¹!!\Á1½ˆB»}$}:jÔ(¶lÙâúíî¯-[¶x………¬X±‚n¸!b>ml½ÛØgs÷8ö•“åf@ D†ÉÅ×\sˆ ÞÉH9—{ÅÈ÷dêª|êǘææv¡¼¼Œn]»q¢ø8¿í•éœë”„X^^ô!ÉÛžHù299™Ž’˜P`صk'K_šÍ9çÜÉ–-O…%’„ãKö�Íj¯ –|MšäK(𷯻ÈÈ._“…ùk¼øŠµPJû”‡aïI‘”ó56ö***ü>ŒÏž=›iÓ¦5XŠÐÐ\±¯R©HJJªªÈÈp Ê߯¿þš¾}ûº„ˆ¬¬¶T™ªè˜–F•ÉÌ?þq[¶laÈ!TTT49ö•íœ9s̺ïîÏÆÆ~¸¾ôëá Á„__j ç>Ù±Ã9Q£‚ûÿ!ÐX]_s1¨B¾OüMÔæÞ½:¹¹¹×ÇÇǻάÛ|(±öðódÉž|òÉF5#‘÷>ì|5J>L~~>Ó¦M h_¤ê¡pò¬{Nõµ} ¹3“gÝó¦²]RR’Çúòòr1™LCyy¹‡À¦ÔÍ™¼¯#З1�WC8Ôa;‘|.t¿¿šcûHûôÒK/õéS÷åŠQ^^κuë|öhˆ´OÝëá ôXP|­Ä±ûrå¥@ Ü,„Èà3Iùû”SsŠ ¾*ö@öx+¨�Ç‹ŠÈÉÉ¡¼¼ŒŽ;r¢ø8Ym²(<Vè|%y÷™¡ÙãM ®kÁ|¹o_9çœP`P–$&&RYYé1›u8¶7Æ ÙìñÕx÷ço•JÅúõëý–ƒÅbq5˜†îóm”¿Ê4ü=xH’äóš}íë-0¸¯÷žÍ<œØw?†?{”òŒ34ò•zKǾòe “ÉD»œLf™™™˜LU<öØc :ÔµÞ9¤¢Šö)§×ÏÉ‚ÙTÅk¯½êjø45ö}•íìÙ³ÉÏÏwͺ¯ôŽ3z$IIίˆLŸ>½I±ª/ýÝ'îs0"HhP"•ù!C}Ÿ4îþQðî µ{÷n×2w!ÒŸ ±{÷n"Xà X¬ýóŸÿt !LJJ¢¼¼<hQâ,’y?//1£Gòå×Ûý6FsrrÈËËC£Ñx,o{Bͳ 3fÌpÍ¢ïnwÎŽ„=„mï8­ªª"!!òòr—À ä[e¿`ñÜÔÜàm³òû¹çžóãÊy僉>á6ŠC½¿»}8DÒ§þü4xð`6oÞ 8'ŒT„†¦ú4Üz·±ÄÅÅyÄ»?±*œXBdh�[2iøªÔýÙãk]NN555tìØ‘Š²2²ÚfQx´¬¶Yì?p/¿,aÀ€TW²¬¬¬ ú†¦±3ýóe§NITT˜xì±Ûüã•W6Ò¯_ž{îMŸ6…c{cí™tïuÍj÷ïåË—7è^,‹‹‹\Bƒ÷öË—/güøñƒ½E{üñÇ]u×ìkßéÓ§»®ÊþM-¯Y³fùÝW¥R‘àZç=)šûq*++=®«%b_¥Rý! T™ÈÌÈtëÉPå!08{2da2›HKKÅd6yÌÍPUUñ<¢ˆ3ÁfÝŸ>}z£c¿1¾ôþ­f³9lÁ]hP«Õ˽ÏÎ}r2ë¿}Í×âkYnn.Z­ÿjÓׄf¡úGù¿»Ààý,D:ïOŸ>ÄÄDÞ Þc°fΜé÷-x¤ë!_C7e[e>¨@½+µ§²²2`ƒÒ„„***\åªÑh¨¬¬$!!ÁuœæÎ þÊëÞ{ïå£>òy¬-[¶0xð`ŸB¶¿s‡Ó¨ ÷þjÌý*‘ô©7 ,pÈ!¼þúë |ÜŸ†[ï6%Ïz÷\Ô+&”Xq‘Á߆pñ~ '©ù{ÓŠ=••äævùC`8æŽ=Fll¿ýö|ð;—]Ö1¤‡£¦(³Ál?|¸«Uß`Î÷ýúõwõ§<ãK_öLº÷:/~·Yìñu •JEYY+V¬ðüqðàÁBƒ/Á×DŸþÆßú²ëñÇ'??ßCdð~°ôwÝʃ¥w¯‚Æ–—bK°ûÂ{¨†û>ʺøøxŸv5wì{ôdpûºDFf¦‡À üMIIÅd6Ó>5•ªz!âÍ7ßäšk®i 445Ìš5+¤Y÷•7FM‰ýÆÀÊÿa@£Ñ4J`ð·SîwV¯^ ÀÖ­[Y´h{öì¡sçÎ8p€ììl¢¢¢�øþûï9묳�øá‡èÙÓùÕ‰ŠŠ l6›ÇDtá䥡i¸„êŸ|°A½èn³¯h¸up¸±Ÿ——Gbb¢ß1Øîs (ö5—=þr¨/âããØãÞˆÔjJnåÚ•|ämƒòBÃ×lý‘Î ¶+--¥¨¨ˆI“&5h—––rýõׇ]¯7×ýu2¿TªO7oÞÌž={<ü¹yóf† ‚ �<†Õ„*ÞœÌçw%~}Mòèoy¤bY ü‰E%IøŠàNïÞ½éí6àÖý•¾ð÷% _“ÔxwËôg/…97· ••Ud»õ`8rôÑQ~߀ŒŒtµý¹óg7º®óeÛ¶Ù¬[·©¡Àз»vî¢_ÿþ®!°"`åŠí±h6{üí;iÒ$,XÀòåËCª,•Ù¦ÓÒÒ\ŸnT¶?~ü8eeetïÞ=håçÏ?S¦L!??Y–]ÞǪªª 8ã²Édò˜ÝýºÂ)/E,ð÷öÔE`tíîv)Û6gìggg{ …Èt›“Á\å«'CÛú i˜L&ÒÒÓ¸ãŽ;¸å–[\]û#™G™ußWO¨Hçe¬6›­ÑƒZ­Æápxünì}òG®ÿc.†N®gëÖ­�lܸ‘­[·òî»ï2yòdÀ9ÌiÓ¦MŒ9ƒÁÀæÍ›]"î]»8xð 7ß|sÀûÄŸ† p˜‘¯òr_¦4¼[ýmªžy晀|||¼ÇÛB_õ[¤ó¾òU†¼¼<òóó þ¼æ°'P¯B_¹Õ}Þw{æÎëZÞTÿ„?Þ<÷aÞõEKåïs.X°€®]»R^^NQQlÚ´‰!C†¸¶ËÈÈ ¨¨ˆÕ«Wsýõ×7*ö1tèа®©9‰„O•ßC‡eèС̟?ßÃ_ŠÀеkW×ýäîƒÆú´)Ïœá¢Üwî=¼ïÇPr³@ øóѨ)^ÃIx;vìù_s(Ⱦp m<cL4¿ï?@rr’k|u¤|ÒØYŠ«ªª=ú1ßÃ÷î ú¾\wÝ$¶o_ܬj¼?{€µgþüù®Ê9œÏŒ*Cmm­Çrå»wïfþüùòò¦?ÿfΜIUU&“ ³ÙŒÙlv ʃ¦Ò÷5|!T{B±ÅÛ®`Û²«9bߣ§Bl¼çïøø=Ìfqq±,¯ò\ßy$''ÇãaÍýaJ¥R¹rH$&ëk¬/[ª'C¸¾T†­[·²téD×òŽ;bµZINNæƒ>à“O>áÓO?¥¦¦†uëÖQTTDEE…˵Zíšœ7’e ï<¡Œ«ö•?µgîܹŸwn®òpý3cÆ *++ ÊdoMõs¸öxϯ`2™\ÿ”<« »òn}‰#-?‘~îŠÔ×%܆¤¤¤ Þ1cÆx Š0ÉgFwü Ûh šã‹“'OfþüùtíÚ•={ö4Z[<4Vph®x§ž“Á׸*ïßá ·ÏÞ>ÏåëÁ9{œßXmtrS¶7›Í~¤=x7Å—J·6ƒÁæwˆD¿~}=†&¸ÚÏ×›®¦úÒ—=Ê Ía2i—;î²¹n1F£Ñ%0¸ŸW9†¯Ï`*‹óò–O–eXQ®I–eWýñÇ÷cî] •ãyÛJy¹Û¬›±ò ¥±ž——ОHž»@Pp¸€¸¸8öìÙÃí·ßîs¨DÛ¬,~üáGâââøß¶ÿÇ·ßî1dÂl67)ö½ÇšzÏÇàýVH™—¡±±¾îh¾ž ½O¼Y´h‘Çï+¯¼²AãÚ]ä�=z´k› /¼ /¼0è}âÏ?lt/Oïm”Æ‚û[Iå÷Æ4ÎBõkóæÍ|÷hð7¦º9ó¾û¾æ8q¿[Úž3f¸zZxM 4¼Ãl6#I’__657ø²'P9žŒÜàëz| ÞÛŒ3†U«VQTTRãÑ;ö±bÅ ú|÷îÝ®z>ÜO<6'áæwñQ”¿ŠØàÞ‹!Pî ×§¡Ö»?wéò1ÎøõWÎÿ9ôí?<mGDbY üD#_¸¿‘ _ÂD01#=±±±yäÞ Õ…pºÝyûrëÖ|.º(€¥Kg{ ý¸îºIõâÌÇpoØGÒ—'Ã_û <˜ùó瓜œLff¦ÇC‰ûü îìÞ½›öíÛû\—™™éÚÆ½ÑìÁÉý¯Ò(P©T ³î"—"øš”Qù›——Ǽyó|Š ¡”—"b¸ok2™<ìðÆb±ŒOE`˜7ožÇ¶ÍûYYY®†Ë­·Î§[·®ÔÔÖ`¯³ñàƒ—1uêc „†£……<öØZ┲�� �IDATIJN¢àÐAþïÿnÃd2¹†L„:Õ_ì{ 9î³îûbÌè‘]Û{/†âËÖÖ“!Xƒ8œúEù¬_°o«‡3Ñc$p+©LéK`Õ?Þ±¨7S°ãE:ï»çr_ñ¬ ;÷kŠ=Ó§O'??Ÿyóæyäܸ¸8×s‡»Hã.4¸çB÷ ,#‘BëHø§)¹ÁEEEùã@½u‰U_Üpà „¥žoi"éÓ¬¬,WOw¡k×®M~þŽD½«Ðþ»ïˆ¼�+W®dܸq�r{¸±ýw>Å+V0nÜ8dY沂sZ]¯ @p ˆ ¡$¼pz3x÷bhÊâ÷vK–,¡wïÞìØ±ÃãïO?ýÄùçŸÏîÝ»éÓ§Û¶mcøð�œSoúb¶»‹Þ ÈPì w\¡÷1·nÍÇh4rÎ9wÖW ÊWV¸†$¨T*>]¿’6m²ê»››Í—'ÃïuʃÇ!C\ø*•ŠöíÛã÷8ÕÕÕ>wã7òúë¯7é›Ôî¿qÈÊüþ¶Sò¡ø+¯[òóó#R©7F`hlì+ÂÁ£®")1‰ššÒRR°ÖÕòÎÛ{¹êêÜ=.üŒšê’’’¨«µræ™gð¢O¹{âÅ®íµ=PCnÖ¬YÄÆÆz̺ïÎáÇùê›ßx5G9™s2´Ô8Û`ãˆÃÉ#6lûüûöísýß×[É={öpß}÷…íCŸ‚ €Þûz×S‘ÊûÊ2÷Þ}î‚“{œ{ïënS$ìQEøð¾ÇæÎ‹Z­&??ße£¯ž Mi@†#ò4%F›+7xÇ~§N\_j(--eãÆØív®¸â T*ï¿ÿ>àœ(ÕÛß«W¯v5¢/¿üòFç†7’šš 8‡1*õ¼ÝngíÚµa )P>¿ øL"íS_ëÖ¬YCaa!555”——7ȾrE(ç äÓHÌeá~Î;ït>ë)BC0Ûüm/@ˆ M®$ƒ ‘8O¸q¨CŸ>} %¡Úi_Z,WãÞ×:€6m²øï’y¬_<3èƒfSjN¶=ÿû߃ á–A c†êï Þ õ™3g|#;kÖ,,KDÊkÖ¬YÌš5 £ÑØä ž»Z"ö• ÉI‰Œw&ï¾³›­–””¬¶ZV®øŽq7ôr =¶–Úšjxp(/¾ð©iÉÔZ­¤¦¦0÷™ <ðà•>"Mið(噓“Ãyý{³jÍ[.qaÌè‘|õÍòòòšÜÀhª/Ý{" †F}ÆÒ`0„Ô“!’ת°ìSiÍaO§NÐëõH’äÑXpo¤}øá‡ 6¬Ùü¨ï..ùxCõO ÞOÁîüüü÷€J¥ò)Ö‡S^îƒ"(._9J2i6›ü ÇÇMé‰í›ûþøRƒò¦„„Ÿûzç€ãÇ{”ESQ„E`hÌ9¬V+€Khh±3jjj�\ƒ;÷ÝwÏ>û¬O¡¡9ä¡ÛýþW„ƒanïk!6Bdš¤B™U¹©=¼¨ëq {;¼ÿ* ½ûî»noã'ø±+{Ü Öu-T_º7 ½»jZ,ŒF#ëÏdÇŽl~ù bcc±X,~»u6Ö—-mO8\}õÕÍ^!‡:«»?"Ø5{7š|Í:Nyùë½ÑT_4Wì›L&ºuëBum-ïÔ ©))جµ¤¦&c³ÖzôdHHˆ#19™^ø‚ÔÔd¬V+i)ÉX­µœyF7×vîâS$böìÙÌž=›iÓ¦¹æ^ÈÉÉ!//Í}†Ãápuõ÷U¶‘ö¥/rssÙ»w/z½£Ñ¶Ð`0P«ÕTUUa³ÙÈÍÍõÛxõ>q'ÔOXîÚµËgõ}ûö¹Ê7Ø}Il6ûöí£S§N.Aù žsK„ãŸPìöÕÍYi8»7²•†´"25&ö•]0æÍ›ç*3EðeS¸÷âìÙ³?†žù›4OÙ×h4zô\$ÉU?ùê]‰ÜÈwþ>ã×Ò¹Áî½t¡!{÷îm 4DJ IMMÅn·û<G ¡Á}ÎEhh ‘þº…"0 6Ì5ƒ"4„"J†ãÓÆÔ»þŽ©ÄßâÅ‹;v,õCCýŲ÷ö¯ÌkÑÜ,þ$"C(É.Ò=BéIàkïÏi†ƒû¸ÎæèÊØ˜ñj¾¶Sœ6¿ü¿þü3?®{£ÑöèÖdOk¬ùÇWÏwá¥)×Ü”ò²X,ÄÄÄ4ºGCc˦1±GmM-i©)Xm5¤¦¤bµÕ’ššT/4¤b2™\ãß““’±Y­õë­¤¤&cµÖ8… ›Í%H¸7´"ûŠØàp8<–{ )ÛP}éoåÁUyPGhP‹ÅT`×—ù„åÆQ©TcèÓÓÓ™6mÏ>ûl‹æEPPz.hµÚBC¤êÐPïE%ß*n‹ÅâSèŠdìCiT(ó ø²©1öx Áê!_~h ÿ„s¿·tnð‡¯Ï=‡²}ff&‰‰‰ÍRçzŸ#Xo*e2gƒÁ@ttt£Î)ŸFGG»¾Ú¡Ø¢ Þy:RDú™S B­Óüm/@ˆ a?j´D¢'C°s…bb‡¿!Û¶m£{÷î|ñÅœyæ™ †V„cOsù2Ð[Aeò ùãºçÙóóϼ‚û/4òŸY"æË–´'T”Y¨[Z`ð¶YiÌûûW÷[„@]¿›Z^J·ÍHõhh®Ø7™LÔÙë°Ùj<z0X­VÒRS9Tp¸¸8Î=÷\âââ8TpˆgvÃjµ’š’‚ÕZKJJ*6›•:»­AO†æŠ}å*Re)#4DZ`p¿>÷tºuëV—À�ÎOXîß¿ßõ ˨¨(ž|òI�^|ñÅ_ PÞh*"CsûRA”®ÜÞË#•÷½EKï{w„ ~'7tßW8#ûá– ›šb"4„b‡ro*‚?!°¹ëE_ûŸÌÜàE`ðŽo„Úøo ážCNö— âãã]ó1”——óꫯíñ•eþ†¬¬,Ÿë[âÆãÇ+>}m²bY œ‚"C¨³†G¢'C0Õ?{ÍÁL`ðž“!Ü7eÁf)Õ—¡Ž×¬®®æÿÙ»ó¸¨êýà¯ÙVPDQÜDE\Rsï¢išei@&e©·ºv½•ݾ^·¬´ÔüYš¡Y×ë¾¢©i’"ji¨án⊂€0 ³œßtN3,à ΠÈëùxð`8s–Ïù|>s˜Ïû|>Ÿãêꊌßã÷3§ÍÞ·G^Vez¬ù'õæ›obïÞ½¥–ß¹sÇlò([ÿ—÷e³¢GÈ•lÌ¿ÿþûX¸p! àææf6 äìÙ³+<oK3¶ÛZ^Fê‚^™/&UQ÷ÅüÙ¶õŠ´…öL(DƒõQXXˆè˜^ˆ‹‹“z(|öÙËXöÿŠ E…ðöö‚N§…—·:vrÅž={——•JUåußˬÉËŠ>'% uêÔ\.‡B¡îæ–ümiˆÄÃ|NLYóËÙ³gC¡P //Ï,À ‚ôÄŸ²Ê×ÚëˆiñŠ ¦ÄXYËí•?ֈŧŸ~*•«˜?R ƒÅü±gzL?Ã%ƒB¦i²ÇumöìÙåÞ•-ïµJ¥*wHš=¯ å›Åå–†±U嵡,uëÖµ:À Ö;±1_Qݘƺ-µZýP{åéСC±{÷n¸¸¸˜>ÿüsxzzJ‡õë×Kß4 Ö¯_/lÍÓÊ~ç,«'¦L&+wž«²êxYë[ûÔ"bÁ¢‚‚‚2g¥­Ì—ñ‚kÏô<Ì—¦Ê¦Çžãúl9ï7{ÿøêWÁ¬ñû(8:=ƒ 2»ƒôí·ßJÁGEEY}ÉžÄ@‚øÙô1•¢LLéêêjö±wþT¦îÿ5"k¿?YÜC¡~}\»–*FF#5f&½Þ >Ù‰6mÛ ¨H ½¾H 0DDDXuw¹º{Øëˆi !77·Â9Ä�ÃСCɨ’w¡ÅÀ‚é8`ÓtVúXmÚ´PÜ#Jìš-.—[bKƒÌÖëfEݽ !‚ôY.ùûQ}©/YV¦iª Œ²fõr¨ÊkCyÁµ³gÏ–9äÇtn„’뇄„Øå<l=†éü ¦²²²zJ{~o¯¡?üð6lˆÜÜÜRSâòÊÌÕð0i·t½)뻊¥›òû&Õà ƒ\.·ø¸ªÂ‡žÑW«ÕZœ ÞôŸtuK=óÒÒ—ïŠÞ[œXh1ý•É˪NOÉ»QÖ¤G 0¼õÖ[øì³Ï¤FÃêÕ«U©´[“?å=5B&“aîܹ� ͸¾`Á‹yPÖ2{•—سBl”¹¸¸H1¶ä½ë¾““"""þ 4t6›äQ 0äååÁÉÉ Z­VjÄüãϧHˆë‹R€UuÝwt^Zû9:t¨ôe¾¢9Ä�ƒ½?'•=¿’=J,}N*ÊÓ ‚øÚ^ï6*š¼N&“ÁÅÅ………(**’‚………pvv.|±µîW¦ìLŸ.!–YyizØÏ¢ØÈ1]ÇR³°°ÐæÏâãxmŸ’R±.‰ë‡„„X Ö–h³µîØzŒ:uêØœ&{}¦mýŒÈd2éz �»wï6 8˜öt{8ØZWö;§\./÷zSÞ÷_kÖ·tm&"¬úça:s¬øÊZå}Q´´nuN)kfúµ”v[•L{QQQ¹ûªL^V÷ôDGG—ZÖ¦M鎀-çbmzlÉ›… –š°ÌÚÏš=ògÞ¼y¥¾œ‹¢¢"›fºwTÝW«Õˆˆˆ–¦†¢¢"³ ¡˜æ’ëåååA­V—[ßEÝyYr¹øûŠz2 :ÔÊ2-ßò–Wæs"6¶Ñ©Êº¦Õj¡ÕjÍb@«Õ– ²[›ÓÀ…­æÎ[ê³Z^š&Jž·Ô°Ôx®è¦Cm¸6Xû½Èt[kíÖÔ}Kl 8*àèïmâu�víÚ%½ÎÎΆ‹‹‹(³ö—=êÃålÊ£þ—;Ø|=d€ˆA‹ÄeYYó襲ººš6æMß3݇é?eÓ(iuKOI–.öÌKËé1ݶ2éyûí·-¦§¼/å},+J~ÉuDƒÅÞå%N¦gÚ³¢ä«G]÷¡Óé V«¡Ó餿K>K©á þÖétpqq©5×[?'ûÛß*L»¥FCe>'K 0˜öh0]nésR^þ >¼Òeëˆüy˜º&6œ‹ŠŠÌîÖ«Õꇪû¦Ý¡mÍñØ:FZGܧ½>‹:NZæìì\ayÕ¦ïöªûÖ<–ÕšºoÉàÁƒ«Í—c{^o+ªåþö·¿U*O+ó·í… 6åÏá¶Ö¯¯Ó鬮ËDT˃ âÝ®²þ—\VÞLKË­Ù‡é„>Õ-=ÌKû¥ÇÒ—E{¤ÇÖeååOeïöU¶ÎØ£¼æÍ›'õj(+ý¬û5ç:R>'öüŒˆ%k?'5å:b¯ô¨Õj³÷«CÝ7MSMû,òÚ`¿ºÿ8pdžš,}^*›§Ž¾6Ûú†ˆd0³jÕªjuÕ-=%YêºÆ¼´,99™ùúϼ¬ /ù9áu„éᵡ&Ôýš¢&çiMú¿KD/Ù½{÷Ì¡qqqˆ‰‰)õšˆˆˆˆˆˆˆÈŒ""""""""»`ˆˆˆˆˆˆˆì‚A"""""""²‹Rs2U{2‘]0È@DDDDDDDv!‹ŠŠâp """""""zhÊŽ;"**Š9ADDDDDDDE)¾x÷Ýw™D¹yóæU¸¯DDDDDTÙö†d Cll,s…è1µ|ùr«Öãµ€ˆˆˆˆˆ*ÛÞP:ò ½&þR«3ùðŠ®¬iDDDDDDTí-^¼Z­r¹2™ r¹NNNpvv†L&�Èd2éG¡PÀÉÉ ~~~èÑ£‡´Ÿrƒ )))ÈËË+7Ý»wg)=êÔ©ƒ'žxYYYÈÏχ P©TP«Õ��…B¹\¹\…B•JWWWdgg›í§Ü C^^Ú´iSæ{'NœÀÑ£Gh """"""z Fxyy¡Q£F0ÐjµÐh4Ðh40 Rï…B¥R µZ 777ëƒ ‚PüdË’½d2 Ф¤$DDD°4ˆˆˆˆˆˆˆj0£Ñ(d2œá¤..¡Ñh ×ë!“É T*¡R©àìì •JUj?rKÇY˜þˆÝ#œÑºuk$%%Ùí¤är†DÔ/õº<n. xÕQ±6Ùé¼ � @–›®#——N°Ø“A 2”O��­[·Æ‘#GÌ&z0åáªDü硸z«�� Ó xeÎÙ2×U)d˜2¦)~HÊ4{]R‹&®øWT�ò5BüÝ0ÿÛ«8”|Ÿ5‚ˆˆˆˆˆˆ¨’Œ‚�£ÑFƒììl™Å �H1›‚ bW‰’ âââŠw T"((Èb"‹tFDÍL±Ë +ä2Ì}=q;nK¥B'•œµˆˆˆˆˆˆ¨’A€Ñ`@jj*òòò —ËáââgggFèõzèõz•h(7È ŽÇP*K¯Ò©S'´lÙ‚ @­VãâÅ‹6%¼ž‡³_ ÂäOÎ�Þ ÄæŸÒñÇ-M…ÛviSõë©°ÿ—{Ò2½A€þÏhÊð'๾øãf–n¼;÷Šà¤’ã˵Ʀwñòp?œýãþ½ü Q1ÃC >1«ãoKëoû9ã‡6Æ©KyØz0Ó£ð À€.¹„Ü|}™Ç"""""""ªiÄ^ ¿ýöd2<==¥yL§P999ÈÉÉ“““Ù0 Àœ ¦=Jþ8;;ÃÓÓ^^^¨W¯ž4Idy” ^ì‹û¢] wÈå2øxþñ𪫲º'B5Î\~�¾ô1Õ*9FõóÁËÿIAÂÉlŒèã�jâ_g¼øï3ðóqFpSW¨”2Lxº1¦~z¯Ì9‹'»xÂ×Û 2�-š¸ÀÍY±3N#´¥F=Ù¯Ì9‹;YEèÖ¶N¹Ç"""""""ªiär9Ο?¥R ///¨TªR�P©ThР<==‘]*PᜠåMæ`šŠ‚ ‚�ääë�…EƇ;q™ %×½]]¤ejѸ ¹ GøÁÃU ÿFÎÒ:…F|¹ù&¸•^ˆúõœàé¡Â75¸›UÜá—³¹èÙ±vÊD¾Æ€ÿî¹�ȼ¯ÃšÝi(Ôq÷žž*tnåQˆˆˆˆˆˆjqH„‡‡‡Uq€ºuëB£ÑHC'¬ 2”7'ƒ­AƒQ@üá¿&pôªkþD™ '~+C‹N!pv’K‹¡=êãÈéû((4 +W‡#gr��Z“€†Á(HÁ 1µ®Îr³ ‡Vg„‹Z!F,Q*d勈ˆˆˆˆˆ¨&ñöö†»»{™±²Èd2øúú"55Õ<F`)ÈPÖ#,KþÈd² ƒ %jðpS@&Z¸¡cˆ‡ÕÛþr6Y¹º2oy,%M:ãâµ|œ<Ÿ‹”?XÜ×ñ³¹hÙÌ *¥ rÐ)ÄGN[÷„ [EDDDDDDT])•Ê2çd´D¡PÀÃü=oqâDzÆ_”½0m»‹_PhÀ‘Ó9X;».]ÏÇÙ?ò­ÞV§ðþ²Ë˜ˆá^ÈÊÕ£U3Wì=vE:#¾ÿ! kç´Ç…kÐñþ²Ëåî+_cÀº}wðùÛ-!@òÅ<üqKµóCØz,""""""¢êªnݺVÅ�JƼ¼¼¬ 2ˆ½*‹!‚Åž yz xãD©å³Vþgµ…Zó�ÅßÞú @ñÐñuIçSó1îÃßQÏC '¥éÙÙt [fÀE-Ç¡Ì}ýû«+Òë-Ó±íç ÈeÅO©(kýعg¥×Ë6Ý´x,""""""¢šF¯×K¤´e´BÉÀD…?Z³C[‡KˆJlu?O_ærƒQ°©Ño4 ¨lJl=Quc©ýoK›_ά$"""""""kY :”Û“¡nݺضm4 <x�­V ƒ¡øŽ½B¡€Z­†»»;\\\ШQ#æ2Q-Wn¡[·nÌ"""""""²‡K‘](¹óÃ+º2‡‰ˆˆˆˆˆˆj öd """""""»`ˆˆˆˆˆˆˆì‚A"""""""² ˆˆˆˆˆˆˆÈ.d """""""»P2 ˆˆˆˆè±Qp8µ•ùP–ö‘€{}æ9ƒ DDDDôø8µXÃ|(KTÍ| "‡bˆˆˆˆ?!}ˆ(æ�$­.d>Q•`ˆˆˆˆ?Q¼koŠA"ª"œø‘ˆˆˆˆˆˆˆì‚A"""""""² ˆˆˆˆˆˆˆÈ.d """""""»`ˆˆˆˆˆˆˆì‚A"""""""² ˆˆˆˆˆˆˆÈ.d """""""»`ˆˆˆˆˆˆˆìBÉ, """¢Úì~A!¶&Ÿ,Î%²Cê»»²P‰è‘aˆˆˆˆjµ­Éç³jÛcq.qÑO#ºG'*=2 2èÛ2�QkdÚW'ÂÁ ©,D"zäd """"ѱF÷`ˆªNüHDDDDDDDvÁ Ùƒ DDDDDDDd 2‘Ãüpƒy@T›0È@DDDDD3éðQ2ó¨¶`ˆˆˆˆˆêÝcÀì“Ì¢Ú€A"""""r¸~¾>Ï| zÜ1È@DDDDDUbbðé)æÑãLÉ, """""{ùî°Ò¤ÇÂó÷ß9 䣚ə̯‡Ù ¨ïÌ| ê…A"""""²›•烷-¯óé) [ ,Ma~=Œ¸¾@tKæU/ 2‘Côm ½ Ì—¯yª tiÀ<ªŒÕ+ä=* 2‘Ýõm ü4 ü/šW¼ÌYQ`ݼøïNÞ̧Êbª+ˆˆˆˆˆÈáœÀ–ÁÀ¦Ì ¢ÇŸ.ADDDDD·v� Dµƒ DDDDDä0Jyñ…#˜Dµâ3Ï, """""GYÛŸ<Õ&ìÉ@DDDDDÃ�Qí Ùƒ DDDDDDDdœ“ˆˆˆˆ¨†Ò|wnfç�bVmC̪mhâYWƒò×µ­¼:øï$`~àZ™GDÁ Q $2Æukö6{o\·öP´lÁ4È��F�.uAp`ÂþúqäajwÙÿ•¿ÌãÚM&“U»41È@DDDDT#–B™ËÆGtÀG?˜ÆGt€àS¨×Ⱦù×Ý_rx«T0ùͰã3™y\{Éd²R×…êt`ˆˆˆˆ¨:·'Me½nÙÐ}Bš!áb* �aÍ#ÄÇ F�èú°çãâ êø-ûF£clü³ltü¡joø+ÀÀ<®]A…’×Óe%ƒ*àÀ Q .”ü-¾Þ ®�ž k£Øò ýW¡ÓH�r‡·J…? l�;ŽÑ)ˆÃ<®ñwÉ@CEï1È@DDDDT‹ ¦¿AÀƒŸŸ¢¢"i™ èZß ®ÚŒô÷óBjjêŸ{ª ¸µîœš¤åŽSxÀ= PQ%‡«•2oçqæ- Õ‰ùQ› ¦AñG¥RÁÝÝîîîåöl¨Ê`ƒ DDDDDÕ,¸`X_§§§C§Ó¡Y³fen›³êc�TŠO©_pŒ€BU%çp80 €\¨ä,SGx'xk� ” óƒ€k×®!?? 6,˜¯!UhàÇžˆˆˆˆ¨´y: ·H@ZV²òµhâ߬ü/örò22yñ=¶š5k†¢¢"äää”êUÕØ“ˆˆˆˆ¨(Ù0øè7à?'þœØ 7ïÄF@_îd–+�CÕžQ�´Þm'ª*HMM…‡‡äry©áUÕ›!M""""¢j`–ÿ|TƒN‹g™ODd™8_‹Ñh,ÿºâ` 2U¥æc ‚ hëÉ<""Ë ƒ`0 4”¼Æ8‡KUâG£Ñˆv0µ­Fƒ©©z¨Ì"²L¯×Ã`(%—Ëa4!—÷-¨ª‰d """"ªFÄ@ƒF¸È 0µÌÀŒ!¢ ‰=Dr¹¼Ô\ Žž›Ã%ˆˆˆˆˆ!1¨PòÇh4J?âIªYÖ¬Yƒ•+W2#¨ÊˆAñ§¬k‹£1È@DDDDTM”lÐëõ;æèÑ£áììlöãååUmò䥗^ÂèÑ£kdyîÛ·»wï¶*ï]\\„AƒaóæÍü0P¥ˆÃ%EpAÄáDDDDDÕ(À ¾6¼Í´û³#„……aÉ’%Òßâîêà©§žrhÅZ»víÂÕ«WñÆo8$ï³²²ššŠ5kÖàÅ_ÄG}„¿ÿýï4mTó˜ö`0A¼¾Tż 2=ÂÀ‚éï² ƒÁáÃ%<<<йsçj™GÏ?ÿ÷ ó�� �IDAT|µHG||<.]ºd÷†|ɼ?~<ž{î9|ðÁ=z4üüüYÚ¨æ1.!“ɤ@ƒ\ Ž 8p¸Q5 :”|¶}vv6–/_N½^/ýTE�";;}ûöÅüùóÍ1£Fš5k¤eï½÷Þ|óMlÚ´ ;wFÆ 1yòdIëF|øá‡ D³fÍ0oÞ<³c½÷Þ{xûí·±~ýztìØQêY!./¹ÞЫW/4oÞË–-ƒ^¯Çßÿþw4mÚ#GŽÄ•+Wl>vbb"úõ뇠  |úé§Òû_|ñ6mÚ„'N ,, ÿøÇ?��Û¶mÃóÏ?fÍš¡{÷îX¾|ùCç¹Z­ÆÇ N‡U«VUxœªLÕ¬ ã.Á Ñ#,”ü-HHH@¿~ý°{÷n(•JéG¡PHÁ{ÐjµHKK“~´Z-�ÀÓÓ¯¾ú*fΜ‰Ã‡KÚË—/c̘1Òö×®]î]»°xñbL™2Ï>û,V¬XÕ«WKëÌš5 [¶lA\\.\ˆ… bÇŽÒû7oÞÄ?ü€%K–`úôé:t¨´üúõëfëíÝ»|ðÞzë-<ýôÓxçw0fÌ‚€¯¾ú çÎÊ+l:ö¾}û0eÊ<ÿü󈎎ƌ3píÚ5�@dd$zö쉠  ,Z´&L��ܸqýúõþ}û0lØ0¼óÎ;ÈËË{èò ŸŸ.\¸Páqª:mT3‚ %ƒ•e]k…Ã%ˆˆˆˆˆªa°áêÕ«7n4 Þÿ}³®Í2™ *•ʬ§ÀÃHJJB`` ô÷Î;1`À��Àرc±wï^DGGcݺu˜5kvìØµZ-¥W&“¡^½zؽ{7Ôj5^xᤦ¦bÏž=˜8q"´Z-/^Œ™3g¢oß¾�ŠŸ¼°~ýz 6L:®F£ÁæÍ›Ñ A‹é-**–-[àããƒÐÐP,[¶ m۶ŬY³��{öìÁ¡C‡¤�Š5ÇÎÌÌDBBBBB Óé0þ|8p�111€¯¯/òòòЫW/i›É“'K¯§NŠY³f!11C† yè2iܸ1ÒÓÓË<Îÿý§ø8‘O y$i£ê«ä\.â#,«"¸À Q54L›6 jµ]»v-µ®L&ƒR©,w?¶Œ·îÓ§âã㥿 …Ù~/^Œnݺ¡_¿~xùå—a–¹\¸ººJ½0°lÙ2F\½zùùùøþû綾/_.5ß@XXX…�èС|||��®®®�€Jﻸ¸HÃH¬=vÏž=�P©Tpww·*ˆsøða$$$àöíÛ�€ÂÂB»Ô…ÌÌLôìÙó¡Žã¨´Qõ2”÷èʪ˜ô‘A""""¢j\_ß¿��4iÒDê5P’ 0ÝV§Ó™5&T*€ânÔâð q;ƒÁ�­V ½^o°EEEÒ~ ¡Óé ÓéЪU+‹ç"6îÕj5´Z-d2™´ì©§žB»ví¤uëÖ­ëð¼uÔ±A@tt4Ž?Ž &`Ô¨QX¹r¥]Ò|ïÞ=ܸqÁÁÁegù×+YÚ¨úÊ"aZ7l`ˆˆˆˆ¨šÎ;'-óòò²º›³N§ƒ prrP<T@§ÓA¥RA¡PÀ`0H]©U*•ôx;Ó®ÕeígÊ”)hÕª^{í5¼ûî»èÓ§Z·n]*íEEERZ;†-Z@&“!((NNNÈÊÊÂÈ‘#«4Oíul™LfÖ³áܹsX·nöìÙƒ>}ú@§ÓÙ-Í‹/†³³3¢¢¢¬:NU¦ªÿ5¤¬É9ñ#Q-–••UªÑP1€PrîqøBÉF©8ÌA Fܾ}iii¸yó&nß¾-5Lׯ_`Ù²eøÇ?þˆˆŒ?¾T×ûcÇŽ!!!r¹ñññøùçŸ  ¸WÃÔ©S±víZ¬[·………ÈÉÉÁ‰'ž—ö:v×®]qêÔ)ܽ{�àææ™L†‹/"-- 3gÎ�¤¥¥Ù´_qÒÍ7nààÁƒ˜:u*,X€yóæ¡aÆVÇQi£šd°åºÁ Q-h$´lÙRúûüùófƒÁ�N­V+ýèõz³Æ…8´A $TÔØ'~ D@@�‘””„ÔÔTLš4 _}õ|}}�qqq¸sçþùÏšíC|죟ŸÆŽ‹gŸ}VzÒ�|ðÁˆŠŠBll,üüü€E‹UIžÚãØÃ† C‡Œ)S¦ Y³fxýõ×1mÚ4´nÝJ¥'NÄ{ï½' u±†˜÷-[¶Ä¤I“––†ƒâ•W^�«Žã¨´Qͼ~”5D¢*É.\(DEEaãÆˆe©=¦–/_ŽÑ£GW¸¯DDT£%­VÇ�Qq@D´U›¬:’Œ˜UÛý4¢{tz$ £Ñ(=zN¯×C§Ó¡E‹¸ÿ>�`åÊ•xùå—Ͷ»ÇËår¨T*èõz³ùÊ"g· =®Òôјí§¤—^z ظq#222àââ"í¿ä>ôz=nݺ??¿r'®t{ûÎ;¨W¯œ�999P«ÕÒßiiihÔ¨‘ÝÓnzƒ�ܸ•†¦~ =ú´QõÖ­[C­VC¥RÁÉÉ …J¥r¹ …r¹\êÍdê×_…‹‹‹´ž¸]Éצû¯®®®R{ƒ=ˆˆˆˆˆª¹\Ž?üPúû?þ(w]±¡`Ú`(kˆ„µ*³Óõ4h�wwwé<JR*•hÖ¬Y•ìul___©ÑO iú·£ñÖçQ¥ªG5DÂìúÅb """"ª~ÆŽ‹#F��¶nÝZáú …B ˆÃ'A0Ja [÷£×ëѶm[´oß^zßh4B&“I½ˆ¨öàÓ%ˆˆˆˆˆª!™L†/¾øO<ñfÏž N'us‡3Èår³Þ*•Jz2„øJ•J%mc:oƒøD ‘Á`öoi?%Éår¼ýöÛ�ЇcˆûŸLAD 2ÙìÈ‘#ÈÌ̬uç]¿~}ôèу€ˆˆæé§ŸFpp0”J¥$P*•e6øÅƽ¸žé:âøé’‚²†XÚOYAµZmÕºDÄ ‘U233qëÖ-f‘ƒ”5Q›¥uíuLG¬KD/ˆÈ®Ôj5êׯÿØŸgff¦47cˆìª~ýú>|øcžÛ·ogÏ """"¢øt """""""² öd """"ª!Ξ=ËL @o”r@Á©0èOmÚ´©é`ˆbÍš5زe òòò¤eÍ›7Ç›o¾‰Ö­[WûôÿðØ;w.®^½ŠN:aîܹhß¾= –ˆˆØˆ GŽAªÎd "‡?~<”J%^xá�€¯¯/vìØggçG𮤤$ÄÇÇcöìÙ害aÃŒ3FúûæÍ›HLLÄéӧѤI.Q98'9Lxx¸ôºcÇŽ<À‘‘1cƘõ®(©  �Ë–-Ö-[püøqDFF�²³³±~ýz*‘ìÉ@DÕBnn. <==-®—žž£Ñ___›öŸ!C†àæÍ›×;þ<V®\‰ÀÀ@�ÀêիѰaCèõzddd° ˆˆˆˆˆ,`ˆªÜòåË1eÊèt:¼þúëÐh4X³f �`ذaX·n”J%Ö®]‹‰'¢  �Æ ƒ\.DZcÇ––†ÈÈH|÷Ýwøïÿ‹É“'C¼ýöÛ˜1cbcc±qãF�ÀæÍ›1bÄ|þùç8þ<�`ãÆ8yò$¾üòK´mÛÖ,m;w6ûÛËË Mš4Ajj*z÷î]ê\®^½ŠU«V±P‰ˆª‹Ë‡ �âÿüm…ÃéŠ> \L®Òä ‚ ý6f?z½ƒz½·oßÆÐ¡CY¾9¹\™Œ“,ƒ DD6‰ÅÒ¥Kqúôilß¾7nÄðáÃ1bÄlÞ¼?ýôˆ±cÇbÅŠøé§Ÿ˜˜ˆ¤¤$ uëÖØ¹s'fΜ‰… bþüù¸víA@½zõ°téRlذÁì˜3gÎÄ–-[pæÌŒ=‹-²*­éééHMME÷îÝ1`À€Rï=zÿûßÿX¨DDÕÍÁ•�VZ·nH' Ï¬\¹+«8È`‹>úˆåú¸7ΔJ( f1È@Dd+'''�@Ïž=Ñ­[7Iï™i×ëÖ­‚ƒƒ¥×W®\Áš5k°páB¨T*³}«Õj»¥sÞ¼yhÔ¨6oÞ,¥ÅT÷îÝ1xð`¨«W¯ÆÁƒÑ·o_DEE1CˆÈ±.W='�A½¬Úäpú¬¼|&L@/÷*M®-=”J~u\‰eNÄ ‘˜Fí ƒÅu›6m �ÈÌÌă–¦“'ObÓ¦MØ»w/5jTæ:>|8 °DTT¢££™DäXI�2WëDXyÍ9’Œ•—·¡W¯^ˆîѩʃ b€Á`0˜ŠŠŠ Óé ÕjqöìYÞᮢǟ.AD5ŽØ£@¡Pصׂ©ŒŒ üýïÇþýûÑ®];�@bb"._¾Ì """"*{2Qs÷î]�@HHT*•Ý'HÒh4xæ™g0fÌœ;w)))¸wïæÌ™ƒS§N±�ˆˆè±tãÆ ( 4jÔÈìëš5kPTT„ &Ôº<)yî¶æÅ£È;Gó?þÀêÕ«qùòeŒ3O?ýt•Õ?ªyØ“ˆÆtn10 *,,�èõz�€N§“Þ3}-:wî<x�N‡ü�0mÚ4�€ŸŸ� %%………Ø·oŸ´]ff¦ôÚÍÍ �ðûï¿ãÌ™3X½zu©ã <÷Üs8|ø0¦NЧŸ~#GŽÄ+¯¼WWWxxx°`‰ˆè±²cÇDDD }ûö†···YP}ß¾}ؽ{÷#MãèÑ£áìì gggx{{£sçÎøæ›o~Ü’çnk^T´¾#ÎËÞåe0УGxyyaÒ¤Iå!uTý#ˆˆ��ß}÷Þxã éïäädDEEáìÙ³X±bΞ= �Ò“#fÏž-­»|ùr\¿~Ýlžžž9r$‚‚‚ššŠiÓ¦!&&�0}útøøø`Ïž=hÚ´).\(~fYóæÍ±uëV\ºt �ðÒK/(~DÙ'Ÿ|‚gŸ}¶Tºß}÷]ìØ±£Ìs gÁÑc¥  �'NDË–-qíÚ5ddd`É’%¨S§NµKk×®]‘€™3gB¡Pà7ÞÀéÓ§k|<ÌyíÚµ K—.uhú~ùåäææ"66½zõB·nÝjeý« _ý54M?— "‡7nÆWæ{mÚ´ÁĉÍ–õìÙÓ,ÐP’¯¯/víÚ…‹/¢~ýúðòò’Þ2dnß¾óçÏ£eË–Édˆ‰‰)iŸ4iFŽ ¹\Ÿ2óñÇãã?fQ­páÂÜ¿o¼ñêÖ­ �xñÅ«eZëÔ©ƒððp„‡‡£eË–6lŽ;†:Ôè2Ï+,, m۶ň#¬>¯øøxüqù’Ù{KII‹‹ \\\juý« ëׯÇ‹¾}û2È@DOؾ}»Ýö—žž�¸sçŽUû½råJ•'QMçïï¥R‰={ö k×®×MLLÄŒ3pãÆ ¼öÚkÒ°E øÉ ,À·ß~‹»wï¢}ûöøøã&5{õê…I“&�~üñGLŸ>_ý5BCC?6Z¥R™í·<Í›7ð×°ËmÛ¶aíÚµHJJB£FðòË/#66VZÿ½÷ÞCaa!ºwïŽ9sæà•W^Á”)S*Ü®"F£3gÎÄ·ß~ £Ñˆ×^{ ï¾ûn¥ËÖóúâ‹/°iÓ&õ:„……¡oß¾X°`UåuýúuÌœ9?üð”J%f̘QêPÜ3uöìÙÐh4 C«V­ðý÷ßWXÞ–òÜÖúgͱ&Mš„Æãƒ>¶éÚµ+æÏŸXLÑhÄ’%K°jÕ*¤¦¦Â××sçÎÅÈ‘#í^¾Ö~Çœ;w.víÚ…É“'ÃßߟA"ªÝ´Z-nݺe—} ‚ ÍåpåÊ\»vÏ'""²#ooo¼ð ˜={6nݺ…ùóç—ÙUýÂ… ˜2e ^}õUddd`ÆŒxöÙgѬY3�Àœ9s°téRLŸ>½{÷ÆâÅ‹ñä“OâÔ©S€ŸŸ6mÚ$¶lÙ‚””ìß¿_ 2¬^½K–,±*ÝkÖ¬�téÒ@ñ¤ýúõÃþólذï¼óÆŽ+Í¥tóæMüúë¯øå—_0}út©ËEÛUdÖ¬Yزe âââpïÞ=¼öÚkh×®† V©ò°ö¼\Ý=‰C ?!íÖM,X°À¬—gEåµ`ÁdffâçŸFFFF¹½úõë‡çŸ_~ù%-Z$ÍoUQy[Ês[ëŸ5ÇJMM… fÛ¥¤¤ ''Gú»¼ôÌ™3}ôæÌ™ƒÈÈH\»vMê kïòµErr2^}õUŒ1ãLJ««+ƒ DT»Ô¯_ßîûLHH@hh¨ôå#11Ï=÷\µzNxƒ XøDDT£}õÕWð÷÷Çœ9s°ÿ~lذ;v4['33  N§ÃüùóqàÀÄÄÄ ¨¨Ÿþ9bbbðÖ[o�âââàëë‹Ï>û ‹-Bÿþý±lÙ2äççÃÍÍ {öìAdd$0mÚ4üþûï¸wïúôéSn:ÓÒÒ°hÑ"ÄÇÇ#11¯¼òŠt÷{òäÉÒzS§NŬY³˜˜ˆ!C†HË5 6oÞlö¿ÛšíÊ£Õj±xñbÌœ9SêÚ¾fͬ_¿Þ¦F¨x^Û¶mñcǬ:¯ƒ‡ �¾¾¾(x‡^½zY]^�púôiøûû#00-Z´(7m~~~ ‚B¡ŽaMy[Ês[êŸ-DzFÉôhµZ,\¸}úôÁ›o¾ � ²kù> ƒÁ€M›6áàÁƒˆE¿~ýd ¢Ú£GvßçðáÙ±DDD&“É0cÆ ôïß/½ôúõë‡øøxDDDHëôìÙ!!!��•Jwww�®^½Šüü|³õ ÂÃÑ’’�èÝ»7d2:„¦M›BL:Ï<ó t:vî܉ÁƒÃÉÉ©ÜtÞºu ñññ ÄÔ©SiöþáÇ‘€Û·oøëIV¢°°°2»mWñ¼¿ÿþ{iÒèË—/KO½²–éy½ýöÛ¥Y™ôY*/1` .à£>²iü¿5å]Qž[[ÿl9–5J¦çêÕ«Ðh4<x°ÃÊ×^ÁÓòcˆˆˆˆˆª½ˆˆ=z:tÀ7ß|cÖ°³D«Õ�ÜÝÝÍ–»ººJÝÕ]]] aÆ:t(ÂÃÃa0pòäIìØ±£Ôxý’ºt邸øøRËA@tt4Ž?Ž &`Ô¨QX¹re…é®ìv¦ ?�xꩧЮ];i¹8¡µºté‚íÛ·C¯×› }ØôY">±ëý÷ßÇСCñá‡â_ÿú—ÝÊÛ^õÏQÇ*Y†%÷oÏò}2™ ‘‘‘ˆŽŽ®QQgˆˆˆˆˆ�‘ïܹ3.^¼hõ6-Z´€\.ÇÑ£GÍî9rƒ ’þ0`�þ÷¿ÿÁËË o¾ù&Ôj5"""°víZœ9sƪ! e9wîÖ­[‡={ö OŸ>ÐétÝN'''deeaäÈ‘v/ kÒ'“É*}‡»}ûöؾ};þýïcÑ¢Eøç?ÿ ¹\n·ò¶Gý³öXr¹Üìщ‰‰V×]'''ìÚµ &L¨Òò­H›6m0yòdiøFM"ÕJÉÉÉX¿~½tÇøÄ‰HHHÀ“O>iõ>ÜÜÜ0~üxlذGŽA~~>>ùädffâÕW_•Öëß¿?RRRðÛo¿IcËûõ뇯¿þ={öD½zõ*unnnÉd¸xñ"ÒÒÒ0sæL�Ås8b;‘Z­ÆÔ©S±víZ¬[·………ÈÉÉÁ‰'ìR6Ö¤¯k×®8uê”4Q¶µV¯^ëׯÃh4B£Ñ uëÖVl)o{Ô?kŽcÇŽá?þÀ–-[0uêT«ŽïììŒ×_û÷ïÇŽ;`0’’‚Ó§O;¼|ËS¯^=L›6 Ÿ}öY 00È@DDDDT‹eggcòäÉðööF@@�zõê…Q£FYÝu^ôñÇ£S§N0`�š6mŠ… bÅŠ—Ö …··7zôè!͔߷o_èõú‡šH¯Y³fxýõ×1mÚ4´nÝJ¥'NÄ{gØ};S|𢢢 ???Ø<áäoذaèС‚ƒƒ+nbjÕªUhÓ¦ 7nŒ#GŽ`öìÙv/o{Õ?kŽõ /ÀÝÝmÚ´ÁÌ™3ñßÿþ×ê4üßÿý^|ñEŒ;uëÖEß¾}qôèQ‡—oYFŒ¸¸8 42™¬Æ^Wd .¢¢¢°qãF›ž KD5ËòåË1zôè ×ãµ€ìmÕªUˆ‰‰A\\¢££™!DäXI«€Õ1@TaÝ5gÕ‘dĬچ¸è§Ý£S•&W‚�£ÑƒÁ�£Ñ½^/Mô¦Óé ÕjqöìÙRÚÓ7p÷î]ÂÛÛ»Òû)((@VVüüüª¼‘”““µZ ggg�ÅwüÅG:b;Sz½·nÝ‚ŸŸ_¥·m0¤9J>E«¬ôùø6‚Þ(å€BܹsõêÕ“Ö±Faa!rssáããóÈËÛšúgͱ222*ýä¯ÂÂBdff–¹ÿ‡-ߪ´sçN´iÓjµ*• NNNP(P*•ËåP(ËåÉd¥Îó×_…‹‹‹´ž¸]ÉצûR(Ðëõpuu•Úœ“ˆˆˆˆ¨–kÚ´)š6múÐûquu•z)Tµ’òY(¨ìv¦”J%š5kVeçeÌ×ñõõµy¿ÎÎÎ6%YÞÖÔ?kŽõ0wvvF“&Mª¼|G.ADDDDDDDvÁ Ùƒ DDDDDDDd 2‘]0È@DDDDDDDvÁ§Krrr —Ëáááa¶üÔ©S0 èܹócu¾Ž8¯ììlœ:u ÷îÝC»víвeËjs¾:999ðôô,õ˜L[FdeeÁÉÉ v{\iyud """"¢ââÅ‹8tè222`0 T*† �þøãètºGdX¿~=.^¼�P©T¨W¯ºuë†ÐÐÐJïÓÞç%V®\‰Þ½{£k×®P*«GS+''Û·oÇõëסR©`0ТE 6 ...6åqNNâã㑚š ¥R N™L†Æ#::ºÔ~Ôj5Z´hÐÐPVºƒ DDDDDTèt:lß¾AAA7när9Î;''§j—V??? 4·nÝ©S§???øøøT¸í¥K—nݺ9,}·nÝ‚V«EXXXµ 0äååá믿†——^ýuxzz"##6lÀ7ß|ƒØØX¨T*«ò877+V¬€»»;^yåøøø@¯×ãÆ¸råJ™euóæMœ8q;wîÄ”)Sj|t´¯¿þ/¾ø¢Yð§&✠DDDDDµÔ½{÷PXXˆnݺA­VC¥R¡C‡ðôô¬viU«ÕðóóC·nÝп�À7¬ÚöÒ¥KÒÝuGIOO‡R©¬6�HJJ‚ÑhÄØ±c¥2mРÆŽ‹û÷ïãäÉ“Vçqbb" Æ'v”J%1`À€2÷Ž>}ú ''·oß®ñuÐÑÖ¯_ &ààÁƒ5ú<Ø“ˆˆˆˆ¨–ª[·.är9®\¹‚Æ[\÷Æ8pà�rrrеkWDDDHï ‚€¤¤$œ:u <@Æ 1pà@4jÔ�°iÓ&øûû£k×®�Ї*üøã>|8|}}�‡†B¡0ÛoyêÕ« xn��¸páΜ9ƒ›7oÂÝÝ¡¡¡ �?~gÏž…Á`ÀòåË€AƒYu^999HHHÀåË—!—ËÑ»woi¿¦NŸ>C‡A¯×cùòåðööƨQ£°ÿ~èõz4iÒ‡Bhh(ÂÃÃKåWýúõѯ_?4mÚTÚ§¸mHH<ˆÜÜ\ôèÑaaaøaÏ^œI9‡¦~0tð xyy•J“ 8yò$:wî ggg³÷<==‚'N <<¼Â<ÉÉÉèÔ©ÜÝÝmªcnnnfeU™:XQý€øøxxxxà‰'ž¶Y±b €æÍ››åiYåqüøq$''#;;èß¿?ZµjA€S§NAtéÒ½zõ²¹ŽX+33sçÎÅ®]»0yòdøûû׸ë {2ÕR...hß¾=ñyÝŠ�� �IDAT­V[æz÷îÝî]»Ð¶m[„††bÿþý¸ÿ¾ôþ¡C‡päÈ„††bܸqðððÀªU«¤uêÔ©ƒóçÏKëŸ?ééé¸zõª´,99Ùê1ø§OŸPÜ-_lè`üøñhÙ²%öîÝ‹¢¢"�@HHš6m ooo 2Äl†ŠÎ+)) ùùùˆŽŽÆèѣѤI“2Ó€víÚA¡P`È!èÙ³'� 77—/_ÆñãÇѳgO[•_â¶W®\ÁO?ý„îÝ»£U«VØ·o6lØ�A‰ÌÌÌR½L¿z½Þ¬!nªqãÆÈÎÎ.·ñošÇ9990 ¢JÒëõøå—_àêê*•Ueê 5ùuÿþ}äææšm—žžn¶?Kåñã?¢S§NˆÅSO=…úõë�~þùgœ;wO?ý4Œ#GŽ˜õб¶ŽØ*99¯¾ú*¾úê+0È@DDDDD5ðaÃЧOüöÛoX¾|9îÞ½[j‚‚Œ=]ºtAÏž=!—Ë¥�Á`@RR:tè€îÝ»£Q£F1b Ž= �hÞ¼9nܸN�¸|ù2BBBšš �ÈÈÈ@AAš5kVn:óòòpìØ1|÷ÝwHLLDçÎ¥Fo·nÝÐ¥Kx{{#<<ƒׯ_P|GÞÃÃÎÎÎð÷÷—�ܽ{...ðôôD“&MÊ ‚Ô©SžžžËåð÷÷—zgˆ í1cÆ }ûöðòò²*¿DƒÏ=÷Z·nnݺÁh4ÂÇÇC‡Epp0‚‚‚¤ó,+È� ÜžnnnÁ¬a^^‹ûªS§ŽUu*==k׮ŧŸ~Ь¬,DEEY|…¥:hK~Yø(YGŽA`` ÂÃÃáåå…ÀÀ@Ô¯_ƒGEXXкukøûûã÷ß·¹ŽT†Á`À¦M›0aÂüôÓO5æšÂáDDDDDµ\ïÞ½ˆ-[¶`ÕªUxñÅÍîÈŠ=�@.—C­VÃ`0�(¾ƒ¬Óé̺úËd24mÚ��Èd2\»v uëÖ�„‡‡cݺu0¸xñ"‚‚‚,>Z177—.]’žzböþõë×qíÚ5äååIÉŠX:/1[¶lAff& €€€�›ó¶Q£FÒkóKÔ°aCi[q‚F±ë?P<'By=\]]�………e¾¯ÕjK=.²¼<÷¥Ñh¬:g•J???ddd AƒRW¦Ú’_•-½^-Z”ZW<ö™3g¤Þ YYYfÁ{Ôk‚ bÏœš€=ˆˆˆˆˆMš4Á„  R©ðÛo¿ÙÔ�Pêi�J¥Rjè«T*4mÚW¯^ÅåË—„&MšÀh4"-- .\(4(ÉÏÏãÆCddd©u·nÝŠ;v@©T¢uëÖvË“V­Za„ pss“îîÛ£ÁXQ~Ùƒ8qbVVV™ïgee¡aÆfòòXœŸÁÚF½§§'žxâ <õÔS8{ö,Ξ=[é:èèüƒ4¦OÙ(ù^pp0ºté‚.]º`РAèÓ§Cëˆi0eذaX¹r%Ì Õ,®®®hÔ¨îÝ»gScV&“áæÍ›fËoܸa6!aóæÍ¥ Cpp0 üýýqæÌܽ{AAA•Jsff&~ÿýwDFF"""¢Ü!¦=láãヱcÇ¢gÏž8zô(AxèÆ¿5ùõ°”J%Zµj…äääRi.**BJJŠÕó¨T*4oÞ¿þúk¹óv”%((mÛ¶ÅîÝ»‘ŸŸ_©:hm~Éd2i8Žø¾µå¡P(péÒ¥RïyyyA¡P@£Ñ U«VÒO`` Cë�´iÓK—.Å”)SÌz›0È@DDDDDÕÖÝ»w‘’’"5ÀÓÒÒššZªUQ´cÇŽHII‘æ]8rä Ð¥K³ Czz:ÒÒÒ¤.å8yò$üýýK=Á–Æ´lÈËË“ÿ'›�Š'9LKKÃlÚwrr2rrr ôz=4h`qn{æ—=ôë×<ÀÖ­[¥à@~~>6lØ�///ôíÛ×ê}õïßZ­ß}÷ÒÓÓßé¿}û6öîÝ[îvâ“<âãã+U­Í/???ܺu ÙÙÙ8þ<vïÞmuýéÚµ+®^½Š‹/Bddd == …ááá8sæ RRR ×ë¡Õj‘––æ°:R¯^=L›6 Ÿ}öY¥oçd """"ª¥4 víÚ…mÛ¶ÁÕÕ<@ûöíÍÑg">>ß~û-”J%”J%† föD___é.µØ5= �F£±Â¡5ʺu놽{÷bß¾}èÞ½;°ÿ~Ô¯_hÙ²%’““±dÉtêÔ C‡µjß§N®]»àää/// 8Ð.ù^2¿Änñå=¡²¼½½ñòË/cË–-øôÓOáî¼<Ô©S'N„Z­¶z_ 6ÄË/¿Œ;wbùòåprr‚Ñh„··w™óˆÜÜÜ0pà@lß¾§OŸF‡l®ƒÖÔ¯öíÛãÂ… Xºt)êׯѣGãË/¿´êÜúöí‹¢¢"lܸQ <ôïß>>>èÓ§ŒF#¶oß¹\AвeKŒ9ÒîudĈˆŠŠ2›3¢&’-\¸PˆŠŠÂÆË+-Ñcjùòå=zt…ëñZ@ö¶jÕ*ÄÄÄ ..ÑÑÑÌ"r¬¤UÀê *ˆ°îš³êH2bVmC\ôÓˆîÑ©J“+A€Ñh„Á`€Ñh„^¯—&zÓétÐjµ8{ö,"##–Žœœ nݺÒ$•¡Óé Ñh¬~ =iµZ( ©gC^^^©næ<€³³³´Ž5Ļ׎hø‰ùåææ½^¥RiqòK‘A�ôF@)VÞ4ÏÏÏGvv64 Ž?. Q FHHˆUÇ5ÍëììlxzzÚ¨xØ:hMýÊÏϯtYéõz”¹£ÑˆÜÜ\Ô©Sr¹¼Êꈭvî܉6mÚ@­VC¥RÁÉÉIú\Èår( ÈårÈd²R=.~ýõW¸¸¸Hë‰Û•|mº/…B½^WWW©½Áž DDDDDµ\ݺu¥§>< •JUæzU¡dc·¬qìå=ÎÑñι#ˆùUÙù"láææ&5‚ƒƒƒqçÎ9r¿ÿþ»Í“eªÕj³ÇtVU´¦~=LC_©T–ÀËåÒ˜UYGj"æQ-ãëë‹gžy†Avlj‰ˆˆˆˆˆˆÈ.d """""""»`ˆˆˆˆˆˆˆì‚A"""""""² ˆˆˆˆˆ7nÜÀíÛ·!‚MÛ­Y³+W®¬1é%"Çbˆˆˆˆ¨Û±c"""о}{ÃÛÛ§N²zû}ûöa÷îÝ5&½DäX 2ÕR˜8q"Z¶l‰k×®!##K–,A:uIzvíÚ…¥K—Ö˜ôQiJfQítáÂÜ¿o¼ñêÖ­ �xñÅYzâããqéÒ%¼ñÆ5"½DT{2ÕRþþþP*•سgO¹ëF|øá‡ D³fÍ0oÞ<‹û¬h}£ÑˆE‹!44žžžhݺ5¶lÙ‚/¾ø›6m‰'†üã•Nï'Ÿ|‚öíÛÃÇÇýû÷lj'ÌÖ™4ifÍše¶MXX~üñGiÙ{g·ß~ëׯGÇŽ±dɋ鷿ܝ_¿Ž &ÀÏÏÍš5Ê+X é±Ãž DDDDDµ”··7^xáÌž=·nÝÂüùóK =˜5k¶lÙ‚¸¸8Ü»w¯½öÚµk‡aÆ•¹ÏŠÖŸ3g>úè#Ì™3‘‘‘¸ví5j„ÐÐPüôÓO¸yó&,X�//¯J¥wΜ9Xºt)¦OŸŽÞ½{cñâÅxòÉ'qêÔ)��RSSKM™’’‚œœéï›7oâ×_Å/¿ü‚éÓ§£[·nÓo͹/X°�™™™øù矑‘‘VBbˆˆˆˆˆ_}õüýý1gÎìß¿6l@ÇŽ�Z­‹/ÆÌ™3Ñ·o_�ÅO“X¿~}™A†ŠÖ×jµX¸p!úôéƒ7ß|�$mïë닼¼<ôêÕ«Ré-**Â矎˜˜¼õÖ[�€¸¸8øúúâ³Ï>âE‹lÊFƒÍ›7£AƒÒù•—~kòêôéÓð÷÷G`` Z´hÁÊG%— """"ªÅd2f̘@ôë×III�€«W¯"??ßÿ=ŒÁƒãÌ™3¸víZ™ûªhý«W¯B£Ñ`ðàÁMoDD„´¾B¡@xx8RRRl>VXX˜`¨(ýÖäÕÔ©S±uëVôèÑdå£Ç{2"""pôèQtèÐß|ó """`0��O=õÚµk'­+NºXREë‹ï»»»;$½Z­¶Ìý»ººš …¨,Ké·&¯Fމ   ¼ÿþû:t(>üðCüë_ÿbå#ˆˆˆˆˆèñãííÎ;ãâÅ‹�Ї899!++ #GެpûŠÖoÑ¢œœœ°k×.L˜0¡Ôû2™ EEE•No‹- —ËqôèQ³ÞGŽÁ Aƒ¤¿år94ôwbb¢Udz”~kóª}ûöؾ};þ?{wE•ïÿÿUÝ=H $€  ,!e½"hFù3* ›1ƒŠÂ°ˆ æjÀà.†À�7 p‘á¢,„8€_df€@e Nöîêß–†,Í"jò~>mRU§ÎùÔI…‡õÉ©s^zé%ÒÒÒxñÅuãIµ¢×%DDDDDj¨;w²dÉ÷€ììl6mÚD×®]ðóó#))‰Å‹“™™IQQyyy—­ÖpAUåýýý9r$Ÿ~ú)«V­Âét²gÏvïÞ @ûöíÙµkßÿýUÅÄã?ÎÒ¥KÙ²e ùùùLŸ>“'O2bÄw=qqqlÛ¶ýë_¬X±‚¤¤$¯ú«²ø½é«ŒŒ rrr0M“ÂÂBZ´hÅ¢G2Q’ADDDDDª3gÎ0jÔ(ˆŒŒ$!!>}úx áŸ4idøðáØív"##+@±ªò/¿ü2 àÑG%$$„Î;³uëV�iժ͚5ã™gž¹ªx§M›F›6mèÞ½;5bƌ̙3‡¸¸8w™þýûLLL S¦LaÑ¢E^÷YeñWuíóæÍ#&&† °eË^yåÝ„Ríèu ‘ªK—.üðÃ9r„ï¿ÿž¨¨(ÂÂÂ<Êøùù‘’’Brr2¹¹¹Øívl¶Ÿ#æÏŸEåýýýyûí·ÝË9Úív Ã� 44”M›6qüøqêÔ©sUñ†„„ð׿þ•‚‚NŸ>íQÿÑÑÑìØ±ƒ'N¸'v,**ò(séuyU×¾aÃŠŠŠ8wîõêÕÓ (J2ˆˆˆˆˆHõÓ¨Q#5jTùƒƒÍFDD„÷U”÷÷÷§aÆå ¿æx ¬´ÌÅ+G\©Êâ¯ìÚýýýñ÷÷×M'Õ–^—‘ëBI¹.”d‘ëBI¹.”d‘ëBIáÈ‘#|÷Ýw¸\®+:oÁ‚Ì;W("€’ """""5ÚªU«ˆ'66–f͚Ʈ]»¼>ݺu¬Y³æ†ÄÚ¼ys÷å}zö쩨È/̦.©™ 6l÷ß?ûÛßðññaÅŠÔ®]û‰çã?æàÁƒ<ýôÓå_¾|9%%%�|ñÅ<ÿüódffÒ¨Q#€_,î+¹‘êNI‘êÛo¿åìÙ³<ýôÓ„„„�0`À€_,žÕ«W³ÿþ Ð[¶léþþĉ�Ü~ûíDGGÿjú´ªk©îôº„ˆˆˆˆH Õ¸qcl6k×®­°ŒišLž<™¨¨("""xõÕW+­³ªò¦i’––ÆwÜAݺuiÑ¢+V¬à­·ÞbÙ²edggÓ¶m[žþù«¾®?ü~ýúAÇŽ™={¶ÇññãÇóÜsϱdÉZ·nÍ›o¾ €Óéd„ DEEѼysfÍšEÏž=ÉÈÈðêú*º†œœ† ‚Ýn'""‚9sæèæ“jK#DDDDDj¨°°0ú÷ïÏ+¯¼Bnn.)))—½r0uêTV¬XAzz:§Nâ©§ž¢eË–$&&–[gUå“““yíµ×HNNæÁäðáÃÔ¯_Ÿ; 6pôèQRSS ½êë:rä]ºtáÏþ3K—.å…^àÑG¥V­Z�=z”;v°}ûvÆŽK‡�˜<y2sçÎeâĉtïÞÙ³g³qãFºwïîÕõ=øàƒå^Cjj*'Ožä³Ï>ãĉèæ%DDDDD¤úyï½÷hܸ1ÉÉÉ|úé§,]º”Ö­[P\\ÌÌ™3™2e ;wÊV“X²dI¹I†ªÊ3cÆ :uêÄèÑ£<^uçÇ$!!áš®iÔ¨Qîï“’’˜:u*›7oæþûïwï/,,dùòåÜ|óÍ�ñÎ;ïðä“OºÏŸ1c~ø¡{Ū®/22²Ükؽ{77&**ЦM›ê¦%DDDDD¤z2 ƒ‰'Ò­[7žxâ ºtéÂêÕ«‰çàÁƒäçç³páBV­ZÀ°ÛíåÖUUùƒRXXH=~öëÊÊÊbÓ¦M|÷Ýwî$ÂÅÚ¶mëN0\ˆ­   Ü‡a^]_E’’’4hß~û-¯½öš;A!¢$ƒˆˆˆˆˆTKñññlݺ•V­ZñþûïÓé W¯^“.^˜$òRU•¿p<88øg»—ËÅ AƒøòË/2d}úôaîܹUžwáU __ß Ë\i\лwo¢££™0a={ödòäÉŒ7N7(É """""ÕWXXwÞy'ûöíÊ^eðõõåôéÓôîÝ»Êó«*ß´iS|}}ùøã2dÈeÇ Ãp/QyµöîÝKff&k×®¥S§N”––zu^Æ ‰‰‰aÛ¶môêÕ €]»vqæÌ¯¯¯²kˆeåÊ•¼ôÒK¤¥¥ñâ‹/b±h~©~tW‹ˆˆˆˆÔP;wîdÉ’%ͦM›èÚµ+�~~~$%%±xñb233)**"//ìììr뫪¼¿¿?#GŽäÓO?eÕªU8NöìÙÃîÝ»hß¾=»víâûï¿¿êk Â0 öíÛDZcǘ2e �ÇŽ«òÜ^½z1cÆ FŽɘ1c=z4Øl6¯û£¼kÈÈÈ ''Ó4),,¤E‹J0ˆ’ """""R½œ9s†Q£FFdd$ ôéÓÇc(ÿ¤I“8p ÇÇn·IZZZ…uVUþå—_fÀ€<ú裄„„йsg¶nÝ @bb"­Zµ¢Y³f<óÌ3WuMî$A‹-°Ùl 6Œñãdz~ýúJÏ<y2Ï?ÿ<{÷¨ˆ÷ß§ÓIPP××WÞ5Ì›7˜˜4hÀ–-[xå•WtóIµ¥×%DDDDDj¨.]ºðÃ?päȾÿþ{¢¢¢ ó(ãççGJJ ÉÉÉäææb·ÛÝÙ˜?þ•÷÷÷çí·ßv/ëh·ÛÝ+†††²iÓ&Ž?N:u*½G—MæxAjj*/½ô~~~øûû0~üxêׯ_nÌøøøðòË/»··mÛÆÙ³giÖ¬™××WÞ5lذ¢¢"Î;G½zõt㉒ """""R}5jÔˆFUþà`³áýƒFåýýýiذa¹ÇÂÃïùš.ŒñB‚¡2Ë–-ãàÁƒÜu×]8p€Y³fѦMî½÷Þ+¾¾K¯ÁßßßðQ’ADDDDD¤šóõõå믿fÙ²eøùù‘À¸qãÜ#-D¤jJ2ˆˆˆˆˆˆP6ŸBbb¢:BähâG¹.”d‘ëBI¹.”d‘ŸÝ”)SøôÓO¯¹ž 0wîÜ ·Eä—¥$ƒˆˆˆˆH Ö·o_÷òŠ>¡¡¡îãO<ñ}ûö½ævæÏŸÏÎ;«,wêÔ)jÕªE¯^½Ê=¾nÝ:Ö¬YSáö¥:uêÄã?^îþ×^{M7€Èu¦Õ%DDDDDj¸¶mÛòæ›oº·-–ŸþÙ«W/Ç ‹eéÒ¥”––²qãFŽ?Nxx¸~@"¿!J2ˆˆˆˆˆÔpµjÕâÎ;ï,÷X¿~ýnh, .$>>ž/¾ø‚ÌÌLþøÇ?ê$ò¢×%DDDDD¤BãÇç¹çž»l{óæÍtéÒ…èèh^ýusLÓd„ DFFrë­·2kÖ,¯ÚÚ¿?Û·o'99™ØØX/^|î3''‡!C†`·Û‰ˆˆ`Μ9îc~ø!ýúõ#""‚Ž;2{ölsN'&L **ŠæÍ›3kÖ,zöìIFF†GŸLž<™¨¨("""xõÕW½n_ä·D#DDDD¤ú(8[öõ‹ ïÏ9ðïó_³ÀØycãu¹Àuþ«i–}œç¿–:Àá,ûzð;èÕóç‰Átþô)ÇќøÍ9Ìßÿþw6®ÿ”#FpâÄ &Žÿôùÿˆˆˆ� yêTÒçþ7/¿ü2 Ìœ9“´€E]@TDcâã:пßøÓŸþÄÞ=ÿ-ZToñWxü’ý©Ó§qò‡ïùlãNœ8A@@€ûؑÇèÒé^þüòd–.]Ê Ï?Ç£ø=µjÕ`ò¤‰ÌýïÿfâĉtïÞÙ³g³qý§tïÞÍÝÜÔ©SY±béééœ:uЧžzŠ–-[’˜˜XÖ~j*'Ožä³Ï>û©}%DDDDD~A§—}Ý·±ìãÕƒ~àaØ<¶ì¼ñ1»*ø8óü×3ÀèŸi’BÓÁç›6pSh÷®%K–еkW÷q÷çüöÉ޳iÓ&š7oNii))¯&³þ“ÿcðàÁ”––òö›i <˜áCŸàÝwÞbÝÚ5¸œ¥?ÕsY¾ÅÅ¢¿Îç±ÇÃp9é÷û¾LøÓX/\ÀŸÿügx/Çc»œë+÷ø%ûwïüŠÆш¦Q?•F|Ê}ZÒ¨‘L2™ÍŸoâþû裡¨ˆwޚɓO>é.7ãõi|¸b.gY’¢¸¸˜™3g2eÊ:wî ”­Š±dÉw’a÷îÝ4iÒ„¨¨(š6mªßeQ’ADDDDä×°uÙ׿!~ wçìÿ7d‚»‡@³àœ`¸‚‘ –ŸéÝ-6îl×÷Þ{Ͻ«qãÆ?µg±ýô9¿}÷=h~[ �>~6‚kסÄa‚ÅÆ‘ÜΞû7mÛÇyÆl±aX}*¼ŽÍYY>’KÏ9{îßÕ⮄{Yœ¹”)S“1 £Âx<¶Ë¹¾r_²?iôs 4ˆoîåµ×^s'.ÈÊÊbÓ¦M|÷]ÙÏ¢¨Ä¡ ¨„„{;ÿÔ†ËpÇ|ðàAòóóY¸p!«V­àÀØíöŸ’II :”»îº«ÜöE”dù¥Ä„øA^>è!:âÛüI†ó §³ì«ÃQö}I ”–Bq1ø}ëÏ”d°T«61-c+<îþ”·}ɾ‚¢b°X »¹^…eʳpñÿ€ÅJ½.O@|±•„„ïã¹H­:ä]v¼¸ÔAP­Úîý½ûô%ºù­L˜0ž<ÈäÉ“7n.—‹Aƒñå—_2dÈú<ò{æ¦Ïs·Y+¤X¬øúüÔ†éƒóüˆ†^½zѲeK÷þ÷÷½{÷æ¶Ûn㥗^¢gÏžîöE~k4ñ£ˆˆˆˆˆ\7·ß~;aaa|õÕW?=ÐSTTTá9EEE,_¾œ7ÞxƒãÇ»?‡¦V­Z,Z´èªãiܸ1û÷ï÷Øgš&GŽ¡aÆûcccY¹r%/¼ðiii˜¦ÉÞ½{ÉÌÌäÝwße̘1ÜsÏ=ç4lؘ˜¶mÛæÞ·k×.Μ9ãÞŽŽŽÆ××—Ó§OÓ»wo÷ÇýJJ%í‹(É """""5–atíÚ•ôôt6lØÀŽ;xä‘G(,,Äår•{ÎG}DII   N:îÏ-·ÜBŸ>}X¾|9ÅÅÅWOß¾}Ù¿?S§NåÔ©Sœ9s†W^y…ââbî½÷^w¹ŒŒ rrr0M“ÂÂBZ´hÅb!((Ã0Ø·oÇŽcÊ”)�;vÌ}n¯^½˜1c#GŽd̘1Œ=š€€�l¶²ã~~~$%%±xñb233)**"//ììì*ÛHII¡{÷îepz±-¢$ƒˆˆˆˆˆTcÇŽ¥´´”ž={òÐC1tèPêÖ­ûÓ¼ —X´h?ü0µk×¾ìØO<ÁÙ³gY³fÍUÅÒµkW&MšÄ´iÓhÒ¤ Mš4áwÞaÖ¬Y„……¹ËÍ›7˜˜4hÀ–-[xå•W�ˆˆˆp'Z´hÍfcذaŒ?žõë×0yòdžþyöîÝKQQï¿ÿ>N§“   wý“&MbàÀ >»ÝNdd$iii‚¡LÊ�� �IDATU¶°oß>²²²p8^m‹ü’4'ƒˆˆˆˆH öÁTz|þüù•nƒç_õZ¶lÉ·ß~Knn.õë×Çb±ð»ßý®Â6–/_^á±»îºËãU oâ¹Ô„ =z4À××—&MšàçççQfÆ qîÜ9êÕ«çq,55•—^z ???üýý?~<õë×ÀÇLJ—_~Ù]~Û[8{ö,Íš5sïóóó#%%…äädrss±Ûíî‘Úw8äçç_Öþܹs™;w®Çö{sæb³”\DI©v.^=á—DëÖ­+-ãïïïN"\êâIw‚`Ù²e<x»îº‹0ëí·hÓ¦Çëî0›ˆˆˆ Û¿xôƒÈo‘’ """"""×À××—¯¿þšeË–áççGBBã^Sáë!"Õ™’ """"""× 11‘ÄÄÄŸv˜N05?‚ÔLšøQDDDDDDD® %DDDDDDDäºP’ADDDDDDD® %DDDDDDDäºP’ADDDDDDD® ­.!""""òñÍ7ߨ~ .¬.a±ÅZeq§Ó‰ÃáÀf³aµzQÞl°j•L9/&&æW‡’ """""zˆëII©Áôº„ˆˆˆˆˆˆˆ\J2ˆˆˆˆˆˆˆÈu¡$ƒˆˆˆˆˆˆˆ\J2ˆˆˆˆˆˆˆÈu¡$ƒˆˆˆˆˆˆˆ\J2ˆˆˆˆˆˆˆÈu¡$ƒˆˆˆˆˆˆˆ\J2ˆˆˆˆˆˆˆÈu¡$ƒˆˆˆˆˆˆˆ\J2ˆˆˆˆˆÔ`}ûöÅß߸óÎ;yÿý÷“×òÄOзo_ýPE~AJ2ˆˆˆˆˆÔpíÛ·gÓ¦ML™2«ÕÊÓO?ÍîÝ»Õ1üñǼýöÛûzõêÅÃ?¬¨È/Ȧ.©Ùj×®M\\qqqÜzë­$&&²mÛ6Zµjõ«yõêÕìß¿Ÿ§Ÿ~Ú½¯_¿~úaŠüÂ4’ADDDDDÜš4i€Ãá�`üøñ<÷Üs,Y²„Ö­[óæ›o`š&Ó§O'66–zõêÑ­[7²³³=êºpîÊ•+騱#v»¤¤$JJJÜeLÓdòäÉDEEÁ«¯¾Zn·ÿÖ[o±lÙ2²³³iÛ¶-Ï?ÿ¼GYoëÎÉÉaÈ!Øív"""˜3gŽn�‘k¤‘ """""â¶`Á�ÚµkÀÑ£GÙ±cÛ·ogìØ±tèЀäädÞ~ûmÆŽË=÷ÜÃÌ™3éÚµ+»ví"22Ò}nvv6»ví"))‰ììlfÏžMll,Æ `êÔ©¬X±‚ôôtN:ÅSO=EË–-ILL¬°}›ÍƆ 8zô(©©©„††ºË¸¯¥ªºSSS9yò$Ÿ}ö'Nœ @7€ˆ’ """""r-Ž;FZZ«W¯fóæÍ :”öíÛ»²|ùrn¾ùf�JJJøË_þÂàÁƒyöÙgHOO'<<œ7Þxƒ´´4÷¹AAA¬ZµŠÀÀ@ú÷ïÏ¡C‡øä“O6lÅÅÅÌœ9“)S¦Ð¹sgw’cÉ’%îD@y턇‡óã?’Pî5yS÷îÝ»iܸ1QQQ4mÚT7‚ˆ’ """""r­rssY½z5QQQ$%%ñàƒzoÛ¶­ÇþÁƒÉÏÏ'>>Þ½ÏjµÇž={<Îmܸ1u¥¥¥aš¦»ž… ²jÕ*�8€Ýn¯´}oxSwRRƒ âÛo¿åµ×^s'#DDI¹JíÚµcõêÕ^—/.. 88Øc`` yyy•žk±X(**Â0 œN'P¶*DË–-ÝeBBB®ù𼩻wïÞDGG3aÂzöìÉäÉ“7nœn%DDDDDäFiÚ´)‹…­[·Ò£G÷þ-[¶pß}÷Uznvv6ÑÑцAtt4¾¾¾œ>}šÞ½{_Q †axL y)oëŽeåÊ•¼ôÒK¤¥¥ñâ‹/b±h~|‘«¥ß¹"AAA<þøã,]º”-[¶ŸŸÏôéÓ9yò$#FŒð(»uëV>ùä lÙÉÏ?ÿœ¡C‡àççGRR‹/&33“¢¢"òòò.[¥¢<íÛ·g×®]|ÿý÷å÷¦îŒŒ rrr0M“ÂÂBZ´háN0¤¤¤Ð½{w÷D’Um‹ˆ’ """""r•¦M›F›6mèÞ½;5bƌ̙3‡¸¸8rÑÑÑLŸ>zõêñûßÿžGyĽ²À¤I“8p ÇÇn·é1qdEiժ͚5ã™gž)·LUuÏ›7˜˜4hÀ–-[xå•WÜÇöíÛGVV–{)Ϫ¶Eª#Ó4)--¥¨¨ˆââbJKKq¹\•ž£×%DDDDDj°>ø ÒãóçÏ/wHHýë_)((àôéÓØív ø¬ÜM7ÝÄ|à^"òÒyüüüHII!99™ÜÜ\ìv;6›­ÊöCCCÙ´iǧN:å–­ªî 6PTTĹsç¨W¯žÇ¹sçÎeîܹ^o‹T·äBII %%%äççãp8°Z­S·n]‚ƒƒ Äjµ*É """""×O`` Çê©ju›ÍFDDÄ·^e™Êêö÷÷Çßß_?H‘óùùù|ó¯“,ÝžÇW‡ ÎX¨[ߟ‡ý›x{.·F†Ahhèå¿oêBù9´iÓÆ½…ˆüú9NΜ9Ã{;Ââ EpK(Ü7…ðC°ùvîwpÿ¹3$ü{-[¶¤V­Zu(É """"RlÝ ›6ý*ByÀb””šõ30Mp™`XÊ®¿ †ib5M ‹—å]`ua�F ê׎¡S'ýŽÿL\.ùùù,ü[‹³ éüÐíl<nB@„úq[ˆ?MƒmÜâoáà©ÚääðOš7oî‘hP’ADDDD¤:Ù¸þô'õÃoˆ…+›‘ÿJËWãÆ)Éð3r8Ê=ÃS¾üñÉÌÀZ„Û þçP1µü}hh#,ÐÐ@_ë‘sØÊ¿Žì%,ì·Ür‹»%DDDDDDDj¸ÒÒR>Ûu†¶-R÷¦Z˜>þ–ZàûRÛ|¨eó!ÈLJ�?|ý!¬A‡rëyâ„G=J2ˆˆˆˆˆTW^þËp]ôº„Qõ˜Ó41M‹Å‚Å‹×%LWÙÇb”}ªµ_Ñë?ÕÃá ÷„É]-jáïïK©aÅá²r‹ÕB°Í‚¯Å‚Õ¬`µB`­@¾sÖ&/晴 """""5BçÎðê«^=räV«•úõë—»åÏmÁ‚”””0dÈß~¿›N0`±ÅZuNÂéÄép`ØleOoU•wó|£ÚÏÉðÚkJ2ܨÛÖ4Éÿ|ü±Z¬˜†‹Å –Í `Z,˜8-à4ÀðµrÎ𧤤ģ‹ºRDDDD¤æZµjñññÄÆÆÒ¬Y3ÂÂÂØµk—ûøO<Aß¾}ö8Ö­[Çš5k®©Žkß¾}ÝK_†……qçwòþûïÿ&þ7ªÏä·¡¸ÔY–¸2 \ç÷¸Ê[¦iàpA‰JL(q8MÓ4=êÐH‘ª  €aÆqÿý÷ó·¿ý V¬XAíÚµÝezõê…ÃáøÕÅþñÇsðàAž~úé_$ÖöíÛóú믳}ûv222xúé§i×®­ZµúÕþ¼é>“_?§Ó.—ËÀ…Ó—Óe¡Øá¢Ä§A© —‹Rçåu(É """"RC}ûí·œ={–§Ÿ~š� àQ¦_¿~¿ÊØW¯^Íþýû=˜od¬µk×&..ޏ¸8n½õVÙ¶mÛ¯:ÉðK÷™üú¹\.. ¦ ¦ËàßNµÍ²ä‚Ã,K0X�.JÌËëÐë"""""5TãÆ±Ùl¬]»¶Â2ãÇç¹çž»l{ýúõ$$$ФIfÍš…Ãáàü#5¢wïÞüóŸÿtŸóŸÿùŸL:Õ½mš&mÛ¶å“O>©°Ý?ü~ýúAÇŽ™={¶ûØ[o½Å²eËÈÎΦmÛ¶<ÿüóåÆjš&Ó§O'66–zõêÑ­[7²³³Ë½¾Í›7Ó¥K¢££yýõׯ¨›4iàp¡Î%K–кukÞ|óÍ+ŽgåÊ•tìØ»ÝNRR’Ç{ï¦i2yòd¢¢¢ˆˆˆàÕKæÝ(¯ý+é³ÊêÎÉÉaÈ!Øív"""˜3gŽ~‘ª›åü¤¢°.|m¾Vðµ‚Õ…íü÷þVð-'£ ‘ """""5TXXýû÷ç•W^!77—””W%�Ž=JAAÇöW_}ŶmÛxî¹çÈÊÊâ…^`ݺu4lØ÷Þ{çž{Ž9sæðÚk¯pèÐ!\.—G½{öì!//¯ÂØŽ9B—.]øóŸÿÌÒ¥Kyá…xôÑG©U«>ø 6làèÑ£¤¦¦Zn¬ÉÉɼýöÛŒ;–{™3gÒµkWvíÚEdd¤ûœ¿ÿýïlܸ‘#FpâÄ &NœÈ#<BDD„Wý¸`Á�Úµkç®sÇ—[ÙžýwÆŽK‡*端¾¢aÆîs³³³ÙµkIIIdgg3{ölbcc6l�S§NeÅŠ¤§§söô)žzê)Z¶lIbbâOíïØÁöíÛÝíÛl6¯úìâºOº¼îÔÔTNž<ÉgŸ}Ɖ'Ð/R5bX̲¯¦ JMÅ&›Pj”8Ávþ5‰òF2(É """"Rƒ½÷Þ{4nܘääd>ýôS–.]JëÖ­+=§¤¤„+VP¯^=î¸ãfÍšÅí·ßî­°víZ>ÿüókŠkÔ¨Qîï“’’˜:u*›7oæþûï'22’ððp~üñG*Œñ/ù ƒæÙgŸ ==ððpÞxã ÒÒÒÜeOž<ɦM›hÞ¼9¥¥¥¤¤¤°~ýz\a|ÇŽ#--Õ«W³yóf†JûöíÝÇ Y¾|97ßîU<©©©îsƒ‚‚XµjôïߟC‡ñÉ'Ÿ0lØ0Š‹‹™9s&“&O¡sçÎX²$Ç’%K܉�öo¾Ù½¯ª>»P÷”)eu_H \\÷îÝ»iܸ1QQQ4mÚT¿@ÕŒq>±à4²¥RMø·óü‚)&;ÁçB’ÁÎrædÐë"""""5ù¡Â0˜8q"ëׯÇårÑ¥K¾øâ‹JÏiÕªõêÕ 00€ÿøÿpÀYÞÓÇÊÊÊ"99™qãÆPTTäõ¹$??Ÿøøx÷>«ÕJ\\{öìñ({÷ÝwÓ¼ys�|||¾lY¾Kåææ²zõj¢¢¢ÈÌÌä­·Þò8Þ¶m[ü+‰§qãÆî~½Pׯ1MÓ]ÏÂ… éÑ£=zôà믿æðáÕ¶%}VYÝIIIüïÿþ/wÝu7nÔ/P5äºè¿¸ Ð¥.0qaq¹°\”d€«œ%T5’ADDDDDˆgëÖ­´jÕŠ÷ßßãaø†?ä¸\ 4ˆ/¿ü’!C†Ð§OæÎ{Euì±?00°Ò×4¼Õ®];V¯^}]â9}út¥çZ,ŠŠŠ0 üéÕ«mZµÄzþ!ïÂÄ×ââº[¶léÞqݽ{÷&::š &гgO&OžìNIõ`1À°€Å«a1𵀆VkÙÇâÂ}ÿ)É """""— ãÎ;ïdß¾}×÷¡Åb¡°°Ð½½yóæJËïÝ»—ÌÌLÖ®]K§N(--½¬Œa•Ž6hÚ´)‹…­[·Ò£G÷þ-[¶pß}÷Ýð¾­,žnݺUznvv6ÑÑцAtt4¾¾¾œ>}šÞ½{—ûW‘ªúìÒº+ËÊ•+y饗HKKãÅ_ÄbÑ ùêÀ0Ê’ 6Ëù¹ph”Môh³øXÁçü¤PþĺDDDDDj¨;w²dÉ÷_Ù³³³Ù´i]»v½®íÄÅűmÛ6þõ¯±bÅ ’’’*-„aìÛ·cÇŽ1eÊ l„ Ú·oÏ®]»øþûï+¬ãñÇgéÒ¥lÙ²…üü|¦OŸÎÉ“'1bÄ ïë+‰gëÖ­î•7V¯^ÍçŸÎСCðóó#))‰Å‹“™™IQQyyy—­RQžªúÌ›º322ÈÉÉÁ4M iÑ¢…;Á’’B÷îÝÝIVµ-¿N¶ó‰ëù&¬V°œ_QÂïüо¾›UI9ïÌ™3Œ5а°0"##IHH OŸ>×}ø{ÿþý &&&†)S¦°hÑ¢JËGDD0räHÆŒC‹-°Ùl 6Œñãdz~ýz�iժ͚5ã™gž)·žiӦѦMºwïN£F˜1csæÌ!..îéoo㉎ŽfúôéÔ«Wßÿþ÷<òÈ#î•%�&MšÄÀ>|8v»ÈÈH‰,+âMŸUU÷¼y󈉉¡AƒlÙ²…W^yÅ}lß¾}dee¹—ò¬j[~} ,Ö‹’ >–²Ä‚ÍR–hðµ­,áà£%,EDDDDä‚.]ºðÃ?päȾÿþ{¢¢¢ ó(3þüJ·ÃÃÃ/›ñÂÒ•?4ïØ±ƒ'N¸'#¼ôœKëMMM套^ÂÏÏ�ÆOýúõ eÓ¦M?~œ:uê”[GHHýë_)((àôéÓØív è´]ð1Qž>ø ÒãóçÏóòéŠâ¹t’Ì›nº‰>øÀ½Dä¥ó8øùù‘’’BÊ«Éÿ.»ÝŽÍf«ôš¼í³ u'''“›{yÝ6l ¨¨ˆsçι'ÿ¼`îܹsgTµ-¿N–óɋ맑 >}|Ï',.W¹#”d©á5jD£F~öv®tµƒK'3¼`¸4ÉQ•ÀÀ@Õ~iÞÆSUÙl6"""®¸}oú¬²ºýýý݉©^ X/|ÎOìèkÛùQ >Vðµ¹ð;Ÿ\ðq/5¡$ƒˆˆˆˆHõ·u+¤¤¨n4Ó—y~ŠþªßP7L«ibX, ;}ºìu‚J~n†«ìÐ0�£š÷å¦MºŸn0Ëù$Ã…‘ ¶ó¯LØÎb¸0¢Áâ*;¦$ƒˆˆˆˆHM±qcÙG~Ýuü4YÞ=v®]ëUy‘ëz/çï¯ó_ ,V6‹ ëO‰_kY²K¯KˆˆˆˆˆˆˆH¹L¸�\àrÿj8]³lN© ³,É`š—ס$ƒˆˆˆˆHuÒ±#Œ«~ø%¹.z]¨zÌiš˜¦‰Åbq/YÕƒ é:ÿ×f£õk§Nº·nP¢Áá§Yö½Ó‡œN(9Ÿ`(=?¯i©’ """""Õ\çÎeùŸÒœe«KXl`±VYÜåtât80l¶²©ü«*þÁϰPýçdÊe–Ý[Îó£LÓE©³,™PjRö½ŠÍ²9J†’ """""""R>óB‚Á³ì5‰R'”8ËF4”˜6‡ (;v)%DDDDDDD—ë¢W$(û¾ÈU6ŠÁé,Áàë› ¸ôº„ˆˆˆˆÈoÚ7ß|£Nø-¸Â×%œN'‡›Í†Õ‹×%œ®²÷âm°êu 9/&&æºÔSì40/Ì¿à0(. üè~ÅðuáÀÀÀ$¿DI‘ÿ!J2ˆ”Ç0Êî)«áÂf‹áÂÇ�Ó>°ù¸ð±Zðó—ËÀ×¢$ƒˆˆˆˆˆˆˆ”ÃjXp_¹Ä…Åbàc…@‹ «üŒ²ÍâÂ0]ØÊɉ)É """""""X¬`à:ÿ«,†›aÁ×âÂj¸°Z\Ø 0\`1ÌË–]µ¨EDDDDDDj6‹Å‚¯Ÿ‹âü"L— ˜¸L““‡—ËÄÀ‰aº°8Á,qD1¾¾¾žõ¨+EDDDDDDj6›ÍFDŽ}wGi)¥¥NŠL“³“|Ó¤Ðé Ðá Ô NžË§y„„„xÔ£$ƒˆˆˆˆˆˆH çããC÷va|ùÿ޳÷È)NæsàD>šü£ÄÉ™B?”p® €¼s…=zš¦µò¸ùæ›=êÑœ """""""5œÍf#Ò^—Ø'™“±“.=cØpĵƒÁb°ÅfÐÆé¤~‰ãÔ9:|Gt£0ÂÂÂ<ëQWŠˆˆˆˆˆˆÔl†aÄ€û#(qå±l„Ö°"¸©6üèÃÎÒbrl&Ã#$¾‰M›6%00У%DDDDDDD«ÕJhh(O=ìG—V'ùŸ-gøêà÷œ9wŽºv?º61è -"o"""‚ºuëâr¹<êP’A¤*))aÿþýlܸ‘Î;Ó¬Y³Ëf…©Ê”)SHHH [·n×Tæ—ŽñJþêÀÔ©S‡úõëc†ûØ‚ ())aÈ!^×wáœAƒ]uL—¶{5qˆx$ l6êÔ©CÛVÁÄÞÖ€üü|V«•àà`êÖ­Kpp0X­V‡ÇùšøQ¤Ú¿?}ôõêÕãСCäææªSDDDj¸S§NQ«V-zõêåõ9óçÏgçÎ×T¦oß¾„‡‡sêÔ)ý;wîÄßߟÂÂÂkº.ob¬JNN½zõ",,ŒN:M:uèÚµ«»ÌºuëX³fÍÕ{5çTUÇõ¨SÄb±@ݺuiذ!‘‘‘4iÒ»ÝNhh(X,å§”d©²²²ˆëØ‘öÚ‡¯¯:EDD¤†[ºt)¥¥¥lܸ‘ãÇßжϞ=ˤI“~•ýrôèQ:tè@nn.YYYüðÜ>}šåË—§Gª}²ÁÇÇüüüðñññÁ£$ƒˆ�pß}÷É­Ío¥Q£F„‡×W§ˆˆˆÔp .$>>Ó4ÉÌ̼¡mûúú2oÞ<²³³uý2mÚ4JJJø¿ÿû?Z·naøûûÓ­[7^}õUÝ8"—P’A¤²Ûí„……bš&ÿþ÷¿/›¬EDDDj–ýû÷³}ûv’““‰eñâÅ—•1M“ &É­·ÞʬY³®ªLy{ì1BCC=zt…ÿ_bš&Ó§O'66–zõêÑ­[·Ë’ÞÆ8yòd¢¢¢ˆˆˆ¨4Qàt:ÉÈÈ`À€ÜrË-WÔ§ÞÄ{ÁÊ•+騱#v»¤¤$JJJÜÇ>üðCúõëGDD;vdöìÙ^ÇðÔSOñÌ3ÏxìûÇ?þAûöí9sæŒn|Q’AD®___jÕªEii)V«›MsÀŠˆˆÔd‹-"**Šøøxú÷ïÏÎ;Ù»w¯G™äädÒÓÓ?~<+V¬`×®]|÷ÝwW\¦<uëÖ%%%…íÛ·³`Á‚rË$''“ššÊ“O>ÉÇŒÝn§k×®:tèŠÚŸ:u*+V¬ ==3f0cÆ V­ZUn›GŽ¡¸¸˜:\qŸz/ÀÞ½{IKK#))‰~ýú‘žžNFF†G ]ºtaݺu$&&ò /ðã?zC»víÈÈÈðH(Ì›7ððpêÖ­«_”d‘ëËår±hÑ"ú÷ïaôë׋Åâ1š¡´´”·ß~›2|øpbbbx÷ÝwiР{ä7e*3`À�î½÷^&L˜@^^žÇ±’’þò—¿ðØcñì³ÏÒ®];ÒÓÓñõõå7ÞðºýââbfΜÉðáÃéܹ3}úôáî»ïfÉ’%寔““”½ÞÄ{APP«V­¢ÿþ¤¦¦rß}÷ñÉ'Ÿ¸5Š#Fмys’’’(..fóæÍ^ÅѧO Ã`ùòåî>Z¸p!Ô/J2ˆˆˆˆˆÈõ·yóf>LÏž=9{ö,Üu×],^¼Øýp~äÈΞ=KÛ¶m/;ÿÂ$pÞ”©ÊÌ™3ÉËËcêÔ©û<H~~>ñññî}V«•¸¸8öìÙãuûêY¸p!=zô G|ýõ×>|¸ÜxBCC8}úôeÇV­ZÅ„ Ê=Ï›x/hܸ1îí¶mÛ²qãFLÓtïËÊÊ"99™qãÆPTTäUÖ­[—x€E‹°fÍœN'¿ûÝïtãËÏFc¤EDDDDj°… Pn"!!‚‚�ÂÂÂ*¬Ç›2U¹í¶ÛxöÙgIMMåŽ;îpï/.. 88Ø£|`` {Ôƒ7í;N�zõêEË–-ÝûCBBÊ-pÙ«#�;vì`Á‚$''_vÌ›x+b±X(**Â0 \.ƒ âË/¿dÈ!ôéÓ‡¹sç^QŸ0€¾}û’““CFFýû÷Ç××W7¾ül4’ADDDD¤†***bùòå¼ñÆ?~Üý9|ø0µjÕrÿüöÛo',,Œ¯¾úÊãAú⿨{SÆãÆ£aÆLœ8ѽ¯iÓ¦X,¶nÝêQvË–-4kÖÌëö£££ñõõåôéÓôîÝÛýéÚµk¹±ѵkWfÏžM~~¾××àM¼ÉÎÎ&::Ã0Ø»w/™™™¼û3†{î¹çŠÆ÷Ýwaaa¼ñƬ]»V¯Jˆ’ """""òóøè£())aÀ€Ô©SÇý¹å–[èÓ§Ë—/§¸¸Ã0èÚµ+ééélذ;vðÈ#PXXè~¥Â›2Þ --cÇŽy<ì?þøã,]º”-[¶ŸŸÏôéÓ9yò$#FŒðº}???’’’X¼x1™™™‘——WéÒ™ÿõ_ÿÅ™3gxàRíSO�� �IDAT8pà€G‚¦"ÞÄ{ÁÖ­[Ýs0¬^½šÏ?ÿœ¡C‡ºë1 ƒ}ûöqìØ1¦L™àÑ7Uñññáø³fÍ¢uëÖÄÆÆº¥¤¤Ð½{w÷(ª¶E”d‘ -Z´ˆ‡~˜Úµk_vì‰'žàìÙ³¬Y³€±cÇRZZJÏž=y衇:t(uëÖõ˜oÁ›2ÞèÑ£½{÷öØ7mÚ4Ú´iC÷îÝiÔ¨3fÌ`Μ9ÄÅÅ]Qû“&MrOi·Û‰ŒŒ$--­ÂXÚ´iÃçŸNQQ-[¶Än·Îܹs=Ø/åM¼P¶ÄôéÓ©W¯¿ÿýïyä‘G6l�Œ9’1cÆÐ¢E l6Æ cüøñ¬_¿Þëþìß¿?Àe£öíÛGVV‡Ã«mo3fÌp 8>ø€áÇ«GDª©Ù³gÓ·oß*Ëéß¹ÞæÍ›ÇàÁƒIOOgРAêùy}12ÃÀtˆ÷îßœy[v2xÞ‡¤zˆAwµ¹¡áº\.\.¦iât:1M‡ÃÓ餤¤„ÒÒRŠ‹‹ùæ›oxðÁ]œ››Kýúõ±X,×Tæjpúôiìv{…É oÚw8äææb·Û½^Îûܹsìß¿Ÿ›o¾™FUœ<1`:Àb£ ¨¸ÂxüñG, þþþ?~œàààrç‡ÈËËÃÏÏ�Ž~wŒ›o©ÍV/ò7YYY$&&rèС çŸêá£>"&&???|||ðõõu/Yo±X°Z­X, øì~ܱcîrλôû‹ë²Z­8ÝÏšøQDDDDD¼æÍrŽWºäã• ôXájÛ·ÙlDDD\QÛµk×.wõŠ«·V­Z@Ù„”7ÝtS…ÉŽKõë×ÇazCZZ=ô rCèu ‘jêܹs�üçþ§:Cnd©¦j×®ÍÒ¥KÕrÃh$ƒˆˆˆˆˆˆˆ\J2ˆˆˆˆˆˆˆÈu¡$ƒˆˆˆˆˆˆˆ\J2ˆˆˆˆˆ�¥¥¥ìÝ»—£GbšžË,X°€¹s窓Ê1eÊ>ýôSu„J2ˆˆˆˆˆÔxGŽá 44”{ï½—æÍ›B§NÜeÖ­[Çš5k~“××·o_ÂÃÃ9uê”Çþ;wâïïOaaá5Õ?þ|vîÜyUç6oÞÿ ?={öÔ *¿)Z]BDDDD¤;zô(íÛ·'<<œÍ›7Kqq1›7ofݺuÕæ:Ïž=ˤI“xçw~Uq-_¾œÂÂBÛ·oçÅ_$33“Fe«Cˆü–(É """"RƒM›6’’Ö®]Ë-·Ü€¿¿?ݺu£[·nÕæ:}}}™7oC† ¡mÛ¶¿š¸Z¶l‰ÓéÄáppæÌ�n¿ýv¢££usÊo’^—©¡œN'<öØcîCU6oÞL—.]ˆŽŽæõ×_÷8öá‡Ò¯_?"""èØ±#³gÏö8>~üxž{î¹Jëp:L˜0¨¨(š7oάY³èÙ³'î2¦i2yòd¢¢¢ˆˆˆàÕW_­2îÇ{ŒÐÐPFËå*·ŒišLŸ>ØØXêÕ«G·nÝÈÎξ¬Ì„ ˆŒŒäÖ[oeÖ¬YåÖs¥ñUæ©§žâ™gžñØ÷üƒöíÛsæÌw¿®\¹’Ž;b·ÛIJJ¢¤¤äg‹IDIñpäÈŠ‹‹iß¾½Wå¿ýö[žyæúõëÇ Aƒ˜8q"‡ö¨¯K—.¬[·ŽÄÄD^xá~üñG÷ñ£G²nݺJë˜<y2sçÎåùçŸgåÊ•ìß¿Ÿ7ròäIw™©S§²bÅ ÒÓÓ™1c3fÌ`ÕªU•Æ^·n]RRRؾ}; ,(·Lrr2©©©<ùä“|üñÇØívºvíÊ¡C‡<ʤ§§3~üxV¬XÁ®]»øî»ï<깚ø*Ó®];222Ü#�æÍ›Gxx8uëÖåèÑ£¬]»–´´4’’’èׯéé鉙듈’ """""â!''€ xUþäÉ“üÏÿü#FŒ`ìØ±øøø°~ýz÷ñQ£F1bÄš7oNRR’{noë(**âwÞá±ÇcÔ¨QÜvÛm̘1ƒ ¸G3sæL†NçÎéÓ§wß}7K–,©2þpï½÷2aÂòòò<Ž•””ð—¿ü…Ç{ŒgŸ}–víÚ‘žžŽ¯¯/o¼ñP¶úÆÛo¿ÍÀ>|8111¼ûî»×-¾ŠôéÓÃ0X¾|¹;Ž… 2pà@w™   V­ZEÿþýIMMå¾ûîã“O>ùÙb©ˆæd©¡BCC8}ú´Wåï¾ûnš7o€ÁÁÁCò²²²Ø´i“û¯ûEEE^×qðàA HHH¸¬mÃ0ÜeòóóY¸p¡û/ñÀn·{u 3gΤC‡L:•Ç{̽ÿB½ñññî}V«•¸¸8öìÙ”Ô8{öl¹s:”ßê5`±^Q|å©[·.<ð�‹-bÈ!¬Y³§ÓÉï~÷;w™ÆèÞnÛ¶-iii˜¦yÍ}&¢$ƒˆˆˆˆˆT)** €o¾ùæšër¹\ 4ˆ/¿ü’!C†Ð§OæÎ{EuÔªU (›¤±"N§€^½zѲeK÷þ¯Ú¸í¶ÛxöÙgIMMåŽ;îpï/.. 88Ø£|`` {ÔCAA�aaaÞÅת X¬W_E @ß¾}ÉÉÉ!##ƒþýûWÚO‹…¢¢" øæ>Q’ADDDDDªD·nÝxï½÷xöÙg¯i¹Ä½{÷’™™ÉÚµkéÔ©¥¥¥W\GÆ ‰‰‰aÛ¶môêÕ €]»vyÌE¯¯/§OŸ¦wïÞWë¸qãÈÌÌdâĉî}M›6Åb±°uëVzôèáÞ¿eËî»ï> lÕ‡°°0¾úê+ºtéâNN\<Zã²øÎ'®Õ}÷ÝGXXo¼ñk×®åóÍ_TZ>;;›èèh ø.}&â-ÍÉ """"Rƒ%''sîÜ9zôèÁîÝ»q¹\8¾üòKÆŒsE Ã0Ø·oÇŽcÊ”)�;vìŠâéÕ«3fÌ`äÈ‘Œ3†Ñ£G€ÍVö÷Q???’’’X¼x1™™™‘——wÙ*•  --Í#¶   üq–.]Ê–-[ÈÏÏgúôéœ<y’#F�e¯DtíÚ•ôôt6lØÀŽ;xä‘G(,,tÏÉp=â+øÃ˜5k­[·&66ÖãøÖ­[Ýs0¬^½šÏ?ÿœ¡C‡zSJJ Ý»wwÖ¨j[¤"É ""7ÄÅ3\‹üV<øàƒÜtÓMê©ÖÚ´iÃçŸÎSO=E‡Æápмys÷_ð½áN ¼ð Œ=šaÆ1~üxn½õVºvíêU=“'OÆf³±iÓ&n¿ývÞÿ}âãã r—™4i¥¥¥ >œ‘#Gbš&‰‰‰ÌŸ?ßëx{ôèAïÞ½Y±b…{ß´iÓxúé§éÞ½;þþþøùù1gÎâââÜeÆŽKŸ>}èÙ³'aaaÌš5‹={ö¸çdpÇW\Xߨg®*¾òôïßß=ñ䥢££™>}:ýû÷'??Ÿ'Ÿ|’aÆyÝgûöí#++ ‡ÃáÕ¶HEŒ3f¸È|ÀðáÃÕ#"ÕÔìÙ³éÛ·o•åôo\oóæÍcðàÁêùMJOOgРAêˆß’/æAÆ`˜ñÞýìæmÙÉày’>è!ÝÕæ††ër¹p¹\˜¦‰ÓéÄ4MN§“’’JKK)..æ›o¾áÁüÙãÉËËãŸÿü'M›6½ê÷õóòòðóóÃßß(ÉP¿~ý«ŽiÛ¶mtêÔÉýÆÅ¹¹¹Øív÷H‡ë¡  €Ó§Oc·Û=’ËÍÍ¥~ýúX,å 7`:p˜{ìx•ñ9N6› «µâ×+²²²HLLäŸT+›¬<ñÄðÁpâÄ .›[âçî3ùuøè£ˆ‰‰ÁÏÏ|}}±Z­Øl6, V«‹Å‚a—ÝÛ;vì À]îÂy—~q]V«‡ÃA`` ûyCw•ˆˆü¬~øau‚üæddd°qãFu„Ô8!!!Üyç×\ÇÅ®4Á°lÙ2<È]wÝŘ5kmÚ´áÞ{ャ¬Íf#""âº÷C`` ÇJ åñfe†ë_ZZ=ô!!!8ÌòËÜ|óÍ74&‘Ëî1uˆˆüœêÔ©£¿Ëo’’ "¿ ___¾þúk–-[†ŸŸ üÿìÝy\T÷½?þ×Ì™a�aDdßdwDÜMAQA1%&q Ø46IÍmnš´½iúí/÷¦¹mÒ¤YjãÅXI“J$&—,Š„ e“M#( ‚ˆ0"Û,ç÷™ôõ|<|È9çs>ç³F?ïùœÏùÝï~×㌂»…F£�<öØcÝŽMŸ>]z;ÑíÆ  qqqˆ‹‹cCt¡V«ñá‡�ô¢é±§žzŠ DÃß.ADDDDDDDƒ‚A""""""" 2Ñ àš DDDDDD½¸vírssqõêULž<ÁÁÁf÷ƒ DDDDDwµ”””––"** &Çjkk‘œœ ooo<ôÐCwD=Ôj5†iÿÞ½{¡Õj±fÍ�€(ŠØ¾};æÏŸY³fA¡P˜Ý7’ê¯R©0~üx„††ÂÏÏoP¯ÓµýˆA"""""º u 2Þör={×®]ÃìÙ³o:/www,_¾ÍÍÍhhh@^^RSSððp�@`` ƒtNUUÚÚÚ&*++»í mäáá%K– ²²ß}÷>ýôS<ñăZ–®íG 2Ñ]F­V£ªª jµÚ$ÈÐyûv  ëëë%È R©àêê*mO›6 ~ø!Ž=ЍÕjLž<ÙäœÚÚZ( “`‚¹}#¡T*<<<àáá;;;ìÝ»—.]‚»»û •¥kûƒ DDDDDt— DNNŠ‹‹¥jMM nܸÔ××KiEQDVVrssÑÔÔ„qãÆ!::nnn�€ÀÎÎ .”Ω®®ÆÁƒ‘˜˜AžžŽÜÜ\ˆ¢ˆ™3gbÞ¼yfË•ÂÂBèõz$''Ã××K–,é³ –ÑÑÑxë­·››‹ùóçãÈ‘#ÐétXºt)òòò‘‘N‡ääd899!00°Û¾Ÿþô§EñÇzéu˜9c:æ-X$]˘¯§§'222Šððpˆ¢ˆcÇŽá»ï¾ƒ 7iãy'NÄÑ£GÑØØˆ3gaVxd¯mÔ—Q£F€É¬“:˜éQ‘––†üü|ÈårDDD ´´“&MÂôéÓMÊ»téR‹î—žê8kÖ,DFFò—sâÛ%ˆˆˆˆˆîrÆgô‹‹‹¥}………îöm}FF233Šõë×ÃÞÞ;wîDCC�ÀÕÕß}÷Éà5''P(øê«¯PTT„U«VaéÒ¥ÈÌÌ4Y+¡³   xyyÁÉÉ 111˜1c†Eeè'''¨ÕjÔÕÕ�4 �¾¾¾˜<y2A@LL æÎkv€>ë¥ÑhpîÜ9dggcîܹ ´ø¼óçÏãàÁƒ˜4iBCCqäÈ©®=µQot:Nœ8[[[xxxHûû*KZZN:…ÈÈH¬]»õõõ(++CKK‹Iyígi_õUGbˆˆˆˆˆF˜‰'¢¢¢MMMRaÒ¤I&iôz=²²²0uêTDDDÀÍÍ ñññÇ—òimmÅùóç¥sΜ9ƒiÓ¦A¯×ãøñã ƒ¯¯/BBBàíí‚‚³erpp€½½=¬­­áíí±cÇZT†þR«Õhnn6»̘1Ëåðöö†«««Ù}–ÖK§ÓaÍš5˜2e ->¯¹¹ ˜9s&æÎ ¹\޲²²Û¨'µµµøàƒð׿þõõõHLL„L&“ú©·²S§NÅìÙ³áää„¥K—öú8Múª·:ÒÈÂÇ%ˆˆˆˆˆËå())‡‡Z[[áç燳gÏJi Õjáåå%í“Édðòò•+W��666ð÷÷GAAPZZ …BñãÇ£¾¾Z­ùùùÒ7äõõõýZ÷Á’2ô×7àíí=à¶3–Iª—AúºZ¨MÒ¹¹¹I)t=¯°° …ÝÚÃ8S�är9T*ôz}¿Ë©T*ááá+W®ÀÙÙYÊÓlºôñxÚ©?}5Xu$ˆˆˆˆˆhèüÈ„F£AHHärÓ‰ÏÆAŸ•••é B¡@kk«´=eÊ|úé§ÐjµÈÍÍÅ”)S “ɤG(áââbrmKYZKµ´´ ±±ÑdÀÝ_ÝêeÐT6£,>ÏÑÑ …‚ ô«=úc̘1X°`ÜÝÝñïÿ&LÀĉÍסKßÛ[„ÛÖWÄ  !!!Ø¿?êêêov*“ÉPYY‰ñãÇKû+**L¶ƒ‚‚��§NÂùóç�ptt„ hiiÁ„ ú=XíO,õí·ßB¡P`êÔ©n·nõú!È�¹¢_çƒ ÑŸoý0iÒ$:t>>>5jTŸ}£V«áì쌪ª*i=‰šš“õz¿Ð…k2‘ÉdEÑì´x¥R‰iÓ¦áÌ™3¨¨¨€V«Eff&š››1sæL“tÁÁÁ8zô(\]]¥uŒoOÈÏÏÇ™3g ÓéÐÖÖ†êêêËäîîŽêêji­KË`ŽN§Ãõë×ÑØØˆòòr:t™™™ˆŠŠ‚Ý€Ûm õº™óŒ " qnTÆëMÐÿ°¯¯??‰^½ìûô�ô"�¹€™³Ã‘“—¼‚3hÓêÐÜÚ†ÊKÕÒ9þÈø&û>=€CŸ}އC®PB”ÉÍ^C®PbòÔiÈ+8ƒò‹hm×"ã›L\¿ÑŒÐ°™—µë‘¿ªÃg2€Ž©ñk×®…R©”ì*::À®]» P( P(gò–�˜<y2 ºÍX¸p! öíÛ¹\QŒÕ«W›½^pp0rrrðæ›obúôéX¶l™Åe誢¢¯¿þ:d2àììŒ7öûÕ—æ˜Ô "D½Á!“°ú§ }ž§Õj±oß>>|r¹¼×öèd0ˆÀøÀ`Œ=•ƒ¿½þcu °~ü�*›QXü“hìÛ·§rò0uêTÌ¿í:>úØ|ßÌ[°ÈqáÂ8;;cyìJlß¾2A)åÛõ:‹ÒÑWÿÜùc_-[‡qn=žÓÓ>i+_‡+Ù«¯¾*&&&bÏž=Ø´i[„蕜œŒ„„„>Óñ³€ˆعs'6n܈;v ))‰ 2’díÞÙ$î�"-ë»™9ظóìHZ…¤9ÓoiqEQ„(Š0 Ðëõ0 ÐétÐëõhoo‡V«E[[ ;¬šZ«Õ¢¥¥¥_‹6š h4¨Õênk?˜ÓÔÔkkk“WjÞl†‚Á`€¦áÔv¶+¬�yß?û»¹¹YzsEŸçˆ–µÑPöMUUvìØ 6ÀÇÇgHï—ÎAzöé§ŸbâĉP©TP*•°²²‚ P(Ëår¹2™¬[ ñäÉ“°±±‘ÒÏëúsç¼A€N§ƒ­­­4ÞàL"""""ê7¥R ¥R9àóår9,Noîq†›-ÃPêeÐ è<K €ùAöh{»A©ƒ Èá4¦{ß¡¡¡žžž¨¯¯ÇÉ“'ááæ _Ÿ¾ó´RÂÚêæûÊÀg%†=ˆˆˆˆˆˆ¨O‚  ¦¦Fzݦ··7æÍ›Ç†! 2QŸ‚‚‚¤7‡õ„o— """"""¢AÁ  ˆˆˆˆˆˆˆhPpM""¢!’™™‰ººº»²îcÇŽÅœ9sxÝ¡ÒÓÓáíí ??¿›Î«±±r¹öööý>777z½3fÌ`§ ±ÛÕÖì㑇A""¢!RWW‡ªª*6 k)))(--5Ù§T*ñÛßþ¶×Ÿ•••dØ»w/´Z-Ö¬YcñuKKK‘‘‘+W®@¯×C¡P )) ãÆ³8óçÏC«ÕÞ¶è@ê}3}…ˆˆ“cµµµHNN†··7zè¡!+ÃíjkK®{«úd ""T*ÆŽ{WÔµ®®mmmìt¢ÆÝÝË—/—¶e2Y¿Î „Á`¶Ïž=‹k×®aöìÙfÓkµZìÛ·X¿~=är9ŠŠŠ`ee5¢Ú­k½‡ZQQQ· Caaá]ÿÞê~*o¿ý6Ö­[ˆˆˆ¨gcÇŽÅÊ•+îÛ·³7ˆF •JWWן?yòd“í³gÏ¢¾¾¾Ç ÃÕ«WÑÚÚŠÙ³gC¥R�¦N:âÚ­k½‡’Z­FUU4 ÔjµI¡óöÝèVöÃPJIIÁÑ£G±iÓ&,Z´ˆA"""""ºóˆ¢ˆ´´4äååA¡P <<¼[š#GŽ@§ÓaéÒ¥ÈÎÎFaa!ôz=’““áëë‹%K–˜¤=z4är9¾ÿþ{¸»»›½î`oo H娶m¢¢¢àïïo’¶¤¤Ðh4 Á’%K ‚IÙ<==‘‘‘ÐÐP„‡‡CE¤§§#77¢(bæÌ™˜7o^·zçççC.—#""¥¥¥˜4i¦OŸÞ­ÞÆs²²²{úš4 çæè¥1pssëÖV'NÄÑ£GÑØØˆ3f`Ö¬Y=~¯×ëáïœ9sF ÞÔÔÔHu®¯¯‡^¯—ÊÑ[ÝŒe ±cÇ Ñh0g΄……áóÏ?GQQÜÜܰdÉ8::JeÐëõ(,,ì±­-½n×¾hllDzz:Î;¹\Žùóç#,, rùï)¨¨¨ÀGŽâêµFD†Ï¼9‘fï¿ÎÛ¾¾¾=–u¸ª««Ã‹/¾ˆƒbóæÍðööfˆˆˆˆˆFN‡ëׯKÛ¶¶¶Ò`,##§OŸÆ¢E‹àããƒãÇC£Ñ˜œ¯Ñh Õj�AAA(++Ãõë×±dÉØÚÚv»ž ¦L™‚ôôth4DEEI3Œ ТɾÚÚÚndÕÕÕáÛo¿Exx8ª««qòäI¸¸¸ ,,L*Û¥K—péÒ%Ì;�€¯¾ú EEEXµjZZZ°ÿ~¸¸¸ ((�––†S§NaÁ‚?~<Nž<‰²²2“�GçzÛ*;;óæDÂÇËdzObçÎxì±Çààà sùòe”——#,, ---8räáàà`6РÓé |||PPP ­O——‡ñãÇKit:€Ž…9 ±bÅ ©nŽŽŽRÝêëëQ]] . 22/^Ä¡C‡PZZ µZ˜˜|öÙgÈÎÎFTT””ÿåË—ÑÔÔ„°°0TWWãĉptt”ÚÚ’ë^ºt /^Dxx8<<< Óé‘‘ÆÆF¬_¿ÍÍÍP*•ÐétP(:†«W¯^ÅÁƒ1}F®ßèh¯ÉCLÚ´s?h4TWW£¦¦¦Çûb¸ËÉÉÁ/~ñ ÄÇÇcÆ fd """¼ûî»Ø»w¯Éæýýýñä“O"$$dØ—ÿòåËØºu+¾ûî;ìß¿ŸJt‡¨¨¨À믿.m¯]»þþþ0 ÈÎÎFhh¨48‹Åùóç{ÌËÁÁöööÐjµ½~ ¤§§ãüùóX³fM¿}4R*•xðÁ¡T*1eÊ\»v çÏŸ7Lêt:¬Y³£FÐñ­üñãDZxñbøúúèX̲  �AAAÐét8qâBCC¥YK—.EIIIåÐëõÈÊÊBhhhǺ âããñò+¯âøñ㈉‰‘Ò677#)) NNN0 ÈÈÈ@EEEë÷( ( L:Ÿ|ò Z[[agg‡ÒÒRÄÄÄàìÙ³R½^“'ObñâÅ��œ9sÅÅŘ8q¢”ŸL&úuë0jÔ(xzzâôéÓpwwÇâÅ‹�.\À¥K—¤¾B¡€ 6lØ�¥R‰ÐÐP\¿~] Xz]ãýeì caôèÑpvv†L&ƒÁ`0 ¶ÛËÁÑ í:²¾É@YYBCCoê¾îôz=RSSqìØ1lÚ´IꈈˆH²aÃ( ¬]»�àêêŠýû÷ÃÚÚú¶•)++ À /¼Ðcš“'Oâõ×_GJJ ÚÛÛ{ý<¾¾¾Òç�išzcc#Z[[M¦û¦ùóçÃÏÏ{÷îÅÎ;±nÝ:xzzö+Ñ£GC©TJÛÈÊÊ‚(ŠÒ–nnn&ƒÚ††hµZäççKoÖ¨¯¯—Ö60ïÏTuã9^^^Ò>™L///\¹rÅ$­——œœœ¤¶6Îâèi*¿ &LÀÁƒqîÜ9xxx@«Õ" �çÏŸ—ÒyIÕ\�� �IDAT444À`0 °°ßÿ½IÝŒù ‚�www©¾ÖÖÖR•J™LfrŽ£££É¿WÞÞÞÈÊÊ‚\.·øºžžžÝÖ˜3gŽtDEEÁËËË$È`l/½øc{ ¹™ûb$ÚÛÛGLyd ""ºÅ:?Ï<mÚ´Û`¸rå Ö¬Yƒ{ï½·×tƒo¼ñÒÒÒ¸°#ÑH&“™<ÿndœ~?”Sµ===ñðÃcëÖ­8}út¿ƒ æê¢ÓézH°pqq‘öûÆ·\ôçù}ã ·ë2 Z[[¥­T*Æââbi®ýÖWÝû¾1¶õÍ\w„ xøá‡qäȼ÷Þ{X°`Ùµ?†ú¾Ž¿—±±±HJJ‚½½=ƒ DDDts4 ôz=ÆŒÓkºÚÚZ †~¯ íÚ5ÄÄÄ ²²²Ï´ÆéÂ>>> 2ÝEœakk‹êêjé±½^/,t[ÂÖÖnnn¸zõªÉ�«ósöåUUU%Í艣£#A@KK &L˜Ðí¸Z­†³³3ªªª c‘Å–––ó3f d2*++1ÞÏפܯuCHHöïߺº:ÄÇÇ÷»nƒ©s[ßìu]\\ðàƒ"-- ÇïñÍ$ƒQÖ‘`âĉؼy³ôèÉH Ñ0œœŒ'žxZ­?þ8ZZZðî»ïèxny÷îÝP(øàƒðÈ# ¹¹qqqËåøöÛoQ]]ØØX¼÷Þ{=z4Þzë-lÞ¼¢(â©§žÂsÏ=‡M›6aÏž=�€>ú§OŸFqq1�`Ïž=8uê¶nÝŠI“&Ýt}ÊÊʰsçÎaÕÆ±±±=>ïLt·ëºð£qà/|}}qúôi¸¹¹A¥RáØ±c&ƒsÜÝÝ‘——‡¦¦&ØÙÙu;^SSƒºº:L˜0‚  ººååå˜3gŽ”ÆÃÃùùù¸víjjjžžnöZ•••8þ<üýýqöìY\¼x .ìµ|‚ <<§N‚§§'‚ƒƒ¡×ëQ__/=ˆÌÌLܸqJ¥ÕÕÕP*•fg|�k�L›6 gΜ¿¯\]ÆâÄwÙhnnÆÌ™3­¯‚‚‚ “É Š¢ÙÇ9,©Û@õÖÖ7sÝœœøùùA­VC§ÓIk3 UY‡3üüç?Gttôˆ{¬ƒA""¢adÓ¦Mزe òòò°oß>ìÙ³+W®D||<>úè#¤¥¥!::>ø ¶mÛ†´´4|óÍ7ÈÊÊ‚¯¯/BBBðé§ŸâùçŸÇ«¯¾ŠÇ{ ùË_pሢlÙ²~ø¡tÍçŸ{÷îE~~>L}»YÇÇ¿ÿýïaÕÆ;vì@RRo6"3º.üt¬!ãããƒùóçc÷îÝxï½÷`kk‹+Vt[c «àà`äääàÍ7ßÄôéÓ±lÙ2“ã---8xð >ùäØÚÚ¢©© S¦L1yÝá”)SPRR‚-[¶`ìØ±HHHÀÖ­[Í4233‘ššŠööv̘1âÅý.\ƒÁ€}ûöA.—CEcõêÕ�€E‹A.—ãÂ… pvvÆÊ•+±}ûv“çü»ŠŽŽÆ°k×.(ä€ÂÊqqqÒ-ƒJ¥ÂÚµk¡T*{„öU·ê«­zÝÜÜ\<xVVVpttÄ=÷ÜsÓíäää4 ûâvŠGbb¢Éú! 2Ñ€Ÿã;w.fÏžm²ÈSçGŒéfÏž-Mã={6¾ÿþ{¼ûî»xõÕW Û„‡âyÜžDDDHï+¿ÝÞyç;vŒ7QÖ¬YÓëqggglÞ¼öööÉd6IÓuiccƒ¤¤$455™]wÆ××Ï<ó ÑÜ܌ѣGw[÷ÁÑÑ›6mÂ7¤A×sÏ=g’fÅŠÉdP*•hnn†B¡è¶&BO\A…{î¹jµÚd–‚\.Ç¢E‹¤íªª*´¶¶šL¹ïš·J¥Â½÷Þ íŠåh¹qjG@.ôYž_ÿú×ýê#“íÎo®°¤n]Ë`gg×­m¯®ìO[÷÷ºF‰‰‰ÐéthkkèQ£LÉ驽Yïmjccƒ5kÖH3Qº–u8züñÇïˆÏˆˆˆ†©Î Žõõl³q5󺺺§'ßJ~~~X¹rå°iKˆn^×7X¢¯Ï¢Ñ£Gcôèѽ¦éí[ÝÎÇ.N)—ËáààÐmQQàéé‰úúzœ<y®®®Ýøæ(•J(Ð^ƒ­§º DÚz ×5¾‚s°ôY 2ÑmÑy%ô[9cˆèN%jjjPXX…Booo“Ç9hørss³hqR 2Ýjjj�t,f|Lb¤.ED4!((ˆ 1EDD°n#ˆˆˆn±Îë+ƒ�¤÷¨¿}é¼z»¹•Ü‹ŠŠÐÔÔ•J…/¿ü�ðôÓOKÇ=<<pöìYœ9s­­­øâ‹/¤cuuu�~œFZPP€üü|œ:u ‰‰‰fË­×ëQXX�Ò‚’ dõB4�6CŸär�ü÷äŽéN6Ñ­óÞ{ïá—¿ü¥´““ƒÄÄDü÷ÿ·4€7¾9â…^Ò%''ãâÅ‹&y3«W¯F@@�ÊËËñôÓOcãÆÒñßþö·pqqÁgŸ}///”””��üýýññÇãìÙ³x衇��_ý5^~ùeÜwß}f˽sçNlذ �€úúz<òÈ#øôÓOÙ©DD½tüÓçFbî$œÉ@DDt ­_¿ëׯ7{ìÿý¿ÿg²=wî\“@CW®®®8xð JKK1vìX8::š‰‰Á¥K—P\\Œàà`Èd2lܸÑä}åX½z5är9\\\z¼VRR’’’ðþûﳉˆúÒåÔKFd€A""" ?|óÓÛ3 `Ò¤IÒvç�ƒ‘««+“ˆnڻヒööv<üðÃl €‹þ!ƒ w ˆˆˆ†X]]öíÛ7(y‰¢ˆââb�À·ß~‹>úhH^ùu3u%¢‘%!!AzôI&“ÁÃÃþþþxôÑGqï½÷ZœÏ_|ææfˆîr 2 ±¶¶6TUU J^ÙÙÙðó󃟟�`ûöíX¶lߘÑÀ………áÍ7ßD}}=ÊËËñî»ïbݺuøóŸÿŒ_ýêWCr̓¢¬¬Ìd"ùd """cÇŽô<W¯^="êîììÌ��š€ÜG^¹§ÄvcÙw{{{̘1CÚÞ°aî¿ÿ~üá@BB<<<ýšÀÙ³gd ºÃ0È@DD4DæÌ™ÃF¸Ûå~ ¼³qä•;q™Äþ»‹©T*¼ôÒK˜6mvî܉ßÿþ÷0 xþùç±k×. <úè£ø¯ÿú¯óè-ýßÿþw¤¦¦B«Õ",, ‹-Â+¯¼Òïkƒ DDDDwŸ E@dâð/gÖ;@é1öuܶAAððð^û?ÿó?Ø»w/vìØ«W¯âÑGÅäÉ“göüÞÒÇÆÆ"-- •••xå•W¤·ãô÷DCÁ Š0ˆ"r9ƒA"""¢a(2qäÌ `:qwwGmm-ÚÚÚðÆoàùçŸÇ¢E‹�t¼M"%%Ål� ¯ô¾¾¾puuÅõë×1oÞ<‹Î!º•ô€ˆˆˆˆˆh°ÔÕÕaîܹ(++Ã7ð¯ý û÷ï�œ;w®Çµú›~ ç %d """"¢ArõêUTTT 00z½�°|ùrLž<YJ3zôhóƒ³~¦è9DC†þcˆˆˆˆˆºyã7`mmÄÄD888ÀÊÊ õõõ½å&  Ïô2™ íííý:‡èv` ¡d """"ºËµµµ¡ºº:ßÿ=>úè#üóŸÿÄk¯½†qãÆ�þã?þo¿ý6"""°jÕ*´µµáܹs ë–ŸJ¥ê3ý¬Y³ð¯ý 5557nœEç UÁ ¤m±§@ƒh€L&Öu9RtE­€BiA¡ÀŠé!pQÛ1È@DDDDD·NVVüüü —ËáããƒÉ“'ãØ±c˜9s¦”æø´Z-6mڄǃqqqصk—Ù<ûJ‡þóŸ Dbb"Þ|óÍ~_ƒh0D bßéDˆ?Ìj¾^;ò-0æ< �¹�…R‰ ‘Ód """"¢[cÏž=¥S©TøË_þ‚?ýéO¨ªª‚‡‡Š‡]}¥wttDzz:._¾ ‹Î!jrYÇL±K,AË Èdæ1<ù“p¸ûùcoÞ9d•]º-eào,Y>€P(àãã3hé]]]oúDƒA.”‚�ƒ(B«ÿññ A.“Öc†÷ÓøIˆ?&Nœ…Ò궸r‘ d¶Q 0 [Œˆˆˆˆˆˆ¨Žk2ý@.“A>Ì_U9¬ÛM@DDDDDDDƒA"""""""|\‚ˆˆˆˆˆˆnQDCÇ߯mƒÉ�™ùïÁõ¢irýû>Õ0ì0È@DDDD4B²häE@ßÞ}¿ drèõzèt:( ‚��Ð�ƒhš\.”ƒ07_«×à þß׉&Nœ8,ÊÁ D·–^Û1›A"V‡Ìô" 3tÌÊg&Ãd.¸&ÝZ]‹èãu‘æ‚ |TbxbˆˆˆˆˆˆnñHT�Ð)J ë{hÚ9¨ g€aøv-›€ˆˆˆˆˆˆnýhô‡áh§EÑtá…ÎÛƒ œÅ0|qM""""""ºõd�ý:z½^:¬Óé��‚ @¡PtÄ"~.p&ÃðÅ ÝzƨÁ³Azì g0  2Ñ Ð Ðw}×d/dCÔú!(»AÚtz(ä2r®,0Pl9"""¢á¦©Žm@Dwœšp§aˆˆˆh¸Ù÷àÔ¶8|\‚ˆˆˆh¸Ñ¶É÷ë·ó~Îö a+==ÞÞÞðóó»©4Ô!77z½3fÌqý, 0år(ä÷.4ô8“ˆˆˆh¸zï çc¶Ý---xñÅñþûï÷kP|ùòå›N3RRRð׿þÍÍÍ&ûkjjð /Ho*ÎΟ?sçÎõ«Î/¼ðŽ?ÞíXmm-^xáìÚµë¦Ë5>ìo]ˆA""""º¶?È@ÝgΜÁ`@YYšššnÙuÏž=‹ìììAÉ«µµiiiæ<·JQQQ·}………¼©G˜·ß~---#¾|\‚ˆˆˆèvûö=à›í?n_.þñgm+°u5¸ðœTæ ]9²Þ1ý{$Ée¿Íòóóáåå…ŠŠ œ9sááá·,ÈP__Ù³gßt^‚ ''3fÌ€››Ûm/Ï­ V«QUUFµZmdè¼MÃ_JJ Ž=ŠM›6aÑ¢E 2Ñ�}³(=Ö{šw6a÷ß}8ôå)=ÖwyèŽrõêUTUU!11‡F~~~· ƒ(ŠHKKC^^ …Ù „%i:ËÎÎFaa!ôz=’““áëë‹%K–@Edee!77MMM7n¢££û L:%%%8|ø06nÜh6(ŠHOOGnn.DQÄÌ™31oÞ¼Ësýúux{{cÖ¬Y�:øòË/±råJ¸ºº�¾þúk‚€ÈÈH‹Ê~äÈèt:xzz"##¡¡¡fÛêäÉ“(--EBB¬¬¬ÌÖ'00999(..–#555¸qãBBBP__oR÷¾ÊfI8p�öööX°`tζmÛÿ~·;ý¨®®/¾ø"<ˆÍ›7ÃÛÛ›A""""º A‹:f2hº<ÿì:Xð80y9ÛÈSbÙýPPP€1cÆÀËË S¦LÁ—_~‰ºº:Œ;VJ“‘‘Ó§OcÑ¢EðññÁñãÇ¡ÑhLò±$É턲²2\¿~K–,­­­”Ovv6æÍ›'å³sçN<öØcpppè1?DEEaß¾}ÈÍÍÅ´iÓº¥ùꫯPTT„U«V¡¥¥û÷‹ ‚‚‚Ì–çôéÓ(..–‚ ÅÅŨ­­EYY™dÈÉÉÁòåË-.»F£Á¥K—péÒ%Ì;ÝÊYVV†#GŽ`ݺu=�@¥Raüøñ&A†ÂÂBC¡Pt럾ÊfI644@E“}µµµhkk뱜½µ;u—““ƒ_üâˆÇ† ¤ß ˆˆˆˆ¨†§Ò:f-dí4 0<qpòeÑÈÏÏÇÔ©S�“&M‘#GŸŸÅ‹� ²³³а°0�@ll,Ο?/åaIš®`oo­V+}c«×ë‘••…ÐÐPDDD��âããñòË/ãøñ㈉‰éµ.S§NE^^Ž=Š &˜Óëõ8~ü8/^ _ߎߧÜÜ\ ((ÈlyüýýqâÄ hµZ(•Jœ;wAAA(//Gdd$®\¹‚ææføøøô«ì:kÖ¬Á¨Q£ºÕ¡¾¾©©©Xºt)<==û쿉'â“O>ASSìììPXXˆ˜˜œ={Ö¤î}•m }h‰¾Úzn·ÔÔT;v ›6m’~d """¢óšüê Àn,Û‚†ÄÅ‹ÑÐЀÀÀ@´¶¶B©TÂÛÛÒ ¦±±­­­½>®`IK444@«ÕÂËËKÚ'“Éàåå…+W®X”DzeËœœŒôôt“٠ƼóóóQZZ* è{[»ÀÛÛ2™ .\ÀèÑ£�áááØ½{7 JKK�ApõêU‹Ëîææf6ÀÐÖֆݻwcÒ¤I˜>}ºEõ „\.GII <<<ÐÚÚ ???“ ƒ%í:X}h ¢hµZèt:\½z---ÈÍÍ•©lll¼íkF èõzˆ¢™L…B™L6,ƒ ííí#æ3…A"""¢áÊ}2 4äòóó�Û·o7€ðöö–^ÿØÛ”mKÒX: Ðí…BÖÖV‹òprrBdd$233¥GŒƒJã ÜÅÅEÚ¯R©zÌK©TÂËË eee°³³C@@�<==a0P]]’’é1…Á(»q°[UU…ööö^•è\~ã#!!!Ëåýn×ÁèCƒÁ�NƒÁ�…B…B¹\Aàççggg( ‚Ðk»ßŠ�ƒV«•¶EQ”Ú{¸d2bcc‘””{{{ˆˆˆˆè&8t<"Á� !N‡ÂÂB,]ºS¦L1Ùÿüùùùðöö†³³3lmmQ]]-Mw×ëõÒ €Eiú ,�À˜1c “ÉPYY‰ñãÇKû+**L¶û2oÞ<˜¼ÒÒÑÑ‚  ¥¥¥Û£=•èxd¢  �666ˆˆˆ€ ðööF~~>jjj0he·²²ÂªU«°cǤ¦¦âþûïï00'$$û÷ïG]]âãã»·¤l–ö¡L&3 WTTHuã~…B!µ£££# t:&L˜ n'½^¥R ™L&EŒÁ‡Û]6 ã˜Í›7K÷ÖH"çG+Ñ0ã9 x&ãɶ !UZZ ½^©S§ÂÚÚZúcgg‡‰'¢¨¨H(úúúâôéÓ(//Guu5RRRLš–¦éÊÝÝÕÕÕhjjÐ1s`Ú´i8sæ *** Õj‘™™‰ææfÌœ9Óâº) ,[¶ ׯ_—ö ‚€ððpäççãÌ™3ÐéthkkCuuuå1jkkMß¾¾¾8uê¼½½amm=¨e···Ç<€ÊÊJ>|Ø¢s‚‚‚ “É Š¢Ù7XZ6KúÐÃÃUUU¸v튋‹qèÐ!)8% 4;FŒí^PP€’’³ín RÜ,KòEQša!“É T*µ 7ÃÁÁO?ý4þö·¿È�À™ DDDDÃÏOždÐ-‘ŸŸ³ÓÖ§M›†œœœ={&LÀüùó±{÷n¼÷Þ{°µµÅŠ+º­3`Iš®‚ƒƒ‘““ƒ7ß|Ó§ODzeË`×®]Ò”û¸¸8³oaèÍøñã1aÂKû.\ƒÁ€}ûöA.—CEcõêÕ=–ÇÕÕ¶¶¶pss“¤¾¾¾0 Ý.¬²»¸¸ !!|ð0gΜ^Ó«T*¬]»VúvÞKÊfIN™2%%%زe ÆŽ‹„„lݺUš `îúÆv?pà�:dÒîÆÏ3¶sç™ÆÆÀ—\.—Òõ–GWæÊg ÐX2kd¨ÄÇÇ#11ÑìZ 2Ѱwÿý÷÷xÌËË Ï=÷œ´íììŒÍ›7C£ÑÀÞÞ2™ ÁÁÁ&çX’¦+$%%¡©©Iš R©pï½÷B«Õ¢¥¥Å¢׬YcvBB‚ɶ ˆŠŠÂ=÷ÜFµZm2°4W�xê©§Lòqww7iŸÎƒý¾Ên hôµßÏÏÏ>û¬Åuöññ1Ùîú&KÊfI:::bÓ¦M¸qã†4 ~öÙg¥2™¬[]zkw­V Q¥õ"ÚÚÚ¤·y‚ -Îh0 T*!—Ë¡Õja0`0¤ížòè‹(ŠR€ávüñ;âs…A"""""²˜%þ¼5ÀÎήÛ>¥RiÑ q är9úUžþʲß,KÊfIä÷®íÞùíF2™LšÑ™L&“þtô'sôz½´à&1È@DDDd–N§Ãþç"''@ÇÊùééé°¶¶Æ›o¾ÉÿL ¢Îü®ƒ{½^/Í:0 …BZ¡ó¢‘Æ@B×ÀAOn&Î3$†ãë+d """.ÿÉQ(PWW‡¯¿þ�ðõ×_ã믿F||< DDCd0ÞûA€\.G{{;€ŽÙ æ>‡cæGòE:Î$À`0ºÍ– þáÛ%ˆˆˆèŽ•˜˜hÑ>""ºy½½¥¡ëc F–>ÞÐ[~ýÉC§ÓI‹ i‘Inƒ DDDtÇŠŠŠ‚§ç¯tuuí¶ ãŒàÇ7@XrŽqP¯Óé¤E?UÆ…#u:´Z-´Z­É+8‰A"""¢n ’’’¤íøøx“Õâ»jhh@yy9êêê��uuu(//GCCCÿ.ÜÜ�\-š:òAS]ÇöÕòŽcDDw(㢒ÆõŒë1ðæÞà`|\AE´··C«ÕJ㢎Àë't÷–GW:®Ç·óí 2�ëÖ­“~þÕ¯~ÕkÚ×^{ ~~~xæ™g��Ï<ó üüüðÚk¯õï¢G_~ï¤väƒÔg:¶ï×qŒè”››‹S§NÝòë^»v ÇŽCjj*JJJØà/år9¬¬¬ P(¤A¾B¡€J¥’^AÙ™L&ƒ•••ÉŸÎë9¨T*¨T*deeáÂ… R^*•JJÛSæêÒùü®¸fÏÍc Ñm„ ˆˆˆ~îÍ“O>i2óÁ¨·×Ü™uÏ“@d’ùc6ìVRRRPZZ*m«Õj8::",, !!!çsþüyhµZ̘1ã–•]Elß¾óçÏǬY³†Å�1%%/^Äã?[[[iMM ¶mÛ†ßýîwÃ~ Ûß¾4ÞCQQQÒç­1xpåÊ$''ÃÛÛ=ôP¯ùôµBnn.¬¬¬àççgq·ã¾dˆˆˆèN¡ktmÝv'®½¿ã‡Ö뽞î`-ÀÁÕÉüÁ>Î5!€QN=ïš—Aÿãß­×… PX±?é–qwwÇòåËÑÜÜŒ††äåå!55ÑÑÑ’kž={×®]ÃìÙ³œGUUÚÚÚ6¬î­­­HKKÊ+nkûÜjEEE&A�(,,ä/˜…Þ~ûm¬[·666 2 ‡_>}¾ÛîÚøáÉÿÞå?—<©bÿ? öìOºeT*\]]¥íiÓ¦áÃ?ÄÑ£GµZ=$A†úúú›D×ÖÖB¡P »™‚ ''3fÌ€››ÛmkŸ[I­V£ªª Æä~),,’ûçN”’’‚£GbÓ¦MX´hƒ DDDDÕ'õ{·Þz ¹¹¹˜?>DQDzz:rss!Š"fΜ‰yóæõ˜Goé³³³QXX½^äädøúúbÉ’%ýºF^^222 Ó霜 '''üô§?Å‘#G Óéàé鉌Œ „††"<<¢("++ ¹¹¹hjj¸qãm0ž„cÇŽA£Ñ`Μ9 Ã矎¢¢"¸¹¹aÉ’%pttì±îS§NEII >Œ7Jû\¿~ÞÞÞ˜5k€ŽÇ�¾üòK¬\¹R }ýõב‘‘ýªo×¶êêäÉ“(--EBB¬¬Ì "''ÅÅÅR`¤¦¦7nÜ@HHêëëMêÞWÙDQDZZòòò P(Ì–ëÀ°··Ç‚ ¤s¶mÛ†¨oN0Ê�� �IDAT¨(øûû÷»Ý‡ƒºº:¼øâ‹8xð 6oÞ ooï÷ùÁ…‰ˆˆˆˆ¨'''¨Õjém+_}õŠŠŠ°jÕ*,]º™™™&k9tÕ[ú   xyyÁÉÉ 111Òóòý¹†¯¯/&Ož Aƒ¹sç�4 Î;‡ììlÌ;�€ŒŒ dff"44ëׯ‡½½=vîÜiòöFƒï¿ÿiiiˆˆˆÀ„ ðÅ_àÃ?„(ŠˆE]]]Ÿ‹"ÚØØ ** UUUÈÍÍ”öQ«Õ(..–Î/..Fmm-ÊÊʤ}9997n\¿êk®­:+++Ñ#G°`Á‚ @Çl˜ñãÇ›”±°°ÁÁÁÝfšXR¶ŒŒ œ>}óçÏÇ<€ššh4“|ºí«­­E[[Û€îËá$''¿øÅ/ðÿ÷hnnQŸœÉ@DDDwŽ˜gè§G~=N½ áA­V£¹¹z½ÇÇâÅ‹áëë  c¾‚‚u;¯¯ô°··‡V«•¾©íï5Ôj5ÆŒ¹\ÞíÛ^N‡5kÖ`Ô¨QRÞYYY •Ö ˆÇË/¿ŒãÇ#&&Ƥì÷ß?FWWWœ8q...X¼x1�àûï¿ÇÅ‹ûl»©S§"//Gí¶èì@ÚÇßß'Nœ€V«…R©Ä¹sç„òòrDFFâÊ•+hnn†O¿êÛµ­:«¯¯Gjj*–.] OOÏ>ë<qâD|òÉ'hjj‚ ƒ³gÏšÔ½¯² dgg#44aaa�€ØØXœ?þ¦îçþÞc·›^¯Gjj*Ž;†M›6I÷ ƒ DDDD·ì6V\0‘hݸqÞÞÞhhh€V«E~~¾ô­o}}}ÏÚ÷7ý@Ï鉛››É Ù˜·———´O&“ÁËË W®\19wܸqÒ¹J¥RàK3  ƒEåX¶l’““‘žžŽiÓ¦ÝT]½½½!“ÉpáÂŒ=�ŽÝ»wÃ`0 ´´W¯^µ¸¾]Ûʨ­­ »wïÆ¤I“0}út‹ê¹\Ž’’xxx µµ~~~&AKú¢±±­­­^ÏâVÜc·:ØÐÞÞ>rþ)æG'uÕÒÒ‚ÆÆF899IƒêÀÀ@¸¸¸HiT*•Ùsû›~ çôg Ût…BÖÖÖ!kC'''DFF"33ÓdaÍÔU©TÂËË eee°³³C@@�<==a0P]]’’i-„Á¨¯L&ƒB¡@UUÚÛÛ{}T¢sùLh4„„„@.—÷»/t:�˜¼t0 å=6d2bcc‘””{{{ˆˆˆˆˆhäúöÛo¡P(0uêTØØØ@´´´t›úoŽ£££EéÎþœ3cÆŒL&Cee%Æ/í¯¨¨0Ù óæÍCAAÒÒÒnª}€Ž°±±ADDA€··7òóóQSSƒ€€€A«¯••V­Z…;v 55÷ß·€9!!!Ø¿?êêê? ¾pvv†­­-ª««¥Çôz½|è<×jµ&y Æ}9Lœ8›7o–út$áÂDDDDDw9N‡ëׯ£±±ååå8tè233;;;‚€ððpäççãÌ™3ÐéthkkCuuµÙü,IïîîŽêêj455Y|Î@)•JL›6 gΜAEE´Z-233ÑÜÜŒ™3giÛ* ,[¶ ׯ_¿©ö1jkkMß¾¾¾8uê¼½½amm=¨õµ··Ç<€ÊÊJ>|Ø¢s‚‚‚ “É Š¢Ù7#XZ6___œ>}åå娮®FJJŠI@�<<<PUU…k×®¡¸¸‡êµlCy <ýôÓøÛßþ6" �g2Ýõ***ðúë¯C&“ÁÁÁÎÎÎØ¸q£É3ñ .„Á`À¾}û —Ë!Š"‚ƒƒ±zõj³yö•>88999xóÍ71}út,[¶¬ß×èèèh8p�»ví‚B¡€B¡@\\<<<†¼}Ç &˜¼ya íãêê [[[¸¹¹IëEøúúÂ`0t[¸p°êëââ‚„„|ðÁpppÀœ9szM¯R©°víZ(•JÈd²÷Åüùó±{÷n¼÷Þ{°µµÅŠ+º­'1eÊ”””`Ë–-;v,°uëÖ^Ë7”÷ØÍŠGbb¢Ù52FÙ«¯¾*&&&bÏž=Ø´i?a‰îPÉÉÉHHHè3? ˆˆèn³33w~‚I«4gú-½¶(ŠEƒz½ƒ:NZèM«Õ¢­­ ………ˆíe0 Ñh V«-š>ßWú¦¦&X[[›¼æ°¿×è­V‹–––a³Øß@Úg$×·¿eÓh4°··ï1`t,PÚßùPÞc·Ó§Ÿ~Úñ–üsxjϗز!"§C¡P@.—CÈårÈd²nmzòäIØØØHéA€B¡èösç¼A€N§ƒ­­­4ÞàL"""ºã\»v ¯¼ò  V«1zôhèt:ÜsÏ=Ðh4ÉdøÙÏ~6,Êzùòelݺß}÷öïßÏΣaO.—ÃÁÁaÐÒÛÙÙÝô5úC©TJ³�FB{škŸ‘\ßþ–Í’àÈ@¾ùÊ{ìnÇ ÝQŽ9‚ÄÄD�À7ß|�À¹sç°jÕ*â­·Þºíå<yò$^ýu¤¤¤ ½½¡¡¡ì<""ñ¸ð#Ý1ÊÊʰråJTUUá•W^‘ �€£G›o® Þxã 8;;³ãˆˆèŽÁ Ý1{ì1477ÃÚÚ+V¬èv|ܸqøÓŸþdöÜË—/£¾¾¾Ïkh4\»v­Çã–æ3{ölŒ3Æ$BDD4Òñq """º#444à³Ï>бÚzOÏ1?ú裸qㆴ]\\Œ 6`̘1=z4±gϨÕj$''ã‰'ž€V«Åã?Ž––¼ûî»�€¸¸8ìÞ½[ZŒ­·|ˆˆˆd """A ¤Ÿ{{A.—ÃÞÞ�ÐÚÚŠåË—£¼¼ÍÍÍvvvxðÁqàÀlÚ´ [¶lA^^öíÛ‡={ö`åÊ•ˆÇG}„´´4DGG÷™ƒ DDDD#ÈÕ«W¥Ÿ ƒE礤¤ ¬¬ žžž°¶¶�Œ;‡F}}=aee�˜;w.fÏžöövéüÊÊJ‹ó!""bˆˆˆh„˜8q¢ôs~~>DQ”Þþ÷¿ÿÿú׿pêÔ)�¯M»ï¾û¤Ácc#Ö¯_/匪ª*³ÁA¤Ÿõz=� °°°ßù1È@DDD4L?ŽŽŽ¨¯¯‡F£Ayy9üüü��›7oFDDfÍš cVÂŽ;ð›ßü�ÐÞÞŽ;wJë+ô—qæÄÍæCÔc@‹ˆ¨«ÎÁöÛ‰ÿÑA.—㥗^ÂÏþs�@nn®d��ég�@PP� ­­ 'Nœ@dd$�@«ÕB&“Y,¬|ˆFÊ ‚ˆ¨ÇÙDDDt§øÙÏ~†|�ðꫯB«ÕJÇZZZº¥OHH€››€ŽÙÈÉÉÁÏ~ö3\¹r@Çâ� Óé¤À‘ñgKò1G¯×KßL_¸p¢(²‰ˆhDcXˆˆˆî2™ ï¿ÿ>V¬Xgžy111¸ï¾ûààà€]»vA©TbÅŠظq#�ÀÁÁü16lØ€S§NaÊ”)˜0aÞÿ}¸¹¹aÛ¶mR -- ß|ó :$]/99+V¬€··w¯ù˜³sçN|þùçhhh��Ô××ã‘GA||<bccÙ™DDÄ Ñp°nÝ:¬[·555(((€ øÇ?þOOÏn.Ìž=EEE())­­-|||¤c<òyä“ôsçÎÅ /¼Ðíš½åcNRR’’’ðþûï³ÃˆˆˆA"""¢ánܸq7n\Ÿéär9BBBnúzƒ•ÑHÅ5ˆˆˆˆˆˆˆhP0È@DDDDDDDƒ‚A""""""" 2Ñ `ˆˆˆˆˆî*ÍÍÍ(**B{{ûMç¥ÕjQTT„ÊÊJ 6.Ýõd """"º‹%$$ÀÚÚ¯¾új·cyyy°¶¶ÆO~ò“;¢®ˆŽŽ†³³3æÏŸ±cÇâ¾ûîÃÕ«WͶ‰µµ5œœœ0cÆ üóŸÿì–׊+àèèˆ  ((£GÆÂ… Íæ3nÜ8lذGޱ¨?¬­­accƒ€€�,Y²}ôoVbˆˆˆˆˆF†½{÷vÛ—ššzÇÔ¯ººáááhmmEAAêêê™™‰¢¢"Ì›7ÍÍÍ&égÍš…ôôt<ÿüó¿üå/‘——�¨¬¬Ä¬Y³PUU…o¾ùµµµ¨¯¯ÇÇŒÈÈH³ù<ûì³8uê{ì±>ˆÌÌLìß¿¿ûÝïÐÖÖ†uëÖáõ×_·¸¾Ä–-[xc o¿ý6ZZZd """"¢‘ÍÃÃ'OžDeee· ƒ‡‡ÇQÇW^yz½û÷Ÿ�`òäÉØ¿?.^¼ˆmÛ¶™¤W«ÕÇæÍ›ñâ‹/BE|ûí·�€—^z íííøì³Ï0uêTÈd2iÆÇŸÿüg³ùüêW¿ÂÿøG\¼xÙÙÙ½–ÕÞÞ3fÌ@TT~þóŸãóÏ?ÇÒ¥Kñ‡?üUUUÕ÷Àøä“Oxs )))xøá‡qìØ1ˆˆˆˆˆhäZ¾|9¬¬¬ðñÇKûrssQ[[‹èèh“´Ÿ|ò xàøøø ""ÉÉÉ&ÇŸ}öY<õÔSøæ›o°xñbà¯ýk¿òÐëõøýï???á­·Þ²eËðÎ;ïHi þøÇ?ÂÏÏ>>>øßÿýßë§×ë±}ûv¬_¿&Çüüü°bÅŠnA†Îüýý�:z½ï¼óÖ¯_qãÆõ«]\\¤²÷‡J¥ÂK/½­V‹;wöÙ†ÿûß‘ššŠï¾ûaaaøõ¯mQ»ÓíWWW‡_|¿ùÍopñâEˆˆˆˆˆhäQ«ÕˆŽŽ6yd"55qqq°¶¶6I[QQÅ‹ã‹/¾@\\žyæ\¿~]:^YY‰/¾øO<ñxà$%%á¹çžÃÿßÞ½GUU'z�ÿîÇyñòøÀÂ’’W%K,kLQVzqÌ|$eâ­ÉÔòÚx½^oã]:Ò`S.-#§±ÒDRÆSc4&¦K[™%):–`" œÇ~Ü?gÏ9<ä€Gù~Ö:‹Ã9ûüöÞ¿³Ýîß—ßï·úé'¿ËX¶l6n܈ `çÎ(,,D^^ÊÊÊŒeV¬Xœœdee!##ÈÍÍmpÿŠ‹‹QSSƒ!C†4øþàÁƒqêÔ)¸\®ßûí·�C‡EQQâãã›UÇv»¯½ön¹å–f�bbb‰cÇŽ5Y‡&L@BB¢££‘™™‰Ù³gûUïÔz|óÍ7˜;w.Ö¯__o(C"""""jõ’““±oß>üòË/�€mÛ¶aÊ”)õ–KKKÃܹsƒôôt8ìÝ»×g™²²2¼÷Þ{˜;w.^xá˜L&ìÞ½Û¯2<ñ3f -- ýû÷GFFzôè]×�‡k×®Ejj*xà$''#!![·nmpß<G·nÝ|¿{÷îPUÕg(BII 2331f̬^½O>ù$âãã¿.÷èÑïzýþûï1aÂtïÞ………ؽ{7$IjÑwÔ£G”––6Y‡½zõB·nÝСCŒ1±±±~wÔz¨ªŠììlÌž=Ÿþy›Ùn™_?&“ ;vì@||<.^¼ˆQ£Fá£>ª·ì—_~‰/¾ø?ÿü³ xKHH@LL �Àd2!$$¤Þí"+ãÔ©S¨®®Æˆ#ê­Wc™ªª*lÞ¼Ùè½pâĉFçèÒ¥ �àâÅ‹ ¾ñâE˜L&tïÞÝxíÌ™3صkz÷îôôtL˜0�йsg�@yy¹_õj³Ù0lØ0üðÃ8p Q/-QVV†„„¿¿‡†´ä3tãÆ@Ün•!]7ÞC&ŠŠŠ0iÒ$ȲosA×u¤¤¤àÀ˜={6’““±qãÆf­§©2BCC�f³ùŠ.À=—ÄÀ×;tèÐàò}úô (,,lðý'NàÎ;ï„Åb1^:t(víÚUoYϤ‘Gõkûô郥K—bèС˜4i~øaLž<¹ÙßÏùóçQTT„~ýúµè{ÄwG×— ˜0aRRRŒ ˆˆˆˆˆ¨ÍHNNÆœ9spìØ1deeÕ{¿  �[¶lÁ'Ÿ|‚‘#G6:‡Á•4UFÏž=‹ýû÷#11€{Ê .ËDGGÃl6£¼¼“&Mjr6› 'NĦM›°hÑ"ˆâ¿F_¾|ï¿ÿ>}ôQ¿¶?88£FÂúõë1þ|„……ùõ¹qãÆaÊ”)HOOÇý÷ßoL鯵k×ÂjµbÖ¬Y~}‚ øüõ;ß]?±±±HKKCttt›ÛvÎÉ@DDDDD�ÜC&$I‚¦i¸ï¾ûl` ‚€ãÇ£¤¤Ë—/àž¿À_þ”‘˜˜ˆŒŒ <ýôÓX¸p!ž}öYØl6£g…ÅbAzz:Þ}÷]lÙ²v»8tèP£ë]¾|9Ξ=‹Ç•••�€ÒÒRüæ7¿Aß¾}ñßÿýß~ïÃK/½„ÊÊJŒ;ß~û-t]‡¢(8pà�.\ØèçÖ¬Y]×ñÌ3Ï\±|‡Ã’’!//éééX³f V®\‰®]»úU‡ñññ8|ø°1ÇF ¾;ºö:v숅 âå—_n“C"""""2„……açÎØºu«Ï_û=¢¢¢Œ†ÿ€ Ë2æÌ™ƒ%K–øLìx%þ”±lÙ2,X°�°ÛíxóÍ7¡ª*‚ƒƒr–.]ŠY³f!55‘‘‘èÕ«233]oLL þñà»ï¾C·nÝЧOÜvÛm(,,ÄÎ;jѸ¸8ìÙ³š¦áî»ïFxx8n¹å¤¥¥Õ»‡·ððp¬^½¹¹¹Ø¼ys£ËíÛ·½{÷Æí·ßާžz %%%ÈËËÓO>éw&%%aРAèׯæÍ›­‰'"++ cÆŒ1æi‹„ŒŒ }Ö¬YضmRSSùÍݤ6lØà×ø?ž ˆˆ¨½y+ÿ<þÖd¥<Œ”áq×uݺ®C×uhšUU¡iE1&zs¹\p88zô¨1ñ`kPQQ‹Åb4¨KJJ|&M tû÷ïÇÈ‘#®þÞEÁ™3gYo‰Æœ;w'OžÄùóçñÊ+¯àÈ‘#øõ¯ñãÇc„ Wœ¢¡ý8yò$úöíÛ¬ âz}gÏžEÇŽeñÝQëõ׿þ±±±ØqäžÛö^™„™÷ÆA–eˆ¢I’ Š"A¨d<x6›ÍXN’$Ȳ\ï¹wY’$AQí ÎÉ@DDDDDÍR·1Ý’Fê•ÊÈÎÎÆ©S§0|øpœ8qëÖ­C\\î¿ÿþzåȲŒ¨¨¨f­;<<ááá�ÜCD¾þúkdddà½÷Þókއºû1xðàVû=Ô½mg ¾;¢+aÈ@DDDDD­ŠÙlÆ‘#G ‹Å‚#F`ñâÅ׬ ùàÁƒñ—¿ü…O� ˆˆˆˆˆ¨UIJJBRR+‚¨ âÄDDDDDDD ˆˆˆˆˆˆˆ( 2Q@0d """""j\. P\\ MÓX!Ô&1d """"jÇ&Ož «ÕŠŒŒŒzï}ûí·°Z­5jT›Þǘ˜X­ÖFãÆ�<öØc˜<yòuß¾¢¢"Œ?;wÆý÷ߘ˜tèÐ#GŽlÓÇ”Õj…ÍfCtt4ÆŒƒíÛ·óC"""""jrrrê½–}SìÛöíÛ‘ŸŸüü|¬Y³�°eËãµW^y�˜˜ˆ‰'^×m+..F||<Μ9ƒ½{÷¢´´åååøàƒpï½÷¶Ù:2dòóó‘››‹Å‹Ãáp`úôéÈÌÌô»Œ?ü¯¾új»ù7øÆo ¦¦¦ÍïoaIDDDDÔÎEFFâàÁƒ(..FÏž=}B†ÈÈÈ6¿4žŸ;w�pÇw ::Úg¹©S§^÷m[µjœN'>ùätíÚ�ŒÞ#m¹Ihh(lü>sæL<òÈ#Xºt)&Ožì×qµk×.â™gžiÿ·nÝŠÝ»w#55<ð@›Ýöd """"jça6›ñÁ¯>|¥¥¥=z´Ï²;vìÀÔ©S…{î¹6lðyÉ’%xî¹ç°wï^<øàƒˆŽŽÆþð‡f•¡ª*^|ñEôîÝ111X·nƇM›6Ëhš†eË–¡wïÞˆŠŠÂÊ•+¯º<Û^÷÷Ý»wcĈèÓ§Ö­[EQðÛßþ·Þz+&Mš„“'O¶h»TUŦM›0cÆ #`hŒ¦iX½z5î¼óNDDD`Ô¨Q8tèÏ2O=õV¬Xáó™!C†à³Ï>«·O[·nÅ]wÝeôâ8}ú4fÏžÈÈHDEEáõ×_h][,¬Zµ .— o½õV“ÇÁŸþô'dggãСC2d,Xà×±ÓÖ•••á÷¿ÿ=žþyœ>}š!µ=aaa=z´Ï‰ììl$%%Ájµú,[TT„|Ÿ~ú)’’’°hÑ"\ºtÉx¿¸¸Ÿ~ú)æÍ›‡©S§"%%¿ûÝïðÓO?ù]Ʋe˰qãF,X°�;wîDaa!òòòPVVf,³bÅ äää ++ ÈÈÈ@nnîUÕCqq±OûÛß°téRÌŸ??ü0-Z„)S¦@×u¬_¿> òælWQQâãã›Ü¶—^z kÖ¬ÁO<?ü‘‘‘øÕ¯~…üÑXæÇÄ™3g|>÷ý÷ߣ¢¢ÂgŸ>þøc¼òÊ+xá…Œù(Ö¬Yƒ²²2üãÿÀ–-[p÷Ýw¼®cbb‰cÇŽ5yL˜0 ˆŽŽFff&fÏží×±s³øæ›o0wî\¬_¿ÕÕÕ ˆˆˆˆˆ¨mINNƾ}ûðË/¿��¶mÛ†)S¦Ô[.-- sçÎELL ÒÓÓáp8°wï^ŸeÊÊÊðÞ{ïaîܹxá…`2™°{÷n¿Ê°Ûíxíµ×0cÆ ¤¥¥¡ÿþÈÈÈ@= ë:�Àáp`íÚµF·òääd$$$`ëÖ­¯§Ó‰œœ$''cÞ¼yPwÜqÖ®]‹ÄÄDŒ;{öìiÑvy=z4¹ üã1cÆ ÌŸ?C‡EVVÌf3^~ùåfïSMM ¶oߎiÓ¦CF¾ýö[tìØ½{÷Æ=÷܃»îºëšÔu=PZZÚäqЫW/tëÖ :tÀˆ#ë÷ñw³PUÙÙÙ˜={6>ÿüó6³Ýœ“ˆˆˆˆˆ0~üx˜L&ìØ±ñññ¸xñ"F…>ú¨Þ²_~ù%¾øâ üüóÏF0à-!!111��“É„8N¿Ê8uꪫ«1bĈzëÁX¦ªª ›7o6þ¢~âĉk2Ä Aƒ� �Ÿ!$6› ªª¶h»:wî �(//¿â6xÊõžR’$ 6 ßÿ}³÷iÈ!÷y-==)))8vìþïÿþϘ Ðu]VV†„„¿¥†´ä3m=l¨ûï‡!µjÞC&ŠŠŠ0iÒ$ȲosA×u¤¤¤àÀ˜={6’““±qãÆf­§©2BCC�f³ùŠ.À=—„÷¤Ž:t¸áÁælWïÞ½�G½b¹‡�âózPPÏPˆ«1iÒ$DGGãÅ_ĸqã°lÙ2,^¼8 u}þüy¡_¿~-:–qüµ%‚ `„ HII1þ]0d """"¢6#99sæÌÁ±cÇ••Uïý‚‚lÙ²Ÿ|ò FŽ —ËÕìu4UFÏž=‹ýû÷#11€{Ê .ËDGGÃl6£¼¼“&Mj5õ×Üí ƨQ£°~ýzÌŸ?aaa .×·o_ˆ¢ˆ¯¾ú cÇŽ5^ÏÏÏǘ1cŒßEQô¹bs‡ÜyçØ¹s'þë¿þ ™™™xþùçZ×k×®…ÕjŬY³ü:–Aðù ~ Ž¿¶"66iiiõî€ÒpN"""""à2!I4MÃ}÷Ý×`£X?~%%%X¾|9� ¤¤ÄïuøSFbb"222ðôÓOcáÂ…xöÙga³ÙŒž‹éééx÷Ýw±eËØívTTTÔ»ÛÂõÖ’íz饗PYY‰±cÇâÛo¿…®ëPÀÂ… :›9s&Þÿ}äç磪ª «W¯FYYæÎk”5lØ0ìß¿ÿüç?‘““ƒôôt¿·}Ó¦M8}ú44MCMM  �Q[\ׇ%%%(**B^^ÒÓÓ±fͬ\¹]»cC²Z�� �IDATvõë8ˆÇáÇyBqüµv;vÄÂ… ñòË/·É€!°sçNlݺ¢X¿©e4ü �Y–1gÎ,Y²ÄgbÇ+ñ§ŒeË–aÁ‚(((€ÝnÇ›o¾ UUl”³téRÌš5 ©©©ˆŒŒD¯^½™™yÃë°¹Û‡={ö@Ó4Ü}÷ÝÇ-·Ü‚´´4Ÿ;{¬Zµ qqqx衇pë­·"##¯¿þ:† f,3mÚ4„„„ 66Ë—/Ç;ï¼ã÷v¿õÖ[ˆE=ŸŸÿýßÿ½ªºÞ·oz÷îÛo¿O=õJJJ——‡'Ÿ|Òïã )) ƒ B¿~ý0oÞ¼€­Ùĉ‘••…1cÆó´EBFF†>kÖ,lÛ¶ ©©©<³ݤ6l؀ɓ'7¹ÏDDÔÞ¼•ÿ k²RFÊð¸ëºn]סë:4MƒªªÐ4 Š¢½¹\.8=z&Lh5uVQQ‹Åb4‚KJJн{÷kVÆþýû1räH£›¼7EQpæÌDFFÖ›CâFjÉvUTTàäÉ“èÛ·o£sTWW£¼¼‘‘‘6DÏ;WobGØívTVV]bŸqœ={;v4– Äñw³úë_ÿŠØØXì8rÏmû ¯ÎLÂÌ{ã Ë2DQ„$IE‚ Ô;~<›Íf,'IdY®÷Ü»,I’ ( ‚‚‚Œöçd """"¢f©Û�nIïJedggãÔ©S>|8Nœ8uëÖ!..÷ß½rdYFTTT««£–lW‡0xðà+.dÜå¢1- �Àjµúôž¸uíϱԭ[·€t }Vµ&f³GŽAvv6, FŒÅ‹·é.äDíC"""""jU’’’””ÄŠ jƒ8ñ#C""""""" † DDDDDDD ˆˆˆˆˆˆnRo¿ý66nÜÈŠ ë†!Q;6yòdX­VdddÔ{ïÛo¿…ÕjŨQ£Úô>ÆÄÄ·glè1nܸ›öûýôÓOñÑG5úþ¿ÿû¿#11±ÕŸV«6› ÑÑÑ3f ¶oßμ ˆˆˆˆˆ¨µÊÉÉ©÷ZvvöM±oÛ·oG~~>òóó±fÍ�À–-[Œ×^yå�7À‡~ˆW_}µÉå† ‚üü|äææbñâÅp8˜>}:233¾®é7Þ@MMM›ÿ^y K""""¢v.22Dqq1zöìé2DFF¶ùý8p ñüܹs�€;î¸ÑÑÑüòo ]»v¡°°Ï<óÌ— ÅàÁƒßgΜ‰GyK—.ÅäÉ“ý:Fý]×´uëVìÞ½©©©xàÚì÷Êž DDDDDí\bb"Ìf3>øàãµÃ‡£´´£GöYvÇŽ˜:u*¢¢¢pÏ=÷`Æ >ï/Y²Ï=÷öîÝ‹|ÑÑÑøÃþЬ2TUÅ‹/¾ˆÞ½{#&&ë֭øqã°iÓ&cMÓ°lÙ2ôîÝQQQX¹råU×CSezöm÷îÝ1búôéƒuëÖAQüö·¿Å­·ÞŠI“&áäÉ“õ>³sçNÜsÏ=ˆŒŒDzz:œN§ÏzW¯^;ï¼5j:ÔືnÝŠ»îºËè}ÑT]6—?ߟ?ûôÔSOaÅŠ>û8dÈ|öÙg�€?ýéOÈÎÎÆ¡C‡0dÈ,X°Àïm´X,Xµj\.Þzë­&롱uºî¡¬¬ ¿ÿýïñüóÏãôéÓ ˆˆˆˆˆ¨í ÃèÑ£}†Ldgg#)) V«ÕgÙ¢¢"<øàƒøôÓO‘””„E‹áÒ¥KÆûÅÅÅøôÓO1oÞ<L:)))øÝï~‡Ÿ~úÉï2–-[†7bÁ‚عs' ‘——‡²²2c™+V ''YYYÈÈÈ@FFrss¯ªš*³¸¸ûÛß°téRÌŸ??ü0-Z„)S¦@×u¬_¿xýõ×}>óÉ'Ÿ 33ééé˜:u*²²²|“—^z kÖ¬ÁO<?ü‘‘‘øÕ¯~…üѧœ?þ¯¼ò ^xác‰¦ê²¹üùþüÙ§ügΜñ)ûûï¿GEE�`„ HHH@tt42331{öìfmgLL "##qìØ±&롱uºîé›o¾Áܹs±~ýzTWW3d """"¢¶%99ûöíÃ/¿ü�ضm¦L™Ro¹´´4Ì;111HOO‡ÃáÀÞ½{}–)++Ã{g¹sçâ…^€ÉdÂîÝ»ý*Ãn·ãµ×^ÃŒ3––†þýû###=zô€®ë��‡Ãµk×ÝÊ“““‘€­[·¶xÿý-Óét"''ÉÉɘ7oEÁwܵk×"11cÇŽÅž={|>ŒÜÜ\L›6 kÖ¬Á˜1cŒ¿è;NüñÄŒ30þ| :YYY0›Íxùå—}Ê©©©ÁöíÛ1mÚ4c¨‡?ßGs5õý5µOþèÕ«ºuë†:`ĈˆmövöèÑ¥¥¥MÖCcëºuHªª";;³gÏÆçŸÞfÎ%œ“ˆˆˆˆˆ0~üx˜L&ìØ±ñññ¸xñ"FÕà ¾üòK|ñÅøùçŸ`À[BBbbb��&“ !!!>]é¯TÆ©S§P]]#FÔ[¯ Æ2UUUؼy³ÑÓàĉW5„¿e4�€   �ðRb³Ù ªªÏgn»í6cYÀ=‘aff&4M3Ö{ï½÷ïK’„aÆáûï¿÷)gÈ!oö÷Ñ\þ|WÚ'Q¼>Ë.++CBBÂUÕC ëîZ… uëŸ!µjÞC&ŠŠŠ0iÒ$ȲosA×u¤¤¤àÀ˜={6’““±qãÆf­§©2BCC�f³ùŠ.À=—„÷¤Ž:t¸ª†\ ËlŒ(аÛí‡�â³LPP1´ ¥uy=yïÓõpþüy¡_¿~-ª‡ÖTw&L@JJŠñï‚!µÉÉɘ3gŽ;†¬¬¬zï`Ë–-øä“O0räH¸\®f¯£©2zöì‰ØØXìß¿‰‰‰�Ü“P^¸pÁX&::f³ååå˜4iR@öýZ”Ù˜C‡!::‚  oß¾E_}õÆŽk,“ŸŸ1cÆ\U]^OÞûä ¼oÇØÐ0AZüúµk×ÂjµbÖ¬Y~ÕCÝuµ¦ºkHll,ÒÒÒÚäP8'p™$ š¦á¾ûî«÷~pp0AÀñãÇQRR‚åË—�JJJü^‡?e$&&"##O?ý4.\ˆgŸ}6›ÍèYa±XžžŽwß}[¶lÝnGEEE½;24ǵ(Ó㫯¾2æ+صköìÙƒ'Ÿ|Ò¨™3gâý÷ßG~~>ªªª°zõj”••aîܹW]—×Ê•ö �† †ýû÷ãŸÿü'rrržž^¯Œøøx>|ؘ¤1‡%%%(**B^^ÒÓÓ±fͬ\¹]»võ«ê®ëFÖÝ•tìØ .ÄË/¿Üfo±Êˆˆˆˆˆ�¸‡Lìܹ[·nmp\}TT”Ñð0`�dYÆœ9s°dÉ’z6ÆŸ2–-[†    �v»o¾ù&TUEpp°QÎÒ¥K1kÖ,¤¦¦"22½zõBffæUíÿµ(p÷’X½z5"""0eÊüæ7¿Áœ9sŒ÷W­Z…¸¸8<ôÐC¸õÖ[‘‘‘×_Æ »êº¼VšÚ§iÓ¦!$$±±±X¾|9Þyçze$%%aРAèׯæÍ›×èºöíÛ‡Þ½{ãöÛoÇSO=…’’äå塆?õPw]7²î3qâDdeea̘1×mØÉµ dddè³fͶmÛššÊ3+ÑMjÆ ˜<yr“Ëñ\@DDíÍ[ùßàñ·v +åa¤ »®ëÖuº®CÓ4¨ª MÓ (Š1Ñ›Ëå‚Ãá@AAÆßjꬢ¢‹Å¸½eII ºwï~ÍÊØ¿?FŽitm÷¦( Μ9ƒÈÈÈzsH´T Ë|ì±ÇP]]mÛ¶áܹs°Ùlõæ_𨮮Fyy9"##›ÕÈ Ä÷q­öéܹs NVéíìÙ³èØ±c½Û¥^‹ã²îº®wÝ]k»v퀰ãÈ <·í3¼:3 3ïƒ,ËE’$AE‚Pï;xð l6›±œ$Ie¹Þsï²$I‚¢( 2Úœ“ˆˆˆˆ¨¨{Áïù½5þE³îdˆ-i”]©Œììlœ:u Çlj'°nÝ:ÄÅÅáþûï¯WŽ,ËˆŠŠ èþ]‹24ÙØ ò¹cÃõü>®Õ>5õ>�tëÖíº—u×u#ëK„+ŸcšËs Ù&ÿýðtNDDDDÔ:ÃÏ_Ûr×é–0›Í8rä²³³a±X0bÄ,^¼¸MÖC\\œq‰›Å͸O7Óù£±ÀòZh(x`È@DDDDÔJ ×£‘Ð%%%!))馨—çž{î¦û~nÆ}ºÙÎîŸÍ;oøÛS¡©ÏqâG""""¢VÖ@ð<o¯=ˆ¨åçA€ôfðwþ‘¦Â† DDDDD­ aP¯‘àõÜjµ¢ªªŠED²Ûí°X,îóFm/þ‡ ÍêÍàY¶¼¼Üçu† DDDDD­DÝpAˆ¢ˆ°°0ìÙ³‡DDÊËËCXXXíÝ#àîÍÐŒÞPv»Š¢4kŠ¢Ô @2µuï&!Š¢q«¹N:Ál6#77¬,"2ÔÔÔ 77&“ ;wv‡ ¢Øè¹¥1eee¨ªªjVo†ÒÒÒzÁ'~$""""ºÁá‚®ëõz1x ’$¡gÏž(++Ã_|ªª*¸\.ã¡( EªªÐ4 š¦A×õOäFD­ãÜàéÍä9Ȳ Y–a2™ŒGPP:w]»B’$#œt÷b¨246¸\.ÔÔÔÀd2!,, ’$5ºmº®£¢¢.—«Þ{ ˆˆˆˆˆZY£¢îp I’`2™Ð¥K„††Á‚ªª>Ï=C¢›/dðL&“Ïs³Ùl¼f„ ð¿�¨ªŠAƒáèÑ£P:u2Öé.¸\.TVV¢ººááá(--eÈ@DDDDÔZž^ ž@ÀÓ¨Ð4ͧqá6x/ ¸{<ÔíÅ i+˜¨óÞç�O¸P7pð>W¸‡K÷ïÞçœÆBMÓ`2™ðoÿöo8~ü8ÊËË!Ë2‚ƒƒaµZ¡ë:‡±]¡¡¡ ªf2d """"j%ƒwè Š"t]‡$IÐ4 ²,û\Ì{7<TU…ªªF¸Àèæ A0B††ÂY–ÿ2@0&~ô>¿\‰®ëE‹111øå—_PSSc ËEÑ5, BBB¼í%C""""¢V4Ô.ÑÐ…¼ PUŠ¢@’$#dð<2Ý<!ƒçáé±ÐPÀàyH’T0øžSšâpšÍftïÞ—.]BUUTU5 OÈ`2™|†f0d """"jEáBÝ ÁÓ“Á»ཌ$IP²,ûôd¨û ¢¶{^¨ûðáé¹à <÷ûÜÃ%ê—ãïz%IBhh(DQ4nSY7ÐhC""""¢ܨ xBŸ wYö™ƒAÓ4c(…÷ÃHxÊdÐ@Ô6Ï ÞçÏ¿ûº½¼ïß±¶7ê M uC ³Ù ‡ÃMÓê •ňˆˆˆÀ¦}‡oغu]<¡€û…ÚÀ@‡¦éÐ5ÕýS× {æ\PUhº]ÓÜË×–a„ `¸@ÔæÃxMÔ(=·¦EˆžŸµ=º'y ˆ6øÎ½¼×p‹æ†ž�T’$\ºt !!!¾“K6R&C"""""�yÇ~DÞ±oTÌàõ£Îs½ÎÃxßëw]÷ý¬ç}"jã)ƒà9@€ÑCÁ{bGŸßןÏ7g^£L�—/_ÆŠ+°hÑ"tïÞÝ'„`È@DDDDTÇĸþ@ÊßcXƒîÕ¡n½¶×‚VÛk¡vIwï†u‡HpÈQ[ÊÞ ™ƒP;”Ês Q¬íÝ ük.Ïp«ñwöó šÓ£Á3ŸÃ{g .àwÞÁ‚ š,‡!µkƒ¬H×*¶Å{ïçžÛRÖ½{DÝå&ÝÜáCݹ„:C"¼oè3ÍuôèQüýï�9rÄðáïø† DDDDD­°1á ¼ï4á$x/S7``Ø@tóê† �Œ ÝA¢%s1xs:ذaƒÏk›7oF\\, C""""¢¶.Ô}Ï;P$©^°Àpèæ>? ̱ÐP¸àý³îsåææ¢¸¸Øçµ‹/"''O<ñC""""¢¶Ô˜h(hð~Ï;\ðþID7÷¹¡±�!Pá‚ÇĉñðÃCUUTVVBQ˜L&˜L¦+~Ž!Q+mLÔÑÔ{ ˆnîs•^kxÂÈ–“$ɘû¥îœWˆˆˆˆ¨ 4*êöl¨Û£! "j›ç‡Öt`È@DDDDÔ § ¢ö{^h 2±qAD"«€ˆˆˆˆˆˆˆ=ˆˆˆˆˆˆˆÚ9‹Å‚?ÿùÏ$ ¢(BX­VX­VŸIEQ„$Ie6› ¡¡¡>å0d """"""jç{ì1„„„@UUèºMÓ ª****Œ[XšÍf˜ÍfX­V�À±cÇ|Êáp """"""" † DDDDDDD ˆˆˆˆˆˆˆ( 8'ùPUµÞCE¨ªzÅÏ1d """""""}ôÞ|óMèºEQ ë:AÀC=„ÿøÿhôs.ADDDDDDD>Ƈ¾}ûú¼Š)S¦\ñs ˆˆˆˆˆˆˆÈ‡$IHMM… Æk>ú(BBB®ø9† DDDDDDDäC×uôíÛãÆ�ôïß÷Þ{/4Mƒ®ë~Ž!€O€ ë:&OžŒ.]º`úôé .S'~$""""""¢™Ífüçþ'BCC¡išñðÜm¢.öd """""""‚�]ׇ¦ip: ò TU5†MÔíÕÀž DDDDDDDä.¨ªŠêêjTUUAUUŸ A€Óé„Åbñy`È@DDDDDDÔUU¡( ªªªPQQššhšA Š"$I2Oöd """""""’$áôéÓ8þ<ìv;A€Ùl†Åb$IFÈàùi2™àt:2‘¯Ë—/#''²,CEˆ¢«Õ «Õ AŒÞ ‚ aƒÅbADD„O9 ˆ¨A+W®„Ùl6ºBéºnœ\A€,Ë0™L‡ÅbÕj…Óé€z㲈ˆÚ#OwR§ÓiL’u³“$ ’$Ál6 DDíç/ýf³555—.]‚¢(PŘÁ{Ùæ>|8òóó›õ™º×õ•••xöÙg²¿ ˆ¨A‡£GFŸ>}|.5MƒÃáÀáÇáp8 ˲q!äsÂ""j¯TUÅåË—Qtö:PyÙ —"A$h�0›„Ú =@× �t÷s½öBSÓÝËz–jŸÜÐ24U‡.¸oW&Š€Í¦#ÔR…¸>Dõè�›ÍI’x@Q»¼'S´ÙlPU¡¡¡°Z­:t(dY† вëçÓ§OcúôéMn‡çΞët]סª*ŠŠŠðñÇlŸ2QÃ'YÆåË—a6›Ý'>A€ªªp8(((€¢(°Z­0™L>ã³<'-† DÔ^)Š‚ .`KÞYœstÁ°»ú sDÈ6+tA„ªš„Ú�It7ÚµÚ×T Ð4ÁXFÕôÚ†¿�Yt7ä%Ñ H‚nü~£Êp):D‚¦ÁUã@eù%üý‡_`ûág<ò@7„‡‡C–yÉIDí7dðüôôpÓ4 ²,Ãétâ믿Æ=÷ÜcÜ¥AÄ…¹ÍܬÐ: C‡ÓéDyyy@{žñŒOD òÜ–Æår‰§ªªøé§ŸpéÒ%Ãd2Ád2Ýc=c·0Q{¥ª*ªªª°ùï¥øîBGÌ|d:„A%è¡B€¨š*Àl$ÁÝØWuÝhÜ« ꀪ‚&@ÓI¯ D@�Iô„ -C—QÔÝå €%X¥CîêÒïæ8`Ï;‡´¤PtéÒ…=ˆ¨] š¦!ƒªªÆ¼UUUøá‡п˜Íf‚ÞìkiÏuzs¶Ç³MÕÕÕp8 ˆèÚóœhDI‚ ë¨ªªÂ…  «Õjôrð<¼C DÔUUUáØOåØž/ ññ~0YC I24ÐuwÏ�U Á݃@Ô¡i4Íýº®»jž‡î¾€ˆp÷ @Ò�Q¼±e(`‚�Ud€ C“%˜ƒ% L臛¾ÁèAå¸/"Â￲ÝlƒwÈà™‡AQH’dÌÏpöìYDöèá¾îöô v'��»ÝŽ÷ßÓ§Oo0hh.—Ë…¿üå/˜2eŠû\Û{Á³Mªª¢²²2à×î ˆ¨Až¡ªª f‹ÐuTVVÂáp!ƒÉd‚Ùl6z3x†M0` ¢öHÓ4TTT û«J ¢ ªL6Ti"4—�At PtÀ¥¸{ è’±v˜‚÷ðÔ6êuÝÝà÷Ì‹ ^CD÷±¶7Â*CÓ8E² H @€ªÕªˆK¢èÖÛ^À½ÿ¦Àb±p"H"j·Aƒw/—Ë—ËQ¡×^cWWW£òÒ%„††çJ¡v²œ¯¿þo¼ñJKK1mÚ4c’H£Q/Ëõ^óü¿”››‹½{÷böìÙ¸ûî»÷TUEuu5jjjŒkz† DtMY,˜Íf÷IÐ逦¹ÓN“ÉdžeL&{2Q»çt:a·Ûq¤XºvÀ¿høârî –ÐÙdÁ%EG\T§ è¢C’@Ô¡j€KTU�TÀ®ëp¨@&@Ñ@Ða³¨Ã$&0×>ndN—ˆ`Y‡E‚dÀ*ê(u8qÜ©—5 k')©‚ÝnøE,Q[ ê—ðLœî™ˆÑl6CÓ4\¾|‚ ½…/\¸€?ÿùÏØ·oŸQž¢(õ[Y–.á¹KÜùóç±jÕ*ÄÇÇã±ÇCÇŽát:Q]] MÓŒÛT2d ¢kÊÓ+A×uØíã$é¹HôܶÒ3/ƒ÷É’“?Q{äé{Q ":,`‘`•%8E³AlàuD %÷œŠ&@SEœàP» Ô¨�4À&I€IÄÚ‡E�d 7´Œ §û÷ÐÚBuDˆ"L&§$'ª]q±¼.— ²,Ãb±ð@!¢v0x žž Þs˜iš“ÉdÌ«PUU‡ÃK—.áþçpñâEŸ2/]ºTï[TVVÖ[¿Ëå‚¢(ÆïûöíñcǰdÉAQ”krg8† DÔ(Oh iA0&í’eÙèÁP·'C"j¯E,ËèØÃŠ2‹Œ¸ }Cm°ZMŠ&À¥¨QTØU 20Ép¿§º‡R¨àT‡âîQ ¨µC²˜%÷C˜¤Ú 7°ŒN.fI€Ù Xk'“Ôt ÕŠ†n5þnw¢cw‹H›L&(DÔî‚ÏC’$¨ªjô`ð„Óu'O×4 ¡¡¡X²d ¶lÙ‚ƒú ]c»\®ÿ_òž«á¾ûîäI“ ]×?*z¸3C"jçDç9ñxNDž‡g²GOÀà¹Í¥Ï2"¢vÄl6#,, ÷÷)Åö*'º†XÐ¥ƒ!& Q‚KÓáp¹í5.!:L’Q h€KÅÓƒ@‡³¶¯êîó©Ir?,þ5ÜA -ã²K€Yl&÷O‹$@ÓU(.‚EÝ].Œîá¾¼Ùlæ&ˆ¨]† žŸž?ÜyÏÑàùÝsÍí¹¦–$ áááHKKÑ#GðöÛoãܹsF¯ož!Í ‘‘‘˜5kúõëç3|ÃÓ{"Ðw‡cÈ@D† Þ';ÏP ›Íæ“|zÿ¬{‚bÐ@Dí-dèÒ¥ FE ﺘDt²Yd¡I\š�“ ¸\€äÒânàK¢»ïTÝ |‡X<ÏkïD!èY̲�³Ȳ{n„Y†à̲‹,À*&A‡ KP\ª‚H݉øˆÜrË-0›Íœø‘ˆÚ]ÀP÷z¸îu4€‡ {ÿánÈ!8p rssa2™êKív»Ïœ7ž`CE<úè£øõ¯íòz�Æú‰!5È;@ðNLƒƒƒQ]]Ÿ1\uDDíñ¼†»úGbfå9žíˆ¨ð0˜¬�D’ˆ.’ À$ 8X‡EDÁݰ7iîÞ¦Ú¡ .U€¨ü«qïnØfI¯í}à~íF–¡9XL,µå™E@Ò€ªj—JÊñ«Ž¥ˆ»=aaaìÅ@DíŽçšØÓ{Àsì <s0Áb±Àb±ø„ +—†��rIDATÞ×Ô‹Ó§Oot=M¬›œœ\/|ðÌ áíö̈®ùŲ§çBPPqòN§—/_†Åâgëénå}"%"j, úöí‹ËÊ`>õOütÜ„ž·uBph› AÖ!*îIeI‡(²h* «€¦�ˆ: è:d Ðj¯1Ùý9©v’F©ö³7´ U‡�¸oÑ©Îì—ìøåLn³ÇÐ(}ûö…ÅbiðöjDDí…÷Ü š¦ÁåráòåË0™L 5nï=<¹9ü½;„÷.<ó88Ž€Á ˆ¨Ñ å   c¼¼ça8þ<JKK›Íf|®nOöj ¢öDEtêÔ ƒ†ÙüŽýx?Þ‚sRØÅ ¨‚W턪Pfk‡)(š»×€ZÛ“À³œRÛ67z Ôþ”EwPq#˨qy•6½•2 Kq{tˆÎ;÷‚'"jO¡BÝ€AUU¸\.Øívœ={Ö˜w!$$ÄgØBs¯Ÿ›³¼§'…wdEQz‹a† DÔ ˆˆTTT ²²Ò˜¦î J”––Âjµ¢S§N¼³Q-›Í†þýû£S§_UR‚óç¿…Ó鄪xÝÇü’¿É…ç*€Zûhvúq ˨}.I’{^Šn]нûíèÚµ+l6ª««y@øçB¸p᪪ªŒðõüùó8þ|ƒËû«sçÎøá‡Z´}žëüž={^›aÆ < ˆÈ8²2ˆˆuÑUÛìf¦iÎ;‡sçÎñ '"jc¾ûî»Àüçy’ššÊZ%ºÉ•——7¹ ÏDDDDDÔÒö† �›6mbmÑU._¾ÌYxˆˆˆˆˆˆˆèª ©©© ˆˆˆˆˆˆˆèªÉC† ál"""""""ºj"«€ˆˆˆˆˆˆˆ!C""""""" † DDDDDDD ˆˆˆˆˆˆˆ( 2Q@0d """"""¢€`È@DDDDDDDÁˆˆˆˆˆˆˆ‚!C""""""" † DDDDDDD ˆˆˆˆˆˆˆ( 2Q@0d """"""¢€`È@DDDDDDDÁˆˆˆˆˆˆˆ‚!C""""""" † DDDDDDD ˆˆˆˆˆˆˆ( 2Q@0d """"""¢€`È@DDDDDDDÁˆˆˆˆˆˆˆ‚!C""""""" † DDDDDDD ˆˆˆˆˆˆˆ( 2Q@0d """"""¢€`È@DDDDDDDÁˆˆˆˆˆˆˆ‚!C""""""" † DDDDDDD ˆˆˆˆˆˆˆ( 2Q@0d """"""¢€`È@DDDDDDDÁˆˆˆˆˆˆˆ®ÚÉ“'2ÑÕ9yò$>øàȬ """""""j©'N`ÇŽHIIaO"""""""jK—.ìÉ@DDDDDDDÍwüøqäææÃÉ“'2QóüðÃصk—OÀÀ9ˆˆˆˆˆˆˆ¨Yê ………عs'çd """""""ÿ])`àœ DDDDDDDä—£Gâ£>j4`(,,dO"""""""º²ÂÂÂ&†;wBX¿~½Îê"""""""¢†”––âøñãxüñÇQXXxÅßÿ6‹csÃ7:Ä����IEND®B`‚����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/vignettes/biotap_initval.png����������������������������������������������������������������0000644�0001762�0000144�00000110405�12732246464�017351� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������‰PNG  ��� IHDR��¼��[���ûGy��®iCCPICC Profile��xíZgTM—®î‰0 9ÃsÎ ɃäF’ˆ$A2"É�ˆDEE0�&’"¢(ˆb�%©ˆb‰Ûàë~gÏw¾_»ÿÖ:§«Ÿ¹uëÞš®ê©;õ\�$NxQ©¡0� ,<:ÒÖDŸìäìBƽÀÀ¤¼|¢¨z66ˆÊ(‹#ˆ6R†e¶l=7—Þ7À³ ÔªtR0úþˆ#‡�@6ˆ€%à7öÝÂÞ¿qÜÞMFtò¶°O ÒU!X:’bk€à‡�à‰Û˜æÅöÞÆŒo·°—Wd��œß}²—W�‚¹H¿±÷–ß±>ˆ}.d X¦pß pD„øÀêøúEù� Z‡èøúFù„ †�Ö ‹@Ú%¶ž‰¸5é+\@xëÙ!w¤ìÑ@e±ñá_²°Ï�4¥À-ý/™Ädl‰�4sþK6o»ý<!¶ÇQþJŠÛæ "bófss^�\�ë…››«5››ëµ� Æ�è õ‰‰ŒÝÖè­Ðdþ8â@(5 v#`¬8àAˆû@82@.(�GA¨uàh- Ü] <�ƒàx&À;ð|?Á*A8ˆ1A$IA :¤Aæ-ä yBþP%@iPT•BÕÐY¨ jƒ:¡>hzM@³Ðwh†aÌóÀ"°,¬ï„Í`;Ø ö‡©ð~8 > ‡«áø*Ü÷ÃOáqø#¼�o¢hQ¬(2J ¥†ÒGY¢œQ~(**•…*AU¡. ÚQwQOPoPŸPËh4š͇–Fk Ñ´:€ÎAŸ@ŸA_Aw£‡Ðãè/è5 Ã…ǨaL0?L4æ¦S‹¹ŒéÁ c¦1óX–+ŒUÁa°Ø8l6¶ Û€½…}„ÀþÀ¡p¬81œÎç£âÒpÇpgq7pp“¸<Ï—ÃëãðÁø$|þ þ:þ~¿DC¤ Q¥1§ñ¤‰¡É¡©¢¹Jó€f‚f‘–H+H«AkMëG›@[D{޶“ö9í†ÀKP&˜|Å„Ba”0O$…‰ÚDb81“XM¼N&~¦ÃÒ‘é4é(tátYt5t7éžÓ}§'Ò‹ÑëÓ»ÓÇÑÓ_¢ï§Ï�3ð1h280D2ä340ô1¼%A$>’ɉK*&5“‘æiÅ}Ó«;Ç7˜x™v0¹2Å3•1µ3½dúÅÌɬÁìÌÏ\Æ|ƒy”y…—E‡eËA––;,ïXq¬¬æ¬a¬¬-¬ÏX—ظشÙ<ÙÒØêÙúÙ¾°3±«°;³'²×°÷²ä`àPæpæHä¨åèãøÌÉÌ©ÎéÁyˆó<ç ç"/—W0WW+×n,· 7…;»–û÷<7O(O Ï-ž÷¼ô¼j¼ž¼9¼—y_óaùäù\øñ5ò½àGñËð;ñ§ñ7ò¿$£ÉòdWr&ù2ù�­€š€À›³‚¬‚ú‚TÁ Á~Áe!!;¡ƒB—„^ …5…ƒ„ ÷ ÿ¡ˆ¤‰\™eÕ­C‰)‹ù‰»'¶,.)î*~Xü¶ø7 A {‰L‰v‰9I~I[ÉtÉ6ÉOR|R¶RR×¥¾H J;HçHwH/ÈHÈxÈËôɬË*ÉÉž’}*GÓ“Û'×(÷Vž[ÞV>[¾K~YA^!@¡Rá¹"ƒ¢©bŠb›âw%I%¥“JÏ””M•S•o*/ªÈ««œVWåRµW-P} †UÓWKRkWû©® ¦~^ý½††§F…Æ+MvMŠf‘æc-:-s­l­{;°; w¤íèÖ†´wj'kwhoèèè$éÜÖÙÐÕÕMÖíÜ vêíLÝyG£g¢—¥×¯OÔ·Ò/Ô6`3p2(7xc(`ègxÖpÎHÞ(Ú¨ÍhÍx§qºq¿ ½‰I©ÉS!Ó ÓK¦?wií:¸ëž½™½Y¹Ù”¹¤ù^ó6 `ajQ`ñÂ’lhÙl¹b¥o•gõÌšÏ:ÀºÙzÕÆÈæˆÍËÝ»Ãw·Û¢m­mËlßÙ)Ø%ØõQX(ž”‹”_öÆöEöãÒñ÷Y½›7œ,œÊœfÕ3œŸ¹»D»ô¸2»ú¸¶¸¡ÜìÜjÝÜ Ýº¿÷PóÈöxµGzOÒžAOAÏhÏ{^œ^¡^ÞLÞ~Þí>DOŸ+¾x_7ßf?ŒŸ‹ß%´¿³ÿ¥�t€K@S 6Ð-°%ˆ&hOе`º`ßà›!Ì!!!=¡Ü¡Q¡„ž…ˆg†ODhFG|¦šP«©«{ö6E"ý#»¢x¢â¢†£å¢s£gb bªbÖbc¯ícÞGÝ÷(N*.;nf¿ÑþÚx8Þ3¾ã�ßÄc ;ÊV]o$q'%$%k'ŸJÞLñLé>(t0ýàLê®Ô†4ú4jÚð!ÕC¥‡ÖÒ=Ó{2Ä2r3¾fR2Û²x³f½Ï¶ÈnÎaËIÈ™Ê5ÍmÌcÉ;7uØôð¥|öü¤üwG,\-à-H/øRèPØQ$^TX´Rì[<P¢VR}”p4æèÄ1³cW“ç_:á}âQ©fé™2¦²¤²OåŽåwN*œ¬¬ V쯘9eª§R¡²ªŠ¡*±j®ÚµúAfÍùZ®ÚœÚ•ºàºÑÓ§ož‘=SYOªO­_8ëwöÅ9³s7Ï˯i`mÈjX½qaú¢Ãź—/‰_ªhblÊlZkÞÛ<ÓâÞ2|y×åŽ+ªW.^¾Z~éZv+Ôº¿õ{[PÛd»Kû“ëæ×ïÜйÑzSþæù[·NÝæ¼]ÜAߑ݉îLî\éŠíúÞÖ=Ûãß3ugϱ»ÎwGzíz‡îYÝ{ØgÖwÿ¾ÉýÞ~£þ; t?ÔØ5 7ÐõHÿQ÷cƒÇ=ƒ†ƒ½C&C}OÌž<¶|j÷tä™Ó³Ñ‘©ç~Ïg_„½øþ2æåÊ«äQÔhÖýXñkÎ×§Þ¿9?®0Þ:¡3qwÒbrxÊejj:xúÇÛøwð»Ü÷ÌïOΈÌ\ú þ¡{Öbvä£çÇŸb>mÎå|fû\ýEúKÛWïƒßܾÍ~ùÿ82Ï3~AmáîO»Ÿ“‹‹KyËÜËçiüº¿â¼òa5n ¿Vº.±~}Ã|cl3üo,ð7ø üþÆc¿±ÀßXàï¹Àßs¿çÏþž ü=ø{.ðÿ÷\€êéµ  ö÷àG=�tÎ�0@@ýoÛó(¿£ €BH!xËÀ#<„(ÐEø†C  ¼ƒX!=(áÞ¢p|łڇšDÛ¡0v˜)ì~;®M#C³@ÛK¨&¦ÒùÓ›3(’ÈŒÌL´Ìh +Ž]ˆC•Ó‚+;—ç2ï(?ž¬!*X-4#¢$š(Ö/Á!é'Õ,½&k*W(ÿRQ@ÉG¹VeR[¢‘§Ù¥5¯-¬c«{xç}¬¶a¬Q½ñ Sì.3óƒ5–ÝV¯­wÓÛ ÙiP,í=¢ÓJ/¸Ürt›tÿ¾ö$y‘½|t|-ü\ýÃæ•W…ä‡F‡¹„G(Qö2GÒD¡¢6¢WcVc7âàýøxÆ\ B‰¢IädžöƒL©„4tÚæ¡•ôùŒ¹Ì™¬éì79¯rŸç==<’¿\\ø«8ù(t,ùøçRë²óåËZ§¨È©ZwõTÍJýi3õqg¯œûÚ yÁçbYcÿ¥õfé‡Ë)WÎ]¸¶ÐÆÞ®vÝñ†ïM¿[·ƒ;‚;CºÂ»£zâî¤ÜÍí-½×Ð×uÿUÿÂCº¶G¤ÇøÇƒóCÓO††;Ÿ6=«)|~èEÂËØW‘£Qc–¯Q¯O¾Ñ|36ž9¡617yn*xZazõíýw'ÞΨ}À|x0›úQåãûOÇç¬?3|ûÒùõæ·Ñró=?[—ÖŒ77‘ù‡�Ð#<”$ÐŽ àÄ Y"¼P `+¸^Gù£FÐ6è§O̶§ƒûŽ?GL«BÀƈ-t¹ôA $EFN&Ó:ó<ËgÖolK웜D.2·…w/_ ÿ5òA&!ká,‘^1”øN‰DÉV©yY¹SòOÑJÊÊ{T²U[Ô^¨¯iòiéí×®Ôy¨»¬'¨ojj˜oÔd<`òÎtÕŒdN¶µÔ´2´¶´qÞíi`N‰¶?àâ˜å”ï\âRîZíVï~ÉãÊžvÏn¯ÞÃ>£¾S~þZ%‡„8†‡i„+DHP…ö’#ù£ÈÑÂ1’±òûTâÔ÷+Ç+KNKLæOá>È–JJ#§£Ò73V3—²–rs©yïòmÜ..J)>ÊÌûøÉ¥Kå<'wT8!+!»êJõJ­i]Ñéñz±³¡ç.œŸ» yÑ·±ìÒP3ºEýrЕWû[qmF퇮÷ÞDÝÒ¾} ãZç\·`åNúÝ˽“}„ûJýBîH{”õ8w0{(ýIòpüÓègÔ‘Ðçá/"_ƽJÍËxô&f<lÂÒcÊiz÷[ów¦ïgŒ>Ïš~´ød3gþYõ Ç—/_»¾~÷û±s^xã§Ø¢ÓÒ•_”U—õ•íùÇ2û@h‚ÝÛxaÇæPY1PôY;àD¸E@íAµ¢YщèÌÖ; Ãmâ hDhnÑ:Ò.Šˆ*ÄQºCô ôÓ ÇH–ŒXƦC̦,t,#¬lÁìúkœ¯¹np—ñìçuäSçgçŸ' \ÌòV¡™mËw—“$I.H=—n“9!»OŽ"¯¨@¯0«Ø¥t\9LEO•Eõ½Z«z–†‹¦„æ’Vھ: º°îÐÎ*=ª¾ž£Á¤a³QŠñn“¦]»Ž˜¹šs™?·8jioÅi5f]cº[Ãc;lWC‰²7ràp˜sìp*vpÑvåpýá6à~Æ#e›§º“לwŸOo²Ÿ›¿z�sÀ·À‡AuÁûC,BC—Âˆ *P÷¶EÆFÉDMFÇèÆ|‰­ßw0.`¿uüŽÒ <‰¤$šdTòFÊêÁ_©ËiˇÓd,gqf[æ¤æÞÈûž/vħ ²p´˜»ÄõhűÉb¥áeWËU(œrß^K㵸:…ÓgŠêïC7jÈ¿ðºQáÒá¦-Æ—Ï^%\‹no߬$[mš·» {ݵïè ëgxÐ>`ûèÃ`ê™áÏ:Ÿß{E;vx<yjqÆú3Ç"jkþóé[{V€É�8Ž@‘ €áÍ�`§ÀÁ �­Lhú9€øÚþ{ÿCØé›Û¬Žì=ƒ¦À9p'¼„’G… Î ¦Ðühwt9zÃqÁ”c^cù±ÞØ:ìœ .׆ÛÀ›âóñOi¸h¼i=E—6—öAŒ°ÐGä&FïÒñÐÅÒ ÑËÑçÓc°ch#ñ“²H Œ^ŒCL:L ¿™Ã¼ÁÉò‘Õuá.ÇÙ}Ø?qÄrœE\¢\7¹í¹¿óäóÊòñÅðóðß!‡ ðÜŒ’z+\.âˆp…ƒbEâ\ã’g¥öJëÊ0ȬÉþ”û.?«0¥øZiDy@¥[õºZ³úYJÍZGvdj§ê$ëfí,×kÐï4xa¸hÌl"oJÙoVm~ßâ§•€µµMÊîÛ'vÝ” {Kv‡Ç6§\go=Wq7wŒû¦Ç¦'ÁKÐ[Ç'À·Ä¯?€6Ð"¨0¸=d4t%œ'b'ÕoAäí¨…ñØ=û*ã&ãÅD$ÜN"&»§´§2¦EZÎÈÈbήÎÕÈÌ÷9²RXX,\ÒzÌôøÓR²™“K•%Õµ|usg:ÏVŸÏº°·Ñ¥É´Eé ßÕÍÖéö®'oóv™Þ±¹'ÿëÃã%†.<©~)0ZûfפÒ[ÕÌs×¾²~W›g]¸±(·”¸|ñWýJÙªÝÝÚÙu±õ3"]›žÛ¿&HFÂ+ˆ²‡  û0k‘ðyø-Âý»£ÊQ¯ÐÜh7tz#Œ À4`¾cÕ°‰ØGÁUàfðJãÞGÃHãNsáÕhÒ¾'hò ÓDMb ñ 9Ýyz}8ýS† §IŒ¤dÒ7FÆçL»˜®3Ë2ŸFØì¬l¬ÇØ8Ù*Ø…Ù›8t9†8ý87¸Ê¸5¸Gy’y…yñÅó‹#¼r®€žÀ¢`“P¨°¸ð‘ÑP1%±uñ^‰#’RRR›ÒC27d/Ë5Ë_T¨W¬SªR.S)R=¬–©~Pã€f¬uGˆvN.ugŠ^¾~•ÁUÃA£9¬©Ø. ³HóR‹ËoÖ|6Ö»Ólí.R’í)ÒŽÇNýÎÍ.•®Ån9î¹…{*=¯y {/û ûÙùçôa‚BLBÃÓ#Š©÷ÞüÍ£뽯8®wÿƵ„ØÄ«I‹):3S‘Ò­2 2³I9¹5yŸóÕŽdL©—”,s9Þ]*Svê$sÅáJƪÆû:Ôéöú}çô.¼mlm*j ¼¢¡u²½ñFÌ-›Ý.åù»÷Dî ={,>$>,öLì¹èK±Qá×Rãn“oÅß7Ïš~ø¢ö-éGÁBÄ"y©vycEvuÇšÚ:n}`£{þ-@²Wd@o`8 C)£òQŸÐfèó"&ó«Ž=…Ãà"p/‘÷¼yË3iæi}iG–„;D]âm:º;ô–ô¯BH€t‚Q…q„)œÇ\ÇbÄ2ËZĦÃö™½šÃ•“ƒs”«†;ŒGÉ!xÏ×Í_MNÜ-¤#,-Â'Ê,F§‘ÀKÒJ‘¤ydddä²äÛf”8•MT¢TëÔžj`45´BwÔiëòîtÑ+ÑbÈbäj\e2»KÃ,Ç|ÔRÉ*×úÃî]¶g),öYާdàšï.èÑíã­æKò[ X Z 9&~‘*¿÷r”zt[¬Ò¾–ýrñd/&Ë¥ÜJ5NkO‡2,3K³&sdsSòçs *¸^„+v,©?ºtÜôÄñÒ™r“y“•ºU—k¤këO‹œ©;+~®©AñBk£Ò¥f$N¬¸ÂxõÀµé6³ö‹7ho†ÞèîÌéúØcz§æîú=J_C?x@yxn`ý±åàÉ¡OÃOsž<{ÿòþ(×Xàëú7¯'ø&ƒ¦Zßbß9¿¯ž™žåÿh÷)i®æó•/í_›¿úžõÃc^nþëÂéŸN?-–-)/ÝZ6^~üKç×…®•ì•ÉUÕÕÜÕ‰5•µÄµ+kŸÖ×× ×ûÖ77Ô6¨ç6¦6¹7)›‡7{·æÿwÖÖþh "B#"ɆÛÿ練Ð$Ïk»0!51<Ôj+·‹ ¹>øzš#wäÚ †nçÁ!:—_¸½"ÛÂÒáÞVÖÿ`ÿHc[#}!j´þæ@°?5Ú†ò<)>ÐÀ ÁDD^âeôÇNU°—’ƒ†DË�j‰Œ±µG°0‚;£bí¶òèH~HqüGgÁ×Ïð9 ûïú­3EïÚòÅ‚üù ‰0ßâ Væ ø!1x$R‡#9aÀ�þSË�à…´Ä"mQ ¼GpÒ#é`ò?zÿ&1Þî€ôûŸÉH~YâíÏßÞȈÏ?6ƒ€/‚ÿȽ[m[£‹Ú”ú/Ÿ4¶ìmF¾A~V~íϘТhE´ Z­ÖAk�2š ÍdÐÊhu´Z­…´i�cð±ðgŒ[öÃZücODì×tDZ·¾»÷ŸVà°­ôߟÿm èÑ\ëÜŸ ù“Û9È“XdžN"y~�ÜI¸´uû%Ú/n+WDP÷GF“õ¬I?iò®pYi²¢¼‚<ø/ eê\ƒÚ}��� pHYs�� �� �šœ�� �IDATxìÝ€ÕýÀñß^çéU¬Ø{‰Æ ÿM° ¢I°ÄnÔ4¶¨1ÄX±w¢!6ÄXÐ`Á† Šôã(×ûþ¿Ù›eYvïn¹Ûö=vwæÍ›÷>ogç·oÞÌúD¤@ÿ²› ›žëƒøBþìµ;Ù|›ÜÇÐç¡óœDaéÜy<"€� €� .àŸ¡¯Ýyî£%qŸ»îjöÚý³yµúW™¥ÿäè_·?þñ»tÐA‡õíÛ÷œœœ!: @�@�¤¨©©Y²fÍš×uzÙzdL:u¯£>ú’ìììÝëêꤱ±1)+F¡@�@�0ŒŒ ÑØVêëë?°ÞÎ{ï½÷a~¿÷ªª*„@�@�HzëÀÕ`W233ww†4tíÚõëÙeB�@�@ •,ðµ€7C{wë_ÔºÙ2‹u,„”­]+ßÍù¬ÿâ ©¯®vÖÉÌÉ“îÛ‘!‡"{ö”ÜÜ\ÉÊÊŸ/Ò5lÍXžnä]^^.K–,‘ÒÒâÃÖíÒ¥‹ :T ü¬kº¥<Ýr–”Ë›ßÌ‘E«¿ê†*Í·Qr³òeÛ^ÛÉ£•]zµªœQQX€� €� ‘îöî»ï~Ð\i­÷׆;,ûï»òÕ#3¥sçéÙ§ŸtØ_|:Üwã²åR¼z•Xà:ú”SdÀÞã¥S§Nθ‰hù644ˆå»lÙ2'ص ¶ °@òu=j¥ª²Ró«pò´ wÀ€N~Ú--K'?+çü%ÿ•Ç?zH Š ¥WßÞÒ»[©ol5ëVÊÚÕÅRYZ-'=Uöºw‹åŒº1 €€‡õ²ì«…RQ0LFèâa¾dÕ~5òÕ»oË×k+¥ë€dï±C$ú§sû•‚œ@�Ö8=¼-]¤f=»ËÞyG¾¹ÿ2¤Sl×£—Œ8ìÇÒëgG‹hàZüìóòÍK/Ëç•ÕšæA Xý2hŸ}lÌDÔ2ÔÖÖÊÊ•+eÅŠÒ§OéÝ»·ôêÝSŠŠŠœûmذQÖKñš5NëÝíׯŸÓ+-S+çüoÿ+þï>é< ³ ÚGy„4êp©¬)—W¾xNÞúþuY±t­<òÁý"¬ï9rßfËm[ÌG ^k?{In¹qšÌý&P‚ýϺI®›¸¯äzP èyWÊ[»Ynû+9÷ Ál)<‹yç—çÈ­¿¹Oþ{Ò˜ð…-¿®ù^øýƒ2dòïä Áù-§1Eͪweú=s¥F¿;Sn»ï¡rÀnÃ=q±81$o¿vûø åÜ{?”q“÷˪åßw »¯åÖL k?–¿Þü¬ìÔNíØÖ²Õ”­’/?ûD¾÷š¼²a?™~ÍQâý»¬­¥c=h@«^ưô‘Çe´/Cv)¯—~%eÒù«o$ë÷4hl”‘íÖ•I·ò:Y•!K4m·Ñ£%O{e£MR¬­±=u„õghþ[·³OŸu-’Üœ\ÉËë䤵!vµ]´iíÆbyvÁL)ìŸ/=†åIAçLY߸J­ûTªë+¥4£D:åH¯ì|ÉÔ–vxïÑ2 o`´,™@B 4¬}O~zÖ4‘C¦ÈýSLjϞ• _)‘ZÝ£ïV…ùvÞ+²¸ó®rèÎ}#Ö©¥¼ËÞ{EÞëyªœ­Ûò~òKÁžú´ S+î¡.úÅû£·^‘>çý®ëÇ^ú†òuòØ+ÏÊèŸþRë·^þrÏ?åÙÇþ)ÇL}L.>p›Ø3l—5"¸èvÚ§ÝÊdÉ›Êø«Ÿ“ž:F2¤N;'Öë»l릚õ‹å1mÇ!g_Ø.í¸eé"›…§ûîåKäÜÛš¾aîy S¶öØ Â·ËkðNÀÞL^ÐÜ´êÍyÒ]‡ìY!Ò¯²J:—¯Ò¡ ŠlØà¼y_~#¹ßKN]ƒäägÉÆŒ:qÖ9鄨ٖ””H÷îÝÞ]7ˆ­¯oêªg‹kS^^ž“ÆžÛ:;w¶§§w¿ž+™9™2pÇ"É/Ì•Œ\¿¬‘¥òIy­i¨—ÒìbÉ-Ê’ù]¥ SžüP²Alc{ž1?f"hUë×9EºïgÊØœjÉØî÷²è”RT*=&Z‰ëä‹Ë®—?]ü ¼Cäý½ù¼såÄÉ©µeÕºÊ-6Ò _T3sì–ÞÉ>Sš;Ãã¦ÛôØ ú%ÔïoГF‘Ë·)m„ºäŽ–‡-’š «e}UKëoÊ©µÏ³×#œ|Æoåøäü‰ÇË©ã)Ÿ/^)µûõMSù\´ÿ¹¹vkmý·H×P,óÙ¯U:gê¶XÞÆ z=ˆM>½˜£å÷A7²Ùj‘Ì6Kà¼óó‡dþé]eÕ3¿‘£ñ‹Oߣ޿˶Ü.s@À; ÍÊgCšûËÿò+Ù©Á'ýk¥‹~îû4°•Öˆ¼ÿ‰È EV•8P]´W¶¿~íµ´ù_.j6O¿kÁ«]ÜfÃÜ ÒÜrØÅiî|Kcimwy¤ÇåÕßKÿ1=u|qwéÖ½›öJvaƒTfKUö:éT˜!ݺv‘ݺJÏÞÝ¥¯¦µu"åżæßøÄÇGôˤM¿ó±l,+“õ%«eùÊN¯Ó&¿‘¯8@8Àþ&Ês;ïïofÿEþd+Þ2U&ê²;ç|·Åû¾ù¼Ëäé‹N”‹û$°^õ7rçÄ+ä¹wçÉŒ)ÈÁ‡êéý+ž•Å2û}}ðÁºý©2oYEÓv*äõ[¦l¶Ýe¯ß)o™#Îç»úç~Õ­”'¦Niª‡ÖåŠòYq`ÿX—ÊOäŠÃ—G>- ÖkÝ—¯ËTÇ!àqçì¥ÚÍß)ÿyâÝwe¦ë5E·±.ÚgŒN§Š +´'s•,¯ï.;ëëEÚ«YÓ¨u»sŠÜòÜ<™}çDÇý³ {TËdzglªƒz¼þåº`ù¾›s§L¹sŽ|öîÌ`š+f¼.ëÜ2j¾<q˦e3ßm²Ò¼›Ê?sÎl¹Å©ãº­HmÖnšwñg³eŠë¢uþrã¦:/ûà¹MË4ÍìoÜö }¿WÈœN“×µþ¯þñj-ßy}Yu+ë;[>~ýA§Ng~´p?Ot†1ošßR;¹¯Ï‘;ƒuºS>.¶ò4JõÊy2eâòÓV{N”[šÞÿßKAÿMu®®ÕΘuk¤´¶TK§Áx„4nxÜ䆉ôpzx­@ÍM]V­•~tvÓœ\—›kú—­«k`*ݵ×Õzdµ—§s•yÐ ÄÖ¯ h£åk­õÞZ/ýÙk÷ÏÖ±»8Øk÷î–Ö^7WÖêÜJé·M‘tÓà8';Sr2õ†Ã„gé£s§‰Æ©ÓºÚéßÚÜ:©Û&CVo  £•“ù$’@Þà½ä—Z ¿\tŠÌ=þ9ÿç?–¡=ÜžÕÕrßOÏ™?¹V^zû Y3ç.™ø›K¥ÿS3dìþäÄŸ—yº\wÄ0É)ê¹Å¾Ô|Þ>©]ý‘|UX¯!Cª¿-¾ôm™pÍ ™uîwrͤëå¤#ÿ*#O¸VfÍê-œ4Y®|åyõ—Úú ä“êÀÀLj—Ê⯆Ø7nNï~îÞ¢·„‘¬Ñä©‹o‘¢ò…rýñ¿•ûvß_núé©.òƒ,]¼X†ehO±íßK_•cϾ^ÆMºY^:eœTö‚?ù7òmùt¹å¸‘ºu+ÿùë¥ ä ‹îÐò×ʽ¿øÜ÷ºnãg#¬x›M~ë~Ö)'3×ɿ䣹2C_ÿhüöÒ©Q?§Ö-žÔ¿®ÞMúæ6ÊWOþA~s×Ûò뻟’ ÛçÉûÜ*¿;ûX¹âåGƒt—Ä žœ*“Ÿ<Jn~`–týþ5™tíµRYôW-ãùúéë墻jåŽç^•êÊåjð·¾3eÊþ}tËòß3uœuýÝòð°~Ò«sY„6®Û¬ÝÌeÂäå´›gÉ_Çu’g~÷39ûšÞòâ-?‘N KåŸýY²/ž!o;\Ö.Z* ½õµºošòeüI‹Ì¹EäèåáSv’¢L­ï5­¨ïZg­ïŒ‡eÔÐþ[¼µé“ÞU'ðYßR;59\»@μ^߇ý6ʽ'¿™ÐYõRX±^,^*zuu o{.Ö÷q ÿˆï¥`!6ÕXkœÝÀÛÀøb²˜§ øðf´tê(GÇ׿fjÒB½b#_‡êèó¦G BÅnOVV®ÝzªS‡<äéݲs²š=%åöÞ†>Z@k¯m²;÷Öeöè¦k®¬¹ùÎP…Î:æ7WÇçi Ý)#[mtc£T5ÔK¥þÕh@^«óªò¥,·¾Ùr:…áD ÁßS.üô Ùa†OwÞ&g>u›œtÙ=rúÁC¥jɇ2SË9é ‘RûC±t³§Œ’Çå»Õe—íÉŽãD¾ë;L $µUR©½V¡SsyÛ`›Šô‚TgÔGá$“îzYÎ_$åÕEba¤Ò]òäùã;¬Œû‘È _,“ ;èÅLaë[ZýÓoÎN~v‚Øy­Ž“Þp9íŒí¥jÃz)í2Tv%2/'ÛY–Y¡.•Ü4qÒ|óÑ¿5ïåºÉJᆠ)Úíd™uÑ\9éÖÉwðÌ”ÿÄiÏÊÕGô—²šZ9P}Ê lÃ)ZÈ? MïÔk~'|û‘,±eG_!—Ú_j7n:ýø“o–ùWýH*ª¤jÝByFƒÝqÍ’Ówë+«åÀÉˉ3^“´LÜf˜~"™àiòò§KŠriØé ™öÖ ¹ò½odãÙºþ<ÝÆTèß ¤› ÖÔOèYµ3÷9XƒÓ@ùOSÿóöì&UÚÙP]×-j»ípù‘ì7"G~Ðó1?=Q䪷ä»ò#dT–ϹOåûŸ"_íÞ_¶3FüUeRY×d«ÛL ÒyÛq¢—,K娱2|Ð�©+](kU}$Í»A¶ÍªšêÊ-߃MÎ~ýŒvÞMõŒÚNMËýÐ<9cL–TÖgÊ•L’W'ÎoVž(;e.å̲!Î[pó÷aÄ÷RØ~áÖÚâ5 ·äº”ç ÈNÀÛ\¯©>käP©ùî‘^½Dºjo® Ðñ¢7Ê ÔM/@“zªgãFý+=™$9lñí=Âzumœ®Ⱥ=½–ÆíÙuƒ[§wVÓZšæÊÚ¿k?=ÕW.Yz¡›ƒ(ÌÊÖ¿\é”™ãL«êk$Gÿ*ô6k:âÑ_]!ýŠtHßèC ËsE@OÉ®\‘#Lœ*û2ý²“åÞ?-½?#‡émýlš¡½¿Öû˜FÉÉÙRWµÑ ¯¤¡\ïwm§e#LÍä}äPÝ÷l=â;û‹ãùeE±Žå¯+uòЫPËW¬û[žMѾ<ÉÖýËþsÂ& ÜýÍï·kú=m!ù—~*wM»Iî{MCËaÃD‹Ü´nc¤º4JNÏ`µTëÇ-™:ÜÊÂJûR^“Û[Ÿ”JmC 4Vþ=†æÉò56.ºÆIWR>œu¾M'œpš>ò×Ò­ÿH¥ÇëÙ¯ݦ-7jÙ°bM ´×À«V罿nµ¬^_d«Jõª,Ùþ`Ñ[&~/G Ñ/ôZ‚QƒÄ¯wª)q²×;Ñl«‘ýü|Én¬//\%ǽà¬îü3*#'Ð#®õµò÷UÿUk×7%Ôaó6¶ºêä´›¹XÛ gûjÓ:ö5e¬t²ÐìarÁÌ©R|òU2iö_Evþ¹Ü~É)²mð BÓ*úPµ®ÔÙ~ye©~ôkž5zÁ±Îo±¾ã—¾5Z_+|„ÉÚϦ@;êó¦zFm§¦åyuÔÁg:å."\QZ);ä[~…!=¼›Ïohî½ädùŸÀÛ ð”4r:æ"€@â ´*àÍÝi{Y³r¥ŒêÑ]‡/è‡w·nú¨v€µ^ xµWUï¦Ã²¥X/¬ÉÜq{½P,úG‚]¨f÷̵۹A¯ûhLvP´@×ý³´¶Ž{°ŒD9´h[»õ¶äú³œ ·0+G 3;ið8嫃'ôÀ¤åÕÓõ:²bMµŒí¾{³yFÚóˆ¯@µ¬]µ\2rÈ97M—{<G{ë6èY‹@qÙcïÉ)Û¹7MòK¥ÞºD{-*۠ׄ6·iX1ïÆÁº¿ëúz¨¬¯†M z¿ìÆnºï^JYu3¾Ñf8³¬ÇU÷e —-XðëP£Àöõv†+_Ó/Ïãœ×NXfË›òïs5Øý…<ÿÁó24Ç/³ÏÜIž ®ë$ܼ.öyaÒÇÆÆNÒ£—v×ÎüBV5î!=m¾Nµ5«õßÞzÖÇÒ8©µ7VǨiùmmû¿)²ô¡“ðŽÚyW=PÏ^ÕUÉÒånÔÖT·ª òÁ­è0kq=4ØÒ2¦5ò…VyÔ#$_çmpŠP/õ€nàX-_/\¤…Ð!Më:óïòÔoõöM“¿A/[Q¢¦Måwýå:lÞÆºmg¶Õ9G]´£BNÙŸþ^ºëhˆ¾~ÅJ)¯×ú 8TþþéOdíç¯Ée?¿P¦<=FfŸ¡–áS`óÎ\§~­­ï†:©¨Ñ‘ðüš^©œvÔ²»õŒÖNM˳´ÇÞu.[¹\s%Ûë­)W[þš¬)¹@úõTåÚòéûú¶ÛÏMÉ,Ját¶½? Ô¶å¶jôÔ,A�Dp^·'5ZÁ2Æî, _~-ËôzöЀW?Ô»ègAÓA5[?¾´÷Ut¬ìr;57tdŒÝ)pJ*J¦úsÆz“‡ R©ØnÐk=»îäo°˜2½8Çî±kéš+ëÈ®;È’Ê¥äûré>º@r|9’«="Ùúh‡ß=Ðåút8ƒ~T­]R"ù¹dDÑÚûÕüõín™xD Þ+ÿ÷²|P6PÆ,]sÖÉGóf;EÚyDÉÕ 1Ï?ËŸ~~­tºó$Ó'G6¬^.5݆ʮ™’¯œ‹î|Yíy¢ ÔáIº;o65—wƒýZ¡¥Öý1pª9pBׯ¶:¯õ4p`yÓ©h ¢j3´GUïØ {]íí¼\ð±|?rŒ|ÿ/½cÄšßAõ7 i¼îdq™Þ`éËò¥såR R¤ÿײqïν^·¨‹ˆ’=ƒÓw·ë SåÙWÆÊ û”ªÞ‘n/rÆ=2HÇùV4¶–?8¤Â-¿mÓÔ =Ú6U•ê] Ö7}î»uoŽaó3ÉO'’³o™&¯ ¸JöêŸ#_¿ý¬ÌÒE—îØÛ1ið[ƒüIî{¥H&ì3R*¿.7¼)rÔ c¥ £·œ|éArÊgÊŸzÞ.?Ùµ¿vܖȲ5"Ûn?Àn­ãl}Sù—ÚØ-›¹ÖÉà}޹ãr9ÿªþrÙ ûHQf•¬ø¾Xzn;Zº6¬”ÿ¼6_†ÝNúwé);j–ïçvŽü™ÞÞ­ª¯•Ñmï@yÃÿuyûÜø> o'u°ó7<ü¢ô?õGÒGVèPÚu© Ê­‘ÆÎýœM¼ûÉçÒgx½<~î•ò²Î9(än [¼—Âö Ë Voy¹QÉWØÉ�Y'KW­’Âýa£®öe‰ ’A Uo™~øt;ä`Yþá’›—+½l ¯»Ö£kAª»Õ±±kµv…Þš(kÏ=¤D?ˆÜoÜ‘ l™]ˆ¶Q‡Aäè:öKkö!ôÚk ˆ-0¶´v—›mòë8¾=û- Š_õ…R0PÇژæïâ:,L‹é—u?”KYq¥ìÛ÷§R[¸B9ZžÌG ‘2ª–ËŒ[î ² 2ù–Gåàžõ²®"W&Í}Br¯9A®ùõ¿‚Åžr÷càfË®'\%òÒT™ò‹'åW7?,ÇŒ´PaÓÔlÞ•M=¨n   ~ ˆvº“ŒLÑó?ÎŒÀ—ÒFéäÄ…zý,hÐÔ{7YdÊmr®E‡O‘«&¿-Sß×Þ2gùæùowøu2ræ5rþ©O놓ä’ÉGÉMwO“+ºÞ*·;r˺ µ-èð+ý8²ígos¤<sG¹ûÛËäé;¬`qƒÜwÆhÙ¸F#ïðòëg„}´­À*Á}ÚƒiS¶?3B�a݆R}Út¹¡æR¹|ÊéÁ|¦ÜñŒ3D/–-µÏ2ë!>H|ÿ»L~ÑTƃ&ß%—î×]Ö­-•¾ÇüAføïIš"¸9z±ÌÚ¶ŸämQ~K±¥ËÈÜ;ˆTí'sºN®8õ™ô\ÓFåùË#¤P‡5|~Ë5»yXv#'ÈŒ“¬ãÂbs6Mz/óþújC~“G+ꛑÕËùÂhïMY…>s{ÒÝvl±ÔÁ 9ÿsüZÿœiä/äћѭÖÞû1rÄ‘rù-—Êsºðÿ®»E¦¼x±ÌÓÆ¼O#™m¾_Xž«?|X&ߦÝóÎ4_~sºÕC'É£·Ø~Ó@ q¬KõÈgžyæ¥æŠhÁ©ýèC'ýÕ³œÏ¾^:¦®{Qí!ÍÓÕ|ú+fÕ²NÇq­]òÔè´*ýÕ4'hC¢MnÀk?4aëñ-Ð@ÚnAf“ïuƒ] ‚-(®Öqx-åiåÜ(Ųpã¿õ'…ó¥{.›k9uåUÕz/ßR½‹Z¥ìÔí0½ ¤W‹åŒV~æ#‚^¤WV­¬¯¬pnŒRн—dV–è{º,ØdJ¿¾z¿¦TjêuhO—|©Y»LÖèÆäté-ý5*,Õa ™õë¥Xƒ®Ð©ù¼³¤·^œ”WS"KW—ilÕYêÌ[2 eÀ žâ«\«w,´@.KzêÏú*d™^@gçPò»÷“¹Ú»ªÛï’Ÿ¡cés$?»Z–-]£Ë7Ï?§s/_ï“2µºtÖáOµ>©«©Ô^i½ÇwqÙ–u)ÏÓ‹ñzHuS]­^Ýûê—sŸ”Ú³ t<•¬Z¹6Ðó^þ°íÛú¡SFA/ÔKï:[¢–eág„6/û¦õr¤gÿ¾’]¯ã‡õó,· ‹øõ¶m«ÖÈâÿN“Io%óþvŒdUh{éõ™Õz_ÛõŽ—õé+EµÚf*”«?½®Ë—-SÏ-ÊØê–mìß¼Ý4Yn—^Ò§{ž”—Vèçm®^‡œ)%K—I™ö•ZÚ0ÝœºÛ‚²Aïh°ÅäË—m÷_ÅZYVlímSóõuÞ_ùµ²ì{kïÈSVao=‹˜/•n;nQÏ0ëúU2í„så°§õn!ƒô½­´ú~Ù°b¹”9oïl}ö—l½H³Aï°‘­?@ÔÐIïâã¾­Ô-ìVR§ìcS°äþ*­Ëê¨u ¦ã $„€¼?yê©§B.‹Ø²\n¯ª“ÝôŽ 5},¹z7†|핵Þ ÆP«=°¹:ôa½öòºÅ„öÖ†çêæi¿°fÁ¬õ⺭¥uaÆ`Ïm ¯M­ÉÓÊYе@>× W66|'™Y5ï긻<éš=X¶ïµ»Tl¬hU9ò‰$ wLÉÑ!Dvr¥¡¶Fô¤ÅS¦^°™¡g7êëôâÌÐ¥ºn¶~Ýb¾›¦y»IÛòèÓüõ*z¶&ZÈ’«O˪1†›ÖïƒïµS/0µTKåËÔ<tƒþz©‹Õ”U{>dê—ø m¬ÆÐ²ëWͽLλãyø©C¤P¯OÈб»uúã;[LN=õÖgúã9õÁÊo‘jӌָhGE¶âúu›öƒ?¡S ¼›ÜC—µæy´ú¶fݘÓÔ®’Ëþï<9äöGäAzßu}¿Dzo[™|zv"ª_«Ìb.+ €@ XÀ{ôO<ñ|Ke²Yë]µƒŽõÆÚ{n“ 5(//w†'¸?Ñ\O¬»-7èµ^] |suˆ„݉Á&;Ýdãv-Ðuu­¹`×ͳ=ÊéæÍ# à•@vÃYTœ#Cúæ;—Òz•oZå£Ã0Ö.^¡×lèu#úÃHL €@4 xöØc=-Aè| PÝ 3< µ@Ó¦Ð4¡ë6÷<t77]Ö\¡ËB×ñ²œ¡Ûà9 °5Yùú#9y ²n]™Žqfj“€/Wºõ,”½3PeœzðÛTnVB�°AInpÙš­»iþ#¯á¦‰¼4ò\w÷14U¤y¡Ë#=w×ñºœ‘¶Å<@ V:ý°5á¼±®JzWÀ¯×èí%™@�–,àõioKéXŽ� €� €@R ؆ %%%O$eé)4 €� €�-Ø}Ã,èeB�@�@ %,àµ?&@�@�RR€Þ”lV*…� €� à ðº<"€� €�¤¤�CR²Y© €� €€+@¯+Á# €� €@J ð¦d³R)@�@�W€€×•à@�@ %xS²Y© €� €€+`/ €� €�)+@oÊ6-C�@�0^Þ €� €�)-À†”n^*‡� €� ¥>@�ö¨­­•·ÞzK-Z$¥¥¥âó%ÿÇ͆ äƒù»¸›Ô»˜ß¬O†vüúVpN1ê{"3SDúØ«W'Ùkïþrê/ÇHn®ž˜@�oøDñÆ‘\@ LÀ‚݇zHúôÈf(2�� �IDATé#§všôèÑCl¦`ì_Ðô:Áæûí·Ò}›Qa…åe¬~ 4l£>4úýR_× «W•É£-_1G¼ïP‚ÞXQI�QèáJÃØ7Þxà r'L˜ M] ã„vòº=¾ðl9iœïol”µn®[j-¿S·ÐÊÙ2æ„6wð7µ«=8’ú¤^Ÿdw/”ÏÝ[.»ì¹û¯ŸÊíâóˆ�l•�=¼[ÅÇÊ I QƒÂO?ýT&Nœè,¶×69½¹&ñTߨ •5 ÁcruCÃ]æˆ"9Ø<{8ö\»yM´Aß'5u"NØIž»ý ùí;oú²ç  »�oìf¬�-4448úuë&öÜíᵞ½à†°<Ü`Ñ‚ Ð)Ñæ[pV¡AY`JôÒ&šž[ž&=}?¸Áoƒ½:°·F»z{öí*•þÌÍÞ;®8 €@[ÒÐ5ÖA�fªªª‚Ë-ȵ^7ÐuOgúC5`Ôè¥_rÆúî±Ç›ÖsúÿlqXãü—_~Yúôí#»ŒÝüô¸;†4Öü­.5õá®[ìèóßùÏ‹²¡¤X+ä“.EÝdøv;KßCÜã疰éer¦·R;ï}bcyëõ½RU/RÓ˜!߬󉽲³³#W™¹ €@ ôðÆ€ERh€õêvêÔÉ tÝ�×Ý 7KS¦7ß|³ì³Ï>²ÛnMw?ÙŒ˜†Ìrž¶vþ¬Y³d÷Ýw—wÚ9<‹˜òqW¶€·¶¡©ìîL}´9›‡æ…îü™»IjkªeÀ°ÑòÍÂÿÉêåßË™)ã9:$—–óÙ,±¾póoùkW-×a Ò§ÿ ðì·j»n™íÑzx-ØmÔëÕµZ{x32T² ËéáÝbÃÌ@�Ú @ÀÛ4VA�–òòòœ€ÅÒ`ÃÜà×C vÂ'wyøü­y}ß}÷9«{•·åã^³æ^sçÜcK·âá‘æ[`·Ë~?–S/ú£&ôÉ5”—fý]v=øhëô Lv¯.šËÇ–wTú»¯›"ý_^rƒmÖ»íj^ÖþÎ{@ÿ±»4Øû"Q­+7ê‚<zvÍœ ¼ àõÆ‘\@ LÀ^»5™ÝŠÌzEÝq¼aÉœ—DZšúz=Ÿ2Yø·nÝ:¹âÊ+åõ×_wzˆ>ø`¹~Ú4)**r¦ââb¹à‚ äÝwߕʑG)¯¼òŠüç?ÿqr:÷Üsžã³Î<ÓIoù]{íµòÚk¯IYY™ 6ÌÉ;d³ÁžZ' Y`å©×:Uæè }¾Ü’F›oA]uMÑrŸ!#eÁÜ—¥ª®Q^ytº¼ÿïgdÅâ¯dж;É ¿¾FFì°›“ÿô+'ÉÐíÆÊŠ%‹ä½Wž’Û_þ\æ>ÿH³é‡í°«”–¬‘¹Ï>,E½úÊäo?/ÏNÿ“dfeËINÕàû0'ÿ²õkåþ?þV¾˜?Wºöè-¿ºò6³Çþòüßo‘OÞ}C>ÿð¿òþë³åä‹®—]8B¢¥·º‡—õ6-벯?—§§_/K>ûŸät–?Î|S:wïeÉuƒêõŒìšM­þUëøè%eú> àuŒø¼ àõÆ‘\@ LÀíá­®®ŽìZph“솎ýuÇ34Pµ^âÇÜI{ÕUW‰Í³{üÚdw‚°¡/¾ð‚ê-­.“Å‹;ã?mù?ü  ʦqŧŸ~º,]ºTnºñFÙw¿ýdÉ’%Á´–ÞÝ®=ÜùšÏ¼ÒZ]ä“F™ÑõÚƒþœBÔùeu~ù¡¼Qæ­¨“+ËÜfÉðý•·ôõªìÞ²ã’ýŽ”7nû<tÏrÈå÷9ù/Yúƒ|øÖÙéøóäè?Ï‘ùrZL¿àíWe»Ÿœ!GÜ<[^»éùãÙÇIïÑ»ÊW?* ŸŸ!Ýy½”?ØÉöå¿’Î}É |,ß¾þ¸LŸú;9~ú<é|ЙÒëí¹Ò¥ßPÙãÔK¥4¿‹Ì]Y'ÑÒ›ƒ[ÖŸì”õý9òÂWÈðýŽ‘S®~BÊ×,•åù’¡Qm[à¢5ëáÕðVéýx¿ªÑCS'O¡ï?ž#€ÀÖ „ÿ>ÐÖåÆÚ €@“€¼6Yï­û×´(ø`Aøg6=±ù˜¾ùæ›rÆgÈÈ‘#? X­·wùòåòÝwßÉ;ï¼#“&M’ÁC†HÏž=å¸ãŽ Ï*øÚò³_~³ ù í)¶ ¢FÚüG$š+›Q½?Cê-àÕ!õMv‡ææëfY<÷9ylÒx™uæÒ—ƒd³¦9ù Úû§ÒuèŽâÏÊ“>Ûï%ký/˜¿•gÈÞ?‘'L‘‚þ#¤Á—)-¥¼ÏѲóÿ]"z‘>;ì%Ù eÿ‹ï‘ÂmFJÿÝ‘’%Ÿ;ùo\ù½,_ð¦ Øã0)[»JzŒÚCÖ/ýJ*Ö‹/¯P2²s%#§“dué-þì<i.½9¸eÝaÂR°Í})¾Œ,YúÁ«²qÍr§<Y¹R«iÍ«V¿1Ôécó\{z5ƒZuÊÌÔCS.CÜ÷ °õ|…ÞzCr@�ðÚ0ûs.VÓÞP÷Ž›_¼¦óµ‡Öþ‡=XPkÓØ±cƒËvÙ%p·[ææ³óΛî×êÎsó ÍÛÍoï½÷æ¡èÍβ| rB>:}¥iÀ¶Å6ß®Ãê3j¬Œ=îéÚ¸tï\eñgËÞ,MC:,t,Èl#S]ºöê·Ù6[Jߥ{ï`úœ¬,ÉïÒ] mˆ€–³“æk&–ÿú’N>{ê/Úþ¾cöÚ5ßKÏ>ý$S ­Á§[ßÓG(ëWÜ+¯ÞúkyâŒ]e— çËø_^)™9öeȾY±l¬Ù]üZÆÂL½+o^ˆqPŠ' €@Û<ÿDYµj•ÓëRYYÙ¶±$½€µŸ¶É xÝ@Ô}´eáÏÃz¸_¿~–Lìç|û÷ïï<_´h‘óh¯m¹Ö_ýupùúõë|Có²íØëAƒwøè£Ä‚ä¶L–WAîæ?‘l±­Máqoè| \{.#wÛ_Bç¯[ö̾î9ñægdØî?’Oþõ¼õÀõÁmØ r4è,ÌÉtò5½¬¸ZÐjÛÍË ¶V‡Þ;å>ðŒ«dè‡lQþ,gÛ›êÛRzÛŽ•5Ô§`àPùÅm/ÊÒçÉÓWŸ,=ú–Ý=Ûù…5 x-ðÕáÛÒ¥·{Ó ×fu®Ñ2vÊ–¹sçJçÎ2ò¤—@~~¾ Ñ3w}ûnêØOÞÕ«W;žBG×¥K—6÷ lM…Xâ/PZZ*¹¹¹NðZéBÝÐ×áóGŒá¦vk±]wÝÕËû裊õò:ÔÉç€?üá2yòdgìî‹/¾ ²Ý¼-_û³uöÝw_yàœ<,èµ`Úæ»=¶Ns“¥+lêáµàÌíÛméù¦À5ð±ë¦_W¾ÞÙÜ€¡£¥±|­,ûèM©­(u¶ai,P¶ 5?WV}kz @-uËœ›­=îš½.:J†ïq°¼7óϲ͈í¤[ßAR[U¡C5%/¿³ô4RV.ú8¸nKé3šÊênËÊÿýGódÐŽãeôHm†IŽÆ²V›,àµá.ÖËÛ ÃD²ô–dö:ßåå8_hìX„�é%`×uÔÔÔ81¥}v»([£àiÀk§ {õêå\=¥§Ñ¬L ~66¶®®Îù  xÝÏ÷1Tæî»ï–¿ýíoÁYãÆ“Ù³gËßÿþwgŒ® k°‹×ÆŒ#÷Þ{¯ØgŒG·Ýv›\{íµrÿý÷;Á¬¾7ÝtÓA¯õðZúéÓ§ËÙgŸ-‡z¨Ø/ÁY/ÂüùóüÂËeém oõéäÞA °X¬ÏÔzw›^Ÿ„η`0KƒÏN:65tþèqûËö-·Ÿ´“èЃÃ'_'_¿óŠ<ñûSå´g9ÁjŽöÊè6-ÿXÓgéºl»ÛÍk Ö:h†§Ýðˆ<víòçcGK·m†Hme¹œvÓã2\{¢÷=þL¹ÿÂãä–cFÈϯù»Œh³é!º½PŸg§-ÖJ§ÎEÒgøö²ßÏÏ–Ÿ«¨iÇ®sK2ëáµ ;G¯|³y…zç )Ì•=rœã‰ÎbB�4°Ï^»kφ œë5¼x-"=³¤¤ä^/,XàœV,((Øì`ãEÞä�É#`à ì–d6ìÀS·÷Ô ÝÇXjd·³ µk׮ͮvÖYg‰mÿÉ'Ÿl6¥±rµ”_x&Ÿþ¹,ì±·3Û>@ƒAnH¶Ì/ßP¢cm»éPÚ ©Ñ^V›ò:DÍ?Öô-•³F]Ûn—}œàÐôÖ¬®=û:^îüæÒ»®CuEY >z[2w²ï–—=:C4ÆÕ4Hem¬ÑûðÞõáRùä'â|)q×áÒCÀ^ëå­¨¨+V8gä¶¶æžöðÚ)Lûu%;(µå€¶µ•a}H ÛÿíƒÊ&û<p{yÝÒµåóÁÎEšn¿ývç^½;sGë¶!¶Ýæ&»£C[& à;n¹¦ Ãk©Z;¿°°‡“©“¾°`‹ „çkz7Ãð|Üù] µü[VÌÒw?í¦µÇæÒ‡;t.ì¼™ƒìZw®vô:Aoƒ¼zûݬÌlY[Z%ÇUêq¤€cI(:ÏH;FØŸÅ”[z1yðº=9m9˜yQò@�İ©ÿýïÎðû\pƒO÷³Á}ô¢´ãÇ—·ß~Û ví´—ý D[/HkMy¬>E:¬Tã4'Àµ^LgÒn¦|ÌoÆÇÀÔËzvm²`WÁXZX{µ«õW…×gJŸ5ïéÁî¨@þE�´°ã„u–Øg®“7¹xQò@�”°(»S˧Ÿ~ꌫµ-w<¬=÷rúÑ~$ö×QSNNŽh‡%ÓV Ø÷ ‚¾:„׿[¶A{yW|,³Ë=;ÐmeQYR@€€7‘* hÖ£kA¨Ý á“O>‘£Ž:J† ’ŒÝÍýä`/nSXgó[v0+÷â=óªÓ¼«}/Ÿ¾ü’”}÷¹Øƒ¸g¹ñ/ ÐvÞ¶Û±&D°SQvÁÚ©§ž*/èOþN:Õéáu{y£¬Æì4°÷ŒýÙ½•í}cï{Í„�x!@Àë…"y €À6taðàÁrÎ9çÈš5kœÛËØU·LD°÷KQQ‘ôîÝÛ9@°I‰y ÐV޶ʱ´(`A‹Ý“×zëìÞÉÒ6àºi AÅ@ ]xÛ…•L@ TÀ bÜÇÐe<G�@ ½¼½\º½KKþ €� €�Ä(@À#É@�@�’K€€7¹Ú‹Ò"€� €�Ä(@À#É@�@�’K€€7¹Ú‹Ò"€� €�Ä(Ðnwi°_#bB�@�@ -åååmY-â:ôðFda& €� €@ªð¦JKR@�@�ˆ¼Y˜‰� €� *¼©Ò’Ô@�@ ¢€§­ùýþˆqg^~ùåîS@�@�pn¸á†ˆ-Å–WŠ0ÓÓ€×çóEØÄ¦Y»í¶›Lš4iÓ ž!€� €�¤µÀŒ3¢Ö¿¥Ø2êŠa ÒÂK’UàÍ7ßLÖ¢SnZ€}+¡›‡Â%±@Gî[žöð¶ÖÜ«îéÖnt¤‹�ûVº´4õìhö­Žg{x+—€·®¾®ùZ¸C›!Ñ|­]ʶZ+=†ÑmZ»Ä#C/ö­iS§Éù¿>_ºvíÚÚÒGNçQ"g6—m…´á%†Í¢y±o5»X¶¡­V®\)³%\x³¥åË—KNNŽôêÕ«ù-·a[ÍgØÌR¶Õ N+¥ªa+«ß\²¸¼ õ ›•©¨¨Hú÷ï/ëׯ—AƒÉ=÷Ü#cÇŽÝ,M<_Ø7{¯ÆÄ³l;õB÷­sÎ9G¶Ùf¹ú꫃/--uö­/¾øBrssƒóCŸÜ~ûíò‹_üB Cgó´Ý· Â=nÙ>µ×^{‰]p3bĈv1êÛ·¯|ðÁ2`À€6ç¿bù çØú›ßüF&L˜ v\«¨¨††™={¶dgg·9oVD âðê>=÷Üs2pà@ùío+þóŸåO—×Ûo¿½<óÌ32jÔ¨¸lŸ"‹€¼Üéä“Ov.µ»£¸_Øžzê)9üðÃ%++Ë9йiCí@hù„溜礣@¤ýÁŽ[ö¥ò¬³Îû¢xÇw´ }AíܹóVí“V~wß~ì±Ç‚åÜwß}åù矗cŽ9&8'¤¢@\.Zs¦î£ÁÚóŒŒ ÙvÛmeÑ¢EÎk»£ÃA$ãÆ“‡~Ø™géÆ/ÿüç?žª9sæ´˜öé§Ÿ–ýöÛOvØayçwä²Ë.sØ_ýêWÁ<ÿõ¯É{ì!‡rˆ<þøãÎüiÓ¦‰:å”SÄ‚Ûv¤tÑÊdóùà£Þî~änoÏ=÷tö©7Þx#ø>œ9s¦üüç?w^GÛ¿,ŸÆÆF©¯¯wö™²²2'½åsÚi§óж/¸Ûç‘÷~ª¼Â÷-«—;Ͼ<ZgMyyy‹ûÆK/½$;s¬¹à‚ œ/Ÿ–WKûÚücY±b…“¤ã_´}1t{÷Þ{o°Ìn»ØñÍò>|x°ìî2Ù;â=à¼);蟸ôð66}X„ÖqãÆb;§Ýšâô‰ÅÒœÞyN�üÑG9=U??ñDg•¥K—ʼ·Þ’×^}ÕùÖÛRZË÷Å^¿Þu—s°·oâW_u•ì²ë®òÉÇ‹õâþîw¿“éiû=^OOuä‘r‰Î³žæ<ø Œ9R4�ˆ”ÎÆAE*ShýxŽ@G„ï['t’<¢_÷ÝgY¶l™ó7N¿Ø5·ÏX9m¹ý}ÿý÷R_Wç<¯Ðº m¾õEÛ:¢žlް÷}ød(ÖAòÒ‹/ÊôéÓ[Ü7,È}ø¡‡œcÎ]wß-ÿùÏ‚ëDÛ×l›v|©«­uÒ†kš;.…oÏò ­‡ {ú“ÅØvôèÍæ[:&RM .o­@C';xÚŽwÀÈ­·Þ*ûèÁÙÒ <Xæë¸¥yóæÉ2`ºÞE_,¹yyÁyÍ¥½ôÒK%KÇ'Ù©§Ýwß];ì0gó6.j…À7ê,ËôçÛnsæ[ïÖõƒlï½÷v^×i kÛž?~³éÂËZGž#СûˆmÏÆêÙ~5MÇÇÏÒÓ˜vÚÒÞÏ65·Ï¸ïyKgyÚ_}S Ûš}ÁÖcB •Â÷-;nYϪuÈœ{î¹²ãN;5{œ°‹@mÜüöz¦Ñ¦ý÷ßß9SiùZ^6Ùsû ÝלúOè>z¬‰v\jn{–ç‡~èôLõ“Ÿ8Ût·Ã#©*—€×OŠúüC†œe½QG}´3¦×½€-t½ÌÌÌà¸Ä–ÒÚP [7ôÏÝÍ[³fäççËÏ~ö3g¶=Ú)žÐíµ&]h™ÜüyD #Bß³¶];ÕjûÏ z†ãÉ'Ÿ”ûï¿ßy_·´ÏX>n^¡Ï-O{Ýš}ÆÒ2!*îþZŸ«ôLaII‰3ìÍ:Rl‹¶o¼ÿþûÎÄð|B_Ûóð×îöB—…kÚº½×_ݺ=w[<"Šq xmÌSèd;œÍ ÿÞ{ï9W¼žy晲`Ág|‘¥³Ý&{tÓ·6­­cÁ¯»ž›ŸõäÚ‡–]¥jãxC§nݺɺuëœušK^¦Ð<xŽ@G ¸ïíÐíÙtÞ³gO3fŒ³¨5ûŒív%zqq±óþ¿óÎ;ƒ±m£¥}!tû<G Â÷-÷¸ecjí®&çé<ûbmß°ݳÏ>Ûdw[xQ‡A¸y˜O´}͵ =æ…>oëö¦L™²ÙqÔݤªÀæ‘gÕÒvÖðÉÑÐùv%¹Ý­Á†7Ø g{Ýu×9n[×Òºé[›Ö>\ÜuíÑ^Ûvûõë'ÿûß r† "µ:Vê÷¿ÿ½|ðÁb·ÝÆåôÓOw£¥sóuËd¯™èhHï?Æ`ãmÏ?ÿü˜÷jdëÛÁøDCÿïÿÛÉ£¹}¦£ëÌöèHû–{ܲž^»0Ú®¹ä’K¢O®¼òJçBµ‚‚çz+·›o´}Í­›¥sÓ†>on_ln{v\³ üWzñ6é `à™Ú»¸|s+klwW°ûéÚ7á<_>Ù)U»2ÜÆË¶v²+ÄíB²:Û¤¨}PD›bI)GµvíZ§'Ì Ž-•×>`Ü:EK)Oæ!ÐQvŸN£ËÔš}Æ®>/,Œ|O^ö…X´I›¬mÙ·¢íUUUÎÙÄ… Ê©§ž*Ÿ~úi¥¹}-˜(Ê“–¶ÞC%f#С¶oÙu&vûæ$|²}Âî$âÅ­aãÒÃËŽgC l²u:uên±ÙëXÒn¶bÈ û¶>EúÅ©HéÂ×ã5-˾eekÍ>c½»ÍMì Íé°,UbÝ·¬Þ‘ö ëÀ±Éí­ Í·¥}ÍY±™šÛ^3«±´ˆKÀË/º¤Å{‹JÆA€}+èl2-¼Þ·ìbÒ¹sçò giñî¡’‰ —€×Æ=1!€€÷ì[Þ›’#&àõ¾eCä¶æ§‚iˆM .ï›o¾[)I�­`ßj‰ˆY€}+f2V@ ¡< xmÐ|k& Ì„� €� €@s­-›ËÖy:¶ ôÎ-m˜å €� €�4'àUléiÀÛ\Y†�/ðý÷ß‹ÝÖ¥µSKé[ZÞÚí@�ŽˆkÀ;xð`™3gN°¾vì³Î:+øÚ–÷îÝÛØß·o_çWÐn»í6ill ¦á l)`¿Ž¶×^{9û“Ý›÷úë¯ß2QÈœ–Ò·´Ü~Å®b·ûõÚ_—.]Brç) €�ñˆkÀZõ[o½U/^,wÝuWèl¹ãŽ;dÙ²eÎÏ1ÚO›Úrûõ3&ˆ.pÑE9¿üd¿Œ6þ|™>}º¼ýöÛQWh)}KË-c»‰¾õ&Û_iiiÔm±�d°_'›9sf2W²#– ð¾üòËr÷ÝwËSO=%999ÂÆpØo–ÛÏ£>øàƒòÝwßELÇLÒ] ²²RfÍšå fa7º·Ÿ~à"Ò´”¾¥å3e&)(pÍ5×Èûï¿/_|±Œ=Zêëëåˆ#ŽÇ\9ä9ùä“Zï½÷Þòá‡l™Ýsצo¿ýÖù2j?2qüñÇÇ4ä(˜!O@ f¸¼_~ù¥ÓcûôÓOK¯^½Z¬ÀQG%vÅÞgŸ}ÖbZ ŽvFÄ~Š{èСÁê2Ä9ƒœò¤¥ô--w³š={¶œtÒINï—WWÕºyóˆ@"¸îÕW_í°ö+iK–,‘Ë/¿\&Ož,6äΦo¾ùFì'„ÝÉÒØOÔÛtÞyçɱÇëì6Ï:z˜@ ýâðÚ7cëÕ4hP«jkéìC¦ºººUéI„@º lܸѩr~~~°êö³Üîüà̦'îühé[ZnÙX²õ*o»í¶rÉ%—8áÛá5É.`gKl¬ºýÜ|Ÿ>}‚Õ±÷üqÇ·Ù¼àÂ'eeeÎÐ"ëñ-))qÆÙ¿ñÆ!)xŠ�í%÷€÷Š+®áÇˉ'ž( -ÖsÞ¼yÎi$[‡ ¶pÄ¡ãh-hµ ?#M-¥oi¹åÙ³gO9ðÀåÚk¯•ßÿþ÷rûí·KMMM¤Í1”èׯ_«êdÇ/;ûbסœrÊ)òÒK/±Ÿ´JŽDl½@Ü^ë­µž!×tá…¶X#»«ƒýã˜1cZLKÒQ ÿþÒ­[7Y´hQ°ú6th»í¶ ¾}ÒRú––‡æeÏ÷Ýw_çKéš5kÂñ”hÍ·Ç\w8ƒ}1´q¿Ï>û¬3ØÆs\J¼%¨DÄ=à5£=z8�vk#û‹4YÕ£>*÷ÜsÜxã’››)óH{ûiwL°‹;m²ÀÓz’&Nœè¼¶¬Ö;ØRú––3mzb_`­Wؾ˜2!jv»ÌÏ?ÿ¼Ùj 6L>þøc±! v«Íõë×;éwÙe5j”s sÇønذ¡Ù¼Xˆ�Þ$DÀkUÙi§äþûïwôÛiw²{óÈÈ‘#åÞ{ﻸͽÖMÃ#l.0uêTY¸p¡ì³Ï>2nÜ8g¨Ahï}÷ÝçÁîZ-¥oi¹ MÚm·ÝdìØ±bû¯½^ý:Ž[FH `­cÆîom²» Ù…møÚÜ/öåñ‰'ž7ß|Sì̉¿6´ Ú_À§›8SÏßëŦìªíĶSçååm‘å“O>)“&MÚb>3@ }ìêp»û‰ýDk¦–ÒG[n½Uv«@Ëh·[bB •l˜‚‘·³“Ñ&»Ÿ £ÝjsíÚµ×kœa�� �IDATNgŽ]PÊ„@º ̘1C&L˜°ƒÝ×}ÅŠΗÃ-Æ8#+Æô$G�$½5YkŠÝRúhËí Í¸úÖ“&ìN Í»VÇлžDª³çeB�ŽH˜! We¶„� €� N¼éÔÚÔ@�HC¸ iØ÷¬ùiHM•h_y÷îÁ…bíKLîi*`·!㸕¦OµÛUÀŽ[5Å%àí¨Ê±ÒQ 5÷MGêŒ@[¸ÛH[ÔXÄðtHC²hO>¬¯ éϲ‰÷¶¤D^Ø•äo¿ý¶L›6͹¢Ü‹<É@�Žð*¶ô4àõ›ðÌ?î(ûîÜò-Œ¢¥»ô´!råÄ¡[¸Ÿrx?¹üW[ÎOø“}{É€^ü€E¸ ¯“_Ànf?%üë_ÿZ®ºê*qorŸü5£ €�é$klÍÆÓ€7ÚF¢Í?çO_È{ŸmŒ¶88?4Ý]—l+‡î¸÷á+ï–È»v“¼œÍ«qè¸î2ç½’àú<A Ýì>ØË—/—‡~8ݪN}hWÐcP»nˆÌ@ÀSÍ#EO³n9³kÎ&;èì$¼õ·£díí½ö¬áòŸÇÊoOÌÀMwÆO·‘í†Êù' ”G§î( ¿-—õ²ÿ.Ý‚i‡ê…î]³å_•9ó&Ý_î¿z{yþ–±b=Â>û© &R\À¾Gúñ—¯6ÕC ]ÂA™>±c×Á»w—;.í¿¬�Ó/#£ËbËÆŽ ë¶Ñ³Šw_:F^þË®2íÜÒ)7®‡á`y‚@ª ÄuOë×37¸³Ûó‹N, •Ê%ùZŽ9 wp|­›îѯ’¥«ªäÁWÈy7})õ ~ù·öò¶×¦_»±ÞßW篓ÆF¿ÓvËÖÔÈUÓ¿‘Ó®[èÆ03!€� «@ø1¨A3v|:ç¸òôkä/-u²Ð;Or³7õ®X÷Lä…§ –¹ÿ[/'^þ‰äi°{ànÝc-é@  q xÃËûø««å¹7‹å‹ï*œÀvÔÀüÍ’TV78AnyUƒ¬+­s–Ù°†=Æt‘Ú«k“ gøÏûëœçö mXQ\#ÊêåÛe•2jÐæyò@�f"ƒ,ù#¯¬”75ˆuKѲÈÏËtÎjÎÿ¢TºdÉgz–r—Ñžßhë0¼H¨Û’-[]¬U]} ‡68#Ê“¥«ªåËï+q½6ÄÁ¦Ïí¹j²q¾vÚhø€|yC?”˜@�ðJ dC ¦¥üvQ(Y™>¹ì—C‚I—ëYH&h„ x[[ÝM'Šk¼òîZùé~½¤¿ž6šÒ»k½¹W>TN»v¡ØÐ†Ûu €�[#~ Š”W†ŽïµÉ\º`ÓÆòzÉÔ§—ßõµ¬meì¬È? °Õ 5¤¡5µYURÛ릷! ƒûu’#÷é¹ÙÝl˜CYeƒ¬Y_'v1[ß9b§”˜@�h‹@¤cPx>+ÖÖÈH’gÇ»Xºs~ oiÑÒJYªg2íÖ™¹ÙÃoa>Ǥp?^#ÐIð>ÿV±½_O¹ïªí‚ö­ù½…e¹ŽÕ]²¢*8þ祲R?xì v¿^»˜íÿ~Ü—q¼A!ž¤ª@ee¥tëÖMÆïTqÔ¨QÎ}ySµ¾Ô Žˆt ßöS¯­–3¶<qÃNò©µ+^_ë$±‹Ü®žþ­ì¢wlxNK³¦í(ל9<|u^#€@;Ø9—3KJJîõ"ïE‹Iÿþý%+++â-‘ž|òI™4iÒVÿ&¹"*è”éœjM¹íâ€R½}™M] ³Z½^kò& ‰"`¿In·#óêWi¥^”x ¸ûÔ¾gÍ£5Ç »+ƒ¸Ñ®G±cQuM£ÔÔ5óå é&`Ç-›f̘!&LØ¢úååå²bÅ ±N›­’r ¯ÝŽÌzu[;¹Á®¥e½ÖæO:@�ôhÍ1¨º¶ù@–cQú¼_¨ib$eÀ›t”Äðêg³v” @�Øâðº]ر—5@ 9†34§Ã2Ú.Àq«ív¬‰@"$ÝEk‰€F@�@�’G€€7yÚŠ’"€� €�´A€€· h¬‚� €� <¼ÉÓV”@�@  ž¼\0Ó†`@�@�ˆ^Å–ž¼Ü)b[1@�@  ^Å–ž¼m¨« €� €� Ю¼íÊKæ €� €�ñ àw °}@�@�v àmW^2G�@�ˆ·�o¼[€í#€� €�´«�o»ò’9 €� €@¼xãÝl@�@ ]xÛ•—Ì@�@�â-@Àï`û €� €�í*@ÀÛ®¼dŽ� €� oÞx·�ÛG�@�hWÞvå%s@�@�x ðÆ»Ø> €� €@» ð¶+/™#€� €�Ä[€€7Þ-Àö@�@�ÚU€€·]yÉ@�@ Þž¼~¿?Þõaû €� €�)"àUléiÀëóùR„—j €� €�Ä[À«ØÒÓ€7Þ(l@�@�pÞp^#€� €�¤”�oJ5'•A�@� à á5 €� €@J ð¦TsR@�@�pÞp^#€� €�¤”�oJ5'•A�@� à á5 €� €@J ð¦TsR@�@�pÞp^#€� €�¤”�oJ5'•A�@� à á5 €� €@J ð¦TsR@�@�pÞp^#€� €�¤”�oJ5'•A�@� à á5 €� €@J xðúýþ”¡2 €� €�ñð*¶ô4àõù|ñaË €� €�)%àUléiÀ›RÂT@�@ %xS¢© €� €@4Þh2ÌG�@�H Þ”hF*� €� M€€7š ó@�@�RB€€7%š‘J €� €�D à&Ã|@�@�” àM‰f¤ €� €�Ñx£É0@�@ %xS¢© €� €@4Þh2ÌG�@�H Þ”hF*� €� M€€7š ó@�@�RB€€7%š‘J €� €�D à&Ã|@�@�” àM‰f¤ €� €�Ñ< xý~´í0@�@�˜¼Š-= x}>_L• 1 €� €�ѼŠ-= x£–ù €� €�ÄK€€7^òl@�@ Cx;„™ €� €�ÄK€€7^òl@�@ Cx;„™ €� €�ÄK€€7^òl@�@ Cx;„™ €� €�ÄK€€7^òl@�@ Cx;„™ €� €�ÄK€€7^òl@�@ Cx;„™ €� €�ÄK€€7^òl@�@ Cx;„™ €� €�ÄK€€7^òl@�@ Cx;„™ €� €�ÄK€€7^òl@�@ C< xý~‡š €� €�¤¾€W±¥§¯ÏçK}yjˆ� €� Ð!^Å–ž¼Rs6‚� €� €@ ¼1`‘@�@ ùx“¯Í(1 €� €@ ¼1`‘@�@ ùx“¯Í(1 €� €@ ¼1`‘@�@ ùx“¯Í(1 €� €@ ¼1`‘@�@ ùx“¯Í(1 €� €@ ¼1`‘@�@ ùx“¯Í(1 €� €@ ¼1`‘@�@ ùx“¯Í(1 €� €@ ¼1`‘@�@ ùx“¯Í(1 €� €@ ¼1`‘@�@ ù< xý~ò Pb@�@�„ð*¶ô4àõù| ‰E¡@�@�’OÀ«ØÒÓ€7ù)1 €� €@ª ð¦z S?@�@ ÍxÓü @õ@�@�T àMõ¦~ €� €@š ð¦ù€ê#€� €�©.@À›ê-Lý@�@�4 àMó7�ÕG�@�R]€€7Õ[˜ú!€� €�i.@À›æo�ª� €�¤º�oª·0õC�@�Ò\€€7Íß�T@�HuÞToaê‡� €�¤¹�oš¿¨> €� 꼩ÞÂÔ@�HsÞ4P}@�@ ÕxS½…© €� æž¼~¿?Í9©> €� €€W^Å–ž¼>ŸÏ«ú‘ €� €@š x[zð¦y›P}@�@� àMÀF¡H €� €�Þ ðzgIN €� €� (@À›€B‘@�@�¼ àõÎ’œ@�@�P€€7…"!€� €�x'@Àë%9!€� €�$ �o6 EB�@�ðN€€×;KrB�@�H@ÞlŠ„� €� à�¯w–ä„� €� €¼ Ø( @�@À;^ï,É @�@ x°Q( €� €€w¼ÞY’ €� €@ ð&`£P$@�@�ï< xý~¿w%#'@�@�´ð*¶ô4àõù|iÝ(T@�@À;¯bKO^ïªGN €� €�x#@Àë#¹ €� €�$¨�o‚6 ÅB�@�ðF€€×GrA�@�HPÞmŠ…� €� à�¯7Žä‚� €�  ¼ Ú0 @�@À^oÉ@�@ Ax´a( €� €€7¼Þ8’  €� €@‚ ð&hÃP,@�@�ox½q$@�@� àMІ¡X €� €�ÞðzãH. €� €� *@À›  C±@�@�¼ àõÆ‘\@�@�TÀÓ€×ï÷'h5) €� €@² x[zðú|¾ds¤¼ €� €� *àUléiÀ› V @�@ xÓ¸ñ©: €� ¼éÐÊÔ@�HcÞ4n|ªŽ� €�¤ƒ�o:´2uD�@�ÒX€€7Ÿª#€� €�é @À›­L@�@�4 àMãÆ§ê €� €@:ð¦C+SG@�@ xÓ¸ñ©: €� ¼éÐÊÔ@�HcÞ4n|ªŽ� €�¤ƒ�o:´2uD�@�ÒX€€7Ÿª#€� €�é @À›­L@�@�4 àMãÆ§ê €� €@:xðúýþt0£Ž €� €� àUléiÀëóù: êl@�@ ¼Š-= xÓž:"€� €�$—�orµ¥E�@�ˆQ€€7F0’#€� €�$—�orµ¥E�@�ˆQ€€7F0’#€� €�$—�orµ¥E�@�ˆQ€€7F0’#€� €�$—�orµ¥E�@�ˆQ€€7F0’#€� €�$—�orµ¥E�@�ˆQ€€7F0’#€� €�$—�orµ¥E�@�ˆQ€€7F0’#€� €�$—�orµ¥E�@�ˆQ€€7F0’#€� €�$—�orµ¥E�@�ˆQÀÓ€×ï÷Ǹy’#€� €� YÀ«ØÒÓ€×çóE.-s@�@�ˆQÀ«ØÒÓ€7Æ:@�@�v àmwb6€� €� OÞxê³m@�@�v àmwb6€� €� OÞxê³m@�@�v àmwb6€� €� OÞxê³m@�@�v àmwb6€� €� OÞxê³m@�@�v àmwb6€� €� OÞxê³m@�@�v àmwb6€� €� OÞxê³m@�@�v àmwb6€� €� OÞxê³m@�@�v àmwb6€� €� OO^¿ßϺ°m@�@�ð*¶ô4àõù|)DLU@�@�â)àUléiÀO¶� €� €@$ÞH*ÌC�@�HÞ”iJ*‚� €� I€€7’ ó@�@�RF€€7eš’Š €� €�D à¤Â<@�@�” àM™¦¤" €� €�‘x#©0@�@ exS¦)© €� €@$ÞH*ÌC�@�HÞ”iJ*‚� €� I€€7’ ó@�@�RF€€7eš’Š €� €�D à¤Â<@�@�” àM™¦¤" €� €�‘x#©0@�@ e< xý~ÊÀP@�@�ø x[zðú|¾øª°u@�@�”ð*¶ô4àM]*‚� €� 2¼)Ó”T@�@ ’�o$æ!€� €�¤Œ�oÊ4%A�@�ˆ$@ÀI…y €� €�)#@À›2MIE@�@�" ðFRa €� €@Êð¦LSR@�@�H¼‘T˜‡� €� 2¼)Ó”T@�@ ’�o$æ!€� €�¤Œ�oÊ4%A�@�ˆ$@ÀI…y €� €�)#@À›2MIE@�@�" ðFRa €� €@Êð¦LSR@�@�Hž¼~¿?Ò6˜‡� €� €@Ì^Å–ž¼>Ÿ/抰 €� €�‘¼Š-= x#”y €� €�ÄS€€7žúl@�@ ÝxÛ˜ €� €�ÄS€€7žúl@�@ ÝxÛ˜ €� €�ÄS€€7žúl@�@ ÝxÛ˜ €� €�ÄS€€7žúl@�@ ÝxÛ˜ €� €�ÄS€€7žúl@�@ ÝxÛ˜ €� €�ÄS€€7žúl@�@ ÝxÛ˜ €� €�ÄS€€7žúl@�@ ÝxÛ˜ €� €�ÄS€€7žúl@�@ Ý< xý~»˜ €� €�¤‡€W±¥§¯ÏçK}j‰� €� Ðî^Å–ž¼í^k6€� €� €@Œ¼1‚‘@�@ ¹x“«½(- €� €@Œ¼1‚‘@�@ ¹x“«½(- €� €@Œ¼1‚‘@�@ ¹x“«½(- €� €@Œ¼1‚‘@�@ ¹x“«½(- €� €@Œ¼1‚‘@�@ ¹x“«½(- €� €@Œ¼1‚‘@�@ ¹x“«½(- €� €@Œ¼1‚‘@�@ ¹x“«½(- €� €@Œ¼1‚‘@�@ ¹< xý~rÕžÒ"€� €�$¬€W±¥§¯ÏçKX0 †� €� \^Å–ž¼ÉEHi@�@�ÒA€€7Z™:"€� €�i,@À›ÆOÕ@�@�t àM‡V¦Ž €� €@ ð¦qãSu@�@ xÓ¡•©# €� ƼiÜøT@�HÞtheêˆ� €�¤±�o7>UG�@�ÒA€€7Z™:"€� €�i,@À›ÆOÕ@�@�t àM‡V¦Ž €� €@ ð¦qãSu@�@ xÓ¡•©# €� ƼiÜøT@�HÞtheêˆ� €�¤±€§¯ßïOcJªŽ� €� ीW±¥§¯Ïçó²Žä…� €� Æ^Å–ž¼iÜT@�@ Ax´a( €� €€7¼Þ8’  €� €@‚ ð&hÃP,@�@�ox½q$@�@� àMІ¡X €� €�ÞðzãH. €� €� *@À›  C±@�@�¼ àõÆ‘\@�@�T€€7A†b!€� €�x#@Àë#¹ €� €�$¨�o‚6 ÅB�@�ðF€€×GrA�@�HPÞmŠ…� €� à�¯7Žä‚� €�  ¼ Ú0 @�@ÀO^¿ßïM©È@�@ í¼Š-= x}>_Ú7 � €� €�Þx[zðzS5rA�@�@À;^ï,É @�@ x°Q( €� €€w¼ÞY’ €� €@ ð&`£P$@�@�ïx½³$'@�@� àMÀF¡H €� €�Þ ðzgIN €� €� (@À›€B‘@�@�¼ àõÎ’œ@�@�P€€7…"!€� €�x'@Àë%9!€� €�$ �o6 EB�@�ðN€€×;KrB�@�H@ÞlŠ„� €� à�¯w–ä„� €� €ž¼~¿?«H‘@�@�’QÀ«ØÒÓ€×çó%£%eF�@�H@¯bKOÞt¢H €� €�i.@À›æo�ª� €�¤º�oª·0õC�@�Ò\€€7Íß�T@�HuÞToaê‡� €�¤¹�oš¿¨> €� 꼩ÞÂÔ@�HsÞ4P}øÿöî<FŠ2ÿãø·gQPÀ{ð>ú¼5ÐÕh<þð�E¼ã $*jd×]uGdc/¼‡³ü��ÙIDAT¨€÷}kŒàÅ5Š ‚ Ìô¯>ÏìÓ³Ý3ÓðtuuÍ»HSÝUÕUÏózjÒŸyú©@�².@àÍz S?@�@ “ x;ù @õ@�@�¬ x³ÞÂÔ@�èäÞN~P}@�@ ëÞ¬·0õC�@�:¹�·“Ÿ�T@�Ⱥ�7ë-Lý@�@�N.@àíä'�ÕG�@�².4ðæóù¬{Q?@�@�„BeË 7—Ë%T}ƒ� €� uPÙ2hàÍ::õC�@�¨=oíµ%F�@�(C€À[›"€� €�Ôž�·öÚŒ#€� €�”!@à-‹M@�@�jO€À[{mF‰@�@�Ê ð–Ŧ €� €�µ'@à­½6£Ä €� €�exËÀbS@�@�Ú ðÖ^›Qb@�@�2¼e`±) €� €@í xk¯Í(1 €� €@Þ2°Ø@�@ ö¼µ×f”@�@  oXlŠ� €� P{ÞÚk3JŒ� €� P†@ÐÀ›ÏçË84›"€� €� PZ T¶ xs¹\é³@�@�2BeË ·Œò³) €� €�‰xaæ  €� €�Õ ðVKžã"€� €�$"@àM„™ƒ €� €�TK€À[-yŽ‹� €� ˆ�7f‚� €� P-oµä9. €� €@"ÞD˜9 €� €@µ¼Õ’ç¸ €� €�‰xaæ  €� €�Õ ðVKžã"€� €�$"@àM„™ƒ €� €�TK€À[-yŽ‹� €� ˆ�7f‚� €� P-oµä9. €� €@"ÞD˜9 €� €@µ‚Þ|>_­zp\@�@�Œ „Ê–Ao.—Ë3ÕA�@�¨–@¨l4ðV ƒã"€� €� PJ€À[J†å €� €�™ ðf¢© €� €@)o)–#€� €�dB€À›‰f¤ €� €�¥¼¥dXŽ� €� o&š‘J €� €�” ð–’a9 €� €@&¼™hF*� €� PJ€À[J†å €� €�™ ðf¢© €� €@)o)–#€� €�dB !éZLž<9éCr<@�@�N,hà3fL'¦¦ê €� €�ÅæÏŸ_lq°e‰ÞJW&˜ ;B�@�ÈŒ�cx3Ó”T@�@ ˜�·˜ Ë@�@�2#<ðæóùÌàP@�@�ê„Ì”Ao×®]mÙ²eÕQᨠ€� €�™P¦T¶ 1½h­W¯^¶páB«««³¦¦&Ëår!ÊÈ>@�@�:‰€zvv/^lÊ–!¦ ·GV__o‹-rd €� €�K ¡¡ÁzöìiÝ»wRñ W%RÁB.H Ù  €� €@§:†·SKRy@�@�T xSÙ, @�@ ”�7”$ûA�@�H¥�7•ÍB¡@�@�B xCI²@�@�T xSÙ, @�@ ”�7”$ûA�@�H¥�7•ÍB¡@�@�B xCI²@�@�T xSÙ, @�@ ”�7”$ûA�@�H¥�7•ÍB¡@�@�B xCI²@�@�T xSÙ, @�@ ”�7”$ûA�@�H¥�7•ÍB¡@�@�B xCI²@�@�T xSÙ, @�@ ”�7”$ûA�@�H¥�7•ÍB¡@�@�B xCI²@�@�T xSÙ, @�@ ”�7”$ûA�@�H¥@C*KE¡@�¨°À²eËìƒ>°Y³fÙgŸ}f .´ææf÷ð‡Îçóîi.—ó‹Ì/+,ˆžTk½?®æ¹úœu©ïb=zô°ÆÆFëß¿¿í°ÃÖÐPÝúZuÆ´å ÷ç˜^…:÷ý>“4ÖOðèŸþù?-Õâ@�²- í÷ßß~øaëÞ½» 2ÄvÚi'÷|µÕV«éÊ/]ºÔ~ÿýwW¿çŸÞ~ýõW;ì°Ã\øõ!#© fÅÓÊŸ1Ix+ߎ@ %MMM6}út{çwìœsα~ýú­Ð;›’b®R1|/œz«¿þúk»êª«l—]v±#FX}}ý*í»£oΚ3¦mù•ß®ÒÆÞ•oÞ‰� PC € »ÆpöÙgÛzë­guuuQàÕWµ5T‘¶ŠÕ#ýÓ¤�¡àùÃ?Øõ×_o °áÇ»:·µ‹U]—9gLWõ”hÿý ëW½ãÆû[û¥a @�jS@áOcu_~ùe;âˆ#l£6rÁOË››£ˆÍÓðÐW»*‡¦Ž–GÛ*dÆ·×k¿¬®®>ªï†öâ‹/Úšk®i}úô©X¯¶ÊP Îq«bÏ;£éÊœ{Åì:º,ic¯Ä™@�2-°xñb»÷Þ{mðàÁ¶yc£­Ñ­[!ðªâ­?¤—‡àƒ¤¶ûþûïíž{î± 6ØÀºEûiýÞUy=lØ0ûꫯl¯½öêÐ~Uv•ÕõëFeó!WehY×lË–-u=½*ëk¯½æÆóVj¬rHçbŽªß#<bwÞy§=ñÄöÓO?ÙV[må¼ßþÑGµ¿þúËÖ_ý‚¡ÚK“zõýv¥æ-nÙ3•¾áÐÏÁ}÷Ýg~ø¡;—ûöík:Ê=÷Jùudy5Œ¹-™Ô™@�2+ z}¸¯³Î:¶é¦›Z>ðdɵ®Ø#ŸWÐýß°«ó›nºÉÎ<óL›<yr»á©#þñm|#Ä—µõ\eW9}ü¶zÝÔÜä–«çN¬m¼ñƶîºëÚG}ä–ûc…šë˜!}]üü—_~±C9Ä.ºè"[}õÕ]{^{íµ6tèPûæ›o mqå•WÚ“O>Yx=iÒ$Ó2×öQûùý•šgÑ4º9|ðÁn(ÏŸþiÛo¿½ »—]v™½ûî»ÎÄŸ¥\B.¯†quïUâu™#€� P!õö}üñÇ.ð((iˆ«–éCW=[ ºKyW˜ŒZz~ã‹›¢[™ÝvÛm¶å–[ºùù矿˜Xí¥¥o5þ®åÏÛ[¯P¡q· ©Å¦Öï÷w^¨‹Ê?®ö£Û)Üh_ºX­k×®¶É&›Øœ9sÜíÊÖXcb‡Xée![×S…ºä’KÜíã^zé%[;ºõšê{Ê)§¸žÉóÎ;Ïî¸ãWvÕ½ù¿† ¾×]w=õÔS®­½k±ý»7GÿeÑt„ öÅ_˜îÜ¡^n?)ðÊK.åž{~~Þ–©¶‰¯¯†1×·s@�L üñÇî»;»'m}C}¡çS¡P¾¹ºœ)4FÝ¿Î Š»Ñ¼åÿJ´hæ3] ý÷uÿ¶ÃGØŒ™3l¿ýökÙ$Z¯‹áì8Àæ~=·pÛ³ O°ƒ:È%áöÖ«Wvi4añ‹íÜsϵ¾}úÚ¸ñã ûŸø÷‰®góôÓO/,S”puȵ„ôæ¨ÇWÅW€ÉG¡^ëxu?^}ͯÀ+“Ð7¤³KGx³ Ø”)SìøãwõXùøiØðaö¿ÿÃf¿?Û¶Øb ×>K"ÃY³gÙ©§žj7ß|³õîÓÛ™º÷¨i[šÙïbŹÖgÈô·ß~s¿œýó_ÿ´nÝ»-wˆ×:ªsüÜÓ*õ¨_rñ%ö /¸shß!ûÚ¥—^jk¯½¶{çÛo¿m“®šdï½÷ž>}ÆôB˜Vòøqãí•W^qçÜå—_n{ì¹Çò#VÁ˜! Ëùy†� Aõ<êb-}P+øéÎ ~®çî‘ÓÇa”‚„4SŽ–ÕÅѶwÝy—sÌ16ðÿº{÷N»kÚòm¢õß}÷ÝtãMnø€Æî¾ûî6ö¼±Qð̻㴷>:ªû§ãî¹Çž.ä-]²ÔC÷×:eª°ÿ…cªõõ-wšPÁUn½·¥üÑs·¾¥Î ¼k­µ–»ß°LBO!WpêóùgŸ»ë!Ñ=“}{ùm†î7ÔUeÎ's u_ðÛ5r”;ÖöÞ{ï‚—{Ú<Þ®­žgÍô‹Ï¿p¿à 8¨t½#“ø¹'Ÿ3N?ÃÝáã°ûï¿ßæ}7ÏÎ<ãÌÂ>&^6Ñ8à�7D桇²^={Öi»^½zÙ[o½e£G6õ0ÇÍ«aLà ýÏþ@�R# ^Nõâê¯uéÒ¥¥‡7z[>xë[zx„ÚxÌ›7Ï}%|ì±ÇºíŽ;î87Vtþüù…÷©âGy¤ëYÔ_9»øâ‹]O™zÁ´ïެw¡5ÚöÐCu½´3fÌpïUðÐ>5þÒ—³lcåV¢^l\=×¶z®‡ þe"›PSHg_·ø\½šÔƒ_®çÛm· ø¾´î³¬‹ÿŠmßúý­_gÍÔÛi {ëºÆ_ËÍŸ{­žÝ1cÆØ6Ûlã'Ÿ|²=û쳦Ÿ½OçÓsÏ=ç^o¶ÙfnÈŒ–Ï;×ÝäÀ´üÑ dŸ|ò‰»ÀЯÆ^µ0 €@fÜWûQ¸Ó8Eÿ냠Ÿ7Ô·„C½.õ¸ûî»]X¼å–[ì /t¡JûTï—>È5NØ¿ÖxI=xµ¬#ëUFm«`zøá‡Û´iÓÜë©S§ÚÈ‘# ûöÇðsÿ>½Ö­ÈZ×U¯ýŽaן8¡œ}}âó~ýú¹Ã¼ùæ›ÿS}}®ck½GÆ [\pë]Ô}—ãû*çyLF5}ûí·m:ÈÍ×WÛj8p`á=z®ÉïçÆotî»í¶›Mœ8Ñ[²Õ·šn¸á×wÞÙýRÌÞSë*yÞ2†×5 ÿ!€�dU@¤ª[fé.ú€õÿ!¯À¤çš|Ôkÿ\’é¢( gÐm°ü¤[”iùYgåé=~ŸZ 0¦[gùûþ–»^cVõµ±n%¥? ¡{«ì~Òþâ“/¯–鹺8O“Þ§q¶úsÃ2 =…pöeR½âuÑE‚º}–.º:ᄜ±_?sæL7LCÚÛèý/­^Þ£>ÚõÄûà§c´Þ¿?®_í£ez®G-™ÊN½»ºÙ{ÄÆÑÆ+=—‰2Ô-÷4©gÖ?×…ŸšôZÛÈóÁ´W_}ÕFF¿ˆé.'t’»0RÛ?~ùøöèuÜ\ÏãSÆÞ¸8Ï@�2% V݉AãK‹õðj}ëßb�O?ý´Û‡z²â÷°Õ×µºhM=¯«é7Þ0·U­î«°¡ÐêCf{ëU¿­zÆ4„AcQ*Ú»ÐLïõáÁ‡3_G…võð*ôª©w1‹bË´¯ÎÅö­eòÐSúsÐ ½ûï¿¿ÛTN]qŦ»eè‚<M¾¾zÏÕW_íz$5ÌDwjP[”;iµlªû/ëVn2Úzë­í´ÓNsž íº‹…±šTW¹i;ý¡ovÝuWw! Îeõòj[m§ «uºgtcc£3Ò{µ~ß}÷5Ý2NÃ!tgý²©ãég¢Ø”„1·˜<Ë@�2# Ûqm¸á†¦1ž ¢êåÕ³ú Õ£½Ià 4vWá!>é¿ÿþvûí·»‹£´/ iP Ó‡¼‚¶ÖõìÙÓ½­#ëÕ{¦ñ‘~5j” +C_î×—šûÀ« áƒ®zwe!“ÐSç¶Ê$Õ_½ˆþDÕQ q¾5WÛj[=Ôô ‡zçüñvih« µjª±¸:/5ÌC¿´éžÌ:?õç¦u9É-~îéœ?ñÄÝiCúÅkJt§ פo5ôí…Îm£Ö¶Ú¦[o½Õµ‰îŒ¢ž`ýÜéç@ḽ©RÆú)}åòŸö Àz@�jQ@aïÓO?uaG_oë«qõ”êÃYÁÈO>0ùÞ<¿¼œ¹ÆŽî³Ï>nŒ¯†;èX~¿ÚO{ë‹ëšk®±Ç{Ìžyæ™b«K.S=TÔ³«?´¡! Çw½p>œ”ÜA™+’rV½tOYÍûEãvÒ’š²`ª1¸ .t½¯ñs³”¡†åèçÄÿÒßNûѤ»›t¬{÷î]luÑe•2^þ+dÑò@�ÚЇµ‚çæ›onºãÁQGU¸°L¡/d`Ò¾t<õvÆÇŒzÁöÖûíü\!Rÿ¨.>”¯ok®°ëƠЬ€(‹xÐokå¬KÒyÛm·-§hÁ¶õžš×ª©Îr&?†·Ø{ômI[“†”;Œ¤RÆúÕvà¸qãþÖVY‡� €@­ ¨ËߎKáèOëj‚ïå Y/õNiìc©PÑÞúÖeñ2WQ¬ÜYß{·hÑ"÷u²Æ0kl¥î2äû2'éì™ôÓÊ‹Wʘ! •o;Ž€� §ÕWẗ¨¾Þ×NÕ3©YÿA›‚¢®RªýcÖ¬YnÜ¥.è:t¨ëå.·§¸ÜÂdÑÙ{jŽi¹gDǶ¯´1·cíÀV €�5. TeÕ}B_ýu›={¶z +Ïu‡ A¨ÄÅ\I²)lêÆÿº‚^|A¯Õ›=xðàŠ]¬Öº~YsÆ´u ‡„17|»±G@� h\¬îV `¨á _~ù¥ûkhúÊ_a­–'õRkø†þ¬kcc£»z^·…ÒGå‰XU‡¬8cºªgBûïO˜ÀÛ~;° €@Æ|/¤® ×C˜Bc]uGƒZ ½ žÑ½{w÷§”u 5=Bßs·œS¡Ö1-§µWnÛ¤Œ ¼+×>¼ @ # e ºµv}SøðàÇ%ûåi˜×ª3¦•?{’0æ¶d•oGŽ€� b}Øêëþ¤¿òO1IEІsxVL;nšÜÝš;^&¶D�@�@ ˜�7%;B�@�H£�7­B™@�@�‚ xƒQ²#@�@�4 xÓØ*” @�@ ˜�7%;B�@�H£�7­B™@�@�‚ xƒQ²#@�@�4 xÓØ*” @�@ ˜�7%;B�@�H£�7­B™@�@�‚ xƒQ²#@�@�4 xÓØ*” @�@ ˜�7%;B�@�H£�7­B™@�@�‚ xƒQ²#@�@�4 xÓØ*” @�@ ˜€o>ØÞØ €� €�) ‡7e Bq@�@� xÃz²7@�@�” 0¤!e Bq@�@� ÐÃÖ“½!€� €�¤L€Þ”5ÅA�@�+@oXOö†� €� 2zxSÖ @�@ ¬�7¬'{C�@�H™�7e Bq@�@� ä¢Ý=êc…`ÿðËõZÛúå~®ezh;MþµŸûeñ¹ž3!€� €� àü_þÏõÜ?´]Sìusô<þÐvz­môˆ¯kjˆ̉>Àú¹¬žû¹¬_§¹¹škòË|Ðõó–µ-ÿûmãËxŽ� €� €€º^ÂÝø\!V“–ùð¶ZîCo|Þüÿ¨mÈ,ïˆê����IEND®B`‚�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/vignettes/biotap_logic.png������������������������������������������������������������������0000644�0001762�0000144�00000107327�12732246464�017011� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������‰PNG  ��� IHDR��¾��[���—D��®iCCPICC Profile��xíZgTM—®î‰0 9ÃsÎ ɃäF’ˆ$A2"É�ˆDEE0�&’"¢(ˆb�%©ˆb‰Ûàë~gÏw¾_»ÿÖ:§«Ÿ¹uëÞš®ê©;õ\�$NxQ©¡0� ,<:ÒÖDŸìäìBƽÀÀ¤¼|¢¨z66ˆÊ(‹#ˆ6R†e¶l=7—Þ7À³ ÔªtR0úþˆ#‡�@6ˆ€%à7öÝÂÞ¿qÜÞMFtò¶°O ÒU!X:’bk€à‡�à‰Û˜æÅöÞÆŒo·°—Wd��œß}²—W�‚¹H¿±÷–ß±>ˆ}.d X¦pß pD„øÀêøúEù� Z‡èøúFù„ †�Ö ‹@Ú%¶ž‰¸5é+\@xëÙ!w¤ìÑ@e±ñá_²°Ï�4¥À-ý/™Ädl‰�4sþK6o»ý<!¶ÇQþJŠÛæ "bófss^�\�ë…››«5››ëµ� Æ�è õ‰‰ŒÝÖè­Ðdþ8â@(5 v#`¬8àAˆû@82@.(�GA¨uàh- Ü] <�ƒàx&À;ð|?Á*A8ˆ1A$IA :¤Aæ-ä yBþP%@iPT•BÕÐY¨ jƒ:¡>hzM@³Ðwh†aÌóÀ"°,¬ï„Í`;Ø ö‡©ð~8 > ‡«áø*Ü÷ÃOáqø#¼�o¢hQ¬(2J ¥†ÒGY¢œQ~(**•…*AU¡. ÚQwQOPoPŸPËh4š͇–Fk Ñ´:€ÎAŸ@ŸA_Aw£‡Ðãè/è5 Ã…ǨaL0?L4æ¦S‹¹ŒéÁ c¦1óX–+ŒUÁa°Ø8l6¶ Û€½…}„ÀþÀ¡p¬81œÎç£âÒpÇpgq7pp“¸<Ï—ÃëãðÁø$|þ þ:þ~¿DC¤ Q¥1§ñ¤‰¡É¡©¢¹Jó€f‚f‘–H+H«AkMëG›@[D{޶“ö9í†ÀKP&˜|Å„Ba”0O$…‰ÚDb81“XM¼N&~¦ÃÒ‘é4é(tátYt5t7éžÓ}§'Ò‹ÑëÓ»ÓÇÑÓ_¢ï§Ï�3ð1h280D2ä340ô1¼%A$>’ɉK*&5“‘æiÅ}Ó«;Ç7˜x™v0¹2Å3•1µ3½dúÅÌɬÁìÌÏ\Æ|ƒy”y…—E‡eËA––;,ïXq¬¬æ¬a¬¬-¬ÏX—ظشÙ<ÙÒØêÙúÙ¾°3±«°;³'²×°÷²ä`àPæpæHä¨åèãøÌÉÌ©ÎéÁyˆó<ç ç"/—W0WW+×n,· 7…;»–û÷<7O(O Ï-ž÷¼ô¼j¼ž¼9¼—y_óaùäù\øñ5ò½àGñËð;ñ§ñ7ò¿$£ÉòdWr&ù2ù�­€š€À›³‚¬‚ú‚TÁ Á~Áe!!;¡ƒB—„^ …5…ƒ„ ÷ ÿ¡ˆ¤‰\™eÕ­C‰)‹ù‰»'¶,.)î*~Xü¶ø7 A {‰L‰v‰9I~I[ÉtÉ6ÉOR|R¶RR×¥¾H J;HçHwH/ÈHÈxÈËôɬË*ÉÉž’}*GÓ“Û'×(÷Vž[ÞV>[¾K~YA^!@¡Rá¹"ƒ¢©bŠb›âw%I%¥“JÏ””M•S•o*/ªÈ««œVWåRµW-P} †UÓWKRkWû©® ¦~^ý½††§F…Æ+MvMŠf‘æc-:-s­l­{;°; w¤íèÖ†´wj'kwhoèèè$éÜÖÙÐÕÕMÖíÜ vêíLÝyG£g¢—¥×¯OÔ·Ò/Ô6`3p2(7xc(`ègxÖpÎHÞ(Ú¨ÍhÍx§qºq¿ ½‰I©ÉS!Ó ÓK¦?wií:¸ëž½™½Y¹Ù”¹¤ù^ó6 `ajQ`ñÂ’lhÙl¹b¥o•gõÌšÏ:ÀºÙzÕÆÈæˆÍËÝ»Ãw·Û¢m­mËlßÙ)Ø%ØõQX(ž”‹”_öÆöEöãÒñ÷Y½›7œ,œÊœfÕ3œŸ¹»D»ô¸2»ú¸¶¸¡ÜìÜjÝÜ Ýº¿÷PóÈöxµGzOÒžAOAÏhÏ{^œ^¡^ÞLÞ~Þí>DOŸ+¾x_7ßf?ŒŸ‹ß%´¿³ÿ¥�t€K@S 6Ð-°%ˆ&hOе`º`ßà›!Ì!!!=¡Ü¡Q¡„ž…ˆg†ODhFG|¦šP«©«{ö6E"ý#»¢x¢â¢†£å¢s£gb bªbÖbc¯ícÞGÝ÷(N*.;nf¿ÑþÚx8Þ3¾ã�ßÄc ;ÊV]o$q'%$%k'ŸJÞLñLé>(t0ýàLê®Ô†4ú4jÚð!ÕC¥‡ÖÒ=Ó{2Ä2r3¾fR2Û²x³f½Ï¶ÈnÎaËIÈ™Ê5ÍmÌcÉ;7uØôð¥|öü¤üwG,\-à-H/øRèPØQ$^TX´Rì[<P¢VR}”p4æèÄ1³cW“ç_:á}âQ©fé™2¦²¤²OåŽåwN*œ¬¬ V쯘9eª§R¡²ªŠ¡*±j®ÚµúAfÍùZ®ÚœÚ•ºàºÑÓ§ož‘=SYOªO­_8ëwöÅ9³s7Ï˯i`mÈjX½qaú¢Ãź—/‰_ªhblÊlZkÞÛ<ÓâÞ2|y×åŽ+ªW.^¾Z~éZv+Ôº¿õ{[PÛd»Kû“ëæ×ïÜйÑzSþæù[·NÝæ¼]ÜAߑ݉îLî\éŠíúÞÖ=Ûãß3ugϱ»ÎwGzíz‡îYÝ{ØgÖwÿ¾ÉýÞ~£þ; t?ÔØ5 7ÐõHÿQ÷cƒÇ=ƒ†ƒ½C&C}OÌž<¶|j÷tä™Ó³Ñ‘©ç~Ïg_„½øþ2æåÊ«äQÔhÖýXñkÎ×§Þ¿9?®0Þ:¡3qwÒbrxÊejj:xúÇÛøwð»Ü÷ÌïOΈÌ\ú þ¡{Öbvä£çÇŸb>mÎå|fû\ýEúKÛWïƒßܾÍ~ùÿ82Ï3~AmáîO»Ÿ“‹‹KyËÜËçiüº¿â¼òa5n ¿Vº.±~}Ã|cl3üo,ð7ø üþÆc¿±ÀßXàï¹Àßs¿çÏþž ü=ø{.ðÿ÷\€êéµ  ö÷àG=�tÎ�0@@ýoÛó(¿£ €BH!xËÀ#<„(ÐEø†C  ¼ƒX!=(áÞ¢p|łڇšDÛ¡0v˜)ì~;®M#C³@ÛK¨&¦ÒùÓ›3(’ÈŒÌL´Ìh +Ž]ˆC•Ó‚+;—ç2ï(?ž¬!*X-4#¢$š(Ö/Á!é'Õ,½&k*W(ÿRQ@ÉG¹VeR[¢‘§Ù¥5¯-¬c«{xç}¬¶a¬Q½ñ Sì.3óƒ5–ÝV¯­wÓÛ ÙiP,í=¢ÓJ/¸Ürt›tÿ¾ö$y‘½|t|-ü\ýÃæ•W…ä‡F‡¹„G(Qö2GÒD¡¢6¢WcVc7âàýøxÆ\ B‰¢IädžöƒL©„4tÚæ¡•ôùŒ¹Ì™¬éì79¯rŸç==<’¿\\ø«8ù(t,ùøçRë²óåËZ§¨È©ZwõTÍJýi3õqg¯œûÚ yÁçbYcÿ¥õfé‡Ë)WÎ]¸¶ÐÆÞ®vÝñ†ïM¿[·ƒ;‚;CºÂ»£zâî¤ÜÍí-½×Ð×uÿUÿÂCº¶G¤ÇøÇƒóCÓO††;Ÿ6=«)|~èEÂËØW‘£Qc–¯Q¯O¾Ñ|36ž9¡617yn*xZazõíýw'ÞΨ}À|x0›úQåãûOÇç¬?3|ûÒùõæ·Ñró=?[—ÖŒ77‘ù‡�Ð#<”$ÐŽ àÄ Y"¼P `+¸^Gù£FÐ6è§O̶§ƒûŽ?GL«BÀƈ-t¹ôA $EFN&Ó:ó<ËgÖolK웜D.2·…w/_ ÿ5òA&!ká,‘^1”øN‰DÉV©yY¹SòOÑJÊÊ{T²U[Ô^¨¯iòiéí×®Ôy¨»¬'¨ojj˜oÔd<`òÎtÕŒdN¶µÔ´2´¶´qÞíi`N‰¶?àâ˜å”ï\âRîZíVï~ÉãÊžvÏn¯ÞÃ>£¾S~þZ%‡„8†‡i„+DHP…ö’#ù£ÈÑÂ1’±òûTâÔ÷+Ç+KNKLæOá>È–JJ#§£Ò73V3—²–rs©yïòmÜ..J)>ÊÌûøÉ¥Kå<'wT8!+!»êJõJ­i]Ñéñz±³¡ç.œŸ» yÑ·±ìÒP3ºEýrЕWû[qmF퇮÷ÞDÝÒ¾} ãZç\·`åNúÝ˽“}„ûJýBîH{”õ8w0{(ýIòpüÓègÔ‘Ðçá/"_ƽJÍËxô&f<lÂÒcÊiz÷[ów¦ïgŒ>Ïš~´ød3gþYõ Ç—/_»¾~÷û±s^xã§Ø¢ÓÒ•_”U—õ•íùÇ2û@h‚ÝÛxaÇæPY1PôY;àD¸E@íAµ¢YщèÌÖ; Ãmâ hDhnÑ:Ò.Šˆ*ÄQºCô ôÓ ÇH–ŒXƦC̦,t,#¬lÁìúkœ¯¹np—ñìçuäSçgçŸ' \ÌòV¡™mËw—“$I.H=—n“9!»OŽ"¯¨@¯0«Ø¥t\9LEO•Eõ½Z«z–†‹¦„æ’Vھ: º°îÐÎ*=ª¾ž£Á¤a³QŠñn“¦]»Ž˜¹šs™?·8jioÅi5f]cº[Ãc;lWC‰²7ràp˜sìp*vpÑvåpýá6à~Æ#e›§º“לwŸOo²Ÿ›¿z�sÀ·À‡AuÁûC,BC—Âˆ *P÷¶EÆFÉDMFÇèÆ|‰­ßw0.`¿uüŽÒ <‰¤$šdTòFÊêÁ_©ËiˇÓd,gqf[æ¤æÞÈûž/vħ ²p´˜»ÄõhűÉb¥áeWËU(œrß^K㵸:…ÓgŠêïC7jÈ¿ðºQáÒá¦-Æ—Ï^%\‹no߬$[mš·» {ݵïè ëgxÐ>`ûèÃ`ê™áÏ:Ÿß{E;vx<yjqÆú3Ç"jkþóé[{V€É�8Ž@‘ €áÍ�`§ÀÁ �­Lhú9€øÚþ{ÿCØé›Û¬Žì=ƒ¦À9p'¼„’G… Î ¦Ðühwt9zÃqÁ”c^cù±ÞØ:ìœ .׆ÛÀ›âóñOi¸h¼i=E—6—öAŒ°ÐGä&FïÒñÐÅÒ ÑËÑçÓc°ch#ñ“²H Œ^ŒCL:L ¿™Ã¼ÁÉò‘Õuá.ÇÙ}Ø?qÄrœE\¢\7¹í¹¿óäóÊòñÅðóðß!‡ ðÜŒ’z+\.âˆp…ƒbEâ\ã’g¥öJëÊ0ȬÉþ”û.?«0¥øZiDy@¥[õºZ³úYJÍZGvdj§ê$ëfí,×kÐï4xa¸hÌl"oJÙoVm~ßâ§•€µµMÊîÛ'vÝ” {Kv‡Ç6§\go=Wq7wŒû¦Ç¦'ÁKÐ[Ç'À·Ä¯?€6Ð"¨0¸=d4t%œ'b'ÕoAäí¨…ñØ=û*ã&ãÅD$ÜN"&»§´§2¦EZÎÈÈbήÎÕÈÌ÷9²RXX,\ÒzÌôøÓR²™“K•%Õµ|usg:ÏVŸÏº°·Ñ¥É´Eé ßÕÍÖéö®'oóv™Þ±¹'ÿëÃã%†.<©~)0ZûfפÒ[ÕÌs×¾²~W›g]¸±(·”¸|ñWýJÙªÝÝÚÙu±õ3"]›žÛ¿&HFÂ+ˆ²‡  û0k‘ðyø-Âý»£ÊQ¯ÐÜh7tz#Œ À4`¾cÕ°‰ØGÁUàfðJãÞGÃHãNsáÕhÒ¾'hò ÓDMb ñ 9Ýyz}8ýS† §IŒ¤dÒ7FÆçL»˜®3Ë2ŸFØì¬l¬ÇØ8Ù*Ø…Ù›8t9†8ý87¸Ê¸5¸Gy’y…yñÅó‹#¼r®€žÀ¢`“P¨°¸ð‘ÑP1%±uñ^‰#’RRR›ÒC27d/Ë5Ë_T¨W¬SªR.S)R=¬–©~Pã€f¬uGˆvN.ugŠ^¾~•ÁUÃA£9¬©Ø. ³HóR‹ËoÖ|6Ö»Ólí.R’í)ÒŽÇNýÎÍ.•®Ån9î¹…{*=¯y {/û ûÙùçôa‚BLBÃÓ#Š©÷ÞüÍ£뽯8®wÿƵ„ØÄ«I‹):3S‘Ò­2 2³I9¹5yŸóÕŽdL©—”,s9Þ]*Svê$sÅáJƪÆû:Ôéöú}çô.¼mlm*j ¼¢¡u²½ñFÌ-›Ý.åù»÷Dî ={,>$>,öLì¹èK±Qá×Rãn“oÅß7Ïš~ø¢ö-éGÁBÄ"y©vycEvuÇšÚ:n}`£{þ-@²Wd@o`8 C)£òQŸÐfèó"&ó«Ž=…Ãà"p/‘÷¼yË3iæi}iG–„;D]âm:º;ô–ô¯BH€t‚Q…q„)œÇ\ÇbÄ2ËZĦÃö™½šÃ•“ƒs”«†;ŒGÉ!xÏ×Í_MNÜ-¤#,-Â'Ê,F§‘ÀKÒJ‘¤ydddä²äÛf”8•MT¢TëÔžj`45´BwÔiëòîtÑ+ÑbÈbäj\e2»KÃ,Ç|ÔRÉ*×úÃî]¶g),öYާdàšï.èÑíã­æKò[ X Z 9&~‘*¿÷r”zt[¬Ò¾–ýrñd/&Ë¥ÜJ5NkO‡2,3K³&sdsSòçs *¸^„+v,©?ºtÜôÄñÒ™r“y“•ºU—k¤këO‹œ©;+~®©AñBk£Ò¥f$N¬¸ÂxõÀµé6³ö‹7ho†ÞèîÌéúØcz§æîú=J_C?x@yxn`ý±åàÉ¡OÃOsž<{ÿòþ(×Xàëú7¯'ø&ƒ¦Zßbß9¿¯ž™žåÿh÷)i®æó•/í_›¿úžõÃc^nþëÂéŸN?-–-)/ÝZ6^~üKç×…®•ì•ÉUÕÕÜÕ‰5•µÄµ+kŸÖ×× ×ûÖ77Ô6¨ç6¦6¹7)›‡7{·æÿwÖÖþh "B#"ɆÛÿ練Ð$Ïk»0!51<Ôj+·‹ ¹>øzš#wäÚ †nçÁ!:—_¸½"ÛÂÒáÞVÖÿ`ÿHc[#}!j´þæ@°?5Ú†ò<)>ÐÀ ÁDD^âeôÇNU°—’ƒ†DË�j‰Œ±µG°0‚;£bí¶òèH~HqüGgÁ×Ïð9 ûïú­3EïÚòÅ‚üù ‰0ßâ Væ ø!1x$R‡#9aÀ�þSË�à…´Ä"mQ ¼GpÒ#é`ò?zÿ&1Þî€ôûŸÉH~YâíÏßÞȈÏ?6ƒ€/‚ÿȽ[m[£‹Ú”ú/Ÿ4¶ìmF¾A~V~íϘТhE´ Z­ÖAk�2š ÍdÐÊhu´Z­…´i�cð±ðgŒ[öÃZücODì×tDZ·¾»÷ŸVà°­ôߟÿm èÑ\ëÜŸ ù“Û9È“XdžN"y~�ÜI¸´uû%Ú/n+WDP÷GF“õ¬I?iò®pYi²¢¼‚<ø/ eê\ƒÚ}��� pHYs�� �� �šœ�� �IDATxìÝ`[Õ½Çñ¿¼wì$Î"›,„�!ìF–YʃҔÇ*i )£PJKie¤´ìQF[ H);¥ìM˜aH™±ã½d½ÿÿÊ×Qɶœ[ã{A‘tǹç|®lÿttî•ODŠìöÇ?þq—3f:dȃ322Fë<&@�@�âR ±±qYIIÉ :=uÉ%—,ÖF”ûôŸásçÎÝóÈ#üUzzú´ææfimmËRi@�@�L %%E4ÛJKKË;=öØÕ~ßHÓùù{íµ×¡@`Z}}=R €� €�Ľ€uäjè•ÔÔÔi{ì±ÇaÚ -øfôë×ï`ëéeB�@�@ ‘,�¤mºÞ‚oŠööŽÒ[Ä6Ú2KÌ:VBªËÊdù3ÏJÅgŸIKCƒ³MjF–ôŸ¼Œ>ä`É8P233%--M|>I~²2Ý$^SS#Ë–-“ªª âVö-((1cÆH^^žSžuYwU¦[ÏòªRyié3²dÝgÒà¯×r[%3-G&o/ûO8Dw«žákÏ\@�@�xÐÜ9JëšbÉt×E‹½ÓYÅ­7؆A¬|}‘|qß|ÉÏÏ•ƒ‡JÁˆaâÓáÀV®’ÒukÅìÄ“N’á{í!ÙÙÙθŠHåúý~±rW®\é„^ ·¹y¹’£Ûiº•úº:-¯Ö)ÓÂïðáÃò´»:R‘NyVÏ·—½.¾äæIñA2¨h°´´ú¥dý)[W*uU rÂÔ“e·1{uYψ;cx,Ð"+¿øXjsÇÊÄá—Mq[G Q¾Xôš|YV'ý†ï {M-‘CoP* Ð]î0Íéñíêd6ëé]ùƲô®Èèì\Ù~@±Œ;ô;R|ô‘"`KyL–>ù”|Z× ëü]ƒk@Fî½·©ˆX—¦¦&Y³f¬^½Z,ƒ ’âA¥°°P,WVn’ÒR)-)qÖ±ÞÞ¡C‡:½´‘ µz¾ýÕëòïÝ)ùÃóeä˜ÁrðøÃeƄä®±FþûÙ£òÊ7/Èêerß;w‰hhß}ü>Ö3Ò¾˜@_ ”}ò¤Ì»êryyi°û~µ\vÊ>’éA¥"—]'¯Ür|<é'rÖ {ãìõÔ(oÌú©üùì;åõ¶‹¾ðÆoäîßý]FϾ@fŒÊ‰~û.¶h\»Hn½íeiÔ÷æÎ”Y S÷9Dößu[OÜ»Øý,ÞzÇ탻ϕ³þö®L?pº¼UÝ O_7Rò¶ ¦7õËW‹—{o¾ZþÛö—q»È¡»,gþüùOËÆ"<|´êÕ»eæ¯þÖ^â1?»ZÎ:iÉoŸÃˆ”n_Þ°â¾e¢/Ev®i‘¡åÕ’ÿÅRI{ãM ­ÒÉRÙ~}µÕ4Ëâ´Y¦ëMœ(YÚKiª­­•R ¶fêðë!NÑò-[ðõéãÂ~…’™‘)YYÙκ6ôÁÎ΋4•m(•GÏ—¼a92`l–äæ§JEëZY²þ#ih©“ª”rÉ/ÌâôIÕ‘¶î¶ƒ&Ê𬑊d>1'à/{SŽ:ýr‘ƒçÈ]s÷ÊO‘sÿ[.Mú³ù§Ãš¡aâÕÿÊ×ù»È!; Û®®Ê®~ó¿òæÀ“åLÝ—÷S@rw×7£¹Ùݸ²L˜¶è›ð÷_ù¯ þÙÝØ>úÚûkÖËÿ}D&5KZ!×ßöOyäÊ1sóØ&ú·Êa\t?[ç¸U˲—Þ•=~û¨üóäí$Ešµ£¢B_e[:ùåÍÛ~)çÝóžÈ§ÈmW#ýª¾•Å/?"Wýý9î´£dûæcKwÕÍí[å¬?Þ%GL,+_½GÎü㯤~à}òÛC¶ÆÀnVŠÕ@ 'NðMµaMk_zUúë°„ÝkE†ÖÕK~ÍZâð®uË:Á7ëó¥’¹¼T2šý’‘“&RšÅÙæ„™‹-//—þýû;½½n˜miñKC}£³Õµ)++ËYÇÛ6ùù‘ßc/úòeIÍH•;JN^¦¤d¤DVȇ5M:Ô¡EªÒK%³0Mäô“Üì,ù¶¼Rl›cž`Å3!õëzÞù‡ÓdjFƒ¤lÿ;YrR£7ª’àOM¤f4Ëg]!Wžÿw9p‡ð?ó—)Ç?¾DNnÚ k××m¶¿¾iMÍÈhŸo¿W:ûÔ§}Åö~iÕ7¤€_?H _¿öU5dm֖̉rï’%ÒX¹N*ê»Ú~cIÝ}Ôš<gáÄSÏ‘ãÆeËÏO9NNÞc–|úõiÚwHŒ|ÄÆEû£;;nÝmÿfëùKåí%"¹Rç|z·ÙòÎð¯{)zw¿@^üûO¤_uøSGÊäÝ–YçÔIumµž·ÑÃÂ{¸Ù¶G_(S|R[ß"Ãfž&?ùãýòmŠ}àÙËéaýÙ ÚRõGW3¬öÞtvËùü ™â÷ɰ¦V)Ðßý> ¸òm‰È[мó±ÈÚrÝÐe)2L;‚lݜϗtZ¦ïµk'ÁÙ0÷Ä5·v›;ßÖ±umwy¸ûU ßȰíêøãþRÔ¿H{Œó$=Ï/u©¥RŸ¾^²óR¤¨_ (ê'õ—!º®m®,æuþšÀ§ï|DßXÚôÁȆêj©(_'«Ölpz|ã²a©üýâýeÿýívŠ<úA©ó_ºðz¹Ò6œ7WNÑe7<³|³×~çeWË¿Ï;^Î{àÃàv Kå†S.–G½*·ÏÙ_<D?ö¿x¬©-•…óôùêþçÊ«+kÛöS+/Ì›³É~W¾pƒœ2ï©u~YèÕ›ûû¨y,˜;§­Ú–‹o—OJƒ¿¶¥îC¹ø°Ã侪ÛÛµþód®ãô¸aáÒà–ïÔŽ,X´Hæ»^stë#ýžÑÊéT[¹Z{6×ʪ–þ²“>_¢½œ­Ú¶æÈ¼G_•…7œâ¸Rk¯‘ù`áíÛ /|¾¾½~ËŸ¹AæÜðŒ|²h~û:ßþ‚¬wë¨å¾³`ÞÆeóµYiÙmõŸÿÌB™ç´qî+Ü1îpÜ´ìÒOÊ×EÛüù†m^ùΣ—é: —ºÇ/ô5_+ÏüéÇò‚¶ÿ¹?þVë7G^XÙÐÍö.”^ø»Ó¦SæÒnáþNYþÁ"c–?ÿîxI_S"•zîHõ†J)+Y#%Õ5RßìÖ#²ÍÊnw\—~°Ðy­ÛÏÂÅU6tǵ}w?­R»¾DJÊ7Hm]­T®Y-eZ¿ídqëÌýF+,°ˆå×€þèúl¨CªU²³©`m™ ÕÎáü"íÍÉÔÁU™v¯·tÝ\ªô×^Xë¡ÕŸ|}G<TO$«Xüc©\ ¶Ö›k=Bv³çîͶ±«>Øs»·ÉÖµçÕµ!³N†nS(E’3ÒS%Cs}º†ñ4½·rZZ3¤YÛj 7e6Kó6)²nCð¤³þA ²Fí)³´ž×Ÿw’¼|Ü/åç?üŽŒàö´®“;:Uæñ{yòµRòÌMrÊÙʰ‡n—©ûý@Ž¿ê1ù`ÖÿÊe‡•ŒÂ›ý<u^¶OšÖ½/_4¤·ó§HÃׯɵ¾&?¸ôv¹ÿ¬åréWÈ ß½QÆÏü½Üÿ ¹ï„Ùò›ÿ.ÏͲˆhÛ/–‚ŒÚß´B¾þb´½ûÖ!÷îï¡à_ô22’6ñòÐùó¤°æc¹â¸säÎiûÉÕG“QáÚ"ßÊŠ¯¿–±)Úsl?ã+ž“cϼB¦Ÿq<yÒtiøäq9nöÙòUÍ­2ïûãuïVÿÅrã…‹eÆy×iý›äo?º@î|A÷qô8«Þ&SÀº£uÊHÍtÊ/ÿe¹]Ÿ´ÇdÉnÕßUëËãÿÒÛÌ‹åî{w•!™­òÅ¿þ gßôšüâæ‡ä“³ä­ûþ,œy¬\|÷rÐHÞ¥Áxñ¿æÊì}O®¹û~é÷ÍórÆï/u…7j·“/ÿ}…œwS“\÷ès²CËÇòk5¸eÈ|™³ß`Ýs°þ·Í],§_q³Ü;v¨çW‡9ÆÍ›7sùÁì«äÇ×Ü/7NÏ–‡/8Zμt<1ïÉö¯žw­¤Ÿ»¼tì¶R¶d…øÛkmß8åÈ'œ/òÌ<‘#—{Oš"y…©ÚÞK»ÑÞ«´ÍÚÞÛï• c†ux 6ÉŠÅ E&þB&Õè'€îk¢mÏz\Ý©3ÓjÝÇ}rê¿ÆËźŸáËÙWüF^ßï?rÈÈŒ.\Ý=„ÞûeÅGÊÊ’UòÔ‘׎ü½<ÐHi­æÚ÷¡J<F R-ø¦tõqM†Ž¿Í´Uót`UŽž4’›«Ûî5ŒŠ]ÖL߉ëÛa ‘¥WcHÏHëôc ·77ôÞ‚­=·ÉþpYXuïÝõ:«knfŽ3„!_ÇgêXã, ÔÙ)ézo#[¥Þß"uzkÔ`Þ¤óê³Z¥:³¥Óz:•ábHÀ(ç~ô¢ìp»†¨þ"§=ô9á¢Ûä#õËÞ•ùZ×3fŒ—¦oK¥h»Ýe‚<(Ë×m'”§‹,2VFŽÔ?ÚMõR×´éGµ•mc„m*Ô“WŸC½×ÑOrÆMOÉÏ÷(”š†B±88ã&ù×Ï÷p®Ê2ý ‘Ç?[)ü;èIO¶·uõ¦ï¢òt€Cð¹^zÐ)?k[ùñ©“¥¾²Bª ÆÈND^ÍHw–¥æ…iK]°4í2vÖYúþÓZöñrÙì$¯²V w=Qî?ïe9áÏÿ‘åüG¤ëüåÈo&ÕMr€úÜ“܇SµümÁwî¥È}_½/ËlÙ‘Ë…‡ “&í‘lÖ_rü5òö%‰¿¶^ê×,kè~Þýò¿»‘ â˜}¾ûóòôû+å€mÆêo%ü±<õÑù2 ¶FüSN•Ë_¹]~óæRÙpxºnÿªîc®ŒTJ¥~»ü(]{~ÒvÚÞjH ÖÿÇêÿ³Ý‹¤^;š‹"c÷¸]’}ÇeÈ·Úƒ¾ÝQÇ‹\òŠ,¯9\&¤ùÄþ(¼õé‡òÅ´a2y»í$P_-uÍm¶º,8ù%Òt9RŸÔM*ÛŽ.ÍUË-ÝjïArÏ«’IiµÒØP×á5Ø"­–%·(=gd“W§¾^+ët¿zµžÔ¦eÚh·‰2]nzöVÙ3¯Qšwü‘L¿âqíühýŠN· ?|¸AÖ}ù޼öõZyÍ�Ö~#Ÿ¹^Æ»o8m&Ä@÷NnK?F—+R\,ÒO{wu¸€Ž#½Ðn°z¢šl¨ÒÛ½é»týuž1bx‡wò›rX/¯ãu­Ûókk¹=½nÈuzku][§³ßaý†êÇ5’›¦'Äéðˆ¼´t½eJvj†óµ¾¥Q2ôVç×˳éhÈ@C­ -ÔmBz6­%ψAýø{Íê Ùÿ”¹òî±ÿ#·^t¢üíÊ3eШ‡åP½$ M·ko°õF§ rbnº4×ëGµ6Ã_£×ÌÖŸ×pS'ewŒþüÙ6�Ÿ ^–õ ²ºTÇû7W9å/ÎÓú•êÏœÛÀ—%éú3fÿ9ñ©í ­Ø5�tIÛòMʯúHnºüj¹óy˜cÇŠ|-r`Û¶­áÚÒL[5øÚƒÚÒw4û)©:Ëi·¾Ao̤û«’&°6VÿÝÆdɪ7­c8õßÂúéÓö©UçÛ4sæå°ñ¿¢aãe‚žH[ªŸˆ5ê>méô ÛHåê’``kI•&÷Öúu²®¢Ð6•†µi2ù@ÑË-~#µ‡Öök &Œ”€^ݦÜ)^¯^3IþÛ9’în/_"ßÜÙÜùgBJF°‡\Ûkõ¢þkË*ÚV¶aÓclmÕÉ9næbÇþ9ýØçÚ¶±·+S%[¯MÙš>V~9®”žx‰œ±ðF‘~(ýÕI2©ý…¶Mô®~}•³ÿšº*ýõ¯e6êÉÉ:¿ËöN?L†4j{­ò›MéÒÏμ÷sYsÞî2L?`t§e /•³n®’ë¾Y&¦tnTëÁ8\vH-“’Jm}KMûÕ&Z»ruw¸É}¶ð¿ÉáÚ¡2ï·ŸËe{/³ç ‡ÿt°„Ê›l̈îßÌ)“¥dÍ™0 ¿kÐ_àEEz¯7û#k=¾|µ—U¯5¦ÃÒ¥TO¾IÝq²¾»v~݆m®Ðf×ܵ˗¹á×½· ì¡^÷fëÚ6…Ô1…“äƒÒ×$3æ„ß¼´ ÉKÍÖ|W®ƒ*ô“õ¤H‹“¬-i©ý§uZfØÊ3>h²µ«$%c¸üôê[åoüT{ï*õ“Œ`š¸è7å¤íÝKz¤N¯a]®½–Î*õüÑÎ~Ž4ž…-»u”þÌëö{ƒÛ·M¿^s»µHþà¦þ4hOó³¯?¿æd=°úÜb³eÇ€C î_/…¸æy}#=Ýyîijòß¼û, ½?’ÇÞyLÆddáiSä_íÛ:+nÚûaûÓûÖÖlP¬Ý·ó?“µ­»É@›¯SSã:ýw~dë8kk﬎a-´ø,Ó~ç„óqƒï„v‘‰#ô­æzY±ÊMomm«¯Õ° ¹¢¿^íLR^‰|¦MžðËq’£õ¬tªÐ"-ă¯A¾üx‰cÖÔ¶ý„Óî‡ÎÙ]K N¿žL¶º\MÛêïú;‹ƒmØôëïag¶µ9C]´ÓBfÊÂ~'#Üm4ªW¬^#5eø!rÇGGHÙ§ÏËE?<Wæü{;YxªZvœ‚»wæ:^Ýmoe³Ô6jçHÇòœç>3åd}t<÷Ö¡rÒîöF%8eõÓןözçZ@ïÂÆyRÙ$ëuès‰?µÒ(ìü=éjÛMz™Ûö­/*Y¿nuðYÚ™~„ö¼¯3O½µ¯ÃˆýíÑ¡)Swÿç_ÊJÌ?|à�ýÝ£¿Ø ô—gnÛÖtý¦½±¢ciWÙÇucFJÊÔ)Á+#(è×$ëE!*¥Ni»á×zzÝÉö`„ªõ»F¯­çö»ë…Þï·ƒ,«{WÊ¿©‘þs%×!™Ú;’®÷ö'8CÿØeút˜ƒþª*[V.9™Ù2®pí ëü\øÐ}ð¾XóÞSòNõÙcê(é—±^Þu¡S¥Æ –L=ióT¹V®üáï%û†d»ÁR¹n•4‘ÑýR%GsÄ’ž’%»/#tè’þHo2uV¶ß¾ÑÖÖŸIçç°íŒvûê<×aÁåîUôg-8C{Xõ ú“×T©™‹?oÆo'ßüG¯0±@Ë›Ü~ãP‡àólËgzÅ€Ÿ} «V¼,¾¥O‡})öàôÞmÖ'íÃ_?Õ²ëwtƒ¹òȧÊÌýÆKý·oÈŸþü¶È©·ÉH\Û6Ì£½þíC-ÜúÛþ7N~íá¶©¾J¯Qᾩp—»mo¦a³SFÊQ³'È™ó.—ç‡_"{Ó±¥¯="÷ë¢ wä˜øv@®”;ÿ[(?Ø{¼Ô}ý‚üé%‘ïýiªä¦ ’/œ!']uš\9ð¯rÄ.ô#·\Ç™ŠLš<\ôr<ÎÎ7Ößyæ»u3×fµ÷÷E®ûµüü’arÑ̽¥0µ^VS*'M”~þ5òìóoËØ©Û˰‚²£ùVf~øß»w·Úkutw°¾ÿÍßã8} ß#w^öi:çJ9B]úehˆuºˆsƒné#;µ *}£FŽ’k¥o0üZÏN];VHKXùÉçzI£Q2¨_†lXò¼üߺÒ÷ µW¾­üͶaĨ@÷‚oµþA):ø@Yõî;’™•)Å6Æ×B¯õðZXµq¹:v¶L{eWëåŒÒvßMÊõB¸^–٠ktxD†ncßÜf!74üÚs Æm]»ªƒÍ‹4tŒßťKE^­äŽÐ±ƒ6±í=¹íÕjdý·z–piì3ä(iª žÍ©Læ#k)õ«äöy7… eýØõÿäÀ-²¾6SÎxyd^:S.ýÅÚ«>çæ4è¦Ë.3/yr®ÌùÑ¿ä'×Ü+ÇŒ·¡§NË®këQu/7¦éBˆvƒ‘~ü¬Ÿ 93‚oP[%Ûɇzå' äÊž?›-2ç/rÖSºÞasä’Ù¯ÉÜ·Ü€²iùÛv™ŒŸ©üüäëP‡äW³¿'Wß|¹\ÜïÏò—cÇoÞ–1~§>:LÕ©Oú6ß•‡¯«‘cϹHþ}UL‡5œú'¹óÔ‰²¡DxÇúëï ûõb¿c½Áö9¿.µyÔ0ËÃl믒‰?¾UþÔx¡üzÎÿ+ ÿιîa9f´žX[e¿Ï¬Çx†øÞ»H~ÔVdzo’ ÷í/ë˪dÈ1Û×ÉWΑûÜ9_îŸ4T²6«¿­²¹ËøÌMÞ4î+ÏÜs™\|ò¥rÆ£m;•ƒåúã$O{S?wiðêVÜøÈí'X'†3XÄælœôzèÃôYeN›G7Ú›’Vì¼qj¤KkT[‘-g¼ù¸Œ¼ýZ¹ôº‹d[E[cü‰’£~VÓ™M M_™ýÜוn×feÇ·«m³Úkâ>h¯¸Hæ-vŸëýŒ9òð…:fe}Y0X‡,â!Ä´€ó•Åß}øá‡Ÿì¬šRíË#²õ[Ô2>ùLŠu¼]ÿÂí1µ_>ýV´Y¯c¼Ê–-—FŸV¯ßÂfcmèB¤É ¾ö…ö‡Æz€s5PÛ¥Ël²ñ¿nèµ0lá¸AÇèuU¦Õsƒ”ÊÇžÖ¯*Αþ 4£k=u5õ z-à*½úZL):T?4+‘êÏ|úJ ·x¸§5I…^ZÉ.¦’Û¿XRëÊõu] 8éy2tÈ@sY%-:ì§ GËVJ‰~ùLFÁ ¦™ J‡;¤¶TH©†¯Ð©ó²ÓdžÄ”ÕX.+ÖéÇ)ù2bä€ö²%%O†(¾º2½Ú¡º4¨_b“ç«••z¢}®’Ó¨ ÈÔÞVÝANŠŽ·ÏœôY¹¢D—oZ~F~±ŽÁ÷éu[uÝ|Õ䓿Æ:í¥Öë„—VoÞ–š,=io€4´µÕÚ•Ûˆ¾Q÷I•íPÃP^Z½¬]Sì‰îXÿû·íC§”ÜbY¬W­-WËꎟmZ÷ÛeÈÀaC$½EÇëÁÊÌ-€^îmíú`,}ýr9ãÅïÉ«·#iµz¼ôœ„ÜÔ½.nEÛ5™Ó¤pð)LiÒc¦B™úµîº|åJõܬþÁ½n~Œ›7]-³ X÷Ï’šªZý›©ç,§JùŠ•: x møŠîNÝíƒÕR©WâØlòåÈ6£‰¯¶LV–Úñ¶©óö:¯¯œ&YùïN¦”ýºù’ÖR¥ÇN×Ô¿ ¹9ú7'C/Åöí*½¤›mÙ&«x„ ÌÖou^Wºj›U“»uα‹¼íæõJ“â‘CÅW£cØ E_GÅ):Lg­XÕ˜@ ~Ž=öØïÙØ‚#zè¡Ç;«¶ÛËj¡²H¯ðÐøþ’©WoÈÑ^Zëñ­Õá MÚ#›©C"*´××=q&´÷¶cùn™ömj­W× ¸¶®ˆmxƒ=¶1¾6u§L«gn¿\ùTOnÙà_.©i–{õ~–ôK%“‹§Ií†ÚnÕÓÙ)ÿ kz•• ^d¸ø›E?ÈØlJÕ“;Sô–f=‘3t©n›®ïI7›ï®Ó²ÝU{rïÓòõ!ý§©A¯¸hWMt×uÆùë�}íÀ N]µÅÖò¥jºÃ@‹4‡ƒj+jkÞ¥jpKуÕZwÝáÚ—/’Ÿ]w°ÜûÐÁ’§ç0¤èxèfý"ŸÍ&§zÉ4ý"ž–öÆo¶ÖÆÝqÑN‹tÅ è>í˃B§`}7º‡.ëÎãHííζ¡ë¤êùi©ú"×_à6L#lÛ£µÙtú³ÐW½Ú…ŸTë+ÒO<›ºñÚ Ý@ &Ž;î¸#-ø¹`Á‚Ǻª‘õÐZo«ýá±ÞYš`m²!5z‘q¶à~ÉDg=³î¾Üðk½¼€3uè„]¹Á&û¨ÑÆõZàu¿Å­³Ðë–¹5êé–Í= à¥@º¿R–”fÈè!9Îi·^–MY €�› Ìœ9ó(çä6 ‹Ý™,ŒÚº%:䡬¬l“MÜ2,ÌZ@uŸo²R„'Ö£kÙ&7ܺ¡Ø-Ï–¹óìqgÓÖªggûd ­€?w¤Là—õë«+-ë#€�Ñ Onën ´òÝuÃüáîß]Ç}Þ{w÷>t›póB—‡{ìnãu=Ãí‹y €@Ošk+¤$8Ü·'›³  €@tNðõ=ðÀÑmÆÚ €� €�Ä—€#?(//__õ¦¶ €� €�t_`À€3ízc~™@�@�HdŸ_»1!€� €� ÈÎ7LÐã›È‡˜¶!€� €�˜€ÓãKðåÅ€� €� è uHô#Lû@�@�†:ðB@�@�H †:$Åa¦‘ €� €�_^ €� €�I!@ðMŠÃL#@�@�œà  €� €� /À7·%ü!¦ €� €�*ÀP^ €� €�I!ÀP‡¤8Ì4@�@@ÒÔ€onã…€�[E ±±EþñÏäÍ×WKii½ñûŹׇÎÔ*ïQ<�� �IDATí‚3l�VèÔÚö$Fæü­rÈaËBkÈc쵑ŸŸ/'N”}÷ÝW222<(•"@�M||™@�Ï,ôžü“gdÊ΃ä×W,ƒ†HFš¦WŸORÚßnûâî÷7«KdêØA¯¶ÌÞŽç¶‹ùúXÈ ìykk«”——ËóÏ?¯o–þ!³fÍ"ü†"ñ< Ç×F A�Ž7ßø‘ÔöË’ÎÞ[25ðÖ´Ä×íáÕìë^Ÿ=ØlÒPd¹h³e±1m­vYÛÔ!¼gj{˜¯;ØQ¾v¨Sô‹D”™3gÊ}óçË‹/¾(ßùÎw‚¬ü‹�x#@¯7Ž”‚�¡Ö{÷øó_ËÌ ”úæ€4éóM7)>»fZ ?–œû¶Û3c Ï/­÷ëp¶ðÚh÷X ´Ø°ÿþr÷ÝwËÁìâ̆ €@†:t�á)l¹€úÖT<¬ŸÔµˆ¤k÷žÏ§½½hCBí¦=¾¡}€V7ÇÖüšfëÔ Ö)6k¸ioj,Jv|…¹žvo·ÂÂBIOOwÞ`XO0 à•�C¼’¤h¨¯¯—/ËR¥¡·H‡8ø>Iu†÷ºÃܱ½Á�ùƳOHQñ`™´ÓníelßÜEƒpçóßzñ?Ò¿xˆŒ›<Õ]±í>ºrÜúÔivk xÆÛ ·`mÎÃpóŸ|âI=Á¯Tƒ¿Oú÷ï/S¦L‘Q£GE\ß„+'æo2ÎÁ¾™püÚ‹`{Y�fB�<`¨ƒGƒ�!ÎP€ìt ˆ>©×àÐÞÞT]žjQÎé&Õ�²þü[®–ÉÓö–±;LsæZö ]î®Ú“ùÏ<ò2aÊ49i'·˜àâögt§üz¿¶GÇ*ÛäÝ%…›Í5×Hcc£L˜0AÞ{ï=Y±b…Ü{ï½rÄGDUN´ûÝ’õW­Zåœt6bħaáÚÕ“òÂ:üãöúÚkÇggg3¤¤ƒO@`Ëê°å†”€�á2ÓdMU½h�NÑà›–ê¿Þ[gÇP«9G¬U;S5M—º!+”{>ÿœkþ®·•m¶°ü†¶Ë±YQÑN6fõ²Ë.s6;òÈ#åÎ;ï”ï}ï{ÑÓkëŸ{î¹²í¶ÛÊå—_¾U÷é¼Ð ·Ðk÷YYY[uŸŽ�É)Àà©ä<î´­/•&Ët¬ÃúÆV)ÓÂ*41V5¤¦©Ujš[¥Noµští¾UÃN³ÊZ]V«ìfóëõ¶®¤Lþ|Áirʾ£å”ýÆÈ_/:CÊÊ××ÕõW¯]#s6Sfí9\Îûþ^rï WÈù?د½œkuš<öÏ[Ú×_§Ã ®»øL9í€ñrÒnƒå—Çîv¿N]ÂÔÇæ·´´ˆ¿ífCo‘æ[ ³›»îøñãå‹/¾pʹå–[ä°Ã“±cÇÊQG%o½õV{ù§Ÿ~ºÜtÓM2gÎ5j”TVTHWëÛr ØvMÜý÷ÛO–,Y"óõJ ;ï¼³LŸ>].\Ø^þÚµk夓NrÊž6mšs5kƒõP¿ôÒKN¯ô.»ì"O>ñ„³M¤õ­]áêúúë¯ËÑGí”?yòd±í]÷Þ1ÓžÞÖÖà‰ƒMMß­ÿÊHJz|“ò°ÓhzA@ƒïgiÒZÒ,z93;G)U»oSÚ.âkïºÝ¾Ýj À+õ2a¯®Ö3Çt²@_Û¿O^ò±/8ôO9Ë^»é™ûËSä°¹JŠ®øø…³teŸqí3’‘“//ßp®¬ùæ+§,+g™)hè7R2Ö4;ë?qñ¥zí Ùûç×ÊðŠ5ËÂî·U+gåÛdwn}>-o’{Ú¶ÈYîþcí‰4ßz1›››q«Ë—/—|PŽÒ^ß:-kÀ€NP7nœœwÞyrà 7ÈÍ7ßìûí·ßÊsÏ='gžy¦<ñøãúEó)]®ÿ /8×Á}äá‡ågŸí\"lêԩΕìj W]u•ó%¶ƒÓN;M†.o¼ñ†Øú^x¡<ûì³ròÉ'Ë+¯¼âÖóµNyúåV×Hë[Y¡u}¼­®¿ýíoÅz·ï¹çYµr¥sm^»nrz{õÍßßBð Ä<Øbz|·˜@ ¬@fºŽ*H‘M6„¡9¢7ŸóÜNvók”l±›Î·¿[Öv³å6¿BêÊw_íþ©äŸèܶÓÇß¾ó¬T­[%ëW-“Õ¾*“ý™äÝVÒ ɶ3ŽwªceY9V¶ £°ñÆk¾‘U‹_’í<]†M;TZÓ2¥ßˆI›í×êeëw¬Í÷ipnm§]ÍB{Mg̘á„Nûv²ßþîwN]?üpÙ~ûíPh=²ï¿ÿ¾3ßýÇzƒgÏž-£ÇŒq.ïÕÕúßýîwâá:6×ÊËË˓믿Þ¶pÀÈçŸîmãŒ-ÜtÐANOìTíþòË/“ðrssú؃þÌí›Ô:[¿c]Ç´Õ555ÕùR /lõ‰t²š…^}oúF†¡®(÷ à¥�=¾^jRlб½ùÚÓ›“æ“ìôTI×1¾éíšfNo¯ÓÝëüã\æ,]/û›©§Àiàt§ŠòUÎÑ“w•܌௫‘ÛO€kÑeš«ƒË·ß¸<3MËÐ"Üõ­—9ÃÊNO“ŠŠ`ycvÙ¯}¹S€Ž=Ýo°Tý7Ìü‚ŒÔ][ÖÆ6Û•N=õT=z´ <¸}7O?ý´L­GØ& îe¼l»!C†´?·å]­?pàÀöõ-xÚåÁÒÒ‚~n¹voaÔ&áηa ß|óM{ýlÿî²®ÖWWë½>ÿüóeŸ}ö‘3Î8C.¸à'D;;ÖœÀ«ÇËùmûÒ¶Û<‚¯+Ä=x)àyðµñ[ö1^]]—õ¤,ˆ#êêj‘¬Q’£ÁÔBo^[ðMÕ¤ê`ÁncÀµpjÁØÂªeM›,ÿ2Ìy\·úK<d¸óxݪ/œûâ¡ÛH~ñ0IËÌ–º•ŸË }nSkÍz˽’§Õ&Ûªm3Ú™Wñå{2zò.Îc÷ŸÐýºóì¾ãü< ó&{23FöÚk¯M6ýúë¯á6wýâ†ûï¿_æÍ›·É>,PºûŒv}Û6t{7ÄZy#GŽtêò«_ýJ¬'¸ãÔqÛ®Ö·íC÷eÏm\ò‚ œ¡úí §œrŠ-jŸ,èêÿ:C¯{rÛË/¿,ù:Ä‚ ’O ''GFí¼ñ÷²õžßuëÖ9“ÙÇjí½^V˜²@ öªªª,ñJöàæ¦§H¶†Ð Œ|5ßj¯þcÿëÍÆ8áT{ óÚzu-Ù¢Üm·“a“v‘OŸºWÆï´‡´ê PŸþçŸ2\{}·3Á)gÜôåÅ[/‘}«×KÙŠ/å“–”Ô4í=Ns†´÷øjÙyºÍØ]ÅÜ.c§L—m´ìRÝfàðm±³î~M8Òc+×Â]´“»{ïn¿~ýzç¡Øf×ùµ¡öÆÁ]ÏîÝ›­íú¡åØö¡ÏÇh·!Ö+k'ÛÙX_ë´°ài¿Ç­Nüqû6]­ïÖÓ݇íoÑ¢Eb'Íí¹çžNíͶå69½¾m÷¶oÛÞz|‡êü-qVâHû=`—´¡Wöû ô²-Eð4øÚÇ`ÅÅÅí«…þòÛÒŠ²=Ä€3Ž3' ùÖÛ«3Go6!Õ†9XàÕëÜkºtN"Ó_l¯Þw­¼6ÿ/í½Ó^ò‹¼*³®¾_îûõIrõ‘cõú¹~2nùñUÿ'¹Yκ'^z‡<ö×_É›Ý"ãv›!œ|®<}ëe|mŒ±žP§;J·!úܦYWÞ'÷hy7ÏÚCrúõ—Œì\¹ø±/õã÷àúx©í¦°rÜùV®Ûûj빡­ãï»pó­·Õíqu×ßc=äÐC•½÷Þ[ŠŠŠä¢‹.rÆÄÚÉlwÜq‡S[×Ýg´ëÛ¶vs÷ëÞ»åÝvÛmr¶ž�·Ûn»9=À555r×]w9AÕ®ö0kÖ,±á×]w ½Â­o• ­«=·«QXXïׯŸLš4É)ÏÝ·-wÜÀkÛÛc ¾¾m˜$—€ý^°«¾TVV:C²¼ ¾ÖmqZyyùß¼ ]¼x± 6Lì¤ûåj¿À˜@ ù*ô’[Sþå—Óö#ÛfKž†Eb+š?õwƒ†£6’Ð_6Ï —¡bîüÚÊr Ì©’S BîüÐuíñçŸ$¶îÙw<µÉ¢Žë×nÐ!Ú«åu¶ßM Ñ'_[&Mó´ÏÀÙ……C yö»Ó*fõEš¢]?R9îüÚÚZ±Û AƒÜYí÷6„Íæ»¡Ùt¶~û†m,LÛdA¶ãä_÷Þ¾ÀÂnkÖ¬qN„³7L \öûÀÞ�Ûï™Õ«W;—bôB@¯ sº§¿½333oÛ±wó„^/e Ÿöó¿Ka­öæµJAVºäf‹|õ³`ðm ¿z×ÝsÊ$?o@¸sÍäñ›¯–šŠr9y'ùäµçåƒç•óîzT××€­‰6ä\¹vL›ŸŸ×¿ý¹û ³õÝròs²µ÷Õ®áídŸ–¹SwƵF»¾[v¤{žf·pÓ6ÛÇO‡.ëlýÐõì±õöFšÜÀkËÝÇ|íž…^þ–D’c>‰+`?÷v³op´léåäi𵳆ééõòðPñ)`¿¬v¬xNì(…š¥rµãÒ.*`\uÐviø´_·'Ö‚¥=v&[¦ôÎ ®ÍßißÝ5ð¾"K=+ƒ† ‘«Ÿ~EÆí´sÔåtw¿…ýtèDzpØDp'üÛS7è†ÞÛßëéy÷Ýwëÿö´l¶C�ø°àk¿Ü+ÒxÕOƒ¯W•¢ˆoûE5!«VJ×~(¹;í-jàÕ&¹Ch²4s¯Ãö»õÖdŸ¼Û5m™¼°Ðë_+Ñ¿óÎ;Îp¯ÿàyScJA�x øÆóÑ£îĨ€ w²/E°o {sõ{²ý¡GÈÈIzé,=Ù-ÒÔ1 [o¯M±6ßê:ÖÕž3m¹€Èb—Â|òÉ'/ذKž…ž·å{ @@?yðZÀ>¢²]íkoí«k_¹î2§'/´gÏë}öfy›ž6×›{NÜ}¹cúìföº±×ÍcB�¼ øz©IY Ð.`½¢öå?ýéO¥¤¤Ä¹,ÝdB œ€½^ìªvõâ@è §Ä<ØR‚ï– ²=D°ðb'‚YïÝ¥Ç7bƒYÐc7èº÷=.ˆ @�N¾à°¼pÃŒ{ïM©”‚� €@tv¢5 €� €� /@ðMøCL@�@�L€àËë�@�@ )¾Iq˜i$ €� €�Á—×� €� €@Rlµ«:dee% D�@�ð^ ¦¦ÆóBéñõœ”@�@�bQ€à‹G…:!€� €�x.@ðõœ”@�@�bQ€à‹G…:!€� €�x.àéÉm@Àó R`â 4ùRßÒÚV)©k•òúV©mH³?qÛÜÝ–¥§Šä¦ûd@vŠ ÊI‘âÜÉNóIFª¯»E° €�q/àu¶ô4øú|üQŽûWX/5ÀBoeC«¬©ñËò Á{ À„›[{©1¼›tý,Æ‚®Þ¡y©2º9x_˜•BøáãFÕ@�¼ð:[z|½m*¥%²€ÜÕÕ­òQ©_VVµHņjñ×Vˆ¿¡FÒ|ÁO:¾Ëëøâååï.JŸµ£§oµg7¯([ŠGÈØ1RÕ˜&€O2éõMä Ú†� °•¾[˜â7°Þ^ëÝý¶:zËK×JNk½Ì˜6^åK††»xŸÞܹÞ¢¦Ö²¯Û"}¦iq Ù}«öx7éƒUëjäÅ·×Ê»%u"»–Â, Ã>†<„d €�Ý øvG‰u<°Þ^Ó»Jƒ¯õôfûëä‡3v‘ÉÃr$7#U{5ãÿœË7V·ÊÈi’š’")šuS4ýú4ÞZìÕŽ[g²a÷±õæ¶êy&o÷ -­R”Ÿ!Y…9òÀ“Kå«eÕ2 ·ÐókÃëëéK’Â@�’D€à›$:–šYÙpNd³^ßæê2™²M®Œ-ÒÞÌ4K‚~iÖ³ÛlXƒ;TÜÞëË×Ô¤BÛ™šÒ*ãÝnï¯õìV”–HQñ m³ó°×× ¾"þVë¬ó²ÓeÄØ"YúE™”ê;Ðüúev€á) €�t)@ðí’ˆ¼¨Ó_»zCžÅ–ÚÚ, r$ç!¸¹9xÝ”¨;î~-ø†ŽõÕåëíŠxƒõµzÚÍ&»ß°¾D.úÉrùHÑ aÎ|ð`X3¯3Ü¡¥Õ'-z…‹~E¹R¹aã帩 €�D/@ðÞ¬}‹––I±²õÆÔ}&ýß.YÖ¨÷iÚÛ©—0H•Vñûƒ×1 ¶nòµyno¯íÉ?ñÄòÞ{ï9yêÔ©rôÑGKzzz{Ež|òI)-+uºSG-{íµ—ddd´/wX ÕÙ±üö•z¸¼ª©Ut,³mîöòÚP7þÞsãUR¶f•Üý×¹2û7:óàk¡WŸYømÑí5üZÏo 5Åñ27ócB�@�èb6øþç?ÿ‘AƒÉ®»î}«ºØâé§Ÿ–!C†È”)SºX³óÅßÿþ÷eï½÷– /¼0ìŠÖ†ÒR ^!“µgòäÉ!szç¡Wmö²¶^Ý7 ö&Â&  ÎM#£ÅD'•:÷ÿ©¬¬”SN9EV®\)ǼäååÉ_ÿúW¹á†äÞ{ï•aÆéÖ>™7ož444È„ äí·ß–ŠŠ y衇d÷Ýww–G*ßö‘k‚k٣Щ«åÕZ´gÖÚ’Òv• +ÕÞ"}öÞ«òÒã÷;Å-zæQÙíïËŽ{èŒïUg—-š|ýú¤F{Å^÷üCëÂc@�èž@Ìßk¯½Öé¡ÛÁwÁ‚N ÞÒàÛ±µ¡¾¾^vÙe—öU·Ùf›­|W¯^íôžŽ1¢}¿½Õæövó_3jjj †D·÷ÜðfeOþš;w®|ýõ×òÒK/IAA³Ö™gž)ßýîwå‚ .þóŸ–  xðÁËï~÷;g3fÈm·Ý&Ó¦Ms–G*ßY¹“ýwg¹ IhÔÞÙT'ôc²©¡Ö/¯?õ°LØy/§ûçõ§–ñÓö_JªÆì€öøÄ:u´ŒÊFýr½‰]Ø— @�¶H fƒïµª‹ÿö·¿u±†w‹:è ¹ì²Ë¼+°%Yø;v¬üñl_»7ÛܾÓn<pzDð['Ö뛚šêô[ÇçæÁTÇÆnØ ÿøÇ?ää“Ov†5Xhv' ¾W\q…|òÉ'2vÛmuœlpܰ»ÎàÁƒ¥¦¦ÆéŽT¾õªZ¶tù·Íé²¶¶EÒµ¬T½¬ƒ…^§­ÚªÃϹÚéùµz[ȵl\ÑlWuðk5ôêsëñµ/ò°“ÙÖèÉl’�Wºp÷ €�ô•@\v#­_¿^Î:ë,™4i’l·Ývò³ŸýLìãow²á?úÑdܸqb½|×\sXÏŸ;Ù¶wÜq‡ûT¬¼³Ï>[vØa5j”³»ÐãGá|\nClL©Ó‰'ž(>ø`{Q÷ß¿Sgw†ÕÑöýç?ÿYvÚi'9üðÃ7Ùw¤:ÿå/‘—_~YæÏŸ/Ó§O—§žzÊ)2\›;3ìjÿV¯HC<Ü6tçÞêà> ¾NïoKS³ŽÝmrÆïÚ}“Ý´WøóÏ?wò>{ï³ÙrÃkÓ§Ÿ~*¶½…X ¿ëÖ­•<(/¾ø¢Ø1´r"•o˼Xþµ~+Ýrý‚Ž¥U~ùrƒ_¾ÐÛ’Šù¼²E¾Ô›ÝÛmIeÛ2}¼T×ùªªU–é6¶í7z[­Á·ÞRxš~‡1 €�l‘@\ß3Î8CÖ®]+=ö˜<ú裲jÕ*±ºÝéÔSO•êêjyæ™gÄ>âÿðÃeÙ²eîbgýòòòöç§vš¼þúëb¡ñË/¿”[o½µ}ÙСCåÊ+¯”>úÈs|óÍ7·/ë΃uëÖÉ»ï¾ëܬ'ÒV¬X!UUUîS'¸Û˜Uw²6Y},Ä?ðÀξm«;Eª³ÙØV x .lñV^h›»2ìjÿûÆÝúôôÞíñµ{÷±S–3,À-U—éunm¹Óµiô˜Ñ!ÃoƒËí­ã´³­»ø®»îÒ¡ »É¹¿<Wìñ¡‡j›»“-P:ÓÆòmû¶Y›•o˺½\{±ývm^ÝÆ¯·Víé è<»×‹µ9÷v¡3»µ´=wÖ×ûužõuª§Ûdë‰mÚm¬ÿ"€� €@ân¨Ã7ß|#/¼ð‚Üwß}N/¬µÜB¯õðZp´Kb½öÚkNç˜1c;Ê‚m¸iùòåÎXÑË/¿\9äg•‰'¶¯j½½îdÒN ŠfzõÕWzÙ66æö–[néöæû쳺m«ÛÕW_ílÛYsss%33S²²²dàÀa÷Õ•áðáÃí"íßZo²“õøºÒîÝçNÙú¼}j{h=ò6½õÖ[²­ghŸtyéºR§—×Öqª ‰˜={¶sÌ1òì³ÏŠöö)LùîvÎ:[°|°ŽÉÍÑ/ãpFíZ»´ÀT½wm[[¬x{œlü²Ý,,ÛP‡TÉÐät´ƒ_ŸÔ$À·Ù¹-å@�¾ˆ»àûí·ß:V;ï¼s»™]ÊÊ&ëEuƒ‹;¯}¥Ü^V÷còŽ«ÙP;I͵MÑžYÜqÇõxŒoh°³Ëp¹ûîªÎÛÐñyW†nð´ÿŽåmÉs;^v³Àkã{Ýçîq -ÛÚou²±ºöæÆÞì„Nl-øÛI‹nYö&À®bÇð‡?ü¡Ó~à¶¿NB·w}m^¤ý»ëwµ|€ßt¯ÜB[Ö¶i@þÃ)²æ³ÅúÜbmŠž(Ç]>_“qš3Þׯ³[­Ò¤£ZÔ&Kƒ/CÚø¸C�@` âîóS =6}ñÅíÍþì³ÏœÇ6,Á±õvºólAYYYûºØUl²á'»rÀ¬Y³äâ‹/vz™mx€—“{ÝZ+3tBWûè¬Î]mkË»2ìN^­c×niiiao`Ý›]£×Žío~óyî¹çÄzÓÝe|ðsI3«]\\ì”å†h[Ç.;gC`Î;ï<gL·»?w{»·òÝùî}O—ÐÞ^ëñÍÕ±¹yéi’›©[º|çÔ‹¥¥f½4UWè­\9íbÉÏΔ¼Œ4ÝF×uîÓ%׳öôf9CãëÕkŽr@�’W îz|­ÇÏNö²“·ì2am؃ÞÑ£G;=up€üþ÷¿wNzûꫯœ/:°�n²áö‘¾ÿ´ò¬lÛÆæ»Ù—””8'…ŽË W^wçÙ‰w¶íd®‡~Ø9ÙÎý¿«2:«³…H[nãš#M]FÚ.t¾™¶“ÀB‡…„.ïîc;.nø }Ú£ÚkÿçþÇ ©6„Á.gfÛÛ±úõ¯í„[{zÝ/µ°Ëš=ÿüóòË_þÒ9±ÐÝGÇòÝmÝ6ôdyAFºöø¦µ_Ñ!E{nm²Çl·“ìwò¹òò=×ÊîÇž*ã§îáÌw.e¦Cô‚ҪݾÍmÃ,�s93‡@�Ø"˜îñ½ñÆqª6VÕnv¹* 5vE†¥K—ÊŽ;îèÜ죻‚dì¤0»Úƒ­gCì ÙÙÙ¡ìÚ®EEEb[ =öØcíl« µçž{:‘ÛpÛ¿X¶¥Óé§ŸîŒ;¶j'¡sÎ9Q©ÎVÈI'$v-_ ñv%ƒŽSw ;nÓñ¹íß.¶¥“Û£jáÔ†sØÐ»ts—[—ëøl;Áñßÿþ·3ÌÅ®îa=Âî¶Öv»æ¯ûÜB²]•ã‘G‰¸·|w›Ž÷Ý]^ ½»9™~³´çÖ¹×Þܬà-7+U¾wêù2rò49â¬K$WçgÛ2[Oo¹ºMNV†öüfHž>ÏÖ!…Ú{Ì„� €�[&`P§éÇìž\ØÖ†ØÇðö1±­=Ù%½,8õëׯÓ]ÙÉo¶®]ᡳɮ`¡°cy¶maa¡³¬®®Î)"''§³¢ºµÌz«íº²÷×­ÛVŠTg[lW¾°ñ­Ö¦HSw #mß“ùŸ•·Èûk›dñê)h©=GȾJ~N–s<­¾î›˜ÐòC{^c}ù¹ogÈ=·Ð>h0~½”¯¶)x³ÚìqC]ƒdi›í¹{³Þ^{lßÞl_bQ£—3ûxy™”­+‘aý³dçaY2uH†l7 î>¬ =”<F�@ KËHv•©-ýtÙÝÑ€N÷ô¯g¸0âîlkÜ÷ïß?l±×_½sÙ+ûjàW^yÅéQµá]MÖën Ý×ÝGwB»»n¤ûHu¶õík™»šBÛÖÕº^-·q«y)Ú£™*¥eÕRÛœ/þíÙÔ^ùÎBºë$-â�� �IDATWûïrоY ^ç¼zÛvìŒzÐ'…ý4ôê<=-xoËíÄ6½µhðµðkÃRt…ŒÆ2õ帙 €�É àu¶ô4øÆÊ°¯9^´h‘s™2ëñ|òÉ'3ýc¥~É^Â,Ÿ ÈN‘Ay©²Z2å³5Õ2rH“^‘! ãb’aW1ˆóiøP ¶ú¡€Ïz{í¦í±:µ ûu8Xº=¿MúuÅ ú%ue ÒZ]êŒi6/s3?&@�ˆ^ !ƒ¯Áo7¦ØÈÖËA9)2¼ MÖ(Ÿ-[ê EY1y”Œµd%ÀxVû"å5~½ YÏÆæ65úeõòYòé2©©k”QcÆ9^æf~L €� ½@BßèØ¢7¬G·87EjôBµŹúÑþXY½¶Dþýúç"/-Ööõ3þ$ŸZ}˜Ó³%5·HFè›mÕiD~ªã–=âI~xi> €@ |û>Ùwk½–Ãòí$¶4)È,¡E9²ªbˆÔ6ù¥YǸ&Âdã’BOÈ‹¦Mv3½MQ–:¥É˜ÂTšGoo4†¬‹� €@G‚oGž÷Š€õZf¥H¦`»Ní ÜTÑ/]{õúµtøŠ^ÁÌ9‘Í ­Ã¬‡ÜÞ,ÐÛÛ+/Ov‚�  ß=°ñÐ, qv³@gÁ®²! u-i²ëx%ù”‘üÖ6;‘À›ä/š� à™�Á×3J ê©€€ûeö´¶C�@�º°«,1!€� €� ðß„?Ä4@�@À¾¼@�@�’B€à›‡™F"€� €�|y €� €�$…�Á7)3D�@� øò@�@�H ‚oRf‰� €� @ðå5€� €� žß@ h4@�@`ë x-=ýÊbŸÏשÀG}Ôér"€� €�$ŸÀŽ;î¶Ñ]e˰u2ÓÓßNöÃ"@�@�úT€àÛ§üì@�@ ·¾½%Í~@�@�úT€àÛ§üì@�@ ·¾½%Í~@�@�úT€àÛ§üì@�@ ·¾½%Í~@�@�úT€àÛ§üì@�@ ·¾½%Í~@�@�úT€àÛ§üì@�@ ·¾½%Í~@�@�úT€àÛ§üì@�@ ·¾½%Í~@�@�úT€àÛ§üì@�@ ·¾½%Í~@�@�úT€àÛ§üì@�@ ·< ¾@ ·êÍ~@�@�\Àëléiðõù| ÎOó@�@�zKÀëléiðí-öƒ� €� €@´ßhÅX@�@ .¾qyب4 €� €@´ßhÅX@�@ .¾qyب4 €� €@´ßhÅX@�@ .¾qyب4 €� €@´ßhÅX@�@ .¾qyب4 €� €@´ßhÅX@�@ .¾qyب4 €� €@´ßhÅX@�@ .¾qyب4 €� €@´ßhÅX@�@ .¾qyب4 €� €@´ßhÅX@�@ .< ¾@ .¨4 €� €@ì x-= ¾>Ÿ/öĨ €� €@\ x-= ¾q)J¥@�@�’B€à›‡™F"€� €�|y €� €�$…�Á7)3D�@� øò@�@�H ‚oRf‰� €� @ðå5€� €� ߤ8Ì4@�@€àËk�@�@ )¾Iq˜i$ €� €�Á—×� €� €@R|“â0ÓH@�@�‚/¯@�@�¤ ø&Åa¦‘ €� €�_^ €� €�I!@ðMŠÃL#@�@�< ¾@�Q@�@�<ð:[z|}>Ÿ'¤@�@�¼Î–ž_ €� €�±*@ðÕ#C½@�@�< øzÊIa €� €�±*@ðÕ#C½@�@�< øzÊIa €� €�±*@ðÕ#C½@�@�< øzÊIa €� €�±*@ðÕ#C½@�@�< øzÊIa €� €�±*@ðÕ#C½@�@�< øzÊIa €� €�±*@ðÕ#C½@�@�< øzÊIa €� €�±*@ðÕ#C½@�@�< øzÊIa €� €�±*@ðÕ#C½@�@�<ð4øO+Ga €� €�É+àu¶ô4øú|¾ä=2´@�@ÀS¯³¥§Á×Ó–R €� €� |=Ĥ(@�@�Ø øÆî±¡f €� €� |=Ĥ(@�@�Ø øÆî±¡f €� €� |=Ĥ(@�@�Ø øÆî±¡f €� €� |=Ĥ(@�@�Ø øÆî±¡f €� €� |=Ĥ(@�@�Ø øÆî±¡f €� €� |=Ĥ(@�@�Ø øÆî±¡f €� €� |=Ĥ(@�@�Ø øÆî±¡f €� €� |=Ĥ(@�@�Øð4øØm)5C�@�ˆ+¯³¥§Á×çóÅ&•E�@�ˆ]¯³¥§Á7vÙ¨ €� €@² |“ý@û@�@�$ ø&ɦ™ €� €@² |“ý@û@�@�$ ø&ɦ™ €� €@² |“ý@û@�@�$ ø&ɦ™ €� €@² |“ý@û@�@�$ ø&ɦ™ €� €@² |“ý@û@�@�$ ø&ɦ™ €� €@² |“ý@û@�@�$ ø&ɦ™ €� €@² |“ý@û@�@�$ ø&ɦ™ €� €@² |“ý@û@�@�$ð4ø$a£™ €� €�[[Àëléiðõù|[»ý”� €� $^gKOƒo’š‰� €� ‡ß8<hT@�@ z‚oôfl� €� ‡ß8<hT@�@ z‚oôfl� €� ‡ß8<hT@�@ z‚oôfl� €� ‡ß8<hT@�@ z‚oôfl� €� ‡ß8<hT@�@ z‚oôfl� €� ‡ß8<hT@�@ z‚oôfl� €� ‡ß8<hT@�@ z‚oôfl� €� ‡ß8<hT@�@ zOƒo ˆ¾l� €� €@¯³¥§Á×çó…©2³@�@�ˆ^Àëléið¾9l� €� €@ï|{Ç™½ €� €�ô±�Á·�»G�@�è‚oï8³@�@�> øöñ`÷ €� €�½#@ðígö‚� €� ÐÇß>>�ì@�@ w¾½ãÌ^@�@�úX€àÛÇ€Ý#€� €�ôŽ�Á·wœÙ  €� €@ |ûø�°{@�@�Þ øöŽ3{A�@�èc‚o�v� €� Ð;ßÞqf/ €� €�},@ðíãÀî@�@�zG€àÛ;Îì@�@ < ¾@ ›Ãî@�@�EÀëléiðõù|‰âL;@�@�úXÀëléiðícv� €� €@D‚oD €� €�$’�Á7‘Ž&mA�@�ˆ(@ðHÃ@�@�D ø&ÒѤ- €� €�¾iX€� €� HßD:š´@�@ ¢�Á7" @�@�I€à›HG“¶ €� €�D øF¤a €� €@" |éhÒ@�@�ˆ߈4,@�@�H$‚o"MÚ‚� €� Q€à‘† €� €�‰$@ðM¤£I[@�@�" |#Ò°�@�@ ‘< ¾@ ‘lh  €� €@ x-= ¾>Ÿ¯iØ5 €� €@" x-= ¾‰M[@�@�K€à›XÇ“Ö €� €�D øF€a6 €� €@b |ëxÒ@�@�ß0ÌF�@�H,‚obOZƒ� €� A€à†Ù €� €�‰%@ðM¬ãIk@�@�"|#À0@�@ ±¾‰u<i  €� €@‚of#€� €�$–�Á7±Ž'­A�@�ˆ @ð�Ãl@�@�Ä ø&Öñ¤5 €� €�¾`˜� €� XßÄ:ž´@�@ ‚€§Á7DØ ³@�@�ˆNÀëléiðõù|ѵ†µ@�@�ˆ àu¶ô4øF¨3³@�@�ès‚oŸ*€� €� ÐßÞPf €� €�}.@ðíóC@@�@�zC€àÛÊì@�@ Ï¾}~¨� €� €@o|{C™} €� €�ô¹�Á·Ï@�@�è ‚oo(³@�@�> øöù!  €� €�½!@ðí eö� €� Ðçß>?T�@�@ 7¾½¡Ì>@�@�ú\€àÛ燀 €� €�ô†�Á·7”Ù €� €@Ÿ |ûüP@�@�Þð4øÞ¨3û@�@�H¯³¥§Á×çó%Á! ‰ €� €�½!àu¶ô4øö�û@�@�@ 'ßž¨±  €� €@Ü |ãîQa@�@�ž|{¢Æ6 €� €�q'@ð»CF…@�@�z"@ðí‰Û €� €�Ä�Á7îF�@�è‰�Á·'jlƒ� €� w߸;dT@�@ 'ßž¨±  €� €@Ü |ãîQa@�@�ž|{¢Æ6 €� €�q'@ð»CF…@�@�z"@ðí‰Û €� €�Ä�Á7îF�@�è‰�Á·'jlƒ� €� wžß@ w�T@�@ 6¼Î–ž_ŸÏ›jÔ @�@ î¼Î–ž߸Ӥ €� €�I#@ðMšCMC@�@�ä ø&÷ñ§õ €� €@Ò|“æPÓP@�@ ¹¾É}üi= €� 4ߤ9Ô4@�Hn‚orZ� €�$�Á7i5 E�@�’[€à›ÜÇŸÖ#€� €�I#@ðMšCMC@�@�ä ø&÷ñ§õ €� €@Ò|“æPÓP@�@ ¹¾É}üi= €� 4ߤ9Ô4@�Hn‚orZ� €�$�Á7i5 E�@�’[ÀÓà’[“Ö#€� €�x&àu¶ô4øú|>ÏJA €� €�É-àu¶ô4ø&÷¡¡õ €� €�±,@ðå£CÝ@�@�< øzFIA €� €�±,@ðå£CÝ@�@�< øzFIA €� €�±,@ðå£CÝ@�@�< øzFIA €� €�±,@ðå£CÝ@�@�< øzFIA €� €�±,@ðå£CÝ@�@�< øzFIA €� €�±,@ðå£CÝ@�@�< øzFIA €� €�±,@ðå£CÝ@�@�< øzFIA €� €�±,@ðå£CÝ@�@�<ð4øÏ*FA €� €�É-àu¶ô4øú|¾ä>:´@�@À3¯³¥§Á׳VR €� €� |=¥8@�@�Ø øÆæq¡V €� €� |=¥8@�@�Ø øÆæq¡V €� €� |=¥8@�@�Ø øÆæq¡V €� €� |=¥8@�@�Ø øÆæq¡V €� €� |=¥8@�@�Ø øÆæq¡V €� €� |=¥8@�@�Ø øÆæq¡V €� €� |=¥8@�@�Ø øÆæq¡V €� €� |=¥8@�@�Øð4øØl%µB�@�ˆ;¯³¥§Á×çóÅ(F�@�ˆM¯³¥§Á76ɨ €� €�"_^ €� €�I!@ðMŠÃL#@�@�¾¼@�@�’B€à›‡™F"€� €�|y €� €�$…�Á7)3D�@� øò@�@�H ‚oRf‰� €� @ðå5€� €� ߤ8Ì4@�@€àËk�@�@ )¾Iq˜i$ €� €�Á—×� €� €@R|“â0ÓH@�@�‚/¯@�@�¤ð4ø¤@£‘ €� €�[_Àëléiðõù|[_€= €� €�$…€×ÙÒÓà›G€F"€� €�Ä¥�Á7.•F�@�ˆV€à­ë#€� €�Ä¥�Á7.•F�@�ˆV€à­ë#€� €�Ä¥�Á7.•F�@�ˆV€à­ë#€� €�Ä¥�Á7.•F�@�ˆV€à­ë#€� €�Ä¥�Á7.•F�@�ˆV€à­ë#€� €�Ä¥�Á7.•F�@�ˆV€à­ë#€� €�Ä¥�Á7.•F�@�ˆV€à­ë#€� €�Ä¥�Á7.•F�@�ˆVÀÓà¢Ý?ë#€� €� VÀëléiðõù|a+ÍL@�@�¢ð:[z|£m ë#€� €� Ð[ßÞ’f? €� €�}*@ðíS~vŽ� €� Ð[ßÞ’f? €� €�}*@ðíS~vŽ� €� Ð[ßÞ’f? €� €�}*@ðíS~vŽ� €� Ð[ßÞ’f? €� €�}*@ðíS~vŽ� €� Ð[ßÞ’f? €� €�}*@ðíS~vŽ� €� Ð[ßÞ’f? €� €�}*@ðíS~vŽ� €� Ð[ßÞ’f? €� €�}*@ðíS~vŽ� €� Ð[ßÞ’f? €� €�}*àið }ÚvŽ� €� 8^gKOƒ¯ÏçKiZ‚� €� Ч^gKOƒoŸÊ°s@�@�: øv‚Ã"@�@�Ä ø&α¤% €� €�|;Áa €� €@â|çXÒ@�@�N¾à°@�@ q¾‰s,i  €� €@'ßNpX„� €� 8ßÄ9–´@�@ ‚o'8,B�@�H‚oâKZ‚� €� Љ�Á·!€� €�$Ž�Á7qŽ%-A�@�èD€àÛ ‹@�@�G€à›8Ç’– €� €�t"@ðí‡E €� €�‰#àið ‰#CK@�@�úTÀëléiðõù|}ŠÃÎ@�@�GÀëléiðMfZ‚� €� hßD;¢´@�@ ¬�Á7, 3@�@�M€à›hG”ö €� €�„ ø†ea& €� €@¢ |íˆÒ@�@�°ß°,ÌD�@�H4‚o¢QÚƒ� €� V€à–…™ €� €�‰&@ðM´#J{@�@� |ò0@�@ Ѿ‰vDi €� €@X‚oXf"€� €�$š�Á7ÑŽ(íA�@�+@ð ËÂL@�@�D ø&Ú¥= €� €�a< ¾@ ìN˜‰� €� €@´^gKOƒ¯Ïç‹¶=¬� €� €@X¯³¥§Á7l™‰� €� €@ |cà P@�@�­/@ðÝúÆì@�@ ¾1p¨ €� €ÀÖ øn}cö€� €� ß8T@�@`ë |·¾1{@�@àÿÛ»)оãÿÙ]DADyð^¼¯E_ð ˆh¼ðH¼@Áã‰$*`äy|^ãcT¢OŒà…·ÄxÕxÆ[£‚J”(**j<APeÞþÕRC³,»Û3=»S3ß"M÷twuW}ª7óŸšê@ |K ( €� €@ñ|‹oÌ@�@�J@€À·" €� €�_€À·øÆœ@�@ |K ( €� €@ñ|‹oÌ@�@�J@€À·" €� €�_€À·øÆœ@�@ |K ( €� €@ñR |³ÙlñKÌ@�@�*B íØ2ÕÀ7“ÉTD#PI@�@�â ¤[¦ø¿úœ@�@�ü|ós# 씥Á��«IDAT€� €@`¾5ÅE�@�ÈO€À7?7r!€� €�&@àXƒQ\@�@�ü|ós# €� €@`¾5ÅE�@�ÈO€À7?7r!€� €�&@àXƒQ\@�@�ü|ós# €� €@`¾5ÅE�@�ÈO€À7?7r!€� €�&@àXƒQ\@�@�ü|ós# €� €@`¾5ÅE�@�ÈO€À7?7r!€� €�&jà›Íf«>ÅE�@�(U´cËTßL&Sªn” @�@ 0´cËTßÀ,). €� €@ øVPcSU@�@ ’|+¹õ©; €� PA¾ÔØT@�¨dßJn}êŽ� €�T�o56UE�@�*Y€À·’[Ÿº#€� €�$@à[AMU@�@�J ð­äÖ§î €� €@ øVPcSU@�@ ’|+¹õ©; €� PA¾ÔØT@�¨dßJn}êŽ� €�T�o56UE�@�*Y ¦-+_WW×–§ã\ €� €�äèñÍQ°€� €� PξåÜºÔ @�@ 'zà›Ífsg@�@�|ŠS¦øvìØÑV­Z•OÝȃ� €� €@N@1¥bË4Sª7·uïÞÝ–.]jUUUV__o™L&Ͳr,@�@�2PO¯‚ÞåË—›bË4Sªo×®]­ººÚ–-[æ¦4 ʱ@�@�*C ¦¦Æºuëf;wNµÂ©¾*™ ˜v!S­1C�@�¨HTÇøV¤ •F�@�B€À7ˆf¢ €� €�… ø*H~@�@� |ƒh& ‰� €� P¨�o¡‚äG�@�B€À7ˆf¢ €� €�… ø*H~@�@� |ƒh& ‰� €� P¨�o¡‚äG�@�B€À7ˆf¢ €� €�… ø*H~@�@� |ƒh& ‰� €� P¨�o¡‚äG�@�B€À7ˆf¢ €� €�… ø*H~@�@� |ƒh& ‰� €� P¨�o¡‚äG�@�B€À7ˆf¢ €� €�… ø*H~@�@� |ƒh& ‰� €� P¨�o¡‚äG�@�B€À7ˆf¢ €� €�… ø*H~@�@� j‚(%…D�@ eU«VÙÇlsçεÏ?ÿÜ–.]j«W¯v“?U6›u‹™LƯ2¿.·"Zh¯íþ¼šgª3Ö¡ºƒuíÚÕjkk­®®ÎöÚk/«©iß·úP1m¸Âý5¦Wi]ûþ˜ía¬¿äÑ?ÿüóªÇÿ €�”·€Þ¼?úè#›9s¦uîÜÙ dû[Þh£‚®üÊ•+í?þpõ{饗ì·ß~³c=ÖÁ>Øh« –‹3¦Å¿bÚʸGc|‹ßžœ@ DêëëmÖ¬YöÞ{ïÙ%—\b½{÷^§·¶DŠYP1|¯œz¯¿þúk»ñÆmÿý÷·áÇ[uuuAÇnmærsÆ´µ-Ÿÿ~maLà›û@ 0‚ z5¼áâ‹/¶-¶ØÂªªª¢ÀW_áV™ 7ªG6ú§¤@Bè?ü`·Þz«õéÓdž æê¼¡ìi¬/;gLÓ¸,š?F+ðmß?Í3°@�Tj,¯¦#Fئ›nêÆòú^¦TN’ÂA4VÁ¸¦Ö& ah\½öS—.]íä“O¶Ç{̶Ýv[ÛgŸ}ŠÖË­s†àÜ’m%šæsíµäØÜöö2&ðm®U؆� PË—/·çŸÞ `[öè±ÎMlM}â·5)·àW¸Tõkè@Ïž=sëÓX:t¨zè¡vå•W¶êp Áƒn®kؽq�¬Þ×lvµuéÒÅú÷ïo/¿ü²í²Ë.n<s«Np§4›:µê÷ÔSO¹¡*ª±ÙÇwœuèÐ!·ûÓO?mµµµ¶÷Þ{çÖ=üðÃîõž{î™[·¡…r5•Ýœ9sìƒ>p×ð;ì`;vØaî†È¤×Þ†üZ³¾=[ÿ‘²55a@�JL@Áß'Ÿ|b›o¾¹m¿ýö–¢Ä+V¸a�ÚÖÔ¤`±aZÛsªÀAÓÔ©SmìØ±vçwæzUý¶Bçž®µÇñ­¯ƒÏ§×õ«ë]Ý *ÐPooôU¯ÍŸ?ß­÷çJk®s¦éìëâç¿þú«}ôÑvõÕWÛÆoìÚóæ›o¶ÁƒÛ7ß|“k‹n¸Áž}öÙÜë)S¦˜Ö¹¶_Ó†þ˜MÍËÑ4zˆuÔQnˆÏ_ýeú�ðý÷ßÛµ×^kï¿ÿ¾³ò×AS&i¯kOcz|}K3G�(K¿ÿþÛ>ýôSø(`ÒX­Ó›¯žâP£¾¢Àpݤ ·aœl|}}4áž{î±wÞÙÍ/¿üòu†%è(ë÷¯=BKÛ`h\®‚Õ¦Rãü h•ª¢yü¼:޾ºV£c馶Ž;ÚvÛmg ,p9Ûd“Mš:EÞëÒtn\OjÒ¤Iî±s¯¾úªm=²Mõ=÷ÜsM=•—]v™Ýwß}®ìªûê5† €o¹å{î¹ç\[{צŽï2Gÿ•£é„ láÂ…¦'}hl»O |å%—¤×ž?†Ÿ7gª}âÛÛÓ˜À×·s@�²øóÏ?Ý3z5¶UÏ´­®©Îõ„*8Ô›p¦*ã‚Ǩ;ØDao4oø?‡­šós\`úŸ[þcÇ ·Ùsf»¯Š×dr=j}öéc‹¾^”{\Ú„‰ìÈ#t±nªkn»ziW®ZiËÿ\n—^z©õúG/»bü EˆÎ?ùŸ“]Oç\[§ÂÕ!Ó¬¯Žz«U|2Ù(¸×6¾ªû–[né_™¤ø¦é좤¼Ù’%KlÚ´ivÆg¸z,‹||:l¨ýëŸÿ²yͳvÚɵϊÈpî¼¹vÞyçÙwÜa=ÿÑÓ™º<jÚ†fö‡Xw®íedúûï¿»iÿþß[§ÎÖ:ÄkÕ9~íi“zØ'Mœä†Çè8h ]sÍ5¶Ùf›¹œï¾û®M¹qŠ}øá‡nÌü¬Ù³rAµz˜Ç_1Þ^{í5wÍ]wÝuÖ@ÿµglGc†:¬m–@�ÊP@=‘º™MoØ �u㘟ûɪ2z;Œ¢!Dš)ŽÖi}nŠò=pÿvÊ)§XßÿéëÆ—Îx`Æ:Û¿ûî;›zûT7¬à¡‡²ƒ>ØÆ]6. @³î¼-mÎêþéœúpÁÞÊ+Ý9ô|ÞéÓ¦ÛÇäΩzTW7<™BW¹•·¡üѲÛÞPg¾ë«gË$픦sÎ|ÿŸáz° äãÛ6ØUeÁg ru_òû5r”7ΙŽïïÚ<Þ®–ËÍtá ݽ~}ûå®›u<TÿèÚŽ_{Ú~ằÀº)òÑGµÅß-¶±ŽÍcòµ“mÈ!nèÌO<aÝ»uÏmÓ~Ý»w·wÞyÇFmêqŽŸ³= |ÓþËçx €�%# ^Oõêê×Ìt”ëñ¿ oÀÕ =¾Ñ›.nbyñâÅî«âÓN;Ííwúé§»±¤¿üòK.Ÿ*~â‰'ºžFýjÚĉ]Ï™zÅtìÖlwÁk´ï1ÇãzmgÏžíò*�Ñ15>Ó—3àÆÊ«:ÕD½ÚñºjY“ ô!@&²I+¥éì럫÷QI=ºñõZÞc=\ ïÛAûé9Í_}õU“û7Îßøu¹™z;qo\×øk¹ùkOc¦u#ä9çœc»í¶››ÆŒc/¼ð‚éï@ùt=½øâ‹îµn”ÓP­_´h‘½òÊ+vÄGØ?þhýúõ³Ï>ûÌ~úé§ÜùÛÓ˜ÀW-MB�([÷•äi££Wp¨e?¯©Ž†@¬éÝÐüÁtAã]wÝeW]uUîÉê óyô†®qÄþµÆSjRà«u­ÙîË¥�õøã·3f¸¼Ó§O·‘#GæŽíÏáç>Ÿ^WU5ÔϯÓ\“Ú‘fÐë/œ´œ}}âóÞ½{»Ó¼ýöÛëÕ__«ëÜÚGyd¬ KOÆPo£žÛ?V’eï§<¡š*(UúöÛo›u›¯¯öUêÛ·o.–•üqn¿ývç~àÚäɓݵ%'}«¡tÛm·¹wý­ì·ß~îƒHSöþœmeÌ_×<ü‡� P®zCÕQ=jKO5ЭŸü›½'-+ù P¯ý²n8ÓÍSæ Çù¤;ãµþ¢‹.r«”ÇS+”©§k›m¶qçLº]cZõu²Ç¥¢8á„Üqüùu¼xòåÕ:-kÒM|Jª³ÆáêgŒe’vJÃÙ—IõŠ×E7öêÕËõ¸Ÿyæ™ÎØo×#º4|C6S•”_ã©Õë«gë&7�úí>¿Ëû¯ÜLe§ÞÞGyÄ=Ò.VÕuUoM2Üj«­Ü6õÔúeÝ ª¤×ÚGž?þ¸½þúë62ú@¦§fœ}öÙîJí7~üøµãߣ×:¶7oOc_µ @ ,ô«'7hüiS=¾ÚÞøM¸)=XÇPÏ–Žç“¾ÆÕsPÕ©ñ¼Jo½õ–i<®zlï¿ÿ~t(xõÁfKÛU¿¯zÊ4´AcU\´tCšòúàBsM¾Ž ÞÕã«àWuhM½}=[šëXi8oè<òÐUú™é—¢'~øánWÝ`uýõ×›ž®¡÷”|}•禛nr=”~¢';(�Lšt¼M;uêä'£]wÝÕÎ?ÿ|w}é‘>(0Ö¤¤ºÊMû郄¾m8à€Ü ƒº–Õë«}µŸ^m;äC¬¶¶Ö)¯¶8Ðô¨9 “ГDô¡SçÓßDS©- |›jÖ!€�”€Æn½õÖ¦1  HÕë«7hMzÃÕÔRÒ0íUOz㯫«³{ï½×ÝD¥ci¨ƒ3½Ù+XÖ¶nݺ¹l­Ù®Þ4ŸôiÔ¨Q.°ÓËøz¿}Csø*àð¯z{e!“´SÎÍ•Iþª¿zýŠCª§ÌùvÔ\m«}5)`ÓõÖ?óÌ3-~xh® ¡šj¬®®K ÿЇ7=ÓY×§~ÆZO\“Üâמ®ù³Î:Ë¡Ö5¤`Ó¢'kø Ñ·ú6C×¶ÆYk_Géî»ïvm¢'©¨gXwú;PÜR*¶ñÚ¿¬–JÂv@�P°ª›¢ôh®7q½Áûà×WÉN¾wϯ×\_én(©×Ñ'C½´3gÎt? ¯çýqµOKÛÕ³Ü8)hUÀ Û’$ÕCuõI?ÚñÆoذaÃÖ àý>…ÌÓpnéü ~O=õT÷LZÕ¯w4®WmOz„V<)0‹·Q|[ÒåM˜jÒÝ¥K—ºÞØøµÙøÚÛ}÷Ý]¯®†ëèoÅxóf;­ã(éi!ñ¤¡=O>ù¤ x`'ù…ÃbøÆ[Še@�²Л¶Pý<«žpÒI'ån@SUãÀ©�P«÷3>¦Ô³¥í~??WЫ›„Ô+bá·77WÐë' oÐOù*P”…LÒNm鬠¬=’÷Ô<TS]I’ãÛT}{Ò\ÒÐ’¤ÃKŠm¼îǤæJÏ6@�P¯–z¤4Wã\u£˜~ÑLëÓ zE£›Ñ4¾qC©¥íóéy u1bDãM-¾VÝ4i¸…ÆjjŒ³ dïékñ@­Ü¡-[Y¤ÔwÃ4uÒõXlc lucÿw½3³@�2P�¨ŸmÕ³Hõ„¡ºG=• ÚŠ ¶Ÿ¾*öÓܹsݸLÝø5xð`×ë´ç8iÊÑÙ{jŽiÒ+¢uû·…qÔC=†À·uíÁ^ €� èUã\Õ‹úæ›oÚ¼yóÜM^ºS]OdÐЄbÜôÕ–l :õºã^?â ×ºùî ƒ*ÚMmëWnΘ6náô_·•1oúmÇ@�J\@ãfõtˆóçÏ·/¿üÒýºš†(h 9©×ZwÝëçbkkkÝÝözœ”nLòwÜ·UýÊÅÓâ_1meLà[ü¶ä  €�%(à{%uǹ&ýÀŲeËÜàPƒ_¶¡sÐO4ë) šÒ~fo’æ ÝÓ$­ß¾miLà›_‘ @ Œœé¦7M¡½¾9|áÇ-ûõ¥0ÕÓâ_=me¬À—Ç™¿=9 €@ èMWÃ�Úz(@ “¥h8§ÏŠirSg–ÜŒ €� €� øØh@�@ ¹�or3r €� €�(@à`£Qd@�@�ä¾ÉÍÈ� €�  �o€F‘@�@�’ ø&7# €� €@€¾6EF�@�H.@à›ÜŒ €� €� øØh@�@ ¹�or3r €� €�(@à`£Qd@�@�ä¾ÉÍÈ� €�  �o€F‘@�@�’ ø&7# €� €@€¾6EF�@�H.@à›ÜŒ €� €� (ðÍXnŠŒ� €� €@,=¾I¸Ø@�@ Xß`›Ž‚#€� €�$`¨C-öE�@�U€¡¡¶åF�@�H&@o2/öF�@�S€ß0ÛR#€� €�$ Ç7©û#€� €�„(àz|yŽoˆMG™@�@�’ø&Ñb_@�@�`²™¨è§GSulÒð?ùõz­}ýz?×:MÚOÉ¿ös¿.>×2 @�@�/àG ÄçZö“ö«½^-Ç'í§×ÚGS|›_W_mXM>õs²Zös²~›æ>ØÕ\ɯó¯Ÿ7lmøßï_Ç2 €� €�>àõ>àÏÌ*i‚ã®Öûà7>Ïí£ÀW/”jg¥¦N ÀÖ¯×þzíó)o|Ù½>Ðõóh7 €� €�ë ÄãPmôqgssÅŸñízÝx]üX«ÿ";³šÇP+����IEND®B`‚���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/MD5�����������������������������������������������������������������������������������������0000644�0001762�0000144�00000017335�13014554503�012135� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ff810381b175b295970c5b706d6bf4de *DESCRIPTION 9f03faf9050bd5ddf3d3c1833207bb0a *NAMESPACE 57679970d38c17ac9c95478b9313aed0 *R/attractorsToLaTeX.R 0e037f01fa88a832cb43d3a9d5e9f5dd *R/binarizeTimeSeries.R ec2c323ef07745ec7b89339aa5a4433c *R/chooseNetwork.R 7c81eb3530ee3fede7742d9729de77c1 *R/edgeDetector.R c7fb28f26b946db5f54730be6d492516 *R/fixGenes.R b96b8b67effb0c2d55a29cc6f19323bd *R/generateRandomNKNetwork.R 9597332899ac07b3145917fafc789d15 *R/generateRandomStartStates.R 2c872695c4fa33c90c6de2431f19e689 *R/generateState.R 5650d6d8b6da147a254e9681a291a90b *R/generateTimeSeries.R 4db8f585d2e3477db95a8db2720a2e4c *R/getAttractorSequence.R 140740c1ba1d08eea3e27e9da3637f48 *R/getAttractors.R 08764b48eccb7812f9c333c122d1e689 *R/getBasinOfAttraction.R cc663c2b39dc50cd45bbb83d7cd36d44 *R/getPathToAttractor.R 9637fc5badfec905a1d865d5e65d3839 *R/getStateSummary.R a45f67785e1846f8482c9ff10debd95c *R/getTransitionProbabilities.R d31c9950c1a42c23eb5585c23e98bb25 *R/getTransitionTable.R fcedd10ae785f0be113ea1ea2e66b091 *R/helpers.R 8e0fdeac893b8bfc8837c9d94e9ed1f9 *R/loadBioTapestry.R f1e4da50ef5dd5ea083b8fcd060b3f77 *R/loadNetwork.R aa19fa3aaa70362a5d5d18bb114c245c *R/loadSBML.R 817f7c8476aa6b32443be62885e3c72d *R/markovSimulation.R d3dc1ab8d227e4775adfaee9973732e9 *R/parseBooleanFunction.R 75a4ff7284740122216a79cd7f9508e1 *R/perturbNetwork.R 6e8d3d79095844cf1fb6cb7c75750cfe *R/perturbTrajectories.R b3c6b0765a241bb1d4e4a150f47d3d8b *R/plotAttractors.R 20fd67145509cae5e9701fcfa93e210c *R/plotNetworkWiring.R 9f64811ec997a7aa2fc262725ae6f7e5 *R/plotPBNTransitions.R da8b7350847b5c4715a67c34fe829f53 *R/plotSequence.R 3e92ac93c5ce1934d542b3eb7985aa44 *R/plotStateGraph.R 1d3e5b86636a5b54035d7062285e34e4 *R/print.AttractorInfo.R bd5b5182c9a4321e0051be7f40bcbf6f *R/print.BooleanNetwork.R 09ac08c8cb2ef098c96a86de93e5ad7c *R/print.BooleanStateInfo.R b4ce1c3d7c29f9b9d92a5428ace77b0a *R/print.MarkovSimulation.R 55d7e998f889cf528bef3d68edb38562 *R/print.ProbabilisticBooleanNetwork.R 2a6921108f7704c4949bcd96b82a2cb0 *R/print.SymbolicBooleanNetwork.R 1138169d9ef31f04670bbc2544524e4c *R/print.SymbolicSimulation.R 0adfd6c034e0bf75c16d351c4f2e52f6 *R/print.TransitionTable.R 78216cfe9045ded3a90b43edb6e0d21f *R/reconstructNetwork.R 00623749adde58c327566c72a67d4027 *R/saveNetwork.R 8db261cf9b75f737bc6ca7f49c67dbd0 *R/scanStatistic.R a9cfa06573f8eeb0aefa2329c59689aa *R/sequenceToLaTeX.R 5877e9963cac94f7dc2b245079826450 *R/simplifyNetwork.R c8a4ab49f15e1e8888d4bd132e1d9271 *R/simulateSymbolicModel.R 595c68d880e16c31046313f648cc34c6 *R/stateTransition.R ea0fbe49b283f4f0c073de77ab78fbaf *R/symbolicToTruthTable.R 42daa52bc14fc6918004e35203e07907 *R/testNetworkProperties.R 568159a3609b108c45ba2c39728fa6ce *R/toPajek.R 47bc51ada1eefa53c11e0171a589bc8b *R/toSBML.R dab752c2c82ef4e5e93224ad6934208c *R/truthTableToSymbolic.R 811f12cc71a25cbf23ade7eb93bb2162 *R/zeta.R bcc619228d6f025ff8cd6e2a77f73def *build/vignette.rds 6323b9a68ede50d320ceffa342711988 *data/cellcycle.rda 2162a3dfd9f29f06223413307dd177c8 *data/examplePBN.rda d58578f1cc7da58378f1617a6d8bb021 *data/igf.rda 8919de127f7ee2391900468a36c5dcd4 *data/yeastTimeSeries.rda 62409980eecaca8e52f1d495f499d6bd *inst/CITATION 313ba5036165b50314bb2ec3372150f6 *inst/NEWS.Rd d9ed6c7ca4c6531245a460d64ef5281b *inst/doc/BoolNet_package_vignette.R 14df741a8cec94d3f34e4077bd665062 *inst/doc/BoolNet_package_vignette.Snw c73445a79cd51131c37d631bb93be53a *inst/doc/BoolNet_package_vignette.pdf fcb0ddc4a26eb5062f05b55032e5b151 *inst/doc/cellcycle.txt 27bccf40991bbe762bc274cbd7874f40 *inst/doc/example.btp 5fb48be5bfbec8ac6e8a2a6dadcc317e *man/BoolNet-package.Rd 67caa758b9f663491e69a3c18f4ee36f *man/attractorsToLaTeX.Rd 3461bfd43dd57a88d01d83df611f95c0 *man/binarizeTimeSeries.Rd 3623b2fe85476af5336cf7e220c1d60e *man/cellcycle.Rd 036eacac86ee9bfe4f821ab5ef7fb616 *man/chooseNetwork.Rd 7914c426e149300046dfce5ca9517777 *man/examplePBN.Rd 98af6630df76a0232c66ebb0bc8837d7 *man/fixGenes.Rd 642d27c47da308a31eaf78400173f2f4 *man/generateRandomNKNetwork.Rd 6b7e62a87a818acd4982332b9aa254e1 *man/generateState.Rd 38c0aa52a0ee9f8bf97e8067c77fcde5 *man/generateTimeSeries.Rd 201ec0e62a545f6a444f6caf689b3b03 *man/generationFunctions.Rd 35e00e1d48235e6deda56da6a5aa5758 *man/getAttractorSequence.Rd 72c6a2e78ad4bb47cc35d7d00c2a8c64 *man/getAttractors.Rd 9a35b1240af9834c41698983a18a6304 *man/getBasinOfAttraction.Rd 942d670fcd5de88dc007005fdab638c6 *man/getPathToAttractor.Rd 86d4773284835753fd35078d27d620d9 *man/getStateSummary.Rd 87053d20084edd33f1c2fe2c2a4f9787 *man/getTransitionProbabilities.Rd 8489c176c7be92a3e98d55b44e8c7aa9 *man/getTransitionTable.Rd ce766f16cf9e6a7a2bb9e883e8eaeb61 *man/igf.Rd 45e936129f9b2587bf185102395c260d *man/loadBioTapestry.Rd ed4cbad9b4579b8a7c6b0cc2f4a936b1 *man/loadNetwork.Rd 2707e6dd84d360637b761470776337d8 *man/loadSBML.Rd c859af507471ba3da30d304d90622a83 *man/markovSimulation.Rd 1592f64ef13d306cbc4110ae2ce8f604 *man/perturbNetwork.Rd 196308b14d4adf113e9a71211c9018cf *man/perturbTrajectories.Rd 9484e9a7865353afdf2e1e79363890ff *man/plotAttractors.Rd c7904f48e78584e4ad19f1f88c897398 *man/plotNetworkWiring.Rd 2638a35d79eddce77b3cac8e6cd995b9 *man/plotPBNTransitions.Rd 246effe1700433b4173c699150802ee9 *man/plotSequence.Rd 4fd22acacd58b14152afe03320b8600f *man/plotStateGraph.Rd 5f379a9e2b4a9a418d8b665af74757be *man/print.AttractorInfo.Rd e0b2b98da9c074e4e30dd73d57dae9da *man/print.BooleanNetwork.Rd b480ee06d8d8c2ade8ad0b5c89a13a7e *man/print.MarkovSimulation.Rd d03ef8645e4d3ad814798e882167aa8d *man/print.ProbabilisticBooleanNetwork.Rd 0b0de959a1efcef7fb7cbee820e80353 *man/print.SymbolicSimulation.Rd d6e7961146750c9b36106a8d280a1c09 *man/print.TransitionTable.Rd 98f8fc35b62488d9311508f3cba92992 *man/reconstructNetwork.Rd a00de398f679b032e7455478b427b4b5 *man/saveNetwork.Rd 193c5cf928939ccffccce788a27154af *man/sequenceToLaTeX.Rd 5944620706adac67972e04b0eea2627f *man/simplifyNetwork.Rd 235d5f7bb9ebf1c349f20912107b4dd9 *man/simulateSymbolicModel.Rd ce79e445196a6f65daca2a2cdce0aa88 *man/stateTransition.Rd d3d63606a7c4517c4faa078a43d9bbdd *man/symbolicToTruthTable.Rd ebae90dc72087715f94107aee6eb6536 *man/testNetworkProperties.Rd a5db19da3fb5103170c96cad7d537b74 *man/toPajek.Rd 205d9b5aa773edc1124a0ae58d5e7a0e *man/toSBML.Rd a43aad3b0dd5fff7a95a9075bdfdaa2e *man/truthTableToSymbolic.Rd 7ffc48740e826cbf5c56c11fb8dfe9df *man/yeastTimeSeries.Rd da975f995fc5f2ef57170b3d3ba53178 *src/Makevars.win 56a684219ad834529e4c4c6e9deb9ef2 *src/attractor_info.c 8b25f0694d6279bba2e28c947e304524 *src/attractor_info.h 036826c4ebee96d5885709f10efbd391 *src/attractor_search_interface.c 8e4fdfd767d86b61f15c5c245e8dba77 *src/boolean_network.h 8bcc0d40927949da8d50a8b116fc45d9 *src/common.c 156f9c56866c9e7707594d1f0faf101b *src/common.h 3ae7901969630cf0f1c12ac9024957eb *src/picosat.c 2c29607ee624151f84ac09f55535010e *src/picosat.h a869a6a74b9c0a1c4c796003c1251d60 *src/probabilistic_boolean_network.c 686e443cfcfa3f597ea866bc25c356e7 *src/random.h 58be262aa256be87d8d8cf3cf63abfb3 *src/reconstruct_network.c 22bc54f938607f08f72f1fbbf7289b7c *src/sat_search.c 0d6515ab8ff7605f16ca10eb5c6fc9e4 *src/sat_search.h 351d201ca2f926bdd1b5f4694de19902 *src/statespace_search.c c085761b2f853545febe7170a3715eb2 *src/statespace_search.h 4d4e389c0ff626a5e0db88416991e94e *src/symbolic_network.c dbbf4848847aefb8b756d749519bdf1d *src/symbolic_network.h a92bedbf4bd0438dab983bd4713b6456 *src/symbolic_simulator.c 460b4e88a7af5ba2c60231ca9f3644c8 *src/uthash.h 14df741a8cec94d3f34e4077bd665062 *vignettes/BoolNet_package_vignette.Snw 45d3f76bd49d22f8d6e0ad5cc2a14c62 *vignettes/BoolNet_package_vignette.bib cbc02d945670e5381418720262b10955 *vignettes/biotap_initval.png 530409792bed5d5a53140e85554b9d61 *vignettes/biotap_logic.png d4a2fcf1d0a873afde1c021019649014 *vignettes/biotap_model.png e02e5fea28346a3d8162b4feaa6ffb05 *vignettes/biotap_sim_properties.png d6aa77a2d43960ebb98c288990d3fe41 *vignettes/pajek.png ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/build/��������������������������������������������������������������������������������������0000755�0001762�0000144�00000000000�12733234746�012726� 5����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/build/vignette.rds��������������������������������������������������������������������������0000644�0001762�0000144�00000000373�12733234746�015270� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������‹������QMKÃ@Ý4±Ú‚ ôV<ì/ÈÑ ¡A¤zðV†ì¤¬nwÂfjðæ/·N4‘vµÐ™ýཙ÷vŸ§J©‘JS©’*IK^I&*SY¯o‰Ü=òª†òÖ¸z³k̘?ú6ÂÞÈ`m=2Û’-yͤÁ9½ ºBàmÀFS¥ûÖ'O¬MaçG±K15ûFþ0$²ÑóÌÛ¨Ýy5zÓ]þÏOvåâß[ ç�3î1ÙBe˜ûdù÷>‹~›,c úèŸjóÁÃe÷‘Rv±ÑÒA`È« üN÷ýD1“ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/DESCRIPTION���������������������������������������������������������������������������������0000644�0001762�0000144�00000002357�13014554503�013331� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Package: BoolNet Type: Package Title: Construction, Simulation and Analysis of Boolean Networks Version: 2.1.3 Date: 2016-06-21 Authors@R: c(person("Christoph", "Müssel", role = "aut"), person("Martin", "Hopfensitz", role = "aut"), person("Dao", "Zhou", role = "aut"), person(c("Hans", "A."), "Kestler", email = "hans.kestler@uni-ulm.de", role = c("aut", "cre")), person("Armin", "Biere", role = "ctb", comment="contributed PicoSAT code"), person(c("Troy", "D."), "Hanson", role = "ctb", comment="contributed uthash macros")) Imports: igraph (>= 0.6), XML Description: Provides methods to reconstruct and generate synchronous, asynchronous, probabilistic and temporal Boolean networks, and to analyze and visualize attractors in Boolean networks. License: Artistic-2.0 LazyLoad: yes ByteCompile: TRUE Encoding: UTF-8 NeedsCompilation: yes Packaged: 2016-06-24 13:47:18 UTC; burkovae Author: Christoph Müssel [aut], Martin Hopfensitz [aut], Dao Zhou [aut], Hans A. Kestler [aut, cre], Armin Biere [ctb] (contributed PicoSAT code), Troy D. Hanson [ctb] (contributed uthash macros) Maintainer: Hans A. Kestler <hans.kestler@uni-ulm.de> Repository: CRAN Date/Publication: 2016-11-21 12:23:47 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/����������������������������������������������������������������������������������������0000755�0001762�0000144�00000000000�12732246464�012401� 5����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/reconstructNetwork.Rd�������������������������������������������������������������������0000644�0001762�0000144�00000014673�12732246464�016630� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{reconstructNetwork} \alias{reconstructNetwork} \title{ Reconstruct a Boolean network from time series of measurements } \description{ Reconstructs a Boolean network from a set of time series or from a transition table using the best-fit extension algorithm or the REVEAL algorithm. } \usage{ reconstructNetwork(measurements, method = c("bestfit", "reveal"), maxK = 5, requiredDependencies = NULL, excludedDependencies = NULL, perturbations=NULL, readableFunctions=FALSE, allSolutions=FALSE, returnPBN=FALSE) } \arguments{ \item{measurements}{ This can either be an object of class \code{TransitionTable} as returned by \if{latex}{\cr}\code{\link{getTransitionTable}}, or a set of time series of measurements. In this case, \code{measurements} must be a list of matrices, each corresponding to one time series. Each row of these matrices contains measurements for one gene on a time line, i. e. column \code{i+1} contains the successor states of column \code{i}. The genes must be the same for all matrices in the list. Real-valued time series can be binarized using \code{\link{binarizeTimeSeries}}. } \item{method}{ This specifies the reconstruction algorithm to be used. If set to "bestfit", Laehdesmaeki's Best-Fit Extension algorithm is employed. This algorithm is an improvement of the algorithm by Akutsu et al. with a lower runtime complexity. It determines the functions with a minimal error for each gene. If set to "reveal", Liang's REVEAL algorithm is used. This algorithm searches for relevant input genes using the mutual information between the input genes and the output gene. } \item{maxK}{ The maximum number of input genes for one gene to be tested. Defaults to 5. } \item{requiredDependencies}{An optional specification of known dependencies that must be included in reconstructed networks. This is a named list containing a vector of gene names (regulators) for each target.} \item{excludedDependencies}{Analogous to \code{requiredDependencies}, this is an optional specification of dependencies that must not be included in reconstructed networks. This is a named list containing a vector of gene names (prohibited regulators) for each target.} \item{perturbations}{If \code{measurements} contains data obtained from perturbation experiments (i.e. different targeted knock-outs and overexpressions), this optional parameter is a matrix with one column for each entry in \code{measurements} and a row for each gene. A matrix entry is 0 for a knock-out of the corresponding gene in the corresponding time series, 1 for overexpression, and NA or -1 for no perturbation. If \code{measurements} has an element \code{perturbations} and this argument is not specified, the element of \code{measurements} is taken. } \item{readableFunctions}{ If this is true, readable DNF representations of the truth tables of the functions are generated. These DNF are displayed when the network is printed. The DNF representations are not minimized and can thus be very long. If set to FALSE, the truth table result column is displayed. } \item{allSolutions}{ If this is true, all solutions with the minimum error and up to \code{maxK} inputs are returned. By default, \code{allSolutions=FALSE}, which means that only the solutions with both minimum error and minimum \code{k} are returned. } \item{returnPBN}{Specifies the way unknown values in the truth tables of the transition functions ("don't care" values) are processed. If \code{returnPBN=TRUE}, all possible functions are enumerated recursively, and an object of class \code{ProbabilisticBooleanNetwork} is returned. This can consume a high amount of memory and computation time. If \code{returnPBN=FALSE}, the transition functions may contain "don't care" (*) values, and an object of class \code{BooleanNetworkCollection} is returned. \code{returnPBN=TRUE} corresponds to the behaviour prior to version 2.0. The default value is \code{returnPBN=FALSE}. } } \details{ Both algorithms iterate over all possible input combinations. While Best-Fit Extension is capable of returning functions that do not perfectly explain the measurements (for example, if there are inconsistent measurements or if \code{maxK} was specified too small), REVEAL only finds functions that explain all measurements. For more information, please refer to the cited publications. } \value{ If \code{returnPBN=TRUE}, the function returns an object of class \code{ProbabilisticBooleanNetwork}, with each alternative function of a gene having the same probability. The structure is described in detail in \code{\link{loadNetwork}}. In addition to the standard components, each alternative transition function has a component \code{error} which stores the error of the function on the input time series data. If \code{returnPBN=FALSE}, the function returns an object of class \code{BooleanNetworkCollection} that has essentially the same structure as \code{ProbabilisticBooleanNetwork}, but does not store probabilities and keeps "don't care" values in the functions. Due to the "don't care" (*) values, this collection cannot be simulated directly. However, a specific Boolean network of class \code{BooleanNetwork} can be extracted from both \code{BooleanNetworkCollection} and \code{ProbabilisticBooleanNetwork} structures using \code{\link{chooseNetwork}}. } \references{ H. Laehdesmaeki, I. Shmulevich and O. Yli-Harja (2003), On Learning Gene-Regulatory Networks Under the Boolean Network Model. Machine Learning 52:147--167. T. Akutsu, S. Miyano and S. Kuhara (2000). Inferring qualitative relations in genetic networks and metabolic pathways. Bioinformatics 16(8):727--734. S. Liang, S. Fuhrman and R. Somogyi (1998), REVEAL, a general reverse engineering algorithm for inference of genetic network architectures. Pacific Symposium on Biocomputing 3:18--29. } \seealso{ \code{\link{generateTimeSeries}}, \code{\link{binarizeTimeSeries}}, \code{\link{chooseNetwork}} } \examples{ # load example data data(yeastTimeSeries) # perform binarization with k-means bin <- binarizeTimeSeries(yeastTimeSeries) # reconstruct networks from binarized measurements net <- reconstructNetwork(bin$binarizedMeasurements, method="bestfit", maxK=3, returnPBN=TRUE) # print reconstructed net print(net) # plot reconstructed net plotNetworkWiring(net) } \keyword{probabilistic Boolean network PBN reconstruction REVEAL best-fit extension} ���������������������������������������������������������������������BoolNet/man/plotAttractors.Rd�����������������������������������������������������������������������0000644�0001762�0000144�00000016105�12733233411�015705� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{plotAttractors} \Rdversion{1.1} \alias{plotAttractors} \title{ Plot state tables or transition graphs of attractors } \description{ Visualizes attractors, either by drawing a table of the involved states in two colors, or by drawing a graph of transitions between the states of the attractor. } \usage{ plotAttractors(attractorInfo, subset, title = "", mode = c("table","graph"), grouping = list(), plotFixed = TRUE, onColor = "#4daf4a", offColor = "#e41a1c", layout = layout.circle, drawLabels = TRUE, drawLegend = TRUE, ask = TRUE, reverse = FALSE, borderColor = "black", eps = 0.1, allInOnePlot = FALSE, ...) } \arguments{ \item{attractorInfo}{ An object of class \code{AttractorInfo}, as returned by \code{\link{getAttractors}}, or an object of class \code{SymbolicSimulation}, as returned by \code{\link{simulateSymbolicModel}}. } \item{subset}{An subset of attractors to be plotted. This is a vector of attractor indices in \code{attractorInfo}.} \item{title}{ An optional title for the plot } \item{mode}{Switches between two kinds of attractor plots. See Details for more information. Default is "table".} \item{grouping}{This optional parameter is only used if \code{mode="table"} and specifies a structure to form groups of genes in the plot. This is a list with the following elements: \describe{ \item{class}{A vector of names for the groups. These names will be printed in the region belonging to the group in the plot.} \item{index}{A list with the same length as \code{class}. Each element is a vector of gene names or gene indices belonging to the group.}} } \item{plotFixed}{This optional parameter is only used if \code{mode="table"}. If this is true, genes with fixed values are included in the plot. Otherwise, these genes are not drawn. } \item{onColor}{This optional parameter is only used if \code{mode="table"} and specifies the color value for the 1/ON values in the table. Defaults to greenish color. } \item{offColor}{This optional parameter is only used if \code{mode="table"} and specifies the color value for the 0/OFF values in the table. Defaults to reddish color. } \item{layout}{If \code{mode="graph"}, this parameter specifies a layouting function that determines the placement of the nodes in the graph. Please refer to the \code{\link[igraph]{layout}} manual entry in the \pkg{igraph} package for further details. By default, the circle layout is used. } \item{drawLabels}{This parameter is only relevant if \code{mode="graph"}. It determines whether the nodes of the graph are annotated with the corresponding values of the genes in the attractor states. } \item{drawLegend}{Specifies whether a color key for the ON/OFF states is drawn if \code{mode="table"}. Defaults to \code{TRUE}. } \item{ask}{ If set to true, the plot function will prompt for a user input for each new plot that is shown on an interactive device (see \code{link{par("ask")}}). } \item{reverse}{ Specifies the order of the genes in the plot. By default, the first gene is placed in the first row of the plot. If \code{reverse=TRUE} (which was the default until \pkg{BoolNet} version 2.0.2), the first gene in the network is placed in the bottom row of the plot. } \item{borderColor}{ Specifies the border or seprating color of states in an attractor. Defaults to \code{"black"}. } \item{eps}{ Specifies plotting margin for the sequence of states. Defaults to \code{0.1}. } \item{allInOnePlot}{ If this is \code{TRUE} then all attractors, with \code{mode = "table"}, are plotted in one plot as specified internally by \code{par$mfrow} parameter. Previous value of the \code{par$mfrow} parameter is preserved. Defaults to \code{FALSE}, meaning the plots for more than one attractor will be switched interactively or all plotted in an non-interactive graphical device. } \item{\dots}{ Further graphical parameters to be passed to \code{\link[igraph:plot.graph]{plot.igraph}} if \code{mode="graph"}. } } \details{ This function comprises two different types of plots: The "table" mode visualizes the gene values of the states in the attractor and is only suited for synchronous or steady-state attractors. Complex asynchronous attractors are omitted in this mode. Attractors in \code{attractorInfo} are first grouped by length. Then, a figure is plotted to the currently selected device for each attractor length (i.e. one plot with all attractors consisting of 1 state, one plot with all attractors consisting of 2 states, etc.). If \code{ask=TRUE} and the standard X11 output device is used, the user must confirm that the next plot for the next attractor size should be shown. The figure is a table with the genes in the rows and the states of the attractors in the columns. Cells of the table are (by default) red for 0/OFF values and green for 1/ON values. If \code{grouping} is set, the genes are rearranged according to the indices in the group, horizontal separation lines are plotted between the groups, and the group names are printed. The "graph" mode visualizes the transitions between different states. It creates a graph in which the vertices are the states in the attractor and the edges are state transitions among these states. This mode can visualize all kinds of attractors, including complex/loose attractors. One plot is drawn for each attractor. As before, this means that on the standard output device, only the last plot is displayed unless you set \code{par(mfrow=c(...))} accordingly. } \value{ If \code{mode="table"}, a list of matrices corresponding to the tables is returned. Each of these matrices has the genes in the rows and the states of the attractors in the columns. If \code{mode="graph"}, a list of objects of class \code{igraph} is returned. Each of these objects describes the graph for one attractor. } \seealso{ \code{\link{getAttractors}}, \code{\link{simulateSymbolicModel}}, \code{\link{attractorsToLaTeX}}, \code{\link{plotSequence}}, \code{\link{sequenceToLaTeX}} } \examples{ # load example data data(cellcycle) # get attractors attractors <- getAttractors(cellcycle) # calculate number of different attractor lengths, # and plot attractors side by side in "table" mode par(mfrow=c(1, length(table(sapply(attractors$attractors, function(attractor) { length(attractor$involvedStates) }))))) plotAttractors(attractors) # plot attractors in "graph" mode par(mfrow=c(1, length(attractors$attractors))) plotAttractors(attractors, mode="graph") # identify asynchronous attractors attractors <- getAttractors(cellcycle, type="asynchronous") # plot attractors in "graph" mode par(mfrow=c(1, length(attractors$attractors))) plotAttractors(attractors, mode="graph") } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{ Boolean network attractor cycle basin transition state graph plot} �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/igf.Rd����������������������������������������������������������������������������������0000644�0001762�0000144�00000001673�12732246464�013444� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{igf} \alias{igf} \docType{data} \title{ Boolean model of the IGF pathway } \description{ A small Boolean model of major components of the IGF (Insuline-like growth receptor) pathway. Through IRS, IGF activates the well-known PI3K-Akt-mTOR signalling cascade. This cascade is finally inactivated by a feedback inhibion of IRS. The model simplifies several complex formations and cascades by representing them as single nodes and specifying time delays instead. It therefore demonstrates the usage of temporal Boolean networks in \pkg{BoolNet}. } \usage{data(igf)} \format{ This data set consists of a variable \code{igf} of class \code{SymbolicBooleanNetwork} with 5 genes. The class \code{SymbolicBooleanNetwork} is described in more detail in \code{\link{loadNetwork}}. } \examples{ data(igf) sim <- simulateSymbolicModel(igf) plotAttractors(sim) } \keyword{datasets IGF pathway symbolic Boolean network time delays} ���������������������������������������������������������������������BoolNet/man/stateTransition.Rd����������������������������������������������������������������������0000644�0001762�0000144�00000007357�12732246464�016077� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{stateTransition} \Rdversion{1.1} \alias{stateTransition} \title{ Perform a transition to the next state } \description{ Calculates the next state in a supplied network for a given current state } \usage{ stateTransition(network, state, type = c("synchronous","asynchronous","probabilistic"), geneProbabilities, chosenGene, chosenFunctions, timeStep = 0) } \arguments{ \item{network}{ A network structure of class \code{BooleanNetwork}, \code{SymbolicBooleanNetwork} or \code{ProbabilisticBooleanNetwork}. These networks can be read from files by \code{\link{loadNetwork}}, generated by \if{latex}{\cr}\code{\link{generateRandomNKNetwork}}, or reconstructed by \code{\link{reconstructNetwork}}. } \item{state}{ The current state of the network, encoded as a vector with one 0-1 element for each gene. If \code{network} is of class \code{SymbolicBooleanNetwork} and makes use of more than one predecessor state, this can also be a matrix with the genes in the columns and multiple predecessor states in the rows. } \item{type}{The type of transition to be performed. If set to "synchronous", all genes are updated using the corresponding transition functions. If set to "asynchronous", only one gene is updated. This gene is either chosen randomly or supplied in parameter \code{chosenGene}. If set to "probabilistic", one transition function is chosen for each gene, and the genes are updated synchronously. The functions are either chosen randomly depending on their probabilities, or they are supplied in parameter \code{chosenFunctions}. Default is "synchronous" for objects of class \code{BooleanNetwork} and \code{SymbolicBooleanNetwork}, and "probabilistic" for objects of class \code{ProbabilisticBooleanNetwork}.} \item{geneProbabilities}{An optional vector of probabilities for the genes if \code{type="asynchronous"}. By default, each gene has the same probability to be chosen for the next state transition. These probabilities can be modified by supplying a vector of probabilities for the genes which sums up to one.} \item{chosenGene}{If \code{type="asynchronous"} and this parameter is supplied, no random update is performed. Instead, the gene with the supplied name or index is chosen for the next transition.} \item{chosenFunctions}{If \code{type="probabilistic"}, this parameter can contain a set of function indices for each gene. In this case, transition functions are not chosen randomly, but the provided functions are used in the state transition.} \item{timeStep}{An optional parameter that specifies the current time step associated with \code{state}. This is only relevant for networks of class \code{SymbolicBooleanNetwork} that make use of time-dependent predicates (\code{timelt, timeis, timegt}). Otherwise, this parameter is ignored. } } \value{ The subsequent state of the network, encoded as a vector with one 0-1 element for each gene.} \seealso{ \code{\link{loadNetwork}}, \code{\link{generateRandomNKNetwork}}, \code{\link{generateState}} } \examples{ # load example network data(cellcycle) # calculate a synchronous state transition print(stateTransition(cellcycle, c(1,1,1,1,1,1,1,1,1,1))) # calculate an asynchronous state transition of gene CycA print(stateTransition(cellcycle, c(1,1,1,1,1,1,1,1,1,1), type="asynchronous", chosenGene="CycA")) # load probabilistic network data(examplePBN) # perform a probabilistic state transition print(stateTransition(examplePBN, c(0,1,1), type="probabilistic")) } \keyword{state transition Boolean network synchronous update asynchronous update probabilistic Boolean network PBN transition state} ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/plotPBNTransitions.Rd�������������������������������������������������������������������0000644�0001762�0000144�00000005376�12732246464�016457� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{plotPBNTransitions} \alias{plotPBNTransitions} \title{ Visualize the transitions in a probabilistic Boolean network } \description{ Visualizes the state transitions and their probabilities in a probabilistic Boolean network. This takes the transition table information calculated by the \code{\link{markovSimulation}} method. Only transitions with non-zero probability are included in the plot. The function requires the \pkg{igraph} package. } \usage{ plotPBNTransitions(markovSimulation, stateSubset, drawProbabilities = TRUE, drawStateLabels = TRUE, layout = layout.fruchterman.reingold, plotIt = TRUE, ...) } \arguments{ \item{markovSimulation}{ An object of class \code{MarkovSimulation}, as returned by \code{\link{markovSimulation}}. As the transition table information in this structure is required, \code{\link{markovSimulation}} must be called with \code{returnTable} set to TRUE. } \item{stateSubset}{ An optional list of states, where each element of the list must be a vector with a 0/1 entry for each gene. If this argument is supplied, the graph only contains the specified states and transitions between these states. } \item{drawProbabilities}{ If set to true, the edges of the graph are annotated with the probabilities of the corresponding transitions. Default is TRUE. } \item{drawStateLabels}{ If set to true, the vertices of the graph are annotated with the gene values of the corresponding states. Defaults to TRUE. } \item{layout}{ A layouting function that determines the placement of the nodes in the graph. Please refer to the \code{\link[igraph]{layout}} manual entry in the \pkg{igraph} package for further details. By default, the Fruchterman-Reingold algorithm is used. } \item{plotIt}{ If this is true, a plot is generated. Otherwise, only an object of class \code{igraph} is returned, but no plot is drawn. } \item{\dots}{ Further graphical parameters to be passed to \code{\link[igraph:plot.graph]{plot.igraph}}. } } \value{ Returns an invisible object of class \code{igraph} containing the wiring graph. } \details{ This function uses the \code{\link[igraph:plot.graph]{plot.igraph}} function from the \pkg{igraph} package. The plots are customizeable using the \code{\dots} argument. For details on possible parameters, please refer to \code{\link[igraph:plot.common]{igraph.plotting}}. } \seealso{ \code{\link{markovSimulation}} } \examples{ # load example network data(examplePBN) # perform a Markov chain simulation sim <- markovSimulation(examplePBN) # plot the transitions and their probabilities plotPBNTransitions(sim) } \keyword{probabilistic Boolean network PBN Boolean network plot transition graph} ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/getTransitionTable.Rd�������������������������������������������������������������������0000644�0001762�0000144�00000004367�12732246464�016504� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{getTransitionTable} \Rdversion{1.1} \alias{getTransitionTable} \title{ Retrieve the transition table of a network } \description{ Retrieves the transition table and additional attractor information of a network. } \usage{ getTransitionTable(attractorInfo) } \arguments{ \item{attractorInfo}{ An object of class \code{AttractorInfo}, as returned by \code{\link{getAttractors}}, or of class \code{SymbolicSimulation}, as returned by \code{\link{simulateSymbolicModel}}. As the transition table information in this structure is required, \code{getAttractors} must be called in synchronous mode and with \code{returnTable} set to TRUE. Similarly, \code{simulateSymbolicModel} must be called with \code{returnGraph=TRUE}. } } \details{ Depending on the configuration of the call to \code{getAttractors} or \code{simulateSymbolicModel} that returned \code{attractorInfo}, this function either returns the complete transition table (for exhaustive synchronous search) or the part of the transition table calculated in a heuristic synchronous search. Asynchronous search is not supported, as no transition table is calculated. } \value{ Returns a generic dataframe of the class \code{TransitionTable}. For n genes, the first n columns code for the original state (in this case, the \code{state} parameter), i.e. each column represents the value of one gene. The next n columns code for the successive state after a transition. The column \code{attractorAssignment} indicates the attractor to the state is assigned. If this information is available, the column \code{stepsToAttractor} indicates how many transitions are needed from the original state to the attractor. The table has a row for each possible input state. The \code{TransitionTable} class supports pretty printing using the \code{\link{print}} method. } \seealso{ \code{\link{getStateSummary}}, \code{\link{getBasinOfAttraction}}, \code{\link{getAttractors}}, \code{\link{simulateSymbolicModel}} } \examples{ # load example data data(cellcycle) # get attractors attractors <- getAttractors(cellcycle) # print the transition table print(getTransitionTable(attractors)) } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{Boolean network transition transition table state} �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/getStateSummary.Rd����������������������������������������������������������������������0000644�0001762�0000144�00000004117�12732246464�016031� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{getStateSummary} \Rdversion{1.1} \alias{getStateSummary} %- Also NEED an '\alias' for EACH other topic documented here. \title{ Retrieve summary information on a state } \description{ Returns information on the supplied state, i.e. the successive state after a transition, the (synchronous) attractor to which the state leads, and the distance to this attractor. } \usage{ getStateSummary(attractorInfo, state) } \arguments{ \item{attractorInfo}{ An object of class \code{AttractorInfo}, as returned by \code{\link{getAttractors}}, or of class \code{SymbolicSimulation}, as returned by \code{\link{simulateSymbolicModel}}. As the transition table information in this structure is required, \code{getAttractors} must be called in synchronous mode and with \code{returnTable} set to TRUE. Similarly, \code{simulateSymbolicModel} must be called with \code{returnGraph=TRUE}. } \item{state}{ A 0-1 vector with n elements (where n is the number of genes in the underlying networks) describing the state. } } \value{ Returns a generic dataframe of the class \code{TransitionTable}. For n genes, the first n columns code for the original state (in this case, the \code{state} parameter), i.e. each column represents the value of one gene. The next n columns code for the successive state after a transition. The column \code{attractorAssignment} indicates the attractor to the state is assigned. If this information is available, the column \code{stepsToAttractor} indicates how many transitions are needed from the original state to the attractor. In this case, the table has only one row describing the supplied state. The \code{TransitionTable} class supports pretty printing using the \code{\link{print}} method. } \seealso{ \code{\link{getBasinOfAttraction}}, \code{\link{getTransitionTable}}, \code{\link{getAttractors}}, \code{\link{simulateSymbolicModel}} } \examples{ # load example data data(cellcycle) # get attractors attractors <- getAttractors(cellcycle) # print information for an arbitrary state print(getStateSummary(attractors, c(1,1,1,1,1,1,1,1,1,1))) } \keyword{Boolean network transition state} �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/plotNetworkWiring.Rd��������������������������������������������������������������������0000644�0001762�0000144�00000004062�12732246464�016402� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{plotNetworkWiring} \alias{plotNetworkWiring} \title{ Plot the wiring of a Boolean network } \description{ Plots the wiring of genes (i.e. the gene dependencies) of a synchronous or probabilistic Boolean network. The nodes of the graph are the genes, and the directed edges show the dependencies of the genes. This requires the \pkg{igraph} package. } \usage{ plotNetworkWiring(network, layout = layout.fruchterman.reingold, plotIt = TRUE, ...) } \arguments{ \item{network}{ A network structure of class \code{BooleanNetwork}, \code{SymbolicBooleanNetwork} or \code{ProbabilisticBooleanNetwork}. These networks can be read from files by \code{\link{loadNetwork}}, generated by \if{latex}{\cr}\code{\link{generateRandomNKNetwork}}, or reconstructed by \code{\link{reconstructNetwork}}. } \item{layout}{ A layouting function that determines the placement of the nodes in the graph. Please refer to the \code{\link[igraph]{layout}} manual entry in the \pkg{igraph} package for further details. By default, the Fruchterman-Reingold algorithm is used. } \item{plotIt}{ If this is true, a plot is generated. Otherwise, only an object of class \code{igraph} is returned, but no plot is drawn. } \item{\dots}{ Further graphical parameters to be passed to \code{\link[igraph:plot.graph]{plot.igraph}}. } } \details{ This function uses the \code{\link[igraph:plot.graph]{plot.igraph}} function from the \pkg{igraph} package. The plots are customizeable using the \code{\dots} argument. For details on possible parameters, please refer to \code{\link[igraph:plot.common]{igraph.plotting}}. } \value{ Returns an invisible object of class \code{igraph} containing the wiring graph. } \seealso{ \code{\link{loadNetwork}}, \code{\link{generateRandomNKNetwork}}, \code{\link{reconstructNetwork}}, \code{\link{plotStateGraph}}, \code{\link[igraph:plot.graph]{igraph.plotting}} } \examples{ # load example data data(cellcycle) # plot wiring graph plotNetworkWiring(cellcycle) } \keyword{wiring graph plot Boolean network dependencies} ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/markovSimulation.Rd���������������������������������������������������������������������0000644�0001762�0000144�00000007115�12732246464�016240� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{markovSimulation} \alias{markovSimulation} %- Also NEED an '\alias' for EACH other topic documented here. \title{ Identify important states in probabilistic Boolean networks } \description{ Identifies important states in probabilistic Boolean networks (PBN) using a Markov chain simulation } \usage{ markovSimulation(network, numIterations = 1000, startStates = list(), cutoff = 0.001, returnTable = TRUE) } \arguments{ \item{network}{ An object of class \code{ProbabilisticBooleanNetwork} or \code{BooleanNetwork} whose transitions are simulated } \item{numIterations}{ The number of iterations for the matrix multiplication, which corresponds to the number of state transitions to simulate } \item{startStates}{ An optional list of start states. Each entry of the list must be a vector with a 0/1 value for each gene. If specified, the simulation is restricted to the states reachable from the supplied start states. Otherwise, all states are considered. } \item{cutoff}{ The cutoff value used to determine if a probability is 0. All output probabilities less than or equal to this value are set to 0. } \item{returnTable}{ If set to true, a transition table annotated with the probabilities for the transitions is included in the results. This is required by \code{\link{plotPBNTransitions}} and \code{\link{getTransitionProbabilities}}. } } \details{ The algorithm identifies important states by performing the following steps: First, a Markov matrix is calculated from the set of transition functions, where each entry of the matrix specifies the probability of a state transition from the state belonging to the corresponding row to the state belonging to the corresponding column. A vector is initialized with uniform probability for all states (or -- if specified -- uniform probability for all start states) and repeatedly multiplied with the Markov matrix. The method returns all states with non-zero probability in this vector. See the references for more details. } \value{ An object of class \code{MarkovSimulation} with the following components: \item{reachedStates}{A data frame with one state in each row. The first columns specify the gene values of the state, and the last column holds the probability that the corresponding state is reached after \code{numIterations} transitions. Only states with a probability greater than \code{cutoff} are included in this table.} \item{genes}{A vector of gene names of the input network} \item{table}{If \code{returnTable=TRUE}, this structure holds a table of transitions with the corresponding probabilities that transitions are chosen. This is a list with the following components: \describe{ \item{initialStates}{A matrix of encoded start states of the transitions} \item{nextStates}{The encoded successor states of the transitions} \item{probabilities}{The probabilities that the transitions are chosen in a single step} }} } \references{ I. Shmulevich, E. R. Dougherty, S. Kim, W. Zhang (2002), Probabilistic Boolean networks: a rule-based uncertainty model for gene regulatory networks. Bioinformatics 18(2):261--274. } \seealso{ \code{\link{reconstructNetwork}}, \code{\link{plotPBNTransitions}}, \code{\link{getTransitionProbabilities}} } \examples{ # load example network data(examplePBN) # perform a Markov chain simulation sim <- markovSimulation(examplePBN) # print the relevant states and transition probabilities print(sim) # plot the transitions and their probabilities plotPBNTransitions(sim) } \keyword{probabilistic Boolean network PBN Markov chain } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/symbolicToTruthTable.Rd�����������������������������������������������������������������0000644�0001762�0000144�00000002157�12732246464�017020� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{symbolicToTruthTable} \alias{symbolicToTruthTable} \title{ Convert a symbolic network into a truth table representation } \description{ Converts an object of class \code{SymbolicBooleanNetwork} into an object of class \code{BooleanNetwork} by generating truth tables from the symbolic expression trees. } \usage{ symbolicToTruthTable(network) } \arguments{ \item{network}{ An object of class \code{SymbolicBooleanNetwork} to be converted. } } \details{ The symbolic network \code{network} must not contain temporal operators, as these are not compatible with the truth table representation in \code{BooleanNetwork} objects. } \value{ Returns an object of class \code{BooleanNetwork}, as described in \code{\link{loadNetwork}}. } \seealso{ \code{\link{truthTableToSymbolic}}, \code{\link{loadNetwork}} } \examples{ # Convert a truth table representation into a # symbolic representation and back data(cellcycle) symbolicNet <- truthTableToSymbolic(cellcycle) print(symbolicNet) ttNet <- symbolicToTruthTable(symbolicNet) print(cellcycle) } \keyword{Boolean network symbolic Boolean network conversion} �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/yeastTimeSeries.Rd����������������������������������������������������������������������0000644�0001762�0000144�00000002627�12732246464�016016� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{yeastTimeSeries} \alias{yeastTimeSeries} \docType{data} \title{ Yeast cell cycle time series data } \description{ Preprocessed time series measurements of four genes from the yeast cell cycle data by Spellman et al. } \usage{data(yeastTimeSeries)} \format{ A matrix with 14 measurements for the genes Fhk2, Swi5, Sic1, and Clb1. Each gene is a row of the matrix, and each column is a measurement. } \details{ The data were obtained from the web site of the yeast cell cycle analysis project at \url{http://genome-www.stanford.edu/cellcycle}. The time series synchronized with the elutriation method were extracted for the genes Fhk2, Swi5, SIC1, and Clb1. In a preprocessing step, missing values were imputed by taking the means of the measurements of the same genes at neighbouring time points. } \source{ P. T. Spellman, G. Sherlock, M. Q. Zhang, V. R. Iyer, K. Anders, M. B. Eisen, P. O. Brown, D. Botstein, B. Futcher (1998), Comprehensive Identification of Cell Cycle-regulated Genes of the Yeast Saccharomyces cerevisiae by Microarray Hybridization. Molecular Biology of the Cell 9(12):3273--3297. Yeast cell cycle analysis project web site: \url{http://genome-www.stanford.edu/cellcycle} } \examples{ data(yeastTimeSeries) # the data set is stored in a variable called 'yeastTimeSeries' print(yeastTimeSeries) } \keyword{datasets yeast cell cycle time series binarization binarize} ���������������������������������������������������������������������������������������������������������BoolNet/man/binarizeTimeSeries.Rd�������������������������������������������������������������������0000644�0001762�0000144�00000013357�12732246464�016476� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{binarizeTimeSeries} \alias{binarizeTimeSeries} \title{ Binarize a set of real-valued time series } \description{ Binarizes a set of real-valued time series using k-means clustering, edge detection, or scan statistics. } \usage{ binarizeTimeSeries(measurements, method = c("kmeans","edgeDetector","scanStatistic"), nstart = 100, iter.max = 1000, edge = c("firstEdge","maxEdge"), scaling = 1, windowSize = 0.25, sign.level = 0.1, dropInsignificant = FALSE) } \arguments{ \item{measurements}{ A list of matrices, each corresponding to one time series. Each row of these matrices contains real-valued measurements for one gene on a time line, i. e. column \code{i+1} contains the successor states of column \code{i+1}. The genes must be the same for all matrices in the list. } \item{method}{The employed binarization technique. "kmeans" uses k-means clustering for binarization. "edgeDetector" searches for a large gradient in the sorted measurements. "scanStatistic" searches for accumulations in the measurements. See Details for descriptions of the techniques.} \item{nstart}{ If \code{method="kmeans"}, this is the number of restarts for k-means. See \code{\link{kmeans}} for details. } \item{iter.max}{ If \code{method="kmeans"}, the maximum number of iterations for k-means. See \code{\link{kmeans}} for details. } \item{edge}{If \code{method="edgeDetector"}, this decides which of the edges is used as a threshold for binarization. If set to "firstEdge",the binarization threshold is the first combination of two successive sorted values whose difference exceeds a predefined value (average gradient * \code{scaling}). The parameter \code{scaling} can be used to adjust this value. If set to "maxEdge", the binarization threshold is the position of the edge with the overall highest gradient.} \item{scaling}{If \code{method="edgeDetector"} and \code{edge="firstEdge"}, this holds the scaling factor used for adjustment of the average gradient.} \item{windowSize}{If \code{method="scanStatistic"}, this specifies the size of the scanning window (see Details). The size is given as a fraction of the whole range of input values for a gene. Default is 0.25.} \item{sign.level}{If \code{method="scanStatistic"}, the significance level used for the scan statistic (see Details). } \item{dropInsignificant}{ If this is set to true, genes whose binarizations are insignificant in the scan statistic (see Details) are removed from the binarized time series. Otherwise, a warning is printed if such genes exist. } } \details{ This method supports three binarization techniques: \describe{ \item{k-means clustering}{For each gene, k-means clusterings are performed to determine a good separation of groups. The values belonging to the cluster with the smaller centroid are set to 0, and the values belonging to the greater centroid are set to 1.} \item{Edge detector}{This approach first sorts the measurements for each gene. In the sorted measurements, the algorithm searches for differences of two successive values that satisfy a predefined condition: If the "firstEdge" method was chosen, the pair of values whose difference exceeds the scaled average gradient of all values is chosen and used as maximum and minimum value of the two groups. If the "maxEdge" method was chosen, the largest difference between two successive values is taken. For details, see Shmulevich et al.} \item{Scan statistic}{The scan statistic assumes that the measurements for each gene are uniformly and independently distributed independently over a certain range. The scan statistic shifts a scanning window across the data and decides for each window position whether there is an unusual accumulation of data points based on an approximated test statistic (see Glaz et al.). The window with the smallest p-value is remembered. The boundaries of this window form two thresholds, from which the value that results in more balanced groups is taken for binarization. Depending on the supplied significance level, gene binarizations are rated according to the p-value of the chosen window.} } } \value{ Returns a list with the following elements: \item{binarizedMeasurements}{A list of matrices with the same structure as \code{measurements} containing the binarized time series measurements} \item{reject}{If \code{method="scanStatistic"}, a Boolean vector indicating for each gene whether the scan statistic algorithm was able to find a significant binarization window (FALSE) or not (TRUE). Rejected genes should probably be excluded from the data.} \item{thresholds}{The thresholds used for binarization} } \references{ I. Shmulevich and W. Zhang (2002), Binary analysis and optimization-based normalization of gene expression data. Bioinformatics 18(4):555--565. J. Glaz, J. Naus, S. Wallenstein (2001), Scan Statistics. New York: Springer. } \seealso{ \code{\link{reconstructNetwork}} } \examples{ # load test data data(yeastTimeSeries) # perform binarization with k-means bin <- binarizeTimeSeries(yeastTimeSeries) print(bin) # perform binarization with scan statistic # - will find and remove 2 insignificant genes! bin <- binarizeTimeSeries(yeastTimeSeries, method="scanStatistic", dropInsignificant=TRUE, sign.level=0.2) print(bin) # perform binarization with edge detector bin <- binarizeTimeSeries(yeastTimeSeries, method="edgeDetector") print(bin) # reconstruct a network from the data reconstructed <- reconstructNetwork(bin$binarizedMeasurements, method="bestfit", maxK=4) print(reconstructed) } \keyword{Boolean network binarization binarize k-means edge detector scan statistic} ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/toSBML.Rd�������������������������������������������������������������������������������0000644�0001762�0000144�00000005015�12732246464�013771� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{toSBML} \alias{toSBML} \title{ Export a network to SBML } \description{ Exports a synchronous or asynchronous Boolean network to SBML with the \code{sbml-qual} extension package. } \usage{ toSBML(network, file, generateDNFs = FALSE, saveFixed = TRUE) } \arguments{ \item{network}{ An object of class \code{BooleanNetwork} or \code{SymbolicBooleanNetwork} to be exported } \item{file}{ The name of the SBML file to be created } \item{generateDNFs}{ If \code{network} is a \code{BooleanNetwork} object, this parameter specifies whether formulae in Disjunctive Normal Form are exported instead of the expressions that describe the transition functions. If set to FALSE, the original expressions are exported. If set to "canonical", a canonical Disjunctive Normal Form is generated from each truth table. If set to "short", the canonical DNF is minimized by joining terms (which can be time-consuming for functions with many inputs). If set to TRUE, a short DNF is generated for functions with up to 12 inputs, and a canonical DNF is generated for functions with more than 12 inputs. For objects of class \code{SymbolicBooleanNetwork}, this parameter is ignored. } \item{saveFixed}{ If set to TRUE, knock-outs and overexpression of genes override their transition functions. That is, if a gene in the network is fixed to 0 or 1, this value is exported, regardless of the transition function. If set to FALSE, the transition function is exported. Defaults to TRUE. } } \details{ The export creates an SBML file describing a general logical model that corresponds to the Boolean network. Importing tools must support the \code{sbml-qual} extension package version 1.0. The export translates the expressions that describe the network transition functions to a MathML description. If these expressions cannot be parsed or \code{generateDNFs} is true, a DNF representation of the transition functions is generated and exported. For symbolic networks, temporal operators and delays of more than one time step are not allowed, as they are not compatible with SBML. } \references{ \url{http://sbml.org/Documents/Specifications/SBML_Level_3/Packages/Qualitative_Models_(qual)} } \seealso{ \code{\link{loadSBML}}, \code{\link{loadNetwork}}, \code{\link{saveNetwork}}, \code{\link{toPajek}} } \examples{ # load the cell cycle network data(cellcycle) # export the network to SBML toSBML(cellcycle, file="cellcycle.sbml") # reimport the model print(loadSBML("cellcycle.sbml")) } \keyword{SBML Boolean network file export} �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/generationFunctions.Rd������������������������������������������������������������������0000644�0001762�0000144�00000002756�12732246464�016726� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{generationFunctions} \alias{generateCanalyzing} \alias{generateNestedCanalyzing} \title{ Generation functions for biologically relevant function classes } \description{ These generation functions randomly generate canalyzing or nested canalyzing Boolean functions. These functions are usually not called directly, but are supplied to the \code{functionGeneration} parameter of \code{\link{generateRandomNKNetwork}}. } \usage{ generateCanalyzing(input) generateNestedCanalyzing(input) } \arguments{ \item{input}{ A vector of input gene indices for the Boolean function } } \value{ A binary vector corresponding to the result column of the truth table that represents the canalyzing/nested canalyzing function. } \references{ S. Kauffman and C. Peterson and B. Samuelsson and C. Troein (2004), Genetic networks with canalyzing Boolean rules are always stable. PNAS 101(49):7102--17107. } \seealso{ \code{\link{generateRandomNKNetwork}} } \examples{ # generate a random network with canalyzing functions net1 <- generateRandomNKNetwork(n=10, k=5, functionGeneration="generateCanalyzing") print(net1) # generate a random network with nested canalyzing functions net2 <- generateRandomNKNetwork(n=10, k=5, functionGeneration="generateNestedCanalyzing") print(net2) } \keyword{canalyzing function nested canalyzing function, random network} ������������������BoolNet/man/fixGenes.Rd�����������������������������������������������������������������������������0000644�0001762�0000144�00000003006�12732246464�014437� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{fixGenes} \alias{fixGenes} \title{ Simulate knocked-out or over-expressed genes } \description{ Simulates knocked-out or over-expressed genes by fixing the values of genes to 0 or 1, or turn off knock-out or over-expression of genes. } \usage{ fixGenes(network, fixIndices, values) } \arguments{ \item{network}{ The original network of class \code{BooleanNetwork}, \if{latex}{\cr} \code{SymbolicBooleanNetwork} or \code{ProbabilisticBooleanNetwork} containing the genes to be fixed } \item{fixIndices}{ A vector of names or indices of the genes to be fixed } \item{values}{ Either one single value, or a vector with the same length as \code{fixIndices}. For each gene, a value of 1 means that the gene is always turned on (over-expressed), a value of 0 means that the gene is always turned off (knocked-out), and a value of -1 means that the gene is not fixed. } } \value{ Depending on the input, an object of class \code{BooleanNetwork}, \code{SymbolicBooleanNetwork} or \code{ProbabilisticBooleanNetwork} containing the fixed genes is returned. These classes are described in more detail in \code{\link{loadNetwork}}. } \seealso{ \code{\link{loadNetwork}}} \examples{ # load example data data(cellcycle) # knock out gene CycD (index 1) net <- fixGenes(cellcycle, 1, 0) # or net <- fixGenes(cellcycle, "CycD", 0) # get attractors by exhaustive search attractors <- getAttractors(net) print(attractors) } \keyword{Boolean network probabilistic Boolean network PBN knock-out over-expression fixed gene fix} ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/generateState.Rd������������������������������������������������������������������������0000644�0001762�0000144�00000003200�12732246464�015456� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{generateState} \alias{generateState} \title{ Generate a state vector from single gene values } \description{ This function provides a simple interface to generate full state vectors by specifying only the genes of interest. For example, only those genes that are active can be specified, while the others are set to a default value. } \usage{ generateState(network, specs, default = 0) } \arguments{ \item{network}{ An network of class \code{BooleanNetwork}, \code{SymbolicBooleanNetwork} or \code{ProbabilisticBooleanNetwork} for which a state is generated. } \item{specs}{ A named vector or list specifying the genes to be set. Here, the names of the elements correspond to the gene names, and the elements correspond to the gene values. The function can also generate a matrix of states if the elements of \code{specs} are vectors of values (of the same length). } \item{default}{ The default value used for the unspecified genes (usually 0). } } \value{ Returns a full state vector with one entry for each gene of the network, or a matrix with one state in each row if \code{specs} contains vectors of state values. } \seealso{ \code{\link{getAttractors}}, \code{\link{simulateSymbolicModel}}, \code{\link{stateTransition}} } \examples{ # load cell cycle network data(cellcycle) # generate a state in which only CycD and CycA are active state <- generateState(cellcycle, c("CycD"=1, "CycA"=1)) print(state) # use the state as a start state for attractor search print(getAttractors(cellcycle, startStates=list(state))) } \keyword{state Boolean network probabilistic Boolean network PBN} ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/getBasinOfAttraction.Rd�����������������������������������������������������������������0000644�0001762�0000144�00000004576�12732246464�016756� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{getBasinOfAttraction} \Rdversion{1.1} \alias{getBasinOfAttraction} \title{ Get states in basin of attraction } \description{ Extracts information on all states in the basin of a supplied attractor } \usage{ getBasinOfAttraction(attractorInfo, attractorNo) } \arguments{ \item{attractorInfo}{ An object of class \code{AttractorInfo}, as returned by \code{\link{getAttractors}}, or of class \code{SymbolicSimulation}, as returned by \code{\link{simulateSymbolicModel}}. As the transition table information in this structure is required, \code{getAttractors} must be called in synchronous mode and with \code{returnTable} set to TRUE. Similarly, \code{simulateSymbolicModel} must be called with \code{returnGraph=TRUE}. } \item{attractorNo}{ The index of the attractor in \code{attractorInfo} whose basin should be identified } } \details{ The function outputs a transition table containing only the states that are contained in the basin of attraction, and displays additional information on these states. If \code{attractorInfo} is the result of an exhaustive synchronous attractor search, the complete basin of attraction is returned. If \code{attractorInfo} is the result of a heuristic synchronous search, there is no guarantee that the complete basin of attraction is returned, as only the calculated states are included. Asynchronous search results are not supported, as no transition table is calculated. } \value{ Returns a generic dataframe of the class \code{TransitionTable}. For n genes, the first n columns code for the original state, i.e. each column represents the value of one gene. The next n columns code for the successive state after a transition. The column \code{attractorAssignment} indicates the attractor to the state is assigned (in this case, \code{attractorNo}). If this information is available, the column \code{stepsToAttractor} indicates how many transitions are needed from the original state to the attractor. The \code{TransitionTable} class supports pretty printing using the \code{\link{print}} method. } \seealso{ \code{\link{getStateSummary}}, \code{\link{getTransitionTable}}, \code{\link{getAttractors}}, \code{\link{simulateSymbolicModel}} } \examples{ # load example data data(cellcycle) # get attractors attractors <- getAttractors(cellcycle) # print basin of first attractor print(getBasinOfAttraction(attractors, 1)) } \keyword{Boolean network attractor cycle basin} ����������������������������������������������������������������������������������������������������������������������������������BoolNet/man/loadSBML.Rd�����������������������������������������������������������������������������0000644�0001762�0000144�00000003527�12732246464�014274� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{loadSBML} \alias{loadSBML} \title{ Load an SBML document } \description{ Loads an SBML document that specifies a qualitative model using the \code{sbml-qual} extension package. } \usage{ loadSBML(file, symbolic=FALSE) } \arguments{ \item{file}{ The SBML document to be imported } \item{symbolic}{ If set to \code{TRUE}, the function returns an object of class \code{SymbolicBooleanNetwork} with an expression tree representation. Otherwise, it returns an object of class \code{BooleanNetwork} with a truth table representation. } } \details{ The import assumes an SBML level 3 version 1 document with the \code{sbml-qual} extension package version 1.0. \pkg{BoolNet} only supports a subset of the \code{sbml-qual} standard. The function tries to import those documents that describe a logical model with two possible values per species. It does not support general logical models with more than two values per species or Petri nets. Further details on the import: \itemize{ \item{The import supports multiple function terms with the same output for a transition and interprets them as a disjunction, as proposed in the specification.} \item{Comparison operators are converted to the corresponding Boolean expressions.} \item{Compartments are ignored.} } For the import, the \pkg{XML} package is required. } \value{ Returns a structure of class \code{BooleanNetwork} or \code{SymbolicBooleanNetwork}, as described in \code{\link{loadNetwork}}. } \references{ \url{http://sbml.org/Documents/Specifications/SBML_Level_3/Packages/Qualitative_Models_(qual)} } \seealso{ \code{\link{toSBML}}, \code{\link{loadNetwork}} } \examples{ # load the cell cycle network data(cellcycle) # export the network to SBML toSBML(cellcycle, "cellcycle.sbml") # reimport the model print(loadSBML("cellcycle.sbml")) } \keyword{SBML Boolean network file import} �������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/perturbNetwork.Rd�����������������������������������������������������������������������0000644�0001762�0000144�00000010034�12732246464�015723� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{perturbNetwork} \Rdversion{1.1} \alias{perturbNetwork} %- Also NEED an '\alias' for EACH other topic documented here. \title{ Perturb a Boolean network randomly } \description{ Modifies a synchronous, asynchronous, or probabilistic Boolean network by randomly perturbing either the functions for single genes or the state transitions. Random perturbations can be employed to assess the stability of the network. } \usage{ perturbNetwork(network, perturb = c("functions","transitions"), method = c("bitflip","shuffle"), simplify = (perturb[1]!="functions"), readableFunctions = FALSE, excludeFixed = TRUE, maxNumBits = 1, numStates = max(1,2^length(network$genes)/100)) } \arguments{ \item{network}{ A network structure of class \code{BooleanNetwork} or \code{ProbabilisticBooleanNetwork}. These networks can be read from files by \code{\link{loadNetwork}}, generated by \if{latex}{\cr}\code{\link{generateRandomNKNetwork}}, or reconstructed by \code{\link{reconstructNetwork}}. } \item{perturb}{ If set to "functions", a transition function of a single gene is chosen at random and perturbed directly. This is the default mode. If set to "transitions", the transition table is generated, one or several state transitions are perturbed randomly, and the gene transition functions are rebuilt from the modified transition table. \code{perturb="transitions"} is only allowed for non-probabilistic networks of class \code{BooleanNetworks}. } \item{method}{ The perturbation method to be applied to the functions or transitions. "bitflip" randomly inverts one or several bits (depending on the value of \code{maxNumBits}). "shuffle" generates a random permutation of the positions in the function or state and rearranges the bits according to this permutation. } \item{simplify}{ If this is true, \code{\link{simplifyNetwork}} is called to simplify the gene transition functions after the perturbation. This removes irrelevant input genes. Defaults to TRUE if \code{perturb} is "transitions", and to FALSE otherwise. } \item{readableFunctions}{ If this is true, readable DNF representations of the truth tables of the functions are generated. These DNF are displayed when the network is printed. The DNF representations are not minimized and can thus be very long. If set to FALSE, the truth table result column is displayed. } \item{excludeFixed}{ Determines whether fixed variables can also be perturbed (if set to FALSE) or if they are excluded from the perturbation (if set to TRUE). Default is TRUE. } \item{maxNumBits}{ The maximum number of bits to be perturbed in one function or state. Defaults to 1. } \item{numStates}{ The number of state transitions to be perturbed if \code{perturb} is "transitions". Defaults to 1% of all states. } } \value{ Depending on the input, an object of class \code{BooleanNetwork} or \code{ProbabilisticBooleanNetwork} containing the perturbed copy of the original network is returned. The classes \code{BooleanNetwork} and \code{ProbabilisticBooleanNetwork} are described in more detail in \code{\link{loadNetwork}}. } \seealso{ \code{\link{loadNetwork}}, \code{\link{generateRandomNKNetwork}}, \code{\link{reconstructNetwork}}, \code{\link{simplifyNetwork}}} \examples{ # load example data data(cellcycle) # perturb the network perturbedNet1 <- perturbNetwork(cellcycle, perturb="functions", method="shuffle") perturbedNet2 <- perturbNetwork(cellcycle, perturb="transitions", method="bitflip") # get attractors print(getAttractors(perturbedNet1)) print(getAttractors(perturbedNet2)) } \references{ Y. Xiao and E. R. Dougherty (2007), The impact of function perturbations in Boolean networks. Bioinformatics 23(10):1265--1273. I. Shmulevich, E. R. Dougherty, W. Zhang (2002), Control of stationary behavior in probabilistic Boolean networks by means of structural intervention. Journal of Biological Systems 10(4):431--445. } \keyword{Boolean network probabilistic Boolean network PBN state perturb perturbation noise robustness} ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/BoolNet-package.Rd����������������������������������������������������������������������0000644�0001762�0000144�00000014457�12732246464�015636� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{BoolNet-package} \Rdversion{1.1} \alias{BoolNet-package} \alias{BoolNet} \docType{package} \title{Construction, Simulation and Analysis of Boolean Networks} \description{Tools for reconstruction, analysis and visualization of synchronous, asynchronous and probabilistic Boolean networks, in particular for the identification of attractors in gene-regulatory networks} \details{ \tabular{ll}{ Package: \tab BoolNet\cr Type: \tab Package\cr Version: \tab 2.1.2\cr Date: \tab 2015-07-03\cr License: \tab Artistic-2.0\cr LazyLoad: \tab yes\cr } This package provides useful methods for the construction and generation of Boolean networks and for their analysis. In particular, it is designed for the analysis of gene-regulatory networks. The software supports four types of networks: \describe{ \item{Synchronous Boolean networks}{These networks consist of a set of Boolean variables (genes) \var{X} and a set of transition functions, one for each variable. These transition functions map an input from the set \var{X} to a Boolean value. A state is a vector of values for each of the variables in \var{X}. Then, the next state of the network is calculated by applying \emph{all} transition functions to the state.} \item{Asynchronous Boolean networks}{Asynchronous networks have the same structure as synchronous Boolean networks. Yet, the next state of the network is calculating by choosing only \emph{one} of the transition functions at random and updating the corresponding Boolean variable (gene). This corresponds to the assumption that in a genetic network, gene expression levels are likely to change at different points of time.} \item{Synchronous Boolean networks with time delays}{These networks additionally include dependencies on genes at time steps other than the previous time step. That is, not only the immediate predecessor state is considered to determine the next state of the network, but earlier states can be considered as well. Furthermore, it is possible to use predicates that depend on the absolute time point, i.e. the number of transitions from an initial state. } \item{Probabilistic Boolean networks}{Probabilistic networks allow for specifying more than one transition function per variable/gene. Each of these functions has a probability to be chosen, where the probabilities of all functions for one variable sum up to 1. Transitions are performed synchronously by choosing one transition function for each gene according to their probabilities and applying them to the current state.} } Networks can be assembled in several ways using \pkg{BoolNet}: The \code{\link{reconstructNetwork}} function infers Boolean networks from time series of measurements using several popular reconstruction algorithms. \code{\link{binarizeTimeSeries}} provides a means of binarizing real-valued time series for these reconstruction algorithms. Boolean networks (synchronous, asynchronous, and probabilistic networks) can also be expressed in a description language and loaded from files using \code{\link{loadNetwork}} or stored to files using \code{\link{saveNetwork}}. Furthermore, networks can be imported from BioTapestry using \code{\link{loadBioTapestry}} and from SBML with the \code{sbml-qual} package using \code{\link{loadSBML}}. The package also includes an export to SBML (see \code{\link{toSBML}}). Via \code{\link{generateRandomNKNetwork}} and \code{\link{perturbNetwork}}, the package supports various methods of generating random networks and perturbing existing networks for robustness analysis. The \code{\link{getAttractors}} function identifies attractor cycles in a synchronous or asynchronous Boolean network. Attractors can be identified by exhaustive search or heuristic methods. For networks with time delays, the function \code{simulateSymbolicModel} simulates the model and identifies attractors. The \code{\link{markovSimulation}} function identifies relevant states in probabilistic Boolean networks by performing a Markov chain simulation. The package also provides methods to visualize state transitions and basins of attraction \if{latex}{\cr} (\code{\link{plotPBNTransitions}}, \code{\link{plotStateGraph}}), to plot the wiring of a network \if{latex}{\cr}(\code{\link{plotNetworkWiring}}), to plot attractor state tables (\code{\link{plotAttractors}}) and sequences of states (\code{\link{plotSequence}}), and to export them to LaTeX (\code{\link{attractorsToLaTeX}} and \code{\link{sequenceToLaTeX}}) and Pajek (\code{\link{toPajek}}). Transition tables of the network can be analyzed using \code{\link{getTransitionTable}}. Paths from start states to their corresponding attractors are identified using \code{\link{getPathToAttractor}}. } \author{ Christoph Müssel, Martin Hopfensitz, Dao Zhou, Hans A. Kestler Contributors: Armin Biere (contributed PicoSAT code), Troy D. Hanson (contributed uthash macros) Maintainer: Hans A. Kestler <hans.kestler@uni-ulm.de> } \references{ S. A. Kauffman (1969), Metabolic stability and epigenesis in randomly constructed nets. J. Theor. Biol. 22:437--467. S. A. Kauffman (1993), The Origins of Order. Oxford University Press. Further references are listed in the corresponding help sections. } \keyword{package Boolean network probabilistic Boolean network PBN attractor cycle basin transition Markov chain simulation state graph reconstruction} \examples{ ################################## # Example 1: identify attractors # ################################## # load example data data(cellcycle) # get all synchronous attractors by exhaustive search attractors <- getAttractors(cellcycle) # plot attractors side by side par(mfrow=c(2,length(attractors$attractors))) plotAttractors(attractors) # identifies asynchronous attractors attractors <- getAttractors(cellcycle, type="asynchronous", startStates=100) plotAttractors(attractors, mode="graph") #################################### # Example 2: reconstruct a network # #################################### # load example data data(yeastTimeSeries) # perform binarization with k-means bin <- binarizeTimeSeries(yeastTimeSeries) # reconstruct networks from transition table net <- reconstructNetwork(bin$binarizedMeasurements, method="bestfit", maxK=3, returnPBN=TRUE) # analyze the network using a Markov chain simulation print(markovSimulation(net, returnTable=FALSE)) } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/getAttractors.Rd������������������������������������������������������������������������0000644�0001762�0000144�00000035553�12732246464�015531� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{getAttractors} \Rdversion{1.1} \alias{getAttractors} %- Also NEED an '\alias' for EACH other topic documented here. \title{Identify attractors in a Boolean network} \description{Identifies attractors (cycles) in a supplied Boolean network using synchronous or asynchronous state transitions} \usage{ getAttractors(network, type = c("synchronous","asynchronous"), method = c("exhaustive", "sat.exhaustive", "sat.restricted", "random", "chosen"), startStates = list(), genesON = c(), genesOFF = c(), canonical = TRUE, randomChainLength = 10000, avoidSelfLoops = TRUE, geneProbabilities = NULL, maxAttractorLength = Inf, returnTable = TRUE) } \arguments{ \item{network}{ A network structure of class \code{BooleanNetwork} or \code{SymbolicBooleanNetwork}. These networks can be read from files by \code{\link{loadNetwork}}, generated by \code{\link{generateRandomNKNetwork}}, or reconstructed by \code{\link{reconstructNetwork}}. } \item{type}{ If \code{type="synchronous"}, synchronous state transitions are used, i.e. all genes are updated at the same time. Synchronous attractor search can be performed in an exhaustive manner or using a heuristic that starts from predefined states. For symbolic networks, only synchronous updates are possible. If \code{type="asynchronous"}, asynchronous state transitions are performed, i.e. one (randomly chosen) gene is updated in each transition. Steady-state attractors are the same in asynchronous and synchronous networks, but the asynchronous search is also able to identify complex/loose attractors. Asynchronous search relies on a heuristic algorithm that starts from predefined states. See Details for more information on the algorithms. } \item{method}{ The search method to be used. If "exhaustive", attractors are identified by exhaustive state space search, i.e. by calculating the sucessors of all 2^n states (where n is the number of genes that are not set to a fixed value). This kind of search is only available for synchronous attractor search, and the maximum number of genes allowed for exhaustive search is 29. Apart from the attractors, this method generates the full state transition graph. If \code{method} is "sat.exhaustive" or "sat.restricted", attractors are identified using algorithms based on the satisfiability problem. This search type is also restricted to synchronous networks. It can be used to identify attractors in much larger networks than with \code{method="exhaustive"}, but does not return the state transition graph. For \code{method="sat.exhaustive"}, an exhaustive attractor search is performed, while \code{method="sat.restricted"} only searches for attractors of a specified maximum length \code{maxAttractorLength}. If \code{method} is "random", \code{startStates} is interpreted as an integer value specifying the number of states to be generated randomly. The algorithm is then initialized with these random states and identifies the attractors to which these states lead. If \code{method} is "chosen", \code{startStates} is interpreted as a list of binary vectors, each specifying one input state. Each vector must have \code{length(network$genes)} elements with 0 or 1 values. The algorithm identifies the attractors to which the supplied states lead. If \code{network} is of class \code{SymbolicBooleanNetwork} and makes use of more than one predecessor state, this can also be a list of matrices with the genes in the columns and multiple predecessor states in the rows. If \code{method} is not supplied, the desired method is inferred from the type of \code{startStates}. By default, if neither \code{method} nor \code{startStates} are provided, an exhaustive search is performed. } \item{startStates}{ The value of \code{startStates} depends on the chosen method. See \code{method} for more details. } \item{genesON}{ A vector of genes whose values are fixed to 1, which reduces the complexity of the search. This is equivalent to a preceding call of \code{\link{fixGenes}}. } \item{genesOFF}{ A vector of genes whose values are fixed to 0, which reduces the complexity of the search. This is equivalent to a preceding call of \code{\link{fixGenes}}. } \item{canonical}{ If set to true, the states in the attractors are rearranged such that the state whose binary encoding makes up the smallest number is the first element of the vector. This ensures that attractors found by different heuristic runs of \code{getAttractors} are comparable, as the cycles may have been entered at different states in different runs of the algorithm. } \item{randomChainLength}{ If \code{type="asynchronous"}, this parameter specifies the number of random transitions performed by the search to enter a potential attractor (see Details). Defaults to 10000. } \item{avoidSelfLoops}{ If \code{type="asynchronous"} and \code{avoidSelfLoops=TRUE}, the asynchronous attractor search only enters self loops (i.e. transitions that result in the same state) if none of the possible transitions can leave the state. This results in attractors with fewer edges. Otherwise, self loops are included in the attractors. By default, self loops are avoided. } \item{geneProbabilities}{ If \code{type="asynchronous"}, this allows to specify probabilities for the genes. By default, each gene has the same probability to be chosen for the next state transition. You can supply a vector of probabilities for each of the genes which sums up to one. } \item{maxAttractorLength}{If \code{method="sat.restricted"}, this required parameter specifies the maximum size of attractors (i.e. the number of states in the loop) to be searched. For \code{method="sat.exhaustive"}, this parameter is optional and specifies the maximum attractor length for the initial length-restricted search phase that is performed to speed up the subsequent exhaustive search. In this case, changing this value might bring performance benefits, but does not change the results.} \item{returnTable}{ Specifies whether a transition table is included in the returned \code{AttractorInfo} structure. If \code{type="asynchronous"} or \code{method="sat"}, this parameter is ignored, as the corresponding algorithms never return a transition table. } } \details{ Depending on the type of network and the chosen parameters, different search algorithms are started. For \code{BooleanNetwork} networks, there are three different modes of attractor search: \describe{ \item{Exhaustive synchronous state space search}{ In this mode, synchronous state transitions are carried out from each of the possible states until an attractor is reached. This identifies all synchronous attractors. } \item{Heuristic synchronous state space search}{ In contrast to exhaustive synchronous search, only a subset of the possible states is used. From these states, synchronous transitions are carried out until an attractor is reached. This subset is specified in \code{startStates}. } \item{Exhaustive synchronous SAT-based search}{ Here, the attractor search problem is formulated as a satisfiability problem and solved using Armin Biere's PicoSAT solver. The algorithm is a variant of the method by Dubrova and Teslenko which searches for a satisfying assignment of a chain constructed by unfolding the transition relation. Depending on \code{maxAttractorLength}, it additionally applies an initial size-restricted SAT-based search (see below) to increase overall search speed. This method is suitable for larger networks of up to several hundreds of genes and exhaustively identifies all attractors in these networks. In contrast to the state space search, it does not construct and return a state transition table. } \item{Size-restricted synchronous SAT-based search}{ Here, the SAT solver directly looks for satisfying assignments for loops of a specific size. This may be more efficient for large networks and is guaranteed to find all attractors that comprise up to \code{maxAttractorLength} states (e.g. all steady states for \code{maxAttractorLength=1}) , but does not find any larger attractors. As for the exhaustive SAT-based method, no transition table is returned. } \item{Heuristic asynchronous search}{ This algorithm uses asynchronous state transitions and is able to identify steady-state and complex/loose attractors (see Harvey and Bossomaier, Garg et al.). These attractors are sets of states from which all possible asynchronous transitions lead into a state that is member of the set as well. The heuristic algorithm does the following for each of the input state specified by \code{startStates}: \enumerate{ \item Perform \code{randomChainLength} random asynchronous transitions. After these transitions, the network state is expected to be located in an attractor with a high probability. \item Calculate the forward reachable set of the current state. Then, compare this set to the forward reachable set of all states in the set. If all sets are equal, a complex attractor is found. } } For \code{SymbolicBooleanNetwork} networks, \code{getAttractors} is simply a wrapper for \code{\link{simulateSymbolicModel}} with preset parameters. } Printing the return value of \code{getAttractors} using \code{\link{print}} visualizes the identified attractors.} \value{ For \code{BooleanNetwork} networks, this returns a list of class \code{AttractorInfo} with components \item{attractors}{A list of attractors. Each element is a 2-element list with the following components: \describe{ \item{involvedStates}{A matrix containing the states that make up the attractor. Each column represents one state. The entries are decimal numbers that internally represent the states of the genes. The number of rows depends on the number of genes in the network: The first 32 genes are encoded in the first row, genes 33-64 are encoded in the second row, etc.} \item{initialStates}{This element is only available if an asynchronous search was carried out and this is a complex attractor. In this case, it holds the encoded start states of the transitions in the complex attractor} \item{nextStates}{This element is only available if an asynchronous search was carried out and this is a complex attractor. In this case, it holds the encoded successor states of the transitions in the complex attractor} \item{basinSize}{The number of states in the basin of attraction. Details on the states in the basin can be retrieved via \code{\link{getBasinOfAttraction}}.} }} \item{stateInfo}{A summary structure of class \code{BooleanStateInfo} containing information on the transition table. It has the following components: \describe{ \item{initialStates}{This element is only available if \code{type="synchronous"}, \code{method} is "random" or "chosen", and \code{returnTable=TRUE}. This is a matrix describing the initial states that lead to the states in \code{table} after a state transition. If \code{method} is "exhaustive", this component is \code{NULL}. In this case, the initial states can be inferred, as all states are used. The format of the matrix is described in \code{involvedStates}.} \item{table}{This element is only available if \code{type="synchronous"} and \if{latex}{\cr}\code{returnTable=TRUE}. It holds result vector of the transition table as a matrix with one column for each state. These are encoded bit vectors in decimal numbers as described above.} \item{attractorAssignment}{This element is only available if \code{type="synchronous"} and \code{returnTable=TRUE}. It contains a vector that corresponds to the entries in \code{table} and describes the attractor index in \code{attractors} to which successive transitions from the described state finally lead.} \item{stepsToAttractor}{This element is only available if \code{type="synchronous"} and \code{returnTable=TRUE}. Referring to \code{attractorAssignment}, this is the number of transitions needed to reach the attractor.} \item{genes}{A list of names of the genes in \code{network}.} \item{fixedGenes}{Specifies the fixed genes as in the \code{fixed} component of \code{network}.} } The structure supports pretty printing using the \code{\link{print}} method.} For \code{SymbolicBooleanNetwork} networks, \code{getAttractors} redirects the call to \code{\link{simulateSymbolicModel}} and returns an object of class \code{SymbolicSimulation} containing the attractors and (if \code{returnTable=TRUE}) the transition graph. } \references{ S. A. Kauffman (1969), Metabolic stability and epigenesis in randomly constructed nets. J. Theor. Biol. 22:437--467. S. A. Kauffman (1993), The Origins of Order. Oxford University Press. I. Harvey, T. Bossomaier (1997), Time out of joint: Attractors in asynchronous random Boolean networks. Proc. of the Fourth European Conference on Artificial Life, 67--75. A. Garg, A. Di Cara, I. Xenarios, L. Mendoza, G. De Micheli (2008), Synchronous versus asynchronous modeling of gene regulatory networks. Bioinformatics 24(17):1917--1925. E. Dubrova, M. Teslenko (2011), A SAT-based algorithm for finding attractors in synchronous Boolean networks. IEEE/ACM Transactions on Computational Biology and Bioinformatics 8(5):1393--1399. A. Biere (2008), PicoSAT Essentials. Journal on Satisfiability, Boolean Modeling and Computation 4:75-97. } \seealso{ \code{\link{loadNetwork}}, \code{\link{generateRandomNKNetwork}}, \code{\link{simulateSymbolicModel}}, \code{\link{plotAttractors}}, \code{\link{attractorsToLaTeX}}, \code{\link{getTransitionTable}}, \code{\link{getBasinOfAttraction}}, \code{\link{getAttractorSequence}}, \code{\link{getStateSummary}}, \code{\link{getPathToAttractor}}, \code{\link{fixGenes}}, \code{\link{generateState}} } \examples{ # load example data data(cellcycle) # get all synchronous attractors by exhaustive search attractors <- getAttractors(cellcycle) # plot attractors side by side par(mfrow=c(2, length(attractors$attractors))) plotAttractors(attractors) # finds the synchronous attractor with 7 states attractors <- getAttractors(cellcycle, method="chosen", startStates=list(rep(1, length(cellcycle$genes)))) plotAttractors(attractors) # finds the attractor with 1 state attractors <- getAttractors(cellcycle, method="chosen", startStates=list(rep(0, length(cellcycle$genes)))) plotAttractors(attractors) # also finds the attractor with 1 state by restricting the attractor length attractors <- getAttractors(cellcycle, method="sat.restricted", maxAttractorLength=1) plotAttractors(attractors) # identifies asynchronous attractors attractors <- getAttractors(cellcycle, type="asynchronous", startStates=100) plotAttractors(attractors, mode="graph") } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{Boolean network synchronous update asynchronous update symbolic Boolean network attractor cycle basin} �����������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/attractorsToLaTeX.Rd��������������������������������������������������������������������0000644�0001762�0000144�00000007040�12732246464�016260� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{attractorsToLaTeX} \Rdversion{1.1} \alias{attractorsToLaTeX} %- Also NEED an '\alias' for EACH other topic documented here. \title{ Create LaTeX state table of attractors } \description{ Exports state tables of attractors (corresponding to the plot generated by \code{\link{plotAttractors}} with \code{mode="table"}) to a LaTeX document. } \usage{ attractorsToLaTeX(attractorInfo, subset, title = "", grouping = list(), plotFixed = TRUE, onColor = "[gray]{0.9}", offColor = "[gray]{0.6}", reverse = FALSE, file = "attractors.tex") } \arguments{ \item{attractorInfo}{ An object of class \code{AttractorInfo}, as returned by \code{\link{getAttractors}}, or an object of class \code{SymbolicSimulation}, as returned by \code{\link{simulateSymbolicModel}}. } \item{subset}{An subset of attractors to be exported. This is a vector of attractor indices in \code{attractorInfo}.} \item{grouping}{An optional structure to form groups of genes in the plot. This is a list with the following elements: \describe{ \item{class}{A vector of names for the groups. These names will be printed in the region belonging to the group in the table.} \item{index}{A list with the same length as \code{class}. Each element is a vector of gene indices belonging to the group.}} } \item{title}{ An optional title for the plot } \item{plotFixed}{ If this is true, genes with fixed values are included in the plot. Otherwise, these genes are not shown. } \item{onColor}{ An optional color value for the 1/ON values in the table. Defaults to dark grey. } \item{offColor}{ An optional color value for the 0/OFF values in the table. Defaults to light grey. } \item{reverse}{ Specifies the order of the genes in the plot. By default, the first gene is placed in the first row of the table. If \code{reverse=TRUE}, the first gene in the network is placed in the bottom row of the table. } \item{file}{ The file to which the LaTeX document is written. Defaults to "attractors.tex". } } \details{ This function creates LaTeX tables that visualize the states of synchronous attractors. Asynchronous attractors are ignored. Attractors in \code{attractorInfo} are first grouped by length. Then, a LaTeX table environment is created for each attractor length (i.e. one plot with all attractors consisting of 1 state, one plot with all attractors consisting of 2 states, etc.). The output file does not contain a document header and requires the inclusion of the packages \code{tabularx} and \code{colortbl}. The tables have the genes in the rows and the states of the attractors in the columns. If not specified otherwise, cells of the table are light grey for 0/OFF values and dark grey for 1/ON values. If \code{grouping} is set, the genes are rearranged according to the indices in the group, horizontal separation lines are plotted between the groups, and the group names are printed. } \value{ A list of matrices corresponding to the plots is returned. Each of these matrices has the genes in the rows and the states of the attractors in the columns. } \seealso{ \code{\link{getAttractors}}, \code{\link{plotAttractors}}, \code{\link{sequenceToLaTeX}}, \code{\link{plotSequence}} } \examples{ # load example data data(cellcycle) # get attractors attractors <- getAttractors(cellcycle) # output LaTeX document attractorsToLaTeX(attractors, file="attractors.tex") } \keyword{LaTeX Boolean network attractor cycle basin transition state graph} ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/cellcycle.Rd����������������������������������������������������������������������������0000644�0001762�0000144�00000001705�12732246464�014632� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{cellcycle} \alias{cellcycle} \docType{data} \title{ Mammalian cell cycle network } \description{ The mammalian cell cycle network as described by Faure et al. } \usage{data(cellcycle)} \details{ The data consists of a variable \code{cellcycle} of class \code{BooleanNetwork} with 10 genes describing the four phases of the mammalian cell cycle. The network has one steady-state attractor. Furthermore, it has one synchronous attractor with 7 states and one asynchronous complex/loose attractor with 112 states. The class \code{BooleanNetwork} is described in more detail in \code{\link{loadNetwork}}. } \source{ A. Faure, A. Naldi, C. Chaouiya and D. Thieffry (2006), Dynamical analysis of a generic Boolean model for the control of the mammalian cell cycle. Bioinformatics 22(14):e124--e131. } \examples{ data(cellcycle) # the network is stored in a variable called 'cellcycle' print(cellcycle) } \keyword{datasets cell cycle mammalian Boolean network} �����������������������������������������������������������BoolNet/man/testNetworkProperties.Rd����������������������������������������������������������������0000644�0001762�0000144�00000032513�12732246464�017302� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{testNetworkProperties} \alias{testNetworkProperties} \alias{testIndegree} \alias{testAttractorRobustness} \alias{testTransitionRobustness} \title{ Test properties of networks by comparing them to random networks } \description{ This is a general function designed to determine unique properties of biological networks by comparing them to a set of randomly generated networks with similar structure. } \usage{ testNetworkProperties(network, numRandomNets = 100, testFunction = "testIndegree", testFunctionParams = list(), accumulation = c("characteristic", "kullback_leibler"), alternative=c("greater","less"), sign.level = 0.05, drawSignificanceLevel = TRUE, klBins, klMinVal = 1e-05, linkage = c("uniform", "lattice"), functionGeneration = c("uniform", "biased"), validationFunction, failureIterations=10000, simplify = FALSE, noIrrelevantGenes = TRUE, d_lattice = 1, zeroBias = 0.5, title = "", xlab, xlim, breaks = 30, ...) } \arguments{ \item{network}{ A network structure of class \code{BooleanNetwork} or \code{SymbolicBooleanNetwork} } \item{numRandomNets}{ The number of random networks to generate for comparison } \item{testFunction}{ The name of a function that calculates characteristic values that describe properties of the network. There are two built-in functions: "testIndegree" calculates the in-degrees of states in the network, and "testAttractorRobustness" counts the occurrences of attractors in perturbed copies. It is possible to supply user-defined functions here. See Details. } \item{testFunctionParams}{ A list of parameters to \code{testFunction}. The elements of the list depend on the chosen function. } \item{accumulation}{ If "characteristic" is chosen, the test function is required to return a single value that describes the network. In this case, a histogram of these values in random networks is plotted, and the value of the original network is inserted as a vertical line. If "kullback_leibler" is chosen, the test function can return a vector of values which is regarded as a sample from a probability distribution. In this case, the Kullback-Leibler distances of the distributions from the original network and each of the random networks are calculated and plotted in a histogram. The Kullback-Leibler distance measures the difference between two probability distributions. In this case, the resulting histogram shows the distribution of differences between the original network and randomly generated networks. } \item{alternative}{ If \code{accumulation="characteristic"}, this specifies whether the characteristic value is expected to be greater or less than the random results under the alternative hypothesis. } \item{sign.level}{ If \code{accumulation="characteristic"}, this specifies a significance level for a computer-intensive test. If \code{alternative="greater"}, the test is significant if the characteristic value is greater than at least \code{(1-sign.level)*100}\% of the characteristic values of the random networks. If \code{alternative="less"}, the test is significant if the characteristic value is less than at most \code{sign.level*100}\% of the characteristic values of the random networks. } \item{drawSignificanceLevel}{ If \code{accumulation="characteristic"} and this is true, a vertical line is plotted for the significance level in the histogram. } \item{linkage, functionGeneration, validationFunction, failureIterations, simplify, noIrrelevantGenes, d_lattice, zeroBias}{ The corresponding parameters of \code{\link{generateRandomNKNetwork}} used to generate the random networks. This allows for customization of the network generation process. The three remaining parameters of \code{\link{generateRandomNKNetwork}} are set to values that ensure structural similarity to the original network: The parameters \code{n} and \code{k} are set to the corresponding values of the original network, and \code{topology="fixed"}. } \item{klBins}{ If \code{accumulation="kullback_leibler"}, the number of bins used to discretize the samples for the Kullback-Leibler distance calculations. By default, each unique value in the samples has its own bin, i.e. no further discretization is performed. The influence of discretization on the resulting histogram may be high. } \item{klMinVal}{ If \code{accumulation="kullback_leibler"}, this defines the minimum probability for the calculation of the Kullback-Leibler distance to ensure stability of the results. } \item{title}{ The title of the plots. This is empty by default. } \item{xlab}{ Customizes label of the x axis of the histogram. For the built-in test functions, the x axis label is set automatically. } \item{xlim}{ Customizes the limits of the x axis of the histogram. For the built-in test functions, suitable values are chosen automatically. } \item{breaks}{ Customizes the number of breaks in the } \item{\dots}{ Further graphical parameters for \code{\link{hist}} } } \details{ This function generically compares properties of biological networks to a set of random networks. It can be extended by supplying custom functions to the parameter \code{testFunction}. Such a function must have the signature \code{function(network, accumulate=TRUE, params)} \describe{ \item{network}{This is the network to test. In the process of the comparison, both the original network and the random networks are passed to the function} \item{accumulate}{If \code{accumulate=TRUE}, the function must return a single value quantifying the examined property of the network. If \code{accumulate=FALSE}, the function can return a vector of values (e.g., one value for each gene/state etc.)} \item{params}{A list of further parameters for the function supplied by the user in \code{testFunctionParams} (see above). This can contain any type of information your test function needs.} } Three built-in functions for synchronous Boolean networks already exist: \describe{ \item{testIndegree}{This function is based on the observation that, often, in biological networks, many state transitions lead to the same states. In other words, there is a small number of "hub" states. In the state graph, this means that the in-degree of some states (i.e., the number of transitions leading to it) is high, while the in-degree of many other states is 0. We observed that random networks do not show this behaviour, thus it may be a distinct property of biological networks. For this function, the parameter \code{alternative} of \code{testNetworkProperties} should be set to "greater". The function does not require any parameter entries in \code{params}. If \code{accumulate=FALSE}, it returns the in-degrees of all synchronous states in the network. If \code{accumulate=TRUE}, the Gini index of the in-degrees is returned as a characteristic value of the network. The Gini index is a measure of inequality. If all states have an in-degree of 1, the Gini index is 0. If all state transitions lead to one single state, the Gini index is 1. This function requires the \pkg{igraph} package for the analysis of the in-degrees. } \item{testAttractorRobustness}{This function tests the robustness of attractors in a network to noise. We expect attractors in a real network to be less susceptible to noise than attractors in randomly generated networks, as biological processes can be assumed to be comparatively stable. There are modes of generating noise: Either the functions of the network can be perturbed, or the state trajectories can be perturbed in a simulation of the network. If \code{perturb="functions"} or \code{perturb="transitions"}, the function generates a number of perturbed copies of the network using \code{\link{perturbNetwork}} and checks whether the original attractors can still be found in the network. If \code{perturb="trajectories"}, the network itself is not perturbed. Instead, a set of random initial states is generated, and a set of perturbed states is generated from these initial states by flipping one or more bits. Then, the function tests whether the attractors are the same for the initial states and the corresponding perturbed states. This corresponds to calling \code{\link{perturbTrajectories}} with \code{measure="attractor"}. \code{params} can hold a number of parameters: \describe{ \item{numSamples}{If \code{perturb="trajectories"}, the number of randomly generated state pairs to generate. Otherwise the number of perturbed networks that are generated.} \item{perturb}{Specifies the type of perturbation to be applied (possible values: \code{"functions"}, \code{"transitions"} and \code{"trajectories"} -- see above).} \item{method, simplify, readableFunctions, excludeFixed, maxNumBits, numStates}{ If \code{perturb="functions"} or \code{perturb="transitions"}, these are the corresponding parameters of \code{\link{perturbNetwork}} that influence the way the network is perturbed.} \item{flipBits}{ If \code{perturb="trajectories"}, the are the corresponding parameters of \code{\link{perturbTrajectories}} that defines how many bits are flipped.} } If {perturb="functions"} or \code{perturb="transitions"} and \code{accumulate=FALSE}, the function returns a vector of percentages of original attractors found in each of the perturbed copies of the original network. If \code{accumulate=TRUE}, the function returns the overall percentage of original attractors found in all perturbed copies. If \code{perturb="trajectories"} and \code{accumulate=FALSE}, the function returns a logical vector of length \code{numSamples} specifying whether the attractor was the same for each initial state and the corresponding perturbed state. If \code{accumulate=TRUE}, the function returns the percentage of pairs of initial states and perturbed states for which the attractors were the same. For this function, the parameter \code{alternative} of \code{testNetworkProperties} should be set to "greater". } \item{testTransitionRobustness}{This function calls \code{perturbTrajectories} with \code{measure="hamming"} to measure the average Hamming distance between successor states of randomly generated initial states and perturbed copies of these states. code{params} can hold parameters \code{numSamples, flipBits} corresponding to the parameters of \code{\link{perturbTrajectories}} that define how many initial states are drawn and how many bits are flipped. If \code{accumulate=FALSE}, the function returns a numeric vector of length \code{numSamples} with the normalized Hamming distances of all pairs of initial states and perturbed copies. If \code{accumulate=TRUE}, the mean normalized Hamming distance over all pairs is returned. For this function, the parameter \code{alternative} of \code{testNetworkProperties} should be set to "less". } } } \value{ The function returns a list with the following elements \item{hist}{The histogram that was plotted. The type of histogram depends on the parameter \code{accumulation}.} \item{pval}{If \code{accumulation="characteristic"}, a p-value for the alternative hypothesis that the test statistic value of the supplied network is greater than the value of a randomly generated network is supplied.} \item{significant}{If \code{accumulation="characteristic"}, this is true for \code{pval < sign.level}.} } \seealso{ \code{\link{generateRandomNKNetwork}}, \code{\link{perturbNetwork}}, \code{\link{perturbTrajectories}}, \code{\link{plotStateGraph}}, \code{\link{getAttractors}} } \examples{ # load mammalian cell cycle network data(cellcycle) if (interactive()) # do not run these examples in the package check, as they take some time { # compare the in-degrees of the states in the # cell cycle network to random networks testNetworkProperties(cellcycle, testFunction="testIndegree", alternative="greater") # compare the in-degrees of the states in the # cell cycle network to random networks, # and plot the Kullback-Leibler distances of the 100 experiments testNetworkProperties(cellcycle, testFunction="testIndegree", accumulation = "kullback_leibler") # compare the robustness of attractors in the cell cycle network # to random networks by perturbing the networks testNetworkProperties(cellcycle, testFunction="testAttractorRobustness", testFunctionParams=list(perturb="functions", numSamples=10), alternative="greater") # compare the robustness of attractors in the cell cycle network # to random networks by perturbing the state trajectories testNetworkProperties(cellcycle, testFunction="testAttractorRobustness", testFunctionParams=list(perturb="trajectories", numSamples=10), alternative="greater") # compare the robustness of single state transitions in the cell cycle network testNetworkProperties(cellcycle, testFunction="testTransitionRobustness", testFunctionParams=list(numSamples=10), alternative="less") } } \keyword{robustness analysis perturbation in-degree} �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/sequenceToLaTeX.Rd����������������������������������������������������������������������0000644�0001762�0000144�00000013352�12732246464�015705� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{sequenceToLaTeX} \alias{sequenceToLaTeX} \alias{sequenceToLaTeX.BooleanNetwork} \alias{sequenceToLaTeX.data.frame} %- Also NEED an '\alias' for EACH other topic documented here. \title{ Create LaTeX table of state sequences } \description{ Exports tables of state sequences (corresponding to the plot generated by \code{\link{plotSequence}} with \code{mode="table"}) to a LaTeX document. } \usage{ sequenceToLaTeX(network, startState, includeAttractorStates = c("all","first","none"), sequence, title = "", grouping = list(), plotFixed = TRUE, onColor="[gray]{0.9}", offColor="[gray]{0.6}", highlightAttractor=TRUE, reverse = FALSE, file="sequence.tex") } \arguments{ \item{network}{ An object of class \code{BooleanNetwork} or \code{SymbolicBooleanNetwork} for which a sequence of state transitions is calculated } \item{startState}{ The start state of the sequence } \item{includeAttractorStates}{ Specifies whether the actual attractor states are included in the table or not (see also \code{\link{getPathToAttractor}}). If \code{includeAttractorStates = "all"} (which is the default behaviour), the sequence ends when the attractor was traversed once. If \code{includeAttractorStates = "first"}, only the first state of attractor is added to the sequence. If {includeAttractorStates = "none"}, the sequence ends with the last non-attractor state. } \item{sequence}{ The alternative call to \code{sequenceToLaTeX} requires the specification of the sequence itself instead of the network and the start state. The sequence must be provided as a data frame with the genes in the columns and the successive states in the rows. For example, sequences can be obtained using \code{\link{getPathToAttractor}} or \code{\link{getAttractorSequence}} (however, the specialized function \code{\link{attractorsToLaTeX}} exists for attractors). } \item{title}{ An optional title for the table } \item{plotFixed}{If this is true, genes with fixed values are included in the plot. Otherwise, these genes are not shown. } \item{grouping}{This optional parameter specifies a structure to form groups of genes in the table. This is a list with the following elements: \describe{ \item{class}{A vector of names for the groups. These names will be printed in the region belonging to the group in the tabke.} \item{index}{A list with the same length as \code{class}. Each element is a vector of gene names or gene indices belonging to the group.}} } \item{onColor}{ An optional color value for the 1/ON values in the table. Defaults to dark grey. } \item{offColor}{ An optional color value for the 0/OFF values in the table. Defaults to light grey. } \item{highlightAttractor}{ If set to true, the attractor states are highlighted in the plot by drawing a line at the begin of the attractor and labeling the states correspondingly. Information on the attractor must be supplied in the attribute \code{attractor} of the sequence, which is a vector of indices of the states that belong to the attractor. This attribute is usually present if the sequence was obtained using \code{\link{getPathToAttractor}}. } \item{reverse}{ Specifies the order of the genes in the plot. By default, the first gene is placed in the first row of the table. If \code{reverse=TRUE}, the first gene in the network is placed in the bottom row of the table. } \item{file}{ The file to which the LaTeX document is written. Defaults to "sequence.tex". } } \details{ This function creates a LaTeX table that visualizes a sequence of states in a synchronous network. The output file does not contain a document header and requires the inclusion of the packages \code{tabularx} and \code{colortbl}. The tables have the genes in the rows and the successive states of the sequence in the columns. If not specified otherwise, cells of the table are light grey for 0/OFF values and dark grey for 1/ON values. If \code{grouping} is set, the genes are rearranged according to the indices in the group, horizontal separation lines are plotted between the groups, and the group names are printed. The function can be called with different types of inputs: The user can specify the parameters \code{network}, \code{startState} and \code{includeAttractorStates}), in which case \code{\link{getPathToAttractor}} is called to obtain the sequence. Alternatively, the sequence can be supplied directly as a data frame in the \code{sequence} parameter. } \value{ Returns a matrix corresponding to the table. The matrix has the genes in the rows and the states of the attractors in the columns. If \code{sequence} was supplied, this corresponds to the transposed input whose rows may be rearranged if \code{grouping} was set. } \seealso{ \code{\link{attractorsToLaTeX}}, \code{\link{plotSequence}}, \code{\link{plotAttractors}}, \code{\link{getPathToAttractor}}, \code{\link{getAttractorSequence}}. } \examples{ # load example data data(cellcycle) # alternative 1: supply network and start state # and export sequence to LaTeX sequenceToLaTeX(network=cellcycle, startState=rep(1,10), includeAttractorStates="all", file="sequence.txt") # alternative 2: calculate sequence in advance sequence <- getPathToAttractor(cellcycle, state=rep(1,10), includeAttractorStates="all") sequenceToLaTeX(sequence=sequence, file="sequence.txt") } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{Boolean network state path sequence LaTeX} ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/simplifyNetwork.Rd����������������������������������������������������������������������0000644�0001762�0000144�00000005501�12732246464�016077� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{simplifyNetwork} \Rdversion{1.1} \alias{simplifyNetwork} \title{ Simplify the functions of a synchronous, asynchronous, or probabilistic Boolean network } \description{ Eliminates irrelevant variables from the inputs of the gene transition functions. This can be useful if the network was generated randomly via \code{\link{generateRandomNKNetwork}} or if it was perturbed via \code{\link{perturbNetwork}}. } \usage{ simplifyNetwork(network, readableFunctions = FALSE) } \arguments{ \item{network}{ A network structure of class \code{BooleanNetwork}, \code{ProbabilisticBooleanNetwork} or \code{BooleanNetworkCollection}. These networks can be read from files by \code{\link{loadNetwork}}, generated by \if{latex}{\cr}\code{\link{generateRandomNKNetwork}}, or reconstructed by \code{\link{reconstructNetwork}}. } \item{readableFunctions}{ This parameter specifies if readable DNF representations of the transition function truth tables are generated and displayed when the network is printed. If set to FALSE, the truth table result column is displayed. If set to "canonical", a canonical Disjunctive Normal Form is generated from each truth table. If set to "short", the canonical DNF is minimized by joining terms (which can be time-consuming for functions with many inputs). If set to TRUE, a short DNF is generated for functions with up to 12 inputs, and a canonical DNF is generated for functions with more than 12 inputs. } } \details{ The function checks whether the output of a gene transition function is independent from the states of any of the input variables. If this is the case, these input variables are dropped, and the transition function is shortened accordingly. In non-probabilistic Boolean networks (class \code{BooleanNetwork}), constant genes are automatically fixed (e.g. knocked-out or over-expressed). This means that they are always set to the constant value, and states with the complementary value are not considered in transition tables etc. If you would like to change this behaviour, use \code{\link{fixGenes}} to reset the fixing. } \value{ The simplified network of class \code{BooleanNetwork}, \code{ProbabilisticBooleanNetwork} or \code{BooleanNetworkCollection}. These classes are described in more detail in \code{\link{loadNetwork}} and \code{\link{reconstructNetwork}}. } \seealso{ \code{\link{loadNetwork}},\code{\link{generateRandomNKNetwork}}, \code{\link{perturbNetwork}}, \code{\link{reconstructNetwork}}, \code{\link{fixGenes}} } \examples{ # load example data data(cellcycle) # perturb the network perturbedNet <- perturbNetwork(cellcycle, perturb="functions", method="shuffle") print(perturbedNet$interactions) # simplify the network perturbedNet <- simplifyNetwork(perturbedNet) print(perturbedNet$interactions) } \keyword{Boolean network probabilistic Boolean network PBN logic simplify simplification} �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/plotStateGraph.Rd�����������������������������������������������������������������������0000644�0001762�0000144�00000011222�12732443617�015626� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{plotStateGraph} \Rdversion{1.1} \alias{plotStateGraph} \title{ Visualize state transitions and attractor basins } \description{ Plots a graph containing all states visited in \code{stateGraph}, and optionally highlights attractors and basins of attraction. This requires the \pkg{igraph} package. } \usage{ plotStateGraph(stateGraph, highlightAttractors = TRUE, colorBasins = TRUE, colorSet, drawLegend = TRUE, drawLabels = FALSE, layout = layout.kamada.kawai, piecewise = FALSE, basin.lty = 2, attractor.lty = 1, plotIt = TRUE, colorsAlpha = c(colorBasinsNodeAlpha = .3, colorBasinsEdgeAlpha = .3, colorAttractorNodeAlpha = 1, colorAttractorEdgeAlpha = 1), ...) } \arguments{ \item{stateGraph}{An object of class \code{AttractorInfo} or \code{SymbolicSimulation}, as returned by \code{\link{getAttractors}} and \code{\link{simulateSymbolicModel}} respectively. As the transition table information in this structure is required, \code{getAttractors} must be called in synchronous mode and with \code{returnTable} set to TRUE. Similarly, \code{simulateSymbolicModel} must be called with \code{returnGraph=TRUE}. Alternatively, \code{stateGraph} can be an object of class \code{TransitionTable}, which can be extracted using the functions \code{\link{getTransitionTable}}, \code{\link{getBasinOfAttraction}}, or \code{\link{getStateSummary}} } \item{highlightAttractors}{ If this parameter is true, edges in attractors are drawn bold and with a different line type (which can be specified in \code{attractor.lty}). Defaults to TRUE. } \item{colorBasins}{ If set to true, each basin of attraction is drawn in a different color. Colors can be specified in \code{colorSet}. Defaults to TRUE. } \item{colorSet}{ An optional vector specifying the colors to be used for the different attractor basins. If not supplied, a default color set is used. } \item{drawLegend}{ If set to true and \code{colorBasins} is true, a legend for the colors of the basins of attraction is drawn. Defaults to TRUE. } \item{drawLabels}{ If set to true, the binary encodings of the states are drawn beside the vertices of the graph. As this can be confusing for large graphs, the default value is FALSE. } \item{layout}{ A layouting function that determines the placement of the nodes in the graph. Please refer to the \code{\link[igraph]{layout}} manual entry in the \pkg{igraph} package for further details. By default, the Fruchterman-Reingold algorithm is used. } \item{piecewise}{ If set to true, a piecewise layout is used, i.e. the subgraphs corresponding to different basins of attraction are separated and layouted separately. } \item{basin.lty}{ The line type used for edges in a basin of attraction. Defaults to 2 (dashed). } \item{attractor.lty}{ If \code{highlightAttractors} is true, this specifies the line type for edges in an attractor. Defaults to 1 (straight). } \item{plotIt}{ If this is true, a plot is generated. Otherwise, only an object of class \code{igraph} is returned, but no plot is drawn. } \item{colorsAlpha}{ These parameters apply alpha correction to the colors of basins and attractors in the following order: basin node, basin edge, attractor node, attractor edge. Defaults to a vector of length 4 with settings \code{alpha = 0.3} for basins and \code{alpha = 1} for attractors. } \item{\dots}{ Further graphical parameters to be passed to \code{\link[igraph:plot.graph]{plot.igraph}}. } } \details{ This function uses the \code{\link[igraph:plot.graph]{plot.igraph}} function from the \pkg{igraph} package. The plots are customizeable using the \code{\dots} argument. For details on possible parameters, please refer to \code{\link[igraph:plot.common]{igraph.plotting}}. } \value{ Returns an invisible object of class \code{igraph} containing the state graph, including color and line attributes. } \seealso{ \code{\link{getAttractors}}, \code{\link{simulateSymbolicModel}}, \code{\link{getTransitionTable}}, \code{\link{getBasinOfAttraction}}, \code{\link{getStateSummary}}, \code{\link{plotNetworkWiring}}, \code{\link[igraph:plot.common]{igraph.plotting}} } \examples{ # load example data data(cellcycle) # get attractors attractors <- getAttractors(cellcycle) # plot state graph \dontrun{ plotStateGraph(attractors, main = "Cell cycle network", layout = layout.fruchterman.reingold) } } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{Boolean network attractor cycle basin transition state graph plot} ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/plotSequence.Rd�������������������������������������������������������������������������0000644�0001762�0000144�00000016777�12733233373�015355� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{plotSequence} \alias{plotSequence} \title{ Plot a sequence of states } \description{ Visualizes sequences of states in synchronous Boolean networks, either by drawing a table of the involved states in two colors, or by drawing a graph of transitions between the successive states. } \usage{ plotSequence(network, startState, includeAttractorStates = c("all","first","none"), sequence, title = "", mode=c("table","graph"), plotFixed = TRUE, grouping = list(), onColor="#4daf4a", offColor="#e41a1c", layout, drawLabels=TRUE, drawLegend=TRUE, highlightAttractor=TRUE, reverse = FALSE, borderColor = "black", eps=0.1, attractor.sep.lwd = 2, attractor.sep.col = "blue", ...) } \arguments{ \item{network}{ An object of class \code{BooleanNetwork} or \code{SymbolicBooleanNetwork} for which a sequence of state transitions is calculated } \item{startState}{ The start state of the sequence } \item{includeAttractorStates}{ Specifies whether the actual attractor states are included in the plot or not (see also \code{\link{getPathToAttractor}}). If \code{includeAttractorStates = "all"} (which is the default behaviour), the sequence ends when the attractor was traversed once. If \code{includeAttractorStates = "first"}, only the first state of attractor is added to the sequence. If {includeAttractorStates = "none"}, the sequence ends with the last non-attractor state. } \item{sequence}{ The alternative call to \code{plotSequence} requires the specification of the sequence itself instead of the network and the start state. The sequence must be provided as a data frame with the genes in the columns and the successive states in the rows. For example, sequences can be obtained using \code{\link{getPathToAttractor}} or \code{\link{getAttractorSequence}} (however, the specialized plot \code{\link{plotAttractors}} exists for attractors).} \item{title}{ An optional title for the plot } \item{mode}{Switches between two kinds of attractor plots. See Details for more information. Default is "table".} \item{plotFixed}{This optional parameter is only used if \code{mode="table"}. If this is true, genes with fixed values are included in the plot. Otherwise, these genes are not drawn. } \item{grouping}{This optional parameter is only used if \code{mode="table"} and specifies a structure to form groups of genes in the plot. This is a list with the following elements: \describe{ \item{class}{A vector of names for the groups. These names will be printed in the region belonging to the group in the plot.} \item{index}{A list with the same length as \code{class}. Each element is a vector of gene names or gene indices belonging to the group.}} } \item{onColor}{This optional parameter is only used if \code{mode="table"} and specifies the color value for the 1/ON values in the table. Defaults to greenish color. } \item{offColor}{This optional parameter is only used if \code{mode="table"} and specifies the color value for the 0/OFF values in the table. Defaults to reddish color. } \item{layout}{If \code{mode="graph"}, this parameter specifies a layouting function that determines the placement of the nodes in the graph. Please refer to the \code{\link[igraph]{layout}} manual entry in the \pkg{igraph} package for further details. By default, the nodes are placed in a horizontal line. } \item{drawLabels}{This parameter is only relevant if \code{mode="graph"}. It determines whether the nodes of the graph are annotated with the corresponding values of the genes in the attractor states. } \item{drawLegend}{Specifies whether a color key for the ON/OFF states is drawn if \code{mode="table"}. Defaults to \code{TRUE}. } \item{highlightAttractor}{ If set to true, the attractor states are highlighted in the plot. If \code{mode="table"}, a line is drawn at the begin of the attractor, and the states are labeled correspondingly. If \code{mode="graph"}, the attractor transitions are drawn as bold lines. Information on the attractor must be supplied in the attribute \code{attractor} of the sequence, which is a vector of indices of the states that belong to the attractor. This attribute is usually present if the sequence was obtained using \code{\link{getPathToAttractor}}. } \item{reverse}{ Specifies the order of the genes in the plot. By default, the first gene is placed in the first row of the plot. If \code{reverse=TRUE} (which was the default until \pkg{BoolNet} version 2.0.2), the first gene in the network is placed in the bottom row of the plot. } \item{borderColor}{ Specifies the border or seprating color of states in an attractor. Defaults to \code{"black"}. } \item{eps}{ Specifies plotting margin for the sequence of states. Defaults to \code{0.1}. } \item{attractor.sep.lwd}{ Specifies the line width of the attractor separator. Defaults to \code{2}. } \item{attractor.sep.col}{ Specifies the line color of the attractor separator. Defaults to \code{"blue"}. } \item{\dots}{ Further graphical parameters to be passed to \code{\link[igraph:plot.graph]{plot.igraph}} if \code{mode="graph"}. } } \details{ This function comprises two different types of plots: The "table" mode visualizes the gene values of the states in the sequence. The figure is a table with the genes in the rows and the successive states of the sequence in the columns. Cells of the table are (by default) red for 0/OFF values and green for 1/ON values. If \code{grouping} is set, the genes are rearranged according to the indices in the group, horizontal separation lines are plotted between the groups, and the group names are printed. The "graph" mode visualizes the transitions between different states. It creates a graph in which the vertices are the states in the sequence and the edges are state transitions among these states. The function can be called with different types of inputs: The user can specify the parameters \code{network}, \code{startState} and \code{includeAttractorStates}), in which case \code{\link{getPathToAttractor}} is called to obtain the sequence. Alternatively, the sequence can be supplied directly as a data frame in the \code{sequence} parameter. } \value{ If \code{mode="table"}, a matrix corresponding to the table is returned. The matrix has the genes in the rows and the states of the attractors in the columns. If \code{sequence} was supplied, this corresponds to the transposed input whose rows may be rearranged if \code{grouping} was set. If \code{mode="graph"}, an object of class \code{igraph} describing the graph for the sequence is returned. } \seealso{ \code{\link{sequenceToLaTeX}}, \code{\link{plotAttractors}}, \code{\link{attractorsToLaTeX}}, \code{\link{getPathToAttractor}}, \code{\link{getAttractorSequence}}, \code{\link{simulateSymbolicModel}} } \examples{ # load example data data(cellcycle) # alternative 1: supply network and start state # and plot sequence as a table plotSequence(network=cellcycle, startState=rep(1,10), includeAttractorStates="all") # alternative 2: calculate sequence in advance sequence <- getPathToAttractor(cellcycle, state=rep(1,10), includeAttractorStates="all") # plot sequence as a graph plotSequence(sequence=sequence, mode="graph") } \keyword{Boolean network state path sequence plot} �BoolNet/man/print.AttractorInfo.Rd������������������������������������������������������������������0000644�0001762�0000144�00000002305�12732246464�016602� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{print.AttractorInfo} \Rdversion{1.1} \alias{print.AttractorInfo} \title{ Print attractor cycles } \description{ Specialized print method to print the attractor cycles stored in an \code{AttractorInfo} object. For simple or steady-state attractors, the states of the attractors are printed in binary encoding in the order they are reached. For asynchronous complex/loose attractors, the possible transitions of the states in the attractor are printed. The method can print either the full states, or only the active genes of the states. } \usage{ \method{print}{AttractorInfo}(x, activeOnly = FALSE, ...) } \arguments{ \item{x}{ An object of class \code{AttractorInfo} to be printed } \item{activeOnly}{ If set to true, a state is represented by a list of active genes (i.e., genes which are set to 1). If set to false, a state is represented by a binary vector with one entry for each gene, specifying whether the gene is active or not. Defaults to \code{FALSE}. } \item{\dots}{ Further parameters for the \code{\link{print}} method. Currently not used. } } \value{ Invisibly returns the printed object } \seealso{ \code{\link{print}}, \code{\link{getAttractors}} } \keyword{attractor print} ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/perturbTrajectories.Rd������������������������������������������������������������������0000644�0001762�0000144�00000007361�12732246464�016741� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{perturbTrajectories} \alias{perturbTrajectories} \title{ Perturb the state trajectories and calculate robustness measures } \description{ Perturbs the state trajectories of a network and assesses the robustness by comparing the successor states or the attractors of a set of initial states and a set of perturbed copies of these initial states. } \usage{ perturbTrajectories(network, measure = c("hamming", "sensitivity", "attractor"), numSamples = 1000, flipBits = 1, updateType = c("synchronous", "asynchronous", "probabilistic"), gene, ...) } \arguments{ \item{network}{ A network structure of class \code{BooleanNetwork}, \code{SymbolicBooleanNetwork} or \code{ProbabilisticBooleanNetwork} whose robustness is measured. } \item{measure}{ Defines the way the robustness is measured (see Details). } \item{numSamples}{ The number of randomly generated pairs of initial states and perturbed copies. Defaults to 1000. } \item{flipBits}{ The number of bits that are flipped to generate a perturbed copy of an initial state. Defaults to 1. } \item{updateType}{ If \code{measure="hamming"}, the type of update that is performed to calculate successor states. } \item{gene}{ If \code{measure="sensitivity"}, the name or index of the gene for whose transition function the average sensitivity is calculated. } \item{\dots}{ Further parameters to \code{\link{stateTransition}} and \code{\link{getAttractors}}. } } \details{ The function generates a set of \code{numSamples} initial states and then applies \code{flipBits} random bit flips to each initial state to generate a perturbed copy of each initial state. For each pair of initial state and perturbed state, a robustness statistic is calculated depending \code{measure}: If \code{measure="hamming"}, the normalized Hamming distances between the successor states of each initial state and the corresponding perturbed state are calculated. If \code{measure="sensitivity"}, the average sensitivity of a specific transition function (specified in the \code{gene} parameter) is approximated: The statistic is a logical vector that is \code{TRUE} if \code{gene} differs in the successor states of each initial state and the corresponding perturbed state. If \code{measure="attractor"}, the attractors of all initial states and all perturbed states are identified. The statistic is a logical vector specifying whether the attractors are identical in each pair of initial state and perturbed initial state. } \value{ A list with the following items: \item{stat}{A vector of size \code{numSamples} containing the robustness statistic for each pair of initial state and perturbed copy.} \item{value}{The summarized statistic (i.e. the mean value) over all state pairs.} } \references{ I. Shmulevich and S. A. Kauffman (2004), Activities and Sensitivities in Boolean Network Models. Physical Review Letters 93(4):048701. } \seealso{ \code{\link{testNetworkProperties}}, \code{\link{perturbNetwork}} } \examples{ data(cellcycle) # calculate average normalized Hamming distance of successor states hamming <- perturbTrajectories(cellcycle, measure="hamming", numSamples=100) print(hamming$value) # calculate average sensitivity of transition function for gene "Cdh1" sensitivity <- perturbTrajectories(cellcycle, measure="sensitivity", numSamples=100, gene="Cdh1") print(sensitivity$value) # calculate percentage of equal attractors for state pairs attrEqual <- perturbTrajectories(cellcycle, measure="attractor", numSamples=100) print(attrEqual$value) } \keyword{Boolean network probabilistic Boolean network, PBN, perturbation perturb trajectory noise robustness} �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/examplePBN.Rd���������������������������������������������������������������������������0000644�0001762�0000144�00000001671�12732246464�014670� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{examplePBN} \alias{examplePBN} \docType{data} \title{ An artificial probabilistic Boolean network } \description{ An artificial probabilistic Boolean network example introduced by Shmulevich et al. } \usage{data(examplePBN)} \details{ This artificial network is introduced by Shmulevich et al. for a step-by-step description of their Markov chain algorithm. It is included as a general example for a probabilistic Boolean network. The network consists of 3 genes, where gene 1 and gene 3 have two alternative transition functions, and gene 1 has a unique transition function. } \source{ I. Shmulevich, E. R. Dougherty, S. Kim, W. Zhang (2002), Probabilistic Boolean networks: a rule-based uncertainty model for gene regulatory networks. Bioinformatics 18(2):261--274. } \examples{ data(examplePBN) # the network is stored in a variable called 'examplePBN' print(examplePBN) } \keyword{datasets probabilistic Boolean network PBN} �����������������������������������������������������������������������BoolNet/man/print.TransitionTable.Rd����������������������������������������������������������������0000644�0001762�0000144�00000002415�12732246464�017127� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{print.TransitionTable} \Rdversion{1.1} \alias{print.TransitionTable} \alias{print.BooleanStateInfo} \title{ Print a transition table } \description{ Specialized print method to print a transition table with the initial state in the first column, the successor state in the second column, the basin of attraction to which the state leads in the third column, and the number of transitions to the attractor in the fourth column. } \usage{ \method{print}{TransitionTable}(x, activeOnly = FALSE, ...) \method{print}{BooleanStateInfo}(x, activeOnly=FALSE, ...) } \arguments{ \item{x}{ An object of class \code{TransitionTable} or \code{BooleanStateInfo} to be printed } \item{activeOnly}{ If set to true, a state is represented by a list of active genes (i.e., genes which are set to 1). If set to false, a state is represented by a binary vector with one entry for each gene, specifying whether the gene is active or not. Defaults to \code{FALSE}. } \item{\dots}{ Further parameters for the \code{\link{print}} method. Currently not used. } } \value{ Invisibly returns the printed object } \seealso{ \code{\link{print}}, \code{\link{getTransitionTable}}, \code{\link{getBasinOfAttraction}}, \code{\link{getStateSummary}} } \keyword{transition table print} ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/simulateSymbolicModel.Rd����������������������������������������������������������������0000644�0001762�0000144�00000017600�12732246464�017202� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{simulateSymbolicModel} \alias{simulateSymbolicModel} \title{ Simulate a symbolic Boolean network } \description{ This function simulates Boolean networks in a symbolic representation, possibly with additional temporal qualifiers. The function can identify attractors, determine the state transition graph, and generate sequences of successive states. } \usage{ simulateSymbolicModel(network, method = c("exhaustive", "random", "chosen", "sat.exhaustive", "sat.restricted"), startStates = NULL, returnSequences = (!(match.arg(method) \%in\% c("sat.exhaustive", "sat.restricted"))), returnGraph = (!(match.arg(method) \%in\% c("sat.exhaustive", "sat.restricted"))), returnAttractors = TRUE, maxTransitions = Inf, maxAttractorLength = Inf, canonical = TRUE) } \arguments{ \item{network}{ A network structure of class \code{SymbolicBooleanNetwork}. These networks can be read from files by \code{\link{loadNetwork}}, \code{\link{loadBioTapestry}} or \code{\link{loadSBML}} with the \code{symbolic=TRUE} flag. } \item{startStates}{ An optional parameter specifying the start states. If this is an integer value, it denotes the number of random start states to generate. Otherwise, it has to be a list of states. The list elements must either be vectors with one value for each gene in the network, or matrices with the genes in the columns and multiple predecessor states in the rows. These predecessor states may be evaluated if temporal predicates in the network have a time delay of more than one. If the number of supplied predecessor states is smaller than the maximum time delay in the network, genes are assumed to have had the same value as in the first supplied state prior to this state. In particular, if only a single state is supplied, it is assumed that the network always resided in this state prior to starting the simulation. } \item{method}{ The simulation method to be used (see details). If \code{method} is not specified, the desired method is inferred from the type of \code{startStates}. } \item{returnSequences}{ If set to true (and no SAT-based method is chosen), the return value has an element \code{sequences} specifying the sequences of states to the attractor. } \item{returnGraph}{ If set to true (and no SAT-based method is chosen), the return value has an element \code{graph} specifying the state transition graph of the network. } \item{returnAttractors}{ If set to true, the return value has an element \code{attractors} containing a list of identified attractors. } \item{maxTransitions}{ The maximum number of state transitions to be performed for each start state (defaults to \code{Inf}). } \item{maxAttractorLength}{If \code{method="sat.restricted"}, this required parameter specifies the maximum size of attractors (i.e. the number of states in the loop) to be searched. For \code{method="sat.exhaustive"}, this parameter is optional and specifies the maximum attractor length for the initial length-restricted search phase that is performed to speed up the subsequent exhaustive search. In this case, changing this value might bring performance benefits, but does not change the results.} \item{canonical}{ If set to true and \code{returnAttractors=TRUE}, the states in the attractors are rearranged such that the state whose binary encoding makes up the smallest number is the first element of the vector. This ensures that attractors determined in runs with different start states are comparable, as the cycles may have been entered at different states. } } \details{ Similarly to \code{\link{getAttractors}}, the symbolic simulator supports different simulation modes which can be specified in the \code{method} parameter: \itemize{ \item{Exhaustive search} {If \code{method="exhaustive"}, all possible states in the network are used as start states. If the network has time delays greater than one (temporal network), this means that exhaustive search does not only cover all 2^n possible states for a network with n genes, but also all possible state histories of those genes for which longer delays are required.} \item{Heuristic search} {For \code{method="random"} or \code{method="chosen"}, a subset of states is used as start states for the simulation. If \code{method="random"}, \code{startStates} is interpreted as an integer value specifying the number of states to be generated randomly. The algorithm is then initialized with these random start states. If \code{method="chosen"}, \code{startStates} is interpreted as a list of binary vectors, each specifying one start state (see also parameter description above for details). } \item{SAT-based attractor search} { If \code{method} is "sat.exhaustive" or "sat.restricted", the simulator transforms the network into a satisfiability problem and solves it using Armin Biere's PicoSAT solver (see also \code{\link{getAttractors}} for more details). If \code{method="sat.restricted"}, only attractors comprising up to \code{maxAttractorLength} states are identified. Otherwise, the algorithm by Dubrova and Teslenko is applied to identify all attractors. As the SAT-based approaches identify attractors directly, no state sequences and no transition graph are returned.} } } \value{ Returns a list of class \code{SymbolicSimulation} containing the simulation results: If \code{returnSequences} is true and no SAT-based method was chosen, the list contains an element \code{sequences} consisting of a list of data frames, each representing the state transitions performed from one start state (denoted as time step 0) to the attractor. Here, the columns correspond to the genes in the network, and the rows correspond to the states. Apart from the immediate start state, the sequences may also contain the supplied or assumed predecessor states of the start state (marked by a negative time step t) if the network contains time delays greater than one. If \code{returnGraph} is true and no SAT-based method was chosen, the list contains an element \code{graph} of class \code{TransitionTable}. Each row of the table corresponds to one state transition from an initial state to a successor state, i.e. an edge in the state transition graph. If \code{returnAttractors} is true, the list contains an element \code{attractors}, which itself is a list of data frames. Each data frame represents one unique attractor, where each column corresponds to a gene, and each row corresponds to one state in the attractor. If both \code{returnSequences} and \code{returnAttractors} are true, there is an additional element \code{attractorAssignment}. This integer vector specifies the indices of the attractors to which the sequences lead. The structure supports pretty printing using the \code{\link{print}} method.} \references{ E. Dubrova, M. Teslenko (2011), A SAT-based algorithm for finding attractors in synchronous Boolean networks. IEEE/ACM Transactions on Computational Biology and Bioinformatics 8(5):1393--1399. A. Biere (2008), PicoSAT Essentials. Journal on Satisfiability, Boolean Modeling and Computation 4:75-97. } \seealso{ \code{\link{loadNetwork}}, \code{\link{loadBioTapestry}}, \code{\link{loadSBML}}, \code{\link{getAttractors}}, \code{\link{plotAttractors}}, \code{\link{attractorsToLaTeX}}, \code{\link{getTransitionTable}}, \code{\link{getBasinOfAttraction}}, \code{\link{getAttractorSequence}}, \code{\link{getStateSummary}}, \code{\link{getPathToAttractor}}, \code{\link{fixGenes}} } \examples{ data(igf) # exhaustive state space simulation sim <- simulateSymbolicModel(igf) plotAttractors(sim) # exhaustive attractor search using SAT solver sim <- simulateSymbolicModel(igf, method="sat.exhaustive") plotAttractors(sim) } \keyword{simulation symbolic Boolean network temporal predicates} ��������������������������������������������������������������������������������������������������������������������������������BoolNet/man/print.MarkovSimulation.Rd���������������������������������������������������������������0000644�0001762�0000144�00000002464�12732246464�017335� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{print.MarkovSimulation} \alias{print.MarkovSimulation} \title{ Print the results of a Markov chain simulation } \description{ A specialized method to print an object of class \code{MarkovSimulation}. This prints all states that have a non-zero probability to be reached after the number of iterations in the Markov simulation. If the simulation was run with \code{returnTable=TRUE}, it also prints a table of state transitions and their probabilities to be chosen in a single step. } \usage{ \method{print}{MarkovSimulation}(x, activeOnly = FALSE, ...) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{x}{ An object of class \code{MarkovSimulation} to be printed } \item{activeOnly}{ If set to true, a state is represented by a list of active genes (i.e., genes which are set to 1). If set to false, a state is represented by a binary vector with one entry for each gene, specifying whether the gene is active or not. Defaults to \code{FALSE}. } \item{\dots}{ Further parameters for the \code{\link{print}} method. Currently not used. } } \value{ Invisibly returns the printed object } \seealso{ \code{\link{print}}, \code{\link{markovSimulation}} } \keyword{print Markov chain simulation probabilistic Boolean network PBN}% __ONLY ONE__ keyword per line ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/print.ProbabilisticBooleanNetwork.Rd����������������������������������������������������0000644�0001762�0000144�00000002500�12732246464�021460� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{print.ProbabilisticBooleanNetwork} \Rdversion{1.1} \alias{print.ProbabilisticBooleanNetwork} \alias{print.BooleanNetworkCollection} \title{ Print a probabilistic Boolean network } \description{ A specialized method to print an object of class \code{ProbabilisticBooleanNetwork}. For backward compatibility, this method also prints objects of class \code{BooleanNetworkCollection}, which have been replaced by \code{ProbabilisticBooleanNetwork}. This prints all alternative transition functions and their probabilities. If the network is the result of a reconstruction from time series measurements, it also outputs the error the functions make on the time series. If genes are knocked-out or over-expressed, these genes are listed below the functions. } \usage{ \method{print}{ProbabilisticBooleanNetwork}(x, ...) \method{print}{BooleanNetworkCollection}(x, ...) } \arguments{ \item{x}{ An object of class \code{ProbabilisticBooleanNetwork} or \code{BooleanNetworkCollection} to be printed } \item{\dots}{ Further parameters for the \code{\link{print}} method. Currently not used. } } \value{ Invisibly returns the printed object } \seealso{ \code{\link{print}}, \code{\link{reconstructNetwork}}, \code{\link{loadNetwork}} } \keyword{network Boolean network probabilistic Boolean network PBN print} ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/loadBioTapestry.Rd����������������������������������������������������������������������0000644�0001762�0000144�00000003773�12732246464�016007� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{loadBioTapestry} \alias{loadBioTapestry} \title{ Import a network from BioTapestry } \description{ Imports a Boolean network from a BioTapestry file (*.btp). BioTapestry is an interactive tool for building, visualizing, and simulating gene-regulatory networks, and can be accessed at \url{http://www.biotapestry.org}. } \usage{ loadBioTapestry(file, symbolic = FALSE) } \arguments{ \item{file}{ The name of the file to import. This must be a BioTapestry XML file (*.btp). } \item{symbolic}{ If set to \code{TRUE}, the function returns an object of class \code{SymbolicBooleanNetwork} with an expression tree representation. Otherwise, it returns an object of class \code{BooleanNetwork} with a truth table representation. } } \details{ The function builds up a Boolean network by importing the nodes, the links between these nodes, and the simulation parameters of the top-level plot of a BioTapestry file. The BioTapestry network should have the following properties: \itemize{ \item All links should be either enhancers or repressors. Unspecified ("neutral") links are ignored. \item In the simulation parameters, each node should specify the correct logical function (AND, OR, XOR) for its inputs. \item Constant genes can be generated by modeling a gene without any input link and setting the simulation parameter \code{initVal} to 0 or 1. } } \value{ A network of class \code{BooleanNetwork} or \code{SymbolicBooleanNetwork}, as described in \code{\link{loadNetwork}}. } \references{ W. J. R. Longabaugh, E. H. Davidson, H. Bolour (2005), Computational representation of developmental genetic regulatory networks. Developmental Biology 283(1):1--16. } \seealso{ \code{\link{loadNetwork}}, \code{\link{loadSBML}} } \examples{ # import the example BioTapestry file # included in the package vignette exampleFile <- system.file("doc/example.btp", package="BoolNet") net <- loadBioTapestry(exampleFile) # print the imported network print(net) } \keyword{BioTapestry import} �����BoolNet/man/truthTableToSymbolic.Rd�����������������������������������������������������������������0000644�0001762�0000144�00000003155�12732246464�017017� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{truthTableToSymbolic} \alias{truthTableToSymbolic} \title{ Convert a network in truth table representation into a symbolic representation } \description{ Converts an object of class \code{BooleanNetwork} into an object of class \code{SymbolicBooleanNetwork} by generating symbolic expression trees. } \usage{ truthTableToSymbolic(network, generateDNFs = FALSE) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{network}{ An object of class \code{BooleanNetwork} to be converted. } \item{generateDNFs}{ This parameter specifies whether formulae in Disjunctive Normal Form are generated instead of the parsing the string expressions that describe the transition functions. If set to FALSE, the original expressions are parsed. If set to "canonical", a canonical Disjunctive Normal Form is generated from each truth table. If set to "short", the canonical DNF is minimized by joining terms (which can be time-consuming for functions with many inputs). If set to TRUE, a short DNF is generated for functions with up to 12 inputs, and a canonical DNF is generated for functions with more than 12 inputs. } } \value{ Returns an object of class \code{SymbolicBooleanNetwork}, as described in \code{\link{loadNetwork}}. } \seealso{ \code{\link{truthTableToSymbolic}}, \code{\link{loadNetwork}} } \examples{ # Convert a truth table representation into a # symbolic representation and back data(cellcycle) symbolicNet <- truthTableToSymbolic(cellcycle) print(symbolicNet) ttNet <- symbolicToTruthTable(symbolicNet) print(cellcycle) } \keyword{Boolean network symbolic Boolean network conversion} �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/generateRandomNKNetwork.Rd��������������������������������������������������������������0000644�0001762�0000144�00000021171�12732246464�017430� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{generateRandomNKNetwork} \Rdversion{1.1} \alias{generateRandomNKNetwork} \title{ Generate a random N-K Boolean network } \description{ Generates a random N-K Boolean network (see Kauffman, 1969) using different configurations for the topology, the linkage, and the functions. } \usage{ generateRandomNKNetwork(n, k, topology = c("fixed", "homogeneous", "scale_free"), linkage = c("uniform", "lattice"), functionGeneration = c("uniform", "biased"), validationFunction, failureIterations=10000, simplify = FALSE, noIrrelevantGenes=TRUE, readableFunctions = FALSE, d_lattice = 1, zeroBias = 0.5, gamma = 2.5, approx_cutoff = 100) } \arguments{ \item{n}{ The total number of genes in the network } \item{k}{ If this is a single number, this is either the maximum number of genes in the input of a transition function (for \code{topology="fixed"} and \code{topology="scale_free"}) or the mean number of genes in the input of a function (for \code{topology="homogeneous"}). If \code{topology="fixed"}, this can also be a vector with \code{n} elements specifying the number of input genes for each gene separately. } \item{topology}{ If set to "fixed", all transition functions of the network depend on exactly \code{k} input genes (unless there are irrelevant input genes to be removed if \code{simplify=TRUE} and \code{noIrrelevantGenes=FALSE}). If set to "homogeneous", the number of input genes is drawn independently at random from a Poisson distribution with lambda = k. If set to "scale_free", the number of input genes of each function is drawn from a Zeta distribution with parameter \code{gamma}. } \item{linkage}{ If this parameter is "uniform", the actual input genes are drawn uniformly at random from the total \code{k} genes. If set to "lattice", only genes from the neighbourhood \if{latex}{\cr}\code{(i - d_lattice * k_i):(i + d_lattice * k_i)} are taken, which means that all genes are dependent from other genes in the direct neighbourhood. } \item{functionGeneration}{ This parameter specifies how the truth tables of the transition functions are generated. If set to "uniform", the truth table result column of the function is filled uniformly at random with 0 and 1. If set to "biased", a bias is introduced, where the probability of drawing a 0 is determined by the parameter \code{zeroBias}. As a third option, \code{functionGeneration} can be set to a user-defined function that generates the truth tables. This function must have a single parameter \code{input} that is supplied with a vector of input gene indices. It must return a binary vector of size \code{2^length(input)} corresponding to the result column of the truth table. For the generation of canalyzing and nested canalyzing functions that are often assumed to be biologically plausible, the generation functions \code{\link{generateCanalyzing}} and \code{\link{generateNestedCanalyzing}} are included in \pkg{BoolNet}. } \item{validationFunction}{ An optional function that restricts the generated Boolean functions to certain classes. This can be used if no explicit generation function can be specified in \code{functionGeneration}, but it is nevertheless possible to check whether a generated function belongs to that class or not. The function should have two input parameter \code{input} and \code{func} that receive a candidate function. \code{input} is a matrix of 0/1 integer values specifying the input part of the truth table of the candidate function, with the input genes in the columns. Each of the 2^k rows of \code{input} (where k is the number of input genes) corresponds to one entry of \code{func}, which is an integer vector of 0/1 values corresponding to the output of the candidate function. The validation function should return \code{TRUE} if the candidate function is accepted or \code{FALSE} if it is rejected. } \item{failureIterations}{ The maximum number of iterations the generator tries to generate a function that is accepted by \code{validationFunction} before it gives up and throws an error. Defaults to 10000. } \item{simplify}{ If this is true, \code{\link{simplifyNetwork}} is called to simplify the gene transition functions after the perturbation. This removes irrelevant input genes. Should not be used together with \code{noIrrelevantGenes=TRUE}, as this automatically generates a network that cannot be simplified any further. Defaults to FALSE. } \item{noIrrelevantGenes}{ If set to true, gene transition functions are not allowed to contain irrelevant genes, i.e. the functions have exactly the number of input genes determined by the \code{topology} method. This means that the network cannot be simplified any further, and \code{simplify} should be turned off. The default value is TRUE. } \item{readableFunctions}{ This parameter specifies if readable DNF representations of the transition function truth tables are generated and displayed when the network is printed. If set to FALSE, the truth table result column is displayed. If set to "canonical", a canonical Disjunctive Normal Form is generated from each truth table. If set to "short", the canonical DNF is minimized by joining terms (which can be time-consuming for functions with many inputs). If set to TRUE, a short DNF is generated for functions with up to 12 inputs, and a canonical DNF is generated for functions with more than 12 inputs. } \item{d_lattice}{ The dimension parameter for the lattice if \code{linkage="lattice"}. Defaults to 1. } \item{zeroBias}{ The bias parameter for biased functions for \code{functionGeneration="biased"}. Defaults to 0.5 (no bias). } \item{gamma}{ The Gamma parameter of the Zeta distribution for \code{topology="scale_free"}. Default is 2.5. } \item{approx_cutoff}{ This parameter is only used with \code{topology="scale_free"}. It sets the number of iterations in the sum used to approximate the Riemann Zeta function. Defaults to 100. } } \details{ The function supports a high number of different configurations to generate random networks. Several of the parameters are only needed for special configurations. The generated networks have different structural properties. Refer to the literature for more details. Constant genes are automatically fixed (e.g. knocked-out or over-expressed). This means that they are always set to the constant value, and states with the complementary value are not considered in transition tables etc. If you would like to change this behaviour, use \code{\link{fixGenes}} to reset the fixing. } \value{ An object of class \code{BooleanNetwork} containing the generated random network. The class \if{latex}{\cr}\code{BooleanNetwork} is described in more detail in \code{\link{loadNetwork}}. } \references{ S. A. Kauffman (1969), Metabolic stability and epigenesis in randomly constructed nets. J. Theor. Biol. 22:437--467. S. A. Kauffman (1993), The Origins of Order. Oxford University Press. M. Aldana (2003), Boolean dynamics of networks with scale-free topology. Physica D 185: 45--66. M. Aldana and S. Coppersmith and L. P. Kadanoff (2003), Boolean dynamics with random coupling. In E. Kaplan, J. E. Marsden and K. R. Sreenivasan (editors): Perspectives and Problems in Nonlinear Science, Springer. } \seealso{ \code{\link{perturbNetwork}},\code{\link{loadNetwork}}, \code{\link{simplifyNetwork}}, \code{\link{fixGenes}} } \examples{ # generate different random networks net1 <- generateRandomNKNetwork(n=10, k=10, topology="scale_free", linkage="uniform", functionGeneration="uniform", noIrrelevantGenes=FALSE, simplify=TRUE) net2 <- generateRandomNKNetwork(n=10, k=3, topology="homogeneous", linkage="lattice", functionGeneration="uniform", d_lattice=1.5, simplify=TRUE) net3 <- generateRandomNKNetwork(n=10, k=2, topology="fixed", linkage="uniform", functionGeneration="biased", noIrrelevantGenes=FALSE, zeroBias=0.6) # get attractors print(getAttractors(net1)) print(getAttractors(net2)) print(getAttractors(net3)) } \keyword{LaTeX Boolean network attractor cycle random network} �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/chooseNetwork.Rd������������������������������������������������������������������������0000644�0001762�0000144�00000005636�12732246464�015534� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{chooseNetwork} \alias{chooseNetwork} \title{ Extract a single Boolean network from a probabilistic Boolean network } \description{ Creates a \code{BooleanNetwork} object with exactly one function per gene by extracting a specified set of transition functions from a \code{ProbabilisticBooleanNetwork} or \code{BooleanNetworkCollection} object. } \usage{ chooseNetwork(probabilisticNetwork, functionIndices, dontCareValues=NULL, readableFunctions=FALSE) } \arguments{ \item{probabilisticNetwork}{ A \code{ProbabilisticBooleanNetwork} or \code{BooleanNetworkCollection} object as returned by \code{\link{reconstructNetwork}} or \code{\link{loadNetwork}} } \item{functionIndices}{ A vector of function indices with one entry for each gene } \item{dontCareValues}{ If \code{probabilisticNetwork} is of class \code{BooleanNetworkCollection}, this specifies the values to fill in for "don't care" (*) values in the truth tables of the transition functions. This is a list containing one vector of Boolean values for each gene. The lengths of the vectors must coincide with the numbers of "don't care" values in the functions. } \item{readableFunctions}{ If \code{probabilisticNetwork} is of class \code{BooleanNetworkCollection}, the string representations of the transition functions must be refreshed after filling in values for the "don't care" entries. This parameter specifies if readable DNF representations of the transition function truth tables are generated and displayed when the network is printed. If set to FALSE, the truth table result column is displayed. If set to "canonical", a canonical Disjunctive Normal Form is generated from each truth table. If set to "short", the canonical DNF is minimized by joining terms (which can be time-consuming for functions with many inputs). If set to TRUE, a short DNF is generated for functions with up to 12 inputs, and a canonical DNF is generated for functions with more than 12 inputs. } } \value{ Returns an object of class \code{BooleanNetwork} consisting of the transition functions whose indices were specified in \code{functionIndices}. The class \code{BooleanNetwork} is described in more detail in \code{\link{loadNetwork}}. Constant genes are automatically fixed (e.g. knocked-out or over-expressed). This means that they are always set to the constant value, and states with the complementary value are not considered in transition tables etc. If you would like to change this behaviour, use \code{\link{fixGenes}} to reset the fixing. } \seealso{ \code{\link{reconstructNetwork}}, \code{\link{loadNetwork}} } \examples{ # load example data data(examplePBN) # extract a unique network # - always use the first function net <- chooseNetwork(examplePBN, rep(1, length(examplePBN$genes))) # get attractors from this network print(getAttractors(net)) } \keyword{Boolean network probabilistic Boolean network PBN conversion reconstruction} ��������������������������������������������������������������������������������������������������BoolNet/man/loadNetwork.Rd��������������������������������������������������������������������������0000644�0001762�0000144�00000033554�12732246464�015173� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{loadNetwork} \Rdversion{1.1} \alias{loadNetwork} %- Also NEED an '\alias' for EACH other topic documented here. \title{ Load a Boolean network from a file } \description{ Loads a Boolean network or probabilistic Boolean network from a file and converts it to an internal transition table representation. } \usage{ loadNetwork(file, bodySeparator = ",", lowercaseGenes = FALSE, symbolic = FALSE) } \arguments{ \item{file}{ The name of the file to be read } \item{bodySeparator}{ An optional separation character to divide the target factors and the formulas. Default is ",". } \item{lowercaseGenes}{ If set to \code{TRUE}, all gene names are converted to lower case, i.e. the gene names are case-insensitive. This corresponds to the behaviour of \pkg{BoolNet} versions prior to 1.5. Defaults to \code{FALSE}. } \item{symbolic}{ If set to \code{TRUE}, a symbolic representation of class \code{SymbolicBooleanNetwork} is returned. This is not available for asynchronous or probabilistic Boolean networks, but is required for the simulation of networks with extended temporal predicates and time delays (see \code{\link{simulateSymbolicModel}}). If such predicates are detected, the switch is activated by default. } } \details{ Depending on whether the network is loaded in truth table representation or not, the supported network file formats differ slightly. For the truth table representation (\code{symbolic=FALSE}), the language basically consists of expressions based on the Boolean operators AND (&), or (|), and NOT (!). In addition, some convenience operators are included (see EBNF and operator description below). The first line contains a header. In case of a Boolean network with only one function per gene, the header is "targets, functions"; in a probabilistic network, there is an optional third column "probabilities". All subsequent lines contain Boolean rules or comment lines that are omitted by the parser. A rule consists of a target gene, a separator, a Boolean expression to calculate a transition step for the target gene, and an optional probability for the rule (for probabilistic Boolean networks only -- see below). The EBNF description of the network file format is as follows: \preformatted{ Network = Header Newline {Rule Newline | Comment Newline}; Header = "targets" Separator "factors"; Rule = GeneName Separator BooleanExpression [Separator Probability]; Comment = "#" String; BooleanExpression = GeneName | "!" BooleanExpression | "(" BooleanExpression ")" | BooleanExpression " & " BooleanExpression | BooleanExpression " | " BooleanExpression; | "all(" BooleanExpression {"," BooleanExpression} ")" | "any(" BooleanExpression {"," BooleanExpression} ")" | "maj(" BooleanExpression {"," BooleanExpression} ")" | "sumgt(" BooleanExpression {"," BooleanExpression} "," Integer ")" | "sumlt(" BooleanExpression {"," BooleanExpression} "," Integer ")"; GeneName = ? A gene name from the list of involved genes ?; Separator = ","; Integer = ? An integer value?; Probability = ? A floating-point number ?; String = ? Any sequence of characters (except a line break) ?; Newline = ? A line break character ?; } The extended format for Boolean networks with temporal elements that can be loaded if \code{symbolic=TRUE} additionally allows for a specification of time steps. Furthermore, the operators can be extended with iterators that evaluate their arguments over multiple time steps. \preformatted{ Network = Header Newline {Function Newline | Comment Newline}; Header = "targets" Separator "factors"; Function = GeneName Separator BooleanExpression; Comment = "#" String; BooleanExpression = GeneName | GeneName TemporalSpecification | BooleanOperator | TemporalOperator BooleanOperator = BooleanExpression | "!" BooleanExpression | "(" BooleanExpression ")" | BooleanExpression " & " BooleanExpression | BooleanExpression " | " BooleanExpression; TemporalOperator = "all" [TemporalIteratorDef] "(" BooleanExpression {"," BooleanExpression} ")" | "any" [TemporalIteratorDef] "(" BooleanExpression {"," BooleanExpression} ")" | "maj" [TemporalIteratorDef] "(" BooleanExpression {"," BooleanExpression} ")" | "sumgt" [TemporalIteratorDef] "(" BooleanExpression {"," BooleanExpression} "," Integer ")" | "sumlt" [TemporalIteratorDef] "(" BooleanExpression {"," BooleanExpression} "," Integer ")" | "timeis" "(" Integer ")" | "timegt" "(" Integer ")" | "timelt" "(" Integer ")"; TemporalIteratorDef = "[" TemporalIterator "=" Integer ".." Integer "]"; TemporalSpecification = "[" TemporalOperand {"+" TemporalOperand | "-" TemporalOperand} "]"; TemporalOperand = TemporalIterator | Integer TemporalIterator = ? An alphanumeric string ?; GeneName = ? A gene name from the list of involved genes ?; Separator = ","; Integer = ? An integer value?; String = ? Any sequence of characters (except a line break) ?; Newline = ? A line break character ?; } The meaning of the operators is as follows: \describe{ \item{\code{all}}{Equivalent to a conjunction of all arguments. For symbolic networks, the operator can have a time range, in which case the arguments are evaluated for each time point specified in the iterator.} \item{\code{any}}{Equivalent to a disjunction of all arguments. For symbolic networks, the operator can have a time range, in which case the arguments are evaluated for each time point specified in the iterator.} \item{\code{maj}}{Evaluates to true if the majority of the arguments evaluate to true. For symbolic networks, the operator can have a time range, in which case the arguments are evaluated for each time point specified in the iterator.} \item{\code{sumgt}}{Evaluates to true if the number of arguments (except the last) that evaluate to true is greater than the number specified in the last argument. For symbolic networks, the operator can have a time range, in which case the arguments are evaluated for each time point specified in the iterator.} \item{\code{sumlt}}{Evaluates to true if the number of arguments (except the last) that evaluate to true is less than the number specified in the last argument. For symbolic networks, the operator can have a time range, in which case the arguments are evaluated for each time point specified in the iterator.} \item{\code{timeis}}{Evaluates to true if the current absolute time step (i.e. number of state transitions performed from the current start state) is the same as the argument.} \item{\code{timelt}}{Evaluates to true if the current absolute time step (i.e. number of state transitions performed from the current start state) is the less than the argument.} \item{\code{timegt}}{Evaluates to true if the current absolute time step (i.e. number of state transitions performed from the current start state) is greater than the argument.} } If \code{symbolic=FALSE} and there is exactly one rule for each gene, a Boolean network of class \code{BooleanNetwork} is created. In these networks, constant genes are automatically fixed (e.g. knocked-out or over-expressed). This means that they are always set to the constant value, and states with the complementary value are not considered in transition tables etc. If you would like to change this behaviour, use \code{\link{fixGenes}} to reset the fixing. If \code{symbolic=FALSE} and two or more rules exist for the same gene, the function returns a probabilistic network of class \code{ProbabilisticBooleanNetwork}. In this case, alternative rules may be annotated with probabilities, which must sum up to 1 for all rules that belong to the same gene. If no probabilities are supplied, uniform distribution is assumed. If \code{symbolic=TRUE}, a symbolic representation of a (possibly temporal) Boolean network of class \code{SymbolicBooleanNetwork} is created. } \value{ If \code{symbolic=FALSE} and only one function per gene is specified, a structure of class \code{BooleanNetwork} representing the network is returned. It has the following components: \item{genes}{A vector of gene names involved in the network. This list determines the indices of genes in inputs of functions or in state bit vectors.} \item{interactions}{A list with \code{length(genes)} elements, where the i-th element describes the transition function for the i-th gene. Each element has the following sub-components: \describe{ \item{input}{A vector of indices of the genes that serve as the input of the Boolean transition function. If the function has no input (i.e. the gene is constant), the vector consists of a zero element.} \item{func}{The transition function in truth table representation. This vector has \if{latex}{\cr}\code{2^length(input)} entries, one for each combination of input variables. If the gene is constant, the function is 1 or 0.} \item{expression}{A string representation of the Boolean expression from which the truth table was generated} }} \item{fixed}{A vector specifying which genes are knocked-out or over-expressed. For each gene, there is one element which is set to 0 if the gene is knocked-out, to 1 if the gene is over-expressed, and to -1 if the gene is not fixed at all, i. e. can change its value according to the supplied transition function. Constant genes are automatically set to fixed values.} If \code{symbolic=FALSE} and there is at least one gene with two or more alternative transition functions, a structure of class \code{ProbabilisticBooleanNetwork} is returned. This structure is similar to \code{BooleanNetwork}, but allows for storing more than one function in an interaction. It consists of the following components: \item{genes}{A vector of gene names involved in the network. This list determines the indices of genes in inputs of functions or in state bit vectors.} \item{interactions}{A list with \code{length(genes)} elements, where the i-th element describes the alternative transition functions for the i-th gene. Each element is a list of transition functions. In this second-level list, each element has the the following sub-components: \describe{ \item{input}{A vector of indices of the genes that serve as the input of the Boolean transition function. If the function has no input (i.e. the gene is constant), the vector consists of a zero element.} \item{func}{The transition function in truth table representation. This vector has \if{latex}{\cr}\code{2^length(input)} entries, one for each combination of input variables. If the gene is constant, the function is -1.} \item{expression}{A string representation of the underlying Boolean expression} \item{probability}{The probability that the corresponding transition function is chosen} }} \item{fixed}{A vector specifying which genes are knocked-out or over-expressed. For each gene, there is one element which is set to 0 if the gene is knocked-out, to 1 if the gene is over-expressed, and to -1 if the gene is not fixed at all, i. e. can change its value according to the supplied transition function. You can knock-out and over-express genes using \code{\link{fixGenes}}.} If \code{symbolic=TRUE}, a structure of class \code{SymbolicBooleanNetwork} that represents the network as expression trees is returned. It has the following components: \item{genes}{A vector of gene names involved in the network. This list determines the indices of genes in inputs of functions or in state bit vectors.} \item{interactions}{A list with \code{length(genes)} elements, where the i-th element describes the transition function for the i-th gene in a symbolic representation. Each such element is a list that represents a recursive expression tree, possibly consisting of sub-elements (operands) that are expression trees themselves. Each element in an expression tree can be a Boolean/temporal operator, a literal ("atom") or a numeric constant.} \item{internalStructs}{A pointer referencing an internal representation of the expression trees as raw C objects. This is used for simulations and must be set to NULL if \code{interactions} are changed to force a refreshment. } \item{timeDelays}{An integer vector storing the temporal memory sizes required for each of the genes in the network. That is, the vector stores the minimum number of predecessor states of each gene that need to be saved to determine the successor state of the network.} \item{fixed}{A vector specifying which genes are knocked-out or over-expressed. For each gene, there is one element which is set to 0 if the gene is knocked-out, to 1 if the gene is over-expressed, and to -1 if the gene is not fixed at all, i. e. can change its value according to the supplied transition function. Constant genes are automatically set to fixed values.} } \seealso{ \code{\link{getAttractors}}, \code{\link{simulateSymbolicModel}}, \code{\link{markovSimulation}}, \code{\link{stateTransition}}, \code{\link{fixGenes}}, \code{\link{loadSBML}}, \code{\link{loadBioTapestry}} } \examples{ # write example network to file sink("testNet.bn") cat("targets, factors\n") cat("Gene1, !Gene2 | !Gene3\n") cat("Gene2, Gene3 & Gene4\n") cat("Gene3, Gene2 & !Gene1\n") cat("Gene4, 1\n") sink() # read file net <- loadNetwork("testNet.bn") print(net) } \keyword{Boolean network probabilistic Boolean network PBN file logic parse} ����������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/toPajek.Rd������������������������������������������������������������������������������0000644�0001762�0000144�00000003666�12732246464�014300� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{toPajek} \Rdversion{1.1} \alias{toPajek} \title{ Export a network to the Pajek file format } \description{ Exports a network to the Pajek file format to visualize transition trajectories. For more information on Pajek, please refer to \url{http://pajek.imfm.si/doku.php} } \usage{ toPajek(stateGraph, file = "boolean.net", includeLabels=FALSE, ...) } \arguments{ \item{stateGraph}{ An object of class \code{AttractorInfo} or \code{SymbolicSimulation}, as returned by \code{\link{getAttractors}} and \code{\link{simulateSymbolicModel}} respectively. As the transition table information in this structure is required, \code{getAttractors} must be called in synchronous mode and with \code{returnTable} set to TRUE. Similarly, \code{simulateSymbolicModel} must be called with \code{returnGraph=TRUE}. Alternatively, \code{stateGraph} can be an object of class \code{TransitionTable}, which can be extracted using the functions \code{\link{getTransitionTable}}, \code{\link{getBasinOfAttraction}}, or \code{\link{getStateSummary}} . } \item{file}{ The name of the output file for Pajek. Defaults to "boolean.net". } \item{includeLabels}{ If set to true, the vertices of the graph in the output file are labeled with the binary encodings of the states. Defaults to FALSE. } \item{\dots}{ This is only for compatibility with previous versions and should not be used. } } \value{ This function has no return value. } \seealso{ \code{\link{getAttractors}}, \code{\link{simulateSymbolicModel}}, \code{\link{getTransitionTable}}, \code{\link{getBasinOfAttraction}}, \code{\link{getStateSummary}}, \code{\link{toSBML}} } \examples{ # load example data data(cellcycle) # get attractors attractors <- getAttractors(cellcycle) # export to Pajek toPajek(attractors, file="pajek_export.net") } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{Pajek Boolean network attractor cycle basin transition state graph} ��������������������������������������������������������������������������BoolNet/man/saveNetwork.Rd��������������������������������������������������������������������������0000644�0001762�0000144�00000004060�12732246464�015200� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{saveNetwork} \alias{saveNetwork} \title{ Save a network } \description{ Saves synchronous, asynchronous, probabilistic and temporal networks in the \pkg{BoolNet} network file format . } \usage{ saveNetwork(network, file, generateDNFs = FALSE, saveFixed = TRUE) } \arguments{ \item{network}{ An object of class \code{BooleanNetwork} or \code{SymbolicBooleanNetwork} to be exported } \item{file}{ The name of the network file to be created } \item{generateDNFs}{ If \code{network} is a \code{BooleanNetwork} object, this parameter specifies whether formulae in Disjunctive Normal Form are exported instead of the expressions that describe the transition functions. If set to FALSE, the original expressions are exported. If set to "canonical", a canonical Disjunctive Normal Form is generated from each truth table. If set to "short", the canonical DNF is minimized by joining terms (which can be time-consuming for functions with many inputs). If set to TRUE, a short DNF is generated for functions with up to 12 inputs, and a canonical DNF is generated for functions with more than 12 inputs. For objects of class \code{SymbolicBooleanNetwork}, this parameter is ignored. } \item{saveFixed}{ If set to TRUE, knock-outs and overexpression of genes override their transition functions. That is, if a gene in the network is fixed to 0 or 1, this value is saved, regardless of the transition function. If set to FALSE, the transition function is saved. Defaults to TRUE. } } \details{ The network is saved in the \pkg{BoolNet} file format (see \code{\link{loadNetwork}} for details). If the expressions in the transition functions cannot be parsed or \code{generateDNFs} is true, a DNF representation of the transition functions is generated. } \seealso{ \code{\link{loadNetwork}} } \examples{ # load the cell cycle network data(cellcycle) # save it to a file saveNetwork(cellcycle, file="cellcycle.txt") # reload the model print(loadNetwork("cellcycle.txt")) } \keyword{Boolean network probabilistic Boolean network PBN file export} ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/print.SymbolicSimulation.Rd�������������������������������������������������������������0000644�0001762�0000144�00000003735�12732246464�017661� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{print.SymbolicSimulation} \alias{print.SymbolicSimulation} \title{ Print simulation results } \description{ Specialized print method to print the information stored in an \code{AttractorInfo} object. By default, the states of the identified attractors are printed in a binary encoding. Furthermore, the state transition graph and the sequences from the start states to the attractors can be printed. The method can print either the full states, or only the active genes of the states. } \usage{ \method{print}{SymbolicSimulation}(x, activeOnly = FALSE, sequences = FALSE, graph = FALSE, attractors = TRUE, ...) } \arguments{ \item{x}{ An object of class \code{SymbolicSimulation} to be printed. } \item{activeOnly}{ If set to true, a state is represented by a list of active genes (i.e., genes which are set to 1). If set to false, a state is represented by a binary vector with one entry for each gene, specifying whether the gene is active or not. Defaults to \code{FALSE}. } \item{sequences}{ If set to true and if \code{\link{simulateSymbolicModel}} has been started with \code{returnSequences=TRUE}, the sequences from the start states to the attractors are printed. Defaults to \code{FALSE}. } \item{graph}{ If set to true if \code{\link{simulateSymbolicModel}} has been started with \code{returnGraph=TRUE}, the state transition table is printed. Defaults to \code{FALSE}. } \item{attractors}{ If set to true if \code{\link{simulateSymbolicModel}} has been started with \code{returnAttractor=TRUE}, the state transition table is printed. Defaults to \code{TRUE}. } \item{\dots}{ Further parameters for the \code{\link{print}} method. Currently not used. } } \value{ Invisibly returns the printed object } \seealso{ \code{\link{simulateSymbolicModel}} } \keyword{print symbolic Boolean network} �����������������������������������BoolNet/man/getTransitionProbabilities.Rd�����������������������������������������������������������0000644�0001762�0000144�00000002676�12732246464�020246� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{getTransitionProbabilities} \alias{getTransitionProbabilities} \title{ Get a matrix of transitions and their probabilities in probabilistic Boolean networks } \description{ Retrieves the state transitions and their probabilities in a probabilistic Boolean network. This takes the transition table information calculated by the \code{\link{markovSimulation}} method. } \usage{ getTransitionProbabilities(markovSimulation) } \arguments{ \item{markovSimulation}{ An object of class \code{MarkovSimulation}, as returned by \code{\link{markovSimulation}}. As the transition table information in this structure is required, \code{\link{markovSimulation}} must be called with \code{returnTable} set to TRUE. } } \value{ Returns a data frame with the first \code{n} columns describing the values of the genes before the transition, the next \code{n} columns describing the values of the genes after the transition, and the last column containing the probability of the transition. Here, \code{n} is the number of genes in the underlying network. Only transitions with non-zero probability are included. } \seealso{ \code{\link{markovSimulation}} } \examples{ # load example network data(examplePBN) # perform a Markov chain simulation sim <- markovSimulation(examplePBN) # print out the probability table print(getTransitionProbabilities(sim)) } \keyword{Boolean network probabilistic Boolean network PBN transition probability} ������������������������������������������������������������������BoolNet/man/getAttractorSequence.Rd�����������������������������������������������������������������0000644�0001762�0000144�00000003067�12732246464�017032� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{getAttractorSequence} \alias{getAttractorSequence} \title{ Decode the state sequence of a synchronous attractor } \description{ Obtains the sequence of states belonging to a single synchronous attractor from the encoded data in an \code{AttractorInfo} structure or in a \code{SymbolicSimulation} structure. } \usage{ getAttractorSequence(attractorInfo, attractorNo) } \arguments{ \item{attractorInfo}{ An object of class \code{AttractorInfo}, as returned by \code{\link{getAttractors}}, or of class \code{SymbolicSimulation}, as returned by \code{\link{simulateSymbolicModel}}. As the transition table information in this structure is required, \code{getAttractors} must be called in synchronous mode and with \code{returnTable} set to TRUE. Similarly, \code{simulateSymbolicModel} must be called with \code{returnGraph=TRUE}. } \item{attractorNo}{ The index of the attractor in \code{attractorInfo} whose state sequence should be obtained } } \value{ Returns a data frame with the genes in the columns. The rows are the successive states of the attractor. The successor state of the last state (i.e. the last row) is the first state (i.e. the first row). } \seealso{ \code{\link{getAttractors}}, \code{\link{simulateSymbolicModel}}, \code{\link{getPathToAttractor}}, \code{\link{plotSequence}}, \code{\link{sequenceToLaTeX}} } \examples{ # load example data data(cellcycle) # get attractors attractors <- getAttractors(cellcycle) # print basin of 7-state attractor print(getAttractorSequence(attractors, 2)) } \keyword{Boolean network attractor cycle sequence state} �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/print.BooleanNetwork.Rd�����������������������������������������������������������������0000644�0001762�0000144�00000001302�12732246464�016750� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{print.BooleanNetwork} \Rdversion{1.1} \alias{print.BooleanNetwork} \title{ Print a Boolean network } \description{ A specialized method to print an object of class \code{BooleanNetwork}. This prints the transition functions of all genes. If genes are knocked-out or over-expressed, these genes are listed below the functions. } \usage{ \method{print}{BooleanNetwork}(x, ...) } \arguments{ \item{x}{ An object of class \code{BooleanNetwork} to be printed } \item{\dots}{ Further parameters for the \code{\link{print}} method. Currently not used. } } \value{ Invisibly returns the printed object } \seealso{ \code{\link{print}}, \code{\link{loadNetwork}} } \keyword{network Boolean network print} ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/getPathToAttractor.Rd�������������������������������������������������������������������0000644�0001762�0000144�00000006135�12732246464�016460� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{getPathToAttractor} \alias{getPathToAttractor} \title{ Get state transitions between a state and its attractor } \description{ Lists the states in the path from a specified state to the corresponding synchronous attractor. } \usage{ getPathToAttractor(network, state, includeAttractorStates = c("all","first","none")) } \arguments{ \item{network}{Either a network structure of class \code{BooleanNetwork} or \code{SymbolicBooleanNetwork} , or an attractor search result of class \code{AttractorInfo}. In the former case, a synchronous attractor search starting from \code{state} is conducted. In the latter case, \code{network} must be the result of a call to \code{\link{getAttractors}} with \code{returnTable=TRUE}, and its transition table must include \code{state}. } \item{state}{ A binary vector with exactly one entry per gene in the network. If \code{network} is of class \code{SymbolicBooleanNetwork} and makes use of more than one predecessor state, this can also be a matrix with the genes in the columns and multiple predecessor states in the rows. } \item{includeAttractorStates}{ Specifies whether the actual attractor states are included in the resulting table or not. If \code{includeAttractorStates = "all"} (which is the default behaviour), the sequence ends when the attractor was traversed once. If \code{includeAttractorStates = "first"}, only the first state of attractor is added to the sequence. This corresponds to the behaviour prior to \pkg{BoolNet} version 1.5. If {includeAttractorStates = "none"}, the sequence ends with the last non-attractor state. In this case, the sequence can be empty if the start state is an attractor state. } } \value{ Returns a data frame with the genes in the columns. The rows are the successive states from \code{state} to the the corresponding attractor. Depending on \code{includeAttractorStates}, attractor states are included or not. The data frame has an attribute \code{attractor} specifying the indices of the states that belong to the attractor. If \code{includeAttractorStates} is \code{"first"} or \code{"none"}, these indices may correspond to states that are not included in the sequence itself. This attribute is used by \code{\link{plotSequence}} to highlight the attractor states. } \seealso{ \code{\link{getAttractors}}, \code{\link{simulateSymbolicModel}}, \code{\link{getTransitionTable}}, \code{\link{getBasinOfAttraction}}, \code{\link{plotSequence}}, \code{\link{attributes}} } \examples{ # load example network data(cellcycle) # get path from a state to its attractor # include all attractor states path <- getPathToAttractor(cellcycle, rep(1,10), includeAttractorStates="all") print(path) # include only the first attractor state path <- getPathToAttractor(cellcycle, rep(1,10), includeAttractorStates="first") print(path) # exclude attractor states path <- getPathToAttractor(cellcycle, rep(1,10), includeAttractorStates="none") print(path) } \keyword{Boolean network sequence path basin attractor} �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������BoolNet/man/generateTimeSeries.Rd�������������������������������������������������������������������0000644�0001762�0000144�00000006651�12732246464�016464� 0����������������������������������������������������������������������������������������������������ustar �ligges��������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\name{generateTimeSeries} \alias{generateTimeSeries} \title{ Generate time series from a network } \description{ Generates time series by simulating successive state transitions from random start states. In addition, the resulting matrices can be perturbed by Gaussian noise. } \usage{ generateTimeSeries(network, numSeries, numMeasurements, type = c("synchronous","asynchronous","probabilistic"), geneProbabilities, perturbations = 0, noiseLevel = 0) } \arguments{ \item{network}{ An object of class \code{BooleanNetwork} or \code{SymbolicBooleanNetwork} that contains the network for which time series are generated } \item{numSeries}{ The number of random start states used to generate successive series of states, that is, the number of time series matrices to generate } \item{numMeasurements}{ The number of states in each of the time series matrices. The first state of each time series is the randomly generated start state. The remaining \code{numMeasurements - 1} states are obtained by successive state transitions. } \item{type}{ The type of state transitions to be performed (see \code{\link{stateTransition}}) } \item{geneProbabilities}{ An optional vector of probabilities for the genes if \code{type="asynchronous"}. By default, each gene has the same probability to be chosen for the next state transition. These probabilities can be modified by supplying a vector of probabilities for the genes which sums up to one. } \item{perturbations}{ If this argument has a value greater than 0, artificial perturbation experiments are generated. That is, \code{perturbations} genes in each time series are knocked out or overexpressed artificially using the \code{\link{fixGenes}} function. } \item{noiseLevel}{ If this is non-zero, it specifies the standard deviation of the Gaussian noise which is added to all entries of the time series matrices. By default, no noise is added to the time series. } } \value{ A list of matrices, each corresponding to one time series. Each row of these matrices contains measurements for one gene on a time line, i. e. column \code{i+1} contains the successor states of column \code{i+1}. If \code{noiseLevel} is non-zero, the matrices contain real values, otherwise they contain only 0 and 1. If \code{perturbations>0}, the result list contains an additional matrix \code{perturbations} specifying the artificial perturbations applied to the different time series. This matrix has \code{numSeries} columns and one row for each gene in the network. A matrix entry is 0 for a knock-out of the corresponding gene in the corresponding time series, 1 for overexpression, and NA for no perturbation. The result format is compatible with the input parameters of \code{\link{binarizeTimeSeries}} \if{latex}{\cr} and \code{\link{reconstructNetwork}}. } \seealso{ \code{\link{stateTransition}}, \code{\link{binarizeTimeSeries}}, \code{\link{reconstructNetwork}} } \examples{ # generate noisy time series from the cell cycle network data(cellcycle) ts <- generateTimeSeries(cellcycle, numSeries=50, numMeasurements=10, noiseLevel=0.1) # binarize the noisy time series bin <- binarizeTimeSeries(ts, method="kmeans")$binarizedMeasurements # reconstruct the network print(reconstructNetwork(bin, method="bestfit")) } \keyword{time series Boolean network synchronous update asynchronous update } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������