spdep/0000755000176200001440000000000013152340741011365 5ustar liggesusersspdep/inst/0000755000176200001440000000000013073127420012341 5ustar liggesusersspdep/inst/CITATION0000644000176200001440000000275612456023776013525 0ustar liggesuserscitHeader("To cite spdep in publications use:") citEntry(entry = "Article", title = "Comparing Implementations of Estimation Methods for Spatial Econometrics", author = personList(as.person("Roger Bivand"), as.person("Gianfranco Piras")), journal = "Journal of Statistical Software", year = "2015", volume = "63", number = "18", pages = "1--36", url = "http://www.jstatsoft.org/v63/i18/", textVersion = paste("Roger Bivand, Gianfranco Piras (2015).", "Comparing Implementations of Estimation Methods for Spatial Econometrics.", "Journal of Statistical Software, 63(18), 1-36.", "URL http://www.jstatsoft.org/v63/i18/.") ) citEntry(entry = "Article", title = "Computing the Jacobian in Gaussian spatial autoregressive models: An illustrated comparison of available methods", author = personList(as.person("Roger Bivand"), as.person("Jan Hauke"), as.person("Tomasz Kossowski")), journal = "Geographical Analysis", year = "2013", volume = "45", number = "2", pages = "150--179", url = "http://www.jstatsoft.org/v63/i18/", textVersion = paste("Bivand, R. S., Hauke, J., and Kossowski, T. (2013).", "Computing the Jacobian in Gaussian spatial autoregressive models:", "An illustrated comparison of available methods. Geographical", "Analysis, 45(2), 150-179.") ) spdep/inst/README0000644000176200001440000001103112723257757013237 0ustar liggesusersSpatial dependence: weighting schemes, statistics and models A collection of functions to create spatial weights matrix objects from polygon contiguities, from point patterns by distance and tesselations, for summarising these objects, and for permitting their use in spatial data analysis; a collection of tests for spatial autocorrelation, including global Moran's I, Geary's C, Hubert/Mantel general cross product statistic, Empirical Bayes estimates and spatial Index, and Getis/Ord G, local Moran's I and Getis/Ord G, saddlepoint approximations for global and local Moran's I; and functions for estimating spatial simultaneous autoregressive (SAR) lag and error models, weighted and unweighted SAR and CAR spatial regression models, and GM SAR error models. This file is intended to clarify ownership and copyright: where possible individual files also carry brief copyright notices. Copyrights ========== Files: src/dnn.c and src/knearneigh.c are based on code taken from: class/class.c by W. N. Venables and B. D. Ripley Copyright (C) 1994-9 Files: src/dfs_comp.c, src/gabriel.c, src/relative.c, R/components.R, R/gabrielneigh.R, R/graph2nb.R, R/nboperations.R, R/relneigh.R, R/soi.R, man/compon.Rd, man/graphneigh.Rd, man/nboperations.Rd are copyright (c) 2001 by Nicholas Lewin-Koh and are subject to the licence at the foot of this file. File: R/lag.spsarlm.R is copyright (c) 1998-2002 by Roger Bivand and Andrew Bernat, and is subject to the licence at the foot of this file. File: R/globalG.R is copyright (c) 2002 by Hisaji ONO and Roger Bivand, and is subject to the licence at the foot of this file. Files: R/mtlocalmoran.R and R/mtmoran.R are copyright (c) 2002 by Roger Bivand and Michael Tiefelsdorf, and are subject to the licence at the foot of this file. File: R/EBI.R is copyright (c) 2003 by Roger Bivand and Marilio Carvalho, and is subject to the licence at the foot of this file. File: R/p.adjustSP.R is copyright (c) 2004 by Roger Bivand and Danlin Yu, and is subject to the licence at the foot of this file. File: R/autocov.R is copyright (c) 2005 by Carsten F. Dormann and Roger Bivand, and is subject to the licence at the foot of this file. File: R/kpgm_new.R is copyright (c) 2005 by Luc Anselin and Roger Bivand, and is subject to the licence at the foot of this file. File: R/SpatialFiltering.R is copyright (c) 2005 by Yongwan Chun, Michael Tiefelsdorf and Roger Bivand, and is subject to the licence at the foot of this file. Files: data/afcon.rda, data/columbus.rda, data/oldcon.rda, data/nc.sids.rda are derived by permission from SpaceStat data files prepared by Luc Anselin; they were downloaded from: http://www.spacestat.com/data.htm#data under the following conditions: "All data sets are provided as is, and no warranties, expressed or implied are made as to the correctness and fitness for a purpose. Proper citation of the source of the data in published work would be appreciated." File: data/eire.rda is derived from data sets made available by Michael Tiefelsdorf based on sources named in man/eire.Rd, and downloaded from: http://geog-www.sbs.ohio-state.edu/faculty/tiefelsdorf/GeoStat.htm File: data/auckland.rda is derived from data sets included with INFOMAP in Bailey T, Gatrell A (1995) Interactive Spatial Data Analysis, Harlow: Longman, and is used with permission of the authors. File: data/NY_data.rda is derived from data sets for Waller, L. and C. Gotway (2004) Applied Spatial Statistics for Public Health Data, New York: John Wiley and Sons, and is used with permission of the authors. Other files in the data directory are derived from sources given on their help pages. All other files are copyright (c) 1998-2005 Roger S. Bivand and are subject to the licence at the foot of this file. Licence ======= This is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. The file COPYING in the R top-level directory is a copy of the "GNU General Public License". Roger.Bivand@nhh.no spdep/inst/ChangeLog0000644000176200001440000030436413152260144014124 0ustar liggesusers2017-09-01 13:27 rsbivand * ChangeLog, inst/ChangeLog: tidy 2017-09-01 13:26 rsbivand * R/localG.R: add returned attribute to localG 2017-09-01 13:23 rsbivand * ChangeLog, inst/ChangeLog: tidy 2017-09-01 13:22 rsbivand * R/localG.R, man/localmoran.exact.Rd: add returned attribute to localG 2017-09-01 10:03 rsbivand * R/localG.R, man/localG.Rd: add returned attribute to localG 2017-08-30 19:51 rsbivand * R/localmoran.R, man/localmoran.Rd: add Sokal et al. 1998 to localmoran 2017-08-22 19:50 rsbivand * man/localG.Rd: tidy 2017-08-22 19:47 rsbivand * man/localmoran.exact.Rd, man/predict.sarlm.Rd: tidy 2017-08-18 17:24 rsbivand * DESCRIPTION, R/moran.exact.R, R/mtmoran.R: array/vector warnings 2017-07-05 08:29 rsbivand * DESCRIPTION, R/spBreg.R: spBreg_lag priors bugfix 2017-04-13 11:38 rsbivand * ChangeLog, inst/ChangeLog: tidy 2017-04-13 11:37 rsbivand * src/dnn.c: zero distance issue fix 2017-04-12 13:38 rsbivand * src/dnn.c: gcdist returned -nan for zero distance 2017-04-11 13:47 rsbivand * DESCRIPTION, R/kpgm_new.R, man/GMerrorsar.Rd: return GMerrorsar vcov 2017-04-11 12:47 rsbivand * DESCRIPTION, man/boston.Rd, man/lextrB.Rd, src/ml_sse.c, vignettes/nb_igraph.Rmd: unprotected SEXP; igraph arpack error 2017-02-23 11:41 rsbivand * ChangeLog, inst/ChangeLog: tidy 2017-02-23 11:37 rsbivand * DESCRIPTION, NAMESPACE: condition R 3.3 imports(, except=()) dependency 2017-02-20 13:22 rsbivand * ChangeLog, DESCRIPTION, inst/ChangeLog: tidy 2017-02-18 19:01 rsbivand * NAMESPACE: impacts for lagmess 2017-02-18 18:38 rsbivand * NAMESPACE: impacts for lagmess 2017-02-18 18:38 rsbivand * NAMESPACE, R/impacts.R, R/mess.R, man/impacts.sarlm.Rd, man/lagmess.Rd: impacts for lagmess 2017-02-16 17:44 rsbivand * DESCRIPTION, NAMESPACE, R/mess.R, man/lagmess.Rd: add expm to MESS 2017-02-15 13:14 rsbivand * ChangeLog, inst/ChangeLog: tidy 2017-02-15 13:13 rsbivand * ChangeLog, DESCRIPTION, R/nb2mat.R, man/invIrM.Rd: powerWeights bug fixed 2017-01-08 19:59 rsbivand * ChangeLog, inst/ChangeLog: tidy 2016-12-20 14:54 rsbivand * man/bhicv.Rd: tidy 2016-12-09 07:53 rsbivand * DESCRIPTION, src/dnn.c: gcdists bug fixed 2016-09-21 07:56 rsbivand * man/COL.OLD.Rd: tidy 2016-09-21 07:50 rsbivand * ChangeLog, inst/ChangeLog: tidy 2016-09-21 07:49 rsbivand * ChangeLog, inst/ChangeLog: tidy 2016-09-21 07:48 rsbivand * man/baltimore.Rd, man/columbus.Rd, man/nc.sids.Rd, man/read.gal.Rd, man/read.gwt2nb.Rd: tidy 2016-09-21 07:10 rsbivand * ChangeLog, inst/ChangeLog: tidy 2016-09-21 07:09 rsbivand * DESCRIPTION, R/error.spsarlm.R, man/errorsarlm.Rd: drop bug fix in lmSLX 2016-08-23 15:29 rsbivand * man/COL.OLD.Rd, man/baltimore.Rd, man/columbus.Rd, man/nc.sids.Rd, man/read.gal.Rd, man/read.gwt2nb.Rd: asu links to chicago 2016-08-23 12:52 rsbivand * DESCRIPTION, R/knearneigh.R, R/nb2blocknb.R: nb2blocknb and knearneigh fixes 2016-07-29 19:44 rsbivand * ChangeLog, inst/ChangeLog: tidy 2016-07-29 19:42 rsbivand * DESCRIPTION: tidy 2016-06-21 11:43 rsbivand * R/lm.LMtests.R: tidy 2016-06-20 11:27 rsbivand * DESCRIPTION, NAMESPACE, R/jacobian.R, R/lag.spsarlm.R, R/spBreg.R, data/elect80.rda, man/impacts.sarlm.Rd, man/lagsarlm.Rd: adding Bayesian lag model 2016-06-17 19:14 rsbivand * R/error.spsarlm.R, R/sarlm.R: add impacts and predict methods for SLX 2016-06-17 10:12 rsbivand * DESCRIPTION, NAMESPACE, R/error.spsarlm.R, R/impacts.R, man/errorsarlm.Rd, man/impacts.sarlm.Rd, man/predict.sarlm.Rd: add impacts and predict methods for SLX 2016-05-31 16:27 rsbivand * ChangeLog, inst/ChangeLog: tidy 2016-05-31 16:25 rsbivand * man/graphneigh.Rd, vignettes/nb.Rnw: remove questioned C code 2016-05-31 10:07 rsbivand * R/soi.R, src/init.c, src/spdep.h: remove questioned C code 2016-05-31 09:59 rsbivand * DESCRIPTION, R/knearneigh.R, R/soi.R, inst/README, man/graphneigh.Rd, src/soigraph.c: remove questioned C code 2016-04-12 09:22 rsbivand * ChangeLog, inst/ChangeLog: tidy 2016-04-12 09:13 rsbivand * DESCRIPTION, R/listw2sn.R, man/tri2nb.Rd: bug fix in sn2listw affecting tri2nb 2016-04-04 17:01 rsbivand * src/soigraph.c: add verbatim copyright to soigraph.c 2016-03-18 07:52 rsbivand * R/error.spsarlm.R, man/errorsarlm.Rd: SLX/SDEM impacts 2016-03-17 13:26 rsbivand * DESCRIPTION, NAMESPACE, R/error.spsarlm.R: SLX/SDEM impacts 2016-03-14 13:09 rsbivand * man/predict.sarlm.Rd: add weights in Hausman 2016-03-14 12:39 rsbivand * man/MCMCsamp.Rd: add weights in Hausman 2016-03-14 10:43 rsbivand * R/error.spsarlm.R: add weights in Hausman 2016-03-13 21:07 rsbivand * DESCRIPTION, R/error.hessian.R, R/error.spsarlm.R, R/mcmcsamp.R, R/spautolm.R, man/errorsarlm.Rd: add weights to errorsarlm 2016-02-22 10:14 rsbivand * DESCRIPTION, R/EBI.R, man/EBImoran.mc.Rd: change mean subtraction default in EBI 2016-02-11 19:48 rsbivand * R/impacts.R: add null check to tp in print.summary.lagImpact 2016-02-08 16:05 rsbivand * R/jacobian.R: tidy 2016-02-07 20:20 rsbivand * DESCRIPTION, NAMESPACE, R/impacts.R, man/impacts.sarlm.Rd: spBreg_lag working 2016-02-03 17:29 rsbivand * DESCRIPTION, R/jacobian.R, man/boston.Rd: tidy 2016-01-01 18:52 rsbivand * DESCRIPTION, R/sarlm.R, man/invIrM.Rd, man/predict.sarlm.Rd: Martin Gubri end of year edits 2015-12-22 09:54 rsbivand * DESCRIPTION: tidy 2015-12-21 17:35 rsbivand * ChangeLog, inst/ChangeLog, man/boston.Rd: tidy 2015-12-10 12:30 rsbivand * ChangeLog, man/localmoran.Rd, man/localmoran.sad.Rd, man/nb2blocknb.Rd: Morans I archaeology 2015-10-21 13:24 rsbivand * R/summary.spsarlm.R, man/lm.morantest.exact.Rd: tidy 2015-10-05 20:36 rsbivand * man/localmoran.sad.Rd: use Omega= argument in localmoran.sad 2015-09-17 13:21 rsbivand * R/sarlm.R: fix in predict.sarlm() 2015-09-15 10:14 rsbivand * DESCRIPTION: tidy 2015-09-13 17:00 rsbivand * DESCRIPTION, R/nb2mat.R, R/sarlm.R, man/invIrM.Rd, man/predict.sarlm.Rd: adding preliminary GSoC 2015 results 2015-09-05 14:55 rsbivand * DESCRIPTION, R/impacts.R: add sac to listw impacts 2015-08-26 22:18 gpiras * DESCRIPTION: fix description file 2015-06-28 21:40 rsbivand * DESCRIPTION, NAMESPACE: CRAN _R_CHECK_CODE_USAGE_WITH_ONLY_BASE_ATTACHED_=true NAMESPACE tidy 2015-05-21 07:32 rsbivand * R/error.spsarlm.R: fix index error in create_WX 2015-05-07 15:56 rsbivand * R/mcmcsamp.R: model.reponse as.is issue 2015-05-06 19:07 rsbivand * R/lm.morantest.R, R/moran.exact.R, R/mtlocalmoran.R, R/mtmoran.R: Moran's I to Moran I 2015-05-06 18:12 rsbivand * DESCRIPTION, R/geary.R, R/moran.R, man/dnearneigh.Rd, man/eire.Rd, man/house.Rd, man/knearneigh.Rd, man/lm.morantest.exact.Rd, man/lm.morantest.sad.Rd, man/localmoran.exact.Rd, man/localmoran.sad.Rd: further +ellps= corrections 2015-03-25 20:59 rsbivand * R/lag.spsarlm.R, R/sacsarlm.R: fix spam bug in sacsarlm 2015-03-24 08:40 rsbivand * DESCRIPTION, R/EBI.R, man/EBImoran.mc.Rd: EBI subtract mean 2015-03-17 13:12 rsbivand * man/eigenw.Rd: arpack bounds issue 2015-03-17 10:33 rsbivand * man/lextrB.Rd, vignettes/nb_igraph.Rmd: arpack bounds issue 2015-03-16 21:23 rsbivand * DESCRIPTION, R/lextrW.R: fix for no-neighbour lextrW 2015-03-16 07:43 rsbivand * ChangeLog, inst/ChangeLog: tidy 2015-03-16 07:42 rsbivand * DESCRIPTION, R/lextrB.R, R/lextrW.R: condition on R version for .lm.fit() 2015-03-15 13:34 rsbivand * ChangeLog, inst/ChangeLog: tidy 2015-03-13 10:12 rsbivand * R/lag.spsarlm.R, R/sacsarlm.R: alleviate tol.solve issue in *sarlm 2015-03-13 10:11 rsbivand * R/localmoran.exact.R, R/moran.exact.R: fix localmoran.exact two.sided 2015-03-12 15:29 rsbivand * R/lag.spsarlm.R, R/sacsarlm.R: adding divert to fdHess for lag and sac 2015-03-12 11:59 rsbivand * R/error.spsarlm.R, R/jacobian_setup.R, vignettes/CO69.Rnw: alleviate tol.solve issue in errorsarlm 2015-03-08 18:53 rsbivand * NAMESPACE, R/lextrB.R, R/lextrW.R, man/lextrB.Rd, src/eminmaxC.c, src/init.c, src/spdep.h: S style extreme eigenvalues 2015-03-06 12:32 rsbivand * R/lextrB.R, R/lextrW.R, data/oldcol.rda, man/COL.OLD.Rd, man/lextrB.Rd, man/lm.morantest.Rd, src/eminmaxC.c: disambiguate AREA in oldcol 2015-03-02 18:35 rsbivand * man/lextrB.Rd: adding extreme eigs for W 2015-03-01 19:51 rsbivand * DESCRIPTION, NAMESPACE, R/lextrB.R, R/lextrW.R, src/eminmaxC.c, src/init.c, src/spdep.h: adding extreme eigs for W 2015-02-17 21:06 rsbivand * NAMESPACE, R/lextrB.R, man/lextrB.Rd: checks on input weights 2015-02-17 10:22 rsbivand * R/lextrB.R: max mustBeB 2015-02-16 21:33 rsbivand * DESCRIPTION, NAMESPACE, R/lextrB.R, man/lextrB.Rd, src/eminmaxC.c, src/init.c, src/spdep.h: adding extreme eigenvalue code 2015-02-04 09:12 rsbivand * DESCRIPTION, NAMESPACE, man/COL.OLD.Rd, man/NY_data.Rd, man/baltimore.Rd, man/boston.Rd, man/columbus.Rd, man/eire.Rd, man/nc.sids.Rd, man/read.gal.Rd, man/read.gwt2nb.Rd, man/wheat.Rd: fix dead URLs 2015-01-27 13:11 rsbivand * vignettes/nb_igraph.Rmd: tidy 2015-01-27 09:00 rsbivand * R/autocov.R, man/autocov_dist.Rd: update autocov_dist to Bardos et al. (2015) 2015-01-25 19:31 rsbivand * R/utils.R: tidy 2015-01-25 18:14 rsbivand * vignettes/nb_igraph.Rmd: tidy 2015-01-20 10:39 rsbivand * man/graphneigh.Rd: gabrielneigh issue 2015-01-18 17:42 rsbivand * DESCRIPTION, vignettes/nb_igraph.Rmd: tidy 2015-01-18 14:21 rsbivand * DESCRIPTION, vignettes/nb_igraph.Rmd: Matrix all.equal problem 2015-01-16 14:20 rsbivand * inst/ChangeLog: tidy 2015-01-16 14:19 rsbivand * ChangeLog: tidy 2015-01-16 14:04 rsbivand * ChangeLog, inst/ChangeLog: tidy 2015-01-15 21:05 rsbivand * DESCRIPTION, R/AAA.R, R/spChkOption.R, R/utils.R, inst/CITATION, man/GMerrorsar.Rd, man/do_ldet.Rd, man/errorsarlm.Rd, man/gstsls.Rd, man/impacts.sarlm.Rd, man/lagsarlm.Rd, man/sacsarlm.Rd, man/set.spChkOption.Rd, man/stsls.Rd: add JSS 2015 reference 2015-01-07 11:41 rsbivand * ChangeLog, inst/ChangeLog: tidy 2015-01-07 11:39 rsbivand * DESCRIPTION, R/jacobian.R, man/errorsarlm.Rd: tidy 2015-01-07 09:55 rsbivand * man/eigenw.Rd, vignettes/nb_igraph.Rmd: shield igraph::arpack 2015-01-07 09:30 rsbivand * R/moran.R, man/moran.mc.Rd: moran.mc adjust.n= 2015-01-06 17:02 rsbivand * DESCRIPTION, R/jacobian.R, R/jacobian_setup.R, R/utils.R, man/errorsarlm.Rd, src/dnn.c, src/insiders.c, src/nbdists.c: spam update issues 2015-01-05 21:22 rsbivand * ChangeLog, inst/ChangeLog: tidy 2015-01-05 21:21 rsbivand * ChangeLog, DESCRIPTION: tidy 2015-01-05 21:19 rsbivand * man/errorsarlm.Rd: tidy 2015-01-05 13:20 rsbivand * man/errorsarlm.Rd, vignettes/nb_igraph.Rmd: try in Matrix_J donttest 2015-01-05 09:41 rsbivand * vignettes/nb_igraph.Rmd: tidy 2014-12-28 18:59 rsbivand * vignettes/nb_igraph.Rmd: igraph usage 2014-12-28 18:28 rsbivand * vignettes/nb_igraph.Rmd: igraph usage 2014-12-28 13:25 rsbivand * vignettes/nb_igraph.Rmd: igraph usage 2014-12-26 20:04 rsbivand * vignettes/nb_igraph.Rmd: igraph usage 2014-12-23 22:22 rsbivand * vignettes/nb_igraph.Rmd: igraph usage 2014-12-22 23:14 rsbivand * vignettes/nb_igraph.Rmd: igraph usage 2014-12-22 22:54 rsbivand * man/aple.mc.Rd, man/set.mcOption.Rd, man/skater.Rd, man/trW.Rd: fixed detectCores in examples 2014-12-22 17:32 rsbivand * R/globalG.R, man/globalG.test.Rd, vignettes/nb_igraph.Rmd: igraph vignette start 2014-12-19 21:17 rsbivand * R/eigenw.R, vignettes/nb_igraph.Rmd: igraph vignette start 2014-12-19 15:09 rsbivand * vignettes/nb_igraph.Rmd: tidy 2014-12-18 21:55 rsbivand * R/listw2sn.R, R/nb2mat.R, vignettes/nb_igraph.Rmd: igraph vignette start 2014-12-18 13:51 rsbivand * vignettes/nb_igraph.Rmd: igraph vignette start 2014-12-18 13:48 rsbivand * DESCRIPTION, R/jacobian.R, R/listw2Matrix.R, R/nb2mat.R, man/as_dgRMatrix_listw.Rd, vignettes/nb_igraph.Rmd: igraph vignette start 2014-12-16 20:37 rsbivand * vignettes/nb_igraph.Rmd: igraph vignette start 2014-12-16 20:35 rsbivand * DESCRIPTION, vignettes/nb_igraph.Rmd: igraph vignette start 2014-12-15 09:32 rsbivand * man/nblag.Rd: start introducing igraph 2014-12-12 23:18 rsbivand * DESCRIPTION, R/listw2Matrix.R, man/compon.Rd, man/eigenw.Rd: start introducing igraph 2014-12-09 16:45 rsbivand * R/listw2Matrix.R, man/as_dgRMatrix_listw.Rd, man/trW.Rd: coerce to CsparseMatrix 2014-12-08 13:13 rsbivand * DESCRIPTION, NAMESPACE, R/ME.R, R/aple.R, R/error.spsarlm.R, R/jacobian.R, R/kpgm_new.R, R/lee.test.R, R/listw2Matrix.R, R/mcmcsamp.R, R/mess.R, R/nb2listw.R, R/sarlm.R, R/spautolm.R, man/as_dgRMatrix_listw.Rd, man/eigenw.Rd, man/errorsarlm.Rd, man/gstsls.Rd, man/house.Rd, man/impacts.sarlm.Rd, man/invIrM.Rd, man/lagsarlm.Rd, man/mat2listw.Rd, man/sacsarlm.Rd, man/trW.Rd: coerce to CsparseMatrix 2014-12-02 23:01 rsbivand * R/edit.nb.R, R/nb2blocknb.R, R/spautolm.R, man/boston.Rd, man/edit.nb.Rd, man/house.Rd, man/impacts.sarlm.Rd, man/spautolm.Rd: dontrun tidy 2014-12-02 12:34 rsbivand * ChangeLog, inst/ChangeLog: tidt 2014-12-02 12:32 rsbivand * DESCRIPTION, R/globalG.R, R/read.gal.R, src/card.c, src/nbdists.c, vignettes/sids.Rnw: read.gal() not assigning 0 to nb object 2014-11-27 10:38 rsbivand * man/spautolm.Rd: spautolm docs 2014-11-21 08:43 rsbivand * DESCRIPTION, R/globalG.R, man/globalG.test.Rd: globalG two.sided 2014-11-06 13:43 rsbivand * DESCRIPTION, R/jacobian.R, R/knearneigh.R, R/listw2sn.R, R/nb2listw.R: formula and requireNamespace 2014-11-06 12:28 rsbivand * DESCRIPTION, R/SpatialFiltering.R, R/aple.mc.R, R/error.spsarlm.R, R/impacts.R, R/jacobian.R, R/knearneigh.R, R/kpgm_new.R, R/lag.spsarlm.R, R/listw2sn.R, R/mess.R, R/nb2listw.R, R/nbcosts.R, R/prunecost.R, R/s2sls.R, R/sacsarlm.R: formula and requireNamespace 2014-09-17 19:31 rsbivand * ChangeLog, inst/ChangeLog: tidy 2014-08-31 21:34 rsbivand * R/tri2nb.R: allow other bounds in dnn 2014-08-31 14:57 rsbivand * DESCRIPTION, R/dnearneigh.R, man/dnearneigh.Rd, man/summary.nb.Rd, src/dnn.c: allow other bounds in dnn 2014-07-30 15:14 rsbivand * R/bptest.sarlm.R, src/soigraph.c: Debian copyright issue 2014-07-18 12:23 rsbivand * DESCRIPTION, NAMESPACE, man/do_ldet.Rd, man/nb2listw.Rd: exporting can.be.simmed and jacobianSetup 2014-06-05 19:08 rsbivand * ChangeLog, inst/ChangeLog: tidy 2014-06-05 18:59 rsbivand * DESCRIPTION, man/nb2listw.Rd: tidy 2014-05-15 10:39 rsbivand * R/impacts.R, man/impacts.sarlm.Rd: slacken row-standardised condition on listw impacts 2014-04-19 16:54 rsbivand * DESCRIPTION, NAMESPACE, R/lee.R, R/lee.mc.R, R/lee.test.R, R/lee_internal.R, man/lee.Rd, man/lee.mc.Rd, man/lee.test.Rd: adding Lee test 2014-04-03 18:25 rsbivand * ChangeLog, DESCRIPTION, NAMESPACE, R/error.spsarlm.R, R/lag.spsarlm.R, R/sacsarlm.R, man/errorsarlm.Rd: exposing create_WX 2014-03-21 12:49 rsbivand * DESCRIPTION, R/dnearneigh.R, man/dnearneigh.Rd: logic bug in dnearneighbour 2014-03-19 07:56 rsbivand * DESCRIPTION, man/errorsarlm.Rd, man/lagsarlm.Rd, man/sacsarlm.Rd: sarlm help pages links 2014-03-05 09:26 rsbivand * DESCRIPTION, R/impacts.R, man/impacts.sarlm.Rd: fix holes in listw route to impacts 2014-03-04 14:41 rsbivand * DESCRIPTION, R/impacts.R, R/nb2mat.R: fix holes in listw route to impacts 2014-01-31 14:08 rsbivand * ChangeLog, inst/ChangeLog: tidy 2014-01-31 14:07 rsbivand * man/EBImoran.mc.Rd, man/bptest.sarlm.Rd, man/eire.Rd: now UTF-8 2014-01-31 12:34 rsbivand * ChangeLog, inst/ChangeLog: tidy 2014-01-31 12:33 rsbivand * DESCRIPTION, NAMESPACE, man/EBImoran.mc.Rd, man/bptest.sarlm.Rd, man/eire.Rd: all to UTF-8 2014-01-31 09:40 rsbivand * ChangeLog, inst/ChangeLog: tidy 2014-01-31 09:39 rsbivand * man/boston.Rd: decription of Boston tracts 2014-01-31 09:30 rsbivand * ChangeLog, inst/ChangeLog: tidy 2014-01-31 09:28 rsbivand * man/boston.Rd: decription of Boston tracts 2014-01-30 20:16 rsbivand * inst/ChangeLog: tidy 2014-01-30 20:15 rsbivand * ChangeLog: tidy 2014-01-30 20:12 rsbivand * DESCRIPTION, inst/etc/shapes/boston_tracts.dbf, inst/etc/shapes/boston_tracts.prj, inst/etc/shapes/boston_tracts.shp, inst/etc/shapes/boston_tracts.shx, man/boston.Rd: adding boston tract polygons 2014-01-17 12:48 rsbivand * DESCRIPTION, R/knearneigh.R, man/knearneigh.Rd: duplicate points in knearneigh 2014-01-13 10:38 rsbivand * data/wheat.rda, data/wheat.txt, inst/etc/shapes/wheat.dbf, man/wheat.Rd: bug in wheat data 2013-12-04 21:33 rsbivand * DESCRIPTION, R/nb2blocknb.R, man/nb2blocknb.Rd: NULL nb in nb2blocknb 2013-11-05 10:43 rsbivand * DESCRIPTION, R/spautolm.R: fix non-fdHess se in spautolm 2013-10-29 18:13 rsbivand * DESCRIPTION: socket cluster for skater 2013-10-29 18:10 rsbivand * ChangeLog, inst/ChangeLog: socket cluster for skater 2013-10-29 18:09 rsbivand * DESCRIPTION, R/nbcosts.R, R/prunecost.R: socket cluster for skater 2013-10-27 10:21 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-10-27 10:19 rsbivand * NAMESPACE, man/impacts.sarlm.Rd: adding intImpacts to namespace 2013-10-22 06:13 rsbivand * DESCRIPTION, R/error.spsarlm.R, man/errorsarlm.Rd: fix lmSLX bug 2013-10-20 07:41 rsbivand * R/nbcosts.R, R/prunecost.R, man/nbcosts.Rd, man/skater.Rd: mc options 2013-10-18 16:30 rsbivand * R/impacts.R, man/trW.Rd: mc options 2013-10-18 06:43 rsbivand * R/spChkOption.R, man/set.mcOption.Rd: mc options 2013-10-17 21:22 rsbivand * NAMESPACE, R/EBI.R, R/ME.R, R/aple.mc.R, R/geary.R, R/moran.R, R/sp.mantel.R, R/spChkOption.R, man/set.mcOption.Rd: mc options 2013-10-17 20:21 rsbivand * DESCRIPTION, R/aple.mc.R, R/spChkOption.R, man/aple.Rd, man/aple.mc.Rd, man/set.mcOption.Rd: mc options 2013-10-17 12:10 rsbivand * R/AAA.R, R/spChkOption.R, man/set.mcOption.Rd: mc options 2013-10-01 18:32 rsbivand * R/error.spsarlm.R: series approximation issue 2013-10-01 11:01 rsbivand * DESCRIPTION, R/error.spsarlm.R, R/nb2mat.R, man/invIrM.Rd: series approximation issue 2013-09-20 16:40 rsbivand * man/set.mcOption.Rd: progress on parallel integration 2013-09-20 10:43 rsbivand * DESCRIPTION, NAMESPACE, R/AAA.R, R/aple.mc.R, R/spChkOption.R, man/aple.mc.Rd, man/set.spChkOption.Rd: progress on parallel integration 2013-09-17 08:13 rsbivand * R/nbcosts.R, R/prunecost.R: crossplatform skater functions 2013-09-16 08:40 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-09-16 08:39 rsbivand * man/droplinks.Rd, man/errorsarlm.Rd: tidy 2013-09-16 08:26 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-09-13 09:04 rsbivand * R/knearneigh.R: fix RANN zero-distance bug 2013-09-04 13:44 rsbivand * R/error.spsarlm.R, man/errorsarlm.Rd: adding SLX as lmSLX 2013-09-04 13:03 rsbivand * DESCRIPTION, NAMESPACE, R/error.spsarlm.R, man/errorsarlm.Rd: adding SLX as lmSLX 2013-09-02 08:40 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-09-02 08:39 rsbivand * R/AAA.R, R/nbcosts.R, R/prunecost.R: block windows mc.cores > 1 (temp fix) 2013-09-02 08:07 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-09-02 08:06 rsbivand * DESCRIPTION, R/AAA.R, R/nbcosts.R, R/prunecost.R: block windows mc.cores > 1 (temp fix) 2013-09-01 18:30 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-08-29 13:02 rsbivand * DESCRIPTION, NAMESPACE, R/autocov.R, R/dnearneigh.R, R/edit.nb.R, R/impacts.R, R/knearneigh.R, R/nbdists.R, R/poly2nb.R, R/summary.nb.R, man/edit.nb.Rd, man/poly2nb.Rd, man/trW.Rd, vignettes/nb.Rnw: remove ::: 2013-08-28 13:43 rsbivand * DESCRIPTION, NAMESPACE, R/aple.mc.R, R/spautolm.R, man/moran.plot.Rd: tidy 2013-08-28 11:33 rsbivand * .Rbuildignore, DESCRIPTION, man/getisord.Rd, man/lm.morantest.Rd, man/moran.mc.Rd: tidy 2013-08-21 10:49 rsbivand * DESCRIPTION, R/nbcosts.R, R/prunecost.R, data/wheat.txt, man/wheat.Rd: wheat bug, prunecost/nbcosts 2013-08-07 13:19 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-08-07 13:16 rsbivand * DESCRIPTION: tidy 2013-07-26 20:34 rsbivand * DESCRIPTION, NAMESPACE, R/jacobian.R, R/tri2nb.R, man/NY_data.Rd, man/auckland.Rd, man/columbus.Rd, man/eire.Rd, man/lm.morantest.exact.Rd, man/lm.morantest.sad.Rd, man/localmoran.exact.Rd, man/localmoran.sad.Rd, man/mstree.Rd, man/nb2lines.Rd, man/nc.sids.Rd, man/skater.Rd, man/wheat.Rd, vignettes/CO69.Rnw: reduce Depends 2013-07-22 07:14 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-07-22 07:13 rsbivand * DESCRIPTION, R/knearneigh.R, man/knearneigh.Rd: RANN nn -> nn2 2013-07-02 19:04 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-07-02 19:03 rsbivand * inst/LICENCE, inst/README: tidy 2013-07-02 18:31 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-07-02 18:30 rsbivand * DESCRIPTION, inst/doc/CO69.Rnw, inst/doc/CO69.pdf, inst/doc/SpatialFiltering.Rnw, inst/doc/SpatialFiltering.pdf, inst/doc/nb.Rnw, inst/doc/nb.pdf, inst/doc/sids.Rnw, inst/doc/sids.pdf, vignettes, vignettes/CO69.Rnw, vignettes/CO69.pdf, vignettes/SpatialFiltering.Rnw, vignettes/SpatialFiltering.pdf, vignettes/nb.Rnw, vignettes/nb.pdf, vignettes/sids.Rnw, vignettes/sids.pdf: move to vignettes 2013-06-25 17:30 rsbivand * inst/doc/SpatialFiltering.Rnw, inst/doc/SpatialFiltering.pdf, inst/doc/nb.Rnw, inst/doc/nb.pdf: adding footnote 2013-06-24 11:57 rsbivand * DESCRIPTION, R/plot.nb.R, inst/doc/SpatialFiltering.Rnw: plot.nb 2013-06-21 13:44 rsbivand * DESCRIPTION, inst/doc/SpatialFiltering.Rnw, inst/doc/backstore/nyME_res.RData: backstoring ME results 2013-06-21 12:08 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-06-21 12:07 rsbivand * man/impacts.sarlm.Rd, man/lagmess.Rd, man/lm.morantest.exact.Rd, man/localmoran.exact.Rd, man/spautolm.Rd, man/tolerance.nb.Rd, man/trW.Rd: changing over-long help page lines 2013-06-20 17:07 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-06-20 17:02 rsbivand * DESCRIPTION, inst/doc/SpatialFiltering.Rnw, inst/doc/SpatialFiltering.pdf, inst/doc/nb.Rnw, inst/doc/nb.pdf: SpatialFiltering vignette 2013-06-20 11:41 rsbivand * DESCRIPTION, R/mcmcsamp.R, inst/doc/nb.Rnw, inst/etc/shapes/NY8_utm18.dbf, inst/etc/shapes/NY8_utm18.prj, inst/etc/shapes/NY8_utm18.shp, inst/etc/shapes/NY8_utm18.shx, inst/etc/weights/NY_nb.gal, man/MCMCsamp.Rd: nb vignette beginning 2013-03-30 13:23 rsbivand * LICENCE, src/dnn.c, src/ml_sse.c, src/polypoly.c, src/skater.c: remove clang warnings 2013-03-14 16:36 rsbivand * inst/doc/CO69.Rnw, inst/doc/sids.Rnw: keep.source=FALSE in vignettes 2013-02-11 07:39 rsbivand * DESCRIPTION, R/error.spsarlm.R, src/ml_sse.c, src/spdep.h: tidy 2013-01-11 11:13 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-01-11 11:11 rsbivand * DESCRIPTION, R/error.hessian.R, R/error.spsarlm.R, R/impacts.R, R/lag.hessian.R, R/lag.spsarlm.R, R/moran.exact.R, R/spautolm.R, man/errorsarlm.Rd, man/lagsarlm.Rd, man/spautolm.Rd: no real and Hessian variants 2012-12-21 09:25 rsbivand * ChangeLog, inst/ChangeLog: tidy 2012-12-21 09:24 rsbivand * R/impacts.R, R/poly2nb.R: clusterExport environment 2012-12-20 12:42 rsbivand * ChangeLog, inst/ChangeLog: pre_eig documentation 2012-12-20 12:40 rsbivand * R/sacsarlm.R, man/errorsarlm.Rd, man/lagsarlm.Rd, man/sacsarlm.Rd, man/spautolm.Rd: pre_eig documentation 2012-12-11 11:46 rsbivand * DESCRIPTION, NAMESPACE, R/eigenw.R, R/error.spsarlm.R, R/jacobian.R, R/jacobian_setup.R, R/lag.spsarlm.R, R/sacsarlm.R, R/spautolm.R, man/do_ldet.Rd, man/eigenw.Rd: adding direct eigenvalues to fitting functions 2012-12-08 17:53 rsbivand * man/aple.Rd, man/aple.mc.Rd, man/aple.plot.Rd: changing to published APLE reference 2012-11-18 19:51 rsbivand * DESCRIPTION, R/error.hessian.R, R/lag.hessian.R, R/spautolm.R: Hessian optim > optimHess 2012-11-09 10:12 rsbivand * ChangeLog, inst/ChangeLog: tidy 2012-11-09 10:11 rsbivand * DESCRIPTION, NAMESPACE, R/mcmcsamp.R, man/MCMCsamp.Rd, man/lagsarlm.Rd: replace MCMCpack with LearnBayes 2012-11-08 20:28 rsbivand * ChangeLog, inst/ChangeLog: tidy 2012-11-08 20:26 rsbivand * NAMESPACE, R/error.hessian.R, R/error.spsarlm.R, R/lag.hessian.R, R/lag.spsarlm.R, R/mcmcsamp.R, R/sacsarlm.R, man/MCMCsamp.Rd, man/errorsarlm.Rd: adding MCMCsamp method for sarlm 2012-11-08 17:16 rsbivand * R/mcmcsamp.R, R/spautolm.R, man/MCMCsamp.Rd, man/spautolm.Rd: adding MCMCsamp method for spautolm 2012-11-08 11:05 rsbivand * man/spautolm.Rd: add fdHess lambda.se to spautolm 2012-11-08 10:49 rsbivand * R/spautolm.R: add fdHess lambda.se to spautolm 2012-11-07 20:29 rsbivand * DESCRIPTION, NAMESPACE, R/jacobian_setup.R, R/lag.spsarlm.R, R/mcmcsamp.R, R/sacsarlm.R, R/spautolm.R, man/GMerrorsar.Rd, man/sacsarlm.Rd, man/spautolm.Rd: code simplification for Jacobian 2012-11-07 07:04 rsbivand * R/error.spsarlm.R, R/jacobian.R, R/jacobian_setup.R, R/mcmcsamp.R, R/sp.correlogram.R, man/sp.correlogram.Rd: code simplification for Jacobian 2012-10-18 18:58 rsbivand * R/jacobian.R: eq7 moments 2012-10-04 03:00 rsbivand * DESCRIPTION, R/cyclical.R, R/jacobian.R, R/weights-utils.R, man/do_ldet.Rd: adding cyclical computation 2012-10-03 10:06 rsbivand * R/weights-utils.R: find cyclical weights 2012-10-03 09:59 rsbivand * R/weights-utils.R: find cyclical weights 2012-10-03 09:54 rsbivand * R/weights-utils.R: find cyclical weights 2012-09-25 09:09 rsbivand * ChangeLog, DESCRIPTION, inst/ChangeLog: tidy 2012-09-23 14:51 rsbivand * NAMESPACE, R/jacobian.R, man/do_ldet.Rd: add LU pre-permute ldet 2012-09-22 19:12 rsbivand * R/jacobian.R, man/do_ldet.Rd: add LU pre-permute ldet 2012-09-22 18:51 rsbivand * DESCRIPTION, NAMESPACE, R/jacobian.R, man/do_ldet.Rd: add LU pre-permute ldet 2012-09-12 20:21 rsbivand * DESCRIPTION, R/jacobian.R: m+1 in Rmrho 2012-08-31 12:15 rsbivand * ChangeLog, inst/ChangeLog: tidy 2012-08-31 12:14 rsbivand * ChangeLog, inst/ChangeLog: tidy 2012-08-31 12:13 rsbivand * DESCRIPTION, R/ME.R, man/ME.Rd: remove EISPACK, enforce symmetry in ME 2012-08-27 19:11 rsbivand * man/errorsarlm.Rd, man/lagsarlm.Rd: further SE classic additions, error model 2012-08-27 18:54 rsbivand * R/error.spsarlm.R: further SE classic additions, error model 2012-08-27 18:52 rsbivand * R/error.hessian.R, R/error.spsarlm.R, R/lag.hessian.R, R/lag.spsarlm.R: further SE classic additions, error model 2012-08-27 14:58 rsbivand * R/jacobian.R, R/lag.spsarlm.R, man/do_ldet.Rd: further SE classic additions 2012-08-27 07:24 rsbivand * DESCRIPTION, NAMESPACE, R/jacobian.R, R/lag.spsarlm.R, man/do_ldet.Rd, man/lagsarlm.Rd: SE_* do_ldet methods to emulate SE toolbox 2012-08-15 09:00 rsbivand * R/spautolm.R, R/subset.nb.R: NROW bug in spautolm 2012-07-11 14:58 rsbivand * DESCRIPTION, R/s2sls.R, R/spautolm.R: correct White HC in stsls 2012-05-23 20:11 rsbivand * man/impacts.sarlm.Rd: revised impacts help page 2012-05-21 10:46 rsbivand * R/read.gwt2nb.R: integer in read.dat2listw 2012-05-18 11:59 rsbivand * DESCRIPTION, R/sacsarlm.R, man/sacsarlm.Rd: limit sacsar fdHess to nlme 2012-05-17 07:46 rsbivand * R/skater.R, man/skater.Rd: skater updated 2012-05-11 17:59 rsbivand * R/summary.spsarlm.R: adding adj.se to summary.sarlm 2012-05-11 17:52 rsbivand * R/summary.spsarlm.R: adding adj.se to summary.sarlm 2012-05-11 17:40 rsbivand * DESCRIPTION, R/summary.spsarlm.R, man/summary.sarlm.Rd: adding adj.se to summary.sarlm 2012-05-06 15:06 rsbivand * ChangeLog, inst/ChangeLog: tidy 2012-05-06 15:04 rsbivand * DESCRIPTION, R/aple.mc.R, R/impacts.R, R/poly2nb.R, man/aple.mc.Rd, man/set.spChkOption.Rd: shift to parallel 2012-05-02 11:23 rsbivand * man/nb2lines.Rd, man/nb2listw.Rd: minmax in nb2listw help page 2012-04-09 15:13 rsbivand * R/summary.nb.R: clearer messages in listw summary 2012-04-07 13:20 rsbivand * R/localmoran.R: add rownames to localmoran 2012-04-05 10:59 rsbivand * R/moran.R: warnings in moran.test 2012-03-31 08:34 rsbivand * NAMESPACE, R/lm.LMtests.R, R/sarlm.R, man/lm.LMtests.Rd, man/predict.sarlm.Rd: summary for LM tests, as.data.frame for sarlm predictions 2012-03-21 19:23 rsbivand * DESCRIPTION, R/sarlm.R: added non-W intercept handling to predict.sarlm 2012-03-17 19:34 rsbivand * ChangeLog, inst/ChangeLog: tidy 2012-03-17 19:30 rsbivand * ChangeLog, R/error.spsarlm.R, R/sarlm.R, man/predict.sarlm.Rd: add emixed to predict 2012-03-16 07:08 rsbivand * R/impacts.R, R/sarlm.R, man/predict.sarlm.Rd: return samples from impacts; use samples in predict 2012-03-15 06:55 rsbivand * DESCRIPTION, R/sarlm.R: alias fix in predict.sarlm 2012-02-24 20:53 rsbivand * DESCRIPTION, R/bptest.sarlm.R, man/bptest.sarlm.Rd: df bug in bptest 2011-12-05 12:51 rsbivand * man/impacts.sarlm.Rd: remove limitation on impacts help page 2011-11-26 11:52 rsbivand * ChangeLog, inst/ChangeLog: add sd to MC tr 2011-11-26 11:51 rsbivand * ChangeLog, DESCRIPTION, R/impacts.R, man/do_ldet.Rd, man/trW.Rd: add sd to MC tr 2011-11-20 17:02 rsbivand * R/jacobian.R: returning number of corrections used in truncated moments 2011-11-19 09:51 rsbivand * DESCRIPTION, R/impacts.R, man/trW.Rd: relax symmetry assertion in moments tr 2011-11-14 21:15 rsbivand * DESCRIPTION, R/AAA.R, R/EBI.R, R/ME.R, R/SpatialFiltering.R, R/aple.mc.R, R/autocov.R, R/diffnb.R, R/eigenw.R, R/error.spsarlm.R, R/geary.R, R/globalG.R, R/impacts.R, R/jc.R, R/kpgm_new.R, R/lag.spsarlm.R, R/lm.LMtests.R, R/lm.morantest.R, R/localG.R, R/localmoran.R, R/localmoran.exact.R, R/mess.R, R/moran.R, R/moran.exact.R, R/moran.exact.alt.R, R/moran.plot.R, R/mtlocalmoran.R, R/mtmoran.R, R/nb2listw.R, R/nb2mat.R, R/poly2nb.R, R/s2sls.R, R/sacsarlm.R, R/sarlm.R, R/sp.correlogram.R, R/sp.mantel.R, R/spChkOption.R, R/spautolm.R, R/subset.nb.R, R/summary.nb.R, R/summary.spsarlm.R, R/utils.R, R/weights-utils.R: complete partial argument matches 2011-11-14 10:32 rsbivand * ChangeLog, inst/ChangeLog: tidy 2011-11-10 14:45 rsbivand * R/jacobian.R: MC adjustments 2011-11-10 12:58 rsbivand * DESCRIPTION, R/jacobian.R: MC adjustments 2011-11-08 09:34 rsbivand * DESCRIPTION, R/jacobian.R: asy moments 2011-10-07 18:28 rsbivand * DESCRIPTION, R/read.gwt2nb.R: no-neighbours in nb2INLA 2011-10-06 16:01 rsbivand * man/do_ldet.Rd: tidy 2011-09-16 08:33 rsbivand * ChangeLog, inst/ChangeLog: tidy 2011-09-16 08:30 rsbivand * DESCRIPTION, R/AAA.R, man/LR.sarlm.Rd, man/anova.sarlm.Rd, man/edit.nb.Rd, man/graphneigh.Rd, man/joincount.multi.Rd, man/joincount.test.Rd, man/lag.listw.Rd, man/lm.LMtests.Rd, man/lm.morantest.sad.Rd, man/localmoran.sad.Rd, man/plot.nb.Rd, man/predict.sarlm.Rd, man/residuals.sarlm.Rd, man/sp.correlogram.Rd, man/sp.mantel.mc.Rd, man/subset.listw.Rd, man/subset.nb.Rd, man/summary.nb.Rd, man/trW.Rd: help file S3 cleanup 2011-07-18 19:11 rsbivand * R/kpgm_new.R: pass zero.policy in GMerrorsar non-legacy branch 2011-07-17 12:18 rsbivand * DESCRIPTION, R/EBI.R, R/aple.R, R/autocov.R, R/geary.R, R/globalG.R, R/localG.R, R/localmoran.R, R/moran.plot.R, R/sp.correlogram.R, R/sp.mantel.R, man/aple.Rd, man/aple.mc.Rd, man/aple.plot.Rd, man/moran.plot.Rd: enforce vector input for tests 2011-07-03 18:20 rsbivand * DESCRIPTION, NAMESPACE, R/error.spsarlm.R, R/lag.spsarlm.R, R/sarlm.R, man/residuals.sarlm.Rd: first sketch of sarlm vcov 2011-06-29 08:03 rsbivand * ChangeLog, inst/ChangeLog: tidy 2011-06-29 08:01 rsbivand * DESCRIPTION: tidy 2011-06-29 07:45 rsbivand * ChangeLog, inst/ChangeLog: tidy 2011-06-29 07:44 rsbivand * ChangeLog, R/sarlm.R, inst/ChangeLog: tidy 2011-06-17 12:30 rsbivand * R/summary.spsarlm.R: adding LM test to SD summary 2011-06-16 10:47 rsbivand * R/aple.mc.R, R/bptest.sarlm.R, R/error.spsarlm.R, R/lag.spsarlm.R, R/sacsarlm.R, R/sarlm.R, R/summary.spsarlm.R, man/bptest.sarlm.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/localmoran.exact.Rd, man/localmoran.sad.Rd, man/sacsarlm.Rd: continuing object bloat reduction 2011-06-15 19:54 rsbivand * DESCRIPTION, R/anova.sarlm.R, R/error.spsarlm.R, R/lag.spsarlm.R, R/sacsarlm.R, R/sarlm.R, R/spautolm.R, R/summary.spsarlm.R: incomplete slimming environments 2011-06-12 19:11 rsbivand * R/aple.R: aple tidy 2011-06-09 15:45 rsbivand * ChangeLog, inst/ChangeLog: tidy 2011-06-09 15:42 rsbivand * DESCRIPTION, R/impacts.R, R/kpgm_new.R, R/s2sls.R, man/stsls.Rd: SEAI modifications 2011-06-01 05:28 rsbivand * man/rotation.Rd: change rotation example output 2011-06-01 05:14 rsbivand * R/nbcosts.R, R/prunecost.R, R/skater.R, man/nbcosts.Rd, man/prunecost.Rd, man/skater.Rd, man/ssw.Rd: update to skater from Elias T. Krainski 2011-05-30 08:07 rsbivand * NAMESPACE, R/impacts.R, R/kpgm_new.R, man/gstsls.Rd, man/impacts.sarlm.Rd: impacts method for gmsar/SARAR 2011-05-28 15:17 rsbivand * R/kpgm_new.R, man/GMerrorsar.Rd, man/gstsls.Rd: scaleU in GMerrorsar and gstsls 2011-05-27 21:55 rsbivand * DESCRIPTION, R/nb2listw.R, man/nb2listw.Rd: examining minmax in nb2listw 2011-05-19 21:55 rsbivand * ChangeLog, inst/ChangeLog: integer overflow in poly2nb C code 2011-05-19 21:52 rsbivand * DESCRIPTION, src/polypoly.c: integer overflow in poly2nb C code 2011-05-05 18:00 rsbivand * ChangeLog, inst/ChangeLog, inst/doc/CO69.pdf, inst/doc/sids.pdf: tidy 2011-05-05 16:22 rsbivand * R/kpgm_new.R, man/GMerrorsar.Rd: GMerrorsar se lambda 2011-05-04 20:06 rsbivand * R/kpgm_new.R, man/GMerrorsar.Rd: GM lambda standard error incomplete 2011-05-03 20:39 rsbivand * DESCRIPTION, NAMESPACE, R/kpgm_new.R, man/GMerrorsar.Rd, man/gstsls.Rd: GM lambda standard error incomplete 2011-04-16 12:24 rsbivand * R/kpgm_new.R: tidy 2011-04-16 12:16 rsbivand * R/kpgm_new.R: tidy 2011-04-16 11:42 rsbivand * R/kpgm_new.R: Arnold-Wied (2010) moments 2011-04-14 20:16 rsbivand * DESCRIPTION, R/eigenw.R, R/jacobian.R, R/kpgm_new.R, man/GMerrorsar.Rd, man/eigenw.Rd, man/gstsls.Rd: complex eigenvalues 2011-04-13 09:53 rsbivand * inst/doc/CO69.pdf, inst/doc/sids.pdf, man/eigenw.Rd: complex eigenvalues 2011-04-12 15:06 rsbivand * ChangeLog, inst/ChangeLog: fixes for geary.mc and GMerrorsar 2011-04-12 15:05 rsbivand * DESCRIPTION, R/geary.R, R/kpgm_new.R, man/GMerrorsar.Rd, man/card.Rd, man/cell2nb.Rd, man/dnearneigh.Rd, man/geary.mc.Rd, man/graphneigh.Rd, man/knn2nb.Rd, man/nb2INLA.Rd, man/poly2nb.Rd: fixes for geary.mc and GMerrorsar 2011-03-30 18:51 rsbivand * DESCRIPTION, NAMESPACE, R/EBI.R, R/read.gwt2nb.R, man/nb2INLA.Rd: adding INLA nb interface 2011-03-14 09:25 rsbivand * ChangeLog, inst/ChangeLog: compressing PDFs and data 2011-03-14 09:24 rsbivand * data/NY_data.rda, data/afcon.rda, data/auckland.rda, data/baltimore.rda, data/boston.rda, data/columbus.rda, data/eire.rda, data/elect80.rda, data/getisord.rda, data/hopkins.rda, data/house.RData, data/huddersfield.rda, data/nc.sids.rda, data/oldcol.rda, data/used.cars.rda, inst/doc/CO69.pdf, inst/doc/sids.pdf: compressing PDFs and data 2011-03-14 07:50 rsbivand * data/00Index: removing data/00Index 2011-03-13 13:23 rsbivand * ChangeLog, inst/ChangeLog: revise vignettes (thanks to Edzer Pebesma) 2011-03-13 13:22 rsbivand * inst/doc/CO69.Rnw, inst/doc/sids.Rnw: revise vignettes (thanks to Edzer Pebesma) 2011-03-13 12:56 rsbivand * ChangeLog, inst/ChangeLog: hypot for pythag in C code 2011-03-13 12:54 rsbivand * DESCRIPTION, src/dnn.c, src/gabriel.c, src/knn.c, src/nbdists.c, src/polypoly.c, src/relative.c, src/soigraph.c: hypot for pythag in C code 2011-03-06 18:51 rsbivand * DESCRIPTION, R/error.spsarlm.R, R/jacobian.R, R/lag.spsarlm.R, man/do_ldet.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd: adding moments to lag and error 2011-02-24 16:04 rsbivand * R/EBI.R, R/anova.sarlm.R, R/aple.mc.R, R/diffnb.R, R/droplinks.R, R/edit.nb.R, R/error.hessian.R, R/error.spsarlm.R, R/geary.R, R/graph2nb.R, R/impacts.R, R/jacobian.R, R/kpgm_new.R, R/lag.hessian.R, R/lag.spsarlm.R, R/listw2sn.R, R/lm.LMtests.R, R/lm.morantest.R, R/localmoran.exact.R, R/moran.R, R/moran.exact.R, R/moran.exact.alt.R, R/mtlocalmoran.R, R/mtmoran.R, R/nb2mat.R, R/nblag.R, R/nboperations.R, R/plot.skater.R, R/poly2nb.R, R/read.gal.R, R/read.gwt2nb.R, R/s2sls.R, R/sacsarlm.R, R/skater.R, R/sp.mantel.R, R/spChkOption.R, R/spautolm.R, R/subset.nb.R, R/summary.nb.R, R/summary.spsarlm.R, R/utils.R, R/weights-utils.R: making length comparisons literal integers 2011-01-24 08:46 rsbivand * man/geary.test.Rd: geary.test standard deviate help page 2010-12-21 16:24 rsbivand * R/sp.correlogram.R: adding Geary C to sp.correlogram 2010-12-21 16:22 rsbivand * DESCRIPTION, R/nbcosts.R, R/sp.correlogram.R, man/sp.correlogram.Rd: adding Geary C to sp.correlogram 2010-12-19 19:32 rsbivand * R/error.spsarlm.R, R/lag.spsarlm.R, R/spautolm.R, R/summary.spsarlm.R: warnings when rho/lambda at limit 2010-12-14 20:29 rsbivand * R/s2sls.R: stsls using QR 2010-11-30 22:02 rsbivand * DESCRIPTION, R/error.spsarlm.R, R/impacts.R, R/sacsarlm.R, R/summary.spsarlm.R, man/errorsarlm.Rd, man/lagsarlm.Rd, man/sacsarlm.Rd: Elhorst 2010 paper trials 2010-11-25 08:13 rsbivand * R/lm.morantest.R: as.double N in lm.morantest 2010-11-24 15:14 rsbivand * R/lm.morantest.R: as.double N in lm.morantest 2010-11-24 14:43 rsbivand * DESCRIPTION, R/sacsarlm.R, src/dnn.c, src/knn.c, src/nbdists.c: CheckUserInterrupt in distance C code 2010-11-18 07:52 rsbivand * .Rbuildignore: add .Rbuildignore 2010-11-17 20:40 rsbivand * R/impacts.R, man/trW.Rd, src/mom_calc.c: moment calculations 2010-11-17 19:07 rsbivand * R/impacts.R, R/spChkOption.R, man/trW.Rd, src/mom_calc.c, src/spdep.h: moment calculations 2010-11-17 13:37 rsbivand * R/aple.mc.R, R/impacts.R: moment calculations 2010-11-16 21:37 rsbivand * R/impacts.R, man/trW.Rd: moment calculations 2010-11-16 12:45 rsbivand * R/impacts.R, src/mom_calc.c: moments calculation 2010-11-15 20:39 rsbivand * R/impacts.R, src/init.c, src/mom_calc.c, src/spdep.h: moment calculations 2010-11-11 11:31 rsbivand * INDEX: tidy 2010-11-10 17:55 rsbivand * ChangeLog, inst/ChangeLog: impacts summary fix; added tolerance.nb 2010-11-10 17:54 rsbivand * R/rotation.R, R/tolerance.nb.R, man/rotation.Rd, man/tolerance.nb.Rd: impacts summary fix; added tolerance.nb 2010-11-10 17:37 rsbivand * DESCRIPTION, NAMESPACE, R/impacts.R, man/mat2listw.Rd: impacts summary fix; added tolerance.nb 2010-11-02 11:20 rsbivand * R/nb2mat.R: added sparseMatrix to mat2listw 2010-10-31 19:57 rsbivand * DESCRIPTION, R/nb2mat.R, R/summary.nb.R, man/mat2listw.Rd: added sparseMatrix to mat2listw 2010-10-30 13:35 rsbivand * R/nb2mat.R, man/mat2listw.Rd: added style argement to mat2listw 2010-10-08 17:45 rsbivand * ChangeLog, inst/ChangeLog: sacsarlm optimizers 2010-10-08 12:18 rsbivand * DESCRIPTION, NAMESPACE, R/kpgm_new.R, man/GMerrorsar.Rd, man/gstsls.Rd, man/similar.listw.Rd: GM argmin image 2010-10-07 19:55 rsbivand * man/sacsarlm.Rd: sacsarlm optimizers 2010-10-07 19:01 rsbivand * R/sacsarlm.R, man/sacsarlm.Rd: sacsarlm optimizers 2010-10-06 18:51 rsbivand * R/impacts.R, R/sacsarlm.R: sacsarlm optimizers 2010-10-04 19:55 rsbivand * R/aple.R, R/aple.mc.R, R/apleplot.R, man/aple.Rd, man/aple.mc.Rd, man/aple.plot.Rd: aple trace option 2010-09-29 08:17 rsbivand * DESCRIPTION: impacts single x fixes 2010-09-29 08:09 rsbivand * R/impacts.R: impacts single x fixes 2010-09-29 07:53 rsbivand * R/impacts.R: impacts single x fixes 2010-09-28 14:22 rsbivand * DESCRIPTION, R/impacts.R: impacts with one variable 2010-09-13 16:22 rsbivand * R/s2sls.R: zero.policy in stsls 2010-09-06 07:54 rsbivand * R/nblag.R: nblag_cumul tidy 2010-09-05 19:13 rsbivand * DESCRIPTION, R/nblag.R: modified nblag_cumul 2010-09-03 07:07 rsbivand * ChangeLog, inst/ChangeLog: tidy 2010-09-03 07:04 rsbivand * DESCRIPTION, R/impacts.R: tidy 2010-09-03 06:47 rsbivand * R/impacts.R: mom_int export to cl 2010-08-31 07:50 rsbivand * R/error.spsarlm.R, R/lag.spsarlm.R, R/sacsarlm.R, R/spautolm.R: tidy 2010-08-28 14:43 rsbivand * ChangeLog, inst/ChangeLog: as.double to storage.mode 2010-08-28 14:42 rsbivand * R/dnearneigh.R, R/gabrielneigh.R, R/knearneigh.R, R/relneigh.R, R/soi.R, R/utils.R: as.double to storage.mode 2010-08-27 19:24 rsbivand * ChangeLog, inst/ChangeLog: adding moments trace 2010-08-27 19:23 rsbivand * DESCRIPTION, NAMESPACE, R/edit.nb.R, R/impacts.R, R/jacobian.R, data/elect80.rda, man/do_ldet.Rd, man/edit.nb.Rd, man/elect80.Rd, man/trW.Rd: adding moments trace 2010-08-17 14:05 rsbivand * DESCRIPTION, R/error.spsarlm.R, R/jacobian.R, R/lag.spsarlm.R, R/spautolm.R, man/do_ldet.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/spautolm.Rd: folding spam_update and Matrix_J into fit functions 2010-08-16 16:29 rsbivand * ChangeLog, inst/ChangeLog: adding spam_update method 2010-08-16 16:27 rsbivand * DESCRIPTION, NAMESPACE, R/jacobian.R, man/do_ldet.Rd: adding spam_update method 2010-08-13 11:34 rsbivand * R/jacobian.R, R/nb2listw.R: spam similarity safemode relaxation 2010-08-13 00:38 rsbivand * R/jacobian.R: spam similarity safemode relaxation 2010-08-13 00:37 rsbivand * R/jacobian.R: adding Matrix_J without updating 2010-08-12 21:31 rsbivand * DESCRIPTION, NAMESPACE, R/jacobian.R, man/do_ldet.Rd: adding Matrix_J without updating 2010-07-31 14:08 rsbivand * ChangeLog, inst/ChangeLog: retrofit polylist in edit.nb() 2010-07-31 14:08 rsbivand * DESCRIPTION, R/edit.nb.R, man/edit.nb.Rd: retrofit polylist in edit.nb() 2010-07-07 21:06 rsbivand * ChangeLog, inst/ChangeLog: adding gstsls 2010-07-07 21:02 rsbivand * man/gstsls.Rd: adding gstsls 2010-07-07 14:22 rsbivand * ChangeLog, inst/ChangeLog: spautolm Nagelkerke fix 2010-07-07 14:21 rsbivand * ChangeLog, inst/ChangeLog: spautolm Nagelkerke fix 2010-07-07 14:20 rsbivand * R/summary.spsarlm.R: spautolm Nagelkerke fix 2010-07-03 20:54 rsbivand * ChangeLog, inst/ChangeLog: adding gstsls 2010-07-03 20:50 rsbivand * INDEX: adding gstsls 2010-07-03 20:49 rsbivand * DESCRIPTION, NAMESPACE, R/kpgm_new.R, man/GMerrorsar.Rd: adding gstsls 2010-06-25 11:29 rsbivand * ChangeLog, inst/ChangeLog: mention large n in ML docs 2010-06-25 11:28 rsbivand * man/errorsarlm.Rd, man/lagsarlm.Rd, man/spautolm.Rd: mention large n in ML docs 2010-06-24 16:44 rsbivand * R/plot.nb.R, R/tri2nb.R, man/tri2nb.Rd: duplicate coords protection in tri2nb(). 2010-06-24 12:57 rsbivand * DESCRIPTION, R/autocov.R, R/dnearneigh.R, R/knearneigh.R, R/nbdists.R, R/summary.nb.R: longlat protection in dnearneigh() etc. 2010-06-23 08:54 rsbivand * ChangeLog, inst/ChangeLog: probmap/choynowski clarification 2010-06-23 08:54 rsbivand * DESCRIPTION, R/EBI.R, R/choynowski.R, man/choynowski.Rd: probmap/choynowski clarification 2010-06-22 08:41 rsbivand * ChangeLog, inst/ChangeLog: probmap and choynowski clarification, thanks to Michael Hoehle 2010-06-22 08:40 rsbivand * DESCRIPTION, R/EBI.R, R/choynowski.R, man/choynowski.Rd, man/probmap.Rd: probmap and choynowski clarification, thanks to Michael Hoehle 2010-06-17 12:07 rsbivand * ChangeLog, inst/ChangeLog: trap 2-column sparse neighbour file 2010-06-17 12:07 rsbivand * ChangeLog, inst/ChangeLog: trap 2-column sparse neighbour file 2010-06-17 12:06 rsbivand * DESCRIPTION, R/read.gwt2nb.R, man/read.gwt2nb.Rd: trap 2-column sparse neighbour file 2010-06-04 19:15 rsbivand * ChangeLog, inst/ChangeLog: sphet hooks 2010-06-04 19:14 rsbivand * R/impacts.R: sphet hooks 2010-06-04 16:16 rsbivand * ChangeLog, inst/ChangeLog: sphet hooks 2010-06-04 16:16 rsbivand * DESCRIPTION, R/impacts.R: sphet hooks 2010-06-01 09:29 rsbivand * ChangeLog, inst/ChangeLog: tidy 2010-06-01 09:27 rsbivand * R/kpgm_new.R: tidy 2010-05-30 10:06 rsbivand * ChangeLog, inst/ChangeLog: correct errorsarlm analytical SE 2010-05-30 10:06 rsbivand * DESCRIPTION, R/error.hessian.R, R/error.spsarlm.R, R/lag.spsarlm.R: correct errorsarlm analytical SE 2010-05-29 13:52 rsbivand * ChangeLog, inst/ChangeLog: tidy 2010-05-29 13:52 rsbivand * DESCRIPTION: tidy 2010-05-22 08:47 rsbivand * R/sacsarlm.R: llprof 2010-05-21 16:54 rsbivand * DESCRIPTION, R/sacsarlm.R, man/sacsarlm.Rd: sacsar ll profile 2010-05-19 09:59 rsbivand * INDEX: adding SAC/SARAR ML model 2010-05-19 09:47 rsbivand * ChangeLog, inst/ChangeLog: adding SAC/SARAR ML model 2010-05-19 09:46 rsbivand * DESCRIPTION, NAMESPACE, R/impacts.R, R/jacobian.R, R/sacsarlm.R, R/sarlm.R, R/summary.spsarlm.R, man/do_ldet.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/sacsarlm.Rd, src/lagw.c: adding SAC/SARAR ML model 2010-05-11 17:51 rsbivand * ChangeLog, inst/ChangeLog: Nagelkerke in spautolm summary 2010-05-11 17:50 rsbivand * man/spautolm.Rd: Nagelkerke in spautolm summary 2010-05-11 17:32 rsbivand * R/spautolm.R, man/spautolm.Rd: Nagelkerke in spautolm summary 2010-05-06 10:34 rsbivand * ChangeLog, inst/ChangeLog: poly2nb: use SpatialPolygons instead of polylist by default 2010-05-06 10:32 rsbivand * DESCRIPTION: poly2nb: use SpatialPolygons instead of polylist by default 2010-05-06 10:22 rsbivand * R/poly2nb.R, man/poly2nb.Rd: poly2nb: use SpatialPolygons instead of polylist by default 2010-05-05 08:44 rsbivand * ChangeLog, inst/ChangeLog: pass foundInBox to poly2nb 2010-05-05 08:43 rsbivand * R/poly2nb.R, man/poly2nb.Rd: pass foundInBox to poly2nb 2010-05-03 11:27 rsbivand * R/poly2nb.R, man/poly2nb.Rd, src/init.c, src/polypoly.c, src/spdep.h: more poly2nb speedups 2010-04-30 07:06 rsbivand * man/do_ldet.Rd: examples for do_ldet 2010-04-29 18:54 rsbivand * ChangeLog, inst/ChangeLog: documenting do_ldet 2010-04-29 18:52 rsbivand * man/do_ldet.Rd: documenting do_ldet 2010-04-29 18:52 rsbivand * NAMESPACE: documenting do_ldet 2010-04-29 14:34 rsbivand * R/poly2nb.R, man/poly2nb.Rd, src/polypoly.c: back out of knn for poly2nb 2010-04-28 08:45 rsbivand * R/listw2sn.R: tidy 2010-04-28 08:34 rsbivand * DESCRIPTION, INDEX, R/knearneigh.R, R/poly2nb.R, man/knearneigh.Rd, man/poly2nb.Rd: tidy 2010-04-26 08:34 rsbivand * ChangeLog, R/lag.spsarlm.R, R/poly2nb.R, man/poly2nb.Rd: more poly2nb changes 2010-04-22 02:50 rsbivand * DESCRIPTION, R/poly2nb.R, src/init.c, src/polypoly.c, src/spdep.h: poly2nb speedup 2010-04-21 02:49 rsbivand * DESCRIPTION, NAMESPACE, R/AAA.R, R/aple.mc.R, R/spChkOption.R, man/set.spChkOption.Rd: zeroPolicy problem 2010-04-17 22:18 rsbivand * DESCRIPTION, NAMESPACE, R/error.spsarlm.R, R/jacobian.R, R/kpgm_new.R, R/lag.spsarlm.R, R/listw2sn.R, R/nb2listw.R, R/spautolm.R, man/impacts.sarlm.Rd, man/lagsarlm.Rd, man/listw2sn.Rd: spam as suggested 2010-04-02 10:20 rsbivand * ChangeLog, inst/ChangeLog: control list documentation 2010-04-02 10:19 rsbivand * DESCRIPTION, man/errorsarlm.Rd, man/lagsarlm.Rd, man/spautolm.Rd: control list documentation 2010-04-01 14:50 rsbivand * R/impacts.R: impacts conflict 2010-04-01 14:05 rsbivand * R/moran.plot.R: moran.plot zero.policy issue 2010-03-24 13:40 rsbivand * R/impacts.R: fix cluster bloat 2010-03-24 11:58 rsbivand * DESCRIPTION, R/impacts.R, man/errorsarlm.Rd, man/lagsarlm.Rd, man/spautolm.Rd: avoiding cluster bloat 2010-03-22 12:08 rsbivand * INDEX: tidy 2010-03-22 11:10 rsbivand * ChangeLog, inst/ChangeLog: spautolm rewritten to use shared code 2010-03-22 11:09 rsbivand * R/spautolm.R, inst/doc/sids.Rnw, man/spautolm.Rd: spautolm rewritten to use shared code 2010-03-22 10:32 rsbivand * ChangeLog, inst/ChangeLog: spautolm rewritten to use shared code 2010-03-22 10:31 rsbivand * DESCRIPTION, R/error.spsarlm.R, R/jacobian.R, R/lag.spsarlm.R, R/spautolm.R, inst/doc/sids.Rnw, man/errorsarlm.Rd, man/lagsarlm.Rd, man/spautolm.Rd: spautolm rewritten to use shared code 2010-03-19 20:58 rsbivand * ChangeLog, inst/ChangeLog: adding some cluster awareness 2010-03-19 20:57 rsbivand * R/impacts.R: adding some cluster awareness 2010-03-19 20:13 rsbivand * ChangeLog, inst/ChangeLog: adding some cluster awareness 2010-03-19 20:12 rsbivand * DESCRIPTION, NAMESPACE, R/EBI.R, R/aple.mc.R, R/geary.R, R/impacts.R, R/moran.R, R/sp.mantel.R, R/spChkOption.R, man/EBImoran.mc.Rd, man/aple.mc.Rd, man/geary.mc.Rd, man/localmoran.exact.Rd, man/moran.mc.Rd, man/set.spChkOption.Rd, man/sp.mantel.mc.Rd: adding some cluster awareness 2010-03-18 19:21 rsbivand * ChangeLog, inst/ChangeLog: modularising ML code, adding Jacobian methods 2010-03-18 19:20 rsbivand * DESCRIPTION, R/error.hessian.R, R/error.spsarlm.R, R/jacobian.R, R/lag.hessian.R, R/lag.spsarlm.R, man/boston.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/used.cars.Rd, src/init.c: modularising ML code, adding Jacobian methods 2010-03-17 21:00 rsbivand * DESCRIPTION, R/error.hessian.R, R/error.spsarlm.R, R/impacts.R, R/lag.hessian.R, R/lag.spsarlm.R, man/lagsarlm.Rd, src/card.c, src/dfs_ncomp.c, src/dnn.c, src/gabriel.c, src/gearyw.c, src/gsymtest.c, src/init.c, src/insiders.c, src/jc.c, src/knn.c, src/lagw.c, src/listw2Matrix.c, src/listw2sn.c, src/ml_sse.c, src/nbdists.c, src/polypoly.c, src/relative.c, src/skater.c, src/soigraph.c, src/spdep.h, src/symtest.c: sse C code; impacts cluster 2010-03-16 13:46 rsbivand * ChangeLog, inst/ChangeLog: timing and other changes to lag, error and impact calculations 2010-03-16 13:46 rsbivand * ChangeLog, inst/ChangeLog: timing and other changes to lag, error and impact calculations 2010-03-16 13:36 rsbivand * R/AAA.R, R/error.hessian.R, R/error.spsarlm.R, R/impacts.R, R/lag.hessian.R, R/lag.spsarlm.R, R/nb2mat.R, R/summary.spsarlm.R, data/elect80.rda, man/elect80.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/stsls.Rd, src/Makevars, src/ml_sse.c: timing and other changes to lag, error and impact calculations 2010-03-13 11:16 rsbivand * ChangeLog, inst/ChangeLog: tidy stsls 2010-03-13 11:15 rsbivand * R/s2sls., R/s2sls.R, man/stsls.Rd: tidy stsls 2010-03-12 22:12 gpiras * man/stsls.Rd: add stsls help including the new argument W2X 2010-03-12 22:11 gpiras * man/stsls.Rd: remove stsls help 2010-03-12 22:07 gpiras * R/s2sls.: Add the argument W2X to stsls 2010-03-12 22:05 gpiras * R/s2sls.R: remove stsls 2010-03-12 15:31 rsbivand * DESCRIPTION, R/AAA.R, R/EBI.R, R/ME.R, R/SpatialFiltering.R, R/autocov.R, R/diffnb.R, R/eigenw.R, R/error.spsarlm.R, R/geary.R, R/globalG.R, R/impacts.R, R/jc.R, R/kpgm_new.R, R/lag.spsarlm.R, R/lm.LMtests.R, R/lm.morantest.R, R/localG.R, R/localmoran.R, R/localmoran.exact.R, R/mess.R, R/moran.R, R/moran.exact.R, R/moran.exact.alt.R, R/moran.plot.R, R/mtlocalmoran.R, R/mtmoran.R, R/nb2listw.R, R/nb2mat.R, R/s2sls.R, R/sarlm.R, R/sp.correlogram.R, R/sp.mantel.R, R/spChkOption.R, R/spautolm.R, R/subset.nb.R, R/summary.nb.R, R/utils.R, R/weights-utils.R, man/EBImoran.mc.Rd, man/EBlocal.Rd, man/GMerrorsar.Rd, man/ME.Rd, man/SpatialFiltering.Rd, man/autocov_dist.Rd, man/diffnb.Rd, man/eigenw.Rd, man/errorsarlm.Rd, man/geary.Rd, man/geary.mc.Rd, man/geary.test.Rd, man/globalG.test.Rd, man/joincount.test.Rd, man/lag.listw.Rd, man/lagmess.Rd, man/lagsarlm.Rd, man/lm.LMtests.Rd, man/lm.morantest.Rd, man/lm.morantest.exact.Rd, man/lm.morantest.sad.Rd, man/localG.Rd, man/localmoran.Rd, man/localmoran.exact.Rd, man/localmoran.sad.Rd, man/moran.Rd, man/moran.mc.Rd, man/moran.plot.Rd, man/moran.test.Rd, man/nb2listw.Rd, man/nb2mat.Rd, man/predict.sarlm.Rd, man/set.spChkOption.Rd, man/sp.correlogram.Rd, man/sp.mantel.mc.Rd, man/spautolm.Rd, man/spweights.constants.Rd, man/stsls.Rd, man/subset.listw.Rd, man/summary.nb.Rd, man/testnb.Rd: moving verbose/quiet and zero.policy to global options 2010-02-24 18:29 rsbivand * ChangeLog, inst/ChangeLog: errorsarlm resvar bugfix 2010-02-24 18:29 rsbivand * DESCRIPTION, R/error.spsarlm.R: errorsarlm resvar bugfix 2010-02-03 13:49 rsbivand * ChangeLog, inst/ChangeLog: adding MESS function 2010-02-03 13:47 rsbivand * DESCRIPTION, INDEX, NAMESPACE, R/mess.R, R/summary.spsarlm.R, man/lagmess.Rd: adding MESS function 2010-01-28 12:24 rsbivand * DESCRIPTION, R/globalG.R, man/globalG.test.Rd, man/skater.Rd, man/ssw.Rd: global G warning not error for non-binary weights 2009-12-15 17:16 rsbivand * ChangeLog, inst/ChangeLog: convert impacts to method, provide sarlm and stsls methods 2009-12-15 17:16 rsbivand * R/impacts.R: convert impacts to method, provide sarlm and stsls methods 2009-12-15 08:40 rsbivand * ChangeLog, inst/ChangeLog: adding Hausman test for GMerrorsar 2009-12-15 08:39 rsbivand * NAMESPACE, R/kpgm_new.R, R/summary.spsarlm.R, man/GMerrorsar.Rd, man/LR.sarlm.Rd, man/errorsarlm.Rd, man/summary.sarlm.Rd: adding Hausman test for GMerrorsar 2009-12-14 20:01 rsbivand * ChangeLog, inst/ChangeLog: convert impacts to method, provide sarlm and stsls methods 2009-12-14 19:59 rsbivand * DESCRIPTION, NAMESPACE, R/impacts.R, R/s2sls.R, man/impacts.sarlm.Rd, man/lagsarlm.Rd: convert impacts to method, provide sarlm and stsls methods 2009-12-12 09:51 rsbivand * ChangeLog, inst/ChangeLog: updating stsls 2009-12-12 09:50 rsbivand * DESCRIPTION, NAMESPACE, R/s2sls.R, man/stsls.Rd: updating stsls 2009-11-26 14:32 rsbivand * ChangeLog, inst/ChangeLog: NAMESPACE cleaning 2009-11-26 14:31 rsbivand * ChangeLog, DESCRIPTION, NAMESPACE, inst/ChangeLog: NAMESPACE cleaning 2009-11-26 08:07 rsbivand * ChangeLog, inst/ChangeLog: nb2WB no neighbours fix 2009-11-26 08:07 rsbivand * man/nb2lines.Rd: nb2WB no neighbours fix 2009-11-26 07:43 rsbivand * ChangeLog, inst/ChangeLog: nb2WB no neighbours fix 2009-11-26 07:42 rsbivand * DESCRIPTION, R/nb2listw.R: nb2WB no neighbours fix 2009-11-03 22:35 rsbivand * ChangeLog, inst/ChangeLog: replacing tripack with deldir 2009-11-03 22:35 rsbivand * DESCRIPTION, R/nblag.R, R/tri2nb.R, man/tri2nb.Rd: replacing tripack with deldir 2009-11-03 21:18 rsbivand * ChangeLog, inst/ChangeLog: errorsarlm no-intercept problem 2009-11-03 21:17 rsbivand * DESCRIPTION, R/error.spsarlm.R: errorsarlm no-intercept problem 2009-11-01 10:05 rsbivand * inst/ChangeLog: fix for writing GWT; impact Q components 2009-11-01 10:04 rsbivand * ChangeLog: fix for writing GWT; impact Q components 2009-11-01 10:01 rsbivand * DESCRIPTION, R/impacts.R, R/read.gwt2nb.R, man/impacts.sarlm.Rd, man/invIrM.Rd, man/joincount.multi.Rd, man/nb2blocknb.Rd, man/read.gwt2nb.Rd: fix for writing GWT; impact Q components 2009-10-19 17:22 rsbivand * ChangeLog, inst/ChangeLog: tidy 2009-10-19 17:21 rsbivand * R/error.hessian.R, R/summary.spsarlm.R: tidy 2009-10-17 19:38 rsbivand * ChangeLog, inst/ChangeLog: move errorsarlm/Matrix to Cholesky 2009-10-17 19:37 rsbivand * R/error.hessian.R, R/error.spsarlm.R: move errorsarlm/Matrix to Cholesky 2009-10-16 15:42 rsbivand * ChangeLog, inst/ChangeLog: make Hausman test optional in summary.sarlm 2009-10-16 15:40 rsbivand * DESCRIPTION, R/nb2mat.R, R/summary.spsarlm.R, man/summary.sarlm.Rd: make Hausman test optional in summary.sarlm 2009-10-12 19:22 rsbivand * ChangeLog, inst/ChangeLog: reduce check time use by thinning examples 2009-10-12 19:21 rsbivand * DESCRIPTION, inst/doc/CO69.Rnw, inst/doc/backstore/boot_res.RData: reduce check time use by thinning examples 2009-10-12 18:57 rsbivand * ChangeLog, inst/ChangeLog: reduce check time use by thinning examples 2009-10-12 18:55 rsbivand * DESCRIPTION, inst/doc/CO69.Rnw, inst/doc/backstore, inst/doc/backstore/boot_res.RData, man/ME.Rd, man/aple.mc.Rd, man/aple.plot.Rd, man/impacts.sarlm.Rd, man/joincount.multi.Rd, man/spautolm.Rd: reduce check time use by thinning examples 2009-10-12 11:08 rsbivand * ChangeLog, inst/ChangeLog: bug fix in trW for MC method 2009-10-12 11:02 rsbivand * DESCRIPTION, R/impacts.R, man/trW.Rd: bug fix in trW for MC method 2009-10-06 19:19 rsbivand * INDEX, man/GMerrorsar.Rd: tidy 2009-09-25 12:55 rsbivand * ChangeLog, inst/ChangeLog: lambda standard error for large data sets 2009-09-25 12:55 rsbivand * DESCRIPTION, R/error.spsarlm.R, R/lag.spsarlm.R, man/errorsarlm.Rd, man/lagsarlm.Rd: lambda standard error for large data sets 2009-09-25 12:43 rsbivand * ChangeLog, inst/ChangeLog: lambda standard error for large data sets 2009-09-25 12:42 rsbivand * ChangeLog, inst/ChangeLog: lambda standard error for large data sets 2009-09-25 12:42 rsbivand * R/error.hessian.R: lambda standard error for large data sets 2009-09-24 19:21 rsbivand * ChangeLog, inst/ChangeLog: lambda standard error for large data sets 2009-09-24 19:20 rsbivand * man/impacts.sarlm.Rd: lambda standard error for large data sets 2009-09-24 19:09 rsbivand * ChangeLog, inst/ChangeLog: lambda standard error for large data sets 2009-09-24 19:04 rsbivand * R/error.spsarlm.R, R/lag.spsarlm.R, R/spautolm.R, R/summary.spsarlm.R, man/errorsarlm.Rd, man/lagsarlm.Rd: lambda standard error for large data sets 2009-09-24 14:54 rsbivand * DESCRIPTION, R/error.spsarlm.R, man/errorsarlm.Rd, man/invIrM.Rd: lambda standard error for large data sets 2009-09-24 08:46 rsbivand * DESCRIPTION, NAMESPACE, R/error.spsarlm.R, R/nb2mat.R, R/summary.spsarlm.R, man/LR.sarlm.Rd, man/errorsarlm.Rd, man/invIrM.Rd: spatial Hausman for large data sets 2009-09-23 07:32 rsbivand * ChangeLog, inst/ChangeLog: added spatial Hausman test for error model 2009-09-23 07:31 rsbivand * DESCRIPTION, NAMESPACE, R/error.spsarlm.R, R/summary.spsarlm.R, man/LR.sarlm.Rd, man/summary.sarlm.Rd: added spatial Hausman test for error model 2009-09-22 16:56 rsbivand * ChangeLog, inst/ChangeLog: fix no intercept bug 2009-09-22 16:55 rsbivand * R/impacts.R: fix no intercept bug 2009-09-22 09:18 rsbivand * man/lagsarlm.Rd: mixed approximate/asymptotic Hessian 2009-09-22 08:38 rsbivand * DESCRIPTION, R/impacts.R, R/lag.hessian.R, R/lag.spsarlm.R, man/impacts.sarlm.Rd, man/lagsarlm.Rd: mixed approximate/asymptotic Hessian 2009-09-20 18:35 rsbivand * ChangeLog, inst/ChangeLog: mixed approximate/asymptotic Hessian 2009-09-20 18:34 rsbivand * DESCRIPTION, R/lag.spsarlm.R, R/summary.spsarlm.R, man/summary.sarlm.Rd: mixed approximate/asymptotic Hessian 2009-09-19 19:49 rsbivand * ChangeLog, inst/ChangeLog: add house data set 2009-09-19 19:48 rsbivand * man/impacts.sarlm.Rd, man/lagsarlm.Rd: add house data set 2009-09-19 19:18 rsbivand * ChangeLog, inst/ChangeLog: add house data set 2009-09-19 19:16 rsbivand * data/house.RData, man/house.Rd: add house data set 2009-09-19 18:45 rsbivand * ChangeLog, inst/ChangeLog: mixed approximate/asymptotic Hessian 2009-09-19 18:44 rsbivand * man/lagsarlm.Rd: mixed approximate/asymptotic Hessian 2009-09-19 16:17 rsbivand * ChangeLog, inst/ChangeLog: mixed approximate/asymptotic Hessian 2009-09-19 16:15 rsbivand * DESCRIPTION, R/error.spsarlm.R, R/lag.hessian.R, R/lag.spsarlm.R, R/summary.spsarlm.R, man/as_dgRMatrix_listw.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/summary.sarlm.Rd: mixed approximate/asymptotic Hessian 2009-09-14 14:06 rsbivand * R/summary.spsarlm.R: impacts for lag and mixed spatial regressions 2009-09-14 13:31 rsbivand * R/summary.spsarlm.R: impacts for lag and mixed spatial regressions 2009-09-14 13:10 rsbivand * R/summary.spsarlm.R: impacts for lag and mixed spatial regressions 2009-09-14 12:32 rsbivand * R/lag.spsarlm.R, R/summary.spsarlm.R, man/lagsarlm.Rd: impacts for lag and mixed spatial regressions 2009-09-14 08:26 rsbivand * ChangeLog, inst/ChangeLog: impacts for lag and mixed spatial regressions 2009-09-14 08:24 rsbivand * DESCRIPTION, R/lag.spsarlm.R, R/summary.spsarlm.R, man/impacts.sarlm.Rd, man/lagsarlm.Rd: impacts for lag and mixed spatial regressions 2009-09-13 19:42 rsbivand * R/error.spsarlm.R, R/kpgm_new.R, R/lag.hessian.R, R/lag.spsarlm.R, R/spautolm.R, man/as_dgRMatrix_listw.Rd, man/impacts.sarlm.Rd: impacts for lag and mixed spatial regressions 2009-09-13 17:42 rsbivand * R/impacts.R, R/lag.hessian.R, R/lag.spsarlm.R, man/impacts.sarlm.Rd, man/lagsarlm.Rd: impacts for lag and mixed spatial regressions 2009-09-12 21:15 rsbivand * DESCRIPTION, R/impacts.R, R/lag.hessian.R, R/lag.spsarlm.R, man/impacts.sarlm.Rd, man/lagsarlm.Rd: impacts for lag and mixed spatial regressions 2009-09-12 11:54 rsbivand * ChangeLog, inst/ChangeLog: impacts for lag and mixed spatial regressions 2009-09-12 11:52 rsbivand * NAMESPACE, R/impacts.R, R/lag.spsarlm.R, man/impacts.sarlm.Rd, man/trW.Rd: impacts for lag and mixed spatial regressions 2009-09-11 19:45 rsbivand * DESCRIPTION, NAMESPACE, R/impacts.R, R/lag.spsarlm.R: impacts for lag and mixed spatial regressions 2009-09-06 10:04 rsbivand * ChangeLog, inst/ChangeLog: fix bugs in residuals.spautolm for non-NULL na.act 2009-09-06 10:02 rsbivand * ChangeLog, R/error.spsarlm.R, R/lag.spsarlm.R, R/spautolm.R, man/errorsarlm.Rd, man/lagsarlm.Rd, man/spautolm.Rd: fix bugs in residuals.spautolm for non-NULL na.act 2009-08-17 13:26 rsbivand * DESCRIPTION, inst/doc/00Index.dcf, inst/doc/CO69.Rnw, inst/doc/sids.Rnw, inst/etc/misc/geary_eire.txt, inst/etc/misc/raw_grass_borders.RData, inst/etc/misc/unstand_sn.txt, man/lm.morantest.sad.Rd, man/localmoran.sad.Rd: adding Cliff & Ord 1969 vignette 2009-08-09 17:47 rsbivand * inst/ChangeLog: speedup for make.sym.nb when all observations have neighbours 2009-08-09 17:47 rsbivand * ChangeLog: speedup for make.sym.nb when all observations have neighbours 2009-08-09 14:39 rsbivand * DESCRIPTION, NAMESPACE, R/weights-utils.R, man/testnb.Rd: speedup for make.sym.nb when all observations have neighbours 2009-06-29 12:32 rsbivand * ChangeLog, inst/ChangeLog: aple similarity check override 2009-06-29 12:30 rsbivand * ChangeLog, R/aple.R: aple similarity check override 2009-06-29 12:26 rsbivand * R/aple.R, R/aple.mc.R, R/apleplot.R, man/aple.Rd, man/aple.mc.Rd, man/aple.plot.Rd, man/moran.test.Rd: Geary reversal 2009-06-09 16:36 rsbivand * R/geary.R: Geary's C standard deviate 2009-06-09 16:26 rsbivand * R/geary.R, man/geary.test.Rd: Geary's C standard deviate 2009-06-09 14:41 rsbivand * DESCRIPTION, R/geary.R, man/geary.test.Rd: Geary's C standard deviate 2009-04-27 19:28 rsbivand * R/sarlm.R: predict sarlm details 2009-02-27 12:10 rsbivand * R/moran.exact.R, R/mtmoran.R: first zero eiegenvalue in lm.morantest.* 2009-01-21 12:24 rsbivand * ChangeLog, inst/ChangeLog: gabriel/relative memory overruns; new parser help file changes 2009-01-21 10:31 rsbivand * ChangeLog, DESCRIPTION, R/gabrielneigh.R, R/relneigh.R, inst/ChangeLog, man/GMerrorsar.Rd, man/bhicv.Rd, man/eigenw.Rd, man/errorsarlm.Rd, man/graphneigh.Rd, man/lagsarlm.Rd, man/listw2sn.Rd, man/lm.LMtests.Rd, man/nblag.Rd, man/spautolm.Rd, src/gabriel.c, src/relative.c: gabriel/relative memory overruns; new parser help file changes 2009-01-02 19:08 rsbivand * ChangeLog, R/utils.R, man/lag.listw.Rd, src/lagw.c: fix NAs in lag.listw 2008-11-25 20:29 rsbivand * DESCRIPTION, R/localmoran.exact.R, R/moran.exact.R, man/lm.morantest.exact.Rd, man/localmoran.exact.Rd: substitute Normal for exact for out of domain II 2008-11-23 02:02 rsbivand * DESCRIPTION, R/moran.exact.R, R/spautolm.R, R/weights-utils.R: SMA revisions 2008-11-19 22:54 rsbivand * DESCRIPTION, R/kpgm_new.R, man/GMerrorsar.Rd: GM revisions 2008-11-10 20:02 rsbivand * R/prunecost.R: fix drop bug in ssw 2008-11-10 18:21 rsbivand * DESCRIPTION: fix drop bug in ssw 2008-11-10 18:18 rsbivand * R/prunecost.R: fix drop bug in ssw 2008-10-25 15:34 rsbivand * ChangeLog, inst/ChangeLog: changelog 2008-10-24 11:16 rsbivand * DESCRIPTION, NAMESPACE, R/apleplot.R, man/aple.plot.Rd: local aple 2008-10-12 14:13 rsbivand * ChangeLog, inst/ChangeLog: changelog 2008-10-12 14:12 rsbivand * ChangeLog, DESCRIPTION, INDEX, NAMESPACE, R/apleplot.R, inst/ChangeLog, man/aple.Rd, man/aple.plot.Rd: adding aple 2008-10-11 12:19 rsbivand * R/aple.R, R/aple.mc.R, data/wheat.txt, inst/etc/shapes/wheat.dbf, inst/etc/shapes/wheat.shp, inst/etc/shapes/wheat.shx, man/aple.Rd, man/aple.mc.Rd, man/wheat.Rd: adding aple 2008-10-11 12:17 rsbivand * ChangeLog, DESCRIPTION, INDEX, NAMESPACE, inst/ChangeLog: adding aple 2008-10-03 06:20 rsbivand * man/aggregate.nb.Rd: aggregate.nb, edit.nb 2008-10-02 21:17 rsbivand * ChangeLog, inst/ChangeLog: merging SKATER regionalisation functions 2008-10-02 21:16 rsbivand * ChangeLog, inst/ChangeLog: merging SKATER regionalisation functions 2008-10-02 21:14 rsbivand * R/mstree.R, R/nbcosts.R, R/plot.mst.R, R/plot.skater.R, R/prunecost.R, R/prunemst.R, R/skater.R, inst/etc/shapes/bhicv.dbf, inst/etc/shapes/bhicv.shp, inst/etc/shapes/bhicv.shx, man/bhicv.Rd, man/mstree.Rd, man/nbcosts.Rd, man/plot.mst.Rd, man/plot.skater.Rd, man/prunecost.Rd, man/prunemst.Rd, man/skater.Rd, man/ssw.Rd, src/skater.c: merging SKATER regionalisation functions 2008-10-02 21:09 rsbivand * ChangeLog, DESCRIPTION, NAMESPACE, R/edit.nb.R, R/plot.nb.R, R/weights-utils.R, inst/ChangeLog, man/plot.nb.Rd: aggregate.nb, edit.nb 2008-09-18 12:21 rsbivand * DESCRIPTION, inst/doc/sids.Rnw: vignette 2008-09-18 07:18 rsbivand * DESCRIPTION, R/nb2mat.R, inst/doc/sids.Rnw: vignette (FIXME), double mat2listw 2008-08-14 12:55 rsbivand * inst/doc/sids.Rnw, man/spautolm.Rd: mdata in spautolm help file 2008-06-27 09:56 rsbivand * ChangeLog, inst/ChangeLog: truncation point in exact Moran 2008-06-27 09:40 rsbivand * DESCRIPTION, R/localmoran.exact.R, R/moran.exact.R, R/moran.exact.alt.R, man/lm.morantest.exact.Rd, man/localmoran.exact.Rd: truncation point in exact Moran 2008-06-19 04:08 rsbivand * man/SpatialFiltering.Rd: link 2008-06-03 13:56 rsbivand * DESCRIPTION, R/EBI.R, R/droplinks.R, R/edit.nb.R, R/localmoran.exact.R, R/moran.exact.alt.R, R/mtlocalmoran.R, R/nb2listw.R, R/p.adjustSP.R, R/read.gal.R, R/subset.nb.R: changed class test to inherits for nb 2008-05-25 21:09 rsbivand * R/nb2listw.R: tidy spam similar 2008-05-24 19:56 rsbivand * DESCRIPTION, R/error.spsarlm.R, R/kpgm_new.R, R/lag.spsarlm.R, R/listw2Matrix.R, R/listw2sn.R, R/nb2listw.R, R/spautolm.R: listw2U and similar.listw in Matrix and spam 2008-05-24 09:06 rsbivand * R/listw2Matrix.R: first notes on listw2U in Matrix 2008-05-14 20:24 rsbivand * inst/ChangeLog: removed try() on Matrix logdet; arg to localmoran 2008-05-14 20:24 rsbivand * ChangeLog: removed try() on Matrix logdet; arg to localmoran 2008-05-14 20:21 rsbivand * svn2cl.xsl: removed try() on Matrix logdet; arg to localmoran 2008-05-14 20:20 rsbivand * inst/ChangeLog: removed try() on Matrix logdet; arg to localmoran 2008-05-14 20:19 rsbivand * inst/ChangeLog: removed try() on Matrix logdet; arg to localmoran 2008-05-14 20:18 rsbivand * ChangeLog, Changelog, DESCRIPTION, R/localmoran.R, man/localmoran.Rd, oChangelog: removed try() on Matrix logdet; arg to localmoran 2008-04-27 16:57 rsbivand * DESCRIPTION, R/spautolm.R, man/spautolm.Rd: 2008-04-26 20:46 rsbivand * Changelog, DESCRIPTION, INDEX, LICENCE, NAMESPACE, data, inst, src: 2008-04-26 20:45 rsbivand * man/COL.OLD.Rd, man/EBImoran.mc.Rd, man/EBest.Rd, man/EBlocal.Rd, man/GMerrorsar.Rd, man/LR.sarlm.Rd, man/ME.Rd, man/NY_data.Rd, man/SpatialFiltering.Rd, man/afcon.Rd, man/airdist.Rd, man/anova.sarlm.Rd, man/as_dgRMatrix_listw.Rd, man/auckland.Rd, man/autocov_dist.Rd, man/baltimore.Rd, man/boston.Rd, man/bptest.sarlm.Rd, man/card.Rd, man/cell2nb.Rd, man/choynowski.Rd, man/columbus.Rd, man/compon.Rd, man/diffnb.Rd, man/dnearneigh.Rd, man/droplinks.Rd, man/edit.nb.Rd, man/eigenw.Rd, man/eire.Rd, man/errorsarlm.Rd, man/geary.Rd, man/geary.mc.Rd, man/geary.test.Rd, man/getisord.Rd, man/globalG.test.Rd, man/graphneigh.Rd, man/hopkins.Rd, man/huddersfield.Rd, man/include.self.Rd, man/invIrM.Rd, man/joincount.mc.Rd, man/joincount.multi.Rd, man/joincount.test.Rd, man/knearneigh.Rd, man/knn2nb.Rd, man/lag.listw.Rd, man/lagsarlm.Rd, man/listw2sn.Rd, man/lm.LMtests.Rd, man/lm.morantest.Rd, man/lm.morantest.exact.Rd, man/lm.morantest.sad.Rd, man/localG.Rd, man/localmoran.Rd, man/localmoran.exact.Rd, man/localmoran.sad.Rd, man/mat2listw.Rd, man/moran.Rd, man/moran.mc.Rd, man/moran.plot.Rd, man/moran.test.Rd, man/nb2WB.Rd, man/nb2blocknb.Rd, man/nb2lines.Rd, man/nb2listw.Rd, man/nb2mat.Rd, man/nbdists.Rd, man/nblag.Rd, man/nboperations.Rd, man/nc.sids.Rd, man/p.adjustSP.Rd, man/plot.nb.Rd, man/poly2nb.Rd, man/predict.sarlm.Rd, man/probmap.Rd, man/read.gal.Rd, man/read.gwt2nb.Rd, man/residuals.sarlm.Rd, man/set.spChkOption.Rd, man/similar.listw.Rd, man/sp.correlogram.Rd, man/sp.mantel.mc.Rd, man/spautolm.Rd, man/spdep.Rd, man/spweights.constants.Rd, man/stsls.Rd, man/subset.listw.Rd, man/subset.nb.Rd, man/summary.nb.Rd, man/summary.sarlm.Rd, man/testnb.Rd, man/tri2nb.Rd, man/used.cars.Rd, man/write.nb.gal.Rd: 2008-04-26 19:50 rsbivand * R/AAA.R, R/EBI.R, R/LR.spsarlm.R, R/ME.R, R/SpatialFiltering.R, R/airdist.R, R/anova.sarlm.R, R/autocov.R, R/bptest.sarlm.R, R/card.R, R/cellneighbours.R, R/choynowski.R, R/components.R, R/diffnb.R, R/dnearneigh.R, R/droplinks.R, R/edit.nb.R, R/eigenw.R, R/error.spsarlm.R, R/gabrielneigh.R, R/geary.R, R/globalG.R, R/graph2nb.R, R/jc.R, R/knearneigh.R, R/knn2nb.R, R/kpgm_new.R, R/lag.spsarlm.R, R/listw2Matrix.R, R/listw2sn.R, R/lm.LMtests.R, R/lm.morantest.R, R/localG.R, R/localmoran.R, R/localmoran.exact.R, R/moran.R, R/moran.exact.R, R/moran.exact.alt.R, R/moran.plot.R, R/mtlocalmoran.R, R/mtmoran.R, R/nb2blocknb.R, R/nb2lines.R, R/nb2listw.R, R/nb2mat.R, R/nbdists.R, R/nblag.R, R/nboperations.R, R/p.adjustSP.R, R/plot.nb.R, R/poly2nb.R, R/read.gal.R, R/read.gwt2nb.R, R/relneigh.R, R/s2sls.R, R/sarlm.R, R/soi.R, R/sp.correlogram.R, R/sp.mantel.R, R/spChkOption.R, R/spautolm.R, R/subset.nb.R, R/summary.nb.R, R/summary.spsarlm.R, R/tri2nb.R, R/utils.R, R/weights-utils.R: 2007-06-25 10:38 stefan7th * ., R, man: Email in Readme changed 2008-04-22 09:17 rsbivand * man/: errorsarlm.Rd, globalG.test.Rd, lagsarlm.Rd: final tidy 2008-03-25 13:21 rsbivand * ChangeLog, R/lag.spsarlm.R, inst/ChangeLog, man/lagsarlm.Rd: Matrix 2008-03-25 12:28 rsbivand * DESCRIPTION, R/error.spsarlm.R, R/kpgm_new.R, R/lag.spsarlm.R, R/spautolm.R, man/GMerrorsar.Rd, man/as_dgRMatrix_listw.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/similar.listw.Rd, man/spautolm.Rd: Matrix 2008-03-25 10:41 rsbivand * R/spautolm.R, man/spautolm.Rd: Matrix 2008-03-23 01:42 rsbivand * R/spautolm.R, man/spautolm.Rd: Matrix 2008-03-18 16:19 rsbivand * DESCRIPTION, R/ME.R, R/error.spsarlm.R, R/kpgm_new.R, R/lag.spsarlm.R, R/spautolm.R, man/GMerrorsar.Rd, man/as_dgRMatrix_listw.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/nc.sids.Rd, man/spautolm.Rd: Matrix 2008-03-15 14:15 rsbivand * DESCRIPTION, NAMESPACE, R/error.spsarlm.R, R/kpgm_new.R, R/lag.spsarlm.R, R/listw2Matrix.R, R/spautolm.R, man/as_dgRMatrix_listw.Rd: Matrix patch 2008-03-14 16:31 rsbivand * ChangeLog, DESCRIPTION, R/listw2Matrix.R, man/as_dgRMatrix_listw.Rd: Matrix 2008-03-13 14:11 rsbivand * ChangeLog, DESCRIPTION, R/error.spsarlm.R, R/kpgm_new.R, R/lag.spsarlm.R, R/listw2Matrix.R, R/spautolm.R, inst/ChangeLog, man/as_dgRMatrix_listw.Rd: Matrix coercion 2008-02-18 16:57 rsbivand * DESCRIPTION: release 2008-02-16 17:32 rsbivand * ChangeLog, R/kpgm_new.R, R/nb2listw.R, R/weights-utils.R, inst/ChangeLog, man/GMerrorsar.Rd, man/testnb.Rd, src/gsymtest.c: big symmetric fuzz 2008-02-09 13:41 rsbivand * DESCRIPTION, man/geary.mc.Rd, man/geary.test.Rd, man/globalG.test.Rd, man/joincount.multi.Rd, man/joincount.test.Rd, man/moran.test.Rd, man/spweights.constants.Rd: adjust n 2008-02-09 10:58 rsbivand * R/jc.R: n adjust 2008-02-09 10:51 rsbivand * R/: geary.R, globalG.R, jc.R, moran.R, utils.R: test warnings fix 2008-02-08 00:42 rsbivand * R/: EBI.R, geary.R, globalG.R, jc.R, lm.LMtests.R, lm.morantest.R, moran.R, moran.exact.R, mtmoran.R, sp.mantel.R: test warnings fix 2008-01-15 19:12 rsbivand * DESCRIPTION, R/mtmoran.R, man/lm.morantest.sad.Rd, man/localmoran.exact.Rd, man/localmoran.sad.Rd: power 2008-01-15 13:18 rsbivand * R/moran.exact.R, R/moran.exact.alt.R, R/mtlocalmoran.R, R/mtmoran.R, man/lm.morantest.exact.Rd: power 2008-01-11 21:37 rsbivand * ChangeLog, R/localmoran.exact.R, R/moran.exact.R, R/moran.exact.alt.R, R/mtlocalmoran.R, R/mtmoran.R, inst/ChangeLog: exact 2008-01-09 08:43 rsbivand * DESCRIPTION, R/moran.exact.R, R/poly2nb.R: more exact 2008-01-05 15:46 rsbivand * R/: AAA.R, ME.R, error.spsarlm.R, lag.spsarlm.R, spautolm.R: spam 2007-12-29 16:43 rsbivand * DESCRIPTION, NAMESPACE, R/AAA.R, R/zzz.R: spam 2007-12-28 17:48 rsbivand * DESCRIPTION, INDEX, NAMESPACE, R/anova.sarlm.R, R/error.spsarlm.R, R/kpgm_new.R, R/lag.spsarlm.R, R/listw2cs.R, R/listw2sn.R, R/spautolm.R, man/asMatrixCsrListw.Rd, man/as_dgRMatrix_listw.Rd, man/boston.Rd, man/eigenw.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/listw2sn.Rd, man/similar.listw.Rd, man/spautolm.Rd, ChangeLog, inst/ChangeLog: spam transition 2007-12-12 09:43 rsbivand * R/kpgm_new.R, man/GMerrorsar.Rd: vv 2007-12-11 17:11 rsbivand * R/spautolm.R, man/spautolm.Rd: llprof 2007-12-09 21:14 rsbivand * R/moran.exact.R, R/mtmoran.R, man/localmoran.exact.Rd: exact 2007-12-06 09:36 rsbivand * R/moran.exact.R, R/mtmoran.R, man/joincount.test.Rd, man/lm.morantest.exact.Rd, man/moran.exact.Rd, NAMESPACE: add exact 2007-11-30 19:34 rsbivand * R/localmoran.exact.R, R/moran.exact.R, R/moran.exact.alt.R, man/compon.Rd, man/graphneigh.Rd, man/moran.exact.Rd, man/nboperations.Rd: exact moran 2007-11-27 20:21 rsbivand * R/: moran.exact.alt.R, mtlocalmoran.R: add exact 2007-11-27 17:45 rsbivand * R/mtmoran.R, man/lm.morantest.sad.Rd: add exact 2007-11-27 17:19 rsbivand * R/: kpgm_new.R, mtmoran.R: add exact 2007-11-27 16:10 rsbivand * ChangeLog, DESCRIPTION, NAMESPACE, R/localmoran.exact.R, R/moran.exact.R, R/moran.exact.alt.R, R/mtlocalmoran.R, R/mtmoran.R, inst/ChangeLog, man/lm.morantest.sad.Rd, man/localmoran.exact.Rd, man/localmoran.sad.Rd, man/moran.exact.Rd: adding Moran exact 2007-11-01 10:45 rsbivand * ChangeLog, DESCRIPTION, R/SpatialFiltering.R, R/geary.R, R/moran.R, R/mtlocalmoran.R, R/mtmoran.R, R/sp.mantel.R, inst/ChangeLog, man/SpatialFiltering.Rd, man/bptest.sarlm.Rd, man/diffnb.Rd, man/geary.Rd, man/geary.mc.Rd, man/geary.test.Rd, man/globalG.test.Rd, man/joincount.test.Rd, man/lag.listw.Rd, man/moran.Rd, man/moran.mc.Rd, man/moran.test.Rd, man/plot.nb.Rd, man/sp.mantel.mc.Rd, man/spweights.constants.Rd: OSX issue 2007-10-09 10:32 rsbivand * DESCRIPTION, R/lm.LMtests.R, R/lm.morantest.R, R/spautolm.R, man/COL.OLD.Rd, man/afcon.Rd, man/auckland.Rd, man/boston.Rd, man/columbus.Rd, man/eire.Rd, man/getisord.Rd, man/lm.LMtests.Rd, man/lm.morantest.Rd, man/nc.sids.Rd, man/spautolm.Rd, man/used.cars.Rd: non_function 2007-07-25 10:50 rsbivand * DESCRIPTION, R/utils.R: lag.listw warning 2007-06-13 10:36 rsbivand * R/globalG.R: globalG 2007-06-12 15:38 rsbivand * R/nb2mat.R, man/spautolm.Rd: inherit in nb2mat 2007-06-11 10:05 rsbivand * DESCRIPTION: encoding 2007-06-10 22:35 rsbivand * DESCRIPTION, R/EBI.R, R/anova.sarlm.R, R/geary.R, R/jc.R, R/moran.R, R/nb2lines.R, R/sp.mantel.R, man/nb2lines.Rd, man/sp.mantel.mc.Rd, ChangeLog, inst/ChangeLog: SMA, moran.mc, nb.comp 2007-06-03 21:28 rsbivand * R/weights-utils.R: n.comp.nb and make.sym.nb fix 2007-05-16 09:23 rsbivand * DESCRIPTION, R/spautolm.R, man/spautolm.Rd: SMA 2007-05-15 09:42 rsbivand * R/ME.R, man/GMerrorsar.Rd, man/ME.Rd, man/SpatialFiltering.Rd, man/autocov_dist.Rd, man/errorsarlm.Rd, man/geary.mc.Rd, man/globalG.test.Rd, man/invIrM.Rd, man/joincount.mc.Rd, man/joincount.multi.Rd, man/joincount.test.Rd, man/lm.morantest.Rd, man/lm.morantest.sad.Rd, man/localmoran.Rd, man/localmoran.sad.Rd, man/moran.mc.Rd, man/moran.test.Rd, man/nb2blocknb.Rd, man/p.adjustSP.Rd, man/plot.nb.Rd, man/poly2nb.Rd, man/predict.sarlm.Rd, man/sp.correlogram.Rd, man/spautolm.Rd, man/stsls.Rd, man/summary.nb.Rd: line breaks 2007-03-26 22:37 rsbivand * R/SpatialFiltering.R: to 4.2 2007-03-26 15:43 rsbivand * DESCRIPTION, R/SpatialFiltering.R, R/nb2listw.R: to 4.2 2007-03-22 10:29 rsbivand * DESCRIPTION, INDEX, man/bptest.sarlm.Rd: status Matrix 2007-03-21 22:09 rsbivand * R/nb2mat.R, man/invIrM.Rd: status Matrix 2007-03-21 20:09 rsbivand * R/kpgm_new.R: status Matrix 2007-03-21 19:46 rsbivand * DESCRIPTION, R/error.spsarlm.R, R/lag.spsarlm.R, R/spautolm.R: status Matrix 2007-03-21 19:16 rsbivand * R/error.spsarlm.R, R/lag.spsarlm.R, R/spautolm.R, man/asMatrixCsrListw.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/spautolm.Rd: status Matrix 2007-03-21 18:20 rsbivand * DESCRIPTION, NAMESPACE, R/ME.R, R/error.spsarlm.R, R/lag.spsarlm.R, R/listw2cs.R, R/spautolm.R, man/listw2sn.Rd, man/similar.listw.Rd: status Matrix 2007-03-21 12:47 rsbivand * DESCRIPTION, R/kpgm_new.R, R/spautolm.R, man/asMatrixCsrListw.Rd, man/boston.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/spautolm.Rd: status Matrix 2007-02-12 18:46 rsbivand * inst/etc/weights/: columbus.gal, ncCC89.gal, ncCR85.gal: missing GAL files 2007-02-12 14:03 rsb * inst/etc/misc/: nc_xtra.dbf, nyadjwts.dbf, nydata.dbf: tidy 2007-02-12 13:56 rsb * DESCRIPTION, NAMESPACE, R/autocov.R, R/dnearneigh.R, R/error.spsarlm.R, R/knearneigh.R, R/nbdists.R, R/nblag.R, R/poly2nb.R, R/sarlm.R, R/summary.nb.R, data/oldcol.rda, inst/CHANGES, man/COL.OLD.Rd, man/EBImoran.mc.Rd, man/EBest.Rd, man/EBlocal.Rd, man/GMerrorsar.Rd, man/LR.sarlm.Rd, man/ME.Rd, man/NY_data.Rd, man/SpatialFiltering.Rd, man/afcon.Rd, man/anova.sarlm.Rd, man/as_dgRMatrix_listw.Rd, man/auckland.Rd, man/autocov_dist.Rd, man/bptest.sarlm.Rd, man/card.Rd, man/choynowski.Rd, man/columbus.Rd, man/compon.Rd, man/diffnb.Rd, man/dnearneigh.Rd, man/eire.Rd, man/geary.mc.Rd, man/geary.test.Rd, man/globalG.test.Rd, man/graphneigh.Rd, man/include.self.Rd, man/joincount.test.Rd, man/knearneigh.Rd, man/knn2nb.Rd, man/listw2sn.Rd, man/lm.morantest.Rd, man/lm.morantest.sad.Rd, man/localG.Rd, man/localmoran.Rd, man/localmoran.sad.Rd, man/mat2listw.Rd, man/moran.Rd, man/moran.mc.Rd, man/moran.plot.Rd, man/moran.test.Rd, man/nb2WB.Rd, man/nb2lines.Rd, man/nb2listw.Rd, man/nb2mat.Rd, man/nbdists.Rd, man/nblag.Rd, man/nboperations.Rd, man/nc.sids.Rd, man/p.adjustSP.Rd, man/plot.nb.Rd, man/poly2nb.Rd, man/probmap.Rd, man/read.gwt2nb.Rd, man/residuals.sarlm.Rd, man/sp.correlogram.Rd, man/sp.mantel.mc.Rd, man/spautolm.Rd, man/subset.listw.Rd, man/subset.nb.Rd, man/summary.nb.Rd, man/testnb.Rd, man/tri2nb.Rd, man/used.cars.Rd, man/write.nb.gal.Rd, inst/etc/shapes/auckland.dbf, inst/etc/shapes/auckland.shp, inst/etc/shapes/auckland.shx, inst/etc/shapes/columbus.dbf, inst/etc/shapes/columbus.shp, inst/etc/shapes/columbus.shx, inst/etc/shapes/eire.dbf, inst/etc/shapes/eire.shp, inst/etc/shapes/eire.shx, inst/etc/shapes/sids.dbf, inst/etc/shapes/sids.shp, inst/etc/shapes/sids.shx: tidy 2007-02-07 22:07 rsb * man/similar.listw.Rd: status for export; Matrix 2007-02-07 21:58 rsb * R/listw2Matrix.R, man/as_dgRMatrix_listw.Rd, man/nb2WB.Rd, src/listw2Matrix.c: status for export; Matrix 2007-02-07 20:35 rsb * DESCRIPTION, INDEX, NAMESPACE, R/airdist.R, R/card.R, R/cellneighbours.R, R/diffnb.R, R/dnearneigh.R, R/droplinks.R, R/edit.nb.R, R/error.spsarlm.R, R/gabrielneigh.R, R/geary.R, R/graph2nb.R, R/jc.R, R/knearneigh.R, R/knn2nb.R, R/lag.spsarlm.R, R/listw2cs.R, R/listw2sn.R, R/lm.LMtests.R, R/lm.morantest.R, R/localG.R, R/localmoran.R, R/mtlocalmoran.R, R/nb2blocknb.R, R/nb2listw.R, R/nb2mat.R, R/nbdists.R, R/nblag.R, R/nboperations.R, R/poly2nb.R, R/read.gal.R, R/read.gwt2nb.R, R/relneigh.R, R/soi.R, R/spautolm.R, R/subset.nb.R, R/summary.spsarlm.R, R/tri2nb.R, R/utils.R, R/weights-utils.R, inst/CHANGES, man/EBImoran.mc.Rd, man/errorsarlm.Rd, man/joincount.multi.Rd, man/joincount.test.Rd, man/lagsarlm.Rd, man/lm.LMtests.Rd, man/localmoran.sad.Rd, man/spautolm.Rd, man/spweights.constants.Rd: status for export; Matrix 2006-03-10 13:55 rsb * R/ME.R, R/s2sls.R, data/huddersfield.rda, man/ME.Rd, man/huddersfield.Rd, man/stsls.Rd: at 3-22 2006-03-10 13:49 rsb * DESCRIPTION, NAMESPACE, R/EBI.R, R/lm.LMtests.R, inst/CHANGES, man/EBest.Rd, man/GMerrorsar.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/lm.LMtests.Rd, man/predict.sarlm.Rd, man/spautolm.Rd: at 3-22 2006-03-01 09:49 rsb * DESCRIPTION, INDEX, R/SpatialFiltering.R, R/error.spsarlm.R, R/jc.R, R/lag.spsarlm.R, R/sarlm.R, R/sp.correlogram.R, R/spautolm.R, data/auckland.rda, data/columbus.rda, data/eire.rda, data/nc.sids.rda, data/oldcol.rda, inst/CHANGES, man/SpatialFiltering.Rd, man/autocov_dist.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/lm.morantest.Rd, man/read.gal.Rd, man/sp.correlogram.Rd, man/spautolm.Rd: current 2005-12-14 21:39 rsb * NAMESPACE, R/SpatialFiltering.R, R/error.spsarlm.R, R/kpgm_new.R, R/spautolm.R: SpatialFiltering 2005-12-14 13:20 rsb * man/SpatialFiltering.Rd: SpatialFiltering 2005-12-14 12:53 rsb * DESCRIPTION, LICENCE, NAMESPACE, R/SpatialFiltering.R, inst/LICENCE, man/SpatialFiltering.Rd, inst/CHANGES: SpatialFiltering 2005-12-13 09:35 rsb * DESCRIPTION, LICENCE, inst/LICENCE: new functions 2005-12-13 09:23 rsb * R/autocov.R, R/choynowski.R, R/kpgm_new.R, R/nb2blocknb.R, R/nb2lines.R, R/p.adjustSP.R, R/spautolm.R, data/NY_data.rda, data/hopkins.rda, man/GMerrorsar.Rd, man/NY_data.Rd, man/asMatrixCsrListw.Rd, man/autocov_dist.Rd, man/choynowski.Rd, man/hopkins.Rd, man/joincount.multi.Rd, man/nb2blocknb.Rd, man/nb2lines.Rd, man/p.adjustSP.Rd, man/spautolm.Rd, src/gearyw.c, src/gsymtest.c, src/insiders.c, src/polypoly.c: new functions 2005-12-13 09:10 rsb * DESCRIPTION, NAMESPACE, R/bptest.sarlm.R, R/lm.morantest.R, R/mtmoran.R, R/poly2nb.R, man/bptest.sarlm.Rd, man/poly2nb.Rd: new functions 2005-11-29 15:50 rsb * DESCRIPTION, INDEX, NAMESPACE, R/anova.sarlm.R, R/diffnb.R, R/droplinks.R, R/error.spsarlm.R, R/gabrielneigh.R, R/jc.R, R/lag.spsarlm.R, R/listw2cs.R, R/lm.LMtests.R, R/lm.morantest.R, R/moran.R, R/mtlocalmoran.R, R/mtmoran.R, R/nb2listw.R, R/plot.nb.R, R/poly2nb.R, R/read.gal.R, R/read.gwt2nb.R, R/relneigh.R, R/subset.nb.R, R/summary.spsarlm.R, R/tri2nb.R, R/utils.R, R/zzz.R, inst/doc/sids.Rnw, man/EBImoran.mc.Rd, man/bptest.sarlm.Rd, man/eire.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/moran.mc.Rd, man/nb2listw.Rd, man/plot.nb.Rd, man/tri2nb.Rd: Kohren Sahlis etc 2005-01-20 19:57 rsb * DESCRIPTION, INDEX, LICENCE, NAMESPACE, R/EBI.R, R/cellneighbours.R, R/diffnb.R, R/dnearneigh.R, R/droplinks.R, R/error.spsarlm.R, R/geary.R, R/graph2nb.R, R/jc.R, R/knearneigh.R, R/knn2nb.R, R/lag.spsarlm.R, R/listw2cs.R, R/listw2sn.R, R/lm.LMtests.R, R/lm.morantest.R, R/localmoran.R, R/moran.R, R/mtlocalmoran.R, R/mtmoran.R, R/nb2listw.R, R/nb2mat.R, R/nblag.R, R/nboperations.R, R/plot.nb.R, R/poly2nb.R, R/read.gal.R, R/read.gwt2nb.R, R/sp.correlogram.R, R/sp.mantel.R, R/spwdet.R, R/subset.nb.R, R/weights-utils.R, data/eire.rda, data/used.cars.rda, inst/LICENCE, inst/doc/sids.Rnw, man/boston.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/listw2sn.Rd, man/lm.morantest.Rd, man/lm.morantest.sad.Rd, man/localmoran.sad.Rd, man/testnb.Rd, man/used.cars.Rd: sp out 2005-01-20 19:18 rsb * src/: spAllocate.c, spBuild.c, spConfig.h, spDefs.h, spFactor.c, spMatrix.h, spUtils.c, spwdet.c: sp out 2004-11-01 18:51 rsb * DESCRIPTION, R/dnearneigh.R, R/listw2sn.R, R/read.gal.R, R/summary.nb.R, inst/doc/sids.Rnw, man/read.gal.Rd: pre lancs 2004-08-17 11:26 rsb * DESCRIPTION, R/knearneigh.R, R/summary.nb.R, R/utils.R, data/nc.sids.rda, inst/doc/sids.Rnw, man/EBImoran.mc.Rd, man/LR.sarlm.Rd, man/moran.mc.Rd, man/nc.sids.Rd: roundup 2004-05-19 08:11 rsb * DESCRIPTION, INDEX, NAMESPACE, R/error.spsarlm.R, R/lag.spsarlm.R, R/listw2sn.R, R/localmoran.R, R/poly2nb.R, R/read.gwt2nb.R, R/sarlm.R, R/summary.spsarlm.R, R/tri2nb.R, R/zzz.R, data/auckland.rda, data/columbus.rda, data/eire.rda, data/oldcol.rda, inst/doc/sids.Rnw, inst/etc/weights/wmat.dat, man/EBest.Rd, man/EBlocal.Rd, man/diffnb.Rd, man/dnearneigh.Rd, man/eire.Rd, man/graphneigh.Rd, man/knearneigh.Rd, man/knn2nb.Rd, man/lag.listw.Rd, man/localmoran.Rd, man/localmoran.sad.Rd, man/nblag.Rd, man/nboperations.Rd, man/nc.sids.Rd, man/poly2nb.Rd, man/probmap.Rd, man/read.gwt2nb.Rd, man/tri2nb.Rd: changes to 2-17 2004-03-27 21:05 rsb * DESCRIPTION, INDEX, NAMESPACE, R/EBI.R, R/anova.sarlm.R, R/edit.nb.R, R/error.spsarlm.R, R/geary.R, R/globalG.R, R/jc.R, R/lag.spsarlm.R, R/listw2sn.R, R/lm.LMtests.R, R/lm.morantest.R, R/localmoran.R, R/moran.R, R/mtlocalmoran.R, R/mtmoran.R, R/poly2nb.R, R/read.gal.R, R/read.gwt2nb.R, R/sarlm.R, R/sp.mantel.R, R/spwdet.R, R/subset.nb.R, R/summary.nb.R, R/summary.spsarlm.R, R/utils.R, R/weights-utils.R, data/auckland.rda, data/columbus.rda, data/eire.rda, data/nc.sids.rda, data/oldcol.rda, data/used.cars.rda, inst/doc/00Index.dcf, inst/doc/sids.Rnw, man/COL.OLD.Rd, man/EBImoran.mc.Rd, man/EBest.Rd, man/EBlocal.Rd, man/LR.sarlm.Rd, man/auckland.Rd, man/columbus.Rd, man/diffnb.Rd, man/dnearneigh.Rd, man/edit.nb.Rd, man/eigenw.Rd, man/eire.Rd, man/errorsarlm.Rd, man/geary.mc.Rd, man/geary.test.Rd, man/globalG.test.Rd, man/graphneigh.Rd, man/joincount.mc.Rd, man/joincount.test.Rd, man/knearneigh.Rd, man/knn2nb.Rd, man/lag.listw.Rd, man/lagsarlm.Rd, man/listw2sn.Rd, man/lm.morantest.Rd, man/lm.morantest.sad.Rd, man/localmoran.Rd, man/localmoran.sad.Rd, man/moran.Rd, man/moran.mc.Rd, man/moran.test.Rd, man/nblag.Rd, man/nboperations.Rd, man/nc.sids.Rd, man/poly2nb.Rd, man/probmap.Rd, man/read.gal.Rd, man/read.gwt2nb.Rd, man/residuals.sarlm.Rd, man/sp.mantel.mc.Rd, man/spweights.constants.Rd, man/subset.listw.Rd, man/summary.sarlm.Rd, man/tri2nb.Rd, man/used.cars.Rd, src/jc.c, src/lagw.c, src/listw2sn.c, R/bptest.sarlm.R, man/bptest.sarlm.Rd: after AAG 2003-09-12 18:28 rsb * man/: joincount.mc.Rd, joincount.test.Rd: 2.4 fixes 2003-09-12 18:24 rsb * DESCRIPTION, INDEX, NAMESPACE, R/diffnb.R, R/dnearneigh.R, R/graph2nb.R, R/knn2nb.R, R/listw2sn.R, R/nb2mat.R, R/poly2nb.R, R/read.gal.R, R/sp.correlogram.R, R/summary.nb.R, R/summary.spsarlm.R, R/tri2nb.R, data/nc.sids.rda, inst/doc/00Index.dcf, inst/doc/sids.Rnw, inst/doc/spdep.Rnw, inst/doc/spdep.pdf, man/EBImoran.mc.Rd, man/dnearneigh.Rd, man/errorsarlm.Rd, man/geary.Rd, man/joincount.Rd, man/knearneigh.Rd, man/lagsarlm.Rd, man/lm.LMtests.Rd, man/mat2listw.Rd, man/nc.sids.Rd, man/poly2nb.Rd, man/sp.correlogram.Rd, src/dnn.c: 2.4 fixes 2003-08-27 10:01 rsb * DESCRIPTION, INDEX, R/LR.spsarlm.R, R/geary.R, R/jc.R, R/lm.morantest.R, R/moran.R, R/moran.plot.R, R/mtlocalmoran.R, R/mtmoran.R, R/plot.nb.R, R/poly2nb.R, R/utils.R, R/weights-utils.R, R/zzz.R, inst/doc/spdep.Rnw, inst/doc/spdep.pdf, man/EBest.Rd, man/EBlocal.Rd, man/Map2poly.Rd, man/columbus.Rd, man/diffnb.Rd, man/eire.Rd, man/graphneigh.Rd, man/knearneigh.Rd, man/knn2nb.Rd, man/moran.plot.Rd, man/nblag.Rd, man/nboperations.Rd, man/nc.sids.Rd, man/plotpolys.Rd, man/poly2nb.Rd, man/probmap.Rd, man/read.gwt2nb.Rd, man/spdep.Rd, man/tri2nb.Rd, NAMESPACE: pre 2-2 2003-08-07 22:22 rsb * man/: Map2poly.Rd, anova.sarlm.Rd, baltimore.Rd, read.gwt2nb.Rd, sp.mantel.mc.Rd: at 0.1-13 2003-08-07 22:18 rsb * inst/doc/00Index.dcf, inst/doc/spdep.Rnw, inst/doc/spdep.pdf, inst/etc/weights/baltk4.GWT, inst/etc/weights/us48.txt, inst/etc/weights/us48_q.GAL, inst/etc/weights/us48_rk.GAL, data/baltimore.rda: at 0.1-13 2003-08-07 22:15 rsb * R/: anova.sarlm.R, sp.mantel.R: at 0.1-13 2003-08-07 22:11 rsb * DESCRIPTION, INDEX, R/EBI.R, R/LR.spsarlm.R, R/card.R, R/diffnb.R, R/dnearneigh.R, R/edit.nb.R, R/eigenw.R, R/error.spsarlm.R, R/geary.R, R/globalG.R, R/jc.R, R/knearneigh.R, R/lag.spsarlm.R, R/listw2sn.R, R/lm.LMtests.R, R/lm.morantest.R, R/moran.R, R/mtlocalmoran.R, R/mtmoran.R, R/nb2listw.R, R/nbdists.R, R/plot.nb.R, R/poly2nb.R, R/read.gal.R, R/sp.correlogram.R, R/summary.nb.R, R/summary.spsarlm.R, R/utils.R, R/weights-utils.R, R/zzz.R, data/00Index, data/BH.rda, data/eire.rda, data/nc.sids.rda, man/BH.Rd, man/COL.OLD.Rd, man/EBImoran.mc.Rd, man/EBest.Rd, man/EBlocal.Rd, man/LR.sarlm.Rd, man/afcon.Rd, man/columbus.Rd, man/diffnb.Rd, man/dnearneigh.Rd, man/eire.Rd, man/geary.test.Rd, man/joincount.test.Rd, man/knearneigh.Rd, man/listw2sn.Rd, man/lm.LMtests.Rd, man/moran.test.Rd, man/nb2listw.Rd, man/nbdists.Rd, man/nc.sids.Rd, man/plot.nb.Rd, man/plotpolys.Rd, man/poly2nb.Rd, man/probmap.Rd, man/read.gal.Rd, man/sp.correlogram.Rd, man/spweights.constants.Rd, man/summary.nb.Rd, man/write.nb.gal.Rd, src/dnn.c, src/knn.c, src/nbdists.c: at 0.1-13 2003-04-26 16:19 rsb * R/LR.spsarlm.R, R/graph2nb.R, R/nb2listw.R, R/nboperations.R, R/read.gal.R, R/weights-utils.R, man/EBest.Rd, man/EBlocal.Rd, man/probmap.Rd: EB and inherits 2003-04-23 23:03 rsb * DESCRIPTION, INDEX, LICENCE, R/EBI.R, R/dnearneigh.R, R/eigenw.R, R/error.spsarlm.R, R/geary.R, R/globalG.R, R/jc.R, R/knearneigh.R, R/listw2sn.R, R/lm.LMtests.R, R/lm.morantest.R, R/localG.R, R/localmoran.R, R/moran.R, R/moran.plot.R, R/mtmoran.R, R/nb2listw.R, R/nb2mat.R, R/poly2nb.R, R/sarlm.R, R/spChkOption.R, R/utils.R, data/00Index, data/auckland.rda, inst/LICENCE, man/EBImoran.mc.Rd, man/EBest.Rd, man/EBlocal.Rd, man/auckland.Rd, man/moran.test.Rd, man/nc.sids.Rd, man/plotpolys.Rd, man/poly2nb.Rd, man/probmap.Rd, man/set.spChkOption.Rd: EB and inherits 2003-01-21 20:32 rsb * R/EBI.R, R/geary.R, R/globalG.R, R/jc.R, R/lm.LMtests.R, R/lm.morantest.R, R/localG.R, R/localmoran.R, R/moran.R, R/moran.plot.R, R/mtlocalmoran.R, R/mtmoran.R, R/sp.correlogram.R, R/spChkOption.R, R/utils.R, R/zzz.R, data/nc.sids.rda, data/oldcol.rda, data/used.cars.rda, man/BH.Rd, man/EBImoran.mc.Rd, man/afcon.Rd, man/eire.Rd, man/geary.mc.Rd, man/geary.test.Rd, man/globalG.test.Rd, man/joincount.mc.Rd, man/joincount.test.Rd, man/lm.LMtests.Rd, man/lm.morantest.Rd, man/lm.morantest.sad.Rd, man/localG.Rd, man/localmoran.Rd, man/localmoran.sad.Rd, man/moran.mc.Rd, man/moran.plot.Rd, man/moran.test.Rd, man/nc.sids.Rd, man/set.spChkOption.Rd, man/sp.correlogram.Rd, man/used.cars.Rd: spChk 2003-01-20 20:33 rsb * INDEX, R/EBI.R, R/jc.R, data/00Index, man/BH.Rd, man/EBImoran.mc.Rd, man/joincount.mc.Rd, src/jc.c: jc-update 2003-01-20 12:25 rsb * DESCRIPTION, LICENCE, R/eigenw.R, R/error.spsarlm.R, R/lag.spsarlm.R, R/nb2mat.R, inst/LICENCE, man/localmoran.Rd, R/EBI.R, data/BH.rda, man/BH.Rd, man/EBImoran.mc.Rd: EBI 2002-08-20 09:12 rsb * DESCRIPTION, INDEX, LICENCE, R/geary.R, R/globalG.R, R/jc.R, R/moran.R, R/sarlm.R, R/sp.correlogram.R, R/subset.nb.R, data/boston.rda, inst/LICENCE, man/boston.Rd, man/geary.Rd, man/geary.mc.Rd, man/globalG.test.Rd, man/joincount.mc.Rd, man/moran.mc.Rd, man/predict.sarlm.Rd, man/sp.correlogram.Rd, src/lagw.c, src/spFactor.c, src/spMatrix.h: formats without l 2002-08-06 13:35 rsb * DESCRIPTION, INDEX, R/error.spsarlm.R, R/geary.R, R/jc.R, R/lag.spsarlm.R, R/lm.morantest.R, R/localmoran.R, R/moran.R, R/moran.plot.R, R/mtlocalmoran.R, R/mtmoran.R, R/nb2listw.R, R/nb2mat.R, R/sarlm.R, R/spwdet.R, R/summary.spsarlm.R, R/utils.R, data/00Index, man/errorsarlm.Rd, man/invIrM.Rd, man/lagsarlm.Rd, man/listw2sn.Rd, man/localmoran.sad.Rd, man/nc.sids.Rd, man/predict.sarlm.Rd, man/residuals.sarlm.Rd, src/spAllocate.c, src/spConfig.h, src/spDefs.h, src/spwdet.c: predict 2002-04-15 18:35 rsb * INDEX, LICENCE, R/diffnb.R, R/geary.R, R/jc.R, R/moran.R, R/nboperations.R, R/utils.R, data/00Index, data/eire.rda, data/nc.sids.rda, inst/LICENCE, man/boston.Rd, man/joincount.test.Rd, man/nc.sids.Rd, man/spweights.constants.Rd: added sids 2002-04-13 16:12 rsb * DESCRIPTION, R/lm.LMtests.R, R/lm.morantest.R, R/mtlocalmoran.R, R/mtmoran.R, R/spwdet.R, data/afcon.rda, data/boston.rda, data/columbus.rda, data/eire.rda, data/getisord.rda, data/oldcol.rda, data/used.cars.rda, man/boston.Rd: before SB 2002-03-19 22:50 rsb * man/listw2sn.Rd: release 2002-03-19 22:27 rsb * R/LR.spsarlm.R, R/airdist.R, R/card.R, R/cellneighbours.R, R/components.R, R/diffnb.R, R/dnearneigh.R, R/droplinks.R, R/edit.nb.R, R/eigenw.R, R/error.spsarlm.R, R/gabrielneigh.R, R/geary.R, R/graph2nb.R, R/jc.R, R/knearneigh.R, R/knn2nb.R, R/lag.spsarlm.R, R/listw2sn.R, R/lm.LMtests.R, R/lm.morantest.R, R/localG.R, R/localmoran.R, R/moran.R, R/moran.plot.R, R/mtlocalmoran.R, R/mtmoran.R, R/nb2listw.R, R/nb2mat.R, R/nbdists.R, R/nblag.R, R/nboperations.R, R/plot.nb.R, R/poly2nb.R, R/read.gal.R, R/relneigh.R, R/soi.R, R/spwdet.R, R/subset.nb.R, R/summary.nb.R, R/summary.spsarlm.R, R/tri2nb.R, R/utils.R, R/weights-utils.R, R/zzz.R, src/card.c, src/dfs_ncomp.c, src/lagw.c, src/listw2sn.c, src/nbdists.c, src/relative.c, src/soigraph.c, src/spwdet.c, src/symtest.c, LICENCE, inst/LICENCE: release 2002-03-19 13:05 rsb * DESCRIPTION, R/error.spsarlm.R, R/lag.spsarlm.R, R/spwdet.R, man/errorsarlm.Rd, man/lagsarlm.Rd, man/listw2sn.Rd, src/spAllocate.c, src/spBuild.c, src/spConfig.h, src/spDefs.h, src/spFactor.c, src/spMatrix.h, src/spUtils.c, src/spwdet.c: nearer release 2002-03-17 00:02 rsb * R/card.R, R/cellneighbours.R, R/components.R, R/dnearneigh.R, R/edit.nb.R, R/error.spsarlm.R, R/gabrielneigh.R, R/geary.R, R/knearneigh.R, R/lag.spsarlm.R, R/listw2sn.R, R/lm.LMtests.R, R/localmoran.R, R/moran.R, R/nbdists.R, R/relneigh.R, R/soi.R, R/summary.nb.R, R/utils.R, R/weights-utils.R, man/afcon.Rd, man/cell2nb.Rd, man/columbus.Rd, man/compon.Rd, man/diffnb.Rd, man/dnearneigh.Rd, man/errorsarlm.Rd, man/getisord.Rd, man/invIrM.Rd, man/knearneigh.Rd, man/knn2nb.Rd, man/lag.listw.Rd, man/lagsarlm.Rd, man/localG.Rd, man/nblag.Rd, man/plot.nb.Rd, man/poly2nb.Rd, man/subset.nb.Rd, man/testnb.Rd, man/tri2nb.Rd, man/used.cars.Rd: release 2002-03-15 23:35 rsb * DESCRIPTION, INDEX, R/LR.spsarlm.R, R/airdist.R, R/card.R, R/cellneighbours.R, R/components.R, R/diffnb.R, R/dnearneigh.R, R/droplinks.R, R/edit.nb.R, R/eigenw.R, R/error.spsarlm.R, R/gabrielneigh.R, R/geary.R, R/graph2nb.R, R/jc.R, R/knearneigh.R, R/knn2nb.R, R/lag.spsarlm.R, R/listw2sn.R, R/lm.LMtests.R, R/lm.morantest.R, R/localG.R, R/localmoran.R, R/moran.R, R/moran.plot.R, R/mtlocalmoran.R, R/mtmoran.R, R/nb2listw.R, R/nb2mat.R, R/nbdists.R, R/nblag.R, R/nboperations.R, R/plot.nb.R, R/poly2nb.R, R/read.gal.R, R/relneigh.R, R/soi.R, R/subset.nb.R, R/summary.nb.R, R/summary.spsarlm.R, R/tri2nb.R, R/utils.R, R/weights-utils.R, R/zzz.R, data/00Index, data/afcon.rda, data/columbus.rda, data/eire.rda, data/getisord.rda, data/oldcol.rda, data/used.cars.rda, man/COL.OLD.Rd, man/LR.sarlm.Rd, man/afcon.Rd, man/airdist.Rd, man/card.Rd, man/cell2nb.Rd, man/columbus.Rd, man/compon.Rd, man/diffnb.Rd, man/dnearneigh.Rd, man/droplinks.Rd, man/edit.nb.Rd, man/eigenw.Rd, man/eire.Rd, man/errorsarlm.Rd, man/geary.Rd, man/geary.mc.Rd, man/geary.test.Rd, man/getisord.Rd, man/graphneigh.Rd, man/include.self.Rd, man/invIrM.Rd, man/joincount.Rd, man/joincount.mc.Rd, man/joincount.test.Rd, man/knearneigh.Rd, man/knn2nb.Rd, man/lag.listw.Rd, man/lagsarlm.Rd, man/listw2sn.Rd, man/lm.LMtests.Rd, man/lm.morantest.Rd, man/lm.morantest.sad.Rd, man/localG.Rd, man/localmoran.Rd, man/localmoran.sad.Rd, man/moran.Rd, man/moran.mc.Rd, man/moran.plot.Rd, man/moran.test.Rd, man/nb2listw.Rd, man/nb2mat.Rd, man/nbdists.Rd, man/nblag.Rd, man/nboperations.Rd, man/plot.nb.Rd, man/plotpolys.Rd, man/poly2nb.Rd, man/read.gal.Rd, man/spweights.constants.Rd, man/subset.nb.Rd, man/summary.nb.Rd, man/summary.sarlm.Rd, man/testnb.Rd, man/tri2nb.Rd, man/used.cars.Rd, man/write.nb.gal.Rd, src/card.c, src/dfs_ncomp.c, src/dnn.c, src/gabriel.c, src/knn.c, src/lagw.c, src/listw2sn.c, src/nbdists.c, src/relative.c, src/soigraph.c, src/symtest.c: Imported sources 2002-03-15 23:35 rsb * DESCRIPTION, INDEX, R/LR.spsarlm.R, R/airdist.R, R/card.R, R/cellneighbours.R, R/components.R, R/diffnb.R, R/dnearneigh.R, R/droplinks.R, R/edit.nb.R, R/eigenw.R, R/error.spsarlm.R, R/gabrielneigh.R, R/geary.R, R/graph2nb.R, R/jc.R, R/knearneigh.R, R/knn2nb.R, R/lag.spsarlm.R, R/listw2sn.R, R/lm.LMtests.R, R/lm.morantest.R, R/localG.R, R/localmoran.R, R/moran.R, R/moran.plot.R, R/mtlocalmoran.R, R/mtmoran.R, R/nb2listw.R, R/nb2mat.R, R/nbdists.R, R/nblag.R, R/nboperations.R, R/plot.nb.R, R/poly2nb.R, R/read.gal.R, R/relneigh.R, R/soi.R, R/subset.nb.R, R/summary.nb.R, R/summary.spsarlm.R, R/tri2nb.R, R/utils.R, R/weights-utils.R, R/zzz.R, data/00Index, data/afcon.rda, data/columbus.rda, data/eire.rda, data/getisord.rda, data/oldcol.rda, data/used.cars.rda, man/COL.OLD.Rd, man/LR.sarlm.Rd, man/afcon.Rd, man/airdist.Rd, man/card.Rd, man/cell2nb.Rd, man/columbus.Rd, man/compon.Rd, man/diffnb.Rd, man/dnearneigh.Rd, man/droplinks.Rd, man/edit.nb.Rd, man/eigenw.Rd, man/eire.Rd, man/errorsarlm.Rd, man/geary.Rd, man/geary.mc.Rd, man/geary.test.Rd, man/getisord.Rd, man/graphneigh.Rd, man/include.self.Rd, man/invIrM.Rd, man/joincount.Rd, man/joincount.mc.Rd, man/joincount.test.Rd, man/knearneigh.Rd, man/knn2nb.Rd, man/lag.listw.Rd, man/lagsarlm.Rd, man/listw2sn.Rd, man/lm.LMtests.Rd, man/lm.morantest.Rd, man/lm.morantest.sad.Rd, man/localG.Rd, man/localmoran.Rd, man/localmoran.sad.Rd, man/moran.Rd, man/moran.mc.Rd, man/moran.plot.Rd, man/moran.test.Rd, man/nb2listw.Rd, man/nb2mat.Rd, man/nbdists.Rd, man/nblag.Rd, man/nboperations.Rd, man/plot.nb.Rd, man/plotpolys.Rd, man/poly2nb.Rd, man/read.gal.Rd, man/spweights.constants.Rd, man/subset.nb.Rd, man/summary.nb.Rd, man/summary.sarlm.Rd, man/testnb.Rd, man/tri2nb.Rd, man/used.cars.Rd, man/write.nb.gal.Rd, src/card.c, src/dfs_ncomp.c, src/dnn.c, src/gabriel.c, src/knn.c, src/lagw.c, src/listw2sn.c, src/nbdists.c, src/relative.c, src/soigraph.c, src/symtest.c: Initial revision spdep/inst/doc/0000755000176200001440000000000013152260232013103 5ustar liggesusersspdep/inst/doc/sids.R0000644000176200001440000004314013152260232014172 0ustar liggesusers### R code from vignette source 'sids.Rnw' ### Encoding: UTF-8 ################################################### ### code chunk number 1: sids.Rnw:31-36 ################################################### owidth <- getOption("width") options("width"=70) ow <- getOption("warn") options("warn"=-1) .PngNo <- 0 ################################################### ### code chunk number 2: afig (eval = FALSE) ################################################### ## .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") ## pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") ## opar <- par(mar=c(3,3,1,1)+0.1) ################################################### ### code chunk number 3: afigl (eval = FALSE) ################################################### ## .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") ## pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") ################################################### ### code chunk number 4: bfigl (eval = FALSE) ################################################### ## .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") ## pdf(file=file, width = 6.5, height = 5, pointsize = 12, bg = "white") ################################################### ### code chunk number 5: zfig (eval = FALSE) ################################################### ## par(opar) ## dev.null <- dev.off() ## cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") ################################################### ### code chunk number 6: zfigl (eval = FALSE) ################################################### ## dev.null <- dev.off() ## cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") ################################################### ### code chunk number 7: sids.Rnw:77-78 ################################################### library(spdep) ################################################### ### code chunk number 8: sids.Rnw:95-101 ################################################### library(sp) library(maptools) library(spdep) nc_file <- system.file("etc/shapes/sids.shp", package="spdep")[1] llCRS <- CRS("+proj=longlat +datum=NAD27") nc <- readShapeSpatial(nc_file, ID="FIPSNO", proj4string=llCRS) ################################################### ### code chunk number 9: plotNC1 (eval = FALSE) ################################################### ## plot(nc, axes=TRUE) ## text(coordinates(nc), label=nc$FIPSNO, cex=0.5) ################################################### ### code chunk number 10: sids.Rnw:123-126 ################################################### .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) plot(nc, axes=TRUE) text(coordinates(nc), label=nc$FIPSNO, cex=0.5) par(opar) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") ################################################### ### code chunk number 11: sids.Rnw:139-141 ################################################### names(nc) summary(nc) ################################################### ### code chunk number 12: sids.Rnw:151-157 ################################################### gal_file <- system.file("etc/weights/ncCR85.gal", package="spdep")[1] ncCR85 <- read.gal(gal_file, region.id=nc$FIPSNO) ncCR85 gal_file <- system.file("etc/weights/ncCC89.gal", package="spdep")[1] ncCC89 <- read.gal(gal_file, region.id=nc$FIPSNO) ncCC89 ################################################### ### code chunk number 13: plot-CC89.nb (eval = FALSE) ################################################### ## plot(nc, border="grey") ## plot(ncCC89, coordinates(nc), add=TRUE, col="blue") ################################################### ### code chunk number 14: sids.Rnw:170-173 ################################################### .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) plot(nc, border="grey") plot(ncCC89, coordinates(nc), add=TRUE, col="blue") par(opar) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") ################################################### ### code chunk number 15: sids.Rnw:193-197 ################################################### ncCC89 r.id <- attr(ncCC89, "region.id") ncCC89[[match("37001", r.id)]] r.id[ncCC89[[match("37001", r.id)]]] ################################################### ### code chunk number 16: sids.Rnw:207-208 ################################################### as.character(nc$NAME)[card(ncCC89) == 0] ################################################### ### code chunk number 17: sids.Rnw:243-249 ################################################### ch <- choynowski(nc$SID74, nc$BIR74) nc$ch_pmap_low <- ifelse(ch$type, ch$pmap, NA) nc$ch_pmap_high <- ifelse(!ch$type, ch$pmap, NA) prbs <- c(0,.001,.01,.05,.1,1) nc$high = cut(nc$ch_pmap_high, prbs) nc$low = cut(nc$ch_pmap_low,prbs ) ################################################### ### code chunk number 18: sids.Rnw:251-252 (eval = FALSE) ################################################### ## spplot(nc, c("low", "high"), col.regions=grey.colors(5)) ################################################### ### code chunk number 19: sids.Rnw:258-261 ################################################### .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") print(spplot(nc, c("low", "high"), col.regions=grey.colors(5))) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") ################################################### ### code chunk number 20: sids.Rnw:285-289 ################################################### pmap <- probmap(nc$SID74, nc$BIR74) nc$pmap <- pmap$pmap brks <- c(0,0.001,0.01,0.025,0.05,0.95,0.975,0.99,0.999,1) library(RColorBrewer) ################################################### ### code chunk number 21: sids.Rnw:291-292 (eval = FALSE) ################################################### ## spplot(nc, "pmap", at=brks, col.regions=rev(brewer.pal(9, "RdBu"))) ################################################### ### code chunk number 22: sids.Rnw:298-301 ################################################### .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") print(spplot(nc, "pmap", at=brks, col.regions=rev(brewer.pal(9, "RdBu")))) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") ################################################### ### code chunk number 23: poishist (eval = FALSE) ################################################### ## hist(nc$pmap, main="") ################################################### ### code chunk number 24: sids.Rnw:328-331 ################################################### .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) hist(nc$pmap, main="") par(opar) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") ################################################### ### code chunk number 25: sids.Rnw:346-349 ################################################### res <- glm(SID74 ~ offset(log(BIR74)), data=nc, family="quasipoisson") nc$stdres <- rstandard(res) brks <- c(-4, -3, -2, -1.5, -1, -0.5, 0.5, 1, 1.5, 2, 3, 4) ################################################### ### code chunk number 26: sids.Rnw:351-352 (eval = FALSE) ################################################### ## spplot(nc, "stdres", at=brks, col.regions=rev(brewer.pal(11, "RdBu"))) ################################################### ### code chunk number 27: sids.Rnw:370-373 ################################################### .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") print(spplot(nc, "stdres", at=brks, col.regions=rev(brewer.pal(11, "RdBu")))) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") ################################################### ### code chunk number 28: sids.Rnw:402-408 ################################################### global_rate <- sum(nc$SID74)/sum(nc$BIR74) nc$Expected <- global_rate * nc$BIR74 res <- EBlocal(nc$SID74, nc$Expected, ncCC89, zero.policy=TRUE) nc$EB_loc <- res$est brks <- c(0, 0.25, 0.5, 0.75, 1, 2, 3, 4, 5) spl <- list("sp.text", loc=coordinates(nc)[card(ncCC89) == 0,], txt=rep("*", 2), cex=1.2) ################################################### ### code chunk number 29: sids.Rnw:410-411 (eval = FALSE) ################################################### ## spplot(nc, "EB_loc", at=brks, col.regions=rev(brewer.pal(8, "RdBu")), sp.layout=spl) ################################################### ### code chunk number 30: sids.Rnw:423-426 ################################################### .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") print(spplot(nc, "EB_loc", at=brks, col.regions=rev(brewer.pal(8, "RdBu")), sp.layout=spl)) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") ################################################### ### code chunk number 31: sids.Rnw:438-440 ################################################### set.seed(1) EBImoran.mc(nc$SID74, nc$BIR74, nb2listw(ncCC89, style="B", zero.policy=TRUE), nsim=999, zero.policy=TRUE) ################################################### ### code chunk number 32: sids.Rnw:454-456 ################################################### nc$both <- factor(paste(nc$L_id, nc$M_id, sep=":")) nboth <- length(table(unclass(nc$both))) ################################################### ### code chunk number 33: sids.Rnw:458-459 (eval = FALSE) ################################################### ## spplot(nc, "both", col.regions=sample(rainbow(nboth))) ################################################### ### code chunk number 34: sids.Rnw:465-468 ################################################### .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") print(spplot(nc, "both", col.regions=sample(rainbow(nboth)))) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") ################################################### ### code chunk number 35: sids.Rnw:478-480 ################################################### nc$ft.SID74 <- sqrt(1000)*(sqrt(nc$SID74/nc$BIR74) + sqrt((nc$SID74+1)/nc$BIR74)) stem(round(nc$ft.SID74, 1), scale=2) ################################################### ### code chunk number 36: sids.Rnw:497-499 ################################################### mBIR74 <- tapply(nc$BIR74, nc$both, sum) mSID74 <- tapply(nc$SID74, nc$both, sum) ################################################### ### code chunk number 37: sids.Rnw:511-515 ################################################### mFT <- sqrt(1000)*(sqrt(mSID74/mBIR74) + sqrt((mSID74+1)/mBIR74)) mFT1 <- t(matrix(mFT, 4, 4, byrow=TRUE)) med <- medpolish(mFT1, na.rm=TRUE, trace.iter=FALSE) med ################################################### ### code chunk number 38: sids.Rnw:527-531 ################################################### mL_id <- model.matrix(~ as.factor(nc$L_id) -1) mM_id <- model.matrix(~ as.factor(nc$M_id) -1) nc$pred <- c(med$overall + mL_id %*% med$row + mM_id %*% med$col) nc$mp_resid <- nc$ft.SID74 - nc$pred ################################################### ### code chunk number 39: medpolfig (eval = FALSE) ################################################### ## cI_ft <- pretty(nc$ft.SID74, n=9) ## pal_ft <- colorRampPalette(brewer.pal(6, "YlOrBr"))(length(cI_ft)-1) ## p1 <- spplot(nc, c("ft.SID74"), col.regions=pal_ft, at=cI_ft, col="grey30", main="FT transformed SIDS rate") ## p2 <- spplot(nc, c("pred"), col.regions=pal_ft, at=cI_ft, col="grey30", main="Median-polish fit") ## atn <- pretty(nc$mp_resid[nc$mp_resid < 0]) ## atp <- pretty(nc$mp_resid[nc$mp_resid >= 0]) ## pal <- c(rev(brewer.pal(length(atn-1), "YlOrRd")), brewer.pal(length(atp[-1]), "YlGnBu")[-1]) ## p3 <- spplot(nc, "mp_resid", at=c(atn, atp[-1]), col.regions=pal, col="grey30", main="Median-polish residuals") ## plot(p1, split=c(1,1,1,3), more=TRUE) ## plot(p2, split=c(1,2,1,3), more=TRUE) ## plot(p3, split=c(1,3,1,3), more=FALSE) ################################################### ### code chunk number 40: sids.Rnw:550-553 ################################################### .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 5, pointsize = 12, bg = "white") cI_ft <- pretty(nc$ft.SID74, n=9) pal_ft <- colorRampPalette(brewer.pal(6, "YlOrBr"))(length(cI_ft)-1) p1 <- spplot(nc, c("ft.SID74"), col.regions=pal_ft, at=cI_ft, col="grey30", main="FT transformed SIDS rate") p2 <- spplot(nc, c("pred"), col.regions=pal_ft, at=cI_ft, col="grey30", main="Median-polish fit") atn <- pretty(nc$mp_resid[nc$mp_resid < 0]) atp <- pretty(nc$mp_resid[nc$mp_resid >= 0]) pal <- c(rev(brewer.pal(length(atn-1), "YlOrRd")), brewer.pal(length(atp[-1]), "YlGnBu")[-1]) p3 <- spplot(nc, "mp_resid", at=c(atn, atp[-1]), col.regions=pal, col="grey30", main="Median-polish residuals") plot(p1, split=c(1,1,1,3), more=TRUE) plot(p2, split=c(1,2,1,3), more=TRUE) plot(p3, split=c(1,3,1,3), more=FALSE) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") ################################################### ### code chunk number 41: sids.Rnw:579-587 ################################################### sids.nhbr30.dist <- nbdists(ncCC89, cbind(nc$east, nc$north)) sids.nhbr <- listw2sn(nb2listw(ncCC89, glist=sids.nhbr30.dist, style="B", zero.policy=TRUE)) dij <- sids.nhbr[,3] n <- nc$BIR74 el1 <- min(dij)/dij el2 <- sqrt(n[sids.nhbr$to]/n[sids.nhbr$from]) sids.nhbr$weights <- el1*el2 sids.nhbr.listw <- sn2listw(sids.nhbr) ################################################### ### code chunk number 42: sids.Rnw:594-595 ################################################### nc$ft.NWBIR74 <- sqrt(1000)*(sqrt(nc$NWBIR74/nc$BIR74) + sqrt((nc$NWBIR74+1)/nc$BIR74)) ################################################### ### code chunk number 43: sids.Rnw:602-609 ################################################### lm_nc <- lm(ft.SID74 ~ 1, data=nc) outl <- which.max(rstandard(lm_nc)) as.character(nc$names[outl]) W <- listw2mat(sids.nhbr.listw) W.4 <- W[-outl, -outl] sids.nhbr.listw.4 <- mat2listw(W.4) nc2 <- nc[!(1:length(nc$CNTY_ID) %in% outl),] ################################################### ### code chunk number 44: sids.Rnw:616-618 ################################################### ecarIaw <- spautolm(ft.SID74 ~ 1, data=nc2, listw=sids.nhbr.listw.4, weights=BIR74, family="CAR") summary(ecarIaw) ################################################### ### code chunk number 45: sids.Rnw:625-627 ################################################### ecarIIaw <- spautolm(ft.SID74 ~ both - 1, data=nc2, listw=sids.nhbr.listw.4, weights=BIR74, family="CAR") summary(ecarIIaw) ################################################### ### code chunk number 46: sids.Rnw:634-636 ################################################### ecarIVaw <- spautolm(ft.SID74 ~ ft.NWBIR74, data=nc2, listw=sids.nhbr.listw.4, weights=BIR74, family="CAR") summary(ecarIVaw) ################################################### ### code chunk number 47: sids.Rnw:641-642 ################################################### nc2$fitIV <- fitted.values(ecarIVaw) ################################################### ### code chunk number 48: sids.Rnw:644-645 (eval = FALSE) ################################################### ## spplot(nc2, "fitIV", cuts=12, col.regions=grey.colors(13, 0.9, 0.3)) ################################################### ### code chunk number 49: sids.Rnw:651-654 ################################################### .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") print(spplot(nc2, "fitIV", cuts=12, col.regions=grey.colors(13, 0.9, 0.3))) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") ################################################### ### code chunk number 50: sids.Rnw:662-663 ################################################### ecarIawll <- spautolm(ft.SID74 ~ 1, data=nc2, listw=sids.nhbr.listw.4, weights=BIR74, family="CAR", llprof=seq(-0.1, 0.9020532358, length.out=100)) ################################################### ### code chunk number 51: ll_prof (eval = FALSE) ################################################### ## plot(ll ~ lambda, ecarIawll$llprof, type="l") ################################################### ### code chunk number 52: sids.Rnw:672-675 ################################################### .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) plot(ll ~ lambda, ecarIawll$llprof, type="l") par(opar) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") ################################################### ### code chunk number 53: sids.Rnw:683-685 ################################################### options("width"=owidth) options("warn"=ow) spdep/inst/doc/nb_igraph.html0000644000176200001440000021545313152260204015733 0ustar liggesusers Spatial weights objects as sparse matrices and graphs

Spatial weights objects as sparse matrices and graphs

Introduction

Since the spdep package was created, spatial weights objects have been constructed as lists with three components and a few attributes, in old-style class listw objects. The first component of a listw object is an nb object, a list of n integer vectors, with at least a character vector region.id attribute with n unique values (like the row.names of a data.frame object); n is the number of spatial entities. Component i of this list contains the integer identifiers of the neighbours of i as a sorted vector with no duplication and values in 1:n; if i has no neighbours, the component is a vector of length 1 with value 0L. The nb object may contain an attribute indicating whether it is symmetric or not, that is whether i is a neighbour of j implies that j is a neighbour of i. Some neighbour definitions are symmetric by construction, such as contiguities or distance thresholds, others are asymmetric, such as k-nearest neighbours. The nb object redundantly stores both i-j and j-i links.

The second component of a listw object is a list of n numeric vectors, each of the same length as the corresponding non-zero vectors in the nbobject. These give the values of the spatial weights for each i-j neighbour pair. It is often the case that while the neighbours are symmetric by construction, the weights are not, as for example when weights are row-standardised by dividing each row of input weights by the count of neighbours or cardinality of the neighbour set of i. In the nb2listwfunction, it is also possible to pass through general weights, such as inverse distances, shares of boundary lengths and so on.

The third component of a listw object records the style of the weights as a character code, with "B" for binary weights taking values zero or one (only one is recorded), "W" for row-standardised weights, and so on. In order to subset listw objects, knowledge of the style may be necessary

It is obvious that this is similar to the way in which sparse matrices are stored, either by row - like the listw object, or by column. The key insight is that storing zero values is unnecessary, as we only need to store the row and column locations of non-zero values. Early on, a Netlib library was used to provide limited support in spdep for sparse matrices, followed by functionality in SparseM, spam, and Matrix.

spdep depends on Matrix

Since Matrix is a recommended package, its functionality has increasingly been used over time, and it has become one of two packages on which spdep depends. This is reported on loading:

library(spdep)
## Loading required package: sp
## Loading required package: Matrix

Getting some data

The legacy Columbus OH data set has 49 spatial entities, polygons, defined as the boundaries of policing districts in the city. spdep suggests maptools for portability, but in regular applications, rgdal should be used, because it handles coordinate reference systems more gracefully. We see that the shapefile-based entity IDs are zero-based:

library(maptools)
## Checking rgeos availability: TRUE
columbus <- readShapePoly(system.file("etc/shapes/columbus.shp", package="spdep")[1])
## Warning: use rgdal::readOGR or sf::st_read
row.names(columbus)[1:10]
##  [1] "0" "1" "2" "3" "4" "5" "6" "7" "8" "9"

Finding contiguous neighbours and droppping links

Contiguous neighbours are often used for polygonal spatial entities, here with the poly2nb function defaulting to the queen criterion - entities are neighbours if they share a boundary point. We see that the entity IDs are copied across to the nb object:

nb_q <- poly2nb(columbus)
nb_q
## Neighbour list object:
## Number of regions: 49 
## Number of nonzero links: 236 
## Percentage nonzero weights: 9.829238 
## Average number of links: 4.816327
attr(nb_q, "region.id")[1:10]
##  [1] "0" "1" "2" "3" "4" "5" "6" "7" "8" "9"
is.symmetric.nb(nb_q)
## [1] TRUE

In order to make the object more complicated, let us drop the neighbour links for the 21st entity (noting that the print method reports the ID of the entity with no neighbours, not its number in 1:n), and plot the resulting map of neighbours:

col2 <- droplinks(nb_q, 21)
nb_q[[21]]
## [1] 24 30 34
col2[[21]]
## [1] 0
col2
## Neighbour list object:
## Number of regions: 49 
## Number of nonzero links: 230 
## Percentage nonzero weights: 9.579342 
## Average number of links: 4.693878 
## 1 region with no links:
## 20
is.symmetric.nb(col2)
## [1] TRUE
coords <- coordinates(columbus)
plot(nb_q, coords, col="grey")
plot(col2, coords, add=TRUE)

plot of chunk unnamed-chunk-4

Using sparse matrices to represent spatial weights

At present only listw objects can be coerced to objects of classes defined in Matrix. Because the style is lost on coercion, it may not be possible to reconstruct spatial weights as the sparse matrix representation does not preserve it. We will start with symmetric binary weights, first creating a spatial weights object, and signalling that one entity has no neighbours with the zero.policy argument (default false). The matrix and graph representations of no-neighbour entities are not obvious.

nb_B <- nb2listw(col2, style="B", zero.policy=TRUE)
nb_B$style
## [1] "B"

Symmetric sparse matrices

spdep provides coercion methods from listw to the "symmetricMatrix", "RsparseMatrix" and "CsparseMatrix" classes defined in Matrix. The "RsparseMatrix" is the representation that is most similar to listw, as it is row-based, but it is used less frequently in operations on sparse matrices. The entity IDs are passed using sparse matrix row and column names at present. Here we believe that our listw object can be represented as a symmetric matrix, storing only a triangle rather than both i-j and j-i weights. The coercion method does check whether symmetry is present before proceeding:

B <- as(nb_B, "symmetricMatrix")
all(B == t(B))
## [1] TRUE
str(B)
## Formal class 'dsTMatrix' [package "Matrix"] with 7 slots
##   ..@ i       : int [1:115] 0 0 1 1 2 2 3 3 4 4 ...
##   ..@ j       : int [1:115] 1 2 2 3 3 4 4 7 5 7 ...
##   ..@ Dim     : int [1:2] 49 49
##   ..@ Dimnames:List of 2
##   .. ..$ : chr [1:49] "0" "1" "2" "3" ...
##   .. ..$ : chr [1:49] "0" "1" "2" "3" ...
##   ..@ x       : num [1:115] 1 1 1 1 1 1 1 1 1 1 ...
##   ..@ uplo    : chr "U"
##   ..@ factors : list()
rownames(B)[1:10]
##  [1] "0" "1" "2" "3" "4" "5" "6" "7" "8" "9"

Let us now try to retreive the list of neighbours from the symmetric sparse matrix. At present, we have to coerce from one Matrix internal representation to another in order to get to the "dgCMatrix" format used inside mat2listw, so we coerce to "dgTMatrix" from "dsTMatrix". The style is not retreived automatically, but is set to "M" to indicate conversion from a matrix. The neighbour links are retreived correctly, as are the IDs:

nb_B1 <- mat2listw(as(B, "dgTMatrix"))
## Warning in sn2listw(df): 20 is not an origin
nb_B1$style
## [1] "M"
all.equal(nb_B1$neighbours, col2, check.attributes=FALSE)
## [1] TRUE
all.equal(attr(nb_B1$neighbours, "region.id"), attr(nb_B$neighbours, "region.id"))
## [1] TRUE

Log determinants (symmetric weights) used in spatial regression

An initial reason for implementing support for sparse weights matrices in spdep was to permit the calculation of the log determinant term in spatial regressions for larger data sets. Using the eigenvalue approach with for example eigenw is limited by the need to operate on dense matrices in memory to solve the eigenproblem:

rho <- 0.1
sum(log(1 - rho * eigenw(nb_B)))
## [1] -1.44787

When n is large, this may become impractical and/or time-consuming, but does permit the rapid calculation of values of the log determinant for differing values of the spatial coefficient \( \rho \). The Matrix package provides many determinant methods, here for a "dsCMatrix" resulting from subtracting a "dsCMatrix", the product of a scalar and a "dsTMatrix", from a "ddiMatrix". The value of the log determinant follows, calling a sparse Cholesky decomposition internally for suitable input matrices.

n <- nrow(B)
I <- Diagonal(n)
class(I - rho * B)
## [1] "dsCMatrix"
## attr(,"package")
## [1] "Matrix"
c(determinant(I - rho * B, logarithm=TRUE)$modulus)
## [1] -1.44787

The computation of a sparse Cholesky decomposition for each value of the spatial coefficient \( \rho \) may be avoided by updating a pre-computed object; this approach provides fast and accurate log determinants for larger (but not very large) data sets:

nW <- -B
nChol <- Cholesky(nW, Imult=8)
n * log(rho) + (2 * c(determinant(update(nChol, nW, 1/rho))$modulus))
## [1] -1.44787

Asymmetric sparse matrices

The use of row-standardisation leads to asymmetry even if the underlying neighbours are symmetric, unless all entities have matching numbers of neighbours (for example a regular grid on a torus):

nb_W <- nb2listw(col2, style="W", zero.policy=TRUE)
W <- as(nb_W, "CsparseMatrix")
str(W)
## Formal class 'dgCMatrix' [package "Matrix"] with 6 slots
##   ..@ i       : int [1:230] 1 2 0 2 3 0 1 3 4 1 ...
##   ..@ p       : int [1:50] 0 2 5 9 13 21 23 27 33 41 ...
##   ..@ Dim     : int [1:2] 49 49
##   ..@ Dimnames:List of 2
##   .. ..$ : chr [1:49] "0" "1" "2" "3" ...
##   .. ..$ : chr [1:49] "0" "1" "2" "3" ...
##   ..@ x       : num [1:230] 0.333 0.25 0.5 0.25 0.25 ...
##   ..@ factors : list()
all(W == t(W))
## [1] FALSE

The lag method for listw objects is often used to create spatially lagged values, and returns the same values as the vector given by the product of the sparse general matrix and an input numeric vector. Note that by setting zero.policy to TRUE, the spatial lag of entity 21, which has no neighbours, is zero by construction:

set.seed(1)
x <- runif(n)
r1 <- as.numeric(W %*% x)
r2 <- lag(nb_W, x, zero.policy=TRUE)
all.equal(r1, r2, check.attributes=FALSE)
## [1] TRUE
plot(x, r1, ylim=c(0,1))

plot of chunk unnamed-chunk-12

c(x[21], r1[21])
## [1] 0.9347052 0.0000000

Log determinants (asymmetric weights) used in spatial regression

Calculating the log determinant for asymmetric weights (here with symmetric neighbours and symmetry induced by non-constant numbers of neighbours) may be carried out using eigenvalues as before, but the result may be a complex vector (here it is not, as discussed below). The appropriate determinant method for "dgCMatrix" objects uses an LU decomposition internally:

rho <- 0.5
sum(log(1 - rho * eigenw(nb_W)))
## [1] -1.594376
class(I - rho * W)
## [1] "dgCMatrix"
## attr(,"package")
## [1] "Matrix"
c(determinant(I - rho * W, logarithm=TRUE)$modulus)
## [1] -1.594376

We can show the internal workings of the method as:

LU <- lu(I - rho * W)
sum(log(abs(diag(slot(LU, "U")))))
## [1] -1.594376

Log determinants: symmetric by similarity

The nb2listw function stores components that can be employed to transform the asymmetric weights matrix to symmetry by similarity, permitting the same log determinant to be computed using less costly numerical methods. The "W" style used the cardinalities of neighbour sets (row sums) to introduce row standardisation, and they are stored as an attribute:

d <- attr(nb_W$weights, "comp")$d
all.equal(d, card(col2))
## [1] TRUE

If we first restore the row-standarised matrix to its binary form (which must be symmetric), we can pre- and post-multiply by the square roots of the inverted neighbour counts, yielding a symmetric matrix with the appropriate properties:

dW <- Diagonal(n, d) %*% W
all(dW == t(dW))
## [1] TRUE
isd <- Diagonal(n, 1/sqrt(d))
isd[21,21]
## [1] Inf
Ws <- as(isd %*% dW %*% isd, "symmetricMatrix")
rowSums(Ws)[21]
## 20 
##  0
class(Ws)
## [1] "dsCMatrix"
## attr(,"package")
## [1] "Matrix"
c(determinant(I - rho * Ws, logarithm=TRUE)$modulus)
## [1] -1.594376

As can be seen, the division by the square root of zero for entity 21 is not a problem as the row of dW is zero. The transformation by similarity permits the use of numerical methods for sparse symmetric matrices (and equivalently for eigenvalues and dense matrices). Note that this transformation is not available for intrinsically asymmetric neighbours, or for intrinsically asymmetric general weights.

Using arpack in igraph for finding some eigenvalues

In spatial regression, the domain of the spatial coefficient is given by the inverse of the maximum and minimum eigenvalues. When n is moderate, we have the eigenvalues anyway, so the interval for line search is available without extra effort. When n is somewhat larger, use may be made of the arpack function in igraph. The function is not stable and requires manual tuning, so its use is commented out here:

1/range(eigenw(nb_B))
## [1] -0.3212551  0.1638329
library(igraph)
## 
## Attaching package: 'igraph'
## The following objects are masked from 'package:stats':
## 
##     decompose, spectrum
## The following object is masked from 'package:base':
## 
##     union
#f2 <- function(x, extra=NULL) {as.vector(B %*% x)}
#1/arpack(f2, sym=TRUE, options=list(n=n, nev=1, ncv=8, which="LA", maxiter=200))$values
#1/arpack(f2, sym=TRUE, options=list(n=n, nev=1, ncv=8, which="SA", maxiter=200))$values
# At line 409 of file dsaupd.f: Fortran runtime error: Actual string
# length is shorter than the declared one for dummy argument 'which' (0/2)
#1/arpack(f2, sym=TRUE, options=list(n=n, nev=2, ncv=8, which="BE", maxiter=200))$values
# "BE" gives: At line 558 of file dsaup2.f: Fortran runtime error: 
# Index '9' of dimension 1 of array 'bounds' above upper bound of 8

In this case, the results are trivial with small n and a symmetric sparse matrix. It can be challenging to find the maxiter= cutoff for larger n; the which="BE" argument takes both ends here.

1/range(eigenw(nb_W))
## [1] -1.544645  1.000000
f2 <- function(x, extra=NULL) {as.vector(W %*% x)}
#1/arpack(f2, sym=FALSE, options=list(n=n, nev=1, ncv=8, which="LR", maxiter=200))$values
#1/arpack(f2, sym=FALSE, options=list(n=n, nev=1, ncv=8, which="SR", maxiter=200))$values
# At line 409 of file dsaupd.f: Fortran runtime error: Actual string
# length is shorter than the declared one for dummy argument 'which' (0/2)

For asymmetric matrices, we need to go to each end separately, so finding the domain bounds can be hard. Using row-standardisation has the nice feature of setting the upper bound to unity, and there are graph methods for finding out whether the lower bound is -1.

Using igraph for spatial weights as graphs

Converting from symmetric adjacency matrix to graph

First we'll see how to get from sparse matrices to graphs. The mode of a symmetric matrix is "undirected" by definition:

class(B)
## [1] "dsTMatrix"
## attr(,"package")
## [1] "Matrix"
object.size(B)
## 9040 bytes
library(igraph)
g1 <- graph.adjacency(B, mode="undirected")
class(g1)
## [1] "igraph"
object.size(g1)
## 8664 bytes

Converting from graph to symmetric adjacency matrix

We can also convert this graph pack to the same matrix, but note that get.adjacency chooses a particular class of sparse matrix to be returned, so that the conversion process typically leads many matrices to fewer graph types, and back to fewer matrix types:

B1 <- get.adjacency(g1)
class(B1)
## [1] "dgCMatrix"
## attr(,"package")
## [1] "Matrix"
object.size(B1)
## 9944 bytes
all.equal(B, as(as(B1, "dgTMatrix"), "symmetricMatrix"))
## [1] TRUE

Graph components in spdep

A simple example of using igraph to do the same as an existing spdep function is Nicholas Lewin-Koh's n.comp.nb from the early days of the package. It is useful to know whether an nb object is divided up into separate subgraphs, and which entities are members of which such subgraph.

res <- n.comp.nb(col2)
table(res$comp.id)
## 
##  1  2  3 
## 42  1  6

Graph components in igraph

The same result can be obtained using the clusters function in igraph:

c1 <- clusters(g1)
c1$no == res$nc
## [1] TRUE
all.equal(c1$membership, res$comp.id)
## [1] "names for target but not for current"
all.equal(c1$csize, c(table(res$comp.id)), check.attributes=FALSE)
## [1] TRUE

The same holds for the row-standardised variant:

W <- as(nb2listw(col2, style="W", zero.policy=TRUE), "CsparseMatrix")
g1W <- graph.adjacency(W, mode="directed", weighted="W")
c1W <- clusters(g1W)
all.equal(c1W$membership, res$comp.id)
## [1] "names for target but not for current"

Shortest paths in weights matrices: igraph

Finding shortest paths between spatial entities across a given graph is a way to express closeness. If the graph is connected, that is that it is possible to traverse the graph edges from any node to any other, the longest shortest path is then a useful measure. In igraph, the is.connected function tells us tells us that our graph is not connected, as we know from the figure above. The diameter measure is then the diameter of the largest component subgraph. Note that this generates an n x n matrix:

is.connected(g1)
## [1] FALSE
dg1 <- diameter(g1)
dg1
## [1] 7
sp_mat <- shortest.paths(g1)
str(sp_mat)
##  num [1:49, 1:49] 0 1 1 2 2 3 4 3 3 4 ...
##  - attr(*, "dimnames")=List of 2
##   ..$ : chr [1:49] "0" "1" "2" "3" ...
##   ..$ : chr [1:49] "0" "1" "2" "3" ...

Shortest paths in weights matrices: spdep

If we do the same in spdep, using nblag to a maximum number of lag orders - the diameter, but which is unknown in advance (the largest lag order for which the number of links is greater than zero), we run into the problem of how to represent missing neighbour information.

nbl10 <- nblag(col2, maxlag=10)
vals <- sapply(nbl10, function(x) sum(card(x)))
zero <- which(vals == 0)
zero[1]-1
## [1] 7

If we insert zero into the weights matrix where there is no connection using zero.policy=TRUE, we generate a zero shortest path. If we are to create a matrix that matches the one produced by shortest.paths, we need to set all these non-structural zeros to infinity (the length of the path between unconnected nodes), and re-instate structural zeros on the diagonal:

lmat <- lapply(nbl10[1:(zero[1]-1)], nb2mat, style="B", zero.policy=TRUE)
mat <- matrix(0, n, n)
for (i in seq(along=lmat)) mat = mat + i*lmat[[i]]
mat[mat==0] <- Inf
diag(mat) <- 0
all.equal(mat, sp_mat, check.attributes=FALSE)
## [1] TRUE

Smirnov/Anselin (2009) cyclical matrices

Another area in which a graph representation might prove useful is in trying to establish the domain of the spatial coefficient when spatial weights are row-standardised. In that case by construction we know that the maximum eigenvalue is 1. If there are multiple blocks, that is graph components, where the numbers of nodes per block are greater than 1, then each will have a maximum eigenvalue of 1. The remaining problems are the numbers of zero eigenvalues (at least the singleton graph components), and whether any non-singleton component fulfills the condition termed by Smirnov and Anselin (2009) a cyclical matrix, for which the minimum eigenvalue is -1. The term cyclical appears to be used in many different ways, and it is not clear that its use here after Smirnov and Anselin (2009, pp. 2984-2985) indicates which meaning should be used to find the relevant graph function. The definition used here is that a block matrix (subgraph) is cyclical if: “for every location, every pair of its neighbours are not connected.” That is, if w[i,j] and w[i,k] are greater than zero, w[j,k] must be zero to meet the condition.

The internal function find_q1_q2 returns the number of non-singleton components, and the number of these that meet this condition. It does this for each block/subgraph by testing the condition until it meets w[j,k] > 0, at which point it breaks. Smirnov and Anselin (2009) state that rook neighbours on a regular grid meet the condition:

nb_r <- cell2nb(7, 7, type="rook")
nb_rW <- nb2listw(nb_r, style="W")
spdep:::find_q1_q2(nb_rW)
## [1] 1 1

One block/graph component is found, and this one meets the cyclical matrix condition, as also shown by the domain:

1/range(Re(eigenw(similar.listw(nb_rW))))
## [1] -1  1

This does not apply to the spatial weights we have been using above, with two non-singleton components, neither meeting the cyclical matrix condition:

spdep:::find_q1_q2(nb_W)
## [1] 2 0
1/range(Re(eigenw(similar.listw(nb_W))))
## [1] -1.544645  1.000000

By construction, all two-node connected graph components also meet the condition, as the eigenvalues sum to zero, and the maximum is unity, so the minimum must be -1.

spdep/inst/doc/backstore/0000755000176200001440000000000012161056000015053 5ustar liggesusersspdep/inst/doc/backstore/boot_res.RData0000644000176200001440000000223611716033162017620 0ustar liggesusersm{LSw/--ձzdJ؇ƖZw_F!h5ωȴ622/ ޷w@qgQg/|Ɔ.)3BzgG{$<2g0poK??{htyY G_9}[s|nuV5kw/ͥ%%蟡źuMdY=JАoGZ{p"Ofo="n󲎣ow 8;FG7VA`Mkw9WQIu$D"[m2SZiUPZ i[A<:/}1j-h2tKh=Q 2ȮѓnˏhP4h?.U%CJzukb~G\b 8L. + . q6e 9(v1i.<;Plƞwebv%,*CxZRQlI9&* aB cgߐ5'SmV#jړRUd-b(,vh%>]H;j<.E(:+oH0ciW@ѱ4`HYRO@ _I΄=㠞pTZNCEQ)[ Bx!Cj AhV.ȢXy|?ֹZ C_nhhv5Uf{:qxM S4spdep/inst/doc/backstore/nyME_res.RData0000644000176200001440000003747112161056000017525 0ustar liggesuserswbzsnZ ]NX|ڣV#KRYK%,Zo;Wc41S.c̖.̉->gs6r]/Z^vjg>X,6e? K3">3smߒyq[MZ|_c׹)Gx8X.0*l{V}1kmuOEB\vP}Xsϝ{֒cbA ?Ê3f;FBdBJe aƜ@s2}zਊsY M ͙b~S=vȋcN"/~ JʛJhuK ^/&V9eẀĭEZPA:ST\]G]Eu0k86(95< g#nF^6R,݉:vE{WAqcq,1}$,t^x!o䱀wJG8 a!ϫ/S V(S8MAr: [^{EEB,brwKJtooʁSMlwuAŤv+;ķo@\MLMK Y%rag8݊8h6R,@5Cp]sN,F#hWۄ E6 /`jvsPkUln;5 '1T6Yi?"Aɲe̬?7 巻}9N<*4ψl #wye+SМCAt3NgNi'b޴#BXJ8ey,:,a' %~cL4F#мz*4 kxbWF5hNxASΠ>J 7'j 3mѬ5hy3g1yVis߄Q5=L#aM.wqY*4hjŕ4B,,0e8ZzB Qʎf>,C 9,Ё9_ 咠R(VQQ;ԎfdvCg-vcdr]Jd/H j TMHMĘ)m+yB5hK`2gH9(I>KW%/BFrd LU>* *(.l E\nPb*oۇI6xq;s]@'0?`&ÌU|]E\PWZ<2de>˃C>^C6P*,[l7y!sn@acaLZiU*9n A^to<~h1֑GĈ7'y'!FFFK 5? B;F~2'@'"[@k.Z~z6V+%`܅|{2fot-dy;z)n"hoZ?#a;+[RR֚Bdr΍ᄢKD߈\ 9! nVQ#;!j"b~SZh0_\Yѽ!Toz:}SsaD!cm/-Cjz`IKA@}Cl8dzۃc}{:TRz~ݘSyXf|OPueMFZM}@OΌ\s+],w{\_- í \}YewM0m#0v*ֳZвC>L*{~*#NecHr['A֧KCMε9ǰ)w?dQхlEgF xG_ _ZGHc~bCtl 3|,9*\LYoevto&3]X#*ܧ~̃?cn^bYH}3lJ(Zw6DՋP..>Smhcqw? є2%L|1#}BG3$f("n;8s՞nŤLEi}@ߌ?AAxf*zn5l1sCdՁj5zH2mQH>O$ հ"@gR8`m|Ą?**~Ż}>1ׯ`M;PTTVe@R[ۙCn Go[7vfv*AkOL^ RSeYJ3@5m{w.8= <nj:r_TE#N6zs3&!1K5q1Cn -*M/>BzӅv_fɦ E35BbZrsr3"^8I t#REPT5t ?0yMbգ'S۠2)&kn%--Ofꟸe|jj7ϐvC1…l:,ъ2$>{ož5zYy0;{u#ӣ!R湜|3e lIIinۿa/Lbt2$I(IwLE 2tnó :3o1\V1+lAieC>}Q=^2eŃ-\#zsl֣@phj gD<1*]Zz|;۾r;dnӲ0`o+|v;q!X,7e7Qi) Vď91K],N"׉Rq04:I]逢o o Uه7h: 7pZ@qtGn dcئ)VGywR0i:Q~qX`egC}^Ao:ӃJxN7W`^Hzn^و|[Lb_b򊋖 ፕ ܷ.Dl qJu 2m :gA ''S.f[z;[L;3P(qL ky>UsڂuԚQzR-,q@{o${>樃# "20ט8㨁<_?EW&ྺG~?T"NRx8Q !ec v~$z"X-W1;A\(;v/ H|cj=)e03WQH[y{Yd/Fi`/^ %u] }9D&ĕcguz6BWco7@&+ ;Cp s v{o{)5-&ҩX˥oÀSa/)=(I/u}0›GL_ w^CSZvɎN1a .lY| IqNIxbLCnen;F 8(l[=w٫Q{!m4Qr9~z,!~ʩ '^G?_=H5΄͛{l{[{&%O'f.,ܾPG14+ob1֜]n0X`L=5Z(?!{k !A;"133&ҩn; DEB.Zv1fʵwh`޹Ʒc]hǻ1uf+ۈgm|T2'aDR,tDnj=yyREa+#);grd$&2y {"B}OŠkB1y(E+*snTBR[* x>m4{-}3݉|v hl1o.#Ȝ* з k.w%Wd[0kƯ&{' S3Kc΍Thg˅?4vX>N@o0nBw,T%eYn&op?<MW^DPneYt5;NJbxSuF˖]7']1)P{{p~4m=.&뺍QJ=jCZGQاzVe*۫LQ{P3$(tӛ?FQx1c'wa/XBmUn;ȏp^/ܵ@j3 E]Afu,?C/*ц5U#ͩ:FbZႂsH7do*Qf_<#}`n6"u38^՗KV %}Akt[QP?1j8D76Jnp@h54o}vx: [kPY-FAi b7@ iAa/"%xYJkC*]zݐOֺĄb8K8;4iT-{: OHhGj!9:@`f#|x2'4(zCϾkAy6%pqߓ6`Thܵ+ЧE0 l߯ ]Δ@W/zE'L\LruٺR˚{ 1ރ#Rb(Pѡ[ Pu#('w=]QCos1J\:q.3 lZ >zG95F<ae_ıg!",מ@o1OzLϣ&9 Vg UpPo =oYN"R6=FsL `G2KB&\fw"SY'^,$秐er>;Y$S2 ,'.~N'L?g;l|OYNrd#!H'%"Ә̿[gg MdFH[U:Jdd2?k>d<}8&slG7G:Y%$Ù,ג,Tjd^g{K*d!۱YF.gO?c$ˋdkyb/}jOCrd&?HGd9L.]Gr?{ߛ>LdN)GӓiGwkґI"3/Oa$3~J#6ryَc득\_'=2$O~ddҐOaM&;;E2fNM\!;yd;-Y?VY׼׏Fv\8TȺJHIkߤ>P;2gs(YS 8.FUO_ё8"q*׊@F=oV۞@bJ$ f:A1q- 6גTCybъG\nmRWcՊ8Q;yz"^ozazSνr/{ ]Hz_lIz~V;̓a4ytB1B W"FGmbfϥQz?}}̨e 0+]?Qeg01w(Q<>E: ;Zr_yCV+cǣ X+  `O|95A$Wmǁ5S@-XJ(v3Ivڼ1%hj|ЇU.F(T9:م+b~3q3G#-{IC{e]fFFu4Ewf+솮2WX~3t^@ΐ;齹 y:&VJ E옿cw2/3N+L_96g#Q0&jl`f&`C@:_ވ: egrkh?"f6.cqJ3XCW:-?F>2 Yc?ǴM?\`\ vﻐNahYwJ[2t|!b%j$; S{N O{uDq[3\Ez{r7X_5ϱg"a(D vJn]f|'vHV\w#߽7_}&V1|`da!V,^2kyHPhّ yg `⡐Q~*L{6GsY*D' L>Fe (]dwǷêlC۠ޫbg݇<+441Kϴ@ x@MB[oSKߟr:ھvL9a쏾Vcweq@X&- p񋗈Hӓ Xf[Τ3 :+3%J[<4}nOj%o홋j3C߯)W`d{(t?:~B ۷oxo!%ad,$\,n`H;UV>yIwAm];7 >^F|8΅nW.B4,˷H9['C& :X`0 %xHK>BGY63:l'Μ4=M9¯7EHpzLySG*~AYxvx16n0"1Ϗm˝66CM>҇P@f`h@Y/CaLҍ?Ōj$1p2'xuOUAinAدё7N$#X|Mܾ<P3`ǣ pJeȸ&K`l\5 N~ |R3/ֹ;~hq 't!Y:{[,BYXi(ڗ fCT{{&CGHbNܸe/w$ඪhj M%|#VM `'G[p|Sz#&}6S*cj*ũjB|W1CD֏E:=к 4). %eNWMxF$@;Ida]u6~Od}ބ[>$ЦsoY d- Ԥ}ُcL"`(brڳBbH J?aX7O_UC.+42;VJ4}n70Կg0 Dm8f o$#5/ W=@Csݟ ܿ5ɆA!gD=6b{/0xmrI#@˝#v۱1Z||8_~F:HbHT\IbK%(c^! +TqdNA+뒕G&s`ߑ^:*乡\ѱ*`2*k m)pܭmH:nN0nEb+V2b}I nk?s[_ O<`\~> &=Śu:803 O o,F1;({^)IoR=2YhpJNoä<>Nh"JbSK(t, ]P*0%5ߩP zs [R2LCbtS&i X`7ui[,=eEGrs{fjmx*І_2@z^yёW`1M V|YQ*N-8&b]b\b ڙ _~< -ƨ_yc]czXl]~(HW{D$ś~5W?QOcV}jaڻyEm;&)cJNPE> stream xڍXY۸~_K!+NUlgSI9Ϥ`RI)#_ntCdN/h>>iP26BL*IP6Y<˻zbeS*CGM7h6sz{wO"ֻaᧅԉH\SG[x߲wN+iX3%*AWB%هCٯZe\atq%emzWOQu,k"?8PRث"KyEu>Ȗ͎h'NVb`y ^J.<+bc@LJ˯-0{=gY  8K,$JJ.ܐIY\&Qݘty70O,@eیP;R]yU -ۭѲm5^ BNԪ<=O?7#yJ_.&ݴ,y+GTUOf yC<:^`HS:*/x JQ+ylxOmU|fzhK wcxOIwp dKL-Aby?ID<fHTlnBMI kKy=R#k?Q*`U;RE Ws?SxweMę8(f<`ke#*Zm2T<V@8pj@Z/aHu*!-^AAoKH%ET:TH/OPZߤg<=qC0V lO,'ᨣK4U? *B|8hr5dz^a6mi G'6U~|adeE =@V-Z\13%mτBkOZoE_D6<m ܰ7T2B(aM OpżpWQ=BKb=`|xM/,~ kOB[?~Gⷜ'@*qvݥ?|''67ɤf t>`.%%!CYXǐm'~%l=5#-IxTx&sZ`~A7!=v","N22>ʱf1b̵s`QrFLB8 gu|kpǝb{F`)Π9*A_y?Ty|;{7xtGJ4 hTf|q?/S g05/ 1 3N!(",m3i -&5npw~KF4J }~UXw> pE7Moq=!>:sEa'7 p߀$vঠѢMЙ]> stream xڍmo8{6`pN=kS)5횜6U.Д5~ a#)xyj2ߕ,+ըJoCH{B:JqczvxfXVC( N'yN窮5~ Hˑh(p/h֛o9h,(uٴh2Kj-y(IFΘ1"~^OR7WՈE*KLCVXTۢyPq~UYҷuV20Er\UIT/ZuˈQe]VMΐH,+$?S$5nr#Җ=܁P|Xh~">)p0)ꌡtt48ȾUP񮧷-5{2]q̊㋀҉'!2Ԋ!l͜#ZҸU9|wGqflj[a {mp,l7"ae<[RUeyd|}zil'],pwjH1)k@1jkѢrzKSDɎyޮתzei%b}j燐/;\%u:uk 56G>x a*:z_ aI ")og*udb ϯ'CUX r>_\ee0io8 1`MU[m}NAAwE?P `qu+̽܀ۏۮ.#,Qo3a6\2z漐RiT2 N ( $?'KKqK&LR># ,$þՃh#ѦIS#LF|ϣ`jO$8fx̠H yȈ79aG“ּ*S=x!GرQ8~<39<oEWDGB_M7 y{QƁ4u=C}ZA.~=@Pӡ‡eOu.aF ޾l endstream endobj 64 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/Rtmp13a5aE/Rbuild47f7353d5903/spdep/vignettes/Fig-bitmap-1.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 70 0 R /BBox [0 0 468 252] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 71 0 R/F6 72 0 R>> /ExtGState << >>/ColorSpace << /sRGB 73 0 R >>>> /Length 13209 /Filter /FlateDecode >> stream x}K4;rݾE/{or;F ZZ= n ?ьsY^n L2 >?Ouq|I>WѾJ #?'߭y_>V>9>y׏po>6CuET_B%35{}eR}e^ t^vq=Ι~:be:c>a/ CzNпFw=/_p?:ǧ27x s xr|ʡ~6P?gqxLx1ǯ6W?t +?'֟M:'=W|fVߟtIоR{5i8Îsgrg]/dy~|ŧ$Qb;;t/{^>{ZGaԩ=iW;_o_ccȨ^ ooP?tO_:`TO;a ,ߪycqt|ɊO ?^k]ە^=4x{^xl1u@?h W}Ԭ?GmVo?#x q=ٖG&=YJ)W4ucDRmT4:e 9-W=|k`b\Wq&/:X>؋q|y}jDwLῷL=ofu6tZi?ǯ6c8>ۡ53>?$?OM1y sl?=cdXڜn^s=H61膺~`z3w_?XKnƩ Mv=N94iDGet6r4r>|Tc9#s@=laK4Yldgy^d6dKM:6%.WtɈ-m (Fdaaa+sOh ',A4}; |ɘόvT8m9 غѩ!\N|Lamm3IxS&:<]s+9_?}MFpzJ`:m[t;#MOlr[%N2rLα(x:EF3< <~4[jPixήg XFOig0iu)Čp&UQPc|f>6MSbu_]:Y}~S.<?pv!aw$^>~%]1y>EaF鮏`Ι$ԣ ty} ;ü+2~NOdt[Mf)wNl"vf1rϮWNwhjSlک}~T:&nRn6?~LScrخC=5]GFFW>;0Z @4s 0/!gt aGx7-hXM4kk&~o/z5wU bhN!1ܔ(OMA h {#lC[b=|%  ΐF3~ SsDŽ#=)B!4eJGJ-uzQ O[uee83=gz4sGMs(+4atzMvbӺ(24O0$F_^7DMs9xW}Mku@ +m8;p E? ft[VǢ35XܿnwH/x2i9޴zY6oh;hi5q3E}2ho4dI6;:sBhzÉ1.bNƛIN|:;$b㗯 K5N.A]~bIiNZ ;038>[P];#k P{ʬuƅ2 (醢*zEd"=zEN{]/^8lic5xY z9Gp@/8Ӳ&ji hD'ꉐ3W[kfI:VO_mp0R9.{x҉< ?R<Ւk] c󣖨D,11}j8 !MSKWȱ|Hx,).pR|~JۤJMUImПLYˌ2k|qFSk{Jzѽ;SX؏\/gxxݴd#jQ##nh1 myA¿j *uJMh҅L\+ax M8)u0%!*nXVjir_xX:܎4öMu(ۙiarnh#!) iu g4 lϘI.܎j2ݼg\^qx}}" E:tAЇt="ƸN L@&p̓6#ӻ5%uqpm wj8tJY#[Z#ۑ kKKB, ь7(,\2Zj4fOѴ-iA6iEviIp]ێ8e8h}]ПSL<eXnO<'f;GHAx^!7u"Ds13bӎ#IX0恭rm@} D92(lmK&2$_<2n9?M&6q`~uOs6;{ cvD\Wf}ȅꖁ7"wn i] 4S7_츷[.&0Ǯuw$62iJz8pmڣ_Fb}ȕ@ = ~!R%31Ȳb7L'tӶ5 ăѷ,sGi[[mQ"W]EI H;4 0veKBҜv&G\m=hd\"-HFr'8Zj)%!Z"L%Xp/8l I)!:jpMq&qz4O=f+dNJϴ1୙ iof5+`e=~ս=@= ~;yů͍Hx+|<+d^Շ?`f&bSAsg7KhjK%)dݿu_y5!vq5ˎώ@ǃk(Ssd?rM 5!ހz +sRc_hnsbGeYƓ"m]Țdsfd`@j@}Ů 5qGhC%XF&*>zR<QԼb5}ɽ؝r5y -cqFX+XJ`lHj3+N˂il6{yV{\ 9dQ r7-oWy7{^hڽ_ @n}nֳ-^̗}vEHW|^{44>/ h|D'_I&h&`qezNz{W@o_!"@B 8>S!@IgYh4}T3 |F֦W(iBë f׮.a"xB66׻{dt?-p^gv2bу=ž[jGCa;ҍypMhӃ37^/{8^z$m<&,}]k>ߕSИe-ߘsxBR:d }5CJ]XJ~ѐ)^3xu{Xq#vNv3n=qx~ѶCSEfW?SFܶ|76fTFQ2CS2k!2r-zA _޿GMwGezTjh ^HS2mY=N{\QEyJwAAn@-fD>Cf#:e/T$R!wAvӒS~hZg-y>r(ZEDN1gOG;#RFZEIV#hm4w&G!ʸxёQ]teF,8gɱ r,87p? (iD-?"ږOzUO(LB)J(\(ElwZDzi(k~_LX첎 mQ4"*bi^K"MeMێgHZA3x0>cZS⍃Yr69 L>x"Ʋ#Ng޾KrXs?(Q)QFdytCZ}`ÛIqƼeZ\Dr2HNq#ZF˧{Nac4Seb :\8">u 1S"=S1j9 zHܡVH‘YiFӧwA. F>Yu&j!]9G`0y Icŋֈn7~o{V(V.heT>heV9Zy0'2uFV(heWvA۝.iRvJű@@ Aas:k]j]n{-l4Rk!,[m%PD_FH͟JͿtξcIm&D0MLo&86Wi+:cٳQ >&C Fkז^*n :fFprʭ3&V@j5%npnNAc.͹NO8 ۽Yby@{`$U 1XidX^ꕫZػ~Ղa_<f7ϫE 8ETGU>{9 vQr1zJzŔm4o;bvm3/92oz^y!׍k(&l2<dJkb 'b7ftX2N?4'Wzq)% 8ߟy}fl/Qz [jEufzy<>#0 y:lJ!kMy Mys\Ī)bՍOML&NN15?fb-*aW. 7V^P^ձUVmEr7{azz7Q*RϢ.[=h= sZq{N)l l ll&{*>+@ S4cA!y:uhzA 볒 <V 23}Z)t5^4rF/Fh#i4h6I@&?  FXmʂreZn)67V\qw1qSq=5zOTWRc*WA u8!QEqx4$L4! hFC:yf}~TKWXȣS5P)x M"r=pN}X`&kMO}?gz Wވ2`nl۠x8@&N0lP hU``Ubr-˼6~c4, zڀժAi O@~l??9ɴHY 4I?z4\&դ_]eB]%QE\ɾaE :e`{#W-.-EA[d=H`{ոKm׾C(y:ϳשjU`:k]~jo_υr9ү.yyʊ>4a@5-/2/ݙ2+ϼݜ yhaȵu?umib)ݕz=J}I3i&r|I^!K4/_kk񋐺fmtmx|ـ->~~{}?@dxX^I9)e{H h0h@Hmzy٫/Ȁ"[O8=f_)u3F3 -@q>}<χ '3o9+8=;F}L CQڗ.7+B m@6ާu띺VՎi׎jqM5&"#a[05a= &ifڟ+1?/ZI O&U8),C77ՙRXO.}Ey{Uj/Ku浢vЎ{GkH  πSѵ| bqـp<-z dmy=s ᩭ'Ӟr[9I=봧x3o멷ܻӞ}aA;0hP>_:\8ޡ ]G#A>{K&C:xTy^|Hh_{kkcDwąDJԧ?)^NǛU߫= #uyz,xyuJm}FԵ}s:x:z:|ӗ:~'@오bWLS1USKۋڽ\ks.o]vF:-]BK:fFu~c VhyQ6?tpL3؝#/\|y )+^_c*>laK@Յ@b=w=eu*,?H0R{϶߶/ɗKb[J]bvJNiY$a{"4o"6̓ J:/L!zDK dڰ It ɫOd<ɲ{nFTЬ /³LHpQEd,|FpM6hTX5gE .Ffj=?V2NX)N@\yuWBa,pM&dMFd |bs 5 r2@;PzRh݀XjUW`HVy5eZͽf,@\HbK8޿Dk~\zUS&WMZ {ӵJ LE6ͤklՐU^;To^STQh;^5 3$'TS?bMҵf]*ڥZ /{K;iwm'󴵞4ޓ|ȡ29{,5Ԙzal]1582;(XQ0Uk~ƞmg,zEcAw'=.}pGmܛ^h5NИg";5· Dbd_|ض4z#=Xn͚yZ1(+ X_Lp e92xt.X% ǪCED YRl\}?wrŪ-}u|>o_Xk\wG_5pf0fVSVW> c wk t.8yؙV6s} _E$w.15K6? P C=k:¸i~<} u;kKsڷk!SHy5{WH>r`7dveO_2 `}X39[ΕʎD|vm+)!N/lTӞxv"tGfd8] kYwk7]z| ߪci1-16]do:) 5[DJsw%,*3{ nTxߕ̴(= 4]f.¿Jvkw%m,[8+V5Ae99AS=/RE -qq]pRO+z"UY'\J6b3kt+1 endstream endobj 75 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 82 0 obj << /Length 1795 /Filter /FlateDecode >> stream xXmo6_a`1Q" fbhB[,y$;,9]}sG;KF&PFGt~Lf2 1Aga<?t;*Wq̈o=FX<8}GS7*,[̳>Z˸xA }5)au 4p[ 2OlJ;ЋagrW/dss*mU=퉮 ɑsY Zj맄1$8ysq{bvq;r }~=diWo.͝1) Ɋ{RJvo*.ecgg#;DbzтK_)^h<~<~>\#~@LA_siJ;uE{kE|[]z,{:ffe: Fa^% 17RCkzǸc3MFHعǾ XFAb/Bz  Y$M!%"1GyA0be$GɐLIME<ף`\fZM?ƫPF,B7Uc*tre$番̚6&e󲊛OaD㬘vܕ$T&JAzQ2`:Uk^P0 خ:5Z('8mzPlT7YYl]Msvl2.nm6 )w\EUnUϢK3@bSY=&q{ܟ+|^,SFNT|л/Vp'f/s։ގ䣇XW*N} ;uX`گnbazZ-E\VIsAެʮ/]Ky|zEYҁ@^7JTt0P5>C Jo= 6_v υ^}Xbu·d׮ lf|4w %?3]eHl@uK.z:9[;:GcY762mڢyѩCyQnમnlTYdhW6ȕکV5fqf%TdS|kT,S0Z9}4&iښJ##7uO-UU*{l,'#9YQZSs0ы7yjV̭70yRhݨdmˈ~`lRh~ x:ۡ!(fT)B$%m0[N曗ĵ͘&Zy=I';bdi$j]p%un}g a˭43;0`wz!) '2&+(1 SY4G_`ApٓllT[@ Չ=g9€ i`q&T'uAϝh[ `k[rt1;uIƂm:Cj*iқI؆I iO^/0 7vًO endstream endobj 89 0 obj << /Length 1460 /Filter /FlateDecode >> stream xڕَ6}BXA ) iX}%V#[~}Rvhp83{(QqNxEYJIRDuɫ`tG̳yċ$z~_8Zo^/"U6bIJJD- /趉jU\9_XK)ca: FV?fo21}ylw{`иղU# xؓ/`ؚ'**v,0,xlvhZt/~tBD-O6wњ x_u_rf fa<A PbA fAښ7꽢6ڀ9 * Rn;nq:b1̵Qjǃm`- k!o>whmfawAP:W_#GIEWw^\h|2 A_ {u70 n' P#@hAZ,>^'ޚ2*HUPbu\i`L7e5Dl֝ah_ZHj]XFzz3jEwKyA J_>|"x.\5D@њb&d.+gfJE-rPi& Y/(h-D.TA5m[Fר_ȀYAV5C:+~Y)5/ܻ[b3dd<[VvN*en lyB$ha҃DtaX6x(MȄ8\QQ_҆laWO;.+RA>:i`8p士Gi;$HѾu$K mmEi=B k >Qhg-A`l3ay|ِ4sUأ_-۳ڈ(_FgT0V0#>(s0bjgf1}c*{\Cd^OزY{EmT}|᝭ٻZܽ\r<^JB\{SE[ sSXt,,4(^?uֺ+&];91 ^ ^6׀Bz`]iߺpAܟjУ&B$WA9 ν}KZM &Mf=*]|yAx6Ȍga}#d-v{`+ʳ9v(.C aƫ;# 6F)|nń+a:=_7V4TṠ߻! T.?kGm:< 8|,)t> l D _UzWdȦԂjAYpmTS:mQr+lk+̽#{^"k! endstream endobj 79 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/Rtmp13a5aE/Rbuild47f7353d5903/spdep/vignettes/Fig-bitmap-2.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 92 0 R /BBox [0 0 468 252] /Resources << /ProcSet [ /PDF /Text ] /Font << /F1 93 0 R>> /ExtGState << >>/ColorSpace << /sRGB 94 0 R >>>> /Length 14677 /Filter /FlateDecode >> stream x}ɮl;r|EfON  r=#5(^ P/F`fr 'ueݐhV4 _nw?pW/uݮ[}oD__|[5W.FL}uk\[W_%_߇A~2}[59~8d7w6uwt\{b(ݳk8$Wy}dSw58|7y]|pswmXu}y={9)~a>)}~/;u]|qZs~~\m/;9NWe-ɾO'Yf|:ƚ_m󫿏A$ǜ4-Xo~_1|f&5K^,eku_>v=_om.P {zYiDGEeI :$.L·*,'&b]1d8d1^B4X: sbKc\y[媏*XI5sz!Xd.H5m7<yCʰm~~Qnsss9k^CҼ#vBAW7ƛ0KjmL.p>7/&Kd ˒s}wK EHL,@ B3Wm2"t bY0Ma#]LAvQ!ca@2NŞe. a[[/{IOqz)c^ϱ$Qg|?Q_K/ISCyMCQ^뾙*E/)?D6 N6BS {_k曄)i(80mmŚ "Qxn/H˄ L?_T~U4N;fʸg&(Eާ{e!>La\ " E.vgޯf|,p)"~ѽUyY-)"`5+V1Y6f:1;3Q]ɧAj~$9օn$S0A7~z\WDչⰡy0EDm89r^ؚ\OPhNTulRRAylړl^WKD,gNF;f$aIv&Mn5,J }d)QU:N/k [1#s %{pڴ"C0prl8ginsTb[dvcZ895i,"HR %X8)LW]i'ZXZ QfNl ENjU)blKf*%yDon/ZAsIuR{CG>=HܽaYIJ2uCݡb2v؊΀ȭk}s ]Sh]:Kcĭ6k.%z~Ÿjo@/aNBLn,}Qn~ؼ߰532~6*Im&3v!w65LSɋ.Z({r "ڰb2lĦ O=U\-/.RnLl~)^F<\W.x$c+cxO>.!cϱu~RB_(^79N3Q,Z!Xec XP0^oh7~0W YŒ?u)-d Ô( ׳N  F{-,C[b_JR9(xd׋.P0l0.]&w/N8'*n)S"XP)uK@ "I*:^0QG嫁!=|zg,;/he鍮 !.Y1VQ UbU-/#;~A:}chșl,666Hɑ6yV2pGE} Dšrd@Oz}DEJ@ &~I׬&q ~5V6O368 RBE*Tpe ^Q4n\f|k ]u |dýr)P-v%c{ W2Ɛ20+-iv]4ηJhK{  *y/BS-p-A* qĊö7H/kXDpgC@28/zM$>,cEa[[-[uE@^u!% /"(+>lJXy;ײ%UҜ&GVcH9 tp$#%.EZ8Ñ'8[l)%A["RaK&zCX,~xr v\cC;BJH L MuO+<̐8!Wp|eޚaV dIOmx?\Tp:Hˎ+~-nD6V̲J6=/U}Z8Me;K!^t W|UBTeܿuy5CCمkqI6E5{`[jY1H25C#DP7Euz +cRc_hn4kULeFں>4k3I1"Cf; Jfl Yw u.ȡW,#ACM.} KEEXJ#Vӗ܋rb?U>\M E,ξhX Rb3=.Ф691iY uޞf{qrH"#$bq˛j8psZ_^W])f\gA-Zz2F$sxGRia$;3?(~_ p|'_$Obqe| zSE2O#H]Ha}i}a8x2*f"c! $mҐ*Bٴ @W`[<@׻ydQi:bԲbyk<ͣ-voѳO{ @0n, {xp"ApTxŒE*h~OEĴu]E~w4r Do9^h\KGWyy2=h~W)L)5N>p  7@e72agc0_z(cY"ʫ)ܖ|d{Qe*(US"k!"er-Z5Uq3Aq>Dd{E2s>*4\c^0Eڜf:a/gG}P43l@uB / D^>nQ $_VdEK0R`CfL:)JE Vh-cxMB\q|GxDu+2b~њ{ {U j7EcJ~Hocc;N`[}"Z|£H21 (Xr1 QEQ_x@F/xi(j~ԿXJeآiTD{-^.%,kZV<73Wzjx؃3{HF3-Ž:8V*ȟcAĠ݈L 2R'V3V: W|7](*ۗ)zr\Z˧[NFHԌ( MU--JDTk0Bl:r1S"=z@!j9]葑mCxET7E uâ1Ku5 4\ށ؅C/KduPWQ)&c=;9V4=ޒ y<sYvX}Ak4x1 [x_z= PxW.peU>pe _Zӣ:6[ve]} yy; "eWHApN΀N\AuuZq4Tk!,[A/C_eҬ~2[<Q-ѴDHUQ_Ce눉gF!\U@},SEZ-K tբ1BMxòaOej81;x;?Xu_^d Jq=.Yd_  l@>M6~X% Fv#⌘[lJYE¸>_""|k0&8܅qmCeUJkB ƞ+yA;bɺx~ /5ۅUaIA6ZJJ5 zmTk^d[]GfwCLJz$-ҼO:lH!kEԯ6 bpzC4Z'DɦLv'/!~+ !a=:lr.pG%x QU Zm&Xd+ ރA^Iף*T.e9t=.ۂ18[98ۃA8[I= ~@ ֫ bdխ@y1Ŕ;"E uҠ" d ɓ NI\5dxWHK|V&)!kj2őHs@`ՒĔU_EabW.q%2TBC%>h&$BJ. `ZrX4}Smn*=ȭpnÍb 5F4l"0*{A `u #6eA9`IO2a.(Kn.^ 9?}]ǻ}WgRKa`vHaa T8!pHC>C9" 8cA1.]!!U_K!>>C,v '43= :.P]6] j |*A 4`@uB4:vMr`؀ Ϣ8\"jV8Tɹ!Wո51%M!`hOej_PpG@R$1PvX?6}㡿` Z$jJf(%9IO&?e ]環B.MCd_jv*ˀ@UF [ nZ8pn-"D[iɵjr+6jӛ -k,XnpM>sM?sO3{ PIzp`AaYGKP뚦 C)Vť\ԋKTKL[.wJSkFVx臡!Zb艡)b苡1Zc{QWɞe{l/=+j.l.N1 RQAE3_Tv{_ݱU {iƣ&&͆M CG3V~BުaV⅕<I*^akJ(\ {kM&gr L7S  _ -I6d0LZş)˂;?ܨwCܨЅ?U]cٖ4upn 9Dnԃajj1Wnse7U~ser_yWs:Ws廯*繲Use>Wse?Wsg@r[W{0-Wm_[_6}ݨ꡹]ڬ[لyU-3@|]" `0 `Rp0Ad\1WNL?!R )ߓqo{U4r#WDI\9ʥ\;GzU #fss$k1d *K!E(G!8JbifOLyre0s^Pȋ:zd0 s\s9s)s]9s*U^*vU{-VxHjYE&Q-*i:~3. 5-`ϗǻ)-kA̠k\\W#%9nqM; ޕW\X{Cpˣ4^=:"i!R \I (k`2,@)nǕM%X;Z`u*N!wBNi;1rFȝNZ*sWWIkѳr N@}(n Opo h-R=(GC2[&3ω˩snT[p6j>pmDUVw|qDF@7Lrh$I{@aUM5zD#P^ՖW쀇uVAuw}90jk bBRp*ױu\d:K~jo}\N=(/~[VT) iAxyΔQݐV\[Sy.Vj[lJJo=|)=w_Lܽ EY2I'>s=Rl9Mvz~ قyW_\\?@DxZV 9Ie>S(ŀS8ES8ŁS )ߺZ} 繳gϞ?!p3{q9I7#aG;R hg R{YA}:>}B aQ3Ӂr@` 'c&Χr+B!CP%y]wͪ!ׁPνM)FuS}oUwTk|Et$0<9a~ pp)J>f RٓBc.6F~*6.ŁLD tcP_}:VBw^ޥ(W%^^{E;pQ`8 cA3!ѵ| SX 4{~fk/΀yATޞZa͙'g\O8=\9I=븧x3=|ܳ;,p BbWr.OO>.Cxu2lJՑ ?{K&dCzV}~~EN,#:\WIqV4gMSV5g]qSPqݟ -h!K R͕SZ(ACRZ=޻z]+6iV/=V| ybeU4fo0k|#Qt7'͘MU SgS?}$1M<=&ʘ;Cwr^͹9wGl0>;=a \icf_gk;= -/JOq&3Н#sVyG*rB1qƱʸ Z]Ph[[ y~=TApe<>"ʅ$ vVaq!wt\aHT < sc}nύqoύ\uA\rD 3)HPȤs5[ Xk>z?J>C7PN>C?PP>4PG,G0|#G@|$1GP#*KjO"|?-S ڊ/M}$`cV]o)(2@P磁HV 6 0Àa+VJj[1q&n崧t?[T :Jql4? X_ #qqUbj ,شU0YIr) 4D64cD$/]h찂fM(;,au,)zXIpu/=Ȃ8N~u`h㰂pvl?>ߏi[;ŻyN=-߷喳ܒ[rK[댅+4Ik+r X5i]>৪\LsVXv}_0)62 0WcpWYq8{q;y?܁NB=P : Zre bh@tL XWlݐ 5/-]/.51kj`K;P\,T;0 sw5l.Y/xz%[X!cn&{ 1ݎcMExfwJuhzj}5Q?iXmdV):>*YӺFYi_0u2fR'OY9?#GTURXvZQo#X=i[n5g_lhϝ\joп?!܄VosT@QD:+ayGk܉` a*5 'cj\o/= .e(H՜;'X_• pO҈n=#Ǚ"Sϟ(~5co)Z^Aߙ=ܜְI,fh֯(3EAHEɑ",qV/߃)2z<6Zr&E8Y:%u l)G>`hxw=gW(3%N+EM)=RdR\* ; lxt:}I(T)GQ@_;:_P$ tm~Aᙃ)b_~Aa (s}t^1ZGᶂ{SԸfv%#¥ɚsG|N^og; /`>C.Y' /SaSXTSXTY >ȺLa-'\&d?SvmDJ;Q8 ֈfJ̕T)}O]O`pJ); o|#o-kߍ7 a(V9uFGBҊI`G&ڧk3 mYd~Gߕwuv =e FHw#=oaeMMẛO.jR*y8 pGfbۼQ-_qX17Hǵ/vSHQ X.#(xMo]V].)UB^WO- `^g UrSqpN:@BXV?!p1IҒ­.w)cM*tiP -4LUwdnh ڛ: /y3w"jѕ 9cLq D m1qG cXk(1T~eB=%ХA"O)KXb{8Oޛue& g7wґugu#:P~c}p{qS8FAB* ̘M-?` yL Sx(إǻ:R?-!XeEJ'l qݤ)oqOq=ɍvHa=P| QoAw0LQY5HRGcFGg)S8w)9 'wCbLqp{t-liflq=LJw=Ao#Ib[K7aqrkdRLA)a !t]-Sp{a3ywv(ܬ}6`=<̵S`.`SoN-Sxsc 7u)\P`3,C׽%/6{L‰)|`l ENE2WL0[=eV^Q(+~}l y(DqD{P܂)lCG oT0S\e 1WT[t]x~;ݛ=i:pLT[Xr!#K^̹{€tCÅ6~x={X8tGL`N/l sfS80Nq@}uQ2?™›Dp>n0De 2O)K&8'𯱁WG6eÄ7?h$1!$A;SBB6 v:132S2Ԙ=tf~iSB6?pƗ&Q8hQ9I2a{8Pͷ;u9L03Ig箾VNq>q)hܺNa$(|l  8$64d;Ck8=t g(|{0ڶGCQ$%8>␂D›|gcz~SzF0<LqX}3]9׻|>'2˞gC5SÝℸš")|RGօ)0Ozps~LJ8;šaɎ)6e oU2{{CǼ?iˏIH9n8o~˼_sNќ?h$ɜi?wtV1O.G?Pp"GECnKn}ħQ>Ygᓟ(פHuң>k5H#䏶f]k>jM;LZmOь mJDԵ8l hϟhPR."dݳ吷v?O/:Yp4k8iզ>"Ьړ:xwR/_^CgG@I҇)2uwuHAj Ocy6DLKfig*ʎ M ?h56tpOh(i=]U4,`ee?~$b YW-SJ̲?DBGӵ[ZU I|z>-^؅s GL+?H} Ss*hG0k?4X>٠'<J5A4=O ڀ]`\@t>h Җbڝ7h{P':Jf B|AO3_s, endstream endobj 95 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 112 0 obj << /Length 2050 /Filter /FlateDecode >> stream xڕ]}~EXh,{+p׽n׹+X^i}IJ\vEBQDR?Tr%\FZ"^w{56M4Ф18`z8~ðIUI #W`i[ п!mG~;ؽq`ŠFljT숋i]ѩ7q2:,ڠʫ-kA8yĘNǑ}&:k ;a#cf"p1ufܐ90gOf<,@U)sZё2R#m }$u=yao(!epZ"ծ5@׃:tډv.Z2Dž~/ʢՌΨRrl k}dlf2=f୆(t2OR~TYȥrd&*RGaui5'!G:#G%@Gq QY5``1p`v58eFӚtGsfיt,2lT % ]tԎW/GYK&DD%.Z^BiqQ]eqVрd#mBLF@4$l_8ytlgҡ+L5+V sз @A* D>!Ulϓ;^$fGћ8?ŷ(D^8O [WN%?(j(p͐:#G4϶3'/xXDf1/ZF*%\S;e -Wu ,K)dZ'Xx Te `i&5!1Rm{M[.e)$֗7`~¿S0eS$~mhAKe嚱O'[;ғ X{ ( U)2_Dqu-MlBbb뚷|6 ˇevY/XUs6־.ٛg:M%d_@-OsWA1E <3X˚FE?(ɒ1&f7 #ޠo~pˠO6bcw{Di'MEZ竤JUs|',bp{Om๝1}jQp$%bijØwy8,>6B6+ ~ ~ᄬ!ے(͍ʚƹ쪲V3JݍʋPb"1 ZJw,Qk;/i*EWR5hxSC)l樓wq:UGWƙuѲ{[|iE#( _FDDYt?O-?9}1@soVͤs;cy>avxKQuw#=g؟]i? !o/WZ2[daK{ n2-pƘBd0L`Mӡ8;9W$/ ?oo'9$Az $[0rsh37Ԗa,yʄjK3΄֪9m5pM;R udx*d[(_ե_ H @!_Y.U3Mssi3i=R.ϓwsnX> Y߰-f%eeBqƕ4r6ôהr?Riú=Ea?K9x Q&uPl:7HIx 9)> P(;gJ8#9r p&.s'#E ] ;%ِT|/ endstream endobj 103 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/Rtmp13a5aE/Rbuild47f7353d5903/spdep/vignettes/Fig-bitmap-3.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 119 0 R /BBox [0 0 468 252] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 120 0 R>> /ExtGState << >>/ColorSpace << /sRGB 121 0 R >>>> /Length 23007 /Filter /FlateDecode >> stream x}M,qYJqU][ ZJ2Mܑ!+#2{Ҳ=dȨ#=ۿs۶c{la?7H~s/gނq^_xHߌH_}/|c><:h#}l?0gnn1%nffW-̲ylnb?Ty{WgKxcsۭYnw0sT}g+, S9z tٚ(g{qỵK<#h i0|dGtJy3w x?;;tlo_/lF?5c1m|} BaxN6RchO>߽Yc?l[ì2L s^S6;~q\e{ saaVF|uizjw0CxthG[*ˁ}kZ~a+l 0?ƣ?FƘ汻iw.Cp<0Ӹw ޜ6c4ssK?~^PzX_Fydmhѣ9f;hڱ~kGn9ps<%>|Xk cz9|+AdG|&;jQ9=wcq[ߎ<\ S:e#Sky%W@ h,kf,ӂ/ہlFlCIM[lp'uw[ÛM׫ql>m_S*?j}b{֘?ݲahh\a _43ű1rس^j\3Va0G'=ZmlK q+3Σ;Ƈ}(6xsv>*w=U a\Wc4KKZe3<9n0D=b`z;71*Ǵ5FͿnm_eאa2 eMP|7^k٘LcA<ՆNDizxL&FgqkWquLu|6sOmnõ^XmeU,Ny,c\{ :yٲ‰~ѳ fvqͯo6ݯ^͍ot};ϲ{.; >J+9&=LwӆaZUCoM6-Fe`|oɷ1`I孌W`cGGK9\<[0G7^{Bb][0_mEDeQ11Kڵm[a0>fnKyc,rm c6V+oMqW0ICxZ3csXA4S5/"eH'Ydi8E%ƙ" i-ضUךRm1X"1^podzi`-)Mvuupǭ8fǢ9zo|?t‰Fai4>ێ0LzG?? W}чun1m2FW1bn29>VO5L~sa&1U-ʩK1=3L%6 (bMia[2x<̛cꓶa>}غ0/[[?vnCӍU֝-Z?>.So䱛eCO 0Wc&xSkx`<6)ƴ<1l1)Sقzqk˧-aRimFl\ہ3 Ӝx ;.o d30s,Ɣ-pQcช%2`ˌ g<Z ̶q51ÁM.39z{l/fbN]O;̞iNj&HMvuXswָc2c0-o('_/9&]Gs-Gek4z1̮<XG c>uC &]O`٥P}V^|0v1,pX:{wíh˒ Yg><^k ]nԛA\m6bbiO`X.@XBFwVQCd,t0~1|L؆ W%Y,w+m+xTCǤLǔ2-Wc:%%>\2sݸ|;S]>b v] ;EٖrN3kD:c n0k] 0f~kL_œ5bכ'-fsck ~zn s;D9;|NzCt~?{tv Bg)A;F8x}8]=H7,m&s)ZGdWm-c;as|l,d^ee"ό2^7+/e])!f"6d@P[32i-nW4_9F0 Ӧ'ŷ2=i0a=gԘ 6Lx&_&|i.5ΗKNo+J>@6c`or6h96 ?>poffw㈥;hţDŽ)o.h D!cg<79 WDύ _cz$sv5z8dh=̱ayb^ˍ#acܙx Lj4G4%xK pak4(dbW `lН{^b,\ˑW(X+qgMCsתy*\p[Vޭyiaف_q5m!^҆iRrp3 c Nw\2,b,)K+ٸmiѻo9cm{$7O xk[=[VI Zrc&wHB*l-f5~(Ywc ={b(XϏHj_&h'2Շe`x<qxEJLΥ hl"V@1l_Hf5گ[q1/0?}"^%oT 8sQiċoT |RA; AY|KXnH>N'$Gß168*|3a C @~5+BȻ==\u$dH%:gW%j؎5~=> *<qX -π|cVp>VFEM2sM&&SX )]a n/;T8̄81N؍b'~1YcnbR4'z-eęhf2O@#n6;lkdl cnK'~9vOf684%/Da)ڶ&!Pnbhffۉw;\ޚy揫@=!{Vny?"Xqj掫XwهgІ|bxX[ h8z/?/[\-̴L0Ǿ<6 $$SFt3;Un30+al6Tvx-nuK޲_p6eBQ<3䴍H(RN U; 4 e60NO¦(i< %Ԋ Vfa #~j$_/axE Kl Cq,85$@;NC>) ! M'\ 33Odgp<z c^*?0mZjɷeq9>lT!:Jp% 0L}-"H[qfE>l BwwtOP%Ŝ% !~3D(BGLN =Oc_pfv;_!͙cA@&YiP{ƼW\1uW^1}5' 49Il~ l8f*vbFaT I0d8Ҏ`};i{㩎~9h ~zzJ Tdl_Ɓ;9~c9]{k41{b y0H|!0vfꐂ4:bj|mNW8 __tTa d;~KLlM[<&2 q/1}GUa< r{Cvht:ð*ܥgr2?$*Ԋ<5 όiWfg`l4r k"E%͆* ۯ"NK#-3-k@2F\Jaז5#ې\7怄ڵ9ܐFY.^@g܊ I.v<"@{p/l,4'3>LN-{Jhqe2[ XZV6pq, N_u&7}c3#`B b4I6MXF (=%ۍ/ߴ)6IJgmpA)>t7w h5,q{ŏ- 7K%fwxHłY*NVi5$3w#{ݬ[EH0ޅwsņ)A2oO،=*O! B`?Ñ>@>>eaYFbpnUypmJԡ%*)jx2kWIO%_IᇔE#@ҫsufhs7`61] yI:Xyf3z)>QY7:RzbT3qd)l)MjzAhGl7y>7to{5f U`cy}֯խk띂u ]B<փ "(=qyS .-g|Pn0^5.re ]esEsWXZ8JJ2-&l&L8 N8v~l-(L$zwڎF6FgpЋ_]hmW E A:XH]հW:7dm.:ʷ^HuP1-!و)#k(\? ߈G5ިٹBO&☎nN'a1,dBE]ŽwrWVcJW/[p( .5{_dKKmĶ\Yo.7[ Nְ^CYZL~[#ġ԰)^t +!7F*^զ]-k|#jKyGs RyFvlc9 ݸ dE|s̎?^`R]z%*3,\w 1؜hNՁ w P@Bʞ'P(=},+|sL1Y9@~7;;)3Ǡfa ڳ*%ٱ#-`!Vf@ gD &޼p+ Ρ]T$ĺ|HuZ ,-GiF5J}õxP=~(kq`]lUfA35f4ntG$NZ YNGOW"#\ kT] R u R 5`OKLl@x3Ka0|1RtV} g"tቆ$z-N!Lȧ5GV\d-ۋLўgk_vZKەOd8uC:39t,tD=6X]ؐA8# W-h}e:v1'{7m.4@Kw`e7豆+`@}>u(AJAv>Vn ;fLmAY;bŝGBh<<;(7{>W(_.f/`38 dl~ك5r[CrQɁڼ _ $(B/]9qi #k{ĔI;OyBpwgW}vgr%6xOpK"@D$ 8h*]aFB/b7wl;b5U >=QQP3&IETBЭ=q(t"&>X$fndgN %= bDg>ϹE6P 4:NH&*,rX ؜+6iX\KfqfmN&ML3{kupe0zF<‡hȫ|RLL/*ߊN)^/݋د"rm]URsR.RT'{o/AkVy.:3*ѷI *4= 5cłMůY{2>)5^ qEL{"q?.qsp,*C ڣrP4SξT/{vf*>-ÿ!;Y0{,5DV..[e'V߂ڭN7 B纡ΙhS+7MV&>K=*ڛkOZp%i]J42"3i:5&񧯙o\وU$?b_>lUQJH+*z_jVZ*:IE`IIFp7A= UEW}'߉1pG%,+`- %.~ 3LxckI`Xʉx.EBe-c"\^(c4$%- nIKr\RX_s^\EEXg%\DxJdDjw5̕f C2Mf/ZI Y{x"G b"e B\Nj5v2K;e!5[󄹧n j˘Bl".BK"44||7 %)~JnX2ǒW^SNZ2s>[TN! iq)a*QYJT.KĴDjkdDK ,|)Jʙ1K3xTl(_t8阜L/ :eJvrƀ- #$ irV1!"ZG"Ta.։*|Y\Jr{BiTF -=;g p%䈼0==|\6݊<79*$RB Ĵ^6Qq2v٠JT-R3IM[_edW=W&`HoE>s JعNVh[Z{ޕugW\ٍZsz &.vg^ZZꤥZj lϞ`A ;4$}BZRp:M??efu/]7{W^lj7MB+(ss=0#dEeIi\ە^-}S< kYTkQ-kQ=kQM/}(X xC!f*,Ë"W,jY7r3W5j x F& @ 1٬[B{ '5$5"P¶&q3nUW+:C`{wB3&N ?ǽOz5r?W #ܙ 1wai.IsMZșQP('לC|ҥ"lȞN"*wK^rK@- 8NçJgx%Jk0/Llo3fI1_{^onwN}7Tq-Η0oʘVF22'F'zWzz4ݬG;z4-GKo֣뙁E85cG*kʈ5}OK|IO 9.z/Z$/:Jx;\qc > 6)ȥz &*邧Nh`"YC'cqe2 沕{@t* ņtGe]i[ve*B)ۯy yl?;iO[n[nQe&Q/t82ňDPԞ!fe"5R< Os ɪuӚ&YKfm/^#v)ŷY|qqݪٙY]HwyFҏ0iq ܳ]Z4{0kKIJ ·#r1c9>G[cTcKޓ=r;ػ=><=ʥPMfh=i^1=$Gggi1{'uMx17ϋЃ~P$jxoIsP/zF6 pWL+O^w_'ƿpф6?s#@/z1>~˛Ǐ1#rݮ?A/?1:7v~o:w}b }Ĉ韧g <˕L|.'VrB'V x&ϸCϘ;2P PKimv`RE~"gz;;&?qT.:k~f-HOLOū+[Ȫ85vu`%bxڮav+4ޱꨖeӟ#r~%X*|o/zk.׹wGH e_P3\Y,dq颚Fyz wo] Gk1pXDC8p'k#q#JX沜]B5JRX!Cb6<3^3N=y6@KcaO1@o; Pfȯ|q8,C"`u?939Ht?r\8`6g㢏(7~.Sx6v2c)ʿ3y3N?:cvO9rbSrߴ_u\,FǕ;dm;n,|d`F7qUMu+)jMpֵrL=2-Ey=|:޿ǸrS~3/~z4~c?:tk;툝6W>>ӎ|ޠt N7@ T7y Z6p^'p߿O_qVfz>v6{02B95c akL.;V`۲{HEb6B_o/_T1s|#x 9Nϗd#\y6JBkm~}@ɞ˃%uVA̰C&,>=J3Zl ?~'hmB`O>6]t;e{ڔVo3B5^z|'_;A'V(fk8.DmMyȅü籴L-q)Ĩ0TE؝ix7߲O}UlyϪLn`Sagk?kQ9ܐEQڟ*HR9JxK1R-0ڞ9v֢6kXRTMNu#4-7|BfOyf''ڸӶO"?{+C-GB!kNۍf^%' pcV ^Ǧ < (ّ*^R^3nvԙl&)ډݟooӞ$*ێ뗤X|#$#$t@j0`]`08\{|fOy'< ݨx[I+xq. v#dsRvJA*J_|x*KL^ş5NOs`]ugE VLrwpIZ/hMƛu|3(IY>Em\GY}!#uj60Y$O;#^~Gc!Sۈ#Ux'X./dĕ}n0-4VƕDbx4P*| 2>*ce~B(R4cf_ ;ED(C V(P,G^yl?w_UI$ V8JJYU/*NS6I$ј͇o`r%fm%őFU fU9ǗڙŸ7\ Q'l u{׏DHm-.?_%AԮ.me[LJ]$` ZC^3sϨ ;$UWGTHiG]k0T"*+ !: g1B ;Iaoqst u~i_ v״#ke| Î[_zŽ7ExI+ۡ13)Ho~w UB7mw_[voxI 8Ƶ!L`MJvݥY4lWu/FdbKĖ63zyŖ>QxLtP| <2nkVZkk@l8֌/?B {#soѾ@Z>iSÃ|pl?RkK0_'$,³Xƃk/x"gd B>=;i+aYC~RL<P㖴nm?q)!ƜL#l_<ȃq~<4 k`t! ZGvޯ3uPSc*gdFIF:i% c[[`HP|9ic -E@ OgT˔xl e!v!HlEBu~~eVkU3KV3A f;“x׮똼L|6jd#2Q:@>c "&-%6 iFԩZԫ5gƿz. zcwT$1Iw;8G$BH2f |u;3r.bHǏQukƨ}t)nnJ!'(7b -6vV1OVzuIwz~ h.(ӎ4I{-N#Ig }/bX1_$b^@,7rYq՛.c@3'#$ul(hľ]rTk1"{Qӯ 9_'d^8Ӊe8q&1[q0kYم1xQ%D@ QԙP9%xuNC  Xם5F?u:_o"!:a ~0={`g//ꏋB*Jʩڂ)O7QQhi_|+WҶ,6ϮLrbo+ &,Q,gzf\_q y9yKhBмM4y%/yhgy"h}z{Y^+ѽ>"hyTClOgCdw,= x؉rK'X2}ISo bv^ؿ d=LOL5ES]3iqBl*GqokdSd7Nc{W{{mIyIQQbIڐBg|P3#w)Y=$B8zU~J2ծp}C܃ evD:Zs:{ιC֠E3k+a&\IR߂+T(4z|c~m䟊_O~̰>uFQ<[|"A qKl&f+MwOZCsj=ۜڕ\/d;x.q {'~:ַ;!/ǐ6jKA.$[AdSn~E}>ty Ԅ-5\B-Ūxҁ.?y? A 5nj}3$FS.O]l\b!,Դ1uwzK }t`)Nc~O8!?D.AtYHI"nmwD -gh4NoL*?C$ SW^Z Z8m'A!XH7f[.D!z\0/>Qpaz h͚uf$FR :-=QZ:%U_q>@3SF[IU ɓ8$o8 &ZNxt@ 1 ^?a%*mq5*Qi0ɿta#կk㈹=v7g/SMEThJ* -В -В- q}^`]hZ]ro]>UV";S>57EU=(hZ0@hR@ZsǗ<Ew>?:"f}3^BuuLTK{}vSH0 1t]oA?R(ۿ4%N| 8=׉L&*tuWm;Mgu>gy Xo| ?`auTe]c$ܨ΂VFա^!W}v8S@Uyg!*z+Y\^/,?lRE4o LrC:!wUuFH~,p!SSh׺gn#1h*؃ŋ9pNڜcIIy*; Ѓzv vwFæݞZDklF_b;T*e!(ש_fӽŲ9,ێ*92?h8t7v&2u6 lq gs,D8wJ-*;!f LSR}`4cLE#yKCR2 8_ &X&TB*Tb0aAJIJXAKv$ἿyZ置 n|*/0<"_* *+0(W 8z;F:scKɗiRR%gkI\`j*8>6a ³"@)"PP֌p) h^⥪^z^ekZ=kS~D1/E os;q\ٿns<'5^ly-DE>1xq־kRR}k%(.xܭ}ݒT4"nu1?G>y>6ƼKD,MK}~B2OH^Xwy(BfsK_W@&=x~08w03=Ef>TdQE ~$8KnkUV,U= )NZ7>וkݹ֥Kݺֵ{n^~׺_U@uTW@tT`-P]nܮ}Io)~cз"DCN5 j-Jy)d`&nH[йW^rL!0A)*/AOGmLNݯB,SQ8bVi H3Y91HҥrR*+r̔M%-;%孤_ NW,)G5bCx]xV& 4MFhE: ABx(_r!^o8a~DNwP/Eē+DH䞙W2ɕi.L:VgZsݹ[ ^N{^r'Ű*z&h'<2eU+;Cm:,qΈ8btbu}NjPӋ~/59D9PU䨤5#BuFK7` =OI,cޮ05%ױ5%~l]*TD 519.*68BjJꤨRj,*5Xv(,y)XvSoѦzUM_X eYeٯߵ6!E\Yd4/@x KV8hVHHO:QgQQrrTxBQgmض18Lvz?ucc٩8Wlz.]4R$KPg`Wt|K}+T, H'שs=.Zosh=h:yFF2 f o>PYJ5Z@> g*dIPyO0חVEceWhwzAz7U@ VmYIUVY%J!ER!TU\g-&9%)n%ͤ=%)OIJ|S?k,:3FT#p%(@JLP#DOt'MwՄx_ OP:ձS;cyE/Ee`Q!PU1XUfUIPƈ ̶*٫[4TO5WYSP5UAV}Y?Ӛ^ͻu&?ѰeSl7 ;v>Mv/7pԼ gj2*}wu{^ ~~ܽ0,'=Iςj)RRWRLVR(-JykTXKa\]=I eTG&δ=;8==ߏJaw-3:#&p L/nn7jß`*ZiRc?Njr9F]k'GYt2kWs6>1VKR ^&~*2%搘Dcid^4L\L |Hfd"X f!:P!JXThab 5 ޞ~BеR ;qa?C s&D 'Ϩ.ov P/a"Rt]5w~p۵vlvcϣZH/ZP.BPP"P2XPEHgUVE`W~jj˩hzjr|clOCs#C>[yE\|B-g̹Y[H̗vql/k,bR.3{ct x#;QgNqFk"_K_Fv1udA8ƏEj{iNy[HP3ҭrgdpoUyU?ZYʢP0VNTbyRW)M{m>ERym\샧Ȉo,+a,/0bb&1/TvVdq˥ˍ5;}ȧz Lfg2A d5C/R3=akB23j>HN*R+5sn*SQ,EQ%B L~[xkq`zD\}*eaL7z7z*Qwkfr>@#:3H_S sգk0{%v/:+*z!"!r"1KqBw E doҐ&\4TJ5Tjր2S3 3t^ʴgc)*XTJ?p j= q5-:>ߪd֬*\%t߅,K6j\{zFHP@DУ h=`>Aӿ^Ϛ^ךN,/Xpk6``Sh-8Ҧw$w̮ >⺫k ~[-~S0r1TI&ϝ}\8vSs҆Cf=mpS=9l-ðvso綌  RwL~GH=>K;5( s9~;զ!|]IKbY_$ gh~]yeQuQՅQzWd&%; ,G+rݾÝrUNwU9^U9_U9Y7[IϷ䥙ܤ䧵PZQjG=[p7 ̇ aB#HR=t=t:UH}st8@J=r>R1@M=S=@/!/?ߒg򳒣<fjK}1Fxwm(mЄ"g5~|!/+8 ( MRѼVRvH$@ע ľ5֑7ԡ<4mq4O#2#BK__G~w_Ha1` ww\K?W/} p|%+_ kAT0ߪ>;.r^h퓉1;W*K$W=|Xۙ# O/~c!قާ|/p&K~{G?W?~lm+w=z?_}7o#-ޮ?px|ß?~忲S ~?3jm{'$pqz\_zǼ/e"%rK{bwґ#/t›f3ۭsn>Ȇ~}>v^a?H>A N'h?d'r}p6d~Rpl7m3R]]H~?rps#sG.Iu׿ Len endstream endobj 123 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 142 0 obj << /Length 1761 /Filter /FlateDecode >> stream xڭ]o6콿(`Ogob/=(g[>ɾ[>R;M0)H_Ջۢ ʨ<gaV,vkO2MQYhؕ9Zj 0!Fu!LvdC'vǖD~_P=W$wI#܍g7mN=d 11-IY/kZ5< `)6juAQȃejPɊ|¿Ե1 I0{`8%2F%!b8Nnx YK}IRio@P[4tv;t;:.> ʐ7Y_QqJ}t]\j[7@ts9i[QP;3p;ݹT1c#+x:.= %  9pHwT}ZH;3$8咘fkH@]r8  \iG)98 i)T'{d;c^v#E)=;zm\nq}},y3'W{%%]TE\`Y8Pdۋj -XM!7[PPEЫQOp|YJbw 1Hx6NOXHWfy1Z.3I5V8$mB&aR֢7F>4yji%=kE0 jؕ]Ռ[ 3~Z(lMsKs);n=`#g++˱jiL^iҀlҸ_CXj%2t}7-f#>j.Fs|D[1YNh%4_?ȞH}3lh?P!M?bzU<ʎXtzxokg ~p9m/d΋l^F pDI6 endstream endobj 126 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/Rtmp13a5aE/Rbuild47f7353d5903/spdep/vignettes/Fig-bitmap-4.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 146 0 R /BBox [0 0 468 252] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 147 0 R>> /ExtGState << >>/ColorSpace << /sRGB 148 0 R >>>> /Length 12154 /Filter /FlateDecode >> stream x]ˮlQ!Lw3H-1@L.$>kEVUӢ{گ|cŊ[/~u^qݮ[}ʷXy?3ş[喯-]_o=Qo{?濶rn|^6glCW4mM[o#Cl- bLqR3^~4d:Zm^-m=$ +1z29y`bkeN_bOtsK1Ly5MBWs瘇qv}y~lSL.u?g^L9y^Y3j3v{u"ybsF%L<5|Wpo_k95y9J\S,Sn /[爷n2ń+WL>tfmQ ?M&`[_}κQlݗ)S=$W T|^s:\ٷNL|`qkm>Fo}̋bĊskYܲ ;Wv@TP2X?爃>\unᩄ&l1;:w22*dȊ[6Ys %1xnOen(\<>'\kjOb2`Ä5cr>02P+R*P|ƶ<^w=W)gG"*b -x1l@Sz-+_Sd?˫/:,ǨaU~mZ1:j`9cwB1#+&Sp-fel4CCrc'z˘#7\an?ڃ)}}~[Zth\r>V:&\osU[!ařSho(} 2 ΒA~a8sC{y9-g?594v}qkS4sߴo84mra6r^ژ}:;R]W~F6]JMďSqNi{CjAJsNLZcn\c8x^m$E;ħ*lװCN/n_QK5B=m9e&΋sM^VTj^5[/ !>z ދJY+8u|ԼĹ6ɇgQ8٠9sL>/&ڴ\6+uQć;={r&/ڰ3Cjn\agL\ՅU7Ӵ;ֿNSr @-oW=2ٮo4;ۑT_~ Lni*6ysx.:R# 4k$CϨthCI$hqiiWt R/fWcZe8we:Ώ`*OiCzqq2e +גKs$-8d[h!;doN]~/wU#akr2#0'6c ,uc+7Rܸ2ܒd;Ɏ/ #\ϝ8sq)uigD4~?$=TaL0A 7>rx~,d*;}94A{:zs\ʂY>5t#5}(s^f Jͽ;p ,%pl֌;BW؈B5hͧЩmѢJo.@V:qT͹7졝OҽaVx0M_;rd#w2Mply^t;>} m6x}se1D-U w=> 2O|SmCIaB*r.!5S# 6?n1:*/ g ?ösn<||Muwi,.aG5l,<ǒm Py|` f ̸~XQpv-Hk< Bm[V|Pajf8?Pfʶm.-1}?~'~wP)p'3 ga~DzL%:u)y z7-Q<SArnKOXW&źN1sQߣ`5{si%_L\} S,b6= "ÅD,ȷ%.GypQZ䭻RȄiN_{u*|Xg@Nk#;B&`Ez_x96ِ.y,"b|4vFHd{1>f~kp2XcΪcű‹w8KUU DN.8G`\XHtg>qcL9@H@c'9Wŀ?\>F_Ycژ)ǼV4cK`9.0 Ŵ `#A 4̂YҀ-n8=x*+t*Hr`!qmtg5Ч`\)%e:e 1g}] S#Vˈ=𩰠i8ctZMFKJ0kHheADCT5쩁w \5<@e3/4a_I"oBoPfDpJˍ ?崦RWBe._V`NyLpʁ0‰/%ty`'&)bX,ɗ`| dLmLďbzhց}`m;aTi:VJ:SS.gJFR6 Ɉ!,,p\P@pm|3Ӈ>|lG?|x<ܐWMI7oH9iGI=GIAZ5{-74@g= c1"Lc/e^F4  @hB3 fH4hhG2@!@Nyg#_{x̴92c6<#K'øbafW# uՉًeIEaPWׄõ{'Q2[Y!HGE]1yeExl'U 4fBc4 b)?NȑccD"e? (|P/PB 3(6N滺˞/e2W2cJ[9e+&36XT̯D cXmvˇBv 5ڲ$UJ;}Ejiy "I&E{Y&]oY!w֢H*#=L͘A&.X!nx$>~ʘQ5g)#(B0: :ay9B^ EC~ZKZy\kئE1Z5<괘ej\-o-򉽼B/|K*oo*srG+{g8d9]Mq14GA*MRiJT4Ʃ4σ*4Q/qZLo\:W6!\ .Z'Rc‹U[F}3EW9,VuELh3]= ӌ :R|23e:0!#NZHO<﫢sCdBi6\Hm#QWrgi3aPoBoKʘp#6/#)8H'Vcqŵ[rq~s#pC I@+Q]* ϕj,UD$b[Q!3OއHN4~U_aj2їtRʌ:"8x@/)WYSk^n.iS$G8N2p-_@d, rsu=G]Ë~vD{Kb9p"qzO+M^MQGOGH!XS̄eM]`q& cO{QքvwfNk]nԫk5d0vr%Ye^s-jۏ.xDZ𾑺(r%oqt>{tqG_6Bމ z1 PFC{=ChEv$hۊ&GkvQ8鄛|4JtTJ]+Jy?*+_;H$ptNک@;h܎{T{-xjoM 66JE zT0wOlmdftbYyLP&V{ e 8U eVqS(2` ȇc{}@6P$ꈪ G8qŏV^$URC)R)ՙJzjFܫe}mViA|)U'|д$*|NLvbPobAYn}{7ho8M:cO /H+xFHT)S[V&W&2͵UcTju^}չZ DK!J4OP{i _q$J+08XJ3؄^'$|nV&HD&5Q(DM4j"RGjoxGP#F 5lYAcúq$)q4df9(5P#hD=ՙѫl:L7:/+ƊxQ3Ǝqo #6Ɣ{ʯ7WR=ewd"( fu[^W{?ٯJYiO=^ps_Bx! a6|GV]"%<\3B^O3$+CHv7 oq:kbs9;<] =z?t'8hwI{Ci(-B'ĹA ;?kܕld<%)O~;Pɂ'PɆo*J~N)@; ٩ '6+6v!Pr8(B9ʡМ7+&b 9hw;~{tږLfb"Fa^'u_K~B-6u>"I{Dss{{IVנZ{ڰ?@#T2;}./f-Ѓk곏y>GX#Ϭv:iG9b|LfABPrN=8 mAH Byk_q :ePRmyqtx.Foz&8+{AG _A'h:_08a_ڗ~ԾM_н)>G }Y`O X C W4A:+q墂})Ҥ-o~:~Bͱ^x3o'N~oM&dPj#m$D,]4kt>˞cnPZp]`#\mZsq^8V4yG"Z˨_Bk'/!C9<2$@?_ @qy.iml7Fr%Uw='~zR[ik hyHs?-3'`(vlmR'&xh - gz^oZR#ah"aͻ͙x#>@;hG혠vdЎ apg *ygvIJ{LO?'zn>i7pĽcΔXmCN0*}cFfBLoϾlw|GN:}>Gc}IPYwVaZqO7-ܵŻB^do7;fk].\8qs5Ը+bbbwXu 2or^ v}] /FC!FRo³q{,Za<2qGQwvdڗ8x#'#Q(7_`ۿ&_p;ؽv$oZ?kkhmʹF5!\K5PokZ]rQ &51ҬoUo2?ߞ0bj\by)[*TG}a۠f@SkV^׬e%ᩊH9\^ʓ{Ln*~P\ 퀒ڛq[V?^-^١v`{[Rw+TLyjUΫ0b/[:xW戢wS[LV]d ζv,CZih 4h5!XDڎMI^Y_oL|Jao*VrKY\u'A, Oi$}:mo$\Ny3c[5rrY.MŊ7cvҎ_LXbH-bJ)NIJuI~"MkY̚$&$&5I.ItIi⏽'Ev'315 z+uFz˓-;>##MΈfhc}# 9qW6ևF\_u4*i^:Wo:>`}?0֝cm4/&Wʽ=+$"t0%f1UWjlըva;~]~D uT ueF#H,`>XV]!+L-A/#t{tu]akv3GxAR%)%U+%ei[[m{mqmVwo+mymWj[`mm<_BwC ]JTo*2R+'rԯ_'ׯ͏O SB7=ՏGSGWϏm=?}R?'4 ND~S?O'DOʧS _BVokf+u;ޝeq=u[C3+C n<7'?)~҉?g3J{Ji)I=vyoG yW#e+u? 83۫|J1?Ȏ UE.ϋ78508f}_i)X|^/Pe^>08xӋ?!ƢkF ԿA87OCտSS񗾄Cr)r@\A;zwzq.iձ,Rr˲| 3T=f~\rڊ^8 cv0&N/uA$*=FBZqA9 aPr #8>ЏBIG7T~UxV[wUxXcOyw ݩ"ؖkŷuP!ПV-V5^ /4aP|7pր5bZC5f;%0$XU?̂ 5+bv,fK͚Y #-1|ƇotPumSҥt_ i -ѭﵗt>%PzJA?}K_pPNJ/uZ/ْɉSXc+AgG}z$֎!f'R./:}h;>w[ uV^v '^pcW&dJM7.؍柈3qWaj}*[.5]ƌRuAGU2WH^s!Jnє^gH/~{s/c@=wx?o?>ϟ:wGoQ@/n _3gfܧ6e6>y?~S<p w:YlOyG[)))oSY~ SX|NzI( qow|^"wӓYIo_W 匱Ӽ7kԞ)9?p_&_xC/Uh~Iz7/ʙճۏqldz>>_zxzW|A_@"Nϑ{x۟hG endstream endobj 150 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 2 0 obj << /Type /ObjStm /N 100 /First 810 /Length 2597 /Filter /FlateDecode >> stream xZmoF_c ]'z hIQT3$%ˎb5*zX\<;;3rI(Q D R#A^䢠 (Bk :&!@[Ƣ RCd0 QbG?-HCӬC t9 0@A Vzt6Pj" <*, ZXDn` {(RN8Z U.9aC$h#fE!+$;`[PLP*1>.XarG(P=+A=yJ(y+"$E1%)`ogacy ="Y NDyٔD4B'c^a |G"1F& @`" T ]-OCH8KI&"8NQY06m0ho(\Vٌ8,o$g$\ҖU; APLkNDlĞo*f{A20!) M;FOsC}%b^ J:|3xvh;Yw_MSNDs]Q䢜68{ե"(es#&lA>U-OGbR!T+O7K2Y5.b>q/?>:t˲5g}(q&Ӳ9wY!bWӦ6swdgżZbi!~[}䤆3FK2XzM}ŚH55m\yv5~ 30 0II׽~>7 {h-ٷU=*vtflac(4I7KyC#pކeSͤ΋&;/ "cH*$"g$'!.JŹS%9aTȩZI  b>/uۥ<\5AF$,RO[C^SvDJ G^`5D/ɑ;D;V5+I^B8vJIK8FkiAGcQpHl')Ȥ$dROH6Ifeg\z%M{qkX]Wgn@% 1^r em֤ >+8IKv_p%b,$")CF@y|K;~JҴue `Aȃ(QPJ(:Yi9kG||ћKpph+d S l<7ѭxJ:˶%;:,sʹ6wVϟE0lrFLƾP($x6}MpRXh-UxVdT_E\A,+c *C:|W`P}yX{_6c<9|v]E3[4P5?5"z]:?BZ4OZgo/ESAtX<v}@[HL.1!{{|FkںWWӣ鼼{|R^^04OT٤." qqI6`;,!URdpٰ5xTd|X#/}J>bQ rIQqН 1qy^b2MV]Uc6Y|u~}5VI?$1`O?\vBLc&g탄!rCxcwn.RD0Ӷ24:AUEey~Υ#mL=ǥog~̹3y"osZ<}qu/inwme}5i"ц_J xNإ7]6KR?ft-[߷o3ƽd'`%5'?Y٦.zӂ7}mNZVE^WyS㶐ᦍ$=bs `Ϡ4-ґ" pvuu3~,rk4" B# fG\/1;RzDώVzvOL'oi$,^H:ڟoʆ&TtFǤw(#r*?D4܇iNz*Q',H>+LȖu15((!̕YmqTոPZԲv,T#@;C` |\e}H|X%GY+qֹqF9oBQxM?Šۃ(Ϣs mGXMKxԟ8?ADP&b+f>e#ʝ(oaLOi0AsٰFˑWRq` ᛼w($|> 5ԮM|n ]dkS>IqzqQV/u>/լEd+R{Iû65JF5Ȅkу#"]pbxgQQ]~i2{1(n# tJ8n{uJ6 c Dž ֗a6bipE,qfT endstream endobj 163 0 obj << /Length 1139 /Filter /FlateDecode >> stream xڝVKs6 WHDDٞMn|kz%b#ZR4*q.>8ReQ&D""*4UԎ_/;) 籈>?ᷙ-dj&iJ^Fc5ERf"*:u/vOU)+"K-dHjs3mfk<ێLr/Jeł'i^i^봛ui*hU_W9ŐÝ6"e>Y%eo/Cu9ؽ"k+v\~)),O<5K"lU(7(goOCpX䝞NACQp:i[`k__S%N_J#U)Wz"$֬u >v;7x(> 25 J@ڣO@5%yh3.K|o]e  JVSp2!0x@8Hk+9ep37]ܛP-ڏS$T+W0uQQ&ևB.8M;?m rNAbme Q%%y\v!ydAuPh򙀦WLR۫DZέcC݋a?݊RmJή"ϦN?}gbCp۴Hy X3qD+= ,vmRKҾa1A(ڗ~ 읇ǪI$B-wV=Z9813䢱M:dFC[}Y̞/>&6Hxʓc8AL''uʣJj:61#@݂ 2W0$=(_iCL,DZ󤅪 O55l=gY[ ,1&Awcjkkv endstream endobj 136 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/Rtmp13a5aE/Rbuild47f7353d5903/spdep/vignettes/Fig-bitmap-5.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 168 0 R /BBox [0 0 468 252] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 169 0 R>> /ExtGState << >>/ColorSpace << /sRGB 170 0 R >>>> /Length 486 /Filter /FlateDecode >> stream xMkA +tlUFkBSzғLmHL)(zj}%Yl\~Zka\뽱`,6p=m܋zb; ƵnYL,6۞{zaۧ~=L[q 7Wni |!4w|6`r=F;.Mj ,y7J. #Vs(1Ws cftw~AeL<_ss\|5[Fj:%Lj2|sפWJ*/q,ZC5Y ⏴Yuejk2|m'WN"޶V7Yִb-q\#S XT}ylI[M[ɜ1 ɚS2E:=RnPgHKkr- ǹw:F-:gq'Rv0SquT7{ԁ1R)4_l endstream endobj 172 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 154 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/Rtmp13a5aE/Rbuild47f7353d5903/spdep/vignettes/Fig-bitmap-6.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 173 0 R /BBox [0 0 468 252] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 174 0 R>> /ExtGState << >>/ColorSpace << /sRGB 175 0 R >>>> /Length 12327 /Filter /FlateDecode >> stream x]ͯ|Imݿ"؂$$`FABӑYcww@fgm"ӑ!SzZ'ÿDרM1VgOK5P]YۚǚM\3hY׭MEw}:>KhsShѠВH,q$T+jK'YdbrmM$heC ݦ,Tyfh\y_u%2dmZYֺ'VҺcYc^s'UnܭYL\ò~eMm5x!dюEokjc~MXXo{Mߏṣy' !-Ϧ eJzDyө[ jCXr]-dvQ'2jݺ-9V`yMSI1'k'i,cɩQY+ lޚ ~LsIuRN}i[#vM=j -)^pr^^tD=uÛ 9#~EuN퓴{,21khd4녑^ ӬɖEFT9Jl[:EOzآOD=QnEܧdi]CW !m'dK]Lt$7bǦM&#r'2<6/V] 0#ybn)Ĝ,RxDYx0nW%2"C8H"wnER#+@GEEjqw{8tN湈gD X=h<ڭq[l ;{K+3̴ם3DŽ@VI}Kdi-eAjb-G.E?7\[,}*3d8e@EKV/S:*']% M~1@Cw>dA^Z&pɘee`WabB} pu},(2aQ˞e/*RM6?|EH,ZKzu3׫X 6 ۈ }eatɈ'>ߟ@FT3EJ6%q=`iKjZtAWp19\$vau<1mʓ.YT6%n|z|ն(-J%nv0$+^PZ/ TInR6έC,ϗaH 0L/kc%\~rGd5Lj3IWM=.<<&-]ǃfJ2_9\q\(L,{<0Ce]pyLD_V-Am?IONDV=Yi56?zrװK#}ctl6B?Le 3<+w/¦~ U\2tň?ݙz"*с䜀 1A[P̼,sXQF,.A7yh;cU3q^tٯ׾3{Ówh]:YFx:F3w75^lqaA%8: ǐѓGgY35 :I'aғbCma xYuaNE>~DQ6.Gt'Stq.boIqSY_R%Kn†d5͜ cTx'prZL}lxCA95,2,b^֠2XkM w* K7o26L~䓆=+XTAid޷By8_d Ƃ >b˖IBp$QT Snzѝ%¤\6EW`4t9TWN2Š@v9i>\8`h-{<2 Usm4[,9M!J l+)~$ my@8-ZX5{L^x2㑚!p#z OA\iZ5%4aNJn@ahԪ|0YqzKd3`=Qvp( 㡨ue8G ~@f7G+nviwv~ ]PU\8C1uX͇>߱d<+竪~q-h { uW]h ,7 G~ k 慎j,ngӃACA'E_vP,e^]ź(a4$ g-\Л\ί&@J--)ohDu<HX?u$Wd]}KxeO@L(x?C3@ CsCxO><= D !UH\dƂAjIrgl;u4ReeJl=([~fs9{d)9#G9'.m^rz_|4kUl@tc9ԝtAq(PLb S=.vMw;Bǖ,{b3@3\w9@6xӾ}Ȕ Fu?D%&Taۼx+<{M,-BkyqKlj~hdP !j%7ZHuLL(*w?r[cYlQgZGd82YFe:R Z#[2/}MT*@ ʥ[JGrhZJDMO YqRPx?RU bMʼĀ$.5Aْ˲ªVD6h4%*ïvxSѢR f(΋ˌᰯ "Jz]_逸_Yj1S9%@'/xwO+o޴+aۗOe, *2r.Jt^Fciф9flt+zu5IUM /Y٨^Eѽh湹ZrI 'zeK\\̙S:ggK qH)qʉw{}w y7k~ z">JSK8uũ-J} Q/f z=] ͹ /r k#2:*65))2~vݑk0ÑgI/z|TCFˀO8PK"^&D:PU9u}BŲL !J+~2:E6>n:%$/^oq@Ί@{#D5nY_gIW}"0*/ֳ,Zځ8->m4q1 Ҭɳ䊟*uJ'D$ i.e&pdT֝#|'P_K5{qI3r3 HH4OjDD"YFz%މTPt8y۵($h39sz8#Zzhϋ6>_q^^:{SQ#"ʈ)!2GӁ.tnt$+qa>Q[:r=,tx qM!%bȢj߄ +ʖؠ ⱈEƻ5_b3Xbe"_3AEXӁ2ŐN S`?YdbK)-O} R ^OQq*HȈd!0{/ԟM^G`c>h ٨@vD`&kB3 0oQhtzDA8Sdyj=lfƴ7.f~& vLCq|\xeSSiAI>2>-ۺÄ(/.!C |W`)Fک^v.؊`_*\1hbIȯFZgF Ump**M ;EȖC7 fw%cwPըU2"܆MT Pು-̂˂{]- n"B0u ?"}K!i`YJzܣW6Ȣd6Ď}Ƃ@5صI+^;F`Ci G Ax;e&2LU|^,ႂU~/[IjOV`ց;zpc=V:-\GYc[h¡ )Vkgq# ֜8{֑<`#܃/ar-JjRo pFŹ3T_MlNw-S:Sr)=Z9=r\a2sz8^ pE#F~KKfP' Mc:-PDG3f8Y=ҼGsQ7lK`zVu.Vu3m"+Uʧ1=![-P]L[nO,qG8*kndAR pw W[40j]0#7$3+%334ھȒ<hŦc50x%Ex~L4f`Lp#uTT{P5W$\m(\,CV>QN+sgb~| ?T^i~a£z.8-5=d/r.7y lUE#J%jRᶝJ&X2 Ld'@ ҃`T&5 X190ֆ_Wm[o>|pW%ȪDYՇ;J Q݌Oqշlg eU\˒(Ҁ># 0J9gʂh},Ꚗ8Les!p@3ܦy)R먢BA$' hU˂Ls&u{rϠ5dHiuU&x j]* Z7 ćBWK(&8˘f5#WA}?At +'H:i oJhu=*g_ Hjr2Bd@*R3eYkJjr*%74@cXKtGܘJfSet/,_uE# ub"1ո 34(1a uO(ɸ: Z %W U[iIh4jD00>_Twm]!)SWDmliart'![M_DQei=8.{Xe5^"@fD\A5{4|4 o*] y<2js ڬ2<>pܲ `*iGTlz(DFizY2I'Clt+Hi/+}t42%"G P>\ t D\lH\DL),J0/L! k%zń>eb0OR@`r֗58mh;?[3py]£Q G۳en!:`a>JJ=r `:7X]z;<-F<oPw($pW1k98DљvQVvW~9FFda3z`V^Us?`‹%AM>Dz+ Q;|+(F18c#ơ(k+1ibzAFWCu8:lp<w-#Na&[ǜ0ϖ-YnpW ܞ7p{j!}^{#T'#yJٶR7.R9.;Jl+-7uDgv(щ+1ĸVk1Ÿf1FvI(;3K.;Ç4;\NE\~s Yd4yq4\ 3׬Dt`Y?́&Abd>>p]4dщVŖa=Ռٿ⬜9ET yMGY"E"M&֭S`r½S8#32ȉ"5[ v~{k;-7.{#^ ܻ{;rzQ+gEuRoq>nGUj>5An%:.FQ5Sx_4`2# HTVC7 ;a+OQ-ؾѕf@ c4#LLx&Ơu xeJiߵjQ%JSC*U&Ȃp#"yՌP詶WnS[W6)06yKfk$'!8IAI Nrv| b$%[mUy[udSgX Z8;*f\5[# ~afy#BXcBYd-#}d <!SPf͗'*㛁EZqO;rZҖ'E/dխ(0J鐑g9|TbWBA!a*\sB zXGE+k\zX)U#fZsȌG3JjV,f YLmr3Nn%W=*ݝD0g9̹`Ns6qr>v›[Wq`܂q = 䞄GBiؑ0iVP' IIY9sBd[%: GzTuyymfr_; u2ss{{ ~7&fvZ*gd@{W}މq6uyۙa]{7aG2JGz{=yg/}>}ǏG{g_;›XD AhD)T/L5>p2vu238QgBPUBu[P,4ڗPf'6t_u}z?TE7֭wہ{?po% $<(ҩCyFJVxkSeˣT3[*˾mZҐJ =C޿rCH}"\;2rƫ{Gn370W%$KdKoth9z*pm FɪYV?dfG.3T.JJw_]+ 6f`3kYԤhbxVbnTɕ\ (l f޵ZqSuDl_ %?-_M^/q4uq'wL*W<3T x'9s46vYj誑zX1ժPh U(/c"|F97T#:caBE9 ـ;P%(G!@馋tʖn91-J!wܛ{Wpo }1 g:]kJ- 5(% |Kqm6]8]ݕ`W]E32TF0tEt rGF]?)e w/q?h#wL q;2Ppt|1;Jp g/ =f^~ߺlϭڟ[k|>Zk& v3XiZQ' zsE K 6}0X1V}R[Ղ,9#: 8HWr:ӝm>v3L{_44MǙeBb`t$"{ &N>Wt6-A D=]{D(cY;ar4'H`@#pfQ^ xp-x~0y c` .YǙ '8B}IO)QzYlXflZn#*9@z_~}{ݧ7~AaBIҁGೱxlQ/;ilKTܝK4^&P}^15O5uyEJzprtWzPgrtuz巹#Jϣ!ٰloh `"+κVJC[htu^U[EY'gpW*mTZOqYFzE4nF-׸%ѲX>R?^`oS+o[/3okpۜ8e9~d9;{aDFx}幇=^^:B{,h6{/Zx(n$>>lߨ~Qc5\A5\qԀPi>8s &:(<\V 1_mIeX4鵂EM\2XmOmzml^xYk*jT׀T$g3ţmB*@d-ώjѥw &p0c'0A$0$~n=1&1cf 1jưf 1rc1=hn<8_z:v1Hy)8+;@Yq vwlarӼqBoLo|1ƙWQ>Pmc%*HaG56;n;;P A=#ArHj%I& %5>궑+ &gvs/yݛ74unl{=#zhgVy!zûe7\MٯGk@֠DCEJD\ȺvHǣŃA=| MEtT5ʹ ZCbv)uà쾠 |M :Fڮ yfd3}ב_>-w͇ր۟>W럿~n)E1bLBn=IXj++4<$UJ\*j'f.7vNoιr*>r<)ˤN}6Wω3sr}肮p.>'T:iaJwH/Vxf~@:O+]#_)n`ǡ_CG!7z__X_~a%n/=/ z<~^LϿ,hc?0? 9)/˿}׏^wO UON?duNG?}o-Kw g>Zl|Fo endstream endobj 177 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 182 0 obj << /Length 2012 /Filter /FlateDecode >> stream xڍko6pڞWz@8͇KOMQp%KDꑍo3JMSѼ8>\|l7BF~M$ݪg=lw2==V۶@xvp&:W&`K6 a{]ѴS8V[{G vf(fΊ`/u_= cBQ uB V +oE=M3),0 ьPmN.c+ک w'D"kTj. ߗ\}$a؄0< 'yOUQ%0N3 ~!mo( SR4w-NyC7fFd{)Zuw٦?l1K4E5|qFþzVU&l{D5%8%G )=@iW%6 Fo2 R~ PÊRwD*2(vT))d@DHi9[{K8qc=uf4|v!J٫o2&ez{||I佃]EW<^Z,+qݏDj J`0{$'⑍kQ$@zfv~s8j(aߪdEz26ͨף:icV0w8o~kUL119yl,͂e!YvIqdS3h(Y{C0 =&_P%ۤ~eD~qKp"ujT)^|F w{pN܏0(K 1KK3?@;??؃܏S hE$;^122Yt3ի,͟oLLiyxĮ5^@nY~}:S@V(e<'(uUZ롫+3(zQl;h1w2P}I[)=1яOZ"~u2DQKi&T\ˊ x#nڑLcVtNZ+d'Vv}F^uwͅr~_Nר$J=Z>\7X3Ôj'rS5Á qC[49x?RC!9*HXW +ɩ}]@#?¿_@硟:Y SUhJL)_ Iu:ZnZ? t fjR7KU}״v0Z؈omaȥ/q@_'^ܵΉv <(ݤT}9oѝv1pܜSԪN$_ ʸ-WwW؋(٦N-M|##^u{?sG;q7Ҷ^{H2 _8a@-&BmwIN=xpͧr AQ~:B>A&US)cs1󍍻²4.M^8@HgRkl{7sX᾵ -* (3njuȉ NW(dO0 o\a FaK3{m'^A3k{c7ydj' i#d)x֍OojTf8'w8C/DpKH1FT, endstream endobj 179 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/Rtmp13a5aE/Rbuild47f7353d5903/spdep/vignettes/Fig-bitmap-7.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 186 0 R /BBox [0 0 468 252] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 187 0 R>> /ExtGState << >>/ColorSpace << /sRGB 188 0 R >>>> /Length 12263 /Filter /FlateDecode >> stream x}ˎlq侾"3(;lI R70 AK NR/摕aYEzGO=8߫D{O0^O_{?|?o?rJ}q?Y헏t g&j?c51gc|dbv+_.|kpq#JWFgx`?Hb6m4Cהg͉g:S QbcP\?࿏}u~?s_ǻc)ujŞ_vd+?~X g}\v~o>}5YSk< a[eӚƣY~jb s"f[_|OPo܋9&s2La{[Ԏ7+LSW(g ~ Xqs dftqK5.*^}.nWnsrtuc8M+_>sԧ苲c4\sqMKfNY(xH9 /ؖ8'lsSY|}M1fIsնvJZZ֊a[b?Nũ3_ݷsjj^E?nSѧ2F~΃>2::d++ϗ06 @y(a#,117v51$$&S<SHDP]NW;+ʮW|9i|ѹf;x˩pqӰK+Ǿǂ*Yd&-&)/!(pݜ0@WBXRuX7}e)V` hUfzKq@"`eMKm$\vZVj&lnj9as[҄͑nab\7/>s͉s v R.8~pOe{Q`2 )e8;IP9_łk|/>'.815d9܄c0~gaRs혱bIfs^nz"db^k`.C1bTj[uǚV%)^sxaf.5ԕsM^.6;71r`s3<BҜ=ذGK6',@Jb啧7hDZbΑ  m<=iDװ!ِ͂]j>[tqiwg/Ov?uhnS&h1jc n8!ɾ*e+BlfKtqjF+A4 q7lf1sOMRsk]y`WrSE 7Ћh/q)O%w1gsQ}B.wچ+ SKmJD*#s2%mI.َ5/%ͼB~ î=D#aTLiw{3Bu? GrGESzs<2s !8H#~Guh.k֓舙$ҀK3`{r3jO]ָ,},Dc`~/_D ôvh/b8;j[ -ޔ[r30*2kjn&mM/~d~xߩҺ+lLrG/3FsG*o`ʰ675OV=@whk1 Y֌J olrߞw{>` Es> 4̽dO;IwuxLiLwvos:A6[yݎ[nQhtmmc [4ÎZծg[2\B^!fmL <\b7 v_rb1$No0O/N6xcʶ7 c|Gy F2o/6ٜa(exM&8!e7g~-\c>0>0i+QKn|R(3uXpsaU>d毺l^p`An]1]mzi0aE7L, ԕ)ك)Me9iѕFjz=8zҰ}[ ehay+%ӈԃ˹~y:kz:~J <6r\ aZ^kJ,on攍bz6yʑ2NjzS/Հ }ؔCؔGsnr7V8w9_驴\)yZt+o+.)Ku]X`%އ||cLyDO<ËMxԸ̀+\8 :@|ok)jG-g_[&4ʇ+Ǜ ߒp-r| >#b3) G_z~^Ol{\jiCHc?`{-bSUc0K2\= + zMB_W@6TJق\ȄN0S~zv1Nt)C_5.ՀVoYn=xL'"qoc3?7a\u{Q/wqzus~~wɁKKFh ruL+Goqfdm?'b/f摑 _ nw)y#r"?0-Adǩ+-s F26=up2@z=~+3vcEbT<{t, W7?yUջ^>Ugׇ~Bj%G\5WE#bl2Ƿosˌ=D#6r ϯou>#܏zv~[umV\ؚoX dJAx$jƏ[Wu8bAZ03Ɗ@'뢹'IΏ.~~QiKy )&ƊpKh1:-.<~;[wMeA-g!,SHkEc|'{ms+Ɥb}Вp&|1Yh>C/|Ó #`mc86` ߞ;9-{?Ӷ=Ҿ6״5-_Mo׀.W:|UseG z~sJjFI &?)?JSʯ[TlC' ͹51\̜$f]λ`a|cX8D0Q3e!zme\i{\-+E ܶ& ֤ AJ KQ;*/+0%.<ކM3s<5a|`L  /L@2)M3=N,kSad F3 gU=*;O0i,^Y[ٞսAF~pT+p LTkѕ}~f+wlvaeN(D2De#*\MT=ig2)2S{Jךl/ +VDfᙌɸfǗ g:㲵\WL`Mp*|\GE31LfzLО)Lf4%y#y̓/"⫨/s: q98_FEIsSܖU|{K+=890;".XWDOo)n2m Fab>G]ƴÈp_ԹplDWn+๶8;z|r|ٚ=aqָ@"S\UL0V<`koؙfw.~{3:!3;ZJwddDK94-f. (K@ %1y_ܫi쫮dyJ/Ozc!S`ڎgNbvN!^aB6"U ʝgQ a]\:1km|obubꑢz3[#\C4sz44oM9ra-2+ OMܱW?ϗ84Lfa)v|/|" IJZu Ǿݏπ_~U6> |l;tEMkx' i-hAs܆>$7#37n4 IHsKG)`&K3Uk/lLX =7XqyQL^ C1wNnr'Kk9xm?#zz';Т\ zoƧ*4ꐨDVFrۋe?:HT~xUq? 7cxS41m@fgPs4q^FS"bg29iTXG)Siv^f'6:a]E}Inuܣ.+97 e?<Iu{ansd+ZZp7S~>ƫ噑[<7rk,ã4a5}U3nY]?vD~%ާ܆S;UDsq "QIp(pP=[pxZgVL #ƨO[k#٦z接"p"zfGrR.gcϯB;Sin`Ei΄f-\^ %ȗb &qX[(V3+]g&eHP1䗆AW3*a²Bl/ 5Rs`ZN#hih Pr zd__ ]1 M ](;~U;i#A.ٍGa~6/>z NT4̇4Zju\`5UsƁT "ъ8+Rb_#i3NVfXK%f*qSBTbAUbO*ՃZlA +>ÅIJZf\RdSRY5:r9BN΁+sK!$`Qg+̡JU_Fʎa f'ucbrU?@p*?cGƪ啇4"S_*1}:靮8w"kn6Jvq<,^%\*UdLAẎg-fAm؋[ȐfVś5OTc}c/ÞͶEH} 3RL=EG1,} }=ӟ"KS[XadH2CnsehPYۣ'!rָt :eoX%rS;Ӯt?|8ٖ=ʖꅖVߒ-6!PbQfh9!㛸oI˞" Oc*F(b'.9;T2bPC`'d~83b#׺CvNH2@jgܔâr2#m4{fV9AR\,"zƜg!u'bL9ۄg\<%F.P,^bw\/ I,wHS!OD2}_L̸U [Ux%.V.ڢ^z%G9h9@{iQJZJ D%(QE,Jt"eHN:?5HlAb1&aBt^2/DB"/,CLK~/2 ]mޓc譖J\.dR 3bh,-q^09}9`8H`hࢁ>G`}1|F̀33W蛡}5оC~}A"~e*55'֥ADk} DF/l;~lfP!E;-N A;= Sv8:MH'R\ "SqQhג7pR,tGid[(NYbAFpN'.Z{).j).z).ά: |8l3~8ZeZ6eZvϼ\touWYRrG nk~IYD`u17Q`IYSHb0<5>9d_ d򵝐aH\+U pEBN~Moy7^?sXr0pL,W?qnv+(,ꈋ< %#Ff $}POu神խ\9zhdYi䥑GWz&w:`,;|_}@h A'hw{twGw;Hvo-~~O;J=;ImfKw+? J#?8bsqq;K =qHs}*S f.Z4<nNɻoEDk+]n/6(li{R*Zɺ׹*PXA<&VNmξ!HEd{K)s(<D xHFD3&GF/7y~e߱n aD '׆g3S][2sJnW3̨fN5W̞Ԡ 83VS,k\&sg+AWtH"zE7<qrxM=2m'_ړ/}xY_)e0A7bcNbg]Ha^X]I}qфJ칑/ Wн3t`6嬞aQpS5-mi5>Qq6V}xuop6q؛ᥟ:?WiYUk/?;?]GAiLr:̣NsQ*Vy7yfbHVe[)z`mG8m-Fk?eɶ;ZH>"k~qYH<ֺ$bIśRpWH2J1is 2<}aqqoNH&ލVw3&%XCbU 4":$*WR$ע v.G Bqt.B`]^r^jνJLIzr&g2m34cLR`ܿhɯ-Os|>\sѝcL6]=p@bZbV\#\~bQgZ\MOc' ާ0cU|-;l#ޙK&S{;aN$@LroT\%z-SϰKL\n/c~tzsyaǖCrK\㑋j/'l,P`E3TT'3ug*U3AmG# t]~aϞFY6' g{`NoֻR_+ٝT+[% ]Wȼ܊yBFl(Fn$ګD:}N H*_EHoru/Mjh>v6'ۛIs3i9/ M*dN96˞j ?RgCi 4}M#-FmMΦj{5m&Mۄ7WJV{I/_ҶVߙPw*; ~'CgMOkMok[>5=/w;l^tIrrpJeイt-uku2P庞|&.6|.ȒcZsjnJl}=yɝ Ƿ @T5f^ 1!$/"AHNc`6Vzזp O VM4uy>aFsP=q70T<ع-xEG[h m$`ҥ:ҭt-s)Kkcr]KvQ.څY4k"m/HYBRR׋PҽT+S{BܣV4@ ~b'p?{|iWī_/~K`B~AVB~Uz~vB~A¬~VP{|v{~I߉J<bzXcZ k +7az alܮGXcj_81\;HtH;Ȥ T b)ȥ V["L[i1mA߃Ӝr~Yiӽwʔ &>`z:Dp+#۞?:OlP@r< ..cV*: k$ a6sc}^g>!֘٪ɉ3y?rcAwU}XqVyꑭA #pB +B 3pC[2k棥yo M2I" ׻I7nMX&{_Slav։VI%'sNn+e/0_-IC#rL: u}e!α=tD s|5F*#_ѯWKf=ox{;^x͂G+^}يw+x'޾ןx~~ $5EVcw y2(1~Wq̝u[{;>mv<њ{7j^=S{'Pa%_l!qbx'{RQɿp?^dg?Z7X {siݠ.cR:PJJ^9Vb)fOq1'WCnnۆY> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 205 0 obj << /Length 1414 /Filter /FlateDecode >> stream xڕWo6B^#U }H) K=: LB*)%?~w<ҖRcx]nV< o"Eȼ<̂qo~[0\h9Zͧ0 #-_BhD]5sΝaaq$ydЇ+TٗTXZw[맦TU7 5-ۍBKK#E(' xBl11V -1ӰJ?Ҫzk5-q&CUTKZK$7O}1dO Yax jAenK]9gc.$aօ&!Xw_BZ4FuhN/)ʹa,`YFz~j=#s>.>!Sz [2e.dKJj]ٻH ƉEjo(ٯ: kU->8= E> xk% eyb cyTK. N~԰ChVj$(x0Ӡ6:Og'!iwV ]-u*Ż}GN73fp!* 3gMeA-Zڦ菉m8pykeUWB8v?bKmݭ#ؔ/<,0$0; nH@6Ӳ%1E$ _emڨ۲Z[ ,dExIY~Ԉ,̨rD‚g bA!10 xh '\8Ճ+0&2VC4h6 $n|0 1狈'ƲB%ZQۚNA\aƬ}$^,d"8CШNfX@5>گ+bEL{: اfbEu N<p 7pp^v̈4tYĞ{,dL 9A%ބlpCk7cQRc#) IJO?(n&%%s0vc:'\MD:u>ٜ|r19a^ȲjwPiYYpv? /%tg4ԟyc4"@ ,I~d3N1I$g|r;8 Ďt endstream endobj 196 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/Rtmp13a5aE/Rbuild47f7353d5903/spdep/vignettes/Fig-bitmap-8.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 209 0 R /BBox [0 0 468 252] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 210 0 R>> /ExtGState << >>/ColorSpace << /sRGB 211 0 R >>>> /Length 12316 /Filter /FlateDecode >> stream x}ˮdq侾"3-I  BЦ))@B?flJn O7뺽vrS?o?y/s 8\_BBۿ/x\v{^ak+2__o?|]6WlC_W<mM[o_#Cl_- bJqR+^~4d:Zm^-m=$ +1z25y`bks\na]ï[ |:ܹ<&Tn!̫sCye)Cr{A`Oe[}5繱sm>̕}tz Wmcvٗμ-L8wn q5-0sxlK[e.s8?k`1:K222:d++e9h SR<7 e`r7;k^r'13U5BB1mm'QsMy\]Qs8\Xvb޲gs9PiN\hO+r_eN}"H<p֏YP|=FCfF(1`y㷙F1bV <%kz"hǏ'u^rcʞ #7W\an4)ʹ}eʷ[qh\rU/&\osU[!ařSho(} 2 ΒӪ@~a珯8sC{y9-Uf?594v}qkSY4so\Ӝηv+۴]{ j7v6XW\+VDu"7^a.)64n"֑Ӟ7l.!ۃf N,B G̙.1)8p 5H^ŋOUlٮaU 8bkt{ֹsLrN7Ije-]lߠ^GR&N<5/q.Go`)k6hq\;Sjn6-e. e8mFy\agx3!9JobaR 5iJ•UQ%4 Ny) Jv>QY`;7y 8#li0*TOz J7Uw*LmU6>m2\Jw>ɥ,B(i %OMkg](RGaiq^pD/K i颹ܱH8?r3>= ȵɔ1v~r_K.ϑrhm}Oy9MvmBoՒ}׾vr232;c*.erx~,dJ?}9 8JA{s\zZ>5t# }G;PY0e|%6_cɶ^y|` ($(~Xgpzw-H!Ч |C[W|Paj8?Pfʶm.-2o}U~ Dӿ #X&}݆r_31\ b?H\: })9 )Yкx<䩘RC^ac'Czښ˔ i9v66 L3lͿAmkӣ4כvw ڃs<$<'$ߓFÕRbkDx \yk?$y8}:6%c ZQ.0# ~TNu\.`̀M&TL prs؆M"#;B&aGz_x97ũ.HDX+"3p쌼* ɦlc|A~:|@2P(h~Q̋=PUXQD^=ǭ`qXhqcW9@cLtd' ;וE?Џ>F_')Ǽ9'>9.0Ǵp% `'# `̮Y: n8Hz++$+H`!qm gF5`\z*%e:p pHB]v!SOVG=otpMzwJ0( MeWDozUwz]> 3c_~Jb6ߠ/ΈTwM~\CoKe1#_\KX/wC|\(520N ~8ꐿ)} Z}QZכ/fPIL>"<Pd29ZwTWOʹ) t(\St,12!n[vcyOyPbPK`F$ɗCrlqeBWrL/ 3fȠiIue CyjfX3G]3|bP`x=ܸ1 )3+5dtmKʪ# )G0%C%=3{6H~Bfʰ$e|L4-S E2@fQb3< ͢%LZI)S%R엉p Չ1|4*:Pi/<BT s'p*D碙Gh{{ˑ V6E. LP|F\pKC9:y6V {:83`5=ғlvlKv%8Wzm]4xδPl=H  )Ff[Y\$9̒e|@nJKE4{j䋐9ѧDžU0)BYh"#SMr(@50/u!E'y%[yKnL}҃b|zїBߦ-\'iy>I bC"h5)s&mΙٓBoF[RINҤ44qD4ezꉨ"z:'y%6կXk|OCߤ4i.MI1Ωu5&MrѩyɐBM>|2J;j}\{~>_'ʺ?=VX]F~Ls1"q5G<=19#|X|e>FLt_oؙ&8hCv?Mo=u1bVϙhx>tKd4:s;QN˃Cvr Ї`žN |A6c5#qg˓ Sڔ+n3ry3x<}hwM-6FH {Nl&GL%C"mTWbbztLqڔqm0VZ;:eU>gZHF pɈM,jqg[pm|7?|w?b=]OiFohHMIiLIiPZ{,]lP8xa,d1abd.+ߠE&)ڤYRhrhD$E,da4KYhHDGIL, }kc=SvftcOɑY3[Y:<|!+SK6<TZCqI[aT׏G6Z@^3"OFYyeElX54XEc d!~n$ǘ)Dʤ,7B f /N$@:}.{vʜYʌ%SX>/v˭X`V]w>3`vz B7ctQ < Ly.<_fVl]l x.2Ʌy^#R^45?~ ]vC߮@B.ՎaO 5N4&7L%,DoV…M:Þq)EB @+@KQ iҚsT%5F%]!;]d3|+]@6lZ"vcV8|ń5;X‰|- ]uD֯ϹWa8ZT4R3P ( lBSM7nvc UiH#;̀ EHM U:~|!z*`a r"H_ye)Wrde>y| X41e T#Ȕ-sBh ѦR#05H;x_'~L,ޞ) 8ÒcWY@4|!үax[L=3:X = 1*Suez:/iVjs@@#+9"aZ<&eyf @}z1C#8CY`oAd.CCeDLH e 빒JC xu98|޲hadPl8c9={ òo@͗yh*erR ,І̕SiY=}lE_Յt@r^ˡ7BSS<5u nw{_n|(Df,(̃yL`@bhe4=3723.8K !@lEd5KEuJ—ʰ3>p$Ll$ 3n) g9| `~IDIqCau^J>P]L+E_Z3~Oxy%3H:ruNr&DZ)kPR>pp;H IAm[@Ů- i]hK%7IM'_Mc7xIt]etlq䆮"!\@+ cY9@qQhNu<788=ahK$yֲ8cD RCd:^ wJDANʆ{Q&ЛRjuo/VFܫLa?Fz5 I2K ھ7 H0ˊ^3LGUq {/jۮa*#~WjL$ K {E|NM/wxSOGtW?RM6jǝe'R9SxH4:"-" )",BڋIJy:y:C(UE,JuQ*ReJ#T|JWTV}mӚIngCa_@d򍭤ucrdusL6N{c5fщt(C0vܓFvp)Zw%k`Kr'F*M1P5hVTNW,ee#V2#{!#}oسL 1;@rezَB&myc r_NI#3)1FGQ$OG}^ckzaF6n\c W!!eܜՉ^{:U1 .CڅHi#r$];2:^˯oNJ{ֆ9*Ix#ߺ17՝vK&UBejN5子B -C #R<7ctH3SAnXhA#ۨO:`JDz-TkLX-2H4 dM_v:N5 VW#"x,"Xr)I^U^g=zg,' `;l*~LD"!}C'3D EHQHQi$QTB>G㍥wS"Y<礽;8zh-G7 Ku_e&>Ɨ]C~ZF]lf>}7AAhm'&vh͙Me:NRt"wmyZwi韔io ׶¶]_ 't uUg)ޥx؉xm)^'x}zk齖K龖k*d㼮zxf`?_ k'=Hdu|CLZPQOg y8X2S̄]tس`Nq~ #h{}VvU$J̜캜W3MjۥK am%ZiK$F?66%x1"}#VX|9W6 qqHy_&1>Go{_9(48M⸏VuS5UURuuTe)TvBi`}%8h_E8&h_ޗA6h_}!WBNh_ [o_KnLbp< `pVVڪP[JUݧ1LHZh;7626:qbT&vNL1;:KFp.&*J}RP}"2WZ* :Ġ1dZ{> 4Mj^"VeVjm(E!7ǍYɺ ^V 5s`);kAPnzg+=WgT+Z8>"4Ѥ&]$).}LvpePo}cA _n{$rErh ;rO ?H+\y7GrOʵ.r.r@랥.MݴUuZu۞^uvSi`VuH]R.՟\sP VwZ? ,hY~5M7.@18uwλ%j=(u'4sh;rZς 컷Τ/PVS[}@VJto5HU2V{+ԿNj2æăˢOt@Zֶ{-~:^hojg;Oyv uOBc#5I=Y=g'zEUE]\sZ`H^-c-{Fm1%{Zv0I'EBg^omF8 !<%znY꣏i>ߺϮu9wGҵ#ĺьohBSѝ Iɣ)WbsLjΕ=00C)s.f^zX=.#c&ƴv+SHU! [tW=XRIP*r`*Ep*M?߃~OBM(_"'j8vP9le(D&FyϞ8ֱ~vtQ4@+PC] vi.^VےɦXO~VF?:\|k/l~47=j9zh}}B}yC6||%,u8t\  vO~gOCeȇھwG`E1pM} ~oG,3n[AF!~J*Ur(dS0NFrP?JfV^/*GST<:P= O`٠(8+ _Ah:_08b:vz`Sv}iv5!(WB{]H/ 핡4Xd!ű|61Aĕ?tƕ{\o} Gtfy ιV6cYȢ9ӞQQ-Wvr>RzD$ـRTjKm@Y6ItVƊgsSuwu5fJ lM+My.:5^1V/;!?׺h{ÝrlW2륩6]<>.tպR; ӝzBtȁ &!f!dŷk3fyL+6Yp$뉩if5p7xj'H`;ֻ$bMCZeq1-Ԏ#OH`>j `قy=Lz*h uW3&tHXޤ`p$stЮBbh ]7+vػ>|NRɴ3u<45L J"y,Ț+MYTBLWF3~ +y? _ uʠ]v}Ю5BJ]'+vЮB]>Wx3#c7Џ c~PZ(_ Ldu#q}{7${ȵ{\VwB{Wyk Cم#r߯ OeA =Czj:}eudmv;hL)B$%(*^{HAJHaJ F0QEku6}o,CE+nqӺn+64r×J GLǫE-Z߆^׭4}28[[}  9!6: v\:{mW7T^C~x.r { .3 ?<]Wkyz2SVe؝9+DSMAԲ`{i;nK҂u]a(G?%<"]gN~B<6v]ί2/,lB<ĻG;0X^pk"mRXH{m"]/[[i#-eю\%%vX;iYJ*)Iu`ޮHOfkdtKOozi8=ǜRZ*R:1i%ozoio.pkȇ7LJ; C4IoMk\t?פ$1K{W8Q$֭k3^n(Da݁xK*DF\UDXWi=ۊ߰>6f#bqrTHzؖA4"J*uvF!h'hGԘ+ Bww"Vq=qAʶqGxv}ޱO6сk N hsH{io!=$BqХ/!)a )L0kfm {hi ڠZXkkmnI\7T/)UMVjVnU*` }2o3JjXUOqȧ:1}aa~pa燑c|Pv~V?XqA]A^ԇ| 3J7otu+=q=<PI1YM \z-yEp]:`v0~Z HXY Ø~%w | E׋H~awWx# &KQ>xw_~Qcl7ZX!Zqnha~h裗>{QェY6{YzKjt>UU,jüE>{.nm/mkcV5v0^*/ޗdUѳu)yס(oDx%#7H~DgߠH{ +H| 2+ r+ ¿; CXt"۞;LbUog˱g7m̫7 xuNaw POv SIgIJPsr5GjĜ;̡K5*;ZPZh:~? Xw|:T_Sit>H;m!$n(S.S:dJo_|W 'C9f3Y cذz\q(JvXzo\pN\'B4X>hroʆ *h t J2fkl"B~b&kKwT58wm=vʵBED{#{њS/km,v@っ*ԙt/ |c P5ZrxI͟~uo76rn#~3i {׿6+얭~>?4[7&-y?|HƬS|{;?Œ)CJ9uNpݣ1p/ͨ>qcr7?RM{Ωݜ7kswørƛPyq=@a_o/?JEx_*׼{qя^Z5yNvz~՞o~ַ endstream endobj 213 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 221 0 obj << /Length 2008 /Filter /FlateDecode >> stream xڕۮ6=_a) olV$%RLi.)9(dKZrbo%KECrwwiftgˈIf:T 3[e/U'Ɵ_b~,- TLtrD!~ )BL 82`'#41Ǹ%V#bZ>㜙8[@R$L&[|5<+|)08U\UXj33(#u]@fT!Cn _̗2(RA>K#: iVԛ*e⠮J;˛88xnYgBZo[s4}OmP"Ai#HmvgBRA6iw#}N!ڪ*WKe܎uipYR$7u2|ZcJw~~G:o =Cq8A@wSX;[d9VbUk;C[kZ7౅kDt]sg^LLHAA&C)*#*wʃ}nsbrvM~8Դvxyyj#y'ÈUr25>@XSnY;^d&"M!y^ᚅw8 dPZo R(2q3L= ^79zSCxNJw;vsH)/r26sR^? Mj]@S"0oaIȍ0xζW| !Fsd0H]vrӫڷmpP>nr ït%w/vوzWLEgV M" lqGq9a)lzHtV/f?ASyAd+A{F5/V ,hrA{Վ,&WhBM\ܭƕm\ 膖L?`gm$XPj#(X;c&B5 >R?Vz:.>t2϶z GrJd497'ǻr2[Y9,aw/19 m] Դ@} sf(jt Ub mٗ['y g HIF.UvŅ6<=gB>>E4ТI o/f*exnI0YY" .Q~!/=̐W}q`P/Ԋ_N\X߰w½rQ Cqa1^´k RDD226׸KGTH]Au] -H*[=Mu%\ {ڀ{%.ȻYˉi{GbzҾY°Ԗ噶/w%D,Yev{:8{'5W&=lڃ7qsY:7n:q¼ m$H$㾛LSЏ0G֥/=]&*K{+[[QDP;M S2]hv Q7')Ճ<ʽtp؟l?2oxǦ_믒3 dǃ iAio_)q,cӉ 灧$`bkcu2f7De> stream xڵWn6}WFd4J,YEw)RhE6X0m+K*I'wCɖoIZA@rfxf\Dr>zw59ANb0' ?d3/;Kͯ,4mhms0 o?jZӒQ8q2`:ϛ7|+p#̓OB`ĺY*/}Rpg6ELQ|;t QUV&6O.&/Ųlj5 Q8׃ t/xUy9,jN-y\-$bB"+ R% p9 6UV$[\g~Bޚ{BKx8V9;N)Нi ?֗کΐ^q<{~DgZnJWq.fVzv)77|:ߺ{:쿺?>z-~?4DNE~M"'_Id5^gf;u*v@/N3'%o4K6WrGlfM8I+)Zj>$ \1 3';|$Ss0x}Z7^u }~6A)0"(u2o?!m\2WDxR$`i6E60d5sfReTl ixK|wЛ%#r`^I@b=]aEP@aIW%Srmi- a |]+5*2fIe Yfs>hg?gh<%r{TR i&X=`͗H@Y+EBMɵ/ %dL@ ͺ&XX)R{ SxxՂ&nF٢bGVe9dAT˺(sh <XV> /ExtGState << >>/ColorSpace << /sRGB 235 0 R >>>> /Length 34722 /Filter /FlateDecode >> stream xK4Ir~Y 5ؒW. -.D%qt#3<g -8TUfd<|ů???G)?W*m\WnAϿ~_W/:_wbI/ڱ̟z%4ϯ?~_)|?7O_?͏O}W^߾{?:gc|[z_溜Cz_s/?"Fo+iefJ0.YS O-Mt}_?]7M&u{OC;GOǟF˸]oV~o=~SuSϏb]ۘNK!YmydBf 4;M]*M&\MXJ7aby~~ծF4{®f7>_ ;ǃvz=t.ժ|/2 ?|=LjwyIen?kwu4ȼ{T{^د}nb'|8'y^9K{o6hl(̓k1Lq{ `e珶ne]NԚLo]g{,Ԋkމ}=Vy)wlYwC׵2> |;޿l~ _ҍ~/տw?/9>ܼLFRE|>uxai$˖qY^k!+\mt.}8Ԗyvى%|eGQtq:o#kA*Q ͺz3X?~}~sy>N8h uuX ( qypO|/uO]vF9yk| }qّ\I ^vg|^|xΛ$_w/~+x{_&?A:q߽l_{|%/v8 qҼ9sNwx,g}[~_s2miwm= lqKj}=|,rGuY/~4$.[.@/=iqeyϺ߮ݯϵW=sq ]ۡ^ov0~="= H$HDHu0RANyt- ;؎.|>)sEKtG-!đ7*ę9RH.k'~170yGh/ww\ Ot7g@,9.5)o"5YjG=R*+gk1E7H}/XP^vY5;/%xee丏x+{<52(_Ԗ,30GO/O%IIn[Gy-!%vrYgb_>zijY w*\EB{}Ic([VF0xv)j|lb7JםeW^DŽ7u4f35hq";ز${oI9}61JYm̿N@~M'ְov-x1'?qbw \ Orc\6}N_ Y}K|uI# }~Lv{fs`$S2a+)9d'@|Z1}BFt1zRr﷙ݰc`P%6#i3&jd հpĦo* j8 DahϿ/u5\j9E“{Z)p}i0O]asȕ1E<~"37{x_J.!Q=z-x>o0=NO;|\Qɱ_^:1֕unjLĜ'rD^bP~i{(_O\؟Ϸ5/oLLȼCšQ6ӲL1uqƹ(Itb`j،|xlxA琽ˎ9.<.=5jcʺ.[k}xpJ{O+X| ;il~E܁7}}_?}%\j9-s)#IkǦc~wt+LJBz]e'SweŬ; ac!&xgC0H|Ghظ>; !z9Oyڈ1$z/OJ}~b#9}]ϥl7ynU{ ]Mϵ㴜D_<'a<o]x׼ u/{)-nKcV| Gj3֢'gvwfob#0274vB,ݘ}?ߡϬMVg}Ve=;`xv >#D_fg^'f# {% X~.Y_|ëa\̶oS%gRYW/E̩+Dx'm`56b\ݱd>%Dy((i~՗bv̆I??4V3a`pFW?ى%H iV$,Xj 1aL/|tbʿvf7{l|hgu.|zg*˧Syps vlbiٙ3{;>CGh.NmǑ9s'/} x_2%}<1}mn'Ϡ^/ |Rd|̂Y2Ec&@ sXm|Hl ޓ>m` X'vGN಻م~İ jY|!o ,Hck埕Z PA.a#g=@ćÓF2$+C=3ѧ si6IIK`afeE+ǁ>5.>#}€AVU[?Ŧ0,{>>$>,.4><>DG|穀{.Gca62{,q>񱊏e<{^'9>iQ{꾃텱bw )=Uc/"y3Pd%~S>Ckeu~_d[:6EPHT~#mR(֓Cm^@IDq}ϦL2ɪmVw +-h4ƕte!|~aTt&_ױcj#2.ꌴ\F2JacL N(hb9wRLI *ѷF2~Q=QNT5عc{G1TzAYk}OfVft+c YM\=j-?5rS>OHgf% |,4WXV2Mfi*&e)O?ϓ4z'2~į>E܇sd*2_!k|p=OzF A/ (y?MO>~7"? eֽ%FE+S|jAZ)"Z^O@Lc1"6h` d`)T"}Wq*B#vM?+&2yU&%2}aHVdL"W2x\6νYFV>LS(fv!8h>S?BYf@jvӲ*M~~?dKL48^l?Lě? V 4GBar66Ehc1躼l;Oi'2C/d|Oٞ9}+S>Y!f,b"=x㾮Hsl |ߟD!`p+đZ1 9#dDSqཱི*pk"G^= qcĬP40IWF5Gu:/GL=WG{cd-yl eTX[_+|e4 6R3ǝϟQ.O~ާ>W8Uv2U*OHqRe azrv$YcW?,'t]YE9_>/1䟅hLTcb`L39R*R%Ccê^R6 HnЦJU&+h/~=pbCgwXxӸ_ 5}~Ccp_c0ED:ͯ[Y'kwW4^^.6;b7}qz_2ck{;9^x©3xCTzW^«WxuSbW^]cW/ӿ,L1|J:_nUSupY TЅMN`8[-V-WQ:]qoVevCDvyVn$TV Ƣv+1m-< <sT{"WJ^_{TJaϩt7LN{aWY}~Gi}[G"8✝YUY>r4>sx|(N1;'Qat=ϻVq]9߃Az6+TrmyKܫjWj}5Q+T~r,++UU3k\RxR=ulH,7{*464UUKrE.]힋Z^ bK[t9M5*ste1lKu8 G9dVzg=Oe}>G''V' [RTEzURZUMOCuSM^uիz]#pWUKgVZ/UVzlS=u~:;+^^o*b|Ō7GEi|jI|N̿kU؅ydXAbĮ䷗6|aLhUQQWj_oO!0(MkȼھzZp_+ג8|@kh_c~Ek,~f<Я A a}H:Qa**C2 *[ZfWW:f Ʃ:N=]kyS[mG]=*{Q]|K`g๓[yr/=7snzn~:n玾ӓ&׫z^ax7z{^ffy)<999#S9'rrV;M1u*'<~q;O]ҫG:uIUݠBVז;Z}=GSt :v]u(xeSy+x_sύbt5xFzQS{E8oGvzfEw>ՏudՕOm]k#zD߹q1ޯ?ɹ>yq2;6g_O k0{2ϡ JKbyaʭ7]jgHvfR-<oMF֩z57jZƩmx57jWj L!o1QKD6g~vPU[~_2&{6]#כ9WJ^i+QzJd.桔4O]+u%ɩ~Qqf)"Ooij9]m?T%[>S5JJ֏5Kk)Vho)7|G5['7{nS<$ԮnƺO\uqM_б|8cυ"?SFki57j&7EagEY{BJSEk ^wY30Ӛ\l}f,4؃$%c1lן]=3x nuxB^v2Gc=V]\ӛ\ʖk7-s=.tqzz ^Fɮg9UC= Fp!"Z3>h glqg>9Or,e5f۞'mgްx=ױ=K`{g!{re^?_v1=7.Wq1^QP4^To"W9uΓE}{o]~Rܡ$v%]MRݢV wVն&k+j zb#KPԓ)*`W-wE,Gcr8z|^ze;<}5]WW2௷c^ly<:$Gx;S|g}oz?2'`gx0;dIX 歔Uy&!o(/3>'l<㐠eԆk\>k<|@K r՗?eaV5bZ%y Ɏ *~ 2%̂j$&F[_#1bs/oHR|'D"{{#}:,swxSFy]$uy^vvy穝ӻ2\+[{k}*g^yT^+?u.uQ-z&sl3F{W ke}-VkkqɡzȚzs"rM5#{g߹dg}qN7}e߉wj>;9NϾwtлw~CAw}bdظ믷v}߹;XUF\f~.k,ߡ|FQO|hg`Z's31_ob݇}w>z}qj/^oj3|톯6׎ڒC?k^wk^K쵖Y>'[툢Gn9u "~笼v\ۍub3cq)q0g{v\35+|DɓZxhGxm =)v׶x}kzM;̿:u;o~%=8r#9͸Ty3)PbSA]9;s_Pт h%mFU[&Ymf1PFڢ1tݸz2d[0ңK X^OA"5 :6`Ըxcn\}FW)A !nLm|=?_GP(7 ?oįivIT3KktP퟾~~!Uw:1>"ݧϟ+D3OW}fgv>§h3o*;3wyEYA3g"3=JςeBvA̻n __獵g_pT~}e6S'/8 ¢ N/h?B_ Wv_p¢c?D^_~v.Tk8~~}Y}'NpVp?,%.򇑉3? ^|ه["WqU^HT?ÿ?w>1"po_ {]>vx/l\!jͨUjIÎ[Bb&J۬M*]2˕RS4QaYERBdɲ}mr?є[Ծ\!ѓaukE_c;N̔THFϤZE7r@F͔QYl24/W@q 4;Ý=O?yzC @q+ c&~O;!ٍ͞ϗwE DˣgusQFhju龎=߾X$B( 9R`|B"&(AX%Y̓e''{DĶXEU "HeA EM!$7GX2jaW$ꉭ/ ^p=QI5[YeS wuw*ӕs ,d٧;M}pJ;MʺYsCޗbl/{V.!vNO> 7tA 3A s35ٹ/](nr3N"9Dx-@•-#V0qXyCmQ"7|~Owp@ :cef(zή=Iy$sn͜uscM5ה_sw?#6PdlIog?Y7g;K֟Y]ƧM΂5^({/s2"h_50AB6mV Mp W5 @sOK4J @iնиPK\c2}Tכe~s{+f>v;c=;c=v]WiI5`g}>z<ݵYƧn؉-;G_ݴAm2]Ze2x-3TWJC2!+o;;[>gݸ;p>9}1߻ڂa A[A!؇`J-f/lUR[j4^A*Sܟ'*{-+Xك?zVwrfQU_ݲ!a?(V+;p'teO˃**Ù:_AQurŰ.LxyF4M+`A辿_#G e`S S )FKRjE,N=zaO/0b+h414锷,~$gCLz!K_=^{q)V$$s2RjR",m_Le+i)vp'B{sMDq-hohɴo/kRx7wX|4sCJ*$Mo=0t[ozե>ڒ+"|el/ghK!ZophuFG4r()V[-V^'QY[{Jїoбlߒ~aRiDd~WyE mKD8bZ.X!^[q>\}q7 qq ՠ 8W_bѷX/+%SKM_[j㝸:N|OSzz&v?iUz(q Rr]TUO%x[iXĩǪ׊z.y/Q},Q z2N:x.Rs=\=Pf@gc"9UmՓJϡճTzZ1U9zb1gُZا=Փd Ն_U/f>){=*Փl7}}_?}kZCCũA 4[,A?T&0[\9>K#~iS1Kӵ0Ԇn·vQMƏr=lRhظȺݯ}3=ttgs.KG߳9c0Uryl~/k!S.`Ѓx-K SeF=f_:Mt<jWygywyמxnD(e 'W8;@XZ`4z"mծY&1 y*m,gTrcGC 6+8χOSvSHR[խ=~a~5um7b=FB,ؔ/+wnqDځ+k2ly]+F"U+=Q3H`PN;zxdngf zqRNvڹ2Oĥ0^ ~P j SsqyK{yU%b^|w㣽2=i(<͑\^Ms{Q+l%p / ` ! ӊDBL{rTL{E;mVΞY;V_7/Μ:G[vg\vg|n>ș;} kx_*ޗ+O^oU>u|ϗ1JC Φ"=wux!:T];*KNxcCHnvҭh7**\{UF:r[8c5YѷtԿe@P3ˠjeU_Xum,Bb}OfZf֨sm鱓M՟Ua%͐'+mb^Uþ/]9 7

Hbs٣v}?'z y#K>3>c3>3">c3*.32>c3:>3BGg|gؗ1c_4%lC%nKh>h^Pc҉}tknN<,q9=Ai~!O$ EE0 xBM)*hNNa)A.=i|g dMcvxE;)ɧq#-=2vS_L774wTe~Xl2]b*ܣU_CX[7%Y 'mc $l̷-C]%9vz`= 6OHiqHGȌRhlH냙dS扞LRr$;Ka\ <)CRԌC22@0N xR:AS4Q|dݶǣN!1/ㇳLi}$)CeL`^_qg. bSs4+[aZzCb:VIq]YUmͦW gi$8)p 4vbEP&` R,R6SwREBS:lwQ}NNH\1=KD<.y#ii;Hގ}kw*zY/#[ x]]dG$zV/굄^LbWA"[+^@XzN{GL}}Q[מb]Uh_u >x7?x}L'^*AYSOOBkԊ:T2[:;t y[f,KϺYYYeTEU)M,f>o0Q Ͻ\˴FV3tӛ4 $Ds*v|_F䢺XՎ̴6ˤF0$g]q@$On XBxMXF<xaA+:$5mbC^D혿K71g?Զv"f(NNsn>ʨd}g懖>3sWS~E#@3uC6jqn0DFdl>ufc#-VHٯ2tn|h>cxOdp>PNzԣeQ_C-Bk|}E+||Do* $_+|RxSPFЃGɍgRV/З1KYϬLPv)Awqs[h[zo Fxb*(]Obŵθ; )g>|%}~&T e1/ʔz)}ë|-ɰk%#/4cHiy˜Z3s(6f,?OS99|Qrj́$3Gz&mO_{Կ?}9}Ơ7 E^+y$̣he60Օ1Y]FezZ-ƞG7 yusvs]ίsگs_ }ܗqH>1֙ ڳE>M>U>]>Vͣ>s}ṡ1.y)UI۴ߦGZ׏wؑ6~RA7FB 7KlYwԣUd WA!vdF"zikA4ڕk&ma P9X a\YOcD<Ŗ&ǣVV0X_oQXud5h3m{h;i1}sm͞^ophSb좾IO6c+}؍>7Qe(G).QQE(|tW^īxU:UIjW5i|Lvv5$wj]5seޮ}gp;YǫD*ʄW*^«\8 qhx]i1B1UA_积\8|SWj?_ ]5Qmw_]/!S'ru"[;u"c;r摵y܎yd#ޭ~wg]{ν{_uTͤʪ6CR労NҰ/-,tYFbt.4']N:*m"[.8U;xHkb"ح.)U0tKJL\G&TJ78ЫS9 3.vןqgqvp\ti<{0]VǪL>z.{?"s}"k{Y+L<ٓG+xe)ox#ƾUMTU+_2xWؕW&^T>ؔr¡p*/xe]+;x #ĩ<+Sx l+9{Ӵ*3izMCy~ dOFz^"*m"k3Ū Ԯ1k7o%@"Vb"/+fшN"╈%%>ݎLpNc2W %=3\hSV|{ 7YmY"-Ӣ۞>Wr)>rb|&M1;Z&V /f"CCOnځYדtTkdmfW"nM&3OL_ $8* |JjWiWb{%wc{V@an'V3:WɌ!]kάG){b7+@E8DK\r{T}d}t}?hnڜ/d i1`A&]o&=˓:Yma=$E 2Ziբʠa룲RivVhka(XC4eoڞ^kzS[ݴIv6ڧ^uNmuV>Fͅ#f*G949m^١{z/wykt2zk8v3ߤ|FnL6ΖUT W+X _C5qMB!*3Z LP2eȍtb࠙*]7(M$_esX4V!T-B=Pףs\ e~=w.jxvGr*k53k>h_;k}^14_o4Fט_~욅ҍ}zNʾ#}}764&P C/Gd:dVU64=NS_q[xScZc^*Qꆾzt@ojW?U;7\[Ɠy;o*=2=ojæU*W^u«RQ`2sVxfxvxx-yυpҦ:u[Lc81j⮶ZܿXPEkX˝,>b4^tj~qJ3C+՜J6^+;w`4D&1P3ܿAwe즭ߋǚ&;oYg7{CW{]SpW ^u&{~Jj4L2Vg=xVgMuYk8{5:b-1̞R(U 2*jbrb jK0{<~꼾:X#FgvW8)6 nFbS^]h8(}&Ӳeb|er%SbWJ^ITJRWؕ >g7#I`<a_骖XޅޗU!0D8w]xNx!cNr&كYMw :_ٿ+-x%NW8$҄WJŮt0Nlc;[̬|x3p!} >Kદ9&UUzwVܱAV=d3+4UAˤ;Mĵv,֟b11w__-+Xg*#Xu@G VGQ~U/\mðadV }N}NY7 33:3gzN{us~=sL<qTpXYY$ǩ~2sUSdku<0g-_ jj3"2M)^U-ߌS!ZjFGS0bTn~i"#㗞SOUo=g=osx5aM#Kl_ܞ;z\qCMʇ:{z8 n/v^z^ W>l7[{|kx-X^N-]+kxSk'l<Įډ=9>k܃|_ ~/6UE՗Co\\#ϭ+N%=ʎl\bq>-߇u#YFmKebDT|P ]L ?SF+yE!8b[urvnyn瞝̻z?{uh}K^T^ګc?~q֗cyػR_{kSU_JVlw@bdD4S=;n9|ǎ1Ӳux ; ľCw8}3{vg}gڽsl{vqι;{GψϓMz6lT0B~7HB؅bwjafc7"=bt"JqԎXyD#^'"׺{W,f^+_bgAH%#X"cYE0lCV}D"kLP%'K<:ݜ Sړ]K6']Z1r[{0#b=G%T!Cc0CFyӸ=:qq02}}A+Y⹼YL<@yfT])ƻmE{/_˯` __~D`T2U_߬#ˣ|D*opx^_5kfiaLQ'gO^f|̎0g}cPgZ"5gU>C;}3|~M>3 rWi3:όg~KV"3 032MO7Ͼ01Ω$O_pA>_~_Wv_`PǪ˟E/\^.8~~}Y}j'N)]!O@-3Pf~n̋z_yjnM X1r_O?_k~Ç0oϙ#_xɍླྀ3vqKڜ U_̖2pr \S}v^l~SA49,~=pV G(VT)i,j^i1@XXQцbB*(p .Xt0W¢R2'g\W#kDV&[P9\INM宮GG5:ja Lw+ZL!_W0d3꣱] RBOllͼ^J%h"b~&UåxUsM$zyدdG@FG"ޙ-A YUIGrcTjMMy`R5 돇MN-x7+vLiiЇlUMStoǽ;f 7g܌[Bu3(b^Rk 4xʢ]V=uQ*{5Dg4=Cޝ29埧 JnDMaWsZI릴n9-%Ўen~{a9:Jg 8##(q~T1x-58k'/뮐-R7%^Laв y%dLxhWe.@i!VP`Η {اlв l`Zc0FlP\z5ky׽e{Pu;}8yؽf2,]g9wqK^0#fn#ߊbS;Q0ڎcQV L`E c+c_ShUNR" eÙLznkwҡw%S ͘lgdB)"Ҕ&DF#[}5xDvԶ[ 0a@qFJ|Pθ_W%,Զv`rpJdD5LjCwLb$ήl-br8xLqx(G[ҳ Em7U18#(SJU`&1U#^X*նzWG0ր2;5 4/chcAa)cHgJICd' G?/wxhAcigd6WKEtkqs~>;݁P @b0^VW!,޲Y.'e,Be<[ kkb77]]IɁAϒC{(#q|U$H{A}5@4Mmz˟Yd̸vn6Ln]ny"}šW ]a7ta?N?ZS*GSq8kV4L\0lQlXs:uhHUY«s 1쉊X%b>zY ]F3E?AXnغ3^ht2poTW+,vg=,Fd? ;׸d`;L:YOaB>e>i= L0 MvoZw3|ӿB[_X}LC[[^ UpMz:L@LH2QWaL+]67VY nDm@O f[%=Ai/+TQd5Jp3$m=ߌ7EODiF}BW f}5A_=xFDPCn :@nأ[#u\-ԁtkԁՋ bdvD0 ?FuD_}wWW(4 xs_=&ylcs~qXc@5EqXҢpl)=c b4́~a4TabnjS_K/dT'CFלfy/<5(l#Q'8]u(K( >yܯxY=dGl 7#6)$xdXO>MGlj L]n%.U(N&A7IwZ|"|'АO8O؂Px#> tDV~5{i+#mem|<#72>R.. o v;pCWF3@?V\U4_SSa8< :=A6e?Ou`Bh7E&s/e }ڟ W OIAQӺD[楛oiՇWa6esfm jKtah[ %Tm)nKQf='_%[DE8¥bp V3 ( lU RwZDmuCJ[0mo_e`\U,GɾPhї^F-95-16̨!V18Gm;nym6CF{>+p]RQGh=#_MCYfkN~· Hm$vhg7s3: ,vD.)W5}*0}s a<3i^_ՃSpz0,Ƞ\׎ /sQsr>ۣի`}[L]H$4KBO`<.R#.qwo';w|Y8y%OWȠϾ̞mu2d#]4;jS[8i M.kg%Z]GjOMklepb!EZcharOu&*[0Q4;+hE{^Ե},V%rdV=WU`O^LycЖӼTA10H%S(eZNu}in1s^@?: 9Ѩ6mm:ơ4)^6yjM d#kSģS1-,-&SZ D9Ŵ$L4?B-xM0媬Y%*UJi_oLA~5,fL jf) Ԗڰшr('(aDG9*1!ޤt,rP @*am/VD:q Ȁ6VxizNau>4W]\e b]`p+ut+? }`Kk!զo"㺚E@.j\Tvl[H-D|KiK,-fD$9)x&#=7׳8惁wCq2Ը3X2ĺ|qK4jn?cthኍ0c}F H_Pmb_xJ;/g $[zƒ deeC2wda8lo~Ȇk̩ n&G4@GtBG0tCo g50ѵY(->Av0zltYzQ+naFV6=3z>0Bu5")]J0]zN VK \h`{nC㎡7ڝVh6rša&Ҳ@XVƪxw2ůң53T7͉NAw5&/Sh]I|\P=Y K<](KzVĢ#hTD٪ \U˸EJU(!"cv5nǻlKɟJo\8p7<3AI/`8 Ih[=zrhv݀{ԮDjWئӚU*T>Kh;jp~Y2ݘ ]3bh86  њBgNf"9m~{&7Bfd.#jV1ӑm&ۇN9=VirFD? ng#bI!NQ_{gp+wpTRe[+ 8\yY$y*<c8<Y.ݵY^W,PEA.5T~C/QV*麤Tqvץ„XiM#qE{#T`ۢUfߖ&>{ܹy t.vv +(ܞS9tS r'N K8! 9ojz-7ʵ&$$`fL BQ,OUNObX~ D X}2:rc#D4[K%W5厕Y>8!&t[np{nmcHf!m5)„郛M4MLh-IVP%E_S0'}r- CF3/r&ls<M) ._S4r MR';3o.j ðZ`> iwYrΑt j: /򩴾_aqOJ4Va*;\14e C2Cx>i>&;h;1KzuYYR+e8QK.Pe<P@Ch.\A 20*#}2⦃v v~΍ `l|0k է\+jq0$8'@A(")LA9+ G.ʔV_R1{ I6LbY#7< tFmlIPrq4cs>9r, Oy59k )rVE˦87 9:'=; c7Hb[q0]cw]yI,a$AnԂPB 57y,Sfi#$+! AANL2f9 4 I>$&a6ɶ$߳ ,&'9 IN"vIh2K`y0'Y5 ༈c2y>RcJ2]@x6 ^Ԫ0)։fxI"GDh`1]P_BI7i3tK%i]3yW(MG|2D-F`H煀$3G#qو^PQ\jQeӢx>Xzע}FЬpXyO0E͗8I}+*PΙ0W^!J"]E"m!wꃛ'NDm&⳧Ei)C:6Iŝ^鄡$%Q)>0%CV{%C@,vcj1DZ3X,Ioи-b9|a0o#"h:7hGs? !My \UQEZU5{%mzXlwQ9tC͡un# #:RfT9c1hQHi%S<#C= f|dL"0N(0EB]YP̓TgMɂѶL$L޹i& PfGɦbEr/ɧ3S=o#tmp'>?I @J0dSFW+ ɮJY V5#Qsd7 $J~KPKRUH_d25nY9/EwIuW˄TBXT*OҀBGv_doQۈ|/ =8Q*,jp)yRl3A/8t^^uE  6 xǓz>jg? r "/44 'HP$ct&3jgUxx9kh|7b91gXxt$;'Q:IINr(ϗ$'vڗ`D  nn+n Gtޜ:wC02/ flѼiZH$7:]&]oM>jkg7x;f##TEpdA'|Z]ʠLCgG ;t`Ϭ]״wx_QʤU$Ւe1Mގ:3}ї#0cSi{UylNCu@>0FDLv I:::(QFiOEdyQҢ *ܼ*޲]l>xEr`dA :{'W0ϫJ8?_bfh^륪!5Χ䨖8 (O| .pK.<2<#;42K#+52Z#62i# 72xodqd,lȄ, pN{|+,vh9i~ /Mf;Vlv$)UJoJ0R7ώC8!:g!wLYvf;١Q,#Aimڮ&Noݟ]XU˗TY[q#w/%Qqm ȐxȋɼV2e kF+fdt΁oQ@Jݖf@z޽eLX aW9q%UN6clܤj'll9{);KhUFµOW[yhBtf~2r wR w2~ 24fq yvU ZtOr-!ႌ>KL[ck3q]WPPŐir3ͩOUܩ.6t&%tR/3ܸɫ9y)*7Vnf 6fU5)f#g6ZSB~dqϺ3EͼMXR&Y|} 0jIR5PfQZ5(٫Vٳjˍh`F4?lSsS18Ժy-|90Y3Sx r D`H hVT;|=E.ns NEsjo l)]bj]lM) & (Xld ;+r/Eskj̛&n^ >K@WtȔD&,Ȏ 鈒D$@(|yL@w.=9n*PD!~|Iψ܎Ar^0(@d%Q3IN"}%4F_Sf6%Q*큼 SHyP _A}17c>o<]Wb%4;7q8ES`y3sBwA>FB9x:9\g9Jy)#H贃syzYяC<!x'ydi iJcYچ8a4vC'SM35R77Ё^n.؛IrP;S2F"5mk!YĦXz8?f7Ug o%-Z A#95oO^XkirTQ8煑k'8^Yb;F=6c\^@KMP֪hvsO?eĤiu׆HM-VpĺwOOkV i;/rii yd6rD+2*q6&dr,P 5C@ r!"݈HTgV+ٴ+YX%X atD1_ez$#:y SH2E("?{̓g==S&c#=r$ERdJ JG!!]d˜[H.)/9?'MDFIƎLep6[dS9A\f0xw ({)f! CO7ʁg0yRGݓ<{1'[@P5 F,-\nzʵx]vb5fO\ꕍ2>s O~>R(ԥ@Y˲ؐkQ@hWt= TSS텫:nNowH 5*B7T 1TzNҳ0fNwboXĹ|q%W d2)>-!ޥS}H_CSDH^6H'DFEPELnzS64)@@G> j(R(Ӂ(¥ /<N? %4 w%T0[Bt %48`3L8sDXXg*M(P4(NLE[iuVvZCU@&'y"Aɥ(W#.OxnfJ|Zh$,4nEQJU5zb5ṋΏw*XUZ,A':INwl:GtlXGvvdvGVxd2I}.yĹ?|%V(7_5JZ8Vay7"58L}I> Ҽ״g2|g/:M^ S;|B،yi?Wp~ c?v՜v endstream endobj 237 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 246 0 obj << /Length 2158 /Filter /FlateDecode >> stream xڵioVPnᱤPV(!JXϐe}ǐK)WmO|f]Nzq& aI"WE(b? b~(vqEX .W" ٪_@W?YS"` 3?͘2 <D=ЫHF摱m.d(G(5a-l{l\eve坋{Y1.̳Bvb]H玀5"V0 ej(RUU3t S<[j[ӆ(oK5VV^̄QR5/GeV~h^'˪!}~XP ޘ8!LLYJ $.//vxCAOuQv[>і-yp Y3pfLlr6Kpu A#SwFIm5N0R[-D I Z>.yyO%xin%=qݷIj;X4-@V&ma 7#@et5'iJF5k(H}Jhl$AAX⶘ )"MpoJlal6l?˲TBo]g ybByɩ2k?_a*c?\pZߘ("ӊqū,?c|f2TI:4ƴ(8~&lJ lM71+9Wl8f_lIj|ՉI7WoտMĺq˷iv W*Mv1PsInG7-Yfmn$gc.(3eaGQ$#~()pD~FOsX}p`Q71ϣ5:*֣:*=Dv( NIrzgt{:&Ǒ[e  p8$ v}̞ʌꅀ: ~^Xq55j껮l[OǼtzPp SVH}o("_:PlenR_ݩ5훰&BNNhgM]t!:Hx`OݡO`,N>kIླљӇrڄC`('9-b> stream xX]o6}02XCdh[thR*R)KJ%n {?/=:W/ϟ<{(%<1DS)Rbt>1~cӹ=$1%Zi&BYx֮Cʮ6.. eҟ`$\B_Ft"N7kWf3 kvU"<-u0X}<.j41-xU=9@f.h=`xN ps-b͛8a'+sRJmT zۣ@D\mJîo ع& W: G$^uߝO^<ϟ>wG|C*Xh1f,kz 8^wc0˷f =L0n JgvVD0&Ӛe<--Z*I;]?{,G}{U)7igVrhIτ|/-u$eZx$Z?ɴǭDr`ǭܰ^QSӫ(t/UtfSj:nڎ[d/˸hJ[@+ht- Mށ*W*!B .6$([>>{*lcļGQ0" 0ܥC#|_DObV >,Gr3QrEHjyrm6.)ݥn:Ab^:̖5EW^nߘ%ACmP9r0mhW>3xНifgb׭ܜv籞m@{KWY:;]Ip0! s.emƲC;tXhd>IO~S${BHiR":V^D1rl^,VIpw,.Yp*-UR4~}"E>B'xM!4mQ$PV6׋nxN10su9#= endstream endobj 258 0 obj << /Length 1381 /Filter /FlateDecode >> stream xuVKo8WA2֦%1-8iEF{#ѶPYR)9}N]yq4oZM,ʐ0FHQ&ѲgZR_[4&%hb/9FV;{sOɡsy3(]nA Ky&x>E,˲`LMG.KgTq"XIpLr$po҄ǘpT?"DK8wC 8)Y"}m Y;w+8dSJ]:N=]8P9a'j@EզmK* LD:܅ ZoNjUfPLJ'T{"WAUއ'B?uZnHNp9y-e)©1ϔ:Ƨkgժ>,4zS UH=$kp]uukfc_ssny 4mZ#PFBI?фa .10c&!0QEJE9Ҫ9/ηG Ip:9zeV`&"DJSs$b coNP)r`h$#N0

;DX݁#&H PýMvn o%H{]yItثB e?Rno68oyCe{_akaf֪[b @pm }f)DX G]\k"Fp[5_F0~vH%f|PYsJP E5C Y w4mUu[(UNq2Ԡ7f9gbdfb_M9M,ʆKkֽcj\4e#}_-d4WRå4>rl˽##m仛<)r&6CPjԼLZgMkiL,8,Nuh"0ti/k$תhvRnZ@+Wӭ,;1 T( v>{S2xV?.e~dU ,GY ϐK5 @-E𮜵-$𮭆 m .I];0_rRn? F2ǚEHM gHg endstream endobj 253 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/Rtmp13a5aE/Rbuild47f7353d5903/spdep/vignettes/Fig-bitmap-10.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 262 0 R /BBox [0 0 468 252] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 263 0 R>> /ExtGState << >>/ColorSpace << /sRGB 264 0 R >>>> /Length 12191 /Filter /FlateDecode >> stream x}I4qu_}ݿ؃tןe緼F6,`昷绂6~b_y#O`?/69u@_Wxe}gVj悛+}޵͓:"$g>4ns=Eܨ_66i|)擓=$ז TՇv^s:\7IL|W`j>Fo}̋bKĊskYܜ ;W t@T/s9ϯMG5;YwYfdE-e9ÒSR<7 ar7;kr'1W5BB1mm'QsMy\]Qs)8\c[vb޲gsPiN\~ɶ>׶|ktOɎ(/vUe!_Q~k?ļ$Ka$nS̩nC?OŚdH6㧖ɮsad=;\>BsQO,mҢEd©1zwN\8Ss `6A&7ӓYryկ?_Nqh9/T &&O=g KOh lLcNC01i6gm969xnͦku6/uev9qVDmn>u՝kuŊ+e?f#ʝ>4TS:2q1mڥ"a{Ь#E蜓9Ӆ?֘[>Σx4}f- ^sWkx-5ӟ3 j0lRl`O:7~yN"\nfwvZx?a-PDݧѵ*+y{qƞ8#7j05t;|)5vED戓5|2\+=7鏫Q%JhbR}J.ܪZ8` p|9M&/+`TmRnT09l|1#erυ㹔|pKY6x $|J/(ݹ_ڴI6}&ЅBIu_{tћFwUG4T.;( k3#cZqj\KzL`* )g=6ٖ_dן>/]G^BNf0f,,[3l=GK H9a?1G ߂?]'?9η]~ĤB*,&Ȝ\nϏLG/'5OpXYGKߧןz/?'Y2]sA,ic+4 <x5! 6PͷD݁Z#|>j y-)Vt/iMXuy{j8vsT:sOة/\g`NQB#;)OlrA23D&PeL1@G&tr-2[sb |5g6tp2e,$G̋h{g&d9YPuy9p2{bs;h*Fo4\T ȖeN}-q:|szbJٯy͇=)B Efkkn,m3 5t9-#GCNP&'@ߛgؚo h޺/7ן% \l{=7e ?nI'&11?7[s:%zs}\ 0,^{]б{,&p Lffh`js9?nh*llrg/f@}&́R׈cfi`jd,rpy5>ӕ3? FNrы_!0zaKlT?R=1Lfp;Jn=[mo3r? ruip pg1;*1"Bw#T Sp9,4χϸ1 2#V$|b;rV|L@Je[ \2m&wΐ~y?! jW3G\w׼|Wa^êqx%˞h\ Jq 󎕺0:q92at2`R՞AY m]H: ] Ӟ|"L{9֯M{0݂fRɽ-md.&;832^+E^GƲHcj d"\id"~  0E{ ~l {J߹x~rd9EDȥbZ ^cx ShșQG=3J,a@̞nƁ5#ָGzGH3MLYI6I*Y19 ܸ-,wz JVΙVTi#05¸ sbҼ/4sf)cSL.dfS ;eM{3/kLHk¼ԅZ<~rn]u,1I*%G_r ;ִpw,=qKə\ٓ/grfO޼IlMIHKzđԆz=wއx'M7R|Wc=<7-td$&4%I.l%ֹN֘I>2'a(C&GR WxyxqJ χp|L*PZwdGGO3}oTD=7z+$ݟX>"Fy`s2qGxagޖe}>C ›M >gvaFh17&D.-_ M3{n:R&9%Z8Вqq' FOZlkoD_5!kυ_IJM0D8FSɑk#0R4zH$@S{6e\hG^N"դ͙ԑOi2 D\~\o\u_E1DA7S FR A1R V h|D@KILT^ 00¬L/11yE ;vw6ye˹z RHMlÑlf34ۡɖh6E-lfslf$[٤ Yz1Q ևG]z(;l~|z .ݟ#[n̋xx=Llv<2;1Y9` n 7lt{2d"-C0<<'ʊCq;9QUh!QF-!䄚qR@$KwQ)Dʤ6L^2/Ag[l :xu=@dn+eF),8rVTg l2;ǙNI yۈ+%@3|BӀQЃN}]hMXѪWk`i ']b [p&ˎjI "MLM̀7l S&a@pݍ]jf0%4tiL9 ύV1E>>,z-^+DBo^aš~e,#ܺxsl}Xo(\^ /D-t*)Jř"D%Z i a)&@pHAx;)Lk]$j$쎞NHM U:~lw*`apr"__)WrdgJ>B y| M4t1e T#w-sAh Ѧ`Q#܃/Hx_'C0} L,~) 8ÒMVd ͓( HUϊ9.,+!a{ft:v} ևs^g!T#bUNJ:*.t^ӡ%MWC pK >1na @}z1C#8CYnAT.CeDL O 빒JC xu98_|޲BeK|J[*SqFX~G_L/C?}:t$"U^ hk^#g=1w-S"׈H ֘5(Z5,ZN`Q" 8׀Op0rxT1)ͤYEZEZE {E&{ZZ$UZ&uNYAi'-SiJTڧB6R*- zbDr1/s\[iK/VlW$.dcCI4n΅Чxd*Ab PF"͠HQ󤙔3Ũh9{fo&eg\\uq͗ @B#‹Ȅky뤥n/agq HHR"-o6-#s?.8$)c' 0T)^ʮjpk;p;jZj9"#}#FZ`K\" ;UyaN(}XY_׉6W'v̊jrAcl*Sx}oy53e"!X(C_P $&̮0~xF?y-PM sr e)vq;Xg&u; 0 NzG:`KH*aO4HB?X B#@1$ q2 ~ёr[MQm'9xy !l*1 ^ rty#+^IBO^Rp]2g -tO#ۨMXJ\x- Tk銼X-HPd_J :N: V\#x,.XS$1F*/O+ܑJS g2q#xA 7xDgxG!<o,b ͠A{Ch-'X* 1,ͬK|7Ͷsov| 9͢Z]vڎ@h;݁6+Vl0訂ki l4XuǢ)FdbgYTsa5Qs`3XlU3 _)@:{8Riw E{x2|hleJR)5RQ)R6 )mJfQ́ݦs-wTLN| *WW=W$*|LveP oxbAWnn{̋5rh:QqO H+\y7#lh [9\9!X}SY{eVjeW߱ge+<}ap`2|Rda'+OUhF yFk[_>>Ҡ&4Y5 iZMI{+;}oIz\Bk?Wlv;Rel TZvOgN W8e8`-i=K˽jVGdz[IjImE*v`I ݷCfؔxP?Y7?SդTka{_Jbi~!^{v;blTPaC u7y$-RHiʕ~[ % )0rݨdG2 W`M_l.gvd`9Ggpv\Mi?*W~Uxo7xW~gv{}zrgʩ/SG:+q { H=I> F71}`}π!>GspApt:N|&xr4á(GD9$1QrT{Łl(Ȉ"'gOi>'}%c8џ$At:ג_:,KozHrN*l T,5V(-^*ǏH5;z}./^؃kw޳GoZ]vۺi;|S* Yϖ'\ԋq66RP>WJE@ǠxQy4?ژ@A9{6!^r8N]ZEcY}o@gP%F"HpK~ oA1h Yh5=,0yL&q司31[[*"/o:痣',l,dKui>'~OJ@)(~ڮlg6ІڐBV$:΍FF糹iD^QǺ 6/]N<˕VjskVJkΚ, +^ҢO[Z{&j6~|Bm'!i'(r`MeydIl|$zlaDɚ6ac3MVɐb[ M 0OmN'.0w3nloD<(} @dΓ,7HmM]uZw.׺~- F`E v>;GLIMҼIlIMI藠߂c~ A=h?xdzTr G͏; 6vF  ^Y}pNbs0D<M[ z2%&F^od @k@h?7_38h?헠߂' +h|ʯv[&^k|i_/ r3\ߵ%oCcոBG5,z+lcKib[ @o 748wȑ2?D[tH,(8H}?VIW  hC Ȥ$FWtni'U$$9$$I|n^|T Z8Ζ$is+OEX,qc}0u*64r×`xӋLLc+E-Z_آ4}8[[9!ް: C m[Wl<9W7T^o쫻Nl6 e?;c'Q"Qpy]rWOnr_ٓ[so{@k )4C]vwo^lmIZhxoJ7w i{v;Z;Ľ+OWYVpy\x7ѰVn646{i B}\dk="Im459Z?n#*)7]K]b% 6@]/W*S~6ŸTvLNRvF*ӵT73&^#+.'.^zGLi2S&}̔}й(xՂX)ڏԖ9> q<Dg$L쟡Ф&5)IsIkHk^R⥽Ez'u19uƕ -x;#Zӈ֑c}*# 9q\67ǵF\vD,n^`ˡ}?֝Td0#|\I31G;ѽ/;$~_m>g lgwN RLPWk8DeU~2x}\SpoOM!3}O1: qХ/!)a )Lj`mM&{biRM&Y$kemyY\7T/)UMŪVjūVn5k5xZ|Alo>"Gj؞?{~$wd~R'GO'KS$~2U?*\OlI&>9[FmWRZ?^:F9J';ZXBj'Oj|_ׁ)ZtI;ڤhUfh^AV˴v<ӎh1m/%H,k?]aKbFsKvZn@j.<`DwT|}oP{K\/c޼i+KA0bǴ^h#=t5%ş{c5RFX}jNBRqzMަz꭪7+ޮz}D#Ҋ -͐ -8J?4DJGKX].ɬ,^_]MQnLOj*AYvajvNOӶNa1+ª[;N=Q/RY%(r"i}'cg{(D"&~>~~E?Ϣo?ﱿ/eCBϿ,+H{ +H| 2+ r+ ¿;EX$#۞N=LbUg˱gŞ7x̫f8c}u Naw+P+"P+w㗵73wcLjYj.ԜF͑+1gjsRiM,-s4| [MCBi M!PBMH33kJj=/#˔nkK?;/sqPΆxqwz^Xc66gtJܤE%V [_h.9OsG6b\۵r$Zp\ɮE|_؜#0_AXр+&]ۼwrP+0ў^`i [[ ].(yw6+C)/  hLTMW^Fn~?ooiOt?ˏp/Lػ7j)gl?v;/\M073>cKbw39 1t\'E"joNzI)0r.['yIo4: sw)uKw'+Y'y 7':ɣ)=&yeϮC﷜A0˼7=S|9nj\~/(!_^to mmN~7s_rfw{/?p=>`e TxvUx endstream endobj 266 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 270 0 obj << /Length 1472 /Filter /FlateDecode >> stream xڍVMs6WVr&_ȥvθNZ1Eڝ v[ M焋t&ܜsB2Lm^0069mO~oE'\LYM+  x&~T) {Fn{+OC붭PmaDzU+4.jPi+U/?O"A,DIL(-~4mO+&iD*:9 ֠NۮwֽVQ‹s;t!AV(mTK٠x^9k:b4EG{0יӖZZG MPsKS ̣63^vg;eV~W'LfoSj;-(F*Krx{{yG@*diWvҷ|@drOB,.x9iQرs!fU]9~"}=ʷY3G܆3'Ù,%+/[y;ςy>F~wڢJ58V˂J~mݨ DzL:?'ܧl<-Rxtv[;/<w0DLϨ8{@ 7~D}z%,wEr[mPJc>hsG|9̖L C^[z`p[{lBչ[ONGݥ=cr6cJye b]ȧ(PuNErt^펚SN@M9dHv~p_(RiS<oG͟ x w(Ul5][*U ( xW䢁6C/ gGO6ͺZI4$]L;YjnCa -N-hUb;]ۀ)5{qDË#߾NII?<,YN52.L_BH #@oW+jd$€}%;=(&p)V_,cm&T#Xkl, ݴ]//J:ٻ&X fl՝*|;0zϠ7o;AҪzfЃuDž`Ho+ X7^='^Ewڲ*q(it7v5 =\<`i`/y@G_K endstream endobj 254 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/Rtmp13a5aE/Rbuild47f7353d5903/spdep/vignettes/Fig-bitmap-11.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 274 0 R /BBox [0 0 468 252] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 275 0 R>> /ExtGState << >>/ColorSpace << /sRGB 276 0 R >>>> /Length 1180 /Filter /FlateDecode >> stream xV=oW WL я|߭$p$ Eʉ dQR9.{zq3M)ç-IxuORrL]M<|CR;~޾*oG?6w:gχeEjnrZܤVmZڵus[%ڧ4cm$՜i1iߝ]HZQQy*cZB&%UK^Z>#ÚeMS26& ed- c,"ka]ʘ,l º̬97eV͑ H4#xu9jXБ,27'4GS`=rweo 13~M  ';̪z3<3ċ&g xTM x xfb>՘e#čKg9O ;5ψ")!D>8&ԃ'):z0d')CgīI3όxg u|= QOm:FU1F~,2c-~ c푯7&V(Iz܁[اsp}1ȇkP}mybAZ֌E> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 153 0 obj << /Type /ObjStm /N 100 /First 898 /Length 2481 /Filter /FlateDecode >> stream xZ[o8~Ayi2)3h J-ee_ߑĉcljI1ӇxH~<$wIe%Ly͔JH#!M$| ـA1(5,hԲh#Rǒߞ%FϠ(j,)CjB>Aơh{d"x4 }VLK=ZB6d֘!q2NȀd0 Kf"(r>eL=d,`D _KKj0$feBC 4b$}@u}%ˬO~1-P=C-%sJTihQc9?-#2 E0XRsѸ&D:RyQc*2oRMh iBߔ5DA>E=Ʋ =}q,(G2@Pd0m$ Q1X g#*RˉEi$fEOZZObRHfӰ$`W E'H;%("u!S߰G ;Ƙ"WRх')̂4) j* %-k7hPz@PZhAK͕–xUW-g8ڑo!<^7Ǒ)/~kmѲc&~;zĻsNF(n}(P#qEhRxSɋY/O/e̎ KآU<5ha.~PU5Zn aSdmYWGY[^`N=z]NPd|~ڋ}aEC[N}_5}zvS!4#;mQ?)x͊~/cіy6?Uy=.Vx}xHc|dA5+ʳ8ӲfX] :Vk6+y},Dwm!ɻ٤,r2.4˛MT&%31gL4[$γNy]DQ{,/\W}ɿnE[u"~1-}yBx&^fVY#F-?j&gy?#H.0  j\[nTE^?MwZ{&׽I}Q|Śfw6nYnZLS 9Ef_nnTkAq5SUo=- EhmíZJ+qk}i|Rn5k|3J`ܪέ['yT9Kifb%j74b;;0Jјn6v[z`!c⹵kcʸCzKjxE1$s:A#5O3[ЌR)1)7!9Oh%·a0]R; 1!tt#C-a xOo8?`czW"^f:lΔ#l3e華%Hϧi[b,eGV{EJwm&ˆK8v*8pn8]8, qr,?PPs Nw;CO]%a֞,]"o=w`Zځ:ly&͝M>YOw! ~G.ə 1RP:ou|U`:boMz/kul_nbpiZmCjvIN3,p?,;qjǎHWY!RVsc?I RГZs'!t_/Egz~'!KjV#Jct+.Z%@'W3q rZ,x!,p޼xWv9/Ɲ1i7*YM5\of;@SW/niNp JXcV·cVnfn4㉎;4C`4*>}ySYT> stream xڍwT6 RDJD`Ih"^U@IP )7*(U@t"EEEus]Y+yg3}DH 8!0HA 1aHm, tB]`1 XR|K@0@Ujp,[ q<P> [܁Jp  A 8G+!#4AAp?B:phiOOOa+Vqz"p@c8À-!? o    Gb .H$dh poo } BQht#\@u]aNA΁, \ v!@u%# P  c.=!\ru#qXy} Jwo?uF<>K$ ;Z pskT8Hꖘ{AEzῌs5?4 'C ?,a~>i0; G'e1/%@?0tɚ0 oik i_FeeGHL($*AR[?B_-= x^E]>?ԅyt+JG(+"uw_v߀qExA# ZpwoBX%B`qao= 8o֛/  7Da_6–A ,M,apy. K:ԐP|D%$  I}5~("D.@B~@{p>h )0\Gl;CH˿C(LSupA,fQ.axIg`Nmnٳ}j8j8W8b.&q4=HV.]"2dmT9tpU1DvH~k{eI.#m/qMv;L|r}mΩ#z띦dp;W(NMMU|:Ϝbtz;+s|[K[7xo9&G ʩHTvIC|>ּ# zvXhOw-wzrK__x؇7UL&ɷg52j!j)b*_4};9"H»{>xӼVeI(d }4~f7&XM-4*Z麰[`*+÷J|@(% ~$Y6{8FTh'm7H Q}? NеxgWė${򺨈'~7h*NǛz}Zo- ܗ%.(8 ]}D7h-qtNSNHK-%r·~s`eΔajqfw]ͼ`a?y'Wf5=uA_pb&Lt3ZEوwI[V9\&k۵6ej?ڶ:={y7hjrJ^}J#ICH?z} x"7_^EoϷ+jqI|z2CMa=~+x?.>;B"nL~~{)04I7rE]hzcgrŞ,2 v@ߝۋ}EGL.՚~E}3LY]π7mD(#W^11zm[y+` 8k1WH`8"p!gPdaO|Ln-&텇T}W:UV;Fx^c~VxZe$2Z_,SQ? 7JS"Œ-gSowe?iލA_Wg :NSAcg3Ւ>xa\pѳjJޢ2Ff*hշ2*Dk<ꖼQ!E L1ȯ-6;!tKrJA3q1"< ֍} ӽk~;ٖ 'FyQwuc[ęTe,\L5zçpә1A_k`u +)pF'%Qc X*,rXgH;u|"WQkGb^nހjO"5GSvI ?Vy;Kʯ6yJb]LJМmP!G/3$$ג?=`Z@^ҞYXQlrgmVBnD3_hab؍$2J8aڗ338(3&t<3F]Ck*+&z{c1It×/-tӢ#Ku]j5kkw+Fz\@d)ڤn(Y[9n/G&FWc+ږL$K|f>Rxf"H~DA=45pQB;܋\MXo_V)ۙ*3ǚ2܎Rk".0pLMS^a $Ia/8yM+2Z@*a+s^mF mwܹ=zj7g([f Z˻L1dUOǛ,HСdyAJzKh(ic $U̼{-ǶSr/Ȍ:}: w6D?~ر ynK69i@CqgUjP0|9mR֢(+Ei1 /Wf2BjC,! vf$*~MlEMp ,c-pP܊ZbEsyLMt/|)|up`fTbcχ'~kB?X[_lvIQ&"BLcy˷YG+ [ {R \[ĮT׎n.nr>?hju:#QH9WbiX.JZhVpi2/܀SO >Ɇ&%L8,̑ %2s?~MPJ.=fAH5$`UƳfPRIŐK#7d.=xU{ȞsRA{^\m5Kg5TEx NAu?&u2U:[C393֌ |(%hqX+ƧfOJ݂Hms1JTe fR=]X~4!Zឋs"H`{@8.!.1xU:A7K,Dg'դ[=ՠT 9rZk=$3ڜ_%t,IѬɼ3%jb.ڸX(v[gT]FY[(G옊`N8*6:[zk\J];t?sU֊$39;>|g;VY=Te7 2N %_ivM}ݫRtSU-(t)Fq=vʆ9r,ݤĤq8+R}ydvI9M9Le3.jL=xeAVsE8.U\+JNp{cWz%nP(/zu9˴I8d|9.ҨIE6+]rg ')CXQ-xߧ~܌'aNʓR ! UI_űY>VMh#w(o9KӲ)@@ nK!a,S4X"ϊ˯F'DXwooj90a{` L/L9I`5U-зݼe{/xQez_n7<4mtonzC A9*6's&lxE+T եSkz.޿8U%ha誹ȶuF ~@[ϥLnsIz-qeqCѫ\<^3e~F9_\4 t8Driج}5o$*'?x"T1UsH-~^+%U{p#Ywq&aP⤉%ŲvTh4avgja`6]\+3ݏGwsKt4ljnvEA=d-[StjZ~^fZP3#mq7%-N&FCAx,6fD_ZI>_׊(fF'Q ԋ=|O{xJ_uN+3s0j?oՠjO޳* 2]Z d+_?xD9\WT"ܱeuWKXaC>OSzx'H0%/ ~Ƞ7W gUxkWB=p:6hn?9G$9%jJ tn[(k:b\a1=RZ߭մ)y xe+,t;c"[d4im35DcF5AH%DQtD!|  =Nݔ#0z#qЦ-//hrC~6~;G5ֺFMzIBg#WOU˙i.&?pg6сJV-Lt8<\]p_Ĭos&,yxVF Gͼ/ 9Xh%k?R+3y5;)y0\A=)d-*D/RdL}T16SI"wV$Av3/QQ | 嚟\8ҊA+}hPnչ[|2}u^c(h>H\I-uff[`9£xUCαw6z5tz0#Kiֲx̯0H38MxmL}Gv endstream endobj 294 0 obj << /Length1 1367 /Length2 5906 /Length3 0 /Length 6842 /Filter /FlateDecode >> stream xڍtT6 JCt730 KP t#4HJ|cZ߷fg{k{u=lzH;  H CAlP; " AcmJ4Dp,E%b@$JPxm>@>(3{߯=Ȼ@Q0{І.!pi}Sv⃸!QN2\< ܇CQPgÀ3>` sm7@: ((5aP;6Eu-@ OD0į`=!G h<#O ~UT?ۣ`hw>wg?`pPD@hw`(=v>7B98?pp7B/*SP@z~I21K?A`Xu#]-vLW3Z(o[ c33F.HKZ4VH  56^u4+y_cz0oT!a??+/v5J!Ꭵ/^G:(A > 쒱'բ~> HFE?;w(V]/)CP{(^*AUx+^ؖMqMz^{U::zczQ@noZTC~3A>˿` 5[?w7yW^-CT/ث]uf7rtYBT 7(20[]- .7OLAB~NF|gJ ݛXi{R5h ?{K2='y:{oM0v?QV;b)ŢKUhKzeX{0th)ח0zp]ߏjGOk{[L^v;y*;[LOIf0<Ǡ4@)oLz>?ÇDH*/o> (y7?|s Env&siNmf$gnr_ RUК0 |5RV҂n'kjXyweσ|-2D|}楍X޾.vCÒkH㓝2hG_ szw?yn|G#mDvw6 <]jL .58+qNhwh~W*l{,GAm`[cN7feLݱy]k{qKᶁqy}Ye/)4lsn +ºž6G y_WQ}X%0PqL7Ot6e z֝"Dw/%&ߴ&nM?Hj[#'i&GdrQu=VVu4ʹо[tclN)vQGti<@RvZYaѻw_t ^J/mLstlO  ׽&48X*eO~+4fZwcr\x6R'WtY ,{ºy2p^~A+$m(9UwH汖ಥB@#Y&%Ou ,= mTHi"{^żC*U}$HZ=oR?s9[%HwɴT;g,\J/|?ũ1'%,2Ы & \W `tyOx(cF[d{XTO5U s~<{8Tޒ5i,~n 3: DXL7(Xp3.{[$[?swx }Bx,@r^+ۗ 80橣.V[ULU] v,?t .A['IWH^329h3<}lycdr`99O DJ&>{ejUwʫ<Yx/̠e, Rtq3Ro qK3cRe7ق*zFDoz-t}jї[`iq} } A6b.K{.:rᵧsӅocɛY,Vw|itk!b|v8QćR QgX>mGc <ԉ|3$m8rI@<WjKEiMܤgswb?}ANso~!!]@la5ymw;~rJ!RmͰ VL[A!#=1 xw(\2F ԤɉNJFAgJ-cLkvAa/b/ 밠6ELć ] e)zL[WEwX?ir3 3ލ_lm " _4h%TrOݰ@futPlA*E~)m_ i5qTỌ.S3-ߝ8#W}51l0E ϥ#lO4r 9S@U9Ae5: ~*5sS;3f[7m* F~g Zs +yX(P.[O([?!5+>q?AfP=%&dVTd'3 2͸"@ spr{;hyX?%*y}`F)_w{nN_"0/6U =Q# z7\t0f g)pNE:yM0_-XF3wU<u<VȡvZjJqw/j,C%M{c F~;?V'T\ZMb+X3W߯{3˒~Yqunekr;ţ2AE?DwL2ڦl+waFMY ^ ʚF&wT%67!$t:Z$ا66SNI5m_ li*DBߴL3U<ɤ>U4&뤦p?^u%Ur(K^)s H7PM]yTܙА~'TtmGN6mDn==kw\"; V4n2B hjO?sհ26@]\uD4pMΡ1\mS㳐Բy axmߋ(A揩fO60- =d[/T`qOaWv?pәB?Rcƻhzf#RW魮ҘPFȉ' rg>!j VR{wcѝ E= Zki$]=d=h"ommglޢ={%~SU'G"$K%rѸ#Ա)giZ̶gO }1~Ԍ/:YTSor8j^f251:8;3k&c{ɬn;VW풰ɛX uU!Vw@0dSβ!"i _%fCJy)c"‘&ڜ{ (ڗwlf~lW<m89AgCz=~)y϶B֬CƝufne,^/fE?9ػq2Xd>n 5)}ZIӍh,|eP1~w6@@-S6Ϋ*e7,;"Cܒ-hsdwњvB[B{M.IԼCBG 15Oag{rws,*5N}ΘhŒ*.pZcBCF5q240||h^Jp"懒L+#I™ᴨJn[vs桔H AWz%u۶||MGipRf_%'/ě7by( O/=. Vi%4ojCLYY,\sU3 fgfǾJ FZߞKo*߫M@owz]tjt:z:-l\]$117l?UoՂa}=w !xj[G~r@G7ʶkiˈ(GwIH+žOzceV7\yٻmkEly[31 ?X[u7j\KcTӻl$ QK#&}oN}G*9im>3uҁ+wt9^ ˚ Z& e[ iAUό6&% lp}(OSC$f_i(*cy__}}Eߓ3.?ঘxa2F߷/m,w5 H'+L0_Ӹ]|AN2g-Cݙ-zz)rkU6QI (*;UE5][uC\ғsRpbu#(yz5q9\&ζKM2cyݗ_J#OL_*bh>vw;Ҟ_y 2Ԥy8taN-ѩ#d<[xRiDJ$jâ8줼=bg2<9Vx|_'Wr+e<JmIkayKU0<Oj " Xqe~pfYCMqmUKk-3ҥ\&!oUj_^6e@xG)S (~8"6#m>jl z3޼0"b@hgaT*Gf4zCTؒ)-|uPLǕnwj,YƩ&}?v{,d:NDp)'Ffzq8Q|rwxpb*['qaf;^. *R?ues GkTPJ;bF\^ m' ߣ{pE}-?zc25o 1)4X֋+ǨrSOҼܫ-8>'BSid[[f$5ґwDduWU$asܬ-S'Ej{ AǾƟ7×PRR%њoDyB"6U .AUGYJc4)[tw0]&z"-1hִt*pPy#l@_It:(4ZUX`M%Z I|~6DAv*T^b#NP:Nγ qH endstream endobj 296 0 obj << /Length1 1382 /Length2 6009 /Length3 0 /Length 6959 /Filter /FlateDecode >> stream xڍxTT6Rn[A$aaARJA:$QR@ZZAB) }}9oZ{s]s]{fmN6cA%=T@ d]cK @D&04 ꁂ!2P*"]O8 "HȈHʀ@($7!`p8U0'g4߷(A=`0n00FB`P?RqFen(!< C;FP A&D 8P9ho0„x":`Cu6W?ѿ!G } xc[J3P;%(+ f*H77("՟* 컯uE a_c8x "`H\Dtc,+#uO8/z1*Ebo9/B`nB1jPB8a-(r[t/; :X0z`@aDqP,"S C; H s,FjG{Y '߹R37ҡ6ryƪof~}[lV/<*|oʨo>X0,Qu,[̈́_ڢé_Bygـ;ӑ Fvg2]]wpI/9:%TYb^͡XZ)Ƕװ42U7$9iaqEScm  Uw'w6֔Fvf/^,DU}lM?SJ#%p1|uyU_nG)\.x+,>RI8Vlx.^oMGqx|dM!OKxj %fÛf/LrZ0ѰJi^(vieM$~%,GTX2Y'J`4yVAe-7*590X09FzsG -7N$ѫ:pD}>ZViC7>V-n u+OfхLgrQ^=exFo=6C3WLggdKoulxͳJR6i&2ͭ). {"2Fs4T9CKٶG%FJ 8>hw3^Vwun&fעXLȅnwtn#j]2J $w~m\>TLނ'2Qߙy=;[ʁ ۮ K+F{<36 l˫nXcd0 ?ԄQ$,zݤ<X\ڗ|'Yw`wN攅v=R`Ҹɮ!H\d ߺIP.el*fF̗jd#9߲Gw v#@)O7}oZ}){ѪXn }[703h9V\&jx0ߢ Ӽ*2 A<2k|V$:vay.FҳkJ'&zB9@,?Bz`ݔ~ǛR%?]|MBz?e2<({2̐tt0-&Q*A}mIː,|{ұ3Z .{ڧT>.mBx"uϿjUu ህ5"'Gw&,;W𠂟EIc $Cboe8D~)FƧ[TsQ'sb{lÚVP{hh H*_}{. ilLTXn=YÓ?/H1kNBv _7_dz㣒},pF~\dRUz ]PZU&}PUGWe smNi[-zZBӷRnR{^WU~9Ca !QL1(WBkצ`G #hMt28EşI;[ͷb݃dp"/!btFÌIG*EoV ݃mUXU N޻/˦9X𾉛:N<0 < ?#`ЋʖR1])XN\K8Pdڦyf mar&PQ:(w-[JMj1~7٨XWpGi*Hl͐f[!ǡZQmckj+z-Ytw<嬭JU\yY`X͢1[tfDrrXޭ=8^Ԓ+;p 7}b)+~FZf]R?f(Toisޙ q;ZIm}E5L0BoȸIk^Zѹ-Z;EJ&2C\ajŧqSzʁzrI_9)s9js ;b^rkJtҝ,N>@M^Ƭ|Yׇ<;D] )ɻ P,= 5m5x?rmofS^4m#jj'y0\;|QLY?6^wn_0qFWsv).$'Ĕ(/RK01n뾬 ' MgOV-5YER5[l,'HpMT]82cTp?h6XTkP;]8-О7pnxhՂ5lBphB"ϼn&{=\f2atUBIq t3ΩƳdI7_{}j#CUpڐt< i 1`pIdا~N'Xe_xo7^3NK9AnXp:PH~t8}xjRn7 j{y/yzu{ݑ q"j5//Y$cLQf+|7?Ī_jx8Ḧ Kh!x^rc^*?cO ,l} 2^c=foƜ|cPCB#.L[~pnuP͓ IvnPdGfPp(b^mV(H܊➊M2*\T`|9`gjDnJ4i1WUlY=2?H_xH4 .}bj ?p:!RߔQA'AH]DUܬJ>TKʇ_UtbXr=g)%cZ|NoIJ಄##'κ%}m@#ͯ&YG+o}֚'pc y~\2鵣WN)1yc '6 )bߺo5y"q8^h ,ǃ{Kt3]h4p_Ghpk䟝7pcJ wlwDLF3TYG1-QX̩M.m *l>{kN3 9Q\Z1=@>q|"lVRQ^d?q`pȊfZ'ƹ;ޒw).J#gf},jT-gD36F=$&a ,O: ߣL KlX|㝷Ǽ0R&\_|`#ܻv"Z æ,=1nqӃҠzGYwvÎ9W ތnz /veə-+Zt*W*8uynUr<3:sRtBMzru.j)Ͳvd^9o.֚XAfB1.q+Ux1h/O$Z{MS*oҏ|>ZxBޭͪ*1Iڱ,kj'nmV2%1j5Zfk^D~MZ/F@ o\OT/Έg8)}(w\0jC"vWSV ߯z5e!w|%+l\> m+":.uznĞt?@&$GfY*=L : QrF2[7 N&:s*9~Z3殿ىv(w%~zD,-;6>ǻ%n4x𲒝^ɓ(S ,~߷P*wH@]Z5æ}sƓ:c8eK)ŀESJuaL:LtBNIK-r2hXftAtE~H$ju ;Yyۓ0I AZ] U\+ǩ>JRZg5>PG kǤ *\Z%65҉?GLX?oNמxTy9Am8 .Pؖly~aZʹ^0W@:W=cnz]kJQ~a+|; ©yA|nLy޷A8EWz:ʣi1ʏ=.8W{Fo|Rٳ*b"+6 'J2DDcD& ^|2^/9kΤ\ Hd:2PJx_]k^lv&\{2N< flέ/RssOS'd=/xHp#,UhN4.jk걀h &hk+9Va|rG_Cy TP G8u Aq "--SY&n{CSOیVw5* h,1Ehnp endstream endobj 298 0 obj << /Length1 1612 /Length2 17166 /Length3 0 /Length 18012 /Filter /FlateDecode >> stream xڬctf].vضٱm߱sG۶t۶ձ~w}XcYU9XTd*LbNf@)'G3+?@MQI hkBpl%MA@~6 4Nޮ6V 6Y yOߝn6V/@{'g#/Fu ,m e]Y%i&@t5ۘĺn@:+ ?1sܜ6́@W77#o@NGs{w[:`*Nn 7sWgoVIYf pidOI8@@/?̀ 7g{S91`L]-nnabӝUolN_l@n@{Kf69As[8"3(N6-ܝ33tIZ89{,,JN)w*3 -?5RJ Ps؛Ml3Po8 ӿs++3뿍6nR6^@ 5oet8*fXYçamcnO:Z'":4ީR=H/QZ!.a{9x ֊ W/ߒYUxke0_͝,u_U׉[\kЁ@/9ڲ@mfN`xRR r8̹Y8Ω' 3r>e{PhǞ'xUDGAWEpbTusͪu7fTC< wLHQEoєݍPrvNfpldx!?J?,mlǃsO@5<#oDz;$%6SfG5?R/a++ $]joa_?·Sq7bA3µ[ qo {Uzp8J.GsP ~'1pgл^i&_z_.vwaz -g{nlO[dO|!dPxdWr Z؇+CX`[Yiv]}mV$!Xtgƪœysx 1;"(4i@ ;7#ME*ViPoHzTSab=W)b&Dk{RF壚lBE݂@_1gXխggIքp`}"'ƽ4o,Hl+ӡЖ&+ i ZkйcHdEt KwU' mkU V¿K[YC3BY:(koYqRIA_`%^'hUA) XױB5Y4ˇđz%LvC@{%$i.ɇ덽O>_(O5+c+t/-ݕ[ΔMywn-,D8ίꔴ??J~;k8%l(fvn D.l&}$U8hT˚#EzmdSݠYCO[d&!ц@_[:ܮ7= *Fs>c ӄ~`œG zwZObasu>\a}í+I8z1'nwؠַ Y0xoI 21\1ɍiuI dکO6CӠڬ|X'/pnE^@L\u/nO>}AE|y|GC)1')wЍQ4L~,L@v.(gkP#y#89}qBIICR*<SypC|cWoއjZ.]D |5-kɏuGjQ=JN.>Rg4HWo"= ,!) WF舦v>w!?*8NBX}|zF?ӭ#˷}G`}Hu{a5^qϥZ{;_pe'#lMDuz5>HV7n4M H96DZK_a%*Ñ̂w;2-2 >իv,>8)L^MzxLa( M+g*e7u=]![dYXC/o~s~ UQB!6vzX'_ry 麴] AeUϒ&\=KmC~\:#}nD?Gf{NeM8-Q!|L# \. r0 x{P0 7;A?J[~xfiĈFW#bFzL3fÛPKbN|ǰ?: ϗW`UQKBTt֧9["{I&r ƆU/cp!s bΠ/:F>_:S U򠮾 U1Z B-l+h9uL|S4[K'@2)2/uJ^<Ja&9T)m.c=2~PI,.Z&)M9. ?vSE]f}} r,G۽Kn~'zJi-XVl;~u8[Ѥ-cgSώk)_.QN8$`ņ:RFg)J-[HCʹ_HQUR<7b2I>RMzaTуJ?} -\ "#eZQ88< ѾY# i-Ŋ E-=4Z }݃׫LvjBٻ\ 4}[-ʪS?)75Av`&\#:ayy#Ҳ7xŖLc@k/$V'SHM#0bIBk0w0h|ŭPy{?WWFFq0==!b] ŕ t"_~rK35!w.E1p'u?qiq@jtLdj&̀ӢumZb$boQ܊9hIS4"kTF~ltg*g8H艃zJpQ`P,s`j!PV|S]~!FjB+-AȎ  e^=zKUՑ(S݉qBw\2]:λ^Eo\ тqeN>m} "(%m#Q&T , [zsM|FuN0IR_O\"J> xZ¯5^k|j~߰k9y"! HAޅ^6#Gd:ޮDzᗉHJ?+ݶWw͒gȵ_ov9jÝ*km~_筻os9OP*ABBXKW]mݘbl 0+#,\hx0KVi-8M/?=R0(F Њvٲ?~%dܑZu+Ȭqe'*N]iy}Ye<+Go#x<:7TRr- *h.J] MGt~@W"ԇ&bGwoεWQׂ5hza֐d}zn993USW 3ԓ;R̪<^yY|r>´G`h:!b?YQY ߨ.-/j7wxpsHRbTJad֝h7~ ) {aEgO𥚝.Dfٲ*>]}ʱF*ٝSB{}fIȢ-{XL?t^M0 u| &{4閟x+6Qլ6K(*jM׬lr%uH==yGlGv)iTU6 x 6FIqd=iv)do ^z03#lF+ z)?dqG8c9;[LY_CvP!1]QM:' UN$"2(X=& f\~pkd _tx3!|v⛂1Id ܽ3B>es>g,13zS9&T'fFrjMiIK8% S!r*wU\g)E$FT}n57όg!rdϢ]t!Lmc7{CL^p3-1giE[9I}YQcWmYڗӞ?/ED܍sL 1\Y`łJ1ddX}bs*kZScqp3up1e_Ha0L>v/ ir 㩿uB-z.)Df[ّViB_'p' i~d!jx]aS` oxeM9{*v?ŰZ20\M g`4 r f +Bu,Y\hOe"T?Zf`t+Y4 .ȈQ2^Dj\Pg6;Kmw5XT@)Chp(]'A&C?JB]0? HcIec%ܰls$eiՆ&4qkc/H?lGOEgvKgA=w، ksGAPB*P&xwl@q{px&w%tџFlkiq@Q\/8`'Ǣ~;(`=N.83Nzw0p{]]\N{VWP@8QF-ܔ)/em_lK\+gN|m;K/).ë"쭵0ie"OgƸl}}D=7l̾Z'&n`bo _}գ"{uE?C/ͽ<Μp,IeVŶ8yaCWVcíf\rY\"V_\aODq.6ॼ=Oź 4'U\A8,>AyiYCDmy XEfl$1dUg;8Հ5 '7Au4SNCVVZ#sQK!]%i$Ud?jW-LRx{'գB/GheژJV-X.mzG%BpcO]~vFP8%o*b dw] ㄳEWĴR`Cډ@7̈́!yx݈M~11d -="gkmc=j:@Iʎ&\HSJDLHD<pGixb!5W(A؛(jV'C\@Q6&Ğ/uc> Xȃ,1Lu0fUfA _BQΆ~l( 5=ǽQRWϠ1:A?rV5A*pT2fTƪBx}N$FmnW [5aBo0j4[nsќme{ͽ%0!Xb%3:{(#aIBk>0AyrZv9[,85A)wT,wFˮًo]j"&HWl;[<)h cCಮ[k=qn9w #f`Xa]lx%6G:KdB` Z0`HwvRfΐea*Rg/ĻVANj<3 8dU6mi9'lK=M"yy4p¦@{tlc3t> n@p ( @k0W'Qݾ 8>ލ0Zzof_3}d+|qvQ#Ox$ݡK$A:o>'u߾4'׵1-k[|n閳=o-73=|lyFtnޝ#Sٓ($g!1{PO0IN\s~)+9 |n54]!:yj5Kp/}^>*L4L?vZ4co]9LˎY*|uY "|IVxkלNH%[Λ; &w&(1KS T'.l/xYS?dU߾ԃ=\@8-v@Am;nJ㊸?~wC͟RJ$R"3ۘ~~9m)܀龥gˆ> ߶*@2dy mmQq`Q/A!̓a s_,oj")LDJ$=M6MĒ.ov7q/vfF9z sڹY&2 ff9M8uӰD#‹`+V߰NnN_Ǔp[j/{"`lɫ>]k9!,m{ &Jj#0y5%NGv LVI)b-{MYQ4]PXoʨM GS-=?W<M&n_nVq~7 sR2qdh67{:sAD?\㩄z߇HX'8!4ܶm_pvO w݇- At6˪bk^{V][~3F9EyUSlgZE ^2h4Z@baKt3rؾ;Rۡl<#fk&ڧ܇i&5,ko'>U+: ?SFͅs:b5[cWjȝnЅv ;Q f7 F:qieS9Ū[Z#H 'jA_p?=]WVDa)v5Bʨ2 jePA.ʶYX!Vm}F[7UUGxK6Z/*ո%4 MdETA]q*|T0MmezMWI8ҜNf~5\lx9 %}P|)PT+ny%ĤjyXHlP4xreoBT>fCImJӼ=kH0I{*/slL+`V̈h6Ge٢̦WHҢAݲ>qÜr8)r5i,=_Z^KKţ2+J[YR9B 1*n3̷dOLgӠ׸zkKD.&A] g ׳"-;4֒d_ȽHHB. J$[?]i~{Tt.zsZ VE;HE⢸5.JiOnrMvcoGmly>˜"[*,}Łcb;On ˆd^x/b>6b70Etg~/b~,xӚl][L0l•sI֧e}Zkj]ܼA6xƀ`z^ВAQ0 vmd洀 /UVLJR7z9 CߎAZѢ,lNg~VMV𞏠.u7>ZmMnU7mMƙ\kZAPd$C9I5ÍD (u[اK4s\i’BfNP`Iqb!I/{zD?:&ܹ:qni+I,3"A6͎1ȭa`G4SKLN0v\7T크G Ƶr*<$,G` B}V}%oYO㕚ٵ48JClZ}zyFidM(u0vg'9<+`t"n,qٹ$Rw`#vu4l %.!>z"– =ABC/]ٽ/<8 \=mF qe¯NPev֧Tg:C,IU0RdW@0]$hԄ6Fz=܀͛eV]>5"82M܇m9zb4th+J"W^ǛL؜~\DFY GiNѼo}"VkisS ӓ{-I83wW=a0Yff5Xe$B'znՔٲ8UAAߖ-BG"fKCb@-_YHg>udd5\:cPU@Ԙ ;f2t{2Rre-P;noJqNvWk ৌxAi1SVsE!KT{>@_bxwͣ@}hv9yxDD\!g]3V}x]"Xb8RNPYȡ+F%4;=: %h6}D؈ ]ͱ?ί(Yj/R5Q \`EA)+zꂁ,F}LXἙPƹACEl9XQ? >-7)P+i=/^Y-^{hÜ:5%00- mg4x̉5n# Ƀ鲷SNe5~!H=d`2]dB:N@"cU({n9=n,a o38@q@^ n 6yƼM‚xM?@|bڳ 0[2^hD5̬ ha6mOùL!avwU_D,&;%ȽuJjuW-y?)ȽPkP60Wob1|j=CiqeI %9SU$4X/%L(Rs^ NJ,ﱕQnaa;qg~af-r"_]M>P}4'K„J6TntA(AMjV<Ĺ [EӆXUY%'|avW V<^?7@πjQљx/(zE>8Ʀ_Y2Q;Ds ު1[`?[V.U[sR'hc! JS4ce=޾!ΩvuMҚ][*$}gCiŘ5 -;"Ñf0=bwY^I6`HO VGgI~ bī-<)TpѥA% $sDcUHvcpHS`%B19my\ƮJPU5Znf:_0贂4x W5s}Vn{oJGQ4Y|t ۽t+A 8WtmpQDž{(_}%EF &E+S/; @L98.=#"MΣoGZQ +" zw댨-1Kc7AB蹶 VWD#`rtw**1g _)0Q8lz$e3m0_h\aJr }l*iJsJd6\]F}yk"*qؘrcR: ^:?DվPŘ7XqF6;ݛ^c+iDRþ>TY:+˦s3.Ei~W -Ti\EZ 5n%~n?^*,f9_M@uS'3np9Dih"3W5EKU|+A4O6q_|w'Ke Swl~z.gFM~0uSծ^\B)632&]9i*\?]о|eRz2b[(G% \YH^`,hJДgs zrŐu[Os^;tM(vl0yƶ-3r qr,6vt<8?9ru[y ߿x.5,jIn!Z0=rs[1< P|}4RHėx(aJN#ɏ?@ti[-N B%:5X;\¿o KݹMa\O/tb v!US5fmzɘk* C؁Zm!ȅsƽ*]k(}]eh8snK }vpH!,DtZzEIpX* 5+w"QEO:H,p19_!W u{ccbOz PH =^P4ψ7k1EzŶ쒳tW91-;9k 7.pq`") i~ۺ)7j ͐9#pg:ȉNG(ȉ?c:38ڝ`\lm <#tzRXl:`ZDYӄT91 Rqoh>!ט}e. ~,6J"Ea?>]t0=n!1$"ZPU{;GP,nl/YU_(ub CM͝w#tݗNţV:vK .\JI2*/"IZٔ:rfnWbLLq?VoٍD_nMDCa2-oǨGoi'tڱ Su' }?_ߩ1 ..a H3~; t&tHh7HfxTU٩PNe5=y aBciRdGcpFLbOmb(9;4pbp**i]t7$ٳMhK DJ)\t@J]A_?KmGʓTsݘaG)~ ƣR/;"AO ^!nߋ5\_7u~E&X\XmM{ k[̇j_#\EG mIOǏy/,M6j\z ԲB-{9h~ j%xy݇U~'>b1M4~ Zz|I(;L?IzX\yA1~萧6)* ꬲ-_ѺWKҾPRoǜ~̋'\YZބ^P-$8>>gawz&7k k>y^GYRimC\\P:˜ >Miϱkz&.єh3Eb 7V9tŖOj|/ 7()$"ؠWkHc֧E@¾9vao:*R5){Ppݬ45UwW EN?A*фw+ܦa!BV)~um=sz:@٘6K }0-~IRųW E+\bI_Օ?"9&*Y(#=ZmDPKXC"^H8~3`0G,:G Y=;j3d v Zׁ> stream xڭcte]-;b$Tl6*掽c۶bۨNŶ]_={9ػ9}9Z$*tB&vF@q;[':&zFn3HVNh`dm !8 ,lE @h `f0qqq!D-̝Tjihh =Af.@k;{_kG dZX" R* y5hh Pt[1@h ~9ٚXS/`-݌@{`9:큓M6dv 'oTEQdnOl_`gw?% Ku2nN2L,@ֆc%wW [ʀ43t4@irӝUohoo/o,@@kSz&16E`gXlML8tW04vMPߩL?'#&;S;[[_2@=cmqp m,}/K9m_a蘘m[M-{/ W#T-l俧W%Ϡ$#&+tkIpRuW 9;\#,lcg1p88XLLa@ ?~o4bv&LaO?_u=4FX]3 LLwe/mP-*M 4x ols_<ؗ>ŲI^x}+@ۤ9`+EN?ӈZ Ψ~3WC8wݏ̥ۣ=qj}NF03Gᡞ}|XxrClS$'wOW@*H(Q'+!&O(fKY%ߜAr\,|?%S7f-הX1e-2UA(qQvoaB$Uvp< ^#7_ҔAG2h3<;DMw9]7.%&s3RRzF@w\  uA3)|ݩ_s׏`M;ÇMs` Vs mOZ[DP-q e܏uĪPT=ZM@͝>JM\b *Tw^C;&"[Բs|WPI%|80L-<[UStL׀>{#; 9h54RdC+NQzroaO̢{➅TE HȻTG> wTU}.TLR7Y%sFi!H>"Z,7{r }(j#o|AB,GS10-q5c鐞l=)oN{bݖU,؞ٲ\)y}@Ozl~ו a+O}{GcHLO-_~4?ߩCE C_0 l 73) 1X]nx?)&(|y7߃F:+ ڗCM pLP4oIWE QKu z^lEe }b7ˉQ ~KࢱpHƙYs&"|5JԖ:Q3oOO9p!0 tɫ[_Ts+MLf&!U$iJ`W57yG%ǯ[S[MC58z d _Xr4zf0igocX2+j-<h49KE6G+rj2}I}Џ}G'!+)˳!i~_ W0(BVm7'Շ/.>MҠd514LW@ *q'kcݨ8MxxUV i1PpTWfїY1DK^>3# c[c)n͑[X z*tm.s`iiJK<|:9/F>nb@t ަh3Sxn2qeK^ؘJb^A%%s)=EA=kEjlz/ǧ5_ VN}uώ-{Xgk/ s_2J{[j!U^dw nb]G0PI-G򆃫aIZUgݒMUU[*1qOlAę|Y`XqkɧHVB4źM/44!H<ìC9 FV@L;yNܾ? lDy+gs|<.?:GC'Twf f޵ZMwQ<9*sVQmi QGNGGOAs Bo٫.YOg¾3n, Bd|q_#w8" HralG;aK{Am/]ܛ/BA]}zYT? h~51H:L!QD>EeKh;#ZL7'&h&뤒Lq~qG7By)8.v*7j1G!AG(14L<'B'+YS\J Q{DٗPe%{5f8Y + j;!&iv#f|O_jj o[mVٴFȟUc,1D)h!5bh"+)$A% `jziCf!fLtvQ#sJy-`ET9M.P %S Z|^ʨ uȆ7"6f%T=j) w^d1nv3;QrؠS3(xAV;W@[snu@yp3gaBXոLֽL:,a{À&]5ψߜcK vz:Hi'`ٌ҂md3R3omcPfJȂ^2Gjy~Q}p*[o-5r}tKb3w܏eMD@_2F1Qک+&n>˺x s[!]NAmF*Boۧ&fiE ')h:"R$ ΅I$c;XNwZpnH:V4(𬊨IHū8xLrݵDl3&+h;z7 b7|ҡTNj M?S,h,tpY<r+y_=KrZܵ73,K xZM$5a]|MK MGb" WS&W%O &"W`lUK肫Q?'Lr,!Hf9.EIb֝aUODsfVzi3b6=֍OUD.f^$[_&=!<3:yaB]7?0XY:Sl96 !b ݻA),ޤg\O7*L)*$C[rGb !UF 'b\_kH)ɡOmVPHxG jrYcq-oK3mpŮ)=d4d_dh^ IJ(Sy|zcL*v޴MEʯ0@@ʽ gdȘ酟5MV\qH(_MZ3IHq }<].O*dhؾx(dM hCUѳRp}E1?ٷ&RCpm$XEi{ o!q~E/xEcBOU%oMj"GD a4ъܺ!rر(|7ij "mQ];q=PzHLTG})B7X~HAOK_HJxH1f\iWT\ ^g6Bݎo54Qϙ~Z\']5v"$j0kkfVӆsVvKH]C);Xs|Cw}(QemtYz7Zk\?9v<Ɗ!|3,?fKGwDoB_%X٫5z9?$%TlA@ޘGqKr8n8`8_گڝck})Wp%j[HFQm-ruQ2˚ Co;s!wv)EF!dp Pޓ/)#դ?iݸSő&L[eS&|VsC\ ;nKEʯ65ݚǃ2٠Ӕ׻oXboc+Qk+ 0~KA?(zt֩!ӼM ۨ%S5UKC V>'ֶZyK}k%m(fvnfMecp.m9\Ͳ'\{ʿ! .9K+*Z5rO!kTkvYoY4WATMsWH ۩`A;~@8G!gL&";ʻwJDAǫ{(Y`gQ|l^V*H(A< P4*Я[U 2S ZGK~0bQ{eU0,c U lNO:8tzUԠ{ )oW 1Ӕ灨2C31x>V>-&?#KaoXoޛLp6fII,[d$ ܧb!h?q}hخٔmPJr:݃[=qܠua79zYdOzy q=uFk1@+_RuDž7mlxPYvfҝvr߸p߯=V~qh3>xgZc}BI$GOۗR 5લUQ>Vcezv8,vNߚBi9m$$էԿ3zĦK[ѺD?A)K#TՑӐP_rzɮyζZLI5?uvlTR5vj?Ck6 {!iB zYxEM'Gዽ, 5ء;dxwҡ6ԆhgK~mW3'V!tKتk+Fxԕm|Y }̿q!d骲2Vt0EzпfȮ4|kXrf⮩@/.=HϣM9*Tү'9c]YoV͔8THkRX./U34^`C߱g-l cH9rOu ^<Ǽh˱2=Uu`," gxʺ5LJdf5iEԏuH+>G[?g_cQ7<an5 U;4vm0TO(7MD$8sOt18(6?  ӶM⺉Tv㶊\E Fd9 w+e=_G֤+c:jSmq/T¹Hq)ds~ r&̜f~d w{}3dV(jUûee&A9N)Ab Bi*V-~1 1!?C#GYv Θʒ>$-WH4"νI!{,Q5:.U jÜe.8y1?IL8zPtNqOY?`>W rg^E,rqe~RI?L&Boo05dn_rRZy~\Onjlfۢ`VcUUPJ kl.jLh g|@]Xc(O./OC09y:)"B3k_74xk?Z7K j[LU~)&i<;\jyJ `G sJ:- zk?҇a ,kAO|0Osh,^ifNgQT HҮ&A7d-\>ZW%\oʸ*"N+ Z#/O'ٴ.-~NMyi_h; /S{oZlj>l]6y0TS8%,%4@>\Qkצ6VZ)3tXxL/kND]! [,L\Jyٿ!- u[)~о3OK;gO_N{s$qsDq\=A%W.(Bf}_>ߏ-nn5O'%~!҆®U4׳FL(o+˷*F&]0g2ZBgmA]. 9eC '8}ц%{;/bjdO zVN,M Z (gϥJx&vTKbeS ,Enhxw P[UMN>;a$no z^dwHJa{}8c~Do^ to\aJw0_D]<oŹ~,!t*6C~m#-@4;mSJۚjPbo[r.xq}|tUnop:Kw&>&Y+}5kRK)_HIl $9bH iCH>Dĭk==| 4QϛI}7hs^A%Ti"`> fӕeJ[ \F" ^S T,Ӭq o#yiٖ@MSilF)B{3WV+$ }ง;*  }0/6O"^GNal72oH0Vp?|>4yW{HG^AߤgTeOeաAJde]ğKgSʾ4LB:$$! Qvj+Ɣ'/5"F*@ik|":E`/x4n8DLL$oDՍ8):Խ&At_L7j1EiF¡˴1Ysa>z֢FWLƉ #Y! $n5">9l-,K4_0w6>sǨ9 Osy")#e(-z>xRЭHD2Ô#F3Z SBOdAHSazYۄ@ZWq:QGLr9dbDeZ1|`p` г1i0UId\3 d91x3ъ_!ĘsP_^w&LGdP8} rmAЃl'alR1HⅮ!FR*/;v=W"݄OSMe*wXR=n6KM0 ;f': FGjFVEJV4BTqXh2'W~!~qEI+ѯ"3G}kG[6y#Kv4Q- P5Xhy394df}Toձs~ݭ0VGG?{PD$DFWA"wO >1ZTHs\Xt+ <'Rq)kc@%;@7A$Lix9QKcImqA٧*FeL&23ARP8FYj 7gI )_W|ۄ, AqJ.]):x+a м_amn\hd cnWD4^F\hwʓrLAau'sM=u*"NpJ{#Z5sY+UZA y^fXTiBfgG'5 ԯ仚$ؙSj/x[)Je9D-{"1v>oZ–B=Ύ/ yb~F䨻Tÿg&e@un=$:^ZHծ2˙eaQpd0$.U?xM1k.vdEcE?H^$Pcv^1,}byC.Yj,E#ȫ9i~˱`|10m)˺vh48[/7uy\ #K,!b B.'i#[e~Υk'R` G2Cs1]hT~0~ e_1OF$=tf-`yPs9*O%Թ\e[WZH 3w@ | sZS>Q&&YEL3 B<+˅ø'5ȿgL' >M@;cb!odɴ80w{0Yؾ[R>gFL,#?1M,) dZ(ַ-Yv0<}| =/z;gs߷Y,t뛼?=jD=9wŊilK*cl 1V7GOrg%dv74=ϧ,egp:G[(Z}Шr[5WumpfyI6si*~$Cن"3ke/I8RƑ8 U~eG;+?-ŷ[tDF'd9v֑4ߵsd<l[:UBWv=:eRs+A&PubGC  $nё$r`_y 2^Tv*f}4QK 9^Mcbš_[ݨ$I$@d6mݖօ\^dfȫn\jsYC  ]"uz:Rj{p `jp+];OH8yfmS7,Y)& `Fڤ VL0/WlnzN 8T-moC=/4nõ;8 RIF W\Bl쉵m:*l8'|`D^Kux-$pMMb)曙B8aH:^/w<ڂ%~N)~sͲPKA{(Z(ԬbM =8h k m9 `y'&ՁR` 4XeXhp,\hBJ Z< o [:Jl־K(۲`|v), plJڼE$s# b~ b]HngcrgqyY5mpu4Fn)$1*{Lcw L#*{h9[6ϙ Jc43xSoۧΖE#^hCi^f: GGK$onT̋egR@bvqck i9>@!V/{0 uL!cS05{}A6QH_|!瀞5oiWK:$\8fdrce$tg!ȆF\\mu22XB jARx/o/"Y"|-֧d' 9jmIʕidI Y+TTb@\liݢ")_Co#?W{Q#&-TP,eJLi[ ȯNeCn. CC?6 Rk@ZJ6 D_F?aD׽_HTH70/yuO{a51PX}7S{VrE'%|nl_\s*f T$rC"L53m#z՟n5+!;>dZq+g L۲hM7E<Zy)d aD c#"Aߢ9LT =q#n%V-Մ\3X6qg  !E&O|۬'Q&Vh*N;hΏϜMR&'Չxuɻҷŷ`r/cM0sLI}5”ڢON(ji43 e VT2= kOu  (rBghj&7JԴA:Sv'V^}ѣ.lݥBhYPJӕ: orxb46j+"yy-SwGr2Y#*df As{DA $[b%ʜŢY̚zU]f" y8D z2Ti,@x&lqfh ~?Zq[4]K'*ihCC i8W"&z͋eD,ѯ/~Q> dmW6Vې]n}&r.F  DyA"?LIDOu%W;Hjz L|7y59b&},?cuJ8)ה^>SKsuok"7$ z쾶Oz_'TvR#i9KOCNf #\zםOGV9ܶe"-]k{[~r/E@`St|3#7&Jk- d\E*+pjOZP@؍6j@:g0n=6ec}A  jG9.sS FC6|_ģJ"i2@?o|_Kۚ:].:='H_Hx%[լ(DZ[ c7_wl'~JݎXSWr:{ 35\u8X%=EBs @‚NtG.qZ8jN@,ytA셁_f8,!ËR^\ ?F?uKM-m/W`dpؽR0 '04øӱ&DB2 k}삺1Ƈ@F\ȗv;]М z;b9qjuXqܸNJeu, ߎ7 89#Ӵp&dQ5!*!晶~\$%q~-ǡJAfadKZG-nsp{dz[$0,:hcBRDQ۸;Pgڨ{75(q*BLxXs)sz sÐ,S-=Q/My 2gb|d3EI.um=vYCW]> stream xڭTy>~|ʻYP`h 35!@$.ǝtTt `XK6HD iED@C V p,` B-<ݼ6~̇?=MDcП  A!EwBttv#J6Odl"pp n0;dIK㨣XpX B<2Țw,̀88Md"hd:2OSB,6F0P s be'@Dss T4%-Pԋ!&@@2âC( -r &;U ҈l pP{;V=Ţ,܆!NUМdMAcRaN)f3!b40?O OQ="o @7 pw= 1';ICTf8@9hL ȦCLrn˖|y7s .I9*o w / GgB :BQL0< T ikꡏMS01pND hњ|$Ô9qGL :Zd.*ђ g } OQQrPlovAv7쵚e |ɒ7cT>7r/d4ʢOMшEX-"6Ƈ&(/.Ebc`SNj+ ynϳ_7[1)׫L\m"xKW)@*P2 fWNiٻ}(R, ^KY{]rj3|9֭ü2k-fúa2;r ;#P܈#4 =\t?5',.$5*q+['%AKKj׎q=#&u^ Kw| hHݯ1z?/|_(ܸo  /ro\3k YPttR<[`u:ɶBB;1ϰE&ģ+iN|ոp. c(1nYҕvOd BkhON$M[!}g>qڍ"l,WWb;$セqxFRN#g%6ˡ#ߒu}*o>񇪝KZ $pwCV bNk376Z[^%^ګ^S0HR&=[oChgWckɟVr@7yCeE -g-B bd SeWd?bFҶqJNWhʼv M>KGK/@at钟<̭ד;ƨ5oKcD)ߦ]%1#lZoN\4[-U+`%9GVx( @*s`kC[^.wٻb"{m7TRb%쌜g lv"fN\z6TToI= f>6 {_@MVe|g.Ѩ-?3 endstream endobj 304 0 obj << /Length1 1144 /Length2 1528 /Length3 0 /Length 2250 /Filter /FlateDecode >> stream xuSyQa"AXHx\dDg"B+1+|&WY#]AĆ#t rt&TA>Z4s:¢gBvP#X4L,SB ]3i̜!>@͝[q?,fδ6Ptw'alPXp+c62@gH4Lx`Ѹp;џb B;E`B !@5|SGa5 V ku^(o>H0fn_T06x)"o1WB;Blľ  îWALd3Ep?5wO-47˝dq\xӽsiiWsYw! 10uL 2)5,fμ87 `px.1"`P @7C0sN0aB0 Q̯4xf.=eςAp+P/AIg'ϐc0nYXm,Zn+t^fD6r)m`9o9L{c" j湥i0=gCT~Ф5EkcϝWFWO;T&#񺓛Qz|%1͏(u#%[҅S.x^Ѡ[ꨂJvU}E*&6޼d(۴dzt̬]ӣ뫻5S^ّX}Dkm60dx0t~zli^Kɚv󶞆{k'֩#%ILf=?x$6wjVurhu(237k<]iu4Mтָ'" ^&?S^PZo#fn=q-ޞ'IS 6Ɖg'v5+:+E-%F#/7삯O$1w_H\W8PAݓҨ@BT9>2hZJ?U7[qf*L&\꺪#oXl-Aih\Fѹw)}ʭDءx5{b 2+: M%w:~uxe[ؤ=j*/ާ z:V]q[e"Y)sa@&YDtd[~Lwp[:eMY1uX|ƹڪ~9qluL,a$+o[{$mr>[4|x~p7>Qi\XZT< 0\8e@<2}llDUޭ\Q=D-)p#1ve9k|U\3)J)}AؾގWuЉ<گ4kli3[}!FW7=81&A[%E R9etI犓%?Hd)g֍{}:drވ>~s@ҞhReQ? {#nq69WxKKԇn7r겜p=*VmI.xu$ #c|?M>ՙe:Y`{Yt2C eͺiۍ{6i8U捞5 K֭^]%+ ڍ#VE\~E"Pk~%lLs+ęyoj UVHF`iͶ8QO 6kKZ$M sSC] ąhv~B1Ja:`:>LcKRa-4&w([nR(UK}5*a㧬'R4>o R:`4V̷(2語rnxjo \s͓T҅ اPPhy`#qRãvEjA fR[SiNuC%eNy՝թsG9޷h{cdE>!Gm,)hi|-M7Q21dՈDZêhEm 쩒\h endstream endobj 306 0 obj << /Length1 1620 /Length2 1868 /Length3 0 /Length 2693 /Filter /FlateDecode >> stream xڭT{xbhoCQ>U^r 5|VXj,v[{zo{FVS{ox]rVRKMaBő FY?Lge!Q*.tmHn݉-XL2Y}@NLZU~Y5rtV|Yַ mAel|8ddOrt0J?ZBϺ nf>O:s݈39*U֡} Rii}YEQi啞3޹l7{дm (쿹ؤ|nýrxLjr^[o ;_3kݻpqM6p _;]}pj8c;$QmC~yyZAkq80s8"uU%'^c#=ȲwM}{uo%8{4}E`'rm圞Vo"'Eh\˾ػKa-Uhߤuf5ycHfw&1v:0i6ؘMRR14R"3$:W`Ų ]̥xrx'Nϫ0c2EWv0 7RT&=jes[aYs [B8o'-yD++jpƋme%5,PTT[[zw mdiz2S5%[Zt.bG>Ҵ/W% 7/;]|eDAe4p2zՉթXQru,]ݎH9C˥ohڢun$M\vC7iVzGEJqM.L}EJm}'bqs\1dSĞTu upf@envCGfU?ŝr[&WC{f~sOJ5Ff s-JLrWAضe0& .&ב7R/ZAⲓp/rV54[i=jںX'> stream xڭwUT]- .A7]ƝMp.]CNpN>}zo?1W:f}5֢$UVc:L,|E+;SWU;E^yF .Dw%L >qGg+ K0FCU_LԼ{XY_l@cG5̭lAq%eYEi@dr6(Z@. Z3=\cL. 3w7/lgrX8؃{vXٛٺ.7wûݻ=  xϪ,!`K_]wK_%{Xٻ w_LA{`Vpu3h rqyNoodk΄ Y7wCtu 53 L Y@?cW_\\mmM;dL{ kѸ_.&vV/-u`[;l6ؾo=lkezYYXMniefcP3kɨ7oC!{8cRy+;~r7) ^7 7s56j`{/;_y{A wҼuZf:7w`LBr ıAڡ/o qV#Ǘ9ݡ.[Y>9mwU7n a rV.昊a3 x3=?,;G_XvF£că;KXxJ~\#$M+nGaWG]%qx`ӏ 5:L^*m͹k;d@(1b ך:i'9" 2'&0T$7 's-{ewp.CFqÞlEuB|bP:C0ߴ.I%\~Q.{\Aa'kT6vGVX=yl ;n<}cQɸ&Hi)ySW)TqP[-IArdQ:^NFIަn5VTiyiijLt? JVy+J`F%g8=v~\~"7pYLS8"Ӫ"^V2솧kqioS2-}Aq3wR@ |h MY#ci'[&Xp\Q9|}Ҭ;Wݘ&טּ sniDEt!FC̎#v7 *Mkglj#?pUy.Ø6ѻjNbpGY 15&J9-ewK&u_Ƨ)|XVÈB 7|@=zėNC"O4 %gM@Al o" jÃNYij/rVdG]T\r^~ O8w[zYT*NyX3V]wWڶph=YS Y[[=pg\J)'$Dr|pDgLPG\'bmӿݼJ|qrJ/ZH0 # y9Vc/gFu" ;`2uX)Ƅ;}$MEt"(gS-l4Vvsl!Ybc,z6HhmɅp)F'Qסف-,⃡lz@sQQ|[O&K';+8ν!|qMkv+G1J5Åy+k߷FBigNg₹,ș?ψBZ  0^;AL̤H %9C-кh=X`@6iq9R\9fCZ\.:\ym}r搓d2ZD~ԭ'[IpnJ،U &j2a)3/8yX+L~#RfTJma1,-LaT>Ϸy245!r.yĸ*"ZuYcirk̤N0bi, PT8Jseے.Xnghj.bVnDsYc՟~0_1uRjqUZ .b- &WEFdNԬK0<ԯ`ɊsGwG'/[\PH y5bVkJ ӳ0aJG9CA;Ih iBCC>e0WF^‘ǛH#eβĤ|;mMO":VLR2"fRq"5}zf=3/6q|EmHԻ ɣf/2ެJϗ[̽*/;Ip4ЈW04Y^zF:!s]nҳcX'Baժ%yaX])׾~7=*,JyЪkAuWRӭ 3Rm؞-3WiI21 1WD|1+Ӱ_^Jq`f]}|e > g8cp٢2F@sX2O;uaR?WM- 0w< ˒"! #mWxmT!Eb@[mDJ)j[癙Y+O]V(۵J;/kӤenA{&&%eB6CnԋG74^f/u+ ?# U~Μ_j]"a%UEx?Уv_U9z  }l8SlBC2l{@L[f1G(EWDc{NWA-ʶKHY4=w N=⣫KKrƖC7 "}ν?R C~ w :Xafї"~ G޽RK9s:ucI> SGrT 풘OG2x_呻5]g4!5:R1+):LO"b #[GZ^`g3Z|>;'*t I<5Kx/^\ʄ_lcw#L!B?b0xQ"G[e E&-,o k}TbXw{ʢ=Z:vc@}2'lQ*J rh?o1=ErI)>mb'tdڙ43( Du <)UV&}gy2STߛNV4C1J1$EE|+He1\wfNSaWoڂ|Q¿/U8ۂ[_>w'jx$(ɽ֫ύXw>fjJ/y6ROHFG#,t3^:_%pZ@goNh/-c~N)"JbP볱:X!ԙA ý)#=9m <`ēSJQHC<-pY6!hau!W);+%-H)XS`LY~&z,FCZ^5_vu~zWEӉ ݳ ,X!C@kZ,7镳I"}ւKƀA C!|b^E2>;,zc$Ӂ}WыO%}f}x 4dP,*\y@]3._9h@ l\4P흓aڑW H ~YnJuC2@}gLЈ5o }g܀@HH{Y$IЋ*+x φ'lS 2Ke 1(/)c1ns1цv:퀚PذyK}1LcȱSlq!.DMb:S.^I..T>t|,uE1_%Ӭ)<ɈӽNwd^N>Btj3_Q)_ovEj^Ә? ɼv:r |5aq:AJVYp3ԝ^tBn۠9FJj6>"b=x(Rc&Br:K]B ‚ZcgHǔ4)C,Oz-kmT,hl2Z!ݣVi>?I~8OcÌTJ %BiU_GǴ 78 a:a9Wkt6p44II'9}!vJ$vG8eCY:ZwZCK} tRG刡o z?>_&{:רR;gsIf2~C~j:ES,k%'Gf(d )L斑ͯ],6@,1ъ{tUJzU.2HN;hts5xT+^I?3~ۢb@%x#| [gV^1dޓ\vq!/1jؖvJ5~[% :5X]oo+-4%ƥ$~Q&v"I;ُPiZ1n[j BDZ~1ϧe?k/vgݗX4kEgp++k6zC]["$ef+JAE0s͆wu1X,3bL9yuc; ^ZA'V<0)$hP6 M7eǗ"4(X#kh\~%IM,? { cemOd +s|i٭(/? ~t/Π%o E'`Q葖Zaظ3#V3sr๺ [BY=ѝô0ǧ+w0|nZ\IzzڇvM7$L|dѶzM gI~.~bJnj`Iк$txy p"B324uÐ/7ya]^ +Fvk.7,*/7-O.,}Ͻ U# |f:mJm{ez!ӬF:|W(xN9&zys LjϤ"ofdEgL^NZ+\Š#;]!R$tpZJJsT!aƕNX[MrG 4+EF8AD/-060<<(l!}hs oE77MIX.oT5dɲu 6HbQ~WS '*?t ]}l>g \ҐPœ:Ll]xa{DžB׌/87HؤBhDTRwx~F=C6jC _0OAY5͉zPFy\hMWw.;}[Ȉ7hؚ#ٌN獹)¸p)0u2IKYC:p lq6 ,HHi+4c1 E{])R5._ժ[גi}79AlIbtkx ^E bPIC}QyĔCf~#Ww5#\C1In6pE >&|*;*O/"'4TfD\:ߴOpy@JRtT̳Zb@$3\н's8Nu aTP\G\H@n"a١qۨ(/n-\3r >3 Pza:B'N's+}l<0?S '̪*"(upO98?ZXk"eOMr4c(~tdHt6H4klEo!aQ >f(8rv.1i=e4–AÕcjG"\xüٽ&;ϳI~z:,ͳٌØoo u7=b.v#tUwaʙ)Xl'6U/UR\^ƕ#c"R޹ZZߟX?뒸\gPHn1ꭈPEÔ]":Ӻq+5(6 -Zaġ`tv[+Sp8!<_@: -&~OkQj~X@ )9k |^ѡ!2E{eIE rdP !Z@x'\]fRucAڑBꑜMa'oǹ/)bxŹFU4?lN WR .(F/Tۤ!Pd'#s0 m&-[DU|l>S&[ufʏyRkἬ N1=qA^p2݈D9QGݭL&b@ MyjE$,#AngZB|IJm 6"7;1muO؋ZCYS+_WS:>%g$Zfs,Y,iJHN`KCJMʋeK)ƉF{o>}NaG5:uUþRۀzigZI*;+F}uINTW IkHmבD~.Lwi(H|J֕г+蝊CӸ.bjxj^׆՞V w_x_Pzڞg~d\AI.t>ZWdJn>|7qg~-YzHR.YL[ǫP657 n i}w[ 9bҷ{@H 7^,^K{ɖ}W8a/1%zd Eޏ`פ7f/lWVHj;r5Gtz\@!cѤB'oc' c\lV}5/.ϧ?8H,6EJL⏅0¼]X١X;D;'&r0%/x{oŞ?GږfD܋)\lqsUsHoOg,ӯ?fxM u)ȭb4قI @GKoe[\KStbr0:0Z3_'`V1X4M5~|[CSQ&~ܾ<^V;L ^Y@пf,z8ܞ҇Y4A8Rm,E+gqs2ZH]7WU̠7~(x6P`׆r7>c8j)`3db6@hxy@|2<Pv֨גPz`N#=ʏ*n18^='ege/&+y͙B9Y\ִui0b(EɩGP7/*IxYCA3 .ܖpefaL|N :7-rF'cҨmgɑPU>Nj3}m(Zލ2z:Nj>ƛP֎FReI#fƈ3[+Qc;fY]:"l֎]ԟJ򙒔IihZhmh/R93#d5Lw 4l<Տ mNZĖX&1 |$iX;[K2-¦\"RpVRwA=~De?#Ō/AD$_hw-E،bK8v+%r u0H= ?+`.Mv{muo=ۃkWtBS6/jt4eۧՆk[pܹS+>,ғ~)4]v3ecuJ]w YϚpZ-/Pԩݴ\Nf7Kw 7]]fyU[=:,.E~ӆt^;B;D95yU=@~{xD2/"2@WZ}@ )d 䬏RQreqjYzL. W5w,!KEȏd^ g'@ޅ*8uEuB{iY(nG@j4VAG׶kAtWw~L6@ZQ ?BOk**!qFf9/Vx;`/( $M:^, 5d%D dsH]*Es9Qfp I;MIy1q?V9ܕ;ZqaUf3Nm,'yp:(6>:[ԁ~ $~#=99VR9t#qIuH֋m2{[Ň F +Sh%o0׮d_ʋ4ύ+1)씽z*'j~ZI?/ _KēDs`֙&t><09Ҿe+H%^@Jni8چ&7lUFD!ukҢwrb,%>ސ,2v]jf)JGhᛩ,ڋ8"Zvlmfz33 W@p8]J! v_ֻs,i^wÕPU}hx@0,.`86J '%dyu}d\oC+w#"-Z\PL@[Їt G\*ئAo2^<)rcz.O/wOvļRd I]60kbԴEL6}'@,} Au]Çb@y탚eh9֪fU :X"TF*o0q#W##ze3+6ls/gE7$y|kK=t铥ѱ"Yu` oR輺Ju~ֺǥ@8|[SB<)L0xzS&MhÁn60%B|wm;XdU;?Kv٪_tyZhWoExKep6{( hq$\(q\Րy' s*]Cʞͽ 0Toi<*LS,gEجj˷ܿ^\mS8Ol91h%ޯ;e HE ړ;?O6[:ɟ'md&:LԚ3XX{Pzz/9TIX>1$`="WV (,l =H+5л+EY0~C݅*gtM0E61[.;ķ,<ĠCo|!q K?8J:gDDXFٙ "#Ţ~j M]d= q\c AHFVg+%݌y[AϤ9IUCŦǢ8O2uj-TT=M㔂s-NFkLmPp~7Ld*97P'o!6H(t^Cʐ,<;2" 9ƒ}*j]X\`7n4q ^ $\gΧ&y4-~v3"sdΗ2[(~  n#f3&?>`ٮ(΍p" endstream endobj 310 0 obj << /Length1 1630 /Length2 18533 /Length3 0 /Length 19381 /Filter /FlateDecode >> stream xڬct&vVlbvRmfŶm۶m;޽q?㙺&yϱȈ Mlr6.NJv6rv2tJ&f.0ddŽ&v"&\uc Cp03wP*SXF:Y~Xۘ:T618L-M rJq9U5@ cadbdB0sX[[Ӛ_,A'o?&Zo F.WojzSsrv2rwͪ ": d 3ilgOKku6u8;`ldom7_0{GdakM Mg:'_v5X8;X01i7- ?"ikj`b?l&?;Cc;[k) ߔ;Hoz/=Wh1kk9 {d l @ϡ6pXX{ɿ?I:_jpp71Vp62Xٿ&&XtLŦbnade ?m25_3*j)io.G7vSFHEc`I/ e -fdW#jkdg(;ݶl]71q71Y_3LLwc /mT)*K ojX<>ðM1!/@&d9d-OT]bcT;ޟRT-dqMOZFbkޅRWxqItbh|td&'7藳S+SrVz r'B=TkoACF8iPXD>Z Y)5>45X ؓ4;_jCKZ jH銚jQ8d|Quct;}x{U/Fx-@bN"x4-C/_ ߕYcxp@R0*-F!ӚckݤoXޱÐ%m%su[{{D/Ϟ4ICy4hJ\IC&k]~",75jGUfudFܲbLGZ!,סH?11ZKh@7;M^#Em@ d> tk"'?vu\˭F'9&X vkJԜ/ֱoLߚuL7/23WOFUVl-wuuWyR3!S7&h(adZ^句d\"h|@A|.R&Fd6V 9P1Γk~I˫~9aeqҳu`ݏx4뷤R,2@b_s.v,rpP$N%ї+AQAg;iwnDfv~#9-R']t1}x/[M#6'KA=d@'֛ؠ陃^HxT&~Q.sr(teR5*;wVǧ{ܻef340n :օOL(x%6Z\IiYz㑢B6'\p&?N5Yfgo,Az: Nnڲ1ḯE GOwH<ަs-_xdQ*yc!i6p?E]gZŽ'/Ż7G wFci"ŔSxt#D e͕!Y@.D2*g" WU r2~rOWCF؃{us'VXoޅ'z?r>,n]͜15!Kٖ:!B]2ᾃ==%@C>3f0Z^1Y㬞᪮(Iy3*fˊ1S$E۹+Z"C_ ͲK,p=w4E~9&(հ{N5_}Jxb\BhA#Qs(`3|I[|w&YpA3rtK;]D@ȃ*sŗ#fC~ccWFLBN4ZDmp;O30C#;Q`}A5IRIs]'Z,XIɻ4E!5A&cmɢU\E`ӌO@ ~2Dya{䭔2!Ogڭz<zT"~l؇ &܊yFtxB#iVŗCMۘ7{҄DeQ ڼDK͖x$v!)CeBU@SVDy][&2H™lUzsڜ9\cKtA:%|÷ڻHTSE4m+հ ~ 4PdyM@ymqˬ*g $3MM%bmÔ8/t(x"|g*-!.u`<%^gfXJVw>yIebpߓ}L~k,7ީ'sk&4Zw%M+=}~bQ$ƍ2c~:y)\ݥI8,\t9Ǐ dP#ˈl/Arxicҭ"ȕiQ:;Moz6|EF=c %`ϐ-tʱF`Z#U rmk^ S-+Q{z&6ۀz4fs:UA"NڔyTGJ+ 0Az(o>'_+~|vyUUPh}sAй-ȶޑ$u [.0t8\`b7eӔ 'Y -"@ XiΨHs+c-4^ϧu?o)ֳfL')qyb33 M]Ë1s[9\чP;>gqUz #k+b [B=7.z5)(aG=KJRps)3(R՞<*uhd\R7jn7ja F|DOKl<ݏaՋF'4Aĵq1#&.cPwx2)`U܆*TH45&3%$uҒګpD.tUHʒ t7J>QsLT'Mhf3ٻ[l8Ѕ]Vz#PC+g^zAzlB+BOg]6WCbۚ/kM%IQwzN|職!BCr^}f{drxxiYp|Q5{c7u]h[U2>0kwR vpNUih>-ΙoL‚r4+ s]Cq ڊ#;+NҚ!|dmT1ާ,s3Spdovd}e6ǽĒ QF[쮶Tv+0Q] bo}f,J(MY(c "C83P6f t #i5 ЬfٵE\~'#I rhYʎs>Ź[c).j&aT #SU1Xc*~Օc%E4'hдp9֝- wOg51_?1_'Hݨ} 7Lۅs}Eb7w6!c߉ST잆|4&d^=bz.efU*̻[Oy<;XށP[.0Y{UlU8[x 9E76n"'Y6cV+^ħ# _f -do4xhs,q4h Gv8N\qvnT|lNP!39#Xn8.%,J R5YAz-fOZډ(dGVĺZ6++cϤJ>^.SixоW"cb{)|~)q [y#y<~]{6\y8$6A?E Wj1e(Q߇|WnsYnɿDMn)*\$@\%wtS{2_[b Қ>ju3TW&s;͇*-#'/' ]@Bnf lYm3lخ*KcVt8W?X6˃W-)aRd,#$N-ZjwA򨆋(%:F|3=_߇j((h)'(2e}MYy`!Jj؁|plX72*́WK PO1_6l#L2 WXM98%VWQLόB76k)3W뉐z@j>ӕ7Z`$ic;$wkX7lnYq\jK3I#Gbe#r>rKbTyra=sDcO}ٶA(71!c6ʘpZ-H6,I nsH˰i_k2U,gG@ݽBѺ܋·}C ei?ɹ[ǘ Hn3I[AOsN  qfR-g ^n|h}o^1p7"E y oX*2Zi~0~(P m2XZp_,eMʢ0n JK-3"IQ QDO"UEcC7>0K2JՑ?Y B<]av/A6C/#Tė.t /mz U d>Mz2ujw? t <n 9w TĔJofg*նnQ.F Zņ$Pgl5E2U՚LKT|;@+:G[d'g뮥TXaY)-㘦ḥxTB;9) ּ3G'XYgRa+E򧎚g:Eqs*Xi,>kdAw2j[3]1MMcc&2K*76z1{-k"9?e`r`,8p9:x֎s*ߌ%BnaWLt7!C圷vV x+D1ǁ qҬuX Y$!cM- E%;=@ `|ʤ46$ԓC;?< W*[%plM_PD.u(5eѲض4=L r -j56#?^IJ1BX& xMzpd+U1o?F66G t@f'z2>hSLO T_umdfJ3l09|]z$g-P@U4{Z4䚄/5EV$x ƭ;w h=МHB1]-  u ϞlH@mܚPI,-64CC8f9yP4M Ĵ-x:KSUndզi:s,^?ZmI3- 8fK_ns wyvZ&o]HX"6#Zg560 Dl:k)3l!9G]vR[.:2/04 Zಛ@Xh$gAVoߡՐ8ƛxGIj,^Ɛ6V p;צ0m2nYǀqjpz{IϽJiy#y&- 97k&Mi|f6OPAQj6?&x[i;, K'c"H9q^nxOZ(&l& +)dD1Mʇjc.FaQgLL aldmOoBd8AI+lp4XKI619i,cJ 5+&r~@@HxfL3WxesI:#mòPZ! %V]JJѐ?X n[=LLmtGe :C'5bg'@f3ҥ:5.awK s@.}NxΒ>@alAȽ,d-5D"+[]ql/Y޶Ȁ: ,װRԔBz0&U@n[ } $$})$0jk>RE:"O>.:ΟÁa%n-o,7ZvŞ# 9ܘR,(܋ V8@d$έEQĮܤ J1n?T {S0H$[mƆa\e1fC!ε)AQ^XNIC]|OY尖xrN' kyh0$hW"b>A^,3cYNHF~]܏Y5c}ATeư_Nyd0b\4L/ww#WuGMJ^ R>ʗK).Ҥwލ?:ş_T>+t7kΪfJ?fvp,ÁKI); 8P)Zj-n|r:oQ"j$-&2Fd޹;j[(i,)j ~!P%)4f={> 1իG|gov9U]ᑱNfdBKEqoMH+m(T%U 3dhD o߶@S,>(&'YܽinT]#&2}Sl) 1) XPz;p'$˟bvGM5abC=kq+dʅv .zHqI9(&a CÌb谏`~ rDTGAJI֜ ģ7;o!jK$+9bR|ιǓ&8(Ak=*RqΞ[HDi*y&ya JS/=_ŊXLЙǡkm6޻y&{Oݑ6geq7mT 9g(g*=ifFӔ|\p@%,IreƎA_>IhGoW?ш|&FtoI4dm#)?!+}7$pm6ְz`JZnJ9O a&ʟDʍ#kg?)UzAbhtmv4l9OPJu~̄j5gѧKoAheX^еnG_sWv㺚y>0C *YgB\5"Pr9]Niƴ V:L<[dsjsl.xW%qS7AVÁ ; N}8RKBX0 Zɱ8|?Z LqWvg<!V:C=[gٜ*DO#(&S?ȃg)h(J:G#_"3J5O`g0aʊJ!1%1'+cUBY7sm4?DDPJ8>~,2l;Rpɝ_n"u2!܃Ǻw'-ÆM!z-'DI>$z;,s?yIsr{P,\/Wkvfkj^Xhi$Q|4GCKVAm1C2XZaPж˖DjN(boC/og-[ڽ)Hp~;|'by:6VUM,a\uL5:rӖ~jʩ$qV"i#w5tWgqD?DE\{ ޴眺L+Ϸ\ÔA9fmirŝ%Y!%\}{"jv۳jBnA.ǁL},yE41`e,LV{WSOZ낓m6|y?FgY%}8-'!T˳H 7Gx=jKG Ϫjk/Kb5.ZM,5}6Vw_/5kqX9ZxO@`pĪ&':e|n9 Ls6ueR0ɉFݐ+aW>ͶίC2dt7RK3&mF7oΣ^u,)q: Y$A 5) JxgrIMbVZ-n;rHP픵~Ub ,h8DŤOlA^=ͥ:wZ;Szϓs=5H4:v6N iwkkq ?)\G||-7b{1E]N%3)䶴CYhPyIdף}_|KnM71d2kWZK \]H8mnD(,2[*Nl鷲#$_0k_+b EУVr&T0ސ;9[թB&ގ2At f*&W1$Gt );,no.3 )7졋؟g !E8P>i \dX'_a ^KRk˛=67kQϘ w-$C pLF!vk'َ A֏NN AJ"lZA >Z+U @E0}8ґI괊 u [pI ь><8SB ?~_23%㢇olrVjs~H3sO6ٷ< ڽN Qů~B {!7,Y{p9_{( wa $y6$Ӡ~c4 Eqi2IRe";iMiKXX+_>=@ BZٮ=|32?&yN s]fM$$g.8Tԡ'NWp 3vn *]^lm2Wtۖ _Yj$3hAdnc$ c!!lzp%G ?`o\Uᦜ-ܦT`NSNpms}ݿO=,qS6fuvAi5nē]MGa*e,<`w{i gtn`NccyHn?F؂?%R,^  "4mt@'#g܍ [T^7`4j =EGӉxdh7zl>Ü UXi[!#z}M~7Z k& yiJ . ty.H!U\&pq-dZ= tPpJ5B6u溶Զ",1jz}/iZ"{*_yM4hh8 k-(9hA8 C f,n|(zٳ/*AlHTX_LU4R;BB`# уͦA*]):&8yPb91'"hSUT>0iQW|t|̑3WaE- Un'"*(t'h_a z澶 _yt~-Ϣy,jzX` x-PL 8ֱT+ڋ.&j?!+!6uq !/EgYe+K )'3-52$A<ƣ} )ǩ4;1"ϺCbRFG1—GB.]TVMmDWxQsm~tscN/R#Uհ xfKN9dZx#"o!yB:neLCEY=HG Q6dhGԲV&#q%EOdQW(+X1zݘ)_{Pt(A?ǕZsYeTĉ9l=ͨ!/5~~ja^6bPbP#R:=FFsj"w_OfoJ Qoķ |)4G<\Ns{m"TD] RSa>d>x! 譏WpMtTsldAgvYQK殹,=RSj乐 pϻ֌od.?qXyhŵ3Ied~!̧$ WDYZ.0٪ƉIR#J=1-ȔWs=PJʪ_HUĻCve8v/_q\?0&g&Ԝ@xpRTĺ,4:[3'ޫ粑ڷ"v ӡhGybxGeJ;U_db(;83JE;d/ؓofg>|h7{ISO`cA&mӽ2%g"F9yVclZ#th_9YS{.s]rC\ \t{4zXX"kf-6҂^rtE 1>hS0> xo%>iINWdcORFsDKb@l̇z\`Q:+(7\ W`5Pv;Q'9 O"^þ&3wϛ~o\gl3[|}p Һy r}lY H1REOc٤l$VWΥHܽFDŮ12.BZg% < NuAnj pUfr_X37Iɘ nr6p^ޒ&"arQEԬQƿt&l׈}G$!'?(ogey)q& Bqw5f-oQe'F bu1yG pO<]7?Գ0\_ )PXw;}3Uu_TL@2~ߝ'l8&{7~OV?dm. 6rtmO&$K2P z)pQzjłJ4p+DL.k)FQRN {@D-O^~)֏c/NQH1_W^&?eCm@ԛKIǿ]tfHGC;ʹ1mSHA"afSy+'D=x$N#2~ㆯ L%1KšDu @Gh003{'rFt:r;v[Gy=ԕh9$j.w6^Tʼn)$]G~ (td'Uo&?FWı;&v)̈6=usIAm" -'I,$.`Lf,ݺ>mM W$+f=y8f~d,o j 1WF;H j>l'VR8`&`~*P#jMP7eZ+EzƩ[IRli+|7^E*UN"+"##}n$>asSЖ~abRV:p}qݱ,CC? /dɟɯa+x3W4zp6Հ*w]t#ؿXXt]yBf2˭|ʧƬ "|{5B͊g:5QGd5WO| tdreJ6] T ęߕ8L Ii+UhwY.q洇VKl[Ҭ^Rhs%gR[`U<1W 7₫##nWDgbJޛOn#i5bJ.`;A+۶A5PI; /!8x1"7@c'r`Rkq-TQNN ;9]+ V`}M<"8C]v0 mh  W xzM)]V7W mOAmrqRIdt+yEa%rQJqjtT#,xq차%QP ].'f0P0*_phP-}AڅhLV^ٶ^PW {w>< A?:t4`3QDOZO4=& Chfo?H׏un+ Rf 0눌Yfg)"V;e>ғ_vnIJcLjjR`:O-.qǥ$6Z:O@A 3oSXhɠXea 14Ң7Ր`doyU[H#I'o9 YF8m]D SIIB[{DL}̈́~rwgۨ\SjggPCM:&'+?qCX얝bQ D: 8O~iM΁#ɛa_f6$C6Fc@A*\>w TUj!~i74Vzd~o;(Q{NyߠI:w~H3_B wE*DrcY {x0"oPYhq,^{U$BA.B&ac3b0ϲYHi Z +I-j$Q\t#V|C9>sY/koh(R?qoum~"B#Mz88_]>339V q$b_9 p߷ܺR>FA(N-*(œ+7J{[5,!"xc8Tf^۵_;d֊,9 ϊ"n^n`#a*V͹˽AԅaJ3{ndb;`鬕TM4C\$,֜R_iֱZ TS!/1 jv8wj&9"sm 8U,}.ǝ-&r>aDdl|:ܞP%hz ǁ U^!*j&׏s[`HDiد}P, =YDUjp_#F\?7>ZOPQYzj^YrոT}Qm,B!d띄K,F9%7HR#@*"~IW 9ncT)ٺ gscJeՠhY H?Uǚ2*Qո3.GZw" 8 p6P=M1pU9/ k~O[[ӳTd75c]f=HyqM| 4NؓOu:ɍ:U`5ɓ.zǮ>Kd#PR Ǽ}s82 /.j4ey %f 3+DxcXI*W[_+=f5)C=ϵKae1[}lj-\Y^tA=_f;f=p?B]QRWѠia[]1tS0֗Ȯ; ɯw` /Gb [iܺienxT+։0'粃BT8I&tBNUoڢֵ-߄PA֙@Gd/R/HGw݃Zw# 47o5F&3Rѕ^!\QU5EMy+Cuxp^a _Ľ¬Yvdо2t1ւޡ(f!kfRa÷NΛ\cJ}3se:@(T|} ͧQhKxzrJfتw #Mdt$8դVC#m;tZO(eJ߷f#=UY\G4@#q#OfrO۟x,$@f)nހVRjv#Oױfu&RS GqA+@ "_GM t? 4 Mȿb`˺%8c{[-em7/:%YClDjцg'H'mJmkɊ"dZ9{l=* endstream endobj 312 0 obj << /Length1 1647 /Length2 1938 /Length3 0 /Length 2736 /Filter /FlateDecode >> stream xڭTw\Sg,Fle F /A4aKr1I$l(, JpȨe@AZ@+("w?}ssyo_ut$p`guAhIbhylG0xALc P{g .zQ %>qFaRqn>' shqKsJF"\TC|."Dsd\4W/x £@>AŷO/S\p.3g Ya8k4' As3 XJ:*d7C| ҽ!(,0 DE_4]1!vX<=u`A $1m眽ѩ@\#SC rqD8;<`amE#6'˙DAxP$bquzơtt4aChs#A{yHіDni QB9>>7WЙs]. q?>߸E[:kE!"X#F#Z{̋]VJD!>&Ey[xү'"D j\8ZNe+˪T6X|ZTsLa#E#.{ ƫh#r;U> v†Q['ՖkK>eث8oPaJft&wJXǘW#UR!X}?r,hüHx`F~wXwE`ZFQA/Rt>E\ƪbxKDןPCjND%*+É 7yCLof*juEc5{i\F}[USn&IYrl HM-/Yvؒ8tsɌƐEg* o&֥$hdQ m,Rp mj!4< {vHBGUTՋL2=U+C[<,dvݢW! ` 7Wnukn,oZtc*BdLi.*5}3A&Q؄Ի?ɗ6Ɲc)[2Ty.pԯYM2N-Lre7ᔕ̹o1TfCueԄe:sDu {m?_>pݫWnE2KЏ ճ[|AJkEiT͞c˔ǟPѩ{'S֕'ֱ8jҥ] `w4讲Ζ-ޝR5ˊa^6ZaH[&jaP\wd8/{/Sl[1t97);*>]4;[TvpP+>xЉ>@HfMxmI[)'ɇʝm}igt}5`= Q۵ %\u_et&QpRE䬖jV` g2ه4 oOPW I4/UdvS*ؑ|\:tiԃ}=<H5`Ǡ4xГ W09ӕ35 EmeOS$LWql`P^=ukPwC R5/:@$#6)[zKegHI2(ܿQ7Ev Jq4nJSCuS6ybJ޺Ӌh}b؜fFH8qd;J"]zyKڟKe/ rGX(nU`IߠL \7]i`a2s!0=S1go}܌)T+g\: < *SK^E9Ya)_"y@Nu=՟}0ai j3M˶5Rg'%=6(K-&JQ8`P'|}"Yi\[=դGk VwfD| endstream endobj 329 0 obj << /Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.17)/Keywords() /CreationDate (D:20170901152858+02'00') /ModDate (D:20170901152858+02'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2) >> endobj 279 0 obj << /Type /ObjStm /N 71 /First 609 /Length 3332 /Filter /FlateDecode >> stream xrԸ=_GrR-yڪ$\`T'?ݲ=]-PKj-$É`1<Z.4qL"AR$DZ1"+LLD XDG9*,1 -#z+ V[Eb)Ip="9@%%\ n !qF5p pRF1Dj K%TC2IlK2M4%3  V:6:\ZenP"P̈X-Q<Қm"KMc-P2N JB[TFEk$BY+Ľ1rB-cx-B @EqY)PGF5.Ũj:D{I2'cKGhsfQ`CblI`z*zpI ݛ͊z>*IZ~bv>Gt@||ʎ #9#4"8 pgpl=|(нq3zFߞa{p]7Q۷8oY:%QRbvlVlW0&髲$]UI1M/qn&ۿQID1HpJArdQ 0Z`+GҀ/H6B ,ì,"#FXp(n҈wVld,qXwfHa1Çbf! Ciy'z2n9bNpdg)9 }~#3[$(MaLqea}:Ԍu?vp8s0!S #n1$Zr9U5t DCFP5b'b0Dn ؄@\@?o{{x6n] B[a °5n} ̘ |4$|"gcآ|,Yld.)~&>Aa2%x !R/c~ͨ9 =m߶}(X3mԫi|َ&v\]EIK$ Ռgp|Ƃ/L+,x ugK3 [gv_hEŝ>i{7+<: p*7- 7{h j\f7uQ6Uڋd +o=}qrr=z'WQ ģGwiW EebPE1@'7OVB6k${<8;*v\'%VzMZfd0}xkW?oΞDR Wٿ!~8yQ9N3w/x6z!Zn۾L}dza͓b^jZ8'!m$0\ٴ6lʬ1d" %ۣ>=!}n􄾠/+e }KhBjeuORg W zLƟ:O/k/ qõ{\L IRO+^f_SzYKzE4^\3?g<*:3:f)-hoMuGMHћ|^/˼ENKZ* 8;򤺦54|6Ij\)J?Ҳ?>~~hy"8188R.:7 p7-~qT?x;~:Y'kd 僊'Dnع"ӾT:}=;: ڐwG]X@*ޗk:J Bzӳ:Mrrv;=^#ţ5ƺf<8[5a a׈D%unI_{FΞ9촘(ݓt&Ȃ'/X± YC#\tPYf $ui5$.4QQݏb}U+uxp W TelOU;{+6#fd[{sZk3%lh>+[[.wg,.y\-zlBCbޱĦtJ)>fBAooL *Ro?+F-y 1 ڣc-Iy6y7!MXoy zWH48ZԢgCK(3r 0@FCMXk6V֨ݫŊ/uM՚:5x&ƬߥڔGDkVU~% 5;ʝ/;wrTA҂ sH"m%Cz2+60yp WmuY}JjJ{C2]ȰeMZ?z(r#MtY'TETӬ_m›w-EURiXocaYw|r sXH4u>Eျׁj%5EW1n_c +7ԕv#.?'6̈mHq4t, L 8~{L7vK _^-1x)Z&D8J, eP>(yvHF!@` G1PJGow@A[D*f8!zk X"Iͬ @K%-E)q4/|bc9es:cm 1Rl̒C;[BWf.D~(?]*VS,_ǜƟWI1I*]0/oY-YP/?`' endstream endobj 330 0 obj << /Type /XRef /Index [0 331] /Size 331 /W [1 3 1] /Root 328 0 R /Info 329 0 R /ID [<27C6CB5C85C67058C02C30EC918E21D8> <27C6CB5C85C67058C02C30EC918E21D8>] /Length 828 /Filter /FlateDecode >> stream x%?lU["hZoQhi ^B(bkRD] ,&F~lMt00'Y4a"b ;|;瞜s>M)}4K)KR^hԕI*ALCKMP51LMwf3mpax.3J<,'S9 4YXe\.UfY&K%{ kp.%i8>&Kx/gW< HƉz,)=3 "D*T RAC%&AlxM Gp?Izjp!6KG|D4ҝ7n03A n@tHs48 Q!VN>8 A@W0>],6$x1s %"D/Fx#f" Al$L*_R$jpH{Qsp Ai 1XEe.ωm|E+V rg4Ųi||8 <K|⇺oC V(?KmPQ>t*_NsKg_ڭuW]*ʮUTڣbUVW*>Uotc05f aq98'U|_n<װ endstream endobj startxref 315590 %%EOF spdep/inst/doc/SpatialFiltering.R0000644000176200001440000001165513152260216016501 0ustar liggesusers### R code from vignette source 'SpatialFiltering.Rnw' ### Encoding: UTF-8 ################################################### ### code chunk number 1: SpatialFiltering.Rnw:42-47 ################################################### owidth <- getOption("width") options("width"=90) ow <- getOption("warn") options("warn"=-1) .PngNo <- 0 ################################################### ### code chunk number 2: afig (eval = FALSE) ################################################### ## .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") ## pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") ## opar <- par(mar=c(3,3,1,1)+0.1) ################################################### ### code chunk number 3: afigl (eval = FALSE) ################################################### ## .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") ## pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") ################################################### ### code chunk number 4: bfigl (eval = FALSE) ################################################### ## .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") ## pdf(file=file, width = 6.5, height = 5, pointsize = 12, bg = "white") ################################################### ### code chunk number 5: bfig (eval = FALSE) ################################################### ## .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") ## pdf(file=file, width = 6.5, height = 5, pointsize = 12, bg = "white") ## opar <- par(mar=c(3,3,1,1)+0.1) ################################################### ### code chunk number 6: zfig (eval = FALSE) ################################################### ## par(opar) ## dev.null <- dev.off() ## cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") ################################################### ### code chunk number 7: zfigl (eval = FALSE) ################################################### ## dev.null <- dev.off() ## cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") ################################################### ### code chunk number 8: SpatialFiltering.Rnw:112-120 ################################################### library(maptools) library(spdep) owd <- getwd() setwd(system.file("etc/shapes", package="spdep")) NY8 <- readShapeSpatial("NY8_utm18") setwd(system.file("etc/weights", package="spdep")) NY_nb <- read.gal("NY_nb.gal", region.id=row.names(NY8)) setwd(owd) ################################################### ### code chunk number 9: SpatialFiltering.Rnw:126-131 ################################################### nySFE <- SpatialFiltering(Z~PEXPOSURE+PCTAGE65P+PCTOWNHOME, data=NY8, nb=NY_nb, style="W", verbose=FALSE) nylmSFE <- lm(Z~PEXPOSURE+PCTAGE65P+PCTOWNHOME+fitted(nySFE), data=NY8) summary(nylmSFE) nylm <- lm(Z~PEXPOSURE+PCTAGE65P+PCTOWNHOME, data=NY8) anova(nylm, nylmSFE) ################################################### ### code chunk number 10: SpatialFiltering.Rnw:155-157 ################################################### NYlistwW <- nb2listw(NY_nb, style = "W") set.seed(111) ################################################### ### code chunk number 11: SpatialFiltering.Rnw:158-159 (eval = FALSE) ################################################### ## nyME <- ME(Cases~PEXPOSURE+PCTAGE65P+PCTOWNHOME, data=NY8, offset=log(POP8), family="poisson", listw=NYlistwW, alpha=0.5) ################################################### ### code chunk number 12: SpatialFiltering.Rnw:160-162 ################################################### bsfn <- system.file("doc/backstore/nyME_res.RData", package="spdep") load(bsfn) ################################################### ### code chunk number 13: SpatialFiltering.Rnw:164-167 ################################################### nyME NY8$eigen_24 <- fitted(nyME)[,1] NY8$eigen_223 <- fitted(nyME)[,2] ################################################### ### code chunk number 14: SpatialFiltering.Rnw:174-182 ################################################### .iwidth <- 6 .iheight <- 4 .ipointsize <- 10 .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) library(RColorBrewer) #gry <- brewer.pal(9, "Greys")[-1] spplot(NY8, c("eigen_24", "eigen_223"), col.regions=grey.colors(6, 0.95, 0.55, 2.2), cuts=5) par(opar) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") ################################################### ### code chunk number 15: SpatialFiltering.Rnw:190-194 ################################################### nyglmME <- glm(Cases~PEXPOSURE+PCTAGE65P+PCTOWNHOME+offset(log(POP8))+fitted(nyME), data=NY8, family="poisson") summary(nyglmME) nyGLMp <- glm(Cases~PEXPOSURE+PCTAGE65P+PCTOWNHOME+offset(log(POP8)), data=NY8,family="poisson") anova(nyGLMp, nyglmME, test="Chisq") spdep/inst/doc/nb.R0000644000176200001440000003165313152260221013633 0ustar liggesusers### R code from vignette source 'nb.Rnw' ### Encoding: UTF-8 ################################################### ### code chunk number 1: nb.Rnw:43-48 ################################################### owidth <- getOption("width") options("width"=90) ow <- getOption("warn") options("warn"=-1) .PngNo <- 0 ################################################### ### code chunk number 2: figreset (eval = FALSE) ################################################### ## .iwidth <- 5 ## .iheight <- 6 ## .ipointsize <- 12 ################################################### ### code chunk number 3: nb.Rnw:56-57 ################################################### .iwidth <- 5 .iheight <- 6 .ipointsize <- 12 ################################################### ### code chunk number 4: afig (eval = FALSE) ################################################### ## .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") ## pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") ## opar <- par(mar=c(3,3,1,1)+0.1) ################################################### ### code chunk number 5: afigl (eval = FALSE) ################################################### ## .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") ## pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") ################################################### ### code chunk number 6: bfigl (eval = FALSE) ################################################### ## .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") ## pdf(file=file, width = 6.5, height = 5, pointsize = 12, bg = "white") ################################################### ### code chunk number 7: bfig (eval = FALSE) ################################################### ## .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") ## pdf(file=file, width = 6.5, height = 5, pointsize = 12, bg = "white") ## opar <- par(mar=c(3,3,1,1)+0.1) ################################################### ### code chunk number 8: zfig (eval = FALSE) ################################################### ## par(opar) ## dev.null <- dev.off() ## cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") ################################################### ### code chunk number 9: zfigl (eval = FALSE) ################################################### ## dev.null <- dev.off() ## cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") ################################################### ### code chunk number 10: nb.Rnw:113-121 ################################################### library(maptools) owd <- getwd() setwd(system.file("etc/shapes", package="spdep")) NY8 <- readShapeSpatial("NY8_utm18") library(spdep) setwd(system.file("etc/weights", package="spdep")) NY_nb <- read.gal("NY_nb.gal", region.id=row.names(NY8)) setwd(owd) ################################################### ### code chunk number 11: nb.Rnw:133-136 ################################################### Syracuse <- NY8[NY8$AREANAME == "Syracuse city",] Sy0_nb <- subset(NY_nb, NY8$AREANAME == "Syracuse city") summary(Sy0_nb) ################################################### ### code chunk number 12: nb.Rnw:152-155 ################################################### class(Syracuse) Sy1_nb <- poly2nb(Syracuse) isTRUE(all.equal(Sy0_nb, Sy1_nb, check.attributes=FALSE)) ################################################### ### code chunk number 13: nb.Rnw:180-182 ################################################### Sy2_nb <- poly2nb(Syracuse, queen=FALSE) isTRUE(all.equal(Sy0_nb, Sy2_nb, check.attributes=FALSE)) ################################################### ### code chunk number 14: nb.Rnw:189-205 ################################################### .iwidth <- 6 .iheight <- 4.5 .ipointsize <- 10 .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) oopar <- par(mfrow=c(1,2), mar=c(3,3,1,1)+0.1) plot(Syracuse, border="grey60") plot(Sy0_nb, coordinates(Syracuse), add=TRUE, pch=19, cex=0.6) text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="a)", cex=0.8) plot(Syracuse, border="grey60") plot(Sy0_nb, coordinates(Syracuse), add=TRUE, pch=19, cex=0.6) plot(diffnb(Sy0_nb, Sy2_nb, verbose=FALSE), coordinates(Syracuse), add=TRUE, pch=".", cex=0.6, lwd=2) text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="b)", cex=0.8) par(oopar) par(opar) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") .iwidth <- 5 .iheight <- 6 .ipointsize <- 12 ################################################### ### code chunk number 15: nb.Rnw:239-242 (eval = FALSE) ################################################### ## library(spgrass6) ## writeVECT6(Syracuse, "SY0") ## contig <- vect2neigh("SY0") ################################################### ### code chunk number 16: nb.Rnw:244-245 (eval = FALSE) ################################################### ## load("contig.RData") ################################################### ### code chunk number 17: nb.Rnw:247-249 (eval = FALSE) ################################################### ## Sy3_nb <- sn2listw(contig)$neighbours ## isTRUE(all.equal(Sy3_nb, Sy2_nb, check.attributes=FALSE)) ################################################### ### code chunk number 18: nb.Rnw:300-309 ################################################### coords <- coordinates(Syracuse) IDs <- row.names(as(Syracuse, "data.frame")) #FIXME library(tripack) Sy4_nb <- tri2nb(coords, row.names=IDs) if (require(rgeos, quietly=TRUE) && require(RANN, quietly=TRUE)) { Sy5_nb <- graph2nb(soi.graph(Sy4_nb, coords), row.names=IDs) } else Sy5_nb <- NULL Sy6_nb <- graph2nb(gabrielneigh(coords), row.names=IDs) Sy7_nb <- graph2nb(relativeneigh(coords), row.names=IDs) ################################################### ### code chunk number 19: nb.Rnw:315-337 ################################################### .iwidth <- 5 .iheight <- 3.5 .ipointsize <- 10 .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) oopar <- par(mfrow=c(2,2), mar=c(1,1,1,1)+0.1) plot(Syracuse, border="grey60") plot(Sy4_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="a)", cex=0.8) plot(Syracuse, border="grey60") if (!is.null(Sy5_nb)) { plot(Sy5_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="b)", cex=0.8) } plot(Syracuse, border="grey60") plot(Sy6_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="c)", cex=0.8) plot(Syracuse, border="grey60") plot(Sy7_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="d)", cex=0.8) par(oopar) par(opar) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") .iwidth <- 5 .iheight <- 6 .ipointsize <- 12 ################################################### ### code chunk number 20: nb.Rnw:367-372 ################################################### nb_l <- list(Triangulation=Sy4_nb, Gabriel=Sy6_nb, Relative=Sy7_nb) if (!is.null(Sy5_nb)) nb_l <- c(nb_l, list(SOI=Sy5_nb)) sapply(nb_l, function(x) is.symmetric.nb(x, verbose=FALSE, force=TRUE)) sapply(nb_l, function(x) n.comp.nb(x)$nc) ################################################### ### code chunk number 21: nb.Rnw:391-397 ################################################### Sy8_nb <- knn2nb(knearneigh(coords, k=1), row.names=IDs) Sy9_nb <- knn2nb(knearneigh(coords, k=2), row.names=IDs) Sy10_nb <- knn2nb(knearneigh(coords, k=4), row.names=IDs) nb_l <- list(k1=Sy8_nb, k2=Sy9_nb, k4=Sy10_nb) sapply(nb_l, function(x) is.symmetric.nb(x, verbose=FALSE, force=TRUE)) sapply(nb_l, function(x) n.comp.nb(x)$nc) ################################################### ### code chunk number 22: nb.Rnw:403-420 ################################################### .iwidth <- 5 .iheight <- 2.5 .ipointsize <- 10 .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) oopar <- par(mfrow=c(1,3), mar=c(1,1,1,1)+0.1) plot(Syracuse, border="grey60") plot(Sy8_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="a)", cex=0.8) plot(Syracuse, border="grey60") plot(Sy9_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="b)", cex=0.8) plot(Syracuse, border="grey60") plot(Sy10_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="c)", cex=0.8) par(oopar) par(opar) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") .iwidth <- 5 .iheight <- 6 .ipointsize <- 12 ################################################### ### code chunk number 23: nb.Rnw:444-454 ################################################### dsts <- unlist(nbdists(Sy8_nb, coords)) summary(dsts) max_1nn <- max(dsts) max_1nn Sy11_nb <- dnearneigh(coords, d1=0, d2=0.75*max_1nn, row.names=IDs) Sy12_nb <- dnearneigh(coords, d1=0, d2=1*max_1nn, row.names=IDs) Sy13_nb <- dnearneigh(coords, d1=0, d2=1.5*max_1nn, row.names=IDs) nb_l <- list(d1=Sy11_nb, d2=Sy12_nb, d3=Sy13_nb) sapply(nb_l, function(x) is.symmetric.nb(x, verbose=FALSE, force=TRUE)) sapply(nb_l, function(x) n.comp.nb(x)$nc) ################################################### ### code chunk number 24: nb.Rnw:460-477 ################################################### .iwidth <- 5 .iheight <- 2.5 .ipointsize <- 10 .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) oopar <- par(mfrow=c(1,3), mar=c(1,1,1,1)+0.1) plot(Syracuse, border="grey60") plot(Sy11_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="a)", cex=0.8) plot(Syracuse, border="grey60") plot(Sy12_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="b)", cex=0.8) plot(Syracuse, border="grey60") plot(Sy13_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="c)", cex=0.8) par(oopar) par(opar) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") .iwidth <- 5 .iheight <- 6 .ipointsize <- 12 ################################################### ### code chunk number 25: nb.Rnw:486-503 ################################################### .iwidth <- 5 .iheight <- 2.5 .ipointsize <- 10 .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) oopar <- par(mfrow=c(1,3), mar=c(1,1,1,1)+0.1) plot(Syracuse, border="grey60") plot(Sy11_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="a)", cex=0.8) plot(Syracuse, border="grey60") plot(Sy12_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="b)", cex=0.8) plot(Syracuse, border="grey60") plot(Sy13_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="c)", cex=0.8) par(oopar) par(opar) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") .iwidth <- 5 .iheight <- 6 .ipointsize <- 12 ################################################### ### code chunk number 26: nb.Rnw:528-530 ################################################### dsts0 <- unlist(nbdists(NY_nb, coordinates(NY8))) summary(dsts0) ################################################### ### code chunk number 27: nb.Rnw:562-563 ################################################### Sy0_nb_lags <- nblag(Sy0_nb, maxlag=9) ################################################### ### code chunk number 28: nb.Rnw:576-586 ################################################### library(xtable) names(Sy0_nb_lags) <- c("first", "second", "third", "fourth", "fifth", "sixth", "seventh", "eighth", "ninth") res <- sapply(Sy0_nb_lags, function(x) table(card(x))) mx <- max(unlist(sapply(Sy0_nb_lags, function(x) card(x)))) nn <- length(Sy0_nb_lags) res1 <- matrix(0, ncol=(mx+1), nrow=nn) rownames(res1) <- names(res) colnames(res1) <- as.character(0:mx) for (i in 1:nn) res1[i, names(res[[i]])] <- res[[i]] print(xtable(t(res1), align=c("r", "|", rep("r", nn)), digits=0), floating=FALSE) ################################################### ### code chunk number 29: nb.Rnw:613-615 ################################################### cell2nb(7, 7, type="rook", torus=TRUE) cell2nb(7, 7, type="rook", torus=FALSE) ################################################### ### code chunk number 30: nb.Rnw:632-639 ################################################### data(meuse.grid) coordinates(meuse.grid) <- c("x", "y") gridded(meuse.grid) <- TRUE dst <- max(slot(slot(meuse.grid, "grid"), "cellsize")) mg_nb <- dnearneigh(coordinates(meuse.grid), 0, dst) mg_nb table(card(mg_nb)) spdep/inst/doc/nb.pdf0000644000176200001440000121502313152260221014177 0ustar liggesusers%PDF-1.5 % 34 0 obj << /Length 2409 /Filter /FlateDecode >> stream xڽrۺ_XL.NgzIi4jfL7i.SXi=xj5T8B:rّBp]Ҽ̎=qf6[]Mt&b4±t==J ]wCGpEO 2AvCһ-8~aQI+οRm層.2hN1Lyִ25lTyT!B*_t19{@WB+ ޔ%AhDlшMk:Ҭ0ho^5(A E*1=X^MY6Ą_@ne$ 6o=#^y z%52ANnlöj`ˋ啘ܛ;a"N|/նT, 3.MQmkv&Z"  E„ 9Ga]=9M ui%yL . A>] S;&-C>0r{ aBUovyκ O P)pcˇpD"I)s( G8Xwt‘k̈en4ѻTb^6uaH~4O6=*O~  [*a*țPdcIPAlNMK-QC/MF)IARmHb"$B@@[_鸨Ҡ|HNbpqƏN{ 5| _q /8: ;#aq^O4 ?U*Ϥ󚙆,x7W.0Y|;L H 1ЕogȴzG^\<_QCxw+abˀņ, w*s=K%#oyvKoP 2ߔʸir 6=LQ|4pۉOΈ/([bf''DnFӷ"\2\Лbq6^7ikfOR.om R򙮫d|5o S1WF@ E0z endstream endobj 52 0 obj << /Length 2589 /Filter /FlateDecode >> stream xYݏ¸Z/4$ n\j%VW}dEYj/Wp8 g~~},]~ju[)@ Vgok6{ġ:[~ >vot3$ ׿ V̏_@(b=Ė8-pѾ8 |Fm)$57z"T[gSL%<3QB4Q $T'Wn`'G7`@æKs΅ mU!2+d"B=u'C5eޞc8UD_$DɖC՝V`& A BA k]{bH!7YbzQL4똪W=̞7ޮGnFHycAvlpRѶlY_!i8k9>q; VulJI_\g,+p|MS5EzM1NIC~Kq YxD=rY=Q*-^Fjf$g 1O_JwQ{EK!E௲#mèA,Y/;d 4C/s ^tzlѥ{ln\Ì,`fǩ|+ui^H#3[TRgUm^K3OKPEi5x9&o& |dnT 'H~ &%r(D͵OƼ-L˜\ `ퟰ6gcP eXE#}yp7KF~|rC' ─Ь^:h_Ii o-n< ȵSL=ؼ-2B#[m+)D1g )°Ce 6T$IyΑq$Ȇ3d‹4Q[6ܟWW瞅̚@I7#k=@G-wTM`)lpY !g1Pӳ ~%c!2Dp–IBXB 5|Wr >BP] :M5 d\Z!w5 V$G rhJ.I#2.$q{<#HgpZVEhtW>p7U+9,n%Iw ?$vgVRrpNryxۻ;&q-LCuOu 0<9S/ 0-/Cz BmFyN|K^w~|ͫ{a1(T#4{JW8zJ'e>հ i23OlMHH uQM_ ;u­?qser_,a? .l ٙ =gGű)~3MiMG,ĝGKs2la͘R>uyyA2tDOUf筩nY@'LFP*7@>غIy ),NF#re2ˈ>nv7 BW]}c /-~7ٵj>TD@7#p#:)@gr)Np^L'E۾q鮃)*?;@ X710H,MGd6L 4b #4GytU+,p6/v){7Vd4ģGۂe G٢{)?MvWr Du4m%pN-HahxaE2|9^r|l-rN1|hh9LJ(\KCѱYQ9H'ŕ ?w)yHߙ|yۀ mTeJl Z ^غWP.Mk`qIM6uW_u$yU endstream endobj 61 0 obj << /Length 2177 /Filter /FlateDecode >> stream xڅkA Ʊ/r (ZvS(ɾ"Pe/IYlxFdYŦȓ8oowqY#,~I0͟O]`ULq#%E_Zi{ %c,%q]\iR߹CAI5wficѣV ,ON>k+q_ј͂ /cK tE\M訬(ȝ { Ϻyڂ$e Hy8t`wI\@Yg´$dHXTeI=n+7Μ `|je&]RDM$)X (M/0?oE5ѳ,agyo<[vXZ(hN1O77:U>|zm΁t%JW^NATfE]lqL.e5@ lW}oFGڛ)pQ&K}xM+\G} +y}Ule ds^SlxC ICYx(3݊*:MՏJ͙] 휡ف3 3D[#I_25ZȎs2cq)Ɵ+]{{Ȳ,'^ፃn:-PD] HG̒~cago7>{aVV=8J+?@+j=892=A_t'fՐ<ȇ>{N@)@>S@FCdK)a4Ts{V }dbEA"?7R4G͡5"e.2zp(c ԓ'O"tm:ƞK\{ڹ.~bGg_XTRsïЄWVQ*@ࠡ/t{C w·}RFN^`6[ \[o^)sm&a3 > 3aÉSh~å=H[b#' x7gﻈ! 3ƌbb*DJCIefa0WV>KEqI/|uN ~\s@c[݃m|YY6"##I:gKdge5XQ1dfη4ꧡdjD0u@xx{棙Bt {r r\L=wEURnL-U;ԌMw~ f~y\cćY]G `l.i\U=CB;l5T"-v๪1k$9v W5ί&Q +|V'<%dal1%bdI,Eicw\F > /ExtGState << >>/ColorSpace << /sRGB 67 0 R >>>> /Length 25325 /Filter /FlateDecode >> stream xK%r<_q֤|e+X|@3"r'W}7<誎Jn&xx0}G_㟾~q|<q|-_Qϳڟ*?[H#_~??G߿HOlSl5>R?ϑǯ?lBjy;櫮I^g~4^rl]g4)YIGyJg1^L?v4gOJΜ S)i:Ch?{`%YGs{_ϥgäx:mvs<'z |ؤN27%ubǝeds}&|zg@$?k2?TW/?k mRu_H:)3hB+KW]_>Pr57jU鎓t{t4hnS^.jL2ec˜6ǙOgEMm?u֍qikwԵÙ@hoZ_Y<}(]t*k??.0"t=w*ݵe.<õ)].Ч,f:@.1<~vi͠7i] },3->oߵ-7sٷU|Y{&zy6eN'0ۣy('dkNz] i}>s=*O)M:L:g[єcrTlJ:~y~^at8sxȬFZOhm=S/)`o.Hu( #W ]//W:}@͍4WS& #dcmNa5u(՘Ssa{q(.d Kf-L΍yJ X% Uخxna!n@LFZ (ո-xc"؅h@2c8 Jօn<>Aմȩ|l J68 e5l6ڀ&8ap^FNhN'?U -ڤՎӮt~0ba/bBw矗asLz7݁Sv: ȝrRcs2S<6b" u5/Vp((Ii0)*SEWdҧǙMIJPx'D0|Ť>xj.&1Kоej;<8㓖"\O|Y2[:n AǙ+$zew9ϴc]Y9sa&wIj(@x񽓖 v ުK#gp8L\7inBcNeUvh3YgnH(w$p H0>]sW I T! "UNnmnuN1)%ObUh%1XBAB6!$Bl< ZTzc0'y-@Yϡ%U mȥ;f~_ 3WVY[XzͥD'aS!g >\/#Ph숤脠}+؞(UiI_9}v/Z'/4 3Pr3Y<_Gv vGO181qhda8<|kT1mheKA ^>D΢ՕD&vC\Xʆ| ­8'궼r}yšC 3DXÄkU}ye`™IoMB7Ԛ3pAJSP=KH*zUE98)oMH*:TĮ辒Xg[}y#?-8O1NX묂VHȶazVu&Z>Uu/Tl +WHI=BCmN7SqX)Îv*v3jLqI y5L -,6anE YFp( O9 Hȃ~Y3+N@M pP {xĕ~Sk%R19saHGp%O|`T2d˘w@1_p[B7ON!{*0Q$yE f$pcIm"_yȏ^.=`Qk&u h+?I3MHdtE8#Ehÿon=Aݡ:ch7 C 2t"C+4$t9t#Jt~N_LG;Bv섶.tufOf E8N-9`A2&MK,hK;RIyF]K5H:74X:s),!x4H (@tcг*J"/ ȓ]9v0HIQsbI[t/gSB&ujCZ40Uu_l%d+͕!ni ָ@54T@ɢ6e` p$U5espΧrI5`m I*Gܚz]I? _2u ԧk@nԩJȂƪV$rpɃ %5ENEUO AkN^u"d$ Хe?wM콮jĸwkzT/ެ:0ǰ}TkXܡO CS r`̄]ǁtECwX@U8,RwPdGD):)Mi'ed40AA0٣<6Txh6y3dxYdֈ|uE9aE,-'m8zdTZ(xO]iSw)Zqkmk& 5WHLVi&_7x/pjHB`GTHi)~ MZE˦>H("Z}^ dՆ+g2b'TݐP_-PIPR=¿+ +0a^/ۻz[䍷fovv7Mgot_v >~k'O,įዒ?>7!<Ԅ TޔhKpg"h՗M~ x$\g +Sϖ#g,xسƞydpTz\S1!GTwa47LzAA@f+r7@{ȱȱȱ r5UJ٫wϛy?CbԆѐMȡ^mx崞nn7mUwr\92I nIɘƻ9}y*[ٺeHh'R%Kݚρ9%%O\f_@;.˝.0ج#W% rDq"4ʆ](?r*y"%4Lc`憞}(٪;*4{` 1tC*'*-TGôȠ80 +^]JDk˦"Ƽ%|qܬɦi*B5R)jIr5dc3]Î:J[76gr5"I/TB%npWḑS-GA}y+S|4G^An @G%dPAOEhʠj]evu)!CB= EȚMl4Vlp-tmfz_4I NऍIkRȅ_o y4pv}J khTYoYt^8H84~pSj7UHWw3 "j.INe0 tF,AL,%G2X(_NZygxWnI9-aÉ);dː˻ O9 .μH DdVx 6 CAdِCVLdQYcڳO*IfIA!D)v_1I:S:AvC%8\!6aOpÈJpb;ء^Cb8bt!QbDxfm0+I"|\ \)pcE=$,2t|[RXC˖8aMr"SVV ) } {ݳOz)u<&Z=,ҳB]-r-u׮׳.خn[ꎅdāb>4Jӡ (3iI_u+y+@` W F"\LTCCd8ak1$|*Z{ ZFkdNJ/p8eyu׌ZV^)Y)YuN $Q*$wշߟ:R=O\(gYeQkZ8bz*ѪyrQ*aL{àF *@'ZA-"(ƠjzC}K'HWpIcw>/I 9"9Z+@ Q#A(5:O9űtB'iyj[k?q̓BAi3vEgMSo}^"<}vʴ8^f:4x05r`S7Wm/16P;Q4*ǘ݊GOi9vf?\_ M=0#]&g,onhέM d^aC"Î1e*,4?l~>A| O0p+ΰ< 믰?y\X"4 .r<šK7@*QͮBAgՊ_&[=<*g@ Vu\u5Bwnt] |Z Bq(.U*7䬲G~U$`M 69$ae{_}/zR\l?qEUw~}nԳ52(#bdGqdGqdE.qdS|Q/!OO]=$e/* ,qP 8q'.T~_k\[`=8WdLw,V=m>:c'}R^DvPPUƟ"hТ'nveDH5c"7Bk5.'B禑VbNi5Y.z20 ĖM 'p 'p .*%B3 [u$x|ew#4Qzbh+"h,Ơ`^9xNؑciGo=4\$A f|}7&zkVo{{"&#$ذmOJ>q5f3t6Y;+c4#=nJ_v9Z5;AC>j 3 s:*cxF{Z#fͶ~ۄ||_?_B_c 4oq~W0Tht$ VKvRb;4um|_ur5:88:uZyY'fS{?D_;_qu]|G5:6 @=+dܗ3sM,+1`EXk, Ka,3oY> K3Zl%˖.[l)%͖vLi]S^9%Y.eWw ԪS ϱxPئûQ :> :Ϗs)S]kYSZ -%3\q˿lkEihpm $ëBhrj 2 _,ovmn?Z _PD]]-}]-ʆao}-8O cj٥8]bu;"%8Am \E3AbkEun[h_mjiU |r7셞0g7  D2g{/bÝˣv;1~cw e`žs-]Zc郾eu;RnU9q o } _f/ņR8Rna<6}<)3L[|?,\o{/~ 0|jm#4#㒏h- aJJoQ>ºl -)@dO3u;RnoK baq|3ҎSy{߲iAsiAaY%=C=He?Y:ܼG+w}5f0wGhob]nZ[l jn=bqr\Zl jk}8JY'p[X8^nRD>}Kˡlq~~"U(x|_K7N`wDas>;/(Xp #[6YEdE<4GEӽ-—p> }[|#~ T+" <߻ņQCBaaߎhz^{~H-6;w#zsxK7{Zlwn- juȗ^Qo f}髛~-BKDZZtMdXvk؂`KegG}+!߲fo%P8MlGpP*ܾ5 2@f-# =AFx 'h 瘶*`gPC/J ,u|G-Lvi?qFAk@p[^ [GTPE-aoؘcb\[¬> }|-(<{-piQ?F>@}|;VPPU?{Çb:P(L[8l-6”ZlA~KЂGȗ< 3iQ^ϣ8߳0b%j 6r>cNAڭRCj;  kI;-{F 떺^qmE"LghYbF7{1C-6v0"jWeKio_7E-wwUK Ew^Dj")=VOѼmGT!|^PQK-6ZĕݼEviF._l$7؜S ZҒa?پ$z000%0G؀ۏ ;ts|ņ-P [<0 Z1PdRo OyZlim=i\v/Ox` ax>u}㫿_?/gh"/׿_ݯejD9LEKI뜂7qs)t;?Ϫ}| _I卟W^9 i 7W|uӛnzoEβ JT7={uXv$^;ސڵFH@3{dlo|YP:]s{%C7bVZLRQ#Lxd6V[:? T*#]e"rf 9PUX5by~`<QF-Sk ϗ+8r~D[C }*O.@&޴nxY_ʇW*U$+ZLcuf-U+dî(M] 2 z] Z&HJK]P}) ƅc^VShΧ|Sf .Jb@7MV\ȫJyһ*M/VIF9慜o鴛rd6MUfTv!ROvdf8*8jɹmy%R}NKt |/qgzr3`)נHC!.T'¾fO`/ȬtdVNZJ }k3ؕk={SwMk]q[%Z5w52îu,eXY9ڕDZl,B?yx2.ϟ-J-J_-]ǃ+k7yz9rl畐Fѭ<-svOO+$EٛRH|oխqA=hCk$9wy/.˥i 7 )?5] kZYSJURLtb,F!bR Zwgt"^T~Pzت:..o]8hcf7\GY>U%׽_];XQ"^^ceۥ律+FzRPb *|BȸTzGPy //BCdyybՠz\>&rz|?//Bie? }4Bh|ϙrB?ˡzK,˭+"\-jn?NZ}=zgt(8D)v^V^ Hy~{H t ݝ}8^|9vbQQ4V͸D}gxGwS/7VrAru)mAPY#<' ʛn(WU]wV)+fu gg;: tIzT?uGtp/čߩ0E}uWbqCWEJ:eC;Z ;x#*."K 3;sVCx\Ō;=s -zQq'~n>rI W9Jȍ:YЬ}.3O6uV,}Мbr⇜g\r?5rWKr9vC Vۼ%zLhaM9ׁp2߃9$.Zu'Ğ'$1b ӌ^M)x?E+mb5{.eEJF`VjHa((MT5Rs8z%ܑH\}M$`~"GwlC\%"bc) Xh ,7ZM~'"Ii %q'B$- = >phSBOQ=ٍ$ffVdsT#r1ϋev[@Of$n@Ix.=̞J0 5ѿ5&.4xeGb]񾩢-)W8#(Jw{vX+*ߛhXB.ܕuhhu5BL2/zD-Fl2L۟wm!\ֿ8+Jh9A2zxn@;"C9кڞ^ztd|}T`BG.DD1e\@& :p[j%4zx f#iP\6YybG_wT1F5t-#f^ L( n.{Y1s2x,f<p^1>5d>>y }9>ʿ_o"]fv b'qf7l~V+I*e<6+rsP qs,JкËAoY@06y{A?~eӢwI]aop"Dh ݦz5׺ b{P R+QwY>Ϗ[[.9*[ѣFǃܛ[}vwwh-ޭ*BÊO#8V}|W[Nl} +gġ?W> ka]͝pq^w%HN)Nkvjo'9;Ճӝg>;נ8z8|85Οb;1|'z=+GܔϘr[2ϪS"|4_Rso< Aͷi|KA{1>7/ƗZy.WK[ NUw_gTg'mP~#>7^ z^D {]+^'zdP@s4%h 1Qb=(ֳXc=-qꉫgRͶ"tI0NXØ@O\F ^RBnv)Jn-6LS5eFHG&-g@ܩ+_$Ij&gA-px\MG7|+qO~~4ǐ9ݚӱC6VqfЭ5C84CTe=9=wG#d~e}Uӭ~Qc'Q˹rp~AYVcFQg>^P1 W dXdkΎ%J;O~'e?*Y~zÓԜ?cP! jUPJF"ѬOݔLkߋT<{-`̶zwYlyeo,3:}TBSqF} .g1KTf Fw}iEi A_T6^u('Pm}Tqͷy MU;gUt ]}"@TsXV|#΅kZ /<<Ҟ|hA5?a8 KgrZw.h֝ UWĪU+rn$ssl캰Xǵ=]#VOJ@*$K.Ez"Af*0C֫#@!zf.Z; hꈑ'>Bԙlk==1 $h.wɾ\QOFE5eTQWFeeTQ߈ 3j̨:s.BuX}w15oMԾǩ:ȩzȩkE%NLNl/$Ԅ_yY@n~zKkkB u&>G2W{еCKs|hY5DB5)Ӯr#=^q(QgMDJDH&}\de 3f.N\@)H(R2y=V3̓0Ba("D #PPmŶWvcێm? W["31!cR9f5ƴ>+ 1?Ds&{j6'=ED"O{A*w[BVjpO23!^EOΎihGaxG# oCql-zJ+ݠY߷/sN,N+W%pTo~$M?.Cwbӛ# O~AyG :j}A~W5բ 1zxao\+Ʒt>Yt'ub:e;"@fr-7ɆjPmgc)h@Ux?h4Fg$Y>3O`g@>9O"xQ0Y8^ =hK7< b-/zG͞t:nz|X;^Xx)5ѿf鿬6ܚoqqx¬fϚ Vˁ, lD^Gfl-g&|ݏϹ;-܃57syF⌭,[l 4[۫5z/=yE~;d%'XÉլ;k%+44~/V Q\A`?Fs~qjˢ1}W;Giz|| X÷^2`  mm/ԉ߂׊ A(jt"rGiǷ#łW޻=F+44|=_qb-A}j[,+jpX8Uݍo;w>~r/+r$L,g=[G,B-o#X%^R-oIVoo}D}B} =6 7e#ʯl/FQzrGp ̚: @b[[ꇷD/qpB-8B[# @r[^: XkGaE-aoR[l~Kun%aoAɿ.oe6 -62H%.G%nGZ99q}jb9[œq[$V΅QF=e/թFRQTd#JZ,َ[đ>|>45VjǶs"rG׽yK-KՀ?hwQb#+E0"r0-oZlhjQ.\zo4%~ߔPT~{Ɩ^0|[o -œ~[4 t[T[2H۵Fqy"T[Re;_ ?[ bŨE<"BSץ {d^FI-  9`wP c-x d 6km̵wC8QeL5D A"C`C'<jY^x?=q_?ˏo㗿|hSpS">~|z _Cϑeq?G¨9?/H{?zM̼̤喛d7~.WkXߞ[Kvכ xv{]JXRoAܦ&0Smp}yb@oUƮ;p^Hwv]E9x{kӞם`-DMr-) Ju^g%Ml;;Ԭj}t[@orZ)!ZN˹hw.ʘ띩xh39IY*海M3ӡ⍷g1#.* fUycj|O4-qjIk-S?H>4MBIQ{? GX;,[7iOIZZH˿|V C|b?)=DնYU<}(vo޶L֝[O&j;Z9ȧWwJڤ3v+glJJ\M6vV ݗQ)+r?EK^lsV.)CObŖ[NF7S֥׵r|`LM ##> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 77 0 obj << /Length 2542 /Filter /FlateDecode >> stream xk #R9+)4.Krmzm[C.(hk3'K>=n;ʒWע Pp83*_ eV*Bջ0-,vy>}uշSOrsէ_TU,0Jy(XV_КFE ~$ITϰ>O0[cC@%&/LڬcoC{v@Ǹ ӬlPC6OEmnm7Q$S $ڈ8 *BfdPADPV7A2`DȹH+mcӁ3=qF»LwH;gRc4O@z(T"AfYNn0ɂc4֔nܚSk:Sl!3d+v&߮(4! {F%0`I2?bo"KhLc} ?;4;F2hRp,yjQRl q#" e Z`n1O34;@UMha3wS$qvo")D>f3C8_eqaGxīQ `4X)!3`9gCOr_Miz@],H@{09oͱA zOێl,ZE:ݐi;֠&({5s> +rw9W-ޘݬ nje -c_džNՁ}d }:U*rx?,ھv7un9CׁRg7Rũ3**~bg4B+vssvOP;ǥaԷ1Eհ*2֝iC~P {wW?u!x׳s߫5\G+iiLh]Ko ;=ո2;ŮdžTek{ Sث)nė1/0ߕstVsp?Ħw`5*g(lx3κ7[)U =z5!ؙS" 6-)RJ%RLR[kт u]1gGuxǣum)"{D`LE~C~sp+'’[BjSWb\ 0PorE;|>SC !/bM,&Q2~rP^k5A⨇afG_xoN  J0#׃' a<χ[CLTrԴ=R8 %ߑlyP6nQY8L`-E ^3Oc+a#8" 45Mi(T>.qHj@; nptxO {tN|c'n'-֝P@\(qG'OH@ _1׋eFA?DLh,՝C=J&/ju}'!ԓYFQ0M E\bobea^H+q PF~%SB[[|+l-Oi*q5՝7Y5p)+5x=s$^h| endstream endobj 70 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/Rtmp13a5aE/Rbuild47f7353d5903/spdep/vignettes/Fig-bitmap-2.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 82 0 R /BBox [0 0 468 252] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 83 0 R>> /ExtGState << >>/ColorSpace << /sRGB 84 0 R >>>> /Length 44418 /Filter /FlateDecode >> stream x.q%S9r~qI  ȘC& ?"*W֦3KdĊ[|#!|_>g,m\gI_ǏϘz;?)=~)^M/?^?_Ͽd ?7׏tyG_}M?W"ۏA^L4":~>S*?fy{\5R~{c,x`lSJΦdga ܕڸmA#4}Qў)1|̀4!l#6ˏx:gCu+M阭}o*dz&k /t1NbLFkGOS_FF%1ǐyKt:mA 43`Kӵs<V>^dꋲ(j#]"O*Ws@lU>@ƨd*D0 S]Fц=_qL2e-([;|v?#I!YУ*xm:Z&{CҌ>Lkcy@,jFu,S$tJ _Kz}M* ]ɇ(l*qʐM-{ԽymaXAϕn~G'_:~˧EN8[USbNwuAcx[LL QXWx_iA^$ti}Qvhf)|f<ġtOݬtxߵ?:f|~m^MW0B/&Stnt2Z֣'=]2"|4oZ:btzۧ?%V_Jph%z&EiZOslH~z/m!_T^^#.zle\=uEL6;SeKZNξD꿗3!tp:u{9leLs}o|Ѳ׉?c|9dT&vC# cmxߴg nw2j<(q}ۙĝ&_ -+xXaCd Q_ߗhOgx7q/R2⋞fL%1+EАDJcdzDϠo[0c^}22~ 2\_s=joR-b|-ߒ|,-ů~/^; QјJkfU nhԆESS\j\*+pм.f 꾴NLE1`/?dC=XSdMr4YeM5YtYfM5> -  Om>Dy`6 854X?}S1ZT^Rj"_+78dж%s,~BC]Ua8`LunV[]1j @ 6p $l@a `@7DXUM7җCԾ}rSjUkt NN̛5dAI(g>>Yۋku*cMcQ!݀ sw̻bW1|vMO/=5.Љ-]YLGp{j|C57"s#zrX б`!{?^\λq"P($ɤ&$&k2i{3ɜMdrg<xvߜyVӉ'O$D_97|BS8tE%41 A-}vFV%b043'l32m3ϭ\a)XAgw0WBC[f%X*gRndi$D Px`NӱW`1Q:ḇ> qfaHaLk7qfn!oڃ 8` F`=a v`=Xbuc'@vܝW'CvBd'Erbd' $ىsTwSʿEAW wʬIcgBp ,*LZ>p7 XuE%M1, + KJ \Syk̅_`o{{FwQz]2"aSuĉ08][!`/O]}f">îY}.PLtd.L\]Y?!fa`[%e xW6u?5f_*Dg80)2)ܰxo 7ᗪjM͇߬٭14Vma@c5X6%fp">"&zvQi*6j1`-=Oր,h4ۘ+HLm@@e=KIאEg4?25yCG1 =BЫt-z-?{粞x j 'ƪ,,BQ0#FpӾ6GpKwNaÉa;f8ZL#=^a `r7, !xV` !HHYҊHgZ5*ҷXq$oI$OKܼ4s܆_:_n`D6 T`6A FlPb6ɋV `|oC)pR\Dw;`1=l)<_0*ĨJԉP)FVTQclCՀ+U+|&jͷ[|Pˮ^B&+$i<]<1-M(HcVX3>&YTĴ蜎sl N@O\S ȧ9 THp33Ȟ+,,0Ml`ᛯt l"p1(#q9A!2H23 aX ,ǠAz#OIhYƞfϞE;n╸cmc_Yck(UR}q*T؟STh*Eׇ'4xWB8kK";]>n67=|B ~|<| dǗ[SFG%d9Vh%Zc8cXՇkp&g^)ۂ}1Scȹmegn'ۺWπ^A u%,d'='B )>^MzȲCKy:yY/AHMϢq>J*鲤LZ2ФamZK"aCFQ%{J>ѿS4 |`;@'frϞCh19m`-LE ]D|sNjU7\8ӝƜPWgίZ#fW)m؈6Bg` *K3a tG8wuKHD&<]=Z+=-m l`[šv vYkpmKy8;Vb'cvB&'evbf'gvf'c H.{"Hyt!F>sz/"%?pvH$BϞU+*/IbqZ:>U 3tڒgl90Ĝxo?{52_39y}s`k7KϬs¢:Ѹyڐ YqbŊ/VvōUcŐGV,3ѭȷ&qŝk2Wekf<LÝd<.Cmy #ǜmgW[=wٳw]=smL jQ5ؘnbڝdtzp5c8c8c8c9c D QF oܢ'\+hӞBNΜY@3?䃹7|X(wcv,L/7FJL)fąFܻ=_ϋde-[taEy8-l>Y_ohPՙȲ 3#fV;3[ELAYDevqWx;N'}uueWYv  sxWpŽq;OC2[<(>ѿ>s^5^u@^ 3xvzRzx TS4r26얃ղ2 }!s6Ĺ".{1K-[q޳C^4ʛPp":\dW[2npHw ݒs|r|8ou:̕Xgş !{Q 2kG_D_33("\6i+eLk&.er,w\-,װrzz@?ޭCG -1CS+tEC_401ڑc;oXAF+&ڲ[cVk [svkb bkQ ^ .옐ju+LX&)mC/j4ٻƳoȚ1oGxkWCmGB%/k0URսq= ?501|h2~IAQ y`bbb4 j6|"ǯ! ;Jo-'lk[tLnxlS}B~mp6ޡ{(A=(qj!snx)ѹ}sʞ޲typ}SN>v8žөasG)Yq[m>~>~9$-уEؑ{ck}-g[zPELfD``xss{Ջ9=<3ő]Ð]pGDk9oz3-WS#'Z#]~sx[oкl}l'~k7qP>v-:Z~Mз{=8[&bPwآsjm5>8ۜrn}l߲4,6D*'~~o#(nqxybv3}r9N-Gf[loY|aւi59rq-/,f'_7gamq0Ůp}ߜ9!J- Bc>~-3ϵyz=KǸpGR?"b"L:Py!ؿ[r9ع6إ[[ߜQjqŮA[6Y_Ԍ-cp}laiŮAPA-v|{/GZ:y!{=Kb1}Ьo}8tow/=nNW#=n/~}@.x#!Bݲ0?|?珞 wʍڑwO.wu-NW^Z_Owý}ݖ[i@ Ob7{}c>o' fiq}l/p {zVomjq~loHGVw盎Z0*cunt[Hߜ1jqʸmN_1tJ?d 1$V=I|O}E=ʭA/oӍ>?ݨ i}pi|ӕ>ZÚξ kI+Zlk\I^`41>#;kӍ-^w8_&8\CbR-HڟƱ,/7qPnWe?[2r{xz0Ay>oZlse ~AloV qj-=-8b"e/˟ZoZ gl냯n-n[E N,[̖ZgomGJ-W _--_lZDZYc,4/Q$pCBoA-3-F- }lpv"l_èŁSrZj[l{/Zjx {F< j èWx~)yM ٹ[onMX,mBR.iaRR6& O jtlBdK&Li%4/3'IfO $,tPl}Z Z]}++[ܷ`PrD . "kXDȳ5Fr.3 =Hg4˧S)D bIAqND QgYk[=ol$ka1 K8;kçXflr!:Rۏn(d+~?/?O?J3bBHh9QϿ7axKp ǿg3~o>$SWQKj2coU|t l˘fds+֑2/CL(tr4uSU%HZS ;YpВ Y.,zx 7Aq! | )05+9[Y5fM1nJk`&o;Reog9'13&+)g9g&R+ϜvߑBë~G_+<3|b= 4FN%*941x{IRdBk,}@2_w,1bY׬׌:_'KG^ >g "??U_N#ͬMh'thܽ"Վӡb h硫Oq~_{t9Rni+| 8^tq8~OFWDA^9Q{Tsh{Pm@lޟFvӚ~!*9EkR-Ʒv $ߢ-˷~KokCH״AHKu#dDN sݨ6 V]m0P>4d, H{TmFmQv?2Җ㱒7pYd]uQUYt]օYWf]*ZQmf  ?pݽBёs޴R;o42[to-߯;I潠 ;N޺tvʚzLrt ݓrURQ(l~r<yU[ҥrhh:^Oŭ}iQ8D ,][94e/ #rX|Mw+^CԠ'ܴU~0c<񛕐m"r\ϲkbgveE}D>C]+tv 0b-U+F.ح⭮`yA7w)!ǰ6]}=Y/ խ>3ZL@M9Zx6!H9R(˙ ن6m(lc! h6xvۈg !UNscX4aөWWk0_RqW<{#8X$-&,4&vߥs|@jz[L.TLURWg?d|dpBAvbV.mV2m-V:V ~uKXnaXn"宦y2CviImF ֐\irM09PRP3 7 fuĢS< U\S0ҼL|}FVZDy+eHn+]W)$%%e%e}%u_%~.N)x ɥXB;2wZ6U.m+lT+/{$ꏩohCQN3UGFh%17BB߾@]mKh츎 s~D@ߴFjojV.Z+$|Qe@ahۄ7Xp `q?=hq;Zy1h!6hV2M2hF/M * ! E-0=Ȕ7=eχOP1dt+fro Reo行ZxAq烷pE7/Lw68S< jfL|2Znm#Ms0\Жa G54p OMF %M&wJ pXHPbw)( Aw97kwl%[ӒG5*@Å!)!tuZפg Y X/b9)8 Y`CՐқݚll7':7<ٮOv `G}ǟc8Fc(ƀctbD'v=|WMq1_) ݛMD>ѪLd 46<)'l6< mMbYDdʃgV}#l&b69(q+OT\q5=4 ϟ6<jQxըTīМ֬K L_52khqHqLqP'qTga}:pi[oe[jkง5.&52ې[qf\%ٛ-5ٛVeyŧ3]Ճ=|=ك='R͸ i]%;:P4 Fc=wG/uR?vF\U] Sjb M ZfǯIPxƀG0hDY7V{k8s8cRD ҿ' tq+CrQܛ+fWD>,тpQ:(OFhɟIuρNL 5X_']ӈƎ>o'/Tp} 36lI/I +C ȥq$%xLO4d=>pv ȸ7hɎrfH6Rnrt<{:Ç`Tѿ7GЛ-iZ؊1ێ-{ߨPnd㡇+;~dûX|$ Wh@Bte?y@V[=*BVlVʰՆ:la>>Ы4P3Zh -UNb9,v98X\UO8q'ݗ pƒ`yJrpBHm6yU|Xz3Z2 HxB1+HQKx4P+L|HVrσN,GW익{owa=e%KR"o+βp+B; rR|f4.T\E 1R*Pٙ۸쎢(3J(>lXU1ŹIaG0,Op))w;&9v͎Yvzc%Cs eQ)eSIeՇ3e0prY\ۑPv>!= {Qcؽf͂5U3bt$QIS%mH[H/䱠'P{~ϴK<-7E|tr،у7W *6^> TʎId>.6D@ݶ"n)7Ybgt E7]qB;1=ҩ%9{"|Z$U-po؛~A;l:"Ewk!cgktV.r:ERE,Sߕ:2Hf}wY.6,-㯠m MZI<%y{Ǭ3wOw[Dnl^nXch/Al,1׫msE=wTtEMUeԕQYFm. 3j̨2kA9 [8 g~<[8Hуkt!Gщэ5cMmؗ=6cg؟ꑤڌgkYT}a[-V[D3i3,BK@Xl @bRnB3Â{-VbyXX!%X5雸Kn\΅W.\<|K-2| E1F߱tt{!o>!,'FpY Fv&FbjսX7cݍu;X7\uO3J>s+x<ӟ#䰥g-Ili,QlbK[Ɩ2mı-y=Í<$2BY+x}뭫twŢGƨfnADoVVBFX#C ARD@c#tǜg}tţ}EoYƍ :=Zj+fDiQqm(ۖ3QƸ%\ф"%_uhѽMJC 7detGPe4rv`z0A Uh"^9"#f5~~7~ś1%~˻_3=_7U~\Ӹg=ok<7ɔ%Wl2\ rM/+=HBQsuB3Z;'7;j]NC1~G#${ybK*7V[1$xk .];3OO1~u·b|l_76ݾb?+|\붟wV'd+l5oF ^" trkb-["(4@hrELqZ lϲ=ڤp-UL{O a=?ZZO<HU钬B0oorru6z:dY>)#t Z}2^ቌ7ՎoYnjm߯ hgX_o 0}`Gqm0RD6nom3h 6gzfLgy&6)́ml8XY VⰕ@l%z--bl.X̯8 MM4D#Dᖽ\[\R%y8ךxWɞ%]3`a,X`̈́5lX} VM2B"n" |w-.?%Gr:Hv{DGOSQW[_%8~{cL.?a^eț`6`ټ$e?֌X}dZ[-8מkb[fʼ ف3?ŒVÀۥZ׍NQUsaɵ:x:/8ϲF7H 7C;K3=<yb~‹F^acHWᅛ<2}?_{|?EkTks(]u(FZqOjF[&'Mye@N/r]Kx(,@\>` 534Oj}y<ɏ궆:J7n_dx=jx-xo<7pga/9HN ؼNmF8y+7j%a+ [Y þK6úN[cu{R M_|g~c؁Cl {Eی3hn0kˬM8k͛ҳG~}',V9c#8vc+؋o@'›#&C QAbcvIvNvUwC=gB~v͛"vlv1eh3-tv+zur̩ +~ʰ;%;[eo(`CwDw @2664W Y;ݵ5!=[o͕+\*sbv<5m%$u>]:t\ǘ̓h0Zdk4AwW6̶c-mlff^ll;?_wHj>Zչk\s%Z;W[eMEYVeYvuWYx=;O 췻/kM9+1wsPt}O}W}%LJ+~'7G_ 6Wn[-glY[--'KjaKnXllx޷2vgʨ~׸gzLp[w&94wDGhj#q$ĵ#.JSw{pջrLWn@9neﺫ7W:pJ3@AN-[R3׈#//ff|]մ^kEռIn KV{X.Zo #b iØ1b10Cc_eef_gf;w, ;`f/L[lG>W~w[WnYm?lmGmmOkFp %؊ IUf}{W}yC!Y{<x<0 uR5\k@.9;!g/l#k[;jq51foxA ӰsdE2f.\| z8{HaM\k*a|8y{d8O骱FƼj{$.G.[/q]ĵ?diק&dݡEn?o dbjd8># -^_-j N-~Ҽ̰>^_e5b>`k9}Qg=uq}>>-:4=xq-Q;آޯXΫO-uvǶrH߿9Z)ScAq#]~s8dcۧ[GW(PŻH~EQ~ǯNP'ԢU`iBZ,=u=OZXnC.q'?Łk-[J'}@ ?^'.8򠵏_TF[D4-?A܂[b8\ZܒZZTn}l_ǨŁqꆯrwg.-P-P+{l?j {s-Nwm)ع-ܢ }ߒ#SZ,=~-oCr[iG]zuqpGq 8Fp8Zz=[w%M㈆mZDDP;Q[8JNN-:8rnqM||WRoSjqo\~g9%nlrٗOߧbA[ۉ򛟍cmlj$W@q=[>8 6`j䭏 (F;8A>6o٧';'9z r,}lsK[[[޿91n[윎Z-YXz=K}b>9u/FڊGdػןɅK<}l-r!s8{tkcgM-hkQ܊n9{vƖ-"rÏGRqb[8xEG6Y{nc1[IHߜo jq_h,v|Wrk->q,9/(-h ->oygpq }l\{3Zn{KB=)~P.|ȃ--]Z9sjq}w_hȤ],γ-;Z8?W߲s_<[8pmjtk@qk g}@o{ow֢kD~߽n֢";+oHKbA{ tcsb8n ׊~>Y_{p[n}l߲jq8Q0~~6c,j> 2E" 4kkaֹmmh"-۷,9b_#N-o=;3|$ pma qPiR=LB=Tv) f8ņn t ae;jZC֎45y'g<}%:3csdžDA_À?\?uO%s(H ~7?}~F(P$'6J~2.kc ?ߟ>~?|O͇\Ͽc=5ī PCwACC,iQ_V~LJM%5 T2J@t)QH!!f8OOp`u#L?*5nsjȚH!HèO1 $3Tn6,HHy-`j! #Ati2,Qs|z6́lڬ~NhArdP@iN˩05}DN-+= b̦e:5=!y`gN͍[Sn ާoL55tP nGAˡMruGAar ]:2$kDD-UZVFɳe%y~B^2cJ1k[m!O_ NoZʋ3G vZ!Ee ~B^R@D _E[ɑXx]{)EK϶ËJR}E?hFn%" 9% .IF}5nc%Cc,ikt aR k&f6b\rGvl^1V*DNhVXR%Зho)/EhSiF^+A^_ڂF37f|RV)|\Ed@^+F^ܣZلd2b gN p"R[@sDmB,\oD.tC^LY~\I Fjy*?lQZ6 *k͎YdJv}ڌ;AC8ܚ]wM{BN%;X|Y% Oȫkzb ䷗d& ˋʺV}KdR#܄ʄ#vhdG2S ydD W4̖Akd ~ɮ)Ӱɉ&;K~8 t;A_CF"cZ^s kR\ M jb.~?[F;FA{W6*Y^'XKkEdkXrMZyryuS- [&~t H(`hlx1DЦIlي Yt3%ŐNH )T4.D-P6*Q1[kW˅O޳)S׽'k}*9kګME"Gd ͻRVP*dfx/}.G'댚)GcxshUc7.$:mGU᠂E~ QsBQ2ފ5l Ec XPzq1gw~5)+H%,; U쌄„n}sr*y RFs$ABj#?Z %MJ _1[A!~o~Q#>0zW6fPdz R0f;W  +d7ݓ5uT.1+NUњ+dB^lMQ_&ѐsZ_dBFGĝGcPW,U͡çinYuZՒK.f$PvLV%kړnJk:)ðXDK.5WuTPFݱ,tЭYt-݆]I=[2 DP} ܥDP yMϰ 0YF@P!<[zc6U+ K (^IvߕM.eOziYFiwfHz#ija(rId9\}TvEnBBc1Xܛ۽?dU8!L- 5{A ད+ Y҅Htvi=u\s! :-_D֏iI;d3ld}ٞF_9+91u"lFNm 4*Nzifl%-g&ݕ3hgo3fw2 ʎ3qUEo  VQDݵJ)y"GN`Ya^Z~X{## H?VЋ y1&= y[HrFvbgpZ$[X Bzqn AM:H/ۣQvԦ[B2a]1IKv dX0i֞Bl\D +EmtҤvƖMH\IL˳ꭔʶ*OTMYιQk5AVTVp#uxKiVMzJfH70qvEi ]-wbjܢB@жT`KDM-4A4; nUBvPvTd){#rz^B%RwK!ߧ}Q:TVTdޥmMD5}sl{BD-|?TcݐBF7mTt(@-l-x_#esk>f{rIܛD I SnO]#:7P<ԳեB O%mosJXCg7q tv֊MGsNW|#A+@ }[0ȺA*ZLVkjiY01 K8hnwTfJxj*bc8t }A]dwcԵ\0 8"ҋҤ}jMIe?N&Ua7bYR\^KLd.d!MY߮,L-S/շ*A]{@b5`c,㶚5::WU"YR^FUzm(+utA#(gE/Z]XRp92 PXɩ,:HslGĜtB 'p|B@l=0dB紇#^6q`H-%q{eP]aX}Qs$i9^(Nw!*nV:.^Wf1{cC}Y.Lm 8( ;<[u L3AYE0d F+tK.A6 Pؼ_4ÆY>I F9{. Hp IH`tسDi\ ulQZ,&8ef3=)bJdR|QuW5Q02{C]jrD:x4Ov'&D:9ESǗENCRitTTY]I旺nbe׫y :dXvaG') RwfR 0<+IIQuR$gV37bzdڪ+f C6EZz&!fo<ж3y #"tk_3p}oY}RL˚!qHaJ8qIıV~Fn $>p@Э^+C$;f`N4RfhP5Ԃ EZ Y^ZT5g5ņ&VEo!j{j1.5ՌKghor|u[1ug&Fݡ^֢ M]LD"~\կiy6m  RVtMl{D|[۬KR0Jjkx5=TNw;6O7S6Lʀm{C~8t5G r sjsq)uRR; yވ1l&Ū'u.zn.\*N.LGtVֻעݮlj8d+ȸ @K2nO2ٔdr] d%cہ܋\qܚ\azqw.ʘmE}_󺯿Wkb :[M^c ,ajӺ-j[X_WqY]FtЙ Y\Pz~$duZ> B!SaQJNPmlئiRQ卮XV7$^QD`"P]؍u5 <z*'{N@j9tmם?]W^9w1ƻ^ϣPR4 ChuV4%Zug4hfSL돕\nI֋lnR>uۋpidgs{A5uMq')m:nz5AQ[vR] tpP)N2 u2,Cߖ|3y$, : c/@הy /%Ѽ[ \8qgצ 8b|;DfZ橦P.݀c;TFsZfb/&(̰:YRZ(VY,tI<b6H6cxyaHFGcLUBkQ`KI3:pli%ө*ŗ;,@)*Ǡll@o3@,g: be #fmu[}LK_ݲY9Ĺ9V{XΗ''\0#-2Xnq9疞Db9ZJ65 ,P֥aKjiO<i$|FwFDٜԊM.trص P|V5I9_؜ 9O 6IoX8t^`4$eۏIBH9%G*b;g,'5A7yH{"hZ um&}w7 < q2xE LSLbWƗqp45`8-;DˆsS- ~eK; ~X7EKaiu> Fʸ?@"註yr8{eR`dj\]F-rEƆ7;Xz7xݧF KRϙPr 9A ^Pn3I̩:!Dgtpvl}ƺ; \^رmQ`{Uwq ++a9r&gu;uyh#teyEexAeien6/K7ab(1f`o3IrHJga>,C?Y(I]{z T6ϷG!T+~Ea_ #lAfrfJd$9Ӻ+=O뇿^(5Zr5NG6w/p2)L',v>ɨ{e@:]p6ڜ]q73 d@C*Y  pxxc@wT) 5WdI7 Q[ϭs_<چC7Zݰ9HBe՟ ~U ](qWTݤ[j&O.eos@dԜ?q) 4oO㵨PvvaVn)b1\ ](J9e8*CU 0!0EKo*gᓮr[dX=ix+' ol1zs˪ ^ǀm+J4tvD/>SdJaRȻ ׈^^߄*L1! o&0| g`>Zq+)z9A5\=2x(.\#Vsi BJ-㒔5..19ɝ&g\qrɍNxMiYJk@5)o ~S ͛Mq{Xx|z@KKYKe]c!sՃ D! QLBe9+q>J1T≓zw$L^ 預J i ,,Q]V.ſT̅ù7(X_{ >]M 1&rTA v+"Smh󂱰ZlcQ\8(;> "4QZ<݂^|{Y6ѹ{‡,{J _OYtpX%4tG@}xP~yY\F#kg&$rHxqDC[tJ@yYZ߀j] !s$,z↥!FPUw"z <29Ng$gCRKz6nCZwItp3ta lNm̓׾xϑ@r Y%O4'dJ;j_LtL4^FB NH)fqQXr#0G9Q&B.P?p7@Qt,Ӕ39ћ39Ӣ6E_DkIE#z $ξ3ph_."Crf4ۍp]EwK >T=5~;mӨfwԴA4*,eݳ5Qbp;אE(<q? .w●̫Lźӯ̤(}({pmPVm¾ _% '1i"'x"1D$(DBW.TVmg@k Ƌ h uNB T@oجm Ӓv٬7_i.8TrB8EȒ.Y2YHsB,Թ yfO]B( BY@6rR\W2oŇWeUPWKVK)+~Ώn's/m$B$BLKcRnc|&9U(ys$Ƈ*>*.*R=T.B\de/1)CnkqLʁ"=]J@h`na?kWyL1'g23pHhbG>qۯf4&z`NR:DeHcR!:+up[_ÛJB+̲$?w\y{WJأ<`h 6׺-I22)SVM phznF%P nM%+{P`~J,vB _sөɨhS%EE҇X(*4eX PꡰP׮XaB}|?;X0tiQ$[9?\w |Ax-&SxL3PQ1?5ϤȗH7n߼|k㍧b,M3RK jA8M;o;r% 7$-#ޛ2~dOgocO)vӈ  6(<#ypO1CXv)2MTa@QRtx<_<>/X/}x<3^qd}j㻾7*t|R3Ye-ay/O_f!5J´ '{!y=WTI4U!Wwl.r򽉟Q)_<GLs*i^Hvl]_&~kK˝5a6F${NdlT /OYܔNj^wN?nÎ/>~_Tg 8~/OGIx/! A4mRl|ۖ1zТN8q|R`.cH&)bTmOAϥ؎p#cuE;oTF_3A̿Ю$M&]w>\ލp>\ MA I_dј[_Ow.֡7LQJM-cĶ8VC֑:SwPz#To8:1-@IÓSҾx jngWC~`RU9~oV]5/aܷA{SmQ/A؋ݺQ}.gQjuU?)*KPT{Tഖ&$T2at`1TLD A6 ] ժ/kbl0g61C⥬ZJ d=͔Z:+X*6;B-wF ,fb0o> ftps@jMVb1[4[,%y%l\nEU?. u͏tQP^Mgpc~sjBtb~&3> 5nUSߛ _~*\ߨ Dl~j6>_$&߫^ |_Q*16L9c^ak|&ZxQZ̠Q-fP[3]v{+ⳝfJ3bߣI07W>O:Td3/48A՗g73}Y1CamUD/3Jv1:0 2"0') swTSSh3+Ut4tvqyy- r5}ssTZ|te=jo-CKxOĿeTܟG+=պ~~x$ka{ʟMxh(4T -RB MZ"ΓLq~V_HIܭLjEJWFSSZ!=azXUnv?s ,O/mzyzam 2r{HU=,3sF HYczǴGrZ3@ tH3O3tWqsi㩚&m= \U6@;EWwl(?2Z "CȪb\Rdh=)=mĒ>:͞baqQr;BJ˞E;Zh7\ʰ~65P*uEY{(QUtǪ- Tʙ+*NkE}91HM3REFZIQEQh9? )rŶbnZv4/`C3x1Cx7[ma&UE=Fg{{γ)\=10z^0>zɴbѼ@L(eb/* 4nTqTPM%SïIw5Mgm%L2;J4wEWOqrpF/KY)3ҥ6T9u9TL=CMLjyi1HO?ώ*" y3FUcW#;,fY^եދ- %}pgr@XP>J e Ϫ^* oŲ<nf80g,لl# | } 8(-hB0k2GPSßWTjS:!M;uoU6d+K҄Nݛ2 jQ4kj;QF(#qA;wL8Qw6 h ?KqmxQ\H^@qo(wa _=ǫ;j8K>kzP7`Z  : M6g O~4 cJ7mx b”qZVEH` l #t.a,ro5CQtDWmb1䁞x a'ݻm'DDyaP壗:[WU$Zh=nY JIhZeʒF_Z0TMTjJهTФTXB{SpfS1/$z,4~\* 6L@Gv[8,>mB;z=ksVtm)Lǂf{-FS>vsDt0-b^Á OaC/UOy5imTw za69;ٙY] Hb-`}ѶޗRMٯ2B #}0d9y:|BQP{t/J\0Gֳ8rا;GF Q7wϣ͐DʡQUHQ lϦqُy69;YZm.& s P)|BS؜ 1%Eٻ1[+3;gzyKA&7ʾӍ3+u)R8ov FfwvʏEi FKbfR~fs&W΂:|9b!ɱʮtnvOlfV߳SJ4yj>X|Y dIW3hdV&̩),oœڜ0rgUzǭkxh1|ދ*YH)r.39JYRΡR5_);˹[R7g)gLc&3q!MibWg51ӟ^zuŢ.ʦMu:#h[RŎJU!yNNHNkIl\Tؼv]bf^bV_roTU ̻Jb=6T2g*oLD@S#TP>7OElSѶFWn\J-4J<C~$חZVZyi]UtZi?݂MD'JB8Ott"/TD #Y"UlDs#Q@G:,u.-*[$Lϕ-L]k<< E3{x]*04h [ճ= {;_#p5BL.!vKdn,6w@G։[~Y˪s>;6<>owAuG2;K#qDiu;|U&^F:G~vnupEFUlhu3`s]I2>*RcN>mS>e;PmK#P`T]+Rę$F%-I\MbrB9#"tl|7oSp!gus!vr]{lTHnGV򔕩[sEAeBE1C[F96l'ҫړI:0:zYBWdro( աXuv1܉zU2yU+һxExo~E.ߕ|ۂ#~3}z4ls][2_DvE.E)l!W$u8#KhG#JU#IhdzljlSUTMebgk8óq\)A>*.g̞̠B̎(Cgf/h1CYtD;EP +Je4ɀy9>,5i^PNJ#J:䶨ܔ-BLXNg)+|5N:g̞})@$P X!%i;B2@( ,%|hY!ȓ"?+yaG{rM_Cr .C_y1Cy1?+8CR߱{X ~@)J@vkwg7F1CF1C'G1CG2.gH$_r)ҥ4fUpn:!19 u ɡz%4dGOO.Ϋ_-FI]MxL2K'К3n%|楛{"}}]_ݳnZa*D8 St^xZ]"E|D?*{n֌~,WO yNV>.*&7b->rrٓCV:9;@ |~usj赏fvbާ+=+5l.*q{3kiBA9%)O{O+)VzJ% x.tn349;Üm-=1:ctvOOJ`N]wx0~س Vjoy[pĥbEbۜ),cwY;7V~1O%ir:zz`ےؒ=K8݂%@ =$lqE3.I%axs22j @JTRDGR\ʠHj)+* YD}-$| JR;2!25aiLՙNP RSy'\SSF#<@%i9./>&f]in,Ai+H\NY] A ~*#n"UUZV-ZxţpY-ZJ+-ôJN+>p9y/ =A Lx @q#B !)H (8)$D>1 q0l, ogF JP2S 9Ai Jbp INP2%|(E3,LZjxM j\i۟9^ʱ'&1*YN>:~7 [wU p hIC[+kV KV+L+py~yP c <ɯuWd&,GDbE  RIb %XKQH5Rrٳe4#nW28FF\[dVOw,цG:KjbZx8:^/Ur%Zf&4™ C:JD;]HJ|ᢎG08mťcArk!/f0V1/o]lE7aYUVt-Բw<{wP츗I 2:^Fo0 ?{>+g I +v!Pɀ= "hfbJ{S<1z =|uTV|h+j  Q@Pc]zH=O2*')yԝENw?hIY^p,5#vٰM}hD!UֺY bw-Y]Iܜ{ T;P7F Ÿ;b:8Z}|b,B #,2 dr=> Oа!;d0 iɠvI]nzH Q@iٟ8c9kw)X"i^kJ 0iB &pBW@? T%(@I+G.bf))WB4CfqCfqBwg(cUS7A3uHo')j.oru^krSN.;9S0@’WNYgIkkP<r~SMm"EYmq ;ܣ<-Bh3J$/D! k2H9m3w0xs.t|9$_wWJ3_%iHlH솤pH(gI";$p]ulTAFoޡ =w&xsD 1kΓjFQ%tQ9{PqΗwo3{ow;VobS_8,T'HHΈĎذAlp6{`l_(ז{Fl2x'0Y"(X*uKWF_B8vSe5RQ: @T|[BBW}pe,v3J`!_HulW"F&Y%FkĤ%mH4r׎J w>!Ȏ,C F!Q]qf|J,ˡ2C2gR5%SE]dSWY,ʲlkueU6Ʋ*;ei*S2W2s3WBs4WRJ^5BmH^"y{ jT^H "QtFEvKܗ4H!v2Jy5h$pTKPW8<'&,D%B!ML? ˒Iٙ Eў4kh}vG<'k뫨jr꺨j¨bɨڌjrR$Syvah1}9ɃPೇ%+<| H;̝_3ND@r=MYbMԪF>rۯf-5#)9Sؤ'%E9en]3UNSe9˂@-&, Qr$7Ln,%uMmH&%+} 5˩kMTu.6Ty}Wج<`w 6׺-锼6%)-NI}5ޓC?hJ,阔TNB)k@9%O:! N<V6xj#)lQ"%` L$ 픅")(_Ps j km| Rҁ~$*i& Zo; k].h1HEX{75ϤȗH7n߼|kӍ&,RR'g)D('|z>+yͨ|z(d].?A}{Gd'82I:BtpU?974[npp|ܔd [5d6'5 ؿ{/ǯ\y _OGl2 ġ|8PP% >) "gCq8\2p}`-h$r_@eүg{zWNty:h?̗ᜟ"=}P6*!<<3t;s*\WtP.0H>%$Cឝ z+}=]F[v-A=?os ?0֔ ȏ7??u=5 endstream endobj 86 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 94 0 obj << /Length 1731 /Filter /FlateDecode >> stream x]6~.%[X-[uGIsvz?R;]]{(!$KI½~aLz2 Hbw$`04Khѫ]=-ţie,E-'yB)Ynͅ <.O#bCĐCIJ;- H=+2Xd t܊^r]C>!X(B. ݃7{(&f8Exe\ZFժ˻RsIvye?lڏ"G8;_V|kUMlUa&oe p}Mwjuө*B/aYpTF,7?R~=ZZe+Zh4ce/5CC"hCuͺvoaZDlvG"0QGND~|0SBQob9RZ!䛁qs;aHq k!T]R ttђ*"v|k.gc=RP-QSDL10rLD@X Ah:v0kދ4(FH'ʄ~<f9YʸpIG)LxhHc^!<s4рa02ͣ$n_}Ҍ[a3w'^X dol>b/j $F}YR/.ޢXD.4#YdxPgyV6`E [8t`yթq 6"q'SVlmi[[9y BGiJ2@ 0eϜA7N|;JxY'QhtaJ!?;nȐ_"-0k~U. }; nR\AU],+UeW*bj3èS6ɻCWR(˃ fkY9nֶ/eZGsW-9oovMY.G.@r˪#ؿqmsZ2*m\*\*aqȏ.exI\'`GPt5rTTz֍մ/7B>2]^ag͎j)fH|Sw\~z^% %ɩ:>g!RCxlx~l6SGZR|J (+yN Na*U BNY_:O t\2*BnG&1_} bl2E{/~% "\>7*a2ǵ^kO urرĂ'6zїJ'fEP(qH~ uo]Vc~Y?O-Xuyۖ{dl2#aYy1r/$BQ)o%!4*nkUBKHкMaGȏK->{2*S r9) "(7y_"ɑpJ[fRN]*;WU`К רxɲL.3*!q 4 endstream endobj 90 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/Rtmp13a5aE/Rbuild47f7353d5903/spdep/vignettes/Fig-bitmap-3.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 99 0 R /BBox [0 0 468 252] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 100 0 R>> /ExtGState << >>/ColorSpace << /sRGB 101 0 R >>>> /Length 33092 /Filter /FlateDecode >> stream xK,Mn:?(ޑ1m6 @n[{ek t @&Ȉپ|wfUeƃA..Ͽ__wO+|§?&ߟT7a|R? {__\UϿR;WS4x?^K~~Lr?=B\4 17_YCME*w8"f~7'[^k};Sޯ0|-~Gv<b7__%cU/ y 砏QRgkb?XUZ~w{}We}^1VUG%;դC1FŞ~CxY_eR=I V﹑;5.?T0:w*7.SfRH(cv?= }@9[EŤ:\Y=(3{؋~U̶evOF5t_ Tt~q=\u޲~ _"w o &do-!77eGZQd<"_?)a]ErA%Yܭ̓[}+z;u$?*,C&wʊu$T[arcsKީ+ITRu˽?E_iFCN&B9}./)K5-MeZtZX_ϓ`:OߢrtpɻGI&OPHܳ/#!]7pasKU|U~gyꂹg6 }]kXHzsr`t1J]W]5`] (E1G^a#лdU*2&V{ ,{$\j F,s KvOevnl+_jd(mwَT,^uɶ [uh94#kEGa(:>jA[50W ۄQW_%VOז^*vf1q7g憭 K4޻g #r["5/,}}][;m5.+LaǎЋo1w>s0 K^i!Zطt[ͮJsWu>뀅,d]eu@v㥻q\Qtv۷_}vY3Zc(0-nIeoyUkZ>d eUܒ4L,3n[҃^:fh#/5± 뚯 9'oQ[pjbOtəC]7PsXng90f.+IĤW/VO ?\`0}^޳u"/"O_a'-`㻽^/U3brϋ9E%dطc,jy>ry&bPjE{\ >POoCv٭FF'xX; ǁAB~]F~*NWU}:k3v=lH:bQݲ \n'㋜ʪEJȱT;10o_wr~2~*StAM,Zft8IN;a䤱w8yNdRPPLՉdلM"&xk/S#T*wjeNc/:>ӼReρ_iqS%NzYo#ʲ3J:߸B&׼YӦ_MF_qް 3^|W!jHhÍMjnXOL-?.  E^WȾseaTYqaoNjYvPbUSEXmX K)o=ḼBŗQMFaYcG9*E1+hPA2rFߢ)cES[ ڊz* ׬Z-О߭kpm7 ڈSz f7{EGEV- q04}[l Ӛ/Po!=\@3,2j9, t$';lj oԾW|.@J 4[Kt'>MԐ 4E]'M0(*bsa)l+pp@ ^&kG-[4Fn^ 1ݰ^}p\dPءwteO>ÜGIs{J%e5a#e ]OVxBDfe_p3!0(a>^XyN g Nٍ0s@D9$AidـoN [,`OAOpf"KDFI;-ONȒ\~VpT ЦC8WsP*!U `5SIOHF] g(ԭN "&xǤiyv*в* 0zY Rfe,sEPJXm ȱUq?9Æ}`imS]"f|sCF<H`y rVYUF ,} Z1[Wp#v؉@)"0vb€T Lw2`@ˆjtl M)j@ԡE66s7/HmKz3t>C8 ]ph0ʄR&2!u'2" \as6Nsi7:16VsTd}*FhXmlZ2&_l+m( s?[*u\XDA6z0QG Ǧih !6eghF]MLԝrtxvjUAt4ێ3 N:JSEjT@}VOf`?rgKiBȤ$ 3&DfB ސl¹ 'NRc#c5v!**mur숮Q"sۣz[̏"/\'TgxMGoD$$!՞h("Fb`U{' F`mRl< EA(uҹkEyn"rl @Ŏ}Ɏ߭5dBʼndԊ&+@ba*Hץβ*Kni ;thW4Vc]Dg,n~s2׈}JWTLє"y z V w $$FpK6 $PtL))zO곴~[ ґ/QrӑDQ6EIU[%dZk2N~S2 P"PTIKSygP@0F{h' lǁvH50hk8:4R&#B ";ỴȜTTwϰg;l)QP`?^Zti<҇$]ʚ0iiᇆ'OmpMM(=6ϣ4| a`@'ؐ =T0 Q!@c67ravvup҉G@ q=:v̾&n6E aG'E68AQPDeP4b58E(FFӚrU}b _eu/n7$ xj>%j͊j7+ձf%qlSv+JJ"VP^E%5H rZa/(]dS/[^Yg%^$h5JFG#D5Wګ/qm&ܴuڪ>IXG;4KMC"]ioFPLG A|;e P`E̡G. l@ԊKjŘցxmYv{eqeQe7`nX '=ئEݘuc؍! [FyLj} >2Xdk}M,Pa+Shajb8.|rիDx<fP/B~T찆!L@mu'g\5[9eV6heǑd脀]9!!*" `&kHL*b iK`qIď*2 RPƗt-d,4WhitZL%llUbq"3lz8(eH8QET-mK 3~Y5 } *+fh.t E% 5߮٬%e"h7dY%uS@T+Ƴڱ0Ba8b ۄ# Taa3uW,L\,j?sG*½1Y]W=iٶ־mnsKӆ_1iB&{?`*@( hzZLVLUTW 4VSz n[x(.,J"71,I5vJuK1·adN=3@K"FJT H;ISG 2hU VH~e5Vv5/E|DI1WBcfۆ8ԁ)] 1H@d4:IV^{7Tg/Ceu䡂=T·yݔM91N[9xM0+zUb/^& 5W.61744<{;gI~'y䳒G[=t6>C SdhP'8lj]szP[i:thVQhP!Uҭ,V­b[*P`E˿3N8QjGݰi?Hwf#GZȫ8kAO5\딽e7[Dd&;B2ʄRPD- գ̓OH q-S(QҨ$+J-Jߢ.J0J=Ҏ\-8|=Y;τ iئ 8d*DQVa8ZV.d[{7W㵈SяdVt !C(RqFR܃[gxu n*0- )R5x;L#07 ʺњ}Pz8Ę$>%*tU4~|pZ I[,1ҍ4-%0-xB̲g`.XoK_ǔnH% m}1%iۇv u[{&߃? )ҦkI޵8cO8$72( GRj%>|ɼOހ| _' i5z\#T"Th~_N%9R Ľ߾yTgFx/ Lb<$ ؑ>F6mȾժR ?6D$e ?|?f7@6/W^#T84sIG@[=M~*? oP]&__gH'wRPK1{JOR@}Vixc Ay렠\_Ͽ>xq[6Y[o] (ĉ|]ܮkݠYv/ |Uzj+KBhÑ5dĻR!p__o!Le?-65 Srг]B:VYk|~](nJmn&=M`!ElrC **ȶ?W'z+@=x|(ɚRZ33M76! z|4TWX@G]`U Flhc#n0y^obH+׼3tl] w|xݹ+Wσ +cߟk(@"d:Zw"u#tH@`kG׮ck2B ^Š'!sp\Ho%N`]%M?_ުZ$^E^QC5 hT˓^С \Ȋ:t ĝSJzjLD^N/)B;~Bw4Ϭ$sn? '2NY  %$ $6C/:/y.92lv!ax`O/KAs,/KQB<0 !+2S|Yh(ӹdK~h  K /[bKҋFo `mc*BesǫiK;K?>fß~v#b9Ci~?>_Ooзu5'|o%,eѵ̿ +~_~E}?)w~ý2~UeL[]h!fQGڤBlʁ Ci+YmXpY@(spYEU]V*˗9fUAV)uYP+~dr!SDHVlsTb5L^kߒEykV!H1n.պN)Qkdw͆;y -) yǝBun)ĭٷ \kmGٚGGc[i2g*:QKiG1P^,.Vf!kuIvR['$A$7\[',杀z@NA"PZyN= dr {E`LSK_k8M_x3J :Nh_o$6e҅_EnHg1l9 C=g;E|x4aAga!?bE2֒R,K,`߱FiM1STb#ZG h`%+WWu?ha6AP,-=ZֻhFFe<4d}>Ԉymsjym#j߿czzU\t;BO}E/MS)zJa͞R\'tuqi._NcSk:ABwIN;!{m4V-[ĥ^}է3Kp .+.⽿|#MZn|tqS&?Q|B/A&G}6U Z1{=0wZ@^߳sX"ާ᭡cZoJ853:y-y7ViS\ hQ&&`L_&XYV-eS4, d&dKh`r%]T)_Z-#JJvlnk˚C#`roD^s3y'8= c%g.TJKm0a ,YYL'<ǒd"uWv[#j}r/$]V@V=KcAs1u3k4UB ALAPTL7ys;߬9Sv݂d%ח-Ы,2[u<t?mtJ:՘Ītw'EjȡbHmiS^?+zk]wԅj:uph~L 7Fq14+-r1 Eʩfذvp*VX@~qajƥ~rn ֍.ն5K[fw"UfyoV[Iڤh+fA/5LV&7['.y޵SWB evJ LF` |'L=]T \_{t-vblϧFŠ*nXQDtL!FGy |'/|jW "[#ZqO 8#{,5P ;Bj ^Gz֟nԅ\@P囄m{#~{J+=<i6MzE^&ùC]?X©"K|*YXf|ܿv3c!̔K *UN!~!CJMpQ#D(OQjmQb5GܞxӾ`O~a~Bn2h#qBJ".VFUYĂS6QTl~y" Qެ\zY=ÊbU&X'T\t,˵R3[$kudzĭZP{)%ZOJZnJkd*kd@3K}C+cģf#ªbHi=ӷX#%2ZVH3ߏ7^;Ғ4؇r@eRfef`h'F 0A͢ǖVqijlTò'5+mm͂4`;@UcԍQ9F#ԏQ5dTQGF%wHm /6ym*?|Me=ME^'fhFM4خXd 40kh?T5S)mk}}P%vs \O78g\{ nmu'ԻRgZv֨+[񙭴E^;m6yӭ)Ќ7@dF-4h+X5zR/0:*E9X8`@%S 1h;2Z> |U2TVz"+`]e{>$GkflZI!JuWVC*ga0mӚu=ۈg _.fɈvVyT_A[3_ pQI|]6G׭?$^D=p 5PMYBk_ ׶yןbr}7&ڎL>ʔL^g*c)M䵑vx؇:{3{G" .lhma9yՓbw 4t 'dW+.9-Po;uL)HD!#GZtԎjNFeKs#:}.Yg[G:Kip&S2D.}E#g>G?+Uq͊hUrja!ڹ[䵱ZM^ZBѥYNMښZ-Y[զRM}57OD(=>6ǿ9>sSg;>z3=Dg?ыv (q#yw~()+VY  |kh:҂e%Vy-R}8VDZ<3V0ʕ^:d׶$2>kMALr Dwm"ZEkFȖF?\JtI$`%ZOaup Q )H)L{i贈-ZO>%SO!>ΔN)S8%LYR8%%b# 2 2ɊLfd#!,dJ"[2YuU䂢eYѩ8ԝ,59Sf˟*|>ɢA~AuhYdFZY(yV+ x#㑌W2x' '<8+jM<"v"Qʈ5fD&]4"> ;.e5l ]~*lמPyvsOhT<[$UʈտoC2-Lvymr)YhUN*!gVjN!ڼBK|V3Oh9Gy@L⌾MH\xmQzbh3zch;ۡAn<dgzHEP*zE&ty!$"Ey}EIT{EPC_{݄4(#`p@6N1Ӑ44hJH!bM(6;M݄c4D\M8~ȇ8k{f )q"P@e6KcB_ xpjz +PeB:\7KOл%c9 O4jx){51NƮ"x[b vmD_0uo$QE+pXX(Jbji[JŽ*235+ 3Π<+Ϡ?Rfp=D{?hsDPgz KZy K-9a#,Ja=aWˮZߗ*Ld*'S= SEJzRM.Q V8^Hxv*b#$d=l=C[݁\R[&ocF~` %ň$;X# RAvJf!ai*W0"mRMʱ6֤~r-c utkӍ r5]" ˟Z%OMvE|AN3̉ڽ.YUon3}UFtP޺BM==fOQO4Waţ :[HҪx mFClu?J&7٩0=ځ*7̀#pxo^'j^N%;񂇞.vev2\W TؑH Aoϧg?Ih_͙P%29 ' * 2 0 " 3W\Q,TʞTw&Iyw&q'rTIgR⚴C)#ߗN9NYNyᔘZXV,9dSjl} .AA#3J@OSFPBk4A =Tr=z2i)6p p Q iYKZ,kaҬYo2| ٞ1K3Ysh $sO{ 3 81IQ(((G8J-f7&s"Q=v/8VEkDzk&pj[[kt}+el^*-w?=s`<3aυ=|N>7`>)sjk2GR"e _^YV{Zv/ x |ˉYPKYT̲b,/k\Cc#vo33Dl3aųY,eBY\H mq!..Ņ; )p.^/plp+mo##72{m7:{Ӷ.ux^7]#˼7w|ʗ| ʷsV,pzNWJ| Bq(Cp8I("vHGzݡ+6?L/x8uT.^MF\Ld|Cy:$+K2"1Ca[Fx*NCsNg8yTf e8+z_V/a'wZ _v;+YFLXv/xkנE(v JTgpBҞjg^/{cm3$}3)|'៟_{Mxb\ӭ Cj58 [n]zSqb#DFk'{%Q+ Rjߏ.ﵝ3׆\[kOSmj]}Զ\kgsm^kwz\p=w^īɠB%1<+)gMIN;e촱SN;4SN';gu­z!W7ÐKRde sVY%q|ġX&5|g&@A\YDt9<*[n鈜錜鐜.锜n阔G'u[45{&@`$ךTEK_Ƿ Ya^{&T8z. @2{2kE |Nʓnln԰_ڸCgHsHBҦKH} `By*fZ*uH+b& lž&n+wIJI ']w2ݗXBy=k}uM; W3pί[Vh͓v=zjwK]rx>t{^[fP/ _pxctZO:]g=7vԃq=ףۓ@8I;q#ĝ2,Jp I%/_etAgͽӔk\uo_haD=;0Z~Zi\퉏77;FF|mŽ^zc :+6ekah?U~@C 1CS ]1Ac(3y83tα"y-Pڏĝ=rPs-!#s|ΐr*:B3ĝյ/!Rs-#O6㧿lU'^ټ?ZBf4Zld~գՑ ZIkf_EyG@LHhs {5}qGPut厤nFN~;WAc aw~YϒbO>듾.']?.t_G8ex9l ; M4^蘒T$AW⾣ uэ@E۪{]c/wD۱=y9yQJ?swj@Vf<+y~}Iz}##'cu;fmcSu:|g;OֿB\c_^('40JWUtl__##]U^ 54gn8bZQ}tt Zg}EOQGlg;1>/tr< Q;YxcW wXt z4X?zDZkx}żp2R}% iWx٢/X{]# ϼScN?M+J#ٙmwm~G}z:DEZu%y}p2w? Q{ޥ̓UshS|wret`krD^c_W~"NfV!vt]+|GR0Oiwu%/p];P2.^;w鍘W;%$p]uOQC/ioy\QuMo8GcW/suQ]  MYGuEF e9[>:etC4ގ8UNAqy޷'O ' ?y&,_L(93-o=kE)Z]qU:`7.J/ qwUf._ c9dŪ&OkdQDeqbF]:^%k޲?%] 'sN(8&[e`UHHO[`5=m< \11_{<O%Jl֭FETu)%֪y>&l\ZCgeZXPa4O|gzD=?|HS-xhĹҒ۹+ ey>cy]ƣRԏ=QD(I$pSx[CIcvÇP_SkֹWe2^w= k]zL1/¿2j_ß~Gvp嬑 Wӿ"] +{rϿ__lxBWNq\?\(rO_+{ݯ̽|gU[FVE=eiM"Z` D <\ r^A\ h7YeE|s1~Kq?/kӒ+2.ce9p@jא~?"LkPͽZCsgkoK} OP~ou%O??5^խklMPcFi82L@ni\Q^~+OiL\Q7)׎j_G8WbUv2,~ o2gri[),j]^lsA"%֏XZbxm^K[?ؒ/t fE^{‚&;;p\, /#Lר}Ɉڗ\W떘JAlEhDnH&{3O j+וkȘ/^jޜC.fɫ Hy"FxJ]hLТ3 G3/Y"xIl+㺮b%WRAG 9Xh~EFضޢŬ)=Z7e&-3{6y}ZbzNy*y߿E#ݚec q{>{fi/o{>{I'mgdD+R-TOqXUn[eG&_rQ L'}+<;vw֛@xR]U$TnjVSS4}yiXa!5e Ȭ~[EwBfd+BTSbhYu6YA@hM~AǕxFvv=+<]>FW+eE,XEVlvŽD !d9k ( 8VȱևXT}UiE>ȺސZ ̔N9kʧXkJh~2*fRr*ǚ*̚*ؚ,&Ԛ,Z}MbV?kg4=%gvNSj:z5l*ܦR`v~];s7_I>Z,*J_RUT,=UK5K5+`*4H=KIWXGZ:`/b𐁚ál|_K61K:+m%D^KBWJJe-I%NZJ䵤ZJ$Z2KʥVz^rKvZ+[,/%;JN 2Q_VqS}Bڴӓļ%Of4f~m&rwOS,HɌ6shMD<UiUT]ctY߲n%}CfgR/6nU}*"Uy**"Ue>*2_kiϵ IPWoTAYk*_u+ư:K b#~z/ q M:U*[¬kBKm92r3goJ 쭽+57>ܿpp퍙a~ޙ.1i} =t0RE[pB5(A  p ,`ū0fT\o8u exy2đ+bR$OmU p*kV+*,y"9= [Npx~,Bsc)*RD@ #77qǡ f n¿)tĘ()^-|Q\fS!b_n}s?lJOi"ѝOVSde# *CfE$rw /pjAZSy4 V'i;.Q>N˟/ (#2g]W׮:^8͋ۗkWWEgvTzv}-V^ ,4U|})x*#[_]!$[|r."lЊbوG/H0}E/+bED.֭f#foܭ"z/r~9"ם@X ~IQȆvXQ}筏ˤYOC|\AJ[l;ʇ*yCUc@cTQ?F5dTQGF%wH*&@h~.0ء)m|w3E(V8:x t i]Ñd yhPְYCGmJ}HdzG"E^{]璷^عWvF3K[ukmޭה 3"C֐c˨Vy ]~A h'y^膪ȠG+-TV-> ٻE# PQl2eJd+o ChfrBhCיҫO)ё뒅|ڬ{y DiHDƙtJ Cdǧ`"щ6h"~ C!h'3+#rXX_ pQq6f*:@6bUT491p%ݣL dݵk7np"3gX}E^cdbϿAV?}\>*a:y,|<" E $Y{H"+rٺ`Eť85bi%eHDiG#GZߟbFߝIF.[[Uŭh[CT ''_dJ&["(Лt4G?U٣`+hl OM8ڳ3ߊUy)+-*/yuz|ч^^9:/vUlŗ9ǧ9~79~us|Lgz<^}3QxG]#P%%SV^D HFlO"ھD'"QXX{h[DJ/f> E&9|( y-U:#VT# d.P%JSy-꧰Z=S|8S8S8S(R~H _4kq| )A2)ħԙ2){$) {J<);YɄL6d2"HdG&CdI&S2ْɘVVX h$LpGp'BVXEE'Y4(_UYb-ZY(eyV+ Hx#^x&㝌&hCT(xils& E^HSeD[3w.΄Uv'ۥ :jqN5 AoM} yFJ?ͨE׫n, !rS;yaԩ roK|E጑sŵ'?Dpރ`&k,PdAl;-E]_\+rErʤM<>EdGj[]~_}k{SUQ|}^Gz[U6gg[۷_E^ۃj6g84֏ۏ*ҠLlAȲ|*[=C?"pU>>YSh E87uA,6S}(Lm=~jzXs)?3+HF>MGa/&FL2ٿLD^iDdj|P g,T3Q,{50F-R0ٍ cq}14Ck 41x >YA/FOzHJ^Q-:I;YM@x޲QDWT7b@ѡ_nB|_L8 ppB'͘iLSfNsf4%0r1 &Xl&n±wl"&xY+鎼Xѱ@YDLmJ ; )T[΀cc:(`c+õklM3fs Oc_o )Ԕ` ?{u06Ť0ao #:Α 嫯kaCԖE ۨ"8,,cۉԈU jJΚAstgPAgПLʠ\9Bp8ym3-=|%ϰ%59yE)lU9auVkRCL7:AKu57ʤ $;X UzhJc v`_I5*Ǻʓ[ɵѭۄ/N72k( ޞZr [mXFT݊E^YUi톜wKmnE͙vEd:h{p/2Kp> H?k\"G'ga<|Z>s<4j&]_ĖaLnH 6AUx)r 89 .>uZ~/xb;f'd ! NNAJ$ (U ' õP&:dARQdeAeA`DAfoR [ٓΤ5)ޒ8鏓9ipM*÷5iRF/)%rB)))-)1h4{i`,|f;)UnNjcyУgV$}ff?r]Sɇ $=rэ|PBk4ut˭!P:QƆn5;]kJSt8S|8Sr-Z(kC f-ZO>%SO>lϘy>q 7UQd:yQu9QFmvTQbhGu:Qݷbߋ}3ط#ߏ}C%N_)L!e)SPzRXS!X}!3y P`?G`GX:O(Ł1q`q`w[` kLh NkX!g"S{2yu, YOyt T_Qn+|3o98уA~5* UAʴ\ Z{*R.#ݒdK-T\!D x9JAy Y q3.vLjG5.FnLmo:B5мRJPԑQIF-wTQOFE5QUԟ,@tJ0-bgʎc~ hʉʉG+'r,|O0ӄF4㝆44}ҤwIi$ g>Vbyeʖ+[{e=rV[Q:K݁TB!R2X \\|\>3Ǝ~{;OO1~omco1~U/|csxƞWNS֗`P68TNzI" i)#}d; H1ҁ&Nj`ixU%P]|}x!㉌7Ձoe$0g' |gTጎɈ1LO .#gtL*W2gO*Xg}^h&hù={?u=&1)ṕcG%ʲFa8J(G8J-f7&s"Q=v/8V5`=6ɴ38*E!q SsK s=~]{`ٲg vρ= <3aυ=|^;߀HOuS[˔9z$D8LxW` x |;ˉYP̒bu,/XƩx>x]gghg {.ob)%C/: iq-.ŅB`g!.Pr ='8%Z15Jڊ?r`b4slx_Ɣ6p9:XvNOa1Yr5A]L6/ ~0\ɢ% ϯ7~]HB{E,=F5v<6WL6A\ طLA&d#s8m.kZe&Ø#,1]ӉbHfTjZS4RzJ3*eTF?T[ w6_mU"_tw:^~ȵo]DVWQ m/fhf"r[:ULbzӯ#A{ N8ć~ZD@ ( ,+@,"woC'Dߊ&˹}yKrI'^3, 0D9"1zv [7MoۼqzTSkevʬKFx!/|oEY\x#h§HE(J1Ns08Q;U\oY3v~Ly꜓bϷ]QB%δݍM8kJK)G?)~:7|EeNŹ*g]wd&[ݷH汶}G-N쬩fWa,F)}`\q/B:+L kjn}@b{ݜJ> 9[iyY%!۶µ4?wrA.OeSzGWp']\ɷ),.@v&qC;&75mMkrc;ν|oW@>!%^Me[gة5=g FԐ%{%R@m&:]tѩ3N!F:t::;ad/$!?XFeʒPŇf9>jI.>cZ&,IMP&@ ` -bNIPK7d:"tGC2])ntLk2Hṛ Cz)_D1\c[ iͩWݝ6Gvvoe]&mѰmǚ YM]a<k-Wkoq]SS ;BIHB )#̐4CF;2B] iZ5\PP+QkQt44ač&0Md_"hK/ \o~uAk)ίSWm'(rk39t6ъtA%@XaEdkHԽY{.\_g[ x1 jdaO0|F _*̩U?mpE3>7\#͑.&$dJGJIJX>d-Qerl ZܻVr׸jrknVH{:8Be;Vjre='sD0b6FXۊX X{js@"Knv Ez[?*iuĭ%zŭ/nq!ʄ0G3!ЄHsFrbFVXUmR)bFb!t<CB yH)/څ|qeA-e鏻yZzc/=rkv15o 4?>6c~\P=}l)h0@9!HArcA>(θq5t6[+ٲmTE24 gT4!-CzKTrD1kc>c?d@`'"`+v۾vl[ y5Xc5ؼF[*PB! *A(T#jQjYjajihDAL| 0xAk|$ZZZzzzN;=NH鱚GK{ѣܘ^jUj]j娵_o Ei}^G\3Dbhese&K%֥W\ЯK"S(۰B G&%Aor8c~%b+[ ĻԝK]K$z-!.?#۠r .9ϨTߋaڰIAd@,9 T=i)HxX֏0UI RܤTTbFb${kmغ6*e"PeE$ _/v*y5[6l݆PµC(%j~.qřl 6{ܥP+͵Z5_YQ­Hx}?u r6h@bR<\(D!$ ur N1$kr,IЖr*Zz&$RzlCi?懄BJZc4W?HP´ɵ%%\'C"zDDrm%-emFӖ"er{|?.] ڔ(B^ili?(ڒ ǥ'oc($LKQBst5ƅDh3.qigM d]}_> %D%O6q()Rt}pP"QlÆ:ɕ%$\IY6`Ix`)rӚ C uZ, o5)$\Ĩ$x#+~HJXFi+K$waن~Ox%zkÚnd@"Y*~q}A wןI`KMv}`|@^v:.6y|`p#Ho^"У}?[c0R< Pdv O^Y!7xR0B`kĦ̼x*v+pa즛mbuRl{-{Slgç!9)LURݳ_kfI2Zz89k:4"P?:lE]'اe齽];bvHIKweo-SVJ{r~1oK”h9Q5JL+5LW.drΖb# ,),kcYp5Яwseos^SLϒ$/맟?̭ endstream endobj 103 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 110 0 obj << /Length 1874 /Filter /FlateDecode >> stream xXK6 ﯘCbG$KZ$Z4nNiQx7~l&HyO6h,Q")^~r#:5Bś}}ϕiK7`Vu]٘Ouy^yozM*Rn#U$PmL6jso/+;u}E MgOf221f^6닜hƀamu݃w" O( RrD=wBڳ(^bUD}޴)T*l(`!5;Ck9m=oZ1 5-W8PX#S¥ w-NM5Al`DF9h{Pxw[e #w>e MGuBk.r|f:``8iVc:*Ѫ!A9f^JAsmq/!$aad弓t6ba;/g7):E-"e)Щ>ϱ&U=Xs$l" ƺh~|؅L}n\1O*ɚ|E{زOJTkHiaUc$#E>3"6%tۚʁ ?m@&t:,Dr VeNWy߭剻`d}=UlJvr__梿/2?9rѩ.PF_^qe/E&}q.P[zb ca` sGk`0,T,y -K-yK<~g7@ kf:%+ZO\YIas0!){NGSN x.`ΆCU^; ~@?sn]e؋'D(b!+R/s*Q\@ܢ>z="~4K})=>2 g6 奼\@hT]^7\(w][SsoR='a,m5=6ٱ/̷szq0Mof"EK;Rkzj>ʉ4gHk6H$zyMĤN\Nr>#ttya be^}ZR S 3C7lеUQSP4TۚcFzqV>ɳ^9|時e%g 2jØ< g "?XzC&הKztϒ=ܐpU}r_r endstream endobj 104 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/Rtmp13a5aE/Rbuild47f7353d5903/spdep/vignettes/Fig-bitmap-4.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 113 0 R /BBox [0 0 468 252] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 114 0 R>> /ExtGState << >>/ColorSpace << /sRGB 115 0 R >>>> /Length 38487 /Filter /FlateDecode >> stream xˮ%q%g&Ḿ\x ui %d瓯,Pr~~D!ˏAUI1i1Z%GQOI1'#{ۜ=:GWǣdꥳ!#F4'ggOʟeLl-?|oo?.}TsUuVb/?&/= dJrY(u|R2Uȹ6ҹ\?R~Ą?zVR<]9/s0,RZ'GIM2%IY=,ȘӜ6fs1ɠnC#ڳUuchehO9ns/uݚE.;ڋIcY葌3; Ǐ:;OP &LȎqc:^Yl,BfHJ'8? kx@н,O12Uz>O~h7g'ߟ'?XZ=bY3}%YlO5@ |^ڮM'fh9ЮF#IN$c16=n?t"5iG^ҞmejIߏcm:'BnY7l 3>IymE]=v>Χ|_4:|IǬ 9+mS/pް=ƜQd>BǏjLXw5P_#ˆ<[[SڒT(YLzʎddRUR ;=mJfRԝ$,)FþOS(}N;2r2*Loг'T~K9Ǥqmtjm.*hy5{üO\s[,StM*P uK}^%%_mϙ/3Agׁ&.7l&Ϭ*5>]zdk;W`VzkW{EWE9Һ_dkU.y`K_4I=sRUȢCwͥa"\D9sɉKo rʓCŠT16DžET&g(7oNوw [g%字K E q qRE{dsFPsNJɱ Ut:\|( QG%iard2 )0|?Jh-d8Ypd4]&={s/P" ;bsCd ^oykt s%8q|R-kN;L$$GeB=rr\1}Tu>뀄,dSeaSn48nv~履95Vqmi5_#Prb”yU'CY&Rf{_ ^}M"k\zkx[F_* Ɉq ''d"LRI|Jwyi-rEa,.;IȤh'?.tVozl-з|gI 8.KȿN{"6t@-7+ᤣ&dT k}NtUUiJX|Z[gXɏFFY_ν8_֬PDGx\e_$tq;ݵltTW՝ު~̈́zldUEĦL\.' %Zѓ WD-ߧ(E؄rnB+QdFJ+qJ +D&B1Zor'C"|/S#JWjO1ݿ/:?X)m^LZsW%wWl\TR"^7݁l B[i9{|⼣WW: cڭWUS6ˆL]NX]v!~56D"=uLhg8-;X`f;T `}rZ-6,|N}O` 2'j`~" ,Ro;:q (r c7NaKhv' jjdvnUMQRnD:< V+2$$_8RR䆻T=)iMGMWF$Ɇ˥}@WŽDX!ˬYQ` d@NC\mTF " ˓+;bO0P7IYf2]䢳>p r_m! %`& JUCTlBavcMxL( !ԛCs(G~TJ`ғKW,}Qa䰹UH? > 9 9LO˷' oxʥ*H] ȣIr. J4wen q)t!d6cX&0])$ $$; ;YŶVDf_7W6g>?-ͩY!M;}&S2) v1*=sQ[mɄ'uDJ:BVeTU*{R$6i0eLVS^1.I q14t9䴦2jaa$ ȔfR&Y[2Ydd}- |J6m*)l/ h'Z& lH } ';~*prbB6;< '΁Wm: &n2^;"hي1ʶ p;Jx"̈́)e6~vvل>~:]$@.l(‚YLPRwhmp#J*gY%H(!`?307>j6]  OWCPsZ0Nj΀Lwf4CH@zu3I \Z*jNWRŅ l~(e,U_z^G-r]d3p_Fl Ֆ<+h(Hsu^h0\̭Pv{o0,B$Ce.p!a vA3 )⥃âvHab&@{Shv7 {(APG*(Pu!9'-VrwS%*mG-JNBjĨNJ1jŨ^1jƨnUVRT0:@460Cds8l? ˆh}0^8enܨ`3m, .r1brA$Jwg5n&*⾿"ݷW$XT6xeSʪ 2 $!5nk *"]n:?b[j BXq6^Ѯl&_x $_,d4qQH-秪lHv|~î>d*B I*:d svӥJLܺ!RH}`0Wxtf(^]mxr<{եڸHؕ)?̉5_%=sյ(&dY7[Y1u} ܾZX-)+cz"Jj+T2d'NJaV=ٔ3QU˓uHЭRI{g4Uti nG[u+T/oŰm ;n`Ҭ֪l`%dR뵤NL}LR`?W .aL*(8@MA)LѴu_ Hޥ`НIVi)y19ΐ|Fїg_ ;vw`pŤ+ծhҗ"ѝvg:v#g_C(v]&&vn ('RI>Pz6,a('pxL clW/G ;_7h2:]Ŵkbx K0T(?/eB/|_b91^~@_uB7%7:F(2st7fX6Ӳͼdf31̼י}W}_kf_mf_ݗxǏ'x{!xsyeýTl@vnJ5W.eSG1t#}d2"挩CĽLhPbU3=*KwI::_:`6ǽ/c.޴Z`RpTWM7.nAAaB!#PB&{0R%vL̚X91zدaܽ|wgw|wGgwӝ}w7cw4vWcw6vw[}ӎK|K>$dSCSŎZe֒`@a~h= ڵEEy$Q^ ,x`޸nX{{Fv;Lj߉.~ce4&3GѽfXPl&r掐۱P}ؒce˜.Yb1w #kP USFhJ8U}*N"U۽) |!mdGeF6n.So6#3\~uF[Zd[WCKkc˶}eG({+3bЫ3sW暬`GzߪIa=2tp2drȪ OVxBH}<*y٣:E1# ;ϝ>YZө+GXv#`QNwָc2lS2 F}pxA&ٓ‘`392J 8ixrRCLЃ׭sY$E6MIp_AT5o٨Njg0}"F2f(`}B)M  $bkG4 n^nlN@Z{N{Y Bfe.sʆ񪫯j+ j<\KQ;lW; 3lE$@2 }"{P5 ՐSʪzp\+&+6t~:"`ibȊ- #l<& N .Yr' (kUo.hNHI `hcwlضE=sygMl:`4A 6m<8C);C50q`e0T 3,8tK8)s_ZR P$hЭz` -VH VXn_/6[S~m( S1o*u^Bl`.G͢. >8opnzmʗ&kFF()ʸAT mG.7쎳n<⳺A7D^E Gӹ YX]ƬMoU*L p}TL)~9Έޗ !$̘e› &zC &n>9pik9l+̓TLEN$R@^SNKaenZԆ޵ٖqJ^6W_1iBfw+LȂlZU53~!Z ^jbŶ1͂ͤYّ웝bLn﬎2d~>NZDpf^ܭZ\J>G>X"ZRt3mlknw߁6K`3 &i19Pdٍ-t-nR7^h PdTpEQ8ϒY'~-h@;dH#3#`@ B$$蒀M=  S C)L@(-t(mKt>Q`MQPrEYG~r` @ 3 n橿f@BBjhLI5VpӚ RviTMuP@p5Z@Zd3ӎV3}|V(Nm(wV52W+@)%3[,EJqe1{Η"F-2%>L\x`2\SF$wYM( 2c8! ?aAǁf!*h̦B*̮NR:G 7!{Pٿ7 a0,l LȢ[C䰝@d#Z-H临5UY*.QOH ׽l! jH .jPuglTTǞHKZNO+]pCD*hȮ&ԃR[a~& Hf8rZa/H]dS/0[\YJ I r$m2P[zg쓻RZMV&gI=FbB`%H2tB .ʜ C`D0Pz5& buAqt^d\R`qZoqTiLj'( վnLƲIs OȁURM:Av\%RPrݱƇD Y{B";ʥ-t !6_BXF|GC M8.w"d\N+ ,K"c2kB١4 Zd =D.d| Jbx];FH2 63ϟHv¶*0~^xx:WH\,j>+0~;Tz+cg*rjowY&]yפxg;Z;zh#M~Ť f< gW df #Ċ+@mi41Zux"9ݡ@c5;S p77%<$Jfv )ɎJNI9v(RuK1·`$N=2@iK,dFHTHISNM@dH@J-e9>˭"*‹(B(pi\!z!iۆ}qS'υc.ׁLlh&qT=HoCo(5Ξ8pJC {(%9)b)bɷhs55ìUɊOH=y0V0N Xl)湖1RrpyteAg%>YkuVos37<.r;qks(Bt&/j(ЭUC=-ty\G{#b FhOD:e]DM?I4Yٕx?9XPsK8V h HWa,<[b4;bKO0&!BY2a*];2ʕ.$d>ŋ$k‘(G|>civwSܿOc1мHM&l7Ȟ}TL"= pAj))b]%o18'6L߻o\&|cfo<?nihzH#oIwd͒NJIg%z]/6DqB J8y8yߚs(n~:=g֗-' e!q Z'`y5+VӇ.\RSEl|g`+}ZIUnBjRI̖[ Ғ4uoRs^ anh(ȣU:%͗ZZ0͢!d?U6&Y @Vuˢ*htF '@u{I\Ğk;l>J[,9n.}{F46%4;h0Ө]$VL?9 zo⦭N1soiw5JVax,ӽ&}`qy3GLd&3yMX2ܿU_a݄2qfOp'̜ oJ֋[cTw%/1!;+Q%̴mNg'N\ `Py *py^Q,`𤻲I{%CBO^PXXKaofLH%w׋/cJ7] m9LD}zx&~iBO -mT a9.mҷ āCXD 4v1mpBMvLc!,NrBim4چ&eh~X["? f d68 Ɂ b3f\:nT@;M(dڃC֫U{$ݒ4OKuiwY4qlf5o6sz&p/NݫT9elQ.E(em=d b;mJ'$HZP4KߢV3TG豐$PYdBCқ =H3!y)Q%DUyS{|[bvS C$QEL |KUqfU9lj_m}eUmE~xwnI97adMdg3nDޏ`.7%^KřkjǑG: iiG,Gq=YCxwR9Wހм~lj!]1A6Ͽ(nu&}}uhGM)ioxwdw|hԭTڷzQ1^Z왲}!C72뀞wo?oo?y<~no/|Z=>>n:$p?}scO?Oo|?j&O@|#PƷfuPzlGfa=;lO??9؞,r~?|x??qo3='۟8=_~ڞ;|Z'G?oo`Q?={'~ߍB%OR5>S@'xQWsc~a<~n?Ʒ>i|G;{_GDhZT{ly@z. 0IQM*lvSWQO7~ʒ{0)pd{{3L=>:O7)9Iv> _|_tNSd{ ?z;5}l?E2u|$'= I'Z~j?%%=oj?v| ~i$ P;u$? ˿VIF1]?Igo?=%^S<=ǿI5 0NCèaԞᶙ<A% uDOw~~Ʃ8c1n|C?<O2~Ƚ*yoOOG~j?~Z{'xfk=|ƮG=w 0>a|>:/a>P#%xu>-|S1;{:wwATZAM٨q4y>EkkÔę ]BԽfuZ" !߉Խ3c.b>:\!&'F3hsk#2:h C,[r&DAe ۾"[۷!L,-#*I;'B}aÑ VO/ 0!_Rh'^! &2iL_eq~9_?~pWo??|?R*_Bwssa|/]Yܐ4}˿߾3od?3ro_RFV.J0[h^5ͨ:P~I"Q5a_+tG|/_Y˲āLecZXe|+5*^X-.+xBS/O(9]vY i$l]ʭ#T㱃ke鿖fNȪ{M1ox}kV7Y9//j NV^+ BB)ͯW|O-vʅ%?8՟Yz+Xmz^O1?qdUz#gv- eǫn%,u^¥LZs?h^K1V,0'Ư?~Jmp- a7>,[3 n!OPR:gK2wL^I%ꕦJlJCB @q&V[jut|hC?c&ITF21AKV+5WF;JZIߏ*t&3,f,߅F [l1>p Ic-Z[赒w}-Z \R 빝_=QON#% ]uJ\Q!GFxAZl綰9aQ>,zZuX4bJ5/hQIZ ?GsB8MS\$ʣ{ Z8_Ju͘d/B_!]hX6!1iTd&IC<󲤉6/֮xh=WB`ɖIeu#_yY$Gt+Wmrn|E iiʂ\nV8)ABVS/*N'[:W! 'Vjk.J7(5eIKNP =>7y=VLH֐T |hd a!Z5Ǎe~zİj(4.[WNǻr#+;t9.ʔ/E%e1جUd\4AB.9RN[!D D ! # ڞ? ]@S!!Q]U5 Bi2v#ks27 r]V#K\IFݼfB ghz3 21/b<#?YӖ6gOCȐ/Gɹѫ,HVxȬ2o#2su|&hZMJՒ%({ңϿ' b"!y}{}x>t^B=zo!_E#%=ցVXCZm5e ur˂|rVbذ6N7Z*VdMD[jvH%"LE-iNՒ>.cv*R[Jzq'Ga~XJ%mR?"'"; [b5`bgoM+Rj„J{6–eGȸVn>MiX4 SKͻK Gpl]Stwހ|C7(߰ <7_TVuE=4Cm{}ml#0.q RG$o jp =2PV=@DPꙥ ?S6տC=dKV?Y=%[O>G.7S򃃨NO~馣mK@#] ֿuX lU:/Fͮ^ru 7d~mKz l\GZcMf۹ᑬazl-.G[o®.QYb/TGޮfwTan Aa=]]vKkܮa5kM OrAkՓ"Az+/-%/>oCP9^p9ʾ;!m0iv8u+8[g+i9A9n=Ά=gM"RK%YiO"bꚉE%QK>4/"ȬY`D[&Q_wATzzK]NUuW[MV݋ jU:RzI]5Y0aĦ2z%*a]KC5K!YeϓധQHygYzM A)t"j,Xb #3+`;shJmK,R %MoYK^ֲ!InxCTSON!)d0mThB=9΀ŷL Lro,i\r;azxX4M(5a;M7[Y>E֫ݶE/ՌljlqI~x| 7,|*&x+"5ZxY/ 'ܶjnVeSm 3Û]V"'w/_Vp[*g% :_͋˗k l$TI%nWd}ׂ,ޖ̗fW|=-ct݅ׄ^%+re۔˷ߴc1xl#vXu]fVvLGŮbLbX~~9Lзe^wG+s͒۹!-}na%$3 (v9$sPāCj$҄UTTIGy:vBN^Jh{r =C 8\h9ɊҊe7CjFJ*`)NXZ ծ\ղ~I9>i&4spdZxFnNAa8k -|" HsNB+>'0?HQumy!qM"vMgUΣ=;CjRUuU \RYo/ٙ-a[oIԧȮWX:r*»*;Ya `dRVT-&䷦H e; $5$DB^bu\M( kYvVB)f+q/圬luVVoll~ol?g:>{vgxvgzvg|v'~v''OH>|so 9y?pʵUo-v'Z OTk%=^8ձ-m}m=ڵJPDZʖ_+/5!2]ײ2kgBeeF2I\)[ya෰88C|8C(C$Q=雸g.Ϸ|-÷Rg!p,l! 9 3lΈΌΐ,ΔlΘpл K -<;YвSq ݩ O2Q,/(<]?vS) %g /|?72x%㙌w2p ^Q+lG(h;25ey|akޚaE#ə R[ZܧlԀɟfTbh]EZBc !t͑ tWoK+lGU1Bv]x &[pe^v%`vnZQ1@ٷ!ge w/«/4 29j:O@R Drt1PC.UJҌyk]{-_w{wIf )]B1=zTuwԪZj h"S]ͬ棕RzC4(0V/"JBiK#>>?]֡)uY7vA;Df _W`1h3VWV@k)Yu ma+D+ZV$=rcuiBzx%tB 5[^j_*2&wFu>(=! ާEow(j`2¨A&КX\hm苡1Zc荡9coqC|B_!ϋpuݛda(Dm.E7z^x! 2xA0A .la t͘ݐMݘw7gvfZ9D XbESDE8NEUboiV>ش#JsHyz fv 0aB)1ׯ<\W؅\v{]{HpC^hCF|rh)&nWێv_>gUkˉP$b͔cEΙ*m{HWd<(C{p8@/22pf#QO4Wa%DE̘g;$?V9t7?nw}-Cp]ӏ !Av+ uvtoC7;G [q}!ɽ$C6b)`GOԑQIF-wTQOFE5QU,@tJ0-boQ1=<1=ДQ9PY9Еa)Pp=݀M݈xwCf7Ӎݜw7Mzw>ݬ77!^&o^%)ydzH,f/Әv\;oINRT{OORg6Mmd8(V VӊVhE[LoMfIT{ vt'D۾6S-w$.L䒻H}Rr-NiT,dϒlk k.ٰs쏀!v5MG)g>Зg*e>%<ˉ/)b/+b/-b//HƩu}6p9:{Ee?dKջ_Ͷp z'Í8JTjj A3C''_dPCj<+0?(зnf _Y8Rs.ș%$2hNdBxPT + %4ۭ@njͼ"*Iç8ï8<÷o~އ78{7#)97 -pxy#{3de°Kº >nN[ 9:ŽIo~g}g8x-ހxyFxX=]ֆY[fmmY[gm>zJkk"88%8-.(v P0l`;9v-a.w͟]:"\J&3.vfjws!=N$KK2,Ba=[$ە68机pr̀uGPz ;q{?DV.g%>~n~k݃",ÅtB;TrR&A3g!|(O{^_Nݧ7;Nkw7pi<|rOVk}j!Vy n8 b#DRFs'{&+ 's;sg ͹94瞦Ԝm͹976g=77> 8+|!Po|' 5,YM!=|!̓7J+mԱJ!+TJ陝p^ 2˒,2EŇzg8PˬbrϸLყX"59 .6,HnKW q- 7pDWpFwpHpJpL p#ܓA 7O J!LB?jk&R.uw|nd(j4WsfSM $wMx- ([+nlj԰_h~&$|٤L&g6I0i{7ܿ<Vqr:ĕk1WcAETaOwYDF`'tJ؝Nwݝ} O:|kY/>c>q>5 ;CRLVuʮl{ʾ,"[ij\cvh]ؕtu`WU])p W2=0si'NDŽq#qbw&> s+1f>|'5S#e5ZxY#>5]>p]=*s]; XS>ycHTߟ=l" hP@rn=hj=ψau{ uSƁOL鱍LƱJ-'9ң13v8r[7gyQ4&ss=֖{kK=v!I?G8vSK@cؾyQs.'x1[-ǜ>}-JG>XǯG WLbڞ,R[A=dqJ8~-Eb]=[Ǭs-_x+.#Ozd$@~=I:zw6grշ#撜'r TFVd|=$%=$~q78Gz [iT\{<˖q{ƣz~x-A+g71S+ZV_,P{#xrAR8e/q\q8񌃏=KO})x)?_H/G:#K܌'O})x_ 8z#=otp8n#{ gȞpP8qq#89?8y[>3fxoYG85Ьrgtz<أ'vA=8q㜏ڂ"*O}.ǩss>881oܸ?C7V@~ƱrD7H"єlyF7lj<c֏oy0=t{\H={S>-,QF>H{,2?|PGIz('oyo9rgz_0O-=N x1S{<ȖAg#=zh[-i3qx-86QnGq_eǓ@x |=bVT2~|g=Fgr衙}x ǃ`@=Cy@ո[~)riQ|I:[z{SwxX/[{[zēeg٧<|-|Z(jx"mHO8hFx$KM7meCH՟_ј ~00?|̙{O.N5`CS_y__WNZ7" 2jJ!/_~Odl+8fI] _^_7篨_%k/WsF:#eIU+H3*}5-UU9[ ˅'Č% w?m 5 DzYS]Wq_…H.dY>Y7erCMv"KV%4v0:"avdkB,2Nx|KhlVޗ a #ы+ͭiސ(7(`0 閻Usd>ư[7 &wzM[ڒ -DH^լ[QevTTY2!+eT>O~T$kؿn,r~$HqSNed;R'YiKtaEJBJQ/BJBl5%DF*[5ْ%K*V2ˡ]i<B8RH[/,ϪbK%!KbV)vB$-T)^h2E^h׌&@IK5L1S@D=JC8dPBI&%+U.$enKcyʉL3O7i̇WFbuDRAGbbN%,V[2Z q?u#r*&M%+]=v>*wYJC@-В4G(IH|$OIίhsrʷSKΑ߇U,=,q%bmnʗɥ KȚ&*+'OvdS"UW~/MZGvI C5ڬ.R\/KXz8iWbeL31r ] #${M,=s.gAe< ?D[\'6͔?,_da"R&_V:F赴kJ:C@r!gn E }y"PE?K+V\Bk ʞX {f9'iT*Tx^8-Inh|}oW^R -G>?sAYܰWv5E]q 7z 7T]Ks)L( l# TlW3+J5BhYn@ Rk5^AB(L<(D\o X}vjoz>zI'ms!_Fh,Ovp,SP]tQUaHQ/* 'T}+9{GrMw 4)`"v~5r m{JqRC`dkG.Y ajWxd;BXSc5-"~?в&@ֽ.;Y]+v}vx;-'Yf\ƣC̐UV)V{*-+ 8Q[0F^Sj8̻;`c;PkuIh^  –~¤Ԝls:s:"u"Tďk :J]B2k $"BKMwJ1ڊ't ~DT hl 1 kbxV&z#땤SBj[t%zi.]5{"pW:za]OlO:j,pL2P(}82$lD|_8qyW@ ։z#ՙzC)ZZRkKkLYᵎjSg3[f)'n)'n)'Jn29Q_V[}x[Jߚ7vf*}0h6s8e<ͷnEwo* /ǏQ5rHIȉ7wé[lw/Fk TV:qB<ΨKbD僂eD-d|]Tom( anVKH9 Ϋ~0 IdhbCabCV٪h VPzU82đJGF)5yYdwZfCm|IQjVIϝ/2vp-RP)ԃy~C;fCg),a:ǪW{RbV4ܑa d"+:[wH ڊ7T"p(mG S2 uh-P/M8rE my?M twӱ1`E3[hHaWaU[m+!nC !0Q^oތ dz -ȨA&2d7 1f(^uq[uxÝ PxXi!3N(/&B&E2oyn{`*g`0S`ڨrGv-M?fbTG{c.RY@ #77qǡ f n¿Ɋtؘ)^-|]fdScMA`]~aX>bIz;ߪx -[dWEco#GԂ,7joլ]o[wzÛVB=+$v{_>:*Pȫ uqFXqx9CHbMZ_ ) V.I^ݶ0 sf-'мrUFUeU_O ˳UL.?Bhö\݃ ,Cev;x"noueG Ai&1b.V__h=Y-70$Tۍm8`.gi,PG; vn:d-td5ֿP3Bu;P9FcԏQAF UdԑQ5J*ņ8 ?sЈv|AA/ Dmx|*8uP8 sȃ2ezڦ@jwXW]P6ZR"Ko td5s .%QQ+&݀cP࿨+h7r dED#,WFXDrY.b4'ptAUh|dl:m$+9CVE#c<: ѿ/CG!\ jK;hp`'4ۉV.2XH^m}ҀIх [lh1 ?`4HƝ4iu CH¦OC7jDw)j8Ϡ9dԭ&NgW|?G8a"j%[*-bjg:Wl3V5NiIXHK wZr^5J4R#κrE<`hU>Fpe' tj_É _wt2Tu?:P2bbp̠ `4ޮV:zְYg 4x`׎\>K>"  Hq Zq) ]{?HQqy!RqM͘r٭Pgo"~V_q_~[Z0n$kt~ {3ćC8DC8ĈC8DB(雸K3g.Ϸt-sB|K!RpH4p; 3!;3";+3#9;3,ΔlΘ9 MW & \] @PREY4BK/Ź>UJ&'xW2x' '1z ޡrFEMFJÚܽ5zwF'3!r!ObkNH91B=jN !t'y# 3ߖV:#FwyǧK{80;-PdCx dt/˾K (.gP܏L#PDMv$2gjS=!]_٥Brwb Tbag#;[zu[z 8]ŢZ|iOrH*D@ ~K$ӧAXHc]֑ /g25o5^k<τf_< `=Yc>/\%%lHo,y]G#HG!rOohS/^]%džFzd@SsP0{ hs'C9{\ʮrs m$kML{Rdwe~Gط$vv#[›kz.r9KJN| Y a|Sp.AQ)}:N5=?@_Z#hН@{ V&׃0'N߻twn 7:u=({7'|$xAuo$4`B &TpAB I0ÄҌIC&M4Js& @ -zD.]0uѪ GO]@w;# vq73 $mas3j."#(W>J)cO)|pqR^KA{cwaiHd)@$:nAӷ7lDJМ:Aw+OПIR\%uYw<DsYԔʒԴ%ӚL{JZiӚVeڕizܽ/CTMR9I*(jGvZo7/6[7$Kk_6jͺIzc:]_o{ 7_c~j4hF#D蹱^4AhQd]ۻK;!Kuzk~QM~=m닺:~Gzs2һKҍ=]: 7ed-юTʖ}$*^i]pg__][eY_#CqFϙG޽Zl,H{3صG"s}$nI؇SG'5?ծ$gu9 Y.Qt8 '25:M< 7;!%ܖz1CK#zHr6V? y]1_7;0,Sga rȜ$'A\d7k$-V3+Eh_rE"i@\LU2T'ANI d%KVA\ D 3;c@( Ԣ:-hE,%ދQ2eJJXr%/,9bO~Xt:0%];>]3@*A. ̢QJbwUJǚqšH~w9@䳗~ݙl~+lf${o9?q7qvΊ/">E[">FL5o>ylo1r?"7'{z|-o[>F$ f\%Mx'} \x/O9e| ѮG sEiKw^2R{c%ix #ڼ=Fވx@ 'o[K0/I* X##[dt,:r W!z~s31~ /+B6%ر~w|- hs;t}uOQs sE1Y{YaY fhM.hգ#:EkΦ58/h3vs/Q\92sFr8[sGD^-ֈ3ynF_Ygߒ~<*b1-8G6}O)ŗ5$&zP) D'ADB=2.mMRx!#ֻp~s:x93="h60~#!Vh迏 XTa*m!ہ7wDˁ Bx}g$qVT zQ% Yeӌk^yzzS;rюԼ'98=͔Ԝ3) BuLGhiL#=c=ѣ= %I$|(Z\qAv6{r,9{&h$<,EcJOt(ӥx}2zxr_&^b3x D2R$SlE2շUߗ7WM=Pk}N;R#NHJDˈF5Z^u+]W˿E+O~w)62~H<i>8ϝ#>=eG%wIa,ۚIYM<ûMP/&YK<Y u#AzwƿЕ3b匦X97cl$<>j:f}SŚDYku{Ⱥ %t]DYH4;i"s*2ev(. 1y%t af;us*?3rm/>ۑ} ]9J] fStStStكA) 3؃({"k++'_ ~v:G| loyK$A$)%S*avXjJ+Z1X!% 9ZBEm̯(ҿ/u[H}P|"SB|~ojFS؇f _uJ}h>hrwoO>~~MHjAP( PJ8C}=衘B P8cX`x=/r7 =ĂDTgهH}>OC5ˇіW jMeu,\}yD+Քfhg.cG{HT(+l'ΘHȌQb36M>%t -EBvKJni<{̘YW WV )"a"a"aF1ańUńUSYw1a ES 55=\\YG;G[`I|X[F3ZT,ǵ{,^Ommk^ mŷw ߖ{cj*:r,ǸFq.H\57Osp/|_(A/i7!ayHx|A(h^PKvcYW3&,OK6kKb2?Z ?eW>ur+ +ɫpH]AX_ycqX_!yU!y yU{ ݺ(W%WWN>3ޞcKA~c4keAaPS>DM꡸%$T=>̌aEBV_ƢH/c+(+ rU­>§( .Cׅ:TgSSS d#M)!V RS!%qqMSQ3 D̎ .{]J eB°KxlYȬì:hM^ *Xz}hASNe}P((H0Oa> &E =(Q̘fGAt]j>3&V(J!!E,Y",cK65#aFX>o۵Q"`$>2/ `V AXX>-,Fk02ZXC9Z kk0"ȕjj X9/FS/c:ۂ a*-ؖjJl*E Ŷ8~X~A _PˌC+C+]9"WPȕFnmaf,DOCSByt)Sd/z fv>(ab1HXH=~z92gNЎy a++ꡱ$L,F=4S4h5ҢiqiQTS|oͺ,$L`E a"ꡜB f69Q4%4)Q4$L]%\{(h 8O83q6Q4%4|H!%0g$9HcK6k)/][zeCDUWr{J**JJ:Wűh%W\)bƂhZydNP9c﫦x3WMSSumFdި J8[uJCغjJ[uJ(re[j1d>E-OQl󡖬%rkKKVMiT-YW+W-γKA)aTQBUCRxKQBR)PPfѴڇꡌ*u0̬`sLw{t85Erj aY7w ϺuSX7Ud|ǦYzyPBy99·y =Td"09$ z EDשCuCP'D')XIs:TP'JhQFgW!a0i ꡨ5PLPYB;2ڊ"o.s߮>% & ][y"|n a0iHLq8ēɪ)d!!z(L G8ʌ&L7\ŐϡDeWͮ ])6Rr')jˮT=\vHJٕ:]cqN8͝ԱH%@M]J۠V34[K.H W]5uUW]pUUp Bf5tjX&= EBX3#j?Xf'%l΢H؜E}YԧE9rjT ոKFjpըuYYTM]΢H(*%.AW,ی^} y J8 0))$ ~ʧ(~ʧ(~J p&W(ªc!ªN&@= 1W eN e,v]ݧtw _oZ$li7޴jM7-Opc!JM]jCS>zpu~\-~wVpʉKZ"akESt]DY k)2uzy1JQB1icC( %,HX.mHG a08%Axb06H觥?o+o]1*@„0>A .h>`zh0 mQB-5tieYJ@, $ NCMuY0Cz貨\H7&QWOی >8@¶p+m]Y$l"h0 5UFǢ/X|c! p,bȢ9P *Lc!LçLL!bE1@V_ [}Y$leCT/jeT*j*$p,jc!:±(:±GVMi<&RQ5»꟠"a"aEBcw UMui)ᠱ:ձ8h_u,T:*Ҷ{ jW%T )nBE:BETVhZRy4,H`Yb] )/Tq<VfQ$ oJx̢>a?jo=|0<4ѯχx踃Cwh8L݀X}^Hr"a˩WP+PXBBZ|^ຕ?_hH/4$A|ëCB2Zs*Z7 +ϣmx1Nykl'鋂+]J-Ru=_^{I^5zWڷd0B Fz>g?>3[E4mşΞp> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 122 0 obj << /Length 2015 /Filter /FlateDecode >> stream xڍ]4}EHKvėX7q[kӤ8 {3i/'Ъx<̌sF4M:HTi=$E],@$#^;72۪I]bH%P\VIc=zk3X2?Ʃ;NoLGYo4nd3ͦob1||2 t18?Eb):If  *:hgtG';HpEӁUkY%qvib.hfB@D'<:qJDRFi[0 ^+As;iN4aتaވ7h³ g0@j&kQݸI>f0V1p 8A"CXx>R{lOMHe z;qSS][p:&=FO/0āk,t3=~L2:i7(MTp48Ⱦ in{C]PƃE-÷ 6kI4mNVw.1-4v#Oo4xѰw/fzܷ zأt->iX]!M'3y9i~m`Vzp [ӕDy:-9$4+rC ?-D-J(ѵW8cY`h.6^2d&d-/@MH _SR%7 K !OTx2/ȶ JQKNS '*(6G kXYR6McHU/%鹓 mGcn"iV'*nv6t(EU҂I?Nnnq :0.c\9&%ŋ4EeDmG ;>طE(h!Hר~tfX3atfVŋ%حM2.%i]c'FKe]p9xTf= =Kt`Xm\uY8{;MbR'GWTjπwDUyd:`?by YsDl|n:AF/'LܵT yWQ E T$yBؕHY\MK]fk! ?~uF9L=ћkbW"}ũD,{JN?J8u]=&hӳ T:N/fW}I` ȳlSxK)n8j pf]x](;cq%.pűx+/&apYk\C$1:1H,]'<> fQ endstream endobj 105 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/Rtmp13a5aE/Rbuild47f7353d5903/spdep/vignettes/Fig-bitmap-5.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 126 0 R /BBox [0 0 468 252] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 127 0 R>> /ExtGState << >>/ColorSpace << /sRGB 128 0 R >>>> /Length 38487 /Filter /FlateDecode >> stream xˮ%q%g&Ḿ\x ui %d瓯,Pr~~D!ˏAUI1i1Z%GQOI1'#{ۜ=:GWǣdꥳ!#F4'ggOʟeLl-?|oo?.}TsUuVb/?&/= dJrY(u|R2Uȹ6ҹ\?R~Ą?zVR<]9/s0,RZ'GIM2%IY=,ȘӜ6fs1ɠnC#ڳUuchehO9ns/uݚE.;ڋIcY葌3; Ǐ:;OP &LȎqc:^Yl,BfHJ'8? kx@н,O12Uz>O~h7g'ߟ'?XZ=bY3}%YlO5@ |^ڮM'fh9ЮF#IN$c16=n?t"5iG^ҞmejIߏcm:'BnY7l 3>IymE]=v>Χ|_4:|IǬ 9+mS/pް=ƜQd>BǏjLXw5P_#ˆ<[[SڒT(YLzʎddRUR ;=mJfRԝ$,)FþOS(}N;2r2*Loг'T~K9Ǥqmtjm.*hy5{üO\s[,StM*P uK}^%%_mϙ/3Agׁ&.7l&Ϭ*5>]zdk;W`VzkW{EWE9Һ_dkU.y`K_4I=sRUȢCwͥa"\D9sɉKo rʓCŠT16DžET&g(7oNوw [g%字K E q qRE{dsFPsNJɱ Ut:\|( QG%iard2 )0|?Jh-d8Ypd4]&={s/P" ;bsCd ^oykt s%8q|R-kN;L$$GeB=rr\1}Tu>뀄,dSeaSn48nv~履95Vqmi5_#Prb”yU'CY&Rf{_ ^}M"k\zkx[F_* Ɉq ''d"LRI|Jwyi-rEa,.;IȤh'?.tVozl-з|gI 8.KȿN{"6t@-7+ᤣ&dT k}NtUUiJX|Z[gXɏFFY_ν8_֬PDGx\e_$tq;ݵltTW՝ު~̈́zldUEĦL\.' %Zѓ WD-ߧ(E؄rnB+QdFJ+qJ +D&B1Zor'C"|/S#JWjO1ݿ/:?X)m^LZsW%wWl\TR"^7݁l B[i9{|⼣WW: cڭWUS6ˆL]NX]v!~56D"=uLhg8-;X`f;T `}rZ-6,|N}O` 2'j`~" ,Ro;:q (r c7NaKhv' jjdvnUMQRnD:< V+2$$_8RR䆻T=)iMGMWF$Ɇ˥}@WŽDX!ˬYQ` d@NC\mTF " ˓+;bO0P7IYf2]䢳>p r_m! %`& JUCTlBavcMxL( !ԛCs(G~TJ`ғKW,}Qa䰹UH? > 9 9LO˷' oxʥ*H] ȣIr. J4wen q)t!d6cX&0])$ $$; ;YŶVDf_7W6g>?-ͩY!M;}&S2) v1*=sQ[mɄ'uDJ:BVeTU*{R$6i0eLVS^1.I q14t9䴦2jaa$ ȔfR&Y[2Ydd}- |J6m*)l/ h'Z& lH } ';~*prbB6;< '΁Wm: &n2^;"hي1ʶ p;Jx"̈́)e6~vvل>~:]$@.l(‚YLPRwhmp#J*gY%H(!`?307>j6]  OWCPsZ0Nj΀Lwf4CH@zu3I \Z*jNWRŅ l~(e,U_z^G-r]d3p_Fl Ֆ<+h(Hsu^h0\̭Pv{o0,B$Ce.p!a vA3 )⥃âvHab&@{Shv7 {(APG*(Pu!9'-VrwS%*mG-JNBjĨNJ1jŨ^1jƨnUVRT0:@460Cds8l? ˆh}0^8enܨ`3m, .r1brA$Jwg5n&*⾿"ݷW$XT6xeSʪ 2 $!5nk *"]n:?b[j BXq6^Ѯl&_x $_,d4qQH-秪lHv|~î>d*B I*:d svӥJLܺ!RH}`0Wxtf(^]mxr<{եڸHؕ)?̉5_%=sյ(&dY7[Y1u} ܾZX-)+cz"Jj+T2d'NJaV=ٔ3QU˓uHЭRI{g4Uti nG[u+T/oŰm ;n`Ҭ֪l`%dR뵤NL}LR`?W .aL*(8@MA)LѴu_ Hޥ`НIVi)y19ΐ|Fїg_ ;vw`pŤ+ծhҗ"ѝvg:v#g_C(v]&&vn ('RI>Pz6,a('pxL clW/G ;_7h2:]Ŵkbx K0T(?/eB/|_b91^~@_uB7%7:F(2st7fX6Ӳͼdf31̼י}W}_kf_mf_ݗxǏ'x{!xsyeýTl@vnJ5W.eSG1t#}d2"挩CĽLhPbU3=*KwI::_:`6ǽ/c.޴Z`RpTWM7.nAAaB!#PB&{0R%vL̚X91zدaܽ|wgw|wGgwӝ}w7cw4vWcw6vw[}ӎK|K>$dSCSŎZe֒`@a~h= ڵEEy$Q^ ,x`޸nX{{Fv;Lj߉.~ce4&3GѽfXPl&r掐۱P}ؒce˜.Yb1w #kP USFhJ8U}*N"U۽) |!mdGeF6n.So6#3\~uF[Zd[WCKkc˶}eG({+3bЫ3sW暬`GzߪIa=2tp2drȪ OVxBH}<*y٣:E1# ;ϝ>YZө+GXv#`QNwָc2lS2 F}pxA&ٓ‘`392J 8ixrRCLЃ׭sY$E6MIp_AT5o٨Njg0}"F2f(`}B)M  $bkG4 n^nlN@Z{N{Y Bfe.sʆ񪫯j+ j<\KQ;lW; 3lE$@2 }"{P5 ՐSʪzp\+&+6t~:"`ibȊ- #l<& N .Yr' (kUo.hNHI `hcwlضE=sygMl:`4A 6m<8C);C50q`e0T 3,8tK8)s_ZR P$hЭz` -VH VXn_/6[S~m( S1o*u^Bl`.G͢. >8opnzmʗ&kFF()ʸAT mG.7쎳n<⳺A7D^E Gӹ YX]ƬMoU*L p}TL)~9Έޗ !$̘e› &zC &n>9pik9l+̓TLEN$R@^SNKaenZԆ޵ٖqJ^6W_1iBfw+LȂlZU53~!Z ^jbŶ1͂ͤYّ웝bLn﬎2d~>NZDpf^ܭZ\J>G>X"ZRt3mlknw߁6K`3 &i19Pdٍ-t-nR7^h PdTpEQ8ϒY'~-h@;dH#3#`@ B$$蒀M=  S C)L@(-t(mKt>Q`MQPrEYG~r` @ 3 n橿f@BBjhLI5VpӚ RviTMuP@p5Z@Zd3ӎV3}|V(Nm(wV52W+@)%3[,EJqe1{Η"F-2%>L\x`2\SF$wYM( 2c8! ?aAǁf!*h̦B*̮NR:G 7!{Pٿ7 a0,l LȢ[C䰝@d#Z-H临5UY*.QOH ׽l! jH .jPuglTTǞHKZNO+]pCD*hȮ&ԃR[a~& Hf8rZa/H]dS/0[\YJ I r$m2P[zg쓻RZMV&gI=FbB`%H2tB .ʜ C`D0Pz5& buAqt^d\R`qZoqTiLj'( վnLƲIs OȁURM:Av\%RPrݱƇD Y{B";ʥ-t !6_BXF|GC M8.w"d\N+ ,K"c2kB١4 Zd =D.d| Jbx];FH2 63ϟHv¶*0~^xx:WH\,j>+0~;Tz+cg*rjowY&]yפxg;Z;zh#M~Ť f< gW df #Ċ+@mi41Zux"9ݡ@c5;S p77%<$Jfv )ɎJNI9v(RuK1·`$N=2@iK,dFHTHISNM@dH@J-e9>˭"*‹(B(pi\!z!iۆ}qS'υc.ׁLlh&qT=HoCo(5Ξ8pJC {(%9)b)bɷhs55ìUɊOH=y0V0N Xl)湖1RrpyteAg%>YkuVos37<.r;qks(Bt&/j(ЭUC=-ty\G{#b FhOD:e]DM?I4Yٕx?9XPsK8V h HWa,<[b4;bKO0&!BY2a*];2ʕ.$d>ŋ$k‘(G|>civwSܿOc1мHM&l7Ȟ}TL"= pAj))b]%o18'6L߻o\&|cfo<?nihzH#oIwd͒NJIg%z]/6DqB J8y8yߚs(n~:=g֗-' e!q Z'`y5+VӇ.\RSEl|g`+}ZIUnBjRI̖[ Ғ4uoRs^ anh(ȣU:%͗ZZ0͢!d?U6&Y @Vuˢ*htF '@u{I\Ğk;l>J[,9n.}{F46%4;h0Ө]$VL?9 zo⦭N1soiw5JVax,ӽ&}`qy3GLd&3yMX2ܿU_a݄2qfOp'̜ oJ֋[cTw%/1!;+Q%̴mNg'N\ `Py *py^Q,`𤻲I{%CBO^PXXKaofLH%w׋/cJ7] m9LD}zx&~iBO -mT a9.mҷ āCXD 4v1mpBMvLc!,NrBim4چ&eh~X["? f d68 Ɂ b3f\:nT@;M(dڃC֫U{$ݒ4OKuiwY4qlf5o6sz&p/NݫT9elQ.E(em=d b;mJ'$HZP4KߢV3TG豐$PYdBCқ =H3!y)Q%DUyS{|[bvS C$QEL |KUqfU9lj_m}eUmE~xwnI97adMdg3nDޏ`.7%^KřkjǑG: iiG,Gq=YCxwR9Wހм~lj!]1A6Ͽ(nu&}}uhGM)ioxwdw|hԭTڷzQ1^Z왲}!C72뀞wo?oo?y<~no/|Z=>>n:$p?}scO?Oo|?j&O@|#PƷfuPzlGfa=;lO??9؞,r~?|x??qo3='۟8=_~ڞ;|Z'G?oo`Q?={'~ߍB%OR5>S@'xQWsc~a<~n?Ʒ>i|G;{_GDhZT{ly@z. 0IQM*lvSWQO7~ʒ{0)pd{{3L=>:O7)9Iv> _|_tNSd{ ?z;5}l?E2u|$'= I'Z~j?%%=oj?v| ~i$ P;u$? ˿VIF1]?Igo?=%^S<=ǿI5 0NCèaԞᶙ<A% uDOw~~Ʃ8c1n|C?<O2~Ƚ*yoOOG~j?~Z{'xfk=|ƮG=w 0>a|>:/a>P#%xu>-|S1;{:wwATZAM٨q4y>EkkÔę ]BԽfuZ" !߉Խ3c.b>:\!&'F3hsk#2:h C,[r&DAe ۾"[۷!L,-#*I;'B}aÑ VO/ 0!_Rh'^! &2iL_eq~9_?~pWo??|?R*_Bwssa|/]Yܐ4}˿߾3od?3ro_RFV.J0[h^5ͨ:P~I"Q5a_+tG|/_Y˲āLecZXe|+5*^X-.+xBS/O(9]vY i$l]ʭ#T㱃ke鿖fNȪ{M1ox}kV7Y9//j NV^+ BB)ͯW|O-vʅ%?8՟Yz+Xmz^O1?qdUz#gv- eǫn%,u^¥LZs?h^K1V,0'Ư?~Jmp- a7>,[3 n!OPR:gK2wL^I%ꕦJlJCB @q&V[jut|hC?c&ITF21AKV+5WF;JZIߏ*t&3,f,߅F [l1>p Ic-Z[赒w}-Z \R 빝_=QON#% ]uJ\Q!GFxAZl綰9aQ>,zZuX4bJ5/hQIZ ?GsB8MS\$ʣ{ Z8_Ju͘d/B_!]hX6!1iTd&IC<󲤉6/֮xh=WB`ɖIeu#_yY$Gt+Wmrn|E iiʂ\nV8)ABVS/*N'[:W! 'Vjk.J7(5eIKNP =>7y=VLH֐T |hd a!Z5Ǎe~zİj(4.[WNǻr#+;t9.ʔ/E%e1جUd\4AB.9RN[!D D ! # ڞ? ]@S!!Q]U5 Bi2v#ks27 r]V#K\IFݼfB ghz3 21/b<#?YӖ6gOCȐ/Gɹѫ,HVxȬ2o#2su|&hZMJՒ%({ңϿ' b"!y}{}x>t^B=zo!_E#%=ցVXCZm5e ur˂|rVbذ6N7Z*VdMD[jvH%"LE-iNՒ>.cv*R[Jzq'Ga~XJ%mR?"'"; [b5`bgoM+Rj„J{6–eGȸVn>MiX4 SKͻK Gpl]Stwހ|C7(߰ <7_TVuE=4Cm{}ml#0.q RG$o jp =2PV=@DPꙥ ?S6տC=dKV?Y=%[O>G.7S򃃨NO~馣mK@#] ֿuX lU:/Fͮ^ru 7d~mKz l\GZcMf۹ᑬazl-.G[o®.QYb/TGޮfwTan Aa=]]vKkܮa5kM OrAkՓ"Az+/-%/>oCP9^p9ʾ;!m0iv8u+8[g+i9A9n=Ά=gM"RK%YiO"bꚉE%QK>4/"ȬY`D[&Q_wATzzK]NUuW[MV݋ jU:RzI]5Y0aĦ2z%*a]KC5K!YeϓധQHygYzM A)t"j,Xb #3+`;shJmK,R %MoYK^ֲ!InxCTSON!)d0mThB=9΀ŷL Lro,i\r;azxX4M(5a;M7[Y>E֫ݶE/ՌljlqI~x| 7,|*&x+"5ZxY/ 'ܶjnVeSm 3Û]V"'w/_Vp[*g% :_͋˗k l$TI%nWd}ׂ,ޖ̗fW|=-ct݅ׄ^%+re۔˷ߴc1xl#vXu]fVvLGŮbLbX~~9Lзe^wG+s͒۹!-}na%$3 (v9$sPāCj$҄UTTIGy:vBN^Jh{r =C 8\h9ɊҊe7CjFJ*`)NXZ ծ\ղ~I9>i&4spdZxFnNAa8k -|" HsNB+>'0?HQumy!qM"vMgUΣ=;CjRUuU \RYo/ٙ-a[oIԧȮWX:r*»*;Ya `dRVT-&䷦H e; $5$DB^bu\M( kYvVB)f+q/圬luVVoll~ol?g:>{vgxvgzvg|v'~v''OH>|so 9y?pʵUo-v'Z OTk%=^8ձ-m}m=ڵJPDZʖ_+/5!2]ײ2kgBeeF2I\)[ya෰88C|8C(C$Q=雸g.Ϸ|-÷Rg!p,l! 9 3lΈΌΐ,ΔlΘpл K -<;YвSq ݩ O2Q,/(<]?vS) %g /|?72x%㙌w2p ^Q+lG(h;25ey|akޚaE#ə R[ZܧlԀɟfTbh]EZBc !t͑ tWoK+lGU1Bv]x &[pe^v%`vnZQ1@ٷ!ge w/«/4 29j:O@R Drt1PC.UJҌyk]{-_w{wIf )]B1=zTuwԪZj h"S]ͬ棕RzC4(0V/"JBiK#>>?]֡)uY7vA;Df _W`1h3VWV@k)Yu ma+D+ZV$=rcuiBzx%tB 5[^j_*2&wFu>(=! ާEow(j`2¨A&КX\hm苡1Zc荡9coqC|B_!ϋpuݛda(Dm.E7z^x! 2xA0A .la t͘ݐMݘw7gvfZ9D XbESDE8NEUboiV>ش#JsHyz fv 0aB)1ׯ<\W؅\v{]{HpC^hCF|rh)&nWێv_>gUkˉP$b͔cEΙ*m{HWd<(C{p8@/22pf#QO4Wa%DE̘g;$?V9t7?nw}-Cp]ӏ !Av+ uvtoC7;G [q}!ɽ$C6b)`GOԑQIF-wTQOFE5QU,@tJ0-boQ1=<1=ДQ9PY9Еa)Pp=݀M݈xwCf7Ӎݜw7Mzw>ݬ77!^&o^%)ydzH,f/Әv\;oINRT{OORg6Mmd8(V VӊVhE[LoMfIT{ vt'D۾6S-w$.L䒻H}Rr-NiT,dϒlk k.ٰs쏀!v5MG)g>Зg*e>%<ˉ/)b/+b/-b//HƩu}6p9:{Ee?dKջ_Ͷp z'Í8JTjj A3C''_dPCj<+0?(зnf _Y8Rs.ș%$2hNdBxPT + %4ۭ@njͼ"*Iç8ï8<÷o~އ78{7#)97 -pxy#{3de°Kº >nN[ 9:ŽIo~g}g8x-ހxyFxX=]ֆY[fmmY[gm>zJkk"88%8-.(v P0l`;9v-a.w͟]:"\J&3.vfjws!=N$KK2,Ba=[$ە68机pr̀uGPz ;q{?DV.g%>~n~k݃",ÅtB;TrR&A3g!|(O{^_Nݧ7;Nkw7pi<|rOVk}j!Vy n8 b#DRFs'{&+ 's;sg ͹94瞦Ԝm͹976g=77> 8+|!Po|' 5,YM!=|!̓7J+mԱJ!+TJ陝p^ 2˒,2EŇzg8PˬbrϸLყX"59 .6,HnKW q- 7pDWpFwpHpJpL p#ܓA 7O J!LB?jk&R.uw|nd(j4WsfSM $wMx- ([+nlj԰_h~&$|٤L&g6I0i{7ܿ<Vqr:ĕk1WcAETaOwYDF`'tJ؝Nwݝ} O:|kY/>c>q>5 ;CRLVuʮl{ʾ,"[ij\cvh]ؕtu`WU])p W2=0si'NDŽq#qbw&> s+1f>|'5S#e5ZxY#>5]>p]=*s]; XS>ycHTߟ=l" hP@rn=hj=ψau{ uSƁOL鱍LƱJ-'9ң13v8r[7gyQ4&ss=֖{kK=v!I?G8vSK@cؾyQs.'x1[-ǜ>}-JG>XǯG WLbڞ,R[A=dqJ8~-Eb]=[Ǭs-_x+.#Ozd$@~=I:zw6grշ#撜'r TFVd|=$%=$~q78Gz [iT\{<˖q{ƣz~x-A+g71S+ZV_,P{#xrAR8e/q\q8񌃏=KO})x)?_H/G:#K܌'O})x_ 8z#=otp8n#{ gȞpP8qq#89?8y[>3fxoYG85Ьrgtz<أ'vA=8q㜏ڂ"*O}.ǩss>881oܸ?C7V@~ƱrD7H"єlyF7lj<c֏oy0=t{\H={S>-,QF>H{,2?|PGIz('oyo9rgz_0O-=N x1S{<ȖAg#=zh[-i3qx-86QnGq_eǓ@x |=bVT2~|g=Fgr衙}x ǃ`@=Cy@ո[~)riQ|I:[z{SwxX/[{[zēeg٧<|-|Z(jx"mHO8hFx$KM7meCH՟_ј ~00?|̙{O.N5`CS_y__WNZ7" 2jJ!/_~Odl+8fI] _^_7篨_%k/WsF:#eIU+H3*}5-UU9[ ˅'Č% w?m 5 DzYS]Wq_…H.dY>Y7erCMv"KV%4v0:"avdkB,2Nx|KhlVޗ a #ы+ͭiސ(7(`0 閻Usd>ư[7 &wzM[ڒ -DH^լ[QevTTY2!+eT>O~T$kؿn,r~$HqSNed;R'YiKtaEJBJQ/BJBl5%DF*[5ْ%K*V2ˡ]i<B8RH[/,ϪbK%!KbV)vB$-T)^h2E^h׌&@IK5L1S@D=JC8dPBI&%+U.$enKcyʉL3O7i̇WFbuDRAGbbN%,V[2Z q?u#r*&M%+]=v>*wYJC@-В4G(IH|$OIίhsrʷSKΑ߇U,=,q%bmnʗɥ KȚ&*+'OvdS"UW~/MZGvI C5ڬ.R\/KXz8iWbeL31r ] #${M,=s.gAe< ?D[\'6͔?,_da"R&_V:F赴kJ:C@r!gn E }y"PE?K+V\Bk ʞX {f9'iT*Tx^8-Inh|}oW^R -G>?sAYܰWv5E]q 7z 7T]Ks)L( l# TlW3+J5BhYn@ Rk5^AB(L<(D\o X}vjoz>zI'ms!_Fh,Ovp,SP]tQUaHQ/* 'T}+9{GrMw 4)`"v~5r m{JqRC`dkG.Y ajWxd;BXSc5-"~?в&@ֽ.;Y]+v}vx;-'Yf\ƣC̐UV)V{*-+ 8Q[0F^Sj8̻;`c;PkuIh^  –~¤Ԝls:s:"u"Tďk :J]B2k $"BKMwJ1ڊ't ~DT hl 1 kbxV&z#땤SBj[t%zi.]5{"pW:za]OlO:j,pL2P(}82$lD|_8qyW@ ։z#ՙzC)ZZRkKkLYᵎjSg3[f)'n)'n)'Jn29Q_V[}x[Jߚ7vf*}0h6s8e<ͷnEwo* /ǏQ5rHIȉ7wé[lw/Fk TV:qB<ΨKbD僂eD-d|]Tom( anVKH9 Ϋ~0 IdhbCabCV٪h VPzU82đJGF)5yYdwZfCm|IQjVIϝ/2vp-RP)ԃy~C;fCg),a:ǪW{RbV4ܑa d"+:[wH ڊ7T"p(mG S2 uh-P/M8rE my?M twӱ1`E3[hHaWaU[m+!nC !0Q^oތ dz -ȨA&2d7 1f(^uq[uxÝ PxXi!3N(/&B&E2oyn{`*g`0S`ڨrGv-M?fbTG{c.RY@ #77qǡ f n¿Ɋtؘ)^-|]fdScMA`]~aX>bIz;ߪx -[dWEco#GԂ,7joլ]o[wzÛVB=+$v{_>:*Pȫ uqFXqx9CHbMZ_ ) V.I^ݶ0 sf-'мrUFUeU_O ˳UL.?Bhö\݃ ,Cev;x"noueG Ai&1b.V__h=Y-70$Tۍm8`.gi,PG; vn:d-td5ֿP3Bu;P9FcԏQAF UdԑQ5J*ņ8 ?sЈv|AA/ Dmx|*8uP8 sȃ2ezڦ@jwXW]P6ZR"Ko td5s .%QQ+&݀cP࿨+h7r dED#,WFXDrY.b4'ptAUh|dl:m$+9CVE#c<: ѿ/CG!\ jK;hp`'4ۉV.2XH^m}ҀIх [lh1 ?`4HƝ4iu CH¦OC7jDw)j8Ϡ9dԭ&NgW|?G8a"j%[*-bjg:Wl3V5NiIXHK wZr^5J4R#κrE<`hU>Fpe' tj_É _wt2Tu?:P2bbp̠ `4ޮV:zְYg 4x`׎\>K>"  Hq Zq) ]{?HQqy!RqM͘r٭Pgo"~V_q_~[Z0n$kt~ {3ćC8DC8ĈC8DB(雸K3g.Ϸt-sB|K!RpH4p; 3!;3";+3#9;3,ΔlΘ9 MW & \] @PREY4BK/Ź>UJ&'xW2x' '1z ޡrFEMFJÚܽ5zwF'3!r!ObkNH91B=jN !t'y# 3ߖV:#FwyǧK{80;-PdCx dt/˾K (.gP܏L#PDMv$2gjS=!]_٥Brwb Tbag#;[zu[z 8]ŢZ|iOrH*D@ ~K$ӧAXHc]֑ /g25o5^k<τf_< `=Yc>/\%%lHo,y]G#HG!rOohS/^]%džFzd@SsP0{ hs'C9{\ʮrs m$kML{Rdwe~Gط$vv#[›kz.r9KJN| Y a|Sp.AQ)}:N5=?@_Z#hН@{ V&׃0'N߻twn 7:u=({7'|$xAuo$4`B &TpAB I0ÄҌIC&M4Js& @ -zD.]0uѪ GO]@w;# vq73 $mas3j."#(W>J)cO)|pqR^KA{cwaiHd)@$:nAӷ7lDJМ:Aw+OПIR\%uYw<DsYԔʒԴ%ӚL{JZiӚVeڕizܽ/CTMR9I*(jGvZo7/6[7$Kk_6jͺIzc:]_o{ 7_c~j4hF#D蹱^4AhQd]ۻK;!Kuzk~QM~=m닺:~Gzs2һKҍ=]: 7ed-юTʖ}$*^i]pg__][eY_#CqFϙG޽Zl,H{3صG"s}$nI؇SG'5?ծ$gu9 Y.Qt8 '25:M< 7;!%ܖz1CK#zHr6V? y]1_7;0,Sga rȜ$'A\d7k$-V3+Eh_rE"i@\LU2T'ANI d%KVA\ D 3;c@( Ԣ:-hE,%ދQ2eJJXr%/,9bO~Xt:0%];>]3@*A. ̢QJbwUJǚqšH~w9@䳗~ݙl~+lf${o9?q7qvΊ/">E[">FL5o>ylo1r?"7'{z|-o[>F$ f\%Mx'} \x/O9e| ѮG sEiKw^2R{c%ix #ڼ=Fވx@ 'o[K0/I* X##[dt,:r W!z~s31~ /+B6%ر~w|- hs;t}uOQs sE1Y{YaY fhM.hգ#:EkΦ58/h3vs/Q\92sFr8[sGD^-ֈ3ynF_Ygߒ~<*b1-8G6}O)ŗ5$&zP) D'ADB=2.mMRx!#ֻp~s:x93="h60~#!Vh迏 XTa*m!ہ7wDˁ Bx}g$qVT zQ% Yeӌk^yzzS;rюԼ'98=͔Ԝ3) BuLGhiL#=c=ѣ= %I$|(Z\qAv6{r,9{&h$<,EcJOt(ӥx}2zxr_&^b3x D2R$SlE2շUߗ7WM=Pk}N;R#NHJDˈF5Z^u+]W˿E+O~w)62~H<i>8ϝ#>=eG%wIa,ۚIYM<ûMP/&YK<Y u#AzwƿЕ3b匦X97cl$<>j:f}SŚDYku{Ⱥ %t]DYH4;i"s*2ev(. 1y%t af;us*?3rm/>ۑ} ]9J] fStStStكA) 3؃({"k++'_ ~v:G| loyK$A$)%S*avXjJ+Z1X!% 9ZBEm̯(ҿ/u[H}P|"SB|~ojFS؇f _uJ}h>hrwoO>~~MHjAP( PJ8C}=衘B P8cX`x=/r7 =ĂDTgهH}>OC5ˇіW jMeu,\}yD+Քfhg.cG{HT(+l'ΘHȌQb36M>%t -EBvKJni<{̘YW WV )"a"a"aF1ańUńUSYw1a ES 55=\\YG;G[`I|X[F3ZT,ǵ{,^Ommk^ mŷw ߖ{cj*:r,ǸFq.H\57Osp/|_(A/i7!ayHx|A(h^PKvcYW3&,OK6kKb2?Z ?eW>ur+ +ɫpH]AX_ycqX_!yU!y yU{ ݺ(W%WWN>3ޞcKA~c4keAaPS>DM꡸%$T=>̌aEBV_ƢH/c+(+ rU­>§( .Cׅ:TgSSS d#M)!V RS!%qqMSQ3 D̎ .{]J eB°KxlYȬì:hM^ *Xz}hASNe}P((H0Oa> &E =(Q̘fGAt]j>3&V(J!!E,Y",cK65#aFX>o۵Q"`$>2/ `V AXX>-,Fk02ZXC9Z kk0"ȕjj X9/FS/c:ۂ a*-ؖjJl*E Ŷ8~X~A _PˌC+C+]9"WPȕFnmaf,DOCSByt)Sd/z fv>(ab1HXH=~z92gNЎy a++ꡱ$L,F=4S4h5ҢiqiQTS|oͺ,$L`E a"ꡜB f69Q4%4)Q4$L]%\{(h 8O83q6Q4%4|H!%0g$9HcK6k)/][zeCDUWr{J**JJ:Wűh%W\)bƂhZydNP9c﫦x3WMSSumFdި J8[uJCغjJ[uJ(re[j1d>E-OQl󡖬%rkKKVMiT-YW+W-γKA)aTQBUCRxKQBR)PPfѴڇꡌ*u0̬`sLw{t85Erj aY7w ϺuSX7Ud|ǦYzyPBy99·y =Td"09$ z EDשCuCP'D')XIs:TP'JhQFgW!a0i ꡨ5PLPYB;2ڊ"o.s߮>% & ][y"|n a0iHLq8ēɪ)d!!z(L G8ʌ&L7\ŐϡDeWͮ ])6Rr')jˮT=\vHJٕ:]cqN8͝ԱH%@M]J۠V34[K.H W]5uUW]pUUp Bf5tjX&= EBX3#j?Xf'%l΢H؜E}YԧE9rjT ոKFjpըuYYTM]΢H(*%.AW,ی^} y J8 0))$ ~ʧ(~ʧ(~J p&W(ªc!ªN&@= 1W eN e,v]ݧtw _oZ$li7޴jM7-Opc!JM]jCS>zpu~\-~wVpʉKZ"akESt]DY k)2uzy1JQB1icC( %,HX.mHG a08%Axb06H觥?o+o]1*@„0>A .h>`zh0 mQB-5tieYJ@, $ NCMuY0Cz貨\H7&QWOی >8@¶p+m]Y$l"h0 5UFǢ/X|c! p,bȢ9P *Lc!LçLL!bE1@V_ [}Y$leCT/jeT*j*$p,jc!:±(:±GVMi<&RQ5»꟠"a"aEBcw UMui)ᠱ:ձ8h_u,T:*Ҷ{ jW%T )nBE:BETVhZRy4,H`Yb] )/Tq<VfQ$ oJx̢>a?jo=|0<4ѯχx踃Cwh8L݀X}^Hr"a˩WP+PXBBZ|^ຕ?_hH/4$A|ëCB2Zs*Z7 +ϣmx1Nykl'鋂+]J-Ru=_^{I^5zWڷd0B Fz>g?>3[E4mşΞp> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 135 0 obj << /Length 2181 /Filter /FlateDecode >> stream xYKr5E ;N l9,-ʸ%$LOYkl{Z{ȁ->Ţ289 2 /U~q [͂7iY5C>B7/e" " lWu g$x: lOu_q +F)3{,Rq2;Ukh&wm"c&hbrq&Kǔ!h^Lgۺ-A|,ʶ˫yqcP-EDQ'l[TvH8ɐÎQĂ9MLÊ Pu]С*.>YX\0h/cP>Kiѽ-w]i)6yWU.q XTmٕQVvoy>7>QMY>^Y6Wڋ`^8y.jÃSʚK`Ym1< ZE) nrDqFi/$ܭP낄7Hc(8\:XHpC5y Ւ2&w}jgqvg 5$ģ6%ѵWČVpƥk̳~I/w՜< *^KѼ4Cp z]]~\`(Qx(n]E]K-H<EZ6ѡu;m i9&ڒRD7ȹ[T]=8Za'vEÔUi1*䄤$dϡFs!R|.VE8ɅEJt,Mu\Fs!m!'!/M`+ rz!.a9e v8G}TO[iBkLqWGICc{R\w}EQe% [ Sd;X3P4{'a0YE$EE!t⸣H[MoL0w,#X$rEĵ4;fanWRSS?o2{AFs[uՌ\+^kXi(fz8,jyd e*3[{3?`+p2j'3wNf{ k@y9SY_*[]څ%0<$~UY9'^?-i:" L hk:?L |9>& I\btc&E?lL"De=1uUPS{)U uC%b OО~Ԗ_ 94?M( qNS.ѩXyE‘jS#Rm&H: cw gj]& ʡ0fJK3>.xq,mtj<KUѡ5L¡WG4k0UN+(`ҥe`$I-QfQ`0nZ&#?) =1ug01 s"EF73A#O4v¥h~M_{Foa۸4.ʛ1 +*=u4`s̅`lQ5aϠhg^2 JQMZ`%`4hF2 Axe 8 2"bBoxzU *QnN&e8:gP0 r.3P ( 4T ڝql{'c8r T;!(#ӗ$ɗP9 06"ygW|m<t 44pv Sa^k(n;e4py T@os 녹^m5PBܟ`2!а@5nLX;Zob8h~Q('-zP`JuG;APʏh?:0,e+eK2)R( e endstream endobj 140 0 obj << /Length 2082 /Filter /FlateDecode >> stream xڵk۸{~WX3h l/$6 v}MQ2VW f;y-6)p8OrF^2q 9[ΤJBY.Xr\}sl`Ea!k@wGl4[^"LDY\"cy5E'YJ\~]*&HwKܚ\ ,U0HdE6+2SYP)$-$3:ֶRIdh4] hMK@5tT;I ;JƮ7LJۃGe\l6 E꯸1#ޮ ZC&bw6LLkxnGDS;O $@ZpvzJg4 o|*zቊ`c"':ZsVPU_{]Z B$Q!0[i]u-[<`S)98l&+FN"ΙbRFPm0Ca][G@{[}]m[xe<ZƃY]OȪk}ZH7F8SF}CDjEqCZ@`!Y|7:n -Z `1dIJ)!98X-c>/˝>?l͂#90/{?ac~y .?t稣GT3kxWv|?9^VOfec'woU qSu)O m1A HuUC`,j_Nso7\"Ө#\g:<ϧy*Rm DBi.II:q{yeWv$4OBpOI;ge6i 4 OJId`Wz lt)zjpx2Ş6u7 |ac<>iJ>J@*pzߵb,KEFa5<VY8R"%! @lz2wM׭}C%e U:"ϢqMXcvU?ydB>olU0N~gǗ* WC|'X.5ʤůs)4w .|Ttawe)LcL92hGOJeZԓ,x0(v_ e:R? 3 ^37p,D}>WHk0xM3@iϸ L rɻ!2?Wdž HP98ldC㾫f^ im<'Yc|A49?]\HKh1\=yOz5tT/H '@4{7O;:ϑW< ա\=iӻJ#|Cq > stream xZYoH~4`d-72L+҇K#Ed0FKduwUP D @Ba( ƫa h ^XKa=E4' "ִZ$lcJVXlfHgcx1x xB;L%yo p΂cB֘ QxN̜=dgnDB3>ń Ak ga, >zTaS,@X!(y'#Ky`N Dp#ևPe :̻l=P4,LXQ+|HD*&<ؾ2 ׁek<4lʲ Ć@ưa]~C@C$d10-*F6;&MnPP -(8d??o6"?rUM-˺6Yh-eU8nꮺUgSY];ofvt4E[OzT0 3_j:.[üj>%^Y՝Ǐ..,gEu"Ԙ0_-V-ɿqUS,9i,:S,PuN9Ap>= βYfvYiJge~/X猙uTG'ȓT>4&XJK1MGQj0AxBƓQ kھJ[e2z#O/.vu<`B9(,|2!G %m P-O&i.w1%ʄR&4j6[Ѣaݴ&[u"3^g&wχDzfsNm[dr2rjdh CEzJE7dL(߷X"bNQQ5d`ϭ Rށ/;>.i9F<^w1/-'EW'0bT@(6Vo^լ0zNJUjѢ9':*>1<5^|8:/v5/DzFE5cp>(4y|<1lna/Un'E uyM\~Uճ8? qR^t@hmrZ|,b4|TMGI)ɸ̯Ѵi L)F#X2Wآ\"E>^0b:.o.| ^Pyjҳ@tpgh6^$@pioW4kBM\l܏ d xq, % Z,CӸ)-@g)Z:e؏+7Is@x#bgbX5Ӯ9`% RdiP)dxǒKH$Xkh-yXjCi$^7WE7}1y;C 4JBz7(=nq49{Q=dv^K6(|.` xj]3kۢòC$;p_PBZ%cE Ï!<.Y|H+m?F 0"e`w m}> >2*@. B*%R '}@Cyqݡh=|*Qp \g?xg&حH{j9fpk]k_=ww "}/ޢsX>Kʭ "1*74`׀|I{EY9kXƃH|;rXwz6Ñ U8-]> stream xڍwT6Ҥ8$4W R $$ޔ*;R*)RTzZ߷V3g<ϻp޾g(`UQHX$ P $Di9Sp1X )% ۔!8t`1I]I I Da$7-@GB±J('aß %$ (1 Ё.ag! <[CK c/pGp,\ Ѕ&H 0r@`; Qv8w08yc=4s9 _D_$B C`0 D vg8@OU[@@3A(t@UAw?, @㰂XE4kVA*\\H>e߻'p(w;; ۇh17QfDAwEpW8 _=zQh /B!?Q[ HgǛvc ~`%a(F 43Q1򿜊(@@HDw A?b5v(EzwnHG!<&E p@  /LT:;s?~ O݇8 tPx1 j ]-{5pxJ EA"*n{9oH=qG@ë ``?PAP@0'~(-@A$ {ء0v\[@4~^(_{E|) (>`RAUA K$)fByVdNa8̌ b`U+V]E׃ދl5"{l+lИK,T LoIb: FRwrRU)ޝHfpnK[EQ6=ɷ/Fhђ__\.D=OMcגn9s/홢`}xi#G"â,rdB4ZouuΗg.ysw𨩐xClDPU7DJ5`{^"gϷ[Z&\#ѴQ^sS>iyώ6w5(%/w=ryKnToW4OPkA M쥓 aJcl ts^пB5SD{t)5^$nH ڋu?$S)Y_SEj \7KiVf>piP'aQOW${WF5+4fGT2~\$@&(k=3v56ks9Ʀ"IQu[l 2AVQUz^@ǭ):ELVWspj^B/DS`D?ϓt'XOrqi^}dʾ`kE҅$S]G KTLkzѨ ㌗D-vի,,T8D)i)^fSq誝L&SulES}_8rz;5.5xYT9U'Xc=md^"V:qE޴{5ߠP&[9#6qbCDϛ!D=&jζ+O3eG9%/\PKgɛ_Ed#h#.[+lwluACVsrd+a)FV+DCZek ٓw'F!<^ sPZbO"~*HF=09xAR Uцq o+m/]yc$b&U M&DQUAIo=;}K hB U&hzjxo/$oL.9*ڮȔy}h3k^j=9u9C#1WtLL^7VV ye '6Ák;m^AӖ#4Xy2nZéUDW|V~ߪQS@;{]Dz2w~dNx$b*xpEj/G [*/JN^[ , zSFB67̑XLM*٠H Ɯ5<~(P$5sWҋdrn*V 85jJrʟ9~u%rZ~:OmFh9 .DmhͲpJRxSqϻ_3m[tSHZг{7 ~Ȯx1#кCMavfQHIx~S3N#1'b{זEqKۺVq|DYfhV(q~g&vż)19Ń8uRKWx•Tg-k>oa'a܅R~gi`| I )P)SUv!9'LR5XB;s8=n*JK~x=${۫}j2V/>87"š#Xj炱!dT z!i#8/M5d28%}zs*/QY nD+ns]_MM!Ƽ~0Y/p[|&ZhYyݘ ㍦${m'= 9lܟ-u?PSMX%V:O~a)U `8{>s2@?}IPR!|د0ʵ"w#0{}&1sA^"v ꁼv<(Gʫ/&7R!*CLKWF/ӭ'Zd_~pnϟ{g+d-M_3d3 /+_ޔ !d5ΗfU-L럮*YiƪZy/  Ogm&g-Qũ}#rၚ x^Z=Vr״ݍm%n g4r)GS} #ˢEXnf)uUrέ5U0:3{;dk8O@&`w,T:$1~=K:Jȹ}·|q5Np@z#Gӷ0CufqYMĈ/GK]yl|K̚mV!c<&`Zpeehkfz|y8wBپ"⮚Ɣw̒T2v3p֋8`voKVv TR fub+ /J_t/{ZΎ?Ș 8Uw'彻k(:-Bs-Nsso4Td -,16߫M?4Of,s5?8lӂ"b,Գ i(FR}@kHOٽםܫ^3Ck.nx S+(pN3k"u$EWW1]"R. :F(O q#(6*¡ ;·el&$q+KKU;Vt~X:ұ>=VQk=i ^;JI1g>rNf3dEZ-d9ݚ gZIU~+FRZEl]AcsMFk\NpY9=o;<Ccc-BYk I-/Mb_4XË^a9TGmKF!…<C>zI(KqDd{of 2>]Fcw5Pf]Lj QC&euƵϠBXߛFz+ ! ]=Z5gRO}^ϒ\1bZO 7:kݹ5Nj%^;4k=%]u[r*w~ LghR? f&Ov3SKڰK?j3̪ڇn7$iF+:{i"@V;26bL]$$ĝzo!JC3/Q,d3ݒN6著8]C +#iwYmAJ$D?mM;Uph[WpڡC0[<UqIzل2UM$W?X/wʜS%I,(3<{@9iE/a1ɫmB'傾.)&ex㩜i8h$<ǝFf@53= \˞y $% &lKB↘(=(wymZK0ݰzF'DmͰGIO*mLw\= o{Pd V7 rh%-GtVRrU|U,6 ?-4di5WK .4D+ʥ `) U[du6ńJZ3YVz,I8!+o> 65qN1M/Œsf#j|*g#Zdx{s'ex98ۍ: orXs;FCxe|pQxm'ȹ~=Vڤɝ<*cV@Qd!#/h`Oj"jGǽ\t?v|c/w1u'EE g̖XDxm]k?_xn%DvlKckuZhSx6(q+zt}b HF]Fϡ?/'&0,KggӒoV9DV,"!!LaXH?fN>cykK{$:IMYvOEM5 }Rm=^^.(0*yrXHE߹zk vTr~},ٙgZ -We]$fw+ EWA'Wh艫`YdkЛ &»FW8^LPCid̘k_M=AJLtڏUnu9',RiQ,EJpO\7.et!!r:*Vv(C87x,zwAcx#/r-jT?{RJCv畬i:{|ty02xriHLû1Kx -+z\-q6LAo-pƐk nT"Pw.C<+С\v7BMW̑/¾Mh(Ϊ]$}KHݭ sd> stream xڍtT6 JCt730 KP t#4HJ|cZ߷fg{k{u=lzH;  H CAlP; " AcmJ4Dp,E%b@$JPxm>@>(3{߯=Ȼ@Q0{І.!pi}Sv⃸!QN2\< ܇CQPgÀ3>` sm7@: ((5aP;6Eu-@ OD0į`=!G h<#O ~UT?ۣ`hw>wg?`pPD@hw`(=v>7B98?pp7B/*SP@z~I21K?A`Xu#]-vLW3Z(o[ c33F.HKZ4VH  56^u4+y_cz0oT!a??+/v5J!Ꭵ/^G:(A > 쒱'բ~> HFE?;w(V]/)CP{(^*AUx+^ؖMqMz^{U::zczQ@noZTC~3A>˿` 5[?w7yW^-CT/ث]uf7rtYBT 7(20[]- .7OLAB~NF|gJ ݛXi{R5h ?{K2='y:{oM0v?QV;b)ŢKUhKzeX{0th)ח0zp]ߏjGOk{[L^v;y*;[LOIf0<Ǡ4@)oLz>?ÇDH*/o> (y7?|s Env&siNmf$gnr_ RUК0 |5RV҂n'kjXyweσ|-2D|}楍X޾.vCÒkH㓝2hG_ szw?yn|G#mDvw6 <]jL .58+qNhwh~W*l{,GAm`[cN7feLݱy]k{qKᶁqy}Ye/)4lsn +ºž6G y_WQ}X%0PqL7Ot6e z֝"Dw/%&ߴ&nM?Hj[#'i&GdrQu=VVu4ʹо[tclN)vQGti<@RvZYaѻw_t ^J/mLstlO  ׽&48X*eO~+4fZwcr\x6R'WtY ,{ºy2p^~A+$m(9UwH汖ಥB@#Y&%Ou ,= mTHi"{^żC*U}$HZ=oR?s9[%HwɴT;g,\J/|?ũ1'%,2Ы & \W `tyOx(cF[d{XTO5U s~<{8Tޒ5i,~n 3: DXL7(Xp3.{[$[?swx }Bx,@r^+ۗ 80橣.V[ULU] v,?t .A['IWH^329h3<}lycdr`99O DJ&>{ejUwʫ<Yx/̠e, Rtq3Ro qK3cRe7ق*zFDoz-t}jї[`iq} } A6b.K{.:rᵧsӅocɛY,Vw|itk!b|v8QćR QgX>mGc <ԉ|3$m8rI@<WjKEiMܤgswb?}ANso~!!]@la5ymw;~rJ!RmͰ VL[A!#=1 xw(\2F ԤɉNJFAgJ-cLkvAa/b/ 밠6ELć ] e)zL[WEwX?ir3 3ލ_lm " _4h%TrOݰ@futPlA*E~)m_ i5qTỌ.S3-ߝ8#W}51l0E ϥ#lO4r 9S@U9Ae5: ~*5sS;3f[7m* F~g Zs +yX(P.[O([?!5+>q?AfP=%&dVTd'3 2͸"@ spr{;hyX?%*y}`F)_w{nN_"0/6U =Q# z7\t0f g)pNE:yM0_-XF3wU<u<VȡvZjJqw/j,C%M{c F~;?V'T\ZMb+X3W߯{3˒~Yqunekr;ţ2AE?DwL2ڦl+waFMY ^ ʚF&wT%67!$t:Z$ا66SNI5m_ li*DBߴL3U<ɤ>U4&뤦p?^u%Ur(K^)s H7PM]yTܙА~'TtmGN6mDn==kw\"; V4n2B hjO?sհ26@]\uD4pMΡ1\mS㳐Բy axmߋ(A揩fO60- =d[/T`qOaWv?pәB?Rcƻhzf#RW魮ҘPFȉ' rg>!j VR{wcѝ E= Zki$]=d=h"ommglޢ={%~SU'G"$K%rѸ#Ա)giZ̶gO }1~Ԍ/:YTSor8j^f251:8;3k&c{ɬn;VW풰ɛX uU!Vw@0dSβ!"i _%fCJy)c"‘&ڜ{ (ڗwlf~lW<m89AgCz=~)y϶B֬CƝufne,^/fE?9ػq2Xd>n 5)}ZIӍh,|eP1~w6@@-S6Ϋ*e7,;"Cܒ-hsdwњvB[B{M.IԼCBG 15Oag{rws,*5N}ΘhŒ*.pZcBCF5q240||h^Jp"懒L+#I™ᴨJn[vs桔H AWz%u۶||MGipRf_%'/ě7by( O/=. Vi%4ojCLYY,\sU3 fgfǾJ FZߞKo*߫M@owz]tjt:z:-l\]$117l?UoՂa}=w !xj[G~r@G7ʶkiˈ(GwIH+žOzceV7\yٻmkEly[31 ?X[u7j\KcTӻl$ QK#&}oN}G*9im>3uҁ+wt9^ ˚ Z& e[ iAUό6&% lp}(OSC$f_i(*cy__}}Eߓ3.?ঘxa2F߷/m,w5 H'+L0_Ӹ]|AN2g-Cݙ-zz)rkU6QI (*;UE5][uC\ғsRpbu#(yz5q9\&ζKM2cyݗ_J#OL_*bh>vw;Ҟ_y 2Ԥy8taN-ѩ#d<[xRiDJ$jâ8줼=bg2<9Vx|_'Wr+e<JmIkayKU0<Oj " Xqe~pfYCMqmUKk-3ҥ\&!oUj_^6e@xG)S (~8"6#m>jl z3޼0"b@hgaT*Gf4zCTؒ)-|uPLǕnwj,YƩ&}?v{,d:NDp)'Ffzq8Q|rwxpb*['qaf;^. *R?ues GkTPJ;bF\^ m' ߣ{pE}-?zc25o 1)4X֋+ǨrSOҼܫ-8>'BSid[[f$5ґwDduWU$asܬ-S'Ej{ AǾƟ7×PRR%њoDyB"6U .AUGYJc4)[tw0]&z"-1hִt*pPy#l@_It:(4ZUX`M%Z I|~6DAv*T^b#NP:Nγ qH endstream endobj 160 0 obj << /Length1 2567 /Length2 16695 /Length3 0 /Length 18182 /Filter /FlateDecode >> stream xڌcx'vcĶ46;m4N{><͵֗P(29%]Xyrjj,ff6FffVx 5+W[o<Qg+&f wȸX,,\Vff :8Čݭ{ <+Mi,<<\VycWKȣ-@ ?&-]]y<<<\-iV h+m)jV.T]=hRr7:@rEG?rS #˿!+MM-V@+=/Ac[ HcPՅ,2*Ĭ{1b{{T܀b,fffnPcN%_NԼ3Y"qtpRYA_>.@O"x+hae: 4 B_ߍfRVT7""Vf+ _CJV Ui{s? ߘ3Rp 0@{9MAXO*_cp["/ c;+[ȀFXhffҮƠ6#;?d+ +OcY*9XuXk64U_f+' 4Tr=g+H` Wk99LA\&߈$E\&߈$#No <(F "nVo~#Pȟo/y79Tv_cXVXXAј8m9CgUfltyG@ɂV߁5(L#fel`kk'_ &Z V@0m$anٿnXv[uAc;9P,-Ao jԊQs*aׂ惊G #m-{bw8 eaRps]GvP 4\Vyu{FRQgHX̗n:sPvk_\BM3yjp״]_碧r+~R~.\t#$~pk@""\ 0v9_N1jv(jӴJx:(*JE] =<#4nIf-eyԻ%F2,_bIJ8$o8а3H^j$_+=;hIQD6 #+MGz`F91oDdD =GM5gz%O-)pl-K-ϊx|Pj\ָVB~?vHA1VeҟΈKh6g2$GٙɎzEBT1Jq[ƀmqNjȗ`zWwq/]u3@ ڣ<+rLvZ1bV6U~Q8Vdfa<"yFdzmYJ j_Os 0wuE\J~5Pw %apYS9jc"5q:qÀ@C>zA#W ~3t" J HgHLtPg2U\)Bj~Yi۵BGK;APhtg|p=1Oκfk?ߏE_71DŽӞ(;-@PhØ%)\M߁94u1^lzfkE5((Of"A|>4fy{mi$ܢ !fqQ5Dv/Sa,M..%J'TREԠX v4qjYku~a+]q-7#pntZ 0-<D>EwSø%4 IF"w5/1Jԅ1JB/ek2u PN~'iʷ9 "MY?<^yü)p2@M}٢ӿc֥:XUxֱ "K!h%տ'5] uZia5NYW7J/ɠ1¤eP,X2mwÒtif#}Ko*^R{)L_tLQL̓b‰>{3VH24l+s^+B,*'ip9g53JhX ڑ-g9 Gƭ Cq >?(bϘ3O 5N~=`dYbF1y InXO_<7h7=SEMiԀu6cp@ݑIѤ+ 9UR =4:JӮZn$aWu^ӎ= %&^=GE&˨&zvFrL̮Ƣ-s#35Y )?>Ǫi N~q 擉~evK}?` GW=Ǽ8PP9:7qAa5R8C#*/'χ@ɞ(nz҂[HoΗZ߼p҉hs;sbI7YMxI+`T. xVћi|"qiexKe s\:j|Z0JTdYuD+ə6kP&.AQ%=L3)@qo9_^lZx ߋ^K'M#Ѻ`$IV)㮙81%TQ7RuԁaweW_Օެs1~}G4>͆_La$C_5lSYbl.fE܁=$U /=$iv+Բg:B7;7_r]#+b![FL lQS)[xvtRCu8Xot- L*R[$ow'Qe`%Iw+2LUXoNr*zsޱ.Gͯ颲1XPOW8e*)`ɖl7rPzti6+ nX!<;3`s׶KY+Dkռw1ȱ.IԦ={Iΰk)I UPTV V=B1tԕ% .8Tv. *A".uh~O&4P6J¦S4z s dRtPzon҂0Ѥfa`pF3_Gb jHVk2 椆*“N>aЇ1mzqr'}'OlcNouVON󍥤eW,p+j*Ȥ x/'}0@URArצ̈;\XKݺ3W,ecW짣CٮgtBeqziD(06_lz!ǰa7EH5ujg^wϗ3s$]x^vH*YS^8AA\ߔ>dgʵz4 &>fxvH!$s'}( H@PžȀjwۭ= ̣Yݕ9[1?ʁN|p刉LxvBp·C-1Rϲ^ ttl-}$|{,Z|1Jj>VBeMEkX] kA҃lGpCAe^>sdvBO[B|>/l \lJ*BJOt\>s٬| FǦOEUޏ{囥BRo sPlOh;i/P g{E#< @ETH#[w=all8 ~+R_C5"Nb޵9_]7&^S69޻Y-O4apemtTsFilKdc@wU$lZcc\k^O[6}f`c5ۺ.HߤaqKXfxU1|m\Ƚ;mM~°/HeHPe<1 (lH摟F " όa5ؾNv3vܫFqlk*F{n/EnHOv7#૱HmĦ6oQ>i^ S<^ڋSå3tsiGbn"YA=2_]6NZ-FbQg'jyNG]\^mיic3l* Zjhq3-No*J dA-N@E4}pEjҎ>­J}(q:D, U2‘;EBjJa$dJimhTWzR-X L2pU.E8hʜ#AQ̦%LC=q3A~-|:=%WXd>+0 l%e߄ ~6ˆ(^QߒbbNA;s:p Bi@ ށʪ/v\x 0Ƣv:qϰ'wZO M)ڢV&|R_puJ8'?M p2mrҭ4}s_ }ϱYb0S1c),-P3Z'/uA h{)C>+b! &\}(!y]fX\cƯܬnTQM<9 aKf =,(=8.g72#;in4cw^r_bP~&C1]o]׸|f6 D,TX]f@E3`qE]7kS|qy #Z x]Onl1 y~qk\,AÑrFNceE@Dž2xF5A:N$l7OnS2Npl3,"R BRMazڛe]f"iHBX {Pey=!w%)|rXƐ(l5͌0jP 䓏Zjj:fK#9 O0@N[ZIlFyGtpu!JWU@*&[b~YHf0Scω)0cűvwX-&X0G1z|{9i˜,օA*GxkSB$L ZYSϲr<5p'9)O,_w|:K"^2n y2+x?$=\ҵ.m4[f:Ȍd/ۦiȚ9ӰwAKb`HHI:S뛤rhY_!U2$`׾ al'Cƺc}XzNڃw9GRLAɽ+KyLkw2~c&' Ջs [*Z7$Du`4y! 5_C("`;[ Ř+ N8yBhv19g]^q.kk֢J3QkKh~j?f8?!3z{k#ymJp|8|% Z,7z ٠,aqӓsTJܝ DZowf>G^Y)g^zwS^t>! 7|UJ[kG5޼^ `/+C`{2~Ax ~r&ẊQWSa#8XF^+YRǿȨ g%Ca9"l@%].MA뤲wMT@VϪ[b/r<5p-FƫeBy-戳Nn-Wm (_G PCŇdy֠Zn}ʴArۗ|g,_Hq9TT#цXMw ]]6~ ћ0JfDw>~UrE5Xj|YY]Wpfi=;r ╺[cSV#6_U>]r9RןPH&cfY˥. ,d>/{Jcp?۰;B(~0G#IaA^N^[usg稏$8 nJ.ik%V6Eviue?[m|~n(b[mø5ax|u,rykAAVtJO]{.P[{W +s8K 樯}0cسB8y7nI>Av5- r|{E`H䞣܎(M*A|VozE)mܕ@PcރWvVN@y ޛ ."+R ۋqġj-1 Z @Xtxi;Vd&Vߞ;~JuF Z\"1dŌסYBgsVo˫u;) /.]73fAMʸ{s: qA>UbҞt2\gw-!:t9g;{UOaz:=o|ij\XȩUTsD1bI~XB"ճxtj-G/H4iXدG;xm"6n̔دJ,у)i C8Vj8Y!æeд}B.r|${El$"~Q>'7 ɢ $1:c*"l"<tPJb03FQzKо)+#"y$i6u VB׎ *"H̾N. !/OH {T' 8.&WoK> {&@"VZ%w~vZv"ʹuذTɫXTsAUtR?Ҍfl݅@n# -my/A*B6c17»!*JH K/kia\)1O>KǰYN陋$B-%r &nK lCbvwWgXodɜWYж5]Dgyg[`9P}69shAGEL6:$\Yq{JJ%kUB+җqYJݖDdcT@Bc| Ù! ڲb.vSo- XGJT&!cE:T1 7?T7*9w5iu 6a؍e"aY澖kRE_<= 7(6yC+/8Dw Q"ϻsϽuH ,"y$Vbϔb )$)tNjZpGz\tsP㤊-'" '\j˨.\,61@b3/|tA[ e{2PAR6B=z)+dYJ^"A% Or} 6)ZzC4<0<)mղa{ba_/\.A}Ih~!~53WL.yE=%`I `Vf0Wrg0^tpfF';K ORF bX *oZ8WB{xU}8pD6%n)pJ&Q{߹P9OY+kaBtd ۓ*%ʉ]"B-DB`1G3Fz٨UP"mCցԟeąCӜKB&ۭe3h")IҾpeSe7>N/V3OPtGm}l$[yz>#,<\#9GSm¼3"%=hgx`fYjy[+ ޔ~ >TaZ+Ϥʫ\I8>^g5wv_6[7 p@$w-`nno`&ٽ5lSs&I]Xbʪ5#7|\O7FZdE3Wp'oNtX.&-/8w(s!xy`jĿ,g= `x=<}쒵~ceu7EęY*6Y]}39@cGw_Ueb)Uui1w?fe7G :B.+%*҃uitũ5Mw~! f <1w'HJjS"YXSg*]VH\E*3I1^'\醬}8JCƃ B)>Ш"vY*ÛkC ӞtRMVsZ,$Q74A3=?@kmKӎFlI:g897ZǶFYhܝO\2|ZV?3T *;ڰ\1y *% ^;~ZkFXkl8n@OΪV.-14Vl8@5_Th6pn'dͶi:@XoK_L?Z- 1XʄC#"sZ'4eMhGMm0oH̜W90)-a fڄ;\W*ӏU \bɫݵ nXu^X)F}˧ͮ#mW dF$<%Jqm@4/yopђ̈^s4R3Tw&| Yp $᥵ii7x-w-@ .!z@&$}-}@;pVz>LZNd.K*݁T^pj:^3M ۺXmԑjzZ gL!ar嗦?*]1ҵ^Bs]V2i~e+{դS6)0hIu7OSZ's狕H鞨$#X,I>~PE>OPJ=aqZDC>и ,d|KŁmjc ,8 W=)*΋:1| QrG>R7zx'ǀ~٦`4/ZA te\{㍉5gz:<{M,a\>C"zwk6Ss{g0qhZ.2?m1BuJe5J:}_;zmKTW9䓖rh(6yjGN: S>gG_<ڠTWI3JpfO%'<3BYYžxWǏ#|kx|;sn"e{+v#|n|w 3-^3lY֍o[#QˊLlGg|L(N`}Z! 9?; ܎ÿkMWj,Ūlֳ{UfILX[׌Y-Pkѐڳ{H `IqS7bap Nj6ǀ;k9mJv__8S=u'!OR4 4t }4 13AXMZL6|˅ȌcC&iI BZ| a?a=%G\C-s f <_6.PzWp.&$m̑E$5B⁻*GyHOBw/ VBkM.SGۙ:XN33(=$ 勂% `kF]ӡшz2:Pa`CQ堿]с`s|=tpn0 V $w{-j2Se0w8?>d>0fKQ ?%ֻW$[ [[q,ԶBjw5DL}Ki Ӥ`Onq\pmd2Uak&sVf/ԅGߟ(g&@0nT4-Z&$bL,%KSԊG> 'i:WS\tVK=I|s& ƽf*bZ"%V)G=fP:J/s/>/IӎL7xOߞۈ;9mw圞=eDr<L/ۑN9=.beΖ?c6 EjdS{6f8.6;oI3 G!ebYq%ޟ{z"lk^aD+]AS%:9ecעVE{~GΚ7n>}M1h_|s5nflyXr7nV0i[e)z']Ύ ~_3* cZ x҈6L~[ۋO#CU&M|̫ZOv IMV8jOPYAY& Џw8dhb}7SѰ.&wbU0k+~OvAT?W̊%@OaIɘ6dTFJE֥iB0䏓0xԛ!]D|*cUi\SOR xi‡mvֿl̗_G~6LwF |g՚Eox4_KSgc9*-YF%ٳ6t^|_~tgYoymR&a :2KyxǮ0FXeG9 f. ̘_z'aIþ> :&8b~U`&R/ xw$h1~XtŸSfLn"0BE6 B&T]νU`ݕϘT<]e% &#)H mҐLe\!S,+~W!ue6OAcE#A*͸':A(ŊQ%.hFF]l}=F3hi//3mkⓌV|avW&V5a!]SΦKrCFvoD!tX)ylwm!pbxѸ\_d %z}V"Jt -Y+a&lEaWt;2V&y}yRŀliQo6zV'I6?s6x9G)JSki=| Sz $^ztDEX^3A}*&rZ/ ,hIof5vN$./!:,;EZG9<ڴY>90TJ¤_RV+L l[/JqB/N Sd wGw1ʏHe8c#G>fKP cn`#"+0reU/a}v_wl<-0P2'*b>T 5=Aj!0A["@WP" \}.zC~غ },1Cs$[g喌kWP(GDl|qEUtLf3%+5b:5{+ 2n@(2vI5si zZ[ru_\pI5a ZͶh8O!bRS$=5ũֹ;v1:@HuĊҒkqdGt; ̆pnzlL7śȉ(uAcU`~''2Yq 6Emmu,~6s#1Bf|w14:؟Sf!h`@|rňMv`HK(UjqP T]u!lcTK!*'eX1\QOsZO(U_O_0ڧE/4Q.hî_K| z+c^D@ӹ6 Jc"3y%ǁ/E$Ew|EE+/vҗziS˶.K&9: )e%hWu_q;EDkyQDHx /oהf@ˋcª [BT)I 6+€i^ "p8\6E x1tǶ4Zs8jp ȑ l%5)zۆV".mDHiQv21ϤY*z3 Ybr.%+^pcBe]yRjrIhR[zDc8z>${ of1r-]ǷԱc0*91K!l- C+>FǧfQ5ՁEd}}t%D@iCos 8z[{xE3hYjZ<*\6d]E뮗)- U b $b-s-hZ&{߳抟L(F$5ig qzr1 z7,z'bv2,RU})'g{^Wȃ,G>ͤ`1%D4qؒ s`E.<*aZЊsʢU dL -{cE+1Ж .5U(9Ɨ%9$Yd)Ƶ&" > ?)J@S* EpқJmחBn[> stream xڍwT6R HK7 tw03 ] !-4()%!ݍ}[us]ZD%m(aH.^n @ ~nItma҇!p d `Ma @$7&ȁ=67 A8Lpo7=ߏ5+**;vA0@ 8V;:pk(H'7 wd؀R AC$w񃝡NuGފ@ ~+C )W buwo|+iӿ E(@ 6P_|ˮKiNPDz\ nex@ܒ rYm~ɌOPq@\|yohMcGކp7_w*h2#ۭ~_mͿϿ xAq&ա-gUT\˟0[z"_s}U?q)'Hќ, b92 KVA,qvAhlvS&hQ[$L\ wV\"VE7g脀. +ݺmDǸhdJGfꮫ5w*Cqd۷ޞ|Jp" be(H2(2'c](1G[iuiexE}gmF_CE)"W`|d}hF/jN~0(.5IҪSPbE,f촗oC!vv5!}Yw_,a!o.oqهW؁G[U,JLقdOhBS+B>1| 3^iAK c݇'EB/=${&Q%:(wDq"F4g]L21~by*WH 4:t8|-0B ja)-9'Vuj:0 @{<=- mE ݖJ6rJeCޖ7FcsC;۫MAU-gi@1 ELCӳВe # '%EIP?I{pC2bo7j9>B ]MbeFtsWc ?mO9uJКoD^):4$Fչݣ 9x)&UTǾi1 טmJrHƑH)z!%_B 2~Xrz]Z^|.̣8*oX!YI:4DF:ɢ85鵣v]E+ %r$s۱s(e3C$vol6 Gkч AI9*4Gv;?+$GvoK-$Y-^ayr+!@Yg)ǡ%,gAt\ZM~™ԴzgvQI0l72ʎ_9 LQ`gYS7޴Fwt~n0#7W&DX%/KRTH#P71v,3V\hj$\ۺd`8 XdM:$w*@^EWk'銳#], jL|1܋3iwcݹ7^݈n/Hn>}0Xy'A `?->P*t.WtPD:xX-dL.Z{|J Dr^x@ݻ@Pg ]h9sēSIa/ Id?A9[IP >=~fMk0#(3uVHw BGfo`3ZHڼ)͝۝R*c9kG{?LFOokw-qaKP_з fVd=џoK#3df½̭ eԜC ۂ.pjRUpY˻LXkP~+h;+ӱð<wE&\ǫ8{X͍pNX]ꛃW .s Ke6@FqO 5YH aQCs;N)v x8aN˕SdCЭuop,a2jL@GR+=_v7e2t=3h18P .Q̛dݲ:#cAN([ߦVV=>EN]ZyZL.dk*ƭٗ d:ep9xBr;֋p3V? O&-& |ga0$_/cY##Loz#< a~ɠ?IUD|GֱrwE "Y[7@f|,Lz2͜ߪP dΞ^hBOhggs$t8@6\AubTWj<,Ue_޴ͻ#p_ɂjͥ־3N*C&F:9Տދ:D-XW`/q.R.+DWzJR̾i}.zv:~P/F !-rMN *,P~ ߞ jV_ Yçb4%7h|}Z^O/=+ʊ٫O9XӕnegM^Э2KYTruÛ`T;e U"o6o)cSh4&l&"7%"a wã:mL*yloIkew͚XU@fù))o,].` gmc;uM) _0v! KҜ%G Z\ݯ7GJL|pu+!y]>KR,IyCUrUMӐm3[˲cV-CRJ V>Ԋ Dy>mtU >CH:\wX}s-#5{(^c+)RE;}two$P$$Zڶ膔E0Zq? 2⦓L8uRI1mg21oL)˴R|îrC+`2?,KDIlK-9.hq,ܩ}fjs˨{sS<*{۟:#AZ؏DrZ+nt$% 0Pe+4M+?qbdJѦhi#IXԹ> &CP8vI!Cu3\CVݷ.У&%B]ϓ'>‚^ &sFt':z\͵srKO̺o(J|m=I!Jt.e6 n"V'Gq*OR{8O`̚AYrVD0EW1lL'KVT,IJDlεQNx3etr 8z ;I9kyW++mC\+iy63b6 = ]졯{xlPǽ l+Kz|,G^c ԟ2.j8$hF$\8! d)/de[ o r! mp Ű\2PfŸ4,*8F|Y_WmdL|;+fVll]Wcb$*F/jdZ%̄j,*eHFoTl֙.6ƃ<@;zB~tPV A>/zMY@i.[>wW/ҳ+QȾ: 3𨟿$r bj`Dz0Tq_~0=T$r ޳7 }?@Li eb % :{&22JG{j:&_Q:>/` 5uP]̰q>`}ì֊*Hm#PjV;?M2/&~N6fXHJctFCMʻ,n(ZRD^H3_hI(NY3sa^=nq0FphOLZIL&5Rpv]3S+7a/~Mg%S?Q]);"J^(SJȺT0V HH}<ϗ4Mg@Z/:.{,n5ܘU ?4\0Pb{2# G::6 >[dbAN;zv#&]zU>ص> '^ HDJ~F`7 Ҫ!gC?ʏ׺B7ǭFLZ Go`2*NZ[*&O4J_3֢pؖp]cF+ ajƼcuXameđMAl]5v]2I?T6WTa!+kY7lH "|~1-fv֫̀.b9(&#> stream xڍxTT6Rn[A$aaARJA:$QR@ZZAB) }}9oZ{s]s]{fmN6cA%=T@ d]cK @D&04 ꁂ!2P*"]O8 "HȈHʀ@($7!`p8U0'g4߷(A=`0n00FB`P?RqFen(!< C;FP A&D 8P9ho0„x":`Cu6W?ѿ!G } xc[J3P;%(+ f*H77("՟* 컯uE a_c8x "`H\Dtc,+#uO8/z1*Ebo9/B`nB1jPB8a-(r[t/; :X0z`@aDqP,"S C; H s,FjG{Y '߹R37ҡ6ryƪof~}[lV/<*|oʨo>X0,Qu,[̈́_ڢé_Bygـ;ӑ Fvg2]]wpI/9:%TYb^͡XZ)Ƕװ42U7$9iaqEScm  Uw'w6֔Fvf/^,DU}lM?SJ#%p1|uyU_nG)\.x+,>RI8Vlx.^oMGqx|dM!OKxj %fÛf/LrZ0ѰJi^(vieM$~%,GTX2Y'J`4yVAe-7*590X09FzsG -7N$ѫ:pD}>ZViC7>V-n u+OfхLgrQ^=exFo=6C3WLggdKoulxͳJR6i&2ͭ). {"2Fs4T9CKٶG%FJ 8>hw3^Vwun&fעXLȅnwtn#j]2J $w~m\>TLނ'2Qߙy=;[ʁ ۮ K+F{<36 l˫nXcd0 ?ԄQ$,zݤ<X\ڗ|'Yw`wN攅v=R`Ҹɮ!H\d ߺIP.el*fF̗jd#9߲Gw v#@)O7}oZ}){ѪXn }[703h9V\&jx0ߢ Ӽ*2 A<2k|V$:vay.FҳkJ'&zB9@,?Bz`ݔ~ǛR%?]|MBz?e2<({2̐tt0-&Q*A}mIː,|{ұ3Z .{ڧT>.mBx"uϿjUu ህ5"'Gw&,;W𠂟EIc $Cboe8D~)FƧ[TsQ'sb{lÚVP{hh H*_}{. ilLTXn=YÓ?/H1kNBv _7_dz㣒},pF~\dRUz ]PZU&}PUGWe smNi[-zZBӷRnR{^WU~9Ca !QL1(WBkצ`G #hMt28EşI;[ͷb݃dp"/!btFÌIG*EoV ݃mUXU N޻/˦9X𾉛:N<0 < ?#`ЋʖR1])XN\K8Pdڦyf mar&PQ:(w-[JMj1~7٨XWpGi*Hl͐f[!ǡZQmckj+z-Ytw<嬭JU\yY`X͢1[tfDrrXޭ=8^Ԓ+;p 7}b)+~FZf]R?f(Toisޙ q;ZIm}E5L0BoȸIk^Zѹ-Z;EJ&2C\ajŧqSzʁzrI_9)s9js ;b^rkJtҝ,N>@M^Ƭ|Yׇ<;D] )ɻ P,= 5m5x?rmofS^4m#jj'y0\;|QLY?6^wn_0qFWsv).$'Ĕ(/RK01n뾬 ' MgOV-5YER5[l,'HpMT]82cTp?h6XTkP;]8-О7pnxhՂ5lBphB"ϼn&{=\f2atUBIq t3ΩƳdI7_{}j#CUpڐt< i 1`pIdا~N'Xe_xo7^3NK9AnXp:PH~t8}xjRn7 j{y/yzu{ݑ q"j5//Y$cLQf+|7?Ī_jx8Ḧ Kh!x^rc^*?cO ,l} 2^c=foƜ|cPCB#.L[~pnuP͓ IvnPdGfPp(b^mV(H܊➊M2*\T`|9`gjDnJ4i1WUlY=2?H_xH4 .}bj ?p:!RߔQA'AH]DUܬJ>TKʇ_UtbXr=g)%cZ|NoIJ಄##'κ%}m@#ͯ&YG+o}֚'pc y~\2鵣WN)1yc '6 )bߺo5y"q8^h ,ǃ{Kt3]h4p_Ghpk䟝7pcJ wlwDLF3TYG1-QX̩M.m *l>{kN3 9Q\Z1=@>q|"lVRQ^d?q`pȊfZ'ƹ;ޒw).J#gf},jT-gD36F=$&a ,O: ߣL KlX|㝷Ǽ0R&\_|`#ܻv"Z æ,=1nqӃҠzGYwvÎ9W ތnz /veə-+Zt*W*8uynUr<3:sRtBMzru.j)Ͳvd^9o.֚XAfB1.q+Ux1h/O$Z{MS*oҏ|>ZxBޭͪ*1Iڱ,kj'nmV2%1j5Zfk^D~MZ/F@ o\OT/Έg8)}(w\0jC"vWSV ߯z5e!w|%+l\> m+":.uznĞt?@&$GfY*=L : QrF2[7 N&:s*9~Z3殿ىv(w%~zD,-;6>ǻ%n4x𲒝^ɓ(S ,~߷P*wH@]Z5æ}sƓ:c8eK)ŀESJuaL:LtBNIK-r2hXftAtE~H$ju ;Yyۓ0I AZ] U\+ǩ>JRZg5>PG kǤ *\Z%65҉?GLX?oNמxTy9Am8 .Pؖly~aZʹ^0W@:W=cnz]kJQ~a+|; ©yA|nLy޷A8EWz:ʣi1ʏ=.8W{Fo|Rٳ*b"+6 'J2DDcD& ^|2^/9kΤ\ Hd:2PJx_]k^lv&\{2N< flέ/RssOS'd=/xHp#,UhN4.jk걀h &hk+9Va|rG_Cy TP G8u Aq "--SY&n{CSOیVw5* h,1Ehnp endstream endobj 166 0 obj << /Length1 2282 /Length2 9543 /Length3 0 /Length 10871 /Filter /FlateDecode >> stream xڍTZ6 % CJtww0 C ") "- Hw|x_k z>g4ŭ (H*ki @ ^ wcƤ\P09a2#┡/\p Ver:y6p|0Y2w9`4whB- J0NB.P(3 h\@07`#oe-[vM5 `K r@ ;X6?pqp[߅--NO0` vTe8p69w ofv0@չ9@F\`<K v-wĔ!VPGG?)0 d''kC`oVN+H^ f@r<,m9tmF(v:"@>`k|tarqp 0ƈÇ=@qfX/+(>唓Ԓd[>   |[DOLy5 w!On??WZ*P΂L+nZ">]!WL?nsG?u#_ *+7G\qÿcȀ=@Vj`_YsC@jP7/^Y# >!!P`{bkB\D+_ @B }|NߦS 8EρN{G<N{TGr "=B0#n=Bi#^=B( "!,` ijo k{yu ڵ!YB'?^G{GiDP+ >щ5폌n+Dт1 AhD Du\%RĆGHޏ ѹӽQ yw켈/~<ήP8⏎?FÅrorxbDn 1}Dpw )t"f~q#{񺗌M o C ׋x  y,1'v kܼ8]adn"'<ç[/~pUM_% OW4Y[qʽl`!>q?e&as>ZOݒa)Ud{Xˁ<N* (X,Q&>:$Or,6Rf"ok&x)|{I4u[4q0`~M*! ˀZjep<*-Twa)Yr9YuU8aqe3r1uIZj DfDu.e˾0{͊9=MTm^~*Ir~JhdQ\UٸPGSaF{)}拎 .z"*,DKP³?s|-~TV!UZ![`*A uŋfU#򣜥_Io `Tb+1㖒-Gì֥ H/ ЬB#}2O,j>[LxO6J۫]uwJ)dOx"/WOMUj%?3gF\.*!Cm;"-7~xJ)Vy`f+0(O/VꂺҎaKs |Naoarv i k_bT<zQ}CS.}75ŧ\x:2ʢ7mQQ NX3l6 cYi>vUh0mV7%8]rg{ނ9P∫ۣ{)0 g"+Ztmzh*QSd֗ vlr'+vziXNe7qke7mۋ9Thh-Y8dl'@N{9_/E$d[uT9rT܋0VJ&$79dnEx"h죇k;lKXieߺ{p7pӗMU"&I %"$O8B{/w/O% t3baq|v^_4Ye߈IiTm#}0gS5Я6}Q0P"੼^dm3%#F, b`:QᯌWJB!2ܒ擢uŒvlzzJuI -i,vz$‰dp ֢r2HamAPdE&nM:FM !~ijuE8[w@,G*יs 9WȋvJiA~6Ti?Cu97BU* Cz8' ҷzèl! y6K6k﷋9q2 ~\+2Ֆ},Bמ̘~t\1 [;,%\VE7CS35Wߑ*ۄ;+gepHkiMpɂ|7l'x()ZBder|*uf?==tP42}9ۅ@?#BLV9}byO Y\[ԐJӧ2I@ eL͏ hS!x1喭ÞDgz価n{L@z_4s%D{ߴ d\2 8yGKՉ ~9fR]1c$` ـ̱`[Qt:hgOQ\9 i|ۼz^{LtݞXnGjY 2w0MH7ۏK\rJTY† G:ivE$)3/q>'<)/9Ðu DSAӯ$v˯BЭ>)u.f<3|nRO{).vou5qpqp3'<*Gݹ̓#SZw9Z:t8~/ɇ?pr-~%Vcĉ_>̿؞}>R3\L^U1;pQd}?xڭwUnΟ8"BvθG UCb,O[wUY' r&Ufԃ[K#<k}8)LN%+JLp\^ɤ]O z͗OǶb1?9sYhNm9u) uE-Z{/oǹ!e2FWEoOS;o {{ư>-A nxF$av7T#gn{<2'zM#DeRya^> A $b(4s v4O3v^l:n~yFk^Z`('A_T,?9,:%ì/Eat>NTݍDc"/A@406gKcǞ *cHoQUJkqo%UU e̗jje8*_IPy7j"oBnBHT V 7Pm۳M& i<J0| =W,ܬA sꏼ9qW91Oo+VVJUfK$(W+OY:at>O]b|aқtؠ>I'aUPN@l UfVQ F%Sk@Ka4e]û5NZ#QwACf('ҩAx:cvB ?}FMl=R/ odݿ!'‘JD8͵(@y@?iJL.(F,DCmRv-je)QE E8$J]mz(c,] izNNӠl mVdȃS۝B=+?kɔMNse=Efb9EOXgXC{6tVIUX5r>p[Q*+B!!ɨY47WBֺOO.?6x.E87.G s5+,seG0ܞZ|ܖ4j#:#Y S6+q[#lygi&A> ̈ի!{ #!Q;+"pٮ9&.MyN/œ1$|PsopАJ <C4.6x\'|1sIaӅv~ng˛uųC_vˉgt|r{-8KIPcV"Ґ$7&-t;twZ!/*8]Ah>1cAzp>L[ww={ԒO m*W `XQ_/a,^T/RD$g.d@A<*LѼ.Ӄxt9$IBvXj^͊Lqx}k4Zv#uXi,rU?딤$H굽|G0߳cx=Irk׽ R_njgKV0);nzOo2%?΍/2D8)˚MtG,L 2FjXѦR$v80sEi4at94]2yS SAwoBE?z:dĠ5HT8f;dq\D7Ӷ&*GNrZ^K$4Vagn>GwOu#&u_Y-4v˖Wf T+rd2#_ܚͱp5" ,9/J`@9˗Sn%D̖eҏi7QD5P8t2_jw%gGZ!mwzcmK<0i&F=DFk.chG1Tvձu6\-.h_aL/9GnʨܓMI LJi&CoE[$n|v#j`&c(ނ)Eѧ |!w .ԣ皢̜ t/FM̺݆$.Cӛ1XBWhZ}PMĪ]ѿsgU `$S;hMxhu*rm;Xboy|xUhfdMW5vKD꾊ǣgp ;_j2u(Wmh#&H '~,rס._ߞ~})Y;K#*檝%9×m-xPJtЄߌc >^ï)5@JYʆro:OP6ѩ+l7b Ӂ Xvx+dV'J#Դ>}!ov;(嗮9ZdG hєA 9ߖX5Da"H^1^^dǫ$b4S](Cs͠? 4SqF(c6i!9#¯p|M5{1I)cU[NGJQhSQ%= ̮ci9S?ivs6gs+ܾ^{yonwS,!OmNQlZFM5 +VO04Gr1$icNֲ5u@q?OKo*ĩ}*Sd~ )g{qsd`א_g1ϱd. QH׈FCLz3%kQ%lcuo u[6 &物Fd?x] ;6l+>bl[ڍ!hNXڰ܍A[F:3=,PvY5',pjӑ0B!U"ZX~ Ej06x5xAM')5%ӔV$|R;-ŇJ'm}Kό~w"+jٖ3&(wٱ#;,$DƣR rs"x?#*T4ԫyR>vc [0]E3z'oI#zWZ:L%C Ĩ9bgOpRgH<Jƺm0!@&Rv 2WrҤc`23t=#N3]5$ SK'.OiD"ܷV3B~˳|mWU "i4~, [pxN~ u֘ _Xli^ߦAPPщ {U-3pI7oQi7[KV=ݘ}n8)4 X~wބky#SK9‘`bgL3h6v5d{~clRrJImB 1qGV>ԩ7 te'8mnExcd L:RHhj-Ɔp-+7cbƕmZtk;2C<~n7mnj_ɑѢܾi4X[WT9rqpQdlԒ[(ٽv|sDsEofAXݑ{c9kg|Y okKgL9S̘aȺNO@h!PP"2떛Uk2l9)}ژA(YȣZl":$n[v:>_=Zӑ8~Ne=?F@h$Âk@S3%fSܡۈa;W 4y $YyU~֝ 5Y,j(7(juL58;tAה,h#td_PUwb>3}O2^o51tiGcLZVtr4]V/'bOK~H~ .Zdeb~b/O/ꨙ ibM;O=ñ m;K.m{81cH^gJS9Nԏœ/)T-0?0<]R\Ae뚹a *HqJ6槶-sO4*T~_ǵ c'ϏQD/ҧU^ $"?Ӥ1J 0+4@F"FL+1^ư Qמ31| UC1sŠ$ t6/0Jvam}Igq[fݾAŵU _2PFq$s$rH$5πTkcrrm-VvdϮM j\nc$K=&B=>vZ~MqN< Bְ{HpKP)]3Cât~ݪlƿ]5Z/-UeRJ, o{Һ_T-U"Z]B높"Ca+%'&8JG,.Ҟ"_cck gM§:jC؟1*Z\rJ檳6uz+>8O6N}0!tI:A.@}&GRp:~W?/D9!gkh TSse{]QSkD۲_I<-3;Ԏ/Q-S^SS w@\h DD{Ȋ\597/Db[@bAjK7/*]>ns4)/8pay(^.BFPkgc˴^lidĬg5J=|nKaTl ?r3b\fr endstream endobj 168 0 obj << /Length1 1901 /Length2 11250 /Length3 0 /Length 12426 /Filter /FlateDecode >> stream xڍT-[qZ\w @  R\ )Pܝnݽ@qq䞞{FHlϵ\ -)H&Pqqjm@hAN`;$A@g$9N9<ll669 $.`s @rBww[Z9?/Gt-lV ̀6 ;30J Y9; mX-20\Vuda2Wg,hM+_v ; gW#l NP98@CNbWS? !&lw0`TYݜ@@'| l4}9 ->7w{Nf`{g''-Qy v $ mwgd!vbnGP{V- ;لf rpq@5A:4?waogxn=y8]@gG(ߎFhs3d lYg{;?O2ظ|Yeu *7 ߙr ;_\7?|]>~Gߵ5 7LUo_BP??n-gBd< }kd@`z圁c gN`7*Oaecl;?2~7 <6hl2x?9OXY v)vh(7U_*XAlV߈{FV߈qX5յAVo7zbcX߼@g)xd/_?뙔;|fj/Lߋ=s ٟ^9/3Sm5au|&/_?YEήvr?7 9nT93,?/x d0kg&*BĕygTxv]"ǂc+'&rCyX@"ţQc ǦX{hfq#^2TRfM]GOm?kFvyL(j6ޭk[uopn9‹Ipi,ӴB*$gf27gnXWSc(Ѽ#8<9"f>hr8u_Oyy懯 ϥ1C:͍Y(9eM'`xʷt6O0NpWvg #f'ZL_t*^!*V_U2u 5Y:|?[ 3>4-g0U%ݗ~勝 u&Ӓ :%Sv/%ߵ3> R|ol;'h(j̾H)}0Az5lRҬ3?v{GhG L(h/>꿦x,J\7sݪ?DKGkmi*F}bʔ`&q²}V8duF9z񆣅5t᜜?8w]m9n:"S}1CJ1CB+F0grRco&YJ\'N8pfHu+gYر+9E64GޘMSHq7Dc} FYJTf6|@˸۸6!lDZ㷨_tN#۪M;Q_2B 8},M {zG99hn18taXj;S0UH!.J =h.v@OGKXRf-~}cL|~=^+MPEj="K`6{S"ehd'PR>ɯ1w!f IK_? ~N3 pIJ2n/gmү2~N4w![6QԼ}j~ޓPѩJSm'1Onhe%ce`њE$p0h>f:Oc`,(}(IwvpxVIP8Fb7SiB@⠖ նo:H.H`g;hsBgzAjjr<*v\^>2 Q狕u| +46M,t9T YD?]QZCQzynېƖz<~uQF%yv5йiD]lkk`LcaxQ$@[!dSbcS_R )~J:G)_& Q'a =$KfzfWí$c !p~{/?bx.,8"#Fg1ˁV&'Nlh7$ n Ƴzg#6}=}5bL&;b12e+C@{UhUi4bނgG)~~y?Ez z9.נ奋!}ǥvLk&.!Ez)5aoJ2k,#C!Eշ3 Eb Ih pzUowtbhh`WH(?Q^Zb`5Z4f09~ҍYmN pkfR"!G.H74Mf%|}xK$--1e:HSG[/oC{imp;q(K^PUV v?LN˞,FqEҪE#|z&;'-C0+}$q(ݥU;-a4 .d(# ۯջm3"?0D}< :TﰹXC}+mť}O<5JXy-̟3ZG#wHQT=9|ƸW diYT+y}$af K+[/?JS{9B E_'ѥSW_>³xS\n;g|W!̩~P7K75`%tY!&#! 0x`h|Ed{l\k" .cc7E0+M6I ge͘P,kf=P:HzeV(YXk@ۢ[L}^+rA gV>bttmH9v1l׋S5O'E.:jlK8o>J}NE:mnGxT"tƷ#-0 6X<;ZeM__g" W< Xsz M9'\pOQQ ֔e{WßDLxMs]O>g*,. 1 n?8!9.ϔWP86kp[*M62Og"+F/ KjXkAI2^;A]XUYh7 ņB4qg\G9eUr^DζɹCC1l݋9\(֧XNq] 02bk0 H&l`E}R.wjkh F? t_{LWy+ؼ?qAƇU]#kAɊzQ s]"f<٣pe NN[\$٭jmlf GQqoa.xBZ<ĿSJqx]Ą*g4i0̚|܏ CV7_ hi{s⿠BJ)_L0v4B4:`>D o ĈfzHMaa'dM:e$1f$FLaɖ턇˥\p3h,P(ՀRcQ'mݻB{gz|ϼI`sƩy<[:mP;42Ɔ!ie2 CfvrV7{dp.&a.&mzCt2 :W H5.%ivoiC_^Pt3if)!qI}hrW'叧ZJYX_3&Lɩ!)ՏTGix{sGsU*CVJGdy7 ER82wH6gw?bp+酋҄g>l' "*]_>E|oa5o+0“X Cr(ǙN[.&w9lPdO-_+`}A INxyL6v'qIQFfp%Ρc7vR?)~$ewoTtߓvS9W\Xpf1r+j#M te5[9D AsYrvkk; P8Zjɏ{id[ZQ1BR˖͠(ѯTq_!hsȬ a35K!A_'ľ GcV1lB-  A0HmV=BiVچWbNW4qFَhD|7֓*Y띑Av DdQ'26T{ H_ga ?hކտ=[D;uiSпSqK Z)IY Ci&//ﱜwQ5p1D5^V(8? ;.Mv&1ʻa|U=;H9roQ xybT3Q-M oQOzU&艸01sⲨfᏩlS"92 ,9?^~xo0i6YwxIQR}%qt~[[j kO\j):U!# ">=)d e fTp!%S# cz}34S*)!yBxپ=kI{4XH)]( Ҥ9cHH3o^%z~)jM7=9$[>fF=zZdo.kW-.:qLW.VUP ]Mz_cU\Mw u9um'T9.a|ElgpaCvpu]3,k]/;2QI 2(|pOqgeZ!O,(H0ʗA ]Z=,;xt~vc53(Өs#)]%tqUw.%ľ BVor8kxv4دieղZj5?:7Gy'z <7(Ֆ9=UZtz&lN>9\ܝD:^9슂WhwuA9CJ-xNڣ,]D1|7MtQtv=|IżbUetf/kONδ9̺v`uE`s+b`IIfKvFظ-4,ZzFF\0A:i{g3GPn/|9N {5tmP/GmUbVmS7c}O$rLLRCfZ秠de%{ aWL8ESb"-HpFR`.p<3&;kW,v5g65E*=: +~ȫ>t@E9/UQBzrOzKӳ)si4ѶF}=VLj,xlP#3ب{Z'Af KKg6)=2}~l '#cȈzPI55aeJў_ zIʙ, m6 K(oZ]gvQ$(5NGG?yY1IA?X5-j)N﯏xeA}+ >+u${Ӳ[aoIr?!1iZ}ؽ,ijxYK~ZC4E4!B%սOUGgڞ Ynҏ~ N"F>}v6AVoM"A}qJZ}P9h*V=A(!k:":?V3ΌMFߐ6(0.\'FQs{t2W,Wz0Nrv0Zs qV+>?i.6^Qf>)T~_}!Z)Ɯ>@CJ [<Ž(y(Jq//\}j~CIB3޴ __W;Sk5?CĕQWQ%pa8"&W'j<''>3LkLph!!NA}e{Mxq7#wV{;sP^aZ2;nn xmX/Oij(f-o:?}tAWշ&ׇ7w3?V#Co/`jfJbcvFu]9qvwxрFg2Yjנ>UطTM+͜R\fpnm/B aZe],5#=e 'TybRL-^Gru޿ Я%^2ًjvRjk*,fI+~#[MW૨\)R6fF]xɣd, Qd&"L`cM&X !~4=nCDQV߃t]Pu|[(Bf!"-X0|sݖ0R ֎veOy) hJHYCv Z0QH&7u|BQXOa2lzo8.j6B:91EUMjBłN̫3q"]y(JmB$U~Xu,ۻ*6[V@7zjU F[~Vdk "r6H=ep87x!^:-#ۨ2gVyEzI jfMb3RIۨ!EOVz$3qO1nt5E<񩲌vW4F@edOBI=iqm)Y]"M/u1$*}$k'du[lin6n;L1v]sLf57x5k\˩qR*S808Dcf\?@|i8|瀰DzQT0tЗDc@)t ߍ ) AO۾[708B8X(2U=2'atDIi+ZTxJ8)g쐄$Ԋϰ/p9L Uxm818)nd ~TkƓWe1ϒNye!Yn]ĺT7`ǣij < %lH\!r_{hHgwt@IN$2~x/"`"gdͶ$K2鲞+۰{,k;&6HHT;We#CCFx{|)e?dzZwĻOg-pԹvô E> a!(Ͽ3>O=@\.kzjjKŁ#pnkW'mTLzw+ffVo/ΨӅ*:iwj%̶ZD/_g6Cgl`pǫcGɭ/͹f:]j(FbzCTAqWl~n~}qi7Qޞ$589:y3dI7g 9YU.&PH;ÞE9-9\*laajXRmj3H⣟GȮDepHWe =D`͝Ϳ6GɠHWjuC)ο,Hiy?IHW]Osb.j!)J.UZN=G8sk LՉ~1?[ bZ@滳Jl9Ï2V^hMUƥ#i-{ٸqz4P~!BqtsgJUk{$B5;.6gXۿ9sA(@7ׇl:qk (>Ttk#*D+L5؀wEds88%8$-jZX*"$*RW_%S+GrNZ@袸aIpw)hC&ڇfNU܏Xx<?-@v̑{k B`lDpkTĽ(?6+u`5|>0]_L8iAQt2"oP5ȎV*0.=Tr5v9wmC]w'6µP-!:3eIH_}I-J7$0PD87'-It\@R|V!϶{鹐 :_ڂ&69KDP/p \ 0?Ƴ<eد֬ zm MrMmG#KFV H ^ˎevdzNqs#39$7f_SAvҷUK /r,-{~2 ?gFa$¢slFli $U5*L2Fc,WR eLBZ| endstream endobj 170 0 obj << /Length1 1626 /Length2 11325 /Length3 0 /Length 12169 /Filter /FlateDecode >> stream xڭueT.Awww ڸӸKpww  Hpgfάs{~Z_S[MI(jjo 12-m]Umy='%dio'a4 ˋ@ wp4hU4i`񟖏HgKs;LJ+hHT %( VTHNF6%cK H 0wCۙZ՚3G.Qghbt7:eb8l-?s'#; @K;ӿ|daaHd r6qt>*IH'Wmg3寖}, ;Z@GdNpq3'#_gֽ{K3ƌ 裶_"kgf`e?m@D~02A%4;}$(o=\lll?7qdw и_!F6dAF#3JKg)Kw%`fd1v@'K;/65 Kk hg?NaSiX'xLק5 :V߲i|#O,S_Kk6*ր6("&}kuY|7ݽATBtN $%G=F* ȧ}Rwb7U77z[=UKo;\.Gk|^%ſjT:|lL? ->4D5ԇ1X,$èqu}!C0x?18@=7x tsmy n qW%RȰ{$yVm\ ) lHnMNSOFHqpuTH}1 ;kF?l ӈWBOo5Q2W`Y{-XtW?'_:#2˨1ضr~]Ub~G71)+׮mk dGIM$cZsMDP{zZת <XO\VNGfQΙ2b-G5/ G!sn#&@T \;㸜S \@'$MD7_aN(4품$6hqzyQ0_nl#a6t q)۩ySN4h)`ٝ^0_k2u{(쥼)d֒<{/Jjr-iD AD/| 뺱Ò'= (mTWB2RИbGb}_i#z&bh`fj;0ˤzM6ehMnAgW}Z#L˿+953S^H* O=P6{7'=A~͙oڟK-Ro@ 2!CƟ{&l!A0(K'VX2Ճ+ ۉp+緿%޼|_ rLSsk\+ƊZ#(^9N | h>N d@^[V/9e5)+_@aZEYӨC&iޣcN㝽2yr50W>2cAj/-~n 7DG$JcM50K1 bQ9jvbӘXԺcAjg]"aţgj 1g[椏Cw< iV"hBX9]LpHh>OTJX"ű=,\ }b|`X5S wf@ToכK@~fpXnvR԰86+H%ik7(_b՛s4&S!6`3i%H~QǤ!-tD&jR57+dERͤZV"UqsDB/'Z̖0!0`=3?,W,/ٝw ~[P'DLg# uŸ/U%J\q(GZa՜p^0X善(т6'h0?<1-["{㵸FEZ).|UOiJKd:DTptF%wPP# dvg|Yv23~f"ԌntOJZ~0nztY53rmZޅEh!%* P `zZ5oK-ۣ MMr$U䌇/U>cUIט5UTS)}nJĨ$L+V0,]A#<ʅ1TUP{ ;@:L5W ke$nJ`+plwWn]~I uZ8d"io(/>.C{J|qfnJJ |=zꠣSa$ϝ>Y,n(BZz,L}+i[Y"z"AeX7q0!nk̙ˮȍ3bR)tZssx+:I~hoB¤h<`88yB|_,8 |s}=mKj ,xYj(L3`CMf\n(}HDêJUg( Zw>FO +/{L#Eq$Qm*\eAֽ5Nla VpMu c T.GL:%.ǯ- l)ɯ qP0"?vFhnd8_?C rj>UHݠ;Nj+9}^1uR%g mT+m)S lX, d簅 ڧMPD-e*M~E]7#T@D5b~ $|Re k @.{5f+{ Oyܺi>dYazÏ㌧loHunzSO3~!j.@-[7;8BQXY ޅj}$u2s/Y 77!wZn:br4s,cs˃x[4t3^Cx law"Ajk)7?֓`Z۶!uszaldFQYfjuSKMHNN v w[fq^ QI_Ua|ҲL8_9ZwS{mqމ}3qk}vQO~JZRsva:Ks1;-Cs2cl;x)mR8wS~ yo7BFܙ ]!Tgև6! U#@t~/t} "gO`Hʬ#'q$QzChtE"r$@~[Hh5#`ho/T&4zDŽiy H0Q\EP3 h><DyOZ#nB жMR?_# 3vꗃq v&t8OHd]~ Õ_iZ6պ^YG&x܁iD|u6I>gXXkӹT+qإtFRsAމZؚ:O 7 S\CIM+/_䜼ppϗ-U/8{"߫HJ|tVid6t7'!{OtEA9ʙY1LE=y'g' $wA{CU5Oڌv fXS1EBvdXÏm@bs 3MN{x4I5tş~G}ʹxFYq2H^G R(1S'q[!Ô;M}w+!k;ɓ4tZD|mtݖ;:踟k@qt"c_MɌ ,$Oگ L^S8H԰\UxѲMv\dn /+9oyEcYm̧dNIIy/Nt>젂[ZtBUA=|?1(RvJw#AIc`uFk?Ɉ蝐#?|'(_D5u|{8,!E=seŚP 檄Ky`k|/pk0vЩ&ve:yΠ.3ymԞjK;y !οvySa >ی U4r5pv멐Zw3覜^{Vh[3N׸TaE>&;8 B/Q%ˡ$OL* X}Z ԊH3 BpJ3?u9JorHU1^]ľO#VbɃ%ع3#M^j%,@ Ku&-v'zt& 5ڻfףPhl fj. tRHIFښ5[vfTZ^ j1}o!lM4Q#B幽;C9/7{ӽ2KŁT>l"?F{'uC&<-ߑ7C(aa?*[uNm0^<B UV:e s%Le{v*WE!p~C1!EWbww.uϰ¶xeXl}14$sC3%Oh#QjRߡbXW\:? hXS4 KT(>14C4 }G!JܚlmP)fU"H#Pp7n=jP9 7,Sf_ +m|/ HFi\+vyݗe>{ :i0)Zr] WN]/d{ =5k[kX<):I0 ,0{dZbh/6˰vHB^BV[gއ{y+e'XO%ߎ/k9u,ٯ8uZOFs)cG Zz %Y< +v&;.Ҹ'I^? ?S YS|m[[Ͻ)a+]1F؍q@mu?tAgC]n],~ŅRG5zNagLX(Pmɚ+J2e77'C>a_t[p|Zݷ&qZB˭.w;YFV8Akbl KmKX ڵ۟F#>, |j{˒P>(! e`y2CE8H!\i{CqQ\1N{?#\iI5MRD;=;vRnF^=8,,T }d7ZMچ%;Q^nfi J׹P+aMI5Y a*Jpɲea[1 γ٭x(^B]rj'l2dƛz];mzïkTIGvoc?Q: 앪/0?&?'}AFMV,ycs%XVѯj eRha<>l#9S*o~d7FWESQWO0Q֡,mK}OʱwpKsbyԣV]ɒe &fWK"ĺG~I|WG Go ( Q%ٍZ8_`Chi!1@yNNJNlTjjlTo oJsE˻SbfЉwqg"C떰"S0#Qᔰ7˱EsgE_9gG90䜩Gt>C4|LMOI)6.21< ['7F 4jp* NwUb`PpK%{BTTi1tCR%'6:|ꌊ@USo/Q^󛷢0c_j 5qHVm#1)5M&{gxϰ,~'̑MzUOeFA~sa\VR8 @P>d[I=VL ÀOԢa§T$ rBmf`µ#V$ ؚ{! 8QT2^vC2-Sgv*~xGԖIE}/E&`uw[h½(,BzedFMabΚ6ʃMxҙdr=4?[R!^;xasp;N Q8wGT9`#qW h:^o М!EG˪j;Ѭ!p[ڶ9Dٱ ! /j|8]-@+&c>#o缒ŧߜ`E}S F&Od-Od_/نߞ/ ha76 }=C}L??WkД@Za7O'_bmz j}O@(@to'"fߏR )^OV$Tu-kBiYИ e )n$b}W X&*y]TDJzv?m+lSU>qh 섍YX2܇VIΥT "$f̄3N'RnJy>/K,9K=* da'LaO'z|sH~8g>#/$r4/>) ɕNyY<\*RlkCU/A9-"UQ3^/Hm8fjS4ak ε> stream xڬct]%[;w\mb۶m۶m۶}8_ sa&%S050qaȘ[8;*ZrH(:Y`HImm9FacC## dk`njJAEELhnj blekgmlQdf 012ʩKȈ~(ČmrVisCcGc ?9p ;X;:;Lm`nchlO&J__09[G'GCs;'ߨr¢L؎[F/_Z'}sG? FvVcs0WΎ65T/_um/ - ߘNc3+6&ˍCbgf(&odkc026ue>(o!7r+G%ZJF{.}=h>V'jjt`N"`czZ E݌̝ &V{/_nV =)ZC˿U6Ft+:euiu͂ApRr旭<#(ha`e03`d߄;94M'#bchk(:)Gm-U_solfldkdT;4!t(خRQ_moZGGm0mW$H/yOU>71E_M6:Rs(m0 Vz y&g ?b?T';ԆXNF ³sē'[XhR.} 3$'w=߆_o.lUY-5?]=pޗ HcvP/M b\BC`cx Ƅ$u;$WX.x9,3W8ba#҈X~X7WgGJWWfc#EH/pƇVJ>1f8rxWYG;M%~OoOT.!uK2)h<dOFjJvֽ̞$.L53 r~|[%|`(.)թdtC#SӤ%?B$`eWcrRD$u#.n%s1./x 3ȹ3C}Xwƴ DzJYa j 0$o|$N[֓t4jUOqڠxCtp55Hn[ ғ[*cA I^H<HS7(gO(Of)A&UنQy7J.vݔς BH{w/_ĆxTF;T:XP(n7MGRƦԈdCw z~zKO'STl #*0rPL9L/}/"RGvZt ⭏R12ĊrxJL)*,o[jFe6VO7W&I` ^G&43 Pp \,H:*4U}64~PQ!+n.ˆ)ԏVVKs-JvjRNQcsr5!;-rIaqHP6lT[H#W/m/PJqŠ*KI^2C)GЪ*Feh{NN駣cT`kՄK,>i,+5,ⱡhN̞n`c,ŠjH^xA{/^=-<ǽWR2@׃^k^]w4K`?#~xr.V| ixfJ$# lc?ED3zq>K//yC/0Ic eK.J4}^{W;*=yhwó+%I"pM+*צ6Ӭ`J.3Zh*D=a׈.o7,QTik!wZ6KmY;|(|vdx5̷N4܉3녝hHB^(۠3RR*MڽkjaƽakE EG~K>kMiذ&V)=77)&桰5Yl$('T~r;aГFiqˍ/;ߛGz7`%!ގk ܰn ]vK%0g!,d<gxE{qZEL yGr: FR N^YvoA+TE@K@^5 `m0*2JUt/AGc7ԇ4 9<<]mƽ:r*ۤiBVyIn jnM(l[%Z`lJ8VDi$G Ғ[/CktKoi=UE_OZoItnֱYZ~e+׺aT S(+0W1kE2Շd{?$)$ -^LµG/Sz=xi=h;vS@vٔVk͒Az0u D)hɴ$9%ˆ6 jʕ` =돊:&/1 GI 2PXO'j&Ղjie742Uoaș75[? H%H+m ֊ʙ\b4JtcmeO!qNd"- a]H΋lzۍŊEp %=QozȎsN< #{ n╶cxa%,!<[8>*TcL]l M9Y?jS$KM&y 0c#M2Om8 Lƞ¯Vhm|BDu#2)2tZo튝jD 0PzCvҝK'3كQx8jKj5wz84WQ̏V~89& {)9 ';M{[d9pP ƘR=m\z):XU=̕zG%bjj,nߺwzbscB}! 1`ؕNftLՌ?}Yth9޺лN6Bv.$PtG8' @ne^k5u6Pv鲊8~ * kSݲٚF=@놅839KIЬ9ђ;W*u9 :$Jaax K˄"dW tɐCIjPj,KdyO4 i՗Csv}Z2+zMҋ>z'LRヰKA/Vt1*1uNmR`(աZ ùgb_:|?fMZOt,V nE̒-ӽ#rcѕ PSO,P!riU?RnHk5`ƍqTBsqZ1ߙ.J͂nK@llP!7;t ~Tfd%ʲvhp+crRr7q-Cp Y:̂6fOOOc ]2]e,Lt%0"iKPc,_k0H%㼳ciy&wP/h%B} T5 '.!۬aGX?@;$`(#6pvS;.JZjp`NX锥?#tJ~}#OnE' QQ0[&6 F ;,q%˻JmSCCTλI-"#^*0K y6* nZRK*ק}Ei]T+ZB`>)#?I-*kKfB=* Qo })vPOr/p? qo#JB1h#hik!2 zch8/Mo~gqz{h?qS0ga7CXu w-Upq^4aYf +Y- k1G~Tz&#FD @[59ImlS7I%j"i"zqV|zӤV:"}ܭOʆ2Ė`k? nUBUK t3؋Z?[?C*'}GP_;Q 4wlZbhzhCsX%eԗBqZl;d nbfie A+pKe.$3?&2f}~/ O# 98Co j|lg(LD &6PyFq[K| $`jP# "hTj=g5Y^f磓w'w~:5Ċ*%R8IQYAV|kHZ{3+ DQ쇴s+tXltru]xt^,7xKAP0r*F p闝kT>$wC`ϭA)5rQ)6w\{{hҡOY R@ߝC\.Hj*ލPG37s3~,4n{[~zpPdAWoqU|A(ϋf%ɦ6H3-iiO%/g=OVF6-*:1M>O`x]TWCjt,8dSe-G?;3 Wo> Qc IB 8fL}N[r괐72IM K%VK ۢ;oPsR p>#kJ,ϓ=d{ NB: 8D[Tvc?6%n0c_Q;U /(/|9t26 Na!#^$$eMl:u#Bʑ#qR |ӛڰu F=& }N!jM93j[fz9ê۹ʜ.A U x uR$FF_cSM+ ɧ GlxZv }|9]YΥx2)̿^ЁॣP.x!Z ثRx.x_}&ۢ*SbPm.t"HOYF-'Si/W8 W⪢XJk)2bpU% YͿq$x0cEotWĭ۴1@eN=|뙥6 5xCT1KΥD?4M#n-e+rD ^Kdo9pgK4J;7`1 ChI(nU[ [!,^i۠I£kL(BFR⩧Muav kC!4ȧ[Dhˁ}A"(g?FR= 5TuB$*Rw7z- f)T8Bd9y,A8REsyЫGO-ayEM r U`t-@1uH(Z;<: %wVyB,6{- JKG2Rms YR1L$PgꜚwdyG/'VujZ _،_!AKo)띇;Vc`9X(dS\O`6U(!EM9z*daӏ)J߮E]b`CSOCJg!AUj|?-ܮ&G%SNDG*@VJt,+䝋^BsOZ;}PM]gE5I#9nk6(&flvE yBF5g~$gPw,y;2S&?^Sr(c}CK;&ڭ¡v5D؇աjXC  8^Vs7sI^HK.w4^K 9Oib":XpQjszRVCWKxL1jlP}p?9jU$qV٦pg/ܽ-mpQ]2N0{/硸,:)N>\k XKi6pWx3d.* :i|bs*8"Akc@;sUgӭ Wfiqy**!jSR+˄"id$R1"YzqQ6ےeNTB$Y@6fwCs)rz O'yzkc: 8nmY䮹5"%mw7Lk#,OC].,Ӌ~-P}r^(>6( yE,rժֶ_{b TvZ)q%Or^V>X.Q{$p#AZ݈gM:^*hrgIh!/Hkʧ鲺eP]BmC|O<8}F}6yD;bP*iV um¬eӏp Azel0[ȣľNu/8')X bKGոal:e| S)g[W)c Aq2WMcfY_t6X,Ԝkz `i9*+i) !H t~*w [eox#uT_$DkK6G 5\n(VX{P5[pLjhUb(DNB}!30O r$"Ik\_$uL  [ ODC|FZ$?2-0Uͬn^~Aa=Y_U3_8'G?x=%ڐY]?SLsU(tcr%#NEANķ6_tجP€._?lNuK\A'tP+KYVϩr>`Ѿ$N4ϐ!Ðtp2W3 },DT=VP[|.۱k#)3CL]~mK1Wa[7lH)Md$uͺЊEtc1͔ ^+iN #Q"`8TG]]qIUwХ#?((Q&NfKttE ՚zDLR>ʛ^0NbeߗW4 v-/k^V)ht:}#4 92.aUYy@B{dv;q;qli#V>"HqrU8<ˋ͢y,&vFpZԎ[ z#*B_YɂB94lY5Y|vĞg#~jI9rxk47;"A&oY?4xF䢟MɁo^XIE~?TC,8%jNKV;SIH`r#h>K~ԁ .YҕIdUeWXgѭ%8!޻9Gj =0F,W׬;BQҽ)pqPݾnq?ڋe4E~^RcGR PQ2)-L,!F6g8 ĸ6kA²rNL, wgXo]eʴiiT .]NL}>Q[!nuzkGا.\Tܥֆ2شoz߃nݠc3+^CYkSIC'0)mLVU !gvQAœaih"a^d<{pw$ h<Kim~[鵓_ 6)خd~FOZcAMyL΃(Inmg3ŤPʹ˚k!SRi4Y$6 &ox!t`mnBJ[V=q8dDo<8YMM%>$;ssS_hcDwЖ മK#%Oc m,8vXC(G&|;̖')'{̻MGFy|^xEgh4 l U(J!8f"i 2In ~'Ralpa0M4YEڨ!&Y42ٷx#ŝBd$  SZ"9>I0vzS25T ?t\j اO\Jjf/g}ƯGqvlp;L,GkKuW8+LI*7]N]|Gn_-u+ a­]zl-xʍv:4m5oC]!PW1[n}vi.6SH:V߱\tӡ"_ &%˘3"ɗ-Bqz$]Pz+=]ʢ3?|=8[.vID~~q۪±?Z&]=cX *,-fd8ы~~+aR嚕լ~S@Oy[{_9 zqWN(q ׸i׆|1TJ5,-%ByA' s*6^Q3o5OU(]>8OVui-Not '0o\][2ꤔh>kvBu o;Ae{޿&ÓхJCs:_skat"6SH̘V:-02:%SU)<Β{`wθ_Jq[e~`*!frlirRf<U4?Fv>OH;:)ϡp`er6\x q9^'43zFpDT5D\[]l3q1bٜ33h1,M}HUJ>5Ki4C,N%S{M:,vfmdGht>޾z@,-Az&9l1)W] HGl%|[*ԗB͝%OH'ZZ]SI$;dId 7 ~( 2}J~PN (+q\ I)M"!x 9E VT_v~yJDfO1*Izh̄Jw\=l?Ys JAGJL<9c`UP`b)Y vfnkI  pWia~&wnvO.aE0me=ufiOvN0O2lUXBsI6%SDb|76.L|j]gm}'F/`_O7)q_ w^RXe][!8 b.p_6Z dSF'>>|\ _+U+rҺMbL ¤ꡲ H,vV'\?vJ4C:#xgAC\+lC02c]]Yeδ'K1"_Zv861N.rG}fFAO1s[ `2껥?_N+>g^ûWyO%9Y!c6Ŕdeo*ŃWK\rYTOj!E ]U"cq^u}6GH(fkzAWXa%g&S%#YHx^ĺF907tǡ(B2=EHn(VvVv2Oǔ!0ug.b?Y6l|?E72^Ǻm*W#;*up՜}D&\{J^}:4hEI aqnd<y&mw-E 4PR༛DKXaRsϹ\hvfJ ?fEU2o88Ry1E1g ^*bIJ^==&x)=6EcPGK^H-6 DWR~K$K岃rn;PN9րssL5\9U|ϕYL7-' p/޵^PR_B7[LE^2,Gڳv;C%$ҏ?,D2- yn{ߘ5~NTժ 3y4̴{57,A;,KdTvA?K} xdW&HA~k'fܲc9Svk܁h7?<`W?*;dAlJA@=~xS\4*Df71^Nj?rFIa~~xHtpõ 1ulW:5,ӭ0ދKh֎D6&E^hk>u %vꬂfBב]f:oRW@4j7zS$PGߘա-AIap9&;PƳ Jލ50M/ָm@xA_^_ * ܘ?wɜI83d.72M@|@bsy0mJb 9#5;?:s|7ÿ;]-cakӎ:cpNg=Pio3*mrت6MӌhH4mè`b,Ja䫷M1]ȗFNb79A ,S*KϪ@!bjJW߬/,! i:9s/q hr&egAn;꼃^iKݱY~[Z+F{3*gM ;s&.;R;aK$W@+c|dۙ&, c*339OGWV|Izhr$LaA'!8Ւ!L+^pΑa}=إrdg ~vY@r;^֞\!~m}" 7GqONS 1o\efveٖ'w> F~a}oK$JL Zg2fr: f;-ZEu?D{%#ݟ_Zްd` ^L0!䴤a /!qNF754]Yd(Lf/ S^KP|\mDޱs'ᝁIzC}cX8tx9&i'.Cb!IGb~?4[Gt6 Ud;Ϙ(o薐jY,DqM}2v^J.=I>sc~[|K8ukuXBf̽[ӷ߁~Lmer0?“ 3 'DQRyX+ QØ pMQ?8j E^dQ<h i)/{($q۞|KRzUA<[\˱}je*nvt3MZuQ^95ڽ0зI ܠh_rdP΋ VKzσ@ HBk-I\<[Ix)=]%kDExCsǙWCoLg'Ϸ3>;k YSl׽8=-`(Y 2$cBcB^U &G >+^r$24J>.WMb~Z3yvmOV?0{S->M6q'5ik! 4,9^XgQȧ$w4ѩEjޔ@]k]cmKUx~@ p}kKћCՋ̾_cz(cbl]<ȚnڪM+0FOR̯6/[lzX\\);<-2`2D̰pzWvϔ>ڔEe5z|06[VcCIG!JYByQpN7/get&a5(ɶjvzEObmwLhPQ"qN4\ 1<JnS`yQw&bm}p'1G6L ^BҧZhO 23*p ݴA|_->cՎUt\bTVQ`8v *BFm"[iS X_Λɝgt@V(lCӄS#6 T C2[)Y p eFK4g2v6Bem lٴi Nk씇\Un!@3WZJ˟q/kvoU 훎 \`c޴-h4ˑ4]R V?Pb~G84ƣkh5_hjS%ͤ63v'Կ ˳_Djs]<׳duq p&%/p,lFSm*|Xh)WkRm}F )h?CZqs& l:8ۖeD! :k0%@j鄄7 ,3KRc? KM<9 #_Ǥm@{噕4K,#ĽGZ􍂵}=Bw<BtS6<>IK'w=w_/zaGxkzs(PշGc5ԲCw_bދW`ZL5wJx Pxr1D]ˑpy Ÿ xyMF G}#RT R~`U'EbQ^| +a:#!̦@Yn:-ba?љCތi mܟaZFg=;ow.OrcTĘ[(Iiʡ1lej/Iwq}L^ 5@A+aЭ*U_M.$um/WXG)8^ܡ"onl'EV6RNyi/4Sɵ ?Lif}U6k*FT{ٙ'>Av]iNZѧ]"`0J].ns_]9,^-I8zHCB㼘L^OЦpG Vo:"bm0nqnLWi?Jci}n߽c8nN){UeA ]C7gZa?~:x=i~|G ԌC2yhjo 6bnlV& drsnIID>c!JSC5]gEq( *BCJ (]ߴTǵ-cQ3e6h6(;[ / (ӪŪː yOz'>e=A=+?&R @uE3o@X|/YKFl6AȈJ:Os)=0fSV3=u p~D-#Vtլ7(LW0P!|ޗq]m*2{4 VQRD[bY{­ԯ &sfWxoX[C ?|vtA/|!NI=kT`qE[d O,w҇U U֣tt֗,x }8k5ɖ̪]3V?=i<5cp.Fcgp%qPQ[Vٟ2[o3%ܗ9nk'zGqaJeY":ΐ$FGQzA_%#8Y+T}efŴ$GAn.K A߰c-ػXZYhw}Ƌ2AP5 ]Sv4!!t;B`ş3Q ," #u>(F/@rų`W!#N?5l<1#h՝^F}63W۞a8ۈ\j{eEtq4-Ou~3j6>EI{mHj*\IY֥S l[iWW GNƮ8,ÞF{&(<4γD(BT,?_Ҕоg%X0O. M)ZtW'j>yLIOZ*jR>pP1w`yN2q|a$"f\"[- A*=+0NZ]3$ƻNsZlgc1%OUcl^JtnMnZ2Z~4HW AH$Νo4X},>ChRc|`ab.[!#h^㡐@lsF endstream endobj 174 0 obj << /Length1 1647 /Length2 10039 /Length3 0 /Length 10888 /Filter /FlateDecode >> stream xڭweT]ے5n9]www,8,X;ɽxߏ^5WͪZViުjY8A,e3w7u'e'>EuqHMA6N ?@h89|||(4 'goW+k^K]?[f@^=l@{'g#@@= ',QEۘḿn@+Oin\bnS3 et16nn7# @NGs{w? -Ju+Jr3wq^JJ''+ p|idWWdj@b6nޯ_ɜ]mJ0\V@7WW?:zSgg{_9؀܀(1AlQ􋜣o?0_Dg^0prX-Qؔ@!;Y}"$o&j.>+k=g:k?gؘ?6r+w1GWX8Y6۸Ix-Tm@KSˮhtq: imcnG !ſ_+ʪI1ͪ]v3-P;y|X8x,쯗:qk%SϕѿH9;Y# kl_@eq\ 6#3MAo7@sifQ*u PK3kp<;jJ \H < >Q8cw`5@&}:&aʉG0}z6mzUoٝ*Б2I='`x[uӁ+k !*@8iS&ot Uyv5&;i*Vf4t_i6zc9 <SwKdY7jMxIy@DW,EuBO}]cBlҠ} ܇ʛcWq* K6 ŘOuּuoS~}iXxӍNVxׁ!byѭEytL; 5]^Jԉ]3|H1y!|eld66Z]|ͷJVWca| =X>qoL8#BX~EY@#-|- d]8놱#K``yR0s7ݙ:VVT!6:KEZdIc})DvK"s[4*c&+4\Xj Ԉ-KF`l,a!49L0֟kz6ٖGiEY-|[jek` *e`oĹy_mrNHéoI EgQr̒ ,ޤUO;iz$ex)CLܧ?l̼:W'p;)7i< &R#;}?ԙuc:n(6:1:\9"@VG(Q6e=V G{Ŵďaf7t~N  t[K_a7=DvݴC8XnD˱~.lf`jzϼP-A_[f e'fjUHdxҌ ߱5 ùxޤj03q̻T{yHnACպ8wH@ddHgSRkXVY(%U)LwG!2XTMn.#Z\<9 ƒR>0)pkO7h >Sdy13F"H+ʩz,2ބg&=)+ӤKg5ƂD@SbE^*'z ՐOpSp_֎fUTua>z0؋1Ɨ">epao7zx $uY$ilgs J|WPD=TH~ٵ0Kjiʹ +Eսc(z ޮDRB$PRjhvݴ)hy̛Bl6TX:CZ[6),*D:q>Yo69LzBQ$ZGz#  (U6n' QK^CL PrY Mط}ɚ]А4,/_&@oѝzwfЭ̘aI-)_/yv=` N +nf)K9j>r.N c TT4$pm{{\zEHc [cpF] AK*F dXgl`N=x~5$5mwB]Rz HPpO!E;.T1%8/ޛUQŞ gFZ~8ׯJ \'oX"pj|unT ,Z@Gx LCzQ!q&~?luqn] ?cpi "+Jy@baEag> ^NpHgȍvG\uf%MHBM2_͚mg| 6 wL F"s:wN]|߾T! G4O8W,+T,c I#WnvC g[\.z>URmVۛucqt4訕jIx?!VWx|trh竚1.ՕC*-Fa5{,@F 1ubY[c97l}|TQ*X4^xZ~3nw5X4rVfѵQ @ hm\YEePࢉf%\vN}%!XO׷eyFb;?ygh Qü.G;açz#Ze36]ӹܯPMѳc.Zg N%,ծ؈,bEb\h|p]䖝%Oe0n6&Q+-V&?n)V ְ\X^-ebX{sٓ0C9b*WzkFmܬ!0ʏLYʇG.R#H[&NkdXiK.)P_dM*!'oz1>MGtc2LujEhv&˔1񗝵O Y`~PRSPE\QSLX:B&[F)!M4)5Obg=-9a(T3i%\yCA9M]r~ Fpu aD@mHΖgLM9'ߴ<U8d~oF)x%;>oE5Y0ewe\IS)'S#3Oi ͧNsP]8,=A>"3q=+C^1{*ivICZmI uSa&>AGG-VLLdan} 1vAbxx ;BJtAZcxN,+5=0jl]4Б1lЅN"#3&G\_' m GPz5"$x̱!ߕt6d@E&d%<");TI^x+ܵWO}:wKRkBNbKSÓ넎?[hca]i"$2i 1I7В {<7̍`EN|bН_੄ye5vtPgڈ=nlK9Q瞅װ>Oan'>ȲhA Lmȋ8ʯj6Wɬk@ HBp-Q77MӤ`k>E/$qD$R q9 p䋸g5FXyp!7͐> (X*Ʒ2o2&ƫϾr:$b< wäD+&p| i .iwwo.GMeW(k~ H-q GZmc]W̒lJHJMsA +? eA# Wh&^˴\wgN]ew\fᵇvjگ~RhQyBiX2z;殠5wRl ;/Ճ'ɳ@(|Wp[wڎك*}3Fv]尫O2^RÞeom J0L(RIY x+sK4~ ÍQ~HU ݁)2\O' B+6<}BŜ@n(egCg faO4^g?F䑡t/J65X:)xos'JȽ,l=* 9a>Iͽy 4fL4Te>(*zؽpKA_t8eF& X]ael8tHZQ_+? DѳѪM {ǜAP\xCyF#mKLTZE1VW pcػvUo=*md^)hâPt x7C'FT4u$v2$fBVksR"hxQq>ݔ)Hr~Ѣ6V'X9`zZɴ[.XW;p|Ic=[6;'(>b\8Qj>. w:LEvb(KZo39d+MDYJ1o7_C ZUވ>YۅEebrfv,JzK3ǛzB ďЧ} xۆPۍQ Ē.vV~>ډQ^zGZ|u9Ԥr b Xڵ됁3ݳE.{u$4{Ws l>ffp->R,w3 N$JqCZKΜL?XLywӖ/RE^Α|;@ z&_d= ץ9EGEvO2.fPmCu&hȈ=eP>k"'N|%0Z|l+5AWΚxc=lYflohhI=z>:-G`3.Μ%2T&%Tls5.IVC V 0w/'gI747R]ay}XuUWG_RWi貉 xwY+#)7Ք51ETIQn]"3&N= Ο~L.?7!+kg‚P:_#?6L$įWbm96$r 4T#jF;&3>C1_Dc%>w. sFS$+}Q -n軖^,7vb}#L@ŧtd==hoP M;{U9b\^r"uT^_!w+S8(ND> *xbHPwG( SN^G;A]1;P,i: E]U|&b9[^CDXD |]že!P_D wd~d@zmRdFą+j? =\22;0R]rWÇ4۳j7hnG n+[-/W{SK XVj=x_ՙOd s*)e,Ӝ{~:|qB/ew Lۺ E1ҁ"oŀ Q^鎼7L*~$S,2˜M f۝mt%I؈TKLpRx:A렲|Ow(-,N3!ۦ7#%Pr;gГ%Qzn9RE!W6Qb{DsVJ8mHTnȿz8LI0ʂV`/ M5>)ݍuc$S۴OPesbqR =}+yPqF+l׭k*en&@ {]<> wȄM+8S5TЮ]I? }`ʐ{_ :wL0!p؟Wxl0 nA$Sr#pAcG;ۘ/E l)0x8ĄNk,aH1o%dTAvbAGpE)?)D/p+C%è=c X#f5{{x8bKy.~ҳda zHTIe 8ZTF`#MO._tRl5 ƌ=$v|7dq^"q*So"Y1է=k&}=C_}+G(LÛ>q%,uG/2iR_KM`78ij37nϓ8["qۘk$GжRb?6҇pm D8\/ZG *<ё6ryB5<o&*3Cf@ jL۾ngY&6 El(/*mL݋Hz0l<&Ar߮ KedaeSJg5/#B%3|M&G?aԼ 9{[1,F/}U>߿-2|!.oTV>p-z JQ*q'7]L;ḩ^ȃFEQuȨ>C$>~.x\L 1#e{QQO1WbF55ZF;-^SUy0/B 52dU,[ÈM 'lQT-gU\O sl7b=E3LB҈F%ɑt<\p:F<q6ieMh31{^C&oEBDA#YUFjoz?9[R& l[jeK^r}C*c 6fk2MGwMC+FG\Bx 7lo^2lՑP;F%sAzO& ŘQP lS351u0ֳhHl%4%Hu8<Yi3ٵ7;0(}6}ӕHr%ܡ ~l,w;qJ*a͊KSmz<ÿ :Yh /rt!ޔOF>c) 3,~w}"#T]%3ѷac"(jr*'3 qi7+U8x|Wm5d+T.hyڤ1& V)O#tC>I^87'I,XӤ2=dKJذ 䋴HA{^\Yems~iȐút!xᏛEΛ]?(E0;A^-b.S6|ٔҏw~Yt葉鰆wlath Zҵ{80o]LZҥ/{ qE BYhm?wިT{Tv@}Dp1fbL]3ȿFKn39m?)7ΘiWb FJqHmQI~WITc|ۙ{aNy.|+mZ=t01mL y}x ȪTl}E d|DqD_'mЮf? +폛6 N\ʋ@%LR&l@m,3CSNnxwJsلSbt  _ݜUxb݊7ŋLu>Duw_d%H5CVj.IT S,`I{9<þyzZ;'Z\k aQV̙+ދn4gSxXNMkLcv;둩b8m]¦hTdF7'p[[=F-ЕTUĦF 5!ϸrATכ֏LxA͗rAvUJG'/?4qxf=ԡW~5PM,"&eA8J2RxN {vs4P#da{__~SHsF>"egb:hK[4>}Z(ހoq#Eu` IfnS/q@ۅ<֬Ο0mM_0]4:y3-٤o> endobj 144 0 obj << /Type /ObjStm /N 54 /First 451 /Length 2661 /Filter /FlateDecode >> stream xZ[Sܸ~_pR ˖l)*lrBR<33n]<{K*%Kx$a# $aIL gL"(H(؁D" u!HX$q njDeu(UbEx #"% (K3)`V%$N/ Eb%Ā$x"I%$'OBAu8w&I#A>H3F8n!HxHNJtpζP* Lƶuflk36b ǎ2dy T+ Qɺ%6`|vT-YMPu%5k !\b0Pǿ$8m!p T![+ή Bj й: GǪ_//OE$L%hC{I٠Pɠ*՚Kb41n Dzg|h EY͇d]C֮Co}\{F_/~2/Y=YSV.dx>9}Y E: 7^?.XoDଛݯ\cqa(#gfmMZ`&Λlr fG ܧ^a9tUy91z氛J:[g\Y/ QZkTm]k6|x9?XgP XUgc{pa/L 􀾡NO)}G3zN/'zIhJ DN# ijJom"kLB5ki蛅ÈʢH+Qq(~ tB]ѻr^1WY =9Ϧ4_iAN4f%YZeS-WT>:+5F&5X?h]=mhs_emtNX<,>IeU }l7_/1J!z @Nwu- Nj-71(Xd^4ٵockB6Iࡄ$_CML.c{*S{֞ٺ_}:IkPl:1[_>꘨5$Jޥ俏 4&' ?Cbc; :P;Gu=U99<>:|{]>g]NvOQ]}W#^|{,qXxuNes+]\1ٔxlVx.6&4k-!dteugxut :LDl,^:)<餸9{o+S%DKt%#`PrzH&{Jh&pCGy3i$7U:&iDlU<9x ux ⇇-8*\ԯpbu^qM3X0 ?I|^BLA'SL0Q>]f55D xm%  =) T WcPR^ V#Ё„QmwhT 2s~ڀuf~Z Bn@Vz/]=\l/w9^];~-޻/tvm/}J¶P$6[+W.ynվ~K:(!g5rEy K0~׻GXWd b^!!|lfw}=mxD>^nbŖ󦀪X['tD nc$'I APeߣf+s[ܰY!_Ò'ЇE-`a2pI̤*[DogpIfDwώʲUbh2!0nQ|Oz˪)/'$mE. O~4I>ɛTe=/!>OAYݔNicߊ <7E2BB9068C6F1CDD931BC5FA88EF955A>] /Length 488 /Filter /FlateDecode >> stream xrLQs:Itҗ$Dq AMLTyE1QԪ23T xWguo2KlQUST&2a tQzۨV@7\נ*Bܢ`% 0PY9 lu0ƒ8̫`5Fb0,+~l6Ca;wLViM켑G&H 7.{dXvA v,4dĒ=І qqqS|3?TcOZ98º 4SZNE8 R\8 g8Y,Sz:p18,)k"u7\W~܄,U6(.ܣ }؅L:t|}'N:sDKʖŽeeFկ}jPȇwǁyEL#QՔu?Q  3'fN̜9Qq"[*L+T endstream endobj startxref 333611 %%EOF spdep/inst/doc/CO69.R0000644000176200001440000005265613152260211013721 0ustar liggesusers### R code from vignette source 'CO69.Rnw' ### Encoding: UTF-8 ################################################### ### code chunk number 1: CO69.Rnw:38-43 ################################################### owidth <- getOption("width") options("width"=90) ow <- getOption("warn") options("warn"=-1) .PngNo <- 0 ################################################### ### code chunk number 2: afig (eval = FALSE) ################################################### ## .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") ## pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") ## opar <- par(mar=c(3,3,1,1)+0.1) ################################################### ### code chunk number 3: afigl (eval = FALSE) ################################################### ## .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") ## pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") ################################################### ### code chunk number 4: bfigl (eval = FALSE) ################################################### ## .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") ## pdf(file=file, width = 6.5, height = 5, pointsize = 12, bg = "white") ################################################### ### code chunk number 5: bfig (eval = FALSE) ################################################### ## .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") ## pdf(file=file, width = 6.5, height = 5, pointsize = 12, bg = "white") ## opar <- par(mar=c(3,3,1,1)+0.1) ################################################### ### code chunk number 6: zfig (eval = FALSE) ################################################### ## par(opar) ## dev.null <- dev.off() ## cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") ################################################### ### code chunk number 7: zfigl (eval = FALSE) ################################################### ## dev.null <- dev.off() ## cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") ################################################### ### code chunk number 8: CO69.Rnw:100-105 ################################################### library(spdep) require(maptools) fn <- system.file("etc/shapes/eire.shp", package="spdep")[1] prj <- CRS("+proj=utm +zone=30 +units=km +ellps=mod_airy") eire <- readShapeSpatial(fn, ID="names", proj4string=prj) ################################################### ### code chunk number 9: CO69.Rnw:107-109 ################################################### class(eire) names(eire) ################################################### ### code chunk number 10: CO69.Rnw:122-125 ################################################### fn <- system.file("etc/misc/geary_eire.txt", package="spdep")[1] ge <- read.table(fn, header=TRUE) names(ge) ################################################### ### code chunk number 11: CO69.Rnw:133-136 ################################################### row.names(ge) <- as.character(ge$county) all.equal(row.names(ge), row.names(eire)) eire_ge <- spCbind(eire, ge) ################################################### ### code chunk number 12: CO69.Rnw:144-146 ################################################### eire_ge1 <- eire_ge[!(row.names(eire_ge) %in% "Dublin"),] length(row.names(eire_ge1)) ################################################### ### code chunk number 13: CO69.Rnw:153-155 ################################################### skewness <- function(z) {z <- scale(z, scale=FALSE); ((sum(z^3)/length(z))^2)/((sum(z^2)/length(z))^3)} kurtosis <- function(z) {z <- scale(z, scale=FALSE); (sum(z^4)/length(z))/((sum(z^2)/length(z))^2)} ################################################### ### code chunk number 14: CO69.Rnw:162-166 ################################################### print(sapply(as(eire_ge1, "data.frame")[13:24], skewness), digits=3) print(sapply(as(eire_ge1, "data.frame")[13:24], kurtosis), digits=4) print(sapply(as(eire_ge1, "data.frame")[c(13,16,18,19)], function(x) skewness(log(x))), digits=3) print(sapply(as(eire_ge1, "data.frame")[c(13,16,18,19)], function(x) kurtosis(log(x))), digits=4) ################################################### ### code chunk number 15: CO69.Rnw:212-215 ################################################### fn <- system.file("etc/misc/unstand_sn.txt", package="spdep")[1] unstand <- read.table(fn, header=TRUE) summary(unstand) ################################################### ### code chunk number 16: CO69.Rnw:225-231 ################################################### class(unstand) <- c("spatial.neighbour", class(unstand)) of <- ordered(unstand$from) attr(unstand, "region.id") <- levels(of) unstand$from <- as.integer(of) unstand$to <- as.integer(ordered(unstand$to)) attr(unstand, "n") <- length(unique(unstand$from)) ################################################### ### code chunk number 17: CO69.Rnw:240-243 ################################################### lw_unstand <- sn2listw(unstand) lw_unstand$style <- "B" lw_unstand ################################################### ### code chunk number 18: CO69.Rnw:257-259 ################################################### nb <- poly2nb(eire_ge1) nb ################################################### ### code chunk number 19: CO69.Rnw:268-269 ################################################### xx <- diffnb(nb, lw_unstand$neighbours, verbose=TRUE) ################################################### ### code chunk number 20: CO69.Rnw:271-274 (eval = FALSE) ################################################### ## plot(eire_ge1, border="grey60") ## plot(nb, coordinates(eire_ge1), add=TRUE, pch=".", lwd=2) ## plot(xx, coordinates(eire_ge1), add=TRUE, pch=".", lwd=2, col=3) ################################################### ### code chunk number 21: CO69.Rnw:280-292 ################################################### .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) par(mfrow=c(1,2)) plot(eire_ge1, border="grey40") title(xlab="25 Irish counties") text(coordinates(eire_ge1), labels=as.character(eire_ge1$serlet), cex=0.8) plot(eire_ge1, border="grey60") title(xlab="Contiguities") plot(nb, coordinates(eire_ge1), add=TRUE, pch=".", lwd=2) plot(xx, coordinates(eire_ge1), add=TRUE, pch=".", lwd=2, col=3) legend("topleft", legend=c("Contiguous", "Ferry"), lwd=2, lty=1, col=c(1,3), bty="n", cex=0.7) par(mfrow=c(1,1)) par(opar) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") ################################################### ### code chunk number 22: CO69.Rnw:322-323 ################################################### load(system.file("etc/misc/raw_grass_borders.RData", package="spdep")[1]) ################################################### ### code chunk number 23: CO69.Rnw:325-332 (eval = FALSE) ################################################### ## library(maptools) ## SG <- Sobj_SpatialGrid(eire_ge1)$SG ## library(spgrass6) ## grass_home <- "/home/rsb/topics/grass/g64/grass-6.4.0svn" ## initGRASS(grass_home, home=tempdir(), SG=SG, override=TRUE) ## writeVECT6(eire_ge1, "eire", v.in.ogr_flags=c("o", "overwrite")) ## res <- vect2neigh("eire", ID="serlet") ################################################### ### code chunk number 24: CO69.Rnw:334-343 ################################################### grass_borders <- sn2listw(res) raw_borders <- grass_borders$weights int_tot <- attr(res, "total") - attr(res, "external") prop_borders <- lapply(1:length(int_tot), function(i) raw_borders[[i]]/int_tot[i]) dlist <- nbdists(grass_borders$neighbours, coordinates(eire_ge1)) inv_dlist <- lapply(dlist, function(x) 1/(x/1.609344)) combo_km <- lapply(1:length(inv_dlist), function(i) inv_dlist[[i]]*prop_borders[[i]]) combo_km_lw <- nb2listw(grass_borders$neighbours, glist=combo_km, style="B") summary(combo_km_lw) ################################################### ### code chunk number 25: CO69.Rnw:356-367 ################################################### red_lw_unstand <- lw_unstand Clare <- which(attr(lw_unstand, "region.id") == "C") Kerry <- which(attr(lw_unstand, "region.id") == "H") Kerry_in_Clare <- which(lw_unstand$neighbours[[Clare]] == Kerry) Clare_in_Kerry <- which(lw_unstand$neighbours[[Kerry]] == Clare) red_lw_unstand$neighbours[[Clare]] <- red_lw_unstand$neighbours[[Clare]][-Kerry_in_Clare] red_lw_unstand$neighbours[[Kerry]] <- red_lw_unstand$neighbours[[Kerry]][-Clare_in_Kerry] red_lw_unstand$weights[[Clare]] <- red_lw_unstand$weights[[Clare]][-Kerry_in_Clare] red_lw_unstand$weights[[Kerry]] <- red_lw_unstand$weights[[Kerry]][-Clare_in_Kerry] summary(red_lw_unstand) cor(unlist(red_lw_unstand$weights), unlist(combo_km_lw$weights)) ################################################### ### code chunk number 26: CO69.Rnw:380-392 ################################################### flatten <- function(x, digits=3, statistic="I") { res <- c(format(x$estimate, digits=digits), format(x$statistic, digits=digits), format.pval(x$p.value, digits=digits)) res <- matrix(res, ncol=length(res)) colnames(res) <- paste(c("", "E", "V", "SD_", "P_"), "I", sep="") rownames(res) <- deparse(substitute(x)) res } `reconstructed weights` <- moran.test(eire_ge1$ocattlepacre, combo_km_lw) `original weights` <- moran.test(eire_ge1$ocattlepacre, red_lw_unstand) print(rbind(flatten(`reconstructed weights`), flatten(`original weights`)), quote=FALSE) ################################################### ### code chunk number 27: CO69.Rnw:413-425 ################################################### eire_ge1$ln_pagval2_10 <- log(eire_ge1$pagval2_10) eire_ge1$ln_cowspacre <- log(eire_ge1$cowspacre) eire_ge1$ln_pigspacre <- log(eire_ge1$pigspacre) eire_ge1$ln_sheeppacre <- log(eire_ge1$sheeppacre) vars <- c("pagval2_10", "ln_pagval2_10", "pagval10_50", "pagval50p", "cowspacre", "ln_cowspacre", "ocattlepacre", "pigspacre", "ln_pigspacre", "sheeppacre", "ln_sheeppacre", "townvillp", "carspcap", "radiopcap", "retailpcap", "psinglem30_34") nb_B <- nb2listw(lw_unstand$neighbours, style="B") nb_B lw_std <- nb2listw(lw_unstand$neighbours, glist=lw_unstand$weights, style="W") lw_std ################################################### ### code chunk number 28: CO69.Rnw:455-468 ################################################### system.time({ MoranN <- lapply(vars, function(x) moran.test(eire_ge1[[x]], listw=nb_B, randomisation=FALSE)) MoranR <- lapply(vars, function(x) moran.test(eire_ge1[[x]], listw=nb_B, randomisation=TRUE)) GearyN <- lapply(vars, function(x) geary.test(eire_ge1[[x]], listw=nb_B, randomisation=FALSE)) GearyR <- lapply(vars, function(x) geary.test(eire_ge1[[x]], listw=nb_B, randomisation=TRUE)) Prop_unstdN <- lapply(vars, function(x) moran.test(eire_ge1[[x]], listw=lw_unstand, randomisation=FALSE)) Prop_unstdR <- lapply(vars, function(x) moran.test(eire_ge1[[x]], listw=lw_unstand, randomisation=TRUE)) Prop_stdN <- lapply(vars, function(x) moran.test(eire_ge1[[x]], listw=lw_std, randomisation=FALSE)) Prop_stdR <- lapply(vars, function(x) moran.test(eire_ge1[[x]], listw=lw_std, randomisation=TRUE)) }) res <- sapply(c("MoranN", "MoranR", "GearyN", "GearyR", "Prop_unstdN", "Prop_unstdR", "Prop_stdN", "Prop_stdR"), function(x) sapply(get(x), "[[", "statistic")) rownames(res) <- vars ores <- res[,c(1,2,5:8)] ################################################### ### code chunk number 29: CO69.Rnw:480-481 ################################################### options("width"=100) ################################################### ### code chunk number 30: CO69.Rnw:483-484 ################################################### print(formatC(res, format="f", digits=4), quote=FALSE) ################################################### ### code chunk number 31: CO69.Rnw:486-487 ################################################### options("width"=90) ################################################### ### code chunk number 32: CO69.Rnw:499-507 ################################################### wc_unstd <- spweights.constants(lw_unstand) wrong_N_sqVI <- sqrt((wc_unstd$nn*wc_unstd$S1 - wc_unstd$n*wc_unstd$S2 + 3*wc_unstd$S0*wc_unstd$S0)/((wc_unstd$nn-1)*wc_unstd$S0*wc_unstd$S0)-((-1/(wc_unstd$n-1))^2)) raw_data <- grep("^ln_", vars, invert=TRUE) I <- sapply(Prop_stdN, function(x) x$estimate[1])[raw_data] EI <- sapply(Prop_stdN, function(x) x$estimate[2])[raw_data] res <- (I - EI)/wrong_N_sqVI names(res) <- vars[raw_data] print(formatC(res, format="f", digits=4), quote=FALSE) ################################################### ### code chunk number 33: CO69.Rnw:517-522 ################################################### res <- lapply(c("MoranR", "GearyR", "Prop_unstdR", "Prop_stdR"), function(x) sapply(get(x), function(y) c(y$estimate[1], sqrt(y$estimate[3])))) res <- t(do.call("rbind", res)) colnames(res) <- c("I", "sigma_I", "C", "sigma_C", "unstd_r", "sigma_r", "std_r", "sigma_r") rownames(res) <- vars print(formatC(res, format="f", digits=4), quote=FALSE) ################################################### ### code chunk number 34: CO69.Rnw:539-550 ################################################### oMoranf <- function(x, nb) { z <- scale(x, scale=FALSE) n <- length(z) glist <- lapply(1:n, function(i) {ii <- nb[[i]]; ifelse(ii > i, 1, 0)}) lw <- nb2listw(nb, glist=glist, style="B") wz <- lag(lw, z) I <- (sum(z*wz)/sum(z*z)) I } res <- sapply(vars, function(x) oMoranf(eire_ge1[[x]], nb=lw_unstand$neighbours)) print(formatC(res, format="f", digits=4), quote=FALSE) ################################################### ### code chunk number 35: CO69.Rnw:582-601 ################################################### MoranI.boot <- function(var, i, ...) { var <- var[i] return(moran(x=var, ...)$I) } Nsim <- function(d, mle) { n <- length(d) rnorm(n, mle$mean, mle$sd) } f_bperm <- function(x, nsim, listw) { boot(x, statistic=MoranI.boot, R=nsim, sim="permutation", listw=listw, n=length(x), S0=Szero(listw)) } f_bpara <- function(x, nsim, listw) { boot(x, statistic=MoranI.boot, R=nsim, sim="parametric", ran.gen=Nsim, mle=list(mean=mean(x), sd=sd(x)), listw=listw, n=length(x), S0=Szero(listw)) } nsim <- 4999 set.seed(1234) ################################################### ### code chunk number 36: CO69.Rnw:616-624 (eval = FALSE) ################################################### ## system.time({ ## MoranNb <- lapply(vars, function(x) f_bpara(x=eire_ge1[[x]], nsim=nsim, listw=nb_B)) ## MoranRb <- lapply(vars, function(x) f_bperm(x=eire_ge1[[x]], nsim=nsim, listw=nb_B)) ## Prop_unstdNb <- lapply(vars, function(x) f_bpara(x=eire_ge1[[x]], nsim=nsim, listw=lw_unstand)) ## Prop_unstdRb <- lapply(vars, function(x) f_bperm(x=eire_ge1[[x]], nsim=nsim, listw=lw_unstand)) ## Prop_stdNb <- lapply(vars, function(x) f_bpara(x=eire_ge1[[x]], nsim=nsim, listw=lw_std)) ## Prop_stdRb <- lapply(vars, function(x) f_bperm(x=eire_ge1[[x]], nsim=nsim, listw=lw_std)) ## }) ################################################### ### code chunk number 37: CO69.Rnw:626-639 (eval = FALSE) ################################################### ## zzz <- system.time({ ## MoranNb <- lapply(vars, function(x) f_bpara(x=eire_ge1[[x]], nsim=nsim, listw=nb_B)) ## MoranRb <- lapply(vars, function(x) f_bperm(x=eire_ge1[[x]], nsim=nsim, listw=nb_B)) ## Prop_unstdNb <- lapply(vars, function(x) f_bpara(x=eire_ge1[[x]], nsim=nsim, listw=lw_unstand)) ## Prop_unstdRb <- lapply(vars, function(x) f_bperm(x=eire_ge1[[x]], nsim=nsim, listw=lw_unstand)) ## Prop_stdNb <- lapply(vars, function(x) f_bpara(x=eire_ge1[[x]], nsim=nsim, listw=lw_std)) ## Prop_stdRb <- lapply(vars, function(x) f_bperm(x=eire_ge1[[x]], nsim=nsim, listw=lw_std)) ## }) ## res <- lapply(c("MoranNb", "MoranRb", "Prop_unstdNb", "Prop_unstdRb", "Prop_stdNb", "Prop_stdRb"), function(x) sapply(get(x), function(y) (y$t0 - mean(y$t))/sd(y$t))) ## res <- t(do.call("rbind", res)) ## colnames(res) <- c("MoranNb", "MoranRb", "Prop_unstdNb", "Prop_unstdRb", "Prop_stdNb", "Prop_stdRb") ## rownames(res) <- vars ## save(zzz, res, file="backstore/boot_res.RData") ################################################### ### code chunk number 38: CO69.Rnw:641-644 ################################################### bsfn <- system.file("doc/backstore/boot_res.RData", package="spdep") load(bsfn) zzz ################################################### ### code chunk number 39: CO69.Rnw:646-650 (eval = FALSE) ################################################### ## res <- lapply(c("MoranNb", "MoranRb", "Prop_unstdNb", "Prop_unstdRb", "Prop_stdNb", "Prop_stdRb"), function(x) sapply(get(x), function(y) (y$t0 - mean(y$t))/sd(y$t))) ## res <- t(do.call("rbind", res)) ## colnames(res) <- c("MoranNb", "MoranRb", "Prop_unstdNb", "Prop_unstdRb", "Prop_stdNb", "Prop_stdRb") ## rownames(res) <- vars ################################################### ### code chunk number 40: CO69.Rnw:664-669 ################################################### print(formatC(res, format="f", digits=4), quote=FALSE) oores <- ores - res apply(oores, 2, mad) alpha_0.05 <- qnorm(0.05, lower.tail=FALSE) all((res >= alpha_0.05) == (ores >= alpha_0.05)) ################################################### ### code chunk number 41: CO69.Rnw:685-693 ################################################### lm_objs <- lapply(vars, function(x) lm(formula(paste(x, "~1")), data=eire_ge1)) system.time({ MoranSad <- lapply(lm_objs, function(x) lm.morantest.sad(x, listw=nb_B)) Prop_unstdSad <- lapply(lm_objs, function(x) lm.morantest.sad(x, listw=lw_unstand)) Prop_stdSad <- lapply(lm_objs, function(x) lm.morantest.sad(x, listw=lw_std)) }) res <- sapply(c("MoranSad", "Prop_unstdSad", "Prop_stdSad"), function(x) sapply(get(x), "[[", "statistic")) rownames(res) <- vars ################################################### ### code chunk number 42: CO69.Rnw:709-713 ################################################### print(formatC(res, format="f", digits=4), quote=FALSE) oores <- res - ores[,c(1,3,5)] apply(oores, 2, mad) all((res >= alpha_0.05) == (ores[,c(1,3,5)] >= alpha_0.05)) ################################################### ### code chunk number 43: CO69.Rnw:724-731 ################################################### system.time({ MoranEx <- lapply(lm_objs, function(x) lm.morantest.exact(x, listw=nb_B)) Prop_unstdEx <- lapply(lm_objs, function(x) lm.morantest.exact(x, listw=lw_unstand)) Prop_stdEx <- lapply(lm_objs, function(x) lm.morantest.exact(x, listw=lw_std)) }) res <- sapply(c("MoranEx", "Prop_unstdEx", "Prop_stdEx"), function(x) sapply(get(x), "[[", "statistic")) rownames(res) <- vars ################################################### ### code chunk number 44: CO69.Rnw:740-744 ################################################### print(formatC(res, format="f", digits=4), quote=FALSE) oores <- res - ores[,c(1,3,5)] apply(oores, 2, mad) all((res >= alpha_0.05) == (ores[,c(1,3,5)] >= alpha_0.05)) ################################################### ### code chunk number 45: CO69.Rnw:756-765 ################################################### vars_scaled <- lapply(vars, function(x) scale(eire_ge1[[x]], scale=FALSE)) nb_W <- nb2listw(lw_unstand$neighbours, style="W") pre <- spdep:::preAple(0, listw=nb_W) MoranAPLE <- sapply(vars_scaled, function(x) spdep:::inAple(x, pre)) pre <- spdep:::preAple(0, listw=lw_std, override_similarity_check=TRUE) Prop_stdAPLE <- sapply(vars_scaled, function(x) spdep:::inAple(x, pre)) res <- cbind(MoranAPLE, Prop_stdAPLE) colnames(res) <- c("APLE W", "APLE Gstd") rownames(res) <- vars ################################################### ### code chunk number 46: CO69.Rnw:781-782 ################################################### print(formatC(res, format="f", digits=4), quote=FALSE) ################################################### ### code chunk number 47: CO69.Rnw:788-807 ################################################### .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) pal <- grey.colors(9, 1, 0.5, 2.2) oopar <- par(mfrow=c(1,3), mar=c(1,1,3,1)+0.1) z <- t(listw2mat(nb_B)) brks <- c(0,0.1,1) image(1:25, 1:25, z[,ncol(z):1], breaks=brks, col=pal[c(1,9)], main="Binary", axes=FALSE) box() z <- t(listw2mat(lw_unstand)) brks <- c(0,quantile(c(z)[c(z) > 0], seq(0,1,1/8))) image(1:25, 1:25, z[,ncol(z):1], breaks=brks, col=pal, main="General", axes=FALSE) box() z <- t(listw2mat(lw_std)) brks <- c(0,quantile(c(z)[c(z) > 0], seq(0,1,1/8))) image(1:25, 1:25, z[,ncol(z):1], breaks=brks, col=pal, main="Std. general", axes=FALSE) box() par(oopar) par(opar) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") ################################################### ### code chunk number 48: CO69.Rnw:816-826 ################################################### .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") eire_ge1$nb_B <- sapply(nb_B$weights, sum) eire_ge1$lw_unstand <- sapply(lw_unstand$weights, sum) library(lattice) trellis.par.set(sp.theme()) p1 <- spplot(eire_ge1, c("nb_B"), main="Binary") p2 <- spplot(eire_ge1, c("lw_unstand"), main="General") print(p1, split=c(1,1,2,1), more=TRUE) print(p2, split=c(2,1,2,1), more=FALSE) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") ################################################### ### code chunk number 49: CO69.Rnw:843-845 ################################################### options("width"=owidth) options("warn"=ow) spdep/inst/doc/nb_igraph.R0000644000176200001440000001405013152260204015156 0ustar liggesusers## ------------------------------------------------------------------------ library(spdep) ## ------------------------------------------------------------------------ library(maptools) columbus <- readShapePoly(system.file("etc/shapes/columbus.shp", package="spdep")[1]) row.names(columbus)[1:10] ## ------------------------------------------------------------------------ nb_q <- poly2nb(columbus) nb_q attr(nb_q, "region.id")[1:10] is.symmetric.nb(nb_q) ## ------------------------------------------------------------------------ col2 <- droplinks(nb_q, 21) nb_q[[21]] col2[[21]] col2 is.symmetric.nb(col2) coords <- coordinates(columbus) plot(nb_q, coords, col="grey") plot(col2, coords, add=TRUE) ## ------------------------------------------------------------------------ nb_B <- nb2listw(col2, style="B", zero.policy=TRUE) nb_B$style ## ------------------------------------------------------------------------ B <- as(nb_B, "symmetricMatrix") all(B == t(B)) str(B) rownames(B)[1:10] ## ------------------------------------------------------------------------ nb_B1 <- mat2listw(as(B, "dgTMatrix")) nb_B1$style all.equal(nb_B1$neighbours, col2, check.attributes=FALSE) all.equal(attr(nb_B1$neighbours, "region.id"), attr(nb_B$neighbours, "region.id")) ## ------------------------------------------------------------------------ rho <- 0.1 sum(log(1 - rho * eigenw(nb_B))) ## ------------------------------------------------------------------------ n <- nrow(B) I <- Diagonal(n) class(I - rho * B) c(determinant(I - rho * B, logarithm=TRUE)$modulus) ## ------------------------------------------------------------------------ nW <- -B nChol <- Cholesky(nW, Imult=8) n * log(rho) + (2 * c(determinant(update(nChol, nW, 1/rho))$modulus)) ## ------------------------------------------------------------------------ nb_W <- nb2listw(col2, style="W", zero.policy=TRUE) W <- as(nb_W, "CsparseMatrix") str(W) all(W == t(W)) ## ------------------------------------------------------------------------ set.seed(1) x <- runif(n) r1 <- as.numeric(W %*% x) r2 <- lag(nb_W, x, zero.policy=TRUE) all.equal(r1, r2, check.attributes=FALSE) plot(x, r1, ylim=c(0,1)) c(x[21], r1[21]) ## ------------------------------------------------------------------------ rho <- 0.5 sum(log(1 - rho * eigenw(nb_W))) class(I - rho * W) c(determinant(I - rho * W, logarithm=TRUE)$modulus) ## ------------------------------------------------------------------------ LU <- lu(I - rho * W) sum(log(abs(diag(slot(LU, "U"))))) ## ------------------------------------------------------------------------ d <- attr(nb_W$weights, "comp")$d all.equal(d, card(col2)) ## ------------------------------------------------------------------------ dW <- Diagonal(n, d) %*% W all(dW == t(dW)) isd <- Diagonal(n, 1/sqrt(d)) isd[21,21] Ws <- as(isd %*% dW %*% isd, "symmetricMatrix") rowSums(Ws)[21] class(Ws) c(determinant(I - rho * Ws, logarithm=TRUE)$modulus) ## ------------------------------------------------------------------------ 1/range(eigenw(nb_B)) library(igraph) #f2 <- function(x, extra=NULL) {as.vector(B %*% x)} #1/arpack(f2, sym=TRUE, options=list(n=n, nev=1, ncv=8, which="LA", maxiter=200))$values #1/arpack(f2, sym=TRUE, options=list(n=n, nev=1, ncv=8, which="SA", maxiter=200))$values # At line 409 of file dsaupd.f: Fortran runtime error: Actual string # length is shorter than the declared one for dummy argument 'which' (0/2) #1/arpack(f2, sym=TRUE, options=list(n=n, nev=2, ncv=8, which="BE", maxiter=200))$values # "BE" gives: At line 558 of file dsaup2.f: Fortran runtime error: # Index '9' of dimension 1 of array 'bounds' above upper bound of 8 ## ------------------------------------------------------------------------ 1/range(eigenw(nb_W)) f2 <- function(x, extra=NULL) {as.vector(W %*% x)} #1/arpack(f2, sym=FALSE, options=list(n=n, nev=1, ncv=8, which="LR", maxiter=200))$values #1/arpack(f2, sym=FALSE, options=list(n=n, nev=1, ncv=8, which="SR", maxiter=200))$values # At line 409 of file dsaupd.f: Fortran runtime error: Actual string # length is shorter than the declared one for dummy argument 'which' (0/2) ## ------------------------------------------------------------------------ class(B) object.size(B) library(igraph) g1 <- graph.adjacency(B, mode="undirected") class(g1) object.size(g1) ## ------------------------------------------------------------------------ B1 <- get.adjacency(g1) class(B1) object.size(B1) all.equal(B, as(as(B1, "dgTMatrix"), "symmetricMatrix")) ## ------------------------------------------------------------------------ res <- n.comp.nb(col2) table(res$comp.id) ## ------------------------------------------------------------------------ c1 <- clusters(g1) c1$no == res$nc all.equal(c1$membership, res$comp.id) all.equal(c1$csize, c(table(res$comp.id)), check.attributes=FALSE) ## ------------------------------------------------------------------------ W <- as(nb2listw(col2, style="W", zero.policy=TRUE), "CsparseMatrix") g1W <- graph.adjacency(W, mode="directed", weighted="W") c1W <- clusters(g1W) all.equal(c1W$membership, res$comp.id) ## ------------------------------------------------------------------------ is.connected(g1) dg1 <- diameter(g1) dg1 sp_mat <- shortest.paths(g1) str(sp_mat) ## ------------------------------------------------------------------------ nbl10 <- nblag(col2, maxlag=10) vals <- sapply(nbl10, function(x) sum(card(x))) zero <- which(vals == 0) zero[1]-1 ## ------------------------------------------------------------------------ lmat <- lapply(nbl10[1:(zero[1]-1)], nb2mat, style="B", zero.policy=TRUE) mat <- matrix(0, n, n) for (i in seq(along=lmat)) mat = mat + i*lmat[[i]] mat[mat==0] <- Inf diag(mat) <- 0 all.equal(mat, sp_mat, check.attributes=FALSE) ## ------------------------------------------------------------------------ nb_r <- cell2nb(7, 7, type="rook") nb_rW <- nb2listw(nb_r, style="W") spdep:::find_q1_q2(nb_rW) ## ------------------------------------------------------------------------ 1/range(Re(eigenw(similar.listw(nb_rW)))) ## ------------------------------------------------------------------------ spdep:::find_q1_q2(nb_W) 1/range(Re(eigenw(similar.listw(nb_W)))) spdep/inst/doc/SpatialFiltering.Rnw0000644000176200001440000002001312166333364017043 0ustar liggesusers%\VignetteIndexEntry{Moran Eigenvectors} %\VignetteDepends{} %\VignetteKeywords{spatial} %\VignettePackage{spdep} \documentclass[a4paper,10pt]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} %\usepackage[dvips]{graphicx,color} \usepackage{times} \usepackage{hyperref} \usepackage{natbib} \usepackage[english]{babel} \usepackage{xspace} \usepackage{Sweave} \usepackage{mathptm} \usepackage{natbib} \setkeys{Gin}{width=0.95\textwidth} \newcommand{\strong}[1]{{\normalfont\fontseries{b}\selectfont #1}} \let\pkg=\strong \RequirePackage{alltt} \newenvironment{example}{\begin{alltt}}{\end{alltt}} \newenvironment{smallexample}{\begin{alltt}\small}{\end{alltt}} \newcommand{\code}[1]{\texttt{\small #1}} \def\RR{\textsf{R}\xspace} \def\SP{\texttt{S-PLUS}\xspace} \def\SS{\texttt{S}\xspace} \SweaveOpts{keep.source=FALSE} \title{Moran Eigenvectors\footnote{This vignette formed pp. 302--305 of the first edition of Bivand, R. S., Pebesma, E. and G\'{o}mez-Rubio V. (2008) Applied Spatial Data Analysis with R, Springer-Verlag, New York. It was retired from the second edition (2013) to accommodate material on other topics, and is made available in this form with the understanding of the publishers.}} \author{Roger Bivand} \begin{document} \maketitle <>= owidth <- getOption("width") options("width"=90) ow <- getOption("warn") options("warn"=-1) .PngNo <- 0 @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 5, pointsize = 12, bg = "white") @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) @ <>= par(opar) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") @ <>= dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") @ \section{Introduction} The Moran eigenvector approach \citep{dray+legendre+peres-neto:06, griffith+peres-neto:06} involved the spatial patterns represented by maps of eigenvectors; by choosing suitable orthogonal patterns and adding them to a linear or generalised linear model, the spatial dependence present in the residuals can be moved into the model. It uses brute force to search the set of eigenvectors of the matrix $\mathbf{M W M}$, where \[ \mathbf{M} = \mathbf{I} - \mathbf{X}(\mathbf{X}^{\rm T} \mathbf{X})^{-1}\mathbf{X}^{\rm T} \] \noindent is a symmetric and idempotent projection matrix and $\mathbf{W}$ are the spatial weights. In the spatial lag form of \code{SpatialFiltering} and in the GLM \code{ME} form below, $\mathbf{X}$ is an $n$-vector of ones, that is the intercept only. In its general form, \code{SpatialFiltering} chooses the subset of the $n$ eigenvectors that reduce the residual spatial autocorrelation in the error of the model with covariates. The lag form adds the covariates in assessment of which eigenvectors to choose, but does not use them in constructing the eigenvectors. \code{SpatialFiltering} was implemented and contributed by Yongwan Chun and Michael Tiefelsdorf, and is presented in \citet{tiefelsdorf+griffith:07}; \code{ME} is based on Matlab code by Pedro Peres-Neto and is discussed in \citet{dray+legendre+peres-neto:06} and \citet{griffith+peres-neto:06}. \begin{footnotesize} <>= library(maptools) library(spdep) owd <- getwd() setwd(system.file("etc/shapes", package="spdep")) NY8 <- readShapeSpatial("NY8_utm18") setwd(system.file("etc/weights", package="spdep")) NY_nb <- read.gal("NY_nb.gal", region.id=row.names(NY8)) setwd(owd) @ \end{footnotesize} \begin{footnotesize} <>= nySFE <- SpatialFiltering(Z~PEXPOSURE+PCTAGE65P+PCTOWNHOME, data=NY8, nb=NY_nb, style="W", verbose=FALSE) nylmSFE <- lm(Z~PEXPOSURE+PCTAGE65P+PCTOWNHOME+fitted(nySFE), data=NY8) summary(nylmSFE) nylm <- lm(Z~PEXPOSURE+PCTAGE65P+PCTOWNHOME, data=NY8) anova(nylm, nylmSFE) @ \end{footnotesize} Since the \code{SpatialFiltering} approach does not allow weights to be used, we see that the residual autocorrelation of the original linear model is absorbed, or `whitened' by the inclusion of selected eigenvectors in the model, but that the covariate coefficients change little. The addition of these eigenvectors -- each representing an independent spatial pattern -- relieves the residual autocorrelation, but otherwise makes few changes in the substantive coefficient values. The \code{ME} function also searches for eigenvectors from the spatial lag variant of the underlying model, but in a GLM framework. The criterion is a permutation bootstrap test on Moran's $I$ for regression residuals, and in this case, because of the very limited remaining spatial autocorrelation, is set at $\alpha = 0.5$. Even with this very generous stopping rule, only few eigenvectors are chosen; their combined contribution only just improves the fit of the GLM model. \begin{footnotesize} <>= NYlistwW <- nb2listw(NY_nb, style = "W") set.seed(111) <>= nyME <- ME(Cases~PEXPOSURE+PCTAGE65P+PCTOWNHOME, data=NY8, offset=log(POP8), family="poisson", listw=NYlistwW, alpha=0.5) <>= bsfn <- system.file("doc/backstore/nyME_res.RData", package="spdep") load(bsfn) @ <>= nyME NY8$eigen_24 <- fitted(nyME)[,1] NY8$eigen_223 <- fitted(nyME)[,2] @ \end{footnotesize} \begin{figure}[!t] \centering <>= .iwidth <- 6 .iheight <- 4 .ipointsize <- 10 <> library(RColorBrewer) #gry <- brewer.pal(9, "Greys")[-1] spplot(NY8, c("eigen_24", "eigen_223"), col.regions=grey.colors(6, 0.95, 0.55, 2.2), cuts=5) <> @ \caption{Maps of the two eigenvalues selected for inclusion in the Poisson regression model} \label{fig:geigen2} \end{figure} \begin{footnotesize} <>= nyglmME <- glm(Cases~PEXPOSURE+PCTAGE65P+PCTOWNHOME+offset(log(POP8))+fitted(nyME), data=NY8, family="poisson") summary(nyglmME) nyGLMp <- glm(Cases~PEXPOSURE+PCTAGE65P+PCTOWNHOME+offset(log(POP8)), data=NY8,family="poisson") anova(nyGLMp, nyglmME, test="Chisq") @ \end{footnotesize} Figure~\ref{fig:geigen2} shows the spatial patterns chosen to match the very small amount of spatial autocorrelation remaining in the model. As with the other Poisson regressions, the closeness to TCE sites is highly significant. Since, however, many TCE sites are also in or close to more densely populated urban areas with the possible presence of both point-source and non-point-source pollution, it would be premature to take such results simply at their face value. There is, however, a potentially useful contrast between the cities of Binghampton in the south of the study area with several sites in its vicinity, and Syracuse in the north without TCE sites in this data set. \begin{thebibliography}{} \bibitem[Dray et~al., 2006]{dray+legendre+peres-neto:06} Dray, S., Legendre, P., and Peres-Neto, P.~R. (2006). Spatial modeling: A comprehensive framework for principle coordinate analysis of neighbor matrices ({PCNM}). {\em Ecological Modelling}, 196:483--493. \bibitem[Griffith and Peres-Neto, 2006]{griffith+peres-neto:06} Griffith, D.~A. and Peres-Neto, P.~R. (2006). Spatial modeling in ecology: The flexibility of eigenfunction spatial analyses. {\em Ecology}, 87:2603--2613. \bibitem[Tiefelsdorf and Griffith, 2007]{tiefelsdorf+griffith:07} Tiefelsdorf, M. and Griffith, D.~A. (2007). Semiparametric filtering of spatial autocorrelation: The eigenvector approach. {\em Environment and Planning A}, 39:1193--1221. \end{thebibliography} \end{document} spdep/inst/doc/sids.Rnw0000644000176200001440000007112012437330270014543 0ustar liggesusers%\VignetteIndexEntry{North Carolina SIDS data set} %\VignetteDepends{} %\VignetteKeywords{spatial} %\VignettePackage{spdep} \documentclass[a4paper,10pt]{article} \usepackage{Sweave} \usepackage{times} \usepackage{mathptm} \usepackage{hyperref} \usepackage{natbib} \setkeys{Gin}{width=0.95\textwidth} \newcommand{\strong}[1]{{\normalfont\fontseries{b}\selectfont #1}} \let\pkg=\strong \RequirePackage{alltt} \newenvironment{example}{\begin{alltt}}{\end{alltt}} \newenvironment{smallexample}{\begin{alltt}\small}{\end{alltt}} \newcommand{\code}[1]{\texttt{\small #1}} \def\RR{\textsf{R}\/} \def\SP{\texttt{S-PLUS}\/} \def\SS{\texttt{S}\/} \SweaveOpts{keep.source=FALSE} \title{Introduction to the North Carolina SIDS data set (revised)} \author{Roger Bivand} \begin{document} \maketitle <>= owidth <- getOption("width") options("width"=70) ow <- getOption("warn") options("warn"=-1) .PngNo <- 0 @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 5, pointsize = 12, bg = "white") @ <>= par(opar) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") @ <>= dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") @ \section{Introduction} This data set was presented first in \citet{symonsetal:1983}, analysed with reference to the spatial nature of the data in \citet{cressie+read:1985}, expanded in \citet{cressie+chan:1989}, and used in detail in \citet{cressie:1991}. It is for the 100 counties of North Carolina, and includes counts of numbers of live births (also non-white live births) and numbers of sudden infant deaths, for the July 1, 1974 to June 30, 1978 and July 1, 1979 to June 30, 1984 periods. In \citet{cressie+read:1985}, a listing of county neighbours based on shared boundaries (contiguity) is given, and in \citet{cressie+chan:1989}, and in \citet[][pp. 386--389]{cressie:1991}, a different listing based on the criterion of distance between county seats, with a cutoff at 30 miles. The county seat location coordinates are given in miles in a local (unknown) coordinate reference system. The data are also used to exemplify a range of functions in the \SP~spatial statistics module user's manual \citep{kaluznyetal:1996}. <>= library(spdep) @ \section{Getting the data into \RR} We will be using the \pkg{spdep} package, here version: \Sexpr{spdep()[1]}, the \pkg{sp} package and the \pkg{maptools} package. The data from the sources refered to above is documented in the help page for the \code{nc.sids} data set in \pkg{spdep}. The actual data, included in a shapefile of the county boundaries for North Carolina has been made available in the \pkg{maptools} package\footnote{These data are taken with permission from: \url{http://sal.agecon.uiuc.edu/datasets/sids.zip}.}. These data are known to be geographical coordinates (longitude-latitude in decimal degrees) and are assumed to use the NAD27 datum. \begin{footnotesize} <>= library(sp) library(maptools) library(spdep) nc_file <- system.file("etc/shapes/sids.shp", package="spdep")[1] llCRS <- CRS("+proj=longlat +datum=NAD27") nc <- readShapeSpatial(nc_file, ID="FIPSNO", proj4string=llCRS) @ \end{footnotesize} The shapefile format presupposes that you have three files with extensions \code{*.shp}, \code{*.shx}, and \code{*.dbf}, where the first contains the geometry data, the second the spatial index, and the third the attribute data. They are required to have the same name apart from the extension, and are read here using \code{readShapeSpatial()} into the \code{SpatialPolygonsDataFrame} object \code{nc}; the class is defined in \pkg{sp}. The centroids of the largest polygon in each county are available using the \code{coordinates} method from \pkg{sp} as a two-column matrix, and can be used to place labels: \begin{footnotesize} <>= plot(nc, axes=TRUE) text(coordinates(nc), label=nc$FIPSNO, cex=0.5) @ \end{footnotesize} \begin{figure}[htbp] \begin{center} <>= <> <> <> @ \end{center} \caption{County boundaries and polygon centroids, North Carolina} \label{plotNC1} \end{figure} We can examine the names of the columns of the data frame to see what it contains --- in fact some of the same columns that we will be examining below, and some others which will be useful in cleaning the data set. \begin{footnotesize} <>= names(nc) summary(nc) @ \end{footnotesize} We will now examine the data set reproduced from Cressie and collaborators, included in \pkg{spdep}, and add the neighbour relationships used in \citet{cressie+chan:1989} to the background map as a graph shown in Figure \ref{plot-CC89.nb}: \begin{footnotesize} <>= gal_file <- system.file("etc/weights/ncCR85.gal", package="spdep")[1] ncCR85 <- read.gal(gal_file, region.id=nc$FIPSNO) ncCR85 gal_file <- system.file("etc/weights/ncCC89.gal", package="spdep")[1] ncCC89 <- read.gal(gal_file, region.id=nc$FIPSNO) ncCC89 @ \end{footnotesize} \begin{footnotesize} <>= plot(nc, border="grey") plot(ncCC89, coordinates(nc), add=TRUE, col="blue") @ \end{footnotesize} \begin{figure}[htbp] \begin{center} <>= <> <> <> @ \end{center} \caption{Overplotting county boundaries with 30 mile neighbour relations as a graph.} \label{plot-CC89.nb} \end{figure} Printing the neighbour object shows that it is a neighbour list object, with a very sparse structure --- if displayed as a matrix, only 3.94\% of cells would be filled. Objects of class \code{nb} contain a list as long as the number of counties; each component of the list is a vector with the index numbers of the neighbours of the county in question, so that the neighbours of the county with \code{region.id} of \code{"37001"} can be retreived by matching against the indices. More information can be obtained by using \code{summary()} on an \code{nb} object. Finally, we associate a vector of names with the neighbour list, through the \code{row.names} argument. The names should be unique, as with data frame row names. \begin{footnotesize} <>= ncCC89 r.id <- attr(ncCC89, "region.id") ncCC89[[match("37001", r.id)]] r.id[ncCC89[[match("37001", r.id)]]] @ \end{footnotesize} The neighbour list object records neighbours by their order in relation to the list itself, so the neighbours list for the county with \code{region.id} "37001" are the seventeenth, nineteenth, thirty-second, forty-first and sixty-eighth in the list. We can retreive their codes by looking them up in the \code{region.id} attribute. \begin{footnotesize} <>= as.character(nc$NAME)[card(ncCC89) == 0] @ \end{footnotesize} We should also note that this neighbour criterion generates two counties with no neighbours, Dare and Hyde, whose county seats were more than 30 miles from their nearest neighbours. The \code{card()} function returns the cardinality of the neighbour set. We need to return to methods for handling no-neighbour objects later on. We will also show how new neighbours lists may be constructed in \RR, and compare these with those from the literature. \subsection{Probability mapping} Rather than review functions for measuring and modelling spatial dependence in the \pkg{spdep} package, we will focus on probability mapping for disease rates data. Typically, we have counts of the incidence of some disease by spatial unit, associated with counts of populations at risk. The task is then to try to establish whether any spatial units seem to be characterised by higher or lower counts of cases than might have been expected in general terms \citep{bailey+gatrell:1995}. An early approach by \citet{choynowski:1959}, described by \citet{cressie+read:1985} and \citet{bailey+gatrell:1995}, assumes, given that the true rate for the spatial units is small, that as the population at risk increases to infinity, the spatial unit case counts are Poisson with mean value equal to the population at risk times the rate for the study area as a whole. Choynowski's approach folds the two tails of the measured probabilities together, so that small values, for a chosen $\alpha$, occur for spatial units with either unusually high or low rates. For this reason, the high and low counties are plotted separately in Figure \ref{choymap}. \begin{footnotesize} <>= ch <- choynowski(nc$SID74, nc$BIR74) nc$ch_pmap_low <- ifelse(ch$type, ch$pmap, NA) nc$ch_pmap_high <- ifelse(!ch$type, ch$pmap, NA) prbs <- c(0,.001,.01,.05,.1,1) nc$high = cut(nc$ch_pmap_high, prbs) nc$low = cut(nc$ch_pmap_low,prbs ) @ <>= spplot(nc, c("low", "high"), col.regions=grey.colors(5)) @ \end{footnotesize} \begin{figure}[htbp] \begin{center} <>= <> print(spplot(nc, c("low", "high"), col.regions=grey.colors(5))) <> @ \end{center} \caption{Probability map of North Carolina counties, SIDS cases 1974--78, $\alpha = 0.05$, reproducing \citet{cressie+read:1985}, Figure 1.} \label{choymap} \end{figure} For more complicated thematic maps, it may be helpful to use ColorBrewer (\url{http://colorbrewer.org}) colour palettes. Here we will only use the grey sequential palette, available in \RR~in the \pkg{RColorBrewer} package (the colours are copied here to avoid loading the package). While the \code{choynowski()} function only provides the probability map values required, the \code{probmap()} function returns raw (crude) rates, expected counts (assuming a constant rate across the study area), relative risks, and Poisson probability map values calculated using the standard cumulative distribution function \code{ppois()}. This does not fold the tails together, so that counties with lower observed counts than expected, based on population size, have values in the lower tail, and those with higher observed counts than expected have values in the upper tail, as Figure \ref{poismap} shows. \begin{footnotesize} <>= pmap <- probmap(nc$SID74, nc$BIR74) nc$pmap <- pmap$pmap brks <- c(0,0.001,0.01,0.025,0.05,0.95,0.975,0.99,0.999,1) library(RColorBrewer) @ <>= spplot(nc, "pmap", at=brks, col.regions=rev(brewer.pal(9, "RdBu"))) @ \end{footnotesize} \begin{figure}[htbp] \begin{center} <>= <> print(spplot(nc, "pmap", at=brks, col.regions=rev(brewer.pal(9, "RdBu")))) <> @ \end{center} \caption{Probability map of North Carolina counties, SIDS cases 1974--78, reproducing \citet{kaluznyetal:1996}, p. 57, Figure 3.28.} \label{poismap} \end{figure} Marilia Carvalho (personal communication) and Virgilio G\'{o}mez Rubio \citep{gomez-rubio+ferrandiz+lopez:2003} have pointed to the unusual shape of the distribution of the Poisson probability values (Figure \ref{poishist}), repeating the doubts about probability mapping voiced by \citet[][p. 392]{cressie:1991}: ``an extreme value $\ldots$ may be more due to its lack of fit to the Poisson model than to its deviation from the constant rate assumption''. There are many more high values than one would have expected, suggesting perhaps overdispersion, that is that the ratio of the variance and mean is larger than unity. \begin{footnotesize} <>= hist(nc$pmap, main="") @ \end{footnotesize} \begin{figure}[htbp] \begin{center} <>= <> <> <> @ \end{center} \caption{Histogram of Poisson probability values.} \label{poishist} \end{figure} One ad-hoc way to assess the impact of the possible failure of our assumption that the counts follow the Poisson distribution is to estimate the dispersion by fitting a generalized linear model of the observed counts including only the intercept (null model) and offset by the observed population at risk (suggested by Marilia Carvalho and associates): \begin{footnotesize} <>= res <- glm(SID74 ~ offset(log(BIR74)), data=nc, family="quasipoisson") nc$stdres <- rstandard(res) brks <- c(-4, -3, -2, -1.5, -1, -0.5, 0.5, 1, 1.5, 2, 3, 4) @ <>= spplot(nc, "stdres", at=brks, col.regions=rev(brewer.pal(11, "RdBu"))) @ \end{footnotesize} The dispersion is equal to \Sexpr{round(summary(res)$dispersion, digits=4)}, much greater than unity; we calculate the corrected probability map values by taking the standardised residuals of the model, taking the size of the dispersion into account; the results are shown in Figure \ref{poismap2}. Many fewer counties appear now to have unexpectedly large or small numbers of cases. This is an ad-hoc adjustment made because \RR~provides access to a wide range of model-fitting functions that can be used to help check our assumptions. \citet{gomez-rubio+ferrandiz+lopez:2003} chose rather to construct a probability map under the hypothesis that data are drawn from a Negative Binomial distribution. \begin{figure}[htbp] \begin{center} <>= <> print(spplot(nc, "stdres", at=brks, col.regions=rev(brewer.pal(11, "RdBu")))) <> @ \end{center} \caption{Standardised residual values from the fit of a quasi-Poisson fit of the null model for SIDS rates 1974-78, North Carolina counties.} \label{poismap2} \end{figure} @ So far, none of the maps presented have made use of the spatial dependence possibly present in the data. A further elementary step that can be taken is to map Empirical Bayes estimates of the rates, which are smoothed in relation to the raw rates. The underlying question here is linked to the larger variance associated with rate estimates for counties with small populations at risk compared with counties with large populations at risk. Empirical Bayes estimates place more credence on the raw rates of counties with large populations at risk, and modify them much less than they modify rates for small counties. In the case of small populations at risk, more confidence is placed in either the global rate for the study area as a whole, or for local Empirical Bayes estimates, in rates for a larger moving window including the neighbours of the county being estimated. The function used for this in \pkg{spdep} is \code{EBlocal()}, initially contributed by Marilia Carvalho. It parallels a similar function in GeoDa, but uses the \citet{bailey+gatrell:1995} interpretation of \citet{marshall:1991}, rather than that in GeoDa \citep{anselin+syabri+smirnov:2002}. \begin{footnotesize} <>= global_rate <- sum(nc$SID74)/sum(nc$BIR74) nc$Expected <- global_rate * nc$BIR74 res <- EBlocal(nc$SID74, nc$Expected, ncCC89, zero.policy=TRUE) nc$EB_loc <- res$est brks <- c(0, 0.25, 0.5, 0.75, 1, 2, 3, 4, 5) spl <- list("sp.text", loc=coordinates(nc)[card(ncCC89) == 0,], txt=rep("*", 2), cex=1.2) @ <>= spplot(nc, "EB_loc", at=brks, col.regions=rev(brewer.pal(8, "RdBu")), sp.layout=spl) @ \end{footnotesize} The results are shown in Figure \ref{EBlocal}. Like other relevant functions in \pkg{spdep}, \code{EBlocal()} takes a \code{zero.policy} argument to allow missing values to be passed through. In this case, no local estimate is available for the two counties with no neighbours, marked by stars. \begin{figure}[htbp] \begin{center} <>= <> print(spplot(nc, "EB_loc", at=brks, col.regions=rev(brewer.pal(8, "RdBu")), sp.layout=spl)) <> @ \end{center} \caption{Local Empirical Bayes estimates for SIDS rates per 1000 using the 30 mile county seat neighbours list.} \label{EBlocal} \end{figure} @ In addition to Empirical Bayes smoothing globally, used both for disease mapping and the Assun\,{c}\~{a}o and Reis correction to Moran's $I$ for rates data (to shrink towards the global rate when the population at risk is small, here as a Monte Carlo test), lists of local neighbours can be used to shrink towards a local rate. \begin{scriptsize} <>= set.seed(1) EBImoran.mc(nc$SID74, nc$BIR74, nb2listw(ncCC89, style="B", zero.policy=TRUE), nsim=999, zero.policy=TRUE) @ \end{scriptsize} \section{Exploration and modelling of the data} One of the first steps taken by \citet{cressie+read:1985} is to try to bring out spatial trends by dividing North Carolina up into $4\times4$ rough rectangles. Just to see how this works, let us map these rough rectangles before proceeding further (see Figure \ref{LMmap}). \begin{footnotesize} <>= nc$both <- factor(paste(nc$L_id, nc$M_id, sep=":")) nboth <- length(table(unclass(nc$both))) @ <>= spplot(nc, "both", col.regions=sample(rainbow(nboth))) @ \end{footnotesize} \begin{figure}[htbp] \begin{center} <>= <> print(spplot(nc, "both", col.regions=sample(rainbow(nboth)))) <> @ \end{center} \caption{Rough rectangles used by \citet{cressie+read:1985} to bring out spatial trends.} \label{LMmap} \end{figure} Cressie constructs a transformed SIDS rates variable, 1974--78, for his analyses (with co-workers). We can replicate his stem-and-leaf figure on p. 396 in the book, taken from \citet{cressie+read:1989}: \begin{footnotesize} <>= nc$ft.SID74 <- sqrt(1000)*(sqrt(nc$SID74/nc$BIR74) + sqrt((nc$SID74+1)/nc$BIR74)) stem(round(nc$ft.SID74, 1), scale=2) @ \end{footnotesize} \subsection{Median polish smoothing} \label{medpol} \citet[][pp. 46--48, 393--400]{cressie:1991} discusses in some detail how smoothing may be used to partition the variation in the data into smooth and rough. In order to try it out on the North Carolina SIDS data set, we will use a coarse gridding into four columns and four rows given by \citet[][pp. 553--554]{cressie:1991}, where four grid cells are empty; these are given by variables \code{L\_id} and \code{M\_id} in object \code{nc}. Next we aggregate the number of live births and the number of SIDS cases 1974--1978 for the grid cells: \begin{footnotesize} <>= mBIR74 <- tapply(nc$BIR74, nc$both, sum) mSID74 <- tapply(nc$SID74, nc$both, sum) @ \end{footnotesize} Using the same Freeman-Tukey transformation as is used for the county data, we coerce the data into a correctly configured matrix, some of the cells of which are empty. The \code{medpolish} function is applied to the matrix, being told to remove empty cells; the function iterates over the rows and columns of the matrix using \code{median} to extract an overall effect, row and column effects, and residuals: \begin{footnotesize} <>= mFT <- sqrt(1000)*(sqrt(mSID74/mBIR74) + sqrt((mSID74+1)/mBIR74)) mFT1 <- t(matrix(mFT, 4, 4, byrow=TRUE)) med <- medpolish(mFT1, na.rm=TRUE, trace.iter=FALSE) med @ \end{footnotesize} Returning to the factors linking rows and columns to counties, and generating matrices of dummy variables using \code{model.matrix}, we can calculate fitted values of the Freeman-Tukey adjusted rate for each county, and residuals by subtracting the fitted value from the observed rate. Naturally, the fitted value will be the same for counties in the same grid cell: \begin{footnotesize} <>= mL_id <- model.matrix(~ as.factor(nc$L_id) -1) mM_id <- model.matrix(~ as.factor(nc$M_id) -1) nc$pred <- c(med$overall + mL_id %*% med$row + mM_id %*% med$col) nc$mp_resid <- nc$ft.SID74 - nc$pred @ <>= cI_ft <- pretty(nc$ft.SID74, n=9) pal_ft <- colorRampPalette(brewer.pal(6, "YlOrBr"))(length(cI_ft)-1) p1 <- spplot(nc, c("ft.SID74"), col.regions=pal_ft, at=cI_ft, col="grey30", main="FT transformed SIDS rate") p2 <- spplot(nc, c("pred"), col.regions=pal_ft, at=cI_ft, col="grey30", main="Median-polish fit") atn <- pretty(nc$mp_resid[nc$mp_resid < 0]) atp <- pretty(nc$mp_resid[nc$mp_resid >= 0]) pal <- c(rev(brewer.pal(length(atn-1), "YlOrRd")), brewer.pal(length(atp[-1]), "YlGnBu")[-1]) p3 <- spplot(nc, "mp_resid", at=c(atn, atp[-1]), col.regions=pal, col="grey30", main="Median-polish residuals") plot(p1, split=c(1,1,1,3), more=TRUE) plot(p2, split=c(1,2,1,3), more=TRUE) plot(p3, split=c(1,3,1,3), more=FALSE) @ \end{footnotesize} \begin{figure}[htbp] \begin{center} <>= <> <> <> @ \caption{Freeman-Tukey transformed SIDS rates, fitted smoothed values, residuals, and Tukey additivity plot.} \label{fig:med_pol} \end{center} \end{figure} Figure \ref{fig:med_pol} shows the median polish smoothing results as three maps, the observed Freeman-Tukey transformed SIDS rates, the fitted smoothed values, and the residuals. In addition, a plot for the median polish object is also shown, plotting the smooth residuals against the outer product of the row and column effects divided by the overall effect, which would indicate a lack of additivity between row and column if this was the case --- this is more relevant for analysis of tables of covariates rather than geographical grids. \subsection{CAR model fitting} We will now try to replicate three of the four models fitted by \citep{cressie+chan:1989} to the transformed rates variable. The first thing to do is to try to replicate their 30 mile distance between county seats neighbours, which almost works. From there we try to reconstruct three of the four models they fit, concluding that we can get quite close, but that a number of questions are raised along the way. Building the weights is much more complicated, because they use a combination of distance-metric and population-at-risk based weights, but we can get quite close \citep[see also][]{kaluznyetal:1996}: \begin{footnotesize} <>= sids.nhbr30.dist <- nbdists(ncCC89, cbind(nc$east, nc$north)) sids.nhbr <- listw2sn(nb2listw(ncCC89, glist=sids.nhbr30.dist, style="B", zero.policy=TRUE)) dij <- sids.nhbr[,3] n <- nc$BIR74 el1 <- min(dij)/dij el2 <- sqrt(n[sids.nhbr$to]/n[sids.nhbr$from]) sids.nhbr$weights <- el1*el2 sids.nhbr.listw <- sn2listw(sids.nhbr) @ \end{footnotesize} The first model (I) is a null model with just an intercept, the second (II) includes all the 12 parcels of contiguous counties in 4 east-west and 4 north-south bands, while the fourth (IV) includes the transformed non-white birth-rate: \begin{footnotesize} <>= nc$ft.NWBIR74 <- sqrt(1000)*(sqrt(nc$NWBIR74/nc$BIR74) + sqrt((nc$NWBIR74+1)/nc$BIR74)) @ \end{footnotesize} Cressie identifies Anson county as an outlier, and drops it from further analysis. Because the weights are constructed in a complicated way, they will be subsetted by dropping the row and column of the weights matrix: \begin{footnotesize} <>= lm_nc <- lm(ft.SID74 ~ 1, data=nc) outl <- which.max(rstandard(lm_nc)) as.character(nc$names[outl]) W <- listw2mat(sids.nhbr.listw) W.4 <- W[-outl, -outl] sids.nhbr.listw.4 <- mat2listw(W.4) nc2 <- nc[!(1:length(nc$CNTY_ID) %in% outl),] @ \end{footnotesize} It appears that both numerical issues (convergence in particular) and uncertainties about the exact spatial weights matrix used make it difficult to reproduce the results of \citet{cressie+chan:1989}, also given in \citet{cressie:1991}. We now try to replicate them for the null weighted CAR model (Cressie has intercept 2.838, $\hat{\theta}$ 0.833, for k=1): \begin{footnotesize} <>= ecarIaw <- spautolm(ft.SID74 ~ 1, data=nc2, listw=sids.nhbr.listw.4, weights=BIR74, family="CAR") summary(ecarIaw) @ \end{footnotesize} The spatial parcels model also seems to work, with Cressie's $\hat{\theta}$ 0.710, and the other coefficients agreeing more or less by rank: \begin{footnotesize} <>= ecarIIaw <- spautolm(ft.SID74 ~ both - 1, data=nc2, listw=sids.nhbr.listw.4, weights=BIR74, family="CAR") summary(ecarIIaw) @ \end{footnotesize} Finally, the non-white model repeats Cressie's finding that much of the variance of the transformed SIDS rate for 1974--8 can be accounted for by the transformed non-white birth variable (Cressie intercept 1.644, $\hat{b}$ 0.0346, $\hat{\theta}$ 0.640 --- not significant): \begin{footnotesize} <>= ecarIVaw <- spautolm(ft.SID74 ~ ft.NWBIR74, data=nc2, listw=sids.nhbr.listw.4, weights=BIR74, family="CAR") summary(ecarIVaw) @ \end{footnotesize} \begin{footnotesize} <>= nc2$fitIV <- fitted.values(ecarIVaw) @ <>= spplot(nc2, "fitIV", cuts=12, col.regions=grey.colors(13, 0.9, 0.3)) @ \end{footnotesize} \begin{figure}[htbp] \begin{center} <>= <> print(spplot(nc2, "fitIV", cuts=12, col.regions=grey.colors(13, 0.9, 0.3))) <> @ \caption{Fitted values for model IV, including covariate.} \label{fig:fitIV} \end{center} \end{figure} \begin{footnotesize} <>= ecarIawll <- spautolm(ft.SID74 ~ 1, data=nc2, listw=sids.nhbr.listw.4, weights=BIR74, family="CAR", llprof=seq(-0.1, 0.9020532358, length.out=100)) @ <>= plot(ll ~ lambda, ecarIawll$llprof, type="l") @ \end{footnotesize} \begin{figure}[htbp] \begin{center} <>= <> <> <> @ \caption{Plot of log likelihood function values by coefficient values, model I.} \label{fig:ll_prof} \end{center} \end{figure} <>= options("width"=owidth) options("warn"=ow) @ \section*{References} \begin{description} \bibitem[\protect\citeauthoryear{Anselin, Syabri and Smirnov}{Anselin, Syabri and Smirnov}{2002}]{anselin+syabri+smirnov:2002} Anselin, L., Syabri, I., Smirnov, O., 2002. \newblock {Visualizing Multivariate Spatial Correlation with Dynamically Linked Windows}. \newblock {In Anselin, L., Rey, S. (Eds.), Proceedings, CSISS Workshop on New Tools for Spatial Data Analysis, Santa Barbara, CA, May 10-11, 2002. Center for Spatially Integrated Social Science}, \newblock 20 pp., {\url{http://sal.agecon.uiuc.edu/csiss/pdf/multilisa.pdf}}. \bibitem[\protect\citeauthoryear{Bailey and Gatrell}{Bailey and Gatrell}{1995}]{bailey+gatrell:1995} Bailey, T.~C., Gatrell, A.~C., 1995. \newblock {Interactive Spatial Data Analysis}. \newblock {Harlow: Longman}, \newblock 413 pp. \bibitem[\protect\citeauthoryear{Choynowski}{Choynowski}{1959}]{choynowski:1959} Choynowski, M., 1959 \newblock {Maps based on probabilities}. \newblock {Journal of the American Statistical Association}, \newblock 54 (286), {385--388}. \bibitem[\protect\citeauthoryear{Cressie}{Cressie}{1991}]{cressie:1991} Cressie, N., 1991. \newblock {Statistics for spatial data}. \newblock {New York: Wiley}, \newblock 900 pp. \bibitem[\protect\citeauthoryear{Cressie and Chan}{Cressie and Chan}{1989}]{cressie+chan:1989} Cressie, N., Chan N.~H., 1989. \newblock {Spatial modelling of regional variables}. \newblock {Journal of the American Statistical Association}, \newblock 84 (406), {393--401}. \bibitem[\protect\citeauthoryear{Cressie and Read}{Cressie and Read}{1985}]{cressie+read:1985} Cressie, N., Read, T.~R.~C., 1985. \newblock {Do sudden infant deaths come in clusters?}. \newblock {Statistics and Decisions}, \newblock {Supplement Issue 2, 333--349}. \bibitem[\protect\citeauthoryear{Cressie and Read}{Cressie and Read}{1989}]{cressie+read:1989} Cressie, N., Read, T.~R.~C., 1989. \newblock {Spatial data-analysis of regional counts}. \newblock {Biometrical Journal}, \newblock 31 (6), {699--719}. \bibitem[\protect\citeauthoryear{G\'{o}mez Rubio, Ferr\'{a}ndiz and L\'{o}pez}{G\'{o}mez Rubio, Ferr\'{a}ndiz and L\'{o}pez}{2003}]{gomez-rubio+ferrandiz+lopez:2003} G\'{o}mez Rubio, V., Ferr\'{a}ndiz, J., L\'{o}pez, A., 2003 \newblock {Detecting Disease Clusters with \RR}. \newblock {In: Hornik, K., Leisch, F., Zeilis, A. (Eds), Proceedings of the 3rd International Workshop on Distributed Statistical Computing, Vienna, Austria}, \newblock 15 pp., {(\url{http://www.ci.tuwien.ac.at/Conferences/DSC-2003/Proceedings/GomezRubioEtAl.pdf})}. \bibitem[\protect\citeauthoryear{Kaluzny et al.}{Kaluzny et al.}{1996}]{kaluznyetal:1996} Kaluzny, S.~P., Vega, S.~C., Cardoso, T.~P., Shelly, A.~A., 1996. \newblock {\SP~SPATIALSTATS user's manual version 1.0}. \newblock {Seattle: MathSoft Inc.}, \newblock 226 pp. \bibitem[\protect\citeauthoryear{Marshall}{Marshall}{1991}]{marshall:1991} Marshall, R.~M., 1991. \newblock {Mapping disease and mortality rates using Empirical Bayes Estimators}. \newblock {Applied Statistics}, \newblock 40 (2), {283--294}. \bibitem[\protect\citeauthoryear{Symons et al.}{Symons et al.}{1983}]{symonsetal:1983} Symons, M.~J., Grimson, R.~C., Yuan, Y.~C., 1983. \newblock {Clustering of rare events}. \newblock {Biometrics}, \newblock 39 (1), {193--205}. \end{description} \end{document} spdep/inst/doc/nb.Rnw0000644000176200001440000006144212723334062014207 0ustar liggesusers%FIXME NY8_utm18 shapefile and NY_nb.gal to package %\VignetteIndexEntry{Creating Neighbours} %\VignetteDepends{} %\VignetteKeywords{spatial} %\VignettePackage{spdep} \documentclass[a4paper,10pt]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} %\usepackage[dvips]{graphicx,color} \usepackage{times} \usepackage{hyperref} \usepackage{natbib} \usepackage[english]{babel} \usepackage{xspace} \usepackage{Sweave} \usepackage{mathptm} \usepackage{natbib} \setkeys{Gin}{width=0.95\textwidth} \newcommand{\strong}[1]{{\normalfont\fontseries{b}\selectfont #1}} \let\pkg=\strong \RequirePackage{alltt} \newenvironment{example}{\begin{alltt}}{\end{alltt}} \newenvironment{smallexample}{\begin{alltt}\small}{\end{alltt}} \newcommand{\code}[1]{\texttt{\small #1}} \def\RR{\textsf{R}\xspace} \def\SP{\texttt{S-PLUS}\xspace} \def\SS{\texttt{S}\xspace} \SweaveOpts{keep.source=FALSE} \title{Creating Neighbours\footnote{This vignette formed pp. 239--251 of the first edition of Bivand, R. S., Pebesma, E. and G\'{o}mez-Rubio V. (2008) Applied Spatial Data Analysis with R, Springer-Verlag, New York. It was retired from the second edition (2013) to accommodate material on other topics, and is made available in this form with the understanding of the publishers.}} \author{Roger Bivand} \begin{document} \maketitle <>= owidth <- getOption("width") options("width"=90) ow <- getOption("warn") options("warn"=-1) .PngNo <- 0 @ <>= .iwidth <- 5 .iheight <- 6 .ipointsize <- 12 @ <>= <> @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 5, pointsize = 12, bg = "white") @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) @ <>= par(opar) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") @ <>= dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") @ \section{Introduction} Creating spatial weights is a necessary step in using areal data, perhaps just to check that there is no remaining spatial patterning in residuals. The first step is to define which relationships between observations are to be given a non-zero weight, that is to choose the neighbour criterion to be used; the second is to assign weights to the identified neighbour links. The 281 census tract data set for eight central New York State counties featured prominently in \citet{WallerGotway:2004} will be used in many of the examples,\footnote{The boundaries have been projected from geographical coordinates to UTM zone~18.} supplemented with tract boundaries derived from TIGER 1992 and distributed by SEDAC/CIESIN. This file is not identical with the boundaries used in the original source, but is very close and may be re-distributed, unlike the version used in the book. Starting from the census tract queen contiguities, where all touching polygons are neighbours, used in \citet{WallerGotway:2004} and provided as a DBF file on their website, a GAL format file has been created and read into \RR. \begin{footnotesize} <>= library(maptools) owd <- getwd() setwd(system.file("etc/shapes", package="spdep")) NY8 <- readShapeSpatial("NY8_utm18") library(spdep) setwd(system.file("etc/weights", package="spdep")) NY_nb <- read.gal("NY_nb.gal", region.id=row.names(NY8)) setwd(owd) @ \end{footnotesize} For the sake of simplicity in showing how to create neighbour objects, we work on a subset of the map consisting of the census tracts within Syracuse, although the same principles apply to the full data set. We retrieve the part of the neighbour list in Syracuse using the \code{subset} method. \begin{footnotesize} <>= Syracuse <- NY8[NY8$AREANAME == "Syracuse city",] Sy0_nb <- subset(NY_nb, NY8$AREANAME == "Syracuse city") summary(Sy0_nb) @ \end{footnotesize} \section{Creating Contiguity Neighbours} We can create a copy of the same neighbours object for polygon contiguities using the \code{poly2nb} function in \pkg{spdep}. It takes an object extending the \code{SpatialPolygons} class as its first argument, and using heuristics identifies polygons sharing boundary points as neighbours. It also has a \code{snap} argument, to allow the shared boundary points to be a short distance from one another. \begin{footnotesize} <>= class(Syracuse) Sy1_nb <- poly2nb(Syracuse) isTRUE(all.equal(Sy0_nb, Sy1_nb, check.attributes=FALSE)) @ \end{footnotesize} As we can see, creating the contiguity neighbours from the \code{Syracuse} object reproduces the neighbours from \citet{WallerGotway:2004}. Careful examination of Fig.\,\ref{fig:NY_nb} shows, however, that the graph of neighbours is not planar, since some neighbour links cross each other. By default, the contiguity condition is met when at least one point on the boundary of one polygon is within the snap distance of at least one point of its neighbour. This relationship is given by the argument \code{queen=TRUE} by analogy with movements on a chessboard. So when three or more polygons meet at a single point, they all meet the contiguity condition, giving rise to crossed links. If \code{queen=FALSE}, at least two boundary points must be within the snap distance of each other, with the conventional name of a `rook' relationship. Figure~\ref{fig:NB_queen} shows the crossed line differences that arise when polygons touch only at a single point, compared to the stricter rook criterion. \begin{footnotesize} <>= Sy2_nb <- poly2nb(Syracuse, queen=FALSE) isTRUE(all.equal(Sy0_nb, Sy2_nb, check.attributes=FALSE)) @ \end{footnotesize} \begin{figure}[!t] \centering <>= .iwidth <- 6 .iheight <- 4.5 .ipointsize <- 10 <> oopar <- par(mfrow=c(1,2), mar=c(3,3,1,1)+0.1) plot(Syracuse, border="grey60") plot(Sy0_nb, coordinates(Syracuse), add=TRUE, pch=19, cex=0.6) text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="a)", cex=0.8) plot(Syracuse, border="grey60") plot(Sy0_nb, coordinates(Syracuse), add=TRUE, pch=19, cex=0.6) plot(diffnb(Sy0_nb, Sy2_nb, verbose=FALSE), coordinates(Syracuse), add=TRUE, pch=".", cex=0.6, lwd=2) text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="b)", cex=0.8) par(oopar) <> <> @ \caption{(\textbf{a}) Queen-style census tract contiguities, Syracuse; (\textbf{b}) Rook-style contiguity differences shown as thicker lines} \label{fig:NB_queen}\vspace*{-6pt} \end{figure} If we have access to a GIS such as GRASS or ArcGIS\texttrademark, we can export the \code{SpatialPolygonsDataFrame} object and use the topology engine in the GIS to find contiguities in the graph of polygon edges -- a shared edge will yield the same output as the rook relationship. This procedure does, however, depend on the topology of the set of polygons being clean, which holds for this subset, but not for the full eight-county data set. Not infrequently, there are small artefacts, such as slivers where boundary lines intersect or diverge by distances that cannot be seen on plots, but which require intervention to keep the geometries and data correctly associated. When these geometrical artefacts are present, the topology is not clean, because unambiguous shared polygon boundaries cannot be found in all cases; artefacts typically arise when data collected for one purpose are combined with other data or used for another purpose. Topologies are usually cleaned in a GIS by `snapping' vertices closer than a threshold distance together, removing artefacts -- for example, snapping across a river channel where the correct boundary is the median line but the input polygons stop at the channel banks on each side. The \code{poly2nb} function does have a \code{snap} argument, which may also be used when input data possess geometrical artefacts. %FIXME \begin{footnotesize} <>= library(spgrass6) writeVECT6(Syracuse, "SY0") contig <- vect2neigh("SY0") @ <>= load("contig.RData") @ <>= Sy3_nb <- sn2listw(contig)$neighbours isTRUE(all.equal(Sy3_nb, Sy2_nb, check.attributes=FALSE)) @ \end{footnotesize} Similar approaches may also be used to read ArcGIS\texttrademark~coverage data by tallying the left neighbour and right neighbour arc indices with the polygons in the data set, using either \pkg{RArcInfo} or \pkg{rgdal}. In our Syracuse case, there are no exclaves or `islands' belonging to the data set, but not sharing boundary points within the snap distance. If the number of polygons is moderate, the missing neighbour links may be added interactively using the \code{edit} method for \code{nb} objects, and displaying the polygon background. The same method may be used for removing links which, although contiguity exists, may be considered void, such as across a mountain range. \section{Creating Graph-Based Neighbours} Continuing with irregularly located areal entities, it is possible to choose a point to represent the polygon-support entities. This is often the polygon centroid, which is not the average of the coordinates in each dimension, but takes proper care to weight the component triangles of the polygon by area. It is also possible to use other points, or if data are available, construct, for example population-weighted centroids. Once representative points are available, the criteria for neighbourhood can be extended from just contiguity to include graph measures, distance thresholds, and $k$-nearest neighbours. The most direct graph representation of neighbours is to make a Delaunay triangulation of the points, shown in the first panel in Fig.\,\ref{fig:NB_graph}. The neighbour relationships are defined by the triangulation, which extends outwards to the convex hull of the points and which is planar. Note that graph-based representations construct the interpoint relationships based on Euclidean distance, with no option to use Great Circle distances for geographical coordinates. \hbox{Because} it joins distant points around the convex hull, it may be worthwhile to thin the triangulation as a Sphere of Influence (SOI) graph, removing links that are relatively long. Points are SOI neighbours if circles centred on the points, of radius equal to the points' nearest neighbour distances, intersect in two places \citep{avis+horton:1985}.\footnote{Functions for graph-based neighbours were kindly contributed by Nicholas \hbox{Lewin-Koh.}} \begin{footnotesize} <>= coords <- coordinates(Syracuse) IDs <- row.names(as(Syracuse, "data.frame")) #FIXME library(tripack) Sy4_nb <- tri2nb(coords, row.names=IDs) if (require(rgeos, quietly=TRUE) && require(RANN, quietly=TRUE)) { Sy5_nb <- graph2nb(soi.graph(Sy4_nb, coords), row.names=IDs) } else Sy5_nb <- NULL Sy6_nb <- graph2nb(gabrielneigh(coords), row.names=IDs) Sy7_nb <- graph2nb(relativeneigh(coords), row.names=IDs) @ \end{footnotesize} \begin{figure}[!t] \centering <>= .iwidth <- 5 .iheight <- 3.5 .ipointsize <- 10 <> oopar <- par(mfrow=c(2,2), mar=c(1,1,1,1)+0.1) plot(Syracuse, border="grey60") plot(Sy4_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="a)", cex=0.8) plot(Syracuse, border="grey60") if (!is.null(Sy5_nb)) { plot(Sy5_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="b)", cex=0.8) } plot(Syracuse, border="grey60") plot(Sy6_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="c)", cex=0.8) plot(Syracuse, border="grey60") plot(Sy7_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="d)", cex=0.8) par(oopar) <> <> @ \caption{(\textbf{a}) Delauney triangulation neighbours; (\textbf{b}) Sphere of influence neighbours (if available); (\textbf{c}) Gabriel graph neighbours; (\textbf{d}) Relative graph neighbours} \label{fig:NB_graph}\vspace*{-12pt} \end{figure} Delaunay triangulation neighbours and SOI neighbours are symmetric by design -- if $i$ is a neighbour of $j$, then $j$ is a neighbour of $i$. The Gabriel graph is also a subgraph of the Delaunay triangulation, retaining a different set of neighbours \citep{matula+sokal:80}. It does not, however, guarantee symmetry; the same applies to Relative graph neighbours \citep{toussaint:80}. The \code{graph2nb} function takes a \code{sym} argument to insert links to restore symmetry, but the graphs then no longer exactly fulfil their neighbour criteria. All the graph-based neighbour schemes always ensure that all the points will have at least one neighbour. Subgraphs of the full triangulation may also have more than one graph after trimming. The functions \code{is.symmetric.nb} can be used to check for symmetry, with argument \code{force=TRUE} if the symmetry attribute is to be overridden, and \code{n.comp.nb} reports the number of graph components and~the components to which points belong (after enforcing symmetry, because the algorithm assumes that the graph is not directed). When there are more than one graph component, the matrix representation of the spatial weights can become block-diagonal if observations are appropriately sorted. \begin{footnotesize} <>= nb_l <- list(Triangulation=Sy4_nb, Gabriel=Sy6_nb, Relative=Sy7_nb) if (!is.null(Sy5_nb)) nb_l <- c(nb_l, list(SOI=Sy5_nb)) sapply(nb_l, function(x) is.symmetric.nb(x, verbose=FALSE, force=TRUE)) sapply(nb_l, function(x) n.comp.nb(x)$nc) @ \end{footnotesize} \section{Distance-Based Neighbours} An alternative method is to choose the $k$ nearest points as neighbours -- this adapts across the study area, taking account of differences in the densities of areal entities. Naturally, in the overwhelming majority of cases, it leads to asymmetric neighbours, but will ensure that all areas have $k$ neighbours. The \code{knearneigh} returns an intermediate form converted to an \code{nb} object by \code{knn2nb}; \code{knearneigh} can also take a \code{longlat} argument to handle geographical coordinates. \begin{footnotesize} <>= Sy8_nb <- knn2nb(knearneigh(coords, k=1), row.names=IDs) Sy9_nb <- knn2nb(knearneigh(coords, k=2), row.names=IDs) Sy10_nb <- knn2nb(knearneigh(coords, k=4), row.names=IDs) nb_l <- list(k1=Sy8_nb, k2=Sy9_nb, k4=Sy10_nb) sapply(nb_l, function(x) is.symmetric.nb(x, verbose=FALSE, force=TRUE)) sapply(nb_l, function(x) n.comp.nb(x)$nc) @ \end{footnotesize} \begin{figure}[!t] \centering <>= .iwidth <- 5 .iheight <- 2.5 .ipointsize <- 10 <> oopar <- par(mfrow=c(1,3), mar=c(1,1,1,1)+0.1) plot(Syracuse, border="grey60") plot(Sy8_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="a)", cex=0.8) plot(Syracuse, border="grey60") plot(Sy9_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="b)", cex=0.8) plot(Syracuse, border="grey60") plot(Sy10_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="c)", cex=0.8) par(oopar) <> <> @ \caption{(\textbf{a}) $k=1$ neighbours; (\textbf{b}) $k=2$ neighbours; (\textbf{c}) $k=4$ neighbours} \label{fig:NB_knn} \end{figure} Figure~\ref{fig:NB_knn} shows the neighbour relationships for $k = 1, 2, 4$, with many components for $k=1$. If need be, $k$-nearest neighbour objects can be made symmetrical using the \code{make.sym.nb} function. The $k=1$ object is also useful in finding the minimum distance at which all areas have a distance-based neighbour. Using the \code{nbdists} function, we can calculate a list of vectors of distances corresponding to the neighbour object, here for first nearest neighbours. The greatest value will be the minimum distance needed to make sure that all the areas are linked to at least one neighbour. The \code{dnearneigh} function is used to find neighbours with an interpoint distance, with arguments \code{d1} and \code{d2} setting the lower and upper distance bounds; it can also take a \code{longlat} argument to handle geographical coordinates. \begin{footnotesize} <>= dsts <- unlist(nbdists(Sy8_nb, coords)) summary(dsts) max_1nn <- max(dsts) max_1nn Sy11_nb <- dnearneigh(coords, d1=0, d2=0.75*max_1nn, row.names=IDs) Sy12_nb <- dnearneigh(coords, d1=0, d2=1*max_1nn, row.names=IDs) Sy13_nb <- dnearneigh(coords, d1=0, d2=1.5*max_1nn, row.names=IDs) nb_l <- list(d1=Sy11_nb, d2=Sy12_nb, d3=Sy13_nb) sapply(nb_l, function(x) is.symmetric.nb(x, verbose=FALSE, force=TRUE)) sapply(nb_l, function(x) n.comp.nb(x)$nc) @ \end{footnotesize} \begin{figure}[!t] \centering <>= .iwidth <- 5 .iheight <- 2.5 .ipointsize <- 10 <> oopar <- par(mfrow=c(1,3), mar=c(1,1,1,1)+0.1) plot(Syracuse, border="grey60") plot(Sy11_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="a)", cex=0.8) plot(Syracuse, border="grey60") plot(Sy12_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="b)", cex=0.8) plot(Syracuse, border="grey60") plot(Sy13_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="c)", cex=0.8) par(oopar) <> <> @ \caption{(\textbf{a}) Neighbours within 1,158\,m; (\textbf{b}) neighbours within 1,545\,m; (\textbf{c}) neighbours within 2,317\,m} \label{fig:NB_dnn} \end{figure} \begin{figure}[!t] \centering <>= .iwidth <- 5 .iheight <- 2.5 .ipointsize <- 10 <> oopar <- par(mfrow=c(1,3), mar=c(1,1,1,1)+0.1) plot(Syracuse, border="grey60") plot(Sy11_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="a)", cex=0.8) plot(Syracuse, border="grey60") plot(Sy12_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="b)", cex=0.8) plot(Syracuse, border="grey60") plot(Sy13_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="c)", cex=0.8) par(oopar) <> <> @ \caption{Distance-based neighbours: frequencies of numbers of neighbours by census tract} \label{fig:NB_dnn_cards} \end{figure} Figure~\ref{fig:NB_dnn} shows how the numbers of distance-based neighbours increase with moderate increases in distance. Moving from $0.75$ times the minimum all-included distance, to the all-included distance, and $1.5$ times the minimum \hbox{all-included} distance, the numbers of links grow rapidly. This is a major problem when some of the first nearest neighbour distances in a study area are much larger than others, since to avoid no-neighbour areal entities, the distance criterion will need to be set such that many areas have many neighbours. Figure~\ref{fig:NB_dnn_cards} shows the counts of sizes of sets of neighbours for the three different distance limits. In Syracuse, the census tracts are of similar areas, but were we to try to use the distance-based neighbour criterion on the eight-county study area, the smallest distance securing at least one neighbour for every areal entity is over 38\,km. \begin{footnotesize} <>= dsts0 <- unlist(nbdists(NY_nb, coordinates(NY8))) summary(dsts0) @ \end{footnotesize} If the areal entities are approximately regularly spaced, using distance-based neighbours is not necessarily a problem. Provided that care is taken to handle the side effects of ``weighting'' areas out of the analysis, using lists of neighbours with no-neighbour areas is not necessarily a problem either, but certainly ought to raise questions. Different disciplines handle the definition of neighbours in their own ways by convention; in particular, it seems that ecologists frequently use distance bands. If many distance bands are used, they approach the variogram, although the underlying understanding of spatial autocorrelation seems to be by contagion rather than continuous. \section{Higher-Order Neighbours} Distance bands can be generated by using a sequence of \code{d1} and \code{d2} argument values for the \code{dnearneigh} function if needed to construct a spatial autocorrelogram as understood in ecology. In other conventions, correlograms are constructed by taking an input list of neighbours as the first-order sets, and stepping out across the graph to second-, third-, and higher-order neighbours based on the number of links traversed, but not permitting cycles, which could risk making $i$ a neighbour of $i$ itself \citep[][p. 203]{osullivan+unwin:03}. The \code{nblag} function takes an existing neighbour list and returns a list of lists, from first to \code{maxlag} order neighbours. \begin{footnotesize} <>= Sy0_nb_lags <- nblag(Sy0_nb, maxlag=9) @ \end{footnotesize} y \enlargethispage*{1pc} \begin{table}[!b] \tabcolsep5pt \vspace*{-6pt} \centering \caption{Higher-order contiguities: frequencies of numbers of neighbours by order of neighbour list} \label{tab:nblag} \begin{footnotesize}\vspace*{-6pt} \addvspace{5pt} <>= library(xtable) names(Sy0_nb_lags) <- c("first", "second", "third", "fourth", "fifth", "sixth", "seventh", "eighth", "ninth") res <- sapply(Sy0_nb_lags, function(x) table(card(x))) mx <- max(unlist(sapply(Sy0_nb_lags, function(x) card(x)))) nn <- length(Sy0_nb_lags) res1 <- matrix(0, ncol=(mx+1), nrow=nn) rownames(res1) <- names(res) colnames(res1) <- as.character(0:mx) for (i in 1:nn) res1[i, names(res[[i]])] <- res[[i]] print(xtable(t(res1), align=c("r", "|", rep("r", nn)), digits=0), floating=FALSE) @ \end{footnotesize} \end{table} {\spaceskip3pt plus2pt minus2pt Table~\ref{tab:nblag} shows how the wave of connectedness in the graph spreads to the third order, receding to the eighth order, and dying away at the ninth\break order -- there are no tracts nine steps from each other in this graph. Both the distance bands and the graph step order approaches to spreading neighbour\-hoods can be used to examine the shape of relationship intensities in space, like the variogram, and can be used in attempting to look at the effects of scale.} \section{Grid Neighbours} When the data are known to be arranged in a regular, rectangular grid, the \code{cell2nb} function can be used to construct neighbour lists, including those on a torus. These are useful for simulations, because, since all areal entities have equal numbers of neighbours, and there are no edges, the structure of the graph is as neutral as can be achieved. Neighbours can either be of type rook or queen. \begin{footnotesize} <>= cell2nb(7, 7, type="rook", torus=TRUE) cell2nb(7, 7, type="rook", torus=FALSE) @ \end{footnotesize} When a regular, rectangular grid is not complete, then we can use knowledge of the cell size stored in the grid topology to create an appropriate list of neighbours, using a tightly bounded distance criterion. Neighbour lists of this kind are commonly found in ecological assays, such as studies of species richness at a national or continental scale. It is also in these settings, with moderately large $n$, here $n=3$,103, that the use of a sparse, list based representation shows its strength. Handling a $281 \times 281$ matrix for the eight-county census tracts is feasible, easy for a $63 \times 63$ matrix for Syracuse census tracts, but demanding for a 3,$103 \times 3$,103 matrix. \begin{footnotesize} <>= data(meuse.grid) coordinates(meuse.grid) <- c("x", "y") gridded(meuse.grid) <- TRUE dst <- max(slot(slot(meuse.grid, "grid"), "cellsize")) mg_nb <- dnearneigh(coordinates(meuse.grid), 0, dst) mg_nb table(card(mg_nb)) @ \end{footnotesize} \begin{thebibliography}{} \bibitem[Avis and Horton, 1985]{avis+horton:1985} Avis, D. and Horton, J. (1985). Remarks on the sphere of influence graph. In Goodman, J.~E., editor, {\em Discrete Geometry and Convexity}. New York Academy of Sciences, New York, pp 323--327. \bibitem[Matula and Sokal, 1980]{matula+sokal:80} Matula, D.~W. and Sokal, R.~R. (1980). Properties of {G}abriel graphs relevant to geographic variation research and the clustering of points in the plane. {\em Geographic Analysis}, 12:205--222. \bibitem[O'Sullivan and Unwin, 2003]{osullivan+unwin:03} O'Sullivan, D. and Unwin, D.~J. (2003). {\em Geographical Information Analysis}. Wiley, Hoboken, NJ. \bibitem[Toussaint, 1980]{toussaint:80} Toussaint, G.~T. (1980). The relative neighborhood graph of a finite planar set. {\em Pattern Recognition}, 12:261--268. \bibitem[Waller and Gotway, 2004]{WallerGotway:2004} Waller, L.~A. and Gotway, C.~A. (2004). \newblock {\em Applied Spatial Statistics for Public Health Data}. \newblock John Wiley \& Sons, Hoboken, NJ. \end{thebibliography} \end{document} spdep/inst/doc/nb_igraph.Rmd0000644000176200001440000004407113073150206015507 0ustar liggesusers # Spatial weights objects as sparse matrices and graphs ====================================================== ## Introduction ====================================================== Since the **spdep** package was created, *spatial weights* objects have been constructed as lists with three components and a few attributes, in old-style class `listw` objects. The first component of a `listw` object is an `nb` object, a list of `n` integer vectors, with at least a character vector `region.id` attribute with `n` unique values (like the `row.names` of a `data.frame` object); `n` is the number of spatial entities. Component `i` of this list contains the integer identifiers of the neighbours of `i` as a sorted vector with no duplication and values in `1:n`; if `i` has no neighbours, the component is a vector of length `1` with value `0L`. The `nb` object may contain an attribute indicating whether it is symmetric or not, that is whether `i` is a neighbour of `j` implies that `j` is a neighbour of `i`. Some neighbour definitions are symmetric by construction, such as contiguities or distance thresholds, others are asymmetric, such as `k`-nearest neighbours. The `nb` object redundantly stores both `i`-`j` and `j`-`i` links. The second component of a `listw` object is a list of `n` numeric vectors, each of the same length as the corresponding non-zero vectors in the `nb`object. These give the values of the spatial weights for each `i`-`j` neighbour pair. It is often the case that while the neighbours are symmetric by construction, the weights are not, as for example when weights are *row-standardised* by dividing each row of input weights by the count of neighbours or cardinality of the neighbour set of `i`. In the `nb2listw`function, it is also possible to pass through general weights, such as inverse distances, shares of boundary lengths and so on. The third component of a `listw` object records the `style` of the weights as a character code, with `"B"` for binary weights taking values zero or one (only one is recorded), `"W"` for row-standardised weights, and so on. In order to subset `listw` objects, knowledge of the `style` may be necessary It is obvious that this is similar to the way in which sparse matrices are stored, either by row - like the `listw` object, or by column. The key insight is that storing zero values is unnecessary, as we only need to store the row and column locations of non-zero values. Early on, a Netlib library was used to provide limited support in **spdep** for sparse matrices, followed by functionality in **SparseM**, **spam**, and **Matrix**. ### **spdep** depends on **Matrix** Since **Matrix** is a recommended package, its functionality has increasingly been used over time, and it has become one of two packages on which **spdep** depends. This is reported on loading: ```{r} library(spdep) ``` ### Getting some data The legacy Columbus OH data set has 49 spatial entities, polygons, defined as the boundaries of policing districts in the city. **spdep** suggests **maptools** for portability, but in regular applications, **rgdal** should be used, because it handles coordinate reference systems more gracefully. We see that the shapefile-based entity IDs are zero-based: ```{r} library(maptools) columbus <- readShapePoly(system.file("etc/shapes/columbus.shp", package="spdep")[1]) row.names(columbus)[1:10] ``` ### Finding contiguous neighbours and droppping links Contiguous neighbours are often used for polygonal spatial entities, here with the **poly2nb** function defaulting to the *queen* criterion - entities are neighbours if they share a boundary point. We see that the entity IDs are copied across to the `nb` object: ```{r} nb_q <- poly2nb(columbus) nb_q attr(nb_q, "region.id")[1:10] is.symmetric.nb(nb_q) ``` In order to make the object more complicated, let us drop the neighbour links for the 21st entity (noting that the print method reports the ID of the entity with no neighbours, not its number in `1:n`), and plot the resulting map of neighbours: ```{r} col2 <- droplinks(nb_q, 21) nb_q[[21]] col2[[21]] col2 is.symmetric.nb(col2) coords <- coordinates(columbus) plot(nb_q, coords, col="grey") plot(col2, coords, add=TRUE) ``` ## Using sparse matrices to represent spatial weights ====================================================== At present only `listw` objects can be coerced to objects of classes defined in **Matrix**. Because the `style` is lost on coercion, it may not be possible to reconstruct spatial weights as the sparse matrix representation does not preserve it. We will start with symmetric binary weights, first creating a spatial weights object, and signalling that one entity has no neighbours with the `zero.policy` argument (default false). The matrix and graph representations of no-neighbour entities are not obvious. ```{r} nb_B <- nb2listw(col2, style="B", zero.policy=TRUE) nb_B$style ``` ### Symmetric sparse matrices **spdep** provides coercion methods from `listw` to the `"symmetricMatrix"`, `"RsparseMatrix"` and `"CsparseMatrix"` classes defined in **Matrix**. The `"RsparseMatrix"` is the representation that is most similar to `listw`, as it is row-based, but it is used less frequently in operations on sparse matrices. The entity IDs are passed using sparse matrix row and column names at present. Here we believe that our `listw` object can be represented as a symmetric matrix, storing only a triangle rather than both `i`-`j` and `j`-`i` weights. The coercion method does check whether symmetry is present before proceeding: ```{r} B <- as(nb_B, "symmetricMatrix") all(B == t(B)) str(B) rownames(B)[1:10] ``` Let us now try to retreive the list of neighbours from the symmetric sparse matrix. At present, we have to coerce from one **Matrix** internal representation to another in order to get to the `"dgCMatrix"` format used inside `mat2listw`, so we coerce to `"dgTMatrix"` from `"dsTMatrix"`. The style is not retreived automatically, but is set to `"M"` to indicate conversion from a matrix. The neighbour links are retreived correctly, as are the IDs: ```{r} nb_B1 <- mat2listw(as(B, "dgTMatrix")) nb_B1$style all.equal(nb_B1$neighbours, col2, check.attributes=FALSE) all.equal(attr(nb_B1$neighbours, "region.id"), attr(nb_B$neighbours, "region.id")) ``` ### Log determinants (symmetric weights) used in spatial regression An initial reason for implementing support for sparse weights matrices in **spdep** was to permit the calculation of the log determinant term in spatial regressions for larger data sets. Using the eigenvalue approach with for example `eigenw` is limited by the need to operate on dense matrices in memory to solve the eigenproblem: ```{r} rho <- 0.1 sum(log(1 - rho * eigenw(nb_B))) ``` When `n` is large, this may become impractical and/or time-consuming, but does permit the rapid calculation of values of the log determinant for differing values of the spatial coefficient \( \rho \). The **Matrix** package provides many `determinant` methods, here for a `"dsCMatrix"` resulting from subtracting a `"dsCMatrix"`, the product of a scalar and a `"dsTMatrix"`, from a `"ddiMatrix"`. The value of the log determinant follows, calling a sparse Cholesky decomposition internally for suitable input matrices. ```{r} n <- nrow(B) I <- Diagonal(n) class(I - rho * B) c(determinant(I - rho * B, logarithm=TRUE)$modulus) ``` The computation of a sparse Cholesky decomposition for each value of the spatial coefficient \( \rho \) may be avoided by updating a pre-computed object; this approach provides fast and accurate log determinants for larger (but not very large) data sets: ```{r} nW <- -B nChol <- Cholesky(nW, Imult=8) n * log(rho) + (2 * c(determinant(update(nChol, nW, 1/rho))$modulus)) ``` ### Asymmetric sparse matrices The use of row-standardisation leads to asymmetry even if the underlying neighbours are symmetric, unless all entities have matching numbers of neighbours (for example a regular grid on a torus): ```{r} nb_W <- nb2listw(col2, style="W", zero.policy=TRUE) W <- as(nb_W, "CsparseMatrix") str(W) all(W == t(W)) ``` The `lag` method for `listw` objects is often used to create spatially lagged values, and returns the same values as the vector given by the product of the sparse general matrix and an input numeric vector. Note that by setting `zero.policy` to `TRUE`, the spatial lag of entity 21, which has no neighbours, is zero by construction: ```{r} set.seed(1) x <- runif(n) r1 <- as.numeric(W %*% x) r2 <- lag(nb_W, x, zero.policy=TRUE) all.equal(r1, r2, check.attributes=FALSE) plot(x, r1, ylim=c(0,1)) c(x[21], r1[21]) ``` ### Log determinants (asymmetric weights) used in spatial regression Calculating the log determinant for asymmetric weights (here with symmetric neighbours and symmetry induced by non-constant numbers of neighbours) may be carried out using eigenvalues as before, but the result may be a complex vector (here it is not, as discussed below). The appropriate `determinant` method for `"dgCMatrix"` objects uses an LU decomposition internally: ```{r} rho <- 0.5 sum(log(1 - rho * eigenw(nb_W))) class(I - rho * W) c(determinant(I - rho * W, logarithm=TRUE)$modulus) ``` We can show the internal workings of the method as: ```{r} LU <- lu(I - rho * W) sum(log(abs(diag(slot(LU, "U"))))) ``` ### Log determinants: symmetric by similarity The `nb2listw` function stores components that can be employed to transform the asymmetric weights matrix to symmetry by similarity, permitting the same log determinant to be computed using less costly numerical methods. The `"W"` style used the cardinalities of neighbour sets (row sums) to introduce row standardisation, and they are stored as an attribute: ```{r} d <- attr(nb_W$weights, "comp")$d all.equal(d, card(col2)) ``` If we first restore the row-standarised matrix to its binary form (which must be symmetric), we can pre- and post-multiply by the square roots of the inverted neighbour counts, yielding a symmetric matrix with the appropriate properties: ```{r} dW <- Diagonal(n, d) %*% W all(dW == t(dW)) isd <- Diagonal(n, 1/sqrt(d)) isd[21,21] Ws <- as(isd %*% dW %*% isd, "symmetricMatrix") rowSums(Ws)[21] class(Ws) c(determinant(I - rho * Ws, logarithm=TRUE)$modulus) ``` As can be seen, the division by the square root of zero for entity 21 is not a problem as the row of `dW` is zero. The transformation by similarity permits the use of numerical methods for sparse symmetric matrices (and equivalently for eigenvalues and dense matrices). Note that this transformation is not available for intrinsically asymmetric neighbours, or for intrinsically asymmetric general weights. ### Using `arpack` in **igraph** for finding some eigenvalues In spatial regression, the domain of the spatial coefficient is given by the inverse of the maximum and minimum eigenvalues. When `n` is moderate, we have the eigenvalues anyway, so the interval for line search is available without extra effort. When `n` is somewhat larger, use may be made of the `arpack` function in **igraph**. The function is not stable and requires manual tuning, so its use is commented out here: ```{r} 1/range(eigenw(nb_B)) library(igraph) #f2 <- function(x, extra=NULL) {as.vector(B %*% x)} #1/arpack(f2, sym=TRUE, options=list(n=n, nev=1, ncv=8, which="LA", maxiter=200))$values #1/arpack(f2, sym=TRUE, options=list(n=n, nev=1, ncv=8, which="SA", maxiter=200))$values # At line 409 of file dsaupd.f: Fortran runtime error: Actual string # length is shorter than the declared one for dummy argument 'which' (0/2) #1/arpack(f2, sym=TRUE, options=list(n=n, nev=2, ncv=8, which="BE", maxiter=200))$values # "BE" gives: At line 558 of file dsaup2.f: Fortran runtime error: # Index '9' of dimension 1 of array 'bounds' above upper bound of 8 ``` In this case, the results are trivial with small `n` and a symmetric sparse matrix. It can be challenging to find the `maxiter=` cutoff for larger `n`; the `which="BE"` argument takes both ends here. ```{r} 1/range(eigenw(nb_W)) f2 <- function(x, extra=NULL) {as.vector(W %*% x)} #1/arpack(f2, sym=FALSE, options=list(n=n, nev=1, ncv=8, which="LR", maxiter=200))$values #1/arpack(f2, sym=FALSE, options=list(n=n, nev=1, ncv=8, which="SR", maxiter=200))$values # At line 409 of file dsaupd.f: Fortran runtime error: Actual string # length is shorter than the declared one for dummy argument 'which' (0/2) ``` For asymmetric matrices, we need to go to each end separately, so finding the domain bounds can be hard. Using row-standardisation has the nice feature of setting the upper bound to unity, and there are graph methods for finding out whether the lower bound is `-1`. ## Using **igraph** for spatial weights as graphs ====================================================== ### Converting from symmetric adjacency matrix to graph First we'll see how to get from sparse matrices to graphs. The mode of a symmetric matrix is `"undirected"` by definition: ```{r} class(B) object.size(B) library(igraph) g1 <- graph.adjacency(B, mode="undirected") class(g1) object.size(g1) ``` ### Converting from graph to symmetric adjacency matrix We can also convert this graph pack to the same matrix, but note that `get.adjacency` chooses a particular class of sparse matrix to be returned, so that the conversion process typically leads many matrices to fewer graph types, and back to fewer matrix types: ```{r} B1 <- get.adjacency(g1) class(B1) object.size(B1) all.equal(B, as(as(B1, "dgTMatrix"), "symmetricMatrix")) ``` ### Graph components in **spdep** A simple example of using **igraph** to do the same as an existing **spdep** function is Nicholas Lewin-Koh's `n.comp.nb` from the early days of the package. It is useful to know whether an `nb` object is divided up into separate subgraphs, and which entities are members of which such subgraph. ```{r} res <- n.comp.nb(col2) table(res$comp.id) ``` ### Graph components in **igraph** The same result can be obtained using the `clusters` function in **igraph**: ```{r} c1 <- clusters(g1) c1$no == res$nc all.equal(c1$membership, res$comp.id) all.equal(c1$csize, c(table(res$comp.id)), check.attributes=FALSE) ``` The same holds for the row-standardised variant: ```{r} W <- as(nb2listw(col2, style="W", zero.policy=TRUE), "CsparseMatrix") g1W <- graph.adjacency(W, mode="directed", weighted="W") c1W <- clusters(g1W) all.equal(c1W$membership, res$comp.id) ``` ### Shortest paths in weights matrices: **igraph** Finding shortest paths between spatial entities across a given graph is a way to express closeness. If the graph is connected, that is that it is possible to traverse the graph edges from any node to any other, the longest shortest path is then a useful measure. In **igraph**, the `is.connected` function tells us tells us that our graph is not connected, as we know from the figure above. The diameter measure is then the diameter of the largest component subgraph. Note that this generates an `n` x `n` matrix: ```{r} is.connected(g1) dg1 <- diameter(g1) dg1 sp_mat <- shortest.paths(g1) str(sp_mat) ``` ### Shortest paths in weights matrices: **spdep** If we do the same in **spdep**, using `nblag` to a maximum number of lag orders - the diameter, but which is unknown in advance (the largest lag order for which the number of links is greater than zero), we run into the problem of how to represent missing neighbour information. ```{r} nbl10 <- nblag(col2, maxlag=10) vals <- sapply(nbl10, function(x) sum(card(x))) zero <- which(vals == 0) zero[1]-1 ``` If we insert zero into the weights matrix where there is no connection using `zero.policy=TRUE`, we generate a zero shortest path. If we are to create a matrix that matches the one produced by `shortest.paths`, we need to set all these non-structural zeros to infinity (the length of the path between unconnected nodes), and re-instate structural zeros on the diagonal: ```{r} lmat <- lapply(nbl10[1:(zero[1]-1)], nb2mat, style="B", zero.policy=TRUE) mat <- matrix(0, n, n) for (i in seq(along=lmat)) mat = mat + i*lmat[[i]] mat[mat==0] <- Inf diag(mat) <- 0 all.equal(mat, sp_mat, check.attributes=FALSE) ``` ### Smirnov/Anselin (2009) cyclical matrices Another area in which a graph representation might prove useful is in trying to establish the domain of the spatial coefficient when spatial weights are row-standardised. In that case by construction we know that the maximum eigenvalue is 1. If there are multiple blocks, that is graph components, where the numbers of nodes per block are greater than 1, then each will have a maximum eigenvalue of 1. The remaining problems are the numbers of zero eigenvalues (at least the singleton graph components), and whether any non-singleton component fulfills the condition termed by Smirnov and Anselin (2009) a cyclical matrix, for which the minimum eigenvalue is -1. The term cyclical appears to be used in many different ways, and it is not clear that its use here after Smirnov and Anselin (2009, pp. 2984-2985) indicates which meaning should be used to find the relevant graph function. The definition used here is that a block matrix (subgraph) is cyclical if: "for every location, every pair of its neighbours are not connected." That is, if w[i,j] and w[i,k] are greater than zero, w[j,k] must be zero to meet the condition. The internal function find_q1_q2 returns the number of non-singleton components, and the number of these that meet this condition. It does this for each block/subgraph by testing the condition until it meets w[j,k] > 0, at which point it breaks. Smirnov and Anselin (2009) state that rook neighbours on a regular grid meet the condition: ```{r} nb_r <- cell2nb(7, 7, type="rook") nb_rW <- nb2listw(nb_r, style="W") spdep:::find_q1_q2(nb_rW) ``` One block/graph component is found, and this one meets the cyclical matrix condition, as also shown by the domain: ```{r} 1/range(Re(eigenw(similar.listw(nb_rW)))) ``` This does not apply to the spatial weights we have been using above, with two non-singleton components, neither meeting the cyclical matrix condition: ```{r} spdep:::find_q1_q2(nb_W) 1/range(Re(eigenw(similar.listw(nb_W)))) ``` By construction, all two-node connected graph components also meet the condition, as the eigenvalues sum to zero, and the maximum is unity, so the minimum must be -1. spdep/inst/doc/CO69.Rnw0000644000176200001440000011271312500306240014254 0ustar liggesusers%\VignetteIndexEntry{The Problem of Spatial Autocorrelation} %\VignetteDepends{} %\VignetteKeywords{spatial} %\VignettePackage{spdep} \documentclass[a4paper,10pt]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} %\usepackage[dvips]{graphicx,color} \usepackage{times} \usepackage{hyperref} \usepackage{natbib} \usepackage[english]{babel} \usepackage{xspace} \usepackage{Sweave} \usepackage{mathptm} \usepackage{natbib} \setkeys{Gin}{width=0.95\textwidth} \newcommand{\strong}[1]{{\normalfont\fontseries{b}\selectfont #1}} \let\pkg=\strong \RequirePackage{alltt} \newenvironment{example}{\begin{alltt}}{\end{alltt}} \newenvironment{smallexample}{\begin{alltt}\small}{\end{alltt}} \newcommand{\code}[1]{\texttt{\small #1}} \def\RR{\textsf{R}\xspace} \def\SP{\texttt{S-PLUS}\xspace} \def\SS{\texttt{S}\xspace} \SweaveOpts{keep.source=FALSE} \title{``The Problem of Spatial Autocorrelation:'' forty years on} \author{Roger Bivand} \begin{document} \maketitle <>= owidth <- getOption("width") options("width"=90) ow <- getOption("warn") options("warn"=-1) .PngNo <- 0 @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 5, pointsize = 12, bg = "white") @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) @ <>= par(opar) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") @ <>= dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") @ \section{Introduction} \citet{cliff+ord:69}, published forty years ago, marked a turning point in the treatment of spatial autocorrelation in quantitative geography. It provided the framework needed by any applied researcher to attempt an implementation for a different system, possibly using a different programming language. In this spirit, here we examine how spatial weights have been represented in implementations and may be reproduced, how the tabulated results in the paper may be reproduced, and how they may be extended to cover simulation. One of the major assertions of \citet{cliff+ord:69} is that their statistic advances the measurement of spatial autocorrelation with respect to \citet{moran:50} and \citet{geary:54} because a more general specification of spatial weights could be used. This more general form has implications both for the preparation of the weights themselves, and for the calculation of the measures. We will look at spatial weights first, before moving on to consider the measures presented in the paper and some of their subsequent developments. Before doing this, we will put together a data set matching that used in \citet{cliff+ord:69}. They provide tabulated data for the counties of the Irish Republic, but omit Dublin from analyses. A shapefile included in this package, kindly made available by Michael Tiefelsdorf, is used as a starting point: \begin{footnotesize} <>= library(spdep) require(maptools) fn <- system.file("etc/shapes/eire.shp", package="spdep")[1] prj <- CRS("+proj=utm +zone=30 +units=km +ellps=mod_airy") eire <- readShapeSpatial(fn, ID="names", proj4string=prj) @ <>= class(eire) names(eire) @ \end{footnotesize} \noindent and read into a SpatialPolygonsDataFrame --- classes used for handling spatial data in \RR are fully described in \citet{bivandetal:08}. To this we need to add the data tabulated in the paper in Table 2,\footnote{cropped scans of tables are available from \url{http://spatial.nhh.no/R/etc/CO69-PNGs.zip}.} p. 40, here in the form of a text file with added rainfall values from Table 9, p. 49: \begin{footnotesize} <>= fn <- system.file("etc/misc/geary_eire.txt", package="spdep")[1] ge <- read.table(fn, header=TRUE) names(ge) @ \end{footnotesize} Since we assigned the county names as feature identifiers when reading the shapefiles, we do the same with the extra data, and combine the objects: \begin{footnotesize} <>= row.names(ge) <- as.character(ge$county) all.equal(row.names(ge), row.names(eire)) eire_ge <- spCbind(eire, ge) @ \end{footnotesize} \noindent Finally, we need to drop the Dublin county omitted in the analyses conducted in \citet{cliff+ord:69}: \begin{footnotesize} <>= eire_ge1 <- eire_ge[!(row.names(eire_ge) %in% "Dublin"),] length(row.names(eire_ge1)) @ \end{footnotesize} \noindent To double-check our data, let us calculate the sample Beta coefficients, using the formulae given in the paper for sample moments: \begin{footnotesize} <>= skewness <- function(z) {z <- scale(z, scale=FALSE); ((sum(z^3)/length(z))^2)/((sum(z^2)/length(z))^3)} kurtosis <- function(z) {z <- scale(z, scale=FALSE); (sum(z^4)/length(z))/((sum(z^2)/length(z))^2)} @ \end{footnotesize} \noindent These differ somewhat from the ways in which skewness and kurtosis are computed in modern statistical software, see for example \citet{joanes+gill:98}. However, for our purposes, they let us reproduce Table 3, p. 42: \begin{footnotesize} <>= print(sapply(as(eire_ge1, "data.frame")[13:24], skewness), digits=3) print(sapply(as(eire_ge1, "data.frame")[13:24], kurtosis), digits=4) print(sapply(as(eire_ge1, "data.frame")[c(13,16,18,19)], function(x) skewness(log(x))), digits=3) print(sapply(as(eire_ge1, "data.frame")[c(13,16,18,19)], function(x) kurtosis(log(x))), digits=4) @ \end{footnotesize} \noindent Using the tabulated value of $23.6$ for the percentage of agricultural holdings above 50 in 1950 in Waterford, the skewness and kurtosis cannot be reproduced, but by comparison with the \code{irishdata} dataset in \pkg{ade4}, it turns out that the value should rather be $26.6$, which yields the tabulated skewness and kurtosis values. Before going on, the variables considered are presented in Table \ref{vars}. \begin{table}[htb] \begin{center} \caption{Description of variables in the Geary data set.} \label{vars} \begin{footnotesize} \addvspace{5pt} \begin{tabular}{ll} \hline variable & description \\ \hline pagval2\_10 & Percentage number agricultural holdings in valuation group £2--£10 (1950) \\ pagval10\_50 & Percentage number agricultural holdings in valuation group £10--£50 (1950) \\ pagval50p & Percentage number agricultural holdings in valuation group above £50 (1950) \\ cowspacre & Milch cows per 1000 acres crops and pasture (1952) \\ ocattlepacre & Other cattle per 1000 acres crops and pasture (1952) \\ pigspacre & Pigs per 1000 acres crops and pasture (1952) \\ sheeppacre & Sheep per 1000 acres crops and pasture (1952) \\ townvillp & Town and village population as percentage of total (1951) \\ carspcap & Private cars registered per 1000 population (1952) \\ radiopcap & Radio licences per 1000 population (1952) \\ retailpcap & Retail sales £ per person (1951) \\ psinglem30\_34 & Single males as percentage of all males aged 30--34 (1951) \\ rainfall & Average of rainfall for stations in Ireland, 1916--1950, mm \\ \hline \end{tabular} \end{footnotesize} \end{center} \end{table} \section{Spatial weights} As a basis for comparison, we will first read the unstandardised weighting matrix given in Table A1, p. 54, of the paper, reading a file corrected for the misprint giving O rather than D as a neighbour of V: \begin{footnotesize} <>= fn <- system.file("etc/misc/unstand_sn.txt", package="spdep")[1] unstand <- read.table(fn, header=TRUE) summary(unstand) @ \end{footnotesize} \noindent In the file, the counties are represented by their serial letters, so ordering and conversion to integer index representation is required to reach a representation similar to that of the \SP SpatialStats module for spatial neighbours: \begin{footnotesize} <>= class(unstand) <- c("spatial.neighbour", class(unstand)) of <- ordered(unstand$from) attr(unstand, "region.id") <- levels(of) unstand$from <- as.integer(of) unstand$to <- as.integer(ordered(unstand$to)) attr(unstand, "n") <- length(unique(unstand$from)) @ \end{footnotesize} \noindent Having done this, we can change its representation to a \code{listw} object, assigning an appropriate style (generalised binary) for unstandardised values: \begin{footnotesize} <>= lw_unstand <- sn2listw(unstand) lw_unstand$style <- "B" lw_unstand @ \end{footnotesize} \noindent Note that the values of S0, S1, and S2 correspond closely with those given on page 42 of the paper, $0.84688672$, $0.01869986$ and $0.12267319$. The discrepancies appear to be due to rounding in the printed table of weights. The contiguous neighbours represented in this object ought to match those found using \code{poly2nb}. However, we see that the reproduced contiguities have a smaller link count: \begin{footnotesize} <>= nb <- poly2nb(eire_ge1) nb @ \end{footnotesize} \noindent The missing link is between Clare and Kerry, perhaps by the Tarbert--Killimer ferry, but the counties are not contiguous, as Figure \ref{plot_nb} shows: \begin{footnotesize} <>= xx <- diffnb(nb, lw_unstand$neighbours, verbose=TRUE) @ <>= plot(eire_ge1, border="grey60") plot(nb, coordinates(eire_ge1), add=TRUE, pch=".", lwd=2) plot(xx, coordinates(eire_ge1), add=TRUE, pch=".", lwd=2, col=3) @ \end{footnotesize} \begin{figure}[htbp] \begin{center} <>= <> par(mfrow=c(1,2)) plot(eire_ge1, border="grey40") title(xlab="25 Irish counties") text(coordinates(eire_ge1), labels=as.character(eire_ge1$serlet), cex=0.8) plot(eire_ge1, border="grey60") title(xlab="Contiguities") plot(nb, coordinates(eire_ge1), add=TRUE, pch=".", lwd=2) plot(xx, coordinates(eire_ge1), add=TRUE, pch=".", lwd=2, col=3) legend("topleft", legend=c("Contiguous", "Ferry"), lwd=2, lty=1, col=c(1,3), bty="n", cex=0.7) par(mfrow=c(1,1)) <> @ \caption{County boundaries and contiguities} \label{plot_nb} \end{center} \end{figure} An attempt has also been made to reproduce the generalised weights for 25 Irish counties reported by \citet{cliff+ord:69}, after Dublin is omitted. Reproducing the inverse distance component $d_{ij}^{-1}$ of the generalised weights $d_{ij}^{-1} \beta_{i(j)}$ is eased by the statement in \citet[][p. 55]{cliff+ord:73} that the points chosen to represent the counties were their ``geographic centres,'' so not very different from the centroids yielded by applying a chosen computational geometry function. The distance metric is not given, and may have been in kilometers or miles --- both were tried, but the results were not sensitive to the difference as it applies equally across the weights; miles are used here. Computing the proportion of shared distance measure $\beta_{i(j)}$ is harder, because it requires the availability of the full topology of the input polygons. \citet[][p. 244]{bivandetal:08} show how to employ the \code{vect2neigh} function (written by Markus Neteler) in the \RR \pkg{spgrass6} package when using GRASS GIS vector handling to create a full topology from spaghetti vector data and to extract border segment lengths; a similar approach also is mentioned there using ArcGIS coverages for the same purpose. GRASS was used to create the topology, and next the proportion of shared distance measure was calculated. \begin{footnotesize} <>= load(system.file("etc/misc/raw_grass_borders.RData", package="spdep")[1]) @ <>= library(maptools) SG <- Sobj_SpatialGrid(eire_ge1)$SG library(spgrass6) grass_home <- "/home/rsb/topics/grass/g64/grass-6.4.0svn" initGRASS(grass_home, home=tempdir(), SG=SG, override=TRUE) writeVECT6(eire_ge1, "eire", v.in.ogr_flags=c("o", "overwrite")) res <- vect2neigh("eire", ID="serlet") @ <>= grass_borders <- sn2listw(res) raw_borders <- grass_borders$weights int_tot <- attr(res, "total") - attr(res, "external") prop_borders <- lapply(1:length(int_tot), function(i) raw_borders[[i]]/int_tot[i]) dlist <- nbdists(grass_borders$neighbours, coordinates(eire_ge1)) inv_dlist <- lapply(dlist, function(x) 1/(x/1.609344)) combo_km <- lapply(1:length(inv_dlist), function(i) inv_dlist[[i]]*prop_borders[[i]]) combo_km_lw <- nb2listw(grass_borders$neighbours, glist=combo_km, style="B") summary(combo_km_lw) @ \end{footnotesize} \noindent To compare, we need to remove the Tarbert--Killimer ferry link manually, and view the summary of the original weights, as well as a correlation coefficient between these and the reconstructed weights. Naturally, unless the boundary coordinates used here are identical with those in the original analysis, presumably measured by hand, small differences will occur. \begin{footnotesize} <>= red_lw_unstand <- lw_unstand Clare <- which(attr(lw_unstand, "region.id") == "C") Kerry <- which(attr(lw_unstand, "region.id") == "H") Kerry_in_Clare <- which(lw_unstand$neighbours[[Clare]] == Kerry) Clare_in_Kerry <- which(lw_unstand$neighbours[[Kerry]] == Clare) red_lw_unstand$neighbours[[Clare]] <- red_lw_unstand$neighbours[[Clare]][-Kerry_in_Clare] red_lw_unstand$neighbours[[Kerry]] <- red_lw_unstand$neighbours[[Kerry]][-Clare_in_Kerry] red_lw_unstand$weights[[Clare]] <- red_lw_unstand$weights[[Clare]][-Kerry_in_Clare] red_lw_unstand$weights[[Kerry]] <- red_lw_unstand$weights[[Kerry]][-Clare_in_Kerry] summary(red_lw_unstand) cor(unlist(red_lw_unstand$weights), unlist(combo_km_lw$weights)) @ \end{footnotesize} \noindent Even though the differences in the general weights, for identical contiguities, are so small, the consequences for the measure of spatial autocorrelation are substantial, Here we use the fifth variable, other cattle per 1000 acres crops and pasture (1952), and see that the reconstructed weights seem to ``reveal'' more autocorrelation than the original weights. \begin{footnotesize} <>= flatten <- function(x, digits=3, statistic="I") { res <- c(format(x$estimate, digits=digits), format(x$statistic, digits=digits), format.pval(x$p.value, digits=digits)) res <- matrix(res, ncol=length(res)) colnames(res) <- paste(c("", "E", "V", "SD_", "P_"), "I", sep="") rownames(res) <- deparse(substitute(x)) res } `reconstructed weights` <- moran.test(eire_ge1$ocattlepacre, combo_km_lw) `original weights` <- moran.test(eire_ge1$ocattlepacre, red_lw_unstand) print(rbind(flatten(`reconstructed weights`), flatten(`original weights`)), quote=FALSE) @ \end{footnotesize} \section{Measures of spatial autocorrelation} Our targets for reproduction are Tables 4 and 5 in \citet[][pp. 43--44]{cliff+ord:69}, the first containing standard deviates under normality and randomisation for the original Moran measure with binary weights, the original Geary measure with binary weights, the proposed measure with unstandardised general weights, and the proposed measure with row-standardised general weights. In addition, four variables were log-transformed on the basis of the skewness and kurtosis results presented above. We carry out the transformation of these variables, and generate additional binary and row-standardised general spatial weights objects --- note that the weights constants for the row-standardised general weights agree with those given on p. 42 in the paper, after allowing for small differences due to rounding in the weights values displayed in the paper (p. 54): \begin{footnotesize} <>= eire_ge1$ln_pagval2_10 <- log(eire_ge1$pagval2_10) eire_ge1$ln_cowspacre <- log(eire_ge1$cowspacre) eire_ge1$ln_pigspacre <- log(eire_ge1$pigspacre) eire_ge1$ln_sheeppacre <- log(eire_ge1$sheeppacre) vars <- c("pagval2_10", "ln_pagval2_10", "pagval10_50", "pagval50p", "cowspacre", "ln_cowspacre", "ocattlepacre", "pigspacre", "ln_pigspacre", "sheeppacre", "ln_sheeppacre", "townvillp", "carspcap", "radiopcap", "retailpcap", "psinglem30_34") nb_B <- nb2listw(lw_unstand$neighbours, style="B") nb_B lw_std <- nb2listw(lw_unstand$neighbours, glist=lw_unstand$weights, style="W") lw_std @ \end{footnotesize} The standard representation of the measures is: \[ I = \frac{n}{\sum_{i=1}^{n}\sum_{j=1}^{n}w_{ij}} \frac{\sum_{i=1}^{n}\sum_{j=1}^{n}w_{ij}(x_i-\bar{x})(x_j-\bar{x})}{\sum_{i=1}^{n}(x_i - \bar{x})^2} \] \noindent for Moran's $I$ --- in the paper termed the proposed statistic, and for Geary's $C$: \[ C = \frac{(n-1)}{2\sum_{i=1}^{n}\sum_{j=1}^{n}w_{ij}} \frac{\sum_{i=1}^{n}\sum_{j=1}^{n}w_{ij}(x_i-x_j)^2}{\sum_{i=1}^{n}(x_i - \bar{x})^2} \] \noindent where $x_i, i=1, \ldots, n$ are $n$ observations on the numeric variable of interest, and $w_{ij}$ are the spatial weights. In order to reproduce the standard deviates given in the paper, it is sufficient to apply \code{moran.test} to the variables with three different spatial weights objects, and two different values of the \code{randomisation=} argument. In addition, \code{geary.test} is applied to a single spatial weights objects, and two different values of the \code{randomisation=} argument. \begin{footnotesize} <>= system.time({ MoranN <- lapply(vars, function(x) moran.test(eire_ge1[[x]], listw=nb_B, randomisation=FALSE)) MoranR <- lapply(vars, function(x) moran.test(eire_ge1[[x]], listw=nb_B, randomisation=TRUE)) GearyN <- lapply(vars, function(x) geary.test(eire_ge1[[x]], listw=nb_B, randomisation=FALSE)) GearyR <- lapply(vars, function(x) geary.test(eire_ge1[[x]], listw=nb_B, randomisation=TRUE)) Prop_unstdN <- lapply(vars, function(x) moran.test(eire_ge1[[x]], listw=lw_unstand, randomisation=FALSE)) Prop_unstdR <- lapply(vars, function(x) moran.test(eire_ge1[[x]], listw=lw_unstand, randomisation=TRUE)) Prop_stdN <- lapply(vars, function(x) moran.test(eire_ge1[[x]], listw=lw_std, randomisation=FALSE)) Prop_stdR <- lapply(vars, function(x) moran.test(eire_ge1[[x]], listw=lw_std, randomisation=TRUE)) }) res <- sapply(c("MoranN", "MoranR", "GearyN", "GearyR", "Prop_unstdN", "Prop_unstdR", "Prop_stdN", "Prop_stdR"), function(x) sapply(get(x), "[[", "statistic")) rownames(res) <- vars ores <- res[,c(1,2,5:8)] @ \end{footnotesize} \noindent In order to conduct 8 different tests on 16 variables, we use \code{lapply} on the list of variables in the specified order, then \code{sapply} on a list of output objects by name to generate a table in the same row and column order as the original (we save a copy of six columns for comparison with bootstrap results below): \begin{footnotesize} <>= options("width"=100) @ <>= print(formatC(res, format="f", digits=4), quote=FALSE) @ <>= options("width"=90) @ \end{footnotesize} The values of the standard deviates agree with those in Table 4 in the original paper, with the exception of those for the proposed statistic with standardised weights under normality for all untransformed variables. We can see what has happened by substituting the weights constants for the standardised weights with those for unstandardised weights: \begin{footnotesize} <>= wc_unstd <- spweights.constants(lw_unstand) wrong_N_sqVI <- sqrt((wc_unstd$nn*wc_unstd$S1 - wc_unstd$n*wc_unstd$S2 + 3*wc_unstd$S0*wc_unstd$S0)/((wc_unstd$nn-1)*wc_unstd$S0*wc_unstd$S0)-((-1/(wc_unstd$n-1))^2)) raw_data <- grep("^ln_", vars, invert=TRUE) I <- sapply(Prop_stdN, function(x) x$estimate[1])[raw_data] EI <- sapply(Prop_stdN, function(x) x$estimate[2])[raw_data] res <- (I - EI)/wrong_N_sqVI names(res) <- vars[raw_data] print(formatC(res, format="f", digits=4), quote=FALSE) @ \end{footnotesize} Next, let us look at Table 5 in the original paper. Here we only tabulate the values of the measures themselves, and, since the expectation is constant for each measure, the square root of the variance of the measure under randomisation --- extracting values calculated above: \begin{footnotesize} <>= res <- lapply(c("MoranR", "GearyR", "Prop_unstdR", "Prop_stdR"), function(x) sapply(get(x), function(y) c(y$estimate[1], sqrt(y$estimate[3])))) res <- t(do.call("rbind", res)) colnames(res) <- c("I", "sigma_I", "C", "sigma_C", "unstd_r", "sigma_r", "std_r", "sigma_r") rownames(res) <- vars print(formatC(res, format="f", digits=4), quote=FALSE) @ \end{footnotesize} The values are as follows, and match the original with the exception of those for the initial version of Moran's $I$ in the first two columns. If we write a function implementing equations 3 and 4: \[ I = \frac{\sum_{i=1}^{n}\sum_{j=i+1}^{n}w_{ij}(x_i-\bar{x})(x_j-\bar{x})}{\sum_{i=1}^{n}(x_i - \bar{x})^2} \] where crucially the inner summation is over $i+1 \ldots n$, not $1 \ldots n$, we can reproduce the values of the measure shown in the original Table 5: \begin{footnotesize} <>= oMoranf <- function(x, nb) { z <- scale(x, scale=FALSE) n <- length(z) glist <- lapply(1:n, function(i) {ii <- nb[[i]]; ifelse(ii > i, 1, 0)}) lw <- nb2listw(nb, glist=glist, style="B") wz <- lag(lw, z) I <- (sum(z*wz)/sum(z*z)) I } res <- sapply(vars, function(x) oMoranf(eire_ge1[[x]], nb=lw_unstand$neighbours)) print(formatC(res, format="f", digits=4), quote=FALSE) @ \end{footnotesize} \noindent The variance term given in equation 7 in the original paper is for the case of normality, not randomisation; the reference on p. 28 to equation 38 on p. 26 does not permit the reproduction of the values in the second column of Table 5. The variance equation given as equation 1.35 by \citet[][p. 9]{cliff+ord:73} does not do so either, so for the time being it is not possible to say how the tabulated values were computed. Note that since the standard deviances are reproduced correctly, and can be reproduced from the second column values using the measure and its expectance, it is just a matter of establishing which formula was used, but this has so far not proved possible. \section{Simulating measures of spatial autocorrelation} \citet{cliff+ord:69} do not conduct simulation experiments, although their sequels do, notably \citet{cliff+ord:73}, among many others. Simulation studies are necessarily more demanding computationally, especially if spatially autocorrelated variables are to be created, as in \citet[][pp. 146--153]{cliff+ord:73}. In the same book, they also report the use of permutation tests, also known as Monte Carlo or Hope hypothesis testing procedures \citep[][pp. 50--52]{cliff+ord:73}. These procedures provided a way to examine the distribution of the statistic of interest by exchanging at random the observed values between observations, and then comparing the simulated distribution under the null hypothesis of no spatial patterning with the observed value of the statistic in question. \begin{footnotesize} <>= MoranI.boot <- function(var, i, ...) { var <- var[i] return(moran(x=var, ...)$I) } Nsim <- function(d, mle) { n <- length(d) rnorm(n, mle$mean, mle$sd) } f_bperm <- function(x, nsim, listw) { boot(x, statistic=MoranI.boot, R=nsim, sim="permutation", listw=listw, n=length(x), S0=Szero(listw)) } f_bpara <- function(x, nsim, listw) { boot(x, statistic=MoranI.boot, R=nsim, sim="parametric", ran.gen=Nsim, mle=list(mean=mean(x), sd=sd(x)), listw=listw, n=length(x), S0=Szero(listw)) } nsim <- 4999 set.seed(1234) @ \end{footnotesize} First let us define a function \code{MoranI.boot} just to return the value of Moran's $I$ for variable \code{var} and permutation index \code{i}, and a function \code{Nsim} to generate random samples from the variable of interest assuming Normality. To make it easier to process the variables in turn, we encapsulate calls to \code{boot} in wrapper functions \code{f\_bperm} and \code{f\_bpara}. Running \Sexpr{format(nsim)} simulations for each of \Sexpr{format(length(vars))} for three different weights specifications and both parametric and permutation bootstrap takes quite a lot of time. \begin{footnotesize} <>= system.time({ MoranNb <- lapply(vars, function(x) f_bpara(x=eire_ge1[[x]], nsim=nsim, listw=nb_B)) MoranRb <- lapply(vars, function(x) f_bperm(x=eire_ge1[[x]], nsim=nsim, listw=nb_B)) Prop_unstdNb <- lapply(vars, function(x) f_bpara(x=eire_ge1[[x]], nsim=nsim, listw=lw_unstand)) Prop_unstdRb <- lapply(vars, function(x) f_bperm(x=eire_ge1[[x]], nsim=nsim, listw=lw_unstand)) Prop_stdNb <- lapply(vars, function(x) f_bpara(x=eire_ge1[[x]], nsim=nsim, listw=lw_std)) Prop_stdRb <- lapply(vars, function(x) f_bperm(x=eire_ge1[[x]], nsim=nsim, listw=lw_std)) }) @ <>= zzz <- system.time({ MoranNb <- lapply(vars, function(x) f_bpara(x=eire_ge1[[x]], nsim=nsim, listw=nb_B)) MoranRb <- lapply(vars, function(x) f_bperm(x=eire_ge1[[x]], nsim=nsim, listw=nb_B)) Prop_unstdNb <- lapply(vars, function(x) f_bpara(x=eire_ge1[[x]], nsim=nsim, listw=lw_unstand)) Prop_unstdRb <- lapply(vars, function(x) f_bperm(x=eire_ge1[[x]], nsim=nsim, listw=lw_unstand)) Prop_stdNb <- lapply(vars, function(x) f_bpara(x=eire_ge1[[x]], nsim=nsim, listw=lw_std)) Prop_stdRb <- lapply(vars, function(x) f_bperm(x=eire_ge1[[x]], nsim=nsim, listw=lw_std)) }) res <- lapply(c("MoranNb", "MoranRb", "Prop_unstdNb", "Prop_unstdRb", "Prop_stdNb", "Prop_stdRb"), function(x) sapply(get(x), function(y) (y$t0 - mean(y$t))/sd(y$t))) res <- t(do.call("rbind", res)) colnames(res) <- c("MoranNb", "MoranRb", "Prop_unstdNb", "Prop_unstdRb", "Prop_stdNb", "Prop_stdRb") rownames(res) <- vars save(zzz, res, file="backstore/boot_res.RData") @ <>= bsfn <- system.file("doc/backstore/boot_res.RData", package="spdep") load(bsfn) zzz @ <>= res <- lapply(c("MoranNb", "MoranRb", "Prop_unstdNb", "Prop_unstdRb", "Prop_stdNb", "Prop_stdRb"), function(x) sapply(get(x), function(y) (y$t0 - mean(y$t))/sd(y$t))) res <- t(do.call("rbind", res)) colnames(res) <- c("MoranNb", "MoranRb", "Prop_unstdNb", "Prop_unstdRb", "Prop_stdNb", "Prop_stdRb") rownames(res) <- vars @ \end{footnotesize} We collate the results to compare with the analytical standard deviates under Normality and randomisation, and see that in fact the differences are not at all large, as expressed by the median absolute difference between the tables. We can also see that inferences based on a one-sided $\alpha=0.05$ cut-off are the same for the analytical and bootstrap approaches. This indicates that we can, in general, rely on the analytical standard deviates, and that bootstrap methods will not help if assumptions underlying the measures are not met. \begin{footnotesize} <>= print(formatC(res, format="f", digits=4), quote=FALSE) oores <- ores - res apply(oores, 2, mad) alpha_0.05 <- qnorm(0.05, lower.tail=FALSE) all((res >= alpha_0.05) == (ores >= alpha_0.05)) @ \end{footnotesize} These assumptions affect the shape of the distribution of the measure in its tails; one possibility is to use a Saddlepoint approximation to find an equivalent to the analytical or bootstrap-based standard deviate for inference \citep{tiefelsdorf:02}. The Saddlepoint approximation requires the eigenvalues of the weights matrix and iterative root-finding for global Moran's $I$, while for local Moran's $I_i$, analytical forms are known. Even with this computational burden, the Saddlepoint approximation for global Moran's $I$ runs quite quickly. First we need to fit null linear models (only including an intercept) to the variables, then apply \code{lm.morantest.sad} to the fitted model objects: \begin{footnotesize} <>= lm_objs <- lapply(vars, function(x) lm(formula(paste(x, "~1")), data=eire_ge1)) system.time({ MoranSad <- lapply(lm_objs, function(x) lm.morantest.sad(x, listw=nb_B)) Prop_unstdSad <- lapply(lm_objs, function(x) lm.morantest.sad(x, listw=lw_unstand)) Prop_stdSad <- lapply(lm_objs, function(x) lm.morantest.sad(x, listw=lw_std)) }) res <- sapply(c("MoranSad", "Prop_unstdSad", "Prop_stdSad"), function(x) sapply(get(x), "[[", "statistic")) rownames(res) <- vars @ \end{footnotesize} Although the analytical standard deviates (under Normality) are larger than those reached using the Saddlepoint approximation when measured by median absolute deviation, the differences do not lead to different inferences at this chosen cut-off. This reflects the fact that the shape of the distribution is very sensitive to small $n$, but for moderate $n$ and global Moran's $I$, the effects are seen only further out in the tails. The consequences for local Moran's $I_i$ are much stronger, because the clique of neighbours of each observation is typically very small. It is perhaps of interest that the differences are much smaller for the case of general weights than for unstandardised binary weights. \begin{footnotesize} <>= print(formatC(res, format="f", digits=4), quote=FALSE) oores <- res - ores[,c(1,3,5)] apply(oores, 2, mad) all((res >= alpha_0.05) == (ores[,c(1,3,5)] >= alpha_0.05)) @ \end{footnotesize} In addition we could choose to use the exact distribution of Moran's $I$, as described by \citet{tiefelsdorf:00}; its implementation is covered in \citet{bivandetal:09}. The global case also needs the eigenvalues of the weights matrix, and the solution of a numerical integration function, but for these cases, the timings are quite acceptable. \begin{footnotesize} <>= system.time({ MoranEx <- lapply(lm_objs, function(x) lm.morantest.exact(x, listw=nb_B)) Prop_unstdEx <- lapply(lm_objs, function(x) lm.morantest.exact(x, listw=lw_unstand)) Prop_stdEx <- lapply(lm_objs, function(x) lm.morantest.exact(x, listw=lw_std)) }) res <- sapply(c("MoranEx", "Prop_unstdEx", "Prop_stdEx"), function(x) sapply(get(x), "[[", "statistic")) rownames(res) <- vars @ \end{footnotesize} The output is comparable with that of the Saddlepoint approximation, and the inferences drawn here are the same for the chosen cut-off as for the analytical standard deviates calculated under Normality. \begin{footnotesize} <>= print(formatC(res, format="f", digits=4), quote=FALSE) oores <- res - ores[,c(1,3,5)] apply(oores, 2, mad) all((res >= alpha_0.05) == (ores[,c(1,3,5)] >= alpha_0.05)) @ \end{footnotesize} \citet{lietal:07} take up the challenge in \citet[][p. 31]{cliff+ord:69}, to try to give the statistic a bounded fixed range. Their APLE measure is intended to approximate the spatial dependence parameter of a simultaneous autoregressive model better than Moran's $I$, and re-scales the measure by a function of the eigenvalues of the spatial weights matrix. APLE requires the use of row standardised weights. \begin{footnotesize} <>= vars_scaled <- lapply(vars, function(x) scale(eire_ge1[[x]], scale=FALSE)) nb_W <- nb2listw(lw_unstand$neighbours, style="W") pre <- spdep:::preAple(0, listw=nb_W) MoranAPLE <- sapply(vars_scaled, function(x) spdep:::inAple(x, pre)) pre <- spdep:::preAple(0, listw=lw_std, override_similarity_check=TRUE) Prop_stdAPLE <- sapply(vars_scaled, function(x) spdep:::inAple(x, pre)) res <- cbind(MoranAPLE, Prop_stdAPLE) colnames(res) <- c("APLE W", "APLE Gstd") rownames(res) <- vars @ \end{footnotesize} In order to save time, we use the two internal functions \code{spdep:::preAple} and \code{spdep:::inAple}, since for each definition of spatial weights, the same eigenvalue calculations need to be made. The notation using the \code{:::} operator says that the function with named after the operator is to be found in the namespace of the package named before the operator. The APLE values repeat the pattern that we have already seen --- for some variables, the measured autocorrelation is very similar irrespective of spatial weights definition, while for others, the change in the definition from binary to general does make a difference. \begin{footnotesize} <>= print(formatC(res, format="f", digits=4), quote=FALSE) @ \end{footnotesize} \begin{figure}[htbp] \begin{center} <>= <> pal <- grey.colors(9, 1, 0.5, 2.2) oopar <- par(mfrow=c(1,3), mar=c(1,1,3,1)+0.1) z <- t(listw2mat(nb_B)) brks <- c(0,0.1,1) image(1:25, 1:25, z[,ncol(z):1], breaks=brks, col=pal[c(1,9)], main="Binary", axes=FALSE) box() z <- t(listw2mat(lw_unstand)) brks <- c(0,quantile(c(z)[c(z) > 0], seq(0,1,1/8))) image(1:25, 1:25, z[,ncol(z):1], breaks=brks, col=pal, main="General", axes=FALSE) box() z <- t(listw2mat(lw_std)) brks <- c(0,quantile(c(z)[c(z) > 0], seq(0,1,1/8))) image(1:25, 1:25, z[,ncol(z):1], breaks=brks, col=pal, main="Std. general", axes=FALSE) box() par(oopar) <> @ \caption{Three contrasted spatial weights definitions.} \label{plot_wts} \end{center} \end{figure} \begin{figure}[htbp] \begin{center} <>= <> eire_ge1$nb_B <- sapply(nb_B$weights, sum) eire_ge1$lw_unstand <- sapply(lw_unstand$weights, sum) library(lattice) trellis.par.set(sp.theme()) p1 <- spplot(eire_ge1, c("nb_B"), main="Binary") p2 <- spplot(eire_ge1, c("lw_unstand"), main="General") print(p1, split=c(1,1,2,1), more=TRUE) print(p2, split=c(2,1,2,1), more=FALSE) <> @ \caption{Sums of weights by county for two contrasted spatial weights definitions --- for row standardisation, all counties sum to unity.} \label{plot_map} \end{center} \end{figure} \section{Odds and ends $\ldots$} The differences found in the case of a few variables in inference using the original binary weights, and the general weights proposed by \citet{cliff+ord:69} are necessarily related to the the weights thenselves. Figures \ref{plot_wts} and \ref{plot_map} show the values of the weights in sparse matrix form, and the sums of weights by county where these sums are not identical by design. In the case of binary weights, the matrix entries are equal, but the sums up-weight counties with many neighbours. General weights up-weight counties that are close to each other, have more neighbours, and share larger boundary proportions (an asymmetric relationship). There is a further impact of using boundary proportions, in that the boundary between the county and the exterior is subtracted, thus boosting the weights between edge counties and their neighbours, even if there are few of them. Standardised general weights up-weight further up-weight counties with few neighbours, chiefly those on the edges of the study area. With a small data set, here with $n=25$, it is very possible that edge and other configuration effects are relatively strong, and may impact inference in different ways. The issue of egde effects has not really been satisfactorily resolved, and should be kept in mind in analyses of data sets of this size and shape. <>= options("width"=owidth) options("warn"=ow) @ \begin{thebibliography}{} \bibitem[\protect\citeauthoryear{Bivand, Pebesma, and G{\'o}mez-Rubio}{Bivand, Pebesma, and G{\'o}mez-Rubio}{2008}]{bivandetal:08} Bivand, R. S., E. J. Pebesma, and V. G{\'o}mez-Rubio. (2008). \newblock {\emph{Applied Spatial Data Analysis with {R}.}} \newblock New York: Springer. \bibitem[\protect\citeauthoryear{Bivand, M\"{u}ller, and Reder}{Bivand, M\"{u}ller, and Reder}{2009}]{bivandetal:09} Bivand, R. S., W. M\"{u}ller and M. Reder. (2009). \newblock {``Power calculations for global and local {M}oran's {$I$}.''} \newblock {\emph{Computational Statistics and Data Analysis}} \newblock 53, 2859--2872. \bibitem[\protect\citeauthoryear{Cliff and Ord}{Cliff and Ord}{1969}]{cliff+ord:69} Cliff, A. D. and J. K. Ord. (1969). \newblock {``The problem of Spatial autocorrelation.''} \newblock {In \emph{London Papers in Regional Science 1, Studies in Regional Science}, 25--55, edited by A. J. Scott, London: Pion}. \bibitem[\protect\citeauthoryear{Cliff and Ord}{Cliff and Ord}{1973}]{cliff+ord:73} Cliff, A. D. and J. K. Ord. (1973). \newblock {\emph{Spatial autocorrelation.}} \newblock London: Pion. \bibitem[\protect\citeauthoryear{Geary}{Geary}{1954}]{geary:54} Geary, R. C. (1954). \newblock {``The contiguity ratio and statistical mapping.''} \newblock {\emph{The Incorporated Statistician}} \newblock 5, 115--145. \bibitem[\protect\citeauthoryear{Joanes and Gill}{Joanes and Gill}{1998}]{joanes+gill:98} Joanes D. N. and C. A. Gill (1998). \newblock {``Comparing measures of sample skewness and kurtosis.''} \newblock {\emph{The Statistician}} \newblock 47, 183--189. \bibitem[\protect\citeauthoryear{Li, Calder, and Cressie}{Li, Calder, and Cressie}{2007}]{lietal:07} Li, H., C. A. Calder and N. Cressie. (2007). \newblock {``Beyond {M}oran's $I$: Testing for spatial dependence based on the spatial autoregressive model.''} \newblock {\emph{Geographical Analysis}} \newblock 39, 357--375. \bibitem[\protect\citeauthoryear{Moran}{Moran}{1950}]{moran:50} Moran, P. A. P. (1950). \newblock {``Notes on continuous stochastic phenomena.''} \newblock {\emph{Biometrika}} \newblock 37, 17--23. \bibitem[\protect\citeauthoryear{Tiefelsdorf}{Tiefelsdorf}{2000}]{tiefelsdorf:00} Tiefelsdorf, M. (2000). \newblock {\emph{Modelling Spatial Processes, The Identification and Analysis of Spatial Relationships in Regression Residuals by Means of Moran's I.}} \newblock Springer, Berlin. \bibitem[\protect\citeauthoryear{Tiefelsdorf}{Tiefelsdorf}{2002}]{tiefelsdorf:02} Tiefelsdorf, M. (2002). \newblock {``The Saddlepoint approximation of {M}oran's $I$ and local {M}oran's $I_i$ reference distributions and their numerical evaluation.''} \newblock {\emph{Geographical Analysis}} \newblock 34, 187--206. \end{thebibliography} \end{document} spdep/inst/doc/SpatialFiltering.pdf0000644000176200001440000124125313152260216017051 0ustar liggesusers%PDF-1.5 % 19 0 obj << /Length 2456 /Filter /FlateDecode >> stream xks>Q= !>יzum4P"lC%(·. >,N'|boonNxa]3?YDQ7;njwZӒtu.3, Cap0.Åd#ŊE_`AU}T]ʫg)aI$"qs˕'tkt'?j{3` v=ї}F|_tHv.uՅF@έ|["9&|.>@#Duiwi(ntչM{/Է?#2Mlͫ;:vwsTMR%1UR$te&gpXNRuycta A! *F)p!"bӢyؚoДaYc42K {S>V9fۺq:-0otrF U1ϩx 1ЗvMs;0f C 1g|N(`3W<qp"7D\9f%V~0q,.z$?&#f<pu#2r@0aT2ANCrFxFB^|"@YX+%8VRpέ9᯽/K v1È.wuG>혌Q]Њ"f?P ^iyH8@\k۵ 9DkAL&*Bl0.q |RD TEWA%vRhw4.hMCkhv7s ݻ-ECtgHBd^pٜX9^k]<,n=s28$il(;^sId b5J :%< uSMSw+\ E誸71lZh2tF'J8E14Qg5vn1UT-k`}.}NEoLN2s&6.97Ap`9.v7KڹEͭ)6x0hb3T^!.3)醀ՇY46IJQ$ E$Á38& ӮH8g#{YSP~xV)r㮋Ynm;M)C=VvT#y'=,=,+}NP\B` ^1ͦ+izGv_S3[[K҄Qj74 5;tWؽ#]4["9 v; zbm ھRӜ=E"\1[~>rd_ߋGd19],mԑB#C=qPˁr_ gU]*Ϫ!O`@v >ba#iԴ8ā *BZLh³ ө165R\}v$ib7]ڣ8B$|j  Zh1<m~$紛4xK'tF/MƓ zB'7>N-\פh;$ȳzQ5"|oT.u#9Ʊg"{d9?>~T8c!~k= 3S᭱č,.Z/Bqlsj0r{lvau>{Ցvک^9^Q<[MęYEoɿNL*/P惇 E &h>XrX\ } A12>m_tļ })R+tg}~.m $D$l1܃m۴tkt<(]1\f4q׺-S2&yIFԿvy4-H2@՛Ռ7׶ AflsIlÌ8dufSeFf^CPù۹7S V2v{FR# Tq^؏GXm #A: *`Xp(=|E`ZbF +֙Rjm?kEx endstream endobj 36 0 obj << /Length 2528 /Filter /FlateDecode >> stream xYݓ۶_qSg@3DӋ;5%A'67HhL ~`WՃ'ZINq<&2'6+?A/{kx<O'چq'4[ҋV8/VV/$A &Ipٸ-anc a.HcSQ&)JD #0MoN$N@Sm K~D59h:*=8W|h<*"Ѵ`X'gkD%*Q~ANP3}iҽ PjcO!X`HbX$FtXR mʪ(|9_?쏝C}*Be"4 :[HOH<9巰ru6ynKҾ$AN+%$*D&f{i}LLOjD(#Ճ}F }2{Y6IjIH$%&5 Ir!)a@I!DBsΟh:?ӮI_n}d4b`Z 9T! }0d ܢG~kFi<>@F(X H8}d^oDCGO>b|ObHEc=I>6uqx@רuːyαXxX;J\rw~$цc ^z9昞(@ +O{WeaYmiy32׸L%"Eb+ݮNz?}Ƌ~,E2Ϯnǖ=GMF%OR.5s/ڥB ɊL w@tX {ׯ;CEŞigy.-m!jK| x8=i~8 x =.ԻxsQuIc3䑭o)1JT96N*L?Co oWidd*a푬Uwڪm0pC ]Zxd˼mvKHϾ91WzM;nsd?KSz.e%No`0j'XP. h7`@E{HJ˦-< ]p'MWj[dGe >d&{r4L[E1XD'!ؼ= XYyɠ&_3'1}PB7M/2^KeL.a,s*M\h{Ve6_>H٠(rdo|~jjQ)RtAKX@Oެ2c∐AT}q:5弬*Κor$`OYyY煇{V6%ƴS٬.)j~w7_<'e t 6uZXҴނɨ`L^Βp{<7k7́?#BM6k;6O#o,100w3NU^82OygD6L&:nb<[%jʋy,eU3bGRqgJL`x;I#a؁T[&ztc 5LX [V?A*@y(7PhYA:f״ &feMm\5/*+~gkaZ˼Jᡎ+Ƹ缄Z1-'1WHlVx6$gg;HID!!ۼuzr[g37b uh46ik[ |0z?B endstream endobj 43 0 obj << /Length 1472 /Filter /FlateDecode >> stream xڭX[F~_>83͙=l{S ɇ4mLiI <ֽ'˓.t+󧫓,z{WӞ6.+lnzW会We?5y~jMH.Fk,Ilik,ZVrw*<ץ7ߦ W1.nW('UYǻ_T,9~s\xp,xπEt?-Xm:q4O?:&QjފL?u!D2V`Μ8Qe;YSo\|h힏H>},wq΢i-ƸV2< z06Ic&?(*}`yӔS@ U# &oag@-4] 5kb+MøHڔQcjC178 Ư0^nUFyW<nO'%ܶ3~=KLe6[WгAHCɠ"yxL$m"qmIu O>0{kyGC dܽעo%.|>>C遰H$Bwkf>nZך_8. x/vOlO fxːu@u©Mi!ȹ$̠ۂniESxJ8i!(`At Mn5'=\%eS8D͈oZȘzh" Pb\2˲F#'kP}犤"$6r]hK5XX?tb~Y(FpYe  $Y "y l@u YN̎+ I$. O&%^`ctfͥ!2奺´֘ѪC]u.NDr[#YxL2 V+:oFa-+g}MzWD=#ոr0vq!IlKWmok̏Z,*V:l92GI=%LRRÄwa~1Kn&iB蚡P/z;jCLYշK@?KKj'kLW_cf{Ud|./M񡾉NPNm()iC) (G c9tCH7m5O:ߜ> Վ;4#F=2/p|=إ*Lj܆'(MnZ+5Ռq* *I9!`)U YO[XTFア/hMa9gɽ LykHbdN&9i3lym#`f3&182:C ?xɧ]NH &9U&Ci%ɡd,r>GGi Cuî\֌`HSNo>fve$ NBr endstream endobj 40 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/Rtmp13a5aE/Rbuild47f7353d5903/spdep/vignettes/Fig-bitmap-1.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 46 0 R /BBox [0 0 468 252] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 47 0 R>> /ExtGState << >>/ColorSpace << /sRGB 48 0 R >>>> /Length 231863 /Filter /FlateDecode >> stream xf$) xc$@C [1ORz}-Fd$/_ 2v"?..2LfF?˟ !9+ JjZ???柈vb'OCs?=??=X?_z?Ͽu_qUW,:Ͽ;pmjn tH' '?p)'nkpg3!~ x&b'Xy5ֺ2<#3z>~i^a-f8c1 gp=<ǣ?x} w`@Xm>-s9q5+x 5 < c<˃ώ' ù z\8^_Gq5ʿ{y_lx߇G'N {~Vgg}ᯛd{L\%O cx~j|j3 W[2c*}Mi{YЧS*}0ž-p=Oy0Go|,i fYͤ!`Ո|+z56uMԴիOX|0I|/8yg %9KPF@o}tH.X$Q FtVN3Y9nIE'9}톥&z{#{q\/8ׂ!~უ'0⢯AUbi r`)>PJ ze}kP劖ZxUtO,- ^.uLadؓ@.OAҧi>[!G{^`m A%C0ƶڰbf@9Xt|난-.Pov?m E?ټėnI{OKe-W KuV|8nCwNl 7f凱qv 7Vogl 'ࢱX1SpFqFϙf"@y}ӌ SȄ"FE:ǿ˿b48><0ޅ'L!61 &hģO;$`8A,L' sU0aYd 50gBIR6Uu꒱cģƴ*g)>rܨzO(lvA_4MS=><ƒ<%N3>oX}4l0BU0U;z|xW؜QGyTLhw+] }W %+!~$+a^ HW?򑠯}%#l qn+Ϧ%=ֳ=ݳ~zh|pcU3Q4aMTԤ?$=#57ƪOS)fwZCZ&C,ХȨ޵zOt|0~xGcA߳mo,v.BɒfF ءif*~1^H`[0҈Ҫ"J^ *gZ#\,-'AaNyfd[ks#| @U.#QKt:z/I>m} gշܦ G)a`+~'c>7,d.pz ~y$ÂiQR"-H bJ#w x?qv7^`. t]"|FsV{8Dc܅+JIkL;R&G+0%ҁUi|7AF7=cV5l4>4h҈X[O'C5 48pN~X4DIy~xx8+[_dv~[MėǥJuWqZX'Ҙ>K#EաE#x mqv"Xߗ'&;N,I#.rK&ļΚes(B{Y]ҳ@X*0XۡQeDY:8 ڏS,逍݈;jj٨)e\anӲ@s]< c4ͲA3V/8eтS.h6A=o_JzQ!}#Ղ2/F\oDC-Jyڠ {1Cכx밖퍦}nFUoďpӥv,8EuB~)zJG? . fv0O!ylйh خ8[aWMO\_G fLfEQ=h6u=ðqo>Y6t]?}{֜<#g/,X _pM S,tDҫݳlU+^d`1XÖ'p):Q vJQ65ln8yIi ߗ7y]ge \ >'5eIyjƟ&pB|nXwqAn2|rL (ʜת ~}`P鷧j _:ɢuרOP/ӂ!*vVO!g?C߾ߊM ;j+ߌ`Գ߿/5իn|lAe¸޸aa>:S%c`Q 􄩸e ^ fNt A``ʳt_T傖u-U9]p~ƙ0h$<7L:5xߪ[ K7U]oվ[ޥJ2pR9a8a6!3WUe}7sj wzȍoTCi]:dצ / fOBֲ+#\ILb]F.'?Q8U2 mu؎3`T]rvO>Wi_UM*2O25d\i-pե؀8VYoט(hAkRn9%$A|a v=5RuUAг쳽 >d` S W'+dSiA Ɉ9d04??5ۭfھiO~׹EANj6dض>ݪㆦZR51;<fAG5 *xȝ50B\qu-P7T9eDKrݲi'JJkҟje.&]KAA mt~~=vIimYCpkfiH Fچ}*p⇪^~*DgFzv=[+t–YUֲ܄Zkߗ3s>K7;`[p-t]67z"TC? t-ߵ눷T"Uqt>PKRT U!/R=K j#UQ6Rqy٪ 3|(wtZ4mrF|oAzvͫ*)*rmp-]Z*T(\eS5Jg,l\Rsv4(̚*2T[6uUM7y4.XeYZ_+wusܰ?XlL퀸k]p`}C7㎳uY䐗@/X|ZwQػ{ҥx[t e6qv[og{V3~nv߼o&oLJk3iMg =~~Ϣx̳,Ɵ,g?B#|~D#G$>}D#1k x6\٘mԞ-wC|{3}{#~gGxԃGyT[xԒ_RiQeQ~K {G{G{GuQ,/QJTG}S~TW~G TGG9VQ1=܄IXm1 oWƶ~}. ^`bRDAneUt#9 rmCZڋte'!'h*ӀsC:0 FL6nׂ*ՂN x@켥*" VvxP||NW ЪoGܰMv;zfZCڥyr)gYMQsirU`LzI-7glC uy=UPpr?D!a?Uߥ4;_ƹKq{Œ^Q:4Ҵ#>. Z=OP\qWq~mnq! +^0 z4] 5pnwTU)T5kTf(j6EZ=ʵZк#OX!Ϝ gנ $N P3lķ,8N.Ccy$ 1_Ncy ;?uZ^cf}K0 j0@]aв6/ *]G`"`x\U zuYoT%FU$hF'I yU}3`1}w!:cw2K4K8*c&c`:j=FR>^곮:.g}f4|`Ƴ^pY~pb_Zدg($Jv*l5U3yAUn\z?U??;U0tLIejf aMslv$nY4^mvƴ^x/T$Nk 7/݀byoF͋Ji/TJ5 Cg׬)2@+vY2ip",fр_??wm{IYUMh>d݂>޶5r.7]\ :IRw! GjهYjo#t>Xt5/VҺOڝ-̐@}CVWS[g(p>պ[g`ivU&½?+Y4`\! a/c}p ]\EtzC[7,uWp֓V mXc\U+xa0rSzTnj*l&K#JrV 7GF&6qCu-pe֫vɀW בRKRaۏs(ދoLL,h@$E>88~!]wj}i,^z/82!8V4w$ 9l逰vK "#GT#ɹ9A?K ;d.pȡ۰prd ",GS%2HkVwd`&).~nԊ*JzaZ›":U, 7tT\R6i͌61w嵗= vj24vB5Y&*xI(Mp*mz b @R3S'mIڸs`Q?! ]&YmM7ׇqzUnnp}NӪڄH:,n<>y%^m a7YRv]eېq5/v!Hׂee̦ɤhADo=!{^o7Z1'"H8Gũc# L4#\gf#נ%?^ +*ެ/k/z>D ˝WAN A$^(b}(+@aQwP K{? p0\l|U* ""Va/k4RP݅LQ[q<hl=@}AP3'rˮv3,Lm|Dɣr߇mӎč;{Lk/=ccSRn}yjD&G-#,{F 6p4eԢcq5A f+J}3jNӒSwwVyge>rNpF.)f3h||ʉw@[?u7DS%PL. vucCKͅ,W1yP돿0c`aۃ0 zA2)sLgpL)8#e@9Pf tgNZ.Pk4 M1g|^pd!*wuc+'VgܡsM lo@bՍNvxߦ}nƫ*;<Sf0 `JKDR@T \OsDZ)fqxP3-90yS,$2¢A#\"Ln &ٴ=ڎ.PN+MA#]:iͰ]vLx[p);`{7&At?<qD'j2gC\]duůyU7E@Nz@ :o8SL@E/B  Acp *'}QP9h-Gr- E,QZ}wyzsS ۴ N ]L5Yz6#)oծˬ U9HJI,CiFƩ&yuD4*&A&q5ի TJR)[ Oʺ<1&[wgSe/[eWifU0gdV1]0xeUM~{CW`jUcR+}|FǪjfS߰P*-WihYد^+< 0\W u {(㣠4M5N랢rɜYrCooS)+ŞI£' C2sD`DE?JՄuIN25d; *5ndm@k2ӛrL[a3%r|/ Wc*k{D*z~8q?? 3l;6]l/ܟ& =쭭}}F<&*SД(@'ܯ@\9ASN dP~_ͽO<[~5s9v& ( ?;{DwgAgU&3SΠ(㌂IL~)TS$e[ۜ(rWnv 7Ȯȵ%rqTkyP +պȮWOc+.``nvj-n |\ } ejA5Ѳ3 ڡ5h{Nˇ.A?W [;Njezx.Ca={X~8NFo헍j{#aa{XN1{.{X!|_-a58Fć/MZNja|#Onɇya|8-Oˇ-|6O·a|?g9DA9Ka[1 Zsrศ ะр)+E}i#SU:R, Gw\v#2݀@2wCּ^FC +F'?\rUKgHuhCf}MfCSW, w{a#K\ҜBU:nMaYsGb6ar=vO'7O'ޓuwg{=\W'eAM`&8 o;A Qf [p87qFw gz#-7!V(uy=9Fڻ_0Xu> =); <\edN_q,*'Y9>1Anܜ>jw2֞`O?|,Ykƭߛ pg O}a7N;(׊CRrZj< vjX+_7d }z|l҃;Vi0#Z2<>]*Ng.bҗ]y"+IxK vtnCW^sAb^3w.gynix$6 8gH1-cO& L ȚrV̪>'RҭϦx 3%tQY{e2 IJJ8^rY)e0[҆ҙEY.~`fIbTp(f(3/'ͣYi|8yBsya|\8`yc -7x$QxIg!M3E. tW9[!WDCa}aj tvI,y':I̦ŠMb63':p5<, zi^XS_qNV>ca{)*vOtaKCh`lҨnΈ?I4ۑ.5Ħ]1"w{g;d+Ҹ=BgV'zat^ˎ4Vl}F*s nIv.yVd)Qs=56뱫H3T?R>ىdc=Gv\:-ӃUwU.6>$W}܅aDGUQdt6D`cxY,y;^Q]Q҉iq՟6ߖ;./{ۃsvf?+V7\is*ssgIx偑 2:ƒwH~Z{w+>3#eE}?,'.hg9T?Ә~SUu_xOM[zp"+,ۖ" IܴXP)&a e"r4k/Yeʵw|b}-acKGIl~z{ }WN#fewć|x:햍;*zFbA}~Sui[l~Xh盗?y4 l3Ô=pM,fk-ܟ/C*y1'$]6i<3 }|7Λqv\KqU+VŶ ]׹ub2bfߤVu^IY7-f09;aWDӮ}O~(sr~W:-clzX#[ 3t n6Ao)MZfe7 X@.yv:/4pjs骜r s0q7MOn$3'pW;S]s")n7Hy;ziY,1'j)"afv2O?31LJ Uك¯' 7 FB՟@0' 7 ! x*1xHn Ox_b7'CEITMSX<_16yCqo</iG t! yD!)(LNUڕlʖ{y`H桙Ih榷yonj8yHwnJ+ُS=DAK2tS=E/|TM&ݤJK5=dNMD$RT7=C^R[W/-I ɰEdh<8~2$Fmn]4Z :vp*&ݨ1ĝ#mLM(%P!2|\Z}YHrtzPaLdj.A&hn'w{G_pRtE#iw5ޫRFn'2 =\#_D-(u 7'L٠e 0}w|a:贰Eӝ(o0{W @y5}D yc/<ƒ澰oc}x'=u*+C88g=8^Y'™؛Nrόf;'?ꯩ-q"/E{|xRY] 5^.y*7ߓwy%֞ߠ}lh93=7b1Z`(p.o{>/whN^|^{9?nyv/@-8w8p^ӷxh? ^(耇s+:MpUaap-= WʱN1fœ{>-‡ e)cU%w[ӳt}A?ր¢4NJw tcxV f욀XP`lOΉWLxet#k)&Pг,: lcNX ֒nخ?䜺 /, =^϶ :s&9М*bpWMԽ<;@Ө~ˍI]qج^0cf-!Ej7[wC-Cɼ&Lo"E7 r;$O8ۧ`i7tF;W“Iͳpgar4<~;<W'ĝuIgdxra<2<O'O+Ǔ'Ǔ׬"d$9OLy``j@7ԓ|IMu&zZ=IfӺmD]o7םG3F<%T/.yl$Y[1Ab0$Sqn\ye޼4WxbѼ{! ybk ƗLr͛,n7vƒ7ppڵO7o&O{кy6cyq}Mvu3T›.r͛gb"n$v&Y]ӦH54CF:16D80f j;4fvOe)OGMbb^N81feat.hR\pPDge?B䃬'MlqNn 7[ HXݖ3r bDzu.{t 璘Cgޅx}nngdl0~9_ŴL۫_w}Eaw'ᶿ_"GmwC=.TE)j|v}޿ϰUÑdYHԿ#w2C>m 'df݅^(Awd|ٟ]Wʛ #7לϿw8Ɠ$ob/՟DˍSۋo/ l^'>+Wtqsn _qa[wP~e=^,i^|Bߏ)_&Ο88Rw8MeXu{H׬cUw㶃W'R*;8y[OYXS呾[3X|cx?~18i}Ú/\oo;[޽yݾo{&ykT׫ۯFj|Fjq髱jԯjѿ{"xO 'DrXuyOD'Du{bf~3Oߙտof7sYͼf23of+s'ofˬ~f^3?o;39/of;sE wSybt|DG}"Yd|m"ףe|!b+ HO_r<9_eEԞ+*[na'gd 6(V̺➸g=y/Nߦ8x,Tc$G\?/y/CN׿/KK/9KW O;,q$Yǣ𸱵_%կyA*5˂s2oax;n6dBr0uωf2YNnfNyYUnƕbjyh\BP<1}E.P<5Mys}GoF C~H[NRUK)׶ҾUY:3>U >sc'5²6T 5\pķjݨsM8uR\ݫJ.EE*L@njWF*缺n<NJ *NqVu:yߚuq DY:p`͛SoogS4wa Wx['&ƪ/u;Q r^V'5f[KC+WPEͫ2ڿ~EwJЯnpdjF1pY("Gt~cx;nNyBn_yxIY|&7̓rs)7ŻrsL70?|Y+OF˛b/Zf2 e4W4: YvXs(;r2uM<:byX,nfƸY3~5fxY1j/詚r} ډGГM,D]#i-& 育~71Ia?`ϲlS3`o˺f}v5VNܥmQ~.]up',Oƭ+qNŋӭRdwy`fB&K2H!q&'*'Z2E"O]lDRn]un5xP:o(jg6(\0b{݆YLNBt:+IK an,!1WxL0+0gveeG ְ.ɮʽNv"i7xvV*~T~Nf}vB]y@+grB#gqrb`r@7rx`ƞwY |4/.Xn߷To(> vyqûr(!K68u5-8 5<'Aڡkj 0;a- ,z,Gi:yT),o-j88!g qNx7dyv7v}+ G 7˭=m7px\ t{)Hi)vh)ppNY]Dl¼B7IʠRI/ KOҵP1dY!S߹׳GbeRܱ+ ~8$<.R|ȍ*&(hJa JF!YI*&؆cĶac5@-CsB<746"1mþ=Pu'0w|rBxJ[n_: /`:aOG)70]Np0 |h/h1n]*s(X Q'$ѵS='*|,>{VNk(E9Fo*T1;6^oɰYpu"A aK 5Vh #M-k8JLԩg!r=`S|`Ke\0?PUJbr*.e'^q=0 90:a>-Ɯ,o2L vDMµA=M)v'<= `\vX_KX5krz$]#%q; 9Aَe!I!ibUdpH%Y_ꘓq~TB.8#=wgkJ*7RO`;To*7= uAr\Gu@AfdܒE<1ʀe_u[Y;1w*S/7~c̟65~/On΍|~b\W2vbxzc=\Da5j/OXLg-풷X/]\_އUgTaxq)oL7`8}47IZ/iI(?ƄIT :1ԄnlY.,#{ֽC.}Ice~o Jw1ft0Gףd[XˢZVT&W$ A:wܨr츺صQH,zcՇD#I-QG@LuxCkX}H,$n o3:)n\A& 6\,!}d\z?Rh䎛l9 'V`1&>+p7nN/C\^e 02м 5/p2 9/uEc({#ވ;bhx{#Z /6/*{%sOe*Gr`6 wi rsw$KBOps#|QgV֯~ce.\~n3'ix8vAʍ8q{6ХCبa=oTy|4 vJCo0hjЯj?sxO @{9<'{QG #Ɣ~B{7=s ?7q|b쁏זX>@Џ[x=~I?^KOuyK=T?Vp^=ev=m =tx]}x^^zj<~xp-PfPp iy/nS5*_\~@\g|^Q1nV+rO)ZV(tA1~ yQ{R䗄Ton89+uClF;.Wf*Ge!.GK:e;_cYӞu# T!xs?dL 5&r`MB1I΍IVLFv at4T=lJ_ӅUذyK K'DH9cq 7p~K^d55xa񭔷>0 #%;"`Op/|x}b 4w|-?}g<8cW Ooy'~!MF>rO^M.>Jя_Ou_A,(}KK>&3L ϓ4Qr[$U4VM|^K41&ZL22ʼn9~UGIΜg]&.#Rbr'^97$?b˖džS k?D=zKp/3 z>$M4{j&wy?[&yOsq>^0~fS v7l&|/74>]#+_]_J=_kOa7wa%WqO+?D 7x%ƽ_vXؾ/3/.};_yW"'O>o$T뷫aOo}H /?7~ǖzrIN,9ly4 xpyn$}8LNгi*AԎNSI&lr[ |>cby%`ȆU߮h}2=SϏuOcϏ/q ~bAKtzHBR=wb#GWByn/ =q68ozy7d?}y_/\>1? $Fkl|C.,YH*r}O{st%}zKB$(?M@}-J6I?ߔ4ܒ!8dzj>1PB;xMa{^9qc{K~+=MMy8#ۋ<*MJjS$Ma,|_޲I6I ~oIlhr•.KS5'+IRB%K&SR>XEG$}\W]x>#DG*+/8OIܓvx`Kdz~e4HR&&VI~^IYoRߤ[oR;iכ7יMTM:MZv'5{&E{IޤkoR7i_I $.wi.K2R\.|.?.Kreui}\^_e| 3] Mf,΋EM`HQigFcQ3+4!`TDWe?۠3Ʋ~L;n2s7p=kypmO3ul8 2yvqI+eYq3-#0ь'T<9TQrNƘ3u,E/[bXvfxYkԨtㆴlF:F͑ 0ˆ~>t᰿oɜ`"*m{)ޜE#31d$ {$jg[uy[IKF\Ya\4&_9fXfsVRuT0lP+hD^=Ec Jq1l#VZ$@ۭTʅZ 2jqHW.tl!UvݥEg]",qec4:M&p=[N'7!.hǚl\n,NdV:nc Nfb9>:lԍ:-W)@#Xy:SYÞ6N&*>ËԀ̷ "jb8ןi?D_M!?lrf03*S'39Gˎa2H8LtjC$ݮ:|9OiCn^p$}Qf3Ym :}DDw͆nFg͆gDdӋͺel`54(ݘ Pl`wnT0РwnP!Ju ݸI͜rBU!ĺ]Uh *nKGGS5Y8WG\q4&p E;\3l ZQ3Q ZcbTwtۯ/Oda΀̣7%'*viY6噗5Oi`oFּ׳lgYTxE8ݬަ'HoHx0%Q^sӲ<1.e`=FύfNirMDP`+n# ; jRs7^cˏxU] |q]8 txQVvOw\ 2tkxgp̣Y!IH< fݐ#hk(\q|#RS2w߆r0b+jp:;̑p,hd}!lu#5=%ab8{n֪OOњ_L}(4> 6!lLwS,u2~z5P)\ ("zn1+mHڼ`%r,@`p: @lmphg^>,R2هx{8 x:!##]rCY⚫Z ZۯVQ09 rT@{l> 'p P Tg9 n.ґ;mW:Ԃw8']uWE ^}}JnHJo}I%X f2:ѱ4}#W`F`4XH!])k 9HPxJNW!=DQʌ@\4koX(cM%a(Un,pD>R@-aPNJcOjI` ]aUX'֦ʀ) `QcL`v躬6{* AnUk?J2$~S䷠..X ^2<~}DP QtV8#1V|hJNPDYs?$+rBxfC '3e+-P\q_7=cERنf j2tq8UD38!|]ySsc^ `9[F!w6ON%]]M7k",\f*GM5eb7jjѭ3iϵ^QҙbiٔT8osusdajrhyC8YTpA ӊΨKQIWN pBϛڱ^SfNk`xWj .)c(LHL|<mfK*prN; iwЋ;q ٠C,#jk45ElWd1N4F;~m2p[o>Y8{vL.9=4`3ޞ1A8Z\/,Sj* d &n:|lu 7RRĞ({D rHOؗF.u[KGû[>,H҈/TFq ث]BY0roM0mI^"ёJǍm6u]V/GdkFdd(0d Ҽ\9بҟB(K 4gF`"n"&Nfi+|$ Ala4˜ Õ,:?(TcIjBnNё\t;pn~o,%jpx2~V&-^_AUb )UydX0UߊR`Ogo]9$xXxX Dܿ&N ˶w00%U#F~a\.iV~VvhoCD2=X<ؗV$($ 3Dx st9I,@0i jG8l ci]Hrxl_<|% C}T' }c7;;2}#{72;rxMQ+yNpFnSźO"+$gf1ԊǩoGf.J p8vk 8 g%ATw&q^K1 AAo }~?xZBhIS5б*3;Πb ;`u w}CKKk3Rƍ5S߰9nT}m$Y@HkܿH=`:mk{Pu j-cT%;2,5᷊ڬB5iz Ss+.qI:B'OX! ^ޥݰ(cVr6F"vߡ$[WP(V{ғ(?XGQ:΋ R}Q>n .oqaچeּaVj %u;;M*H Ri߮: W'oRL72crvz/Rw@:߈ tC>KD5-DZ 12K*rw0oဦqIya2T'4vJ Q;!pc#ÑQ9ulem3i,@kw/XpbX@EC5$fk,dm6ZWS5UҝV[/3.Pk%H!k>t<CK+܍/A׵ohfxæHT%^QvxhtBՕgfύZ`Ė<XaarC]WHF:6*A5`E^LJTkPN ZLkk-Z]jaae^6wP5·\ޔ-b -(wf:_ =yt6ܡnpwz6T:2 Ě1V::$ > eV.5eZ; \3 ֊0j Q ϐ67h}]ZC"_ .R7~un43oM*iv\ Z6}o%z}A2P ^\Yaqfhkɢ1`GmghqT:)hH *F6]CyRހ0P 1/G.oG`ŕ`SP\c/B~mI3jJQSSIi Fx Hj*&XfЎ$΍ihH5y  &U DAUi7h:+}dHvA\ʔ6|CF"JOjX%I:LnaX/5pj$lވToo-Lڰ! ~A2U숰!O+9`bfQ,EX0~V^ghp0UR.#}5NRj0X k'f!30P mJ~{N ·-o>-c9o[|9_w.|@w42%¤@C^ml +8ѩӎN n<*]s"oS nnWgu 2OݍnhR[W4|j Izm4tsyiS <Ί,T1֪[em9g08N_V6_Ͷj7w3>^SFT 云9lq#DTIL,`fu'xM`u#whk)~-rc=Woo6'Rgni EXn)H_dFH{VVOjze _cYڝl1eoa Bmvy_7_%p 7?]pܜ7͕p( _qCҧEYhHQBw QqmJyqE+p ii0%&Q#G&x)h(ÅryZNkMI坏ą8y=IItو0Q[V1);S]rxʼn8ERQ#Z7:-hW|foPNEAKR6i*")OAQ 9lUإ*(FOGDWGEkƆir*uG E[?E典db1+EtuH<TT>tW?-r!r_1#DWnj[E`wP^1:Фd =/O7Dف`ѩ^1lAɜѴjb8' FGex$\nƻԞ%8>'' n>D=o|Y[ W.?˦e`뛢ERPt/%br[=W 4ޯ"(sIy_WE$>AoW>AoD>Ao}C/?7q$EWPp'.1]F8YLtZx5$ӁP j 80ļ4 eD 0!e!}_jj!)kT!)=FN`h"1jxgc&RbU_7nxߩ{z0T g@)0[ afk«qYeY~Y=kĕXy0ײַ,OLDe-um㪬`9; 2@{GJXCn60;+j .~<9!>)͠HE0ιs>uNn*JL̦9vJӆ2lj}zrVB]a 8Q [kwYA~JaLw)sl95k!5[q%.(4q2~C.2}-Gd }@^uJ\ZtGIVI 襖*Vd#r ~qt.JvLS9fnSv;ImTuStO7yQك+]'sŊHfp&>E͐+~E# ՜f~_;KC,}=7<Ư}|@K3ŎiQZSY7Nn8o=;I,pl&SXCX8 OA9˼+!#g,<}"9ib&,]4x*B(M9]D_mRI]ěĕvq6Ӓ|kf  ㏔ח "NtC>VvܨڧaQgBIQ]4KY[Q߹X%a:@?'7+IXgG2bn)]̞ #JuX%/eІC1K+bxXW4⒂ı;ObQE흑﷾!A v`@ A Өh}ST/1zľ14%3, IIi.8 +0ړ[@@77VhhĄzebȋ隷c3==8}~Íg ʹ=-,L% .jb8{ οOE^g{fww]6=|PE;p3J*R؋BE1&о^Bm4Oۢ}jR*oۗ5)EU^Hn*qAuq() A7n_5JE+vU=L/ꋇ9$}ߧs>YX)I]9_fo!`hVh/8?10ÂP.|pAy\AApPzhS_a܈# 5ܱ#m $d@n\\m}q?X+q/7@yӊ }x>¸qb:w )rr+퐧DW8D՟qgC)s )rq/R ^t(CG3 0w^P s`GGCνcҌ2QtT߫cbW+ಙ֠I[8y9Uf~S<5hpAoƝeσ0rC:X #wȶڑ!}?V>k}~BF}CO-O[r߸=|>Xra͗j{?td# 9 O+Sѕ6!/#qeM*핂 iB/- u糾elp;gf1nn=CW7,wT1J؁2(N4ne<=J79:2 *9X r_Ao|w3~;晎z:̎Rܟ`vxGU˚Ъryf-UU}rH|$:3U)q(N6C)U) zʾ3k) +E*_\f5}[is?DX,/إ~S1>#4ץ9bgqýP *̘{HLVT\yzth6C \6 6(KmXa̤C!e6/.'&o QUΖO7Hf+ܞs5q<.A>K1.zbv='{{r>ɵ>̿ z 5a^\4_8̦}#Xk 5ժʂV\埞u3/Xov?+Epz #uYnLda1v"HDC0_QC}!k6(wDQBBَL9)BW@ WioABmX1xq+npT/hSb@y5%CvAE'Xd %cpt srsbw wa_5,`-$<߉$Hu[8Yqy Ƙ]))P PEIU0pcؙ3]Gp{7Pۮf.Ko`6o{9K@w2O\7'4`iځҔx Ԥ91fܜHoA V֌ᏰfZȖI4b0\w!/6]HrB6SvpgtTo*P Jt7ld3]Id0kqW#,SfݝD z4.l@[mddp5,V@5w Ɛ 2$ށGS}f3ntZVhHm-2x@U5rUb#lsT0J9R+q&1gDςS؍BW1qqLjGtGR5e4ڒ Ңkx@:.hd\-9J.(̀92g*q`R<,~_)1sk@| VDN>dE`"n0 4zCМ1k] uNpZhgN~~QO3a4TEi!Uk݀R;\E)b<c+0u@ `&?v8/0> \.  Gzz,b̓j2꒷"]\-,d$9j˜4nL~Ec&|P#koؤ.Rid`#r7]0,&dԷJ-n <9ë] )nप$s?eVK #J*w+JPf< G^uϣ|cMͣ vLmC)p!,H4!uɇl7, B5_{"GAE G-2` ŵpa=z1(xZmI>V| >2_")~^Ҳ,#Z{I>#H~ ^2H#{>t-,ů&3e^n$y.M''Eaa_zb-j[9pgujy%^0*>T bsFs漲`"%':ۑN5_p7nf ']jD&8sh^xK6@d6"*s_i4l0>MHpڬȄ^ul"18,KFc%$~:pef* XQPn&fpA-K CVPY֖AM.~姸 $/(XKv$pdhAiܼQwrbs?z{E׈sg=$B_F4't9Arx^7"wЬk3ZR9QzQ Z5Yʪ"&*/gTc\h *P 8fn@D@0䉩 6iE#c؀%a-OmґGZv}At>yha(ʁm3M{Nkn0IvF`Yt&G!; pK_o m @g)j:5sNOhm0k=ҼaWG V~A:Knd5EK><eN&aцH~@O^ Bhl3V?84fQ1L݌ bgKU\41&FR:bڎG<2JiXPؗUAs Z.K>Z*W=0]Qw]si~(O_siKiaTU4R o8lO|_LSk &ɽʀejeTe)7x*Y6O̽1_F܂d wP^W L@ ׺?eBn!Kf[M2cveCҘ[S"ּ "ɯ $1s!0 1vPmŇp}Dz'W >Twʳ#R?םwO`WOL>O8^Oxw$..C4Qo 2bG'J JSa2F̯ҍǎ"%W@QNZw@рI*n|JQᆪrC4fv]-9u_*\XLL*ˀ5W=d{Vʊǐ1 BQ+nSSUd |G6J)u_%9ml"3s "EJ}a oy)UE&r;Rv&1j &Qf %1[Fo+y paX5ȌJ[T҆o!Pϼv )gjt]!UU[~VV77L73g~e冼FI`7loUx#!c?Q: 5}#y}Qk;~; }Z>QՆ{GzTGF_Um&`14-y*\&?`gX}׺ є8Mk! ot0#48$7ԣY]sY<ǔG %.azЏQMߜ'=˿r~_$B!r/~HP"~ UZ_a(= 9A"/76="9;t%R O̿`GvF)ҕ̿3W,mGklQ<'I&'IxR9D7 NyRH'INRWĖ')Myjt7N=|$;EI zҋ'5I\Ӛ'%Izҩd7NzҸ$;I{Ǟ'LL{־ޔ;!I{T'Nӻ'=M|R ;-IZ|R'JS)g,0a?m8p 1+V& #F7 $ý8-~HQUcsn|]j꼚;&ϫj|i tk=B_C#VH=BG #%,*ř~nraGz$AGnz.GK"z^[zdѯK {/)G1Dn G [>W^{ٶG|GL{eG.GZKx{EIGM,j*8eG03tb:>'.SHVxB^\ٽg?`LAVKmE9+VFmݥ0Q7G6N\ h+(2Yb_h٣tdw׏7V؇,c00z# zJ+eUU3)ŎG9:oRAȬc" 5}_0(P5ѯ` io⩊V slv]e5_I $otrxW1ZR^kqoQlѻn_Q _-Re2yl꾶LD 8i>i+[Dj^Maqw﵆&-^vP؂մǺZ'ODHu)2='3 bE'ou*“'Dxf] p;9R;$uĢ)^ysYL:~{jgбs!dcqɒa}7xo\4%C 2]S$ʺA*0IA+h|F״M8 1E3VzDcs>aɻ5۫tQ$g{69^F8?i[eް Ӵ0^!:zD0 }?5[LStex*}mG!EW6 F" ymf ~Rj.n~܆c5OQ6='XRߘ倌=_v:vk'REm87~xuQDKh.qևd]ш][9|P].Z6!Żϛ^,A`ŋCK=lzW ` m4.pJqF7k쓻O}:vUզM}9DOuq7lFkE%0\\Z3s:+H _2H)pxLsF6xծdN V3O:ziOi5qdscd̈́&d|KfCjSF}xʭCN_/h ʐ> M.$^8<w0@-!5 Ô' ^<ԏ9fŅpQ`% k4W/֏98'C1aolʾ70(cAdY+Td AAyJ$7HJ%lWo#| _=WCK?bTwc^8%<˧\M7E+ 0s:ce˻aLӾIdpYkf{"{&J@[-Q=IM箯$*On +¼&}}2hԬ `gJ n\K 77<Y$A&4$ux4}pFla]!ђbdO$=1۝ L1~]9e=Q ?)AWgK׺eJl-LV55te*PN zL$ѫ'=64|I3}%όj;o""{j"{(¼N!{"{(\| /‡< e0{u$e HYN"'~Vn-`P9NuN7F@n%ݻ Z!i*р$Hƈ{OR08`b>#|RaV!H! ]Dl,͈QAW=`"BDڠۿ W1֡bf^ٰ,(z*Q&TD%ƸUBJL\LWbK<ޗ'ŠDCEGbsEaA6UĚ%Ț'C!֘7t@~q:R9*3澇spbLP>}I=gЮQsj1F\&fj۩gu6f }.P(8=o!ϝw`ݨaF&%wfhElN&A.M iLU'l\ᜋ7]1cT\j1C=g!QlA N *2RYS!+U"w:WvzIzߵKʹ}V$ޯx42[tXa}Lc/HvJLvAj _& [4U8~qS)j/'瘙y8`&@=b= od;(dDNtBiUDݞ^aذπ,k%J`H,?4 xJb[N&vP8fl3(gNt=dUvd~ZѫzqM6W- 63*\ bx@3#f*3v6|U D-jF2gnh*-'lv1l%fK '# rS%uB4Y)2'[CX1"5l%qRZ ^2C Oz,6GV:\q:{_r ڵF1dO s0JU;| ?T5MLfrW) ^K*O\JCbif3$ۯ/&LC1x@E|u0&0[Un0ۡQ6[(s9.xTdN Zʹnl_@놅Uq%L(hodWluJ\E8ID3*-c9^G|eG7Bf2*!!4rl('X&H7em5!7 v%hwqd k(ljҨEDIԗtbs]jbczô&WE-oo8-MV:=v|ol /\?jnѮ2YykA4 i Ygm\lݯ%,OY3 /4\8e]pU۠h $FnMjې 5 G='\q@3 ]v~@2N7Wux^]=THRH(v) Y{puw̜Bkqա!VBA͙<,'ᷲ VM+H۪_MV0AO4 Y"0g}ǀ-4ClA.0[u8,XZG>J^;zp< %rA ǐC̛[SͩJs1L>ӬZGOe-]0Rr=meH] ^r[,*#_"2=CfRٯWxW̾h 2' |NGNRVytWUGTty^^xqm<-8Mpy1_Κ˕8z@<~y{^OY<)S|G"e0IOzb넣u?; 鴤Q: Y)~k;l] ;h, ƅBl=C:F[exE0CM[[6/HMA6o[+ >AWA! Όv0Fŀc/Y3 5Ɏ2}B&-i{˧noKz=M֗0#uz=_߂` {W2e%q}ɣ=i#%v.e6ygV3Q}[?_o&[2ȟ+M\ڟ;'ʘ,H/ZkƆ\>B"{ H\ _0a9GtNJ/w'DHwgiQ,2H!&2j ՏQB>>ǃ7FW}O>oOG~̷P?ǻoAsD@>Ʋ{`L&!!"\3l<1QP+uP_a)Voڥɧԗn6Ex4y4H8 󂙇 $\r7*-$}r]f2"Nl]Wq1xQx> !'?h}=KhRfPq#3 '5s CUZTuS}IeõoϿEbDc€=b#cg[PP~Tf 'b9?l!U~%c*O<;4COM2=OyƸWq6INވp)*LLw* H\P!Hnubި1fhw;g/QM'?qg}Pucgh7ߎ= D ]27cV p+y L!lxK#UDA9 ՊaOw<'beMp sg'YnftAyD3%Ǵ;XX;Le)2(!6 GUוZA>C+zv%=CW>oqF`N^<y>Zwvz_ˇʙy4lNGx[sd)'&fh/)F>b}o[X |̟#zj28n\FshfImtksժ[fP8q=8bG7ASe5 d4zaRSuq ;ߍpiT'_3wܿ(~`=+lr>o0YB69 ,6b $%`m%Ev X?x}q2_c-%U}zlӪqHLA:KKۧ?,n$D,L*S^R~ԱxRj~}Z#7 Leh1.vF6f ˌ4'A5vdNzN貘};H]6'SЁkbam&۪Ab6?;0M[rAôߌ:(!QjV95q4èxx!&)w)W:!`q̤P'dkX9,58RE~]LZuo^ۦJYdWH]dE>⋅[,x[!yCg_EΞ4Ee\Ј6Galzf~C*u8ٍ2s>`̄Ө FH/M),E;^J#Dxoowibsr#*`. %+!AS8c"UfQVi- jq_2> &9ާA-}*)K6F 5xyWiaRz<12a7fZ/ơv>xU5ߞō 4QZVvC=qAf=(6ʐ4;). = ?{Zӱ?:‹I'\oZeúsNx=q>h -SFtZ0c;;5-2XSrvXTP#;y홄㝫J;܅,h+hX$=F"3Cegû\nsB%ˡhKޟ{ңIbcPѯD^сƾMm/C݆ p. GߒƊgWդhb$kVni$;-hWx߀Y]>k=3?"8#!kd#tvrcfRdMy!}8ib{Ē\(ċ.k Oz'홹OM;7B6tʋ?4 mFθc4Y닽iM5m]ڱ-MMw;lVF?g l9?(a9<#s:^=hܾ%߈)!!|27CqFx>F=MPģ-MZPQ9z:v9Ӟ mLtEETHNu6ez8o4 zvn sO0vL WY$B:ψ^>]7zY=v?ezy|ʑ(Z )Fi8xtTݩ|p%kw$JLj.F{ҹ?(+t~HPb.Z3Qt>SG'fcW~dADv ڴ_Gy>uorIf7vہ#`.6 $^ z}/?mh8p YRtS!j 'M(l_n5>J0̐+;60}p9WꦏO%Kc8_n tvh֓!S߇s `Ta? 4mۛ8t;5u+ͥ/q^mx~5d֮h՗) Gß9N|lc:W8:°vnzUWpQ5F 7f}φcx߽=O975޹6Zys=} ߙ- hߗ`-ֿ1>׷7K{Oo?ީ<7F|% ~Ȇw>cMF['GW`m&}Nzc۞;_~|>Ͽ|b(^/ڋ^O>#y޴> 7M Ĉ{ o{Jl/XVyDQў\GkqR=_BEcwy|~uQza (>~:toZo G k}o߻|ן??zs7zw!:Ld&xqtˏg2?@װw=rvw.c(]ﺾ2wB_㽡}g]F}5[8?s9k/yN~Τ (!AL8aGo=\>%}j>{>@>Sqd'|t秄|>?x~O?8SS#y%}9>z}r?wi~N}}?n﷣Ak ֟Nu|ik?;sXo׎ p4d{`F4:^}GEN%ͮ=_ {B}~^-(IB}~G:Yak=i3⪅YM 0pyg~> HDMNp@hNJdPPdHrE0/v~1{юa]~=Z?F ewyz焐NvH!u~]fsJ;p3\h}eͷϣea~^B8\8Lr0]-gdG\Sqw ҍۻc'MWuij _>lo?}HGz0Rҧ~DDJw)ǻQ8/|^|?g.#sKW9~{>ggGk$r "L>糡u^_Y:>d'u!9KzY@k5(Q=F$򨐅{-l}iiŽ(g$Gaߴ证MydH2pqHl}9Z~`q`>PRI פMK?n/k݅5kWъu=Qg88ȟٓq)6b;a?tp^'P4y&)oۍ-cGYPn ]2 o1rt>]ٞ%)Sy0YM3)6Yv=q_@q\\;ȢnoVO 3.*?i<ļued_O_ʃ~ú|?^#?x]wk0\CYF]*?4U}d $}QY l.쾅<MK&.gs9to5)Ţ,gP⊫:6=U5jT{lW ڥi`mJ6*NE{!IH94ZyóE5EJ9_X?:~]h-eMMͱ=8Mq,#ǾqQQj+SQa*g3}o.AEdiw\Z*J4*~+J髄z+Js?*}:yC}Aԑd'LbEF&"UX F#;`rZyh~Dƹ+~B4l\+zb~ԌfK#3yv8,X=):aięp'hkRBP*$ZeN , w1a/q s&V#?0~t([,I=q=17쀙 7ZHN0\8p]E<ޙY/_:z<',l>%,ʧ^&\ zg &&,OB ޲eIxX 'sE/H&"B}﹓z ʹS1ú~uO$"΃D>x.k'"w4 k|]T*8dd!иJz& q3 b8{p|֧__,\'z,P! ɽA}aa s8A)jAϪ?j?tҍ&cCY?|Fˌmٛ?g~ٵ6ؽYv ќSPShytO{ΨV0̔,X4}ngߌS:V:z`1_M9GCHc -7CL8⚗D~Kfe#"kHZ}ڝьCghrfuCĥ[Kk:Kc<2(jy f1B8j5SQMk$p3.Q@3Wc>,\=(!WES AɕMedCE{ٶ79`NUs>RO dxƶ˰\Plh_. vh_P'xdz_py]uj t S7AWMxC8^eΰT:m~5j6B}4lb  1ƾѧaX%9df]ɓ9&H?+Ҕz5Of31*hFc,E}8L?Y ) h#!~6ꮌqgwG†Xnr3 Ġ\8n- } <($ `^4r?aO=`t5ѕ`̌z@sne!`_pBfo8 Հ0ޥ>ڔ8) 8lf0~FU ڌ} ~xlojDOcZF/"8+-⋇!R 7n:>$ FIFl+퉓<)7IWOgfaDg/PivbD5Emd*8cT񝦮SRg%uȞɲ w{$aר7~}F{~i'h8 *uf߫b<`ݿx$ݟGT5~"i~s q^l 㛼@^'L ɒ3wz~/WgDzch[xdwK\GZB{k_#K$q]}8:~PGfo%sL&@ /Nd~| 0T>9ԞyFHM; G:^Hn~X{>eDRklYV7#2/t 2}8Tzi.}Qr gb)'1Xohl}4 7!sWg.E2gck}]Yeyu, ^rT6NX|뭽)aMv/1a`ҚdU2dJLF6pDF_ODv_!oY+}'*媚}oNa뺓F/ݿ c=T^?싾⑶qCF~ڟ~G1_Zk]ڤm-گ}/&^c]/U߹7njoGr=/?CT{|PbVTfWEjyya$~_ \okԪY*myʱ߭UqqwܯѾ3y>U[}8yhn=Y=?匔VOO#0zV$3( )߯3O\t8bQ OΖ;hehFUTtG]Ae¸> 764+Yq7^ƑbGBrM698MSU쀆;OWƍ+~_sy_?8Nm4}N쿡4Q=ljZhb L1LS֦f 2UO g-OXb7~cb7F+~c=oƨŰc7cGx4^ W0x5n W# Gc`5^ _4. W#ՐfA_}ioxS]pZA"@{wG/WT׫=tP?Xtb<7*J}Uqġ(]8x6WC}U;rPkR*nR.}5vGrY;䘜.]QZDWrb ld W< ߫Zq}x_Ħ>_l?ƺ< (UL<0}_EQ^N֦wĎ5ihߞU}{I ȟ>N^l?m;B\KrXWr}q. ls..Ur^.˕{t/}q.['R.3R`SWJ "ؼ'^-[⑲x.G$а(&.$k2kaڤC'LżfhVV c[ #/^ Oe ∜K;-ʂqk M'1+2kHTbWgQR_*$ 2(z 4=hgJٱV0XWv K -r`Av$whCmM#˄?lQщa%[VTcp,uvD7KT}@c,eކ]ID!+X Af|YjT]UlqO- x1 Ԏ l*Pmo[yL&+:gzLl,a/vX.XҖ.89*+8ÇXتO/p)y9kp NJ`uSUsI(ab}eR >}V???Ka>7g\/4Ia;`-,X.I#*oɚЦII 71)K4 &?':HFO2%}Ȱ&#% '%a4LI,%F8&M>I4S#0S#}3ْ|Oɶ.1$iti|^:7J*_Ill$Nl6b@@MS5-VM./Z>3%'~CICVN[%Of#&p@u FA o)E 楟zBR;&3u8.zzEmxŒeZH\( NpYy){j>!@iRq:T|#u'xAh!QIJY7IPHI,=Jڤ,+$18_)99KLs$1oLD~L1owL歾37ί:}}j(57jT_n&dɖv{|HNYh"Bʡ4 ]s,4 _/M_4_MWsd_&)hNfij^f櫩?5:MWK }4E_W,4}4O_MW3T}5W_M[tEՄ}5cMWsդ}5k4mW}5u5woMWێYo;k}|DŽ1oLs~Ǥi8BxrQA3%WO>QeDd*vGpþy[ժIc@d-Q(U2"1$ ^eDxg7 Çx e-? oC F]Qsy]1GKUex#L(L0!RInrY%SiO8|S_0 HlWi}[H0 Θ~@U$[l98zhVn'}1ko]xvgYdl| FdfGHbvŝt\3[sLeYe2^04LCe U mid.} BzԭI33BJ'H=44NGRz4ŭ/=Gz~{T\CTuoG={Uv1/>+4D*KS2ӈ,e~RK!4v6p2.Kʀ_ջvvx^YJ_`_RusNgU LBɪ2doT/f*4;jJ: ،zX`p~8,Բ5rS8l>VU (uᨼoG͕#voP(Рf9iJ7J 邟]Gױ(Ae-YQ͟P~Z,.0e(&hJa65ye%-RɆe V.Rv]Σǵ8lN\ 5'E|"IbdEy<Kq>Z Yϫi 啳RsaS+5!hFqfm WŎ(]ZLL jl6PYb|MAͮzDhh3OU.zX\LZTȆ6c3smh MzR/XY5vUf8JU?ji+$ !v@2alzSYUcԆu3_ù 0TSk۴Nnʨq_ av E m5ﰠUz:u|v1:1p[c-~ Nerbڙc5ۇ"lOՇ/f.8-h] 樃m*o}} $^9~F &[ Dk!SE|Ih%LT ]bL>}dLE4V@-vLAh9! rs-*F74_Y5#aex'1A^ 2ΆM{6۰ LrbtH2kU;3X2ھ3%n526N5\907o! & |(id`KT S;XjW0]Qx@=aLzg) EɄF JClGq&'`o5]WwUg|ݣ0҄FbxbpvV)FT5(X(WߒD4 v"-[Dr6뾂])⣾V3)-#%?;\Tߪ.'ɨ3n欒1h;jtDV1`4򾙿zvx-',x|U M^d<_-[!ZoX[N*ם ,*L_}wn,5te~ .,a8.϶0 Lף.}? nT %+?`&y`􁴦2F%~!{[20ju:! 3/XYʋ !7!1H"rr[WvfW b(x1Vq\gqJ~&ߒhI6oBKxy 1/a%ԼoBa!toz7;}^MJwJ~G饿O[W]_AlaFn>#vS P,)nI*K2|ҷ# AT7I*mcĘ~>9@hKJ&e Lc;0`&Df:4ZD;b.^!2B=/! D d935@=0Td^3 %!l?``w\h?>~L"D+hilaI<)+:&D&N磿A2f>&9yP񜊎3 Q|CJ9% 0hRbp- clHiڇK#7 fwšAm.,J|7B"k(aÒϕ7{c+ERVLFHf>~;3 )8wN4>A{ ҭhO'ۓ+/ܓ5)dGwe{r}e{ʔhSt l0-,v qBVNexTMKTˈgI#%=mD]y\#SL@c蔳!.kU3(M0C?sIKC3 CK~=/e7l\|qٞi:Dqcn醃.pMweڨ}Җ4Mͨc7zsTd-(Xd5%+.r&08w|9G) --*3ZM9n՟jiVtqf4KU>Ѭ\,Ť BHtQXXsjPZ:bȚKXUݕ'zx/Xt d@vY!.e&բ~=+w97l控lV]␢~;)fK ΃l}F]r {5>Lx:5Wڎ6)W5>IұXgbݏbJʔPls!d0ñ+o?PYIdA93XQ殪i!P8(%Qu}&nDTOpqRx<'!IP`ɖ)H:pz5n$$0~?T_&n *(?\k_vv:%I0I%)IAweg}ϛ{٭p}]s $Hv jV}%=1WDL.o\׃}!{-p< //vƴ\ɌP t[^/y촡>.<ݸ 4H:f.{"t?2b C,he }' n}g2%?S) \9Fvcٍ~t=v=v}{A9f>`{csGtU>=|f(&5^BDL#btK=H<җx%/=LhNV׫rPLV\(9%YE=6x%='s{~ دnzSޮp7Ahɚ:`0'# pwXʊcCLCVe?};D%!OVs;ڡP#D$]y'Ċȡ%*r"R:whPaM8Wm;Hnv8PBYU:7+Ĭ*][o(D* yD^ sB*I/ Fna|oiڏ6c.Țm6׻({uL}F5ÆX:?!/Tiany_ tAv,IRDuGi U"wW@!C4FRaU9ma2Ku=eآHXe(iS.V Y S1.,eitVU1r4`aaE$J=h/*r-; dPXܥS3%;B.&GĴɾ`6 ObLZdNgxtFMDF b>W|t|UST 6 vlNa2!)9grc2v`Q(a*T`o8.X5 z]'zی '*BErE7/@ּxjF ~fTΨYn2Pɍl}E*|=LZ=#ޞx'ZX#{'+|b'J|b'ft]i˚TSam B7y?BGċNAsR,>QM|)ۧF ' x)43lQE;`s1unƮ]N \هᑿ"Ly?{7?.3ԛ#$ӝQIrR K,^ND1=DN;}0Qx'ްKy3J;a|ݾm pW1N;cׇYo<C I ²im%mES2?trl܉N5uڱ<]%bo_3T^g?+PeBC~x }y9>%y)D!}׌:sS6aLxoթŸ8)}:g]Q75\OϮ(*vv#c.9>q9qpW}l%,~_~ޟ?OSzQ}X~=Ǜ<ӃpI9z/yRqꋺ}=_#g{:WXm({ӹ"g}~B{<<"߇_D}>>x07p`/`Ú`? }c~C]33ݟ鿨$3ﵠ{};3ẁ݁}y_ϐbZ;ǣПA~To#}xi8\)_߿yݞDrQ|~#ޟQN0i}d6 Cl=L+L!}f糼0JNcp\|_u})y Wsx8 $l(<<#gAͦ,t`֎2DpKe_߼9] <뷱VƣB<1?L %r SVzzCUqx|jl>onX{b&=^Z!7&\QUb KۂR .lo(FV4#' QK xU=͓fOe>|fĺ/jU7ld(ΉWȪ2k7}3<9] m| ^ϛHxZɘ0Cz2FZ1)W<0'zc]5:*=_ft;RD۸ u=K[$i{)(zqkșO:a`o;y^'Ŷq;}jNK mLwJ8/wi7,W|լp)u*WCx)愾R<~ @R386*c Ny:|ήYti5~_q#We5r낪oFsS_`alJqc})ɍгc$qԐV7Ox'K[6[E:5B:6:y!jLݔ _yڼ`l2 Y`W+*H>UG랺7hd_QT*f2Z[w+ݝAAGGX-0r0r{ C _2 ZX Eb6-mG -^>0=– O~k\s[aӦ}|E M dvL:+wsH>E^aޝ)`iy0bW~q799Ce 1x֑ۦ+Pae`\4G 3euHhaf CGfقw:zR}Ҳ&ʻ,bpEc;d^ʬ ,ï!K |;Pr)br:qVh55ϡԅ CB>o`tWl6fF<ۉ5Bw֦!Ps܌7 fj<:ߦI5Z-/ }iiֳU}1(`!p֘VˉMƌvvc8L#}f|'kf8lUO5vTݲ<0,ƃ_/}]^<]OFDUy+w9=M?: {~! 6,֊3>p=`hðҊ7>2rq*Q-hor?T?+y18xt߯j|pUor/#c|WHRNnѝp7bݟq}iɅ ˳p1Q_` {z~/ 87tr0p< % Y|C_H%`]ҊiC pJN=O 5272`ʞ&ٿг '`ϓ~5eg DzGK?S7O}N'_YN5wW{b4D25%JJ}}ǨkX*Qc(}ݩ)IVr^ ӮƮ];m1to<{wouq<#مs= g3'vp4zVD=(.=:?o&4xj_Ofb?aXG'}jK4gPqm\Nf:qĀ-6FTk)f) vc?_o10Ckz݁@`56\J~bXk}j:OLwa871{xopn?H&63J ԑЩf_WhTN:~AR)1tc}=:u0,p+ S=+h{p b,R~" fc^M %^ڛ@R=I8-r$/l_VSN\T_7x=^A"CRWI™?t|P oT?I>sx0H9CJ} rS^} tg, ͵*%ZM/d/4S8y'g7tg68Aڿ<QhEĨ}<y3 1]| B\y H|\|C%z?xzFtpx^~М!fk!AX+%-mwT= \UGl"f#9,ЧU~1WUXu,vZẑWدJ(-]L( %/-~BĢ/Qb-M- ]j8I5~U\݇%Mv2dEB05ųvC< ŬȻbOY+P4 [ɲgr0d#)# 0Hp=Ywpg,Q6/uqVJ9z.f]vJA;^/Y`|MIhȶ.F zr(45`]:Ra3f)sZաae(a72g1K:'jV:Gn+wHKt*L߁Nw (RV߁XwVUYbYhF*YmLf6*5-]h *ၢIRYx63aF͐F;fzR3]wϰ4GOFlO fx6~.1sswR׻B7Nx菘nݰz '`;S\6~<חE$Vqܼ=*>>avˌznۤrkf٣]c=I[Y׷o >)4P }?q^ndz{7hmg8FPLlPyAVز)^~D9lv!f35y&+$OѯU~(GaۍONM3D',6Gc)&j,fwG^Vm_}NU]}rS}>uˉHUn1CiHӚ[(2@t6D#MH'Dlh'lfsftRw>(E]gdC 3aAѫ%lRwώK_oHOZ-2x4slhAp\Eڨӱ}i2T$qf.m-v(:7:7.C_5HK#cB| 2N>_ 2>&/cn}vr׌>Sf F[y@t5ZCve>RL T6JDSZ #"L @*:EH]Te$Ay6<Ǎ+CЄ̔a-T2UNoBWMfҕMa#'DW/ c7\̱]l:R+KR`6p"̜uZͪFdެ[TzfZ.[4-Bh_83Fy]TE ˁ3+C4bg2bdIIVL.z`1&enj/3=7_̄K9S .u_\'gO4)13ؿvc9.|x?bq`i|MOĸ~rcˌ}`>^Y(>E1~r7}U;5NeP{9^3B%(| ̫azna̟;Ut@8 4,>r`fwZ<,qAҀ$!nu<x~|T#Ų͇]"G r(<>L._]0A(p7{Gf}}O'N#iSp" ܢPO5契h_dAi=Ͼ1@L'.[7"eP.bune:{-hѩ"dҪm7.pZH t gwU#jҘ-Jty/:E?xF*HЙ*>n( (9 ](WʶWǧYMnp-D_է(eǙb.w 6Zt<fbL?ӡEd]S ɶEO)25wՌҾK?-dݸ]+-uVEˈI&EG Lv:ήg0o1&#f@꾟d 65Z.:dc;g.GُNƁdY'4 ˭7*d_.NhE՟HHC8Fu Zpܰ*8%OYsB7ca DAm:}Ӻ}A\ۂT4 }sAeP`ڬB/.njJdBFJT'(/'Nf0_| E9l5YgɌYdZYd5DN.!+wLYV|2EƐi0&l0-)L-'k_-[.b%; rp]Ԃ5k \$:o,ilhYWE[ |ySִ[=IJ|ye+!7wN["Nž؍B8;M2A[ﻨq0b~9Xqv6=gfRΊ5˘{"~>>)l}y:_7xO'9gk1 h|j7$yd^$RVXЋd&y4v駯qǤHx$d 454*Wu9$Ob\L&pϝ!*i&;m}YTd!c9*ys!JHYW9L1YL7@ }9!z ʦǣwflBAѩ>t."Mn*ixCDқg.+DmHT im*Iŝ( _J'PQNb7a D+M[>Nd/r'K'W6w!B3@Pv[\98vA4=+R`B[Z8Dt *W[ѕ@Tn;TeT6陲zmj3UֲipwE,~:Rsوc)Z;ʼ6jtM/ڗgO5 vĶL Cx;H/ Xၺt qWΗnXvcQ)[1t^YCq!J##rS,Lm+ɇrI {a`2Ci>R}W{"C݂!XfW;Lσܯh*d }3??צNE63Ib$$ܕ7 L L }ܿ/ߧePr I`f(7uűte>#kDWƟH '݊$8lA5qWlCl6p2orL'ٌ^lA降R#L*"!B\!t:/ +ST?qOJ7e~=R'܏^^H=uD*Y}u/`q~ WmUXemu!rk"U|h;Xe+I UxY嫘v:'n7^/^5zpGL݈yYa[v{x8;krDXt1ּܵ+0^s|ۈOfMɆi?d -5 ҹx LF^L xtnۃpĉY-Z&eWHK79M<_Ӄ?޸y:WTQt<x{?=?~yĩq?|y&K'~\xrTrj|{yBF~՞.w,@7:Mw2G_՘úV-U{`ݿ~r׶x[ -UeW*)'.wG<"q3>8x|=oO~Z?? }ǻC<1FnO//sc>>8߿_ss"[O)/ߚrK>TIp \ǔBWcN՟QF{}?PPϗ~`瓍{[yp{x~Ҹ|293U6?QߗeE}*>_Ox}'~蟠sw=Zܩq?O}|[Kq~8X1_:?8~|_yuQÍ_\=\~iO߯է=/38>T"&oƞm>ќ$ܶ˫?Ű=e _77l6&J7sS:쌍[35kFlRi+t%hcϰ* cGr*P6I7t|nMhn7!\nRM;h97e1lZ- WD1Bn*hӊa+<M4ꊀ +"1FhJD\#XLNB$%!5Ϭ1"3HkoEufM!0,Vys$qҊ~[e=eu.#Y6X7'qE&GYqȳE'@B\PTll?(MS!=} .Hq W#̝#2x}p.nD\/y;/gYnk.L.E~`#$v\ ,7U;bFVYF"RtTLq?x`P6^'o"}Σj`.Ty"2R,ԩX7ȩ~u2Hi׷Gyz <f\Eg0R,eg̓=~=H7Tzކ{s}GxMUoMs|9NS4a.T&o=JɛlckGUxWOU e*k/GyEuHJ'Ӊa/2_~f<_'?4$G廜`І*wmLj6c7f{ gO}vuņׯ<_k>ؿq_`zGrso(3q? /O6/Za(du{ܕJ6'nb;I8ܱJna/]( @-&kgXq>) <ǤdJ a8o**ʫ*|+/2_c\YVAJڷp׾ĭ8>a"͵bQ6Xiy@V.|К}{V<؟t^k?؅$aqYL-0E$]P{Zg,+y0iz.Uomj߸6Ϋj;6ϫj@v/BУMTa$eQ/_ -p:w;`3>-MIw{f=Uױ߯})_O_~=׎C_,l|(.gwDP|Q(JqrArrܞ} .A>cuԗ3㹂wO`+FX}GK>q‰Zj>ӂ;ފG+t=ن_'։d`!FbzXZ;k<$/ߡ3Ia'?>x#%>2=~󸅠ãOx>qstP&{} m>Cځth׽;gw^%Q̰7yapX`i~A-#=?ƴE%>>gؑK_m-tّX9A-&Aԏ}I`Ep ȺVݕ$a\aij?ID3&4Nߨm&" ~юR9X" Q‰0NZ>QQ[B9R\ ~xl5(ԍz"+s9dQ^đF4\d&W.6ˁŢQ 畍χyOm'21E~G(.mL?MPI6xށ1 B|dYwAhIP|dEGt!Ut;{V Auʮ'Җ9in[B9)4 ezl j:U1TtXɯgpp^sW}ʝ' 2+08³1#J43y3R l8d7EN /{D93׌ˊ"+ֳ+׊;wbmGcyv4_;cG=B"l=tU_T="cd¾ڃ]K!fvߙm_E*Y gZJ7YӸ(zDg L?.q-;&spCHufV kAq?l/5ipTƅ"Qܙ DOIM:N92Ew8YS3gte+@q#\7bOsN؟4={(=Ga•ԥ6RYݼS?TY>e.A+m խi|~X5ݘcF2rF33h|@q#hYtYC;װ$ βIj! ^q҃.c}7rƓPVՅ?u63"ڟ$᜗WŹm~4EiJUM>0!hC^2v׆בq8V !\y=b<-џe=#s1|;q9mz5rAn7fT\k-;ʻ*t`[oxX;W?%ڐ,ˀG+m*r~ժB-܀)ŦՄ摒`qLf4YK;M3y`ʛĦtqPťaf[6kdЍ8&)*?uؑϯBb_RlR>oto؎+wBx'ôڞn(lZ-I!{,}x)T.oX wiM(?I!y 2Uyk24f |CkWSۣnvS%UL8̬ܼ.~vvG399Vx N+s|`hdd#4m>i򭣑Cp%,}C֜4Y~vd|{8=sW@Ҥ`T@M (T>HE2Le^g2);x9EQ+؎}e9>Gu~Q=G^SkJxL e9G[p{eMxfۿWK8B :|Y|!x je0:3X*0;8"#os}ӛ!hD4_:ٮ{=޸9Ny̧Q9GQ'+ld䣀 _p8pؤ`/)zٓΈM;O:>ϧ|a~prE~/9<_MN!;4^}]x Qh0J 9nr_-;uלZU(ĝcCip_/ ;%afJha =p 3Q uA@DIe<s=P 1!>p⒞1 )bycV@w` ǧ`> U%zo\?5d!0‡$(5DϦDP0 %i!JImI?Qc6+ Кq@\GyS߄lgy;mpb JvNO91< s7<׫տQjo6?z̧|۱|?3?>;Y~܏QÍG; [X#)c~2!>~sJiߑ\g߸gy.xX}lAw;Vj{gyb۷1~)g)]zqt @DOQ Mq.+ *3 Ǣ3aTPA"O+zDȸ>oI\ۃxgڌ6BدG3vɒnޫ%Л;RHU@PEQErGpWnh{:;N,@rpq{N0~}D/S Qdl;'x>ӶB>nC"A6\'<=+'$/l3{\ ]$*v˿Q}?도w\ qBhKuQuSըz:p'މLAůGrfO9V{՞t?N>*3M@{l>7G'*6@kQF D!5CZ[O6|gO6\.\ۅyGg{ U;ql' ͍z>?Rmt+ \c ?_ڜbϣs{=y{Ul'ϻ0ޗSrq/;^t>o+kzzX(}_c9ߖu_9xΗs€qb/HMW\O;/,﹯ga%u+<-Mo_?O8N2JxvEG{M~D{Sp^8 AgyH[P?_:gA@_jD}'QR~f~I7ӎI?'Hhϳ,;|\v!A0O{Sdǝ} 0} Hߟ7YYaEJ9:2%Sψ ./U(#/Q,RJ<;'v:l|ds)A@H!Dr;.A|b.NLkHB^|^?11g/wP}A1i<:yx*j]6"քlj-8=NAt k|<+\4Zp:'NOm^όd$e)hD }DlpreL!AOI=*21"3Hn8ZE ;0~27r>i35pI{*21xJ1m|*|$4K#Լ9 6\qA 1;',S~*c)hmۢƧ2^| 5#PE@0cAPLd :(2McʄL0ʎUtTMK/v 9~~/vtΠ ٖ&@5^ 0ܲUlApӅQ^Uf/uy‹@ʺkx_>!5lANZp(EnaAԋTO&\@g>|HR )ڲzyZ}K ڹz;(4=A[Pq|pXk^l+>|2=`!Bc mJ(Jqh! K1S:v_:n^>}0na*F[O$+ LnRVn;Zb,AI2; dYX> A0o7:88vJ(&,_H/3.hbY25e* &ΊIz@Qϖ>}+hߑatfU0?eeY9gif_J>y_l3>I/M#Nm#P@2HJ4+hKAA5KAP>xb76$l.dTDqgdi|kn:6elfh(yH'poɒ qO8΋ P3) 8ɯʚIj9Ocw!)RsH69Dl{INHn'X6FoSU〕Խ,m㨙Fv> IiJW7|1#0EOv䥝89SL( ~ƆM3sjl$VjAɶ뿣܂,ᄼ/g=pf0x̫GX l-8G͉7b_s"sK*9=) K8a9⧡RR䗢xzFGOVsj.Ey_zԪg >n7*Kfd߆2;ldO'$#8`aͽppnbs.')]0θ!a5qUmS[=DVdya2":6 ]\)7uuB?FVHnҀZPzjZ KcU7 b#TeS6tF\;/05KV7>.J9WW`bHUHխֳOnPտ a|'PGi>uBY_W}ǵX38&ﰗ'QW3ްg@rP;}|AܨP`i*wkvHwl ?SNOUߵGiĭma1X)'ǚ"rӉ.'~=|Z0kS(QuKEp?|&ΉYu(Ӣcʋte]$ >_Sviӡ}U<# +KQ gJ=Ӟ-3]Iq;XNWӝ 8wVS@:A0\Dg@7B7]Ivӽtp;s_pe6&rLca*_g2_vW9TǘW&cMJ414~a YAH1rZ@qN++X͞XEJAUYػ>kۜlcn+2r4\@S)K Sj,pN -Q&nJ2>8X3I%sr_q#VhU+i)dÕ, %WV!L<%Jc]d)g nڒ;[Q$<1w%Rv)Y~Nϒ y\- \nq0 u;9N:1u~n' --LZЕxGYP4 ݂35'^y7Xdxe6K X/|_ 64x!t ]ֶ$cWϒʳǍl&#nr=?OO1m ]]q2)Z{ ǐS87F <9V!XdX$]<2ٞ/Uy"f8|rgaY ɺ4Q*|d7\gRB@fthy[LhY,<"rF$مFA2T =Q *Ikq{m:Jm2Y|>\%',?'=>Z uCMfi=Л̌G(KZF${ސP縴:Wya*A۱丼rO2a6+Xb%7QR|@1Mv8:8thS# ;TYG9l2fee?_Ӛq2Ob/+s0%&'\HVUl.`8 [I%+ى;̎$26Nfy~V 3<9/a) :&L=_\_$@y:&k,al-sY4v^?BP ] pqkF]|vin/=NU`CxNx"åRs.%]'RxkLl 6f6e;wr2 fXZd>U͑htcDu[l1ZTp}YAB}Mg_VY|4aO}U+j~}Oީ> DEJ^/+vEp~𖒅"c PYṲEѩb< wIDD*-?Dgh' (2+:G'1y UU\yp/o`gEO/*ʭrܪ./՗KJ^ӫu{^kvzn+w{n?b=>cw #~ǐ1g ^PHݨG2SJPQZ"?N4l\wI7=6vjg.< ȼFdfٱ;6#xr3>";&gfiJ1.Ҿ),8w:]a L yŬ8m8\:i69U׹Oy1g'+l~J c'qQO˅=f6 ~ga늤CK*omqr.),:)6 v.`gEjr0 (bw9V Y#~ C @AB6+9ԏZW51]֦ NJyam.'R`?T~8,2K0W؏Uy6v< wZ+֯yʼny_ո/mMv"Typa<ꔪ`vdz_X65x1VDQJeG~cn zp#u3ksٲ`|R&uj=3QO 繽6?]gмS/`:pφt3 lEzpXQ6Q<'NF4mʓfBؕdf ͘?_v,8>VG6mK;cV;G.뤝,Rye!M0*0|B2N{ۃW 4VGw_1:heah2'm2a P [řmhlWNeCW"x*QzC(LaV6hlglQ(@&G},[" m!7&Q6Hjـ Nq'H[5TUUWoU[m#{nldX^Xո?cۧl,WdͲ7ݏ6ODž㉣Pл/cPcYĉK)f"#lm#+Reh3Ao+#=H]>%J!ryT!pw0OvsGЊQY-)mjXD"g0v߇z+a{>`X֟Ow(&xjDnA4UvT1u6M7Qj }pηpT+ew˴u1N|uni((J;v3J3[І>O6H7~|2>_ U }>P/GUW#준 -#AcFC-ʴ}~#)glxc»4w .mv:( տT=t+3s>?~r7kVn!Һ:5ݢX^nܝ]ߕ}ds٧E'f&c}Ƿ͟ٵaȲVΒ켮JWcWR~]ymr_VcW/w k݈D{a@#XbbǹA\1c\nξ m+8wIRo1+n$$F;Svt&&g+wsn׆= io?7~$& c cQq͞O:rLR>hE'0YW|jyӎl-O[$/Dz63w}%% Տu$9vd s]*NI0v8 Į]C^T7H ē4r-E[qO@,񑆔NH^o,ͫ.CSS}?iExTo8RU,QcRr:U?/^_7KR)ÃU@֤9SUF9n'\eͲWr*h>=5YKjaX`!/>-ָ)PPڂĦĠ@A4kp9j_ '|yi9sLʆMhT߱|'&ŅR\dI 7aًHATHQT6\) XW*JTݟ/y(Jeɜ)Z?#oXM;xfyx >C3*oD?W!`;س/`D 5;pfHGî |_kE_ݳT.RgZH$Pgܭqqo;ZzMӍu?BHgڼVF }IQ=X8iM| ti)C+wN1~h:g]m <,2Sn x岙@x-K4C;f3LL&[ S4SILJz]J )T{Ip81i/$X]]ő 睚zީ=M..6S7}NBWvqM$%{X"Pd,8|0Xdc}y6Leā[ :h$w\cp0n-/RY^3""azd@CIt2\/)KO@ff!t]p2neDz1/4m2 SHy$^d'&`}7I{ľ doٓ&}ؾn/ܛ El\^1M&"(nMv &Xd7Mqu|#>.2,E&{EML?ZHG^o{8ph8Ďpkg?RwZ EbwG{Np $Ӓ5Ls]> _}.N\?qיr<?ΔhO'zߝ>qϺ넱pk|{}A<ӎVvZU̓tہE쀃vp;\Ev>=j4a%L_ys Ō\"@pMjOQ8hGޒ}q5|]]_t$o9xT#O&ץb ٵGꎧ?,hC8.z_\8'$r }R#č+q(6q$`zu c!O uʼn4&BGO\UN!c/OuCY {?|a!8'O*;Tv^wen;,{3;.Wy ?Х,o˂s .:&+< o7Mx)soNMst=7Mӫ|_IoȒ|ZfOVG:2x9 Mѫ)04$/;a|ʻIUh'K 8D%Nxc'_Cc*= 5r;ְ? g\$%:ž}cFc c֮?^.Eu8eJR}{U^/e]2QOʭg`O: 繽-*Oho=IQ9k<k|xaPQ@̇'&}xCQ=E}Q6Y^dȡk8K= 7|ˌbH$Pe\Q~Eْ#6an-LЀ/w|A;;T_G_grqbWx7xpy=Ǐ}t9gQ3ZWmƍ׈/,Ă_@gdg\/GdfVBzq/6mF4Ea <I<%qZ؊4͌Y%7hU}]d?OW{9#Ûݴp<1WJt9fㅫ2\u{:yːLsчޟjO&u :%*εC?;:(g\A ڱ7ﱡ;g=&t\_Q>YOutr= ۾W`0_X_P_/pwx*ho`}l~ >| ?IXd{{>W.Ǵ]ʹmdx&OBҁ>Q #w Oxm1!=t8Uz6es8GgXWxjk Մv0T<&< )q逥lO4V3w\ٱ Ue>[*'B:P{oZd-?$͢yvy4)MSɂs%e9tsl_`L ̲L'o9GR}Upz5chF~Ɏ@Yi_P4!I\FIYVۃeh%D@ɉY -Iඒ P% ,;ax#P(=F&.-Qfy;dd“F䤎5v$bؓfܦltq7BR k`/eX1%VULIlBS3=>B+[*5UWV1~ ~6\BԒY!a}GJ>gv1W)쀚$Ҕǒ$q>na٬坉v!9-efFi2}aqωhU>o~I[4-}Jkoit7)K#gS:oir]V]>d05/[,͵we<&2k2bj,=;,-ScǸ?3NA[ŭWo9ioDwP3¼ut]aP{l,ob؟X#*#޶fƨ rdWY"qn홰tP'2՟SNOۻc5n_']Yl4O싼ŦQe*]4E颓4ȫ_ FZ$YLuǰ=%<zS+*3 jF3C_p;q[}c׎Yzg<BsSfx}Czp(/ޞ?3ˆ",&,b,N|04_>Kz~0MO8#CH̆FGڱĐK.ʨgxag$@}-\دwegDUI%`aO7(Nr W0 i$(Lr^(M0ŽfurXU+7'E\$-'nQH#>x$e{7K,T&r%ݘ<&*'O I_t&OIӹ;C8b^Xh2Vm\>~ډo̳/s^سKcU_Fbmeݏ|L݉Cˈ56@^$gF*`f$aSޕ'>ئy: m~]|L\бK">*&¹rN"hMsD>7ϛ$ :Yl"c4.GydO"_ e:eZ`{L_Rb1]:amtZEE\a>N{"sރu"=u^n؃"dj0 FS"sb0]9qW{Ⱦ,$n2n}Eח?ezf>@5D SfߌaJqBTO|A}xvva_5g _'Yv5,\%a ڰA_)kq\NYRJ]AnOǕx^8SzJ]܎OLsjSpcyxRN܏7Es&4wФVWq'k<G'z'+eN/8>q⪔<& AÉR~\ pB6rn" pᴓNz>0)0ɼNO2oq`:9Gݒ =<$EɱIaNq/286s,a~J''ےp=zK.d(x>Aص8yZo4-^89$T^Y8''pu_;H|5c $Ŧ|$Q$s|'Wx;J%@;ig47FiTFs9 қpnrq7?Tb)r ?`SH㟒 x=Â0hű{NiV zZe9XDQ |5|)KɀZrJ\S/H M`X5 }qU\,-5|NaEH`f>gIf ߪ~>)>jPoJnTUKAzsP} ?$R.n5O .52K(\3V潯zl7VtaZzc[36g{طn*YuF23 LjMy5U0/tu<{?a1vBWd'xz~N؄s8($(3FfI֎j$؞ß\yl$) C=g@JuPN2x[`ɻN0lcS?e 2Z#$``?^`Z󈜨ʄ+a HN&o)9z |c3oJ@'5;j@bk0kDQs+'*#"]gάCY2y;F fy{?`9ez@iXpMoex񀱞0$WAH瑩`\@|q@t,ܛ r\ia 'ԍwO2&"q@507xVf` 1m=7IE+דv{ݴv4@w~SD带kW"͈]'d&=h /'}Oq¼O.ttnue0 '* E'p/3{w;@|޴MK-h o-Mx*޴7-Mx:Ɉd1dFۘ36ȳTrۀYpbM>tN+efшedsgřdbdgpN0E,לtO*YVŒrYLY,@!؊Z?)Ň;[Fv}+damcl̢*-0[r~`GҠt4C`CR=}+Jەf?>e6&-"=qe;P9G-|# nRb/=Uց+A`ަUQ=yP}Gyn˯"mhejwµЈ QqIL(Rf$*a6!olօq̳PjaBȾ#'~ D]?^y;љdmųY`d겅V)fo)@Ӫ}X6̺s<70 Ldb:,>k\Y楖7/mJJJ֗Iy2.hy+9 y!0:㰪yG0XUulUY\M[(Dζ9he7bVi]ԆSոCoU0}6ȣ8CfiK dVpk3 K6D>ڳkK0o튥m/.m[;ָ7vǭqk vȭ-rk$vɭm>QnC[^!׽/!ō"_Ip166ƨX6fƮvNcml{ޏg;Nॺwc58\CI !>|Roql$sqv_k<pcgDlbG9lNP$F 0\387ɂ|Pg\$3 ^r*43CE9Jĭ49^ kY-zJ8o6e9$++u>"G眄qYvpP9yb~%'01Z1Nˁ]!~S@vaWd 礨Ϻ'Oe\S}(#;͞1xN^$|hOPF8UY3zr"ώH\:),ʂF+t{A; 4;( Z{;ޖ.=bW]BRZʱ;R)Q)2]8Sƃ(ۉ;vYk]POJGKJ ;WRzljϡo[S7].*$Ul;"K5X>}vqBwa>&]sHtr*M)8vN:uQC׃xKʩdSޟ_:^Ͽ->BQ 1)DiG }ވY Өn|eY%_Ú2u]Y4f^We!-1(#ۑ:- -a~y! F"_KR,P?vTV毩ͭf,Vx+%.Nڐ_o[oT:RocP<{iBˊц7RqJ~`Wy 6Nz?>;uJ1I@V}3]C!KIg9N7#3`c<$m"Da9C )V6<^4vO*ϴr'nBG_߀y˅yʿ_Tz*aoV&r\Bp03x,W{lʉgҏǐ=@{r:z/ pg e a}ozd \ IO ׾?z?qa7=g=_dOL'Lb6ȑ6/S\ ?8`9"mJhOV~|bL7/} *~_eͯLx?o߮{zQ!U^{ j*gHWWյʭli[1aΏ3d3CqS(c| h%a_8O< T1ˡ~7.CD_wc\|bbB݅a&6b%S}y^o|^TNlԆt{pA{Is"{;p}sǭ2ۛ[ÿYOkmm[okiͿoo-C{;4XU>Ewx*aq_%Ezߢͽo :{zrz)}ݚᷦKs_y左[ZNM~k[֌5O[i;QxҐ-R;w.fryR)(Ljtl׍'A.Or~=ٟ3k6/𥿺޾5^eۣ5F&IsXޭq~HI(FeYeeV}(15knl_ Q骿~q#y:H=/bb+҃\yt '˦ǃWsy?aZ l"R:s麟5{{#Ow3sE ,UxeyoQQ#ʷ{e]zW&ߕwe^9W_xer+zr"LU2B IA|Y,f|" +%0W!M歐e2V?A0X: Q&S` Lq>HfOu=~=a'L̸ x@zND2(0rB,L %C22 v^?!Ze>ӬLԘJ`MZC7C|UaJ)l?5SAS@rre0&"l ǀXG (*]=Okp|o *%|O h@0(<%bO<cι;:޹{^?:Q1zd޹{h;'*=sG7wt_;zpG;/ ")n EawQx7EދBػ(nFxS^7() oÛH<)oœmx_~z6Ϸ8!3f\X1nu FfSD@W@'ĞN\XNdY1W+:^DG+⎾xEg\wtqGG;N9Ww`}{[o+mEo+m>طmVxb4g6^]mx_ox >^i>7);m^<ہ"?,h[#@sUyJ1kQ@1ǪK(TI-̦EK]\Mוsr(JHֵw\$*Z2e|k,%,3ԍu:'I>B|0VD]P/efy拥}.{Tn a//Dn4D[#q{|3g B0w1=ٸzڸ*VH9yheKtĜ< Tkyf ^+$Hi֥9wX-Zr_(>sS,@xvVh/_5qY>{1e`"3|PIśmiw1O/$۝kzq ?1 z3{>9 dQ JnEgAcd.C\, qӠm<+O4i(n0kd gZiZZ6&{,ך\"fa;Wtt| !ZMxW^iC񈎃ǛbMrv3}w| gWx;>x/w}{x+||G'G[lڰ'_cU]p-w}[}7%x ~\"%Px^↗%x&^o]k/Ǘ-yH%OyWҖ%yf^%}Fi,B4+v1LPf)-%ʞ*:gAtFu(yYhJeRE.]*+fj -Tj:,v&} p: I}eolz5|):ŗ!|yb>SDs_p:°'9bdY+}4V0&JMsDlMyF b>YO?̭[(nblYuMb̔BSFL~_C({vzuu13a^ncP7/&h<Xz.-AL ? w8\ 6IOX O ê'mMYlͳ䖶AKϮy*bNT_3<j ߴa(/|}2z/6@7JpZ<<݆.e(2C$ =U76 Etc V}hY=e@P\6 WnW@ܳryTtWsbCS@Ryh0)w4 3QKƧGǀ$@`R! bEbYs07OIݓ5.$"QIVnEr$0IN"qeÝ{aTɀ]x7."wr"1#- Wd"n0X<2 vˉG~WM%d]$7=OsvJng8Q{}fXd>+ z eilE]MaN3BE|y@c Yg a}ˮ-UjB *HPWҁQ:$O:F9׮׽8g8#"(Indld:go.)2KA2ˇĪ>p7qrPC+ 'Wmsfmmm5R(wr~hnl\]mV,wbsL\wOFëtqy'8'K7j5vbd;u0n=dn栥b\ [L}89 Mq;kzMw.՘;ZZc:opnycc*{[ d1/V8ŧk>?Nr k{$)P)k, &h@w0*,;&䆭+yтI2l &xmG8 ah "M<_wVAyzCu sd:k)Wj10|yr((N¥OsO3lzp@^O,Ȫ[DG)עCTvЂ!.%+0~hv*U__$D"fG fca'voN4NN4YYY%NEVIInv0Dj+,%e! Y';dé8VU:?YMe\P0ڕALpH7 //P/j|Eu=9uM{(ܒq Znק}qww h7 $4l'9uEz_0# 1 K.LX[ V $ *g0 J]0,A)3 SL0*Fu<RT5yk zESdyMj^EZVה eayה!翥a X$W#g`41tcMib dG`mx 7֔&u~N<*ĝ#դ)=¾UH'k ukkoK}+(v >xoc`6-MR;1dG'iv-`7lT#0 b!\6s3:8h#u&p')gl$-lB^GUipZ f%8h/Kk"%`XPIoIeV6Y"YX0 Iid)m$ny92Z*aP4$hcU5GI7,OۥeYQ.R9QԶ(.avnzEt,L}[u]>YV<M7čdyQz'銯|ʰ 8#('rMk`Uc1 OiXD5Jm >|䕉ЕJUcf{L՘<7M3ް X#fH/?p֙=>㰒_3 O"OKv,!@F<{05Cr `TN|+_9C"+,eK>GF/ZʮJ 7J3vE~d/&.n(LߘЫ8k}_}_gF/|ڞ]  ѸB{rLG6K{7Cq|ud^y~@Am}pŬd<6e3l-Z3*d=@F(5Zf\G=-P=&3z(n֣sB9xp[#H{R 7GS0yް81`:0۹Gw}/1^8nW0~.oV_:2/=]˗̉e|ɤMFǞgJ}1MŜL%T?>笘/+mrσD5JTINeTqq.5쎰.VE"KTͨ]T*L͘T^cA9gs=g͂hLQӜwozXEZT(X0^P!)fp=<6GTz$wvVO }XjC|+χP@OPnԁt$"< 5_ wQ5L>L#4(`#-H@K"7SU`l'&*<8h a ti(&LseumUѼo{U5D@4*,"0AGՔWPR~iAK(hwT۞/.~HT7/P):O˫e-VH`y+u]yUyM)?bk0 OFodFHo#ǩSet8lR%QV6vz^ l+kAbdV NZ5w~KdM5~ ; )#dasmܸkJrI7vb" xcq@X%Gjsޙ4lpi4{%UlwMwhygt"_sD@<2SS"anOσx>GϮmŭ2!_ śiXoIo|><}z (_Lz'[;Mv v˨-9R۹(m/{ ;*/+m(.XI>B ᖏ XΊ!Go (#oߋ/D+)i ҥRJr qt:'m3*W VFp 5}^y//xy^gQh_޼Lov`2OOeS+,ǫ߰y4Ϯ<;gong8YWls:ZN;u܊:_mM=0UA ^^ ^uTJ "/|xMZnXCJnZ|/M yVOƧ8]]n:5u}3yd{JoۧA.oUAFrY-Uc vo5QEE hzP9*a.+ǎho0=Z z83"g!i삋#0jMjq~ T& nxR$E{Uvfuf{ѰyGB}^!uTx3QU7oY]_bDC_rb4+'%iRQjFQi'nLShf](>$o>܉Y"!F8;#чE>x3"I>ϸ3226~gעoQ\! 3\U\,>G]l{kZ,} Uvz/b*KǢ'Y^Mk N 7kXW5բG-^I%T g65 q p x&mOo= Wf(+۰VUAC:x7+7|+[SaYg|`L^Ox`=D| ̈́W=mU.hn ] ]d!-)e3C>Ūޑ. ewy]zew푎E þ_WqK ݰ_6uxl;ϊr溌*!pkYWbISW#U7}) CL 坥3wXY;syg/ z_L3;`$ 0 a.2H{)ڼ"+")NE2e3OjLkEn瞆ywdT*zԗ ͂F'im\sߎ8{YژzOFF-FXdCB$N~D <#;};GHWD>GV|Npj=~T)S( Z~ƃN[d55ly;xwswA>B4_̅I/lœ6iSg۩tNin]c~z+|Ū_> cXzkon\L6;"ᥞmY_3dY-YLwqabUmG 2 j0nCY{7F\6 u h'[ݹw9hT5\C0M۝:{K)Xo&>ƺ3zl-./ lTR7D7s6um0~v@@:Bk^Zm׽jŎqe+(x 's3Ո7ٱt@ao!@x#,+)bsWt\~?/ss74] ;Ovdyg#kE7\,.KϢʲp,>᳀,!g_AϿyn@?(dhT.N6O"ڝgk^z .\+L\.uKf!qJ$lh9>#w<_S:~w}>>ysŸ#?csOǰ4It5Y[~k^/^һzzK ;S5|`+p8ָCv>؇&嗓D䝌NJ%;9m'($ىj;Yy',ى;yX6 FsUH:_ڝp-w7R;rʰgRv.cC}(;]큵$AGa:x .$F\'tSo*~b=C5Yog}Ԁ6kঅ+.~> nXY"Xv{4JYn]^NOOӗn^/~ɃeŹyr(_:Ll f loAF } T|2@G%} +b@M=} Xx2HhKxKD%f$$;hIj+o-G>;QgUn<\"Y 4,VVn蝒-gyf!$LrTGWqyבy:6ttNu|/z"7X\ 'ny7ވlܸo^bu5q _Îxjb_ ,Om5 wg1\lA"9= 8wl䎫b2wXNgxtC1rd2 JzUWݪ2J{^;8:x:g޸oqƽ9қ+9ӛ;9ԛK9P5W˲ 1(EUuTBO9dW|>ϗ)|>+_9t<'ţyc7j<_u+#K/af YǾj09:W9 8fpn\]ysvṘj󪬎Wqm~ tW8 }@S]lo\wksn0-t~ϓpt^\5l0V\'%z'U=;|zz J eBX5` ˝ pEXvvNѩ 棟_1W}E`9|.ݲ?/c-w_lK Atm|Bh  H`TA 5 2>0bW*AjxZӱz)siNS}܊唓%"Xn"UugY{k:٢;MV.ZwUk;gV=RYy 07ne5p2n42yQO-3Ec^nH裧AUɳ.yV&YN'8G83H<+oOvKߎ7nMѻ1z#wN;!޺yr낼Ta S|`5T;Շc}+ևߺ\ _1;ݻ^;z>zdU#wӦ]Fdƒ}/gxRęgqvv(|u;pwGK0H(Mh:'D @fͥ_¾2e_YWAbIH_M䧸u`~M¸=?=u x;yx'$r"qN& vRdXyOV#y-^if_;ݩCйw~05^dj}f2րxJP[j8UM|2i= $`$˃9@Oٿ{`FСz>Kn2'X8/I|;ɑOC~ ۡx>TχP? COwt;;D{Dv?+KXב%q*`P5fe`e2?sgx_Fex50&scRFW[idt3?]m%ze&+2XvCN5OQ+Yd@j 3 413ƈ>:dOԡ^rsyq:$4D_k~g?KϽ^{/ƌn} )5c6F`[{<wS|pvm2tJAk>yCs8K_'O)Z5~/{ս[. :˽/^Vpw }[]Zw+ 0oh`;+\3cYfΦ-"~Ӡ$W U`U2W 5#a&{e;ݻ 837\ƈ4d\[ގG?/ս}yFw9\myWJ]mnW5w/]^.}͋^8D(@2;J⓳-.OCr|_=cr`=5 ??Z>O 5@}>t>5M!$)2_;Oyb4ןr@6[8̟v^Dw*K<и+FL9,E gTr]0v=O4C]]2a)V %xL(H|&;ׂIZ5 80PZE*2\(LECo cA/} ̊1fX4"m0\0 >Kc fH4m=a"I[[,۞ Aw( A異 _ .erЪqAp G9he0^V87nr'lQP! 2xWr_"OwQQSw݆R%t1nۗ&Tܿ42B` I+ K}S}$M\PYUi .$MD 9-lRUTP&ː$Q˻CqGđ "#KR³8B gqθ8S7hodu;M 55"?a=k6QC~A+$_~Íx ӺƯ{u^~]uo}[n__Wݾ׾}on?w`|:NErǘ;Z|.@sZ3 |!u,9 O >s'~B~ѳtҴa>W>&+DW/ו5]JfZ;e ( ީ0SZ^r/y&]o-tTy7!c^[' []Y0͒eE-HDۥvݰѐ. )jق$={ ɴ~B<,6U(96+3p8>vhI">cDG, >;'K(YoGy>kdh,\UtCV.bI1_( Go vhayA9Cb_JV9ԋp6? Ⱥ>v^`UҵtJ| S>>_`"j#LU s~|?\QsڣMu{ۺg3*_͢(ɧ]|O u3 (N Y C3'*eP$r" 'RT0nN*xT!7؊Aݠ*Y]PH!QbM.%R ,XwYL!.,7~}*/? cD"2**CHC%C!$]@ tTG/*ݸc#8/F*V ^˂qԌfS<4 ]QgnVH$A݈,n2l*E<_$ j~>T{P SSdNSPKu%\pXҼU]Axn{T]N>{L׺ςH#uXTAY伮c}Ei--hF_/ԻzP%UzR/3c@&>\ &ұf Cab6'R!0(WڳX'% 7E wi ,WU߰eUWI,2:-,]m4I*^3 MȲџ0 5s_L~:8L冴= \J!T ;'R+tr?aUYN8巰Yf9@;o9@j@VpRWβ92zu%My aנΜe35t`K!JWe71*C|E/\0%輂I`y3#ɒJb3]UI󮄴YHsWR.BCl[Ķ+N"[qj."5= {n7Zg3xB cĂC fN 5-r+܊( 3Pؓs@;]3 疪҂EuF>%G5YÂí]`"톘9=1Pkgje72K3"aEl h0HcFXnȪľRs6#[aE4g3 VΜY)|N&ml,]]t+0X&aȚWj`o 6T.xF[`Ov{/o ֯:τϯ+Pg8=U7 j5?cTmgZ 00sa-gZ.LjAkf.A~U6gc|ʣ=ҁmv}֡'NK|ܮZup_)}Ʃñ`J\*%;֐Kxܑ\\(ӇUme2-AG_tU}!2EDj1Rs ԥU}:A?ah~+AՂ,S2$RY}[!."}qQi\pmnz\hM_,XT_$:\ Qd{ ]ҲVY!Uٯ%ɉT I6-m'.l{]N=([?pєR"Jr@>\Ԭor^DGFqlK?IWLRx׈Lұ;ϡFuǩrYd@ww yXǖFhLV_1z B+!Pt&E}^p// *2~eb!2 A*bo!AM> EkifRT$Ȫ_JroA q.L]jR -XfUˆ5U S;YUHfIUaO[Brmm "(Rʒ#u2knG0ں"WN'~dXUyX!xXPTIjD"J6|5r\aA 7tL*EUE-FţޏTԹ!m@k@en#1Lfuv_gv6ۢ޼ѷ[琻k|$n vM?79_Snڿŵd܂z-7Ru -s -@|to\n[syon[Qmmw[ס掼x0uG;1qw;D 'x8%\"x8%'JK sB-9ϋN8|NN'DV':qi'f;!܉Nw-8kt+s]E]^ .h.wy1t]9݅]We꺋uMv]]]Z) J).uSVTN ĩP~q;NB/ѥPr&9&r>`򂅺yel್ʊE옅"RbInJ׆Qh,b8>L EW(3*/h\RAlka1 ek!^PtA E1[n_YԽE`EjȔBa1;a Lx67Fm+ϦZQMTHBw_Z`.L b *hLgiKRa!|dty ]ճl `_;egֹ w8ؒ٪(; PxwS+ u?.{Fԅhv1~)D<,E{^w $/[2/nuV>M| FymBP SSQslO;E]Hl*( @x6-uhNV#UXcn7EF Q%0HI2 cnh ~_E6d(_\p ?\p \pJ`*k{,-^B,qA#/*`U4(#(ɅޛM()/tĩhWu֭d("rskNB:EtUjgeU8{{-T eco+`P&V yc1]$F5KE&B_ɞs%"*9eY#N-Z(5HUu&]]Y&1v1ȎmHFpw M~^Pk\\Nl.r1pw Z./J jiNV&z6}0`7;]PNL,PU jxE*57hZ E5M>a8g|@Lߴ#qڍ'AFVNG,q+tUsza}f,+^'x^"σ..k/+[џ0tgHbXʜ`232afU na|+/~X CO޸&:cAҞ`V50y[,8ѭDXfX,Glr& &>ok0EQh`Ͳ.h/*9BnҲ,I f]M?- YI,<6|`I7dp&ڮfl(U#+[E7!kcE6ܝc0( Bg.lpBz4n Igzdg䊐c^'p3' \.Y~YzC.yx mJ^})gᤘ%jnfysUaꬹJ`T58{BLٌ!b<@[ #7dނ, tatM$Ffa7cÕ%l,n3p >;+2IcH |FFߎf3Y!FoE/nJXhqō2([Cv$A|BaoyBL(MmO,κXvOfPlXp$W~.&=9t8r#B *MtJSsݔ.08w9V&8ZIl~*۩9rcd@5*Sp0 R٪&57( Wt_;υ|X Ωl4Ҕ'SR_w瀠* yU}Vrʺi *+Z_5S3}v_I{x` Im*- D٠Li `jF7E6= CӦhك.$r@{*dy~My@VU)3I.rbu]A%jPJ&mU"R p=(.5h< GD}xAQn}hF4)Uن U%O[J&;˚4r\'TtҲ<`W;R D|oQ7XoE;>%rr Y݁GWQk6c*_17iz_LD?iXwǶs_$6Er%(Tb+&HUv'iUbUI\ƔK#'a逤+Yx}tRVs.A ~mp˕eVeuj Gl&hui\$2ur]M,p J'T_dP̱^ZF{qH .bm;(F[՝KR YUkC3QM^9sڞEXe8Ey;(Hl:l]br`/0)v19>2Vًͱ]ja9v6bvsosr/qսϝcsyA9=w19^?8cObt\/‹б:CO<⛙mt/GyE:6פct<|1`:~LǞyqk:/c8=H_F*!O > h[Q0'?_}2\_##؁ǑCNFJć)%0mN#ƥGJ* q0Z)#-95`A`$`͌ N>QQ"EbqSY/$xLD|r,W'ͣ5nhjlt.Wdܹ,xy.˯|.swes9_|.+OUSީ}*D*ѧRS-.f+q,b1I33/VfKM2ifHFxHq̚Hz"0{Ig,|  0r Qd?+9e ;1}f'rO<R {g%OS>eRާw)})}۱拋x^w8O4]DAuP0ڗ0h$dd4^+Gt]FD1gT|e\t}WFGg#}F~- άoe拙pˌگ 'fLT2Q;1b :7Q ?¦XHGV噈 *Qta\.#{>1!H p\^rQ{n<ҍU.ү t4n\|r-`6!r5q8umAbgcc\yuf:i%|Dtl(nh6^.fӕD:pv= yv{О .,VÅ=P,$I,;DNr?W"Q[2I4tb+zy!5hBFL% i˙k3 |~b 5o$.8w<_HJ qFky#Fʥ73}taXk32q~Z s+rLBkfIfw`Z{P>ߖy[ ,u^C{%T8uZ0A>Tp˫fI._#7ZyaO0 Y뼟2e1x,m5Gdݪj,qWUi"t9Ԃ0*WWxU ad[cZ^D3¾P!P-)TO/aCwAʪZpHU (7(1 vY `(Y½ jU |k4ç, A΃v9nθ_JMVP6am's&p2Hqi䱘+ij3Tש~aޖuH03݅Wx ~wW ݻ|`G" h8Gn<1MIEp582T4D⢘p/z O^qS[8 GH3'ptpD$~F!F''K=q(2"Tqt+/2O\͋#q1@8GMknZGz(qad;7'i|ɏrA>ȑ C9R#Oyi%dJj14MQ<9(Gɣnj)Gp3N #l8 pxCHA=!od c?\D(GV)|//Ӝ աn bK? EHf"cl8oX(fv~WNid  ǧ.<EN,Dn,:D_JbO5JJflpcNgdI].RJ3a^gꭟHu(NSrMQŢ,jHİ4^f<9FMΜOqg8N%Kaq@E IDJr&RT=-,J&=XA>u^_Gy7syt-HUݤL`yf\xP.hzXnJyd |b'oqBBc=u ,:rNy=l{`DN3>cR+LIRJ<>XjeR}FA!pRFzINuRKFv%_;/O\ wq7wo9oH]ua |s@~ ̛ ΅"1ז" 3mH.-,ٴPXD\"(5ĆsTHeXQMw"tC kֺwt9G^='D(L%)ykڟmb9 Qgf"묡 (3[`oi(5m[㋑Μ3'3E"L%,S2/g=4L[`J+a>a`INVnma-񅀾-ou]Ifr b Kꍓ0i*͉Yر8-T/d*Lw\1&jerW+pWyfTʼ.&1F*eYI1ouc4EsS]w`8!k*+dBT0mX%9L^:`>ҚyL),-Cb'1G=!^U7 Q{^<V8~Er8VpLF:U1JyU"3Jck&eX߯4<ȊL W%O0/+MpVI{8B*x"*v{&8g~9ĢJ5UP + ##!\{ۣSѣȶ0߿Ib#s!VpdF歮;V>4w{, s<'ޯG:G@{tsd' )yRb%\Qr bƃP/8=#;a\nll2ۿ"G7NV+|_/B2p˂tC\m*0why<_Q]ޔ{~~v/GumY12단/zLx/Luu߁5:j= 2iÉA0/4Ϩ?ua1cXdBT aE˭`k֟>%zq(όxqw}vc9t2ip?䰍'~#tסpY>k !Ƕ/q?/pe[dgn|CJoyGljuf{7)fI9{Talj4ǻh>o8m>tpOǹA9>as{ᶟx'8ʇRX.,D NqRV+ȗ+8_\8I]?q"DG3vpǽ }?{{=(%+ͷ<Nb)3,6![AxHnsnAgJU=\7@Jm½QժrN8 Qs LC^d?U&>-:gLU񔚃µL9v_50p=k~u!k:G!kBLYh+fw)Ъٌ$Ͱ UjYf|bK3넘|8NMztW&?;]]Bt SS.A=i,0\[wncAݜak{=y%wi'\a'yѪD\M;gАdJlAU6P lڔ{,sJYiaᕜdz\a7CtHLŮ5IV%ӃWq?FNb!&rtUn>*$Ffik־J-XW"uLQt]^G8TZ%׻iߠB(e v<\vĸ*:I._T䷝yYd Љ$ɈH_/J dfɵpL +[ӎ<0 l9Ua{R6R9R@,k10&EifiIm꫼}(Y d,r;>6/F蛄 t]%*D[?n47h>cHMЮR6wF@B`)Ȳ:{v@w*3r¦]۵K6賾fU$NN3P!L* d5WTYJabIgiu29 4||* [cL*MLT3(5oRI`4Ë#H`_$o.mW{A^wsF$F[C_kan@>r/tiJ 5h|ClM:Ȟ^zxSKUF?,J069 L;ޡkT@*5^ՓcQڬ[DC7"c7("Fw^K #H2B+OPȪ\ ep5\+/2~\@\KeqyH\e8qO\v;wˬλreeq9[^]\ cy>̜Yh\3o~r9w^uɡrJZ#uɸcůd\S>,~& y$p-#eͲfe`@-7 ff/ҌVe֓I39QOS!Qڑ ),[,wZ04̧s td.YKe!ّ'I;Slmwv7J3Yvb wsr,Xˋ0nʸ9ܠ +7(2 s:,#|XW`)iҢ($bH hI V . W`/K) Mm佥2,T_ԧ1mz: -)w;h}<:,lX `Y/;oE+t /kgr"p@c:*dY[FO<5%/ _~-AN艌P(_(#P5=IzUê.Q4lr=-qEoyߌ')=d8ջhƁxH~x߃7넎S/n[{0KNDP_ _;;xp~-בd$v,6.܏׌=uw$?U߯xaԧik|hYêr;qƉݫ}0|Ϻ L*}׶mso7uo;}n>}-7.}yKT$K"K|D%ƷD%["h%b/1{K^"[Q|q7c7oDnLFo\>w}>qoG|>ϗ|>_}w>yoG|ݣ=F#op~#k/q}I;6 eF|A-*/ĤJ6@gL2PM oxy! o&!n:%bzMI{P>5$Vzdv*ز$ў/hyLWE﫚ӄiߓ{wrW+K>>9O+ >9H}UqTڍUŵ\ߕOifcys9 +t]D9#Džt3%9%%{"n~-07<loy^Fȵ:'l"5*"w&䒪[Eϕ%>u¶?*}Fֹ( ,1 Q^~:|_$UE1G sЦ6K_2XΨߣ8Cӹot}I |Pf2Zc#G9;CS;"vrC,Ѓ>qrӄu!t\6aP+/\QNG9^rWho=xPy?MiPX(och!qmDMQ,51(7rn"hPּ3fvdY3"DSְ-Uor|p/A$vu2morV^Tiw FUڡɸnMPR'׼zԿ~CIqxSPU@y!G FE<]æ촕^a-+rauWQ,sʡ-+zDiEej fPX?۔2 V!gNo}0"njEx.jD CD5J*Կׁ7;j@PN xivLҴ1; ?H< ߫נ?/yuC5 !=8‚oT5[}ӾT-kK݇W Wi@i"JOU9o6KaFR4mnF@UIޫb p]p8炅PM:$=("hF#$id0]U(e̡+rX .xV~ɬ;l*i!@&GVmi`C*c+EBo-ƣuט#]p}#`Ux1KY.ŹC8@)-(( n)=_yE^ޑ,yMn +bRyxVapy]aX;N_}D/чb)?LKg$  7ވ'\ ũK|1Dh,X<"(1*sKنT +q) ϸ5b!x(?B.!F"8yP~QZ!^eyH[^J塃ybn*h楡yHjn 楿yqn꜇XyIyʞЦ z/ECo=HqC.lvl?GuP 1$VypeW8sM50xSQDTnmĢkL7 \ZU Y[wcΐT[0jL2QJH`_ lr_.ˮl6Kz=N,.Qgq ]ZPmKnݽZGr" ٞ\vc;j{4X+$ltC̣6mj"{ ` 0j{[fCdr nz@DvNOa쑫* *4BT¤a=ZN){e¢g]$w|u2&+7M^i7Df"seE'F?OhFܠ"@a`d3A2]{y!74?;"7TK'1h5ʓ4):63'\(: !"j ۱C޽NA~gΆxSiΗe*\ur6?3r28q (fB/J+ؠ ;QG\땫WP4hJyj u B7EDvsd%03wSH@&>Sï*B 3GN *;G)z@[TVJsl.R\ ze[48K]TwʉQ^3oS#|w/ Jeqb?T:7fNAA&8N8k3=䯡JW*HQ $GFuzvf嵫tư9(!tNg(d7~ #̳(3&E3tLu$FTX(a͙\p>!oA :z`[+UCV֫bbAL7uYpJG0׿,J̓/K <s3y;VMrт][0ZN,RtpT5SO̝k8vwZ 'i^$͖x3UNSwBT(dŰa90!%/[xQzU66Ȅ3/+X)29:f;mpccDѮ#޸j?I*x7#*9nHԛ%$d <[ĽϤB \1lGCùֹwcv`jqgp)jX'} [qT9^~vkmowϽuwoxѱح&Yl'֜IG29{X8q}k91_ F z_+]4t㉛Ivn;VfZt{c ~lŏ%3=G/5|tv9 'tz=>FҏR.ߦϧ/z|~=[z<?K!{=n;]{<+{<~NoW{/Gǃ/*~.cx=n_S$-{;LKn8O*^ͦQVSiܷjiǻy ׶)ky%#LGE %Z]({o%gAy fs` OYh!OglNE^pޥ{s/4׮ry<%weǣ y%?ʔKBW<xbr)LVpIu~e+aۢ  l$켵{|qr*\E\j.־qN -PxVhqnHށ8.#-Rxn~”/ŹC׸_oܱ<Z.|_VͰ}ߦW?Ҽv|wTϊ%]].D=(˗~~5GR}^=EpOv.Ӎp}흸ǻzpύs]fpt`'.e7=}?^Y.!|~xv>/C=1@H7[ʭ,yʾ >rdkq|`Oc9K>؟Ow{>%{~x2=x ? yO*߳ϟ8x9~>5Sb>^xxx5?22mR||=?O i[>ٌ-?5@^?|WFya?/Cb{E?>|ˋKRj=OÞ~P~ ~Z}a{0V3&k/~1Y՟k5|߁:_$wgT.˃~1}%и|*pG~8c$GV;trǺ<[h[B.+~_pojBv?n4.Wx>\~reo>?*}~+i,v^X_r%$g}7}O5ҵ?3o"M^uR2E[dz}M'NBcwY1K>rc}R}sF嬒U$NO6{F p++Hy6Lgh|M.3.l/ph(ֺ%:GH/Oޅ?<GIc~n7|;r=MrljC?-%+I#>y}9=_loppW4 he6gJ"KF~~ h'<}bEaS\GG(~gøL=kj<ה{"î:hU\E®o517֕+ͥ\[o.7Wם 5v"{s\g\iw.7o.7Wە \ro'\|:'yq;7>Ώs\:_Ι:8Σs|z9έq~=c??-Dw8d2 DX- ʼJ㿰iЋpci]qvBh#YF烣N M#nUZH ȁiaoRK&sG͖o:{u4 ȁ'-t$Ʋ" ]b30??~0 n1[ZP-쯘-Ţ82o(FF4M& S!sym,YLbiվe0FA &nZ~^?0;`w$R1O B6AU"%h"tOȶOVu"%j‰'Q?J>8|e'@_&o4mоhW1%~€g;TinhQUUh7TnD 'ܙ+.gs Ǿ%zs@-Yxm%ыh/+pt>i+2tD8]Zw3c6F[.l7/..Sak?7Fg1 oeqD,qzcU'y~:nfU .Qn7{ˍg>[6D9zxgUSv1+H @6 OHԀx ~o6 QQ} 0`Rii0UYl4ĉs8)l7jy~ZB'sM9iA<\ϴxeGN0G#W ڿiZ7^NywLBs4Z̢NX/I,hYS,jE+˫$.l8q)]JrGR|e0J*~˹2i|>ߙ-4+#YaݷAǀY\C(T}<#c,)$\-m{%{?R}nchV1&yo41laELsHkHY|#VGԑb 1B-I2gڞP5;ŢAI>DP}(#(vvq9=.h1rOGAHźf-Oն˥}(\}oa,C0A0MԩUToBxk`NGy Et9)%'}h@cwfviU3YeC\"6 e{PQa5.O>vlVo=MY u2&p CEPݝ m]$db %})}+[~Y gNuͥT!păJĩ͍xyZWm= B}w]N;޻bAwuyH]Ҁ[F%{HvzsP)ap0];)~n [F=_ڇߐA-QqVt19\t/ VZF 4%v0UD?^A?Cm!D:c$0,A2^\Cd{ ^w M(~784fbSV i|Ѧ׈"\+`QilNhoT{8aA CrAz^jy~ob n8{?V ↥-ZpWC}ڧ a9S}F@PVF^o 9qXiEL}_(NV'F )Xm`9*f1fXgR4O_CB׽?0RαLSD)_4)72ZmLt rf,׉4L7NTFۊ{ءivo3 +erel ) t94d'@#ڻ<CK-d"phڰu5Vޡ͖yD)t}J6ݻ E KDJL6QWl&ZJU:b ͜ }7ax_پ;` [R` -hp3:í(Eq* LGm.2C &G±_(C{^*ߖpF6df]I2tnȏne6X!)t }8q4#ܜIz3oooY3x1M%H̐"ghca98ʓ(F(O,/C&91Me;=ramJ,DY_m}2_[Ww _EfE s D F.^*5?wqU_GEݩ(lu2W h\xb S- 6VW2 %.r2{rGزW}W`{>"O$dW ح]ӪcpLUƄ ݳvo?;zx}}*ݳ)amꍫg)A4@Y<52[Lc?5̇zcOsIt{ eNw c\|m Gx EA%z<[&zbW-o$%>sD6Q/+v!_ouH~_u~__!uu~oh ڋ}F ] MZvBbQ>ey?o,ĸ/ekGMr͸h!(bW˅q]\;F j1t2.N ^K`ݿVBkAJ~|H] A"~/8lϒd{B{φrp=nキc׷gygPV+4㍗p$^E9 3~c:@ >qC[ m$k__'N&Ir~r Nlj_%[pctO,&[ ^=ny)s[OE֗ 7Z3׫g9(aMCen_[z^5O ݁ƒVl^ q;q^ prMŨ0REA~&W'5Is@/;5_oBoy혿J0IIIi#Nj5۾y_$Hroo8âp^ ,Yeࡱœ-–QIO-/-j6ϩ]M_::Cʶ:5~oWL̖0VռTw`n|XElolO~ZV b+5{C" 8G~M4Y#!}ئZ6]]t;x`BÖ>>P%D,w/#)j{q;^%lc*xtY`7 "no~9y~8>чǗч-]OvX:ʷ1}Ƈqs~Ɂ]HB H'z`Č]~Ԟ<0=KqY_'ߥN+e|_HÝ;Ppe輸9uKxkZ,*M^M[&EW_²%8|/linMz"{OLMaVuo9t923].nUzsj~e~92wlB؏ߺ!|oI/6Opf{$HhmLīZv2KUې0z^~&=4*{'^Tl1r$],wIݨ`TԺn-a%Yoj<'3f>Q)fZ ZH@7u9tWχ'p< sgq +wʇp>ˋ}x\ 2ƽpQy$aWy ӠO"w{rn*L1asE'1=F7pwGv>ph4p2vHt1:nT6"Cx3GOZoґFLTdH3]^ѨbiXp,hV v86* mmБoh(\ai4ux`c. aA#p~ b/uQ ^gq5Ml8A1zqk_~z"c끳.li?|>Ko~6YNhF 1AG& d'agyhtr;2zgr~u967>ˑuL~_1q~_quq~/_&e2_&)}*@WkRj."GsY/rR(71 1f'gs˓㱦gP! X _g=b{[LBrP`bnTS}mQl^ cǂ:ʕ1[Czf=a>KQ1r[ɴcę퍺[8C:'/Pp&0<7|<_ Y'܌uKK op}rm:ZZ,윓lYjjYjX]xSd4jY.^Yi6^\ҮgZyk%煿dhgy^{yg쇇){y^IQ{y^qy[߫,";d"Ytw)c xЋ[i&<.+N5?V /ˉ}WD/iOrwDT$9M5i9Af֥5L /)yFTw3 pNyY;y Gyp*=1 JmcgMmyK"qxc}a㧧Zޗhm><~o^LUMpaԘ훗EMg:aGGx'3 .x0'W0=sunq w~1,M끋oܿ Q~Qn4>^].x5kE9OKzω(F>'E^GIIMl%:մ=5vp+,|LW{^614=|m(Rw5>Ţ[4}&]6^/&d!ͤyU;Ť{Z.+U 3Mycr/9X#K2lѿ"iµ g_tx1.9ű,L>\ O282-R->8ܿO{g`:p3^'8\`J`LGl[1T'^;3$>1Ƥl+k?k~t~߹%6/XϷaюUÖ,lW'R֠ qrנ'3s~ ui͹րrUθ~uks yDžU+^՞ K>pws,.p(+2RSdn%R!SEZBa#,t r.ŶO칦ᅔ^j`* .( 0YaѹP)Oyut'o>谭a]Z* `?*j9*"P,"(+Ce6/岵F&7 r- GS0+Rn{N]&`scc 1fkz T1n=0c6j1=ce{ W 8ۂ]A2B4D@lT1`o$/Q. fdV AVC7|+K#\u:N?a#an\7yFM/oX3T!.LC{7`?]0|I~YULc(AXɆ0>."Ό9(N^ji~W7Ix@wy5\ 7OCKU[TS8-oM7x]SrB.xp]).YCRWigk{&ip|X.gKJQa,( K,R\h^rԱ˸\34.d~q9KFS+7^˿HsQڕݟrK2WBs&;5_>\oh;]G& t _ezqr989>$"5Ve0z>՟}/EIړ}D,zR7nr7`=Y+()S}\"d0ŒpzIGuqvI-ld$r!$3F-ƪBLqtsM7XɖqqQ_Y䯸Y&3=̧YlpdSJiO"9$EKSOglH2钮/lc$f~oI=?NPC;'P{C)3ܭrzlk?"w޸V‘tHJ˖dt'N!u~O IH&(5Fv5CZ|&,_/;Q[ Y!K2dߤ{8]䱲='1x<ɊLOF+)RJyr$}'EiA }Y2שּcOz7{=~?CQ6 [&pTCrk<4`9})ms>Ab*iB*ƒ0Θ=+WXprj&'E{|ߴxw='2SmWw.[~ }T̊&o~(=髤>) ȣn]>T?v}Z{%$O]σK7+:@`vuN5+ Zؒu[:#+w̤ MZN8`_IMNoaK}0󍻕7jQ39Mn䎓d'-ה0{bjSUmv6ޓŸP(7T2nꯥ'7&/UF=tkLۢ7D?#/N0/[|޼LeyҍSS#h>#NUnޓr~֢d!˭1k^>O6?αVhn6W}AKq`[FdFd;9j?vu~'L|~pGtEEx-qбy}ܸJY& lt~GP+JwQȞuiZp{; ?Yழ6M+vMK}~Zbijio77-6M+oZo7-6M]ӲiӺiߴFYMXƃUlۯ$up/%Ղ%T cUԳ8J`"&P> i8 M۞amfz ğ|֤DcNR(vyIgğZ)|}ů8ڳU&WG u9W)A+uWC|&Ix"[f?Y..($%$usu,O}]tUU#X:)C;'xt.Ϫ?^Vy~iLKGdbSqۍ#ZNnOu+vwʎ8;d7ءsM_KT:$8T4Y$!F<$%[7%a|EWk謴;}$o^m|D7m#j~6?֓1Eҝ6>kR)v!0*ENc&\#Q:ܿ_IWD E'J$dTQuvBҮ@IL)_B{o[CEO_ȮDxNC/)Ed&t<4$K: î߅|]߳0Zf%t :z|};V}_$l5%h<ڵ>u| ߯%Gw%$Y}p/t߷A>Ktámy((F]vo6{9?Ğdޗn7OX 'j|^]>| q̷5s?pq}ϛa?o}T`X:7& ~~uDt/xaBWÒa>3!-֔y%Y60wA.OV;%U&L#[wguw҉EAEݷ2YZ@ъ<|+4-RS:jj<&Wzj(Om*'|ѧ}_4֗G!}}L_Gaq}}`ׇ}}p_ۇ~}U?-NJ!6-'Y,Q vM0 Ӈ,3} |OI5=|zO}ى{w7k||_ ֟ny>7v}}1Xd s/eivF}&<(>o=y,|a|4̑MAyJsRC$SVWb&me=̉1kIt&[xn쥨{t5,<VK/A-zLq?}{c,ȧΌsGy8/HY/>~>Y{^|p?k<_pz{O־'/k'8f0}mCz>?Zp Q)wͲXGPrӒnBT'_ݸ\~ 7. p`>Qv,LD~7+ncS#Ƨke؏#=Wp߁͗Azg鱖#*[1"#%b_K?AG}=wbǴ1|~>2ډ~]h='j[] 1q'wk?1l߲aUn'!/?)}9?4w7Ǜx/'~9_9_c993x`/UgxH @޸s 4פ=UԔ4_Uiۛ4n!4E4C`1Op7 !y1HQzb7ꍑzc7zc;K cƠ1j?1lOO #=1|o#1O 01o #CX1oĀ1o cƠ%Fa}b\7F}cl7F7}cb7A~c7c#`4_# 70UfKa;'/NxNnyCR6'\7'7~ӆi޴coZ7mOZ'ٛNdUɹdd{=ܞ\oO&+OܓE'_3=v;ݓɋd{r=||O+ߓ%!d| ܅Of'ədTɷdc|r5>Y/O'md|rBOvџܣOf7oOV+ɗzfS}rdb}>Y\#&uNXj$fsҵVa;`68x0FKIPI{찻tXz\N+"+y.T]t5oظ4]Z[ůMѮxlB  G]_ .a} 5YFݺs_5wAjGS)ڰlAVA6tjNwZA76$5v){Uh[M֎?ׁt9Y᮶!+~CHNj5ˊ dQrJv8>$/Ir ޒdJ[T|װ{;nPrZ*|O&IO6 ]810%Y>'vjl4I|dM,iG+Ƿ}X|ijIci>^˜OG}|y.Q6?ж5H?vI 1w}=w8/p@ xfl($Mǿz2oX/ AcA qO]4pIv m8<MMް'@9Q@j4@zIQ 7n'چ0j6;+g19D0 h2;wpb4E8whM;䛖vescpCXheJ . I/ŒL&M~dsf!AGsH ӂ[BS}@8 0 7tTb&k_ܷq@g> 6DMaM {M5lAAv^bXr73N^UYNΘb*:3)U6j뒞YnI;ŦчD[%DEXxd `:24'V w]ЃmD!7YÒXxd:$.kgfI3vn;c0yW-TYR斆QQɪ&ed ,'Kv0$Y_IQߤoR՟oR7i-{yKIVYtmSWX2٤jVNw}sNYl@s>㛔qa2 ]zFVdvqVZ͑,n2vcZ<'S%]gkDlIYX|y$}AO4NN9=-Xr_fc`ķD_IhJӾ|QЍqH0YWlFp~+!+s!6y6p{xsbyvf=#b$s wrGCn"cSb=LDۣs)0}ʩ Oͣ,0<7yD<I2yЙ8|o}TajMt| ƝU^i#roDQZ>?7=קo>4NG.Gq?yu#cg,>YB4II#P`3/SNĉ>L԰>%Ii#}.b"F'PtǬ 7{YT^5vd>-1>N@OsK턓O`dΔ=20bB3ډ+,atxo\2Aj|2pOEV{1%Ei=pbG)֟N|?_$GVtb7+ /<'׬><\>G:6rzzy= p dFe 96fq'燭H \ =Xk|?3ԟ>>_gf"_F3PEϊYXQ:)>?cʭ?>, G_{tvNS>;a;ߟx_.//6>Ó!풘x=qx 6$؎w&pdر&&f Hʼn}w.~=3xf (KXΡg T$,>^R`^{EZ-#- {Z8 E~eTz3.ތMތOoF7cԝQ8zZ^Oy=9/Oiz=Qۓu{^Oط'_'u2N> 3ZADXNO5h x]7G3-M3c-gqзјY'[p bAZٿW䝈 N#oD|iYX_A&Gf _=O[ ^%vT'X[ݖFϼ~ R'`"/F` ^?̈o7yfn2;d3G%3O)̕/f?~_7uVUnՀWUJ<ǸAAb]WwϦ;[sU)똫R0baʍT|ޚ$0 #C׉ T1|:s<ș#^a^gr2brxQ-TT=үh#z_/=_EODqD$/j7+0wBfqq| 5bgA/Y4/)@g`(gp"Aqlx!30 O5}@ziE3(#fY9KO,(/<9qcE%NЛ~B߽$;O/o1B֧/[.J>yxy!GnUq\ozwyK"f@3ƁY;;tFy"0WʀtcQg>i/ z4?Dwv3k3Lq8e=OIfz`v^OʒNiɸURqm1,CG6XX/,XiQ:gQ=VĴ1Aolg0S\> =yv̈Qg[|VqezQ <{gNO?Ʌ0@|81 ~w}ˡ|'+zG:Qxw(er=3=nO}LelFьͫ E_967*!zGc?H[ѹx"O5-ȖHh+\o$4XJ<\J#$L=pף!лmĮQo"m0zb%Uߙ5@Q}0?DܡH3>SFSacĞ8|ևx?:p$[J6I)M=$%:G6۽xM/-  a`<~r9y^N~?ll_+"OB>[:>9}aa̓>ӝ!N#ֶsYA,kPЄe*ԍ31?1f1bY )_փrYmеs~j-B v𥧒UBwt8}1|p,3,9mccqf553.jXt>t>c3K ϧsK*煅5p??\8W>|󅣼ߗyl@J4l'OÉØe-\h|w gn8~9y?BN! S1+=˂6ṯ3=k-dk8~Ga83aSɀT0OLs0k |cOlF-V cd=o7ΧfRW:[dzJc|Od Xm 'qxlbFeag| IOkC{'=L]bU_p>|w#,.]l^^c>(`}5ӟ)g땸Oy\z;qy0op=?1'Ga+$_Yg HJXA2q~Mg~(@}?"*/73yro&y񧄎n1;V/GްۣVЊ}-᳂w0D#ǔNa^q-ŧ:HUObp84&  8᧫;i Lbr@KCrBosD?Dj,-̬ȟ  _J7-CJ7ȢTӟ-r*DKA.;l逶oQOg Yuj"=6IUdV)/95N18҂J>Yয়`dV/( \6r\ѱ_f.8 C۾`~߱mVh1tl Oīg`l2j>4"%榩,62⧅k5-מq\Y$< A.` mjB fi#a-oمLӲ'az 3 BE)Y"1#ǁЅ auo8HPFLENc՚Lٖ6tW~8Baj`[aHiLdַno F #t|JP: Opw 8[ߡpP9%) J >J(eV#-{C aZ B^SS8dXYFp*C !8mх"Q3zq)W r`. 2dA^:1Ix2de⟂t4$5F"Xx-vE7{Nuh!ꡰ*B:IP ngPNYe_ Džm`.; .߹W; *+c9kOqwQEΣ9P!kpbF +e*BuUD"5X`9PCӰĴpK7 HY[n\cQO,7rXHxPZ:l(UۼW# "!Z&q_0v"59[q*n83F/j8쐜 qx3ͽ]w%lyt%薀N;*ty# ?:5"V!ګʝ!ͶvϾU?{;k柽sx )9c<'uzy6_'\3s:ci,ssJRX}W>ڭUaGQћFh>J[Q}4roG_U߽yWV=d.BRB=RRwM|zު3C[;7Ӭ!9Y&=kw!wd+}k]?&hc\?)w=G7h}}Ʈ.oˈàmsoV?m"7A)bg0|k,/ka(r/ͻ<8F|=vz;,o" ,7vB>¦:'²9> IamP]W8%W1vmS{>a`/TG>i0Mx7b?঩ n[CAz0i G{r'[t~~c[Zn޾GJľ&{c\ϗOr5F|#rl>`*48SdÙVa {~faSiyg +{#^U >q~b?xD_y|_oQE 7'w Xyx~/ߛUIzU_Hڕ#wZ'a5IaOؾ 2rO) ۘev_r/N'*wS>_`W??{{g\?>y߇h)ğ@HzxʠMNWhZɨ_"o9*[Oz@bS.N#mey Nk돹[6d8L(`O <%O~o|gifqk&>?a8=4<}BPnF{;3iƱh+?Z3]g]_ 5q?hv/w~[Fk+[ɱ9/η>'4ip5_e4 _b}FS Gْ.i !Q[`N˵ӎM~)bѬX/hq6P? Vw,4dgy}9=ˍZZuٿ_hÔ22C;[}G$Dy%7]x߇ ij^޶}  Zj8y8YGܸF}Nz`~2þa还]&W=oC`==h#XG牂2e ?y;8}t<7>}8x{?~4Hq쟳"WX_K;-qSe((?!sY)nþNY}|e\ޯz>Ӿ`6G1_"x1Gr AߣV?L>#X`,`́DtAF6g}@Fa@pКkxވY_=e2dm̅voڶW}DXn҆p3ꉅ$H}=ग़g8ׇxO O_0_ l'kɨtDrchϕ-|s?8 &mM9IOd줵xrOMzg q{rqѾt zrBb=Ӟq7x0~yE"'d(:t_=*R| \/ 'O{{u?;53kX 9H{6[=Pa GmnZ!#v >WiڢLs?(|u/- KQ E)Iю Zw!H;ׄB5h֨1hԈF&u K;0[t8gQuʂ!ksy}aԏwbű K-?ہ SV${4{ sMb"jz#˜ "?̆E]!9̍䅇߯uɾ f!4(B!pʞ &4L؄)K0=-LKOF@Y2v)`'A Re;0:eL$l_0ll˛$N&}IzI~$oI$oWs7=In]!("uYOì&pQ\hGsJ.LY LIJT; )!iW{U&9υ뇥$zcbLlH; 'mahe8hJHBvK_7pJk,,?Vf&qk1JBh $J-Jf&5cs*v /ғϱ31< q3zυlID<0uK$I<տhJaҬEs#uɺ3IWxjPOAQZ~HRNZv`^iI̤ X)N7UqK?PI#PX*gl$w׫*Oc%wl%};qHwqъIKƕ$fXƎR{h> 'KXRj z8N%Q nH2IE$u~>?<>*RJ6 $6 Kig[imSEZf1KzcY\ȋZL3 HK^4j?kfw1(SjT%&cimMrHM.D'EFPQ 5-5A,XfD7(1 +3'_^SbaK$)²/<5lA)nUgzSI>X\8cL( ?eFKٷ }^O<>/hQ#DZL 1?1VaHt3WA^K ݸ ']xכہc<>Č ؉S 3dYiqUw{aICa'_ў a 3e,;jD6>SK>5cj5#<;΅LFd؉w2/rRwy |"| %v2񜗒@1gR_-mmvRF 2TW3Z$5` P1ࡶ_u!*6s4bKb!GOv“0 pn~͠VڿcYQeW#M]nϐ߼U#bu q#qLeq3anNբU "]T21AŃ6A10D#\Q-P'uMj{vT59aOǂtJJlF+_q664SGD1M]S;0 8/yD֓ZszQ *醙] jQ j`zf1%e}i_hl}s=nYV4'ccV^'˼͟~\O1uP|Fb=?zoKG{#[@]@Վ1Tw1NupȪ 0Mpik;c O* D o.-Y]w8@ "L:)&`%Y}'NZ%SOY;]%/x:Π: U@?1`@6OecL7R0 B_4\Ƙ\DIt xZW+MFަ᮰D %ȁ!!PVjoebAIz% -#.0D< AGX˜9aN P_,-L-yYX8^'~S p)P@=7:p= ,; R.AK`+ n<`Ǘ+ xxp~pchBa\Z7) kj̈:r^uynj}5߯uff=}VǓ߸+ #gЅ-ȕYTA;|8s '/[ \x}IA!ԭ Y=pkk%. pCea}NyA!HES |\c^4ۃ 1\?Qʉ}en63}&7^_ϠRރn[%n+W9>3CAz8G35+lR]\ؿo\GUn239ԾDvף? f?wSyPKԇ)rן݃hxK'GvFӑ2Af'6k le93a?zף=WOrI< dbT߳=g|#m$$9L6X: Mr&A$/CxI/I%q|<KyI$_$THb?1rtѹz3i>Npb& I؊:EWeopTIGƮ3 tׇIG6!ؙ$c?J- IV7*wHwQb}D_N",NO1s I•Ol8q?&Z$;7qܯ>_?3I1&y0Ib1߂,wҴ?27'D(yk%bxʽt|}Hı}=+$z Q _/3fgyيh1v;4ͰGo= ϼecl̝=䲒=̃A9|3,Sb0cEI|. xr!&u!Ʈ;l_'u5GN ;}]L>'XqS9WCloX9G!ש'dsӱGp~;+3GpgU0}V2>`;8/w0_XhtD'M~jXh\_Q_D:ƒݢl и/_a ~GX~Džbe;GQ{jߞ1w~ֲ=ww}l%ߗGuwχf3QoKd}/%~ioK&Dޗ{_K$~/{3{F:Cg rQ3̏3{zH~Egt l ÛݛLlF>Yz<]ٞq\nLcXģXo, gXO߰p~^BA8qԟNǯOXqN|]k؄緌)|?$rۊ6a#D7rVy@$ gшR J]Dh KCF#n !t Bh(N/qX_bK~__bӞ_b%ƿX/bK&/aW8x^aW6x^a[8V! 7×0#q K~aƘU3إc&o\gbw|c1v- Sڍߏ=8ۍG?K & \Ѿ=nl w?B:Kbq h!}|ޏ x3x9#یAGff(n3ڟsq?3ߏWfgtG θ~6N&uַvʸ0.lPܥ B+8(hԶz}XCvdB+/w0y}<byq'?0H?y*^O+YxFZRb<`Ҫ Ibf*w@GD[A!uBMh_dRƥ>ߤ493Ox~O7OǗvʮ*ҹV|]^C wd/zWcx˞O;TËDqx'n d&QZ,a:9 //?A /r>_3Oɯ|6Ǿ{F&gF:=PoW$iFb}Ej]\o?#vIFhOD½ro$iFM; no(2DVD+aJ\D+Jl@Zy&+.rF/L>S`1X d". ⮍  Ɓ"v/Cdߛ;)ngIƄQ'\vbX"4VȈ6vc|q0=)q6HnxD$?"H32=@&K Ifs6n {H~oܿpʭ7xNFy7dg Y8px30͎ +y2epxebĦ U hLװ'kL x&ڸ3oqc7ӟw|R$hBvLg;x.b;qaUk'”j+ܤtd77p1w,i}CN|O1Qp}V  ?SٹWzCs3pb+-U4vɚ&='A\m?]S|JQm.g cX#jb܈٠k0;h̨ Cu?oeLN.>φhg[N O52>+MDVY?;,W)7m˖R&O}6cG?ژ]g mSIWέB)\f~e}f:ykEI'rWzmd}>ϯ0_{;!D8$(~xtU BDgڹ:@4tbZ(Oa$`6lz/'FAŪSܱTpD1Yzrrfi-*d-4u~.iDBEn2{nҨ7?<`^3Yf\tj.A'MW< xfCSx u$E($V"NlzÕ/4O`Fa2(FbiN2d >J 3-Qb!2p=d33f| DzJW*`w(y&QZ# `z`: _7` ]pEnNQêTOr烞V[Oi[e2p);pؔI+]Et,7a1(>U(g$gnu)v͛0 Cͣc<.# c)Lj}z}$g|>}Ue%]W1_uG>x>A w}(w>*ӱu,z Jjb⃿iBz**]_DX:t~f>>0z/Tۃ$Oz7w6t ATѾb;ʤʤC7, r);fW/?Olzy|;qro'ۃT!YvRZLؓ6?"?J'_w~Sps| g~||l>>2xr׋IW:s?O/gi^ H4f& rg~Gt3E v~q.|3(( Z&~&~*`:Ž 6A!ެ"YsET7.5[d|[7c3I+|@Y0Y" -F$ X_~˫IGG ',ΙZzL{/id=I6 5rS"$ӥk'6G `;T9SȕGG"UxU$dUuuIpvPOlcL)ͱ>g-sm ߱Y6넟ŭlhF~p ~|sb#|@\Vt׬"N?XUze}nwSqWh-`TtqJTq (572 NU m, _<NG:LX'6v=^5zg$D`5lLiq3[OpFRh*TsT0hɊS}D'WaF_Es;y}s&A㩭VF? ǓEgs>H٭zVƜ<)"6aYoX;xן9G;泍qj*TNb~؟.<>n}|oe7%/OJ+b͈f—F.[ӣ=mLcG~ٸWc؍w''5Pieϊ#x9bhۛYB}=x<{}k7cEb=P}N+,^O-77y ?? i~L' o9'UW={|>_x2V)+x[zX|u>ya?DkRl 쯪7VD!tĂ^:u5Xuͫ^9˚G,Pe,{^rE_]IGߕzӉ5:j[8 }S5;)/t<@^nx}k>g;ӿ(LɌF/krEJ: !'V\x}s&g[X`.L\ Sp+Ο8=~u{?/y?W"Կ+QH*zި7jjz~DE}EM=QUouGmTo7w;j;M~STߩƭP\ngD 7tt(]T@}cڶL=o#8k.7δ|$oVZJ <>)Ǿ/Gy~dm6"Ro//xNw%TT\3t C?}~@śGf;ߛ;sY<\f6|nj!I\'caJе퉖‚xD>vf-Tg,şZIVWg [). {N z=NVP8.u+U^ܭTYk((eS?P ,P|VhBGc7A-Zd-ԅ[W^\BX_u |I-RL,(eUN+7Fb2% %NAӪY_hW yb=\1qr? (6X\͊cB*kkrl4Moij.*e$KNyrZm{\Yp5fRߑMyaEqoUKf$ }qC{Xja=츓;0{8{ߌ/\_L>,ċ0?؏77dN > ɺTE[5_b9+y JkҬN~җ8L}fx"O8jVt涟\lHiByi+\%`N#Dq:͙ZxƟͫ]2X^we 3vŝ<7o$֓ªoP"haNp!\/- 5g$Ҁ1w) !xsi^YtRȡsP^Lhj!O\} Zx8(wr*d8z 0w`Va>gԶpg}<j$vc!qܞTh }`g|ԟ(3 nZ}Rۿ_DT!Kp[ kWNtTiX~z7 oש0H5K.|n8'^Kd"ywnN2 >{NhOq|F+IvOt 涤'Hօzr|.&y2։a4~9.A KFa01X$- ʃ\s}I*z5E}K=?K(qNt*D7*1rm WtGȁzcMg4 h+].́~?=8c+WGWùGHG穞EwaVn>~&G ; 3uE:BCsd|q9>G {sC#s~}ͫI`*53T%K=S0#[Z}I^]X\-Hm1N6U/5c`5;!vAȏ80mUS9s~I:?/c!xu=<xa߀.bVukɱ@gFa^ ~aڑsl"Fn5rD0FJBzau)ݩڟ8/^q_ϧԨ:lښar r[ҨָhWfYn'_5n(-*ZiɨK'\U}FK<~βnsB /ɰT0r͞pOxӡKvA8᧯B5u< en)c}tuIpq2J4x'7Ʒ`QM;b,"7J@SV5,jCs(uFjop~w}uvʍ0V2!0'gh ׈խ6b =;v|6>w[{}f?ol$*?7Ƃv6I %hDX;x8Ք'!A:JH3Xj$(PFB [Rs%ߛc3< g>+!?1*c1*ԂIgg^ѶXM%6@f 6 0Ud-V~XRp[$bJ-NGK2=vڰ:W_^oi15Ҙ^dO\Ux)eEy9FЗ0H:t|pfYl]}k%tl.2H" " )Z㼌BRQE~En׬ff' œqP8BP.k!EzW:S^_l!og9rEJ(#D,T0P*= #~CyB:*rm7N;&< {,4L#f,li;,rʽJ1cg( *v( 9 FF3 {8su78#rYag' '6P`'h^ oڻ~[v\)06Mc12 { gg A[gp`ڍo3d+fWsJj45+iJA}g2!b̾+)ۣ뎂k3W<+ɓ#ź:ˬϾ7y=E,=SOo fP'$I?5e4 k]D0+9:ܜ`Ϝ cKX7g8;4m#O 1+_g3  ߇[|_f8I~և} ;'|o>^r[?+ r|NϚO'Ͻ}(+{|;c}ts+~[u7rT1~ O~}Vrq}nRF-na!p#rmu߷x}}/ QE2<ÉsR?ĸVlF _g,툭ֆPIyGvraجs0!kqx\܌n<;<ܡU۠=-ɬu!7sdtvy]Tl;Y_u6Q\r㶐LLGZ/%,T}'fYXP T}0U&,1ٵ7;gh){@,V>HOey-gB3%Ċ#496zıDD3ڵ#zxYNؙp\hOr\/Qs 徾}3dcv9=/J/3eC{9+뇞EO wi;gˉ9'r-ti8)=~}q?3z8_x'ƃ?o~+#/sڙ 󧒵TnWp;oiw9 .t| Frbs3ԃ@cqNgXùHקMw(ߡ?8 `Trܯ|rM2"pdtETNCW^߰ZI~bST'h J5 ~Ja}$~MmDQy,B\ZN>,5q^gw gaxdP|=)?Ȗ26A;3 Ch?on𴱴ר/|? Q?ߜk֞xOT?ڃY'|vXߕ+/_Q_a+ƞMk`OCg=O^份OK+'d:>S _ݿ%Y~|~-㧱_O Nj ߿ܟ~V8|?]86>/%zE%w`V 4dStCp<+u7(C|h"qa^y`FvBd>*yM%đmkr4-d` 09Gbg@rӼJ?IDH% _4á0lK#Z5 [ldN$S9A`z nDmN(ʻj=,߂2( +<+2##|ݲcìRzQAXx@;z5y#Yi,"鮏-fXnk_`{dH4 < B![*"RQwr+$"ca뫇+} lg8a#{=e<Dyy<d gQ^^o\~yFxK'?&&ݘNm_1?kp]J;yTn쩷̣݉%;wGQY.~47s[(;=a=wxߺǃ7~~?w|õ|S*2=*gwɍ]Cؒ1G> M.vg#!~8pʑi~ ==~)ffynq=%|E0.)7g}Mn5- WAr` \U R4ƸY'xY{},oa} y['V<<C 7=~p|_̭1?Aھr[9~}\<ܵgNj)t}i0L>oB}ŝ|L_q㵻Gq8Ɵ~>w^~oLPo'8?]9ǫi O5 p*XSQR.pkHJ=;'fH~}ogO|0y6)7 ({< o:#)Nο<19;oy> G G!pNa|!G}p`}|K?1YdAr%\O;'|[`~csW9NP! yvAr4h/+RWMlg{,Flo?8~+#5%"1]XX_ǃ>Dy#UhgU~xq|煍&)o8'?'{?`[rƪ޿sB3'~i߃|Eyrb>7S~LJ'ׁ}NOp?Зv _~ַ/(ϳ3yh옟~ e$ְ![h:Hv֠ [~ Ba[+ WbnFuvq]IPVRL끸/H Ɋ R<6LgΖLU(D63K|(]<-ŦlW3a$X!fPag#/!}sg Q ):a`d6@2w ?~:[^&^hK>/񴟨[i ļ傓eB}3^&ʹzXL2`/SI2͜9Wx63H|P0J0ER2۴/L6 SV7)RZо!68sSjtqTa=#\?(nx{(0wۧ>|kSP1'^^҅waP`Vʐ= ڟˍcskwo8/Ϙe_ߊG: V/0sԘ8O*Pg5Q_>uw!3e {̽eճ=Bs:x7~OWƁ1Ua}V?;rv?7U?gC;SCg=߿'n8ǃ ygBk$'xTg@}~m2w&c<}Wd8s7,?&4aI^pPݨSN[,fKkGl[΄.\p,*qAKX9 5g${%*N\ӘD#-NyRQ-'fNljƫ[iə Vfƀ#m` [HWB.d"8-U1aDVK"#Z Yp,?'&t$fsp=~,@kC$f&XӤhIԦٍ%Mz1>ǔO3ci< 1~Nkvv_1\7RP -5`@3\%Q3F+RNb*DN.ST6aiHGy喲k07ǃXo٧+'~qoЍRNoYi)Ƀ- e,%"qgq`yp%HRH迄ӓ+H9][ԶUP-j*$4U|mT9/5*(Sʆ:)'ZTr=Xϔݿ2*8(RPˁߊ5>;ђCEE64SZ{Jl23v<v Չ*U.p;"嬿΃9Tyn7>Oc|7|_g vcRZcM%Iuy"Fl玿 d2TYj}7F,1>biNdpTVf_#O^=}lFIvgoLΟ8$x ǿPOdx/pwId)`G-BΉ3%P6Λ%ȠXvύ_'D51f~T6ѿfXB`Y׷Iƨ5?fKvXs[8qϳ/g,uY=Kg퍹Ku; A?9&VXl@z.'YkboaF75m/8mMm+9yr-8lpYݩw3a'g 6j`aB/fvBxrQ' s͙4{Kze8'mmxRak yrf9jVe8l>~`ǓJ=1Vv\qpl[=ݠ '4O3##lգ X\j0”q(Q:Rjk ]*(+V!:#dV38H&Bon1cUvVi*av@77_74{T8bj ?Э/(a2_ /. F%-KҞo n@o K9p}/hovIS882i{,Q~'þCm|9kQDh 1((NYx=O#}`ZA}YB[_p]0sq35.f.,Uְ+T_^V+ KSɩB֊ѽ3 9 #uNnOBaN`B \+!@;-sxiR°$5J|-܁6wTA滑Rݢ/PmETU}pU񹶍"J G?z45:l7{Xe*(6pb$Ȗ!*cg  ]nB"􈯦'L \-e֍X#Ζ Oy2iG$2w֧G#Os.rjB}3F QĒVPELjW'Qve$*%P(R `^a# Ïj?.&k1l)Hb8#_:lV 0(\̂qS)CԼH6.炮@lѥ: \ jA8Fv9@h89sp_l+ 2R9rV@&]zQH - X,2&J?~Pxq2*ɋ?a->UȰ'bbM7=ZxRO )%`-Vbg#Y}MV-^V$!ƄZVlHl^WƠb -H&[5lF~ k5z _,A=&fT#6ô7b#ܭaY%kl9?NƬFɜߍc܎m_dJz~'Fy2yH voX>h0Gn$U^m< 4! 4o|7B֎Ye=f#d \xL*y55bP.zkVbFpлåy~~D4JA:Oo@8k˨y4] qfPp ?˰>_PAWDӿ#OAWt/`+(%8_Ar /W줫$kct}grEyq!' rIWe+Ly>Xwj Z:6Na y_IW=eyr+,xy<: 0~e#_! @G0.@F9̲m.^?P&NLFm )X?ʹ?v O˓I|+!a>o#4gҖp32roL+=3ׯ%w9D>ZmWzևח(7t.HIXZ05C2|4+ϯn)zP7.{o|<^ri7|?WlEµ~>_龾<71>c!DgSbw93O{iO ?}|>tҸ$ `˃=q{46@RY>ڃ5ݿWrߐ}FDT>~>~zGM7Gˍ;{?v>'{? xay{= 7v{prOPSF;s=C}[}>U__ %Xz~0'QXO|('>D<D%?sg>^s>Ic=Igj~o~w9'?^{{<o[+|']+ y<8qQg>>c֟|"˿g/m>=?~'}q~o_*ϯ~07cv{Zhy4bbR\P!P00q@,yu[yocb;H$`'4;#$`?kWwl8X  a"6QL\3`Ѡ57e+ ba,1c&JSJi uP&e2+ abJ|ٞa(;i=zޥj`3Z)~UG7n8,Pl˺_Іn:ۗ`uyKj(*d"q[{hpňq|--:Ro.'a Pp`' { ' |' z"mYpQ01 s.t|-(t,.lb)ݹ;r[^PE6@ru=VeoIGd,-^[)qwKl8' CI׏!Rh3Q׍Us=~4l$CUطey߿&?T~|# -=LC5, & Ip!71>k yB}P7Thpٴ!P 4\xٴFn^P Tz#z$zb*tv׋|s @2~!wZ򆞼)ߡ+ohƼ34RXY۾M fZj{6јY04EE.df-+۔h"#BEzT%!.\v>>tשFՕ pŃ]OW/3]X}șt[(jGi~x9CGܸiʄtMĆtc/kpGhe`3:Tz@) Tah+}+&BpeDo-L!g+;:  nľғaH] :2e⌕.2r&^@)m u ycjD܎uEA?p0n\|ʲπ1"ȊɨfT_rci119FL^0xyc>Ooz?e8︯/l#ޕ^52vQZo,d-| ۂ-:1ߠss~ܿs~^i$~R;66@|^q"5 Z.俒0AþHY;!A7"b4u ;Cto]E"}j&)I;qv`ʿفك^v}e'f/zٍ^=eW:ٗ-dmd~\r {=7{Xwz>AJ нq<"OYϴq;%|s^xP>k|[;E*i &˸w:}wXl 'qčc_s]eOx`1<|] ʉzb}?}pG:w9:yNQOo̎c;a^a{ž]ѿR:l48Υ_[;>@6IuDSx4Iƾ/q㢖?Uds'NzP #厹/y}ݳ/ݹ3z f$ϋ8kFCo,LJ`#;?v w^baī[xc|Q'rgC+\n_8E?N.&Q=u\oK WG"qq:A)q?̷ 'G~KwyM7.m_~p oѺգ鄯NTΠ\sqr:"qooUxrt~O_؉ՙ"XAނ?;o |x9B|-'_O>7DGG0L 냣8~8ݸ|#DvЂ~F9D4A 4xw̗ ^c4^můjMrZ? M {e^Y27h0fW83ȚƘH0v_©[8c18d"3Jg81=A/3;c3;_+»b修Hϊh_+޻"+滢+"+׊mGcyv4_;cG/0zfs8y>=Ù8β9.X"ؤQ1Τ9:n8YV,pfE^xo\왂mLO-7x^d3,N Aa s\ &/'SOunrepm<_irLE {0E/%#8an"n;w0V0s9Wv&ft_m4Eu0Qq>3yLf΃.QM`!3Q`!3μsZ#~Q>r}0(' k.>27=4Y`C[(4ma.CNaXPvhXhM {μEEsQ)ЋFZohՈUb@Ѝ4 drW[Tr95(J;KƥrA JDZ1c2<| \h%\-P( Yyl[j.D+x(I-2$ ր^ X#Kϯ2NKJ)SSL&;o @7+jNaiI8Lj#Im9zAaeNC1Q cM:ZuY1,Y m xe;qL C-O;|NӼ\2ӢH*G4 whdԴ_b,Q8<+<d4Nb'%N3[R yC؁..{Pa㒬bTf|v0Z%#R`ILL2}f&+=^ eL,7HnoTG%#N!$C>}՚6g|È8W1p`o#_!~=7Th瘨d7騣4[Fd83@`ULo+bWo/eX_/|;[5ضO~O=6OH>Hx\E=%ت=1ENF~gB߹mkGaTXsdw3s3B p()L734i0RCL83ـ"'X{%B0ߧ%B= (* k[ VJi4)=u /?CϿB7 C7Zؼ A2I]Uw =x1ޚכ9Aѳ$zp*b-$ aT -| F=VB-9%''ńnI<$Ǔ$͉ cusLv#:,Z7 Bh9W{zN$y 9۞#%l$cx)],hX2>'OЅrV74(C|٤0 p2SgS̆=7y]y#dy\lw?{G(8CbN0 qZ 4$_$ KH$'o|G~7&1 (7~'.~Oʝ?'Ag<1/mΧK}I>&-<2n\˃X\w؞}}s<ށ|/7N,n2%'=ڃ>Xǃ<@*2<+}4?+4&>>~Ϻﴐu ?sy?/~;|Y~ v>x~~S>|N,w3"hdc׿LeZr~_'yr<6o|*qbק$y"0SS}x<$K+_y_҃ֆޠdCֆ mڷ}sc|GLܯDc3g*hKaƽ1ORK9WPby8O|?s`ƃr۷}}=ZpN^󾾗>#u8Λ~^l~QgJ1?wD$ >nAyVoܟYHo>Q=z=R/~rO_;Ǔ{w}Y>G׷}6j|ہÿݟ~Q7^MUz>#q/ ~vc}v:rO\Rz0SɻGFSޟk7VܿG)\/#^GPOgj<;({n J>k۹"vS7ޔn''B75WT AmH(ωSb{+?#fᬟS턝>]jGb9p7?Χکz.ϬI Q! vy^A Rvh_> k}-jP B vé?$n͛ Q?F~J_"(/+3"U S'OϿnktIR[x?r Tn h9$SCsJb9*fp$)'ðG&/W?Kuެu6C9{}7O }\OO,N}Cy;iưt#&g|^u1bC81ROwr iO>T ?~g[:a1o_?k8λ?}@bS3AB8}X"bMȣM ;}A}*듀%~(Ok cxeGdUbKo/]"1\1 q0?x?qQPW"3 gd?˜*~~8v׮ԜЄ2 -iR#ۤ6}In]NXE~O[8:ObH4Kxp:lVIQM&H9&|uDD| v-Wp?_akYs4&] =pTF94*3'j ( rs/'g)v:AG#/8~ aߜ80L8rhLfp㲿o<Z*e$/+X\n0Пh ~l~ް7l +;:Ò.uJ~?ad/-َ;,<HƳN3+pNOAylaЖ`}'i<1y7MPpcOXu 4!n\/+:c ixbaB(i 䇎Wbmhޞq~KI܉u+Gq~ܿ2X?*h}+Ϣ*i~6l뎾V9r/1i}yc_q?Ow}{[ڧ}+e r9WWry}/>%2~+'޸4qZ꾖k75Cc<.C{w^_NY(;>嬟w[xn?r:}cB1zr)hQf؅*f\.4\.(hL!vrhH_+#D~_-^c.8'\+]%h)v_=p֘UfjÜgpe,ɼ\zY$H?A +&ܳD2WYJwK_ĊuloZEz8< xrp)( hQE&ݧjC"3X-gZiM^PJ|ТŃJpc*o!{(~${뾉ڻ{{K'ٖ=4T9<#avr㇀Cѡ~r0+Qi>1Or)JhYNL{5,qO@K\GE}^/#\%7H8Ӡ9mN_޹v0bM'km$ xz^8&JG \Hyp>g|8=>w[$nigO u_#а=a5:xF@#((7f4$ǧ=`,m62+db'&Hrض|r;R:L硼qfa?/B/C7KVy!d[CEO4s0\\2fl=YfA`fkS`(tCG->tu:ٻ=4anܡ~ȋ9qzhm lnMǡ;U8 zΝJ $;pwh$ CR@M]f)0ƒd`1^0*tjygo_>yS`h>n u3L7tZxXtUzҨXcv;i@E?.#/jIS^mSq47:_O~V_{}AVTw5b*c&jXfwa.ؖ63nRO15X V7{AU?,u~գ5r5WÛc-xǧWZW25~k1xgG5ƬRLe a.tPi'\y=,lraAAdf;zra턟IF:N+os[:K۫{.zowLBgT@,ÌBaۈƃ"m;Zf㐲؉aBʉa'u I|Up=!HBFC*[Phh 51 Ҙ /EHmlP#:n+9]0񍖱aaRذaaF.e;0,-Vbv`+3)+fX7Q \좐 |$j7(aaGZ.oM0CJA}^P/[y,Czx1ٔ\KcF)YBk46t5a\vցC!;`j԰c9 !oZr7aDF4CYDIP,2= Lx EK`Zy;Ba;$4䂝 IH쳔yC6XM"]ۭ 7qg| EbOa ޕ]@S%JbF=0a~\ULZΨ_w&&P.a005lwGTuPa6+O㚓z2> nokxP[@tqA;HxvY9 VO/`䐾yTm:P<_%~Hc<_Ʋz$M}柟Ov!# U:#1b Nqz" a!4) Ob*nae.f#b~8FvY7bI`W+0;wÃnB\g^F~WƝfw}B ԼqU 38IWϲUyl^Vyr^WauKnۭbvno{z_1O ƀ1o wƨ1ogm7@Z-bKyOтWpYL7SD}fa 0XhoiԾ6z__i蟕ˉx'|׫K(oa 룸_CS ]e=c% ,J 4ᅅc ybd$,"0s￟`% M?kmGp:eg=v *.\8a+#xs漐c?3[o :؟(_}c' gLKw*yE=޸}tܼXWh^'cgK7>i|?--ØF=y/߿ş7џO}Nx)=/PnqP?Td_ݒC;1Jh Rbx/N QM$m+:\"cW%}KJ$f\P~*NEDv~eh*̀u2mw?g0iTmBuHVR( Ŝ(ua- :.8q{UcSLr x,<${v~`XYNhq_lZ'lz’/Y>NXzBBP6{ze?+0aH`Jsw0 o &b`e86-\ ow smG8L{+׾ʶ2kQ{-n_9~msxؙw>-Mn,`>™q,o8x[B+o&qH0*_=0G*,k<Ս ORqНOjtHaL˟aQcQ-vhY-diY朏(Lz'j1<r4kVm#7Q͡0V#NKq5~Zz-`d:-spLgWqҳ<}esqPZ.ђG;)k31%>5emN1_k1j;P]& aqU^ʌ1gXbT7U Xx@XEJJDkøX1 J7\L3*Cƾ˸olb=H *Qohl |߾ln5>SObLa-aN!CAIcyA ~˜R3W Zľ{d'"2H7U0_ i` ṋc|Io F݇rjʜl冼X缽[Î#H̑[zcxvުXՈ3ľF̮0Z)sĬLDbFB;9$q /aJ7$mr|<6>8BHLboBJs{1=Bpg0-Ol] =ۓixiwwϸ!>{>(i ǡhadOC^Q?F>*ЎDt덺;}<8$h ;ԤB{7!'D䰿{ϗ?;]~I'G +wBzJ`l_$QǶ>b P'"6݇ՎD^sPrH=lJkܽ-T5v WJp ^>lbM$6x4sa4 m0G SC?v.- z]<x_<[a-1XcĐ6e֒Ӗb9!(v Za"F9 L:K q}9NlxDk3C s'DM۬]zd5K瓓ck vtpEFTt9aC =s 9ḲUKst{U+qC޹ZyoO^eRg@}&{)E @Yk n6i%8]5HMK&-ny׾{j{ $`o=Ӫt,s\ `GA<6?,1+,ؔC_pclyMVZ@Z3(bgh{LrC#־|z6dK@˷ɍƗdWZ[`]Z2îZY -jMnIDųjč88sbo8~^XZrԊ%E4tZMz(ZvtXB'n5V! -g;l{etÆJ[uoQIɞh!^!9yޭ Csf%Uxt.G#7׀'L~Bh > |@w\;vA E9QjWioy@=tBTH!C q5ѓ&7 BM^IEifVixum-!.Œ#n[y;J{;I;|KY O yJuvTCE-pTL]!&Jz׎ƤcbE!eagBfWݘA+`OAw'_]0E1.|^A O̔XXqک7rև'>^qGW"gQ฾ "ƉY IC>C. Ty,wB$e0)x^U<ř~⸪g9s").{xƏ#\>ņ'2nt@}@`\h h(X/Nh&o4|G1:Txn][n3:8?q 6{vňå ƷlgKfK >0įo|>J'>٦Ͽ2Ǿ߁|/) #RA+ 9}CRߐ7 y}Cb }CjBn7d+ EHuAb=y?FPI.7dEpm++q x @+ r $%+p ) Nuܧ wrZ~pfOh=hr( |yadyjc}[q<$ڻ_)ʁK>)?G-uo|?3OoOo|ۓ~~g<#_;|EB?q_QOg?WleW~Ac.PjuÁÏb|dlWG~ bj:JIAsT傾1 ,b4=LI$X ?K‹#|skFlWOKMqC^bm  a*`|gMUr7lH]V ,ǰ[8yaDM [ rK $kFvu3pgE}pCP"(oEeφ)dգ)h -M\lQ<\~8–MYآrS~qBpܑr~YYQ?:p#T?|>XN M?z ' nqYzbR J\}xӱI<+F-|'2]س #{Xx?h>%y0?xKdzKTbA_<ϳm{Ǻ#?1O\¿?Fe-kʼn c>r~~q 4vqW# l7V-o|<+CTVv\ʫJL-])0Y_׮1ɼ\oƃ]>8nˉs@D8?. 1. ׻h( T.bQ'1~?Vq'p7.B|_g()Jbx&?}G;SM#3ybF!vgX?Wc9MA,0zc $ a g&x:ef=w+0M”89M+L_YW6vSt\𾅬n MyQ7WΑ=72n\a7ovIc1Onc~oV߱OgxJL8~ntj$ׁcr6k0>Y8{}\c7#WXrw%`xGs tn||3M܂},=[1l`mt qxY DDyu<v9d0׼GhqOBϟ ˠ5Ce_(](Fʰ4[ÅouQ ,ѵa]%\ga`1N[3d")%~/('g'hE.PlC%f7~ sږ)mx@!`RrccyV+di<.%=%2J2ۦ4Mn\r1MѾP Wxgo A:1/2ð`ݸWx0`{noTCu@n? xs0T46f/"w?&]n#^@Q;G yEΗzPT*" :jYPE(P jh~,-0}BF\I QoQD:72/\#-E9\ku2{0ªcA?f&yP!|zoAO;yWy[1A/z,v0Cl.8r~X4Eb \q6mwͅ_o;,\;ĸ?v(⼓aeI\GQ 3`8(X?XyR̥l",{{w` JNk/-R=T;f+~_FǙ[q0']'}|O_'PP?!>xܸx?w"z;/G}y@ԣ ?;Ŝ7Voe_AyHPO\ w-&{QkSxO<1vx}ơ%!53&L=W~kpm uk KS׹FǺVM0v14udgwue;o:1~OỌ۟^ލNE7^оOkq{pGb_QX熗s_.Ϙ:?뉙'$ƥ[b]G~u2l̝I-4GSvIJ8>kos??߼mR1X2c}A'+@ľPQ߽bh$B/h3x2VGR[Kށjz]̪]C_ $1$c!JL賤IX-i7h0e%kq%<+6^QBY>az9vg(~0 Φၐr[^x9WQvVoܽ\]x~g^CQ].pP>Gpwo18BK9y!ʧ<|;8;_;SbF_yG~؊1!//y_!}W[[ g{ %A"ֶJi'3C$e @.퉗x>I)Z^-t7x_}zgON "h\x$[fB`+`{wyE S@fyԧ}AD*Ai ז@*38y #rb\4qe"|{ h QoLjLml+$ o|X&:P_uxNJ+x~k/[/]{zr|Yuꏕ2U ΪGn._UW~ouVڍ׼1s5ZBb6\}|K|bG ~_&<f[NLl'wc&O|_O}|#6<ޯe&B|c_^,4!4b ;+e_^no8wW8n}=|N 3FBVy!!LeTj1X7Zʸ}j 6A ST1;Lξ_UvVt_5 |'xYܩh:0Rwb߻a'.;z"N2X;v;{l&b'`FHM-ؓH8.^Yak*EkZAya 'Xx` t lIц]paܩL YU&6")a hFWAj]^<($ hTS$P#'pbkU;[:*R4lS( lrYaWEv׌&.<VTjhṿ}f$V=acB 3UOwk>p}Owh7Vϓ诙sxճ>n!iG[jӤ0Ts:M CY#34iJ&ˍ~ MВx*Asӓ1Marcvp<-q4y.G$J7P}w+a3YATl=o\4s{0=Nq{x{vGӂ%8߯m1l=~dCϞ53;3LJJb C8wJJi3Q+p\v!>M㍅+ B ^! Úi\meϏ==޹tOTF+|^E'߷z=quvC E7fWysgv.X摒q ~|v?= _3(r4A"yқνTK9RPCoic=84:t !u}$6̍S}J^0.VE;RB"Sut_ksK4߫x0US[ 􁍰m pUUm[`?R:dFD6zͨ:reW1*)hdV:VXDy-PR[h[3aLɊm#c Rf /-4#s>"7Ax}KPrl˔ixU q"U0ؓ,=n y/)+_kܸa%5P76fjUV9/+Wu /Ű= `(Z׼=Lw&#Eg8z*z*ۇorf۹}+{ꆕWB%nY|4\iԕ++s ϗq= *~pO=ߌy ~5`$y.x|1[H`;>;"n[F{8ٞx~Lָ#~tAt3nHHg܏x. 4+*X<cNWP.Q6fa߬KYKǟw=W[ܿw[XlO9,ԜY爘e|27%j!CޘwȋgF>3\o<#O-85LN_|Nwh1Be- sW6uSg?ݯS씥g POVpy?vmaJ[/m[WZ -9\Uxpmv[c"/xmFk= Ǎ= yhm`j;Q:l:PDutMmG,S2G൭t`ͯ}6@n D ,wY2C#{LS-ĵ;LŽƭm :lbQ &ϔvôu/[Vk;w۫BcavScn9 _U-m[ټtзEUB/EVߊZ^hQ cZT㇢%\]ТZD쌴Wёhɻ=Ѣ(Z4Eh-ʢE[K,EaEcѢ4hir rD6]lȖyG4#\{G46F4‡(d!:8V#LVċSeϿ}J_#Alzo1(?Y)\'?ДbL9LT0+&5'c^DEAI܄=;cf9'Oص?6ci#7 -+n7=0&2'޷o2ȗ4"Lx{\̥/줉9ɘ ur`ih"x2LjaZԞ-Usw,G+?06C4[}sO6V'"sA+sWSk9#<"Nk`;&<_ VxPE tzK֍oLi%m;' Rp8xsWϙӰgc391840{Q0g.8Ptqe%\q䈓qJ;3ٶ$ۭpP7_l/G}p}.;87@w g>>P (ﭟacs?Yg\|i߰E8p +?X;yXZ-c_d\XSw3-d4B#cް!ZJ~c[o[wn\z胭f^$0bob`uf[VZ_OTƍs7_I|>߳x1ǞR+üt>8} 1o6Z>s_荋zz~{x<+ ۭ( x/\"|  8s\lozb~(`d@M(*mp0,/PǸk?M~'xp N#' ~{D+3.e vL&ip=S\mOVxjVt#"=3"vs=hSRPo*UJFU:RAIJ/JLUjSU$Xmx D~p$ ,u~lEvtS6U;s}yKg5iVFb e ƣSBjssvHܥ%#|-oRkvlw Q~S:%"Jm&v ZylJc8o$~~G:"  S""@?TnDf* :hkQ֫-yڮ=-)nUmMmŅBĵV^cKui]kOoK+]Ϋdkkw*5q:װǦV|e6~.kZ}`Ӻ-Aot־٤W, ˚vU ]ˮZVxaٿ5^C-|`;U"w*!ܺa ]82OpG<iY<+57V;>h*[+'> w+:,FBLl֮[ifsZ΀&О5/)qv^V-$7⹭g.];yiH>=8ڳJ/;1;?`6Z׆urkK7w ^_Zs<ۉNެeշB>'^F2Pq=f,}g*`!]m s>UNzd*k֞ PTkU}M{+wV&=E|+_:foޘ7݌_(S^P4Ҩ2r b(rޏ|,$.թ<wy4i!LrT2i3w{q ];휃ܝ gq4tt;p#t)nS#N2ψ];GssN2T)T-.[6!2=( ZH[PR !Ca<6K&f9pl龝 '>3a ՎT_f*e x~7TA5%-153m4 * _*5M,ZV [܊0#&peW;]U|AҢt;UX0uV;&y" Rcoa01Mض_s-IY,Ұ{!}m{<۴/ }`Im7|k{2pOd"qx<[56Q|%{<>UeܯBiϳ2;=a`bs/mV${ mqqek,f,a_hBz*[Yn7 _Zw3  / n-4A*G{]hT+\QϺZJ=6Mb-R;N@y-YʞUiUZe?ȶ[ed}3k gIJhɴ˦"]Nl>Gynm#o'v97Dح>?uS.MDZzJ`|,>z*^Xx!Ӓ`)~x⫸_3i ɹ 퀰r6KȈ6 l";Pl}b^e-D>est{?F.o>1Sp9BYR .WX,{iP USxW<]daBCͥ1 K۰# Y2NC*e aVae]!N+*2tTf:جʣ=3"q|g6%,J`m+CЇ<õ5Q!o0j|p1<׺1gPL ɣqpL.خ?x3 |mjM4mjʬjꬦj TZM ~?%Έ;0t׼cg S$(0Tmo73lxtF$ќ&5u?eF2 be+Y`Vsd@+C͠V2 V! re+P͸|32i؟wHN߳ h`.L-8C__+#ƺRUkSQ5J5G( Չ+~p;wAh)-ŤCi)D*S}U6²DdEB˄$V>y|~7Y,W] w"X?~s";e`lB3eEf2+mϝ/NWzpgatd<}-2I8ɾ㷥*3_G6ꈊG[t|G;8@#ewIF5:^Jts Z{Ni e;3-_ɨx,5JLLûT?(rUyU],RE깴}Bw-#[S6f+'khdv2c}Ș){"8I,aDIeٳ̄oݿ,;*0]E鼪b7eGÁs=5VX+e~ "eRWw.߆u;w?m IQ8}Vg+~=$X,'Ik·wsbO?p "\%}QYo-IɂAXaQx^ж3RXu5ܽ=VzDn

5X[eBwZ8by+,]iSM ?ƙ2.:hl3b ϗEq-o߰`w*䦢3`yW-eF/2`E,Zq@8_FBts2Yt4\P;&A Ⴡq77yVBc@m<.@6mf6^@}~#u;̺߭wg _m$Jv%u3EaY8L=验se||몬jTDNk?1 wȮyiAw$aU='8QkֻܹȮyVHuxN>[^:6!kXe|(Fm-l+@ge Xo/2[x\iJޣ-W3MWTcj_x#Up-Wq^>ͅ;xtcxb8N ;*׉ae*eX} [qMq?ϻnjQ氲0lfj/;jFun3pf1uϽ}xm+Ѷckmd(}! t ܖAD럜' _lCd)\dmNK6@i'ˤ=\ ԗ?zKd^՗f$_ kL)4!9;2Kc[tqaLS$nMe8I(_w*:M;J~sINuRy۰&DHO͍ML|'pmWnDp6Cm K/|:a]7O>xy- ERlh C#$a!D}a'*VyVRD+%4^J{-+KDIuVxA]Kr*+!eIBɗLcFɘip+qizwf>_ȁ)n=Vω{\Xː"|/ϟP2)CؘJ"?%׭". {7!Sey4>7QWbw{9;v+csJIq|7!})'w;Gf@gH ؃a;C(^́ЍFG n_!b}#f0$H2:\:3ء1iМf­(<2䫉``/ﳱs"k\aY2.n6hvx~VSصxrYD$~(@ouK<24օm2.2*4_ ]S+[kG݌*/pGaB3ĩ  z`M޾yE89 u_r;q_DqMO(goKcsA `p=Ef&[e)'C sxʫ΋NC c`MdM@>|C1y4x>aD‹,QTx^Fơۼw~3D6tXA(z񍔍$\%a2<'aA8R ~%-uE֗p„16"l߶ ֎4^G?yɊp/K1OUlNL!fFߖ |2'Hzm"#Š]A= ڀ #e4h틴d%,9y_N{5Y[_TW0Sw:[bg8j77P'tY|,Q3pTYs('MC9,ZL+KvEdgefr ,s;Fv  VRyR9&W*fDaSUWSN6R{v~W?+.&fZEy7v%' \z?H;~>vLF"3_pσ3oOFO;{zŎNuF5Qzꌸ}5Oa$}W~bپv?@h5m,Ik/h5OǟO;y0ӎ8\a_'x Ճ'nYn!9,(Y9=<\'?CBCwg?؜6W`:{)cTW~~s}xݏG9>x{;XF&^Rğ~$9#|['|XT{(EI=jbRҖԌ)ϐRvf\T\iln0ϰ3!D6o{b.A1>J_C D%aE95fqmwb_]x%ÞWy<{uE|Яx~NYotC^>0WylmGsawn̲ܷRU.o{1^ڎcWO:qno^oGɴC48|4 ?fyQD3Z"bņ}]`+\9w{@ (9OiV*3M{'/?7p??q)Կ"[tSgτ 7-6s^!urkW3y~wzq_~-_#GP{Q} HX/eqt FE$K.l#NX_yx0OωDu"#:k{cOx p~t[?pb>W?sYXt'fHu6ȞM}`|zn@;hïem ~>hNc,2)"5 t4[ph;si;v~o|s;ֽq6e%">6ѸJUq[D6a^QgY6aA>911[tuNsSC$:g9;X p}lNhԜڪ;:#:Eg5u^{;s::és:˩\tU k6{r;]>wX׋/cKprˑbO-V}F5o-bOf9vF-DZHwlsDofycz86JU 1dq{o|9YڟhQgf3v綐?q<~يEsSe]\eZ1TY J|5KX%wsKcbike`/ 6*Z"a>`wfRtjrgLV  %tҽR7RPX K1b)Ub?D1oRYFm{iV]DWJJ^pj^E&x-dBJ ]"ŝQGͮj3 ggu(f>s+Đa!ԏXAVH|ˊUt,(X*zu @>yF_5 ,)k<|`\,հOx>_5~_fŸ~7/wm_ݵȔ riGȹ D˹v̪qLu W`2S4%ϚvO!fϹ龿ksz)+”=RT~fVK}Ķ$9 ^֒bzjZNZIkAi(%uךݖ~0AmW K&Otu?hprLnހxlY*l_+Rfv u[bzpӂ Y"ǂe =% V$Y5Kv<&ȞT8'4QDM4j"R NM~Ij"NtvD\ '=Q}?@H5N5Ӽ3][;e\z ^2>aP;ÀmP Bw!(jM5Rs&C](jߔQUWe/w?7u61eD<*VɃq;suN_'zFj 7 ށs/eKnzouU*ip]mX{>k׺ZuCFN"8)I QJRB-%t)E`u~9s$XHDkLľ^ӠY iKPNv!A/A+h3JnzR~FQl29j.+AFFd'/;vJK,2Yí0 Yw,acߛ"4`%Mc{[QlT*D_ RQU`?Ou#,u|=BhEh0 y>;A<ڭ<ȱQ}^`3Oyh`AG bq]]lUF;c_PYD,_sMBדC'l@ogs~Z((V0T(1R P$C:\NtzMJP  !{B|waNFjI]W yjݎW]uAnѺ#$Wݒr0Duy;CG~Ȣ>/{{&&6:⹣#~-h\TA+!Q%;T?J;UVmf3`uR!q$R"u4R#uD4+<}߯}c;o}7k߭}:62~p>_-Lm\C\=㷨+j)QMz5F]_QYLWo՟QWq5m3`Mm*x{ ⮱Y-W*7ER҉ӍIJJgNw:tt)S)ERҹӽ,T"-}FN!-k!8*P RL[%9Y<#0ڏ$U,b[l C酂xdz^aČB|iRT|q E/[AǒlFD\Wĥ;$8A#)+㧯x;5j>/&kSٷ#Z[~#"$Q>dWjh=:,vi4Le?D<ڦ8ֽyhF M(_gm<$ u^/_qo`q_:,ըq{ pW cO0'߲\nj};:o8_sqBx{(b! gP;^(iPJ~TmvWգձMHLXNp%, eFr'7ե![$= '+ ~jh^hW acw'8bKH P~^$DdQY_"?y/Y){"5k8^)4<|ޗy Q Ɲļ[<`O5&=KsGi N`&,`Z i0{ "2 b:ȽAIiMSr1e)wkJmjԩV5zeFev)I 42_83.x#Wj\)lDYee.òe.uٮWЀ RE gZŝYy[dD$HUī$_%+IXI=t! ݁{<ߖq~~[F.+R+jEDVdԊZQ+>*B~:z%~RtEb+>#kXxWAk=sEA[V="ݣ{yv뱊޶$ۥJaeJfM20hr&s9{PP ݤ5'z8sYSy[+߷&Xâ'__Y\|ŕ\<< >+)kq^Nrvk/"K>ɐ V^WrtJ3nˍ YQҖjq~Sq'ZeR,7$#ϟ_>"ߞ@ CZ]Wkj_}ӚϤ̜̓K̓;!<>s qH8ti굏az]k+=CI=ԃI=x1Po#*T(#To:i~[) L|!*MQiBD/D %Z(IPIJ2TF]4*6yG}4*Q#ryq{=b&T{|UocU>?w_^O}^QsFbtPF5:xv6ѳ;Z?Q|X*??'0 ރ RO\e蕁YmÐ/t!ck6"vUݪw-t+8@[ 0TۖZܡ1oӘWi,3ּʓ ^eQQ5tjwM4(Di(JSQK:l۹N$膹5C"jX_w\Z8-MclmHwsNu: ~au˽ }^.W=%U%(%T& A%ӹ#-I%Q,y/<詀O~* oBΟ"2uBO<{W=œmCoU'MϽNolI],;aĩ{D5|e%ҍh#@j#^{<"?% z{wlROVٰ.:=Yß[Vg՛6zתVqoܟ#L_?FFDy]ki'@HF ߑD4j$R#HFB5RWIԪ9q=V{`1C&ivNտ>{oXEV(KS[֦7ũlNHJTR"S/UOv,jעv.jv0jv2nFhv5jgv7jr~$P㌺\IJ{2qx|n\3WB4r+OV)oNMQYq {JNU/jPR/R>a=p pJ@CL{8ue+s`#293NQHi](B9}IKaoX\$)=9 B fwXנ,*SCqU):,CE)@#kP^:]VƗ$z ITh#&9$" C__69~scLV@Н)F8J։dHJrG"A(IBI&Sz0ThTSWa-0kĴg0kT}|wp':,_quR]O{ا궿Oۍ!= :`耢AҠQa*C:5Ƿ>'}ߟy@y}?R'9Drɓ;C6O':QN4_QDV'O Zm &jQ`;5L}k _C$fQ5zSm;!Z}$_g|)/)`Ik YS̚u12/K-}ks$K]d* hFC4N+&gbO!$b~?v"u R?rCZ(+rFrGZISJT7 |?S'_G{uXb_~?JwۿҮ:6H(xO߶oNRh;{g%1+}o/7oN>8=_-O>?G{yy*o9Bsʼ޵pp endstream endobj 50 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 54 0 obj << /Length 2034 /Filter /FlateDecode >> stream xWKsϯp岔w+*$r\T&UKIT.)Q&@qÃV*񳄆JOJTk]WW^^+4 i-LZSHOs4V;)_C踝?f <^zT~6IE4vGiqbE&߭k|W;vvF)P?ۊ j.%O5阌KO|Wɢ+h})`U[CCo$ޮ@*GA4^SP^Mn,v[[gt0$8b;!KaEv-̓ \92-R޺(6$dCnDrRp߶ lԜPQ@_&@+4W{{~gf`ʱ~O)O8j ¾!xx"=}LxN4w+@;v@ߒƾ?zfv-`ow n#icd}ޏ-L3\?.gZB,ٟ(noV>ƪvn|n83ϳDoa@^݋>w8bo#];q8COO `%sCl 8CfsOjozzrQYKf+lP! 4/Nuq5]):ο q78cjUC5K(rU% PUBXGt*mxʌ#5-]!M.o=R?|xHëbN.0Z$|ⵧ;5`# zb"kncFTwZf-7u~Lrs%͈6/Kfۺ:&#/d]Y$:ؒ @n͋vP 8+Dy[SIaݶLZt3f ӞjUƶ-R rd㲄gH4R!BMA+ }R,#Cѩ&#Yů8w*q# Aڞ3񙹋=&e[_9OŮSnUka:zS`슗}e/:4oy*nn;_"7[Wkkm70 Uu5}eFb 25N CP!,jgAT,C7Q-AFLt.E&CY|q)ZՒ+{*ha0m3 e@~ʥuԈIyβ]ڥԛmHNne'{b@ LIGg$|tfhb-BFłsN:_n.;=uzp=o@+$!p`ʼ KilFFSQbY'5 |w?n& endstream endobj 68 0 obj << /Length1 1398 /Length2 5888 /Length3 0 /Length 6843 /Filter /FlateDecode >> stream xڍwT6 RDJD`Ih"^U@IP )7*(U@t"EEEus]Y+yg3}DH 8!0HA 1aHm, tB]`1 XR|K@0@Ujp,[ q<P> [܁Jp  A 8G+!#4AAp?B:phiOOOa+Vqz"p@c8À-!? o    Gb .H$dh poo } BQht#\@u]aNA΁, \ v!@u%# P  c.=!\ru#qXy} Jwo?uF<>K$ ;Z pskT8Hꖘ{AEzῌs5?4 'C ?,a~>i0; G'e1/%@?0tɚ0 oik i_FeeGHL($*AR[?B_-= x^E]>?ԅyt+JG(+"uw_v߀qExA# ZpwoBX%B`qao= 8o֛/  7Da_6–A ,M,apy. K:ԐP|D%$  I}5~("D.@B~@{p>h )0\Gl;CH˿C(LSupA,fQ.axIg`Nmnٳ}j8j8W8b.&q4=HV.]"2dmT9tpU1DvH~k{eI.#m/qMv;L|r}mΩ#z띦dp;W(NMMU|:Ϝbtz;+s|[K[7xo9&G ʩHTvIC|>ּ# zvXhOw-wzrK__x؇7UL&ɷg52j!j)b*_4};9"H»{>xӼVeI(d }4~f7&XM-4*Z麰[`*+÷J|@(% ~$Y6{8FTh'm7H Q}? NеxgWė${򺨈'~7h*NǛz}Zo- ܗ%.(8 ]}D7h-qtNSNHK-%r·~s`eΔajqfw]ͼ`a?y'Wf5=uA_pb&Lt3ZEوwI[V9\&k۵6ej?ڶ:={y7hjrJ^}J#ICH?z} x"7_^EoϷ+jqI|z2CMa=~+x?.>;B"nL~~{)04I7rE]hzcgrŞ,2 v@ߝۋ}EGL.՚~E}3LY]π7mD(#W^11zm[y+` 8k1WH`8"p!gPdaO|Ln-&텇T}W:UV;Fx^c~VxZe$2Z_,SQ? 7JS"Œ-gSowe?iލA_Wg :NSAcg3Ւ>xa\pѳjJޢ2Ff*hշ2*Dk<ꖼQ!E L1ȯ-6;!tKrJA3q1"< ֍} ӽk~;ٖ 'FyQwuc[ęTe,\L5zçpә1A_k`u +)pF'%Qc X*,rXgH;u|"WQkGb^nހjO"5GSvI ?Vy;Kʯ6yJb]LJМmP!G/3$$ג?=`Z@^ҞYXQlrgmVBnD3_hab؍$2J8aڗ338(3&t<3F]Ck*+&z{c1It×/-tӢ#Ku]j5kkw+Fz\@d)ڤn(Y[9n/G&FWc+ږL$K|f>Rxf"H~DA=45pQB;܋\MXo_V)ۙ*3ǚ2܎Rk".0pLMS^a $Ia/8yM+2Z@*a+s^mF mwܹ=zj7g([f Z˻L1dUOǛ,HСdyAJzKh(ic $U̼{-ǶSr/Ȍ:}: w6D?~ر ynK69i@CqgUjP0|9mR֢(+Ei1 /Wf2BjC,! vf$*~MlEMp ,c-pP܊ZbEsyLMt/|)|up`fTbcχ'~kB?X[_lvIQ&"BLcy˷YG+ [ {R \[ĮT׎n.nr>?hju:#QH9WbiX.JZhVpi2/܀SO >Ɇ&%L8,̑ %2s?~MPJ.=fAH5$`UƳfPRIŐK#7d.=xU{ȞsRA{^\m5Kg5TEx NAu?&u2U:[C393֌ |(%hqX+ƧfOJ݂Hms1JTe fR=]X~4!Zឋs"H`{@8.!.1xU:A7K,Dg'դ[=ՠT 9rZk=$3ڜ_%t,IѬɼ3%jb.ڸX(v[gT]FY[(G옊`N8*6:[zk\J];t?sU֊$39;>|g;VY=Te7 2N %_ivM}ݫRtSU-(t)Fq=vʆ9r,ݤĤq8+R}ydvI9M9Le3.jL=xeAVsE8.U\+JNp{cWz%nP(/zu9˴I8d|9.ҨIE6+]rg ')CXQ-xߧ~܌'aNʓR ! UI_űY>VMh#w(o9KӲ)@@ nK!a,S4X"ϊ˯F'DXwooj90a{` L/L9I`5U-зݼe{/xQez_n7<4mtonzC A9*6's&lxE+T եSkz.޿8U%ha誹ȶuF ~@[ϥLnsIz-qeqCѫ\<^3e~F9_\4 t8Driج}5o$*'?x"T1UsH-~^+%U{p#Ywq&aP⤉%ŲvTh4avgja`6]\+3ݏGwsKt4ljnvEA=d-[StjZ~^fZP3#mq7%-N&FCAx,6fD_ZI>_׊(fF'Q ԋ=|O{xJ_uN+3s0j?oՠjO޳* 2]Z d+_?xD9\WT"ܱeuWKXaC>OSzx'H0%/ ~Ƞ7W gUxkWB=p:6hn?9G$9%jJ tn[(k:b\a1=RZ߭մ)y xe+,t;c"[d4im35DcF5AH%DQtD!|  =Nݔ#0z#qЦ-//hrC~6~;G5ֺFMzIBg#WOU˙i.&?pg6сJV-Lt8<\]p_Ĭos&,yxVF Gͼ/ 9Xh%k?R+3y5;)y0\A=)d-*D/RdL}T16SI"wV$Av3/QQ | 嚟\8ҊA+}hPnչ[|2}u^c(h>H\I-uff[`9£xUCαw6z5tz0#Kiֲx̯0H38MxmL}Gv endstream endobj 70 0 obj << /Length1 1412 /Length2 6162 /Length3 0 /Length 7120 /Filter /FlateDecode >> stream xڍt46D$:QFE7z% F 3D}BFMAQQN$j޾I9=oZ7' F"0 Aa@E$  rr0p BÐ0PAA! t@ D HRFX!%BaN D@Ѥ*H?_GǑIKKrܡ(#B0Pw܍8`tA1~#x BтH mkB*VJ|+NY  "'$q1g$ ;[\Y^8BIn#,.Tc(;!KK!0i0EߦK uyV-6`/qt͖߸-P$Yp/n4TPJ5#犉K G2N@]t"1 $@bp. "9Q  BpD 87 Oy8zpJ/kP_#(Q6ܭ"M/w8?@:v%,j_)Ϟ$YZm啨$S/ה޴10 (.y#ř%u ЧUMv;rr6)vP Mazv"3mm_!}Z |AqV"Fg^8 (WS ?>':-p]pU$ fn)xZN¹o~ZJ*/CӔRaEAW;+459=e|s [4Tztv}8|ZwYݵdRMt[:fzJ&)!sI};Y!1#h!_XJiS<;m7>w.$.>H~>諞ch/ð+}66@#GWnvbA0/CĎ7bF;*SQ尅 Ȕ1ޯtMLpBEO j $z,QNz+ԬqmdTcfnPQ5;XIwhP\JS2o2Y@Eĩr_ݷ*3f;]gJWU~`+FKfםMh~W@N 4¼{w7IA.+Z[}=I3U#Vj`J*YF;pyn-yYhzSvJq1QxxGWHx9'6-%s4vQ;O2M-u6өwi@Uճޑ0M\l2{Z*i?zF n޺~m{H̠=%ġ?@! y_H+Wbjv԰/ۚɋ.?)i?uwf9KhQ_ɚϻl'=I>s_U)O6śȵK 3wo '6Y 86C8[K> t|,rmJ4]?Qx(od@׈S:$4N`pzW,uBow:x4O]+G)k@:ގ#4\[G"KKܧ8'>O[Қ4$ג i&#bk#,ªd)deK>5ܪ DىcK#o4,ٙo_rP:DQ=51wΔoIwB"8JZg}VԏV#Xzٌ5:`"J8YKzyL9\)hŌi)V-#Jڂwv;Lw:B|/0A׾0b;,şq> vM:I8=<jx0NљNBQc=`CcyGbmR{eY._GHl $PvLv<'z9e~\|&o d߽K&LȄBA_4Kq+xP ^pk!ټoIP1Cݘ _5l'\?#ENbU8BZJ=\E>kVNä^p]`w cVqh(|nuԤޓ^jVE"簫3\"b>Epea- y__<1o ;#а$arMm4̄{ܪdkiiFN[2(utU~aFa j(gZ{0nepo{p{H;qB!wE,Gk4Q[JJ,o^4,ZD]ʬ/7rŨ`HRܸ&}OͻPwֹ.I[ 6^Ndj]XqLzfp7g{XeM:/UA, T}͏}-ޝZio}ةO@o{*^b jft:z2M,{vޘղ}!,7/vt tAn]W:ObR,o%~LqZ2Unlre|͊WG <`_Yl9UTۉ4g] #φg!I&^4|s,=zU Hk8t|Rbi=c;iM:PdE3ӍW %y?j g]+,Qdi$'$9mkq"䞴ŏD缢>j/Sw~~[kXZ%K1*93ҪUĔwRrpHxW3X} ޗ+ x}-G`:'3uQ~Z4+y["ʖ˝(^YW-(^=R?_Ww3w_m:a5΂"h *IR*3٥gyO d c؇n&dW_۬0'03ɦ4~3TmZkx K\?4pUUtո[pccpEH+Gb3e6{u-Q<󦪻!#q+9`z\Tr=& &2- +M3rx]GB߉9ׂU]ߘ\5&`@E[ը(; $3"V7o6 ڐl[~߷Km #0 Hj WW0.IfÚ2/*ifwrS~mM ڡ*q-QI;{s]j(dnP|wrUP[6Mzų $UL$&P_d/ 4쏺=X#TSȄ8cG^6+nŏnaH~T=ta3iq}>"hc JAg޽-"G=wuU"Ndɋ;uNifK(YhD"6t-^uNgFB-ZͮQzb§A }=l4~:N;]Lsm$_e_h.YKr}h <{ "t#vy1riS.{ "0Q}Ze:3w {I;w^ SdPXE q0E/:Y,]@M^r F}-kwtDiKT倬D;5b;͔ј5q9j?t5w>d`]㥐6yG~gV{6n;o c2wa'MvB$"I.RW&'ׂ:"?t<͍D> stream xڌvu8ޯ`t.݌fXXn1讳̳s8}(HU腌m A6N L<9YUUf&+ "Bhnk L:ElmVfV33'mx@sc@H!bk`nj?ܜtRY̍69hP529 fNNv< @kG[S~j:@rpJ "@,['W&XlJ6 ?@EJ`)osːͿFFv@wsS .D%r]V@Cą@pɑ,2.5D@Fʻ3bK?TlARLANv&&&.pcA_NT@b2Eigk067 z:]@'g?FNC `2<n&2?=XWŵiNo @ `ppsې"?CUx]3Tjے0@guؙ_*aǼĝ%A?"?2vv-x)l[,26w\)' x-lLMoX_co_kgenRu4虙kFs@Uob6F ;tGd ;; 3 g 0u@FHFF?(7d0AF?(qe M? (=( M?U pj؟i oNhd1؞~RLY{f0_Mߐ`7_.8;W &T_l[΁)O&ۙ?`? B _sl e?vgzwve ljY9#8.Kal26Gљԋ\?LG8V@G(2:95pVNPp3i`zlYp]sԃݸ ,r:;F9ߤzA 7✭oEmP}+k3 b6T8[#݉s,-7RQ zv34A3vHPqC`7]q/xZϳN~e :w ]2@j (Ԭ$Ưj~V1@~/U(&̥v"*,5ٗ"5zq <1:!IwƞƥCyZ]vS|ʮ0,]>`9٧+=EuBqa% ^YG'RˏX*f —Q}#2A%tAەTa)R&[=O pJ"咻Id89:FmhqF_MB{0eJ J|o-vjghgq$i{ }y_ΝptpZT(_#w8U.cAE 6ymf}[Lx P}^vB,6iJ!l쭊FX߉3dG| Ο~ѝ^q?i1٥#l^󌨚Pʃ_ pAPL.kUElCJ,m#[o.-, G5s aM㇍(C8zb)^GRŞUGѤMM労Q`U_q?Rֹ(?TaWCkܱa }vC& upb'/4[r;ɷ[1^^BS0ԵjV"iV8U,4> hU-q߾#[`tgُ7Tսi/2Q:QzL5E7M#޲d MV.пS.|wvѩzĖ~oyGOʼnθc!ve[$٠نwƶt!Q>8C]*F?Pr]}O4q cK/:hb.l%~}5N6/m:/$V XHdJLRF}@::ϼAl9Bg-k3[%qbE}׵4,,xJ34. 'APSfXr{YՔIF1ˆkqWh6oqjAIH )%Z ΔQ5*twx2xOL,M-1 95G !ehcyJŏNV!w-~֍4LhX/ LHRrt aMFݼ9K6}%k3^ 72UtGR=#9 Z&IpM[4;Q҅ A.N˕=hFgyZG@Axc.F $w 0,\Ky9G %L^&&ܰv^h]sTD$zx:<ܘL 7EMd(F' eAǶ-ZR72vF0usUA6h0z~Ɵ:..E9?;n@k4gb$FsA:lT=02ϫSܲӳ~Z[.R"W __ Uk gN͑p'liesLhWqq'!G$یw棥̞TŽ[L. A(G18R["sۼ<'׮/?/d55eyx<U|56zU EO  u T#KmDVf|Urpv>0^tar}ZA_9L)1wS]A',ƟZ_j^9r!5O2Gd`(t9M(9gM8QD> 5(G."zU&׹TnRéc/{݇$^\[y)ոw@~m[M9qZ #/2F##Q^ȯ_yn~XZ7k}Ʉ/GUNH<͹pָYyFoMPCWJҔis4fG!q0orNuvӮI76؆eZ.co4啓<緺&rl^] Έ81xQ MqX㳨d,ŜfhHD4ݱpӛ ]esSiҦ#|ɩsݹ{HZcO ј䄵x*I`t&(uޖ5G<81ꭆ`yLo 訞hS7ە PTjj##?"IpgQlZ/i {&뚺rzKJ׌}g@b[DT_ f$B:c+Y[}ǕŜ B*[K ,6|ut䲕<݊Ia=bG;s-ڒG֥G xzyUKXj" =2D i;-۸1 5xX;nClyinP||V#ʾ?uGRE!J@zH7Z, UG7^ѿ+n\/N9PCqˈ\6 jw-'MS%䄑l;^Lv>!&?IV0+<^BDhS.e 1 [+jh[ڧPf(s,ɚ8ڭɬ :vN MюLrsva"7sVDo:FL%6J/ ڔ[T_8()j[ |l^cY`]Yoǜa|cA]Yf$6"D=:9;HŅ**`sG Hwxm\74^V]e荕nY2cfsxp-EaJvvT35~X{x<'l>cG;қ?_~UՋ`8CQ.N÷60Mu]F; ,+I\Ym&IͰ3ZGwiΎ8 1TЉvJe+>ꌖN)m԰*LeNѱQD|rZaYtg6p'B(TlwdQmTLw`SUolK<}!vm'jǎ;y$՜k8NL&4B$_ J?y8{WJ$=[lmo}L6ޞem}ǫ䳲b|cӕpd14L HRe%#,s6`qE]kvDB JKB׉:5 r}Yo-P8iplP<ю@ml.O\;9YXM4_t'.Tt`1=bN[TU }}"<13;T&)>Rqf=309)|noc 3&u /Y񿩩y~Q{Gq‹V!.'=D£> G_b6$@e$1)K>4% e/AsG4/ff9$)m 9[mp!xY⥸)OS\5Gq.S|4FMe^rCN]<=vA&o>?^tP;%q㭃q'p1bk<39#;PQ>)4=Iĵ?N{o)y{}SMiD$b*CQ4ttm|"+*½2q -9`#z YvkJ8zyO?˒0/֗V}Vv%_>u8+pOMӐce`cψ>[]j4_&ͣXl ִ͊CiedAʘ!Gx\0^Zko'L<5&eͱB+b"X1R[(ȎdtxtXֽ*cwQ*~\_yI.:Usl5L)Fʈ/Mqû3ɮdEi+4pտyy,l* MkX~͓l>C3Q %QHE㨦@f{[1Y_YTrDUgQf']Teq~q  ΢uki%i|Xk&VJIbgDcQڭ=|FuMhxvAYtjp(jEAĽy%Վ87ꝗ$@8;Q/DN \Eq(β?q9M-+ԟS;L܈BiXT*UdyWa^Ҙp>筧r{aХ0/:T ƦUFgzVBZɆqU#xU&,MD։g*I < QY{RMxy'scٻcgߛ*@n\~[̯kp;L|K!+? f#sylѤ9 Qۉ0ߑٱڟ)i`6E{'ju};}I" h$&i>Fh;͑ ڐe]w @ptg\/p.'nvآmNIFbLЇtHt&߉>^#H"C& FPHr\5&޸1x3Ԙq6γYﹱzNM ChmP ݜf$=ֵTGBoɧ"'p,gT Z~aG8EGJ`Ni, {Y#~ HbqQBɈXf :ǧ=-PpjӚ0OXnyEi%;^,0D&˝Xf>H1O;mhf~0g3Y^AavԲ;%;r" ͏_v+B[Mn=*qd=,(Ąҵ2ʢk']6ar&Yrq鯰J6y,:[ZkqadwǦO>8Fp\|}Af3P^lz'ߋ.@iڨDtBm|A0}ul̯e+POO \yn۲z+`>'!sIP`g-3$Y2(IFv]8\%ӷ|F %8S᯼hL2S(hˤSPխ'*JT튉дovK?C *(v%U%3sֵ0r ?myMǞH?_H+rM-ҸۘûjS`wI䡦?QYQv#v #,O#L.(=). X9UMOK'd-We5Ǝ:L!&Jk\EN`L!LwEX7 &_*wxdLsdLJt}4ٔQ@fQ#@~8[%mJI>^X24kY{[)BZ, ҆Rs]oI5xNc D0m2 90X4[Y$a_4HT^Nv*6`/=V1X2_mC.n0i; &1ZT\"Rқ\G~ehc e.{eLi"Dۂ;J#'N($DLУ%W?5}UDӘMJG]'< m4g)})tI3L@zQ*l"!vH{N6HbrTʌOeRMbt\)O35PJ;xEBYsPr:z 6Y;+0!Ne*ECI v{T ME1r\_1^Ģﺙ,!OLGxA:1bql޽WAGcG :-917a]nMMOcsQֳ.忂(VWn)~VUNl`;񭟻c@ܠIwt6nG??Zy!&0+ D~GaLy.e둁|lR9 <&4*>uºI][q-y!>.&^61(|Y.Q4O}W>^"qs)Zf|״4pEByAvR 2}jboi0u/HqgEJ`jZъcNm* j|ÔoE=ʈ$8œcPzYYGVHLsȻާ{yDRw5ǥkđ^L,֡dZ;gQI+.C>dz`;D#UlFp&2[% O;ŒlwN3vL;xS`h_*P\e/VыJ/0P {]Wo[šY/Յ{ Ǘ1#з6kKXX1d+@Ah=y-A8ϧ$} $OGYYW)}̢p_M2ɣ0.ov^ r*xUp~;)>(DM?Iӷ5zZ9 v4"2+ŀ$YoJCvm&a V6Ty`f{;=-Qtg&XW;գRu]^p0i&xM65Yv.H ˡKHCwL|hO8d6GϷZ-p]KCTJI\ő,Rm"#0&Gj/p<1S!2p#N_0-PB#4DGi<|z}*-݁J= I ɕd"اi\h6 z =. *RqWւB: w\F R=$-ZqW(jOz\Eea~eY[ӛx%L_>~Ztd ݖ 64,/UҚ [ɸ-ffS)-5|]d\dOwΙRG FԵ?e!?Yc ?$_ΥE).*L/p}r_~x=Κwc#{5bF?x@䟄3%T5w@$gSj;v?""XR15k.eeo?0~sҍI0n -Oewxp*""cb,A\YTW 80>F:\xkR}tl7wTϖ"#FI 1횋7zC+?M)Ѯ8=|Kk"e]Zp/:ٸc{2ѝFTjzghw@YuSSB_ts`dZ{ק/@FY:"Fl&>atR{9lR¬ꤎoQ2i*{$in`6ŵ {7Cm  Ү̓Fo4gBMyZʞwרK̶H)/)i%훤b$mh#)/;ߪ_}*M-b_bkֿ ?9Eu&sTϒk4@vۣ0hs^"0IBq "~Fx'5kOEf7{VbDQT1J`/q 0 3~ vȌZrNLTo `L-W=uEwz#DEQDe͔Yh/&w#5 O臺2L`}qHP0w[IaSD BW=1+vq5('*Zgy@SHpBO ~V: y{ U7h%/B{WcҔq$oᮀox-n'ԭEj+ńRnAףGp>NG'aN8Bަ! Ч8#ԵNn:bt~+FfKc?Lf ٢B+J7ז]68Yؼ50w"/?KӼEN͖3¿ 58KRߵkI$n0P. dvI1=]UKO0ޜ mф̄H4>Ë| ^D" b7VoNU}8zK`%8?8yvy BAĶUXL3Iq{Udv61]ī޻Ak5ɆH\]22'UlJC$v*n e^V=F?_eVkb%%e- S~?,4VtwIZ:+pda53?lGr˵Hcr;b!u:*}X:PpV-Du,Y0ZQZi oI wW07{(1%t6M+ {>>%m~WoOnumX9"W ~{zxxOc2@s:Kхǧfqameb1T-λًQ12GtY+{[. u[zJKyϞ?= 2шj݃7>F;-T2`cCSb䒬Sp%.Fj?a;GE|(*3)uj -%XTS/ uf.VekTeKo~w9, PqT=109#WN 3O4GSȝ3>CجMz6 |i8HVR %n%G&d(Ʃ{gbuT]d~]/F=<‘7PKl,6Sgm*f^hX6{~:1i`ȧo_'FW4h ߘ HAgk1lʈlnn4yU"lM@HZ=“l]w=qWwXQgl q8~ᩁ$X / BIX2?S&@@j~ԍ9MH>1.x?;ž߯(V}2ם[@Fegz~a%ÚΟ[q~!!jR@OleC6$yU;UM8{ƭR ˴q<ʘyԙe4,/Uo@1bn7*,s; Xb l~v1-rBHc9ج*ɕ{P<:] 7zv=8~1)u_Pooaj}3@z]QNֲ!w*譟& TT$s)nIȏF=טfN:i2$pn}1ku|uICb *Q%j}Pod=j2qi3Ǫm^[ZrN(.0"^'杯mFRΡdzZC][RE?eeN;ͧ%9'԰FߑyrLZϒ N +1s@cFm'xS[Bi_!,',z=E]r-*. kwg5[Ͽ 0I'kwN1(h[0 Az 9h[`V `quشKͽ:ȉ=L悾ՆFY%~f-p@< ]΢/%zy%ySLAE* Juj j8ލvM^3;;X '*q+^{6gxVec^3kE:|4/vÉ.@NBbWQ$,1) ?ˢ!Aw81Ճzل.]}9|m,fF-ȃ Å {\wKa9aYȁ o|#d'GNj6>^1 !! /G1Sm/9YBr5n k;M#ĺb]JsIذa\B3Ɣ'ޕz1v3.IWQ-)az^_#R0YY.NmNk%HƯ%o7ч }~]P&A&F&pa V\(yf@BT[(PD<rk6}@F __gRk+-!GIfv[@qO%{9%tɥB{&/5Tn[gq^G\ͻxJD;j/e`knpz0}439EjQW@zkžCA);: = [~$ ծutq inO:ѕ/PTSy7z܏ʆe7R12x沇 endstream endobj 74 0 obj << /Length1 1379 /Length2 5902 /Length3 0 /Length 6848 /Filter /FlateDecode >> stream xڍxTT6"̀t "90 % H()] JZ߷f=繮=6;1#Re]cK! M(o;> EGm*(4PhyB"!1)!q)  J DxHT콠]F+#}=N(to\ n8p tQ`7tE= `A(qFܥݐ'9n>7 0#^`Gzn? Lȿ @`PDxtu@ gsBBJ'W"(w=psBN|P|{/= @{Cahj{C<( 54mV;*#pW*P0ツ@᎐_c8z ¡<*0hmN`@()&&*?}@΂ ;3#@(G{(Op:8BA( wv k> ;k4p῏XPLr*)!|’~I1 @HHH .. g{>#VA$jO\ g.=`׿( /BgWݑ' ۻAahz*Eo9/nD٣ՠwB3__v(R v4@//p AGC ~ 5Ϻp؄EFDBhU:}~ (G!nP'Ahߚ} 9H:exe"71յ$hQ3glGJv54#O *"y/} Y(@ao(};}frD9M? =J6d$¶L5z @r(='aɠG+wa>da[C [>$I 44|MPꈣa5܁"'Eڽb5~Z,#)ɹZ-H %s$VH,;3EEyT++Ŧb4t-ԝA_X`.5>1_Iӱhb鱸yZe ?n}1u`;dIMn=Gjƣ*מGtr''cR~ 0ɚh&B\hB:owR*B1xR3Vt`[*$w {ݶIr8Ƴ.zlWǩmKV9[)PadK^a${׭ ņ 磌2_Ovroh4]c; K Eە? PƘZ tyBϾY]H qn;r^HI@F̹!)Q!MmBU~)Tx. i߄k/QY=i%mRw?>e@^ 5* Ue [_EDw-kG*m8іWN#[I,gG, Tun7lִU 4}i)v9;ðһN%|qQ)=5 ,Kf+?ۇ) OS{ҘreGlUu=d֜M=etpH9};PhF/j$ӕ*RԼ4l^&/us]|Ob 765lkW!",k; $NX}_`ja/TL%Y1Lz><7lZ+ְ'3.E4O-l P'NU(K9I1 iFs7Vg>OE W'(J1{N~z 񏚴!Uq~&Y䟕>;xz`1) T>]Y|1B$ZFv}W}YU s0'+ԟ]1e=²Zbٿj_؞yxj3ĚTقl#nÝb/؞spqa*ӘP:q;8_Q$KLIt eWX?1uQAn-3=50P0!Jtd?Zh8_IWq̎Vsh_+ Tm9>m_m}-?Gyp*f:%ԏ-1mL2`_yD!vFAv+/iUF4 Յ@(wR(ܺC<+{hC7v}ƘXH66︇:T-l8rV~ok&x+!H`Mm$5]_xib:6GG]|̯yAcJ rn+4pn9r''+PCĎ-(ɹ,".\̛,_-l+6d6,p-N/1o_ač3o+~j /#HM\b&;}T\ԗJxr+Ew`o^朑juΎ\4Pn;bU $('<-ȷn*TNzUǵf6e5V& 7[(=Yy$BPMӛ^yD'yoZAx@[-րͱtZOעޮ.*nD5n 0LB|E1m5GeNôɧG ۳oI~$Zy%H=?3vd܀ĬBK9Ka>K^_z5s`*:GDB. ሳNNIU0%Q\xH轧Q_ ʕrl?9LFCmG z.=s/*^1c=w)j#b0_*aQRP񜯳)GMOHvFE(ܵXLVo03m7A3望ɡVQ~=#tHٺ!NccIբv$Y'<۵Ģ"%jN3 󔲶7s˫:8!f^}2u 7)8iPݝS9 <ˬ?HT=;Bg}x@`aѴr]jcYiPY7[<#8[8}1F\ OA znO?<`y20"2:m}'Εz6e'}nIyg@&J/&UQ:Z8ٸOˌEx]h<NV,G9M`25Hx暣e(@fuEAJ4QMpLc_N}LN;mfaMRƣۙrDc]"rZ~*z:,X%xt \"c/1Oc46zU. :(P>Y]"`4[rCY߫>AZ jI^)cg(~; 3}j9+aRV3G]jSض?fIS{pi'sIvㄸlXAG'r䡺ydlr ~s=ēv]ڨc_')c0dr W} [JUճOTWPSKN ٮ^R} ϕuTqXTe2bj0eK+;>_˼=I['DrSFJG @29/֕fscpȵe&-⮟j)iێNhvByFd2} /^ME铧j_M/ X_iGFVuL[vU\xPGzlFi'W\7d\Iq0_f)>+NiH5xf ڴJcп;lr*Z 3:y\ߩm+jB{p յ 5ZbkF+PLClݑHew*4q.q(R`u=aWH)SK\$/dkm,H{?WwfED~>1B94sRImuJ)wb, 4 XLw[TX֛/Rd,bܽIm|󕭍qPzlC؉W/q6__zxvP0ĠVh!Bc{Ik;_:gnfizo9r|Uq|V+5V1S:{mÙp -LՔ^ABzmeZL@`H(qHEo5iIKukFSdh߭O}&qʢN8}$lQO8cP\KXXi˅U 2Qrc=no9jNLF$đ΋%f$efo;NKjA9żO6,^*th3Ҿp9)x[CJͲFzv }a!V35],|ˋIpý[V9~)l`eYѧFv\ I}序7宒k|>l3]JWCzq, ^cIl?P(߱{ss!Fg̠ NJexގ6/hg[箄I{}n1Gy+9M&w߼a8Igj>Tfd7ݣUEGHz&w8e|񹏝1{[hreu%+p'~*8EoYk-h×tgu0s@--Jcvrmz[T|`3iRY]j97hc4TܐPTVnCga7_}oҪ,9W/,L'Yd5_=SkŦ _fZ#x^7$~5˚0M}dv[0U;zQyAշ̧Cc[޳?|-ӎwg\(\#mbf+i'0C/t7G1mvRa4ud'y3"\V{\,Tnƾ CFo}f0¸"k d#*j{oVUK5M,KR|3);"мYO0> stream xڍT .LJw(0HwJww 3 %%t!!ҠtA,naaAR'(]l @B\<YAݝhwgaC]lg 0@h3l o vPp!NDr*@Xo6?9 @P_@nyBa+! vp? Z"  Ӟ3 "0``=>Yݓ0ՁSut(caˬ!.~...!^.pK[B4ZAn+O677 ,!P}tb7F 0B7Ͽ~0A4TY׊ ug ࿱ምWܔ (ɻfKQv VjpU[D_PXk1>1;( w~عqW [s oF9}_< F<on!!m0wANؿ*- 8eS 8E\N{ TG<N{ TG jA!2h4"=BdоG :{#=Bbp#D-F"aD-q AP|<ňE:޻"XከtFd b5[boGvpk@]gv(ApW?&z߯;ȟ&BmF !"("XѲ#xTX01G ёýAyGzm8 F -;?E|_t"rt@- #OR^M͍jF?G;#^-lhN'+R? biQ"Vl>cϯ~8ltt[',ק2++l1rࢌDGa<E nllWw>}D~2ǹR6d;;x*';[*c nGq́'-5P."CV TZ itiTd6Ɠ#3 0lYqs9%kt<2x$ȉ^# Ê=;0ա X~GQwpRCVMf5rk:4!BBiL)kc]A!keg k1*먢(@S YX,Vۇ`.jL2 qJo]ru"4'j>b7a$狱m܎&Ѻ'~>SmRXgHHAY $>2!8/I-)OQMڒPTR|QZxF 桜o;Tsvu{]h?*erZ;JW3a,ހՏ]͛՞DzD/g`jŦ?%yCKpXzdsͫ;~R-&EPj[#s'EtrLJSF=_̯ơK"&bΦqN(q'j$lS\ ><+j$&lvoD0>52WL@8 v*x\@3E}l,J^*2p.2/w!T6tMG5Rt"%gz"퇮ʇ|{kEEΑe}9Z޼`$k5%BiXMs\:s0n P0wjza,h'eA[bl^ӎV L(̠k  d}Io?3GdzJls?:.>eD%8iQF&óAgնILdem$J5%D|@r! |f]F!OwV/K5ZGfȋy)n\~71ao%4({R(^BEo^ܵlUPv.VAkT+el8lo-sQ=13j#uT2N3OÆ[;Zm'hདྷqJW75?79|ìC4m2cQ;c*3)| wN4 pvz,y'j^6VH8">u }ygK|]C ZݩBYA;'f6K4#[SLI08=۫ȫuT1͋3]o$4M4s_ɦL%PkNaZ`K['udnnňEpZ\+pC(>1XV_^_)7Urg\Q|{mb:ckmt>1{`"v&>D|hlFIl4~$x6v'%n@G5#%rs3==ђK̬3(}m>TzSZZo~V,N==Hv9 3wn)f2ٹ9FZ+Bϥo¸盨M.ԉX>jnЬ(sEG8_oĥ87ME=iAgṳT9w+2"Lij&߉5~[:xY'<mDrTߡx|I7Ilh\ņ.pķV?%US[C5EK 1nx;ՆARO俇R,Űnk.5}ecqsg+ɡF'dJ:vfr ݥprpF:Iu=RePr``5T Pk;WI :ZJSj:h]*[r ˫ᠪ:Ξ<:ט}FZY 菹v:F}(}3) OwPn {=2+RBZLzhI:׎Hy%ИeZhGj.|6rmg;YIʸec~R4Oȵo/ [Dwyz0 `*"rZyk|!h64,/y.0I[OY>)ڂBrG"IkLYc72g "jRВh%LmصoZ9ŖIA15TAbRz1DI*59dv5Gq 1^'sFi7&?)x\ZV;{VˊڪD F'YZ0G~v,+aB5OmitG $O#c(SHR*|C|LG^ @'zQEBo4K;yd ؋pq5JU_9%20[aw$_p{Xe-|#YYcޜ%q51ݛ@MȊ-=j=e5G̼֮=b1{=o#NJNv|s"G.i=}[BShh!a+ԍTw|Ò쓍W./[/RtNYS1\+I |8?a<)=`>fz8yw}hU>,pъ<@"Ro(z g'O=r Tt7?yUNpfd{!ZVW~jc/[g4V Nf\8(+rkꙴ}ߚhJBo'90"mDbaّZN"n'[%',5 ϲ)Gˀ# kcl9|>˺5 s_m>2^, ۺ{$v 'Vٹ!IlfֻW8Q3xy{Kr#!Ӡs&܉ϕ8oyizgT)+M).]zpy\HN/0dx,h7|GSf|94k8Ւ ț|||d >no.苂SGr_ԯ9 )HrXsA``BWXR,+ՈBv9f;ޯpd?؜K+.{o O!3cQ'N}ˑb'.#GgaHOզb^@LJsNd5JBC3qESОUӿBb8648X8VΔАLRfcv56a1Qs(鼦J]Q6 =άr0,lZiYL12<.sz5ZS2!?v|2IY}C;Ҏ#HPS;oMno7=/ު-~6L< n7tU]AxnS)7.A4jsqNp.\v37LcqCuTF/ӕqPUrEV}Ƞ~ C6TUR|mqiݑ/&37Q;Lbfh~rұ(CaӼ5JPig3BAV$uGY>s1_6 "V..KE65>+w{9qhtC3MuT=) -\>R5hzZuQ{޾1^`4>Qm$iʤR+vv0R<%[J̄wDK?fWH1Ζ͝ݬQQ,5ɴyQ4 O}C{rXFw'铷I8 Oӛ@zi _QKý!F!H9M8esr$HޟW bU(ghue'LEʧݣBΣKՐEO)hmH$lnL1;t,Y|*a1xhO0)c 80j{o9&y]>^j&FM' K7%|`/~w_U^ʒQex>^~BNNKT- GrKb߸{p^ ƽWva3A5'+ܾB$vsuVw0 V0J ,b˅6'!b!"c ˆMd&{ 4Gn[ >[E(wu&O>]9LhžԶ0*{X~KjM,JN;ITZyH uo-j5jkt4A+XoT6$Z5߈͗'mmU;kGr*,ݒWMgJAԼ7j]EC}-aVLyS*([|ڎՅgJ v泾qy՚rOY$@K&?*].9^V S]s(_N KKG7ԧያC[҉0-/_!E/*1oVAꖽvIRNjXDC).b<ĺ"=j "\FgJa[]ϕ%Y!aheL@CAI1zOڸ=Lgh< 5Wcv52`V 6 9}j}o7[Lr(mF!}H04eUPgϳ̞pk!KBi})K rl7C L(n"PS. ӫy栐EXDlLsĖ*Q*~%Hﱨ.,C~(i@Rxc,_"TJ"˾W<`4 D"aD!sLlWYicCRgLZ($?/O}EF q/kr4O矤7tjle$QWvg-֝}hJjc A{BcynOַZ8<~ޙ9)I*^"6^>xFAnAf^j ~-TAt{w:.ׇ([lv~.)d>govR?aL2 ))K){3OYSͶ<jh:&L"~IgƑG.gP%xq U_jXְ:k3ĴJ5YLp"tn6lߪvq(߭C =k A9Mb^+2P_a7"5&.<7f;?MG|"M'-=RѹZIt^>k@tt3X;^> !RLpcɈӥ>Gee&J/:9r(s@fk?usldʷ6 ֨z0H UnO̞y>6oHh=#KFDa1*o+2av> ЎFg+hgU ZM` h7;%Vn̾ꁏۑ+m)i1ʿ{~I#bIʖ/:kV֨t33%^4,qLsf)ìR%HGc]ҿW8n c;t딩T80Oና!_nptQeE Sf`oiƹVF΀|SUF쥹GZ;.PR`V*HGqfXLWF0u|R;Ƕ*gAM~exv6BI#FBYo9mÓ3T5+QDĆwLea&*ca:"y~Cwle^IÕE hῬyrTOg=$PqTbB|V聘u{woY೑%De#sN&7k(MW㞠3 kQ뷉Q)~z2ZꢟAz;]9eWwXX>N%El*{X;-@[q,0k !+YAtmKY->ÕT"Ko!LY<.Up^"~"eQxGlo 8pu۷ŻМ1 5*SR+l==O E,V9zWБҌUc` h"}2r9YL'5u'4yDA~rqkSq|"6a|F.H\K=?:o *u4s{ B LʱΨXg}5Ee^] iŢg\v>3?m  U=)+0͛ug*GVu/eſyg}]a9"r=%Ʋpܥ=;w MJA3c6ྔ[Ok!^IY )KɚO瓦[4>4O5, I-=y GiqĻGn*F6>ޥ~U-]r_`k;2dHtl56\D,Ko!<3|0`>!4o(ݥj@\ n'o=,SaF 4|Oi7Fj^Ekaʊ>r*`1J Qymb#V8G#1(X*}Ahv7 f~nW />ZL~"x8KWlozϪ̵9XK<.bM`tNU=]\"-CGZZRCmI$F%Y/H}̮UoRN]܌^4IU(N^r 6̽1~b GuK޼,e2H4_^e#Udo]_p1X< VǦ?u߸-:lܾRSE%I&&7k,Q,N~z© H[FiL`ˈkr\9{d(m_ 8ZEQ ˂mW@c(Kb~(ّ*HӁ㭅dc7u z>F=[wM#vR l\?\s:L8)" QͮA*uaq6R0ʰe8 }0|yIXAi*M;8ի@B#v_o+=_HT.C< [ `_P?p##sT FÆoSGRe;Ŭ~X݋O=bsi?}xadҢH>pnAe5n5rB'NTCI)ۗ)7~7Pv}IA{d iy͛ڀV7?喟.W /yN X gL+433KHΪ8ަXA_|X&X Nn~VwgspnkNuߌ$LlW^su[TcjYKH7`2>ʞ~BƠrk8,Kqkq)_}*F"bB.9=⯤]+y^hk6-q1V드owsx-&o&i2l&JV9n8`|\O ЖI<y񹕨 wԞ P_5[X6I)sțW%AZ+u WsZj8FrQ|]2f:兂f\Ȁ@遐W bŧC?dBlϒ ׀vZH3m5R:Xbm~;2&ڣy$y7%#׆屔06s߫/GN!,ӝof<;-^JqGE됟EHH;ZДʞIK)5=EuFqHn۞5gs4=%E7zi'CirL)¼W5]%(Ui U|NrIl!{PeExv&AlpP@Yj#V*ue[;r$ʛ{kT"?{78@;ʆPf/'a )R[cjt%_YaKlް6={. 8Gpڗ1eU/YS9Y5_lN|Ca+;_8vg|ZD/O >c.MIǗPS0$g@ٞ;_yǰyجmg5~y<{C>|΋OD;F56OHoݧ$R`s䟟35t 2dP7)haju*J[g?K!Ρ(B9{)).3kyZ^VkSH! kS7;:A.JXTIIvt+NceI9XDlDI8'41L#Jk7h'B"}z[nC483XL73x>B#YD`T>d&ύ_?V5Ewa+G endstream endobj 78 0 obj << /Length1 1536 /Length2 8026 /Length3 0 /Length 9046 /Filter /FlateDecode >> stream xڍtTl6)J ,ݥ4"ҵ, ,.!]" ) H7(%t#-<}gk暹gf喵FXAp$7?P^]OO''`fփ"a?f} AB@[:|"||@>>@+|C\Ggف\Ág(v PBJ&eD:J򺹹\xζعnPPqvX5 9@ ԳaE @C.(5x{8PWE AVs6@~+;#Ap(hAJj3|;v?np{ lpk_MXyN(Ÿ[o- Bwz=@& P "Qo:@k( Bဿߚ!6wMn٭pk kG@On PXH(".w-"T z;@jd[||/+&.H v?n'V(Ko䏕UXCQUAn@n kP%;Z gV C._o |{}7\n]#헀 H@X mw@3ׅy~#Q> Hȫo}.y!\@a /P  : yE_co:7q`ɠUAMnkCkIܞQ8iKgWNefnQL*m|D/='mFXtӓ>モqItNly?r8gqR"r0U*(r^[`*bNX4>8gL2['H%m#+b9Sԗ"x!Fa'c~D:>!"b%dҨm1.~/{ḾFi%Z # w󂤰*o7~+rfTj[]|[~|vpa'!wzb(=S7X*sV턪Jj], !U>[fzF9I%J< ,~c0U'oUKziv&bq%9}Fli)|Ss̆ Y"m# o9crLS& v*Q"\ CI-S(Js>)5v{9'5\U%J>չ后Gc5X<)QчڶJ|WXVAݻ6@dKZp7sk rJj79Vwt/z8hO8CqɞWœ3l{C"*“pڠ )M!ú׌<1 wN= a8[Cmzc7t!;-/}bK|a uմfΠL7ҭ!LهPH3J-M@HMj0tIM73n9_MRl^UG ,ş H*{hn&yΣoȉL@7}w :$,'o8L6p,\MEçCm E?JiShqd+M]tJp>-+&(cuND?4x<m.{Jr]'FYqK* \-9r76%iCvuF:.̷!)XRUyo0>.n<)R7{Պ1:A:Jso~Twki0~E!ɱ^dzL,!2)-v/jΜyȒ盍G,\:c-|9u6 [%EOM˝]f6<=nJf?J,q0sM_J$JhB]{R% |*yX֢@\x1%Ȗ  9V"C~= rfʑqg=*z#DTP.`9E*'u|ez7fWm'137Y U&j8d٤SaT(ex:oF5M֫bg6QaR{ 9@#ox(dyzJ<6}/el9mŭ1jƓL']K+eT35l:i,޵䞜6v{NK+,{m-T_`ïj-ؒlgUYu/:K-Ћw-޾?&rVhN`+YMa:gilp6 3A7|/m?ųj_^C~|U'v,b,M\Yv._t"1B00Y>\ML{Q^-tF^?UD?" Bp mf_Ԗ{Sbh¸(ߥ"<86W3!1g%ڔef C8=-ӫeUY4+ x)}=UwcFYxw`/@Hrf(2)̯2ًĊc%=D)sySwE9R[LpvL`'d (A"kURuˈ ?ӹjWC{Z<:º,'`|n ?N燣HJ:MKǛ^=, 1crMUƥfoF~0YnIӼ $i#r2r4ājeWWxșU"PBͯ{!^`#DQ~G |X^sZ?)IC *?":= ~iWRKAK*#Bm8B9>7\BI@0UA}7S!'qbMvD$ ,?zMe#orV- ] Wdq{>j}{kx 0仡zp$eȴ:a35W6|}.i2R,RO,WdeR(Sq؃6g3sɑ\d-oFz3ڑҬCE& -s7]+2eɛz6{$1i@KnP`EWG|>[Tn:4{{"d2;$gMn,#KI2aUnc$m왝ݪd z*ݣxGkybWXtE\}dw]5V`6-{p@St(p `a->dʌ %!JYc{}E=.lIv9˖H|JMmyU;(X{"E&P)%C[ۡ%׾'*?-P|xUI]akXJe(bxPP|}~w~ƟNkWKF2ja=}\b8q"489fj+4KTǡ!5}<5H1c֗!UT\5ͩC#ΡȘoθK H*(ya|\Wzgj'NjlXoo, ˵~K @2J,tet18bxh[Dl:(gn;\͵e2<%Zd/k)\/̴q9Xp$OD_b07L Eښe^P;ז۹fjxfR^匘OuM{U6ZQf7D=x4խDn?YL/7VsR2+ 6b>6.pr:f*:^ƒ4~[tċ֧ϸĤ8IG׆sHqRUK.MrP[\vhu ^ Yx<Wa0DqCEJCA$V\#;Z,z ]53N;Bo%E533hu6brO+H#Z+vHL;&Olq! g'Ӳs[cMBK˝qԚb7:w~hpR)9Pޒ$\R2i:+5Hڞ^g<-y)@m7!s譻}=q!0Q@@k{G،K7+U94 Ogdrrp% -YˀC& FˌSRʅ31|(y9-DuV@NWNxwKZs|3LE6m8;s4vzx|!^=PZQJ|f'4PCHMF;5Wm+rAy섶Q= mk[œT/K(Ű7ՅPf7ff ɘMD @A)q#+l: q{Ax^$vgs~]0!{kEo]\a>#\'˸2gQM5V7UH#V<~ovy^8Ҟ7Io/ K-L*5߯s2ܕk~2X]1]~l"LD L_ 6L a!wYh*W,,A&a`)z\F7)z=|-q0@_N""L¹ _"=Ngw03Rp^Mf56+ͷ`kpc sHC[BN8U8&H#V'Is,v^ GGR}Zk@2܂s}W qAN|V`k˸:%5]uꁩεE;kYGqQR}̳3Ak#{)Ңh<§xj%ѽu9c~B`}awR9ϴG ^"(ZeX-u%a^uc~cĥ~Ȉ$nt͹:Ҕ]o,CJ2'Da9mʂJR2$2s;~WIO'l2&e_8;=\jڱZjίwJWo*rkЂ%yT ǧ9}P~Qk{J5}gTT-"ۦ#lxw _ˉp^=?գш;]'d/'f<ēP BbQSkjjxo7ݲfQPO[SWOӚu5f.˜}žJ`c o硨1ɘZ~/O@]:V<dtAMOA+̜H;կn:>؄,tÞ~'OȳƏ pd(5ʴT{U;E{&K 0nۖ"xU4x.GsO 0%G鎰CcG$G+9@)b7~r9(mEbBrfcD>l/7/*[ ,[% G? ;~9YVE-LB47ɐPn~8W{T@|c׾n%B0Q.sϞ)7TR* 2_#S endstream endobj 80 0 obj << /Length1 1601 /Length2 1695 /Length3 0 /Length 2507 /Filter /FlateDecode >> stream xڭTiXEEU- -a߄"AD%d&d$I!*UT""APhQ@DYUQ.@Nb[[\d{{O? Þ|0S`"/PHFQ_GiLv!`ITE}D8!k&8l?hE8ϲ0  tu~^o Qgr0/‚Ql |pG!DBZ`Nb 0hIBq""8%`|, lr@$ #BdU{IHj 2 l2Ⳅ<%1L&$a!I0 G4p)H[2}t0Hz/B`.\jI$E #TBrQ6P)#-Kd0&y0!>f+Z *0:Q?DO"'ǂ|x \?&wC8+!\?^ raoIFS;' C6KF_B0EPP:;`fiQ,"Qɤm!>DŸAss3c(M'u&E>V? hcF,ur*%T"Q?ثDe UVG0(I-`8SH#-C%5GKv,Q>A씢dI-\Ô8yǤ9?lNp4Rlo᳜|8+8(F-zU<~e]~=] WTnVir +3_WPlpvʙ}kƼi_oK zKCѾ{ Wx3fąKG1xlgW8`بaͭ{쟧\ՒtB_C;Zno#<)aTKdòNƦ#jgpw}]bpTr~jcQKU 'P^1rsf4ʮɉon26;SVy/qׯ [mkse]Nf)sϋGf:yaupG#Egb]lHA}8}?( Ǿ+rշ?]50^}*M#I1]5e7O:imE9\9r.QSQ ҂wΤ@-$s7pR1 6^ZA-}]&֑[ĘSλz Ckչ;/αa1ǥN ϊyisxE~MPC5`~Ͻ׸jP!v]J=Cm]ݧP.j 2<۞Pd@\4#X}xmO?ɻm 5z=*:x@~bx7btȨnձM2x{ƷUY.jMVQ,K..Qs9QuɌLfZ_\{k834]4gM`#ni{Q aw2*#8F 0 sj^Tqg}Qžcg<6YCq!E{ZN4wXIJ@*oۃFVׇJ^D?0RSi[ȕq/-FbG|fFP׵FPE{]V׶e._ғe?o!ltx_֮;(ϝ^PRSv~I[xr-||UfۂEk()%5?VoU@oW)#q*ww#6`Fø KӁus;[_O+ .Pmyշo {ކx97쎫#GX+C:<_Z醄fgU[)t\ے8;&˄NGS71ӢjDnsHNv|a2teVӦJ~J6 kyo^bg4=cEy^ul%3km:ƿxE_ӷg|/^l&Rvh,7Q\w/P7ul:mgw3}qE'c@GwjgY,@ü+V6-CkJ?_Vo󇟛4&';qVQ+OnTHȫZP[ڸ ~hvY֜LgMkxBF0MNN[Pa5Lmi7eo )Si׶Ak3u^5WK/mo=liv endstream endobj 82 0 obj << /Length1 1626 /Length2 7301 /Length3 0 /Length 8134 /Filter /FlateDecode >> stream xڭUuXmTB@@@i;f!ff(A.iCJ}gc}}g_s,0(G qpFhTaʜ*`pg$6GB`Pis$X  +((ݝ 6H3mM]VvvY~,D@= " ω` ؃Rj rgr90dnPwX!`( 9:,aPwk;W9[Bn`ovr w`dE @ΠV?N;: DX:AH]Uuiٿx"m̑k# wn.t̝i"Hw- 0Aj߁ h8# P18͝@`t'toۻɆ'մDն@ rv3gw9wVܪ0]I\> [KuW5w[#cܽ3eῥ;@Gb+ ݧ4+,<\<!YAZǮ !PF Obi-\`(C[_Q T[;FR}{w JYqd7% {m^#͡MN?<ğY & Q; [y1;ʵr>|C ͮKrU u߂߬(v7?giJeS{1| c`_6{My~ Mkz>'sV_FOޖIeQd_*>nm3mtuv4bPgF1 {'l#͜N-a_Ѵ{SR\1ʺT9646b=%g* :gΥ_iʣS /#*X=kg<ϹQ؊|Eg﬛Imqa+G>Ob\Z"u5 pҲ.$$_7'"t2,>əBYow[t%cf=‘8eы,^"tzgƴ-;> dz4eu>QĺsVv2 W:O#td @S+Qϰ>6A×Lq+[g0JJMJޤB&WƆRWL.K)ߑ[ b;fOb_'_0^{?L+} G֫fG|}2,}I6_0#ݘY1KwLr|Fws %?[ ʼnV[+ߙdꉁ2V#Wۮ~ݥ+_DɈU[ u$RB3(R6N]L/߮}{R*ݤn3zV "R/~SQ_'(@]&G (Rz];2PEM/ek_#YjMʗUe;]\.ۏA4h"n=0Ӂ`l>7qV(Lŭ3+2Pҷ,"H(mIfGfK4v~UPZ:݌܂Sshê{KWqwt_)[WVdԞcgUuLOLZc c h~qA>oܼ.^KsJpYtd OTnؖ Q*gBԥq`T/$a<~gHE}9æD6pR=cBu}=;! e$FRǾ]bZ餇V=YyW-2sȏ2$`pXi\MAO_R,UVxd>^Rp,uAgTSV^=(A$t k^ 1']ӾNtf:>sZ&ZZԹ^Vu9n"\Un elآGUQ)poʋZٛO< \m{s<\9=5|Fc]] HZ{ {,cj0.iwo>\GKE}NёKehtLMK%tk>m#DgmWefcaSLhK?[^mq-8$qF\vfEgtZr2M{?/dߛh6Ӭ JyaR,~veBFC [&r&˥% ԌcY s-߾/'6|@QiFٮ@sCCUOJ08Oۖ.dL^el<|7&?\zf+tUrZ4wag1c|t0'ѯ=u;}pO{K "%MІf]J *˿[޿r˖6ՐOs<9(g j+Rikt}{q_71W~ \Pl΍.[CD@ -)Wˍ]1]Qr%AQ,{򴓴| IRx]D"ߌQ}ۣ_#m׾ΘXg4i^热ջ2|8'ǐ2Sùl$;x"S5==Ox/cc_-܏ӖO̾ME]f ZJA\5jdFugr]=x*JN`93᜽ ٝipb%fQ7T^cfKFʥ =و(OЧ`e Q[@쓮ھ_,Β1+t,{4qqSd$d=CK>ԈnfGM8&,2}y3ZbwΆ;$"Wݩ<[X.-Ag#Y=wEC*3pj2JH J]?F梱dۂGF1˃{|FIcҵhֺX"e2?B衊x:/Vpx=VH`% hYC6[f?Dwخ&c(roΚX&6 X5]ȥM ~ܬF\lOy3\SA>+|uo{EsMX$9:R멌n!5GI#F' [B7d@鮚Ke{T}P~O% I3[-v^ 3ّ( *NF[S{.@%+M> ߠb{be"c2kT_;Ԗ("1p[B?8/3^E|i>`)U/ecʏ:*&.!%,uR˔ȝ[!Oغ㕙)䈰|A{C {J waP1|byn딛^ BZK{(%d0G$}0qEgO및sҦ0!<UZc\sQ'={)]y뜅Pv[gЦpSG}ñ,[p-UyUxom}w^ w"k9.g{>h0I2p6N`UXnSN\}ZnaԼ1 ó1eTlxlT2(^MK IfnZ(ˤ&KEPI'_I~>w"0uVj+tٝc-)Y! Ӵ×|BGyGGorUЫ?l~6F)^ɰPRIgKa؆T jܗ` Zs/TU/?Xlt CV#>7ĽS }N4& O,)EFBD1/FfzBLrvx(L"eTCK'O&!q|-1WT{AQJEWiVmbsxN3}>>&O;htľ1TZ28q$d0u}}U1'Á-ea6ZW%S0igL6<3|uLE&Q dųM)~\(L+p|R 3FAr!xyJnU_9@n|&wrb~Lb*?amGƶ.q{RJwάz,|#7{KDK-,F/.qiGdKeN>[-E4ɗvz Ct?q8(aVz3-({bƓKT:"/UuJ.cj[rJ|;@-CCf2AޓYnu1zw.IuF?+Xu t-!]#c#9bDH|AsC&伡Q{fc-CiBYNkTf!!8?xTaDt)V]1'f|,ԙQIf%ɱx{FXi(Di-:8q4p9Ѯ\+AS$-5c}KLjCЈ@ݔa#3)Z?WW"%\w5 K31m5Zg%o< k=m18yF+bkq}ؕY"rN15"fKnY&,% Z3_4FϻAckVPLUd}K\f@Jd8Xom[pcH,zj0n+qذZ}wӫc,,h"k([Ho<|u ]ƕкAƕyAHb)C4llA1Bjw&۾B6_HdXmSlL1adksa2>2q^+}|撛Ē¥|t,m;(q5b$ȱYkO*JCdϒޛc>SYf6 _=etI2oR%kX%lMWG'$4H&>=Iv1zZj' BWcZsMq_x;BC{sؕGʫ1KJQljq"tq ټr#-b! Ɠ!ZjbFvFiҴn)׾>]$TE¶9XI7c4n ҽ^d< )f{[z,n==WԴ.`lMoV( .f aTyˈ;ξyuxjѓ ;ck tZj|/졲,q tj^c˽v-tb*Istt_{=-n_M Ug佴XU4?`b> ? 찻'`Nt2eE >N#X ixyIJoM`jY.K4i&jP/-*v|~=-MUO|&?uMC@qh )lhwJ5̷rB^Ŕo#Eӂ`Yt) DI]}4o'Om_zqOY|48*/ } IvJF U}Q+';_21n=VMgaUwOT!&pC= %Di7k1xF:Ǡ2 e,tpgt#]TrwFN+1G'c&~W"c(lqȟfg`XQe۽ En`7%g endstream endobj 84 0 obj << /Length1 1630 /Length2 16197 /Length3 0 /Length 17039 /Filter /FlateDecode >> stream xڬctem&ۮpǶ+۶mۮIŶm۶mW|Ϗ=ƺ'kMJ(Hodk`,bkDH cnm`k-c)E`l +g!%t0w2w2 P560A[;wsS3'*%55J1毧 _kGEcc1 (+..# Q;[ R6Ɣ[տC[#Js8u3v34GE3v6wt 0w:8큓-Ml_ 뿺`rNvNQD?&-l )_0N6'c7b f`4mL3_t?/Y_V3s'Gc+:F1 65gVmLl 9_ gf(&odkc026u@2 B%}+]26{ gX;|ͭO^Zĝ/5 t ;ə;L_re#c+sZFS237mkWbj/Cn7Q<# `ed2q0}& / )ۏdM٤^I:ݚ])¬z} EPCb]@%<29>,I Ճ 4'Z;8mһO,{d.ʹ["G֠H?қ2XJTA5"4M^rÅAb Vv}>&7 AT|A]7rZ"H\\cs+щ;?{=1g S6] 2ĚXVFUo)uvqSzʐ5"U5".W+dF]V먂h'$h|PCB,P}$Bg66R ړ1ʑYk|ͩ|:bavԵq3`ٍwY7鵠湐/Gb]: ֺi9: +^ J)0֓#AQFki{jH=bzz%)\#Yp6y_<ܓaRJX %2E_AV$XQ,PDCXXTG1EYa]m:YPɤƕw*zވ7 LȌθq]' 2fK3{%y*!gU0M_k4TGPc&DG6݃E_b c/ NL59RƐ*xi4n.Uޣ `+I',rP/,SN|YՖ/uTxyGz9%%!S [CSl'wj@Bmt :Rs-RjG+zbG߬/C<@lߥfaѩ$pmןt;.4EWkݳtTK'{#<ø)!'G0I( BuF7=; z'"Y\dknkW}jU$ >އ >ԷEq"P`n#]WP 'jfj/fGg;XV"1_LqA!؍c*A~@4v$YδY֘ T5FU<9 qeХs¡WrbC+Vڃ횬Η#Bj̰n9 $E| gCy5.{ -oe71iLϨ'T+')D]lIO4V Ҍ- ^Y"8[ؗiM 3 :t{C?Bgo&>sƈaۀ&L3wR u|_6ݰMHBg+˜[q5Uh'd|+3%qgN+PADŽ%w{T_ x>;w^ ;EɊOFA;d-bK/!T6s.ϗCۜe^6<`wGu\1>+Z]1r Lb S>`9F-~6A\_*kpl IYre (&[d/ĞC((o}zP|:mQfJ"Z;1{_lg)3jayw5 KV1^6䗝GߏLZ* lki|C͸9NtCuxG#d^yH ,6(;KTSP A Tf5ק˥KVv,k"W[=c7|C9ט#!)}]\\+!WGC-$<=%EG[]yZܼS F2&QKɿ ' Ȍh(y6+K$8{y|rGKXް]\`nm}u7ΒmG^/r&bKt qg aa [C{ DRQg= ˒9, -4&U:$<+ $A hQj%b:(Ro__…7B?:lIbLU2؁>s%|X"Fxѯ2djN6X}pe.z}G !NsSrG$Z~{g!V+Ƅ@ܴw,Q?WrgU\í qMl?4]kKwd(Pw^<w= ?hhs^}v *)=:Q7=%~HH1=m})W]%akGyBۃI=eeu nUٖAAM,~j!UH{n+r;MJ /G*;g0rhlPQʼoj&e(&b[HW}-{1P4kL>o޺lrp3eWZ(?L0YQ5c(OE+@"Te-9 x6]LhI3{ . HUߍՁ𖏋׮7ڷmt"$ņkS_ O_yOoQ:8gҕ xT Ka![/ ,B!=_\!-][XsRwxt%XYK !}(u6HǥD":XʥV"B>,)lqa9 &*-y\( _[K6SCeuseTh'ǡ(IM RBha#7q%~*\k ;4IF0WplxEJsTc~_Wc&#J%'Hp0`9~沺fιfrUw+k E#lťh 7HLҠ5X%+zHsɇ!l,D~1H|NwP=(MM<2Sbsn"QxR2]ꆍ|Tx2wnʄMVL/ xIc_M}[#b YOf28/E2E(E5 avc&;:<b'*}\Ut:Wk#z5'1jN_26&htЛڼZ@Q1uUy9T6Nz-2,u-p;8. ]쟝b. fUګۄ8SWO/R#➤:q(&"C4A3wm],ׅc2^ycebRG! -0p|:t殑0f%(zN9qRm4пާqh"8 /'{(= aKoȼp/ ףKIwQ=-efTS7y^O^1%M\ {a@Xם{0_ f~v (^xsIQl i*_6N%NC#- BfӋo,TfuK:3%;/!A~Ȳӭ(Ĭ9p.0~/y)t.!k_o/i9neS֚j~or:LZd7"է^੘~'P>OW !'rz˲9j;LIg;>xor|9s֝(ef#ͶF=k!ύ;v],gXJu{[ͩ3Y?z8 r|Sl)v1jcZRwuşy.NMH*O=5紕>ؒm[I]Q, sM~X3!l{ W? 5Ρл.oC0up>i_X:L~FX]y^} ĦBrJB b8\Rb@`"hD4i!x/Ɣ|0cx@ɟf".OQ}ުPִu# ;Surbz%s> )P$֭4F+-^`OA`;w%Bրv1 vp[%Z)WH}{*x?`eTgìQBF,meL}|+ ?h!fᅕa 6[sČ u ;lnn[iRe( !|buϿvnu&d!,aWʄ[k$g9Q!xNEID4Gvi)Yg\n~CWa1` ҇p=rEu֚|b%ʐ; F{̕˧ϸsBHmђ"pf`{*I(9ʕ8^ݖ2|0W3$|&fуSE{%Xl~SsUd6jh[LIV%FSνȣq>[bMQ^5vD$ L'I!լVֶظVljph'is9”ZE`]t,B};k68|$kV9l0oa%WXh{eF6p33560baEWݢ-jbEr;9Ń/.%ፘݹϮ!'/4x0uxu铷c+dflV1j172:xh~2]nwv̽3nXV?"K} EZT@E {4) A"`lx, ޼, @kH"]fQ$m[;SIʨnk (/m:[W,j-!g)ҹ@-/`Tdgz$K3ҭcFT3Ld ҎƘ>WR ذ@ģuu_4b*3Ce4+%ɦje]Ċ"}!! .C;fdxU|+ʶwd(}eV:ï$CL-*?YN 4F`r.3^ru\<%<*a|:sti|=3s?l~)J䁥Vx+4J`-߫52rWqh=-AcϱYhJv4nXIKk 9ZD[Ep븅WmrAix K1$9|N_+&I覨gъRdD8׳ؽgN[Lt %yYy0]fRv @\1=ċsOy'pNl㉖P:=."qNԦ-{bY\|b} v6BA!5QT0SqpPa -'-r<[i^ɻR_lh(B)E|Ӊ2]Vk8i8|ϗ1-8$)ow9h|$\+nP$ҫNTGXu_@VMK>%|+Oýئm芨ƧHGcez_b 2}W,6({-[p/ 3dG5{n0=Ԟ1fwpC\5gbXHfˉq|[&KK,P]uqX%l f>ѴIn"SY0j T.ȁR rC U7M0aëFYlMv,lMPm we9; ;|¦,:~|chSfI%*T>RFӨ:Ak׮D3ΚjD::z\}<Zk%6c#t}Mh^˳|ʰjV\Z9ԃʶ1g4K26u擶A94XQ!Ԡ, jAVFQJxcUa.w(sD U[}o<t||ϋrS$`{]_vo^Vd"y^?9*d<,ԌW@͓#سT6갅Ȁ˹h<#[e,u1oDS 83ʺ˳ Q=r .sOL3ݟTd.$S} Yx44$jZ|v%zv):AQfB{,k(>} ]7&x"[k]OlI㓷-O%UHn?AҾ{%}=x"5R`ɤ?~!>ω%Gf_z XH=vw_!j ((Z|˕t>jœꔦK?M?a@4r yYV_t 9huFj6l*AWv_$Zg*֌B{SQ ݫH",TbB=+&Y|W2px3]Po{xgf{ Uh:Nr\:1nGu=Um7̼*r "(m˵i,ӊ,(.@JwqhwrcBlrҿ5Fך*}FDh>xu4d4gﴙ~ S& +9AlB!UV^Ǵ`-~~e'3q_']tP'B&ܥՊ2~,&63 33K-Zz= O 'm ]tpJJ`{83ؓLM8& %9taKX^ȭڅU Zr|s<[sg_ϒR>ӭY%Z˓pa4ɝ Y|rWs O:>ߑj,;:1AU{eK;4{wn 1NL? Y>f1ˡ_Wjodc.eGH.fVijϗ2nNj}`WU;:_{~ )92e~m]1 $?0N1큩NK!zۛ/*9T 5{'KF;1%ఖVn0hSp۵B#jXbI|#r $S7Su(\DYPfs^"ͣ:M/zh_4<' W;N.kg\?kļ-aQ m 3懠g‡/..i?#q?i L]9BRǿ/yq 9U6 Ҕ}=l4 q;Hޞa=y4,wtf$k~}{ůU+?reۤzhZ,OzĥԮZGK&uϛoA}4]yoEtwIfEb Z>ags0/h:'94 ܧS] edy2ьi^p?!6K"֚SG6=FDcNTOFHcEH1LG?9xERo(*qztaA(?{2 Tv$j:If }lࠇ 'o\de$E*%AB!VBǚ@؝0K"?uzAs .ahyWp]GD|~qVyuG6 œ2rC3=h4&;;曙pPs0ͬ i}IIk)pd”%Q_FhuJvUrV HCڱkl~a^FBF/<ǪYmIPUh?w{%짚LaNQ~]*@5Mf@Ql%Kj- ZY.s=Ww]YK@72w)dV'd!^o x[f@>mȨ?lϜOOQdL` J!=Z G*M7z׳-~|T^lz!^;s@Ҁ=~N."[mH6p\y+ôtjeaT+ JKC"JQ@O,@<2e"d|kD_8)ghrE$|覫(lQyS69[l~8p&"PJ֗!lq`mEWVLAi*A7F"3Y򬦭t/7-OͪŚ=pVkXx_d~>'74n7DD>njCn?.X{nkƿZQI(zx4S%n,+^zқuް!U7tdPp *hD5 {TpmQ,߉gƱ$D,i: ܏W1,w¿9楫U?z8Uicwφ)?NҦx سag+FfăF 8ku2ߙ:<vT ͉C}{շ$.F0}nLisJҴ=bSUs*EcSw'`?{Fn]wF M!84tfט U}v5m%ڌ#O _5[PXί30vK elMk[MQ%/ÝO) "n+5Z2愹q B:Ja^3?P"S{)$ؕ_vZq2`L~W<{mTb^%),߉/BqOߡ_>?<㒽9R8ܲ"̗vUy}02STē $Y-&kԐF5 L*3ܟtHr$=R: &&$pFStk0t Uf\"ݷtHC[˘QK͚rcn:/zU2q PWZjʦS \J50|J2AfQm|;OpDI15}@Z^vcozlDN>xl15.Y[͡+à1Smd 8w{{F;R?='Ww*_MrÄ̔y&l;aa~O::K;sXpNSr]&Pұ}MM,i3nto?&'^ޤ.vJs xWPtf=c&#@Ǟ uǑ#qO?*hP(`b]\|Ţm8Tר|vqDM_&QzLwC'q-纱hÒ.쓘Q+[N43K@sf.B=J ]u>"WqF092+ 5M(feJn~;3]%X@eJ_KN̂a˨O)[cxƒψ}~5:Xx.uTrClr8D S.Y=K]h,sJ2`VҥmDw7zNMMSisӧ`+ՐބȠEj9ӄȗB ˙M5'w alm/5Qg9P)]L-w0ItU?΀xȁJ+=BA' CQׄ3q@8]۟)*¯B6c=esrf/i~"ߤGrz 7?x_u8KBE ]G[Xה:(S޼ zaYuTp|UWάce(˱Wk2w98d^loԊ2wUsGPpa麊ۑ$Cu뷠mS]gHqI o`'S\%AU[~ņpNjUE}OA#is_.&mHudr27PYHkK.84$WlvrW?8kksi{Y%9u>6ڄkåǶ >ryIV.FO ER>8Sg$#]Ժ,pfK-wq>>:2d=\pB1i5 $)aϸ0:E iWev<"\ƪ%*5X]Y0$y7hV_ >XiFؑF tx0;,AT5Z?^=f"8S((hl~J'dmJ iݒ 4(Pv;͊ϾkTbKD&QD1hDNu@MDʋo#QbO)b&flY]oA'RbŤND 4͗ endstream endobj 86 0 obj << /Length1 1647 /Length2 7099 /Length3 0 /Length 7938 /Filter /FlateDecode >> stream xڭUeXܒ-Rݽ8$@\;-RťkqBq-V\~{?G;yLh5Y%!@9!P9Y¡Z'5 p#33˿,]@# [0)ρ@ f؀iu CE5y.@>6tYT@V@0: `k֠l\P ==ο!3 >[W 0`l] gWȣ#H V g1_u,`sCA0bi nH,@`(e XΎɜ]AʀCA`UpZZ;GG߷>{ ggG?ѐ?^m8sZsۂhElpre;s 3X5 ڠA`) 7}"$o'5/N-wtTpz qXl-\꿅Z8={?9Bl+'/_fT6Ǯ :Gc0;A@{xO욆2R˶80Og ?3ByM%%xr X9s!Y sqppo4`+9҆YG߰Q?< h6?OHUgws"8UASÿ ߕՌjsPbo'roK0v~kg|nZhJeوCosuHS˴)H+%c[^ g,?f{t ;}=m'(dY1i-agVPnip@Tt5WCSϠR)y3;iQ@y]:O\MU1F96y2nzAy\2;wǩE]"E\nǟ >7s6ԛ;EU^Q]۹7B侣Pڧ3ʍL}UJLۆ]lr1~ݩ]߈A+~.i'Dzκ<˟m-$Y |c!&d0I&im"GG>Ǚ;S)I+c#ޓ"fYZML\=:4RBnͤ"&y#BԓD$<+h132bB*Hڬ,E\- V31E#> j0d7~ZUQ|8Of/U\9NUJLlלHǫÃĤvPUC mNq ,8@{t,Ћtnt1Rcd xRRΜ+v־5zve`}4CA7E|rΛ -yžSH3 ;kcۅ̘Vh9=e=nvI| !)ӧI_޽AND"xmEW/WϨb;bBC<, w#Ev _W" mk)뺓YtQ77j]EBGebXWzO^aMh~c˦V4R4ܻ_k:ǽw``Mբ3FNܗ &ϖ e6ײT_7}/y+9OnNNH?W[YѬ.{[AEVd/SF/jpw}$7l>Iq/y)hzXȉ@܋FP . Uީ Vj,r69jaQ @'@FC[wG妑w2yP2_Aȱ-Zx[Z?‹AzaMq_HU$bhW%3fqں.#=IԴs< ˺it1V'KepZ6kŵ]Eٷ3$/ MvYυf1q-& 48s1On)G㔥ekV L7bSk,gOkYqw^Fq5ZzN9\.8 h(^џYVrVitԪ?&Q2yZn ssE"O(w=6H7=L\+{I? s8 O8YKV p _%ouztqh}|3c엱q{gS,{5ި8Byj ""IcE EYW^H͎SOrM,l T9fb\8 /M)ǶzON7^C3K7-w}M^o\TvhIU 2-6ң^s$a^ь},[8Z02x1Ǹcb+E[[CՅa 4+-(}S>Zzel[W%5G˷dAXϚIvves`>UwNEA??ɖ"/dZ(^VQ\71; }6K 3t`6ISGܠZ+(TMurhd,B5N=dj`pV4myH^<54P"2cT}F]6{N+&Y/@ɝ̆@LIACiC u=2=ߗff&Gow'83J2<_a6D/lV;\}5Rg!@ނ>Q!- 6jR z^&_| SͦJSaňϼzz\7a@&}zUfzM2Q+d}БRhIc}͸ vÑ;5|jUح:4t[zmY)OoXHPI<%sWw?4Rn1I_ȣ%8sR'r*Pw׭w1܅Cg wIi!0nc%"A8q v/8z "۵uË48bYQdZP*)>=ж}b陇}+Vk!-=?L>7ӏr[n"W~F~ԭX=2ƻ%L3o Ew3OYR96 L.L؉pWi5\&.WȔ]IRJ~p-8Gu9j{d[RD:1LvK:62@[7qӸ/Qz0sfb'$K%ʁs؞E8//0}t+جi|HRz۳ie`weNzbDz&~։$ʆ)X{ܫی6p,tX B:n Q" OV,Vk8on,oZii !(g 4*M8~\R=TP bQsc _gHL!!S-=zkAa|X%y"i>8އ{򒇮_balKI f9FBtSs)7<[expXR7ξk@!:zwQbp`+W)TNjB%s1 !@9VǢjfZCߌf"AW#U_GI`pO9u}6;s;b͙%]rs4`+pxkX2 9U8S%@p<+R/<{~_59؉pV"ބ?8Dʑdo.B?bmI75ۼX/!|=:7,G&RY=r9 *1"?,=yIq{e?N\faeٺ|@W<[_OqE3Ssb̾%hFkf*2|z4@ڨXm >%}4]lXHL]#l^QoO<.>ٔmn(.e~r> E e3J>d-d<;Br1P6m} /|>u :8cZ\-( L fnGu9xX4ӝ&\f#ˁsL#M^g@|| =6T%e )$vΦݡL-&эB]"<‰hH$rˆ.c4^\{؁oےfw v=`#uځ$9U̶LN8J!^-mQTfhС̊*:ੈ*Kq{y}C*i:X;;pgҷBɨ]|+_m־vTCH8ض g1y:ΑF~ڶڃDADv~z! ;&p h?K._4%2+IAD&Մ!LaͰL׿3s:U4Wʯζvgo !=`t FgFeIۦEg ƒ_Z;bu> endobj 2 0 obj << /Type /ObjStm /N 76 /First 601 /Length 3234 /Filter /FlateDecode >> stream xZYs۶~ׯc|3$tƱĭ-2ITI*MwE -9V418`XB0,bZ(& & fB2+1gJK&= bELb#n&a"RE AʁLJ51FoNr˜ iF%;և }MCASPt{QZ&q}8M&|'I~P-w g)i9 `;,wnWWiyW1122ΘPjCP(8KFnfLdZaO^8JpřX΄QCp¡JR߽HmAmwz;DC%Էׁ Y1`l 3]"tzTWH}'b!MPc`2U;2&4eCB]j4 G}tUN({!gɗ36s7sc3_E]ń}Wqjl:)FB{(Fb~ILQA\&Oyڤrfmgi9E {NjtTr,w`璜ZP#Ыʨj+!iYT)E<6 L?'e:|N@hLj™k{w|o^,]9 >K5}4*i> }Q|ǟeGi>Zή^qg(2O@.h+qJ!-i\s,8mr>l/KMybXģ]Zݛth=TGlX//#I}f8yPz_/&Ύp á68Wk7t̓س2В ̭QP$  =qQ%t #u#:4JG8KxAPo&Zl Bb7Tѵm}u6Iίu2)ħ^~g/Z_Lz2Hb׼u$#K]<+3ɳ)6<|gd c Wtoio)==8~yzq|%|{a.0-.Z\nv=6JOR8-*o]@S{PپJj`P̿>o"4Ƣ޽~z`-hP9_#-7Zla T;>Aחn[:xr8~bQExO8ۆ# =4.cW(ᗧ{o>>|.I6{EǻZrh`w=׸bJ2/ xcDZ'vb!?Mp.#Vғ$,o\FrCӑW$7#uc#;eO]׳ؖԮgx^u8-~fV,m8l9f]ǯOXTɒ&eX̞%)rq,I6ۤz"R'ȯ` ƕ?Bx$kGkki-;e*r-d \^-qV'UƲhбQ5f-Ƶ.tYv pMVic쪝K)]T_ _>ҫΤV5/rAp:O5a%ٗq`n@. 衑|o ;z|bHPk^b{n z@tZ1ƾqѕvAwKuk:.tORZy_.)6f7OSm?QF=V7Q$fd]`:/wl)rNJ:D?Sյs;+_%fNU>QCegS]zG7 h c6 *`848i,\ ' 7EE2߳s6t/S endstream endobj 95 0 obj << /Type /XRef /Index [0 96] /Size 96 /W [1 3 1] /Root 93 0 R /Info 94 0 R /ID [<587B6AD29F8F6ABF7A1FE3795B36783A> <587B6AD29F8F6ABF7A1FE3795B36783A>] /Length 250 /Filter /FlateDecode >> stream xѹNBQ{Uq7A*A&6tƷ1ZZ4_3LsDD~@4J9(C ]n^~ >BN 3!)JdqTI홁1aQu[[YPLC`a aV`WԽX~P[SVզVjK}j[UI\\CMV׆ endstream endobj startxref 344246 %%EOF spdep/inst/doc/CO69.pdf0000644000176200001440000065433213152260211014270 0ustar liggesusers%PDF-1.5 % 39 0 obj << /Length 2403 /Filter /FlateDecode >> stream xڕr]_X1!"\TɲwTvHەC.cUO_A̻i2SUֻ ?JgIz'`KmlJ[O}k”s5Mt-oazX*vM?-I2[jgjvv$0arFlPtPa̲ ִ 8ncǙS T(!C/bQ"3 dS]N7jgQt7HҜ+% |p8g;vZ\+R`Eǃ}"~[)׹uR>#_DWYㆎB(fv "_"D>!pwksa ~m:#QFĐC0~p6UeN$s I@ dhokۑ0u$*>G@&1ˀ"or;_Xs +o)FXC(),1iЌB(' [ӍD:=R< /*gKg朤lqpdܔ`!k)1X(~_Odl0X{T`At*gٻC;/XTu豄!|s&lg`YY^H-j\'V =T‹Ghoksٴhhw/5\y_Q&= v PuQicEFYL&M~o-;%IO*U2UJUd$~.H9i5xƋQ,0Rs'cFqЁnv/?v;R{S LkRQ]G]T ڔO< wXwp--# pQ4Q7r6E=ߕTf+G~ٔ. KjCz{mn'-w!xy7o]U~-wث`Y(a߈" @Cė4*zt'x0C-C[U˻aS4<Qjط^)ҁᣈ8|dH#çli8Pq@/۷Tڞt3Ek3SJ.+c'L7R8Dd.X0S3x虊xW- Ba=iEw`V/qNnc(Pi—ұ$4—>VAh5R]Ӷ.7;QscKy]>Q4:оŮM7l~%g9v_7 3֡L؟EU5sLőF`(@jr endstream endobj 60 0 obj << /Length 2404 /Filter /FlateDecode >> stream xkܶ:VEP@sA?8"jm_ ZJ{Y?i?DÙ9{o<}/ \nV<,HPj:  õj>QwA?)og8 d^\sI!F7#7<6hiwuńb=#Cx_*X ?N||,~yح.0Wx12FXp,#E$V0T@IBLjhHWXęwUv{<@ܻ"ܿſ@(oZF.ZyF"oN^o%)IBJ5e@0Haovn*e*Jmft͢tC -Jd[Ga ' ?(z< 3(5DWF"xo|u :vCod@b|S%;}*3;nyMƭ)mFq?0l]v ^U1(YYVjmDlu,q5J p^ՙ7c < 1H=n{?7Q2>VfPvU?T9gXn /p樨w2.ue s:q ,G8 ʞ9?i$Ƕ#]cb{)J~e`Dg^p>R}qF&ǒy&ZdT/9C|)n f ^֭l4"grU0;8ff@_5ɳaq43L$|hY/zs- "쓣e$,O}&NWe͏a=x |q(XbgE:rGj[}Lyy^hᱣM: Pt`j]nUg`a?QIp4s{mJٔFL䃾Q9dW3[v,JYCҌwMb*M7\[PHr[0&4Cڄe!/{X[G 6Nfi|yؿ%,T+hoA%K<bsOt0gDžbb3ЎN޿7:ߴGT~vʼn0ۭȫ8So 'mhf6CÑS~拢nrX A*̀$0v-8Ujh"Qk]CQlf11]ZA~Y|$ZDBRF世D ,M&HNsܟ'NK/Ǚ/]>ܙ_3PY\\c(ςNs^Wq% ~KNl:!p%BqʞY`GKbKW"?O}<nH)?gq@w <`iu,%'U%$Y2f>>z#4PBvJ(asܝ9Jey8)S1vv}A.y:M8TC(8P,V(T|R?N"[ a"Fy>j%Vf-^dWH2pr~a2i܈³Rt7$[&ҫT(DPfxŕmi:7z|q^Q/[TѝrT0WRخ*ȇ EJٶh@t-jMw~g("A1EƳYE/t)y9TLƋ8R4܅,.,T|7Xa9Jт^[vZ.4p,A7Y$@ f|"=eEQLIMvAQPx{USE{U>6!wXDŽk:M?d;<> stream xڽks6&sڙڻk8d2ESh):]`!4;u/ .>tq}?xY,͂&bg$zx]/SuU,W"b?_μo.תUSۍƾ_ȓZ!JgA["B;^UWg]}8 | eq|޼c l`~[st8u:{}vA &~0n /p/xl \a½@II~VVVJ D]:/^dz[ڮeUljrGٷvVx+D k,b<9tYe~SQ9{/&+gNa:U%+G3p ۮ LRUbm:9cDh7MKKYoCv^1E0_˾ DA콂+M,Us<# "R_Dn[c,W2`SUfnoLm}5Ny(]EtVq.`vPPIVF^<}e $%s,ov-4 (n*c:XeL讷 ,5شHQ]AVDVVI=Wڸ ?|IևwyQH@ȇ|EPf` TʒNZyd?@pV)pPki LJomnz?c['lзu.0",W<w˿re,w$Aob(x*39<_"27 %}oyOXGz#VАo. {}=#b-/h|1?紸Si!?X߷ "l\> ==`Gt5y$'q!1!AzH4 flqBB o3()3?lϼkGh}:*=Ɣ= #}f"z K4FIwg!9^IDp15R9^)E{hS#]b# N_y>s {~&0_`L=\L{4hΡkK4{} hv䔶ˮЦVvUpvDkFo C8Ͷ]MG?L 9::ۖ< GyZLss{ʴИ(B.UNT%CXXd7ЏA+7f`]JW3> ?6FW !U]ٻn C*L}0dSmH2Kp+@5E5rKը!z\Z"C%1UoOCB}ooTJ5鴛c\ѝzzǎ‰WMASs-nHO19[:rD ?K$j .'2 קI8IӞ.}OÖn: 3ֿR0R$6M%$c(dp3.rUJ*̨W`$~xK"I0 B?2j/(ԡhֿ e&?]W ~*в1kUK}g];fOEl\0*?IPj[{8l:a\wq )lܻ/ff MәbwYUcYPEx"G;xxdH8ǡ a4Cڍqc4 s7;&Q7(ndh:9>. ^9֦a9 &xn0uиt4O>(rH!"$@i]h9 {yqg&*H8J,?! endstream endobj 82 0 obj << /Length 2065 /Filter /FlateDecode >> stream xk #XCM4m?Bƶdm~}!eK>fSКp8| 9/o^J*Y"~R&a }9h%c aGQF7aYWEūM&8"/כ " ,i800Vi#Nen/^%*Yc䚾n@e4p놶y8 am٢'`[BIa\;<+f"^H ݛ# W)gu:{\Sc.hgGoc^"*C<e Fz\9xTgՓ+!_k 3c^׶A]5IQ""̌UzTNY/ } pC略2|g,2o +"Sc7ۖWB" w܌ro ًCs7ݏf[%;b=v?Z,Gn(}wGC%~ 9smPͯ~g+&xtAҿ~hg6f.,,@=V<#~x:o-QRk$۶8aW4\4rx_ XzNe[o!:݅էb\ UbR劌ݸ~-0+Ԋ~+9v]8%j)!ׅ`NB K(w XFkbsLh=f_:*O3z)E<gS@acH|#d n ]scdL._OR!``bvSQ$F˩U  &uDx~9sNX뻅oSaG p[oӡ*hvHO|0 y8iTrMxZwnh E͛Z-=>pqܳd'ۙ\{hrZNѕs\"QX=HUm6Hdc"Ķ%zWL:`ˡ4[[P8(;r`TgE ^0Z9T=x|25=LѺbyKEg uCGOn&8g@ы׸xpb endstream endobj 73 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/Rtmp13a5aE/Rbuild47f7353d5903/spdep/vignettes/Fig-bitmap-1.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 89 0 R /BBox [0 0 468 252] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 90 0 R>> /ExtGState << >>/ColorSpace << /sRGB 91 0 R >>>> /Length 8358 /Filter /FlateDecode >> stream x]˲-9q!=T1tmm \RT3{[W*=2k/x_?a|o\t&_|#GXq#xO|ӫnoQ~3K߯b~9q>NY E,GjG k9;ƠT|ˣ' &鍼~=A3< S :3#I}2:HǙ'ۇOGF_OGyq_ vp~Ky,0^V=J؂(->kHᾤۃ]xgbyx~2Rgc%23z.}':lWF^n; N~-@Y9[K8_ 6yS3 ;~<䜏[W VR-Y_AA>FuOm-ui62.5e̼+} ^AO"R௠ֱ64$A#,C<1LB}pX{bl*babvңkX<'5j3ca#(qw>ad\T:2J׆v=[,r X}~*ˏvPfv9&c{Yvkvo pě93 |e-֟qFDU#k-SzBD*0$"^UoAffV!L]z1ls҆rSTR숥ZQ$yEu}ClQonDW11Ey,z˃Y"wV. SQ|i8f4 WǎM5x̹lE0 bI*hҫt kf򥨿~O, M.pç}7 ;i8a7 ja4$VRT Wu#Mܔ\f ]`9lod \= XŠ$V"4}gPi" b X&'U+h}+Gl>gV-/H)Ȫϥ!d[Y-nr)8xKS؏bZp"a:S=L? DH—سʴ?' KrJWSx(iBf+T8$`UL> > %^N{bE}|W`#e'pdB2eFC~ٹծKVM7q'IC?ޯVW*>\?O 8.4)Tizfx_xppMg/Kh1fS48<) 4YsX0#hfA(Aߟ~6|bLh b|ӊ:__' c9]zy0 y j{/ `y :^l?[5UI*y>!piSM0+ ape-6u-HmpF Iʉ%iC; AUhEHn_ŒȎnaZ-7zb*e©*H.3R9zRF:64LX\4''Q(G>ޢlvnN8ArbЉ`,tDhtiH\S?rSEeq kAN0 lIJaꚚʚ@,ZLgWW 3SClLefvVsdL$LDm*r. ˔-}c{o;pV^s>|~@fMoS#D 4?z0 5HD L0)Spm'ɊI$o'JA"-l.UoX5Hbrs (MGWG Fda*F?y_Y]nkG;cQb^͒-+کG⚊ EEy}$äC y{LJ@0gI"jBf%_]#L*⍦]ơ=ir Gp;>D!8Sb rߐC[d#YKI]8])닲\E иCltI4o՜V}"i!|H `R@u?71-Bi8v|T#3{[9o]Sx=T|O*ꀧ4OگηKRylęm@ƶIe#>uMT>I4l]&k<t>s,:mwY oGq"oއ^B*ص`~JFJ3|lhaRN$j02-z*|} kRէZu$X"m|hZ#kgg#7yO~ ӚPfX^lдEz $W@ez%ml%iU8 xpAN8jV4*WUI@u.(ZXȆ {Xw=wvtגrtמZ_IVR^yiq݀ڳ uE+|mҔX%HBnWQ$צ~& ^X34&QB+2ec z谥Ǟzyh߂o]c|ҫYtZPg}jt]ta N8O HJ@GbV֙؋3 핯^vcsmƺlucJ9=&uݡG>~"0n*3aI61͎yVL$ïOh7 %K(G>X;@f m-ܛgwC98dᑇ|reSX>S[ A'uvfkx,aqcÐQ?&6δ80%é87:\Hlj9q`f({Qzn9K3ygԣ|xOy&iUޝ^?w삳-Vc5KiSTq)^myNb7%I$**u9]/J~Km*)(* myZr,;qykڼ1@F쳈>貐>Ke1WzZxJ?Xߪ\O eO?s|_ߓ?="2$Xu>=gǧ_}>M:@V> rʣ5ȗ; Ȓd|YA|GKy8gvEQ@,0EZF_aYOQE U@:ɖGYj Y+# 5,Bf",baXYWKˢ,/ 2Xm4i⬨& ܚ贵a^bYYXe>c!Gax8)K-rXX Dڦ2βT|H!t[YC-7Ti^$G$4^_}p_cP"[]g?[F2kD}nChxтYQ[8ZP.K3,-BMimyZ⒨Rjߒh'[ bZĸHoE/salA-e mE/-ҶV} Åm1m{{Bg^.H1 _,R ,bv}.y$a0ֆڱ]ýp[8 -`D,{ vҷ 񖿅%pA- [ ږ%7$.i$Ҹ~["er3T.\.גdͅsA- !.ҲՋӅYRkY]>CyY^k]pٖم~KBv4.xDa]|EHlzתϠwa߅/RZZ8^Q%6ɰHˢ/׀8kJ$z{b^u(aaá]紜/WͲJ^Ի}~ZW2"+l_%vп4/ 6w ,n9`2 +2,0 /h݋4L0HA  e`b LVqB "M^|0"Cc`6|0i&7|0*qY>@Y>B#E . W\|0  - H |0҄#/`|0働`2|0\>@Qm II@j`#6|0jeსm`> Z>^>Xf|!.|0Swwϛ'dˌ)'pN:Q^ӗ.R.1Ҧ.Цâm]0˖pՒüP70*[1m۬wV2mg}m)-S\>Sd.Sl>wOl @  u04CK@%-*TD,9,jrl"Ǚ?Nvg_[nrLm)ψ7_LՒ2%K 9,i2䰬/rXfsha9vKâ 9,"iaYs t=` ۳&f]Q@D&mS e3o-l4g3G[t([c pl"Um.,`6pf`aC,9,oah[r7ō8J[GblN6,~]i |߶8ÁEn P@46 X33D-5Œm)DT*9 wP-2!lHPRu ݝR)`:1w[LY(bP3dla&0‡ZmR:--\s-MGgK׽_bàmaB9, z!r8oͼ K l-(D-8 a ŹR(-79m[ 'g Ѷy(;E;[YՎxzuz0ǜzPsoG>~BߐQFqB_HO^0xrK<ٽw# Yxz>)-S>]~ab5<XWV&W\0%I0%Af-9 2kaȡX*tRu$e<[Naww&z!o%~Sli`&ia^?og7|b.VXǂ.1Ӧ.\|Ff8彚yNbDy$.䰬?z$r7LBCےrj 9 0[rdz 9l",㖅YJtA zzط-r(OnO:GVs|Z7`v?NɍUѝ6;w ]UoD|}ܺ ?#܈Ml߂*7` 2wXnF8gG A7)?[\oA?YkOQo/\gqD}쁧̓&q0* I+K3׶"Iu~CU\|4! q:Kh;@B |n _x\N/mjlQ1Rm۠fBت{%f$u|ÜXK^-0ߐ 7g5?T5!@X xцܫ|. v%OiК@x{/X.gw~v돟$H] endstream endobj 93 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 97 0 obj << /Length 2430 /Filter /FlateDecode >> stream xZs۸_j-"Ӧ3qKfnbpP,L:.$P,9\ X׷/'͒  rS/lp;i˕*pcGv"g)e#U4ӳRLfZ* A3 +)?,6 G;N"pHQ F,WIT>ʻ%(3|>z*mdž~.AZ\|"`5v=P%-As.ȋ(UR)h`nU)Xos+|RV "o&xlT5~BR6n] w)h󽘈vk>IGVn~-x^ +0pI썝 4@~nkZyQF,U3=gCKPo4H2Id)۰#Zc%ycb 5\WueيM"a7F)G.V- %*!Yk(kznUI#; } *X"I:L.g2oۤGoy bRC݇77;eB5y^ljxY > )r;&:+fAvBR4W =@OJ慢F'ճUWyG  cpr'%_B̋9UmC= bw5N64cpkY/`s$BZe O&5FM;P`Әg)I6Gc* 0Ռ,SymL H8} ĞuB9!Vf|)XU 8 gcG "78 %#|MBYC D287@h7?Cv{OJs pl';Uh;3z.-7HZnIVJH,8]@ꀊ$s͒U)xfe1t4xnhL2zϑxQ؉t/֧(u}y7O-tQШQq_}^y[2` y\cʊ:qFEy2z=PzdPm@(sZnxxX^;[fT_>Y-Y-ZeɫLe*^Ʌrޚ qtaԅu\7ug&XAMϠ|s=o fal <豯}D9F^o|z$~&ԯtz9'(g<-/iut˂/o[48=a%U(ovӅ8DV- ULMtaw{mR*)]J=xLh=bnz.8ʢn(ld_KzG5Bgֹೞnz3\ǘ2G23L 'l:NCoCi/nԊlnf>L{#C$V#=d`V?߹-*5yVuWPS\wD`6& EMA݀ozvO;}.Lp(Tb=,$V|E:+mHv?p,(PGڹQxXGpZ umlu{%Rr? %xH_?(qԟ1m~;L!a90\ ]c J`T]ytR,)QQ&5\NT r!$Q )7Da@^UoF\߄R=K$X`)!bjz@+^CZtIsTD]+@ahUNT/q}(d&B[bR+-^9VYc ]\N8m ΙzQiV֌-!s) Xc'Լi MM2 X(gT^ma=I6'Ն<Ɇxv* 9-5G.פ%Y( 8m98m>`{7;Z_^uCUE5_Lպ)#'R`]]٭d7欻w{5=r-Ii>/?;|: ZSi7̯r LyzU l!͏Xt\!?*pǥeqS!?n5 endstream endobj 104 0 obj << /Length 2235 /Filter /FlateDecode >> stream xk`r6cn0 \dϗ Zr);m{ڝr_?Y-7K<q]*tSO-/v}-7_HN5a40z\ֈ [C2Me2]CMOiOE6!.hkdw#^^j*o3;2QmZBۭEjZI|OҠ]vEO Z\Cv?PEFk싞g"ƼJv98$w|˭poأ+xO'sUۙhX4]Y{:l\:8)or-Yktċ Unm"O ޶GE8 )m*reW6En̰RH d˚7h!˂smǔM U @jwԨy'v 3"q~5*%L_|B q2!/;Y` 8Eue >>q갉xSR9^&,C5=ŜҼu]"8sZȇFz򢣫´Cχf#'~"D /W RJ`ҕ;$6PˑP*^=,޾։kޜojW5`+I fk|F2JN'[#YIl7Sƈjh3RKCG٘[# a}6ҙd3Qߎql(5ϟAo+D9{yNh8xIx 뙌f, & *V§=:Wp v#[0YLWǧj3 1\g^ 'D~RaxR7@$ZU9F84?l%n[R72p:[אCUKdvPv2%)r!OL_4w J %HzҞdF]|L2P^bnWy0ݜhkck3 IޙH_AY 뎷&O UId}~67@񵼮O/Y291iI ~sWS2#6F&ҼCmty7P#;1qv];ap =,s--6 :f%yT͎؎ W| ̏y] C⤃Yz)ĭ%] X+oQ7mǕz`4X`qCSpRIf)  Rxضp[LF+hi$=ćpK8B ,bDX`Eݬ (mUzM滢1fgܛR3۝Uكq_&y_=3so4V;vC;XS&Žf\u=#n(qIw rW.7zqç# jsЛ0M>0J).<QFXl,xb-YӒtI:tihsF,91 6G!\$MSiǸ6峠 endstream endobj 109 0 obj << /Length 2346 /Filter /FlateDecode >> stream xZY~_!Ai!#6;>x CӭѦ[Hxfs~P7bŋ˳*H.#I)4U,\D?M}e|7kZ͢l,a:^U+[+Mb%eSnl[׸,s&㢲MuenL2 neG|S4Ư8"#xZYeR*뺱v XTF)yma ]mZ8>bG6OQ,n-3ݬ{5͸{*)#a4j5Fd24De Ǔ8gq Og /YS <]?_8E(D&86i(#B'8w`iG(=gD'[t4/*j8ˍ/܌/&iwp܆6 }񀵀,/vwXq|PO_ )SV1vHֹg5K6|׹z;O@y$nYtWC`I|[q] ǹ;oy:7!<0ơ,ˑIF±8ӕu|/wsCUɭ׎$־tbm7nڍp{6A/{ ߟ|fqEfBؐc ]kV]}@9~0ÏFKV۰={G0#-X?Z32b/~Ek;dm1@ohU/ՀkF~5u@&PWhyžۧ)[ĻހbE@ ϫm`\Xsom8Q7WXAAfI,Gd1p.͖gjTf>YFN^8^'%Ww9;3#C& LǮw'Ů0b|r Oaycx&?o {bhL> a\:JbC7s #JB*d.1 0"Y%ࡆ?F4E[O .;ɒќ*hSK(d`CmS" i+:8E*"j,~F $K;C Li(g9Sl祁gv=8MՄQ nQywSDQmAaTn@b07$ 1&4 a> stream xYm~89HĠ I96Z X-%^w@,rėg9^~[I\DLr%bf̙tڜ= u Ž9mD&sQs@Ik[:W2Nʗ,y#NVRu4/J:E$ڎDk7L߂O&!xK]zG;Q2~WrӪ;xOWkQz#&-/a H2\lM!SS }dkܘp>OnGN$f&&3mGlUf8mZlg.Od-ZЬ3OR0hmWmQn "|諞:65y_|xJ5;?n6>ldӏE먟~x'Bpr0oa}#XsǬp^A^ț7+2mn(G? ztXij镎Nd/~ˋ:&>pQ"%ILgn=߬y˕_̸u򥭚Ad0-wuy(˦w7vR:4XVJB7+B/:LqQщwb, |Z#ŴVg D]YzD= @kNW9;,h o G5'@ӫ{J4{Y]V̇ hU䅋DDCq w\) .7-u2`ͮ^r5n3pH04243wk2z06[]pjivWn8oՊu5.dM1`+1hBܟ#Q{2vI`)ﶏHmNy's<'GR p fзE6ꩧ{{bfS5+DObEjQH!̡Ġ3Fl1ЊeR:Sd<>M$IA^j͋kr}XOA "`01 M¡&xLXk䏩dĠJDd c)*qLI5Jbnl*.8D" A[R$x4Q_, ,"R̊|0oԑ"bXdiEVwrP5}ozQ]-Ȝ%{YBK #"eRsS'+g^T:BoKqaXZm;%;{CV؝m:TK$ZSЉ@L"-Q0 9-XZlsPd3ubBQ E-)2M;Ewv-ȧv^t"D"#9~q5 .`Il&& b E">ETj<&wGW%vYVU/ Kx$ٲҲ-C^kk@Xh^pK2޽mb$ .0vwuRP\HԝLp#))ڽû ߔ׫=PtLOrrڢj?CUT0iPdjzqViHH T.'m9 DIZX &ն)CEm9m! -$[$etA(}(^MUV(2od]$O?%"5vѤKUtoi~T_eC^HO'2s˽~NqnӏX}dVoe\ӃKG*8;yTA-EtQW-etg =?m2|'nF3` ]X?xų>s endstream endobj 118 0 obj << /Length 2839 /Filter /FlateDecode >> stream xZ[ۺ~_amb/AS r-zgї$X(wW8IᐒHIn.A>!pH?2әՄ.g6Dejzd|~?kiR #7Dx R i>_ArUH+H =-]RiDP[_ru6VD!mk:UT-GfBɄtuHIZu:#oWOwUOKn":-#C:}#'P5=h=h#OQhQ_i܄gӏR$um;?B+!lLXL2elAEFdWWr u\ ON~'(ޔk7퐐}"Ue&JWc8`̩+Vj@UWPyYYjEi0w))ve^dQS5Z@Zow, ɱN^r2 x3 3܈Q;Hic9-%i5UL9Kr& ҥLWT?4`Lyn Yno@]?@m|6|[7E>wπly]7ʏ9eެ?gr> Ȭac{٬*mf.;{P PZ7zЀh^68mˋr[훼j|z[j6As1\rw^omJPW҉y "GlTg MaL))yqZtfumxrgGF$1|0_)ryX1r]N}4p"8XuJd|UrOttm&껎+c7}( eK'NwZih68*0v@}Zk]R[Scli< ݖ bl(i }SS*V{ti'OZ㙴6]U.\Ag/BGS}Q7 `SE d$N&R =ѯ ?Cchvy]HVw~J:hW K'ttբvCc;&cP7Al9"Is"9+M$G'=1Pj+T>dW Xw1K9HzR$ 2FrmDAD5%m]1jݾJJc~ :*RۣB$XEDC6O_1`82 E]}- )bp4M@3 X#Ш[#a=:eB @&A3H@3[6a_ĄNYpr [a:y(wVc`e#H9̎C[ ;Ĝ}rx:*8O3nQFHkM KfdHuvurnk7SK ecFI\bgBĊL:K+v@XX3^?L )?<8xF:eV-MZup闀v{ t&;bvhWnS]"~act#(TdM ÇVlrhqG02}$L45\;$Mڣ5Sk\̰!Z' Ĉ beh$LC2T8!dē6<8N x >z[['tģ;.V&o X4C\yCHyc80ESO?fӾYi[oQ޳cy} iw2cDŬ(B7056lE l0ܖMwgF/cz *`߇%ׇjt]^"Q)u%xȸYpR(NiO(,|`up@ KH ܶ$< MHA'r6o8bmPwr:DDD8ҬډIBݢdC0P43(3y P{11FА/8Cg>~|*,:NMLh`Gb& H$yfl&[/ef,giwL7X{|ä_JTlpJCiN?$Lh(`?~U Aݙӆ`%ČiX-7gߒ >͸5#nf1pZ~>sd1m)xp|?1l $ 40Nr2-rqW k$Ua?l6]=WbSVSj3Z{5O7erh4]Lg)OB:\M*ZO2zjjwQ {0NӵmpEwnM} |lqzzŅRX;C*uiuiePyB 3,zr`~K: P[8>;5& J_۵NYM 0ҋSK6c< ދ f1 z endstream endobj 132 0 obj << /Length 2715 /Filter /FlateDecode >> stream xۮ۸=_a,U 6M 4- >fۊrNҢHl9 ]p8w?=C{&!|>tSZuZmf ՟+hNd"q^{hpC1KH鞺DFf-3;]BQ#^ϞNxڎxa,ѓf>pٌ2jU1E'mbQ< k~fq[ B{ GOrAZ8NI;+w n#T4ERDUiQc}Du }!DJ{MӤk4HB kE n8'Peg4"Hp98KS^&ATEȟPvP֠vX=T-E*4zS7Jι}æhPcUxY&J'IObٳ8ƨ8ɧq4eLfz.Yݫ%cٝm7Մk*OEə Q&WaX'e%%>(( ML1HR E%w'4CT@VF5v}Ms'!9'[ФihJ|Vipy0 u=:ŒG{$Hy&A8  i!ME L5e[X'DM;~`Obtxh;K(_[mep[ [a_6ɀo5$40JH' #N4>MIC[ Jw<ܪ%xy7p@$Ygt"*K_%9J~*sG^̿%AdE)Sq ]َeuZN׶ h߁824AV֌bj4k

m}#!& FEB0>[kgB@xF('zdC"#lPi :+kP}eq$!Op.xW veN08[]>.Yp2qQ"1y:t@(^0vÀ~P?E.;c

(ux0PEpՔ .S@ǼRp̧c: HXfޥ9m[ԞNcz"j!Iʎ;:MΘx!@'2&-w[[@!PτbjxKv8Yqa FCZH u c2xʩeI 8r"cjh8q4v PyJJU>E#y  ^v1i/ܐ‰RŤK~GRuY /ӗZrtU}͕ՙBIoj2}WYX{J?og.cYzޫ+Nn;6'OeZX^X\?Usjbg:CTLf[&y&s1t];bUq.W<7{"ҮS~=Kx<7Rě#@_$A&AGnI6RnL߆s0 lk6_j~KeN ʢq+̤A lF %d VŁ'RrTiIX,0q ֈGfe8HbDxq/E/;!'&Iz3)QL"\7WA}+.h;ΗvWǿRa)k5=`+ ?kL0 q/Kd1]]W~}e%JzO_pGMS9κ/rE}qd l>N|W~`W6˓@S߾Y_o%~" "E}>W qe@$2W/vbE8ǻ'JW endstream endobj 138 0 obj << /Length 2372 /Filter /FlateDecode >> stream x]~"ȃu\=]ImZ,$6JZ& -rH 7/^ T׷R8"i,^|]j.W*ёBOE}?PMOSmG3e%L-v]Yl[^$-hvAh?^B\mv@":]/6D"m~ K)c5>u;PNvT2n^ELH&fbcRUy.e|J8lt{n@Gn`Bьb4LPULkfR/_9 Vwaas ?/yؔ%oŏ<l1ˢ`s/XUpc0_y0ٚSH}|uֳ X9yjE,6m]w?XhE++,LLT4E0T~(mmi-r7mwG3}QWJ L\W=t*z({aW ԫB٩ ~ pĺ5-؊N]8]Y fNI/A&"t}źo3shۺ˒8b]}#'U aN}K vZ`ji8 dPԃo媯|mUh-y#҂HG \{LԍRIe" Y+Hk A' AZsLn rN҈D&KkR$p9$meP$qn`uK|eBX r ^)p2'(5!HNgDi, drE UB$Bq$1:eQ$(ݞO+~'Y%:F:nC;ZO%7\sMBBM>+~g">aX%͠_/QൃٓghQ]o@k&GCx"E`"++ė; *O G;?7P|Hc?\{](> stream xYݏ_qR$:@R@c(wbB2I|(ڿRǻK<ٝ}{7"SB$P).6zejuth_E8E\, ȫm5T.n?]; E¤Ma -t7g}zz0*:GvU9zRLAʺXD][Z@m4e0ԫ{N@Ā<;>Pri}W\JVyxli7L+[U5 ʦb11@P6c.^Mzf_ux*kvSfT4_]?noj2*UW FuuS5æo^2@K s`(yQ贈x6j<{i;`ݎ} ?KaRY%oJi6 v}aNQ)2[ ݌80 &uSM)3SEgg3CXQV',i]L[`y^z}ōѽk$Tqnsy;8+&([2khgEjA3q=}f_H"0o FsO`vY4u6`gbssspiD(M&;f" @A4mULupOϜmńl:́7Vj?O'CpgݰUS hB֖[;H&9)h X<=<%<-<#<1DN;kjIӘ7DG+ك_`!!0{JAMNP3| #[JU64$f WlO\2i}o1w}$dꏠ[OM>D'B~AD<5tzE& }3΅3_Es/`;1V)I?iL/M3nTbuh9~RR Rҁ)ݠ/!(1)g=Ib/uzqq.a.U\o)Bp]1$4=X q[_y{~M] o0M k(ѥ6O(AhPѦwۍhrt拔r!!e>ˎe@֒LaN󾂠bp @R^`Շ8a8IR)avN3{SC=IV'`C\Ƨnj1u0\9M|f*kD@bKv =\f&/b=5uႂ{:D$w^vhNI=CE6-8usad/dR=R}jXL[wP}T;a_vRAqrtS&7y؀q]N@mՂs5} :zOr(t4D[j6uY#ɹ:#Qa{)/y-J- AɃP飄J1x&!㴈MR:[ZBI"PU}G݁qsև@a޻c bQo?ocqI +&,Bk%~&4U":Kr&&'[]I0 o:} ՙ%,8'`kc(5JkC僠xKNt֘\p=hu=TwPF;8zQ2\p\}t6'^&spt8o%x*0F8ʙ\qEOn{Ur29M:s8 BgyD8k"B D@LWg({٧ZFq$R?-϶`+?OH2o7ծIh}a$TSP4.? w)` %ب^=[ =Ѓ}Zki)G/`^jLR) 'P^X\y^5MOY{7kO:=gyUaN|2J,I5dtM#,iK.&̳{czВܱ.ěsU\Yd.O[Wryj͒%.`sq[V)K^w5)Z0+5v?>"gm!gWhɸYހ+}j ,a41.Ĵ v\\kLɛYu5I6kE}]W"h>P-`'а@Z}G 1Zq[jYv# ⚬Iؓ^<`~dE??,<(31. oo?N**)׈=ԓIMH]A֤V $C7S?gwpR52v}:>9Z-##gՓW}ūc>2>s >O;k=AR?z0a))cg80z!LI/ zS`Psu_Cou ŭMְ\ݕteUSj3SS|n6|[6K/]񱐻9J'"Pt\ oh=>;XfF𞾻JG *зˇbeqUL㺹: WV-ACȇV0i endstream endobj 156 0 obj << /Length 2331 /Filter /FlateDecode >> stream xYݏ _a*k|m$"$XhY[,)EHҷA| pF/}6S4S!g730"P|vY>\Xg(߾{&<iQ4[$LR ƪڭeK.vf C5\]mJ۽~߷}q`RjgNIx2b`fXhS"lrJa2Ē\:9VC7񣈅BWe,U6ӌQ_jC|AANxM #GFumy$jSk)~6%t-xƗ#pH%>.΢`UEmbVڶƘrqͽZXt\.odR֤ wZN`Af1}DXi{mBlY0hb#jS5y[tcq]`&"xkYIWޔBœ&v뽦i9@7kأzGx#N0mڢ؋R$FarC (u҄:p!u UM'"# `4~l"&s>~,~]y92^o1G԰bGy丈?GSxd~RnfQM0mOI9iC۱FF~+z ո=6\@] 6]׷wզإ6MȪfajKRn l` Ln)kIvN丂mnI4q0H oph~ta2E_N%W*F H嶆zi`*yOO:^ʋl17o8vkS5;נ!yMHFZuS wu&I=y;O.mȴpjŰ.vދdĔՀ %ʵP Pjg8 :q@[ =HC-m>4`}KI)Wxݜc9ƆVJeu#jtU/#jotX];cmdQbO[S{.iBˌtݾ\iD\c4>B~Ri%$>"'VІJ$_w:*X^' | 45+֞gE?~'b#9DWs9cQ;\y}o(|oZaXk.Pvvߩ琅umW 3]:y޳T$$g4] $J8v?X=aŗx=k. x>@o\QuGn2*>Vt.t MOr3i#Hd:Tm 'n^|G | ܴfR4ƖPGCgb;Aac6.mّ#2 حvb(S5@so>oޝ- <\ 8E8⎞,a<3,W~1o9 ӻX|H}.q}K_Oz =<} lEL{䴟jUԽd =^> stream xXo6_!I&bnMѢ!`$*K$;dQv0"G6(y9mL? %oTӦ"N*I|Q7}$3m}[J<4aia2̥yX4ׁoRw؍^] 1EfiP^Ʊ$ҡז{؎L j5SCS Uېp2Di\;a {jʅHa$b8:)R$S `Bd~_5Ʈmg;Z[+c^Ү^ G]mCo Sãv 󺹖H>Pu`B2 fZYO"F08Dm;U:_mִ"at=7vy&C.hɾ ircם`^=6j iGȳ TL8V>box%v^ ;Ӷ8zˉqCSKC,#n^,FA5-"]=&XSAruz4i:aht}5aaCGK]U+ڬ%^C4^&kAd6YRmUk;kN t=1XeZlU>Ƈl<}Dڝeze( ^_lcfmG~jfXNaڔU'C)u<Z;n$a&sjUn $ 6NAɩ5k_o0׳ #y(d>΍8 auT l:#SQ'SH{n @ g! ',$ByT_G@Nix +gX#yQQ$I@ɂ`.VBR๵FJ:<e¾/&Qzf ]n6&vhvFsg,"ǣ27xHxUij9~l~q*1%f4/<0;*v[mO NhS`*Ou0 o5ͥq&?)k.G 3o endstream endobj 162 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/Rtmp13a5aE/Rbuild47f7353d5903/spdep/vignettes/Fig-bitmap-2.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 173 0 R /BBox [0 0 468 252] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 174 0 R/F3 175 0 R>> /ExtGState << >>/ColorSpace << /sRGB 176 0 R >>>> /Length 7454 /Filter /FlateDecode >> stream xK,qD+zI.W `2/ QH{*"}0{T~]_o??]ϗǿ~v9]Nq~tnoN_a?ow_w_߷orq>}'}og1p<给ݼr;|+c֟j4/n2nq|˅7#znyb4^<}hl5%p +bV"E"cEx4{o,,kvډvb &ƂrQ03LSq`b(zH0!TI}RL3"P%!TIJҘ{(-zf(Q3coBi4f(1ci4+Bi\PG5ҬBiVҬYK㍊҈uQ#(K#҈uQ{FQ3FQ4b(I'HcD4B!"F$ "H3e(`"aɛaqWPq6vaqqq? 4WXF) {zgiV/A01L +F*4b,K#҈4Fƌζ`g, & `BJ#zB( %_۬r`"f(`"TՐ0kDP-^^fE,͊X4+biVN g -(h;~ >W,(2Fj'ڹQNDv>ǯ(8i**X"* F( `H03 +v\0'9`f( VuG#P0fC0':-/JB(PsiKFsxS[ ";cX03 UFA%ES'X01Ո`b,ʸ# 3"P0!LU?GTI/J#4Q_4uq  fJfJcn <-P03låԝg+. &[Q)` v+BP`+bVĂy`fKc҈4b,X?N`UaOrTUkpJf(4m? 4nQBht0H0!LBj`f(YT%_re4CPF3 j$Jf2nt%'P`F$$4B(at^9P>Pڨ$Jc#=P3 E0CP`"ܰ͸5WŽgWB\+’F6[ԪP3AEPib(r=A((P!Fj=s⻧wF{_AWgPb$ fM3mNf]U. V3k,\%,x^B$j'Ă[ "UZQ%)`f( &Jf,K CiP4*؎4JI3ob'<DlmN4N8X)V[Y`':O)>Óy<γy4.V*+zOʵ"&?gȏ gd]xO0~ke® ~2pKJbDxve{qh܌t1taE: O 1e"--o e]_ o7RblwnNVӣ@wRJt,}=ڐ}4Wyyl!gȗ ٱ*P d6&`|&1ie;`[qG'Q`x,Ǝվ`wWqi co!'ytz^ [l\"/тl~^;Rgc%:`ŸÚbl-F׾@ ?6HRGRCcbüyo}tmy|O  6{#Y*kG%:g=R"}H#RCT!h \2-6W7NWx-*uVJtVJb]3tW{(VǞgȎM&Nsa O7\6Tk#W_+Ŭq|Sob||f71>Mo%f7C>Xe<|ݧi |cTks,t|,RcaA<ʫwC^C +V;oYؑtEH㊎#615!gȎcUXAt̐sųc)n-ƎMqzY8GS%:t>Nqk1Xbܱ1`ӔǸ WiX;u7)r-Kz۹SeˎMykؔd[Z  pDl;&Ǝcb;&ƎE ;9q"!;fȎ6HߊcUhSAɐmrmM9΀-6q {# X`GC8 ,2qyfip?T9݉ y&lA^ <v\s [5~γa=-U/U/ikӔWzz켫F%1p'; W{}4d 7D 1Cv̐3d ٱ*[t`#K7c;Ggc8M֌']Hz# PY3vW7W?N8YU hق9- x٭-(oƖ7s<[qvy4GV#CYFC 3 >Uxr"׫?|I4 :_Q{Y-nϼ]*_a1oͨů(ߛa_WwsvYvfgJD:{~ciӟ4:<_b-7b57b=7b%-|\ H%O-|\ڂ%O Uō+xbkCbk8KD[ֆ8,=wkJ4[ن8,|/ېd ټ}kD[ґp46W$|?ېgne6i÷ {nwʺsG1QWb9aJ.+hz\ϫkr'4Nh>Vj v7v6X9bĸ8l׌;w,p$ܔhD猧1O-, b3 ތyo͘ ތy$ٛ1.d.J4+5}xSq&:;ҹ"H8g*8g~C Uc D ~[8x%-^_%:= beg/m_`6my{=<`0os ېWUlӒ 6-yoAizĹ&4'O:gXt6YD?*#1^־@ S(#(Hkz#6lC4fU}4쬃tҁJ㙍tE0ؿ混4g;}Ws'J#gþ+_``g^jȟw Y).tgW$V)pum<#6qFp1blbŸ3M{D.%:矔`k\'PG݂!m ymk>c-m ֐sųcDҜ\ Q,%:`%]1nb̰qw&6Vf͐ )v#d6MUthSAɐmr輚#(qo0؜wB1b1N6 6qYiӀ͂Mc\04id< `;; 6yV^lӘ 6Ӏ[M~Hr}43:ߟ߯p ݼ@>v>Ϯ'ߖۯu<0~d%à0hA3< à0hma  apLJWgE!sŮ! 2RCYUx,bY0dC͂!Sl Ch| v1؉ش74i| Hch9~9"hiA W086[ٲcS\086ٱgwMCcbXcNbv,1Xbܱئھر x*ҸijEțl!b\%$#6[٢c1Cvώ84;6 %N4@:2o͂ys%l̛(a`ޜG l7wG o6oΣ (4*[vlΣ q.$]Hv!16DwfXa'#*!l!bȆ!UHǿ*{-"o\ac}4G Wc11vLkDc)F +Tݭ=r2U(4٪kn(v4k1*"q%{ehv"J4n)u^U"x>QŰq/^*|(! Wz>ypG  >y!*n&P?).P;Xܽ`+JyblW3d ټ25lNW%:P b4C<16Oͫ͐!Tm2d &44>8ҹ>w*_E161 6Mq"cAqcA`caE+DK'7H> =;뿊w84k84,8ǡ<ƈQ'+='C1oC <4`0oC cMs4C[6yhŎw h\vqщ`'kJbcr [jȖ<>4"+RG:ԑư4Px(G C> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 181 0 obj << /Length 1861 /Filter /FlateDecode >> stream xuWK6 ﯘ[m v,=䍤M.4c?&~d3%E8EQ$E~&OlR*MG6UY&,bhocӷڼ-Ndp,ats{2Hn*rOƞ*?L?Lܞv<i0>":юFSpck,d&^iHXu-s'ew, $!$ΗMQj( Qu]ZcG N>G'C 2H@DQ}(KG@XJ"$Y g^??:syWH4}{SWVhMV98fzzitvz]iiD|ű+P0"OCie>}޶ n=oJ: Mkz+M,V}w,EN!Y$]DH Z=ק ゥ5qR+78+Iv0W_$B?コm IQ("9nv0z豯R{P mf"`Ix$Rf;GC=LϻA ͂Im7[֝C-Lij߆޶ 8F/`_і^D[79/ "RH2隷m}i<;YiAЩkP59Ѭn E"E_f ȳGtq=RqPwmX݁FXqͧ&sڔʜA"+|q E2պE9.f6{WSYSdECuTx-$rT\-/So$Tª9:MU@sÅ-*q ޣ031-gՊ 'J\ ̷VH\BC?L[;0 xiuh uNqqĔ{9GQ5Ab"AX-=O-qdBDRBQaO%w3wԸ8W- ɚsH. yʸg.@0WE;T娓n=`GXNf`[]3 )0*X )53Et @66P˖Ra.c״@r<;Vz9d‡W#m(.94Cm Q3IcMҗХb nnvZ@P/ЭO0}aP3xLcy1 vPa b}i5|< l<5EarýUb7v?鸷ALA"a .$F8;rmh&O+4S7㣵PnuPog>Rdѵ;zD!]9Ck14Xxr݄LxńwhW)\/d1ϛ;|m1UR&)SQώǺ2,=p=ib %d<~Xye3io||tg|_C'VX P&?*U(U$| 1FV!C"\ҝjȂۄTfT'1Xֻ{ cu&K.Wz* +da>|ep8Ї&WDWEZ)T'9_,󄓟(~o<)@Tʤ#Pj線}IY{~%6W;1ǣkIyb0֡跇Lcz/ b|_U%d|tmٵ8 U!6P eEWn endstream endobj 163 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/Rtmp13a5aE/Rbuild47f7353d5903/spdep/vignettes/Fig-bitmap-3.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 185 0 R /BBox [0 0 468 252] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 186 0 R/F3 187 0 R>> /ExtGState << >>/ColorSpace << /sRGB 188 0 R >>>> /Length 8803 /Filter /FlateDecode >> stream x}M$qEɃRW `jDtyX_{geXT6a+#YToǗ_=t{tK6oW[OzCsï~?79~~~_|\g^ȷ:>ڸB&%o)L);W7,#4isK f'?# l1v X(b=Qe :٨F%F۷AXypeX\]ua-exɼZAC^+Qlx,P֒'}x&wkp) &?]^ۗnPҽj? aO2e{Y+&߶9lJ/\--`Dζ[0LhTX,lnX4I:䉛.C4HjM M V Sa\T1Ȋ1cХ~`E7\05={ͮ?r)n\8&~RSlMM'&Ҁ"eǒrC+XC$ Rl!WnhQMF3┮qJ}쑺ZOoII":$sɇ^dVȔF]fS" =WaZk]Q$͘$K95/i9Sk:sX3BoMbMK&SKHU׋$o:%->-flaptpsp$j5DZ % p,9SEW&n*)aEnXXTIH4xHڌ]&66Z2g*o/!>pXYz/YrNp3,ygy,l&0% ?b석ʌA&ǡX`=wL)Ygv$!Y/9x39xF:!`5ctE?Gi%DWzLFb0oBwJ۱ Q^| t6UܔM lp' /@;KEƃ$t$~*b d[w.f ^pW|iޫoHm*xL袂7O|܏@B$q4™$D6b-]P^RlJqsbxl]~ۗD3Nb/[1O6#^`z!5{rm̧'WglZv]١wapfF(& ++ʜ:3mUwIm}i)INy'wl `Ɔda@\"?}mA(qC]F0)Dsu i``>Vҹ6ΘLlw5ki2[%V;NLخ`(Ez>wC24Rt Or,X;2B J҃#iO=UŌ:I "~%rܕ듓?ӆi'r5DP@SUtEP8*:[ '7vQz}AȚv~_csp !F@I33xW *%Xf`<!"m"9s8p3ϔbIfF|dʞ\87{]ґ`7EP N\Rq,#4"׈l#ǔ@L0z{l-L<Ry+!~J5m~He 8zpMwHljeo ugy@ۇ'ys3 ЈP# k̏ko]C5'9C3&rbl R}4DY H@#"!Pa8@>O8:Xуǿ " ǣyI]cOFW]U{=ym <"0QAO`C{MB - ; ^Bڵ%Xueܥ+q<(<.&#`nbwbx Oc.CÍ)9Br(&2= (v'B41=.60LcybjAԞK4/)ϐ)KJ_UYwkw*u[JHpzSe?)(t89G9|2S+9̩@gszN YV}TͿO_8,qzžzˤ7'ժͤq\[>MBqz?/AB@Ï;oZ$DX0}; !R \˛I&'!Ne4wQ(0>Xc^ML5|du _{y_T;4~g_Xtawhr[|XWR{,U? Ys;1\30\C$Nn?>Yf|2J(0ydv-{?S↓Vtyúۛ݊Yb`…8C?w/?͖ 4cU y2&8gY@iVUfᇗk Z/igbx V+eZЧ°W4jn *c }̆z-MX49l}Pg\dRe[^5f*ʷ2ȵĜeX+DFy)?A1@9zd1B4qqB]6 xmEE̪͛WwEݼԩޚwS n1Q\JDNlVU ]D8\GI,ϣ%1ڰ|hx(8,)ʥVتz'P%xqE)+X ?jbvބb1Dj"~ X-&HԬR[K7Y%]b˛ U^W# V&D-1!gRr mCT*MjbY9SLU "|71Y8*9HiisIՉ/D8{[TA5eXZ꾮H$r*Ƽ-&TPN&Wt,+fWW@ )b0^"ɵ,$^?^d+_nxg.uTu_Wgʩ0=Fq&xnfmФUBԬUP"е0)@e|M>%ߋ;Vo?R'U6OlѸhtQF+?~:jʾ\jbZ<$mk31I6t.'ENoi\}}E-ɟW}$۾fSS` YlKu?Q] @=ȚlgZ'\N8{O>ew>VByn$~23wRx?ԒN8Z5cOcQYp0ؽI]zZFy%=ޏ$rWTقB<:zOjA7c#J# Y>gk#cbBϯ,W/H=AEe-i#cXa >ѯNaNoa5j3ޯj *~R LoЅB#5{3]c]pN y.}&jˉEjVug{6/jhP:"-. WueUpHv۲ϪCx9)﵇+3@+fBn,7,:۶`HQyJm [#Y2cpMľ+sa ->~yaɆA!10?0DJ48L0u2F_m#^^ov^Tv 2SF!!gz&ʐDyd-Hb gȎiȬ!+ahg gU  `g|w'pĈ|W"j}#i?O1(<$;0njG:H$w6?`ep;S*.鯘鳘^ 鷘{)db!f"b"f2B2DւH{l99ĿWO+2[ ZPS'ҳ;(8&I+f!Z,=tjB1 a+7*NGol^䃡'H؂0/iSwUE&/*=ץק׻섌tsqyӎv|:yP"bD(8oZS6I,=Xp;cvoѐ1mnC#6vvQx2u(CІw6JzP(p@ݱ}.gV;o^DPH@EXpUgêWT<f Kwݏ"K@P\Vk8GxG(*qwI_:;|!5v, yq)Jҿ/mDz~)ź^U},ˆIS;|~Tw,oJ#x^ݧ0_%tlb PȮlXu}4m}FG!IC>AɈ4H5"ـt#WDFSh+Dc1Z[ _ADPAOEgtET's3Rn2X$bqDB"8e IXv=].G(z=CY<DEpy?n'vR,frF鞍A b"ȉ hN'^yd75DGd[啭#=\ cϓdU^ci׋ c-fH{3WFGpu_GgEt&\1gy|//q5%gCP CKy FCzoL9mJ 'y6_8=>(Q\է6YOށMIL dqWO*8H7//>?TflcgL^1guC-0V/s9/n9 23>ɜ2#>g_%ӟ,r98퟾=1I:霹ޓGN:?Iͤs4›I=isߴ|Rtv[']Ogz4{>ޛ]>5|@ny_(whzGןwzޡ8A/whrj}V٫=~[dA{=Q>?/ -|xGg/~  endstream endobj 190 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 193 0 obj << /Length 1228 /Filter /FlateDecode >> stream xڕVMs6WVp&F/-vnzb1 I.-WQ\,݇8[qWj_–-OvS%k6~(DTIBf_|Kbt4r _yՒN6ܿW?U`RY^*()4wRVƤ_|&R_)88:;chU&XD}}ad{ ̂#Y]/ay&n/m:W{nܻ+M)U Ni9;Qin) XiWq e` 9+ aw fX.|3<Ae%*yn)z)S$PGOOag0H6'0SXn6?–>[#nDa 2R۽=y@5r,D&fjztT>sOY<>dud!L]1 <77vHxOֱYo:O oG~/`̯ySx w-=`Y^Y`*Y  kاw[ ϝ7] Ҕl/t>gsh >",mTu#a#M:MSa +m|.dx wM+ǖ~1=KMd5Ϧ߷k3vzcN"%bH=$ orVl[ip[Gdݰ|kAfAß>@F;8{G*)t~X$濪]鼣o !Kj$H~AYʝDtㄗ AAbov)5o}׾oU+^,iOa{| DE,anlI]# _~8 [9kdE_f(aqlcޅ杮s(d~UQAx`Z>c/3? *sTKEۦm;s:&LUC;y<*NR3 6ͦ@ZHK !Jx j .^9 ߡVd%4\/`3 k?'̈́Om#WA$l++GDgjһJj :T"pɿ: endstream endobj 210 0 obj << /Length1 1416 /Length2 5988 /Length3 0 /Length 6955 /Filter /FlateDecode >> stream xڍwT6Ҥ8$4W R $$ޔ*;R*)RTzZ߷V3g<ϻp޾g(`UQHX$ P $Di9Sp1X )% ۔!8t`1I]I I Da$7-@GB±J('aß %$ (1 Ё.ag! <[CK c/pGp,\ Ѕ&H 0r@`; Qv8w08yc=4s9 _D_$B C`0 D vg8@OU[@@3A(t@UAw?, @㰂XE4kVA*\\H>e߻'p(w;; ۇh17QfDAwEpW8 _=zQh /B!?Q[ HgǛvc ~`%a(F 43Q1򿜊(@@HDw A?b5v(EzwnHG!<&E p@  /LT:;s?~ O݇8 tPx1 j ]-{5pxJ EA"*n{9oH=qG@ë ``?PAP@0'~(-@A$ {ء0v\[@4~^(_{E|) (>`RAUA K$)fByVdNa8̌ b`U+V]E׃ދl5"{l+lИK,T LoIb: FRwrRU)ޝHfpnK[EQ6=ɷ/Fhђ__\.D=OMcגn9s/홢`}xi#G"â,rdB4ZouuΗg.ysw𨩐xClDPU7DJ5`{^"gϷ[Z&\#ѴQ^sS>iyώ6w5(%/w=ryKnToW4OPkA M쥓 aJcl ts^пB5SD{t)5^$nH ڋu?$S)Y_SEj \7KiVf>piP'aQOW${WF5+4fGT2~\$@&(k=3v56ks9Ʀ"IQu[l 2AVQUz^@ǭ):ELVWspj^B/DS`D?ϓt'XOrqi^}dʾ`kE҅$S]G KTLkzѨ ㌗D-vի,,T8D)i)^fSq誝L&SulES}_8rz;5.5xYT9U'Xc=md^"V:qE޴{5ߠP&[9#6qbCDϛ!D=&jζ+O3eG9%/\PKgɛ_Ed#h#.[+lwluACVsrd+a)FV+DCZek ٓw'F!<^ sPZbO"~*HF=09xAR Uцq o+m/]yc$b&U M&DQUAIo=;}K hB U&hzjxo/$oL.9*ڮȔy}h3k^j=9u9C#1WtLL^7VV ye '6Ák;m^AӖ#4Xy2nZéUDW|V~ߪQS@;{]Dz2w~dNx$b*xpEj/G [*/JN^[ , zSFB67̑XLM*٠H Ɯ5<~(P$5sWҋdrn*V 85jJrʟ9~u%rZ~:OmFh9 .DmhͲpJRxSqϻ_3m[tSHZг{7 ~Ȯx1#кCMavfQHIx~S3N#1'b{זEqKۺVq|DYfhV(q~g&vż)19Ń8uRKWx•Tg-k>oa'a܅R~gi`| I )P)SUv!9'LR5XB;s8=n*JK~x=${۫}j2V/>87"š#Xj炱!dT z!i#8/M5d28%}zs*/QY nD+ns]_MM!Ƽ~0Y/p[|&ZhYyݘ ㍦${m'= 9lܟ-u?PSMX%V:O~a)U `8{>s2@?}IPR!|د0ʵ"w#0{}&1sA^"v ꁼv<(Gʫ/&7R!*CLKWF/ӭ'Zd_~pnϟ{g+d-M_3d3 /+_ޔ !d5ΗfU-L럮*YiƪZy/  Ogm&g-Qũ}#rၚ x^Z=Vr״ݍm%n g4r)GS} #ˢEXnf)uUrέ5U0:3{;dk8O@&`w,T:$1~=K:Jȹ}·|q5Np@z#Gӷ0CufqYMĈ/GK]yl|K̚mV!c<&`Zpeehkfz|y8wBپ"⮚Ɣw̒T2v3p֋8`voKVv TR fub+ /J_t/{ZΎ?Ș 8Uw'彻k(:-Bs-Nsso4Td -,16߫M?4Of,s5?8lӂ"b,Գ i(FR}@kHOٽםܫ^3Ck.nx S+(pN3k"u$EWW1]"R. :F(O q#(6*¡ ;·el&$q+KKU;Vt~X:ұ>=VQk=i ^;JI1g>rNf3dEZ-d9ݚ gZIU~+FRZEl]AcsMFk\NpY9=o;<Ccc-BYk I-/Mb_4XË^a9TGmKF!…<C>zI(KqDd{of 2>]Fcw5Pf]Lj QC&euƵϠBXߛFz+ ! ]=Z5gRO}^ϒ\1bZO 7:kݹ5Nj%^;4k=%]u[r*w~ LghR? f&Ov3SKڰK?j3̪ڇn7$iF+:{i"@V;26bL]$$ĝzo!JC3/Q,d3ݒN6著8]C +#iwYmAJ$D?mM;Uph[WpڡC0[<UqIzل2UM$W?X/wʜS%I,(3<{@9iE/a1ɫmB'傾.)&ex㩜i8h$<ǝFf@53= \˞y $% &lKB↘(=(wymZK0ݰzF'DmͰGIO*mLw\= o{Pd V7 rh%-GtVRrU|U,6 ?-4di5WK .4D+ʥ `) U[du6ńJZ3YVz,I8!+o> 65qN1M/Œsf#j|*g#Zdx{s'ex98ۍ: orXs;FCxe|pQxm'ȹ~=Vڤɝ<*cV@Qd!#/h`Oj"jGǽ\t?v|c/w1u'EE g̖XDxm]k?_xn%DvlKckuZhSx6(q+zt}b HF]Fϡ?/'&0,KggӒoV9DV,"!!LaXH?fN>cykK{$:IMYvOEM5 }Rm=^^.(0*yrXHE߹zk vTr~},ٙgZ -We]$fw+ EWA'Wh艫`YdkЛ &»FW8^LPCid̘k_M=AJLtڏUnu9',RiQ,EJpO\7.et!!r:*Vv(C87x,zwAcx#/r-jT?{RJCv畬i:{|ty02xriHLû1Kx -+z\-q6LAo-pƐk nT"Pw.C<+С\v7BMW̑/¾Mh(Ϊ]$}KHݭ sd> stream xڍtT6!HHĀt)!3034H ()0"Rҍ4;ƽ[֬s}>هXP!hA @E(%4a0 "2XLtp %eR2""QH* h!  uuCc JKK v(CP'0 FAܱ':acG974CFXGB ]y>P !΀_? pLܠ?1FBXuQX/3 0{@:w @Pog ].PB`/"B``( % )rBB=(!D_awVAChɯTHtq]~!l zzA4UR0W !"""%-x Nn¿›y@~`lA H# @!4  ܑgqI C\GB}"X"~^b匀C_auMumSVFE"/IaA cMj]?b_{3Z?"q~RS(/wB /췙0ݡ0hE`TsȟՅ8C۪cA 5BQ /vr?)A Yb[_6h9=>($ jp'H ؝ Ego4-/@$ ;`"}0 ?(/Ű0 GbN^H,[:ج@ '1lʈ7J}W s D6zݼ"3ly̒ϡE懪uɆ? ԓL ~(TzL$hxhG-O7 N|}u`{V W+$I1_Mۄug'D 2Q SbzO/V` tD`EόH;E7PT8i\!K23E3*Fq𚶷޽Mg۟P#i*o@כ\gZ\?g 0BfRsq  L>@>57ؙi t^9DHgmL;9ߟU5-P|(mï%?>+`pSsȌPky;m([  - $-JL|(To[/ */cVfZ(oȶ'ط^ڥ.}伾xTRlG0;+Q~D*"QQf~Rޫ6b;&l5 &Ζ_`4U9 'u;7'm'T ބ(>: l?yk g4ʷMN/഍[b<+y-^ x{6~0qKl휩RیOkw7Poi 3t ƒ/g)&+GTQEܳiWU1F!b?MUpUʡ#?zˇN,6!6uulǚuyovU|Zucg.:}i)Rڛ 9O2fsCNgcweR[hF[7ozv8FJY=of6wTȰrIMύZdfH_wI'#v8(kcV/Cnh;WRZN$_z=+V+E )N칾Dq)/=hNhӘgRQ?46Xh.˺~דMKme.{om$X"O9O;C8>u|*j/4>{*d7&R$Ú zWlu"oyz/4Ϊ)7_uFiկu+֘F8rL ;sH߼ޞ<,rؖk4P͕a1S5V^HPaT珳`IyMXAIDq8/p"M (ZMx.Tc)/6-_I伵k<YY8)X-9wX]Z㻗^<S0%Zkf LAkff sw(iki AF,FkC!'^[[Pu0̩ 31:9%$y\N1#ݒjh'F+U* >\zCFBcw;'ar?aؾ8D́Ildk86޲GIGr;,m!OeR PÇ)5.72g#D}(a#T>W_3oQ r<6|Kӝbc635n8ru/24yW-PAo6e,8<ڶ5`Qwg2KRBuŵ՝iTOȫo_14琲e҅Y3A1zYP@5*4i]qNSLec >JD֤V#!=W vN~M)A6ށvrܞ$} kZuGCQ%yüQN e3p߰p(7jߒwj<"=u4ӆxO;Sp˾%-y>-}I<{~) UX73@EHJRuz"xWsA W=$p/ msXԲ^A;~R>Z>s6I4bR4AsݩPvg=^M!Ƅc: ֆQ:nKK?@RxtPEZjanzt~T]Sk^oG22yMi7N_㊨ 8োZ޹7+CmgpL^ǐOs)JE_0o~]1>8\Z"HCV'"qj^ߙv[ܟv y3;qkr.޲TlUؽ^# pUqrv쮗 r?uKgDCYѬ'[7Mp9P&ir{~3ȬsVk}]P]&v +mfA%;~!z&ї[l.(4Sk% E3C5gC]/ mf^xst Qr/NY饒inX+pߨ{_%aqz'9ZB|ɂ2xOU BUYQÄݗG%>ז5JEb.JaPҐơݭ/[̪G2 S,׍ gJhDj:0mq@zvCEv1؂cǵ;~"om|k-[`7rW::ʠ=oֺǮu'F=y!p`U2Nv6WWO]myCUgCjnFs';G|I4c=_]""M\$zUrڨ,fk1xg| x]GW E}yv-:De 탇7 x?iʔ7TE?NQ+B~>ִ_9x5pj[]B߾5iMKld bZ'ؽ?MeRi]jDSSrW8$+M,)ݙ/y~%zgM!gh4Dl3&F)U,X-j}Ԋ?BxCBr]wBQ>ònCx^ïm3UuuACU]tLI]/^'IJ7h jSst|fxql7̈O*FjF5"yeq1;PQNVV^}GiZ=W;HV_7yw_TۆN%MrAű6o [45F~ 6+l+NvH[̊+w[0# mwRqKxgkgL0$  ҫUTQqLjIoDo9kbC~}yiU!>÷%>4;0"3:B]t얤& kZ̑LOnW|"A64DbSw{-2]{' " zxcfR~YpC MuNLb6T{Y`4*l` o2- q7nUM3&mtsDV;Z2}Z)S@OJkXK^-Vm@\ȁgfs$/3 #gL[,dMM+8q.%֫Q6: oyfok|n0lXlAD8SxCXzK8y)ҎZ Yf_(WE|.䬩rA8&4D>W3l"6S[/T[a|ּx \ N>sFnKڮĠT ]˶y`%̮>ZAg#Ul3xE]9gZz_ i}nu9r{*jpoA[$SڬnU@}1a a?*pj8~93.L^nN4G!3)o"=xK Wl%1uF־oJu)g(twߙT&(5ًJr7R%:?z,+̉괱c 4#]}2Pʮј̓mm9TDpV5UpC苽lQ&kbY>owT(7AmAr*MK$m6mU|mQiΨ xCD1eAזW\ )f]WtZ| =-=&,c"'=,Re/spC5$5yYF]9S3)pkb().FNs<_%l~3$zRdh tԅ͗0*[ٳ.&m5W@Aa,x'?ꌸҝQ<.:9Jk7@hz5 q uT}S&5_dEDQ*͕ ’yF, v+3fwckʐrX^tb^Ow$\:yn, 8 endstream endobj 214 0 obj << /Length1 2670 /Length2 17603 /Length3 0 /Length 19140 /Filter /FlateDecode >> stream xڌweT\۲.wk C!ww $hp {>w' h+jVBME l;p 58\(44Z wo  vFhICLNEWO.?`WA' P;Ph> |[28vH8]ANesw[# }+ +Frh݀@+_eTNJBв[{qp M%3c ip+ogsKK` rTeXݽݙNV;! s ɛd%S+ݍ Wl4ZJ trwC+?i+y [*ÙM TD[ft𰳳Cz[ڲE [RG3` )B{?P88V Kw;:D C 0d !C fSՑU`Ւ`o '; w 5sU '_H'g ߱Tϻ;%{v _Q?$_ @F`R8oS]?[ y8o9d-$l "& Z-m vp/d,!7tBVYe,V'/2T<<?rZgTu<6D ^o`lҿM_`8lr'M7)F7]7+Fv?O70hF߈A#o @obf Y\-=spGr+K $ ,pijn tZ! י=/Yx ܖ`Ȕ"_GE5~lVB.HiV`s?, Y2pl"KY@򃌟Mctw5BLl~@6]?M .D[g[I9o? _4-t ]T/{VDW80DǬ*hH}DI|(*oiD&p4#xw.dU^ 9Uwx.0?)n4sOhtէ~It9s br>Ή._o;cG~.+&qSM)] M7b#._a_\r8bzOt ],,u:F#+<+tZ5UF ,t$Q XX=#j(D^X^WגR^(cR>INӋb$A<Z8gV$l:5wM\aW+bYvk߰hZ; )Qgtvfqc?QU1DݔDnڼ9k&rJN&v MF(!@n>~bH40n,̉燐^ OpC`"ADƠ̊a|So2Gk]8a^E'> CI}&I/L(xZGA}! g /DB|U-t\.Ag)aPRSy_X8P c5?Z라"C} X- WLa%fj5ٝ\t5=W DźQeCYw8۾p5Z9ꪮA=.L$XQ,H$}ƍF}ѭz-t 9b~K(73 띺u6 +X/Xe5 VcTLQ.OCdJ7Ŵ|D"1{. R0,8t)M J o9~aa;u_  ղ];8wD%Nx%gd_D}44 3 >p1iJ(y0N!E)s3lZrA7@6CmDVJݠdϯ2}o |#FfpN4AHW<_;L,B/ hhI= )JP5B2=vj*|_Q;cZopTXI.{|r$VBgt#8vT,H\c'#\%$-ߦ$lKKĔmUSB귔c`BD~(z' _Yz0=Xsz.fňjbn+c#i%P{1nKC6caqm@![h%yC%U4<G} jN9;*?<)U~  4vpR/YOY5s%\x”񸁢8~csF|Z8t U*Lܢ>y 6xַ+1\3r9Lvb1?xD| &QJ#b#1Յ^Yj#+>9E!^E %9* njr3# 饙9UqLm*I+>3qw\.Cºgf6rɘz|w龷jn<}4G5Jkc Qlk}K=׷"7@+GT~wp]KHUE ϲ\&<LƳMD"BbQTx#$sU}Fęzƀ( ΢UĞ9%UTJ:Q5֜4 W/8R lKɼq̒ˊ7LxG<-z zce&oN3}ag 4h(mΙz7ʿZ?cabs#8r-\2,~ " i XD.I=?IlB .#<5`sz\4 |Hҍn"ÑM"u)m i8;wJ&h_[;yNTZf(Z*o r=];8"J'\斌Y޼RE.l 1ʗ xD%}RKu1%MІ@% CUVUʁo= '?τoњFc&ppbQ3(Yd3IR(TwN4ؒ,%6WwhjDA1ér[=K3ݝ+N0N%r/,|ۋvJO&ۭ96ˑNΈ"üL=~ƍ,<>;y|'Yp6b:Mc;0޺H B0shY6{fU[Ե;F7+n؜ #nUMMԂu3IP`\3vd߽5-~5YK [58E*ZK(Y-':uoSl^u>4hm%3\eeބsu蠍jWшf|ohxx1"^RVRzmJ0v}V^!a'%EI WWDw>Y" )~P3&u8nHsiH[f2W"MreS SgԎY(olnA /'MAOjNCgIx veQR7 U/'NOKtF >4H["t4um/oF9C=/!t>s) d 9͝݌&$C `g1צӺW =-'Vph?CE?7ۍaZN==~ښ*ލt/zhhzlT#%(>4G@g#઒< ;~5.Prh!!L[AO(HE<<(C#ȏ W;(0gL\6~0 (nӿtʥ~V\NªܯJ k]#QY~t[=4zs{lv"Oʊu[P"tQ'k2 qPG-Moشz<Ҭ#Ss€ϛT ̩C+moj_aP߮[8l[Te^L!ضWHm0xcʿ0&' {^*}AtM*S%ݬc/50>C 0nŗSkz.)ihws_>L .n>ͲRnkS@׳Z)y\I*ޒ).ɅDC$BglԇHTa>9g?7<@3-*7p~!q]بٺpL83Ts} wQw& +*f]ȸrۮQ#ȿs82}p*vb}%=ے~K3QF tشNpJj>KǗ܎o:e-qtom׉r4V0W[X LsP;}O+cG2u>p"+i\ wV`z h ;F|(0 \=E35#Rb#6ڽDE'xRs8axV݅T8nZ)qc<' t] 5Ֆ.O1 Ѡqÿ1xLy#H^MQ`TܜSN9zͶW9o/kͯޓmho\rJ QPȔXcs{_i=k9gFuWu}A*F.bX7,tBz?jb;JF4wj#oopr03077abm4lcZ/U>.mTF&Epw:4u۱ h[{T2g쀷;>|cQ2siټWO =ǕNU]#tLO%8tFIh=2DY?.1vo(װL0uQ%i@?Jl5L21:M(VZ4ZZ.Ll ՌdºWfaiSI!0z%e٬S ׏@YFҕ*ᮔtn ~2Vbv,_9ZML;K x]m~OͥT00{5S@?n[Ck\'jJS3 *z5eMyuuJN];ns%wFW/:L7òU/=aޮ;/[&Hu| fԗP#DVr r&>L"YlʒO "YG%ydm jI!Зp>K\tg F5-?uˮ8^U?םT/iBpi,YEG.•-40mfSdmߑF?st`ک\md6[Aju*T. NKw¦Oma'&d%aB ۋ(J^šY j0[c M!sIh&--y蜜dvDx 4{Z/U,3Vt~TJrP9&>IֺkR9^$CBM"$';6e#+qQSq>E.>WС)o*vµ7;Y[k^ =͞,XajiM!~n41TpAnk*0Nѹ][%/d0^_}2&ySΏY#uWIZUj06;X2<ҕ}&DȜ&bRPJPkGiDZjF6L[CJ;xZL חᚯɚ#5~ƫ|D@{t54&asQ@[ŨN`3ݧŹ!IA"ڒ&2,M$ᎪTQ.\]A|Ilm_*[tރg!CZt#uHC" ˣzgچigBпT㉩Gk1z0bHVC'5zMMEtO.8[^[ZF1q]&x`gm뾷0IbvL#jARa&6yπ3+0՞d!\t3r*¨R(M?7p&F?_&_25!ܖNT1gCBck/"_[}xb]LlxjbtT矜eBW򣒳@iIٜ7qc*DqnvQ`JޘYUK;m~1)Qn/Nw笶ovTD"\ U#HN襏ngqdn9UJq$6`gksAP/ݍH]CԳ*t&JeEz52=u݃KO]:%G羜Xg ^CƗ ڮU`f@k*N֋V+J%F1Myv#x@X/K_[]f9*qR!߆WlOVV@}al쇩!r0\=NH: /Y?o&QDNbzA}Enr=DpÂ]v(ԡi8cҗ|j[OZ2ɽn(c/XֱӀW:k6+e$U2qHT\ib(dS8}"R 󊗀}SpA7qK{ItNKF?qd8} )-QejodZS81Z]vJ?ޕ+`.jmMaDA_5YvfPN` |Kǰ2Z9&E6 6Ma/e,fM?0~IdL{5=2tSd[@n"PP?6M_nQZ+ c(?1J[IV_/5p a4K$qch4|Bo/ߩ+1='FZlz xغS6'g}u-(#b{h{CoXE:x* Q5-+Ϣ3Ôj@m@LJd^ G)]| p ^WB6ˠ U46 Pנ^^0me 1hWelX}nF}{l36w.evc/Gaz=J9/%y=l[f+ ʥ_vߌ ݄y'>TY$qhט]>TYTly,NЀcղ[P2%dxq*waW,JS_|Lp|/֟67 -0(Հ"CϏ³$i&`;I|:I77498/B@G {AL"'mrXU'ˉ.bjupJ9Vv=ِ02R\-cTLu{qAy>KuP)8\ZZ|䳇/dK9>ah5?܌HS(ٟׯPZѡ6Ñ 1_o#=*\q̇e~ƹB|:WC,\W_t/{'VwCT1q& :3E/FN94CfņaD=bsF 5rFq$]:} umO+s* )1癸ԟ=B픠HGs(K"TCƓ8gBVtne&&[ `&o-=Jl؊a˸ SrN4pu+(GÌiS g v0T͙ ԡޡceSX!YÛdyEn~ ]!_Woεo&=~rpy$9%4GF4()Tux.(-NUfuo}mY 3Ixsm_u ¾X)(/d٠pGO5C' 9P`?+%.]G%!73$0% ;*8a;0F1X<@HHJ#Z ED tJMyȽ%5=4:s񃈐NɻlN],3dnC][Ӱ:;{4Sx ~+s@}UҺ+I|%+4˺G5P *uՈ.GǝRtvnqC)ob<)ǔ3Vׂd kvC)~3S>L+GI~e5!D^DBβ;Q9䛹n-f/%Z4:-;>9ҷ8̖_[pK`hrD]Vs$ca5'r{N_EHl =d {fÕyѤjm`&x(v}%}ڔfo޵VG@WUv&戮Vj{N$~AR~M7ϏZa(G9(Q82fCMu4C[CO!۸ pHՁP݄O/sq\Rv gZ*oWt2hKQṴ * /vdMaSN@w]z,ƅZ_1) NV' L]=j#̸̜dk/K46ӛ/'VϜi]zrtH W|S{7SFRd/Ɖc-NZOFڃatZRLr>Uތ4{]iMvh=PD}ͱNaX0_4Q8bw{wI\#:#l=T5B7W]3 e[:hlbJ@i=hi)B؆b+f?㺠25,mI'v313t™naVPm3I')_+)MLq-&9nqx9.~I 1ű9黙3+t%vw4DI_s=\յ(+-Pg2uXu(Mֵ,`@0,Dp~  ][1/11nM/@H?z/wFU>^C9jbP^+oQQF;:-pvw/2Q[ >.$ ƶ .wIg) H)+ 25_67>'gkuPRynίςCgB>pns_c#sSpV;õAx*_S(R'.S$-@^"ϧk a~kHG"/ i֞Z;P6+lγhq!oRzaI%kԲA,{r 3֟?SM >Ɓ/C;±a, ,Iafgmם?, ([EW saT7&ؓ@_vDt4q&qk6j#3‡M d:]8Kg&*~ڣWE,Ex_:(% #OXd|rz GkIq 9T+_Bv RiW GQU$I]ǖ@m%/N7M]ą}j ,Z>HNˣ{D|hV3"R(fNpB6 tv͎|6 L$qvHb'C^tbX_fOD ָ)T# jhoC:qb8;19zjl:Ol2f˽4Yn$HVk-@\vad#6!6Qgΐ<3(QAkK)$_j. 58^A2JxW<-> /լH]/ԂJ6ܪGvmmbP X;/xk1.3>(nC:.0OB$n¯Iͣ> ~c|Drz Z*͵z89]oM[xTtA~^ek4:s8/BT1AmS>Qe)8ZM+%cCKYLEW3R(!8:vA^8|((@lw}o)&_hAl*Gw0:ctm>\] "´|jSI U`H v Y@Hؾ UWb4φᑪh%w Cn|N.bʻ=3RDK$ngPY:v[&6.&ÏoK~3Z. /mzkJ}ډQuY sgqa&ZH[{= Ct>plVWHY]wi@ݾJq79aɆ;,Uw{r[f058)_ y!f'Y>4dB>^Fa2<Kho5^хfD$٪BPKeZt`6_ïa:&5|(Qb0s#9k8 ')1vib؁fIt\f1*?RӔMbRmTG5XhA}䦏}^mKg}x~ְgZU}J*6q*5Q Bʝ><.*q~ ٕOؠ#M8v²#j3ox 5l_}wV݃nnyZd}c[ PIo-/8!Pjå7#as JKRI!!aB=DIk~F]Ah5$AZQ% ˙3pFE+XYrs.s~ #sYD0_ e)m6,S]6;='gq:\=xSw;miۛywdǪ4E۝܄L>RAWE)b rtAFiBY MrgvߌўfMOƤ %(Y> udy"" hSkU?0|Nmb,7+Ҍg˺ 1?ssw~о(z/KK kr4酵zhh> stream xڍwT6R HK7 tw03 ] !-4()%!ݍ}[us]ZD%m(aH.^n @ ~nItma҇!p d `Ma @$7&ȁ=67 A8Lpo7=ߏ5+**;vA0@ 8V;:pk(H'7 wd؀R AC$w񃝡NuGފ@ ~+C )W buwo|+iӿ E(@ 6P_|ˮKiNPDz\ nex@ܒ rYm~ɌOPq@\|yohMcGކp7_w*h2#ۭ~_mͿϿ xAq&ա-gUT\˟0[z"_s}U?q)'Hќ, b92 KVA,qvAhlvS&hQ[$L\ wV\"VE7g脀. +ݺmDǸhdJGfꮫ5w*Cqd۷ޞ|Jp" be(H2(2'c](1G[iuiexE}gmF_CE)"W`|d}hF/jN~0(.5IҪSPbE,f촗oC!vv5!}Yw_,a!o.oqهW؁G[U,JLقdOhBS+B>1| 3^iAK c݇'EB/=${&Q%:(wDq"F4g]L21~by*WH 4:t8|-0B ja)-9'Vuj:0 @{<=- mE ݖJ6rJeCޖ7FcsC;۫MAU-gi@1 ELCӳВe # '%EIP?I{pC2bo7j9>B ]MbeFtsWc ?mO9uJКoD^):4$Fչݣ 9x)&UTǾi1 טmJrHƑH)z!%_B 2~Xrz]Z^|.̣8*oX!YI:4DF:ɢ85鵣v]E+ %r$s۱s(e3C$vol6 Gkч AI9*4Gv;?+$GvoK-$Y-^ayr+!@Yg)ǡ%,gAt\ZM~™ԴzgvQI0l72ʎ_9 LQ`gYS7޴Fwt~n0#7W&DX%/KRTH#P71v,3V\hj$\ۺd`8 XdM:$w*@^EWk'銳#], jL|1܋3iwcݹ7^݈n/Hn>}0Xy'A `?->P*t.WtPD:xX-dL.Z{|J Dr^x@ݻ@Pg ]h9sēSIa/ Id?A9[IP >=~fMk0#(3uVHw BGfo`3ZHڼ)͝۝R*c9kG{?LFOokw-qaKP_з fVd=џoK#3df½̭ eԜC ۂ.pjRUpY˻LXkP~+h;+ӱð<wE&\ǫ8{X͍pNX]ꛃW .s Ke6@FqO 5YH aQCs;N)v x8aN˕SdCЭuop,a2jL@GR+=_v7e2t=3h18P .Q̛dݲ:#cAN([ߦVV=>EN]ZyZL.dk*ƭٗ d:ep9xBr;֋p3V? O&-& |ga0$_/cY##Loz#< a~ɠ?IUD|GֱrwE "Y[7@f|,Lz2͜ߪP dΞ^hBOhggs$t8@6\AubTWj<,Ue_޴ͻ#p_ɂjͥ־3N*C&F:9Տދ:D-XW`/q.R.+DWzJR̾i}.zv:~P/F !-rMN *,P~ ߞ jV_ Yçb4%7h|}Z^O/=+ʊ٫O9XӕnegM^Э2KYTruÛ`T;e U"o6o)cSh4&l&"7%"a wã:mL*yloIkew͚XU@fù))o,].` gmc;uM) _0v! KҜ%G Z\ݯ7GJL|pu+!y]>KR,IyCUrUMӐm3[˲cV-CRJ V>Ԋ Dy>mtU >CH:\wX}s-#5{(^c+)RE;}two$P$$Zڶ膔E0Zq? 2⦓L8uRI1mg21oL)˴R|îrC+`2?,KDIlK-9.hq,ܩ}fjs˨{sS<*{۟:#AZ؏DrZ+nt$% 0Pe+4M+?qbdJѦhi#IXԹ> &CP8vI!Cu3\CVݷ.У&%B]ϓ'>‚^ &sFt':z\͵srKO̺o(J|m=I!Jt.e6 n"V'Gq*OR{8O`̚AYrVD0EW1lL'KVT,IJDlεQNx3etr 8z ;I9kyW++mC\+iy63b6 = ]졯{xlPǽ l+Kz|,G^c ԟ2.j8$hF$\8! d)/de[ o r! mp Ű\2PfŸ4,*8F|Y_WmdL|;+fVll]Wcb$*F/jdZ%̄j,*eHFoTl֙.6ƃ<@;zB~tPV A>/zMY@i.[>wW/ҳ+QȾ: 3𨟿$r bj`Dz0Tq_~0=T$r ޳7 }?@Li eb % :{&22JG{j:&_Q:>/` 5uP]̰q>`}ì֊*Hm#PjV;?M2/&~N6fXHJctFCMʻ,n(ZRD^H3_hI(NY3sa^=nq0FphOLZIL&5Rpv]3S+7a/~Mg%S?Q]);"J^(SJȺT0V HH}<ϗ4Mg@Z/:.{,n5ܘU ?4\0Pb{2# G::6 >[dbAN;zv#&]zU>ص> '^ HDJ~F`7 Ҫ!gC?ʏ׺B7ǭFLZ Go`2*NZ[*&O4J_3֢pؖp]cF+ ajƼcuXameđMAl]5v]2I?T6WTa!+kY7lH "|~1-fv֫̀.b9(&#> stream xڍxTT6"̀t "90 % H()] JZ߷f=繮=6;1#Re]cK! M(o;> EGm*(4PhyB"!1)!q)  J DxHT콠]F+#}=N(to\ n8p tQ`7tE= `A(qFܥݐ'9n>7 0#^`Gzn? Lȿ @`PDxtu@ gsBBJ'W"(w=psBN|P|{/= @{Cahj{C<( 54mV;*#pW*P0ツ@᎐_c8z ¡<*0hmN`@()&&*?}@΂ ;3#@(G{(Op:8BA( wv k> ;k4p῏XPLr*)!|’~I1 @HHH .. g{>#VA$jO\ g.=`׿( /BgWݑ' ۻAahz*Eo9/nD٣ՠwB3__v(R v4@//p AGC ~ 5Ϻp؄EFDBhU:}~ (G!nP'Ahߚ} 9H:exe"71յ$hQ3glGJv54#O *"y/} Y(@ao(};}frD9M? =J6d$¶L5z @r(='aɠG+wa>da[C [>$I 44|MPꈣa5܁"'Eڽb5~Z,#)ɹZ-H %s$VH,;3EEyT++Ŧb4t-ԝA_X`.5>1_Iӱhb鱸yZe ?n}1u`;dIMn=Gjƣ*מGtr''cR~ 0ɚh&B\hB:owR*B1xR3Vt`[*$w {ݶIr8Ƴ.zlWǩmKV9[)PadK^a${׭ ņ 磌2_Ovroh4]c; K Eە? PƘZ tyBϾY]H qn;r^HI@F̹!)Q!MmBU~)Tx. i߄k/QY=i%mRw?>e@^ 5* Ue [_EDw-kG*m8іWN#[I,gG, Tun7lִU 4}i)v9;ðһN%|qQ)=5 ,Kf+?ۇ) OS{ҘreGlUu=d֜M=etpH9};PhF/j$ӕ*RԼ4l^&/us]|Ob 765lkW!",k; $NX}_`ja/TL%Y1Lz><7lZ+ְ'3.E4O-l P'NU(K9I1 iFs7Vg>OE W'(J1{N~z 񏚴!Uq~&Y䟕>;xz`1) T>]Y|1B$ZFv}W}YU s0'+ԟ]1e=²Zbٿj_؞yxj3ĚTقl#nÝb/؞spqa*ӘP:q;8_Q$KLIt eWX?1uQAn-3=50P0!Jtd?Zh8_IWq̎Vsh_+ Tm9>m_m}-?Gyp*f:%ԏ-1mL2`_yD!vFAv+/iUF4 Յ@(wR(ܺC<+{hC7v}ƘXH66︇:T-l8rV~ok&x+!H`Mm$5]_xib:6GG]|̯yAcJ rn+4pn9r''+PCĎ-(ɹ,".\̛,_-l+6d6,p-N/1o_ač3o+~j /#HM\b&;}T\ԗJxr+Ew`o^朑juΎ\4Pn;bU $('<-ȷn*TNzUǵf6e5V& 7[(=Yy$BPMӛ^yD'yoZAx@[-րͱtZOעޮ.*nD5n 0LB|E1m5GeNôɧG ۳oI~$Zy%H=?3vd܀ĬBK9Ka>K^_z5s`*:GDB. ሳNNIU0%Q\xH轧Q_ ʕrl?9LFCmG z.=s/*^1c=w)j#b0_*aQRP񜯳)GMOHvFE(ܵXLVo03m7A3望ɡVQ~=#tHٺ!NccIբv$Y'<۵Ģ"%jN3 󔲶7s˫:8!f^}2u 7)8iPݝS9 <ˬ?HT=;Bg}x@`aѴr]jcYiPY7[<#8[8}1F\ OA znO?<`y20"2:m}'Εz6e'}nIyg@&J/&UQ:Z8ٸOˌEx]h<NV,G9M`25Hx暣e(@fuEAJ4QMpLc_N}LN;mfaMRƣۙrDc]"rZ~*z:,X%xt \"c/1Oc46zU. :(P>Y]"`4[rCY߫>AZ jI^)cg(~; 3}j9+aRV3G]jSض?fIS{pi'sIvㄸlXAG'r䡺ydlr ~s=ēv]ڨc_')c0dr W} [JUճOTWPSKN ٮ^R} ϕuTqXTe2bj0eK+;>_˼=I['DrSFJG @29/֕fscpȵe&-⮟j)iێNhvByFd2} /^ME铧j_M/ X_iGFVuL[vU\xPGzlFi'W\7d\Iq0_f)>+NiH5xf ڴJcп;lr*Z 3:y\ߩm+jB{p յ 5ZbkF+PLClݑHew*4q.q(R`u=aWH)SK\$/dkm,H{?WwfED~>1B94sRImuJ)wb, 4 XLw[TX֛/Rd,bܽIm|󕭍qPzlC؉W/q6__zxvP0ĠVh!Bc{Ik;_:gnfizo9r|Uq|V+5V1S:{mÙp -LՔ^ABzmeZL@`H(qHEo5iIKukFSdh߭O}&qʢN8}$lQO8cP\KXXi˅U 2Qrc=no9jNLF$đ΋%f$efo;NKjA9żO6,^*th3Ҿp9)x[CJͲFzv }a!V35],|ˋIpý[V9~)l`eYѧFv\ I}序7宒k|>l3]JWCzq, ^cIl?P(߱{ss!Fg̠ NJexގ6/hg[箄I{}n1Gy+9M&w߼a8Igj>Tfd7ݣUEGHz&w8e|񹏝1{[hreu%+p'~*8EoYk-h×tgu0s@--Jcvrmz[T|`3iRY]j97hc4TܐPTVnCga7_}oҪ,9W/,L'Yd5_=SkŦ _fZ#x^7$~5˚0M}dv[0U;zQyAշ̧Cc[޳?|-ӎwg\(\#mbf+i'0C/t7G1mvRa4ud'y3"\V{\,Tnƾ CFo}f0¸"k d#*j{oVUK5M,KR|3);"мYO0> stream xڍtT\۲- hp ݃;4$4t54$,.$8 ,@s}?cY֚s1ipʀaEG sa12BX/!pW(I!'B<0'+$+,AP0P9A\`^p-a~,V^QQa?GjrA[ÊV  AxG  [Yà Hr<[6wGh!ƅеЁY#<@p8>9!pu3/_ߛW:IYYAN^P'5TTBx"8 'o rA@?2/ uFrB~6+8`'+pþ{q}N0',k`7gn='DEõ > # Vܿr v? sX?ZC>X> wwZX0 @] ~88`@?^_ Ü s܊F,) D~YE d .Ӱ `[{-oX=x'U4Yq#ooP}_BP7 @ZqqFB]ae~тB,N^=p}A; [d|By` A``t~k X"<n[n[nY=YC' kif%jW -tVN%Gk<5LP7sO|Z1"Z^ޚ'hOma-NOQcRqJor}dڂܡʘ&U@tѫYW<>bZH |3V/$d19=:1܉{Zv,X"u?W+u\;)(ȩQ G|dwSU|Jc֞/r!t}3VW!$q/*2q`foX8:-[{x(*h6mF`^F@8 /퍥Gjj'716IVdWEѩζE:} j|z&g<=u>W(|w(LxOT(8p^C$`Y-fijle?:ik搱9FzBIS7W;Qqb?ܬT +Ķ&|#2{ҕݨ8`9%*YgJ1Uh#K0jB\p5PQfv=°,+Rr ~3]<\-w,گL0*+{dV-K̷ٙ v}Z}m;>r Nxn~x!4ѓPY7;L Yn'mKeGSf4H,)U3jO6gp%s ֵ48Ā>Q:J|xB&Rsf́˻\.=h7R%wzc%UUg@Ī6Ӗti8\{u;Q-]LmIe0b-mлqtuT*_A6|K<}}ٓgAz1%(=ba\JQ!oEū1.C蘚hAr' MV\RmTf/YN xArrՅ#U ~WoSCҨW mif~es7 FE€}gJdB|5Ҁ$P %G+ 'aďߗ4lS '\ ]~u'Fc~cA8ŻEt*y^|%N{$S.*{s7e*31ZBX7|\XBxͧZ3AKVF"] ]X᭜d=|OK^TK E#JtRQ坮qer1VQE6W$JcKG$i@ٞ''1+Sx֦]SxCyJrܯ@fOb&H:7ugc%3@Ϗ<'[4u5Z@%mؖYr,?ݜESς+Zz3w mMe3$ٱ~ =W=JR$A)5h"uj& zq~O0KRPY"08MEf3lzoLIIPrƸw&m2w Pmؿ8Xe_Y]vڮiב黵OseiѬW?1UO _dvvB?SU%"JeY£:jojɅƖq=JK4Vxubzƒ, 4Sv]9_!>lIm5 W~w|?f-*k-Y>f81rO\kׄªkS'W 3:oʾ0>h9l(ײ|œ_sUS/*9c`hI?вJ\"o%XD"5#3F.t}Lxthe?miJ$9SS?O6|2H}KD 4'M^֕^-H\ߚ-!長fozEwX6H˜tt\WV5VI~_xv>؁Qr|5B]_󾳭Iy-ό/P!<ҟQǐ]tȁe umB#GGVLXd#yXe|JX,K(b{1RfqFgId7QFͼgȼñ9*Z:7fLGmRCD.v'Xï2gjse'meBLʓrp4ax-bF,6Jfݽu՞Z{fjg)Ⱥ G诚i>e$|Ff3oA|s=Dч)nXG/mD5ԉamnPmױXVF]h rS4Шq4%Mz{S~_o C }E*tՍ=V{bKM>q\m*R9[sTǢ$0v~Pax0XMw&GrL?N xZn0)sÍόb!F;1{>D&F\#~h姴_M6,jGj6C\+8(s ҆9Hw,P1#r@Q2A$Q5Xo dǤk_pTjq,+fRTiq%Umu?%\6bjٻ;0VA/y\?bDþ(_p> 9D.YB,/[*^2W5r)L/nI>3jlm[FeFT+/Hl㗓v }1J!!E5^0o;) /X}i2ј17Y>`J=?=+v jyVlb>PVfξNP O^(5x|}K'Fp-2QkF_qvu;\wG Qnθ!xi^.0uSmɉ O2^~trȋQU!$-xe 'ƥ{ C^mtKIMi= \vђ!l 5q|EAW%2Ft(^cmTpa@jji܎fs>=RlP{g'ib W$hX6}^i|m *GkDMޯ% _M=SNJq ~wLB(_hselx39v" +e^uM\GtեYbp<rr$NoH-gǃ$D-,/ՙh 9[J4$Z_&ٯn"M"- cS̉|FrR(:!)1M[F2}Sg"^E%4C 9S!F7ߤy&Od!ϋ}P=Lޑ";\& e6mxʅ?ih7'YVSƟZZ9zL>᣷R9>=GՃg.T/ OF=_3>WؿKge`jSv~*jﲋ&jy=+~fnsqp_(k\A'Eַ~SUYYi-G9t$g>>*ֹ;4l %9c& SQέ !V[EZȷT\[tRjG&MEqӢgZ6.[ʩMvuҵ ps۲.nfqdX.^w [`؂0~fVy IL >gM*> lY.0|Mnb *$*A\dfp- g+"K?$O @+|3Z\^:wHdz8fJo凝wazܫ`_[?_MnhN+};5~o&h mtg@Dڟ8{2O4lM10}3LM63]HӀGLk>G(I]"DWƝOKxCPzH9_ECRd^~v蛜^ 沈 X:sKAe*x():qѫma)U+'.{wF3Ÿ˾yΨzur]ޢl8/;v0L,"&;[o|].aeu,'+3)<  LhnBSM3۴IuixmBۥ2hSc冄^K_dE5x`͝( mKް8T^[QR'1N4^Oy: endstream endobj 222 0 obj << /Length1 2426 /Length2 10689 /Length3 0 /Length 12087 /Filter /FlateDecode >> stream xڍTZ6L44P 9  1C ]% ! ") %}[|>{01kqJ#̠r8Hhk @^. I#&`zut!H;BHLD٩ %g[=<@"2`9@ C0K+$*|@X !$0P#v-@ A "bD ssr휸bW u:@ WEж9-BX ]PJ` @N(g9JR|P6~@\; 3Aك0%f =B!9`oCvlf(r0s8N\N0%r,\ag#~9B!s}6p+`[.ٞ[sp*c,H?Ċwxmw{_Jo1oO{=UfE!t@HGg矊"` fPK6:J 0fjp[[Η[ZN^*B<9<<~>~AHo=\QM.?? o,Ujf7!_AoG&$lk/G ٺcYg$jU%oS]+59o"ZIm9ܠ0$[{lap: NpCuo8/6( v'ƈ B-9 psH U7H@ܒE#-z[$EBnS [px܊]?E*]Qo*-Be׼EZ}P\tnˋ[/B!-B13Ef` X o^R "~T05 #-M{L(dQ=5@1[pvebDQ%ꓕJ8XQj`w An#\ECqKUs|= >k{ԅ-/rgjncJG@nFP?Ï2wBAd v#*-%ɍrqD:?P1og' pNQrp8XOےyRj;!`d. /!F`dZGrѱ&EFC8Z>ΙBtR2]{m6*ea(j,@?3~X 0ebzG@e{# #pmuf ,uUcg ~RHԚWGeFu,{Iͬ7qxر"y6;Wpp+v< íJEdal|la)TKChgOJNzg^WC0DK1"r"@2hRu@]P]k|K /gNdXO|2IZhZ}AB7'!n2EvvkY#?.1L8HNGoΨtz͉ M wE!fγ14Vuwqg_OUZ+`2 Pw91s723еܹj!Fzo>Q0;ὺ7d1gyXT(}5hAa+s$Vs$LAiTSҷ%e7Ĥ ;^ 3&̔fEt׋9Y4 8NSJl[21d k.h4+ !+P? a`ZxRE?K}u@$TGrmØ·^k]`jTdc(MLrNyU+Tv{ԫZJ O.%H+iD&J(.@6Tm@*-qA5𷏴,wΫy"c|.({y܃pپ$Y=z?akyҍr5IΨq$?{g5FFs옔cr~\4e9n}FA^Ԣ v5oڳ0q?ȆƔti&OO HnR:o-Yk}x=ޒL}'ж=Rs5>u̓MC%qں.k4Jw^јe@jcf8Cu(-5|!0>0Z:%.)W!#c|N(ӴJmߘ9UbhM»J¦Djxm}z)UQ<>HY'T|Oen"^3V((\x2]њѽpF#M>5N7&=tո=L-铈nv66 1VvԲ \y{yRI}=hIՍk1 Om]it\ q{4SF(w+|bΧ4_HwqϲO"oo@66v ."MVmneMl[q18EULZk wT$`TF%mB kinqϘNO-]/.E^"F)ʎϫi*b+uڹ9=yNxU8|c PTJ}ʾUmAhSSA&],"oI&m j8*%jn"8*\,פXs3>g`b 0Ȣ3!۲zݩTby煏GxT۫NVԬE5M\ ZJ  UEdVa]k]{mC[㋄jA!1?stB>uDy;. VFM;=z x8ĿW۲ooHY;,Q׻}BwA{ 5&ڄN7fЙ_{{iڹ̾*~2Ϡ#!BMd%\zP7U}!੓ 0_v=0vyuFXSQeg 7kuNk2xpŔ0KPMǶLWΌ_itxsS91[\n49rhalr= nM KD)A!)gIdU\h&4A!"̉3~cR\'?=9ѡ̓7B|aǙ 6ɆMՓ l =W2#~7Xi +6SE zd/0W龴Neaݕ;bpՇ<[݋̢[ka}~vTq@E.yϳArh*SSHHirZR%JôKyh*ꚹ;2ƕDž#.;*Eç96&\C#&$h mg?vªzVO"B3\-hȟRHdx\ LgW3LvBQWs׾C2ο?N_ɇw%^^t 6jR|kH1 @3>tA1Nǖ3`}ݙhQO4L:S# pp0S5C~h8* wDϳ{c{$}yׅX@u?$3|FVFs0ԥ'B(nC/Oy!T$Jm":q [3=&BCFRu߂XcP cw#ܙ^3x'}΁Omj~t]yFC<[}ܝuJvΕ|AY\]nԝ#DO̞j%( ;0)~Gﶁq_w6W>2tʪjXuZWst`觤x"64Ȟgv՜,(k Zz[`a 8ŅhTLS3t^eqDA+?K,deI{x/`!gSm0(AMRs+ma0Kmxn-@cxܺr+ǯ_=@E3^526Dl:AUfTJu;~97O O.V0}v(x!^LJݪ'C=&N Wق6W 1k#xQ O$p Pׇj%em/+{?P_iH9<ͨw)ց;ÊvaA:V#-{ x‡Amk0L\>t3>ei:.31_c#…=7U{׉(v<*3'jAǫ)Ƨu.X_&p>94U]549O[m<( } H@3*>R8'R48(Kb9Nq>m,xOUw* Hx)#^2O}3aXu+U KzKt+I8"U\D|M4+dDaLiNKH[ZL%qn9|e d8L 8i/a:eb/gaʿ>P0Au ^COuPRXbF\K قoF{Q|u yꅎ /{D c7rUY^9Y~t ?9!b2+{]/ '&R3n,b'ͱ4a}Q%B@ϐvy wx"=>yi͙fvbVC3٦<ҌoT"dsYe,n93g?$̤zB:n ʙ9{lw2 rYFfh‰â w2>˯ccKHc0J$b7+M +ʽpro=O.Ogz2w^¹ؠ[#`p"--`.!&]'1%7kY$殩;S?]0cuWL 0`zx48vuVVFT΋p/Eݷ~LX)o|?$ǯR\^W:2}y=?lH+:VLzJ4Ro gQYzI]Ζhb]> u|! ));[)bǺKb@#3@xAqvw+?fޗ>m/i0^dmPۜ2_}}5x$|UT.H;o4ϰ54NV,TU,Nu!Ę.09sk[ R!BW݃dE/O4gٳCq:71Nğd ɫ-[LbB|7&7)ԅ^^UE{%Gbx#"Iu~"0%P'€ߜD 3uJ}܏O{ TW1A(Idrr)=Xnb?c60dRw}V04^{u\f- ڴq|ib]!AfYWq5ojtvaˊc'PhQةZ}_[Ϭ: IG:= kq$\>A!JK=ͣg3s&q\ -d+r T9Mj)d0( ? Es%b|+4kVܪ_ rM>"rL~g^m,x'3uzf[sy qM(3('?㞥,Ll3-gp&26YwF[7OHv$0V635E冥Zjk5>,n+" }2i|-+ٝ&u&̮ȫ#BoWZEa]};C%Ҁ8M@J'h^˹'j?z[{R=Ј- #.'L=8*ߊ(^06H got)_WK(MY;+Rr#$"gfSd[ i=O#3ĝ/=-|y!+`9q)ؖ"6jr5{:tnz]F6(n#;״WT<C1nm#8>F&OE7ɱ1n\F23]*no*BsE0f $P82͈C͔2C'_L tDzim?fOYzAzR c.0 ݉::΅e"eP럕9h^ԏFq32o坼z/^1>Ffu"uSl{5C?xd-jW1)BFƅp1ܕE-'aobnat:Fcr$0 3_eR֘=?#/gyyx B?^>8 |U~׎ArJ[:o38Z{t x-2QR5?TgG ;x$# 6s̯^-իu-SNӖIꞾZ_aɜm#[Zs޶&,c*s_=%r{<,a]d]cӗ_~MbY=$$&+{]A=~lGZ>Vsê>>KHkt{<}Ѕawf7mCCqj܋o" oے^_5/ߑ2'"96(ͅ%L=ehG/(+8d ^X>\Ph](ǚ`p1Wb&jٳ7"Y3/&t2D03Gd?Nsf<gTЕJZAv{Mf?0v/ݵXcF-ύ9:1psL70҂:%µ_Sԥv>x/k1Ҵ`1 7[ub]} a!%,36"avXJ^|c$k4 ]N,POd8Ac1beψ0 htmWקD.dHuX%PYo \QntXX +ju>&.DkƺXFFeQvi?^3 N["@]v6,HłLm.Io9 Fc_XIumlsSn${'_'fztc4x24oɽ% Kɗ9f5km?zlkIZ~@#@ WXM80h^b¹9^KX{֯aeVFr$^ cIϛQm⭟uI* ԏͬ=|{Ŭa&u};S!ͽ1_.ov-Zް3cah*B&iS@=7ُEc =mB9yl ȹO1ZOvFO^]3/T,CIURm yXqNhD|X VRw+W4]nG2tA}9t~V-5Aܞ .ztyGdoWL?]~靚VI%{ 2kh>xyoїyc >gk`T򀇂F!6X^`'li}j)d; WCt:j鱙-.{PDa/ohDA+t`Xm}FW(ץ泛7&rتrMa7㖿_10C, thEGEZB[QBWւ$F+Chi.f`,ڜ 0%|1A)pmYh ksf,瑱cÏ^W+lnÕ^uCFMGja7V˛DOo~ )Z"G9S0}Ljz鵁\i|Zd8!s[&UhU~h tG4Zű n$Or;1;ȶӕ% Lj (UX=h97ςKOqߕKO%Ϙ wFZf썮dt2c8Zt/3p`9Sƻbnx1V੤6kF; ;ilܱ۪ vM@T:cp}JpPS(VoƁ69assҝc#y)V>7]_  ?ePmcδM{J/Bq fc+=Is'DI-݌kEwLe/9-T/G 7&9ϵ#2 mګmkP{p8ʉjOiS # Ki<{;ri kV]Jtu4?TN B ߈S!b<]3գ4Ċ'{Mu0JI_R mVܭG9h#Uve:qUgmq2;c݄ DkS$FNy,!qɌ1BkwN3nl/g(vOky1lZP|2;O2}їQQ_w@"_ߗ)S*O"e!+FgA8=7i`{qˁqG' endstream endobj 224 0 obj << /Length1 1793 /Length2 9987 /Length3 0 /Length 11117 /Filter /FlateDecode >> stream xڍPj6LJ K7 H˲.twH#)%" z{37;uu?u?30ҩkqHYpK - fdԆ"luNP8LG0qo!T0-- -(O Q rZT8Jp QnX!'ٜ-,,; ev` lwd ЂC*,f@؋ ;'N# ;h.`  ;_qb3NٵW#poaN0 #9@KQfW;psrS_ ss=AP[0@M^``AN| j 2{<'sG=‰ jkD2,فa'_d`cwu60+o` YXup+ro#\\\BfnU^|?=`y?j tGg矎F 9`@aV7-urk/{yYa_ &'- wxr8xxy|<a!QA&o"!j*^`e~YSMKHAm3^*%o.U[@׫ݯ b1Bn` u(02bPX8wW6ӽk`p_/9:ܱe_D o08>p?7B@_HT *"!P$|}f"a3˯9@nohg Vf/g}|^?svvg =^ ~h? y)sgGwދ? ͱ?Ekڮ\9ħuSX8ѐmJ8K8^F;Øk9KNAJ|F0s~1M=V) `'zcLǩ€xtSz/Il޳(rM|>i֝w,ma|,Pg9)2D^1@rB9O`76~@S6>|FKu#t΋a65n fLtWYVknlY|5ط oȅERG#$p~T@EfǃwNɨtKɢםl*,/vYSqy|lp<ڗuroX˿*`ǝ?ư,k}?-<~uX$hG/YJ~Z@ZO?xA;'$#,UU4a#kyPx*tl$w9ڭxZG`FW%eée;Ov[X|+C6@9ּ[3(GS-շNjm+W=F~ "秨ۊ|g>6E~yx51I9ZNDy}KoNDZT0&]bG9ɵ"^CsĴ)%^&%2 k;˲1T+~gيVmL*>d鱱ޯƴ(& ?Rt44J|Jjfz0)jBI)٩^lE6te}y֘qĔ96o..'mx. ʨkP{ab8fH``]ǃEϛγ[B%l׵$ ŨUX#jiRF֒Pڡ CFzL_o<)S,uVtR!w=a#4}M_dڏG9 ynLw^4G}|}#'zJTL gw{;{xe^Bz9HӈD(sOs) {e^ΗM])bh‡QT7^F? )R4Fr;cKDn\"Բ{zn"O"q2,bFCSe:Q;„._N2.}ppDXic'>F0| (( ;L/u7(؜(tCMX 7x@9S{N-h " H >Be&irm'br{I uC7hoLAfQTƔ WmWqSOKN{qhF .\tuExwl5uJ!nD:58D{{ML5(+AC{+hֲ?]O]=Д ʾ= 5ǃ]+M0i!_vmG !Rz7V5MTFN X㾋 9L\t`O~- -QgK >z 3-|{*2za9v'9Hr FڣFٻ |Y}9O pR\R!dj=՚hW $!CΓ2fJglٞnCn%~YriyI=#Ƒxw#c@?Y':T3ʫ116ti!̛sׁqHd$.3v i'ŕeu&> Hd %q |o _/⿽b]l6ڒ|a Zs{^qM2i3@3qrmPleh(hJ{;|&H!ǹJEd^U+OjM('~i5vi͌,e:z~5h#=^1Rk q.6T[> `.!& ㏉̈Z&=rAR#QCL(DgdhYkˉgS0h !ur]׎b*}Wd0t""Qmk῜oȠ\ȩ@X ۢ~Ґh[w8fRCF#Q;l[:bg_mތC>iw҈3qf7b3՛jMF==h.UsC aEOaꕭ-&)Lv}-&&%pyS|Q6GNů P_i6PM"J-.1Wxzs& ZKzr[Ga:_7Vx+&AR43=L)n>ן6|z;(\5(( Lb3SWVn ?NU}I|FpkgYԐ~SgdUO:4> ꇚR Ҝi^}:u-)- sX9M3;e#δNR;1Q+o/R {'QnxUO"<ܴy4A6 |*6m0`^O>O|GTSK͂UϜ5'Vxz L@t[GXф6rْk<}!컥g&(W{;Pw3ْx8}@Nj7v;Nm )DN@z=i;?v2/}Cn$u-l" ?e?KE݅qLr:C#Chs Y2 s"4 ;M LgBNb)Jb L-&/?rpiOםD-aB[JU$/ϣK x3N`RLp>YۼT~҇6Xz}ѧޭ;?ƨg0~"2VD:2۫J'@O+ u&NJtH4ep@9p!@Q yL Vn*ߕ.&rkg~*ٱ*stxa||_1WYI 1c(ɟ(FwdGl'zmYً OOLo*Sݤ-FɯfSr.բ{ԒFV Ӫr6Q_).vH>cIS5#]I=˂i[<4MA+{EIJщt1;ַ Rܶ!O,G"JcŴDXVK?gí3?^7O$*`!?E`PxRKa]#ؙKUBE:eE,‹v-O'stgj,x4HXUlt5+ 7Co~(!?RtZSʆUٴ^=Me3enAmč[s%zѥD_Ռ,Y]Tǣ_̟_TQiX4uLS\Ձ%zs{BŖMqUgRcr&0h1Ø[*(߻{ oYd>`a }}[؀cUɐS91=FC7`*\ OrߒP"`H( ~瀏$3Q~ j렯1}:om';!b)O+˴?OZx.T$NųKSU/ ™o;h9M#8v/.VwVѓbpHIByY31MXmw94D c,8cG's+,X.]b;niiuQUo1Ňi,A:azNrg;} }!,<,f3Yus޹ĎG't~D ]VN}վa=Swi=@ՠm'X?J}kC~b'Gd9ᙙwNl\ڡ!vK)bBMg֣~@;$[K9<Ԡ*5i7X izz~4E PeJ"W3|ݬ@<*O?CW@>u`J<|Oa+s5 c${'Pk[t'0ռ*k|s}VH;w&8Md)>QiҍMo)B=rx@H_ǰ/bCݚ k3IILakcJ.Y gDjZ)^A//n]tfO4 b?{=~:kKuDuq39xH|PHʇ*ӝ mv t`//Y( vfڂD%bP4X~^T Tg` ըPa[ yD\^d\CR'B> I}tF{3nZn6@ dnƽx ag`Enp=Ps5$[1dK+ %SBиu@P@"hBc/;[]#K"TsIψN:6 XF.f}\}?G0%m+>̧Myu xx ٨QY8Y,,_ʁƬ&6)NCzC(ZRnUֻZr/yƓ/3we2~:Du&(QO)9>Gb0VD~_%2ƻ>w,1^ Q V V$JJ~HI=T \i'pZ) B-T:O$6c_IB ɍ?ޔxR׋]} =Z\wF469+>v|턅?3G6r3R9gnǎf⋍}ʬjPO"D[ҷ#VXS2|jx["uFC[= aJ$0rUk]O #=Z^g(gUG6&>ŭn7)sd"H#x7h5I*RI$BL^G,8c|Y櫾n?{3! J`RޢT2`=Nt{G,j9jIL6 `DQ}l[c&Vi$QKPa*b5w]rlvwwhZѽ~e2d_"XH݆ӂ4$۪ץԏ\,X9%ǼcS/GGfy$dal&? 0%*?<ȟ>}b$U'=m߻c M z; \} 9Qŗ EŸWs T(LM'[ԟ)3wh˜#5=$B,617Sw|AߟN:Ѕe endstream endobj 226 0 obj << /Length1 737 /Length2 13565 /Length3 0 /Length 14109 /Filter /FlateDecode >> stream xmctf.vvwlضmumygSuU՜UWkEA"noda`adPWQeff03QP8\,D\?@S  `eff;x:Y[Mh mL-m-6n&^777A7gWF'W~T@`fi((jIK%@; @ kis6Q&və ع\I '*$ aRٙd% sq7_\+W2_$F8 hni/ޤM]OBC)oWy#[ Z7:Ž#*#[Kߠ!b)BvYhh.NIhjj%OMl<=5T;6ٙ؛ZڙT\͊F&[:\,=:̌=#?/aa{oN'35qurڹ? .ٛ Jm -%V8SI7PntyZrN/p:ob[ꮙ(p41MRLVafM)>\ BD:%}m5Pv=3FڱU%ڰe+~eNF -C GW2cRpe, pMk`QPp̿M(U"@!t5Q͕}tT&M{Z^Pm'f{Ȣ@[5g V;e+.&-j4_h-nfIIgy x%8"4 ~C!Tt5Zq֊\a/'J{cqPo x⣁Wh{ꔘd]PF5,gJ܊ml}y!Cu椆TXzxtя`w#9XB5;d!}`wC:KWo4ɮL&'M/Mȷ?*=+p#l[ qlkMB"??F fٕ>zwgVTRs*wݰ9=Ni/NNmz?$f/ܛ -]*|0KaUIVkQm,.%=(]dDʵbƩ ٲ^+5OB8,(A*W\u1R;KP_@e!4 7b֋x^3Hֆj99K{%cSz5\a*T-ƱTפ=iIPM ai!Mj5Mq)ʌ3#]D",p:y8>~P5e򉥽-9eG~N/")įPl:qs2,Uy1YE碽MHL#gɒj]Ś4ƈ؉߱&zKS|Z#!]>K1"`!36ʃ^zvy{~>wTŠ-+У>U6G0^YaDmeʪq& 'zCcʹ^W$2Щ`W6օhPF0S>$|54E1gY[Q+% G6 /JD;JGġ0{n~ &ձ1ݤ1P#|"NP'rq)}fkqՃ"i *+NV^v&"S|,VۋK#f$!,D_lzARY<-O>蝷̠~.W@sϢqaD\P\7̑qHL~xD1g䲍cSkKz.y᯾-_(vy͖NL<17AaI9Sp5k*2^t.2zO@)&#% SLf1kxxgG1|#odۆt7{l#h(Bq>K6<y} Y_à-;icr]ԯu >lC >=:4iRT#Ϫ˫F#[H#8sJ͸$# j< .חѥd7KjgI @0V[*IBeO|*ؠ@%v؂9쪔hb l<6WP 6/DPb pfa|rwjpXEɷ{9H=t48 EqFu n TxVI3 ;)RP@yŸCMյ^j<~YYf.Pn荄9TϳNN@tV<vTb}KA2oe H.iz/+'z'*Eyu6S]79ikw4_=Qr{62%LI:Yōf%y 3j b Z;8L#݅$pfshv EܬUuף?GOrZ}M*$G=dԪURµىvv/*7HVdۘPsBG?釜}?vZly-:e<5{/$&!f&-t&\eWwM>j׎|aFAU!^(fbUS(~WRFl|^n,&y[7OaS UbS!e;>pz>{0B-iAl}~-@Q3RIn|l?'>>Xe}/eĽo5bX@JdxҚލvm%iUТ"z )[e7UH .̮?g1azʶ?\.f3W>ZY=S6z-ob:pĒbUTP b۝wJ&>Kݑ:Ͼdk+ߓZ{t^7s/2oT-\d_G {k +[߈l|}F zaNM+rIqp &MMN Ő&J FJ?ҏLяk#2.L aNm!ZNГȑ)&s%iH}c;M1rljzZzY] =%hT{WdZˆ'V8=80jS)Xҡ9A3KiN<"IU2.|$U[ A"ߣ}eH_Z&x^&AϠ,)?s^V4B쇨`ON{svoH_1L he}m u ~~N($G^gX9Ks/S 56/?-(miMGDπ!/{3&# y]>AN[8P@@q65;"6D2`9uvE<+>_A~wk9GM]z̹<1b "fqeDWm#92 7W+Z%d B `Xgzg9*Ƀ@|z4R jg?`@F}K>-[c¥a<ANAz#׼*`'i^JY׿&^WBn<ފ1FkrK”"%NƂOfd-<L9;{)gg0jFd'&۝"+ZUN8ju]"Eڷ,@ ~,<ى_8H9K ># W޸3veM_Vn:RH߿!| rI`:_~%;O򜳥:t7coq@onHzNfҘOK24ڎQG(TLs n2v_EO*F_z>dׂ !D G%iBĕ%0) ڐN s#T`1*~6͕j7BmW\A+<92r_Zr"2(coE} ¸!tpUuB5T,rՑ5ُ漽|Yxo1Me4ȗ^к*P-}rR|rn%@\)`fmHsF2t؄LmQe"ӈȵXs}_1m ӳF6MqNJL=ohJï!wu;T@԰J a|4pJVXq|(hf?Xߪԯdg }e!~mVGB:}52&>|mkبX-u XN[Z/7Eu{EiN;/ voZJ?$#ڶf3{|  29v_eN]o7[~B94Nz^5?k٘jYƓ[#3{JXϦ{QH*vkЬp BMk^^aDߢ."?gS#s9 == od"]kw@_]s'GZw/|",hÃS;wo}E0Tߋ-bF5NkD[Ӏ8.O\Zm7K|l~3ǢdAքE0.8+{2IeF[>m)@]x4[C߲AÐ/g(yAG 7^ {؏PVQrڎW@ YpFZEՓM՟b| >-VC,k%;jV)y}1AUEoLP:˸ 65~˺Gme^"$8Tb殓f*m"ry&xkqn$s&s%}+v]sҬi9l]pSqql y穿I$1|}8#y Bv,X((ХKxh=wT;":4-8fQ]r0 %fьJ?w96w`dUR6U *~Ag!SV.d#އ`&tkC"p })qڪ`d6`8k&;x%4̧͋`2kaX74@};>D$GpcʅE\-YVo5QA7two9RRA[`:3 -cp֦ۣiu\%_]pvx Fٗ%! DدBЌcRjˬ8k\wbN5M=aq P?tߣ&v&g73$-{X5ӟX _E b$ 'Ua(cXA @Ѩ{"#Ke>OY7+ܿ |ez<+_׿yaPiY }(cee~1G;^i/4Ǘ%UaB H~G膈ȴ y<!L0D: @"ע7㜤)$S7qh4JOjr1a_ 輸[,+JRW7g\<8I$Tνz/4x P F/#Yd >+?F8!$AX3!|>G?EsPP]߮+vR˿pqr̟Ɂ1u3)(ED;ZyB;aY;.Jϥfpt-tӾ9(uNK+n鄟)S{U ! t8 SmL߲u #\g ydRZ#/,>rz( S|}^FyY^0*LnEv}$%- R-h&{.ơ )SԧOa0'LA5`QTKa+]5|^ ya o( 'S'Fi&~Ao@V8 ]wm!7jF𳸈hc|WudvO #UUiQfeD'`0O|Nk*Yn63%P⃤+!ǕY5I>OoZNb`n@,Ix1h )#K&zId=C <~p(l]4eW͕&UDqa^#``.ZTB.RȑJ(WLL ,7 Qf_4hZ$Q/"թkdVfm_lIS}9( FEr[@PX*J@Ŗ6VU{r5bņ5d.!O!-x:&%wՒ`qrGy #jYt7sɵڳYND#-;А`=ugy]ylfV|0Z|pZ9J;:o2rfsvc0I," vҚS*RĖ!\a!B]8&%cWNBu JkcԹ]=HωYѹ5pU™`5rJ63mġO@Ȩ,7ag u'&LnݶFb |̉n3]j06\-^aQ_В3ڕcRO [>Lܵ V'kۃ7Gs#w6漽0XCwR6U;*N/קMUldDC= Ěu0Ú⩥`^AF?ze|L]D4bA 2CS-#Jb2J?L[gp t{jOLTT!v2LeIOfx>Ԧ#86?k5gނcm¡ҘH_V>ם]K5^ïim5qwSoѭ?:yȼ>՞z3,Ωmj[k : _I}4#i*3/.8~&ftmb$`$? 8gQ2,V{P0GCaw7Bq%2 [&Dzwb=}nU{׷i ǡʆz`>ȓ~eeCֱ#Wu>F7PњRGK6ܯwY>;T '[3_ %!"x*kdaaS7un l%='`nI;`w0*:;efyAy 6 i|}>PQtv`yH:HL_Wguy:opqs>L*q eB&A;VM>"[XSz ܏3(n5ZǸUv#nE)^n=mCGt9s9QQϙ`՜3}"OhK*"wutN5}@B`2 ͸ڳkOq_P lz P憕b!JbA/W1s M/'\-/A.'}iH>sNZBLd>?ծ$C0g$*794hB:ww[g+#w]\5 L_KxźP% & y09CAM+*GuUF]Uk򕝭`hG6CJh$Y&Go/@eg.dD|p)fɸkܝo =ې{bL|,x=R威P8^ !'2Bv2ӬsUΑ-Sgtۙ 35Uւu<FNҭ) $ ^2W;)}>B'OfA~& Hձ tm[}C5kIIm5R[ zA ל]3nǿ-$n6jBvP@sm2`uv_ 5CC)2}Ssޙ \:t {hYf1@CwqupJY(@a_C_,wAPg;-n&{BRo ZAf$s@L>h҆Yk}f|E#9&msq\[OL͏'Qq.XYV2DtuQyxVqwCyp+JL&< I~YNXi-H~FqUwA1cUs#,;пҼcl!'1#Y>Z5O((Vh'5e푯Mk'ۊ2'GHiYf)ˎVWߥtbqL@x;He"nU0%3&ÓaO7N;Xcyk|^?ݪHVؓUnBwj>w13QL Gpk?6Ǵ:}a&@bAE5cbڅ#|m1Z/di>p57)ݫs'Y\#n(= d׫LGW"RnlAB&:^o£1J(5 $v$Lt2l%q 8ϮlVdCGdBY~*J#N&Mę{z+qQ TnsNibfnoÁlF*5]U Rz/O6 q %rK)mNˑ۰ 1KI6e!" o,CO 5v aT٦:8 9L4{7n_D zS=qG~45[Dcn8.Rt\xeI5`adοퟆ;RI]0r~SawN|S®ޛag4ԏ6Ar$xǙ!:y^Oy]]$]jJ ^& OISPI(j>z /5/"f7ÉAdR+f ~hYX+’<6r/>ؐSVin/ n=ʥM+8+E\6;^K=; j+uo޾bpD endstream endobj 228 0 obj << /Length1 1641 /Length2 2089 /Length3 0 /Length 2928 /Filter /FlateDecode >> stream xڭUy  x`8#$H%B$3;@.>$ut9!DD-ۃKǝ{ 9)v06CdŸܜ4uG!_ڨR>pFZFisrƒ'W[Q!b{M4Id9Pp0{H#RplW@9سԢ}}9(T*r92?l  % z'HHlhpm8GWL#ׄ&F纭,j70g:1T+ETnoVTKW9rZɣGZۻ]oE^P Sdm>O '|ERKAĤr¼㧍 Ojfv]Yd>-pV X%ax-]X̼IY 3϶ ҼDzj0LLJ^|r'ֳ,O$m&]Lqy}y ʜZ0zmuxжɤ ccz#/i]'j r*S^N*.yÆsoZ|Bj?wifmNYG5~pQW^Uh1-ӻjRi>0S!)g kQoԨcAn**?Mx]|Ľn=+=sЃ^[Oŋt̝ }&%o-wsvaeC)@{]:-T*꘬\xG̏:I Zi0 bן@$CƁS ',Len4Y]j\,xh0l]FTKۗZy]EL\!#.2q݇0'\ 禝'fmd^rƅjmb5C}'c֔ɆbÀ!5!i#cQ23B٨n7ᲫNцBaD9ni&ƣƥ-#ky* w8*:|Y`?ga 0uȄ|t?f̊S0-&e 2.rQ}Xb};o++,ĥߠGid]Xf}W_V(eZ7YS*kIIrII9d'.#vx 1VPǠ;Ϋ1ZN,V+$FMYβWLN;!K["ЄKuÞIJSUI2.{p()pY Lh0d_[DЇ[vzO*ӀM 7ELw:<#l\ 75T{ΤI%kfZr*rb;,ߺVv|zw19{i_j8ŗS2\d8ވd"0L\l*h\WzV&8-5}$`]qC$Еd)4b;,=۶ BcA3j) ӄƒ-F.ם=+/3Il#\oZ L; endstream endobj 230 0 obj << /Length1 1626 /Length2 9919 /Length3 0 /Length 10760 /Filter /FlateDecode >> stream xڭweTۖ-ܥZ@!Uw=xp  9ow^2\k(Ju- k%Pvg`e,=4!Ne5fArZ `i w @h Z89(4)+@O_!KelڷO# v_'jw; H(Tur@0a(`7  p`[j͍ K `psZҀV@\grغZfVx@& ypz󽁩Cݬ\AҲngWm7ЛyXy߾77pzU9;Z~svM 'f+t'uow6rw:ڰppմrm + `vky]_;FvXmPT!o%;Y}"$oO]вNo 7Xo @CX8}_I[I-F"}F,hrX8ot{viہ lߤ<>ox|Y8x,\ow/Po U,]A9?~< bh[6 <\]uwZ,B33 '{9`ÝKj!=Q[UuMS> /{t=煤T }EX봝|L!l'zq7 yu'54M˞Ȧ:\~3QyR9cXI]_||BzxG7862.re^>ڶ'Bɛ;i'OtIpe골e~,ZP2B E;KRH2MK#3 V?_lZd`#%0'lY ޽/~d9\GA!.fo|ҿfY#Bg)ut2ū;)`g-g ;EaF``?zD[ڇ'I[ VsM;'C$tH-ƝefvI,'xo8MS]NW0RON+)d&YMq_<zR̟&>BIswBU fƳ.:iw}kEInǝ6hIѕyɫaMr_NRݦ jVtɐؗX;pWQ6q[sN-ZU\9e#^A? ^p$sOg\^)$"bm=ZlGnyݔR>f\wPZHA[zNp#//v {L7KY̯Mta۹+NCP+E{.co#+,WH;妠Tlm[ۓ~1܂v8ׅUԜϬ&XW_! rpSlm>9='RҺ!^eS}ܨtWU| #LnZ &ܠ9}eIaꕾ}U'f0-t AtU^ghV{{#4\Ndꦐkg)ti Vf.:IoD"J4Q)jc \.$rG>ƟDü"&y7FHg|U]WO ݔIO R8mJ |O7R3 4)c8ۇKD&)QtvZT{tMe(Z>ex`U[Akw@ڎ 2r>fW}aYK#}.6Z td ĸx;_;&˞scjeJ7q].DҨd5ho$!#D N5Z_TDvR։ CqE3>f>R]%ִfEMg&@iw,F;F,:FX)6ɨ^Eܮ%mXSch1Tiv0)ۘQ \ 3t[i_4rA]jMwR>=5cEɫŚ-R^5;#1JpcdXZ24Eı1 x@/ږ93$Jb3ߧvyk+ 8򮒒gchrR|g;Ctѵx?eD?"~y|) FS5ݜz2bZ7E])mP~ֲY X>Ռp bE?jtP>O;+Ryo ͅ Sźd*$QM:*6C0xL 6c՝B"uyasg " #拕lëdЖ^< ,ro\enDd2(Ec`|Q4s6WJJntю{3b'[hE4YjtlxSe#.k}{&=N>4G)D.}{zJd)2fKz?AfF 3$BbѻtږX2aQߗhiqAJ!~5'e͵Nމr5)Ia]D1ڷqdK{U4sH= m\/[uZIHi['dHv_`ER 5ܜ?HߔxHPf j]a%4/Mq 7z O] !6jum7Ztіc0n:6gu +*yf $PUR[F[[pሲW ٕELXG9!RYfg S3-gR`~K>]I]Oiߓ)-s!p33_hđML \C6YwRJG.+ qWS gAV+(3.q*W nuG {E!OŒI 혝QhGJ; VD=ck8fQ 1a& 7@agu~̧a K29`&.1k(˩O;n/޻##md Q#˺chBX ]c&NM k_FczfMy 1UG\h$m:TJl1\VUtVbKYO0{uܪ؞DW`]=uPa6IWg_'Έ+`3r6QV^?&;~9T}/v?B Q\h/~A6r.3F:QIV}F>F:MoGC Z}v|:ĦdjG3[١/Ȩ"B*sAUa,nSaI\i;3/{س~?}'N*UώA ƞbtoZҁp{,Ms|LQT:+thV7m|PK?vX+sߑ@w[#474ʳЗY@:%mq>%rn~N I}?Et(AӕmQ n@׆G}O$\EfJIݩƔ8|TŎ2="vJ!M_@a{쥮c"Q˸r@1FDܕy~7+]vI XV\zYg\6xGa _5#a_}:5ŤL(EKm?@w_8Jҙg1Īn|srXOZqhZӝ];jt0|6{ep݉TvBd|0xBz/TR 6O;aʤTJ{3npg5HoczPl$TccY^9qz+Mщ셽kWH gZ!T8N6^YArmi4  fXQ}.#K:9jݭ⩖f a,K)@ XHYJzͩNqM']eݏ ,_&p^G1`{bln0T nb5`z}Js#WwH7%០%6R ~M 0#RL7d;L>nYDc&tP}B2xhy".K_GL9Tӳc_aM-#|!tОDݤRew3"SyL| z]K+ [uHlkN Ϸ *fM{æ8Se+pY :EDbl ׈eJ01_31PN@+hHK9;h 42I֟XG%h^VBݤ#jFL{3wiqk?z"h18[gbbIr$x"KKX~ƆykJ(]cɫo!b=\OfT댳RquiVN.yZJVJ? 3 &L6yɨQl/u^湈>p&3F0y,[ʾ7_Q+zoRUkƱF N3;T/2LXJ{YNZDP+lo!tvBg‡ז:d"r M~ȇzpt"{pHLqI"DhjE]>ˆ悄Sop#:'+ \ 4hYyE 0;ҋh驹ش~Sy_bD T@/93J|T{L=aFCWg ,nLfQ E0<8#9?n7ҚEP{>QvWѡ"x 3B9Oˣsn1V0t`AOˎ dwS␤)#[T_AS4D˜.Ql͓DpN˕}O̚RT7*xur;R Z )([y"5+1{UPOUV)fnP Xn'NjV4 ^;*z8R7b6 l޼E2 dNdC/ext {6xn{-$ ɏWyMMQnѓsd3|ԡk9XAsf?$^䬥0c7j&TG(:O8c))t'_ W*PD8G%"sH%mH)ǹ_JgJ#\v4|g&Dt6-^ԋz6FGӻk8K_Xfe'?Z6eS]KFfXx73\'\cr4h'E?{oK}{۸K"ޖFHmx<y}hWS96яrΛd=GTZޡH1R1GX//pepǺ lS`_G|9A ш!F |AηN,ЌEj 6Ŋn7~_>d0ؠv`<~owD 83h?RDǚe`H;iiʚ40&N%^%y8A(OdDKStVPbqX:^EJƙ;oP3pL,] Rs}+EƼWW$`BZ!8dvز6"xȒj] 6QYOܡ9''XԣF1ߔhsb*v]pRMD.MM,ԨUr*T⏧[ow.D_$&t{ %3dMZ[ p|e?|(Fu raFvz[9JodmO*>[TӄN8^v^Mf1Hq!NLd|1GJIh{R&Ge:#\L-vhyl6%s5 lCzcڗ[ZNO2荶*'5Ir]X6T}^WA<ƴj\BAQ]_Z*yKj4R-:0kYjNgpA/hc@ Uq~.ڠtKnh@ 1#C}yw6b { ]H”֣K%#r\hGpeb=?iTXǑP8^_xnW`R[&CIV:VMvZW>ol(-&O2x\*Ho9(W4-ZdbˀqVm012=^U2SΞ,xDiF< 2O/ɰvVhS2Fq~j¶~e}(Ň-Ût6D%$?7b͵cy晴=U(yNCH 3> <6vC@v**jtj|z$$2vqAơ_:3~meөz*#gFE}cB$2! U~ gz֊IrfX]M|DyMiH /Ja{ћOBkH䥥9@g.ߕb4m)ʌ"=rV3ɡ̷֕ΗCv;pGBdz~ʦ+cm'Wk dMf#fh;"`Qo] 4֨kO>N4D-S}`2w҈̇"#]|?1Zj~Svm>.7_ 9v=BCUF6DJ ׺Pr~z]yׇKQ1elaHm`j&[E .dљ&+5"7gۯ?x9]cu v\p6, endstream endobj 232 0 obj << /Length1 1630 /Length2 17760 /Length3 0 /Length 18605 /Filter /FlateDecode >> stream xڬSte&vvl۶m۶bvRI*ض|7b~3\k]l2"E:!Sc3q{W:&zFn,௜ L^Ռaf 5303`"^VJ5e *c0_O+ { w3[G;3{׿׎*ffWK3@DAQKJ^@)!07s6(ZdL]̨&VBK`pq43fibhlg`p6wW? ;+!Ggvu\\]L]*;OWK#bXUZ:Sҿtaj]]f26Z8y_iX[gg3 #gS[30 _7rtÿgV.f0LcmaeϬHٛ;-7usDPM `jf 7$e>(o!7r+GMz?Whq7[[y#d @Ϣ5rYzٿ?Im_j-r43Ur5ٿjfζVfW[tLEjiebc lVٛ DEdh7 _Uon9yFXC cd{M_@Ly3ru_ ?jdow_Vͽ ڲ OuFvkf@pcyjIQ`Co@F.WG}}4WCi> [4B2e^X| 0 .'x\E3$̨J7Z:_e_hΰ^劷=nY )aBV\O4TgDTR`m GlJ,r#Uݘ{H7gJt((eN}\/ϋՂ!\5e]3?)ߍ\!su@,eB+Ov{ޫݓ! `8s2"S<%s T!/_Ϛ}h\?Bs[);ƒ xf'wP+LAXj@~4``=ӄnti`7Fف$~LmBT{lt8Ɛ9@g/(ȯE'9&X ukIԚ+ultܜqHaYbl3jR:߭*[j$4`&K#K[+aJR9 T*+Zfd^a袎X"hzDE,x%Ff6U2W1-_Y@WP*zxjb`i+uaoMTb_(f_ <&w&{H8n25\{QJa!/C_Z7Ù)f6ª@Ȗ'KLɟˠ擅\umSƏHJP,El/#x_brGNz: r 2UΪ XT5;%9~lSɵjL7PYIĜϿ)N+)i:&o<ݹw;DI5dZXA$5KȕĚ_jO*N-ex=Ѿdxn@!+ C:\ G5!3>#||@ ^.+˻ǞA w'l2I#"K6*T6.BPP ]~SSsXiyeyw k6- +4c c(UXcgN_G|?5y5kcQ[Km}7;$r%I%Eo},,x:F;))Y6e7GK]5&bd[jE5N;V|UE'z/PgR_Q;Jܚ?oDu\PN0A*Hbsy3O<'zCSaNanr ec6!w! _-vV>&s| H^w,3y=r~SyZg&Qۄ^0L"wK#V:{`e=8+~٬>#d&TcM@RWpk=Tz%pȺ R [$)@uypX Ht,Qh8p8_#L*۠'&L;_jM@}hrg[I/5>ud`{Z13~-DlK2ػ-jMu$}dR?\m{^E؃LOV!;t]̓`ºK_dQLN+ϗ#ۂ~v|0Cwa <ĕqAۨ~+:"z@\OIk=J8/VLEK5`QW%"@ێoIDhbj~V-5 iMwޣIX@lK@Ԇ+4W z腜Ya+\\pl ‹l1uX #3Z@\\-;T~G*bhR;ʬ0)(° ^;[k0ui Ɍc n2T;Nh`=Gl{6G\%Xjp邌ȼYv e#_b]3]R-uszV9xf}-ɿWҴȋ yY={Rr`~5odzȒL1`vq׉_Ȟf,QMDS6#K $} jú``AȷOw7>Zp:Y *zH\2??(3_~3/ٞrTg"XC]_ͤ.d[Zg|j[~:FJ~)2R-;FX\Q:'cd wc}AHNj;P|M8|Z|*U ~G\#}г(s|Kb+@86:nk $8mF/< Q+RB*{);-IHZ-#uD*',Kg27pۃ?-o LJEDxdBn(4M ~j|M@xlbV& bhk?'(ɜ`' ^S kP,O(i-й &tjgUiW6ܚapZ['2$wo4 b Ikˀ]Ii/E`ݰtJWk`v_ټepX&ELO͂BP#]+ִd^\ϑ:1* -܋%C tq?S3`刍Q]62=s3u윤%f$1:1lqNPzrE]Z=# B шc )(2F9F7+9)j 5|ed }w ۭ_0u.pq+Ɵ-/jxil7ip2X+x #~&*rٳޤ}z$YE h˪GQD ZWkȇtԎr"̶s㹥m c*rz$jӸ' Z_{ #DHfгהʶ(PbC07ێ4sCO\/ EW,OHſCA&f,H 1e[O@#ʱdN9 1aKvmUzYe wir$0n X#~/ xCW/$b ,:_p# 껉G4[;p_ ?8'O{.xP+r;9v%]be'V\9:d+@^^ X4Z踫tF񋭧% Ȥ^B!ߌ)k]#VO.~wTp2L3ǖ!Yy⠛}FJ2wyHرDڶ0&aQ[V;qt(Y|Is)XGZ0R*Imp⠗/hޘ0;;Dҥ[p; !B\=˔ӡ}MP0biC,&kQmJngdVQ&fN wvlGR $z.e,GS+R HʄMٌZU 9caU1ӣ@-"OXDMHLc^TCJH(X`) }U/%Y>::sM8%cǛPa{V3:3: _pj"EMFhDnB5 xK쏢uOɽ`+m@{Pb /|< V/LT^َG!m|.օKnUIGI_ P/f6A&WgcLjx0q~YTqle{Ie̜t"T-׍j'a*hz}v6-5!U^{~xo5mVUS( Ř6.ˀSU*ЁI-yYukFMdKkWtQ3oeiz4 >+WXm swC$ dRZhQ&y=UⵖP#uOZo4):*Yie* t886J~Gb- *T$5rY.Ln,jK v$; OUaC!l ps B̠9BgJs`AF#'BFkW!"np9I8 g9H/: 4^+[iLxn?IZ z2?#kI(9ίK27v=h?Tsr]aY$wE|E[pr߯q,TYt?u.1k5b9 yZOs|6P:zO#^b b \cߗp1߯Lr[KRGoT)`Mٲ=zkRbcΩW "-$kJK /\W${Ll W^jvmd ǫLL{|O2`(zO\SAȞ8#;rǢαE\ӈL:OkI3^,;fSÅvyb6QCK%>*6pF6K!H~>VqZK* 桷R#BWo0jd!X4ue6 kJQvT ~pyMZ[#J¶*,jkgMM\{ތ.:c{8"mۥ_F};*dz?_;81v DI+QWG|%֡ Py# poe/ 30VĪ%n=q|VwЍ^uҠ"lro4wxp c:HHRA#'Z\;lr ^50>YY X +][NA<@YBkJѕGs%KV^WE_0bYQ b߫ZcpxzNUڵ2Shrjz/4Z许oZضKגz5B-VoSSBPO9!HfƑ Jtvyם[R0.})DAsP!qLx+e#}o_ۃ>NAU!qg:i1"hH-t9 *;U+ i V]:WֲbH~$D@ELxݠs-j=י,0b#Ym d5Hq9SjM51Wxg9ZZG5ވ{4&7[ضPw^oG:;#as}ZCpYJVTm;hRV:V ~]Da;~W_=Vh7ZJ'o1LO!Vx>hW^Baq;`͵CmeMV%) )7<;n -?,^#IgBǻyoe"vGU&tΐ/:t8bEeӑa!lO `u7?dC[D_J+d^]֓9`} *.7GMc972x$nڽ6j[k㓼 Wm"d`f3{!P'oܗ0xa>/b1;=BBd7_0; 3lk,$(j?CS@hu垻Bv:tlV4j UoU3ėu3"Q مX>O)fsBZ#揷~e +MkUo2ΤdK3X+~E hq ng#Yג;kr$߀A.0׋%J~d 3ogJSΠPLGFK<?BY\,qX1S.a< / i4Sk Xp:dG)Cm\"MX08e`:簍<'/xzWVZyCk7k=jT ,VT4e}8򍽻~ #1ϩ@{BYUw>nB06 .z"JWgNjwYF"R d ;ȣtT #dq4^#T@C{8;c–/s_+HdIitA5#J߅FŷLv*ø sR IIN0U%i3Q4Z#o3ܖBZ{̆?#*qDE}&/l옭v,Ψ~Ƴ iZI5ǠUTy#J.MB3#3hGl4U(53)O Nk== Brپӵa1s;އ[~hFr,t:mfw~dl"K&X%r|*/WDئa{Hu) 41@]A kG?Qmj|3߆4eU%=5Or;(Jrqm]y,HV0PXfG=4ݟ*Vם0Cs\[jr7cGHb]BdK3~(S+^ ~A8Z]9FCx@s10S B2Rґ[ycqq &NW4Qm WwSkR13H͙S:ʘ3۩@ڌ#2)1;ہ0ȐD>_lqE|`&FTǤg+Kv{nkTLfNaƥ9zKM kҙR~w0nt*!nEC.n"4?AA ;tĿhhk:YNVď'X"Z>D񚺕-f0O֛N  H!𮹻X0`1:A!NT#Y*unll3!uʜ8"beqJ,5_,YEm'-w/Y0/@Eh)IvᔢwѴ.|GHca:vS ;Λ8Ur8ӻI} IiW$h8k/ݦ)Ût a@eYR.vV )_oIx)%hbjɄ^>U6Q\Н~TZu_𕂘?7f~m/g5($/5;tp#dۆoP` խhչ+EvMteN8#fVc=fclDs]7M;=DIA- Krpisv|Tdq?!(m1#Z.j+w5r2HR*];iTtت^=`yƍY5 ѬNXw;n 26л? V(@¤rh¯)q@iňR13@mxb$HdBCd8bX~90}pkş4$2qnTfs'Xsc[ *[^FTo<Ҵ\郸)WB%q ?MGG9L1isRcUpg_Lژ> :=kي@rlpS{;ڀV@ "N.l~d*J[\l-ëP. >1td]מY6(zMc5t*XH#q=G$G7smzx*D"wF6.Ib;n~G> !v *͹q5qSҶB*}{*NǭXh=÷'ڌPR/U#U+/{F"bA[@g{o% ~ሖ;ɂO<(`~Z6XM㻎$)DJ,[47 .j:$aQmh\VE|/jCw*-t6wNڢ1L,Tu,v_U kc$g ۵{I{}NL$?/Ǜƾ2 ;B*VvVoלISi㦈ݠ bc[->"[ 82<Ȕ U(.osU~I™ubf e INACqM3wl1$9/د #\&%ڬh-sJAg`*, TBs0ls$!1G"uߗT94V9sw CC=<6VCFvZ&-=:{.1Al I>ֽ'n^0܍jn/ ?ܗ%&kԋ1G~VԉU/2 Ds&N.63l#@^X=o9ݠNZO잫x{hKgK,JCgxsZp2o6xCjF^mzr;r%˘Q=1g9ֆ2u]کXʎІݰG?3YY-Ԗ</NBv:y@7/H Z2ٺd'*ڦ3Lg>}o ZSWy96I ^K/+`I?q ~E]&8ףi lT-҅䂙qHR塟DPy\HdܫJ䞬[E>ju>*- nW# q 1,yї#fϠۻV8&Y\@G5*tgҧ3P35S"[U4a__f7zaYLW`|?OLeg`;#]~|p#[G\Vme>%ҙXpߝ프:+F=+.)EK/"\N{QCۡ]*hٛە{efRލY0XJxtY;);P%$A2k1oabx/dfɜ.!G/j 4( 'Z(3CIѳ!n8>BrA^(n*܇6 B%77wuccAC {"ͼ/5sאiFA5ۻd2*,S2e>_a+Ϧi/A$CN8P9ԱڀE);tr:/ 3 E$CX5؍EvQTr/| IiV2Ru3BRv; MJ%s0iݞ8:!ݦ?΁I*I_%n~q9B0_@ ,Q?Y [#(޶ߠUaVtΊ X7Gyd(N(:\`K8,F#ݗqo"&Že4耲i3~5$:>ь6=o5[[(foHyz}~Eq =V,HpK;QUĐn"0UǸ -}[E@ ˃"onƈ;n%A`!(7W3Շ3X_&l_E{6M:YR$ڀ2Mu~Y5EW*\qc+$If9Qr4м>л+Ph~*bFhQJ@Yk:dÄH?d ٿp0 2똠2FGN> Nf[F&ç'oSB/5/b?:L \*mȝ$W@3?()s Amqs5q$(.!/qX|Ze~.4WfJ:_6| z`ƪFIJ۬GwPy;\/KquNN9QDxdsgߗ{J$#AwQچ^'69nncd /;6'XWkF̖鯤$pZdǓUcMj#bILTC\%¢s޺hEU KT5ﳣj͑.8Z`iz`a@AO4LBΠR!$lM2 u7^gb".O),9wlhV(4+aӕ3?EmXOXk~^UP;g ܿ0 ?M#OuA,GJ8Y-b͏<_8D);K<B۶2 TZ /#F[vDT6r޸?qn", 8Ě7V^Y޿NCeNAsJ -Bz߄OyƢ/1;jrg@mUDKx+"Gbb1$nyM .*ʽWR'Bψ%_O ƫHLs*&jxm()y]%Mr b>3c[>|6shlY¶ U Lx,Ј1]ݒx6d6`Ԟ@`K !tY٘uy( O*f.P]om/gq&ηY[Hy b?ǔ>"߉-pDihdڪ50VeREȷC(SC0wm\4vbQg!v]ex>t70COQ˹eeŶQ=}$*d[y8UhzFbAɶ(;IYX+s0^; Y%LvQO_XGX=[mtt"rXPrlyw' ~80u.uEފ0Eh-΅v.bAVST 㥭~(DDh R ބ۹[ef}<_2~N06,wh5(T#݅Go4Xsw*= qȶ6?&mT YRz{0o V˾Ͳ:!UPbqC .z"Jb[:2C$5 xqn~ֿjK*nFEs"I3BUOT,u$ȸ$bv`窥? v:8_̫LeW;:%EEJL "Ғ endstream endobj 234 0 obj << /Length1 1647 /Length2 11618 /Length3 0 /Length 12474 /Filter /FlateDecode >> stream xڭweT\ݲ-]ww ; 4X-wwBpw .-X{ww=jV՚jtRjJX@@WVN6!2Eb Ȫrw0^dZZ)g q: 4DHAV֮-uFffY0'rн} 7p,v ANY r9ff6|\@K3 9Wi.lo\. d~syX g{7r:+v0s+7%!o;߰72U3UUZyZ]~˷sJ{yC]`+Xf wn.`epY-@..o4oοꁎv^{C9]]@vlȜ\o1]b[yKv 7b ᯞa|KhqX,ٕ!o! 3D_Eyw%N-fg k۠:f #act5p+l9n?BM!VN^6.`O*` {;Z g;M͉0Mk_j9X{ o]3mެ^ DQX/*II'Ov߮ #DZ+]6NϿVFF#`4\o`s7g7os%/5cw*]+?nq)ZNu8}>15u'Vng;j\[Gt?Ժ86(£că[K8$Za _ez?n(h>8nԁTiZ CT%RԀpЧ O5ԟî.0wzo08Hט2unS>ɲ3pg{^t<² +d(njMĸ cSu2 J>) j#rcمb{9=qTҰd;])(jsTgoB'g׸OKfΦi}veJ>jwt>^Tl"a }dj~H+yb#8.f~r!xZ3 cR*H54?ӡ(Zfaflp x֑|楟ń Hj;問CDt ~9Anf¢DTEP.xmgWg깖O!'D3n87ck(y׾FӓX&`V-.ϰ-DP | Zh^$nYa|̍).zdH$BKۿGBAnxqk!J*,OkF[Q/b9vmю i#"iKt.~'UWY*+]0ֶ),4۪mK../HUN7aD˩?#8@I?b#__Xຟ947g>u ~g@kV2o-AeT3N"][@Ĥmez8Er9j-:U2B4JFҰR'kSqnv|&wsPeNshx4R壢( BI4@oW-Bw)I o^bHPʙ)BtP:wٵQ`TPGP^S;BuWOmDk)E|R3GO>ݙe<3O&ޓPP&;^IYMXsOxu[ɹb8IlYs?Ȋv+Ҩ5 u,3s}LB[)\PWy?G$ulwh$M+#N \9z4a 鱂'Z048qCO>ZS;sP'lN ôL%*2he*R=ύ鞭V4]Wx@1DJX֚hj$O!7F0/πIѩS~SB-=/$7j5L)rBuQJ@q9ӹ^[Qe\k Dr6pr? oD'; &p"NRAQ*YO-6WFC4oA/-|CB&Y]yTX^-.Ԝ&MHOGC בa1xoxP69bԢiH_0:?&Ժ0^}YLk5EǡTE@;Rc8 |Kw> * (`5qjǷ'Pda#{lç&VC܌Ӏ\y_.#bC>)mû7v|*暒yF-aҴO"tl3Ń3bA.hO NU o.;oOcUpP+Uʆ!lM-Zԏ]``4x+݆dg!pJ܅ dk,zq[aFҌB#@̲k~{v3ObHN%?J.F4 OE#ffrb 5n4a[W\\=H?_6|LxǻN\|/ $^ߗ a|9Ѷ0ژ6voFTOJs - *_=yaAJ=$6uF% ҙ 'Y/*SH}I tY߉W=5DZsl_ԭ~/9-kB|?פ%jNqņJ~iz6%ZH4mL]Y'z1sLbEPx3$5oR냐uO G` ."\mCn`HkV:LEDv'=Sݯ$&k?F`cLs_G6^f.dUJ=K49+~{WW1w i!WΖ-{- Gf>|qtvϓ ݰgk_G 2(]e)Ђ({dE}~L.6 |V"y\w \mVv=/ m3tW'&Y\t7;mnڿ7B /cqs~g:#{;Q"uQ=S0=vq =e {G E%Ė7Ïmɝ&Tr9Q2OpGKRոgPadyHӍ?3_D ;HƸێG^K-jˮt`XI>LNOeqgd:?K xv\.] %VfN)"}?R!6kw=]ҒύU?jpC+FUX ڍ{_?+;E_1U0X?QAڦo?J7HP1d|Ɠ"Vfҍ* `υ;WxI$9Ob{gbG9GL_[vv 5 u$4lOlKyU9 >_jyZTs,Ea5"Dp4HDf8(њLy3DF[Xv`S,q:dUܳM}1Vɗ͟9NRvL=OBRL(ԄPY pVFdK堞9zۑy1f1I$׻0cP&蓃8teGBŒJr=r+aQW Rllp 8ʿ+RVRZX?? Ln s\]fD55}ڛ@F4U|]PI8Ls7IGK~ED~SuHȉN2}]4y뗹?ό \p&_%MZ_(rQ)ښynԿ$8k*J |őL`2Vzq!t$'T8apkk)8Xa$,w3\_xcM;9Qp2@hOw XGˍVXlޥK9p1r>0 RĴcʖ̵F#e<'7=k8\FK7G'^<.M3ȍѭp_Âk."'_uBnQ 6Ո1Bbb#}M,G\1rQ3K1F%hN΢Zm]B)-NWsb!@~پma,y?mVOb)M7wSj]e=1&\stWT3E!x1_oc䱿?9SWs&C'4B/ 2)J$y:rx# ZptQc$?!1i= 2PA4".эD͡$ &VH#xn_ moFqqKce|R3'FZ$Վ;D3qtp!Zt)v\\a*IP+C)C(P?˩zLE2ݫɘfv{Q-;[7]?j`)D T.'5ߧ4u U1E@7 Stq tq#4yA ?qp0Jb?{lѨzql^0  ]NDBDUfJǚ55s>|hX2G'p<zxʚE^pgBYjr'%{GB%->}*(Hs4N1x0cpýgj抧r˨Be-TcN0?t=̧O䄸%yI$!%+]Z aCVy#Vr ,dCB-]e}h q "7bǝh$Cؘ -(^K0̂ʘ*>obNcEx3-̛\uosMqf8bY5xV f8Gj-~9ab1YHnjڥ`B0 )"hguujqhP% KlF9*?ml%M@:"_y Pv Dn{J3zR||₁?ay>6}02nJ<^Q$lαI5V4ڧ;>fbקP?r8Ri2x1?`FX- BTFѻJ?UB1fR2o,՟ כLS[I>euDBe{g/ruLu(`d41TrOG+.:7;o?n>-0Il(r>y["s0 4~AHc*d;hDIy-WkAd6W]SԀȴk#i?r՗a~N˦b2vCI9$7^Wb8\Hv xyPܟլ"ۿ}lQϞ |pq( <Ԩ"> d&N%/:i-zfZ5Z뙓%>~^bñ|TBOb\d$>ً!>a@$$؍n=jjg3MfV p޸mB {}1듡R&06P(n3]&Z˿[K6س )tpDEzG aǂOb-jï(({LO:m\U 5̺#(¨f ^)!_Ax]n9xz9l`‹j|Tq5z:ㆶm!$-]m|~Pcq]ŵR*Y Rٟ&g@4$uR?Xʆ}n ;*~AEx9"SK+ƥM34' z,ĩ갽,fA»v[~E2Ó>̥[xHCm~P,Gvsb1kk Iz'Gƶ(_$"MRi"iI X @ݴ< d_\>-Qgv~QJBJ+?]Qd%1+"X'&>cP/ e Մk`39{iEqZN,▝u-'ˑm> ACĔF~ؑ2OK$fBf%˅䰈%xtO!}Fd_g 0{¨PO)k8ڏ!܊/:y7kWPHѓ;Y!JR9ܰ@]#Pp姥H(Ktt~r.+jʢqÍ`B4 tUau„+qUf7-r1 z"Ty/*9aY%o>mT[\޷MZf3/c<\Qt`ªZɋ+c/gJ~(n8)~ y7꒨4|Ji>P:,x]a}u G]Y,ޘuݡfgܩ/ZMro V1Tm:(j~ڠsN <<~[hgpi/5KUM'hb)99k7 xKDSP\_$KMgYaA.[.:d}^*$*QhN)zjƢ_,+]˂dmKޠӠ*VZ&䃀4nQL_o-Sb+>('5ozBZּ {݇VZs+c7NUy Wp6b~F7gzLb._ĭV+s/BQ"q߫VqVo2/=ַRݤs.[@w}r{UWve@Ka 13%fQ/4P&N!Ð!ۼ~/p(jEtwP)$ Z]@%'Y(\uwjw`6&\`G &l #ovogyIFb=}.L+Qѱg$쵻R & v*J3~.Tϵ*Q9gBTމ`ܿP5Fc+3Vap술a"Ȓվ{à\ 6PU}K8y+|˲]ﯶ6~=S$ލ&ѩ&X#QL\=J ma/(.We 6Z] (LEJ 'u3˨5Qy'R)K Z{gӒ:S!0 ?g UZ'A4l҃dEfV\QyV:I2ޖV48S.C?N-8H}I>zppl,&c,Scuاv6'̻VFN4aT{:˽RxGܧb#zАYXq+/Peߜ#I0ꦾe]ɔ}q;5!)6ǝ)#6,uݘB||#H*SEv_A|4<]˶D>Nunuf@:*HU>tLN_5ԹJ`J)vM[*.8`)GSmTx0vwQͳs!V\w\g%.+U‡yOD|cLՏa?1 4+\$~%sE{Ě;ftd>PŔCc, m)E{H>sQGOt qss;3KAlu vۉ@Ϳ$:Ryy3iY$"Y{%%F#Q5q]>[29*1td 6_ga`}A)?c1Tz4\j'/rC }^; +zŮhDdܔE0}*HN\)\;37'"~iLl'BQD(|Tewn!sd=7LȔ,6aQ6Vnmzmx$_FtlCqtgB|P*pKGoC6%T&y!]}T?p/(kWC9^Ib}qaR1}PLHUfܶ09Y%aFB+E͖${XgpZń6 w*@պu L,JEޑ{ZeȰgAQT{ɟM;^$]H+|muC}Ju 4~?\hRw%n%*B>Ħ/fuPoUQ;|bJf7Ӻ%Y䔏'`C;%YЖ hENү$.nN<*eudT_ ߧ>Za1ł@+…16%]91cF1}T-vߪ;0t/ -vtY p30U,m,FĎ8(R)3։ptk Ol;1UZB0-X.&k?b Njǥ&5s4UE&ׄN2bh&cngd(eFںo_o mmH'rN k< E,E^=~8ܴ#u5y`~m˲?2^ =G Su/UUHƭXDQ KD oTXj)%QnCɭz=`;] mʃ,h k01gr(YaN*4ըWX&Gi:} xÐRW h,\߯"cjm;b^$˔=$j IyQkalp]4@ٮ^ȕ-~VvbNB^(yW|/CRJ.ތʟGȀX&:K) a0 B>sCZi<>xa:j\zP̀#F?{M~2]=>idbȭ4?[+糈lKH)EůZluNߞr\ž\h'}Eǜ Sb62LTKԈB𝰾UP‚n 6!'#iN8-3(a=GJN*h_d8ߛx UjF D ;QudMC^ǘX 4< 1yA>!Ҋ*s S9o~dNޯ= OwDNRpwW5^Htq.Mܠz5eXwNʲ 0wg7Oac~_ Mx:GXRPq N|CL~"1`a|]8D EPs5OW|vw8~^Uͨm%P8'fWKk+x885xi}]ҋJڣ&2 z/cb ߰JlɅ]oV*'gw6Llxϱɕ$N8,{d+y6_8&JiFO^ף'z}}j(wQ߁zjAbډ[.evҁƝC7v'2HJKLhMD5%@(RCג$q`&*7g `4yNb\́>"L}gmfI, brՓfSK=*̾~L;zpO,2)k6 xP3&R@шe9jfO"(E##zc]_+S!;bchbv7+[skMv=EW!\ia Ѯ";H~+Wfm.GK!q?S4OcIXDk C/ebԦa1E%EiiOɬjmL`< ,%t1p,_cP\iiF" 1 e:srx @E ['4`k/>L+׸}QM䉐J.w:r}"W".;5ga{_`=BÇ{ kl;KKsZr%<>r]&Ie*lҀ0xUi~Eׅv} endstream endobj 149 0 obj << /Type /ObjStm /N 100 /First 894 /Length 3926 /Filter /FlateDecode >> stream x[s6ɄxNf;v8/Nhy%H $Gst4AXo JFք3AbDXxV( :gIR#V[skå\"USU\k҇B m H*Mu 7p@w#u*PT ! " Ұ)7* f "9BBcc)#AA$0L%)T $ǠLҡ)ph覘cQwD4*r (5! R8>tWkbD+h P\ڤ @tЂ uZȮ`4` (ݱ1$e8J :X HjSSFqtHI8 Q%3 ̂BxK`;0$J@fQkPpLS2 UX@iTT@H`4`i0 /hk[D0@g 6 zըbruᏞsnoKE.P~ˡ"tF' 0}@t^w[u>*/#DOVĺ -+ׄo3LGB% !. w]^:8td~Ybi@OQ^z}I.< eJ&)Bi88mCt=ngU1eUN~2RJNGkNj 5nጼWwꉗm4%D%I=_= J/nNYM_yU }1NGgD+I>{>VHwwz]Dc5=ն?LfŢzl-g|Z ٬e9p^tX8Bb 荧DVD` xX5bI[+T<;ܺP*%g]96r}xp rU>xҝ$#)> !ztC]G_}z7E_#1=WF3͆EvC9lg ?D/e }(aS^*tR#hDG8+iN= /qvKU9WyI5x|'/N褘tJ}Ǝy"fFcZ_lnhE2iǔ|2pZ3~_rŅ/v^G\CC JŠ8Jbd/QvM<ȁt(PEa+JQj($2[Kw[7^*Z(B40-Tjނ!%66)!" t(Vϯ>x5qLMcCo%IztZSTk * **kW/[ߞ><}zr,[xȣ!Vv:q-4ͩqXSuRxWW?yIMFY9:z{F&f#eF2crd#Y6kUFgs1<.rݧoxzfꎞjg|A9;q8KIyg0t#ؓ0vMЍt$ҿힿz~4{PPp;YGϝGNv3jV]XDp4dކpߠymS(~[H x&}U?Zm i =0`4K,:g\9 7& ޳}ۉ7cVЋP]֜/Rc"]LzH@p#g,! A 8ݷX #H* \ Z?=4LPǓdkDhFpf1;^lrLmq8c(g’hQ<+FfCr{epXqbǿ m=A|_h|.L$/OçᭈLJvt%et==T0vo[,NXrI.J::Vn菾9e:htЯ̀L,ޥPn}j >ō/;3A!G۷>>X߃bYK1v&qgH833> endobj 239 0 obj << /Type /ObjStm /N 12 /First 100 /Length 549 /Filter /FlateDecode >> stream xڝTMo0+|6jEC~*k+Tʿְ$yo،kB P%FNQFI@FP|鄉XPR|$hz_nԢz_97n0oAlf(\#(olU]PdCC[)w$>u+ E?#6eTH!׵m"G ޕ:l IX`Meສ?ez溋*[?vh&k(pyNe6_0#?3YHw!V!Fwb$C$îľΚ3gZPqh`1uũO@\A{@n3gۍ?0+ֵha _"ةZ"~xrĺp7nL=#v.x*:606 OSay/٤^RX}gz$pgɐ]W+9|TH/CcQ f O`ҟɸdڷcY/ endstream endobj 252 0 obj << /Type /XRef /Index [0 253] /Size 253 /W [1 3 1] /Root 250 0 R /Info 251 0 R /ID [<05EC837AD93468EAE1928437078676BD> <05EC837AD93468EAE1928437078676BD>] /Length 645 /Filter /FlateDecode >> stream x%OAG,"> " 局"6ZbaJ*cGab14T6VLb=w̝o[ DMꊰIA'GJ-``\`xaXvrPvݠ$A^P8Tti7UEp&p.F/c_2V T?ǩΒT\78΂s ].{@/̃,ȁ+Nptd^3ad}Ap*?}(] MJ&(p L2h縗7q>]UxfTn.4*a;t; ' ' ͫyeOlH{SNs;qT]/AQ,XDzGkݗfR OBem՗ !Ulud5*?}00PPPPR[jm[4] ׌^{pTrj_OCkUW{J~4Өo4?4a)ei {5iJgʖ"KGi|FZim^rMdr0ח endstream endobj startxref 218453 %%EOF spdep/inst/etc/0000755000176200001440000000000011774620403013121 5ustar liggesusersspdep/inst/etc/misc/0000755000176200001440000000000012366701055014055 5ustar liggesusersspdep/inst/etc/misc/nyadjwts.dbf0000644000176200001440000026237711716033162016411 0ustar liggesusersga#%WIDN Z600700010NZ600700020NZ600700030NZ600700040NZ600700050NZ600700060NZ600700070NZ600700080NZ600700090NZ600700100NZ600700110NZ600700120NZ600700130NZ600700140NZ600700150NZ600700160NZ600700170NZ600700180NZ600701190NZ600701190NZ600701190NZ600701200NZ600701200NZ600701210NZ600701210NZ600701210NZ600701220NZ600701220NZ600701230NZ600701240NZ600701250NZ600701260NZ600701270NZ600701270NZ600701280NZ600701290NZ600701300NZ600701310NZ600701320NZ600701320NZ600701330NZ600701330NZ600701340NZ600701350NZ600701360NZ600701370NZ600701380NZ600701390NZ600701400NZ600701410NZ600701420NZ600701430NZ600701440NZ600701450NZ600701460NZ601199010NZ601199020NZ601199030NZ601199040NZ601199050NZ601199060NZ601199070NZ601199080NZ601199090NZ601199110NZ601199120NZ601199130NZ601199140NZ601199150NZ601199160NZ601199170NZ601199180NZ601199190NZ601799010NZ601799020NZ601799030NZ601799040NZ601799050NZ601799060NZ601799070NZ601799080NZ601799090NZ602399010NZ602399020NZ602399030NZ602399040NZ602399050NZ602399060NZ602399070NZ602399080NZ602399090NZ602399100NZ602399110NZ605303010NZ605303010NZ605303010NZ605303020NZ605303030NZ605303040NZ605303040NZ605303040NZ605303050NZ605303050NZ605303060NZ605303070NZ605303080NZ605303090NZ605303100NZ605303110NZ606700010NZ606700020NZ606700030NZ606700040NZ606700050NZ606700060NZ606700070NZ606700080NZ606700090NZ606700100NZ606700110NZ606700120NZ606700130NZ606700140NZ606700150NZ606700160NZ606700170NZ606700170NZ606700180NZ606700190NZ606700200NZ606700210NZ606700220NZ606700230NZ606700240NZ606700270NZ606700280NZ606700290NZ606700300NZ606700310NZ606700320NZ606700330NZ606700340NZ606700350NZ606700360NZ606700360NZ606700370NZ606700380NZ606700390NZ606700400NZ606700410NZ606700420NZ606700430NZ606700440NZ606700450NZ606700460NZ606700480NZ606700490NZ606700500NZ606700510NZ606700520NZ606700530NZ606700540NZ606700550NZ606700560NZ606700560NZ606700570NZ606700580NZ606700590NZ606700600NZ606700610NZ606700610NZ606700610NZ606701010NZ606701020NZ606701030NZ606701040NZ606701050NZ606701060NZ606701070NZ606701080NZ606701090NZ606701100NZ606701100NZ606701110NZ606701110NZ606701120NZ606701120NZ606701120NZ606701120NZ606701130NZ606701140NZ606701140NZ606701150NZ606701160NZ606701170NZ606701180NZ606701190NZ606701200NZ606701210NZ606701220NZ606701230NZ606701240NZ606701250NZ606701260NZ606701270NZ606701280NZ606701290NZ606701300NZ606701310NZ606701320NZ606701330NZ606701340NZ606701350NZ606701360NZ606701370NZ606701380NZ606701390NZ606701400NZ606701410NZ606701420NZ606701430NZ606701440NZ606701450NZ606701460NZ606701470NZ606701480NZ606701490NZ606701500NZ606701510NZ606701520NZ606701520NZ606701530NZ606701540NZ606701550NZ606701560NZ606701570NZ606701580NZ606701590NZ606701600NZ606701610NZ606701620NZ606701630NZ606701640NZ606701650NZ606701650NZ606701660NZ606701670NZ606701680NZ606701680NZ606701690NZ606701690NZ610702010NZ610702020NZ610702030NZ610702040NZ610702050NZ610702060NZ610702070NZ610999010NZ610999020NZ610999030NZ610999040NZ610999050NZ610999060NZ610999070NZ610999080NZ610999090NZ610999100NZ610999110NZ610999120NZ610999130NZ610999140NZ610999150NZ610999160NZ610999170NZ610999180NZ610999190NZ610999200NZ610999210NZ610999220NZ610999230N 3600700010001000000000011100000000000000000000000000000001111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600700020010100000000010000000000000000000001000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600700030001000000000010000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600700040000001100000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600700050000010100010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600700060000011010010000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600700070000000101000000000000000000000001001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600700080000000010000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600700090000000000000000001100000000000000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600700100000001100001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600700110000000000010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600700120000001000011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600700130011100000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600700140010000000000010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600700150010000000000001010000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600700160000000000000000101000000000000000010000000000000001010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600700170000000000100000010100000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600700180000000000100000001000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701190100000000000000000001110000000000000000000000000000000000000000000000000000000000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701190200000000000000000010111101000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701190300000000000000000011010000000000000000000000000000000000000000000000000000000000001000000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000 3600701200100000000000000000011101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000 3600701200200000000000000000001010001000000000100000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101000000000000000000000000000 3600701210100000000000000000001000011010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701210200000000000000000000000101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701210300000000000000000001001110000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701220100000000000000000000000000010001001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701220200000000000000000000000100101001000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701230000000000000000000000000000010111000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701240000000000000000000000000000001010000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701250000000000000000000000000000001101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701260000000011000000000000000000111010001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701270100000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701270200000000100000011100000000000000100000000000000000010010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701280001110110000000000000000001100001000100000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701290000000000000000000000001001000000001010000100000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701300000000000000000000000000000000000000101110100000101110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701310000000000000000000000000000000000000010100011010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701320100000000000000000000000000000000000011010110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701320200000000000000000000000000000000000010100100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701330100000000000000000000000000000000000000000100110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000 3600701330200000000000000000000001000000000000110111010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000 3600701340000000000000000000000000000000000000001100101100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701350000000000000000000000000000000000000001000010110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701360000000000000000000000000000000000000000001111010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701370000000000000000000000000000000000000001001001100000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701380011000000000000000000000000000000001000000000000100100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701390011000000000000000000000000000000000010000000001011100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701400010000000000000000000000000000000000000000000000101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701410010000000000000110000000000000000000010000000000110010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701420000000000000000000000000000000000001110000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701430000000000000000010000000000000000010010000000000001001010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701440000000000000000000000000000000000000000000000000000010110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3600701450000000000000000000000000000000000000000000000010000001010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000 3600701460000000000000000000000000000000000010000000000000000011100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000 3601199010000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3601199020000000000000000000000000000000000000000000000000000000001011000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3601199030000000000000000000000000000000000000000000000000000000000101010000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3601199040000000000000000000000000000000000000000000000000000000000110100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3601199050000000000000000000000000000000000000000000000000000000000001011000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3601199060000000000000000000000000000000000000000000000000000000000010101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000 3601199070000000000000000000000000000000000000000000000000000000000000110111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000010000000000000000000000000000000000 3601199080000000000000000000000000000000000000000000000000000000000000001000110110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000 3601199090000000000000000000000000000000000000000000000000000000000000001001010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3601199110000000000000000000000000000000000000000000000000000000000000001010110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3601199120000000000000000000000000000000000000000000000000000000000110101101011100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3601199130000000000000000000000000000000000000000000000000000000000000001111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3601199140000000000000000000000000000000000000000000000000000000000000000000100100010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3601199150000000000000000000000000000000000000000000000000000000000000000100101000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3601199160000000000000000000000000000000000000000000000000000000000000000100000001100000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000 3601199170000000000000000000000000000000000000000000000000000000000000000000000010100000000000011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000000000000000000 3601199180000000000000000000000000000000000000000000000000000000000000000000000111010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000 3601199190000000000000000000000000000000000000000000000000000000000000000000001100100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000 3601799010000000000000000000000000000000000000000000000000000000000000000000000000000100110000000000000000000000000010110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3601799020000000000000000000000000000000000000000000000000000000000000000000000000001000011001000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3601799030000000000000000000000000000000000000000000000000000000000000000000000000000001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3601799040000000000000000000000000000000000000000000000000000000000000000000000000000010110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3601799050000000000000000000000000000000000000000000000000000000000000000000000000001011010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3601799060000000000000000000000000000000000000000000000000000000000000000000000000001111101100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3601799070000000000000000000000000000000000000000000000000000000000000000000000000000100010101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3601799080000000000000000000010000000000000000000000000000000000000000000000000000000000011011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3601799090000000000000000000011000000011100000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3602399010000000000000000000010100000000000000000000000000000000000000000000000000000100001100100001100000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000 3602399020000000000000000000000000000000000000000000000000000000000000000000000000000000000001010101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000 3602399030000000000000000000000000000000000000000000000000000000000000000000000011000000000000101100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010000000000000000000000000000000 3602399040000000000000000000000000000000000000000000000000000000000000000000000001000000000000010110011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000 3602399050000000000000000000000000000000000000000000000000000000000000000000000000000000000000111011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3602399060000000000000000000000000000000000000000000000000000000000000000000000000000000000000001101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3602399070000000000000000000000000000000000000000000000000000000000000000000000000000000000001100110110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3602399080000000000000000000000100000000000000000000000000000000000000000000000000000000000001000001010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3602399090000000000000000000000100000000000000000000000000000000000000000000000000000000000000001011101100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000 3602399100000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000 3602399110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000010000000000000000011000 3605303010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3605303010200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3605303010300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011010000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3605303020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101110001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3605303030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3605303040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010010000000000000000000000000000000000000000000000000000000000000000000000001001000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000 3605303040200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010101011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010010000000000000000000000000000000000000000000000 3605303040300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3605303050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3605303050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010101110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001000000000000001000000000000000000000000000000 3605303060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110010010100100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3605303070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011011100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3605303080000000000000000000000000000000000000000000000000000000000000000000000000001100000001000000000000000000010101100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000 3605303090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3605303100000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001111010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3605303110000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100100000100000000011000000000000000000000000000000000000000000000000000000000000000000000000001000000001000100000000000000000000000000000000000000000000000000000000000000 3606700020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000 3606700030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000 3606700040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110011111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000 3606700050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100010000111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101101000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010100000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001010000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000101000011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000 3606700100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000010000000011100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010100000000000000000000000000000000000000000000000000000000000 3606700110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000100000010000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000101000000001110000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000010110000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111100001010000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110001101000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000010100000011000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700170100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000001010000001000000011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700170200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000101000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000010100000000000001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700190000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000001000000000000000110000000000000000000000000000000000000000000000000000000000000000000000000001101000000000000000000000000000000000000000000000000000000000 3606700200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000001000101000000000000000000000000000000000000000000000000000000000000000000001110000000000000000000000000000000000000000000000000000000000000000000000000 3606700210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000110000000010100001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110000000001000001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700230000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111000000000000011100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100000000000000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700270000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000011000000000000000000000000000000000000000000000000000000000000000000000010100000000000000000000000000000000000000000000000000000000000000000000000 3606700280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101000000001000000000000000000000000000000000000000000000000000000000000010100000000000000000000000000000000000000000000000000000000000000000000000 3606700290000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011100110100000001101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100001010000000101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000110000101000000001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000010100000000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000011000001010000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000101000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700350000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111000000000000010100000000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700360100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011100000000000001010000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700360200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100000000000000100000000001000000000000000000000000000000000000000000000000000000000000000001001000000000000000000000000000000000000000000000000000000000 3606700370000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000000100000000100000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000 3606700380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100000001011000000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101100000011010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001110000000110100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000011010000000011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000000101000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001110000000010100000001010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000001010000000011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000101000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001110000000010000000001000000000000000000000000000000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000 3606700480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100000000010000000000000000000000000000000000000000000000000000100000000000000000000000000000001100000000000000000000000000000000000000 3606700490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110000000101000000010000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000 3606700500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110000000010110000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700510000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010000011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700520000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010100000001101000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111000000010110001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100000001101000101100000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000 3606700560100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111000000010100000000000000000000000000000000000000000000000000000000000100000000000000100000000000000000000000000000000000000000 3606700560200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000100000000000000100000000000000000000000000000000000000000 3606700570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011100000001010000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000 3606700580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111100010111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700590000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110001011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011101010000000000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000 3606700610100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001110110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606700610200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000001010000000000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000 3606700610300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011100000000000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000 3606701010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606701020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606701030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001101100000100000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606701040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000001010110000000000000000000000000000000000000000000110000000000010000000000000000000000000000000000000000000000 3606701050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011011000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606701060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001101110000000000000000000000000000000000010000100000000000000000000000000000000000000000000000000000000000 3606701070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110100100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606701080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606701090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010101100000000000000000000000000000100110000000000000000000000000000000000000000000000000000000000000000 3606701100100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010101000000000000000000000000000100100000000000000000000000000000000000000000000000000000000000000000 3606701100200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010101111001001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606701110100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001101000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000 3606701110200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001110001000000000000000000000001100000000000000000000000000000000000000000000000000000000000000000000 3606701120100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010011010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606701120200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606701120300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111110110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606701120400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000100001010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606701130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110000000000111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606701140100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606701140200000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001001000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606701150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001000000000000000001000000000000000000000000000000000000000000000000000000000000000000000 3606701160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606701170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606701180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101010000001000000000000000000000000000000000000000000000000000000000000000000000000000 3606701190000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100110110000000000000000000000000000000000000000000000000000000000000000000000000000000000 3606701200000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010000000000000000000000000000000000000000000000010000000000000000000000000000000000 3606701210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011101110011000000000000000000000000000000000000010010000000000000000000000000000000000 3606701220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010110000000000000000000000000000000000000000000000000000000000000000000000000000000 3606701230000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011011100000000000000000000000000000000001000110000000000000000000000000000000000000 3606701240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011101010000000000000000000000000000000000000000000000000000000000000000000000000000 3606701250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110110000000000000000000000000000000000000000000000000000000000000000000000000000 3606701260000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101010001000000000000000000000000000000000100000000000000000000000000000000000000 3606701270000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010011101111000000000000000000000000000000000000000000000000000000000000000000000000 3606701280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000010000000000000000000000000000000000000000000000000000000000000000010010000010100000000000000000000000000000000000000000000000000000000000000000000000000 3606701290000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000011010000000000000000000000000000000000000000000000000000000000000000000000000 3606701300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000110000000000000000000000000000000000000000000000000000000000000000000010101100000000000000000000000000000000000000000000000000000000000000000000000 3606701310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110010100000000000000000000000000000000100000000000000000000000000000000000000 3606701320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110000000001000000000100000000000000000000000000000000000000000000000000011000000000000000000000000000000000100000000000000000000000000000000000000 3606701330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001110000000000000000000000000000000000000000000000000000000000000000000 3606701340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000010000000000000000010100000000000000000000000000000000000000000000000000000000000000000000 3606701350000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011001000000000000000000000000011011100100000000000000000000000000000000000000000000000000000000000000 3606701360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010101000000000000000000000000000000000000000000000000000000000000000000 3606701370000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110100100000000000000000000000000000000000000000000000000000000000000 3606701380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000101011100000000000000000000000000000000000000000000000000000000000000 3606701390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010010000000000000000000000000000000000101000100000000000000000000000000000000000000000000000000000000000 3606701400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110110100000000000000000000000000000000000000000000000000000000000 3606701410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101101010000000000000000000000000000000000000000000000000000000000000 3606701420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100100000000000000000000000000000000000000000000000000000000000 3606701430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000111000000000000000000000000000000000000000000000000000000000 3606701440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000100000000000000000000000000000000000000000000001010000000000000000000000000000000000000011011010000000000000000000000000000000000000000000000000000000000 3606701450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000001101000000000110000000000000000000000000000000000000000000000 3606701460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000010000000001000000000000000000000000000000000000000000000000000000000000000001010110010000100000000000000000000000000000000000000000000000 3606701470000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000001100000000000000000000000000000000000000000000000000000000001011000000000000100000000000000000000000000000000000000000 3606701480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001101011000100000000000000000000000000000000000000000000000 3606701490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110001000001100100000000000000000000000000000000000000000 3606701500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010010000000000000000000000000000000000000000000000000 3606701510000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010101110110000000000000000000000000000000000000000000000 3606701520100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011010110001000000000000000000000000000000000000000000000 3606701520200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000 3606701530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111000011000000000000000000000000000000000000000000000 3606701540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000 3606701550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011010010001010000000000000000000000000000000000000000000000 3606701560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000010000010011100000000000000000000000000000000000000000000000 3606701570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001010000100000000000001000000000000000000000000000000 3606701580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000001011100000000111000000000000000000000000000000 3606701590000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101111000000000000000000000000000000000000000 3606701600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000110001110000100000000000000000000000000000000 3606701610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011100000110000000000000000000000000000000000000000000000000000101000000000110010000000000000000000000000000000000000000 3606701620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010110000000000000000000000000000000000000000000000000000000000000000010101000000000000000000000000000000000000000 3606701630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110000000010010000000000000000000000000000000000000000000000000000000000000000000011010100000000000000000000000000000000000000 3606701640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000100100001100000000000000000000000000001001000000000000000000000000000000000000000 3606701650100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010100000000000000000000000000000000000001000001011100000000000000000000000000000000 3606701650200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000 3606701660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000 3606701670000000000000000000000000000000000000000000000000000000000000001100000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000010101000000000000000000000000000000000 3606701680100000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010010110000000000000000000000000000000 3606701680200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101000010001010000000000000000000000000000000 3606701690100000000000000000000000000000000000000000000000000000000000000000000000000000000001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000001101000000000000000000000000000000 3606701690200000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000010010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100000000000010000000000000000000000000000000 3610702010000000000000000000000111000000000000000000000000000000000000000000000000000000000000000000010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000000000000000000001000 3610702020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101001100000000000000000001000 3610702030000000000000000000000001000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110011000000000000000000000000 3610702040000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000000000000000000000 3610702050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001101000000000000000000000000 3610702060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011110100000000000000000000000 3610702070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001000000000000000000001100 3610999010000000000000000000000000000000000000000000000000000000000000000000000001000000000000001000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000010000 3610999020000000000000000000000000000000000000000000000000000000000000000000000001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010110000000000000010000 3610999030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010000000000000010011 3610999040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100010000000000000010 3610999050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000100 3610999060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010010011000000000 3610999070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010101110000000000011 3610999080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010100000000100001 3610999090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011011000101100000 3610999100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110101110000000000 3610999110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110100100000000 3610999120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011011100000000 3610999130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100010101100000000 3610999140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100000110100001100 3610999150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101111011001000 3610999160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101101000 3610999170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000110100000 3610999180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100000011011001 3610999190000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011100000000000000101001 3610999200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110000100000000000001110110100 3610999210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100001000000001000001000 3610999220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110010000000000000001 3610999230000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100011000000000110010spdep/inst/etc/misc/geary_eire.txt0000644000176200001440000000362411716033162016731 0ustar liggesusers"serlet" "county" "pagval2_10" "pagval10_50" "pagval50p" "cowspacre" "ocattlepacre" "pigspacre" "sheeppacre" "townvillp" "carspcap" "radiopcap" "retailpcap" "psinglem30_34" "rainfall" "A" "Carlow" 31.8 46.9 21.3 67 252 56 531 40.2 43 169 66 60.3 945.4 "B" "Cavan" 40.1 56 3.9 99 231 97 56 17.3 26 56 49 73.4 970.7 "C" "Clare" 38.8 54.4 6.8 110 285 32 116 24.4 22 67 28 68.3 1145.4 "D" "Cork" 33.2 50.4 16.4 146 256 137 148 52.6 38 130 66 60.1 1204 "E" "Donegal" 69.8 25.9 4.2 102 248 22 463 18.9 21 80 45 62.4 1338 "F" "Dublin" 41.2 33.4 25.4 108 268 110 236 94.8 49 185 117 40.8 NA "G" "Galway" 45.7 50.9 3.4 69 239 44 801 28.1 22 87 40 69.1 1144 "H" "Kerry" 51.4 45.1 3.5 194 283 84 354 26.7 20 76 41 68.2 1413.6 "I" "Kildare" 34 41.5 24.5 52 290 28 184 29.2 40 123 54 53.5 765.1 "J" "Kilkenny" 25 50.6 24.4 91 283 63 157 31.1 41 82 45 64.8 951.9 "K" "Laoghis" 32.7 51.7 15.6 69 269 54 87 26.7 38 121 46 67.2 908.7 "L" "Leitrim" 60.2 38.4 1.4 102 231 37 84 13.7 20 70 29 73.4 1237.7 "M" "Limerick" 33.3 47.5 19.2 181 277 68 36 48.2 32 158 53 55.2 1087.6 "N" "Longford" 40.4 51.8 7.8 74 290 49 75 21.3 32 111 44 68.6 989.75 "O" "Louth" 36 48.2 15.8 69 285 55 204 63 37 200 78 51 887.05 "P" "Mayo" 68 30.8 1.2 97 289 50 393 18.5 17 84 37 67.4 1290.75 "Q" "Meath" 32 48.8 19.2 55 351 23 252 17.5 49 116 53 62.1 826.15 "R" "Monaghan" 31.8 61.9 6.3 85 235 101 39 24.6 32 80 70 69.7 935.4 "S" "Offaly" 31.2 55.7 13.1 55 262 50 112 35.6 33 110 55 65.2 892.45 "T" "Roscommon" 44.6 51.7 3.7 66 275 24 299 13.2 22 115 28 74.9 1063.75 "U" "Sligo" 48.9 48.1 3 92 266 30 205 29.7 24 102 42 67 1104.4 "V" "Tipperary" 28.3 52.1 19.6 107 312 52 140 36.5 41 127 56 62.8 978.7 "W" "Waterford" 34.3 39.1 26.6 122 292 96 199 56.4 41 164 74 54.6 1124 "X" "Westmeath" 28.4 54.4 17.2 43 323 25 188 35.8 37 157 57 56.9 954.5 "Y" "Wexford" 27 52.1 20.8 64 219 68 288 34.6 34 122 66 56.4 1052.3 "Z" "Wicklow" 34.7 46.3 19 79 212 44 528 49.8 36 102 65 50.4 1212.45 spdep/inst/etc/misc/nc_xtra.dbf0000644000176200001440000002542111716033162016167 0ustar liggesusers_dlCNTY_IDN eastN northN L_idNM_idNnamesC 1825.000000000000 164.0000000000000 176.0000000000000 1.000000000000000 2.000000000000000Ashe 1827.000000000000 183.0000000000000 182.0000000000000 1.000000000000000 2.000000000000000Alleghany 1828.000000000000 204.0000000000000 174.0000000000000 1.000000000000000 2.000000000000000Surry 1831.000000000000 461.0000000000000 182.0000000000000 1.000000000000000 4.000000000000000Currituck 1832.000000000000 385.0000000000000 176.0000000000000 1.000000000000000 4.000000000000000Northampton 1833.000000000000 411.0000000000000 176.0000000000000 1.000000000000000 4.000000000000000Hertford 1834.000000000000 453.0000000000000 173.0000000000000 1.000000000000000 4.000000000000000Camden 1835.000000000000 421.0000000000000 177.0000000000000 1.000000000000000 4.000000000000000Gates 1836.000000000000 344.0000000000000 177.0000000000000 1.000000000000000 3.000000000000000Warren 1837.000000000000 233.0000000000000 175.0000000000000 1.000000000000000 2.000000000000000Stokes 1838.000000000000 281.0000000000000 175.0000000000000 1.000000000000000 3.000000000000000Caswell 1839.000000000000 257.0000000000000 173.0000000000000 1.000000000000000 3.000000000000000Rockingham 1840.000000000000 322.0000000000000 171.0000000000000 1.000000000000000 3.000000000000000Granville 1841.000000000000 302.0000000000000 173.0000000000000 1.000000000000000 3.000000000000000Person 1842.000000000000 332.0000000000000 172.0000000000000 1.000000000000000 3.000000000000000Vance 1846.000000000000 376.0000000000000 171.0000000000000 1.000000000000000 4.000000000000000Halifax 1848.000000000000 451.0000000000000 172.0000000000000 1.000000000000000 4.000000000000000Pasquotank 1874.000000000000 181.0000000000000 157.0000000000000 1.000000000000000 2.000000000000000Wilkes 1880.000000000000 151.0000000000000 162.0000000000000 1.000000000000000 2.000000000000000Watauga 1881.000000000000 437.0000000000000 163.0000000000000 1.000000000000000 4.000000000000000Perquimans 1887.000000000000 428.0000000000000 154.0000000000000 1.000000000000000 4.000000000000000Chowan 1892.000000000000 138.0000000000000 154.0000000000000 1.000000000000000 2.000000000000000Avery 1893.000000000000 208.0000000000000 156.0000000000000 1.000000000000000 2.000000000000000Yadkin 1897.000000000000 337.0000000000000 155.0000000000000 1.000000000000000 3.000000000000000Franklin 1900.000000000000 233.0000000000000 153.0000000000000 1.000000000000000 2.000000000000000Forsyth 1903.000000000000 258.0000000000000 150.0000000000000 1.000000000000000 3.000000000000000Guilford 1904.000000000000 278.0000000000000 151.0000000000000 1.000000000000000 3.000000000000000Alamance 1905.000000000000 411.0000000000000 148.0000000000000 1.000000000000000 4.000000000000000Bertie 1907.000000000000 294.0000000000000 151.0000000000000 1.000000000000000 3.000000000000000Orange 1908.000000000000 306.0000000000000 146.0000000000000 1.000000000000000 3.000000000000000Durham 1913.000000000000 354.0000000000000 146.0000000000000 1.000000000000000 3.000000000000000Nash 1927.000000000000 128.0000000000000 148.0000000000000 2.000000000000000 1.000000000000000Mitchell 1928.000000000000 378.0000000000000 142.0000000000000 2.000000000000000 4.000000000000000Edgecombe 1932.000000000000 158.0000000000000 142.0000000000000 2.000000000000000 2.000000000000000Caldwell 1936.000000000000 120.0000000000000 142.0000000000000 2.000000000000000 1.000000000000000Yancey 1937.000000000000 405.0000000000000 139.0000000000000 2.000000000000000 4.000000000000000Martin 1938.000000000000 319.0000000000000 133.0000000000000 2.000000000000000 3.000000000000000Wake 1946.000000000000 98.0000000000000 135.0000000000000 2.000000000000000 1.000000000000000Madison 1947.000000000000 195.0000000000000 132.0000000000000 2.000000000000000 2.000000000000000Iredell 1948.000000000000 213.0000000000000 139.0000000000000 2.000000000000000 2.000000000000000Davie 1950.000000000000 179.0000000000000 142.0000000000000 2.000000000000000 2.000000000000000Alexander 1951.000000000000 231.0000000000000 133.0000000000000 2.000000000000000 2.000000000000000Davidson 1958.000000000000 150.0000000000000 130.0000000000000 2.000000000000000 2.000000000000000Burke 1962.000000000000 422.0000000000000 139.0000000000000 2.000000000000000 4.000000000000000Washington 1963.000000000000 450.0000000000000 144.0000000000000 2.000000000000000 4.000000000000000Tyrrell 1964.000000000000 133.0000000000000 127.0000000000000 2.000000000000000 1.000000000000000McDowell 1968.000000000000 256.0000000000000 126.0000000000000 2.000000000000000 3.000000000000000Randolph 1973.000000000000 291.0000000000000 127.0000000000000 2.000000000000000 3.000000000000000Chatham 1979.000000000000 358.0000000000000 128.0000000000000 2.000000000000000 3.000000000000000Wilson 1980.000000000000 218.0000000000000 124.0000000000000 2.000000000000000 2.000000000000000Rowan 1984.000000000000 387.0000000000000 121.0000000000000 2.000000000000000 4.000000000000000Pitt 1986.000000000000 177.0000000000000 125.0000000000000 2.000000000000000 2.000000000000000Catawba 1988.000000000000 104.0000000000000 121.0000000000000 2.000000000000000 1.000000000000000Buncombe 1989.000000000000 335.0000000000000 114.0000000000000 2.000000000000000 3.000000000000000Johnston 1996.000000000000 80.0000000000000 116.0000000000000 2.000000000000000 1.000000000000000Haywood 2000.000000000000 482.0000000000000 145.0000000000000 2.000000000000000 4.000000000000000Dare 2004.000000000000 406.0000000000000 118.0000000000000 2.000000000000000 4.000000000000000Beaufort 2013.000000000000 53.0000000000000 113.0000000000000 2.000000000000000 1.000000000000000Swain 2016.000000000000 371.0000000000000 111.0000000000000 2.000000000000000 4.000000000000000Greene 2026.000000000000 292.0000000000000 109.0000000000000 2.000000000000000 3.000000000000000Lee 2027.000000000000 136.0000000000000 104.0000000000000 3.000000000000000 1.000000000000000Rutherford 2029.000000000000 353.0000000000000 106.0000000000000 2.000000000000000 3.000000000000000Wayne 2030.000000000000 309.0000000000000 105.0000000000000 2.000000000000000 3.000000000000000Harnett 2032.000000000000 158.0000000000000 99.0000000000000 3.000000000000000 2.000000000000000Cleveland 2034.000000000000 174.0000000000000 111.0000000000000 3.000000000000000 2.000000000000000Lincoln 2039.000000000000 67.0000000000000 108.0000000000000 3.000000000000000 1.000000000000000Jackson 2040.000000000000 278.0000000000000 101.0000000000000 3.000000000000000 3.000000000000000Moore 2041.000000000000 198.0000000000000 95.0000000000000 3.000000000000000 2.000000000000000Mecklenburg 2042.000000000000 211.0000000000000 105.0000000000000 3.000000000000000 2.000000000000000Cabarrus 2044.000000000000 251.0000000000000 102.0000000000000 3.000000000000000 3.000000000000000Montgomery 2045.000000000000 234.0000000000000 103.0000000000000 3.000000000000000 2.000000000000000Stanly 2047.000000000000 109.0000000000000 101.0000000000000 3.000000000000000 1.000000000000000Henderson 2056.000000000000 32.0000000000000 107.0000000000000 3.000000000000000 1.000000000000000Graham 2065.000000000000 377.0000000000000 98.0000000000000 3.000000000000000 4.000000000000000Lenoir 2067.000000000000 93.0000000000000 97.0000000000000 3.000000000000000 1.000000000000000Transylvania 2068.000000000000 178.0000000000000 96.0000000000000 3.000000000000000 2.000000000000000Gaston 2071.000000000000 123.0000000000000 97.0000000000000 3.000000000000000 1.000000000000000Polk 2082.000000000000 55.0000000000000 96.0000000000000 3.000000000000000 1.000000000000000Macon 2083.000000000000 336.0000000000000 79.0000000000000 3.000000000000000 3.000000000000000Sampson 2085.000000000000 423.0000000000000 90.0000000000000 3.000000000000000 4.000000000000000Pamlico 2088.000000000000 19.0000000000000 92.0000000000000 3.000000000000000 1.000000000000000Cherokee 2090.000000000000 308.0000000000000 83.0000000000000 3.000000000000000 3.000000000000000Cumberland 2091.000000000000 389.0000000000000 84.0000000000000 3.000000000000000 4.000000000000000Jones 2095.000000000000 214.0000000000000 76.0000000000000 3.000000000000000 2.000000000000000Union 2096.000000000000 240.0000000000000 75.0000000000000 3.000000000000000 2.000000000000000Anson 2097.000000000000 289.0000000000000 75.0000000000000 3.000000000000000 3.000000000000000Hoke 2099.000000000000 446.0000000000000 110.0000000000000 2.000000000000000 4.000000000000000Hyde 2100.000000000000 355.0000000000000 76.0000000000000 3.000000000000000 3.000000000000000Duplin 2107.000000000000 259.0000000000000 72.0000000000000 3.000000000000000 2.000000000000000Richmond 2109.000000000000 31.0000000000000 88.0000000000000 3.000000000000000 1.000000000000000Clay 2119.000000000000 407.0000000000000 88.0000000000000 3.000000000000000 4.000000000000000Craven 2123.000000000000 276.0000000000000 61.0000000000000 3.000000000000000 3.000000000000000Scotland 2146.000000000000 384.0000000000000 66.0000000000000 3.000000000000000 4.000000000000000Onslow 2150.000000000000 302.0000000000000 51.0000000000000 4.000000000000000 3.000000000000000Robeson 2156.000000000000 429.0000000000000 62.0000000000000 3.000000000000000 4.000000000000000Carteret 2162.000000000000 321.0000000000000 53.0000000000000 4.000000000000000 3.000000000000000Bladen 2185.000000000000 357.0000000000000 48.0000000000000 4.000000000000000 3.000000000000000Pender 2232.000000000000 316.0000000000000 33.0000000000000 4.000000000000000 3.000000000000000Columbus 2238.000000000000 357.0000000000000 26.0000000000000 4.000000000000000 3.000000000000000New Hanover 2241.000000000000 353.0000000000000 6.0000000000000 4.000000000000000 3.000000000000000Brunswick spdep/inst/etc/misc/nydata.dbf0000644000176200001440000012417211716033162016014 0ustar liggesusershAREANAMECAREAKEYC XN YN POP8N TRACTCASN PROPCASN PCTOWNHOMENPCTAGE65PN ZN AVGIDISTN PEXPOSUREN Binghamton city 36007000100 4.069397 -67.353300 3540 3.08 0.000870 0.32773109 0.14661017 0.14197 0.2373852 3.167099 Binghamton city 36007000200 4.639371 -66.861900 3560 4.08 0.001146 0.42682927 0.23511236 0.35555 0.2087413 3.038511 Binghamton city 36007000300 5.709063 -66.977500 3739 1.09 0.000292 0.33773959 0.13800481 -0.58165 0.1708548 2.838229 Binghamton city 36007000400 7.613831 -65.995800 2784 1.07 0.000384 0.46160483 0.11889368 -0.29634 0.1406045 2.643366 Binghamton city 36007000500 7.315968 -67.318300 2571 3.06 0.001190 0.19243697 0.14157915 0.45689 0.1577753 2.758587 Binghamton city 36007000600 8.558753 -66.934400 2729 1.06 0.000388 0.36517857 0.14107732 -0.28123 0.1726033 2.848411 Binghamton city 36007000700 9.206733 -67.178900 3952 2.09 0.000529 0.66645649 0.23076923 -0.24605 0.1912999 2.951257 Binghamton city 36007000800 10.180400 -66.878500 993 0.02 0.000020 0.66666667 0.27895267 0.02683 0.1975434 2.983373 Binghamton city 36007000900 8.698229 -68.306800 1908 2.04 0.001069 0.45945946 0.17243187 0.46580 0.2147627 3.066949 Binghamton city 36007001000 7.404720 -68.078100 948 0.02 0.000021 0.16563147 0.17932489 0.07320 0.1730127 2.850780 Binghamton city 36007001100 7.335256 -68.351000 1172 1.03 0.000879 0.06489676 0.34385666 0.54932 0.1762413 2.869269 Binghamton city 36007001200 6.644036 -67.644200 1047 3.02 0.002884 0.04473161 0.39828080 1.34535 0.1504141 2.710807 Binghamton city 36007001300 5.556064 -67.777800 3138 5.07 0.001616 0.12128869 0.22498407 0.65977 0.1746325 2.860099 Binghamton city 36007001400 5.402585 -68.524900 5485 4.13 0.000753 0.31862554 0.16554239 -0.06691 0.1754056 2.864516 Binghamton city 36007001500 3.892094 -68.165800 5554 6.13 0.001104 0.69251701 0.19391430 0.24979 0.2410516 3.182426 Binghamton city 36007001600 4.319833 -69.592800 2943 2.07 0.000703 0.71265306 0.18824329 0.04225 0.1973975 2.982634 Binghamton city 36007001700 6.725975 -69.762500 4969 5.12 0.001030 0.52272727 0.16502314 0.20834 0.1795531 2.887886 Binghamton city 36007001800 8.340896 -68.802700 4828 4.11 0.000851 0.48472076 0.12531069 0.05677 0.2175764 3.079965 36007011901 4.319295 -40.067000 2618 0.06 0.000023 0.74451273 0.12375859 -0.90414 0.0363807 1.291453 Barker town 36007011902 5.887851 -48.611600 2244 0.05 0.000022 0.80789200 0.10962567 -0.75947 0.0511985 1.633125 36007011903 -3.922000 -39.101900 2039 1.05 0.000515 0.75586354 0.11280039 0.00538 0.0355389 1.268043 Nanticoke town 36007012001 -3.473200 -53.636900 1425 0.03 0.000021 0.82253086 0.09333333 -0.32461 0.0716488 1.969191 Maine town 36007012002 -4.242770 -57.959600 5262 1.12 0.000213 0.82923300 0.10357279 -0.90910 0.1031666 2.333760 Chenango town 36007012101 10.472120 -59.754400 4126 1.10 0.000267 0.83989994 0.10155114 -0.67537 0.0836743 2.124347 Chenango town 36007012102 10.428730 -60.769800 4133 2.10 0.000508 0.86852332 0.14444713 -0.28760 0.0913189 2.211773 Chenango town 36007012103 6.029073 -60.331900 3974 1.09 0.000274 0.74836601 0.12078510 -0.64261 0.1084072 2.383309 Fenton town 36007012201 9.294480 -63.504200 3036 4.07 0.001341 0.83960573 0.16699605 0.51280 0.1171085 2.460516 Fenton town 36007012202 15.301240 -57.990100 4364 2.10 0.000481 0.84592853 0.10747021 -0.34199 0.0713318 1.964757 Colesville town 36007012300 28.532760 -59.213100 4965 1.12 0.000226 0.76789168 0.11440081 -0.85100 0.0483551 1.575987 36007012400 44.542060 -71.661400 2635 1.06 0.000402 0.51414427 0.14345351 -0.24618 0.0315198 1.148031 36007012500 26.200250 -70.753100 5911 7.14 0.001208 0.71169126 0.10049061 0.31998 0.0717044 1.969967 Kirkwood town 36007012600 14.651170 -70.153200 5834 1.14 0.000195 0.69666667 0.11055879 -1.00290 0.3286663 3.492458 Conklin town 36007012701 13.633310 -73.304000 6204 5.15 0.000830 0.81744681 0.10477112 -0.00874 0.4709193 3.852102 Binghamton town 36007012702 5.520235 -71.255800 5007 1.12 0.000224 0.86677722 0.10045936 -0.85942 0.1545722 2.738076 36007012800 6.219888 -64.636100 5594 5.13 0.000917 0.69053340 0.19735431 0.09150 0.1459107 2.680410 Remainder of Union to36007012900 2.293600 -63.134100 1198 0.03 0.000025 0.87654321 0.12186978 -0.15109 0.2114173 3.051249 36007013000 -1.307450 -65.936300 5088 7.12 0.001399 0.80341880 0.12952044 0.46745 0.5837379 4.066867 Endwell CDP 36007013100 -3.056280 -67.420800 3107 4.07 0.001310 0.48835568 0.17122626 0.48968 0.6982367 4.245973 Endwell CDP 36007013201 -3.227690 -66.656000 2851 0.07 0.000025 0.83397683 0.19572080 -0.98001 0.6285244 4.140790 Endwell CDP 36007013202 -3.375890 -66.133800 3725 3.09 0.000830 0.66753756 0.15167785 0.09348 0.5348328 3.979369 Remainder of Union to36007013301 -7.735480 -68.314300 5505 4.13 0.000750 0.64386401 0.14677566 -0.07055 0.3000872 3.401488 36007013302 -6.265100 -66.089400 8122 0.19 0.000023 0.80853696 0.08483132 -1.92062 0.4204110 3.738648 Endicott village 36007013400 -4.847920 -67.157600 5146 7.12 0.001384 0.55847374 0.18480373 0.45611 1.6110580 5.082061 Endicott village 36007013500 -4.787550 -67.943200 2143 2.05 0.000957 0.21824687 0.13439104 0.35293 2.3136980 5.444017 Endicott village 36007013600 -6.278310 -68.079000 3912 0.09 0.000023 0.34959350 0.16180982 -1.27787 0.5380680 3.985400 36007013700 -5.496180 -68.645400 3256 6.08 0.001867 0.38402556 0.15571253 0.77677 0.6994775 4.247749 Johnson City village 36007013800 3.105871 -65.587300 3909 5.09 0.001302 0.64470588 0.24814531 0.44337 0.2762439 3.318699 Johnson City village 36007013900 2.420355 -66.550900 3106 1.07 0.000344 0.24296500 0.16580811 -0.40579 0.3789438 3.634803 Johnson City village 36007014000 2.738942 -67.014400 3433 5.08 0.001480 0.33943218 0.14244101 0.57157 0.3467055 3.545891 Johnson City village 36007014100 2.645936 -67.673100 4048 1.09 0.000269 0.69626454 0.24678854 -0.66106 0.3536678 3.565773 Johnson City village 36007014200 1.476446 -65.563100 2630 3.06 0.001163 0.56200717 0.28859316 0.43420 0.4360331 3.775133 Vestal town 36007014300 0.727703 -69.438500 12221 9.29 0.000760 0.59335490 0.10940185 -0.17198 0.4149177 3.725495 Vestal town 36007014400 -4.198440 -69.328800 5963 6.14 0.001030 0.81479758 0.15680027 0.18014 0.5880202 4.074176 Vestal town 36007014500 -7.078450 -71.145700 3857 3.09 0.000801 0.82983051 0.12678247 0.05866 0.2292714 3.132321 Vestal town 36007014600 -2.692940 -75.290700 5197 2.12 0.000408 0.88006151 0.09120647 -0.51025 0.1274757 2.545341 36011990100 -50.242660 36.814220 10494 3.85 0.000367 0.53651177 0.03220888 -0.77182 0.0774664 2.047259 36011990200 -48.712970 54.251700 3571 0.63 0.000176 0.75925926 0.09073089 -0.78427 0.0334488 1.207431 36011990300 -44.846250 48.833550 1322 0.23 0.000174 0.53837209 0.10514372 -0.07213 0.0408722 1.407865 36011990400 -51.983730 50.332530 2235 0.39 0.000174 0.68436578 0.10335570 -0.47494 0.0377985 1.329684 36011990500 -54.284120 36.220380 3905 1.68 0.000430 0.77628032 0.10166453 -0.37644 0.0710564 1.960889 36011990600 -48.719440 35.411040 6501 1.14 0.000175 0.79873276 0.12659591 -1.11115 0.0894158 2.190712 36011990700 -45.505800 26.447750 5163 4.90 0.000949 0.64541833 0.20491962 0.13343 0.4356652 3.774289 36011990800 -44.248820 23.499800 6021 2.05 0.000340 0.83198294 0.16591928 -0.68011 0.3954907 3.677542 Auburn city 36011990900 -46.511120 26.099860 7398 8.30 0.001122 0.52643909 0.18748310 0.22880 0.5980061 4.091016 Auburn city 36011991100 -47.854830 24.276100 5200 6.91 0.001329 0.29884527 0.20826923 0.41947 0.7909920 4.370703 36011991200 -53.546110 21.136590 5616 1.99 0.000354 0.72079387 0.15883191 -0.63035 0.1300841 2.565596 Auburn city 36011991300 -46.273600 24.647950 6810 7.20 0.001057 0.53467481 0.15462555 0.18574 2.5479120 5.540444 36011991400 -55.482300 9.898760 2919 3.52 0.001206 0.59112903 0.11579308 0.43727 0.0587167 1.770139 36011991500 -45.277970 11.980400 1765 0.30 0.000170 0.69082126 0.12747875 -0.30579 0.0798748 2.077875 36011991600 -32.888050 8.953600 3117 0.54 0.000173 0.59344059 0.12961181 -0.70509 0.0483630 1.576150 36011991700 -30.870300 -2.613520 4278 0.75 0.000175 0.71217105 0.12973352 -0.89387 0.0848385 2.138164 36011991800 -41.620000 -4.037100 1817 3.32 0.001827 0.72237960 0.09851403 0.86607 0.0654077 1.878055 36011991900 -51.201900 -0.780833 1762 0.31 0.000176 0.55764706 0.11918275 -0.29642 0.0401876 1.390973 36017990100 42.713430 -2.719575 5780 1.70 0.000294 0.66455946 0.13961938 -0.76115 0.0298001 1.091927 36017990200 21.226030 -11.683570 4189 0.51 0.000122 0.61501444 0.12270232 -1.02035 0.0752472 2.018194 Norwich city 36017990300 38.317830 -20.558630 4141 4.50 0.001087 0.44871795 0.16131369 0.28381 0.0307255 1.122508 Norwich city 36017990400 38.701070 -19.447730 3941 5.48 0.001391 0.49531616 0.22278609 0.49729 0.0308586 1.126830 36017990500 46.626130 -14.208100 5802 4.70 0.000810 0.70976563 0.14977594 -0.01774 0.0261390 0.960843 36017990600 37.768750 -23.729450 7710 2.94 0.000381 0.71636152 0.15162127 -0.67134 0.0297322 1.089646 36017990700 21.514300 -28.347800 2376 1.29 0.000543 0.63992537 0.13804714 -0.03687 0.0390229 1.361564 36017990800 32.135180 -41.099450 7278 2.88 0.000396 0.66543892 0.12682056 -0.62902 0.0273473 1.006033 36017990900 31.607270 -49.283730 8127 3.99 0.000491 0.66980118 0.13178295 -0.48776 0.0336395 1.213116 36023990100 1.861683 -16.601300 5532 3.35 0.000606 0.67874396 0.12310195 -0.24037 0.0763459 2.032689 36023990200 -10.903400 -0.587667 2592 1.16 0.000448 0.73604061 0.11033951 -0.18232 0.0592638 1.779414 36023990300 -17.985870 -1.507967 5653 6.34 0.001122 0.71335505 0.10631523 0.26115 0.0719318 1.973133 36023990400 -18.630430 -12.635130 5105 7.31 0.001432 0.63873160 0.10714985 0.48724 0.3616159 3.587998 36023990500 -18.906300 -11.308670 4421 2.27 0.000513 0.43769799 0.15222800 -0.30158 0.2460913 3.203118 Cortland city 36023990600 -15.729770 -12.060070 3242 2.20 0.000679 0.27805801 0.19956817 -0.01304 0.2136221 3.061623 36023990700 -12.310400 -10.785570 2921 8.17 0.002797 0.67207207 0.17904827 1.14401 0.1228085 2.508041 36023990800 -6.136225 -23.354420 3711 5.23 0.001409 0.62443439 0.10185934 0.51807 0.0659010 1.885569 36023990900 -15.148170 -16.949930 4855 1.30 0.000268 0.45516903 0.13305870 -0.74710 0.2380780 3.170013 36023991000 -19.259950 -13.128980 6438 7.40 0.001149 0.60718711 0.08123641 0.26601 0.4440906 3.793444 36023991100 -18.944270 -22.815470 4350 4.27 0.000982 0.75747508 0.10298851 0.19185 0.1342988 2.597482 Oneida city 36053030101 26.364750 41.437700 5170 2.48 0.000480 0.45887446 0.06499033 -0.39584 0.0199027 0.688270 Oneida city 36053030102 27.552200 40.654570 2940 3.28 0.001116 0.53289183 0.35748299 0.37554 0.0200280 0.694546 Oneida city 36053030103 26.372900 41.236370 2700 0.25 0.000093 0.73441994 0.13629630 -0.77011 0.0199769 0.691992 36053030200 18.846250 45.412900 3766 0.35 0.000093 0.68702734 0.11656930 -1.02591 0.0191885 0.651726 Canastota village 36053030300 18.898330 41.543730 4773 0.44 0.000092 0.56837161 0.15482925 -1.19833 0.0206926 0.727191 Remainder of Sullivan36053030401 7.169000 48.289500 6557 2.60 0.000397 0.77498277 0.09775812 -0.59960 0.0184667 0.613384 36053030402 10.795300 38.082600 2519 0.23 0.000091 0.84705882 0.09210004 -0.71685 0.0227645 0.822617 36053030403 8.497000 38.279170 4295 1.39 0.000324 0.74823529 0.11105937 -0.58616 0.0226724 0.818563 Cazenovia village 36053030501 10.823500 24.177200 2599 3.24 0.001247 0.56180905 0.14736437 0.48944 0.0332935 1.202777 36053030502 11.160900 23.460800 3281 4.30 0.001311 0.79084967 0.11886620 0.47956 0.0340833 1.226222 36053030600 23.025020 31.969800 6250 2.58 0.000413 0.76685515 0.08832000 -0.55722 0.0248725 0.911178 36053030700 24.095970 19.087170 6677 0.62 0.000093 0.55148741 0.09689981 -1.41624 0.0345179 1.238893 36053030800 16.640130 8.842700 3245 4.30 0.001325 0.57415128 0.11833590 0.49059 0.0609856 1.808053 Hamilton village 36053030900 36.296050 13.316250 3725 1.34 0.000360 0.47180667 0.08644295 -0.46492 0.0302201 1.105922 36053031000 39.356230 14.481430 4616 1.43 0.000310 0.68356164 0.15294627 -0.64164 0.0275709 1.014176 Brookfield town 36053031100 53.508600 10.263800 2037 0.19 0.000093 0.70674157 0.13156603 -0.53752 0.0212569 0.754096 Syracuse city 36067000100 -15.326400 40.508300 9 0.00 0.000000 0.50000000 0.33333333 4.71053 0.0284377 1.045131 Syracuse city 36067000200 -13.793000 41.011340 3704 4.06 0.001096 0.42086113 0.14767819 0.31195 0.0272041 1.000783 Syracuse city 36067000300 -12.939200 41.735450 1702 0.02 0.000012 0.71026723 0.19858989 -0.51200 0.0264210 0.971574 Syracuse city 36067000400 -12.226260 41.263700 4193 3.06 0.000730 0.70113568 0.21321250 -0.03223 0.0261271 0.960388 Syracuse city 36067000500 -13.905850 40.029300 1401 1.02 0.000728 0.20088626 0.11634547 0.36591 0.0276053 1.015423 Syracuse city 36067000600 -13.350670 40.455730 3268 2.05 0.000627 0.29598562 0.18206854 -0.06904 0.0270930 0.996690 Syracuse city 36067000700 -12.758350 40.441650 1612 0.02 0.000012 0.44113667 0.16997519 -0.45767 0.0267106 0.982475 Syracuse city 36067000800 -12.146800 40.363870 2705 4.04 0.001494 0.50389610 0.14602588 0.62230 0.0263440 0.968655 Syracuse city 36067000900 -11.244440 40.312380 3927 2.06 0.000525 0.64783180 0.15762669 -0.24946 0.0258004 0.947805 Syracuse city 36067001000 -9.848500 40.709350 4330 6.07 0.001402 0.33572389 0.18614319 0.49029 0.0248783 0.911411 Syracuse city 36067001100 -14.693800 39.499100 143 1.00 0.006993 0.32258065 0.19580420 2.63806 0.0283401 1.041693 Syracuse city 36067001200 -13.916600 39.116600 99 0.00 0.000000 0.12359551 0.50505051 2.31264 0.0279084 1.026343 Syracuse city 36067001300 -13.303500 39.395300 1475 0.02 0.000014 0.11441308 0.10576271 -0.36886 0.0273935 1.007721 Syracuse city 36067001400 -12.970300 39.857730 2766 3.05 0.001103 0.31541502 0.16160521 0.38131 0.0270273 0.994262 Syracuse city 36067001500 -12.276370 39.572800 2636 4.04 0.001533 0.32194705 0.11987860 0.64814 0.0266556 0.980414 Syracuse city 36067001600 -12.173200 38.934250 3132 3.04 0.000971 0.04375932 0.36143040 0.25457 0.0267684 0.984637 Syracuse city 36067001701 -11.108700 39.122950 2603 5.04 0.001936 0.42324003 0.13215521 0.84174 0.0260332 0.956788 Syracuse city 36067001702 -10.518960 39.399600 2973 1.04 0.000350 0.57048093 0.15270770 -0.37662 0.0255996 0.939992 Syracuse city 36067001800 -9.808850 39.762000 3156 0.04 0.000013 0.54763636 0.16096324 -1.11008 0.0250891 0.919848 Syracuse city 36067001900 -8.752320 39.838520 4807 1.08 0.000225 0.65802348 0.17807364 -0.83771 0.0244714 0.894920 Syracuse city 36067002000 -16.722630 38.980000 2587 2.05 0.000792 0.46503497 0.15500580 0.16464 0.0300916 1.101661 Syracuse city 36067002100 -15.217470 38.544470 1997 3.03 0.001517 0.30290873 0.18027041 0.70212 0.0290609 1.066809 Syracuse city 36067002200 -14.159300 38.501300 1211 2.02 0.001668 0.20292208 0.12386457 0.91381 0.0282797 1.039559 Syracuse city 36067002300 -12.995980 38.885300 2549 1.04 0.000408 0.08513425 0.14986269 -0.22275 0.0273364 1.005634 Syracuse city 36067002400 -11.893330 38.702400 2231 0.03 0.000013 0.20945946 0.08381892 -0.77289 0.0266477 0.980118 Syracuse city 36067002700 -16.456800 38.263670 2225 3.03 0.001362 0.37798165 0.16224719 0.59401 0.0301514 1.103646 Syracuse city 36067002800 -16.374750 37.649300 2291 0.03 0.000013 0.56161396 0.16673942 -0.79943 0.0303126 1.108978 Syracuse city 36067002900 -15.443700 38.028050 1189 0.01 0.000008 0.38416988 0.14886459 -0.16316 0.0294166 1.078974 Syracuse city 36067003000 -14.123850 37.801230 2621 2.04 0.000778 0.15099715 0.13315528 0.14830 0.0284729 1.046368 Syracuse city 36067003100 -13.362570 38.133830 914 2.01 0.002199 0.00264550 0.14660832 1.19186 0.0278151 1.022994 Syracuse city 36067003200 -12.742850 37.938600 1409 0.02 0.000014 0.00306435 0.10929737 -0.32308 0.0274329 1.009158 Syracuse city 36067003300 -12.223750 38.122400 1268 0.02 0.000016 0.00787402 0.04100946 -0.21764 0.0270250 0.994177 Syracuse city 36067003400 -11.479400 37.992250 1437 0.03 0.000021 0.11848341 0.04175365 -0.33300 0.0265617 0.976885 Syracuse city 36067003500 -10.723730 37.937850 3359 2.06 0.000613 0.20523708 0.04674010 -0.09323 0.0260859 0.958810 Syracuse city 36067003601 -9.753000 38.180050 2662 2.04 0.000766 0.43848289 0.08302029 0.13278 0.0254266 0.933211 Syracuse city 36067003602 -8.704167 38.331600 2356 0.04 0.000017 0.47869447 0.08786078 -0.81774 0.0247738 0.907202 Syracuse city 36067003700 -15.727500 37.104900 503 1.01 0.002008 1.00000000 0.06560636 1.38530 0.0299643 1.097422 Syracuse city 36067003800 -15.397300 36.783000 2852 1.04 0.000365 0.37113402 0.14410940 -0.33507 0.0297983 1.091866 Syracuse city 36067003900 -14.469170 36.803500 5883 2.09 0.000355 0.16725559 0.05796362 -0.64390 0.0290436 1.066213 Syracuse city 36067004000 -13.953750 37.319250 2446 0.04 0.000016 0.13688213 0.06909240 -0.85523 0.0284912 1.047010 Syracuse city 36067004100 -13.265000 36.954000 717 1.02 0.001423 0.12676056 0.03068340 1.03578 0.0280820 1.032544 Syracuse city 36067004200 -12.722230 36.979130 2579 2.04 0.000791 0.02512563 0.08685537 0.16446 0.0276799 1.018121 Syracuse city 36067004300 -12.024030 37.259730 9393 4.14 0.000441 0.00837822 0.10688811 -0.60291 0.0271153 0.997513 Syracuse city 36067004400 -11.157500 36.576870 2193 2.03 0.000926 0.32645161 0.04696762 0.32329 0.0266907 0.981730 Syracuse city 36067004500 -10.470340 36.651340 4524 0.07 0.000015 0.45218894 0.07913351 -1.44174 0.0262187 0.963888 Syracuse city 36067004600 -8.877925 37.115030 5469 7.09 0.001296 0.75022104 0.23112086 0.39153 0.0251270 0.921358 Syracuse city 36067004800 -16.432830 35.814800 2014 1.02 0.000506 0.89618321 0.17229394 0.00297 0.0310136 1.131841 Syracuse city 36067004900 -15.426350 35.799450 1661 0.02 0.000012 0.74056604 0.13847080 -0.48762 0.0301366 1.103155 Syracuse city 36067005000 -14.753600 35.562650 3213 0.04 0.000012 0.68938740 0.09368192 -1.12798 0.0296418 1.086600 Syracuse city 36067005100 -13.920030 35.188600 3061 2.05 0.000670 0.47283531 0.08363280 -0.00360 0.0290653 1.066960 Syracuse city 36067005200 -13.832080 36.218180 3525 1.05 0.000298 0.28241123 0.06836879 -0.54204 0.0287160 1.054869 Syracuse city 36067005300 -12.851870 36.221530 3128 0.05 0.000016 0.17846461 0.08727621 -1.09160 0.0279730 1.028655 Syracuse city 36067005400 -12.633860 35.420820 4144 0.07 0.000017 0.33776596 0.06901544 -1.35400 0.0280111 1.030016 Syracuse city 36067005500 -11.764150 34.929950 2912 0.04 0.000014 0.20415058 0.32760989 -1.02962 0.0274847 1.011044 Syracuse city 36067005601 -10.616800 35.288270 1689 1.03 0.000610 0.79566982 0.19360568 0.18390 0.0266058 0.978544 Syracuse city 36067005602 -10.592300 34.676000 2720 0.04 0.000015 0.00082237 0.00404412 -0.96141 0.0267115 0.982509 Syracuse city 36067005700 -14.111130 34.357500 2670 5.04 0.001888 0.49821747 0.09925094 0.81633 0.0294362 1.079640 Syracuse city 36067005800 -13.321300 34.785270 3108 4.05 0.001303 0.48516579 0.06177606 0.48541 0.0286923 1.054044 Syracuse city 36067005900 -12.558170 34.582200 3072 0.04 0.000013 0.42344961 0.06347656 -1.08311 0.0281504 1.034976 Syracuse city 36067006000 -13.447250 32.917030 4149 2.06 0.000497 0.67842446 0.16992046 -0.30445 0.0292211 1.072306 Syracuse city 36067006101 -12.469330 33.387370 3635 3.05 0.000839 0.43945659 0.40880330 0.10811 0.0283395 1.041671 Syracuse city 36067006102 -11.562000 32.740000 2801 5.04 0.001799 0.04099936 0.41592288 0.76843 0.0277701 1.021375 Syracuse city 36067006103 -12.505750 31.784200 3097 0.04 0.000013 0.87975243 0.18469487 -1.09121 0.0286711 1.053305 36067010100 -4.890767 53.764000 2154 0.03 0.000014 0.79171742 0.11049211 -0.73777 0.0196111 0.673511 36067010200 -10.942670 56.410130 3290 1.04 0.000316 0.68237454 0.10638298 -0.47794 0.0208779 0.736106 Remainder of Cicero t36067010300 -9.833520 51.063680 5935 0.09 0.000015 0.78889990 0.09385004 -1.69469 0.0220266 0.789666 Remainder of Cicero t36067010400 -4.197150 49.536900 3095 2.04 0.000659 0.74600000 0.07528271 -0.01793 0.0202929 0.707686 Remainder of Cicero t36067010500 -9.487700 49.009200 2677 0.04 0.000015 0.90868095 0.06499813 -0.94548 0.0224651 0.809378 Remainder of Cicero t36067010600 -9.753850 47.072150 4443 0.06 0.000014 0.65757819 0.07157326 -1.43306 0.0231230 0.838243 North Syracuse villag36067010700 -10.953900 47.897050 2095 0.04 0.000019 0.66188769 0.12124105 -0.70033 0.0234317 0.851505 North Syracuse villag36067010800 -12.085350 47.577020 5875 2.09 0.000356 0.62472111 0.14076596 -0.64253 0.0240629 0.878086 Pitcher Hill CDP 36067010900 -13.100400 46.878800 3234 0.05 0.000015 0.90294957 0.14254793 -1.12493 0.0247980 0.908178 Remainder of Clay tow36067011001 -15.175400 47.154850 7914 3.12 0.000394 0.51532982 0.09312611 -0.65278 0.0257862 0.947254 36067011002 -13.057000 48.404300 4740 1.07 0.000226 0.73003630 0.09662447 -0.82849 0.0242543 0.886009 Bayberry-Lynelle Mead36067011101 -18.973370 48.401600 8140 1.12 0.000138 0.83733906 0.05528256 -1.34537 0.0273397 1.005755 Remainder of Clay tow36067011102 -18.418150 47.006550 4081 1.06 0.000260 0.09251769 0.04484195 -0.68364 0.0276933 1.018605 Remainder of Clay tow36067011201 -21.551850 51.780050 2668 0.04 0.000015 0.82491067 0.09707646 -0.94211 0.0269637 0.991906 Remainder of Clay tow36067011202 -20.175500 53.142200 1733 2.03 0.001171 0.87277830 0.04443162 0.55871 0.0256272 0.941069 36067011203 -18.852050 50.853270 6762 4.10 0.000606 0.85920215 0.05013310 -0.28208 0.0260986 0.959297 Remainder of Clay tow36067011204 -12.434080 51.044630 4889 0.08 0.000016 0.90969900 0.03231745 -1.51003 0.0230900 0.836815 Remainder of Clay tow36067011300 -18.051830 54.740920 2802 0.04 0.000014 0.75238095 0.08529622 -0.99111 0.0240163 0.876148 Remainder of Lysander36067011401 -24.874000 54.019900 1704 2.04 0.001197 0.60136816 0.16607981 0.57888 0.0272410 1.002138 Remainder of Lysander36067011402 -30.752930 53.943980 5743 3.08 0.000536 0.85354025 0.07487376 -0.34188 0.0298514 1.093647 Remainder of Lysander36067011500 -22.710750 48.810350 2345 0.04 0.000017 0.85700758 0.12110874 -0.81306 0.0292967 1.074890 36067011600 -27.923700 50.922940 4105 1.05 0.000256 0.69409423 0.09062119 -0.69437 0.0308507 1.126574 Baldwinsville village36067011700 -28.128370 49.183170 2514 0.04 0.000016 0.47984645 0.19888624 -0.88265 0.0323775 1.174879 Remainder of Van Bure36067011800 -24.891450 46.477050 6261 0.10 0.000016 0.62999366 0.09662993 -1.73903 0.0323198 1.173095 Remainder of Van Bure36067011900 -29.806270 46.681270 3810 0.06 0.000016 0.84888889 0.09396325 -1.27936 0.0358714 1.277355 36067012000 -38.078770 38.624730 5885 3.08 0.000523 0.79198966 0.12030586 -0.36631 0.0604010 1.798421 Remainder of Camillus36067012100 -26.754870 40.217200 2397 0.03 0.000013 0.84720497 0.10638298 -0.84466 0.0394342 1.372048 Camillus village 36067012200 -25.887200 37.028900 1298 0.02 0.000015 0.53888889 0.12788906 -0.24102 0.0412480 1.417018 36067012300 -24.213200 36.358100 5311 3.08 0.000580 0.79922027 0.14215779 -0.26368 0.0394224 1.371749 Remainder of Camillus36067012400 -23.675000 38.144600 4774 1.07 0.000224 0.81796550 0.11478844 -0.83564 0.0374333 1.319976 Fairmount CDP 36067012500 -21.451100 37.997530 4629 1.06 0.000229 0.63688761 0.14279542 -0.80963 0.0349953 1.252629 Fairmount CDP 36067012600 -20.237930 37.166900 4429 2.07 0.000467 0.85120893 0.15737187 -0.36650 0.0341556 1.228341 36067012700 -20.627070 38.878600 1495 1.03 0.000689 0.80548303 0.19799331 0.30591 0.0336459 1.213306 Remainder of Geddes t36067012800 -21.121000 43.887980 3092 2.04 0.000660 0.85615251 0.12257439 -0.01696 0.0311923 1.137586 Solvay village 36067012900 -18.194800 39.401150 2729 1.04 0.000381 0.39817881 0.15243679 -0.29099 0.0311439 1.136033 Solvay village 36067013000 -18.463150 38.800820 4411 4.07 0.000923 0.63218997 0.22375878 0.13924 0.0316512 1.152191 36067013100 -18.940160 37.246800 4713 3.07 0.000651 0.95959596 0.21026947 -0.14668 0.0328030 1.187935 36067013200 -17.473180 37.272940 3583 4.06 0.001133 0.92483660 0.29444599 0.34517 0.0314144 1.144681 Liverpool village 36067013300 -17.892000 44.540500 2849 2.04 0.000716 0.62360992 0.14987715 0.06489 0.0285298 1.048364 36067013400 -19.459800 46.367370 5520 2.08 0.000377 0.63380855 0.07952899 -0.58345 0.0286553 1.052753 Remainder of Salina t36067013500 -15.544270 44.999800 4629 2.07 0.000447 0.74652987 0.08727587 -0.41066 0.0268455 0.987513 Remainder of Salina t36067013600 -16.678900 43.818900 4437 1.07 0.000241 0.49624495 0.09736308 -0.76243 0.0280474 1.031311 Remainder of Salina t36067013700 -15.544730 42.823230 3823 0.05 0.000013 0.73197903 0.17054669 -1.29225 0.0277058 1.019057 36067013800 -13.258950 45.161750 2406 3.03 0.001259 0.81517094 0.23108894 0.51580 0.0254705 0.934936 36067013900 -11.959300 44.163040 3169 3.05 0.000962 0.75267050 0.15336068 0.24530 0.0250835 0.919625 36067014000 -12.618020 43.820630 4354 2.07 0.000475 0.67228916 0.15962333 -0.34942 0.0255591 0.938408 Remainder of Salina t36067014100 -13.802430 42.558400 1576 2.02 0.001282 0.73097345 0.13895939 0.65037 0.0266850 0.981517 36067014200 -11.200980 41.736940 4637 5.07 0.001093 0.73015873 0.19667889 0.26929 0.0253786 0.931321 East Syracuse village36067014300 -6.841440 39.954960 3412 1.05 0.000308 0.46675621 0.16588511 -0.50946 0.0234290 0.851389 36067014400 -8.644040 41.997180 3073 0.05 0.000016 0.76935887 0.17246990 -1.07386 0.0239096 0.871695 Remainder of De Witt 36067014500 -5.824567 41.655530 4837 2.07 0.000428 0.70871684 0.11742816 -0.45462 0.0225914 0.814984 36067014600 -6.324880 37.768500 6146 5.09 0.000828 0.58140756 0.11910185 -0.00915 0.0235702 0.857398 36067014700 -7.852300 35.600800 4813 4.07 0.000846 0.75375940 0.17951382 0.05202 0.0247980 0.908178 Remainder of De Witt 36067014800 -4.732175 35.064150 3077 2.05 0.000666 0.89298561 0.12154696 -0.00881 0.0231496 0.839392 Remainder of De Witt 36067014900 -7.624900 31.607100 1510 0.02 0.000013 0.79292035 0.10000000 -0.39231 0.0252332 0.925575 Fayetteville village 36067015000 -1.213400 35.810250 4709 3.08 0.000654 0.70923913 0.12996390 -0.14338 0.0232898 0.845430 Remainder of Manlius 36067015100 -1.368825 35.772930 4927 0.07 0.000014 0.75000000 0.18956769 -1.52707 0.0232886 0.845379 Remainder of Manlius 36067015201 1.034900 32.847750 2510 3.04 0.001211 0.75609756 0.15577689 0.47596 0.0252901 0.927828 Manlius village 36067015202 1.028125 32.993750 5241 0.08 0.000015 0.57079428 0.11581759 -1.57955 0.0251982 0.924187 Remainder of Manlius 36067015300 3.691850 37.485550 859 1.02 0.001187 0.76431718 0.10942957 0.85508 0.0229005 0.828574 Minoa village 36067015400 -1.367800 41.001200 3640 1.06 0.000291 0.75606061 0.12912088 -0.56928 0.0208242 0.733531 Remainder of Manlius 36067015500 -2.432025 39.997370 4101 2.06 0.000502 0.94613435 0.11314314 -0.29282 0.0213533 0.758621 Remainder of Manlius 36067015600 -1.697500 45.139400 2502 0.04 0.000016 0.82494005 0.13269384 -0.87787 0.0202232 0.704245 Pompey town 36067015700 0.683325 24.737480 4492 0.06 0.000013 0.85278926 0.10106857 -1.44403 0.0314969 1.147304 Lafayette town 36067015800 -7.766733 24.012100 4488 4.07 0.000907 0.80493151 0.11586453 0.12193 0.0290960 1.068016 Onondaga 36067015900 -14.327700 26.249800 596 0.01 0.000017 0.87782805 0.05033557 0.52746 0.0309372 1.129374 Onondaga town 36067016000 -20.449770 26.645770 5424 2.08 0.000383 0.90854573 0.09992625 -0.56590 0.0381040 1.337734 Onondaga town 36067016100 -10.325130 29.876230 1214 1.02 0.000840 0.92342342 0.10378913 0.50918 0.0272618 1.002901 Onondaga town 36067016200 -12.443750 30.194180 2779 1.04 0.000374 0.83723404 0.13134221 -0.30914 0.0288690 1.060183 Onondaga town 36067016300 -15.661330 32.753750 5690 2.10 0.000369 0.65101335 0.20017575 -0.60731 0.0312121 1.138221 Onondaga town 36067016400 -19.003200 35.413800 2717 0.03 0.000011 0.62715517 0.26683842 -0.96997 0.0336674 1.213945 36067016501 -28.669630 29.258600 4310 1.07 0.000248 0.86085904 0.10626450 -0.73339 0.0538528 1.683669 Marcellus village 36067016502 -28.688000 30.852300 1870 1.03 0.000551 0.49508600 0.15187166 0.08210 0.0525526 1.659229 Skaneateles village 36067016600 -35.983300 26.865900 2786 1.04 0.000373 0.65085854 0.19059584 -0.31166 0.0918058 2.217090 36067016700 -34.553620 26.418500 5009 2.08 0.000415 0.75920245 0.10960272 -0.48631 0.0819042 2.102965 Spafford town 36067016801 -24.897700 14.559800 1596 0.02 0.000013 0.47801147 0.10714286 -0.44770 0.0419439 1.433748 Otisco town 36067016802 -19.609600 16.637300 2112 0.03 0.000014 0.58601134 0.08285985 -0.71808 0.0355963 1.269657 36067016901 -10.920500 9.998667 2409 1.04 0.000432 0.66733871 0.09755085 -0.16626 0.0389516 1.359735 36067016902 0.175250 13.306500 1811 0.03 0.000017 0.71139971 0.09552733 -0.56432 0.0471885 1.551565 36107020100 -14.564820 -48.845360 6006 4.09 0.000681 0.77381435 0.10356310 -0.16548 0.0536812 1.680478 36107020200 -29.003400 -52.870400 4919 1.89 0.000384 0.73052425 0.10754218 -0.53185 0.0574625 1.748547 Remainder of Owego to36107020300 -15.798320 -68.105740 7023 2.27 0.000323 0.82544170 0.10180834 -0.76440 0.4221771 3.742840 36107020400 -14.281770 -72.351670 9084 4.64 0.000511 0.83864183 0.07551739 -0.47663 0.1570254 2.753822 Owego village 36107020500 -22.738120 -67.371020 4364 6.80 0.001558 0.49242028 0.15719523 0.58073 0.3004650 3.402746 36107020600 -29.470140 -69.683560 6999 2.27 0.000324 0.76103071 0.10830119 -0.76098 0.0969154 2.271253 36107020700 -43.338990 -69.835580 11417 5.06 0.000443 0.74796460 0.06726811 -0.63339 0.0415738 1.424885 36109990100 -30.749100 -13.464700 5213 4.06 0.000779 0.73188763 0.12641473 -0.02979 1.0000520 4.605222 Remainder of Lansing 36109990200 -44.146400 -15.210930 3916 1.05 0.000268 0.70810211 0.09652707 -0.64723 0.0724594 1.980441 Remainder of Lansing 36109990300 -40.460300 -22.935600 887 0.01 0.000011 0.50931677 0.11048478 0.12986 0.1233050 2.512076 Remainder of Lansing 36109990400 -43.466000 -20.207300 475 0.01 0.000021 0.73933649 0.10105263 0.75439 0.0926433 2.226172 36109990500 -51.911580 -24.865900 7041 2.08 0.000295 0.70453844 0.12057946 -0.82682 0.0861148 2.153096 36109990600 -43.550430 -28.727970 3476 1.05 0.000302 0.44817518 0.16426928 -0.52804 0.3739088 3.621427 36109990700 -40.563900 -27.572400 3404 6.04 0.001774 0.54924984 0.14982374 0.72666 0.2762190 3.318609 East Cayuga Heights C36109990800 -38.618200 -26.764900 2630 3.03 0.001152 0.51632047 0.09163498 0.42678 0.1874221 2.930778 Remainder of Ithaca t36109990900 -39.283800 -29.119000 1777 1.02 0.000574 0.10549944 0.08441193 0.12817 0.3086732 3.429698 Ithaca city 36109991000 -41.395270 -29.395050 13015 3.15 0.000242 0.19070568 0.03150211 -1.14299 0.6179705 4.123856 Ithaca city 36109991100 -41.509700 -30.600950 4358 3.05 0.000700 0.26116658 0.07388710 -0.07330 1.7674380 5.174701 Ithaca city 36109991200 -42.079900 -31.168950 3880 3.04 0.000784 0.23819302 0.13505155 0.04041 3.5263750 5.865441 36109991300 -42.878270 -30.248330 5630 1.06 0.000188 0.39984289 0.16039076 -1.00540 0.9077086 4.508338 Remainder of Ithaca t36109991400 -47.493200 -30.820600 971 0.01 0.000010 0.73365617 0.12667353 0.03938 0.1816935 2.899736 36109991500 -40.499900 -32.882600 5613 1.06 0.000189 0.56292906 0.06574025 -1.00238 0.4032028 3.696855 Remainder of Dryden t36109991600 -36.439000 -33.877200 524 0.01 0.000019 0.59090909 0.12022901 0.65621 0.1587555 2.764780 Remainder of Dryden t36109991700 -37.095500 -29.875800 884 1.01 0.001143 0.57142857 0.14932127 0.82143 0.1999795 2.995630 Remainder of Dryden t36109991800 -34.077900 -27.819000 3025 0.03 0.000010 0.61132364 0.07504132 -1.07735 0.1177744 2.466186 36109991900 -28.789600 -23.103940 7723 1.09 0.000141 0.69658777 0.08144503 -1.30704 0.1129166 2.424064 36109992000 -34.646400 -39.354800 5203 3.06 0.000588 0.71169616 0.10167211 -0.24805 0.0892956 2.189367 Newfield town 36109992100 -51.141600 -42.100000 4401 1.05 0.000239 0.74698189 0.10679391 -0.76399 0.0691397 1.933544 Lansing village 36109992200 -41.960400 -24.819600 1010 0.01 0.000010 0.49738220 0.12772277 0.00000 0.1644609 2.800088 Lansing village 36109992300 -42.675100 -27.312700 2029 2.02 0.000996 0.13414634 0.06456382 0.39771 0.2738125 3.309858spdep/inst/etc/misc/raw_grass_borders.RData0000644000176200001440000000316511716033162020502 0ustar liggesusers Lwۂ )r#)P\RZ1^ ]tQ9t9ug1<6t N+Ϧɧw߿QYr,@  #fZu~;$bhF@4 fF0K(X(؎ &80/3?p12 &Ayͱe ˃;H|3q˩a݌l+}ؘfưPv,زq{[rlCw%? 92=l>Վ1k+;bM9bXYj@j߸kDy3[ߺ IY1ĝ" { H>5 ➟1^ߞ)+ow/ŏCe֑ t }*=m!ǣ ȟ;5kuZz?>|_λue%;;s^]{] D>vn;oV~|G)y2x&nw h;Q+뽗p?SfXCAmK!fHqh%N_=ͱDž<\M;B= =wy<w쥋y\i}x׻B/Ϸnv-mh}-O Ɣ /Ԍ5BMЖ HWlb;qG|Bȑ0$Q AYd K QH"5_d.`Mm$ Y5 @bl MYf65Ŭ D|dɚc2d-$Y"Y F泆8# d R"qHFf!sFjhʞ4D# ,4ho$򙂔rʴ(l T:PyfĦF(j,fWUҕ4ac~Edg+jZ[Ұ,"=خ/kNAibXu7+!Xs'7 ȃsh+Hw[m&>PHHnɬs{Fiˍۯ^:O8sy '['\翳&m˻)[U8n(6FPW38)vo<4C/=肪 !PY}xsI/T?} (l^VE% PnN(6>yʩậbȽ\ݷFzFGn}O^m7l÷=;'PQ7@GMȖ@ٚώ E:E}S!hq 4znnn5hU˺PFBNŸD@A$IeB$r%JΕ?W\rU0W!\3 9?Cϐ3 יSUTKJ ^Ge$"ɿd"K4YbGx$HdI"K2YdI!D* %4<,$HdXlRrH{4 Kn spdep/inst/etc/misc/unstand_sn.txt0000644000176200001440000000231111716033162016762 0ustar liggesusersfrom to weight A I 0.0039 A J 0.0142 A K 0.0031 A Y 0.0112 A Z 0.0119 B L 0.0099 B N 0.0061 B Q 0.0089 B R 0.0113 B X 0.0006 C G 0.0134 C H 0.0018 C M 0.0103 C V 0.0028 D H 0.0125 D M 0.0084 D V 0.0008 D W 0.0030 E L 0.0186 G C 0.0087 G P 0.0068 G S 0.0010 G T 0.0079 G V 0.0013 H C 0.0021 H D 0.0175 H M 0.0046 I A 0.0034 I K 0.0081 I Q 0.0063 I S 0.0068 I Z 0.0110 J A 0.0111 J K 0.0088 J V 0.0086 J W 0.0051 J Y 0.0044 K A 0.0025 K I 0.0074 K J 0.0090 K S 0.0185 K V 0.0033 L B 0.0106 L E 0.0008 L N 0.0055 L T 0.0079 L U 0.0098 M C 0.0080 M D 0.0077 M H 0.0030 M V 0.0095 N B 0.0079 N L 0.0067 N T 0.0105 N X 0.0232 O Q 0.0324 O R 0.0134 P G 0.0094 P T 0.0049 P U 0.0100 Q B 0.0083 Q I 0.0052 Q O 0.0087 Q R 0.0008 Q S 0.0008 Q X 0.0086 R B 0.0319 R O 0.0109 R Q 0.0023 S G 0.0012 S I 0.0044 S K 0.0134 S Q 0.0006 S T 0.0010 S V 0.0062 S X 0.0088 T G 0.0088 T L 0.0049 T N 0.0054 T P 0.0039 T S 0.0009 T U 0.0054 T X 0.0015 U L 0.0100 U P 0.0133 U T 0.0089 V C 0.0016 V D 0.0006 V G 0.0012 V J 0.0047 V K 0.0018 V M 0.0071 V S 0.0046 V W 0.0055 W D 0.0051 W J 0.0071 W V 0.0140 W Y 0.0023 X B 0.0006 X N 0.0179 X Q 0.0092 X S 0.0120 X T 0.0022 Y A 0.0165 Y J 0.0083 Y W 0.0032 Y Z 0.0108 Z A 0.0139 Z I 0.0146 Z Y 0.0086 spdep/inst/etc/shapes/0000755000176200001440000000000012272526447014413 5ustar liggesusersspdep/inst/etc/shapes/bhicv.shx0000644000176200001440000000156411716033162016225 0ustar liggesusers' X9ȂFH4n/i@E[[22prXP"X~J`:p2Hpxx `  . "p .Hzp6Pp"p`hfnpP6bX`pbPB@h " h!p!`!x"f#:#$%Np%p&6'X'^'@)>)x*^*+n,J`,-`-./x/X/0z1.`12nx2h3V3h4N`45~hspdep/inst/etc/shapes/boston_tracts.shx0000644000176200001440000001006412157606620020016 0ustar liggesusers' AzQbOcE@بQoc?'VE@2j"zxV b n * zx XRhh*hXH>``xPjPj8JF26:pX hvP^P @".x#%v&"&'(N()f*Z+>,",-x...h/>/01:p12R23r4&p45&x56~7Jx78b9>9P:6P:h:;z<.p<=F=x>N>x?^@@A`BpBCpCpCDhE@EbE`FZXFxG2xGxH*hHI"pIxJpJ`JHK6KXLHLjM&xMpNhNhN@O2pOPJXPXQQR"RPS pS~xSTHTXU.XUHUHV"PVvPVPWpWX`X`XPY:HYXYpZVXZX[X[jp[\jx\8]"h]h]`^^H^P^`_bX_P```vaabzchczxc`dZXdhe"PevfJg.ghibjjk lm>Xnopp0qF(rrstvwZxNxyzr{Vp{|N`|}>}~j62xFBp&Zxr^XFXN`>`NxnxvPh6`hHRpP`~XhFPrrV::`:fRz.8jx`JJHBhnp~hnrF"ǦȂFx^xhFV:zNpX`ЂXђn@V@2@vJVxh>Pݒߖ"``hV8F26fpBp:P*XPhF@PjPXPn`xNPhhphXRX@`VbVxpFhXpPb``*Hv@PP`XBXX@>xNp`&XXb`JX *  Jp @ X ^` ` &P zH ` *X X X>Xphz@ZPhXvh`Fx`&X`hR@*Hvx`V@X`Zpjp`6X*`X J P!"X!~""x# #$%~&2&'h(`(j))*`*P+8,,x,-4h-.Lh./L/0l0spdep/inst/etc/shapes/eire.shx0000644000176200001440000000046411716033162016054 0ustar liggesusers' {Gz@Qr@@@2vB P b F  Vb  spdep/inst/etc/shapes/sids.dbf0000644000176200001440000010341511716033162016023 0ustar liggesusers_dSSP_IDCCNTY_IDN eastN northN L_idNM_idNnamesC AREANPERIMETERNCNTY_N NAMEC FIPSCFIPSNON CRESS_IDNBIR74N SID74NNWBIR74N BIR79N SID79NNWBIR79N 37001 1904.000000000000 278.0000000000000 151.0000000000000 1.000000000000000 3.000000000000000Alamance 0.111000000000000 1.392000000000000 1904.000000000000Alamance 37001 37001.00000000000 1.00000000000000 4672.00000000000 13.00000000000000 1243.000000000000 5767.00000000000 11.00000000000000 1397.00000000000 37003 1950.000000000000 179.0000000000000 142.0000000000000 2.000000000000000 2.000000000000000Alexander 0.066000000000000 1.070000000000000 1950.000000000000Alexander 37003 37003.00000000000 2.00000000000000 1333.00000000000 0.00000000000000 128.000000000000 1683.00000000000 2.00000000000000 150.00000000000 37005 1827.000000000000 183.0000000000000 182.0000000000000 1.000000000000000 2.000000000000000Alleghany 0.061000000000000 1.231000000000000 1827.000000000000Alleghany 37005 37005.00000000000 3.00000000000000 487.00000000000 0.00000000000000 10.000000000000 542.00000000000 3.00000000000000 12.00000000000 37007 2096.000000000000 240.0000000000000 75.0000000000000 3.000000000000000 2.000000000000000Anson 0.138000000000000 1.621000000000000 2096.000000000000Anson 37007 37007.00000000000 4.00000000000000 1570.00000000000 15.00000000000000 952.000000000000 1875.00000000000 4.00000000000000 1161.00000000000 37009 1825.000000000000 164.0000000000000 176.0000000000000 1.000000000000000 2.000000000000000Ashe 0.114000000000000 1.442000000000000 1825.000000000000Ashe 37009 37009.00000000000 5.00000000000000 1091.00000000000 1.00000000000000 10.000000000000 1364.00000000000 0.00000000000000 19.00000000000 37011 1892.000000000000 138.0000000000000 154.0000000000000 1.000000000000000 2.000000000000000Avery 0.064000000000000 1.213000000000000 1892.000000000000Avery 37011 37011.00000000000 6.00000000000000 781.00000000000 0.00000000000000 4.000000000000 977.00000000000 0.00000000000000 5.00000000000 37013 2004.000000000000 406.0000000000000 118.0000000000000 2.000000000000000 4.000000000000000Beaufort 0.203000000000000 3.197000000000000 2004.000000000000Beaufort 37013 37013.00000000000 7.00000000000000 2692.00000000000 7.00000000000000 1131.000000000000 2909.00000000000 4.00000000000000 1163.00000000000 37015 1905.000000000000 411.0000000000000 148.0000000000000 1.000000000000000 4.000000000000000Bertie 0.180000000000000 2.151000000000000 1905.000000000000Bertie 37015 37015.00000000000 8.00000000000000 1324.00000000000 6.00000000000000 921.000000000000 1616.00000000000 5.00000000000000 1161.00000000000 37017 2162.000000000000 321.0000000000000 53.0000000000000 4.000000000000000 3.000000000000000Bladen 0.225000000000000 2.107000000000000 2162.000000000000Bladen 37017 37017.00000000000 9.00000000000000 1782.00000000000 8.00000000000000 818.000000000000 2052.00000000000 5.00000000000000 1023.00000000000 37019 2241.000000000000 353.0000000000000 6.0000000000000 4.000000000000000 3.000000000000000Brunswick 0.212000000000000 2.024000000000000 2241.000000000000Brunswick 37019 37019.00000000000 10.00000000000000 2181.00000000000 5.00000000000000 659.000000000000 2655.00000000000 6.00000000000000 841.00000000000 37021 1988.000000000000 104.0000000000000 121.0000000000000 2.000000000000000 1.000000000000000Buncombe 0.168000000000000 1.995000000000000 1988.000000000000Buncombe 37021 37021.00000000000 11.00000000000000 7515.00000000000 9.00000000000000 930.000000000000 9956.00000000000 18.00000000000000 1206.00000000000 37023 1958.000000000000 150.0000000000000 130.0000000000000 2.000000000000000 2.000000000000000Burke 0.134000000000000 1.755000000000000 1958.000000000000Burke 37023 37023.00000000000 12.00000000000000 3573.00000000000 5.00000000000000 326.000000000000 4314.00000000000 15.00000000000000 407.00000000000 37025 2042.000000000000 211.0000000000000 105.0000000000000 3.000000000000000 2.000000000000000Cabarrus 0.091000000000000 1.321000000000000 2042.000000000000Cabarrus 37025 37025.00000000000 13.00000000000000 4099.00000000000 3.00000000000000 856.000000000000 5669.00000000000 20.00000000000000 1203.00000000000 37027 1932.000000000000 158.0000000000000 142.0000000000000 2.000000000000000 2.000000000000000Caldwell 0.122000000000000 1.516000000000000 1932.000000000000Caldwell 37027 37027.00000000000 14.00000000000000 3609.00000000000 6.00000000000000 309.000000000000 4249.00000000000 9.00000000000000 360.00000000000 37029 1834.000000000000 453.0000000000000 173.0000000000000 1.000000000000000 4.000000000000000Camden 0.062000000000000 1.547000000000000 1834.000000000000Camden 37029 37029.00000000000 15.00000000000000 286.00000000000 0.00000000000000 115.000000000000 350.00000000000 2.00000000000000 139.00000000000 37031 2156.000000000000 429.0000000000000 62.0000000000000 3.000000000000000 4.000000000000000Carteret 0.125000000000000 2.868000000000000 2156.000000000000Carteret 37031 37031.00000000000 16.00000000000000 2414.00000000000 5.00000000000000 341.000000000000 3339.00000000000 4.00000000000000 487.00000000000 37033 1838.000000000000 281.0000000000000 175.0000000000000 1.000000000000000 3.000000000000000Caswell 0.114000000000000 1.352000000000000 1838.000000000000Caswell 37033 37033.00000000000 17.00000000000000 1035.00000000000 2.00000000000000 550.000000000000 1253.00000000000 2.00000000000000 597.00000000000 37035 1986.000000000000 177.0000000000000 125.0000000000000 2.000000000000000 2.000000000000000Catawba 0.106000000000000 1.444000000000000 1986.000000000000Catawba 37035 37035.00000000000 18.00000000000000 5754.00000000000 5.00000000000000 790.000000000000 6883.00000000000 21.00000000000000 914.00000000000 37037 1973.000000000000 291.0000000000000 127.0000000000000 2.000000000000000 3.000000000000000Chatham 0.180000000000000 2.142000000000000 1973.000000000000Chatham 37037 37037.00000000000 19.00000000000000 1646.00000000000 2.00000000000000 591.000000000000 2398.00000000000 3.00000000000000 687.00000000000 37039 2088.000000000000 19.0000000000000 92.0000000000000 3.000000000000000 1.000000000000000Cherokee 0.120000000000000 1.686000000000000 2088.000000000000Cherokee 37039 37039.00000000000 20.00000000000000 1027.00000000000 2.00000000000000 32.000000000000 1173.00000000000 1.00000000000000 42.00000000000 37041 1887.000000000000 428.0000000000000 154.0000000000000 1.000000000000000 4.000000000000000Chowan 0.044000000000000 1.158000000000000 1887.000000000000Chowan 37041 37041.00000000000 21.00000000000000 751.00000000000 1.00000000000000 368.000000000000 899.00000000000 1.00000000000000 491.00000000000 37043 2109.000000000000 31.0000000000000 88.0000000000000 3.000000000000000 1.000000000000000Clay 0.051000000000000 1.096000000000000 2109.000000000000Clay 37043 37043.00000000000 22.00000000000000 284.00000000000 0.00000000000000 1.000000000000 419.00000000000 0.00000000000000 5.00000000000 37045 2032.000000000000 158.0000000000000 99.0000000000000 3.000000000000000 2.000000000000000Cleveland 0.118000000000000 1.506000000000000 2032.000000000000Cleveland 37045 37045.00000000000 23.00000000000000 4866.00000000000 10.00000000000000 1491.000000000000 5526.00000000000 21.00000000000000 1729.00000000000 37047 2232.000000000000 316.0000000000000 33.0000000000000 4.000000000000000 3.000000000000000Columbus 0.240000000000000 2.365000000000000 2232.000000000000Columbus 37047 37047.00000000000 24.00000000000000 3350.00000000000 15.00000000000000 1431.000000000000 4144.00000000000 17.00000000000000 1832.00000000000 37049 2119.000000000000 407.0000000000000 88.0000000000000 3.000000000000000 4.000000000000000Craven 0.177000000000000 2.916000000000000 2119.000000000000Craven 37049 37049.00000000000 25.00000000000000 5868.00000000000 13.00000000000000 1744.000000000000 7595.00000000000 18.00000000000000 2342.00000000000 37051 2090.000000000000 308.0000000000000 83.0000000000000 3.000000000000000 3.000000000000000Cumberland 0.172000000000000 1.835000000000000 2090.000000000000Cumberland 37051 37051.00000000000 26.00000000000000 20366.00000000000 38.00000000000000 7043.000000000000 26370.00000000000 57.00000000000000 10614.00000000000 37053 1831.000000000000 461.0000000000000 182.0000000000000 1.000000000000000 4.000000000000000Currituck 0.070000000000000 2.968000000000000 1831.000000000000Currituck 37053 37053.00000000000 27.00000000000000 508.00000000000 1.00000000000000 123.000000000000 830.00000000000 2.00000000000000 145.00000000000 37055 2000.000000000000 482.0000000000000 145.0000000000000 2.000000000000000 4.000000000000000Dare 0.094000000000000 3.640000000000000 2000.000000000000Dare 37055 37055.00000000000 28.00000000000000 521.00000000000 0.00000000000000 43.000000000000 1059.00000000000 1.00000000000000 73.00000000000 37057 1951.000000000000 231.0000000000000 133.0000000000000 2.000000000000000 2.000000000000000Davidson 0.145000000000000 1.791000000000000 1951.000000000000Davidson 37057 37057.00000000000 29.00000000000000 5509.00000000000 8.00000000000000 736.000000000000 7143.00000000000 8.00000000000000 941.00000000000 37059 1948.000000000000 213.0000000000000 139.0000000000000 2.000000000000000 2.000000000000000Davie 0.069000000000000 1.201000000000000 1948.000000000000Davie 37059 37059.00000000000 30.00000000000000 1207.00000000000 1.00000000000000 148.000000000000 1438.00000000000 3.00000000000000 177.00000000000 37061 2100.000000000000 355.0000000000000 76.0000000000000 3.000000000000000 3.000000000000000Duplin 0.204000000000000 1.871000000000000 2100.000000000000Duplin 37061 37061.00000000000 31.00000000000000 2483.00000000000 4.00000000000000 1061.000000000000 2777.00000000000 7.00000000000000 1227.00000000000 37063 1908.000000000000 306.0000000000000 146.0000000000000 1.000000000000000 3.000000000000000Durham 0.077000000000000 1.271000000000000 1908.000000000000Durham 37063 37063.00000000000 32.00000000000000 7970.00000000000 16.00000000000000 3732.000000000000 10432.00000000000 22.00000000000000 4948.00000000000 37065 1928.000000000000 378.0000000000000 142.0000000000000 2.000000000000000 4.000000000000000Edgecombe 0.131000000000000 1.521000000000000 1928.000000000000Edgecombe 37065 37065.00000000000 33.00000000000000 3657.00000000000 10.00000000000000 2186.000000000000 4359.00000000000 9.00000000000000 2696.00000000000 37067 1900.000000000000 233.0000000000000 153.0000000000000 1.000000000000000 2.000000000000000Forsyth 0.108000000000000 1.483000000000000 1900.000000000000Forsyth 37067 37067.00000000000 34.00000000000000 11858.00000000000 10.00000000000000 3919.000000000000 15704.00000000000 18.00000000000000 5031.00000000000 37069 1897.000000000000 337.0000000000000 155.0000000000000 1.000000000000000 3.000000000000000Franklin 0.128000000000000 1.554000000000000 1897.000000000000Franklin 37069 37069.00000000000 35.00000000000000 1399.00000000000 2.00000000000000 736.000000000000 1863.00000000000 0.00000000000000 950.00000000000 37071 2068.000000000000 178.0000000000000 96.0000000000000 3.000000000000000 2.000000000000000Gaston 0.091000000000000 1.470000000000000 2068.000000000000Gaston 37071 37071.00000000000 36.00000000000000 9014.00000000000 11.00000000000000 1523.000000000000 11455.00000000000 26.00000000000000 2194.00000000000 37073 1835.000000000000 421.0000000000000 177.0000000000000 1.000000000000000 4.000000000000000Gates 0.091000000000000 1.284000000000000 1835.000000000000Gates 37073 37073.00000000000 37.00000000000000 420.00000000000 0.00000000000000 254.000000000000 594.00000000000 2.00000000000000 371.00000000000 37075 2056.000000000000 32.0000000000000 107.0000000000000 3.000000000000000 1.000000000000000Graham 0.078000000000000 1.202000000000000 2056.000000000000Graham 37075 37075.00000000000 38.00000000000000 415.00000000000 0.00000000000000 40.000000000000 488.00000000000 1.00000000000000 45.00000000000 37077 1840.000000000000 322.0000000000000 171.0000000000000 1.000000000000000 3.000000000000000Granville 0.143000000000000 1.663000000000000 1840.000000000000Granville 37077 37077.00000000000 39.00000000000000 1671.00000000000 4.00000000000000 930.000000000000 2074.00000000000 4.00000000000000 1058.00000000000 37079 2016.000000000000 371.0000000000000 111.0000000000000 2.000000000000000 4.000000000000000Greene 0.070000000000000 1.105000000000000 2016.000000000000Greene 37079 37079.00000000000 40.00000000000000 870.00000000000 4.00000000000000 534.000000000000 1178.00000000000 4.00000000000000 664.00000000000 37081 1903.000000000000 258.0000000000000 150.0000000000000 1.000000000000000 3.000000000000000Guilford 0.170000000000000 1.680000000000000 1903.000000000000Guilford 37081 37081.00000000000 41.00000000000000 16184.00000000000 23.00000000000000 5483.000000000000 20543.00000000000 38.00000000000000 7089.00000000000 37083 1846.000000000000 376.0000000000000 171.0000000000000 1.000000000000000 4.000000000000000Halifax 0.190000000000000 2.204000000000000 1846.000000000000Halifax 37083 37083.00000000000 42.00000000000000 3608.00000000000 18.00000000000000 2365.000000000000 4463.00000000000 17.00000000000000 2980.00000000000 37085 2030.000000000000 309.0000000000000 105.0000000000000 2.000000000000000 3.000000000000000Harnett 0.154000000000000 1.680000000000000 2030.000000000000Harnett 37085 37085.00000000000 43.00000000000000 3776.00000000000 6.00000000000000 1051.000000000000 4789.00000000000 10.00000000000000 1453.00000000000 37087 1996.000000000000 80.0000000000000 116.0000000000000 2.000000000000000 1.000000000000000Haywood 0.144000000000000 1.690000000000000 1996.000000000000Haywood 37087 37087.00000000000 44.00000000000000 2110.00000000000 2.00000000000000 57.000000000000 2463.00000000000 8.00000000000000 62.00000000000 37089 2047.000000000000 109.0000000000000 101.0000000000000 3.000000000000000 1.000000000000000Henderson 0.095000000000000 1.471000000000000 2047.000000000000Henderson 37089 37089.00000000000 45.00000000000000 2574.00000000000 5.00000000000000 158.000000000000 3679.00000000000 8.00000000000000 264.00000000000 37091 1833.000000000000 411.0000000000000 176.0000000000000 1.000000000000000 4.000000000000000Hertford 0.097000000000000 1.670000000000000 1833.000000000000Hertford 37091 37091.00000000000 46.00000000000000 1452.00000000000 7.00000000000000 954.000000000000 1838.00000000000 5.00000000000000 1237.00000000000 37093 2097.000000000000 289.0000000000000 75.0000000000000 3.000000000000000 3.000000000000000Hoke 0.098000000000000 1.262000000000000 2097.000000000000Hoke 37093 37093.00000000000 47.00000000000000 1494.00000000000 7.00000000000000 987.000000000000 1706.00000000000 6.00000000000000 1172.00000000000 37095 2099.000000000000 446.0000000000000 110.0000000000000 2.000000000000000 4.000000000000000Hyde 0.167000000000000 2.709000000000000 2099.000000000000Hyde 37095 37095.00000000000 48.00000000000000 338.00000000000 0.00000000000000 134.000000000000 427.00000000000 0.00000000000000 169.00000000000 37097 1947.000000000000 195.0000000000000 132.0000000000000 2.000000000000000 2.000000000000000Iredell 0.155000000000000 1.781000000000000 1947.000000000000Iredell 37097 37097.00000000000 49.00000000000000 4139.00000000000 4.00000000000000 1144.000000000000 5400.00000000000 5.00000000000000 1305.00000000000 37099 2039.000000000000 67.0000000000000 108.0000000000000 3.000000000000000 1.000000000000000Jackson 0.125000000000000 1.601000000000000 2039.000000000000Jackson 37099 37099.00000000000 50.00000000000000 1143.00000000000 2.00000000000000 215.000000000000 1504.00000000000 5.00000000000000 307.00000000000 37101 1989.000000000000 335.0000000000000 114.0000000000000 2.000000000000000 3.000000000000000Johnston 0.207000000000000 1.851000000000000 1989.000000000000Johnston 37101 37101.00000000000 51.00000000000000 3999.00000000000 6.00000000000000 1165.000000000000 4780.00000000000 13.00000000000000 1349.00000000000 37103 2091.000000000000 389.0000000000000 84.0000000000000 3.000000000000000 4.000000000000000Jones 0.121000000000000 1.978000000000000 2091.000000000000Jones 37103 37103.00000000000 52.00000000000000 578.00000000000 1.00000000000000 297.000000000000 650.00000000000 2.00000000000000 305.00000000000 37105 2026.000000000000 292.0000000000000 109.0000000000000 2.000000000000000 3.000000000000000Lee 0.065000000000000 1.093000000000000 2026.000000000000Lee 37105 37105.00000000000 53.00000000000000 2252.00000000000 5.00000000000000 736.000000000000 2949.00000000000 6.00000000000000 905.00000000000 37107 2065.000000000000 377.0000000000000 98.0000000000000 3.000000000000000 4.000000000000000Lenoir 0.104000000000000 1.548000000000000 2065.000000000000Lenoir 37107 37107.00000000000 54.00000000000000 3589.00000000000 10.00000000000000 1826.000000000000 4225.00000000000 14.00000000000000 2047.00000000000 37109 2034.000000000000 174.0000000000000 111.0000000000000 3.000000000000000 2.000000000000000Lincoln 0.078000000000000 1.384000000000000 2034.000000000000Lincoln 37109 37109.00000000000 55.00000000000000 2216.00000000000 8.00000000000000 302.000000000000 2817.00000000000 7.00000000000000 350.00000000000 37111 1964.000000000000 133.0000000000000 127.0000000000000 2.000000000000000 1.000000000000000McDowell 0.116000000000000 1.664000000000000 1964.000000000000McDowell 37111 37111.00000000000 56.00000000000000 1946.00000000000 5.00000000000000 134.000000000000 2215.00000000000 5.00000000000000 128.00000000000 37113 2082.000000000000 55.0000000000000 96.0000000000000 3.000000000000000 1.000000000000000Macon 0.131000000000000 1.677000000000000 2082.000000000000Macon 37113 37113.00000000000 57.00000000000000 797.00000000000 0.00000000000000 9.000000000000 1157.00000000000 3.00000000000000 22.00000000000 37115 1946.000000000000 98.0000000000000 135.0000000000000 2.000000000000000 1.000000000000000Madison 0.118000000000000 1.601000000000000 1946.000000000000Madison 37115 37115.00000000000 58.00000000000000 765.00000000000 2.00000000000000 5.000000000000 926.00000000000 2.00000000000000 3.00000000000 37117 1937.000000000000 405.0000000000000 139.0000000000000 2.000000000000000 4.000000000000000Martin 0.118000000000000 1.899000000000000 1937.000000000000Martin 37117 37117.00000000000 59.00000000000000 1549.00000000000 2.00000000000000 883.000000000000 1849.00000000000 1.00000000000000 1033.00000000000 37119 2041.000000000000 198.0000000000000 95.0000000000000 3.000000000000000 2.000000000000000Mecklenburg 0.143000000000000 1.887000000000000 2041.000000000000Mecklenburg 37119 37119.00000000000 60.00000000000000 21588.00000000000 44.00000000000000 8027.000000000000 30757.00000000000 35.00000000000000 11631.00000000000 37121 1927.000000000000 128.0000000000000 148.0000000000000 2.000000000000000 1.000000000000000Mitchell 0.059000000000000 1.319000000000000 1927.000000000000Mitchell 37121 37121.00000000000 61.00000000000000 671.00000000000 0.00000000000000 1.000000000000 919.00000000000 2.00000000000000 4.00000000000 37123 2044.000000000000 251.0000000000000 102.0000000000000 3.000000000000000 3.000000000000000Montgomery 0.130000000000000 1.732000000000000 2044.000000000000Montgomery 37123 37123.00000000000 62.00000000000000 1258.00000000000 3.00000000000000 472.000000000000 1598.00000000000 8.00000000000000 588.00000000000 37125 2040.000000000000 278.0000000000000 101.0000000000000 3.000000000000000 3.000000000000000Moore 0.181000000000000 1.980000000000000 2040.000000000000Moore 37125 37125.00000000000 63.00000000000000 2648.00000000000 5.00000000000000 844.000000000000 3534.00000000000 5.00000000000000 1151.00000000000 37127 1913.000000000000 354.0000000000000 146.0000000000000 1.000000000000000 3.000000000000000Nash 0.142000000000000 1.640000000000000 1913.000000000000Nash 37127 37127.00000000000 64.00000000000000 4021.00000000000 8.00000000000000 1851.000000000000 5189.00000000000 7.00000000000000 2274.00000000000 37129 2238.000000000000 357.0000000000000 26.0000000000000 4.000000000000000 3.000000000000000New Hanover 0.042000000000000 0.999000000000000 2238.000000000000New Hanover 37129 37129.00000000000 65.00000000000000 5526.00000000000 12.00000000000000 1633.000000000000 6917.00000000000 9.00000000000000 2100.00000000000 37131 1832.000000000000 385.0000000000000 176.0000000000000 1.000000000000000 4.000000000000000Northampton 0.153000000000000 2.206000000000000 1832.000000000000Northampton 37131 37131.00000000000 66.00000000000000 1421.00000000000 9.00000000000000 1066.000000000000 1606.00000000000 3.00000000000000 1197.00000000000 37133 2146.000000000000 384.0000000000000 66.0000000000000 3.000000000000000 4.000000000000000Onslow 0.195000000000000 1.783000000000000 2146.000000000000Onslow 37133 37133.00000000000 67.00000000000000 11158.00000000000 29.00000000000000 2217.000000000000 14655.00000000000 23.00000000000000 3568.00000000000 37135 1907.000000000000 294.0000000000000 151.0000000000000 1.000000000000000 3.000000000000000Orange 0.104000000000000 1.294000000000000 1907.000000000000Orange 37135 37135.00000000000 68.00000000000000 3164.00000000000 4.00000000000000 776.000000000000 4478.00000000000 6.00000000000000 1086.00000000000 37137 2085.000000000000 423.0000000000000 90.0000000000000 3.000000000000000 4.000000000000000Pamlico 0.082000000000000 1.388000000000000 2085.000000000000Pamlico 37137 37137.00000000000 69.00000000000000 542.00000000000 1.00000000000000 222.000000000000 631.00000000000 1.00000000000000 277.00000000000 37139 1848.000000000000 451.0000000000000 172.0000000000000 1.000000000000000 4.000000000000000Pasquotank 0.053000000000000 1.171000000000000 1848.000000000000Pasquotank 37139 37139.00000000000 70.00000000000000 1638.00000000000 3.00000000000000 622.000000000000 2275.00000000000 4.00000000000000 933.00000000000 37141 2185.000000000000 357.0000000000000 48.0000000000000 4.000000000000000 3.000000000000000Pender 0.214000000000000 2.152000000000000 2185.000000000000Pender 37141 37141.00000000000 71.00000000000000 1228.00000000000 4.00000000000000 580.000000000000 1602.00000000000 3.00000000000000 763.00000000000 37143 1881.000000000000 437.0000000000000 163.0000000000000 1.000000000000000 4.000000000000000Perquimans 0.063000000000000 1.000000000000000 1881.000000000000Perquimans 37143 37143.00000000000 72.00000000000000 484.00000000000 1.00000000000000 230.000000000000 676.00000000000 0.00000000000000 310.00000000000 37145 1841.000000000000 302.0000000000000 173.0000000000000 1.000000000000000 3.000000000000000Person 0.109000000000000 1.325000000000000 1841.000000000000Person 37145 37145.00000000000 73.00000000000000 1556.00000000000 4.00000000000000 613.000000000000 1790.00000000000 4.00000000000000 650.00000000000 37147 1984.000000000000 387.0000000000000 121.0000000000000 2.000000000000000 4.000000000000000Pitt 0.168000000000000 1.791000000000000 1984.000000000000Pitt 37147 37147.00000000000 74.00000000000000 5094.00000000000 14.00000000000000 2620.000000000000 6635.00000000000 11.00000000000000 3059.00000000000 37149 2071.000000000000 123.0000000000000 97.0000000000000 3.000000000000000 1.000000000000000Polk 0.060000000000000 1.036000000000000 2071.000000000000Polk 37149 37149.00000000000 75.00000000000000 533.00000000000 1.00000000000000 95.000000000000 673.00000000000 0.00000000000000 79.00000000000 37151 1968.000000000000 256.0000000000000 126.0000000000000 2.000000000000000 3.000000000000000Randolph 0.201000000000000 1.805000000000000 1968.000000000000Randolph 37151 37151.00000000000 76.00000000000000 4456.00000000000 7.00000000000000 384.000000000000 5711.00000000000 12.00000000000000 483.00000000000 37153 2107.000000000000 259.0000000000000 72.0000000000000 3.000000000000000 2.000000000000000Richmond 0.121000000000000 1.855000000000000 2107.000000000000Richmond 37153 37153.00000000000 77.00000000000000 2756.00000000000 4.00000000000000 1043.000000000000 3108.00000000000 7.00000000000000 1218.00000000000 37155 2150.000000000000 302.0000000000000 51.0000000000000 4.000000000000000 3.000000000000000Robeson 0.240000000000000 2.004000000000000 2150.000000000000Robeson 37155 37155.00000000000 78.00000000000000 7889.00000000000 31.00000000000000 5904.000000000000 9087.00000000000 26.00000000000000 6899.00000000000 37157 1839.000000000000 257.0000000000000 173.0000000000000 1.000000000000000 3.000000000000000Rockingham 0.153000000000000 1.616000000000000 1839.000000000000Rockingham 37157 37157.00000000000 79.00000000000000 4449.00000000000 16.00000000000000 1243.000000000000 5386.00000000000 5.00000000000000 1369.00000000000 37159 1980.000000000000 218.0000000000000 124.0000000000000 2.000000000000000 2.000000000000000Rowan 0.134000000000000 1.590000000000000 1980.000000000000Rowan 37159 37159.00000000000 80.00000000000000 4606.00000000000 3.00000000000000 1057.000000000000 6427.00000000000 8.00000000000000 1504.00000000000 37161 2027.000000000000 136.0000000000000 104.0000000000000 3.000000000000000 1.000000000000000Rutherford 0.146000000000000 1.778000000000000 2027.000000000000Rutherford 37161 37161.00000000000 81.00000000000000 2992.00000000000 12.00000000000000 495.000000000000 3543.00000000000 8.00000000000000 576.00000000000 37163 2083.000000000000 336.0000000000000 79.0000000000000 3.000000000000000 3.000000000000000Sampson 0.241000000000000 2.214000000000000 2083.000000000000Sampson 37163 37163.00000000000 82.00000000000000 3025.00000000000 4.00000000000000 1396.000000000000 3447.00000000000 4.00000000000000 1524.00000000000 37165 2123.000000000000 276.0000000000000 61.0000000000000 3.000000000000000 3.000000000000000Scotland 0.080000000000000 1.188000000000000 2123.000000000000Scotland 37165 37165.00000000000 83.00000000000000 2255.00000000000 8.00000000000000 1206.000000000000 2617.00000000000 16.00000000000000 1436.00000000000 37167 2045.000000000000 234.0000000000000 103.0000000000000 3.000000000000000 2.000000000000000Stanly 0.103000000000000 1.461000000000000 2045.000000000000Stanly 37167 37167.00000000000 84.00000000000000 2356.00000000000 5.00000000000000 370.000000000000 3039.00000000000 7.00000000000000 528.00000000000 37169 1837.000000000000 233.0000000000000 175.0000000000000 1.000000000000000 2.000000000000000Stokes 0.124000000000000 1.428000000000000 1837.000000000000Stokes 37169 37169.00000000000 85.00000000000000 1612.00000000000 1.00000000000000 160.000000000000 2038.00000000000 5.00000000000000 176.00000000000 37171 1828.000000000000 204.0000000000000 174.0000000000000 1.000000000000000 2.000000000000000Surry 0.143000000000000 1.630000000000000 1828.000000000000Surry 37171 37171.00000000000 86.00000000000000 3188.00000000000 5.00000000000000 208.000000000000 3616.00000000000 6.00000000000000 260.00000000000 37173 2013.000000000000 53.0000000000000 113.0000000000000 2.000000000000000 1.000000000000000Swain 0.141000000000000 2.316000000000000 2013.000000000000Swain 37173 37173.00000000000 87.00000000000000 675.00000000000 3.00000000000000 281.000000000000 883.00000000000 2.00000000000000 406.00000000000 37175 2067.000000000000 93.0000000000000 97.0000000000000 3.000000000000000 1.000000000000000Transylvania 0.098000000000000 1.389000000000000 2067.000000000000Transylvania37175 37175.00000000000 88.00000000000000 1173.00000000000 3.00000000000000 92.000000000000 1401.00000000000 4.00000000000000 104.00000000000 37177 1963.000000000000 450.0000000000000 144.0000000000000 2.000000000000000 4.000000000000000Tyrrell 0.099000000000000 1.411000000000000 1963.000000000000Tyrrell 37177 37177.00000000000 89.00000000000000 248.00000000000 0.00000000000000 116.000000000000 319.00000000000 0.00000000000000 141.00000000000 37179 2095.000000000000 214.0000000000000 76.0000000000000 3.000000000000000 2.000000000000000Union 0.163000000000000 1.716000000000000 2095.000000000000Union 37179 37179.00000000000 90.00000000000000 3915.00000000000 4.00000000000000 1034.000000000000 5273.00000000000 9.00000000000000 1348.00000000000 37181 1842.000000000000 332.0000000000000 172.0000000000000 1.000000000000000 3.000000000000000Vance 0.072000000000000 1.085000000000000 1842.000000000000Vance 37181 37181.00000000000 91.00000000000000 2180.00000000000 4.00000000000000 1179.000000000000 2753.00000000000 6.00000000000000 1492.00000000000 37183 1938.000000000000 319.0000000000000 133.0000000000000 2.000000000000000 3.000000000000000Wake 0.219000000000000 2.130000000000000 1938.000000000000Wake 37183 37183.00000000000 92.00000000000000 14484.00000000000 16.00000000000000 4397.000000000000 20857.00000000000 31.00000000000000 6221.00000000000 37185 1836.000000000000 344.0000000000000 177.0000000000000 1.000000000000000 3.000000000000000Warren 0.118000000000000 1.421000000000000 1836.000000000000Warren 37185 37185.00000000000 93.00000000000000 968.00000000000 4.00000000000000 748.000000000000 1190.00000000000 2.00000000000000 844.00000000000 37187 1962.000000000000 422.0000000000000 139.0000000000000 2.000000000000000 4.000000000000000Washington 0.100000000000000 1.331000000000000 1962.000000000000Washington 37187 37187.00000000000 94.00000000000000 990.00000000000 5.00000000000000 521.000000000000 1141.00000000000 0.00000000000000 651.00000000000 37189 1880.000000000000 151.0000000000000 162.0000000000000 1.000000000000000 2.000000000000000Watauga 0.081000000000000 1.288000000000000 1880.000000000000Watauga 37189 37189.00000000000 95.00000000000000 1323.00000000000 1.00000000000000 17.000000000000 1775.00000000000 1.00000000000000 33.00000000000 37191 2029.000000000000 353.0000000000000 106.0000000000000 2.000000000000000 3.000000000000000Wayne 0.142000000000000 1.655000000000000 2029.000000000000Wayne 37191 37191.00000000000 96.00000000000000 6638.00000000000 18.00000000000000 2593.000000000000 8227.00000000000 23.00000000000000 3073.00000000000 37193 1874.000000000000 181.0000000000000 157.0000000000000 1.000000000000000 2.000000000000000Wilkes 0.199000000000000 1.984000000000000 1874.000000000000Wilkes 37193 37193.00000000000 97.00000000000000 3146.00000000000 4.00000000000000 200.000000000000 3725.00000000000 7.00000000000000 222.00000000000 37195 1979.000000000000 358.0000000000000 128.0000000000000 2.000000000000000 3.000000000000000Wilson 0.094000000000000 1.307000000000000 1979.000000000000Wilson 37195 37195.00000000000 98.00000000000000 3702.00000000000 11.00000000000000 1827.000000000000 4706.00000000000 13.00000000000000 2330.00000000000 37197 1893.000000000000 208.0000000000000 156.0000000000000 1.000000000000000 2.000000000000000Yadkin 0.086000000000000 1.267000000000000 1893.000000000000Yadkin 37197 37197.00000000000 99.00000000000000 1269.00000000000 1.00000000000000 65.000000000000 1568.00000000000 1.00000000000000 76.00000000000 37199 1936.000000000000 120.0000000000000 142.0000000000000 2.000000000000000 1.000000000000000Yancey 0.080000000000000 1.307000000000000 1936.000000000000Yancey 37199 37199.00000000000 100.00000000000000 770.00000000000 0.00000000000000 12.000000000000 869.00000000000 1.00000000000000 10.00000000000spdep/inst/etc/shapes/columbus.shx0000644000176200001440000000075411716033162016763 0ustar liggesusers' @@Ǔ%@(&@`"|-@2ZPb8   p .h 6 ^:HFr6v:p." x X !@#* $N%"X%~&0'6(28)n*"spdep/inst/etc/shapes/NY8_utm18.shx0000644000176200001440000000445412161044260016603 0ustar liggesusers' |+ASƼQACUr$RA1MWRA2P"`PxV  v( 6"HjXr^ $p'"+>H-/6`1(25:@jD^hFH0LP0RUfVXZ"@\f@_abdffh0ik^mRxorZ@tXvy~r(>~xhrH n8 2`͖ ZNJ@2H~*PB h )R1F48<?A ELSW2x\a:c @p 2z8|: xnpxP`0, H\Xd@̨ΤϨHpԈt8װ(ڴ@X`X߼ `DHdXl8 \8,0`  ,(4@xXlHP8p`(4 ( L0 8  H (` ! ,.h678X:D<>X?pBd0CE4F0GDIJOxQ,YHZ]X_\0agxkXrts(y{}T(~PXxXPx($<PDd (H8X˘XЈӤ@@ք`P<Rߒ0"P h 8 4Pp"PX%'0)p.h1|83468:XQA0YӮAAu>QA :AiQAN]Arx_JQAӿA3QA9iAN QAI5C^AQA57s=A}uQA ҷCAfQA縷A5~QA8-fAQAY]A`|QA ЏN~A6vQAKAfËQAGδaA1#=.TQA>e`ABOlKQA𣔾Aa"*QA+xADHQA]X(A]-QAV|A78QA2Ȏ^A|IQAӖA(ZQA[cA>hQAJs,{eA%7wyQA@ѿAaWQA´AabsQAQulAs֎QAZKAB[QAA5vQAQAC^QAAQAg.AIQA=BAuQAAZWQA(~85A|QAOUAjǢQA-ǼAQAP< AQA>qMJA2kQA'< AQAAWLQA=Yh<AfWQA1:AfkFQA&MA|/QA2`AZuQA+A[TrQA;C[A^7o@QA-14.Af۞QA>qMJAwf~QA'AovQAUtA֏QAo"yA.0QAWAQAdAMKBQAnA,^QA:JAQAp7AJ QAuAʳQA3.nA]QAV-AGROQA؞O%AeַQA=YCvAݻFQA4 A[QAӿA3QAN]Arx_JQA :AiQAYӮAAu>QAqn$AG`جQA< AQA`3tATAׇQA0oj|AZbu}QAIr!A*{mQAh:*AZbu}QA;^A<{,QA21a>ARx)QAn\AR~QAeA+RGQAArɥ QAQA QANA`qcQAJA62QA7#A^QAE<ߓdA@QAAD 1QA`rA7qMJAwf~QA-14.Af۞QA;C[A^7o@QA+A[TrQAyS A>uQA%@ArQAbY!fAIQA Au-L[QAvA&PQAlAyQA3tATA( pQAˤXA2kQABA׽QAAmrQAA!A}QXQAZbAYSQAA4 QA wfACQAZ6HAkQABfn`AʉQA0LAz8QAA=IQAҸMAfJQAMrAcRQAq AbQAAJ(%QAr!A*{mQAPGA`vu1QA 3AҚQA'AF.)1QAǵ@4A|eQAP!>A=QAj/Ap(QAnYA1k_ QA&AZdQAզ{AP!oQAU)ArQA~AW]jQA 3AҚQA~xA~QA[eA 4QA AÊQA̛A=*EQA;lvĴA9ݹHQAiA *FQAٍPA{FQA5ZPAivIQANRGAEFQAtvAy*AyQA"A&QA[}ADQA}JUA KQAo Aw*AyQA&lMAuAQA[AmaQApq! AtLQA6CXA-tgtKQAY7fAQ^QAK%*AjHQALr(Ai)י7QA1i'A!K)QA!$AItQA"c#ANQAnX|Aq;QAzARkQAYA!! QĂA=A QA[]zAv QA)aA:ODQAw@A|*QARy A9e QAReAJQA쓼rAKHQApvoAU4QAH,ACQA A-0dQAҽ AxGQA{^p A7pQA+Gf AVQA'0 AI\8QA-;AGHQAfgADuݞQAAt`=QAfbA^wGOQAg#A TbQA"A]RkQA zAڴZQALrAIQAAAIQAAAIQAvz$A|QANÌA #QArz醑A?_~QA_xAu#*zQALrAqiQAjA4izQAC U"A-drQA[AmaQA(ݜA1>uAQA|dO:}Ad}QA9jRA"QAiGA9QA0ߓjA4QA WAQAAڴZQA A3CQAOrA3GQA'AQA~۠XAK (]5QAⳔA".HQAzAˮ oQA+LAĂx}QAAAIQA Aq5QA|dO:}A3GQAK༏ABs0WQAgArQA^VAm=QAeAiQA,A[3QA,AYmQAV}A3xQA,'vA6QAU͠AnS9QAK^AQA>{AgQANtA4׆QAOrA3GQA A3CQAAڴZQA WAQA0ߓjA4QAiGA9QA9jRA"QA|dO:}Ad}QAAzQA"A]RkQAy.AP9eQA}F{/A{UQAdҳA /EQA=AO+@QAAq5QAK༏ABs0WQA lAYmQAOrA_n/QAOFjAc?rOQAkspAׇQA[TAA1qQAߗ<Ax#`QA, iJAsJQA%AQA +A_n/QAA QAAAIQAAAIQA+LAĂx}QAzAˮ oQAⳔA".HQA~۠XAK (]5QA'AQAOrA3GQANtA4׆QA>{AgQAK^AQAU͠AnS9QA,'vA6QAV}A3xQA,AYmQA,A[3QAeAiQA^VAm=QAgArQAlAf@QAA QuiQAOFjAc?rOQA ӿA*QAkspA3QA-ӿA3QA4 A[QA=YCvAݻFQA؞O%AeַQAV-AGROQA3.nA]QAuAʳQAp7AJ QA:JAQAoAm1/SQAgR{AsQAsAaQAsiA4jQA`rA7AD 1QA#AA"QAkspAׇQAOFjAc?rOQAA QuiQAlAf@QAWOA*QAbGA0yQAd AF@ QAiA[u QA9AFQA' խAgQAhnCAU QAT.A#QA =wAU1QAIAv2G7QAϽ6AjxBQAW#Ayi4BQAcT!A8 NVQA%AQ5iQA$A3`lrQAKAfËQA ЏN~A6vQAY]A`|QA8-fAQA縷A5~QA ҷCAfQA57s=A}uQAI5C^AQA9iAN QAӿA3QAHKAOԳQAgAfËQA&KAfËQA$A3`lrQA%AQ5iQAcT!A8 NVQAW#Ayi4BQAϽ6AjxBQAIAv2G7QA =wAU1QAT.A#QAhnCAU QA' խAgQA9AFQAiA[u QAd AF@ QAbGA0yQAWOA*QAlAf@QAgArQAK༏ABs0WQAAq5QAhb!A2IMQAEeVAOԳQAWϮA>CQA٬i*AuQA]R۝A* !AQAxA="ZQAvcA;\pQA?-GA^QAƔ)A-QARJ-A2s͵QA0A2GQA 1AʁQA^OA& QA+xADHQA𣔾Aa"*QA>e`ABOlKQAGδaA1#=.TQAKAfËQAQc(AOԳQA٬i*AC^QA6(AȉQA 62}AXᄒQA-ǼAhQAӖA(ZQA2Ȏ^A|IQAV|A78QA]X(A]-QA+xADHQA^OA& QA 1AʁQA0A2GQARJ-A2s͵QAƔ)A-QA?-GA^QAvcA;\pQAxA="ZQA]R۝A* !AQA٬i*AuQAWϮA>CQAEeVAOԳQA JAQAuALj[ 3QAIAlPQA)źA`QATAWaQA%ɹoA3e]+QAf.RAw"yQAc!TA"QA 4A60QAGWA A"(QA[v[A\1QA.~X=A{ BQA^L>A8M^JQA&;3!Aj]QA AhQAENAvn-QAaLrA?QAFêAAp4QAQc(A!iQA(AȉQAIA QAL8AlPQA2IAlPQAuALj[ 3QA JAQAEeVAOԳQAhb!A2IMQAAq5QA=AO+@QASI^A#/QAlՠ<A"QAL8A9QA[?$AqQAX[FAG߆QA–sAF"OQAhAS\(QA{XAQQAA QA-xAy6QAK_A eQA6ި?AznQA(SA{kQALAkQAFԢAJiQA=D2Ak* gQA-JA>ЪdQAP͂uAlJ[QAvݎAW([QA ;A[i^QA)pA*02}QAZA{3QAÜǻAUQAIwOA%QAy&AQATA !QAyE_VA t)QAވ 3;A JQABxA cQAIAlPQA*5Ao!QA͵A]RkQA2dҳA /EQA}F{/A{UQAy.AP9eQA"A]RkQAg#A TbQA >fbA^wGOQA3$»AQA wA }QAI},AQA0E A,QAK܍AGQA3IAJaQA-AWQAw`(lAW TQAhAOZ;#QAoIA~QARTԱAigpsQACL8eAhQAʰ Aʄ0!eQAv)AIsTQA{ CA*(QAS}A(hQAD AQAf~9ARQA͵AcAQAH_AhAQA&A0%xfbAʄ0!eQA"c#A|*QAH >fbA^wGOQAOrA=QQAb$,ACrzY\QA$ׯ#AH2aQAdAaUjdQAzQAK &oQAs4yA9vQA7iA UaEQA_AtfVQA**,dADQAdAQAfbA^wGOQA;(/A؄b'QAѷ=A 8QAZ۵QfA4QA0+[AS&2QA_ A[ QAv5#A梟%QAFw4)A'-1QA+A[I6QA9-A 8QAdf--A,73QA[ -AD2QA緖'.AQA =6{/A. sQAV2A`=QAuF3AtQA 3Ay_Wg7QAi`P8AXC5QAƠ9Ap QAot:A:\QA Y:A-n@QA-;AdHQA.M<A;uQA ݈W=A0 QAy)X=AP*QAѷ=A QA!˔;A|QA͘I*5A[\pQAYb4A,늡QA&fA=QAaAɁ-QAϰAAE|QA1 AXpQA9 AE]nQA"hAC .XQARѪA؂UQA[8MA"OQA;A޽OQA9\jA8QACߵA*4QAo3AQ64QA&LA5QA"+秲Acl:5QA5U=A[{5QACVAW2QA]ԺFA >3QAϙy'An61QA[ݨA@r1QAA),QA WAQe-QA2>WAe*QA`EA;+QA!A؄b'QA>AQA[`-ÓAgQA'ǓAêQAQTɓA?QA#ApFSQAl*A XQA9}7AXcQAC#AtmQA,HA% QAܷAμQAԡ rAgo QA\sApQQA977;vAt QAW}yA914QAbACWAe*QA WAQe-QAA),QA[ݨA@r1QAϙy'An61QA]ԺFA >3QACVAW2QA5U=A[{5QA"+秲Acl:5QA&LA5QAo3AQ64QACߵA*4QA9\jA8QA;A޽OQA[8MA"OQARѪA؂UQA"hAC .XQA9 AE]nQA1 AXpQAϰAAE|QAaAɁ-QA&fA=QAYb4A,늡QA͘I*5A[\pQA!˔;A|QAѷ=A QAZ:B!@AImUQA &@AqQAkCAQAoӲMAw\QAMA>%ʰQA7NAFqkQAɠ$NAjIELQAZeNAQAF+|MAgbQA9EAّQA(BAXQAbuAAOQAQ<AQAڻO<AQAjݽ$<AQAuw:AhQA_8ASQA|AQA 8 A;QAA_WQA$=ANQAn,"A($QAA!V AhCQAR*K9AQA1n;AQA"7-AW-QA-{A?7 ~QAsAQArJAe'QA.xA+^QAj'An}QA+A3QA?AAA5QQA˓AgVQA$6!QA3Ahv]QAp_<ږA)JCQAU2s{AڦQCQA!A"5j QAt./*A96WQAOqRAQA-8ԐA,QA8oA",QA_ܑAgQAhd A p@QA< SA3+QAH%AO9QA;cSAO]QAbACAQA!A؄b'QA "A;Wh#QAx-AFQA =mAzaRQA5^AQAr2[ZAW7QA\YA QA!VAQA4ņQAToQA^QAjTTQA[QA :QAQMA:QA/lMAXQQA{BAރT6NQAu@BACVNQAj?A]NQAxց܀1AJLQAU$A kFQAbЌA7GQAslA?mrGQAGOAڦQCQAbA$KCQABALQAqQAQAA nQALiAvQAQ('AՌQAD%#fVAkQAQALQA9G AQA4_A&QAA({QAA:A>QAA/ QAAU: QA`\|A.'QA9;FA?QAH:cnAQA"R 3A:QAz0sAVQAPWvA 4QAh@~ArQA%AP,QAcAۈ,QA-mA;'/QAF|A} E3QAR|dA4QA.S/mAQA_WA^iF1QA9؀[AE;AQA0A<"?QA 9h?AlQϭQAn/AGQA }M}AD4QAS\AnQAǗA3z_QA=]mA\@QAU2s{AeQA3At]&QA(6EA8uQA.nAʵOQAyA|0ʶQA+AǚQA+"aA QAU7#AQAIzAjxQA+e$A3QAL&AЉڙQA,'A̓+QAOA74A[`9QAT<4AJ%QA:4A[QA"d5 .@AF0gQAAFA}QA~XHAHVQAO_AYS" QA¯3AaAͼ QAQ qCbA"5j QAzcbA QAxcAdQAdAԀQAW bADڢQA?gA|헤QAjAQAlAϸQADnA QA;(/A!QAVA^`QA$63A4ӸNQAT A{'QA܊m0AA5QAwPA=4QAĒLFA__6QA"6#=A5QA0 #AFIWQAGOAڦQCQAslA?mrGQAbЌA7GQAU$A kFQAxց܀1AJLQAj?A]NQAu@BACVNQA{BAރT6NQA/lMAXQQAQMA:QA[QA :QA^QAjTTQA4ņQAToQA!VAQA\YA QAr2[ZAW7QA5^AQA =mAzaRQAx-AFQA "A;Wh#QA!A؄b'QAiBA5QA hAǢb0QA)ݜAfiQA^AoޕAƝ;QAsEANZQQAp_<ږA)JCQA3Ahv]QA&?;A}3QA9A8xQAC Y AJPQAU4ATQAEAVQA#A+v7YQA3.&A^QA9˜7AHfQAc- ;AChQA={P@A0jQAdJV[A(vQA)EM^A8xQAR-ђ^AMeQAT)^A2.QA'$_AQA⥍hAgQAhAyQAڞ{iAeХQA' miAtBCQA!~UiAwGeQA5iA_}DQA"UsalAd^AQAhqA1CQASpA&Pm0QA #pAgINQA2?huA*hQAY+5H{A7EQAܑA$ǙQA$6E QA_ AiQAh?AEQA XP+A8QAJvAA埖>[QARzm=AX[QA.=AVXQAk;A/N3XQAW <Aa]QA2A/7QAva2AHYQA*2f$A-QA&#AQA;f AphQAA eQAYJ9ASQAb'A 2QASGA}3QAnmA$< QA РYAQAH|AQADAogQAO۴A~QA_~A, A/iIXQAꑭ AogZQAߝM AJ'QA"a Ae'QA  A\QA_Bs A%ugQA-X Aϸ QA-X Aϸ QAۢ AH;oQAHoTARtQAғA{K QAI#AԼ? QA5eAnÁQAEeA@cHQA/4rA QAֈitA[tQA!Ak(e8QA4X̀AUZCQA!AEVQArCAWQA#"A@[QAqAQA&WH Ap QA_* AT |QA÷b A7z|hQA0; Ab QA215 AX`QA%9] AQA TA!TQAHߗLAQAmNA7nQAXxXA\q'mQAKT[A{QA\AdHQAކANQAC Y AJPQAH"7-Am:QA厏 TASQAF"7-AW-QA1n;AQAR*K9AQAA!V AhCQAn,"A($QA$=ANQAA_WQA 8 A;QA|AQA_8ASQAuw:AhQAjݽ$<AQAڻO<AQAQ<AQAbuAAOQA(BAXQA9EAّQA9BA8Q]QAčU@AQA>>A/QA݂>A;YQAGKALZQA厏 TA{CQAShfSA֢QA}QQA3QA=SJHA&FrדQAX5BA3$QAlɔ?AH$QA|<AC|QA9<A QA%<AMQA1-A+BQAUx!A@(QAV1 A?VQAyb,ARQAKdAQAv<AOQA]?vAB:b$QAASQA4h}AHSQAy]A QQAEȶAq2QAVAI|QADA\fyQAeMQAFAN{$oQA:9A`lQAhAI}lhQANOAhA yBQA>h+AKRQA9A QAbҿA'ckQA =ABU9QA Am+QA@dAn+QA DZAASQAm}A]5QARABQAOڪA@E QAЉ.OA QAZ7 AT[QA8A=n%:^QAN ~AQAnA%- QA/%PA QA,͔AcQA?AAA5QQA(ޱQAQVðQA~ yfA&-QA" AMQA@IfA~QAi,A&-QAeȖA3!QAhoZ|9A`t/QA pi=A"QAo=A: QAmA?AzElQAJCx CAMœQA^(@tGAcQA+mJA 9@QA l2]PAoQA͍SA9N~zQAg.q0TAٻ!8jQA\Aj7UQAgaaAqQA~ yfAc#AQAeRWAx1-QAzW6OA8j#QA5x8AұQA[^$AQA@"ATyQAbA}QA`A뢜3QAcA:ŨQAJՒK AlQA:&p AQA:(A*;"ɺQAA^ZQA2YApQAsAQVðQAޱQA8RQAAA8SUQA AMQAo=Ac#AQAنAmQAT4Q>AvQA7KVAՀ7QAنAEQAAA9QA &AOQAO)jsAd/QA$pA7.QAR|)DAQAYA QAsnA)QA9A;/R!QAt;.$A`4_QAE7&xAlڊQA*AXQAcv*A(QA AHB&QA!+tRA5 QAc"JAf6QAJAQA(tAQA>9ASQAf'ACQAXA|fQACzA ٲyQAHA!QA[]HA1QAcgFA젥QAk2AQA7KҙA  QA{OA#AQAu"AQQA6maAelQA/`A-gQANؾA0KEQAiݍA1d7QAbA'jQAAbQAynAS!*HQA~ yfAc#AQAgaaAqQA\Aj7UQAg.q0TAٻ!8jQA͍SA9N~zQA l2]PAoQA+mJA 9@QA^(@tGAcQAJCx CAMœQAmA?AzElQAo=A: QA pi=A"QAD,TA=QA=kQ VAF{LUQA!MVAE#cQAmi&VA; QA6e*}UA}SeQA OTAjQALU=KA;YQA>>A/QAčU@AQA9BA8Q]QA9EAّQAF+|MAgbQAZeNAQAzXA&QAcA =kQA#edAPQQA֐rrA8UQAn<AmQANϿUAh/QA"ARQAByIYAoAQAV-AW QAP%AQATRA6QAAP=8QAh=A-֐QAe]A7QAAq!,QA4Q>AvQA4Q>AvQAcgFAR,QA7S+5AQA,AM QA/CǫAWnQA;g>AtQAKe]AiQA)_q*A;uiQAx:5ArQA iA oQAPld> AQA4^A>QA^A QAGnAAQAc:A_>QAn"_!AZJgQAqX-AQAi5%3AQA/=AA7*QAxuLA_DQAvzFNA~QATGNAlEsQA~vrNAKQA~vrNAKQAK kNAo3@QAENA07,QACpNA&QAlNAn=rQAŝNA ^3QA\-8jNA9QA܁NAmPcQA盃NA}[QAIˋNA~h\1QAEۚɹOA1QAD\x#faA,QAOHcAZ,QAjAp +QAً qA`+QAظ3wAC|*QAi睐u{A'7*QAr}A3)QA2^ }Ab)QAq'L~A)QAlAo)QA,|ЂAE.)QA\A(*)QA5;bߘA#QAMdiJA#QA A(#QAw3AE!QAzTADtQAA0@GQA̩_'A QAqmA߉WQA-~AGQQA7S+5A sQA/A b|QAnOAEpQA>2AwQA_:A-ZiQA0ArMQA`dE9A|m@QA*8AD&QA&WA҅AQA$AlQAXA{,QA|EAnVQAAqQAYۺAQ4@*QA@Ay.*QA{Q A0̐"QA6N6A7‚"QAMuA/_Dr!QAʞALG QA"TA[[k QAjAܧ QAU@#!A02QA}eAu%QAQ<ArкQAS~A1oQAA yAtQA׽yAzfQAbuAR,QAPN]/oAQAe3+nA#QASnA]0QA GUmnAe2 AQAȞLnA&dIQAP$QmAyкTWQA`lA|BhQAS2kAOBFvQAD5tjARQAHiA UQA,:iA׉QAy)iAZӉQAtgA:`UQAS[OAѕQA u@Axo_QA5sA2<AjbQA8WԤ6AQF.fQAyP(A"RGgQA;"AW'cQA-"Aw`QA>ṵAp,:dQAA8pdQAܹ{AdQA-7!)AL0XbQA8A.݁\bQAMA@H_QA.\"A!TQA/2AQAaYAQAIAeqQAM_A5QALA2YQAW~dA@QAӎ" A\QAƝAĻQAZĕAQA9#ဒAYQA#'đAQAh08AF\BQAbA'jQAiݍA1d7QANؾA0KEQA/`A-gQA6maAelQAu"AQQA{OA#AQA7KҙA  QAk2AQAcgFA젥QA[]HA1QAHA!QACzA ٲyQAXA|fQAf'ACQA>9ASQA(tAQAJAQAc"JAf6QA!+tRA5 QA AHB&QAcv*A(QA*AXQAE7&xAlڊQAt;.$A`4_QA9A;/R!QAsnA)QAYA QAR|)DAQA$pA7.QAO)jsAd/QA &AOQAAA9QAنAEQA?AA PQA/@AQA--AK'cQA,AM QA6N6ASƼQAu7c#AGQQA$AlQA&WA҅AQA*8AD&QA`dE9A|m@QA0ArMQA_:A-ZiQA>2AwQAnOAEpQA/A b|QA7S+5A sQA-~AGQQAT A)YQAY6AvQAWEAEuQAxA9}QA AݾQAIAMQAl2K^ A)QAQR AX&QAgAuY#QAen,A<6 QAvӊ!30A QAT}J0A`%z QAh&S<A$ QA*CAN QAd!JAu݀ QA7޶ LA~ QAcnOA<QA`jPA)cQAHQAPQA'WAQA+OZ]ArcQA_IcAQAfA^(QA뭴hA}QAم,hAQ>QAyhA[jQA,ChAX>SQA~{ݎ!hAFQA7hA/QA5hA,QA&eYhA*QApZ5hA\QA(=hAzuQA%\tkgA#8QAn gATsQAT_gAQASqgAʮQA 6fAWyVQA,afAʐc2QA'fAq 5QA݇eApQAUAdA[VQA&X dA[`=QA^Y cAۆQA&;cAA;QAT>cAE4' QA8I'bAepqSQAͅnbAKQA# [ַbA4FQACƴbA{IXQA8sbA*QAWAbA]QAﴊbA9QAzB4bA#QAaIQAcAYRQA3cA]3QA5ǻdA#+QAQdA}lɠQAŇ8cALQAKcAjnQAWG-#cAcQA^/cAP¡ SQAjgdA$^kA: QAXnA :QA ͖WoA$OUQA;1VoAKJQAYb$qAoc1QA¤+rA;QAsAUA$ѼQAǩ|QUA?VѼQAeT$PA ѼQASsePAѼQA"]OA o<ϼQA TNAk(RϼQAwk)AKC'ռQA>1'A]ռQAA!zuּQA#APiԼQA!Av(rԼQAoiA,sּQA:o ?AּQASK<A^tؼQA5D?A\$bּQA$2DAf!׼QA9l{A/QAٻ|A:QAՔ}AmhEQAe9A¾QA:wMVA o8=QAn'@fAw"dQAAn-uA)QA5wA$QA A xAAeQAUxAsQALXA>Y!QA+gqdA-dQA['A(QAvFA@*iQA$ #Ajh~qQA5 ѷA* CQA#yҷA(9oQAGKطAQAZ$طA8AQAZAQAf;3AjQAW^ADQAW`A9< QA;0A"r|nQA6N6A7‚"QA{Q A0̐"QA@Ay.*QAYۺAQ4@*QAAqQA|EAnVQAXA{,QA$AlQAZĕAHӼQA$2DAQA{aYAQA/2AQA.\"A!TQAMA@H_QA8A.݁\bQA-7!)AL0XbQAܹ{AdQAA8pdQA>ṵAp,:dQA-"Aw`QA;"AW'cQAyP(A"RGgQA8WԤ6AQF.fQA5sA2<AjbQA u@Axo_QAS[OAѕQAtgA:`UQAy)iAZӉQA,:iA׉QAHiA UQAD5tjARQAS2kAOBFvQA`lA|BhQAP$QmAyкTWQAȞLnA&dIQA GUmnAe2 AQASnA]0QAe3+nA#QAPN]/oAQAbuAR,QA׽yAzfQAA yAtQAS~A1oQAQ<ArкQA}eAu%QAU@#!A02QAjAܧ QA"TA[[k QAʞALG QAMuA/_Dr!QA6N6A7‚"QA;0A"r|nQAW`A9< QAW^ADQAf;3AjQAZAQAZ$طA8AQAGKطAQA#yҷA(9oQA5 ѷA* CQA$ #Ajh~qQAvFA@*iQA['A(QA+gqdA-dQALXA>Y!QAUxAsQA A xAAeQA5wA$QAAn-uA)QAn'@fAw"dQA:wMVA o8=QAe9A¾QAՔ}AmhEQAٻ|A:QA9l{A/QA$2DAf!׼QACcAY0׼QA# xASؼQA*hAc!ؼQAt59A 2ټQAp&:QA$D+ټQA:PkyAۼQAݨtAXټQAGQsAyօټQAs#TrAMټQA6]*qAܼQA,Y'oAZܼQAY# XAuټQA5z8AhؼQAr[7A!ؼQA $4AռQA\VAwռQA%A !ּQA'EA*꒯ռQA5UA3>ZּQAA?ԼQAhj AztzռQAMYAHӼQA%ߍAFQӼQA6AѺTlӼQAVA%/cԼQAl(ARԼQA{9X AbԼQAA[yӼQAADӼQAC? A Uo QAF0AxnQAGQ+A%QA5Aq+tQAxkAx{DQAX9AF\ QAV"rA)QA5ANQAYgșA1H&z(QA&V@A3QAZĕAQAƝAĻQAӎ" A\QAW~dA@QALA2YQAM_A5QAIAeqQAaYAQA h`ADӼQAGQ+A'jQAJ+ A. vQA5QAhLؼQA8;AlGټQARJAYatּQAAu-iԼQAaF۩AaԼQAC74AbHQAv#Ax!QAuAY$QAWmtASA|QA}`=nAGPLQAWH5kAp SQAm4v4VAol?QA.G-VAObQAI\|IARjQA S/A}eQAjD1AbQA&1A4y"vQA1AKOeφQA}0AwQA6Iu0A BQAWv0Ax QAus/ALQA/AjNQA!W/AjQAȏ< M/A5EQA Ľ)AT@r;QA/''At5QA%_"AQA A++QA3ALfQAJAV7mQA#=vAloŋQA`A뢜3QAbA}QA@"ATyQA[^$AQA5x8AұQAzW6OA8j#QAeRWAx1-QA~ yfAc#AQAynAS!*HQAAbQAbA'jQAh08AF\BQA#'đAQA9#ဒAYQAZĕAQA&V@A3QAYgșA1H&z(QA5ANQAV"rA)QAX9AF\ QAxkAx{DQArq>Aq+tQA;BcAubl?QA/πA%]QA{AV-KQA"1AGDiQAip}A~QA<A{OGQA5]A6dQA?;Alo׼QAAA"8ܼQAWA,8[QABEӇAQAAq>QA&/MAQQA6.AEQAvŹ_A1ՃQAkAӉ)QAGLJQAѿQA̹6AvQA1A0nQAk,ApfQAyMAZ2QA@VAAM1TQAsamA,k^QAlA>5QA::nIAŎKQAAИCQA&tAQAVM%AVQQA"0޻LA1ՃQAa.AItQA}EAF=|QA9-AsaJQA*T'AQ0E١QA!WUA#QAΕieAI:QA&Q&AAղQAᅫA`x#QAC=.կA1QA2` AIQAl AzQA9m4 AȀQAߦ7 A|+QA#IA^ QAkQAF<QA#BtAE9QAwBV]AC DQA'DA PLQAߥlAOr_QA4;AH\IQAuC AqzQA}?B !ApQAN!AZw?QA~z"A銖!QAӘ #ARZ QA"c#ANQA!$AItQAB_$A QA$A=QA$A'n.QA$AM_QAG%Ax`92QAV5%Ao1}mQAz)㰺%AaCWQAq`9M&AUQA &ADQAP||(Ai:QAX")A$4!vQA-+Ax0QA#M+AmQA+AO ޜQA+AO ޜQA C-A|l.QAe<-A+~QAp.A7ɔ QAa.AZQAR.A%QAVM%AVQQA&tAQAAИCQA::nIAŎKQAlA>5QAsamA,k^QA@VAAM1TQAyMAZ2QAk,ApfQA1A0nQA̹6AvQAGLJQAѿQAkAӉ)QAvŹ_A1ՃQA)Aɪ%Q QA A! QA'AZN QAZA7} QA\vAWQAf(6AS9QADOAQAAlQAʑګA4QA޻LA,j:QA}EAQA.%:lAQA1sAEjQAW҇_A!c>QA3fEA|EeQAHAqxQAƂGIA@~QA <3AxQA;4AKGQABAUjҒQAH<3;AQA.sA&QQA<4%AqQA\\AQAuƾAlTQAeAD"QAdXA TQAtaA#;QA*CXASiHQA:XAGҚ/KQA ;A[i^QAvݎAW([QAP͂uAlJ[QA-JA>ЪdQA=D2Ak* gQAFԢAJiQALAkQA(SA{kQA6ި?AznQAK_A eQA-xAy6QAtgA4> QAꘑAwQA=FA˫ $QAPH!AwQA8nA QA6xA~`AQAAG!QA*5Ao!QA fAjr&QAZbAk&QAnMZACQ-QA֘A2QAzgyA2QAm:AU,:QA&A0%xQAg#ϣAyvkh+AKRhA yBQA$ARfQA$A? fQAM-AhQANOAMQAޱQA8RQAsAQVðQA2YApQAA^ZQA:(A*;"ɺQA:&p AQAJՒK AlQAcA:ŨQA`A뢜3QA#=vAloŋQA>JAV7mQA3BAgB4IQA.]At-QAA=QAǵ@4A|eQAAF.)1QA0oj|A QA?A–EQAvH9AE(PQA.~^AߓQAAQA3~As`QAKrA QAKrAAQAh:մAy1B8QA'ɾ}A PbQA@AH۾bQAbA^ŚQAARx)QA;^A<{,QAh:*AZbu}QAr!A*{mQAAJ(%QAq AbQAMrAcRQAҸMAfJQAA=IQA0LAz8QABfn`AʉQAZ6HAkQA wfACQAA4 QAZbAYSQAA!A}QXQAAmrQABA׽QAˤXA2kQAJ|AA$QA2`AZʺ̽A>QA#A_.QAȴqA7[xQAAVA2TS&QAhZAcδ?QAJ-[ALj{BQAAeFQA$ί A빖"QAi7ڼA¨oQAgLA0-ת9QA3A;QA$0HsZAaoQAg#ϣA<{QACs\AGcOQAU`AOFWQAcAEYQAdwiA`QA51`jA5`QA8wANQAN&A<{QA<A\QAK0A rQA{A [QAg#ϣAyvkQAJi7A_8QA3A;QAgLA0-ת9QAi7ڼA¨oQAf<A<QA/zA!RQA6ܦaAiQ4VQAfbFADwQAo{A<.xQAWУA.WxQAYAxAQAlAG㒌QAjAlQA^%lŭA!QAqyËAIo( QA_HzA!QAŒ:A9QA (A{QAVAaA3 QAJ}2AQAKE=:AijQAY*Ak]=QAzArQA.8Ab)QArA=ആQAktA"QASA^LcQAkR;AaoQA@cA=%rQALDA'*QA+GۊA3bQAs A ^cQAkA,pQAdnԜAd.sQAɜ HzAV1loQAG`xA\ #jQAwAjqCQAؠA'VQAW6 >AaxQAՖA"[QA!?ACQAE!A*a%uQA Ag^rQA}:p}AС6NQA[o|AHQA+JwAP?QApA$ ?QA CEA\QA.yoNARbQAS{+NA `jQAٴgUAL~ZfQA5XAz{hQAXYA+ohQA7[A`hQA/YAQAL@\ATQA ]A{iۜQA<)`A<;QA~B`A*QAhUaAQA,aA+"qQAO_AMHQAMV1_A[QÀ3^A/khQA(]AQAP[A9QAGhhZAbQAQ?YA QAAxXA1HQASKWA;=QA6VAQAM@TA#!QA wTAø9QA wRA9QAt(9KOA3&QANAQA;rIKAZPZQA$6RIA9||QA~!HAqfB;QA\/GAsyQA9zFA){QAz?FAjQAa|3ʬFA9f QA.rFAi"5QA\KsFA7QAD+XFA kVQAg|]FAxcgoQAgEFAvdQAPcHFAyEQA]$FA6/dQAI/xEAb_PQA^SEA}y[QA]_EA>QAyoNARbQA)@AAvQA]"A4,GQAEmgMA,'QAU,A{.QAX.A宂QACAN;QAA $pA#rQASJA4,GQAe$A'"QA&AlQA AlGQA AQA$AۭQA(ZpAiQAȖAQA!A~MüQAz!A=JQA6!A d7QAT4"A[O}4QA]"A9F\QA]Ї8 A^+QA TBAw QA9TAYYQAZAQA>AO{QAMA\=dQA=xA/1VQAH#yAZTQA+;AW.NJQAZA-?QA7~ArW#QAwAyQA$1AB9QAWcwAvQAVMArQAq5)AuP>QA&A}QA)AmtQAxA rwQAAAO7'KVQA;AűO=QA/Ag!QAk.A4oK QADWAkQAw"A)EQA9A QAN"AQAϢ%AVQA#vA/QAs?AM56QAA*OQA2 HAn+jQAp AI`fQA : AfQAqSI A`gQAup AjQAyA?+QAfA⒞QA{;MaA=~AQA7A<\˵QA[4Ae]$QA^(AAvQA?Ce,AoQAF/A$YPQAiAQ8QA`ޣOA/_ҼQAA}.wQQA\ YAWYQAhGA/[QA]AP\QAmgMA,'QA*@STAPdQAi\AX[QAe РYAQAnmA$< QASGA}3QAb'A 2QAYJ9ASQAA eQA;f AphQA&#AQA*2f$A-QAva2AHYQA2A/7QAW <Aa]QAk;A/N3XQA.=AVXQARzm=AX[QA>A埖>[QAs\AGcOQAi\AϊM7QAR[AߏBQAHsZA5 QA8M[A=sQA7[A`hQAXYA+ohQA5XAz{hQAٴgUAL~ZfQAS{+NA `jQAyoNARbQA]_EA>QA^SEA}y[QAI/xEAb_PQA]$FA6/dQAPcHFAyEQAgEFAvdQAg|]FAxcgoQAD+XFA kVQA\KsFA7QA.rFAi"5QAa|3ʬFA9f QAz?FAjQA9zFA){QA;6EAzz(QA) DA QAuşBAosfQA4AAT/hcQA|??A+}QA>A#7QA5A=AkQAh=ASe2QAJ<A[!QLQA|*r<AcQA;A!QAjE@:AIQA!9A@jQA?9A!/QAC9AJ4QA!ޓ8AD4QAn~ujv7AR>5QA.! 6A2QA d5Aʔ2QAP:^5Ar8AQA4A1װQA]"2ArlQAK^_0AωQA6 1AlQA p1AQQAdG#/Af+QAbF^/A%QADd,A⺚QA*A4QA~u*AQAyw*A3QAݛg#)A QA-(AfKCQAfG'A~QAbL'APdQAڿ&AQA^:&A7F[QAƦ%A5|QA6P$AnQQA&"A,QA]"A9F\QAT4"A[O}4QA6!A d7QAz!A=JQA!A~MüQAȖAQA(ZpAiQA$AۭQA AQA AlGQA&AlQAe$A'"QASJA4,GQAA $pA#rQACAN;QAX.A宂QA8Al쏝3QA+?kXA(,QA8>Ae QASTALQA РYAQA+'A> 5QA9Dd,A⺚QAbF^/A%QAdG#/Af+QA p1AQQA6 1AlQAK^_0AωQA]"2ArlQA4A1װQAP:^5Ar8AQA d5Aʔ2QA.! 6A2QAn~ujv7AR>5QA!ޓ8AD4QAC9AJ4QA?9A!/QA!9A@jQAjE@:AIQA;A!QA|*r<AcQAJ<A[!QLQAh=ASe2QA5A=AkQA>A#7QA|??A+}QA4AAT/hcQAuşBAosfQA) DA QA;6EAzz(QA@mEAzљQAQzFAQANHGA[}=]QAAPHA3bQAݮHA;{iQAHXHAỹ8QAJHA5,QAd*EA {-QA=EA["QAEAnvQA[oEAV3QAPEA QAf>AGSQA\lL;8Ad`QAͮ2A7;wQA"(A> AGSQAPEA QA&CEAQ|QACp=FAO#3xQA63EApQA CA4qhQAΙCAD:cQAc0VBAo!*`XQAjs @A•JQA@A3P JQA @A_EQA&X?A,2=QA AN>A%5QAlW>=A,QAh<AV*QAm:A QA 9A1[- QAs:9AMmQAo]7A~QANȧ;6A;G%QAbs4A>KQAs=3AmޭQA '3A:e]JQA#2Av0?QA:3ظ2A2qQAY+|2A_VuQA-)AmtQA3A9F\QA5+;AW.NJQAH#yAZTQA=xA/1VQAMA\=dQA>AO{QAZAQA9TAYYQA TBAw QA]Ї8 A^+QA]"A9F\QA&"A,QA6P$AnQQAƦ%A5|QA^:&A7F[QAڿ&AQAbL'APdQA'AߧyQAy(AOQAA(AܮAQAB\H(A nQAHx(AEHRQA"(A> QAVMArQAWcwAvQA$1AB9QAwAyQA7~ArW#QAZA-?QA+;AW.NJQA.[4Af .QAꠀIAO#3xQAMyA?+QAup AjQAqSI A`gQA : AfQAp AI`fQA2 HAn+jQAA*OQAs?AM56QA#vA/QAϢ%AVQAN"AQA9A QAw"A)EQADWAkQAk.A4oK QA/Ag!QA;AűO=QAAAO7'KVQAxA rwQA t*AմMzQAɹAQAƬA,QAMMA/QAKQANȧ;6A;G%QAo]7A~QAs:9AMmQA 9A1[- QAm:A QAh<AV*QAlW>=A,QA AN>A%5QA&X?A,2=QA @A_EQA@A3P JQAjs @A•JQAc0VBAo!*`XQAΙCAD:cQA CA4qhQA63EApQACp=FAO#3xQAR1~GAwqWQAJɢHA}|*QALz%IAM"QAꠀIAҠQA*Ǣ?A8UDoQAS,6A^x݄QAuG6A|QA0A!l\QAF'Am)QAwr&An&QAA@34QAQ\H;A̰QAX\:A}QAsAQrQA:2R:AfQAtA9&hQA]a AzmQAkdA/ZQA=AUVQAlBAf .QAieDAKyQAYӮAAF^+-QA3* A|8oQAqhA(+CQAH+A&}hQA?AyZQAj0AxQAsҩA H QA";AЊb+QAMQ+AF^+-QAZ5A]-QA#G2A"nf-QAo)A.-QAW(A Z"QA 2%AI$QAGyADL\$QA DA63$QAAVA2TS&QAȴqA7[xQA#A_.QA>ʺ̽A>QAS'AIQA?AAQAv`AAFwQA)KMa^A;iQAנA YQAYA[G=QA\oAAVf/QAxEA&)QAAQA< AQAqn$AG`جQAYӮAAu>QA(\9A/ҖQA AbQA DzAQAr\A6-QAT3AG QArKASQA)+,AX]QA*-A%QAkt֗Ak\yQAtaA0q;;QAA@QA-^a뼫A(@QAt+kA>qCQAf2ףAEmQA>fÉApYQAcAwQA{A<`ZQA,DVAQA(k[ҩA\QA* A|8oQA00z>ؠAHQAFT}A'VQA#"ASQAAtQAШPAWQA̭[~ A{UQArKASQAT3AG QAr\A6-QA DzAQA AbQA(\9A/ҖQAYӮAAu>QAFT}Axܧ|rQA A? rQAXǾAWuQAA`qQAihqAAaxQAz>ؠA'VQA"ASQA1.\]CA 1QAf eAWuQA.o.A]aQAEQAsdQALwA=$fQA,۳A siQAihqAA)QA@@QA+xQA[%+ȳAxQA1|A%mlQAJRAQA>‡įAؔQA+4yAOBQANAFQAFRA+_QAAQAGlA&HIQACw&FdA,0yQAf0ߧAQA^ A 1QA"A&(QA8񄿔AQAb ;*AkQA%ȤAjJQALAW0QA*ģAWeQAU8dCAw%QA"BA)Xl/QA.\]CAZLKQA]|Ak.KQA[#Al=WQAsc}A'|FZQA6+A~R\QAQ~-JA W_QAo.A]aQA2 CEAlPQAIAZLKQA; CEA\‡įAؔQAJRAQA1|A%mlQA[%+ȳAxQA@@QA+xQAfU>A)QAᾉA. QA~ AlmQAT"A9]QA(AȉQAQc(A!iQAFêAAp4QAaLrA?QAENAvn-QA AhQA&;3!Aj]QA^L>A8M^JQA.~X=A{ BQA[v[A\1QAGWA A"(QA 4A60QAc!TA"QAf.RAw"yQA%ɹoA3e]+QATAWaQA)źA`QAIAlPQA3A9VYQAqA1zQAd|A ƆQA̲Ab-QATj)AgQAOsK"A,QA͆Av!QAۑkAfa,QAd Ap~FQA.WA?QA CEA\fÉApYQAf2ףAEmQAt+kA>qCQA-^a뼫A(@QAA@QAtaA0q;;QAkt֗Ak\yQA*-A%QA)+,AX]QArKASQA̭[~ A{UQAШPAWQAAtQA"ASQAz>ؠA'VQAPGA6QAGmAKQA@mG&CA]]QA]rRA.QAׁAv+7QA)JhA~cQAں-:AHQAC6AB1sLQA@#A9g(QAAERT#QAdАA`QAkR;AaoQA4ȉ>JAC.QAtaA9 ?QANI]ȉfAoQA|SiA~ʐQAXӀkA-QAGlAK̟QA AoA»sQA({A/JA`wQA[MAISQAt:HTAӀ QAIi-WA6?QAJ|ԑXAtQAXAo)QACVcA<.y2QAJ]3%cAvYQA`8eAĮQAJ.*?lA#tQA鳃uwkAL{QA ZkA"QA58r(=kA;QAʑ 5>kA"rQAöjAQA}viA]QA5]M&jA[" QA{>riA2QA(hAp ZQAdP`gA5pjQAĨ1#eAQA$aeAQA&)DeAQ QAnriA2QA5]M&jA[" QA}viA]QAöjAQAʑ 5>kA"rQA58r(=kA;QA ZkA"QA鳃uwkAL{QAJ.*?lA#tQA`8eAĮQAJ]3%cAvYQACVcA<.y2QAXAo)QAJ|ԑXAtQAIi-WA6?QAt:HTAӀ QA[MAISQAȉ>JA`wQAD\̺FASpWQAսEA=ș_QAEA,bQA{߆DAؓbQAٿR'DAҖzeQAu0BAUQA}02BAu&9QA 7BA-4QADKBAo%QAJCN@A}.q6QA`<A{&QAb;A^,!QA(B,9Af NMQAF)mV5A~oQQAcR4Ah@agQA߮̀5AT'7QAnN6AA QAs^4AW"QAVL793A7DQAUƫ0AW0QA1d-A’AQA:r+AhCkQA}*A/l-QAR<}I'AU,QA%Aps SQQAM%A2|QA&A]QA^&AQA&Ay-QA][i%AXNjH'AXQA 1D'A QA"7(A=QA6X^(AӒ)*QAٿR'DAm)QAH^(AAvQA[4Ae]$QA)(AAPQAieDAKyNjH'AXQA][i%AXQA 3AIs;QA;IA QAGAQA.wFAO>QA?SAIQA >9AӒ)*QA|qATlQAi><AȡIQAA>KQAme{AY7QAOXAx|C^QAkOAvy aQA͏haAԪ3QAheA&qQAiANɮ`QAkEDA{SZQA^(AAvQA7jGxAlQAuƾA#;QAT.wFAO>QAGAQA;IA QA 3AIs;QA9XA[R>QA BA@u3QAܳ+p AQA K| AM[QA #ARJA`wQAiߴKAh QA MAxQA5qPAC.QAګQA'0QAPpAeRQA⼓A]QAJ-KׇA]QA~3퓂A02QAQ'1AܕQAtVAckYQAdEưA4|M/QAr+kA//QAlAϯ^QA6.6{A@61|QAtaA#;QAdXA TQAeAD"QAuƾAlTQA\\AQA<4%AqQA.sA&QQAH<3;AQABAUjҒQA;4AKGQA <3AxQAƂGIA@~QAHAqxQA3fEA|EeQAW҇_A!c>QA1sAEjQA.%:lAQARAc>QAL&A|^QAG ҙA쳠QAT_A5`QA1a,1AY~QA}EA9AӒ)*QA?SAIQA.wFAO>QA8E A,ERAO8A1MWRAvۇA*U&WRA<A"N WRAAf@\ WRA,E AGVRAꥁxAQBkVRA{#A{VRA] A'PVRAhnA#VRAy"ATRA$_Y A9 lTRA"oAkgTRA'MA ˠSRAlɬAAs,TRRAA8AC=RRAxz$"AuQRAʯqnAm$?)QRA[7A%44PRAeAD5GORA|]،Au1NRA&A0') NRAX7OA9WMRA,LAuJ A]bQNERA)V{AƭERAЮKAe>FRA1AXH1sFRA`A {FRAA-DFRA5-A6ƑFRAxWAW;GRAXK5RAoh;IRA$A ,O_JRAeA!;sKRA;QARYdLRA0} (A]LRA A{'7LRAЪA ADtLRA]#ԏA pLRAޒAਕLRA; kAqLRAe$ARJ^MRA컢AwJMRA6ALuBMRA`;A KMRA&okAUPMRA4AAgVaMRApA{qMRAAtMRA0ԇA:wMRA[w<AnMRAАAx|MRAR vADYMRAJ[AMRA8RFA[FMRA>.3A ܔNRA##1A蟺 NRAw)=AvM!NRA8$A$`7NRAP&A*A!rPRAkA~ORArOAORAݛK1A QRA!W;A(QRA`~eLAxs@SRA NRASRA9zaA?(sURA)ކbAJnϚURAמlA6VRA'wnA?VRAt8JnA˪VRAnAa VRAnAf֨VRAǸBֺmAs*VRA೘mA)'aVRAmAL|VRAdlWnAh COVRAsnA*&VRAY,oA فVRAUooAՌVRAnWToAVRAJ<"dpAVRA)qA@DVRA뫞qA0m9VRA%*qAoVRA(Z(pA٢VRApNoAoArSVRA3oA $YVRAp2VrApyWRAtAXSL/WRAa}jtA ~BWRAd(uARWRAiNTvAS[WRAD[xwA/ZWRAL wAuWWRAfwxAJ*;OWRA 1xAa0AWRA[yAHн8WRAPyA ½5WRAUfzA*D8WRACn+A@4JWRA5WV"AxuWRA(h0A1MWRA)vA&[WRALAii(OfWRAvۇA*U&WRA9()V{ATD:RA7xV2AiJRAUXCvA5JUHRAxzXxA~IRAGA+.RJRAO8AiJRA/,Y~A&HRA!ҏA?QHRA A_W"HRAkYbA:HRAv<AJ.GRAUUAMGRAwA@ϳFRAa敐AwqFRAcȐAwrȚFRAR_AiFRAƋ AeFRAA)+FRAFߐA% ERAAdZ2ERAvy5AUERA5qA6sNERAh/A FRA<ͼAgS( FRAA#/Aw7VDRA8\K.Apy'DRA\pS /ALcCRA/A"BRA{AA/A +BRAL\N0A,NMARA,˒0A@RAU;0A?7T@RAF;=0Arۚ@RAhO1Aj6a?RA4# 1Aq9g?RAVxT1AB|?RAq1Ar+i?RAdvʧ1AV\^M?RAc@1Aq K ,?RAw1AF)?RA~D2AAM>RAn B2AAG*#H>RA7xV2A3>RA-[-A{Eb>RAI71W`-Awſ>RAA3?Aa>RAAa;]>RAcaL!A2Y`8¹A <;RA[|ٸA2z;RA'>AX;RA0[]*A0T[W4RAH\qA@p{>RAEiAg,m?RAfaA,>?RAOqAN\A, ?RA%hvRA @RAL__OA&@RAP_9MAIfw8@RAnjdGA| V@RASҘFAٖO^@RAыPp?A1.@RAY[mV57AR@RA=`T6A>OO@RAJ6A:Vd@RA,5A^L@RAQO.AIb@RAJ|.AԖ@RABL -A0h@RAo[d$Aa@RA AMd@RAJaxAa+@RA OAUfz@RAnA%s^@RANOA`T@RAQY^ AUg=@RAa3 AZF@RA?Km A0i]ARAnz> ACݴ#BRA׍9A% A 79BRA=q* A%*JBRA* ABpBRANAzD BRAy_ACRAgtqALE`DRAT AQDRAʧA3DRA)V{AƭERA>J A]bQNERA)z|AJiERAoA,ERA/24AERAL}j3A!+ERAR/5AgERAU <AzkjERArq{GAFERAqH\A_)ERAԷ_AǓ,FRAޟ`AgBFRAu"cADĬFRA"DcA[FRAlA!lk;HRA;mA THRAoA Y6}HRA 7,pAPHRA֩sAMHRA5[uA8HZHRAUXCvA5JUHRA:g򣸯A2RAT DK5A3>RA]h6A~\RAA3?Aa>RAI71W`-Awſ>RAsG-A)>RA-[-A{Eb>RA7xV2A3>RA2A)~=RA,3AR+A-15RAC3&A15RA] ACW*5RAlNAѶ5RApE} A(n5RAagAqlq15RA<A[74RAA䟶 4RA6MOA `]ѧ2RA+A=C2RAcsAz2RA $A1?gj2RA_A c2RAAA󛲆c2RAGK_Agk*2RA'0A2RA@bξA 1{3RAĀA-53RAg򣸯A֦3RAP.N9eAK3RAMAd3RA[ʺA#'lN4RAoĬA-Y4RAyAIx[4RA`Amql4RA./RAps6RAR}AFn^L=7RAY AJ8RA!ILA Ki8RA6.L A>?9RA#4ATD:RAM3A Zh :RAp E A(:? :RAT(AŸ :RAEAÊi :RAmo+AiK.;RAoA]t[;RAXOZA`0l;RAa,eA;RA9 q{AEb;RAGA>OO@RAY[mV57AR@RAыPp?A1.@RASҘFAٖO^@RAnjdGA| V@RAP_9MAIfw8@RAL__OA&@RA%hvRA @RAOqAN\A, ?RAfaA,>?RAEiAg,m?RAH\qA@p{>RA8H`qA{(h>RAq3yAS,?=RA. DAAX4AX;RA[|ٸA2z;RAD>8¹A <;RAy+kڹAio:RA#4ATD:RA6.L A>?9RA!ILA Ki8RAY AJ8RAR}AFn^L=7RA./RAps6RA`Amql4RAyAIx[4RAoĬA-Y4RA[ʺA#'lN4RAMAd3RAP.N9eAK3RAg򣸯A֦3RAĀA-53RA@bξA 1{3RAGA5Z2RAUĂ2RANpAϱ2RA VXAzj*3RA)XXAM/3RAxXA0`83RA$$XA3$V3RAޥUA:54RAP4H|UAP4RAZUA٧Ч4RA}VUA;ja5RA"^IVApor5RAO8VA݌J7RAxHu VAY]]5[7RA>wVA +7RAKUAC"׫7RA " BA?|7RA.=A'Q87RA0S2AOjo7RAls0A$c7RA`F0A"{7RAyfE-A%8RA7%A>VGN8RA)"AXÔ;68RATA7RA} Aa%:8RAj AGw8RA AM΂O8RAIOƱ A$8RA!!s{ A*a9RAok A֗&z9RAB(: A&:):RA?d& A:RA` A F:RA^[ A/[n;RA;i AW;RABȉ A`ρ;RAy^v A-FsRAӃ) A6s?RA&m Av^@RAa3 AZF@RAQY^ AUg=@RANOA`T@RAnA%s^@RA OAUfz@RAJaxAa+@RA AMd@RAo[d$Aa@RABL -A0h@RAJ|.AԖ@RAQO.AIb@RA,5A^L@RAJ6A:Vd@RA=`T6A>OO@RA<|+Ancr"RAA>VGN8RA܁=4,A#$RA޸A*;$RADA9>($RA_Au0$RA9AQ U$RAx^RAEx$RA&RA.WxkA{Ԧ*'RA|UbIA4z'RAe9A>'RAKAB'RAQ Ag~ (RA,U(cA,G(RAa A폊(RALcAP(RA cA0n)RATA](ۈR)RA,2A2&EL{)RA"AHA)RAZA[)RA.̲A')RA ΄A>G)RA³ $A*RA~>VAd*RAHAzN+RA`#rAV\\+RAGAHsm+RA#'cA|+RA͔)Aԃ,RAE)iAۜ0-RA"iA<-RAQAc.RA!?/AT9 a/RA0Af/RAJVAO}6w/RA ZAއȵ0RA_`+A0}V0RAR:AnW{0RA_xAe0RAs=Ah51RAp*Aw iT1RArfAow'{1RAlj^iA1RAXm.A3Ɉ1RAuKA=1RAw(A,2RA`$dA&)3RA! ;Ash]3RAGA3RAX:A?3RA@A{Xh4RAYASP4RA3A 24RAJRAVGN8RAyfE-A%8RA`F0A"{7RAls0A$c7RA0S2AOjo7RA.=A'Q87RA " BA?|7RAKUAC"׫7RA>wVA +7RAxHu VAY]]5[7RAO8VA݌J7RA"^IVApor5RA}VUA;ja5RAZUA٧Ч4RAP4H|UAP4RAޥUA:54RA$$XA3$V3RAxXA0`83RA)XXAM/3RA VXAzj*3RA֐XA3RA94fYA2RAƼSZA@0o2RAXdA(j@K1RAdA1C1RA95eA-F51RA'9 leAÁk0RA$u^fAc j0RA ^fA/0RAgA_sg/RAH͍gA&vN/RAogA"N/RA;ݱgAVh.RA}xgA&.RA:%gA.RA7gAu.RAlhA=J9{.RAmr hAO"u.RA(~1hAy\.RAyojAِaV.RA ZmA$M.RA. mAw5J.RA$oA/9D.RAqAR=.RAPIeqA!2.RAf3oqA.RA?qA-RA}qA|-RAvAO.Y,RA-{mwAL{7H,RAPcyAq,RA}KzAcp+RA:SzA=+RA SAn+RAuoAkt*RA?E$yA!6(RAsAeA(Tψl(RA2śA n'RAAIs'RAu0ϕAg%v'RA͎A{ {'RA A< N'RAl_aA(d'RA׮EAҗ#-'RAy A'K|'RA]щAP&'RA. 'AON4%RAlNUAwU%RA6DTAR%RATcR A&Ji$RA[vcAJ5#RA{}A:nڞc#RAUr1~AZ1#RA|*~Av\#RA QH~ADV#RAK_?S~Ad"RAAAo;!o"RAuۀAU"RAm~KA"Ly"RA; gAbǵ"RA,#zA\ "RAi~A |k"RALd}A"RA9MtzA7t(ۧ"RA =lA4ww"RAjAncr"RAdAv"RAabAw"RAߛ$aA3w"RA_^A-@"RA׍|ZAHU"RAtNLA#RAT&&IA̍ B#RA6|?Aofv#RAðv<AsQ#RA5S(8Aſc#RAf'A/@[#RA$>"AXo#RA2m'Aͺ#RAh Ae#RA^$DA$RAhAx$RArФ~Agü$RA܁=4,A#$RA= VXAgA&.RAFR;hAmK.RA}xA4RA AA8Z4RAhjA52RA!AcWg2RAnI] A䢥V2RAoZ AS2RA6?A_v0*2RA詶A-q1RA^Avzm1RA[#oʍAr1RARegAMcj0RAAH0RA9|A0/RAI0A/RAJAI/RAeկAf6.RA rAC-RAkls{A޼,RAWAx,RA&͟A 1,RAbkAiyf,RA׃Afב?,RA$ A4+RA;~GAl+RAC=A*)*RA@2AW*RA*g2A!<*RARP2A<*RAW}hA67o*RAE+Aj*RAr97 A2O*RAjAs{)RA6XA>t)RAAk̕*RA*QAE*RA>xjA^!RAmp!4AAEb*RA9MtzA7t(ۧ"RALd}A"RAi~A |k"RA,#zA\ "RA; gAbǵ"RAm~KA"Ly"RAuۀAU"RAAAo;!o"RAK_?S~Ad"RA QH~ADV#RA|*~Av\#RAUr1~AZ1#RA{}A:nڞc#RA[vcAJ5#RATcR A&Ji$RA6DTAR%RAlNUAwU%RA. 'AON4%RA]щAP&'RAy A'K|'RA׮EAҗ#-'RAl_aA(d'RA A< N'RA͎A{ {'RAu0ϕAg%v'RAAIs'RAaAy5o'RAHjAk'RA.FAt)RAjAs{)RAr97 A2O*RAE+Aj*RAW}hA67o*RARP2A<*RA*g2A!<*RAJ'-=AEb*RA48=AY*RAs =A7{N*RAZg=A9)RA#L^=AXP)RAYg>A,)RA=l=A}{)RA[$ދ>AX&¾(RA,?AoW&RAp=b@A>[:%RA:\upW@AVdr\%RAmp!4AA$RAN0A86$RAB5$Aw#RA\oA #RAk AL_#RAŃANx#RACPAI1F#RAO*UA###RA9OA`#RAtt{ AZ#RAL͚A{x#RA,GAgXѕ#RA NAe"RAĜA#{?"RAAW^#RA+A#8#RA(Ax=#RAŹkAPo#RA6Axd g#RA~Կ;A/I#RAaLA%#RAZ͐A#RATKA6#RA8A$RA+biA$RAOߋA%$RA(<A# $RA~A*n$RAӷAA߱#RAR1ArC#RA1EA #RA==ALV#RA]RoA #RAE᱖IA`#RAxAvv#RAډA{$RA/ڱA<n$RAE|`A4cE$RAI~5fAōVX$RAFA#^K`$RA:BbAZo$RA@A ɥz$RA>AXf$RAp[APҚ$RAJBAu$RAcAKn2Up$RA2AK:j$RAJCmAj$RA>ËpAiv$RAAsAf~$RAwuA. $RA)MrA21O\$RA2A:5ח$RAnRVA}G$RAX=XA$RAu8Ak$RAzAIR$RAAW`$RAl/nAm$RAA$RAUAS$RAm A4Ӓ$RAPkkA/u$RA1 A' *$RAq VlA4G$RAN4jYA. $RAXbA9$RAZA?$RAIA %RAH A %RA;A:׳/%RAeRAK%RA.A8<_%RAAg%RAeAV[p$RAjGA=$RA喝A֞p$RA BAh<$RAZA$RA|WA:j:$RAҌ3A/r$RA֒oA0$RA>|Ada$RA6+A˪%RApޮA‚O%RA矨jJA$Uh %RAT<A<3%RAa<Ar"K%RAAq˝A)N4%RA2A|$RA[AI$RAJ^ IAa7@$RA*?&DA-;:$RA.1@Af/$RA([xA6C$RAZWvA}̵$RAAFAJv#RAr_A)sp#RAGƛA#RAAA#RA/WAs]#RA8dpAkx#RAʟAr^#RA˒! Aq V#RA rAtD7=#RAo~{A6y7#RA>QuAJtL'#RAAO#RAAS #RA]0џA#RA4NAt-#RA/K_)A-U"RAQH"'A'["RAX0%A.FALmyRAa1FA¡k$RAb2Gk GAS@RAa]SGA0RA:mGA~RA2ԘGA8rRAt.\BAD\tRAϔAAl֨>wRAy 8A0kRAixc7A- |RAi҂6AK2RA@];A{RAўj0 A?RA&/ NABw{MRA:(ALg:RA7A "SRA2fAjRAA RAt/ ARAeA芳RAUU&AFnRAyҢAlRA]G^A`RAVEМ9A#SRADA^ERAF>NAWPRAԿA;>=\RA~DA&oRAS0AHRA>x,A߽YRA fAlRAʽAARAu@+DARA2R6 Aj.#z RA;AUv+RALcAhDRAUAeRAM#)AVmRAUARAv+oA#YrRAf1AMR\RA#Am[RAhSA]$RAIQ^AN_;RAUeEA2jRAϖA!hRAR1RA2RA%hA_ RAC9DARAք#AdRA諾A>1RAAoQ&RAAcARRAOA*RA ˜|#A΃vRA{nA[RAܑZA虸[RA\;A`׷RA@KA˖KRA`| A0RA;ɛAp})RA!lAA㓉RAтAZmRAiRACJhRA͖A_RAHA" ӥRAvmnAmS*RAA RAC&AF RAxA%i RA&q7`AZ RAǑ$\An RAش|A RAI3ARAiA,ٔRAxAsSRA+RDAfĠRA" ARA? ZMA RAe8>AdߵRA@AHURAݺlAp,mMRA2ҦIA%\,ERA[>As 2RAf#Al!RAO.AͤHRA0qA` RAaT}AYRAJdzA=koRA}-1A/0RA&@AdkRAI@A.RA+A =RAcA8qRA{AtɛjRA;A\,nbRA(vA=pWRAlA"]IRAARCRAAD? @RACA9;RAKIDjA ;RA11A[RA tAmPRAmARA`HAZRAgiA9RAlAu]RA4AvRATAKKnRApclDAkRA0NAF RA^]AcϢRA\PA%jRAQ2A \'_RAPcAuRA䎵Ad\_RAVW+A+|RA82%%A\[|RA) AW5zqRAR bQA}>VmRAFKAn@CRA4lAHIVRAgAg%MlRA s^A7i5RA!=A ʹRAK AAvbRA<AQRAB;ӟAjiRA|`Afa1RAϥgARAPAh2)RA4qA@2RAiA}4#RA#"A%RAs`A RAihA2]RATZ7.A* RAH A RA\i[Ao?bA< RAHj;A4 Lw RAGA"g& RAJFAZ`ϲ RA!UAW RA: A5I RA”Aѽ< RA-A$B RA;%A_^r RAmA߸. RAOA#!RA>L((A?A(!RAA۠D!RA:JA\O$!RAWeѵAN2!RA)ARC!RA1A:rY!RAnA>#r!RAHtAZ!RAtKQvA`!RACQ|Aup!RAҞg<Aiop!RA##Ag= =!RAA*,A+!RAAgJ"RAXA4/"RA<%BA3TV"RA\ALADfd"RAtgA4Vl"RAoC(A: u"RALܧ_TA"RAg!Ak}"RAAn"RA;fNAcL"RAP=b`'A,"RAheeA%x"RAK[A,'g"RA3Azf"RA2(A g"RA M;?Ah&g"RAF:A8_hl"RAw'Ab-"RAM~1A#T"RA cA "RAF-A]"RA4A!Z#RALGAéC1#RAiAxA#RAısAӬI#RAm?ȽDAqwZL#RAJAdN#RA(Ao< Q#RAR.wAWS#RA'dA`(V#RAaAPTb#RA*@J.A3$g#RAËpAiv$RAJCmAj$RA2AK:j$RAcAKn2Up$RAJBAu$RAp[APҚ$RA>AXf$RA@A ɥz$RA:BbAZo$RAFA#^K`$RAI~5fAōVX$RAE|`A4cE$RA/ڱA<n$RAډA{$RAxAvv#RAE᱖IA`#RA]RoA #RA==ALV#RA1EA #RAR1ArC#RAӷAA߱#RA~A*n$RA(<A# $RAOߋA%$RA+biA$RA8A$RATKA6#RAZ͐A#RAaLA%#RA~Կ;A/I#RA6Axd g#RAŹkAPo#RA(Ax=#RA+A#8#RA.@AJ0#RAvAb+#RAjAx^e},#RA04A[zP*#RAy\_AanM*#RAA-*#RA%]A)5A+#RA!RA'QAü[D#RAF\AG:#RA`$#ʹA^ך?#RA`A1B#RA#3A|Aü[D#RAxA6A9#RAEvvA|[0#RAISrAeh ##RAZ:oAbJ#RAخA|#RA#9A"RAn:.A "RA MA"RA]̷A4ۚ"RA6 A)"RA)SqAUCZ"RAоA2A"RAG{A?1"RAc[ A"+%%&"RA 8Av!RADtSA!n1!RA NAd4!RA zfAp!RAvdARSh!RAL__AumΆ!RAOgb|A|!RA'QAGlIR!RA5ޡ"JAV}NS!RAgBA76Q!RAֳAN!RAt! AΦL!RA{ưAL!RA%]2A=J!RADqZA*QH!RAvcA~F!RAsS,A*)^5B!RAJ!AۂZB!RAµ@WAk$@!RA,Au>!RAXAP$ ]!RAA۱#h!RA(~AL !RAʖAA0ި,!RAߵџA`!RA䰲硟A5?!RAAuvN"RA'UOADǓg"RA LnԡA: _"RA{WA3"RA8^`A #"RAeţAY."RA;HA."RAesA2#%?"RA8A;xD"RAqAjL"RA?;bAR"RA_SA{t4b"RA]AQm"RAK;AQyAu"RAcAvz"RA98 nAЀ"RAϫA0ˢp"RAS9A"F"RA#׾AV0"RAoܟA0"RA ‪AѼ^"RAAZJ&"RA`ZZApF+"RAꡪA^ s#RAO0 A7#RA\AG:#RAB |+ASIRATZ7.Aوv&RArФ~Agü$RAhAx$RA^$DA$RAh Ae#RA2m'Aͺ#RA$>"AXo#RAf'A/@[#RA5S(8Aſc#RAðv<AsQ#RA6|?Aofv#RAT&&IA̍ B#RAtNLA#RA׍|ZAHU"RA_^A-@"RAߛ$aA3w"RAabAw"RAdAv"RAjAncr"RAibwR5lAK{^"RAulAD !RA"lA `a!RA@ylA6^!RA6ԎmA^!RAOz]SnAךa!RAhoB׆Ao!RA껌A}V7!RALsA2k!RAzz,A\!RAn?Abω!RAZAKX!RA$`RAA!RAZ?YAqk!RA7ݖArL[!RA΢6qA8l!RA#ۚAy!RA.2_&A6!RAXܞA/`!RA䰲硟A5?!RAߵџA`!RAʖAA0ި,!RA(~AL !RAA۱#h!RAXAP$ ]!RA,Au>!RAµ@WAk$@!RAJ!AۂZB!RAsS,A*)^5B!RAvcA~F!RADqZA*QH!RA%]2A=J!RA{ưAL!RAt! AΦL!RAֳAN!RAgBA76Q!RA5ޡ"JAV}NS!RA'QAGlIR!RAlAv>V!RA2&,eANWX!RAmF.AnW!RA>A%Y!RA1A:rY!RA)ARC!RAWeѵAN2!RA:JA\O$!RAA۠D!RA>L((A?A(!RAOA#!RAmA߸. RA;%A_^r RA-A$B RA”Aѽ< RA: A5I RA!UAW RAJFAZ`ϲ RAGA"g& RAHj;A4 Lw RA\i[Ao?bA< RAH A RATZ7.A* RAihA2]RAs`A RA#"A%RAiA}4#RA4qA@2RAPAh2)RAϥgARA|`Afa1RAB;ӟAjiRA<AQRAK AAvbRA!=A ʹRA s^A7i5RAgAg%MlRA4lAHIVRAFKAn@CRAR bQA}>VmRĀ jARA 8A!@qRA 6ARA0An޷ RA1A7-RAHk*A#!]RA"AۀRA`PA=|v{RAFQA/':RAU#zA?DRAy:FpAMsRA~Q2gA#kRA$cAFRAßaAM2ÿRA,VQAܿRA^ĜF>ASIRA8~<AsRA8X.AiRA3^c)AA̎=RAډ"Ab7RA=.A@>3RA\rLAe/1RAAH2RA02:AdZ/RA QAC6RA!]ALAK7RA䰏AYIRAYAgkxRAA yA)KRA %ȾAqXRA(ZN"AUl} RAcBJDA--4!RA`PpA)!RACA+)"RA:Al$ #RAAXEE#RAsy)AQ$RALAw$RAyAAW0$RA3FAm?%RA|+Aوv&RA*A/q&RA뀃A8LZ&RA:²A76$RAt`UAv6$RA($RA޸A*;$RA܁=4,A#$RArФ~Agü$RACn:.AGlIR!RAA#8#RAN04A[zP*#RAjAx^e},#RAvAb+#RA.@AJ0#RA+A#8#RAAW^#RAĜA#{?"RA> NAe"RA A]"RA^E7AӮF"RA&0A""RAX43AV(e"RAprARĖ"RAA-"RA &hA1.B"RA68MCA_Bu"RA2(A g"RA3Azf"RAK[A,'g"RAheeA%x"RAP=b`'A,"RA;fNAcL"RAAn"RAg!Ak}"RALܧ_TA"RAoC(A: u"RAtgA4Vl"RA\ALADfd"RA<%BA3TV"RAXA4/"RAAgJ"RAA*,A+!RA##Ag= =!RAҞg<Aiop!RACQ|Aup!RAtKQvA`!RAHtAZ!RAnA>#r!RA1A:rY!RA>A%Y!RAmF.AnW!RA2&,eANWX!RAlAv>V!RA'QAGlIR!RAOgb|A|!RAL__AumΆ!RAvdARSh!RA zfAp!RA NAd4!RADtSA!n1!RA 8Av!RAc[ A"+%%&"RAG{A?1"RAоA2A"RA)SqAUCZ"RA6 A)"RA]̷A4ۚ"RA MA"RAn:.A "RA#9A"RAخA|#RAq,7A}$ȡ#RAڀA#RAl EA!#RA@e=ȻAP·$#RAp9ӽA##RA^/A|*!##RA6 ALs%#RAu._Ayl'#RADuUA| j'#RA+A:+'#RAVgAQH&#RAqGJA.')#RA3RAډ"Ab7RA3^c)AA̎=RA8X.AiRA8~<AsRA^ĜF>ASIRA,VQAܿRAßaAM2ÿRA$cAFRA~Q2gA#kRAy:FpAMsRAU#zA?DRA6sA'vKRA 1~j׉At[RAݥSAurRA ɆAkQRARُA/RA{hYA9RAA&RA<ԟAs'RA5[KAڕRAФAH6RAzARA`k.ARAbYAORAq.TAz RAI3ARAwAŬRA!;u.A~RA$AY.RASTFA5ugRA!=AZRAg\MAe̢RAEcAWRA>[AlRAњAGrRA}DIAS0 BRAsKA RACȲ A~*RAΧWA.RAFARAlKATRAĭuA6%RAQJׂnAJʷRAs].dA)D_:RA<dOA+حRA!EA@嗨RAp鬈DA;RAt7A -äRAL*Z7AhoפRAW7A3RAot7ARA 7AFܭ RA-`7Aaa RAgN7Aee RA H7A60 RA{8Ad8 RA!&8AH$k| RA);8AIX RAS8AE RAH8A]+H RAd8Ah.r RAIW|8AEg RAUB7Ab,j RA0 #A#5k RAG07|"Ab_`] RAԊ8Am RAPAPc RAk':tAX' RApuA4Դ RAHA RAA̺ RAOmAT.6 RAVFA RA4xEiA%[ RA A( RAVLA둶 RArA֥G\ RA!A:^4 RANAyoM RA qAݎD RA7;A2w RA-gAI,% RAA6ɭ RA>TA%V&RA6V{A!>jRAAP`#RA2z`$A(RAmԨgA'Qu.RA.jhAَ<1RAK:AH6RA=,_+AP23?RA$ AX4hRA!sz=A-4RA-beA_RAZLAЧRA&+Ax RA<A=&mBRAyqA)s9RA<A|iRAp5A67RA FA 6]ARATA*hGRA)b4ARA&_3A\ELۻRARA>RAhAn;RAy` AE]RAlcASORA9_!fAPUe RAA@MRA[Y!A RAEA0RAB2sgA#?RA nARA 2kyARA~FmAjURA*,!A!RAb A'RAriAx7RAS8Ag0gRAfzA7jRAA~ lRA@AKb9RA0QA"vf>RA)A#EFRA`A'GTRAC5knA4hkmRA A*ngrRA Y>ALlRAPA=GiSRA`t%A~)RAl&A;!RAfAJRÁkA .*RA"8A!+RArAތRAC0AMa%RA/AAyܬ3RAB;AzaLRAZAeAq]RAk-AxW6(kRA߷A3i3RA]fAi:RA\SAjRAYoxVApRA,]_AQ1RAJAZHRA A=nRAA}KRA&3kA翐RA(ARAN`,0Ac1zRA४ ARSRATx4 A RAAwx/RAZ7 A-cFRAuAqCRAeUACRA%AeB@RA_AwBRAɯ"[A{BRA!]AL1RAք#AdRAC9DARA%hA_ RAR1RA2RAϖA!hRAUeEA2jRAIQ^AN_;RAhSA]$RA#Am[RAf1AMR\RAv+oA#YrRAUARAM#)AVmRAUAeRALcAhDRA;AUv+RA2R6 Aj.#z RAu@+DARAʽAARA fAlRA>x,A߽YRAS0AHRA~DA&oRAԿA;>=\RAF>NAWPRADA^ERAVEМ9A#SRA]G^A`RAyҢAlRAUU&AFnRA%A?kRA Ax^RA׻AZGGRAKvaAcdERAAmARA&_A*饓;RA0lAUk3RA# A%ŵRAOuAY! RA.A$fRAe;oA~eRADpARA 3+A1LRAbA DRA)bAq]9RASǽ8A/U.RA{A&#RAFA]=RA A8 +RABSAqRAA٩RA<A/,RAA7l2RAv ABORA.fA]`[RAAQHRA&AcL: RAgՍ@A̛RAžATRA-PvAw.RAYA RAA/ýRA"AX+6RA4:vAuRA InuAtoRA(QA MRA}iAbP/RA [FAǰ)RAM-9=A\5RAmq sA K|RA뛎A@ RAGLAn{RA糱 A"bRAӌWA%vRAمAMuRAp"Ae^21IRAև|#AREFRA?d$A} @RA̴Ej$AnRAL0%A:XCRA0V.O%A:{sRAfP_S&AmRAxz&AT]oRAȝ&ARAjK'A [RAF1!)AvE+RA͝*A8ORAa`/AǧtRAt_/ADTBRA '.A.xRA=O.Ai^sRAϱ2AeNRAp` 3ARg@-RAQbdz3AZ&$RAŨ6ARA(QDF7A /iRA{9A RA5 ޓ9A0wRA+{_h5A:߬RA2~5Al/RAh$4A ֔RA$23A0^dRA )IX2A?FRAy-1Am5{RACARAȡ5,A+RA ݊A/SRA.+AT̬RAa<A4rRA]=+۬AZٸgRA~ # AwRAp3 A RA@X7 A! RAы5AO RAi&]Ax> RAŞAv RAc1Ajk4 RAiQ=^AF+ RA=LAP, RAޓZAne RAiAt[ RA@AI RAU`AO RAxYArm! RALu;A{0# RAGU;A) RA@ SlA(lu RAuAg RAxAn_ RA?A$;Y RAC!LA׭I RASC{A9MC RA" OAɭ= RA]xsIA>* RA&5)AQ RA"Z&AB: RA=~A!a RAJ:A RA/h+AQT? RAfAeu RA bA$ RA[_iA݋t RARmIt\AgN7c RAiAF֌ RA-bjAb RA^A RAAp RA|eyAec RAA0Z RAB+NA$BKP RA٘AT>VE RAzAb? RA Aѝ4 RAhIA{X0 RAA]' RA&/AL_ RAմaAү RAAzA RAA- RAbmAA'RA7/sAl RA$MAOɫRA ARAD'-AbRALEA#uRA>hAkQRAAjA)\4 RAX$AI! RA/;cA\ RAz 0A%k RAcFAC7 RAo4i As+ RAc4 Ar RA8A6E RA)UAb RA0hA[e RA ;Ad| RAbPARAf"@A<*&RAFгA+W&RA$A $RA/pAVRA`8qAuRA("1ΰA`TRAo>.AQRAΧWA.RACȲ A~*RAsKA RA}DIAS0 BRAњAGrRA>[AlRAEcAWRAg\MAe̢RA!=AZRASTFA5ugRA$AY.RA!;u.A~RAwAŬRAI3ARAq.TAz RAbYAORA`k.ARAzARAФAH6RA5[KAڕRA<ԟAs'RAA&RA{hYA9RARُA/RA ɆAkQRAݥSAurRA 1~j׉At[RA6sA'vKRAU#zA?DRAFQA/':RA`PA=|v{RA"AۀRAHk*A#!]RA1A7-RA0An޷ RA 6ARA 8A!@qRĀ jARAR bQA}>VmRA) AW5zqRA82%%A\[|RAVW+A+|RA䎵Ad\_RAPcAuRAQ2A \'_RA\PA%jRA^]AcϢRA0NAF RApclDAkRATAKKnRA4AvRAlAu]RAgiA9RA`HAZRAmARA tAmPRA11A[RAKIDjA ;RACA9;RAAD? @RAARCRAlA"]IRA(vA=pWRA;A\,nbRA{AtɛjRAcA8qRA+A =RAI@A.RA&@AdkRA}-1A/0RAJdzA=koRAaT}AYRA0qA` RAO.AͤHRAf#Al!RA[>As 2RA2ҦIA%\,ERAݺlAp,mMRA@AHURAe8>AdߵRA? ZMA RA" ARA+RDAfĠRAxAsSRAiA,ٔRAI3ARAF׻A c RA1x|)ARAA RA2fAjRA7A "SRA:(ALg:RA&/ NABw{MRAўj0 A?RA@];A{RAi҂6AK2RAixc7A- |RAy 8A0kRAϔAAl֨>wRAt.\BAD\tRA2ԘGA8rRA!GA͍RAϱ ;HA;%RAo+LAPkRA(OAoRA^qVAsDRA#`A"˾RA&iA9qyRAl\pA}JAMRA̒|~A#MkRAYD]AmRA  A,YRA AIRA$OA{k RA8 lAGV0)a RAiqAL% RA+Ay7 RAR#|A[ RAܚ0{AHK RAۆ 1v{Au7 RATOzA5* RAS|xA RAsA c RAg rAA RAqAB RA4oA RA+nA RA.#biAI$r RAeĄ\* RAb6NbA9 RAY=`A&ڗD RA |`AN0D RAZ?֤UA3xv RAߓTAk RAAUAcK9 RAGUA7 k RAP4hUAb RAaI~!UAEP RA@ UA> RAci*VA }؁ RAg{VA*n RAT'oVAz\ RAHVA=鹚 RA 23VA^ b RA⴫UA)ǝ RA+UA RA Ó1UAKғ RAaVA[ RA?mVA / RA\}UA?gH( RA|"EUAw6 RA܄UAx59 RA7VAF RAuEWA3O RA@VAw|Z RA UAdL] RA UAob RAI>HVADj\Lh RA*WAs RA1ZIWA/g RA#=WA}H RA[ḆYVAkv_ RAqXVA$R RAd@RA7/v RAvRAh RA$gPAOH RAOAwL RAT !OA6ʭ RA`NA RA%[NA> RA2MA~ RAMA2j RAGMIAY RA*HA̰( RAPߌwlHA&@1 RAdWHA] RA,m}GA=k RAAmGAv RA.bHA E RA3IAo" RATm'6JAQd RA:JJAtRAr&@Ap۽RA _?AřRASQ=ANc-RA-=AΪ!RA|j&;A1 RAS';A^.IRAZƇz}:A RAܠM9ACRA48Ap+RAW7AdNGRA 6AZ͘RA=B+6ARAaj5Am(RAFÂ+5A$RA\/5A tpRA75AxRAO5Aͬ RA *C5A#8RAЛ&5AO$RAP^4AbC;RA]-s4A"w^FRARI4AKRA%5AƷ^RA15AЮJgRAa6A M#uRAy׎L5AKRAμ5AeRA f5AxdQRA+{_h5A:߬RA5 ޓ9A0wRA{9A RA(QDF7A /iRAŨ6ARAQbdz3AZ&$RAp` 3ARg@-RAϱ2AeNRA=O.Ai^sRA '.A.xRAt_/ADTBRAa`/AǧtRA͝*A8ORAF1!)AvE+RAjK'A [RAȝ&ARAxz&AT]oRAfP_S&AmRA0V.O%A:{sRAL0%A:XCRA̴Ej$AnRA?d$A} @RAև|#AREFRAp"Ae^21IRAمAMuRAӌWA%vRA糱 A"bRAGLAn{RA뛎A@ RAmq sA K|RAM-9=A\5RA [FAǰ)RA}iAbP/RA(QA MRA InuAtoRA4:vAuRA"AX+6RAA/ýRAYA RA-PvAw.RAžATRAgՍ@A̛RA&AcL: RAAQHRA.fA]`[RAv ABORAA7l2RA<A/,RAA٩RABSAqRA A8 +RAFA]=RA{A&#RASǽ8A/U.RA)bAq]9RAbA DRA 3+A1LRADpARAe;oA~eRA.A$fRAOuAY! RA# A%ŵRA0lAUk3RA&_A*饓;RAAmARAKvaAcdERA׻AZGGRA Ax^RA%A?kRAUU&AFnRAeA芳RAt/ ARAA RAG`jv6A'p~RA~.A/8ORA-0FA$&3NRAA/8ORALcA э"RA,/ļA{RA,a: AA2\RA?qqKAQJ RAxA4rX' RA )A! 6= RAD{A*~ RA(APR RAJ3MAP` RA-A[b RADA{}Me RA .AE RA6FA[` RAjINA*ɒ RA1x|)A! RA`*A֩ RA5*A~e RA0/+A{_ RA%+AE,I RABX*+A(̉RAgDE+AuiBRAhm2e,A&ȮRA^%2_,Aa̕RACas-AY$RA6}P-AKRA%Z:-A.RAX}-A$RA[-AkrRAkOA-AM3RA(.A3KRA|.A9pf`RA~.Aҙ+RA(%A;Q(RA !A f)RAd8C AA&RANH9A{_$RA@uAF#RAB(tA20hRAHA5,RAPA^lRA= *An" RAJAsEA0 RAωf)Al'^ RAz菥AfKRA"ϼAR RAźA5o`RAA͍RAAtRAIrzA|RAVzAQRAoOA1RA'ˠ`ՕAouRAr(RAbRA%E A8.RAO#AvRAr 똂ARAmiNdARAQdAԵRAd {AqRAw&xAq7RA xARAGuAnRAWUklAuPzRAcgA~RA egA!ieRA̹VZA?>>RAuwXA=RA~^GA{YRA>@CAARA)#`;AζRAz7A'p~RAKv7Ak%RAC-#7Ax6RAʊo7Az>RAzل7A$~RAcbe7A RAg7A hRADj7AaFRA"T7AwiRAjv6ANRA]6=AB:RA&gCAp.RA{.eBA<,<5RA3EAU&#iRA~D7GAU۫RAmv#HA20jRA-KA<©RA$KAALg$RA/_LAl6=RAkh RAJRAa4cVAnRA^JYAub0RAŸYAb?YARAzZAdQRAՙ/ ZA2}WRA4o@ZA NtWRAa/'[Al\RA)[Aؠ]_RAE!\A<{_RAn A\AV]LRAl$\AeYARAG3F\ARARARt[AEJeRÅDeM\A|HRAɐn]ARA?RA ]AHHRAJ_ARA#u_AxRAL2RcARAcAƖyRA cfA\T4vRA}hWeAd2tRAM4;"cAbRA&bAT,RAɃaAZRAA>`A3$RA%u`Aw RA; x`A_$RA|X`A7;RAI9`AFwRAi9Sw_AwCRAi X_Az| RAB[_AP` RA]_A$ RA$_Aqz5 RAq3 _AptY RACT_Azl RAx)_AU0u RAO+_AK RAb^;_A(/È RAZ_>_AN]ݓ RA$k%b_Ath RA^dc>H`AVx RA5 m`A7 RA`aAՄD? RAOVaA7_ RA5aA\:̿ RA`Ak RA^5_Aϗ RAa _A RAYV^A:t6& RAOg+n^AT1 RA'SM^A RA2r1^AD> RAZx^A|´ RA׳{^AY~ RA<^A=$ RA,3̟!^AGs2 RA_M*_AņYG= RA2E}N_A4YH RAYfp^A6Y RA}L]A6l RAYAgɜ RA*ZAD RAYA RAn0-YA%S RAЉTCYAi RAcYA^t RAyьXA, RAp2H}XA2w RAM\XA RAqxWAA3*g RAIE}VA[qG RAqK VA)Z RAqK VA)Z RA\UA![ RApUA#N] RAp@UAtTB[ RATA%ߒX RATAE0T[ RAUATA` RAƆTA:l RANTAh w RAߓTAk RAZ?֤UA3xv RA |`AN0D RAY=`A&ڗD RAb6NbA9 RAeĄ\* RA.#biAI$r RA+nA RA4oA RAqAB RAg rAA RAsA c RAS|xA RATOzA5* RAۆ 1v{Au7 RAܚ0{AHK RAR#|A[ RA+Ay7 RAiqAL% RA8 lAGV0)a RA$OA{k RA AIRA  A,YRA>D]AmRA&QA.MRA-0FA$&3NRAH Wi&ALRA cfARA5~^'A)ӐRAӑ#B(ARAb(AzRAtRAu1BAu?RAƁ RA`NA RAT !OA6ʭ RAOAwL RA$gPAOH RAvRAh RAd@RA7/v RAqXVA$R RA[ḆYVAkv_ RA#=WA}H RA1ZIWA/g RA*WAs RAI>HVADj\Lh RA UAob RA UAdL] RA@VAw|Z RAuEWA3O RA7VAF RA܄UAx59 RA|"EUAw6 RA\}UA?gH( RA?mVA / RAaVA[ RA Ó1UAKғ RA+UA RA⴫UA)ǝ RA 23VA^ b RAHVA=鹚 RAT'oVAz\ RAg{VA*n RAci*VA }؁ RA@ UA> RAaI~!UAEP RAP4hUAb RAGUA7 k RAAUAcK9 RAߓTAk RANTAh w RAƆTA:l RAUATA` RATAE0T[ RATA%ߒX RAp@UAtTB[ RApUA#N] RA\UA![ RAqK VA)Z RAqK VA)Z RAIE}VA[qG RAqxWAA3*g RAM\XA RAp2H}XA2w RAyьXA, RAcYA^t RAЉTCYAi RAn0-YA%S RAYA RA*ZAD RAYAgɜ RA}L]A6l RAYfp^A6Y RA2E}N_A4YH RA_M*_AņYG= RA,3̟!^AGs2 RA<^A=$ RA׳{^AY~ RAZx^A|´ RA2r1^AD> RA'SM^A RAOg+n^AT1 RAYV^A:t6& RAa _A RA^5_Aϗ RA`Ak RA5aA\:̿ RAOVaA7_ RA`aAՄD? RA5 m`A7 RA^dc>H`AVx RA$k%b_Ath RAZ_>_AN]ݓ RAb^;_A(/È RAO+_AK RAx)_AU0u RACT_Azl RAq3 _AptY RA$_Aqz5 RA]_A$ RAB[_AP` RAi X_Az| RAi9Sw_AwCRAI9`AFwRA|X`A7;RA; x`A_$RA%u`Aw RAA>`A3$RAɃaAZRA&bAT,RAM4;"cAbRA}hWeAd2tRA cfA\T4vRAcAƖyRAL2RcARA#u_AxRAJ_ARA ]AHHRAɐn]ARA?RÅDeM\A|HRARt[AEJeRAG3F\ARARAl$\AeYARAn A\AV]LRAE!\A<{_RA)[Aؠ]_RAa/'[Al\RA4o@ZA NtWRAՙ/ ZA2}WRAzZAdQRAŸYAb?YARA^JYAub0RAa4cVAnRAkh RAJRA/_LAl6=RA$KAALg$RA-KA<©RAmv#HA20jRA~D7GAU۫RA3EAU&#iRA{.eBA<,<5RA&gCAp.RA]6=AB:RAjv6ANRA 5A1sRAy"AcRAԝAXRA1a A{WjRAI⾡A0 |RAy3DA'4RA:IA~ӒRA2A-50RALKArEORAtrAPIRAZpAa߳RAxO5A4RA@%3ȆAoyRAﶘAgqRA4k:1~ARAaY#AJ}RAIUAe<RAy-`׬AThRA+AM՗RA-ALRAA)2RA}}AKVLRAA"RAeڡA)#8qRA{7AμRAgARAAc'M=RA A'hAkQRALEA#uRAD'-AbRA ARA$MAOɫRA7/sAl RAbmAA'RAA- RAAzA RAմaAү RA&/AL_ RAA]' RAhIA{X0 RA Aѝ4 RAzAb? RA٘AT>VE RAB+NA$BKP RAA0Z RA|eyAec RAAp RA^A RA-bjAb RAiAF֌ RARmIt\AgN7c RA[_iA݋t RA bA$ RAfAeu RA/h+AQT? RAJ:A RA=~A!a RA"Z&AB: RA&5)AQ RA]xsIA>* RA" OAɭ= RASC{A9MC RAC!LA׭I RA?A$;Y RAxAn_ RAuAg RA@ SlA(lu RAGU;A) RALu;A{0# RAxYArm! RAU`AO RA@AI RAiAt[ RAޓZAne RA=LAP, RAiQ=^AF+ RAc1Ajk4 RAŞAv RAi&]Ax> RAы5AO RA@X7 A! RAp3 A RA~ # AwRA]=+۬AZٸgRAa<A4rRA.+AT̬RA ݊A/SRAȡ5,A+RA>ARA EvA2ڮRA8[AxY,RRA8:An[RA8AzRAEA.vRAGZAu+ RAa`~A$RA&S,At6\-RAqAs%0RA~^'A)ӐRAIPA9.RA>hA $RA[s].dA)D_:RAQJׂnAJʷRAĭuA6%RAlKATRAFARAΧWA.RAo>.AQRA("1ΰA`TRA`8qAuRA/pAVRA$A $RAFгA+W&RAf"@A<*&RAbPARA ;Ad| RA0hA[e RA)UAb RA8A6E RAc4 Ar RAo4i As+ RAcFAC7 RAz 0A%k RA/;cA\ RAX$AI! RAAjA)\4 RA>hAkQRAgrArkRAG:0AY:RAhMfAZIRAoP_A/RA@_A RA~uqAuM RAEAV`mc RAgAl` RAWi&A^ RApAKRA\mPAylRA˗A}(;RA A'A[dR(RAU3>7AEOi\RA\8]5A'YLRA t1A~%qnRAo>\-AwRA+A RAPAPc RAԊ8Am RAG07|"Ab_`] RA0 #A#5k RAUB7Ab,j RAIW|8AEg RAd8Ah.r RAH8A]+H RAS8AE RA);8AIX RA!&8AH$k| RA{8Ad8 RA H7A60 RAgN7Aee RA-`7Aaa RA 7AFܭ RAot7ARAW7A3RAL*Z7AhoפRAt7A -äRAp鬈DA;RA!EA@嗨RA<dOA+حRAs].dA)D_:RAJdA(QAuG Aݷ RAEƶAF; RA\Aew= RA\ۖ Ac RA Aoc RAAA;re RA M'+AN RAU>AZw RAbw?AB RAQ<"CATE RA"*sHA#OL RA>JA$ RAEVA RA.XA` RA?`Aݷ RANd|`A/} RAc9)`A! RAPx"aAYn] RA617A{1ѽ RA^5aAldP RAd^PA"5a RA jAip RA AÇ RA~+A'^r RA3}AE^! RAmߩAz! RA 'A5$ RA/AeG' RA6 A]J4 RAEAU΍-4 RAF};AnP RA kAGS RA̩K6A4V RA0AH` RA=}3sAO` RAAQ0EAc#h RA+KA3\h RAA8j RA_u AWn RA4k Aq RA' A?M RAZ A"T? RAM24v A!$ RAu A2 RAׂBW A̭ RA A RA' AT RAuG A RA A RA\_{ M A/T; RAVe A'ckg RABu A(V RA:>d AxkoN RA:>d AxkoN RA( AVg"F RA`AT= RAcmA~/5 RAīA# RAAAe RA19fYcA+C RA BA  RA{4[Ak4Ϝ RAFZA( RA߹{A㤣 RAW`An&X RAmAuˆ RAռLlAxU RA "WRA RAQ[ Ad RA4{ AgS RA` AT5 RA' A RArж Awz[ RA)AT A{!Ӝ RAAZ-A{ RAP -A"a. RARHs A)$H~ RA(Wr Am RAUP Aӻ3Z RAp A$ĢT RAfB A"4A RAZotA/_3 RA,<A6V- RA 'w A \ RA׮ AW  RAm A^ > RAEtk A>l RAdAq RAKGA/B RA/!A RAzP<A?1x" RAs~DA RA^DAC RA:\A; RA[' Ah RA5OA֦Q RAFޕAǾ RAqAAŸ RA7i>A[vٳ RA\ TpA RAݓ'NAO RA,Aɦkȏ RA; [A\y RA 4AArc RAOzAǿ&RAyA>t{RAhA[RA 'hAjRA AGѨRAqAwRA/AN|HRA1dA.kqRALiA mqRAbk'ApdVfRA.\A"D^RAȽA.:ARRAAjGRABA,(n4RA բ_A1RAB"_AO)RA[A7&RA Y }A:y&RAȬC AT/RAz/m A6/RAr[%AJ$RAπAkE9RA%_"-A$jRA 8AUl?RAbT.A#tRAT]ARAeKA<=RAAO;RARAB[RA3AvdRAsAXN" RA]sAO#+ RAd,Av@̀RA&L^PA]{RA_ \ƗAZLRAC劶AMRAkwA8_ZRAQA఑ORA ņARA_@=A#RASq HxAYRA[wAQ`oRAvA<5RAsǦvARAJgATK]RAaǍRAMA؈RA=z MAd}WRAI-KALI%RA A:A-ĆRA҇ddA?RA(ARANAo,qRA A[v RA2UAJ RAyLA0PRA)OA$KRRAҘoAyRA,θ/cAldRARR(qA>2RAQkoAkMRA9IA%H^RAd{^EAč`RAAI!RAo5]AWgRAq'VARAPUA,RANA7*RA Aop RAhAcmRAAcRAXlAYRA# AQAK>cbAUQAuZ*A5 QA [AIkQAvAW(hQAbA QAEA[YQA! A>gQA7IA90>QAoAv Y*QA*A | QAMAeQAAiQANiA͜QAG rA;QAޝGA(QA~?Ad@QA`3AQA?CA̛QA}^AfQAǚA0QAo%zAQA}]]AQAbA8 QA/bxjAp# QABCAD+QAzǠA3QAMM>]zA- RAeۀAD6RAEAHA4RAvAApQA(ޚA#QAJg|A / RA |ARA]zAV/RATW tAkQRAfpA/`RAdAt:RAW@VgA[XaRA鿧gAo#>RAfARALr3 fAƒiRAZfAeIRA%/fA>V(RA?ǀseA:n@ARAweA`fbRA$fAQ4RWRA?VoAdR'RAZ7kzAx RA oq{AL+RA6e=c{ARkRAXE{AkRAIٿoA&,^RAe\=oAYQCRAEmAAsRAlA@RAhplA eRAJ`]/lA# RAV\mAu RAqgNnAA RA AQ RAupA(Qx RAAG; RA$cA92m RAćA3# RAƾcAqo RA RA#IlA2%4 RA\WfA RAreY#gA ו RA14kAh+l1 RAJ`]/lA#V(RAZfAeIRALr3 fAƒiRAfARA鿧gAo#>RAW@VgA[XaRAdAt:RAfpA/`RATW tAkQRA]zAV/RA |ARAJg|A / RA(ޚA#QAvAApQAoZA wQA;A UݛQAJ ~At&QAmR}A]wQA Te}AwQAG{Ah }QA0wyA̍}QA)2SxAyKuQAcsAK]QAo=oA^m9QA ^nA)7QATezW`Al~OQA^uA_QAs@fuAi9QAyAHTQAhڰAuѡQAQˆA#sQAүAڄQA=h}AnZQAeqA gUQA:~pA:)QA}KoAƃPQAwDmAbQA>mAUQAK$5kA.~QAAeA>kQA&EdAQAΎ¯eAHBQA%@gA>QAݤ{fkAVBQAtAjlA&u&QA5uuA\EHRQAIe.kATGqQADbA]3QA-OAo&QAA! NAyQAeslDAAQA"*d?A;rÐQAD3AXvTQA@z1^2ATQAXF*A`PQAo'A6NQAM'AF5EQAE;&A7QA4x%AOQA$Aw83oQA7:$AֿQAzR#AꂩQAulP"AZQAъ"AJ/='QA AK 7QAk'V= AZӄQA՜AĘQA6 ©A9QAlWlKAcsQAvԖA^U,QAU@AlQAzȫgAvAQAI-wp3AmQAo7\`AV*CRA_ FAR}&RA+O AP8bGRA5E_Ahu RAVџAA~RAOA̙>RAp1A/;>GORAd=A!~RAct}AмHCRAǰ]aAzRA1AՖ1ERA[A@LPRA /IANR+RA(cAĪ;RA A5 RALQ* |AcK RA^ BA,7f} RAL@fiLwAr9>EQA|=JsA.[QAE Ȗ A.[QAsAQA02"At=s/QAUNA=QAf6"Ax6OQA6hAZQA_A QA%-<A!QAo1AݗuޅQADOAH(RgQAN@QAUAzBQAYA=lBQA:iFA`~iEQAAUEQAԗXnAhzEQAβo'[A^HQAĿ<AgaQAAA/XhnQAA|QAꆫAtWQNQA[A}~QAJ=<A#8QAlA#,QAݘ>A6vQA AEY[QA벷8A PX+QA(y;A07+QA .Al")QA_TA$%)QA4h1Aoh&QAxJ+JA꣛QA쥢A{]QANAVQA3A"ɵQA|=JsAQAU#QA|QAAVwQAq>'AM3zQA'UOAF~YzQA pYAWtQABufjAB~%NQAJ'ASCQAlGA,5QAܮAWo;'QAq^WA(QAAR QAY/Ar9>EQAAm@QAgVAD QAJ$ A9$QA OYAg;QAA3bQA:uA SQA+(A]o%QA{@1A ]QAJ,ApQAqA=gv,QAfiLwA%+QA 5PA_!]QA =XAݛQA5AK .QA0fXA+QA^wA ŒQA(AL|QA Ȗ A.[QAMHfiLwAQAH@A]QAf(AL|QA^wA ŒQA0fXA+QA5AK .QA =XAݛQA 5PA_!]QAfiLwA%+QA؛A4oQAEXAA\QA{_A_gAQAQAf2AvlԪQA9dAEMQAVZA¦چQAHG7Au@fkQAR{uA=LQAA%FQAкAFQAJ aZAmx>QAJ}As$ QAH@AZħQAVܠ:AM$A6vQAlA#,QAJ=<A#8QA[A}~QAꆫAtWQNQAA|QAAA/XhnQAĿ<AgaQAβo'[A^HQAԗXnAhzEQAAUEQA:iFA`~iEQAYA=lBQAUAzBQA:yA(;>@QAkElArq@QAw*MA*QQANsAXN" RA\6@eAJc RA8xAX} RA}`ARAA^A0RA.{dAַ%RAX#A_=lRAGnARZpRA>RA1A>m0RAP;QNA"RAxA2RA%ҵARA>!A{+RA2QAtRAwbz AOQRACC#A&-RAȯYAi!RA A6bRASǼCAvdRA#A7RAZAA>RA =A#/RAi(>~Av/dRAҲAƅ}RA"?A[RA&AR\RAWAßѻRA1vARA;KAit٥RAoQA])RAiQAWhyRA qAYj`RA%/AdSZRAiA0RRAz.AjK}GRAFA A-6RAed[ A ؟ RAL-8KA>RAa CA-ݓRA}ARATA1RA1bAOSFRALYA]RAYwlA}=˹RAm{cA9FRAʤ0ARAh/h?AqrRAlUAVRABeAAe2|RAYFAIS`RA:kAzٲ1RAó4AѰ1RAE2gNAp RA8.LAoZRA2ʳ+AXBRAwA1iRA\edAURAvs0քA5RA 4oARAzIPSAtYRA<ίAދc6RA<#AiVoRAAtW>dRARAMRAerA!'RA|V,AmRA(3$AqRAWݾARA~A!RA%6A'`RAAVAuۈCRAUA(T(RA1W+A}RAҥARAF_A6cRAiֿAIHRASN}A#1RAk A43oRAdAbTVRAcA,ظKRAȟAKRAVA( 8RA(CAJ,RA0yArcaRAppVApqRA8HAW;XRAEA9/dRApA|RADnAURA-\ݵAg֙RANFA^RA|wAcRA@z{ALmRAABTAȜRAztAORA2NtA(*RA$5V1Ad1uRACsAHjRA1;JAO% `eRAAbRAy=A8zeRA篏AkbRAj1Adڟ_ORAvNʮAݏ^~ARAmŕAp"RA0j9AE@RAwAMv RA$AMRAW(A5:lRA<2ARA]A5efRA5M?Ao=RA$eAkRAOvuAıRAiA3RAQA~鞌RAK f}AyLvRA 7;AϳUvRAZA~a`RAz9A@?RRAAyx1RA~AA0@9$#RAAYѢ RA$ 3(Ak[RA"ARA kԾAcH RAʹ[ARA:A-NYoQAb uA/7QAVQANAܡ2QAYYARQAۤ AΊ;QA8&?A'GQA-~AJOQA"AaQA͏j OAIQAR AMŘ{QAQQA AeQA>A(C QA~.'7A8$ QA+dA\m QA,.2CA G QALdA06+QA٢AWVRQA3A+w`QA4!AэQA\Z(A2QAAYUQAbHA&QAooAxWQAui1AC|QA@dP?A8mwQAm1AX0wQAB9A}ptQAhAsnQAkxQA=cQAPAPl[QAwAYUQA9-_;A)ANEQA9A Wco,QA%9A]j!QArlA]XQA͋QAd;QAVq<žA^QMQAr!A]QAu'bvAN'QA5(]AIRQA=AtJQAՂ@Au\!QA'QEzAI,2'QA!sA"K0 *QA.'κA G!QA )A3QA΢AA8QAdlt޸A*rQA ACQA(SA^QAJ{4gA> QA`E:A29QAl=ALQA߇AؗHQA_A1"QAUb%AAQAhA@7QAQ[=AױQA?lsAQAS3AQA5sP A5QAޔ<A\QA]5A3RQAIVAQA=b<A=a)QAY1<AwQAlٮA =ܻQA\݃/AKMQA牊A k>QAY ^A'~QAR`-lAf|QAU)AVsQAacAB(l`QA 8ޫAPMQA ݫA 4QA(A=%&QA%Ax) QA$&\٫AILQAѪA }QA?FA{WEQAMy&èA8QAWK+AuQACXAEQA6V Az16ИQAi`AXQA Gd_A+qQA(>A% ZlQAHFӧAe>VQA)Aw=QAsW ۏAKy8QA6A)S5QApWԎA48QA*wGKAiFQAlAeV;'LQA WA:PLQAhΔ(A')&DQAREA,kADQAz҄AJDIQANAZջOQArWAgBJQAG uAOGQAoAb.QArkARC )QA2~AyQA4e~A>U QAU*~AQAACbQAnMAd QAYs<A QA{AS D QÀ A>QA lA~lAQAqiނA*Y)QAՙAQA=}A5QAI=Aa~QANAFoQAAXQA:RnA:QA7\""4A\QAdA3uQAAkAQA*1A}XQA`MA0QAd:WAAֹQA4N.7 A9ݏQA hA=τQA`37gA[2yQA M AtQA3EژA_)bvQAq:9A_ kQA=ʚA]QA;eWA6 UGQAf;*ˆAlE44QAxA*玢#QA@_AQAw,WAJD| QA(%TA*{)QA }-tA.QAy֔AUQAXJA4^RQA'!7A7`gQAVU2AC{wQAw]ArQAE\>AmQAԄo߆A@QAXpAjQA+-A5stQALAq4QA mA==/QA\A<QAOAC_SQAZdPgAztQAM$AM.QA6B)]AL.QA2S~AQAa|A[WQAq ħxAARQA'"ExA"ՆA஗QA&AKQA'GA%QAyfAq QA˷WABQA=A+QA*ͬAœϬQAFޭA._QAvA6n&QA&AqЙ9QAAL$X`QA_7!A~nQAtAPwQAx$G]A|QAAzF>QA|=JsAQA?A{QAVܠ:AM$QAкAFQAA%FQAR{uA=LQAHG7Au@fkQAVZA¦چQA9dAEMQAf2AvlԪQAp)eAo>QA d^AaQAs/ACQA2 PAMQA͞AhAcQA3LAFҺQAA5)QAea A8{QA?A7QA? PALQAe )A.!GQA'`A,Y(QA"v]zAɹQA\~RAzCQABsJA9QAEۅAZQA!#AA]3QA!/AEAR~ QA:TfA=Χ\QAV'/NAv'QANBdEOAWo B(QAzHA-QAOeA %QAu$[Adա%QA\QhAchQAZIA%{QAP <AvGCQAնAslKQA닞A)ՉQAE/]\Az8QAѣA"źRQA*YAd|QA|RAsQAl/ALQAHAMQAhAcmRA Aop RANA7*RAPUA,RAq'VARAo5]AWgRAAI!RAd{^EAč`RA9IA%H^RAQkoAkMRARR(qA>2RA,θ/cAldRAҘoAyRA)OA$KRRAyLA0PRA2UAJ RA A[v RANAo,qRA(ARA҇ddA?RA A:A-ĆRAI-KALI%RA=z MAd}WRAMA؈RAaǍRAJgATK]RAsǦvARAvA<5RA[wAQ`oRASq HxAYRA_@=A#RA ņARAQA఑ORAkwA8_ZRAC劶AMRA_ \ƗAZLRA&L^PA]{RAOfCOAĵLQAZ+#-zA> RA ^nA)7QAo=oA^m9QAcsAK]QA)2SxAyKuQA0wyA̍}QAG{Ah }QA Te}AwQAmR}A]wQAJ ~At&QA;A UݛQAoZA wQAvAApQAEAHA4RAeۀAD6RAX-jA> RA%Aa5'גQA6AoQAA=|QAq<AP]QA 4]A{/[QAosA=$MQAMM>]zA-QA! A>gQAEA[YQAbA QAvAW(hQA [AIkQAuZ*A5 QAK>cbAUQA# AQAXlAYRAAcRAhAcmRAHAMQAl/ALQA|RAsQA*YAd|QAѣA"źRQAE/]\Az8QA닞A)ՉQAնAslKQAP <AvGCQAZIA%{QA\QhAchQAu$[Adա%QAOeA %QAzHA-QANBdEOAWo B(QAV'/NAv'QA:TfA=Χ\QA!/AEAR~ QAbl APUQA9+AQAjA*R/QA1퟾A$ 3QAs,;AںQA1A ,QA5A~ EQA;AoJQAџPA`p5JQA 0AcRQA@1AUQAfAUȣRQA& MAЖnQAGAYnQAW΍A]QA4_AlQAW|A/NQA/bAxKQA cAI_IQAEx:A_ IQAzCAquQAEQAAR QAq^WA(QAܮAWo;'QAlGA,5QAJ'ASCQABufjAB~%NQA pYAWtQA'UOAF~YzQAq>'AM3zQAAVwQAU#QA|QA|=JsAQAAzF>QAx$G]A|QAtAPwQA_7!A~nQAAL$X`QA&AqЙ9QAvA6n&QAFޭA._QA*ͬAœϬQA=A+QA˷WABQAyfAq QA'GA%QA&AKQA>"ՆA஗QAA(wjQAD1VoA.&6iTQAj_A ALQAݿNA|QANAK QA*7; A];yQA/A@`QAɒ?AR2QAb!C/DA&QAja0ΞFAgQAGMATQAQA&A\T;QA92A8QAȸ~AS` 6QA5K~A 0QA}^K~A*QACytAQAt>AOQA$Ax2QA۱A8QA(owwoA(QA(,2~A PYhQA'3s`}A QAp}Aկ4QA]}AQA<}A>UQArL<}AqQA \}AP@QAc5}}A5oQAU}AMQA }A@QA{+u}AB½QA>}A!QA~A.QA`~ASQA`AZQAȲEAYs|QÀAbQAbqAxTQA]AYLQA:O2A,8>QA'b;JMAh/ .QAGcAPsQA.#ASQA_ŪAvQA9bA,؛QA ipA)mOQAgsAr QAn4DAuQA8=AcMQA^A@QA9<AȅL QA.kȴAASAQA`AHQAWA/%QA54A'QAolA4QA2vhdAݎRQA%?{cAQAAA՛*QAxޟA!&QA!Z8˔A!]QAD/RA=SGQAB{0A./QAgAwѩq}QA@hA7`rQA/zAjQA%*9AO^QA퐉A`VQA-q~Aq4ENQAeIϞAfዣHQAq6m1A9ҰH@QA1As:QAXA-05QA!AsS/QA9cAyq4*QA屐Aeb QAQvݜA y{QAAvl%QAFtkA赦QA<fA8 QA)A ,GQAyloKAQA ҆vϟAyQA֘TAw[!QA}AQA@KAtvQA]BApnQAO+BA QAVbAA?sVQA頳aAًQAR] >A[GҙQA ? ڡAvQAllAw9QA)AoƖQA7b_סAUhQAeIA"QAo`GAxSQA;:A߈QAdA}QAZ+#-zAAmQAŐxAu~m\QAWAq,?YQA%AVGlQQAEa.AtiCQAaA@QAcXAN0QA@򼣛AyRJQA@FAM@9QAzAQA&fe?AmQAd2?AţUQAԀAj~QA񫡀AKQAIMAseQA_U8$Aw QAsWDA ;QA*BA\TKQA[ߛA?QAg֚AQAKAޝ/QAy,ARaQA[sHAJF5^QAaA'YQAd꼊ANڦSQA[zA?zNQA%1賉A~$`=QACbAYχ=QAXRPA7r2QA[= Ac!QA -Ag@QAǯAÏ QAn!A\QAm-/NA!QA 3AuQArHĈA9QAAexQAk?A{[oQA!:҂APؗbQASI^}ACFBQAyA =QA)~A&$QAvޢ~AziQAa-^:~A㗰iVQAJl~A[SQADZk~A!KPQAF<9~AEQA}Ad'y:QAK]|AZ,:5QAM{At!k'QA$TIγ{AtsQA#C{AjyQA_Ð{Aq"QAWiP;{AUxQA 2|A0QA8#R|A[uQAЦr|A"QA,X\5}A3QA!tYv}A6 ڋQA,ju}A_MQAz}AbQAȋq}A轀QA}y:4}Af_rQAW~AFbQAw=~AK0S_QAHAA#QAGAPc{QAГҐAQAҫsrACEQAl:ЎAAIԑQA納AxQAM2A6QA cAALQAx2AcмQAF0oA` 3QAq~A!jQAvk.}AgdQASetAAQA5uQAΎ¯eAHBQA&EdAQAAeA>kQAK$5kA.~QA>mAUQAwDmAbQA}KoAƃPQA:~pA:)QAeqA gUQA=h}AnZQAүAڄQAQˆA#sQAhڰAuѡQAyAHTQAs@fuAi9QA^uA_QATezW`Al~OQA ^nA)7QAPPo'A QA#-ߜA!jQA vlAMYQA*?wA${cQAq~A!jQAF0oA` 3QAx2AcмQA cAALQAM2A6QA納AxQAl:ЎAAIԑQAҫsrACEQAГҐAQAGAPc{QA,>A#QAƑA9(jXQAlADD&QA=RA QAq#A&X QAa}A纝QA 2 A7w;QAKJAM4QA;eXAwQA#-ߜA0QAzAcâQAއʯAq&QA|)A[]QA$YAyQAFOȄA1{BQAeAQAA~A_zQAE}ACWdQA*X{AqTYTQAl-yA)U8QAawAUQAEívAjA]QA|rAvQAE]dAQA@EcA[#yQA<~#aAuCnQA>$aAbޭ qQA3i`AdsQA6`AA>vQA|_`AtyQA%ހ`AA}7|QA_A֕yQA yx_A~stQA~#95_AqkQALs]AF[kQA=VZAQA`OTAH?QA]94Ai!QA*0AԨQA4].AbQAl~-Ae QAA8մ8QAރ (A?~QA?rAN?UQA*PA%QAU:uA'zQAQAe$FAљQAtCAkqn QA,BAy#QAV4AAHQAj~@AjmbQA?%:<Aɉ3QA֨/B9As/QA7A/QAe+6A@QAl5A('QAo<3A%0QAcG/A[QAz.Ai̐qQA$n,As/QANyZ+A}yQAZ+ASleQA8@+AJQA8*A}[1QA .)A*-QA~&-)A#R.LQAu#(A]QA_U(AoQAo'A6NQAXF*A`PQA@z1^2ATQAD3AXvTQA"*d?A;rÐQAeslDAAQAA! NAyQA-OAo&QADbA]3QAIe.kATGqQAè>uA\EHRQAOonxAFQADPNAC QA$BA20QA؋A3JQAApdQA 'ZA`tQAKAt 1 QA$AGB QABHJOAQAK&dAzQA<]AְAQA˜AgQA禤aAQAGAɷQAAg} QAQ$A,QAVvoAqQAdA 7QA;/1AHQAUTA$[QAAZrwQAv6RfAmQAU GA7#!QAT:OA9QAFP?QAOMQASAQQAÕTAfÁHQA"UAaQAp|VAIfWVQA]MVAz–-KQAp_rAnQA_FrAQA sA QA&]$sAQA̤(w8sAʆ QA'rA=QAdN}A1E}MQA{ 5y~AkCUQAB?AhQA< bOATKQxQAh\TlАA QAo4^A;QA AZvQA3i`AdsQA>$aAbޭ qQA<~#aAuCnQA=b4w_At!fQA,'c%]AL[QA!F}XA3QAfCOAy4~4QA$TQA)QA-0rSAXiKQA)aGSAQA6ɊUAQlyQAdQWA0vUyQA4YA} |QA)[A""{QAJ\A+_QAՆeaA22Q6QA+DgA e^CQAPi gAS@QA߸gAD@QA2uCnAǢ=7QA"7;T|A6~QA{ ׳:}A{~QAh-bAoQArAB.@QAVoAZs@QASUAYKQAkV1Ay4xMQA%'vA.G(BQAx:ڮAFQA ]AFQA2D/A@1ܶHQASuAާQAqAhUI/QAdS{A,QAXACcQA7g ,AؒQA}[1`A"Ձ QAQ&AB;QAhϧ2ArdQAl{AQAWAAIQA |O AQA60v AQAPf: A'QAIO AUQA{y AީyQAqͮA:QAFKuAi xA|3`mQAL>wA7fKeQAvAuZQAi'uA'_,HLQAAZuA8&IQA*tA[;QA2*AsAu-QAA?sA^=QADDtA1=ZQA0}cQASA/QAbbEACM|mQA>Ω=DAoQA=CA֯2#QAskfBAfHQA8AAisQA!?6A\kQABw)2AQAT1At8AQA}&P4/A]4D`QAU-A;QAaßL-AꙹQAb-9%A]:&QA}$AG, )QA;$#Aet9QAk+T"AdDQAvoʞf"AGQA p?!A->A0NfQAE(A+*ɃnQABL'A<)6tQA $UA_QA~AL;bQAKیA-3QAN8̞A=QA'A]6QARA~f#QAOHA(QAACQAStpA|sQAGACQAkyA"̻QA^AQAAhQA(FAnYQA tALQAsCAcuyQAU#AM,QA*wAb QAqKWAtQA9AQA_[nAQA`GAnsQAzLn8A<&QA9AhW1QAA'vRQAo)_FAZiQAEi%AcjiQAD^AAAmQA臨AsQÄŁLAUvQA{A. yQA3ݥA$ !yQA>gKA| QA짨Ak~QAaA3"QANA~^QAACQAݿmΛA0QAU Am QA#NALJHQAAQAH3HA4QAl@ڠA)lQAf0LA jQAAGXQA{1A'QA~ AzLQA$;ASFQAAHQA/zAJtKQA6A:TQAUg Al7mQAw $A uQAfA|i~QAGA$:QA0-đA.NQAɂAOLQA A*dQA{v@!A/UQA(A!EKQAŗmAjQA ׽T~AMDJQAsޤxARl)QA 2xAƖ+QAI,MwAcQApp:vAдCQA%jMqAQzQAFZgA`7QAv-*eAQAB0 G`A,U_QA4^ZA1QAo.XA_QA#Q#NA-gQA"|JA>TQAMDAQA-;AdHQA Y:A-n@QAot:A:\QAƠ9Ap QAi`P8AXC5QA 3Ay_Wg7QAuF3AtQAV2A`=QA =6{/A. sQA緖'.AQA[ -AD2QAdf--A,73QA9-A 8QA9}-AZsQAI` -A sQA%!,Av_tQAO{.,A!@QA{,A9x\QAihRi,A}zQA/}ze,ArQA0kE,AcuQAt@,AQA$n,As/QAz.Ai̐qQAR-;A^(QA횞njA_QA%jMqAQzQApp:vAдCQAI,MwAcQA 2xAƖ+QAsޤxARl)QA ׽T~AMDJQAŗmAjQA(A!EKQA{v@!A/UQA A*dQAɂAOLQA0-đA.NQAGA$:QAfA|i~QAw $A uQAUg Al7mQA6A:TQA/zAJtKQAAHQA$;ASFQA~ AzLQA{1A'QAAGXQAf0LA jQAl@ڠA)lQAH3HA4QAAQA#NALJHQAU Am QAݿmΛA0QAACQANA~^QAaA3"QA짨Ak~QA>gKA| QA3ݥA$ !yQA{A. yQÄŁLAUvQA臨AsQAD^AAAmQAEi%AcjiQAo)_FAZiQAA'vRQA9AhW1QAzLn8A<&QA`GAnsQA_[nAQA9AQAqKWAtQA*wAb QAU#AM,QAsCAcuyQA tALQA(FAnYQAAhQA^AQAkyA"̻QAGACQAStpA|sQAACQAOHA(QARA~f#QA'A]6QAN8̞A=QAKیA-3QA~AL;bQA $UA_QABL'A<)6tQAE(A+*ɃnQAR{>>A0NfQAs CAS~QAΩ=DAoQAbbEACM|mQASA/QA}fPYA>}cQAI(ZA,QAGnAAQA^A QA4^A>QAPld> AQA iA oQAx:5ArQA)_q*A;uiQAKe]AiQA;g>AtQA/CǫAWnQA,AM QA--AK'cQA/@AQA?AA PQAنAEQA7KVAՀ7QA4Q>AvQA4Q>AvQAAq!,QAe]A7QAh=A-֐QAAP=8QATRA6QAP%AQAV-AW QAByIYAoAQA"ARQANϿUAh/QAn<AmQA֐rrA8UQA#edAPQQAcA =kQAzXA&QAZeNAQAɠ$NAjIELQA7NAFqkQAMA>%ʰQAoӲMAw\QA#5JARv>QA2GATQAaFZDA QBJQAieEA\#XQA6DAb)QAepCA6QAkCATQA#Q#NA-gQAo.XA_QA4^ZA1QAB0 G`A,U_QAv-*eAQAFZgA`7QA%jMqAQzQASտA QA9-A/RA^Ro A"R7RAϬ ARAտAFg\RA=}ARAID!AZRAu (AzRA/ۮAA80RA?ȲDAr2RA}?FAb|5RAq=8IA)ɫ7RAS):SA@RAZ%X]A -GRAUrH^AǵIRAymAՍђTRAJYvAnj-[RA^xAM]RAj{*|Alԍ_RA87ARNaRAOAbjRAN)A vRAώAU۲RA*AOdRA|BhA} RAҠA8-RAj=A=&8RA* PAԆ|RA|PAd hRA}A RA3:A(RA*A"-RA9wAA5RA'e?A8v!RA80,9AÂRA9zAٺURA\w A/RAoGJz Ak[:RA| A:vRAJ7AQRAARAaALp{RAO/JAv=6RAC؄AȎRAAQ>tRA QAZL4 RAүK)A}֩ RA^ BA,7f} RALQ* |AcK RA A5 RA(cAĪ;RA /IANR+RA[A@LPRA1AՖ1ERAǰ]aAzRAct}AмHCRAd=A!~RAp1A/;>GORAOA̙>RAVџAA~RA5E_Ahu RA+O AP8bGRA_ FAR}&RAo7\`AV*CRAI-wp3AmQAzȫgAvAQAU@AlQAvԖA^U,QAlWlKAcsQA6 ©A9QA՜AĘQAk'V= AZӄQA AK 7QAъ"AJ/='QAulP"AZQAzR#AꂩQA7:$AֿQA$Aw83oQA4x%AOQAE;&A7QAM'AF5EQAo'A6NQA_U(AoQAu#(A]QA~&-)A#R.LQA .)A*-QA8*A}[1QA8@+AJQAZ+ASleQANyZ+A}yQA$n,As/QAt@,AQA0kE,AcuQA/}ze,ArQAihRi,A}zQA{,A9x\QAO{.,A!@QA%!,Av_tQAI` -A sQA9}-AZsQA9-A 8QA+A[I6QAFw4)A'-1QAv5#A梟%QA_ A[ QA0+[AS&2QA۵QfA4QAr1A|mtj QA]ABx!QAp-A[fGQA. AAmMQA.X AgPQAKhYA2hQAxeܒAX1HQAZ=M^AZ݁QA=a@A' wQA7!AdpQA~JAx%LQAA[QAh)CmA QAk)WAKGQA #WA՟/LQA▇2WAD{ ^QA\8{3HOAI?QANA8bPQA(NA%ilQAM¡MA뷂QA -MApQAO=0MAVQAQ?TA_sYQArUA0cQAt2XAhQAXAävQAe9WABQA󰎬WAU]QAFVVAziQAUVA ޏLQA\TA"/n;QA_SAHaQALD?SAtfgQA SAOwwQAq ARAqQAO/WRAZ+QAq>mRAN5 QAXRALQA(MSAX(VQA SSAtQA^\SAuQA!0!\YAANGQACi4A'.~eQAQ 7AH(QAJ>ASH8\RA$?AzQRA;AAPįRA[tBAs$x%RAʡ_DAqr#RAf| LA RA bKAڗׇRAKAV RA-vFA#RAt EAGRA{~VDAARA>9}IA̬7RA# MSA"vRA~,J`A=Q: RAnjȑ`ARd[ RAx`A ̾ RAXX{@Q_A.H RA3K^ABk+ RAnd,]AE RA:%E]A˙^ RA5@H[A]} RA&-:[Axt RAc]UAQ椶 RAZGPAz RAf6jIA&Y RAlKIA6ja RA~'DAr RAȤDA RA9ұBA*'00RAZ=AURA߁U];AǠRAHiw9A6XP?RA$\8A'QURAU9Z5AvRA0=2A6c RA NҲP/Ayd;RA0pg+A֝VRA^Ro A"R7RATAtARAnjȑ`AFg\RArAeRA#MRAtYݥRAA <RA87ARRAe"[ARAAJ\RA|.ARAfoq1AgwRA>5ʏAy7RA^ ARAտAFg\RAϬ ARA^Ro A"R7RA0pg+A֝VRA NҲP/Ayd;RA0=2A6c RAU9Z5AvRA$\8A'QURAHiw9A6XP?RA߁U];AǠRAZ=AURA9ұBA*'00RAȤDA RA~'DAr RAlKIA6ja RAf6jIA&Y RAZGPAz RAc]UAQ椶 RA&-:[Axt RA5@H[A]} RA:%E]A˙^ RAnd,]AE RA3K^ABk+ RAXX{@Q_A.H RAx`A ̾ RAnjȑ`ARd[ RA~,J`A=Q: RA# MSA"vRA>>9}IA̬7RAmBgDAuRA8FPW@AA٫RAVe.?A* sRA <ArYRAU+6)Arx<RA4[6'AE47RAeL&A/RA!AR5 RAerA/ٌRA$fAJ|RA"aAmׯRA]WAæȟRAv^A3cRAkA9ikRA{F]A0RA0PA`RA̔A>tRA2&A{"RA&'yAt}+RA[BAuB9RA|AL_RAA:y)RAnOAjRAI[AmERA!AF:?RA5gAtoRArH!AgHRApE^AO_RA@˦A93pRA_z~^As[RAEj!j[ARA lAPRAhVA5RAPAhfRAxA0f. RA:0A@UBRA# AVRA1,bAu%{iRAۧs&iAP=RAqAlRA26$A+RA^EEXךAVi7RAdeVAoRAAtA7RAAnrRAv@NAHRA'"A)0RAr1KםA:WʿRAwLAQRAձA$RA4xA4RAƠArRA)ʥAoqRAiNGA%RAlgA/RAa#AʔRAZA nRAvh+A.RA|nA: RAD{A)<8غ RAgM A]2^ RAy%A:1 RAvCFAn*S RA$AYt RAڹ(9AM RABrALU-RA}AF.;RA4A2a>RANAmӂZRAFVAmrRAE&XAp`RAͧA,zRA48>AU +RA.A+FRAAeRAUd'A0f. RAA <RA{JfBA`cWBRAENA˨JRAՈUASddQRA;{d^A{WRAotArhRAla'}1vA ZkRAЋA}~G|RAЧJARA~63AShτRA?A֩9]RAb1AðRAݫA芫RA3AwRATAbRAS"Nk$AU]RA$iBA+ FRA'A$RA9NAQRAsŰ2cAQRAxA2ٶRAeAFARAH[Aw!$RAũAIϼRA#ARAA <RA#MRAtYݥRAAeRA.A+FRA48>AU +RAͧA,zRAE&XAp`RAFVAmrRANAmӂZRA4A2a>RA}AF.;RABrALU-RAڹ(9AM RA$AYt RAvCFAn*S RAy%A:1 RAgM A]2^ RAD{A)<8غ RA|nA: RAvh+A.RAZA nRAa#AʔRAlgA/RAiNGA%RA)ʥAoqRAƠArRA4xA4RAձA$RAwLAQRAr1KםA:WʿRA'"A)0RAv@NAHRAAnrRAAtA7RAdeVAoRA^EEXךAVi7RA26$A+RAqAlRAۧs&iAP=RA1,bAu%{iRA# AVRA:0A@UBRAxA0f. RAzA1#RA)AA-3Q*RAl .GA/MCRA±.8[A̱CRAFS1gAI>RAR FA>RAB7GڢA)TU?RAAB '?RAmAu,:RA:zA3J:RAE#Ar7RA޶\A 7RAA}5RAد|lAhh52RAs0A P3RA`RA0RA(鸖ɊAp=4RAuyAwRA ɻ`jwA.d|RA'OȣjAv>KRA\dA˔[HRAN/:]A! RAHC0p[A$R^RA`FZAX RAr>uVA,zRA"0AA; RAV?AQLRA8 @?>A`RAUv9A5ExRA UnU5AZRAPʢ2AJSRAkOA-AM3RA[-AkrRAX}-A$RA%Z:-A.RA6}P-AKRACas-AY$RA^%2_,Aa̕RAhm2e,A&ȮRAgDE+AuiBRABX*+A(̉RA%+AE,I RA0/+A{_ RA5*A~e RA`*A֩ RA1x|)A! RAճ`?)AMG RAI(A͠ RAI(A"RA!1'ARAԄhr'A3n6pRAd'A$Z2RA&Op/A">6RA{kv0A.!5RA :A}?9RAJfBA`cWBRAVkOA-AJQA+ڛA`RAx"0AA; RAr>uVA,zRA`FZAX RAHC0p[A$R^RAN/:]A! RA\dA˔[HRA'OȣjAv>KRA ɻ`jwA.d|RAuyAwRA(鸖ɊAp=4RA`RA0RAs0A P3RAد|lAhh52RAA}5RA޶\A 7RAE#Ar7RA:zA3J:RAmAu,:RAAB '?RAB7GڢA)TU?RAG+/Adg$RA5ߗAWYRA'ϊXA"&wRA0bABk`RAz\ލAT}RAbAlg RA9@A̐RA>AZ!ʏRACXqrA)RALTތAo#/S4RAn'A&RA3AAoRA{ŤPA;;RAO7 \ɈA 'RAo#P8AEQA{AC5QAc2AUFQAXA`QADZA$= QAܭYAQAt>TAXQA`i׊AzޟQAp@AJL6eQAAރ1dQA A'xcgQAAsG FQAM;'A@rHQA hA SHQAۢIvAkcJQAiJŔA LQAU=zA/9QAtAmF+QA8A ZQA WAQAn֕AsQA9;E3A9.(QAA]A6;ܻQA&NA-âQAuxqAvwQA%@A8cUQA͛A^zQAF ʦACQAB›Ad=oQA+ڛAHQA- ؛AWJCQAzbAGQASڗAOt1+QAdkIAiQ(QADPA")QA?;AЀs)QA!NA)XQA{<AvSfQA̜AFOnQAdP9Aв|QASӒAA^QAhdAJ{QA*GA+ۊQAHA PQAKaASkQADAP-8QA'+2AQAnA=KQA9"AM0QA( &`AmzQAVR((A#rfQAgf߆AΑQA gфA翚 QA]AFU QA#M*_A]FQAAQAACwQA|AIjQAoW)~ADQA{}A=yQARnp|Ac)XQAQzȦMQA@eMkAD.QAMdAYh:QAs/Aa/тwQA~.Aҙ+RA|.A9pf`RA(.A3KRAkOA-AM3RAPʢ2AJSRA UnU5AZRAUv9A5ExRA8 @?>A`RAV?AQLRA"0AA; RAWXA8cUQAp]A̱CRA\±.8[A̱CRAl .GA/MCRA)AA-3Q*RAzA1#RAxA0f. RAPAhfRAhVA5RA lAPRAEj!j[ARA_z~^As[RA@˦A93pRApE^AO_RAmʭA{+ηRAYAީRAur&/8AVRAf(A2jgRA~!ZAK&yRAgCAkRA ADqGQAp]A^/QA1XA=zQAtVAd'&QAzA뢔~QA.3MGAݼeQAkAw;cQA :AZQAϨA WQAvAf OQAz۬AH.TAXQAܭYAQADZA$= QAXA`QAc2AUFQA{AC5QAo#P8AEQAO7 \ɈA 'RA{ŤPA;;RA3AAoRAn'A&RALTތAo#/S4RACXqrA)RA>AZ!ʏRA9@A̐RAbAlg RAz\ލAT}RA0bABk`RA'ϊXA"&wRA5ߗAWYRAG+/Adg$RAB7GڢA)TU?RAR FA>RAFS1gAI>RA±.8[A̱CRAX,zl?AQA 0nӮAH.A VQANō>AG3QA9AQA#:A~QARy>AZQAAATQAiaAhiQAso4AͼpQA'VlATQATA4QAW,˞A"BQA- ؛AWJCQA+ڛAHQAB›Ad=oQAF ʦACQA͛A^zQAҶqAbSQA5vAxQA\AxGQA,zl?A`iQAaDAķQA8{"ΜAWQAϙA?QA{۞A:,QAO2"AOQAzqAq{QA8dAQA:mAQ[ QA]TgR٤AؔQA|AqQA%LD,ATIQA)٨Ab)2QA~2}$AU!=!QAՀ{VA3QAz۬AH.tRA0PA`RA{F]A0RAkA9ikRAv^A3cRA]WAæȟRA"aAmׯRA$fAJ|RAerA/ٌRA!AR5 RAeL&A/RA4[6'AE47RAU+6)Arx<RA <ArYRA^9A<RA}8Ayo;RAASH8\RAQ 7AH(QACi4A'.~eQAbC4A{rhQA51Ax}nQAIQ90AhYtQAaU/A+zQA-*A}QA+U "A,yQAAYv~dQAi\A8¡TQA87Aasr3'QATAn[Jz$QAJ3v#A1:M$QANQA&QA+ݏA,6;QA&ɢ A̫QAh5iQ A9|% QAkFV AwQAIEX. A _QAuKA<QAb$AgQAXf?AXqQA7AüQA;`A/QA#LUAb=QA"IAQA:vAQA6OAnQAi'AME*QAxHZ2AeÀQAC%Ai ϒQAnFAyQA$8AxQAصAm&zQAA7QA@rS:A}fQANAߍQA-A_QAfhAfDŽQAckAN܄QAAx;QANyA׶QAIASQAG4A:QA+~AQA 4 GAMjQAE\}Aw=QA* A QAga<A!GQAy=yA+gMQA*/A,}PQAQA޽PQAߐfyABTNQAR<1A=NQA?AԦA#kWLQAA LQAfۯAvLQA1AǩLQApфAN7MQAIKAMMQAcNA=]QA5([OA]<`QAZVN 4AkyQA8AAQA"Ak4QAolKɬAvQA"IAXQAA.wE(QAz۬AH.ANGQA4}CA׆"^AQACAL.QA7oI6CApaQA)ܤ/5CAI@ QABAk ~QA`EAAQA?AA(3QA+QkBAPJQA@YW}FAQQA,WGA5娃QAQDIA+|dw\QAyj IA%bNQAޢGAvfQA,FA!HQA]iHFAW@C QAhFAbpQATq &GA߂:`QA7GA%3QAo9 HA3QA)Vk2\HARz^QA18HA"QA.E#GAͦQA5JQKA2kQA jKAw_QA~ LAx0-QA6MA)y QAF JOAcQAI&OAisMQA$PAfʀQA$PAfʀQAEתITAO]QA!0!\YAmRAN5 QAO/WRAZ+QAq ARAqQA SAOwwQALD?SAtfgQA_SAHaQA\TA"/n;QAUVA ޏLQAFVVAziQA󰎬WAU]QAe9WABQAXAävQAt2XAhQArUA0cQAQ?TA_sYQAO=0MAVQA -MApQAM¡MA뷂QA(NA%ilQANA8bPQA\8{3HOAI?QADejSAS>^QA;MTAH=QA?TAWt|QAؠgCMUA?|QAIZVA yQA VAHJw{QAtHVAn9WQA▇2WAD{ QATǮOXAS}QADky]A 0{QA0/^AgQAl(/^AaQA˩\cAraQA1reA0`牴QA% ,iA QA3XnjAQAdw6kAe6SPQAlAϸQAjAQA?gA|헤QAW bADڢQAdAԀQAxcAdQAzcbA QAQ qCbA"5j QA¯3AaAͼ QAO_AYS" QA~XHAHVQAAFA}QA"d5 .@AF0gQA:4A[QAT<4AJ%QAOA74A[`9QA,'A̓+QAL&AЉڙQA+e$A3QAIzAjxQAU7#AQA+"aA QA+AǚQAjoAvp)kQAȫ:Af\=QAɽAv/liQA7nA\!"WQAln}AxxQA mdAYQAKA-7crQAǬAUjQA&AMOQAZAܖQAV5+̊AQAHA'yxQA;qA+W_QA1bAb[^ QA1䰇Am QA$A=jMQAjA~FQA;DCA{}3VQAv(AQAACvQAP<ALQAAvGQAn:w5AI4KQAeDVA^a QA2XAQAVAen QA{gA.VQA=@A}QA_ PAiQATA,ljQA*q 2A$QA2YZ A GQAHBA QAϚA;Y*QAᐧA7Ë QA/8ГAğ@~QAPlAhgQAu{UAQAuOXAQVuaQApgSAUQAC(AIQAh"AQA1A jWQAZ֭;AQA d8A^QA:gA3o6QAbS4A' QAAQAPtvwA}QA'A7QAk2jA;@}QA?sAWQA4,8AnpQA\EA!^5QAnA{QAr7AfOQALgCAcQA+AnQAAe+QACoA?"QAgAAQA \AUQA&%A\ QAApiQAmJbAjQAGhBAQA6dA QAJ=CA͟QA@DA/$IQAAiFQABAG_"QAqrw{AXM$QA>h(#Az2QAOV?A#AJ>QAo<$?A3tZQAԁzAX {QA@rS:A}fQAA7QAصAm&zQA[r2ͅoA5QA{gA޽PQAy=yA+gMQAga<A!GQA* A QAE\}Aw=QA 4 GAMjQA+~AQAG4A:QAIASQANyA׶QAAx;QAckAN܄QAfhAfDŽQA-A_QANAߍQA@rS:A}fQAԁzAX {QAo<$?A3tZQAOV?A#AJ>QA>h(#Az2QAqrw{AXM$QABAG_"QAAiFQA@DA/$IQAJ=CA͟QA6dA QAGhBAQAmJbAjQAApiQA&%A\ QA \AUQAgAAQACoA?"QAAe+QA+AnQALgCAcQAr7AfOQAnA{QA\EA!^5QA4,8AnpQA?sAWQAk2jA;@}QA'A7QAPtvwA}QA>AQA3VQA XA\u1QA)9FA5KW`QA;DCA{}LAjnQAT]<A QAڱA_w_QAPZaA[QAHnA5QAw5 AEQAhzA\+5QAcbAS jQAA$byrQA%ߐсAdQA2xAkQAWǧHxA`9qQAwA%zQAψD*xA F|QAEL{A WwٰQA+άzAc΅QA8GAOWQAӴAAQA\AQA @AJiQAnAmQAZ*iAz*QA&ML*Ap9xQA,A QA/{GԛASQQA@AQA%SAE!QAyoAqQ_QAG쾷 A;QAwQ&A0bqQA A-SAZQA#:A~QA9AQANō>AG3QA{>A VQAI4eAOrQA 0nӮAzQA{ϭAi@•QA{KAaQA.T4AlTQAvA)QAyA^HQAӒAmS KQAچA]KQA#AJQAIKAMMQApфAN7MQA1AǩLQAfۯAvLQAA LQA?AԦA#kWLQAR<1A=NQAߐfyABTNQAQA޽PQA*/A,}PQAy=yA+gMQA\H0A-u\rqQAzbA#rfQAmupxAV{QAZW4-xA<vQAzO$wA:kQA'JuAXQADհqA0DI$QALpArQAFCpAբq-QA#jnAZQA mAQtBQAviimAVQA\+kA0QA+x&jAfQA ">gAQA8dzLfAWQA- 3JaAI\WQANe\ArQAtsVAXQAWBLA&kOQA@iBA<QA{?AAsQA?KJAAqCQA^31A-u\rqQAIu1AQA}{1A4ZSQA.6;1AfQA{Y1AU(AQAҨ<)1AYQA"1AHlQA. 0AuQA0AQAH0ANtO;QAߓ]T3A!<6!QAtOP=AJQAuW2AxQA,PG2A[y=QA |2A.QAg2AyޣQA^31A-u\rqQA?KJAAqCQA{?AAsQA@iBA<QAWBLA&kOQAtsVAXQANe\ArQA- 3JaAI\WQA8dzLfAWQA ">gAQA+x&jAfQA\+kA0QAviimAVQA mAQtBQA#jnAZQAFCpAբq-QALpArQADհqA0DI$QA'JuAXQAzO$wA:kQAZW4-xA<vQAR>pxAV{QAPxAÅ{QAH;;xAh3H~QAUrWyAAQA ~yAo.QA2PڣzA"QA"zA4Fe̖QAlb({A}QA}AoĿQAW^yA}QA&4AzQAQAnh QAVڏA2iQAWʏA%U8QA2+ŧA=k!QAAr.y/QAuSAHPQA4mAyWSQAnjJA\XQAftA aQA̿VA.aiQAAӕQA^~nA'QADAEQAQAnY QAXvAZQA6ƊA뿝QA ;`=A7WQA0ٌAЬ~QAA0,QA%4A)6겧QAb4Aѷ̃QA"A"pQA*tոA7DkzQA\ǾAàiwQA۫AKlqQATwAuVlQAi&SA3wPQAP,xA ťEQA:fA9ɰ,QA4ׂA0QAz!AXȈQAAgQAyACQA˽AQATASQAiAVJnQAWA8/'QAsYAػ QA1sAٞQQAeYA]QANA'QA |AQAPㄔAv۠ѮQA<\QA(ݹtQA1A3A3oQADA^QAAwNQAX{AGQAy{A$QAv$sA8+QAr2ͅoA-׬QAz'jtAw1SbQAHm~A"$QA!@9A 2QA ƃA^QA-9AwQA!A(aQA%\Aiհ4QAiAlQA&E ,Aq],RQAm%A5=QA A-SQAE޴5A㄁QAaAk5AddQAkvg5A]D^QA Ϫ4A^0QAh4AuI>QAN\ 4ADQAv4ALfQAC3AtB4 QAC埾3AX%QA#93AˈRAQA"õl3A.IQA2At2QAz02A#IQA I2A #QAM2AQA^i7AG-1RAg WA5RA2";A$^y5RAu#%?Aؔ5RAA]DA'<5RA7FA5RAlFA!Q(L5RA"-EAEnb5RA4=EA5RA2EEA׋{5RA>R$PEA=x/5RAKDA75RAp@cCAZQe5RA)ACASwT5RA$c+CA C5RAPjDAKd-5RAU)'FAƹZ5RA%@p+HA 4RAD$*HAu4RA(р(HAw4RA,dHAo24RArHA/4RAAZ\HA 4RA>X@HA "4RA2JAEkU4RA ;JAjw4RA>19KA25RA7KA@[4RA=.sKAv,4RA3AùKA8<4RAv![LA 4RA@MAE4RA8>ӾMAE14RAc_POAc4RAPA)24RAB/yPAF4RA`PA,4RAKfOA 24RA,:@OAKN4RAVhNAHC4RANA<>>4RAmFOAH4RA4 (`OAq4RA YOA4RA`jSOA<4RAd`PA4RA_PAږ }4RAy۸OA,w4RA͞ZOA>/w4RA͏NAhkg4RAO,U7OAR^na4RA[nOA!d4RArCPAEݰ[4RAX6VAӌ3RAYѲJWAA3RAiWA3RAjsWA˘3RA|8iWAIF3RAWVAfb3RA |"VAɲ"3RA[&#?UA3RAHTAE3RA TAl3RA3ҦTA9.3RA@ʢTAUV3RAdXUA[NDz3RAO82UAt}^3RAJߒUAV3RA:a1UA g~P3RAIUAK3RA(DUAWĽB3RA OUA?3RAN]NUAa:3RAgcR UA "43RA { UAN/3RAs8oUAo$3RAUAp6Q!3RA2)UAG[3RA}{72RACЄSVAE52RA` PUA}=2RA=>`TA,*z=2RA¢TA>;2RAUA͊2RA;flVAG-1RAw_UAe=1RAE7hUAnR93RA_8FA3RA`+.EA3RAyDA;o4RAuϿLBA)`64RARkK9AAc: X4RA2?Akv4RAw~t>A2-4RA[=A t4RA7I=Ax*8n4RA&Vr<A4RA<~;AaW4RA>t:A[D5RAi7AK}f5RA/Ԙ8A37l5RA2";A$^y5RA_s!hA7hC1RAm; SAK}f5RAM>t:A[D5RA<~;AaW4RA&Vr<A4RA7I=Ax*8n4RA[=A t4RAw~t>A2-4RA2?Akv4RARkK9AAc: X4RAuϿLBA)`64RAyDA;o4RA`+.EA3RA_8FA3RA$ΡFA>nR93RA[\!GA~À3RAGkTaGAUq3RAf2gGA®:3RA ~կHAp3RAڸ;HaHA2;_3RAUHAE߆3RAh JA`~EW3RA!LAz3RAL MAQX2RA4]nNAYq2RAȒ{ OA2RAn)G`PAE+Np2RAf_(6QAMF2RAQe`RAs_'2RA"RAA72RAm; SA O1RAƽZPApٱ1RA6MA{IE1RA\}LA({1RAo@+KA,1RAcpZwJAe1RAIA1RAnoMHAٿ\1RA)GA7,1RA#FAhO1RADp#DAw1RA;2ɔBA"W1RANs;A1RAY͚ :A7hC1RAؚV9A7!2RA029A-2RAN'U9AHķ O2RAWLU{9Aa'F(s2RAT^Up}9A<Ѓ2RA^9A*a2RAPG$9A 2RAX'9Aۖz2RA)98AeIk2RAS0r:A3RAuxm;A~q3RAO:;A3ʧ/3RAJ;AWC3RA[w;AIEi3RAŬ;AmEz3RA5~4A>I3RASAZpu 4RA%"l*AU~4RA;|)AdT4RAzAX!APQ4RA:4 A)94RAjbS$A 5RA'm6%ACLR 5RAq,w%A85RAݖe5AO6V5RA@;6APe^5RAi7AK}f5RA>t:A[D5RA` @:?w7Aoy -RA)uAYߌ9RAi`ANk^8RAЊ}A&$8RAA+7RA>AS7RAa/Aԇ"|7RAAk7RAHl2A0O`7RAFA,NşZ7RA;7RA`&AI\-7RA 撼%AV"7RAV$A7RA)#A(I~7RAaw5"A9Sc7RA.!Aϲè%7RA Ai,%7RAeh" A637RAoA 7RA"xxAҢ6RABA.6RA A w.6RAYA+AV|6RAȓSAݱHV6RAA}V6RA.cSA6RANcZ`!ANj96RA'͢ !AZK6RA#A$6RAc;L $A6RA$A#a6RA*#AUܻ6RA cL`"AA]}6RAi>"Aj-6RAڝ]"AXH6RA5(~"AC6RAJ}"A{ }6RAU"A)6RA:?#A|6RAď#A坅6RAjF$A^Ϣ6RACf$AUwk6RA;$AvW6RAhҤ$A#X܌6RAv/$A6RAvYg%AnP6RAM%A*hf6RA &AY)@6RA\&AC6RA.U(AͲ6RA :)Ad6RAT٢*AeU6RA%(+A'6RAN+-A96RAJ-AҶ+6RAm3 -AWх6RA/-A!w6RA ,Ail6RA">,A"K T6RAnr+A%N@6RAz,A(26RA b5,A7/6RAqG.A"%K'6RARBD/ALN!6RA60D/A6RA"c/Aˈ6RAd6"/A6RAu_h&0A 9u6RA%f0A(Q 6RAߪf0A66RAGꝆ0A 6RA0AU5RA&1A&<5RA'1A:5RAd 2A5RA'\w5A~lg5RAT\6AYF5RAZ7A5RAj?J"8A‘f5RAiY'9AVU5RAWM:Aˆ5RAk.;Aӛ5RAC>s9;An5RAzw<Av5RA<A\.5RAڔg8=AH! 5RA|H3W=Aݍ&5RAU=AM5RAδ _>A1e5RA PCA-5RAeDA-̂5RAAZpu 4RAs!hAM)G3RAqc1)Aåvd3RA`$AUY;:3RAQз$Ay23RA)] %AՂ/3RA!-+AC73RASI3RAŬ;AmEz3RA[w;AIEi3RAJ;AWC3RAO:;A3ʧ/3RAuxm;A~q3RAS0r:A3RA)98AeIk2RAX'9Aۖz2RAPG$9A 2RA^9A*a2RAT^Up}9A<Ѓ2RAWLU{9Aa'F(s2RAN'U9AHķ O2RA029A-2RAؚV9A7!2RAY͚ :A7hC1RANs;A1RA;2ɔBA"W1RADp#DAw1RA#FAhO1RA)GA7,1RAnoMHAٿ\1RAIA1RAcpZwJAe1RAo@+KA,1RA\}LA({1RA6MA{IE1RAƽZPApٱ1RAm; SA O1RAvTAqm\]1RAE7hUAl1RA8a`]AR1RAb ]A䀥K1RAFMJA]Aм(զ1RAщQ]AȨ1RAK&~^A:)U1RA8: _Aw1RA1;m_A0Ef1RA=/Q`A1RA޷O`At޹1RAd.iA_1RAagɏiAM_1RAmANkm1RAlAZ1RA%mA`̴%>1RAb~lmA81RAT\`nAFh51RApAwlV*1RA|JqA+,1RAnu#IqA'HJ1RAHB'qA1~31RA/RAT'.QAbY/RA2d-A.RACᇕmAj@>.RAն)i0AU>.RA:]A`=.RAXwIAk.RAq,XAD5.RAAc.RA@:AA>y.RA!t{A!.RAsoAH.RA-,+A.RA AaAG.RA1A" -.RA1A" -.RARA]`W.RAA7D ArX.RA@AbB.RA s=^AyR.RAښA!99P.RAz6Ay.RA=|AM}t.RA _[A>5n.RA4{A9c)l.RA݆AxWi.RAIA2A~f.RA^qCAx.i.RAdA*i.RAdA*i.RA?\EˆALJ.RAy#CABk.<.RA("NJAQ|#.RA;1HAjfR.RA:FA7 .RAe%A.RAqG4Ag-RAqA"-RA )|A5)ed-RA>'qA-RAiչA-RA$n⸊A'G-RA;`lAQ-RA}4Afډ-RAn2A?-RAbA%Qnw-RA}PAkÀo-RAe7Ak^H`-RA)uAx<-RAnA$8-RA{yA1-RAN?sAWz/-RA` oA,-RAX*AAoy -RAPfw7AMʔ-RATc(2A}m-RAJ]B0&AItz.RA' AQ<.RAEnAeI/RA3A/RA=v AoY0RAkAvN$0RAlAU/0RAhIwAٹTC0RA A$ m0RAXAm0RAA\T0RA4 5Ahf1RAiLA'2RA^ A;۹2RAL/A RJ2RA>tAߙq2RA\wA943RA"Ag<3RAnA$/X3RA̚@pAOJc3RA5AoL3RAt\A^*94RAh_A[I4RAkyA({4RA't A7]I5RASPYA 5RAGcAw6RAA ^6RA4?A?cY7RASnVnA5}7RAFܪAՄl8RA|-pAT8RA@6A=8RAX1gA\H8q9RA:?w7AYߌ9RAM<;AW9RAF?A+e9RA԰6"A9RAA`1S9RA\K AոM9RAWƭ]A1eD9RA,?{AƉ9RAtA҄9RA퇀eA29RA7AnͲmy9RAMwA9s9RAi`ANk^8RAa 2!{A./RAlA}rW AQف;RAIARob:RA'Aw:RAr}gA&hH:RA\5A :RA2%AvQ;RA,cAn= ;RA& A5-;RA`A^:RA֐ꭙA$@:RAnEaA :RABAԬ:RAA M:RA/jWAp:RAxFATkWG:RAfA$[:RAt;AD:RA%D$aAg~]v:RA:x^Aۘ&:RAAq:RA?A:RA/ЁfA;B:RAzPA":RAmOAdB:RA5n'0A:Z:RA5nNA ":RAK90AWO ;RAAA;RAA,<;RAUtA 85";RAAs$;RA;WA.O;RAژsACa ;RAs?KxAR~;RA"7CAiMO:RAn`A@Wj:RA"C߹A:RAea$An:RA A@::RA̓aA :RAJۈ[A[s:RAhA)U,:RAv6Aԡ:RA5FA땉:RAA0Ћ:RABs{A:RA5Ae@u:RAvA<e:RAgADXÃ_:RAuDAg1+W:RA<7Ao:K:RAAWv@:RA-AErt/:RA4y/AMr:RA"uhA.1:RArA0_6:RAjA :RAE#yABi:RAӞA':RAN@A(>C:RA𻘀A|f :RA03A2.:RAZ^bAR9RAaAe39RA(AJ9RA^ |Aʎ\9RAټA^=9RA3)pAɠw49RA<A y9RA5΃qA!s 9RA&A*ۡ9RA=A uy9RA\/DAx9RAHRA~9RA_Ax 9RA:?w7AYߌ9RAX1gA\H8q9RA@6A=8RA|-pAT8RAFܪAՄl8RASnVnA5}7RA4?A?cY7RAA ^6RAGcAw6RASPYA 5RA't A7]I5RAkyA({4RAh_A[I4RAt\A^*94RA5AoL3RA̚@pAOJc3RAnA$/X3RA"Ag<3RA\wA943RA>tAߙq2RAL/A RJ2RA^ A;۹2RAiLA'2RA4 5Ahf1RAA\T0RAXAm0RA A$ m0RAhIwAٹTC0RAlAU/0RA1tPAoZ*0RAM9^A] (0RA M|ZA^(0RAG}ALnZn0RA+KAd0RArAI 0RAd)=A;Y0RAQuAq0RA3OA`0RAe(9 A=0RAQAk\40RAxA0RAhA΂/RA,nAa4>/RABPA /RA>AbQ/RA\wA̐/RAӥLAdD/RAÆ܅A./RA=A`S0RAAMυ5RA6A9|=5RAsƀAn@5RA<.A带6RAdA˜d6RA!GR~Ak7RAH}Ak68RAg1}AK'8RA ԯQ}AjX69RAj@DR|Af:RAnL7|AnI:RA!{A,U:RAȔ{Ai;RAI}A[u;RAI}A[u;RA;b_A:RACX<.A̬:RA!uA?M:RAFrA|(i:RA lANK:RATڑA˽`:RAA'";RA`r]A;RAiG A9ڎw:RA}aݒAf:RAr2^Ap:RAf!A>_:RA{ŔA_):RAAl1:RAAgs;RAO7KA~G;RAJioAr ;RA]iGzAp,];RAHvAF;RAxb ڗA$(;RAmA>;RAAH'AlG;RAjʳk˚A0L;RA9n*OAPpOW;RApA#];RAtA}_;RAA:1h;RAc"Aj;RA3AQׂ;RA6An ;RA'#MbAfMt;RACNAВ;RA\AAAB;RAdAH:Bm;RA8`ZYAqVi%;RAAwV?;RAV="A_;RAZlA2;RAYF0A ;RA dAC#;RA4;ߨA;RAct!Aْ5A;m1RA.IXA<: 0RAaAh.a0RAޢ$ A8c0RANmA0RAH1}AO1RA/AX 1RAϐAY1RATgYuA1RA!dA>1RAK;RUAQ1RAG`GAL)s1RAOA?)1RA(EAdCA.1RA+8A81RA#A$*F1RAbAf{T1RANA[V1RA0^ˍAH1RA~A3H1RA&rA}JK1RA&2ANglY1RAjb BA;,f1RAX.Aw1RA|iOAĵe1RANכ1RAOAQv1RAzjA9*1RA3"|A_ւ1RAP@A}S2RASAdV2RAV A'2RAAA$2RAKc,A%]j2RAL?sA"VW2RAMA6 2RAA<\u3RA^AL3RAfAG3RAA.$ 4RAAآ.D4RAyUAy6V4RAcMmA;o4RA~u Aj4RAbf\f#A);0RAN1RATgYuA1RAϐAY1RA/AX 1RAH1}AO1RANmA0RAޢ$ A8c0RAaAh.a0RA.IXA<: 0RAgAX>m1RA9HxܴAe1RAz׳AtG 1RApA l1RA; HQA1RA0 A . 1RANGAT#J 1RAGxAZC0RALA);0RAF)A ϕ0RAP?A5P0RA $Axt0RAAxDZAH0RAR-A1RAf\f#AU}ݏ1RAH5LA1RAǑA3f1RAH,A1RA~$)A[1RA1gA@I-B1RA9yϲA 1RA띱вA_a1RAP$A*52RA'ARzT2RANJAO 2RAmvAdsg3RA-짯Adਅ3RAx,APA3RAqb@A'63RAQ!A43RAI[A~4RAfA3r4RA yyADEQ4RA'jAqV:4RAA\4RA~u Aj4RAcMmA;o4RAyUAy6V4RAAآ.D4RAA.$ 4RAfAG3RA^AL3RAA<\u3RAMA6 2RAL?sA"VW2RAKc,A%]j2RAAA$2RAV A'2RASAdV2RAP@A}S2RA3"|A_ւ1RAzjA9*1RAOAQv1RAO?A>כ1RAA0p1RAHAkK1RAN1RAcq͖A|Մ2RA71PAA=RAAeo.2RA A2RA|%UA/f3RAh A!I2RAJeOAx2RAFAE2RA>[-A+A-2RAC A 3RA~)ڎA3RAʿg.WAuk#3RAL9A$f13RAD+wAC# =3RA3RAyE3RAANP3RA'A~X3RA7 A d3RA5YA^8f3RA vA( g3RAE~QA8 =g3RA+ASةd3RA-31gAw>_3RA X !Ad\3RAVIANZ\3RA T|A}ݸj3RAv AL+Zs3RA AlCv3RA2 G3A$p3RAzL?ALh3RAk.ArjW3RAځ(A #O3RA**eA M3RA;MAJBG3RAtA63RAN`5A 43RAzCAJtY.3RA VaA|r 3RA-AX3RAκA|J63RAk?>XA&3RAY/AP 3RAw^ܖA&%E)3RA1Ao :3RA(#޸AGeJ3RAӻAjf[3RA9L]AT}Gn3RA[9xA=f3RA6uAZ[3RA0 #A&wbP3RA|ATB3RA4LKA4:3RA+FB)A&523RAr7A)3RAAA~3RAk@A#x*3RA@nA(,;3RAD~A`A\03RAAAA Q3RARNAa̍I3RA2"EA\ l3RAVA3RAywAsrh?3RA6j`AL>*!3RA`%A E3RAS[A.(83RAhA;Q3RArL+AYy3RATSA.1b3RAwAXy%3RA琢sWAGCw?M3RA~|A1N2RA3L1{A8?FI3RAA/-QA3RAX A[U63RA8`خADɁ3RA `&A93RAhA8gHnU3RAm Ad%o3RA*A~IE3RAoXAy13RAhCA%.i3RAWA V3RAc!eA#nLم3RACkAr#֖3RA~A[;3RA=LwA Jʜ3RA!fTA:T3RAtHXAI3RAR AΉ3RAkxA3RAaMA(Y)73RAA.y3RA01AҔ3RA@h3,AqU*4RA' AC/=Z4RAñztA'5 4RA}Aʃ4RA}Aʃ4RAv4ܦZA'4RAKҞݪA 04RA,Az14RA[>ªAT4RAlbfAj;4RA +A4RA.*A$ek4RAA^sY4RAXA/A:A4RA,AJ4RA ֜Ap4RA{Y]İAa5RA1f(A5RAp ɰA_e#5RA=&A[#5RAkALki,5RA7HAa=?5RA}.>AJ5RAXPA U5RA^$vA3G[5RAϥ8ALU5RA~A8[5RAA.~c5RA2`xAsbf5RA]A-iAn5RA9d/TAJ]n5RAW#3ADf5RAH⏯Ac5RAy̮AHBTa5RA˭oA)$ Y5RAXA0txS5RA.NGAjÊS5RAڹ%AWN5RA_~'AkIY5RA(Aj ë^5RA?5Aq'd5RAAͮAqxi5RAoKAEi5RAlA Yl5RAEήAU5o5RA_M0A#o5RA~A o5RAؖAq5RA︰AFy5RA;SwA;w5RAh#A~Mw5RA#+7A5RAV欋۰AK0 5RA-y7>A5RA^HAW5RACrAn5RAn˶t0AY 5RA}eA0눳5RA3A&F6RAf}Aۣ6RAN<4!ArR6RAI+Axg6RAFeA^6RAAoi6RA/[A`6RA}+A'gX6RAWASchJ6RA9fu:A796RAA h.6RA^~AC16RAA%16RA/¢Ai@.6RA*}ASwX(6RA/MA1*6RA +vAn36RAYA@6RAA&I6RA3AT6RA$A'_6RAyVaABg6RA[bAvQ o6RA;CA>u6RAzJ8Atg6RAtAf 8b6RA~kAm6RA<XA6Q~6RAt>A 6RAkK>'Amܤ6RA8A66RA8A5d6RA~XA'Nl6RACuAM6RAVk,A 6RApi4Akz6RAy@PAx26RAfPTAcm6RAcGE{8A"W6RATIA6RA%ABJ6RA%AC6RAYAt6RASAvAb6RAaA6RA3UkA 6RAzJAD6RA A<Ȧ76RAAyAiБ6RAE\/A6xh7RA)kŌ-A$Sn7RAdA?7RAV*AXg7RAWfBA]6RA2!(A&6RA~@A 7RA;A97RAF'A07RAY Ak*7RAeuAKo;7RAj3 AA_C7RA A L7RAŪAЯ_7RA#A݋Rnm7RAQDAuj7RAFAɔ7RA"ABI;7RA %ASS}7RAAEo7RAOAj7RAuK+A?o7RA&AW7RAxAb7RAA 7RA;HC A7RAFDA顱7RA@`AUm7RAAt A`7RA%ັA"?7RA'AJ7RA~@A@7RA$(>A7RAK*L Aƒ 8RAGABN8RA"A{JZ8RAI^AF/8RA(AG8RA͹ALv8RA]A~ 8RAE^Aʘ &8RA6IqATc408RAgCA7;8RA OA+WC8RA"QA`yI8RAƊAM@L8RA <AX9mW8RAjqAis_8RAA>(Z8RA틫gAZ8RA}AƔR8RAr\^A+k$xJ8RA CYAk98RA}A_48RAXAC+18RA+r3A̤w48RA"A:8RA3;A{X8RA@~XABWf8RA:(AN}5o8RAeA1sAo8RA2PAz0i8RA?]r4 AYb[8RAH A<*S8RAIiSAL@8RAcA ~`/8RAo=A,8RA=o`A]T'8RApE9RAEA?Y9RA0zA!^ja9RApA|l9RAI԰A;MR}9RA Hu-|Ap뿖9RA IA q|:RAO ߪA.:RA,A:RAAV~:RA2ɫAY;RA]uAGΏ);RA@l }A$N?;RARAYR;RA;lAa`;RADA$P l;RA*䤭AwP z;RAjAp"};RA{'zA+;RA)xA;RA)XA I;RArtڨA_;RA)tܨAY;RA39AkP;RA%AW;RAkHA2O;RAvN(A]<;RAݪǩAB6;RAP7A܀ ;RA⼢A?};RAEHzAdpZ;RAh&bAh>;RADWAJ͔!-AÆ)i=RAj7A #^;=RATAe@=RAڡAL6I=RAYRqf1A|VK=RAqAKhH=RA~pAB=RAȯAFJF*=RAăAp=RAвA5=Mu2AMυ5RA0 NAp94RA71PA{;3RArȴIrAٰub3RA0rAg3RAQiA8ޣ3RA&3iA93RAD_An3RAi^AM*3RAU]A#L3RAc$YAo3RAS3JwuYAÄ3RA'PZºRA1B3RAؒҊ8RAzi,W3RAKAy:C*4RAC\CAsmB3RAzaDc0AҪ3RA`KG>/Ad3RA˖.A|3RAeZ.AS3RAVQ,A+i3RAJB Ai3RA"g AI53RAJL AA3RA AAk֑3RA; An3RAwAb3RA\ADbK3RAhiAg!B3RANAq؁ 3RAe݂. A`H3RA  HA3RAd)A`3RANA13RA,tAcB3RAݖAz| 3RAa>0A2RAkA 572RA nMA2RA=F/A>3RA2"AkU 3RAEdA#RN3RAIBAzIu3RAi5As3RAסFAƹ3RA<A3RA AxG^3RAe(9A?+3RAgA] `52RA]QAD2RAb|(AX'p2RAkVEAp2RA$@A 2RA6;bAL$2RAZo%A<2RAxkA2RAA<~A2RAU!XAB߅:2RAf.A|Մ2RAAVGh42RAAp>?2RAG.mYAt2RAA"2RAXɲAM2RAAeo.2RAd:4e6AN*RA+[Ay:C*4RAeZ.AS3RAeZ.AS3RA˖.A|3RA`KG>/Ad3RAzaDc0AҪ3RAC\CAsmB3RAKAy:C*4RAؒҊ8RAzi,W3RA'PZºRA1B3RAS3JwuYAÄ3RAc$YAo3RAU]A#L3RAi^AM*3RAD_An3RA&3iA93RAQiA8ޣ3RA0rAg3RArȴIrAٰub3RA71PA{;3RAc,aAL/62RAm7҃A5W2RA il@Au4C1RAy5AHN[c1RAXÄ́AzJD1RA7A㱋v#1RAY%AC1RAͣ;6AtnQ0RASW-RA*7ŒAp矯-RAhAG,RAyz'AP׏+RA5v$Aڌ +RA&̖zAU<+RA1nЉAWp*RA?2RAAVGh42RAf.A|Մ2RAU!XAB߅:2RAA<~A2RAxkA2RAZo%A<2RA6;bAL$2RA$@A 2RAkVEAp2RAb|(AX'p2RA]QAD2RAgA] `52RAe(9A?+3RA AxG^3RA<A3RAסFAƹ3RAi5As3RAIBAzIu3RAEdA#RN3RA2"AkU 3RA=F/A>3RA nMA2RAkA 572RAa>0A2RAݖAz| 3RA,tAcB3RANA13RAd)A`3RA  HA3RAe݂. A`H3RANAq؁ 3RAhiAg!B3RA\ADbK3RAwAb3RA; An3RA AAk֑3RAJL AA3RA"g AI53RAJB Ai3RAVQ,A+i3RAeZ.AS3RA=0j!A {,/RAc7``!AUi/RA+:ʋAG7tV/RA=*AV/RA*Ah)\/RAMCA9\/RAFAO\/RAEA*S/RAmn=AcT/RAֻw}AHT/RAm?@A3Q/RAaxAqcEQ/RAVRAfO/RAT*AׇO/RA`AO/RAI|RAG&EM/RA3K?IAHM/RA Af1K/RA׊? AICnK/RA V A.K/RA߸lA[C/RA6A;/RAOSAW /RA7$ظA.RAUC,A6.RA6;+ AmMg .RAX@A釀.RA}u2A%zR.RA-ksA/.RA)A$|^.RAOK_Aj7k.RA\>f A=n.RAWOAJZ.RA4aշAM.RA5AѾ.RA$=Adϥ.RA%ooArڥ.RAlA.RAyA!ΰ.RAuM)Ai 2.RA9uA&싟.RAPAh..RAL`A޹!.RADpAXE.RAFEAG.RA=BAz .RA4}A.g.RAA[jp.RAMkvHA(Gu.RA=2 A1u.RAwMJ A+3C.RA_-$AbOH.RA!U#A୯4.RAې$Ar-RA緉'A $1.RA9G+A9Xs-RAY ,A泠-RA7ƒ2AN-RA8bx3Av,k;-RA83AAvd,RAvAL<A't3-RA&9φ :A~b-RA{Z8AyJ-RAWZ9A4@R-RAvv|:Ah$1U-RAǿSy7AGR-RAS ;A\Ш-RA.C:AQ-RAp:A-RAr(!:AG>.RA݂:9A +4/RAyo?A;2//RA?A›F*/RA$?A>.RA3eBAJkZ.RAlBAɌ)/RAT$+EAqz9/RACFAMH|*X/RA)1BAM/RAMWAAپM/RAHAAhP/RAnHD?AWg)N/RA6ʌwG?AAa/RAz>DAfVf/RA"!DA*Έ|/RA_l>AGz/RA">A?ąB/RAn$}=A8g/RA&zU=A/RAe q=A8/RAO0AC0RAQ]/A;U@0RA/A0RAR1Aԋ/RAE,A /RAov+AcF/RA|f(Ak/RAJ@$A/~/RA=S0$A~$L|/RA5 #A;Tv/RA9#A1X}/RAF"AV/RA=0j!A {,/RAe 6Aq,RACFA;U@0RACFAMH|*X/RAT$+EAqz9/RAlBAɌ)/RA3eBAJkZ.RA$?A>.RA?A›F*/RAyo?A;2//RA݂:9A +4/RAr(!:AG>.RAp:A-RA.C:AQ-RAS ;A\Ш-RAǿSy7AGR-RAvv|:Ah$1U-RAWZ9A4@R-RA{Z8AyJ-RA&9φ :A~b-RAvAL<A't3-RAd7>Avd,RA r=AR,RA!-<ArH,RAWCH<AcM,RAE<AdE,RA F;Aޟ#,RA@p%:A[,RAG8Ah,RAߣ;8Aj,,RASa8A;QG,RAUx6AO,RAņ7AW6^W,RAy /V7Aչ1,RA\i +Aŏ,RAE ('Aq,RA՜3'AY,RACz&AhB-RA}7+AZ-RA7RC .ADd~-RA@$.ATKPA-RA.A8n3-RACzr0A6qF-RA0A 9]SI-RAD{1A#=IL-RA/1A(CI-RA.2AM9"-RA83Af A=n.RAOK_Aj7k.RA)A$|^.RA-ksA/.RA}u2A%zR.RAX@A釀.RA6;+ AmMg .RAUC,A6.RA7$ظA.RAOSAW /RA6A;/RA߸lA[C/RA V A.K/RA׊? AICnK/RA Af1K/RA3K?IAHM/RAI|RAG&EM/RA`AO/RAT*AׇO/RAVRAfO/RAaxAqcEQ/RAm?@A3Q/RAֻw}AHT/RAmn=AcT/RAEA*S/RAFAO\/RAMCA9\/RA*Ah)\/RA=*AV/RA+:ʋAG7tV/RAc7``!AUi/RA=0j!A {,/RAF"AV/RA9#A1X}/RA5 #A;Tv/RA=S0$A~$L|/RAJ@$A/~/RA|f(Ak/RAov+AcF/RAE,A /RAR1Aԋ/RA/A0RAQ]/A;U@0RAO0AC0RAe q=A8/RA&zU=A/RAn$}=A8g/RA">A?ąB/RA_l>AGz/RA"!DA*Έ|/RAz>DAfVf/RA6ʌwG?AAa/RAnHD?AWg)N/RAHAAhP/RAMWAAپM/RA)1BAM/RACFAMH|*X/RAfxeg2A RADV^AͯC#RAl@feC<A\#RAD=A쎄"RAd=A:+"RA"qAA<"RA0Z͡DAM6"RA GA%aS"RA,mIA7,"RAD=JAl"RAZ@e_JABW"RAS{JAT"RAuťKAB<#"RA:|QA5w!RAJAޝ!RAKeHA>!RASEAPv!RA' TEAI RAoEA< RA x6+FA RA2CAQ RA'l& CA>a6 RA4BAPoK RAdEk;@Ab3 RA8A D RAH42A% RAeg2Agf!RAY/ 2Ad6!RA G:A`M`!RA>0:A c!RAѮ+%:AՋ!RA&:A>!RA)x:A֭"RAn:A=b"RAJ:A7Y="RACu+:ASg0"RA`_G :A>u"RA-- :A㎒P$"RAf8A'#RA LW9A~k#RAN<Az.#RA@feC<A\#RAguorA͙RAKdyAVuY*RA4$A0RAGûJA RAhuA[NRA9ARAF{A,RA&[*A͙RAAsp5ATLbRA A}RAo.AP' RAU]A8K7RAnSAyRA =A1RAGBwAK8RA0A͙RA&:3ARA!5Aw(RAЀ4A3+YRAG.2A9RAp{nxAЫ#RA?F\A$`B-RAaposA3RA$łALwRAtpAbRA$qA{2u!RA4rAU RARqqZARR RAauA6*ky!RA$)Aݞ}$RA{/A9*S$%RAq'XAs-%RAD@AdF,%RASA{x&RAKAUt&RAAn4'RAӶ䃉A=y(RA辝;A{c§)RAYAB)RAuorAVuY*RA5{Aw4nU*RAAE֩T*RA}d3Am|kS*RAMSuAs/R*RA^AQQ*RA܄ As|P*RAD'ACU[O*RA"((Aȉ95O*RAvE*AN*RAr=*A#aQ*RA5O0AP*RA8^EA, O*RA | HAm.\O*RA(T;OAzQ*RA5OA=bH*RAG߬@OAÕp>C*RAbYJ9NA"2*RAGd+nLA7sa"*RA-|LLA{E*RA#LAK)RA#LAK)RA$nMA S)RAwdpQA(RAQA>(RAnQA,'(RA-|QAcLA](RA)Z*QA (RAqt2OA@W(RA)Y2OAbU(RAߋ$NA.R(RA%x NA{(RA ݽMA5,'RAZ0dMAǦ'RAŦ6MA6'RA{P3SNA\'RAOA'RA9stPA|6s'RAίC;RA8Re'RA0I_:RA6`'RA ?TAF D'RA[8}TA0'RAS9ہTA{0'RAY܌UA'RAyWA 0d&RA%XA9(5&RAb &YAYoH&RAkbYAiz&RAYAy]&RA5XAO! &RA36XAJ̱&RA7XA_i-&RAKT<YAŃ&RAy$YA|Lu&RAdXA ^m&RACXAsPe&RA͞ oXAKtW&RAXA0tyQ&RAaUZAD~F&RAZAu@&RA~pQZA_'&RA3e[AL&RA^@.[A B&RA\A2<&RAð,\AFa%RAQ1]A3%RA7]A%RAHF]A0%RAv_K]A\%RA_-\AȬ%RA4\Ahx%RA\A7rUu%RA\A=5m%RAJbC_A5%RAg_Ajh %RA.dپ_Ahf %RAoS5_AHu$RAx#_A,$RAf7/]Aҗ$RA,ҫ\AU$RA9wG\ABKW$RAU$\Aa$RA V}[A~XE$RAȑlZAD$RAZz?rXAmM4]$RA|%XA*ԇ$RA2xbA[0$RApriA9ȇ$RAx|2lABSb$RA^,C@lA[C#RAq4D"lA_"RA(kA}"RATUrA"RAYSEnrA+sq!RA%rA= RAϱxsAORA/'tAԽ>RACitAijpRAdNtA7^RAztAD/ RAB4uAK`RAeQO`vAfdRAӤvAJVdRABIiwA=K RA@NwAL7RAK=<xA`+uRA[xAܳԏRA xARAfxA ZV?RAKdyA +RAQ_yA RAi;1TwA 5RA܆nvAS/RA@a*oAwRA>h0kAݾ$RARiA RAĸmYARAUAiRApPATARAOAr=CHRAӥ`@AγRAl6AiXZRAl6AiXZRA72ADRA4$A0RAN<Az.#RAN<Az.#RA LW9A~k#RAf8A'#RA-- :A㎒P$"RA`_G :A>u"RACu+:ASg0"RAJ:A7Y="RAn:A=b"RA)x:A֭"RA&:A>!RAѮ+%:AՋ!RA>0:A c!RA G:A`M`!RAY/ 2Ad6!RAeg2Agf!RAH42A% RA8A D RAdEk;@Ab3 RA4BAPoK RA'l& CA>a6 RA2CAQ RA x6+FA RAoEA< RA' TEAI RASEAPv!RAKeHA>!RAJAޝ!RA>:|QA5w!RA( "SAl` !RA0SA(G!RA%|/RAySz!RAs|UASv!RAUAԔT!RA9-rVA/oO!RAVAoi!RAWVz@VA0by!RAVA<|p!RA"WA*]h!RAՂr4XAeFq!RArXAyv!RAæ`XAm0I!RA,XAHS|!RA XAG!RA DgZA)!RAl\A0!RADV^A8Ν!RAzH]A@t,"RAB\A5&'"RAbŰٙ[A7"RAYRZAF`/"RAYRZAF`/"RAncPrZAI,"RAŶ 0ZA!"RAJvOZAtr"RANYAFE*"RA=YAtr$"RA2XA^"RAmYeSA,+`!RA#SA !RA=9SA0!RAuN]RAqͿ"RAW4NTAX) "RAjT&XA}*"RA%ӜgXA22*"RAN̩mMYA+2"RAY9XA]w\"RA~hMVAeU\"RAIVeVA+\"RA0wgVA5j"RA0UAcm"RA@Ε\SAitn"RABzSA?o"RAESA "RAWpjSA"RA6ѰTA_"RAdvUAh؏"RA)=PVAծ#RAI`VAO? #RAfu@VA &#RA {\%WAL)#RAY%VA׊#RA]SAm@#RAԉSAͯC#RALRA&A#RA;xSAИ3#RA SAR '#RA=zQA#RA*PA0e#RAjԻoPAXm#RAìkPAu"RA PAuV"RAPA "RA4OAp"RAe OAw"RAIzhLA6Bv"RAC*RA5OA=bH*RA(T;OAzQ*RANAPA^SP*RA`VAO*RA"dAJ-P*RAzdjAO*RA?qAi/0Q*RAWQrA\Q*RAk!sA }P*RA0\vA'oP*RA6luwAaLP*RA!A܈Q*RArzA }?Q*RAAP*RA/4BAeP*RA^ACY)sP*RA:A#7P*RA+[A|+PR*RApSW-RA4)dA' 5/RAÆ܅A./RAӥLAdD/RA\wA̐/RA>AbQ/RABPA /RA,nAa4>/RAhA΂/RAxA0RAQAk\40RAe(9 A=0RA3OA`0RAQuAq0RAd)=A;Y0RArAI 0RA+KAd0RAG}ALnZn0RA M|ZA^(0RAM9^A] (0RA1tPAoZ*0RAlAU/0RAkAvN$0RA=v AoY0RA3A/RAEnAeI/RA' AQ<.RAJ]B0&AItz.RATc(2A}m-RAPfw7AMʔ-RAX*AAoy -RA` oA,-RAN?sAWz/-RA{yA1-RAnA$8-RA)uAx<-RAW7A(RAwdpQA(RA$nMA S)RAiPTUrAkRAA"RAgztAD/ RAdNtA7^RACitAijpRA/'tAԽ>RAϱxsAORA%rA= RAYSEnrA+sq!RATUrA"RA}avADdz["RA!k Al"RAm+sQAk;"RAc \^AVk"RAMA2"RAؕAL("RA,. {KA" "RAFAl_ "RAE6AEO"RA;@A&5d"RA& A/g3"RArA s"RAMi AF)!RA}yAT!RARA8W7!RA#df:(AE!RA 9AQp!RAhAA+o!RA즙AA\i!RArOAgk!RA䆥cAXJj!RAAEfAN8!RAzs[gAJh!RAV^A%s!RA`WA,m!RAJAܶ!RA54 AK_!RA@WɮAbm@!RAv"A#  RA.~xA ٿRA CvA\RA4γAJ|'-RAV#AXRA|gq"AhRA{P/A;RAE<ARACG=?A#RAg5syA3|RAIxA|RA"U.A1RAn8 A0RAϰAuRA\AUORAX)AVTARAXI AV˖RAAGeRA Aet`RA(0ϫAYRAGEVAՂZRRA_`5>OA"JRAY#= A4FRAQcSALչCRA(TC{A 2RA>0oA8+RAbrI_AWe"RAJEEA,RAtDA)rRAn CA(nRA@Wn=A RAH!0AWRA-^)AVRAAHRA{[AnhRA\AlRA4A%ϡRAA<\JRA SA5KRAˇAWJRAR,-`;ARAh0kAݾ$RA@a*oAwRA܆nvAS/RAi;1TwA 5RAQ_yA RAʗyA_ƑJRA;5yA,jRA#)yAN<RAuyAkRAHUARA0|AL@hRAڈ}A+_RAuAtpRA0oA8+RA(TC{A 2RAQcSALչCRAY#= A4FRA_`5>OA"JRAGEVAՂZRRA(0ϫAYRA Aet`RAAGeRAn+)LADRAQ$PA2)dRAH&}nAӬMRA{1mAІ@RA(mûA?2RARQA`aRA>T{A?YRAȡ"A1__RATAb_RAJUܫArtRAC؄AȎRAO/JAv=6RAaALp{RAARAJ7AQRA| A:vRAoGJz Ak[:RA\w A/RA  AAGRAx$ AzRA ARAhʣ Af6RAT1 AڮRRAcː Ad?#fRA (t AصRA}U Am 6RAgU4 AŊbRAkA; [RA2A/RA*S7A&B#>RAP`AxR>RAP )DA`f>RAXtiA>RAS'AOUb?RAA'A *?RA^AoTa?RA{1mAІ@RAH&}nAӬMRAQ$PA2)dRAn+)LADRAAGeRAv`A='cRAoS$6AQmRAu~A`qRAAZ9|RAkkA/RAMAZRAA eRA+#AbRAYA]IRAvtAْyRA2A.X6RAͲ]A; [RAtD0uARAl@WɮAO  RA?`A="RA{/A_Ȝ-!RA˫ Aw|~"RA $țpA;u"RAŢDAq"RAq2hf,AB J "RA%J-AUH "RA`.A[5l "RA9-0A "RA=#2A\7 "RA)N4;AowA "RA u>Ak{M "RAsf|XEA3V|"RAX&;LA="RAǚ$NAAn"RAL#DNAe"RAH2OA| RA AuOAPε RATOAh RAPA> RA{ʓPAӞvRA1PAfRRA}nmRAbRAĩRA"7hRA!0i!vSAcg RAxuSA\޵RA:;SAԤ?RAI d@UA`--RACR+#`UAC"RA!kOdVA[ƁRArdWAe@RA WA!ERA]7WAM|4RA/tXA/SoRAg.LsXAmtRAAXA>SRA $XAl?BRATXA ,RA%BYAۆhRA!YAHXi^RAhZAmgRAJgZA)1RA@iZAUJRAS~ZA0'g9RAK\A[v[ORAVO>\A{1tRAsP\A|aRA+E]AkZ_#RAM[?]Aͱ5RA۔22^AY,RAkn^A) RAoYtT_AMwRAUP`s_AdyNRA#q_A~zRAA=5p_AwpRA*Ϗ_Ag3RA)i_A~4RA?`Aݷ RA.XA` RAEVA RA>JA$ RA"*sHA#OL RAQ<"CATE RAbw?AB RAU>AZw RA M'+AN RAAA;re RA Aoc RA\ۖ Ac RA\Aew= RAEƶAF; RA)u*A˾o{6 RA9aAb3 RA$t,AL`o1 RAB DJAq{, RA6b^Av) RAyAXz) RA1AZZ' RAiA' RAIMA:r" RA@A " RAxAO  RA{ HA7j RArJ A|L RAʵM5fA RAraHA RAj AYRAy] Ai"bRAuYA?"{RA8 ~AyVRA5AvRA/AZ)RAAAb aRAAAfcRAƇA3!O&RA&#A1RAJUܫArT{A?YRARQA`aRA(mûA?2RA{1mAІ@RA^AoTa?RAA'A *?RAS'AOUb?RAXtiA>RAP )DA`f>RAP`AxR>RA*S7A&B#>RAt=+A^9RAANLRAtD0uA RA9yAMRA[uA]8RAȠ*eA>ZnRANARAQjAޗ/RA%HA4$RA@A(Q$RA' A|;)RACA%,RAІ{Ax,RAyA?zw1RA1{A]1RA{A4A/6RAvD+AonطCRA@t.A1OFRA_/w2AMtHRAsp9AfNRAd EAURA,$GARRAHAAk4RAWHA&RAA-KQIAE%RAgJARA|qJAQRA554JARARKA|[@c RA? ;LAORAQOLA,&RATNLAaRAhR!.LA RALmKA<RAu΃JAvRAuh2BJAL#FRAvtJA!RA`AJAB dRAqAJAOAIRARm JAX^RA~wKIAGvRAfHAH%RAHAG RA`myZIAQ wRA JA!^mRA$MeKAaRA]r)LARA+?LA1QRAYLAtRALA<}oRA.LAU_p^RAӐyLAUNg%VRA+7LA"PRA#+MA2oERAh+MA=RA1fLA" 2RA fLAa!RA$XLAȠRA[WDLA- RA[WDLA- RALAgRA4jdoLA̩RA<ܢLAcܿRA+`LAߵ}2RA5ALAp1&RASc LAbRAٙ|KA.tBRA[KAvI}RAKAj1&RA'lKA%t RAnͻJAy iORAR=q4JAdRAtNIARAAc]IA'RA NJA;pyRA\jJAWXuRAW KAĵԋrRA*kKAaRA/tKA޿VRAZTdJAфwNRA\JAHRA JA)@RAYKAr5RA3 KAdי-RANKA@XRA$KK~tKAx埖RAuj-JAK( RA2 JAβBRA AIAjsRA̐VIAKnRA^IA`cRAyIA{RAfFIAJRAS%IA]RAzfofIAO'RARƦkJA9uRA 4JAuzˬRA[篋JAuRAgn/HA8RAoClHAL!RAJ6^HAEvΑRAg%࿿HA !RA\j[HAU[~RAL+iHA=xRAxվHArW@sRAG*JAK~bRAR%QLAbp_RAs?LA3.rQRAqJLAWCRA1(MASCF>RA ??OAFRAOOA@RAF'_OAp3RAc%NAb(RAENABRAPA)`RA|9PAt:RAWPA,RAxs~PA#RATﰞPAo1RA~AQArr~RA&ÂQAT}xRAǙG!QA?kRA FBQAeRAhQAWRACUr$RA'RRADyQRAa>RA82;QAV!9RA1uyPAx?0RAҲOAE(RA+ROA8B RAmROA4 -RAsOA%RAPAf+RA:PA RA#uPA`©RA |YOAX&RAϜjLA.RAk`LA9RA:6?LARAyoKAtRAޫJAgRAlGIA[RA"*IAzo/RAc^EA VRASEAPRA+1EA:jERA݅x0EA>)RAg.V0EAd:&RA],PEAE-RR!RAEOEARA!5FA ,RA*<,UFARAZ{GAG:W RAϭGAO RA_IGASORAPrGA, YRA"CJA&u1rRA EJA+rmoRA{JA5SdRAZLcJA]aRA|KA!? gRA1'KA?RALA(GRAMA>,\zRA<.{NA"wRAàx`OA\ˉRANK OA(\}RAJOA#QtRAV{-NAAYRAdcMAS>4RAw7~lLA!°,RAԒ6%KA2'RA, IA /,RAޢLHA*RA4HA$RA´NGA@RA1FAA_RA7AFATZRA *VFA{?RA8u)GAtXuRA8AIGA RAM)GAzZRA&ֆ(GA YRA'GAr1%RA9ַGAfouxRAztGArRADzFGAm eRA6L%GAH,WRAjGA%QRA!@FA;SZVIRAWl?FACRAFA8RA.^FAR0RA5"FAe(RA_FA=%RA۔EA RA1EARA ݒDAt"RA; PDAdbRA DAzRA,Vb DA RA9#-DAѢRA͙EAP`RARAiǿBA6RA^fdAAa.RA6AAɧRAB05AARA99vAAu RA|BA՝|RABA #RAEF'BAMRRA#CA9RAEARAiEA͙RAhEAM?RAL}CAg" RASBA-RAd[BAuRActBAUyfRAusBAr^[RAHjBAOq'ERAgӇrBAۛ?RAAArZ<RAvhKAAj1RASkAAg!RAOAARA .BA<2jRA?7BA}QdRABSCARA#SCAh,HRA3BAqRAŽMAA_RAA @A_RRAI~6ۜ?ARA} z<AR,RA;ARAd;A}TRAH;A6,RAT<A҈QRA =A ]뿓RAM;=A\/cRA 0Ԯ=A RAcm=A…}RAW<A:xRA2Z;A}GuRA×9AaBRAZp79AIz)(xRAM9AYCN{gRAj:A_\RA&/iS9A}KRA΢}~s9A;RAВ9AQ!ph*RAC:A"RA0.q9AARA Q7AXRA'we7Ao8 RAEX6A RABey5AFRA;]s4A C(RA3ARA*43ARA ت4Ab RA~4A㿠^"RA3A'RAxO3A 'RA@2A^3%RAWC'2A0T`RA@5,a1AhnRAdI|0A0[RAi/AZRAIU/A*b4RAV$/ARA%_.ARA-A-RAI[)-AۈPRA(A4rRA'AܬRAb&Aj||RA:q$ARA$!L$A͵;RAy _l$AWi;RAdk$AGDzURA+^%AGdRA&495&Aݳ RAޏU&A ̨|RAcf4&AqqT*RAp %A4RAݬmN%Ag(RAK$A[RAIϱ#AkgORAK1"Af5RAI=>"A-RAĎ AxRpRA7AsRA=VJlA[#XAiRA߸AqRA^0AhWmfRAy! A,WRA ;A>_RAAaLRApSARARA .A[;RASf$AZ!9RACAr\в>RAXiAl^IRAXA^c*RRA!A),RRAopS`AZRA@OATQbRAŖ@AψeRAB:AN`RA6TSAiDRAw;AfARA;O,nAPuDRAs]pA͜ORAj RA+/AƷu RA^AĔcs RA AvN`p RAA8\A{1tRAK\A[v[ORAS~ZA0'g9RA@iZAUJRAJgZA)1RAhZAmgRA!YAHXi^RA%BYAۆhRATXA ,RA $XAl?BRAAXA>SRAg.LsXAmtRAnvAI/RA@U"Ai:3RA2qߤAi0RA.TːA|0RAV眓AN0RAdAU0RA0iA&K=P 1RAM)A>2RAu3˨ASpZV2RA-AGE܏[2RAÏpAmc2RAjʦAG] l2RAKk0yAOCt2RAAŃ2RAIl@A;!2RAٗAϒp2RAeA TAfgN2RAIAt2RA(Aɛ!2RAвAi:3RAΣA 83RARA*32RA@U"AS2RAdqA2RAYA؃po2RA j AAܒK2RAӞA5k*2RA4A9 2RAmA^c1RA =ˀZAnޣS1RAknqAlP1RAR/OA@1ʫ1RA!AK1RAoq~AG1RA:GٶAw1RA_3A?l1RAG1)Ag1RAA"1'1RA-!?AQ0RAfAS0RA,(AI/0RATVAbMU0RA)w|A5T0RAZ2 ADzpO0RAA~?0RA8c:^A$ 40RA߯A*0RA\AI/RA܆`A~F0RAM2Az t|0RAvA[i0RAqߤAi0RAoX!AZDŽ21RA&AS2RA(YA؃po2RAdqA2RA@U"AS2RA\ߟA's w2RAygeA H$2RA#IFA.2RAx A p2RAeMA"xp2RAJAr2RA~詝A&by2RAwA(L1RA[bAEye1RA~`_AcA1RAIvA1RAAW1RAA@/hAWp1RAAb1RAHAX71RAG]I0AD`1RAm'+A+Iһ1RA&A 1RA:cA41RA$s:\Ah1RA=eA,"̻1RA#XAͣ[1RA6H!Ac;1RAZA~B3t1RA$]KA?1RA9'Ai B1RA_}A)} 1RA^BA:-1RAO9AExk1RA^nAI 1RA''jpArf1RAMc-iA+0o1RAP> A֨Q1RA䏓Afk&1RAa0PA 2-1RASA% Ss1RAߚ4mA5.1 2RAr_3A8g 0RAE8RAK1RA:GٶAw1RAoq~AG1RA!AK1RA6bA(0W1RAyAv1RAcKA2e1RAl` ѽA!T1RA窌տA,@1RA"7A**=1RA19KbAZDŽ21RA'3A*1RAĹA; 1RAE8RAلm0RAGAU)0RA+A`#+0RATbAز"0RAk؆<A <0RA[,A0RAJAAY0RA@<] Aa[g0RA3r"$A8g 0RA~A20RAwvDAŽ0RAhv A+C0RA(A֣0RA; ۻAVG 1RA!~Ae6gB1RA_3A?l1RA:GٶAw1RAs19KbAلm0RAMc-iA% Ss1RA @LAx1RA~AS1RAp.fAA?O1RA,[QA_1RASA% Ss1RAa0PA 2-1RA䏓Afk&1RAP> A֨Q1RAMc-iA+0o1RAPAaF1RA8bEA _1RA;QÈQAsa1RAHmNiA&ÉB}1RAc/A3i1RAwRAOӿV1RA\A'S1RA8uA驣H1RAΏxA8e!;1RAK0cAp651RASFr\iA'1RA0r}]A\1RAJGAɌ 0RA\ iA@0RAE8RAلm0RAĹA; 1RA'3A*1RA19KbAZDŽ21RAm@AoI@1RAMwA?gԔS1RA'Akbq1RA7soA51RA@LAx1RAtΏxAZ 0RA^BA+0o1RAPAaF1RAMc-iA+0o1RA''jpArf1RA^nAI 1RAO9AExk1RA^BA:-1RA)(A:l1RA)E .AdzmS1RAgB~ AֽR1RANJA-{1RAؐAwm1RA&ArO1RA.A#G1RApAsY}(1RAdA.1RA(iAZ 0RA~9A 1RA߽O[A_P1RAwAt*'1RA>>tA ~21RAΏxA8e!;1RA8uA驣H1RA\A'S1RAwRAOӿV1RAc/A3i1RAHmNiA&ÉB}1RA;QÈQAsa1RA8bEA _1RAPAaF1RAuH(iAA,d0RA awИA41RA&^BA:-1RA_}A)} 1RA9'Ai B1RA$]KA?1RAZA~B3t1RA6H!Ac;1RA#XAͣ[1RA=eA,"̻1RA$s:\Ah1RA:cA41RA&A 1RATa?A!^ 1RAgW4AVe1RA pA'ծO1RAIgABC#1RAG`AZB1RA awИA0RA ו2A-hS0RAwBA0RAAaeA'0RA A?3|0RAAv0RA΂AA,d0RA~wA=0RA NQA0RA61w A0RAݎSA|0RA(iAZ 0RAdA.1RApAsY}(1RA.A#G1RA&ArO1RAؐAwm1RANJA-{1RAgB~ AֽR1RA)E .AdzmS1RA)(A:l1RA^BA:-1RAvp&A*0Ҝs0RA_=A1RA+&A 1RAm'+A+Iһ1RAG]I0AD`1RAHAX71RAAb1RAA@/hAWp1RAAW1RAIvA1RA~`_AcA1RA9PA1RAdhA1RAA1RA( A@kË1RA /A4g"}1RAU nrABr1RA pS|ADeJ1RA_=ASA?1RAva_AUJ,?1RAAѰA[s ?:1RAͬSMA3;a41RAiRHA[*'1RA7A1RASBAΩ 1RA\$A?=90RAJAxG0RAa+ݜA0a0RANj]A}Њ0RA_A.0RAjOAF5ҡ0RAOIA0RAhl0Abq~0RAGoA*0Ҝs0RA.Ap0RAR3A \0RAYAZ0RA0An*j-0RA awИA0RAG`AZB1RAIgABC#1RA pA'ծO1RAgW4AVe1RATa?A!^ 1RA&A 1RAw~`_A5J?1RAāIARI"2RA:~`_AcA1RAӎAR 1RAwA!1RAvDA,1RA#έչAѩz1RAuAVNW2RA{A 2RA"^ A 2RAAUG!2RAh UvAe2RA!AAA2RA|6DAu2RA{lAT2RA<]>A徶2RAEBy7A̧2RA&m?AiX/02RA.T ARI"2RAu"T A"{1RAёO AOIJ1RAL AX1RAIj~ AaV1RA4ag AJj1RA|>A(j1RAPA}Ii1RAb-At^"i1RAāIAhrcS1RAQ#A~藧S1RA]ђAM%Q1RA8 w[A|ӊ9Q1RA5B^ AN1RA8~m AU[;IL1RA A|H]L1RAP AML1RAI AHL1RA-"AI M1RA$M AݚMM1RAAf2J1RASA&J1RA3ƚ\A~J1RAghA]kH1RA)"A8H1RAmEAgH1RA!VKAnBXF1RAӛsvAUzF1RAŏPqA7C1RA1%VAD1RAzAED1RAP ϤA>D1RA<7A5J?1RA_=ASA?1RA pS|ADeJ1RAU nrABr1RA /A4g"}1RA( A@kË1RAA1RAdhA1RA9PA1RA~`_AcA1RAx88c:^AKY/RAܤ;A?l1RA$)w|A5T0RATVAbMU0RA,(AI/0RAfAS0RA-!?AQ0RAA"1'1RAG1)Ag1RA_3A?l1RA!~Ae6gB1RA; ۻAVG 1RA(A֣0RAhv A+C0RATzAm0RAܤ;A0RAAz9A0RA2˾A7D0RAϚ!GAC0RAvI\A΍k0RA AB+U0RA@޸AXB0RAA}AB0RA&(A'0RAPc<AU K%0RAIyp<A/0RAk:A=]+0RA AN/RA%3AKY/RAqgA]X/RAܝAV0RALMÏA@s0RA鹆vA 0RAHj䀥A(0RA8c:^A$ 40RAA~?0RAZ2 ADzpO0RA)w|A5T0RAy( A3q/RASZ1A+C0RA" AB+U0RAvI\A΍k0RAϚ!GAC0RA2˾A7D0RAAz9A0RAܤ;A0RATzAm0RAhv A+C0RAwvDAŽ0RA~A20RA3r"$A8g 0RAAoB0RAgb:A h0RAwA/RA^z+AoƝ/RA>rAG/RASZ1A3q/RAnNA@/RA}1A@^/RAA\I/RAp\A~/RAA&@/RAk|Afi5/RA^⫸A/RA=  AQ/RA%3AKY/RA AN/RAk:A=]+0RAIyp<A/0RAPc<AU K%0RA&(A'0RAA}AB0RA@޸AXB0RA AB+U0RAz3r"$A/RAQ DAز"0RA[,A0RAk؆<A <0RATbAز"0RA+A`#+0RAbςA C0RA7Aڒ0RArȪAә0RAGAh貃0RA|FA?Px0RAQ DA ^0RA3VA:I0RAAA2C0RAƚA1;0RA AmbT+0RAR(ΩAe}%0RAƀJ&Aƒ 0RA YAyq0RAvaAf_0RAwA/RAgb:A h0RAAoB0RA3r"$A8g 0RA@<] Aa[g0RAJAAY0RA[,A0RA{+A ^0RAݎSA8e!;1RA+A`#+0RAGAU)0RAE8RAلm0RA\ iA@0RAJGAɌ 0RA0r}]A\1RASFr\iA'1RAK0cAp651RAΏxA8e!;1RA>>tA ~21RAwAt*'1RA߽O[A_P1RA~9A 1RA(iAZ 0RAݎSA|0RAv6A_IV0RAcPAjb0RA Ek?A30RA|d$A50RABv`6}A(0RA?\A](0RAoAP 0RA8d}A20RA?%*Ab.0RA{8AC40RABhA^~zE0RAQ DA ^0RA}@mV2A|+}/RAb7`UA \0RA%.eAGY0RAA"_t0RAR3A \0RA.Ap0RAGoA*0Ҝs0RAhl0Abq~0RAMACe0RApwA?W0RAb7`UAa7$0RAs QA8 q"0RAu.!KA$"0RAwA&P"0RAԁ>4A0#0RA A#K0RA-*AA)/RAP6A4/RA[qA~D9/RA}6A%/RAN] 3AEnI5/RA&)hA# /RAȗhA#~;/RAJAf`W/RA]AO͇/RA\Ay/RA\A /RA\gA|+}/RAA#}/RAm lA+/RA_rA6P/RAmV2AH/RAtYADȄ/RApAAP/RAbmAj/RAoAP 0RA?\A](0RA+Awm>0RA.eAGY0RA~X*MAh?t/RA 3AxG0RA(jOAF5ҡ0RA_A.0RANj]A}Њ0RAa+ݜA0a0RAJAxG0RAFUA<\n`0RAuWsYAǎ*0RA{A0RAF@*A;0RAٻ A~0RA-&A$A|0RAi %ACYs0RAuH A']0RAn=A{O0RAY;AnD0RADX7AD10RAN-VA+0RAYnAaE0RA A/RA0ևAŬ/RA 3Aǹ/RA츝Aq/RAbqAʠ/RA A/RAcsr A5/RA3QAYz{/RA8Ah?t/RA*MA9D/RA DA2H/RA*|y+A;~/RA A8/RAwA&P"0RAu.!KA$"0RAs QA8 q"0RAb7`UAa7$0RApwA?W0RAMACe0RAhl0Abq~0RAOIA0RAjOAF5ҡ0RAXJAʠ/RAAUJ,?1RA(\$A?=90RASBAΩ 1RA7A1RAiRHA[*'1RAͬSMA3;a41RAAѰA[s ?:1RAva_AUJ,?1RA_=ASA?1RA<7A5J?1RA;[4Ap/0RAM\GA`M0RAUhzAe0RAR&A'Փ10RA&=A0RAA~S/RA΁@AQ/RAF#TAy/RA֗LAs /RA^XAͮ؀/RAjJ !A\/RAbqAʠ/RA츝Aq/RA 3Aǹ/RA0ևAŬ/RA A/RAYnAaE0RAN-VA+0RADX7AD10RAY;AnD0RAn=A{O0RAuH A']0RAi %ACYs0RA-&A$A|0RAٻ A~0RAF@*A;0RA{A0RAuWsYAǎ*0RAFUA<\n`0RAJAxG0RA\$A?=90RA ^XAͮ؀/RAl_A~J1RA!<7A5J?1RAP ϤA>D1RAzAED1RA1%VAD1RAŏPqA7C1RAӛsvAUzF1RA!VKAnBXF1RAmEAgH1RA)"A8H1RAghA]kH1RA3ƚ\A~J1RASA&J1RAaMAp1RAL5vA.z0RA%PѬArᬐ0RAiĞA$F N0RA^R[A9h_$0RAl_AeZ,0RA `Aۥ90RAP= A4e0RA.AH/RA ]A-/RA^XAͮ؀/RA֗LAs /RAF#TAy/RA΁@AQ/RAA~S/RA&=A0RAR&A'Փ10RAUhzAe0RAM\GA`M0RA;[4Ap/0RA<7A5J?1RA`SAۥ90RA-j9!A@X1RA)SA&J1RAAf2J1RA$M AݚMM1RA-"AI M1RAI AHL1RAP AML1RA A|H]L1RA8~m AU[;IL1RA5B^ AN1RA8 w[A|ӊ9Q1RA]ђAM%Q1RAQ#A~藧S1RAāIAhrcS1RA^AhV1RA$%.AfU1RAQrA@X1RATqA1l{+1RA)A5].1RAG߁<Ar .1RA}<A-1RA06A؍-1RA_yA"^1RA\aAhە1RA_A2"0RA{>T_Ajp0RA\ՈAAPz0RA}bSA0RA[l A,Y0RA-j9!A8?0RAhh!A/u70RA Aˬ=0RAƤAkfE@0RAL; Aתs30RA `Aۥ90RAl_AeZ,0RA^R[A9h_$0RAiĞA$F N0RA%PѬArᬐ0RAL5vA.z0RAaMAp1RASA&J1RAHF AqM/RA^O9AAE0RA&F AAE0RAvA[i0RAM2Az t|0RA܆`A~F0RA\AI/RA}dAţ/RA^O9Ad3o?/RAݦPAW顭/RAN7LAL2/RAƅ?iA_ p/RAI`Ap/RA3kޝAЏ=ʜ/RA:ٜA\w/RA=AA $/RAH8JAv: V/RA9.NABM/RA?&AU M/RA^iA_9/RA-bRA/RAÖAI=ױ/RA8XAZ:v/RADA Tv/RA7AC+/RA fÑARS/RAMUAqM/RA?G!Aޑఢ/RAwǥA)k/RA|A4ݛ0RA+OA 0RAԍA%(0RA|xÍAǰ*k0RA>aAm0RAKEAy0RA.Aeg0RA!A.0RAx-XA Q40RAw;FAoIN0RAF AAE0RA}dA>:/RA%3A$ 40RA\AI/RA߯A*0RA8c:^A$ 40RAHj䀥A(0RA鹆vA 0RALMÏA@s0RAܝAV0RAqgA]X/RA%3AKY/RAD`1ACM/RAr A`/RAANK:γ/RA+l۲A:/RAٲA9/RAi Ak/RA ^AuR/RAUtSA>5*/RAk+͓A>:/RA#Ahɝ/RAeAy1/RA^O9Ad3o?/RA}dAţ/RA\AI/RAUtSA>5*/RAp\AKY/RA%3AKY/RA=  AQ/RA^⫸A/RAk|Afi5/RAA&@/RAp\A~/RAa'vAZѽ/RA~-UAQzK/RA&EьA@/RAmMA*}/RA':lAbE"/RA/n7A4=h/RAŤ=A?tb/RAAA`'b/RAsAmńZ/RA)1AoW/RA'gAO/RAA}*)=/RAUtSA>5*/RA ^AuR/RAi Ak/RAٲA9/RA+l۲A:/RAANK:γ/RAr A`/RAD`1ACM/RA%3AKY/RAwA#}/RAoA ^0RA3VA:I0RAQ DA ^0RABhA^~zE0RA{8AC40RA?%*Ab.0RA8d}A20RAoAP 0RAbmAj/RApAAP/RAtYADȄ/RAmV2AH/RA_rA6P/RAm lA+/RAA#}/RAhAC>ǀ/RAn"A*}/RA5(zAۣi/RAFAor/RA`A1'/RASZ1A3q/RA>rAG/RA^z+AoƝ/RAwA/RAvaAf_0RA YAyq0RAƀJ&Aƒ 0RAR(ΩAe}%0RA AmbT+0RAƚA1;0RAAA2C0RA3VA:I0RA\Ah?t/RA DA0#0RAJAf`W/RAȗhA#~;/RA&)hA# /RAN] 3AEnI5/RA}6A%/RA[qA~D9/RAP6A4/RA-*AA)/RA A#K0RAԁ>4A0#0RAwA&P"0RA A8/RA*|y+A;~/RA DA2H/RA*MA9D/RA8Ah?t/RA e1A>at/RAtAc{ x/RA?T'A}/RA\Ay/RA]AO͇/RAJAf`W/RA MUA۹.RA VAU M/RA!8XAZ:v/RAÖAI=ױ/RA-bRA/RA^iA_9/RA?&AU M/RA9.NABM/RAH8JAv: V/RA=AA $/RA:ٜA\w/RA3kޝAЏ=ʜ/RAI`Ap/RAƄfA$h/RAFS*{A.RAA%CB /RA8ƄfA=<}.RAUtSAp/RA$I`Ap/RAƅ?iA_ p/RAN7LAL2/RAݦPAW顭/RA^O9Ad3o?/RAeAy1/RA#Ahɝ/RAk+͓A>:/RAUtSA>5*/RAmYZAu.RAB7A$(.RAAdUA?.RATU2AZp,.RA5QA;}b.RAlt*AIwTۼ.RAc?j(AS=f.RA(bYA)^X.RA_Aa;1.RA5A.RAp-ȮAiE.RA+*A=<}.RA+clA.RAJLA_.RA46A)*.RALAX!.RA١|A.RAܗA .RA[AA /RA¤A¨F/RA<@Ad/RA^tAt"/RA VAk@n//RA9A0T/RAFS*{A5*/RAA}*)=/RA'gAO/RA)1AoW/RAsAmńZ/RAAA`'b/RAŤ=A?tb/RAP=:A襔T/RA0ӡXA-YupI/RA$TAVAJ_BA/RAaK5A]*/RA\wANg/RAD+A.,.RAvnA.RApc 0$A0.RAzA,].RAUҐ)AbP.RA*A:qE.RAn-A\.RA_Ag.RA_,A\.RAChFpA.RAG^A- .RAYZA B.RAtAx.RA_Aa;1.RA(bYA)^X.RAc?j(AS=f.RAlt*AIwTۼ.RA5QA;}b.RATU2AZp,.RAAdUA?.RAB7A$(.RAmMAښo.RAbsQYA~/RA-p\A~/RAA\I/RA}1A@^/RAnNA@/RASZ1A3q/RA`A1'/RAFAor/RAc2rA0/RA4PA|/RALAwb/RA:AeW/RA{ռAE -oAEk{/RA&9ŇAOu/RAn(@,A.g/RAԾYAsga/RA ApS/RA߁AI:/RAjp6AE!/RAt?Am.RA1|ATGE.RA}x3AY5.RA PJA{31.RA})a`AQT.RA0ATj.RANM|A*j.RA^)wAF.RAoh1A%h.RA6XAB.RA*t?AN.RA IAWzO.RAPA_/ϟ.RA_o~WA).RAbsQYAf~.RA5mrA*o.RAA.r4%/RA{ռAE ǀ/RAA#}/RA\gA|+}/RA\A /RA\Ay/RA?T'A}/RAtAc{ x/RA e1A>at/RA0 A>g/RA3m A:Y/RA A\y*N/RAq=Ai"5/RAյA_%/RA\eAh/RA&7:AB.RA7襞Ar|N.RAYtzqAAp.RA ZyOA4V3.RAlJTA;.RA_GYAp.RA[2A9ba.RA[)A@ `.RAOAVg.RAt?Am.RAjp6AE!/RA߁AI:/RA ApS/RAԾYAsga/RAn(@,A.g/RA&9ŇAOu/RA>-oAEk{/RAn"A*}/RA7襞A.RA9AYz{/RA e1A>at/RA8Ah?t/RA3QAYz{/RA(LA9\U~b/RAM1)AQhjW/RA*>%AbF/RAx< A@k-/RA9AM2u+-/RAřAK"h/RAtAB.RAWMA.RAA—.RA2gaA.RAm+XADJ.RA"NA=4.RA7襞Ar|N.RA&7:AB.RA\eAh/RAյA_%/RAq=Ai"5/RA A\y*N/RA3m A:Y/RA0 A>g/RA e1A>at/RA(x< AЃX.RAGAͮ؀/RA"3QAYz{/RAcsr A5/RA A/RAbqAʠ/RAjJ !A\/RA^XAͮ؀/RAA=/RA9Arg/RA~`4A_/RAfqA奚K/RAJgAYԜ/RABAd|.RA*7 Aq.RAGAZY.RAu[ʍzA:Z.RA>'AKZ.RA7lA5Z.RAS<AЃX.RA2A/,df.RAAJc.RAH|A< d.RAZAW -r.RAgAxw.RA”9A0ι.RAT11mXA8.RAWMA.RAtAB.RAřAK"h/RA9AM2u+-/RAx< A@k-/RA*>%AbF/RAM1)AQhjW/RA(LA9\U~b/RA3QAYz{/RA@^XAԩm.RAAۥ90RA%^XAͮ؀/RA ]A-/RA.AH/RAP= A4e0RA `Aۥ90RAkVA2/RANd~#A3/RAL^AA,Þ/RAՅ^A7i/RAN'AxxxdK/RAbgAE/RA]\zA.5/RA} NAzr,/RAbAa/RAu A/RAIAg20/RA?]A^U.RAAq.RA?cAaBN.RAIAzȱW.RAnw1ABre.RA?A61x.RA7!AbD.RAkx!Ao {.RA AL@.RAE,A=7.RAR4KA.RADtAԩm.RAUa~ZAc@.RA*7 Aq.RABAd|.RAJgAYԜ/RAfqA奚K/RA~`4A_/RA9Arg/RAA=/RA^XAͮ؀/RAX `AaBN.RAZ"AkfE@0RA(ƤAkfE@0RA Aˬ=0RAhh!A/u70RAt;p!A 0RAhꂎ!AOp.0RA("A{/}/RAe"A&/RAZ"AX"X/RAtAJ{_/RA] Au/RA/A1>/RAFA /RA tAȰ+ /RAUAnPBq/RAmA<`/RA&zM;A4 ^/RAG$q AWC$/RAW•A .RA5A E.RAOmAx.RA"A&`".RA&s At.RA"ch A舧.RA?cAaBN.RAAq.RA?]A^U.RAIAg20/RAu A/RAbAa/RA} NAzr,/RA]\zA.5/RAbgAE/RAN'AxxxdK/RAՅ^A7i/RAL^AA,Þ/RANd~#A3/RAkVA2/RA `Aۥ90RAL; Aתs30RAƤAkfE@0RAەqAs5-RAnhA)*.RAەqAl.RAFkAg.RApAk,.RA߯AmD#.RAb١A]F.RALAX!.RA46A)*.RAJLA_.RA+clA.RA+*A=<}.RAnhAݐo.RA%ӛAxF.RA ZA@2.RA5-A @x%.RA?'2cAݪU.RA_Ag.RAYzAdR1.RAYaA@.RA-ѦA.RAT]iA€ .RAk=A:/t-RAA q-RAS//A4r-RA$}"A?pr-RA1N AA*|o-RADX<A85p-RAARp-RA]tAp-RA#˟A{5n-RAױ-}Au`-RA%A ,-RAyj,A~6Ǽ-RAAG A"-RAB0As5-RAIAs-RAJA4\jS.RA.-FA3@R@.RA5{dAۆi<.RA=A`>.RAmRAC.RA2tADEF.RAZAhC.RAASE.RA$KA4\jS.RAGlAt)<.RA/AvY&.RA.YAC҇9.RA-ZA?(.RAA f.RATA.RA@;Ad.RAJA֚_-RA/A}y)-RA%BA-RA"<A@z-RAXE>AC-RA A*-RA~ #A8ݽ-RAY±A,,-RA7A82-RAt ȹAAsjy-RAp\Am]|-RA Anhw-RAcyIAu~z-RA @ (DAuw-RAB{AĹWx-RAIVAĈu-RA4'AUjv-RAIAs-RAS,mA-RA2Aؔ-RAk{A{4bE-RA yACĸ-RAؠi#Apx,-RAr"AZ D-RA|&A1-RAiJ3Ah.RA7OwA .RA ,CޯAxu !.RA-FA3@R@.RA-FA.RA8k,A:qE.RA -FA3@R@.RA%pΰAN1Y.RA\6Azr.RA_Aa;1.RAtAx.RAYZA B.RAG^A- .RAChFpA.RA_,A\.RA_Ag.RAn-A\.RA*A:qE.RA8k,A8а.RAA|E;Aښo.RAD Av$F.RA%( A0?3.RAХA+-.RA@;Ad.RATA.RAA f.RA-ZA?(.RA.YAC҇9.RA/AvY&.RAGlAt)<.RA$KA4\jS.RAASE.RAZAhC.RA2tADEF.RAmRAC.RA=A`>.RA5{dAۆi<.RA-FA3@R@.RAХAm˼D-RAAj.RA%( A0?3.RAD Av$F.RAA|E;Aښo.RA&)rAwXz.RAҶGAl}.RA⡫Aj.RA9"A#r.RAfAn|.RA*t?AN.RAl5NA7..RAs*A$ .RA7H)AN:*.RA= eDA$r&.RAA \-RA1NyNAABձ-RA̟4Akqf-RAw4YA-RAeuA^O>-RAB1Ab#-RAd"wA{-RAFA@>Q-RAy sAm˼D-RA@VA=!O-RA Am,ȧp-RAah5Aנk-RAJA֚_-RA@;Ad.RAХA+-.RA%( A0?3.RA7H)A \-RA_/̪qAN.RA*t?AN.RA6XAB.RAoh1A%h.RA^)wAF.RANM|A*j.RA0ATj.RA})a`AQT.RA PJA{31.RAP8A a.RA_/̪qAv$.RA1{ KAr.RAmZHAȅ-RA P@A3'-RAjA|g-RAje(ACS-RA[AT-RA$^A;N+-RAɧ΂AF-RAJĦBAPpL-RA@=AN1k-RAA \-RA= eDA$r&.RA7H)AN:*.RAs*A$ .RAl5NA7..RA*t?AN.RAH G4pAc [-RAY_/Am.RA&t?Am.RAOAVg.RA[)A@ `.RA[2A9ba.RA_GYAp.RAlJTA;.RA ZyOA4V3.RAYtzqAAp.RA7襞Ar|N.RA"NA=4.RAm+XADJ.RA2gaA.RA|A|.RADAy.RA A} [.RAAA &4.RAy*Aϭ.RA Al .RADEA) 6-RAY_/A+vT-RA+Ai5-RA%pEAٿ-RAJ,`%yAAC7-RAČAc [-RA&A{-RA(lA/.jx-RA G4pA?e-RAje(ACS-RAjA|g-RA P@A3'-RAmZHAȅ-RA1{ KAr.RA_/̪qAv$.RAP8A a.RA PJA{31.RA}x3AY5.RA1|ATGE.RAt?Am.RA8%pEAJcM-RA֡DA—.RA$2gaA.RAA—.RAWMA.RAT11mXA8.RA”9A0ι.RAA-gaxu.RAlAlZp.RAR-=kAd@.RA֡DAL:.RA^Ak.RACAJ.RAAרAYlz.RA OAz }-RA+Aʧ-RAANCю-RASAHj"~-RAjSAٯQ-RA .A*n}o"-RA׃A -RARm#AQ-RA}ʠA-RA*_AJcM-RAA4N%2-RAČAc [-RAJ,`%yAAC7-RA%pEAٿ-RA+Ai5-RAY_/A+vT-RADEA) 6-RA Al .RAy*Aϭ.RAAA &4.RA A} [.RADAy.RA|A|.RA2gaA.RApCA3]ߌ-RA]A0ι.RA+”9A0ι.RAgAxw.RAZAW -r.RAH|A< d.RAAJc.RA2A/,df.RAS<AЃX.RA7lA5Z.RA>'AKZ.RAu[ʍzA:Z.RAGAZY.RA]AX+YT.RAXx'AW#-RAoA-RA0A-RAw A+_-RA]A.b-RAAvZY-RA9A( *-RA~AcM(-RAΈɤA R(-RANJCA_g(-RA5CP>A(-RA=W@A(-RAἵ/A5#-RA%>uAG $-RA|xA`9!-RAULA$"-RAY̯A3]ߌ-RA .A*n}o"-RAjSAٯQ-RASAHj"~-RAANCю-RA+Aʧ-RA OAz }-RAAרAYlz.RACAJ.RA^Ak.RA֡DAL:.RAR-=kAd@.RAlAlZp.RAA-gaxu.RA”9A0ι.RA*7 AA3W-RA:--A<`/RA=Ua~ZAc@.RADtAԩm.RAR4KA.RAE,A=7.RA AL@.RAkx!Ao {.RA7!AbD.RA?A61x.RAnw1ABre.RAIAzȱW.RA?cAaBN.RA"ch A舧.RA&s At.RA"A&`".RAOmAx.RA5A E.RAW•A .RAG$q AWC$/RA&zM;A4 ^/RAmA<`/RA/A ~U/RAր+A\Ά/RA-ьAAO/RAM0AI:.RAIW AD.RA׆h!A{PjH.RA< 9-#AKA.RAކu*#A&.RA@ 1=#A K.RAz b&A;.RAS)Ahe-RA,KF,A#^I.RA -AF.RAWxV-AO:-RA:--ABI-RANHX")AyJ6-RANY&A9-RAޡAVX-RA:lA]߇-RA U AC"_-RAl} A^-RAϢJAG w/]-RA1HAA Z-RA, A[% ]-RAJA--^-RAOA<2J-RA Asy-RA 7A3|-RAөAA3W-RAIA-RA9A( *-RAAvZY-RA]A.b-RAw A+_-RA0A-RAoA-RAXx'AW#-RA]AX+YT.RAGAZY.RA*7 Aq.RAUa~ZAc@.RA;JAUCV,RAխl)A!3i-RA1-;͚A!3i-RAB0As5-RAAG A"-RAyj,A~6Ǽ-RA%A ,-RAױ-}Au`-RA#˟A{5n-RA]tAp-RAARp-RAœzAP8-RAuFAT*N%-RADōAUD -RAŪA5,RA\$A 3,RA=]E4AM[,RA3+[MA ?`,RAխl)A3s,RAflA;[,RAS7A@Jk,RAyA[,j,RA5ՓA%tX,RA?`AUCV,RAݵBA}a,RAlEGA\ e,RA{]̠֌A__,RAY UA(Q%{,RA#ABF`,RAiʡA)[,RAᄧAt,RA;JA86M,RA3A #R,RA}m^A!Ų,RA*nA,RAhAH,RAvY쭋A$D,RA?kvA,RA_}AEQ(,RAI A5,RAFA :,RA5AH,RAjJA-RAk85AIj#-RA>Aq&?-RAfp*AkR-RAXmuAᥫe-RApi@A(%s-RAb2[A!|n-RApfA-RA-;͚A!3i-RAœzAY6+RAK A:/t-RA DX<A85p-RA1N AA*|o-RA$}"A?pr-RAS//A4r-RAA q-RA>k=A:/t-RAc]At( t-RAIAs-RAV aA޲5W-RA|A*T>-RA!?HA/(-RAȥZA/ -RA< )ˬA,RA"ӔAIN,RAΪV!A d6,RAK Ad8+RA Z9Af>dB,RATjACb+RAx1cAY6+RA[=UEAe.L,RA;$OA_`{,RAոEAи{y,RAխl)A3s,RA3+[MA ?`,RA=]E4AM[,RA\$A 3,RAŪA5,RADōAUD -RAuFAT*N%-RAœzAP8-RAARp-RADX<A85p-RA`V aAd8+RAcCAm]|-RA)IAs-RA4'AUjv-RAIVAĈu-RAB{AĹWx-RA @ (DAuw-RAcyIAu~z-RA Anhw-RAp\Am]|-RA>Asjy-RAS+Ac|-RAt ȹA,RA\~AfB,RA+UZA-߁,RA īkA.ύn,RAfA2(n,RAbAX[,RA}ATB,RA~A2q.,RABt<A8V6,RAk屸Am!,RA_.(b+A?% ,RA;L A}5,RADA{p,RAW$RA'/,RA1ȘAm,RAK Ad8+RAΪV!A d6,RA"ӔAIN,RA< )ˬA,RAȥZA/ -RA!?HA/(-RA|A*T>-RAV aA޲5W-RAIAs-RAbA)t+RAA-RA߽AB+,RAc{A,RAjڽA S,RAsӂA),RAvϽeA4`,RA|TmA#,RAA+RAA#+RAM>x(AP+RA,mA)t+RA=%A"+RA@UfAwT*`,RAPoA(+RA@Aad+RAk屸Am!,RABt<A8V6,RA~A2q.,RA}ATB,RAbAX[,RAfA2(n,RA īkA.ύn,RA+UZA-߁,RA\~AfB,RA+DAD>,RAf&Az~,RAQשA,RAc˹A*O,RAcCAA !-RA:eȾA-RA߽AB+,RAt ȹA),RAˑiA}y)-RA:eȾA-RAcCAA !-RAAC-RA"<A@z-RA%BA-RA/A}y)-RAJA֚_-RAah5Aנk-RA Am,ȧp-RA@VA=!O-RAy sAm˼D-RAe?OAZ5*-RAˑiA4=f -RAbPA,RAsӂA),RAjڽA S,RAc{A,RA߽AB+,RA:eȾA-RA(y sAAxm,RAA-RA"euA^O>-RAw4YA-RA̟4Akqf-RA1NyNAABձ-RAA \-RA@=AN1k-RAJĦBAPpL-RAɧ΂AF-RA$^A;N+-RA[AT-RAje(ACS-RA G4pA?e-RA(lA/.jx-RAk8CA_N-RAA Ddy-RAz]AYj-RA:Ae-RA۾oAY=,RA(NA+ƶ},RAe AJ,RAUYAQ4S,RAMA,RAcS63AS,RA=uAb,RAȨA,RA(K>AAxm,RAbAm<,RAˑiA4=f -RAe?OAZ5*-RAy sAm˼D-RAFA@>Q-RAd"wA{-RAB1Ab#-RAeuA^O>-RA0(K>Ab@A,RA&Ae-RA#(K>AAxm,RAȨA,RA=uAb,RAcS63AS,RAMA,RAUYAQ4S,RAe AJ,RA(NA+ƶ},RA۾oAY=,RA:Ae-RAz]AYj-RAA Ddy-RA8AG,RA9ABb,RA}AӦ ,RA&A!,RAMAA,ͯ,RA._9A`n ,RA x4A{,RA/]AWLb,RAF`XAu-I,RA@ Ax,RA/@'DAi/>,RA;A+H2,RA59]AK8,RA)qA,RAEAb@A,RA;7IAS,RAYAyd\,;,RA^< <A&I,RAΟ A#Fk`_,RA4{tbAL@{,RAQUҧAhiI,RA|`lAEIT,RA(K>AAxm,RA8(lAhu*RAfA{-RA$(lA/.jx-RA&A{-RAČAc [-RAA4N%2-RA*_AJcM-RAEVKAX j,RAWAnP,,RAiA<+RAiA6m+RAvd6A;B0+RA WA"io+RAo5AߍV+RAU A^)+RAfA_*RAx+A*(*RA$䉕}Ahu*RAy 7Af7dq*RAOAj%n*RA9"Al*RA[ŀ(AA;+RA 3AxDL+RAA9+RA'"tAd_+RA@ Ax,RAF`XAu-I,RA/]AWLb,RA x4A{,RA._9A`n ,RAMAA,ͯ,RA&A!,RA}AӦ ,RA9ABb,RA8AG,RAA Ddy-RAk8CA_N-RA(lA/.jx-RA*_A_*RAA( *-RA.*_AJcM-RA}ʠA-RARm#AQ-RA׃A -RA .A*n}o"-RAY̯A3]ߌ-RAULA$"-RA|xA`9!-RA%>uAG $-RAἵ/A5#-RA=W@A(-RA5CP>A(-RANJCA_g(-RAΈɤA R(-RA~AcM(-RA9A( *-RAIA-RATA˔>,RA.A6AlD#,RAӉEAU}0,RAAaϦApT,RA}HANC,RAA/,(,RA37A$,RAiK# A6#3,RAq2A',+?,RAb|hA;I=,RA|9 A Y;,RAE3ۨA >6,RA3A3,RA%!ǥA$w<,RAAz-`M+RA-zsA6LM+RA%lAK+RA KWXAݔ1+RAN|A\T*RAfA_*RAU A^)+RAo5AߍV+RA WA"io+RAvd6A;B0+RAiA6m+RAiA<+RAWAnP,,RAEVKAX j,RA*_AJcM-RA%!ǥA6LM+RA'N{5A',+?,RA3A3,RAE3ۨA >6,RA|9 A Y;,RAb|hA;I=,RAq2A',+?,RAiK# A6#3,RA37A$,RA%8}AiW۽+RA'N{5A>yZ+RA"]Ps3ATV+RA6ACjKT+RAlAQ+RA-zsA6LM+RAAz-`M+RA%!ǥA$w<,RA3A3,RA Z9A2AT*RA/ qA?% ,RA3K Ad8+RA1ȘAm,RAW$RA'/,RADA{p,RA;L A}5,RA_.(b+A?% ,RAk屸Am!,RA@Aad+RAPoA(+RA@UfAwT*`,RA=%A"+RA,mA)t+RAM>x(AP+RAA#+RAA+RA=OA%nn6+RA0đAm}+RARASb+RA:WAqF*RAFX> DZA7g"G+RAb˱AcZ+RA.k|A췰+RAr<ϭAt3+RA3A-+RABbAH ^+RA@Ae[+RA Z9Af>dB,RAK Ad8+RA(sӂA<+RA޴A4=f -RA"bPA,RAˑiA4=f -RAbAm<,RA(K>AAxm,RA|`lAEIT,RAQUҧAhiI,RA4{tbAL@{,RAΟ A#Fk`_,RA^< <A&I,RAYAyd\,;,RA;7IAS,RAEAb@A,RAHAv"a+RAbi A2s+RA7GA>Z˽+RA[bAǤ+RAۘA8ּ+RA!A`Gr+RA޴A0R\+RAKgAWĆC+RA#/A<+RADIAuUx<+RALAO%E+RA&AxDJ+RA3Az[+RA/vALa+RAR,RA@ Ax,RA'"tAd_+RAA9+RA 3AxDL+RA[ŀ(AA;+RA|[ץArO+RAb"A1z)[L+RAVƭ}A,L+RAKgAWĆC+RA޴A0R\+RA!A`Gr+RAۘA8ּ+RA[bAǤ+RA7GA>Z˽+RAbi A2s+RAHAv"a+RAEAb@A,RA`Al[-(RA'͍AWĆC+RA)ڹ䷽A(#+RApAOA(+RA`{Aw"+RAWbAʩ,+RADWA^ +RA4~&A+RA!A+RA[ߥ?AD +RAWkGA+RAնB AW+RAp?Au*RA/ qA*RADIAuUx<+RA#/A<+RAKgAWĆC+RA6~A5*+RAϹA$+RA5DGA*A F+RA6TejABqB*RA1}A;VI*RA3iAXE*RAq4-ApϜ*RA`)AX`*RACzEAcf#s*RA…sA*RA'͍Azs)RA2I$dA`e*RAEcqAp+3-)RA!As))RA$VAG )RAњA.B@(RA CVA/n2(RA)(A€.(RA/پAl[-(RAkGA]-(RA*nKA~)RAAe^Or*RAn.AJJ D*RATA\Z*RAMA)) +RAڹ䷽A(#+RAϹAl")RA_RArO+RAKgAWĆC+RAVƭ}A,L+RAb"A1z)[L+RA|[ץArO+RA[ŀ(AA;+RA9"Al*RAcA=*RAo QA# x*RAe<Acm*RA_RAqQr*RAA8FK*RAujA+)RArG:!;Al")RA@F߳A w)RAD>Az=)RA]AI`)RA'͍Azs)RA…sA*RACzEAcf#s*RA`)AX`*RAq4-ApϜ*RA3iAXE*RA1}A;VI*RA6TejABqB*RA5DGA*A F+RAϹA$+RA6~A5*+RAKgAWĆC+RA9"A׆T-(RA$䉕}Aj%n*RAOAj%n*RAy 7Af7dq*RA$䉕}Ahu*RAN"AD)RA5 3:A=()RA̹A-)RA #DAS(RAY PA|(RAs"0MA׆T-(RA 7,AHvle(RAA(RA}i[A^)RAA8FK*RA_RAqQr*RAe<Acm*RAo QA# x*RAcA=*RA9"Al*RAOAj%n*RA CVAu-(RAs"0MA8FK*RA'͍Azs)RA]AI`)RAD>Az=)RA@F߳A w)RArG:!;Al")RAujA+)RAA8FK*RA}i[A^)RAA(RA 7,AHvle(RAs"0MA׆T-(RAyBA_W~(RA-RAM.(RAbMAI .(RA~ZA.(RAc AAKͧ/(RADkfAu-(RA!&@K(Apce;(RArA?>(RA1_G A@ .9(RA"A0VR2(RA CVA/n2(RAњA.B@(RA$VAG )RA!As))RAEcqAp+3-)RA2I$dA`e*RA'͍Azs)RA ;G/Axpt:RA IAU4L?RAy,A?a\RA9!5A Hk>RATeq,5A3+ ?RAvG g4A?RA <"o0A^a>RAM/AxrS?RA;G/A2ef?RAM 4Aqns?RAg_4A3gy?RA4Af|?RAb5A~?RAPdτ5A{7|{?RAlO5A 1{?RAH=6A0>#y?RAyg6A 2x?RAlﻨ6Ax?RAۺ*7A1Tx?RAh=7A&{x?RA8)o8Ax?RA%8Au?RA9s9A]x?RAV:AZW6}?RA\w:A 4=?RAa>;ATp?RAB|&;A9O?RA=h%c<A8\4?RA9%=A1[OF?RAyS+=Ax2?RA >A?RA ,>AM?RAz?A?RA]@A8`?RAx_vUAAu槥?RA7BA~?RA8ZCA >Zv?RADs?RA:z-DA?RA=EAN6F?RAьyFAx?RA36EAlv?RAC+EAPH?RA]?ۥEAH?RA[ɈEAq{?RA EA7su?RA\8EA Pp?RA"3wlEA;Im?RA Z\#FA Ԯj?RA½d,FAaFb?RAeeFAr_?RAqeGA^k\?RA GATw\?RA.)HA8*_?RAo~eJHAϽd?RA \KHA=?j?RA׌HA2j?RA8HApd?RAHA"4a?RAGIAX&Qg?RAsfIAvl?RA XHAdo?RA&HAox?RA;IAw?RAדrIA"<u?RAz"IAw?RA wJAJw?RA*>JA$}?RA;KǍ?RAKA{6L?RAKF@KA?RA,`ԁKA\5Θ?RACKA1Ij?RASKA{攺?RABDLA5?RA_#LAKE?RAlo6LAИ?RAPJsLAⅤ?RAMAç?RABz MA d?RA"'MA#s?RA:MA?RA0oLA#<M?RAG$cnLAd ?RA+ELAu4?RA׀KAG_?RAlxcKA"?RAiKAt=?RAk$\KAiı?RAh LA]˼?RA3MLAU4L?RAKLA8?RAխqMA&+`?RA4NA.?RA?8OAD?RAK]PADB{?RAFQA@?RA-DRAWR?RA-{uRAl*r?RAOUSA9w?RAבTAt?RAz@UA ?RANX-VAS?RAw:VAW?RA~l]R[AC.R?RA_AB(?RAÃ,xY_A"?RA?k_AK# ?RAlHX8:`A?RA"RAsebA2ժ>RA@ĸcAf>RAcAoGi>RAohcAt>RAOcA(Ct>RA>@cA僭>RA& cAy0>RAcATf>RAgYcA7>RAWvh7cAm0f^>RAEwcÅ>RArQcA3>RADcA>RAGcAOb>RA!dA1µ>RADevdAs>RA>κdASe>RAG5eA~=0>RA5eAp7>RAta3eA2>RAfQeAw>RAeAu'{>RA{*3fA tyu>RA[fA&ym>RA\Oi5gA\bl>RAYjvVgA,Bo>RA?mgAl>RA=*bgA0 j>RA{ɵgAmd>RAbLhAOqd>RAf4ѹhAwOQd>RAEhٽiA#d>RA4NjA`f>RAϰjA3yo>RAOjAc o>RAhɒkA/79n>RA ψEkA%l>RAqkA f>RABnhlA7c>RA*mA1`>RAnmAU`>RArOnA:q`>RAIoA]>RApA:W>RAjإxqAt*O>RA8qA yI>RA3'rAA>RAid\sAW[;>RAWtAv5;>RA(GtAO8>RA{uA{f/>RAߍ gvA)A'>RAEYkxA聯>RA ׶yA*!m>RAr;PzAM1Z>RA<$zAu$ >RA3{AQr&>RA3V}Alf=RA/,f~A,=RAI{Axt^=RAhA=RAm=Aз=RA>"A,!w=RAy=AC=RAQ {A{=RAہAj=RA,;Al=RAM:AĦ=RA9R/-݂At=RA&AKg{Ӝ=RAFߜAS6 =RA<At=RATn{Aq.K=RA>[`A['=RA>[`A['=RAp3UA=RAXA8v6~=RA ՂA9 x=RA7>AG.s=RAk3A<h=RA9᳃A\=RAO4AgeT=RAAtA#!Q=RAGKAK=RAK3A8WF=RA%AےQ==RAQAPJ8=RAmFWAp5=RA;YAL ^5=RAAWrΊ2=RA_9Ap폷/=RAgyA*=RA$YAR#*=RAgyA*=RA3AŔP'=RA' A7='=RAOBA6X)=RABə<A#[)=RA]'~A"],=RAc7Abf/=RA5\BAX&2=RAAMLA 2=RA A?./=RAҺ^UfAi/=RAIAN'&=RAuADh#=RAޓ8Ax;!=RA2&A|M=RA%At=RAp'A=RA A(?=RAA,=RA|_Ae =RA~iA K =RA݉A =RAVᜉA;h =RA<Au{=RA8؈A|{1=RA׈A|yr=RAz5U2A5=RABR8AR =RA;ǴyA=RA*Ay=RA&X^AZv=RAv=hAg*=RA|AS =RAps#AZ5 =RAcCA =RA."6y"AWv =RA!AU=RAA 3W=RAGAkSAf=&=RA'#iA",=RAA)檋A(g,=RAsm A,=RAowAK+=RAj T1Ax䓒.=RA DA24=RAK'3A7X6=RAzgpA4q6=RA!A<=RAsdpAZTkD=RA|+Aoۍ=RA]LA!=RAz[-A5ɾ/=RA ydNAOR=RAUtRAwB=RAA*=RAi{A=RAәASx=RA;]/Aj^=RAIjmA|D&P=RA0̛A$+=RAʛA Cw#=RA%+^A9-AÆ)i;RAEHzAdpZ;RA⼢A?};RAP7A܀ ;RAݪǩAB6;RAvN(A]<;RAkHA2O;RA%AW;RA39AkP;RA)tܨAY;RArtڨA_;RA)XA I;RA)xA;RA{'zA+;RAjAp"};RA*䤭AwP z;RADA$P l;RA;lAa`;RARAYR;RA@l }A$N?;RA]uAGΏ);RA2ɫAY;RAAV~:RA,A:RAO ߪA.:RA IA q|:RA`Axpt:RA|t1ޯAرtt:RAT.A>F:RA2'Ah:RA-1jAo:RAIơA WM1;RAEA8ZM;RA1dA- RA+AӹD>RA1@Ap'W+?RAג}A.?RAkw[A*3:?RAA//,?RA$\")AZ?RA_A^s?RAA,>RARcAwJ}>RA A-n,>RA=A裩>RAyA9Qw=RA=$|<A5kj=RAtA+n>RAA?RA#yCAS]?RA^y{)AїARA:1A1'ARAAdw\ARAD5.APZARA&AYARAr ATyTARAg}vA _ARA;2A7BRARf}AtdCRA, !A|'DRAS*A5DRA̘/A;@DRA-}AG1DRA~ ACRA#({AޢCRAs_~AoCRAHCA֟ACRA BCA}׻CRAG2AwCRAކA@CRAZA5$CRAfAb>CRAA'"CRAƘ"A-CRA9!Azn9CRA)OA2{OCRAcAڠP|CRAxf܄A?yCRA'AuJCtCRA="UEAnCRA =(A@λZnCRAwIA`NeCRA=A|d,UCRAW$A JCRA] A6'GCRAAbICRAƕAQ3}LCRAAk,RCRAj5.AQCRAIHAdNBRAEΈiA0BRAIABRA&!D A/HBRA)IAo|mBRA-+A.7*BRAtSAa[BRA,mA)]BRA65Af+4BRA znALkBRAlAe`(>BRAG#kAqBRACA?RΥBRA6_&MA' $,BRA~MլA6×BRA. AIZBRA=+A#BRAA&JkA*BRA恚{A5OBRAAɓkNA3BRAA0Cȃ{BRA{WNA"#TpBRAC-AjBRA"Y# Az~ hBRAagA]bBRAZ UA_BRA~ӉAsrrWBRA\A[QBRAsAKYDBRA@`,A5;BRA7=AϿ-BRADnAYP (BRA$ A2ItK"BRANÚ% A/"BRAy AޢTBRA* A'BRAh A$yBRAn + A*1BRAf A`~BRA!AqׁARAFw !A˽vARAξ!ANkARA#<"AhARAbj"ABhARAɃp#AL(kARAPQZ#AxZhARA^$AbARAB$A]ARAY $A6UWARAz$A RARA?$A|W*AtARAw'K*A\vHXzARA+A*DzARA+A*DzARAW' *A+^tARAcm*AvlARA Jv[*AJ/dARAZ%Z*Al[ARArZy*A6GVARAR.w*AWMARA zu*A%EARAG"D*A<7ARA0*A6.2ARAާt+AIMl,ARA~+A$&ARAK`,AJ#ARApTY-A9 ARAИ}.A%ARA?/AARA}0AARA9׌$0A6Y ARAX9.F0AR%ARArbh0A\'..ARAur0A :0ARAS)Y0AXar.ARAK1AFl-ARA?K1A%8+ARAL0*1A,x(ARA!A; )1AX"ARA7a1AIARA\ȱ*2A+ARA 2AtARAgkm3AARAvr3AX:ARAAn3AARAMi14ABARAUQ4A B-ARAXd2P4A\G ARA@O4A+ARA4A ~rARAY25AߓARAR5AkPjARAV6AxOARA:v6A1QARAiD.6A@RAO87A/@RA%y7A䦿@RA7AB@RA?=7A+@RAߪ^w7A@RA;Qv7A0@RA%p$7A4w<@RAy8AфT@RAݽ8AB@RAj8Ayw@RA 8A@RA8A@RAU8Afy@RAb~47AHv!@RAN27Al @RA@P6As@RAqX5A K4t@RAt 5Ac8\@RAk4A@D@RA)$o/3AM2@RAt„2An@RA\Ӏ1AOK@RA]v}0Asq@RA ay/AY@RA&%".AU]@RAUOw.A?_@RA!u+-Aa @RA~R-A`nћ@RA@1-A @RA\n,AĄ@RA #,AN_H@RA(,Ai@RA ʎ,A1I{6@RAOM,AC@RAZ+A럫^@RA8KI+A Q@RA=(+Aܬ@RADž*AA2@RAN$*AK@RA)A䕳@RAB9=#)A?ARAc(AARABz}'A ARAg"='A2 ARA`D+~y&AzARA6Az%ARARAz@q$A=VARA-$A! +@RAL#Am@RAN^\g#Aa@RAs~##A~@RAJ݇@#AFip'@RA,6#AT@RA޼Z#Az@RAnx@RAjw+Ax7(@RA|QT,A_M}@RA@t,Arz@RA#-At@RAU-A6o@RA-A\}i@RA@-A2a@RA$-Al^@RA[ -A5KX@RAN-A,eS@RA ip-A'kS@RAIl/-An?yS@RA^q,AS@RAm,Awe*hV@RA=L,,AA\ORA A-n,>RARcAwJ}>RAA,>RA_A^s?RA$\")AZ?RAA//,?RAkw[A*3:?RAג}A.?RA1@Ap'W+?RA+AӹD>RA <"o0A^a>RAvG g4A?RATeq,5A3+ ?RA9!5A Hk>RAM;5A݄>RA'5A5=RA(^si6A~m=RA3A <=RA:)AkZ A\s:RA A|:RAx%A'z:RA\haEA x:RA4W@PAoƟu:RAp?Ațu:RAH U'A;v:RAB%A$Ms:RAwRA]4q:RATFپA83hl:RA†AA$m:RAyA)yj:RA-A@+j:RA$(AnYe:RABA=.,f:RA 9A!R:RA>=A5$ :RA1=A} :RAS,AT\ :RA]A5Fg:RA:KA8:RA; Ao:RA ȸDA ;RAptAKcF:RA|t1ޯAرtt:RA`Axpt:RA IA q|:RA Hu-|Ap뿖9RAI԰A;MR}9RApA|l9RA0zA!^ja9RAEA?Y9RA;`A>pE9RAJA:9RA@CwAa, b29RA/ŴyA=Y9RASAK3*u9RA AAk)8RAߪA}R8RA=AgܷR8RAb w٪Av;"8RA_{XAkݰ8RAxTA;n8RAJ1 AߥV8RAoʪA9q8RA^R#@AAn8RA, ^qAp8RAxeA/%8RA&dAfw8RApgfAR?*s8RAމcFA?8RA 6dA(*8RAQmAOʸ8RA$Aq&8RA{:Aݺ38RAN_k+A(#z68RAxA3or8RAHA[AG8RAD7=AS8RAsAI-8RA!s+<Aټ8RA*\A ܦ8RANjAԋLz8RA Aqc8RAlfxAPF^8RAM~ACFP8RA`R6Ah9J8RASq AdЅSR8RAAiA%VVI8RA[A 08RA A"DE+8RAWkFhAESQ3+8RA1-AUc38RA:1нA 68RAZrA2'38RA<ҾA-8RAb#ӿA"8RA?W;4A'V4J8RA^AcZ28RA(Z8RAjqAis_8RA <AX9mW8RAƊAM@L8RA"QA`yI8RA OA+WC8RAgCA7;8RA6IqATc408RAE^Aʘ &8RA]A~ 8RA͹ALv8RA(AG8RAI^AF/8RA"A{JZ8RAGABN8RAK*L Aƒ 8RA$(>A7RA~@A@7RA'AJ7RA%ັA"?7RAAt A`7RA@`AUm7RAFDA顱7RA;HC A7RAA 7RAxAb7RA&AW7RAuK+A?o7RAOAj7RAAEo7RA %ASS}7RA"ABI;7RAFAɔ7RAQDAuj7RA#A݋Rnm7RAŪAЯ_7RA A L7RAj3 AA_C7RAeuAKo;7RAY Ak*7RAF'A07RA;A97RA~@A 7RA2!(A&6RAWfBA]6RAV*AXg7RAdA?7RA)kŌ-A$Sn7RAE\/A6xh7RAAyAiБ6RA A<Ȧ76RAzJAD6RA3UkA 6RAaA6RASAvAb6RAYAt6RA%AC6RA%ABJ6RATIA6RAcGE{8A"W6RAfPTAcm6RAy@PAx26RApi4Akz6RAVk,A 6RACuAM6RA~XA'Nl6RA8A5d6RA8A66RAkK>'Amܤ6RAt>A 6RA<XA6Q~6RA~kAm6RAtAf 8b6RAzJ8Atg6RA;CA>u6RA[bAvQ o6RAyVaABg6RA$A'_6RA3AT6RAA&I6RAYA@6RA +vAn36RA/MA1*6RA*}ASwX(6RA/¢Ai@.6RAA%16RA^~AC16RAA h.6RA9fu:A796RAWASchJ6RA}+A'gX6RA/[A`6RAAoi6RAFeA^6RAI+Axg6RAN<4!ArR6RAf}Aۣ6RA3A&F6RAKpAdj6RAPLlAg6RAyQ璪Aq6RA!ϩAYӎx6RAUMA;!6RA܈A'~6RAvA~\_~6RA}{ ~A{ u6RAL=A5$ :RA 9A!R:RABA=.,f:RA$(AnYe:RA-A@+j:RAyA)yj:RA†AA$m:RATFپA83hl:RAwRA]4q:RAB%A$Ms:RAH U'A;v:RAp?Ațu:RA4W@PAoƟu:RA\haEA x:RAx%A'z:RA A|:RAs>Z A\s:RA=ЀA+g:RA&޶\AÏ:'b:RAjAwYOB:RAA~Z:RA?FA:]9RA}y{PA<9RA$}iA9r9RA`4eAs59RAHA@kɝ8RAC`ȽAЂ8RA7AN}[4t8RA kA;y8RAAy8RA]NUAbt8RA=WTA\~$r8RA8A"v8RANTA"b8RAD$AĔQ8RAA@9RAɢy.Ae9RAZҋAz9RAɃFA"9RAi2NA")9RA:AUTCK9RAȅA\B-l9RA+A2m9RA^Avh9RAHIYAaA@;~9RAlBA.!9RA ^A*19RA͂mrAs+9RA AjZ9RABϔ;A弎9RAM>A~e9RAS,AT\ :RA)A?UU6RA`F%AЂ8RA AT697RA>ARG7RA TDAtf4M7RA)Av7RA~n9 Aut7RAuM tAMJ7RA;AS#U7RAA7RAA޾Ab'48RA6M>A![B?8RAV"AIF8RA=WTA\~$r8RA]NUAbt8RAAy8RA kA;y8RA7AN}[4t8RAC`ȽAЂ8RAAAg8RA}LAP.l8RAwA&r7RAK0 A&)7RA A;v7RA)cE%A8U7RA`F%AH6RA2ADnx6RAL2AKAnX6RA@v#A?UU6RAVV +A 36RA(51At`07RA AT697RAXɱGAv7RAA.!9RA(M>A~e9RABϔ;A弎9RA AjZ9RA͂mrAs+9RA ^A*19RAlBA.!9RA>A@;~9RAHIYAaA![B?8RAA޾Ab'48RAA7RA;AS#U7RAuM tAMJ7RA~n9 Aut7RA)Av7RAPk A0H7RAteA $7RAJ|AچB7RAJkAhQ%8RA(]>A.ؘ8RA3)Aw_8RAcdaA_bn8RA:ǟAXk9RA]ҽAC9RAɱGA;9RAM>A~e9RA2( Aޞ7RAPk A;9RA54\<A;&Z8RA2( AO( 8RA:tA[J8RAԌa 8A68RA1KA\8RA#d-A}8RA{h0A%8RAAqu}9RA*<[A1ʈ69RA2CA0D9RA.A|9RA.(fAW89RA4kgjA9RAcAN@9RA }ƸA0ɑ$9RADAD*9RAɱGA;9RA]ҽAC9RA:ǟAXk9RAcdaA_bn8RA3)Aw_8RA(]>A.ؘ8RAJkAhQ%8RAJ|AچB7RAteA $7RAPk A0H7RA)Av7RA TDAtf4M7RA>ARG7RA AT697RA]AwSyA)77RAW=A'J27RABA.7RAAA~[,7RAWSA K1d!7RA)Aޞ7RAT'LAD)*7RAWnAj'7RAh6A;7RA[Ay 7RAd<A^7RAzqAS7RAhl vA<7RA"|9AnL8RA ,A$N͉8RAe AŤ(8RAbn"A808RA5XAm58RA"An;8RA']A^8RAg`Ai3ԫ8RAaVA s8RA4\<A;&Z8RA$KAO6RA(51Ai3ԫ8RA>G;}AKv08RA0tvAhF8RA'aAƟj8RA.)p A Ij8RA/A4l8RA`e:AD]l8RAf_AŞn8RA 8dAln8RA\B*,A6, q8RA+tAf{8RAg`Ai3ԫ8RA']A^8RA"An;8RA5XAm58RAbn"A808RAe AŤ(8RA ,A$N͉8RA"|9AnL8RAhl vA<7RAzqAS7RAd<A^7RA[Ay 7RAh6A;7RAWnAj'7RAT'LAD)*7RA)Aޞ7RAWSA K1d!7RAAA~[,7RABA.7RAW=A'J27RA]AwSyA)77RA AT697RA(51At`07RAVV +A 36RA@v#A?UU6RAircAi6RA5?MA?Owҽ6RAPAU6RAKOA:6RAU[FA7k6RAW!lA.{6RAT!A@߬6RA)#A$9RA5sA߼9RA9W>A$8RA(Z&A8u8RABǧA~8RA}ިAT"8RA݋A)\8RA7KA"^7RA\VJALF7RARBAɅ7RA1Z&i_A3!֊7RAzAvi7RA$KA 7RAСAVL6RA}aA܇6RAo!AO6RAF+rA`6RA1Aaf6RAb-!\Aj56RAx ۡAKO6RA⥡As6RAdvA< 7RAV>{=A%U17RA %A|RW7RAXA 7RAEA8RAjAHV"8RAUAXA8RA>1i[AO#dZ8RA:eCAg-~8RA`;IA8RA]DNA>>ҵ8RAW2A6%8RAte3A8RA#:=۟A*,u8RAQ!ݟA g8RApRAP4[I9RA40̴qA 7RAM>A;';RA[40̴qA :RA[0^AAE4:RAA;';RAٲ*A$Z`{;RA|Am;RApoA d5;RABy>ͪAC;RAf5]PA*4;RAnPA*84J;RAS)KhAA;RA[ԱqAz'2;RAwa A-e";RA)lAju^;RA͡uACM;RA\9A8~%]:RAsnA46:RA#xmAW:RAXt{A8:RAW A:RAoT3AX݆:RA"NAkm:RA9AU=e:RAbD@A:RAq"A58:RA3iA:RAM_jBAB\Y:RAW*A6Wl:RAC:A&bR:RAKubA`?m>:RAºA>/:RATrAC83:RA]A5Fg:RAS,AT\ :RAM>A~e9RAɱGA;9RADAD*9RA }ƸA0ɑ$9RAcAN@9RA4kgjA9RA.(fAW89RA.A|9RA2CA0D9RA*<[A1ʈ69RAAqu}9RA{h0A%8RA#d-A}8RA1KA\8RAԌa 8A68RA:tA[J8RA2( AO( 8RA4\<A;&Z8RAaVA s8RAg`Ai3ԫ8RA+tAf{8RA\B*,A6, q8RA 8dAln8RAf_AŞn8RA`e:AD]l8RA/A4l8RA.)p A Ij8RA'aAƟj8RA0tvAhF8RAG;}AKv08RAoA68RAA*]Q8RA_A$F7RA܏A.27RA7Au7RAA'`7RAT(( AAk7RAB (A-rW7RA;A7RA$KA 7RAzAvi7RA1Z&i_A3!֊7RARBAɅ7RA\VJALF7RA7KA"^7RA݋A)\8RA}ިAT"8RABǧA~8RA(Z&A8u8RA9W>A$8RA5sA߼9RA*7f>#A$9RA2'A'Ͼ59RA48ӨAļA9RApRAP4[I9RAQm,Aq]9RARA_;:RA40̴qA :RA0*'^A? 48RAro $A1ӊ=:RA#4^aAN5:RAϏ/aAe5:RAςbA۫5:RAY;jA{U9:RAnJ*lAl98:RA0x4nAax8:RA|TfǺoA*'8:RA>rA˕<::RA[~[uA3:RAkhb|A5:RAQAIh9:RAFh{A1ӊ=:RA}ņA29RA|.AW}9RAH(羆A[9RAro $A9A9RA'$_zAIyD9RA cÅAہu78RAIk}A8RAgyA\T<8RAxA==98RAՔ`vA? 48RAD2lAJ*<8RA&؉hAhI7z}8RA-fAט~8RA;UeAOU8RA8КcAx8RAyP2cAEG8RAoaA8RA˛ޑ`ABT8RAZx_AM9RA*'^A^G9RAĐ`A_26:RA4^aAN5:RAD2lANw6RAx ۡAX}{S:RA0Ք`vA? 48RAxA==98RAgyA\T<8RASrzA3>8RAIk}A>ҵ8RA`;IA8RA:eCAg-~8RA>1i[AO#dZ8RAUAXA8RAjAHV"8RAEA8RAXA 7RA %A|RW7RAV>{=A%U17RAdvA< 7RA⥡As6RAx ۡAKO6RAByA͹6RA3ANw6RAAAa|6RAဓAs6RAѱjKAY$6RAuoyA2 l7RAJwA~O7RARuAq b7RA|zoA] 8RAa1znAY u 8RAD2lAJ*<8RAՔ`vA? 48RAOA"=RAo OA=RAKJMQA_RAQboBA.=RA~4PAmc6=RAbXVAg\>RA1\RA (VfAd6>RA IhAe9N=RA#nA[Me=RA (]nA03=RAWDoA|Kr =RA.TCoAuV=RAKOoADzޝOA"=RA=1MAd!@=RAQboBA.=RA_cA_;:RAs;݋A+>RA5,DhA />RAg'jAw>RA+ynA >RAi8{A%>RA6@A^r$>RAiA2;+>RA4AjN*>RAC:7A+>RAWAZ*S=RAҺD&AAժrA˕<::RA|TfǺoA*'8:RA0x4nAax8:RAnJ*lAl98:RAY;jA{U9:RAٕ.wkAfTp:RA6_mAe:RA\/mA:RAf cޞmA;6:RA)aVAkAO0;RA\;RA,DhA />RAC:7A>/:RA]A+>RA3C:7A+>RA#a<ŨA8P9y>RA9Aİ>RAGGKܮA8>RAg&oAϑHL>RA {ͻA>RA~y A(I>RAAm[=RAe|1XA l=RAA3&=RA(A1O/:RAKubA`?m>:RAC:A&bR:RAW*A6Wl:RAM_jBAB\Y:RA3iA:RAq"A58:RAbD@A:RA9AU=e:RA"NAkm:RAoT3AX݆:RAW A:RAXt{A8:RA#xmAW:RAsnA46:RA\9A8~%]:RA͡uACM;RA)lAju^;RAwa A-e";RA[ԱqAz'2;RAS)KhAA;RAnPA*84J;RAf5]PA*4;RABy>ͪAC;RApoA d5;RA|Am;RAٲ*A$Z`{;RAA;';RAT][AEp CRA>=Yl'A1ORA=$|<A5kj=RA(A1ORA {ͻA>RAg&oAϑHL>RAGGKܮA8>RA9Aİ>RA#a<ŨA8P9y>RAC:7A+>RA4AjN*>RAiA2;+>RA6@A^r$>RAi8{A%>RA+ynA >RAg'jAw>RA,DhA />RA (VfAd6>RA1\RAbXVAg\>RA~4PAmc6=RAQboBA.=RAcX;A;V\=RA}K,2A|V&=RATbܨ1A\7=RARAZP B,A \>RAγBB(ALC63?RA>=Yl'AnT?RA)A6[Q9?RAvljP*A?RApB.Ar$?RApB.Ar$?RA;Lc.Ap?RAn1Aܙt?RA``rm2A]?RA<A @RAa <AZ'@RABň?A%$$ARAv1?AEMARA/BA,:ARA(HҌAA)"ARA׼b}BA S. BRABA@ ;BRA BAd}hBRA5<-0AA'hxBRA]j?A3EWBRA;=A. 'ABRA;=ACBBRA T<AhB`BRA b<Am%!CRAz*7<A5=CRAE^I;AMCRAK"8AEϫdCRAkt36AHxCRA84AC4CRAEK2ACRA*2A3HCRA9;4Ae DRA5A% DRACgB7A]CRA2hI9AImCRAWAw<A4CRAއ>A*CRA{W3AA=C⸟CRACBA]˛CRA]\FEA\CRAnB RGA ˼CRAtAuHA/罹CRAτ;5IA:CRA攓HACRAwyHA)MtCRA+nHAz^CRA9JAmB"&CRA-ULA_BRA}NA犯BRAPA4dًBRA[;SA d45BRAYǡTAzARAp~6=Yl'AnT?RAγBB(ALC63?RAZP B,A \>RA/A^>RAab+-A[=RALAr-ұ;RAvAޜf;RAtlAW\;RAuAc;RANVw ALe;RA h͌Ar;RA_ OA4/;RAA??X;RA$鳋A!yU;RA=l]tAK$;RAxLs(wAa3;RALbvAb(;RAY{tA;RAsA(;RAR*7rAK:RA?8qA]HM:RAx"oAf:RA`Z/KoAP47:RAtnAQ :RAl mAj:RAU]`mA*ܚ:RAWlAjdl':RA4lAWt`:RAHlAPy:RAY{&kAJt[:RA(njAQ ':RAqWGjA`:RA%BjA[ :RA_ jAF9RAּiAmQ9RA gmiAϟA9RAhA9RAMfAQ9RA=37fAQC9RAVYdA 9RA@{GdA ?9RAfZ$QcAXG9RAaHbAH88RAOaA$ I8RA\AbAwf7RAuƯaA_&@ك7RA`A+67RAR%n{_AL'6RA aAu,6RAl3dAT{6RA)(eA3^a6RAsA:'5RAjrAY@4RA~JrAaf4RAuzqAD 4RA\9qA,_4RAP oA)4RAOhARշ.4RAF fAz4RA(~;bAĮ4RApL_A4RAbȨ[A*5RAWACk5RAPa 0TAfq:5RA &J QA^!5RAhOAaٳ5RAh(NA)aS5RAfLGA7kY6RA2 FAV6RA4;5A@ J5RA 0A0K7RAKP0A9j;7RAb*.A\sT8RAfS-A@C8RA_W:,A-;8RA)Up^+A+?8RAE{A*A+LU8RAE3'Am8&9RA65l'Af,s79RAhs&AiЛ^9RAh;T%A9RA*$A@{a9RA !$Ag9RAUE6 $A)9RAp)n$AzW9RAIقr<&A\9RAEt'AE(E:RAj(A:RAŻpx*A.:RA/A:RAa44A6a:RAT,4A!C:RAH/w4AV|b:RAgcd4A0w:RAx?M3A;RAPƺ3Ax%;RAɺ3Ad̎;RA,3ARRAn B2AAG*#H>RA~D2AAM>RAw1AF)?RAc@1Aq K ,?RAdvʧ1AV\^M?RAq1Ar+i?RAVxT1AB|?RA4# 1Aq9g?RAhO1Aj6a?RAF;=0Arۚ@RAU;0A?7T@RA,˒0A@RAL\N0A,NMARA{AA/A +BRA/A"BRA?9A -mBRA9"GAB3(BRAVLJAޒBRA\SA%f*CRAzKlAcpCRAq}mACRA uAEoCRAm4,ADCRAX,mA)CRA sA.8CRA8AXCRA,A(A#{ CRAR?6AFj&CRA=>Afnr(CRAei" Al3CRA:@܅wA:n25CRACRAyFAG=CRA[AJAHCCRA3IvAdGCRA:mA+GCRAUXAkICRAtAq~RCRA2hGAACRAqA|ACRA0hTA@CRA]ALCRAfA9gBRA^SATBRAZ A܃fARAvljP*A?RA)A6[Q9?RA))Aյ?RAR%A6?RA`.b!AK2¦?RA|R A ?RAAs?RAjTAyE?RA &A)R?RAtl#;AZ?RA0MRA֣ ?RAx܃A,B?RAA5o?RAEHjAqǍ?RA."W:AYP7RAĐ`A߬j=RA3]1AXxl;RA2vnAC;RAB A dxQ7RA`JAJ7RAY.FAYP7RA}CA6>7RAy@AXk7RA-<ApeY7RA֝6A=#7RAQ[3AEE7RAd4.Asqm7RA52+AwCy7RA1G A}5j9RA5͊Aa)hZ9RAKzA2sh9RAà&AђG9RAVA܎9RA%QA—:RA:WA]Y':RAZeUAw(:RA."W:A1P:RA:zART^:RAeoAT :RAeAɌ;RA.X[Aw:RAAIh:RA]8A{[;RA<ܶnAɛ;RA8Aߗ};RAlAa\VI;RA]1AXxl;RAR(A1P:RAA,DA=RA=ADAEEeAݿ~:RA͚@]A9L:RALjMAW9RAUA€4.9RAȓ]%An$9RAIaA ~)9RA*:EA ,ڶ9RA>iL@Ap=U9RA1IA65]9RApwA3&f9RA뗴@Ao-9RA`@AdB)9RA@Ad :RA?a$AZf_:RArA/:RAQ,AWȷX(:RAeA 1%:RA%A#:RAGAA :RAlsVVA09RA&] SA9RAT2\A79RA7HxAAє9RAs?TANl9RAl^9AxF:9RAԎ6Ac9RAEAy9RA8 A` 9RAwAF= 9RA;A%<Av?:RA@]m=A x?D:RA7A#kΌ:RALSA$:RA 9AO ;RA4sA|e;RA0eAV4RAX)BA/:RACeA 1%:RAQ,AWȷX(:RArA/:RA?a$AZf_:RA@Ad :RA|-m>@AdB)9RA AU&9RA@z<Aj9RA8Aݼ9RA&NAup9RAvANas9RA^y A=# 9RA`iL@Ap=U9RA*:EA ,ڶ9RAIaA ~)9RAȓ]%An$9RAUA€4.9RALjMAW9RA͚@]A9L:RA>eAݿ~:RAc]AZqh:RA*yAnG:RA4XAL[:RAZeUAw(:RA:WA]Y':RA%QA—:RAVA܎9RAà&AђG9RAKzA2sh9RA5͊Aa)hZ9RA1G A}5j9RA52+AwCy7RAGQ+AJp7RA$+AWW7RAtأU3AA6RAݻ4A(q6RA;5A˻c6RAnw5A#_P6RAh5AG6RA^Q8A 96RA8Zs69AK6RAE:A(h5RAPb;A\qT5RA.cBAp( 5RAX)BA =.4RALAAce4RA 47A}94RA5S+AV4RAB(V4*A4RA/W'Ar^;5RA@ A難5RAVAMhA4W5RA"A"{5RA@LAVG_6RANJW A h6RAG,M];AE7RAAΏ.7RA5WA-ˢ7RA'ZASM8RAAR Q8RAץALKI9RACˤAKE9RAeA 1%:RAR%n{_A82RA5S+A_L %<Av?:RAW-VAi(:RAVA%:RA ?r*A|k9RA.)A7-Ċ9RAqrA+S"9RA1Jg0AA=8RA|3)AS8RAzRAeA*8RAn hAt68RAAZ G8RAPhaAP8RA&Aiz;8RAAU8RADA8RA;AAdF"3RAOAcASK|3RAd{=A^*3RA8COA3RAApUA#s3RAiDAoŁ 3RAS,A[3RAF A-2RAAML2RAv|̠FA~}j2RA=W A֔;2RA7L֓A82RAfAʏET3RA wAg`_3RA yA[3RAO9~Ab3RAueAd3RẢ4mAϸ3RA&AcsY4RARY_쿁A4J4RA 'lvAE'H4RA\c㗩uA+\H4RA٫uA)P4RA@)otA@'*4RAkqtA7e4RA(S ._tA[&5RA'P{sA5 '5RAsA:'5RA)(eA3^a6RAl3dAT{6RA aAu,6RAR%n{_AL'6RA`A+67RAuƯaA_&@ك7RA\AbAwf7RAOaA$ I8RAaHbAH88RAfZ$QcAXG9RA@{GdA ?9RAVYdA 9RA=37fAQC9RAMfAQ9RAhA9RA gmiAϟA9RAּiAmQ9RA_ jAF9RA%BjA[ :RAqWGjA`:RA(njAQ ':RAY{&kAJt[:RAHlAPy:RA4lAWt`:RAWlAjdl':RAU]`mA*ܚ:RAl mAj:RAtnAQ :RA`Z/KoAP47:RAx"oAf:RA?8qA]HM:RAR*7rAK:RAsA(;RAY{tA;RALbvAb(;RAxLs(wAa3;RAoT/xA!>;RAfxyAi%L;RA\zA!T;RA5T(|AO8#\;RAyaf}Af;RA7 u<A%!w;RA2Aԣ;RAC5AغU;RA5- An;RAoAcIX;RAnAMUo LAr-ұ;RAKv@A;RA⇔AxB;RA/|ЕAt.;RA =c]A'@;RA ]QAJ;RAJAD;RAXo.A &;RA:}A-+o;RAA=-̶;RAP/Ag ;RA 5mA?<;RACLAԕ^W;RA3o-A Sv;RA8n3A%3*m;RA?v@Apod;RAɲۦAKRa;RA  AEgJ3;RA(AFvƫ-;RA /Aŧ;RA"FA^8;RAR%TAj*;RADn A+X;RAz/A@$;RA &O3ACF/w;RAx<A*)*RA3`ޅA7kY6RAl AA8Z4RA>A4RA<A[74RAagAqlq15RApE} A(n5RAlNAѶ5RA] ACW*5RAC3&A15RA&7>+A-15RAf/0Az5RAcMX2AtD5RAFb4AR 45RAT DK5A|~5RA4;5A@ J5RA2 FAV6RAfLGA7kY6RAh(NA)aS5RAhOAaٳ5RA &J QA^!5RAPa 0TAfq:5RAWACk5RAbȨ[A*5RApL_A4RA(~;bAĮ4RAF fAz4RAOhARշ.4RAP oA)4RA\9qA,_4RAuzqAD 4RA~JrAaf4RAjrAY@4RAsA:'5RA'P{sA5 '5RA(S ._tA[&5RAkqtA7e4RA@)otA@'*4RA٫uA)P4RA\c㗩uA+\H4RA 'lvAE'H4RARY_쿁A4J4RA&AcsY4RẢ4mAϸ3RAueAd3RAO9~Ab3RA yA[3RA wAg`_3RAfAʏET3RA7L֓A82RA=W A֔;2RAv|̠FA~}j2RAAML2RAF A-2RAVݵAAb&2RAOzA ۵1RA-MY)AcZr1RA9 JEAP/RA~DAAdF"3RA`#LA:3RAxMWA$C<3RA sAG3RAg7A{?w3RA(A]3RAD2?`Ad3RA [`AL4RAmuɛA_\4RAst*Axm4RAyON*AR$4RA5S+AV4RA 47A}94RALAAce4RAX)BA =.4RA|/7IAZ4RA0SA ?3RA]A=2RA_DAG2RA]VgAA02RA+m=A\f2RAJ1;A۽pK2RAhY8A fI2RA;`*6A82`2RAqT4AnU2RAZ.74A8tu12RA3(L2A9)2RAp_z1A\i1RAO2Ak1RA 0An1RA AP0RAoLPAg/RA9ܐA 6/RAʚA5j/RA/puAQ/RADihAdA4<<.RAӔcA7.RA-A4.RAu-AC.RA7̖Am.RAzA%.RA`>Aa.RAصwAx͑.RAuVI sA;.RA euRA.RAg'7YA1 .RAέգAG)jM.RA.ޞDA-RA聜?^A--RAZKAǫ[-RAOA؁9-RAN>A%A6-RA!A 6a0-RA ϕA+-RA9~A"-RAqA<-RA"3A[um-RASA/wO-RA'm1AH-RAyA -RAߙ6Ao-RAADA%b,RA{,A~f,RAQ߳Aܸ,RAUAm,RAAAMXz,RAhA,RAhrA,],RA4NA=ww,RA.@A,M>,RAij\Ap> ,RAJ'+A}-RAFA/q-RAI"AS: -RAN-AV-RApAI-RAiYA݀-RAȘ,@Ac-RA4AF-RA|rA˥-RAtɗAj-RARb4UA? -RAh63A#Ҁ-RA ^1A[Z,RA AKrAo+,RAANEE,RA A),RAӯA;,RAӯA;,RAA~ #,RA7A#,RA_^6Aѝ,RA|AT_J,RA~Ag,RA RoAJQP,RAf^A/,RA\DA^,RAkFuBA9,RAAa.RAzA%.RA7̖Am.RAu-AC.RA-A4.RAӔcA7.RA!>dA4<<.RAAf .RAVAj{.RAYA7۳I.RA`A.RA(\A ᬝ.RA'` AZM'V.RAl? A/.RAY AIKv5.RAdA+0%.RAsA ,RA.@A,M>,RA4NA=ww,RAhrA,],RAhA,RAAAMXz,RAUAm,RAQ߳Aܸ,RA{,A~f,RAADA%b,RAߙ6Ao-RAyA -RA'm1AH-RASA/wO-RA"3A[um-RAqA<-RA9~A"-RA ϕA+-RA!A 6a0-RAN>A%A6-RA>OA؁9-RAOASGP;-RAmX8ZA`LA-RAȐAְF-RARAL-RAHA3Q-RA~B!A)0T-RAC5,A6T-RAAjAmAS-RADK؍A禦S-RAfA;^-RAwA!~~d-RAbAzOvd-RAv,UAVed-RAwTAeMd-RAc7Ayz[-RAAL6X-RAb?AKV-RA= ZAC:S-RAJf{Az2S-RAoFAGU-RAMo A][-RA~cjBA1+`-RA 2EA-`k-RAcGA˚ w-RAQiA'V|-RA!?A \-RAnBAF-RAψ\2Ay܏-RAS6A/-RA~YXAY-RADNϺA N-RAAtc.RA,(?AWO.RAjBAgg).RA~CAN.RA0GA ܝ.RA&SqLAK=.RAs:MA(.RAKTOAu.RAOOA#_r.RAh%7DA3=-RA4,<A&%2-RAWp/A)1r2-RAi&A,A{`q0-RAS,)Azp.-RAE'A[CE.-RAB APN#'-RAW AF{'-RA{LxDA4%+RAF]AWR)+RAlA7NJ+RA|FA+RAS#7:A+RAA]y+RA-HLA zi+RAN?|%A6d+RA62Apb+RA=Ab+RAF g(AMb+RA6#Ae+RAV'gAx D{k+RAsHAbJ+RADĵA *+RAX@KAG;+RA AZM'V.RA=:An1RA>oLPAg/RA AP0RA 0An1RAi)1AT1RA!1AQJ}1RAHؐ3A4=1RAXR^4AD@1RAnT5AOeG1RAc!B6A0RA| `*8Af0RA~f9A 9|0RA@i :AͲQ/RA"zV :A\x`/RAD+%:AoP/RAC[:AR /RAISZ:A2i/RABo:A˄/RAhŽ:Any/RA=:A%R/RA?\:Az1/RAP9AM5/RA( :AA@0.RAiy:A;)O.RAe":Aom.RAs:A{n.RA}7Atz.RA",z5A@0p{.RAcMX.ALt.RA5-At.RA} )+A-r.RAĮ/'A[Yp.RA %An.RAfտh$Aln.RAZ#Ai.RAٶ4A j.RA|<AM~e.RAg+cAKrc.RAҹzW An^.RA*CA5#'^.RAYtA8N\.RA;x0AA_.RA'` AZM'V.RA(\A ᬝ.RA`A.RAYA7۳I.RAVAj{.RA A+=.RAoʝAo.RAEAH.RA'kR AV4/RA/ ADb|)/RAY A`z?@/RA% AtÂP/RAѦ! AQbgM/RA$A^b/RACvAr5F/RA:LAt3/RADihAr\A2i/RA0ISZ:A2i/RAt@Abnz/RAAa`]BA/RAsGA /RA?eKA/RA اLA˳n/RANA8;/RAbrPA +Ơ/RAm/DRAq/RA6`SA3]/RAdA_TAÉ/RAxT%6VAG/RA-bf{WA0n/RAbYAUDw/RA%byYA@5l/RA?ZA[H/RAx v[A17/RA|>r\A32i/RAi6]K[A: /RA!4ZA!/RA%gXAk.RAuWAg.RAʭ*OVAkQ.RAcTAQ.RA᭟SAdM.RAJ]WRA .RAOEPAZE.RA^OA~%`>.RA!NAp˹.RAs:MA(.RA&SqLAK=.RA0GA ܝ.RA~CAN.RAjBAgg).RA,(?AWO.RAw%AE>Atc.RA][<AT.RA \lx;AR.RAs:A{n.RAe":Aom.RAiy:A;)O.RA( :AA@0.RAP9AM5/RA?\:Az1/RA=:A%R/RAhŽ:Any/RABo:A˄/RAISZ:A2i/RA(h%7DA3=-RAډfiAu7/RA"s:MA(.RA!NAp˹.RA^OA~%`>.RAOEPAZE.RAJ]WRA .RA᭟SAdM.RAcTAQ.RAʭ*OVAkQ.RAuWAg.RA%gXAk.RA!4ZA!/RAi6]K[A: /RA|>r\A32i/RASbAG(/RAdAIr2/RAE& gAu7/RA,HgAL!/RAR!gAL>W/RA+{gA]h.RA\ϏgA8(.RAZgAz.RA{gAUB.RAap hAh.RAu ;hA4 0-RAkn+hA[-RAډfiAHN-RAKhAqiH-RASG^Avn}E-RA䔿ZApC-RA~3HHA(:?-RAh%7DA3=-RAOOA#_r.RAKTOAu.RAs:MA(.RA 0A32i/RArbxhA02RA?+m=A\f2RA]VgAA02RA_DAG2RA]A=2RA0ϯ`A_3K1RAFHkcA+s1RAҝKidAvJr1RASfAj`1RA r?fA^E]1RAP#fA3O1RAȫgA/]L1RA9gA:E<1RAsAfAr y.0RAϭ?fAzD&0RAVIr\A32i/RAx v[A17/RA?ZA[H/RA%byYA@5l/RAbYAUDw/RA-bf{WA0n/RAxT%6VAG/RAdA_TAÉ/RA6`SA3]/RAm/DRAq/RAbrPA +Ơ/RANA8;/RA اLA˳n/RA?eKA/RAsGA /RAAa`]BA/RAt@Abnz/RAISZ:A2i/RAC[:AR /RAD+%:AoP/RA"zV :A\x`/RA@i :AͲQ/RA~f9A 9|0RA| `*8Af0RAc!B6A0RAnT5AOeG1RAXR^4AD@1RAHؐ3A4=1RA!1AQJ}1RAi)1AT1RA 0An1RAO2Ak1RAp_z1A\i1RA3(L2A9)2RAZ.74A8tu12RAqT4AnU2RA;`*6A82`2RAhY8A fI2RAJ1;A۽pK2RA+m=A\f2RA52+A[i0RAM)AEE7RA452+AwCy7RAd4.Asqm7RAQ[3AEE7RA֝6A=#7RA-<ApeY7RAy@AXk7RA}CA6>7RAY.FAYP7RA`JAJ7RA6QMALz>7RA ɜOA +7RAL[~VAdǴ6RAu%4WAN6RAAvA4RA^Ah#4RAF=A@A3RAzkpA33RAM)A>2RA0iA&K=P 1RAdAU0RAV眓AN0RA.TːA|0RAqߤAi0RAvA[i0RAF AAE0RA aAn0RA!gBAt5(0RAGWAM0RAx}AI0RAHOxA0RAgAG]1RASfAj`1RAҝKidAvJr1RAFHkcA+s1RA0ϯ`A_3K1RA]A=2RA0SA ?3RA|/7IAZ4RAX)BA =.4RA.cBAp( 5RAPb;A\qT5RAE:A(h5RA8Zs69AK6RA^Q8A 96RAh5AG6RAnw5A#_P6RA;5A˻c6RAݻ4A(q6RAtأU3AA6RA$+AWW7RAGQ+AJp7RA52+AwCy7RA r?fAߌD/RA.Aj`1RA2SfAj`1RAgAG]1RAHOxA0RAx}AI0RAGWAM0RA!gBAt5(0RA aAn0RAF AAE0RAw;FAoIN0RAx-XA Q40RA!A.0RA.Aeg0RAKEAy0RA>aAm0RA|xÍAǰ*k0RAԍA%(0RA+OA 0RA|A4ݛ0RAٛIAX!0RA8AߌD/RAƀAr 0RA A"A/0RAz\A#V4@0RA㗆A:0RA#MB޳Af5;0RA MAZZ;0RAEּAFf90RAbN}AȿEi0RAv}AMT|0RA^|A1Wz0RA"-zAؔx0RA|PwA^J=p0RAy-8vAoRm0RA:ENtAMoh0RAfsASh0RAC{pADa0RA5=UoAv^0RA j6nA_0RAMBflA#C\0RAQ^lAvp0RA>˰lA 0RAjA!^b0RAR{.hA A0RAϭ?fAzD&0RAsAfAr y.0RA9gA:E<1RAȫgA/]L1RAP#fA3O1RA r?fA^E]1RASfAj`1RAVI˰lA 0RAQ^lAvp0RAMBflA#C\0RA j6nA_0RA5=UoAv^0RAC{pADa0RAfsASh0RA:ENtAMoh0RAy-8vAoRm0RA|PwA^J=p0RA"-zAؔx0RA^|A1Wz0RAv}AMT|0RAbN}AȿEi0RAEּAFf90RA MAZZ;0RA#MB޳Af5;0RA㗆A:0RAz\A#V4@0RA A"A/0RAƀAr 0RA8AߌD/RAٛIAX!0RA|A4ݛ0RAwǥA)k/RA?G!Aޑఢ/RAMUAqM/RALAo.I/RA!값Aޯ%%/RAWIAk(.RAx|/BAD.RAĸA .RAyA?.RA=ғAԃ.RAAK|{~.RAU.ƑAt0y.RA/%5UA2w.RAX]A,X.RAṎA.k/RAЌAvr /RA\L+jAE~ /RAA%CB /RAu/ȃAZY/RA/<ʃAt/RAzAcYD/RAc+Ap/RAtrAcnSv/RAzԶ\A aiv/RA7IxAv( v/RAv8lA4i/RAPltDAGJ]^/RAzbsAQ /RAm~A#k@ /RAIC}A jm /RAa=zb}ApDX}/RA/}AJ|{/RAO*|A/RA׺Z-|AY /RA!lzA?,/RAr>!zAssr0/RA븝dzA^/RAI|yAm!zAssr0/RA!lzA?,/RA׺Z-|AY /RAO*|A/RA/}AJ|{/RAa=zb}ApDX}/RAIC}A jm /RAtPg|Aڣ/RA̶|A (.RA_xS]*}Ar.RA^"}A,d.RA5Z}A '.RAN&(}AU-RAY?}A.-RAwV}A;oN-RAW|^3}AZPn-RAMl~AOฎ-RAyj~Av{-RA|A0]-RAU"ptAAb[S-RAiA7sK-RAKhAqiH-RAډfiAHN-RAkn+hA[-RAu ;hA4 0-RAap hAh.RA{gAUB.RAZgAz.RA\ϏgA8(.RA+{gA]h.RAR!gAL>W/RA,HgAL!/RAE& gAu7/RA*fAT9q/RArbxhAJ|/RA\rfAn/RAD5dTfAd/RAtPg|AH)5Z-RA_Av( v/RANv8lA4i/RA!값Aޯ%%/RA'<A/?*/RAAj.RAFpA|.RA3AT.RA^z|AZ_o.RA=AC.RA=ғAԃ.RAyA?.RAĸA .RAx|/BAD.RAWIAk(.RA!값Aޯ%%/RAX]A,X.RA/%5UA2w.RA &AǒF.RAЌAvr /RAṎA.k/RAX]A,X.RAv8lA4i/RA7IxAv( v/RAzԶ\A aiv/RAtrAcnSv/RAc+Ap/RAzAcYD/RA/<ʃAt/RAu/ȃAZY/RAA%CB /RA'Am>.RA{]ןdAOm.RAHY(YA;s.RA{DXA@=p.RA%VCAAlo.RATk A٬+r.RA)ukAnMr.RA 3A)iq.RA7 !uAaq.RAEđA0{gs.RA- A}fx.RAڳϓAtzx.RA@O搚ALL.RA#:AÍ.RA+_\A`(ga-RA_As-RAJgPZA?W-RA-;͚A!3i-RApfA-RAb2[A!|n-RApi@A(%s-RAXmuAᥫe-RAa OAje-RA%Alf-RADǑA{f-RA3|A.'y^-RAY&A,a-RA$]-A4+g-RAl7ԆAt`-RAA`-RAqA \-RAE}AH)5Z-RA|A0]-RAyj~Av{-RAMl~AOฎ-RAW|^3}AZPn-RAwV}A;oN-RAY?}A.-RAN&(}AU-RA5Z}A '.RA^"}A,d.RA_xS]*}Ar.RA̶|A (.RAtPg|Aڣ/RAIC}A jm /RAm~A#k@ /RAzbsAQ /RAPltDAGJ]^/RAv8lA4i/RA{g/sqATx \4RATA+m_6RA- }A 76RA@SG}A+6RAuL1Aʃ( 6RAMRN;AS=%6RAaʂA+m_6RA6A5*X6RAYAWD76RAi!܈A<"&76RA5Ao֬<6RA/ A#f96RAsCdAH+6RAx5RAT'AJn35RAэAxU5RAhA|'B5RATA 4RA ]ǎAyK4RApғyA>4RAa!nAY4RA Aow4RAVWATx \4RAJԄAݸ4RAu0A(4RASFzxAve85RALxA*&1&>5RA%PsxA`'AI5RAYy5:uAs5RA{g/sqA5RA69ߞrA\ɹ5RA0@uAX5RAZOTvA`K`5RA%7\}wAN5RA }A 76RAx.LNJA4RAAM9RA,˛ޑ`ABT8RAoaA8RAyP2cAEG8RA8КcAx8RA;UeAOU8RA-fAט~8RA&؉hAhI7z}8RAD2lAJ*<8RAa1znAY u 8RA|zoA] 8RARuAq b7RAJwA~O7RAuoyA2 l7RAѱjKAY$6RAဓAs6RAAAa|6RA6A5*X6RAaʂA+m_6RAMRN;AS=%6RAuL1Aʃ( 6RA@SG}A+6RA }A 76RA%7\}wAN5RAZOTvA`K`5RA0@uAX5RA69ߞrA\ɹ5RA{g/sqA5RAYy5:uAs5RA%PsxA`'AI5RALxA*&1&>5RASFzxAve85RAAvA4RAu%4WAN6RAL[~VAdǴ6RA ɜOA +7RA6QMALz>7RA&NAp7RAH_KA?7RA.LNJAr}7RAϐSJA 8RA {KA}8RAϼ TA;/8RAZx_AM9RA˛ޑ`ABT8RAPYAK<4RAo!AO6RA'AAa|6RA3ANw6RAByA͹6RAx ۡAKO6RAb-!\Aj56RA1Aaf6RAF+rA`6RAo!AO6RAyy=AU}6RA- A[I\6RAjxA\%C6RAlp ATҳ 6RA~<нAr)5RAl;A,95RAWȻRA%A5RAZ!mA=_4RAw^ƺAa4RA|tA"e4RA6"qAHI4RAZt"A7x4RAd'Ai-s4RA6YZArb4RAFAK<4RAd .ޫA²4RAPE,әA94RA4A?u4RALA&5RAadhA`55RAZJA4*\5RAiVlAJ5RA IAfO5RAx4RA ]ǎAyK4RATA 4RAhA|'B5RAэAxU5RAT'AJn35RA!;A6>5RABXA#&2X5RA8Ax`5RA+Aew5RA%eAh5RA "A@ڡ5RAZ A ,Y5RAItkpAP5]{5RAA'k55RAӉAk5RAw4A!6RA IAfO5RAAvA>2RAFAve85RA<SFzxAve85RAu0A(4RAJԄAݸ4RAVWATx \4RA5wVA;V4RA뤰Ai 4RA6,A҅(3RA ;=A&1g3RA7AꞰl3RA *&AaLmz3RAW㗙ASH!3RAVA63RAh@(Aw 4RA*A64RA{4A~L3RAvAlu94RAwA|He4RAUŧA# #4RA2RAzkpA33RAF=A@A3RA^Ah#4RAAvA4RASFzxAve85RAFA`4RAircAi6RA.lp ATҳ 6RAjxA\%C6RA- A[I\6RAyy=AU}6RAo!AO6RAb%A:6RA'nA={6RA;HAoo6RAWKAa6RA,A}٪6RA)AL;4RA</A14RAiAJn[4RAٳ/A/Ee}4RAAbJ[~4RAo̤cAD~4RA(ABZ~4RA4DAX(4RAVĻA]qh4RA&umA^|4RA LR'Afiz4RAVA 6z4RA#JA4RAvVKA/y4RA-AG4RA^gQAu4RAS-3A5s^4RAT8A_└4RA|D>A4RAd= Au?&/5RA A15RA/Ac5RArA~1z5RAԧA3.5RAzlAS5RAHAh5RAgi9A՚3RAVo^"AQX5RA?5ԐtpAYؼ5RAYOWAQX5RAfvV4AF'D5RAHAh5RAzlAS5RAԧA3.5RArA~1z5RA/Ac5RA A15RAd= Au?&/5RA|D>A4RAT8A_└4RAS-3A5s^4RA^gQAu4RA-AG4RAvVKA/y4RA#JA4RAVA 6z4RA LR'Afiz4RA&umA^|4RAVĻA]qh4RA4DAX(4RA(ABZ~4RAo̤cAD~4RAAbJ[~4RAٳ/A/Ee}4RAiAJn[4RA</A14RA>AL;4RA4A)4RAaAqj4RAHmAU4RA'TkAЫ4RA;A3VeB4RA{ACt4RAkAz[E4RABA4RA+[KA@ۚ4RA4ٸA|C4RAVo^"A3RA8ZAe1~3RAJeA!3RA|RAF*3RAAv3RA#Au3RA\I}hA=vR3RA-A3RAo$A!0 3RAIA՚3RA:tA".3RA:۱A%3RA/A973RAI:XzeAh3RAgi9A`4RAKǘA14RA;"Az.4RAʐF߿A TJ4RAcASU4RAgtLmA[=HOk4RA*R6gAԳ95RA@}A#{5RAH"A`65RA5ԐtpAYؼ5RA$AfgN2RAbaAK<4RA;_0iAz3=3RA A?3RAWOA~S3RA YAȆl3RAFAK<4RAqrA*(4RA~ոAXE4RAgi9A`4RAI:XzeAh3RA/A973RA:۱A%3RA:tA".3RAIA՚3RAo$A!0 3RA-A3RA\I}hA=vR3RA#Au3RAAv3RA@A;k"3RAbaAwu3RAAQ-3RA#MAj3RA-! AT3RA͔ADX3RAvJAIpp?3RAqA2RAgۀA7s2RAĜGAA 3RAu]A!3RAA_2RA/U^6A3RA GA 2RAoA=<2RAaAk?:2RA\ߟA's w2RA@U"AS2RARA*32RAΣA 83RAвAi:3RA(Aɛ!2RAIAt2RAeA TAfgN2RAٗAϒp2RAIl@A;!2RA$A R62RAGXNAPΚ2RAeܫAKv2RA`ǬA73RAEA8r3RA(qAT83RAy1!SխA,0@3RA3\-Al-Q3RA~A\$d_3RA AbQog3RA Agr3RAtqIAkc所3RA]zA_R͓3RAA3RA_0iAz3=3RAqAcA1RA#έչA!3RA-Av3RA|RAF*3RAJeA!3RA8ZAe1~3RAVo^"A3RA}XA 3RAS]NĂ3RAT?AG=">3RA?)A>1 2RAJC A:^2RAKA^2RA6sBAۏ2RALA!62RACgAFb2RAAW 2RAuAVNW2RA#έչAѩz1RAvDA,1RAwA!1RAӎAR 1RA~`_AcA1RA[bAEye1RAwA(L1RA~詝A&by2RAJAr2RAeMA"xp2RA>x A p2RA:2BA?oMn2RA{AA:32RAԘ"Ag2RA#g A2RAaD4AAibm2RABA9g\2RA}HAY=2RA@A{2RA0Awz2RAqA2RAvJAIpp?3RA͔ADX3RA-! AT3RA#MAj3RAAQ-3RAbaAwu3RA@A;k"3RAAv3RA\aA{/}/RAQKAEy1RA4_yA"^1RA,uAll\21RAz(AC1RA @BAhS<1RA0HA2^P1RA5KAPa1RAy AhF4`1RA 3!AC`1RA!ly"Ay`1RAbT#Aҵ6`1RALJG%Ase1RA&A1Ve1RAļǥ'Aغg1RA2# (A:76d1RAR"*A8O'g1RA .Aii1RASB2ApWh1RA5oG3Asj1RA:56ACo1RA҇8Ar1RAn;A\[t1RA]AAu1RA 7IAEy1RAQKAlay1RA[|&KA.zT(1RA+KA?VP#1RA1e_KA[80RAF;KAT$ 0RA|FJA:0RAVFAWN 0RAѱLDAN#0RA.GCA5냢0RAgJX5CAmxI0RAT~/CA[(0RAFc*CA`_0RAaCAT_Ajp0RA_A2"0RA\aAhە1RA_yA"^1RAL2AKAC1RAљ(w+Ax6RA^L2AKAnX6RA2ADnx6RA`F%AH6RAs6P[*Ax6RAMĽ*A*Z4N6RAl*AR46RAљ(w+A(34RAԘj**A 4RA=(A"[4RAқ[;(A~$R4RAG-(:(AZ4RAjL(AAɎR4RA^n((ALJA4RA0z(A 3RAcv(A03RAxjs(A;Xq3RA5B(AԝfM3RA#5)A`ە13RAyZN)Ae۰ 3RA`)AK2RAxt)AZ|2RA1*A 72RA!*AY1RA>dzV*A1RAMMΔ*A,t1RAJՆ*An1RAN|Ȭ*A0ت1RAG*A7V1RAƻ@*Ap1RAiԈ*AZ1RA;Ů*A̐1RA-D*A'$1RAR"*A8O'g1RA2# (A:76d1RAļǥ'Aغg1RA&A1Ve1RALJG%Ase1RAbT#Aҵ6`1RA!ly"Ay`1RA 3!AC`1RAy AhF4`1RA5KAPa1RA0HA2^P1RA @BAhS<1RAz(AC1RA,uAll\21RA_yA"^1RA06A؍-1RA}<A-1RAG߁<Ar .1RA)A5].1RATqA1l{+1RAQrA@X1RA$%.AfU1RA^AhV1RAāIAhrcS1RAb-At^"i1RAPA}Ii1RA|>A(j1RA4ag AJj1RAIj~ AaV1RAL AX1RAёO AOIJ1RAu"T A"{1RA.T ARI"2RA&m?AiX/02RAEBy7A̧2RA<]>A徶2RA{lAT2RA|6DAu2RA!AAA2RAh UvAe2RAAUG!2RA"^ A 2RA{A 2RAuAVNW2RAAW 2RACgAFb2RALA!62RA6sBAۏ2RAKA^2RAJC A:^2RA?)A>1 2RAT?AG=">3RAS]NĂ3RA}XA 3RAVo^"A3RA4ٸA|C4RA+[KA@ۚ4RABA4RAIYq'AՊ6F5RAZU\AI 5RA7sAm.'6RAL2AKAnX6RA^n((A.zT(1RA-{ZA6RA7s6P[*Ax6RA~$V0Aw6RAK)KAAn6RAPA96RAb -SA@6RA2ZWA6RA59XAN}5RAbr6XA+3o5RAOXA@4RA XA54RALxXA4RAyYAx2RA@jD(ZA4*j2RA-{ZA1|1RA@PA2Ih;1RA[|&KA.zT(1RAQKAlay1RA 7IAEy1RA]AAu1RAn;A\[t1RA҇8Ar1RA:56ACo1RA5oG3Asj1RASB2ApWh1RA .Aii1RAR"*A8O'g1RA-D*A'$1RA;Ů*A̐1RAiԈ*AZ1RAƻ@*Ap1RAG*A7V1RAN|Ȭ*A0ت1RAJՆ*An1RAMMΔ*A,t1RA>dzV*A1RA!*AY1RA1*A 72RAxt)AZ|2RA`)AK2RAyZN)Ae۰ 3RA#5)A`ە13RA5B(AԝfM3RAxjs(A;Xq3RAcv(A03RA0z(A 3RA^n((ALJA4RAjL(AAɎR4RAG-(:(AZ4RAқ[;(A~$R4RA=(A"[4RAԘj**A 4RAљ(w+A(34RAl*AR46RAMĽ*A*Z4N6RAs6P[*Ax6RAր+AIXj-RA^ն2\A1|1RAO\ՈAAPz0RAZ"AX"X/RAe"A&/RA("A{/}/RAV.A܀/RAY|6A/RAk?AAIXj-RA)!3<AkFws-RA%s:Ahy-RA"N:9A+-RAdzK5AӇ-RA%a2A\)-RA.}1A!m-RA0>C/Av(h-RA~.A+QQ-RA:--ABI-RAWxV-AO:-RA -AF.RA,KF,A#^I.RAS)Ahe-RAz b&A;.RA@ 1=#A K.RAކu*#A&.RA< 9-#AKA.RA׆h!A{PjH.RAIW AD.RAM0AI:.RA-ьAAO/RAր+A\Ά/RA/A ~U/RAmA<`/RAUAnPBq/RA tAȰ+ /RAFA /RA/A1>/RA] Au/RAtAJ{_/RAZ"AX"X/RA\ՈAAPz0RA}Hh Av0RA AC/Av(h-RA.}1A!m-RA%a2A\)-RAdzK5AӇ-RA"N:9A+-RA%s:Ahy-RA)!3<AkFws-RA++M>AIXj-RA?AȦRm-RAMaG>ARJL-RAQf>Au>-RA!O<AC=~-RA;A,RAoy0<Ami,RAⷀ7AwΙ+RA8=cE1AG+RAQ\,AʧK)*RAf- BY,A0G*RAIMQ,A|i*RABZ+ANj*RAHA*Av?Z\*RAyHԀ)A, *RA,])A" *RAom'A3n.*RA0,yTAn{M*RAA8!@*RAܘsiAyk*RAvVmAnA0+RA'N{5A>yZ+RA%8}AiW۽+RA37A$,RAA/,(,RA}HANC,RAAaϦApT,RAӉEAU}0,RA.A6AlD#,RATA˔>,RAIA-RA,])A-[)RA@RMkA:.RA9?AȦRm-RA AAd,Ԉ-RA}AAN-RAHCA"-RA0DA-RAJA:.RA")1KA$}.RALBLA#W]u.RA1fLA70^.RAdKARAi1.RA'UA"4b.RA^ն2\A<.RAVrά\Avl.RA&Q ]A8t|!.RA&G]A~,RA׼E]A4 Ue,RA \>9bAj7,RAOyfA:y,RA?JhgAb$>,RA\xuhAx:+RA hijAvx+RAQjA1fG+RA^/jA@|*RA@RMkA-[)RAtdA^*RA+1aA\ uC(*RA;d9VAnAu>-RAMaG>ARJL-RA?AȦRm-RA[OweA'RA79QlA_P *RA:''F{C6A_P *RA)08Ax8/*RA.WEAWx*RApFVGAb7Mm*RA}pKkSAO"*RAIMRAיI)RA;d9VAn/A,RAOyfA:y,RA \>9bAj7,RA׼E]A4 Ue,RA&G]A~,RA&Q ]A8t|!.RAVrά\Avl.RA^ն2\A<.RAH hijA{}^#(RAoAcS,RA hijAvx+RA "rAF+RAHC,wApOh+RAR|A/A+RAQ"|An! A+RAIžmA{kE4+RA_PAp t+RA|ǭA *RAAXA6-*RAAϳX*RA1UԄAĿ*RAF\XAoЮ*RA :…A$ H*RA0"A,*RAAX`O*RAF:A8*@*RA+A]rH*RAN1A$`J*RAY'msA,4*RA>NژA}3*RA 0:A*ev*RAA~p*RA%)AmܯI*RA$ATS G*RA1GA3*RAb0As3*RAsuzA,%*RAFdAR(*RAL6Ax$g)RA{QLAMp)RAqEA)RA>UkA()RAM|A )RAAV)RA/A()RA(EA`k)RAOzS3AT{8)RAYx=AR)RA싉A8\)RAyB֜A,Z(û)RA5lpAB3w)RAIAX#d)RA˜A%v)RAR̚AoQ)RA"϶KНA?}~~)RAܚASx`)RAV!YAf [)RArA_P)RA$]AH n)RAHnAGC)RA[AxB‹)RAcTAA 3z)RAcAx)RAaԊAfyy)RA[ҊAnUlq)RA&Aq)RAdA}b.o)RAP(Aai)RA!\!A%)RA 2MA)RA A6@,G0)RAMCAM?%)RA:A[6)RAomA* )RAZnlGA )RA[$v~Afs )RAo!~A W)RAT}Ah5)RARp{As)RAR/zA,)RA={AwS(RA+=n{AI3(RAϟ{A?(RA}M]~A(RA4"AA(RA?{טA] )RAAx)RAS1A|qX2)RA5AT.JH)RA#\gABX)RA*'AKG)RA$AaJX)RAIiAK)RAw%1Aɐ(RADcAR(RAyxkҐA%(RAmTTA#k(RA~`A](RApAbu(RAw2AQ(RAm]$Al~E(RA A+(RAqΗAE'(RAAq_(RAxAǶ(RAIGAL(RAA\ ̯A(RA;A7(RAK]qAYL(RA(A<(RAvo!`A(RA=1zAf (RA!toA}(RA%Ad (RAAr(RAA8k(RAQc;zA&yf)RA+@_As{)RAM$nxAx%)RAܶA?)RA.3A 9)RA/SA pI)RADA2{)RAUAG䏏)RA*XڤA>m)RA#w Amg)*RA AF*RAuAq*RA]4AyHS)*RATA,*RA'A0X[*RARq&A Ыi*RA0hA/>*RAKćA*肐*RAxTAm*RAPLA0)*RA(A?i+RAE;A+RA(&Jj[A>W*RAv XGAW9*RAAɀAAYy ,4*RAjS5Aje*RAP A1P2+RAKoA3l²+RArh AcS,RAsaA݈B,RAW1Aү9,RAAs+RAApg+RA^A9=*RA;=AN+RA~mAO*RAeA~MT7)RA (A+.\)RATFA#Z)RAoA$ s(RA'"iA4^(RAz[A5.T(RATP.6AuT(RAQAU+U(RAWt5ukAr~:S(RA,?|A[Q(RA6dƙA`A(RAqoI A|V8(RAtP AЛI6(RA;ABh1(RA/AW*RAE;A+RA(A?i+RAPLA0)*RAxTAm*RAKćA*肐*RA0hA/>*RARq&A Ыi*RA'A0X[*RATA,*RA]4AyHS)*RAuAq*RA AF*RA#w Amg)*RA*XڤA>m)RAUAG䏏)RADA2{)RA/SA pI)RA.3A 9)RAܶA?)RAM$nxAx%)RA+@_As{)RAQc;zA&yf)RAA8k(RAAr(RA%Ad (RA!toA}(RA=1zAf (RAvo!`A(RA(A<(RAK]qAYL(RA;A7(RAA\ ̯A(RAIGAL(RAxAǶ(RAAq_(RAqΗAE'(RA> A+(RA3%A(RAUkA()RAqEA)RA{QLAMp)RAL6Ax$g)RAFdAR(*RAsuzA,%*RAb0As3*RA1GA3*RA$ATS G*RA%)AmܯI*RAA~p*RA 0:A*ev*RA>NژA}3*RAY'msA,4*RAN1A$`J*RA+A]rH*RAF:A8*@*RAAX`O*RA0"A,*RA :…A$ H*RAF\XAoЮ*RA1UԄAĿ*RAAϳX*RAAXA6-*RA|ǭA *RA_PAp t+RAPA!u(r(RAӶ䃉A< (1RA7RVAX)M0RA;N}jAg0RAkAB91RAV>FLA< (1RA AL*1RAAnAF@1RA8NAW1RA0y-XAA 1RAE_A_ |1RA}Ajv0RA' AȈ 0RA9FAFX$/RA%A9=.RASPA@.RA?xA_-RA=n RA O,RA6jAG~f,RA/ eABKH,RAAs+RAuorAVuY*RAYAB)RA辝;A{c§)RAӶ䃉A=y(RA0WA!u(r(RAoA$ s(RATFA#Z)RA (A+.\)RAeA~MT7)RA~mAO*RA;=AN+RA^A9=*RAApg+RAAs+RAW1Aү9,RAsaA݈B,RArh AcS,RA"A!AmUw,RAzDA,RA)wA66V-RAPAnr-RAD{C\A:t-RAACh-RA~A/ԗ-RARAt!-RAqhXA-RAA:-RAjǁAg.RAɊZAlDmI.RAnwݿAĖ.RAABA%Z.RA.`JA=6.RAr #@A+DM/RAlA~ޟ.0RA*AGB0RARVAX)M0RAXqA390RAb~Af2RA(jrA>zb2RArvA bǵ2RAkНJ{Af2RAm/wO|A2RAgD|Aba2RAy}TIAZ2RA8P*A2RA]A72RAaiAxz82RAAOD2RAlAǤ2RAɝ8AEwdh2RAm쀒A]+]2RAƓA=\2RAb~Au2RA-pA( 2RA&5AAO2RAS:דAŐc 2RA,}AgX 1RA|Ah1RAſ!iA p2RA\6DA[2RALA_)2RA~dA ޫ 2RA!0ЋA9Pz1RAZ NjA1RAHYԋAd1RADABA 1RA"A0RAZaAD#U0RAϬƀA 0RAJMvA390RA;;tAAEB1RATtA.vT1RA+0?tAC1RADtAaA1RAYl 5tA$Gt1RA+S?sA1RAqAAj2RAjrA>zb2RALxXAR_ d.RAi;ACU4RA3 XA54RA -Q_A3T4RAcACU4RA(,jA0 4RAhPFA>q3RAhA/T3RA5YAh3RA\A]Ɋm3RAҭA2E3RA3AYݻK2RAy}TIAZ2RAgD|Aba2RAm/wO|A2RAkНJ{Af2RArvA bǵ2RAjrA>zb2RAqAAj2RA+S?sA1RAYl 5tA$Gt1RADtAaA1RA+0?tAC1RATtA.vT1RA;;tAAEB1RAJMvA390RAϬƀA 0RAZaAD#U0RA"A0RAi;A0RAϚAgtw/RA lAӵ/RAwAf~/RA|mAʴ$2/RA ',Ap.RAgAm.RA a~Av.RA+}Ak.RA`ZyAR_ d.RA#{gwA,Qg.RA@BipA=!n.RA^ն2\A<.RA`Ӳ[AA/RAoу[A8PG0RA8O[A8F0RAN~ZAvh0RAnpNZA|pD1RAuZA&h1RA-{ZA1|1RA@jD(ZA4*j2RAyYAx2RALxXA4RA XA54RA2ZWAf~/RA0y-XA7RA2ZWA6RAFc_A6RAyA7E 7RA"{Ab#*K7RALA5RAV欋۰AK0 5RA#+7A5RAh#A~Mw5RA;SwA;w5RA︰AFy5RAؖAq5RA~A o5RA_M0A#o5RAEήAU5o5RAlA Yl5RAoKAEi5RAAͮAqxi5RA?5Aq'd5RA(Aj ë^5RA_~'AkIY5RAڹ%AWN5RA.NGAjÊS5RAXA0txS5RA˭oA)$ Y5RAy̮AHBTa5RAH⏯Ac5RAW#3ADf5RA9d/TAJ]n5RA]A-iAn5RA2`xAsbf5RAA.~c5RA~A8[5RAϥ8ALU5RA^$vA3G[5RAXPA U5RA}.>AJ5RA7HAa=?5RAkALki,5RA=&A[#5RAp ɰA_e#5RA1f(A5RA{Y]İAa5RA ֜Ap4RA,AJ4RAXA/A:A4RAA^sY4RA.*A$ek4RA +A4RAlbfAj;4RA[>ªAT4RA,Az14RAKҞݪA 04RAv4ܦZA'4RA}Aʃ4RA}Aʃ4RAñztA'5 4RA' AC/=Z4RA@h3,AqU*4RA01AҔ3RAA.y3RAaMA(Y)73RAkxA3RAR AΉ3RAtHXAI3RA!fTA:T3RA=LwA Jʜ3RA~A[;3RACkAr#֖3RAc!eA#nLم3RAWA V3RAhCA%.i3RAoXAy13RA*A~IE3RAm Ad%o3RAhA8gHnU3RA `&A93RA8`خADɁ3RAX A[U63RAA/-QA3RA3L1{A8?FI3RA~|A1N2RA琢sWAGCw?M3RAwAXy%3RATSA.1b3RArL+AYy3RAhA;Q3RAS[A.(83RA`%A E3RA6j`AL>*!3RAywAsrh?3RAVA3RA2"EA\ l3RARNAa̍I3RAAAA Q3RAD~A`A\03RA@nA(,;3RAk@A#x*3RAAA~3RAr7A)3RA+FB)A&523RA4LKA4:3RA|ATB3RA0 #A&wbP3RA6uAZ[3RA[9xA=f3RA9L]AT}Gn3RAӻAjf[3RA(#޸AGeJ3RA1Ao :3RAw^ܖA&%E)3RAY/AP 3RAk?>XA&3RAκA|J63RA-AX3RA VaA|r 3RAzCAJtY.3RAN`5A 43RAtA63RA;MAJBG3RA**eA M3RAځ(A #O3RAk.ArjW3RAzL?ALh3RA2 G3A$p3RA AlCv3RAv AL+Zs3RA T|A}ݸj3RAVIANZ\3RA X !Ad\3RA-31gAw>_3RA+ASةd3RAE~QA8 =g3RA vA( g3RA5YA^8f3RA7 A d3RA'A~X3RAANP3RA3RAyE3RAD+wAC# =3RAL9A$f13RAʿg.WAuk#3RA~)ڎA3RAC A 3RA>[-A+A-2RAFAE2RAJeOAx2RAh A!I2RA|%UA/f3RA A2RAAeo.2RAXɲAM2RA4e6Af2RA(+AQ2RA!dAC2RA0y-XAA 1RA8NAW1RAAnAF@1RA AL*1RAV>FLA< (1RAkAB91RA;N}jAg0RARVAX)M0RA]u5ټA0d|/0RAwAf~/RA lAӵ/RAϚAgtw/RAi;A0RA"A0RADABA 1RAHYԋAd1RAZ NjA1RA!0ЋA9Pz1RA~dA ޫ 2RALA_)2RA\6DA[2RAſ!iA p2RA|Ah1RA,}AgX 1RAS:דAŐc 2RA&5AAO2RA-pA( 2RAb~Au2RAƓA=\2RAm쀒A]+]2RAɝ8AEwdh2RAlAǤ2RAAOD2RAaiAxz82RA]A72RA8P*A2RAy}TIAZ2RA3AYݻK2RAҭA2E3RA\A]Ɋm3RA5YAh3RAhA/T3RAhPFA>q3RA(,jA0 4RAcACU4RA -Q_A3T4RA XA54RAOXA@4RAbr6XA+3o5RA59XAN}5RA2ZWA6RA6T>Aq RAGBwA=y(RAWk:HA05RAXGA0}RA[GAkRARPFA"9RA&&FAG/)RA m=iEAXRA$DA\,RA|CA$ RA^pZiCA2 y RAXƃ[CAyు0!RA$CAO,Ne!RAW-ȚBAE!RA4BA!RA @A$#RA뺶H?A0L%RARc?>A׉X &RA}^>Apʔ#&RA6T>A=$([&RA bAAǭe&RA@A`j4&RA<3@ANax'RAh?AqJ'RAד?A3-'RAQRAN\kqHA̲RAk:HA05RAX9/ZA$%RA#RAgKu-AGL#RAt0A 6zZ#RA^AO#RAx fAJY#RAAVI#RACL8A3ž#RA ZAGh#RAA?S>$RAFA=&RA FA'RA6oAm'RAlA 'RA5v AWҏ'RA#Ayr'RA?W{ A'RA5T A'RA7w'A'RAb u*AHk߾'RA˹z+A6 n'RA:o.A*'RA (.A(!'RAz0A'<'RAځB^1A^'RAO2A?b'RADd:Al'RAד?A3-'RAh?AqJ'RA<3@ANax'RA@A`j4&RA bAAǭe&RA6T>A=$([&RA}^>Apʔ#&RARc?>A׉X &RA뺶H?A0L%RA @A$#RA4BA!RAW-ȚBAE!RA$CAO,Ne!RAXƃ[CAyు0!RA^pZiCA2 y RA|CA$ RA$DA\,RA m=iEAXRA&&FAG/)RARPFA"9RA[GAkRAXGA0}RAk:HA05RAN\kqHA̲RAF HAS>QRAA6{IA؆iRA(oIA'gRAJAIzFRA#RA wBA!RA"=AYq RAD.AUMO RAfQ֛AyvP RAXA;M RA9/ZAD RA㱭 ASĒ RA/q+uڢAT"RA3ޢA0"RA/A{"RAA|gb#RA(XA1#RAnA8$RA؟AXM&RA@ɟAv_&RAh3=|AvQ&RAW A_Z RA^zA)1r2-RA`=TA= *RAUQAQʌ*RA{LxDA4%+RAW AF{'-RAB APN#'-RAE'A[CE.-RAS,)Azp.-RAi&A,A{`q0-RAWp/A)1r2-RA|m.An*&-RAd֫/A\0-RÀ0APrm,RA{23A\W+RAPgJA.+RA-yTAd%X {+RAi=UAΏx+RAAa2}[AFx`+RA]A&T+RAǸO _A;N+RARdA+XSE+RAiiARF+RA_8jA8+RA?&#$jAMM+RAUnjA1*RAsnjA~%p*RAkANi)RA}dkA-G'M)RA->wAO)RAOݗAO~T)RAY<0ƒAmP'RAtAf'RAD <Ax'RAgaךAc 'RA`cATk6R'RAzeAL~(]'RA[xzA|a'RAǾ/A;sa'RA^zA؆&RA'#kAjo&RAh3=|AvQ&RA@ɟAv_&RA؟AXM&RAnA8$RA(XA1#RAA|gb#RA/A{"RA3ޢA0"RA/q+uڢAT"RA㱭 ASĒ RA9/ZAD RAE1 eAo!RACF{zAds&RAi޲A:R^RAFA%&|RAD ΤAqRAbAZkRAKAÿ?ZiRAue0Al߶cRAcA9p_RANtAPsQPRA?AnAʿ/LRA(H|ZAuWg=RAT}UAӠ 9RA`kiJA=0RA$~BAY)*RAܷo@AI'RAGiR@A'RAq5Q4A& RAtg2AYRA3 9'Aʓ RAyab"A_Z RAJE"AO'-fRA@m "Ap/ RA$h!A RASK AEzy!RAR+ AYxL"RARA?"RAfL&AksW#RA̡&ZA&|"x#RAX+AXa#RAjAx#RAVc AfHX%RAaZA-%RA`A=\#8%RA*Ah.F%RAduAQ%RAѮ))AL$'&RAhA :,t&RA#KAvM'RA?NA Hn'RA۵A:oG(RAo*;At r(RA1Aq)RAdK}AyZ+RA0x+A*(*RAfA_*RAN|A\T*RA KWXAݔ1+RA%lAK+RA-zsA6LM+RAlAQ+RA6ACjKT+RA"]Ps3ATV+RA'N{5A>yZ+RAvVmAnA0+RAܘsiAyk*RA[OweA/X!X*RAaM"`AsHA*RA\~7A&(i)RAd!LAʣ.)RA2VԉAz)RAp`A`6(RAUA[(RARRAƣ(RAyFTAo(RApAVUl(RAV A=2(RA|HA(RA FA'RAFA=&RAA?S>$RA ZAGh#RACL8A3ž#RAAVI#RAx fAJY#RA^AO#RABA_#RAoˠAw,L$RA^gAs$RAYAmI%RAI=VA 5%RAYAo޹*&RA;EAN28@&RA(iA/IJa&RAs"0MA׆T-(RAY PA|(RA #DAS(RA̹A-)RA5 3:A=()RAN"AD)RA$䉕}Ahu*RAx+A*(*RA@ QAh Lt%RAs"0MA׆T-(RA% QA Zt&RAiCA# 'f'RA6AQF'RA؀A} (RA/پAl[-(RA)(A€.(RA CVA/n2(RA"A0VR2(RA1_G A@ .9(RArA?>(RA!&@K(Apce;(RADkfAu-(RAc AAKͧ/(RA~ZA.(RAbMAI .(RA-RAM.(RAyBA_W~(RAs"0MA׆T-(RA(iA/IJa&RA;EAN28@&RAYAo޹*&RA2A%a&RAxJXAH߷&RA,! A&RA ASV-B&RAkțA|G&RADMfA&RALAef&RAo]A)L &RAeEAmu&RAy--QA D&RAA{%RA 1Au?z%RAMAqx%RAq0zAh Lt%RAf4/ůAzCJ&RA QA Zt&RA`iiA Zt&RATA@Jk,RAIiiARF+RAۂoAxBH+RA3X rA7ZJ+RA!yruAxsL+RAXkrxAN݄N+RA |AzP+RAvHA2T+RA56xAdB,RA@Ae[+RABbAH ^+RA3A-+RAr<ϭAt3+RA.k|A췰+RAb˱AcZ+RAFX> DZA7g"G+RA:WAqF*RA>ASb+RAkǏA)"+RAA2AT*RA "uoA *RAMAA{ +RAMA)) +RATA\Z*RAn.AJJ D*RAAe^Or*RA*nKA~)RAkGA]-(RA/پAl[-(RA؀A} (RA6AQF'RAiCA# 'f'RA QA Zt&RA4WA_u7&RA1JϹ"A'&RA^zA؆&RAǾ/A;sa'RA[xzA|a'RAzeAL~(]'RA`cATk6R'RAgaךAc 'RAD <Ax'RAtAf'RAY<0ƒAmP'RAOݗAO~T)RA->wAO)RA}dkA-G'M)RAkANi)RAsnjA~%p*RAUnjA1*RA?&#$jAMM+RA_8jA8+RAiiARF+RAP|m.A35YB+RAXmuA4+g-RAGWp/A)1r2-RA4,<A&%2-RAh%7DA3=-RA~3HHA(:?-RA䔿ZApC-RASG^Avn}E-RAKhAqiH-RAiA7sK-RAU"ptAAb[S-RA|A0]-RAE}AH)5Z-RAqA \-RAA`-RAl7ԆAt`-RA$]-A4+g-RAY&A,a-RA3|A.'y^-RADǑA{f-RA%Alf-RAa OAje-RAXmuAᥫe-RAfp*AkR-RA>Aq&?-RAk85AIj#-RAjJA-RA5AH,RAFA :,RAI A5,RA_}AEQ(,RA?kvA,RAvY쭋A$D,RAhAH,RA*nA,RA}m^A!Ų,RA3A #R,RA;JA86M,RAᄧAt,RAiʡA)[,RA#ABF`,RAY UA(Q%{,RA{]̠֌A__,RAlEGA\ e,RAݵBA}a,RA4A}MRC,RAXAa5,RAZӡLARSJ0+RAwA&/+RA:fA~+RAQAF`(w+RA Ə冉A35YB+RAoԾA.v3Y+RA56xARAX:"A4%+RAKфTjAE(*RAфTjAE(*RAdK}AAVRA ARACAa~ӢRAfwA/ RAH^cARAf{лAmaDRA63jA>Gr\RAs?A_)UB!RAs1AQ"H#RA"Ay$RAMTA$RAy,Az+%RA}^1Acm%RAKA|eĥ%RA(qA*&RAX.AAy&RA AQC'RAQ{U]AɌ3'RAYrIAv#n(RA4 z˵A((RAViA4$)RAv* A;Ԛ0)RA5_4A}Z *RA!ADv*RADsAja{*RAEL AQB4A+RA4~ ɉAY/P+RA e eA#'c+RAF g(AMb+RA=Ab+RA62Apb+RAN?|%A6d+RA-HLA zi+RAA]y+RAS#7:A+RA|FA+RAlA7NJ+RAF]AWR)+RA{LxDA4%+RAUQAQʌ*RA=TA= *RAфTjAE(*RAaSDAE)RAޮAKQ)RAl/A^qW)RAa5AY)RAAO)RAhA})RA}(LA@7)RATň[YAT<)RA?">AA (RA`6AK(RAT+1A(RA@A(RA?cAi(RAveAӺ(RApVAfw )RAVvMJAB_` )RA=UUAsI(RA$gnAHb(RAI)((4AEG(RAޱ[8AMo;D(RA2UAcG+(RAK"XAg(RA߰SwA r(RA`ǻAE'RAw=|A1'RAMA6;s'RAsA{K3 q'RA? A5?-J'RAAS A/7K'RA3A^'RAlg* Aύ^'RA{p%A0r'RAҵk A~q'RA˖2kAȆq'RAhA+f'RAqgA$gf'RA1Axr$f'RAAe'RAv%Ah'RAIh6Af~'RAYA9:5(RAqgAC;x m(RAu\,NAL&(RA/u:SAfbD(RAJeAmd(RAEQ SAFP)RA7HA)RAA7AS )RA1v8Ao )RAV{Z~@Aؒ-,)RAFRA1y,)RAA7J)RA|4(hAIG)RA!dA3h4)RA4A6Auz7)RAB6A4)RAu9ATb:)RA\AJC7)RA`pA:)RAaSDAE)RA$gnA5?-J'RAA@7)RA<A7J)RAFRA1y,)RAV{Z~@Aؒ-,)RA1v8Ao )RAA7AS )RA7HA)RAEQ SAFP)RAJeAmd(RA/u:SAfbD(RAu\,NAL&(RAqgAC;x m(RAYA9:5(RAIh6Af~'RAv%Ah'RAAe'RA1Axr$f'RAqgA$gf'RAhA+f'RA˖2kAȆq'RAҵk A~q'RA{p%A0r'RAlg* Aύ^'RA3A^'RAAS A/7K'RA? A5?-J'RAsA{K3 q'RAMA6;s'RAw=|A1'RA`ǻAE'RA߰SwA r(RAK"XAg(RA2UAcG+(RAޱ[8AMo;D(RAI)((4AEG(RA$gnAHb(RA=UUAsI(RAVvMJAB_` )RApVAfw )RAveAӺ(RA?cAi(RA@A(RAT+1A(RA`6AK(RA?">AA (RATň[YAT<)RA}(LA@7)RAhA})RAAO)RAa5AY)RAl/A^qW)RAޮAKQ)RAaSDAE)RA`pA:)RA\AJC7)RAu9ATb:)RAB6A4)RA4A6Auz7)RA!dA3h4)RA|4(hAIG)RAA7J)RA0(VA*"jO#RAjAG%RA##suWAqG$RANvWA N$RA(VA0<%RA%[A q>>%RAyWA\s%RApTZAG%RA%ZA#m%RAmb\A"6@%RAjD0F\An@%RAU )R]Ad@%RAӿbA[rD%RAH3:kA]>}J%RA.nAO%RAsWoA mN%RA#sA`&P%RA*xA$RAWJzAG<($RAԎ;t|A `}#RAjAi}rr#RAy~7}A78Rp#RAmCyAAbq#RA]εyAHsq#RA.չwA"z"q#RA9bfA hbk#RAgA*"jO#RAJX cA[P#RAR"e\AޛCR#RAzjw$9YAe"4S#RA3e1yXAMs#RA/zXA>B#RA\NZ]XA₢f#RA1XAӦׯ1$RAnDUXAgE$RAnDUXAgE$RA#suWAqG$RA"J'-=A;%RA²AI(B+RA^Yg>A,)RAYg>A,)RA#L^=AXP)RAZg=A9)RAs =A7{N*RA48=AY*RAJ'-=AEb*RA 4@Ai*RAxXՂDA*RA DAΔ*RA? GAI*RAռZAH+RAw7lA#h+RA?nmAQD+RA+CFJyA+RA}4|AJ+RA~Aqt+RAr{aA&+RAr7A|91+RAAuZ1+RAMXAp}1+RA?H&A<3+RAkKAGr\RAf{лAmaDRARAQ$*AlRAg8Ap7 RAi.ARܔzRA²ARAx{7KA ]cRAƥA^RAXA2RA~"9A3RA+}} AܦRAY.FALmyRAz_ EAs2x.RA iDAiLRAsn6DArRAF"DAi!ARAY DAH RACAxVu RAYCA RA%BFCA7: RAGCA RAtnBA]c!RAIBAd3]{"RA1BAa̯"RA<@MAA}#RAmp!4AA$RA:\upW@AVdr\%RAp=b@A>[:%RA,?AoW&RA[$ދ>AX&¾(RA=l=A}{)RAYg>A,)RA1XAӦׯ1$RA\NZ]XA₢f#RA/zXA>B#RA3e1yXAMs#RAzjw$9YAe"4S#RAR"e\AޛCR#RAJX cA[P#RAgA*"jO#RA9bfA hbk#RA.չwA"z"q#RA]εyAHsq#RAmCyAAbq#RAy~7}A78Rp#RAjAi}rr#RAԎ;t|A `}#RAWJzAG<($RA*xA$RA#sA`&P%RAsWoA mN%RA.nAO%RAH3:kA]>}J%RAӿbA[rD%RAU )R]Ad@%RAjD0F\An@%RAmb\A"6@%RA%ZA#m%RApTZAG%RAyWA\s%RA%[A q>>%RA(VA0<%RANvWA N$RA#suWAqG$RAnDUXAgE$RAnDUXAgE$RA1XAӦׯ1$RAi.A$Z2RAЋAa~ӢRAYi.ARܔzRAg8Ap7 RAQ$*AlRARA/}A0TcARAA0 A7tRAT7/",A5ʹRAH^cA:AI }RAIA2vGRA왔KARA4SlLAd(RApRXMA`nĶRAJ~MAzsRAk-$NAAhRAF*NA?IRA|hOA&RA$gOAJC9RAa9OAqlRAOAfRAvdOAYRAjQA!_,RA>.RAixRAٟASA7URAٹTAÅRA(g{UAÌzzRAEbʚUAwtRAx_eA%<RA }jAe>RAqxAXQRA +0Ao>SRAi*AI:RA^x%A/RAu{}oAEЅIRAjbAv{*RAf9A(sRAЋA}~G|RAla'}1vA ZkRAotArhRA;{d^A{WRAՈUASddQRAENA˨JRAJfBA`cWBRA :A}?9RA{kv0A.!5RA&Op/A">6RAd'A$Z2RAm'&AoRAS";!A]j_RAj5TA kRA֓(A%蔆RA²ARAi.ARܔzRAPCA%<RAV@A}v6mvRAgܷo@AI'RA$~BAY)*RA`kiJA=0RAT}UAӠ 9RA(H|ZAuWg=RA?AnAʿ/LRANtAPsQPRAcA9p_RAue0Al߶cRAKAÿ?ZiRAbAZkRAD ΤAqRAӥAT+/]tRAĆA}v6mvRAТtAZRA(VA$Sz RAV7ArRA$iaAa(TSRAfA5fRA$g^PA9DRA{}A`RŘjRA=A؛URAvĸA"t\RAV@A$%RAjʎAARA*۴ArђRAa.>A-)!@RA@?ARA`9XARAi&s޷AwrRA%1AXdjRAS毶8AvyJdRAӁwAj`RA`ÖA ^RA +0Ao>SRAqxAXQRA }jAe>RA?>eA%<RAm4=eA wBRAffAP{MRAPfA+URAheAF<3^RA&Ig~3eAGttiRA0dAVoRA~cA.RAixRAjQA!_,RAvdOAYRAOAfRAa9OAqlRA$gOAJC9RA|hOA&RAF*NA?IRAk-$NAAhRAJ~MAzsRApRXMA`nĶRA4SlLAd(RA왔KARAIA2vGRA?m>:AI }RAoR9AʦłRA5|9ADRA#AS!RACAa~ӢRA ARAz>AVRAEA"0)RA'ӊAÂRAX:"A$SRAyab"A_Z RA3 9'Aʓ RAtg2AYRAq5Q4A& RAGiR@A'RAܷo@AI'RAhi*A}~G|RA=}A#RAJu{}oAEЅIRA^x%A/RAi*AI:RA +0Ao>SRA`ÖA ^RAӁwAj`RAS毶8AvyJdRA%1AXdjRAi&s޷AwrRA`9XARA@?ARAa.>A-)!@RA*۴ArђRAjʎAARAV@A$%RAUEARAAGRAK~=QAYRA'-~A~)ڪRA\AUcORA ߔ/DA]IRAcJAxŔRANAgeRAsc=ARA`A~RAAQRAA鯞RA1vACRA}aA"RA+1A#RApGdFApzqRA,YAwwRAbYA:/RAwAȷ&RA[,hA9xcRA" 9|A_2<RAyhAm!GRAL),A6vRA=!IAJ_`RA8SARA=}ARAտAFg\RA^ ARA>5ʏAy7RAfoq1AgwRA|.ARAAJ\RAe"[ARA87ARRAA <RA#ARAũAIϼRAH[Aw!$RAeAFARAxA2ٶRAsŰ2cAQRA9NAQRA'A$RA$iBA+ FRAS"Nk$AU]RATAbRA3AwRAݫA芫RAb1AðRA?A֩9]RA~63AShτRAЧJARAЋA}~G|RAf9A(sRAjbAv{*RAu{}oAEЅIRA+1AZRA\w AK8RA`[,hA9xcRAwAȷ&RAbYA:/RA,YAwwRApGdFApzqRA+1A#RA"A ORA%&Ab} RAAk*AVRAVc۬.A 7RALqg/A(RAZ/0ARA zVM6A2 RAzV@A$RAE#[DALf͠RA昀HApRARA1AF:RA /Az,&RA8SA A/iIXQA -~k A'9QACgA9ĎQAm=A%{QAh,.Au?QA碚b<AY ~QAev@fARlQAWA] QAAA uQAI=AQqQAa'NBAk ]QAN芏.AD_HRQArAAr.LQA\ oAPwBQA%Y8jAʂ %>QAO5iA C>QA'RgAzt;QATtfA~;>QAs-ybA Z:QAk5ZAR ;6QAMAG-.QA}f;A}:$QA; 5A QAcH ڪ6A sQAav;AMQQA;<Aˍ oQA* M>AܕQAF8~X?A?0XQAm@AtQA~UAAGQABA_yv^ QA1/PPBAoeQA㰒CA1P5QAؼ8CA8QA4NCA^QA=-CA-QA jBAtuQA<JBA70IѵQAiLBAn(%QAhnBAiQA/!BA-JQAtiAA^BQAILsAAD#QA2DAAxPQA)e(CAhQAAyCA_V $QAu DA#5QACREAfQA-"EA:iQAN/FAoyXQAFAMTQAG]FA+RQAؚeFAC,%QAGYe[GA/®QAQp GAuQA7IIAPQAQIAuQAgh*JAxw90QAKܮKAp@QAؾ0@^LAyhmlQAG,nMAQAՖ$OAAQA'B/OA"QA]73OA=ESQANAvZ϶QA+GNA`PQAĩ-OAa3E QAiJ{'PA)nei.QAAf/PAvOQA>t nOAQnQABfOA [ցQAؿ4OA9`$AQA MAfQAZn, MA{nfQACLAy"%QAͻ LABQAKAX;QAHfcMjKA3QApp.KA>QA-hmJAeuhQA$e1JA*ems,QA{ڪ\JA)vEQA5kIAKdQAvIA]}wQA@",JA?VQAJAnUνQAc9KA0GQA@.LA؄QALAЁQAUe]+LAnQAiLA7_QAD*KAcQA Z][IA/TQAM6IAyQA,HAM$cQA*HACEQAx${!#HA&fuPQAّS`GA^QA?IATN^QAۇHA. QAZJvGA3()QAmSGA4DQAAGA{[QA?GATkQAqGA%?#tQA8LFAO{CwQA!;֚FA-|QAѢFAMLQAKGA&XQAdEFA2HZzQAZWCEAL`QAl@AnQA#SKM@Az:QAʟHh?Ab\įQAeQB'?A aQA.EѨ>AQAB>A?>QAQ,:V?A0ЁQAu%?AQAþ@A{*jQAY(AA)QA̲"-AAUQA5gP@ATBQA~"0?AiQA:?AyzQAF>AgQAyݹ>A{QAlWy>AUީQAal>A7o QAW?Ar-QAp؊?A_}QA9ܿb2@AjNqQAX:8@AlQA??AqQA ?A$R| QA)&[?A9_ !QAj;C>Ax)QAr=A 27QAG[=AV @QA=A@]BQARa<ALȰQAP1;A•=QAiwW8ARQA!B{8A_`QAC8A+RQA+:AbtQAz1:AB.QA^d4:A$EIQA^c9Ac\ QAl:A3 QAǕ-;AK{QA[xnP;AYQAG]s;A8fe&QAGMw;A'{q9QA5Z;A (WGQAS:AhMQAB[:AjvXQAP_V9AT: aQAeZ:A lQAn/:AQ)zQAvE99Aal6ߊQA-;9A;QA@<&:AxDkQA'7ZI:A iQAyIk:A?A"QA>Ah(=QA?AdlQAAA [JQA,7AAQA{:AAJA_;QAKAPr6QAIB3KA QQAZ AeKAg/YQA`:fKAtvQAɩJA.C:QAQ7mJAj5QA<xJACe-QAdv>uJAZQAJAj}=QAb6BIAQlQADIAHxQA}QBFAQA}RFA\QA6nEFA6QA1FVFA2[WUQA], FA QA9AhrQA:F7AeQA&H7A7QA? 7AQAb\6AnQAL6A QAf!AWmgQA&A_HQA YA%}&QA1LpAB-WQAod6Ac\(QACo&A6ZtQAq@'AnHQAqhrA&:QAE*A aQA}kG@AGmQAYUA7SQA v;ZAQA֌9A X:QAuA8H;QAIAHRcQABZAQALjADrQAEAp"GQAPUDABsQAX4AAkVQAZ"vA 'QA{xdAǐQA8И(A#_BQArAQA io A]R!QAI A|eQA#ApbQAʻ^5]8AQAj9AYQADG:AQA1"sLA0,QAtњ_AQAD!eA%6QAKjAo1QA_K߫lA-QAUaqAo!QA: ĉsAkڈQA;ʆwAxTQA*vYA{A޴QA2P}A4GQA&S~A'˭QAy.A4:fQAHnA5QAPZaA[QAڱA_w_QAT]<A QA">LAjnQA#;A|![QAASWRQAIAfQAF4AlyQA%AQAyu)AsQA_AF&cQAcA4VaQA5l"A/?QA#A#QACAQAU2s{AeQA=]mA\@QAǗA3z_QAS\AnQA }M}AD4QAM@vAE\j>QArrcA;QALA[6QAHwAD&޵QAn/AGQAA({QA4_A&QA9G AQAQALQAD%#fVAkQAQ('AՌQALiAvQAA nQAqQAQABALQAbA$KCQAGOAڦQCQA0 #AFIWQA"6#=A5QAĒLFA__6QAwPA=4QA܊m0AA5QAT A{'QA>3A4ӸNQAAAJQA-ÿmAӽo9QAsVsA QA}AYēQAaN Af&^oQA-_ Ah7QACm A 7QAA \QAݞvAQA/ #AuQATo$AT QAU4ATQAC Y AJPQAކANQA\AdHQAKT[A{QAXxXA\q'mQAmNA7nQAHߗLAQA TA!TQA%9] AQA215 AX`QA0; Ab QA÷b A7z|hQA_* AT |QA&WH Ap QAqAQA#"A@[QArCAWQA!AEVQA4X̀AUZCQA!Ak(e8QAwTy_A<3QAAf/PACQA!zA]KGAQAȀA3C?QAAyb?QAoAu0QA-tɚA򲒖0QA UAWx_00QAf3-Aɭ+QA5%AA QA&5AYQA0ABQA0G@70A0-QAA\j#QA&AhQA0 A_yQAfy{ A<0QA3"qv A^QA7=i A dQAG@g)8 Ak|QA|A#n8*QA.AH3QAKA2QAA9#|QAiC.Ab'QA~4AQAyIk:A?Ax)QA)&[?A9_ !QA ?A$R| QA??AqQAX:8@AlQA9ܿb2@AjNqQAp؊?A_}QAW?Ar-QAal>A7o QAlWy>AUީQAyݹ>A{QAF>AgQA:?AyzQA~"0?AiQA5gP@ATBQA̲"-AAUQAY(AA)QAþ@A{*jQAu%?AQAQ,:V?A0ЁQAB>A?>QA.EѨ>AQAeQB'?A aQAʟHh?Ab\įQA#SKM@Az:QAl@AnQAZWCEAL`QAdEFA2HZzQAKGA&XQAѢFAMLQA!;֚FA-|QA8LFAO{CwQAqGA%?#tQA?GATkQAAGA{[QAmSGA4DQAZJvGA3()QAۇHA. QA>?IATN^QArIA" QAyIA^NQAD aIA8a!QAN]IA18QA7qJAQAtJJAe'ہQAh*JAI谷QAV}eGAמtQAQAHfcMjKA3QAKAX;QAͻ LABQACLAy"%QAZn, MA{nfQA MAfQAؿ4OA9`$AQABfOA [ցQA>t nOAQnQAAf/PAvOQAiJ{'PA)nei.QAĩ-OAa3E QA+GNA`PQANAvZ϶QA]73OA=ESQA'B/OA"QAՖ$OAAQAG,nMAQAؾ0@^LAyhmlQAKܮKAp@QAgh*JAxw90QAQIAuQA7IIAPQAQp GAuQAGYe[GA/®QAؚeFAC,%QAG]FA+RQAFAMTQAN/FAoyXQA-"EA:iQACREAfQAu DA#5QAAyCA_V $QA)e(CAhQA2DAAxPQAILsAAD#QAtiAA^BQA/!BA-JQAhnBAiQAiLBAn(%QA<JBA70IѵQA jBAtuQA=-CA-QA4NCA^QAؼ8CA8QA㰒CA1P5QA1/PPBAoeQABA_yv^ QA~UAAGQAm@AtQAF8~X?A?0XQA* M>AܕQA;<Aˍ oQAav;AMQQAcH ڪ6A sQA; 5A QACS5AӠQAʤɺ6AxM~QAA"7A*BQA7ALS QAzA@6Ai55QA!%5A QAH-4A1QAph*4A]CQAu3AyQA=73AW ҖQATv3AE}QAEƮ2A!sQA|"1AgpQA̘/AWlIkQAh/AeQA+Ab BQAn1N+Ay,QAVn+A3$QAĒ<+AT QA:+A0QA.K+AQA:+APQAŲ,ASQA&{-ANQA"э,A,QAys,Ap<2QAy{(AFjQAw޹7&A%GQApv&A6nDQA )F%A<3QAce AF8QA@IKA{^>QA-]LWAC( DQAhAifDQAZbOWAnPfEQAS=AqGQAvbA;QA@^qbAy>suQAf@cA~e0^BQAgcAX~QAILeA cQAa@eAHQAFAfACQAFAfACQA{wi5mAn/BQAπ=nAAQAryAAQA!zA]KGAQANA#QAhGAu?QA(%PA !QA~&{AO} QAA=44QA;BAOYQAڦjApQA''mA QA7{Aۄd/QAEAKQAfCA'XQAA>ք^QA uAŲ1dQAZVA-SiQAmQُAYiQA A-?>5QAI8Av7QA`xhA2TQAIdAՍQA|EBA[u%jQA%tGxAnrQA#i'3A[8QAXA@%JQA )F%A<3QApv&A6nDQAw޹7&A%GQAy{(AFjQAys,Ap<2QA"э,A,QA&{-ANQAŲ,ASQA:+APQA.K+AQA:+A0QAĒ<+AT QAVn+A3$QAn1N+Ay,QA+Ab BQAh/AeQA̘/AWlIkQA|"1AgpQAEƮ2A!sQATv3AE}QA=73AW ҖQAu3AyQAph*4A]CQAH-4A1QA!%5A QAzA@6Ai55QA7ALS QAA"7A*BQAʤɺ6AxM~QACS5AӠQA; 5A QA}f;A}:$QAMAG-.QAk5ZAR ;6QAs-ybA Z:QATtfA~;>QA'RgAzt;QAO5iA C>QA%Y8jAʂ %>QA\ oAPwBQArAAr.LQAN芏.AD_HRQAa'NBAk ]QAI=AQqQAAA uQAWA] QAev@fARlQA碚b<AY ~QAh,.Au?QAm=A%{QA&?;AovQA NUAU,{UQA_~A,Ae QA+?kXA(,QA8Al쏝3QAX.A宂QAU,A{.QAmgMA,'QA]AP\QAhGA/[QA\ YAWYQAA}.wQQA`ޣOA/_ҼQAiAQ8QAF/A$YPQA?Ce,AoQA^(AAvQAMn AU!QA)p=A>ӯEQAAz7CQAls7qA#QANmAd֢aQA@x-AiQAԬA%ږQALn:AQAH1A%}qQA쏫A#AQA?A_7QAeAB8QAlJ;DAGvQA|Aq5pXQA 3OtA) QA@dgA,PQAId]AlO\QAhWA2$QAQ:{QA9TQAP8rOA)yQA6<AṞQAk;u<AnhQA[p=AփQA`AB(QAyl>A&LQA'?Ad6l{QAE;A˒QAQ.A)QAM'A۠ŸQA D(AIPQA<\(AgQA#"(AY'QAو(AreKQAv'O(A#eoQACC)A&QAq$)AkJѓQA-&)AI%QAC{ABWDQADGA vӯEQAMn AU!QA^(AAvQAkEDA{SZQAiANɮ`QAheA&qQA͏haAԪ3QAkOAvy aQAOXAx|C^QAme{AY7QAA>KQAi><AȡIQA|qATlQA >9AӒ)*QA9A:9NQAwAckQAmAfwQA0AMX*QARA\bQAIq`ArQAjGxA@QAVu4=ApDQAQiA6CUEQADwA<HQAQoAv@HQA[hAZIQA}A%%0SJQAdAWHQAȟA!cIQA!aA|cjJQAf7zhAIQA(_A+ GQA[AKQAW ApMQA$#6mA TQA7d;TA}'TQAƬtSAgTTQAp17CA CWQAz9A'[U>ZQAKr&-ADd4]QA0Tw Ao0`QA!;ACaQA0r*]AoncQA5$ArvvQA-1AWQA^lvA~4wQA<sљAA QAy׻A'QAܶA_QANATnbQAC'A QAAVA vQAu>A\^QA*,V;!AYס;QAaxzAQAA稨QA1i!AkQA'?AI%QA/DGA vA&LQA`̈́>AB(QA`A9aQAA&~ܰAUQAp_0AǒxxQAbTA&VLQAZVA{kQA|.ADAugQAGA/욍QAwTy_AD?NQA:ٸ`Ak QALEkA.$t~QA%8kAIukk~QAy#ʀPnA봩zQAA&^voQA"dA`+iQA =d:AhQADѧqA2EaQARrAPWQAfA$HWQAثeA]lNQA)k8]AH^aMQA f A3LQAqo,A/KQAQAce AF8QA )F%A<3QAXA@%JQA#i'3A[8QA%tGxAnrQA|EBA[u%jQAIdAՍQA`xhA2TQAI8Av7QA A-?>5QAmQُAYiQAZVA-SiQA uAŲ1dQAA>ք^QAfCA'XQAEAKQA7{Aۄd/QA''mA QAڦjApQA;BAOYQAA=44QA~&{AO} QA(%PA !QA3/A@1#QA'KAa#QA mAzo#QAy‰A"=!QANAfʸQAV|\Aܚ~}QAAt8QAtp,A?c1QA1i!AQA6brA#kQAB3pAo@_QAZl/dA0QAR`A +QA0UrBA[$QA'pDA.LQAQbA@QAú5A< QA=A۝4]QAf"AӆQAA稨QAaxzAQA*,V;!AYס;QAu>A\^QAAVA vQAC'A QANATnbQAܶA_QAy׻A'QA<sљAA QA^lvA~4wQA-1AWQA5$ArvvQA0r*]AoncQAP AlœdQA 5 AeQAA.iQAm]Ab5hQA'_AniQAU3SAH6 EoQAڽA|zQARӔAnByQAo1Ad[yQA pALzQA3ᯱA ?{QAqA5q{QAf֦A{QAPyA=FjQAD (A9QATmˈAbuQAɔ.AJ ЁQAf@cAwQA1AŸӽQAWHvuAvlԽQA ?AܦԽQA]A^A?#ڽQALAݽQAMpAWݽQAdBCAqݽQAh RAG;۽QAfI'Ad"۽QAPMA۽QAA.޽QAI AC/_QAOQvAamxQA2 `A\QA5[EA\-QA'.oAxQABW, A@QAovAb .6QAtҝA_zoIAQApVaAw=fPQA%KeAʌBQA;A gQAfOZ4AaQAl9jA״QAAOFAJLQAA!~QADAﭢQAb4AmQAҞAΰ͂QAN=ùAȾQA hU6A* ̾QAoϠArQAºA QApAGQA۝A}dQAТA?mQAaAo (QA2Ak3QAy<AMQAnAitSQAQyA:YQA窄AF^QA_A AaQAͭlA[LmQAMAQAk*AۋQABA @QAKAۢ' QAoqEAUQAYwAm¿QA¯A)>aQA@!O Ag9QAhܟ駹ASKQANٷA"fQQAa{A lTQA5AQA[Al: QAD&lyA sh QA oAѷYQA:K'AQARcAS/QA!;AQA`A+%QA;:Adh#QAY\A)6QALyH$JA *]7QA8A :QAT zA :QA#QAIn;QA GNA2QAdA2tQA_<,kAqPQAmIaAWXؾQAʸ9A=ȾQA,5Q ϥA>ͲQAu 'AS|QAP$;A QAW!5AޔQAɔ.AQAɔ.AQAղtA\QA`!ݠA> QA`(]EAxyQAc(\AvMOQA=T Aɖ7QA/AKlDQAA5~1QAƼ-AX$KQAᔅ߱AQA7$Aȷ!QAHùAW@QAq%\OAx%k\QAA#3 ArzQA_CZeAQA+.A2CH QA9DձAhQA ۳AؠQA+5)ӱA$b6QAr3AcԄAQA/AWQAOAϸ"LQAnpARܣZQA:A!aJQA:AQA`ZЮA"-TQA]Ae(QAOq*AZC(QAeAj6QAQyA\YQABy^A^QA:MAQASY_ĦAG.QA \A91QAD J۬AxG?QAJثA|r PQAOA_QAtLArQA޶kAe&!8QA~[A}~ÜQAELA&͜QAq;8AVQA$ ҩAסQA:˪V^AQAW&_A}2VQA&GA&QA #jA RHQABXC&AQAR*A oQA?շ˦AK1 QAépAFd'QA|AQ]3QASA];QA.q@A4VhQA}A~QA[VYA*QA"D.AIbQA㛬QAQA:LAU/QA0\lA`[QAT2%&A7rյQAO+A|<}QA6ljA%QAN>]9A(?QAM즤A3QAC{AZtQAS_O%AqzQAA_XQA*qAS{QA<A[QA A`VQA܄AmQAArc0QABlAHܸQA%AweiQA AcQAG5AO0QA`alAkNQAioA/[@QA}A>YSQA1AwQA ,gAFrQA :ZA-f*rQA*sAUrqQAw A$kQA&ARiQA\AfQAKAceQA76A,dQAXFA N\QA-AD|SVQAARqYQAzAʞOQA ?^A?~uMQA:WAOQA3A}RQA+/cA/lQAY(4AsܓhQA[k3'A( UcQAIpm0A]QAxd>A{@rWQAϗEA&RQAKjXAAuGQA[A+2FGQAf@cA~e0^BQA@^qbAy>suQA>vbA;QA'bAt.QAt,aaAUQAHaA j9QA7jaACQAƌ=aA~QAeUaA`SQA ɕaAYR$#}QAzy}aAs[QAg!aAVjQQA_`AQAi^waAy4gLQAb`ACzzQA/{7`A+]QAd`A&QA_`A0QAS_A7eރQA_AШQAwTy_AD?NQAGA/욍QAw>DAugQA$f1*@Ate&|QAݾ?AvU9QA&?AŰQA]?AOf?QA/s?A0QAરq?A0{QA fXI?A*eQAD@A-.QA|5@A㦋dQAXp@Aq2QAGO@AGטQA@AWcQAcǯ@At@QAr$AA\qCQAṲKAA ?QA==bAAQA= Ac7BA"a[~QA ,6BAx'QAL*CAGwQAr^pCAUPlTPQACAdpjBQA7,DA#2QAGmDA_QAG5DAQAEAqQA@EAQAtEATQAvUFA10QA'FAPQA'7FAٻQA0MFAԛfQAo:CA`t&uQA @A|YQAC]=Aݥo QAP; M:AmUQA܆6A_QAÅ94A-QA/V0AnQA -AQA#3*A?QA)׃'AIQAl$A_eܽQAA9aQA{An׏akQADgEAJ ЁQA?A,滽QAb>AHxQAL#ANжQAi܎AbQA:en5ALTcŽQAaAq-IƽQAġADVǽQAO)AurȽQA);LAM<̽QAKBAmTxҽQA1AŸӽQApz7A`QA,PG2Aҙ+RAkcgA~RAWUklAuPzRAGuAnRA xARAw&xAq7RAd {AqRAQdAԵRAmiNdARAr 똂ARAO#AvRA%E A8.RAr(RAbRA'ˠ`ՕAouRAoOA1RAVzAQRAIrzA|RAAtRAA͍RAźA5o`RA"ϼAR RAz菥AfKRAωf)Al'^ RAJAsEA0 RA= *An" RAPA^lRAHA5,RAB(tA20hRA@uAF#RANH9A{_$RAd8C AA&RA !A f)RA(%A;Q(RA~.Aҙ+RAs/Aa/тwQAһ/A>Yh:QAb0AǐKQAH0ANtO;QA0AQA. 0AuQA"1AHlQAҨ<)1AYQA{Y1AU(AQA.6;1AfQA}{1A4ZSQAIu1AQA^31A-u\rqQAg2AyޣQA |2A.QA,PG2A[y=QARA(A Ȭ87QAӢ?A}1QAsA|M,QAڕxAu݇,QAhȭ Aٖ$-QAA~V+QA3~AzU&QA 3A| $QA(靭GA!r"QAwA.y$QAҗ`A "QAuAU!QAwsALQAVռAgQA λAFQAP#)AQA1A[QA8BA|QA%^A[NQA%ZIA4QAgAQA؇Aq,AQA A QA2]skAQAZKhA2QA1J)ڄdA$QAe5ښYAuDRAz7A'p~RA)#`;AζRA>@CAARA~^GA{YRAuwXA=RA̹VZA?>>RA egA!ieRAcgA~RAX-AT"ܶQAw@;AfRAh1a A{WjRAԝAXRAy"AcRA 5A1sRAjv6ANRA"T7AwiRADj7AaFRAg7A hRAcbe7A RAzل7A$~RAʊo7Az>RAC-#7Ax6RAKv7Ak%RAz7A'p~RA2Y8A>uDRA&!8ARA,jT8A6JQA108AV QQAn8A[utQAB8AQAI&C9A?{aQA=9A[bQA"ɕ^9AJk& QA1ɇ9AA%LQA1ɇ9AA%LQAi/u9A.QAG9A6| QA29AB{QA*9A/eQAr:A&TQAT4V:A|fQAΦ:AǾQAx:AI QA,:A`QAH ";A_SQAYLq;A /^vQA r_A;AHPQA[8;Ac:QAw@;AlEQAN-A QArg"AT"ܶQA_{ AN<ljQA[XQAS#y)A)QA: AQA/4A2QAtCaAnQAEvAQ:[QA[ϱzSA=i{QA:h'@APR?$QA+xAu-!QA A WhQApA9rQAnkA ^QAzGPAH^nQA\n/1Af[RA-Ab@^RA$FAАRACHAXRANBeWA {RAo2H bAtRAbA,RA dAZRAWyQoAfRA&pA_ RRA;@NpA9.RAߪAb$RA{Ѷ/AARA DAVE[RA-ALRA+AM՗RAy-`׬AThRAIUAe<RAaY#AJ}RA4k:1~ARAﶘAgqRA@%3ȆAoyRAxO5A4RAZpAa߳RAtrAPIRALKArEORA2A-50RA:IA~ӒRAy3DA'4RAI⾡A0 |RA1a A{WjRA A-AQAKf=At QA-FAt QAfQA& =AjSQAP=ArQAU<A\RQAM2AIQA[(A)5^QANc*'A#QAAZm&A̘QAn$A|pQA$7#AՓԋQAc? AϖQAy_;Av)QA.QA-AQAeA, 1QA {ArQA NARHQA@AwUQAKAGxkQAMAeoQAB)A|QA> AϔQA; AybQA0M AW;HQAf?nX A'vQAr$ A5cQA: Ap$QA ACQAz A McDQA~ A bQA7 ApD̲QAXj AbQA}=D A(B-QAZӿ A2HxQAh A)QA AoQA|^ AXPQAFAt QAEvA QA~ AlDQAU?y;&A26QA҈gA(OQAA@LQAH7A)=IQAxcMA,4QAX4/ZAK~G1QAyZbAsQAe GA~S_QAKAzyWQAmAo\QArEA"QA(A2QA|^ AXPQA AoQAh A)QAZӿ A2HxQA}=D A(B-QAXj AbQA7 ApD̲QA~ A bQAs Aї6cQAW Aa^QAൂ A nvQA&AQAApZQAKl.A QA#;UA.QA AzwDAQAG8٢A*1OQAdImARQA60AB QA2A QAQhntA;;QAg;An QA TA7H2*QAADQDQACzA C{QA<;rAξQAF2AkܔnQA:AxQAE At2HQAA`fQAϐA]tQAcCABiQA\A,1QAJo'4AdQAUgA~QA_%UAI(+QA AI1ZQA #WA [XQARAlDQA ՐA QAbHAIAQA?y;&A26QAp1A#xQAn,^5A WhQA ?A'UʀQA̳6K(IA4SQAa JA-߂QA LAcQQAaa(WA+QA,0XA"QAqXA]ƉQA^A5ЊQA+bA_QAN%eAȐQA}iA"OGQA>)uiA$lQAJjA!/QAk jA QAl+7lA.QABYnAE^XQAQ*oALKQArAQAeAr&GQA A WhQA+xAu-!QA:h'@APR?$QA[ϱzSA=i{QAEvAQ:[QA[A]~TQApqA#G-hQASzAWQA<XAp|MgQAn,^5A QAsMAC QA/kYAϞ QA־AQAa YA<QA֧AQA5y$AjQA1`AAT=QA lA!FQA({A?QA6AIbbQA W󳿠AGi QA@XA~GQAg?AvQA*dA cyQA^瀡A͏AQAѩ@AW!QAA?kQA)ViIAjF QAMGA׼rQA*;*dAe}SQAcnAN#lQA<A3QA $.mAdC9"QA"A QAziAPDQAƪ3AQA՞ A]QAFA,3QA80&hAfZQA _.A1QAX@D|)A[WD A#xQAyY; A-TQAx A'~N}QAоv A~pQA[N AMfzQA7 AVΣQAx^ A⛿QA A-?ЫQAm. A|-} QA'X!n A6QAx/_[ AN1cQAc]t Ah=QAo8" ATQAAQA}1A@[=3QAoYVJAe?HQA63pAbQA*JAeQAKA wQAzAP=QAbAQA6A(pQAEL#AnQAxGA>tQA*AʮڛQAv^Aq VQA'NA1C̊QAfPAQAAj焷`QA*_AMjQA. A@|QAᳩTAo&x4#QA>%WA]`?QAc̞ABhQAɦAoLQA+A3)ٲQA8>Aa3>QAzmOU3Ao(QQA^^A#D_QQAV} aA&IYQAݡ;JA {QA1ACloQA GAd+qQA 5'AqQA>u+AI[vQA9dAADtuQAPV1AfXduQAqH%AQduQAo A"AkvQAn4.$AruQA'A@wQA9¦+-Aqw{QA/A :zQAB$6A"w{QA ?A'UʀQA1`AAshQA"AϞ QA_(A~rQA@/AOTQA(y1AVTtQA&A<MQAvhA~MQALA4tMQA8AJQAAft$,QAs]A +!QA gA4:QA"YAѺ>QAlAFQA@AJ_NQAܙ(A6zQA7߽A?XQAA }QA17_ AВ^QA"AZݠ9=QAbAR 'QAÖoAϧQAAa,QAAeQA\KfAQiQAj\A6A QAfcA QA`lAshQAIMTAo3EQA8tAamJQAؾAӥ|GQA1䒑A- QAktAf QA CyPA*QArAw QA%QAf QASDA$4 QAMӗšA\bQA͂AOAQAh(Av|vQA\AnTQA`"gRACdyQA`?SBAK`·QAY9A#DQAkLKAnMQAuZ'pA.%QA>7SAKZQAVA,ZQA{țAnQA2篁A`rysQA+6gAzG/QANA/IQAjAX3DQAIASADQA=A; @QA'E*AcCQAZNA NQA^eAFQAA3VQAQAߓLA>]QApeJA!DHUQApJ-A׷SQA06[RAA%TQA驏A%eRQAmoAlQSQA:wGA=SQA2 A3BQQAm ARbQQA$XT AOQAL#oAl/ JPQA.@ArxPQAMѝ(DAhA^;QA5w3'3Ah}QAF=A^;QA^=AiQA>尗=AI8QAé=A5QA=AWQAX=e=>AK!QANZX>AQA6U>AFfQAmTg>Ap.QAg>AAgQAAjh>AQA 0z7Am QAG?,A*QAC8,AKˆQAӤ+A;̈QA31)AvMS#QA^Y&A5+Ý=QAj!A~L'GQA , A*G<7JQAd8 A&wJQAS: AMQA*mA~*MQA 7AMuLMQALQAkqMQA!rAG rQA/ VLzAL~WQA?xA"QA ACnQApAT,>QATwA:QAL#[hA)JT^QAmqA5lQA>wAڒQAl}xAuhQA#paADχQAsYXfAT/QA \A韀 QAyVdA[3C]QA-8A>QAz=Am~QA?AZҥQA'A.[;QAk;'A45 QAt](A;WQAZsn)Aቊ {QA.ADJ[|QAU o$1A{QA'2AQ~QAw3'3Ah}QA Af.QAl}xA!DHUQA?LA4tMQAj5AOQAMѝ(DAwAڒQAmqA5lQAL#[hA)JT^QATwA:QApAT,>QA}AQAdA1QA"ΆHA4ZDQAJAQAkpA:YPQAYMAf.QATg AšQA$ AD*.ݥQA7oؗ A |QAzc& AQA&3ZaA? cQAԥAMQAt "Af͢QAAGR,QAQ,4AR;mQAE]'UAJQAhAU$QAGH Am-QAk0AQAfcA QAj\A6A QA\KfAQiQAAeQAAa,QAÖoAϧQAbAR 'QA"AZݠ9=QA17_ AВ^QAA }QA7߽A?XQAܙ(A6zQA@AJ_NQAlAFQA"YAѺ>QA gA4:QAs]A +!QAAft$,QA8AJQALA4tMQA ?; AwpQAFԈ#AT,>QA2dA1QA}AQApAT,>QA ACnQA?xA"QA/ VLzAL~WQA!rAG rQALQAkqMQAWAQAJ:A~S QAy|[AQA #AuQAFԈ#A^QAa"A"8'QAűx!AKvWQA AVQAL&sAbZQAmAſQA,#AdSQAHt8AEU AlEQA\,~0 A*ޛMQAT A"zQA?; A}QAzc& AQA7oؗ A |QA$ AD*.ݥQATg AšQAYMAf.QAkpA:YPQAJAQA"ΆHA4ZDQAdA1QAk$A&M<,QAbaA? cQA>ׯA:QAhΰ AܮoQA\AKQAGH Am-QAhAU$QAE]'UAJQAQ,4AR;mQAAGR,QAt "Af͢QAԥAMQA&3ZaA? cQAzc& AQA?; A}QAT A"zQA\,~0 A*ޛMQA>U AlEQA Az $:QA, A.mQA4L AN0 QA_ A-L^QAڴ)" A=cQAK}AHQANbA*zQAAQA AQAAQA.m=AzԂQAbaAwpQA_K AoQA+}DAU{QA-}.AQA)AnQA1/'A0{QA[xAhcsQAQ~A!kQA \A •?QA]ZA,KYQA/A7dQA eA qQAA HАQAweAW_ QAȫA¤>qQA1pA&M<,QAYmOAŕ5QAZ܀`AV:QA`AQAk$AN NGQA;AhEKOQAd&cA|7SAKZQAuZ'pA.%QAkLKAnMQAY9A#DQA`?SBAK`·QA`"gRACdyQA\AnTQAh(Av|vQA͂AOAQAMӗšA\bQASDA$4 QA%QAf QArAw QA CyPA*QAktAf QA1䒑A- QAؾAӥ|GQA8tAamJQAIMTAo3EQA`lAshQAfcA QAk0AQAGH Am-QA\AKQAhΰ AܮoQAׯA:QAfҪA/8QA4oAX}09QAATXEQA5ALe&QA ARQA8 AfQA#qA)nQABA2@ QA]#A-QAMwcBAUs (QA^9AqAvnQAE+]iApQAd&cA||A%AQA4Aܶ.QAiЕgA(,QAEɑAr#QA+z1AU\~QAI`AS QARusAsQAaAeQAa AQQA]53Au QAh㩤A~67QAKA[FEQA6ܸ6ArPiQA9AtG\qQAtSAQAIfSuAhuEmQAA8u.QAg^%AeQA"0IAw'QASIAI=*QA <An HQAUYA |TQAX:qA8YQALBA uQARmTlAŘ{QAt:AZKY1QAuAqcQAa(Ac!QA+_HA?1QAA8zQAbAhQAz6m^A[]QAR^G*AhdmQA* ^*AIuQAL,$AE(bQAԀAE_QAQAӸA?1QANsAQAu5A$QAg{l$AQAs AxrQAw{ALSQAdAW?QAMARQAdA^QAMAaYQAeR;A$qQAjfeAwjQAJFf;A=*QAӸAuHЬQA\#AP)QA .AQA[tAh:QA=$AjܤQA(ABQAw`aA.ZEQAA >QAy&AEh0QAAQA AT|A%AQA{luA])OFQA[a#AZNQAxCJAYQAYmOAŕ5QAw4A(SQAmpA,QAsAQAmpAuHЬQAsJA=AAkqMQAOmpA,QAw4A(SQAYmOAŕ5QA1pA&M<,QAȫA¤>qQAweAW_ QAA HАQA eA qQA/A7dQA]ZA,KYQA \A •?QAQ~A!kQA[xAhcsQA1/'A0{QA)AnQA-}.AQA+}DAU{QA_K AoQAbaAwpQA۸AgTwQA^AuؖQACAb<ŘQA uA< @QAI5\AhQAHt8AEAQAq%>AB~)QA)*>?A(QAS?A|gQA?A,(GQAx@AT`NQASlh#@A"8QA@AnQAsJA=AAvQA 9A.QAu}_ 0AgXQA BD/AlQAt |#A3tQA],IYA+QA`A٬QAѪAPA`)sQAӸAuHЬQAJFf;A=*QAjfeAwjQAeR;A$qQAMAaYQAdA^QAMARQAdAW?QAw{ALSQAs AxrQAg{l$AQAu5A$QAsAQAmpA,QA)*>?AvQAgf?A(QAGA,QA0LA(QA 6MAW9>|QA{(尗=A-;)WdQA ibgAQA-osAbOAϥ9QA 6TAZзQAJ?TAjtQAقzЏZAC'ΰQAWZAQA6 XA'`UQAWAgQAO|QA0LA(QAGA,QA)*>?A(QAq%>AB~)QAAjh>AQACD_~>AgQAg>AAp.QA6U>AFfQANZX>AQAX=e=>AK!QA=AWQAé=A5QA>尗=AI8QA{/>A5QAĤP@AnQAUtAATs QAv%AAQA~wVCAE QA =FA =QAuQIA>M"QAgI$KA lT2QAVnKAL7QAE=1LA7JMQAcTLA9V>VQAosAbOAϥ9QAFl<A/yQAOx@XAkQAw6cAH^QAASCQA BABQA /QAgQA[-A2jBQAu@AQQA J4AҮxd%QAB9RAv]zQAMMAUWQA"~FcA_QAi&aA.\QAAF_lnQAzނzA TQA˗A]N˪QAB隧A`;hQAHhA,n0&QAHlUbAp0}@QA.Ad< QA$TиAAYmQAt2A.QA;A%zQAKA?OIQA7T7bGAl09QAOx@XAXAhyQAOx@XAXAhyQA*xA!`pQAK"{AQAzoAߣQALiAlNQAiY*FA2ր[QAsp, A\QmQAlm>AI |QA~bGA uQAwU0BA+GebQAjzAM6QAԱ@A ?QAnr_A&3PQAOAϖQAvy e<Ar?QA|%ΔAQA/̔A\^QA'ޘAm8ЪQAx&l~Al|7QAmAi˛QAL$bA\7QAA=s.2QAx$AI+,QA<` AûQA"AW̏QA]AQA:AY:LJQAĴkAz.KQAsA~'QAxC}AcQA qAM{QAgfVQAE=1LA7JMQAVnKAL7QAgI$KA lT2QAuQIA>M"QA =FA =QA~wVCAE QAv%AAQAUtAATs QAĤP@AnQA{/>A5QA>尗=AI8QA^=AiQAF=A^;QAzxt̔=AݪhW2AxQA{M2A^OQQA2A̋S@QAw[2A0S!QAMTE2AʟrQAM2AQA I2A #QAz02A#IQA2At2QA"õl3A.IQA#93AˈRAQAC埾3AX%QAC3AtB4 QAv4ALfQAN\ 4ADQAh4AuI>QA Ϫ4A^0QAkvg5A]D^QAaAk5AddQAE޴5A㄁QAk5Afl>QAs 6AGX0QAe  6A#QA6AQyQAII6A)ˆBQAE6A\C QA86Ae QA5oYX7A QAB/7A[nVQAߡ:8AOVQA(|8AVQA7H)}O2ADsQAK1$AQA#A QA 5A!޻QA Ah8QAO*A٨ұQAv?A+[ƀQAAjKLQAЍAK=#QAc>A:EQAF5"A/|TQA<` AûQAx$AI+,QAA=s.2QAL$bA\7QAmAi˛QAx&l~Al|7QA'ޘAm8ЪQA/̔A\^QA|%ΔAQAvy e<Ar?QAOAϖQAnr_A&3PQAԱ@A ?QAjzAM6QAwU0BA+GebQA~bGA uQAlm>AI |QAsp, A\QmQAiY*FA2ր[QALiAlNQAzoAߣQAK"{AQA*xA!`pQAOx@XAXAhyQAOx@XAXAhyQA7T7bGAl09QAKA?OIQA;A%zQAt2A.QA$TиAAYmQA.Ad< QAHlUbAp0}@QAHhA,n0&QAB隧A`;hQA˗A]N˪QAzނzA TQAAF_lnQAi&aA.\QA"~FcA_QAMMAUWQAB9RAv]zQA J4AҮxd%QAu@AQQA[-A2jBQA /QAgQA BABQAASCQA6cAH^QALgAQQA?LsA'0QA[AA3QAQxAHgyQAAUAWQAGf&Aa!QAJfAQA=AeZQAtJ[A&QAUnaA;cQAoV*gyAq&QAu/P0sAЭQAUrAUfQA|n#kA(đQA4&:\A|QARIQVAW2yQAi;SAm҇QAhCEAXQA\<AkQAU<A\RQAP=ArQA& =AjSQAKf=A>fQAfꚀ<A.\QA7zV<Aݼ QAw@;AlEQA[8;Ac:QA r_A;AHPQAYLq;A /^vQAH ";A_SQA,:A`QA'?PAAaQA IMAG`g!QAcVAKQAe5ښYAQAw`aA.ZEQA(ABQA=$AjܤQA[tAh:QA .AQA\#AP)QAӸAuHЬQAѪAPA`)sQA`A٬QA],IYA+QAt |#A3tQA BD/AlQAu}_ 0AgXQA 9A.QAsJA=AAvQA5X]HAZ7\QA*KJA~۶QAWRSKA{ \VQA %_AA:EQAЍAK=#QAAjKLQAv?A+[ƀQAO*A٨ұQA Ah8QA 5A!޻QA#A QAK1$AQA7H)}O2ADsQA(|8AVQAy/8AaQQA&9n8A}8QA8A/QAj9AYQAʻ^5]8AQA#ApbQAI A|eQA io A]R!QArAQA8И(A#_BQA{xdAǐQAZ"vA 'QAX4AAkVQAPUDABsQAEAp"GQALjADrQABZAQAIAHRcQAuA8H;QA֌9A X:QA v;ZAQAYUA7SQA}kG@AGmQAE*A aQAqhrA&:QAq@'AnHQACo&A6ZtQAod6Ac\(QA1LpAB-WQA YA%}&QA&A_HQAf!AWmgQAL6A QAb\6AnQA? 7AQA&H7A7QA:F7AeQA9AhrQA], FA QA1FVFA2[WUQA6nEFA6QA}RFA\QA}QBFAQADIAHxQAb6BIAQlQAJAj}=QAdv>uJAZQA<xJACe-QAQ7mJAj5QAɩJA.C:QA`:fKAtvQAZ AeKAg/YQAIB3KA QQAKAPr6QAF>JA_;QAFJA4QA}hLIA x0~QA IAuQAUAh(=QA:>A"QAf9@A2lBQAA\G?ÄcQA%?A ]QA?A芽OQA=?Ay9QAӇX?A),1QAKLr<Aje\)QAQ;AEQAwlV;Az QA b ;AGQAqKֈ:A|QAd9ALƿQA8kH9AU`QA&f9TR:ABQAit1;ASerQAsS0;A lQA-;AaQAk^:A%QAK;AQAAB;A< QABLe;A${QA^:A.s+QA,9A< _sQA= :AfkQA*O:A7\_QAD<:A IQArئB:A56QAd+9AU:+QA79A9丒(QAX'/9A20}|QAIH9AQAxI9A$k QA:AwmQAvw;A]s QA:A}/QAEq:Af8QAyIk:A?A\j#QA<ԽA3LJUQA{AeQA42AM2QAQ=DALQQA/Aמ$ QAfoEATQA )*A$ QA=@<Aמ QA]eAC{ QA܀PoA=*QAɖADDQA+H{iA7QA`ļAȭQAA{@rWQAIpm0A]QA[k3'A( UcQAY(4AsܓhQA+/cA/lQA3A}RQA:WAOQA ?^A?~uMQAzAʞOQAARqYQA-AD|SVQAXFA N\QA76A,dQAKAceQA\AfQA&ARiQAw A$kQA*sAUrqQA :ZA-f*rQA ,gAFrQA1AwQA\iA\jiwQA aFAZ]QAf]A'/DQA0A6MQAYA&QAiق0AmDQA hAo1QAAbRQAҝFAtD3 QAr IAH#QArA3QA},Ah%QAMAXl QA94~AMsQA/VABQA٭1`A$TQA)YAĤkQA<魣2AA]QA_A-|QAzbxAnA/FQAPnd'oAwQAAfZQAg@bTA~QA)3VA zQAm}AQAx]A;ЀQAo"MA wءQAzK'սA 'VQA2rA(ΡQAa%A+QAĚ Ax˗ǢQAAѫސA#ǽQAX@D|)A[WQAzbxAnA/FQA_A-|QA<魣2AA]QA)YAĤkQA٭1`A$TQA/VABQA94~AMsQAMAXl QA},Ah%QArA3QAr IAH#QAҝFAtD3 QAAbRQA hAo1QAiق0AmDQAYA&QA0A6MQAf]A'/DQA aFAZ]QA\iA\jiwQA1AwQA?AxQA(Ax[yQAK2rAͳqyQAEA3SjzQAzGAL ~QAiuAv|IQA3/A`AQA{AQA{AQAPA&{qQA?6|AQA\(ikAµQAΛX _A8QA@sF^AB)uQAd)VAQA7{\TAV4U QA$(i<A%QAGZ1'<AEHQABU6-AlMfQA!A 껅QAEA6wn=QA+؟A`NQAnd'oAQA6Aq0QAQA&jbmQAC˿AܑQAK̰A!6"QA ^AEn';QAATwlQAn:rArQAO/A67sQAwA^ QA*|AnB#QA 8Aq_QAr AGQQARL/AQA83"A[<)QA} :@AZmQAuZAWqAQAk1sA `QAݱAq}z;QAe߸A=QA0sڗAh(QA'c A{\QA` AɊ/QAPV A{:LQA{R[ A=~YQA>D A#xQAҊ AAzQA_bA,QA=A.VQAzAy(YQA9A$PM2QAwAQAEA窄8QAAQAQm@ A :QA#ADWQAzA2YJQA쩭f'Ay8OQAMT;Ad<@'QA:/?SAaZUQAL*AQAMAׅQAޣAtଞQAީX AB6ҞQA}A.QAKGADQA#{AtQA |AwQAƏAʄQAy#̏A?QA)COfAGQA ߓ~ACo QAXuEA:DDQA AϔQAB)A|QAMAeoQAKAGxkQA@AwUQA NARHQA {ArQAeA, 1QA.QA-AQAy_;Av)QAc? AϖQA$7#AՓԋQAn$A|pQAAZm&A̘QANc*'A#QA[(A)5^QAM2AIQAU<A\RQA\<AkQAFl<AQA=AQA'f=A6zQA=AcޑoQA3,=Axb/QA(A=A./|rQAL N=A]uQAqg<AtQAxi9A~2QAj+ )A QAUq9(A`QAN6.!AaQAK(!A3ȮQA=2Ap/QAfA)XwTQA!?Adg­QAAQAEA窄8QAwAQA9A$PM2QAzAy(YQA=A.VQA_bA,QA>AzQAAo$QAī57}ACi*QAJDU?A QQAIX"AQxQAWdAaQA<:g Ap̌QA1O Ah)QA AuQAMe AQQA"rT AQA}5 Ahv#QAC'?B8 A+QA? A]-?%QAmo A"@0QA-7 AiQA A?|QAz A McDQAspdep/inst/etc/shapes/bhicv.shp0000644000176200001440000006572411716033162016225 0ustar liggesusers' 5X9ȂFH4n/i@E[[2Ve+FmnT40ACEIF4K;F 4`FIF4.oE\m4D;Eh|?4^ E;Nё440ACEoӟHA4+ݓFqmG4/ Ҍ FmnT46XFeIQ4!7 FʡEC4=~oӟFN ^54^!FfjC4Z%F"*441%e$F,/4겘|(F;T.4Ve+FqZ(4֋h+FPf4On&Fs4"lxz F:]49zF4=$@ FӼ4K;F 4pN],SFi&{4)Wx3F,g~E4 N],SFTT4N ^HFEVI4_YiBF,g~E4I.!>FVCK4Þvk6FRQI4'@6F镲 Y4)Wx3FٙB5n4d@F\t4㪲DFi&{4ڧOF%ǝi4N],SFTT4XlIFEAC4 TEJ4ME24҇.EJ4{FwE!J4 TE׻4û\wE4[ EAC4lIFE/r]4ME24PcbqmFH4[ E}"O4cbqmF94qZ|E?ܵ4=UE}"O4lIFE/r]4[ EAC4 K'IEoӟHA4F3mJ[4/ Ҍ FmnT4+ݓFqmG40ACEoӟHA4>'IE?f4;5YE `4^K=F5 Sb4F3mJ[4,FPkw4ĬFb4 o%;6*FJ{/Lv4BsF"F4k4 Fe4EFb4ĬFO;5Yk4bFlu4.=FezF4SF{4(FPkw4N],+F^hH4Ϡ)FS!u4,F-`~4o%;6*FJ{/Lv4|a25F^c4k, F{4%&F6>W[4(FPkw4SF{4.=FezF4w-!FR84sF_{fI4k, FH.4.=F>"D4V/Fܝۦ4Fmn4@aF/񝘭4LFJ4, PS#F)\4OI-FG4ui0F^c4DR2FR,4|a25F74j>",F2=a4%&F6>W[4@aF94IKEH.4.=F>"D4k, FH.4!YFfL2r4rKE#4IKE>4+H3E/iQ4qZ|E?ܵ4cbqmF947XO F(a_4eaFUMu4LFJ4@aF/񝘭4Fmn4V/Fܝۦ4.=F>"D4 .=FfL2r4jeE~j|4.=FezF4bFlu4ME*F~j|4~5E Tƿπ4镲E/Xni4jeEbg4GŧEJ_{4)DEpΈޘ4,}E镲 4!YFfL2r4k, FH.4sF_{fI4w-!FR84.=FezF4 `'@6F-`~4BsF"FmQfT4 )Wx3FٙB5n4'@6F镲 Y49(FmQfT4ao(F]4BsF"F4k4o%;6*FJ{/Lv4,F-`~4֋h/Fh:;|4)Wx3FٙB5n4 pÞvk6F镲 Y4^!FqZ(4 9/FCV?4Ve+FqZ(4겘|(F;T.41%e$F,/4Z%F"*44^!FfjC4˾+!F@߾L49(FmQfT4'@6F镲 Y4Þvk6FRQI49/FCV?4 bFlu48EeIQ4 +j0 F?o*Ra\46XFeIQ4/ Ҍ FmnT4F3mJ[4^K=F5 Sb4;5YE `4>'IE?f48Ek4~5E Tƿπ4ME*F~j|4bFlu4ĬFO;5Yk4+j0 F?o*Ra\4 ao(FO;5Yk46XFN ^54 ˾+!F@߾L4^!FfjC4=~oӟFN ^54!7 FʡEC46XFeIQ4+j0 F?o*Ra\4ĬFO;5Yk4EFb4 Fe4BsF"F4k4ao(F]49(FmQfT4˾+!F@߾L4H#J{/Ey4+yE\].4BEǝ4#J{/E\].4/L En4+yEV`4.4iEy4BEǝ4ZwgE!J45ctvEy#4ZwgEo_46ُEC5v4A_E2ZGU4_Ey4kC4EVI4 TEy#4E7[ 4DUE:45ctvE0[w4BEC9Ѷ4lED4{FwE!J4҇.EJ4odEMu45 SEZd;O4ZwgEo_4pqZ|E/r]45 SEo_4 +H3E/iQ4IKE>4ZwgEo_45 SEZd;O4odEMu4҇.EJ4ME24lIFE/r]4=UE}"O4qZ|E?ܵ4+H3E/iQ4x{FwE4ΥEC9Ѷ4 lED4BEC9Ѷ44)EL4tE뭁4ɰ72E804r@HEl&ls4ΥER4]E4*E:KT4 TE׻4{FwE!J4lED4xBE뭁4.4iE4 5ctvE0[w4rhE4#J{/E\].4BEǝ4.4iEy4lV}ER~R4r@HEl&ls4ɰ72E804tE뭁44)EL4BEC9Ѷ45ctvE0[w4~5E2ZGU4L2rE'fi4~5E Tƿπ48Ek4E'fi4EԂ}q4iWVEE*-y4pUjE@+0d}4 )?EU4L2rE?܍4aE)*4 TEy#4kC4EVI4_Ey4A_E2ZGU46ُEC5v4GŧEJ_{4jeEbg4镲E/Xni4~5E Tƿπ4`!YF>46ُE镲 4 )DEpΈޘ4GŧEJ_{46ُEC5v4ZwgEo_4IKE>4rKE#4!YFfL2r4,}E镲 4)DEpΈޘ4^ Ek4e6E14^ E;Nё44BE \04`VEYLl>%4m9E!vy%40"E14e6E//>24\wbE3:4hEmJ:4rPLE72A4E_vOF4)[Z E6a4Ejd4E'fi48Ek4>'IE?f40ACEoӟHA4^ E;Nё44En47E.'4\wbE3:4e6E//>24c]KE c642w-!EAJi34ڬ\mE.'40ACE m9*4YںEQ1߄B4g67Enq4l޹EkC8w47EzrK4/L En4#J{/E\].4rhE4DlE W4(yuESt$o4 vöEE׆qv4pUjE@+0d}4iWVEE*-y4EԂ}q4E'fi4Ejd4)[Z E6a4E_vOF4rPLE72A4hEmJ:4\wbE3:4 TE0[w4DlESt$o4 E7[ 4 TEy#4aE)*4L2rE?܍4 )?EU4pUjE@+0d}4 vöEE׆qv4(yuESt$o4DlE W4rhE45ctvE0[w4DUE:4E7[ 4ڬ\mEzrK4xb֋E:f!40ACE m9*4ڬ\mE.'4$E:f!4Nz1E+!49EUj@+04[wTE54bEEnض04"Ey@ٔ+44T㥛ĘE>x-4K$@MFk+ݣ3ZӼF43p+Fho3e ;F;f3_7F#3o_=F%3=\r=Fe13<CFnLOX3+3fOFΥ30|DLMFm3mJJF|S3 )?BFd*߿3ЛT?Fytʹ36HFVCK4֋h+FCV4  \8Fu%4f-FCV4֋h+FPf4Ve+FqZ(49/FCV?4Þvk6FRQI4I.!>FVCK4_YiBF,g~E4N ^HFEVI46HF ףp=:4S㥛DF6q*4ޓZ;FCVzN*4 \8Fu%4 +yX5)FUN3#$F@ȓ3CsFZ"F׻3a+FH4{/F^4f-FCV4 \8Fu%4p $ @F؞Y47>Fz4+3KqU[FH3K7eFh\83|?5^jF x#3'XQgFP}:3k `F {3~k,aFJFž3#'ILRF|S3Mg'Fho3ЛT?Fytʹ3 )?BFd*߿3mJJF|S30|DLMFm3fOFΥ3.V`RFQi>3'ILRFQfL23$ IFnS3`<2F?3`<2FJ͖3e6$7FnS3e6$?Fm3(XQAF2=a39#JGFNP3zGF3eIEFx3T:XHF%1 3 IFnnLOXz3%?'I@FUN3[ΥFq&3e6$7FnS3`<2FJ͖3ao(FJ +3Nz!Fq&3ZӼF43>$@MFk+ݣ3F*D/3[ΥFg,N3eI)FCV3F2r3?FF ^3:#J{F 3 FJY83- PS&F:f3>yX5)FUN3L,FQQ3*g\,Fe 39}/FfN3_7F#3e ;F;f3|w>Fho3Mg'yX5)Fj4c F 3#$F@ȓ3>yX5)FUN3- PS&F:f3 FJY83:#J{F 3?FF ^3ǵFn43-# F*D3c F7l[3B&9 F48E3K7AFu<4ep:Fj4 F Y 4CsFZ"F׻3#$F@ȓ3'p{/F:]49zF׻3 a+FH4CsFZ"F׻3 F Y 4ep:Fj49zF4"lxz F:]4On&Fs4֋h+FPf4f-FCV4{/F^4a+FH4(`ep:F4`F7l[3 9zF4ep:Fj4K7AFu<4B&9 F48E3c F7l[3`FIF4K;F 4=$@ FӼ49zF4)h?F7l[3^)F2r3 ?FF ^3F2r3{Fխ37F#-#3^)F̒53׆qFY3c F7l[3-# F*D3ǵFn43?FF ^3*F&S3Evi}3 d]KFɰ7237l[Evi}3E|~3E c31%eFs3p|%FHh3?mFfIZ3UBF&S3jjZ_FQ3j F x3[ΥFg,N3F*D/3d]KFɰ723+>$@MF*D/3jE8b->e3 E$]3E(ye3ʦE8b->e30BE7q3jE9w37l[Evi}3d]KFɰ723F*D/3>$@MFk+ݣ3x@ٔF,Ԛ3 3mFIc3 Feq3UwEEMr3E$]3E(ye3,peI)Fխ3HPEg,N3 eI)FCV3[ΥFg,N3j F x3jjZ_FQ3UBF&S3?mFfIZ3HPE-xW37F#-#3{Fխ3F2r3eI)FCV3-PvBFD )3bE5F gz3vBFhUM3WLAF gz3@ٔ+7F 3bE5Fq]3)[Z 9Fp>?3:f=FD )3vBFhUM3.ףp= SF.s,&n3&†Fׁ#3+ݓKF/ L3ףp= SFAe;3cZB>4Fׁ#31=a/FK;3tYLl&F)Wx?3&†F&pnF3gaO;!F cZBV3j3nOFClo3RZEF.s,&n3tEFj3nOFClo30rZ| pF&6׆3I CFYB33CR[F;k]83c*WFYB33ףp= SFAe;3+ݓKF/ L30{DFNE*-T3LۿFF)*X3I CFQb3RZEF.s,&n3nOFClo3N»\TFP>j33kXF'ILn3RDU]F6[3TdF"3(raF Tƿ3~dF&6׆3rZ| pFxy3!qgFOupk3&9 {fF2a3`7l[`Fh˹WU3CR[F;k]831tEFJ͖3t//(Fͯl3 tEF?3bE5Fq]3@ٔ+7F 3WLAF gz3tEF4Fy]B3uv28JFÞvk2x@!FQ,2XFÞvk2g F02.! FL3_F@"23{F!A 3 3uv28JFt4Fׁ#3iQ0F9m43x@!FQ,23XtYLl&F cZBV3ض(AFY4 .3&†F&pnF3tYLl&F)Wx?3`e3E$]3E(ye3UwEEMr3 Feq3)" Fl[k3鲘F:n37P{FIc3 Fl[k3wN#Fs]w3鲘F:n3)" Fl[k3 Feq3 3mFIc3{Fy3wN#Fs]w38qrCQF`E"Dl3hUE[_$t3~E̯3I.!EQq3?5^IEIFv3++ME/ n3:@-!lEq>?40|DE;63='o|Eq>?4-!lE;630|DE Ac3 %E_L4='o|Eq>?4;eE Ac3JiWE+p3n\E4)ݾ3PE+p3q>?E~nؾ3kC8E$#ga3JiWErZ| 3`Exz,C3}:3E{Fw3E5Y3nQfLE#gaO;30|DE Ac3-!lE;639]EW3eE~53&E03YEG3FEjq3n\E4)ݾ3<h.oE;Nё44='o|EW3 SZE0 49]EW3-!lE;63='o|Eq>?4&6׆EH.4BE \04^ E;Nё44D;Eh|?4.oE\m4SZE0 4=c F\m4&E<3 7F#-#3HPE-xW3)?E<3&E03eE~539]EW3SZE0 4.oE\m4`FIF4c F7l[3׆qFY3^)F̒537F#-#3>h&6׆E \040"E_L4 &6׆EH.4='o|Eq>?4 %E_L4e6E`<4bbqEa7l[40"E14m9E!vy%4`VEYLl>%4BE \04&6׆EH.4?p1%eFQHm38E|~3 E c3E|~3sEN ^3ʉvEy#3hbEvN38EQHm3g67EH}3TtxE ui3ҤEb3ZӼET3oꐛE_x3hbEvN3ʉvEy#3sEN ^3E|~37l[Evi}3jE9w30BE7q3\wbEc]Fc36TEb->`3/E|GR3EKToM3C(A&EVy4 ?E~nؾ3܀#EF_A3L1E#S36240"E14bbqEa7l[4(A&E9d3jtEx( 3KE1ZGU4aO;5EVy4ySE9#J{3FpL1E@H03w/E}3 x&1Ei5$3>xE ui3I2E}3 F6E673}гYEIh˹3w/E %3Ù_Eum3ۊeE@H036xE ui3x&1Ei5$3L1E#S3܀#EF_A3q>?E~nؾ3PE+p3EݰmQ3H F6Eݰm3?ܵE"Dl3 F6E673++ME/ n3?5^IEIFv3I.!EQq3~E̯3hUE[_$t3z6>E"Dl3h\8E`TR'x3IcE!}3*EKԲ3=aEGŧ3?ܵET[3k E,i3ExW3rZ| E*3KqUEݰm3}iEDL$z3d@zE32YسE1ZGU3ΥE,d3}гYEIh˹3 F6E673IX}гYE0{3]mEIh˹3w/E %3}гYEIh˹3ΥE,d32YسE1ZGU3]mEz13%̴E0{36TEiƢ3w/E %3JE"[='3Esw2|~!`3\wbEc]Fc30BE7q3ʦE8b->e3t{IcE`x-4"Ey@ٔ+44bEEnض04[wTE549EUj@+04Nz1E+!4 BE 4$E94V/E鲘4U&kԷE£#3/iQE1ZGU3 ?\3-9(Es?3uEBxqB3 EXO@3-9(Es?3^hHEKU3_ DEV V328J^Ep>?\3[ E0[wT37E]].[3EK8U3vۅE4cT3D4إEU+~I3+ٱE vöEI3 <.E vA3uEBxqB3Yh\8ET[3ecqEo_O3z6>E"Dl3E"f3䠄Ec3K=E'†WR3'kC4~Eo_O3*t^cxE׻W3QtEK;m3 vöqEdn3ecqEx3yE,g~530L FEĬCy3UEZӼt3Yni5$Eg~53?ܵET[3=aEGŧ3*EKԲ3IcE!}3h\8E`TR'x3z6>E"Dl3Z`i5$E"f3䠄E0[wT3 i5$E7T7a3[ E0[wT328J^Ep>?\3_ DEV V3^hHEKU3D$]E}bY3䠄Ec3E"f3i5$E7T7a3[KEm 4>?^EP0A3"lEM3@ٔ+gEP0A3!YfE p3([fEI3\mbE:]3mE?'I3= iEM3!7 dE1*3X4`E3%̴+cE#0347^EU3>?^EN4_E164?ܵlEOz14YrEm 4׆qvE}\* 4c AJEP6 4|͍Eխ4KEמY35)^EIV3+ |Er3܀31ZGuEP23 'tE [t3"lEM3\xk Er3܀3 'tEg~53 k E,i3?ܵET[3Yni5$Eg~53:pΈE /3Wc#{E{13aۢvE.o3 'tE [t31ZGuEP23+ |Er3܀35)^EIV3N ^Eܵ|3k E,i3]hmEM3n/i@EB 3 mE?'I3\mbE:]3M\EB 3n/i@EGz3FE[%X35HE13%ǝRE6o3!7 dE1*3= iEM3mE?'I3^gE-R\%3gCEUj@+2fE+j29 {EUj@+2.oE9d2: Es`2mV}ES.2REXs`2gCE2}3^TEq"3=ڡE-R\%3%ǩEZwg3VyEf3gE+ݓ2s߉YE(IL2fE+j2_h\4ElIF~2ݓEѩ+U2 ڧ1ErCQg2\4Ef-f2AfEl`q8[2~TEѩ+U2&E %\2X2ıE}"Oj2ݓEK=m2ĬEXQix2CRElIF~2ڧ1ErCQg2`` 7Eu?^EN447^EU3%̴+cE#03X4`E3spdep/inst/etc/shapes/boston_tracts.dbf0000644000176200001440000114311312157606620017752 0ustar liggesusers_iWpoltractCPTOWNCPTOWNNON TRACTN LONNLATNMEDVNCMEDVNCRIMNZNNINDUSNCHASCPNOXNRMNAGENDISNRADN TAXN PTRATIONBNLSTATN 2011 Nahant 0 2011 -70.954999999999998 42.255000000000003 24.000000000000000 24.000000000000000 0.006320000000000 18.000000000000000 2.3100000000000000 0.538000000000000 6.575000000000000 65.200000000000003 4.090000000000000 1 296 15.300000000000001 396.899999999999977 4.980000000000000 2021 Swampscott 1 2021 -70.950000000000003 42.287500000000001 21.600000000000001 21.600000000000001 0.027310000000000 0.000000000000000 7.0700000000000000 0.469000000000000 6.421000000000000 78.900000000000006 4.967100000000000 2 242 17.800000000000001 396.899999999999977 9.140000000000001 2022 Swampscott 1 2022 -70.936000000000007 42.283000000000001 34.700000000000003 34.700000000000003 0.027290000000000 0.000000000000000 7.0700000000000000 0.469000000000000 7.185000000000000 61.100000000000001 4.967100000000000 2 242 17.800000000000001 392.829999999999984 4.030000000000000 2031 Marblehead 2 2031 -70.927999999999997 42.292999999999999 33.399999999999999 33.399999999999999 0.032370000000000 0.000000000000000 2.1800000000000000 0.458000000000000 6.998000000000000 45.799999999999997 6.062200000000000 3 222 18.699999999999999 394.629999999999995 2.940000000000000 2032 Marblehead 2 2032 -70.921999999999997 42.298000000000002 36.200000000000003 36.200000000000003 0.069050000000000 0.000000000000000 2.1800000000000000 0.458000000000000 7.147000000000000 54.200000000000003 6.062200000000000 3 222 18.699999999999999 396.899999999999977 5.330000000000000 2033 Marblehead 2 2033 -70.916499999999999 42.304000000000002 28.699999999999999 28.699999999999999 0.029850000000000 0.000000000000000 2.1800000000000000 0.458000000000000 6.430000000000000 58.700000000000003 6.062200000000000 3 222 18.699999999999999 394.120000000000005 5.210000000000000 2041 Salem 3 2041 -70.936000000000007 42.296999999999997 22.899999999999999 22.899999999999999 0.088290000000000 12.500000000000000 7.8700000000000000 0.524000000000000 6.012000000000000 66.599999999999994 5.560500000000000 5 311 15.199999999999999 395.600000000000023 12.430000000000000 2042 Salem 3 2042 -70.937500000000000 42.310000000000002 27.100000000000001 22.100000000000001 0.144550000000000 12.500000000000000 7.8700000000000000 0.524000000000000 6.172000000000000 96.099999999999994 5.950500000000000 5 311 15.199999999999999 396.899999999999977 19.149999999999999 2043 Salem 3 2043 -70.933000000000007 42.311999999999998 16.500000000000000 16.500000000000000 0.211240000000000 12.500000000000000 7.8700000000000000 0.524000000000000 5.631000000000000 100.000000000000000 6.082100000000000 5 311 15.199999999999999 386.629999999999995 29.930000000000000 2044 Salem 3 2044 -70.929000000000002 42.316000000000003 18.899999999999999 18.899999999999999 0.170040000000000 12.500000000000000 7.8700000000000000 0.524000000000000 6.004000000000000 85.900000000000006 6.592100000000000 5 311 15.199999999999999 386.709999999999980 17.100000000000001 2045 Salem 3 2045 -70.935000000000002 42.316000000000003 15.000000000000000 15.000000000000000 0.224890000000000 12.500000000000000 7.8700000000000000 0.524000000000000 6.377000000000000 94.299999999999997 6.346700000000000 5 311 15.199999999999999 392.519999999999982 20.449999999999999 2046 Salem 3 2046 -70.944000000000003 42.317000000000000 18.899999999999999 18.899999999999999 0.117470000000000 12.500000000000000 7.8700000000000000 0.524000000000000 6.009000000000000 82.900000000000006 6.226700000000000 5 311 15.199999999999999 396.899999999999977 13.270000000000000 2047 Salem 3 2047 -70.950999999999993 42.305999999999997 21.699999999999999 21.699999999999999 0.093780000000000 12.500000000000000 7.8700000000000000 0.524000000000000 5.889000000000000 39.000000000000000 5.450900000000000 5 311 15.199999999999999 390.500000000000000 15.710000000000001 2051 Lynn 4 2051 -70.964500000000001 42.292000000000002 20.399999999999999 20.399999999999999 0.629760000000000 0.000000000000000 8.1400000000000010 0.538000000000000 5.949000000000000 61.799999999999997 4.707500000000000 4 307 21.000000000000000 396.899999999999977 8.260000000000000 2052 Lynn 4 2052 -70.971999999999994 42.286999999999999 18.199999999999999 18.199999999999999 0.637960000000000 0.000000000000000 8.1400000000000010 0.538000000000000 6.096000000000000 84.500000000000000 4.461900000000000 4 307 21.000000000000000 380.019999999999982 10.260000000000000 2053 Lynn 4 2053 -70.976500000000001 42.293999999999997 19.899999999999999 19.899999999999999 0.627390000000000 0.000000000000000 8.1400000000000010 0.538000000000000 5.834000000000000 56.500000000000000 4.498600000000000 4 307 21.000000000000000 395.620000000000005 8.470000000000001 2054 Lynn 4 2054 -70.986999999999995 42.298499999999997 23.100000000000001 23.100000000000001 1.053930000000000 0.000000000000000 8.1400000000000010 0.538000000000000 5.935000000000000 29.300000000000001 4.498600000000000 4 307 21.000000000000000 386.850000000000023 6.580000000000000 2055 Lynn 4 2055 -70.977999999999994 42.284999999999997 17.500000000000000 17.500000000000000 0.784200000000000 0.000000000000000 8.1400000000000010 0.538000000000000 5.990000000000000 81.700000000000003 4.257900000000000 4 307 21.000000000000000 386.750000000000000 14.670000000000000 2056 Lynn 4 2056 -70.992500000000007 42.282499999999999 20.199999999999999 20.199999999999999 0.802710000000000 0.000000000000000 8.1400000000000010 0.538000000000000 5.456000000000000 36.600000000000001 3.796500000000000 4 307 21.000000000000000 288.990000000000009 11.690000000000000 2057 Lynn 4 2057 -70.988000000000000 42.277600000000000 18.199999999999999 18.199999999999999 0.725800000000000 0.000000000000000 8.1400000000000010 0.538000000000000 5.727000000000000 69.500000000000000 3.796500000000000 4 307 21.000000000000000 390.949999999999989 11.279999999999999 2058 Lynn 4 2058 -70.983500000000006 42.277000000000001 13.600000000000000 13.600000000000000 1.251790000000000 0.000000000000000 8.1400000000000010 0.538000000000000 5.570000000000000 98.099999999999994 3.797900000000000 4 307 21.000000000000000 376.569999999999993 21.020000000000000 2059 Lynn 4 2059 -70.981999999999999 42.280999999999999 19.600000000000001 19.600000000000001 0.852040000000000 0.000000000000000 8.1400000000000010 0.538000000000000 5.965000000000000 89.200000000000003 4.012300000000000 4 307 21.000000000000000 392.529999999999973 13.830000000000000 2060 Lynn 4 2060 -70.977500000000006 42.279000000000003 15.199999999999999 15.199999999999999 1.232470000000000 0.000000000000000 8.1400000000000010 0.538000000000000 6.142000000000000 91.700000000000003 3.976900000000000 4 307 21.000000000000000 396.899999999999977 18.719999999999999 2061 Lynn 4 2061 -70.972999999999999 42.279000000000003 14.500000000000000 14.500000000000000 0.988430000000000 0.000000000000000 8.1400000000000010 0.538000000000000 5.813000000000000 100.000000000000000 4.095200000000000 4 307 21.000000000000000 394.540000000000020 19.879999999999999 2062 Lynn 4 2062 -70.969300000000004 42.281599999999997 15.600000000000000 15.600000000000000 0.750260000000000 0.000000000000000 8.1400000000000010 0.538000000000000 5.924000000000000 94.099999999999994 4.399600000000000 4 307 21.000000000000000 394.329999999999984 16.300000000000001 2063 Lynn 4 2063 -70.963999999999999 42.283999999999999 13.900000000000000 13.900000000000000 0.840540000000000 0.000000000000000 8.1400000000000010 0.538000000000000 5.599000000000000 85.700000000000003 4.454600000000000 4 307 21.000000000000000 303.420000000000016 16.510000000000002 2064 Lynn 4 2064 -70.959699999999998 42.286999999999999 16.600000000000001 16.600000000000001 0.671910000000000 0.000000000000000 8.1400000000000010 0.538000000000000 5.813000000000000 90.299999999999997 4.682000000000000 4 307 21.000000000000000 376.879999999999995 14.810000000000000 2065 Lynn 4 2065 -70.959699999999998 42.282499999999999 14.800000000000001 14.800000000000001 0.955770000000000 0.000000000000000 8.1400000000000010 0.538000000000000 6.047000000000000 88.799999999999997 4.453400000000000 4 307 21.000000000000000 306.379999999999995 17.280000000000001 2066 Lynn 4 2066 -70.956999999999994 42.280000000000001 18.399999999999999 18.399999999999999 0.772990000000000 0.000000000000000 8.1400000000000010 0.538000000000000 6.495000000000000 94.400000000000006 4.454700000000000 4 307 21.000000000000000 387.939999999999998 12.800000000000001 2067 Lynn 4 2067 -70.950999999999993 42.277999999999999 21.000000000000000 21.000000000000000 1.002450000000000 0.000000000000000 8.1400000000000010 0.538000000000000 6.674000000000000 87.299999999999997 4.239000000000000 4 307 21.000000000000000 380.230000000000018 11.980000000000000 2068 Lynn 4 2068 -70.966999999999999 42.279000000000003 12.699999999999999 12.699999999999999 1.130810000000000 0.000000000000000 8.1400000000000010 0.538000000000000 5.713000000000000 94.099999999999994 4.233000000000000 4 307 21.000000000000000 360.170000000000016 22.600000000000001 2069 Lynn 4 2069 -70.963999999999999 42.276499999999999 14.500000000000000 14.500000000000000 1.354720000000000 0.000000000000000 8.1400000000000010 0.538000000000000 6.072000000000000 100.000000000000000 4.175000000000000 4 307 21.000000000000000 376.730000000000018 13.039999999999999 2070 Lynn 4 2070 -70.971999999999994 42.276499999999999 13.199999999999999 13.199999999999999 1.387990000000000 0.000000000000000 8.1400000000000010 0.538000000000000 5.950000000000000 82.000000000000000 3.990000000000000 4 307 21.000000000000000 232.599999999999994 27.710000000000001 2071 Lynn 4 2071 -70.979500000000002 42.276000000000003 13.100000000000000 13.100000000000000 1.151720000000000 0.000000000000000 8.1400000000000010 0.538000000000000 5.701000000000000 95.000000000000000 3.787200000000000 4 307 21.000000000000000 358.769999999999982 18.350000000000001 2072 Lynn 4 2072 -70.977500000000006 42.271999999999998 13.500000000000000 13.500000000000000 1.612820000000000 0.000000000000000 8.1400000000000010 0.538000000000000 6.096000000000000 96.900000000000006 3.759800000000000 4 307 21.000000000000000 248.310000000000002 20.340000000000000 2081 Sargus 5 2081 -71.000000000000000 42.270000000000003 18.899999999999999 18.899999999999999 0.064170000000000 0.000000000000000 5.9600000000000000 0.499000000000000 5.933000000000000 68.200000000000003 3.360300000000000 5 279 19.199999999999999 396.899999999999977 9.680000000000000 2082 Sargus 5 2082 -71.007999999999996 42.274500000000003 20.000000000000000 20.000000000000000 0.097440000000000 0.000000000000000 5.9600000000000000 0.499000000000000 5.841000000000000 61.399999999999999 3.377900000000000 5 279 19.199999999999999 377.560000000000002 11.410000000000000 2083 Sargus 5 2083 -71.004000000000005 42.286499999999997 21.000000000000000 21.000000000000000 0.080140000000000 0.000000000000000 5.9600000000000000 0.499000000000000 5.850000000000000 41.500000000000000 3.934200000000000 5 279 19.199999999999999 396.899999999999977 8.770000000000000 2084 Sargus 5 2084 -71.019999999999996 42.287500000000001 24.699999999999999 24.199999999999999 0.175050000000000 0.000000000000000 5.9600000000000000 0.499000000000000 5.966000000000000 30.199999999999999 3.847300000000000 5 279 19.199999999999999 393.430000000000007 10.130000000000001 2091 Lynnfield 6 2091 -71.013000000000005 42.313000000000002 30.800000000000001 30.800000000000001 0.027630000000000 75.000000000000000 2.9500000000000000 0.428000000000000 6.595000000000000 21.800000000000001 5.401100000000000 3 252 18.300000000000001 395.629999999999995 4.320000000000000 2092 Lynnfield 6 2092 -71.030000000000001 42.323999999999998 34.899999999999999 34.899999999999999 0.033590000000000 75.000000000000000 2.9500000000000000 0.428000000000000 7.024000000000000 15.800000000000001 5.401100000000000 3 252 18.300000000000001 395.620000000000005 1.980000000000000 2101 Peabody 7 2101 -71.004000000000005 42.335000000000001 26.600000000000001 26.600000000000001 0.127440000000000 0.000000000000000 6.9100000000000000 0.448000000000000 6.770000000000000 2.900000000000000 5.720900000000000 3 233 17.899999999999999 385.410000000000025 4.840000000000000 2102 Peabody 7 2102 -71.003000000000000 42.323500000000003 25.300000000000001 25.300000000000001 0.141500000000000 0.000000000000000 6.9100000000000000 0.448000000000000 6.169000000000000 6.600000000000000 5.720900000000000 3 233 17.899999999999999 383.370000000000005 5.810000000000000 2103 Peabody 7 2103 -70.977500000000006 42.323700000000002 24.699999999999999 24.699999999999999 0.159360000000000 0.000000000000000 6.9100000000000000 0.448000000000000 6.211000000000000 6.500000000000000 5.720900000000000 3 233 17.899999999999999 394.459999999999980 7.440000000000000 2104 Peabody 7 2104 -70.967500000000001 42.317000000000000 21.199999999999999 21.199999999999999 0.122690000000000 0.000000000000000 6.9100000000000000 0.448000000000000 6.069000000000000 40.000000000000000 5.720900000000000 3 233 17.899999999999999 389.389999999999986 9.550000000000001 2105 Peabody 7 2105 -70.972499999999997 42.307499999999997 19.300000000000001 19.300000000000001 0.171420000000000 0.000000000000000 6.9100000000000000 0.448000000000000 5.682000000000000 33.799999999999997 5.100400000000000 3 233 17.899999999999999 396.899999999999977 10.210000000000001 2106 Peabody 7 2106 -70.965000000000003 42.307499999999997 20.000000000000000 20.000000000000000 0.188360000000000 0.000000000000000 6.9100000000000000 0.448000000000000 5.786000000000000 33.299999999999997 5.100400000000000 3 233 17.899999999999999 396.899999999999977 14.150000000000000 2107 Peabody 7 2107 -70.956000000000003 42.312500000000000 16.600000000000001 16.600000000000001 0.229270000000000 0.000000000000000 6.9100000000000000 0.448000000000000 6.030000000000000 85.500000000000000 5.689400000000000 3 233 17.899999999999999 392.740000000000009 18.800000000000001 2108 Peabody 7 2108 -70.954999999999998 42.316499999999998 14.400000000000000 14.400000000000000 0.253870000000000 0.000000000000000 6.9100000000000000 0.448000000000000 5.399000000000000 95.299999999999997 5.870000000000000 3 233 17.899999999999999 396.899999999999977 30.809999999999999 2109 Peabody 7 2109 -70.952500000000001 42.320799999999998 19.399999999999999 19.399999999999999 0.219770000000000 0.000000000000000 6.9100000000000000 0.448000000000000 5.602000000000000 62.000000000000000 6.087700000000000 3 233 17.899999999999999 396.899999999999977 16.199999999999999 2111 Danvers 8 2111 -70.950999999999993 42.334000000000003 19.699999999999999 19.699999999999999 0.088730000000000 21.000000000000000 5.6400000000000000 0.439000000000000 5.963000000000000 45.700000000000003 6.814700000000000 4 243 16.800000000000001 395.560000000000002 13.449999999999999 2112 Danvers 8 2112 -70.962999999999994 42.338200000000001 20.500000000000000 20.500000000000000 0.043370000000000 21.000000000000000 5.6400000000000000 0.439000000000000 6.115000000000000 63.000000000000000 6.814700000000000 4 243 16.800000000000001 393.970000000000027 9.430000000000000 2113 Danvers 8 2113 -70.957999999999998 42.345999999999997 25.000000000000000 25.000000000000000 0.053600000000000 21.000000000000000 5.6400000000000000 0.439000000000000 6.511000000000000 21.100000000000001 6.814700000000000 4 243 16.800000000000001 396.899999999999977 5.280000000000000 2114 Danvers 8 2114 -70.977999999999994 42.342500000000001 23.399999999999999 23.399999999999999 0.049810000000000 21.000000000000000 5.6400000000000000 0.439000000000000 5.998000000000000 21.399999999999999 6.814700000000000 4 243 16.800000000000001 396.899999999999977 8.430000000000000 2121 Middleton 9 2121 -71.017499999999998 42.371499999999997 18.899999999999999 18.899999999999999 0.013600000000000 75.000000000000000 4.0000000000000000 0.410000000000000 5.888000000000000 47.600000000000001 7.319700000000000 3 469 21.100000000000001 396.899999999999977 14.800000000000001 2141 Topsfield 10 2141 -70.962500000000006 42.381000000000000 35.399999999999999 35.399999999999999 0.013110000000000 90.000000000000000 1.2200000000000000 0.403000000000000 7.249000000000000 21.899999999999999 8.696600000000000 5 226 17.899999999999999 395.930000000000007 4.810000000000000 2151 Hamilton 11 2151 -70.930000000000007 42.374000000000002 24.699999999999999 24.699999999999999 0.020550000000000 85.000000000000000 0.7400000000000000 0.410000000000000 6.383000000000000 35.700000000000003 9.187600000000000 2 313 17.300000000000001 396.899999999999977 5.770000000000000 2161 Wenham 12 2161 -70.929500000000004 42.371499999999997 31.600000000000001 31.600000000000001 0.014320000000000 100.000000000000000 1.3200000000000000 0.411000000000000 6.816000000000000 40.500000000000000 8.324800000000000 5 256 15.100000000000000 392.899999999999977 3.950000000000000 2171 Beverly 13 2171 -70.938500000000005 42.345999999999997 23.300000000000001 23.300000000000001 0.154450000000000 25.000000000000000 5.1300000000000000 0.453000000000000 6.145000000000000 29.199999999999999 7.814800000000000 8 284 19.699999999999999 390.680000000000007 6.860000000000000 2172 Beverly 13 2172 -70.939999999999998 42.332000000000001 19.600000000000001 19.600000000000001 0.103280000000000 25.000000000000000 5.1300000000000000 0.453000000000000 5.927000000000000 47.200000000000003 6.932000000000000 8 284 19.699999999999999 396.899999999999977 9.220000000000001 2173 Beverly 13 2173 -70.930000000000007 42.337000000000003 18.699999999999999 18.699999999999999 0.149320000000000 25.000000000000000 5.1300000000000000 0.453000000000000 5.741000000000000 66.200000000000003 7.225400000000000 8 284 19.699999999999999 395.110000000000014 13.150000000000000 2174 Beverly 13 2174 -70.930000000000007 42.327500000000001 16.000000000000000 16.000000000000000 0.171710000000000 25.000000000000000 5.1300000000000000 0.453000000000000 5.966000000000000 93.400000000000006 6.818500000000000 8 284 19.699999999999999 378.079999999999984 14.440000000000000 2175 Beverly 13 2175 -70.921499999999995 42.332000000000001 22.199999999999999 22.199999999999999 0.110270000000000 25.000000000000000 5.1300000000000000 0.453000000000000 6.456000000000000 67.799999999999997 7.225500000000000 8 284 19.699999999999999 396.899999999999977 6.730000000000000 2176 Beverly 13 2176 -70.907499999999999 42.338999999999999 25.000000000000000 25.000000000000000 0.126500000000000 25.000000000000000 5.1300000000000000 0.453000000000000 6.762000000000000 43.399999999999999 7.980900000000000 8 284 19.699999999999999 395.579999999999984 9.500000000000000 2181 Manchester 14 2181 -70.859999999999999 42.344999999999999 33.000000000000000 33.000000000000000 0.019510000000000 17.500000000000000 1.3800000000000000 0.416100000000000 7.104000000000000 59.500000000000000 9.222899999999999 3 216 18.600000000000001 393.240000000000009 8.050000000000001 3301 North Reading 15 3301 -71.045000000000002 42.344999999999999 23.500000000000000 23.500000000000000 0.035840000000000 80.000000000000000 3.3700000000000000 0.398000000000000 6.290000000000000 17.800000000000001 6.611500000000000 4 337 16.100000000000001 396.899999999999977 4.670000000000000 3302 North Reading 15 3302 -71.069000000000003 42.352499999999999 19.399999999999999 19.399999999999999 0.043790000000000 80.000000000000000 3.3700000000000000 0.398000000000000 5.787000000000000 31.100000000000001 6.611500000000000 4 337 16.100000000000001 396.899999999999977 10.240000000000000 3311 Wilmington 16 3311 -71.090000000000003 42.336199999999998 22.000000000000000 22.000000000000000 0.057890000000000 12.500000000000000 6.0700000000000000 0.409000000000000 5.878000000000000 21.399999999999999 6.498000000000000 4 345 18.899999999999999 396.209999999999980 8.100000000000000 3312 Wilmington 16 3312 -71.108000000000004 42.340000000000003 17.399999999999999 17.399999999999999 0.135540000000000 12.500000000000000 6.0700000000000000 0.409000000000000 5.594000000000000 36.799999999999997 6.498000000000000 4 345 18.899999999999999 396.899999999999977 13.090000000000000 3313 Wilmington 16 3313 -71.111000000000004 42.326999999999998 20.899999999999999 20.899999999999999 0.128160000000000 12.500000000000000 6.0700000000000000 0.409000000000000 5.885000000000000 33.000000000000000 6.498000000000000 4 345 18.899999999999999 396.899999999999977 8.789999999999999 3321 Burlington 17 3321 -71.120999999999995 42.316000000000003 24.199999999999999 24.199999999999999 0.088260000000000 0.000000000000000 10.8100000000000000 0.413000000000000 6.417000000000000 6.600000000000000 5.287300000000000 4 305 19.199999999999999 383.730000000000018 6.720000000000000 3322 Burlington 17 3322 -71.109499999999997 42.300800000000002 21.699999999999999 21.699999999999999 0.158760000000000 0.000000000000000 10.8100000000000000 0.413000000000000 5.961000000000000 17.500000000000000 5.287300000000000 4 305 19.199999999999999 376.939999999999998 9.880000000000001 3323 Burlington 17 3323 -71.129999999999995 42.305000000000000 22.800000000000001 22.800000000000001 0.091640000000000 0.000000000000000 10.8100000000000000 0.413000000000000 6.065000000000000 7.800000000000000 5.287300000000000 4 305 19.199999999999999 390.910000000000025 5.520000000000000 3324 Burlington 17 3324 -71.123000000000005 42.292000000000002 23.399999999999999 23.399999999999999 0.195390000000000 0.000000000000000 10.8100000000000000 0.413000000000000 6.245000000000000 6.200000000000000 5.287300000000000 4 305 19.199999999999999 377.170000000000016 7.540000000000000 3331 Woburn 18 3331 -71.110500000000002 42.289000000000001 24.100000000000001 24.100000000000001 0.078960000000000 0.000000000000000 12.8300000000000000 0.437000000000000 6.273000000000000 6.000000000000000 4.251500000000000 5 398 18.699999999999999 394.920000000000016 6.780000000000000 3332 Woburn 18 3332 -71.099999999999994 42.287500000000001 21.399999999999999 21.399999999999999 0.095120000000000 0.000000000000000 12.8300000000000000 0.437000000000000 6.286000000000000 45.000000000000000 4.502600000000000 5 398 18.699999999999999 383.230000000000018 8.940000000000000 3333 Woburn 18 3333 -71.090000000000003 42.283499999999997 20.000000000000000 20.000000000000000 0.101530000000000 0.000000000000000 12.8300000000000000 0.437000000000000 6.279000000000000 74.500000000000000 4.052200000000000 5 398 18.699999999999999 373.660000000000025 11.970000000000001 3334 Woburn 18 3334 -71.075999999999993 42.289499999999997 20.800000000000001 20.800000000000001 0.087070000000000 0.000000000000000 12.8300000000000000 0.437000000000000 6.140000000000000 45.799999999999997 4.090500000000000 5 398 18.699999999999999 386.959999999999980 10.270000000000000 3335 Woburn 18 3335 -71.090500000000006 42.295000000000002 21.199999999999999 21.199999999999999 0.056460000000000 0.000000000000000 12.8300000000000000 0.437000000000000 6.232000000000000 53.700000000000003 5.014100000000000 5 398 18.699999999999999 386.399999999999977 12.340000000000000 3336 Woburn 18 3336 -71.090999999999994 42.305000000000000 20.300000000000001 20.300000000000001 0.083870000000000 0.000000000000000 12.8300000000000000 0.437000000000000 5.874000000000000 36.600000000000001 4.502600000000000 5 398 18.699999999999999 396.060000000000002 9.100000000000000 3341 Reading 19 3341 -71.068500000000000 42.308000000000000 28.000000000000000 28.000000000000000 0.041130000000000 25.000000000000000 4.8600000000000000 0.426000000000000 6.727000000000000 33.500000000000000 5.400700000000000 4 281 19.000000000000000 396.899999999999977 5.290000000000000 3342 Reading 19 3342 -71.069000000000003 42.314999999999998 23.899999999999999 23.899999999999999 0.044620000000000 25.000000000000000 4.8600000000000000 0.426000000000000 6.619000000000000 70.400000000000006 5.400700000000000 4 281 19.000000000000000 395.629999999999995 7.220000000000000 3343 Reading 19 3343 -71.067499999999995 42.326000000000001 24.800000000000001 24.800000000000001 0.036590000000000 25.000000000000000 4.8600000000000000 0.426000000000000 6.302000000000000 32.200000000000003 5.400700000000000 4 281 19.000000000000000 396.899999999999977 6.720000000000000 3344 Reading 19 3344 -71.057500000000005 42.317000000000000 22.899999999999999 22.899999999999999 0.035510000000000 25.000000000000000 4.8600000000000000 0.426000000000000 6.167000000000000 46.700000000000003 5.400700000000000 4 281 19.000000000000000 390.639999999999986 7.510000000000000 3351 Wakefield 20 3351 -71.043000000000006 42.307499999999997 23.899999999999999 23.899999999999999 0.050590000000000 0.000000000000000 4.4900000000000000 0.449000000000000 6.389000000000000 48.000000000000000 4.779400000000000 3 247 18.500000000000000 396.899999999999977 9.619999999999999 3352 Wakefield 20 3352 -71.049999999999997 42.299999999999997 26.600000000000001 26.600000000000001 0.057350000000000 0.000000000000000 4.4900000000000000 0.449000000000000 6.630000000000000 56.100000000000001 4.437700000000000 3 247 18.500000000000000 392.300000000000011 6.530000000000000 3353 Wakefield 20 3353 -71.033000000000001 42.305000000000000 22.500000000000000 22.500000000000000 0.051880000000000 0.000000000000000 4.4900000000000000 0.449000000000000 6.015000000000000 45.100000000000001 4.427200000000000 3 247 18.500000000000000 395.990000000000009 12.859999999999999 3354 Wakefield 20 3354 -71.039000000000001 42.288499999999999 22.199999999999999 22.199999999999999 0.071510000000000 0.000000000000000 4.4900000000000000 0.449000000000000 6.121000000000000 56.799999999999997 3.747600000000000 3 247 18.500000000000000 395.149999999999977 8.440000000000000 3361 Melrose 21 3361 -71.042000000000002 42.279600000000002 23.600000000000001 23.600000000000001 0.056600000000000 0.000000000000000 3.4100000000000000 0.489000000000000 7.007000000000000 86.299999999999997 3.421700000000000 2 270 17.800000000000001 396.899999999999977 5.500000000000000 3362 Melrose 21 3362 -71.034499999999994 42.278500000000001 28.699999999999999 28.699999999999999 0.053020000000000 0.000000000000000 3.4100000000000000 0.489000000000000 7.079000000000000 63.100000000000001 3.414500000000000 2 270 17.800000000000001 396.060000000000002 5.700000000000000 3363 Melrose 21 3363 -71.030000000000001 42.271999999999998 22.600000000000001 22.600000000000001 0.046840000000000 0.000000000000000 3.4100000000000000 0.489000000000000 6.417000000000000 66.099999999999994 3.092300000000000 2 270 17.800000000000001 392.180000000000007 8.810000000000000 3364 Melrose 21 3364 -71.042500000000004 42.271500000000003 22.000000000000000 22.000000000000000 0.039320000000000 0.000000000000000 3.4100000000000000 0.489000000000000 6.405000000000000 73.900000000000006 3.092100000000000 2 270 17.800000000000001 393.550000000000011 8.199999999999999 3371 Stoneham 22 3371 -71.052999999999997 42.283000000000001 22.899999999999999 22.899999999999999 0.042030000000000 28.000000000000000 15.0399999999999990 0.464000000000000 6.442000000000000 53.600000000000001 3.665900000000000 4 270 18.199999999999999 395.009999999999991 8.160000000000000 3372 Stoneham 22 3372 -71.061999999999998 42.295999999999999 25.000000000000000 25.000000000000000 0.028750000000000 28.000000000000000 15.0399999999999990 0.464000000000000 6.211000000000000 28.899999999999999 3.665900000000000 4 270 18.199999999999999 396.329999999999984 6.210000000000000 3373 Stoneham 22 3373 -71.061499999999995 42.283999999999999 20.600000000000001 20.600000000000001 0.042940000000000 28.000000000000000 15.0399999999999990 0.464000000000000 6.249000000000000 77.299999999999997 3.615000000000000 4 270 18.199999999999999 396.899999999999977 10.590000000000000 3381 Winchester 23 3381 -71.075999999999993 42.277500000000003 28.399999999999999 28.399999999999999 0.122040000000000 0.000000000000000 2.8900000000000000 0.445000000000000 6.625000000000000 57.799999999999997 3.495200000000000 2 276 18.000000000000000 357.980000000000018 6.650000000000000 3382 Winchester 23 3382 -71.084999999999994 42.277500000000003 21.399999999999999 21.399999999999999 0.115040000000000 0.000000000000000 2.8900000000000000 0.445000000000000 6.163000000000000 69.599999999999994 3.495200000000000 2 276 18.000000000000000 391.829999999999984 11.340000000000000 3383 Winchester 23 3383 -71.088999999999999 42.271500000000003 38.700000000000003 38.700000000000003 0.120830000000000 0.000000000000000 2.8900000000000000 0.445000000000000 8.069000000000001 76.000000000000000 3.495200000000000 2 276 18.000000000000000 396.899999999999977 4.210000000000000 3384 Winchester 23 3384 -71.098200000000006 42.268500000000003 43.799999999999997 43.799999999999997 0.081870000000000 0.000000000000000 2.8900000000000000 0.445000000000000 7.820000000000000 36.899999999999999 3.495200000000000 2 276 18.000000000000000 393.529999999999973 3.570000000000000 3385 Winchester 23 3385 -71.079999999999998 42.268000000000001 33.200000000000003 33.200000000000003 0.068600000000000 0.000000000000000 2.8900000000000000 0.445000000000000 7.416000000000000 62.500000000000000 3.495200000000000 2 276 18.000000000000000 396.899999999999977 6.190000000000000 3391 Medford 24 3391 -71.066800000000001 42.254500000000000 27.500000000000000 27.500000000000000 0.148660000000000 0.000000000000000 8.5600000000000000 0.520000000000000 6.727000000000000 79.900000000000006 2.777800000000000 5 384 20.899999999999999 394.759999999999991 9.420000000000000 3392 Medford 24 3392 -71.081000000000003 42.244999999999997 26.500000000000000 26.500000000000000 0.114320000000000 0.000000000000000 8.5600000000000000 0.520000000000000 6.781000000000000 71.299999999999997 2.856100000000000 5 384 20.899999999999999 395.579999999999984 7.670000000000000 3393 Medford 24 3393 -71.081199999999995 42.251500000000000 18.600000000000001 18.600000000000001 0.228760000000000 0.000000000000000 8.5600000000000000 0.520000000000000 6.405000000000000 85.400000000000006 2.714700000000000 5 384 20.899999999999999 70.799999999999997 10.630000000000001 3394 Medford 24 3394 -71.076999999999998 42.249000000000002 19.300000000000001 19.300000000000001 0.211610000000000 0.000000000000000 8.5600000000000000 0.520000000000000 6.137000000000000 87.400000000000006 2.714700000000000 5 384 20.899999999999999 394.470000000000027 13.440000000000000 3395 Medford 24 3395 -71.069000000000003 42.247999999999998 20.100000000000001 20.100000000000001 0.139600000000000 0.000000000000000 8.5600000000000000 0.520000000000000 6.167000000000000 90.000000000000000 2.421000000000000 5 384 20.899999999999999 392.689999999999998 12.330000000000000 3396 Medford 24 3396 -71.066199999999995 42.242500000000000 19.500000000000000 19.500000000000000 0.132620000000000 0.000000000000000 8.5600000000000000 0.520000000000000 5.851000000000000 96.700000000000003 2.106900000000000 5 384 20.899999999999999 394.050000000000011 16.469999999999999 3397 Medford 24 3397 -71.062200000000004 42.243099999999998 19.500000000000000 19.500000000000000 0.171200000000000 0.000000000000000 8.5600000000000000 0.520000000000000 5.836000000000000 91.900000000000006 2.211000000000000 5 384 20.899999999999999 395.670000000000016 18.660000000000000 3398 Medford 24 3398 -71.055300000000003 42.246499999999997 20.399999999999999 20.399999999999999 0.131170000000000 0.000000000000000 8.5600000000000000 0.520000000000000 6.127000000000000 85.200000000000003 2.122400000000000 5 384 20.899999999999999 387.689999999999998 14.090000000000000 3399 Medford 24 3399 -71.055000000000007 42.250500000000002 19.800000000000001 19.800000000000001 0.128020000000000 0.000000000000000 8.5600000000000000 0.520000000000000 6.474000000000000 97.099999999999994 2.432900000000000 5 384 20.899999999999999 395.240000000000009 12.270000000000000 3400 Medford 24 3400 -71.060000000000002 42.253999999999998 19.399999999999999 19.399999999999999 0.263630000000000 0.000000000000000 8.5600000000000000 0.520000000000000 6.229000000000000 91.200000000000003 2.545100000000000 5 384 20.899999999999999 391.230000000000018 15.550000000000001 3401 Medford 24 3401 -71.055999999999997 42.260500000000000 21.699999999999999 21.699999999999999 0.107930000000000 0.000000000000000 8.5600000000000000 0.520000000000000 6.195000000000000 54.399999999999999 2.777800000000000 5 384 20.899999999999999 393.490000000000009 13.000000000000000 3411 Malden 25 3411 -71.047499999999999 42.261000000000003 22.800000000000001 22.800000000000001 0.100840000000000 0.000000000000000 10.0100000000000000 0.547000000000000 6.715000000000000 81.599999999999994 2.677500000000000 6 432 17.800000000000001 395.589999999999975 10.160000000000000 3412 Malden 25 3412 -71.049000000000007 42.253000000000000 18.800000000000001 18.800000000000001 0.123290000000000 0.000000000000000 10.0100000000000000 0.547000000000000 5.913000000000000 92.900000000000006 2.353400000000000 6 432 17.800000000000001 394.949999999999989 16.210000000000001 3413 Malden 25 3413 -71.042800000000000 42.258000000000003 18.699999999999999 18.699999999999999 0.222120000000000 0.000000000000000 10.0100000000000000 0.547000000000000 6.092000000000000 95.400000000000006 2.548000000000000 6 432 17.800000000000001 396.899999999999977 17.090000000000000 3414 Malden 25 3414 -71.039599999999993 42.251199999999997 18.500000000000000 18.500000000000000 0.142310000000000 0.000000000000000 10.0100000000000000 0.547000000000000 6.254000000000000 84.200000000000003 2.256500000000000 6 432 17.800000000000001 388.740000000000009 10.449999999999999 3415 Malden 25 3415 -71.035499999999999 42.254500000000000 18.300000000000001 18.300000000000001 0.171340000000000 0.000000000000000 10.0100000000000000 0.547000000000000 5.928000000000000 88.200000000000003 2.463100000000000 6 432 17.800000000000001 344.910000000000025 15.760000000000000 3416 Malden 25 3416 -71.036000000000001 42.260800000000003 21.199999999999999 21.199999999999999 0.131580000000000 0.000000000000000 10.0100000000000000 0.547000000000000 6.176000000000000 72.500000000000000 2.730100000000000 6 432 17.800000000000001 393.300000000000011 12.039999999999999 3417 Malden 25 3417 -71.028499999999994 42.262000000000000 19.199999999999999 19.199999999999999 0.150980000000000 0.000000000000000 10.0100000000000000 0.547000000000000 6.021000000000000 82.599999999999994 2.747400000000000 6 432 17.800000000000001 394.509999999999991 10.300000000000001 3418 Malden 25 3418 -71.028499999999994 42.258000000000003 20.399999999999999 20.399999999999999 0.130580000000000 0.000000000000000 10.0100000000000000 0.547000000000000 5.872000000000000 73.099999999999994 2.477500000000000 6 432 17.800000000000001 338.629999999999995 15.369999999999999 3419 Malden 25 3419 -71.019000000000005 42.260500000000000 19.300000000000001 19.300000000000001 0.144760000000000 0.000000000000000 10.0100000000000000 0.547000000000000 5.731000000000000 65.200000000000003 2.759200000000000 6 432 17.800000000000001 391.500000000000000 13.609999999999999 3421 Everett 26 3421 -71.024299999999997 42.248300000000000 22.000000000000000 22.000000000000000 0.068990000000000 0.000000000000000 25.6499999999999990 0.581000000000000 5.870000000000000 69.700000000000003 2.257700000000000 2 188 19.100000000000001 389.149999999999977 14.369999999999999 3422 Everett 26 3422 -71.031199999999998 42.250500000000002 20.300000000000001 20.300000000000001 0.071650000000000 0.000000000000000 25.6499999999999990 0.581000000000000 6.004000000000000 84.099999999999994 2.197400000000000 2 188 19.100000000000001 377.670000000000016 14.270000000000000 3423 Everett 26 3423 -71.037700000000001 42.247000000000000 20.500000000000000 20.500000000000000 0.092990000000000 0.000000000000000 25.6499999999999990 0.581000000000000 5.961000000000000 92.900000000000006 2.086900000000000 2 188 19.100000000000001 378.089999999999975 17.930000000000000 3424 Everett 26 3424 -71.037000000000006 42.243499999999997 17.300000000000001 17.300000000000001 0.150380000000000 0.000000000000000 25.6499999999999990 0.581000000000000 5.856000000000000 97.000000000000000 1.944400000000000 2 188 19.100000000000001 370.310000000000002 25.410000000000000 3425 Everett 26 3425 -71.030799999999999 42.244999999999997 18.800000000000001 18.800000000000001 0.098490000000000 0.000000000000000 25.6499999999999990 0.581000000000000 5.879000000000000 95.799999999999997 2.006300000000000 2 188 19.100000000000001 379.379999999999995 17.579999999999998 3426 Everett 26 3426 -71.026200000000003 42.243099999999998 21.399999999999999 21.399999999999999 0.169020000000000 0.000000000000000 25.6499999999999990 0.581000000000000 5.986000000000000 88.400000000000006 1.992900000000000 2 188 19.100000000000001 385.019999999999982 14.810000000000000 3427 Everett 26 3427 -71.033299999999997 42.239500000000000 15.699999999999999 15.699999999999999 0.387350000000000 0.000000000000000 25.6499999999999990 0.581000000000000 5.613000000000000 95.599999999999994 1.757200000000000 2 188 19.100000000000001 359.290000000000020 27.260000000000002 3501 Somerville 27 3501 -71.052999999999997 42.235500000000002 16.199999999999999 16.199999999999999 0.259150000000000 0.000000000000000 21.8900000000000010 0.624000000000000 5.693000000000000 96.000000000000000 1.788300000000000 4 437 21.199999999999999 392.110000000000014 17.190000000000001 3502 Somerville 27 3502 -71.058000000000007 42.234999999999999 18.000000000000000 18.000000000000000 0.325430000000000 0.000000000000000 21.8900000000000010 0.624000000000000 6.431000000000000 98.799999999999997 1.812500000000000 4 437 21.199999999999999 396.899999999999977 15.390000000000001 3503 Somerville 27 3503 -71.063800000000001 42.236800000000002 14.300000000000001 14.300000000000001 0.881250000000000 0.000000000000000 21.8900000000000010 0.624000000000000 5.637000000000000 94.700000000000003 1.979900000000000 4 437 21.199999999999999 396.899999999999977 18.340000000000000 3504 Somerville 27 3504 -71.069199999999995 42.238999999999997 19.199999999999999 19.199999999999999 0.340060000000000 0.000000000000000 21.8900000000000010 0.624000000000000 6.458000000000000 98.900000000000006 2.118500000000000 4 437 21.199999999999999 395.040000000000020 12.600000000000000 3505 Somerville 27 3505 -71.075000000000003 42.240000000000002 19.600000000000001 19.600000000000001 1.192940000000000 0.000000000000000 21.8900000000000010 0.624000000000000 6.326000000000000 97.700000000000003 2.271000000000000 4 437 21.199999999999999 396.899999999999977 12.260000000000000 3506 Somerville 27 3506 -71.074500000000000 42.240499999999997 23.000000000000000 23.000000000000000 0.590050000000000 0.000000000000000 21.8900000000000010 0.624000000000000 6.372000000000000 97.900000000000006 2.327400000000000 4 437 21.199999999999999 385.759999999999991 11.119999999999999 3507 Somerville 27 3507 -71.078999999999994 42.244999999999997 18.399999999999999 18.399999999999999 0.329820000000000 0.000000000000000 21.8900000000000010 0.624000000000000 5.822000000000000 95.400000000000006 2.469900000000000 4 437 21.199999999999999 388.689999999999998 15.029999999999999 3508 Somerville 27 3508 -71.075999999999993 42.240499999999997 15.600000000000000 15.600000000000000 0.976170000000000 0.000000000000000 21.8900000000000010 0.624000000000000 5.757000000000000 98.400000000000006 2.346000000000000 4 437 21.199999999999999 262.759999999999991 17.309999999999999 3509 Somerville 27 3509 -71.075000000000003 42.236199999999997 18.100000000000001 18.100000000000001 0.557780000000000 0.000000000000000 21.8900000000000010 0.624000000000000 6.335000000000000 98.200000000000003 2.110700000000000 4 437 21.199999999999999 394.670000000000016 16.960000000000001 3510 Somerville 27 3510 -71.067700000000002 42.233499999999999 17.399999999999999 17.399999999999999 0.322640000000000 0.000000000000000 21.8900000000000010 0.624000000000000 5.942000000000000 93.500000000000000 1.966900000000000 4 437 21.199999999999999 378.250000000000000 16.899999999999999 3511 Somerville 27 3511 -71.063000000000002 42.232500000000002 17.100000000000001 17.100000000000001 0.352330000000000 0.000000000000000 21.8900000000000010 0.624000000000000 6.454000000000000 98.400000000000006 1.849800000000000 4 437 21.199999999999999 394.079999999999984 14.590000000000000 3512 Somerville 27 3512 -71.061999999999998 42.227499999999999 13.300000000000001 13.300000000000001 0.249800000000000 0.000000000000000 21.8900000000000010 0.624000000000000 5.857000000000000 98.200000000000003 1.668600000000000 4 437 21.199999999999999 392.040000000000020 21.320000000000000 3513 Somerville 27 3513 -71.056799999999996 42.229999999999997 17.800000000000001 17.800000000000001 0.544520000000000 0.000000000000000 21.8900000000000010 0.624000000000000 6.151000000000000 97.900000000000006 1.668700000000000 4 437 21.199999999999999 396.899999999999977 18.460000000000001 3514 Somerville 27 3514 -71.051800000000000 42.231200000000001 14.000000000000000 14.000000000000000 0.290900000000000 0.000000000000000 21.8900000000000010 0.624000000000000 6.174000000000000 93.599999999999994 1.611900000000000 4 437 21.199999999999999 388.079999999999984 24.160000000000000 3515 Somerville 27 3515 -71.054299999999998 42.226500000000001 14.400000000000000 14.400000000000000 1.628640000000000 0.000000000000000 21.8900000000000010 0.624000000000000 5.019000000000000 100.000000000000000 1.439400000000000 4 437 21.199999999999999 396.899999999999977 34.409999999999997 3521 Cambridge 28 3521 -71.048000000000002 42.222200000000001 13.400000000000000 13.400000000000000 3.321050000000000 0.000000000000000 19.5799999999999981 0.871000000000000 5.403000000000000 100.000000000000000 1.321600000000000 5 403 14.699999999999999 396.899999999999977 26.820000000000000 3522 Cambridge 28 3522 -71.051900000000003 42.222999999999999 15.600000000000000 15.600000000000000 4.097400000000000 0.000000000000000 19.5799999999999980 0.871000000000000 5.468000000000000 100.000000000000000 1.411800000000000 5 403 14.699999999999999 396.899999999999977 26.420000000000002 3523 Cambridge 28 3523 -71.051000000000002 42.220500000000001 11.800000000000001 11.800000000000001 2.779740000000000 0.000000000000000 19.5799999999999980 0.871000000000000 4.903000000000000 97.799999999999997 1.345900000000000 5 403 14.699999999999999 396.899999999999977 29.289999999999999 3524 Cambridge 28 3524 -71.054000000000002 42.219000000000001 13.800000000000001 13.800000000000001 2.379340000000000 0.000000000000000 19.5799999999999980 0.871000000000000 6.130000000000000 100.000000000000000 1.419100000000000 5 403 14.699999999999999 172.909999999999997 27.800000000000001 3525 Cambridge 28 3525 -71.058999999999997 42.220999999999997 15.600000000000000 15.600000000000000 2.155050000000000 0.000000000000000 19.5799999999999980 0.871000000000000 5.628000000000000 100.000000000000000 1.516600000000000 5 403 14.699999999999999 169.270000000000010 16.649999999999999 3526 Cambridge 28 3526 -71.055499999999995 42.222200000000001 14.600000000000000 14.600000000000000 2.368620000000000 0.000000000000000 19.5799999999999980 0.871000000000000 4.926000000000000 95.700000000000003 1.460800000000000 5 403 14.699999999999999 391.709999999999980 29.530000000000001 3527 Cambridge 28 3527 -71.056700000000006 42.223999999999997 17.800000000000001 17.800000000000001 2.330990000000000 0.000000000000000 19.5799999999999980 0.871000000000000 5.186000000000000 93.799999999999997 1.529600000000000 5 403 14.699999999999999 356.990000000000009 28.320000000000000 3528 Cambridge 28 3528 -71.058000000000007 42.222999999999999 15.400000000000000 15.400000000000000 2.733970000000000 0.000000000000000 19.5799999999999980 0.871000000000000 5.597000000000000 94.900000000000006 1.525700000000000 5 403 14.699999999999999 351.850000000000023 21.449999999999999 3529 Cambridge 28 3529 -71.061999999999998 42.223599999999998 21.500000000000000 21.500000000000000 1.656600000000000 0.000000000000000 19.5799999999999980 0.871000000000000 6.122000000000000 97.299999999999997 1.618000000000000 5 403 14.699999999999999 372.800000000000011 14.100000000000000 3530 Cambridge 28 3530 -71.062200000000004 42.220500000000001 19.600000000000001 19.600000000000001 1.496320000000000 0.000000000000000 19.5799999999999980 0.871000000000000 5.404000000000000 100.000000000000000 1.591600000000000 5 403 14.699999999999999 341.600000000000023 13.279999999999999 3531 Cambridge 28 3531 -71.058999999999997 42.216999999999999 15.300000000000001 15.300000000000001 1.126580000000000 0.000000000000000 19.5799999999999981 0.871000000000000 5.012000000000000 88.000000000000000 1.610200000000000 5 403 14.699999999999999 343.279999999999973 12.119999999999999 3532 Cambridge 28 3532 -71.064499999999995 42.215000000000003 19.399999999999999 19.399999999999999 2.149180000000000 0.000000000000000 19.5799999999999980 0.871000000000000 5.709000000000000 98.500000000000000 1.623200000000000 5 403 14.699999999999999 261.949999999999989 15.789999999999999 3533 Cambridge 28 3533 -71.066199999999995 42.216200000000001 17.000000000000000 17.000000000000000 1.413850000000000 0.000000000000000 19.5799999999999981 0.871000000000000 6.129000000000000 96.000000000000000 1.749400000000000 5 403 14.699999999999999 321.019999999999982 15.119999999999999 3534 Cambridge 28 3534 -71.067999999999998 42.215000000000003 15.600000000000000 15.600000000000000 3.535010000000000 0.000000000000000 19.5799999999999981 0.871000000000000 6.152000000000000 82.599999999999994 1.745500000000000 5 403 14.699999999999999 88.010000000000005 15.020000000000000 3535 Cambridge 28 3535 -71.066699999999997 42.219999999999999 13.100000000000000 13.100000000000000 2.446680000000000 0.000000000000000 19.5799999999999980 0.871000000000000 5.272000000000000 94.000000000000000 1.736400000000000 5 403 14.699999999999999 88.629999999999995 16.140000000000001 3536 Cambridge 28 3536 -71.069000000000003 42.228499999999997 41.299999999999997 41.299999999999997 1.223580000000000 0.000000000000000 19.5799999999999980 0.605000000000000 6.943000000000000 97.400000000000006 1.877300000000000 5 403 14.699999999999999 363.430000000000007 4.590000000000000 3537 Cambridge 28 3537 -71.066999999999993 42.224499999999999 24.300000000000001 24.300000000000001 1.342840000000000 0.000000000000000 19.5799999999999980 0.605000000000000 6.066000000000000 100.000000000000000 1.757300000000000 5 403 14.699999999999999 353.889999999999986 6.430000000000000 3538 Cambridge 28 3538 -71.064999999999998 42.222299999999997 23.300000000000001 23.300000000000001 1.425020000000000 0.000000000000000 19.5799999999999980 0.871000000000000 6.510000000000000 100.000000000000000 1.765900000000000 5 403 14.699999999999999 364.310000000000002 7.390000000000000 3539 Cambridge 28 3539 -71.069999999999993 42.221400000000003 27.000000000000000 27.000000000000000 1.273460000000000 0.000000000000000 19.5799999999999981 0.605000000000000 6.250000000000000 92.599999999999994 1.798400000000000 5 403 14.699999999999999 338.920000000000016 5.500000000000000 3540 Cambridge 28 3540 -71.073499999999996 42.228200000000001 50.000000000000000 50.000000000000000 1.463360000000000 0.000000000000000 19.5799999999999980 0.605000000000000 7.489000000000000 90.799999999999997 1.970900000000000 5 403 14.699999999999999 374.430000000000007 1.730000000000000 3541 Cambridge 28 3541 -71.076999999999998 42.225000000000001 50.000000000000000 50.000000000000000 1.833770000000000 0.000000000000000 19.5799999999999981 0.605000000000000 7.802000000000000 98.200000000000003 2.040700000000000 5 403 14.699999999999999 389.610000000000014 1.920000000000000 3542 Cambridge 28 3542 -71.081500000000005 42.225000000000001 50.000000000000000 50.000000000000000 1.519020000000000 0.000000000000000 19.5799999999999981 0.605000000000000 8.375000000000000 93.900000000000006 2.162000000000000 5 403 14.699999999999999 388.449999999999989 3.320000000000000 3543 Cambridge 28 3543 -71.091800000000006 42.226500000000001 22.699999999999999 22.699999999999999 2.242360000000000 0.000000000000000 19.5799999999999980 0.605000000000000 5.854000000000000 91.799999999999997 2.422000000000000 5 403 14.699999999999999 395.110000000000014 11.640000000000001 3544 Cambridge 28 3544 -71.081999999999994 42.229500000000002 25.000000000000000 25.000000000000000 2.924000000000000 0.000000000000000 19.5799999999999980 0.605000000000000 6.101000000000000 93.000000000000000 2.283400000000000 5 403 14.699999999999999 240.159999999999997 9.810000000000000 3545 Cambridge 28 3545 -71.076999999999998 42.230499999999999 50.000000000000000 50.000000000000000 2.010190000000000 0.000000000000000 19.5799999999999980 0.605000000000000 7.929000000000000 96.200000000000003 2.045900000000000 5 403 14.699999999999999 369.300000000000011 3.700000000000000 3546 Cambridge 28 3546 -71.086600000000004 42.234499999999997 23.800000000000001 23.800000000000001 1.800280000000000 0.000000000000000 19.5799999999999980 0.605000000000000 5.877000000000000 79.200000000000003 2.425900000000000 5 403 14.699999999999999 227.610000000000014 12.140000000000001 3547 Cambridge 28 3547 -71.073999999999998 42.233100000000000 23.800000000000001 23.800000000000001 2.300400000000000 0.000000000000000 19.5799999999999980 0.605000000000000 6.319000000000000 96.099999999999994 2.100000000000000 5 403 14.699999999999999 297.089999999999975 11.100000000000000 3548 Cambridge 28 3548 -71.077500000000001 42.235100000000003 22.300000000000001 22.300000000000001 2.449530000000000 0.000000000000000 19.5799999999999980 0.605000000000000 6.402000000000000 95.200000000000003 2.262500000000000 5 403 14.699999999999999 330.040000000000020 11.320000000000000 3549 Cambridge 28 3549 -71.081000000000003 42.236800000000002 17.399999999999999 17.399999999999999 1.207420000000000 0.000000000000000 19.5799999999999980 0.605000000000000 5.875000000000000 94.599999999999994 2.425900000000000 5 403 14.699999999999999 292.290000000000020 14.430000000000000 3550 Cambridge 28 3550 -71.079200000000000 42.238999999999997 19.100000000000001 19.100000000000001 2.313900000000000 0.000000000000000 19.5799999999999980 0.605000000000000 5.880000000000000 97.299999999999997 2.388700000000000 5 403 14.699999999999999 348.129999999999995 12.029999999999999 3561 Arlington 29 3561 -71.087000000000003 42.241599999999998 23.100000000000001 23.100000000000001 0.139140000000000 0.000000000000000 4.0500000000000000 0.510000000000000 5.572000000000000 88.500000000000000 2.596100000000000 5 296 16.600000000000001 396.899999999999977 14.690000000000000 3562 Arlington 29 3562 -71.085499999999996 42.244999999999997 23.600000000000001 23.600000000000001 0.091780000000000 0.000000000000000 4.0500000000000000 0.510000000000000 6.416000000000000 84.099999999999994 2.646300000000000 5 296 16.600000000000001 395.500000000000000 9.039999999999999 3563 Arlington 29 3563 -71.083299999999994 42.247500000000002 22.600000000000001 22.600000000000001 0.084470000000000 0.000000000000000 4.0500000000000000 0.510000000000000 5.859000000000000 68.700000000000003 2.701900000000000 5 296 16.600000000000001 393.230000000000018 9.640000000000001 3564 Arlington 29 3564 -71.093999999999994 42.257500000000000 29.399999999999999 29.399999999999999 0.066640000000000 0.000000000000000 4.0500000000000000 0.510000000000000 6.546000000000000 33.100000000000001 3.132300000000000 5 296 16.600000000000001 390.959999999999980 5.330000000000000 3565 Arlington 29 3565 -71.112499999999997 42.255000000000003 23.199999999999999 23.199999999999999 0.070220000000000 0.000000000000000 4.0500000000000000 0.510000000000000 6.020000000000000 47.200000000000003 3.554900000000000 5 296 16.600000000000001 393.230000000000018 10.109999999999999 3566 Arlington 29 3566 -71.105999999999995 42.251199999999997 24.600000000000001 24.600000000000001 0.054250000000000 0.000000000000000 4.0500000000000000 0.510000000000000 6.315000000000000 73.400000000000006 3.317500000000000 5 296 16.600000000000001 395.600000000000023 6.290000000000000 3567 Arlington 29 3567 -71.096500000000006 42.247000000000000 29.899999999999999 29.899999999999999 0.066420000000000 0.000000000000000 4.0500000000000000 0.510000000000000 6.860000000000000 74.400000000000006 2.915300000000000 5 296 16.600000000000001 391.269999999999982 6.920000000000000 3571 Belmont 30 3571 -71.099999999999994 42.240800000000000 37.200000000000003 37.200000000000003 0.057800000000000 0.000000000000000 2.4600000000000000 0.488000000000000 6.980000000000000 58.399999999999999 2.829000000000000 3 193 17.800000000000001 396.899999999999977 5.040000000000000 3572 Belmont 30 3572 -71.099500000000006 42.234499999999997 39.799999999999997 39.799999999999997 0.065880000000000 0.000000000000000 2.4600000000000000 0.488000000000000 7.765000000000000 83.299999999999997 2.741000000000000 3 193 17.800000000000001 395.560000000000002 7.560000000000000 3573 Belmont 30 3573 -71.096599999999995 42.228200000000001 36.200000000000003 36.200000000000003 0.068880000000000 0.000000000000000 2.4600000000000000 0.488000000000000 6.144000000000000 62.200000000000003 2.597900000000000 3 193 17.800000000000001 396.899999999999977 9.449999999999999 3574 Belmont 30 3574 -71.100499999999997 42.228700000000003 37.899999999999999 37.899999999999999 0.091030000000000 0.000000000000000 2.4600000000000000 0.488000000000000 7.155000000000000 92.200000000000003 2.700600000000000 3 193 17.800000000000001 394.120000000000005 4.820000000000000 3575 Belmont 30 3575 -71.106499999999997 42.229999999999997 32.500000000000000 32.500000000000000 0.100080000000000 0.000000000000000 2.4600000000000000 0.488000000000000 6.563000000000000 95.599999999999994 2.847000000000000 3 193 17.800000000000001 396.899999999999977 5.680000000000000 3576 Belmont 30 3576 -71.111999999999995 42.229999999999997 26.399999999999999 26.399999999999999 0.083080000000000 0.000000000000000 2.4600000000000000 0.488000000000000 5.604000000000000 89.799999999999997 2.987900000000000 3 193 17.800000000000001 391.000000000000000 13.980000000000000 3577 Belmont 30 3577 -71.117500000000007 42.234999999999999 29.600000000000001 29.600000000000001 0.060470000000000 0.000000000000000 2.4600000000000000 0.488000000000000 6.153000000000000 68.799999999999997 3.279700000000000 3 193 17.800000000000001 387.110000000000014 13.150000000000000 3578 Belmont 30 3578 -71.111500000000007 42.244199999999999 50.000000000000000 50.000000000000000 0.056020000000000 0.000000000000000 2.4600000000000000 0.488000000000000 7.831000000000000 53.600000000000001 3.199200000000000 3 193 17.800000000000001 392.629999999999995 4.450000000000000 3581 Lexington 31 3581 -71.122000000000000 42.256500000000003 32.000000000000000 32.000000000000000 0.078750000000000 45.000000000000000 3.4400000000000000 0.437000000000000 6.782000000000000 41.100000000000001 3.788600000000000 5 398 15.199999999999999 393.870000000000005 6.680000000000000 3583 Lexington 31 3583 -71.140799999999999 42.255000000000003 29.800000000000001 29.800000000000001 0.125790000000000 45.000000000000000 3.4400000000000000 0.437000000000000 6.556000000000000 29.100000000000001 4.566700000000000 5 398 15.199999999999999 382.839999999999975 4.560000000000000 3584 Lexington 31 3584 -71.144999999999996 42.265099999999997 34.899999999999999 34.899999999999999 0.083700000000000 45.000000000000000 3.4400000000000000 0.437000000000000 7.185000000000000 38.899999999999999 4.566700000000000 5 398 15.199999999999999 396.899999999999977 5.390000000000000 3585 Lexington 31 3585 -71.121600000000001 42.270000000000003 37.000000000000000 33.000000000000000 0.090680000000000 45.000000000000000 3.4400000000000000 0.437000000000000 6.951000000000000 21.500000000000000 6.479800000000000 5 398 15.199999999999999 377.680000000000007 5.100000000000000 3586 Lexington 31 3586 -71.148499999999999 42.276499999999999 30.500000000000000 30.500000000000000 0.069110000000000 45.000000000000000 3.4400000000000000 0.437000000000000 6.739000000000000 30.800000000000001 6.479800000000000 5 398 15.199999999999999 389.709999999999980 4.690000000000000 3587 Lexington 31 3587 -71.134000000000000 42.278500000000001 36.399999999999999 36.399999999999999 0.086640000000000 45.000000000000000 3.4400000000000000 0.437000000000000 7.178000000000000 26.300000000000001 6.479800000000000 5 398 15.199999999999999 390.490000000000009 2.870000000000000 3591 Bedford 32 3591 -71.152500000000003 42.299999999999997 31.100000000000001 31.100000000000001 0.021870000000000 60.000000000000000 2.9300000000000000 0.401000000000000 6.800000000000000 9.900000000000000 6.219600000000000 1 265 15.600000000000000 393.370000000000005 5.030000000000000 3592 Bedford 32 3592 -71.163300000000007 42.302999999999997 29.100000000000001 29.100000000000001 0.014390000000000 60.000000000000000 2.9300000000000000 0.401000000000000 6.604000000000000 18.800000000000001 6.219600000000000 1 265 15.600000000000000 376.699999999999989 4.380000000000000 3602 Lincoln 33 3602 -71.188999999999993 42.252499999999998 50.000000000000000 50.000000000000000 0.013810000000000 80.000000000000000 0.4600000000000000 0.422000000000000 7.875000000000000 32.000000000000000 5.648400000000000 4 255 14.400000000000000 394.230000000000018 2.970000000000000 3611 Concord 34 3611 -71.219999999999999 42.271500000000003 33.299999999999997 33.299999999999997 0.040110000000000 80.000000000000000 1.5200000000000000 0.404000000000000 7.287000000000000 34.100000000000001 7.309000000000000 2 329 12.600000000000000 396.899999999999977 4.080000000000000 3612 Concord 34 3612 -71.239999999999995 42.272500000000001 30.300000000000001 30.300000000000001 0.046660000000000 80.000000000000000 1.5200000000000000 0.404000000000000 7.107000000000000 36.600000000000001 7.309000000000000 2 329 12.600000000000000 354.310000000000002 8.609999999999999 3613 Concord 34 3613 -71.221999999999994 42.289000000000001 34.600000000000001 34.600000000000001 0.037680000000000 80.000000000000000 1.5200000000000000 0.404000000000000 7.274000000000000 38.299999999999997 7.309000000000000 2 329 12.600000000000000 392.199999999999989 6.620000000000000 3651 Sudbury 35 3651 -71.244000000000000 42.242500000000000 34.899999999999999 34.899999999999999 0.031500000000000 95.000000000000000 1.4700000000000000 0.403000000000000 6.975000000000000 15.300000000000001 7.653400000000000 3 402 17.000000000000000 396.899999999999977 4.560000000000000 3652 Sudbury 35 3652 -71.263000000000005 42.222499999999997 32.899999999999999 32.899999999999999 0.017780000000000 95.000000000000000 1.4700000000000000 0.403000000000000 7.135000000000000 13.900000000000000 7.653400000000000 3 402 17.000000000000000 384.300000000000011 4.450000000000000 3661 Wayland 36 3661 -71.218500000000006 42.195500000000003 24.100000000000001 24.100000000000001 0.034450000000000 82.500000000000000 2.0300000000000000 0.415000000000000 6.162000000000000 38.399999999999999 6.270000000000000 2 348 14.699999999999999 393.769999999999982 7.430000000000000 3662 Wayland 36 3662 -71.213999999999999 42.218000000000004 42.299999999999997 42.299999999999997 0.021770000000000 82.500000000000000 2.0300000000000000 0.415000000000000 7.610000000000000 15.699999999999999 6.270000000000000 2 348 14.699999999999999 395.379999999999995 3.110000000000000 3671 Weston 37 3671 -71.198999999999998 42.231999999999999 48.500000000000000 48.500000000000000 0.035100000000000 95.000000000000000 2.6800000000000000 0.416100000000000 7.853000000000000 33.200000000000003 5.118000000000000 4 224 14.699999999999999 392.779999999999973 3.810000000000000 3672 Weston 37 3672 -71.198999999999998 42.205800000000004 50.000000000000000 50.000000000000000 0.020090000000000 95.000000000000000 2.6800000000000000 0.416100000000000 8.034000000000001 31.899999999999999 5.118000000000000 4 224 14.699999999999999 390.550000000000011 2.880000000000000 3681 Waltham 38 3681 -71.147499999999994 42.244500000000002 22.600000000000001 22.600000000000001 0.136420000000000 0.000000000000000 10.5900000000000000 0.489000000000000 5.891000000000000 22.300000000000001 3.945400000000000 4 277 18.600000000000001 396.899999999999977 10.869999999999999 3682 Waltham 38 3682 -71.150000000000006 42.230800000000002 24.399999999999999 24.399999999999999 0.229690000000000 0.000000000000000 10.5900000000000000 0.489000000000000 6.326000000000000 52.500000000000000 4.354900000000000 4 277 18.600000000000001 394.870000000000005 10.970000000000001 3683 Waltham 38 3683 -71.149000000000001 42.226799999999997 22.500000000000000 22.500000000000000 0.251990000000000 0.000000000000000 10.5900000000000000 0.489000000000000 5.783000000000000 72.700000000000003 4.354900000000000 4 277 18.600000000000001 389.430000000000007 18.059999999999999 3684 Waltham 38 3684 -71.150300000000001 42.222000000000001 24.399999999999999 24.399999999999999 0.135870000000000 0.000000000000000 10.5900000000000001 0.489000000000000 6.064000000000000 59.100000000000001 4.239200000000000 4 277 18.600000000000001 381.319999999999993 14.660000000000000 3685 Waltham 38 3685 -71.143000000000001 42.221699999999998 20.000000000000000 20.000000000000000 0.435710000000000 0.000000000000000 10.5900000000000001 0.489000000000000 5.344000000000000 100.000000000000000 3.875000000000000 4 277 18.600000000000001 396.899999999999977 23.090000000000000 3686 Waltham 38 3686 -71.143500000000003 42.217700000000001 21.699999999999999 21.699999999999999 0.174460000000000 0.000000000000000 10.5900000000000001 0.489000000000000 5.960000000000000 92.099999999999994 3.877100000000000 4 277 18.600000000000001 393.250000000000000 17.270000000000000 3687 Waltham 38 3687 -71.138000000000005 42.221600000000002 19.300000000000001 19.300000000000001 0.375780000000000 0.000000000000000 10.5900000000000001 0.489000000000000 5.404000000000000 88.599999999999994 3.665000000000000 4 277 18.600000000000001 395.240000000000009 23.980000000000000 3688 Waltham 38 3688 -71.133499999999998 42.225000000000001 22.399999999999999 22.399999999999999 0.217190000000000 0.000000000000000 10.5900000000000001 0.489000000000000 5.807000000000000 53.799999999999997 3.652600000000000 4 277 18.600000000000001 390.939999999999998 16.030000000000001 3689 Waltham 38 3689 -71.137500000000003 42.235500000000002 28.100000000000001 28.100000000000001 0.140520000000000 0.000000000000000 10.5900000000000000 0.489000000000000 6.375000000000000 32.299999999999997 3.945400000000000 4 277 18.600000000000001 385.810000000000002 9.380000000000001 3690 Waltham 38 3690 -71.126999999999995 42.234999999999999 23.699999999999999 23.699999999999999 0.289550000000000 0.000000000000000 10.5900000000000000 0.489000000000000 5.412000000000000 9.800000000000001 3.587500000000000 4 277 18.600000000000001 348.930000000000007 29.550000000000001 3691 Waltham 38 3691 -71.124499999999998 42.227699999999999 25.000000000000000 25.000000000000000 0.198020000000000 0.000000000000000 10.5900000000000000 0.489000000000000 6.182000000000000 42.399999999999999 3.945400000000000 4 277 18.600000000000001 393.629999999999995 9.470000000000001 3701 Watertown 39 3701 -71.116600000000005 42.222999999999999 23.300000000000001 23.300000000000001 0.045600000000000 0.000000000000000 13.8900000000000011 0.550000000000000 5.888000000000000 56.000000000000000 3.112100000000000 5 276 16.399999999999999 392.800000000000011 13.510000000000000 3702 Watertown 39 3702 -71.105000000000004 42.223500000000001 28.699999999999999 28.699999999999999 0.070130000000000 0.000000000000000 13.8900000000000010 0.550000000000000 6.642000000000000 85.099999999999994 3.421100000000000 5 276 16.399999999999999 392.779999999999973 9.690000000000000 3703 Watertown 39 3703 -71.093299999999999 42.222000000000001 21.500000000000000 21.500000000000000 0.110690000000000 0.000000000000000 13.8900000000000011 0.550000000000000 5.951000000000000 93.799999999999997 2.889300000000000 5 276 16.399999999999999 396.899999999999977 17.920000000000002 3704 Watertown 39 3704 -71.105999999999995 42.218499999999999 23.000000000000000 23.000000000000000 0.114250000000000 0.000000000000000 13.8900000000000011 0.550000000000000 6.373000000000000 92.400000000000006 3.363300000000000 5 276 16.399999999999999 393.740000000000009 10.500000000000000 3731 Newton 40 3731 -71.109999999999999 42.213700000000003 26.699999999999999 26.699999999999999 0.358090000000000 0.000000000000000 6.2000000000000001 0.507000000000000 6.951000000000000 88.500000000000000 2.861700000000000 8 307 17.399999999999999 391.699999999999989 9.710000000000001 3732 Newton 40 3732 -71.120999999999995 42.216600000000000 21.699999999999999 21.699999999999999 0.407710000000000 0.000000000000000 6.2000000000000001 0.507000000000000 6.164000000000000 91.299999999999997 3.048000000000000 8 307 17.399999999999999 395.240000000000009 21.460000000000001 3733 Newton 40 3733 -71.125000000000000 42.213400000000000 27.500000000000000 27.500000000000000 0.623560000000000 0.000000000000000 6.2000000000000001 0.507000000000000 6.879000000000000 77.700000000000003 3.272100000000000 8 307 17.399999999999999 390.389999999999986 9.930000000000000 3734 Newton 40 3734 -71.120800000000003 42.218299999999999 30.100000000000001 30.100000000000001 0.614700000000000 0.000000000000000 6.2000000000000000 0.507000000000000 6.618000000000000 80.799999999999997 3.272100000000000 8 307 17.399999999999999 396.899999999999977 7.600000000000000 3735 Newton 40 3735 -71.109999999999999 42.206000000000003 44.799999999999997 44.799999999999997 0.315330000000000 0.000000000000000 6.2000000000000000 0.504000000000000 8.266000000000000 78.299999999999997 2.894400000000000 8 307 17.399999999999999 385.050000000000011 4.140000000000000 3736 Newton 40 3736 -71.101200000000006 42.197499999999998 50.000000000000000 50.000000000000000 0.526930000000000 0.000000000000000 6.2000000000000000 0.504000000000000 8.725000000000000 83.000000000000000 2.894400000000000 8 307 17.399999999999999 382.000000000000000 4.630000000000000 3737 Newton 40 3737 -71.121499999999997 42.202500000000001 37.600000000000001 37.600000000000001 0.382140000000000 0.000000000000000 6.2000000000000000 0.504000000000000 8.039999999999999 86.500000000000000 3.215700000000000 8 307 17.399999999999999 387.379999999999995 3.130000000000000 3738 Newton 40 3738 -71.116000000000000 42.194699999999997 31.600000000000001 31.600000000000001 0.412380000000000 0.000000000000000 6.2000000000000000 0.504000000000000 7.163000000000000 79.900000000000006 3.215700000000000 8 307 17.399999999999999 372.079999999999984 6.360000000000000 3739 Newton 40 3739 -71.109999999999999 42.185000000000002 46.700000000000003 46.700000000000003 0.298190000000000 0.000000000000000 6.2000000000000000 0.504000000000000 7.686000000000000 17.000000000000000 3.375100000000000 8 307 17.399999999999999 377.509999999999991 3.920000000000000 3740 Newton 40 3740 -71.119000000000000 42.180700000000002 31.500000000000000 31.500000000000000 0.441780000000000 0.000000000000000 6.2000000000000000 0.504000000000000 6.552000000000000 21.399999999999999 3.375100000000000 8 307 17.399999999999999 380.339999999999975 3.760000000000000 3741 Newton 40 3741 -71.129999999999995 42.188000000000002 24.300000000000001 24.300000000000001 0.537000000000000 0.000000000000000 6.2000000000000000 0.504000000000000 5.981000000000000 68.099999999999994 3.671500000000000 8 307 17.399999999999999 378.350000000000023 11.650000000000000 3742 Newton 40 3742 -71.128500000000003 42.192999999999998 31.699999999999999 31.699999999999999 0.462960000000000 0.000000000000000 6.2000000000000000 0.504000000000000 7.412000000000000 76.900000000000006 3.671500000000000 8 307 17.399999999999999 376.139999999999986 5.250000000000000 3743 Newton 40 3743 -71.140000000000001 42.194600000000001 41.700000000000003 41.700000000000003 0.575290000000000 0.000000000000000 6.2000000000000000 0.507000000000000 8.337000000000000 73.299999999999997 3.838400000000000 8 307 17.399999999999999 385.910000000000025 2.470000000000000 3744 Newton 40 3744 -71.134000000000000 42.204000000000001 48.299999999999997 48.299999999999997 0.331470000000000 0.000000000000000 6.2000000000000000 0.507000000000000 8.247000000000000 70.400000000000006 3.651900000000000 8 307 17.399999999999999 378.949999999999989 3.950000000000000 3745 Newton 40 3745 -71.132000000000005 42.214199999999998 29.000000000000000 29.000000000000000 0.447910000000000 0.000000000000000 6.2000000000000001 0.507000000000000 6.726000000000000 66.500000000000000 3.651900000000000 8 307 17.399999999999999 360.199999999999989 8.050000000000001 3746 Newton 40 3746 -71.138000000000005 42.214100000000002 24.000000000000000 24.000000000000000 0.330450000000000 0.000000000000000 6.2000000000000000 0.507000000000000 6.086000000000000 61.500000000000000 3.651900000000000 8 307 17.399999999999999 376.750000000000000 10.880000000000001 3747 Newton 40 3747 -71.148499999999999 42.210999999999999 25.100000000000001 25.100000000000001 0.520580000000000 0.000000000000000 6.2000000000000001 0.507000000000000 6.631000000000000 76.500000000000000 4.148000000000000 8 307 17.399999999999999 388.449999999999989 9.539999999999999 3748 Newton 40 3748 -71.149100000000004 42.203000000000003 31.500000000000000 31.500000000000000 0.511830000000000 0.000000000000000 6.2000000000000000 0.507000000000000 7.358000000000000 71.599999999999994 4.148000000000000 8 307 17.399999999999999 390.069999999999993 4.730000000000000 3821 Natick 41 3821 -71.205500000000001 42.187500000000000 23.699999999999999 23.699999999999999 0.082440000000000 30.000000000000000 4.9300000000000000 0.428000000000000 6.481000000000000 18.500000000000000 6.189900000000000 6 300 16.600000000000001 379.410000000000025 6.360000000000000 3822 Natick 41 3822 -71.203500000000005 42.186999999999998 23.300000000000001 23.300000000000001 0.092520000000000 30.000000000000000 4.9300000000000000 0.428000000000000 6.606000000000000 42.200000000000003 6.189900000000000 6 300 16.600000000000001 383.779999999999973 7.370000000000000 3823 Natick 41 3823 -71.196600000000004 42.164000000000001 22.000000000000000 27.000000000000000 0.113290000000000 30.000000000000000 4.9300000000000000 0.428000000000000 6.897000000000000 54.299999999999997 6.336100000000000 6 300 16.600000000000001 391.250000000000000 11.380000000000001 3824 Natick 41 3824 -71.213800000000006 42.164499999999997 20.100000000000001 20.100000000000001 0.106120000000000 30.000000000000000 4.9300000000000000 0.428000000000000 6.095000000000000 65.099999999999994 6.336100000000000 6 300 16.600000000000001 394.620000000000005 12.400000000000000 3825 Natick 41 3825 -71.219999999999999 42.178199999999997 22.199999999999999 22.199999999999999 0.102900000000000 30.000000000000000 4.9300000000000000 0.428000000000000 6.358000000000000 52.899999999999999 7.035500000000000 6 300 16.600000000000001 372.750000000000000 11.220000000000001 3826 Natick 41 3826 -71.231999999999999 42.172499999999999 23.699999999999999 23.699999999999999 0.127570000000000 30.000000000000000 4.9300000000000000 0.428000000000000 6.393000000000000 7.800000000000000 7.035500000000000 6 300 16.600000000000001 374.709999999999980 5.190000000000000 3831 Framingham 42 3831 -71.243499999999997 42.162999999999997 17.600000000000001 17.600000000000001 0.206080000000000 22.000000000000000 5.8600000000000000 0.431000000000000 5.593000000000000 76.500000000000000 7.954900000000000 7 330 19.100000000000001 372.490000000000009 12.500000000000000 3832 Framingham 42 3832 -71.257499999999993 42.161799999999999 18.500000000000000 18.500000000000000 0.191330000000000 22.000000000000000 5.8600000000000000 0.431000000000000 5.605000000000000 70.200000000000003 7.954900000000000 7 330 19.100000000000001 389.129999999999995 18.460000000000001 3833 Framingham 42 3833 -71.262000000000000 42.168999999999997 24.300000000000001 24.300000000000001 0.339830000000000 22.000000000000000 5.8600000000000000 0.431000000000000 6.108000000000000 34.899999999999999 8.055500000000000 7 330 19.100000000000001 390.180000000000007 9.160000000000000 3834 Framingham 42 3834 -71.247000000000000 42.170299999999997 20.500000000000000 20.500000000000000 0.196570000000000 22.000000000000000 5.8600000000000000 0.431000000000000 6.226000000000000 79.200000000000003 8.055500000000000 7 330 19.100000000000001 376.139999999999986 10.150000000000000 3835 Framingham 42 3835 -71.254999999999995 42.176699999999997 24.500000000000000 24.500000000000000 0.164390000000000 22.000000000000000 5.8600000000000000 0.431000000000000 6.433000000000000 49.100000000000001 7.826500000000000 7 330 19.100000000000001 374.709999999999980 9.520000000000000 3836 Framingham 42 3836 -71.247500000000002 42.182499999999997 26.199999999999999 26.199999999999999 0.190730000000000 22.000000000000000 5.8600000000000000 0.431000000000000 6.718000000000000 17.500000000000000 7.826500000000000 7 330 19.100000000000001 393.740000000000009 6.560000000000000 3837 Framingham 42 3837 -71.238000000000000 42.191000000000003 24.399999999999999 24.399999999999999 0.140300000000000 22.000000000000000 5.8600000000000000 0.431000000000000 6.487000000000000 13.000000000000000 7.396700000000000 7 330 19.100000000000001 396.279999999999973 5.900000000000000 3838 Framingham 42 3838 -71.243499999999997 42.198200000000000 24.800000000000001 24.800000000000001 0.214090000000000 22.000000000000000 5.8600000000000000 0.431000000000000 6.438000000000000 8.900000000000000 7.396700000000000 7 330 19.100000000000001 377.069999999999993 3.590000000000000 3839 Framingham 42 3839 -71.268500000000003 42.193500000000000 29.600000000000001 29.600000000000001 0.082210000000000 22.000000000000000 5.8600000000000000 0.431000000000000 6.957000000000000 6.800000000000000 8.906700000000001 7 330 19.100000000000001 386.089999999999975 3.530000000000000 3840 Framingham 42 3840 -71.280699999999996 42.172699999999999 42.799999999999997 42.799999999999997 0.368940000000000 22.000000000000000 5.8600000000000000 0.431000000000000 8.259000000000000 8.400000000000000 8.906700000000001 7 330 19.100000000000001 396.899999999999977 3.540000000000000 3851 Ashland 43 3851 -71.289500000000004 42.157499999999999 21.899999999999999 21.899999999999999 0.048190000000000 80.000000000000000 3.6400000000000000 0.392000000000000 6.108000000000000 32.000000000000000 9.220300000000000 1 315 16.399999999999999 392.889999999999986 6.570000000000000 3852 Ashland 43 3852 -71.269000000000005 42.148200000000003 20.899999999999999 20.899999999999999 0.035480000000000 80.000000000000000 3.6400000000000000 0.392000000000000 5.876000000000000 19.100000000000001 9.220300000000000 1 315 16.399999999999999 395.180000000000007 9.250000000000000 3861 Sherborn 44 3861 -71.222999999999999 42.145000000000003 44.000000000000000 44.000000000000000 0.015380000000000 90.000000000000000 3.7500000000000000 0.394000000000000 7.454000000000000 34.200000000000003 6.336100000000000 3 244 15.900000000000000 386.339999999999975 3.110000000000000 4001 Brookline 45 4001 -71.067899999999995 42.207299999999996 50.000000000000000 50.000000000000000 0.611540000000000 20.000000000000000 3.9700000000000000 0.647000000000000 8.704000000000001 86.900000000000006 1.801000000000000 5 264 13.000000000000000 389.699999999999989 5.120000000000000 4002 Brookline 45 4002 -71.072699999999998 42.207700000000003 36.000000000000000 36.000000000000000 0.663510000000000 20.000000000000000 3.9700000000000000 0.647000000000000 7.333000000000000 100.000000000000000 1.894600000000000 5 264 13.000000000000000 383.290000000000020 7.790000000000000 4003 Brookline 45 4003 -71.076499999999996 42.207500000000003 30.100000000000001 30.100000000000001 0.656650000000000 20.000000000000000 3.9700000000000000 0.647000000000000 6.842000000000000 100.000000000000000 2.010700000000000 5 264 13.000000000000000 391.930000000000007 6.900000000000000 4004 Brookline 45 4004 -71.079999999999998 42.204000000000001 33.799999999999997 33.799999999999997 0.540110000000000 20.000000000000000 3.9700000000000000 0.647000000000000 7.203000000000000 81.799999999999997 2.112100000000000 5 264 13.000000000000000 392.800000000000011 9.590000000000000 4005 Brookline 45 4005 -71.078999999999994 42.201999999999998 43.100000000000001 43.100000000000001 0.534120000000000 20.000000000000000 3.9700000000000000 0.647000000000000 7.520000000000000 89.400000000000006 2.139800000000000 5 264 13.000000000000000 388.370000000000005 7.260000000000000 4006 Brookline 45 4006 -71.083500000000001 42.200000000000003 48.799999999999997 48.799999999999997 0.520140000000000 20.000000000000000 3.9700000000000000 0.647000000000000 8.398000000000000 91.500000000000000 2.288500000000000 5 264 13.000000000000000 386.860000000000014 5.910000000000000 4007 Brookline 45 4007 -71.075000000000003 42.198000000000000 31.000000000000000 31.000000000000000 0.825260000000000 20.000000000000000 3.9700000000000000 0.647000000000000 7.327000000000000 94.500000000000000 2.078800000000000 5 264 13.000000000000000 393.420000000000016 11.250000000000000 4008 Brookline 45 4008 -71.070999999999998 42.203000000000003 36.500000000000000 36.500000000000000 0.550070000000000 20.000000000000000 3.9700000000000000 0.647000000000000 7.206000000000000 91.599999999999994 1.930100000000000 5 264 13.000000000000000 387.889999999999986 8.100000000000000 4009 Brookline 45 4009 -71.069999999999993 42.200000000000003 22.800000000000001 22.800000000000001 0.761620000000000 20.000000000000000 3.9700000000000000 0.647000000000000 5.560000000000000 62.799999999999997 1.986500000000000 5 264 13.000000000000000 392.399999999999977 10.449999999999999 4010 Brookline 45 4010 -71.072500000000005 42.196500000000000 30.699999999999999 30.699999999999999 0.785700000000000 20.000000000000000 3.9700000000000000 0.647000000000000 7.014000000000000 84.599999999999994 2.132900000000000 5 264 13.000000000000000 384.069999999999993 14.789999999999999 4011 Brookline 45 4011 -71.084999999999994 42.192500000000003 50.000000000000000 50.000000000000000 0.578340000000000 20.000000000000000 3.9700000000000000 0.575000000000000 8.297000000000001 67.000000000000000 2.421600000000000 5 264 13.000000000000000 384.540000000000020 7.440000000000000 4012 Brookline 45 4012 -71.092500000000001 42.207500000000003 43.500000000000000 43.500000000000000 0.540500000000000 20.000000000000000 3.9700000000000000 0.575000000000000 7.470000000000000 52.600000000000001 2.872000000000000 5 264 13.000000000000000 390.300000000000011 3.160000000000000 4021 Dedham 46 4021 -71.097999999999999 42.154000000000003 20.699999999999999 20.699999999999999 0.090650000000000 20.000000000000000 6.9600000000000001 0.464000000000000 5.920000000000000 61.500000000000000 3.917500000000000 3 223 18.600000000000001 391.339999999999975 13.650000000000000 4022 Dedham 46 4022 -71.087000000000003 42.140999999999998 21.100000000000001 21.100000000000001 0.299160000000000 20.000000000000000 6.9600000000000000 0.464000000000000 5.856000000000000 42.100000000000001 4.429000000000000 3 223 18.600000000000001 388.649999999999977 13.000000000000000 4023 Dedham 46 4023 -71.093999999999994 42.135500000000000 25.199999999999999 25.199999999999999 0.162110000000000 20.000000000000000 6.9600000000000000 0.464000000000000 6.240000000000000 16.300000000000001 4.429000000000000 3 223 18.600000000000001 396.899999999999977 6.590000000000000 4024 Dedham 46 4024 -71.098200000000006 42.144500000000001 24.399999999999999 24.399999999999999 0.114600000000000 20.000000000000000 6.9600000000000000 0.464000000000000 6.538000000000000 58.700000000000003 3.917500000000000 3 223 18.600000000000001 394.959999999999980 7.730000000000000 4025 Dedham 46 4025 -71.117000000000004 42.151000000000003 35.200000000000003 35.200000000000003 0.221880000000000 20.000000000000000 6.9600000000000001 0.464000000000000 7.691000000000000 51.799999999999997 4.366500000000000 3 223 18.600000000000001 390.769999999999982 6.580000000000000 4031 Needham 47 4031 -71.130499999999998 42.167499999999997 32.399999999999999 32.399999999999999 0.056440000000000 40.000000000000000 6.4100000000000001 0.447000000000000 6.758000000000000 32.899999999999999 4.077600000000000 4 254 17.600000000000001 396.899999999999977 3.530000000000000 4032 Needham 47 4032 -71.138000000000005 42.173299999999998 32.000000000000000 32.000000000000000 0.096040000000000 40.000000000000000 6.4100000000000000 0.447000000000000 6.854000000000000 42.799999999999997 4.267300000000000 4 254 17.600000000000001 396.899999999999977 2.980000000000000 4033 Needham 47 4033 -71.140500000000003 42.163200000000003 33.200000000000003 33.200000000000003 0.104690000000000 40.000000000000000 6.4100000000000001 0.447000000000000 7.267000000000000 49.000000000000000 4.787200000000000 4 254 17.600000000000001 389.250000000000000 6.050000000000000 4034 Needham 47 4034 -71.149500000000003 42.173000000000002 33.100000000000001 33.100000000000001 0.061270000000000 40.000000000000000 6.4100000000000001 0.447000000000000 6.826000000000000 27.600000000000001 4.862800000000000 4 254 17.600000000000001 393.449999999999989 4.160000000000000 4035 Needham 47 4035 -71.139499999999998 42.181300000000000 29.100000000000001 29.100000000000001 0.079780000000000 40.000000000000000 6.4100000000000000 0.447000000000000 6.482000000000000 32.100000000000001 4.140300000000000 4 254 17.600000000000001 396.899999999999977 7.190000000000000 4041 Wellesley 48 4041 -71.147999999999996 42.188000000000002 35.100000000000001 35.100000000000001 0.210380000000000 20.000000000000000 3.3300000000000000 0.442900000000000 6.812000000000000 32.200000000000003 4.100700000000000 5 216 14.900000000000000 396.899999999999977 4.850000000000000 4042 Wellesley 48 4042 -71.165999999999997 42.186999999999998 45.399999999999999 45.399999999999999 0.035780000000000 20.000000000000000 3.3300000000000000 0.442900000000000 7.820000000000000 64.500000000000000 4.694700000000000 5 216 14.900000000000000 387.310000000000002 3.760000000000000 4043 Wellesley 48 4043 -71.185000000000002 42.184800000000003 35.399999999999999 35.399999999999999 0.037050000000000 20.000000000000000 3.3300000000000000 0.442900000000000 6.968000000000000 37.200000000000003 5.244700000000000 5 216 14.900000000000000 392.230000000000018 4.590000000000000 4044 Wellesley 48 4044 -71.177499999999995 42.173499999999997 46.000000000000000 46.000000000000000 0.061290000000000 20.000000000000000 3.3300000000000001 0.442900000000000 7.645000000000000 49.700000000000003 5.211900000000000 5 216 14.900000000000000 377.069999999999993 3.010000000000000 4051 Dover 49 4051 -71.173000000000002 42.147500000000001 50.000000000000000 50.000000000000000 0.015010000000000 90.000000000000000 1.2100000000000001 0.401000000000000 7.923000000000000 24.800000000000001 5.885000000000000 1 198 13.600000000000000 395.519999999999982 3.160000000000000 4061 Medfield 50 4061 -71.180000000000007 42.110500000000002 32.200000000000003 32.200000000000003 0.009060000000000 90.000000000000000 2.9700000000000000 0.400000000000000 7.088000000000000 20.800000000000001 7.307300000000000 1 285 15.300000000000001 394.720000000000027 7.850000000000000 4071 Millis 51 4071 -71.213499999999996 42.100000000000001 22.000000000000000 22.000000000000000 0.010960000000000 55.000000000000000 2.2500000000000000 0.389000000000000 6.453000000000000 31.899999999999999 7.307300000000000 1 300 15.300000000000001 394.720000000000027 8.230000000000000 4091 Norfolk 52 4091 -71.194999999999993 42.067500000000003 20.100000000000001 20.100000000000001 0.019650000000000 80.000000000000000 1.7600000000000000 0.385000000000000 6.230000000000000 31.500000000000000 9.089200000000000 1 241 18.199999999999999 341.600000000000023 12.930000000000000 4111 Walpole 53 4111 -71.147999999999996 42.077500000000001 23.199999999999999 23.199999999999999 0.038710000000000 52.500000000000000 5.3200000000000000 0.405000000000000 6.209000000000000 31.300000000000001 7.317200000000000 6 293 16.600000000000001 396.899999999999977 7.140000000000000 4112 Walpole 53 4112 -71.132499999999993 42.094000000000001 22.300000000000001 22.300000000000001 0.045900000000000 52.500000000000000 5.3200000000000000 0.405000000000000 6.315000000000000 45.600000000000001 7.317200000000000 6 293 16.600000000000001 396.899999999999977 7.600000000000000 4113 Walpole 53 4113 -71.155000000000001 42.097999999999999 24.800000000000001 24.800000000000001 0.042970000000000 52.500000000000000 5.3200000000000000 0.405000000000000 6.565000000000000 22.899999999999999 7.317200000000000 6 293 16.600000000000001 371.720000000000027 9.510000000000000 4121 Westwood 54 4121 -71.138499999999993 42.123500000000000 28.500000000000000 28.500000000000000 0.035020000000000 80.000000000000000 4.9500000000000000 0.411000000000000 6.861000000000000 27.899999999999999 5.116700000000000 4 245 19.199999999999999 396.899999999999977 3.330000000000000 4122 Westwood 54 4122 -71.132999999999996 42.140799999999999 37.299999999999997 37.299999999999997 0.078860000000000 80.000000000000000 4.9500000000000000 0.411000000000000 7.148000000000000 27.699999999999999 5.116700000000000 4 245 19.199999999999999 396.899999999999977 3.560000000000000 4123 Westwood 54 4123 -71.106999999999999 42.130699999999997 27.899999999999999 27.899999999999999 0.036150000000000 80.000000000000000 4.9500000000000000 0.411000000000000 6.630000000000000 23.399999999999999 5.116700000000000 4 245 19.199999999999999 396.899999999999977 4.700000000000000 4131 Norwood 55 4131 -71.108999999999995 42.109999999999999 23.899999999999999 23.899999999999999 0.082650000000000 0.000000000000000 13.9200000000000000 0.437000000000000 6.127000000000000 18.399999999999999 5.502700000000000 4 289 16.000000000000000 396.899999999999977 8.580000000000000 4132 Norwood 55 4132 -71.117999999999995 42.121699999999997 21.699999999999999 21.699999999999999 0.081990000000000 0.000000000000000 13.9200000000000000 0.437000000000000 6.009000000000000 42.299999999999997 5.502700000000000 4 289 16.000000000000000 396.899999999999977 10.400000000000000 4133 Norwood 55 4133 -71.130899999999997 42.116599999999998 28.600000000000001 28.600000000000001 0.129320000000000 0.000000000000000 13.9200000000000000 0.437000000000000 6.678000000000000 31.100000000000001 5.960400000000000 4 289 16.000000000000000 396.899999999999977 6.270000000000000 4134 Norwood 55 4134 -71.128000000000000 42.110799999999998 27.100000000000001 27.100000000000001 0.053720000000000 0.000000000000000 13.9200000000000000 0.437000000000000 6.549000000000000 51.000000000000000 5.960400000000000 4 289 16.000000000000000 392.850000000000023 7.390000000000000 4135 Norwood 55 4135 -71.120999999999995 42.102499999999999 20.300000000000001 20.300000000000001 0.141030000000000 0.000000000000000 13.9200000000000000 0.437000000000000 5.790000000000000 58.000000000000000 6.320000000000000 4 289 16.000000000000000 396.899999999999977 15.840000000000000 4141 Sharon 56 4141 -71.120000000000005 42.072499999999998 22.500000000000000 22.500000000000000 0.064660000000000 70.000000000000000 2.2400000000000000 0.400000000000000 6.345000000000000 20.100000000000001 7.827800000000000 5 358 14.800000000000001 368.240000000000009 4.970000000000000 4142 Sharon 56 4142 -71.099999999999994 42.058999999999997 29.000000000000000 29.000000000000000 0.055610000000000 70.000000000000000 2.2400000000000000 0.400000000000000 7.041000000000000 10.000000000000000 7.827800000000000 5 358 14.800000000000001 371.579999999999984 4.740000000000000 4143 Sharon 56 4143 -71.103499999999997 42.073500000000003 24.800000000000001 24.800000000000001 0.044170000000000 70.000000000000000 2.2400000000000000 0.400000000000000 6.871000000000000 47.399999999999999 7.827800000000000 5 358 14.800000000000001 390.860000000000014 6.070000000000000 4151 Canton 57 4151 -71.087500000000006 42.094999999999999 22.000000000000000 22.000000000000000 0.035370000000000 34.000000000000000 6.0900000000000000 0.433000000000000 6.590000000000000 40.399999999999999 5.491700000000000 7 329 16.100000000000001 395.750000000000000 9.500000000000000 4152 Canton 57 4152 -71.062500000000000 42.101999999999997 26.399999999999999 26.399999999999999 0.092660000000000 34.000000000000000 6.0900000000000000 0.433000000000000 6.495000000000000 18.399999999999999 5.491700000000000 7 329 16.100000000000001 383.610000000000014 8.670000000000000 4153 Canton 57 4153 -71.086500000000001 42.119999999999997 33.100000000000001 33.100000000000001 0.100000000000000 34.000000000000000 6.0900000000000000 0.433000000000000 6.982000000000000 17.699999999999999 5.491700000000000 7 329 16.100000000000001 390.430000000000007 4.860000000000000 4161 Milton 58 4161 -71.046499999999995 42.145000000000003 36.100000000000001 36.100000000000001 0.055150000000000 33.000000000000000 2.1800000000000000 0.472000000000000 7.236000000000000 41.100000000000001 4.022000000000000 7 222 18.399999999999999 393.680000000000007 6.930000000000000 4162 Milton 58 4162 -71.057000000000002 42.152500000000003 28.399999999999999 28.399999999999999 0.054790000000000 33.000000000000000 2.1800000000000000 0.472000000000000 6.616000000000000 58.100000000000001 3.370000000000000 7 222 18.399999999999999 393.360000000000014 8.930000000000000 4163 Milton 58 4163 -71.045000000000002 42.158999999999999 33.399999999999999 33.399999999999999 0.075030000000000 33.000000000000000 2.1800000000000000 0.472000000000000 7.420000000000000 71.900000000000006 3.099200000000000 7 222 18.399999999999999 396.899999999999977 6.470000000000000 4164 Milton 58 4164 -71.028000000000006 42.156500000000001 28.199999999999999 28.199999999999999 0.049320000000000 33.000000000000000 2.1800000000000000 0.472000000000000 6.849000000000000 70.299999999999997 3.182700000000000 7 222 18.399999999999999 396.899999999999977 7.530000000000000 4171 Quincy 59 4171 -71.013800000000003 42.155500000000004 22.800000000000001 22.800000000000001 0.492980000000000 0.000000000000000 9.9000000000000000 0.544000000000000 6.635000000000000 82.500000000000000 3.317500000000000 4 304 18.399999999999999 396.899999999999977 4.540000000000000 4172 Quincy 59 4172 -71.020099999999999 42.159999999999997 20.300000000000001 20.300000000000001 0.349400000000000 0.000000000000000 9.9000000000000000 0.544000000000000 5.972000000000000 76.700000000000003 3.102500000000000 4 304 18.399999999999999 396.240000000000009 9.970000000000001 4173 Quincy 59 4173 -71.016000000000005 42.176000000000002 16.100000000000001 16.100000000000001 2.635480000000000 0.000000000000000 9.9000000000000000 0.544000000000000 4.973000000000000 37.799999999999997 2.519400000000000 4 304 18.399999999999999 350.449999999999989 12.640000000000001 4174 Quincy 59 4174 -71.007499999999993 42.177999999999997 22.100000000000001 22.100000000000001 0.790410000000000 0.000000000000000 9.9000000000000000 0.544000000000000 6.122000000000000 52.799999999999997 2.640300000000000 4 304 18.399999999999999 396.899999999999977 5.980000000000000 4175 Quincy 59 4175 -71.015000000000001 42.167000000000002 19.399999999999999 19.399999999999999 0.261690000000000 0.000000000000000 9.9000000000000000 0.544000000000000 6.023000000000000 90.400000000000006 2.834000000000000 4 304 18.399999999999999 396.300000000000011 11.720000000000001 4176 Quincy 59 4176 -71.007499999999993 42.161299999999997 21.600000000000001 21.600000000000001 0.269380000000000 0.000000000000000 9.9000000000000000 0.544000000000000 6.266000000000000 82.799999999999997 3.262800000000000 4 304 18.399999999999999 393.389999999999986 7.900000000000000 4177 Quincy 59 4177 -71.000000000000000 42.152999999999999 23.800000000000001 23.800000000000001 0.369200000000000 0.000000000000000 9.9000000000000000 0.544000000000000 6.567000000000000 87.299999999999997 3.602300000000000 4 304 18.399999999999999 395.689999999999998 9.279999999999999 4178 Quincy 59 4178 -70.979500000000002 42.158000000000001 16.199999999999999 16.199999999999999 0.253560000000000 0.000000000000000 9.9000000000000000 0.544000000000000 5.705000000000000 77.700000000000003 3.945000000000000 4 304 18.399999999999999 396.420000000000016 11.500000000000000 4179 Quincy 59 4179 -70.988000000000000 42.148499999999999 17.800000000000001 17.800000000000001 0.318270000000000 0.000000000000000 9.9000000000000000 0.544000000000000 5.914000000000000 83.200000000000003 3.998600000000000 4 304 18.399999999999999 390.699999999999989 18.329999999999998 4180 Quincy 59 4180 -71.004000000000005 42.142499999999998 19.800000000000001 19.800000000000001 0.245220000000000 0.000000000000000 9.9000000000000000 0.544000000000000 5.782000000000000 71.700000000000003 4.031700000000000 4 304 18.399999999999999 396.899999999999977 15.940000000000000 4181 Quincy 59 4181 -71.010000000000005 42.149999999999999 23.100000000000001 23.100000000000001 0.402020000000000 0.000000000000000 9.9000000000000000 0.544000000000000 6.382000000000000 67.200000000000003 3.532500000000000 4 304 18.399999999999999 395.209999999999980 10.359999999999999 4182 Quincy 59 4182 -71.019999999999996 42.151000000000003 21.000000000000000 21.000000000000000 0.475470000000000 0.000000000000000 9.9000000000000000 0.544000000000000 6.113000000000000 58.799999999999997 4.001900000000000 4 304 18.399999999999999 396.230000000000018 12.730000000000000 4191 Braintree 60 4191 -71.008499999999998 42.128999999999998 23.800000000000001 23.800000000000001 0.167600000000000 0.000000000000000 7.3800000000000000 0.493000000000000 6.426000000000000 52.299999999999997 4.540400000000000 5 287 19.600000000000001 396.899999999999977 7.200000000000000 4192 Braintree 60 4192 -70.997500000000002 42.134000000000000 23.100000000000001 23.100000000000001 0.181590000000000 0.000000000000000 7.3800000000000000 0.493000000000000 6.376000000000000 54.299999999999997 4.540400000000000 5 287 19.600000000000001 396.899999999999977 6.870000000000000 4193 Braintree 60 4193 -70.989999999999995 42.136699999999998 20.399999999999999 20.399999999999999 0.351140000000000 0.000000000000000 7.3800000000000000 0.493000000000000 6.041000000000000 49.899999999999999 4.721100000000000 5 287 19.600000000000001 396.899999999999977 7.700000000000000 4194 Braintree 60 4194 -70.983400000000003 42.137500000000003 18.500000000000000 18.500000000000000 0.283920000000000 0.000000000000000 7.3800000000000000 0.493000000000000 5.708000000000000 74.299999999999997 4.721100000000000 5 287 19.600000000000001 391.129999999999995 11.740000000000000 4195 Braintree 60 4195 -70.989500000000007 42.126500000000000 25.000000000000000 25.000000000000000 0.341090000000000 0.000000000000000 7.3800000000000000 0.493000000000000 6.415000000000000 40.100000000000001 4.721100000000000 5 287 19.600000000000001 396.899999999999977 6.120000000000000 4196 Braintree 60 4196 -71.000000000000000 42.106600000000000 24.600000000000001 24.600000000000001 0.191860000000000 0.000000000000000 7.3800000000000000 0.493000000000000 6.431000000000000 14.699999999999999 5.415900000000000 5 287 19.600000000000001 393.680000000000007 5.080000000000000 4197 Braintree 60 4197 -70.999499999999998 42.117500000000000 23.000000000000000 23.000000000000000 0.303470000000000 0.000000000000000 7.3800000000000000 0.493000000000000 6.312000000000000 28.899999999999999 5.415900000000000 5 287 19.600000000000001 396.899999999999977 6.150000000000000 4198 Braintree 60 4198 -71.010000000000005 42.121499999999997 22.199999999999999 22.199999999999999 0.241030000000000 0.000000000000000 7.3800000000000000 0.493000000000000 6.083000000000000 43.700000000000003 5.415900000000000 5 287 19.600000000000001 396.899999999999977 12.789999999999999 4201 Randolph 61 4201 -71.027500000000003 42.113000000000000 19.300000000000001 19.300000000000001 0.066170000000000 0.000000000000000 3.2400000000000000 0.460000000000000 5.868000000000000 25.800000000000001 5.214600000000000 4 430 16.899999999999999 382.439999999999998 9.970000000000001 4202 Randolph 61 4202 -71.041499999999999 42.115000000000002 22.600000000000001 22.600000000000001 0.067240000000000 0.000000000000000 3.2400000000000000 0.460000000000000 6.333000000000000 17.199999999999999 5.214600000000000 4 430 16.899999999999999 375.209999999999980 7.340000000000000 4203 Randolph 61 4203 -71.025000000000006 42.097999999999999 19.800000000000001 19.800000000000001 0.045440000000000 0.000000000000000 3.2400000000000000 0.460000000000000 6.144000000000000 32.200000000000003 5.873600000000000 4 430 16.899999999999999 368.569999999999993 9.090000000000000 4211 Holbrook 62 4211 -71.011499999999998 42.086500000000001 17.100000000000001 17.100000000000001 0.050230000000000 35.000000000000000 6.0600000000000000 0.437900000000000 5.706000000000000 28.399999999999999 6.640700000000000 1 304 16.899999999999999 394.019999999999982 12.430000000000000 4212 Holbrook 62 4212 -70.995999999999995 42.089500000000001 19.399999999999999 19.399999999999999 0.034660000000000 35.000000000000000 6.0600000000000000 0.437900000000000 6.031000000000000 23.300000000000001 6.640700000000000 1 304 16.899999999999999 362.250000000000000 7.830000000000000 4221 Weymouth 63 4221 -70.979500000000002 42.099499999999999 22.199999999999999 22.199999999999999 0.050830000000000 0.000000000000000 5.1900000000000000 0.515000000000000 6.316000000000000 38.100000000000001 6.458400000000000 5 224 20.199999999999999 389.709999999999980 5.680000000000000 4222 Weymouth 63 4222 -70.965000000000003 42.100999999999999 20.699999999999999 20.699999999999999 0.037380000000000 0.000000000000000 5.1900000000000000 0.515000000000000 6.310000000000000 38.500000000000000 6.458400000000000 5 224 20.199999999999999 389.399999999999977 6.750000000000000 4223 Weymouth 63 4223 -70.969999999999999 42.115000000000002 21.100000000000001 21.100000000000001 0.039610000000000 0.000000000000000 5.1900000000000000 0.515000000000000 6.037000000000000 34.500000000000000 5.985300000000000 5 224 20.199999999999999 396.899999999999977 8.010000000000000 4224 Weymouth 63 4224 -70.975999999999999 42.128000000000000 19.500000000000000 19.500000000000000 0.034270000000000 0.000000000000000 5.1900000000000000 0.515000000000000 5.869000000000000 46.299999999999997 5.231100000000000 5 224 20.199999999999999 396.899999999999977 9.800000000000001 4225 Weymouth 63 4225 -70.960200000000000 42.127000000000002 18.500000000000000 18.500000000000000 0.030410000000000 0.000000000000000 5.1900000000000000 0.515000000000000 5.895000000000000 59.600000000000001 5.615000000000000 5 224 20.199999999999999 394.810000000000002 10.560000000000000 4226 Weymouth 63 4226 -70.963300000000004 42.137400000000000 20.600000000000001 20.600000000000001 0.033060000000000 0.000000000000000 5.1900000000000000 0.515000000000000 6.059000000000000 37.299999999999997 4.812200000000000 5 224 20.199999999999999 396.139999999999986 8.510000000000000 4227 Weymouth 63 4227 -70.967500000000001 42.143999999999998 19.000000000000000 19.000000000000000 0.054970000000000 0.000000000000000 5.1900000000000000 0.515000000000000 5.985000000000000 45.399999999999999 4.812200000000000 5 224 20.199999999999999 396.899999999999977 9.740000000000000 4228 Weymouth 63 4228 -70.965000000000003 42.150300000000001 18.699999999999999 18.699999999999999 0.061510000000000 0.000000000000000 5.1900000000000000 0.515000000000000 5.968000000000000 58.500000000000000 4.812200000000000 5 224 20.199999999999999 396.899999999999977 9.289999999999999 4231 Cohasset 64 4231 -70.887500000000003 42.146500000000003 32.700000000000003 32.700000000000003 0.013010000000000 35.000000000000000 1.5200000000000000 0.442000000000000 7.241000000000000 49.299999999999997 7.037900000000000 1 284 15.500000000000000 394.740000000000009 5.490000000000000 5001 Hull 65 5001 -70.915000000000006 42.159999999999997 16.500000000000000 16.500000000000000 0.024980000000000 0.000000000000000 1.8900000000000000 0.518000000000000 6.540000000000000 59.700000000000003 6.266900000000000 1 422 15.900000000000000 389.959999999999980 8.650000000000000 5011 Hingham 66 5011 -70.936999999999998 42.147500000000001 23.899999999999999 23.899999999999999 0.025430000000000 55.000000000000000 3.7800000000000000 0.484000000000000 6.696000000000000 56.399999999999999 5.732100000000000 5 370 17.600000000000001 396.899999999999977 7.180000000000000 5012 Hingham 66 5012 -70.932500000000005 42.122999999999998 31.199999999999999 31.199999999999999 0.030490000000000 55.000000000000000 3.7800000000000000 0.484000000000000 6.874000000000000 28.100000000000001 6.465400000000000 5 370 17.600000000000001 387.970000000000027 4.610000000000000 5021 Rockland 67 5021 -70.947000000000003 42.072499999999998 17.500000000000000 17.500000000000000 0.031130000000000 0.000000000000000 4.3900000000000000 0.442000000000000 6.014000000000000 48.500000000000000 8.013600000000000 3 352 18.800000000000001 385.639999999999986 10.529999999999999 5022 Rockland 67 5022 -70.950100000000006 42.082500000000003 17.199999999999999 17.199999999999999 0.061620000000000 0.000000000000000 4.3900000000000000 0.442000000000000 5.898000000000000 52.299999999999997 8.013600000000000 3 352 18.800000000000001 364.610000000000014 12.670000000000000 5031 Hanover 68 5031 -70.927499999999995 42.079500000000003 23.100000000000001 23.100000000000001 0.018700000000000 85.000000000000000 4.1500000000000000 0.429000000000000 6.516000000000000 27.699999999999999 8.535299999999999 4 351 17.899999999999999 392.430000000000007 6.360000000000000 5041 Norwell 69 5041 -70.920000000000002 42.101599999999998 24.500000000000000 24.500000000000000 0.015010000000000 80.000000000000000 2.0100000000000000 0.435000000000000 6.635000000000000 29.699999999999999 8.343999999999999 4 280 17.000000000000000 390.939999999999998 5.990000000000000 5051 Scituate 70 5051 -70.855000000000004 42.130000000000003 26.600000000000001 26.600000000000001 0.028990000000000 40.000000000000000 1.2500000000000000 0.429000000000000 6.939000000000000 34.500000000000000 8.792100000000000 1 335 19.699999999999999 389.850000000000023 5.890000000000000 5052 Scituate 70 5052 -70.832999999999998 42.115000000000002 22.899999999999999 22.899999999999999 0.062110000000000 40.000000000000000 1.2500000000000000 0.429000000000000 6.490000000000000 44.399999999999999 8.792100000000000 1 335 19.699999999999999 396.899999999999977 5.980000000000000 5061 Marshfield 71 5061 -70.829999999999998 42.077500000000001 24.100000000000001 24.100000000000001 0.079500000000000 60.000000000000000 1.6900000000000000 0.411000000000000 6.579000000000000 35.899999999999999 10.710300000000000 4 411 18.300000000000001 370.779999999999973 5.490000000000000 5062 Marshfield 71 5062 -70.810000000000002 42.058999999999997 18.600000000000001 18.600000000000001 0.072440000000000 60.000000000000000 1.6900000000000000 0.411000000000000 5.884000000000000 18.500000000000000 10.710300000000000 4 411 18.300000000000001 392.329999999999984 7.790000000000000 5071 Duxbury 72 5071 -70.829999999999998 42.048499999999997 30.100000000000001 30.100000000000001 0.017090000000000 90.000000000000000 2.0200000000000000 0.410000000000000 6.728000000000000 36.100000000000001 12.126500000000000 5 187 17.000000000000000 384.459999999999980 4.500000000000000 5081 Pembroke 73 5081 -70.852999999999994 42.052000000000000 18.199999999999999 18.199999999999999 0.043010000000000 80.000000000000000 1.9100000000000000 0.413000000000000 5.663000000000000 21.899999999999999 10.585699999999999 4 334 22.000000000000000 382.800000000000011 8.050000000000001 5082 Pembroke 73 5082 -70.852500000000006 42.030000000000001 20.600000000000001 20.600000000000001 0.106590000000000 80.000000000000000 1.9100000000000000 0.413000000000000 5.936000000000000 19.500000000000000 10.585699999999999 4 334 22.000000000000000 376.040000000000020 5.570000000000000 1 Boston Allston-Brighton 74 1 -71.082999999999998 42.217199999999998 17.800000000000001 17.800000000000001 8.982960000000000 0.000000000000000 18.1000000000000011 0.770000000000000 6.212000000000000 97.400000000000006 2.122200000000000 24 666 20.199999999999999 377.730000000000018 17.600000000000001 2 Boston Allston-Brighton 74 2 -71.094999999999999 42.212000000000003 21.699999999999999 21.699999999999999 3.849700000000000 0.000000000000000 18.1000000000000011 0.770000000000000 6.395000000000000 91.000000000000000 2.505200000000000 24 666 20.199999999999999 391.339999999999975 13.270000000000000 3 Boston Allston-Brighton 74 3 -71.100700000000003 42.210000000000001 22.699999999999999 22.699999999999999 5.201770000000000 0.000000000000000 18.1000000000000011 0.770000000000000 6.127000000000000 83.400000000000006 2.722700000000000 24 666 20.199999999999999 395.430000000000007 11.480000000000000 4 Boston Allston-Brighton 74 4 -71.093000000000004 42.207000000000001 22.600000000000001 22.600000000000001 4.261310000000000 0.000000000000000 18.1000000000000010 0.770000000000000 6.112000000000000 81.299999999999997 2.509100000000000 24 666 20.199999999999999 390.740000000000009 12.670000000000000 5 Boston Allston-Brighton 74 5 -71.090500000000006 42.203299999999999 25.000000000000000 25.000000000000000 4.541920000000000 0.000000000000000 18.1000000000000010 0.770000000000000 6.398000000000000 88.000000000000000 2.518200000000000 24 666 20.199999999999999 374.560000000000002 7.790000000000000 6 Boston Allston-Brighton 74 6 -71.086500000000001 42.210000000000001 19.899999999999999 19.899999999999999 3.836840000000000 0.000000000000000 18.1000000000000010 0.770000000000000 6.251000000000000 91.099999999999994 2.295500000000000 24 666 20.199999999999999 350.649999999999977 14.190000000000000 7 Boston Allston-Brighton 74 7 -71.081000000000003 42.207999999999998 20.800000000000001 20.800000000000001 3.678220000000000 0.000000000000000 18.1000000000000010 0.770000000000000 5.362000000000000 96.200000000000003 2.103600000000000 24 666 20.199999999999999 380.790000000000020 10.190000000000000 8 Boston Allston-Brighton 74 8 -71.086500000000001 42.215000000000003 16.800000000000001 16.800000000000001 4.222390000000000 0.000000000000000 18.1000000000000011 0.770000000000000 5.803000000000000 89.000000000000000 1.904700000000000 24 666 20.199999999999999 353.040000000000020 14.640000000000001 101 Boston Back Bay 75 101 -71.058999999999997 42.209800000000001 21.899999999999999 21.899999999999999 3.474280000000000 0.000000000000000 18.1000000000000011 0.718000000000000 8.779999999999999 82.900000000000006 1.904700000000000 24 666 20.199999999999999 354.550000000000011 5.290000000000000 102 Boston Back Bay 75 102 -71.059500000000000 42.207500000000003 27.500000000000000 27.500000000000000 4.555870000000000 0.000000000000000 18.1000000000000010 0.718000000000000 3.561000000000000 87.900000000000006 1.613200000000000 24 666 20.199999999999999 354.699999999999989 7.120000000000000 104 Boston Back Bay 75 104 -71.054000000000002 42.205199999999998 21.899999999999999 21.899999999999999 3.696950000000000 0.000000000000000 18.1000000000000010 0.718000000000000 4.963000000000000 91.400000000000006 1.752300000000000 24 666 20.199999999999999 316.029999999999973 14.000000000000000 105 Boston Back Bay 75 105 -71.050799999999995 42.207000000000001 23.100000000000001 23.100000000000001 13.522200000000000 0.000000000000000 18.1000000000000010 0.631000000000000 3.863000000000000 100.000000000000000 1.510600000000000 24 666 20.199999999999999 131.419999999999987 13.330000000000000 107 Boston Back Bay 75 107 -71.048000000000002 42.210500000000003 50.000000000000000 50.000000000000000 4.898220000000000 0.000000000000000 18.1000000000000010 0.631000000000000 4.970000000000000 100.000000000000000 1.332500000000000 24 666 20.199999999999999 375.519999999999982 3.260000000000000 108 Boston Back Bay 75 108 -71.049700000000001 42.212499999999999 50.000000000000000 50.000000000000000 5.669980000000000 0.000000000000000 18.1000000000000011 0.631000000000000 6.683000000000000 96.799999999999997 1.356700000000000 24 666 20.199999999999999 375.329999999999984 3.730000000000000 201 Boston Beacon Hill 76 201 -71.042199999999994 42.214399999999998 50.000000000000000 50.000000000000000 6.538760000000000 0.000000000000000 18.1000000000000011 0.631000000000000 7.016000000000000 97.500000000000000 1.202400000000000 24 666 20.199999999999999 392.050000000000011 2.960000000000000 202 Boston Beacon Hill 76 202 -71.041700000000006 42.216000000000001 50.000000000000000 50.000000000000000 9.232300000000000 0.000000000000000 18.1000000000000010 0.631000000000000 6.216000000000000 100.000000000000000 1.169100000000000 24 666 20.199999999999999 366.149999999999977 9.529999999999999 203 Boston Beacon Hill 76 203 -71.039699999999996 42.218200000000003 50.000000000000000 50.000000000000000 8.267250000000001 0.000000000000000 18.1000000000000011 0.668000000000000 5.875000000000000 89.599999999999994 1.129600000000000 24 666 20.199999999999999 347.879999999999995 8.880000000000001 301 Boston North End 77 301 -71.033900000000003 42.220700000000001 13.800000000000001 13.800000000000001 11.108100000000000 0.000000000000000 18.1000000000000010 0.668000000000000 4.906000000000000 100.000000000000000 1.174200000000000 24 666 20.199999999999999 396.899999999999977 34.770000000000003 302 Boston North End 77 302 -71.034599999999998 42.218699999999998 13.800000000000001 13.800000000000001 18.498200000000001 0.000000000000000 18.1000000000000010 0.668000000000000 4.138000000000000 100.000000000000000 1.137000000000000 24 666 20.199999999999999 396.899999999999977 37.969999999999999 401 Boston Charlestown 78 401 -71.036699999999996 42.223999999999997 15.000000000000000 15.000000000000000 19.609100000000002 0.000000000000000 18.1000000000000010 0.671000000000000 7.313000000000000 97.900000000000006 1.316300000000000 24 666 20.199999999999999 396.899999999999977 13.440000000000000 402 Boston Charlestown 78 402 -71.034000000000006 42.225999999999999 13.900000000000000 13.900000000000000 15.288000000000000 0.000000000000000 18.1000000000000010 0.671000000000000 6.649000000000000 93.299999999999997 1.344900000000000 24 666 20.199999999999999 363.019999999999982 23.239999999999998 403 Boston Charlestown 78 403 -71.037999999999997 42.226500000000001 13.300000000000001 13.300000000000001 9.823490000000000 0.000000000000000 18.1000000000000010 0.671000000000000 6.794000000000000 98.799999999999997 1.358000000000000 24 666 20.199999999999999 396.899999999999977 21.239999999999998 404 Boston Charlestown 78 404 -71.040000000000006 42.224800000000002 13.100000000000000 13.100000000000000 23.648199999999999 0.000000000000000 18.1000000000000010 0.671000000000000 6.380000000000000 96.200000000000003 1.386100000000000 24 666 20.199999999999999 396.899999999999977 23.690000000000001 405 Boston Charlestown 78 405 -71.040000000000006 42.227499999999999 10.199999999999999 10.199999999999999 17.866700000000002 0.000000000000000 18.1000000000000010 0.671000000000000 6.223000000000000 100.000000000000000 1.386100000000000 24 666 20.199999999999999 393.740000000000009 21.780000000000001 406 Boston Charlestown 78 406 -71.046000000000006 42.229999999999997 10.400000000000000 10.400000000000000 88.976200000000006 0.000000000000000 18.1000000000000010 0.671000000000000 6.968000000000000 91.900000000000006 1.416500000000000 24 666 20.199999999999999 396.899999999999977 17.210000000000001 407 Boston East Boston 79 407 -71.040999999999997 42.228999999999999 10.900000000000000 10.900000000000000 15.874400000000000 0.000000000000000 18.1000000000000010 0.671000000000000 6.545000000000000 99.099999999999994 1.519200000000000 24 666 20.199999999999999 396.899999999999977 21.079999999999998 501 Boston East Boston 79 501 -71.022999999999996 42.228700000000003 11.300000000000001 11.300000000000001 9.187020000000000 0.000000000000000 18.1000000000000010 0.700000000000000 5.536000000000000 100.000000000000000 1.580400000000000 24 666 20.199999999999999 396.899999999999977 23.600000000000001 502 Boston East Boston 79 502 -71.021500000000003 42.226999999999997 12.300000000000001 12.300000000000001 7.992480000000000 0.000000000000000 18.1000000000000010 0.700000000000000 5.520000000000000 100.000000000000000 1.533100000000000 24 666 20.199999999999999 396.899999999999977 24.559999999999999 503 Boston East Boston 79 503 -71.024500000000003 42.223500000000001 8.800000000000001 8.800000000000001 20.084900000000001 0.000000000000000 18.1000000000000010 0.700000000000000 4.368000000000000 91.200000000000003 1.439500000000000 24 666 20.199999999999999 285.829999999999984 30.629999999999999 504 Boston East Boston 79 504 -71.023499999999999 42.221299999999999 7.200000000000000 7.200000000000000 16.811800000000002 0.000000000000000 18.1000000000000010 0.700000000000000 5.277000000000000 98.099999999999994 1.426100000000000 24 666 20.199999999999999 396.899999999999977 30.809999999999999 506 Boston East Boston 79 506 -71.022800000000004 42.223100000000002 10.500000000000000 10.500000000000000 24.393799999999999 0.000000000000000 18.1000000000000010 0.700000000000000 4.652000000000000 100.000000000000000 1.467200000000000 24 666 20.199999999999999 396.899999999999977 28.280000000000001 507 Boston East Boston 79 507 -71.021500000000003 42.224800000000002 7.400000000000000 7.400000000000000 22.597100000000001 0.000000000000000 18.1000000000000010 0.700000000000000 5.000000000000000 89.500000000000000 1.518400000000000 24 666 20.199999999999999 396.899999999999977 31.989999999999998 508 Boston East Boston 79 508 -71.019499999999994 42.225499999999997 10.199999999999999 10.199999999999999 14.333700000000000 0.000000000000000 18.1000000000000010 0.700000000000000 4.880000000000000 100.000000000000000 1.589500000000000 24 666 20.199999999999999 372.920000000000016 30.620000000000001 509 Boston East Boston 79 509 -71.016800000000003 42.228099999999998 11.500000000000000 11.500000000000000 8.151740000000000 0.000000000000000 18.1000000000000010 0.700000000000000 5.390000000000000 98.900000000000006 1.728100000000000 24 666 20.199999999999999 396.899999999999977 20.850000000000001 510 Boston East Boston 79 510 -71.010900000000007 42.229999999999997 15.100000000000000 15.100000000000000 6.962150000000000 0.000000000000000 18.1000000000000010 0.700000000000000 5.713000000000000 97.000000000000000 1.926500000000000 24 666 20.199999999999999 394.430000000000007 17.109999999999999 511 Boston East Boston 79 511 -71.003500000000003 42.232999999999997 23.199999999999999 23.199999999999999 5.293050000000000 0.000000000000000 18.1000000000000010 0.700000000000000 6.051000000000000 82.500000000000000 2.167800000000000 24 666 20.199999999999999 378.379999999999995 18.760000000000002 512 Boston East Boston 79 512 -71.019999999999996 42.220500000000001 9.699999999999999 9.699999999999999 11.577900000000000 0.000000000000000 18.1000000000000010 0.700000000000000 5.036000000000000 97.000000000000000 1.770000000000000 24 666 20.199999999999999 396.899999999999977 25.680000000000000 601 Boston South Boston 80 601 -71.016700000000000 42.201000000000001 13.800000000000001 13.800000000000001 8.644760000000000 0.000000000000000 18.1000000000000010 0.693000000000000 6.193000000000000 92.599999999999994 1.791200000000000 24 666 20.199999999999999 396.899999999999977 15.170000000000000 602 Boston South Boston 80 602 -71.019999999999996 42.199300000000001 12.699999999999999 12.699999999999999 13.359800000000000 0.000000000000000 18.1000000000000010 0.693000000000000 5.887000000000000 94.700000000000003 1.782100000000000 24 666 20.199999999999999 396.899999999999977 16.350000000000001 603 Boston South Boston 80 603 -71.022000000000006 42.199599999999997 13.100000000000000 13.100000000000000 8.716749999999999 0.000000000000000 18.1000000000000010 0.693000000000000 6.471000000000000 98.799999999999997 1.725700000000000 24 666 20.199999999999999 391.980000000000018 17.120000000000001 604 Boston South Boston 80 604 -71.025999999999996 42.199300000000001 12.500000000000000 12.500000000000000 5.872050000000000 0.000000000000000 18.1000000000000010 0.693000000000000 6.405000000000000 96.000000000000000 1.676800000000000 24 666 20.199999999999999 396.899999999999977 19.370000000000001 605 Boston South Boston 80 605 -71.025000000000006 42.202399999999997 8.500000000000000 8.500000000000000 7.672020000000000 0.000000000000000 18.1000000000000010 0.693000000000000 5.747000000000000 98.900000000000006 1.633400000000000 24 666 20.199999999999999 393.100000000000023 19.920000000000002 606 Boston South Boston 80 606 -71.022999999999996 42.209000000000003 5.000000000000000 5.000000000000000 38.351799999999997 0.000000000000000 18.1000000000000010 0.693000000000000 5.453000000000000 100.000000000000000 1.489600000000000 24 666 20.199999999999999 396.899999999999977 30.590000000000000 607 Boston South Boston 80 607 -71.033000000000001 42.203200000000002 6.300000000000000 6.300000000000000 9.916550000000001 0.000000000000000 18.1000000000000010 0.693000000000000 5.852000000000000 77.799999999999997 1.500400000000000 24 666 20.199999999999999 338.160000000000025 29.969999999999999 608 Boston South Boston 80 608 -71.032600000000002 42.201099999999997 5.600000000000000 5.600000000000000 25.046099999999999 0.000000000000000 18.1000000000000010 0.693000000000000 5.987000000000000 100.000000000000000 1.588800000000000 24 666 20.199999999999999 396.899999999999977 26.770000000000000 609 Boston South Boston 80 609 -71.030000000000001 42.201500000000003 7.200000000000000 7.200000000000000 14.236200000000000 0.000000000000000 18.1000000000000010 0.693000000000000 6.343000000000000 100.000000000000000 1.574100000000000 24 666 20.199999999999999 396.899999999999977 20.320000000000000 610 Boston South Boston 80 610 -71.030000000000001 42.198799999999999 12.100000000000000 12.100000000000000 9.595710000000000 0.000000000000000 18.1000000000000010 0.693000000000000 6.404000000000000 100.000000000000000 1.639000000000000 24 666 20.199999999999999 376.110000000000014 20.309999999999999 612 Boston South Boston 80 612 -71.033199999999994 42.198000000000000 8.300000000000001 8.300000000000001 24.801700000000000 0.000000000000000 18.1000000000000010 0.693000000000000 5.349000000000000 96.000000000000000 1.702800000000000 24 666 20.199999999999999 396.899999999999977 19.770000000000000 613 Boston South Boston 80 613 -71.034499999999994 42.200099999999999 8.500000000000000 8.500000000000000 41.529200000000003 0.000000000000000 18.1000000000000010 0.693000000000000 5.531000000000000 85.400000000000006 1.607400000000000 24 666 20.199999999999999 329.459999999999980 27.379999999999999 614 Boston South Boston 80 614 -71.031999999999996 42.205700000000000 5.000000000000000 5.000000000000000 67.920800000000000 0.000000000000000 18.1000000000000010 0.693000000000000 5.683000000000000 100.000000000000000 1.425400000000000 24 666 20.199999999999999 384.970000000000027 22.980000000000000 702 Boston Downtown 81 702 -71.039000000000001 42.219799999999999 11.900000000000000 11.900000000000000 20.716200000000001 0.000000000000000 18.1000000000000010 0.659000000000000 4.138000000000000 100.000000000000000 1.178100000000000 24 666 20.199999999999999 370.220000000000027 23.340000000000000 703 Boston Downtown 81 703 -71.042699999999996 42.209000000000003 27.899999999999999 27.899999999999999 11.951100000000000 0.000000000000000 18.1000000000000010 0.659000000000000 5.608000000000000 100.000000000000000 1.285200000000000 24 666 20.199999999999999 332.089999999999975 12.130000000000001 705 Boston Downtown 81 705 -71.043700000000001 42.204999999999998 17.199999999999999 17.199999999999999 7.403890000000000 0.000000000000000 18.1000000000000010 0.597000000000000 5.617000000000000 97.900000000000006 1.454700000000000 24 666 20.199999999999999 314.639999999999986 26.399999999999999 706 Boston Downtown 81 706 -71.045500000000004 42.206000000000003 27.500000000000000 27.500000000000000 14.438300000000000 0.000000000000000 18.1000000000000010 0.597000000000000 6.852000000000000 100.000000000000000 1.465500000000000 24 666 20.199999999999999 179.360000000000014 19.780000000000001 707 Boston Downtown 81 707 -71.046199999999999 42.207500000000003 15.000000000000000 15.000000000000000 51.135800000000003 0.000000000000000 18.1000000000000010 0.597000000000000 5.757000000000000 100.000000000000000 1.413000000000000 24 666 20.199999999999999 2.600000000000000 10.109999999999999 708 Boston Downtown 81 708 -71.048699999999997 42.204799999999999 17.199999999999999 17.199999999999999 14.050700000000001 0.000000000000000 18.1000000000000010 0.597000000000000 6.657000000000000 100.000000000000000 1.527500000000000 24 666 20.199999999999999 35.049999999999997 21.219999999999999 709 Boston Downtown 81 709 -71.046999999999997 42.203000000000003 17.899999999999999 17.899999999999999 18.811000000000000 0.000000000000000 18.1000000000000010 0.597000000000000 4.628000000000000 100.000000000000000 1.553900000000000 24 666 20.199999999999999 28.789999999999999 34.369999999999997 710 Boston Downtown 81 710 -71.045100000000005 42.201500000000003 16.300000000000001 16.300000000000001 28.655799999999999 0.000000000000000 18.1000000000000010 0.597000000000000 5.155000000000000 100.000000000000000 1.589400000000000 24 666 20.199999999999999 210.969999999999999 20.079999999999998 801 Boston Roxbury 82 801 -71.042000000000002 42.198500000000003 7.000000000000000 7.000000000000000 45.746099999999998 0.000000000000000 18.1000000000000010 0.693000000000000 4.519000000000000 100.000000000000000 1.658200000000000 24 666 20.199999999999999 88.269999999999996 36.979999999999997 802 Boston Roxbury 82 802 -71.045500000000004 42.195300000000003 7.200000000000000 7.200000000000000 18.084599999999998 0.000000000000000 18.1000000000000010 0.679000000000000 6.434000000000000 100.000000000000000 1.834700000000000 24 666 20.199999999999999 27.250000000000000 29.050000000000001 803 Boston Roxbury 82 803 -71.047700000000006 42.196500000000000 7.500000000000000 7.500000000000000 10.834199999999999 0.000000000000000 18.1000000000000010 0.679000000000000 6.782000000000000 90.799999999999997 1.819500000000000 24 666 20.199999999999999 21.570000000000000 25.789999999999999 805 Boston Roxbury 82 805 -71.049800000000005 42.200699999999998 10.400000000000000 10.400000000000000 25.940600000000000 0.000000000000000 18.1000000000000010 0.679000000000000 5.304000000000000 89.099999999999994 1.647500000000000 24 666 20.199999999999999 127.359999999999999 26.640000000000001 807 Boston Roxbury 82 807 -71.052499999999995 42.198900000000002 8.800000000000001 8.800000000000001 73.534099999999995 0.000000000000000 18.1000000000000010 0.679000000000000 5.957000000000000 100.000000000000000 1.802600000000000 24 666 20.199999999999999 16.449999999999999 20.620000000000001 808 Boston Roxbury 82 808 -71.058599999999998 42.199900000000000 8.400000000000000 8.400000000000000 11.812300000000000 0.000000000000000 18.1000000000000010 0.718000000000000 6.824000000000000 76.500000000000000 1.794000000000000 24 666 20.199999999999999 48.450000000000003 22.739999999999998 809 Boston Roxbury 82 809 -71.061800000000005 42.198999999999998 16.699999999999999 16.699999999999999 11.087400000000001 0.000000000000000 18.1000000000000010 0.718000000000000 6.411000000000000 100.000000000000000 1.858900000000000 24 666 20.199999999999999 318.750000000000000 15.020000000000000 810 Boston Roxbury 82 810 -71.064999999999998 42.201799999999999 14.199999999999999 14.199999999999999 7.022590000000000 0.000000000000000 18.1000000000000010 0.718000000000000 6.006000000000000 95.299999999999997 1.874600000000000 24 666 20.199999999999999 319.980000000000018 15.699999999999999 811 Boston Roxbury 82 811 -71.066500000000005 42.197000000000003 20.800000000000001 20.800000000000001 12.048200000000000 0.000000000000000 18.1000000000000010 0.614000000000000 5.648000000000000 87.599999999999994 1.951200000000000 24 666 20.199999999999999 291.550000000000011 14.100000000000000 812 Boston Roxbury 82 812 -71.061899999999994 42.194800000000001 13.400000000000000 13.400000000000000 7.050420000000000 0.000000000000000 18.1000000000000010 0.614000000000000 6.103000000000000 85.099999999999994 2.021800000000000 24 666 20.199999999999999 2.520000000000000 23.289999999999999 813 Boston Roxbury 82 813 -71.058999999999997 42.192000000000000 11.699999999999999 11.699999999999999 8.792120000000001 0.000000000000000 18.1000000000000010 0.584000000000000 5.565000000000000 70.599999999999994 2.063500000000000 24 666 20.199999999999999 3.650000000000000 17.160000000000000 814 Boston Roxbury 82 814 -71.057699999999997 42.196700000000000 8.300000000000001 8.300000000000001 15.860300000000001 0.000000000000000 18.1000000000000010 0.679000000000000 5.896000000000000 95.400000000000006 1.909600000000000 24 666 20.199999999999999 7.680000000000000 24.390000000000001 815 Boston Roxbury 82 815 -71.055800000000005 42.193700000000000 10.199999999999999 10.199999999999999 12.247199999999999 0.000000000000000 18.1000000000000010 0.584000000000000 5.837000000000000 59.700000000000003 1.997600000000000 24 666 20.199999999999999 24.649999999999999 15.690000000000000 816 Boston Roxbury 82 816 -71.054199999999994 42.196100000000001 10.900000000000000 10.900000000000000 37.661900000000003 0.000000000000000 18.1000000000000010 0.679000000000000 6.202000000000000 78.700000000000003 1.862900000000000 24 666 20.199999999999999 18.820000000000000 14.520000000000000 817 Boston Roxbury 82 817 -71.052099999999996 42.194000000000003 11.000000000000000 11.000000000000000 7.367110000000000 0.000000000000000 18.1000000000000010 0.679000000000000 6.193000000000000 78.099999999999994 1.935600000000000 24 666 20.199999999999999 96.730000000000004 21.520000000000000 818 Boston Roxbury 82 818 -71.048500000000004 42.192000000000000 9.500000000000000 9.500000000000000 9.338889999999999 0.000000000000000 18.1000000000000010 0.679000000000000 6.380000000000000 95.599999999999994 1.968200000000000 24 666 20.199999999999999 60.719999999999999 24.079999999999998 819 Boston Roxbury 82 819 -71.054699999999997 42.189000000000000 14.500000000000000 14.500000000000000 8.492130000000000 0.000000000000000 18.1000000000000010 0.584000000000000 6.348000000000000 86.099999999999994 2.052700000000000 24 666 20.199999999999999 83.450000000000003 17.640000000000001 820 Boston Roxbury 82 820 -71.050500000000000 42.188000000000002 14.100000000000000 14.100000000000000 10.062300000000000 0.000000000000000 18.1000000000000010 0.584000000000000 6.833000000000000 94.299999999999997 2.088200000000000 24 666 20.199999999999999 81.329999999999998 19.690000000000001 821 Boston Roxbury 82 821 -71.052000000000007 42.185400000000001 16.100000000000001 16.100000000000001 6.444050000000000 0.000000000000000 18.1000000000000010 0.584000000000000 6.425000000000000 74.799999999999997 2.200400000000000 24 666 20.199999999999999 97.950000000000003 12.029999999999999 901 Boston Savin Hill 83 901 -71.049499999999995 42.181500000000000 14.300000000000001 14.300000000000001 5.581070000000000 0.000000000000000 18.1000000000000010 0.713000000000000 6.436000000000000 87.900000000000006 2.315800000000000 24 666 20.199999999999999 100.189999999999998 16.219999999999999 902 Boston Savin Hill 83 902 -71.047499999999999 42.184199999999997 11.699999999999999 11.699999999999999 13.913399999999999 0.000000000000000 18.1000000000000010 0.713000000000000 6.208000000000000 95.000000000000000 2.222200000000000 24 666 20.199999999999999 100.629999999999995 15.170000000000000 903 Boston Savin Hill 83 903 -71.046000000000006 42.186700000000002 13.400000000000000 13.400000000000000 11.160399999999999 0.000000000000000 18.1000000000000010 0.740000000000000 6.629000000000000 94.599999999999994 2.124700000000000 24 666 20.199999999999999 109.849999999999994 23.270000000000000 904 Boston Savin Hill 83 904 -71.045500000000004 42.189300000000003 9.600000000000000 9.600000000000000 14.420800000000000 0.000000000000000 18.1000000000000010 0.740000000000000 6.461000000000000 93.299999999999997 2.002600000000000 24 666 20.199999999999999 27.489999999999998 18.050000000000001 905 Boston Savin Hill 83 905 -71.044499999999999 42.191699999999997 8.699999999999999 8.199999999999999 15.177199999999999 0.000000000000000 18.1000000000000010 0.740000000000000 6.152000000000000 100.000000000000000 1.914200000000000 24 666 20.199999999999999 9.320000000000000 26.449999999999999 906 Boston Savin Hill 83 906 -71.044499999999999 42.193800000000003 8.400000000000000 8.400000000000000 13.678100000000001 0.000000000000000 18.1000000000000010 0.740000000000000 5.935000000000000 87.900000000000006 1.820600000000000 24 666 20.199999999999999 68.950000000000003 34.020000000000003 907 Boston Savin Hill 83 907 -71.037000000000006 42.194000000000003 12.800000000000001 12.800000000000001 9.390630000000000 0.000000000000000 18.1000000000000010 0.740000000000000 5.627000000000000 93.900000000000006 1.817200000000000 24 666 20.199999999999999 396.899999999999977 22.879999999999999 908 Boston Savin Hill 83 908 -71.032100000000000 42.192500000000003 10.500000000000000 10.500000000000000 22.051100000000002 0.000000000000000 18.1000000000000010 0.740000000000000 5.818000000000000 92.400000000000006 1.866200000000000 24 666 20.199999999999999 391.449999999999989 22.109999999999999 910 Boston Savin Hill 83 910 -71.034499999999994 42.185000000000002 17.100000000000001 17.100000000000001 9.724180000000000 0.000000000000000 18.1000000000000010 0.740000000000000 6.406000000000000 97.200000000000003 2.065100000000000 24 666 20.199999999999999 385.959999999999980 19.520000000000000 911 Boston Savin Hill 83 911 -71.034000000000006 42.189000000000000 18.399999999999999 14.800000000000001 5.666370000000000 0.000000000000000 18.1000000000000010 0.740000000000000 6.219000000000000 100.000000000000000 2.004800000000000 24 666 20.199999999999999 395.689999999999998 16.590000000000000 912 Boston Savin Hill 83 912 -71.037800000000004 42.189200000000000 15.400000000000000 15.400000000000000 9.966540000000000 0.000000000000000 18.1000000000000010 0.740000000000000 6.485000000000000 100.000000000000000 1.978400000000000 24 666 20.199999999999999 386.730000000000018 18.850000000000001 913 Boston Savin Hill 83 913 -71.040499999999994 42.192000000000000 10.800000000000001 10.800000000000001 12.802300000000001 0.000000000000000 18.1000000000000010 0.740000000000000 5.854000000000000 96.599999999999994 1.895600000000000 24 666 20.199999999999999 240.520000000000010 23.789999999999999 914 Boston Savin Hill 83 914 -71.042500000000004 42.189000000000000 11.800000000000001 11.800000000000001 10.671799999999999 0.000000000000000 18.1000000000000010 0.740000000000000 6.459000000000000 94.799999999999997 1.987900000000000 24 666 20.199999999999999 43.060000000000002 23.980000000000000 915 Boston Savin Hill 83 915 -71.039000000000001 42.186799999999998 14.900000000000000 14.900000000000000 6.288070000000000 0.000000000000000 18.1000000000000010 0.740000000000000 6.341000000000000 96.400000000000006 2.072000000000000 24 666 20.199999999999999 318.009999999999991 17.789999999999999 916 Boston Savin Hill 83 916 -71.037000000000006 42.183999999999997 12.600000000000000 12.600000000000000 9.924849999999999 0.000000000000000 18.1000000000000010 0.740000000000000 6.251000000000000 96.599999999999994 2.198000000000000 24 666 20.199999999999999 388.519999999999982 16.440000000000001 917 Boston Savin Hill 83 917 -71.040000000000006 42.182000000000002 14.100000000000000 14.100000000000000 9.329090000000001 0.000000000000000 18.1000000000000010 0.713000000000000 6.185000000000000 98.700000000000003 2.261600000000000 24 666 20.199999999999999 396.899999999999977 18.129999999999999 918 Boston Savin Hill 83 918 -71.042800000000000 42.184500000000000 13.000000000000000 13.000000000000000 7.526010000000000 0.000000000000000 18.1000000000000010 0.713000000000000 6.417000000000000 98.299999999999997 2.185000000000000 24 666 20.199999999999999 304.209999999999980 19.309999999999999 919 Boston Savin Hill 83 919 -71.046000000000006 42.180999999999997 13.400000000000000 13.400000000000000 6.717720000000000 0.000000000000000 18.1000000000000010 0.713000000000000 6.749000000000000 92.599999999999994 2.323600000000000 24 666 20.199999999999999 0.320000000000000 17.440000000000001 920 Boston Savin Hill 83 920 -71.040999999999997 42.179499999999997 15.199999999999999 15.199999999999999 5.441140000000000 0.000000000000000 18.1000000000000010 0.713000000000000 6.655000000000000 98.200000000000003 2.355200000000000 24 666 20.199999999999999 355.290000000000020 17.730000000000000 921 Boston Savin Hill 83 921 -71.034000000000006 42.179000000000002 16.100000000000001 16.100000000000001 5.090170000000000 0.000000000000000 18.1000000000000010 0.713000000000000 6.297000000000000 91.799999999999997 2.368200000000000 24 666 20.199999999999999 385.089999999999975 17.270000000000000 922 Boston Savin Hill 83 922 -71.040000000000006 42.177000000000000 17.800000000000001 17.800000000000001 8.248089999999999 0.000000000000000 18.1000000000000010 0.713000000000000 7.393000000000000 99.299999999999997 2.452700000000000 24 666 20.199999999999999 375.870000000000005 16.739999999999998 923 Boston Savin Hill 83 923 -71.045500000000004 42.176800000000000 14.900000000000000 14.400000000000000 9.513629999999999 0.000000000000000 18.1000000000000010 0.713000000000000 6.728000000000000 94.099999999999994 2.496100000000000 24 666 20.199999999999999 6.680000000000000 18.710000000000001 924 Boston Savin Hill 83 924 -71.051000000000002 42.177999999999997 14.100000000000000 14.100000000000000 4.752370000000000 0.000000000000000 18.1000000000000010 0.713000000000000 6.525000000000000 86.500000000000000 2.435800000000000 24 666 20.199999999999999 50.920000000000002 18.129999999999999 1001 Boston Dorchester 84 1001 -71.051699999999997 42.173499999999997 12.699999999999999 12.699999999999999 4.668830000000000 0.000000000000000 18.1000000000000010 0.713000000000000 5.976000000000000 87.900000000000006 2.580600000000000 24 666 20.199999999999999 10.480000000000000 19.010000000000002 1002 Boston Dorchester 84 1002 -71.051500000000004 42.170000000000002 13.500000000000000 13.500000000000000 8.200580000000000 0.000000000000000 18.1000000000000010 0.713000000000000 5.936000000000000 80.299999999999997 2.779200000000000 24 666 20.199999999999999 3.500000000000000 16.940000000000001 1003 Boston Dorchester 84 1003 -71.047499999999999 42.168999999999997 14.900000000000000 14.900000000000000 7.752230000000000 0.000000000000000 18.1000000000000010 0.713000000000000 6.301000000000000 83.700000000000003 2.783100000000000 24 666 20.199999999999999 272.209999999999980 16.230000000000000 1004 Boston Dorchester 84 1004 -71.043000000000006 42.168999999999997 20.000000000000000 20.000000000000000 6.801170000000000 0.000000000000000 18.1000000000000010 0.713000000000000 6.081000000000000 84.400000000000006 2.717500000000000 24 666 20.199999999999999 396.899999999999977 14.699999999999999 1005 Boston Dorchester 84 1005 -71.043000000000006 42.172800000000002 16.399999999999999 16.399999999999999 4.812130000000000 0.000000000000000 18.1000000000000010 0.713000000000000 6.701000000000000 90.000000000000000 2.597500000000000 24 666 20.199999999999999 255.229999999999990 16.420000000000002 1006 Boston Dorchester 84 1006 -71.034999999999997 42.174500000000002 17.699999999999999 17.699999999999999 3.693110000000000 0.000000000000000 18.1000000000000010 0.713000000000000 6.376000000000000 88.400000000000006 2.567100000000000 24 666 20.199999999999999 391.430000000000007 14.650000000000000 1007 Boston Dorchester 84 1007 -71.031000000000006 42.169499999999999 19.500000000000000 19.500000000000000 6.654920000000000 0.000000000000000 18.1000000000000010 0.713000000000000 6.317000000000000 83.000000000000000 2.734400000000000 24 666 20.199999999999999 396.899999999999977 13.990000000000000 1008 Boston Dorchester 84 1008 -71.035799999999995 42.167499999999997 20.199999999999999 20.199999999999999 5.821150000000000 0.000000000000000 18.1000000000000010 0.713000000000000 6.513000000000000 89.900000000000006 2.801600000000000 24 666 20.199999999999999 393.819999999999993 10.289999999999999 1009 Boston Dorchester 84 1009 -71.045000000000002 42.164000000000001 21.399999999999999 21.399999999999999 7.839320000000000 0.000000000000000 18.1000000000000010 0.655000000000000 6.209000000000000 65.400000000000006 2.963400000000000 24 666 20.199999999999999 396.899999999999977 13.220000000000001 1010 Boston Dorchester 84 1010 -71.055000000000007 42.164999999999999 19.899999999999999 19.899999999999999 3.163600000000000 0.000000000000000 18.1000000000000010 0.655000000000000 5.759000000000000 48.200000000000003 3.066500000000000 24 666 20.199999999999999 334.399999999999977 14.130000000000001 1011 Boston Dorchester 84 1011 -71.055000000000007 42.168500000000002 19.000000000000000 19.000000000000000 3.774980000000000 0.000000000000000 18.1000000000000010 0.655000000000000 5.952000000000000 84.700000000000003 2.871500000000000 24 666 20.199999999999999 22.010000000000002 17.149999999999999 1101 Boston Mattapan 85 1101 -71.066000000000003 42.177999999999997 19.100000000000001 19.100000000000001 4.422280000000000 0.000000000000000 18.1000000000000010 0.584000000000000 6.003000000000000 94.500000000000000 2.540300000000000 24 666 20.199999999999999 331.290000000000020 21.320000000000000 1102 Boston Mattapan 85 1102 -71.069999999999993 42.167999999999999 19.100000000000001 19.100000000000001 15.575699999999999 0.000000000000000 18.1000000000000010 0.580000000000000 5.926000000000000 71.000000000000000 2.908400000000000 24 666 20.199999999999999 368.740000000000009 18.129999999999999 1103 Boston Mattapan 85 1103 -71.069000000000003 42.172499999999999 20.100000000000001 20.100000000000001 13.075100000000001 0.000000000000000 18.1000000000000010 0.580000000000000 5.713000000000000 56.700000000000003 2.823700000000000 24 666 20.199999999999999 396.899999999999977 14.760000000000000 1104 Boston Mattapan 85 1104 -71.073999999999998 42.167999999999999 19.899999999999999 19.899999999999999 4.348790000000000 0.000000000000000 18.1000000000000010 0.580000000000000 6.167000000000000 84.000000000000000 3.033400000000000 24 666 20.199999999999999 396.899999999999977 16.289999999999999 1105 Boston Mattapan 85 1105 -71.082499999999996 42.169800000000002 19.600000000000001 19.600000000000001 4.038410000000000 0.000000000000000 18.1000000000000010 0.532000000000000 6.229000000000000 90.700000000000003 3.099300000000000 24 666 20.199999999999999 395.329999999999984 12.869999999999999 1106 Boston Mattapan 85 1106 -71.083299999999994 42.174999999999997 23.199999999999999 23.199999999999999 3.568680000000000 0.000000000000000 18.1000000000000010 0.580000000000000 6.437000000000000 75.000000000000000 2.896500000000000 24 666 20.199999999999999 393.370000000000005 14.359999999999999 1201 Boston Forest Hills 86 1201 -71.073200000000000 42.183999999999997 29.800000000000001 29.800000000000001 4.646890000000000 0.000000000000000 18.1000000000000010 0.614000000000000 6.980000000000000 67.599999999999994 2.532900000000000 24 666 20.199999999999999 374.680000000000007 11.660000000000000 1202 Boston Forest Hills 86 1202 -71.055000000000007 42.183000000000000 13.800000000000001 13.800000000000001 8.055790000000000 0.000000000000000 18.1000000000000010 0.584000000000000 5.427000000000000 95.400000000000006 2.429800000000000 24 666 20.199999999999999 352.579999999999984 18.140000000000001 1203 Boston Forest Hills 86 1203 -71.051100000000005 42.187899999999999 13.300000000000001 13.300000000000001 6.393120000000000 0.000000000000000 18.1000000000000010 0.584000000000000 6.162000000000000 97.400000000000006 2.206000000000000 24 666 20.199999999999999 302.759999999999991 24.100000000000001 1204 Boston Forest Hills 86 1204 -71.056500000000000 42.188000000000002 16.699999999999999 16.699999999999999 4.871410000000000 0.000000000000000 18.1000000000000010 0.614000000000000 6.484000000000000 93.599999999999994 2.305300000000000 24 666 20.199999999999999 396.209999999999980 18.680000000000000 1205 Boston Forest Hills 86 1205 -71.052800000000005 42.192000000000000 12.000000000000000 12.000000000000000 15.023400000000001 0.000000000000000 18.1000000000000010 0.614000000000000 5.304000000000000 97.299999999999997 2.100700000000000 24 666 20.199999999999999 349.480000000000018 24.910000000000000 1206 Boston Forest Hills 86 1206 -71.055800000000005 42.191299999999998 14.600000000000000 14.600000000000000 10.233000000000001 0.000000000000000 18.1000000000000010 0.614000000000000 6.185000000000000 96.700000000000003 2.170500000000000 24 666 20.199999999999999 379.699999999999989 18.030000000000001 1207 Boston Forest Hills 86 1207 -71.066999999999993 42.194499999999998 21.399999999999999 21.399999999999999 14.333700000000000 0.000000000000000 18.1000000000000010 0.614000000000000 6.229000000000000 88.000000000000000 1.951200000000000 24 666 20.199999999999999 383.319999999999993 13.109999999999999 1301 Boston West Roxbury 87 1301 -71.100800000000007 42.173999999999999 23.000000000000000 23.000000000000000 5.824010000000000 0.000000000000000 18.1000000000000010 0.532000000000000 6.242000000000000 64.700000000000003 3.424200000000000 24 666 20.199999999999999 396.899999999999977 10.740000000000000 1302 Boston West Roxbury 87 1302 -71.094999999999999 42.173000000000002 23.699999999999999 23.699999999999999 5.708180000000000 0.000000000000000 18.1000000000000010 0.532000000000000 6.750000000000000 74.900000000000006 3.331700000000000 24 666 20.199999999999999 393.069999999999993 7.740000000000000 1303 Boston West Roxbury 87 1303 -71.090000000000003 42.166499999999999 25.000000000000000 25.000000000000000 5.731160000000000 0.000000000000000 18.1000000000000010 0.532000000000000 7.061000000000000 77.000000000000000 3.410600000000000 24 666 20.199999999999999 395.279999999999973 7.010000000000000 1304 Boston West Roxbury 87 1304 -71.097499999999997 42.160800000000002 21.800000000000001 21.800000000000001 2.818380000000000 0.000000000000000 18.1000000000000010 0.532000000000000 5.762000000000000 40.299999999999997 4.098300000000000 24 666 20.199999999999999 392.920000000000016 10.420000000000000 1401 Boston Hyde Park 88 1401 -71.080399999999997 42.154000000000003 20.600000000000001 20.600000000000001 2.378570000000000 0.000000000000000 18.1000000000000010 0.583000000000000 5.871000000000000 41.899999999999999 3.724000000000000 24 666 20.199999999999999 370.730000000000018 13.340000000000000 1402 Boston Hyde Park 88 1402 -71.075000000000003 42.145499999999998 21.199999999999999 21.199999999999999 3.673670000000000 0.000000000000000 18.1000000000000010 0.583000000000000 6.312000000000000 51.899999999999999 3.991700000000000 24 666 20.199999999999999 388.620000000000005 10.580000000000000 1403 Boston Hyde Park 88 1403 -71.071500000000000 42.155000000000001 19.100000000000001 19.100000000000001 5.691750000000000 0.000000000000000 18.1000000000000010 0.583000000000000 6.114000000000000 79.799999999999997 3.545900000000000 24 666 20.199999999999999 392.680000000000007 14.980000000000000 1404 Boston Hyde Park 88 1404 -71.064999999999998 42.161000000000001 20.600000000000001 20.600000000000001 4.835670000000000 0.000000000000000 18.1000000000000010 0.583000000000000 5.905000000000000 53.200000000000003 3.152300000000000 24 666 20.199999999999999 388.220000000000027 11.449999999999999 1601 Chelsea 89 1601 -71.018900000000002 42.234400000000001 15.199999999999999 15.199999999999999 0.150860000000000 0.000000000000000 27.7399999999999980 0.609000000000000 5.454000000000000 92.700000000000003 1.820900000000000 4 711 20.100000000000001 395.089999999999975 18.059999999999999 1602 Chelsea 89 1602 -71.022800000000004 42.233499999999999 7.000000000000000 7.000000000000000 0.183370000000000 0.000000000000000 27.7399999999999980 0.609000000000000 5.414000000000000 98.299999999999997 1.755400000000000 4 711 20.100000000000001 344.050000000000011 23.969999999999999 1604 Chelsea 89 1604 -71.024500000000003 42.236800000000002 8.100000000000000 8.100000000000000 0.207460000000000 0.000000000000000 27.7399999999999980 0.609000000000000 5.093000000000000 98.000000000000000 1.822600000000000 4 711 20.100000000000001 318.430000000000007 29.680000000000000 1605 Chelsea 89 1605 -71.016000000000005 42.238199999999999 13.600000000000000 13.600000000000000 0.105740000000000 0.000000000000000 27.7399999999999980 0.609000000000000 5.983000000000000 98.799999999999997 1.868100000000000 4 711 20.100000000000001 390.110000000000014 18.070000000000000 1606 Chelsea 89 1606 -71.029700000000005 42.244700000000002 20.100000000000001 20.100000000000001 0.111320000000000 0.000000000000000 27.7399999999999980 0.609000000000000 5.983000000000000 83.500000000000000 2.109900000000000 4 711 20.100000000000001 396.899999999999977 13.350000000000000 1701 Revere 90 1701 -71.012500000000003 42.246200000000002 21.800000000000001 21.800000000000001 0.173310000000000 0.000000000000000 9.6900000000000000 0.585000000000000 5.707000000000000 54.000000000000000 2.381700000000000 6 391 19.199999999999999 396.899999999999977 12.010000000000000 1702 Revere 90 1702 -71.012500000000003 42.250000000000000 24.500000000000000 24.500000000000000 0.279570000000000 0.000000000000000 9.6900000000000000 0.585000000000000 5.926000000000000 42.600000000000001 2.381700000000000 6 391 19.199999999999999 396.899999999999977 13.590000000000000 1703 Revere 90 1703 -71.010499999999993 42.254700000000000 23.100000000000001 23.100000000000001 0.178990000000000 0.000000000000000 9.6900000000000000 0.585000000000000 5.670000000000000 28.800000000000001 2.798600000000000 6 391 19.199999999999999 393.290000000000020 17.600000000000001 1704 Revere 90 1704 -71.001000000000005 42.252499999999998 19.699999999999999 19.699999999999999 0.289600000000000 0.000000000000000 9.6900000000000000 0.585000000000000 5.390000000000000 72.900000000000006 2.798600000000000 6 391 19.199999999999999 396.899999999999977 21.140000000000001 1705 Revere 90 1705 -70.994699999999995 42.249600000000001 18.300000000000001 18.300000000000001 0.268380000000000 0.000000000000000 9.6900000000000000 0.585000000000000 5.794000000000000 70.599999999999994 2.892700000000000 6 391 19.199999999999999 396.899999999999977 14.100000000000000 1706 Revere 90 1706 -71.004999999999995 42.245500000000000 21.199999999999999 21.199999999999999 0.239120000000000 0.000000000000000 9.6900000000000000 0.585000000000000 6.019000000000000 65.299999999999997 2.409100000000000 6 391 19.199999999999999 396.899999999999977 12.920000000000000 1707 Revere 90 1707 -70.998500000000007 42.243000000000002 17.500000000000000 17.500000000000000 0.177830000000000 0.000000000000000 9.6900000000000000 0.585000000000000 5.569000000000000 73.500000000000000 2.399900000000000 6 391 19.199999999999999 395.769999999999982 15.100000000000000 1708 Revere 90 1708 -70.992000000000004 42.238000000000000 16.800000000000001 16.800000000000001 0.224380000000000 0.000000000000000 9.6900000000000000 0.585000000000000 6.027000000000000 79.700000000000003 2.498200000000000 6 391 19.199999999999999 396.899999999999977 14.330000000000000 1801 Winthrop 91 1801 -70.986000000000004 42.231200000000001 22.399999999999999 22.399999999999999 0.062630000000000 0.000000000000000 11.9300000000000000 0.573000000000000 6.593000000000000 69.099999999999994 2.478600000000000 1 273 21.000000000000000 391.990000000000009 9.670000000000000 1802 Winthrop 91 1802 -70.991000000000000 42.227499999999999 20.600000000000001 20.600000000000001 0.045270000000000 0.000000000000000 11.9300000000000000 0.573000000000000 6.120000000000000 76.700000000000003 2.287500000000000 1 273 21.000000000000000 396.899999999999977 9.080000000000000 1803 Winthrop 91 1803 -70.994799999999998 42.225999999999999 23.899999999999999 23.899999999999999 0.060760000000000 0.000000000000000 11.9300000000000000 0.573000000000000 6.976000000000000 91.000000000000000 2.167500000000000 1 273 21.000000000000000 396.899999999999977 5.640000000000000 1804 Winthrop 91 1804 -70.987499999999997 42.223999999999997 22.000000000000000 22.000000000000000 0.109590000000000 0.000000000000000 11.9300000000000000 0.573000000000000 6.794000000000000 89.299999999999997 2.388900000000000 1 273 21.000000000000000 393.449999999999989 6.480000000000000 1805 Winthrop 91 1805 -70.982500000000002 42.220999999999997 11.900000000000000 19.000000000000000 0.047410000000000 0.000000000000000 11.9300000000000000 0.573000000000000 6.030000000000000 80.799999999999997 2.505000000000000 1 273 21.000000000000000 396.899999999999977 7.880000000000000spdep/inst/etc/shapes/bhicv.dbf0000644000176200001440000003215511716033162016156 0ustar liggesusers_b!SP_IDCIdCNameCPopulationN HLCINELCINCLCINELCI_1N 0 310900Brumadinho 32833.000000000 0.753000000000000 0.579000000000000 0.809000000000000 0.655000000000000 1 313220Itaguara 11837.000000000 0.743000000000000 0.545000000000000 0.757000000000000 0.630000000000000 2 312040Cristiano Otoni 5494.000000000 0.747000000000000 0.558000000000000 0.792000000000000 0.485000000000000 3 311490Casa Grande 2407.000000000 0.747000000000000 0.485000000000000 0.824000000000000 0.369000000000000 4 314230Moeda 4966.000000000 0.802000000000000 0.518000000000000 0.811000000000000 0.505000000000000 5 315040Piedade dos Gerais 4320.000000000 0.714000000000000 0.420000000000000 0.733000000000000 0.479000000000000 6 312140Desterro de Entre Rios 6797.000000000 0.756000000000000 0.429000000000000 0.758000000000000 0.414000000000000 7 312390Entre Rios de Minas 13842.000000000 0.776000000000000 0.531000000000000 0.801000000000000 0.462000000000000 8 313540Jeceaba 5389.000000000 0.775000000000000 0.478000000000000 0.708000000000000 0.495000000000000 9 312060Crucilndia 4393.000000000 0.743000000000000 0.452000000000000 0.753000000000000 0.673000000000000 10 315530Rio Manso 4803.000000000 0.743000000000000 0.424000000000000 0.724000000000000 0.484000000000000 11 310640Belo Vale 7760.000000000 0.743000000000000 0.517000000000000 0.770000000000000 0.493000000000000 12 310810Bonfim 6593.000000000 0.743000000000000 0.490000000000000 0.738000000000000 0.508000000000000 13 311540Catas Altas da Noruega 3208.000000000 0.747000000000000 0.482000000000000 0.741000000000000 0.328000000000000 14 311830Conselheiro Lafaiete 114558.000000000 0.810000000000000 0.660000000000000 0.864000000000000 0.730000000000000 15 315380Queluzita 1848.000000000 0.730000000000000 0.507000000000000 0.824000000000000 0.467000000000000 16 315910Santana dos Montes 3773.000000000 0.747000000000000 0.497000000000000 0.694000000000000 0.417000000000000 17 313390Itaverava 6432.000000000 0.785000000000000 0.461000000000000 0.728000000000000 0.469000000000000 18 311800Congonhas 46269.000000000 0.666000000000000 0.624000000000000 0.854000000000000 0.718000000000000 19 316090So Brs do Suau 3349.000000000 0.740000000000000 0.579000000000000 0.851000000000000 0.525000000000000 20 313190Itabirito 42843.000000000 0.828000000000000 0.625000000000000 0.835000000000000 0.758000000000000 21 314610Ouro Preto 69477.000000000 0.679000000000000 0.634000000000000 0.848000000000000 0.687000000000000 22 314590Ouro Branco 32901.000000000 0.761000000000000 0.704000000000000 0.889000000000000 0.821000000000000 23 314000Mariana 53968.000000000 0.771000000000000 0.588000000000000 0.824000000000000 0.646000000000000 24 312170Diogo de Vasconcelos 3816.000000000 0.745000000000000 0.389000000000000 0.698000000000000 0.414000000000000 25 315850Santana de Pirapama 8108.000000000 0.758000000000000 0.433000000000000 0.695000000000000 0.400000000000000 26 315140Pitangui 24051.000000000 0.756000000000000 0.607000000000000 0.826000000000000 0.683000000000000 27 311250Capim Branco 9226.000000000 0.760000000000000 0.578000000000000 0.830000000000000 0.642000000000000 28 312600Florestal 6151.000000000 0.741000000000000 0.552000000000000 0.797000000000000 0.731000000000000 29 314710Par de Minas 83058.000000000 0.782000000000000 0.622000000000000 0.811000000000000 0.758000000000000 30 313370Itatiaiuu 9498.000000000 0.743000000000000 0.486000000000000 0.749000000000000 0.569000000000000 31 314070Mateus Leme 29732.000000000 0.667000000000000 0.533000000000000 0.819000000000000 0.624000000000000 32 314960Pequi 4169.000000000 0.772000000000000 0.592000000000000 0.808000000000000 0.766000000000000 33 314580Ona de Pitangui 2950.000000000 0.824000000000000 0.506000000000000 0.703000000000000 0.574000000000000 34 316310So Jos da Varginha 3680.000000000 0.837000000000000 0.568000000000000 0.730000000000000 0.708000000000000 35 312640Fortuna de Minas 2569.000000000 0.575000000000000 0.518000000000000 0.755000000000000 0.557000000000000 36 312410Esmeraldas 66478.000000000 0.796000000000000 0.530000000000000 0.746000000000000 0.552000000000000 37 310670Betim 422159.000000000 0.742000000000000 0.583000000000000 0.844000000000000 0.680000000000000 38 313010Igarap 32535.000000000 0.734000000000000 0.540000000000000 0.765000000000000 0.587000000000000 39 312980Ibirit 179745.000000000 0.737000000000000 0.546000000000000 0.803000000000000 0.596000000000000 40 311860Contagem 613250.000000000 0.761000000000000 0.656000000000000 0.859000000000000 0.821000000000000 41 314930Pedro Leopoldo 64477.000000000 0.801000000000000 0.644000000000000 0.860000000000000 0.747000000000000 42 314110Matozinhos 35743.000000000 0.788000000000000 0.597000000000000 0.849000000000000 0.610000000000000 43 315460Ribeiro das Neves 334470.000000000 0.721000000000000 0.557000000000000 0.822000000000000 0.609000000000000 44 310960Cachoeira da Prata 3890.000000000 0.758000000000000 0.618000000000000 0.807000000000000 0.804000000000000 45 314740Paraopeba 23248.000000000 0.748000000000000 0.570000000000000 0.775000000000000 0.617000000000000 46 313970Maravilhas 6933.000000000 0.745000000000000 0.554000000000000 0.802000000000000 0.679000000000000 47 314690Papagaios 14476.000000000 0.780000000000000 0.528000000000000 0.719000000000000 0.731000000000000 48 313100Inhama 5558.000000000 0.725000000000000 0.528000000000000 0.791000000000000 0.579000000000000 49 311890Cordisburgo 8578.000000000 0.772000000000000 0.520000000000000 0.726000000000000 0.522000000000000 50 310320Araa 2288.000000000 0.739000000000000 0.596000000000000 0.778000000000000 0.698000000000000 51 316720Sete Lagoas 219633.000000000 0.781000000000000 0.651000000000000 0.843000000000000 0.748000000000000 52 310990Caetanpolis 9566.000000000 0.772000000000000 0.605000000000000 0.832000000000000 0.714000000000000 53 312720Funilndia 3847.000000000 0.680000000000000 0.506000000000000 0.836000000000000 0.701000000000000 54 315360Prudente de Morais 9436.000000000 0.778000000000000 0.580000000000000 0.803000000000000 0.523000000000000 55 313570Jequitib 5275.000000000 0.622000000000000 0.441000000000000 0.733000000000000 0.415000000000000 56 313280Itamb do Mato Dentro 2435.000000000 0.831000000000000 0.360000000000000 0.685000000000000 0.370000000000000 57 315390Raposos 14333.000000000 0.788000000000000 0.597000000000000 0.845000000000000 0.709000000000000 58 315670Sabar 137142.000000000 0.734000000000000 0.623000000000000 0.829000000000000 0.708000000000000 59 314480Nova Lima 74584.000000000 0.760000000000000 0.678000000000000 0.867000000000000 0.831000000000000 60 310620Belo Horizonte 2424295.000000000 0.775000000000000 0.755000000000000 0.876000000000000 0.827000000000000 61 315480Rio Acima 8161.000000000 0.611000000000000 0.580000000000000 0.804000000000000 0.555000000000000 62 313760Lagoa Santa 47812.000000000 0.769000000000000 0.630000000000000 0.837000000000000 0.729000000000000 63 317120Vespasiano 100609.000000000 0.719000000000000 0.575000000000000 0.826000000000000 0.627000000000000 64 315780Santa Luzia 224955.000000000 0.681000000000000 0.605000000000000 0.829000000000000 0.664000000000000 65 313460Jaboticatubas 14224.000000000 0.684000000000000 0.469000000000000 0.765000000000000 0.529000000000000 66 310540Baro de Cocais 26027.000000000 0.678000000000000 0.594000000000000 0.832000000000000 0.641000000000000 67 311000Caet 38894.000000000 0.730000000000000 0.620000000000000 0.866000000000000 0.652000000000000 68 315720Santa Brbara 25938.000000000 0.617000000000000 0.573000000000000 0.826000000000000 0.622000000000000 69 313660Nova Unio 5906.000000000 0.703000000000000 0.468000000000000 0.759000000000000 0.466000000000000 70 316830Taquarau de Minas 3587.000000000 0.716000000000000 0.511000000000000 0.702000000000000 0.525000000000000 71 313170Itabira 109140.000000000 0.779000000000000 0.607000000000000 0.843000000000000 0.753000000000000 72 310770Bom Jesus do Amparo 4704.000000000 0.620000000000000 0.523000000000000 0.795000000000000 0.474000000000000 73 311810Congonhas do Norte 5205.000000000 0.731000000000000 0.379000000000000 0.721000000000000 0.265000000000000 74 311750Conceio do Mato Dentro 18563.000000000 0.743000000000000 0.415000000000000 0.719000000000000 0.402000000000000 75 310500Baldim 7962.000000000 0.775000000000000 0.518000000000000 0.764000000000000 0.568000000000000 76 310240Alvorada de Minas 3216.000000000 0.830000000000000 0.399000000000000 0.676000000000000 0.356000000000000 77 315900Santana do Riacho 4022.000000000 0.697000000000000 0.419000000000000 0.712000000000000 0.461000000000000 78 314370Morro do Pilar 3618.000000000 0.713000000000000 0.381000000000000 0.736000000000000 0.486000000000000 79 316710Serro 22435.000000000 0.727000000000000 0.422000000000000 0.715000000000000 0.384000000000000 80 316050Santo Antnio do Rio Abaixo 1585.000000000 0.716000000000000 0.411000000000000 0.794000000000000 0.408000000000000 81 312590Ferros 10801.000000000 0.767000000000000 0.416000000000000 0.693000000000000 0.429000000000000 82 310600Bela Vista de Minas 10059.000000000 0.639000000000000 0.567000000000000 0.852000000000000 0.510000000000000 83 310230Alvinpolis 15813.000000000 0.755000000000000 0.556000000000000 0.801000000000000 0.550000000000000 84 316190So Gonalo do Rio Abaixo 8581.000000000 0.647000000000000 0.468000000000000 0.748000000000000 0.538000000000000 85 315570Rio Piracicaba 14532.000000000 0.694000000000000 0.542000000000000 0.829000000000000 0.553000000000000 86 313620Joo Monlevade 72942.000000000 0.786000000000000 0.658000000000000 0.875000000000000 0.747000000000000 87 316480So Sebastio do Rio Preto 1489.000000000 0.713000000000000 0.446000000000000 0.616000000000000 0.179000000000000 88 315800Santa Maria de Itabira 10270.000000000 0.713000000000000 0.445000000000000 0.698000000000000 0.366000000000000 89 314750Passabm 2170.000000000 0.725000000000000 0.463000000000000 0.853000000000000 0.408000000000000 90 316100So Domingos do Prata 16706.000000000 0.757000000000000 0.551000000000000 0.752000000000000 0.490000000000000 91 314470Nova Era 17880.000000000 0.636000000000000 0.592000000000000 0.834000000000000 0.740000000000000 92 312180Dionsio 10233.000000000 0.653000000000000 0.492000000000000 0.790000000000000 0.464000000000000 93 312260Dom Joaquim 4473.000000000 0.663000000000000 0.405000000000000 0.801000000000000 0.366000000000000 94 316650Serra Azul de Minas 4467.000000000 0.723000000000000 0.317000000000000 0.703000000000000 0.271000000000000 95 316020Santo Antnio do Itamb 4709.000000000 0.711000000000000 0.301000000000000 0.614000000000000 0.320000000000000 96 315600Rio Vermelho 14090.000000000 0.686000000000000 0.318000000000000 0.649000000000000 0.409000000000000 97 316340So Jos do Goiabal 5870.000000000 0.605000000000000 0.481000000000000 0.790000000000000 0.478000000000000spdep/inst/etc/shapes/boston_tracts.prj0000644000176200001440000000025012157606620020003 0ustar liggesusersGEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]spdep/inst/etc/shapes/columbus.shp0000644000176200001440000005273411716033162016760 0ustar liggesusers' *@@Ǔ%@(&@`"|-@!@x+@.3"@`"|-@?!@Uy,@!@`"|-@p!@@x-@@!@E-@ !@F-@`,"@B-@.3"@`Z},@@"@{,@@"@x+@@!@ ,@~N!@`$,@*I!@-,@ C!@WW,@@l@!@r,@?!@Uy,@ @lt+@ FU!@!,@/m @@Py,@Ő @u,@S @u,@n @`6u,@ @5u,@@!@Dx,@?!@Uy,@@l@!@r,@ C!@WW,@*I!@-,@~N!@`$,@` S!@`+@ FU!@0+@5!@ +@`(!@`+@ !@`a+@!@O+@c!@+@!@n+@b @@+@C @+@ @,+@ @+@@9 @+@9 @+@৥ @ y+@` @+@E @{+@u @lt+@t @`}+@hn @`+@@e @p+@@V @:+@ kA @@+@0 @@S+@` @@~+@ @+@ f @4+@@@ ,@Y@,@ @ _,@ @|,@ P9 @!,@K @Fw,@ ] @s,@nk @2t,@m @@Py,@~N!@+@"@`$,@~N!@`$,@@!@ ,@@"@x+@@"@P+@ "@@+@"@Y+@ ՘"@@-+@`2"@W-+@`6}"@`.+@.|"@+@`d"@+@a"@@;,+@ PU"@@)+@@R"@j+@!@Zn+@`Z!@q+@ FU!@0+@` S!@`+@~N!@`$,@P@e @K,+@@^!@0+@'C @+@b @@+@!@n+@c!@+@!@O+@ !@`a+@`(!@`+@5!@ +@ FU!@0+@`Z!@q+@@^!@ oG+@A!@@gG+@5-!@H+@h$!@TH+@T!@I+@!@I+@!@I+@ / @I+@ @@5+@ @6+@ @;+@T @D+@ @@;+@@ @@5+@ @h1+@~ @K,+@4g @`.+@6g @`:+@@e @]E+@w @`%h+@u @lt+@E @{+@` @+@৥ @ y+@9 @+@@9 @+@ @+@ @,+@C @+@`Z!@)@@"@q+@@^!@ oG+@`Z!@q+@!@Zn+@@R"@j+@ PU"@@)+@a"@@;,+@`d"@+@.|"@+@`6}"@`.+@`2"@W-+@ ՘"@@-+@ "@@+@@"@+@४"@z*@x"@)@~w"@@^)@!@t)@!@)@w!@;*@@^!@ oG+@४"@z*@w\$@e+@@"@+@ k"@`wc+@5#@e+@iM#@@mb+@@_#@`d+@N_#@ bJ+@%#@M+@ $@L+@5$@4+@ Y$@m!+@w\$@*@U$@`W*@N$@*@pE$@*@ @=$@*@`B>$@a*@ x1$@Z*@+$@*@@$@I*@*$@@ژ*@Q#@*@Z#@ڗ*@@W#@*@४"@z*@@"@+@85@P)@ @@I+@5R @ 7+@@ @5+@@8% @<)+@6; @(+@B @@0'+@`e @`&+@a @m+@[ @E+@@TT @+@G @`*@A @*@Q> @` *@>8 @*@5 @*@`\ @ *@@8 @%*@ @/*@ @H5*@@ @@0*@ @`M#*@ٳ @@ "*@` @ *@~ @O *@v @> *@p @F)@@ O @@)@ XJ @P)@t5 @)@ @ a)@  @ )@ @*@  @B*@ @d<*@` @:*@U@ _;*@@ F*@ ٱ@@b*@K@@|*@ @*@`|@*@`y@t*@w@V*@Hh@,*@@"a@*@]@ k+@`L@`+@B7@@p1+@85@(;+@@7+@@@I+@@lG+@@`:+@R @ 7+@85 @H5*@w!@I+@$~ @K,+@ @h1+@@ @@5+@ @@;+@T @D+@ @;+@ @6+@ @@5+@ / @I+@!@I+@!@I+@T!@I+@h$!@TH+@5-!@H+@A!@@gG+@@^!@ oG+@w!@;*@M!@3:*@1!@I9*@,!@@6*@!@5*@ @H5*@ @/*@@8 @%*@`\ @ *@5 @*@>8 @*@Q> @` *@A @*@G @`*@@TT @+@[ @E+@a @m+@`e @`&+@4g @`.+@~ @K,+@ @?"@0)@@0$@@ژ*@ ४"@z*@@W#@*@Z#@ڗ*@Q#@*@*$@@ژ*@#@)@U$@#)@>*$@@J*@ *$@`, *@s,$@~)@-$@)@ .$@)@/$@)@@0$@)@$@r)@#@X)@r#@0)@#@0)@ h"@1)@"@`F1)@`"@!A)@"@`B)@@?"@ D)@'K"@`FQ)@&U"@`&\)@_"@`k)@ i"@)@ Tm"@Z)@q"@`)@~w"@@^)@x"@)@४"@z*@ $@r)@L%@`*@0>*$@@J*@ \/$@*@@@$@q.*@`k]$@P*@@$@`T*@*$@~*@$@5}*@)$@@z*@$@ ,~*@`$@:~*@`$@~*@$@Ȁ*@P$@*@P$@`*@`}%@*@!%@*@@4%@*@`C%@ *@1G%@`0}*@`G%@@fp*@`LL%@`+f*@J%@`gZ*@DK%@P*@J%@ J*@F%@@\B*@)G%@ 5*@C%@-$*@A%@u*@@A%@ *@@C%@w*@ D%@)@ B%@@=)@@G%@m)@F%@)@ J%@`O)@K%@`)@L%@` )@ %@R)@@$@)@X[$@)@$@r)@@0$@)@/$@)@ .$@)@-$@)@s,$@~)@ *$@`, *@>*$@@J*@ p@Y%!@̞)@!@;*@ ,!@@6*@1!@I9*@M!@3:*@w!@;*@!@)@f!@ն)@6c!@M)@@D!@̞)@B!@)@@Y%!@`j)@,!@@6*@ h @O)@@D!@@6*@ @H5*@!@5*@,!@@6*@@Y%!@`j)@B!@)@@D!@̞)@p*!@ )@`!@O)@ @)@ @H5*@  XJ @)@ @H5*@ XJ @P)@@ O @@)@p @F)@v @> *@~ @O *@` @ *@ٳ @@ "*@ @`M#*@@ @@0*@ @H5*@ @)@`~ @ )@ @)@ @)@`} @)@ XJ @P)@ @)@!@ a)@ @ a)@t5 @)@ XJ @P)@`} @)@ @)@ @)@`~ @ )@ @)@`!@O)@!@`)@; @)@ @|)@` @@@)@> @)@ @ a)@!@)@~w"@@^)@!@)@!@t)@~w"@@^)@q"@`)@ Tm"@Z)@ i"@)@_"@`k)@&U"@`&\)@'K"@`FQ)@@?"@ D)@!@78)@!@m6)@5!@)@`D!@ A)@!@)@`!@ (@5!@)@@D!@̞)@6c!@M)@f!@ն)@!@)@`D!@ A)@5!@)@ K!@ c(@s!@@(@@k!@`(@c!@@(@@P!@t(@`&6!@b(@-!@ (@!@`)@`!@O)@p*!@ )@@D!@̞)@M$@i(@ik%@)@@$@)@ %@R)@L%@` )@g%@)@ik%@)@@cT%@)@V%@ ph)@U%@K)@ }U%@0)@U%@ ))@V%@`c(@$@i(@$@()@M$@<2)@x$@l)@@$@)@ @@(@-!@)@ @|)@; @)@!@`)@-!@ (@@!!@(@!@(@@ !@@(@Y!@@Ӷ(@w @`Ϲ(@ @@C(@ @@ (@{ @ (@@p @`:(@ @-(@` @(@ @|)@> @-(@ @|)@> @)@` @@@)@ @|)@` @(@ @-(@u @(@* @(@ @`G)@@ @`G)@. @)@ @/)@P @ 58)@ @jJ)@`Br @jJ)@K @`kJ)@ F @@h)@F @|y)@> @)@#@ {'@$@)@$@r)@X[$@)@@$@)@x$@l)@M$@<2)@$@()@$@i(@@7$@ 5'@$@ {'@o$@R|'@`$@|'@$@`'@x$@ӎ'@<$@J'@ $@'@$@@U'@f $@'@$@(@@#@ "(@@#@@^*(@^#@`H(@#@ S(@`'#@Y(@#@@b(@@$@QW(@ #@ʮ(@#@%(@#@ )@ #@5)@#@2)@$@r)@H@>@'@ !@@js)@F@^@(@$C @H(@ F @ u(@ H @ '(@K @(@P @ (@JY @`8(@a @y(@^s @i(@$ @`c(@՞ @ YP(@` @zN(@ @J(@@J @E(@N @FG(@` @J(@u @F(@!@A(@@ !@`:(@!@u-(@!@%(@ !@ 6 (@M !@m'@ !@T'@ @:'@x @'@@4 @]'@@ @@י'@ @+'@O @U'@@ @|'@@z @'@55 @@'@@= @ 'W'@@'@@@`S'@`@{'@hR@'@@'@Nw@@(@ k@@r)(@@z@iT(@K@@vl(@@p(@Y@.(@n@;(@ m^@t)@@>@@js)@ @r)@@RY)@@S@@q2)@@)@@j)@@*^@#(@.@@(@@](@X@(@@@(@@(@`(@1@@D(@%=@`J(@<@(@ XG@](@hw@ (@@ǧ(@@@ (@@(@`@~(@'@x(@@^@(@H"@s(@$@r)@"@`F1)@ h"@1)@#@0)@r#@0)@#@X)@$@r)@#@2)@ #@5)@#@ )@#@%(@@YP#@M(@`"@x(@)"@s(@"@α(@"@((@ "@@&(@H"@(@`ѷ"@ k!)@"@`F1)@$@ 5'@ %@@M)@U%@K)@%@@M)@@n%@I)@ %@(@`%@Ӳ(@%@c(@%@8(@$H%@(@@7$@ 5'@$@i(@V%@`c(@U%@ ))@ }U%@0)@U%@K)@$C @u-(@`!@`kJ)@:K @`kJ)@`Br @jJ)@ @jJ)@P @ 58)@ @/)@. @)@@ @`G)@ @`G)@* @(@u @(@ @-(@@p @`:(@{ @ (@ @@ (@ @@C(@w @`Ϲ(@Y!@@Ӷ(@@ !@@(@!@(@@!!@(@-!@ (@`&6!@b(@@P!@t(@c!@@(@@k!@`(@j!@@(@`j!@t(@Cj!@ (@!@@V(@U!@v(@ !@`i(@`!@_@(@ I!@ E4(@!@u-(@@ !@`:(@!@A(@u @F(@` @J(@N @FG(@@J @E(@ @J(@` @zN(@՞ @ YP(@$ @`c(@^s @i(@a @y(@JY @`8(@P @ (@K @(@ H @ '(@ F @ u(@$C @H(@8F @`G(@^L @ (@R @@)@vO @`()@@aK @`=)@K @`kJ)@Cj!@_@(@@C"@ D)@5!@)@!@m6)@!@78)@@?"@ D)@?"@`,)@`A"@(@PB"@(@@C"@ D](@p;"@ [(@!@`WN(@`!@_@(@ !@`i(@U!@v(@!@@V(@Cj!@ (@`j!@t(@j!@@(@@k!@`(@s!@@(@ K!@ c(@5!@)@@?"@ D](@)"@ D)@@?"@ D)@"@`B)@`"@!A)@"@`F1)@`ѷ"@ k!)@H"@(@ "@@&(@"@((@"@α(@)"@s(@?"@;h(@@C"@ D](@PB"@(@`A"@(@?"@`,)@@?"@ D)@`"@h(@$@ʮ(@`"@x(@@YP#@M(@#@%(@ #@ʮ(@@$@QW(@#@@b(@`'#@Y(@#@ S(@^#@`H(@@#@@^*(@@#@ "(@$@(@`Â#@ (@"@h(@"@!(@"@ R(@`"@x(@+"@Qx'@/"@x(@)"@s(@`"@x(@"@ R(@"@!(@"@h(@ "@'@ "@`M'@`"@`G'@/"@@'@`"@Qx'@f"@ˆ'@+"@'@."@y'@@/"@'@@82"@3 (@@3"@ (@5"@A(@:"@;Q(@@C"@ D](@?"@;h(@)"@s(@@!@'@@C"@ D](@p;"@ [(@@C"@ D](@:"@;Q(@5"@A(@@3"@ (@@82"@3 (@@/"@'@."@y'@+"@'@!@ޚ'@!@`(@ g!@`(@!@@6"(@@v!@@~/(@@!@$6(@`!@_@(@!@`WN(@p;"@ [(@ @+'@!@_@(@ I!@ E4(@`!@_@(@@!@$6(@@v!@@~/(@!@@6"(@ g!@`(@!@`(@!@ޚ'@`!@'@:m!@'@&@@.3&@@ /&@`Z@`*2&@Z@D&@V@AL&@W@ dR&@$@@g&@`c@eh&@@@@z&@`@`&@`@&@@&@ @m'@(@`$@7m&@ %@|'@%`$@|'@o$@R|'@$@ {'@$%@|'@%@r'@`:%@`Tr'@P%@`r'@Z%@`r'@L%@`p'@%@hp'@ Μ%@ p'@@%@Y'@?%@R'@ො%@='@`̝%@.'@ %@ ;&'@%@3'@`/%@'@ %@?&@%@v&@w%@t&@_%@q&@9%@n&@0%@7m&@O%@ p&@$@Oq&@$@`v&@`$@3&@$@@h&@ $@ &@`$$@&@-$@m&@`t$@ &@mV$@ '@@B8$@`.'@S$$@ X'@`$@|'@) `/%@v&@@H&@t'@! Μ%@ p'@%@ Or'@@|%@t'@@%@`R'@`%&@P'@`@&@D'@@&@1'@G&@#'@`G&@'@@H&@'@@>&@ i&@`>&@@&@@>&@&@j2&@ 9&@m(&@/&@@#&@p&@&@d&@%@ɇ&@%@`*&@%@ &@G%@e~&@u%@`Vz&@@D%@@hx&@%@v&@ %@?&@`/%@'@%@3'@ %@ ;&'@`̝%@.'@ො%@='@?%@R'@@%@Y'@ Μ%@ p'@*"@`%@@@;,'@@&@y@&@`ː@@u&@`@`%&@@~@'@/C@@;,'@`@ g&@`@@&@@ԕ&@@@^&@p@?&@>O@$&@@@`%@O@`;&@@`nl&@`q?@`!u&@R@&@@`&@"@`ߕ&@$@&@@@&@ E@&@@&@+Xi*"@&@ "@ N'@1"@ N'@^j"@D'@ "@'@R"@@&@Sj"@Ξ&@5"@&@i*"@ &@1"@ N'@,ǫ"@=l&@@#@'@ "@'@`B#@'@ #@'@@#@c&@_#@@݇&@V#@=l&@`O#@ l&@#@Hm&@#@&@l"@@&@ǫ"@`y&@R"@@&@ "@'@-0 >!@ ̤%@j["@&@#`m"@&@i*"@ &@5"@&@.9"@ P&@ !7"@ hE&@2"@`;&@ /"@ 5&@W"@.&@/Y"@&@Y"@&@j["@%@@ K"@%@gE"@`%@k3"@U%@ 0"@`\%@!@ ̤%@ඡ!@U%@l!@%@'!@%@`!@%@`~!@ }&@ !@@G&@!@ &@ >!@&@@"C!@-&@ D!@@&@ C!@.f&@T!@7~&@]!@`؃&@@d!@&@Y!@&@T!@&@!@@_&@@8!@&@`m"@&@.@`%@t@+&@@@ &@ ;@h&@p@@&@t@+&@Ę@&@`@@{&@@@&@@0&@@@&@`@=y&@9+@mk&@_2@`\&@ {8@@7&@@"@1&@&@`%@@ /&@@.3&@@@>&@ @`U&@@`\&@@2v&@` D@5w&@ p@@.&@m@&@ W@ &@W@&@X@`&@@@ &@/8@#-%@@Ǔ%@(&@&@$j2&@ 9&@@>&@&@@=&@LJ&@@M=&@ f&@U?&@.A&@J&@&@\&@@ &@mq&@%@R&@@O%@&@%@(&@`a%@&@@Ȕ%@&@@Ǔ%@l%@g%@`%@`%@@U%@%@`j%@ৣ%@Tc%@Ѫ%@RL%@ %@r;%@%@@#-%@@%@0/%@ /%@a%@@G&@_%@q&@w%@t&@%@v&@@D%@@hx&@u%@`Vz&@G%@e~&@%@ &@%@`*&@%@ɇ&@&@d&@@#&@p&@m(&@/&@j2&@ 9&@0 /"@`&@0"@@&@Sj"@Ξ&@R"@@&@ǫ"@`y&@l"@@&@;"@&@ X"@&@0"@T&@"@pG&@f"@`&@"@`&@Y"@&@/Y"@&@W"@.&@ /"@ 5&@2"@`;&@ !7"@ hE&@.9"@ P&@5"@&@Sj"@Ξ&@1 0"@`\%@T#@&@l"@@&@#@&@#@Hm&@`O#@ l&@V#@=l&@ڎ#@<&@Ȍ#@&@`G#@`y%@T#@ %@ 0"@`\%@k3"@U%@gE"@`%@@ K"@%@j["@%@Y"@&@"@`&@f"@`&@"@pG&@0"@T&@ X"@&@;"@&@l"@@&@spdep/inst/etc/shapes/eire.shp0000644000176200001440000003333011716033162016042 0ustar liggesusers' l{Gz@Qr@@@33333l@q= cԶ@\(p@@p= n@(@(\½n@Q@(\o@Rk@q= ףo@@\(p@(@Qnp@L@ p@G:@o@QE@zGp@L@qp@Q@p= ׻o@R@ ףp=ro@ffff߶@Q@n@q= cԶ@(\%n@ @(\m@(\@33333l@@Gzl@ ףp@= ףpm@QE@p= n@(@Qed@P@Gzn@̆@Qh@= ףb@HzGh@Qj@f@zs@(\Of@Qr@Gz^e@{@\(d@{G{@Qed@ @{Gje@̆@p= +f@33333@ ףp=Bf@|@ףp= g@= ףpz@ ףp=h@Q8s@9j@Qxs@\(j@ ףp}o@Ql@fffffn@Gzn@Hz\@fffffm@Y[@GzNm@{GX@(\m@@T@qm@P@̬k@33333S@9k@ ףpQ@Gzj@p= T@fffffj@@Q@Hzi@= ף0R@(\i@Q8W@Qh@= ףb@(\oA@L@(\'b@z$@(\'b@Q @Q3a@Q@Gz`@@(\_@̌@(\]@Hz@QY@ ףp}@GzZ@(@QW@Q8@GznV@)\µ@R@Gz@QM@Hz@RH@L@(\oA@3333@{GN@{G@{GP@R@ R@(\@p= S@R+@33333P@GzT@GzU@z$@QV@ףp=J@Q+X@ףp=J"@ ףp=jZ@\@QZ@z@\@p= @R1`@@Gz`@q= #@\(Da@\(@(\'b@Q @zG*@@HzWf@\hٶ@2QT@= ף0ն@GzV@\׶@q= ףY@GzTҶ@Gz^\@\hٶ@Q_@Hznն@q= ף`@3333Ͷ@$b@Gж@)\c@ףp=J˶@q= ףd@p= ö@̤c@q= 㿶@QMd@@Gzd@p= ׵@33333Cf@Q@HzWf@ףp=@{G"e@(\Ϟ@ףp= c@R@zGc@q= 㥶@{G b@p= W@p= ףb@{G!@QSa@)\u@Q`@3333@(\`@ffff@ ףp=]@Hz.@Hzg]@p= @RZ@둎@(\Y@(\@33333U@= ףp@fffffT@{G@ ףp=:P@fffff@ףp= P@GzT@Q+I@Q^@E@@A@ףp=@QkL@q= #@ףp= @@@,D@ףp=@@P@3333@O@Gz@p= F@Q@Q5@Q@zG*@@Qk8@zǡ@A@3333s@ ףp=C@̌@Q8K@z@ ףp=JR@(\B@QS@ffff@QV@Hz@R!T@(\Oɶ@QT@= ף0ն@R]@q= 㓷@q= ףl@@@;Qb@3333s@Hz'c@@p= kc@ ףp@= ףpc@(\O@ףp= c@\h@Gzb@ ףp@ףp= b@(\@(\a@Q@Qa@{G!@la@3333s@Hz_@@R]@z@Q._@= ף@)\p`@3333@ףp= a@p= @a@p= @p= `@(\O@(\`@@(\b@둸@Qcb@Q@Ra@33333@33333#b@Qķ@Qa@G:ɷ@Ra@q= ̷@(\b@ ̷@Qb@{Gַ@c@Gӷ@d@Gַ@d@3333ڷ@(\/e@Qڷ@zGe@ҷ@8f@ ףp}ӷ@Gze@Hzڷ@{GBf@Qܷ@(\f@zGַ@Gzf@Q׷@q= ףf@R+ܷ@Gzg@Q޷@{Gg@Qط@QNh@з@Qh@p= з@Hzh@(ݷ@zGi@Q޷@ ףp=i@@@p= כj@Q@)\0k@z޷@q= ףl@Rk׷@Qk@q= ףҷ@fffffnj@Rkȷ@Qi@ffffȷ@ ףp=i@)\µ@zGYh@q= c@ ףp=2f@(ܬ@Hze@(\¥@Hzwg@Q@\($f@{G!@{Ge@Q@Q d@q= 㓷@Qb@3333s@fffffp@@r@{GaB@Qp@ףp=)@= ףpMq@{G!0@(\Sq@GzT6@Qp@@:@GzHq@<@Qzq@;@(\q@{GaB@ ףp=Jr@(\8@\((r@z1@q@ףp=1@Ryr@ +@r@'@Q=r@(\(@q= ףq@= ף'@Hzq@QE#@fffffbr@@(\jr@z@Qq@@Q_q@@Qp@@fffffp@(%@Qp@ףp=)@6@Q @RAe@@S@6RI@(\R@= ףp]O@)\µO@R@3333J@q= ףT@Hz.I@= ףpMU@(\E@= ףpmV@= ףp@@QX@3333sD@= ףpZ@P@Gz\@GzTO@Gz\@QO@p= K`@(\R@\(Ta@zQ@Qa@QK@Ra@(\G@= ףpb@(\A@zGb@q= c7@HzOc@Q*@Qd@(\B'@(\2e@)\u#@RAe@ףp=J @ffffffd@Q@(\ec@R+@(\'b@Q @\(Da@\(@Gz`@q= #@R1`@@\@p= @QZ@z@ ףp=jZ@\@Q+X@ףp=J"@(\_Z@"@lZ@)\'@QY@(,@)\W@{Ga,@QP@R+,@)\8P@)\u0@ףp= K@Q,@HzK@z4@RN@3@HzM@(\O;@(\I@ ףp3@Q~D@= ף7@(\H@fffff=@GzH@ ףp}@@)\C@=@= ףp?@Q8A@6@B@q= ף<@ ףp}F@(\µ@@zC@QA@@J@Q7@= ףO@GzB@@S@H@(\BP@RI@(\R@P{Gž@QV@z@'p= ׃R@@Q>S@{Gٶ@QT@= ף0ն@R!T@(\Oɶ@QV@Hz@QS@ffff@ ףp=JR@(\B@Q8K@z@ ףp=C@̌@A@3333s@{G:I@@HzA@L@zGa0@z@Hz&@(ܫ@(\2@\(@\(\%@@p= ף?\(@Q = ףp@Qk!@p= @(\@q= 㽶@zGa?@Rö@333333F@{Gaȶ@)\hE@Q̶@(\?@Qɶ@\(\)@Hz˶@{Gz(\Bʶ@(\{G!Զ@Gz!@3333׶@3333332@ ףp}ڶ@)\h4@33333ֶ@)\;@)\5ٶ@A@(\Ҷ@(\BH@(\Ӷ@p= CC@Gzض@Q^D@QE@Gz@@z@q= ףpK@3333@GzL@z@p= ׃R@@ (\Ul@Q@Qp@3@= ףpl@(\,@(\m@3@33333n@-@fffffno@(/@Qp@ףp=)@fffffp@(%@Qp@@(\p@{G@Hzp@ ףp@= ףpYp@(\B@GzVp@ffff&@Ro@zG@Gzo@fffff@q= ףo@@(\o@Rk@(\½n@Q@p= n@(@̼m@̌@Ql@Q^@(\l@G@(\Ul@ ףp=@ m@p= @= ףpMm@Q%@Ql@ףp=J)@= ףpl@(\,@ Qg@¶@Q@n@Q8@Qg@p= W@(\…h@\@Q(j@Gz@Rj@q= #@Ql@Q8@Gzl@ ףp@33333l@@(\m@(\@(\%n@ @Q@n@q= cԶ@Gzm@\(ζ@p= ףm@\ƶ@= ףpl@¶@33333kl@QEŶ@Rk@̌ö@Gz~j@\hͶ@Qi@ڶ@Gzi@33333ݶ@h@(\@Qg@p= W@  ףp=g@p= W@p= n@\h@(\Ul@ ףp=@(\l@G@Ql@Q^@̼m@̌@p= n@(@= ףpm@QE@Gzl@ ףp@Ql@Q8@Rj@q= #@Q(j@Gz@(\…h@\@Qg@p= W@Qg@(\B@zGg@q= c@ ףp=g@ @QFh@ffff@g@z@33333i@\h@Rj@(\@(\Ul@ ףp=@ {Gb@= ףY@HzGh@3333s@Qb@3333s@Q d@q= 㓷@(\d@R+@p= d@(\@{Gje@̆@Qed@ @\(d@{G{@Gz^e@{@(\Of@Qr@f@zs@HzGh@Qj@Qh@= ףb@{Gf@= ףY@p= e@(\Y@ffffffd@p= Wc@fffffd@r@\(c@u@zGb@|@fffffVb@p= @{Gb@@Qb@3333s@ p= ׃R@ףp=J˶@)\c@@(\]@Hz@(\_@̌@Gz`@@33333a@GzT@8c@p= W@Qc@G@(\a@G:@zGYa@\h޶@Hz?c@\ն@)\c@ףp=J˶@$b@Gж@q= ף`@3333Ͷ@Q_@Hznն@Gz^\@\hٶ@q= ףY@GzTҶ@GzV@\׶@QT@= ף0ն@Q>S@{Gٶ@p= ׃R@@q= ףPW@ ףp@(\[@GzT@{G^@Hz.@(\]@Hz@q= ףe@q= #=@Qi@= ףb@p= e@(\Y@{Gf@= ףY@Qh@= ףb@(\i@Q8W@Hzi@= ף0R@Qi@q= M@)\h@= ף0N@̄h@F@Qg@q= #=@q= ףhf@Q?@Qne@(\=@q= ףe@QxK@(\e@QR@p= e@(\Y@{Go@@H@Qq@ףp= n@{Go@Gz\@o@c@(\Ip@= ףa@(\/p@̌h@Gzp@\hi@q= ףp@ףp= n@(\^q@(\l@Qq@)\µc@(\q@)\5`@p= q@ffffe@p@zGd@Qq@ ףp}Y@q= ףq@YU@= ףpq@Hz.I@)\p@@H@Qp@(\M@(\Fp@Q@p= 'p@GzX@{Go@Gz\@bq= ףp9@= ףp@@33333c`@3333s@I>Gz^X@́@ףp= Y@QE}@R[@Y}@)\8[@(x@(\Y@(\r@ ]@{Gk@(\_@Rkq@33333c`@ffffm@Gz`@(j@ףp= ^@)\k@Gz_@(c@33333^@̌b@Q^@Hz.]@(\^@3333Y@= ףp^@ףp=U@p= ף\@Hz.R@Gz\@GzTO@= ףpZ@P@QX@3333sD@= ףpmV@= ףp@@= ףpMU@(\E@q= ףT@Hz.I@R@3333J@= ףp]O@)\µO@RI@(\R@ףp= E@Q^X@= ףpG@ a@QP@Q8`@{GP@\(j@RK@Q^l@Gz4G@Gzh@ףp= WF@k@RG@Qn@QG@Gm@I@Gzq@GznK@p@HzG@x@GzJ@р@(\/I@(\@Q^G@Hz.|@QKE@)\@p= CG@@ףp= F@G:@)\(E@ffff挷@9B@{Ga@{GZ@@Q@QB@@@fffffA@Hz@\(@@@ @N@@@@^@@@*@n@@@ :@ ~@ @ @ J@ @ @ @ Z@ @ @ &@ j@ @ @ 6@ z@ @@F@@@@V@@@"@f@@@2@v@@@B@@@@R@@@@b@@@.@r@@@>@@@ @N@@@@^@@@*@n@@@:@~@@@J@@@@Z@@@&@j@@@6@z@@@F@@@ @ V@ @ @!"@!f@!@!@"2@"v@"@"@#B@#@#@$@$R@$@$@%@%b@%@%@&.@&r@&@&@'>@'@'@( @(N@(@(@)@)^@)@)@**@*n@*@*@+:@+~@+@,@,J@,@,@-@-Z@-@-@.&@.j@.@.@/6@/z@/@0@0F@0@0@1@1V@1@1@2"@2f@2@2@32@3v@3@3@4B@4@4@5@5R@5@5@6@6b@6@6@7.@7r@7@7@8>@8@8@9 @9N@9@9@:@:^@:@:@;*@;n@;@;@<:@<~@<@=@=J@=@=@>@>Z@>@>@?&@?j@?@?@@6@@z@@@A@AF@A@A@B@BV@B@B@C"@Cf@C@C@D2@Dv@D@D@EB@E@E@F@FR@F@F@G@Gb@G@G@H.@Hr@H@H@I>@I@I@J @JN@J@J@K@K^@K@K@L*@Ln@L@L@M:@M~@M@N@NJ@N@N@O@OZ@O@O@P&@Pj@P@P@Q6@Qz@Q@R@RF@R@R@S@SV@S@S@T"@Tf@T@T@U2@Uv@U@U@VB@V@V@W@WR@W@W@X@Xb@X@X@Y.@Yr@Y@Y@Z>@Z@Z@[ @[N@[@[@\@\^@\@\@]*@]n@]@]@^:@^~@^@_@_J@_@_@`@`Z@`@`@a&@aj@a@a@b6@bz@b@c@cF@c@c@d@dV@d@d@e"@ef@e@e@f2@fv@f@f@gB@g@g@h@hR@h@h@i@ib@i@i@j.@jr@j@j@k>@k@k@l @lN@l@l@m@m^@m@m@n*@nn@n@n@o:@o~@o@p@pJ@p@p@q@qZ@q@q@r&@rj@r@r@s6@sz@s@t@tF@t@t@u@uV@u@u@v"@vf@v@v@w2@wv@w@w@xB@x@x@y@yR@y@y@z@zb@z@z@{.@{r@{@{@|>@|@|@} @}N@}@}@~@~^@~@~@*@n@@@:@~@@@J@@@@Z@@@&@j@@@6@z@@spdep/inst/etc/shapes/sids.shx0000644000176200001440000000160411716033162016067 0ustar liggesusers' U @@ ?RyKB@2hB.":P  `(   PJb RDHLxHD  !"$##$H$&'lP(0)*+L,b-8.R/F0Z162Jp20346@7F8Z(9:b;f<:=(>:>`?R@@(AxBrHBDBDPE28FnGRPGHR IvXJKvLHLMxOVP"PQjQRSnTTUWX:Y spdep/inst/etc/shapes/boston_tracts.shp0000644000176200001440000046141012157606620020013 0ustar liggesusers' 1AzQbOcE@بQoc?'VE@OQ4<05E@2Q.:?:E@һQ \:E@%_Q:8E@SQ7E@zQ#@6E@2Q.5E@< Q4<05E@Q@Q6E@AQǼ @5E@`Q f6E@EQ%08E@9&QRG:E@OQ~@G:E@t_KQ* Q:E@t>Q.:?:E@CQ} u:E@һQ \:E@&XӻQ;E@@*Qz`>E@&XӻQz`>E@жQe @/>E@Qx=E@ǹQlX!>E@#@QF >E@@*Q:`QT ~E@&XӻQz`>E@?Q:E@l??QF >E@#@QF >E@?bQS=E@l??Q`+=E@8XQ:E@)K@ƺQq;E@QI;E@?Q;E@L_QE@#@Q`+=E@QP ?E@ǸQy?E@7_QP ?E@t_KQH ?E@ Qy?E@QXH?E@ Q @i?E@c7PQ?E@oQ]`>E@%OQ>E@Q\!>E@0Q"J=E@l??Q`+=E@?bQS=E@#@QF >E@KQ`+>E@rQ_>E@ _Qi>E@Q!?E@7_ɸQhy?E@ǸQy?E@ǸQ\!>E@K2QGAE@D_PQGAE@  Qn?E@Q@@E@k߶Q@E@giQ^?E@@Qng?E@K2Q=uߔ?E@-V˶QB _>E@Q\!>E@%OQ>E@oQ]`>E@c7PQ?E@ Q @i?E@QXH?E@ Qy?E@t_KQH ?E@7_QP ?E@ǸQy?E@?Q`4@E@]Q$@E@6DQ@@E@N%@UQ`k-AE@D_PQGAE@D_PQ=uߔ?E@5׵Q CE@/QAE@ QsZBE@ H`Q CE@"QJBE@+7QSBE@ Qɠ`vBE@5׵QIAE@)K@Q=u@E@K2Q=uߔ?E@@Qng?E@giQ^?E@k߶Q@E@Q@@E@  Qn?E@D_PQGAE@/QAE@жQx=E@6DQfB_AE@'xQ`?rAE@Z_IQ'xAE@Z_IQp^AE@BP@QfB_AE@N%@UQ`k-AE@6DQ@@E@]Q$@E@?Q`4@E@ǸQy?E@7_ɸQhy?E@Q!?E@ _Qi>E@rQ_>E@KQ`+>E@#@QF >E@ǹQlX!>E@Qx=E@жQe @/>E@~G`Q*@E@'xQ`?rAE@rQp^AE@BP@QRo?BE@qr`Q޲qBE@9ʹQy@BE@ `[QRo?BE@TQ.:?BE@`5Q^{BE@@*QYm_AE@U;QFAE@BP@QfB_AE@Z_IQp^AE@Z_IQ'xAE@'xQ`?rAE@ HQ(AE@Q AE@`QHAE@rQ}6BE@qr`Q޲qBE@ x `[Q`k-AE@/QBE@ `[QRo?BE@QBE@GQBE@/QAE@D_PQGAE@N%@UQ`k-AE@BP@QfB_AE@U;QFAE@@*QYm_AE@`5Q^{BE@TQ.:?BE@ `[QRo?BE@ *(QAE@?9Q-`VEE@ƷQ}"EE@G?Q-`VEE@?9QJJ5EE@QYm_CE@E[yQJJ5CE@ H`Q CE@ QsZBE@/QAE@GQBE@QBE@*(Qv"E@'xQ2_CE@2pQ߱AE@UQS@AE@D׺QÊ BE@Q"e?BE@Ro?Q2_CE@qQBE@qr`Q޲qBE@rQ}6BE@`QHAE@Q AE@ HQ(AE@'xQ`?rAE@~G`Q*@E@жQe @/>E@&XӻQz`>E@U;QU?E@2pQ߱AE@ZQk\ =E@CॻQU?E@ &XӻQz`>E@CॻQ@>E@w@߻Q_=E@Y $Qk\ =E@[QS=E@Q=E@Q =E@$Q =E@m@μQi >E@ZQל=E@ZQ&@>E@U;QU?E@&XӻQz`>E@q3QT ~E@q3Q`=E@HfQ>>E@;R |Q\>E@@*Q?Y>E@/ Q&@>E@ZQ&@>E@ZQל=E@m@μQi >E@$Q =E@Q =E@Q=E@[QS=E@?Q0E@/ Q&@>E@@*Q?Y>E@;R |Q\>E@HfQ>>E@q3Q`=E@&QME=E@OQk\ =E@޲qQc=E@_̽Q?Y>E@̫Q>E@ LQis>E@naQ>E@Q8Q >E@r?Qu`?E@Q?E@N@Q_?E@m?ýQ?@E@6QWVE@naQ>E@ LQis>E@̫Q>E@_̽Q?Y>E@޲qQc=E@OQk\ =E@]`৾QWVQiM;E@^ٽQ7G6;E@($6Qo`:E@iQ\9E@J`Q 9E@J`Qa:E@wnQy@:E@Q:E@BP@tQ :E@wnQ];E@Q @;E@XwnQ];E@QG`QiM;E@Q @;E@_Q;E@hq3Q J;E@OdQ ;E@ }bQ ;E@?AQn ;E@}"QQH;E@!`ӼQiM;E@OdQ ~;E@<мQ J;E@ Q[| q;E@7^Qh@W;E@q3Q;E@}bQ ;E@h}"QiM;E@6 @gQ0E@Y $Qk\ =E@w@߻Q_=E@CॻQ@>E@=ZQZQZQT ~QT ~QT ~Q.:?:E@t_KQ* Q:E@ZQ";E@?PQ8?{;E@!]?ʽQK':E@t_KQ[| q;E@<мQ J;E@ZQ";E@t_KQ* Q:E@OQ~@G:E@QE:E@QK':E@ZQ~:E@G' Qh:E@e#Q?_:E@)K@Q2p:E@Q:E@ `[QD:E@;R |Q״9;E@_D?QV4;E@]?ʽQњ7;E@7^Qh@W;E@ Q[| q;E@<мQ J;E@"P($6Qh:E@kzQњ7;E@]?ʽQњ7;E@_D?QV4;E@kzQ:E@҂$Qh:E@($6Qo`:E@^ٽQ7G6;E@]?ʽQњ7;E@#iQ&`8E@Q״9;E@_D?QV4;E@;R |Q״9;E@ `[QD:E@Q:E@)K@Q2p:E@e#Q?_:E@G' Qh:E@ZQ~:E@QK':E@WQs8E@߽Q&`8E@qQLA 8E@iQ\9E@($6Qo`:E@҂$Qh:E@kzQ:E@_D?QV4;E@$8`, Q7E@qQu@:E@$J`Qa:E@J`Q 9E@iQ\9E@qQLA 8E@($6Qy8E@྾QU7E@QE>7E@'jQy7E@( ׿Q$7E@+?Q17E@m?CQ7E@SQQ@.7E@I1QE>7E@aAQva__7E@Qng7E@) Q @i7E@i_Qw@7E@%Q#8E@Q6D8E@) Qu8E@@Qm@8E@Q9E@`, Q:E@i_QH9E@IqQWJ :E@gQU :E@Q^{:E@_Qu@:E@]?JQPL:E@?EQ0:E@@_Q2p:E@k_;Q} u:E@Q@.Q,:E@$Q} u:E@QU :E@J`Qa:E@%Q?8E@_Q+r;E@ HQ8?{;E@_Q n;E@D_PQ+r;E@ՍjQ ~;E@`Q{{ a;E@Q,;E@ Q;E@_Qu@:E@Q^{:E@gQU :E@IqQWJ :E@i_QH9E@`, Q:E@Q9E@q?7Q9E@~Q?8E@Q`k-9E@~G`Q/ 9E@ HQ8?{;E@&"QPL:E@]?JQ)@@E@Q)@@E@6Q2@E@E@Q)@@E@'2-tQ`k-9E@Qy@E@WQy@E@Q)@@E@xpQ11 @>E@Q:`E@ Qi>E@y@Ql?E@ Qn@E@QzP@E@sQh@E@WQy@E@(gQ2@E@w@QCDE@_ Qi_DE@{{ aQU?BE@7QIqBE@пQ7BE@w@Q߁AE@?3Qs|AE@=`QqAE@UQQ` AE@QC4@E@ۿQ6 @E@( Q@E@6Q2@E@Q)@@E@WQy@E@9JQ @E@@cQ'xAE@L_QAE@&@QKBE@?_QBE@Q CE@jt?QU#`MCE@gQ CE@ `QDE@Q DE@N%@QCDE@_ Qi_DE@)Q CE@_ QHfIE@L6Q%`IE@r?QT[HE@>QFE@_ Qi_DE@N%@QCDE@Q DE@ `QDE@gQ CE@INQ"CE@Q/ @CE@QNGE@3Q GE@Q@QHfIE@2pQ%OIE@`kQ3 IE@9+,QIE@y@QeIE@QWIE@5QIE@SnQ1IE@L6Q%`IE@*r?Q9 (FE@J`Q<6HE@r?QT[HE@Qh?UHE@Q*HE@lQ@HE@(@Q<6HE@"kQHE@ZQyHE@QC4*HE@6DQ*NHE@ 7Q@HE@J`Qk_;GE@Q9 (FE@uQ_BFE@hyQ`+FE@C?QisFE@t}(Q_BFE@@Q\FE@@QFE@>QFE@r?QT[HE@+>QIqBE@QFE@ Q9 (FE@P ˿Q6BE@7QIqBE@{{ aQU?BE@_ Qi_DE@>QFE@@QFE@@Q\FE@t}(Q_BFE@C?QisFE@hyQ`+FE@uQ_BFE@Q9 (FE@,7Q7BE@gQk_;GE@J`Qk_;GE@@QFE@C4*Qd^EE@gQ%`FE@0I`Q8EE@C4*QmDE@rռQՍjDE@G' QCE@QxQ0BE@8XQU BE@пQ7BE@7QIqBE@P ˿Q6BE@Q9 (FE@J`Qk_;GE@-пQ߁AE@Q%`FE@Qq3EE@7GvQqDE@`QhCE@ ߪQ߁CE@8?Q[| qCE@{QCE@C4*QeBE@l?QBE@OQ3BE@r?Q9nBE@~Q[BE@྾QAE@w@Q߁AE@пQ7BE@8XQU BE@QxQ0BE@G' QCE@rռQՍjDE@C4*QmDE@0I`Q8EE@gQ%`FE@״yQEE@p`iQ EE@Qq3EE@.?3Q-?E@gi%QeBE@w@Q߁AE@྾QAE@~Q[BE@r?Q9nBE@OQ3BE@l?QBE@C4*QeBE@gi%Qo`BE@gieQMBE@Q @E@[Q;: ?E@<LQ-?E@m?ýQ?@E@?3Qs|AE@w@Q߁AE@/p<LQU?E@2pQCE@ C4*QeBE@{QCE@n QBE@2pQ߱AE@U;QU?E@<LQ-?E@[Q;: ?E@Q @E@gieQMBE@gi%Qo`BE@C4*QeBE@0Xn Q߱AE@D׺Q߁CE@{QCE@8?Q[| qCE@ ߪQ߁CE@D׺QÊ BE@UQS@AE@2pQ߱AE@n QBE@{QCE@1h`Q"e?BE@QqDE@ Q7CE@;ҺQ7G6CE@Ro?Q2_CE@Q"e?BE@D׺QÊ BE@ ߪQ߁CE@`QhCE@7GvQqDE@K2bQCE@Q7CE@2P7GvQ^CE@޲qQq3EE@Qq3EE@dQ`OEE@޲qQ^CE@Q7CE@K2bQCE@7GvQqDE@Qq3EE@3gQޚ EE@_Q,&IE@,QAQHE@2-QnHE@S@(Q,&IE@|`0QUGE@lQ($EE@d`BQ EE@_Qޚ EE@dQ`OEE@Qq3EE@p`iQ EE@״yQEE@gQ%`FE@ Q_FE@ZQG`GE@,QAQHE@4ZQd^EE@,QKIE@QKIE@NHQ}HE@*hQ߱HE@,QAQHE@ZQG`GE@ Q_FE@gQ%`FE@C4*Qd^EE@@QFE@) ࣼQ?YFE@ߞQ$GE@ZQ*NHE@<мQ@*IE@QKIE@5QAQHE@S@(Q_NE@ngQ_NE@{Q ME@P ˻QLE@K2bQKE@-V Q7KE@S@(Q,&IE@2-QnHE@,QAQHE@*hQ߱HE@NHQ}HE@QKIE@Q_xJE@QKE@@˼Q>KE@`tQ߁KE@gi%Q nKE@Q/"/ME@ngQ_NE@6P 7QFE@ngQisNE@'C½Qx1 LE@e#Q2pME@R0ZQ NE@QisNE@ngQ_NE@Q/"/ME@gi%Q nKE@`tQ߁KE@@˼Q>KE@QKE@Q_xJE@QKIE@<мQ@*IE@ZQ*NHE@ߞQ$GE@) ࣼQ?YFE@@QFE@J`Qk_;GE@ 7Q@HE@C4*QO XHE@t}QxHE@P ˿Q<6HE@ݿQZ_ IE@@_Q^ wIE@ngQ IE@ecQ%_qJE@s_wQ?fJE@E[yQPJE@ө 4QJE@Q|`0JE@j;Q^{JE@FMQIE@^;Q IE@@#Q`IE@qQ@JE@x-QÊ JE@"QgKE@4_fQb LE@C½Qx1 LE@7@ Q@HE@C½QRE@%qQS vOE@v QLA NE@(Q_JNE@PƾQ!ME@C½Qx1 LE@4_fQb LE@"QgKE@,QtKE@W߅Q"MKE@E[yQPJE@s_wQ?fJE@ecQ%_qJE@ngQ IE@@_Q^ wIE@ݿQZ_ IE@P ˿Q<6HE@t}QxHE@C4*QO XHE@ 7Q@HE@6DQ*NHE@QC4*HE@ZQyHE@"kQHE@(@Q<6HE@lQ@HE@Q*HE@Qh?UHE@r?QT[HE@L6Q%`IE@?Q0sIE@L`2QoJE@ Q,ME@Q޲ME@7_Q@PE@{QRE@'QOE@qQS vOE@8x(Qx1 LE@^Qoc?'VE@,_ڹQuTE@״QvNTE@Q9_tSE@x߽Q/SE@QRE@U;Q5RE@cQ_`RE@^QQE@<QyQE@5{@QBQE@\QPE@Q?PE@cvQ`^PE@ڧ@Q~@GPE@!@Q:j?PE@ źQROE@OպQ1OE@AQ;?OE@McQNE@ngQ_NE@QisNE@R0ZQ NE@e#Q2pME@C½Qx1 LE@PƾQ!ME@(Q_JNE@v QLA NE@qQS vOE@gQj5OE@2_QOE@ Qw.PE@G' ]QPE@p`iQU#`MQE@DWQ\_QE@&@QzQE@̫|Q$"RE@zQSE@`, Qoc?'VE@YͽQ VE@HQ/`TE@|`QUE@`Q2_TE@kQTE@_ڹQuTE@9!@QƕKE@HQ(@TE@6Y QB?$TE@t>FQ(@RE@9QU `RE@ _öQGRE@!\Q@AxRE@_Q= RE@<PQc7SE@?/QU#`MRE@E`JQSW QE@_dQQE@VRQQE@ĴQ0(QE@:ĴQ8QE@@Q `1RE@<LQc7RE@F Q9_QE@^QL@PE@ڧ@lQDOE@C4jQI OE@_ڳQH?ME@OQ ME@HQ#0LE@t}(QƕKE@J`QaME@ӺQOE@OպQ1OE@ źQROE@!@Q:j?PE@ڧ@Q~@GPE@cvQ`^PE@Q?PE@\QPE@5{@QBQE@<QyQE@^QQE@cQ_`RE@U;Q5RE@QRE@x߽Q/SE@Q9_tSE@״QvNTE@_ڹQuTE@5Q(@TE@PQoKTE@жQ^ RTE@UQHfSE@xp[Q߭SE@$QO SE@e#QmTE@qr`Qk\ TE@Q@_\TE@)K@QJTE@z4QGE@FQFE@~ Q]`FE@Q@pFE@i_QDyFE@F?ظQOUFE@̸Qz`FE@?Q GE@QGE@/"/Q_GE@x=Q6DHE@~G`DQO_HE@2Q@*IE@>FQo DE@ƷQ]`FE@ FQFE@GE@1`Qva__GE@QGE@Q$ GE@@Qb`EE@;ҲQiMKE@.QJE@'Q HE@;ҲQ¢@>HE@N%@ղQ,nHE@܋QHE@SQlXGE@gQ$1GE@`Q`, FE@*Q`, FE@4_&Qb`EE@qr`cQS@hFE@t}Qz`EFE@=`߶Q EE@$QFE@pKQlGE@Q$ GE@uQ@HE@˄Q/ IE@E[Qp^IE@9QIE@..Qi&JE@"QiMKE@QKE@@Q.IE@rQJE@N%@Q DJE@.QJE@At}(QmGE@&XӭQ`LE@@¯Q`LE@9+lQ)KE@zQN=_hJE@&XӭQZIE@?Q(gIE@FQl IE@E[9Ql IE@SQo`IE@`Qo`IE@P Q@@IE@QxQxHE@PưQ,ߦHE@L`QueGE@R0ZQ _GE@`QmGE@ Qi_>HE@_Qi_>HE@N%@ղQ,nHE@;ҲQ¢@>HE@'Q HE@.QJE@t}(QƕKE@HQ#0LE@R0QILE@@¯Q`LE@B!@!QNGE@?Q޲ME@Q޲ME@ Q,ME@L`2QoJE@?Q0sIE@L6Q%`IE@SnQ1IE@5QIE@QWIE@y@QeIE@9+,QIE@`kQ3 IE@2pQ%OIE@Q@QHfIE@3Q GE@QNGE@BQGE@( QeQHE@\9Q~HE@Q1HE@7_QWVIE@2QFJE@Q?_3LE@!@!QQHLE@dQ`OME@Q޲ME@Cڿ_Q`FE@( QQHLE@m߰QULE@!@!QQHLE@Q?_3LE@2QFJE@7_QWVIE@Q1HE@\9Q~HE@( QeQHE@BQGE@P?QoKHE@ZQHE@QcGE@.ߠQy GE@xQ@BGE@IQc =GE@N=_(QFE@_NQL`FE@^mQv"FE@ڿ_Q`FE@_Q`JE@m߰QULE@DL@@Q2_CE@_QNE@_Q`JE@ڿ_Q`FE@_}Q `DE@g_jQ$\ @ DE@rQ5CE@ o_QhCE@Q2_CE@tQL`CE@'8Qj FE@L@@Qg*@CFE@`Q0GE@kߜQLE@RߗQ, LE@жQME@?9QME@{.Q޲qNE@`QNE@`, Q̫|NE@iM[Q8ME@|`0QsOME@m߰QULE@_Q`JE@ExQj FE@kߜQLE@ QPIE@?AQ_KE@kߜQLE@`Q0GE@L@@Qg*@CFE@'8Qj FE@@Q4<FE@]OQwGE@Q)IE@7Qm@NIE@$t`]QM7HE@QPIE@FWQ AE@Q)IE@WQ_GE@?Q,@GE@0I`QPHE@Q)IE@]OQwGE@@Q4<FE@'8Qj FE@tQL`CE@Q2_CE@?Q AE@0hQ~@BE@'QEE@a Q FE@m?Q;FE@|Qx1 FE@bQ{FE@WQ_GE@GhSW *QCwCAE@0hQEE@ SW *QEC&CE@EQS CE@'QEE@0hQ~@BE@aQoBE@55QBE@c7Q̫|AE@_QCwCAE@uQlAE@SW *QEC&CE@H_Qb=E@2QoBE@0hQ~@BE@?Q AE@2Qn?E@Q>E@Ql >E@"QZ_>E@DQ|R>E@Qd^=E@. Q=E@($Qb=E@v@%Q]=E@r?qQ%?E@ nQa?E@]Qz`@E@Q@E@_QCwCAE@c7Q̫|AE@55QBE@aQoBE@0hQ~@BE@I 8QBP@>E@]QX/CE@_QCwCAE@Q@E@]Qz`@E@:DQ+/|@E@YQE[?E@\9XQ?E@} uQj?E@@_Q:?E@QBP@>E@ 8Qs|?E@kQ@E@=QX/CE@SW *QEC&CE@uQlAE@_QCwCAE@J2pQiM;E@($Qz`@E@]Qz`@E@ nQa?E@r?qQ%?E@v@%Q]=E@($Qb=E@QiM;E@;R |Q&6E@ 8Qs|?E@QBP@>E@@_Q:?E@} uQj?E@\9XQ?E@YQE[?E@:DQ+/|@E@]Qz`@E@KpMEQ9E@(Q=E@ ($Qb=E@. Q=E@?3Qa E@. Q=E@Qd^=E@DQ|R>E@"QZ_>E@qQY.=E@bQc=E@N=_QAE@FQ?>E@3QP ?E@OQc=E@2QL@E@2Q @E@3QP ?E@FQ?>E@QO`f>E@t_Q"M=E@!`Q=E@_mQ"M=E@"QN=E@bQc=E@qQY.=E@"QZ_>E@Ql >E@Q>E@2Qn?E@KQ@E@l Q`?E@ZQM7@E@̫QL@E@2Q @E@Pp?Qn?E@̫QhCE@ Q2_CE@ o_QhCE@S QZ_ AE@m?Q<6@E@̫QL@E@ZQM7@E@l Q`?E@KQ@E@2Qn?E@?Q AE@Q2_CE@Q o_Q @E@Q5CE@ o_QhCE@rQ5CE@OUQNCE@N%@QwCE@Qoc?'BE@N=_Q^BE@) QUBE@eQAE@Q@l =@E@2Q @E@̫QL@E@m?Q<6@E@S QZ_ AE@ o_QhCE@RxrQoc?'BE@iMQ `DE@ rQ5CE@g_jQ$\ @ DE@_}Q `DE@QgCE@_Q ACE@iMQº_CE@) QUBE@N=_Q^BE@Qoc?'BE@N%@QwCE@OUQNCE@rQ5CE@Sڿ_Qº_CE@>]QHE@ڿ_Q`FE@^mQv"FE@_NQL`FE@N=_(QFE@IQc =GE@xQ@BGE@.ߠQy GE@QcGE@ZQHE@P?QoKHE@BQGE@҂$Qm?GE@Q@.QuFE@>]QEE@+Qɠ`DE@ɠ`vQd`EE@zQj/EE@CQQ`DE@QG' ]CE@iMQº_CE@_Q ACE@QgCE@_}Q `DE@ڿ_Q`FE@TCQ@l =@E@QGE@BQGE@QNGE@Q/ @CE@@CE@k\Q;CE@̫Q AE@j5HQGAE@]Q@E@҂dQU@E@Q@l =@E@eQAE@) QUBE@iMQº_CE@QG' ]CE@CQQ`DE@zQj/EE@ɠ`vQd`EE@+Qɠ`DE@>]QEE@Q@.QuFE@҂$Qm?GE@BQGE@Ux̫Q @i?E@gQ/ @CE@ Q/ @CE@INQ"CE@gQ CE@#@Q* AE@CE@Q/ @CE@VQmp>E@OdwQ AE@̫Q AE@lQfB_AE@2QG@E@@Q @i?E@OdwQ'@>E@QS@h?E@Q߭>E@?Qmp>E@+QR0>E@Q?E@_Q-@E@Q@l =@E@҂dQU@E@]Q@E@j5HQGAE@̫Q AE@W@Q`+>E@9JQU#`MCE@WQy@E@sQh@E@QzP@E@ Qn@E@y@Ql?E@ Qi>E@=ZQA>E@ngQ >E@Q?5>E@ QsO>E@Y?Q`+>E@OdwQ'@>E@@Q @i?E@E@Y?Q`+>E@ QsO>E@Q?5>E@ngQ >E@=ZQA>E@ Qi>E@\fQ`+>E@2-tQZE@Q߭>E@QS@h?E@OdwQ'@>E@YPe#Qy@:E@ QXE@?Qmp>E@ŭQXE@̫Q]`>E@Q?E@^p3QB=E@Q@l =@E@ Q@l =@E@_Q-@E@Q?E@̫Q]`>E@҂dQ48>E@c7Q<L=E@BHQB=E@Q?E?E@3QP ?E@2Q @E@Q@l =@E@_P?Q u9E@Q48>E@BHQB=E@c7Q<L=E@҂dQ48>E@&QǑ?=E@QS=E@Qo 8E@t}(QC4*8E@FQ7E@TQ7E@UQ<68E@Q:E@) Qŭ:E@T[Qo`:E@FQe:E@n Q@:E@ Q:E@Qh@W;E@%Q;E@]?JQaS`;E@e fQm4E@@Q9n:E@Q u9E@@Q*8E@(@QO X8E@gQu8E@Q*_8E@ Q@8E@* QQ8E@?Q 8E@d`QKo7E@OQz6E@9+߬Q55E@jt?Q_m5E@]`Q5E@]`Qm4E@20Qz5E@ߓQ5E@Qx5E@^-Qb6E@@QKo7E@I1QB?7E@ fQk7E@)2Q7E@FQ7E@t}(QC4*8E@\9Q¢@>8E@S Qxp8E@P?Q9n:E@Q u9E@f7QN5E@ߓQ7E@TQ7E@FQ7E@)2Q7E@ fQk7E@I1QB?7E@@QKo7E@^-Qb6E@Qx5E@ߓQ5E@`QN5E@QǑ?5E@EQx5E@+QY.5E@}"Q;6E@x=Q@6E@(@Qu`7E@7Q7E@TQ7E@g`+Qv@%5E@`Qx5E@ +QY.5E@EQx5E@QǑ?5E@`QN5E@%Qq35E@1`Q_m5E@$Qv@%5E@$Q/"/5E@+QY.5E@hpN%@UQ$t`]4E@G?Q5E@ `QN5E@ߓQ5E@G?QSW j5E@IN`Q$t`]4E@VQz4E@+?Q$t`]4E@ 7Q4E@t}(Q)K@4E@N%@UQe4E@%Qq35E@`QN5E@iIN`QWx3E@]`Q5E@ߓQ5E@20Qz5E@]`Qm4E@@_Q4E@?Qi_4E@]?JQg4E@k_{Qa 4E@PFQ+r3E@K2bQWx3E@Q@nQaS`3E@%QQH3E@Q4E@IN`Q$t`]4E@G?QSW j5E@ߓQ5E@jpk_{Q2E@iQg4E@ ?Qi_4E@@_Q8?{3E@iQpK2E@zQ2E@YQ2E@ Q_)3E@K2bQWx3E@PFQ+r3E@k_{Qa 4E@]?JQg4E@?Qi_4E@kp?QpK2E@]Q5E@ ]`Q5E@Q'4E@nbQ-@74E@]Q83E@..Qh@W3E@iQpK2E@@_Q8?{3E@?Qi_4E@@_Q4E@]`Qm4E@]`Q5E@ljt?Q2E@?Q_m5E@jt?Q_m5E@xpQe4E@QZU@4E@Qe4E@OdQ4E@?Q4E@gQ$t`]4E@) QT~`94E@?Q[@3E@eQ_)3E@Q2E@q3Q`C3E@S@Q 3E@..Qh@W3E@]Q83E@nbQ-@74E@Q'4E@]`Q5E@jt?Q_m5E@mh9+߬QZU@4E@QE6E@ QE6E@Q`+6E@Qq?w5E@QZ4E@Qe4E@QZU@4E@xpQe4E@jt?Q_m5E@9+߬Q55E@QE6E@n@9+߬Q55E@Qz6E@QE6E@9+߬Q55E@OQz6E@d`Q_6E@QE6E@oOQ`+6E@(@Q@8E@OQz6E@d`QKo7E@?Q 8E@* QQ8E@ Q@8E@Q*_8E@gQu8E@(@QO X8E@`Q?6E@b`Q$t`]6E@2Q\6E@Q`+6E@QE6E@d`Q_6E@OQz6E@p``Q$t`]6E@Q*8E@ @Q*8E@[GQ 8E@2TQC4*8E@QO X8E@ZQО6E@b`Q$t`]6E@`Q?6E@(@QO X8E@@Q*8E@qX2QZ4E@ZQО6E@b`Q$t`]6E@ZQО6E@Q2p5E@QZ4E@Qq?w5E@Q`+6E@2Q\6E@b`Q$t`]6E@rxQ2p5E@CQ*_8E@ QO X8E@[Q*_8E@ 0MQ6E@a Qz`6E@QDy6E@CQ?6E@C4*QsO6E@zQi 6E@?yQ@5E@Q2p5E@ZQО6E@QO X8E@sxQ4E@ ߪQsO6E@ ߪQº_5E@Q"`I5E@~ Q=u5E@tQ=u5E@OdQ4E@Qe4E@QZ4E@Q2p5E@?yQ@5E@zQi 6E@C4*QsO6E@ ߪQº_5E@txC4*Qº_5E@ jQU+7E@ Q$7E@gQU+7E@+rQ}_6E@WQi6E@%_Q L6E@ jQd^5E@ ߪQº_5E@C4*QsO6E@CQ?6E@QDy6E@a Qz`6E@Q$7E@uh[Q6E@E?Qx8E@ [Q*_8E@v"8E@4Q¢@>8E@L@@Q`7E@&XQ-7E@Q$7E@a Qz`6E@ 0MQ6E@[Q*_8E@v&XQ$7E@eQ%8E@v"8E@E?Q¢@>8E@v"Q/ 1E@uQ0E@Q@nQK1E@Qv1E@BQ1E@2_RQ~2E@ Q}0E@j5HQM2E@Qd)2E@jQM2E@o`Q.1E@j5HQ#1E@?uQ@*1E@d`Q1E@J`Q@*1E@, Q}0E@?QF31E@ Q@l =1E@P Qq1E@,QR1E@]? Q 2E@2QF1E@Qd)2E@ >Q0 /E@&Q@l =1E@?uQ@*1E@`+Qx0E@&QM70E@Ah_GQ;: /E@R0Q0 /E@Q`'0E@?Q?b0E@uQ0E@ >Q/ 1E@ Q@l =1E@?QF31E@, Q}0E@J`Q@*1E@d`Q1E@?uQ@*1E@P?uQx0E@Q#1E@j5HQ#1E@_D?Q(@1E@Q@*1E@Qg_0E@`+Qx0E@?uQ@*1E@j5HQ#1E@p|`0Qg_0E@s_Q`1E@ gQ`1E@L`2Qs|1E@@*Qv1E@s_Q u1E@ө 4Q`0E@Qg_0E@Q@*1E@_D?Q(@1E@|`0Q?1E@Y.Q u1E@gQ`1E@xAh_GQ @/E@BP@Q`0E@ Qg_0E@ө 4Q`0E@0Q&`0E@U;Qy0E@BP@Q @/E@Q S/E@QQ^ /E@~Q @/E@Ah_GQ;: /E@&QM70E@`+Qx0E@Qg_0E@@)dQE.E@?_"Q S/E@QQ^ /E@Q S/E@BP@Q @/E@m@QK/E@SQ( /E@?_"Q 8/E@YQk_;/E@$QE.E@Q L.E@Qhc.E@ QU+/E@@)dQ D/E@cQ\/E@QQ^ /E@H2Q\/E@QQ^ /E@~Q @/E@QQ^ /E@cQ\/E@2Ql/E@_Qng/E@~Q @/E@XWQhc.E@ Ql/E@2Ql/E@cQ\/E@@)dQ D/E@ QU+/E@Qhc.E@WQb.E@l?Q?.E@2Ql/E@X.=Q L.E@Q1/E@l?Q?.E@WQb.E@Qhc.E@Q L.E@.=Q_}.E@?5Qo .E@3Q1/E@l?Q?.E@H~Qo .E@3QH /E@3Q1/E@?5Qo .E@~Q?.E@@pQ1/E@* QQH /E@3Q1/E@H3Q?.E@_Q/E@Q/E@_Qng/E@2Ql/E@l?Q?.E@3Q1/E@Q/E@PR0Qng/E@~Q;: /E@R0Q0 /E@Ah_GQ;: /E@~Q @/E@_Qng/E@Q/E@>TQ @/E@R0Q0 /E@Pd`Q1/E@Q @/E@>TQ @/E@Q/E@3Q1/E@* QQH /E@@pQ1/E@d`Q?E/E@>TQ @/E@P?Q?E/E@>TQ`'0E@Q`'0E@R0Q0 /E@>TQ @/E@d`Q?E/E@&@QKo/E@?Qng/E@Q`'0E@po Q_}.E@@pQKo/E@ d`Q?E/E@@pQ1/E@~Q?.E@zQ_}.E@?Qo .E@5Qz.E@&@Q.E@,Q2.E@o Q7 /E@&@QKo/E@d`Q?E/E@ Qޚ -E@$Q?.E@?5Qo .E@.=Q_}.E@Q L.E@$QE.E@s_Qל-E@QS-E@naQv@%-E@ Qޚ -E@҂dQd^-E@R0Q&@.E@~QsO.E@zQ_}.E@~Q?.E@?5Qo .E@` 8Qޚ -E@҂dQ_}.E@ "Qޚ -E@@_Q_m-E@ 8Q"M-E@zQ_}.E@~QsO.E@R0Q&@.E@҂dQd^-E@ Qޚ -E@"Qޚ -E@`Qޚ -E@zQo .E@ zQ_}.E@ 8Q"M-E@@_Q_m-E@"Qޚ -E@Qq3-E@4TQ6 @-E@%OQx-E@?Qo .E@zQ_}.E@PBQ6 @-E@5Qz.E@?Qo .E@%OQx-E@4TQ6 @-E@BQ.E@UQ.E@5Qz.E@?Qo .E@HUQ.E@&@QA/E@ MQA/E@,Q2.E@&@Q.E@5Qz.E@UQ.E@ MQA/E@XCQ 0E@?QK1E@7Q@l =1E@Q@nQK1E@uQ0E@?Q?b0E@2_RQM70E@\Q 0E@CQM70E@7Q@l =1E@phQKo/E@Q?b0E@ ?Q?b0E@Q`'0E@?Qng/E@=Q`/E@SQKo/E@hQ/E@ Q/E@CQM70E@\Q 0E@2_RQM70E@?Q?b0E@XSQ2.E@&@Q`/E@SQKo/E@=Q`/E@?Qng/E@&@QKo/E@o Q7 /E@,Q2.E@ MQA/E@SQKo/E@XIN`Q.E@ MQ/E@SQKo/E@ MQA/E@UQ.E@BQ.E@ngQ$/E@IN`Q 8/E@hQ/E@SQKo/E@XQ/E@7Q~G`D1E@Qo0E@Q~G`D1E@7Q@l =1E@CQM70E@ Q/E@Q@0E@_QC4*0E@Qo0E@pՍjQ 8/E@ Qo0E@ Qo0E@_QC4*0E@Q@0E@ Q/E@hQ/E@IN`Q 8/E@I1Q/E@ՍjQ`/E@NHQ&`0E@`4Qg_0E@Qo0E@'xQ.E@NHQ0E@NHQ&`0E@ՍjQ`/E@Q/E@\xzQ%O/E@UQ.E@@0E@ Q 2E@ F?Q(@1E@ QU0E@'xQu0E@_QP0E@Q>0E@bQ0E@҂$Q0E@wI?LQ u1E@d)Qs|1E@Q 2E@Qf1E@F?Q(@1E@8F?QU0E@ o_oQ(@1E@ o_oQ0E@ QU0E@F?Q(@1E@ o_oQ0E@h o_oQg_0E@Q@nQv1E@ Qv1E@Q@nQK1E@7Q@l =1E@Q~G`D1E@Qo0E@`4Qg_0E@NHQ&`0E@ o_oQ0E@C4*Q"k1E@Qv1E@hF+Q0E@C4*Q; 2E@ Q 2E@F+Q_x2E@ Q; 2E@{{ aQ1E@OQs@1E@C4*Q"k1E@ o_oQ0E@F?Q(@1E@Qf1E@Q 2E@`OQ"k1E@BQsZ2E@ S Q2E@B?QY:2E@RQsZ2E@BQ1E@Qv1E@C4*Q"k1E@OQs@1E@>]Q1E@S Q2E@Hv iQ1E@S Q_2E@v iQ_2E@S Q2E@>]Q1E@OQs@1E@{{ aQ1E@v iQ_2E@P Q1E@{{ aQ_L3E@v iQ_2E@{{ aQ1E@ Q; 2E@PQ_L3E@e4Q2p2E@xpQf 3E@v iQ_2E@`xpQ2E@B?Q73E@ i_QaT3E@?Q73E@6 @gQ J3E@)2Q2E@B?QY:2E@S Q2E@v iQ_2E@xpQf 3E@i_QaT3E@XY Q2p2E@i_Q3E@Y Q 3E@_mQ[@3E@}"Q3E@i_QaT3E@xpQf 3E@e4Q2p2E@PQ_L3E@Y Q 3E@PF QaT3E@5Q}"5E@F Q}"5E@5Q# 4E@?Q73E@i_QaT3E@}"Q3E@_mQ[@3E@F Q}"5E@`F Q# 4E@¢@~QY.5E@ \Q`O5E@;R |Q-`V5E@+QY.5E@$Q/"/5E@$Qv@%5E@¢@~Qd4E@5Q# 4E@F Q}"5E@\Q`O5E@ OQ`O5E@}"Qv7E@p`)Qv7E@7Q7E@(@Qu`7E@x=Q@6E@}"Q;6E@+QY.5E@;R |Q-`V5E@\Q`O5E@i_QB5E@9&Q`5E@޲qQǑ?5E@;Qr?6E@Q?6E@WQz6E@b`.Q?6E@ OQlK7E@p`)Qv7E@Q`4E@p`)Q`7E@ Q`7E@p`)Qv7E@ OQlK7E@b`.Q?6E@?EQ, 6E@ Qis6E@ _Q`+6E@Qx5E@y QY.5E@S 6Qg5E@iMQ`4E@1QIN`,5E@%pQ4E@Q5E@+?Q 6E@ Q`7E@S 6Q6 @g4E@޲qQ?6E@b`.Q?6E@WQz6E@Q?6E@;Qr?6E@޲qQǑ?5E@?Q5E@jQf5E@-V Q-`V5E@?Qv 55E@Q4E@]? Q4E@ .Q6 @g4E@SQz4E@iMQ`4E@S 6Qg5E@y QY.5E@Qx5E@ _Q`+6E@ Qis6E@?EQ, 6E@b`.Q?6E@ .Q 3E@_mQǑ?5E@޲qQǑ?5E@9&Q`5E@i_QB5E@\Q`O5E@F Q}"5E@_mQ[@3E@Y Q 3E@ .Q6 @g4E@]? Q4E@Q4E@?Qv 55E@-V Q-`V5E@jQf5E@?Q5E@޲qQǑ?5E@hSQ; 2E@PQz4E@ .Q6 @g4E@Y Q 3E@PQ_L3E@ Q; 2E@?EQ2E@+Q2_3E@c7PQ|ߥ3E@?3QS4E@SQz4E@ .Q6 @g4E@xh@WQe1E@ Q2E@ ?EQ2E@ Q; 2E@F+Q_x2E@Q 2E@d)Qs|1E@wI?LQ u1E@'Qe1E@'Q`?r1E@v"0E@Q u1E@ wI?LQ u1E@҂$Q0E@bQ0E@Q>0E@VQM70E@@QM70E@~Qxp0E@'Qe1E@wI?LQ u1E@X`CQM70E@~Q`?r1E@'Q`?r1E@'Qe1E@~Qxp0E@@QM70E@`CQ 0E@v"En2E@P QwI? 2E@%_Qf1E@Qv1E@״yQ3 1E@Q 0E@n Q?N1E@ _Qs|1E@`Q:1E@?yQe1E@BP@Q.=2E@Qy@2E@Q_)3E@`Q܋3E@Q 3E@ SQum4E@[QG1E@$QIN`,5E@[QM@5E@Q5E@%pQ4E@1QIN`,5E@iMQ`4E@SQz4E@?3QS4E@c7PQ|ߥ3E@+Q2_3E@?EQ2E@h@WQ~2E@$Q/ 1E@v"En2E@7Q2E@Q޲q2E@ _QU 2E@#Q+3E@Q=`3E@[QM@5E@zQum4E@+?Q*N8E@^;Q-7E@#@Q @7E@QS 7E@MQ 8E@cQ7E@ Q*N8E@`Q@8E@]Q} 4E@_ QΏ_25E@l?Q 5E@`Q[6E@@#Q]`6E@zQ6_7E@^;Q-7E@) Q4E@l?Q7E@$Qל5E@) Q7E@m?Q7E@k_{Q-7E@1Q>]7E@4_Q_7E@^;Q-7E@zQ6_7E@@#Q]`6E@`Q[6E@l?Q 5E@_ QΏ_25E@>]Q} 4E@_Q@4E@RQ4E@|Qe4E@!Qo 4E@Qo 4E@Qxp4E@$Qל5E@VRQל5E@MQ3 9E@Ro?Q3 9E@3!QQ` 9E@qr`Q`8E@MQ 8E@QS 7E@#@Q @7E@^;Q-7E@4_Q_7E@1Q>]7E@k_{Q-7E@m?Q7E@) Q7E@$Qל5E@QRI6E@ Q `6E@VRQX9E@ Q:9E@Qs|9E@9JQw.9E@t}QF39E@Ro?Q3 9E@3!Q 6E@gQ&6E@2pQ>E@ Q;E@q3Qt;E@ Q"e?:E@_D?Q?9E@3!QQ` 9E@Ro?Q3 9E@kQ:E@Q:E@˄Q J;E@˄Q ;E@,QWVE@2pQ>E@ SW *QJ`E@C4*Q;>E@rQΏ_2=E@D_QJ`E@[Q4_&>E@nQ)2?E@jt?QbO?E@S vQ@K@E@?QaS`?E@|@ Q??E@?Q ?E@S@Q Se@E@QU?e@E@Y߿Q}@E@`, Qu@E@h@WQWAE@QXAE@QAE@rQs|BE@SW *Q)@CE@$Q??E@QXAE@ jt?QbO?E@$Qb?@E@QXAE@h@WQWAE@`, Qu@E@Y߿Q}@E@QU?e@E@S@Q Se@E@?Q ?E@|@ Q??E@?QaS`?E@S vQ@K@E@jt?QbO?E@X>]Q32E@ Qg;E@(k\QJ`9E@VRQX9E@ Q `6E@QRI6E@Y?Q5{@5E@9Ql4E@{Q4E@FMQ83E@Q_3E@.} Q_)3E@3!Q2_3E@FQQHm3E@($Q.3E@;Qj3E@n Q2E@N%@Q2E@`'QsZ2E@$t`]Q32E@hQ?_2E@ MQfB_3E@>]Q*4E@VQr?15E@=ZQ~@5E@Qb5E@TQB5E@L_Q6E@!\Q/8E@Q`5:E@BQ 9E@ Q@?9E@\Qj;E@?Qg;E@PQ9n:E@jQ9E@j5HQ=?v9E@ QS9E@Ah_Q޲q9E@gyQP?9E@t>Q9E@k\QJ`9E@ZfQ*4E@!\QrrFQ^;]Q*4E@ZfQv"<6E@WCQh6E@~G`DQ 7E@@Q9E@ Q˄,:E@Qmp:E@Ym_5Q?:E@Qߕ;E@p Qv"<6E@@QE@Y.SQ]=E@2_Q=E@Q y=E@3Ql FQ^;]Q*4E@;Q4E@l?Q״94E@ Qb 4E@% Qqr`3E@5Q2pM3E@* Q.3E@\xQVb2E@t9Q?2E@7Qr?12E@\QM72E@0hQC1E@W`Q1E@ Qd1E@G' Q1E@gQ1E@ŭQe @1E@#)Q @1E@AQz?41E@fB_Q0E@c7Q00E@.Q 0E@VRQ ;0E@@Qoc?'0E@?QF1E@@BQ `2E@`QV42E@ QJ2E@<-Q2E@3QT ~3E@iM[Q 4E@ Qs@7E@ZfQv"<6E@޲Q=`+E@Q2E@IQj/.E@P?)Qw-E@QKo-E@@Q,E@Q,E@L_Q ,E@qQg_*,E@[@vQ+E@SW jQ=`+E@!Q +E@޲QU; -E@pQ|`0E@`CQ1E@<-Q2E@ QJ2E@`QV42E@@BQ `2E@?QF1E@@Qoc?'0E@VRQ ;0E@.Q 0E@ɸQ /E@_Qo`/E@;QwP/E@Qf_ /E@IQDs.E@Q.E@QAQ.E@UQ1.E@Ro?Q)K@.E@IQj/.E@VRQK'E@Q9+l+E@`tQ *E@Q%,+E@x=Q6*E@VRQ9+l+E@`QFk+E@tQ7+E@|`pQgie+E@Q&X+E@kQ<+E@Q +E@ZQ[Q++E@) cQ(@ +E@?GQz`*E@xQ$*E@(@QN| *E@ـ]Q;?#*E@KQG?)E@<Q7)E@?Q)E@Qq)E@&QaA(E@QI (E@Qx(E@ >QDl(E@SQr(E@n Q'E@IN`QK'E@..Q<(E@`tQ *E@[@vQ)E@PQ*4E@@>]Q*4E@ MQfB_3E@hQ?_2E@HfQ_D?^2E@5{@SQ/E@PQ޲q*E@}bQ*E@Qq)E@?Q)E@<Q7)E@KQG?)E@ـ]Q;?#*E@(@QN| *E@xQ$*E@?GQz`*E@) cQ(@ +E@ZQ[Q++E@Q +E@kQ<+E@Q&X+E@|`pQgie+E@tQ7+E@`QFk+E@VRQ9+l+E@SW jQ=`+E@[@vQ+E@qQg_*,E@L_Q ,E@Q,E@@Q,E@QKo-E@P?)Qw-E@IQj/.E@Ro?Q)K@.E@UQ1.E@QAQ.E@Q.E@IQDs.E@Qf_ /E@;QwP/E@_Qo`/E@ɸQ /E@.Q 0E@c7Q00E@fB_Q0E@AQz?41E@#)Q @1E@ŭQe @1E@gQ1E@G' Q1E@ Qd1E@W`Q1E@0hQC1E@\QM72E@7Qr?12E@t9Q?2E@\xQVb2E@* Q.3E@5Q2pM3E@% Qqr`3E@ Qb 4E@l?Q״94E@;Q4E@>]Q*4E@HfQ/E@`%QQHm3E@.} Q_)3E@Q+3E@7Q)@2E@`%Q 1E@?Q0E@8Q/E@8?Q[/E@5{@SQ/E@HfQ_D?^2E@hQ?_2E@$t`]Q32E@`'QsZ2E@N%@Q2E@n Q2E@;Qj3E@($Q.3E@FQQHm3E@3!Q2_3E@.} Q_)3E@5{@SQ#(E@hQ0E@VQ%O/E@TQQ/E@QE[.E@MQz.E@<LQDy.E@UQ }-E@l Q#?-E@~ QJJߵ,E@Qz,E@m@Q@+E@hQ߁+E@¢@~Q@3+E@ o_QD*E@Qe*E@_QsZ*E@5{@SQW*E@?NQ)E@} QG)E@s_Q#(E@PQ޲q*E@5{@SQ/E@8?Q[/E@8Q/E@?Q0E@Q$ /E@MQ0 /E@VQ%O/E@bQ9n2E@QRI6E@9Ql4E@Y?Q5{@5E@QRI6E@$Qל5E@Qxp4E@Q4E@P QWx3E@ QÊ 2E@%OQ9n2E@Q@nQM2E@t_KQ+3E@QpK2E@rQ2p2E@bQ_)3E@McQ4E@9Ql4E@FMQ$ /E@%OQ4E@.} Q_)3E@Q_3E@FMQ83E@{Q4E@9Ql4E@McQ4E@bQ_)3E@rQ2p2E@QpK2E@t_KQ+3E@Q@nQM2E@%OQ9n2E@h@WQR1E@Qz?0E@3Q0E@w@QAQ0E@GQO X0E@*(Q$ /E@?Q0E@`%Q 1E@7Q)@2E@Q+3E@.} Q_)3E@Q%O/E@{{ !QR1E@AQ u1E@{{ !Q@0E@h@WQ 0E@SQ`'0E@ ~QC4*0E@aQ`'0E@t_KQn/E@?Q0 /E@VQ%O/E@MQ0 /E@Q$ /E@?Q0E@*(Q$ /E@GQO X0E@w@QAQ0E@3Q0E@Qz?0E@h@WQR1E@AQ u1E@MQ#?-E@˄,QC4*0E@˄,Q/E@{Qhy/E@=`Q1/E@Q\.E@+Q\.E@$Q@.E@6DQ2p-E@gieQ<L-E@rQq-E@l Q#?-E@UQ }-E@<LQDy.E@MQz.E@QE[.E@TQQ/E@VQ%O/E@?Q0 /E@t_KQn/E@aQ`'0E@ ~QC4*0E@L@QS /E@ Qw@/E@Q|@/E@˄,Qn/E@˄,Q/E@p=`Q.E@@_Q/E@ ?QC/E@@_Ql/E@Q||/E@]? Q/E@Q .E@PFQ.E@_Q?.E@=`Q1/E@{Qhy/E@˄,Q/E@?QC/E@6DQ2p-E@ Q1/E@ ]? Q/E@ QE[.E@ Q?.E@Qx-E@6DQ2p-E@$Q@.E@+Q\.E@Q\.E@=`Q1/E@_Q?.E@PFQ.E@Q .E@]? Q/E@`]? Q?.E@ Q @/E@ ?QC/E@jQ @/E@ QA.E@ Q?.E@ QE[.E@]? Q/E@Q||/E@@_Ql/E@?QC/E@ QA.E@cQT[0E@^{QO X0E@9 (QT[0E@cQ0 /E@ QA.E@jQ @/E@?QC/E@˄,Q/E@˄,Qn/E@Q|@/E@ Qw@/E@L@QS /E@ ~QC4*0E@SQ`'0E@^{QO X0E@h@WQ`'0E@@Q4E@Q A1E@ Q&`0E@^{QO X0E@SQ`'0E@h@WQ 0E@{{ !Q@0E@AQ u1E@h@WQR1E@%OQ9n2E@ QÊ 2E@P QWx3E@Q4E@Q/ @3E@@Q]3E@N@:Q2E@Q1E@($Q~G`D1E@Q A1E@Qj1E@Qxp4E@Qxp4E@Qo 4E@Q 3E@`Q܋3E@Q_)3E@ Q+3E@_ Q02E@@0E@_QP0E@Q8?{+E@} Q8?{+E@QF+E@WQ@*E@=ZQ,*E@>Q.=*E@L_Q@)E@Q (E@~ Qm?)E@L@QLA (E@ nQ@*)E@Qs|)E@ߓQWJ *E@r?Q)@*E@r?Q,d*E@1Q}6*E@ՍjQ*E@״yQf +E@-V QXF&+E@} Q8?{+E@Q}6*E@[Qt}(,E@Q +E@h@Qc7+E@[QiM+E@ՍjQ*E@1Q}6*E@KQM*E@u@Q* Q*E@@QS v*E@"Qmp*E@QU *E@/"Qp+E@5Qv"<+E@`ߏQo$,E@s_7Q +E@rQt}(,E@@Q+E@Q +E@KQU(E@ nQ,d*E@KQM*E@1Q}6*E@r?Q,d*E@r?Q)@*E@ߓQWJ *E@Qs|)E@ nQ@*)E@L@QLA (E@0I`QU(E@?yQo(E@s_Q(E@[Q,&)E@mQ'x)E@!`Q?)E@_Q()E@@]QZ_ )E@ 7Qv)E@gieQs|)E@Q#)E@IqQ?)E@Q,*E@CQU *E@'@Qc )E@|QK*E@_ Q D*E@CQc )E@(@Q,E@(@Q,E@`ߏQo$,E@5Qv"<+E@/"Qp+E@QU *E@"Qmp*E@@QS v*E@u@Q* Q*E@_ Q D*E@|QK*E@'@Qc )E@CQU *E@B?Q2p*E@oQ*E@ɠ`vQ@3+E@'*Q+E@]? Q# ,E@QN +E@DQa ,E@o QT ~,E@q3Qɸ,E@(@Q,E@=`_QN +E@S߮QA.E@S߮Qo .E@xQ .E@\Q`O-E@q3Qɸ,E@o QT ~,E@DQa ,E@QN +E@]? Q# ,E@'*Q+E@=`_Q,E@=Q6 @g,E@ Q,E@4TCQ%`.E@ Q?.E@ QA.E@S߮Qo .E@xQ6 @g,E@4TCQ?.E@ Qx-E@ Q?.E@4TCQ%`.E@ Q,E@=Q6 @g,E@20Q7,E@AQ L ,E@$Qe,E@u`Q}"-E@kQ}"-E@]?JQ-E@Qx-E@m@Q@+E@kQx-E@Qx-E@]?JQ-E@kQ}"-E@u`Q}"-E@$Qe,E@AQ L ,E@20Q7,E@=Q6 @g,E@QDsL,E@m@Q@+E@Qz,E@~ QJJߵ,E@l Q#?-E@rQq-E@gieQ<L-E@6DQ2p-E@Qx-E@5{@SQ?)E@'*Q6 @g,E@'*Q+E@ɠ`vQ@3+E@oQ*E@B?Q2p*E@CQU *E@Q,*E@IqQ?)E@Q#)E@?NQ)E@5{@SQW*E@_QsZ*E@Qe*E@ o_QD*E@¢@~Q@3+E@hQ߁+E@m@Q@+E@QDsL,E@=Q6 @g,E@=`_Q,E@'*Q+E@ >Q\&E@Q*E@Qq)E@}bQ*E@PQ޲q*E@s_Q#(E@Q (E@Q2&E@ Q\&E@'*Q1'E@pKQ`4(E@ >QDl(E@Qx(E@QI (E@&QaA(E@Qq)E@X QDsL$E@5Q2&E@ Q\&E@Q2&E@5Q%E@'xQJJߵ$E@.=QDsL$E@_}Q* %E@DQ<L%E@ Q\&E@FQE@eQ%E@5Q%E@>]Q"E@eQv"E@Z_IQ^ E@]?JQE@SW Q E@qr`Qh E@vQ-@ E@FQө 4!E@xQ:!E@^;Q<$E@.=QDsL$E@'xQJJߵ$E@5Q%E@XoQ:!E@xQ<$E@^;Q<$E@xQ:!E@FQө 4!E@y@Q:!E@oQN%@"E@\9Q+r#E@$Q _#E@^;Q<$E@Q+r#E@^;Qr(E@ >QDl(E@pKQ`4(E@'*Q1'E@ Q\&E@DQ<L%E@_}Q* %E@.=QDsL$E@^;Q<$E@$Q _#E@\9Q+r#E@C?Q L $E@%Qd^%E@Qe'E@..Q<(E@IN`QK'E@n Q'E@SQr(E@ >QDl(E@SQN%@"E@C?Qe'E@Qe'E@%Qd^%E@C?Q L $E@\9Q+r#E@oQN%@"E@ Q"E@Z_IQ"e?"E@{nQ#E@Q0I`#E@@QS%E@SQ@%E@e4Q ;&E@OQ _&E@Qe'E@`jQQ E@ Q0I`#E@ U Qt#E@Q0I`#E@{nQ#E@Z_IQ"e?"E@ Q"E@q?wQ'x!E@2-QQ E@jQ"E@U Qt#E@`AzQ E@U Qt#E@ U Qt#E@jQ"E@2-QQ E@DQ E@AzQ"E@_9Q"E@Qa #E@ Q״9#E@U Qt#E@Q"E@U Q@@`%E@],Q$E@޲Q#E@U Qt#E@ Q״9#E@Qa #E@_9Q"E@AzQ"E@ 0QU "E@zoQ6"E@?_bQ0I`#E@Q$E@m@Q@@`%E@Y?Q<L%E@C?Q%E@Y Q#?%E@=`QA$E@2_RQS%E@],Q$E@x],Qt#E@QS%E@ ],Q$E@'Q_%E@Qv 5%E@!Q%E@L_Q$E@4TCQh&$E@_Q%E@@QS%E@Q0I`#E@U Qt#E@޲Q#E@],Q$E@<Qh&$E@e4Q &E@zTߑQ &E@ՍjQ]`&E@ _Qom&E@"Q9 (&E@e4Q ;&E@SQ@%E@@QS%E@_Q%E@4TCQh&$E@L_Q$E@!Q%E@Qv 5%E@'Q_%E@],Q$E@2_RQS%E@=`QA$E@Y Q#?%E@C?Q%E@Y?Q<L%E@m@Q@@`%E@ߺQN%E@Q]%E@<Q`+&E@t_KQ|R&E@zoQis&E@zTߑQ &E@zTߑQ9 (&E@Q(E@jt?QS 'E@ Q`'E@R0ZQ|@'E@9 QB?'E@Q;: 'E@HQva__'E@G' QS 'E@) Q+'E@Qe'E@OQ _&E@e4Q ;&E@"Q9 (&E@ _Qom&E@ՍjQ]`&E@zTߑQ &E@?yQ\9'E@+?Qn'E@gQ$\ @ 'E@܋Q$'E@Q2-'E@޲Q(E@jt?QS 'E@ Qva__'E@..Q *E@`tQ *E@..Q<(E@Qe'E@) Q+'E@G' QS 'E@HQva__'E@Q;: 'E@9 QB?'E@R0ZQ|@'E@ Q`'E@jt?QS 'E@;Q (E@..Q-@7)E@ HQ )E@UQ)E@`tQ *E@PFQS 'E@`tQ +E@!Q +E@SW jQ=`+E@VRQ9+l+E@x=Q6*E@Q%,+E@`tQ *E@UQ)E@ HQ )E@..Q-@7)E@;Q (E@jt?QS 'E@޲Q(E@Q(E@2_QZ_ )E@Q#)E@QwI? *E@PFQ* Q*E@AQܣu*E@, QRo?*E@Q*E@!Q J+E@IQ_+E@Q+E@LYQ+E@!Q +E@=`_Q?&E@IQU; -E@?yQ\9'E@zTߑQ &E@U;Q&E@~ Q&E@..Q\'E@J`QKo'E@=`_Q?&E@QX0(E@Qm?)E@C4*Q@3*E@˄,Q.=*E@޲QU; -E@!Q +E@LYQ+E@Q+E@IQ_+E@!Q J+E@Q*E@, QRo?*E@AQܣu*E@PFQ* Q*E@QwI? *E@Q#)E@2_QZ_ )E@Q(E@޲Q(E@Q2-'E@܋Q$'E@gQ$\ @ 'E@+?Qn'E@?yQ\9'E@?QU "E@t_KQKo'E@=`_Q?&E@J`QKo'E@..Q\'E@~ Q&E@U;Q&E@zTߑQ &E@zoQis&E@t_KQ|R&E@<Q`+&E@Q]%E@ߺQN%E@m@Q@@`%E@Q$E@?_bQ0I`#E@zoQ6"E@ 0QU "E@@Q#E@?Q %E@=`_Q?&E@AzQE@AzQ %E@ 0QU "E@AzQ"E@a Q\!!E@W8Qv@!E@2Q@B!E@b`nQr/E@ QE@_QE@AzQk E@?sQU `"E@gQ:"E@PQ!E@p`iQh@!E@ecQ"E@?Q %E@@Q#E@ 0QU "E@#Q_XE@Q"E@DQ E@Q E@yQ%_qE@^QXE@`Q8?{E@_mQ_XE@#Q@E@ QE@b`nQr/E@2Q@B!E@W8Qv@!E@a Q\!!E@AzQ"E@DQ E@xyQ"ME@Q"E@,oQN%@"E@y@Q:!E@FQө 4!E@vQ-@ E@qr`Qh E@SW Q E@]?JQE@QɸIE@)2QhE@+?QE@jQCwE@->Qz 7E@SW Q E@WQpKTE@:Q[E@QHE@C?QlE@^YQ+E@?3QM)E@ QE@E`JQ_E@CQ"ME@|RQV `E@a Q;?#E@W`Q3E@u`QAE@^;QE@IN`lQqE@ɸQ E@=`Q_lE@UQqE@?QO`E@4TCQE@2Q)߲E@g_jQ.E@{QBE@ߺQ @iE@yQ%_qE@Q E@DQ E@2-QQ E@q?wQ'x!E@ Q"E@oQN%@"E@PG?Q_+E@QZ,E@ɠ`vQZ,E@kQ,E@kQZU@,E@Qo$,E@@_Q_+E@G?Q܋+E@ɠ`vQZ,E@h0I`Q܋+E@ɠ`vQM@-E@ QA,E@ɠ`vQZ,E@G?Q܋+E@|@Q+E@Q+E@P Qg,E@0I`QZU@,E@%_Q:`,E@.QM@-E@QA,E@`Q+E@P Q:`,E@ %_Q:`,E@0I`QZU@,E@P Qg,E@Q+E@/Q?2,E@y MQ +E@QI,E@yQ Z,E@%_Q:`,E@hF?Q J+E@|@QI,E@ QI,E@y MQ +E@/Q?2,E@Q+E@|@Q+E@CQ7+E@g_Q J+E@F?Q|ߥ+E@OQo$,E@QI,E@Hg_Qy@*E@CQ7+E@g_Q J+E@CQ7+E@y Q_)+E@rQy@*E@zTߑQy@*E@g_Q J+E@pQ)E@m?CQ|ߥ+E@ g_Q J+E@zTߑQy@*E@rQy@*E@vQh*E@m?CQd)*E@ Q)E@VQ?_*E@QPL*E@q?wQ"+E@F?Q|ߥ+E@g_Q J+E@PvQd)*E@ߓQ_)+E@y Q_)+E@>]Q*E@ߓQ>En*E@m?CQd)*E@vQh*E@rQy@*E@y Q_)+E@ `y Q2p*E@@_Q+E@ |@Q+E@G?Q܋+E@@_Q_+E@'*Q2p*E@%Q"+E@>]Q*E@y Q_)+E@CQ7+E@|@Q+E@ X>]Q9n*E@'*Q"+E@>]Q*E@%Q"+E@'*Q2p*E@BHQ} u*E@{{ aQ9n*E@=`Qi&*E@ߓQ>En*E@>]Q*E@ hm?CQG)E@{{ aQ>En*E@ ߓQ>En*E@=`Qi&*E@{{ aQ9n*E@2-tQ?)E@L@Q"k)E@7QG)E@7Q?N)E@`'Qv)E@m?CQd)*E@ߓQ>En*E@ L_Q-'E@7QPL*E@QPL*E@VQ?_*E@ Q)E@m?CQd)*E@`'Qv)E@7Q?N)E@&XQ])E@>]Q,&)E@) Q-'E@QC'E@/"/Q(E@_ QNH(E@x=Q (E@Q`k-)E@QQe)E@Q@*)E@`YQh)E@~QK)E@L_Q@)E@>Q.=*E@7Q2p*E@QPL*E@ v"|QB%E@) Q@)E@L_Q@)E@~QK)E@`YQh)E@Q@*)E@QQe)E@Q`k-)E@x=Q (E@_ QNH(E@/"/Q(E@QC'E@) Q-'E@ Q]`&E@Q_%E@WQB%E@;Q@_&E@v"|QM7(E@Q (E@L_Q@)E@P) QzE@e4QaS`#E@'QaS`#E@Y Q8#E@>]QF#E@\fQ_d#E@/Q?@#E@ 8Q'_#E@u`Q.:?"E@f1Q* Q"E@'Q;?#"E@J`xQj!E@F+Q E@WQZ_ !E@SW jQz? E@baQT[ E@e4QzE@Ym_Q `RE@FMQ|@E@R0ZQNH E@9+߬Q&` E@Q E@WQT[ E@״yQ`' E@=Q E@ _Qߌ E@iMQ E@Q@ E@`'Q7!E@Q0!E@Y $Qp^!E@жAQQ` !E@N%@UQ`k-!E@FQ~G`D!E@a _Qp^!E@Y $Q\!E@6DQ~@G"E@r?1Q~@G"E@?_"Qߕ"E@) Q^_k"E@QaS`#E@Ym_Qo E@)K@Q `RE@Ym_Q `RE@e4QzE@`%Q`+E@mQd^E@)K@QgE@QE@QΏ_2E@?Qo E@POQ<LE@McQ"`IE@ـ]Q_mE@x=QqE@'xQq3E@Q&@E@bQ@_E@ Q?E@Ym_Q `RE@U#`MQE@gieQ&@E@)K@QgE@gieQv@%E@7_QM@E@`QZU@E@`%QgE@`%QE@:YQE@?_QZU@E@U#`MQmE@?Qi E@Q&@E@'xQq3E@x=QqE@ـ]Q_mE@McQ"`IE@POQ<LE@?Qo E@QΏ_2E@QE@)K@QgE@7QmE@Q&` E@WQT[ E@Q E@9+߬Q&` E@R0ZQNH E@FMQ|@E@Ym_Q `RE@ Q?E@bQ@_E@Q&@E@?Qi E@U#`MQmE@7Q}"E@=ZQ4E@Q @E@WQT[ E@ Q}"E@Qߕ"E@.Q.="E@->Q_D?^"E@AQ|`0"E@) Q^_k"E@?_"Qߕ"E@r?1Q~@G"E@6DQ~@G"E@Y $Q\!E@a _Qp^!E@FQ~G`D!E@N%@UQ`k-!E@жAQQ` !E@Y $Qp^!E@Q0!E@`'Q7!E@Q@ E@iMQ E@ _Qߌ E@=Q E@״yQ`' E@WQT[ E@Q @E@=ZQ4E@7Q}"E@`Q#?E@\sQKoE@ Q`k-!E@ Qv!E@j5HQ!E@3Q?!E@.Q.="E@, Q|`0"E@Qi &E@N@Q3@%E@:YQi &E@}"Q[%E@5Q$E@vQ$E@1CQ$E@6DQ?,$E@QaS`#E@) Q^_k"E@AQ|`0"E@->Q_D?^"E@.Q.="E@J`QF#E@5Q߁#E@, Q_#E@Ro?Q.#E@>TQ.#E@9 hQrZ @P$E@`+Q$E@WQޚ %E@->Q-`V%E@N@Q3@%E@ >Q#E@WQv %E@$Qq3%E@kQq3%E@W`QY.%E@9 hQv %E@LY2Q%E@N@Q3@%E@->Q-`V%E@WQޚ %E@`+Q$E@9 hQrZ @P$E@>TQ.#E@Ro?Q.#E@ >Q#E@$Qq3%E@_`Qx E@.Q.#E@ >Q#E@Ro?Q.#E@, Q_#E@5Q߁#E@J`QF#E@.Q.="E@3Q?!E@j5HQ!E@ Qv!E@ Q`k-!E@?QZ_ !E@1Q@l =!E@CQ`k-!E@%_Qz? E@E|Qx E@Q:!E@UQx E@_`Qj!E@UQ"E@dQaT#E@Q`C#E@Q_"E@Q.:?"E@h@WQ #E@ >Q#E@?EQj!E@$Q_}&E@]Q_}&E@ Q<L%E@\9Q`%E@$Qq3%E@ >Q#E@h@WQ #E@Q.:?"E@Q_"E@Q`C#E@dQaT#E@UQ"E@_`Qj!E@7^Qs|!E@lQ:!E@}6Q#!E@L_TQ "E@wnQYm_!E@?Qd)"E@QS@!E@]`QWJ "E@?EQ|`0"E@Q8Qؘp"E@!@Q6"E@Hf?Q8%E@]Q_}&E@]Q<L%E@:YQ$(E@DQO X(E@&@Q-(E@YQ||'E@&Q1'E@N=_Q!'E@߉Q &E@fB_QLv&E@:YQi &E@N@Q3@%E@LY2Q%E@9 hQv %E@W`QY.%E@kQq3%E@$Qq3%E@\9Q`%E@ Q<L%E@]Q_}&E@u@QDl(E@Q$(E@DQO X(E@Q_}&E@DQ,&)E@>]QZ_ )E@G?QO_(E@h@WQ,&)E@, QO_(E@W`Q7_(E@DQO X(E@Q$(E@u@QDl(E@]Q_}&E@¢@>Q 'E@gieQlK'E@XQH 'E@$Qhy'E@Q6D(E@%QC4*(E@QT[(E@>]QZ_ )E@1Q8%E@>]Q)E@Q6D(E@$Qhy'E@XQH 'E@gieQlK'E@¢@>Q 'E@]Q_}&E@Hf?Q8%E@ Q ;&E@L_TQY&E@.=Qj &E@@cQz&E@޲QXH'E@1Q$'E@U Qhy'E@{<Q|@'E@'Qh?U(E@Q (E@ Q&`(E@Q/ )E@} QG)E@?NQ)E@Q#)E@gieQs|)E@ 7Qv)E@>]QZ_ )E@QT[(E@%QC4*(E@Q6D(E@Q%E@@cQG)E@s_Q#(E@} QG)E@Q/ )E@ Q&`(E@Q (E@'Qh?U(E@{<Q|@'E@U Qhy'E@1Q$'E@޲QXH'E@@cQz&E@?Q%`&E@Qל%E@5Q%E@Q2&E@Q (E@s_Q#(E@5Q"E@Hf?Qz&E@5Q%E@Qל%E@?Q%`&E@@cQz&E@.=Qj &E@L_TQY&E@ Q ;&E@Hf?Q8%E@!@Q6"E@f1QF#E@]? Q.#E@״9QX/$E@״yQ|ߥ#E@Q J#E@>]Q"E@5Q%E@`->Q`E@?QX/$E@)>]Q"E@Q J#E@״yQ|ߥ#E@״9QX/$E@]? Q.#E@f1QF#E@!@Q6"E@Q8Qؘp"E@?EQ|`0"E@]`QWJ "E@QS@!E@?Qd)"E@wnQYm_!E@L_TQ "E@}6Q#!E@lQ:!E@7^Qs|!E@_`Qj!E@UQx E@Q:!E@E|Qx E@%_Qz? E@CQ`k-!E@1Q@l =!E@?QZ_ !E@`Q nE@QFE@Ym_Qa E@, GQ`E@x-Qt_E@VQnE@SW Q E@->Qz 7E@jQCwE@+?QE@)2QhE@QɸIE@]?JQE@Z_IQ^ E@eQv"E@>]Q"E@QE@x-QnE@9, GQ`E@QM7E@܋QE@)rQz`E@n QE@{Q_XE@?fQ4 E@v@eQ/ E@ETQl?E@rUQE@'_Q$\ @ E@_D?QjE@J`QeE@ Q[E@9Q `E@`kQj/E@jt?kQ6E@ `Qc E@tyQE@`, QF E@?Qn(`E@%QU; E@`Q TE@Qr/E@R0QyE@ Q5{@E@(QTE@жAQH!E@k_{Q"E@߇QvE@x߽Q6 @gE@QQ-`E@"MQ@?E@]Q E@@Q`zE@Q nE@ QE@?3QM)E@^YQ+E@C?QlE@QHE@:Q[E@WQpKTE@SW Q E@VQnE@x-Qt_E@, GQ`E@p`Q E@ `QE@;CQ"ME@E`JQ_E@ QE@Q nE@@Q`zE@]Q E@"MQ@?E@QQ-`E@x߽Q6 @gE@߇QvE@k_{Q"E@жAQH!E@(QTE@ Q5{@E@R0QyE@Qr/E@`Q TE@%QU; E@?Qn(`E@`, QF E@tyQE@ `Qc E@jt?kQ6E@`kQj/E@9Q `E@ Q[E@J`QeE@_D?QjE@'_Q$\ @ E@rUQE@>TQl?E@J`8Q }E@@cQRIE@MQ&6E@w`QQv E@2-4QǑ?E@9JQE@<-Qn(`{E@t_KQ|`E@!`SQLE@EE@3QC4*E@ _Qz?E@r?QB _[E@Q,E@[@Qv"<E@'x;R |Q>E@[@Q JE@ tQ JE@[@Qv"<E@Q,E@r?QB _[E@ _Qz?E@3QC4*E@Q>E@%Qz?E@AQQ` E@DQ(E@;R |QE@tQ JE@(`pKQ8XE@AQE@ AQQ` E@Q6DE@v Q_E@|`0QB?E@Q8XE@pKQP E@;R |QE@DQ(E@AQQ` E@) MQ E@%QQ` E@%Qz?E@0Q|@E@Qk_;E@(@QbE@3Q E@޲qQ E@zQǑ?E@zQ1E@@_Q1E@ MQ @iE@pKQP E@Q8XE@|`0QB?E@v Q_E@Q6DE@AQQ` E@%Qz?E@*3Q*E@%_Qk_;E@3Q E@(@QbE@Qk_;E@QuE@/QAE@ 7QRE@FQfE@@ Q8E@QxE@%_QfE@8Q(@2E@gQv 5E@\9QG`E@ QiME@tQ*E@tQ9_tE@QE@Q"ME@3Q E@+Y.SQiM E@uQv 5E@ygQE@2_RQTE@ QXE@uQ;?E@cvsQDsE@LY2QE@g_jQ@Ax E@y Q !ߐ E@?_3QiM E@?TQ+r E@t>FQG E@c7PQߢ E@Y.SQ ]E@cv3Q,nE@o`QvE@Q? $E@+?Q?E@'_QDE@tQ*E@ QiME@\9QG`E@gQv 5E@8Q(@2E@gQ/"/E@ygQE@,y QN=_hE@ՍjQ 1E@}"QyE@P?QsOE@VQ,)E@ՍjQ}" E@?QN E@x?Qk\ E@;QHE@9+lQN=_hE@y Q !ߐ E@g_jQ@Ax E@<Q E@1Q_X E@gQ$1 E@MQMEE@x? Q@E@GQ`E@ QeE@OdwQf E@5Qb?E@q?wQ 1E@}"QyE@-g_jQ@Ax E@q?wQ;?E@uQ;?E@@|QBE@VQ * `E@ـQPE@q?wQ 1E@5Qb?E@OdwQf E@ QeE@GQ`E@x? Q@E@MQMEE@gQ$1 E@1Q_X E@<Q E@g_jQ@Ax E@LY2QE@cvsQDsE@uQ;?E@.HygQfB_E@7_Q4 -E@&#iQ/E@! :Q"`IE@bQE@7_QaAE@} uQ> @E@ՍjQ DE@]`Q]]E@BP@Qi&E@Q06E@U Q E@FQfB_E@VQ * `E@@|QBE@uQ;?E@ QXE@2_RQTE@ygQE@PFQΏ_2E@"Q8E@"Qq?wE@Q\E@1Qq3E@Q`E@QYE@Q[Q+E@Q'bE@j5QE@QeZE@߇Q.E@IQH?DE@@_QלE@jt?Q4 -E@dQ?E@N@zQdE@~ QjE@.QF E@HfQ<E@#iQ/E@/HfQaAE@NHQsVE@HfQ<E@pQ^E@T QXE@ 2QMEE@BQh4E@t}hQ+?ZE@kQn E@QsVE@ QvE@NHQAE@҂$Qb`E@9+߬QE@7_QaAE@bQE@! :Q"`IE@#iQ/E@HfQ<E@0jt?QF E@Qv@%E@:YQE@`%QE@`%QgE@`QZU@E@7_QM@E@gieQv@%E@y@Q?E@QsVE@kQn E@t}hQ+?ZE@BQh4E@ 2QMEE@T QXE@pQ^E@HfQ<E@.QF E@~ QjE@N@zQdE@dQ?E@jt?Q4 -E@@QTE@^Q. EE@7^Q,dE@'xQaE@:YQE@1gieQ?E@ OQG!E@ IN`Q,&!E@.Qm?!E@aQZ_ !E@\Q( E@Q E@ _Q E@]lQ 1 E@c7PQ ` E@ OQ `E@r?QE@oQ-`VE@.Q{{ aE@ SQd)E@w`Qi&E@N=_QS@E@y@Q?E@gieQv@%E@Q]E@Qi E@iMQxE@Q?E@'_QE@QNH E@Qw@E@Q E@d`Q E@4TCQuE@UQ E@A:Q/ !E@/QG!E@QG!E@IN`Q,&!E@2c7PQuE@UQi&"E@F Qi&"E@qQQ` !E@2pQ`k-!E@A:Q/ !E@UQ E@4TCQuE@d`Q E@Q E@Qw@E@QNH E@]? Q% E@c7PQ`k-!E@"Q{n!E@Qh!E@\Q;!E@FMQqr`!E@F Qi&"E@3F Q/ !E@_Q"E@dQ"E@NHQWJ "E@_Q(@!E@IN`Q,&!E@QG!E@/QG!E@A:Q/ !E@2pQ`k-!E@qQQ` !E@F Qi&"E@(Q"E@QY "E@:YQW"E@dQ"E@4dQ `E@9 Q_#E@dQ[| q#E@?_Q"E@LY2Qh!E@9 Q,&!E@4TCQLA E@ OQ `E@c7PQ ` E@]lQ 1 E@ _Q E@Q E@\Q( E@aQZ_ !E@.Qm?!E@IN`Q,&!E@_Q(@!E@NHQWJ "E@dQ"E@ 7Q@"E@a Q9J"E@gQ3"E@cvsQD"E@+rQF#E@]lQWx#E@'Q_#E@Qh@W#E@dQ[| q#E@5h4TCQr E@Q)c_"E@ LY2Qh!E@Qv!E@\Q!E@VQ)c_"E@Q<6 E@,fQU E@Qr E@4TCQLA E@9 Q,&!E@LY2Qh!E@6pdQh!E@VQ9_t$E@ } uQ9_t$E@^;Q$E@~QU "E@VQ)c_"E@\Q!E@Qv!E@LY2Qh!E@?_Q"E@dQ[| q#E@ QrZ @P$E@} uQ9_t$E@7?_Q$E@8?;Q{'E@lQ{'E@5Q$'E@(@rQu'E@8?;Q( 'E@~G`DQd^%E@(@Qɸ$E@?Qo $E@ HQ$E@^;Q$E@} uQ9_t$E@9JQ $E@9+߬QO`f&E@U Q]`&E@?_Qc7'E@hQk_;'E@lQ{'E@8h(@QZU@$E@~Q1 (E@ %_Q_'E@%OQ1 (E@~QO`f&E@%Q_%E@ `[QZU@$E@(@Qɸ$E@~G`DQd^%E@8?;Q( 'E@0Qj 'E@%_Q_'E@9^;QU "E@%Q_%E@ Q"E@~QU "E@^;Q$E@ HQ$E@?Qo $E@(@Qɸ$E@ `[QZU@$E@%Q_%E@PQ_d#E@x=QPL"E@5{@SQf #E@'xQRo?"E@Q"E@:~Q<6 E@;R |QO`f&E@~QO`f&E@;R |Q|R&E@HfQ<$E@ xQ D"E@+Q(!E@@Q0aQ!E@`QT!E@Q<6 E@VQ)c_"E@~QU "E@Q"E@'xQRo?"E@5{@SQf #E@x=QPL"E@PQ_d#E@%Q_%E@~QO`f&E@;Q 8E@&@Q D"E@Q<6 E@`QT!E@@Q0aQ!E@+Q(!E@ xQ D"E@$QH!E@\x:Q״!E@p`)Q !E@&@Q{n!E@5Q:!E@?ѾQQ` !E@,Q7_ E@8XQ?b E@2_RQ`' E@߁Q;: E@ QeE@aAQ 8E@\xzQk_;E@6DQ`E@Q<6 E@< xQ[E@b Q<$E@0Qf E@;R |Q[E@_D?QS E@?uQu E@IN`Ql? E@,Q7_ E@?ѾQQ` !E@5Q:!E@&@Q{n!E@p`)Q !E@\x:Q״!E@$QH!E@ xQ D"E@HfQ<$E@b Q߁#E@Q"E@0Qf E@= Q48E@;R |Q7_ E@IN`Ql? E@?uQu E@_D?QS E@;R |Q[E@Q||E@w`ѽQ[E@gQlKE@qQE@̫QisE@_Q?YE@OQ_}E@Ro?Q48E@E[Q?E@Q!E@'*QAE@%Qk_;E@ſQ$\ @ E@ QeE@߁Q;: E@2_RQ`' E@8XQ?b E@,Q7_ E@IN`Ql? E@>qQ/"/E@Ro?QeE@\xzQk_;E@aAQ 8E@ QeE@ſQ$\ @ E@%Qk_;E@'*QAE@Q!E@E[Q?E@Ro?Q48E@&@QE@ҾQ9 (E@ƿQY.E@1`Qº_E@vQ }E@gQCE@qQ/"/E@?Q9 (E@QbE@baQ?E@_mQuE@ QtE@GQ!E@BP@Q?EE@\xzQk_;E@?($QtE@6DQ<6 E@ Qr E@,fQU E@Q<6 E@6DQ`E@\xzQk_;E@BP@Q?EE@GQ!E@ QtE@_mQuE@7QXHE@($Q E@ HQ6D E@Qr E@@.Qd)E@baQLA E@4TCQLA E@Qr E@ HQ6D E@($Q E@7QXHE@_mQuE@baQ?E@QbE@?Q9 (E@qQ/"/E@9&Qv@%E@!@Q @E@QVgE@?3Q>EnE@ߓQWE@#Q޲qE@r?1Q* QE@zQ|`0E@ SQd)E@.Q{{ aE@oQ-`VE@r?QE@ OQ `E@4TCQLA E@AQ/ E@C?Q }E@vQ }E@C?QE@IQ2pE@t_KQ.:?E@m?CQRo?E@5QE@<QPLE@mQ?_E@Z_IQ_)E@(@Q/ E@{Q} uE@]Q?_E@@#Qo`E@R0ZQRo?E@y@QE@QVgE@!@Q @E@9&Qv@%E@qQ/"/E@gQCE@vQ }E@BvQE@ѾQY.E@ƿQY.E@oQSW jE@uZQ:`E@P QumE@o Q<E@PQv 5E@7Q$\ @ E@}Q_E@ѾQE@oQ,E@7QE@3οQXF&E@C?QE@vQ }E@1`Qº_E@ƿQY.E@CxƿQE@YWQ9 (E@ ҾQ9 (E@YWQ$t`]E@ѾQE@}Q_E@7Q$\ @ E@PQv 5E@o Q<E@P QumE@uZQ:`E@oQSW jE@ƿQY.E@ҾQ9 (E@DxҾQrZ @PE@q3Q_}E@ ̫QisE@q3Q>E@Q[E@gQE@.QrZ @PE@YWQ$t`]E@ҾQ9 (E@&@QE@Ro?Q48E@OQ_}E@_Q?YE@̫QisE@Eh3οQqE@.Q$t`]E@ YWQ$t`]E@.QrZ @PE@($6QqE@ Q9nE@7Q_xE@3οQXF&E@7QE@oQ,E@ѾQE@YWQ$t`]E@F nQ@E@($6Q9nE@ ($6QqE@y@YQ;: E@\Q|@E@j5Q@E@ nQߕE@:YQ9 (E@@*Q6_E@1Q_E@Q>]E@C?ȿQ @iE@"Q#E@ Q9nE@($6QqE@G:YQ9 (E@ Q_xE@7Q_xE@ Q9nE@"Q#E@C?ȿQ @iE@Q>]E@1Q_E@@*Q6_E@:YQ9 (E@POQ$\ @ E@x=Qw@E@GQaAE@BP@Q{nE@D_PQ E@7Q_xE@H?3Qw@E@7QE@3οQXF&E@7Q_xE@D_PQ E@BP@Q{nE@GQaAE@x=Qw@E@6 @Qf E@-V QE@?3Q>EnE@QVgE@y@QE@R0ZQRo?E@@#Qo`E@]Q?_E@{Q} uE@(@Q/ E@Z_IQ_)E@mQ?_E@<QPLE@5QE@m?CQRo?E@t_KQ.:?E@IQ2pE@C?QE@3οQXF&E@Ir?1Q_XE@x=Q޲qE@r?1Q* QE@#Q޲qE@ߓQWE@?3Q>EnE@-V QE@6 @Qf E@x=Qw@E@POQ$\ @ E@QE@'_EQ_XE@~G`DQrrE@"QlYE@L_Qt>E@`Q;E@r?1Q* QE@Jy@QJE@"Q* QE@ SQd)E@zQ|`0E@r?1Q* QE@`Q;E@L_Qt>E@"QlYE@/Q:1E@&@QE@bQJE@ө 4QE@2_RQG' ]E@Q0 \E@ QvE@QsVE@y@Q?E@N=_QS@E@w`Qi&E@ SQd)E@KQaTE@POQ$\ @ E@Qcv3E@t>FQaTE@PQjE@:DQ'_E@@)Qy-E@QzTߑE@NHQAE@ QvE@Q0 \E@2_RQG' ]E@ө 4QE@bQJE@&@QE@/Q:1E@"QlYE@~G`DQrrE@'_EQ_XE@QE@POQ$\ @ E@:YQ9 (E@ nQߕE@wI?QpE@Qcv3E@Lpt>FQU+E@t}(QpE@ wI?QpE@ߓQXE@Q_WE@<-Q&@@E@t}(QC4*E@uQU+E@WQ^ E@WQܣE@t>FQaTE@Qcv3E@wI?QpE@MXwI?Q&@@E@j5QߕE@j5Q@E@?ѾQ?NE@<-Q&@@E@Q_WE@ߓQXE@wI?QpE@ nQߕE@j5Q@E@N`?ѾQ?NE@G' Q|@E@ v@%Q?E@G' Q@E@?Q@E@?ѾQ?NE@j5Q@E@\Q|@E@#@۽Q E@N=_Q4E@v@%Q?E@OXv@%Q@E@Ro?Q!E@Ro?Q!E@`5Q|%E@\x:QaTE@G' Q@E@v@%Q?E@`QE[E@.QE@Ro?Q!E@P\QE@@_ܺQ3E@QE@+?QE@@_ܺQE@Ro?Q!E@.QE@`QE[E@v@%Q?E@N=_Q4E@#@۽Q E@\Q|@E@y@YQ;: E@`+Q;: E@^Qs|E@qr`QE@w`ѽQ E@~fQ3E@ `[Q58_E@L`2Q@E@QE@Qy@YQ;: E@?_bQ)K@E@.QrZ @PE@->Q7E@ө 4Q)K@E@(QWVE@ZQzE@i_Q6 @gE@/̼Q# E@ർQaS`E@rռQKqE@ZļQ?@E@QPLE@ՍjQDE@?_bQME@QE@L`2Q@E@ `[Q58_E@~fQ3E@w`ѽQ E@qr`QE@^Qs|E@`+Q;: E@y@YQ;: E@($6QqE@.QrZ @PE@RrռQE@˄Q)K@E@{<>Q+rE@˄Q+/|E@@_ܺQE@+?QE@QE@?_bQME@ՍjQDE@QPLE@ZļQ?@E@rռQKqE@ർQaS`E@a Q! wE@C4*QE@t>Q)K@E@>]QE@_QжE@{<>Q+rE@S@.Q+/|E@ߕQt>E@%Qt>E@܋QAE@HQ LE@Q-`VE@"QZE@-V Qd_E@պQ E@ߕQDsE@˄Q+/|E@{<>Q+rE@_QжE@>]QE@t>Q)K@E@C4*QE@a Q! wE@ർQaS`E@/̼Q# E@i_Q6 @gE@ZQzE@(QWVE@ө 4Q)K@E@->Q7E@.QrZ @PE@gQE@Q[E@q3Q>E@`Q JE@<мQ48E@ɸɼQ_E@%Qd^E@IZQ"ME@r?QLY2E@+rQ?5E@܋Qr/E@t>ƻQ _E@ _ûQɠ`vE@Qt>E@TqQ"ME@+rQ?E@ngQ?E@Qt>E@ _ûQɠ`vE@t>ƻQ _E@܋Qr/E@+rQ?5E@r?QLY2E@IZQ"ME@%Qd^E@ɸɼQ_E@<мQ48E@`Q JE@q3Q>E@̫QisE@qQE@gQlKE@kzQtE@_Q$\ @ E@2Q?EE@ngQ?E@UgQtE@@ĹQ_%E@Q $E@~Q #E@@ĹQY:"E@Ym_5Q(!E@QH?!E@˺QG!E@E[๺Qz? E@Ym_Qd_S E@t>ƻQaE@ QvE@ngQ?E@2Q?EE@_Q$\ @ E@kzQtE@gQlKE@w`ѽQ[E@Q||E@;R |Q[E@0Qf E@Q"E@b Q߁#E@FQ+%E@`CQ_%E@Q $E@V@0Q%E@PQ!E@%nQԑ !E@"MδQ!E@^Q7!E@Q@!E@5WQ`k-!E@^;Q_ E@\xQD_ E@(ԲQ+ `o E@>]Q{ E@`, KQ E@FMQecE@gQE@x?`Q" E@ &Q~@E@l ,Q SeE@PQqEE@@QCE@} uQ`OE@m@NQT[E@7BQO`E@`OQ_E@״yQ,E@ xQ E@Q^E@Q%E@8صQ6DE@0Q|ߥE@( Q E@*ߵQ@)$E@1QwPE@҂dQ__E@XQS E@BQ~ U!E@~ յQ,d!E@. Q!E@9Que!E@nQԑ !E@W@FQ\!!E@nQz`'E@%BQm%E@_Q9J$E@S vQ>]A"E@m?CQ! w"E@9Q/"E@ȵQK"E@bQ"E@5QJJ5"E@nQԑ !E@9Que!E@. Q!E@~ յQ,d!E@BQ~ U!E@!`SQ !E@k߶Q\!!E@*hQ]`'!E@Qk!E@Q0("E@% #Qt#E@zTQQ,n#E@Q\##E@Y $QX"E@3NQR0"E@`Qњ7$E@L`2QW`$E@`, QJ`@%E@Q $E@`CQ_%E@FQ+%E@?QW&E@ŭQ= Z'E@`YQd$'E@Qz`'E@BxQz`'E@QC4*'E@ `Q@;&E@BQm%E@Xt>ƻQ3lWE@*ߵQJ`@%E@7Y $QX"E@Q\##E@zTQQ,n#E@% #Qt#E@Q0("E@Qk!E@*hQ]`'!E@k߶Q\!!E@!`SQ !E@BQ~ U!E@XQS E@҂dQ__E@1QwPE@*ߵQ@)$E@( Q E@ Q}"E@C?Ql?E@JQߌE@Q `RE@uڷQqE@!@!QN| E@QwPE@zQ˄,E@$QV `E@QZE@VQE@D_PQ3lWE@=Q`?rE@+QE@5{@SQE@eQdE@ߕQDsE@պQ E@-V Qd_E@"QZE@Q-`VE@HQ LE@܋QAE@Qt>E@ngQ?E@ QvE@t>ƻQaE@Ym_Qd_S E@E[๺Qz? E@˺QG!E@QH?!E@Ym_5Q(!E@@ĹQY:"E@~Q #E@Q $E@`, QJ`@%E@L`2QW`$E@`Qњ7$E@3NQR0"E@Y $QX"E@Y`5Q|%E@Q}"E@uڷQqE@Q `RE@JQߌE@C?Ql?E@ Q}"E@( Q E@0Q|ߥE@8صQ6DE@Q%E@!Qԑ E@d`QgE@QK2E@&@QNE@`5Q|%E@Ro?Q!E@@_ܺQE@˄Q+/|E@ߕQDsE@eQdE@5{@SQE@+QE@=Q`?rE@D_PQ3lWE@VQE@QZE@$QV `E@zQ˄,E@QwPE@!@!QN| E@uڷQqE@Zx+rջQ E@5ָQ?_E@ fQ6 gE@5ָQ7G6 E@F ɹQ E@dQh& E@\fQ$t`]E@ Q@_E@+rջQgieE@?_Q5E@Q<E@T[Q?_E@k_QKE@fQ6 gE@[h\x:QgieE@3QNE@ `5Q|%E@&@QNE@3QME@Qw@_E@T[Q?_E@Q<E@?_Q5E@+rջQgieE@\x:QaTE@`5Q|%E@\PQ@3 E@ztQr?E@'CQE@20Q{{ aE@`ϳQƕE@bQ_E@۳Q E@óQE@ɸQE?E@ztQHE@aQ`O E@سQe @ E@Q? E@T Qd_ E@(@Qd E@q3Q#  E@Qa  E@4TCQrZ @P E@_Q< E@jt?Q&6 E@޶Q8 E@4Qh@W E@hQ E@܋Q@3 E@Q=j E@5ָQ7G6 E@fQ6 gE@k_QKE@T[Q?_E@Qw@_E@3QME@@BQr?E@Q@E@,Q_E@2-QY E@B?dQL@E@7lQ7G6E@cvQW`E@@pQi E@+wQqE@CQE@]&@Q E@˄,QO_E@=fB_QO_E@ Q^E@˄,QE@ OQlE@eQ]E@r?Q"e?aE@ͰQm?E@`Q_OE@¢@>QFE@1Q E@uQE@ Qz`EE@SLQ,&E@qQ[E@9&Q?_3E@n!QE@aQE@[Q;E@IQK @E@QP?E@]`Q:E@ՍQu& 3E@c7бQeE@p`QVE@BȱQ_mE@QE@_ڱQE@_Q?E@d)QsOE@_}QEE@! zQE@R0Q9 (E@y@Qv  E@Q E@o`Q` E@Q E@p`)Q\E@PFQ%`E@ztQHE@ɸQE?E@óQE@۳Q E@bQ_E@`ϳQƕE@20Q{{ aE@CQE@+wQqE@@pQi E@cvQW`E@7lQ7G6E@B?dQL@E@2-QY E@,Q_E@Q@E@@BQr?E@3QME@&@QNE@QK2E@d`QgE@!Qԑ E@fB_QO_E@^!Q% E@?ǭQ E@.Q%E@Q^E@ xQ E@״yQ,E@`OQ_E@7BQO`E@m@NQT[E@} uQ`OE@@QCE@PQqEE@l ,Q SeE@ &Q~@E@x?`Q" E@gQE@FMQecE@OQE@ߓQ ?E@cQΏ_E@rQ E@Q E@x? Q˄, E@3Q) E@%_Q$E@Q:E@ ]Q DE@.Qy*E@?ǭQs AE@?ǭQG' E@+?ڭQ `E@)K@Q/"E@ˮQ06E@?Q,E@Q^mE@FQ9+lE@3!QoXE@8|Q jE@!Q8?{E@N@:Q?_"E@zoQ E@iMQ% E@LYrQ$1E@S 6Q|`E@ Q^E@fB_QO_E@!Qԑ E@Q%E@_` QL@E@?sQ^mE@)8|Q jE@3!QoXE@FQ9+lE@Q^mE@?Q,E@ˮQ06E@)K@Q/"E@+?ڭQ `E@?ǭQG' E@?ǭQLE@v"Q0(E@WQE@?ǭQsVE@?sQU 0E@ QL@E@Q E@SQsOE@isQN E@`QE@Q&`AE@y MQ`E@?QwE@,QrE@C­Q2pE@L_QX@E@YQU-E@aQE@xQo`E@F+QhE@gQuE@PƯQE@QuE@˄,QE@ Q^E@S 6Q|`E@LYrQ$1E@iMQ% E@zoQ E@N@:Q?_"E@!Q8?{E@8|Q jE@``qQ E@6 @gQU-E@I˄,QE@QuE@PƯQE@gQuE@F+QhE@xQo`E@aQE@YQU-E@L_QX@E@C­Q2pE@,QrE@?QwE@y MQ`E@Q&`AE@`QE@isQN E@SQsOE@Q E@ QL@E@YQsOE@6 @gQ?E@wI?QwE@isQ_E@?Q#RE@U#`Q&E@ZQZ E@_QY  E@3Qh?U E@t>Q>En E@?QM E@%0Q j E@+7QE> E@ڧ@lQ?f E@]QIN E@YQ @ E@׬Q@* E@@Q  E@55Qy' E@ߛQh E@GQk E@CQsVY E@B?$Q" ' E@(@IQ E@C?Qq E@!`ӰQv@% E@ o_Qi E@F?Q E@Q_}E@7_Q^ wE@QE@BȱQ_mE@p`QVE@c7бQeE@ՍQu& 3E@]`Q:E@QP?E@IQK @E@[Q;E@aQE@n!QE@9&Q?_3E@qQ[E@SLQ,&E@ Qz`EE@uQE@1Q E@¢@>QFE@`Q_OE@ͰQm?E@r?Q"e?aE@eQ]E@ OQlE@˄,QE@ah(@IQp^E@بQU 0E@*` E@%0Q j E@?QM E@t>Q>En E@3Qh?U E@_QY  E@ZQZ E@U#`Q&E@?Q#RE@isQ_E@wI?QwE@6 @gQ?E@YQsOE@ QL@E@?sQU 0E@K2bQ E@'_Q(g E@بQo$߄ E@`HQng E@y MQ)c_ E@-VߋQ T E@Q@K E@pKQF E@e4QE@`tQ E@eQp^E@`Q.=*E@=ZQ,*E@WQ@*E@QF+E@} Q8?{+E@jt?Q ~+E@S@(Qt+E@HQ7+E@Q_+E@baQg+E@0Qж,E@G' QF,E@OQo$,E@F?Q|ߥ+E@q?wQ"+E@jqr`Qж,E@g_Q -E@F?Q#?-E@g_QΏ_2-E@Q L ,E@OQZU@,E@`, Q,E@G' QF,E@0Qж,E@bQg,E@QY?,E@lQDsL,E@qr`Q0,E@j5Q/ ,E@Qd_,E@pQ_-E@QΏ_2-E@fB_Q -E@QME-E@F?Q#?-E@kpG' Qo$,E@.QΏ_2-E@ yQ Z,E@QI,E@OQo$,E@G' QF,E@`, Q,E@OQZU@,E@Q L ,E@g_QΏ_2-E@.QM@-E@%_Q:`,E@yQ Z,E@lQ,E@kQ 8/E@QME-E@ QǑ?-E@vQd^-E@NQY.E@hQ|R.E@T[QDy.E@IN`Q 8/E@ngQ$/E@BQ.E@4TQ6 @-E@Qq3-E@"Qޚ -E@$Q,E@kQ,E@ɠ`vQZ,E@QA,E@.QM@-E@g_QΏ_2-E@F?Q#?-E@QME-E@mp$Q! w,E@gQS-E@ Qޚ -E@naQv@%-E@QS-E@->Q,E@gQ! w,E@~Qi_,E@kQZU@,E@kQ,E@$Q,E@"Qޚ -E@ Qޚ -E@nkQVg+E@N=_QZU@,E@ kQZU@,E@~Qi_,E@gQ! w,E@N=_Qum,E@l?Qd,E@^QF,E@xQ$t`],E@ Qo$,E@]Qж,E@($Q+E@ LQVg+E@Qo$,E@kQZU@,E@o LQf*E@x?`Qum,E@x?`Q[@+E@'xQ_+E@(Qf*E@v )Q7G6+E@Q{{ a+E@qQiM+E@ LQVg+E@($Q+E@]Qж,E@ Qo$,E@xQ$t`],E@^QF,E@l?Qd,E@N=_Qum,E@kzQaS`+E@x?`Q[@+E@pPN=_Q[@+E@@*Qi_,E@N=_Qum,E@Qi_,E@L`rQF,E@@*Qb ,E@x?`Q[@+E@kzQaS`+E@N=_Qum,E@qX->Qum,E@m@Q\-E@Q L ,E@Qi_,E@N=_Qum,E@gQ! w,E@->Q,E@yQ\-E@m@Qm,E@Q L ,E@rPQ,E@yQל-E@ZQq?w-E@yQ\-E@->Q,E@QS-E@s_Qל-E@,Qis-E@ZQq?w-E@shs_Qis-E@4QE.E@ lQz?4.E@ՍQi .E@ 7Q%`.E@4QB-E@|Q"M-E@ZQq?w-E@,Qis-E@s_Qל-E@$QE.E@lQz?4.E@t@ՍQi .E@ 7Q ;.E@lQz?4.E@ 7Q ;.E@ 7Q%`.E@ՍQi .E@lQz?4.E@u$QB-E@qQk_;/E@.Q 8/E@|@Q?.E@qQL@.E@[@Qis.E@~ Q<.E@y QY.-E@4QB-E@ 7Q%`.E@ 7Q ;.E@lQz?4.E@$QE.E@YQk_;/E@?_"Q 8/E@.Q 8/E@vPQz`.E@״yQ$/E@QE[.E@=`Q$/E@״yQ$\ @ /E@{Q?.E@=`Q4.E@WQz`.E@QE[.E@wP|@Q \.E@=`QE[.E@|@Q?.E@QE[.E@WQz`.E@=`Q4.E@ߨQ \.E@qQL@.E@|@Q?.E@xXt}(Q 8/E@U#`Q#5;0E@aQ@0E@CQ#5;0E@>]Qn/E@gQB?/E@U#`QKo/E@.Q 8/E@t}(Q/E@aQ@0E@yPCQn/E@]lQ 0E@CQ#5;0E@Q?b0E@CQ¢@>0E@ngQ 0E@]lQ+ `o0E@>]Qn/E@CQ#5;0E@z`\x:QS /E@3Q&`0E@ t>Q&`0E@gQU0E@3Qx0E@Q?b0E@CQ#5;0E@aQ@0E@N%@QS /E@\x:QO X0E@t>Q&`0E@{xm@Q 8/E@.Q0E@ m@Q0E@`tQߌ0E@\x:QO X0E@N%@QS /E@aQ@0E@t}(Q/E@.Q 8/E@?_"Q 8/E@SQ( /E@m@QK/E@IN`lQK @/E@m@Q0E@|P`tQO X0E@t>QLA 0E@`tQߌ0E@`Q%0E@r?1Qߌ0E@Y $QLA 0E@t>Q&`0E@\x:QO X0E@`tQߌ0E@}hө 4QK/E@IN`lQ u1E@ ө 4Q`0E@s_Q u1E@ߺQ,&1E@m@Q0E@IN`lQK @/E@m@QK/E@BP@Q @/E@U;Qy0E@0Q&`0E@ө 4Q`0E@~s_Qߌ0E@OQ_ 2E@`Q;?#2E@?Q 2E@XQ_ 2E@zTߑQv1E@Q&`0E@Y $QLA 0E@r?1Qߌ0E@`Q%0E@`tQߌ0E@m@Q0E@ߺQ,&1E@s_Q u1E@`Q;?#2E@hP?Qq0E@@#Q0aQ1E@ QZ_ 1E@o`Q0aQ1E@9Q 0E@ *Qܣ0E@@#QI 0E@4TCQu0E@* QQ) 0E@Qu0E@P?Qq0E@QZ_ 1E@pQ_/E@S@Q) 0E@ Qu0E@* QQ) 0E@4TCQu0E@Qx0E@S@Qh0E@bQaA0E@8Q*N0E@L_TQ#0E@dQ$ /E@ Q_/E@Qu0E@h],Q]`.E@9Qu0E@ Qu0E@ Q_/E@QKo/E@U Q%O/E@9QU+/E@o`Q]`.E@],QL@/E@]? Q/E@P?Qq0E@Qu0E@XU Qb.E@4TCQKo/E@hQA/E@4TCQ$/E@9fQb.E@jQf.E@9QU+/E@U Q%O/E@QKo/E@hQA/E@XQA/E@}6Q$ /E@ Q_/E@dQ$ /E@r?Q+/E@! :Qng/E@}6Q_/E@hQA/E@QKo/E@ Q_/E@@dQ+/E@҂$Q#0E@dQ$ /E@L_TQ#0E@҂$Q S/E@r?Q+/E@dQ$ /E@`L_TQng/E@Y.Qh0E@ S@Qh0E@Y.Qt_K0E@! :Qng/E@r?Q+/E@҂$Q S/E@L_TQ#0E@8Q*N0E@bQaA0E@S@Qh0E@o`Qt_K0E@,fQ`?r1E@o`Q0aQ1E@>Q-@71E@SQ,&1E@q?wQ`?r1E@hQP1E@(@Qm@0E@'xQ@0E@,fQy0E@bQ@0E@Y.Qt_K0E@S@Qh0E@Qx0E@4TCQu0E@@#QI 0E@ *Qܣ0E@9Q 0E@o`Q0aQ1E@(@Q o0E@7_Q2E@eQ2E@GQ2E@) Q2E@Q2E@7_Q(@1E@Q"k1E@QK1E@.QH0E@L@Q_0E@Q o0E@Q0E@,fQy0E@'xQ@0E@(@Qm@0E@hQP1E@q?wQ`?r1E@+Q/ 1E@PQ2E@eQ2E@.QAQ0E@$Q+3E@) Q2E@E|Q2E@+?Q+3E@+Q62E@ QIN2E@J`@Q D2E@$Q1E@d`BQ 1E@܋Q-@71E@Q&`0E@mQgie0E@0I`QAQ0E@L@Q_0E@.QH0E@QK1E@Q"k1E@7_Q(@1E@Q2E@) Q2E@o`QaS`+E@Z&Q0E@L@Q_0E@0I`QAQ0E@vQN/E@Q!&߾.E@˄,Qy.E@Z&Qh&L.E@=QI.E@Ro?}Qo ?-E@%Q -E@J`xQ$t`+E@EQaS`+E@@Q.E@o`Q]`.E@9QU+/E@jQf.E@9fQb.E@4TCQ$/E@F+Qc7/E@qQU/E@}6Q_/E@! :Qng/E@Y.Qt_K0E@bQ@0E@,fQy0E@Q0E@Q o0E@L@Q_0E@xF+Q7 *E@J`xQ$t`+E@ EQaS`+E@J`xQ$t`+E@1Qc7+E@ŭQD_P*E@% Q6_*E@Ս*Q7 *E@F+Q3*E@ QM*E@9 QD*E@FQ6*E@"QD_+E@EQaS`+E@pFMQC?*E@FQ6*E@ FQ6*E@9 QD*E@ QM*E@F+Q3*E@Ս*Q7 *E@g9QC?*E@IQ(@ *E@FMQ.:?*E@F+Q.:?*E@..Q6*E@FQ6*E@h} Q(@ *E@F+Q6*E@ ..Q6*E@F+Q.:?*E@FMQ.:?*E@IQ(@ *E@kQb *E@IN`lQ]`'*E@@pQ!*E@޲Qy@*E@} Qb`*E@..Q6*E@X?Q]`'*E@IN`lQb`*E@?_Qb`*E@} Qb`*E@޲Qy@*E@@pQ!*E@IN`lQ]`'*E@2_Q.=*E@?Q2p*E@?_Qb`*E@p,Qb`*E@FQX/,E@ ,QE?+E@Qh@W+E@ QWx+E@'QX/,E@ZQ9+E@"QD_+E@FQ6*E@..Q6*E@} Qb`*E@?_Qb`*E@,QE?+E@\fQE?+E@EQ.E@4Q\-E@@Q.E@EQaS`+E@"QD_+E@ZQ9+E@'QX/,E@ QWx+E@Qh@W+E@,QE?+E@JQ]+E@\fQ8?{+E@Q Z,E@_Q,E@4Q\-E@P Q'_+E@JQiM+E@\fQ8?{+E@JQ]+E@\fQ/+E@v"|Q'_+E@ Q`C+E@ ~QiM+E@\fQ8?{+E@`%_Q>En*E@JQ`C+E@ %_Q?@+E@ Q`C+E@v"|Q'_+E@\fQ/+E@JQ +E@oQ2p*E@c7PQy@*E@oQ>En*E@%_Q?@+E@`oQy@*E@?_Q]+E@ \fQ/+E@JQ]+E@,QE?+E@?_Qb`*E@?Q2p*E@c7PQy@*E@oQ2p*E@JQ +E@\fQ/+E@HoQ*E@2_Q2p*E@c7PQy@*E@?Q2p*E@2_Q.=*E@gQ*E@oQ>En*E@c7PQy@*E@@. QYm_)E@gQ>En*E@. Q|`0*E@oQ>En*E@gQ*E@ QYm_)E@. Q|`0*E@PQ|`0*E@oQ?@+E@IQ^{*E@Q+E@%_Q?@+E@oQ>En*E@. Q|`0*E@Q* Q*E@IQ^{*E@2Q^{*E@Q,E@_Q,E@Q Z,E@\fQ8?{+E@ ~QiM+E@ Q`C+E@%_Q?@+E@Q+E@IQ^{*E@z/Qe*E@2Q/+E@C?Q.+E@[@Q+E@w@Qa ,E@D_QD `,E@_Q,E@Pڧ@lQ Z,E@܋Qk\ -E@ڧ@lQz,E@IQ0,E@$t`]Qk\ -E@܋Q,E@[@Qi_,E@N%@Q Z,E@ڧ@lQz,E@BQ0I`+E@IQ"M-E@ZQq?w-E@|Q"M-E@$t`]Qk\ -E@IQ0,E@ڧ@lQz,E@`Q˄,,E@Q0I`+E@BP@QT~`9,E@BQ%,E@yQ0,E@Q L ,E@m@Qm,E@yQ\-E@ZQq?w-E@``Qv"<+E@1CQ˄,,E@ `Q˄,,E@1CQж,E@zTߑQ+r+E@yQ7+E@?Qt+E@_Qv"<+E@`Q=`+E@Q0I`+E@`Q˄,,E@XG' Q=`+E@QT~`9,E@BQ%,E@BP@QT~`9,E@Q0I`+E@`Q=`+E@G' Q+E@Q+E@<Q,E@BQ%,E@X@*Q+E@yQ0,E@yQ0,E@BQ%,E@<Q,E@Q+E@@*Qb ,E@0QՍj,E@?Q,E@yQ0,E@X'xQ J+E@`Qb ,E@Q+E@G' Q+E@`Q=`+E@Z_IQ J+E@'xQ_+E@x?`Q[@+E@@*Qb ,E@Q+E@@Z_IQ*E@_Q=`+E@`Q=`+E@_Qv"<+E@Q*E@Z_IQ J+E@`Q=`+E@Q(@*E@C?Q>+E@C?Q.+E@2Q/+E@z/Qe*E@sQ(*E@Q(@*E@EQ*E@/Q*E@tQ*E@Q_*E@Q*E@_Qv"<+E@ߞQ*E@kQ$"+E@y Q>+E@C?Q.+E@xRo?QB _[)E@IQ(*E@ /Q*E@EQ*E@Q(@*E@sQ(*E@z/Qe*E@IQ^{*E@Q* Q*E@$t`]QB _[)E@Qv)E@_Q*E@Ro?QlY*E@/Q*E@p}"Q?N)E@Q*E@ _Q*E@Qv)E@%Q\)E@Q(@)E@<QB _[)E@eQ u)E@Q?N)E@}"Q'x)E@QR)E@Q)E@_Q*E@`cQ'x)E@_QlY*E@ Ro?QlY*E@_Q*E@Q)E@QR)E@}"Q'x)E@7^Q#)E@cQwI? *E@G' Q9n*E@Ro?QlY*E@X($QM*E@Q J+E@Z_IQ J+E@Q*E@ـ]QM*E@kzQM*E@HpQj *E@;Q0*E@($Q-`*E@Z_IQ J+E@G' Q.)E@ـ]Q4_*E@ G' Qv i*E@7Q4_*E@Q;*E@;Q0*E@HpQj *E@kzQM*E@ـ]QM*E@cQwI? *E@ـQ.)E@Q}6*E@_Q9J*E@Q||*E@G' Qv i*E@X, Q^_k*E@>Qf*E@iQf*E@3!QD*E@LY2Q; *E@>Q\!*E@'Q^_k*E@d`BQ} u*E@, Qy@*E@iQf*E@`jQWJ *E@d`BQ*E@ QxQ*E@iQf*E@, Qy@*E@d`BQ} u*E@naQWJ *E@'_QsZ*E@jQ*E@&@Q*E@QxQ*E@BHQ)E@naQ_+E@ @_Q_+E@QxQ*E@&@Q*E@jQ*E@'_QsZ*E@naQWJ *E@9 hQ)E@OQ,*E@ QW*E@ QZU@*E@BHQ} u*E@'*Q2p*E@@_Q_+E@2-tQX)E@9 hQZU@*E@ {{ aQ9n*E@BHQ} u*E@ QZU@*E@ QW*E@OQ,*E@9 hQ)E@isQH?)E@?Q()E@{{ !Q*E@7G6QX)E@gQe)E@2-tQ?)E@{{ aQ9n*E@X]? Q@l =)E@_D?^Q()E@?Q()E@isQH?)E@_D?^Q(@)E@kQD_P)E@Q@l =)E@Q@l =)E@]? Qp^)E@?Q()E@Q$ 'E@l?QW)E@ _D?^Q(@)E@?NQW)E@($6Q58_)E@&Qp^)E@҂$Q0)E@l?Q/ )E@@Q (E@qQT[(E@_D?Qn(E@3Q$ 'E@Q@(E@kQD_P)E@_D?^Q(@)E@isQp^)E@_Q||*E@'Q^_k*E@G' Qv i*E@Q||*E@_Q9J*E@Q}6*E@̫Q#)E@qQp^)E@&Qp^)E@($6Q58_)E@?NQW)E@_D?^Q(@)E@isQH?)E@9 hQ)E@naQWJ *E@d`BQ} u*E@'Q^_k*E@p@QT[(E@->Q#)E@ ̫Q#)E@->Q'x)E@Q:)E@w`Q(E@qQT[(E@@Q (E@l?Q/ )E@҂$Q0)E@&Qp^)E@qQp^)E@̫Q#)E@@̫Q'x)E@ـQ}6*E@Q}6*E@ـQ.)E@->Q'x)E@̫Q#)E@Q}6*E@XQ%(E@[GQwI? *E@ـQ.)E@cQwI? *E@7^Q#)E@[GQ%(E@w`Q(E@Q:)E@->Q'x)E@ـQ.)E@`7^QaA(E@Q#)E@ 7^Q#)E@}"Q'x)E@Q?N)E@QO_(E@QG(E@BQaA(E@fB_VQu(E@[GQ%(E@7^Q#)E@`_D?QB?'E@[GQ(E@ w`Q(E@[GQ%(E@fB_VQu(E@(Q (E@CQn(E@xQB?'E@_D?Qn(E@qQT[(E@w`Q(E@PCQ_'E@BQ (E@fB_VQu(E@BQaA(E@[GQC'E@ SQ_'E@CQn(E@(Q (E@fB_VQu(E@HxQt'E@ SQn(E@xQB?'E@CQn(E@ SQ_'E@ـ]Qhy'E@5uQt'E@xQB?'E@`(@Qx%E@ Qhy'E@ 5uQt'E@ـ]Qhy'E@ Qb&E@!`Q($%E@/"/Qx%E@x=Q_B&E@ `[Q48&E@(@Q?&E@5uQt'E@Xـ]Qb&E@i_QC'E@ SQ_'E@[GQC'E@eQ\'E@i_Qva__'E@mQ 'E@ Qb&E@ـ]Qhy'E@ SQ_'E@X[GQ\'E@1QaA(E@OdQN'E@1Q`'E@ZQ'E@i_Qva__'E@eQ\'E@[GQC'E@BQaA(E@OdQN'E@XBQN'E@yQU(E@QG(E@QU(E@BP@Q (E@OdQ1 (E@yQ1 (E@OdQN'E@BQaA(E@QG(E@XQ (E@YQj)E@QO_(E@0Qj)E@YQm@(E@@Q`(E@BP@Q (E@QU(E@QG(E@QO_(E@pQO_(E@$t`]Qv)E@ Qv)E@$t`]QB _[)E@gieQ:)E@0Qj)E@QO_(E@Q?N)E@eQ u)E@<QB _[)E@Q(@)E@%Q\)E@Qv)E@h$t`]QU(E@7Q* Q*E@ Q* Q*E@. Q|`0*E@ QYm_)E@ QH?)E@7QU(E@3QU(E@gQO_(E@Y?Q:)E@$t`]QB _[)E@Q* Q*E@@ QU(E@_QH?)E@ QH?)E@_dQQ` )E@_Q (E@7QU(E@ QH?)E@Q}&E@hQQ` )E@]?JQ%`)E@Q `(E@޲Q`'E@hQk_;'E@?_Qc7'E@U Q]`&E@,Q &E@(@2Q}&E@=Q?&E@ _Qva__'E@QL@'E@|@Qm?(E@ nQ`'E@_Q (E@_dQQ` )E@]?JQ%`)E@P.Q`'E@_Q (E@_Q (E@ nQ`'E@|@Qm?(E@.QaA(E@3QU(E@7QU(E@_Q (E@hXQ$ 'E@|@QO_(E@ gQO_(E@3QU(E@.QaA(E@|@Qm?(E@`Q `(E@Y Q$ 'E@C4*Q6D(E@XQaA(E@4Q (E@gQO_(E@X0Q (E@gQB _[)E@0Qj)E@gieQ:)E@$t`]QB _[)E@Y?Q:)E@gQO_(E@4Q (E@YQm@(E@0Qj)E@hOdQ`'E@4Qm@(E@ BP@Q (E@@Q`(E@YQm@(E@4Q (E@XQaA(E@1Q`'E@OdQN'E@yQ1 (E@OdQ1 (E@BP@Q (E@`1Q @i'E@|@Q6D(E@ XQaA(E@C4*Q6D(E@Y Q$ 'E@`Q `(E@|@Qm?(E@QL@'E@2Q @i'E@1Q`'E@XQaA(E@xIQ?&E@=QL@'E@ QL@'E@ _Qva__'E@=Q?&E@&XQ4&E@iMQ?&E@`Q4&E@[@Qc7'E@t}(Q7 'E@t}(Q?&E@IQE>'E@2Q @i'E@QL@'E@`Qj &E@`QE>'E@ Q?&E@IQE>'E@t}(Q?&E@t}(Q7 'E@[@Qc7'E@`Q4&E@IZQj &E@Q&E@Q?&E@XmQ?&E@2Q`'E@1Q`'E@2Q @i'E@IQE>'E@Q?&E@mQ 'E@i_Qva__'E@ZQ'E@1Q`'E@`!`Q%E@Q 'E@ Q?&E@Q&E@yQ\&E@T QsO&E@0Q%E@!`Q($%E@ Qb&E@mQ 'E@Q?&E@hT Q]%E@iMQ&E@ `Q4&E@iMQ?&E@.Qi&E@) Q]%E@0Q%E@T QsO&E@yQ\&E@Q&E@IZQj &E@`Q4&E@C?Q-`V%E@9+߬Q?&E@=Q?&E@(@2Q}&E@,Q &E@U Q]`&E@9+߬QO`f&E@Q`+&E@DQ%E@`CQ }%E@K2bQS߮%E@C?Q-`V%E@ _Q }%E@.Qi&E@iMQ?&E@&XQ4&E@=Q?&E@@) Qv@%%E@.Qi&E@.Qi&E@ _Q }%E@Qv@%%E@) Q]%E@.Qi&E@H!`Qv@%%E@Q($%E@0Q%E@) Q]%E@Qv@%%E@[Q\%E@!`Q($%E@0Q%E@xCQ\%E@[Q?&E@ !`Q($%E@[Q\%E@gQ3@%E@Qz%E@CQS߮%E@^Q%`&E@lQ`+&E@(@Q?&E@ `[Q48&E@x=Q_B&E@/"/Qx%E@!`Q($%E@`_ Q$t`]$E@[Q3@%E@ Qz%E@gQ3@%E@[Q\%E@IQ %E@Q$E@3Q?$E@@)Q$t`]$E@_ Qh&$E@Qz%E@@@)Q#E@Q$E@@)Q$t`]$E@3Q?$E@Q$E@Q#E@@)Q$t`]$E@XQ|ߥ#E@Q %E@IQ %E@ZQDsL$E@Qh#E@2Q|ߥ#E@v@%Q #E@Q#E@Q$E@IQ %E@`2Q @#E@gi%Q$E@ ZQDsL$E@Q6 @g$E@~ Q:$E@gi%Q$E@жAQ ?#E@Q @#E@2Q|ߥ#E@Qh#E@ZQDsL$E@pIQDsL$E@ _Q }%E@ _Q }%E@C?Q-`V%E@a Q)K@$E@gi%Q$E@~ Q:$E@Q6 @g$E@ZQDsL$E@IQ %E@[Q\%E@Qv@%%E@ _Q }%E@a QrZ @P$E@9JQO`f&E@C?Q-`V%E@K2bQS߮%E@`CQ }%E@DQ%E@Q`+&E@9+߬QO`f&E@9JQ $E@} uQ9_t$E@ QrZ @P$E@9+Qx1 $E@"Q$E@2_RQ[%E@G?Q$E@Q$E@a Q)K@$E@C?Q-`V%E@Qh@W#E@ Q[%E@2_RQ[%E@"Q$E@9+Qx1 $E@ QrZ @P$E@dQ[| q#E@Qh@W#E@'Q_#E@]lQWx#E@߁Q#E@Q#E@Q$E@+rQI$E@G?Q$E@2_RQ[%E@dQ3"E@]lQ$E@G?Q$E@+rQI$E@Q$E@Q#E@߁Q#E@]lQWx#E@+rQF#E@cvsQD"E@gQ3"E@a Q9J"E@ 7Q@"E@dQ"E@жAQ ?#E@gi%Q$E@a Q)K@$E@Q$E@G?Q$E@pQW"E@жAQ ?#E@ 2Q|ߥ#E@Q @#E@жAQ ?#E@dQ"E@:YQW"E@QY "E@ Q"E@Q@3#E@QWx#E@v@%Q #E@2Q|ߥ#E@`Qqr`!E@Q# $E@YWQж$E@FMQ[| q#E@qQ,#E@qQf"E@Q#E@v@%Q #E@QWx#E@Q@3#E@ Q"E@QY "E@(Q"E@F Qi&"E@FMQqr`!E@J`Q^{"E@]`QU "E@5Q2p"E@`Q#E@˄Q+r#E@Q#E@wnQ# $E@YWQж$E@`wnQf"E@Qh&$E@ Q#E@qQf"E@qQ,#E@FMQ[| q#E@YWQж$E@wnQ# $E@_ Qh&$E@@)Q$t`]$E@Q#E@\9Q# $E@5uQn(E@?Q$E@ MQ }%E@8|Q$E@ Q}"%E@.Q-`V%E@\9QZ$E@mQº_%E@=`_QsO&E@c7PQ?&E@Q &E@_Qt}('E@'xQ.'E@3Q$ 'E@_D?Qn(E@xQB?'E@5uQt'E@(@Q?&E@lQ`+&E@^Q%`&E@CQS߮%E@Qz%E@_ Qh&$E@wnQ# $E@, Q7$E@?Q$E@hQ#E@wnQ7$E@wnQ# $E@Q#E@˄Q+r#E@`Q#E@8|Q7#E@oQ8?{#E@|@QVg#E@Q`C#E@hQ #E@Q#E@ Qg$E@2_RQC?$E@, Q7$E@wnQ# $E@X QC?$E@, Q }%E@ Q}"%E@8|Q$E@ MQ }%E@?Q$E@, Q7$E@2_RQC?$E@ Qg$E@ Q}"%E@g_Q"E@ Q-`V%E@Q#E@hQ #E@|@Q #E@)Q+#E@C?Q"E@¢@>Q2_#E@dQÊ "E@g_QVg#E@ Q6 @g$E@I1QG`$E@`'Qh&$E@\9QZ$E@.Q-`V%E@ Q}"%E@ Qg$E@Q#E@;R |Q@3#E@ Qh&$E@;R |Q$E@5Q$E@1Q$E@N%@UQo $E@\x:Q0$E@`'Qh&$E@I1QG`$E@ Q6 @g$E@g_QVg#E@m@Q+r#E@`, Q@3#E@x=Q>#E@(@rQT~`9$E@;R |Q$E@Q$E@Q]`&E@VQ`+&E@ OQ %E@Q?%E@mQº_%E@\9QZ$E@`'Qh&$E@\x:Q0$E@N%@UQo $E@1Q$E@5Q$E@;R |Q$E@kzQJJߵ$E@<LQ$E@Qz%E@Q_%E@ Q]`&E@ 7Qi&E@VQ`+&E@ Qº_%E@c7PQ])E@7QG)E@B?Qj)E@L@Qm?)E@Q?b(E@h@WQ(E@gQE>'E@c7PQ?&E@=`_QsO&E@mQº_%E@Q?%E@ OQ %E@VQ`+&E@ 7Qi&E@ Q]`&E@) Q-'E@>]Q,&)E@&XQ])E@7Q?N)E@7QG)E@`gQ &E@y@Q'E@ gQE>'E@,QlK'E@u`QU+'E@@Q'E@y@Q('E@_Qt}('E@Q &E@c7PQ?&E@gQE>'E@X@Qt}('E@3Q@(E@o Qx(E@Q@(E@3Q$ 'E@'xQ.'E@_Qt}('E@y@Q('E@@Q'E@o Qx(E@QU+'E@o QF3)E@ L@Qm?)E@?QF3)E@`CQg_(E@]? QE|(E@Qx(E@o Qx(E@@Q'E@u`QU+'E@,QlK'E@gQE>'E@h@WQ(E@Q?b(E@L@Qm?)E@PQx(E@kQD_P)E@Q@l =)E@kQD_P)E@Q@(E@o Qx(E@Qx(E@, Q@(E@Q@l =)E@X`CQE|(E@, Q@l =)E@Q@l =)E@, Q@(E@Qx(E@]? QE|(E@`CQg_(E@?QF3)E@Q@l =)E@Q@l =)E@7Qm?)E@?Q*E@ ?Q()E@]? Qp^)E@Q@l =)E@?QF3)E@L@Qm?)E@B?Qj)E@7QG)E@L@Q"k)E@2-tQ?)E@gQe)E@7G6QX)E@{{ !Q*E@?Q()E@6DQ8#E@Q@_&E@;Q@_&E@WQB%E@Q_%E@Qz%E@OQ<L%E@4TCQv 5%E@WQ?$E@@cQ _#E@=ZQaS`#E@Y Q8#E@QaS`#E@6DQ?,$E@cvsQS߮%E@;Q@_&E@xWQ _#E@<LQz%E@ Qz%E@<LQ$E@kzQJJߵ$E@bQ`$E@5Q$E@Q$t`]$E@WQ#E@@cQ _#E@WQ?$E@4TCQv 5%E@OQ<L%E@Qz%E@WQo`"E@`, Q`$E@;R |Q$E@(@rQT~`9$E@x=Q>#E@`, Q@3#E@x=Q"E@;R |Qo`"E@ HQzP#E@.=Q #E@WQ#E@Q$t`]$E@5Q$E@bQ`$E@kzQJJߵ$E@;R |Q$E@Y QT[ E@?QaS`#E@x=Q"E@`%QD"E@7BQe"E@5{@SQ_x"E@<LQ)c_"E@F?Q!E@?Q/ !E@baQT[ E@SW jQz? E@WQZ_ !E@F+Q E@J`xQj!E@'Q;?#"E@f1Q* Q"E@u`Q.:?"E@ 8Q'_#E@/Q?@#E@\fQ_d#E@>]QF#E@Y Q8#E@=ZQaS`#E@@cQ _#E@WQ#E@.=Q #E@ HQzP#E@;R |Qo`"E@x=Q"E@baQd^E@Q+r#E@baQT[ E@?Q/ !E@F?Q!E@<LQ)c_"E@5{@SQ_x"E@7BQe"E@`%QD"E@x=Q"E@`, Q@3#E@m@Q+r#E@g_QVg#E@dQÊ "E@¢@>Q2_#E@C?Q"E@>]Qߕ"E@Q;?#"E@\Q !E@Q58_!E@ Qz? E@IZQ1 E@NHQCE@E|Q}_E@yQ, E@mQd^E@`%Q`+E@e4QzE@baQT[ E@mQv@%E@'_Q`k-!E@c7PQ`k-!E@]? Q% E@QNH E@'_QE@Q?E@iMQxE@Qi E@Q]E@gieQv@%E@)K@QgE@mQd^E@yQ, E@E|Q}_E@NHQCE@@Q\9E@D_Q+E@.QM7 E@܋Qgie E@c7PQ`k-!E@IZQCE@Q>En"E@Q;?#"E@$Q>En"E@{{ !Q9n"E@Qf !E@Qh!E@"Q{n!E@c7PQ`k-!E@܋Qgie E@.QM7 E@D_Q+E@@Q\9E@NHQCE@IZQ1 E@ Qz? E@Q58_!E@\Q !E@Q;?#"E@C?Q;!E@FMQ7#E@`Q#E@5Q2p"E@]`QU "E@J`Q^{"E@FMQqr`!E@\Q;!E@Qh!E@Qf !E@{{ !Q9n"E@$Q>En"E@Q;?#"E@>]Qߕ"E@C?Q"E@)Q+#E@|@Q #E@hQ #E@Q`C#E@|@QVg#E@oQ8?{#E@8|Q7#E@`Q#E@hr?Q,&1E@q?wQ2E@ _Q_D?^2E@`Q2E@bQH1E@ڿ_Q.1E@q?wQ`?r1E@SQ,&1E@>Q-@71E@ Q{n1E@r?Qs|1E@_Q_D?^2E@` QZ_ 1E@ Q_D?^2E@ Q 1E@_Q_D?^2E@r?Qs|1E@ Q{n1E@>Q-@71E@o`Q0aQ1E@QZ_ 1E@ Q?N1E@Q 1E@_dQ 1E@`Q_3E@nQ=j3E@o`Q_3E@R0ZQ8?{3E@}vQ/3E@FMQ2E@_D?^Qe2E@`Q2E@_Q_D?^2E@Q 1E@?Q32E@;Q Z2E@ng]Q2E@_dQ2p2E@PFQ"e?2E@Q2E@nQ=j3E@}vQ`?r1E@) QiM3E@R0ZQ8?{3E@RQE?3E@qQ7G63E@bQÊ 2E@2QiM3E@) Qh@W3E@eQ2E@PQ2E@+Q/ 1E@q?wQ`?r1E@ڿ_Q.1E@bQH1E@`Q2E@_D?^Qe2E@FMQ2E@}vQ/3E@R0ZQ8?{3E@nQÊ 2E@2Q5E@9&Q5E@QWV4E@WQo$4E@OUQU#`3E@_`Q܋3E@2QiM3E@bQÊ 2E@qQ7G63E@RQE?3E@R0ZQ8?{3E@o`Q_3E@nQ=j3E@@pQ0I`3E@9&Q5E@ HQ=Z3E@$t`QIN3E@9Q/3E@N=_Q@33E@{Q7G63E@?QF3E@SQh@W3E@kQ]3E@ HQ=Z3E@`9&QiM3E@i_Qc5E@ 9&Q5E@@Qc5E@i_Q4E@2QiM3E@_`Q܋3E@OUQU#`3E@WQo$4E@QWV4E@9&Q5E@P@Q4E@QǑ?5E@@Qc5E@QǑ?5E@!`Qc5E@UQ@5E@Q;?<5E@i_Q4E@@Qc5E@Q;?<5E@( ׿Q9E@~Q?8E@q?7Q9E@Q9E@@Qm@8E@) Qu8E@Q6D8E@%Q#8E@i_Qw@7E@) Q @i7E@Qng7E@aAQva__7E@I1QE>7E@SQQ@.7E@m?CQ7E@+?Q17E@( ׿Q$7E@6DQ 6E@OQ_6E@QF 6E@ՍjQS߮5E@Q;?<5E@UQ@5E@!`Qc5E@QǑ?5E@(QE6E@QQ8E@~Q?8E@xQՍj4E@Qy7E@ ( ׿Q$7E@'jQy7E@QE>7E@b QՍj4E@`'Qum4E@@Q<L5E@Q;?<5E@ՍjQS߮5E@QF 6E@OQ_6E@6DQ 6E@( ׿Q$7E@b QB?$4E@WQLA 8E@WQs8E@E?Q4<08E@)Q+76E@?_sQB?$4E@ Qt}(4E@ߓQ9_t4E@\Q`4E@b QՍj4E@QE>7E@྾QU7E@($6Qy8E@qQLA 8E@߽Q&`8E@WQs8E@h2Q2E@b Q<L5E@ i_Q4E@Q;?<5E@@Q<L5E@`'Qum4E@b QՍj4E@GQ2E@eQ2E@) Qh@W3E@2QiM3E@i_Q4E@GQIN2E@ ?Q`4E@b QՍj4E@\Q`4E@ߓQ9_t4E@ Qt}(4E@?_sQB?$4E@ө tQ 4E@ YQ:3E@ ?Q}3E@]?JQ_d3E@ ]Q[| q3E@hyQ%,3E@ QIN2E@+Q62E@+?Q+3E@E|Q2E@) Q2E@GQ2E@b QՍj4E@h Q1E@E`ʾQ}3E@  QIN2E@hyQ%,3E@ ]Q[| q3E@]?JQ_d3E@ ?Q}3E@Qrr3E@E`ʾQ`k-2E@$Q1E@J`@Q D2E@ QIN2E@d`BQߌ0E@_Q`k-2E@E`ʾQ`k-2E@$Q1E@CQC1E@_Q1E@2QI1E@n @QR0E@iQU0E@9QLA 0E@o Qߌ0E@?Q 0E@'_QX1E@(Q]O1E@d`BQ 1E@$Q1E@E`ʾQ`k-2E@mQC/E@o Q 1E@d`BQ 1E@(Q]O1E@'_QX1E@?Q 0E@o Qߌ0E@྾Qn0E@Q;: /E@ QC/E@=Q0E@2_RQ>0E@=`_Q 10E@mQgie0E@Q&`0E@܋Q-@71E@d`BQ 1E@Qh&L.E@'@ϾQgie0E@mQgie0E@=`_Q 10E@2_RQ>0E@=Q0E@ QC/E@ҾQ( /E@'@ϾQK2b/E@w@߾QV.E@Z&Qh&L.E@˄,Qy.E@Q!&߾.E@vQN/E@0I`QAQ0E@mQgie0E@ Qva__/E@LY2QLA 0E@ o Qߌ0E@9QLA 0E@iQU0E@naQM70E@LY2QC/E@OQ/E@_D?^Qva__/E@'@ϾQK2b/E@ҾQ( /E@ QC/E@Q;: /E@྾Qn0E@o Qߌ0E@w@߾Qu-E@!@QR0E@iQU0E@n @QR0E@жAQT~`0E@_Qu/E@G' QF.E@!@Q.-E@ Qu-E@{Q>d.E@w@߾QV.E@'@ϾQK2b/E@_D?^Qva__/E@OQ/E@LY2QC/E@naQM70E@iQU0E@spdep/inst/etc/shapes/wheat.shp0000644000176200001440000020500411716033162016225 0ustar liggesusers' Gz??QP@gffffP@@Gz?33333P@Q@gffffP@Gz?33333P@Gz?gffffP@Q@gffffP@Q@33333P@Gz?33333P@@Q@33333P@@gffffP@Q@33333P@Q@gffffP@@gffffP@@33333P@Q@33333P@@@33333P@R!@gffffP@@33333P@@gffffP@R!@gffffP@R!@33333P@@33333P@@R!@33333P@֣p= &@gffffP@R!@33333P@R!@gffffP@֣p= &@gffffP@֣p= &@33333P@R!@33333P@@أp= &@33333P@\(+@gffffP@أp= &@33333P@أp= &@gffffP@\(+@gffffP@\(+@33333P@أp= &@33333P@@\(+@33333P@q= ףP0@gffffP@\(+@33333P@\(+@gffffP@q= ףP0@gffffP@q= ףP0@33333P@\(+@33333P@@q= ףP0@33333P@333332@gffffP@q= ףP0@33333P@q= ףP0@gffffP@333332@gffffP@333332@33333P@q= ףP0@33333P@@333332@33333P@(\U5@gffffP@333332@33333P@333332@gffffP@(\U5@gffffP@(\U5@33333P@333332@33333P@ @(\U5@33333P@Q7@gffffP@(\U5@33333P@(\U5@gffffP@Q7@gffffP@Q7@33333P@(\U5@33333P@ @Q7@33333P@{GZ:@gffffP@Q7@33333P@Q7@gffffP@{GZ:@gffffP@{GZ:@33333P@Q7@33333P@ @{GZ:@33333P@= ףp<@gffffP@{GZ:@33333P@{GZ:@gffffP@= ףp<@gffffP@= ףp<@33333P@{GZ:@33333P@ @> ףp<@33333P@`?@gffffP@> ףp<@33333P@> ףp<@gffffP@`?@gffffP@`?@33333P@> ףp<@33333P@ @`?@33333P@zG@@gffffP@`?@33333P@`?@gffffP@zG@@gffffP@zG@@33333P@`?@33333P@@zG@@33333P@(\2B@gffffP@zG@@33333P@zG@@gffffP@(\2B@gffffP@(\2B@33333P@zG@@33333P@@(\2B@33333P@p= sC@gffffP@(\2B@33333P@(\2B@gffffP@p= sC@gffffP@p= sC@33333P@(\2B@33333P@@p= sC@33333P@QD@gffffP@p= sC@33333P@p= sC@gffffP@QD@gffffP@QD@33333P@p= sC@33333P@@QD@33333P@gffffE@gffffP@QD@33333P@QD@gffffP@gffffE@gffffP@gffffE@33333P@QD@33333P@@fffffE@33333P@Hz7G@gffffP@fffffE@33333P@fffffE@gffffP@Hz7G@gffffP@Hz7G@33333P@fffffE@33333P@@Gz7G@33333P@)\xH@gffffP@Gz7G@33333P@Gz7G@gffffP@)\xH@gffffP@)\xH@33333P@Gz7G@33333P@@)\xH@33333P@ ףp=I@gffffP@)\xH@33333P@)\xH@gffffP@ ףp=I@gffffP@ ףp=I@33333P@)\xH@33333P@@ ףp=I@33333P@QJ@gffffP@ ףp=I@33333P@ ףp=I@gffffP@QJ@gffffP@QJ@33333P@ ףp=I@33333P@@QJ@33333P@ ףp<@`N@`?@33333P@> ףp<@`N@> ףp<@33333P@`?@33333P@`?@`N@> ףp<@`N@&@`?@`N@zG@@33333P@`?@`N@`?@33333P@zG@@33333P@zG@@`N@`?@`N@'@zG@@`N@(\2B@33333P@zG@@`N@zG@@33333P@(\2B@33333P@(\2B@`N@zG@@`N@(@(\2B@`N@p= sC@33333P@(\2B@`N@(\2B@33333P@p= sC@33333P@p= sC@`N@(\2B@`N@)@p= sC@`N@QD@33333P@p= sC@`N@p= sC@33333P@QD@33333P@QD@`N@p= sC@`N@*@QD@`N@gffffE@33333P@QD@`N@QD@33333P@gffffE@33333P@gffffE@`N@QD@`N@+@fffffE@`N@Hz7G@33333P@fffffE@`N@fffffE@33333P@Hz7G@33333P@Hz7G@`N@fffffE@`N@,@Gz7G@`N@)\xH@33333P@Gz7G@`N@Gz7G@33333P@)\xH@33333P@)\xH@`N@Gz7G@`N@-@)\xH@`N@ ףp=I@33333P@)\xH@`N@)\xH@33333P@ ףp=I@33333P@ ףp=I@`N@)\xH@`N@.@ ףp=I@`N@QJ@33333P@ ףp=I@`N@ ףp=I@33333P@QJ@33333P@QJ@`N@ ףp=I@`N@/@QJ@`N@@> ףp<@L@`?@`N@> ףp<@L@> ףp<@`N@`?@`N@`?@L@> ףp<@L@?@`?@L@zG@@`N@`?@L@`?@`N@zG@@`N@zG@@L@`?@L@@@zG@@L@(\2B@`N@zG@@L@zG@@`N@(\2B@`N@(\2B@L@zG@@L@A@(\2B@L@p= sC@`N@(\2B@L@(\2B@`N@p= sC@`N@p= sC@L@(\2B@L@B@p= sC@L@QD@`N@p= sC@L@p= sC@`N@QD@`N@QD@L@p= sC@L@C@QD@L@gffffE@`N@QD@L@QD@`N@gffffE@`N@gffffE@L@QD@L@D@fffffE@L@Hz7G@`N@fffffE@L@fffffE@`N@Hz7G@`N@Hz7G@L@fffffE@L@E@Gz7G@L@)\xH@`N@Gz7G@L@Gz7G@`N@)\xH@`N@)\xH@L@Gz7G@L@F@)\xH@L@ ףp=I@`N@)\xH@L@)\xH@`N@ ףp=I@`N@ ףp=I@L@)\xH@L@G@ ףp=I@L@QJ@`N@ ףp=I@L@ ףp=I@`N@QJ@`N@QJ@L@ ףp=I@L@H@QJ@L@ ףp<@33333K@`?@L@> ףp<@33333K@> ףp<@L@`?@L@`?@33333K@> ףp<@33333K@X@`?@33333K@zG@@L@`?@33333K@`?@L@zG@@L@zG@@33333K@`?@33333K@Y@zG@@33333K@(\2B@L@zG@@33333K@zG@@L@(\2B@L@(\2B@33333K@zG@@33333K@Z@(\2B@33333K@p= sC@L@(\2B@33333K@(\2B@L@p= sC@L@p= sC@33333K@(\2B@33333K@[@p= sC@33333K@QD@L@p= sC@33333K@p= sC@L@QD@L@QD@33333K@p= sC@33333K@\@QD@33333K@gffffE@L@QD@33333K@QD@L@gffffE@L@gffffE@33333K@QD@33333K@]@fffffE@33333K@Hz7G@L@fffffE@33333K@fffffE@L@Hz7G@L@Hz7G@33333K@fffffE@33333K@^@Gz7G@33333K@)\xH@L@Gz7G@33333K@Gz7G@L@)\xH@L@)\xH@33333K@Gz7G@33333K@_@)\xH@33333K@ ףp=I@L@)\xH@33333K@)\xH@L@ ףp=I@L@ ףp=I@33333K@)\xH@33333K@`@ ףp=I@33333K@QJ@L@ ףp=I@33333K@ ףp=I@L@QJ@L@QJ@33333K@ ףp=I@33333K@a@QJ@33333K@ ףp<@lI@`?@33333K@> ףp<@lI@> ףp<@33333K@`?@33333K@`?@lI@> ףp<@lI@q@`?@lI@zG@@33333K@`?@lI@`?@33333K@zG@@33333K@zG@@lI@`?@lI@r@zG@@lI@(\2B@33333K@zG@@lI@zG@@33333K@(\2B@33333K@(\2B@lI@zG@@lI@s@(\2B@lI@p= sC@33333K@(\2B@lI@(\2B@33333K@p= sC@33333K@p= sC@lI@(\2B@lI@t@p= sC@lI@QD@33333K@p= sC@lI@p= sC@33333K@QD@33333K@QD@lI@p= sC@lI@u@QD@lI@gffffE@33333K@QD@lI@QD@33333K@gffffE@33333K@gffffE@lI@QD@lI@v@fffffE@lI@Hz7G@33333K@fffffE@lI@fffffE@33333K@Hz7G@33333K@Hz7G@lI@fffffE@lI@w@Gz7G@lI@)\xH@33333K@Gz7G@lI@Gz7G@33333K@)\xH@33333K@)\xH@lI@Gz7G@lI@x@)\xH@lI@ ףp=I@33333K@)\xH@lI@)\xH@33333K@ ףp=I@33333K@ ףp=I@lI@)\xH@lI@y@ ףp=I@lI@QJ@33333K@ ףp=I@lI@ ףp=I@33333K@QJ@33333K@QJ@lI@ ףp=I@lI@z@QJ@lI@ ףp<@gffffG@`?@lI@> ףp<@gffffG@> ףp<@lI@`?@lI@`?@gffffG@> ףp<@gffffG@@`?@gffffG@zG@@lI@`?@gffffG@`?@lI@zG@@lI@zG@@gffffG@`?@gffffG@@zG@@gffffG@(\2B@lI@zG@@gffffG@zG@@lI@(\2B@lI@(\2B@gffffG@zG@@gffffG@@(\2B@gffffG@p= sC@lI@(\2B@gffffG@(\2B@lI@p= sC@lI@p= sC@gffffG@(\2B@gffffG@@p= sC@gffffG@QD@lI@p= sC@gffffG@p= sC@lI@QD@lI@QD@gffffG@p= sC@gffffG@@QD@gffffG@gffffE@lI@QD@gffffG@QD@lI@gffffE@lI@gffffE@gffffG@QD@gffffG@@fffffE@gffffG@Hz7G@lI@fffffE@gffffG@fffffE@lI@Hz7G@lI@Hz7G@gffffG@fffffE@gffffG@@Gz7G@gffffG@)\xH@lI@Gz7G@gffffG@Gz7G@lI@)\xH@lI@)\xH@gffffG@Gz7G@gffffG@@)\xH@gffffG@ ףp=I@lI@)\xH@gffffG@)\xH@lI@ ףp=I@lI@ ףp=I@gffffG@)\xH@gffffG@@ ףp=I@gffffG@QJ@lI@ ףp=I@gffffG@ ףp=I@lI@QJ@lI@QJ@gffffG@ ףp=I@gffffG@@QJ@gffffG@ ףp<@ F@`?@fffffG@> ףp<@ F@> ףp<@fffffG@`?@fffffG@`?@ F@> ףp<@ F@@`?@ F@zG@@fffffG@`?@ F@`?@fffffG@zG@@fffffG@zG@@ F@`?@ F@@zG@@ F@(\2B@fffffG@zG@@ F@zG@@fffffG@(\2B@fffffG@(\2B@ F@zG@@ F@@(\2B@ F@p= sC@fffffG@(\2B@ F@(\2B@fffffG@p= sC@fffffG@p= sC@ F@(\2B@ F@@p= sC@ F@QD@fffffG@p= sC@ F@p= sC@fffffG@QD@fffffG@QD@ F@p= sC@ F@@QD@ F@gffffE@fffffG@QD@ F@QD@fffffG@gffffE@fffffG@gffffE@ F@QD@ F@@fffffE@ F@Hz7G@fffffG@fffffE@ F@fffffE@fffffG@Hz7G@fffffG@Hz7G@ F@fffffE@ F@@Gz7G@ F@)\xH@fffffG@Gz7G@ F@Gz7G@fffffG@)\xH@fffffG@)\xH@ F@Gz7G@ F@@)\xH@ F@ ףp=I@fffffG@)\xH@ F@)\xH@fffffG@ ףp=I@fffffG@ ףp=I@ F@)\xH@ F@@ ףp=I@ F@QJ@fffffG@ ףp=I@ F@ ףp=I@fffffG@QJ@fffffG@QJ@ F@ ףp=I@ F@@QJ@ F@ ףp<@yD@`?@ F@> ףp<@yD@> ףp<@ F@`?@ F@`?@yD@> ףp<@yD@@`?@yD@zG@@ F@`?@yD@`?@ F@zG@@ F@zG@@yD@`?@yD@@zG@@yD@(\2B@ F@zG@@yD@zG@@ F@(\2B@ F@(\2B@yD@zG@@yD@@(\2B@yD@p= sC@ F@(\2B@yD@(\2B@ F@p= sC@ F@p= sC@yD@(\2B@yD@@p= sC@yD@QD@ F@p= sC@yD@p= sC@ F@QD@ F@QD@yD@p= sC@yD@@QD@yD@gffffE@ F@QD@yD@QD@ F@gffffE@ F@gffffE@yD@QD@yD@@fffffE@yD@Hz7G@ F@fffffE@yD@fffffE@ F@Hz7G@ F@Hz7G@yD@fffffE@yD@@Gz7G@yD@)\xH@ F@Gz7G@yD@Gz7G@ F@)\xH@ F@)\xH@yD@Gz7G@yD@@)\xH@yD@ ףp=I@ F@)\xH@yD@)\xH@ F@ ףp=I@ F@ ףp=I@yD@)\xH@yD@@ ףp=I@yD@QJ@ F@ ףp=I@yD@ ףp=I@ F@QJ@ F@QJ@yD@ ףp=I@yD@@QJ@yD@ ףp<@33333B@`?@yD@> ףp<@33333B@> ףp<@yD@`?@yD@`?@33333B@> ףp<@33333B@@`?@33333B@zG@@yD@`?@33333B@`?@yD@zG@@yD@zG@@33333B@`?@33333B@@zG@@33333B@(\2B@yD@zG@@33333B@zG@@yD@(\2B@yD@(\2B@33333B@zG@@33333B@@(\2B@33333B@p= sC@yD@(\2B@33333B@(\2B@yD@p= sC@yD@p= sC@33333B@(\2B@33333B@@p= sC@33333B@QD@yD@p= sC@33333B@p= sC@yD@QD@yD@QD@33333B@p= sC@33333B@@QD@33333B@gffffE@yD@QD@33333B@QD@yD@gffffE@yD@gffffE@33333B@QD@33333B@@fffffE@33333B@Hz7G@yD@fffffE@33333B@fffffE@yD@Hz7G@yD@Hz7G@33333B@fffffE@33333B@@Gz7G@33333B@)\xH@yD@Gz7G@33333B@Gz7G@yD@)\xH@yD@)\xH@33333B@Gz7G@33333B@@)\xH@33333B@ ףp=I@yD@)\xH@33333B@)\xH@yD@ ףp=I@yD@ ףp=I@33333B@)\xH@33333B@@ ףp=I@33333B@QJ@yD@ ףp=I@33333B@ ףp=I@yD@QJ@yD@QJ@33333B@ ףp=I@33333B@@QJ@33333B@ ףp<@,A@`?@33333B@> ףp<@,A@> ףp<@33333B@`?@33333B@`?@,A@> ףp<@,A@@`?@,A@zG@@33333B@`?@,A@`?@33333B@zG@@33333B@zG@@,A@`?@,A@@zG@@,A@(\2B@33333B@zG@@,A@zG@@33333B@(\2B@33333B@(\2B@,A@zG@@,A@@(\2B@,A@p= sC@33333B@(\2B@,A@(\2B@33333B@p= sC@33333B@p= sC@,A@(\2B@,A@@p= sC@,A@QD@33333B@p= sC@,A@p= sC@33333B@QD@33333B@QD@,A@p= sC@,A@@QD@,A@gffffE@33333B@QD@,A@QD@33333B@gffffE@33333B@gffffE@,A@QD@,A@@fffffE@,A@Hz7G@33333B@fffffE@,A@fffffE@33333B@Hz7G@33333B@Hz7G@,A@fffffE@,A@@Gz7G@,A@)\xH@33333B@Gz7G@,A@Gz7G@33333B@)\xH@33333B@)\xH@,A@Gz7G@,A@@)\xH@,A@ ףp=I@33333B@)\xH@,A@)\xH@33333B@ ףp=I@33333B@ ףp=I@,A@)\xH@,A@@ ףp=I@,A@QJ@33333B@ ףp=I@,A@ ףp=I@33333B@QJ@33333B@QJ@,A@ ףp=I@,A@@QJ@,A@ ףp<@ ?@`?@,A@> ףp<@ ?@> ףp<@,A@`?@,A@`?@ ?@> ףp<@ ?@@`?@ ?@zG@@,A@`?@ ?@`?@,A@zG@@,A@zG@@ ?@`?@ ?@@zG@@ ?@(\2B@,A@zG@@ ?@zG@@,A@(\2B@,A@(\2B@ ?@zG@@ ?@ @(\2B@ ?@p= sC@,A@(\2B@ ?@(\2B@,A@p= sC@,A@p= sC@ ?@(\2B@ ?@ @p= sC@ ?@QD@,A@p= sC@ ?@p= sC@,A@QD@,A@QD@ ?@p= sC@ ?@ @QD@ ?@gffffE@,A@QD@ ?@QD@,A@gffffE@,A@gffffE@ ?@QD@ ?@ @fffffE@ ?@Hz7G@,A@fffffE@ ?@fffffE@,A@Hz7G@,A@Hz7G@ ?@fffffE@ ?@ @Gz7G@ ?@)\xH@,A@Gz7G@ ?@Gz7G@,A@)\xH@,A@)\xH@ ?@Gz7G@ ?@@)\xH@ ?@ ףp=I@,A@)\xH@ ?@)\xH@,A@ ףp=I@,A@ ףp=I@ ?@)\xH@ ?@@ ףp=I@ ?@QJ@,A@ ףp=I@ ?@ ףp=I@,A@QJ@,A@QJ@ ?@ ףp=I@ ?@@QJ@ ?@ ףp<@;@`?@ ?@> ףp<@;@> ףp<@ ?@`?@ ?@`?@;@> ףp<@;@ @`?@;@zG@@ ?@`?@;@`?@ ?@zG@@ ?@zG@@;@`?@;@!@zG@@;@(\2B@ ?@zG@@;@zG@@ ?@(\2B@ ?@(\2B@;@zG@@;@"@(\2B@;@p= sC@ ?@(\2B@;@(\2B@ ?@p= sC@ ?@p= sC@;@(\2B@;@#@p= sC@;@QD@ ?@p= sC@;@p= sC@ ?@QD@ ?@QD@;@p= sC@;@$@QD@;@gffffE@ ?@QD@;@QD@ ?@gffffE@ ?@gffffE@;@QD@;@%@fffffE@;@Hz7G@ ?@fffffE@;@fffffE@ ?@Hz7G@ ?@Hz7G@;@fffffE@;@&@Gz7G@;@)\xH@ ?@Gz7G@;@Gz7G@ ?@)\xH@ ?@)\xH@;@Gz7G@;@'@)\xH@;@ ףp=I@ ?@)\xH@;@)\xH@ ?@ ףp=I@ ?@ ףp=I@;@)\xH@;@(@ ףp=I@;@QJ@ ?@ ףp=I@;@ ףp=I@ ?@QJ@ ?@QJ@;@ ףp=I@;@)@QJ@;@ ףp<@43333s8@`?@;@> ףp<@43333s8@> ףp<@;@`?@;@`?@43333s8@> ףp<@43333s8@9@`?@43333s8@zG@@;@`?@43333s8@`?@;@zG@@;@zG@@43333s8@`?@43333s8@:@zG@@43333s8@(\2B@;@zG@@43333s8@zG@@;@(\2B@;@(\2B@43333s8@zG@@43333s8@;@(\2B@43333s8@p= sC@;@(\2B@43333s8@(\2B@;@p= sC@;@p= sC@43333s8@(\2B@43333s8@<@p= sC@43333s8@QD@;@p= sC@43333s8@p= sC@;@QD@;@QD@43333s8@p= sC@43333s8@=@QD@43333s8@gffffE@;@QD@43333s8@QD@;@gffffE@;@gffffE@43333s8@QD@43333s8@>@fffffE@43333s8@Hz7G@;@fffffE@43333s8@fffffE@;@Hz7G@;@Hz7G@43333s8@fffffE@43333s8@?@Gz7G@43333s8@)\xH@;@Gz7G@43333s8@Gz7G@;@)\xH@;@)\xH@43333s8@Gz7G@43333s8@@@)\xH@43333s8@ ףp=I@;@)\xH@43333s8@)\xH@;@ ףp=I@;@ ףp=I@43333s8@)\xH@43333s8@A@ ףp=I@43333s8@QJ@;@ ףp=I@43333s8@ ףp=I@;@QJ@;@QJ@43333s8@ ףp=I@43333s8@B@QJ@43333s8@ ףp<@fffff&5@`?@23333s8@> ףp<@fffff&5@> ףp<@23333s8@`?@23333s8@`?@fffff&5@> ףp<@fffff&5@R@`?@fffff&5@zG@@23333s8@`?@fffff&5@`?@23333s8@zG@@23333s8@zG@@fffff&5@`?@fffff&5@S@zG@@fffff&5@(\2B@23333s8@zG@@fffff&5@zG@@23333s8@(\2B@23333s8@(\2B@fffff&5@zG@@fffff&5@T@(\2B@fffff&5@p= sC@23333s8@(\2B@fffff&5@(\2B@23333s8@p= sC@23333s8@p= sC@fffff&5@(\2B@fffff&5@U@p= sC@fffff&5@QD@23333s8@p= sC@fffff&5@p= sC@23333s8@QD@23333s8@QD@fffff&5@p= sC@fffff&5@V@QD@fffff&5@gffffE@23333s8@QD@fffff&5@QD@23333s8@gffffE@23333s8@gffffE@fffff&5@QD@fffff&5@W@fffffE@fffff&5@Hz7G@23333s8@fffffE@fffff&5@fffffE@23333s8@Hz7G@23333s8@Hz7G@fffff&5@fffffE@fffff&5@X@Gz7G@fffff&5@)\xH@23333s8@Gz7G@fffff&5@Gz7G@23333s8@)\xH@23333s8@)\xH@fffff&5@Gz7G@fffff&5@Y@)\xH@fffff&5@ ףp=I@23333s8@)\xH@fffff&5@)\xH@23333s8@ ףp=I@23333s8@ ףp=I@fffff&5@)\xH@fffff&5@Z@ ףp=I@fffff&5@QJ@23333s8@ ףp=I@fffff&5@ ףp=I@23333s8@QJ@23333s8@QJ@fffff&5@ ףp=I@fffff&5@[@QJ@fffff&5@ ףp<@1@`?@fffff&5@> ףp<@1@> ףp<@fffff&5@`?@fffff&5@`?@1@> ףp<@1@k@`?@1@zG@@fffff&5@`?@1@`?@fffff&5@zG@@fffff&5@zG@@1@`?@1@l@zG@@1@(\2B@fffff&5@zG@@1@zG@@fffff&5@(\2B@fffff&5@(\2B@1@zG@@1@m@(\2B@1@p= sC@fffff&5@(\2B@1@(\2B@fffff&5@p= sC@fffff&5@p= sC@1@(\2B@1@n@p= sC@1@QD@fffff&5@p= sC@1@p= sC@fffff&5@QD@fffff&5@QD@1@p= sC@1@o@QD@1@gffffE@fffff&5@QD@1@QD@fffff&5@gffffE@fffff&5@gffffE@1@QD@1@p@fffffE@1@Hz7G@fffff&5@fffffE@1@fffffE@fffff&5@Hz7G@fffff&5@Hz7G@1@fffffE@1@q@Gz7G@1@)\xH@fffff&5@Gz7G@1@Gz7G@fffff&5@)\xH@fffff&5@)\xH@1@Gz7G@1@r@)\xH@1@ ףp=I@fffff&5@)\xH@1@)\xH@fffff&5@ ףp=I@fffff&5@ ףp=I@1@)\xH@1@s@ ףp=I@1@QJ@fffff&5@ ףp=I@1@ ףp=I@fffff&5@QJ@fffff&5@QJ@1@ ףp=I@1@t@QJ@1@ ףp<@-@`?@1@> ףp<@-@> ףp<@1@`?@1@`?@-@> ףp<@-@@`?@-@zG@@1@`?@-@`?@1@zG@@1@zG@@-@`?@-@@zG@@-@(\2B@1@zG@@-@zG@@1@(\2B@1@(\2B@-@zG@@-@@(\2B@-@p= sC@1@(\2B@-@(\2B@1@p= sC@1@p= sC@-@(\2B@-@@p= sC@-@QD@1@p= sC@-@p= sC@1@QD@1@QD@-@p= sC@-@@QD@-@gffffE@1@QD@-@QD@1@gffffE@1@gffffE@-@QD@-@@fffffE@-@Hz7G@1@fffffE@-@fffffE@1@Hz7G@1@Hz7G@-@fffffE@-@@Gz7G@-@)\xH@1@Gz7G@-@Gz7G@1@)\xH@1@)\xH@-@Gz7G@-@@)\xH@-@ ףp=I@1@)\xH@-@)\xH@1@ ףp=I@1@ ףp=I@-@)\xH@-@@ ףp=I@-@QJ@1@ ףp=I@-@ ףp=I@1@QJ@1@QJ@-@ ףp=I@-@@QJ@-@ ףp<@&@`?@-@> ףp<@&@> ףp<@-@`?@-@`?@&@> ףp<@&@@`?@&@zG@@-@`?@&@`?@-@zG@@-@zG@@&@`?@&@@zG@@&@(\2B@-@zG@@&@zG@@-@(\2B@-@(\2B@&@zG@@&@@(\2B@&@p= sC@-@(\2B@&@(\2B@-@p= sC@-@p= sC@&@(\2B@&@@p= sC@&@QD@-@p= sC@&@p= sC@-@QD@-@QD@&@p= sC@&@@QD@&@gffffE@-@QD@&@QD@-@gffffE@-@gffffE@&@QD@&@@fffffE@&@Hz7G@-@fffffE@&@fffffE@-@Hz7G@-@Hz7G@&@fffffE@&@@Gz7G@&@)\xH@-@Gz7G@&@Gz7G@-@)\xH@-@)\xH@&@Gz7G@&@@)\xH@&@ ףp=I@-@)\xH@&@)\xH@-@ ףp=I@-@ ףp=I@&@)\xH@&@@ ףp=I@&@QJ@-@ ףp=I@&@ ףp=I@-@QJ@-@QJ@&@ ףp=I@&@@QJ@&@ ףp<@@`?@&@> ףp<@@> ףp<@&@`?@&@`?@@> ףp<@@@`?@@zG@@&@`?@@`?@&@zG@@&@zG@@@`?@@@zG@@@(\2B@&@zG@@@zG@@&@(\2B@&@(\2B@@zG@@@@(\2B@@p= sC@&@(\2B@@(\2B@&@p= sC@&@p= sC@@(\2B@@@p= sC@@QD@&@p= sC@@p= sC@&@QD@&@QD@@p= sC@@@QD@@gffffE@&@QD@@QD@&@gffffE@&@gffffE@@QD@@@fffffE@@Hz7G@&@fffffE@@fffffE@&@Hz7G@&@Hz7G@@fffffE@@@Gz7G@@)\xH@&@Gz7G@@Gz7G@&@)\xH@&@)\xH@@Gz7G@@@)\xH@@ ףp=I@&@)\xH@@)\xH@&@ ףp=I@&@ ףp=I@@)\xH@@@ ףp=I@@QJ@&@ ףp=I@@ ףp=I@&@QJ@&@QJ@@ ףp=I@@@QJ@@ ףp<@@`?@@> ףp<@@> ףp<@@`?@@`?@@> ףp<@@@`?@@zG@@@`?@@`?@@zG@@@zG@@@`?@@@zG@@@(\2B@@zG@@@zG@@@(\2B@@(\2B@@zG@@@@(\2B@@p= sC@@(\2B@@(\2B@@p= sC@@p= sC@@(\2B@@@p= sC@@QD@@p= sC@@p= sC@@QD@@QD@@p= sC@@@QD@@gffffE@@QD@@QD@@gffffE@@gffffE@@QD@@@fffffE@@Hz7G@@fffffE@@fffffE@@Hz7G@@Hz7G@@fffffE@@@Gz7G@@)\xH@@Gz7G@@Gz7G@@)\xH@@)\xH@@Gz7G@@@)\xH@@ ףp=I@@)\xH@@)\xH@@ ףp=I@@ ףp=I@@)\xH@@@ ףp=I@@QJ@@ ףp=I@@ ףp=I@@QJ@@QJ@@ ףp=I@@@QJ@@ ףp<@?`?@@> ףp<@?> ףp<@@`?@@`?@?> ףp<@?@`?@?zG@@@`?@?`?@@zG@@@zG@@?`?@?@zG@@?(\2B@@zG@@?zG@@@(\2B@@(\2B@?zG@@?@(\2B@?p= sC@@(\2B@?(\2B@@p= sC@@p= sC@?(\2B@?@p= sC@?QD@@p= sC@?p= sC@@QD@@QD@?p= sC@?@QD@?gffffE@@QD@?QD@@gffffE@@gffffE@?QD@?@fffffE@?Hz7G@@fffffE@?fffffE@@Hz7G@@Hz7G@?fffffE@?@Gz7G@?)\xH@@Gz7G@?Gz7G@@)\xH@@)\xH@?Gz7G@?@)\xH@? ףp=I@@)\xH@?)\xH@@ ףp=I@@ ףp=I@?)\xH@?@ ףp=I@?QJ@@ ףp=I@? ףp=I@@QJ@@QJ@? ףp=I@?@QJ@?VT@.B@9TSIB@`ZOT@.B@gOT0B@`PT`3B@ QT`7B@ TT=B@ TT@AB@ >VT`DB@`VTSIB@9TXHB@@;T?B@@=T;B@`T2B@>T@/B@-@T`.B@AT\0B@@BT4B@`dET7B@NFT07B@@GT 6B@GHT6B@HTt5B@IT]6B@NKT@-5B@`ZOT@.B@`TigA@ S-A@SigA@`T JhA@TෘA@TA@T-A@T `A@* T`|A@ T`*A@`/ TΓA@` TA@`lT A@TϘA@TKA@+T{A@T`OA@.TA@kSaA@yS`ÎA@ \SюA@S A@#SA@tSA@6S`A@}S {A@ S`sA@SmA@SigA@moT`B@`ZOTyKB@A^T`B@ bT"B@cT #B@ hT+B@moT&2B@lT@cVT`DB@ TT@AB@ TT=B@ QT`7B@`PT`3B@gOT0B@`ZOT@.B@`PT-B@@UT@.B@ WT`4-B@gWTf+B@ VT ]&B@`WT`#B@@ZT|$B@cZT6"B@ [T@_!B@ \TB@A^T`B@T A@nT`7%B@?|TS`7A@5S`LA@(SA@&SA@&SIA@%SA@"S` A@`6!S@A@S@YA@@(S`A@=(S A@$-S@A@ FSlA@@T'SA@@(S ^A@o6S ̛A@`r9S3A@@zLS`#A@KSrA@oIS`A@ FSlA@>S@߷A@@y,SڬA@@T'SA@BUS 7A@f,SB@-2S`A@3SA@n5S`.A@6SA@ 98SA@9S 7A@`9SA@;S@A@ h?S]A@H@SPA@CS@A@0BSA@BSCA@@>DS A@ES`nA@@LS 3A@LS`A@`LSyA@`MSA@MSB@QSB@ -TS'B@BUSB@SS`1 B@ mOS B@zPS *B@`PS`B@`NQS@B@RSB@SS`B@OSxB@@MSB@ SHS B@?S'B@>S`xB@ /SB@0SB@f,SA@n/S`A@@,SA@ U-S A@`.SA@`x/SA@0S`A@2S`A@ `\S`.A@܊S tmA@`S`2A@S`.A@@S/A@`֨S 9A@:S9A@ȪS`;A@SG:A@S:A@ TS=A@`S@@A@SHA@iSWA@޵S^A@`\S[jA@9SlA@SkA@`S tmA@S1aA@@Sf\A@HSXA@S_WA@@S RA@ ғScQA@ySPA@S`|MA@@S@gJA@oS`FA@@ːSCA@RS@A@܊S1;A@`S`2A@ @S @@X}S.A@@S n@@@S`.@@`VS@NA@@SA@@SA@բS@,A@@S`A@ SIA@@:S A@SA@SA@@SA@S^.A@US.A@S *A@@S(A@sSt$A@S2$A@SJ"A@~S~!A@k~S&A@}S@A@|}S 9A@X}S @@@:S@@ S @@@S n@@  dT A@TA@-T[A@T`aA@བྷT`HA@YTRA@T`A@ .TA@ eT@A@?T@ҸA@T@ӶA@ETA@T@A@TA@ЪTBA@T 6A@T A@T@A@ܲT A@RT0A@iT A@ T` A@TA@@T{A@dTbA@ dT@7A@ TA@`TA@ TA@ TA@T@0A@ TA@TA@TA@ T`A@`T/A@ޑTIA@T`A@1TA@`TfA@`T@nA@'T`A@TA@ DT@A@T`нA@^TA@T[A@ (TA@ XTPA@">tT@A@`fwT`A@TdA@@k~T`A@{TA@ zT A@yT-A@?|TtT@A@ 1TA@`TA@@0 TA@"T@XA@`4*TA@(,TA@0TIA@@/TཱུA@0TA@1TbA@1T A@@.TA@`TXA@8T`BA@T@A@@0 TA@ sT A@TT@ B@ UTA@ XT A@ZTA@A]TA@@cTAA@eTA@lT4A@oT`A@qT A@qT@A@`sT A@nT |B@ sT@b B@ -jT@ B@`bT BB@aT 7 B@]T B@ [TgB@@{YT,B@XTB@;VT@B@TT@A@UTA@UT`A@)UT@A@UTA@ UTA@$SB@BR,GB@S(B@BRB@@RB@ SY(B@b S)B@ S)B@ DS<.B@S.B@`S0B@@jS(2B@@S@o4B@`S<9B@S@B@$SGB@S$GB@"S,GB@@ S6B@  S4B@L S)2B@S@,B@ SB-B@S@+B@@S:+B@S(B@ @JS>KA@iS!A@ISaA@@JS`#cA@:JSdA@qFS`fA@@DS``hA@CSShA@"CSdjA@0S@lA@ (SrA@@i)StA@@*S(|A@!S|A@`{S!A@#SyA@LSxA@S |A@@$SryA@S|dA@ (S \A@;CS vYA@ISaA@`"S>KA@#S *NA@j"SNA@SLYA@S ^aA@S hA@iSApA@`SXA@`"S>KA@PSB@S A@`Z?SA@@n]A@@S /_A@&S^sA@SA@S`zA@qS@UA@ SȕA@ VSėA@`#SޗA@}SA@u|SA@~zSzA@9yStA@xSՓA@uSA@pS`vA@@pS ?A@QpSPA@oS PA@nS`A@ kS{A@iSuA@@&lS`/\A@  )SA@S`B@ )SA@޼S`B@S@B@ܳS`B@uS@\ B@`uSB@S#B@7SwB@@S wB@խS dB@S`A@ ES A@ SA@@ݰS A@ S A@@SA@@S`%A@ )SA@! !uS@A@`USB@@jS@A@nSA@zpS@(A@RpS@A@qS`A@ !uS `A@ lS tB@@kSB@`iS7B@fS`w B@cSS B@ YbS B@KbSB@aSB@]S`B@ \SB@`?[SA@YSRA@`US9A@ VS \A@@eYS A@YS A@ZS :A@S[SsA@]SA@I^S@[A@`Z`S%A@@jS@A@" T A@T@ B@@pTB@T@B@n T B@ T`A@@eT` A@`#T A@UT A@WTA@ TB@TB@`TlB@TB@TB@ T B@Q T' B@|T B@wTB@@6T B@4T B@ T@ B@T B@@pTB@#S cA@gSI!B@JS cA@SA@S\A@@SA@ S A@ ?SUA@SA@SB@@S B@S 8B@`S B@_SB@%SB@“SI!B@@S`HB@ S@TB@S B@gSB@`SB@JS cA@$ |\TA@ H;T@A@ TTA@`STA@qTTXA@VT6A@XWT@A@VTA@ ZT A@ |\T@A@;=T߲A@@>T>A@@TA@@@TA@@T A@@w@T`A@ATA@'CT`eA@ TTA@% =S%B@`vSGB@ $S+B@&S`Q(B@`|)S@\(B@@,S%B@1S-B@ $;S;2B@bS`xB@?S'B@ SHS B@@MSB@IS`b5B@HSm:B@ &HS@@tTtT@A@=uTTA@uT`A@-wTA@ }T`A@@TA@PTA@xTnA@TA@'T`A@`T@nA@`TfA@1TA@T`A@ޑTIA@T@A@TXA@T1A@@TA@ETA@@8T BA@jT@A@ ~T A@`AT A@|T`A@ z|T A@}T`8A@?|TtT@A@9`TT~A@`T@A@`T A@ T~A@TA@@hTA@T )A@ 0TQA@ETYA@TđA@`TT઒A@ T"A@:T@@A@TrA@@TA@wT آA@`ITTA@.T`\A@DS A@BSCA@0BSA@CS@A@H@SPA@ h?S]A@;S@A@`9SA@9S 7A@ 98SA@6SA@n5S`.A@3SA@2S`A@3SA@3S+A@4SA@5S`LA@>S`7A@RJSNA@kKSA@<2DT BA@"T*A@'CT`eA@ATA@@w@T`A@@T A@@@TA@>TA@ H;T`A@@T>A@;=T߲A@ =TзA@M` T{A@SA@TKA@TA@6TA@TA@ T NA@?T@A@ RT@;A@qT pA@`_ T`ļA@` TA@@TA@SA@SS A@S IA@S@`A@SఓA@@S@'A@@SjA@@S ?A@4SA@sSLA@TA@+T{A@TKA@?S ȄA@ #SA@S@`A@S IA@SS A@SA@SA@SOA@S A@3S6A@0SA@S A@gSSA@9SGA@SA@ S A@SA@S2A@eSEA@ #SPA@ 8SA@SȕA@mS6A@SA@@gSA@$S ȄA@ S@A@bS4A@S`A@ S?A@S@`A@@JSA@ lSB@SA@(SA@S }A@S vA@JS cA@`SB@gSB@ SB@ L~S2B@,}S B@`|SB@{SB@zS`B@xS}B@`sSbB@IsSwB@oSB@nS*B@ lS tB@ !uS `A@@vS A@wS`A@SA@ASA@pS1A@|}S 9A@}S@A@k~S&A@~S~!A@SJ"A@S2$A@sSt$A@@S(A@S *A@%S`+A@ S``.A@ ~S0A@|S.A@i|S-A@zS/A@ xS.A@@uS1A@sS.A@pS 'A@ RwSA@=ySA@P{SA@|}S 9A@B(`ySB@DS`4GB@"@MSB@OSxB@SS`B@RSB@SSB@pUSgB@XS@B@`;XS B@@vZS B@ZS$B@@]S(B@obS&B@cS&B@dS`A(B@ eS*B@cS0B@cS4B@hSc8B@iS}S A@=S@A@tT@A@pTA@oTA@@lT=A@ ~lT`+A@kT@`A@lT7A@-oTA@pT?A@pT@[A@wT`pA@ ,~TA@RXS`FA@GSUA@(HS@I\A@GS~YA@`SVA@oS`FA@@S@gJA@S`|MA@ySPA@ ғScQA@@S RA@S_WA@HSXA@@Sf\A@S1aA@`S tmA@S 5tA@SxA@S}A@S%A@@SA@ RS A@S@A@`KSIA@`~S AA@SA@ 7S5A@%SA@zSUA@S@;A@ચSA@ ٓS`A@@yS HA@@S`A@qS@UA@S`zA@SA@&S^sA@@S /_A@S>]A@@S` [A@HS@I\A@SS)QA@S ȄA@.S)QA@`S |fA@SgA@?ShA@!ShA@SlA@2S)tA@@'SxA@S ;}A@SA@$S ȄA@SA@`S@xA@S@jA@ SgA@S`bA@.S)QA@T@0 T`*A@?TA@ TKA@TϘA@`lT A@` TA@`/ TΓA@ T`*A@* T`|A@T `A@T-A@TA@TෘA@TBA@QTؕA@`T@ĖA@ TA@mTA@TA@@TiA@@0 TA@T@A@8T`BA@`TXA@` TA@`_ T`ļA@qT pA@ RT@;A@?T@A@ T NA@TA@6TA@TA@TKA@UH T B@ TFB@T B@ T@ B@ TFB@TFB@ T`EB@T B@V@=TB@ TXHB@4T B@ }T B@@\"T B@"Ti#B@@w#T#B@`%TV"B@'T"B@`*T@B@,T)!B@V.T!B@.T!B@*0T!B@ 1T!B@2T`B@7TB@@7T@)B@ 8T]-B@ ,;T`/B@5=T3B@`T@/B@>T2B@5=T3B@ ,;T`/B@ 8T]-B@@7T@)B@7TB@'8T@B@K?T B@QATxB@bS@A@@jS `A@`.S@A@`S{A@eSlA@[S A@SA@wS`A@@vS A@ !uS `A@qS`A@RpS@A@zpS@(A@nSA@@jS@A@`lS@A@tS@A@tSA@#S@A@߃S A@`.S@A@c'8TB@@6T#B@TB@",T@B@'8T@B@7TB@2T`B@ 1T!B@*0T!B@.T!B@V.T!B@,T)!B@`*T@B@'T"B@`%TV"B@@w#T#B@"Ti#B@@\"T B@ }T B@4T B@@6T B@wTB@|T B@Q T' B@ T B@TB@d qTIA@@T B@!ޑTIA@`T/A@ T`A@TA@TA@ TA@T@0A@@ATA@,T@A@T@KA@qT@|A@iT` A@#T B@T B@@ TB@ƕT@@B@T`B@ғTxB@OTB@ T*A@@fT`A@ڎTB@@T:B@TCA@ЋTA@TA@`T @`X@ffffff>@333333X@ffffff>@W@333333>@W@333333>@̬W@=@W@=@ffffffW@=@33333SW@fffff<@33333SW@<@9W@333333<@9W@<@fffff&W@<@ W@33333;@33333V@<@V@<@fffffV@333333<@33333V@ffffff<@33333V@fffff<@fffffV@L=@fffffV@=@lV@=@lV@333333>@@V@=@U@fffff<@U@ffffff<@U@333333<@U@<@U@;@U@L;@U@L;@`U@;@fffffFU@;@U@33333;@U@33333;@33333T@ffffff<@LT@<@LT@fffff<@9T@L=@9T@=@ T@=@fffffT@=@33333S@ffffff>@33333S@fffff>@fffffS@@@fffffS@333333@@S@333333@@33333T@Y@@fffffT@Y@@T@fffff@@333333U@fffff@@fffffFU@@@`U@A@`U@A@33333sU@YA@33333sU@33333sA@̌U@33333sA@fffffU@ffffff<@̬P@̌C@33333S@:C@Q@C@fffffQ@fffffB@R@fffffB@33333R@33333B@@R@A@@R@̌A@33333sR@̌A@fffffR@33333sA@R@YA@R@A@R@A@R@A@R@fffff@@R@fffff@@fffff&S@33333s@@fffff&S@Y@@@S@Y@@lS@333333@@S@333333@@̬S@@@fffffS@fffff>@fffffS@ffffff>@33333S@=@33333S@=@S@=@̬S@L=@S@L=@lS@<@fffff&S@<@R@ffffff<@33333R@ffffff<@R@=@YR@=@YR@>@@R@ffffff>@@R@>@,R@>@33333R@L?@33333Q@L?@Q@?@fffffQ@?@̌Q@@@fffffFQ@@@P@Y@@P@̌@@P@fffff@@̬P@fffff@@P@33333B@P@B@P@C@P@@C@Q@YC@Q@̌C@fffffFQ@̌C@`Q@YC@̌Q@@C@̌Q@C@Q@333337@fffffK@<@fffffN@<@33333M@33333;@fffff&N@33333;@LN@L;@fffffN@:@fffffN@ffffff:@N@3333338@N@fffff7@N@fffff7@LN@333337@fffff&N@333337@YL@3333338@L@ffffff8@L@8@fffffK@ffffff:@fffffK@:@L@L;@L@33333;@YL@33333;@33333L@<@fffffL@<@33333M@ ̌C@P@fffff&F@fffffQ@E@Q@E@33333Q@33333E@fffffQ@E@fffffQ@@E@Q@fffffD@Q@D@fffffQ@fffff&D@fffffQ@D@̌Q@D@yQ@fffffC@`Q@33333C@`Q@̌C@`Q@̌C@fffffFQ@D@P@YD@P@D@Q@33333D@Q@D@333333Q@@E@333333Q@YE@fffffFQ@E@333333Q@E@333333Q@fffff&F@yQ@E@Q@ D@P@E@fffffFQ@E@Q@E@333333Q@YE@fffffFQ@@E@333333Q@D@333333Q@33333D@Q@D@Q@YD@P@fffff&D@P@D@P@D@P@fffff&D@P@33333D@P@D@P@E@P@E@P@E@fffffQ@E@Q@ fffffC@ P@E@P@E@33333P@E@P@E@P@D@P@33333D@P@fffff&D@P@D@̬P@D@P@fffffC@ffffffP@fffffC@9P@D@ P@YD@ P@33333D@ffffffP@fffffD@ffffffP@ E@P@YE@P@E@33333P@ xYD@̌O@33333E@P@ 33333E@LP@E@P@ E@P@fffffD@ffffffP@33333D@ffffffP@YD@ P@YD@ P@33333D@̌O@ E@ P@E@ P@33333E@ P@33333E@LP@ `33333D@333333O@33333E@ P@ 33333E@fffffO@E@ P@ E@ P@33333D@̌O@fffffD@333333O@ E@ffffffO@E@ffffffO@33333E@̌O@33333E@fffffO@fffffD@33333M@fffffE@̌O@ fffffE@333333O@33333E@̌O@E@ffffffO@ E@ffffffO@fffffD@333333O@fffffD@LN@fffffD@fffff&N@@E@fffff&N@YE@33333M@33333E@N@E@N@fffffE@fffffN@fffffE@333333O@YE@M@YF@fffffN@YF@LN@fffff&F@fffffN@fffffE@fffffN@E@N@33333E@N@YE@33333M@YE@M@E@M@E@33333sM@33333E@M@E@@M@fffffE@@M@ F@33333sM@fffff&F@33333sM@YF@M@YF@LN@33333E@YL@33333F@M@33333F@@M@YF@M@fffff&F@33333sM@ F@33333sM@fffffE@@M@E@@M@33333E@M@33333E@̌L@E@YL@@F@YL@YF@̌L@F@̌L@33333F@̌L@33333F@@M@E@fffff&K@fffff&G@̌L@ fffff&G@K@33333F@̌L@YF@̌L@@F@YL@fffffE@YL@E@YL@E@K@ F@K@fffff&F@K@YF@fffff&K@ G@fffff&K@fffff&G@LK@fffff&G@K@fffffD@̌I@F@K@@F@33333J@YF@fffff&K@fffff&F@K@ F@K@E@K@33333E@fffffK@ E@fffffK@fffffD@fffffK@fffffD@33333J@@E@ffffffJ@@E@@J@YE@ J@YE@fffffI@E@33333I@E@33333I@33333E@̌I@E@33333I@fffffE@̌I@@F@̌I@YF@̌I@YF@ J@F@ffffffJ@F@J@F@J@YF@J@@F@33333J@YF@LH@ H@J@ffffffG@ J@@G@@J@@G@J@fffff&G@J@33333F@J@F@J@F@ffffffJ@YF@ J@YF@̌I@F@YI@F@YI@33333F@333333I@33333F@I@33333F@fffffH@fffff&G@fffffH@ffffffG@LH@G@I@33333G@I@ H@333333I@33333G@33333I@33333G@fffffI@G@ J@ffffffG@ J@F@ffffffG@H@333333I@ H@333333I@33333G@I@G@I@fffff&G@33333G@33333F@33333G@F@G@ G@ffffffG@G@ffffffG@33333G@33333G@fffff&H@33333G@@H@H@ffffffH@H@H@LH@H@33333sH@ H@333333I@33333B@H@fffffC@33333J@fffffC@@J@C@ffffffJ@C@J@̌C@33333J@fffff&C@33333J@C@J@fffffB@J@33333B@ffffffJ@33333B@ J@fffffB@33333I@fffffB@I@C@H@C@H@fffffC@I@fffffC@@J@̌C@@J@fffffD@L@fffffD@fffffK@D@K@YD@K@@D@L@fffffC@L@̌C@K@̌C@33333J@C@J@C@ffffffJ@fffffC@@J@@D@@J@YD@ffffffJ@33333sD@ffffffJ@D@33333J@fffffD@33333J@fffffD@fffffK@fffffA@ffffffJ@D@33333sM@fffffC@L@@D@L@YD@K@33333D@K@D@K@D@̌L@33333D@33333L@33333D@fffffL@33333sD@@M@33333sD@33333sM@fffff&D@33333sM@D@@M@D@fffffL@C@̌L@33333C@̌L@̌C@YL@@C@YL@fffffB@K@̌B@K@YB@K@@B@K@fffffA@33333J@@B@ffffffJ@33333B@ffffffJ@fffffB@J@C@J@fffff&C@33333J@33333sC@33333J@̌C@33333J@̌C@K@fffffC@L@33333sD@fffffK@E@fffff&N@33333E@M@E@33333sM@E@M@YE@M@YE@33333M@@E@fffff&N@fffffD@fffff&N@33333sD@33333sM@33333sD@@M@33333D@fffffL@33333D@33333L@D@̌L@D@K@fffffD@fffffK@33333E@fffffK@E@K@E@YL@33333E@̌L@33333E@M@C@fffffH@YE@33333J@@E@@J@@E@ffffffJ@fffffD@33333J@D@33333J@33333sD@ffffffJ@YD@ffffffJ@@D@@J@D@@J@fffffC@@J@fffffC@I@C@H@fffffC@fffffH@YD@fffffH@33333sD@fffffH@33333sD@I@33333D@YI@33333D@̌I@D@33333I@@E@33333I@YE@fffffI@YE@ J@@E@@J@0fffff@@333333O@fffff&D@fffffFQ@#fffffC@9P@fffffC@ffffffP@D@P@D@̬P@fffff&D@P@D@P@D@P@̌C@fffffFQ@YC@Q@@C@Q@C@P@B@P@33333B@P@fffff@@P@fffff@@̬P@fffff@@33333P@@@P@@@ P@fffff@@ P@@A@ P@33333sA@O@fffffA@O@A@̌O@fffffA@̌O@B@333333O@33333sB@333333O@̌B@ffffffO@fffffB@ffffffO@fffff&C@O@YC@O@33333sC@fffffO@33333sC@ P@̌C@ P@C@ P@fffffC@9P@fffff@@YL@fffffD@9P@3fffffD@333333O@YD@ P@YD@ P@D@ P@fffffC@9P@C@ P@̌C@ P@33333sC@ P@33333sC@fffffO@YC@O@fffff&C@O@fffffB@ffffffO@̌B@ffffffO@33333sB@333333O@B@333333O@fffffA@̌O@A@̌O@fffffA@O@̌A@O@33333sA@O@33333sA@333333O@@@fffff&N@@@M@fffff@@M@@@33333sM@fffff@@33333sM@A@@M@A@fffffL@A@33333L@@A@fffffL@@A@M@YA@@M@fffffA@@M@B@33333sM@B@33333sM@@B@@M@̌B@@M@33333B@M@fffffB@M@C@fffffL@C@33333L@@C@YL@̌C@YL@33333C@̌L@C@̌L@D@fffffL@D@@M@fffff&D@33333sM@33333sD@33333sM@fffffD@fffff&N@fffffD@333333O@033333B@`Q@E@fffff&S@#YE@@R@YE@ S@@E@fffff&S@ E@fffff&S@D@R@D@R@33333D@R@fffffC@R@C@33333R@33333C@33333R@̌C@R@33333sC@33333R@B@33333R@33333B@R@33333B@fffffR@B@33333sR@33333B@YR@33333B@@R@fffffB@33333R@fffffB@R@C@fffffQ@C@Q@@C@̌Q@YC@̌Q@̌C@`Q@fffffC@`Q@D@yQ@D@̌Q@fffff&D@fffffQ@D@fffffQ@fffffD@Q@@E@Q@E@fffffQ@E@,R@YE@@R@33333;@L@33333sA@P@-33333sA@333333O@33333sA@O@@A@ P@fffff@@ P@@@ P@@@P@fffff@@33333P@fffff@@̬P@̌@@P@Y@@P@333333@@̬P@333333@@fffffO@@@O@@@̌O@@@ffffffO@?@ffffffO@L?@333333O@L?@ O@?@N@fffff>@N@ffffff>@N@>@N@=@fffff&N@fffff<@fffff&N@<@33333M@333333<@33333M@<@33333M@<@fffffL@33333;@33333L@33333;@̌L@33333;@YL@<@YL@ffffff<@L@=@L@=@333333L@>@333333L@333333>@L@?@L@333333@@33333L@333333@@M@33333s@@33333sM@̌@@33333sM@@@M@@@fffff&N@33333sA@333333O@P@@@J@@C@33333sM@'@C@YL@C@33333L@C@fffffL@fffffB@M@33333B@M@̌B@@M@@B@@M@B@33333sM@B@33333sM@fffffA@@M@YA@@M@@A@M@@A@fffffL@A@33333L@A@fffffL@fffff@@33333L@fffff@@33333L@̌@@̌L@Y@@̌L@333333@@YL@333333@@L@@@K@@@fffffK@333333@@K@333333@@LK@Y@@fffff&K@333333@@33333J@Y@@J@33333s@@J@fffff@@ffffffJ@fffff@@ffffffJ@A@@J@A@ffffffJ@̌A@ffffffJ@@B@K@YB@K@̌B@K@fffffB@K@@C@YL@G@ G@33333H@LH@33333H@G@33333H@H@H@H@H@LH@ffffffH@H@@H@H@fffff&H@33333G@33333G@33333G@G@ffffffG@33333G@@G@fffff&H@@G@@H@ G@ffffffH@@G@33333H@@G@33333H@G@33333H@G@ @H@F@I@G@ I@33333F@33333H@G@33333H@@G@ffffffH@@G@@H@ G@@H@F@@H@YF@H@YF@33333H@F@33333H@F@fffff&I@YF@LI@YF@I@33333F@! G@F@@H@ffffffG@ @H@ G@fffff&H@@G@33333G@@G@G@ffffffG@fffff&G@ffffffG@ G@ffffffG@ G@@G@fffff&G@ G@@G@ G@33333G@F@ H@F@@H@YF@@H@ G@"33333sD@33333G@E@fffffI@E@YI@E@33333I@E@33333I@YE@fffffI@@E@33333I@D@33333I@33333D@̌I@33333D@YI@33333sD@I@33333sD@fffffH@33333D@LH@@E@LH@E@33333G@33333E@33333G@E@H@E@YI@#p33333D@ffffffG@E@LH@ E@33333G@@E@LH@D@LH@33333D@LH@33333D@33333G@D@G@D@G@D@ffffffG@YE@ffffffG@E@G@E@33333G@$A@H@YB@33333J@B@@J@@B@ffffffJ@fffffA@33333J@̌A@ffffffJ@A@ffffffJ@A@@J@A@33333I@A@̌I@A@YI@@A@333333I@@A@I@̌A@33333sH@̌A@LH@fffffA@H@B@H@YB@33333sH@YB@fffffH@B@I@B@333333I@B@YI@B@̌I@B@33333I@B@@J@%B@fffffH@fffffB@ffffffJ@fffffB@33333I@33333B@ J@33333B@@J@33333B@ffffffJ@@B@ffffffJ@B@@J@B@33333I@B@̌I@B@YI@B@333333I@B@I@YB@fffffH@33333B@fffffH@fffffB@I@fffffB@33333I@&B@33333F@D@I@D@33333G@fffffC@H@fffffC@fffffH@C@H@C@H@fffffB@I@33333B@fffffH@33333sB@fffffH@YB@fffffH@YB@33333sH@B@H@B@@G@@B@ G@YB@ G@̌B@33333F@YC@33333F@̌C@ G@fffffC@ G@D@@G@D@33333G@'fffffC@@G@D@fffffH@ 33333D@33333G@33333D@LH@33333sD@fffffH@D@fffffH@fffffC@fffffH@fffffC@H@D@33333G@D@ffffffG@D@@G@33333D@@G@D@ffffffG@D@G@33333D@33333G@(xffffff:@ffffffA@fffff<@33333sB@ fffff<@B@ffffff<@33333sB@333333<@@B@:@@B@ffffff:@B@ffffff:@A@:@̌A@:@̌A@;@ffffffA@<@ffffffA@fffff<@̌A@fffff<@B@)9@?@=@̌A@=@@@L=@A@L=@333333A@fffff<@̌A@<@ffffffA@;@ffffffA@:@̌A@:@̌A@ffffff:@ffffffA@333333:@ffffffA@333339@A@333339@@@9@fffff@@:@?@33333;@?@ffffff<@L@@<@L@@fffff<@@@=@@@=@@@*<@:@ffffff>@=@ 333333>@33333<@333333>@=@=@=@<@=@ffffff<@ffffff=@ffffff<@ffffff<@<@33333;@<@;@333333<@:@333333>@:@ffffff>@;@333333>@L;@333333>@33333<@+333333>@;@333333@@>@333333@@33333<@@@=@@@=@@@>@?@>@L?@>@>@>@ffffff>@>@ffffff>@ffffff=@333333>@=@333333>@L;@ffffff>@;@L?@;@?@L;@@@L;@@@L;@@@ffffff<@333333@@33333<@,@@ffffff<@A@?@fffffA@fffff>@̌A@333333?@@@333333?@fffff@@?@̌@@333333?@33333s@@333333?@Y@@333333?@Y@@fffff>@@@>@@@=@333333@@33333<@Y@@33333<@33333s@@ffffff<@̌A@ffffff<@A@=@fffffA@ffffff=@fffffA@fffff>@-@@fffff9@A@33333<@A@L;@fffffA@33333;@fffffA@<@̌A@ffffff<@33333s@@ffffff<@Y@@33333<@333333@@33333<@@@ffffff<@@@L;@̌@@fffff9@A@fffff9@@A@:@̌A@:@A@L;@.L=@>@@@ffffffA@@@@@@@333333A@@@ffffffA@?@ffffffA@L?@333333A@?@333333A@>@@@=@@@L=@fffff@@L=@@@=@L@@=@fffff?@>@333333?@333333>@333333?@>@>@?@>@L?@>@L?@?@@@@@/pL?@>@Y@@@@ 333333@@?@333333@@L@@333333@@@@@@@@L?@?@L?@>@?@>@@@>@Y@@fffff>@Y@@333333?@333333@@?@033333;@=@>@@@>@333333?@=@fffff?@=@L@@L=@@@fffff<@@@<@L@@ffffff<@L@@33333;@?@33333;@>@ffffff<@ffffff=@<@=@=@=@333333>@=@ffffff>@ffffff=@ffffff>@>@>@>@333333>@333333?@>@333333?@1333333>@7@̌@@L;@ ̌@@fffff9@@@L;@?@L;@L?@;@ffffff>@;@333333>@:@333333>@8@ffffff>@8@@@8@333333@@7@Y@@8@Y@@3333339@̌@@fffff9@2=@3@333333@@8@333333@@7@@@8@ffffff>@8@333333>@8@>@8@=@8@=@7@=@L6@=@6@=@4@=@3333334@=@3@=@3@ffffff>@3@fffff>@fffff3@?@fffff3@?@fffff4@@@fffff4@333333@@5@333333@@7@3Y@@8@fffffA@:@ fffffA@333333:@̌A@:@@A@:@A@fffff9@̌@@fffff9@Y@@3333339@Y@@8@Y@@8@A@8@A@8@33333sA@8@fffffA@3333339@fffffA@333333:@4<@E@?@33333F@?@E@L?@F@?@F@333333>@33333F@fffff<@33333F@<@F@<@YF@fffff<@fffff&F@fffff<@LE@=@E@ffffff>@E@>@LE@L?@LE@?@33333sE@?@E@5fffff<@33333C@L?@LE@L?@̌D@L?@E@L?@LE@>@LE@ffffff>@E@=@E@fffff<@fffffD@fffff<@ffffffD@fffff<@333333D@L=@333333D@=@ D@=@ D@333333>@33333C@>@33333C@?@ D@?@ffffffD@L?@̌D@6ffffff<@B@>@333333D@>@C@>@33333C@333333>@33333C@=@ D@=@ D@L=@333333D@fffff<@333333D@<@ D@<@fffff&C@ffffff<@33333B@ffffff<@33333sB@fffff<@B@=@@B@333333>@@B@ffffff>@33333sB@ffffff>@B@>@33333B@>@C@7Pfffff<@333333A@ffffff>@@B@ffffff>@B@333333>@@B@=@@B@fffff<@B@fffff<@̌A@L=@333333A@ffffff>@B@8L;@7@333333>@;@ 333333>@333333:@333333>@:@333333<@:@<@;@L;@fffff9@L;@8@;@8@L=@8@=@7@=@8@>@8@333333>@8@333333>@333333:@9:@3@=@8@=@L6@=@7@L=@8@;@8@L;@8@:@7@:@L5@;@fffff4@;@fffff4@<@3333334@ffffff<@3333334@<@fffff3@=@fffff3@L=@3@=@3@=@3333334@=@4@=@6@=@L6@: 9@ffffff.@L=@fffff4@!L=@3@=@fffff3@<@fffff3@ffffff<@3333334@<@3333334@;@fffff4@;@fffff4@:@4@:@3333334@:@fffff3@:@3@ffffff:@3@333333:@3@333339@ffffff2@333339@2@9@333331@9@1@9@L0@9@333333/@L9@ffffff.@333339@ffffff.@:@333333/@:@1@ffffff:@333331@:@333331@L;@1@L;@333330@;@L0@33333;@L0@333333<@1@fffff<@1@L=@333331@L=@3@;P5@7@ffffff<@?@'<@;@<@33333;@ffffff<@ffffff<@ffffff<@ffffff=@33333;@>@33333;@333333?@33333;@?@:@?@:@?@:@>@ffffff:@>@333339@>@9@=@L9@=@8@33333<@ffffff8@33333<@3333338@ffffff<@fffff7@ffffff<@7@33333;@L7@33333;@7@L;@fffff5@L;@333335@;@333335@333333:@5@3333339@L5@8@L5@8@5@8@333335@8@fffff5@7@7@7@fffff7@8@3333338@8@8@8@8@7@:@7@L;@8@L;@fffff9@<@;@<L2@3333339@:@@@/:@>@:@?@9@fffff@@L9@fffff@@9@@@8@fffff@@333337@fffff@@7@@@L7@fffff@@fffff5@fffff@@333335@@@L5@@@5@L@@4@L@@fffff3@@@2@@@L2@L@@L2@fffff?@2@?@2@?@3333333@fffff>@3333333@>@3@=@3@=@2@33333<@2@;@3333333@333333:@3333333@fffff9@3@9@fffff3@9@4@3333339@5@3333339@333335@333333:@333335@;@fffff5@L;@7@L;@L7@33333;@7@33333;@fffff7@ffffff<@3333338@ffffff<@ffffff8@33333<@8@33333<@L9@=@9@=@333339@>@ffffff:@>@:@>@=`0@L@@333337@ D@)333337@fffffA@7@B@L7@B@7@@B@7@B@6@B@6@fffff&C@6@YC@ffffff6@YC@6@C@5@C@ffffff4@ D@fffff3@33333C@3@33333C@3333333@C@3333333@33333B@3@B@3@33333sB@2@@B@2@@B@fffff1@B@fffff1@fffffA@3333331@ffffffA@L0@ffffffA@0@333333A@0@@@L0@fffff@@fffff1@fffff@@L2@L@@2@@@fffff3@@@4@L@@5@L@@L5@@@333335@@@fffff5@fffff@@L7@fffff@@7@@@7@333333A@333337@ffffffA@333337@fffffA@>6@fffff@@:@33333C@333339@B@333339@C@9@33333C@L7@33333C@6@YC@6@B@7@B@7@@B@L7@B@7@B@333337@fffffA@333337@ffffffA@7@333333A@7@@@333337@fffff@@8@fffff@@9@@@L9@fffff@@9@fffff@@333339@@@333339@A@333333:@ffffffA@ffffff:@ffffffA@:@̌A@ffffff:@A@ffffff:@B@333339@B@?333339@B@fffff<@fffffD@<@ D@fffff<@333333D@fffff<@D@fffff<@fffffD@;@fffffD@:@fffffD@:@ffffffD@333339@C@333339@B@ffffff:@B@:@@B@333333<@@B@ffffff<@33333sB@ffffff<@33333B@<@fffff&C@<@ D@@4@F@Y@@fffffK@8Y@@ J@333333@@@J@L?@@J@?@ffffffJ@ffffff>@ffffffJ@333333>@@J@>@@J@=@ffffffJ@=@33333J@=@fffff&K@=@LK@L=@K@:@K@ffffff:@fffffK@8@fffffK@3333338@fffff&K@3333338@33333J@fffff7@J@fffff7@J@333337@ffffffJ@7@ffffffJ@6@@J@5@@J@4@ J@4@fffffI@4@YI@4@33333sH@4@H@4@H@5@33333G@5@G@5@ffffffG@fffff7@ffffffG@8@F@8@ G@9@ G@:@ffffffG@:@ffffffG@;@G@L;@G@;@33333G@<@33333G@333333<@H@L=@H@=@33333sH@=@fffffH@>@H@ffffff>@H@>@fffffH@?@fffffH@?@LH@@@LH@333333@@33333sH@333333@@fffffH@Y@@H@Y@@ J@A3333338@fffffD@L=@H@<@YF@<@F@fffff<@33333F@fffff<@ G@L=@ffffffG@L=@33333G@L=@H@333333<@H@<@33333G@;@33333G@L;@G@;@G@:@ffffffG@:@ffffffG@9@ G@8@ G@8@F@8@33333F@3333338@YF@3333338@fffffE@8@LE@:@LE@333333:@E@:@E@:@fffffD@fffff<@fffffD@=@E@fffff<@LE@fffff<@fffff&F@<@YF@Bffffff4@YC@:@ffffffG@8@LE@3333338@fffffE@3333338@YF@8@33333F@8@F@fffff7@ffffffG@5@ffffffG@L5@@G@L5@F@4@F@4@F@L5@fffffE@L5@D@4@ffffffD@4@ffffffD@ffffff4@333333D@ffffff4@ D@5@C@6@C@ffffff6@YC@6@YC@L7@33333C@9@33333C@333339@C@:@ffffffD@:@fffffD@:@E@333333:@E@:@LE@8@LE@C)@333333A@5@33333sH@@4@ffffffD@4@ffffffD@L5@D@L5@fffffE@4@F@4@F@L5@F@L5@@G@5@ffffffG@5@G@5@33333G@4@H@4@H@4@33333sH@fffff3@LH@333333@LH@3@G@3@ffffffG@2@@G@2@@G@L2@ G@fffff1@ G@ffffff1@33333F@ffffff1@F@3333331@YF@3333331@fffff&F@1@F@1@E@3333331@fffffE@3333331@E@1@fffffD@1@̌D@L0@ D@ffffff.@ D@-@33333C@+@33333C@333333+@C@*@C@)@B@)@B@*@@B@ffffff*@@B@333333+@fffffA@333333,@fffffA@-@̌A@.@̌A@ffffff/@ffffffA@/@ffffffA@0@333333A@L0@ffffffA@3333331@ffffffA@fffff1@fffffA@fffff1@B@2@@B@2@@B@3@33333sB@3@B@3333333@33333B@3333333@C@3@33333C@fffff3@33333C@ffffff4@ D@ffffff4@333333D@4@ffffffD@D@E@YC@fffffE@D@ E@ffffffD@33333E@̌D@E@̌D@E@D@@E@ffffffD@@E@C@YE@33333C@YE@C@E@YC@33333E@YC@fffffE@33333C@E@C@E@ffffffD@ExE@C@G@fffffD@ G@̌D@@G@fffffD@fffff&F@fffffD@E@ffffffD@E@C@fffffE@33333C@F@33333C@33333F@C@33333F@C@fffff&G@C@fffff&G@ D@G@̌D@FpE@B@33333F@33333C@ 33333F@C@F@33333C@fffffE@33333C@E@C@fffffE@YC@ F@YC@@F@33333B@F@33333B@F@B@33333F@33333B@33333F@C@G`F@B@ffffffG@C@ ffffffG@B@33333F@C@F@C@33333F@C@33333F@33333B@F@B@33333F@B@@G@B@ffffffG@B@HfffffA@33333<@33333B@@@33333B@?@̌B@fffff?@̌B@fffff@@33333sB@@@B@@@B@fffff@@B@?@fffffA@333333?@A@333333?@fffffA@fffff>@fffffA@ffffff=@A@=@B@=@@B@33333<@̌B@33333<@33333B@=@33333B@?@I33333B@ffffff<@C@?@C@fffff>@33333C@333333?@C@333333?@fffffB@?@B@?@33333B@?@33333B@ffffff=@33333B@=@fffffB@=@fffff&C@ffffff<@@C@33333<@33333sC@33333<@̌C@=@33333C@=@C@ffffff=@C@fffff>@J̌A@L;@fffff&C@=@fffff&C@ffffff<@fffffB@=@33333B@=@̌B@33333<@@B@33333<@B@=@A@=@̌A@ffffff<@fffffA@<@fffffA@33333;@A@L;@̌B@L;@33333B@33333;@C@33333;@fffff&C@<@fffff&C@ffffff<@ǨA@3333339@fffff&C@33333;@fffff&C@L;@C@33333;@33333B@33333;@̌B@L;@A@L;@̌A@:@fffffA@333333:@fffffA@9@fffffA@3333339@YB@3333339@33333sB@9@fffffB@9@C@9@C@fffff9@fffff&C@333333:@fffff&C@L;@LY@@fffff>@B@̌A@B@fffff@@B@@@fffffA@333333A@YA@333333A@@A@ffffffA@A@ffffffA@A@̌A@fffff@@̌A@̌@@ffffffA@33333s@@ffffffA@Y@@333333A@Y@@fffff@@fffff@@fffff&@@fffff@@?@@@333333?@̌A@333333?@fffffA@fffff>@A@333333?@fffffA@333333?@B@?@B@fffff@@MxfffffA@@@33333B@@B@ 33333B@ffffffA@̌B@̌A@̌B@fffffA@YB@@B@B@@B@fffffA@fffffA@fffffA@333333A@B@@@33333sB@@@̌B@A@̌B@333333A@33333B@ffffffA@NB@ffffffA@D@333333D@fffffC@fffff&C@fffffC@YC@̌C@YC@YC@33333C@YC@C@YC@ D@33333B@ D@̌B@333333D@33333sB@ D@33333sB@C@B@33333B@B@33333sB@B@@B@YB@@B@̌B@fffffA@̌B@̌A@33333B@ffffffA@fffff&C@ffffffA@@C@̌A@YC@̌A@̌C@fffffA@C@fffffA@D@@B@fffffC@33333sB@fffffC@fffff&C@O`YC@YC@YD@̌D@ YD@ D@D@̌D@fffffC@ffffffD@̌C@ffffffD@YC@ D@YC@33333C@̌C@YC@fffffC@YC@YD@ D@P`33333D@ffffffD@E@fffffE@ E@fffffE@33333D@E@33333D@fffffD@fffffD@̌D@fffff&E@̌D@@E@ffffffD@E@D@E@fffffD@ E@fffffE@QD@33333C@@E@E@@E@ffffffD@fffff&E@̌D@fffffD@̌D@33333D@fffffD@33333D@E@fffff&D@E@D@fffffD@D@̌D@YD@ D@33333sD@ D@33333D@33333C@fffff&E@33333C@@E@C@@E@ffffffD@RfffffC@B@YE@ D@YE@C@YE@33333C@@E@C@fffff&E@33333C@33333D@33333C@33333sD@ D@YD@ D@fffffC@YC@fffffC@33333sB@D@@B@YD@@B@33333sD@B@33333D@33333sB@33333D@B@D@B@fffffD@B@YE@C@S33333D@B@E@fffff&C@E@B@YE@33333B@@E@33333B@fffff&E@fffff&C@fffffD@B@D@B@33333D@B@33333D@33333sB@D@@B@ E@@B@fffff&E@B@YE@33333sB@YE@B@E@B@Tfffff&E@B@@F@C@ F@B@fffff&F@B@@F@33333B@ F@YC@fffffE@YC@E@C@33333E@YC@E@YC@YE@C@fffff&E@fffff&C@@E@33333B@YE@33333B@E@B@YE@B@YE@33333sB@@E@@B@YE@B@33333E@B@fffffE@33333sB@fffffE@B@ F@B@U@F@333333?@ffffffG@ffffffA@ fffff&G@L@@ffffffG@fffff@@@G@@@@G@333333A@fffff&G@ffffffA@ G@333333A@33333F@333333A@@F@@@@F@?@YF@333333?@33333F@333333?@fffff&G@fffff?@fffff&G@L@@V33333F@B@@H@̌D@@H@ D@fffff&H@333333D@fffff&H@ffffffD@ H@̌D@G@̌D@fffff&G@ D@fffff&G@C@33333F@C@ffffffG@B@33333G@B@G@33333B@fffff&H@33333B@@H@fffff&C@@H@ D@W33333E@̌A@33333F@33333B@ F@33333sB@33333F@B@F@33333B@@F@33333B@fffff&F@B@ F@B@fffffE@B@fffffE@33333sB@33333E@B@ F@̌A@F@̌A@F@A@F@33333sB@XffffffG@fffff&@@33333I@B@33333I@@@33333I@333333A@I@ffffffA@ I@ffffffA@33333H@̌A@33333H@̌A@H@ffffffA@@H@ffffffA@fffff&H@̌A@ H@̌A@G@fffffA@33333G@fffffA@G@B@G@B@ffffffG@fffffA@ffffffG@̌A@G@ffffffA@G@ffffffA@33333G@333333A@33333G@fffff@@G@@@ H@@@fffff&H@L@@@H@@@H@@@H@L@@33333H@L@@ I@fffff&@@LI@@@I@@@33333I@@@Y@G@ffffffA@33333H@fffff&C@33333H@B@H@33333B@ffffffH@33333B@@H@fffff&C@fffff&H@33333B@G@33333B@33333G@B@ffffffG@B@@G@B@ffffffG@33333sB@ffffffG@@B@G@B@G@B@33333G@fffffA@G@fffffA@ H@̌A@fffff&H@̌A@@H@ffffffA@H@ffffffA@33333H@̌A@33333H@B@Z33333H@ffffffA@33333I@fffff&C@33333I@B@I@33333B@I@33333B@I@fffff&C@ffffffI@33333B@H@33333B@33333H@B@33333H@A@33333H@̌A@33333H@̌A@ I@ffffffA@I@ffffffA@33333I@̌A@33333I@B@[I@@@fffffK@33333B@K@fffffA@fffffK@B@fffffK@B@ffffffK@33333B@LK@B@333333K@B@ K@33333B@33333J@B@J@B@J@33333B@ J@33333B@33333I@B@33333I@̌A@I@ffffffA@33333I@333333A@33333I@@@ J@fffff@@ffffffJ@fffff@@J@@@J@fffff@@J@fffff@@33333J@@@333333K@@@LK@@@LK@333333A@K@̌A@K@fffffA@\I@B@J@fffffD@J@ffffffD@J@̌D@J@fffffD@LJ@fffffD@33333I@ffffffD@I@ffffffD@I@ D@I@fffff&C@I@33333B@I@33333B@33333I@B@ J@33333B@J@33333B@J@33333B@J@ffffffD@]`J@B@LK@̌D@ LK@333333D@ K@̌D@J@̌D@J@ffffffD@J@33333B@J@B@33333J@B@LK@YC@LK@333333D@^LK@B@ffffffL@ffffffD@ffffffL@C@LL@33333C@LL@333333D@333333L@ffffffD@ffffffK@ffffffD@LK@333333D@LK@YC@ffffffK@fffff&C@ffffffK@33333B@fffffK@B@L@B@333333L@B@LL@B@ffffffL@33333B@ffffffL@C@_LL@C@ffffffM@fffffD@LM@333333D@LM@ffffffD@ffffffM@̌D@333333M@fffffD@33333L@fffffD@L@̌D@fffffL@̌D@L@ffffffD@ffffffL@ffffffD@LL@333333D@LL@33333C@ffffffL@C@L@C@LM@333333D@`LL@33333sB@333333N@̌D@333333N@33333C@N@ D@N@ffffffD@M@̌D@ffffffM@̌D@LM@ffffffD@LM@333333D@L@C@L@C@ffffffL@C@ffffffL@33333B@LL@B@L@33333sB@fffffL@B@ffffffM@B@̌M@B@N@B@333333N@fffff&C@333333N@33333C@affffffL@333333A@N@B@M@fffffA@N@B@N@B@N@B@̌M@B@ffffffM@B@fffffL@B@L@33333sB@L@@B@ffffffL@B@ffffffL@̌A@L@ffffffA@333333M@ffffffA@LM@333333A@ffffffM@ffffffA@M@ffffffA@M@̌A@M@fffffA@bhLL@@@LM@ffffffA@ LM@333333A@333333M@ffffffA@L@ffffffA@ffffffL@333333A@ffffffL@@@LL@fffff@@ffffffL@@@333333M@@@LM@fffff@@LM@333333A@c`ffffffL@?@LM@@@ LM@L@@333333M@@@L@@@ffffffL@@@ffffffL@fffff?@L@?@333333M@?@LM@fffff?@LM@L@@dLK@@@L@B@ffffffL@̌A@ffffffL@B@L@@B@L@33333sB@LL@B@333333L@B@L@B@K@B@fffffK@B@fffffK@B@K@fffffA@K@̌A@LK@333333A@LK@@@K@@@K@@@33333K@fffff@@LL@fffff@@ffffffL@@@ffffffL@333333A@L@ffffffA@ffffffL@̌A@eF@333333A@G@B@G@B@ffffffG@@B@ffffffG@33333sB@@G@B@33333F@B@F@33333sB@F@A@F@̌A@33333F@333333A@ G@333333A@@G@̌A@ffffffG@̌A@ffffffG@fffffA@G@B@fP33333D@fffffA@fffff&E@@B@fffff&E@B@ E@@B@D@@B@33333D@B@D@fffffA@ E@fffffA@fffff&E@B@gpC@333333A@D@@B@ D@fffffA@YD@@B@D@@B@C@fffffA@fffffC@A@fffffC@̌A@fffff&D@333333A@@D@333333A@33333sD@̌A@33333sD@A@D@fffffA@hfffffC@333333?@fffff&E@B@ E@fffff@@fffff&E@@@ E@A@ E@A@ E@fffffA@D@fffffA@33333D@B@33333sD@A@33333sD@̌A@@D@333333A@@D@A@fffffC@@@fffffC@fffff&@@fffffC@fffff?@@D@fffff?@YD@?@33333D@?@D@333333?@ E@fffff?@ E@fffff@@ifffff&C@@@@D@fffffA@fffffC@̌A@fffffC@A@C@fffffA@̌C@fffffA@YC@̌A@@C@̌A@fffff&C@ffffffA@fffff&C@333333A@33333sC@fffff@@C@fffff@@fffffC@@@@D@A@@D@333333A@fffff&D@333333A@fffffC@̌A@j33333sB@333333?@fffffC@ffffffA@fffffC@@@C@fffff@@33333sC@fffff@@fffff&C@333333A@fffff&C@ffffffA@33333B@ffffffA@̌B@333333A@̌B@A@33333sB@@@̌B@fffff@@̌B@fffff?@33333B@?@fffffB@?@C@333333?@33333C@333333?@fffffC@fffff?@fffffC@@@kfffff&E@B@@F@C@ F@B@fffff&F@B@@F@33333B@ F@YC@fffffE@YC@E@C@33333E@YC@E@YC@YE@C@fffff&E@fffff&C@@E@33333B@YE@33333B@E@B@YE@B@YE@33333sB@@E@@B@YE@B@33333E@B@fffffE@33333sB@fffffE@B@ F@B@l E@@@33333F@@B@F@̌A@ F@̌A@33333E@B@YE@B@@E@@B@ E@fffffA@ E@A@fffff&E@@@E@@@E@fffff@@33333E@fffff@@E@@@@F@@@33333F@333333A@F@̌A@m E@333333?@@F@@@@F@L@@@F@@@E@@@33333E@fffff@@E@fffff@@E@@@fffff&E@@@ E@fffff@@ E@fffff?@fffff&E@?@YE@?@E@333333?@fffff&F@333333?@@F@?@@F@L@@nD@=@@F@fffff?@ @F@>@@F@fffff>@fffff&F@333333?@E@333333?@YE@?@fffff&E@?@ E@fffff?@D@333333?@fffff&E@>@@E@>@E@=@fffffE@=@@F@>@ox@F@=@ G@333333?@ 33333F@>@ G@>@ G@fffff>@33333F@333333?@YF@333333?@@F@fffff>@@F@>@F@=@33333F@=@F@ffffff=@F@=@33333F@>@p@E@9@ G@>@ G@ffffff<@ G@33333<@F@ffffff=@33333F@=@F@=@@F@>@fffffE@=@E@=@YE@ffffff<@YE@33333;@@E@L;@@E@;@E@333333:@E@fffff9@E@9@YF@9@F@fffff9@F@fffff9@F@:@33333F@;@33333F@L;@ G@ffffff<@q33333C@;@E@fffff?@@E@>@fffff&E@>@33333D@?@YD@?@@D@fffff?@fffffC@fffff?@33333C@333333?@C@fffff>@C@ffffff=@fffff&D@ffffff<@@D@ffffff<@YD@<@YD@33333;@D@;@fffff&E@;@@E@;@@E@L;@YE@33333;@YE@ffffff<@E@=@@E@>@rC@8@33333sD@ffffff=@33333sD@L;@YD@33333;@YD@<@@D@ffffff<@fffff&D@ffffff<@C@ffffff=@33333C@=@̌C@=@33333sC@33333<@@C@33333<@fffff&C@ffffff<@fffff&C@<@C@33333;@fffff&C@L;@fffff&C@333333:@C@fffff9@C@9@YC@8@C@8@fffffC@8@fffffC@3333339@D@9@D@fffff9@33333sD@L;@sfffffC@8@E@L;@E@fffff9@E@333333:@@E@;@D@;@33333sD@L;@D@fffff9@D@9@fffffC@3333339@fffffC@8@D@8@33333sD@8@D@8@YE@8@E@8@E@3333339@E@9@E@fffff9@t33333F@=@fffff&H@fffff@@fffff&H@L@@ H@@@G@@@33333G@fffff@@ffffffG@fffff@@fffff&G@L@@fffff&G@fffff?@33333F@333333?@ G@fffff>@ G@>@fffff&G@=@ H@=@fffff&H@>@fffff&H@L@@uxfffff&G@fffff@@33333G@̌A@ 33333G@333333A@G@ffffffA@G@ffffffA@ffffffG@̌A@@G@̌A@fffff&G@ffffffA@@G@333333A@@G@@@ffffffG@fffff@@G@fffff@@33333G@fffff@@33333G@333333A@vfffff&H@ffffff=@fffff&I@@@ I@?@ I@fffff&@@33333H@L@@H@L@@H@@@@H@@@fffff&H@L@@fffff&H@>@@H@=@H@=@33333H@ffffff=@fffff&I@>@fffff&I@333333?@ I@?@w33333H@9@J@>@J@33333;@ffffffJ@ffffff<@LJ@ffffff<@ J@=@ J@ffffff=@33333I@=@ffffffI@=@LI@>@fffff&I@>@33333H@ffffff=@33333H@33333<@fffff&I@<@fffff&I@L;@LI@;@LI@333333:@LI@fffff9@I@fffff9@I@9@J@9@J@9@J@33333;@xxF@ffffff<@@H@>@ @H@=@ H@=@fffff&G@=@ G@>@33333F@>@F@=@F@ffffff=@ G@33333<@@G@33333<@ffffffG@ffffff<@ H@ffffff<@@H@=@y33333F@3333339@@H@33333<@@H@ffffff<@fffff&H@33333<@ H@ffffff<@ffffffG@ffffff<@@G@33333<@fffff&G@33333<@ G@33333<@ G@ffffff<@33333F@L;@33333F@;@F@:@@G@:@ffffffG@333333:@ffffffG@fffff9@G@9@G@9@33333G@3333339@fffff&H@3333339@@H@9@@H@ffffff<@zhfffff&H@ffffff<@33333H@=@ 33333H@33333<@33333H@ffffff=@H@=@@H@=@fffff&H@ffffff=@@H@=@fffff&H@33333<@@H@ffffff<@H@ffffff<@33333H@33333<@{x@H@9@LI@33333<@ LI@;@fffff&I@L;@fffff&I@<@33333H@33333<@H@ffffff<@ffffffH@ffffff<@@H@ffffff<@@H@fffff9@@H@9@fffff&I@9@LI@fffff9@LI@;@| I@=@J@@@LJ@?@ffffffJ@?@J@fffff?@J@@@ffffffJ@fffff@@ J@fffff@@33333I@@@I@@@LI@@@ I@fffff&@@ I@?@fffff&I@333333?@fffff&I@>@fffff&I@>@LI@>@ffffffI@=@33333I@=@ J@>@ J@>@fffff&J@fffff>@fffff&J@333333?@LJ@?@}J@fffff>@ffffffL@@@ffffffL@fffff?@ffffffL@@@LL@fffff@@33333K@fffff@@K@@@K@@@LK@@@33333J@@@J@fffff@@J@fffff@@J@@@J@fffff&@@J@fffff?@J@fffff?@ K@333333?@ffffffK@333333?@K@fffff>@fffffK@fffff>@K@333333?@L@333333?@333333L@?@LL@?@ffffffL@fffff?@~33333I@33333;@fffffK@fffff?@K@>@fffffK@>@fffffK@fffff>@K@fffff>@ffffffK@333333?@ K@333333?@J@fffff?@J@fffff?@ffffffJ@?@LJ@?@fffff&J@333333?@fffff&J@fffff>@ J@>@ J@>@33333I@=@ J@ffffff=@ J@=@LJ@ffffff<@ffffffJ@ffffff<@J@33333;@33333J@33333;@333333K@ffffff<@LK@ffffff<@ffffffK@33333<@ffffffK@ffffff=@K@=@K@>@J@7@L@=@L@L;@L@<@ffffffL@<@LL@ffffff<@LL@33333<@33333K@=@K@=@ffffffK@ffffff=@ffffffK@33333<@LK@ffffff<@333333K@ffffff<@33333J@33333;@J@33333;@J@33333;@J@9@J@3333339@J@3333339@33333J@8@33333J@8@ K@8@K@8@fffffK@7@K@8@K@8@33333K@8@fffffL@8@L@8@L@L;@K@<@LM@fffff?@33333L@>@M@>@333333M@>@LM@fffff>@LM@333333?@333333M@?@L@?@ffffffL@fffff?@LL@?@333333L@?@L@333333?@K@333333?@fffffK@fffff>@fffffK@>@K@>@K@=@33333K@=@LL@33333<@LL@ffffff<@ffffffL@<@L@<@fffffL@ffffff<@L@ffffff<@L@33333<@L@=@33333L@ffffff=@33333L@>@P@=@YQ@333333A@fffffFQ@?@fffffFQ@fffff&@@9Q@L@@ Q@L@@33333P@fffff@@fffffP@fffff@@P@333333A@P@333333A@̌P@A@̌P@@@P@fffff@@fffffP@?@fffffP@>@fffffP@=@ Q@=@ Q@>@fffffFQ@>@YQ@>@YQ@333333?@fffffFQ@?@ P@=@fffffP@fffff@@fffffP@?@P@fffff@@33333SP@fffff@@fffffFP@@@9P@@@ P@fffff?@ P@?@,P@fffff>@,P@>@,P@>@`P@>@33333sP@=@P@=@̬P@>@P@>@fffffP@>@fffffP@?@fffffK@L5@33333L@8@L@8@L@8@fffffL@8@33333K@8@K@8@K@8@fffffK@7@fffffK@7@33333K@6@33333K@5@L@L5@L@L5@fffffL@5@L@5@33333L@L6@L@333336@L@8@J@2@L@8@L@L5@33333K@5@33333K@6@fffffK@7@fffffK@7@K@8@ K@8@33333J@7@33333J@ffffff7@J@7@ K@L6@ K@3333334@333333K@fffff3@LK@fffff3@K@3@K@2@fffffK@ffffff2@fffffK@2@K@2@K@ffffff2@K@3@33333K@3@33333K@fffff4@L@L5@LK@+@LL@L0@LL@-@333333L@ffffff.@L@ffffff.@33333K@333333/@33333K@0@K@L0@fffffK@L0@K@0@K@333333/@LK@-@ffffffK@-@ffffffK@ffffff,@K@+@333333L@+@LL@ffffff,@LL@-@K@-@33333L@ffffff2@33333L@ffffff1@L@2@L@ffffff2@ffffffL@ffffff2@LL@2@33333K@2@K@ffffff2@K@2@fffffK@2@K@333331@K@333330@fffffK@L0@K@L0@33333K@0@33333K@333333/@L@ffffff.@333333L@ffffff.@LL@-@ffffffL@ffffff.@L@ffffff.@fffffL@333333/@L@333333/@33333L@L0@33333L@ffffff1@L@333333/@N@3@M@ffffff1@fffffM@2@fffffM@3@̌M@3@ffffffM@3@33333L@3@L@ffffff2@L@2@33333L@ffffff1@33333L@333330@33333L@L0@333333M@L0@ffffffM@333333/@M@333333/@N@L0@M@333330@M@ffffff1@LL@+@ffffffM@L0@LM@ffffff.@ffffffM@333333/@333333M@L0@33333L@L0@L@333333/@fffffL@333333/@L@ffffff.@ffffffL@ffffff.@LL@-@LL@ffffff,@L@+@333333M@+@LM@+@LM@ffffff.@LO@@@P@fffff&C@fffffFP@̌A@ P@@B@ P@B@P@B@fffffO@B@fffffO@fffff&C@̌O@33333B@̌O@A@LO@ffffffA@33333sO@333333A@̌O@333333A@O@@@,P@@@9P@fffff@@9P@@@fffffFP@@@33333SP@fffff@@P@fffff@@̌P@@@̌P@A@P@333333A@P@̌A@fffffFP@̌A@fffffN@33333;@9P@ffffffA@ ,P@fffff>@ P@?@ P@fffff?@9P@@@9P@fffff@@,P@@@O@@@̌O@333333A@33333sO@333333A@LO@ffffffA@333333O@ffffffA@N@@@N@@@fffffN@fffff@@fffffN@@@N@fffff&@@N@>@fffffN@=@N@ffffff=@N@=@N@33333<@N@<@O@33333;@fffffO@33333;@fffffO@ffffff<@P@ffffff<@ P@33333<@ P@=@P@ffffff=@P@=@,P@>@,P@fffff>@fffffM@33333<@N@@@N@>@N@fffff&@@fffffN@@@N@@@N@L@@N@?@M@333333?@M@fffff>@fffffM@>@fffffM@ffffff=@M@=@M@=@N@33333<@N@=@LN@=@̌N@=@fffffN@=@N@>@333333M@:@N@ffffff=@N@33333<@M@=@M@=@fffffM@ffffff=@̌M@=@ffffffM@=@333333M@ffffff<@333333M@33333;@ffffffM@;@̌M@;@fffffM@:@M@;@M@;@N@L;@N@33333<@N@;@O@=@N@33333<@N@=@N@ffffff=@fffffN@=@̌N@=@LN@=@N@=@N@33333<@N@L;@N@;@N@;@O@33333;@N@<@N@33333<@L@3@9Q@>@=P@fffff9@fffffP@;@33333P@;@fffffP@L;@33333P@L;@ Q@<@ Q@ffffff<@ Q@33333<@ Q@=@ Q@ffffff=@ Q@=@fffffP@=@fffffP@>@P@>@̬P@>@P@=@33333sP@=@`P@>@,P@>@P@=@P@ffffff=@ P@=@ P@33333<@P@ffffff<@fffffO@ffffff<@fffffO@33333;@O@33333;@N@;@N@;@N@L;@M@;@M@;@fffffM@:@fffffM@3333339@ffffffM@8@33333L@8@L@8@L@333336@33333L@L6@333333M@L6@ffffffM@5@33333sN@5@fffffN@fffff4@N@fffff4@O@3333334@fffffO@3333334@O@fffff3@fffffFP@fffff3@33333SP@3@P@3@̬P@3@,Q@3@9Q@3@9Q@fffff3@Q@L5@fffffP@L5@33333P@5@P@5@̌P@333336@P@7@P@fffff9@0̌P@+@ S@ffffff=@C33333S@L6@33333R@7@33333R@9@fffffR@fffff9@fffffR@:@R@;@R@;@̬R@L;@̬R@33333<@R@=@9R@=@,R@ffffff=@ R@=@33333Q@=@fffffQ@33333<@Q@33333<@fffffQ@ffffff<@fffffQ@<@Q@33333;@Q@L;@R@9@R@8@33333Q@7@Q@7@Q@8@Q@9@̬Q@fffff9@̬Q@L;@33333sQ@33333<@ Q@33333<@ Q@ffffff<@ Q@<@33333P@L;@fffffP@L;@33333P@;@fffffP@;@P@fffff9@P@7@̌P@333336@P@5@33333P@5@fffffP@L5@Q@L5@9Q@fffff3@9Q@3@,Q@3@,Q@333331@9Q@ffffff1@9Q@ffffff,@9Q@+@Q@+@fffffQ@ffffff,@fffffQ@ffffff,@33333R@ffffff.@ R@ffffff.@,R@333333/@,R@L0@9R@333330@ffffffR@333330@33333sR@1@R@1@33333R@ffffff2@33333S@ffffff2@ S@2@ S@4@33333S@fffff4@33333S@L6@R@;@T@fffffA@2 T@@@fffffT@@@33333T@fffff@@T@fffff@@T@@@T@A@T@333333A@fffffT@333333A@yT@ffffffA@lT@ffffffA@YT@̌A@YT@A@LT@fffffA@ T@fffffA@fffffT@̌A@S@̌A@̬S@ffffffA@yS@ffffffA@ffffffS@̌A@R@̌A@̬R@ffffffA@33333R@ffffffA@R@333333A@R@333333?@R@>@R@>@̬R@=@̬R@ffffff=@R@=@̬R@33333<@̬R@L;@R@;@R@;@33333R@33333;@33333S@33333;@ S@<@ S@=@,S@ffffff=@,S@=@@S@>@LS@>@ffffffS@fffff>@ffffffS@333333?@yS@?@S@?@̬S@fffff?@S@fffff?@S@L@@33333T@L@@ T@@@K@2@̌M@L6@ffffffM@5@333333M@L6@33333L@L6@L@5@fffffL@5@L@L5@L@L5@33333K@fffff4@33333K@3@K@3@K@ffffff2@33333K@2@LL@2@ffffffL@ffffff2@L@ffffff2@33333L@3@ffffffM@3@̌M@3@ffffffM@fffff3@ffffffM@5@hffffffM@3@fffffN@5@ fffffN@3333334@fffffN@fffff4@33333sN@5@̌M@5@ffffffM@5@ffffffM@fffff3@fffffM@3@M@3@33333sN@3@fffffN@3333334@pfffffM@L0@33333sN@3@ 33333sN@3@33333sN@3@M@3@fffffM@3@fffffM@2@M@ffffff1@M@333330@N@L0@333333N@L0@33333sN@1@33333sN@3@PM@)@9Q@fffff4@'9Q@ffffff1@,Q@333331@,Q@2@,Q@3@̬P@3@P@3@33333SP@3@fffffFP@fffff3@O@fffff3@fffffO@3333334@O@3333334@N@fffff4@N@fffff4@fffffN@fffff4@fffffN@3333334@33333sN@3@33333sN@1@333333N@L0@N@L0@M@0@N@333333/@N@333333/@LN@-@LN@ffffff,@33333sN@+@̌N@+@fffffN@+@N@+@̌O@+@fffffO@ffffff,@ P@ffffff,@P@+@`P@+@33333sP@+@P@+@P@)@ Q@)@9Q@+@9Q@ffffff1@xfffffN@?,S@ffffff,@L,S@!@33333S@ffffff"@33333R@ffffff"@fffffR@!@R@!@R@ffffff @33333R@ffffff @33333sR@!@33333R@!@R@ffffff"@33333Q@ffffff"@fffffQ@333333#@fffffQ@333333#@̬Q@$@Q@$@̌Q@333333%@̌Q@&@33333sQ@333333(@9Q@333333(@,Q@(@ Q@(@ Q@)@P@)@P@+@33333sP@+@`P@+@P@+@ P@ffffff,@fffffO@ffffff,@̌O@+@N@+@fffffN@+@fffffN@(@333333O@333333%@LO@333333%@33333sO@$@̌O@$@fffffO@#@fffffO@333333#@O@ffffff"@O@!@ P@333333@ P@ffffff@P@@̌P@@̬P@@33333P@@Q@ffffff@Q@@ Q@@,Q@@9Q@@9Q@333333@fffffFQ@@fffffFQ@ffffff@33333sQ@ @33333sQ@ @33333sQ@ffffff@̬Q@ffffff@Q@@Q@@Q@ffffff?fffffQ@ffffff?33333Q@?33333R@?33333sR@?R@ffffff@R@333333@R@@R@@fffffR@333333@33333S@333333@ S@@ S@@,S@@,S@!@@̌O@?33333sQ@@%fffffFQ@ffffff@fffffFQ@@9Q@333333@9Q@@,Q@@ Q@@Q@@Q@ffffff@33333P@@̬P@@̌P@@P@@P@@fffffO@@̌O@@̌O@ @fffffO@@,P@@9P@?33333SP@?`P@ffffff?`P@ffffff?33333sP@?̌P@?P@ffffff?̬P@ffffff?P@?P@ffffff?fffffP@?33333P@?fffffP@ffffff?,Q@ffffff?9Q@?fffffFQ@?33333sQ@ffffff@33333sQ@ @fffffFQ@ffffff@fffff&F@3@33333H@8@33333H@333336@H@7@H@7@@H@7@fffff&H@7@ H@8@33333G@8@G@7@ffffffG@7@fffff&G@7@F@7@F@ffffff7@YF@ffffff7@fffff&F@333336@fffff&F@L6@@F@6@@F@5@F@fffff4@F@fffff4@F@3333334@ G@3333334@@G@3@ H@3@@H@3333334@@H@fffff4@ffffffH@L5@H@L5@33333H@6@33333H@333336@ H@L0@I@6@LI@3@LI@3@ I@3333334@ I@4@33333H@fffff4@33333H@L5@33333H@6@H@L5@ffffffH@L5@@H@fffff4@@H@3333334@ H@3@ H@1@fffff&H@333330@ I@333330@fffff&I@L0@I@L0@I@1@I@ffffff1@I@2@LI@3@`33333D@ffffff @ffffffJ@3@IH@+@33333H@+@33333H@ffffff,@33333H@-@ I@-@fffff&I@-@fffff&I@+@LI@+@I@+@I@+@33333I@+@ J@ffffff,@ J@ffffff.@ffffffJ@L0@fffff&J@1@I@1@I@L0@fffff&I@L0@ I@333330@fffff&H@333330@ H@1@ H@3@ H@3@@G@3@fffff&G@3@fffff&G@ffffff1@ G@1@@F@1@fffffE@2@fffffE@2@33333E@3@D@3@33333D@3@33333D@ffffff2@D@2@ E@2@fffff&E@333331@YE@333331@E@1@33333E@1@fffffE@L0@fffffE@0@33333E@ffffff.@YE@ffffff.@ E@ffffff,@ E@)@fffff&E@(@@E@(@YE@333333(@fffffE@333333(@ F@ffffff'@fffff&F@ffffff'@YF@&@F@&@ G@$@ G@#@33333F@!@33333F@ffffff @fffff&G@ffffff @ffffffG@!@33333G@!@G@ffffff"@H@ffffff"@H@333333#@ffffffI@333333#@I@#@I@&@LI@333333(@fffff&I@333333(@ I@(@ I@333333*@33333H@+@H@+@fffff&J@-@fffffK@3333334@K@333331@fffffK@2@fffffK@ffffff2@K@2@K@3@LK@fffff3@333333K@fffff3@ K@3333334@33333J@fffff3@J@fffff3@J@3@J@2@ffffffJ@2@LJ@2@fffff&J@333331@fffff&J@1@ffffffJ@L0@J@L0@J@0@J@333333/@J@ffffff.@J@ffffff.@33333J@-@LK@-@K@333333/@K@0@fffffK@L0@K@333330@K@333331@H@3@ K@7@ K@L6@J@7@J@333336@J@333336@J@L6@I@L6@I@333336@ffffffI@333336@LI@L6@ I@L6@H@5@33333H@L5@33333H@fffff4@ I@4@ I@3333334@LI@3@I@3@I@fffff3@I@fffff3@I@3333334@33333I@3333334@fffff&J@fffff4@J@3@J@fffff3@33333J@fffff3@ K@3333334@ K@L6@LI@1@J@fffff4@J@2@J@3@fffff&J@fffff4@33333I@3333334@I@3333334@I@fffff3@I@fffff3@I@3@ffffffI@3@LI@3@LI@3@I@2@I@ffffff1@I@1@ J@1@fffff&J@1@fffff&J@333331@LJ@2@ffffffJ@2@J@2@33333I@@O@0@7O@&@fffffN@(@fffffN@+@̌N@+@33333sN@+@LN@ffffff,@LN@-@N@333333/@N@333333/@M@0@M@333333/@ffffffM@333333/@LM@ffffff.@LM@+@333333M@+@L@+@LL@ffffff,@333333L@+@K@+@ffffffK@ffffff,@ffffffK@-@LK@-@ K@-@33333J@-@33333J@+@J@+@LJ@+@fffff&J@333333*@fffff&J@)@33333I@333333(@33333I@333333%@ J@$@fffff&J@$@ffffffJ@333333#@J@333333#@J@!@J@!@333333K@333333@LK@333333@fffffK@@LL@!@ffffffL@!@fffffL@ffffff @L@ffffff @M@!@333333M@!@LM@ffffff"@M@ffffff"@M@333333#@LN@333333#@̌N@$@N@$@N@333333%@O@333333%@O@&@L@@̌N@333333#@33333sN@333333@33333sN@!@LN@ffffff"@LN@333333#@M@333333#@M@ffffff"@LM@ffffff"@333333M@!@M@!@L@ffffff @L@333333@ffffffM@@fffffM@@M@@N@@LN@@̌N@@33333sN@333333@LL@@M@ffffff @M@333333@M@@fffffM@@ffffffM@@L@333333@L@ffffff @fffffL@ffffff @LL@ffffff@LL@@ffffffL@@ffffffL@ffffff@L@333333@L@ffffff@L@@333333M@@ffffffM@ffffff@ffffffM@ @fffffM@333333@fffffM@@M@333333@N@@P@&@O@!@O@ffffff"@fffffO@333333#@fffffO@#@̌O@$@33333sO@$@LO@333333%@333333O@333333%@O@&@O@333333%@N@333333%@N@$@N@!@N@!@N@@LO@@33333sO@@̌O@@fffffO@@P@@P@@ P@ffffff@ P@333333@O@!@LN@@N@$@ N@#@N@$@̌N@$@LN@333333#@LN@ffffff"@33333sN@!@33333sN@333333@̌N@@N@@N@@N@!@N@!@N@#@M@ffffff?̌O@@̌O@@33333sO@@LO@@N@@̌N@@LN@@N@@M@@M@333333@M@@M@ffffff@N@333333@N@@M@?N@ffffff?33333sN@ffffff?fffffN@@fffffN@@N@ffffff@333333O@ffffff@LO@ @33333sO@ @̌O@ @̌O@@ Q@ffffffV@@@33333V@L5@V@5@V@333336@33333V@7@33333V@7@V@L6@33333SV@L6@@V@333336@fffffV@333336@U@L6@33333U@L6@U@5@fffffU@L5@fffffU@fffff4@U@4@fffffU@4@yU@fffff4@yU@L5@fffffU@5@U@5@33333U@L6@fffffU@333336@fffffU@7@fffffU@7@U@8@fffffU@8@33333U@8@33333U@:@fffffU@;@U@;@fffffU@L;@fffffU@ffffff<@U@33333<@33333U@33333<@U@=@U@=@U@=@U@>@U@333333?@U@333333?@fffffU@>@fffffU@>@yU@>@@U@>@fffffU@?@fffffU@fffff&@@T@@@T@fffff@@33333T@fffff@@fffffT@@@ T@@@33333T@L@@S@L@@S@fffff?@̬S@fffff?@S@?@yS@?@ffffffS@333333?@ffffffS@fffff>@LS@>@@S@>@,S@=@,S@ffffff=@ S@=@ S@<@33333S@33333;@33333R@33333;@R@;@fffffR@:@fffffR@fffff9@33333R@9@33333R@7@33333S@L6@33333S@fffff4@ S@4@ S@2@33333S@ffffff2@33333R@ffffff2@R@1@33333sR@1@ffffffR@333330@9R@333330@,R@L0@,R@333333/@ R@ffffff.@33333R@ffffff.@fffffQ@ffffff,@fffffQ@ffffff,@Q@+@9Q@+@ Q@)@ Q@(@,Q@(@9Q@333333(@33333sQ@333333(@̌Q@&@̌Q@333333%@Q@$@̬Q@$@fffffQ@333333#@fffffQ@333333#@33333Q@ffffff"@R@ffffff"@33333R@!@33333sR@!@33333R@ffffff @R@ffffff @R@!@fffffR@!@33333R@ffffff"@33333S@ffffff"@,S@!@,S@@ S@@ S@@33333S@333333@fffffR@333333@R@@R@@R@333333@R@ffffff@R@@R@?R@ffffff?R@ffffff?fffffR@?fffffR@ffffff?fffffS@33333S@,S@ffffffLS@ffffffffffffS@yS@ٿyS@fffffS@ffffffS@ffffffS@ٿS@fffffT@ffffff? T@ffffff?LT@?YT@?lT@ffffff?yT@ffffff?fffffT@?fffffT@?fffffT@@fffffT@ @T@ffffff@T@ffffff@T@@T@@fffffU@333333@LU@333333@fffffU@333333@fffffU@ @U@ffffff@fffffU@ffffff@33333U@@33333U@@U@?U@?U@ffffff?V@ffffff?33333V@ffffff@33333V@ @V@333333@V@@33333V@333333@33333V@ffffff'@V@333333(@V@+@33333V@ffffff,@33333V@L5@̌P@ffffff9Q@?9Q@?,Q@ffffff?,Q@?,Q@ffffff?fffffP@ffffff?33333P@?fffffP@?P@ffffff?P@?̬P@ffffff?P@ffffff?̌P@?̌P@񿚙P@ffffffP@fffffffffffP@33333P@Q@ffffff Q@ffffff9Q@ffffff濚9Q@? P@333333R@ffffff!R@R@33333Q@ffffffQ@fffffffffffQ@fffffQ@ffffffQ@ffffff33333sQ@񿚙YQ@fffffFQ@ffffff9Q@ffffff,Q@ Q@ffffffQ@ffffff33333P@fffffP@񿚙P@ffffffP@P@P@ffffff̬P@ P@ fffffP@ fffffP@33333333333P@333333,Q@3333339Q@333333fffffFQ@333333YQ@ YQ@ ffffffQ@ffffff33333Q@ffffffR@,Q@ffffff33333Q@ffffff@33333Q@?fffffQ@ffffff?Q@ffffff?Q@@Q@@̬Q@ffffff@33333sQ@ffffff@fffffFQ@?9Q@?,Q@ffffff?,Q@ffffff?9Q@?9Q@ffffff,Q@񿚙9Q@fffffffffffFQ@ffffffYQ@33333sQ@Q@fffffffffffQ@ffffff33333Q@?33333Q@?fffffQ@R@?33333sR@ffffffR@ٿR@ffffff?33333sR@?33333R@?33333Q@?33333Q@?fffffQ@fffffffffffQ@񿚙Q@ffffff33333Q@ffffffR@R@R@,R@9R@LR@33333sR@33333sR@ffffffspdep/inst/etc/shapes/NY8_utm18.prj0000644000176200001440000000060212161044260016563 0ustar liggesusersPROJCS["WGS_1984_UTM_Zone_18N",GEOGCS["GCS_WGS_1984",DATUM["D_unknown",SPHEROID["WGS84",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-75],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]]spdep/inst/etc/shapes/columbus.dbf0000644000176200001440000002354211716033162016714 0ustar liggesusersg1WAREAN PERIMETERN COLUMBUS_N COLUMBUS_IN POLYIDNNEIGNHOVALN INCN CRIMEN OPENN PLUMBN DISCBDNXN YN NSANNSBNEWNCPNTHOUSN NEIGNON  0.309441 2.440629 2 5 1 580.46700319.53100015.725980 2.850747 0.2171555.03000038.79999944.0700001.0000001.0000001.0000000.0000001000.0000001005.000000 0.259329 2.236939 3 1 2 144.56700121.23200018.801754 5.296720 0.3205814.27000035.61999942.3800011.0000001.0000000.0000000.0000001000.0000001001.000000 0.192468 2.187547 4 6 3 626.35000015.95600030.626781 4.534649 0.3744043.89000039.82000041.1800001.0000001.0000001.0000000.0000001000.0000001006.000000 0.083841 1.427635 5 2 4 233.200001 4.47700032.387760 0.394427 1.1869443.70000036.50000040.5200001.0000001.0000000.0000000.0000001000.0000001002.000000 0.488888 2.997133 6 7 5 723.22500011.25200050.731510 0.405664 0.6245962.83000040.00999838.0000001.0000001.0000001.0000000.0000001000.0000001007.000000 0.283079 2.335634 7 8 6 828.75000016.02899926.066658 0.563075 0.2541303.78000043.75000039.2799991.0000001.0000001.0000000.0000001000.0000001008.000000 0.257084 2.554577 8 4 7 475.000000 8.438000 0.178269 0.000000 2.4024022.74000033.36000138.4100001.0000001.0000000.0000000.0000001000.0000001004.000000 0.204954 2.139524 9 3 8 337.12500011.33700038.425858 3.483478 2.7397262.89000036.70999938.7099991.0000001.0000000.0000000.0000001000.0000001003.000000 0.500755 3.169707 10 18 91852.59999817.58600030.515917 0.527488 0.8907363.17000043.43999935.9199981.0000001.0000001.0000000.0000001000.0000001018.000000 0.246689 2.087235 11 10 101096.40000213.59800034.000835 1.548348 0.5577244.33000047.61000136.4199981.0000001.0000001.0000000.0000001000.0000001010.000000 0.041012 0.919488 12 38 113819.700001 7.46700062.275448 0.000000 1.4799151.90000037.84999836.2999991.0000001.0000000.0000001.0000001000.0000001038.000000 0.035769 0.902125 13 37 123719.90000010.04800056.705669 3.157895 2.6350461.91000037.13000136.1199991.0000001.0000000.0000001.0000001000.0000001037.000000 0.034377 0.936590 14 39 133941.700001 9.54900046.716129 0.000000 6.3284232.09000035.95000136.4000021.0000001.0000000.0000001.0000001000.0000001039.000000 0.060884 1.128424 15 40 144042.900002 9.96300057.066132 0.477104 5.1109621.83000035.72000135.5999981.0000001.0000000.0000001.0000001000.0000001040.000000 0.106653 1.437606 16 9 15 918.000000 9.87300048.585487 0.174325 1.3114751.70000039.61000134.9100001.0000001.0000001.0000001.0000001000.0000001009.000000 0.093154 1.340061 17 36 163618.799999 7.62500054.838711 0.533737 4.6875001.10000037.59999834.0800021.0000001.0000000.0000001.0000001000.0000001036.000000 0.102087 1.382359 18 11 171141.750000 9.79800036.868774 0.448232 1.6197454.47000048.58000234.4599991.0000001.0000001.0000000.0000001000.0000001011.000000 0.055494 1.183352 19 42 184260.00000013.18500043.96248624.99806813.8492871.58000036.15000233.9199981.0000001.0000000.0000001.0000001000.0000001042.000000 0.061342 1.249247 20 41 194130.60000011.61800054.521965 0.111111 2.6229511.53000035.75999834.6600001.0000001.0000000.0000001.0000001000.0000001041.000000 0.444629 3.174601 21 17 201781.26699831.070000 0.223797 5.318607 0.1672243.57000046.73000031.9100000.0000001.0000001.0000000.0000001000.0000001017.000000 0.699258 5.077490 22 43 214319.97500010.65500040.074074 1.643756 1.5595761.41000034.08000230.4200000.0000000.0000000.0000001.0000001000.0000001043.000000 0.192891 1.992717 23 19 221930.45000111.70900033.705048 4.539754 1.7857142.45000043.36999933.4599991.0000001.0000001.0000001.0000001000.0000001019.000000 0.247120 2.147528 24 12 231247.73300221.15500120.048504 0.532632 0.2167634.78000049.61000132.6500020.0000000.0000001.0000000.0000001000.0000001012.000000 0.192226 2.240392 25 35 243553.20000114.23600038.297871 0.62622018.8110750.42000036.59999832.0900001.0000001.0000000.0000001.0000001000.0000001035.000000 0.171680 1.666489 26 32 253217.900000 8.46100061.299175 0.000000 6.5298510.83000039.36000132.8800011.0000001.0000001.0000001.0000001000.0000001032.000000 0.107298 1.406823 27 20 262020.299999 8.08500040.969742 1.238288 2.5342751.50000041.13000133.1399991.0000001.0000001.0000001.0000001000.0000001020.000000 0.137802 1.780751 28 21 272134.09999810.82200052.79443019.368099 1.4835162.24000043.95000131.6100010.0000000.0000001.0000001.0000001000.0000001021.000000 0.174773 1.637148 29 31 283122.850000 7.85600056.919785 0.509305 3.0010721.41000041.31000130.9000000.0000000.0000001.0000001.0000001000.0000001031.000000 0.085972 1.312158 30 33 293332.500000 8.68100060.750446 0.000000 2.6450510.81000039.72000130.6399990.0000000.0000001.0000001.0000001000.0000001033.000000 0.104355 1.524931 31 34 303422.50000013.90600068.892044 1.63878015.6006240.37000038.29000130.3500000.0000000.0000000.0000001.0000001000.0000001034.000000 0.117409 1.716047 32 45 314531.79999916.94000117.677214 3.936443 0.8538903.78000027.94000129.8500001.0000001.0000000.0000000.0000001000.0000001045.000000 0.185580 2.108951 33 13 321340.29999918.94199919.145592 2.221022 0.2551024.76000050.11000129.9100000.0000000.0000001.0000000.0000001000.0000001013.000000 0.087472 1.507971 34 22 332223.600000 9.91800041.968163 0.000000 1.0238912.28000044.09999830.4000000.0000000.0000001.0000001.0000001000.0000001022.000000 0.226594 2.519132 35 44 344428.45000114.94800023.974028 3.029087 0.3868033.06000030.32000028.2600000.0000000.0000000.0000000.0000001000.0000001044.000000 0.175453 1.974937 36 23 352327.00000012.81400039.175053 4.220401 0.6336752.37000043.70000129.1800000.0000000.0000001.0000001.0000001000.0000001023.000000 0.178130 1.790058 37 46 364636.29999918.73900014.305556 6.773331 0.3323494.23000027.27000028.2099990.0000000.0000000.0000000.0000001000.0000001046.000000 0.121154 1.402252 38 30 373043.29999917.01700042.445076 4.839273 1.2303291.08000038.32000028.8200000.0000000.0000001.0000001.0000001000.0000001030.000000 0.053881 0.934509 39 24 382422.70000111.10700053.710938 0.000000 0.8000001.58000041.04000128.7800010.0000000.0000001.0000001.0000001000.0000001024.000000 0.174823 2.335402 40 47 394739.59999818.47699919.100863 0.000000 0.3146635.53000024.25000026.6900010.0000000.0000000.0000000.0000001000.0000001047.000000 0.302908 2.285487 41 16 401661.95000129.83300016.241299 6.451310 0.1327434.40000048.43999927.9300000.0000000.0000001.0000000.0000001000.0000001016.000000 0.137024 1.525097 42 14 411442.09999822.20700118.905146 0.293317 0.2470365.33000051.24000227.7999990.0000000.0000001.0000000.0000001000.0000001014.000000 0.266541 2.176543 43 49 424944.33300025.87299916.491890 1.792993 0.1344393.87000029.02000026.5800000.0000000.0000000.0000000.0000001000.0000001049.000000 0.060241 0.967793 44 29 432925.70000113.38000036.663612 0.000000 0.5892261.95000041.09000027.4900000.0000000.0000001.0000001.0000001000.0000001029.000000 0.173337 1.868044 45 25 442533.50000016.96100025.962263 1.463993 0.3297612.67000043.23000027.3099990.0000000.0000001.0000000.0000001000.0000001025.000000 0.256431 2.193039 46 28 452827.73300014.13500029.028488 1.006118 2.3912002.13000039.32000025.8500000.0000000.0000001.0000001.0000001000.0000001028.000000 0.124728 1.841029 47 48 464876.09999818.32399916.530533 9.683953 0.4246285.27000025.46999925.7099990.0000000.0000000.0000000.0000001000.0000001048.000000 0.245249 2.079986 48 15 471542.50000018.95000127.822861 0.000000 0.2688175.57000050.88999925.2400000.0000000.0000001.0000000.0000001000.0000001015.000000 0.069762 1.102032 49 27 482726.79999911.81300026.645266 4.884389 1.0348072.33000041.20999925.9000000.0000000.0000001.0000001.0000001000.0000001027.000000 0.205964 2.199169 50 26 492635.79999918.79600022.541491 0.259826 0.9014423.03000042.66999824.9599990.0000000.0000001.0000000.0000001000.0000001026.000000spdep/inst/etc/weights/0000755000176200001440000000000012161044260014563 5ustar liggesusersspdep/inst/etc/weights/columbus.gal0000644000176200001440000000157211716033162017112 0ustar liggesusers49 1 2 2 3 2 3 1 3 4 3 4 1 2 4 5 4 4 2 3 5 8 5 7 3 4 6 8 9 11 15 6 2 5 9 7 4 8 12 13 14 8 6 4 5 7 11 12 13 9 8 5 6 10 15 20 22 25 26 10 4 9 17 20 22 11 5 5 8 12 15 16 12 6 7 8 11 13 14 16 13 4 7 8 12 14 14 6 7 12 13 16 18 19 15 6 5 9 11 16 25 26 16 7 11 12 14 15 18 24 25 17 3 10 20 23 18 4 14 16 19 24 19 3 14 18 24 20 10 9 10 17 22 23 27 32 33 35 40 21 3 24 30 34 22 6 9 10 20 26 27 28 23 3 17 20 32 24 7 16 18 19 21 25 29 30 25 7 9 15 16 24 26 28 29 26 6 9 15 22 25 28 29 27 4 20 22 28 33 28 9 22 25 26 27 29 33 35 37 38 29 7 24 25 26 28 30 37 38 30 4 21 24 29 37 31 2 34 36 32 4 20 23 40 41 33 4 20 27 28 35 34 4 21 31 36 42 35 7 20 28 33 38 40 43 44 36 5 31 34 39 42 46 37 6 28 29 30 38 43 45 38 6 28 29 35 37 43 44 39 2 36 46 40 5 20 32 35 41 47 41 3 32 40 47 42 2 34 36 43 6 35 37 38 44 45 48 44 5 35 38 43 48 49 45 4 37 43 48 49 46 2 36 39 47 2 40 41 48 4 43 44 45 49 49 3 44 45 48 spdep/inst/etc/weights/ncCC89.gal0000644000176200001440000000615411716033162016251 0ustar liggesusers0 100 sids rn 37001 5 37033 37037 37063 37081 37135 37003 4 37027 37035 37097 37193 37005 3 37009 37171 37193 37007 4 37123 37153 37167 37179 37009 3 37005 37189 37193 37011 6 37023 37027 37111 37121 37189 37199 37013 3 37117 37147 37187 37015 4 37041 37091 37117 37187 37017 2 37047 37155 37019 1 37129 37021 6 37087 37089 37111 37115 37175 37199 37023 6 37011 37027 37035 37111 37121 37161 37025 4 37119 37159 37167 37179 37027 7 37003 37011 37023 37035 37111 37189 37193 37029 4 37053 37139 37143 37177 37031 1 37137 37033 4 37001 37135 37145 37157 37035 6 37003 37023 37027 37071 37097 37109 37037 7 37001 37063 37085 37105 37125 37135 37183 37039 2 37043 37075 37041 8 37015 37073 37091 37117 37139 37143 37177 37187 37043 3 37039 37075 37113 37045 3 37071 37109 37161 37047 2 37017 37155 37049 2 37103 37137 37051 3 37085 37093 37163 37053 2 37029 37139 37055 0 37057 4 37059 37067 37151 37159 37059 5 37057 37067 37097 37159 37197 37061 2 37141 37163 37063 6 37001 37037 37077 37135 37145 37183 37065 5 37083 37117 37127 37147 37195 37067 5 37057 37059 37081 37169 37197 37069 5 37077 37127 37181 37183 37185 37071 4 37035 37045 37109 37119 37073 3 37041 37091 37143 37075 4 37039 37043 37113 37173 37077 5 37063 37069 37145 37181 37185 37079 4 37107 37147 37191 37195 37081 4 37001 37067 37151 37157 37083 2 37065 37131 37085 5 37037 37051 37101 37105 37183 37087 5 37021 37099 37115 37173 37175 37089 4 37021 37149 37161 37175 37091 5 37015 37041 37073 37131 37143 37093 4 37051 37125 37155 37165 37095 0 37097 7 37003 37035 37059 37109 37159 37193 37197 37099 4 37087 37113 37173 37175 37101 4 37085 37183 37191 37195 37103 3 37049 37107 37133 37105 3 37037 37085 37125 37107 4 37079 37103 37147 37191 37109 5 37035 37045 37071 37097 37119 37111 7 37011 37021 37023 37027 37121 37161 37199 37113 4 37043 37075 37099 37173 37115 3 37021 37087 37199 37117 6 37013 37015 37041 37065 37147 37187 37119 4 37025 37071 37109 37179 37121 5 37011 37023 37111 37189 37199 37123 4 37007 37125 37151 37167 37125 4 37037 37093 37105 37123 37127 3 37065 37069 37195 37129 2 37019 37141 37131 2 37083 37091 37133 1 37103 37135 5 37001 37033 37037 37063 37145 37137 2 37031 37049 37139 5 37029 37041 37053 37143 37177 37141 2 37061 37129 37143 7 37029 37041 37073 37091 37139 37177 37187 37145 4 37033 37063 37077 37135 37147 5 37013 37065 37079 37107 37117 37149 2 37089 37161 37151 3 37057 37081 37123 37153 2 37007 37165 37155 4 37017 37047 37093 37165 37157 3 37033 37081 37169 37159 5 37025 37057 37059 37097 37167 37161 5 37023 37045 37089 37111 37149 37163 2 37051 37061 37165 3 37093 37153 37155 37167 4 37007 37025 37123 37159 37169 3 37067 37157 37171 37171 4 37005 37169 37193 37197 37173 4 37075 37087 37099 37113 37175 4 37021 37087 37089 37099 37177 5 37029 37041 37139 37143 37187 37179 3 37007 37025 37119 37181 3 37069 37077 37185 37183 5 37037 37063 37069 37085 37101 37185 3 37069 37077 37181 37187 6 37013 37015 37041 37117 37143 37177 37189 4 37009 37011 37027 37121 37191 4 37079 37101 37107 37195 37193 7 37003 37005 37009 37027 37097 37171 37197 37195 5 37065 37079 37101 37127 37191 37197 5 37059 37067 37097 37171 37193 37199 5 37011 37021 37111 37115 37121 spdep/inst/etc/weights/NY_nb.gal0000644000176200001440000001577012161044260016267 0ustar liggesusers0 281 unknown unknown 0 8 1 12 13 14 46 47 48 49 1 6 0 2 12 34 46 47 2 3 1 12 34 3 3 4 5 34 4 4 3 5 9 11 5 5 3 4 6 9 34 6 4 5 7 31 34 7 2 6 31 8 4 16 17 32 33 9 4 4 5 10 11 10 2 9 11 11 3 4 9 10 12 4 0 1 2 13 13 3 0 12 14 14 4 0 13 15 49 15 5 14 16 33 49 51 16 4 8 15 17 33 17 3 8 16 33 18 6 19 20 21 80 81 82 19 7 18 20 21 22 23 25 81 20 7 18 19 21 82 89 90 251 21 5 18 19 20 22 251 22 7 19 21 25 35 41 251 253 23 4 19 24 25 27 24 2 23 25 25 6 19 22 23 24 34 35 26 3 27 31 34 27 5 23 26 28 31 81 28 5 27 29 30 31 81 29 3 28 30 81 30 3 28 29 31 31 7 6 7 26 27 28 30 34 32 2 8 33 33 7 8 15 16 17 32 51 54 34 11 1 2 3 5 6 25 26 31 35 46 50 35 6 22 25 34 36 41 50 36 9 35 37 38 39 41 47 49 50 51 37 5 36 38 42 43 45 38 5 36 37 39 41 42 39 3 36 38 41 40 4 41 44 45 253 41 9 22 35 36 38 39 40 42 44 253 42 5 37 38 41 43 44 43 4 37 42 44 45 44 5 40 41 42 43 45 45 5 37 40 43 44 53 46 5 0 1 34 47 50 47 7 0 1 36 46 48 49 50 48 3 0 47 49 49 7 0 14 15 36 47 48 51 50 5 34 35 36 46 47 51 6 15 33 36 49 52 54 52 3 51 53 54 53 4 45 52 54 254 54 5 33 51 52 53 254 55 1 56 56 5 55 57 58 65 191 57 5 56 58 60 65 191 58 3 56 57 59 59 4 58 60 61 65 60 4 57 59 61 197 61 9 59 60 62 63 64 65 66 197 246 62 6 61 65 66 68 69 246 63 3 61 64 66 64 4 61 63 65 66 65 9 56 57 59 61 62 64 66 67 68 66 5 61 62 63 64 65 67 3 65 68 72 68 5 62 65 67 71 72 69 5 62 70 71 84 246 70 6 69 71 84 85 258 259 71 5 68 69 70 72 259 72 4 67 68 71 259 73 6 74 77 78 105 107 108 74 5 73 78 79 82 105 75 3 76 77 78 76 3 75 77 78 77 4 73 75 76 78 78 7 73 74 75 76 77 79 80 79 4 74 78 80 82 80 5 18 78 79 81 82 81 6 18 19 27 28 29 80 82 11 18 20 74 79 80 83 88 89 105 249 250 83 5 82 84 86 88 249 84 7 69 70 83 85 86 247 249 85 7 70 84 86 87 90 91 258 86 5 83 84 85 87 88 87 4 85 86 88 90 88 6 82 83 86 87 89 90 89 4 20 82 88 90 90 8 20 85 87 88 89 91 92 251 91 4 85 90 92 258 92 6 90 91 251 258 276 277 93 2 94 95 94 2 93 95 95 4 93 94 96 103 96 5 95 97 98 99 103 97 1 96 98 5 96 99 172 175 234 99 7 96 98 100 102 103 231 234 100 1 99 101 1 102 102 8 99 101 103 104 105 231 235 250 103 6 95 96 99 102 104 107 104 5 102 103 105 106 107 105 8 73 74 82 102 104 106 107 250 106 3 104 105 107 107 6 73 103 104 105 106 108 108 2 73 107 109 8 110 113 119 129 130 205 214 218 110 6 109 111 112 113 114 218 111 4 110 112 218 219 112 8 110 111 114 115 116 117 118 219 113 7 109 110 114 119 120 121 122 114 5 110 112 113 115 122 115 4 112 114 116 122 116 5 112 115 117 122 123 117 8 112 116 118 123 124 125 126 219 118 7 112 117 126 127 128 219 221 119 5 109 113 120 130 131 120 7 113 119 121 130 131 132 138 121 5 113 120 122 123 132 122 7 113 114 115 116 121 123 132 123 6 116 117 121 122 124 132 124 6 117 123 125 132 133 140 125 6 117 124 126 133 141 142 126 6 117 118 125 127 142 143 127 6 118 126 128 142 143 144 128 7 118 127 143 144 220 221 223 129 7 109 130 134 136 205 206 207 130 7 109 119 120 129 131 136 137 131 6 119 120 130 136 137 138 132 8 120 121 122 123 124 138 139 140 133 4 124 125 140 141 134 5 129 135 136 207 209 135 5 134 136 145 207 209 136 9 129 130 131 134 135 137 145 146 148 137 6 130 131 136 138 146 148 138 8 120 131 132 137 139 148 149 150 139 6 132 138 140 149 150 151 140 6 124 132 133 139 141 151 141 6 125 133 140 142 151 152 142 8 125 126 127 141 143 152 153 154 143 6 126 127 128 142 144 154 144 6 127 128 143 154 220 223 145 5 135 136 146 155 209 146 8 136 137 145 147 148 155 156 157 147 6 146 148 149 156 157 159 148 6 136 137 138 146 147 149 149 7 138 139 147 148 150 159 160 150 5 138 139 149 151 160 151 7 139 140 141 150 152 160 162 152 6 141 142 151 153 162 163 153 4 142 152 154 163 154 7 142 143 144 153 163 223 224 155 6 145 146 156 209 241 242 156 6 146 147 155 157 165 241 157 6 146 147 156 158 159 165 158 4 157 159 165 166 159 6 147 149 157 158 160 166 160 7 149 150 151 159 161 162 166 161 4 160 162 166 167 162 9 151 152 160 161 163 167 169 170 239 163 7 152 153 154 162 164 224 239 164 3 163 224 239 165 6 156 157 158 166 168 241 166 8 158 159 160 161 165 167 168 169 167 5 161 162 166 168 169 168 7 165 166 167 169 171 240 241 169 6 162 166 167 168 170 171 170 5 162 169 171 239 240 171 5 168 169 170 239 240 172 4 98 173 174 175 173 3 172 174 189 174 7 172 173 175 176 182 188 189 175 8 98 172 174 176 177 221 222 234 176 5 174 175 177 178 182 177 7 175 176 178 179 180 216 221 178 4 176 177 179 182 179 4 177 178 180 182 180 7 177 179 181 182 212 215 216 181 5 180 182 184 212 215 182 9 174 176 178 179 180 181 184 187 188 183 4 184 185 187 211 184 6 181 182 183 187 211 212 185 4 183 186 187 189 186 3 185 187 189 187 7 182 183 184 185 186 188 189 188 4 174 182 187 189 189 6 173 174 185 186 187 188 190 3 191 192 193 191 5 56 57 190 193 196 192 3 190 193 211 193 3 190 191 192 194 2 195 196 195 4 194 196 198 205 196 5 191 194 195 197 198 197 5 60 61 196 198 246 198 10 195 196 197 199 200 201 204 205 243 246 199 3 198 200 201 200 8 198 199 201 202 203 238 242 243 201 5 198 199 200 202 204 202 4 200 201 203 204 203 5 200 202 204 208 242 204 8 198 201 202 203 205 206 207 208 205 6 109 129 195 198 204 206 206 4 129 204 205 207 207 7 129 134 135 204 206 208 209 208 5 203 204 207 209 242 209 7 134 135 145 155 207 208 242 210 3 211 212 213 211 5 183 184 192 210 212 212 9 180 181 184 210 211 213 214 215 218 213 3 210 212 214 214 5 109 212 213 215 218 215 7 180 181 212 214 216 217 218 216 5 177 180 215 217 221 217 5 215 216 218 219 221 218 8 109 110 111 212 214 215 217 219 219 7 111 112 117 118 217 218 221 220 5 128 144 221 222 223 221 9 118 128 175 177 216 217 219 220 222 222 6 175 220 221 223 233 234 223 9 128 144 154 220 222 224 225 228 233 224 7 154 163 164 223 225 226 239 225 6 223 224 226 228 229 233 226 6 224 225 229 235 236 239 227 2 228 231 228 8 223 225 227 229 230 231 233 234 229 6 225 226 228 230 231 235 230 2 228 229 231 7 99 102 227 228 229 234 235 232 2 233 234 233 6 222 223 225 228 232 234 234 8 98 99 175 222 228 231 232 233 235 6 102 226 229 231 236 250 236 8 226 235 237 238 239 248 249 250 237 5 236 238 239 240 241 238 7 200 236 237 241 242 243 248 239 10 162 163 164 170 171 224 226 236 237 240 240 6 168 170 171 237 239 241 241 8 155 156 165 168 237 238 240 242 242 7 155 200 203 208 209 238 241 243 7 198 200 238 244 246 247 248 244 1 243 245 1 246 246 8 61 62 69 197 198 243 245 247 247 5 84 243 246 248 249 248 5 236 238 243 247 249 249 7 82 83 84 236 247 248 250 250 6 82 102 105 235 236 249 251 8 20 21 22 90 92 252 253 277 252 5 251 253 256 257 277 253 7 22 40 41 251 252 255 256 254 4 53 54 255 256 255 3 253 254 256 256 5 252 253 254 255 257 257 4 252 256 277 278 258 6 70 85 91 92 259 276 259 7 70 71 72 258 260 261 276 260 5 259 261 276 279 280 261 4 259 260 264 279 262 3 263 271 278 263 5 262 264 267 270 271 264 7 261 263 265 266 267 279 280 265 4 264 266 275 280 266 7 264 265 267 268 272 274 275 267 6 263 264 266 268 269 270 268 4 266 267 269 272 269 5 267 268 270 271 272 270 5 263 267 269 271 272 271 7 262 263 269 270 272 277 278 272 8 266 268 269 270 271 273 274 277 273 4 272 274 275 277 274 4 266 272 273 275 275 7 265 266 273 274 276 277 280 276 7 92 258 259 260 275 277 280 277 10 92 251 252 257 271 272 273 275 276 278 278 4 257 262 271 277 279 4 260 261 264 280 280 6 260 264 265 275 276 279 spdep/inst/etc/weights/us48_rk.GAL0000644000176200001440000000251611716033162016417 0ustar liggesusers 0 48 us48 FIPSNO 53 2 41 16 30 4 16 56 38 46 23 1 33 38 3 46 27 30 46 6 56 19 31 27 38 30 56 6 49 16 46 31 8 30 55 4 26 17 19 27 16 6 32 41 56 49 30 53 50 3 36 25 33 27 4 19 55 46 38 41 4 6 32 16 53 33 3 25 23 50 19 6 29 31 55 17 27 46 25 5 44 9 36 50 33 31 6 29 20 8 19 56 46 36 5 34 9 42 50 25 42 6 24 54 10 39 34 36 9 3 44 25 36 44 2 25 9 34 3 10 36 42 18 4 26 21 17 39 32 5 6 49 4 16 41 49 5 4 8 56 32 16 6 3 4 32 41 39 5 26 21 54 42 18 17 5 29 21 18 55 19 10 3 24 42 34 54 5 51 21 24 42 39 24 4 51 42 10 54 8 6 35 20 40 31 49 56 21 7 47 29 51 17 18 39 54 20 4 40 29 31 8 51 5 47 37 24 54 21 29 8 5 40 17 21 47 20 31 19 4 4 35 49 6 32 40 6 5 35 48 29 20 8 37 4 45 13 47 51 47 8 5 28 1 51 37 13 21 29 48 4 22 5 35 40 35 4 40 48 8 4 1 4 28 13 12 47 28 4 22 5 1 47 13 5 12 45 37 1 47 45 2 37 13 5 6 22 28 40 48 29 47 22 3 28 48 5 12 2 13 1 26 3 18 39 55 spdep/inst/etc/weights/us48_q.GAL0000644000176200001440000000253411716033162016243 0ustar liggesusers 0 48 us48 FIPSNO 53 2 41 16 30 4 16 56 38 46 23 1 33 38 3 46 27 30 46 6 56 19 31 27 38 30 56 6 49 16 46 31 8 30 55 4 26 17 19 27 16 6 32 41 56 49 30 53 50 3 36 25 33 27 4 19 55 46 38 41 4 6 32 16 53 33 3 25 23 50 19 6 29 31 55 17 27 46 25 5 44 9 36 50 33 31 6 29 20 8 19 56 46 36 5 34 9 42 50 25 42 6 24 54 10 39 34 36 9 3 44 25 36 44 2 25 9 34 3 10 36 42 18 4 26 21 17 39 32 5 6 49 4 16 41 49 6 4 8 35 56 32 16 6 3 4 32 41 39 5 26 21 54 42 18 17 5 29 21 18 55 19 10 3 24 42 34 54 5 51 21 24 42 39 24 4 51 42 10 54 8 7 35 4 20 40 31 49 56 21 7 47 29 51 17 18 39 54 20 4 40 29 31 8 51 5 47 37 24 54 21 29 8 5 40 17 21 47 20 31 19 4 5 35 8 49 6 32 40 6 5 35 48 29 20 8 37 4 45 13 47 51 47 8 5 28 1 51 37 13 21 29 48 4 22 5 35 40 35 5 40 48 8 4 49 1 4 28 13 12 47 28 4 22 5 1 47 13 5 12 45 37 1 47 45 2 37 13 5 6 22 28 40 48 29 47 22 3 28 48 5 12 2 13 1 26 3 18 39 55 spdep/inst/etc/weights/us48.txt0000644000176200001440000000144211716033162016134 0ustar liggesusersObs,State_name,Fipsno 1,Alabama,1 2,Arizona,4 3,Arkansas,5 4,California,6 5,Colorado,8 6,Connecticut,9 7,Delaware,10 8,Florida,12 9,Georgia,13 10,Idaho,16 11,Illinois,17 12,Indiana,18 13,Iowa,19 14,Kansas,20 15,Kentucky,21 16,Louisiana,22 17,Maine,23 18,Maryland,24 19,Massachusetts,25 20,Michigan,26 21,Minnesota,27 22,Mississippi,28 23,Missouri,29 24,Montana,30 25,Nebraska,31 26,Nevada,32 27,New Hampshire,33 28,New Jersey,34 29,New Mexico,35 30,New York,36 31,North Carolina,37 32,North Dakota,38 33,Ohio,39 34,Oklahoma,40 35,Oregon,41 36,Pennsylvania,42 37,Rhode Island,44 38,South Carolina,45 39,South Dakota,46 40,Tennessee,47 41,Texas,48 42,Utah,49 43,Vermont,50 44,Virginia,51 45,Washington,53 46,West Virginia,54 47,Wisconsin,55 48,Wyoming,56 spdep/inst/etc/weights/wmat.dat0000644000176200001440000001637611716033162016246 0ustar liggesusers 2.0000 1.0000 0.2500 5.0000 1.0000 0.5000 6.0000 1.0000 0.2500 1.0000 2.0000 0.3333 3.0000 2.0000 0.1667 6.0000 2.0000 0.2500 7.0000 2.0000 0.1250 2.0000 3.0000 0.2500 4.0000 3.0000 0.2500 7.0000 3.0000 0.1250 37.0000 3.0000 0.1429 38.0000 3.0000 0.2000 39.0000 3.0000 0.2500 3.0000 4.0000 0.1667 37.0000 4.0000 0.1429 39.0000 4.0000 0.2500 40.0000 4.0000 0.1667 1.0000 5.0000 0.3333 6.0000 5.0000 0.2500 1.0000 6.0000 0.3333 2.0000 6.0000 0.2500 5.0000 6.0000 0.5000 7.0000 6.0000 0.1250 2.0000 7.0000 0.2500 3.0000 7.0000 0.1667 6.0000 7.0000 0.2500 8.0000 7.0000 0.5000 9.0000 7.0000 0.1667 18.0000 7.0000 0.1429 36.0000 7.0000 0.1250 38.0000 7.0000 0.2000 7.0000 8.0000 0.1250 18.0000 8.0000 0.1429 7.0000 9.0000 0.1250 18.0000 9.0000 0.1429 20.0000 9.0000 0.2000 32.0000 9.0000 0.1429 36.0000 9.0000 0.1250 38.0000 9.0000 0.2000 11.0000 10.0000 0.3333 17.0000 10.0000 0.1000 18.0000 10.0000 0.1429 19.0000 10.0000 0.1667 10.0000 11.0000 0.2500 12.0000 11.0000 0.3333 17.0000 11.0000 0.1000 11.0000 12.0000 0.3333 13.0000 12.0000 0.2500 17.0000 12.0000 0.1000 12.0000 13.0000 0.3333 14.0000 13.0000 0.3333 16.0000 13.0000 0.2000 17.0000 13.0000 0.1000 13.0000 14.0000 0.2500 15.0000 14.0000 0.5000 16.0000 14.0000 0.2000 14.0000 15.0000 0.3333 16.0000 15.0000 0.2000 13.0000 16.0000 0.2500 14.0000 16.0000 0.3333 15.0000 16.0000 0.5000 17.0000 16.0000 0.1000 23.0000 16.0000 0.1429 10.0000 17.0000 0.2500 11.0000 17.0000 0.3333 12.0000 17.0000 0.3333 13.0000 17.0000 0.2500 16.0000 17.0000 0.2000 18.0000 17.0000 0.1429 19.0000 17.0000 0.1667 21.0000 17.0000 0.2500 22.0000 17.0000 0.2500 23.0000 17.0000 0.1429 7.0000 18.0000 0.1250 8.0000 18.0000 0.5000 9.0000 18.0000 0.1667 10.0000 18.0000 0.2500 17.0000 18.0000 0.1000 19.0000 18.0000 0.1667 20.0000 18.0000 0.2000 10.0000 19.0000 0.2500 17.0000 19.0000 0.1000 18.0000 19.0000 0.1429 20.0000 19.0000 0.2000 21.0000 19.0000 0.2500 31.0000 19.0000 0.1111 9.0000 20.0000 0.1667 18.0000 20.0000 0.1429 19.0000 20.0000 0.1667 31.0000 20.0000 0.1111 32.0000 20.0000 0.1429 17.0000 21.0000 0.1000 19.0000 21.0000 0.1667 22.0000 21.0000 0.2500 31.0000 21.0000 0.1111 17.0000 22.0000 0.1000 21.0000 22.0000 0.2500 23.0000 22.0000 0.1429 31.0000 22.0000 0.1111 16.0000 23.0000 0.2000 17.0000 23.0000 0.1000 22.0000 23.0000 0.2500 24.0000 23.0000 0.1667 25.0000 23.0000 0.2000 29.0000 23.0000 0.1667 31.0000 23.0000 0.1111 23.0000 24.0000 0.1429 25.0000 24.0000 0.2000 29.0000 24.0000 0.1667 30.0000 24.0000 0.1667 31.0000 24.0000 0.1111 33.0000 24.0000 0.1667 23.0000 25.0000 0.1429 24.0000 25.0000 0.1667 26.0000 25.0000 0.3333 27.0000 25.0000 0.2500 29.0000 25.0000 0.1667 25.0000 26.0000 0.2000 27.0000 26.0000 0.2500 28.0000 26.0000 0.2500 25.0000 27.0000 0.2000 26.0000 27.0000 0.3333 28.0000 27.0000 0.2500 29.0000 27.0000 0.1667 26.0000 28.0000 0.3333 27.0000 28.0000 0.2500 29.0000 28.0000 0.1667 30.0000 28.0000 0.1667 23.0000 29.0000 0.1429 24.0000 29.0000 0.1667 25.0000 29.0000 0.2000 27.0000 29.0000 0.2500 28.0000 29.0000 0.2500 30.0000 29.0000 0.1667 24.0000 30.0000 0.1667 28.0000 30.0000 0.2500 29.0000 30.0000 0.1667 31.0000 30.0000 0.1111 33.0000 30.0000 0.1667 34.0000 30.0000 0.2000 19.0000 31.0000 0.1667 20.0000 31.0000 0.2000 21.0000 31.0000 0.2500 22.0000 31.0000 0.2500 23.0000 31.0000 0.1429 24.0000 31.0000 0.1667 30.0000 31.0000 0.1667 32.0000 31.0000 0.1429 33.0000 31.0000 0.1667 9.0000 32.0000 0.1667 20.0000 32.0000 0.2000 31.0000 32.0000 0.1111 33.0000 32.0000 0.1667 34.0000 32.0000 0.2000 35.0000 32.0000 0.1429 36.0000 32.0000 0.1250 24.0000 33.0000 0.1667 30.0000 33.0000 0.1667 31.0000 33.0000 0.1111 32.0000 33.0000 0.1429 34.0000 33.0000 0.2000 35.0000 33.0000 0.1429 30.0000 34.0000 0.1667 32.0000 34.0000 0.1429 33.0000 34.0000 0.1667 35.0000 34.0000 0.1429 43.0000 34.0000 0.3333 32.0000 35.0000 0.1429 33.0000 35.0000 0.1667 34.0000 35.0000 0.2000 36.0000 35.0000 0.1250 41.0000 35.0000 0.3333 42.0000 35.0000 0.2000 43.0000 35.0000 0.3333 7.0000 36.0000 0.1250 9.0000 36.0000 0.1667 32.0000 36.0000 0.1429 35.0000 36.0000 0.1429 37.0000 36.0000 0.1429 38.0000 36.0000 0.2000 40.0000 36.0000 0.1667 42.0000 36.0000 0.2000 3.0000 37.0000 0.1667 4.0000 37.0000 0.2500 36.0000 37.0000 0.1250 38.0000 37.0000 0.2000 39.0000 37.0000 0.2500 40.0000 37.0000 0.1667 42.0000 37.0000 0.2000 3.0000 38.0000 0.1667 7.0000 38.0000 0.1250 9.0000 38.0000 0.1667 36.0000 38.0000 0.1250 37.0000 38.0000 0.1429 3.0000 39.0000 0.1667 4.0000 39.0000 0.2500 37.0000 39.0000 0.1429 40.0000 39.0000 0.1667 4.0000 40.0000 0.2500 36.0000 40.0000 0.1250 37.0000 40.0000 0.1429 39.0000 40.0000 0.2500 41.0000 40.0000 0.3333 42.0000 40.0000 0.2000 35.0000 41.0000 0.1429 40.0000 41.0000 0.1667 42.0000 41.0000 0.2000 35.0000 42.0000 0.1429 36.0000 42.0000 0.1250 37.0000 42.0000 0.1429 40.0000 42.0000 0.1667 41.0000 42.0000 0.3333 34.0000 43.0000 0.2000 35.0000 43.0000 0.1429 44.0000 43.0000 0.2500 43.0000 44.0000 0.3333 45.0000 44.0000 0.5000 46.0000 44.0000 0.2000 49.0000 44.0000 0.5000 44.0000 45.0000 0.2500 46.0000 45.0000 0.2000 44.0000 46.0000 0.2500 45.0000 46.0000 0.5000 47.0000 46.0000 0.5000 48.0000 46.0000 0.5000 49.0000 46.0000 0.5000 46.0000 47.0000 0.2000 48.0000 47.0000 0.5000 46.0000 48.0000 0.2000 47.0000 48.0000 0.5000 44.0000 49.0000 0.2500 46.0000 49.0000 0.2000spdep/inst/etc/weights/ncCR85.gal0000644000176200001440000000726611716033162016271 0ustar liggesusers0 100 sids rn 37001 6 37033 37037 37081 37135 37151 37157 37003 4 37027 37035 37097 37193 37005 3 37009 37171 37193 37007 4 37123 37153 37167 37179 37009 3 37005 37189 37193 37011 5 37023 37027 37111 37121 37189 37013 6 37049 37095 37117 37137 37147 37187 37015 5 37083 37091 37117 37131 37187 37017 5 37047 37051 37141 37155 37163 37019 3 37047 37129 37141 37021 7 37087 37089 37111 37115 37161 37175 37199 37023 7 37011 37027 37035 37045 37109 37111 37161 37025 5 37097 37119 37159 37167 37179 37027 6 37003 37011 37023 37035 37189 37193 37029 3 37053 37073 37139 37031 3 37049 37103 37133 37033 5 37001 37081 37135 37145 37157 37035 6 37003 37023 37027 37045 37097 37109 37037 8 37001 37063 37085 37105 37125 37135 37151 37183 37039 4 37043 37075 37113 37173 37041 2 37073 37143 37043 2 37039 37113 37045 5 37023 37035 37071 37109 37161 37047 4 37017 37019 37141 37155 37049 6 37013 37031 37103 37107 37137 37147 37051 6 37017 37085 37093 37125 37155 37163 37053 1 37029 37055 1 37095 37057 7 37059 37067 37081 37123 37151 37159 37167 37059 5 37057 37067 37097 37159 37197 37061 6 37103 37107 37133 37141 37163 37191 37063 5 37037 37077 37135 37145 37183 37065 5 37083 37117 37127 37147 37195 37067 7 37057 37059 37081 37157 37169 37171 37197 37069 7 37077 37083 37101 37127 37181 37183 37185 37071 3 37045 37109 37119 37073 5 37029 37041 37091 37139 37143 37075 3 37039 37113 37173 37077 5 37063 37069 37145 37181 37183 37079 4 37107 37147 37191 37195 37081 7 37001 37033 37057 37067 37151 37157 37169 37083 7 37015 37065 37069 37117 37127 37131 37185 37085 7 37037 37051 37101 37105 37125 37163 37183 37087 6 37021 37089 37099 37115 37173 37175 37089 5 37021 37087 37149 37161 37175 37091 3 37015 37073 37131 37093 5 37051 37125 37153 37155 37165 37095 4 37013 37055 37177 37187 37097 9 37003 37025 37035 37059 37109 37119 37159 37193 37197 37099 4 37087 37113 37173 37175 37101 7 37069 37085 37127 37163 37183 37191 37195 37103 5 37031 37049 37061 37107 37133 37105 3 37037 37085 37125 37107 6 37049 37061 37079 37103 37147 37191 37109 6 37023 37035 37045 37071 37097 37119 37111 6 37011 37021 37023 37121 37161 37199 37113 5 37039 37043 37075 37099 37173 37115 3 37021 37087 37199 37117 6 37013 37015 37065 37083 37147 37187 37119 5 37025 37071 37097 37109 37179 37121 3 37011 37111 37199 37123 7 37007 37057 37125 37151 37153 37159 37167 37125 9 37037 37051 37085 37093 37105 37123 37151 37153 37165 37127 7 37065 37069 37083 37101 37183 37185 37195 37129 2 37019 37141 37131 3 37015 37083 37091 37133 4 37031 37061 37103 37141 37135 5 37001 37033 37037 37063 37145 37137 2 37013 37049 37139 3 37029 37073 37143 37141 7 37017 37019 37047 37061 37129 37133 37163 37143 3 37041 37073 37139 37145 4 37033 37063 37077 37135 37147 7 37013 37049 37065 37079 37107 37117 37195 37149 2 37089 37161 37151 6 37001 37037 37057 37081 37123 37125 37153 6 37007 37093 37123 37125 37165 37167 37155 5 37017 37047 37051 37093 37165 37157 5 37001 37033 37067 37081 37169 37159 6 37025 37057 37059 37097 37123 37167 37161 6 37021 37023 37045 37089 37111 37149 37163 7 37017 37051 37061 37085 37101 37141 37191 37165 4 37093 37125 37153 37155 37167 7 37007 37025 37057 37123 37153 37159 37179 37169 4 37067 37081 37157 37171 37171 5 37005 37067 37169 37193 37197 37173 5 37039 37075 37087 37099 37113 37175 4 37021 37087 37089 37099 37177 2 37095 37187 37179 4 37007 37025 37119 37167 37181 3 37069 37077 37185 37183 7 37037 37063 37069 37077 37085 37101 37127 37185 4 37069 37083 37127 37181 37187 5 37013 37015 37095 37117 37177 37189 4 37009 37011 37027 37193 37191 6 37061 37079 37101 37107 37163 37195 37193 8 37003 37005 37009 37027 37097 37171 37189 37197 37195 6 37065 37079 37101 37127 37147 37191 37197 5 37059 37067 37097 37171 37193 37199 4 37021 37111 37115 37121 spdep/inst/etc/weights/baltk4.GWT0000644000176200001440000003125511716033162016341 0ustar liggesusers0 211 BALTIM STATION 1 96 5.09902 1 16 6.32456 1 90 6.57647 1 133 6.80074 2 5 4 2 4 4.12311 2 7 4.47214 2 185 4.92443 3 4 4.24264 3 7 5.38516 3 2 7.28011 3 5 7.28011 4 2 4.12311 4 3 4.24264 4 7 5.38516 4 5 6.40312 5 7 2 5 2 4 5 11 5.38516 5 4 6.40312 6 10 3.16228 6 70 5.38516 6 8 7.07107 6 12 8.94427 7 5 2 7 2 4.47214 7 3 5.38516 7 4 5.38516 8 12 3.16228 8 14 3.60555 8 70 6.40312 8 6 7.07107 9 195 3.3541 9 76 5 9 211 5.65685 9 68 5.86003 10 6 3.16228 10 70 6.40312 10 48 9.43398 10 8 10 11 13 4.24264 11 5 5.38516 11 15 6 11 7 7.28011 12 14 2.23607 12 8 3.16228 12 70 6.08276 12 67 8.01561 13 11 4.24264 13 65 4.60977 13 67 4.60977 13 69 6.26498 14 12 2.23607 14 8 3.60555 14 11 7.81025 14 5 8 15 180 3.04138 15 2 5 15 185 5.40833 15 195 5.59017 16 18 4.60977 16 179 5.70088 16 96 5.83095 16 1 6.32456 17 18 2.12132 17 179 3.20156 17 74 4.03113 17 135 5.02494 18 17 2.12132 18 74 3.20156 18 179 3.64005 18 16 4.60977 19 21 3.5 19 20 4.03113 19 25 6.7082 19 22 6.7082 20 19 4.03113 20 25 4.03113 20 200 5.14782 20 24 5.52268 21 19 3.5 21 203 5.59017 21 20 5.65685 21 25 6.0208 22 204 4.47214 22 72 5.09902 22 205 5.40833 22 23 5.59017 23 72 3.5 23 75 4.71699 23 22 5.59017 23 24 7.28011 24 75 5.40833 24 20 5.52268 24 19 6.94622 24 192 7 25 200 1.11803 25 20 4.03113 25 21 6.0208 25 19 6.7082 26 37 1.5 26 38 8.38153 26 27 8.73212 26 46 9.21954 27 30 1.41421 27 39 5.22015 27 35 5.5 27 38 6 28 32 4.03113 28 35 4.92443 28 39 6.0208 28 33 6.7082 29 42 2.69258 29 32 5.70088 29 33 6.72681 29 31 6.96419 30 27 1.41421 30 39 4.71699 30 38 5.09902 30 34 6.18466 31 86 4.66476 31 166 6.18466 31 29 6.96419 31 170 7 32 28 4.03113 32 29 5.70088 32 153 6.7082 32 31 7.61577 33 34 1.11803 33 39 2.5 33 36 4.60977 33 28 6.7082 34 33 1.11803 34 39 2.23607 34 36 4.47214 34 30 6.18466 35 28 4.92443 35 27 5.5 35 39 6.40312 35 30 6.57647 36 34 4.47214 36 33 4.60977 36 47 5.38516 36 77 6.26498 37 26 1.5 37 38 8.06226 37 46 8.32166 37 27 9.43398 38 46 3.64005 38 50 4.30116 38 43 5.09902 38 30 5.09902 39 34 2.23607 39 33 2.5 39 30 4.71699 39 27 5.22015 40 82 4.74342 40 86 4.83839 40 87 5.47814 40 42 5.52268 41 161 4.47214 41 170 5.09902 41 153 5.83095 41 172 6.0208 42 29 2.69258 42 40 5.52268 42 86 6.48151 42 31 7.5 43 50 3.53553 43 47 4.03113 43 38 5.09902 43 46 6.5 44 45 6.0208 44 49 6.5192 44 48 7.61577 44 51 8.38153 45 51 3.60555 45 77 4.52769 45 49 5.59017 45 44 6.0208 46 50 3.5 46 38 3.64005 46 43 6.5 46 52 7.56637 47 43 4.03113 47 77 5.02494 47 36 5.38516 47 45 6.72681 48 58 6.7082 48 44 7.61577 48 10 9.43398 48 56 10.4403 49 45 5.59017 49 44 6.5192 49 50 7.5 49 47 7.51665 50 46 3.5 50 43 3.53553 50 38 4.30116 50 47 7.15891 51 77 3.53553 51 45 3.60555 51 54 5.59017 51 79 5.59017 52 46 7.56637 52 50 8.74643 52 49 10.9202 52 38 11.1803 53 55 3 53 57 4.12311 53 60 4.24264 53 56 7.07107 54 56 2.82843 54 79 5 54 57 5 54 51 5.59017 55 57 1.41421 55 53 3 55 56 4.12311 55 54 6.08276 56 54 2.82843 56 57 3.60555 56 58 4 56 55 4.12311 57 55 1.41421 57 56 3.60555 57 53 4.12311 57 54 5 58 56 4 58 54 6.32456 58 55 6.40312 58 57 6.7082 59 61 3.20156 59 62 4.71699 59 64 5.02494 59 60 5.02494 60 53 4.24264 60 59 5.02494 60 71 6.08276 60 55 6.7082 61 62 2 61 59 3.20156 61 64 3.60555 61 66 5.38516 62 61 2 62 64 2.23607 62 59 4.71699 62 63 5.02494 63 91 3.3541 63 64 4.272 63 93 4.52769 63 62 5.02494 64 62 2.23607 64 61 3.60555 64 63 4.272 64 59 5.02494 65 69 2.54951 65 67 2.91548 65 13 4.60977 65 68 5.18556 66 209 4.12311 66 71 4.47214 66 61 5.38516 66 92 5.40833 67 69 2.23607 67 65 2.91548 67 13 4.60977 67 12 8.01561 68 211 0.860233 68 65 5.18556 68 209 5.54437 68 71 5.86003 69 67 2.23607 69 65 2.54951 69 13 6.26498 69 71 7.01783 70 6 5.38516 70 12 6.08276 70 8 6.40312 70 10 6.40312 71 66 4.47214 71 68 5.86003 71 60 6.08276 71 211 6.32456 72 23 3.5 72 22 5.09902 72 73 6.08276 72 74 6.80074 73 74 3.04138 73 95 5 73 18 5.70088 73 94 5.70088 74 73 3.04138 74 18 3.20156 74 17 4.03113 74 16 6.67083 75 23 4.71699 75 24 5.40833 75 210 6.10328 75 72 7.90569 76 210 4.47214 76 9 5 76 195 5.5 76 192 6.08276 77 51 3.53553 77 45 4.52769 77 47 5.02494 77 79 5.59017 78 81 2.82843 78 79 3.60555 78 82 6.80074 78 40 7.01783 79 81 1 79 78 3.60555 79 54 5 79 51 5.59017 80 83 2 80 82 3.3541 80 87 5.54617 80 88 7.01783 81 79 1 81 78 2.82843 81 54 5.83095 81 77 6.10328 82 80 3.3541 82 87 3.55106 82 83 4.60977 82 40 4.74342 83 80 2 83 82 4.60977 83 59 6.80074 83 78 7.28011 84 86 3.67696 84 87 5.1225 84 169 5.51453 84 85 6.16117 85 169 4.03113 85 89 4.12311 85 84 6.16117 85 90 6.57647 86 84 3.67696 86 31 4.66476 86 40 4.83839 86 42 6.48151 87 88 3.52278 87 82 3.55106 87 84 5.1225 87 40 5.47814 88 87 3.52278 88 89 6.18466 88 84 6.4195 88 82 6.5192 89 90 2.5 89 85 4.12311 89 133 6.10328 89 88 6.18466 90 89 2.5 90 133 5.09902 90 91 5.59017 90 1 6.57647 91 63 3.3541 91 96 5.09902 91 90 5.59017 91 93 6.5 92 94 3.53553 92 95 4.47214 92 66 5.40833 92 209 5.59017 93 96 3.64005 93 63 4.52769 93 95 6.08276 93 92 6.40312 94 95 1.58114 94 92 3.53553 94 73 5.70088 94 93 6.96419 95 94 1.58114 95 92 4.47214 95 73 5 95 93 6.08276 96 93 3.64005 96 91 5.09902 96 1 5.09902 96 63 5.31507 97 98 5.70088 97 117 13.4164 97 129 16.2788 97 119 16.9706 98 97 5.70088 98 117 7.90569 98 129 11.8533 98 119 12.3491 99 104 2.5 99 105 4.30116 99 108 6.08276 99 106 6.10328 100 105 4.24264 100 106 5.40833 100 99 6.5192 100 104 6.80074 101 107 9.55249 101 100 11.2805 101 103 11.8533 101 106 14.1421 102 101 21.319 102 100 29.6184 102 107 30.8585 102 105 31.5317 103 107 3.64005 103 109 4.74342 103 116 4.92443 103 106 4.94975 104 99 2.5 104 108 3.64005 104 106 4.30116 104 110 4.74342 105 100 4.24264 105 99 4.30116 105 104 6.10328 105 106 7.5 106 110 2.82843 106 104 4.30116 106 108 4.60977 106 103 4.94975 107 103 3.64005 107 109 6.10328 107 116 6.5192 107 106 8.32166 108 110 2.69258 108 104 3.64005 108 106 4.60977 108 99 6.08276 109 116 0.5 109 103 4.74342 109 111 6.0208 109 107 6.10328 110 108 2.69258 110 106 2.82843 110 104 4.74342 110 103 5.70088 111 114 4.60977 111 113 5 111 116 5.70088 111 109 6.0208 112 108 6.26498 112 114 7.07107 112 207 7.61577 112 110 8.24621 113 111 5 113 116 8.51469 113 109 8.55862 113 114 9.60469 114 111 4.60977 114 116 6.57647 114 112 7.07107 114 109 7.07107 115 113 17.066 115 107 17.4141 115 109 18.868 115 116 19.2938 116 109 0.5 116 103 4.92443 116 111 5.70088 116 107 6.5192 117 119 6 117 129 6.08276 117 121 6.40312 117 98 7.90569 118 120 4.03113 118 126 5.85235 118 124 6.0208 118 123 7.10634 119 129 1 119 122 3.64005 119 127 5.09902 119 121 5.38516 120 126 3.80789 120 118 4.03113 120 127 5.31507 120 124 5.65685 121 119 5.38516 121 129 6.32456 121 117 6.40312 121 122 6.80074 122 127 2.5 122 119 3.64005 122 129 4.03113 122 120 5.70088 123 128 2.5 123 125 2.82843 123 127 3.60555 123 122 6.10328 124 126 2.54951 124 138 4.12311 124 120 5.65685 124 118 6.0208 125 128 2.06155 125 123 2.82843 125 127 5 125 129 7.07107 126 124 2.54951 126 120 3.80789 126 138 4.74342 126 118 5.85235 127 122 2.5 127 123 3.60555 127 129 5 127 125 5 128 125 2.06155 128 123 2.5 128 127 5.85235 128 122 8.27647 129 119 1 129 122 4.03113 129 127 5 129 117 6.08276 130 136 4.60977 130 126 6.5 130 121 7.38241 130 120 7.5 131 167 5.40833 131 168 5.5 131 132 5.52268 131 174 6.36396 132 133 3.3541 132 178 4.03113 132 174 5.09902 132 131 5.52268 133 132 3.3541 133 178 3.53553 133 90 5.09902 133 89 6.10328 134 135 2.23607 134 139 5.31507 134 137 5.38516 134 179 5.65685 135 134 2.23607 135 179 3.60555 135 17 5.02494 135 139 6.5 136 138 4.12311 136 130 4.60977 136 126 6.04152 136 124 7.07107 137 139 1.80278 137 134 5.38516 137 135 7.07107 137 124 7.15891 138 136 4.12311 138 124 4.12311 138 126 4.74342 138 205 7.5 139 137 1.80278 139 134 5.31507 139 17 6.04152 139 135 6.5 140 152 5.40833 140 142 6.40312 140 177 7.28011 140 141 8.51469 141 142 2.12132 141 140 8.51469 141 152 10.5948 141 151 11.5 142 141 2.12132 142 140 6.40312 142 152 8.73212 142 151 10.1119 143 145 3.20156 143 165 4.03113 143 146 4.60977 143 149 6.7082 144 145 7.01783 144 146 7.5 144 143 9.61769 144 165 11.4127 145 143 3.20156 145 146 5.09902 145 165 6.7082 145 144 7.01783 146 165 4.12311 146 143 4.60977 146 145 5.09902 146 147 6.04152 147 148 4.12311 147 165 4.74342 147 150 5.31507 147 146 6.04152 148 177 3.90512 148 147 4.12311 148 150 4.5 148 152 5.38516 149 167 3.64005 149 171 4.71699 149 165 5.59017 149 168 5.59017 150 151 3.64005 150 148 4.5 150 147 5.31507 150 152 5.59017 151 150 3.64005 151 152 3.80789 151 148 6.5192 151 177 8.55862 152 151 3.80789 152 148 5.38516 152 140 5.40833 152 150 5.59017 153 159 4.47214 153 41 5.83095 153 154 6.0208 153 163 6.32456 154 163 2.5 154 153 6.0208 154 159 6.0208 154 157 8.544 155 160 3.3541 155 156 5.14782 155 157 5.22015 155 159 5.38516 156 162 2.91548 156 164 4.03113 156 155 5.14782 156 161 5.14782 157 155 5.22015 157 160 5.70088 157 163 6.26498 157 159 7.82624 158 172 3.53553 158 171 3.53553 158 170 6.57647 158 161 6.94622 159 163 4.47214 159 153 4.47214 159 155 5.38516 159 161 5.83095 160 155 3.3541 160 157 5.70088 160 156 6.0208 160 164 7.38241 161 41 4.47214 161 156 5.14782 161 159 5.83095 161 172 6.5 162 164 1.80278 162 156 2.91548 162 161 7.07107 162 160 7.76209 163 154 2.5 163 159 4.47214 163 157 6.26498 163 153 6.32456 164 162 1.80278 164 156 4.03113 164 160 7.38241 164 155 8.20061 165 143 4.03113 165 146 4.12311 165 147 4.74342 165 149 5.59017 166 170 1.80278 166 172 4.47214 166 169 5.70088 166 31 6.18466 167 149 3.64005 167 168 5.14782 167 131 5.40833 167 175 6.67083 168 171 3.80789 168 167 5.14782 168 131 5.5 168 149 5.59017 169 85 4.03113 169 84 5.51453 169 166 5.70088 169 168 7.07107 170 166 1.80278 170 172 3.04138 170 41 5.09902 170 171 6.5 171 158 3.53553 171 168 3.80789 171 172 4.24264 171 149 4.71699 172 170 3.04138 172 158 3.53553 172 171 4.24264 172 166 4.47214 173 176 3.53553 173 178 7.07107 173 179 7.43303 173 135 7.76209 174 175 1.80278 174 177 4.12311 174 132 5.09902 174 131 6.36396 175 174 1.80278 175 177 3.20156 175 148 5.52268 175 167 6.67083 176 173 3.53553 176 135 6.72681 176 134 7.82624 176 179 8.07775 177 175 3.20156 177 148 3.90512 177 174 4.12311 177 152 5.59017 178 133 3.53553 178 132 4.03113 178 173 7.07107 178 1 7.15891 179 17 3.20156 179 135 3.60555 179 18 3.64005 179 134 5.65685 180 15 3.04138 180 185 3.80789 180 190 5.40833 180 2 6.26498 181 183 2.23607 181 193 3 181 189 4.30116 181 182 6.18466 182 190 4.60977 182 196 4.74342 182 184 6.08276 182 183 6.10328 183 181 2.23607 183 189 3.80789 183 193 4.47214 183 182 6.10328 184 191 2.5 184 190 3.90512 184 192 4.03113 184 187 4.52769 185 180 3.80789 185 2 4.92443 185 15 5.40833 185 181 6.57647 186 188 2.54951 186 197 5 186 199 5.83095 186 201 7.07107 187 196 4.12311 187 184 4.52769 187 202 5.40833 187 191 6.5 188 186 2.54951 188 194 5.40833 188 201 6.67083 188 197 7.51665 189 193 3.53553 189 183 3.80789 189 181 4.30116 189 188 7.61577 190 184 3.90512 190 182 4.60977 190 192 5.09902 190 191 5.09902 191 192 2 191 184 2.5 191 190 5.09902 191 187 6.5 192 191 2 192 184 4.03113 192 190 5.09902 192 76 6.08276 193 181 3 193 189 3.53553 193 183 4.47214 193 185 7.63217 194 202 3.64005 194 201 4.92443 194 196 5.14782 194 188 5.40833 195 9 3.3541 195 76 5.5 195 15 5.59017 195 180 6.40312 196 202 3.64005 196 187 4.12311 196 182 4.74342 196 194 5.14782 197 199 3 197 198 4.52769 197 186 5 197 188 7.51665 198 197 4.52769 198 201 6.96419 198 186 7.10634 198 199 7.51665 199 197 3 199 186 5.83095 199 198 7.51665 199 188 8.27647 200 25 1.11803 200 20 5.14782 200 21 6.5192 200 187 6.80074 201 194 4.92443 201 202 5.70088 201 188 6.67083 201 198 6.96419 202 196 3.64005 202 194 3.64005 202 187 5.40833 202 201 5.70088 203 206 4.12311 203 207 5.09902 203 21 5.59017 203 204 5.83095 204 205 2.69258 204 206 4.12311 204 22 4.47214 204 203 5.83095 205 204 2.69258 205 206 5.22015 205 22 5.40833 205 207 7.01783 206 207 2.23607 206 204 4.12311 206 203 4.12311 206 205 5.22015 207 206 2.23607 207 203 5.09902 207 204 6.32456 207 205 7.01783 208 99 8.38153 208 200 8.73212 208 104 9.43398 208 25 9.61769 209 66 4.12311 209 211 5 209 210 5.09902 209 68 5.54437 210 76 4.47214 210 209 5.09902 210 75 6.10328 210 211 6.40312 211 68 0.860233 211 209 5 211 9 5.65685 211 65 6.0208 spdep/inst/CHANGES0000644000176200001440000000653411716033162013345 0ustar liggesusers0.4-01 Added dependence on Matrix, added Matrix methods to lagsarlm and errorsarlm as well as spautolm, add nb2WB, other fixes 0.3-28 Changes to ensure that class "nb" objects conform to specification, with only integer values (including a single zero for no neighbours). Thanks to Prof. Brian Ripley for reporting problem. 0.3-25 Added tol.solve= argument to spautolm() and tidied symmetry-checking for family="CAR", method="full" in the same function (thanks to Sam Veloz); by profiling and moving type checking, poly2nb() runs faster (thanks to Hisaji Ono). 0.3-22 Fixed polylist object formats; added Moran eigenvector filtering for glm() models in function ME(), which reproduces the results of SpatialFiltering() for the lag case; added family= argument to EBest to cover non-rare case (contributed by Olaf Berke). 0.3-20 Fix for method="SparseM" when memory allocation in chol() failed 0.3-17 Added function spautolm for weighted and unweighted SAR and CAR spatial regression, Luc Anselin's implementation of the Kelejian-Prucha GM error SAR estimator, and a function with examples by Carsten Dormann for generating autocovariates for adding to various models. Otherwise a couple of small fixes, and a first attempt to let poly2nb() work with sp polygons. It also includes SpatialFiltering by Yongwan Chun and Michael Tiefelsdorf for semi-parametric spatial filtering. 0.3-13 Addition of an example for nb2listw to show how the glist= argument can be used to exclude neighbour links based on observation pair criteria (houses neighbours with reference to sales price if sold after neighbour - by definition asymmetric); poly2nb(queen=FALSE) was falsely reporting rook neighbours where the only shared point was the first (and last) coordinate of one of the polygons - the first coordinate is now omitted. 0.3-12 Small fixes to suit 2.1.0 (gsub patterns, colortype= in vignette) 0.3-9 Removal of the Berkeley sparse code; correction of a bug found by Yong Cai inn subset.nb() which was wrong when the neighbour list had no-neighbour entities. 0.3-* Introduction of dependence on the SparseM package, and use of the determinant function there for the Jacobian 0.2-23 Added machine fuzz to max distance in dnearneigh() 0.2-18 Removed read.shape() from example(nc.sids) because of odd problems building Windows binary for CRAN, polylist object and centroids added to nc.sids.rda. 0.2-17 Further changes to poly2nb() reducing a 40 hour run for 44K polygons in Australia to 11 hours. Added p.adjustSP() with Danlin Yu for adjusting p-values for local statistics. 0.2-16 Added text to help page for tri2nb() to show ways of triangulating on a grid; added nb2blocknb to fill out an nb object with spatial "replications" that have to neighbour each other; poly2nb() altered to use the pythag() C function internally, rather than creating several large matrices - this should alleviate memory problems. 0.2-14 Dependency on R-1.9.0 because findInterval() in R altered to help with map class interval finding, making a modified local copy superfluous. earlier briefly: because spdep depends on the maptools package, it must be present for spdep to load correctly. all after 0.2-5: error in errorsarlm() and lagsarlm() corrected - the error was the silent assumption that all lagged intercepts followed "W" style weights, not the actual weights being used. spdep/src/0000755000176200001440000000000013152260232012150 5ustar liggesusersspdep/src/eminmaxC.c0000644000176200001440000001625013152260233014062 0ustar liggesusers/* Copyright 2015 by Roger S. Bivand. */ #include "spdep.h" SEXP lmin21(SEXP nb, SEXP y, SEXP cy, SEXP card) { int i, j, k, nswitch=0, n=length(card), pc=0; SEXP ans; double t1, t2, ytemp; double *Y, *CY; Y = (double *) R_alloc((size_t) n, sizeof(double)); CY = (double *) R_alloc((size_t) n, sizeof(double)); for (i=0; i 0) { t1 = fabs(Y[i] - CY[i]); t2 = fabs(-2*CY[i]); for (j=0; j 0) { t1 = fabs(Y[i] - CY[i]); yhat = B[0] + B[1]*CY[i]; t2 = fabs(yhat - CY[i]); for (j=0; j 0) { yhat = B[0] + B[1]*CY[i]; var = fabs(Y[i] - yhat); if (var > NUMERIC_POINTER(tol)[0]) { nswitch++; tmp = Y[i]; Y[i] = yhat; for (j=0; j 0) { yhat = B[0] + B[1]*CY[i]; var = fabs(Y[i] - yhat); if (var > NUMERIC_POINTER(tol)[0]) { nswitch++; tmp = Y[i]; Y[i] = yhat; for (j=0; j 0) { yhat = B[0] + B[1]*CY[i]; var = fabs(Y[i] - yhat); if (var > NUMERIC_POINTER(tol)[0]) { nswitch++; tmp = Y[i]; Y[i] = yhat; for (j=0; j 0 && k <= n) { for (k1=0; k1 0) LOGICAL_POINTER(ans)[0] = FALSE; UNPROTECT(pc); /* ans */ return(ans); } spdep/src/jc.c0000644000176200001440000000126313152260233012713 0ustar liggesusers/* Copyright 2003 by Roger S. Bivand. */ #include "spdep.h" SEXP jcintern(SEXP nb, SEXP weights, SEXP dum, SEXP card) { int i, j, k, n=length(card), pc=0; double sum, sum1, wt; SEXP ans; PROTECT(ans = NEW_NUMERIC(1)); pc++; sum1 = 0.0; for (i=0; i < n; i++) { sum = 0.0; if (INTEGER_POINTER(card)[i] > 0) { for (j=0; j= dn0 : dist > dn0) && (dn_equal ? dist <= dn: dist < dn)) { pos[kn] = j; if (++kn == nte - 1 && j == nte) { Rprintf("%d %d %d\n", kn, nte, j); error("position array overrun"); } } } if (kn < 1) { SET_VECTOR_ELT(VECTOR_ELT(ans, 0), npat, NEW_INTEGER(1)); INTEGER_POINTER(VECTOR_ELT(VECTOR_ELT(ans, 0), npat))[0] = 0; } else { SET_VECTOR_ELT(VECTOR_ELT(ans, 0), npat, NEW_INTEGER(kn)); for (k = 0; k < kn; k++) { INTEGER_POINTER(VECTOR_ELT(VECTOR_ELT(ans, 0), npat))[k] = pos[k]+ROFFSET; } } } UNPROTECT(pc); return(ans); } /* http://home.att.net/~srschmitt/greatcircle.html */ void gcdist(double *lon1, double *lon2, double *lat1, double *lat2, double *dist) { double F, G, L, sinG2, cosG2, sinF2, cosF2, sinL2, cosL2, S, C; double w, R, a, f, D, H1, H2; double lat1R, lat2R, lon1R, lon2R, DE2RA; // Maeel Le Noc bug 2017-04-12 if (fabs(lat1[0] - lat2[0]) < DOUBLE_EPS) { if (fabs(lon1[0] - lon2[0]) < DOUBLE_EPS) { dist[0] = 0.0; return; /* Wouter Buytaert bug caught 100211 */ } else if (fabs((fabs(lon1[0]) + fabs(lon2[0])) - 360.0) < DOUBLE_EPS) { dist[0] = 0.0; return; } } /* if (lat1[0] == lat2[0] && lon1[0] == lon2[0]) { dist[0] = 0.0; } else {*/ DE2RA = M_PI/180; a = 6378.137; /* WGS-84 equatorial radius in km */ f = 1.0/298.257223563; /* WGS-84 ellipsoid flattening factor */ lat1R = lat1[0]*DE2RA; lat2R = lat2[0]*DE2RA; lon1R = lon1[0]*DE2RA; lon2R = lon2[0]*DE2RA; F = ( lat1R + lat2R )/2.0; G = ( lat1R - lat2R )/2.0; L = ( lon1R - lon2R )/2.0; sinG2 = R_pow_di( sin( G ), 2 ); cosG2 = R_pow_di( cos( G ), 2 ); sinF2 = R_pow_di( sin( F ), 2 ); cosF2 = R_pow_di( cos( F ), 2 ); sinL2 = R_pow_di( sin( L ), 2 ); cosL2 = R_pow_di( cos( L ), 2 ); S = sinG2*cosL2 + cosF2*sinL2; C = cosG2*cosL2 + sinF2*sinL2; w = atan( sqrt( S/C ) ); R = sqrt( S*C )/w; D = 2*w*a; H1 = ( 3*R - 1 )/( 2*C ); // was H2 = ( 3*R + 2 )/( 2*S ); 161209 H2 = ( 3*R + 1 )/( 2*S ); dist[0] = D*( 1 + f*H1*sinF2*cosG2 - f*H2*cosF2*sinG2 ); // } } spdep/src/listw2sn.c0000644000176200001440000000145213152260233014104 0ustar liggesusers/* Copyright 2000-4 by Roger S. Bivand. */ #include "spdep.h" SEXP listw2sn(SEXP nbs, SEXP wts, SEXP card, SEXP ncard) { int i, ii, j, n, pc=0; SEXP ans; /* double *card; */ n = LENGTH(nbs); PROTECT(ans = NEW_LIST(3)); pc++; SET_VECTOR_ELT(ans, 0, NEW_INTEGER(INTEGER_POINTER(ncard)[0])); SET_VECTOR_ELT(ans, 1, NEW_INTEGER(INTEGER_POINTER(ncard)[0])); SET_VECTOR_ELT(ans, 2, NEW_NUMERIC(INTEGER_POINTER(ncard)[0])); for (i=0, ii=0; i < n; i++) { for (j=0; j < INTEGER_POINTER(card)[i]; j++) { INTEGER_POINTER(VECTOR_ELT(ans, 0))[ii] = i+ROFFSET; INTEGER_POINTER(VECTOR_ELT(ans, 1))[ii] = INTEGER_POINTER(VECTOR_ELT(nbs, i))[j]; NUMERIC_POINTER(VECTOR_ELT(ans, 2))[ii] = NUMERIC_POINTER(VECTOR_ELT(wts, i))[j]; ii++; } } UNPROTECT(pc); return(ans); } spdep/src/gabriel.c0000644000176200001440000000260413152260233013724 0ustar liggesusers/* Copyright 2001 by Nicholas Lewin-Koh. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. **/ #include "spdep.h" static double distance(double x1, double y1, double x2, double y2){ return(hypot(x1-x2,y1-y2)); } void compute_gabriel(int *no_nodes, int *g1, int *g2, int *nogab, int *ngaballoc, double *nodes_xd, double *nodes_yd) { int i,j,l, no_gab=0; double mx, my, rad; for(i=0;i<*no_nodes;i++) { for(j=i+1;j<*no_nodes;j++) { mx=(nodes_xd[i]+nodes_xd[j])/2; my=(nodes_yd[i]+nodes_yd[j])/2; rad=distance(mx,my,nodes_xd[i],nodes_yd[i]); for(l=0;l<*no_nodes;l++) { if((l!=i)&&(l!=j)&& (distance(mx,my,nodes_xd[l],nodes_yd[l]) *ngaballoc) error("number of neighbours overrun - increase nnmult"); if(l==*no_nodes) { g1[no_gab]=i+1; g2[no_gab++]=j+1; } } } *nogab=no_gab; return; } spdep/src/gsymtest.c0000644000176200001440000000204213152260233014172 0ustar liggesusers/* Copyright 2001-8 by Roger S. Bivand. */ #include "spdep.h" SEXP gsymtest(SEXP nb, SEXP glist, SEXP card) { int i, icard, j, k, k1, n=length(nb), pc=0, l=TRUE; double g, g0, d=0.0, d1=0.0; SEXP ans; PROTECT(ans = NEW_LIST(2)); pc++; SET_VECTOR_ELT(ans, 0, NEW_LOGICAL(1)); SET_VECTOR_ELT(ans, 1, NEW_NUMERIC(1)); for (i=0; i < n; i++) { icard = INTEGER_POINTER(card)[i]; for (j=0; j 0 && k <= n) { for (k1=0; k1 0.0) { l = FALSE; if (d > d1) d1 = d; } } } } } } LOGICAL_POINTER(VECTOR_ELT(ans, 0))[0] = l; NUMERIC_POINTER(VECTOR_ELT(ans, 1))[0] = d1; UNPROTECT(pc); /* ans */ return(ans); } spdep/src/spdep.h0000644000176200001440000000520413152260233013436 0ustar liggesusers/* Copyright 2010 by Roger S. Bivand. */ #include #include #include #include #include #include /* #include */ #include #define ROFFSET 1 SEXP opt_error_free(SEXP ptr); SEXP hess_error_free(SEXP ptr); SEXP hess_lag_free(SEXP ptr); SEXP opt_error_init(); SEXP hess_error_init(); SEXP hess_lag_init(); SEXP R_ml_sse_env(SEXP env, SEXP coef); SEXP R_ml1_sse_env(SEXP env, SEXP lambda, SEXP beta); SEXP R_ml2_sse_env(SEXP env, SEXP rho, SEXP beta); SEXP mom_calc_int2(SEXP is, SEXP m, SEXP nb, SEXP weights, SEXP card); void opt_error_set(SEXP env); void hess_error_set(SEXP env); void hess_lag_set(SEXP env); SEXP card(SEXP nb); SEXP listw2dsT(SEXP nbs, SEXP wts, SEXP card, SEXP ncard2); SEXP listw2dgR(SEXP nbs, SEXP wts, SEXP card, SEXP ncard); SEXP listw2sn(SEXP nbs, SEXP wts, SEXP card, SEXP ncard); SEXP dnearneigh(SEXP din1, SEXP din2, SEXP pnte, SEXP p, SEXP test, SEXP lonlat); SEXP gearyw(SEXP nb, SEXP weights, SEXP x, SEXP card, SEXP zeropolicy, SEXP ftype); SEXP gsymtest(SEXP nb, SEXP glist, SEXP card); SEXP spInsiders(SEXP bbbi, SEXP bbbj); SEXP jcintern(SEXP nb, SEXP weights, SEXP dum, SEXP card); SEXP lagw(SEXP nb, SEXP weights, SEXP x, SEXP card, SEXP zeropolicy, SEXP naok); SEXP nbdists(SEXP nb, SEXP x, SEXP np, SEXP dim, SEXP lonlat); SEXP polypoly(SEXP p1, SEXP n01, SEXP p2, SEXP n02, SEXP snap); SEXP spOverlap(SEXP bbbi, SEXP bbbj); /*SEXP poly_loop(SEXP n, SEXP i_findInBox, SEXP bb, SEXP pl, SEXP nrs, SEXP dsnap, SEXP criterion, SEXP scale);*/ SEXP poly_loop2(SEXP n, SEXP i_findInBox, SEXP bb, SEXP pl, SEXP nrs, SEXP dsnap, SEXP criterion, SEXP scale); SEXP symtest(SEXP nb, SEXP card, SEXP verbose); SEXP g_components(SEXP nblst, SEXP cmpnm); SEXP lmin21(SEXP nb, SEXP y, SEXP cy, SEXP card); SEXP lmin22(SEXP nb, SEXP y, SEXP cy, SEXP card, SEXP beta); SEXP lmin23(SEXP nb, SEXP y, SEXP cy, SEXP card, SEXP beta, SEXP tol); SEXP lmin3(SEXP nb, SEXP ev1, SEXP ev1_lag, SEXP n_nei, SEXP beta, SEXP tol); SEXP lmin3S(SEXP nb, SEXP ev1, SEXP ev1_lag, SEXP n_nei, SEXP card, SEXP beta, SEXP tol); void dfs(SEXP nblst, SEXP cmpnm, SEXP visited, int curcmp, int nodeid); void compute_gabriel(int *no_nodes, int *g1, int *g2, int *nogab, int *ngaballoc, double *nodes_xd, double *nodes_yd); void compute_relative(int *no_nodes, int *g1, int *g2, int *nogab, int *ngaballoc, double *nodes_xd, double *nodes_yd); void prunemst(int *e1, int *e2, int *ne, int *gr); void gcdist(double *lon1, double *lon2, double *lat1, double *lat2, double *dist); void knearneigh(int *kin, int *pnte, int *p, double *test, int *res, double *dists, int *lonlat); spdep/src/lagw.c0000644000176200001440000000240613152260233013251 0ustar liggesusers/* Copyright 2001 by Roger S. Bivand. */ #include "spdep.h" SEXP lagw(SEXP nb, SEXP weights, SEXP x, SEXP card, SEXP zeropolicy, SEXP naok) { int i, j, k, n=length(card), pc=0, naOK=LOGICAL_POINTER(naok)[0], nas; double sum, wt, tmp; SEXP ans; PROTECT(ans = NEW_NUMERIC(n)); pc++; if (naOK == FALSE) { for (i=0; i < n; i++) if (!R_FINITE(NUMERIC_POINTER(x)[i])) error("Variable contains non-finite values"); } for (i=0; i < n; i++) { if (INTEGER_POINTER(card)[i] == 0) { if (LOGICAL_POINTER(zeropolicy)[0] == TRUE) NUMERIC_POINTER(ans)[i] = 0; else NUMERIC_POINTER(ans)[i] = NA_REAL; } else { sum = 0.0; nas = 0; for (j=0; jset = FALSE; PROTECT(ptr = R_MakeExternalPtr(pt, R_NilValue, R_NilValue)); UNPROTECT(1); return(ptr); } void opt_error_set(SEXP env) { OPT_ERROR_SSE *pt; SEXP y, x, wy, WX; int i, n, p, np, pc=0; n = INTEGER_POINTER(findVarInFrame(env, install("n")))[0]; p = INTEGER_POINTER(findVarInFrame(env, install("p")))[0]; np = n*p; pt = (OPT_ERROR_SSE *) R_ExternalPtrAddr(findVarInFrame(env, install("ptr"))); if (pt->set) error("opt_error_set: function called out of order"); PROTECT(y = findVarInFrame(env, install("y"))); pc++; PROTECT(x = findVarInFrame(env, install("x"))); pc++; PROTECT(wy = findVarInFrame(env, install("wy"))); pc++; PROTECT(WX = findVarInFrame(env, install("WX"))); pc++; pt->y = Calloc(n, double); pt->x = Calloc(np, double); pt->yl = Calloc(n, double); pt->wy1 = Calloc(n, double); pt->xlq = Calloc(np, double); pt->wx1 = Calloc(np, double); pt->qy = Calloc(np, double); pt->xlqyl = Calloc(p, double); pt->jpvt = Calloc(p, int); pt->work = Calloc(p*2, double); /* pt->work = Calloc(p, double); */ pt->qraux = Calloc(p, double); for (i=0; iy[i] = NUMERIC_POINTER(y)[i]; pt->wy1[i] = NUMERIC_POINTER(wy)[i]; } for (i=0; ix[i] = NUMERIC_POINTER(x)[i]; pt->wx1[i] = NUMERIC_POINTER(WX)[i]; } pt->set = TRUE; UNPROTECT(pc); return; } SEXP opt_error_free(SEXP ptr) { OPT_ERROR_SSE *pt; pt = (OPT_ERROR_SSE *) R_ExternalPtrAddr(ptr); Free(pt->qraux); Free(pt->work); Free(pt->jpvt); Free(pt->xlqyl); Free(pt->qy); Free(pt->wx1); Free(pt->xlq); Free(pt->wy1); Free(pt->yl); Free(pt->x); Free(pt->y); Free(pt); R_ClearExternalPtr(ptr); return(R_NilValue); } SEXP hess_error_init() { HESS_ERROR_SSE *pt; SEXP ptr; pt = Calloc(1, HESS_ERROR_SSE); pt->set = FALSE; PROTECT(ptr = R_MakeExternalPtr(pt, R_NilValue, R_NilValue)); UNPROTECT(1); return(ptr); } void hess_error_set(SEXP env) { HESS_ERROR_SSE *pt; SEXP y, x, wy, WX; int i, n, p, np, pc=0; n = INTEGER_POINTER(findVarInFrame(env, install("n")))[0]; p = INTEGER_POINTER(findVarInFrame(env, install("p")))[0]; np = n*p; pt = (HESS_ERROR_SSE *) R_ExternalPtrAddr(findVarInFrame(env, install("ptr"))); if (pt->set) error("hess_error_set: function called out of order"); PROTECT(y = findVarInFrame(env, install("y"))); pc++; PROTECT(x = findVarInFrame(env, install("x"))); pc++; PROTECT(wy = findVarInFrame(env, install("wy"))); pc++; PROTECT(WX = findVarInFrame(env, install("WX"))); pc++; pt->y = Calloc(n, double); pt->x = Calloc(np, double); pt->yl = Calloc(n, double); pt->wy1 = Calloc(n, double); pt->xl = Calloc(np, double); pt->wx1 = Calloc(np, double); pt->beta1 = Calloc(p, double); pt->xlb = Calloc(n, double); for (i=0; iy[i] = NUMERIC_POINTER(y)[i]; pt->wy1[i] = NUMERIC_POINTER(wy)[i]; } for (i=0; ix[i] = NUMERIC_POINTER(x)[i]; pt->wx1[i] = NUMERIC_POINTER(WX)[i]; } pt->set = TRUE; UNPROTECT(pc); return; } SEXP hess_error_free(SEXP ptr) { HESS_ERROR_SSE *pt; pt = (HESS_ERROR_SSE *) R_ExternalPtrAddr(ptr); Free(pt->xlb); Free(pt->beta1); Free(pt->wx1); Free(pt->xl); Free(pt->wy1); Free(pt->yl); Free(pt->x); Free(pt->y); Free(pt); R_ClearExternalPtr(ptr); return(R_NilValue); } SEXP hess_lag_init() { HESS_LAG_SSE *pt; SEXP ptr; pt = Calloc(1, HESS_LAG_SSE); pt->set = FALSE; PROTECT(ptr = R_MakeExternalPtr(pt, R_NilValue, R_NilValue)); UNPROTECT(1); return(ptr); } void hess_lag_set(SEXP env) { HESS_LAG_SSE *pt; SEXP y, x, wy; int i, n, p, np, pc=0; n = INTEGER_POINTER(findVarInFrame(env, install("n")))[0]; p = INTEGER_POINTER(findVarInFrame(env, install("m")))[0]; np = n*p; pt = (HESS_LAG_SSE *) R_ExternalPtrAddr(findVarInFrame(env, install("ptr"))); if (pt->set) error("hess_lag_set: function called out of order"); PROTECT(y = findVarInFrame(env, install("y"))); pc++; PROTECT(x = findVarInFrame(env, install("x"))); pc++; PROTECT(wy = findVarInFrame(env, install("wy"))); pc++; pt->y = Calloc(n, double); pt->x = Calloc(np, double); pt->yl = Calloc(n, double); pt->wy1 = Calloc(n, double); pt->beta1 = Calloc(p, double); pt->xb = Calloc(n, double); for (i=0; iy[i] = NUMERIC_POINTER(y)[i]; pt->wy1[i] = NUMERIC_POINTER(wy)[i]; } for (i=0; ix[i] = NUMERIC_POINTER(x)[i]; pt->set = TRUE; UNPROTECT(pc); return; } SEXP hess_lag_free(SEXP ptr) { HESS_LAG_SSE *pt; pt = (HESS_LAG_SSE *) R_ExternalPtrAddr(ptr); Free(pt->xb); Free(pt->beta1); Free(pt->wy1); Free(pt->yl); Free(pt->x); Free(pt->y); Free(pt); R_ClearExternalPtr(ptr); return(R_NilValue); } /** * Calculate the sum of squared errors term for spatial regression * using an environment to hold data * * @param env pointer to an SEXP environment * @param coef current value of coefficient being optimzed * * @return double, value of SSE for current coef * */ SEXP R_ml_sse_env(SEXP env, SEXP coef) { SEXP res; // SEXP y, x, wy, WX; int i, k, n, p, np; double tol=1e-7, cyl, cxlqyl, sse; char *trans = "T"; double one = 1.0, zero = 0.0; double m_lambda = - NUMERIC_POINTER(coef)[0]; int pc=0, first_time; OPT_ERROR_SSE *pt; first_time = LOGICAL_POINTER(findVarInFrame(env, install("first_time")))[0]; if (first_time) { opt_error_set(env); } n = INTEGER_POINTER(findVarInFrame(env, install("n")))[0]; p = INTEGER_POINTER(findVarInFrame(env, install("p")))[0]; np = n*p; pt = (OPT_ERROR_SSE *) R_ExternalPtrAddr(findVarInFrame(env, install("ptr"))); for (i=0; iyl[i] = pt->y[i]; for (i=0; ixlq[i] = pt->x[i]; F77_CALL(daxpy)(&n, &m_lambda, pt->wy1, &c__1, pt->yl, &c__1); F77_CALL(daxpy)(&np, &m_lambda, pt->wx1, &c__1, pt->xlq, &c__1); F77_CALL(dqrdc2)(pt->xlq, &n, &n, &p, &tol, &k, pt->qraux, pt->jpvt, pt->work); if (p != k) warning("Q looses full rank"); /* k = 0; F77_CALL(dqrdc)(pt->xlq, &n, &n, &p, pt->qraux, pt->jpvt, pt->work, &k);*/ for (i=0; iqy[i] = 0.0; for (i=0; iqy[(i +(n*i))] = 1.0; F77_CALL(dqrqy)(pt->xlq, &n, &k, pt->qraux, pt->qy, &k, pt->qy); F77_CALL(dgemv)(trans, &n, &k, &one, pt->qy, &n, pt->yl, &c__1, &zero, pt->xlqyl, &c__1); cyl = F77_CALL(ddot)(&n, pt->yl, &c__1, pt->yl, &c__1); cxlqyl = F77_CALL(ddot)(&k, pt->xlqyl, &c__1, pt->xlqyl, &c__1); sse = cyl - cxlqyl; PROTECT(res=NEW_NUMERIC(1)); pc++; NUMERIC_POINTER(res)[0] = sse; UNPROTECT(pc); return(res); } SEXP R_ml1_sse_env(SEXP env, SEXP lambda, SEXP beta) { SEXP res; int i, n, p, np; double sse; char *trans = "N"; double one = 1.0, zero = 0.0, m_one = -1.0; double m_lambda = - NUMERIC_POINTER(lambda)[0]; int pc=0, first_time; HESS_ERROR_SSE *pt; first_time = LOGICAL_POINTER(findVarInFrame(env, install("first_time")))[0]; if (first_time) { hess_error_set(env); } n = INTEGER_POINTER(findVarInFrame(env, install("n")))[0]; p = INTEGER_POINTER(findVarInFrame(env, install("p")))[0]; np = n*p; pt = (HESS_ERROR_SSE *) R_ExternalPtrAddr(findVarInFrame(env, install("ptr"))); for (i=0; iyl[i] = pt->y[i]; for (i=0; ixl[i] = pt->x[i]; for (i=0; ibeta1[i] = NUMERIC_POINTER(beta)[i]; F77_CALL(daxpy)(&n, &m_lambda, pt->wy1, &c__1, pt->yl, &c__1); F77_CALL(daxpy)(&np, &m_lambda, pt->wx1, &c__1, pt->xl, &c__1); F77_CALL(dgemv)(trans, &n, &p, &one, pt->xl, &n, pt->beta1, &c__1, &zero, pt->xlb, &c__1); F77_CALL(daxpy)(&n, &m_one, pt->xlb, &c__1, pt->yl, &c__1); sse = F77_CALL(ddot)(&n, pt->yl, &c__1, pt->yl, &c__1); PROTECT(res=NEW_NUMERIC(1)); pc++; NUMERIC_POINTER(res)[0] = sse; UNPROTECT(pc); return(res); } SEXP R_ml2_sse_env(SEXP env, SEXP rho, SEXP beta) { SEXP res; int i, n, p; double sse; char *trans = "N"; double one = 1.0, zero = 0.0, m_one = -1.0; double m_rho1 = - NUMERIC_POINTER(rho)[0]; int pc=0, first_time; HESS_LAG_SSE *pt; first_time = LOGICAL_POINTER(findVarInFrame(env, install("first_time")))[0]; if (first_time) { hess_lag_set(env); } n = INTEGER_POINTER(findVarInFrame(env, install("n")))[0]; p = INTEGER_POINTER(findVarInFrame(env, install("m")))[0]; pt = (HESS_LAG_SSE *) R_ExternalPtrAddr(findVarInFrame(env, install("ptr"))); for (i=0; iyl[i] = pt->y[i]; for (i=0; ibeta1[i] = NUMERIC_POINTER(beta)[i]; F77_CALL(daxpy)(&n, &m_rho1, pt->wy1, &c__1, pt->yl, &c__1); F77_CALL(dgemv)(trans, &n, &p, &one, pt->x, &n, pt->beta1, &c__1, &zero, pt->xb, &c__1); F77_CALL(daxpy)(&n, &m_one, pt->xb, &c__1, pt->yl, &c__1); sse = F77_CALL(ddot)(&n, pt->yl, &c__1, pt->yl, &c__1); PROTECT(res=NEW_NUMERIC(1)); pc++; NUMERIC_POINTER(res)[0] = sse; UNPROTECT(pc); return(res); } spdep/src/insiders.c0000644000176200001440000000246313152260233014142 0ustar liggesusers#include "spdep.h" int pipbb(double pt1, double pt2, double *bbs); int between(double x, double low, double up); SEXP spInsiders(SEXP bbbi, SEXP bbbj) { int pc=0; int k1; double bbi[4], bbj[4]; int jhit[8], hsum; SEXP ans; PROTECT(ans = NEW_INTEGER(1)); pc++; bbi[0] = NUMERIC_POINTER(bbbi)[0]; bbi[1] = NUMERIC_POINTER(bbbi)[1]; bbi[2] = NUMERIC_POINTER(bbbi)[2]; bbi[3] = NUMERIC_POINTER(bbbi)[3]; hsum = 0; bbj[0] = NUMERIC_POINTER(bbbj)[0]; bbj[1] = NUMERIC_POINTER(bbbj)[1]; bbj[2] = NUMERIC_POINTER(bbbj)[2]; bbj[3] = NUMERIC_POINTER(bbbj)[3]; for (k1=0; k1 < 8; k1++) jhit[k1] = 0; jhit[0] = pipbb(bbi[2], bbi[3], bbj); jhit[1] = pipbb(bbi[0], bbi[1], bbj); jhit[2] = pipbb(bbi[0], bbi[3], bbj); jhit[3] = pipbb(bbi[2], bbi[1], bbj); jhit[4] = pipbb(bbj[2], bbj[3], bbi); jhit[5] = pipbb(bbj[0], bbj[1], bbi); jhit[6] = pipbb(bbj[0], bbj[3], bbi); jhit[7] = pipbb(bbj[2], bbj[1], bbi); for (k1=0; k1 < 8; k1++) hsum = hsum + jhit[k1]; INTEGER_POINTER(ans)[0] = hsum; UNPROTECT(pc); /* ans */ return(ans); } int between(double x, double low, double up) { if (x >= low && x <= up) return(1); else return(0); } int pipbb(double pt1, double pt2, double *bbs) { if ((between(pt1, bbs[0], bbs[2]) == 1) && (between(pt2, bbs[1], bbs[3]) == 1)) return(1); else return(0); } spdep/src/gearyw.c0000644000176200001440000000173113152260233013615 0ustar liggesusers/* Copyright 2002 by Roger S. Bivand. */ #include "spdep.h" SEXP gearyw(SEXP nb, SEXP weights, SEXP x, SEXP card, SEXP zeropolicy, SEXP ftype) { int i, j, k, n=length(card), pc=0; double sum, wt, diff, xi, res; SEXP ans; PROTECT(ans = NEW_NUMERIC(n)); pc++; for (i=0; i < n; i++) { if (INTEGER_POINTER(card)[i] == 0) { if (LOGICAL_POINTER(zeropolicy)[0] == TRUE) NUMERIC_POINTER(ans)[i] = 0; else NUMERIC_POINTER(ans)[i] = NA_REAL; } else { sum = 0.0; xi = NUMERIC_POINTER(x)[i]; for (j=0; j 0) first_value = INTEGER_POINTER(VECTOR_ELT(nb, i))[0]; else error("zero length neighbour vector"); if (first_value == 0) INTEGER_POINTER(ans)[i] = 0; else INTEGER_POINTER(ans)[i] = li; } UNPROTECT(pc); /* ans */ return(ans); } spdep/src/knn.c0000644000176200001440000000410213152260233013100 0ustar liggesusers/* * based on code taken from: * class/class.c by W. N. Venables and B. D. Ripley Copyright (C) 1994-9 * and written by Roger Bivand (C) 2001-3 */ #include "spdep.h" #define DOUBLE_XMAX DBL_MAX #define EPS 1e-4 /* relative test of equality of distances */ #define MAX_TIES 1000 /* Not worth doing this dynamically -- limits k + # ties + fence, in fact */ void knearneigh(int *kin, int *pnte, int *p, double *test, int *res, double *dists, int *lonlat) { int j, k, k1, kinit = *kin, kn, npat, nte = *pnte, ll = *lonlat; int pos[MAX_TIES]; double dist, /* tmp,*/ nndist[MAX_TIES]; double lon1[1], lon2[1], lat1[1], lat2[1], gc[1]; /* Use a `fence' in the (k+1)st position to avoid special cases. Simple insertion sort will suffice since k will be small. */ for (npat = 0; npat < nte; npat++) { R_CheckUserInterrupt(); kn = kinit; for (k = 0; k < kn; k++) nndist[k] = 0.99 * DOUBLE_XMAX; for (j = 0; j < nte; j++) { if (j == npat) continue; lon1[0] = test[npat]; lat1[0] = test[npat + nte]; lon2[0] = test[j]; lat2[0] = test[j + nte]; if (ll == 0) dist = hypot((lon1[0]-lon2[0]), (lat1[0]-lat2[0])); else { gcdist(lon1, lon2, lat1, lat2, gc); dist = gc[0]; } /* dist = 0.0; for (k = 0; k < *p; k++) { tmp = test[npat + k * nte] - test[j + k * nte]; dist += tmp * tmp; }*/ /* Use `fuzz' since distance computed could depend on order of coordinates */ if (dist <= nndist[kinit - 1] * (1 + EPS)) for (k = 0; k <= kn; k++) if (dist < nndist[k]) { for (k1 = kn; k1 > k; k1--) { nndist[k1] = nndist[k1 - 1]; pos[k1] = pos[k1 - 1]; } nndist[k] = dist; pos[k] = j; /* Keep an extra distance if the largest current one ties with current kth */ if (nndist[kn] <= nndist[kinit - 1]) if (++kn == MAX_TIES - 1) error("too many ties in knearneigh"); break; } nndist[kn] = 0.99 * DOUBLE_XMAX; } for (k = 0; k < kinit; k++) { res[k + (npat*kinit)] = pos[k]+1; dists[k + (npat*kinit)] = nndist[k]; } } } spdep/src/polypoly.c0000644000176200001440000002327613152260233014216 0ustar liggesusers/* Copyright 2004 by Roger S. Bivand. */ #include "spdep.h" SEXP polypoly(SEXP p1, SEXP n01, SEXP p2, SEXP n02, SEXP snap) { int n1=INTEGER_POINTER(n01)[0], n2=INTEGER_POINTER(n02)[0], pc=0; int i, j, k=0; double sn=NUMERIC_POINTER(snap)[0], dist; double x1, x2, y1, y2, xd, yd; SEXP ans; PROTECT(ans = NEW_INTEGER(1)); pc++; for (i=0; (i < n1) && (k < 2); i++) { x1 = NUMERIC_POINTER(p1)[i]; y1 = NUMERIC_POINTER(p1)[n1 + i]; for (j=0; (j < n2) && (k < 2); j++) { x2 = NUMERIC_POINTER(p2)[j]; y2 = NUMERIC_POINTER(p2)[n2 + j]; /* dist = pythag((x1-x2), (y1-y2)); if (dist < sn) k++; if (k > 1) break;*/ /* following lines Micah Altman 2010 */ xd = x1-x2; if (fabs(xd)>sn) { continue; } yd = y1-y2; if (fabs(yd)>sn) { continue; } dist = hypot(xd, yd); if (dist <= sn) { k++; } } } INTEGER_POINTER(ans)[0] = k; UNPROTECT(pc); /* ans */ return(ans); } /* function by Micah Altman */ SEXP spOverlap(SEXP bbbi, SEXP bbbj) { int pc=0,overlap=1; double bbi[4], bbj[4]; SEXP ans; PROTECT(ans = NEW_INTEGER(1)); pc++; bbi[0] = NUMERIC_POINTER(bbbi)[0]; bbi[1] = NUMERIC_POINTER(bbbi)[1]; bbi[2] = NUMERIC_POINTER(bbbi)[2]; bbi[3] = NUMERIC_POINTER(bbbi)[3]; bbj[0] = NUMERIC_POINTER(bbbj)[0]; bbj[1] = NUMERIC_POINTER(bbbj)[1]; bbj[2] = NUMERIC_POINTER(bbbj)[2]; bbj[3] = NUMERIC_POINTER(bbbj)[3]; if ((bbi[0]>bbj[2]) | (bbi[1]>bbj[3]) | (bbi[2] 0) { INTEGER_POINTER(khit)[0] = 0; INTEGER_POINTER(nrsj)[0] = INTEGER_POINTER(nrs)[jj]; if (INTEGER_POINTER(nrsi)[0]*INTEGER_POINTER(nrsj)[0] > 0){ khit = polypoly(VECTOR_ELT(pl, i), nrsi, VECTOR_ELT(pl, jj), nrsj, dsnap); } if (INTEGER_POINTER(khit)[0] > crit) { card[i]++; card[jj]++; is[ii] = i; jjs[ii] = jj; ii++; if (ii == uBound) error("memory error, scale problem"); } } } } PROTECT(ans = NEW_LIST(nn)); pc++; for (i=0; i 1) { for (j=0; jbbj3) || (bbi2>bbj4) || (bbi3sn) { continue; } yd = y1-y2; if (fabs(yd)>sn) { continue; } dist = hypot(xd, yd); if (dist <= sn) { k++; } } } return(k); } SEXP poly_loop2(SEXP n, SEXP i_findInBox, SEXP bb, SEXP pl, SEXP nrs, SEXP dsnap, SEXP criterion, SEXP nfIBB) { int nn = INTEGER_POINTER(n)[0]; int crit = INTEGER_POINTER(criterion)[0]; /* int Scale = INTEGER_POINTER(scale)[0];*/ int uBound = (int) INTEGER_POINTER(nfIBB)[0]*2; int i, j, jj, li, pc = 0; int ii = 0; int *card, *icard, *is, *jjs, *NRS, *cNRS; double *bb1, *bb2, *bb3, *bb4, *plx, *ply; double Dsnap = NUMERIC_POINTER(dsnap)[0]; // struct bbcontainer *bbs; SEXP ans; int jhit, khit, nrsi, nrsj; int xx, yy, zz, ww; card = (int *) R_alloc((size_t) nn, sizeof(int)); icard = (int *) R_alloc((size_t) nn, sizeof(int)); is = (int *) R_alloc((size_t) uBound, sizeof(int)); jjs = (int *) R_alloc((size_t) uBound, sizeof(int)); bb1 = (double *) R_alloc((size_t) nn, sizeof(double)); bb2 = (double *) R_alloc((size_t) nn, sizeof(double)); bb3 = (double *) R_alloc((size_t) nn, sizeof(double)); bb4 = (double *) R_alloc((size_t) nn, sizeof(double)); NRS = (int *) R_alloc((size_t) nn, sizeof(int)); cNRS = (int *) R_alloc((size_t) nn, sizeof(int)); for (i=0, li=0; i 0) { khit = 0; nrsj = NRS[jj]; if (nrsi > 0 && nrsj > 0){ khit = polypolyC(&plx[cNRS[i]], &ply[cNRS[i]], nrsi, &plx[cNRS[jj]], &ply[cNRS[jj]], nrsj, Dsnap, crit+1L); } if (khit > crit) { card[i]++; card[jj]++; is[ii] = i; jjs[ii] = jj; ii++; /* if (ii == uBound) error("memory error, scale problem");*/ } } } } PROTECT(ans = NEW_LIST(nn)); pc++; for (i=0; i 1) { for (j=0; j #include static const R_CMethodDef CEntries[] = { {"dfs", (DL_FUNC) &dfs, 5}, {"compute_gabriel", (DL_FUNC) &compute_gabriel, 7}, {"compute_relative", (DL_FUNC) &compute_relative, 7}, {"prunemst", (DL_FUNC) &prunemst, 4}, {"gcdist", (DL_FUNC) &gcdist, 5}, {"knearneigh", (DL_FUNC) &knearneigh, 7}, {NULL, NULL, 0} }; static R_CallMethodDef CallEntries[] = { {"opt_error_free", (DL_FUNC) &opt_error_free, 1}, {"hess_error_free", (DL_FUNC) &hess_error_free, 1}, {"hess_lag_free", (DL_FUNC) &hess_lag_free, 1}, {"opt_error_init", (DL_FUNC) &opt_error_init, 0}, {"hess_error_init", (DL_FUNC) &hess_error_init, 0}, {"hess_lag_init", (DL_FUNC) &hess_lag_init, 0}, {"R_ml_sse_env", (DL_FUNC) &R_ml_sse_env, 2}, {"R_ml1_sse_env", (DL_FUNC) &R_ml1_sse_env, 3}, {"R_ml2_sse_env", (DL_FUNC) &R_ml2_sse_env, 3}, {"card", (DL_FUNC) &card, 1}, {"listw2dsT", (DL_FUNC) &listw2dsT, 4}, {"listw2dgR", (DL_FUNC) &listw2dgR, 4}, {"listw2sn", (DL_FUNC) &listw2sn, 4}, {"dnearneigh", (DL_FUNC) &dnearneigh, 6}, {"gearyw", (DL_FUNC) &gearyw, 6}, {"gsymtest", (DL_FUNC) &gsymtest, 3}, {"spInsiders", (DL_FUNC) &spInsiders, 2}, {"jcintern", (DL_FUNC) &jcintern, 4}, {"lagw", (DL_FUNC) &lagw, 6}, {"nbdists", (DL_FUNC) &nbdists, 5}, {"polypoly", (DL_FUNC) &polypoly, 5}, {"spOverlap", (DL_FUNC) &spOverlap, 2}, /* {"poly_loop", (DL_FUNC) &poly_loop, 8},*/ {"poly_loop2", (DL_FUNC) &poly_loop2, 8}, {"symtest", (DL_FUNC) &symtest, 3}, {"g_components", (DL_FUNC) &g_components, 2}, {"mom_calc_int2", (DL_FUNC) &mom_calc_int2, 5}, {"lmin21", (DL_FUNC) &lmin21, 4}, {"lmin22", (DL_FUNC) &lmin22, 5}, {"lmin23", (DL_FUNC) &lmin23, 6}, {"lmin3", (DL_FUNC) &lmin3, 6}, {"lmin3S", (DL_FUNC) &lmin3S, 7}, {NULL, NULL, 0} }; void #ifdef HAVE_VISIBILITY_ATTRIBUTE __attribute__ ((visibility ("default"))) #endif R_init_spdep(DllInfo *dll) { R_registerRoutines(dll, CEntries, CallEntries, NULL, NULL); R_useDynamicSymbols(dll, FALSE); } spdep/src/nbdists.c0000644000176200001440000000364613152260233013774 0ustar liggesusers/* Copyright 2000-3 by Roger S. Bivand. */ #include "spdep.h" SEXP nbdists(SEXP nb, SEXP x, SEXP np, SEXP dim, SEXP lonlat) { int i, j, j1, k, /* m,*/ n, d, pc=0, ll, first_value; SEXP ans; SEXP class; double lon1[1], lon2[1], lat1[1], lat2[1], gc[1]; double tmp /*, tmp1*/; PROTECT(ans = NEW_LIST(1)); pc++; n = INTEGER_POINTER(np)[0]; ll = INTEGER_POINTER(lonlat)[0]; SET_VECTOR_ELT(ans, 0, NEW_LIST(n)); d = INTEGER_POINTER(dim)[0]; if (d > 2) error("Only 2D coordinates allowed"); PROTECT(class = NEW_CHARACTER(1)); pc++; SET_STRING_ELT(class, 0, COPY_TO_USER_STRING("nbdist")); setAttrib(VECTOR_ELT(ans, 0), R_ClassSymbol, class); for (i=0; i < n; i++) { R_CheckUserInterrupt(); k = length(VECTOR_ELT(nb, i)); /* if (k == 1 && INTEGER_POINTER(VECTOR_ELT(nb, i))[0] == 0) { SET_VECTOR_ELT(VECTOR_ELT(ans, 0), i, NEW_NUMERIC(1)); NUMERIC_POINTER(VECTOR_ELT(VECTOR_ELT(ans, 0), i))[0] = NA_REAL; } else { */ if (k > 0) first_value = INTEGER_POINTER(VECTOR_ELT(nb, i))[0]; else error("zero length neighbour vector"); if (first_value > 0) { SET_VECTOR_ELT(VECTOR_ELT(ans, 0), i, NEW_NUMERIC(k)); for (j=0; j < k; j++) { j1 = INTEGER_POINTER(VECTOR_ELT(nb, i))[j] - ROFFSET; /* tmp1 = 0; for (m=0; m < d; m++) { tmp = NUMERIC_POINTER(x)[i + m * n] - NUMERIC_POINTER(x)[j1 + m * n]; tmp1 += tmp * tmp; } */ lon1[0] = NUMERIC_POINTER(x)[i]; lat1[0] = NUMERIC_POINTER(x)[i + n]; lon2[0] = NUMERIC_POINTER(x)[j1]; lat2[0] = NUMERIC_POINTER(x)[j1 + n]; if (ll == 0) tmp = hypot((lon1[0]-lon2[0]), (lat1[0]-lat2[0])); else { gcdist(lon1, lon2, lat1, lat2, gc); tmp = gc[0]; } NUMERIC_POINTER(VECTOR_ELT(VECTOR_ELT(ans, 0), i))[j] = tmp; } } } UNPROTECT(pc); return(ans); } spdep/src/mom_calc.c0000644000176200001440000000350213152260233014067 0ustar liggesusers/* Copyright 2010 by Roger S. Bivand. */ #include "spdep.h" static int c__1 = 1; SEXP mom_calc_int2(SEXP is, SEXP m, SEXP nb, SEXP weights, SEXP card) { SEXP Omega; int hm = INTEGER_POINTER(m)[0]; int n = length(card); double *eta, *zeta, *omega, sum, res; int i, ii, j, k1, k2, k3; int iis = length(is); omega = (double *) R_alloc((size_t) hm, sizeof(double)); eta = (double *) R_alloc((size_t) n, sizeof(double)); zeta = (double *) R_alloc((size_t) n, sizeof(double)); for (j=0; j *ngaballoc) error("number of neighbours overrun - increase nnmult"); if(l==*no_nodes) { g1[no_gab]=i+1; g2[no_gab++]=j+1; } } } *nogab=no_gab; return; } spdep/src/listw2Matrix.c0000644000176200001440000000317013152260233014727 0ustar liggesusers/* Copyright 2006 by Roger S. Bivand. */ #include "spdep.h" SEXP listw2dsT(SEXP nbs, SEXP wts, SEXP card, SEXP ncard2) { int i, ii, j, jj, n, pc=0; SEXP ans; /* double *card; */ n = LENGTH(nbs); PROTECT(ans = NEW_LIST(3)); pc++; SET_VECTOR_ELT(ans, 0, NEW_INTEGER(INTEGER_POINTER(ncard2)[0])); SET_VECTOR_ELT(ans, 1, NEW_INTEGER(INTEGER_POINTER(ncard2)[0])); SET_VECTOR_ELT(ans, 2, NEW_NUMERIC(INTEGER_POINTER(ncard2)[0])); for (i=0, ii=0; i < n; i++) { for (j=0; j < INTEGER_POINTER(card)[i]; j++) { jj = INTEGER_POINTER(VECTOR_ELT(nbs, i))[j]; if (jj > i) { INTEGER_POINTER(VECTOR_ELT(ans, 0))[ii] = i; INTEGER_POINTER(VECTOR_ELT(ans, 1))[ii] = jj-1; NUMERIC_POINTER(VECTOR_ELT(ans, 2))[ii] = NUMERIC_POINTER(VECTOR_ELT(wts, i))[j]; if (ii >= INTEGER_POINTER(ncard2)[0]) error("ncard2 incorrectly given"); ii++; } } } UNPROTECT(pc); return(ans); } SEXP listw2dgR(SEXP nbs, SEXP wts, SEXP card, SEXP ncard) { int i, ii, j, jj, n, pc=0; SEXP ans; /* double *card; */ n = LENGTH(nbs); PROTECT(ans = NEW_LIST(2)); pc++; SET_VECTOR_ELT(ans, 0, NEW_INTEGER(INTEGER_POINTER(ncard)[0])); SET_VECTOR_ELT(ans, 1, NEW_NUMERIC(INTEGER_POINTER(ncard)[0])); for (i=0, ii=0; i < n; i++) { for (j=0; j < INTEGER_POINTER(card)[i]; j++) { jj = INTEGER_POINTER(VECTOR_ELT(nbs, i))[j]; INTEGER_POINTER(VECTOR_ELT(ans, 0))[ii] = jj-1; NUMERIC_POINTER(VECTOR_ELT(ans, 1))[ii] = NUMERIC_POINTER(VECTOR_ELT(wts, i))[j]; if (ii >= INTEGER_POINTER(ncard)[0]) error("ncard incorrectly given"); ii++; } } UNPROTECT(pc); return(ans); } spdep/NAMESPACE0000644000176200001440000001730013073127420012604 0ustar liggesusersuseDynLib(spdep) importFrom(stats, model.matrix, model.response, aggregate, optimize, optim, nlminb, influence.measures, lag, punif, na.fail, as.formula, terms, lm, model.extract, coefficients, residuals, var, deviance, integrate, summary.lm, coef, pchisq, logLik, gaussian, pnorm, model.weights, model.offset, glm.fit, sd, predict, formula, lm.fit, anova, ppois, model.frame, AIC, qnorm, napredict, nlm, optimHess, resid, fitted, weighted.residuals, weights, naresid, rnorm, optimise, uniroot, mahalanobis, dist, p.adjust, density, fitted.values, delete.response, printCoefmat, quantile, na.omit, cor, predict.lm) importFrom("stats", "dbeta", "rchisq", "runif") importFrom(nlme, fdHess) importFrom(deldir, deldir) importFrom(boot, boot) importFrom(MASS, mvrnorm) importFrom(coda, as.mcmc, HPDinterval) importFrom(splines, interpSpline) importFrom(graphics, par, locator, lines, text, plot.new, plot.window, segments, points, identify, symbols, abline, hist, arrows, axis, stem) importFrom(utils, write.table, object.size, read.table, read.csv, packageDescription) importFrom(grDevices, rainbow) if (.Platform$OS.type == "windows") importFrom(grDevices, bringToTop) if (R.version$major >= 3) { if (R.version$major == 3 && R.version$minor < 3) { import(Matrix) } else if (R.version$major == 3 && R.version$minor >= 3) { import(Matrix, except=c("expm")) } else if(R.version$major > 3) import(Matrix, except=c("expm")) } else { import(Matrix) } importFrom(LearnBayes, rwmetrop) importFrom(gmodels, estimable) importFrom(expm, expAtv, expm) import(sp) import(methods) exportMethods(coerce) export(EBImoran.mc, probmap, choynowski, EBest, EBlocal, LR.sarlm, LR1.sarlm, Wald1.sarlm, airdist, card, rookcell, queencell, mrc2vi, vi2mrc, cell2nb, n.comp.nb, diffnb, dnearneigh, droplinks, eigenw, errorsarlm, lmSLX, create_WX, predict.SLX, gabrielneigh, geary.test, geary, geary.mc, globalG.test, graph2nb, joincount.test, joincount.mc, joincount.multi, print.jcmulti, knearneigh, knn2nb, lagsarlm, listw2sn, sn2listw, read.gwt2nb, write.sn2gwt, lm.LMtests, lm.morantest, localG, localmoran, moran, moran.test, moran.mc, moran.plot, localmoran.sad, lm.morantest.sad, nb2listw, nb2mat, listw2mat, mat2listw, invIrM, invIrW, nbdists, nblag, nblag_cumul, poly2nb, read.gal, write.nb.gal, read.geoda, relativeneigh, soi.graph, sp.correlogram, sp.mantel.mc, set.spChkOption, chkIDs, get.spChkOption, spNamedVec, tri2nb, spweights.constants, lag.listw, listw2U, listw2star, is.symmetric.nb, sym.attr.nb, include.self, make.sym.nb, union.nb, intersect.nb, setdiff.nb, complement.nb, Szero, spdep, print.nb, summary.nb, plot.nb, edit.nb, subset.nb, summary.listw, print.listw, subset.listw, plot.Gabriel, plot.relative, print.jclist, print.LMtestlist, plot.mc.sim, as.data.frame.localmoransad, print.localmoransad, summary.localmoransad, print.summary.localmoransad, print.moransad, summary.moransad, print.summary.moransad, print.spcor, plot.spcor, print.sarlm, summary.sarlm, residuals.sarlm, deviance.sarlm, coef.sarlm, fitted.sarlm, logLik.sarlm, anova.sarlm, vcov.sarlm, predict.sarlm, print.summary.sarlm, print.sarlm.pred, bptest.sarlm, write.sn2dat, read.dat2listw, nb2blocknb, p.adjustSP, # asMatrixCsrListw, asMatrixCsrI, asMatrixCsrIrW, asListwMatrixCsr, is.symmetric.glist, similar.listw, nb2lines, listw2lines, df2sn, plot.listw, aggregate.nb, old.make.sym.nb, Hausman.test) export(set.VerboseOption, get.VerboseOption, set.ZeroPolicyOption, get.ZeroPolicyOption) export(set.mcOption, get.mcOption, set.coresOption, get.coresOption, set.ClusterOption, get.ClusterOption) export(spautolm, residuals.spautolm, deviance.spautolm, coef.spautolm, fitted.spautolm, print.spautolm, summary.spautolm, LR1.spautolm, logLik.spautolm, print.summary.spautolm, autocov_dist, GMerrorsar, gstsls, GMargminImage, residuals.gmsar, deviance.gmsar, coef.gmsar, fitted.gmsar, print.gmsar, summary.gmsar, print.summary.gmsar, SpatialFiltering, print.SFResult, fitted.SFResult, ME, print.ME_res, fitted.ME_res, stsls, print.stsls, summary.stsls, print.summary.stsls, residuals.stsls, coef.stsls, deviance.stsls) export(nb2WB, listw2WB, as_dgRMatrix_listw, as_dsTMatrix_listw, as_dsCMatrix_I, as_dsCMatrix_IrW, Jacobian_W, powerWeights, nb2INLA) export(lm.morantest.exact, print.moranex, localmoran.exact, localmoran.exact.alt, print.localmoranex, as.data.frame.localmoranex) export(as.spam.listw) export(mstree, nbcosts, nbcost, plot.mst, plot.skater, prunecost, ssw, prunemst, skater) export(aple, aple.mc, aple.plot, localAple) export(trW, impacts, intImpacts) export(lagmess, sacsarlm) export(mom_calc, mom_calc_int2) export(do_ldet, eigen_setup, mcdet_setup, cheb_setup, spam_setup, Matrix_setup, LU_setup, Matrix_J_setup, spam_update_setup, moments_setup, SE_classic_setup, SE_whichMin_setup, SE_interp_setup, LU_prepermutate_setup, eigen_pre_setup) export(jacobianSetup, can.be.simmed) export(griffith_sone, subgraph_eigenw) export(MCMCsamp) export(tolerance.nb, Rotation) export(lextrB, lextrW, lextrS, l_max) export(lee.mc, lee, lee.test) export(spBreg_lag) #import(maptools) S3method(print, nb) S3method(summary, nb) S3method(plot, nb) S3method(edit, nb) S3method(subset, nb) S3method(aggregate, nb) S3method(summary, listw) S3method(print, listw) S3method(plot, listw) S3method(subset, listw) S3method(lag, listw) S3method(plot, Gabriel) S3method(plot, relative) S3method(print, jclist) S3method(print, jcmulti) S3method(print, LMtestlist) S3method(summary, LMtestlist) S3method(print, LMtestlist.summary) S3method(plot, mc.sim) S3method(as.data.frame, localmoransad) S3method(print, localmoransad) S3method(summary, localmoransad) S3method(print, summary.localmoransad) S3method(print, moransad) S3method(summary, moransad) S3method(print, summary.moransad) S3method(print, moranex) S3method(print, localmoranex) S3method(as.data.frame, localmoranex) S3method(print, spcor) S3method(plot, spcor) S3method(print, sarlm) S3method(summary, sarlm) S3method(residuals, sarlm) S3method(deviance, sarlm) S3method(coef, sarlm) S3method(vcov, sarlm) S3method(fitted, sarlm) S3method(logLik, sarlm) S3method(anova, sarlm) S3method(predict, sarlm) S3method(impacts, sarlm) S3method(Hausman.test, sarlm) S3method(MCMCsamp, sarlm) S3method(impacts, MCMC_sar_g) S3method(impacts, SLX) S3method(predict, SLX) S3method(print, summary.sarlm) S3method(print, sarlm.pred) S3method(as.data.frame, sarlm.pred) S3method(residuals, spautolm) S3method(deviance, spautolm) S3method(coef, spautolm) S3method(fitted, spautolm) S3method(print, spautolm) S3method(summary, spautolm) S3method(logLik, spautolm) S3method(MCMCsamp, spautolm) S3method(print, summary.spautolm) S3method(residuals, gmsar) S3method(deviance, gmsar) S3method(coef, gmsar) S3method(fitted, gmsar) S3method(print, gmsar) S3method(summary, gmsar) S3method(Hausman.test, gmsar) S3method(impacts, gmsar) S3method(print, summary.gmsar) S3method(fitted, SFResult) S3method(print, SFResult) S3method(fitted, ME_res) S3method(print, ME_res) S3method(residuals, stsls) S3method(deviance, stsls) S3method(coef, stsls) S3method(print, stsls) S3method(summary, stsls) S3method(impacts, stsls) S3method(print, summary.stsls) S3method(plot, mst) S3method(plot, skater) S3method(print, lagImpact) S3method(plot, lagImpact) S3method(summary, lagImpact) S3method(HPDinterval, lagImpact) export(HPDinterval.lagImpact) S3method(print, summary.lagImpact) S3method(print, WXImpact) S3method(summary, WXImpact) S3method(print, summary.WXImpact) S3method(print, lagmess) S3method(summary, lagmess) S3method(print, summary.lagmess) S3method(residuals, lagmess) S3method(deviance, lagmess) S3method(coef, lagmess) S3method(fitted, lagmess) S3method(logLik, lagmess) S3method(impacts, lagmess) spdep/data/0000755000176200001440000000000013152260233012273 5ustar liggesusersspdep/data/hopkins.rda0000644000176200001440000000133411716033161014441 0ustar liggesusersBZh91AY&SYy &XXP6{@PFt1iU@FaLSS!@hhM4hs!ID444Μ1Ԩ0' 1LJW"+,L̠r%+# $2¢*:-`fJdaVfiT &E%:ʊhuhYԮC&Zj$kCiW *-޿,@ RT$NdDҀMm ;w⽽بŀP|r*"r܄MCTǙgcfָ͜vUTI$Iޕ$I$I$A$I$I5UU-mnp@ {%̻_3ʜ؆7@34ȵe EZSR˔QX!I4 U5|Hc`H5#KQK6~vIQcHnOw=oq ˽c ڶ[V'KNP`} 1Nw…HIҷX9ګY%Xf2L\/&oLrg{sؑ&\zFa# nPSb'w3̢BXE붕$SwGԲ z$Ix*+D)s;O$G6- aJXp: F#Nh6?o[}#.p  Tspdep/data/NY_data.rda0000644000176200001440000005561411716033161014317 0ustar liggesusers7zXZi"6!Xᐢ[N])TW"nRʟX\qjnj-&=4 `4[|f|:9Qԁ>z?^X#7󜒱bۉq'r{v&/b냉6G\s認漙CS",ǵECkM>E|omiD.(uYܩhu֫~I-&TeZRu[jIJeN%YMYpar*92ifoc}^heϑ_6 ÊI= >r®uN ]xOSߓl>=Έ&I<</Bʄ/`Qvߩ26MAJ`R?'xbXCtǫ'~W #0~Bbʫq|"?>g86p+rOj^.㢒Ճď2;cH Lz?vnf"c;iָp;ǭfwxqNB[ 㧅!n]XάX]?˜a7cƦ>c&'f}ڴJfz6wAņQ/|xKϊh5~uk\3#Ȇ, ek<ϡQ um(h6*R(u2$RmAތ7{ QB67?Nz#n0?I_= RfR';PQ7W,5 IЃ%Z'qttS6vH9Qy0?cZ ȵ82=[1MilzBȟ-:H>o.أuҌ)LjW h*2k#TۭEZ 79OI<ر0FC)`N8Qu|Dw񷱒ɎOh4W)W\4ӝAukʬ@VMˌצݿC= Ф&Pn4W !PːxK S^0R`w6?/̠_|b@`W-=[.]9ݸn/3چm5/)wGS1b&'vM vut%a@5rkDLIH$x[d2@Ñ_ZJk' V촯1+K:(ǟ"ЄQ6f \zJ͗zȤjѳ?^]iLi/FaZ)V@lchh&q'^ܭb+q\e>gH3<=e?bTQFxstxnf/^}L.?<|AD8qr6SUX6W4<^dĄ~fV)8:q +>,8H}za%;l%z Vk:^0Y&<ޯQ|_QZO p-)lQo8^ _Kᮡ =&Q_v'CNc/2>?Zسs鲤2wLl2ntrQB9V.:Yhf[(fEkT~;v[Pr?|j(Qy%yI`3Ε_51 ENP*MCM|qAcx)LO]\IZH"/\~Y}҂+rc8ߵ.Dc,eYZ{KyоTʇzir7PL:V8]YfaZ ^ЋNM}>>cAxgy"-{lH U6Ks 6tKT($ X#dJ9KS)p;j7U6ga[TD*C̟IĀt\'wAo6ûlhv7k껠SeG1"gO@^t?h!qb`ٶhLK88B νM f-̷R:+U٠D4r?FMn CrXw-G!GQ$ >gCeX(0.H|,u + xuP ;Z3hL =ҍSfD2"{ټIQU-h5CIo˜]k"a 'jC9:>_hGxT?F&uK44*|hE~Xj&v0ܔ7I& ڽ-#xOաvo~b[ Vm*w* z(wEmVlucOu%KةyaĥJ( g}q aAz-g]E4Dݦ,=u.(..gS |Ӂ KxRiK_t25ܡ7w}*!]l[r$L5!x͗sHg.N4@67 ܕ(iǷ⍮vR*$Vshh5L?*QhlY"xg2r%2P=c*mXcys9:&הnR#k49wN 7cE^)I9L]z) :|Gu:1y>8Rb}vYeiwI!ߟ~λW2a[پP29=.\?k6 r2[&SaiwCmD0Mh\z~sU V3t*;8Dr>Ϩ<-"斂[R#xFQلJĠ) rتpn,%$_WX&$xC@/T;b&Eu z 9qyx580 =&fgRJ0+%V4h8JCh.,P}|Ću"πJx`@,`oJJtBq6u`ڽe m ?o@OTeD0md=lDvҒ(;`6Zp#{G=+qncA I̲Ԓe{"Qی@ ($O(% I&7J3bVuBS2!X 1ֹp$߅KEhPS':RRR}_CÌY+ewuf" eR݀gE6'×˿+ ġq(/j֪ bV|aWpz_(7_5II!1}+{;$δ2apƢ__HrU ҿ?F 1*\_kluT#cNꌋJ)%gÜ5Ƚ-^LBx80/q*Ng l|+^l-10Io}2Q)_^7TN'T>ۍꑛýLJ_H1olk%aD:Dη1 7.|P܁tĐG8P.Ѵ;_ l#2 ~Mw؃ꒌ~ &^TH>p{)8}\Z=Z$[c3ٸb 62+c;٭@ OF^ڇX(&cԛ7k1 /dcƇoT ѢֆJQC~Ah;aƉ„ ݃l5TҕxgŰbxn&% 1CMmxA&ppXLeND.Fa+>P{M "f%pwo,ؾ"0{D$gl2qj0 V1?QnPts:І +9/qۿ]zJ)z.` %G Nr%7/t^o=Lts w-UK37Aar+']Կi\) B@0mF+R9lmq3Wjtm3v#Ak LYR`bD7P~cpM6/K( HeB{gv?NtnGw\#A^"H:.؍C5' ,aV߄OuXl[WPEh`y34yF[ץBh7Ø+#HSFLQH4<ew/N)Ju 8'ǒ&u7aF>wѸĤ{g=.mVYq&X%蜫ҍC/áӾ hG >?8_L;3 hh!M5snvm ;Ĥm 4-L\BjwGZ6V@bM{X "X4̵H.%#BK\wx`0;]IY:k/]^Y_> 7>% c~(oo|InD 1tF'Oґz=0ƺ/tX4I2g2:ކ2̚(dsEQO;x<8xٹ^m×&Z~/2EKduzgQdUS19'Pr5RRo[֖L`@<N6/3 e☐b{DrI1+׏0\ZM;w,UF|;Ic-wC_F[5|Z[66CP.Yeck8\NmzJ\T/BDyhTuc!z+X ae=[J$Fqhp+8+JCɧp"3W`JFqq%?\)+N`еF=(L6 VjZOaho! AeܣwWX"^4z+4reCiLYK"A'2txQM׭Rj~9d *'Es2&lFu\tJGqŷ않 "dh*Ú#刕PNCP;2籍XCFʨeW Es"y\W,UtaȐK#fdH9LU21we'O{Xay:"0;0$yv%fP<z$)@ CBLbySd@3F`U͘9~C%wA2NbiӬCJ)Sa-n w2-B%tVd۹?t۔a/0CdEcfLS^13pE$xI!nU8G$'I *r\}V~w)`NoxGc,܊vz.9;&upAp U Vڽ|<.UH/5Xָ 6R4<&?>7R_~'߁JmK&Ј}MYÀ{F|Ib,юkFЫ\%:t)WĞ+ͫOoU/UĈ daJPKRfq;U%kUf2uʖb*d D9y0vʩ5_ZՏP ]VùTYi Y jKYNKQv-wD+".\vzY=_*"5JtW`}_f$m<ՋAHsmx pY)DR@ b1g.6RM"b֮^7b h~l KXWi7y5/p +Mhb%<\P(ǫLo):/E}HF袉%qRCHVv`Df!)5!?,!k1xۃ!*Ѓ _rV$mFUνAS׽=J4ʹb WEH!}B'<٪_,Hxp] 6*VPl\ vKh$tO8th֋PBɘ2Kb'y ;ɸ>}/. m*Yj̚,HO0WɂKHɪsmb} 9Rw=;%T'e0BB}i$a<_uZH~h΅BDiOwjdUۮ^L{rrmuuIBdT -\ôud<zV,/:[MU"\{QѶn{j$(~AQ=uh6Ǝj#Fs+6 5=+ԥE.b*P%C,Qf+N}"Sw!"k5Pl=deFnu'D@im \‡ } u+U;LJGCcـ9Xq ɔbҔ&ʒ ~ ]!<b=?4!@$j:# h_#Q !@ApD J9+c^g]0#AU]`D3p'tпu2U v% Mȿ"y#g)~x Z_Ƴ ^5BH>Anl9+;Hc }cWE.mcB!6|_|܈Jo\Ew"qsy=Ros Z) S,:s_Ƹ8ۤڏ.BwoWog@'RF-_5.c-k{NH.ZD% %*hAxfU|S<qʞmutX3k7 & =C ޅTN̈P쩀t!y <?Az|I5u=tUT'ۮ J`>:u{&JN4QBTyĉ LSS7g2Nfw/(Jm3l9{?\*:oO߲\5G>cDU-L 89%d9AhGX/B܇ WaN6[+7xUrvY: e/_4몵3::]٢5ϿL-g0{v>a_} U#dz<)fF+A_ۑmdkNjP1\v8Jl56A Cbq%wyx2ZI}g|',ZKq]N_)P0Gk>ir"%FX85o.DbEGs[|HI۷CIaFDB1N7G)SKKz z7kW\5v(k9'ܪ }zKLaN0%}|x{,HoOX[=L S Toε6P\RRW,SM^Y~|t/8-PqjJB-|tIvl%nn@%qi9™5&sa'2; T#鍿VVRQ& nGZOmD-pay80''rL#55BzN=s:bv!}߭8pT?@\Xz`k.G(K F9*籬3Lu@a#,'- }7n׎Pq |%U*T\y<3N\/W v-o_e=I8o n&m?Fc ]Fv,9c(Ѹ`K?@@TΉT=+U}L V11ㆲnE$oUplǑ>vX2(/fze{;D|oQ4brurFKrdFHS"Qc#ت_sfax1wҋIm 9j _6{N@X@ S=垕Vzb)!KnpyјV_{ףV~'Xp䎝IhMGs_b\Kݶ/עڭ>A L{+ <8>=$9䦺+0EZDyFD|3uٶ̍Rȡn1<q60m>k 4HetHw>}4`%sV߱1]CuR|#zF x.-[7Wמ 2\TDA޶(@Ԕ=ql-Ta"ưd#Ս)M:l !5K}v8Ƅ/{2efyQzFzOREV}!$?`I M^2X0Hמ(!]B8u"'UaHO dpEdqJ ӕ0|/tz ƽZ_Ygr>PnIG>L}ƺLES{Ɍ2O{yωitǧAXLyo D}r'=dQ(EPhq'V 2 qI8QDf涍e^z5aŝldT(ύ#)uuׂ$ "]&JIrc N}dgCϒZ!{38 JžA<H \QIL^^0qp+Oש2xsK4ZP;2Ki^WqͰ6 6Fn c:@mZU3ax%G΂r yNMR/snmOФMp[j9\_iW ^ߌ+AyE]IhJ)RމD[!\)F8f]Ae`3cI͚7GYf^<_ڪ.kF|*!#8X1Qݯ$}m_3?_M r $ICFqI:rdtִUui>բ7t݇1G D`p`,WfN_8^, 8X,*\Dе/jԈy1fe=L4\ ITψ@wnvQrfL㢰uz1Z85!#C~K>=!+!2THjq9I$<|e]Hhh8&MzӥD5L&c>Ux1#s# Gl z{J:7'v!DbfmOltx*m2s)S7 1J@Q;]SGKOqs|u_ĵU~p?#5qESfuL3 5,;=$,YP|ݏ>.3csU$A#T\ $4 #Rz+$N @WI K1Kܰzy 7)3@=~ +P+GF#P 6RofMT \0 1T }Y}.U @q{!M,5BoLyZAJ^ALT"“ڹَ~tz;yf*P퐺i#hR{ɐKrsJZ9XpJxڔ?FsX\+DB 3ǯt-r5nṣ w (Y Er}w/$b(aM&b鋪CD1SUtr{%Q׆<>.{J0`7BqX8 %k2|՘LG0 AV ALaF*cga\(-.FslWDh|P' H)iiWX"K֫n}>\-}w>IXRYwnOOY%8\Ne,ocgo9LU2XtDX ۤ.ZR:0K(śpNĢTI!\@Qtkv`up(q"Dj935V3nB<|&ݕX%׌Z.r7PZj뒣:0N3 {5\nImMpbD ^hK|3[ )Ѳ,4$ֆX Justr73%6ˮ!<ʠf>G 0J%\Y"OCYPE}1$gTV=@?kTi#ZGpbhFFCضJy\ۈM@"({3`~KE7VIob'#A*3L~O:Cb$D$G*?RT Ԗ"}ɻb u!B )).#svIt;4,r21ߒBBq&k|bfnFH}2eN~{7H0jq:Bl yTOia ݼ]~MKdHj% H>>.<QEa&7XTh.aobxB""-QN@V[}>L1RZdbC'nc$ gaȌG]O#ZmoB=쐻kNCIc=ujҴDddİC_*Z󋴟h{m[% ""U^DiT\ÜH~8h4&1mm@ #שO,H|ERxY38"q_:n8]P :m8*#g!{LIx/>&;y-MUЛ۔TIe$,45 С`JsDVe&04r@[z60a 3hهSo[po+jbrZ [Xw'xֶE8`>>Y@8S*ؿBZFSHvkaP$qlKQ o͆U\j؏"o?եSG^/w=؝X pC^5c2~9օgm^*[ªjxI^|D`#/{58_\@D g'j"Or2oV>q!ml_AH]`<4 g6y`Nd%F}Nw}|8!urab=C@EO\jWY\.eݹ0]93_}ipH s-CUMTi2cEXRW{ii5o׺[>ԄYa\YvYI }`9 I'HOh'bӭNUIພ`Kj0vvvIGy֤㈎`r mLӂF=5j_5]1>އ={ˇ<~ǎ2&"FySب~-StP2,ñKlݰ Y>[ b x{J⠯{1+|zԟ>̑[yi_#Gc+DM44MT%IɌ&\7H<#w(k+֦Wx̄<$塥$eKd/!/О~}-:&еiHwid;d^hXXͼ];P+}|S3V2(C2˷&kd ú ,$㘜fPµތ*m p/1B)b4HTqUB켩)vJ47r &/fƉ ߢ"5_B{ɀ_p5-Z_}esɔ52]{n݈Ҙ+K֋9/\3&ީK -a$U{_W2DOZF[Qtt+1+5lV7"9[[6½y 2yd9P6YH\(Tɿ%JC-y7];i %CQľ}Z;I5*d6r4 /vUu ("]0ȟnZ/V`¥#0 6aZ#jVlQ6Z RkSgY}S|˔CHW#SCoBsw۔YLwF4Zb bkr~Jx #L"ֵXPҥDhS@Z17m$ LGd=gp*vB~2~y1P6# LDa&̑[i8dޤ}pow}NR}bOjKRne^E;G깼JV(;kuӧ*"n}B\"('sĮv}Pʊe:Ru* l&:EsVf!x8!KlM?o^Qn1|߼/] >NdE1Sv.NSw#ƹ#y^){!Vk5cᘐ nyI:^60-|.%w;9/j-BI#ܾDO?Z6dlfNy+$0~-uy_ [pME_5G9~$7\󮓀Ĉ"2:=_5ߤ %>B]ZC0Ѝ)/)zљQ#"n 6.|I3ɸX%T6A'<.F*8|p|p텱zʅv aЄ&aR ο'b6ĂdH<16J]sn/p@D6"2*Xȱf'eFJs=瑩xwv-+k_m"h8x/aW "#2fȹ5.̠"EB_kXF)<;fAHjc:/S늃]L7rGk^6hGlWGo5>!S/u"吓ȏOya&h%QSjcMcCGq S]U4 =uKLQ]!9 ߐUgQ&(F)H*oA?;L_iİH.Qfگ#xz]lK]geG7@⤰h=>Z@`Din[(V]̺oYhUMf]C LJJ̈lfm.gzVH,7: i)pepb0>BZqzASpP.ltG0vWoje_~vD4O)mtDetYj?]GvϹݴ-"e҂C|$㞖tw),auVt_)0m  /tYЄp5s#AFi)b/qP2]Qtm1e$sE`b*KyOk''2 ?\j᧴ݳFZ:W}׊H0 %4g.P3\/2;o^3NP 3pkG<,T74̽'ߵZm@f9toL=_FKuSѠ ͧk-oy1T92as|niֳ PjI7ܺ~=XzM`V~5 1I_G@7mKPS c#wIW!%GkHҐ?iSFz4,RFu<۝8,OS[5E4*z~ 0ܟHoeW B|uEIܑ^eH2w%bʵ7Fwvs҈!惪'(v=J<8oؖEofi[75lw"LfaBǓd[8dOcqw܊-p^26=@thSvWYڮL4 Ǟ^rR |TⰭ+j!轃 ;"*%]u,a,mpN嗃V/Ja1\(e&\9=vx|{eˡB$kt].dUf:(;Fv䢥[[7uIȧ q"9#XjbmmW0]穤DPH>U橗!'A uQt>==\Q@&, J̴UV! %q5TG]h3:׳:o^YGuzOn ~E$|aphY=Rgk# N6)gl1p7:KA/ӡ8Irg8ks0nK@EX|-9@h/N _cՎz"͠6ֹ ÚCfJ|k=?2XΙZ~fzo\36zyH笴2!"Jfdn(D~8 n `uD/]yuc2ٛTL,vm|2D_]23Gx_"5Qd>pABTzbmeq(D"B bɏݞ[x 5iU W[9tW9Kbm}A6hS:nfe $0B4n`kN}&J??fT\e$yK_ X |=0U("I197fE ]=e|NtD`e!i8)̳+pXbmgAb&|hg)2e5H6UoП7 cHUMvhF|+s$ "$(|TY `sюͨGf2ArV78!s]:~99]"'7,Khtϱt‚oF˷CNڒ6-] k?dgQ[h؟ `f=tQ ZXmR߅/鎗ݎv=NB;,SS$p}3w[e$¬^tBG ؠ Zy@kD[v lBhdtBJՓ e;t64lvRpe9fDA.Ԩ5mX~ϯ׃gض  .LG]#nX!"h3/)tZPKt.\|RguLQ1f$U@8uo 5j+B2>mX ^> 'x} Nvz011VvԪ"ȋH{YNE")HEa|:bZJ҉/h@9ls8^E.l<UotVoNg)gX:YxQأwxyo[>MT:VEp( XLlW_='\3gw6c*Nn<'`'w7gƓXǦ_g0} }ڶ#|Ή5x;.eš7G(j||39b=Țp >'w*J,%| x fYn_+p@.i̵saH?# +'E-cҠiEi97@|R+C\x`$ӔIj—L@T9aKQp-X XP.((Lr"0֥s[嬘YHZ$Fk.elg7`R1$b(vj{qES`~צN U$^Fˤ~Fja`Pw?E&s# :\?񃫠mOMYɶJ:~Ýל&'G^a&Mw/ŹkJr=+޷,>E8ΟicſdXQL)ԫc)1jDS분&4h-k]ԙPA;ЏxJm(#B\ c9z6F@EϏv{^Yi pd㏉@7K>F"_𧭓VV2; ZӎD1JfEq WH'$kQXN{5dG>W4-r5: ESW8pnrSa͛y@!)0];q3 @SIݡ%_u1CT66Y*~% O_%7lNV`! ~>tٓ{_O5v~QF/zEXܳ#XζVRVE݇QW4 ~fȒo:'3=_ۅ岁B\ETO**Ɋ_; 4'opP$7+~El*A>\ x'yuJr͋RBͦRlt[J~QZdwT@L5 C]iYnR L7ny!@яyXpǚD0tȖ2JZXxPY8VdaƷ!zS6TfxoH.JמusmQRk)5亹*!͏S '1s>oz4G|]sBo&孜tN dI+Vhv 37]־alOپKt;Nѥ,R0|Q,&x-H;k6A7}2>0 YZspdep/data/boston.rda0000644000176200001440000005160011716033161014273 0ustar liggesusers7zXZi"6!XCSC])TW"nRʟX\qjnj-&nר 95+G$ZvP~=s6q:N$rT`ɉt1su ch4#wQR)Yo|%K|-p ¨a99E;lSL;0^L8m'~9XP]ezboJ.\_3xeoOP=Xl&@$xТ7sSNq⳪h}2JcLTZ$VFjYsCUX|㬇R˅D_ޢK )O ʞ Iuu)w[pW4@nIN'Sbo]-24&*kP?n.5>3'% S6Z5`ځOOyW=g" r &V /PńkvugĿ8[EGQRΧ;}F{[mh.{h&+s^!Dκ,ݸ;̷2l:cpjZlIK0^l۬k~՞]}'xdZor.ژs E馼T<,ֳι_ "|nhCjswEM./fpaܳP%T}`#`Q->D0*5;uGA%\JD#r59"\!1"# &daS;e=(O^Y)-S/ρ/\_M W(Y7& Ռ<|0e|OwS?x7S2.i8T iAo.t4JOZڭ(O,&myYdrAs7%Z˫o:Bodo$Olypai >0; qhKX̉*# >rяq. /M?B L1Dq2DaU0bS1Q3k8qå?<_L x[ي,X5OO*_)% jzw Mq`B#NAYiO oݒĄڙ _׍[ C]:T q-ᢸaC7*)fVyXN+ 1CĞZ˃Ll&̦[Phqte3wv@kmϋG T Ç{(-fD.#/,WqmriCEGTT|'!'FFz& mb/B!~*y5TW >v vª+}O2Jc㠗1Y_` tH0_j9KϏW@ KpHN﫨Zn^^Ip cx-0WƞgE)9Z3KbVn(,1z&T_t_ߨ8իf˶N{(P˨bOO?[Pı3y '1N-/6^^V8p~QU}0'W\3@<)n7A?v?e1|z I-4lT]6#eFbGP"8$X^ٝVn ̜l|46o? f 8@&~[f֋iNໟ0A##mrS!3bK :b]BPC)THk f#@אe}1Z"~-Ief 860Zd-?yVN w.9w`Lȫx7.z=\诤@J|w@/qD*(=31j 3wCO[]F&@x:YU=zLˇQ2F[ERtsr- y:LrT}+x^ 㖊ڋm/kF+'Y{w=qRx%,0nx$]=( FkqW1+i+>Ý|- m~>= ]#_sH pg*9lϩ?xʴI6l#ANXSW*a'~ ޺gڶgmIp3b5MK3OmZlRR;#C\)l֧1RT몺N GgԄ [Q>WK;z 9'͗` 7.M<* 2I&p|1TZ\{{)@MU->rOp~h(ZNB3~_l u |xgVI1ɻxA叧ߒKZ!D!u k x-;d&l,RΧ;0Th[:]ϹazmcʹC)j[8RtL8b!iMħS> '9۵o \KKn18y̱ͥz֛i_h}e'+5B6Ms ǯݱ.2(DJ Ԭ93*t^sx4b^; 3(ؾ+s7Ŵ>')'ZˏE➺$+;y0Ҫ)oZMo+A/퀻.@لW\ح#]^+h&k"'Qm~KȅXHMnߤأ/c%˟4F :4&؈C-ɰ a+ `HI]Ma/)n EIu9{#0ځ㖿 FdzZ˝cAK[z\Š$~Z-Kӳ}է JX*6PS _ypJcr{ z(ܼ g."lR-JƳoZ-v')Sʖ<oC]Ŷm/!4)=`>ôC"8pBgL?zʪWdͨ}5lN%e GݹK+vjsok8 6;FR!X Yʒ5硬zj/ޔWg[vQbfpKMLAߊ,Gr3’؞:w (;@}( >D㲍::0n;Zϵx%vQ`0ݏLt"w4LjwqgdZ.9;FWu[ªV[!p/,Vw7Zc?$z{^8&:,,XdCHfqU[MŵzBJGݷ VfpLPu de <X_O!# FXݶfrZjZ =/wUS PBZt2AD>Z5篬\M^G:ɋr?:$-j泙¶){ij< ئb3PRmګU!2aT)ڈV.2) {)z Aaͤkパhk`#7R~30TS5?C.{{؁I'EIhe$ckăhbPg+1IPp)< NDΉ|D/&UK@|p`*-e]u IkM !h}v?1]s,BO}Tۨq۟v,D!*3B & ゘~Iiˎl-t\ 7 L |pߊ>S>^gh'vcL01ܔBꘆRVV`BxBJ }SR]`ɤ' mr4:5M%J-:Q[FԽX5BS^즋d@%FXksmKmhy$z꾘bRXqc Ob5cFLCNְEξU^WW2f\N_Ikl`O ߊJKyJ \ mU[&3]RitE\h뚧!| uwf . ڧJz[? O5_hx]iߐ@tp:@%rf׽z#2‡-i1^.o.nWRb.{ClcXfP_4o!`u OV#uCuGXZNq5w<%^}l"PuPju3=&T[MQ\'=w"n ^[ y;nj>K:>֙,$+H$O؅ 7wK:orsDN^IUuٰ+ >E]'gu"8.Q^N6Ia*dXv j6ڼFZ~$ =s9{=#r2"/䂔A::q KQ|9S,IXAc(6|~{ ԝ="3w1^>Q:[XS+ORE)R: G'j35ϝ)4gF Zn,=hT1]ITp@E&Yqv3ovJ8b$.L.mR72qD8l\kvB;eMܿÀ1ZgA;FYW?w(Bkȿ a M=L>,cKr \ dW42oPWh&"G6ʫ _g6A,Tz+#"Y>ka0U+P+K[)ZϾjUHm V{->DBO] x^'{Ǒ=,S^o+ xLw Yk|ƺ/1Gyi˞Eg%C`]A~ڛD]G2]>GXQ_ᒪۄLjtWHd~pÆS9`BZHa2*aXkS4R;ԫ >O{Ekh؈Z9tT]mSYe9e.&c)WcLST M|bx <0%]'TL)'2t!3VB83H'=~bD[<=>߸aCS"RiPvy|pJWRCSxM!TDpT.l %2e U7'e(/9kA,rGv鱊QgPԻ5ʯgoOVfGd УrT ^50.jdЇeؚIS\t&ACxzdü>39 V+omo Jw.,7̞~"Hrԝ1%{P9+a¦̱t t+ yl|N텅17]0&LBՄ6(]˥>ڸ!v%X)kF6i@'4̾;TShEFp2@P*{_*bnjb!6!Ǟv~Szp5! Rr[Ձ&<|[&=9 KmJN*]R柫*9-@vo-&oҽ I (L{ޔC߆\]۔}tMacɨm!պ;{w{V9ٴ/jS,11M>M .R$)+mJgX4|xkyjs nd,Ӭ$>Q3c9n%R{JCEJ>OW6a-Vg,E#5%hGIJd_fRt^6)z=,gդ=슦&$ɋ6 4mR's}9PPr ~ !Je?t>% `\^SRv&CY-vQIhwjQT4ک;K̪My3W3ݝPr O%^'-c ]G]_>B95O T4Trvaa*NV%&74$8@3׺9ÔK⪓߀@;As8v,$iVb/E1IUd]=}\TYQ,0OLEAh_ȘiXKP_^C8O=b"ڿXNZƘKM"@"<"ehJY1cT Wn1r=<ͭSRȽЍuDBOVR%x0=\)RyB2) U * j>BF,X' Akfz$lr6r#2 .G1&I ˻Ov `v^d'ۥEZd7J[E[/7QCLf) 's-uZcsS.i9wÌ-tSDyA6!%ei0 f[d9B)q'5JZ64/7r ]np!~XR Y,[hrWk1~ZovmG'n¥5S#bW| z}C:YudݴhnRvQTl30> ˱AJ{X*b"gnȦCni u\ͻC%IU-e:X_%ήּxrV 8)[];qUPb?I0k (Tv5~3/-!U2ilˆoN5 Fu_oyYb=ť`2[WHIIzninQ6T+G&סj*#谉.*Q|kWfbB?RFAipʻd95F.}3Pʤ+F7a"lS $ʡZNo##="2zGYNɛχ<ؑZFʙC,:HC?''({ Zb6ޚ6G0"sїkYmLM(_/!xr/< Se`1 4x:Rpd%|nH9j߸S; 0@Y{@#; +Ë(vJpfZN pR-\hmE23|^dǩF8!Wv0q]p՛DB;TqB'u=ŻS`62Ӻ"eL-Mf^lϾ#W!Mk,WIXD9log$/89j)xFUg$szz5}Mh^FX!_ (eaC/T7C")FAZ4^إSVOWU&2^SX}eCy(ҴWe[Ϗ {HSLـkJ,Α8aUyyfm!sI t0]8 9uēvrt"A);5\$h4_\bl@+VexT+nL@+YwV.3Mf[& Q}PNgrkakX 1 EݧQPό$X#?z\7\N)ne[j\;c񠍢R{kܞ1O8 59+Ԙ]dEߣܒ*Ss:;Z1͉x6Mu~`'H 71L硝+hazXsǧY=7ak MݮS3(D4P[zF)0Ñ|"*683qŭ@¶j̬]Tp-6Ls\ ?פK*'ib&ߛaEVmoY*KFr^hfzK%#Ȃ:>2m LE<Dt`LWqAL)]vn 8>Yv ^bGޠ\qDu==)5Xej7-I[@З4.UC:r"Ɖ,F#AA>R"4' r4B>|z\!|#SU„1Hx98,QB7tJwl!!zT@,f.*!#9u)쉵[[7!ؾ3iRʜ E (좿10Nߛ5'spzIm_J: ^<bZز@7 :=m¤&^Z?MDgniF_C(= l>$A @H>¤lkWu>)(tbĈ|>ofg&2Ƹ~"dƚ]lD@1CM0vm#i7eu!FI>NBD.91ёPZlM?w0-;Jwi"vqeؾNRb9|3OөN>L{i- Uȕ;W%ZM`(A[E=Zm8_md ^=:kv{X^YϽ1̓Sە4EJ$&SE@|\ R)]݂jy_-d Vii 3f]KgbiEτ5 􍂝]'-󛧌p q+SO%)!'D)Ekk\=&(҅6i0}ccx\]=f=Rm*w?<uq1jtÚ*VY"Ϟ GnTKٴv&}!Rۭ8+MTN3j~diI{Z'jaAGK 1xƓ]ox$zč Jb{[vvd6: T QecЅP!-T0ˇV}~pGl~]F'.!){36CFxMz52}!t("Ahk5GטQ75K00FJ*`MLY;_ cVMz |]W;[hNdxlb1z0lL2Bț2gٔv_"*1LPlԢM&>LΝ~Nc`mO#!D(ASm%Y\g9^+&?D92x|A}TY(9wxT#?¦P$ɶ$n e=,w$8 NrꯄRu" L>ngY{y<ROù}l wv5+XyKD^Lz܉|E_H0a$uâd&6fc¬VMEvtLwKq62biG ?ٟ-g* -clݸ0$<.,ߚ@ 3)ۻhU >N$-c ܢEqxɊz4R8M裻;FvUׅ~[,cMTD- DC* ,8ϔݡOѶ).Br[4p :9@B*BB?P'w]OO+l(+=R#TSZ\xE %%-RH0O{ q?ȾFT<9}d@gxQu]>WimJL){2So#|3Vѵ#?&~phw?QZ *srJ8VxlJKģhP4G(?_$9r0;'ؗ-N>F D2P=b}_7;u,JX`?ӆ(±~*LuvwMmV{[>9V>angk^7˺bJ8^^ 6_*S8~1 86y)<}ޑ>[X؈O͋j;v/?s*Rd6!*8-EQPUFZVCp?ݟײ 232I! \=FЈfçi Xݔ3ΦeL*Ě#.8dy$1FN doFw7;',Fg{6BQlq?%v7}6 tse'Diun A"i'*ծUPɩO2ppbXg@Sa[ǧZz=UFETjd>y4%8q%y@ 3^pT&`G ػƏ8~D>pؤGS\O1:Uĥȋ˚qj,K3^xBCZf}~́"«Z \Ѐb+$鋌R0ڈHr@Ӻ8߸;{Ȑ+KoEG`%MT<&YdGLb6qn޵+ѷz iޔDbTW,ޕ7Hv.)lvH?`",O͟Tub_Ma1hE\yF# \^_0᱅ӥf7Ak {js.-nߍDeț\M1!B p<ɷ,4tǀ?Ȍ^!gr:2Aܜc.j<ϒ"pNtXMxugf!l@ )W7uÁq-$r-A?@(e0"#(Ok 4ޠD3^D5o[y7QcWRAY؊%-BX(4)n@1$ 7<sOgw8Wc wpkʌ1ze&5?U&wfs7Ի9kR e@`tYe8=vw,!-Kߞ)NsȠ'h%5]矅(ޯdb 8ɴv0'8S E+Oӊz܍垥 -hn,W2NmjORh>8-U"9N|<Ϝ␔ES,VXR![PT=õ2+ԏNː du3C̪y45k]ovEn0z_;>Ug;h;oޕㄸO&h8%p`T~@㹨3ad`ߎHVe Xgwˆq2_}&܈k; u$)k(ͶUwH~nJ>k2 TB9!+f{|h6,|Q9!*E[z(Y>m"el2r'lAzY|{ؗt~̆UwOW2soZ;)\ۡ.x!su8GX,~{#GktVW1mNwC#u:(|vz&E(Q Ò8} D5Bd2 4TOvTxst@hc?T $Gԥռy:ˬ&x?\v?R@Ek֠Fl?U 8{gm{iQov O8ꆘđRv *~$Euh!da#'`nG%+oa F4Ւퟜ99337J@@BS>ݚCcX`vt/ o)# _@SAzv[&K:WjR~+f̢ |#` ];>i2!xSpeFޮG۶q[s_1ol׋C wa\p=ĸF$3gOiPG|_%@<$m͈B4uu߂B9g]-TcR6RTj'f m}-R ^U+LЇHd`^]m!_9EQx?uǖ"P5 x:w1ys,3# IG^j|)o vR5Or nnw\顫j3.7cukԴÌ1$~Q^2qz6" `L79dN[{!坹Hh%'ZwWJakw-~AȶʵB 2ϱ`]/s+k>S8Zz9']~ ϙҀ]*6?y ?bũ` T{CrcSyd| woa+tKL߱-8uVȡ `z(^#N3A\C]5%2?H5ow"Ue@8g Q\j~Mn o9؈%?.`k?7Ul@ڹ n˷-)9MUBҋlLqg9X߻?h".M2t@0E!Ag|Bݹs!S?lK iB~ڦl> E8'(VUl|8/J` #Z0M:dT&~ZA2^Rc^XR;libXuT=aQSnr4xt4_<[jsbI ԗ!SQ)-C,-tuA‰@״ols6 Ί&Pa\YE 1n6W[!,Yi0 :yǣ fjF5|(?M\td2Ihֺ)hMJWV%|b0~+d'IXE=o\‚rvC:η6ΪAtJd59(A\t.ɾ:-,3"4OM}2Pس= jVQ煂4D&\Ewl`# ,(Q0깤ѐE(.l+g IMuFK5oeȥ?#F33{Wn~up[xfMShޣfY@ }@ ɢ[& (r |BsK"Gk8 *x,qFJ* F9}S'͞kS䞏TrjUYw+HSt%|VX\șPDaƑpxAC :7p)=WC6KU݋ml/'Z&, kk޶pŦ;ZD;3.vԳm0qݡ|xڒ-.yFJos⁲*&ȱ7SɁ@:4g7v%3΂>ٙK%Z혮/䁦fv 4Np,X^GBIU`}?f?̽DB4mL%B<ڥ ٭^`:+)Jϳ-_@t=5 quL@ntfN ^`~eeXjc/`eL"g{@BH.}.; +83Gy7KrS{~kc,hhaq()q*ɃEQAyQ}b&x0ĭnlW_S$OV;S䞅dRG~%aR4@ GN 3#BܔXL_+%&GVS^wM0ZC1(wYMF1Fۑd7(T"$%S4>sk%k'n46RFx4VGךnI9>XpHS h r`/FD\6cP2n+w.NJPkD}S A1!GK?,Ic vMb?S}@D=Id/8)'ӵ7ҝx[|`7͂;0ֿ/Kc}91F?2P3KIAi$f5RBcwY؇52*;aOrmP܌-( ;2@[:5&GzCƪjޑzHS(c(ɃgD`ڌ|ES0 ̩3f[+V#=pPi>cf^s͘XPU8>x-ȉ %iK@Fa)N :H0 _1˖)ѼMRhXVLEIUzTK,Brs.A$ cߣW[=myt|>;.OT@~'f6h{!Kzۈk7M%Wq'h+,{]ݨ$u'6Γ>׭-ķ vBh+$//Ǣ{bL~Ȁdl#?u1΅&ٺk[t1347O[@)_lh2#uNwڧ9 x^x6X@usF8!G{URE8 KB-yi;zV[6HA&3_[*AR:q=q羷WaS2fTaH Y+7",~(=,x \ 1~S'Y- 5; /iQ3}"))yw Rn~@"o]Y|57 [%XrP x1?]fo675vI61.50revu%i5>>\wFVڐUPWx|7^~ĖPI u0fZ&ŵm[(V_i%j6xK )TIΈFv }<?l?9wX2H }V.ȧTQ?%j .R$7˱͆m1%-xL/?cD=dk@w=*͎u^#DwRTd>;f1)ZF)xc-7"Q@sVZEJ}- ?P&B$i:@.wwD= Z"x/ p"{,cAuuQk']({04R /9-ɱiy@*+ 3JYP> <tic8' {Cy<翑WliݷV'yD+(G5>YR' ǂ!tAnc0F3eUn TҊf'?aBk9(*^CgitzB^׺<;"2,u@}5k{6N&:;@C}bBQ SS"w^BouwV*(؎~Rh{(+Jtb蔬}q; >9*^ƅّe?|&:[PI㲍G9/Oh\3;Pzl"oWw1 5J H؄M2ⴺ3sN hRm;rr]-?nvxSƑe-5}vf:d#Z\G8`~ge:2J_ʐfU d-f@20Pv5*12o }tU>RmR.U:o8?omtۨx[ps@g1P-eˇa͑AıDS`1sr?[ Z(EK*F7QfJ=zƦox y)Rۼ:AoOnsaxHɤRV_XBDX5x}>μ%t?{pGE˺J)֗JvXjLP~z̯ֆm0RJB!.3 0=mkgEl\؜p惂m{ٹ \->6|&EHlgt\2{C9ukM} F> {1dҝAi0&M 0M'eT`{"kzUb?5y1NNvdSq{w=vQ=-=gUBxÀp@6tC۫ dz`ܟL*y'Aw#&Ǵ }p|B.Fi-+t$: N |ͫ9 se4f6q"~8&q<#ՔZƣ/_^/3^OLӬ&J*?f{*eL ٍ|u&ۦk>0 YZspdep/data/baltimore.rda0000644000176200001440000001054011716033161014743 0ustar liggesusersBZh91AY&SY]$oM_`|lsǼ ^Sjh _KI1k$B 2`M0{SI4 )< MFSɈ!i@h  4ORJFMU<4zLh!4d`AFh L&Mh~d@F$Ґzd&)(~$~ښh   hFF@4hiH L&LL 0&H@ C0$R$iOQ#QPh== hyG =ACC@4 h#Fhh#C 1=+6664}SItAZ@9H0lYrg]Ry"( kÅPX"K];WFL%P_@ ~"ՔG<ˣ;W0TLeJvL|Y؈FqfAr.طxܕA[kC-IU)(*TTx]keToQRX$02=؇ɎZ ,(Hm6XhCCFL* VRj :Ē0y{3?{l;,EqV~o(( <<x+\}[ bH#@I _] YeU@2 zKH lo ,=ݓ Ga<.-d+VjիV.OLCQ1mSL[6NkŠ ;r!5OUVW$5? Y(\ v A0pq1Fccaef d;/@~"c5u56Hmmhkۻ$x8 @)0'!&@`5ɀ|#$ODŒTFҊ Z[h([DAkȵ֥"eIP-%"Ȱ!HRIX@<@ FY+RH, mTHdIBE+%bIFc0e;đ!i-,ʹT(ePka\"Ob"LyL#V/@YᅎqEG0ɋ+ anр(w@$buv'ϡW 5+]&DӣD4bRoAMTmMu_ >/i#Nڝ_'* +BICɀ,d9j FOYUcb,ޗWcE6}IZA 3{+)4 atdߏ,`J} $I$I>̜EjЄ!O>sM43ig{ i i i i i Mv۷nݸ)_ӥ3{=$I$9ҚR)J@ Kt0I$g9]W֕zB ##g:]cT^+ I$ΩW*s5VzUU I$I$J,|c1@-$I$I'|c1@0h$I$I'ܓfii)50UZZ9LpӇ8pÆ͛6t+I$I$V)JR6lٳfN>N;jGaF=rZJ\ A8 BbTE=EE bxk8b_wlfّ`(X ! E ߘ!stٴG7^1َV}89ۯ_IXE6&&vv8㺝qz>x0>rsȱEEAAEꤪF#F"DQ"AER(Q_\aX0(jP"`JL%⸅- Wt1cWoo^TV"PJjTVmp0P@H$dA! "0wpe` : gpٺ˟5lP$\m48R/8g7aTe kT)&?u:|ڢDD(Њ.0q*[}DBx`"K o<(m㡢c=qAznm|n58ݖm9~yt:22mۙS1\.kCE1pkݿ-t˳hǚl,b2zumk8vPߑՕj%`d?6:QUU*y~xNg[|ժ}xݾ/{ibS^2ս4^+4Z_nͽ&LkɼqIfMdO#}Uxc_ 'q}+njgTg-K[KoX'оj~!=':{K=;+7j:w`?_7PJO_$G%+FK_/xZ B Cv.^UGO酏Q 7uo-&^_Ioj^ >3v_ؾO$nku&3W'F؛o/Vz&'sxT/}]3/n: zzh<ٟSaUYiu]uyN3յz4F+ k]WRK7o|c} QO7%@-IG_!K+W'\OJ~uŋs/e7>[_0^ySGK`oT |v!g3Nyz᛫'N-y^h_`7*7ăJ@^o?p>O#.򃫣M? ? ?u?x7So>q+Ɖ[՟Dus#Rċ}qN_y#o9p^pykQc^k]ōxz<|G_N_?y?Ǽ>|w?P3S|#uOyxOMM0?y:Wyj*cٵyǎ-;T^]p^~2Oq/e\~vO񷦟ot?G[o]~ '[3ܘNoT{;.e}O;^&ʛ{aHwzx"H (!TfAvnܿq'|+]@" ;~&z z|]-j(-pDAOpj&7h2T@:~?,Zk|6/ y1>rXn9훟3Psєv_}Tr͡XƆsp:{;C=ט=tΪRnW^3#qM,>.o3#]k7[7Gz;wO;b}ӳ=\76ytp;lx&~S=_}mvo-|ަS.|n>0qo ${>ٳX/JuCM0#_||@!_Lމ8H!3Z XAs45Az0hx XD5=4˘&6'Dw)׊h( 2("k|13<KT1 ғ‡9}vz hd ExoAPKhޕ,r.z4+cޒ_s%[mIr=VIED7\?IrixYo*սHf˧cHԼKRcS(}J՝_a|_NJile 'tٱOˬgI,ؕ ϲذMcvE|aD{mU1wȟ܇}`Sv(eKuz𳰋X9~vA~ _*D"  {6$DSDU]eSkcA%H?򽽊9ȿgQS GU1uBf As:ҩgBaREjk`\dn.uN.+Tu@ٯ8Ssg\q[7_`|Vt=cZ:x|翑u?@U Q."8Z+9XtQGvx{3/;娡ut1a&n/iҷk/<3+E*wh8V뗨Z\ 4A5A<M"‚@0($$* ‚H%*(Z H)/M⢆*&$;JȅКBȫs #$ V.QTihT¶b 0& QP$ӔiĂ\&mV@"r2QȄ \ RcHJ be\ 9EV)j J* Z\Ebt˗˄(ԊME",fiAtd:IdiΕY(t*%(ZЭ#h]* (E ʍB:bBôKRI)ea]BRU G"CI*fm$Z0vJˆcT5s3Xl8ZʒUJ-U%ɚ\\ThAtN;HMMBYTEGDFK5WYE9*P5Ur0DZt%9$T2N# @XBrB :iY' 3QrA THI&LTg β6Q(K#rXFVȣЪ[Z*8cIR *HqpEE)*sbS( '9lHIWhiD]--Bӌ*4-r&&.Ae T2D9`B'% hUJAHW-h%I"(.EEQ(IQYXSB"0ZFTPPV&Jg6"ԔڢtԈ8D+I+$N+r V!U$u+#dY]RD٭fbI!l-.t6JAgPȠBDY"Ԑ朓gDҋ**6e55P@A#c` *0`1l8z V) J8P-$UP$D*(fv8\6 8q &Y-%*Z5sA TDBZF&\NKAG"aQ8ن(I&Rq8Qp,tJ1.REeå%#)Jbʀ"hD0&ge˳YrlpHTQ 2Td@" \&(&)l8] Mp곉%&ؤ!kC TarmGdrDLӵD XH-cQ\3 vJ,pN;#) Ee6\.ӭNp˭DH9!.M"% uB%$D 4 iVtT8rNزb,pTM(!F8\!U2|*\aAq*Ĭ0 ! r'g8PhҺM$PĄ)DMUO? >3~0qW tMCS>_G>^36x0#qGRJ4T !r7IO sAzL- R44T:Ao-A61XPM"I֘WUA7 >USTB Q~\=8SWjNPAGȒq?=^DS#AΈr2W/:fR" & ĔWnr }6,HiV2[~\q,i4:7i߯99nW?`oG'j'zvl#@BHB@Juz[dx|Ξڇz>s`[@JD BVD a dN<ᧃl=P8DCbw!@JWb8<ꃗ)?0tI XbBEIdw"w*R h!4mͰ^`LGa;(G%r\92kRa33>QA5CV2իV)aB"Sf8»GtttQ4C()舆w[,,ʑCSHDCGDfffvDiT20 j "!*W[ƅ#\ONCբJ:4NDR&QBe!&[Q&*uE$P.q.vʦDS.E, bJ \"b&*X`4FF[$&TQ1fBP#0JJ"˨(}=ru!5NRK;;}K}G8o#yFR)X+ 9]neoK7'?q7R| JC:ʈ$CA]q1 Ny8jZEȡIZ. L s10.35 @,D7<$ܑs龕{zgӽWr»ZԦYe. XJRAD)JR-mZ6RJS#RFKDel5j{,JR%)JR%.$qB!ƵV[)Jak9ժR JR%-#-Ve)xq8v8.8JR8DooooasssfoeO]3.&xA!!<6((D(q%"PFXTXU"YeA=[Yhf0&?z[ݾ9a_ʏ(x\a쇱PDI=Nqlti;]Ò4 dr^N!G_=H2B] t@Ô9S%BhF}+IIA94- NO'9uaZF"9p+"(2yA PNy 9rQ^Gpd)D.b9q,fywFDDaW([(gJ|qL]9ˏ\gHw]J*· T="'LNGy;Rt5V]B S"ѬaXG9Sw>pĘ|<Y&̲M."VҢ]0X{*A8pn__>G{7!H[e-`6 g.aŻ$sU~/{qp3H)'Vxm ) %4 ǽS)rE5ff*w =wX݉^] 0oRRIU%Hh~x\g6iHwL2/i|CׄSEwPDa1F8Dj/;xj2J@vNQrEURu=Tw7u܄"H0.>85W# Kʂa9UxHrK={ 'yڬ\G ݮr2u9SCsq:ˠd4wGx.Pi5AO= Jr/t%OPT0};"z"jmyCUYbOž@_$UsUۇq "\k"L4"z@Wze$ҨJXNEEBs}|G)]q#s68PWoef܍ɞ08z *| &sy>Gwgi^\F\*rΚ!G.*r{b kTp[bEM}I55L:?='?:r;Pr SGE^er//"{|iXd*Ҳ}Z{!QͿ9}XXv`d2*/䊍?{ YwE?T}!HiZ'Pn㎾SOUm~=.E57NՍER>wvgO&!>uDUQ_ "lO}|yx]ȟD///{6DGU-OyXes3jd:&F Q0nL^ʶg!Vf:G7ᮭߑ7b054,NJhl VUbL*||+|/ҋy7ن19*VG#ZjӊYg.SJM8f,!jq|i:ir#fJ UI TS_DE4b"gS ^#'ï$!+đ5tYwW$=<?/APBmVUH"yvDAGQIO/@ʃ߱<8>;hRt~uAuITO(# Bd<_&`:!ʠ"R J8~ʜ7y;c?Gzm3OvŕUxND` 0+,!ȏ:@{'}+>R^YKBZ5n Tѭ ]0Oźa)h%(g@$ &PD/BMN:0 C' m{V'uC}@/5=rur t{z@, DDEP&r2iUKn'm&`QMEib!Hai4&\) 4]ۜ:;i2va48YC"&$L6M!M+RrUzHM.QJ2YsE(N!(B 2J#(.2(T!-8rAU$r|p{'!gD/q Bv>}5)hX? PIW4qo "(AB4鈆X}i{=J2Zz9aTRYVFYӥ OoS$)ԀH}0sgM( e)"SxYPS0ǃniyFS箛kr;`{yFTXh_8&,L1A.u}qJzv?eFϪE.Fh %^rb)׎]" pFX;IA5TDtS_gTȳoz#/\f]H#vɖݚ B ʂIH0 *Ω A*u X΢.2=Ro\O4h 94[m3(-u%%h~OtPݯwA}SVH_VfF`))}$-]vG8v(/K " ڽCټQ%"%H )l׊bDFʜu'2RzD `ОP"~r '/>;O{ǔr+"xG[dM'sqvUrLBmb rBz9eFdshIId,31ȩ8ra+U4.!0q)!Qӑ*@s.QB#JeG(/y8B۸ MR և(旤=A6>i|*8t26a6L&w۾_|o`| |?`bO= n{:p "hMUOfu;h&\;RЛo&nyl)">8B=M ohɳ6$M1 $6\hj$RJ!)hF)RRJj" d(iBb(* b"&*ZDHZ("RH*!J( (D)iJR$iai$ B)%h)*!JZa()Ih*(&F `!")!"JZd ()Jhh R'O$o=y\QLKnFUTF+!eQim)ʟPZاI<@: y@Ri N _\voxnSg.قbWy$.>?, rr)3TtmsZ zF"q4H3f +FX ; @G5`qbDh32BjW۞u'zEs*\2L3ԎB#Z^H $HD \5<3}kb9aYis{e1;>`'q?PDbJdQJO#E `pɧ ˤHi,CXpBL"%c>dp`E &r"kRTHdU0HG# &Ό]0;J\( bHj$ 9m򝞍Vʋޜw>?{8{YI|T>[[ О9$Lo")IDhՙOgyu|^y{=浪"$$)"`)JB(B`*i)` Fjb&@!*h" ) V!)H%)@ D!"")H%R(J)j**bHX$*"*HbR%Bh$"H$ ")) FTdi)JVaJ)JhR?+]HdѴؑ| fZm7N: [phyPGWk< iMku 1`M cXB"i0vH9CzW=19Ws9~u:~Mφ('A4Ϙ('=PܑN$}laspdep/data/elect80.rda0000644000176200001440000075747312732033156014263 0ustar liggesusers|]Ew%c(A@q{ 9g%g$ ( @rP2MRAI, ѿzw)~;{IuS=n"mQQ[t$/mKwNke+Cf8H !$n!%)MQ$'-H}b$UH"F}|$-}a?xI?w@_h1d.#y!u- `g#a$Hj>[ͰA$K@/Te/L ٝ8>ƹHvE\2~؍!q$\Gʱ $BeKY#"֦ye~â_ӢVtmޖ8T_\>dJ@ʢM %G>_1Z"j kQW}ɜ~>}67- >89Dt&B~E7+_1Ku\6c9MǠexE #GerղE/M1B5d'_ܦS\f% L5AߘBw67 iHҌAx9M{EII}ZSs{KMd;oؕdw?c0 oK[ؾGeF1'5Fc II'5$b Ow…T8R6ž\oIBʰa+taa#6#Hz!y׃ڭ&CD^`L$YI o3KcG hF|zFړL&?nWo'Op=1.>d|4K:ZƕI҆dwH ɲ>^1ZbJyog%MXߛdDyL}u3Xk~&JLޓ8'A1n]dl܇IzBҗ-='[\u {X~#5(u* ?G̽i.kL8nW}p_*6Pm"AZs@9)O;XƦjn(-sh;['Σ2"XW7ק>X*@K?bb~9H?EqJlc.Ƹ6G< ׏m =??>?l>Q_hC(Om:/Iv& {Si kH$I~l~|Qϓ[_(GOO!R$~/탠_Dưa;zN{b7Z쮐6q]Z2>Я#Lb+Ebk-q]/c/XۇYfi-7:E{QC@V!j q{̷5VȼlAߐEB2 #! W~{_Sοޝ~%Km2b;iw%>󤽟-ϓ}[q@L̉6ͷ|h6{:j2Pb}9@D}Xm=0/Kds”Y34BИDŝe:KED !lHq.##LEq4yz=h֟Er7I<1>lt.ПQ}D SL:!|)O<~&X4ڛ礣=BD%n'e`\b+TD,"2qqa< MxW>Yٗ5?%k$)zK/ٲ2Ϙs'rK1SyW'ź>>؋fz$$-bq#bv˨ ,qXeIƾWl|5e 7Ro~./I>K>񞰾|P /[)jMve?A_;Z`w,͍xZAd{:sDy$, Eڢh"e 2K}a?5H>="H*P#@/9$oV⎿. "E6I*$t.rv^.[eZ//}mlϛDkKZYibG;6 =Mi zRGg܈TV>u _X_QƆ-bGC81s|aj$--z]Yi(&ןѕɢ-ڇF"ne%ozNkX$e*b%/*;j}_짏%>dKB?k$JE݊yD{<5 3)`ula 0s9Q,TfdB|$ ZUkKؽ0E,y^!jhoU9:Oy|jʹ]LwX.p>%~Ϗu\%+GԴ#}1$=CD{9wIЙ2tN}jG"1΃t=Q3#:Z#p9¦!"hshJڇD}":L0| ?:F3!uO@?NOsڄ?CIf="J$@=#A{ dӟGNV}}mzG2[Ҟ"bMzsaY&E&}?m/>_g2@?Hƒ#{3vz8q8i"~2 "14'2-uA΍F97F[QY/~b׍#*角lʢ 2a Ex ܠLA?Z@̿3%5ݏ|inM2FXd~-q(ci#f_YTAMN̯Iއx͊{ H,לkFM|׮ܛu5I[w_/Z+}?WKzgca3U7Շۦ}Ǫ_X ܎NW飨q2ܢmWwV}1S!KӺ)D@ߟd6 ~hԲfnKco)X/9 |kVF} qbmbO[%F_ߖ/\?b {2Ց~VL΍m#RdLy$֤8E ]3e3@1gp %E0wg,j^kUU1˸K /մe_}ϏYԭ.סvq,c[8>S9boH"$h:i3kUc]MoN#\ºS M+\h¥ύqf Lv7:nы'/b), Mu`eX]J]|!0lMf.cGbXWbͼOFrk87j˄c׉8]eM ,8z1_/{Y6QYcS˜eGm*w6:+w-wqNcY#iIaϑHx$I^m,[!пDBgl6<!FROD7,裔>a#IO:GD:T[xK{ȼOa}[%~e\rlpoYkdEx 8Y)#n^?c"YSMXW4'Ts8!Yʭ)qFn^8տl-bONl[>Ŀ},+"vĹ_S`~B_FLqxɨطb !j74E=ýhFf!6",ȑo4 !<~&Ed_I<I9E: I B{XX_"SIhoIs:r i$F2tL#a=_+oW~Z ߯X ɠ*g"Įşdva}3 #Igo Q/ѕ@2'8H8޷e?qU6F|$G>&! nQ㦺ABH%A Yȅf2Γ,qhb46}E }WdOc\!a}-Y"~ATqtK[+8_q䑥aSb)Z{Hu@qn* זsE`7xd|-mYķ3Q,I, a. L#s8,bQpϣr8.Q~ֿr8,fBƈA4Η*R/BSQ>t^sXhKi]ai^6b7eYO3/Ṣ\ M{&:XMb}6S_汿P޵#Wxw-YEK!"_t8g1k\#2ɦֆޖ֑YĿ͌oAL>Aϯ[ ̢ŸFYpC[pϣ㑌71?+;9$tLarF,#|5 e'_@d- #gH_'$Hh KHNSߧ_W$iKs t\C"~CAO$ r)~d{7S$g@?dy3>%YGB}DvB6‹H-Fr\7CY̋/I1:.HK/7,5 G~!c)rd v[N\h^{K?/FMZsbl[Բc\$<%n?8a=SDWIe>ƅqh+czo|q(Kbϵ& <:}<1U2oU2Oɚ6Lu"NKl YS砥ń?6&:FS̗Da ??Ydװ^רY1'MlstSuK&w8yxNiFa}.|FLOs(%d]-ǺV>ES)K|Mx-8,Χ5dnp\enY+֐2ghwuQ.,5Q9/Pծz2?8^ RZRa"~fX{N[?-.L`dwl+>#bPJ=;KҜ{XQM5x I)$ɫ$x?XVJ /PHBgD_=ZT6>Qt^}eT-ݨ<m" #.{Q*KRsA&3 D>K^?}šZ*9jd'x8p^0>H'/JjYHVO5 Q?ԔuxDVN#Na=$qo#ή~Ds9#M^<.=/1`{ޢ agY苐3Qt֊;Q'zBnXK]=mZFq5e[K9]z7Lq|>п,՟H9'DUG}(SE*FMa{d]E5ْr~YdJYK7l.cTr@_l?I 멎R47pݕk=~cRE6jS&b?+I1A/r[m, 9?27e-g>: J鼞u+pRl&a(nϢrL. ,-qv><|n__8Au_FqpC%Sz< 6Jku_FlBzY$kۆA+"WKOasQyX6X4#nBU{1:vЮD`6>I@F҅d8з'ό{(G Q+-w4s@/ $B/tL"niߝdfG3x8RoCd^!_h3㒈;WfȢ)(E8i3w17-?bn̋y?mi#S̱-06?<3ז\3;rY?.Rh^;1y7Ok9ay~m񳧬q>>gFL8Czk=t)LUhlk,u"1τrkO~r k-caH5YW;-ag}gg?K L5—6Ṟː@ZO?{x% ei?ZqLY~L8:Ղ{W$eI}f4oGuEBh| QmQd//ioޟάѴߌ>^xDE43!?J"oѯJ5!swQ98Eӿt.eŝ=,]DDWl0>'Fߍх'HL-lMeao.c׸$w2fwlAQ?6bdO2>zG&G =׈_XR]u\NB{h/[D1 U/KE|2^qnz./auCJAK?H ˑsSakl~3\D/bDXߘzM2FoyyшG0.Y)K<̋F-$.9wx]x+l\AH4ԹEc>kMN~K?gd=9<ύgblбyYoY9~|֘v̘Kx/tUb_քdM?6,xxFjM-}a#wGU:g̉8x.a#hš|E˜wfAE40F_G|}J5Ge/셼<0Ä>.K_q\Q<,VИqk^<7|m@8Ns]`i}aB_OZi<ی}Y,Rs睾vY|n*0RnWhD>SO#>y\6.ȸ!:On9+`d;~[kssw=gҧ\OXV[xx`wr̸' 6}o ;\LK=P݌9 ]$oz/I2 ma?!i,p]GaMRώ&$-IhLѽ^|fst5娏~N8o{uo(m$CKr .2| z1z=vo/&b~WGBgh:?Yϗ;8א}"qeuȡ)k},4biD4m-u򳺑6U}Dwإ8Gm[Uֈq,t[F\8ùS+#o\좟-~6tŨ%Gù^~Ox\Թ{fs>RqON1)^wQF,Mu("پї) dݥ͘-敯uCKt/c a}yg5k|b(f1-c;:%j7Ax&< ,gFlLo O}ٶjib?HFT#ѣHƀ~PmXЇ;A?D5gkC,~ =b[k}e=e?(u2C aXNB,)GZt6s\T63C)uO$D2:N>~F?{%dӌψ '_p8IvYFџYu+SjuE I?iC8^iи;7cL㴟3^7:'7RF 0sNcR6L~W)ww$@|Fh":ҙ'ϢMEy@?OE 탣k?3?FxџK=B,Y`W=~ih Џ9_E#wAD]! wC|jm#[?8 !mz0k,ŘĽ-{_d7ۖ䂑Ca7q2^-Ӹ6HO:G_3bog ?|NqP~E[_+8 %rߎ^%vR?+e{ǖDAvlWs^nWyL,R">.@>9iG%<᪬+N"qX/|de\KI6c“PMvdQWY龈seCB{1n2f2a6Öy«杜&N5ʺ:o_95%pŒGqtP̮TsK=lc ݰ_LMc]G\j4ͻ5rmf9&c jb~:WZdMXy͌!D_[ƻ. 'd.YuZGۘXگ-z;I!$UA )B* Hʒy.x1H^'K<:y0^O}:$y:9sH}5>_oN:$--s14)MBdh[bjh$t}TL 4\\cWYGL cl&}e'I}4#^ՂmpBEzEȋ~u.j}s\$I<Ү̳)qr >ds&~nfR$p? xz њkN<SnSrNkN$sYS phB=DH݆>Q3+$Ud]A=gzɚ[se-K2/5mdhqT[QĢQWu\jlO9/5SbU}:`? `+"~l60T"eɄ3D8_Z1rO??^'emSɚ^!5, JKKrWx~-!Ǻ N |spI0bm벞dOUW $\p~g\b%^˅ EZYHƭnq(oJQl0ޗL&̦wz$h/Wߑ}L+$CI<we3}oL&$_|IHME觝/>KԘ)$m{{ !Ҙ$ "O>m'JXGz_s{xYʐ1mxN h۪o-9ϘiC<~FQa^^loWxsws2W >{FL CY_eя|aG᫩NFdᏈ(iwHbγW~㰾1~}0wh<հiYxjӿ:fQ˹q*79_zԼ+=l熶иsƄmdߵWs%)b | JhȄdsoc_$[EBy3~g8>x!H)aM{:ɿW9h֋chs[b'd3>,ş$I[-6.w^|vlvK?n $YBRbvNr5B Ӫ8ߥm'RB{J=Om%nbIGl.MѾYT|RS~7|ai{1/㏯mb}\XrTQkc^W|nkDs7.kp,̟kvs{'g,q[.mK%/Y)_'^Ij+.1<% ~10 ٟgyu ??Sv9$k)b2##wɺ{eWȻuB5CF=p=o5dX^֧\6Z-_zJ,lF[xG|1J 6hslj1L`C9?QS~s+kӼ^m/}%j}.Ab ~^-`1wuI(FM-zіA_I_?[Fb+J_$ $6(cEZyS;dlu#pOi3#a}9IM{bɜi~Դ̯2.WxҾUJ櫺ٮ]eOYK]j`OkYYIkj㛪MV֋ؼ&|<=ίɾ*[XQUNʌ1eʛ6(gq@_Fs#/*mfC=zZ}YaK2fU- Zꭤ~nrnԳ14j _EƜ7/snHh;d)$Hf,}Hƒ}Li$|D X,di/@5@uqbi}_B1$3b;>?.=ɧ$IV|Ul6v9GLO$p?;ImvvU O"E2fL$I~L|F)>]T㢚?}}"\0ɟduw/rn/tSx{g.ί4G E\j)kpK:.c6T#̗_dml4|ya^|8 < ͻ~>bYblp5R"{X>S~/uh#c8 r_#zLY!.x3带X꼓M/w֦:$fkŜ`{E0Owu/sCؐ-YW޶1[6Ƃ/UK<ϑ ב!sGĵHhN#g ==}Z#zsşvS^`O60v3w⤣{9zG~X|[ZW5{iűb}sn—-6[xK{:~ѯ}k~zO_cu?쮓~m{e?-bςԱH(pKE'y !T',zwgobzݦ 3mS/{~ #$=IL?c1=m8bixqs<ىbgvŸ~a=d?ib/ qdsK$ ^x&scs&|SlzX/ vYړiol|cCcla?~4$+-\boװOu==ƊפO-4bch|.пS[ l/rpƒsf~w!s&(~',uuN֚/㎥UY^lۋYcDWqQ$}SJ\qxqq$v'?z'.~|+IRD}-\<ԗ=S9w~^ĠcܛYI #//c}\X^z 3a[86-DC] ɺZzx2"YC4ĭ%>{oO67xas=Qy@z敾spN>?-<5X7-P٢X">u<߉+mG$V]MXM/n^9^Ljw˸ȱU1/rBؠv~#D7!iFB綸)IyeM@ {L=LG8kAUd:y6c~z:Cz.ז>'z:MTc 40Y6n4/S\9j$|D[o#Ҿs"(&8:cǽ*0nI@6=xx^G8)՛e\HeFv|boI+ FTc،qx>s\G$H>/lONETq-eܨ^X\j:O}Ik,˸c2Y Zq?\%k@S΋xCRWm,y{>^ȯ2֘F]dBJqkб-TC@/ڶuT沍˰^AƼ@܈8%7j@x|+<65gj~X"s.q7&s;xTecĜN6bz;Q9u8ν-Xgkoc[L8 憘c-Yj/jn4%綣ee=zrYDF2C,\Oƚtw ,w- aJK]>&s.p8gC+# qȟҠ2eG2ͽEx-!e^g 4j3xz |&9p=1W{YڋZei_Wփ σ\_]Ƣg%Ӱ^O` <5$Hh1Z:r$H~- $?Y9\F 6_d+v?#=wǃ6;C6iϚPxv#ne\_1_O /Y&0-;JFXbz,d<^7nF+Y{ۯ7b`s9e8oQ5#mV7FÖE|VYGjI}|KY?e/v%b.dԝ)nz?aw7XPZqmcqwe,uɚ Œ YV~">؅ǫm(ZC?R8:=5ﴞY<ϳt_X~u6>' ۈ;(}%AOkt< +^|>r] >Z;iWܿOixxbviqs2 _Lvt;_Ve,KT" &NjqMt̟2g$-$OHq@|Pz6qפOsb+rwxӲVD< rBZhx^J|c èO~KimGBQa~hiF|y~N 5ÎG7k7e<0jTWW }LPv^aoweSNb)9zӿzs&|\Qg:.m=z^e%/8qC]x5cE7i^>+u' #pXNF+M/3#&\}l`I.;CױК 9?+< RWz:EEx'MО;t6w{<C=t|a#bI,&i[$Hй2 ɻ=ǚ$paz_?`?հO9w>8%IЋ15tv7}~ ; ġge_,k=SF.2AThm[ufezО:ijT?K<$\~(*ZO&B=*֕w)z(/ n[Y4ƊտvGqgΔw96S=7w51G._O5e vaG5SܺlWUY>$!{?: PVhnG{. ܩM2==d)ԿF[gkQҟI$f ~35}mkX9I~|m#?&'Fn?5K^/YY!/GC9kE2n,(KNXc *+e=7׉a9RedvZd1߬u˿3|A]gU6 ۘK^ly ݁n=ԌM<7'-q^%ϧt{dDײy:=W:q,QǼdSmsy~q1Ε^f3bLZ?nny YwC?EnliQka}Q[S!3q_/@/!}c!_{QW&=XD]="~j!Oy>!7! 7e!?<4x y̼'/5g3SBacsK{!qTyJ}m7+K=L݈EX/z9 r|=/ڋ"aW>!eO(1fu=#~b|ʱ\TY[:}Ze&\MG}?yq'TgܘKXoHz>V'/Yo{Oe|p&|3'$'4Ƕ=߼! 3pMOj3}.x. ^{\>!?I1^!p>Mџo4 gy ?U,mMW韅J()UxOخHnK<ɠYf{/̈Flswz]UHhh5!`鿄̱ elZCgي@d{% +Aq #ij# PѰ$ vɖi$к|-.cdo19^}Ar u,qytJu ۦ15y}^r<<.'⏬CsnyS@֖גvc̦% F2X?N5t\-(ϡe 5~Jɘ0׭0~|^\)#ẈLC#TZ^p$ I>'3FsU#1~d" ޷ |? _V^0j+89%t!nӿ#=a~&L93@?hO6c.>vB OIf i2'"k@;a-:Ћ8c{V$_6_G/^|nB' ->~Ex9 meeMIeu2k-8 sO폌L󺻑[SSmq뭽l?Ǩp?*=Bc #0^b ҤܙYaG~ eŖ8)etYWb~$q}l1+|_DQcZ`HԠe.6vjcs}K$JMh}_Z`s&A>}36kc' a8OOlvʱ$ H&S 4WW;mo;w;>mDi hb',6!v`XKߗu.^ht#L`I166& ?Iش%uNgv# \,Z"-vKv딈i>K]5歾f>jā/,̯ >%qH,brͰpRFjaaWס49g&A?;HÇ>Ӱ>6Ν5d{Q[#M,v>Ⱦb9`t-cN#>y 'YϴO<}Ml!mv_7n_\_h1'rیxJ:Og 6 obzs8㹏{yM=>Oh1 t0=O}>G Z1?+[:v5b=}Qhf7eLM֖ܷnԊیu!?*aX:2sOxϨ}ybm8*l?6uNsEg1uԧU<\'>_{"4CȻ#ͼy[بW>*=(> _8'IA/޷o.<|"?Hm-ܐX8Ρ>#v%[ͨ5+.yV5Tg>_Ԃz{ O`] yT`=4/ی;,,e:m}M g^k,sq(=JUyYC,-b5Ck4GOk~C_Ϸ}`%h#lm8" ;>abwнXRQ^x57Qwdpu=ޛQy'{ qomn yD?ȼXqOԬXGZY6tg3g@~iǂ{q.O}"Ā8s#)>NozG܍;}=ͽll/mfcԏo=l۞l2 _xu[On,cdm/٦lXƵVe3l_خOh?[$}m:i{1>.m7n['d,39x~إfϵ*#gx{ #XGNC}\Xap#ß}؋vFg]w I[HN*=3{(~{vDA닃<Ҽv"?κ$eByc>r~KC|X}c|>:h=|>њ_ORf?oA&QƜwm\7j35=/DZ<?b9{|DRqxM:OuQ FBt FOL6׹(YpcYf_Qo1})?=R[c@}.‹ukC1 1աٟnasxZ1(`` w\?:.՗nh#T%,'pC_//rfǥcY)c~-#SNuM-,}˵ P_/|$1tz>:^GhG6 *לm/;zڂ7L&uc~Qzr3?zc:\GʽeB?S{Eۋg tv/Wuۖ}Thm7ywM ]x58m/!\klfmS'c`}V9 ZrYƬeܕqeW垲^yOh8V2z! vø[ d7!Kk^8Ljfpe῜"*jλ>~pCҏd( χ>Oу1[;;z "y~cɻ$H3=mW!쉾^|ΈCO 1lg0O% ϻc~@c18t#/_fЍq{>4^s2Ӭ;ʈиD_@_hiUm=ybb{2, %ؠ^ Y=-~v^$ȗsqdq"s<<^{gc/a-SצG-sM$I*|?ñKE$@/b&|ګ&\sg#Ll a +L m5u|"~O x'c \e~N'%9f?<["s3/_yGs߾o1Ey%>3eP<\<[lɔm݀e^ae~͐oG1RSCvi{|an39nx^E5Yk ok_j \J+p٨ve|&$gIGID~6[,i\#YD]]3`81[$ɏaFـIt)q96xb{~qw$O,>[č#8cqql>#@WhSѤs$no0>z[!wɇ(q:Hr0^,)9zxH_q龓lt6F[71bER'e݆V61r̿W`XKQ[&օuAO}d~ndKE{F Lq;'%K=1qT%%l../^G H:]ÿXi%=w%3FE͙D̻4Scdgd[yh{'eu<*k9|28cxB(r|֌f[('Glf<4{wyMKNZs^")Htϖ8 ܫQ@FuAu~V6>EC-Yyl7Odl9HhߛϜd_tʖH5)x; ~Dlr1?, 5?%GI'lψ)9^?>BgqO^kDR#]$YAu@*ἔyc-Z1k };tҫ]//D$~`>CdbOX'-3+;'7S `a,lm 6X `aZ؆mhaZ؆mhaZ؆ pm86aΰ g؆3l pm6\a W؆+l pm6\a w؆;lpm6a w؆'l mx6eͧ5S|ʚ),a K),a K),a K),a K),a K),a K),a K),a K),a K),a K),a K),a K),a K),a K),a K),a K),a K),a K),a K),a K),a K),a K),a K),a K),a KMaDSX),h K4%MaDSX),h K4%MaDSX),h K4%MaDSX),h K4%MaDSX),h K4%MaDSX),h K4%MaDSX),h K4%MaDSX),h K4%MaDSX),h K4%MaDSX),h K4%MaDSX),h K4%MaDSX),h K4%MaDSX),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*,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*,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),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),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+,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+,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+,q+,q+,q+,q+,q+,q+,q+,q+,q+,q+,q+,q+,q+,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),$:JLω35 ?g7쁟3M`7&Dvn"M`]ve`]ve`]v5] j`Wv5]'u]'u]'u]'u]'u]u]u]u]u]u]7u]7u]7u]7u]7u]]]]]]/]/]/]/]/]]]]]JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJbW ^1+xbW ^1+xbW ^1+xbW ^1+xbW ^1+xbW ^1+xbW ^1+xbW ^1+xbW ^1+xbW ^1+xbW ^1+xbW ^1+xbW ^1+ J4+ J4+ J4+ J4+ J4+ J4+ J4+ J4+ J4+ J4+ J4+ J4+ J4+ J4+ J4+ J4+ J4+ J4+ J4+ J4+ J4+ J4+ J4+ J4+ J4+' xr^9WN+' xr^9WN+' xr^9WN+' xr^9WN+' xr^9WN+' xr^9WN+' xr^9WN+' xr^9WN+' xr^9WN+' xr^9WN+' xr^9WN+' xr^9WN+' xr^\W.+ xr^\W.+ xr^\W.+ xr^\W.+ xr^\W.+ xr^\W.+ xr^\W.+ xr^\W.+ xr^\W.+ xr^\W.+ xr^\W.+ xr^\W.+ xr^\W.+7 xr^܀Wn+7 xr^܀Wn+7 xr^܀Wn+7 xr^܀Wn+7 xr^܀Wn+7 xr^܀Wn+7 xr^܀Wn+7 xr^܀Wn+7 xr^܀Wn+7 xr^܀Wn+7 xr^܀Wn+7 xr^܀Wn+7 x^y+x^|W>+x^|W>+x^|W>+x^|W>+x^|W>+x^|W>+x^|W>+x^|W>+x^|W>+x^|W>+x^|W>+x^|Wogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogo׀߮]~v 5ko׀߮]~v 5ko׀߮]~v 5ko׀߮]~v 5ko׀߮]~v 5ko׀߮]~v 5ko׀߮]~v 5ko׀߮]~v 5ko׀߮]~v 5ko׀߮]~v 5ko׀߮]~v 5ko׀߮]~v 5ko׀߮]~v 5ko׀߮]~&H9"k׶{w7tn=;۳CN-#/qwhןbiӍCP3-߿FQt٫zws[iiCJY37j׽m~"{U;Fy/QWQާx+#k6޻=rw. )15&= +)]-/G3cہYDѻo~v~^^xmN ^&Ւڷ?G2Y9 S^$t׻mnm;Y3ٯ ƶիo~F ud~COK{y %"F-0x&w5?ٿOGܑ70}]k'Ŏ>M\o>{#`6Ѳa~rls׼_FߩGb"[ ~/u^pmp|ʀJKoo,k.lù[g>{V{gG,rsCDYEQVX|A_pFɵN]X_Fwg W-w,ꔿ#i-{m3f|P۝O*|ߟyԳj}f䁘C N?3lq*Z,_uU3S?X][?Ǒr3;_sd/?~ة i΃bS|06ފ{Y=pJx0kMΉx[?_n cvL/>;:vy9=<;8ϱnSy'?Pc3QV73yyrVmު?gNg<Σ;=y3N8g>q_QoýW*yS?g_3]̍U l]{ Z%Mڷg7n=[>iVw&nSg;1٭y@`#KxzV3ȗ'f3Lآʳ՗<~=oբӳVL}yD1bkUvsV#|xѽF*q/~y/r4c[L[m[{V5>>㭺YC$;'[45yߎg>4uܓ~4˿rГ<@_dNi}x:|Oۙy_m]WvJ\~<-#nMҷuyc8Hi?.53i OgN]\`nYV-OVx#l]~}vi3k}O{P~Lgʾ+yZO ><(`#O/B+Gyڦ$۰#xz?^>/ߍyzn$pAm穷 yițyZó?_vzjxOE!?pk+R{k($|sMߠyQ6y~#ǻ++1qtڟ89{k%yҧQ_O~Hu}3NG,vԮQM~}|B"}r ZU'rЦy߅&w4g?i:I,_ׂ6mi&̺63֑h9iqGhUM׫+hǸ4x֥_uXv0仔?/֟N' ,'^8~Ѣ):|L~^=^9Mo|]8?T<=~֗'|6kFl|Ճxw.9奞Wj7)BuzhҍG]hOʷ(߮w<oEu5LsKk_]zGǬ5xl_V|d?~ڼ)Ϲ,F P'䯭yI&{U{#;Ϩ+'P_jiqoO?ח{2g4y>ٓ.+߮“}<:;4O*_4"?'1'?l@u,yI2Ogx>v(ˎ#Q^&4BhCluΓ6OT>7kl޸䪸 㕝+Iy[SmŤGT߫^?)ixR~3l ?DwxxBi|ӂ?:L?pNO݄7'/zm_k߅;/+҈R/od翮 vj̤q'=*{7³Fns8Ix]ÅJ./%{Mkܧ,;7zՃ <Ϋ}CvtO ~u97\`姁w?xfΏnҵ,^xpڏW-?Yg*(<>4m.o>J3ˋ<2eYlcF/Q3\QVYvM<f}gt*m>t~,1o~_1`>3cdxWyfacߙF;`j~+>@)OgVݚvjdn Cw,J>;gϘЈ6^yu/xF^>HWޙJ Ӯ'Ͻu9Nvt_o2~yHnپJu 4@%.ܑW2w߽Y8%$=>U:|9tX(v?wᇏj߬] ?{J:w.V)qlƯՠ^} `q}*u`…9asthԷveOqo~{ q-J[o 3d]gwP>6|6k.~VҜ<*_m{bS_wx9Q"WǑ<мXOT'~  -NEV[ˏ=h?ئgcj27}O|ܿێs~o0e:K_LA`Q :y?eӥo?˿]`xr1Yܿ左z5Ƙ>)'c8^rUmDvѭk}F~gix|fuZb1]Ѽrޮ5sqCy۞~ڽUc:rqql̖_O8BU'Nٟ%_"!.6K~OpXRU7l'O[6OvSm_;)_V S^̪nUkg?S>/}=ѿV#gWX3xBgB]Zwr\=IwO}fuwdIZ۶ܙB8!D9u;_Ki?gʨ~ϝ1Iy6uzlڃ=R(vD[NiMCQ}^<8ǗjOx=bދ7;~<yp7x0wƒCzyWO׋Ye_p;Ã5ͩGqVh // >7Aϒ쟼O̷]~(tL}_vu:=W+7o^+l8|4^-6Nm>鞝Us?SJc[yjr-/eXYϞϮ<ӶxqCAO2y4hp<1Ro;aU>kG)+~4+r{S\].Uսpvwθonդd%g:й}„쾌v~5n;1: W]rI壵/};@ɻ)䃗M͖W@J4ђ:%<G ߞ1.8uXKO'mhyk/ߣɬz>g.ǝ}W P~_X'0 էЛ;杦SA!s-LxU:/2{4x؂+M<=Wj#\r!Oo)(:gZ.y2?mc<%q ډ6qX?+<0li_l$7Szv$X7/2r ,$:w<Ȉk`A˽VN#qzNw<{.S+!;o1g{(wJ8>xޢ "/}_Em.m&ʯ:[2px [^:y@[fo1,gbE='כ[߽vҝ|[5Y-_~ y?Ճ-[֚IK)[ܺqh:;o&/-5~iże^Mly˪l*o[dп{M fg[ҝoc?9{ow3<2󖎞7[/;i<骁IwaN3NŔÓ 92q b!_xVѢͮrǿI| ykq8mT[bܷXY]bgSs=I}c/O>]ϟm!|b[?˫<ׯ V Unm)~.AǷ6X]'I]y_GKvwMemxw"ӟr3 ʲxj>)/sAhs#R\,i?v:'){PK cypS߽^Ωw=`&Rx\^u\a{ y_Uysg /zܘɃo4*RB<6sQ灹;KRlJ~gtqt-[΋ZƏ3?= xx t.YbnCMO-΃s Oo7nҏg߭Mvt~y:o,y'k+ҿʃ}|wV Kܸ鼼x.y>_Ҹr3 XS3-/WUgoS TA߉*9ZW;Ia{gWv2?Z'뷖|8tN~kIЯyr:)O:{RxZU :O~vV|t |ypK[S.:}k燧'2y7U3s|<|/4ob`S8P&΃7 ?pm=RgyKyI-*FoI= GޫO+ڗ:Q;;Tyi

86L\\@ًk@555@/t 'g: 6\:zȗw\<Я^Q*q['vޒ#/E|<X8nx`[Wo}-/ Ժo/imx;yOG၏xȼM~p#P6q 2Mlš|4xm:>)O;tȃ?sΫ>33ݸB-e[9lF{G}4>y/vxǻIcԺs~jkx`3|Ĵs)o\'O6~osk3O%y{Mw6O?64œ<}n+i%_~CKu/si9xzSW)_QZBK_YqOέxF-AmH:xFƜGy3b<}ʽ!3M*BDyx)oyZ?gon?-y]g531˘}JJՕ'm\u&xYssNWyҗ6AISlƓޢqxeoRֿup;«mzOw""\yZh^9cy7gӮZziLŠ1Eě;&;-5z];0-߿VH%M.hSL폳::keܟ窟Nߛtݶ癄1s7Cr柷ӓV&ZǸ Ѝ# ?.tϟ֙>T>V/-GfL?␽oa)5\݋]:%rxQcEvJƹwr霵Ss"0__^#ߏh Me~w-%ul7cc̎%??L; u6 -y>}=D<_4_؏ ݉!o cubqFe{]y>..޿b_7-{D –E FSDkcEnuMLo}O3aE k?㍭B¿b Рnbv.g!N|dT9|jœy8["0j"vܵFWv gEբ.bidrk:^ "~1_a=3qs^zGYw8^gZ[3E1;4Y*b3BOuxK߇7^b?<0>LZ9q{Cujˋ;:>YTSݟV *Ez@E-q+g>ͫ狈fGnjz:(MF4|i셑$1kZѲs<;soB1fELsCGpgcoH.}mگ]gfYS=x簇>UD^|"qu" my\z'ߞ_VUv_bChiQ"E"^r '˪w1,'KGnhexQ) kLU#u4h*v[dq[`s "x1nZ9gkϫ)y6z Vf?)h}$+w,K95Vu"0+H.l{+ k#?h̽T_# #|_:VbZ<a,/K]_ʙ]Se OZ/Y&[vtŹ0wC:@?2*I_=PzȽ\Q;8s~ ?jKzF>&0M<-{a[M>)2݂"p,uFS"2}@toF# 1e *.HD:6Q*mEdC76t}-mQ^VN+WSW/$ɗ^,pX+1r.bf5.ظrTZQL7bj"&"tBD={|mA˵1ɷ}f|wB'?sf/94*$f'pcSֽEn/4DZvF_ U H‘U7Ľ='w z/9pFҙToo9'%+9FWϋБpEđZਠ QkNTsw"?熕 ~&_^0\\ZPs/2D)Lv(ѧ!'_xgV([Y^ockm.?[8FIZ㿡qy#5'D_Y5Qp {$4%7ǩ48 Jܻf.lo$׌8ǁM7pƔTJϑLi?kqyeq\c%E1b+E?ۯ@l/ɑ"?_ˤv@JzpܿۈW9[ህti΅s| ^w&'udk gfl0S#cczQ[nedܶ[DLk?,x̜1( .GR[Ė}cn&]h#b|FaN']"Z方>77FoEs&Pecm?߂gs5+'\Vܨr"Y1^ozU1eU,b7kE;!!b~i&!nO&b%d?[ΎJ'b+j۝UEl*TX^'ڤpx7MlbbxסCEd:#Skq㇈JEdu6ADgH矁"ҒҽiC875 %"'Q6+;T>ǎ"p2I"į3p?UÊ[^|#׶)4++7x]DoL3Zz^ХtccmǕ13O5SyI~?77t+ѳ(o|?y.77kgwlm7T!GdJ>rSpo:% gĮُ\Rs\/ɉ"zElOضZğ msȰRD2xj%oLMM6c 26z?FȈ 4Q:p]s*?fΣE2O_ֱ-"&JKXżuU^-??7F19m^.4fU,`~\s7n{}8uHIFsY6S:54/?W'Z.&wTock9gAY>Mf}9jO|Z|;PU`pWo|uݬߙέw4Z~ 8WI>^imKsZ' ȣ뱋+nN&9}`k].9~./iS"PnŢ A ^δU@y;=iN \c7}c)¿;:_ᯧɀ me Ù   w~ɿ?\&6m[W~^vyy>3ݹ+G"|v-?1Ѳë~fse៖283mR¿x~M`WD4 G"5:/ŧ]q̕% %O :N_TD\&-_wa_#O4QH-g+dWzS-_D`i_ˤqmc^~̜b&?Kn5J?5ns3"بg$}6qY 5gex:)˧5~Ϡw;cƾ~"#zfCO韗#Ÿ{ '*?![(Ϙsxh[g׳QbJ_ڵ"?ɃgszwXϢ1޷~Ebun?)r uߌ9 ԥ~O?ͦOo-5GNlj{Mx9 (}K7e|;<Ύ }6t`':C8ͷ?SX+-nqU(^ՈψJ> ?S:}HX|`/ES^'360"lY$|f7kHX|SȉGZ"k?ˬ +4z9J$ d^N 6EŒ>83󊄓3Vvl%t%i2!HlY"c* =y#ڬ~sIkߊjKE)l~SBY;o X}ĉU+ϣIKb^/m3?gv@9(+㺧>+gI"Cq9ߙʳeFHxO?(6/eԟZq$Y]m,Qʜ&>Nj@ߚU2?{/& [>gwk޺BV BJje<4,U7/GFypqœ{Ԫ{jz_Qo_CkQ7F Wv+gҊ@+E,: h]p״\kӟpQr\"CA'E{nNwQ_&kB(uR+'"N}89Z݃ET'5y..di?MD-PO"*2])6LDغں"*Iʈ򵪅y+"/HkTD%ʜx}"*E;s"ŷ~I/db#j0Mpk={8\D'2it^cs>(UJ|iiU9DͪQR<|l'InF_T]DUj;dM^+Q󫸏//,XDm."٬gQESBD}Xìn{U})DF:6aW-i3%,O?Y,)y8La˖~D[gLo֥?n^tDS<>]"ŀG*8k4zK}ȑCG.5|Q [>D5o̿_itSDf6-ٛ]c+r _NtDXr%C컂<ՇnOf!OsT riud/N+0$GH$ݢlȡ䰜b?EԦE%hLd]f\hקZAi|ڶr!rtˎp6v2=29j^/[)m \?\|N7;$*x՞!l8 rTӯmNGA~.Qmνו\X>y\Dy@3u=ؑhϐi>,Q/o}L)Vܫvuiζ3dJ+%GV dž<]NFGENKKB9'W'~$~ **9n,{~;ӗ;udc1vrTD +tzw麎tLβRv'ghWA3FkTy>mnyQ{Tnqm ,Qh"ϝ"_gDe{=,Z*96=z{O&ztg~'{%9&^iOvrмRk$Ge]susə1ЇR}zCryut}z:r-}|əU}yJDSNrq O9mZb49'րL~ A΋z}5zrYl?Z*.nʣ$ԩ_jBί/Ukrx6bGr*,]9O$ j0\t9Sۃ>HW9?~tvrX䢺^G'Єοkxm׾ȝz15L\'D&ge9LV˻1D-[9GXYןPjDzEm:_Cc#}9hsPzm"w}\' >٪ȘU$|YGV cKL~u܁"^14ZHjr1‚{ ¥.FLV8.(sFg$l]׍8B:Od#.&WBt ޷\Rl[Y:9g㛑 6\oq$W{,xE~\j|5;9im$+ku(r}Z@Vz\NO?]Cyڏ\_=85ճ\9ksnr^} ljCE !rYKS%e-?7cx2l"~J|XǴ^>\OkCy$u:keWW~{/^ڻK.׏â3Ke.a%ƾoՒdKU3?j}~reRi6~]n8gpr^Btܡߵ.r)|0KUJE WN,lNExKGDi$=ܳoV :-r?,{Ƥi{ʏ Rrby{>F6uB+Eh\ ]DaZO)c:RmAr7SPNlzCa-~X?B(G{;ܢZlzE6'PpS_.GS<"G9fuRhZ3#(jKm)l򃱗(t'#F T4>i_Fzs `~CAc%o:#: 7 ~E)^M*Kat IzD'H!(HAnY y.@[SXGNA ̡jPpZAkFajN{}V{th7p}ö2htsPH;εKAI\kM! |Y߄UbQd![4FotAV̀ RXͬ='=ّp8[r{'2^׾IK}~v1hI*^^paA^-FͶ^uhzU"˾o&n(%5 u>hLjgι}X,v0"EY%v_R^Mnzك_=rux 4VDx!ܿmGXR؋'Cnvۨy7/ #?!{ŽAqeRmj{Dq7OIWOǝO^Jk%Ytv˚O8^|w娠5@xY@g7,6S(@azsMT9Ȱ]h'>xղ9Vkn'ڒCQx;ȷxQrOXK8ދeG4gVJvϓ<Ǜlj-h֭8Y{.?!G--qmKqOemK>q\pnSڸeE-~u.⣷D;hDQy^}jd:pz?AVߞE4T矉 uv?-MJԽCǵz{vd?rn5~J]tz2vyͱC?qm'Y7YsGh z8:ۑ;O92n-^FkgRjS]E4`щ.Iex/}8G+Gw2nӏeE~\%zwƖ}F_O`/ ᵗ pokx~qIC heυVy#||<Gh"Aw'9N_j8O/ZWVL!(mh'q+IWw{)oW.)_':6&{u}'$~*9xE8V##옞n7^2;a8xH E+M9Q5K47}[ܶ[=Q~ez{.csW^=Oyɞ^'Wqˈ+h=D)LRO߻4;<#f5<ڥ 1s I>ymGш\48׶mqܣF[O^v\?Ero͐kJN;֠ܙ~\G2X= "c?|KK|\hV2,'%W]%ע4=~ʝ}zb!s3^Or^=Ef#DyOncwc"?鐪$j14crK%zCul_)5n|5~>Nrz'WieYmH4Te׉17TK)BOȽ9,d&Ϣ#6}ucIS h-$퐧Q#?瀒'%ׯx~WGwDϏ9hB)r?; H?Wtn3L+WǸھ2Q2w]F6z^/.6$3}T}M%l qw=>l'E1p<J^InS]R3.[f-g{Ėfq {o#F8ڳLe߽waIت]\h%Euc閴muX-ucaAUo9T>k[v9p *`:]}C.ﰘȆa.7ףo?Z ;Ms<ҩGեƆПy}+Vn&T\zcxתdK%1mۭ9un^\rW+Iz=0UϥN轐[)lVhJJ+no3k۟}N˻|9ox={Bꜻ_CmÝfx:ƦKs.UmsfwSɃ9ު4g"߯uIǖf;Zb?F+t;' w\d\xn@Vz&X&zW^Wk ɵǻvm|vLruM%zZyoy ;u: ?4[sx?О+~.v]qی9{OxpXO_y&H~W}ũ뱝Qc3(Cƾs/or%-n;_p^Ջґ3A?ǜ\̞\S99v9{kkA?]9g[C rN9kvo(AR٦eo+м BUɹ¬KΎz!a㟜FgJrMZ?Ź\&gccs֎/MYn12}yREMu!WE/M.z4#9[Ug8q«X2j_[$絮s! -Zu/ɗ2ÚG2'OA-E V9AoO +q4{]rSw|JkgWOɤ$_b'y"%%t)"SOYWB83k~]e-=.y5;5x1jﻤ呷̖$V)\O}gyr$Aށuͼ3dY-(3ؚj.r]'OqZpǿFG&_|ZXTmA٫Z)BzY3,oY9VwQo _“xzh5Hj K؞v||k]7 vr1V4] ?GSz -y|+c^>L;OwaV cۗxjሮʞI?cwȷQ%O%2O5?T J7;VVMĹ Ɛg3!-,:oަU|.&_w}u8zN<'/Wn\3D*4J#?J,,kq/.kM]3 _ꌃ``&#o\-Վ%_?_e?4bm"ZNQWLZDtzv*wCqF#ȧonA*OEţKd9-LWq(dđ#YvB/nLJ?*ms~թY^UW^缻^wmINonί/ke 74Or])Uv<ȴRK9۠#A qXg󱞍x:K; di:A>tԙi2`ru/[/8ޖ=er^ǐǧY su^M3:쪕 #gy[ Siۚ9;w l?BG\\osȲf05œM*cϮ%3.~z3G/lqjYN32g3\݇Z$_G.sq3Z!09;j wBZer9}ɵjAWNkvI{~.9|>OfrܳKnMmEm<:#V״kk 4l ύ\?w ڶ 8tQ+8/}H>y7C:Br:{E,ܡwݡ7 OUd\4xr8_]_R5r5s =sl]V%bj5g%?/Lpe5w?Cn1t2=f貼ˡ7.;o u<3g~K}I%qv|j(&NN:oqU4Usxi/w~0o|8]FlOնL{4Bۀ;qJԜlI] xMNqVJeD >Sjk<|F] @~lI%_ߚБ#|hǠsҫV616<{B8˱sor/yu>gituE۞熪 ɓגW}6y:}(h;yoJ5+M6:nlgw;}2Q]^4{Fnףdp>dnW*e{zWjjErolr0vtq|NZBIsP?qϹȽT+oByl_?_wx0UY~IkN8 irlNt~8[ֳxZ/im/ͨl}NHkeYԇXye*(}mvvnd݈ݲ~N0ϩ) ʜii_k#V4Y;=tȏZhL^LMn>WkB)˿.캬D{]4sƔf77˱o{rgZ#t&r[rr;qsCN2=Zw:3^xԑnk~>ưglېgl{K7Б]q\;X%Ki^ǏJyz`SI{HK#9N0uM׎ë}OWۼEr#}Ry️=^JG|_]cf<۴Ѫkr^_VG^r9pgi?wu*\C%ݤqg~'v;7O\rx'z"F.%J\{,)uu=rWN\5vRrӎAnkOʭ<>^o:L%k\'*L/ہKDM@CFaS;PC8FDk)29s}*9*lQW9?(\(xmbo9G ol9DZ^xuRqܜT;1}fW98ϩ%lj_fxK$5ޕqfMbrptOr$Wr\K5gKL!7p =o o=.E<@1㸾cyq;<T 璻g<+c gC-j1_s˺P3 ;`=qs +>2'MN5[yƌiy׸۠_g%m_Ϭ Ъcrwo\Wr@ݒwL>UsF,iwnwc9z0h rZڎ$9hm*أ"gJ9jyлчr(~]z<*9~1Ur>vMNyշm <9&$931VJ*,k/;8 95yr 8yFcϋ{.=^ԓkb]Z9Iv]L;ե{iB+ӭmL%7iԜX/YBC1*O1,6%:8!Ǫ\K#g [Bjd=|GސcȪޑ@?u (7sc _!r\TyܰyR+)@yǪƟjLFce;='Dz#O JB-3sa\;QOrR6w"m,091ro(l_.58 ϯLEyWk|]W|+u/qr$U)R'#ߚY"oq}musN~ƑQ5&9_]<5vE|ߗz ^=q悫})<g2gB8o6vtnn"R]KSs>P|_~wznYc}6nl"_ :a8ks_=|} ok _raL ;,QTʕoy<^qgއ}Y^,y8)9U?J+#tm§M/~'n+v%0բe'w{.F[ӖӋ$v8BXb_N,oMƺq&ȵy1'2M{:JIz^'Ho!jO5WuJn]>F LIu,|k%~}Xj1xռɚ{uM?)M 7??; Ϻ{NvsR6Vk?waiy=!EF>d;VJ$._~Kj%,vn3[q<>3ɽkutʙ"ׇZJw'8ĵ ׎Ў?hKnO.vWˍ产-euFQo9vP+Ork3m=rd?S\#D˔g}NѾށz^sKɽF?\Air1>,Qg1ˆ {&//qte#]2}CZrht\S֮ ɾ=|\;_ۙ󻖕^I9r>Eq/7j#Gqo7c Qz*~,i=>#g=877kfԋ8+tŌ<şo74~nm7B7YSʯ6#̟+j$o]LFΦ?覟Go^_cv_9i3EwH!gڂLo8M.XѮmJ4eq\l/^??۝i5!?9}U6Brdї׿ٗY% Hza7|t~i-rk^q q7rJ>Л>eXd׭ mzF蓳QW,eԿ䗏+Qw9θziI?sM9*9jm_z>[j;9I`|XxCΌu__YˈZqbٝ >wcp䭓WkqJ&t[ `v{6{ﳔɛfU}&-fhqFe#kmO*yF?z`yqsKZ?Od}A Q O4юODF]7B?WaoۍK<3kfޚ9y;W1n-{xۃn͌|sߓ'UH&r& |_hB=N6zޣF쭫K9i58y1 ͌8$wH!6MRlOV*FFwYZ8crw+?%{pk]ʣڰ?MkDrO龫7hyܧOF_xbj4/ɽe:'ޭȓ^?o싻,~*h~6zeH;04/9q^;ű^/ŗc=?XlwFodOzH弲5_E'.{ޟyNM2i4y7rc[__MDZz߿RZS]uT|s8x6@ׯeC2=7F=W.I8zn+,ߥG[R<ކh-3]/u. 9Z!b8ќ'e/ 6esV!Lw㷵 !z "] cwtɖȕ FWӕ~>eӵ{l;*YpZ5u}@9DŽG}L[^~6|J45{sjy}?D ]>t<+@DkR9foNlz}jsљWG|L޺W5y<&E׷闧K[ᢶFSm dmy="W=yU ¤s]o'hm;OjعҒV7ɘϞyN'pN5-bZbn^t7j&W?:7%Zgؑk-0 2949#v>ITe~YlMOϱoDA:M{-I){JJquyyhW>zmܵJe/<-{;w>7GP|aoD>lr1#.Wi9N:j/k7.엗SOYӞqoޛ,~OkA"jLy7G@]ONײREK *c*4ٙec·>wУ8?#礙]so}rf]y%-gvӵ*9(.&5npL)w9O΢Oyko(96Z*:U^hTar cѯ1#I&{-8AW$KROYE҆Nŷ򓳘LVΉYq0Πq(w;r|Ks|;1ɐWqЋ95yTCtߧKgύFQZC#r:Q}g.h cG&]ksmdA\@/j[a#DZV@N_hz;rf̔ZxQ[0ygc\_r\3tю+۵t9[!~e>bgUb'9)e&G̼FTšjHjAv'Brq >kqxek yxva")A/2u^RRDZa?6Oj%Gj$9F#~^ z݆-8;ˑv9T?MrߘqcUD KkQ7L x=kiQ[f!4VGt6L1$N!W}mY2SkU׾\9+SodAo}R‚oW~Q~Ƌæs%s%pHݮMⅈ~ͣmh~^7md`<#PhZcFZ4 $3BNCyfXV|}vEa8Ba& Nq<gyݚ3uvb"//A\d ZL7 t|_zyEq2 KyK85麻d1ke&,h???Mʚ#6ó x'QdﴯbdLaq[\'^}oDsr~sfn ۳Į-"QK +.MH H_?'F:ָ(cD73Rþ kη^3),Mx)GbRhV6U4'ZAǗZ~8+$ iRhCRXwH^ArE;SXJQ]>[G8>8-2_ZyLka]8NSϦ/NvͫeO}Q_ܐ¾PƺG%p/K! ]W>ۃCǿ.ȑ>=a^,~h8|Tibavn|qRQzw iM4g}R:2M*.S_~򎜟xy~{=(ە[O|kHШc ;fiN8O ^W?]\P*HZdds!(?M)[Qm.k- Y=4ydO[sQG~_=>M=zS!ݹdo?BaQHϞK6'1mzoftvӋ|W7&J*Q>\ flHoϥ]q够eݦCE m"_.!f4EkgӬ'NXF淿 QXD{ɞqR!}'N~=^0J cT]AzȃCNHS߿}F̛|8HkM߮1ln?K2ni Q)ok9Vņ -gy8+OggMm6Ms}R9R_FSrj0e0Ͼs:f;8.:3D@zyrx|Q.>/I~r[2?|kx]ʻo-H׆^u_㒎u8L!_4"# V4_? 3#\j!9:y:C7檧mSqhGT -1];S;c]7'w}-ioLv-\q:}ϠoBޠZ47ި>&o}_炐7qaW;M37=_d0<}Cy`]i>q}3F͟HKM\ULyƈb^Ȼ]?rK)Ǚ7+HF^&yfsџǹE{$UJS_r E=qKqllo~"W%!WiݴkkUQ_!k_:_s9o^}!GQUv-9(%撳QO漯6lwSgLrW[nߟssB3r>nTANq9"hr.4{ys_U!' hrIj:`g\47c~nז_IiOݚ\qyc{PǼu^ښU[y|k%Jsnm:fWκFRWΤڍhqQ?<:2gZiEvruw뮶)t/'~N49uU9j8?Y:hd 5A3s6sϛ5;ȩˣڑ$rV)#g̛֑5_ru\{I|5YqSsq%wU|E.FS}Z"?H1sSlENmf4gjz[?G}U]˶|zڜx"r,U,m䜤Ō6֩y8vr籱1-zmx3ι/d,_kURߓ +rz59ndjmx ȗS?ׂ|7nfMCwTh@!Y}#_ CM:%/ 1>$֘g5ke,9S#7v Ϻ;'v}ճ$ƽ4hy^D}1*Óvl{G򭾷~]K5J|>7st5VpH>Aoo(CSFܘތ|I?“kbR򝭮 m)\>vmgWLg'_מ)vkסFY>/Hk;Fkv%Y]zrm>%/1rtr՜; Z Td\s.r-n\A3rubKZ^*3ʫ7>#b2/\:m3Zf]e/Tq"+y?g[:׈\sV?g6-zMNYvUe&㠁bMzsgQP c'ntSzwϵNgͼ;2,#O[}{'oZsK-+ӌ<|ǿoQvOߩc O݇eRwN>rܱd2W;P wգ;#!;h#~]*w!f|>yU]'Q]W]5\#'#d|2OF>'#d|2OF>'#d|2OF>'#d|2OF>'#d|2OF>'#dS *D DHT "QA$*D-pH" w$-pH" w$-pH" w$-pH" w$-pH" w$-pH" w$-pH" w$-pH" w$-pH" w$-pH" w$-pH" w$ bǂر v, bǂر v, bǂر v, bǂر v, bǂر v, bǂر v, bǂر v, bǂر v, bǂر v, bǂر v, bǂر v,Ŏ Ѐ Ѐ S`li҂cK Ɩ--[Z0`li҂cK Ɩ--[Z0`li҂cK Ɩ--[Z0`li҂cK Ɩ--[Z0`li҂cK Ɩ--[Z0`li҂cK Ɩ--[Z0`li҂%?K-.RKK-.RKK-.RKK-.RKK-.RKK-.RKK-.RKK-.RKK-.RKK-.RKK-.RKK-.RKK-.RKK-.RKK-.RKK-. 4HDoiEoiEoiEoiEoiEoiEoiEoiEoiEoiEoiEoiEoiEoiEoiEoiEoiEoiEoiEoiEoiEoiEoiEoiEoiEoiEozʆʆʆʆʆʆʆʆʆʆʆʆʆʆʆʆʆʆʆʆʆʆʆʆʆʆʆʆʆʆʆʆV?+U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U6U*l0adgΆ ";KKK>cЀ$4  h@F2р4 (h@E*PрT4`B&4`B&4`Bf4`Ff4`Ff4`A4`A4`AV4`EV4`EV4`C64`C HD (!%DH"QB$JD (!%DH"QB$JD (!%DH"QB$JD (!%DH"QB$JD (!%DH"QB$JD (!%DH"QB$ JD(#eDH&EZkdEAZkdEAZkdEAZkdEAZkdEAZkdEAZkdEAZkdEAZkdEAZkdEAZkdEAZkdEAZkdEAZkdEAZkdEAZkdEAZkdE^D":U NUB*SЩJT%t:U NUB*SЩJT%t:U NUB*SЩJT%t:U NUB*SЩJT%t:U NUS2"QF$ʈD(#eDH2"QF$ʈD(#Q(PF @52jeʨQ(PF @52jeʨQ(PF @52jeʨQ(PF @52jeʨQ(PF @52jeʨQ(PF @52jeʨQ(PF @52jeʨQ(PF @52jeʨQ'OFq>}2d(Q'OFq>}2d(Nb:d~N9d~N9d~N{s PЀ4 h\j* ,瓱Or>d,瓱Or>d,瓱Or>d,瓱OF:u(2PdԡȨCQ"EF:u(2PdԡZF PЀ4 h@E*Pр Ѐ Ѐ р р р XЀ XЀ Xр Xр Xр Ѐ xZjIƪ%dZjIƪ%hߌߌߌߌY3ff ̘1+0cV`ƬY3ff ̘1+0cV`ƬY3f(AQ$IF $%H2Jd (AQ$IF $%H2Jd (AQ$IF $%H2Jd (AQ$IF $%H2Jd (AQ$IF $%H2Jd (AQ$IF $%H2Jd (AQ$IF $%H2Jd (AQ$IF $%H2Jd (AQ$IF $%H2Jd (AQ$IF $%H2Jd (AQ$[6p3%H2Jd ɨߑQ#~GF;2wdȨߑQ#~GF;2wdȨߑQ#~GF;2wdȨߑQ#~GF;2wdȨߑQ#~GF;2wdȨߑQ#~GF;2wdȨߑQ#~GF;2wdȨߑQ#~GF;2wdȨߑQ#~GF;2wdȨߑQ#~GF;2wdȨߑQ#zFF32gdTȨQ=#zFF32gdTȨQ=#zFF32gdTȨQ=#zFF32gdTȨQ=#zFF32gdTȨQ=#zFF32gdTȨQ=#zFF32gdTȨQ=#zFF32gdTȨQ=#zFF32gdTȨQ=#zFF32gdTȨQ=#zFS`P32gdTȨQ=#zFF3 3@kK$5#!aCRÆ I 6$5lHjؐ԰!aCRÆ I 6$5lHjؐ԰ƚj @ T)RP HA5j @ T)RP HA5j @ T)RP HA5j @ T)RP HA5j @ T)RP HA5j @ T)RP HA5j @ T)RP HA5  2d((PP CAA  2d((PP CAA  2d((PP CAA  2d((PP CAA  2d((PP CAA  2d((PP CAA  2d((PP Ck (!%DH"QB$JD (!%DH"QB$JD (!%DH"QB$JD (!%DH"QB$JD (!%DHpEAŀ *T (PP1b@Aŀ * ((PP$H@+h\\\\\\\\\\ X X X******G  h@F2PЀ4 lDfUAfUAfUAfUAfUAfUAfUAfUAfUAfUAfUAfUAfUAfU{ahMAk ZSК4🻣 h@E&4`B&4`B&4 9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9dGbFf4`Ff4`A4`A4`AV4`EV4`EV4`C64`C64 r r r r r r r r r r r r R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R?}LLLLLLLLLLLLLLLLLLLLLLLLڠ`6(صA vmPk]ڠ`6(صA r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R?E)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F9090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090+UW"^Ŋx+UW"^Ŋx+UW"^Ŋx+UW"^Ŋx+UW"^Ŋx+U$U$U$U$U$U$U$U$U$U$U$U$U$U$U$U$U$U$U$U$U$U$U$U$U$U$U$U$U$U$U$U$U$U$U$U$UKTKTKTKTKTKTKTKTKTKTKTKTT#00gL3~ƌ1㗚р XЀ XЀ XЀ Xр Xр Ѐ Ѐ |OBI> '!$|OBI7 !&!$3=1 !&!$UՄE&,z5aѫ ^MXj¢WՄE&,z5aѫ ^MXj¢Wv!7aq67aq67aq% Iƿ(B&|a|a/5Wqlfcq8fVxc377-8P Ԃ(y,8j ڂX -86+͊cج86+ KMXzlc؄&,=6a KMXzlN&$mN&$mN&$@ PЀT4 h@E&4`B&4`B&4`Ff4`Ff4`F4`A4 +&ԮPbB +&6aͷ kMXmšo|ۄ5&6aͷ kMXmšo|ۄ5&m&@&4`B&4`B&4`Ff4`Ff4`F4`A4GoAV4`EV4`EV4`C64`C64+L2ʄ**L2ʄ**L2ʄ**L2ʄ**L2ʄ**L2ʄ**L2ʄ**L2ʄ**L2ʄ**L2J{ah͊֬h͊֬h͊lhlh&ĵ qmB\צx&MǛ07aoԛ07IKM07ao߄>vm0Ḧ́"5L(R3Ḧ́"5L(R3Ḧ́"5L(R3Ḧ́"5L(R3Ḧ́"5L(R3Hͤ%ʐ(Q{:Pǿ[n%]BTNcpF}ά;ri˗h[~ƿau]S,ݥamv].q_* `0~w{>cyxnT3)//fw7ϮArW;,*hV-S2?۩癓.!e7?1~/Wd eQ ~l6߫=~ا{|9Af{(xgW nk3y[K)~}U7$O=bMU L*Rj}WooޯucH-_w~3?e>O~{fSTdjݰ+`nn]z~E?u4g;*JϬ߾w yU_ԇlm;{B/ =hmfC>XXgk{3=M+n1%YF;<)! ݫ~cdfkg=}a#G[k`o.wr]n/|^a2/8x;yerzB=DȝndT#_^RO?KϜߕײ?m[7޼SQo+%I*-T%-$q[R{hT*,Mi%>9g6;ET~qk2Μ_13$L!,Ȕ_h pOr_1:d]|Ն}۞$|q*Yoo[A9OZZͺ`-;M%(I ,x_rlA(w. e\r%߃B:I~>+w<YI>T?_ཿn -UՀ^Is&3Q32vLj=Qx?֥/E/'Łr{2}_e]/doŮXA(]˹Aol5ߴO=7> 5[%?VwV[Ol5 wImwyc/}v낞[aà'V#.'U 蛱,Z OٟHA0N߷,TpUk"6YņMp} 68͗x&twOiP#Z^)ϯ8פ2|' DnAp+m8]j ]-_!=_WCq5&iGԡeGd8F+_ZLy kȺ}vgEWp6$C0N2W LR}9ZgE.2{A/oI}}Qu/c~ W=ԛ ]kb\y^Ne OqUpDGڃ>k`kM|v$pg(7W)iJ}6@Y\c9^Π& G| 񓓩I$K^yV/\>^RP3yE_@R A۝c`to ݠ>e>Obۆh5㮕 ꑩk'3_לUޖArCND>}Mv-]F,7M|v:dCN#zǼNTҲ=mCG]Fwu;_?}/蛽F L y-ɝH?s;BINV6%Y0AǝtѶwts& ˽`XtF?ⰹ#58/ƙ_sB 5{@-K0\|cx}KV'&)p l*E݊)'5lڸtGy<R`l1;_I_ͽ$: +^m; iO־E%0#oN/1plcm kW-~_'z&FoC#!53U/|2p%zwڽc/O0Rʈ>Uw4}FU w%k!.- |Es|ޣ|i",iG9I_DG((_VTyIeJE~`݈߬\H^:1O9] \CG?m}#w#Q?#M00bK-|NXf`CbJUfW:g@YDk׏ &lT*v?9=O,F`v=hZϮHw u Pgz5xשr`6r}ǜ׻~ℕ@_vzj0g.n!3٤+-_x>\Ze2{rHCo)AIF9]c%?q6{.ZenoMUt{w Qh ULT﬏FM}f-U6n#y.E6 ̹$Kt,F?f-eX4 o~WзFYuԎYPp`ZFxFs{ O/ s\v W$]YHkѕWk-v'І XX*CߏGPzF3VDv8_E z;vJsɖyFPiߴ 48ލS-d~Yo⃳+C/ \?֩j۪|aeZ¿^0EbHi=朂&&6CCըkO7Z[n=i*Y`Oj{p}:Mz&wE\:/sLFkCCh.x)}58_䱳ڙ~:Ν9o'wE>^z qb9[h/絏-uՇ=8++ 3߿\ul/>m-+ ַ #<ӓgNX &uIhjJ<tbyYA0<}`EnL:]s7Z#}UV{lՑKHmv) 4W@SK4s αU% x2ص)|mt>JōG㫡h/= D%o̠o\ *Ww:×J.?ik>){7-,p,c 7*sJ5yhzhOQxH}yj`m0jmhiY'* 泏{VJx\+ܴcή(qEìOYh.^٩dnW肭dV ZEƼϩi<4Ϗ%&/ev3L`\+#|s0Iqu)12h =ƌEɃpM+ihRf61O[dn. zVErԚhl^hFL%F+mk/-^ WDߞ%hߩ[w~ح<ÈYmZh-8xo^ [F_=>SPkcHuXgw:?Lwc6>aYie͚cx@6pjRw- IR!XNߑofk03{:<=诅\+z JC؏'y!JSR ʄ__6ArKf{4% |w+U;dwóxl}1ys/=Q m`<S>Mr<"ӻKᨰCe]!z%`e< vzƊ?!2(t^cjBr1g0V O?lߒ<&aEw7`N UAhi]WF 2S{VuA]H;t#aɮ M4`EQ$LC_x>+)g@wi ^dW`_Ek,i;^~7D6$1|u _֎`kI:4rS~U`8'w4ϙeFѫJIZt7t'v$ckF%e8ew _ ^ScCJV{{Jߢ<7lr]$oU8ݲCU\ H UiYZl'D'\qC# Zvf-qn4 i)D29I.^r҇CCgUf2eLI 7ie_>@k|OS g1puC yd\ݴGZ JΣ؎/<Df+wZG݃ۃ~9~uo|*_B}R"郁Sfo?>mPz_ldb5H1}+I?'0K|Aضo=<r! :Pr!gx|t%]}}w 8n O&>PfMFm>8j$||k뮀k }iq߽*GAn+f @"uAtV KKgr !L9ٻ6B!sSэ>v9l|OZљA9 M.֝ apA3Wp;ƎE,^;*|BMhE-VxN_ӏS)^ s{ l"R5*^[AY7 c ҳ/bC52I t-.S3Q (G#Op'whf(YvJ*M\E@({¼_gxw%_;w뛎NL+?7$c R‡.\ z~[!\ɛtx!|5G4jt6TӉ?m )]jQy[ zgeW!q)b=ֹAnݮ/ NLݕG F\Wn]d߹M"]ЕދiG4>y@1/'DZy!9ߟ'mi[od..~ Eg3 \\khJ?1='~CtyV|KS|=C5Ѣ ҳnWGͧ=й?l5N's{/݋? "ԅVdR#xGG8W6kz)lUҪdz [i;p֞E޶a<2!cLK@'^YJ8ωS|C^Bd9EALf|8>6;M;8[|ظa)0_ }u! 7>k=ѭ{'s :^r!- @D;'!U^C`>R T'jm_Z%x:Tcᣚ-YN>2$,}Nr~mu/0&w I1cXm S]ŅrȄ{H//Lw>1ށ97vKqP[*$Px2xI."y$ucOKZaǗ-q<[Oa& *DD]FtjGET,keFlg.>淳Sπqټ\4@1=l:Iޙ}Z9ya׎ ݹx߾k ixEk INj~^hۏ㽋A@8Sz`MtᯗќU,i% N}s)_ f`ݝa3<ljmׂVCP@R>J{KJ5YdYa;=k/^}̚4I:|(6 Ա|Bg7@8dh RRAQEc@U{>x6XEF]@ͯ]`/5.& |QR.VzɃT *Fx|2䋓SM㹉/5qKoYъY՜ &5 :33h vPsru aFzзŀl2O::㔼@}dH=Ⴑjmސ W t 2)3?.xCRm N^f?>NH} ]S3CN䊯J>^d%{po?иs7%䢥K@=;ELW@5i#~` EV|Q䫧>C{e$SJ!yL&I&c0։R 6 Ff;W#3Y l}r`9%ut+/E;~=@XJ$|3W:AQ6vdž33_h4wE-U Ф`K%wNMz{#1aN!H+>qq^MA`Zp}1'A8Mxd|Y^ƸG+!ci Aڹ) ~haB !ln^k/ۿ hSY E^F/dn/.{ a3so|@N^_';UyX-.i o-YPkh\۬<0aM683ebv*_r wǬ5DK-Ѻy#՚3y[zO?9OaOWEd>'jC;D!6Ly-C@-ݞxx_-:: 8&,r2+DLE|`"VbR' GvB_|zb/~,~RA(t-738C+Ί CIħj#yD8>K]B:c9gw\yNd/LۈS- :qop~4@;i.jtsJ%M:iOהy @`ԟ\o߇6mc ܽ!ܳqjɬU .(xy+>? xᅽHXY#9# l_Bmնxx`^&WMV8DfPǶ3.M|E'A]v_©ÃNiwT(cB7ɋ}A7g}s{d >B!˲mD{oNi/12/k^{n?tmfÒR$Fn޲to@W)'t 9 hH4Ir7=7C)Z!Ɵ )? VTmwY,;-CtȜs Kgk-(<<6mɥ^U5eL[q/L5Vybs#v3< j`ݹ΂dڤ|t*'{mv:C<) T:=(yᘃ7_g:vS]+M8[x!QrVc.-ٳ{SѦ´:iMkAtږhSXt`ٖYNdLyJ88B˩U8 ~)K+3 3M-ud!?%e .VB*\ D*V|?G9 LxDf'Ǡmbų{#^z7ri⮝˝K/@Xu3.8r$5s ;!un2ĶUZ~|[ ǎC_ >/-{J T ki DwUjH7x{_h3D]_;!4i2؄~^0dIv$:[C^QL? >49}kr48sҲ]Z0X#-}e<[9MCh۪b?n&s#Coմ=w!r/ԸS ;,di]>νU6[)D,w \DۙL )#'Ļ5:B<ꇿUL?/y#6g$2C # Ú^B߯ @Zx5耄v}+!ߢ@ngn$Ɣ_\Џ3 ɧw=9&7O!LBEʄWUyF^!8e?3j??&p$-<;cڒO{ppk)_q;R?^D(f³tt PSƦ[~ϝrԃ FiX&̓:}=1I/n @4G/s5~4B86jVCZ*JB7S5@~I8.K nns\k?êh'1dtװ&x {x- PO)=T 7t}'lXp#+.wɖ[3 - }(5 fy@ܴ[gJAָ6L6 +t.Q9O9Z fhhq/b{7`Dx* N_KӘCU-YTTA'WnmrU!+spϦBH.3$\00镓yPxeTmCb)"3y 6J|MHD'j H9;vB}ӪAF}jGѣlJ\u}|GG6҅@xD[W['CxV  ($\>=i ;%23@K4aSJwni'?w I=|3< ۋLH7tDt[|#/U'#ڠ!ox`F2_~$* Le퓉w']pF-V"y+!]tf7NbЃ ^Ԃ1Yj*VCx_cg !WcL@^ړlS?_  ;t@w޺5 XC-)pvlOߙg[R/&]:gg5I= ԩx=4:CpG!%}6{d~3"Qqp<~'5Ҿ;WA'5*הuJZXz|3C,@Ŭ qIݗg[C>FE$ݻI/_-,?[eIvж ;悟gFA  pBIv LZ ;7gj$WMrd1' MpǥDFDՑ꼯QyGF@ޛ%j]m;R!!]Mmu|{tI3B#TXk]:DB0{n\{;mhSZ;; ~oN>zmgtYlcr^$I[΃'<{^Eo l; tz$$"[](U@KU-|psj-w*{ QZ5mbo3[T(eE܎g=[Kb B4d,{UŊ t2Yi/Q|}!>INtuetXͬ¯'?Y5ewh[1w׃+NViI6q{oY MރXpw;!r44ħvU=d6 2bv]={lzt*f Zk} Θs-2Gչi}_K&WK- A`~_p!]_!Xy"T*>3>.[+U7`1#$6q_gOx'I Gǃ~6zZ?-nO_ѻ7jޓ1SIxݓVvDAe ( }׏&s_?%5ˬRGKj@pwɗ 4>(mG# 3bAG]TJ8Eն go{Lw|½y'Iy~} RیJr%s֪Oy!RoVEc7zj&RS$yx&Pf7nBmCoʢze\6w[* v8^Y|mz<K?]o~|1{\yP餜ʩab^RK]1%{m}9[9>cׇ ٛtu(:Y$˂]i<@`M_^=>g˄;N,{: έW2 \R+䳠גj׃1{s7^W6xlHdD9%¶͋J]6#7ȏ$sI'^iRԎMV3|"4&utS6QD;괪$YkhSNL]Ծg1VZ"|r`v')/I?ʟxtb47c% >{B8k߸==&ע!cj%_ZtNޙ%:kCx =U}V1]ExiQȺ\֒O-'}S G@x-xܡjGA̾]QM"7.Uf3_;yWwӕhn}AQ~u`"~v6YϟiKm>9n|Գ| |Fjh#(y1 Mqeқ`&!O24 w˸@_9W4y%BBt͙0`2œ뵞U֩]ՃkiZO3h/ p C=7ؽv&4OUv/(Pj3Vl?nI!TF+bf*3Ky/w,`ZvKfxP[qY%):hqpM ϔm@+{t^,ZY eWмe}l)8wMQxdz͗"[U9A5 ZDZkx,H{2\kqQGkqAI&wizp7$>w9@˿s Hh72^١:?| ,N$ݷw\ y~V7'GVO5~^K)O+5ZCj>y oUR_N6Zg', N[Ҹ,EPwԿ@O/xsn?hSo=!tWc0j&Ï}j4lU~N%FR9eJXNVv qo+1I❞x/_ʯ pfr^:t{4I$f5=K!blaf49fº[h175<׉>3 1+#>-8hu/rݾo]G]sZ~<֖$ozߦ ׀:StNHyv& J6:`ny0WH7DRn3",o ˛Wm6sHz;n$Os$\%[Aש:A/ʜrm*'Ai^5JL&mB|.Pjr~xH^l٘O$#ed0*>n%~3UV g=O?VvZR48!ol1LBs6rNo=q+n+GE0z%NN'n6?uLuD?{+ހbDži},ntq/%/?k͉gz6`9 t"ɀ>k=CsBv+I z# (1"|g0cxRR,L OIBDOz ,h3N|E%zZ"c}Y$ѭ-7o}uASl-+|hᨑ8}uMw+PMW!ke ?*6hD`8NUi3cʝSw1|ΐNP_exkte @E?*g ]gNVI37zQFQ[hP^(ciili/OB?d'A&^#qcɕr]O;ʲ@u?bͬir`ޱohdY.!D~#sc|Z jso\.Al5sݔp(\'Pw}rҏw=Ĭ#kةO'űliol'ZAriIW1:bCr=Չ=ΞHsey֒z9<Lw2}?7ڰ'U>5Ag > v@\{& #?KunPGk<~_;csͷԋH|g[E+..,3_ؤR- ̸o8\A|1raFk rkZ$sˁWM ۾C`d=Jmطd_Cޯw7ڱd ݑp>(vߵ8^ Gj"Ij4{uqhj&bKF^Yq vl"klp4 .5~ 7Xf&zb)p-|-)b#5@/t1_|rP#|00J5?&+%8J5 |?s@E7'7j`=2m0MZe)\/t$uS8NݵyrK4QcقjZ?g1ؒuRHrW [%e7?*Fvۗŷf>)Fb*x[D<-?lQWg/꣮ ĚRP3|㽤\;QfՎ_.IջzuiD{Z?zvuS<8a:''خ'ZSKX >R#?2Y8ax 6)iM%i-+'f |!:x!)'cDə=[ƿk#՘u*'9y=o(cՉ&n=CV\([DWv4&Xұh樥xO،Vp֢ωd?w=~UaZo:ֽ&@m}rDm\MjG5/n0z.lE%v'5{CW<1AoN8~e35.G}U߱{1*P@[?Ǻv|h'y:]%(tn *#9eʜtxX 9ֵhsY.xY%T)BWv;ЖyaqxYmmz> =#оV\}%Jj,2S}l&6uV#};j-)&)(q<ӡGQQhKt_!v t7HD!oB?55ڠs;{p7P[{YmqO !e7@חNu?9K(̵akUzӹAUs}%9d7X~P'M=Lznx1v vKfh©Z7%{{aP{vYDNޣJ}x۞8vxG|?|٫|—ojk[ޫ mgt3=ڈKϝ@9F797)ֶ;U\ڻmF?[Ƶ"S~"5B_դ~1`|ߴd%;8OvB| ![YIj28]kz.6ߑ} C3-}(~=bHrA18ot&9e2=Z*r~ Ύt6w8ҫk7B0܌eϓNY@s4#Ow /6]{ں_ܶx-vz>p] ?"uPwZ+|uSl~x7NG-hb0;w(NZE5Ԋn݂`v^4tMAM!XCGj7i|?koD-ᠣ+u7WH]-6r7]W\vg24K~ZC6p;:Ax18?g+y)9;G |~lbFKߺmU7=XH5h>tofw7y'vNWݚ][WF[mK06;Z#>cԛ9k'g^2%i/H{v쮙]?=ˋގ2pL&DY F+=S깲ິ KJ;$1|+.Wg4`ֽ}`۽?v•Gv@})75sbIeO} pm)opK%ZP|Qv?VaC dxJ@] L O]Uܡtu|,]p+n(5Gc3\)hJ]{T]ܫgӜ A{HiQ9K>,m 97{L? Çb껃}c_NȼMk^/Vtp ;qf ;ҫqa5ҷq>>7J^@eTp'PZ}Py8wD0@YZ?Cɧ2V 9 Zwifux䎨Sk9u6X57|"֤n$Č;} utc;QL ]bܠJ3G_y[։˿)DgY =4ڏ\ q<'`>ZAVw&EY:.ߙ)ݝO;"`_?1W(uMB7op&XԺIE\q$'%CC__$Nd]5zXs-dN)-DK\Tmqpx&ܟ3xE^756p|%(= ܮY`g9r Xڟ?tH"g'?o9fJz[89cL @-;;H875ru|E_^JPwU^'&$WT\h/o\E$.s| q7xS?n2/hKO}P?w"{WJq۲Aac&Q+K*_Lëe*XxD0hp Y[__*ޟCݑU]]K-7-KLXY̙O+QzOܼ =i&l nm_T\Z@m^[0[VY-ʝ_KކzYOx ]gkQ}wSm6Q};E8Qr[|&g|`xqH>}zO!Qr' oP9;jX :߁S8ݣ\$? (326\NrfAu.tQ$>p^UgߠO_Hq{dX%][V1dNj'O? .= 3I!S6Zĝ:k钝oߠ5jmU? k }`.^=K.e.Z,9glAm}qɜY yd>ׯ{6(o ߞ6_joQhE/]FWIeeܚ o$sjsGQLw&,;:r<ߺ=wGh0-@g&z㘡 :Qe*c9˦ˁyv9UqK&@ spV.]H_•4+-v{ԓ;(7*Δѳ"9\ B5I'<و{LPk\%2ߚGXY̘/_E";kT$9 zr!ӵ;sY|韮`UȆ*æ^!|S=yG͒lP6].?Ic"\6އ7ieK޹AU=xGΕwUv{lguSy4("86%t"շ>oap蟁el#ን2$OnSb8Z 0g&ow>KrB&7}웤n(L>w q >ctxRcɺH%Gy[j6 H}u@[w=P$]I;F=V?eq%-ꫡ_d)Pݝ>珖Bxp&]xm`ēRmg!slM}?wo\DW(( 3C4-.uDm𛯼3E8%!*\ir~nߎ ;b̆PvKf"^WMݯA+bmslܦ6%uNB]v1*&^')rh_]`Czӛ}1.FvAa\N/]? l dU4^m.RW5/Ah=&[O" "d!DRgkES\[!~;D-@\=+|E>0(Afy!!JeJDA,khq)u.жl]Dr:v@3ҳ ĪI_C,HҚz h{1"f<+YC"btI;ѲnjVM2ZmC@|srCqmb8OS߁ۋ!L/jy«nWPʷ!h0; /›78l ?V'!,=|y&N8Ϭ([n/3e_.M+퓣s (޷yzuU,s-5MHm ]axC$5&7-I86ĝ08O 7vcπ/}UdZzgwɡn hwFCyw@IX 2ǣ9!Og^4-|chӳg5|$.><*v)Zyq.}=||?8E2~ϡs#.hZ͋yF}`ފ%hYRoYAԤDG=^2B^K?_wpOGiBc7?EkrK&Oz GQhyta叞%mX5Y6Ax8@kJ+@Uqҏ7{` ~LVhhѴ';7w}&7q`ih<º݆̋luYY3 mRfT8ZԸ`̕|ݗfȓ֒:[pFy34-]pvI4|i-Fixvɘ0P_>S3_^5U#F$OY1=/{r7~ZHNv|BHioz f`;l|#E8V%Jrq AmDKc?S |ƘMhTa\~;.حGh }sN;s6WVhykq5Z )s3ˌGS~"4M2gvfR>4[vFuZ*G#\+K똽Xk|r"^雠ye|phdsi-hXҞYD損ƣUyoj׊GhxxQE/f晳L4v0jvnwyv>`g"\rm&PX$sUYhF`ڢN&PNȾcS.OD~|{[0V vK4mשK}z&8=d\KGdHTCS,{Yf+%ӵdtydr8w >:.z%&yg[ՙx|jqEs}Caѓ ANs(Jߐvsz ệ^[}ȚU  ~^1Xx I]7}Y֎V =; jrIZ_e+; -qz-uH\rg3A 3_mCo^@jS.Yg [/rjM, zzDKD^}*9F3'՞#>/ yLضJE9,.G:z@ ͍ w%?x. WUWݍS6A4i^R@zStCp~.K@`VmI̋w `oSI%jNmʠo,cso82ӱ&6,-G!`ڰYN˸$X18RgdηwGe&q֧+ϊ!8J2rW'|;hB. &$(7J~ݝFFɫ9v=m4/^B&1?xt0uey{mqφ߆qò݄3̍Â'S8f &hٕrlRu*VіCm`VOn=^, >xC'gV7[hin \?nFN+q*e"< }'Q i9_'>$he>7I]L"zM7.&~}v IEd q96-"=hzІ=6}AѫPGr$k] Qq9Ns8m6= i$:so$N60&/Nœ(pgt~oU!qzmq<$xMz}_U:|i xwߚvg!Z~BXn<Wڛ!+Kw&fƸO$w˨YlY=-5p6Y=fzB,g~YFiA2=EɑOhc={t5ݛzSvaUŸ04jہ;3:84͌ܢoZ.60pp#shVnنƖ^5Q/7БނQk_Έ~3g27_MQM.DD*+/$}DkTmM>Mx% ,X'_nӂ_9GȻ^}SvjG|ln0kW˚i;8r{YC/Hʤ ?ou<7s?t;SQ?zFwv[z j7eVJֶbp?,,%}Mhdq.ܮޘAgB5_4khSbA'$g]F}ۆh)"ylX3= Fӽ<͏ZƄ9[(IE%$f @CQ 7Q{{̑~{6]|я }mr{Zm&{oiVӷ/Oyp~Uڕ-gDA!ٍh?}55$=-bNDj+;qu||G.Axd[KM_53M>c%hiZ ~Zs4O0, {4:&Zì6DvNSШny<nmN޵[+v]2D#z݃, UF㦰)"P/&IwjQo %[V(qC-c9JI!hJr 7=1 2h&h[Pyf Z4,*3ubg46}Zw -v+?$`pO :ͻn\z|5Gh<? !G嘨wT~/ ëC#1/a4z>)qh[8 v.ށ1{_-/CʫQ7dS6_>9uwʗ&y鿏%9Uiez{} B|7m4UʢfqhmZ|C1Y+[zJRh15ّՍvzkuTn;b7{-}-c$B?D)80#VUWPS i߾6A8n a/_qo;g-?eZΠ/L|5'|Z5 S_o~׎ ȁ`2uNޡ;?]=&ewes4ͯ$. >?5̄pMY.Pvo.V!߾ww{FJ0YE=;~[+K@( Pz|2hSfJ,{@?v-S- 7Uh!>d? VˡC"ξS|QUilkx7Η<|}־{ޗW}N5a'Iv7ϖPQ8yTTT=`TJAEnQ3HNZʠ}νG⨟_ص;})E~z܃KOlKJ1$OhYsh 8^ 9]}أ?`<*;ްy-rnL6>[P* .yrA\Y4<*黟3U~v"Z Ӄ&[#gׁ}Mp3xO3;âXp_N ™7ِZ_B[5L*NR-f'u`qD`;G7K|4fq MgmL7֑+zer$JX\}/ qQ`ϱk9湙P 'A- Nu돇ɜ.ҝ'ÛD$ϫdt2wzЫ﹥3@ J3 | "tA_qi+oGfoO!},s=$7A^L٠v~9ho'"Dz?ECw_RtsDEfOӌW U >ʄF\Y{y۬TG>" 9[B&J8]#5kwnt~_̥9\.$}V6_)y|) ,JzQyrM*Do}ٹJ^ 9'9#ߠ6w>ZggwhYn;Mi㾃Jg5 &cJtkWr{Ӥu+/%yY}s7 jLgAO4p@);|IHxw3t^yCe1ud#}LЎ&ƐL}7Ai{cJf&:o |ӁQGYxly 7t_Q|)C'C>Nh_rs|*췗OZ{2U?dO#]oU̩g߃Y*GFπ bUr%;,w(}0g=ntVGz"_ I~j@r*@? &OtS[suw:"W{yЮ1BJ4m\d ~̏RKtEZD~ fނF7ӱ>y9g?;A*Urr}c1 T[ߕmq4sc΍6.cلUe@1pԶ`򍺡_D_ڵu ~KH}Pɘ'd[+|} rScZAb6te6'm)Mt/ H=`zVFm?̧Gv)}N>g =U9:iE2vLsE۬Tۢoh<} ̚u B.us9&Wۿ uCT*̕* ** J< F"qh?OOyGA/vKyCu_|`N0K=#YbrUkHJfwyOϽ|`%rnSyV$3ΓrK,ɕ]Axo5AҶo/z~-9=d= Ty)xx։s__u^c M>0bM457+ۊՓȺԝO2zտf.Y/-"SV8?YϼN)kEBp^?g=2m7茩<;wYy5፺e &>ip&5~*xSyʡ"!Wu4(pҜkUƟu@Sy[ڶJZc?ӯ8?H6TOt {Wh5?55vN5-qh+{Gi!('Q7s[!T_~BSEϏqo) SZozw޴!aĵya3 MgGh"9f&m[j0ZJH$d7woj٨rn nGhO>Ϳ[μӯ/E_hz&*M^ל/C! ?:-+%zݾиohLz]d]^z71!,8-? WEmʪ;gݳYVu44.-uיoA uB&\4 X`ڔзhgr\4-eZ|䙄vlga]Z&/~MAΠܧ_Y4S }׀Y'WϙeWd F(o;ocIz5%ɑ כ2d!ܡx̽NV'?2s&ЌWz%7`'I\S-c9f%x.<=.?҆EsUfNx h933ɭF-SޱVY4 +$yi@ -{:*D7Q⯧;ug5k cB2U/[ ^d_pl^:JjZ_)6us`NڣqV{dUmÈ:q(R׌Io,A_ՍM7kY_B ?'W ɾ 2*AKA8ѳ=Uu1`|> (9ţŒtTpqF=\ zyhE.Y(emPkG L?j~kQ&Pk 4. |ޫ[_Y_+ϲF b$Ir븥٬)/l+(-;}-Xj|6XAvMUس<9. |uuoA\4ffq*d1Uq[! M$+Wzx'j_ ښ=ƇzA|w_SO&'!(>bL;P k@;o@r_ tہ3$.:j9`ZU ?3̏]_6J&/!{Uǿ8,=)\b/9m[zh޿q.*ȯ y:c)Իi_s3-$٠#FU遇;}|}b~ʴ^ocdk6©c}0x8S`-g%圓 &3*[i OW&|e9W~lEonyv @V&/s4TH+I $lX w{h]"\"S2I68^sPaSu9 -[d`?99 Ƅ#N(NrlvKG!|7E{@|Es@? ~]_Ai[A=qt~9_ױ?<94_Wz&+8wMy`zud2_= uzujA?~}õ:!o8MͰ\nYn%IݔIzQ;ցӘ [,;m$yyaߟg?xUHĎ뾁 xp8|mC (= >PhMzZmk=pAh 9dȺEZ=㟂5IίC.̷q?겋ZGGW9l/΀~sPuzj`no/V{HRi)`BԾ:'"D\^˭ʉꊠzUi[f :3=/zgm}7^eKa@Od:XYG+qt2k:j/8~,cWLˆ@V/|󶽾wŵu *PO1ytiB'/m?wپM}wyeAC҃'3 g> sM9Z1ϫum|Z{+8R-٠e$z< O$3Ecos>oj1j@VR53dYаW"6w׊^4I+Aɧ6Mv=-uhX\nD~cm26GGj4W[C.Ș[Ox9RgXz-U$Cg;Nea˓+3'ۤ;j)Gۃ#]y0[mr4#c*ӔpcBY?SwҏI$͵_f2GS= RnMWđtKil XiKkW+oqɞ;!<9K49+/mMl%äޕ ihDF~߇N`ǑS+ 4ws,G9 *0N+=Du9Vv~ϗzuK 9FdQА0 Kko4BXa GA~!(7W[eύ.u_J~s>EYnv c_M~iY}> o^5i;K x1})hXpŅhg_:j'݋XyFn^LG94T7#P "pb෶[7Wr^:rbDc+&F~d9&Qzu57O`'!+˯WN%1OOO'_H|xO+4wgi${!}#=.MoA}d ;Q)g# ;WKzISGHĻDh?cy4B%Y|+WW=)c_Vꆢq@u38Ǵ–NG^M_-wR0bw@hZ'3Hz\w7h6|-/4bzВl]H6Z%[&~Eۢ2 )Qy?|'Y|:h'mƆhPmȻ2!䫯Jh/q>sG ǵ"3"ҏo_iV{0ZD!6$Dhm[99.у(j֑ ~ȥXߏֹ..Atx׿/̱hoWw{N#7p;/)Q,9/:!:unw?3f]D GѵF 7WcO{S x_XSg7 @i6D6Bdĵ Q*VzU'p-+i)֌Z4m;PGK$_]=`c4!|-{_s.yv~hz٫Bc/}_g}<m,w?M$^Yz%KI_"?ѯL.%6l2pa']ߠ0-n^l货h>۽h鷶xP-3.|z0X'=I8ƽ_pn[܄ݚH|)$urk6DnDFqcI94cTU_[ɤN\fDr4Σ6lsMF_u}`g_g[Z}46jGTFݹ3S'}Ʉ}hݩ * Dk$Yr5Z>=Cj&=7R~}h;Y/9Ǯc)oH^Ҥ B evP79tV~ g.=5ahL#D'r!42}=f ~-+ %$όq?3^\XR#  um!cEב(}8= -[&|@Ÿ6@ǡ_r0dzF&[\`Ad?_Q|a@r1">vU,DUæ_n*&`n: D>ε9-X6Z|"e4m/_ ۷ZtgʉS (-y,vϱH0'gqYn?ZJ Iօrt0{Rd/}5q܆-C whHSC{P5WqN1߻CvOnVZH#yWG1}Juw홇_u2N8rςt'nw;i7W9V(,{ x ieh@4eZT]dr$VVǯqzO` 3.$;`? hp=|L4iԗI`V\b f74)}@Ƴ}$?wӪIB$~wzY~n l3Z(p%`W]KJ'$䥶^ 3O0.ӿd~5WmC>[A/?`wjw^ٶ-6̒{^qA?鶧toƫlͽ*|O* CQT-ɍ*GrD~)J6|>D \=#CX PUl.W X++3LcȲ 맛xD\{nz#B}׳W Y-dR4zG/5.el2>trDyKד<:y m g!ZzD/j={O*OIγ p}b|$a[1xwՠ+;3͞ nHr} )N-4I2͚/.@nW.{qU>ws4, wۈWiG!` {s7x4*lyAj:zʫK!Pqr76SPg"f|q'"4rovYH(oJ3 BkMhZu ES!`'yN3Ⳋ?^> .%uBz;t}O4UYǚ{@Xs*=HXJOP`D ¤(gëW[HXr/M?N7mT6[uT 3)燲g\ʰ|Dk e'Q5u9T+ٟ[67 AxeS J֚㛿yƘ2>GF?CWu y "ݼw=]rT}15+dO_ ZfdA؁şM` g 3T2{{:m ܯsG}.#]ےy+7@Mp.mNLҼ  拷 _k 5qQP 5tRRGX!?8d7קs뜞6&[7$~lGR6To@y ׬vuZ@t̊GV89-]a,z)L  I_3ޅpxZޭ9͆N5 &#`$okP6DV= z+cquKcܹЎRʹ&ɷg[ND]Ȏ}ހpo|Kop1ٟbqhP=~gnC}[RׁݛoĨё6o!r{>'xR֑ӈ¨p2 j8o '+c:-&9.+M_ $~)moTO/BsSjI_8hW޳-=z1osc%=hWJ{EuBhf%{o$&g;go(9cY$;@óCސ(6M[nxB随όնhz,O9Mj3V &|z$gǣzs=`_ƚ廹\A#ns8<ЙsAxC4w{{5d.:5]lִyT,NG=ƣbi7,rj&+-#gт)A]} 7LPE׭UH>%-k<mRެ':=+hxyʞ̇W,{Ory矻KHXX0;LZft 78E×W|ZWܙ{CT_}4Eh[d(ni{h)h1"%&{`4Z zIv{Mے[FkƧh?R޽\FϪ 8dHBiοb$@}ha2܅l(Z =Drbl+J܍!|>qzl&\%ۜƤ/,Cҕ#iX-a+*&v_`q7Y%s.$bt,D%s_veG5E$Gz߿ɗpHl<<OvNXsȍY]N[ρ`Ѽ(4E?*Xsύ_s <&C޷VM%maB|4d9{ r^τ0zNOFk| yC+]A Q[)qNʼ9{4-~j2؆/>nPu %85jv+]bGr]k>ģ+eAgڭfH8tͻU7;MSlw:Kr~pS=0we6L/2H\EEi7L_dx iGCIl`KFfw1{_NJtND#|\j MN7` Q?[_~~SJkft_jt=M.-:rך ^W S.0 nXy'oՅ #'kU/_F|kmnJ;@ǺT Wg $Dz3x0 `i,p;m=>p 4DZ>rfX,!7:-cg21^{ߥmӝ" \ʫ06n~)E+nڞ^1 :y. ɦ4rM/7E3'{ zP90'*{Bhe5\4NV&:ي7W +)?p{Mw:oݷ}W#vm@yo3!tܩEi7lGz\ خHݕhpp1h29sXW4h[ga7ǭ yLAÅ.<7fstj#I5Yu.8:PLS^5 &0+; =J`VimU8pFA[apC /_e7Cq^C{A-6¯C[>hXڬlMŊLfeF?Pt/k`!S9wM~+tZ '^[І1|հDW_;0VשvI /!$\2M'8 ."-4KKpCԙ@4Q|Y3(>茒e'5kŁbr=YF>-Vk /VJWm챹VNmN%뵢`:Z~:9Z;.>+KើvLDoM!HKvO7痣Agr<;pf`>&@$&ߠ-zhܓc.|~4-_ԉpIӨ+YhbvE_>=~Xj++3!plP|ȥ÷EFk=kgsTy74oI? j${nK;3F/+K{w4éNpk ]w\>l5=Y>hxZvxi-qE qܿ^T^KK02*[IZ}Ӄ`~%};_x1>c@5}΃WQ2onm?cMihz7i$mԔ(uwɏ[CUgbAnwDSY-4kȓhySAMSZOZ 'ԥϤOKgx$7pvJkOBiןpōa`^ϙM]5hz>l36ϕt=)֢AxxɽfyA6i/R $Xpج<5uW@ѐ)r|ÖYWYqpm,:*A,"G'*AXCZKѸ-5i_XFYuH8FV NH[[];ڍk>U[Hhl|>] ?37и-oקa4(_dM@H_ݐU60ڛgWuuMhr׊ZKtw׉a$H洙AeK[jMI)p~ /e˿%dZg gFiׂZ{Ql5JomAY>״ /]ѸT|Eh6 h9s5G­.ɩn ヺihkⅆ|)3+S_[K{맿Iݭ }Wk5 Y#0o< ndHhy4'KB/uCgn*~Qad<zdE;y 4m1$~)nέ80w+ KI馳qk_96˷GVdWGOIYuK&E'L$ǁ:h7eהS{i]͒Qqhf I {Ԫ {Q%.;i5D?8&ͬpmG:K@ԝ־$tD]i*CøIw}-Ն:qߙd-EImޗfr]LmyB_Ҹ_9DvxDeS}^ 3LޗBęS#BwZd]o+3EGhu5SrQ9Yh\?~=r;Aca"ٓ8A.hJ׊A;fBR\rDgK79Bsw!0Q"7?Cό3rsٳhU"U{chTOy?%5\ @m)%t,\69iOOx ~Dot$'l@3U߂숚voFԫ6)O$~83x?\vܛpܲ.Y5hq]7yi7=W!AZm^!?.6Ocim;pt3yϑ0'<}灎KVpIZvhUO3(U6S]@]~}ػW uI@?e XwJIݔoZ_Z=u'F+Jc ;=6A Kya&J.veЯݚf &"犷NzΖp߮U yY٧]Tnk8rp曣J}+9nD|o'˧p;y;_|~Ed]|: x"XiqI`WΎMUcU\y]3ȟjzv5زk%4|z[[} ;6V`G.ICI\#jkDmh/|̣u~`xyS` oߚks'6-~fS4{ v2'y􋍵~FvGi1@ezZG|Jߝgi_õBњ@sa'Jh4Nhт.תz9Λ_~(ف6rWt.1K ʟjd/E#d11\ǝf!CU Tu84ެzu3Z3qиRDwb-{HoGytؘlW%Щ jw _KŝŒ5j:~y 6[^]= \{^pP. 9 Al@PECi=!p#1M݋_~FQe!  ~Ƚk֨Vu;gʷ%$8f|ur4Рb1^_h%<0O%s@æʫ-hvqnE㑹<~/좉RN䟎_tlC\Pz_/w |tUh?Y4s g<_Wx#ʠ)^d+[ YHZǩc0䶁1g$CE"wf+K,!D-?i%_ۥyףB{ ?!^tR DO %V|] ۣ/vyzk%['@>תgMaK$UH݋o< A%qhqOA'7/W}܍c4fgTfB Q~D3x־ATֵLWsHջHpղE֣C 0<-e쇐||/i*f {i' 5䯈^sX8f] aeCwe}zh{Ѳ)ؚ 5d4dWrj?dCL%,O YjIrZ~Fo`: &2f8mP{"=Sn/V~!(͜WQ`y%ـU]jFʳVOn j=;)9 5oC.vVtgPg ^˟*HѠ]&-{$5"e9NO^"&ЛfMn4} n"!!ruRe ?~uڣ èz+kM鮻Zz6n_-s{JOcfl~x*;ԍ 4~4Y'/c(y#2zSޭ2b9O-8ok^ZU Dٶj(I3 uvV:$M[@pM>hp_cT2_OL%>hF>*VYw `6s %G柞 F1O1OrhQvOr t.\ :#Ԟ5QCO2+;纒ҫ,dLczЩ:ZNsk q( ZWtkS[$5Fsy2]b ;ЏPGU4 {cmx=,Q[Obޝ` -伲r`<$ۀʜ+u<222f70d)>IF?)F՝;-$Fp5_ S2Lt)%ρsi_4{w}a8'mV{ sg&zr'Z<у^ə$Gܵ:-' NS2E"`_^MO$77]G7847颮(d*8fƜAOy)rD+亭_JIߩ* ;g?WqȊj#p59;N13FY\uLo9X~AjpX]PQ=Mu:>o~/ 5}|{3Hԙzӣwg-Q7Qc,؇쐋lv "%z:P$(pO?ZUw[(yns'.uRn?ig6K|IX {Ԁ;Rn ިIdZ3GdsԘHstvug%I=#@],UU m ?J2Bm^}M?&(bYPaLz".}WsN^i6m*[E$0ߛ%juI&K/tG.=xh;E0zQ6c!oc&toSgxZ Qor"#MuY>^zpzwVȗ",vC}knq|..lsl֑/z>ԏ-Ѕ[%(I%`>*{bsgRUogNmQu+ɓ?^h:K3fLr$tp"{LNJhRM hAONJ0;?>RU2.Knu͠pe̅A2+.=w½wǔxW,}qlYWLֹ=Y jVM^b~%onӷ5]z` >oZ5 7׻E ?Lo\#p,kXdNKu- k%8jJ إ2G{Wjo?5rS/ScLF[J܂ꀬA9 Ll24ߘ~,;]?HtId=ʾw#FMI.U6 uje[մ,أMŵ@>qNlms3](wn] ]7bAOQt,ixBٰIA[qż?.s8t|],>2ΙK_}T7X=qwVF"_c*?iunkj̈́o-LŪ[ k@ Ou(ganx=v)Vʻ IVŨSM<1*ڢ_8΋@vp$6zvouo}^ӝFpj 3fX^8z*9P#o6:2dK 㰣^{\a lۆ4nMI);iO*.ZGowi]qT˝7ܣm2d>,\9kp~a:aK )B9U1CmڰJ+78"߂6o>gHh:h]uUCxҔ55>o> lff,S'vyD\66V= [s+ω^kR/AU#G 9~{δ~}{[ʌbu5"FA}*û5II[9~nICp7K']#9O>v^qfyf1]q6]*Rr92oYd]!{)iXiyeɋj^{w-J>:3~OVIgRAo*wGԗ8Z:)=ɟKmRp87+wlyN 4I=Z6,Ҿy{Gwt"r@R$׺ Υi#} FBi)Z9qsm$W/uyi?|vJکY?-'z+Ǹ97oݨ̝0ڮqӊ Þ7-诿kȽS>DL3ߔ綦O9`/q#>}m"-orw:r.kroXF;B:!q1-~<[=pKԛNQ{4hJE!% ZS;]eJo̕{׃ Ɗ^FeL砓f6$ӟӨswlf2h !h0e8' t@ٵ*P] m S%nPH~myAYFLb.'OOo18rxE$pֲswA>=QvBB/\"3!\Ā3e~×9p-@c(Ϙ`ۆԨk֝f|Mz;yl;GO+˻|o ˙<-֗ z8,ղ5&ח&uqFcBNWrOfř5$k[y!E7~7xw 贼8o+\2ί·j`".]$9֯!Y-X9m.\0w]VrO+a0&?/9~3Z\E >;`Br^yuջƂy280N}]:c{Zn3*Je2lޖݷ~b26o{s^yPM07M|WByaIY.x]O%ˆ\a/m?\0ǛܹO;@E~TUa.e4MO / uG(%BBh7%{5h[Ws'ߵnIoةԉO애Y=%SsgsY#h-Р'!vX;Ex"u} w N('Sn#v8_PΉ1\$׍$tA9`nΜq88=MA PvhgxoV8nC崎QњV &0kr'>I`cVob,peRj 2/^I$|.]>썫(-z$\Uܷ4/ԇ~oVcz @țOaQؘ5b[&IA7]`/KGv7Atv}Frgn{^\J& &+yaFr {hk]>>KV0|ckoT%?HxS[ \;?ztg+D^Uzt?6Hqk0SHt܋;FI$9do'ƃ[2*?+?5yG߾{#c9R͠u?.5 .iij\JhD-H[2jlѠZ>j!zdk3zWmXTNwAJEGFiL$04Ue^v|$d(t57]SڟX-[s G#gF0 M@<<*3 z;^#"9G/d>u̹H/|+Qf{YLOm;Z!EzHP( LW)d{j:|b3R1a 2l/@)7j/T4ssQS%}k.ѿiGF|"y9F 'P=.Ôԫw /0 "<#ԖW0Hw[*I^}'r%Xg"E.v^ٱ'@HbqIuI$27]ÏVg(mmuxc->7H8p;#p;+FԵT \2O~23Ҏ9zt*Lnj=sIL"3cwapxQh8F"ztX$N\h#mrn}?F:1ʑc5n|I1i0wxE]un,rp'O'tC"z7"zܞӮHL]@QbPoN?{eeq&Ki]wfd#oH.hj6jFQ%kG.?e8:V;>4w?Hi> 'tͪT >R Uv;OT0 lH>[Z0LL$OOEpp4FWQĭ{k [SyWU9HXU BI$gEr9GtٲlqOk,?+V&$׽q{sP'5+ƾ$ׯ(uc]:{A|78`K"g{Sq#uC-23 mj%Nc]|s)isU'Ҕ ^O$ww͛M,u2ƌ-fAM\cn~=YJ^`A -Iqt-E(gS(,-K9e.鋪s ml {ܚI7wl% 5K])𼍆M-?z1gwǍߋ/%]{ ݵ@=?L0Еc] )IF=9T[اKں<-:jOpr,Lē[on'Ě!uOehsOpk;Viӌ_V!J^ػVMI7eQYdGƻqbMtk`%УV>\&z|cZwǶ#e8W+VΖq /?n?Q}rDpDSnr}!';?8ˋKɊWI7`OϽs7q@zW谭~ M΀zsˉdzIdZ{1v51=0Y [_1rS7go?N:nXsbU98LU*.GH~#ylϘėW9Nt1FĂ <5u[87M a%l&h &=ro_xǕݷEt٪A]$F6wϕ_{A4svב6~P/mNo(T/߻Zu5@]Xg MKƙN$'ObGӂc|ibwQ+ ^+wC%N)/'bx~}ŀS7[,ã6lpV/ 265 C3nN]׻D:):w:=WK"m^v(_=׳[5iqN4ɇ 7-muz>}b\f;MQ!Ο%y)̈́i`f%狳 *>Kf:d^R}=|K̡J\7_" )YI؏ Mi$g@u[h$7r/$^kFBcӠHn{r1nTk8csj:' +ftxD|kAճN|ꮼR_]Ч; '`n\=-3]h_q(7v_"10/o@i=XN[^u(.4vXofBo*o4ܺrɤwWN^pjm{5uo ¿&ug@A@Fo, 6$dhҷ~0/9ы?9WgH"~ (Utp^ ζY-K&:gc?%3>~~mp>}[$Fqy^OQY;r6l&xKSujejֹKV^a7OE}@^TC] fa`/}/#kirQ㳀 j;(߫1gZ HtOY6-RJWc5 ~w4opGyߞ"uyVO醜ZE;]Y$o|*V}C%'yyTԷ,Wwn6u9zlJCÔ+ik%wۂ+^L #$z%WE_N6Ϲ !Õ.k?u&w]{pg9֠k΄Ϲz|n" uƾq0떾|[ fϮg*:JG/+0ndžO?j^[9ޮM;֭#U{({[ez*`^jOtgoe}PVV&N:0Ó $POeJ;ޓT:z{!럾eI#ޡI;׽7;A}/~M3Gρ|N 'yYY$];2.0ڛyvlv9YDFv-_޽iq0WۗIWnef;/s=ª-tfѻ]XS۴[t{fo/nO؃|6փLl4Me?sm0f‡5VO#l+xO0% / =A,S*&ק{Ԋ9WU^sIx3u^-IoE'.* j+&u~ÁI4<8Fp?}ʀ9w(έƠ7'+ցY#6-#k{1~xi+]ƒQ~BE牮*JW6Cjr$MCtPُ`l?nYs˅hP#e15 %I .g? \O'v7|ax~/&tH:<,h&hlj.'_p(-:*א#bGiPA'}vH+KUӣ|<[ Q<%Մ.ُ_:pCw6|4Lށc5`Ĺ`}{< AͶ땶يޗ2V怶O ~=Q*E%}3qb0guFjTǂ~ĺdW0 ӧuDCOMy̆9I]) 7&vBr.?{Vz4}|ESIG,Zv/w0H:,{{t΀'n56xGKK0c~\pk- Gzo%d@T ,5{P]<>dUpV#r!)`keHk_N^N>)y" G Χܽt U̎lي)z3篁Gp65NqIUN]b?Gw]%WH,(~ʜw?E$o R aUh Rۡ/IJG=M-wf2=!'?H2_rp5?k7(AFqz)xtZ9/4]+"ui]֪3,o>O wWWW]ۭo@:8߭{?Ӭ;{E^4L|m7j88Rox{qƬf2~LJ莙賤oL=ܔOjHu1RNr@7tcg-;NuF([2-aѵ~: '#lZ. etɸj[[s'޹>Qtw:v4nW$q>q}IP3Cہ#uk)QB#gm|d;$/-?C Tٮ9vw7'JԡHum} LՏ{GMP0t܋.c.t;qs 7JOW"q/F̺} Y'ujxB9@a~Worg:X>I$n@9. j sGAe-qb!bq*&!x#;^XvpٚspNR GtuJ_$O^:.5m[d^RO̢%gG2'/N64{͈v @3cAuo֭B `'O_?7]I[yCSaWoݷrYx!%G~=f0&[ ʆuٽW{s;-,۸mO~bרM/sįU+esydN (5ŭdn2?WGŭ9:y$<߃ {VW7:.7Zc-vmDdcd\P.[ꖩ5Jw$gu_|^S|9Ypf[p&*n/KΜxKpoo; 8sW2}:ԓy.;|dzCg~=#V6ƙ'DBl98{rq`7-R\}w P7Z?D$۳7d>sGmv @[ɞd'A)u٠YwVbĽ+A{٪XmBT`0rA={ipJƐ޶\VU 8PMz#߆GsݾBn7sߣ %IX5JuFs;Yprƌ{{Zd=9j{'sG]ԔOgn0W{Y l7R_9nOpe KE`%̭Oz{jT&mO('[lnYe~};TUҕ I^Wq" tDx}v0^&w! uQ!t.RӐaq^wJx ػXy)8WR$mIs$oT}D#g\մq`4nDԁu}P'?Y$oth[tƏuKAM',S_tDѓۭ2T]3\OrrK-Tޜ/])w=٦Mb#*nP]Dзy-ݤjLW%8sfP-#@]S%᣹MIj&dSRHf/Y䐫CPސL<FA)V^:IhMv%e5KI> 8q'>z )ܖXGg<,Nv33o^ \ahR')#TuVNBC Уgjz}81ܭ#vk΄0Es+hˌfL":2{daN'kwM;툎=zDؙ?CoF"c~0':R VxZ3?Xp3?PUqz;;Zw`4Uxa8+& 62>QejVK8w:_uyop ՄzZT0/.EˣY|g>`6 V͚`G '.|Ot0C)w_&σ+S@9=Br{+$W<5aςukaԗq> u-*\+5OL@+̯jN8Ѿv:cuo[W?^nr k`DU}YYywj@wm`m*w\c.ً"~,r<+z8$o{ȨZM] ,|TɣڂjQ'򸗽cϑZ^n9xao}*m 油g-q?{Ng?kڶ-HGiI0S?ܔ#zz(;%VyG$orSk%絵}%u~D(p2*?l<Zmj :K0ߎeMܷXWZ \gv˨~0 zU%w^3k@=8%vtPn}bܬ :ɦtL(8^3;/z}Uޤx\e1hҙ^_zl1И9* *dɛ'&H:=$O+ڦ{:('-%GyB?G7" t7HPqYm&jv18SFIzxVGm!|Oũ@來XG0we䖂~`[A!0O9c'#wq鯎+n. xߖ3FJH| ˈ:Hx9U_Ի}dpG-H恲CrYՋcC -eec*:z@m}gyF.N;qoO.۲%qR ixMi@Os -7$@홷9p0M eׁ헾3~I9UA]Fà[SߚYa:؞K.K\?X mW&֊'ufD9ʲ;`.߫!2ӹMൿP~ ]=`D_+x1"NOs' yxڲlu` GUZ'b@'ngGy&}Vx:=7 ={Pɑ `?ZvjKW0qcG L}ےdf]#$7j9Ax]Ă^0S6gX?ܠN|}}fS'p6$wih3(x9k&6IKb҇L\e,xzݭP2_]&#|c_BݺA/y*MYg^HYaX_2GYW_p'qB 7s(m{.׾)?}<^ID'̓GI_ؤ {a]G^>GkJTq BmJӞ\vroqt8* Jolip4>%g[Cg~^q\K?ضJ%qLenЈOyMs^Ƨ|KA `ϺPp_gܘh֛7p?%9*mҖx!82f63@,8Ȳ/$tu-$7O= G2=8?cwGd\? τ$-* zf=ӿ:5#?pM ꯂZ!_4]qs@m+ [od2zTlFtЪ&A&v9'eu$OM nJbP\-c>5}5M";ϗyX6T)skkEɣg^sLP"~U(64ש[Ky7d 9 x>5&:|-|Jt2V$wB]jEa\)бwn%2>D/]*Hu`i8f$.IZ6L]\yL-qVؽ MrZ;߹s!-Q G(|IpYdU@7k!gyk|*WKz&x=˸w>obHUkN@Qٹ:HO\y$ -35j+p}4IzEpx_NB^yv0&MGy>;VQ"iҳ~yr2 ֚8RgR 2d]#kKǧ=> ڷm{ӈDPъz)>7\3}``Ny sj;'O_UfV\ WEFqvz(e.1;5*2V ܑ8=϶ԙp1Q3O#|jVa!>'?F.o{)`I򏳻@_ -_{lGxsXK`l@-^'Gf3x+̽/V߽SS^db[ A Ep6wR:b)|mbP:fSK8' |%pF*};!e&촸y=Ngwij~P:׶8msE6挊U^2OQ1t Aߒlܼ_G)U~ۉpEw Ӌ?Z?sD}{KŹUI ?+pȒsiG['V$fHh)A}Yx5w|EuU%VmWDo| tpjGI}y?\5([~_EiZVy,ײ@ٳK a~`|43~J?=Ki ߯?8/?{>Ư3qiZ#=`{WUAt@ǝ6X%u~=#{v3@5)v Kpcݸ'_9m$ 9":{-0g.S'}Ǘ3lDx/?L"gv2zKx=|\Xg\*r¼$ׯzU|H5x -п\ 3oHS2Dxwn/v(Z-V]WqT!dexyz6豏=|G:ogM|jsGա'`+@ua&OP+{[ NX\L2kM~ e4=*uj0ԯZ¹-ȋOՠϱ:oѴ`>Ncʝ=@gF1+Q7pSB5jWlUi @rꢆ>$v]#'ƹI'h,2 nϣbQ X. FKn_캒ŷdh| l .Ill6Mv :7ʵk֮ \ߣD۔:["HY M"&rKj_^o:MpѡI: {ϵO?~?s܀~z.[`o>G$j:]^L>|䑿SHjz@7 &>}h>NG{r¿,-N|{G ss`=* @GP, e#oS>EHg<OmSK◡c5\Aitp7xwˌK/K4}ߴb );xf3w:tOq&$dZw %6UƓa4$<2.ԉn~#>6ٌ*GGE(trmHix;8=ߌkYn)8/Z~D}%ͶZ-}=a̸`xyUpTeAzV뻞pu~۞wv$#ddef-dBTdhȬHv*QlQ>s}svW_}0' oiW,iyóCeؕ\Z!?1;諾j Wiv7ٕ(&\_~ zVfS xy'FGx.ޕ ӷ"Ku9]{9[^uwٴSʫ59E/O5e!򚚙#:)lw&H&N]4*k|{u3/Z$+"~}յW]$.׮O"c=䛼fh ji͟sygl:~cZ;},NtU=B.-RZ%aʫv=R 97]cn +?XmjXʬoW~I,9X3[^I*y$T.r+IěiM x<>$|ڱγ+W&] S;/E(}¹q^_,QmVCyMQ~+m]Dsy /_c%>PŞJ+x͌{6q˫W=hľ .\\Y^=%5!^6}R!/ʕWplxafQ?³'ӣ9ۣ= Iuy;lpAJngq{a{c=+:)/Ɏ5>'/ X+y]] FE.~&|kܾ@^ߘ3 ͈w.߮>^7Y ME(4^-753'|k=ՐJ,e6Iqw{dkv~Q~/nqi\9I^nBì[}NklQIJž.4-}?||>λKmX":P6F^9ejye ],ν+m̴Sl1V;xW&ZZ0.dyEŀc}̞-ꙸ($,I[[^a؏۾t$ ӱ ȟd,y׋-ErI9yuߤc:2yEtu})y{3p~ef냺%/&saw^yUTӦ Kae/kv[s? UÎ4E+Zrjq޹x6S^=1fLByQ{p>wֺ9?֩?./,¼*;iu S2U~%ӺwzOғ-}d 鋽jvʰyU OK|jtS,7"s'4u~+ީZ|AqhaTO g8oI x>שҮ}vt~ { K<Γg99hyÁ&/=@Gx P݅sG=ujN7;ć@(8۪9\|g 1 t~ ǚ8쫞o 7]` {4L=g.a#Ǻ~n^}gd|/' ٫*uyU;:ib5&i6pg0x{3m;^k{ěvaܬ񦋶Df;xb/E`.}f-)D}m?5r0jc/ n#vde|γ|j>pR>,8v0ݮ\-M݁7`I 쭗8On 珜GWʌ?GBUmO/vx[?wL6j Q[w`JlNz/Eث&5nctאW/"їAeh `_!}}Y.1 [$V -_vfm H;Usn- R^/@k#L@(eno]wң`Q|ꯘ%/.eѹ ШZoƄ~mb\A<9>Xh>H('Tq.j!Gj&źkFϊg_,Azv^ - 1[z&'G2'ᄋ`1C/4 $E@%zZ 6?g/ 6ފZ8d[thg$:':reYV 6&d_[= ׫zƮiϓ&>G@*}fTx/i><4A>$ Vݬ9$,wb51;l$xZtxb8g(4L 8ޥA>݊`A̟~ QqP3='ݲ *5'M|F[",ߞ7$v ,L3׃`|~a`sy|u;&Wg |@(|dZáa;i K>ꭷ{0k凌 PEUMYқyփ 2 |f&XT9J<pzZeXoX'm9$H.$9eܾ"׏@7bċ.:/W~t<Ʃp'+LG! _ gxT$A+@p9c d,Xy?`V!D;SL +5pl_5`d;{z p]݀q4 E>[q-psqXM< >tgp1zt8@c vs YVe]5{X8}1qdvT8n>wQG,ia]-7~(HfXʀ?cư Ds:d[iI 9$WmxxD7H_y2uu҅Oc=6^X'N9\!wl a ܛq"ۢK8?s3Iޞ-6"bz[/9]JJ_v1WQ:&Iڧ3+@viu;1Yd z<8A6.k~>k;H'4IP{\):cRp6xj7^^q~,̫ޟ m+i={#ԏo= bS @ҠuN/Hǎ( ܀c,7+~DF%_nWṶs',3;FXǘ]6H͚W٣SC `ݨ'foΘ};@p=Ywq !M_}iզڅm/sm0N3ydp;ٞ\|T3,b'͕l;U);Kf4ק~ײ'J+@$SQo~$3>1P|O@k .-*3~Jznȓfl-5Y>S Ė"Oy_6t- 3/#4+wO#s pd$pYv g3x7pf[Nϲ>9Yo KwZKkVF!Kʁ?l]c8?_^P&Wɷ_^{e'9e&:"9$'YIWq'ΕL\iVg|īzO7SOa;lW_sjOcAxeҦbY,fy>wX G'*F]w$nGH`8}4pLJo@:qI ا:8ק䕁3mv ܰO`yQVvA49`a2pKLf<GwX1 Wcd}A|ous~??I Y.v 6x_DA& }t>b:3`q;b8!♿@|yN疜Zk^eU K7FW>rXݝ%;juo/ ]QfI8TYtëZ 1S|)_k\YIr5t/,ZGu4:z kO;j"( W;#/Mb-Gv 0 ye5 ‹GQ1]@rˬ!`٬$o8Lo] HH| HzD3A:؜A>qH,{ڷRqܷAzlSF`O[h~X=!U}^&DqS2e?+VaC ˓ {N/d]I.v iw$)K wR,\rq &/L: ;>9 „mkqW؟qr ,,"nW.e{V;ĥ]zv`qz!ٜA)P{ct X_+ Lc͗h< e$+2Ɵ޻s.}qsil>UD쪑=+-A2_P0v vuO(f`iʈQ8O%=XY(NFJmb܋~D tM8q)o ~n^Ov: $ϧ_*7@tѹ8gu͛}yPyLw{$M47rAtn_Tꟁ pοUr` =5Nz]|x=l0L(uG}l⫿}?|`mEVzй H/AQvOoy657`P[g>0Oљ|ɑ_>r$:9g 8="DeO\R5;럂?~a/o\>'y.漙dj;uƲRLZdy2>W1$E},ݖ8ߪk _jr QOh |Xy끁 8•YN )B8`'NDoQJS@X۱Wp/g:tvZw$if)Q^8'jl䃤ӇC]k@\OžHDtl!hS#4vzxHqD`+hov0`a _wrp.]_8 bYW@z{&ks%cc?%uaK"@z.3lwuw1D,$@ɓ]Aůz3 ̋5 3Q%Zz@[N}>ł$鬰k--Wo}8PeZ<|Qs("?M5 iN"@xr3gPS2ǹ!d>WX?Ls)`- b9mo=P坧J_W@8q|1~]!oH\t*i.uɵ=3@].0\5@tab#A޵*mc-`Qѯ x>>xNjT5-|"b{S׾gU@d}W@~qQ֟7ªW#nb3nfz-<=wS \sx{u@<~_ -^ N[ns>]Q5/WbިY6z"?^ d4ˤGhϑYK 1CE\b?EO:DKn :K76[xV]OV%9@ 9[x6ȋ]G=ک}յ׺p//D~*ow.%=?uKg/Я/yٿv%AhزEA:4t g=3@x)qE&]ӭk@ƽkS_[e׷έ*'T] $( _0O_:g%;ɥmؗKh\ ƽaϡϩu~g:rrɲa_IV^S"Av_{ X ubkoM NO<DD%.0Ռ1ч"a7hmŚXܑTqf=s, Z<\`9Y???҂Uq᪔_0Hxsĩ ,2J5 [ã *6$yA&ĝkQ iϒ׀Pј}~-W47=HM&MK^ruȅ]@yN@9龘Dd@xGrfwg47?+ ⨱%ہ?M {ԩdt_nCHf`Թ.oXdO zz)>m}HW<ò(S1w/ģ6^%?,s@n W'N/~-aK}#>1u fkG;g=[>KHT@-jNݍ8gν޽< 8,;|zlg6Qu{ h m6cB'``=wΛۡaM}!}'ڡmX/J9wF.{KKc'yo]k5?QGpɞC\G0yx~^:%C_|tiV0*ɣ`Zb2.=1EZǛ]}}NN=!)i#N\%eư~3B@x( h`ѣ}6䀷j/0\Iz'Ÿs]u;վ^-z%ؕGn+A7H+~'EG<ƂJ;$' iviY`3pW$ܐ,ӥ3gpey0&ػ}0#`F09VW9'njA\rqpir wzx/?3:ixj 8~ϯYH~ Rq.O7,rS M}4 x+9Bb}YTE\;}T(u<~px3^nIj/A+5%C1Ȅ3.@tQl^~>aO>kYxMo䟻c@\d3cxFCϕ@l5 brTzӑ8k~: D?gydpV^{@|c w)&&4zl.}1 m#vҽh!sEyᛯـjH~ \6irຬc+ewӆ+9iWR4,|px.5x^~gE|R_ëӕ/8AW{Z!CޗBi&o }rO[_+=_Mѭ)qF ~0RJOJOK]n!__b-۵ (OW9XƜ5X',k4 aj+(9 2uC [7:, +w0s6 ",ty>w% $&DV!#UW?[4pΟ0,zo<6$pp%X$E\CH_s臿gM+A֪ ɨžM`nUʃϞĂtZ.#AX6VMq-p|:uh FK1]sKH.ٛK9GcK `67w +Odr1w(tHAu7A|&BuZT.RγWzBXBb%FU^ګm x,w\ݽŭ:,˾OÍ&ٓovW?9(>W0rmc`^3`XY9X̕@}S^}c7[=Xen8ozt ysq7,2+~Ͽx ,.C'F]+:-p|ul$W?'$1;n.2 5F5ETvwva{_ J7*Ƃpy!"Da}S cTr YȥT=Sc}cXgd1kZềƷù|>WúAg@=x4 mpIa> q;b9c~S`qwB'Ѯ\uncI- z.a:(.UI7`_cէZH}|B\W7WX;zerM  }Ak z7nR\Tq-#%G$џ]va ֬Ǒ̦O x;}=ۣ }f 7dWJ}V'DO`qc6 8b(x+Yu .bN(pL\qdc&o,oD_)>U|7vI'逼IcAd(>~|V ~ xg_^$nocm\.]? @iAfE͡]@`}^d[ѨJ,_x8 Qcoʫ2u`s pY7Wy`1MȜq_b\pGkL_H}X6m},$&6;Cw LYx xcy7_*V?yX?\#nʾ \>!& zEs?}qʺZf& AS_n|֭K2/Ϸ1z 8'lęu6_ݐ6|]`h@Xk]fkt :.~iw77sfh`^}uc`G/ ; 7쟃>mR]}\y=NN{Wa_N |aS{m~f0c w0y3j5ߺ%XX✩ E= _V֤N>'~?jw_e mC,9^IsgM֝/Y*փы/Яo7 c_..ٞgAsTw݂k0{У7;&ֿY;ϻ˵7ڵcRu1mSAW:|ߺn9}v70[Ds]~LS޾`}*-4N755) 5e?F7dϑQׅG̀W8a>=S/u=]ұn뎼7''9 8vQ3>JB+}ߗy~P] kr;KרDAx4F)܌s{`>X q-.5 3yzxV`phcH |gWAO*bbX6W﬿#UaW†|.& qU0*]0>r_1zق{D [g=ce=`([w7 8?c;:4w3JOPfw0`V-Jʻ:ʥ1{>+ !ULu@6jcɎ=b; Doj!| '/waY~=)~-v`οZ"Fi]Zҗmb߼Bex92 ~2xMA^ bϻ<}㺈5@#K =?5sB@)+fu$pTu?L>(N֔;+b);iuxOP=p~v .n? =Ly$ ?| #Uw=Y &eKW@{,eA_U^_)xv_ M/͎;'?hxcΫCӁvssϏ!_5|Kum_sk%p[?pb/9Hx:o-LfPHm5 [X;%5 O@}7m,6X˻ |7%x6+|18}]JOM"^c^+Jy$6!ήZof 魸 ó׭TC#Nڽ+ >O/49ςaһ[4| J C' ‘· 1 PyEH`a͉@; >>ejt}pr~vY/UAecz&#:HUǞ7<ņ}@xZN\'p'ͬIeoA4/>pObւp^ߏY? "}]=k?Ǿ-&a,H6oGn6fKYṳM@\Y\,O~ ^UN<~&g@,9hou$?/DX0w1M(؏siASooZ;8%yM4}A$NP LLVnEg8*@rO LŮ y(죖U6?D @}n2ڥ˧`W`j:C_o, _ ̿d$6Gے*KyCAh5DzdHDɗG؂Xc?ڑ?_l/j_1"K*KA`R/FN2)3\M- "%vp j]x/<ל/ ȽN`*=FyΥya$) s#$}sen^ύg8 ' C`~N,  oq[ㅧ@`3zqp-Syk׫%`1lS`^;sV)DD^|YesУz_^> p<9 8غrS0Vn 9#x~ײE'\@r9yu#d|7c}ĜosY۠ñ^DΟ{lx?o3bݹOm{ѿaF_cM+q?&#p_:h+ڭ\ U{ܻ/Т?s&6et'f.`)n)8 U ﷍ȼ ]ɁZ >:潙|,)H3GB%=:7Hӓ4xXraRZi& 4]yq׼~]kq1,K7J6}ݡ]P KY]\rx@JKMaƖ`Qi2T4uµ8O[RoX3g\c}&-bȈlv_:vE?;KϛN-Wv njJ`$)inr:D:{|;}8Grzn8^ Ts^Q`V ov?^,qJԫO&Ҟ 9Rߕc`zGؗfLOᯮGCqak>t;ktkmᘵ6u n]2^-ZN 2@ .9HcRf^N#.yiOrA9ҿAv .f#wCȏ6yL}a^N jTmeoSMs7v6z33@hYv}#e?qFEYth^ t;blJD,e`L3 dg% m9 ^ָ=Ʀ#_\VZަuZ,?˽'H~u½>O\V?_ZG5~-%nU 5xc:k|h=:Dٿ'b_h[S\ˍIZA#=Z Jp_滹 A2[ ؍-CJp.l2QEl cpj6Xmqzg|ŃA`>$epm o*l}7, X+?}At]0Q{=@htCA!+sa O[28X#W1'aAء7v%&ø`>Wp.=p&7〜7@M`?lG +Ok檥DtC?pa8H(sᯞƟwÃ_OO\9O^M-N1? -j#p4ޥ.<'S p_޵i1c7'wSxwfroR#}:_5gܯl]`S?w ?S=1wn6ھԡM2x-0ZMHSb*0@zQ|`"78 W/J.wem H|.|8wDon]A^dcVsCRl}~ ',uxֻ]=2S =43#K <}fvOjN ˝ 6fa_kGQ>v&y:ݥ݋QO{{ 'a7A[^,}zm~xRzw 9"!Ǣ燃eIop>:vZ ʰds-nAW~O_<ٴ<-=X7Mx}XNQ۲%,ڃ1ƿAǝ ]Yp#DQ|"0خ =yA Ze=eWeaޱMX qYfSA_WѥHu-AnI  THOzNOp@i! .~[)wj_fT7p4j*HR__e;W?gHRκI%2Ardv`wŴH-J193ϧ@zq1;O(۞[S^~|{|ɽ`qhH;^+F|k; D>) ҽ Ls~Ow ZO=7-]_6iYUA fWɝuO G/,GA楿}] 5X7/Ձsl _x; ܳ'iNގ'>6<~%n mn%kc~r ⮾o @ڵ-ytr0gQgOӧe@4l0' hZi&ѽSvGVtx*?}Ygs9ՈKIR@pk"7~&:fӧK-@d|;#_~,4[NAb3؏x dcPT.1K?,5zq.2Eyowln5}[/x@^A5,$ wO^M_.yU:x_|_8"Uw.M6<dz遬oJuOdv=HzߛU 1u+~;Ar?Zyկj$ ߑȿu>n d*{C=HѳiYbqc=|)/>Jqr |(am CkF_}_n]=ud*3y 2"acA6lș׹ Ym_2 UqS^?+gѴo7lԟg`PvCΞܝ $mx96үWn7\<;6Hκ:~ ֝Ó>wS?7,/q\ u7gE+JǸaY@{֐e [H2GП>ޜnm~ݱ l#A4vUo/u(5Ł?D46VD۳8lWT`la - 9A/p.T <Ľxl Wt4DƚyR \75jMR@ǛՄN,I_*v pjM-<=6 94 C.^S GszEL+_-_']I ctȶIB혪v[&dʓ";mzb;_\OaO/@rjęAp͗R}O:4KbU񦣁m4l_T]Im5}GNϱ! 5Ax3?ۅo_"GL| v٭Nt ?{ׁ}ϿT{3ן<ޚWAu?%Ӏ=㑣z) އ<~[2o_zMr?mzK~* =i8ןHν~x|Xe=ώy`rahØ`ʹ** b_YPB7bcoعrgh'k; :+gewcӦ8FP|~ar4mx:;zNGCxúð5O'q}2ǃ=Q'eDGzcAؿU)zQ^6/`KpJb(xێd/;Яy`g`6kz)0풹V^;LTbUzZܹ/iA,x^qqepx}ZTA:)u? ##OxGVXcs{0:< +<ې>7j!q 'AaM(bk5t%Kbpt؟ R"fԭ+ζڧMl}9~}u07>SH4p23A`*\yCxJIƓ}9v ٻohk->N? Q8y:{'7:Wr_ߜ;l.tVmA48Ua L3 ܔKu!v_uCCwN:s5& >j8ӈ9Y7+O7VO3N|h^S[,{(g̖ =F~ Y` g[ B5N l_W  >:RޖAYeM;/L+۳`>PѪ $x'n2yAe S`'?_"O<;t`3ڞ9nki4d]@bZdGf<2nF13 ,ɟs׃dłqa~颣7 $! S#MF|>ܧ \5)E?VLJuݟGpgAN4 N҅G@Ԍ{u@tE;o=,monF<QO}F 7I5x`%\Iwݤ,_޹ ƒNa q&:/V;\86a¦X7w_DbfjTo{^ 8%8 K+xUXySI?FgK pQrް.#Ar%~,hFA8qJ x.lNyAne{ ءe#~Ɍ.nǯ/ ՌfU[5~=\f Лoܚū`ʪv5`J XW%?nR5 yk?csU"j|_{眾Ri{cA㡴흁x@բ<Km> ^ƺJApa!WKخOxqn&Wyd]~1qpx_s,Kv}'ɗ,%p yn;}d\LY òcd:+@"~Un R"?yk /򜿱egAg'l{]@4~,.p6D O?Kg@xڎMeW?NK[myumߓM%oc>~1pSmus@xrMF͵|7H]f3UMGi[v3{adVtGӀNsRg Z=#>N6!^>a_""%A9}\RfSD8T;4b__E `6}ȎOs܇`g>'WtC*y]4_Ň[Z Ys_։5ށt: }in^^_[g$jG Wۓ }XoJ5㟨ض_ ;AѦ^Y ҊBϠdž`v?pK ^Z ٓ~ 3#=uQ rM?OvwV\? ځC'^ {5>o;xn- 9߳PҘV&hiyi ;fH:u }M#0қAñ`sCS{A)+5&_Th35/Ar`Xx5p>3Yċ+z}NZ:*96[l|'}]A$7 8Fbg@;{{ ̿w#1<{ׅ* 4g5ֈN_ Z {kju NOUpoS80kt1 1WgՈy1Y`ub`|$rt~Xl#{6[\By K%1hn OJoNj0`p.j.9y5ہRirwƺ7bHqӘz]4s%␢ͣ@l }3+?yNdtՓ Z?/o `j @}yӁ}ah̺뷍Pad_|DzN fQx'>?Z{u$m7!;6]}y;zPdwu!c@ iMc3r :>'zq{;3_^R?tIXo*? cCxӀf|"O2>`yl9~1b ܎f>; ]a_z=C^ 鳸x)HV}(7n} Jk}aX1ݥfB6:{,MsD6'h_[A4ޭX,HT] }|IS0cWiߌ@1t!:^} 6Z UHë::<DUN}e~ i}cw #Oz{Jy qZ+usgѳ@ܳz_kg vv\1xB? }ݏHsf6>''\\=XF~? B2AsΕg@0=2Z^<p F+w]SKzW+O=se8dAZOHj,,g~=5D|kYxq7Ƶ)灈/;pKw Ytlrjk?QÀapɟ X,tdϭW{<4@:FԛeZ Sc1>~soPڶd3税; a~ sO}=C"W[Gލ }q`NsE:+X gz7MrYܡ?Qc\ù/ꡃ`Kq ecS. Y:WE=~.pOI ᣎ[[#gAXW붿W d η ϦF'˴wdq$56Hnyb˴i,W|Vw#ɱ߲|hv ;gof/(N@9=@hp3W}XUvG|W  [pS'xL[s#j[>TzU7ɫT@TӧVz$ `\#Zϻi\/,1Μ~)֚93GiP_76?5o-Av1o{!^^$O=œ>T,oc_L>m-޹Hǘo }2vފq_UJb=䜔 k@4ͯm8wԍ}ʛ{v#*:Xw6H*;-Nϱ #i >[6jE'0ߛaG@Z(]gbQ&{$>[n 5= ٝg{˟y .xU<az89/]xp [d9H\v Kg` u(sTti=o[v [4f$Xdc' eovzk}l&z8M1wNʅ]^;{{X L 1}6ǃw#gy}C@8>z6l_&5losi.e;?1~#;f@}SkAe#ϰ X|{ lkt^ήC= eS@jtϯukt5D >X~`gN`aׇ)Xw_}wFYaT3y d{`dߤ{9H@aR6d]wha`>݇@Vgs^O5Mi僦"r~v O+x1ȶ_D Tat f.cH6tA3,\o3g$+3,p >g/(nG.o^yBo %iڡRo'ou}-`i"j-2/6^<{9 /Z(ѡufr2sN4PPP((Ț&/+#+ٕM1E88z4J s9"J>(rƺ ;#:eGt#(vD1B1&SzgEiOΧXF=Hִ}>s^H(gT(tb~og4P$3lO#~neC{rG/?F -*KQ1t`џbb&2^"8D/f< }N>CcT8~ΈՂ='ƺBfLt'XW#){( JW!`U…TqGs743(8CՂAGE~49tY-cc'Kہv`F3UدBa~]X-A,d8m h}NiObYxƺ:(Y-}bB)u(Y PQBoC:$άX'ylKwr6pnFџN 'dܣ\A)[7#q8ZcG`)+hNkإ;gQ,dj4 6:Y-|hEјe'$ 7bC?5_CV ucAŚ$Of} k* 5@&iΠ֙uGTRRh3tjɓtbu/3 '%Ϙ. ߶>QJp_4&X-\K |>) Eq'yҀksgGw  W{u7yf9 "}8~f5C w1b6{Bg3P``m`Šld:e l(`e%@>3'k7QnD\i3dj5I([tPM$c+ZX2ܽZqlr,Źn6EBIbIeoC8Pnr0+X.= ='f3bBʸN=kQ62RzQ rkJB?⣭5&#?͸u;tP1%wX{(x'\XV (cH}I2Db)LcSS:R煠3R`y;>Ze Fa & w7C#A$X;XQ$}Tr<⿕dJw=c?훅 ,xd`:ߛ`!%{1ˈ/)a ge\@tXcLYQ1}DFi#tnZHw Kf쩳ə8Ym!/V ՊimPќOVB昻(ez&|9ޛr%]6{=%kIdo[j?1t?R~C۴7s)FP:I6Yy(emH!zd{nV)yq/3;rܓg^'sWQz#:3Nv63$&T[.1lμHn{)X?$!~MHLA8#\YMs!Ó,%V}~мƞtr?Ϊz=G/ í|v20cNu'wȾ,^<]I nPx:ʈ }J73_h[#~mtc$'=Tbhʸ2jTb3Khl=1ξF/5,6w&1+ hsÅL&vhZO_ R>SO;V5w'v7 OX>n}KӄǚϮlN;Lێ i|cCEIV뼧}M#4d0|A㑩b -:uo #W(; ߫tB1b w'|]c /gTjp:C="3Q~_ -5*o`?@i"ϩ)UIQ@tZ҈ _dzTvhs*tWþDcqnsQ+Wg Qzk2֩ݿM: '>aF@ߨ0^"86T Pڷy/īՑb7'}dstgSC//}>0X6N\ee)I.\EOcSi7u?"n4wRMz5m;լ>#у-JNTgRC6\[feP54_j0h$QuRsPUĩ3ThY7-G8/hC ,P蚪I*.,nbXW߯XӢ?KRkYV!g+2%wQ!?گzx{1+u;FdQM8oo A&h7m열0M(8ǫ3SؠP%@qC2eF [=2B >K'`5ίXY;(QFx2qw]ғqAA~S8iC?)sc͂u;Ï>ʇP<(R#g2RZ]CJٟ;:G*[h~Odƽ(F>SfɒrYCy݉f[)ta?8bOď#v!ć;57E~m=c"V*(u >ΰ7STݭ3&wR:`{Eėu~j^-z76$ޔZ jt+RrJ\Ӕq5j%wtXENp63q&61bA8gwtY0$V!!T@Ajᘾ䮡ư^P>ߑ-8 mT#~j9:2^@bК9?tE4. 1_gr]x92r_7rHefDx~ ;[q:Z}PeJ6J9 էa_a[KQG֠\`~uz7ƹ,co(7{ܤ} `* F9=UZ C;(;TPVI^G{{Vl$ 5Q3?d}yyA=C(' 7QP>1E*Z+INwMcS=e9( ]d{2'zE~P=6Ci'η*P;KP1gs  wTbk+i5;P}V,wv3T*N*8,a+fܹI5> YﱩlѝNj3G=>_cJ=2K.#W)> %>QMw3J"97}vY?')ݢ~MP>k Te` QWUeq 7ژ:Zm"3ߖ2byMa;|B<|a%gR:gz5wS wjiNCRpG>#ftA5_){!JDC$.{Y-N7Suj- 軩=gDDŨ3< XF4TPYՒ `O)m6k)|e!K9(ji;:]}#n~MpDclFVk.\Ѓ楗\ Q9ݶ'b@lz@Œ5>=OPrjOkl+aBO#8=tˬtAϩ3>oe{VyZ}m#,쯨Wgt}65KS2Vo0f.ߨ{ 1pA͝Hq r9ɬޖ7gζ))MޛRƬ+ϧF7=+ܻҫ7OY# /ﲔl)ļxf-Afv*~ ^cj٢C9((Ϟ`0b Př]Ztd3؈Pd7M =tn B_ 3lbB_+s:;&ڤٓ-r:V-Uܞ#8!{ 530L-1m}u+4{߭ǘf?gψg-PψmLvlR| z =XvT`7*bD ɺ"n5 ,>t$ҌWaMr<>)4Y-\(dN^"n(QGW}+:>^ I_S ΈXOU2a/S{EU` eQJ_yx` R]8Tg?ebXs4drwb&jc7SD (؋EYO* 6[н/ (82og"ث1ֻ2|J#_nb&:.f@D2z~nor MLϦHdĈgS݋M֯oaC=~U'lPRu3Þ>_ϙJ]H\״y GĮQ(Q&`j(3 B8S^uc3Ɛ*,qRj1e; ŝ?~T.%:nj\<ڿL_ZKQg&vSf8; ra(-"ml|j#ʿM֘H`ZEKՒsĿ#WpOzRT߄2I0M@YmM=`ĎV禒83c< |^=seWr&mܒZ?3(}BX9kY8?#h.t[cTe Sz{(^ SJgNۙ5:n(Iq %OgV(5gќCq6xsŋĒN7~omJ &s:G|᫱CTFZsX'] Z3݈t-%0yR?Zޓĝ,CtmMO>3܅@s"TD!g!8u&80ISzU8Å/Gpj-tq$w$nIE4>'SK;?ңѱ86U^Nse&5ReA.t# n$fsnF`Y Y݉(E)|hf{fOJ#RGTλ=}sl)-qmŇ;P<ôٌ(i(Pn+QmDթōR$D9}#T<~>WU~OC('ZQꘄrcm'&Jcm{w/JYRX== |$]R*Vy:c'sqal;(e 6&PuTTQJPjPx%Zݛ}NϨgD>)-c}7C ()D/ZOPc!s܅Uǘ71L'P:"~`b?r-{ʧLtK%x<ʰeihܬ I (0U_1l!:D|"YJ4=eďTZ'+M&vvFRMFt|oGq.>M&}[k/}BSkh  |u>jᕻx(u:j)1T=r?Ӽi[ ^iэ(j\V9'{)_)v_oOiz&)&}Mͥޯ30_xZ|Ԙp T }OyN_?(j6=Ө=nxS=zr_BV={oLc:Tݤ# 3j1MH\hIZj28JDՐ0ߛ ^dӾGpPj6WA}_y^) 3:j8ש`3%PF㕨枾Zj(75OpPƭ ;{.z|CCM"EFA̪1Co Mb1J_ĈHMqOc*Ϫ(5 jG5\稐7fKfJH ߹ǖx7SxF@VF|B㬆sΤj8y0>D;0tu.9={=ĝpZGk!Wϕ}&b־^3fh=xVף}E ٭l{gGV*74u~P'~}@r~LҶz"_j;  (}FoٲWö￵g3VbΉN-hC*W Rgwe)yKyVs: }i#m7с:ہ՚o>@ɡƊ3P'\QACVrVmAӚOjc##qoƙ;cF(]-m树W k<@l V+VRCS3Jb{_5l[|Z*D^z+?4G9IJ>6w2'}5J+N|6Zͱ*t>kUk~Y-eNgHD zć09{h ĀYgPk7C J{ZugBM5?bT"HNg3k)c'cHi+]]XʞUҵE/R6HQCc'%Xc:_h޴#2.u'"FL}PAF#_ Y-|CG Nch0Rnۋ|'gO7cm;C_qTrBxO lmW_l4v1ʈ _s0ׄ2كQķ3959 a&gM g:3<3eJ$ kgPP%Y6ꬽa!RQ|v>A~U2% %e Z6㌩d}YX'nNk*1ggmc~XͿ/M4o_6>#mf-AGY6D9XFY0'm͈!eD/ʸhxۉ(||th+|.bi| 8Ûظa1A7#ce8k) F+p،Ut#* g3y\߉z1pxYm:bG*Yme-9(*ȳh5ǔ˹^:7w3M,C-wӱie"}6,n[NlbH|Nۻeo{3Ρ\hiL${).a۫n)j4ޒVȈJji?xm$r~i΢Iθ-kTN#ghF6>$>@HSx#6)USOq +;}Mie &>KLnL>h;͙Li2E:'_eOk6z8'm$g1?oMKf8ZU Z;oLSj)N8#*Fmt ;~w")q ;)Zq3KZI2<`` (x9X[ RK4/;4' _i['gxZj/3H.D\S:2.r6Amt}`#stϔ8a5ShFd?Icd4C LM"FG [bNߪ7 ~CbuG7o!ƺ?cD:#RuTd R9`kӜMە{gi fԼ$v>I,%')^WM:]1rTYZ׭b:UӲ|Fُ)V\İ#CE>ةEy>/4ҼȰ7|ܑjIa/ES:.a:h_SDv1{ e}MOQs[ծ{(go̧:=gS8lve _7Dy\VuձQr )U|GT5IzrG=B3(8/ .a܏Qߟ>k8oCQYϨb^|k=#+((w~>^ uWù[W6~|'Ҩ3㬯.+0>3Wk:(Ju3m5ϳ Q!P7c.L1P@OzucŞV-g5\'|QEʰYOraƝPv(}IWS8F\g5-~Vg% ? `z6׆辝;Gxkx g|&EE⢴܍Sw)=î~үĎ*楊3wM}Co E^L3bNpJΈ; g {iPMdMaME~4Ǣ Q*0܌_}>co#2 ~pBaD{:ߣx8Cyu љ91#W >I1?+)QU 8g֡[Hշ%kj?I<#6L;3 X- 8}H}S|"ϕ(OO0lb{ϴZr WPNbG*Dso6MVT̩X+}Arm8G$i s1/KBG:5Ͽ`ǧ$h,1(L!>Mc:SBuG>LYe k3jY3w~mѻUI _YcosIn{Za3܀UyJGam 쏩7|zK*.&X$|N!Im0SM* HO9^ x05Ŭ .+XZB&LlVC CwGGg&1:&7qjp"FTdE4xlE[GAft8g_:7͵4t}jMYkC:Z 5:T Xzَ"鲔Ӆ<'gе>Kٯ\55G4Z[~$SY{Л >S:Ƅ蚧1{I>+k?q 0ي񹸻Cp(zq\;,$8.݂k~S^ow9#! 2] !^8 ,_'7nwMiUV#ڂh0\ߐ>*%"ߕ]"Ja9%ZIYoIv0oIED,e7ХCBz4;A'~@u#,s2^g~{ mlfׇuillZQa#t)-Bp?OeEo.vۃUIޏ嵈.65!!tX^KF\n=N:Ĵg !=_+K.\҅]I%U.!~]W%%b7^ښhZXbps1ąv"Zoz+21Q,ʡCTKZ/bwцPS6bb*o{B-eFtenSi'5ܷ;Fq>5fDtv,@tDLt(sKeOx6?$|r>9Kw?{H'@ThU;P!Wзsc.p7WG5o3`Mʋ湐%Fs.e%r'Q/Y+љnޅe{t^k<_ٸF;zr*tN<ϿWnM΍| z^z']*E//:79G\c=aaoo (n'9?WlW )?=YDgҗD?= /~s+$g{'_aI/?t3\#(JL'òLKq-|6lxYNn]o}^Ku5S^I׽/%&lSDo}N5usc7~#w\p}|x;ˉ'uI>n~ {n> SKlcǪĘsd}>#=H1%Al .CU|xz9=7K_YkE.ȻG r|7i]cڭlջ73!9>PsK _]9W p]ͯOKN))O'`$b0(9 Ŷ{L|,9|HX'C2 @_VJϋ}h%Μgo/x_ŷAKC&]#zu xqud ]W=}IiPW1q:\)ƂO?%]_B>'qc@?_S|5GoMv_at?*q'Q |AX;g#}h Fq-2""ڳi^KP=]\^hUUn~<-DQh] 0eB4;c#y$6,.6 ];'6)|gRˈ!ӾkUy6˼f Z.6j)K/XoAG QK,rqu^߽v1Bb'N:[Du7~lA/;OL4 2 :N :})ZD| CEzNkqXEu&e+~{g1ZS^iOr|^j 5m:Ol_\b⩫UjxQ]8g7)f ?\^^<>ŁPÐk˦P&Fd,~Sr'9&\K Z8|qG`.џsq4>DF`ȁ\=ᱺ;X-h,P?E< X2x3 ^b^P-Z\S1E3?K9aN_tw9[E%hKq&$5xAbt A!grֱeMDRⷴIPb׀@?6绬o:>[ jNA{kd<;K/3F\ )$ϖH}p*oa#p,ݲ.5ŎU5!سRֱ~=J ?2b37L\xDvC Cߗ^$v,:703~*~e:x\s=$_+m&>?_ng_Gw_Ή]G y`/g3Ƒ^tuwƃ6pbU$,w'}pv=)wx=|Nk6!3`>Nbd賊Z`aCΑC\rd7E,*G/ΟcΣsLZwA&~>|':쥲ɽAǓAǀ :=N&ZqkR Ʀ"t4`w0'#`@Xh M0"眒g.HaYd̗{I_ֲ89Gh^Ft${y0&~Ϯ'8l9U3ڟyus]1!Ǟu$gFYά 1^g,bv$_O6)Wķaǂ!CͰ<ًD8|Xh"F|'X_M\W"zw;*n7+/W(O}]5D7}JR |O~0׉19 ^~O@6wɐ_ܻn%zxΨωs/o"L_&'YORû{h_1~B9`n{&L|8^1"_l{#̘~:DNʮT:_ySTg^Ŧ*?+yo9QhJo5Fƹsۊ6-}ݏ$!M2ˏ=O Oׯ~}upynw'*5"]8\2I 6爾OW6s$ѷcU~x]Ms_k;&l u2L\_/ۇwg䃡+3WJ|\%_s>SRxyIku`ZJb^ɹ$e_ij^[%YҚu~^{8*K,']}wȵ֛1Yγ~%V~O}p9@+\KX=f8=/>HݮN\,v +\/],syo)o^眎ܻ ú0k;p#d `3_S_(/ RU ќc/l߲VE]~'v\7EY|B@U^k!(`;i.:}kt팺}c׏|z_Sa11Ab @~+Xej6?#l peLwntG;w1Uo%w~ke}{+g%>5#Ytپ}&Z~ kbMXgn3$ j2twi2 ѳ&󲾗q' W({p{N~}^ċOoWopuYZzZWN_fm;.&zK,v1?B}[Ge%sR'@!5ׯ~eMZZIyUh7>$9uIrn4>q{Ͽ^YATf$ZhY"ʟM>3ʬB4DDU,QWLGъo:>+ќ^n -|+s0Ɨf}x_Y汌DmKtg&Z>}ټDb/R;9DkbW#~v/ W8U CD^tA-6uò4Y{3˵垱 d rr`/!?{́ܐlZtrૹ$XlQtjb{.f&p}Q"f}`C18R܀w/ --!aٴke}UZ?:Vj?^ ?-*RYG Qݥ^g7.ubY7.ubce9S]zȵD?fXI8̻=ˉ`"wEc͈hXٗPgV#:Jow$:WBD{ DR.R 6%@] [HtF&{k]9>q:.zgT޵E"7<<\]tFrDw~ƽ>f\Ə$yDW~<,?hvbnuʷZj@ſWݽtZC\bt\X CyG{:l+F}?;Il>9CloHvbyDGC~+ߕnv&}ﺚyIs| PS9ӧ{1зlHc _olqr'.8Sߟ#tqS4޷'vW_d8?sܻM?'|R}{Go}>)>Vr0S_q1ębk$":CM%V]\'j$¾2xwu5>_ݴ|ߎwi*8\?>:'8&8g&ɶ K$.޻I-_]όEuXܵ|} |O-XzX9Dla[㼀!dcK }vKؖ%5ooNzXC^˺5_cXcHNHW{3gG\g|ĺؤo_KDu*k8ɟSkCMf~cMp8qIתd. Fk?`{oO2ZGeu+w`ceo%kM?}Xkw>?BGKlIakrF'"mȻKAƺr~v{izXG cYq'#x\oR16co5z~{/~Dxnz>'?HmAB|C- 1޸MD36:T|:?~Npp-s ϯLA: E]75qv2nR=~s/ksjXRZb_Ornм'UӋy]+E[0zm]F z,{?8 73zߛG['wx_>x61(y4{o 0}2a{G}%p{ϫ{߃r߳~Ne7Ԧ~ qa\{<wL@y <vEDOQ>U"p^X__ E:-е:נ}@coQ-OO =EeG_-a \5щ5_o.7E'`K>;oĎ}Lm'Gq2 ~m ~qqhk Ǡ~?vxQySW|~yˈ\x|y f)+gRcecdC xa J~Cg,#|ýSUN*-)tƭҾɡu,c, *LIԢƪU kphvDDݜݷR 5 sBÍ'۪ ~ꨏϒ<-Cܜ?o|jRO shF│KPK#[mvV3/tN t"o6Yŧ?^ɳ.̙XO%g?0{/{ |DlEsyDy7D|0AE0#gXifѶ Dl=SIN>%ɷ^8-$6EOxMrjC߸K㠗+Ʊ*y0\A8ǝ|E`_5X{擜z `cX7 ?C]L65w$7ƛt Ĥ 1 >ZDk!aޢ# ʢˬ>{_(F/(zzJpt2Ua .nWMסFR3n,`0ر ѪD[Dt?;Kǚ%/D'|Jkz:.At~˾YANWEkmODG$V5&DCt<tښhiON%:,~Zh7f~z&ڴXAx {!ڔD|bLt 賘p&5 S;xcmE ~gŷ:T݃|Ga*w_}{Xq?]2\Jr+Οů,U#mNls`%uǛ ]hckf_5w=\ϕ~-Cp/f3LߜKZOtǽz5 Ϧ_汓8 ~97*ukB>5S |>96DMĩ]ŮmӣԾțՍ_um=_}WtwNvpɧ ApP`}6:4-gm{ p>-^gVa}˫srz7쟭?b{k֑kqeӈ7es77>|u[0^_J:8(%Jmȑ-MnTſA7/s},z.2~G8'ˡVFc m|JW+Il78 q} gi+Yv5>o"}6qrWywu\rq/۳^*1 8r&Nd <໰&.5~͍hw'>!08R3}o%ka}It )G'-K^__\DzV&^ hh 8R]'Y_ao&OgC[]?N:$COk/skȝ$\f..]辌M}?O\^v TF">g<+Kn 'W'~W/O@n$zXǹײzIʙ^[9{^WDt]D=vW"^P-={\&=Bzy>Vld:](vNwO=]#~sȽǨ>#lUrS]jWx)G[UfԹ"JbXWĞŞG3}o9x8ң>?=;~4*&v_)9byO&+;*'zq(Dx/3ԯC'M"/s`y"U8'.1gȗo/_c3(IԹ:+a"ȳkDLۤnBnՁoBIJi*lUqemNNĨFtD +PW6Lm")"`΋D|ʷ3=8&%do7p]O|߸MH4 @,Dmя]#:{w_ݾǾbWUtxFb}\meUX8p=2Ě`>(>yb5|9 cǏ4>~6t ]Y_HN J>M Upp~{%ѷJ{d M: 7 ;Y "o~ g#s1V=7|$9#gô aԼCS}ޔ| t?6wek ?{s+)4Nx%ZsrO%GyF_JD6c^Q'ZR=>urGj'Ğk';87rgFəw$' 6%ؘK"Sޟĉsa2OUx-XC,>kjЃ6(9$ Rj_qgG&]ʠGRK;WW?sA{=`z{u8ڙdkDzR|}> zbU85PC_g.?>⽒qA<+5ԭoh |C9[L .z,M)5<r~2Ÿy}; +PsݏQ,'=b0d_zSI~<DNqs`EV:ox3i_H>ZH~akˏ?QY=m&syə43<@C/-KDچDZ5{5mv|Gtjљ1y5:#hFD?!,j\DO^BOӠi9XL,/2} \g9zDVyzMvnL4'\_H bD9tq=};OvٲV1U 6e\'k6>7dQ{j;6#ڂ]ۆhnKk܃ wćKG!q\Fy 1+L>% f^.y*"d."oYd\1I*u15:\le?>$"_6$uwImgݸ4RJleK- u8&` e\ZWk' 1D)2%iv GVT%Zp=roہ u_ї?=g7HC n|!tƼ)CXx-#?|Ĵܳ܇6} ?)7\ƜE6 +6 2r97hoqC\ (;{Goc5< ׂN;E!krF1?`*-C.5W!&uxT\VE}}T71/RC͎j|quKs 1qam*kgxq-;evk28/'̮o/ދuk֦=^} G]g'oj+cDt毅y} ~sBt{s$K<̅A~~-6A"hw<\C2\/dsT};en8Cd9XF01~'ewmur\;Tއ({X͇ק؎~2?X;g}stCUp 6%g:>YrpSs*bb-9}{ǀgtDsɱcWpYC#do]~K~6}<㟯V^'z|t_EtDœ,̻w[#tqv]ioODyT yOw`^&zKH<'~&6_\e3^E]ޖx,dE&~O0Y׈%zEwK777i9jm~ӨC~T;?Aןs}Oo߽:!k!9ϥɛ!A|l,:^G%ƈ;$RMC},EjJgCvZ<\] ~s^>ˍyww~Ԥ9p,o;noP}\?Crq->,(y? >w ǺqGru k$'nbk!wy/CWM˥gM8glb}F,1 3&8tICf_r?`n;[ڎ׊P_cY7xQ1MC؅̷kD~Ǧ&v_uAУdbXFz;`[zNKܓxY֛a.p!y=U3G ;t9nyC~q,5ض;}3Kئ#KsA೰.Hg0 zg1= ~yqݛ]Ŀ'U#yq]$^U=v'3ٟSC49ڧ2;߁x8W1>F}2jɼOڐʫ/^'| LH4?g:r3'~tgQqѱ{6( \iзv>F޺Gw}u.Z]0 )9H5k![o.ƲʏM~~ǩGHMk?i;}&R?]ry9/N܌kp9|=A9+Ɩ%?&>f|K=>u1r{,\wXN6Y B.Sm:DH: \q}?Gʜ* PZV}C^'">lH9E 4mVYk_Nn쭼tήM#ZIyg&񅉖(0Z+]MnTқ%d_x߭es-$1oHP#y3)7}NON]cZ-e\-Z]_)_S̽Haj5Neէ$U 6/71gňV7Z9M=x}ў?x;XpD@ӟ7"{V+=QwS9 $Z?[5ӱ$zl~BWxkY;}>NoL q$.CP<6kb}\>INL/\?ԗ00wco3숾PW}_$5bߵ׊L%1esJo%qAOJ"#/ >Z(/~wq{fºuUט:O\^( 9\tv?yVX\\ܤ fb&scbr}Tn42wYȭ!SWzFW%g (wLċ9C{g/?!a- :q/>dpNk#%GB V5)rhEq\$u:E.čjyh[:3y(~M'^yb SYg_ ْh[?D%:`.^D__@tP1ǬLF>N8v&Σu6?]5~#连 bׁ~7ݾÈmw:Է':\߷>Ofs_^0EiI!:LA?/}GIZ_hc/;lT?dXh'ɏs$b?!"yr-\X_,q>yvw8&\}+ JҁŅm,WOW;}Cf~ɩ=.N><6v\:#'=eõ|Ѻ:ⵙđa?2oQrrK7vA-$vWLGNjc96^m.y[L5~?}jF_l-˵sͿQfEW8Ʒ, 2=x$qs5yw_`iF1= mn%GjOh8>.cƒ_b]/~v)O]}WɵWKWGJj@lf?crȉK>\#%X>?ag!G8jxv_'S]l1by+s؎`}5X37?ktMd;#;c6 9YN9gw2q?k4G@\I|+bw#^J 3SH{$/bX@AGNZ>$5N1rJ-4G#-n߲ k7c0Wu<`"f~[Ⱥ؈vF:@&r.+ V^Gx$x\%Q _7Zp_xB|&] ZuF\B{2ceo|\gByq*Q$6*^XWd79a -$13˩Oa:55CgAXҠ6V37i8^k:5NTW yD~6ӠsX :W5;ncSA`b]߳:٩$K"rXXxS5#'$^ٸ&h@a3Ť1Q|4чD?k د5{g5hiDݗcwJp({qy מ5!軞|>]Ѹ r>$<gb2EcQ_cOdڤi#sy ~ܰߪ-G ϽkS~ÄO/y}-/4qk4~C }[3{W{w9$7ƚ.N|X­mɍs?TOG}Ex#jо{a}{9OJ\c/9Nޓ|}äc֛%k^=qZ0ƭ@NTOamqtҗ|=Xy= FgZXŝyJx}ua5)`>VS¾S%q #?S\ >߹?/v̡|Vty9p?1\{s fGHD_EXpqXa+]*q>ע]}#kj 'Z/g2nĚq?#ʅu"ә5 qU܋:=ߕ<1%歒&~F1x  [ỠNIw hYɝB~x.{$E_q{Ǭ6\Cv: ۲ϵg/13^>9P+89u:k}(A-ā/b 5^f=!`(U xn x};>?zc`\k`[3.*wF˽Ľg΍~Fk~m v^u-$oiOνp?mtp>=Ii4I. yk5>k0|r5qmsMcs薐8,_M&1Ľky%z6k|{=>b~ {^|)ޣ(a?:qσEް~>׬#Zأ̜.KT%M־(?S ȭRdra&ÊP粗 7Ό8g;7ao.qⵑΦk}?P9Df=˾DOaW\ {I?"ovos:WrMM"y/0v\^n1JbskܳIWSa?{t ak3c- }ݏ1˳ܾ%+w8D!&3xK$hÞeg?}^şy !ۼG曰W vgpKONؿӤuEټr82n]Myw'>G{_}50KJE?[{ؚWa uLٟY\so_\_z?(S37|~8yQ?`Kx~bϱ9*Xα| g,7-l{x$BN㟏}Ϲ0 Ε;>> k&<[ǤRwDemk럕e,s59*;bN}zx |N껗嗜guAy>k 3%y?ssv9 U סdۙO$ (z^So7yê y犧 T~^F:˟5'y\#ژ>k#e6X[>xBv׹˼ bxAN< 9֌GYw< ׂOWنf%pϼVon?? >)>5z1_nfpSGi;7?qPjmc>w5·7Mw_53@*YN|B\1y\9.W$ߢ觐]Q%?obg+1Ns7NK1{2u|^>x>QNrekjc>?9Ƈ?Mqv'>-WUl >osh_ؤ7͉hl|U̶Nows,_`cБ~+Ð༡I{jD7on~4i/ԤzjʹwQwJ3[+O,K$&@}*lCD_Oxy3'>}sz7aɿrvZӼ෷ĶĶޏ$ w67I&c9ͫ@׏%.1hަ~p>*Cď$'^GA#fmvrR썱u1!yg%Ny"-nGS_ƁXUŐ5F7\ׂ@0,UIt@smV>IpR4&O+̍R-4Q;cC)zF;Nr\Y W>R#erm1c{q EфwR'_6t+klxoB}L}P뙬oKzݍO)1r̿q/ރS kP}}#ʚ拞#l:7@"O0k%(g4>@ _JlykUY7U..'D5 nD]|)~x߾ƽy܉h/}o%: hw!rwǤz5'<Ʒ}Df|w)Zܷ}N$: l?tێhw?/޻=ύ|ܝĆ`.ߑsFw=GyyU}g}S>l .~RNb 9Gs|[pW*9~'ܻ;Tn3-e(0;}0ؿs]\rᯠOC׭zA y.9Oۼv;R,s!9#Bӈض&<ncҸr|yͼ1ߓ-Dݛ]g٧~W9brF\glm`sw]eƟ_ynxȹˉ>: ~7! l7aP7OQ7?%ƌ!cƀ&zs64#zy"L~Θ O>k>n٦Ig&?gJe:CW 1fP-eƍwG^ėӄ|ߓ ^1p c-!z |?H:1/SRc21.E3GxCcjFrU;o%v9ʜ73~j_&$ ~=/}sq5bLI 6'} sO3i$.*{RݜO^xޢK̍23 y l<ȟMbg}N:FjMeHua_.}~7?X` 8},?@DaV?“rsSOrmɇ;5Da+D}e2_1ew >\]O,sV@=[Uj1ם>ko=G$&%s,5ٯ/-![g0qp2+;X4VBmFr?s"Q<y1u֌}IX]֌T>\Ώ TAGC4T7c&!;>LGD1TWccf /!N*sfD.L s'93߷YL2{_{@ Qf^\K3țD/ޗ #ĦɁoMză{fY@\&ye䙯>nED/2drCb=b7w27#W0Gd^GTN`Oȕ锷 {_sפ޶ҠQJGw2(WȋB6h?:^G?^(k8_vW'Ջ2la e(F6ʰQ2la"("("("("(Vъ2ZQF+hE(eVъ2QF;hG(evю2QF;D(etNщ2:QF'D(etnэ2QF7F(et^ы2zQF/E(e^ы2QF?G(e~я2QF?^h!? gKv]gO҆UڰJVi*mX a6҆UڰJ*ͪ4ҬJ*ͪ4ҬJ*ͪB*PiJ+TZ VB*Z*Z*Z*Z*Z******:*:*:*:*:*Һ*Һ*Һ*Һ*Һ*z*z*z*z*z*****KbU,%V*XXbKbU,%V*XXbKbU,%V*XXbKbU,%V*XXbKbU,%V*XXbKbU,%V*XXbKbU,%V*XXbKbU,%V*XXbKbU,%V*XXbKbU,%V*XXbKbU,%V*XXbKbU,%V*XXbKbU,%VP,)K ŒBP,)K ŒBP,)K ŒBP,)K ŒBP,)K ŒBP,)K ŒBP,)K ŒBP,)K ŒBP,)K ŒBP,)K ŒBP,)K ŒBP,)K ŒBP,)K ŒBP,)K ŒBP,)K ŒBP,)K ŒBP,)K ŒBP,)K ŒBP,)K ŒBP,)K ŒBP,)K ŒBP,)K ŒBP,)K ŒBP,)K ŒBP,)K ŒBXR,i)KZ%-ŒbIKXR,i)KZ%-ŒbIKXR,i)KZ%-ŒbIKXR,i)KZ%-ŒbIKXR,i)KZ%-ŒbIKXR,i)KZ%-ŒbIKXR,i)KZ%-ŒbIKXR,i)KZ%-ŒbIKXR,i)KZ%-ŒbIKXR,i)KZ%-ŒbIKXR,i)KZ%-ŒbIKXR,i)KZ%-ŒbIKXR,i)Kڊ%mŒbI[XV,i+Kڊ%mŒbI[XV,i+Kڊ%mŒbI[XV,i+Kڊ%mŒbI[XV,i+Kڊ%mŒbI[XV,i+Kڊ%mŒbI[XV,i+Kڊ%mŒbI[XV,i+Kڊ%mŒbI[XV,i+Kڊ%mŒbI[XV,i+Kڊ%mŒbI[XV,i+Kڊ%mŒbI[XV,i+Kڊ%mŒbI[XV,i+Kڊ%mŒbI[XQ,(tK:%ŒbIGXQ,(tK:%ŒbIGXQ,(tK:%ŒbIGXQ,(tK:%ŒbIGXQ,(tK:%ŒbIGXQ,(tK:%ŒbIGXQ,(tK:%ŒbIGXQ,(tK:%ŒbIGXQ,(tK:%ŒbIGXQ,(tK:%ŒbIGXQ,(tK:%ŒbIGXQ,(tK:%ŒbIGXQ,(tK%]ŒbIWXU,*tK%]ŒbIWXU,*tK%]ŒbIWXU,*tK%]ŒbIWXU,*tK%]ŒbIWXU,*tK%]ŒbIWXU,*tK%]ŒbIWXU,*tK%]ŒbIWXU,*tK%]ŒbIWXU,*tK%]ŒbIWXU,*tK%]ŒbIWXU,*tK%]ŒbIWXU,*tK%]ŒbIWXS,)Kz%=ŒbIOXS,)Kz%=ŒbIOXS,)Kz%=ŒbIOXS,)Kz%=ŒbIOXS,)Kz%=ŒbIOXS,)Kz%=ŒbIOXS,)Kz%=ŒbIOXS,)Kz%=ŒbIOXS,)Kz%=ŒbIOXS,)Kz%=ŒbIOXS,)Kz%=ŒbIOXS,)Kz%=ŒbIOXS,)K%}ŒbI_XW,+K%}ŒbI_XW,+K%}ŒbI_XW,+K%}ŒbI_XW,+K%}ŒbI_XW,+K%}ŒbI_XW,+K%}ŒbI_XW,+K%}ŒbI_XW,+K%}ŒbI_XW,+K%}ŒbI_XW,+K%}ŒbI_XW,+K%}ŒbI_XW,+K%}ŒbI?bIix&a a; rA0 wakAZkAZkA-@nr [ -@n @n @n @n @n @nAnAnAnAnAnv@nv@nv@nv@nv@nvAnvAnvAnvAnvAn@n@n@n@n@nAnAnAnAn^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^Y+ xe,W^Y+ xe,W^Y+ xe,W^Y+ xe,W^Y+ xe,W^Y+ xe,W^Y+ xe,W^Y+ xe,W^Y+ xe,W^Y+ xe,W^Y+ xe,W^Y+ xe,W^Y+ xe,UxU^WUxU^WUxU^WUxU^WUxU^WUxU^WUxU^WUxU^WUxU^WUxU^WUxU^WUxU^WUxU^WUxU^WUxU^WUxU^WUxU^WUxU^WUxU^WUxU^WUxU^WUxU^WUxU^WUxU^WUxU^WU xj^ZW-U xj^ZW-U xj^ZW-U xj^ZW-U xj^ZW-U xj^ZW-U xj^ZW-U xj^ZW-U xj^ZW-U xj^ZW-U xj^ZW-U xj^ZW-U xj^ڀWm6U xj^ڀWm6U xj^ڀWm6U xj^ڀWm6U xj^ڀWm6U xj^ڀWm6U xj^ڀWm6U xj^ڀWm6U xj^ڀWm6U xj^ڀWm6U xj^ڀWm6U xj^ڀWm6U xj^ڀWm6Ux^u:WUx^u:WUx^u:WUx^u:WUx^u:WUx^u:WUx^u:WUx^u:WUx^u:WUx^u:WUx^u:WUx^u:WUx^uW].U x^uW].U x^uW].U x^uW].U x^uW].U x^uW].U x^uW].U x^uW].U x^uW].U x^uW].U x^uW].U x^uW].U x^uW].Ux^zW=Ux^zW=Ux^zW=Ux^zW=Ux^zW=Ux^zW=Ux^zW=Ux^zW=Ux^zW=Ux^zW=Ux^zW=Ux^zW=Ux^W}>Ux^W}>Ux^W}>Ux^W}>Ux^W}>Ux^W}>Ux^W}>Ux^W}>Ux^W}>Ux^W}>Ux^W}>Ux^W}>Ux^W}+onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[onBv -[o/ o/ o/ o/ o/ o/ o/ o/ o/ o/ o/ o/ o/ o/ o/ o/ o/ o/ o/ o/ o/ o/ o/ o/ o/ o/ o/MiИ р\/ [ǎR;\q)o~rM ˻;5p=]Nf̘ &D  L8:+LrƧM0>%DdYƇ#*0>)DSde /37QhqK+?`|@? G cDKd"w1/;>D83L3E{6WӉlȭJjL*3e"3hiXt̓x,.ٽz{FUMx-wNϩ0>mo{?p>lQ͚EM3K|0>l|T;g~X$ 2('G] l<3W]'ٗ8哙ϯősbj 5Y摘0c`|t,fsʻd~ Vp?y)oIDk!1G:DmE \;8~g߄ w(֓=a| u62[Nt:x 3>#U>Ʒ#ډP"huDd :+ӇT›,-9o+oe;s4S=Sj dO =`|3\=w߅ſ{yo@FD㈎كh?4W0D"m,] 6%:&Lt(q@lWFn^8&Ѷ2Hggqd&6ME3}Brsm)}3}8^'e{b'Y33p흜;۴wEؕ1RýŶca|;W;E2?+>Fg4Gd~@d_ⵙ:F" <17'8i p8'zr]`r|G6ޮZz>5!]Egj#1c>-ǵD2H}:Ϸ D=D83>K=rn?ONt_BD/d}_2Jy?^ 7oV)_At y?|4_Ht=c^N͝D= S-{|/}9_|q 0~#D;3,Q7d~O>?se6y-q}U^Z .sVAp!n_+f!I^]-q'Cȷ[U_*{'~Mojy~(wewKf\?O@65I"cs?Վ4%⃐37Hr}/2~耸؀)Sds ?_t8?R06!{4ބeG8{ OLTG?T3Oq\ĺ'|ސؖE( &Cxq /S3r|`:OR23Ώ'ro\{)f:^DkzjFvF?[] #HI6>"|a`"\`D>}`>0>KS:"{gs2yD+gzAY4Ӈ}1_V 9? 7_t772v<[Y\T.,s]QdO|C;pwƇyHq糎 Ɵ,6JLe)9_!\ˤ0Q|@>2.2?AI}Y:Br >_p|ѹsV $~[lX!csbq{1@k!}/`4p\#>cD::@a\mƏT Ow":seL7a"Z^io?@[q|+>}[z>FtiO1pq0 uX\nUc|0<5D?80!f.|x*~x"?I>[ޚ_Y^mqW wXs]$_0O=c`Ǵ`$D /'fv/gdܠ[0~uIjcߤ^ד8 HsqgGƎNq>/\7w9]cI]!yߚ%uu|>ꂯݕŹDtFhSog9'7o?L>Oq~ž8(/Idu0;y?e㜟ݸ.߷\N?;xyo]Dk%ѓyͻ\?'OMaGI&:Rvg?fIq ɟ+L(˧GC=#^Ə];J~Qϵϩd_x{"^a_؆ˍ[N\~,E0^:Bf$k<}`!<8J޲\;띌p 8s-q(s{Rư/h I׵5kX^Mn{Yz(Zj y .޺\.^)E7eg_lx:Ӥc?>^u}{N| (*%Qq}^K|q&~EWC>?%;}N9ey!x>ޟLy/+|0 o뮌w^|qKo2x//tea:k3??Ǻ;Y'[i6814Dq{p~"ME4'0>og$<4s23>80><(_|?8/7Jߓ̧"wZSO] ۣMM-~ Ƨ#P4sOCƧEE7(|¸sEOIe̟ #O ~@>ULY&U#;[>.gj ljsüf~Ƕq(2Kf0rO>0)؋X2>Dq_+ a *9D+h= 틚\$|< BD7H{ȦU%]h_ep="ڗ ҞcD߁hQ/M"̓=ރt~%L8HAX'Z֤a|dt<&+we6!=|濩/%ڀh#8NVb0>g2y ㋈+dݷY56U!0%ژh 8gKphq9vhOn^DyLD `u?xtn %|: %_Us1**WCCq/no8W_h r6nj?H4"s["{lk\o >QC3='Ɣ3>S3x_u'6?^ 3xk,sLvņ2֗Ob_%o9q%ʔRؼ#Ὴ`U灮{.0)[ K^He-L?NtB">(Ӛq]Mn U3?o+oowrbQ8 9Wo-ѕg'{X5S{fYH>g]֝O2ϸs a]up􀬎ߝ>}>#67m:JoIE[`>FDgk?<"mK?҃wA8^Ltʉ]Kt3.$竃=fAt%Eˈ^|i":&y=Hg 3> >D ^A$$~Ï DOE™7".,s bjtKˤwsQX gRq˃|ҭ#?4Et4_'sr',Y21$?/9ogrzӥ6^7Iޞ&x);$o)2@Mş[q5K}{`9ktn*l#nFq\v8p'_)9-28t }sǙ>I1.=Or ƇD]̡!I2>?!x~;Dg!:/ ѾrhIO2&2_7H>\[2UN4Q'=D!g{&"9soCˡy%+e|&>W9 =8r 7g,?B,9}>*u/IPoܚ# l>ÉQF?y2\ySF٫8Ԁe|Z"TR<*˟ JrG=>bתٸ2Dǡ} +㡕a\w5?9ϥ5r]qղ^j@CKeuX:œ_'aܣ\.*<|Nm"N2t;I.Dih}m8GD\5x7D!: c蚌weR_/>r6Sg {!#:mOt2B2jyy8sS yq9g8rq7C;/9t^.o2CZTuXe>{.DO?=_/Æ0s.YBxc}0t^V_AƒS%2y< 9KihGx(GqΑ8nsm[~>nqN P95sam8Gp0d|-as XƁe9^k\pm8#ء݉!>9c\[6J]cyu\?,q)5.|3t\{e|6('*?|3=w{U}ⷳ>;Hc<ǝ$^dyP'H`~R}pCcL8.vVvp&ėć1˳|fcj.e$o^WeTbK{C1ٷ1^kd.ߕsv"30q 9Ћ;a|nQzb޺|ɉfU)΢9<Wre?Qe S>^i}JПqq x]Ԅ1HGqQlj^$Y|qAC>}xa]kNԜ4s>_Gtr+pp}`,zºpƹ3EƇjyS ~=y,I[ס.gY'|.`kcݓe]<|]lG|zD~ѺY}k ~ חIYcM,^&b";1=Ay|%~xK|7ySZ)'YR%'ⷩ| D륾NX͖n{zG\e 6#&D .sNqk` R{&g;u`ƭm#Vp=S2lg>0^\+ ou7]b1.W~n&{#̷;^!l86eփk[f.2)1_K5J>+cnvGɋ$oY%.CF"0.gWIa9?Ǹ%ß%$wV:h[: 3{t0ѡ0->:d> C`|~3:Uh?Xs{>g/fӑCQ7lքr%Z#J'J?K(p8w"8:LtZ:q>n޳I&|]:tϻtV'[3S56{olo|/<*]g\ r]2.DWa^6J6mNtf.} ?x"dWm0oO2{wfXޖ$>/wHL>{bӤ؎)e{; Ŋtڿ]c~s2O?f~S~'̣ϗ3?<4RaK|/.?y>Zz#~^ϴ(&){uљߌcޗ|-_AtϝOBN{a["r.~_?>c_$7JR&}f"p+59ۗ0V}2 >$':e>s( 3S֝L6|{U '|b;&Ρ7#=oJN0&17EqVͲ~/ x&cƽ\!jhaAD{tDi&j2>;y2DsDt-әrqa"3/O(c/-vFәI>mB:ݙҙ܉DO^i?_z\-Dt =H<>N6~b -~vҫ x~WLL4 "Wb*6@k]l&JƧ!y(~8sMY畎t.y<?S^bNkN$]kWToFɇu/'W%Kg'9k k٬.弆>̾tcC[xI [<Irb~?gEjb F19c̟OUr|i8N!52$1\)3I {_'8*uKڤ=A xMhgzN>@?ﰾ<7CSY)[8:eFÜ>W>[ O :˸N_/oH1D}7ƿZ> s%;3uDoxwq,nkvm(>:#3>޸g8>5Ӈ?|q's O1<]&xvfo';2{>(o.$NƷٻ9$ s,oCR:>^^$O#u'.R/'}xm%6Co::,㵿L}>;9.F|_8Bjo,rYIg6̫-%߶I#1C?p>l$qY[|p@ 1#dY~ߜ湋fD}x7ŧ9W0<0Pȼ55 { /Yoee'uWL vk&6ܒuSFOP0;>J>N{(BDg=tѹy7~|ѧD|~|}{|\o=}N[7g&O,']&$}̣fnDo]#sD}u ްբ'M_Sޕ*E !)~Gete~c"-Geb"웢}׼F;/~s9r#7y'x#E˴,@r'+nx.^A ƽs!s,s"|\ƿQTA}‡o2٦*ec)~O)ѽ{i\~,-~/X1kexd06#}UFxUplH{'?)׍ C]%1 ns>s,^'^_oixfx]Wz8M"އ<!t!ՇbsSLg=7 3n<$fz;˵t6s[a\̽by_ gק&yho|0bݾ&-4?~r s{+n3qG|p@O2RH]-|>O߈朧>ɾ uRr(; 0kKޑ.ϙxiv8|w~=(KuM3;V/ğ}ڂ`|Ai{ݻYr?3|0fh":7W&"s żG59a@A敖<*+eY.Kɧ$~ÕyG}ήصHϲoԓŽ*a+ʝCdзYhﳄOsYDF7Fkf,^HO߂߿@>K\0- 3K @O[ H 2g.>G泟>}:9M{ϔ-[{8ޥޙQ~~Iwt^߿b*YSbW%/y_7gw |웝E6'q<"?Pae_[>k5i] `~ؽFbIR_fn 6~'1|XP%CV:ߨco1)-9amQx-|p:^ub8 ϫ]J%v#?#p $9tqV/| ^xNUga/?61o臍.$6};{=<$q,oel/s.k~<⸵c}o{#柛gm!w :bٯtp}DlΙ>kH$.J>`\On%3|wS1:7=|.[i?̿VM":Vnc8r>wfF-_y4EkGta^{;PO7v9{t(osN1ҟ^ݸiN~M,[e\qIc^ga){/=ʃLﴌ'}2/x'zbX@4?*#z)cjy4/S?58cR=˛2Tß |Q|',ޔ\_or6J-L}D}CV'xa":_֞M7 VD ?N[6x ϫty*TA |!yyW?~v&:0k+FJ^Msl|<߫O1Q>q|c x*|.PL\~DA12Ӊ9|'M~^Mu 7$D<=oSbxUH+Ʌ]l'9~QjrSNV_a|[MmK'qu}~pl]\|~_=[yGkks|a[`|s'A5|-q}|] n "q O|2#1$+1̍!I>l"~[N|qIqrK[ʝ&| /&nb&b_R\\󇍢YCKj9.7^0/_8-o'cu,PG4V>+lx,o .Svj H_Vdlvsz犢kfq^ _f_$fVƷ7/N}n֡ Nj{\;e f|`^,iZ+6|]>`/.X2۟?Xxخ9duz=эDO8 Dtf>@ϗWG4s0~-D{^qV\srW)'ݪw=|z5MDw= C^*C/zyɤ=k},Dl@؝]]#~Mt mlU2BD)џu8WV}g:Ob7TGst͏ߪI><Ɨyyl{`w$oT_K3>'g2>w0^Ft]63] 1Hyܒ.\={ ύrϙ7G="xI=11:+U7,o9vIsqD]3\ c-*<ٶ=akx3ȗtFYm")͋[3G_5Fnkt|'ՓοI[~y^h|uF>zkQK2Ȥ~ףojtޯ!&&h̟|5o:IT&OߋUd?߃/xT}Wld}6roSXtB}~(}οaCɟ}aXvm?/'M9t?cυB.ϗ?Nr_XgWAj]qO=癩xO}/>dgdkX/q.ߛ0c4|DW>Sd/Շ^w_w\K4j>xn$g4Vq.#7Ľ|5 ۚwZI~"q{kY\qЍ#Ώ,9gVwImOJƃW?'15%&wy}lJ[#R}j'!8]J-W]͚St ~GR>btݩyif嘱mqS?zyI֝|w|A!Vl]@pgetFv6w0k->?_ A0F9?-k{q|!Ϸ~/FD/󿶌6\Y@:%b˿_Ɵ6G9Ur:06YN|szR|w5:׶ "3}o U6I02 ZhS-"$#㻦yOsYo%O}) \(~[e2$Zk.*ۖhɼbqGr ~ z?,}Źʢ>c"+9M{=µ$^\[dv-"9|Ct^$!sXdcb\h'=3=z"{l%7Nu9Go;g~X[x@ro7b[c/q2K7O<\Mp4c,^Pc yvY4>IZC9ſ٘*|]0&8VbI򝲸,o%ĸ8ÿ7r7å߃ k'<OϪi_P5:MN1>GkBt߼8~(Ts .=q2X"\=z?fgAt>`@c3>GoP8x!E>>i>6IOppb#3{O765F',.?ǪIkHO\nº38'Lj:DcѨ~-Ǽ '"lN&UDwzqgP|Sb].27>WKs0~Qj;?[{$NĎ2 x~ɸ=sљ?]'2n:˭DwA?2 }n 2} z}} > i_X >L|tI"Tn+p#> .o/6$CyټX^ ~3& ?.i.?*k7H?g>1xZ{2OHMp 0c^asg$O|Ox|$?0/{XxI?\c~9kx ЇqY\ 6@\*cfd]?d1^ם5#_>Ϙ?9-Y#b:?Ukϟyxc=0ο3~f0!y2`"WʵS>\un}L#):>_}K#Oz yc O~} 8QԾr_$#}H>/^]#8Vע"df8a8.JY]c^K[u|^Gb\|AVe$>R$Lmcq/h$J73O6NV'اJ=JM_Atg"ΓϤoOƿYܿ2g\?5q:"ڋ3@?s}fwΧUt)5;>>A`^6"&y/:P} >x/ӓ֑z''/JT>9>y&蹞Ș$*qBHYlry6̟W\$XswrW3W2$mГ}3q' w2`hp_\X(rOE ңqJؒJ72Xezqs| |csW7:-0nUf>׈=Yx8<"Lgj܅6벘qC0\./Jpnq̫U|qZQRraDyYWt89YߍhT!:xzљ It(ߘhg'.DrDtkߊߐa_L9DgrρGw|ַ2ux>}iË#.1np.%9K뛩/^D}?k<9QqW|'%IS?{XbC8Vr4l1Y[Y됛ǦzsѦ2\;{qj'h;u]}m!!.j[/Z>&I|C(%&u-љέ;|>O؎i>GO4Ekry8: xr9^rtԹ*'0rA05bL>Z{s]m\Gv=bƌ\/{N_1A1nL}k^5  M 5{Li ^q@=U"6?ua8A:-A/wC?nLР=fsA{3> k D|ԟfq<&s7\2 i0ՉhsS7sc?8A5 |m nN9uݠs :4oG#CZQ:Ky$~OOH4S_L.$ n`?!3WٙЀ il=,ktk,D禛|]5v؇@T#8J>B{U^jv5 UEتz5&?UG)LZwN'ӜN_|pz'TZtB{|>6Zt&o%+gڷ4`_Ѡ5<[Aj +c,hImo}ـ>7c_AC26݀u҄OH8L3w \nyj;;\Ek>1ZŌ9:D{K$'ov"Ztf8īE|5?Z~-apv:><7[y5֋#cYًA8FC?kGrE'af` am_}Dźvk>kqs+XG\N?>1';ם f(i8%pU3S^Ks؇;!q{ܟ$l9קM~pŢP}Eb7v㵙q?wx^=3ـOݺos-1֯';5=$;M?mss:P5KC|yK\ORx@nlø!XsA^sGOw1k{39x޸}i1xϹ|l'eT7gO؟ i}Y'>/GLo1~>"/yJ}3'0Uv9i..uIJNg: 13ۇmuy/|qq~㘜!e\1YK4: zzDDp,l]8g[r(>V?t犙LKa]}/~!u|򆟏ա<|?צs;>ۂ>"wD㜳l˩9ϝB~6( .J 'vgmA '0X6? |X~6iMC13 $|{><~ NjWv+οat{CGޡ2>컻Į[G3>3X_[et߿`éQo!OdqQdmH"3$OZo/Eׇ2?ޛu*P=0~t>{)B{|ƿ~M )8ɍ|O!>Dĺ>3DuŽ#ߥxyJ(IݜӞIԤKss0I&5tnR7g&푛Kљ Tωxu6N&awM85 jnl.S=KxMIy߽ |`~'yg{#KIu0tP4ij~{'3l٥Iܤ5Z*Y2:jn&VKsa|^o&׍SL47#-{3 8?Fur~ 5k7ukM:{!p>ؼVo?'d7ߚmօ;ϳz{o;#;iI] ͖ƽ_s=q~fw>4MazbW\G?,8ѱ^f+7.y1=_o6D~viQrdH;὜Ǡ~,q;'#)L͟DlJ^;Jvú _NJnbő8; afW^sOğ`b\a8޲V!"k y0']+o1ښ|d}5g.3bq~#:k1$]6Έ [y~(ϡo a.ƬkHW4>e?Zόϼ{&ܟйq珓oyg.#a\^W.IqF--xc5^7ۜf>!?{Jc%0}c| ?cbfi]I.2J|"[4662˾/ٷ] }q{(Z5{w=臨:Y^ә']2OF !v!ڍhgýO5;}p_>D_ܝhO̎&yJx}__xs=]?<ݯ?9~?|˟9]|m_l￝mukkWi?s{=Yӏzw2{Wn={N>9g>LJY꣗^O{[o_sū5_?>|'xq}Ϸ^\m\׿63 umeϲsŮW3vgss"<ߟuwgWk۱{pouޗs{ov|vM?zߑp_ݗx~npl ?|ux} ߗ?c>O|zŻ^t<Ϯk/󄯽]Ͽypn~;nǩo'o8۵~ny8ox<_|s>[k^,~˳~~ss~/|;7G^{n#=x|_s{_g{u}Z./˧,?xY.[׿\z]ggW/|/8ޚ,?^}x~?~'.۾q^es~ys]_lop,xΛ?xy}켾+zܮ'ϛԛ^:tMm=K^ug_[}>.y9u$3}_98/\ulYW?g|ٺ^㱼g/z=ù}ގ~=g^>>_|}_}y>wO>ׯw\{O>\t{x}}~oզk{n}5onO/̾C|o/³GnϮ<>ϲZ/ޞn<rl/O{/.Ӌٿo_.˗^\y/~޸}[yy\;5ε:ڹϵqsmk 38gp9s 3Q:g9uΨsF3Qvhvhvhvhvh~~~~~qqqqqyΘyΘyΘyΘyΘuXuXuXuXuX}}}}}O3u}Y=JV+-=#3+vdڑiGvdڑiGvdڑidFidFidVVVVVVVVVV2eZ˴i-ZLk2eZϴi=zL3gZϴi#FL62mdȴi#FL63mf̴i3fL2meʴi+VL[2meδi;vLۙ3mgδXB,!K%b XB,!K%b XB,!K%b XB,!K%b XB,!K%b XB,!K%b XB,!K%b XB,!K%b XB,!K%b XB,!K%b XB,!K%b XB,!K%b XB,!K%K*T,XRbIŒ%K*T,XRbIŒ%K*T,XRbIŒ%K*T,XRbIŒ%K*T,XRbIŒ%K*T,XRbIŒ%K*T,XRbIŒ%K*T,XRbIŒ%K*T,XRbIŒ%K*T,XRbIŒ%K*T,XRbIŒ%K*T,XRbIŒ%K*T,XbI%-XbI%-XbI%-XbI%-XbI%-XbI%-XbI%-XbI%-XbI%-XbI%-XbI%-XbI%-XbI%-XbI%-XbI%-XbI%-XbI%-XbI%-XbI%-XbI%-XbI%-XbI%-XbI%-XbI%-XbI%-XcI%=XcI%=XcI%=XcI%=XcI%=XcI%=XcI%=XcI%=XcI%=XcI%=XcI%=XcI%=XcI%=XcI%=XcI%=XcI%=XcI%=XcI%=XcI%=XcI%=XcI%=XcI%=XcI%=XcI%=XcI%=X2bɈ%#X2bɈ%#X2bɈ%#X2bɈ%#X2bɈ%#X2bɈ%#X2bɈ%#X2bɈ%#X2bɈ%#X2bɈ%#X2bɈ%#X2bɈ%#X2bɈ%#X2bɈ%#X2bɈ%#X2bɈ%#X2bɈ%#X2bɈ%#X2bɈ%#X2bɈ%#X2bɈ%#X2bɈ%#X2bɈ%#X2bɈ%#X2bɈ%#X2cɌ%3X2cɌ%3X2cɌ%3X2cɌ%3X2cɌ%3X2cɌ%3X2cɌ%3X2cɌ%3X2cɌ%3X2cɌ%3X2cɌ%3X2cɌ%3X2cɌ%3X2cɌ%3X2cɌ%3X2cɌ%3X2cɌ%3X2cɌ%3X2cɌ%3X2cɌ%3X2cɌ%3X2cɌ%3X2cɌ%3X2cɌ%3X2cɌ%3XbɊ%+XbɊ%+XbɊ%+XbɊ%+XbɊ%+XbɊ%+XbɊ%+XbɊ%+XbɊ%+XbɊ%+XbɊ%+XbɊ%+XbɊ%+XbɊ%+XbɊ%+XbɊ%+XbɊ%+XbɊ%+XbɊ%+XbɊ%+XbɊ%+XbɊ%+XbɊ%+XbɊ%+XbɊ%+XcɎ%;XcɎ%;XcɎ%;XcɎ%;XcɎ%;XcɎ%;XcɎ%;XcɎ%;XcɎ%;XcɎ%;XcɎ%;XcɎ%;XcɎ%;XcɎ%;XcɎ%;XcɎ%;XcɎ%;XcɎ%;XcɎ%;XcɎ%;XcɎ%;XcɎ%;XcɎ%;XcɎ%;XcɎ%;Ӓ7\zzҺ{h{h{h.梹h.梹h.6m4inܦMs6m5knܮ]sv5kܡCs;4whܡSsN͝;5wjܩSs.]4wiܥKs.]5wkܭ[snݚ5W^W:!yuȫC^W:!yuȫC^W:!yuȫC^W:!yuȫC^W:!yuȫC^W:!yuȫC^W:!yuȫC^W:!yuȫC^W:!yuȫC^W:!yuȫC^W:!yuȫC^W:!yuȫC^W: yB^!W+ yB^!W+ yB^!W+ yB^!W+ yB^!W+ yB^!W+ yB^!W+ yB^!W+ yB^!W+ yB^!W+ yB^!W+ yB^!W+ yB^*yUUɫW%J^*yUUɫW%J^*yUUɫW%J^*yUUɫW%J^*yUUɫW%J^*yUUɫW%J^*yUUɫW%J^*yUUɫW%J^*yUUɫW%J^*yUUɫW%J^*yUUɫW%J^*yUUɫW%J^*yUUWM^5yUWM^5yUWM^5yUWM^5yUWM^5yUWM^5yUWM^5yUWM^5yUWM^5yUWM^5yUWM^5yUWM^5yUWM^5yUWM^5yUWM^5yUWM^5yUWM^5yUWM^5yUWM^5yUWM^5yUWM^5yUWM^5yUWM^5yUWM^5yUWM^5yUW]^uyUW]^uyUW]^uyUW]^uyUW]^uyUW]^uyUW]^uyUW]^uyUW]^uyUW]^uyUW]^uyUW]^uyUW]^uyUW]^uyUW]^uyUW]^uyUW]^uyUW]^uyUW]^uyUW]^uyUW]^uyUW]^uyUW]^uyUW]^uyUW]^uyՐWC^ y5ՐWC^ y5ՐWC^ y5ՐWC^ y5ՐWC^ y5ՐWC^ y5ՐWC^ y5ՐWC^ y5ՐWC^ y5ՐWC^ y5ՐWC^ y5ՐWC^ y5ՐWC^ y5ՐWC^ y5ՐWC^ y5ՐWC^ y5ՐWC^ y5ՐWC^ y5ՐWC^ y5ՐWC^ y5ՐWC^ y5ՐWC^ y5ՐWC^ y5ՐWC^ y5ՐWC^ y5ՔWS^My5ՔWS^My5ՔWS^My5ՔWS^My5ՔWS^My5ՔWS^My5ՔWS^My5ՔWS^My5ՔWS^My5ՔWS^My5ՔWS^My5ՔWS^My5ՔWS^My5ՔWS^My5ՔWS^My5ՔWS^My5ՔWS^My5ՔWS^My5ՔWS^My5ՔWS^My5ՔWS^My5ՔWS^My5ՔWS^My5ՔWS^My5ՔWS^My5ՒWK^-yՒWK^-yՒWK^-yՒWK^-yՒWK^-yՒWK^-yՒWK^-yՒWK^-yՒWK^-yՒWK^-yՒWK^-yՒWK^-yՒWK^-yՒWK^-yՒWK^-yՒWK^-yՒWK^-yՒWK^-yՒWK^-yՒWK^-yՒWK^-yՒWK^-yՒWK^-yՒWK^-yՒWK^-yՖW[^myՖW[^myՖW[^myՖW[^myՖW[^myՖW[^myՖW[^myՖW[^myՖW[^myՖW[^myՖW[^myՖW[^myՖW[^myՖW[^myՖW[^myՖW[^myՖW[^myՖW[^myՖW[^myՖW[^myՖW[^myՖW[^myՖW[^myՖW[^myՖW[^myoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷoG};QߎvԷԷR^K}{o/ԷR^K}{o/ԷR^K}{o/ԷR^K}{o/ԷR^K}{o/ԷR^K}{o/ԷR^K}{o/ԷR^K}{o/ԷR^K}{o/ԷR^K}{o/ԷR^K}{o/ԷR^K}{o/ԷR^K}{o/ԷR^׾ś/_xg.~_u7n۾?'M>uO~]=w}󮯽G?ϲ믞C^|$nUspdep/data/columbus.rda0000644000176200001440000003250411716033161014622 0ustar liggesusers7zXZi"6!XP5])TW"nRʟX\qjnj-& ic֔h o90 -MI36ĵLNO낗8JʯZǂQᤢVȦy=r|2"ҥ1 V 86 % M3}t8oOlhw" ;CsCqVEJYU<^hOnM;62/F4_OYT^>eoq;ҔVX]s]$"p܎BfĔ;c250/Ũ͛ *;DSɛ.`ZWsm@o\y_C)S=9qGn.귯9) =|2)"}%T(wZ1K6#~K4J&ipl}|a yf3ك/cܞJT97>,Uzp QmG(;%|Jn3LIfԗ1HmyOకi4KJzaBY4*i/+:,.ԛU/ǡo_ QxGcNb sLYƦџ\fD=3ux qWVbƘ㦗8ۭ+(&L˧zuyI{ г~͢/3 ZZqڼ D(킊L' vii*!߉Hc7ܓns Iȅ=&X $@WaP&-q !~0G4#"3 6#H'VА;U垟 JzUcD`FztN؂K!2x>@4M'4~5*ˁb>Z\+rВA=xEoù4w qyy]mD_`6UcPjZb?:t-}Bǟf6궁)"}XNZݸIt8Ahp7bogE""vo0Q?/$wiS$1/:+'b5smե ֆkZJμJTiC,<+U@!S#VJGh}̘K^@4׿O4ΖR#q= 8Q {ʌ}IJDl7y2"RbWҳ\YqSo-k`qfL1 =B4tg;|6?Ѣy@%4E4DDg0o O/p{u}%8fG ]ܦUX`Ǐm(X&Fb5LKT ЭL~U6A &E*SсGʣ Dާ0mINN؉$hru@E]ƒI^7,ۃDR 9rXDž V?N cuaWe2fCW$T3 ^?Zu`uՊsb8 HFf kwT?>^Op32y?m5|MZ AQdFTFKn(lY9PIc`>3^@!I3m$`%x(,lmRCSlO" .5A+DGfC:Z|mGMf3Ae!(JcDu7 $Gb<*bb~@blOS'"S.Hs>VEE;ԪߝVm;5HcNZ^HL8XGke@TSj5+tB6ܬĖ|&#Is` !lUsW)(!l|yzÆ9t8\iK@)i\ >dE} ߮ܗi;~LpͮLԌ3ܵ: _d"xt kSßRl'dg&t3CaT4B_8q9/_ vyfe5+t |ſXcR7Ut.SNOUtO Qp(u0u|B[zMk\LE/gQRwhڡKx|oz=-L;YÏ㾳Z[N-Pꜯ ˧Lр`*8lqpZ'=fRAdR93^.ʂ\ڝyOH@& B`1 ȶAO%D{D.qHhJ>#  SX`#"a Be.q~|z>[,3y+mvd]VWzr?|ΥnvZo.g$Ӟ^Li84PA 8R lю 筅x1­8 Q(@F9L<`' "݄:~<,q?J^|hߝ@M)MIl֝p&o!54t&Dfd}~c!o_ks Imҁ㑲F9ؿBPЊ Y^˧a(V<6q͢ޓ [h-&5+>@]n6Ssu3sk.wۨd&c?iU`_(O?-OJŽ2щ[x![]GV,Fg&4̂\҂ipͶsy㿥p`D hb.b ҋ){LF=-X42"95 =9yۇ~a\b ]ˆԳ]NI#wqlH3n,^U PQ 3A띭;h٠ZiMX4%Oz+Ufc?.;xt3>WW(  @YE2yhCC5zﺋXD,d/s}If G "y RpYŰ⿈rx9z(IзmI~(S:=F|:Le`CN7hʿpRuz7i{*eϛL~h$du+VD:v6z&mT/nx< X-9v^Z0uW7mȿ >"!kHn #XT ^|@`&03q&ÚEExra!´v)6p>\tpztѨ &cXakհu79t<཮$Rќ:21'6zWE[ڊKZqzd nX-|hT#3J*[B%c)}#I{AYU©8j/d6Džs2̓ZL \Mgd`IVww2%l{ۄ9߿Ɣt6V)?qZӒݝ٦|L¨%;ˆ:X0RЃNJyCaα|Efje +2s6*dIK Vƚ)1[,roif Ttwv)˧}_ :Y{ţA7סlH+(x~Qd~6W9c=yt˂Þ6-`y%ɯ?$fGi~iM%z󉒓NKZ-&uWAOzeо/ׯ[Ƒgj"Ϊ~LAd/t3U1. j΢x{z4Bl)F= *#}vR*uI"SA_` ĦIE~ (tEgc@XL>|/2Y&g- h`Kytt>N?j9k5> fViL;*bo"?7'FJ&d⒈L7p a)/>bf@_ϋYC͹N9oe{Y=11آ N8y<.`f?k*  B}#!HKG)>!( 9 Ab_R3@?ƚzFÑQ# U?1Cs*l~AH"ʬ<M͔T*#W]4VƮvSx E}>bnOu͑zх~gz1ϪV(y<-@({zOD xNV4o݁ov;ǯ/PS + G.oZ5ț#8$zQN5{~M_`@{y*( n;EEMQ blT-?cb֘Qإ1H] c ,+N܀\|J̓\A}c:^,"}'AۮǕZɳ!Z-g%jwPm/ȟn9ƺz@=an/o%>GF+142ΘrAKf^~< ~ 2hN n3Rc^ȏƘVL~OKJieyna 6L_վk>uЮ N8-4(;H6U:bXt ~V5Dd׻cH]EH ^4,=*(GJw𡜰-fc.E@D/:+-&hP /x`!LD=)ϦeY~ j3 ۻT!ox\$/[*rD C!ZƓyZBuY?+ !`m,YY1tcҹ1xw;B"&+h~mĩlkW-Y?ӣcjq\;]UD;H?sբ!\'҂Lk20 kdtgHXxliI]1D-=׼s/Z֧ !`utDh^voee Odm+H!$PGs6]A(Pk{XcJ(PUU;g rlK"I}J00 =tïawqXEoc `=J&Â1KHeQ h{<2jL|1BgB4t gOK6_XCd7$_f 7GQWsAJ;8P6ۅg!?'݀Askf, ?Cl,% 5d=8}%&%h*w[vtTKl$Im:gGaπF#a 9C iZ Nl}~cz Sr4.eU ,\ocTH9u˧oY}0 4& /AcrE8}8rZb4D 0&Lw@E5 Jq" wHEOA9]PEFL3GED2ϲj1%dh""iMgqg?;,c q svck1yJyj^JcFg`lp{ǧ QL@NтF 2ZX=Bw3=X ;}8~ґ1mpZ``ѯPzj+`TrV0X{r3!'߳IN1׭>ed<Ն}Ζu}H<?99o~M/ ɶctaͻ-P)#"#*?&0b)C+iM ؎LrB}/oqvgb+uAp9i8).Vpk-K G )lKWV5K9q떇Hܫ&aiP0%[s4lR}ntaŎucy|}]>(6VD&e ~x QBɂݘnHyG r=tMv׍um"zUe-#B< >{y )"w.yz||N|w)_b'<ϸfGJ%m͛Tf5CW *F)@8ea$}bq@;Nk6nSH/=(S˵G$z. A<'a VC*XéJ LS{~b/,5KO_x虆n:\ BU:>:A[8S+K}O,ld]_gFzь}o )>nR^lEl.AE@8PZ~U[ .UO/Pk*Ye2x&m8rtԭ W4|2@.F+" yt^ #@#DJҳ^o=aTbMViבMR^)2bhbCsۈCt+T)eDNb Ӟt K+y0`l>*'KSKTkfɆ}+l~(HkE if~eV|>|l8GMTlg,lh޺4߃U\RJˮd\B0>SA [+gmt83!a]HHqL%Y x4=-q4'ؕ8G%oG= Wj; 0tW5T&  8O32xT%yN2jBm׌|&m05o/i5>e*+Fpm5% 1U{oe XeH}TFCwsb_-D <n*J p{l ~?:T YI$a" p*S9OBS5͜돭~M.əi0'ف+FٔrS`"W:K4, $UܺTUNsAAR'nBKyšFf&gIf a#Ґ.ůRcj [4i0H،r!l>52#A~mng R|S:."8c=yI &vۚsBX5=y=قEg"XY..H^#lq[K2-a-6~ڊjqb+4&2WQ}!!5 Һ[&|l&FJ|=~Gs?;i {? c0*厑/t h^ c-UMVF'"SqWc.[xfbB]OՖCFg Ys1Cxaj uYԶzu'33< l:Tx򜧏_ ntĥۺPTP*6Ɗ_9MQ;nݪPÄ9xԪGe@%C(bB>dsEy[Uy2 ;㧫hto' $iZ]/#0(~CRU&VCP拳b/ [L33Zg:9mϘ"+"Ncϥ36DDg~&G\SN&23-/ 95MI1u/X2dAgK|l"&v &0QKʝi W9 I ^xYlO2E)B{?` Fk-rM GNcMb(%ar|=%1q, hz"BfjC@ m`q]|֖UE߭\&*4̌E㝇%X7,k'vOahtk.Ͱ^gAIg~L r+a{?I +'덢ig?kZwkr+kzsnnm> 4hT^lt%Q)xVd\H!DM_vA5icEVgy7!]FbڙdjsHtjp?Nbeàh7 MF0[0klv/<_odΉa2OHR(t{_:flq+K7|nSJb:e) [/A&haԡ-i?$VZ/d1;so4-w k$jls'\N)1Z<',݈ۚT_)Yk5ChUJs9Tz>yV~w1{ {> =b j>b-N~ms*8@K=x9~{>6~s H8CtCxd]rqt IG3_J^ Z%"=}F\irvE2b8J͈ }J^Asx`%'wX\t#o%ρMVLSb N2׾$"?ϛsa㌇ )xS@R}-v+-!/UmO%j/cC: lY5kĉʼn@ I:4Y%mnƣu Dgc%ײMpvJ`̑p z?#A H|^<^Lk:]͠ýzM٬e Ɍwī$jgY&P~Jڋj9 :]xd3ܮĘqݷ%"9jW(lBOSzHo4!!vy`nZ dMpp)$`׆(V<o+GIȲ3DƒJD]}Ӵu- x}Q ȣ}8|q%Kpk)"D{X!"~w0ť]Jpq[NR@r'&C.h'DՒxNB%BԒ39]jtUgIMȣ1eZkBJK2g!+npY:4!tsR)Qv alFŲiM ϯ˼Gu](s&ZE45b_J*ĿwmS @mْmQt9=cYOC"+M`0};&D >ej3Hi:0.uP,&X=N!>K̩ڪЇcڻRs>RTt{210ҲXٜ*XǛA;Dn EfIxD;z>C{V Ns9bͭ .;0bO @+Pӄke;ýNMfo9g979n=wm4>CDx:_ƬM.7\9!Ժո%~"n(mFxW=Guթjg8B*ym)J{t[f_1HG41`//dH *i~@IW\D@kQnx:?E#qB3z&s#r!d$(Mी̯kxڣgXB7Ix^i qּ2ʚ,q|/i-}1GcXIAwk:lu<)F"aKJ೤]G55^1"mD \|Grېjv[a4>Z"@DF͛j}@1X~\-!ORYx4z_!6MjQ"@iy"?;e鴾zoTSy ħgj;˦M迣?)LkVwZᘙ5|,7[Z߿$T>Ÿ(\\BZ]lʰ3PǠ $)}]&Q8ch%TXyk<0IT>Ӳm:P7#9QX…՟DMxhoywfq[cd6 D< Q-*QqYOֱQ'sCmڤ>b +lٚ'lݘTT6u|1H,PL%y>mu3G݁\٩8mbv[/LHgAPl>9Gk z(t7F'qԍpNFO!\+R-DZQY><ǙvPYI!A0r׮dbMuP/5wu)Z^ 1MI* 0ADURR?;TZ;z'q!ji8ĭ5twEObèd-ͲOߙXpd[T[ cbؠݎ.d~My7i*1sh^(&)w6\/B!8 f%,Bxv ZQIfG ;! p!)92' DqpٝK; ;`eE$a5Lpjz>0 YZspdep/data/used.cars.rda0000644000176200001440000000177511716033161014666 0ustar liggesusersV;SSQ>A AbdG;#$anK`qƂ`0cR|ԙeٓpf0**Ш ?55mYG98|i> '4uh[fiA؃{uظ3E;8zqӚ M4B'ZkGsSk9Ml&sY&}ni7ŅG |m3uk~-vR`G0 F]'. 5k,X] C '\)g^)?nȞ"ׇFM`.iv_0w܎ZN;ELX!1$38 L/qW)E1mzNoSNiT{:nihNMs}n7؈y*>EE}{~¹S.)RϠǭVKy&8KY$M&X&i6Iw.G ֑K76,IlMr$%#,1r\skN1^j{,dJbk؉1x~ItQeΐkٗ//qiΑ-@(+E׊OJ`(N1a5ec6+W:f~ړ}CFIo=kY_xuW}%5<.sN9W<14ߥ̿!kۖρaϾe Q硇_<ιϰ/<>?…>| o>"<"<;oy֛ӤnC,{|ݐ8[3ny8;o{ YB#>{/^;=sE\_ Qw-ġߜ>%o?OkUT6xn)LF]/-![Cߞ7mN4l8?R spdep/data/datalist0000644000176200001440000000072713152260233014031 0ustar liggesusersNY_data: listw_NY nydata afcon: afcon africa.rook.nb afxy paper.nb auckland: auckland auckland.nb auckpolys baltimore boston: boston.c boston.soi boston.utm columbus: bbs col.gal.nb columbus coords polys eire: eire.coords.utm eire.df eire.nb eire.polys.utm elect80: dll e80_queen elect80 k4 getisord: x xyz y hopkins house: LO_nb house trMat huddersfield nc.sids: nc.sids ncCC89.nb ncCR85.nb sidscents sidspolys oldcol: COL.OLD COL.nb used.cars: usa48.nb used.cars wheat spdep/data/eire.rda0000644000176200001440000001624411716033161013720 0ustar liggesusers\yxT&R eMB{BfeʢVJ"j]J(* (u)ZpW->.73&qh5igr,s{~ݛ;zFJ].W+Meȿ&_ȯ<_ =]c]_w+p▋MyϪк֌gJY1ϩwKV]b'nf\w*+>muZVfY#WVE{AsڻV8:yv Ҳax^./+kO@WhmVU֠[NɒXNMٱq9sG:xr#o{?X~b9-?,wZ,w*w\}N}-碭H(6N纫bywa껱u>y[oY~ou=3z3i@sRBppAJ4I ] U30\ 2WUjj+G#bH1}>RL)COf]ywI82e$Ƕ۩]Z7tf,5C͆Veyauc0Zr##^#F.#6k6G;Ó]G_᧰mOAQ|Q*7X]f |jPvwxq4VK.{?6ѵh:^^tDIT;_zϢCt_E7չy|UӒy݅i &lGZ~r0Q:ŵvׂ X'&|&{v9jFi7qo)nn+~Lfw7I|!^2hi^;k>{-ƙ:6l_k?R˵.4aqngwRAoiy0п/O“4^j7>CjcHoQY'IQ\n:B avT۠_~M(-f& |uEЅ;CUO`b]V2蟾U}ǡG=S؟='۟UNucا*r|fL?͑S&گg ߿}큞 L:Er63V^i..p&mT`IlQn/Xx]+-9pM+Ofc=9Jf%cRM8b(b:Q+G$hJJc|0~h㨠V^YLA3_q/i$᙭t~ଥyeu6] *g̳IJ[y?I)Ӭ wS|s^sQ{+U$G?a>e(,&d\~|^ yugv9Ug.5k {PKTTL#ڦX՞yp%ک@#<FE@秴b(* ={y6J菉&M;{>8g.`V6M97gC2aLtsȏ F]ǶżdjS1_J7]ۏܢ@:/F.óxuJU$*…KgU4LrUTKߓ'}PE'_P#0r”=@e10NV'.SY #029ʈh="z2R,p4ֱh'#0z.ieMd{/oP~,=Mz8uG=pcm{#NVrF=vܝԓbԯ_C=Ecbهh?€NZ WA}8Orw]4$FeR,V'f5+L(>*@;nr6UL)38[|ПSM/цyIwz JN Qc4_Pө0C z\u% })83+%ZI '/#4 ]BG4:MȫSnEOUP~6.\[j^ 5W˞,}C<aT*|˧.|%{P߻I,^Bq~-_xA1@{tq* K(*(!iG,j!scE9-.I;:.oygɻ&oo;'mDډ:% P5!ʌD4g#kPv!)11q2;і 4~t^Fy[2!-e ū(~eydǐ猤e&'0&R*ImUoo|U6hU//b5|&4}kCiEKIZU{NUK>_zP'Tm fl!qf__FrD\Ŵ#Bw?<ԝ h)Z@$ZN3c5= P3"f3cVHhU.PT+py qRK<ڍRwd.Rs_5:j/+//͙?ByRu_ZDн<ǛuVq (?GywOdOgcCk&HgX9m,rY|CsDNWމc^sǠM|O߂]7ĘAϭLzi_L5~z35q>(N'q=jϹq]ݸ0JʑU+.@JZыYawu s}y EWA^y䕐B^Ԣܔ{ y6U;_%$?=U2!ʹ }Z#鹎q2/,7&ݖӃ圷9S;+˹YEjJ{*1!Xg'\:@| v,f~!"r_y6K\Yx:?q\r*;';-fE4+Y&ZьV.֙3\g,{Pr ?\%^;.pC7lңAĠVqz@TRFDhcO[Km~2)KR.1qB8k:7qo'ﻕ D|,g*W$c5~ꠠCbp~T_#] B3bk]|4*쥲{*% 뼌\O$ɿxx2Vq#PY+]Kbqi<'G#|8ʮ*;쮲.>%sJ.͈ΌWP܃ 8~-uߥ$B},2 +Ǔgy˄+:lPڰLҍUW< D6H*LQGBRTLդ('D}KǤQ_3)wE(?F?Ŵksiƞ+콲6#[l7C uBPhE(G?Rt=$@z+gH"| mL >pRo|l.0y}: ZI$ 냬NZ!녱f0{1wI'6@?Xw5cJ2$/RR[ݩպp> 5 ZI4JE(F1 tF>@˫<7(M$) n&lԛGmVߠZI1Qiv3f}#wgQaEЛzPoMAНu%Dƭ~4g#Q(K,Cr$K+i[ҾI;&ၺL6SAg|Tɂ#,PD=g**qѧyη$b@M}$:xJUL7p4o.@['t!Pw"zi>u@[q@4 Yh"ѧ(N_x~@!ڳO<|yEbyBng⠋}瑣?fknJ~*ȝV4lS_'o*u=BlaCzh;YN&DO#" {)ԟX:Uez$;c69mRs~(*IյUy*3;T)HFT<CfzML~;9q ޛXt)R͌rt^x;3v%Um&΋ "w{緯Slw`fP^-[Y-̙`Wn1~ڣxϊH¹mǒ^gJjl5 =gf p$f[T_i U8McbohIve EkZR5jy=NmrnWE\.}zfuQyV{kbIdYߐg5KVMJ^k2&Շ'e 3Nqw[+%=_|jtsFKoy8b-wM&:݋f~=K,qc-NJ%Ԃ%3Xreɓ%LX͖,YԊ,aɉv,˝%7Ybɂ%klX2g9K,gڞ%[XrfɃ_Dh)C}l:c-}3EF Vm166h#6alOBA J mn6D|f;mr@al0n4fF+نiswi_WHWlFo5Ai wAIYK\:Lg5s1<7NGZO^^f|u5;#r;_ \!^8OPOAX-!sكo@Va٘}ׂK+gimbw\/xn;}xg}$Hؕ4\v4l۲]am `wxmكYŏ`-n*vy)J87`HOs h[PF n5O3+ ڊW?lۛـC $DgŖG8Mnw>b*ӽ^o[F_Y>9;)t@a+ ?KsS>րۗod>\GCI:ChxuE`,{O-JQ/dްlA5wd+ C<ΜIY3ۖԥ8ר˱7Fg}Kj;kFn"[zcJS~_~97CZY7xVu#w\ophy:5 qq&ۧ3k D|ylN[޹O^JL_`tmIX Ahyx!WlBsewV_~ 'h$m N5{ XwJ~C σeڔZ1 7=/x.$s<ؐox\K %3ɧ@;.5f q))@ )_U'w%ncjZ,7[RHJ(l%|wZ5ЦБ=$ZFR9t/B C#ɫFA1rߑuIuE?k\6ET6HysO}1,iݮs$*W2.'%qer3r_nDRjwݛgLn?YX-[E2RK~=ɻ+-2ʪ+,˖=_^o}H&|g>"5k䗹8H^"4` >֋ݳ3~}ȵ*ix+rþyVI~"?0󽏓Oᓫ{bB ֗N\@.yEx? 'y ˖}r4M!woTLnK^13ejtsZ~߁` kC .iyXYe`i"㔍ڀ}v!qyYuTˎe%%YCyeBǑ_GwJ;Nnxpj)04\i145|ʿ֖kMFo\/0 9mK博Mӡ`xzVWzƹ#!@I9WGyO㒏}'U<y1\ۣO*ю:י#jGH-Qo ~ S ]~?mW 3zջ >50/(@Ӻ.syhp7Pݲv5ʝh>JgN3PRn996mJ^_uA4/B;1C{NQ#ȈSMx>g߉]od:Az~?T<^p(q?^7(Un& (rAx(:~b\}y~=}#k!w~.E6s?|p/槾M/ yh-WߎCS~h\j(x1h?Ƨ>~|ak xuXO}?̿}7"3v9sZ\ ƻ|ԛ\"JxE{̬/^R^5*,}>`8KțG4ѿ|Sosiw`_~W`;Ͻ~/=~)g~jlOp[[u??y*;?3'"|4g"_< jD'E~ye+cr=ȍ!oyݐ{"B9 FqL@<957Dzw;5/b:xFp)S'~Fnk忨jza޻UzavrȤ2|qƔ1*EFbºT1t@ѭKPXwhR?#ZQ=Â'TuQTFX+9 *ZI'9TopX2FOL#c MDA[hՍ.썌7Qtnj. .e\ moAGmhK=mT+JRT+JRL+2L+2L+r\+r\+rK%z p^\/˷S?9i,`IaAWhwfd?mqjs@FW~\iZi84 Flj|Z%fݸ4n QX o>6.2 s :Nأ+et'g*XCM:N<-[ dp7g'iJ_sOmGZ d%[77kK8o&Emk??`4AEYz4A'<@ehO"uHWp7 *O&G9L2Gc8blG][T]+ޤ5}__cpR2ÿE<}2-韔5N4.0u"+spdep/data/huddersfield.rda0000644000176200001440000000070611716033161015432 0ustar liggesusersBZh91AY&SYPԅweo0{c24h?DbmdOHLѠ'iSD=UC@M444P $&h@44hMzYkyo %O"<3ad΀(Rɞ2(JS:v-: WmK^#F%Gؕ+ L ЋwQ2\=TëOE*X Z% '0ʷEbh64Eg_?SO(:[el~[7qz AbwBKA ]t2H}yD 7$tI (h0 $ I$dI;1c)Wd*U܊]E9XElyӣkBJbD E&'F]BBCRspdep/data/afcon.rda0000644000176200001440000000422411716033161014055 0ustar liggesusersX{pTW6<$&'I14$>`yL͒Dc !R@PVq1-` V D,AR:Ts99lS8%3_~|;߬Pc8Nũ"5jT_0,ZS}[+ǩ',QXrQzhMuFܒpPԼmH{xЇ/ҏ7Hĭ<޽B(\к(OS?o-z=hDVd(w3C N>P_L-r~4R[yE|n:-H.U_93*I?_vf8,?Kzo3֜X#&?bG_+=?LbG![7 w>?,tuꊻү<=*Jy 7 k[flbE|gQi( ?/ģGփfnM-LTtw]ӄJJy\q.49T}㻀fGBv'4S}"*YjPaKK(u!]؞QZ{P/Xb@k<5J/x/Y>>6bf䇏Dpm(]8]A_|vJ;ӀR]fJf9QQԌȴLppz{L[|ͣeÅyC-9=eW ~u(jXOUDH>\tV~EFKެb}жHkB6LizW*ޝ5rQ{MWfӸ8m 6)طD55 vQNWv\/TըS nx@[^\1[Uvw(3Y|1o.WpI<hjطl 6ХW .Kx,rPñaŒ)E$K9L%K K *ȗ Xb|v:$,:N.^%K`1bI21Z[) m%ĈwX62Ӛ耉yY0y]7Vn'u^GHyr:xxpfat &huʗNLLKl*xs6嬵&zbxE@fbUk4;y7qd=&+M41)5y_M326yK1t9f'5pxIgS@oL/܂C6(\&85qlhN &繽@ jpGV$ ZP,"'al()υ ƪ amOnIRyd[N0UwA堫f(^Cu[EWe;Q;z,Vz3DMZ2S.e5~ z##W5eE#S>z;=NdiQn~# N~SA7u4;o}o\;ՠ7R!`ڪ>o 3WNP`?ڸ  @/מ  0XX:y}¹@I C4pnC=bބOp!\C{>QGO5+٧$&qabpWpfyk"payLfx@&gbo%_#droΜc6%h+|X\'2S#59_>[3_٩̽U16i,G g2{.l^3C9;k~dlC-kJAGZoȝOSA~/:P-k-AVC%Wϝ__n/w~uݿ74?\G\ooMtjN,lDuä9]&}dsƉmzng=D2/PL鐾7ҭ?m] spdep/data/nc.sids.rda0000644000176200001440000005104011716033161014326 0ustar liggesusers7zXZi"6!XjQ])TW"nRʟX\qjnj-&O L&W<.wv8qCjݑQ%s˝ _;8u~ `O{INAhOAtX%\4D27/lք8G_o17V>2df,"{[Ge܃)z2t༛'%/+,w6<91jlю/awp WŜy_Ўgr5ǥX]s 󁜣9K)^m,b=@H=RtR {AxuʜQ VYV9t bS)ۥ7ԑ#5=VXi*Rq%1B=wl{TH5UNG5ծ +TgVМ_ )>?!DdHk~1B\2:TaiYBef OCh  5=H& L߾dlЉ28@,ftj07] Dh>1Z1`WfPěLd_#KmWߑni^$wH١n蛹r3pe(эѝ-4-H"v^SZw:4 {܏:ubZuD&7Zc(8C$E$f(fK;3,z;]h]el)/ߕ?[%&,]nPD2:&Y{cֵ.Gmr' ?`ՂRbMq5"9B=،#YTF6{bY9~|Ȣ.ECG Fd YUDx6cS nvcț6[`05~T5' L45)cҏ?G Q:#/GS6J$]دWK]9WIk3tV:VģM`Hmazj*$~(2/=C@j:͓yV$˟loHȌnIHi-WcA2 E )(h}Vūn ^3btzBc3RYgN HG*`^FW@6z͞?*ƈ2Tzu"36ۑ!ϚԳ 4*%. FOoX>°Y{@Tbϗ Mg>H|Jnv$=1b_Kq@vX'B`ǣ!wʟOV$: .2?/2j i`Y-icK=–{lm]{(Ͳ'$ ;Y3zZ+vi6V$74l¶[-[XԠڲ/JB0^ qo-h_uO2iQo2;#\!-{5+]!FȘ(uVWw8J,n-OFfczpͤ9}ڨ[ռOWk #=x 7?o*\E2]r1>-ClcoxyIsDU>y~Vl A'v e"`UT dXˏH1WhqyRxB=+|9r<|릕k-eJӆgFy0g!"nJQe jeh wρñ&o_Xuի]Vy2^95MM6BSrBGEC A܀R yN|ecHދkfJVW5V?GgGx9/Ţ'SWX:q+c哠!yNmछ+G_XH.fTJ:1< fmH)UuKpCL ^R;܍ Ӌ32feg~7ǜ1i ,.{}2)-˙wcV " 6nMm[7Ѫg pof7ڀ4`m-}(,9d >9n pv%' =-'-EM?.#Xe@_/Psh-{_ݏC'ܒfٓ?l;neGF-c8}vbY|arWoaGvH l{U /%AwgɶK#pUYcrRrH3-pM5 sQcg}|W?Do[W k0Mc :^ѥ>7f{+χC$kf+6fi9dE%sedQ&*ꟍar0- 2YA.|99'XQױ֩vƋ9I5]GFI.糊K}tn9#lA YJ('miǛ/b \Ga+\3%L%Ɗ0bvWkzN翮v#ݳzJF vZV,|#,z8zCxg/KPQ]a{~0PWtM2S^ڻi09jkOz?S<(Xĸb d$-pFy x/Hkeo8>J5j 0N"ުM0C&H{>tueI>揯~+zdEppۅzo A~ֈeץMxg)Zf42w-X3ZNA%*iRX_qRo2}w'l;m moْޜeG,ԭWt̞JHFʭ!_0=99FelH/fPH+N͏U^j:x| _D5_/p}z:hM zK4,KEn<َN{<[(R"_`O]R 4 3h9!=H:vA_-vDsH* 6ʷ V&)XJƼ7DglS Y8"w3Ǜ*beɤy\ؔ%O9. P:cK2'i+xdmT͗!CA%l]T'==.pDŽPւu'̘a[9 s?萅(9<6a޳d@|Dr,S*:UO ,O)wsk YzٷkQk8&gB]`~%V{˴z; =3AWuS#u6tlm;Zv'Y<Yk=bݓz32CVd! t$p.z6Z-+.!;gFH%{@Te4~z  Yj@mrag}7wת /;_`0iAԄt~t=&o%!;JvYȹOL޶}2heBEŜ8I52};'$H#}WfY__B=2/6k㌔HWD vp+Syq>DAi_|R&gTd!\㟕<[}XI{a\\)FysA+,t~;MZlF#kdS'ZnqƚB#ztˉ.ww$0BVd梐v)}$D>|PT `uCN/Llz/!QYRDdYSLڝ#-3pf7Kw#e;bPؾ! ([O $>ax ӛP+q*fGW20p7^+ VRo#xel2C/JE5HV8.EmϺ3/T :b3tA&5jq {1Fhe=XhSZxhP*@,pdlmdYL|E{WWL~4{SqbAi`/i|KԴ0B븭@4]7 'I [ ˺@qIM8+]`\KiVȝ`12'&\?dLQs-ǖ д)ŅƹTH$O`);o_"#@[ n0G5*q :RM=mKi':)DaYns_%&YǬm0' I=C)5QÔ`=~ŒdY@涊F=N=ِ/Yk3W"7FsFwC=ôwn,l {)>lM)X^ʪtjI"OT"yi,7zG!69%RIJGB#?C_}a3ݤf-HDT @ '5PUrt 2¢; .l@{)B4|]#p_lφwjmugꌞؗ$[t8y?MX9KCu]q1T$y`YH3qOa+VF)Z}Bkճ60<3dC$,WPFk3[u6YoQ5`/7^&O&ci6vV+ݰ$<Fr09O <봜 ( Ð\)aykmjeلhq/G9#@TP]'M:C@=_vz\N 5y-R'ρv@!IJueZ]CP'$3xcC4itƒa_#.bXgxAȇYq&I*N v蔮Xxyr2vRjԼh:)6S+~ԍ9*  woJЊRn)=]ou"? ]|tPK/9MiOsrrHf8 5Lų"xg,3c7̛Q;UF0T>Dpb$aJJOMV_Ơ!hcwLJs5Arn⦞4i)qBQwrG$aP 1|n qKG/85 ?vRi&cPdEԉݑ:${c[zҗ8>RڎhLh 8fJUI4;``0`oНQ=W/Q Yh`$2#N<0QWRZC(fwo[(9SyڗkKSrG}k‰%7LBdo:+1 bm+ESax~RX:\ށ]SVc4`pŷf&o?:Ҭq Gl_cS "k#}d ߭Gĉ.443>jɎ(8Gʰv e`p:^B\7yq,2Zᦉ)Gw{|EQ*n_ ȤE+yHd} A HVJ֡l 9nxxMZI }65& v6ϵ%:.!UPrƒ`dXC+K$O6%ݵiGUH/-yhU7mƮmVWOccsBS`ǂ=!bi-b\K 0TCޙY^DzDcZ{bᜥp\,n%Aqdв:X_8)b}KĈsZ~6⨐T}t9أa;&I&%Ӌ{'~_BXd7#Ȇ~&XC0*/Oʒ10ž5 w/ªxq#`L 3ضSV%M-bi=3|`̻ ~&?+X5)7 }EINe#8PKe?I]jro ̱'Ly%=!H49r敕;giq%[M4Sɘ5F}]EEU .x}&qN??7uwtk,kXGZXx97kš߀8 /:).@2Hy贝TBj#xS6[װUC_QdXzo/c^~ð( 6 #e9PdӼ-Al2F8=u'G+32>hY\,늸АLdhz>% z2㕞'_%D:8߯-YLS2|P ?S$q>T{l4@NЖ9WT2` ӸV ),W@ {?ʿYW^QdJj/k!m)PJonS D<'w1WoU)#b8хk8{WANڰ~t %R_9-nn#)Dca"'zNfiTKVgY0fg׋ڱLF@n]%ɏj Iq" `ob;&*ƴG#̩CyLgʮM3UAa*NU/6:3z]ʋRwQۨw*ٻ**Qƽ\pPW59B3G@Xۉ yT9; 4<<&)[o`.ؗK9V1o!"vuK wuZT!PÀTW *Xgh!jlIb6$)Tk<^g:[k+{YiMKA_f]!כSbxDZ zawӮhιgv$Ks L6Bl ݄ I0Hד#=iRs߈0 )wVu:$V$s2gAnaDP 25| >mFҖZjd *s aI!zH%zPk*˩d8yjsi_J?PsGPg!k}?m Yud*~q 'šِ^Xyyy) xymtn#zd]QW'dY`D[|+ pQ2`m08oڼTcI@:UZRP 9b/ܖz{`p+cӍGQJl4iKl3馍MZceHj<ˤ4'H"ȉZYa%` bV5#Hi\) icF;׫VKOᭇ6l3]*܁}}mUhCh-5FuASRhJ$ CzJ}CE Wc X~vpD]Geb7vZ[4ajGOPlcN%HfAa/y/uzRq؅e >esf5 eé/ڌUxV5$KD:b&<D%K@{KOΟA2pLǤ_K}KT Ox!k=-`{. Ydno ccwU:`+Ŀn Q Q o,wZ20i8 OH_et`1 ͇w/u B|T:9'V)2,j!xjjtO`PT 񮻈drAӜ4sJE{k=vDG~JJ#|+9:ƵX-eBC" wQZ#ՠ}=t}3ĚRFQcr7Xo-y^RTm_"8㛋T*^1S9cS J#C b ,z;&Tr/4=8OE!?zrO9uSc8[rILطt`%|]pߑy-Ui"X1XF%PDz@fQV^oe60 +JDXk~lSef.&;-X YmˎK'z9%^+Lؓb,o ȰbGzE!?wdk2^2 63u$KE$;\fPF]:ê$#)uz:e7Y,J %_ F1ھiqBh)+?QPEɦ n֗5*QC?z~ 5ݺ|Χ-dw0G6dsc>smզ?|(>eAvcئz,9|b)\7cIZ"Zǝ6>Wh z=,kɝ`h:,WD)6fPSyW>9jb 𝜒NR_ PH<v{/K0tX}#. d A7N&nZU=YI [` f=LNZGXg ëh=Ǿs;C/[Ƣm&\*! |:Itɿk(1#lu[z RnA,8{*L?q [hsgutH٠^kg8ZE|9kE5G0ԹSyT۷LPK=5Tm9UQnd;C1)Q ~qP(dËe.a|N0R?X AQq8[l8 9@sZzNkI&jFF1(z_y.BtGz)>Gֱdi>@0*(kYb}}q ZTp#m`PQ_ l uP!ouqB~i0ӽ${ϰ8 VwSMnkan mA=< j=hC\C}xv?Yۮ*|}bXU7vc6BٸXUϏ/Y)@V|Y Vj󥚚ޕ]Nfۣ>wo񄒘N鴃m)QLI& MAhu&K@-4)0G'WO *cGʶfa\f?zL HPF?@D0}t'4h&|Jv90{TE"s\:0U/fďZ3Z+:b}3v EI=;m5[8؅:U%Xk,RRQĴq,B+KBj Y-:yTj\@>B{ԴGKq;S#}σFpFwNsVL_v|?[έ7EIJ>FeqgT^= uP]wx 1¦܉y:P¼0z!: f&(Y[OͿwQ@lZ~d⢙4Bո k[Jm郿ÄY\`&!>3ĥΤt[o/Jo˾#fwwe_ hࠂ~]}DU*o)t{/㠜o:;ܪ'! &BSW[܉3$A b$R#xńcALd$uGJ@#(;L:Ke-16Q@h|I_aLnaaȉ67iI9`$ry/d_il `P[ }ʤ5{Rz.}2ƟvAqgb*$l:@k ף"&9^%y !^W%V{kG T&寛pj-jJJ `UWUkѺVVQŠTƎɿd!'^c4Ga-棂O.Q®-bmV p6'cD"ֵloc4"̯]}RixZClI%:#5æ@2zKJ;? 'J<26 "AQ_bkmwCf@$TI܏و 4¬GCo7Xx[l>KmyK^y YYHjb3;YΧ8{>E-zEwf:Tׯg$Y $EU6V3PbYeSip]_٧PQ/shLMY)&;tՆ+.`ymO(Wu1>{Ìp`W1'! HLGY39h7k3\]*a1_v~)qƊ[:'ζUUoQ(cg~n@$:R3`ִݓ'{e}QZ / n!?L"š9G|wT{s<$uJv}m ˁS{3g(DCbegPsB65fa-;ek0'z 疾xƎ0ފU*hraS(^+Y }Σ7Md\-y{:!B)|գZܻ_=H?{z~#c}Ջ)tETFhrsgQA q?jPMĔC]bK&G%/[y}_8X0$Z릔Gf4~—B\LnJ&?='NKp,/Fip]ZId`>ɮfFa=[ IZ SR_!F :?H ps(3e}d>Φ$RFGPe<3{`> $1␄%E#JZBB40w?O+Nx6}|1cl[]W!= =_ =g(W_o [DwLA~,h}R"sdqZexC%gdc< (Y|q~V)ctD1wM(3:xD}LF9F v+VY9F5jwTo Y;D2 phiecUt)`-eg\ڊs?t2у ްna[ QT#5dz\dDHk݅6;q\ !,,jɱ9^5X_&mVQǁ l7s.%DžQH-I $\gYx7@OP+K%|z5@CɧS2BLR #Kӓ=GƆyˆD! !}ױQ*授=\Ț֘hO Szd~׸y*&Q1wte \+{:;' _BrE\82L=f݂" x*pwbhd*ϳ )IgI(mކ]WbLwQ! XںcY?w+UgϦEF=t~3kP:@AΩuB]Ļ|ޮ㈄d!Jr:CTH"wUm8#BG؈zx}\.2Αڽ"^Mh^N "՝l^62coT҈hƩ'J JR.55 !QێKŎ7jJ^N]p=vU|^j^6ܳ %_p!/w4[Ý d]2:5+ag4xi,]ɁS'dt[@Hc1_<+v<,|ݟ)&)(MM5hiV%# ֪ v_9=HmC͢ t7q~O,xq}QszjG/ l8PT4ZIˢ\L#ԓ x!qLX*FfM( ,6IhU5=I2xmx]WD !>àUf@0Voo(AA.{et  t䀎BXTB0n#W6 szIߘOEywFmZXvI"S- y}+vnR%=Z^vHS;uts\z\2 ̶C%zѶN f(ᮌ ?g%fzB+PQQa?$Pc .[.Yi0Wb nF w!\zZBk! m| 8ϲfdX=5倇ܿ.Hh}Jj\61?LI%Z>¡j'օSh^x}%$ذi-<*$KFu.sqQb\8[>u(aF~@:]O 7kN”ժ T9S@GfFy `iſjGwG|y d$Mv;NU+&g[}Tk=A=z%̉(YI܏r4:"o} ?S__%Iϥ3R䋪ZåV8o/1;9=T;r y2%ǝ-fqp+k&S{j-هRDow!:Q{c|e[YoCE+CZ ŲXW }*M @I7mwP<@RF.1BFh9|.x.J}j.,P8m 0!qNLB8E7foiJ ?[QV a FU4]pYBqKqX0+3CAE;S2*S9Eüj4˼#(xdw]7d_܂gF1x8p,Zk¢37gK(r]A+GeVoMYҏRg~NclOc'_lFxyV~?(kzns-J=OK,P7B80PL%KDޙL欓ؚQkmfԡ\n^s e.m_9C~Y͠wk%#|畐.{[k>;X9dL>0 YZspdep/data/getisord.rda0000644000176200001440000000173011716033161014606 0ustar liggesusersBZh91AY&SYN5 Zm3H@O@@@@PjSOBUOJ5Chhh4 2hb14`@ 24LOS@F@FL4OUD4dѡ4FF dhhc):Tuu BU ITTDRR*UJ U5TBSDHC02B\ zBwlQHI0Um~U^FZmۊR" і[bks8Wc?^˵Jݺર=E(T[oeZҝMyN<0~ZmVM5p\;xRլ*| ('T?{eGZ(9  h(&9"]J7NJ)nnnjׯ^a$I$I''FqN:tcVJֲBIE!$QHI($RJ) %J;[ccc<0٥ikZԭ-kZBIE!$Dc<Ͷmsk!{ff[mm6femskVe{I$I$,I$I$q{ $I$I%8{I$I$O]+JSvSvwޥzpha> gWc e DTH*BPA B**TT* BIT!D"DQ("H+ (:ۂW@͟?Ӡ dnЁV:(@0=@ͪPj4n m_?,,D./r^7{dcuU%Vz-41ӫ~ 7wG+zQ|@2qӺɃJ@qܑN$Bspdep/data/house.RData0000644000176200001440000301164411716033161014346 0ustar liggesusers7zXZi"6!X2])TW"nRʟX\qjnj-&cZJDB⎬j/½M9ϥh Kk()gD#haqWڅ)r**(`%Jsz1L=N!u$ UCP@Uj;D#7왶q*Fc80S~ _Ĩ9TUMcVRn66fZ»$Vs\Dn^x R!uSRkE iv^?t|T-͎u ^D|V6yUۺVq',=˘ls'aFxӃ#}E$ Ϥm!R{!q;ïe>oȤ2CBcG߱<+h~MBP)CqBDSDcҰt+V؆W_έ_eH_~)5T('Xy=mu%O*e˥%d/-=CtKPpϒ_𼚾 Qhܪ˭Ljy1peI~*u Ĭ+p%w QwRjvfq a`p{Nv^xjz^cpZ ęGoޅjĻl$&7.²i֤¼ca^ngIVYt֒NtafH{R˗qWwG2S C EFE3 b T˃7B^Ћt-Ct Bp_x(Ìm%2@\ᨻMcO ]M`Ԍ$"M0>65;xwf8$&%#׺&?nE(u.=a?s~HsXRcI@ i0d8W' Ko68=qhN饈`xeGq"k%"1㛓9ў^ID'-wpZd4[PNJ4qv)+!-9峽o+{{hw`m"?2@ߴF@Lu80 $b㿐Gp$E泱5"sj*F&AP+rOz]GX'HM e2Y(VO֪.a)f嚺}0QiWPqu{9U!JOC|H8bҖɟa^Ӷض{9`4ֈ qs'#ٰ~[(3IRyE}V & ?/ZZZlkD(_Lfu.!]_60Z?hbEb(Yұ[kt7S= t i:hOPZ%a,4־1#d@og9A}ZWtUAF~ZlhWZ=̌78-WekUl:K[r"ˢA}`G&nkjë8)Ê]z,G\ fi.!is2xm l3Ƙ_A$TU2*m#\/_TCƿ98 xn`V48W_5ULpgd%fu6nXlOBQ qGg5BO4J<I=@|,?{mAK9SQ4TpRHRU<޵sؠxB_POL$vl6e4qI0펢o6Q)\Kga )%c^䠦v_w?n!+M/QFUs0\)Fq/wBA,G>TTI: ?oR8K{6=2xX-ZVYa6}7_Zߗ/նI?'˕Ğ9]`3^ ťѵƽPPXIJe3UrJ1-Ǩ] 'KEM^Lߔۅ߰ /FtZ ї~bX?PY`9 s!3^$}wu=)(/) )CR\[QI5ZY'DnQ1{ duq {+Q?qd(FP ?|*PӾ6[CղkքVL4QwI7*?o7 gL!4TJ )hE""mTHrL@7W' 3NE-=( rEQͮL%PܧW]vi\$'tQ/R37m8 *C0#pa!"b TڇLck 75JL8]1xu8~f!Y* :qGΒ{Y|d)O*/>C!"=(\@ o,cu63<2Ln^EZ ,vsW|Zxn,2ye8idI =fV20`$F h'uėT?Lm !9Y(!?wqUHe/pAo#ͿU-pʙ A %;c)4 UeDPcm]aU-f+If4i2WڑW݁C- ]>KqnXva% Nik0]Ԍ/b?VlC4&0IB_IjdLkq4 r%;BM8O *3ȃe = _^;3űm"J 8 |q6$},x^6K I^z XLaڢAN3ĔƭF}CDT ' RkCH }yOWwïdim K&Q=%0swZX넆1U] CV=w5; ;5BPY|ݟ4/E '$Sq EO1LWRIhPnX|/A+VQJ-uxs]M{8W 27Hehx/aA%=f G%XR]]U P@Ipded 7twm1后^M=I38ǐ1_(^/86  `J*0>җUH+X2@8N;c9ئLD4YSREiKQcqp@+a(YH"V:Ҹ#"GSA ڦ޶A`tsǖkgC5NjzͯڴьCڜ͏.]7FSRp{cWL_aK|X*l&U auȞY8圪rҫ9׼VkPw $\ r.k>n)Rjpk[gs4 8H  ڴ"]&'w?B4Z G x#9k-#x39ɸ.B"NY[[Sڄu`Y*٭.ӶgvFa%N9~(C@FUZq)j_*t0(}zebD? .S 7~O0sSl,f6).Ua\{'\wĴ^e,V`1ऻ9TPY {~d Yk3)$yĠ/y9NqArxzq(O[B1ٺQ4au uOckta%0mi4ŵ/`aJR@VC{QG/<-8,)&<倅Å$Qu"cg{6a[1R P`Fj6xl-/sg{>m_@K8^ܧ+jM]uOIMS5ycN s,^#e7 EKNBگ{s2W{4:/F W(8Un۽K_͎!]}bƲbfz ^JE7+sG[a)x<ܛN*į<c$4?wDLC\|=c-C \;4ϝKx0``09>b*f_<2c/)؂I?b{+z뜨F2wە3VgLJ~" ;JOmץVbB+hġVĿUU\p4.#a<bǰ UG $ıMK?uÍ] ATsԍ r,$Ĉ`g8w[{7*67-n'i=7_KRLx,*J(k̖aG 2 ʉJ:bN` XսeG,mwOI8. U~`h1VnņE+ϟmɡ;@/Z84} Kk LvKq6@QYִ4դGvGnirһmRH *K4/NnD`OFQ):t0e[p,swW.ye ڎ3OcmZMi" ~+ot;j ^d(-4&P,+(͘~7e­*G. OJ @/ަ1[*wcā;,Ñ냃3E2 3<+;q 9GV򰷙 QШ),D' f^h=Iz9>ׇ.@#$O.k`nRݧZc&^K4I ۙBwU!Pu}5紑rڂe W<Aп_* ґ${~XOB:htgfbeBlO<".]%O FY9r cJ-]t.0ۇ#Jv4'yiɼK9=)}!()P(_v:ޣǴW5ψMV#T9MpRrIRǭ-yqu;W` flB&8#i saxCDlϝ-Dړ(lO=!6]KKj^ 3kdETȡoծ^M[(%ЃqY?T5Ґ =!vOJI%Pm6+U̇hjIն]͛:Gd!'>;M=:h7"I--{ (AkLM~REk=0Ģ,B/> gc'2ْdPHs*q<7c U@[p0N&MP2I]K3-ػCu-ʽy{7pĝUE*U9Ű& "W*D ]\vШ'9͞nyse[3]V7w~yz<[>"{5wLFl|y#}طK =s e챩 @IZ{q\?8 zY֗9Tx< vL\MmdE}97RMIR"!U4y-NU'hU+XуC2mB!+YG0󺋹ċٸ鷊GRdv+_6pBj;ѪF>Tx8=DrM]Uq8jGԆx NќS;3"!M22[^{`6trjD ۭ/'((-L*ko>:LG7 xp.C (61Y˔d&[U݄![*bՌ].PC|X6ӐSv!"ftSluiLּ֤GkH1_0oE Ks,a Lbam iqb4~ srr#zj8V[A{0Z򡍷je[(P>R%P#xW>6 tW)AE/+>/aQڽ6cZ)Tx% tgkcb@ÎGMGV_| $ ƞ{53vTGmH틳^ȀԶg" ^Y70)@@CB^L7z{{ǗOK$)'V y}'Q<lfYVj}nFiv0ΖҊ~CǮTQ6}2y}km+Y)aGι;z+M.杖UuynXUlO3Ԙ!+a5.NM .0M U5DyqHc'iy[A|T@~A>C~|Z| _]qiLvjN+RUTWZXY}y#T͕T.ߑy/kf֬&!^S{5Z*%Ϡ$2dkƣXQEcoQ`:&Uq.U|4@0o  Ɯ|^+pg$`bFt&qX]Pbx9r#XO1=Wͬ nAC²^+OvʉMbvʄz\ֱmIGi(%Q5;BD"k 5ٟV/ PH}Ⱦ2C:;l?v'kNL^QdfJCWpeY%KmRn G6\s"ou4>H13@9n7rJʨ'[o숗:U%3Fl(w'Q5NEL\ҀJC|::VLu1!masu,k=LJIG pm @YFnFk^=HXYƟQ]LDY5U{nܵPӑJv k2yVWA:tSRDLT *GΗMr5iQdeXݨh ܖ֔F`#F쐼A^"c&iH]4`يkg p]8bieo Y18)'W%s&B/kUGJE0$ܫ& lucbaX2' &FWUjk0 MY ޷U8FJ ~]dAMj`qٮ27a3XY0~*ob\Tvp!5ǥkׄw5p=gQְx7&a9\{u Oru0N0pgKT25̧0T4!1n*r ]c+vJpl#IQЋ0"duTB|ifB։܁CI[%̙ebHBi@Gɜ&r5}L^rt'>J a f %!FDA>2E+.# Dp@@ϼt ]iQOsn3|Kjwg2vj. 5o\Rg) sHX~U~mV5lDg!B8  b|kX/L,>}ṕhZjWsnXH,kL2<]А(֝0Zœow)(9pU7VA#%N.nD}j(wcB;Aɯ?lԓ-<;^!rχ$US7`3_oP,2&(I,piחu RBFK_KنJ V%g>?Sr-JV1#Y}oǹs~$Ɛ<鮋f rc֊z& ܳ?N}}oD-Qy^f_mng*DLsa Dde%p<{[W/CҳEiRe ;Î)Q79kuh=ʞmy `ş,R[R•iXձzwu隲C+ˢjyL|@qP+ZPL5;R'*/Hv$ޠm7o 8sKCDF Ll; O $ 9QEWuxѬO `$ ##AC,_C>ert[T5Ǥ##H_Lv @ `!m;/olN 2 n9-~o}}Oo{,?cV+*Pq[c} *dccL Zp- 5t:9 V}*;xb<Ѓkո_-g0?7"hewvH:``NӶpyR5,4xhd@y+ gmKJZ b2h;L';F٬*'ܝQd4FW) $fp(I@I6@ bx4Њ:1W BjFy /(0=cu\caX>k/?sP֎^RtC#St jB7 TGk(-9[QB=ie"хܗƝq)(ƨaoU0f|kG C ["KrRb)ci%?H vI|dM+ }LY|Tt$1 H2̗w򸓴Sät$nݹVU+3.- 4/)G+bT)xZ`)5U_H%QJI}Ƹח2 [؃$=/J~yQP˹_Q o?Z 8ox*;*+r.@+`h5T>K!OR:q*0O<`Ng*LIfz 0y)n 6*Nefɦkאfdr mdYH#HǸåd+ iŘiv# 0E4(t+qTg~$9oL쩾䁱'/<9ItixǗH9Y;NH+ZA7LNu6RA5^{ѶoE~ cbМY03'4"/]c>7[YP_$u<&Op#j4Lqg[zfj~✹")`.4rèH5[kT Ԁ$;GoI?բUВuS[q{";7C"RD>#pMK#{JG.ʇ43gZɀskʚRʽ 5aL?1m^4@hf#ޑmqD ^+Y2J*hU]t*$CzҠ2ĐM)gY,o܂ʵk(#NT73k lƁc[ܱݘ;.gPY*eN+Fz ]ZK .X"u ]>$v,裵ަm2$taB34 JYawT@w6l%щt6lɨ.YC\kTP%h6Kr;. [y? D#/Y3r8Û3wr ό米ADeb[w N1L/m7 o"c52s!4H/t$akѩ׈Qsx^e4ysi!Z"o,q2f`|%' ̊&1?nDֶI]bςI|Rۡqj,[^%O2RI͋gL"x)񼑬uny0qZZom8ѽ{Gf+u ICKq. Bo 3,SNBҊ#k|J&. [\SNj(9~A nk#(:_2$ Cf@g8+~!Tu9X9"{da6#Eg.h'q}ZtUp-[?:q`ۧ`IZ..j2ꍈ~g8U3B)u_f U,(ۘT=  K(6tS8Pf/̙j O-m# Y.ѣXV}ա:7?1Ƽ]mZscp7`q6W!L|W6v=ߠ ar1E 96Q{A*-@&>._fJuB2jbCh!= =gw6[|]ʠ_.kKzQPS 6x;)aO&xC  ( K{Wa&9q<+ee[ʜ/j ]Hmalu`'A㖏I0Sepu5n]ўT^s#zZ!#wtjE1im+)-闌XA?N/GDi*' 2|a(_vIJ Pj'{TEZ{5SW4!OQ}T3AM͆ԤlU˙5yjkd)5 28wSGkd@(4''E Slq=K'WklNU[$6c gFO^4. c=lpMiXyM z0R[y/)zuo.H5$h Vx`m&Ԛ>zet0Z"J#o9r,{[sĶfT`:|"> M d&Ov١& jSMߑE_^7VIzY s~&svI09JZ]ǘ9pzK7 j ckΫB,ώc ʧa`'ȏJms*0!lJg AԳ)Af^Ha\AG <ޟ-#1[gc2Zڰ۠jSDA76AG9fب͵ 9@Νjz3O16HRMҍ }Fz+JbV&TG/{gE*ğ2Ϸ1PA H'tUK\ByJ!Xn5\XNg6o 3H0WeLY^ 㖵 >e[+i=jYw_Rq>t?ڇ5W A aeT5JY0[Nky(bʃjE<RN: \h7JFj!1Vօ"k@l߬AٌQsCc<ك1^J&Mvy\w#NLiӤADGEqzy|1ϊ\Vp +8$Q2 :B t@TN?2tG/+g 9IA`C-5ut TY<N ڣ:['L0":q_|a6[u҂lHQ)xG@5,nW_={Dvr_\Ĕ)=Ux/p~+I1l[𶲎T*N]{n0(F(jUrQf aG^W$,cs~>9ֹ> שgT7(~ 3)T No6PPT(͐iS f&,!q6k ŰƳB']*~jV8nrh ﴙM ͠[f7ͅE輭;}NzW55?4BK9{хnb bkR@C7x4/@4) N5EQ1wHh{R0wri3ؾi&8s<#Q-e_!*P~wK7,ҌVeWw|EQSDM-c1u&^S_V{{8GQqb{ s@ʰ~t:AK]mӓ@P˿ (B_lqpɀ-+ޟs ã7Nף]O_vzSG&BCp3scHAv izo͟ST&A$HA}A׫g"&:mLM~}kJ|KHKIɈ vW gTÓf,<}L^ZBE<*!A]c+ưfWY%$Nj"Qq4 ЀXfVKѕ\n㬶a ':w-\0VVvS,e]* Q{t(ŃBn2EBN6jTBcb JG&Eeҟ5r 7X`NP]ؓ{3nÄZYZ1xQi˼1<؄|IȒ' Pcf^[p$0 cŋw*HKbrXa$AS_Ȧm nIُ Ih8󚋆lUhI1㑠`e$5H3,8ޢW,DFpQQTD?,3̌O0Q%*C\H[CO·?G:LlB:uoT<,[rByQMoɴ"P]t=S?wM0g>sN+ΆQȲj(vXcsJ"aR?xG~VH} p~ 2>E)>afts%DI>kLh5NxXAx;녯yjXRnDVlw?9@; !)$Øbn~6op[z@贇?nrCAVzdr.p˓xC^E\ю^\|i^X{@AYq0ʗ5/yY.8iXIt؜ N>.1Mғ@I2kS&xd 0r쇋Xy>ӑzJn&ˮ5¥ i_eO&(ɛbRNQyWn ?!mpڇШ0OăM:XaJNfXٮ{3,)eECP΍&׊mP0K(P1xX/ret"18ƥΥT/ OL_hd)]7='.c:(XUe5N20w8F;빣tܴ{qE'DviGj"4iǰiqX!N2]k TEXsE؉F4NX!:P+T >191yl:ұ&ߝm.wc\G̡9z ߼ƝSE1 p2@'(h[f2FF®>OBap ;ݵbhTG@[8|_.˞] 3ti *<_ge:۔h!k=!В?]CCskqn IIXR?piP[AEZW̬i" bm5_a%0%,VOnI;ʱ?@'y^ga:ޕ*|X}'j_BRmEfl5G6C7lC?Ă>K-'UzQd{wpg3 Il1׎yNFlc-{RXJ2.Mة !sσqg 0DWd[d?CV۸eaŧà ,6Fe|ںswm[:RZqڡ)rjzNW[|T\U9Jի̰®#b@k~t=yTv*2 iBT $nkr,V,Qm2Iئ`9\2ĬN7E ՑR7$L$hfQy^ςo3`w֑;DƳf=E"E<[s\kϘZ^X a!Je=n0'!ؗf^my'oe[mpiA%yDf~2fXֈOۣz+?8ov1 joιщQ+Gk½<ك< X دN3XaWGO,WiJF5OHeۑyFj¢s=^&kL,f'BgҜ\rKxWٔNOHh.:-@CJ4#+YX9SOϜ2! T}>EFrŢ "#\}i\00<JMZ2e8G/hڳ[F6NX(@[򠗥\)$l& ]^3cx7ovI X(N4)ZB6 L.FɿXPڢܔ7L %WFO}ބpRuATpfn+:k75N?FR~,s/۲&nOPGw4 ,405ഈrhUK碃Y 1C,m;8pzo߈BirQvԴFgU_J:D5˜g[κMS.mge.1(OZ, R!ҦiBU״2>H}KG-/7t 8WFkr<Ӛ)?g?Y)S2`ާ ]JhY!#Fmms`[U"󱷝R [2']2f!iTZɽQJhPʼn/Z~;W1nMDnu[QpR(dCgoL_!ȮӺ̣.kFud%&Nv͈MP$4~]eVOZ[O$%Buv/[~mJf&f"ibL;_SOߣ^ၬ_)9OZR% D @鉸kW=S) ʍnEEyW^e(nP`%]HФOuEʴ-U>E)1<UP3p@MHќmxOMu~@xkXR/PC'e%8E\}3d^:v҄?%X CVt' (Nc1L(Y8e?bw>!EȾz0ߎ#z+PVHNa1 fzjVDׁns]s @};B }m)ۑAAu"RZQ  {2(gOTg>fT*[^e2s9'oXB`302?ůELH+ ov%.,O{O "pp</?>= uY ~: BXo^8TOGy8T@huN-R,VPcsy 96q!rؚJxlg3d0{p`f #Lݏ.O06PR<(1B \}zr {iDUE xßr,'ȉK>w9GºUXR4{d Ceamn$uOC$r7J?=t٘:hb {*$<3 J25;DWc?2G ?QO)\sفz{ϓ dG>XؖH/ѽVyj [nMg>Ћh%y/G tWi͠uD'ԫbQuMH}UU㳖d =^hҘp^ z0*yM?HQHzƸy˱S4pۆCns"{?fC+c$d/:rrVnq't.^cgD"G3|hτ5Iu&>Q'U|U+N[wY{gM7Ɨ#8:i炜bYP 6pj1vK~>>b^ \4.mM]W燭T CVO-!44YOaY{Rq`m91„5;~>{ #OrsfV>ۺ'+X Vj/:4h .ԗOn(Q^ejI9  c tzA"ZDO4gTϘ' d[݉<ŸdH!g"($Jx }cϬu5>-{-m8qQ}ٙMQv,pNGEpvz!7bhaHSOCMg*'X*<N|f1d_"81M=oRP04GoinDrLE돕+c!OB 5ۉ.{Lѝ>\wY :-&CuW0Fx'^HdZ(U05PJ}8Dr2&2紡YI"9Ze+SDTO5".(L/NkB*%+3Y-`4Қj 3h•Oęa6D稔{?ކʛb9m ӞEtIV01].uG-F?-$^`E B-@ wJB2s771x -M8-7g/= 5wcOJ@/d]K-#(CQ O Md9c=ޣ~3-ކYha0AS2:aOzanM&a}U̇jmR,t3T PrY;ŵ.'--AՎ\I5X,ds {H4٪PeòRUMb=ѺXﻍ12{({b ,g_hJߑ>:ȩ[e8]C) fv1Roc6&"\y~T r_FNZWC#uglm?eJȓmPݱ g?k#PA/Z}4|d.98: X$&HrkR6V~ Gc ikl@*=ܺhV! A)\>3#HЇ8wݟ DyG]L撔LR `+}F%y Ҏ|q)56Ja1#MX+3 Jݱ542|W cr/7*C9O`ͩ.ݳHm|}{Z_In~zyfCy\E Ķ̳!U[Bi_pwx53ԩdV&wFTT(ۥzaǿNUVM\bˋ|}ung4]ZsFaO 5 "[TTR DM!4){DYH5RUQ0ݳk#$faҼ膅*+*Ŵ-{lzҠMmauKy#;jF9k7+s G1`è8羯;@ڌwbR<+T茠DHA|%a榬f8r]vC~ 3k v嵖MD>/LۢHfv=+,M0mnfSJe:[f*m'NкR$(I)r Jș,ZlK7nZuj]}2 BD/9 ӊkNwUaL~+Q=( d8>yZqANW[*7#>]Cg"ruj{O]DԀ{,l+lT% o)K:C'k/S.kA6 5j]'$,{תȢ +m hp"YeD;H4ҝͮN]ŠN#t'ERJe(W!Eˉ0[4dGĊD8.ǐhF׀62; ށ'W`y; }( =$+!)tOeA:,7r\z5@r} Œ{gmKj)fCk{[?+vƘݹgh}w@ {4|.d =!F(*긆S_ 4@7sw4Tub,C!0͞zu &;KPkoˑū_,rgOdT7뽜%NІMYS=.dU;NZc&utQR{<35KT&RNԳyn~نQHVEu.";4٬WIPW6(q;02bSx'dTJ?1ayH3x3e4lӗ~j^Xdg6m6K/7۸D9U3 'SXCk|ף_2M NUMB#Yhut_R9no̅  mTV1ɛq}()j? >}o^c5pq`j h6FʯwtWԺƒu"{sS4f[T֛`OB%47IQHw)?Ch,?YZǮkrmس;wReAdzdYBt8g? r̦(E޺9h/x4Jg{F=b#M,܏Ӽ ۛ^f{G$_ c^"<=2=/ż2XszFwc8McuEW6LZcVȪ:V61-~aE윯7x9>laS*BCB6x]H)}Fŋ//3fs]ԥiSUh1 +(hGٴkD/[TGpm5]";: =0#n}\nU 2 |xW5p:]0Z?`7q;aj@3&޺KºX` jW.-.u-`u]QT?(γY0SM3KiG+V_!A5Q1vi{nƩLlZc\I hBVH}Cyimg_c /+,9vd.ݓrMDžܺv }?APa1 2졩GE{[5eš1f!9O_v.fAVkwR<(1lZ.UpϡH&MFGz)l5X,t)3|뜋tErpa NyLU! 쁕 >l#_߸PI9M%K9,ʄ>(pIhj70Ne8Io޹۾tpyE`_Y3ɽ Diˀ' }0̩MC1 ZޒpiD%n'Apl ze)nS}Ҧdו< l>[}?ʴ|H!s_qTf˻,H")@pJgp:$ςߚ(NݡDT.W}eTVHFa1!=?^GlLP1lѥu6V7;Ck,KEc/rrV3ҳL`շ/@:/N/KV'Ihӷ(ʃd ;v޽<6њ= d@\b;ΌS0PikIpHW!L3b4 Z,Jщ 2$*PG?a˾}dL7FG9溽wMwbX nyvPAxO+-}]=?Ϯ#|K,9|j :7 +æ[2GwB1{ 90sG땡HmTV084%Mh9]Z5` N\\ׅȍnx?<jMXD ѣ<1A Ew\ihwFns_EZYYjm>u ·w?@`ѕ.ݗ@MPyp^pRb}e0˛ՠ|r*9I<;uAY-ʞ {VIVtf1 J9A#Sp94!p 1P} y453`f*,{y9s '(6 K< HA2U=YO{0BPH&-3ExA U|'^mz_^*C ʼ n.GuN߼_uLP)xdzL< -O6]d <7I= ,\m2Q.!3S+4ϫT<-Q@\?/(lzg9m(mVɼS #޹i}\0,c&xg$g.4P?q6]A;P&lG8#Yx D+/ޟ D {+q=jQDD3cx&PL-(>*)qU0OT_pMZ-o1k$&Ui8bprya]|EӾQKt1zz@1/Ѓ#QDoUmp؋ZpOAt0Sˁdb"ahEj`=veql;1pW` JiFͫjm'iw_'/jR0 g|mc+:gR1 RH'u/̚ElޕeF‚9G7Ӑ0l3P(D.~?`Y G@o1q*=o9+|lu =;:;^=} ;mؖ-z!B25MI&Xyc3WN`$wkΒ$(gR[ AH. 1)- Dj7O-6G֌getf# `d83nMRcf _8IȺ/.RH!ѱ $nprj:˷C`Y9 V8 yC͇ !0%0[.X+Èt)ړɳ]ϴXB6'Rkc .hTJ[DU/ڡ7 e_EOʸ)^鎒v.u1P k@+=4|oO1Y2Ӭ"7kNX5ت`"lIn!OP vtFF.-W+JFҡ1+̏r >QwʔR³2A/N3p6Һ݁709c ؇2?=xd~|| q>~C4b^@_͔Ĺ:Bbq%(y-•~X`dm3vABuU-`\Dtkn>WNXacXEm1Lq0jGNKe4`㙾E5p+܃fE4ڰo@n($73PJ B̴VnYst(w"5PZ_.XvAT.%qͷܬ IK_ֽߜr>)zoi'0,mdqP:?wE+2eN */?AtHʏ+f+aZ whRҨ~~bx}]iW5yY3gW#&-OBϵ| fZcvCr~2S31ßү_ʿ5m5+ޔ9gW>Rbe}\9Ɇ—Ļ߸QfAM#~4So%TE!Lyo1% .v)ur/* Ί*_D!,*=rL" 4ll>*bJwފwiHH_;B49BwlQ6qXOG~GKHg$ l̰Lm/}net?[ ?r,snMՋNȆe-!ד`X[̖82pF!^Ds/`$KA ^?s| aDt" (uUr4XoUB͓"ȓr^ DV⢲x=&{@?}LLpi|dGZyF􂬠I_Џ֢NA`K V'ahPB3`ԀiI38>2J{]t8/SWV_>iS`/eEC t@VeDr[w5S[656x(qW@AG–3}yp\`T}÷J6/qU`I"Oˁu3wV> Q;gQOCrv5Ṍqd==U8Qo|Y?K(/1i  g)eĨ2 M& ߽ݹTr`YOD&_# w!߂hf_pc<&ҳLҏģȗΣpmq^m.é=mA {Kzi婯QZɞe hƟ(S/DBv;5$~Sf] laHPxUHYVy"p+Y[1bV:SWhFrҝt n=ӑy [4\rFA8@E(IQ}tQw#(mVSH F22y[.=x!U db9zCRZv~2~8SxUϗ%*ݵ[.񮉓7Wv:,IMfm{(Jv @ǷH{HH ??%rMѵ DlPZ'D˅> aEnlSc=^rń>w>^u:"C>FJzݽ>Xq59mSdaʲ8:ɳi9+or@>"H[ e7=:Hq-ܰ)Ҝ[G6bTE|$np%RbUnZ?j BKVJ({EaoKbHZߔݛG@O P䐕P<[ ^/85˥PHba=/+ikpݝxFxݡZoIJ&Iة3tPO d#bȚ"oU`w")QcLlWzr_NKrX.Q*1Ϙ -83hlHbP[чU%}mwnb yF9GcA'}=V9z36ͷH'T  vQy:| Oi(?>`GZ͌(,R@^NUHܨcF$8% #y[3ۘ(rtَ o/bWȱg2 Ǔ<`:[71saE/*x)$@lǧp\qw E79H7m/%Z(jd$b56ĴݎGD sLLeR/e^Pl/*ozMC%zS}`~v^M(Vj Na_u :TJjb@@FOTv];ٛaq\e%Lp4O1%E)5["rXs;;#v^]@ؐP$=4=<֨wňH E*xĄ,!TghJYSG]ːu}8v:OǐSF/tO WǴJPRC=T9,W++Jn|h^Kߋ_u#=aF<5ܣҡMcmvT/{3j(YՎaRp XF^k ]b<YMyΖU,l6W YSBK ~cߦMpV`} x#E'fxmb{2QK6.ȆyUI?lίbZ'PK+Ut΍$9trk.ڃ'/<6ZU$}AEm mg$EzQr1gaRôu>RWSN?*{RUԲsCͼn YZqQ;W z#lB1 8[DWo*C(rqnjwy£$T.ڊ<+2lF,vQ,)-CK&Zm9E^$;JaA,SX*o @G,WQ >$c62F&id?!2J>Caiw] ts M sFL(G듲st?S*8O`+r@۟Vk4/LKyn*:l'X o^Rg+6*NoTcݪy"l!L$Q \刖.L$ ؒ=3DlybC^n-Ȫbc݀`?*^9 Swz˟U^ M9A;*N촕Nq{V^\ ^̛d?A6B6m6ʭxKPvad.SOFI֜FݿS$msB-? tSM&[zSp=RZ=N'/b;8UJW[Y~uzF ^n_ϷJt>W!;G6}k:ךO&ў #|,%~x-vJ7@"xl&uwJ8s[EJuѐW{?Ï%>6g;<,  Rf~f7(ಗ2eI Mvяriz(ޮl>ajy9{>יLoRGĹz$85׌+zB+ v ϗbNYrg+yfS&;8'Ot8[?;‘͸[z0`gmzZ2 ;Ys*:f15Pe}|(黌I[5uowF0tq4#2PV]܎Cڽv}ۢ16з8fowq-eZ-DImFArLb3 Q lm!>դ}Pus>q9}CVoս^2TVJ`w8_ǚJȇ?JP&vNϝ!&F;>?(DZ>  ep:D֠ WqrՓ>Ê VAAL/_Yok\,NQ-b'&~%I^;4^5۔W&.ZD~o2ۓ'U&Oq'5@:`m-?KWY-HR㢡\J\AW? v1.dNHȎLNB]jFok,_I*fxM, b,yI^SllO  Y|B ,̩]wUXSQ.TSkvkf /]T<-yH7{b%(9%a)+O`eLFar\]`7M{ҤGfbrzc{Gg֣5-%N nVY^Pe[sy  B%̑ʌabڞ)jQFP޲E#8s[ EsRnw)ƢҒI?PYA񷴽&k-bMÞ~k^M#YX\DN-yewZUpBP{n`\tWKw.Je%zKx}Ygv}@oקg)y~p+<8 `n\(d OLڇ'&oĬXC#x<53ABN|~v8<xc_tY*$S{x봒9|{ZI {13y(E3dΆ L‘ptMȈQ6-Ӏf֭ xNbAf݌S- N.͂LW2@i4NZJ @Rwɖ}*u4fWs֩DJVoT|RjXC:LדaR7,c xZ5몖|6}[_B>$|DL*'Gu|B˵rsL+Krj貤یsHB#wy9F$3u+}붟<:AwU2lc@S tz߮?/ːp630xj2[,o\n{Սާޠ~P$-ImqS`NRr"./*.e<3_%P!ƽĺ96z \j CC.WNE&˪;P'.˸ѭ:󗴍 FF wnw2-$>lL'. Mp*r]ZiK-3ŴCt?Oå,=q%&{ݩHlsIE4M"B8[wo3>>H!ғ-x3:1o1eN99~Nf2~$MD""3jCz=,I|dEŹþ}iyk!a2s]n4xB1pOnC>LyACl!Ea=ivG7j̞xp._A6 z>4=[Lj̍1Y+nsZ ,(a;'LQA 0ayV˵eVi=63t&vw@-|IALQ9)\ðbd3n,UYL _Xw=|9ZDN{8*}X=;qNbY8CB̘[`VKFБ@o I 2}[N*=s^F) Zqu 829afȬDŽ~qLo<)e>@n7d@^:AK~p^<ԒL΄';:P˥6FeY r Ϝ\YR}7jS7Btva }D с{(cnm&Tx_G$T+bsj>@0K T]䏸?^1`0oKRrEE66 Drϰ5ywIug⳴9 Z]~ wݙ[Bh'Ί 3 q 9#}Rx!ZFhXjG0{6?mh)\x)zOSQW&7b:@^͠m8 \]j4.wHd& eE['z PXMwL$i ͼzݿe&5`e?Ѓ" Z0JzWxNmn1`zc(J*3K$CUts0 Γ|5Q{R4 HBl{y2DBAwsx . Y?pDHiȶhDB֞>Z[l02Γ_I fY]ܒڪӦ;2=crPIçna:Q^9pw~}MX":q ٯ4y+Jc1OE1J+I]w&9FjBWлa[H&{k0;#zbN:DO"!yHJj9GVJĞ[x T`0UR Y<~\jJajB.{8 %Ԕ1XQSoyMvDeǹ1Eyު4.QJRM!U04'l:nj93:*~v@ ?6`l/(y鯄{dxnU Nf ƼHXn]S_ -|NGNe|9m%[S >Zēbz&栺NSZ0d;df$eVװd7 )`>tk~^N"Q[,: [P}~g:_|TKNV_ΐOlXlA`a8G7>g=ȄRRx 6m3)[n ;FY޽/NIŵ8*$墼F\ǎ IήVҗFRs$F1#J &?4h/ߤCZ.0\ik 0'oS!%yJK&~j Ԑѽ2>,y ' K^Ѕv՛_y.j7Alw(kw?j,~Xz2+h-cAQOmR`O:$˽|S3^";ʹo8I liN\m9I݆$ 6QdmtiŨ"iyǎ"8KͲƸ'{9N7i9diFK3¥ Б+I= *ӭG;*V\7wY9M֫  1%~cq1c|5S/ O $zsy#"Wl+5yMx|COv$ 0Gc,=J!3S:SFTztD'f;'`e? QqX6.Bpmc wc#W'EZ}m AϨ`l~ ѸP91A"e֝TO,\)#^X#AWF7#t9X[<^;C`,zڿp߇Q9x$7XqU3i*w&7#C* C0NG",\1o SFtx25/%&%<8| &S"i %,bKpL,NUHX#i}]oqkZ=@Jmuz9+gg7'vLrP|ZjF]h p"JՂ FUZv+AYM3B?xۋG),<#x --CXr0%ĉGAQl"뺗 ŗQR/8ȭwKQ9؈Cz֑TiA:C:JpIc'rsMW6Eٗ} ǀ}F" ~j|k% ?jjÿя>q[?V:.Ҫ׌]y2[fK\#)L^+"j;[cI6Nyzg-g{a˖/]gpi08QGh4g]"Y$BJqY]DB`f!V>e . 0ؘ`.@4\}4MtO.'Wd^!{]W#ߜΪk#/FMZ}F/IMؾh]_4u}~]]sʹ`AvKT2&(ôŝ$7FN? BX:qȼa2͖#rN.knݿovevi[,5^XfpoS{:UsL %Pq`\$%<%\\!TK1\j=Rݟ쉞YzK;<~Xb~yY[>A{QpAP0A0=uتt'r,_&=G"Y7 I$ѫ-ռ#J0%tK$i֔jPdPMw6uρJw=e@憐+hA4֠νh5J!3pԩV/fR}H8u ;G&7x0 =jg^Y@H peY-! !rPيc`oPXS5 h`O@:͛>ϫv4 8"p ? ؑ!#AG5J1u?q}S<.xFOmZk3d,@<(tdKkwLotX܋^VWZ}jƩ,W" ׹XA%*h0v#^%A`7%ze)heA,qpag4"K? / 'JɨqW ꭁj}Ã=FObu@.nгncJooDκP(ӌ7­+|6#o`*v툳u0uT[ ":=à'(zeTkqدx}g0 d`Û@ơwq]o ;.C,}"eٸo5v2g}K6rW+nL&Z񓎫'Vh="NwCCʜC6JGq݆s*N@NU(w͙Uhå⼽*9ŕ6v8 #8pms@F&tvW277QDGa(}c`MOUզw#f⶞1o qz6ly\+6~o4^] )]'{X98ㅋ?h(.$ms`&`]e&1x% D *U'52|Sj9:'"}>v7g%f!?"MSQ)66^9ua-kP=D=i 3!W!!땃7//9,W[NK>tSM2؞ROSLrp;-bw3"&tu!.u{?&hf[5Isb.ȴYD %CƁeVD1 ˀ%;(dI΁D!Ml96(u;&rAOtMZd'+)WeB .4!U R\iÕ=C>4s؝9Rnȍ=Azfe.3r3?oV(GWkTzyV*M|u {>ٶP |:-]ןO~ƮҗOz0SdRՑm8"тG٤VuImF͑CV0s.5͝\f} y*yP]>BŗXR'BeTY-p  4>Yxܵ"o;fv{}@%4vXO-(Ҽw{Yd3y_sWEjIZJ\ʅzkymR#l4;& 6×{8H~nheD#ko|'i%+ rk Erb HɞD=l [MEqm WmLgY P&$"Ҡ9R^AP43D-Z>a-In 'ٙVAZ 6gDˣruO$ݖ9ad'G Q4fȾӘˎwX )7Mcrʨu̴&:){̬H*soΞ?K*3ώX^v}eH`K˗"\GRVqSB\Z{8ꎜ`(|eMp7~ntNf QMUCD,ȄOhR1BMֱr"wHVVMlkip/_yp/ ؟ 9a@[V $8fGDuς(D ˞k:֙ aM!U5rA6X+ sT8GE@LP oT+P+VXa(WL%zLu  pI3C:g]vh*!8])͍IwcG sVF_V,\P->z!4W|_O uzlv?j;0E=2ژ#9V+("VitfNsW㷼BA7V#A0?=(K]帑*D՘i5ϜԄTUrA{72enI |*id܎_% U/d#t6PŁ4{]3 ngQe_b76{,L@u"ZJUc<6 Bu;PXb Ӽm4 }1w'@Wm<" L$ (m[qELY,k5")h|cHp$&{RA3::o#e`#C6BFt,0GMwrT _Cɼ32.ñ%[s&&6~lq Ҡj5)!=M#)ŲЉ ^XKAEJVCv8TiWtD_d圡ztTM RU+ ƮJn"`? D28 X(ЬlsWA߻!ص_{r'0`G~tyhP4s`kdŴ10  0{WĈء^Սóli!fDFdU%^cnnxiZ^.Abs6DGhX]5mDdUk(>Zи0Pħ_i3?ȸ2[Q|b}((ln@Lo|M#-i+;5q0 JhFh- DR9>txF)KT*&E P}zwVZMrEh}*f4rVOaѠ ~x*>gl^.=w?hP,È|P) ̖ы4ɴhD"7r"fhѫ.u MvOɜ*ۙq}?``Mo)v$Q~zuWu#f颌(4 z]G_.g3SZE|>9a!hOkX;3&'J^!t|6#* 3K_+p@Vr][>XK1ϩAm. -s|dF.؟mRq5WY4x |'s^MS2L&VlN͹ #3;kPx07q %j͹TE~D rq(,XjιVN]@<kAMxd𧥻cO[ rNH_/ZUdaEQdQuZ'bEPsT䓓V bl/M4ATg . =GNȲp f_¶jyvj b˓ȻK7hݬDܘ oa2 <Joϥ#-wLQH3D\87^:pbFEMȠ8DY'&D I1"q_Bx$y M4vF14ZȠC!_jHgSB׋Ow>IrדnG& X5G-{A,E@ nK['fYCHZnXHt@`Ptc@lK;-La}˴to6*ҕ%7۟kD@3؊s ~ FGC>V`8:, T Vrߏe@P5~>SCvr'1OQ4sh $ (_ӛ"kQv^2&+]/88MM6| oa.3(kv^Ri9W JZDuiyps¤pMɔk?zWU9eP"ofu$ VAk@"+?L5+K#G<4ikC%%-lKb^Wm?{cr(Օ+6> #m'Q/4ca80nfȟgAoh6}~Ol61aB3; !'nicNKB.W wI꒽KS⢶a1Y3jͳ;Y\q(bʝ;An5z)>x . olR̩ z/I~[on8.2$bd/%fmVFC5EݤT`poEśCB;>J3I_SSULfs?om* 3 L#'Zȡ@ўeg{S'E8Rj[~@,#d>^N>qa!XY !bIyT?J¶% ǙV3 msH13k c2RϦ/v +_w封i!eKҲ/dt_Xd}%[xq8\"] 4&hP«Ϧ{R/ y :S`4cm;a拜2*dG fg2_sV AGjƧRDYXaVQWh;5c,!ArYªDV ks?}R=X%)GvsP3AAaIցQeh?8 s,G^:}bJ9<-LQulX%b-t@˟7{ Mv8Z$$).Nj΋4 ҩA8Oh V=9Qde狳Qg{|xg)]ܪܴ(jV7Y~Kec+зsdm#FB:_T:Mm8!!a}o#O1+8ZTyXT+϶MNГxƀjÛ@$Ίȯe^oK7SXBGo;؛WFۮW #xLlKONnC߭ ܏UIQARrL"o>')G!œ%;NEP<+_]Бξd%|^%kڐ2Fx&X%)V74jcpƫ_\z) LlAƳd^C{i0I=z~v3:D7U0lC5-oTa266@7 >B:0ٗ-Z2Nm~qAyȤGlxcيyEnQ_[}2ZRs0%un|Tggdq`T5w8^!g ygW?猙Kl\(_t.x.'~]Jj~[DL/GAp7a17DaFOw n} `yxi5 ;g$C gOO|P(.g_wP`jZ n|^7qg vFS2hvu9< u L(+5HeUJ4^1O&3/Σd_ PL>23E>CZ翬w@B b+,mT <֬@X`1GhcT7{ IVNLZU\Hct"bYa>Td6JnnpwN]=;&ojxk9`PS3.7#w\su7„_ .?׃T9S'3uD*Z%"vܑrINmReOSĥ`! h'g39-F&X{@Yy/1BdhyN`%d!dӘR~UIZ?X}r(VضE|_c{Pbwu(JZH# ~w ͡N\0btI?t7pERتRh{cp9{Dh>PU 0L\ ܏cfIG18 f;b2;#^ lfX HhNyO.:^ P\L8^ Ϯ_mbƭ]d!z`;#27apyƺ+iCY;ʫbu=H Avw+$wmRXjF:b!X}[vo]sd)M"D,5sgyv!E`!Aۄf1~^ȟzϱ^'>j4_Ep5p8Qjbb6n=?Jeѵ=^ew-Pv=ho>TN$ma7_s{+_E7]n`R9g>[ĮrO)w[r {xuCTtra6+~:B[qebfS8MxOOȪ4lhubhs-%9bCs 7}IyZKW}ޮa c}A) _;cKA.PVr(ȳiCL&gx` ?UZ(*R^ǭZ{uYƨ?~3cM\$VK>YO(:)񢄬h,{p ;W (/y*AFJҜ:{hzLg3Npdþ5jvLivց&'s"Q3  DF8Bk4%}QY&4{a&+}4/(tq?كy_dߗUr5}^يD%ԵIY./l6;)ʁ®'m/Fhi>G֢T'>>>.2| ނkaw}10C^Ȏ */1NjIx9-WVf趨٠T]eZ4u+ᒉ8bLJw̶hFOxb5A445s^S䫈xS8+u1;P |ETݓJXb/!B譄Xz__n4|9ՕDm_q3OMHY_ F,:PEUQ\c7A 95o MqH"#h0)t,_g/ =C2l/74xc(CX\ YA' Rv`-r#PA1)\TD(=l)ڄ+ެ[ |ٖ)͚k.oG_#a[Vq3C6WZJI,> )y(*7ʝ~ M[udrF 0ZT֏ "YV* (Tm Vl8oj~+;1MnE3OEC^(,<9,jhu \B}yx‡h2`FEVS =D[\|VN,Xj80VGЄ8%FFO'(v',ݢq c^Ĥ/rRn?,tESc2ͭ^4{ qZ^.;9*A+l|?پJVt :gro)I0 ?U`V^HqiWhFRk}R1.g9?M4++QDpωF4-SWzp~".]>]_M&J|u =]Qy$t]bЊg D"2?'PbX,LU6įC>y~y AԗFʻ{^eMLZPQCt>B .2W閕k|~cL +ą| ϖ_5]."Ȓdؼuujz>괏GMyNcriExi=2Nz_-JC%jǛ{15gn2"iAw*lɂ2;Y"G= -zJfW AIѤ1433> ce$ޚZnRz s*cQ\PŻT}ru\_%tcSȒOS-%Ә|:pcFRtхs IJ{=Wܻ{wp0hٶM;dhragi^<Xh04xzA'Np[&?;BJ/01L}_ԨR;< =pe7<||$O+'" @N/n5M:2eN}BL{AF,?u&SZqMVE Z1JFz*(/.M]|Nx-g.|Y1@7D'tRU|( atCZ4A)*Z۫Xe OZ% Ht:|3{Hꝅ S"JJ{.@QQsAes1JuWO-d.eXzp}J;5uuьΟHC,)@VkQ|O ?~~)g( 9'[ﴝ|Iz b]Dq,eeP\,XO9!b V-_9ksPS1qXc[)ζ<-o+7,7Ÿ+Y`h̨ѼceP `P?z?vj鮡1W&tIeWr~-,p]Pi!rB BGMqk/f6Rs qOtP;:8=C}%{tSA~ib{дΣUmh^(+.6*Tmi7IBQqDK4=m) ״ n( hpWlO`ih8i % Y Ňf&lDB^p5Q;%N^,NCj1q5DdTz)'+wwtfÙjlq VAh̰˔RQFb^,#u|2auapEwEr97; E7vXNS FMfhƌY'x5J%|oĆ/>V'D~]Ǐ-xzi=XQDp2L% [Rd U@)3O;q1Uw6$X@Z8P˭HX`"dK܅$N4s8ףuXw{MhUD^W뾗Ƹ "'*g؄C^ &$gijѴhNӻiklͨ|U9o5zj>5Rb{J=Q]e֜?ZHvf3$2ì8x3Rhe2cէ{S&(\)\*p2usݸ*bLU2KBM%jqLoiwR^4pg) lc}A?;D dڥ38qC+wgiٴKFJk&'\ 䃋xN!՛K^#2Htel5^IdU[&#cӫq_w3 /T׊e>{G`EPpyn0TYv.!q竹Om_ۥ"j$TV)("Nw4I Xe̗u7G\124С8c^O~r҇a߾N{M'r8Xgwܔ/^ސ9YﺳAA^- oPxti!$o-tX}!yA  7؟<$mLR2&z~۾hz'|4/Ky8˅嗎$&Y-ekgpC{-R;hfuCB!oė4O}@y(ḱGx %^о0l@XW}Sq/0G!rP̷yGE}`,SFcg`[ N;܅YJ%ADgJT~TV{6ҏpV2lXޗ<-vDŨlmBif5e*X-҂d%501j=M.%rN*BlYACy2 2D&+&3;eXjoZ\þC~/^Y3yt|D:4$i\N^wk~YO~ MhuCS ԅqG=|ڎ ?@sπyRB>NԛeX됑J]L^ٰiwO30. wo5l8UT$H/̼Z*엖ÚI¡rT+J`$YaadXk'oo=Z$n?SW#]^=&hʽv, WɸXWsBΥmkqӄ"69[cuMr %m˨nmd|'~3Lp(w9C}/`U LypLt`0OGxz)8n d@7UCxo ASzg Z>Ko5c$~zK,ګm|{q>joIx$vkT݊JF~8RW`HbO:߯a~N>Ki?X 0α;5uV[+S`> T'tQT.冈]lgyw/ XKL֏3h:CТ`l>AY99a_7v6rTpnS7&k< LJ#٨ȿ"7d#NR ,vκ̈́A:}&Ίaz@Is]b~:uUiBƝ*nuBmb^"+V|M-7ƌrFR&-KZGu:^BeȟDşn5`HzrBbÄgj]. 2Ս.7gj:OGeTqq5;Ih1& Oi=yȝN'J+kpuE-`x#:r$1-k=P5.<I6Jٟm#Am|٪7 ++̫, I:4C±@.8%TD~nBDpi *K:y&M~,~$_tig]]Gj3sLT$_LM0c^qe/aq@JQdyՕ˨$E'.`ƙ/k1҉.gsЉG @Je"vZb5U0_/#HDd\;Ѭj\kE܅/޽Rw4NѕD]q&n-^\gF\߭%\A[vD!o+?,X?kD(~ L*`.ڦ.Y ^Khӕ K֢杪(q"eY0"o> xmk-գ2W${gLzp$ ~@~:g;Pχpgmu/10|Kf0BP8rfm3:jh5>v:S:6g\*4+ox/>v+I;C#*Lkz_otB ^oLiky ^M=1.環["WbP ,<+}SIǎw B ّM<3&$fYJl7/cG6K0?ֆE,y҈ \Swa@}_>/F!΃*p p0ژ:\=1-+FZH>&$|bગ5֙ѳ_3,؋'ØZ}^ff( 3,Ѹ@{NmY:Ӽ0~̿)-i1^XZ/;kCs3'i2zdC+ "CWŧ^cԿʊ1Ͼ Sqq }'%h>H٨hN\\r#R^GSFA*Yz)(y0[LٖYMخCB7mcdS/le&r.5d4,/-5P~D,QDJ?YlT.3ٚղXk%^_:}#stC=8tV&T3E{naBWDg{yT}gu{O.z qY~ڪp1{hCw4otgs}`y&M/ݏ @=vPޔ(S|aǧ'tki}V!4᳨ur_iw\䙼^WW 6rf:ƢR PH9Z,g;ˈ#TDuCGN}U?SeT"Sr1'M6+ TTҸs|5;Y;}63*ZV*D(Ko@|g0}TQ9<TL :N'HP.UcPSֽW*7 w8ZP!XZSJ9kj\2M]5ksBu2[SΩ!*Esϓ`Zh%F;K\/MĢQ3.ѡdeؾρr@y=:KEEx)@*F`^ƝTrRu}0| &(宀?pb[LQMc #z -xY&lxOC Sbњlʁ[Dؔu FڑPv#< =M/ ӅXGnV7,af C]?b @>&98IMϯ"0 sW{Aȃf#lBN1 Nڦ @* >oi/g9| s$y9sRDB^RAuq=u9_KtaUl 5gg=]UDotq%ÃLOxFSRA9Q.gtYEL*u=yX.hMܙ_^'^ hZъ[zjW_~1)7#!hjϜG(cƣ6d(aU&94mg6$) lvDĖ!*EZ& Rb8pp'Yp\gXjԈ>*LgGbVwkQ)4y&'6(C[/n/TK1gnO>.ʑ5!׭AS "W*d|u/RITdZMܽ#9:}Q.ߜ?@y{U]6 [4GP/ax *@]:h_8گ1ITe.C5LHQ ^|JRL8f{{ܭV255vyɩ <37JDTa?7W7;/r]1cS)a{a]+nzYz.g䈮XV|ֿ$|X>۸` x.S_ $ɝ7{ӘfW,^IWJNl`8ӼVa2叶< uQk<ꕝ.IϤ:L)%6F_~kR iQ/6ʥ!-]y8 C SÔlWpXh|2ub ?4;)mnqR:LVXh4zCq߷UMU(m{8rL_DC`RDF*!1xiE_7NQ q+*L9G=cP pزdO 0$NN,].O#>B(5tV*m?,I7i7'7S9p&'? уXz03'3SuL:enʆsA0e9M ]Aq#y#;o2f z1◈TYMm/o(%E>ʌD}2ō J=̯2}j,gT \Y=›"1:{k[Z R.Cw~݊*U{n;QP24>#9.6?'}5WD2c3*M E,Պ ?h?Yye"$eb7]f6͖!9XXJ (h/DՅ #B1bGCiXB%Q:Ts_6 !t*})*S=4\<Mf1.N~T uC71?zTGpUNZw.xPRqNImp4qdԉMbۓ Fj(n˽br<1f[|h #0O&WŰ$::H ^ N>T#E>ޒD&60m?Iy- 9hL0B]o^8p`!ݓU-6;N퍢UPY!)yWu -֒-xms".P:U&R-mh:XڠkMZ=h7 kYGR~DaPʴ(cj۱@8!Nη@ Sr~H!׿i'ĥiDOW 4L "8 X#==&t%P'ߦ~طݒO`}{.lDKPX 5]MR%ٶ#cK  >ğQ?"HU&UzW|x[bMj4eoRI)~1cy,-xfj s]&Z|u{(Ksĕ|Zw/i6 :r0Wx(0;v輁<- >''qOxy ̌>hYu,Z_TRFuVK^fG,>իW>F0?KRĹ0ukwXr2'Wi>測k\QmCBlg%QM.l pK4upW*;_ٍu<gtO95 tk:d4xo/B'vZ w}N˫+"2bN:i4]x́=9*(x`.he΄^f~4&X;psd+B =g둚Ty7K:.48'0?d[m#oX xbԩavRSC_VEM@k YؽYY_FadGB;Kх]~@~YQ7`0b(Xd-ZA%g^cn @ 3o3ו 8ZO m':4kX(=Ҍ2vƀ =Z~\O?osTҳ#H)."Y%>zW=4,Ml}E%&ǝeWBZVZuXvN5o!"nD@*dsw(/oXhX뻧駧 氩0t#W!n_hl7k!@@Gs ~29 1d*,'98vDq_1u4f~E) æohᵞ4Pƞa2y(L&CBJ"_ѭ"'mTqؿJF֊&{*fٱF͓<\s HNpb%Ü`.E0i!.SAãHq[uk*M a 6Z[2 <1ܭU>}Q=iZ7HΚV%?X}+bepW v=sHg]eRsHKfr_t`G _;.ju{tװ{9/D)u(0.?FM5I*:a8!a4M6Ehv7X@%zWs$ܻp_݌t,k=zzdL#Ds.پHLѧ(>6Z O`Ύ!x/왕\}Q|db~!Y)}x/p¥Q/xS+I,mNztō"B܁cP5mӹ#z/4R* fq˖ Wx⌒l>3%z\"_C}>j[k (VRn}{/i=SpTCӉwnc4D.,pRd7av;@& XH{:2y H^Ոehyz8,op\tJ1ݳWL`C-t'~WHQkz1yx7%# C.8A.専׃D`9Y;bbm)6UD餧0c J}3X  ȩ X0PxG8% O$ĀB^P6\Wd~7=W(,zCjF+}oA\wOtm+H9֧7Ϩ/!t8Txg}!eZ _Rly (.[܁2߱ub~a.X!5׷ݥ`GG eo?Y[TN!*2"$B:*La?7q6;eiLcU "ɝT># 1mxW]?^?) )ۡsX| qM7QLja<~N_q\H *C5 X iq eSa,ic>lc>/J@c)< YZAvg'=JI*lǀrOQYcsJw+M8aA{RTH]? "-DȨ8__P62e(&fCeojG\X6]Ysuu#9&n6Xѐ:[+ C=rptG1PfLfc~sL uI Cex]d7Fe@4wq)KWĴ.K&arވ+]Z&%$-Lo6 G0wq! `!H*΁XNu1ŢWoo0R}u-s^8ߠsɦn?EϺI:& 7>"p"ٳf>2A@w54.;b^iSpJVWhY%*C1\WP*kl/bpc8s|Xe]ּ&h#}PGQ`Pg,T0S}#`_LxMYB[odDi =lI'AQ~GcIF#6=" ڼՄ& !)=b+lKe[/2@pH#(|N6}|n0p<ĺ1}qaGD.U6H$ wfDẔHKȀ)/ؘKFpؐ \a"u"^ŵRN ;-F6Ysmؿ6o 39C+Tԧ:\Ywphpd9%xfS [e+*@v}};||$<3E HlE 'Tع"N܎o6f:<, YUh2=h vMzZdkR&t]<1_(7q\%=Gܙsnh2Kvm>SN^Z TQcem LRLVՏBL.I&P\qGȍtڑ/s#ߝ<$.f8eDEH T|1z Z\-s5C@Nqt1^65&nRkm۴ 89/A6ƦFojlZ8 ;Ir8S8zC F; LN>osrb9׻zBNuDPc_$>qxءfNOϗGceFh@hRڼ5W¤\.dS٣_6xGs|kzy8SDQɻ-!P+dӱ`?wxiob𺌣"FZAueScWۂvSQ-!Es6l}sCRkU?X'Ԙw8h(DU+$+Ѻw7+a"3 MݍV'^KNjNi5j,8}KC%$1[ʛ95`/ vV|2,Ԡ/Ӑ :Nf9#ϭihLRanς"* ޶>͌uH5ʎ 4 ]|rIӾzh?Vm[.^Y ݥGk֓^ 3\_|Fa#HF`dIXt?B9tPDw7WͿ0l[Hh5Ijd%zThCot; ;~Bvt,i%Av Pg5Tv9g$@p)dL1 |+3Hoy+u"Ԉ-sc"5nr8HpoTX o& 0^IA0>ޗYʨSe),% f*;?HݳuFY,z7l&f7LKn?8] 6\ yǡk6 Wm7&>>Gmk. uOc𓼵]Dt!+[WyՋbmeC'8(~%i2:Z3!e:7,/08ťƊtIl5Xv5d:;UOiTRSef]1s@jxC$hاv_Y52=ߨOs͂l|h6\hS#ϖJDƖ?&`1@#H8yUigbS m ފVdUHx,u:j^T?% >̢n8IB#l)KKĘGT]TΤYQF ҇'<4K&%1SV{ +6nw_L!FKƥ#6/4 v ^}'S)ڊ]M"<=;OkYΒs_`Խ]"@6D0h90!+ gtÛ"aH?1wx]@e%bk4k%#7I0.tyfR+2|ց"ᣩ\]ì\FwSMM3stUyuz ڸ+Ѭg!"y-/Ea>60{Zo0koߧN";+9xF@@%/;EyPsFGn)zXS是<Vo I뚉w陠Jx_z.yROM% 4]9v`l=s*QWujrLF^7Ogþ.7'vJ_{R[ [t\g%V>d2xwD~yTShp AE^b TB}}0J-9,Z)}j~2~lʹFCMԂ~tDV}{s`aXϏO'䵚9H,? D$7MU;7:[ɗSCT51," >[җ_F|4&!Y&g@rf|5,nʤ#<r;d H3ěrX [ܷZöm6(>)1WDfDVrY$I9?p/O먲X ZhmS]"FgYd^`}јY-FJiUgoI¦i O/FҖitJ+W±䁞b6\뮈\,eguJXq4WLq׆J")$,jN+{}C:8j.(,՞w\;ͺ ;ʯfq 1[td N/wv WJI@)ipbt4.(b#UUIvkJ{LǢƠZ6%$W[pDX:+]w{}]:+={LAw +nu˖ՖHY3 C{\bj눸g Ykڌ||[@~wL\vÚfrl6U[ȭ&ᓡug?bTA2j)G 'd!>ZX].b/Y0a+ŔxMB]r2z zPa2fưAi>7~wPw湦揚Ѷ|}%}Yg#y#x GeU[֯ |^gPAybWԏ&X~nqI̓i+H)mY sjt>:YiBG0=xH wH+L&XvB~I:gń˱eQ*xB"k@ȕ 2N:rCkW*ފMk.̴E@"Z+*exG?RDc67ѼU#q/EX z}D!nNZ'Yrh0BiAn:`^&%wZا)'xrܨ}i|R-iHŠ0h[+.<ۨt N43VRD[M\)rIsMX|,ImaSa{9F!_P !FY- NM7 nVŠRwܤ?a z=u٫fNa0fc4lI^**M"1jTOF를b-GV]7:oprovEb?Ļ"v%=ojK$,\VE6>6f֊{ty82.Z_@94eyad"3GEl qe?m_wrrFhE$QJKHgk7l`=8hVGPt61(6IHWC.eջh >∐Y 3c`HO(WaOkD!CKƕB#?wŬ^S$+JU{#="~e.u^=T)Z >SWWq81_XM &bpcd"͊%I#bOGh4Iʈ5odd3GaP Q)t YבZG@ ?h]R)F}cs#o7DCAm'OĴ\!rX?gXˇYiynX L{q߆ppM #6Ev5GҊ܏=<bxw]Q=u,>Pa'قN \p$,CO j+SZP0[փU!jrź֚>+}MuޫDx#_r@*8r!2a6d3&U4)w POQ懇G^ESFcš1,\7;o$Fj&YԮ7(mc t9V]odTg rʿ6%75.Lt;;g_F5HK#nzț5gQ:dP,TsԖC{?ddS[N5Vl_=@ 9JgBfX]ž!nKKxXLb}i('벡xЦ&d䂑W.&O t<[ u3ZFhcm<%7; z.JUTSS|L_Q&yPV |LhOذqk@} (Tv\ss]sKKţV2pۑP¬rΟ՜ݐOgBF3FJg~,1v;O,0I+Mk8K!Pɶi0~nծGҴ1jᇂf$=wu ToV3VG%'_k")Mco $D%zG:O&%+n{&<)mD bci|3]aW3#w^sY gN@B8  !(GC~:w7Р|;k]?U*;k7M`<T7w*~Fi~ҴH`uNIlܚ `m|Bo3dޜ}}3(/VsɌ@ٳ@E:DrVAN /0 DCmVPB^nd?v)L;Xh5$V $: V3/WXLݥ&sp&-S`cG^uD )8(QkE(AC!t!uJy)F.0E>-ג݄~*0w 3sǼNc}CS:0a;>bDshrFx aI8 ~5Re? {>;"zeGcPfX Yn"{%цpmeqt΄,)',C_mˣKQ F2t7`bGTLӦl qqtdg"Nߥ Mf#_+n-U뗃-O {m`} ;x(ibNoϺLKk.eBQ70 u[l+|g׍6QzQޭbE)4[9#~|ųrߚY'ӵVq*~D:U"rݮy9@|,n!jRiy25=p%AI1 Bz?Ҡ}["z7 ؓM3%-FO u,%m;OI=;3/ʹѾaΰ9V#H>cj"&h5c!$ P0 YOU,Owi+ǝ>58}j/'n~ӝn9ʫJ@ŋ8EZ#LT#3v.\/m\e4=PFD42k5ۨ* t׬ #XQbzCUU<-ΠI8ǬlS7yggX^1t^ԲnS++r^!^0P#5s`d¢Q-c8%ttv_ڨSj2xW_T;_y(Pfy#+l%9ZAiqGQӇ>en8CPwUʨ7KCs;dv+9,ű|ĝ&Ak@r68SC-?xh&֕$-,}9NVnŸuQTPHSe}QEbD|[-븏:~f z6!*K+{K] Cj4~WxnT[rME.éjѹl_ïa};M o!?:73pu[l4W&Z7G!2ov"!-b^C?e-(uWUcǤ7Is(M!*<LjgzTR`>BR^T!|HHܝ]jG=(SqcU-IL4J |h<UX :bk;B2uኻ -A9D={߃>xx!/CաQm<1"Č?É*ӣM.;჊!I h"_ݹroã`I?(3E<*N%)w9`.Հ7C f,^a(Gڡ&5ez͡r*W !Q{>X?ẚc88\|9:S`gJZM|vM"o-}(J9)UhAGlI$?clÄScRɜWf}mL`ػ˯.Pl\F Oհtu:,9r42}J6 \\'o)1zysƶwSo[^4eї*XmuśCE$+شZ\KFz厧ha*FC+I5B_@8P)OU5'Ρۀ]').h[ӎx٧c g{$58l?t7{|Y:XZ =U\@':L;Z5 omb& O$e>dq92osނ&XQUQrI$^is7r[3̊ ^Qe_Wm2?^ʰ?XftJip3|>CVW e!jsΫzԿmȝ俇+%wF9$JYZ!pk2K;HY'1T&HVN_a <Ց.(p,)^ukzNRB4x2rRПy$8D Vf2B[Z"wB[lI`xcu=q؆G y||0E.F%LόH@kӚ27 <3afy雚'K=m*sf _:JF\b /Φ=X$_3ZAj25xbҸ(e^Zu#nXLپ~Fï;=/:eok䌆)UP"-]+r'BM#B[\E֗cgӏNN2}w%q]x:а_ȱ̠-ČdnQu\"u=;>6@|zt‚yǥji~Pf`u7@'Z58r,.Z (IOkhD(ۃ1:x&^ϓ\[nv41]0xey{2yTQ> {?Q[UW~=lT7-~ `﨑oc)WFO+TiY@|[ \@vғ uG'W3x),H>@.j` o^1 (1Ee=zaLRbN]_L)5YL,+3s(v_ux$ 6MiR#ClCt:N.p=HKɶ\[B͟O8!!^F HgSJрo;"YǞan̥$x9<_0eSG8y.'< 9l'6 ,|G, C^? 0¦2 p'Wj u7zH|tt5dp@kvpA)bTBtLI|xe@J̕a+3\sp}0oM5_'HBE$7:wI~{57f?ڭH"}3'|0vMB=}37"i.ȹG^E㟾s.yGYkJI];"F!*5XQPf]MM8RetD{G% Zz%r)xU-{PSix[ʄ m0κkZW`[fԹQ-X?`kOP!DkY86i6~m&!@*&##M1,>gA` %"ώX'm4.0Vf=&yӦ$(BY /e{U& !Rz\9tܘVGQ6a~ȉLiq2Ғ˵27j6ْe4+`-b4beH v7u?|ԟxp@ʞ<҂jb@ 7ވ,GZPð,Uj >j_unocL\5 $Nn6i"ͳG&cN{V5{)=Dw.%mDBӀ ._[y +aP[]t1cO |= r~ EU4fVLFV~/] #)":iRS]ld'om&~ͽ:O:_-qo*TA~L*J@/$¢䛔wy>~Enj"xfbS(1sئyx,2Rrw$E!PV Q!g Qbuz|P49Qpt ?nɵy R.HCm/3Yl-51d,gƅPgi˽L̘kEC^0(hJJ~DǥRYKJmII ߷i.@໊ӹTz{Br{wCɁFErKv)ͩ1Yp*z\ʢgrQܞU0E XC!G)߬gj{=Kyuv v'd删ӌ*Femg Lƌx Nw!C^DtPgqp`>~95 au؀<|zB47bCItALUںͽ㎣d <D}5^} ~ 陰,)Mo}0` CV0~!XSֿҧluoY\8J_?p;ï#l鄩,l\CvlCGw{)Gd#յuwjr ޘDWGrQ4@D"Ґ5B*s# a`eZ˖-#u$_T0$BAqC-[tػ`LW=2VqB!6ůSc;eh/g|dkosG)cS,pJGK4+Ÿ=g/jUKGj0U2*H-SܸS$_ Uv(YxG{9ra"1X>•H łٮA,Qqˎh7HDbFȜP[h$mFFm^: ɓ4" 0l~ ,x V+X,WZpH΂TSC]وO AB}C)} ռP/?k_"4T?N[Ƞ)cT~BY6NC8g/yQ;O%3.1(YmFm<&#PSv:7'|j4bwcQ~FO9fy*tBQvȇ- uBÓѪOBwoC8˨L[e0mV/zZ097 !-v);Y%/z=8B0 6BIWuF" $-"n\8 'ڢA YEHQ1tmSSMwY)AC\o<-q-C"7 uZƸCjѺnmP *xpJf@q)wgkg^ ސTR\)oR%r?#yyUi-A8 5#v?J`#gTޅa/6;iA}v|6n0r&NO\`9M\JG-۰76Ze7-"h*b̚)ֹsmY}+] ='E 5Fķ:ZevW#O㋐`QGu$plrƱ2 ?pCk3Rk8XT֗YPY 3| OqNCoRڂhBFtR=;<ž >$0ikJ=$* RV[&<`]itY<6oD۶+2ABL0p% C`N淵֚{Mbkg1y? ~S i\f 6/U$N'ĥk/G<0R]BMA.kh88r4*nG jK#!ŗ`Dt1$6@&;B@Ṣ_BeD@ʈm5C_\5aW>{Uvg}@3>J|k)F҇3?,bIZ5kDSZl!Ge8M0A`^N[&Q@t= 1DK)'eLGnʄ1_n~dc9[5cvU#8ZHэgN?bt- w[KbGe2X1&T/Ii4pӔd>܀UOFB( l;`fkGã!5ns%%`xQ0kU9׹Gq*yǨVQbM߀ǃ:drO^Od'R}j6.q)@99$y kϱ Q?}`zB{}Z4@3k>#6$%1bP{g?cI~leՀHg cPI * |]9QtMq(@3sk0d>l3m8ey)hfu=nL8d_yJ&?y} Jnۮt+7EnualO!cЩ.#N((ny:oj v?-*ԦQWS\Sb& Mbb@E׮`;Y_̨az ,-V(Z=7ЭEiEIi7?gk#B9O%ϷGN.#X{bR[7g2y&_u"1 us]!WJo=JbrDDnKa=2mz"(̋wE=a^:\:X)oc !kBƽ©;{,r#U*_x4.YuP4-څzx|I z6f{8d+]0~7U2xh2@/Jz9|6i{E酸ЙYiZlQm'dڑJw;}m_*pCatX}mD{(֪P%5|iS?$3 P){VY.GW?o4@x>S?eIow|Ϝ|l{ǍG~̢Pg?heMH+&TB.xG|!}o- v%:T ?Cw>8 C?? {_kXƳ߉V" bFnA"`syLuBnTu8W-.C1, .s|lC*lƝw{^;`C?.e3fgƛפڤ%!#M7N4t2s?D4BA9[9s?*ʹO>ZɺVd[}q~Ce4RkC/1)Mj063Fʃ{ߞ,5]3ŏOۼf8g'v)b}Uq!XVq@]4H{}A߻C {Ui[g%Bĕ ZvPksK;PB91U7 &w,Oc81Ѳ1VC^:ٲT=e/!`mb^SNqCjOs0 wa2@jJꡇ^4ܵr(_On"O<[q5gD)fufPey#"#?S19|O\h[q hZ/յn Pؤg* ?X2aڼџQ$q8Zaj luiZP4Z5]Kb߇ם,IeON$ #޽4UNvFSS~ޡ{RQ~>LT|Sz; %*o<~@+ѹF!yG%)S)YyjY=/|otk책9UҬ\!䄨 4Iy[^B/'dS @OLJ|1W9M=pfpfUSE(ş:|+$vT18sy+z%qWAWײ(Is[gj*^r$'\40@~ws<3zP )jvYJlIײ* <9 2i$)<5 6N'uXž]u„@e~Zz1 ,[eؗNHnВt Rr_ED"rvCo~i/ym[(_[J@Ъ}mi vՐHѥ\8[HGr'_xc:vS gHyfaÇ̬\鯮՘=PFrOVVV~G}.nRlC ?36йUӼ<>k5r<=@+7 hVY8Qo%TnMO F>V\_XyHQe| sFi̱6h 6^Z;㐜 &/#Wt5^'g[H\L6 <*GX,t9W-# O?sI4d`CIJ2* cmY""RG? v+HXn#C&n{~8QVJU kl}T1(\v>,oL*nhzyՊb7EhH /4=^" fB si=Z6yۜfp}D0v}GcZ}͇CB4ƐD?-4V_G9χ\p($l4"ɋsg3,_Ssv #Q`] 񍷙iϝ\Jvv@˟&>1kWT5rMau-꠪Ow%A 3 6pΞ{6#66gvjϭY~~TH8Ӓ))HPhREXPƝ>DL s4F-c$Vh-T{]C%YviV#<2ftMA*YbӢd]ꟌNQ{i VJ]xj(^GCéX6WC3rCH1q;[iT "D!ӁSeӸytGC Qʊ㇣S%X5\7'SDk!k/zRl)SLW[cyHReY)c?O$ӦCfGҖ-(1p?S}2؎ID~T;_lo)+!rM@'QEN.JYe%nA(V<!f.`ֆh{ܺ?r7|^o%/ƛNb>Xc;'JoJfu4Ђ[,}A}bX JQȺL</siɳJULps贽<; en!;z˧Ö sp Q=#o MeqOm2>AuМK D ѓGonQh*G ޺D}_/N,h)9βzAQn3_7P [/5YP*W1{kp6CmZUJZqʥQz0 V]6=۬!PHϤ&YǔƸoYANKWqfMW0BPE]CS(%zf"#9'hoCfmc˝ӿ"x[ƶ9h m{:)ݜ;b^]A[gZDϽ{opFqJ'aKLC~zQTlHPA(:7B֛bc"T)h!A1 Q?-B @}bY#i-DFnu1gluHIkV f\u p).Y5+^I}0J" ]Ĭx Qs7quK.;f͂Jϧ*25a+`[@l\Mw؂EE̖ѲAڶe.H#4s"lcŇ/lFY(3d^Fּqqp:0-\ǭyE1 ؛,'oLT+K )w8_޻fƍV"~7S_V0?:#=}a7T_Ջ6m @ZcF#T8I{] f9Ə]J}!"9<,AILQ =F9QDԩ6rJ2ټXv|Y=2u oDDH&}l5)bm`.QSn ryTHp>;Dm]i RF{pKVNց+Mk`kg^4@R`D`qR,cKǥ7X K$$xиhβ^0:jLJ%Tj];o7OCjv#awfny XWƣ`| Z\Aj CkBQ /6ϐzjt]$E eRyCvbUʰ*_׌ٌBs%FFn qX44ol©ezTzΣjoތZ V WO+p|`uEWre"' 'gI@s"f5c(D44.? ZzehK9 <-K!'0n=Yh= TyŃOTz뜖6NBMJ:P_@J$Bbu>6">aTHL|L g)a, pVk(ͪBkSگ^oRٓ`[EfhBOŤEc횹<;P6I1 x3e~e{ɷ 4btlky>X LUsAy8NR)앭5f.`B_uoq׃d3wҤ yu kWr)[w|c igՒ.f L{p9NuD<\h3ԺXӮa&@,(\e\$$Ioh5wPP(=u0>4}׌ݟIrK}oKZw[ guc+ۘbk4yr)5eelْPyt6O-EZż^Jnw/CSG{=YHcD ]UTw𖏷}l$(}ݪ dؔP^p!v(3&C924%qFt{*~ Z"I DNG8-eceHc ]*r|Wm"%~?H$ InX&WFA茓ͤQGsr\Qes3HC_:NF@p%(kɦ%-7) ̃Eh<+JEM[0+|gbacrNʀb )746P:Fic<\?͕-#Htl`T7\aK72b#2guq(41)stW/Hdge^%1zq&/\㌦B|*k:۔ii΍1S/\bYF VG7v^s.14kHJuOz%"1eM'/T=5a#U$\K9#mפP9' .o/ֶ՜Қ0G_LX-ڠ f'jtAAo*H4p%GPp0,Y#U,hwZTnz`K{Kx%HbU `gvک.`5iV#XW^^6#Wxn`؅O ~hT-eHF:7Ϲ+Jޒǔߙ2BDj<>*a`+yfN%|teWӂZBf߶4:zs7i`=:4- Եunhם;'&o}̢$H@~3?d5zquȘ&zWm%Ø9Ÿ|כ[g6Vak4L/hһ`)[ٰĻIik|7Tt>*j1  id1x났ODf +nQ_OԒC*L&aX,d#xɀV|("iT.`'g UuShH)պˢ?V 1=)e{&+.洬c!l{ CGp #טL No 5Pymh&olh?"I{oQ=\W8wV:$nmN,j[D A3] D.-Z) `Ӌ/""64(됰Ax[bvu3ZZLPD*oQc *l w)/O U bՖر+[>8$X&H;Fos=`*À)yYvhq7űD1 FT`-u>,l@n^ƜV#Å@ Fx@&{sO'H)A~K68SWm ,z_<4mw!=X̧w7*^:-#9`r@'֓^)   R'$}h[kHk0<#"b1i q\A(K09ҹl/)!/nB}Z:D SX2 R@+6J_faS^oѵz3.SD&ƹ=C 2wǫɜjldK#sp<򄲐(jfvD-}2 ó@yahGk~5!Mx-ZqW_v"% kgvsKBP5ЅSbqz:ouG1{ ) »Jѡv #31eX(,T1 C/ߪ{Ɛȋ }_1. i]0Xt{OzvK1gr=~D^ީBp l[BU WH^ 0`}ի.(+ӶZf4+~(sO U)_l>j'J<4φx#ș\Q( rɬPQᨽ fl`'%|d.A‡0SA)Cgn( ,*J+dbc)e6@G,,ܼ% ~#4Id}yĀSfsFK)궿8~|PU,(^Dd[> pkș_fhBPt/؁*Z@QJr>D R\eg8;9 ߕ!9@ֿ^Vh`Vǩ]%#fŵ@W7| tD d1geuG@nԹu8ͥGti C/YG%X>9(4N:.ܡb>Pg/6JsE@gH"(b䃂'9ҟp#pMǐƭut5_BF:Vt lun0nC?a[28MKtODP4Y[96ptLxt\:lCnp@}ud#ӄ а[Rddd`HmaK`bR <>]#{Hqq(V٧& Y:T _+Zq9A=أ(%yfyaI3uڴI ^TWsq_A4" ؄m;:St#LuP7C) 3{^.QsQK# ~a]j|u$#9 r&BA $l*ܦB %]FAur"h:wBhS!I>~g.Ȏox$o?'+~?fNҽ+ߓ^soW>*$m.m>FAYqJan(6˴z!v&h;n)N\FadžQLaBZ I!%w2vtUM#A3!P c68vc+k: 0l:=r$Չ\Hӕ >_,86j1x$JX אܞ6RƎGcl0Zr\:A>d$6F/gU{ |&mls|NF۹Y>9KFGc. KQҖǧ-QH  G- .? Kаlv8*h@&P*,XUמgIgX,(p Bi a (wX b'mJzLEd.ٝ .yK7~~Zk`lg?=K?-ZFM@QFUpJWépIʒDY2+Ut"*i)WgSm{E|#F-I{J^}ҟE5CEez7 37qhXZ9@O~YuCBүq|\6QDTۡ,$$2` nP_)(]Q^mP/*u@^dU(<֜ GToC"yِ9p NKFʈnUFݙw5ڶPf,Є\ff'FMt_jzqiF}Lal:Z}Q|S]K8@xhPt`57-~gj-VjY.e۪E"OMyXeJ.Z׮7]yyCĞR)w(vM SJi3ő1p58l{ F˕2X{ʦ'0yq=M! amڃ@uǜU&C.S++6d H{7c IndlԈbpVLW/AuO؋3)qV@#g=L֡6CxkșQ0$1,i\Eo-4!p#`g(g2N2FUK$[x b*]t hmZqJIIM(n,*rz Y?cfjK/R+qҥW%JvAgxT)%?qo" FGWqIi7;cIo2ot,j{H;|+Bikר`CW??Vɮ7;bk 3/4A>=>1OiUΈ|~G6aWBȒK l Eal(x~@CUQ2U$b>~8@z!q+Ev[4-%(~ Bn,ي+ҳlLZ[ުC4Ʃv_ALf5i5X ,"Ft/;fy]xU2-ĮhU(C:%OԾ2ᗳb%2$:=c^߼̩ Hao ql؞e|s/aᄍlq2o =eI!۰rÇQ( h]~+a :|n`Gjr<.x㘭ʈ#BmAwƔ[;϶}dZÝ%A #!= hs˂z$6!^ i ) U-y 6v}뷫{zt29Tzr\We}xw %rjoQTF\E^Y "zE*MѼ^~2HڨVAR "].UYdG/Q }Noiͅxo's!]V:.'%f{yn MlJ\BMҗ$ ET˪Ntx5|:vD3"woŪT[z=Iy6}n뗓lhk|wR? WJc%mUtI>Cnfv00sM$G+<ɅC|&R5w;QJ.)v֥AzW08^7kD\r8)]4( [D/i m:r&-UAu, Pw9D&n|ȽOqHV˿^VA38" M9v rsPP}d5=}p'GâFK1CeknqZ=4| z8O/r<^ZTk4ǔ8+WMT?^pad\U '%Tz7e|*ٟp! L'.CW3qiE 8|Ph>YuXkMZ*7QjkO˚l4)nXߜK12:HGAy@@I{ǚ ӫ 5hh!ń=p}-Mj/@n'IlB+@eUŽ:_)oPxM_|g4Vbn~ S C4lÆV8>Epjrcv8jn ([BΨӞzjLCB,O9viXO$Ƣc8K+{T$$ [Ujj' -Vn^Lx=N)Rc*Mgn\>΢& By>b8QOxjhP2#ryO|ʕ[Q~U7i}tj djQFvؘaܞ-mE^1?h"G,Z(8%VvJ>%T&tHvz̛|7+9媼j3׫txër625'2b`lHqb087"Zm{U򞗁!x7ϤGWy^eKS0 &quz9T˟7G}foJl:mG3E_` mnEZ>2hbrp) Mj+BGq`Y;CGDۑyR2_P}צ-ؖ>Aʎ1%Ȩad֭v }G9dv<>@Mis#X"Ou'ttn{.^`B!U @H0Um=NgbTAڊL̓'3}r 9 Va3)@J c5C'd~Dl܏OO0@8VӲM @(IjXCnyAmb䲰 H'8j8-'N<uNYT:̃uzR-WFV<SKĶ\wu!5VYܪt\QI\W_‹SO_`Zy.o֐:\LGe~ I@I6 zj~Fffn6Kuf숼E!F0L߮ 1s91c;E& ''tnA>4w&lm$^8΄yWFĬV>aO<%vgf7hicEj#P*FA?m9/`_t/j LHdCeL |7gL1u.b's.qiEF׼hEokK=J\!jBǀTU ';r7]^f";H%`4Rs]n`=i ?3o'\8L"Jn+a@ftbr xk@cL=I0{tNby#; "@3~}' Q{~q@({=Z[X6lHh|d bpgB5IHo۰a5/-'0=D<澜wX9'[6` #!e_pPjOukꅵ_c_b)f}JT)lIdXՇBgG_!K9@Dw5ڵ9j߰ܔ[]Ї Dnao5`#m\@x8dtz*.K\6p·EYuNh^8س0 gpDۏ4`іUُ2^qd1E)H&$ykAЂJ_aL3^ eZ/uv먶 YJm3Mj8@2dPR+͘Kg<&, +!qK SP^{ p!F %Z2LPn /}LZ(tI>2eUVA6 Fu6v#+bsWa(zsz-n5Te>?e'sK+f,kfؽ:.>P\8пȾ3sfK 9zIiֻXk֔0wHjE, ;(GDsf {@h3"05G 2`Fy>6u"Mƴ lՃlvKh 7%HXX—Vڬ-'7S)+_8T3KkdUFM2}g :׮Ǹ&]1Ѿi*3 \sdLF@s7== Sc(#>N[,ѓ\|bh~Oa2lw"ow/zRϳs+)b~bL)C<:'Xdu7Y%Xć=E +簖эrc66'/όh%1 L6ʘe),঳O(Gᐲg @PlLƫ[3E!}*IIʡ Tp".dj8Oi5Y,f3ФlVY~C,;8d]v!5B_r Z&4QjIfؒ04P~YP|эڲb=vKb)-  J@6lQՁV9E]:; ŹU>s{?em= $͉o{y4"x$=ǹG Y+aLJHħNqxRzyˇ4ϐLAϙ.bKk]|1wx|f\?Z8m _Q'5d6$($SJxUS|\!78cwoo=!۩gY_%=wGwj4g`ּP@EZ? \1,P=t,FNyo_C] -s5LK ?9ֆF֚2e ͽa ߠEK<-!6<|sRBB~~ }̆?:ëj?KJ=xu4M:*>~~b3'(yDx,r+v h7yJchPXf5C+`.C_C!X =]`d۔YAGA\KQ$~wM۳uh\4yd1W4q/jޔGɯ~O߃_yʿN_oiZFX7u=%;)HKYIwf_0!1N^] - dF^"u\v(WK<Mh#yf5okc^kI:GgIऍsgkב7N_>-ձZ $}/׳ 'ت:rLH}_׃vTY2]'B l"-(Bx)m(E] X>hWKlp O|QQ U$ 00tܳK3(Q4LI)!IZiA-@}^n}jL5VS;єMoZ#Sz27ykfq#w0 )}+0dZ_78b2 ăl3^;Ւx0tu+w B0ڗk3y`N[ ԍZ+,i~@!Uah(SE}iůyTrܐUc=%o܇xmI0dzlxx=3\Yr L~>Ȁ5L&?u{MTq / !uml^R2Rpvo9B$ƘyN!4옵)V뙌ayq~S_vRe *?Ge. }`[a*[E)+ֱ1yvL[zU@37NrY6nNvN(tCU'?¢z`EKQdz+"RsݣpEõ}"$ Q;|'@d܅oՍwe3DXސm_@@V{`VT`$bɱG>$TZu/4dE xt,|Z{sGSР$"n[7&^B(̞sɝi߂le73^x`60!KxX>) aO `:1}yj&X[7U Yi6`%p='N8LI(ed/RS* ]C* ɩIGZ=A̿ WdpW1RWcS_IWu9e*TO#I Io$党 ;b!o@Vre}u_P_NCcPm*Cګ9,/*V{v?2cROV8ʟ՗:ejy k.HiE{U8,0sQ(C` T5Jvځ[ץ/]CpKyojR㝢a4ur]mRO(hq U #&~DU swtUD8e_jS"  '/A 6^]WJ˃==J˝;5TΡ{z*-w0;Tp)ǘ}2ߗ1Z'V"E|;уD|B(PBֿ`!y}2@<rlbeSuR_1/R[7"2zݯ`>ӉOud#4H c=-eezQȀboZi&C)ߒVXsk˻I"ʐP@i`AdGB qw+yƟ 1;8-uڡ*U2ѾERaNsS3@LR(-|A{?J1QȼV'n>E2%6Z25+}hї/N05a>Ղ D]0ޣBO ݯ7VTVb}?Фt3WY9nt?1'Ya ʩ06"h4 Ez⇲%2O&޲ pwCrVSGD>:zWe3g5VgHI 0yx^쇗Y:z\Zb한.G{`=({ĵCxnu譢bJ⠆GhT;M^7Rl W"ɢcz(=% t+ X =wX ~f|FUÞ ߈#K !bIESr&֥D1ַ'r6z'vP0*O7w#zIR,Љal-3u͂;˴50m5~S31:X*<$ndCt%ϖI9=Yf7|D)WUո+^Eؾ=BoBQ#+p f?-(v18 dRn[kSDkc6͐dz'FS26-^R/ueaTE}@!>9Z39e=@Y< =,(} n tZƌZICgi)GuVw+p ?HH:z\"<+Fu1@I[\a#f$O2s<>8Ǖ6 ,:O4rL$w * ~daZצkZB=@5p.Dzer,-R+%J;} fU{Q]f|FPqy}hNy1 W2 2"YM]:z ePQIZYX@]vujIs65_4KQ=>c,` g%Ë#xTb XWϝhm,jqkvypz4V._/+'Oy%S>k/(idbZ-"C>1N!e+9)jG9̦d\ȸI7dkw7)`N?9pPC{s !sBKvρ{}t;Ld '$/yHLNqvV1ְWyۭ"B!؏)WlIϋ4J:/4$Ar n{Gp~ژ a5`t͗N]Cd\aW1E 0^\#ov5-I%Vţc\NdG eM^bHoZA9n|Afq Q,U@1q5]G0]f;n& ~^)蟛W(qBGO'WBóisSpkIt(M,wO`ò#o,E}XZ7|NJ .-뒋=-+3|j0V95|4,q|b(UɃI/u ( Tdž˷o _c.U~IOVv}{[[򮓽>DH;\^ʰPu>v9t"Ǵ`֞ɓ%=`d_cyï~b-)J̋TRΎ%}^ӬeR\IP[Y}6ZLZ)̜m|TV^X$Ǒ>KaE!Ӡosm3mćK@? F$G2:fO=qҁ1xBN4"-(nRYMhS' .)mYW٪XTmlW=60i@ÿ..I"`3G+D՛&<̩*ZZ>$U:(eqD`wrvlnyrhYl JR[ aEj#.*6t}Mr9R7U#$pW˜ɿ̫۔%ω8#`e"u휌E`)raY)}'wUD8+;֙Lhۧsߚn,F|]"m_WXڇ5IHM\XYcy>0ً"JEbʱ# $0JPiO6etnb CnI~CHPWYe,PaTa-hN7=,(5hփDjIQbyL "-ɃڦvFi*z3d3_k('OX+C3r = PFf]m+u/)T3B+b6Ė4Y.8d&x5tmNћg%Ԝk>ﷇټ͆k6 xU3P&tBNJz.ɓ[ V.=n͚uFVP3ة CcC[#oٚfo|˶i-R1I[DڢD(tA7y6N]u ?VDg%5 5l{U;(~S#:eEILo!0 q1!/'9jY)?3pC BK. OBNМ;B4D\c"Pyv-|Xzs R+K . f[`2DW,갗jS{MM)j.Y[C?H? :p^:3>gƛt-/ z!?@5ZtڂY4$cژB~7'RM{S)>G?+/Ip6MFpLo CbМYX?;\ |mdC&5`t>A1(V ~a.]UU@nlIAPX9c!kaV_@oZw:^KEuVn)wZkxF.BNn3;;~K}fQ\ {km6yϨVl"1GiK پx~x7)Ibd'vƇw6WQ2&RV7L ңoX2~N£_@h:b9ɹwɞsnFT^C/,Jd.>$,YA'pF0$ʳχFuŖ 3% L31 #`L27of (g?5w(8Д5ޖZ -xitIW{ .\PՀ#iɝm$9fι ) kBϣ@)Eo#Pya&#)"i<{=A0+87rZmyf}gOlSo4^$PѦ1č*3IY} MqYYF0:FˏZ/Bsd WtcRxT/dT$T/X]~ y18bTjHw)YlY}ny?U܎3e}$~73.؇c%Le^wg,4` @;Uʎ}me [bo 諷0G'$}tZ0Ym/oaĝБ&/^r#% DWc\NFMLV/]l L_;SD5" J Ǝ^馏`x|8G<bKlDVkud)+=/r8$p>ROIjgg:cGI=eppkpo{YG-/=byzOGWzQR5% 4&HIKÊa %W#j? ŌGim$ᏟcE jnH$fZb3Z RZqb?=Y _ 4z`,$m7WP%M6lC{odb*k缥"Mxނa6=nW~ ƠGTM. 3&buN$gø^pv̸eùtQCvbٷQfMVl͟1 W޹XIC,̙4%R)vs /(O'"2Ј1 3ZliTiSi69 *A(OU @Z롨ךVbTǷHMS烷϶X$ gYY: :6 4#@S \i^ԛn#)x<җn=Yש?B$ՁJO=}-S NI3yg8b@ Bp]HePttJ( ၩngle fN Z^ˀdwOTKDqEu,CxwȖzGr$&TՆW3NHb8/(]ctvؠϫ/6hDkOb^8]aNӖn 6Ƌ$5nj6,z+6 A6؛14΋ @RN ߪ}uCxbS`wP̥v|l# 6Vޥ^+FBg pxQvb&Ьd]Jޠ鄦1d#U/aM;R"/f RIQWy3y?s=ȗ +̜P2;mdɆȭt%~_ئVxUL{p\:.7>-1 򏳐 ^: _ȿEQhg<XwSE).b1SSnɕ?1(^KtCa_A0Ї2'*O,wFwf)xRpL,FslH[Mٱ{w!ydTtfxuh+ /_@ kC*~.-6=p+}yNVIu V"Yxr[=͋ԓh 'aB.eC0R"E1iY{aŐ2gB8$d 4-NcE &M:6WϪk1ғυsea%G.9bN4Vk] n7گU"6a0;%iPm.I"=q1vMw|"!4Jz4!T9 tç_Y!|7R]?w T:(?8q1TFrj@+7Q/3/*T2';S&Y2Y6ɹ ;LΞC>tb$Lܢ>yiYZzrJ˶䓋/3 s63\t+n/>]{ƋA,wU7v<4c(L#^@UN凷H׾?L{%kO] BGF·?"ǼfcPrBnB9QD!i츓x&)VOֿ82QIDQvO;#*BG|p.HFR$聁":@g0`'JK4!r$ L:,N(~|7=d#sGV,E_ș RfRd!"+P@~o~LX=RXE΋F:V"V;]*q<\CD xƆLy>ŹQC!4&]6r`<ҢvfzҼ &mr?lKkV׸8l6sL#aP]+[sOF̄ MP =N5%83k&T B3Bh$y-5+۴OugoieI]2z"έYvDɶG!eG2'q$q 'BeȌ׏4˹Y>jl΢q*~<>9Z{eޒݛ؂) 1$6b֟ˎdžOWŖO#aĬiqJVnzVƖ̄KA{Ă B&KQ&4,^n%PSW!J% >H7`\ "l\QƕBGҲit l %^]1_Rf>qٻu$e ,ѳy:g |8Xu9;=E3aflC@9nK.qtF485;3 .:G wIulHlvqIWc/760\,V;̙aͣ+]?)M8caF}}l(}Y";GW߽ */ A+NOJ'OToFUePL\DX[YG_ׁDy#J)pl5m y&Hy1'&PȤ>$ܮrҚ2"IoaPzaH7E6 0eGg+cԥI輻`YPւ'ΠM;zσ폠EpGe\Y+=iyѯmֻ%rNsRhE;yu/ׇJ޽YZhPˇ!S*AZ4]X@`?W]-ZGef"[g[w^'z}noXK!m[*Ox9V6Zw +2N>E =fz|tOS@>2wI}c|zvIj/<=^}nلK\p۩-֎M>P'>1x[(=E)^.t LjRrp]CʑyǽrQ'j؄@3,/bM < Mԙ6; }͌%[>-ЮIὈMA36r:,@ $X]4'c!~s Aho#'ڈ{ Z]胢qSF kHv%Q5:'u5(qDb j'\(iAOb]?>3~!k `_EMSpU|{vp8` W.z7B*7cf(>W$FAxoлE8T=swxHEpvQƴƥ)^hiF.%ӌ8P$q W%`;<҇=ԉ(܇p(VUc/1y_X׽kR<򆵗Zu=tD3֤\_DFz!~t^&67] K[-L3?t dmON{܃Vk. "-v4>vxz6F͂%tb"Ru6DYE)1|T#_jd, cJ"FBp#ŀ Q\'z.RP fdAè ~x9Fΐ(0"5ZMl mcj'vy3DZ OC u Ua#Vf-%) I@tc9,,t\Ӟ&Uif [Zf}744{zA 6:POIHM3ɒg0֐0a Ճʧ*cO/N  Xt'ELT|@S\N?onͨ};iHơ:g ,7+͡${N)\UZfED YV)g& ,-% ֠N_|\:T ;#SޒSl]$LFW]n6kB\VPR&aF|Ub+K΋?ނct `Ӫ ώqMLe?E䲙';:ma"vx@;ڕOT1jHe# h՞q=c5!%Q(%V˟ s%zwZ$Pf۶/!ڮ  DPSBTx05 #Li)P?@Jy#IkWE62\@^(UXws&zR05$t~~TI &:b 2VSI6F s W(O pmoH> >;JEЮ#zByR֧}8 L$V9XM;FA7nY݆P/Y#^;)$0K `l(Ίb[Aly}2IsR_> Qb*.y_R:,ְy@Ŏ$qKͰ{:w`Ya=1KhUSi43øzm!@<<16{EОwS)-0d4VEq,4X5JWnm8\11Qʜ_EjϘx6>M-E I' N.᧐ t#є/Q8_Go?Aa˧]NY'ru>s[yA4S TZFm^[!`^][ <&YGgSVf;)F2l)>h[LTӻnټsgsݸNqX!vV' ם~h&3˩藍`R4BL_׋Ngm3ftRU%,wZF(p22֛ ūh&X'ڀ@k"He.d'Ŗ+B6`S|כ@ h4LLG+xD)3p,ǶP4]J( sfs22 ToA "Fo^D/g #i_|RʈVD?.-N PPH|6J *o7jJl ֔ATIg`nhh/e># Uɗ->}lF"=Ox 'T cwNЎqI>%u<1H<ֈ5@w+=Kjw4.5vr17/M[4qG`n4H8 !OILđ}SRՋf'|6f݁8!ۻa =1 5<ڵ#F 2N1)B,]fm81'YDcu[(vѡ g") *)n֐q خښcS"yJ!+{}Tccy/KrLjN{kAHs#-8ewq7lH4`iq窕;r* D Kਵ@]J}&>š\||Pwyf ቖ UWuDr!T`&+qVRxKEo}~?G3Y铬aE 4%X|)N "HyPQΖ#3 [v%Xҙ&ZZ4ӣpao;,@$ Q@h1S7:@ 'HӤlhńj.xu$*pHb}INVlkM't 毺!0qiRQozRa+Xo8 O& ZGEx6PjaW0F ΚsףyR%`ދim'j) e+(%nE 0wj$͢2W*C/pܩdoSƷ۝݉-:@ o=/w-2:vY{y9eE~`x8m=mWw#p{I\b̞s$)Z%M`ڡ-v$n3)#H"K50 aů;jh o+KI`&"~+?&R>dFiF, uK  ?+ )0R.‰Or2ӶY#!'_i u 21qᶍrTL-RAʕ[zWSng>B\pV;d2>3o9w Y3k=hD|p g AlTcD5?᮰fuaP} a븷2"%\Y?cjdŭeRXXu}Qyx(b}עNd֐s^, "*o HZ;RDВKr-ZLvvrm|ċ{lc/8|Hi-U✸TUWcWy%(B!0 V/ep< 6o5;B^B>LOl2YARatjE8t#D䁂1ϊQ,Z40w,t̪pAJ 8&y_]Yr134E0 ",̏jQh2aIo".c3r1dpȞE9P8$tƾ遒u]C}'@|cF 'w3?h8(M:yʗb.Np&^yvP~n#hYggX{|vӴ\Q̤5~#6p4'v X}b(.Ea~N!i,DP_XbW\% M ZI?.JF&YU0IW;qԻYOq 츨}c>PD:ZaXìؿqr2WM4aGa%bA-S9IIg$_ޞn)@ϫM*3p\IF燐Hh?K0}}gC$)TEv_1]H9?/K4< k7U?奱r(nKO*^!K 6`QL(^tVQb¼X{?h~@Q (B,wu"%_E̟+u7gFIQkыD?XAaXe٤pd6A=m7}k/fUbL(oUY_76p~R_Pr#̢ߑO24yF8k^06%w)wNŲP9pθۖA>" Fgtv2I, 8Õ{iJk<hr-Yx/%bXeqR~D^v4cC][iII?=/n}BO`Sg=qZj-]yy᣿:9N)N=l;RBRx r;< /{DqaqAj]f'a$J~l\l+o_Uh1s$#?ߖR٦\` \|+A~9cp%(cIwӑ:|[kw_7 _>mDX7R]i?Z!o V-z귡{& t]Pjރ򊶚3boL.~4~`@p=Uj)Ez:Sl>RMwqw!)rRgpHpmR(aqJƐM ~r*%`*~ ޏ)f|s#AT=Wmg8^(laf>lT݊*sj6 =K .S](v s5&٨WW6o3$<- VN#DhRk}Ď_-pJD{}n EimJLlA*Оb[3KU" "ቝiszZ#dF:޾h淤_FyT"]|O5G=k26#ډ7$'@J<2ae%SĂ[Б`TxEYyѫ7ۺH'(S==zH c/?|O'orTc@ Fth'W%0LȂtM OM"PLc) aE?χr,$7ԣlz 8iNm T h҈- Ñ &ɂHjZ80i$0 2M(N+ش~UgYaO +&tgVQƔ:u7lwdճya߫0|޲^*4t<h.OOIӡlٙL[=ַg =* D:"7=| U}kq̰> D3^O8)`?L3( oHrVE^<7lFbղ_ %4IrOdO,c׏:)Aq||9j[-Uo4gEL͕tA7BsLC=3 nLu( aAdJ*nw+NLnWFs>06윔m6Ffby &/DZUy?('+ qy߽)y-䟋ӭB[Td͵sל_& A! Lq6Ve*;CskMGeH_WJDa=Ͳ) ֻ]@ {|wȎn 6yA8ҥ;5,HvxKfKF$UU 58ՓS5AN5/7NF(+Uؽ@Wb]Q8!_gIh4r2؇Dk%z@IpW\p3lGkGj{"~ZmvAmC[#jON #%Vў^]Pu'(q R-XR!2&B%[/&A2Bѩ#L@ -an0qTO4hb*?  bAo ha [SjȾh`j3/nҏwJJ_tf o եJ69X\A&Y뀚+-v!7#UK_pLV]%&ށr\fbJVW"r3!q\  KһS5 VEZZy'P{$xjNnqb52˔7u}9(|QҩvR:k{uxM f$~o56a˱vu!`ǒ~2:c;͑:4E]q#dڨ 㼳9 Adjs'L}U޸.QnbL)uĐ2٘PnhDC,q'hiA}hoo- gKwWORE:Y._u3B=؎84f2 ]}|@(}^vx1I/' _%$nwtx&&NzG>KcZmY21щZ@~֩9K$1m40\B0wXs2t :$JzXI'L8Ԯˡ*0i(Z}! N+WK&|)4,.ɐ;cG41dKB8D@'Sy|m(4޸.EI&ߗkᑜ5sD6"*0d06rQ_qWg_ 4ìo>ݽ&ki_rc#KssPnWd3N<P{][~nn%YI򞒢V e3umHXߐd=NZc=q"zdQV%yf;-0PJi'Q!O v4h4]/|H0__?58:FҦɳDpb >1`lGc*B4灕_;cs:@vːq!v9A2yJ@F^7tPR7\:\ 3R4gPg_&%FZs?V(DK"7qx1mVC5XDBLCܞۣ q*-[%C-9P+jzs}M>'l̴Bvb>lLe,gM dH-A9.:q Gǁ028adL/o7n`{3I08z9#]Joں0uT leaQp^_C``y#L#"DyP衱i9㮉&kgf wArC1Ms]W4eHM qAY9Y*n@‰rq$b/rxT1m(Ԋm đ:)2uj94N8نrrI' ( ~ ;'7Fq}[7 KF#sLcv) F̔+O lB\ԨyGe[,8zy(/ug{41l'zzFeg`5x]s ɚc❇7P5g% ihEvת=,/l{pQDq?sq@)R$8Rj|=Q0":|áޫ.k%CY6gH`胵c' *v3諒pԾo57}VӅDgDIĥlGURv  WT='2:*wr{TQtK\z4#-[,z'b/iVrQWfr8lVtYaIN.6e`o33Ji`!Ӝ!M=_G BO cG MnKV_/Y?/[v,ɩt⯯SB4(}}>,7'4 k1Bh4<vBJ9X[:^*)l'ɰ6I < u$WE`䎤 G81aBY`WώZ3qV1℁y,yPSi,Hg4T{0!G8;U,]4O̯yizel$H˖)"A#TN!4/,h/`D)aFĢaah4::#N_p1OV}]3[􊹉Zӝpx xA{ץɓq|)AUm0jBF\ $qҕΓ샎gvBlV Z7 8ܴ]"]Ff`3 0<n+uVH5Ѷ?.K6?6Lűz}VsAiI+=tv>"X?/K4fZE3M\hdj2ƆvG43Hs3隇LS7J[k5, "-5p-$TӲܰޱPp[]>zf`I F& }0u)V/7,F312vu F !tDeapG"^Idd *<ُMR,s{.jPD9 .Pt5~XW 'ʕ1pxoPV6> RLyyB֮8Ȟn-1PV=:g;o҉_ k]Qb MRKCX&*VFy 1/d{6k^BlX!k=ѐ+؅aOK( w7ں}a1{0pB,)Y?~*8)n l*.[fXLF=j wh\pߪHH :nz=j5Šq]F;P%Y=oɴ4+u#ͼ;P/@!$×eFg95]8km'vU#?W*}4>|T״0|l[C5VyGZ™6-#\K/ X FYcWaM!/o ̋(&n"j s~a\'76&p1L=1y?7m{e(bY*hS+~~ >82?(1k8ޝ0M>E0ɏX6+M3k_lGOӦq @hB#ۂJka3Ź('+'4`剠ᤚ,HXSf$!o_Ⱥ= ?11n{"ry@K;9ʘeʮ F vk y"¦pZ}a|7gx fQP}%/$J+;6ý!.4l\oTF_O*'X (^bm L;yGgj[?v(TRnǎ}<\?Yt*E}fYf3ID3|DfL *Ծ2> mƧʧ v_@%KlC:dh抪]nTqr&x9);^Y?N8{pd(^M[khm x5X~(ѣ:hSj@8GNô\W`AUʱْ#lG, (q%8h9 "ݽ5eݣPb-=$)] d/83.Vs04}(v~PPD  'Qn[!^P;e>=,M\}5[ %zWј}uy$kr ,2_^I8S@UќZ xTjy6d͎q akkUYJ⺟H=d'VdC5e&ߝ6 OtE@Eu4l`O-(!r0im JtSE ud\ly^U$Ex ,?Y;7|or75_ \r=z;E+REo%Rn!ZV&  VFTR>&ݓHMj0Dw1GŰd@G {7ҥ6x SnA0(JȢDٝfCϣ.Q _"r i/d6Zf7_7ojDM w ?P׶S[޼B=+fQ(Ƿ̛/.Ef439B[њ؝ގ/V*KT  NOTBq""d MȩNW~|U:ŞoMUg\ &l-U>uXxE5 MvƓ7?In`3_P薣Qwky>?H]H&iH;,@vH7XVT҃- wp;U>¬} /3vVjO;.Oż!"D sƁ1nUPЫ9A'`ۂ~f!fmSR ]AI|ãA[޹sTB:1# /,H{u:`*kqA sQl1Cy!ھ&ܐHHg>5T~t(0muO6es}E֖踈ok{}ޠJo@]U77Uoi:s=2S%8\`) [x8tzH; L&8{m8s7{7EfC,'ޥکw tsI )1jE9:r'OgsLa1֣ LJ>㧨V+J$}>-hsWL+.{s f]\zQ!c"#] !$NækQ,΄tW`סj]Vf] v(N>KrrP7 -&%ea7|Qq=b!gb@`U~u75Ѕg+8AlpVkWJ[IXGL ؂v>xiٵ& E.>.N,]]-f!nC״M(,la1e,!/1թ5ևnOՐۺo&)-G*[rg}.[P35։6Tд BIy&JZ{J&B)LM]c J[!")6/'UÌeLrD@9Os}Ds<`M3zכn13Pz)Ra R:xыi1ؕUsK "8PH0{˼{Ί[IByM\6T`Ḯ٠ȳ̆}_N4U;_6 ƅz``Cťl3]o c7I@=*h8 @*B gᵷFj-i 80yxdK޺˄ (ޫ~^'4bL*E=.bM;_BC#LUiOњFE6\yHr!QCgE!l:XkS+-/MÓb*yNS^b49̪ם8sl3B^ <(cmQZRr$x[mJRzY?RC2K$Lq#pת.|[l~C7̶+yȼE5ɪL6>; Twn+ D[/oSmn|JOvk9U*y*pS 0vءe{c  W+,k#Ϫ[7VwvJ ISL6;!c۟X+mMGI*$P-қh&#w`l78IaϫGq ?IwEj@\7M|9ܣb=V@|"ߞX3n\>Hu^ ;90#G^})}k\ 4 |O@JxnOFkY^8ޚq~*Tu4 j';A1 ZwSF0j(aUd5bۢ~^>@8jֽ(zRk8R۽T(,Up5*g*cGRtAezD.uA #2V$(a!~nTJ (gƀ1%Q(Kk"8pS$SMN ^Uk@(k:2OdͿMѱ P ڔls@O> w ~Mq H{ϫ#v 3G5jKN)'wGճx+lo B& Sr-s+D YZމkl{?(#bSgb wNh٧ 6st&;FU|8c>V=@t0_&϶֖ JhT 0CIJ]\4qվ"=W3Uᇸ+ӉҔ$z c '\|\Nvr/9wgqf!\9Z3( l㑴)UBZi 1%;;[7xhHWS')C E*8(*9'ن'";]A,O,z2V<;Ѻ:|g*'4]tqaJPFfTREl/p5\7v<+ot_M_r)Y2H1F &o+.C &jH@׎}ǍQqnR~ &VvjӲȂ&U^PI_Tft%FN+JE;Bcӄge ?Y ] 7CiuwZQG.k>;->6n'Q_HBgNyK/ke)LL;ī-&Tp^G Bvmv5boM"L|G]raGU:qɆQd |{P]+=KQ%U{㽷Ϡa:Aj:.Nҙ/]e zÍeJeGlJ!7Ͽs]$؞4OTO\vS0w8d|PM_w5t>ō&ޙ!+}PjhNMzx^hҠ}3uD*eV u  qg,+%O[`+rKl$ZѲߖoXU}L&vյXX!Nf(!qg 7# d}5pPl#AKΝ7]GNwU-j(fh50e\6v>#yw k5Wuw17s=Pן:n6!O[,|Td [:UCt|L .'*fH[[@އȩ/a ypg/bc_iɇcir?duBBreq$>;c;BȾx"c燳r MBM[Q1Mj5vx'm:;!oMq봮f|ud6K/v4ˑ4RvRjI]=-F.FR`v suh+ mDIV9F6)aF5TLsdӄxYHZ?AP=!ܳqSeݐ^/@oW"yut[N+˹4z4hJ-ݟ[9!`v('-Wc~qZ3"~EeI*K{]Lv:pk%8vzoDZgCIqjSƘ˽U ja*>-;A%_!D]I#{M*S+iЊt`9x͹^&B`#-+;YCIgrXf''Wɯq+}-*jy3{z疅R.*:}}6x(I3B+J zPrw3hS?8&-\Be޼í1 ߥ&Fz7"?,,mz_E_S+; ]IE~Z.NCeAC=#N֥'ܩf5Ž_lIyq͠Vb񺲌׸m؀[J GrQ {H'[2(  KZjG2nN?a3.BrdwQwz>:s&W%p~6YbD~+{+58Iǔxm$![f4{l6wWAHÂ{V4ذV]O\C#Dxb/wdbfQB&% 7͙3v<=6 Oiӄ|ʓFgfR{G/w;J~b7_ꂱ4A!x=?c}ҢD!%#|JeCw-|z_V$^.b6BXJNU(~{ W89fGV6ITV4Df![K$AxUlyQSI $xgbLڌZb5">'mcE0-3`01u`+jsf@O#t>ta0:mOa0R*o{5B )Z 3]s"ȿU'0ط vNETf>Ƙd3Q~:.~=Sʪ^BL'.s}C = 4/] %jT"_2M`:qܟP% b7tqL5zs?Yt΀\T?:؃edu䡟[C`bw->vzb7ykxo3n {~n;Ktj~g 9ԋE0gP(xZJ6'iCƇ-@AyO3zQC0?Q!N.? :9伍AųA<` x2pG%^×Rxt^ 0ϕ;WȔ1>޴7VH3ƮH`. R2#;Dj0>|n}E BPiɗUH lp4 (mʤcd*W Wt,|b"3 pcPw$A)_w'Jd^8-Լ9 eh3+굹(2ݠ`tr<2J?;p:H[dQGWI1( 6泃v í8i]I([rHS-`c$B,2SRW7m~*X Ux9L .G4pIT;zՅ=و:-"јw&r\q^տK@z֞t}Si/0"Kca#Իc'F>A,h]Wyߐj<!Ɇꩮ" nޘn*;JT%I+{3X'o^Xm` E1 @Т gRU z7ko\°W10~MF7FVUF^с1z~Tя0*nwflՅhu(dY?_L=^|IkN"NFyWqqJ}PwV.>-%|QĢV81J^s{4MwRPZnO]U)e1PIv}B5L쳌Uhؕ% ?Hտ`Ă >,=.r \p5]& ŐY(,󅪄y_5y\ XQpy&srpd$t˳% +托Lr"\H$v{m?OD`Rqk}wGErkId3BY,%kop| QLũڢNxfTH8f͖ly JSs{|nxپ])$D''J=V,H ɳ8Jw]f;zȒ3JnVwk- qώl +jkMs }W~ۛRmkЄ6 nd 0c;'@.DsE9KkD~l's~+"ZB/\BLE[A51q2YQWNAD0\k4lfNN eOPW]*q|recxW@~4Ll?ٵ~um Ñ&w=.IŽ>5u 蓱ӠOI eՖCRĂYUOY|Ae?lftsO*u%YCS"_{ x; ncM;ITz DGrhӽ'8ϧ fZyZۧTޚƊuե eʛd#ߥ=Y =p`ƛ1gC%q>P \U;eJ}M,k_s}Ԅ}s" !blh]f]Ց&&;点 ٲV743f㺳e:˿ #[Zq o h EH>Rq ^wqeGɜͲm?47\>&4;vitX 0N0.nvmr]C:kFנդ5A;&K~.yTZr%;--?r̅_4oiA83ІZ`bͪkN=߄Awk2(,(Mr}7+HY~i&\y]䰔Xڹ(^f@z ^E('\2&$\)ppV'{GZG3P/RE7h|wK(TۺO0"4{@FzoS v{bh05s{^'j pM0H͌, ,f(83g;Ue'Q~g2$mH!7fNaufel\ Sfj s wipIyHFRea$]Ľ=chj9)'{oۍY5 6'(YbaOpuESwqq\\Zqu  簗F2tJTx߸ˀHPkp%NqI<]kw@xm_XG@;_8 _СpEA0Gz\l<"Ƃ[+t%$Èx)̑I@Sk*͇2 D}V,ɔrWr6fүzd]f~Qp!Z} 9i}Fj]R^ݽCbE@W*î5Hug\'ȼJNEK_ m]VD vQ9+>QͧDkmU2[@%ro =+T<]h⪜csăjR+U)oZ]gw+Ҙ91ՆBl#ďŚ soi`n8Tek2'?OZ7Ʋ1V]ҹ^2@`7|Akd;#XmsCx&ۯpv=\rїmY0i;w+"Hk|wElJ0ʺi8I-M1Wleʭ/sOox { YUOp(_U'#F>K+0"hw'ɺV$VAjF }U_Cp v,]nqhoZ??W8[fҩ63Z(mvO >9+UQohlvx1F/t{r=\%JDŽ dAhQv>U5iA/f?:,Gg;}nTR y>'VG}|bZl+vܜ2eiit1Z]!2@\+J`ӤL ==%xH]גl{uŊJB.Psh- Z;\DAbE`KhML KۼMuTV7}4{pXKM-?_zpQ8@)(׃H$ϟJ|O#?*ӸzS؟O7_{}@1Zs[BٻpJQL_jLzFs4܋H :A{0 HِdSmϚN,6_nb`n@ Rf$58V1TSyL2(5r/&Ll3/ <3nqIf۸. >5S ή"{ x(%m%ŅzVDUrɭQ i/3ozsÓ/ۺx:藼 F\+SO4@Y4m.Kf叄p/gⅩ0.`RfA6 RM.rP_%>K"]7ŭ#nӉ7;mLENޱ ܀xح4F6Fo'vN Y > h*)ƏIIZrtG!F5gt>kԴ{ s8ڼu-LDB3wJ)`~ۃEjϏs{5oDn6 MS5'lډx_xYlG14#DzU)ot(4<& Qa X wO|`t=F~ՅUjҕcG@>a|MQBfwnzP J4Tt=ZVZv]0Z8 ۗjMfmW'zh?v{uX9Sù覡€ƌ@'XNgamȻ=Dp7W2wCy81O54k(٩= / vDoXĿ"Z3.8s0: IW*gntuZ{߿,ģW3(Lb9t  ' 5/f6Qz^1FG,ـޕ ߈2#V L_V%T3Jh0l>8N0$|^iLV6Ђ ::d>iɳ 0bzM1x.͗6; վ\}/n<S~o/o\k$CK1ޑb01_Zlu\j WZ޿xE 䮨=İv"V{^R7Zvl)NeD&!ԸQ(=-hXB0KK_ͱM9ǰW40,'"ɜc;rw[‡ F]2c~8Ё=bSt5>tbKB3ji0LۧEsY%bMRP)@瘃% pF]eOgDQY%` fuϠ׽ɓԌ$,){2 |eYt$#6V{Jt?, \77ٙOId,j|/:="Cؤ~P!9߶?%zAHFGܺkAWl&bVlq3k_wt7`={F>(s!M%<[Sp[6Ho_kh1hāgB|f^aDS1j\oŘn"52*10z%ps۽F~6Y/=Fqƻ7kaSF=#7MRJ$o&q@MK!.iuw]h4Ѕ$mOZHpqC([#t~nш}ng\]-+42yPzmY7U.x+#s e g#>[4@8P\B/Jd7 JlYOqaQ8V룝G?gFl,^9gP)k5 , )=H+ܒk6B'|"\MzeLT.S+/=RLVӷ 1 ފCwH,zfQ.%]sW|Q6dL56`)Ѧ*IgB 8\O `O+S0v ic,w3ZjzfC< U.{)Jy yyVKq`6Ӧ[AM;P|(gnVO*S_v򥆽T"{@.1( 8̲^e2]i-(= pW:0C 5Mag3(r73CGnaE F!!QR l9[esWain Ʌ17Ge$cߔd8t=i ꍡ>i.=XTQGr z^(U]49bWn"䅕 ri;nry6podyx|9!c_CHeu KG](Pj 1SP鄚-B~2φ͊ƾ56]C9fbfO T b06c{ל-BFiv<fNyB`_ʠ3NL,9DOy(|U&L}m8jy>cYM< Ճ@2l+5|-I9npsJ|m_o먁] !eE=ʂgE |6h]Axu4S`+Ǎ~̇^F2L^ 6:U*H8m^we$Hod7NN ]pQ!>XHWp&P% W֒a=O{NCmIרCQݣY{$.ibB9Mo1*2~JJ k4>ks Jw SoFv$ye6oMuv 2NT#|X+(l`LbUkJ\dS@x?]pbL4ࣕ3vMIC+e=¥Rh7Յ%٘Pu[K}_NY 8q~XIȸ#nE$,G_K#n-m1>G%w"URL}(:^n(Bnuu_lWVGCw g]76*0~Im@.-`Ic, Qf2@VS% xEpY7>-N4{% ( U&"ޅUISϻ|`WUT`Q|3Gp.uc. e^[/Y+c nP5Hzؓr=^fR7յN}UB0Jӧ!ю"OJ!tgwfvqEe 5cx3%|o*I,(O-OQ )?} v?_z>j?~ ; I?2"Uhƕws|+y*Tr7NVS_ ۟f5n}얂ĐK6"ﰵg[<8H |쾉>5\yYA;͎#_e7_^x؉u;ihAB["Nz# *c"9(I;˱`P'xոa wr2U=0p4}!s陊(wMj񷟧o#EgB/*(O$ec taӞ\{ۢ6]4U`!JcAd+pA;Wۤ>u#[xvy+Yyf(i KThM=@m׶rA7-0ڳF;k@#աoW^qTؐsn?m2;Pdh3L5zQpqR{#|`eQx2޸ !sBpX=yyJ+DTcK8]`JY__:9.f1ZFQckʉط(fGtқ횇d՟#> Ro >(;ȕEǽpm!M9w'0=:[aq\ pi],zu"9 aɑ* N= E 2sˀo=E9J$M p(àecj{\t_Y=Zx8r'b|tq GBCXVV<A ~E)YF~qnrP~Bm@.X߄Fn~C~_5nr&$&hAj O,-^81)cc `+؍$є*mNQ^:INPm$O7ǃV슞"D@@EHhjOB& #lZN֪dZk.-H5ꊴHR7, 7s%۶pՖ0y%Fr!`" ʼn`s]ޙ2&PtHՑV)?)mC@TڋwaDX$&0NiX$GcPZ$46^̉TxQA Vd%r] ,݃O@_Y>A}WΡV&!9ygYG&lҜ=~vrjiK) ?񩟬 L =ڑGOBk  iCWt"b@]p c(9-wʮkSDGogJ C˒^nR;o뉸aSpǐb[$>XD(OysK <G#Ӝ@T_MiZ&?N0Rc(q}+;ޗx+Aq+\ S` wh'N8a7q* i]qr [0jkBzf`2FC)!o#mF#Ҧe=6ꓤL\8Ewm'S/` 3%0~;I\볶hm뷻X9eݒpwmƸ*grpz׋(rELYz2A?Pŀg7Jnk׈DYY{HD I_zHJ[x'fe͓?v./qbCLV+iV ߈vQ"i҉SJ_jSN=L}~y?:`hDiHܒ v6?JpUvM=:ah=E4Ѡ>TQp*C*;Am=ۧ沗3aLK Ev&Z"Q(ςR=j2շ|F,ac^P~#l cqb|Cgi_1 Lp,s[`SyY!7lZg:SԭN*R㸦$h-=ݞRVX&26m a&=  .5A;C<ɓN6){džȹPm=^<ߜ%)Ǭ_NZA!ŕA䂸לeW-XǛvt !nv$0؈;p5"-Wq"hM^`OOJdlaS%\Jp%$˿'WpN8L(tݚ$΃qH#~(4D?V7X&kUG`'A)?(p׿X vjߥ] #!!E?煷}0q"^]X"rpGTW1?bDQ&Ձ?/fΟuwJjtuySB#_N̞[U?(R%?[LDjNXklTn~޻z[Ґkds t1)5mVW쬚+q_pIJUI .Ba-bͫ5X!w:7uQ֜؉Cv5Wnt հ~IRA.Ho~o 2JB-daM_=nU 'jE0 nq쨱I^vp&[%z{iL[|GU <5H+8]e )|_\{)Nȷ?2P]5 QΉ˺L,Eb+n5r#0,>٬Ku2ӗ`H],g\3u?1'>~^-M02uG3'}" /⳨l_鲹NqwwU ό2_> SC $"F06OH-D҆sB# tYw~Iqڗ5.]A0LCXT1}Sglҳͤc9j'HFE}Ř"9y0~!sx w(n S[Ezo-a1x (yώ $7Mͱ$>'!51N&+!\FmKY/ܐ^ځ|u"lT5w/7{!eybYɴgr4$ǔXysSh@ToY)񈦷;D#w={"q.qQqhnSMD|q cL 1_쾌~M42,q2Ң#e&zvd05|4 H%@]R|OS|_ k|WcZT&`4UK?K1f=F\H6! oy$R,GQk 6 ̰IO N]0MIlq!7lՅ5 y}`q76[0/֫AŘ$9ŁZf>K%KfhS7&xi-A(#oT!OY4.p`~PH(>%LTV_[}gge'z@٩^gu"χ R=D_SNR_Z$Hc(^+eAkS2,}U4"wApKMAlXX:ݠV\z<⛗Z9yL7glMǹQx_SBRtDi3?Īb׫hLoX$?Zm̤6B` lz܀?IR2Qd:* :nX~X8(PaI'@mI=ήF+iv:]_b ؏$-ܢz B6 `S,|K+17Xc:L>1cng^}e ۀQƎy$t +@ϲw-uz @{mruqQg\o,1gJ.|?M 8MY 3%ٮ2KC 0%p w+{:ቂMhm8>#Jδs4s! UXsnU# '@5SMb}{zZ.v-2&U?\@OWА݌d`gv1r;Y"(t`qII\ b"y iĪ'鿍ɰnvcl5ꔼIqY;,u1d|#j~K;Y'G4뵞.vYѢ_煣 NqkY5t kˮw[u7(S<tEQV#.NJ&;&k(+Zł=>P0tQ_؏Eny HGPdٵoͶuS}2ESGX&B uR1)}Ex)lL8ˇl3Q|ry(wECW6„ )*ԯflbe=Jh[[vX K|9u0eA~tT?Cz__<4)|:E^o:q0}fJ>M)|ow\IT-gZɥe=uo#}Ck] [xr}F b2DPBZOQa \ZVHc'_ڼ5/BҠ4_5eL"pU&}?niŶ8370.=׸Z +f]yWO0 |D*7:><"'ӌ"ܔz0'3=Qz.8Yb&u!Mo\ZOIY^9} yz關2-s$-jg*P+e II7^a @TF!3QJYiw>:6c ^KJ^lVAld[XafkvjTfuveݏR5#cՃ7_)#^ۚ({b;ꖣY،~ scWߔ# D23uϽz;(Lĕ4cObROpNZ7El DFB_ro##x0lqsZI(|$-%f i锡K^wc%?3Z >#~v& .s?ttfP|"+!J8O)D"*!\p*)gdbi+薙;t bZ4Up"3号]'!* گ@Cb7 1T=Odc`@-zܒrCjfjS*XBZVq؇&9pTlܞD`d;1Tt_iǖẁ~?"yu=&YN14ynd}[uiF4r'-M.@CJe?Ʌ8D!{9N5oM<{û9*ZWG bnn VW殝pa+6ɻԿKZ9І:a:kI\m ֗?.=ff"h]i5{󑆘 Q#KkwJ56bzs^MqmF).: `z5|V("oՁ]4^{STJ,lja଄/ңbSȚᒉS9اVMgx~TUx hqC-CCv)= t1V%ͶL(׃ ^o@v6egtC%NhOfq<-'e s GN->𜋒º9{=HQrJ<MM ^Sig$R vR:l h:u>K4aCOGRY{mu9YZ7Xk0$'O|ֲ}Yg,䥪`f_MPa*-?(?K벧(]6(='D0bv JX AiU7l֑vhm kݺҁ:F/iiik4P ٓ$̉fmxPMPƉV*3XI-av):mHonGLJ&S_ƞ?t`wr yuuŨ9plח9 &7%(/ut?Io)[=:J g]u p/b/eub)'$[-9ZAW$E7E0f7[-@¤B Ҫ’y)&%f˭#V|ي4+ƯoM\"^N-+bRM\ZR0g7X--Z^AܷS#wSMq+@N/kzem[_w(R b@mQ"z?7"5Ngh(:N-z"Ivwھ(ճ.9\z^ a|<*\\P㡰m%n|oi?ͺic1<]2~QPUKgӄgxVʇ&mW茚R?Zvd^!3Z*NGBg~o3xl9BexXOSS"zFE򐯽\==NSZ8H@з=<.J{{PiS)jf|Mi %ׅ_f1ne#v@e hK Pb.1 TerEتe2F-lN-.i@'>5aN{MrԣSV=2->j3 7깦%3D7E4DRJ- &hRQ"v|lq~WNHCUqEx1aTUr w{yd 8RwŬ GrĎrnYNfו)<[W̑~R\F0v3vQ`Pr1ad*T|yDDͣ[Q"z~:Q`?~[0\q/7oKʡ;_Tpب2Eyc{ǃ#@[r["~Våȃp>(/{\ݽx5uU 4鼒*&T> &Q5G:[#VD*Y0/V iUvp$8͟v%Ekǘ>^dY'Eߏp6ɉxq/=nY!IY3 ILӸN83gK;_ 9hoT5Un֫{"*5؁' Kr֦";o٬J3IdmH<Е5ݷףj5$aH?ⓑOx9SSa,Fk<6=^C S%>R̠&P|)czH*y1b^|`R=EkbQzTv#<90֬Q.S1Y{%)LK\пnt;$8Lj,ޛ'\ շ_ۈCUCjEkX,\; :7ZxjZ|xVz-<ګ3&,~ һÓ0qqhkVze|=qp;G]t)~s-biPdU )Bk^WYz]JQT=B{M⚳l=ӺJcj4~P2UՀxbrc= E|3xy*W /7,c-lZHqyh=Ѯz סd S?->E/ p IhRsq [/+bR)HəHR|V((s34цQn$7bG.+R:.OA"|]}<)$ ia&~h;bZ([v}ld-~O[7j(IIpuE/R m}kPd;|Q?{eK)uETj~\^a))7]/YA`lL]y|PFf}> -J oR ;9TF8%]p ų5Ep]s8+qNzK ا0v( ej@HAxU^96 2~TN'0BW 86z]9d'.8T(PKii†<ԯSPqfnq#C :Bwj ~`/IKzyHVA&@v>W >T[uB~zW Ey{wA5<ʚt0!6ɼKuv[um B tz9ȅMMOUi X}aRj\oUKo93RYdVFCoLЭ{ov]F0@$%#~PrĀN?6=\m`s"եd3ʽgv*+9?Lԃd{k{jD#/goY8v ZKBn 0f`jLmW'vqH6Cvpuz=9WtZ@w J#phmT-$s5àC|Ə[<!QI<0 j35$ 2ʼnb{Ŵ#mۋ~ib-VQ(uit=u׀1^/ÖImxL՟嬤X'>3Iu]\ n=]*[u¡Bk kVϷ38A3ޭ7I)<;N_ KWi+ zQkݲoO//dҢ *TyOB$fU8 &? ! qF{k2u.KS',ʑXatz.EJ4:-$de`r3_˗IW8 1A +9uQ/&(Z$-!ڻZ;iPeiKH%crc9N.t[_}k4! Rծ϶b܍8Ls r]Vjc&Ǝ[zX-jn{KSV?)/4V<He1 *$g@ Fm_mn*Cw.TO77T;"2<5 $f>gDXFl} \!"3P Ab`jZz'xd俕[\Ĵψ|./> Mt=+j@ozwmٴ\2qz~Sʞ< BmHm`i1A> Hq/=gr[q31_l so?+ `kmn<]qNC+B}&|+qI@+,Rg8 )5A_ 7}lo5eO[ZaF=̐h kk5fč&nbƇxfXezaEM|6G66Vv 3n\r3M^ug/GhsEʺTٸ8y7uۇ>u:BVpѷ _It2Egg9ѳKu G[ߪC8x!UEW5&~+҃!wm/ 1WgfyfuY +퉚D짰}L|8; R!jUb%2'i>w^H VLנ}t~dq:*Lw2*,-{3)W"|},O9;+k,${4K.y^gR&w3 T0%* k>jݲDFxı6 ꣰h^7HGαm`}YͿ >C>QJZF />R .CZmsw/).ohLJpp,8]9hXh(|O p~"=|A_T)OiE[9*8|P 1/lo)Q=(t^N# ]3ힷRvf^}@~g&̬(.qU`}%{I>G/AYy\B){"3S3f?;#jU Gـ4{Y?ߵ{w4IpOƹ+穲RgIw@EubNTʦh??oA^qb>:q4CQnk:1Y$$q8 (3DTy<@wL=ԨlcıK*'?0;Yw#a8xd˃38E @5Y"-{Tnw HDCq7ގ &c1Q,Qy@H]a3i#?iEbϋR yHOE' ~/|1c5r`IQç ˼!6 ć_W?0]i؋(^ =$Rw&a`ՎESTT1wN֛gbfe"Wm"#w< ؂ S0owɷm}gQh ꢭHo`6jȢθDkf#8{:i,Ǣ)p~G+cx=i:\%@FBS ܓ'>D.襂H+͹|Ǝ[* xa-=Fsd*nd6Zηpl@+k),X$Nmyvo<}aD?hr`ssk 聆Ґ%I<]D|x?&NI%x`ݡTFVk wNf `qCU\LH63PND=nIwԔ'GrQSW-C(u NVrFVlHyKZ%NVT@B; uwCM-:msfDŽpKZ~p6ON?x3,f,[%f.ZP/ջr ja,GH~J)Q"7/=~ »,քmZ/BZw=M N4oD9$ƙ^ҰϿky"VzHSns[ʛn19r9V>[@TU$jBCx.Y>jMvQӹbx5Kv;vAu'nZA;M<YR8˿Uri`|X3/}nvיS_5ԋbq6b\p]st\R#$cx^6uO lYwc ʻsm̀Sf >n qk)ۙP9Jo-3]k* .]Z#Ϋx jn 5O:~(_^ߏ*l[?3WG?\SzB;N3BS!QmzSO͊si M.[#%oOKK4-,E3O(ܴ*4c"Sa3^- z3zgkOxh߇V1jɯM' WQUYKm0oJa>A~8F5PP<c᤻47$6qt6-f~)\+NxƼҭp6jwTR՚OvOSkF1J6-ldp)u҈ji'.1%H0 >ԣ 8u$9Dde3P_#W\d*9T*?] :Ŭ,~6(8Ba Vs[ka~z?}.9}<i:di JiS WF BEK]+zpċ;& }rS~=kZ!\s+@u8a7ڦP)x[Fz < M؊]_){"e# ϗSG$ $>HvAc㪟>BBg+ܿZ9`iSoD>+Ey` mY1%ևvk/eQZ1F˺\ e/ '}[Y9|/4@0|r;d;x 3Fg{CؿݯGq17[7z;aKlY T3OH UB6^wm ox$ FK^\ZWNݾ co F5/Ϙmٟfg +Eoꔌj4=v ي<ǿ>>nMX e\uкF,&ꑛ~{F\F+0_w,V*YrbA}^VbKŨϦb',V]R\P|#f'O8L]qdVap}r6ρC0^VPY6Q ,H^`Km{勁q/X${*"j!r5ǀdJVf٭iA.:m$tæ-h٢K: 3%dX,aM6mI|f0h]; n<|J8T85όsL3|/ULѻ167>wb@VVå{%| gԛ㸉-l} }Rc-k?T# Lkɢ l@05HS4c3FQCwCdvid .u^,t*MY]r!S#(;>Əͯ{BdB+~dj5TTB6B*:i* |6۔yt s0 3d⛓#Ciuiy'5Adf49gr9hjih'WuE 6>@Z5=d%auMaQB˦r>:U; D:bQyG djD1| :`; \yEr]c ;dZ}w  %9aI54yDWs%t sS*uɈy *3}k99IDҰ`3FR#rV0q.iKq%zeѕ>M8g7 ?t% Z*?_Ϙb/W (d]8՛_u}Np@d|]<_I?ڨkn :P.?grq!R03\` ⹴gZûN J$:gy=TͲXgbxUЎvzHhuM܉9]“=Ffa)Me2ƪ6ZsNTg}g*|'CApOz ƥ&2jX 00a$$ $}"6uE]jO\e lvJS^uTmZ% Eݹ.5 ;A]_(( RLt]ĹR|/XV(Q[N8.W#8=dS<ųhcth*ͅthy7<'/`*@QO'$LS&z@f:A.C-WHUpc\ـȫ(;Bԭ X`>'<]/pAL:`'l軾4iaSG)w'drC5GT0s\5ef?rd%(|\8@l5O"ܜ9Jh~}R|]S2XzJ"bIwv3i/P], kqcl<n:/+\SbUAzd ZrJ٫F{!C4zGpYKXK~m,x"y}ૉzH㑘T{f;PXrZxpBL fk76+)`ׁ OA="]0֧>elaF]9!GЄ}mrTG)jLi9)tP]8l}ݠO놙b8HO,9EȜOUD }0wc ,z )#Ⱦ2TqX3y 3zF+]UVچVŅ~QFb^K}(Hdk$GuNj_ߙ[ǖAlH,VOqz &*juUbqY5"dtZ^tDh2+pc=N)~vf!v&g}]NpDDVEU|߄쾖vH 9|QײMf!WcXx3 ,a)!+2js5 T@b};lQʶjv %0EzQzbC@ZI) 7B R3m Q ״bnae_*% 2f,I6OW؞ލq}K dPQj8F|sJ%v9τͰ5zRGIB,E$"ڎ_XRI0myհD=Y.9NVxzLP*}nE佪H| ]J5[B(3Go7K^?ЬVff.{qúɎݪs5̃T鬲eP-.2xI2[V1Z攡wif"]'{JCR6v B i*VeU}HRZ*WKC`~lQ4C@mBeQhp`\H3;4M֔j[AoD%MA-lI>OS G }`urC.=sloHY32RlPBg#=Lr龁dV'{j)WvS6|ScOVB#7AMxi]y~.Xco!5Cأ6]AqKNsu%0,Mc@t=e.#\eP޹psTZVJ5;At w'NXm{&ͬX̂}J؇~nPO,;o41SV4)b"/hcS51cC~]!bz+GS.5l>xW[6YÂN)&&TilgTYx(CY6!O~Dpb,qU%IO?9A ۏQQg<;²!;"O ,KDYQ;B,@mgt1޶VDk6j:;8:A9zuoi9݉xPʫrACY,ݿ(”er[g"ۭFs{>8MSkty鋞B {U,LjN2iom Tjg̉8>AΔtN{ƙa3>:-{'Xya)y "aҊl/L|b xzeZo>z"dS?'0eFKDvnj^o;9Y1Sv^m&haۆɞG"+I߿Day>24NS2$b jlLo בD5ʛHvŌ^##VDKt}W Y-xO'l IQ@qҀ2K ܧFd"67X!l޹!~t ^KeO ' ݄e03pQ5br,2GJj7dGI lGђo; %FT\|x.s#K5k&MYg(=JPp'ebٓ45J#>Eвm2) M+ruO_/ѧ',$/aL&Uo܂lت|Q͆rn txjDè u}ĻDB>Fna;\Q~;!]rîŔA_DMt|\FBP0K PT up Jme&3RtГVr8c%}EH9_.] l)_B;G>JYy0vg{rl0ձ9- G^\bKr 0PRb.RS>(((fI G Xo*%20`5d̲Jз0P-#8Wmmɻִ~}٘CcF_si@hmSA%0DB |&M 4~?6'*9axWχ/:K({(jW:)%IKˀ ?oN{Ѯ'`J7y}]0_Ty?hK<+X3_nj[/Ԥd)chn hx52xSeg-U1"TLo@Mb[<|u昡hʖU"G23&yf[FܕgsWq+Q˰(qKNs܍YQLTI8չVZ~/0 Qա @1Z[P(p GQKCg$څN&8NKpV5  }~k1JS/ϖpWQ";+q~RG8ǪqĘFjǨ6n@Nt$J4d>mF?t+yz*E+f˴U}x3,D)>RъrcS=!5B-͗:xrt,R6FZSwYE^NBlIcd`r1[ؙ/3at j"=2xR50I0:QYt4h${"}g !QwV80_wIS:nN{ؓ㠍@il8`TK"`& am2.:p ;SU"<+aK&jʣ7l S) G!'4ӌ B\mF7tUC CNss4i,.*o3nFtjPl&M"Hw|JdvD/< _Q>k#ٻ ͟Zx$,kYO#[gDr?p_ EViy:)ˎ %T Hmׂr8-8P''^qKa`)nݏדM&?ȡ$.qBsJu-!M}Ò_6UVYtʳ2y('c8ASg\~6%~\wݳ8Zž!ZC8EĢ&3s@pH ɧՈJ~0k4Sp+A2R}z8fJ3wݭИZ`#G;{| &Lzm%0 ,ZXa6H/3ޟa-vepx)@ vZfApbvOUCgq5%bjj1`#Kkܴ, *K DZT,mAmf`p 2WWD+CgUE@ȌʉB(f߉UMj$֭{_ 4pt1 /1.e+/_uFٹ8~`} l%IFy'"룾_Q{$j[+c؞FW6NRQvXoDʡܨ1L,mH->ݲ&u|,׽{cALjM m ޱqS]űm0J'd >4ʝ,e>Ij'vw :FaD2Ԝ* 2jH%֏8tĒ٭e18q"'Ԏֱ̥sL8\)gfSv![IBdw[[~ϣ4VldK::[Y,n=)tZsN ^1 X?($7}&$ĊzGKک&Mkx|cߤ:ɖX0#u'7_#Z6ӌub t+}ͬz<2 v:N9':xHݛDu]o { nyY ȦTcޘ{1|'ۋvuՅJxa48nx,mխtɃ@a71O+C0;b @DZht^ S $N$ Vی\[|[bEw:J4vːn G!F&.Gf3dA1lBe)XM_SY8$ }ccyeT)̔Q-J `T pVVFtJ C>ple~gX"8@yy(+)V?E(os(- &N~ЮeyN<;hT+LQ%ŐF >$κ(NzI_V5[N5m@rHIdžVd[71R/_oc4&4W)uXÇle%GtZig˷ detBk) : 4FmC(l1/i4mu"Z^'s~ߦ+1ĔHWY*22#"DL\x`7C|>~u =n:1敞c AXH ƾ1#Nh}Ne_gorCM z᷵x^F~I5zUmE3u-є T&~EZF".Z"N(w>7[q~6) gfq] f2s#khdUB%{փAz|! $9MпR[tel$TFi@ߟvZGz,e1z,Cؑ ]@D9B KW6ķVZ,?J-;YP6R-IPl c?ٌ> ֫8 6q,y5:$UcHb0eC_.YGI+!jI^|\,H/-Bo_F/ Eχ0ܷRIClo.+O*WrIS_ 킔/]vl c'K+nZy:`,9}6>&LCV5 >~N1` V V%6T|PEۢێmB )^'jo lM,^+lZn4E]"f%hњ OұBQ ͙pu}- J bX`86?Kͽ&iP̻N2=a \86{0)˭^c狊V7g*(zM̮s[߉VxqÍ%u<І_0OO\!)) =G":Cn•S@vwBjY] V^Z{NumxlTsK+$e\^E;~YӐ4H9ɤC|.A_,9%',k q)QI]H/r7{yJ g*$5 4důGg--C\/勶OQo zz( P0bdSsohn\h1}WoL_‡EpP ~9\GI;+%};^ͦu#a㖦ɞwDS@'J g^c7f"Q=)b ,9LW4¾FEA|~c:~I n#WAǢ^jE|biҭBFz\^IaFdRp[@o ܧ)jq# Yw Lʈv5.z KY+}EvAY0yA< [/6֌%ޱeiTeu]aӴiBQda!*sP2߿A)o,0.Zq90}]-9we*j G/Z3v"ׄdغnY{|>Hsy|}#Zd%15tRLL[yשGmB$.~!ڠA oՍDǁVAR%~*Fϕ+o!߃69wC8DqaBJq^kcTC-ksC &?VWz&,2mMgQА$Қ=,"($dvHxOeFIjK^Ig^c1@ȗ b8Ҧ)6Lzݩ#Zd7$_KM볣v,}&:rg+]z6odej)4^;%uwy}*׶gg#?f_aWТ\r^NGf9/1ݜ܌%2KY!B?[juWFWD[mƮ˹Q3\B|^ "XZyIcV+nʈɬns+Jr76ʸVk=@nIalI@O5?w uf97FWIM2 ֲ(xa<;~.)CMAF (|I:| ˵_67HblDӕvƪ =ʘHAb_w 8mHczy ;5{ndP嵞lB yq8  F'_ZNJx!dvIt#OVc9̋W[XWn2% jQ:%N bH4o2q[,}78vٱܸI4zNV,Vb52)ӄ4a ,+Uƿ5J}"#msG+ q#`e,ț?ēR8hWǐT}Q:əur$k,1P)RE;VcP8ŏD3( ~5}6"bP?>F}JJ;F8 {%Ay9+m#l#=$@L;ushIz6$q.(qr[7D !$S?/KiL_ļifuޑćd'ȢvP6S8InzJv``p>zmY7 '#1u8zm1Kyqy+9aAWXj|#S T>x9324,tp2ϳa>~];%4C&ƈij؏{ҿٵ!n P+mIR넍)O=dx{6^3.σ*DeA/2zu i>.!5y*5a=8KN\X>K6 Az`=Pr1f25*oeͧD}J;2$γ)YYsj@Xcp뱕i]65 X+sj~9|LN~챷k#o`[blLK6!ތ#G"iV$hX{omw;x(mM/f!jS7)n, Z2;Kxb 3jY$L^ݨf6xFeBaZ\$=-z %&!iv#DҼp^fOl&^A]iZ@،2.#D/^fy0,~]D޳*M6 ߇w7u^1͉5G6> +ډ_p[l}VJ"]H3䂠kB50$em ~\2KtD CUt%`^Bޞ'Vc|i8'6/=Eo50ov{*[̥.dv\ v$/ZRu -z$j]zR:mWb4^)`WeI@S#<EDu^)dG٬_#PphmaR*.USGZVAe89O*]fSN9֓V_+9KIqf+~`1E%3v[V߀o݆+ofRU{Uvx`,naRvI%?O˲=Ht)_*?mʧ1Bĝ#+69=WasB 6LgqH@*kmC tR *~ ޅ-OB"}taXлRl<=+ CcԘN<ҩO&zfM' up'}lrP.ΎJxɜP@'P2k_ֈ7E4Lֱؤ$yPXwz @ss"oʪ4. %BiAÅIU.gL3#/t@>|y?ĥnt~<->J hiOX yU/̥LG a5\Qj[ ülaSupS=*a/ *v;R9d>#'GeRaE15r&N4F\Kn<-k"M@_<.-VWO-|FW?|ְ늅siBE{%kfl ["ސKCy'/iԢw`EvuZrs_ j:8ó b"^%P,<2F/+h8uKD^XF8sa~]e~.uꅵ dI*-=Vk|f11n!^l%`&+ w0ȁm= h5PeE4~.9>a /aT]GcQ]=>_oщ#nIBE8*R }gZ #7 r)xxp㐉G-S>&f\eS O V74<'+_PȢ]* >j1$+`0Ñޏ}p?ZǢ%󴓦S# bSqJޝK)# ȣIo.;]Ϥ]ŝY [lAwN'jVCPQuG͕0nQ`H- iKmCZIWjud\>'D?$N)HSLX"*!^f1Z4{cAoQߎmPjP03[5@^JYgڅX߭rTzۦXLx ;օ<4E(E'D  pF綺S fXGD6f+7,*=CTC'N _F):\Ak'zCd& %;k~0k3at| 32\:m<> %ئb1(̾}ԟx ?uނbH2} 7;&1~Ttr6|)g wIR`?M:hv@^Ul} .<3bGܬUU8YzI%,\|Rpg"wo໪$-%]Ʉ[񟍒$%"A5K&ecK)IDC%:V HEt 7ɋTm}rSO$; v 'IO$4!cus]q*'!: J+Lݿn{CwҘjOSd Q?=穩U86"|K.\pbBc=u%ͺ}E0j?^8\k2'gq9\uܼbtpQ{AnV7,<$HҎi~\sfNƅmW(nnJ %M/Pg&Io-s3g2לqz\{eKs}Bwze>n=dp whek:3e!I=WU &EAg^g=v*. XXLW=m`^NF -sdϨ2pG+9 "Q`m3a#'(}3,9/R-=a67]TyD, _#脭DaZa*! F}LBb5R@!:'% däᄱ+B9Owg4&?pL5qShH|7ͥPD3CwՏI }nRox>Rc#d^\-86W>bZCty)K#gWK|@y6we"Aձw\|~4lXNa)Y%_Ui~iGҟ}1 {rk1()8 ‹R vB:/8,=7;D qXqK8󯑱2L۸v:l'46yKH3!ձd Cq5z5lr!J%W9<'a(݌~m kJujaZȈb*g qFJM$F7[BQN9%(g3Y¬ڀ􀴥tRGjreTO!Yg{Gp2e/qbfe]{s$ou /_z5Tf v7rZ/]ɛP%V声5.Y`M*4 < -^¦=c ゛)>bLu}Q.vl؁:hbAj4W LǙȏi68%qicacBG4?hѝR6U D#ĩA@I]D9[MΡ( V49xS&k00ߜlb];Y;e <p$#?Ώb(NXho9[ ҐmX]!AR\ΎaeYZ&Zͽ ޫeq v1HJe "scas#mn,/qZ! hB"4=IvIsSI^@_1a;`4Y"u56Ca0Sr5wA${C۞t&ybQj&dV8Y !=2rr)z'<i*(<]66SPZPMo>|jG y5r܄`^4=վ)D $"mK3 d߉40 f:6g׺; Pz-0;o#OP *&-IsLnxpT> c;$'ң[94|"e!!/K &W\S?O歶JY,)[mdϸwꉻm[ޱ,rn7ɐU8[.B1I+c|oCY:+H~32RԽJ!zH=T ڐt;P}(r!vXkZkI=.Xt"}+aD11롲8e_oOnЮ8564]nÖ1M)A06k_L!ea,#'8HJ*I5:Z|{%VZfFH{n~tԑ<#ƥczOThGɎ%[Mu3VPGMR' nn<ٍE6z1ZͭlѾ#s㚗QMy_z'_\u9~A1gT _g`#mw ]gs?֬12G=lD+kFnq! KnǮe;Z"n %%Q%Ϟ/Cf πϗ+P?Xaғ3Ex9{A|U_4TVWy wNފ#-+rMζ`UaՇ'IvGŤXnjkȽ#v5./qĮ𖿇:$'eVPb^f5:( I4j0&3ZUuF6+x^})3>*_,h;A oO t)]oz%pV*Isk!%o("(Dt-)P՜2t6ߏ$u(h4C΀ jGQdHjgA6 'zb"ۢYʈ}cFff\ oCcיWwՈk04ņ`x 'Ivf4 vRM( ifYwb sޓJY5޸ha$~q/[&է;8M5unڳ^J~-¢#Gs)Ҡ\xf)K %s׹Gc lIpiϟARTEVK2\;y͐~>\q#?yuzM#+WWM3buyfl&^᳏{l Mxb`8sȖwrd)Jۦ@8Dhq_"A:A^CQ9"OCVu@~(|~mM\d\U"9[6@Usof 42sٿpd援獛_-5'd8S;;#G/N/^u#Tӈ8 GݭI^n΀v/`\kWdғf a7HbAi 8vi6-| b\\^O ;_=.ErA>]f٧Av5Mhȭ#3WєMHHy %wnU b" Xɂ59<(6]dn\gb-.F`v/l"#D NyІ=;!3Pwԡ!P?Ч7bTzsC( 5>7b#ҁ̔xC">FZ@~#Ƥ-[I/Q~P$QF@s2?vbAJR /-VFePj9JD!֫y )ZqAߝj~Ю5ϷXo,!^D }Iugͷ5;j|#lL$F`V${{: ه)/dygUhHNL5"Q4pgS_h-%kLaFe%%`ywK:SYWCCڮ2ѕaOhKFզzu!:Xׂ{Bq4E zϵd&|6DI/9a J- }=`s6GZ7kq Q\h Iku tɡmŜglT*ViCDU-&1ᴺ?w;zqIgPgFDmdW `V?QnM7FKVH)5\=ݲ}jغ~[A8 V&ڈ$ KN%Fsͨ <ڢM0 iDqKcuя`<1Tʉ?BXjE;>߀"R@@GuGA[ci6(+A&z3HB*Hut6fBxsޕNMֱV96Lj۶hSY/-kzN~z`,uΊG ȴ5{75I1Ȑ*>@=>s22~?RKK{i+{Vz´7vMll ު;f;Ŗ/hqC׮rEgBB.(uwk,,Jೖ֓j)n䈦yvAI7rnfE`K(tB㩾cWHBMܘ8ӷ:^7ȄکGTePc~r/a{=‰tAՃ7Iurܭؑv+|kVnS] uV)^9i69Q{\ι:zña:6_cC!:[ۮuQr7i@:dY[O1'mZ?JbUB`eS[zo&n̨H嚐 F`G/#nsp@BTjwITS^~\s[lIzObT ?,5 M\\qi KZb7\֭ w:*{z}͢aUe*VU{|QT2u7ͼ-Ȝq4wx~uL3;v$ҿt~7 %Bf $}s3}"}:F# vPL̂r<1޼ֲ7}} 'E>B}*k {L כtn}Bmr@ǻVoZKdݪkӟYl\a4@d|{M w'8. fM^&kt?4uEǁ d.̊딮*OM9)KryϭZz&f-#h6x㩛2Z9,fDUJgᷤpL&<'lDmunHϵm˧m7,tS-1Pj{pb5wH-B~T.҃$XAFeEiW}nNAWCF~K: dZ trbC"9H ?p\]8*oQ,pX/\a,q8۫{ v缥vhJWH(ϗFCg&mnpA J'$.P qu+pxjN [8(e̖ %Rۅ5_z 4A8n9_NVWK-! ;fY0j1z^8I%.;2yxE?Z)687 Mpa$ &|R$") (/zG:-cj.E C2g x3@TMaQEv=ld*䇁0_-d*׽? |wW TZoF,- i6]м6! QkiYM'3'N5yyBr,ky-sp({(=yrv]irmW.w6iU5Һj.pZb|K{Sr,E>{}U:wC0rA m>{Cၯ!ޞ-[6:r5x)q695ί^_N,AfΠ9gܵNI-aƬ{ͅ}xQ)dn$)AVnHzNNP^Kgtt]<}a6tXmgg 3;vRK?.m-?dFqa5VGY7i7A\Lid9OMetzh([-T_k q׫3![]*04\soP-EfUT.P96VQN٦1ޑOꮀi/ޤd56}8%$xc7t,3V}gʫ۸%e IVYdI(uD~{զ̃!y,*Ry?*ֽ=N6 rI HQ낥.Y71B낶ǫ2p{VĽrLq閭C^P;0xUlO -lh ۷\5xujփ_= X0q,өgu$.& /.(xB$&܋BM\L}Y| \ЇXHiS֪vv{MkBu/$Y%gؼuCj?jSቃşMwYV# Eοߜf2&x2L Ù1K8+D)rSS vo6ôB]s- V!A]}>?ӗ?u.]ܖ`Qі%$rpX垆W4|9Hpٴ]KOGx;#@4ac#B G &[{J^))ˈl/*iᨎ}!ґL؍64SL&i'q{I|+:E,.luY_SD>po"y Dc[zDJAq]2BJFK{i%7rf-4H0 لꖨEYcKn~\: Sp9D9ocEX޲)[S"ph:W>E#b暾,睜XnrȻ[ u.({S$8~46(m{fE'W}q״xD5 58ϙX"vG̓-]$?HCE*@ zϚ1Z=53z>*ˀ6GK(&cYIN'm@Zt4Q>WZ| >;T\-Ԕ"?xzO!2BBx}bLv| {:`0#< UQ=>k1fĜT E.'J(0( T]7Amn'Ew%("BF? [ᮡZg7!'8iЀCF PM&q#cg @DW,-[Rrg~q](sx54ա|<'<8sM# ub93i @/5 ?M}Hf_Oil]4~ѹ#TxF_ lsuf3t/-uwF> ԟ0gF =U68.KA~--5}.썧5"% UǞ"'c$} fG V't؝LpHC{r]xʞBP'6hL@_T>eFd`N;[UOHDpDJ8t2aJjUfI2 (']beZRn"sUں)N1\&tsRpl|n>Z%+FݬG}h;D ck.tZu1p0pr6,MąYop{VɬĿAVcx{o<[SB)Pڛ&pN6kK_JFn߯(FWեʚRWh?L6>W9j>d\TVw:zD@x`Ӑb-G e.n[g/XKTGN۟ޏhCz`wj@"Ϟ0q@ }D},*.%ںO>] [XlJK 86ƙs8uW@!6`ejEf7.ӂ頜Ú@zWEW,cPـFd:Ţ y <^)F5GtdZjEP3O1?C.Nt/*}>RHK\1$uǶ>=Ӳnv_0LxFޯ:#{Np[ po,MT/R 6r tjp XSxW9~uFʡ[5u]8@\{+9 Z Ombd: XԷ"XqBk.qjnle ?ɔGS7u/fB=c)-=VX+Yasx27X*h^l.O''D@kpq38?Bɥ$vBWC%z ѱ| 9Qx?etmg@(}\B+e.6(QxMKVew{^c$_. {k4?:A'̆bKM}2<@^$vl+BԪ`+PPxo (FF!epMMm]ƀZ>Zz1#^̅}vI i, tJA$)JRpj11-TBf$7+5*"ϰ\/ Wdi x|  \crH;aa<EDGjHE\\& ~O((2qs[xYo+9ppEWkwQ5,R$jb2/GY,ʏut.ҞվXF4~5KG|EV;p䖀kMlƐ&K  \,:#K%i)=Yg?՛I%+e;9q,m2YwxFc-:j:-@&-2l\-j`N\٬ֈ:e: y{ɨˡc ~FMc-pl1h~TQwYBhxZe"fY^ڄzTVJm3$ʛNIW]2B曀'Mv.^fNdzu{8Lp~eZ$+90u*t,^lz o(8ypt{}*iMl&[ P((X-,QZJ9ԨݖFLܘBIf'nb0(Mc |r܌=]` +d!r-b؇冉ρz(c#h2(9<5 Ftoy91;R1-b0Af1 M7j6v--fN^fk< X-%k erJ NَHTa{Me\!)9k}S6;MAȼojO+ڤC_6Lw|`˼T\O[̯>@ԬkC i4E\V1ԽnDQq=wV3 kAhq$^cjn[vEQ(ԢŔgw2ʪT)xd e  U`lv$B ;  Rеx{k# eM&ux--ߜϕJ膃?H yԤpd%|3YORHG y)ȗ8^%vbT K1bߖ-ѣ9Û'9<3=_ѹƟZ"vǙmam2nƐt규#wx?Kk)8 CoC%к!0˗nͻJ|nvc2,b -H%UOh`d|CV́Dh6W Q>[#:;M AuVӫv(T?#V5/Oy&'eb!T#ͼ2cQCPDN47`C[ggy4p6#ʛc{2e'e@N ܯ<*e5d[܃IY7{eX^^q\;·^E4 B47zE438[AO\OKSww kBʳ6P%a&N8>+oCTOAuE~/ E8yltY#uRtˏv&t UϜX1T"I\MBj沚%}+ŝ Zާ-ëeo5蹪f!jKnEwm_&yd\i+YY*݋Ȁ՚lB{eB҄ܭ]̯ҏ^lWa4;N us@Z*/]&7^oi&ڂL>@Fi3;XH ^ByXiv;r"j_VrfdAj97XuŮ]nz!!B&-q#Dgr[ n?QXݦxskA*iIB|/Av|,Ɓ ʆΑAWQOpN! [+m]`f{ܕ'˚26F[&d,MYd{D9(Xo؛01:J6B2bg AZu-3¯ݟKעԾ.Fa!H vw~G sǠTSL& @э`ۖ>]|դɏ1>Acy~x@D9OՌUɽ}M1TRyj7ǕQ!q.oUƋooc] '<{`0۔qfNBljį5Ccc >Lx'Yyz5\,2h eX80[=W4` |Iy#Wrb4ukOtNjK64TjreK"NEfю3SA&V"8T HÓӵb{WNy6|ǴGn{1kÉ2auE+[8¡:L, T7Ow[xN 4deznө]Ļ4Rrd[ H<( ެ 9.L]4#_Ʉ + B Z>wz>C;LtVJe*:9yyǗj 9 v ㎂qT~ t޾\* BgҪd(S o`ՑO/ lI{|[QȫI ΄<ő Mtw8"X[b@ DzgVAWL@bw$p_egg6kyx0[!ADWP(Цq$唧Jna տlD?ѭrf7'(sΓO EEǘ<8qMQ63HEJ &¡z!%A8Nߧ抇 WuWO椖ʟB/lt[ G=R 02HKC .@I}JLäIF(K@]6.MwbʼnfQ~ {WhO=V c+Ρ`Oz*INY)c@OKLvTMkCk/qQ(?zryC2Že,7DJEӬ蔈tMY5Y}hoZ) jGks+i:jl5u0(Z|$ݴtɠ$;mRH><='ޒݍc?_FJMIvtE - HmA#֭Yb&͉Re+Yi)͙J'ύ[F2;[N~͡ K? PM>ެkD+2vr_M2(^7uB3x^~PWRy2-i(u|vmWT*mE·^I]ч)Cͼ4H"mFP͚uKFID\k&Q˛D;6 }mDrD;.Y\_'%ET dfU{ŧ3|t"P-.i/Ψ*p ٦o,[1O#gqل9͔'dn.ׂzftH2qǴ[oğm4;xY#=#7R"ëHΗ,&8К)S߸!x-Tôo!Cr ?ݲ5at}^{HC~_9RnD؅AJ$ ӪLZp=АjE։5GaTQc% -Pcc"7[piA,d:X 5&OY[~N]7ҼIlfKPQi"R6\u6Q"Q7%`]trKn [ǸDxxDdQ?i 2oTyk8d 뛖6_Fvq뫿 M+;^]J:|̔@z[}is fBzV >3)hia# _+FSG< ܓP,o&ȫ1'ڍ-v<(}r & fxUnӑnoʁLq dԩL *ϜM௜~γE4_ uI O6-&#J#2`75~;|08}gxOW6ӴwB5+52ֺ#5F")IF-Oh=1/9@R;2o̽wr X*9> uI>h..CƒY.`o|*v/()Ϳ`P"H1a]Aq.m}4lֿ/ XӔ~7!oTٞ'*TZ!Q+RQE:Ojli :N|=lUqGۛ]l+O,sO΋ug]~^&*~,LK6ƙF3IsѪkUzeGs/KZT %mBP+eL楯48ep{`a"r0P(E7b;4o+#u .H{ 1=|/k>A*i[ 7S')ŴF0LZ6cs#-a 4:BYƺBa5A45 ӮxQ̙hZ =X%f|6Tzr,ids1R@ Cya,dTup=:P5,X㬞asG;  \UMK#!N,i)ZY/@DCUfxv{=H׏!Bqi?G(.!-#=` y 06 wj&| a BW{&B=GYW1H ߝQUp z!@iTACo6b\h7+=V(]ܫJe]y]`~oíyւ(W޿rAd.RɅRhsZ6O š;F9•p+yϤ_)B'瘤h% 9B͹D]1[8ѥ(2U[Q%ywgn&.nsA I$|Ve ) }KRlPC('̨H_X4,6[#Lh\W~b[ZB>Rί }3{m҈v@!`h?AiW(C^lWV6"iߚa%4%h[f.av!2D9\jTsaqi!YGκvɹHr6L> A #ԞqTj.v&MyU?֫A.AKnmOP~+ل-L [Lz- ऍmQeW^ -c7uTǰuy^,H<~C_҂M &6:U_l)w=b|P m +, /Z9hؖJ;K1с AAk%(!=mҡ/t&[/X=*c1Y)UD^N5ֆQݲPnՑ8y yFvũ}%Hx*27 S~A/H~O:MKymG#wK% qE)fMy@5F-$Km@5#_G hfgo6yfŠT '.d}84T٬&"1q%vix8A_J+ (h&Y?""^Dp-kԷ a'3e^kO$:Vߚ!XaY=?2)1l 'Y2#!`l2UNd>o Rd7ŕ]جM/jByЈKGP6yZJ8UiM Kʎ(]"0d<}@H6Sc _ 4EehאnC~Y,ʀ!kd^=,q3fxԹh:&v ݣ ?_*0R! c*'b+luk&9Xvr, 5'H%%-}Z#>/Vgdy"u^ܕG[{s:"du;P{BF?fɏ5WBIs0ܩFx7,p(+bL]dv{$ 6!.1S[O)oqWb]4~<ݺt,FE*S.POHy@ ,k,- /ЩƀDCTQբ0fmg1},VũVq.H8 Yu c]a|d\\גy!CYJLeA i_’IQ3pǐM1v'Mrx= ۵,oDcG%tp߿`bU;W8hR56&y] W5S8J?QGI1o~ӌp̌k|udn ߬:F8I#~6ٽ<`T&0%phSdWhCsJKq6Ӛds'QHZ~k16^ǤoƄCgf2)T( { ʬ¡4'`="#\4`cJWMnV7z" w[f gu]l( gȫ:vȽEfPQ)$zGvCXhNOj'im\ՂqUӛꇉxtзo6(0G6~XaS8>ja Qs?(L>=cK3FTpRsG1CiADBi=omX^d @CA\ە"\Wai2:cYK7Q#l*]cAJ*gibaՉ  #gxkΞEwړ/\'vs ~pS"~z9n>JW ކ|NRNsٶ֛}*̠H0߬V2w8,>\$'яi(Q8m%:G f?;r< _V;BלrM7.Je'#F[/ޮV(K6NURXsY_fyNG]M#rcGW5yUvu$|x-Qbß˥ 7rXټ! @w&7ML$sw}o `FѴDH//d| 蝷(ϩW]0_9B|J:3Zu1n &4|\C݌H!(Kp~h3&w_^Xz*#z7#ڤJU) LWb%r|=cЀ} x¤w6ScY=@ָU@|4Gb*Xn) uUc1΄'MyϢ'0;R&A 6h)q,'8`hEÖeLjhɋ} )F.Rl]/dOQ,K ƃ4Z. Dgj)j  $LGy8 t]oF ]κ[w.$*KF!|ڦqm çM'U}S޾K[ɥ ?ΡtT>? xKVU/X!:l}5,ꍼZ!Y}_vLuTL~;[R}QwSŊ'7ްSiEhq׬r_;0EQƕݮʳ,I5XSʖItΣ,} ` jT)=tolv#sTqZ'4a <)'(я2p-eR&SMJfvk?Ol.JO2c8׫Za: m7xy[}g^ٶUkEP1S@֍tYdǟ䄃/b̓ЈoPms6aRr.F{@tf"ƎFfz5 sDh!oQ QaCH=8!6[sOQCU"(V(|WoslXKT,sv?\M  )6ՓS;fBO5H7uK tHj&č:b\6;9X9ґQ ?d4@փw n9UA@ȃ6LIG~t04YP%c{$ qٟ [D)-A‹CNz7Wv5I2Jr_[y.|6`l]ӃKStD} 5E(ڙQ!af8`1IpP8ߪ!0Ie쥔݀a~7 2ىH0S]lwdbm"c+4 $TՕT7n^MxTY[;B'weXY.p![j\B8t!d/vw~.nB,7lI#G̝uECHr EDR Q3Z9װ#"m1'@QCF!)FEm#ᣐ_JjϋN6WStY=W i52;ʑ峢{u+y?=*퐙]^X7 WYz|h8v,USԋ<\7d m;% >7DX87^PܷK]WN9F#0c7z֠.E"\#m(RQM{EGEЯ4ʲ.7nf3M$hqz3l@*t:`GI $Yх(W&P f\7F"dwllVj7Sa}T>7`6~ߨإxRDs1Tqӷ?vVEP\n(<3J6lu¬E%&)xs.qd'*/9bVq|#yN񄬔LpWޗ>\Oo!GM\41 爄JgAM0Fd'6fm! ]ABr8pzBH/5yp\83#{f=jR$~iDkݒشDNh,/捧/h XKL]CS?z&eq8&mNn C"A{{ZO#>AīS$qazOnOE|MGU CF5Sh :5E_]w+j𻹿" …7hNhְP+-u$2tl&f@w39β8d#߂)UC%LkiD`P%$9PtWO9Di(1VA͵˄x%"^{H1K8>eA'@ۥv?, x\hb2MrQ`?(2!]&h`C4q0+mt=IMqbfɋp8g9G7A`<8ܖ7eoEt)EU/JIԪ;\0 5&Spm.HoRy-%|@*}B[\@2)?Qds/as1!%ȕ?۷wh-Km&ElDuT]Ą9l?̋sQPsoM#͖ݎj2_Շk'*8Zj!ڵ;?0K_iwS" }yM*)-'C2Q2WI 9%K~`։xeH  6).+kQTNGTݣb6|-qn1\{I{o{&& _-ެѕuhbM}fXn.@r)e{w4Y G=)Wɗs6 n4l!afA9{קՐpdz0hBT@|j~EU^ꃵYALYq'Yj=. .͎3&S.K]}i#3(dwy֛4[SyAK[㿖$tԔUܳF,ƦY~3ܼ rpiE6.z pX˂WH\oфEer=)(I3gU{;ZN$ @ L;\Pi0n+Zlr&(TZؚ y2u%L.5QXQ̙pWaߡgQl-A b*MF=ԇD$}V,9v:dpj_uۛim"/'6b8L>+ǻ] =81 H<+f(#P_MH2V,`9+.<~WmC>O:[YR_ Bi@uR ȩ/}=aw³*"UG/zMsOtL}EyL`S-^ԁXU? ´>оeqɄ߭ΚY6I}bggg_eж`:C\rTUoɯh>@KB< WX?J+Z OkoE,7XZ@(jJfx wku٢q# #7ŭ@MG_4pWT=WTy3`iT ŕ[_WEwWetmznHʫND)1`I8?-}Pat9AU_t q2:T3uԦQ'8,3GYBk 1 xWSu5%9waL+ƒ_shȽrژcJq02/^ A>e=7+>y*O%ЌWr4rU}& …_O$a Kmt"p,{u!S ̯J#[IGC+73-3=­ň΋!Pնݹ1װ8tH'U+*ŏ3E4 ĪqACYKrmpA2p-ZPq\I: 6怤b]y|$!Tm6iažrvgޣL㦳%T_iww pWJ5B4'ٚ>d4=mf]jh_jL"ڢ`4Z9[ޣ̨|K'6R6-:mEv#PKy}l MIʀ*G@H͊M % ^qb1T'z~zjAIG[߿@M&tZ:VܔS.')gNCqfkdmڅ[q$ȿ/0YH6nmDkܮ:M^oșʀ׾;esSkno[wM5&H6B1Ž0`Pw"'KKU|d]{c?[O64f! B'LK8ϋ̶7q=PbqHq|-xHpSy4S~E7yi!is$}4v)(>(o4c3dtƄ4J/ gB<.\ ~)OJL\!&2 XC#7CqiC`hЙr$6GjPt 9X "xq>/PsY1U;D#C<5Kap (ۏЦP쁔DuI}'y³굁9=n7Ћ-6[Gݸ&SѵK.*2ѶQfm2#|֢5 XwK,aQ.㕃/5*SPk s3ƻT~迡H#LƼ"'_ jouaz$85a4OrAs|C:iY5ޟ@eǮ~҆gs!<7pz-^ʚLZq97i9#ͫ>N݈"n~w/C-'$r@rb- uGe.wy9.ڶ۴-b,J" RYҹ"_)U8^Y̭U~v R91Y&۠/Q&V]hdfc jnYW`81̝w>[4jza*𩳎qSV*u wF[1kd\k=dN>bCG%бb٪u~Q[Նm4+h62@b~m0:VRkXx$ZAJjquGBļ 8I MdXٮ`[U]w'+}ŞDhÖ#- 6ݯk6/ϖN;A@,sM}! `<ʤSGڊ(a.;l0,4/zU?& [ R^6ą++JkJYq@m%MLqOJt[T~Ȳ3X91ZzQBSw6.m*HK!(lZ>oaTf*{'S˾2kͨBfC+veBaZ]Xg9a^3U`o@U_r3E۬2 pOг[%JaR_rў$wA镞8J>,nn^ CHzKP@h6ڇSS2U"oĉ@kL{j|>]6d݌wצ˓dunjNe3RH-\v{9IDQpslr{ٮ٠Q(1 6Z\wiz4`E }~ЙWHIs%?_Ms~0zlնO9*-BB*k֍ϗ5bS V7e+>?:a ByF/yZYzLfdS_t7gD`nqJ(zo+?CXX3g*\d4YpW"`!ifI}cs{Ur&PAiBv5،:QbE (|.h[6 O"?Zrݞ/jM X΍&N,[(qcLW5sr5]wk)iFCļO{o7ޝ0`,>hpTmWƣ]\%xUAMCf.k|ޞy6YPlsg^-)ljnASSEx[Ec`:'Z>zjNzT8Ћ }Rj<ϯyovRW@{!)3>:QP&u*s \b`[Qr[0G"i(;S/NjTn'׎UgUf0x*\ކw# Pop7R2aC6HrҁQZ%}/Rޏ:Byi8raZ҆ 33,Ox \+ !i1)rg^2i$Ả69o0$S{aPaLvQSDrcbh&Z?#9-&f["0лfPEM)F(k!GeS&k:7%:)eOX id)n⋷ؘ>;߃YWDA^n*L3hUw2Ͼ&pΏH/ސYRò L"Q@F,TBJ8s+4jF#ڜtrF8nlXIJyCх0Mvg^xY9\dH*YWφA0* AP(A@钃dv}ᵻk8E_yCckHܒZ\HԷ f :DHj;{v؍'&HEUewvߚ-/V?*~%c5G ,Ԫ$]ZYܜBcM! ڗhn-bz +]^9H@8%Tv8fUe.出gn ~*8q){U NLf<s홧'¶KAA. ~SO-Z~ԁ7>n:I% m#cke5uD1 8}=Hty=j+%&: <+.m Un+J8IDTf q<B:8yr@)Mu \ fz~R)k="u|lW(M݅zW_\ %:ǥ7>ɔ(ԬUOWnY3,2 nz!~ǘHsW!x6}&V]WK~ N|+b7QUV[u:όW0~h#UC?vL ZrD=y]oL"5?) z7Qr'0boDKx[o; BQ-_G*(F)Z"\e*+rB͌Kk9_/NdmEc/NJ<Gtt/xKO z7J?禁(2/O]{RC'eq$ģDjB͎}od M- UG`MA($'f5XY+H} PiGfsnӮ@{5էL&Ai`t yiA6_+AT`%ϡTeT~/mzi,w{tg1(hRAˏ,ެYCBFDM‰;@ qJԤF3HcbԸx'p{+=j#"z/E4(G*`M Q̼ =1Zff“%w5˕1a X:ý8ϫ<4C˳\]FcjϚ&bխU|!%u@3LʶiX@Rh1airgF\d02\ϳ ]o)`WLc^n31CiZ.HWC*~A%a9Sw2gI3e3 q$؉ϡS3`/baJUTcgN_͇skvԾ{9Zo. ܮ TQԽ'?IL^)l0 LzNK̡C]9Ӂ7lieL{͍k4XQLjPʛ~Yw˞QhmnΚ&YY@% I">!ɄAe5Q*B/ 9v*v vb R]# zj5DQJ@uO'Gmk*㺕|X]huFԴa#U^ [rjXX1ҫVT꥚G I GW+u]i`EJ+GZ> Bᱥ*P`:TiɥqdSny(hw4Pl- "7@]TL[ݳ o6uqRGCVn$ =21mAfG]~)^ Wy%BᆴF2sC.70Idss=wt ƚ` z~1<g~bd'DM#w_R 2pzz'6&W[ ݃m?-C2oN,4m:@c\DNEԩb>R Q&jDQ_&F)txɉmnsY,u2 cg0HݹXmymySzq-O唅y0GRM7eAW:UA%釙Qp$U sx )2:/V> 9a[|;ۥ=)*Yt/qNeKcۻF85*!k}]i,0'%@s# l8Mm(ֆR쉰-} İ%Ojazn&Mm[Zyeۜ4u][Qzn v̒lV%Î{.2JR,TeIe1] VqR8! gM$p;jc,gv_1lrEN1;nA78%c=V*xfaXgݫFb#<Tbłнqp~C7rm}2,TS[v|QJ<(4Y |#Wƥ(j?m\}+w 4w- k G웉pm) f+gzf >Bz7Zc 6ESj4޺gPP@y,<{H]`T[4b  qyEAUc>߬.9AS,&(Z.;z$}}aE`=O@-PO@ZNz()|!ઇGk]g59*<DtPqW7EXbU)+#=Yo+B+}F:"4,@,˟vƺoF~m⋰b;Qy&n >nj$5g#jG ޒԀumE&pU೰;S8g(xf+а >\ |%gZ,HpgF(bxp o͛0ȓT|g$VwNDzl}MD_ JvՅT)PN8ěf5KTYy,U_ÛbN<%҃2KQ>[q{;:0ˉ+PoWx@" 4JA``-v1Q- 6 i6i<(#$K%j7xvv[fB-ER(洃Jͻ tJreѻU)}eJ_&[=@}b`+#*_7/!҈δe:L^6if$-:IR kp}Y 7>9ɣ}B+:,Mk.[ƓBdR^+X|:γΌ}i4'^i]}ؿ`s 2ƶ^ha^lWJ- ]pBB1IS;rD˨U.:yv 4oHIE\5&MS0vqgt@aLdxw)J[%HGn璑߫]H_xxHs$w6OCAfZ|͇1pJQjF{B(XqYD>`N~wLy/fz}0f5 \ ?bHpAb(i;.j;U:"ȭuWs#7 _+}Y3B+"Vu5b3s#N"bgOѰ & Y졄3A|QB5^ֲO^5:?"N`ILq$ꈐVL"xG)G$Pb|*o!4T#sY4tťp+ZNː 'v|} œ2gݺ>j} ܾ!}djiY cbm0Q;;12W(.շBWk25Om4 B7%ӂ!2ZI1pݖJ`@eH< MJn D`4X5ksśpg!J\+2w*\n&C4D77B8oʦZ(6!QBd/YҘH G{ylm̗48$`(ulRK) ܋&1I2c:0l"g)7 ;}_`ݰw|WuYIr;&Hr'QA5ǿҒ}bygҩrgJ4~SCD֯h>DƘ *dU\Ni)Fr2'䦻 '*/Tcu֪laٷyyO&a1"ŵ`tx w饞K <Ɓ:;H&';c w3p'K𞿊S]a5h.;/iMpbl5'`:3AQ_h|ؑce&h|X1ݺAjnzS"Ù1BR ([+yc˜8Y񦘻o{98Gc[4G]/7h5 aё;'k6ORY%p["r@w&t9Q:)ft!~w@y^MЍwyqO⒜ e?s)0,a\ˁՒ\ai9I49gwePS]rBsz_Ѷ%g_zAxu!,g8OVR{2bl ƹD_C-R$oD8^A O 5KGS47brD$5Ũ-G_*d jE/BD8#2Pe)$PIfەg+ md+8=zEMlDIijr0yd(;Ʌ_u(Uy˰rOl)9hk+Cp+{ b|A jk(s"7 Ob:_+` [?bDO0̏L0n"\ݣy( o-_gHFb pje?fy|L):TaeXEuo?O]~'h{$$ePznL;b̀:1K21R<-봥Wd|e]b6xj-'fseϛCW̻"i#Ӯj\?s.SXZB"/:To9Rl7Aiz{s#ұVم$QST(B? V<۰Jk6 JE?-PJPU{ 0#&< c\cW2g.Ϣbs^'?;g{'53µ}ӌbx@< ~3 ?bcC~<%tLh̳qrQEQ_oiﱽ]Lu(;K$ X}HAD? Xٻ 9/iXMK-6Q>r˧2?D*R|^2XTA]ndSJ7L(/C х^tz_ƁQӁ*)V)~GQvoX!Fǻo5]]W)qttB9yݣX))*>  $V,5KL3$ߍlnn((Ya,EE')y&k`шKaȭg`DKz:h\,yH:OJ#T\ r 5T4za9߬ 'kSњ=Ϋvpoy7#k@Yn|1;zCMrЭv P:`w^Qp4>b vG8 P`咷Pӻ x_C8%IJ_Di'jwXC'&ÒFj?Fu*">U23^q$0@of)4ė;fd]I2|y7nQW@&e.0SVp3W?ΒK9b:+ճ'B¤2{1}l`ȧZ~-KL>N,b7"ON)HED%jzYc"jlW.O y@֥ e@O_5f/s~+gӲlh׷e|˸3=k.5/5v'7]Wȝ_XKG?=q7X7ñvw]`+X?y붛ۣ 磜Fx))jP9[GlLv)xrJy ꭴKHqn=6%!u_Uxn#0 j0|f!Ȯi):UOV9>NCQZ-x­)XHOx,,%3&yۀQUmxQ^ `xE&PI =߭h]c c}2'0Gt'bq.W ߩ[fSwy8a?}*LjjBh׽|G9~AH(D{$k=_&G{"Q {tc/H Fvׁ" >JX$}j^@>C$K0~j`4& =E.W/I9 4[ggXI'bgarJR˳B;]c^_~[ٜ6~9,]e鴧PDBc RF$;Ȝ96ϊx& φd K,^v}o:cSV7M̝4HOZ׋MS^H+Bq[-FzFzXO^"Mt-cĜϪLHi[TIԃ}LF*a<7>`P ϭடy\6dc>J'f-\Oox:'K ~b1t+:C+O3ECf7Q&YdX&*Z KXsбo);_WyJNFs+ aOg- (ZǧOpE&k2."NAŔUxkI67,/Gv13V<5V*3/YmyU?t4W7g˻L~S*"֝'n뻸un_ D8!sLb c0莺""'Xw%G;F#;hevΝ)/H3FL;>)AoD=-lmm2m^K$@VhO^Kn_"bʆ%VYxJeto@2!B9ѿKW'h5[Rz^$2|A=ʟc4T_! 捒<^oW ם? %n$ ʅĜO (P!R7sn2U|hAYQG@' ;C{!鲾0;\Yې-=*''{eM.V@H$D$iO(Outv0"9C]r034 {_ʾ-HRL^*ZS0**[.~* q^@t>ޔm90LeTT .R2[zIQjsZ,Ȑ\"^2b%Õv1Qa99 ho-oQE$xyHw1a?W,T{KeI> lW@""oҘia\-tiI6gXLm }L\2`Ͽ'|Q@= &UXPp-ʶޔhf|nVC43F?A:Z0QU*=&FXb|qzlp|M;) l֚ "͘S]L1B[ϞA'<u-K0ZMj29/;)mB${3fAoW&2c1+/Sݸ!CTW^߷&m꽅*rMn˩DQU_%zSl%Z!K之JWs>]r7/*6ar,>#-ʣ7 U8j>]Qjށ?C팒MqagDR,F 3X̽@ !MLU*ҚPͅlJ7g5G/ڈ2yy?!,UHZƕoz"ߜxkHw|>$kaE^H@m@I%?d)vɐbwt[Ǻ^=փtO9|EB;$λ$c"pޫk!rs7pR:ǻu)?PD޳ CNnŽbSB!K PB22~T"SiT*1PMˏDh*ATLa #UTn/'Y඘|*J3 IX U6dmWwcBQ((%"_T jM41s,ҤgxW97ŀ>/vD?91}DNJ$燜UreN zX|FxU <~(q"yY&!K }(EBQiCوEh"!:~`Q9?﫹>\gG07|ӧt,O=j2A@'J$˼+HSJZ ԊiU$`Z-%F^`uFrW/zbKKsC&#HyDvlC洐"J>)!$6JY#腵%bUl`w'88CVDmlr 'zh_%XD{#UJ5OH:HHz`:;l"}:ylUw1*XPJ`#q7 EKdfTmCQ0ampf +73}&R I?0詆v;=:Ԧd<cjJČBVg};qVpP>&8QCG޶e 5v>!b9Y-ϾR*ϕ;bߡk33KG xC[ԩ$qAj ߚ݃DovKuvV#FBWG/|#uT @F`ɐrkDy#(h,TQ,;Bȷg8$2ו(KUpcac+úcTfG[Y.dmEc7V)6)'GJ笏.>BNc3uv O~З|4ak>y ƶo]jnDDi}`h4*; REȖ S(+jJ8 - m&;FshR~4 +4ҎL[KnG:o<>D;ǤxG%K#߸7]mJoyRoj0.@VzpB$co&94=tL(iAC]8^- 3ꐫ).{PżMcB0 {tU?H[J hNW*O#ՙ "%xzŊjwK@(@Ck`@M˭*X-s@WYsFrX{W W&l+q3kWOD0dh6jZd CђYgx-$Pa;+ZWA_3qOڦiseH7\ѭ*ƣ(?T|aoWM !^ JJ޲'m# ;$2,\Gvڨ5+)s̅9xxN~qaa zq@_5s/M_Y*&uUSEs~eμ|7=d)p f YqE2bԅ .P҉н. ׂ^{U&٣h!.A6Z?>D3i\CR=mt9\pvub9.~3آp촖qvշvd_4Cra su_(׎BTux{SiKμj6PebTlVs+"+A{ l?W^Hb#3qf6 sAs *rzN8n8>ܢ}gOBJc$&6* T(Y+6>lDh뉌e`T>ޯb X-5n,>J|Y}r!.c 9iTVƈD[t* > 2%  RG0i+lat<4@:DR܂yqZvNkՂa Et0 й9/`dD+A"4g?#RWGMZ: !ڗϺ~%?V M0c!b>Ӝ6?XE)9+A[ Sˡ9=qؘ[͑>OՋa4Uߤn54ݷ7oO3{QSi[&.lN:wAO$iR_N^à.buLZJg[Eϟ=_y8)w0\&F-%=0= %a!m͍] !i@9hD;i"uܼh94T!L'LYo[&yqh`Gl(szz*Yz?N3K J<[ )f'K]EۑwӄeepkzG6#[=gQĒ#}Z$3O{ Q:B8(_W~g: s"5E)6f7]x0ؠs oP滑cz =%$qY %R #Hxԫ^9ʖ3GC:Ҷ:J +ehE_ B/Ay٣0[i`]Vi]C$B||؂*ć9+N*%pFg2!#&UCDuytI)d Q+t<Q즹Wme'cd~BB:1t UANΐ/صr"]A=v] :G0ɸ2@qzKeE~L$25 .SS^j V/9i6ݎƧeqUWctJ0~{ז1_vF1)/Ube}YG]QV,je,TM~ N9J2VQIZE'ۇ&WEsoyc5?-[OCKA^Aܩcm('=<<dž.l1܀Sn? 8KNhd){Ǹ].&ZM4,QȜɔ{! zA#DMo"XHc[oAuKʳWGtDVH @CtE%"=/܅9S@.b|Yz}wyM@az,R 36( `\+3aq"ںplH`x>L={2ڬ\IP_UlT(^ls0Ǭh(_<+ur@Q??tMߢ6G/c<4kfQ$\n;A czGajXuP"Ȋ |!,ovS.2qv8l` ic2̈/1w &|\'2Za򤏸z(T_ć)d i10i_~'0j&R5/w!ʹ_EZ8U@uM o*^"˃#]:ӐMⴸ)[}"ͮģNASJ_4R9ʏ9UN6J;%"Оt'NoØ cH @2zۡɈVJkvϏ<% ܚx$'B+>P SeBH37<?0LNe&=MNZ+*%-}J*Чh/ jKjuJe9A~ 6G;&lTg3T2hv⠯x&Rk $IpP k<7zK.~?d3a*IOelP'?iHXH >Sh}"L'$a:eoƏ' 2YtR1:9i6?_gc޳eI'7ȑ(N P@)HޙAyԍu / _6y,WGE;2Ā Y:4J0rdN nD_ \P _U$ sѥN@#(ؕʩ@ŠC= &\I/E1U0s.z0@H(євL{_ȗGlla{j{ص:%J)MʽdU8_K6kYˡhzO9QjM&֓zj.-׵#y pDGsWPӓZIYd8?tOa 6=RlݖgX_N+?!N4Q)qAMQ enIˬg5B/29{#,pN)[]B?n<#Cއqk]BG]e VBZ! \%3lLt"T5ϕֹ!bӇJ-#WJtrJ8f D5}Pe] bO5n Q5ƈT7 YU܄62+[klIO!lHg#@aN*~" ;[oi.LR}dI0CZ{f]l0>H^86Dχb[|wC %HHEИBIR{s: N*gxN#OqB5uBeش0"kF[ TPDL] 1?_ >(R.$.*NJQxƭ3K-dE`gBJmㆨc3XxgwkIt-A8_yN 6 Ef*;Sn#.d.,ZUW gO_|V m9LASY!"- $Zfu8Cp7Q#J:Z`盵&A).ꗣ7RZt%՛,|\k:Đ1I mE-=p1d"1.3b1LvM^M_%)#r.봖Any)\K2?ëP|s5&NWaH|\!qsi Ip.rη$ׯ\[b-,Kfٯc۰Dj O}S CaǦ Ob&'26Uń4I3`%m}s:=@b))O-zf.kK A[ ] <!MQoNoD\|Î> pl@g{J|N{!Slp}oك#Yge>Y|lm  L( dptڀC8gg^`Ci>pY4IP~\<3poV\hD|ekƻű]=@۝YbNV9>3ݽἇ~ 2tgTKc]eZ{^sрq48z A~rS cyJtZn]sRL#g9܅ @^9Ѧ琧*NX^L$2# >%'I$xخC+x7BQ[[03ێnz!O̗ s^m{^,  QiSdumh>%߬@,ɋ8Râ ( !cm:Ż00HAk7 jT&^S~, }H27Mqf v.U4O;k*|3j2I^ &}TQ50%807CsBNp*C n\0Yj!}u5.=~G<1YaJ}u} WmbbuQ;n88& *cUmvƆ3]`r-|BgF?uuk`F(F|QCz+lI~JPq,avEX˿ala>Py{m;[sxM/dk֔? gMB#32(g湫Q!@\dq}l֌f_'^qdV@6 l76)!tm,uKW,():V|dK(ЀԳ>BxQOz3.Na1VduT:0}x/T8X%'cHRE $& @xA^ϼsmkCN#J pr^..D2Yzm% ͕g6΀ Q],Q/BɟF5&wW 0]V ^v:nW2(Fj.;~hnj.suo0pbqu8!u5j!cyB׀{krGC7"M9b=X`wl4Ejҩ dOXb޷ T6<&Dh۝.3#`xD#.a5A*QM9VpU䣚vnjv"퓻A CœF-ʓ3Vc(rȜ~F]6u@t>ho^i暑qư@;w2ktRňbi +fdb_6M K" cǼ >鑚|pu74ߏ R5֤IrW3]ZrOH uG\KRxjO=/;RJ ]B瘟9ʰ eNmx8gqFӁGi/q螁Bg1zWU 2gMFF4 zUGO ="}_-5j2R0AC9OZJc+-4l:>}dndpѺE%5^7' +KUד1GaՋ73Fn ʼ#^QV׭Pu@p;/(h+EK NڀgL vꓥxނn%$5Bٕ>̥"TBX]FE{1lX@K:Mc.%Յm ?E,LkSq0X/"Xm#VlK [pAְk4;W%_EfuBq E&^wb8s=9fWGGv[nL+8h4k^nD#Y=Zoz't"eWN3; NAQ`յt@%cL ?Χ= oHI^Fb ؐT1=mP!ݒ?GWT2eNpj2: @B >;ѓڥ."(I5G@Mi5;єXL%x!HKP:So9̒W7*XIm#Ir̙RV俺~bn0< +ujj*=x,~{]*cr@þh )Bd׷8nG狥xȉ{ Iv@3onϢߟB8 _A|nC\l"ag/k*.hfrs^o.q𱴽 _ $IS$e,rfK86IhՆsi(--)F潂qU.WǠsզ>g`b+>kާ:n\}szx$rp).} `4n%ÃgI-6JPfSf] ZA9.6"{#=\bXN`?%yrk69y], xKvZ۱NeQg2XPwut3|HL{ ` 5`F= nErD`;-$B.㐦~sCOS-8L4?ގ#% .I(,רŏB&>foԨD}ϫ;~%Uգswa=aWtҪ'Ii庺sY0ǡߏ_I+6Gfڿ\X;d(C@5BU݋bPH0Se`Z'`ϴOiItL8(5dVX eTBзHti|&ADtlH{s3i3կؓJ%'kڳ1"qC)ۧ3{֪xfjaa>~t-Yхr=|h^ؙNcGc XJ6ЅsQL bR^,8yHH$2x]=zU/Mճ q@wНOŒEZ.5:D#搼.JEPNr+?EBoLG(tGߞٵ8b(8}W!=oW {fwfUevc &snKz[ڏs9AbHp]"80\rUa,߽*cy3'_:b7IT&Cv.qR=+2XC8Lbgv:⹕$ NAgEÆ%w%[eʉ4AMx~E}YV.T~ApK֭4nOb8ǵ0a^ki֜As2^l3!%qO !YJ1K⇨  6-B.26dD]mSٞAJ)sI&ǫlԝj a'ploXTʍgHT4.wO8(ռȋr:37*sgk?5R,0"xgl"sl"`%GgF^OhyU13 J:0L"'`Xjo<`vdsKɁysxgӤl*q6%41le .v[{?"hǓKcqjuusUp+B9TTW"JZ{ܲ%xU~{G!d|~o秤#ˇ .LPr[ͽ;ʿ-I4`p!x&UZQm{wlE+ "ZwTz ͂ ?]uܟ|an1gd.JRٓSS%-5?ȏrQ룶!YYnqMeDRv1`as1 o"63I#,>fFos]) 3WߴF Hw Oz~caq@Gkh|OS5o[JYt4_ȒF>)JNv\Iz -b֔eoi``% R٭al㗺{k))y[f|#VAG8ׄ`X94;UWpk>)&KE nx.s/-M:b+l,1&g司\ $pK #y4)H| AVDRRw,),9XACTV/Z??ğ0K+\ >{5PWJ]^QlnߢDZ;aq:&v8=mg^z b0 báR㟱Ԇ2eT&RG 8>1'*ssڮ0$Pu} DY_Տ;߷*?bӳCtJ߄Fm-P& |\ 14G_>{LqJʬXjR-UDeΡ n. P˸M+4<0`"ZEC(ƋZMy%Ū*<@(Tnۇ~_ޔіMݼR8٬Ͳhla?B>": ul5t0~:GԀ#[N"ag/{"yk#3>p#T%@j tõ/lݓFܼ .x5W筘Hsýqi^J'4Uv~x܃Xz R- kozT1zi)X)[jWB,|k3c[r a=%FמkZlnP˖fzdn -&?ņ` /ÿAhTܜ:RX8q ۆV -TBnb5u;b.8~ EYrkh\UtR(A^JȤL>H97"4ê?vJjR!} dL ƠLCl&)+INwo`3kJKyHH#3W&)޹qx  hh;-!Bk ;Ҋ{9WG}GR1bs #B쀙+Ǭ[2P˸qJ G[AViSUx˹*:ᣰ)vѥ}&AG̉>Gs9'@4_T$;az"S ]@+kн P%HSTy)LjlϹcdsRX`0)8\p 8RS?k@6C*ѿe'`۷_% IiAO1eNO#XTT>c^|0Qiɟ菒jR?G)m@>6ǠG3b99 v!# @h3tgîpی *A*e_"$o~tĵkJEc(3m:v{_B5TĒC?MJ|UcgJe5i&UxQ[~}z"(RLa-GqP_V+ycw d*76v\i(i}7?Ip7/"E 1>w q软qN:pt *$'6O;6"M}_~5}DH4y4|eqBgɴ**%vLZ4"v3x(,Ne.p 2W !竷ᩅo9"C>,{KYpJY̰L4v$nW- m#c;y{5P`!Z3NЎ"DJh~q2i0q9d/em-VJюԋ0a%ΤK#勹p*J[Lĩ^ot&)%X/Ddo}Y g9}Lϵ٨P- 6=df2Ccd{8Fx%$k)TS;Q pyڷ,;l`Fxm\ rgO^k8ȟ yHbq-̥BtzVx$]}P=hXH9X_zPՏ?5roE,Y+J;*]` 6Vk-2 ? eo r&4*;߇>gCqfvL>!.rl ~c `N:,%Ӊ]^r9 TJBV5'/$!P7Z+hQ} K8X]|$p k0sU?yb+XIݕaZν:f,eS q:uAXu~tv[S Atg)Cqqٶii jW1K䠗UW'&?H8.XƔ1=Rc)d凿~M#}#t8_|$`0֙ /#NBzEΐ BZʹ'yHZԀcjj Cɉc.%G̐+v\G, DJ$!C6M|SMMe)T^n S sNɒ<42R RH83Jy*q90R+>ܖqYbTK}̼JY5lofJΒ]9]w=>W$r9NnT!nvh1`oԎfMӜiIntup IM:T{1iy-ǯv_f7BU$[t( YR 8RlV|TWT[YXսUjxel9lQ?p3YuVBrIB>#;ts -y]{7;մ8;"t¹|NxIcؚkx<ъs*PdY$}eJDC 8KJl7USo%AdV_SpZAO~]y,,;fl75eu!Ȋ3dn+i2o-fkcʾuf[ xPZ:fN%*ٖȣQ5\ͱ8JوZtOpC!y6Zp-ͤQ#!V >c` Ғ4, CX)Tjnf"aaz>cy7qmp>U:C3Pqd+d}ChIAkD+A [4|"چG鎡*)f . 2O_'Ne4[ fԐ$9S!z;B+nҤB.uſ? *K87n4umΜc΀eH?S8&¦@J./O%h88̲"Oh wƭqMs(O{uO*MV^R8D;znUw{#AuŽx9D^tP2?M];=Ȯr߃pg@f4YVJtW 6md㣎^+M©}WV򙹮c@FoUFLD[]f5#l3=X0/ D7Y6GW/Lџ~+B2l(^?9%dMmߦXW ]sߍVw+A=יp^N",~hm?Pt4j-;-G;Wh0]Y79!zAڊN3*\1;ShIe#?^}7 QXʀ_"Ύneo:F.TR OD)qQKVTr}G,e^j nK6dB2l[{HB[)NCZ4=\uLqرeLIZTiq썾]R')TTs$د% W5c#obKa':RIcQ"Ej(DeRG{*C0Fu{ ̍v<ߴ'ZkVOLb|@tb>hb6%Y}).W7הM>g 𹐪\i67ha=׀EmQ87aL2EegzC4ic0'CSٌ:0<&6>%ee2AC3HV7>(sky3l_ E_s;`,N=[ҝ|^>t}QґAq^~I*x$~[{!3&XjBN!mұ,e-xyLo(FnmS@(oўӊv&%ׁN=`*W-6V{Lz xD'ȔqDqfkF HbJ:ꄤԩ,#KFrU-(M< ġo6_{^fs't׬6pZq]vI1FG{7$DӒUlB]5q4nh؟N5{=`fm?U9Z2<+D=vWƼyi6>pP_Fbr5SS-rafzbiJf#вkPVU{z^lNL:Gva՚b-`izԜIt\MEH2$G\mqڵx&NX[ǫ+23ZaRC!<1ӟ1Q *p,س]ɿ|lbe9N+bgX*$ĘGyBPk<*^o#n<*M6$`S^fŶh;l"2sA{9&/Շf!yiY^h\]gmQwV:RUÝcEbVMC/<\Z>gFkšG'jÄ)ցvr%Ģy GO.чJR;[F,]̈́Ofz{kgX⑦;xZb1Y+>+4UROhri; DtO Dsq)aegCW=3%e1>kկymu.9LsƨW\ 5[Dy^T#uZtV'wJC\WaEGU+̴lVGf ɥ/;2CSG"hќ=K ´>BmWyn/fqlޘ`oXcTGőۂ-M} }$Uq㲁S37#ّ>(VqI)OP4(jnO)]]F4yi_% DҐS\bu>x8Ac3L 0"u]}oDt4="E?OƲo?2p9 U1{'ț"ýۺ۞e dLHfqiJvzs1apO5Z`m 0ss}1)ٽW:O]!#$9MÄ_<@o a @D%< RΧԩU:A'VJiT`2_MJ iND  (w"(08ǽ)ep$|ziWUV:!7ϛ?7Ӭ -/{EۄJ1 ~MW@꒕4k$c B1YzP=֕Lůk7_&k\4vQPFeв YŁM,96@rơ4-U«'(VOVvbd Msan$MVLZ2Wa7lֈfkGoyvv]F5Ldݹ 㩌y7-NgCNl $쓞}ʥ-͕pad(՛# 3 274uMm7ߞ?/n U/IRg``J7rԭu1^ؒ$wvo{E2IE/1䥓7!Z_[fK *ڎCkNB*G:kmzŸ$ig- )J8=ݭk64cEJqqgny /&H ˅i̇P7Q}^ISу:"5~gH%ƶJ;biwC#A+ U' q6l$d415vNyPC;1K:X+f )ç CgP2Qԏ&Ϳ;'$[}~c# 5.0AiֵRHӋ2$|,RTRKU(`1"Kć1AA F{nGq20@b-Ґ8~a>cD:9+h\oH:iB?dV{&2׾e^v<&>(Lyz")b&Q`Lܦ(h#|c5g*Nj@sC;^gنBfor-=ȸR1`WrS9i:bRfc#LXtal*o:YE;Wg@ӯAa-crx:4 *+)M0WZN!Le~ i~0: ֕XnCyٍ!Ԭo*8& I. %(9*ڃ6{L"k}*wW\;BA t \[J3ggFO`ўf&IJǃʐk <:2R WQ88|bd/mFk1VFz9`5aCQ.z@S߱xז 6AՄ) Sdk3 1Կl1@"{+9b;Sٌ-y&%a-恿tnޝYZUdF;i&qcM >c`,!v-UIuh VU9nU,B֤;Yz}O0d I]C1sUmx8A02}8h÷<Ժd()4&Ym9/C{?/ЛUI]ǚ@o-P\gՊ9R/4ЁĠ+w#wNeOg2񮃤x6@KсNޥ&z%O{+ΑbSpC4QQsxbn wP_fKmh2D5B>DS/;]Ai{ޤ'^8p'<Է=󕔔q1Yxzu=ldN='58ٜV ga4f# _ʌ>W]{bs2 3XJ͔]}KE'T\|Yǩw"lV ) 'gn8T@&?-U-*gweYh#a.hH)ij4 Xf~3>7M~K։}}(,GQ,g+-(@) ^!3A-Y^dDY>Re\i.n^.ǥFZ>U\tWdmkƦ8.8˃T>^jMj:41?Pgu`:؈ێrbXd`1>]͡B:hQŴ qx.*k17Hϫ`w7.qT>F3萗_|N6s| 4pi~1[rB^kA 浽8y: /;x(WBIBEԑ*.~FZL˾wQ|54^z%0~A YΓ3I S)|dANQ$g\bbmi@d[J:6 } ?M8vHӍteT 4|WVBm88[[UG$DWc0ͯ_b bTp#}JH_ Т lҍWd93y@A}:y%(]@, >jbjDM*Fbȣ nKL\- E\UrG󩁖<,aRԔL!NMK᨝Di>U.@]|{ԣ)-@I-W^u ׏/>HdڵO?n z#9UA,霣ƢjUQXHy'MOϖKvQpRhHs&>T~-陸l3=N5(T|gpYu-zм ݍN^/,ҵ(^{LDi5 qe`82)AJFȽj"Ot86՗mQL~$NV$* rȢښ$WRh-5Z0kZ+RlK[qogTfIy^'_5@}2<}c7'ѧ31,yCwoZ  MjH]u\4Јi!0UMXMP0r%X,XR Hx-=.Eƍ9C 1mRmdyx{K\ICXVW-KT8+0yF-BEժjdH̺@R{ 9cˑ[~ ˆ^𚧶Εlܞ7Vzvs&P(\ :=@p#AUee|_ ԡUufs$1^*J F m\e~6\^J,zjUWڒ7P!X8d\x\㸗@.2G8[0,Uρb[GW$6g1FlZ^ [*KguLS>,0jR;pm 蛵Ac;(\Iĩ15!PcǝB%q~"|~7FlݖYQSm'U ,Z+2 L)hZ9 DamPV[bX&QfR&)4@Ο ܅~@ j w4||wsMwˎo3mMH ţկ+ vzN]v,,4*t`)nn= ;*M_  =_nF >!A1tnML ^Yۈ7..`u~4=a1d }Tk0J..|5eVOMirߴ^>fw | 7:d}\ H̶4ffgBhWmEJ-T8 Y(1);|#{ĈW>. Uڑ.?$mQ>qCUܩ> Fg/vXN/z*z'ѓJ5U1CC"mEPRhVmRwZU#GZl}]($w{,&_`*յr6 9\LDS(Gjء4l}(Wy;tٞP(cMYCp87A,v8G;nkx#`xnڠ U(fU gOLL"? KIGED)z*ueYʪG~̈́{`)(ySKy$4=$>P7$q#W;ήhnVnkԤq{`']s< EI:ƙ=wz&Hq2γЄdʕs*I]" ,iT*}Uʙ'G"~VSèoPlHuߢNţ̴(z@2ޏr|ƧG p{n޺NLF*1xus8B>OŪ5Y'x g?(R:~kM<)$tٿh9?!~LQ}6֏H|2u[Cw[Xn=i [ХwfܹdfG{_pžʭJxR/]PLu u =a` '+km=[0ctK=sKYܲĥ%N $ EvҤ <)5} ҘZ Tψ~ Ѩ1('Y]GOsUen;:]HUx}d`,~@%j*H/%3ͧ4y$hnz&jFks΄4,?ء~Mq$K[zviyD)bFxJlv%oR@yg[7y6m K'-dg": 9M9k맜`aի4_@GI9SZ\!^i@.0}iEBnsFf ^cWyƞAfl|u> 4)@lLe:Fݖ _<\`ptkB-h|Zh 3QNiw+߄F S8-]sĻb(vUNj#^aue@iL5$'k-i(p&ʙR@ldF,hwʶ!#8f;K>O㽼dRM@[ ژїV**h߲dp{(`L,Y+KJUٜ8|Yf?Sj8A0&yVwI7+yg^ദ`~SKNHZxZl}73rRNpD^o(pͰPa~qR';T"uQBOF16 G!F9]CdIXA hedo@"tj=#!i73u(~_Že^G!WY`DQ;zM{<.QRK}Ceqz/cɕq^We!#:':j_b(1k^8ў7p`@QI 3t ywPRjh6{/堩V]mݍCl?.4]jQ ۢ^:]?Cj_e&cqIncPU %p+Uu!YV1j3_,[ic 2DA}Z)ќǬ v Wl|/baћk؁Gȟ) f-29mXo96x*2rpha^$A(sv1X<4M$b ŹE;ڊqz"oRwfF ˴5wv(UM6Rm`YCOOxM=0ƙA 7ML(~,(,&_~;E=эVOO& 9nϽAJQ3j^(3ޣʛ.{gݎ!y<ɛjY,Ͽ>c|޵aX!PAIeUҒq!qF#AWNRQO$sG~Ps4!tȩȑv7^V.׀GW| 1tV^hk૿ 3/PK=m M0T Z&9! [ 2A.'1ytxc}x6#ˀݰn)3 X_cӊ״CMG 8v ,;RDF —D3Ֆdxvg2*KB;dK})`{3Çu;{\7kg`^[gpN#k !6?hi; 1 Һ8֛n!@TyՁ>=5;+()S|SX2iSԷooQ6-ه {9VH9ŀy7 hp F -mL2?ޕGolTNfE5=9W*{PMb Fwd.u,߃JĶ^p T}hT½ >{QXmw4nCRnŎ>vNjϖ+0&rxIP]rW,^B8q7l :s÷8Ό@yLUΤf9RTZ_Um.Y5wuzU~\aAZ@iN_tdòJl}S!I2fcȬoB{pK)/r/5:r5A Cz|tWdsv%hZEyW-8C7CAg3Ԅ\8؂XA[cs=j\CF%!EbEP,,&ȕg#$QvmU,Mrh+yK{u7$ k%q.(*ll^DDYXSh>1ٶSk"7s҃"maM k%<nAF^֪5 9-ʂRb&$\Xp[q&-JiClFYcn.ˢK_AP $勜6mn,nH~pE=qLɧc _UuIv)L:<}WC]oI)G (3kwR˖";UG2A hXcOJ8P@䫫kgJʞ1SkyOvy:,N8@8溡lo9>h5^@]hi;(7Y/FUzs,y%1TUݏ?#+7NoZ1T&dЪ&5TP4[MճZ"׶%OC̰7[|QJkݹu+阑1+^靴_t|-(LW](6ԋe^cEwGLՊU"0!A~F>ޖ |")N)f+AQ;2t$*|f;uYA6ld|:>Nfh{ꔯB &p9c $nڞ'ko_m0תW)$srW)(.힍g?.oh 5*cQANqke*H T83CCO&[+]oSo7T0vQ^=C‡BϟoVXtO? mɽx{cחJwJO]p_JS8ߦceŸyo6[:dk R}0*7)}^̋Lf0֣/}82|j^0ebKɠ{~xP#A? Λw*Ay 3ļ2aZ q. 5ps7&;%;1gb{_ߗ\ -H_^%@sBMp"J0KzkDsc/^f:lDxblD@,sGcfARA_B~#}WNfE*9,TQ꫖fFW]Ul{X)7j`NWiu 3hgRUҔ0ehSY{ʳst@Q}OHouݠxI3r5 ^Е;f/3/8ZVp$Q<|lhT!q˿1w%hmiZ#ZE7,d&ݹ!qs=D$-?7jM`Ǡh2Z۫,[ЊzMZ_&`` .~턕{\|S(i\u&f-,ɆEbNmo6<"8!$B?#+lpOZfNr8تt7%-FL쿵|(:|>P*֦mϣ &1!{e&4١Jњ, ĎV_v P!^0MN1ߝȪo.vL81V,BHZWo[;Xe!dU ߚ`Q^Dis̲\{lM8!8E;=r\*NJ„zDCXl潌dҡQB?u[/KfO:(o:[ Sœ(5~wwR XEz_՟+80m - Z"RpWL;|Pg3K-~ Ӈoo̟-'6risx OP6U38C& lYTA+9PlHh^xVd|9q aLIJ{9SJӓm@(3V'{ʶmN_&@̈́ڻ1xA}5>ҩQR6=zSBMNS=kہf&ʱ[XTtqkPa} nn+h IMzߌ]VJ&A;iR.L;wV_(EfF:c}Pϋa7t=,5h! _\z~[) =/Uθ|zU-3~_B۔m&SC6 ⩸ppa[IOD葄xs}`B-fr qشAy}"Pse.!`C#,dd>`tc_PR_,B'_Od7V~M,US. b޵G('MYVꜴvr& JRܸKI<ü|QEC6bIl Onzr(&^&t^P]9`rZHJ(R %/&BGYV~>oK;}?M&#ba]eCL{WF|#9yKC`VY<"P#Ӷ{~ i ìY;^ȁއ?"Ch'Px St]% QXUe8N䯺{HcFf<{$Q'@T4_W -%Tۆ X&W%zD^bI]A"-YPg",6-ơ5WÏhQ}1*Hg/>)}^%`G(Hb;;2Mtru=oaaUJb55` xR@kINj;" m 5Fn2L5CU +4@+-0:U ]!mH!P϶tHL̍l?"iAwWJUz{1˟ >ǹ`vRN16o^8#ˡeXӑ̔ϥA77?PIO# U.[)?98Lqfg YZ& x:̍.%-ĨgQ- ϛtR@ l`ya%YZJ gjx39 ۣ#vaN>q>lHI@F`[#v29 UiVhLRSS% CvĐ)8OwL *Nﮢ dyeQh`H,i% ci{;Ws'"{hw.={IE1| \z=lA}d+MhB`[ gv\2Ր-H>ߙMr7>!߭q%g µ)P@}ZeAKފ hexۓn ],WXGHPofu!b4_l؅)HًfT4n=P ~[l_ !BߓoK=v\9#|Nvg%׫N z N0Vҽt/n^oFXzLP{y.P]t`^}7Z|ar'G 7#ujR*c,k: #m.(8B/SpP gtP_X{u`0T70*mQwk1nD3.օ_Hޣ(Sݠw?#em$bש1c+Opkfiޭ.O Աy@AQw袰^ Ƥx\Y 8EqGUpJUSy`*?,sY6uܢH SeYmp*"wlͰ$f[3_f3L$,~rPɛ:t58XOdN$ʒA3, C4Dx^j' 8BR dHAE.&p+0ac]M֣-\xO:kɗ/b6U 9#2ҀTAȮ$p cN|<Ýɳlgfb{FڭH<9cqnZmFY!а 'A,8)OEkL=/^{iaM TC_#O+tq\NX.k7E\Xp0j'@uv x梯i f+bMzN}vz)spj|9Z ƸgIc-D2_[q}7:oڲ0UW#· ̗j$ov Z]5o*w7/v6cYT\Cί[/iNd%l g5B@lկpcZFڱ>gi'#Yu䌚Dw\qbiҹGRwL7MzZ2呭ǀT=+hںX(?53O*G_)}'z!D!Ph>nu8q)8gFӺSV֑}X"):c"~>h qn9A@SS7[|)fDp9.A"Y9WPyjޠ(XÁ!oݩ 3#_-$aQ4^;*P[4)TLZԼ4CP|ЪW`2͵ fϸ]FN(F"!ӿTAmO2{Nϴ]SOg*e?}uP1[IWĚv2 !&"# IXNڐ,Rc?;DEn)kև:z-G" ۥ?_#m'| UYÝy}hr( iWx@H}_zό9Vh-n'd*^PF=*Ǜ%}z*5_& x 91]~vԽF3K6Ʉe[#ҙb d،I3̔W69)spϫ(ů{F `\ͧ9pk*>2`mxG{Qn{0Ŝz?;Fg e5Qa=Bx슈-=*~bP @f왍%-mpԓ8K?wje+ӐӠ,?H`r ,^5Q p6 :΃:age[̄F= Uϖ6z7Vsa&0C2o;oRFpgmb fUE3 GVaE> XrXj2,cưZk|~Q@ ?Ix))KBنD 窱XY{G3nKvѥ(d -zഠs_I#u!H diru-9 Z tXgvW ׇ[K9M YJ9*MQZ<EhkqQDWxB&<7l Yn3G Y@U|˘=JM4uyTR QCRֹC b*7gʁbX,`߾m=XRIcowp,dopuc'h8m~pO0rv.>Biϥ Юdܰyf"MHmo^Bj i~1NSV:iK%HsfSm0@/?Ӳ{î<Ul@`sc$SbS*`O??o>J uVl0L& F"O gn+Ձ/`7^3${2K-ÊUXR%/Iu2jD+Bu׭>?ST/￐1ZRH.Pu, Fdq;Lj♐lܵFvR_>9V !b-XɍZC|l`Q@̢ahp8!*aP1b-Q!1p׷ch"a-Xd%E A'08%y"C,!~@RڈFqQ7j1m8/_S7-(v^Oa` )KG\ځ㜠Q)Uj z#ųVAGA%Ccρo :an 3ǀ cr|Q%w7jtI\ȫ–/qpAlh'9Y&iiH?))e~LD9TēzUlR01 `^n9ODHclv]3U:8ڨCVM1R~lۍb[z/e%[!1JQX97)RN(G/ ;':Lأ9vyEZf19y0MxLuFP(c#¦ǃY_zW# ё5y=hΜyT| -e3-l%Z$R5ztT?_@6LYX2\JW ]C);u1_PˤN@"GhE{uɓm~tpJ5;$fB!Y7/D 0 AH9SOh'sfjV9x݋ `\|NEUE~y(LmWz r_$=))z8Wxy]-ݞ} a]#4NEͬ,hܓGu6Qb#NHN~ZqFz%V#c۴v.JϘPU%i]> 7DU E_v,74^ZkK6:$em+mL{ҶQcGWmL|Rl4!t4]YJWS%/]n}+wUlul  }*a,ROwΥ!#J -8>C(ʶfI|ϾUx_u&8ļP)^W9 ( :aoFڶ0x#*0ye y*OPK"6Q+ZZT>O$h&XPWfbܓ1*ֈx7j7s*5Z#6Ąs6&f*ŃDUx":,Zv֊Ǒ!{@EA#hzDW J^%<M9M m%"CWr',adhR~W$i[>yVi")^C$O6$fq;jstqOrn7Sgb8E}gÑB:6EO i)(@?LuXfp7qX;/'.,,-봎7u0huzg1"6ẽ18MPcq'8ܕih:e/bPߟȃw8[FT/$^9b7Jz84U#a6 _-J[?}~"Rk ٹ7b[{yiF }c>s(2~V%E(m {pxhK"7"˩'oz>MYct @w_nPJa(9I8l쀽Yۧ"_ژ`*U4$aIaQ0tN{|]1It6g\@B, 5Ye!&kW m2-SJf, CАvo-h_ʑBժ W9ݪBF0P6}F:g> ߢ1*;LQOo%]XR|Ȣ2޷p-k3pnk~jvJ"+9X{Bdhr1Lbs~UR XKG)7 ~s!=g$K #t9A8?jmrI2p[`IJ-dN圽ߦ&#R^FkG-YoPq11LJ4s?鉰Z"eŀYT[++ĻzCU>;O2̀7e^Sb#m R,hHGQZ" /BwFT6M\*G-Q˻!]T3K_+Y ײbO谫=$)^|Fb@ }Lj5>q, ]f+XNuqYN]}t@2j&t \c8k"*ٛkf,M`qd;Lz޳w Tot[ >RaӲ|M܏J5A:Ht+Vecl|?)Фu &`8LI"+ʻi!L:3W덆:c\ Ϛfqy-ZUX>+)h?g靖GQ6'ɝR7kh]*-mŷΡ6394EK\Μf ңL{.~l8̸?gKԋ2H?0.J 5#kN@BYF+na(4F[hAؾ0lv+x%Vm UsNv׳9\awi$h_9i=پpD[RI;p9\mLxcK>GhF,A/,*Y?C1v5VΦ-q.,"P!8vol>ݵ*ٳX|4uGn`4_T.Dw<9zt`@7&ƚAQF1[?v9 _^~bD θo>A$#޵W栆Ƒ-*(g#BGcl48XpZ 3Zx#I3IEc:CibbL3T 2`{UZTG*~yₚl6y1XrсAR Md ]),n~8zn|!!ԶT(áfZ΃{ƒ~sf?x?ϕͥaH3g; , 7X<GzML'.HVyb L Koyȓ$vb(mm)lw!+]e{BSe@Tr,؂$яTS7 K`!:'u^FDLƩԗ:˩uA6gV ٗ r755[g9J].T1k.5Ul#x9 :'Moߜ|AupN(inK(H1^;HeA:J\- xd+vW3?zݜ'qb4դƒ3|_*χ~L~bL T0"ézq҂dpk?w|.RKO Ё0ZdٺL`zf 4Yٝ'ime#nN_X~Kf s$⿕?O'gP"sT - i1z/=nIkJ:7Z~+wĒ"ԮQշVtHF2q\unF~'n-=?JGóvahCsjde ieuTmUhkJm?/(:JLNuh6⢙B?1CBrj=&fDlˡ)x@ٻ9l2GOl{' Vn4y[)gtyf1܅Q2%Hݕ]ř J{=Y,*]oa?v׊#ʥܧiKwm_pcdNp4Kh /̵qN. Zҽ\ϧ]9cT`0CnM\Zۗ;HG63X6 \s2xuvv6n r mi޽}cT\B.FH+)Мaڨ Ny$<`ZOsxxW'~˩tHxԁ˘SGWn{_~C2{alt,q7rQ=vN kT3pcu 30xx?:xUc'KU-;p}& IeJG;YI癊Ch>*Sȸ@G {XGmѺ_T⡿+;P @>aA ~LɶMxI=?>5x$ۄ+-M:e1T8+Q_>CGdthy,*Uu~y m6º"1?؀qׄl$Q,kA^yx[# h~M*e#KhFTREhĸNI o_⣘:ˈ/Er "̥+] s oݨ{Ƨaۯr|_VJ!)kr&$b>{{W, !5JR/xY쨤ү(2}mclJV mTX~MwnI2rRSmKRꡍmcojmT(ozIC~n(,- [#ar>pS(Nl%ydA"UkmNmCUR;Ai,nN~m*Gm$JUqjVCUO8 djP9\ Sp 47|)(ZMJ|"G]RxJYF$eaGjv Dvr\.W0T篂S:_a9bZm0O9_1 Ů#^Um[q"LB<Ʊ 2(U\*6SޙIY\9H|Yd.@Sh_j\^e'52@J[c3Y"I 8ޜ NExDb:zg`ג bX#p`AUxބ ٺthaNxeP&.Jr ߤ7F8Ͳ\r!ygZtn-Rdȧzź'L'bSPϐ_>SUX{u00ޫqxc;G 7v5`o LIYN/$ׄm):pl@6 %~{+u`gMZS$1A [搒_P@/sw Rѝvh0\ޖ\n]$ )s*dEpXLIݴ+2T,E?8Imo4&Go#U\\HRk~qC !”YEFFOQ6fFqP \oͅ/awJb: Iha>?]j +Fbxj,/? dU/icYBʝs]+nذ:VԬk_]=m3'wV$@o 8@f] 3rӬ4x-.'w碚Hj9xMvx& [WQ{Y3xo74ҏ3%ONKj)n$ԜTN;~܏u߉"TASl-IeM`d%sMt{3a(/ c?d[Q7؆ Eb 3 bYz'U\r>3[FqȁhWoKRB9ozS-P׃ vVm(]<aj%=@V% ]j[nx]ƞBdaTf9=t/J~&؝?0u| H(!rq՘ 3c6+PeW+̋yM5D\ϭ 26aؓ\g( ׅăx̐ @+&[7֎Ef`GI 4Dʟ{8F Ӹғ1˓Y-[1ch4wJ |sFoz#tT;|8ċrYuq$?Z'E[$ BłMg똷)u {kI@^Ni<;Z^8>B,CJIt$b~n`Ɂp7,\8UТ]<;$%CW.&N8#ڝ0`n,%?|޲ UWԻ[<R#hKIyRh|}m͊嶎7kvo1:jA÷"uo`"ďؼU{\4?.RE7Be/%vЌ˹eu2ا#By (L LMxZod42WYv{uZQ9IHV|Squ*ȚkC7$,66_ρxogB$|X`( /l&$* N܊N[piB؇ q4Z-e+|t7I D`*DѴtj~ɩ˸/{4Aa^# b?,WEJ Д~ðîs'Vȑ!1W-PNHi'\?u|}/vPXp/;["`Bna@p* 0Β_7wH?@YXFkۮ٭l'R1[cp3[SYyt8x(NtBzBM !z!Ud~V0wy|ex;5TwwDV5? xơ>11`PcIIr5RpG_)gmr'/,uf5N8ex擣k+O"apCJZ˕A$G=$l=:qq)i+cRUf 7h홮/hѣ sQxfD>d6Ih$n8aɔo+`^-ou0ۈv`p{^_khBrק?Yƕ0vϮ\%ډ5 v̵oQ0[je 0@|ޟԐewVp / kPlXM?IX@&x.m #q7ݴkÕD5HxA88tŢ:՚gt4HL47,i $9wX4,('5s1mUq3HuH$ְskHt "Vf&vn?[aș^'XҎbbdPBoGO4G|W]G`?M2%ϊn[++jI| L {q'CLar9 E(m왿 4}_*AźXꘔU?63Gu0r]ˍz˗+`oYi=F(Yjf9T{@!2_)R5q?]ogN1hg=Z >2N-_XĀ&d`E ;Pk L3l"@# 7?|/kQotEPǹ ӧ2K.#wIe87oĵxg06 2 iP-D/ ѳ4nq38t 5y}wUV#2S 9[،AzEӲ,]ar] u>`S˼ݛ h{1AwcJpd b^TdR $$܉*}gƔ9y^kKt߱D=%O 3oN=:c75NU6@,;hLIw?@F T 'G%UM.`=H-A`lZ Tn ׇ ~ny-qG>k,{džjKc1XE%j$i,lն1-v:]Jv߮P?$iيhSu+[\S:%7{0^m3q %I*"N}] #~RO#ovGZ s4 Z=ȍ9+agS_Q~M;oSqDnlw]T\I7 8+oL`B ؂ׁ*9_c * :[q^6D1w._sG}+O%2ƛ0|Vj~1i+')쿽)ډ8)kɭd"5 )R ^G)۲9B})'Bz}쬶 KMN ߨ TT"b<։v3eʍ 3mb4)i6f +(xmtِlsjI)t0ݙ}y]&90XoX͵rR,)FIC,Z'nƿʓmPFMli*ިK3~uӬ6ZSZl$ LeP^h!@(bWhRMFڠg4}9 bpiMSK1p)vW?Rl}Tfty\,pWÝM*t| YSl֔g>F14' ® ›kHlk9غ6~ݬ?![&M(.7̜Grqnդ,?Ձ2Z伩A!c>]r*LZ+/`d0eߘޣ!üthOgQzVI؄S\*HOIoR޹!]'J.g>-eε + '5{z3y<ӘDp${C)gv)yb/ 1޺gR.NvCRCw挖X3eg(V gLs|PJbpDL۳ERU3Ex'jL2ixlTw4@[`>E_vg]d^3K2exDi9mytc\[5,Gk5!Nֿr_7̻0P>*yيsZ}fK'gF7չrXP ( <.˲LĦ=?IwT s5zbJ + KJO_Mvʿd˜W :+1tZ( _KJ(~EmcgQ w8Aqh[@଄ YVz/iscO~p={H'cBros Nn00y pIҬK&ZhSy -v MrLg_ȓ}@?dWen"ۘ_Xļ3x| sU=!t%i?(N]^q^_PFX;1Zޭ)9 ebVJv!?HFzXM/2_>JOGl8! ,~}*fmK U)^+̨-ѨT\N* Q@M@2aZ2lIgDЗ%B":>N hl2mfVobl=L𢊮h{MZ"l$`'7K m)F도BA n<9п¦ ҺEkk؂qv!*vXgBIlh͊qP׾l@0Aqd޶**uH7Z΃;5OSz*ӸndΛC{oM )JrXv$f9l|9g;r rH8Z%I3\ha> .gByЛ %@mn?FǛZ/ KH[dn#K#h0ҙ/ca1OƃouC:DjW㭹@ԎF o\4`5-kP 5P:>{3Mi[.D X\ENVhd|uȩNlC;]'6s~.n?hºE.:0nsoʆՖ+6b;T5elᆖGA8Gm>JlHñpJx:R TehwbBɔbPR%宭G.>-Z:$xvv㴹VQpUwyBWݧ>qD[MZ(էq.) M)0sgJ"I-;'؊K 9sɩ8NK  hr|0$/% $*{[*a@ rsO$KBCG!gCP2F t6%.j'uCvD=ö]d `ZOfDRqz} fYR՘W-gA Et)1fT)֜Tpn F25 ݔYjẎN\̀ez"L#u:fr~\3B̡X{)YL_}Ty?)ZӜ>'k]AyChgNVNQ uС}0k^A-O^wlb{HSl0 ҴxBCZnFۍffC< w!d8}Cz218`ͬP$Awq@\_$Vq<(CGgEUm;!?"˗@b:4-W1n GH +x|oB[2&Csf]ͮ1j!4H3mO|7L9̳SGsvol!,ޛAKl\LVaIE@h5+8{w xņVFeP~A.IEPvcW6g~NbC-ىN0Ipg_xLدoYKn]Sݲ&-oJhNfeTG> oR=~[Wx_|FdA;2֐I!\րWۛ 7!rvH`'W|4p #Z]iYei^ncH頝!%Y*N3hzP.s%"brHŰ<8]Yt~KIJAu^DD+8뀖:379˦]ϝE {cӏfF:߳dއuhTz!| ]׬ׂ8ᓂ65e@@^o ,k`m [P=eZOu ,:d(8oTGlgQO]YC*f [0%Wzd{P; ^P,;=&{{}VǕY0[(iPdeۖ1|-Q;k.N#(U 4u҄f%#+Ð>uHqC36ɂXDž4n2QfVs^(U3 ,D4 z8ŃF3٣KMZ_ i4HOUixP JbY5>@#cڳ+dxz]bvzƕs'sBҪ VrX* h|1۰aegO5n݆!LȬP' 5[[Bgb m!SkVj IJl^y/J\?{z垸WϼS2Hݎ;[˴GWlHc`$YVܘoSwl]Kt}]ץ<خ4{a*uQ(nh%-BvͲH(*6EqqjGdnz-dUH*IsÓAn%v\%:7X=|C9 iSh_I\3wcYQ:kK*+ 1\:ǥڶ P|%6w`27`r̼7w7n,b£[Y#= m{ {,YF.f2WHgAxϵߨ~yva&˶Tꂂ&}?Ho A \m>ttL<1nǭdGh{*4B ^Sve x9D>('b`o[_ۢ :Wa+Exf-, 27づ|ݛ aN&ϕĩ- _nmT pt!=HQx!;\WTƇ-J&5bMŃDKbQT%^d W"ȧ5Ve\`ZehWH5r+]I٢I%Sթ PsUݭSI$`Vcxq⪮="JlC=kc:+[tV@TK.lV" ܗnDq_,>YN„iRu\s#Ν)$(`3 ʵk}nݹ$^PN]PKaC:Nii~2~w=kcClڟEql{X kN‰CF ^$r1>0cn Li̇_*Sukv;] /SN':8DjXSǰ}=x2Gn-5# ^c dEQmrbcȖ*5nke(PYQ< ¢]OO#Ԍ:Vʄ;s~8ID(,@C,۝@/_4տ h:]8%Aכ#*kºF='`) wH;,'y-eYs{=UdE5ḻ_1t(m,#E2<cCޫRTy[E'CI@{CJ\E ώΝKt՞.5a4I2{}Ѷ!F^( 7@M+Y1F!e(1c=]+\ܒ_dz,+:IIO1+`E0pSE[ *cۉ @zIYcڢhEV\Eꈕʲa% VП EJ,8pG@¿GTz+`sΝ?ofe,PtWbR%|dcKct_' GIȶUvTk^ 3 ֋nX,Jovh}}e/1:P hK8E;M3O:Xz$ +d D*@F]3Iy-R]rQS}asV٭Kr^3ed."͑.[cGy1?R%,W߶ rdd5G2)@c*}WC:t;A{s~):ƂF\dU-R=$EkMh= :/cEAQxA&z}]( ; sW[쩘H سU:`_$fY] pcR4Iڨ,Os/śO%LQ;Ⱦnl'HI6OP^",9%s^߄H,QN2S| jII\\˒xkC^OY7]dxī|1~ /z΅dM2$BbVNTR1E  u $/}╋ZTm&xl;(by{U:_pAz7O8>(@.uhS;y4Z3۬[ c{[ͫTǞ"\REr|Gq B=rO% S0LsgԘueê |xQ{^݌]ʵ :ƨ fZ Vl$Ɋ08T$ss:ݎ^c2DU Tghf)gj)38w֔0z1g5cgkr*Q#pKO6V(O5U¾{О|c&u9zqӮ*BD 1f2͚|r{ ' 6 ={q(Xifȴ h8"a=ރymoZ xLd͒J=:\("> 2 t'^By! _>{Eܵx-ɘMI> teO e׀!u0s:a3|Ϭ'gd$uQn~`%V{e<p!63l>7\QP8י1UXЭp.PC6q *>wg;E~댱[RZMl+2m3N=+]up9_peS;auI +^:.sh'T\3!ܔkeEG#`jSf%}\T1% 27$1C~Da,]_!?w}iρnCBQ0'F@vyoc<_,k~De9˳:yFtX5&gkvz֙b. rWD-wpHU`/"~CĶըHf1УVS1 Fº7IRwx|=a @ Urgzs̫(mX8b<""-oҜϕU>9ͧo(> |aEPM:+,*ߍY.ZRTU螘A2 8Y,xm^1 q.C'3$ )}HkVS!jvY+kzYK ]qv5Bv`jo4]a۫SLJZaqT!J(KQd]Z[48B|^Mf)M{JăLŴȑZ*#)O66ApKShʡoq\*~ьQώ6C零 xi`雇VXd6/kˈ7]N*= >"N@'8,x]Y^l1\`jL18|ėyC|~ʤ@<ȷ-F,u!;ChDV%Wd9\wͳo'[s{[z$N&t$`T@= f^`>LirY!iiMĩ؛&=|u>*Ixv'78B]MY6M{Obv5IHrm÷y4DaQˁ& Y2U}mI2M$/ [b©HMUuDVFk̆ȡMײE Sng4BǠS2/֛'pS_-$5͡eBB&$?CD&z;?!ÏZ>j4UbYUcu;DtG=3#F) }IXj)Q-UU-.Ff(;efƐ' R4\~xr[ k@3T+5> G,@ x?Ex}ѿz2%Y~_5'l'N1_>!`aW"|ڄ3/ISܸF! QL'`U \%$ `]hG6.Y̝ԧGkfbA4e3V)G&Dr^ļ)=k(W~^SgIu:왏<ٌ]]V::z߀.^dA +e2lzM:0"},˱rD`#sbh:#IQ<j&I}-ldvXy^VF,_lh&+m].fsXXj-v>E_|m eÌRwf d:EE,uΦ!!}q9_-)x،XA#"hts3jMϷXҰzk'ɓZ}``'7&?"b~iHX*Ϟ!ٚߡ 5 a,; O *e9>ΟBp2<#:S85ڳJo}OM[k&iz/~̢jH5UwcarL3ǔ~"&WdzM<PA haji&isd77 ?> sB.vݹaJDqJr0˜$v-=×E|bcp$ <~h^?]:^3х`YZfY&P$&^|^tq#.g[B!)\i$!|`z64\GBv8N|yU* ?2YAɮkEg8{zƿn^ȳ?lxgKpy'MFlO^$&$64db[smzv?ڊ}oďeUrϧp*~-JПZ?/"oS-Up̴ƭ@#|@5c{CI 1Vjh@)ɝEc˜ls(pf,w+;N+_7Nud78OPExlH2G㑅-ܭ(*|I>eݰv=#>>;N^.hQڭ ?_I5JYY}CX]h(_YI3)ջm&CӬO%M3SKg6Y"t-w.0g~&ǬT &)^5*L _܁;یÁ)^ϟFaM&Zq4ew -7̺^LOc$=4dlvlu霿FA7W#)!}iBux{^F=RĐz}{Ê =Jj5[{]@[Tu8 QLYl2?Bx%V'q+"8G(<6wTnL!F3ab?3B#ʿrҗvW"dPd?ݰ9 !KJt5Q|8BH;MCtҋ$FPD43 \ZYcbq~ O" TVCrrQr-,i6:$K_e68Βc'fRXR5`zC+̕/jщN>:6c~S*8AZTrT$56(' |I▛ e7dyٹ]>RH}"ݍmw]$-ߡ nz t*[ar9ZJ36J1OdeX E/@͹Fs+HC|NܑeTy(tF2W k])CvU> $R+g~ vZ?өE«`q+ܕxo+ۛaCfJzpHE´l>JGǁo`WAlu6R~E qD`!ւ/EM#>4}7_m O8e%&pgp`:N0pk ]7ZuAB"RuܝPI3G ~PC|˃|][oreE-#x^#{;qTA`nr G)Bɠ%hu٥z:wPNWZ14>hg<>(>-8U)ice<~u݊u'ȓn?Pi!D{eH` (#K/Vqp{.٩@0On䚳_CאhzB_]fks{L 44ƙԎ=cuL1ni(1_q%k8VH[Ԇe٥k[tiwߏ!zA(X96S,> eXѐa!l {A*c_Q_Mw Ka ZW7"ػp/ű0{*:@ M3%Cł6LBl$#6/cV%.H/IR!nǜr)yG|l>+Bf!( q߾{HĎuAP<`-a-$2N-5b{IbC ١,'׵G|:#|e+x1)-uG)b)6S="}uYk "|,1&^OvXHZshp٨q <~Q<\W'IøG&tXWXNc} #.9CsՄItg|d—obt,˙yϮa;qH^ Fx+*ܸ.!drra>ܓ*fI~]DEpY/-"-d!ǯIV]mʷNe?>6п|448l횃)|zK #,J|Hyو^fD/-ʾ#5O')ڧ?&9tOI(/%~Anf%9'];{'Z̸vR,Ύ}Cb/={RDPkDj I!#TS,́.ĕsz"UqęC)~kڝ%D%ֺB@f;D}1! ˀ[o'@+\vz.ڶ;lof_-,%'e/`($(iOSGq{4[OutL8~~N$XpX%֯X0ղgUrEgHy;)Y ro^h]sKrѳ:F;l 7P&>Tl,ϓqae=L):*Xp`˸r}Ae4^\pECc!26@c[U8&,K@tK.QU__n<0 vPں-0lpR.l2-vBgMD ɾKi/aXbG&Ōa2H“lLAAEE]VEVZIuN~NHdG_<\b-^-=s}^L~@5^O#ɮ[i-W0x^N :|_U'HX,reY-Ћgo.ܒV mNUn.!1X=;3Ӿb̫U#ZZ3p:;Ն hRpq/m Dh5S`@_"NYp_hK/ 7(Z]dM F? xQ T\f;`Lrsgf2x$*Q\z =N/!63 v_{t5<^g߹1 ߪEm?ӈ'.~A)jF&w񲋋;/ WG79Ir&ݝܳi/$HQQ:OUXO e+-@1MeMaؕ5q믟@/zsY݅acP`+Qo/7^th %H|:e/#Tr )S66iS?||FAeEO\ai;L.lطlݽ#0L/e@%5[Lk+KQB0j#|Oƿl"7zOϜ'0e5 P.JCMp#mmx'B8;C#4 :D_7X *i[Xx#" #m3hc.Ax&)dm}wި9/|g*G!+f8f4`&t1n CFȷzb R#q-Ătrk$Uc]r!-ql?ZMFPپsK ‚$r5I6t|֖PR)7Ж h95̴umI_43C p@  R1SR!?P\ay_sX60P-Ѝ`:>b\0 y L' UV ӧE y\5xNye#Z4G;pgG(xW&6a%xT FԸCN %m~ S5ʒǦ;> cݴP"N-SJI8xT4je"z)%ei/佃^ZRBM&.sh?$"pWsɛF !oE}5PR^/Gx+L^<,\v<״t\PДy;B~)Ԑ$OA0S0 .p+٬xJsJQ!%aw`7}lx@-% m%KC(ewd+.irBQSӍiO Ն dX/Mȍ؂JjP~uz=d^XaGe/sN4Bb'`5^3vk645r5UPwiQ%]2Gzo$YT>O8Z΋6>E̱z"6^u*gۗJD ~Db N[D8@a;T.jYh_ A ^d7kww#h+zV)Ε~`ag%իOg0%X / 9B9^)``pv|jlC/ܦ7t# > vqtՕja _{1BvSs v1Hqc'4xla@G.0 Gl$py\Qޝ 镆K~rqܐBe v_*xxHSD]h%y ]a[\>d(ȇUKPTS+qS+NuKQw# R0zEPq=?R#OM`ㄶd Ԙ 5\uMԔl?+zXoԀ 3=uyNHΛWm,@Q:!m.Ks&Ӷ!밂' zԱIf!!HW$ك\ʶC%uMA /B%\hzy։?; <\z0 W:΅ӹZwN"U?w3h>ԹZtFq?W"aCpXBi`sTUknu؊K虇)ў߳ftt?0ےe"H晐 5ff}#"M4yG1u BX\}"<~!6Y^n*OϖЋ5tf+s`߀O`tC+@hAY2(9j ҽB VZAzNPuԤ(_$(6Pb6cZS )gAKr_9Rkq:)GMP'+>U2K8fX-6M` bslp~E,$\NMLTnޤ2Sk0{\!pdžHIsPa59;5\$X44 GK:1\u =@=J%LC3%Z4aW̻$q]10nZtb1㋰_c$7\[[RBxT01t}D&=+LEy|~$iZgd39cUo-pZBm&6R ՙh89FtD! jU5;+>܀+laܦrpTVnē-lUELVV]6cxԶr^Хk38- ;C Òiӗ1Wӏ* NZMUfcms0 >6zkҥt>XIǪsS=&p"n.^g߰p\jN9X9F^͏[w%H xKj;@:/j85ijn@&[ -'l0íaVWa}yjwQ:C4 RlҊ@B>CZB(}e2O[X߁S9cΘ%!0|wUl8Q`c i {92m.\72O16[C-e>kΧ|XJtCLxv)9q_"т NBGEp-9lY\m˽HSaZ>l$X<\iDĠ>gd$:g\4aGx˞fQ ( [< .Q_I%{5Rh 3#D\8\3Q cX\cqM`a, C8sL,5N+XєY說T?6e`sqͯ>\Dn<}pu'Jڕm)O}[_&Boe/-B @ص/ ּLĢ/xPx$:>|WP_gs$7 9q_DOTڈRQRA K ¢)_[f +; |}dmCrG;p6W!_ye{wjFvngЂ8TQ&˜ :Zg[r<ö ,-7VluIlclN "b@o̓(7 [6+1Ifvi!]IX&Fg>tCӉ\Q/_38$ UbvNjE[@~Uamvgrxދ }~h-ڷyLjۙlVvߣ{1SzIs;!`gnU,.DLO.Ρ^|CCU;$K؏QyX.*3b!N֟M )mHGD<<% = K5tnpͤr#ǩ` &6+d"e ~C+9-ca!qt1*PkXdI"S۴W*BT8AZA;pYPS-eP4I+ ^RVXZSI=mEfr}#{H~_$ pIvp]͗?ҍ`${aKfV2sh31LOm5.-lge,Vw[^9F?kQ[{Ĕa>skb.8k>Dcop pSU!##j-o}@ 2]0 өlN<`x]̡r:  $s&L? lj~vHPR^߹ޞFKP }> [rpcu =xtubS=y6n|/Ueԁ!Uqӫffń(rP\^̜ݿ-zro0X<%=gvv2dp2bd&~ߐy᩽?U5\ ^PzBIDܿML7vJIt=O#rKѕe^&eFl3Gsϣ%j \y'Bim^fVƝzHeei:j|0Lr!V5c5![Ti+_S," - wlhS'Xq N9$Iۄ%'0^ CI\x~6A{4 LC 2]WAʰn/JD ؍3bwn$NHcD85,\[4'J '|Ȣ=* ufzI݇_dɺ uXϯ LSbuwkF vL :x.sLUc_Ծx)&Ib!b"/RaPiːT.,`Uhh;9tQLWojΨNU!;ZAn;;J@ᨎx~۽JHG)m* Fb^3РC9E\@!B5IKTL|-vS,wIm4|,+=KrJ}鍏=?n3߯MKS[XWYG 7j9ήa3&ՋQ2ݕZ1C#;ᶩ[gEcĔR_P1/ώaJ]/jI:_ ) N@C.FQ(WhG|smh)?SRSܖ$pO\aU\.Ֆcca;G:1E uFiY/1^;= ъ,ǥDˋfIyRBߥ.[|xoE!=a-`=Eي2Õ iuz9iTure{I '_d Oꋠ:zuri[ϭ ўQ?cα8ּ! .K?vtշz ^bٌ&+fCiK$ހv+$)iGr\[*ftѻmTkMeCfa#7 $ʞ(x\u4^˞Y%^e):eOKWu(L=vI gxNN:c%,OHΣ/TW6Z%7Q;|̦%Gv t(̠5<#fSAwъ݂%|7<`FyF&;xἆ4g55volB92I7wƁ)Vq`vlϰ<%mZؕZ(3%x2Z R!LSܮxj*nOS"C- zu`퐲IN iN=`tf&>]߳5vs̫oM\g @4}}T (Z$;2ʮҧUp μ! yOs6PR_F[ 0H^yO>} Ҩ62'fMŏ 4L`T4ɿqYI=P֍o[i]qXY.g YX!of aewD!Z6ML:pO_u .iTʬC¤a.'-MIT8.Q9^-NW~"50XƷPvdkH6 @Y< hΖo{*Je TTQJYڂE e|g0P/E05Rx:.' \s+ b과VkK2rD}hj#l::XIOf֕<"H(|AM?z_:RABľ-W"EZe#%bB/E;n%HP_W|x9l9E J nRs:`dݕp4/˗"yalVnn¸9$w E4NgPMz a Sw5Up(e7*x<+#<9s;۝M/.& @S4֡Z*U[ :h$.v.+u;oMEB0B P?u(k%م ōOP2s-&Ds)K1GqLA.GΠ!V1zBwtC&HWOɲ}]= FWпe2S'Q$A2uNJy{c޾rOg!(Vԝ"J,^t EsܬBga +k0li7`$y$UlY iwQ_{W9E+,=)?Zt2M YPP'x@XW(h5vk×}zc ^ت0Uo%  /:bH*4J3 Blw(e+Y\?fVUurP8Ūʩ[ 4!\eeGj %*ym{}TAWA5Ȇ!f3S&Co`{J?]nY˨ ^aE \{Xh i/RJ|XuKE#Sn2JrYp)|x[2_ 1@0ttk8:j&>?C+Mt1YZmC=lh{P:Hƈ^rg_|ARʔ;ڒsT?Dn.by: oej>dK` G{w2 ˞4Yng<ǵXMz& loEY) GJ{I7{*Ǩ/*>h5 C"#;Wsxܘi!kieѹ.wWk:F$#I /k գM6i+JRJbҿ/ҵ@N\&WLa9=KÌ)$;gbm%ǎX[q=0pَGDS;/ Huk$p=q;mz8'4Ħ^L)G6J$p9?Y sc+*f'\Js_|>RDL9Ltlٔƹ%Q$&1oAS"(O 4_b!~q=br$dv|LGSf{|:?5h~,,ʦV3Ӏ݆mLv_?2 TQd?#gf$"v*}ϊyZ˵c]Hc;-@=<2 " JnćB| ǘ7 7U&䋎{|~(yƜCvy3d=w_䖝v@'8rWO&n_~:/.Ukaȼ[_)Cd࠭ܪf7t1!DnUP qb^6]< av \,Yi;v<V XFPK g({mbewIc/vƋ?|;f<7In\py/4<솗chk!ieh}=yl+ 'p=0ӬӜdpJLEؚB\LVD*HrVԲX_YǥZG5r(Ô x]yonvF#.離clm48dGkRӉ hHKdZY7Ҿ9m̦R~iD$,Ԫܛ2ea+0- zu5;Wa&zɶ"agh^́BnAhgMdAPEKn)&gQ92ۭJ " M(:y.?TIȦaLKa]jzZؘJ^u<|ƳޫC66_>s%"iYkLMJGHY +2s Jz_}0 7c"P}LwEJ&Wn [w:!(kpDOg GOwJѫvXbxLJndYqmiJ=x2BGsv)[ yck~A>'Ÿy5ղ*/፪%_O#$̀i0Gь*FCz afxm- 4rIcxj-_S2H*ĕl,BwqV=bhZ9aX.\!7pT&8$hc4}XSb?I+bXB`'ȿq(-J3zKwP2/S:`pIrsոXt=lbEG2*uQ%1wkoWgmSQ$\;BG.[#=>^>k|/@PB}J@Bhw'=VRZn/n`Ai8P;;F X/#dj'.iT9,tdvBGg(y ~^-ͷuΰ b[tswތ~2Y͏n@"t KX(Tr-9hil- 8+e-' OJcٻlu[1 !4Vtn_sz0tSudqN\xO^3]5wCs|7Ra}8jZ=0ǧ6-8/.H&E%!t붲rqg+o2s׽xZ!@3._n7܇гWJ|Ռ0'tK474sM{XA2Rghi`ݙFbE#->Mv k8jr:1veĎ{aOuU-?LYb-dLʡ[S7dHKho2fzLuUbgƛ˃2.MMנwjӟ+io0YL&Da.o?ۉ(..-ghu(g89Z/S;UȄkK^}o^wLBarHEOEVhF>I.m*':ٻ&C_B׀ͼMH|Teǩu-c,IVrigE =-'rلg *Jhy WږZhG I j!UZF8\mu`} bp7g#$I׉@4x3Bd:Z޲#Y,4{r,iBk k2q;Cw bwx{ hsqfnn ^NvMZ"/ݦh5UaJ="!#nV:-pCIi ɨz$<?×;KN8M%R} Ia,ӢX8տݦ9VO[%fc]y¼-xnqy<^uFv(ӫd>V#Ս`vxdJӛ1Z(ab9? ,oܽWy>؏?`p$j nGkwKQav*P"Rcݽ/;^␼KcHM 8uSnj,Ū^ B,0Ԃ6yK*+5奔G[DŽчBjzv=Bq]E:9عi-U4h%qBb04Fl>4a [ĔÝv`@߭9'Nwb9a{aSck@l.n:S#HJdlx oN8f7LWѤ<($@fNY1Tw"] *> a۳r"gaeeCUG-K} G/)gJ7x?zC=-,sTg W4hZ2a6}GLGFV]׃~4k qN 2\ QJ$[ܦ$"39du}^0W!D1NQE/S?UCR-.: v?6qkV!+!8O]FOwݗ@ q26.`+zl|гY|]`nU62G0][>}k7¨!힏)9<3L6rHpg^/ оo= CX¯$,ȵcMdalm&ﭏ^w%zP@ktl*!-b-Q␅@mH'vQߢLO5&Dq - [s<"_;ܮ4Sؤ$2Yk^hf(fXQ Bi|7Ƹ6#޹MFGz=2lڨS#MVGKzX|>1c&.vM5֒[t[A]̫ć4a7mt#  w$.eSQ^>a߅K2W:^WZ R^dGUuWKfHX#%M@ü8=eTѾg4/'ET|*tx4+pp//;\*^Zdٝtu+Q|Ez&<+BiYrո<1 p-ghWUÉ5]9U_ YhV.$qU5a-hO wAŪ0:ҊS^=eAOͭVn@|WӺVwQhe8#8Zy9@&F ɞA*˫Ͽ)'c[kU &HPj3:YufXR4P^4bq/QFi cL?I~ڸZ e:&0*+EW&|]%œ)D>Sf<'PxV*t.J'UpY )vX;h "oWd!#f5$FBrJQ)Z+nPpDr.UZ.əg^m"{{[ M,b A~`{e9AgKW2(Z~\HHÏjV h͆[lN c[:V0s[&}[UҧW;xexEU3A*0j@tMi,Ror4\ m٢{]ak{ќvx dЁJt'+5atrS#WM(zqu%oe*Znh9f×xuBE mO)y!}^&?Gx+-Hީh1J`gR7L POl1XMxf ^ԢG^?=ݥ_jdxTCNR~57&QQS|eCO|5մo"E+csc>,לL|ZuT.l52.1y:,K*9 Ez8<6a3 |n%>э:P&fU=6 L_%}7;2.ӊVeJ IhQpq||#s t%7hnJ _HM_*-pL}5^E }نB<^sanc:k' ~tm| v`u, 9@U%ZncMW޳H`N:BЗ\/[P pdGu&s^lȖӄ=]m B/ Du} Ր\2~ s #!@΀H-`E`b<~Ჷs [cK]hE\2^ŖʞW VQ\Uz儳(HsB+;>wMuv6{̼>j#vGC#^BjjC[q`)9z|*Y-8>>=tDNGa+7;K|5nHE!7GwϚd>:SgçՄ2ҫ{A$ z{^ݡs݊o"tȵ_ CB4Yo$dVeH7is5>˦W 9t{|ѤUhݰgjBp-#K X|gOVv#+l03t=JoXA|P(L" NO)VBf̺*dl} %䵴 {K߼O!ݍ;c$n#у[HLKO"2][sgB_ﺁl[0tFkСOr-Mt9VzBS?KaP#`A2cy*am-zU@Ͻv9M.2K@VwH#-[!O:P}mi0ۘ׋A3<0Ҟkߗ)\ю =Ze9B*D6l(GU,o Y웱^0yECABLǰ`8oL(gm nmT4OWmYzߪ28#SßKޤFi)Ї,ͮc>f262]7GHWfA`-^7+;yN-qQJI6 uJ uHiwe3# @lzxo)|e@ꡧ?7`ceJ[혫o*fy7Q, >Ӈ`Uߚߘ^&T1TMqj2%fّrT秲^󞻇^Q/JPm\yd{Yrp)vYyqi$ .'.C*Nns0Ig4TgCl!niws]v]tgr76Dg#xT;.P! wK)Qo(8nI.hbR'KUv:9}WF٠l  l?+ 3J8>?cV)ԨRTh 8JX&EgzEN7z3wn'Ǝ!OyXiaڼp3ڍ1&wؿSXYeF_3K0>(q@N\.صIh }na0[JO/w弄20[5jFlr^\&8g~ɽ+-m@0/$y$[kSKc~oe;2R~G"NGnLI-%^/Cwj&hLieFEP$4&~x[vUr}A a8?#}uO]͹)afJ-7tP6(?[P#Un}䵐Ę.Yj~:M,gP[ReRg?y8'l!KkxhPݺ:0>Bu;TZ6Ap7c '\C=G#BA$;@ћWvFJ#EGwkٿ:5/\3w\ڴ|%& ʚD7ۮI:uRV߉;{'i%foQ&ZRCo&DDIPj iN< J$??MDh~{m[P ?ߊtV#jY|r%_ZZt]QsL>Rb&*rec[F?E`"9n!CTS0}p$nٹ=[B<9C.t>۷oݖ#g6ܽ-濲rFöxmOgQfavu4u}w1/ppPX0@i=]1VzL(=WM2-c">ZظÓ<%l3OX6jkN>pe/lQvrZ  0TYfBz͕f #,g5f<"3 uθ3D41wB_Me7iãFnvwǷO eO}Y3ɓ1 !Cw5gܜфtP%I+BX]ƝZ [7f6ZrޜKҀhWnR/6qYɈnmD_s3Q` ?57/8͏ z>7>) ִ…sh,z{5KjWQ}p VLY^NBoY4iceʌꞙ4k+dj3ӥ)BL m`-,Bܧs֩':vjHs3rw2{U_+;ޥ8ɤc*iŽ93iihȣ ?#w,=bGȰIG9^HYM In6X-{JY 7俲b :nOMPQOǀ>yÁe?vgKCTSlHWl VgJ#%}hoWx)bH AdZ( \5SmiX11~|4{X1H=1IIp& DC af .!1mn:OjNR$gPfxLhN?+M&T޷Jlig (=h z͘x@qYԸ]iS'OT1סFwLWV۸'%QiE(@f^z(zi*_SU2s/LEJC[^H/JxR/QOU*w28kw8N|}a`z9ZK o]]㖯ҵﺊEq?F'Wo[:1ɋ|r^ U*1*HW6u:4nR) aC~N4޻Q(mB /W#: ĵ3Xt?K*=Aʞˋ5 6>Igբ )]eV,BuG~o{7+>ǤDRPͽ擣竄R3|qwBZy/G/>`!2»uE5SsBQڽR-؎>k%wB~wd l%چQ`q"Z巂3 9P=@ՠwhn[S<7W[Iv D35Q j"Q0G<Ńs_\1rg@9b0 S_5k-`.ɗ+r oA #ztK93]=|`h  ʬ9d`&YDɽMIb+ᅿ`+'58x`Y7V4UHf(0G!ދ,t5j]3> ^KiRV-4t,1"݊CΔؙȽ`b0T ->65΋M2+IH[sy8J]p²LˠMܜPA#PU/ @q^U >jd#𪵋o~W?*8Ϸu={R_JTJpk v^oϳ^0'2U)B&7[Sv q:H1? Z!~Tiד舽Nd*<lSA5 I"!=f.퀱XIأ^ uu\Z`wl;bffBLr0[Rb=UV Ѿ˚?6pD`68 dl T=jR]zWFuW뇄v,ȧ WJ)xoڑn;YWHv{ 4%X16\c weBsOHe#hC٧wi%X:Rw[E[q Kދ}5 AD16%l*rAE53BD Re]G2W/OВcXt*dB58 oefEi?(u+9$dҮH}zx:PGqNb.]%Y@bp}QSO򵳫/ўDRY{i{`M PPƦ0 ~ۅ > "˟VJ A4g-VDZDHccetV Pgwʇ+y,qu҉v =Z0@"Jˌɝtl-'l!+. $d*\v&oQ, <,Q;쵸f'Gtǒ&mF -X7=FsL\m ¥g9 15e_v a_lsUL׈H}Æ:ϟ%n.<4nn ăUU itXΐ-5PE[Z,{|eBPrS;U .U[e|lo{\^3]3E;x{z˘{՛u(f8"Q_?q;4ΐ(׼F7U1,iaeoɧQ|k6gSgGqXgY2c:!ϵۓD>B>-tQRoh`(_* \ Ztވ!*' 0x4gsg(gK{\`2WmMEu'ٙAPV Ca-=u{+Ы#AR&Z 8,}]om1ẪKl^Fv\0s6.(im {و(D2 k0bm!uAES&?XsT^0:nW'H *ȣdǷRu0o^,t]m6 | }>~KYz' P0-270,jJY1Oq_GĬBn$[3* RB[V+7-RZ"'r^ ";)@8 }9 lM gz,xDsSV2+uIuٞ.#}/ }A]5+NK؂ɨ#%HFwW 0qCeRΟJq}l)O/tjWΚΎ]`iw`cy8էK,P)x06k5Fv}JB!:aNyp QO~[o=+笞e{un7nK^^,:׍J+N_"a*OyT4C)рʞ襫'm.`V& _0UŒuj}d#hՇE`㽏"I ^,Htx))մ.aD ]PsLj?h|C#9͡`026s^|˔/?s:#'i:FKKbv]u15& jSr ll~'[ۧ 8Dsd9JtMPe$/4mb(]fFMYC[yMjvGFKt038$1vCsF0w~.OT{Y'J~X*O+.P]{^! Ԏg$tOp9« \5 t ՚U =^(@ImvO G%ڦ(Z+~1(y-U`8TU.cmҬ|Y.bՄT'Y#NAgYHSD#PK˫`͢/|TTR ߮9VB>:69!^;=ڛ-[xiB ZRН,|qd{U43 +\w;Ц8Mi%K(bR5β&~hSнޖMЙW6nZ PebۻQIpěT_ 4f]H a Tk7̡`fr5޲HvdY ʾ`ڲڮ KM}C|MnRuOvMH Nd( ER@r}p -0Βp7Xd>[߻dFnj:!&QChhb^o ̾vRAu$GfkiN.6Kf# e3;SZ)GSGըc$[KM˥9K`ùiͳXãwy/3c0/{sb !eƿZ v4J} kzM35UVCauI;ﶇ"Y{Xjb@J Va=Z93pT/H Zjg$JŧG+q_:|%X'@V=k$m NK"JvNI- RgQXY҈,"v6WW1z yRROQO˸ k7d= Uy_ݘ!~1d @(>ՊnZkD<~Lp'?r$-c60v~KUl=;nYq?׮z}74UO r?4o.[S#7 Gd^`qv.%ΊGխK'4QI='LZD oHֻr :񑑍wA(P(<V1dKi ׹qLMp9{)[9F" X}qYʜnĔTj'c?#CAbyaeYIzrfJiH.,p bg6S_#o5ᩍ2$/;2R]Asؿ^ːW<;c쇑սIk,>,"Ã?oҥK׬!P6-OU"6h \ҋITKd89|3c῝)Ws'2nf3P5qM[,k`o  Qqљ "Hm3Wrb%pD:l/ QdRa Zare!X~sR-@. A!Ѵd PֹUٶ abU$*%jB19=GG.$>0 T{z>X%ؙwGDQXrJ!{*[ZmP:#vbimpњqK}{{fn|juI4jF!F=jhړR~8 #|-,=1} mϢREaNdRmZiS1ϊY}R0m d/dCzd8BW+t<Ժg6X74?;RguxC_Б&pV,?Eb mAnp]\V#;tϱt,8oކ[bZҴW Dt3Yp^9OTw$i‡%Ve2ڟG݅Ⱦ)^ɩ 0Gvɷ21CiSTmTbgeNj {fqC*1&]#Ylq0i/X9l((A N< HL3[`صfD~b}wyG5`׺lǂ$MfzO>Dx1K\TK'Y N]A -g}v(0yY %)12`SX`gTRT\icDvi@bϠ4}=HJǵ_tu}<X6pOQ3쇜}h4o2Ȗ]1gq>mf~b%Acj4Y \Ӗ9B kxX|Y(hm&dKmmmFhHߦALᳮS#g'_wO#Y}PWZF!nrx@oS]AwDýp^xW2 2#'Fvc=*^Ol|XiX@Y[!c1bw O ʥ]9\BN^Rau~ _:O"Z'ܬPh*ΞVoTzL z+ ): ZxEp&ꃤȚ|CNذ$"qmlzCTXZ(Y <_>}X)%:ߎ|%!AɃKD`Nj!*w '5p+7RⰄ:N:'n/zO,pԑ4-7,P?rnƝ_\Һ{ _ 6Yv3e.jQ+ Gn9 غX߸X{ϐ"vMgXhTC K֞+q˯k) npUmtM=|W^!1,|hcM"d< ]M:zEt|:Y1%'Hq<zJ:g4=}E/i 2%$]E^6(a].6"ƜwXp+G5/# /I`VqpcިEs%H?6'z>IucZCr٤ K)a+kAg7cc9ϣTj48.;j/A34sw]_?l|[)pg%㱠۠11b1 jLqPreҥ܆'YZm⩲,vkA.%X4U)z n~o-Y-su_H:XobhxK'4|So)SN |o6u%U{Mh-}Uk֜*U|ƃz >aIke3.BR4p[Xf ~QnJ:ЫB,Ryܾm'`k}6a])dnoE{51x h骏I,\ \Ê _Rڸ CSixc,^kj䍍:<2ڹtK8Vl 98`7Isg5upP=W$'t)I{1 :%[ gcV¾Mq/b zΉn*:8B2HN"Ηo& ڑ #1:-wytnV6eAA@@{dtBPBgU { I֓'7u1ި0AG^DS"y"ϭpoϵ1`p͑ov/۠z%{ƌ^"2YJb>;"-6'Zz[߽rʺ!cpŗIwDގЁ9~eӨρ"xX>ڻbG MwyIdˮhn` ܄ɖ\vkX\P}NK oDf-X.'A_ol#`= c8iL?KپÝ:· 5e?$nYsI[Vʊχ)LV: =k٥mɲA˲r6:9O|j=&㪌,mlT̪q XӚC:q+{OkҞ|nHQ׮ QE[DH4!CI>c0v@IJ.UZxrPqkptL$@Wo+2=1/6D&%G/rF8*&ЉwOZ]il9/LI0`g0@W/n[%3d00Ⱦ/@I; A`ֿmsOyfڴڋ$#5 2Nݿ>!U?O4P Bl%v$#rxv¤n/m8@)WpaN\f>Rj򵕽vs7 @m[9hpuCbMB.t˹$cA,SXiTͼ&F^jHy?B'\pstC9_$_TLw0.ɛڛb *8,L_tBv b Qp$4ݻToA ]$nTwG1SnA068^kZ۪XUh/ߺB3y횈mo/j?ep:̒{5 98a{a׫ʹz!]}'^|hF &)q&x^Nw&9mkIEty[&d}ksi0juP5;7ɯ8fȯT°AUK9$˙N]|>dDj =F6fLFԥ1ϒ?C@DfTKu^sAH%J'BgY*de}<]g[tZU)90톏-xI9s`XQ+-OV0 n/8C?.Fz?/PT?2Sjjg |wn[Q(kpkb$ u >8}vZ>f!;2 ;oJ@W.6N+{3bMjw[ |\q"l=\ta&8wJU*7$/&θW'^^A:J!I1PZ -4C* )HuBUeɓ٪qS#js&bFEc|3 [Z-@wUeYZ^blH(g-! 9`Ά*jr n,8. l1IյzNʨ@o%}EQaɚ$DJRm TP$k$8hj˽&b]bj2^[+oTd6w:/hxqOTxd2輿(E^$}m3L@& J⢞yPSZXEC^\iΪ2`/9Zm037(ͯU&s4Ol,:馮&[kig>^ьؤVU0NJwGG~dI~:l#vwOm։ׇtyNM72gҕf a.{78 !s@cb_-9>*GҼ \ɹyP$3RCBl7NAlxݠ|I48}h :S8{ܴLOT\{M?s|͛uD  l^djNƑ㿾sy0t>wHhz{~h;2[P6*8`¦Scu=3v ]YY,33bGz47U@aA$=Vَ wڡ++ɔ'P%;ոUqgOr^gH>="'%'rlEc9c\ē[+D\,N~D QT#~ח x"ounyڇ<;3XFb:O>6EMoGYw3Ǭ|#!¼t+KCd dIid3߈{뗃сw!7Qw v:[SADٖ_[%LDOamma8ʜNKA$xo+4[>40Ǝ!5pу  Aj7% y=m\G6G]#&:|dUxGׅ[`v7<mg^W jnt^%3]k."TOn=AgG!@ #`L˯}$^b֑T6$D. `x4+oT A-jCg\TgYeaBucGC@ ~ȪPMp,zeN+7 #/+p~y ղ L0oPIlZX0AHҺ2liJ ;-&Ut`5@ʯ/0<]X"mB@i`T_S"lVĦK>@Q]!}!IQz3i>?ѽ u0R|jF'?4*OD+LSJ{tg38y=#(NfnBoȴk8H MЫ$IB4WusEds?wًp8_ekkp34f1ܨ"~ ˌ {42+ ER:  ,ʊj ̂_b+fFs|W { w1RK:.z1ye*+*fjGsUQ`PNʏ8<)no k#D! sߢodQ#6{f׸u`|T@|`;td>lQW_F%( po=*7cI.0}$ss~J FaQVqy0Uj|z9*`GֿF3 CJb+Ĕ6A]zþvِ'sL !xƭΧEW*=0qجt(6Lǻ6e_.M7-2clgUЎ).@dѴ3k.@o*&Ȧ9R>.hd)Vd‚0IoZu}P>W}tQj=ěr #{RQ,,z3*z2a,Lw^@PKiZVW$̭-qAZp}`5# ;ѺP2 BbF/- V$i,jv kO6۳ý(x) _нI]Gµ+)JPf;$9y<7ýukgMC`.$8YLH T+!嗏F*sSĭcMֶkKl ϧ-HǐDr_BTA W.}kv$>cY--դOj.c df<[meɛȏz x%O="u|cbx3RN3kAM.*<>t#w:fdK7lDO+T7FꌍohTFSgykVA" enOY O5AH ]fsbL|Ԇ_LNX P߭ "~ ꔋeo0#H.!oA mRqqwl2"Sbv16~գ%2%W &`f&1I'[ƋZd"jɭN{=jxJ4"uY8vٴF?so#g"Ĺmt[׮ln &ܥaQ  K)$զifwIymn*>P ;!Z]^HFFLg(,~vtHV:X]+T9cr'{x+CM3p#ڬ uKDz8̮n|lNs~s1L}/MO=Ȼ@?c卪T֡X~8$*RH*G!ر LH|E_ix=.?dgY J"h&:pj 8!iڟbr7{NĆ]Q˓B"#Arbhp!*؇[eV~^J"u("Jٲx0PL5` ]BX}$D1Q[}ä_30 Q_[xo%AVޱU7O}Q~mXA`ߒ L 0Zrş snZT)s "F@q.0ψaomOhzEA>%BjЗ6Tu |5# oaB46$6{3j;́YJL,8 5VGJ8`(1z-stuu]dk!3,@D E⶿SR]?kttfxMȁSv;|-ʞ7[sݛOarI2mD}IDρ.\@g3-PbvD>jn<^9l-ȁ8o:A8nTfq|J^ ^΍ٰ7ДIl^8Yâ_?zp^ COM\ކ89mc0u-/^2y,‰V@ʿ5k!0k{^늀V4t)SנИe)fMxw}/y~;%Eue֣[o%/Zxk b T;WT\ZӦE&kaț!hr 'o E@C* ᪤dۗ@TSNkjoQG y&r{ cK+\>Lܒ*EfYE 5RCD!w3*Rɱ#wg6NFq.XY,r\8D3EG{ awiS$N`7B矄` /\^I4y! Z!,E@4H`)uuΜ]5pO?B9׫[Ocd0P- l1fda~ {|POg@h]s97qP? # 0 Ӗb8 kD}gMi+~1P薟,kJOHB3X^ޢK$6vؑ;m:cX*uQm]gf.ڣL' H{Fe^ ctvM|B)T!ԣ vZ'FɩI=`Kճn8D]ZEQ?$pTgEz)1Yd(R0, ^ŚXŝc-4ؔQx(N4ԣבF@A50qC[O'n"{~m!PShû*VW:OƸbQ;`|(]jǀzjFw8(V?'< (]A:pq<|/IYZux2Rl-7u)CS+ &Pj.acٝbH^°0vk:e7.8lexNzwSkW|dj%[R]yvheuKAЂ^c׺ǁUb&mQ5Z[ ^\*lHӝjJl!/Av;"f{Iw՛.Mj@^#)xd%q1i(*E~!(d׳-ɾxtܫ&`6 h^@ oWb>xx^W@* t) P-͂֎%,\R`̞\MŞJ] )".w?r7+lXCO(W- /:D(.z)>1dr'x/a`yt Zw&8yGE{jPش}D/@aY s0_D ޹Sy ѶHPLRw$;~vi8|06| h@cJzȬ^]Ud Y^B.KL޺!˝<'Fnh/\tDx{S8 Le!a|FlG \stJ(Hp{-ˋXŀ@ 9ApIhYu*OqnF3NjIUIѶjI_w'A uwP#P;xlK]w? yJgEPljzU9qTިBHBQ'`Z lgIJHx_yγic6{.`=%]=*L-yl [tZ+A]mih+=]Dl~RM/0OY#_x!(:L6![3}}"N/`<h&+OLQ Aʄoo zNBYCZܖ q5ʉ N$S`4 F+ ʧ訧' Mz#?iֳ}Y?:Zg*/= 9ڛV%Ͼ${+'"[Jҹ Rb+vcjS&VW1τdPqڼP04"oNP5aYR-ǂ׻Jɑ:阻\ ņA* NoU&_0hBN "oAg ynڭGhjR)f]h<gmAA7k|+d}rRtU<2_*&O (mX>dAp^hSClrBQrG潛#Vay!$beo.{ͬͰ #DZ`[T-;*]w*l<◣ܜide$/ @{cFhLD}7Y]ouFe|A`cw3YYw1Lcb5WkPEdރ1[B6\/ƽj~{@)ѤNK$Oex`p`7lȉa#5r0 !6c!MGҴ :I?% %XԸC_0T 96cG;-rdܼ0$cR˷!er9PϼzX+#{p*Q3P+]3 *S(^|XM%czw?@Op,ªGCd6Av(gCFEEo (*&602 ?] V7dg*QMM~gB*mͶy~jkJ9J&g6j (aBNu٦5 ' kG֮}{4D78T|Arnzn?0] ev+!+'Ͳ"`ؑxXG%Zc@E;xysXU!i6c@6,T]r#-#`, m*"yıATTP1 ZGVV%^ɃT\ÈbAcoeSUU4 |ٰR\|˙S!01)g_dd]6J`:u>>,n*C##/zv/r,qz@֡V^޶Q_O!FЍ|/fTݑ/]4 UyC2˝ZpO:H;Thڲ,UVDđc4ޅJG:i(!GE愽B"j Okyʛ(= $b1xICou[2}7ICtI~6"Eòʇl t!=#TUdP>Q+8uٽ#];:KT M|[lP7| 6i{!۩` &cA+hۣν d`2['SӒ' B]wICB2X2l>K)4%ROJlG 6A?Mn7SGwS'&fU)`cy2t#/.׺GFzwߙ}Ҕ8 VJāZ6~y Rf6NLY&:|*Wx0aHQ(["vQ Fk BV:!k%( 3\-hB2Aʹ7R)";㊸{0(ճI%nX6&6Md2d+aOHًYOK bb$ge}2Xn1jYLPvv .v$#POKV'Y{2B3BdVf褂[lae8]GJ#5_xs\( Z+ ӍĜdKԅzY$إmMʃhϾ}O%P->Lүw4MQ\ӓq(B^ha%Y7%4"N_$ ;z؃fV oԎ؋Sj$ʪVj'93NRlo[NhC:k` F`bHZˣ5W>nh2@ x]s~~kOy,_QQ+q!{ٺCђQw+%*XfcdH_t>6Ef2YD6 3W@dd\IqaS~NWv6.N̲jE\ N?$[|Y6Dma:|]ցK;\?WIJ)[(Q97/szdcMmeE0mv7y60s_oP U}=,MPȋؼ]Ǥ2D+?n =Ur ,ùE`+sҍŒ=&}DUl6֭R@MNۤ3/^m8JH[%;5F&{PN1 M_x^HPH-wį,&JDYn~˾h!k#/vLVZTY}e7$0Z"҂}tjQ(SAGEX)@g`D!2'|k[ZCPii z.+ `Oc{`] E674_kB\]Q9bZ9q^E ?$BtCAikL5yҟ%A#pR_E" wWSE][_$:gz1'%xcHAj.1sGsNQ=EtXjӊOΰps"6O/Vi-`jT ec!/]z¸?Jil\1є?Xö ^/M7Q__ O>1۲0aʪn~g~bwh7n._wWSz hCU&Eѧ;cf&jNyVk{!Gׯq qH@(eR[uaHՔhy&$(mɮ꨹u\7Ni(RC*L>)aĞ1ޤFkޅ4U Ɉ |?O 3z KbkmR\__۰Wܬ#̠KLTDS4w|~v„- BTO-j}Ju,M ,e9,- h0iC%C{c:r qʙ~,k,_%\ e+d%-'%uk'˦O((kuZ]@Ug%SSu^&OYDŽɣ*Ԋ?yeΗ}H:F@XPfM zpD>Z&Ĩ 9dǿT,",0rKIu!NDuBo _Əy6(#ޚ0 ՍY`&DXϻ-T*?$z&YMt Wm8K%[KkዂX tHb3ю 1нڗ*g@bE;Z&2ɶ]/=n:(M-.mzpf!,؁5Ɠ<X^;noy BKmq]0^ۚ%S LqZ}9VsVrݳimkd.cT+U=Bl_4Q)!F!" ܫ½79]:-fhoiy̫l[nx:T =bkJ+]ǂds:pvP9|eD_`߇a7;}ֻ8bK7|R/' BUcǩ[,n-?a>I^|a۰+!zR*ko;*-Y<d[!?EIat,ҷ޽v9F(4DaP,j/Jj/I?!>5 KcS'u ;ż`A,؊?{Nj4٪Z %Ę@z'&FTyN-2卷0=ޢ_Xkpʁ3|0\ɓIQcoxr: Ӯ;7d^1l2Im GNJlk Z|Ouv 8WO, ED1?y̭G>oduLJ !JTqe5F Yw"NPE*)<~˪l|͠}D[\~.`TOl ۝Fa U1/HqwZ*e^wpIA)Od= ڜusk+L?>JτAɧ2GI`9;z},7ftd|yi#Ƕ^)=:u[ɁUzDeYGc0R瘕u1^fbX>#ݏ Q yIP\r̍+y!"I>-)&;uwWJ,ixbPoOQK`6ƽl`>wVb RXJ$n|#rG- tƽ7ms[>gt o&.Be篸>4nCswq? QIB>kӶ.ɩ2ǜ Er+JC hNgmxyNYj`04VB{UŹLiX)"ς\הּ'=j?=^U<R* {5 7d @PGP#sC/.. aIBVJ,Rr8~d4mኔmd"N][ o ƾ< c/a)$* SZ߲khx贫?仙IU9.Xoos+G/ַ@0#Njy3*HҢ6Jf2!a]iG7b2= 6tomv-*US5 1oP͚{DA ۸whq7 C~<s,<ɸVuL8pK :zUe~bʫAUrgTznֳ5^pBxjPPʚoM2%CnhTJ/A7:&8HDMgq5iKWnKYTHk^a/ADRfHNZ=?BߤiC+y73ӗt?zoYMԯ,sT*E/uXI?c :HghI&*A Aw->g&E>-+]UXxIȹ {JI'MQ9:i*0e,(,JL1{R}5Hm`W1 ڪS(dzfb aOZ"R&C#ofe.wxb?4 (TU̡zI˽Ş5-01nzODyQfs|-O_øȭ;nZH1E >-l5@8h7 SDmBt_3*PCŚd==ڴmE&T} {D]zod:I=Da!êlgι@)aom籊1/?@e{C2sҡoM4t8ssb%IԟS.#g+Pv1ƮK"13Hgrd9wʗ5Vy~= : eZ)G3$CLw 9?oD 9f(o m_TLp{K&WTFZWt7)SioR؝Iςo"eθ_DFn(Ѯor*h`hPh&Bu8-!a\ޓD\rB>Wf)x B☝=شQ-<%C9V><CuvAޯ=Nn5Xng$7cEڔ,#SQI,'@[yNdF>v{ {^zh/9@.}"S.n6Zny "yШԣOԏF: K^ȈȗS|uqzDA6(+E&\LI܃DxW0DPbS?WEDwDZNdTY~3uv3óH$/62,p*׿] AXxu("ԛ`}?g9U%z&PI(O.=,7lEv}?K+uǨ2L.`*OI&a3a y d^P,(GɹDchfI.~e[Gkb~?{,L5q-)> ~MM)"c Get/ծg#z䗝h ORr #+dIJ~:jfq_iQd2RY'hۺA檕l/pICdfjSvw5lPx+uiѬ֗V, ݂[|wčׂV 'O+Sj϶`SmW CKxo2(I!b^Od@ S`$?H++l`UqQ,̳ס5ʤ{ÎئHZ(=n\Z yG>4kv캏ĴEaČh(HŸ6%G4ddX[>IeM@RWrB73 Xޢ# 6>˝XK ̮pp M7d0:P7BKRd})_AJfj=LV}o81: P/ D, "^eofpJA&{I̾pQhbRNd-:1q<6gY3+8QʰEs$(G?slܒN^_s&7H2&k_]>9[ m^WrEa@JhvFtT{{ZzKl6WvImqa!0\8B*kib\SlTHx<_DWpUlH2*̋گ44Jma:!y .*.O5![;i9{]_.wu5"M@^4q&'+?Z/I;tkl1_v{}%ɋka(*ɛ}nݖᚇ$liQէݱY;z'5D">45pfp:A7=dwa^tA*OVa ,鬋I,qQMblT1IYU XvF!CDX`m3{$VD">AKS ]SWTQܰB.Ob -bؕD֞.b:H|)?}!y1M>qud+rDx,T!-0:jLgI{6ԋѢe)x5{,2̜F  aUywqpf4Zz3} '^hgyi=?y r_lyiNn5j_>\Qak~YkKɈ8kYAvS+\?n9L[{z0|Jau>,3f2R*7W6eECgn#g 0q^Nr,D[Ik!K4 r 5&jxi8 8;QGFCJ8'z@$_-ؠGD@ t&w-qVMӐn2ZĮv^ڡՒ( <7^h㾟;pYi =5qƸl`VI]@hϑS bv̩y]'x-weCJq RD=$?/: .P](8%ګ>(>C SƚRO.5ՇX>x +%h?Ap hSwDΈ՟+ pCim^5-ej"/1hFX]";]9z^d *Ns&CyTD3~]ҠU? cm]GyT<\Cbs4 Νu+mzQFNjRn z 뢄@]h,B]BP9yx۰8qac&am 6M豱Y`yֽIIaHRsA"imKI4-mqJZ}78/8oqzJt{303kq/J6;1aj!]L{e kNx)O:@OsdbX:(Z#x L}xb'ݽT/a/u YrznDBP"15o!9z)>'L¾hRKmW>ΛToԙaGPS$ϢdTvtKRzs8)bSۨ %Y@Ҋ'nqrq;)mTs!"6 )h@EJ>,eY7g. x2e]B_CZޟ= VphH>vCE9DnWS=.@oHo㫹)i.{Cja`Q 6p^=YA[RUUu (Q׋.GW`G?0=B\Oc0;{i6J/R2'u,EYUjpRua"=e Uj䦂T`-.09^l\|FQ7iOəA.^)0Fm%o!" MIT:~iIR%{.I  uO5XYPs6qB"N8YK 2rS,__ qtaXxxn ET<C yxpu=34 9ڣ nr&N_/QV0dюw# z(I:1((LO)<8֡U, !Q@sN|?jPlSשfKx|Y6%sG0͠@" A9zΧ@E!,+/~Oè=)pRQp:?)_V3pi_xL{F 3FhSz |q.O o%zV8_u>{"sC,,.(W'S*a UG}Q {:R=`zoS`!A7S]Tc0įMhЈ1>]u)]$:Ы8 !+)bޣ'P` cXFe0.Lz7]Sp'9OYLw$D q,kɇ:;@$%Qe{=!.*0cHZt ɃXP mŔk—^{vhxڧ!~r-=SB_=08!>sHW|Olѫrz8]h{Jxp.B]niZ qj mq猗Yr(B8Hr*$;LE7 љ-_qn,h^b>rP-lXmn7ˆL[݈cN OV)ƿw&;i(yIm#(!FʔsX- _9g^jC|\ᠡFlPJ'$jN(z(Ra4W\vw4jt46b1: ( q3JtW95R+7˥p`(1'쵍n- ][C(e_Tfܽ9o@g}5i\P: gO6@"/xM%LO9( ^k|m߽)(wi#H\+(GOu_]?Ʌ&l3Yh>Sh[dž@ʒH^m@8">jhEÉ=$E ~qS0hH-s9^Ci-)p?lNqh.ᝬGk5YԵY{FFuZ- eB8ˊ?Mf(LBv ~]>r~J4 j}L )0Zb0xd@l'Ņ9,s :J}6t>fw7&# *{QoTNG(HyڰUHZ&Ljv!O˒Fɮxs'-Q%|B%JI2gj,>kEN#Hd,c Sn\%.=Ȫ3Qtd*_w/Ϲ:swYv:;vPu1_ CBEh8ʯF%CȌ)&ERs%&&Kmx/|C+t qY]^蕨; T.[(e6o2?=$A2^ݞc oP96k 2 /I4kĜʙ“19/5&,Fm="WCm0Z&ɪveq"KQ Ivܦ(<4V/r׻]@9o9gKh!Mn%]H0pMGH_,6*С͛/ \ DGzh XDZ{['WVaDDn*q_wٕRf !J9;J\\ |$KѬPĉS{E3OF`k Մ_ð}½ Ȳg_!*`Σ<ġ2x,3vQbTC@m^4G2 bojU0@gtN%(Ŏ#qaB ߵk;>GƛuI>]"H9(46+_og`h}<82Dɯ"-+3O\KtKvr0c ;-m.f;i-s.nc+j冚Y6+HsZJD?)ڵ`|COXhv3EOV6a.CUg"Zlb;c|!=+\sup*@R %4F]ƨjlN=é ,)fx_\xz+4CJ!kم@Wc0{^D3:e$näy*0/[vhP%Z]~B`.\>S2Ǐ!mp >k^iN>LxaP~TI~-;=5_&xӗ0hd>ouGZ#+-vrLG>SD ~qãy]MJB ٚ'9 zm;l"LY.l.Y dǛ_mҕJ;@P:Hzu6ѝO;IU~**ҍhfdQ\@P]]g(s9! %`AG(R6NME+C-g,_ $cS 췤L]bxrFrY|V?.:t](5}LVtWf" DRY!t+]'fK" q R3עcD~cX{JđS0VϨw,vBPz't<BYA.Ӧ(:Hr9>,tAIP&vK13\.h Ø˒1 CxPc&6.]0c};}4(w0vܺF2E!=Bɸ ttlNx?rP~}=8l1cr[1D/5SBDuvܞmkI싑Ms5 nAnyt[PɎ4ݰ3\Xp~4ZV\lkW<}fXR"QZn<ۇ~8ZIUX2v>`yJo&=nb_ҟG:+6VP4 -OB1}"n(7@iu0RtE"4[#\jS EwĤ'':juWnmxtJ-/^} wҟၡ"WJpGr&ȩ&!&lJPo8)/ig{8`ϧЊtg7!%N5cd0BÐpR̫FmWmn$FWbNde.pIET%;xDgM GxXL:/`]#8ҽњ@".r2FL&o%>`c1M/ocʴ/+\x'UtK\ޠ$$=?z=L)q_lWY2 kRu]1ޭ_TH Z1b}HIEM<3 NPDD"զ/nB ^ϱ(m,/IkYɶ m~k6[YdLj̥܈U`2F}Hw;?_NWˁ(;A/F=@$\g10\!=M CO!7CWxJZ] K+Ȣj<(I|T˓ƕ§gZ"epk_#$tWrZ`E@7⎊ViylsLaV;>D@Zd­1nhY#3 n;TS:2DZ.Qu׻Oܴqx'NtGTJt_#e4ȃ$]**m8LgVJ8ʑaTSHȔDU7V=EVn7n5Y sdJЋ)CG0+oݣm@%"b(Q/QY[j^ZA滍/?鍹0(}qf"@{D_ RB 8bHXt-\U&G4[\|AóRu`QajDڤ)1鍜Lod?[sk)}Rdyv (= cu` 0>Mʟ%uXG~?*rf#3W Ogɘ^]L{&NJ@?pphjp,Xx0+!WA_QV_EL,L-e5ۗ <%аvG9ä,H|;ZF9uՇ!4 (m9qe! SwCaUg޻!4-Kzz:' ҩyEz 5kܰ$(&E/qW$9S)+,"8[+d蟥Oa2P06}gIyE>p 2͑xhD )a`.N< Ȓs8Vh 8^KNy(.?z ͅ%!su>aҧS!7'ʠ#H%D\;,փzrԬ(4;c XTN΂ $к8wC>OECѢMӊ9-+ JJ=V)C`3AX֨c*b)j2NxAs'g>2 : \B$E⺈\uĎ@3Ŕ&Nܒp\@(\lQI<`]M14W j9čx\2]r`ꫩ4T[ ޿ޠQiR1y$:!+d~^( "Az:eXWL~^> kߕP'Z "MÚtЧ֝7h;(cd5yaSpso)sX{¼'@%߰"awRıJlҌx٠`ٷ:ɿ~g1u"c1LҾ=?t zn 427claK.ʇ&l(utw6J+(6MES^7Mu9ģN]{?/1!e7](=BU bw yЋfJeQYۘos]@dʮÔ2Y\ Q>-^1`'kO’6Th‰tvc56nZZ TW}⎾qܓ$j Ie?(e"ֶ Zuw,LDQzXI&gf]fnp\*MC\\4<?ckHP.^})W WJΕޘRF~.EN^5ϰh߳tda !Ne!nV"5k R_ir-3J:r}­Uɶb3V;ƿsg撓8]"W} CQhNvFU^5g+$engPWgjuS?7=,_v5MҢd#B:í!D j%W׵NJI--A{ڒXF9VH=m)v@`WHxJ\;P(wrwdDT B~^h!8!p񶉂zPtP 3n >BhIsW)m@cAWͷN zmU7%]Q ᧴p={Lem} q$y bg$~)/{!"("e7+aSFA=1&vOJ1 (0VvO.(d_,l&v|!+b~ %Tqnl2Ճdj{#f}+I ѺO]Al:HN>BuLQm>^ n'w>$XEqu9T-5)(:AjM~ʆƒ3X|Ji<6!$ )0EІU~DijAzFXx{V㫆(X{JG\F,>O,9]vCie"1$O0&cGe~?T aY_|pt_=-jPNI*2Cѳ{Ca_~bj2h5|Z8k6wV&-6 Ш<*Qzm-a -0Qj9 լч'ŕ>y3Bpd999J~kkL Q6AUO@\ͺ$UH&ǛU[= hH83%x7ND~NG z7̎D5n$uM7 7f)q!qTh!lub^HVK~ կ+0j'L6eߞg<>X%e}IpoL*kL˲Dw;Q.;8B46R(Z.]|jDd 886jt7E+yrzHg v,\s C~We:q_ƀ; jZ:YZ< 1(9c&ȩ 6%#ѮqFLÖmri"2UBXoJtN L^cS{TQ M2AvX/q-a/oxXchck24|kHpv=4K'ێ4zO,gpuHd^gX&Ԙaw8[#bjoZKQ2 c@ddY^=r:ck<BpjyIٔۨoj,ԇmإ8-*(~i9(QUϼcs8:ce|:f4JmEoe3q/Fpu VNz7̚qn]wr7 wZ E5( {v 5h]Y2_q˗v~Bֱqa,v|0[z";e?*k9qM im %tzv8(Uf,PpogeZ%')nFh꠨[duEDlbEw1ʉGc46-0PŚ 9Mʉrjŗ["R)={U2[쮶pSgZLf6y?a^P _fxiv-bZ(^g0:eoQB@*%[žv1ы0ɥ1k1!@ hI,O^~Fe=77Jh 鐧EIVkd&!r* KLf8gxc+9 ֲUhu:,dj3t18꣋Ҩ)Җ EOYI R"fʀ8y )_l@HKHBnh= Hs܆Tx^tK̐ m37*XD+ 224Q> cig)d('6Wz{Yh]R9,ʼnl+/jI+lK5fQgn v-CoX|h> k2>X6>'`*(Y.Ǫ9=:P7 our A[ZRoZ ,9I,r$=S8q"{炫ɣ{vz3'r6wt:4zO˵t nzzMJ &ʜ`7aj ީV|WPD w;i(gRRӋD9 ;ēOɰ ?՘>Vn}\ȰQaf.wċa.T ,A@Hΰ3OXԽ"Z^Y}Y4m@=¡pNidHDϝPw(1 K Oy1H_:TB vP%>E`M,6gkGhЪod)b#+2x1|>~tnSީĢ SC"̀9gp.!H=*IQXbͮ8l,@?'"~}C8`(/vV!< _J|gMF_6 nx1ڴD7,Æ[{{3{fXCTLchڽNg:f( ;N6)|'`g aݥT墽WRMcLT<]#Ư׹-}A^[|M͝-meeE΢3vIfJDLߓ웯 uyt),5>FI>>=w"rn (:ɅSdf5.tX@'|ڃ籴?@M$`_~&`; D _4W^t̓_/Pt:9X S@ƀQtw.9Mr=j !K%+H@M}B{sg_I s!CrTjϢW%S"p~wQDGyD,6,zuvƩ S!2@_  VC!ޙY|ށU'q5K$_ <J H Ly> X~OxH7U4+9%K@so@+mTIKP:;',7/X='@@<a9quy82&HSh<]4jf}oVw^=8cKıuCb<ʡ(ⶽƙhAU%iމs: X'ijФEv HDD^f@М|Orܔ1B(荝U=YZOQ#5Q U ЮWW?v}[CQ&*1cUzd>.чKS4e-֍]m |[&䷓4ǔg\ςr8 g> ψ OB|#lq>`,%=+7J-Mq(dǐ^_ GBEF>diT4*H6}9PIՈL(3in hv->ml X,hv=\qghxb )|*yF=l2JlzbX /Sp7Ō2r\ $ڛv_@t GH}8H_)ȯh.}QO7&~t;t;r?oȲuo G|\ebzzR * Fr4"A@u'$B- Y;Th0I Ç- KN?vO#Dt{r [9mɇj%Ig6?9V\C0ѶJȓƮdOb*9Z4~+,Yl݀dfouÅ!XRtїzNgGui c` 1h&$D̸$?1qK{|)sLjfퟁ}ujFH-MUv -Qx_}|p-OO-)rrL>JK i޾deRxÍXK*5:%C=L]R=S@Wj-zfmd XPb ER|)N dC,^[ԛVw{[zrv1.=˔X ٙmB$/[H ;Id޳as7s\<A\25B=}l/?VJ|0C]a/Д&GIebiuְ>B ah*#6 ]5>8ZF7rTjsIY ~r cA N,]d |+.W-VRl"L0cLcӖ"Ž▄UL,mNюTKzZ+\{R /tE(˟X gg`yOrN\G[a4;)O+-`QdF?4Iiwg$'iDkQO擙R%´+ 2 ԣu#'rukT! V(ˤ޴v%DJkKsj6@}%/ZBoaHPsE`z@釲QfSQW#@lRxG wz`PQ̿=ɚcDNǀ!l U 7QZ-"KHyFο`lU׈FVS?j6P ?Dˏ\w^P7KdNS `PAՎ6g6IÒ0(V3v9x:R.l u߯|DwH*ᔻ:d|CJeśAP'ҝF&9@v%nVCSS8 9E)'fh:4)5RHj6Q!5Zw XU\ODZ2urW$2x]-:Z=f2UqTfI4Qxе p`f=ZKåRr2 Jql'X+#), % cn]d;[l_/?nU)*+^덀RaL aaZIDK XT&j >RܪȚ jeN>SUC2e<}y2\?ÙV0֒T$g\ry)<ӱڞ)S`m.;*m/8_M"d(I^*Pu%䅫ҘM %\ WM3̢_3+?zq =:ʱZ8˗l(۠Up@>}v>"Y3=+kZmPХSE9XA,huð=#_P79]Mv,}[J-QhxlgjLSJRvJ_cLhxjJT\zg40.inÊTĦ%)҉1⍁PdlC3ҝe&^ m rPg+\8=iNFFA!Y6;|p!=7z?=Y߼qjߢh)gv7d 9;;,rG3ompW ,.JTT]6PZGSĕ#Z+@K9W[x@PD :M=aVK&AKWi˯G`Q(g{ u2 ?Tu*ЬB7YXgn1~ ]J!ܢp6U2)燖}a u6^ F&KGLZg|8-)~4(^:qNk?ݴ$ cqS;*gw#mp7Bos10x|Q<3V;Jl(fّ:F;Q%wm+8 `yy:cZm"dm2[ *qRwmb䰪sw8Mm{Bt :"f ؁*P3.w4XPr8>0XYئ28Δm{.U'n|VWF tJNV9o zM@-%CO:켫Q5Љh)؋8-:#I_}D_!Z˞#1I ]-n-0^!/aZ䇘mg2 %1HSܷ咂}ȅXCӕs`l5=*XZ_*(:ud~PY,x;mMYw(|aOZ )τgēތ47Cς'44}h]bH2ùx1efC-xI}4j{Fg7udCRuIZ w!FFE*d1`26WO[^FK_6L7SL0`oJ'jM ԛ/߹xd.ya|ؔ;G}r< 5JcWKwy},cqJS'`(`K.@Dh0^#:`XlƛW2P%8Fm]o:Z 9etӓ2uw<;)cM3tQ.˵XdV'<͡R )LB*0\( t0/W}ǣ¬mΟ`ҠB4tI?/?'0eNT[1=TmzߧÍ= N],|WI&։E\k j/MO'yau.)Kt8 i*r>U$ n%I?v_-z!۩CZ 495~pږlb}ٟ Duh(-^cH꫆!FcYWnͲ1.(j|uRj,{#cmSQHXp*>Ե2\TvfG{ 8ii b90CΘ Ά3]ɼLrxVHr dfQV+V-̐.c`P :V{  9 9͐3aH 7K*]y6l+643/ҍu*cQ]mL0& 0c--؉W@C7R&?{?4dlm-0-?QwE4RGǨƊ*VIGONKŹ^_EVjNćZCr3p[3)idfCd:N3ҏiP )7eBZ0Egfa+j '#!\B5z{/8u;;#ru7n-c.NyvWIBJǍ@2,$\Y!HhV{MUH{E0ϟyJʨ2ҳN `6zE '4äoѬ Ti+(.#1Ǔ>۔]l!  >Bްeyl ryh QP7wS-/.ѓEtf\!pAO+Įfw%rA)z'=([RY—1T6Yd;m(Ҋ*7MlPV7SkxuؗդFGbEuɂ}~ѝf}~$omjׄO)905_^st5&iN,({dGe,q=aԿ}ա!:E yVPM'v9XA/0  &m!F1EgrE.6狢uZ馕?T8&A,: 딲ݏTXF'Rf$S0v#>9;}a &6t=sݥQĘzoi#h)vef}Es;7=@iWNl<\Nju_ }S eKr4䇞鈽FyMР"I>\_T1uIcV>/u`fн/CpfsRv<͗cx}8|rj/^%5k `IQoΌdŏ wbsߑ4* WNQypo/j`3)4.K@X6"ףx`%4L~Zԇ@۸g/zL,2i B FE,Z@1H71#?w!z?[CKlċ̬S?fEnTmJ8a-ͧB<~1&&vA_i&YށQO=P&1CyLJ@dОjەICi%^_ыN4jj˰| ~NrCPiD?OwY.£&&:G*n$:Wu+ N96tt@|}qF+k% Wݶk'c/q%5"=3X%d.j8xV,qqQ BE7/k;KOȞxp $ ynBP㝲*kYkoT*K_Ejbo؆? xxӐ,$䑂q1i-) m@Ơ[{ڣW0TmT&QJ:W4 /_+"c=yJP$AbD_ 4rk%62? u-O tg _.) /SS!=Td=R^A<p{ĹU I,GokVY8#?Lç?f$[KMwQXa]<θOzW?segWYxiMh'޺dPy@UeË "6l5ߏlX[xж*RDU׿crz+|*У/یFJ"hg\>t>ӛ"j2h;5g.3PW֖TCֈikt3rbhg?c?gtU4'5Lu.67v[ٛ gZ0'L;QТdx7Ԉ('爞[R׀_\,cű\3`Β* l..]:VYMg)!I{Kgu,/Gねv=$ܠsBl%V3Ѕ^{C:fHp:h\jtH841+ O'o݁+P\L7p K#`"Dm3#Hz/ÂۥMHۅshԷ b]70 iދiD@zuh؋H,Tul8E%xo[~BPI؋FaT6M%&?Hf K :}!P2p1Ai>R2$+^Dm_YW/CS*͏}x(8+!_¼HX(Bz2ƸQ'ҳ5k*'˭"+(eOEe_'/qxfGh!fLw.=ԃ+ʫGzMWLNrm_$<:HT׳͗¸ f7Qzvإ]ZkߣaI8Ӛ˝~fQ}PHy0+gv/!9ѨRk1S?\v0}x3rOHY~ZAY ̙iT^coweUKJ~to'M@ck9-m[P7di_k tRK|bG?;GE D}is9GRT#qN$;;&m2膙2X-;.а9Mlr;4\ I^ Uk~6ŖRX#iɊ$ںwm&{KM|S4h=1 >n2SP`MjNG6slX9֛P("D/m<6+f%j \*kt KmpME"û9o!s wrqc!'HÌGq'qٝ~ אe @mNp3k H9@wTr9Yd[FnrS;Jԛe qoFr\/vߴo߻| W]W=9+9i9uÔRŢ%ǡxtC+/Y?|GU#cyT=X #G+Xnsa-Ye$S BA אyíUﮱLj_)kX@吱*^4KD!gfCe2bÕuE0?zKc;d{WFlC3SV~půwnjm. =(Pw}Ѧ {BFY.V`dI,Ac.Ջ{QyaR~X N:8*B4s7#?@wP`z>w(5qmQ,YRU LtFfBn')k:byOq=oDg$u)z ⽠lP8E=HsX1FIA:LF06|}z$>8u'xu< 8LzPzA4 : Mr,X>T+ fcG TCQk< fif8S:& TlZAG5Mk (2_Zh}/ud&C fr˿/݂¾;/q&bN3=w4,f&I&y-v=H-ﴮroh"¶Ol/%3ҲO@Fj49mAJxOt `,آ q*J 70Cvz2nM g5V&^\Uy,m 7򮥐;Ut>-V#sZ_wArV>:~$3n?Q`a6ݒv>52,(%I-)L1L bWa}Sa*ɬŸMؤW*AoQU6u $8u8`%w3uEg`3i%/@ uc Y#I4cČK>|գۨ ?c̙V]KظÓnehܼD˿(K[)_k|2q#|/d3^]:q:>[^y< P|8ɝ+vƕ#ʑ+ ݱ6b^i%:'vބE^jx!:AsY",%l$ @FEOUum$E X ()!hVm/pP-gI^FLAVbw8$?ڕAӂ P0Uo*grFw )5GuaH# ^2fyy`b+>^KxVH~}R.߂xOZ|7Y^ǡ?܀쎶`_?5H%Q+$KVE_UuUY{_Z$Rg'/ pZԝ( \>gR꟨tC#aD4,府>NKJUG}x5sn3ңey0+ 4C񣴿{7DkC#$$;YXX"$Ρ̾e>8oӘs [3Y=  C+$𴼆85'}*Egu^.ljgRÅנ!E%-_} Ƃ+Jf+M&B_͙8-䁥+~+zC/gDᶿK_'O$SPYUG3v=/0T9Q2(oX}C2_ԜASwDB֦=خyti#n{,CBcz43;2f `~WS\3v_RE`Nm@2bpLCP1H˦9ИjWp^ois7iOq%DBqԁ~x*әXUX~P+pi$ ?zzTeMREC}, t|G#Fa*T̨G2fM8aW&55~1qH _W6u -OIGꋢ53@zU[p(eJި&weT;ܖ85moD 7G"2#@Pie\dORW0, o˶Dr\CBbڊsĜ}uwͰJ6x <,饞RVB.+D1Vz~[,-]t.g/nS/oUӽ:7ا(Vg>ē~@虄3M=rTN=ކIxS=PrÂ="ԕD(3#g%7Yy1 9%@`g^ɬ.Nڬsa`5A$?h"F bnq{2[x,Hi DrzbSbu(Dm<@/SM!.YkݣV:, (h pu1)Fs"N:H -8^%}$)uxm]a4r1dL, [fFd1QCl)8]+Ӿ3Չ.n|eTtLH8pVO~Ёz%n@J2Mg 1zfa8"9clw8VcVWaοB ,${z u  kdc8bv[k9ÓYѰqf<7Ś[ЇJ2E_xalQA$- r70%]H> ߜZC[b82&̏w%R/"1 慳[ԎF(*laq4SLaK^l> Q)0֔F ҭw r>pV~Cm=$[=0`U@HC~S>H[:ϐ\F0䑒LL-gdyD1ZM^>h,OH06vX b#%R"<.Rkƫ,9)&`x\qS"=ncGgxΤ{L:MQDEqytOypN|:?tڱ䄏vƄ!U=6Ny Fѹ_'LǏފ"GN p$I6LOfᨸ yVĊA2Hzb CVS49\irʣ[#atY=aҏ/L$l$XAMҷ~^:ox)"HX݅v\t5 >s联!o1ֹfRzFV Ҍg8@ :brQuM~-:Ko=y D}#;H$f#WXkINv&@z ̕ܞH4ϫ3`Q9ٲGKղUd~W߇9܍%ݨ˅YF%.FԄjHğPr]+B0Cwi%(tnCƮ9fy^ B{˻ĕ?R߼"Եц:˼ ^K.JTOh8vfp8J;̦ |x&UQH,e̽=C^i=NE/r!B^J0HWv G\?&Kmz%R]庣U:{/!`SS`h-wCaeXշMz04fux-6'kn$XX9)s/v 5e*!bEFt/>yT u=QeoAM8_دe߽rޖn Z x#Q)b!#2sj.RpmB'叓؂RM<O}ݟ%GU&r(^fp_@C\?#5f~lӐr5am+oŢ4x/5a`BG Cl9Žȑgl)(.aEFJ=g r7C5+y߰u&jC!`s\AZt031WT #.f;Qr-̥Tŝ͗Gl^K Oh592tGI唷eB˝LƏg婒WxZC-ޝf)ՒoTsMk$` !0WDqdS+#Ub;6М9?W߿U٩1lס6z(A## dBӷ)lx]>p6Lɲů-DT?4F("Y&hA!Q;\ei`CsJQJGҎ.k!%]Ҏcex5Fݡ2| }pzcNNIH?L+U5Z1\cCod^N)SaX S-=f$@܄T's^SxocSykUT}%WMn"a}4cPLNj (uF?e}ԜVQU78J*g0&ۨ s#pӜ0nDZZtd\v=+Q~hʆO8Zgxtı&9p! P0oRY<$9 ؟_KQ5aJث?.pnb>>~޲"3^8;q^Y>{Emo{}bkZx vmI1`/$ٝ^j W5|k`Cu}dsLSheG=$ ԠB.@{Ժ^p CöLء ޳9৽>z }\ x+za Og즂(H 4M0{.T3d7xto"ېGHmyì~㛁_Mo|x?avdQ!MOz=mE[_'&4a`7;\=,>HS@)U9gp|!:~&_8NamC- 27[Ϣ:՜ᤒ9 5I[ OQ&YE8Brk`ܾd%YfD!A)Fa2+׎y֡t4z[~^$B$dVз1fQjj#`g0= !h'X(kai `X|P`o_w sf2tއăO(2% ׉ɡP4@ J6,$1(N5[{p[H5J/ms;arX,yb`rާs)y-ݲEPtJ? 9 Hʠȭ%XFUA EM:;ʣ°;6 -@Y[:X0EV 2quRU[c[[6$϶hH=͢w(;͇<\2!rΊHj|WQe;J`MTR9O li"Ṗ(+H; B l]|O[^,t\=,Xd ת|aScIap/x] ;EnC+ :!-?hJY Z̷;sҲ|V RRLiG_{F9qP(UdB ow5D6t[٫?-$0,T1C*tPͨ Ϫq⳼<Ƣ#׿QT[hl[F<P/]5/!tFdw`|NzNФze;joM_Otk/E\Q`|=OhSfV&Qd62>nⴗ!'2?+sk F-5fEL0Ź ӾTKd}3%"h;z'y0=/Gu&UƲ9@e˞l u־y횧G.sX8yDRU,'sJr*P+EX 3Rk~ Nfwz^8P[tTL̯9n7g, ~Yt?՗q_sAL׆oj,_։ /~Oڨp~vF\R~on v/+ob]xY=cwt<ݠOXE'OCks.^m׹d0~td 0Cmv̋Ȓ}gjaV-;.cM+Г ~)WkJaB8WܰQfwiªv5 Drzeͨ^>szݒy3 %xN5`B]?h4,=u?imĴtQzBj('XtiemE.m~BytIvo=)dc#, ZhrṾNIn aZШE_ 0j,,P|@E=3l' ۆXaIP9cX5הYt_q77+9.qY%!kpe@R2%lfڵm1~CʰiT/˰슔_q,VMG6- )|ޓ8%V{vZ=2̺ :DP2qpbư" j5e &Jnл2r;k `wxy<DzӱGQ+D] .)N~VҪV>e*,+X# .!hEQOrv1pYOma2bG/rWL?|NJhһL"bG!@h >$%2]P DB$  w3nZ]?&! ΨvT!S@8#bY9/!2@2G$NȎwdOh>e0bq׋䯍VkHӣ 9 ވ˨\ Ne8kPDCxyC[el[̿EK/TPVG†toEտ]G2^o2.-L3՛Wfګx-9|YKfz_@Cf,s0:[4CͣsV* 9TIk6 BZ#;WgN?ӷѣbqyrY8xj2 kb) l {oJcʙcŎWYD`!bd0§A5 @j45h5seqEq_}UUYJt5Xd)rViõ) ;.ѤE͡V$Nki8soEr.D{mG`A(;djt)VKI3` T2-'} ԰{6"Xr}:ް?҆ Y *mPčM(ׂYrȡ0̒X~tw"< !0fAƎtlKo|j ZPe8f947g:P]R&:qlfbyZ>fJs'P?o JϞսU,yz`{Vt<D 5҉eyq =Ǘ=FIl{cu=$Wo~_?a4΋55Hx8M1umIPͽj zQ("J V3{ػY䄪SH!h4 dVAZoo^Uoük 3$ÃEwڣg,H o<\ 7alY9eD,6"8 pE3N9t`O\\\%BtdoZ#2nH)38J PLȗMEOl ~\<n-Z[7Rw-^\R46&F:`obPyݒ3I@vGALxgHnkd,IS5~Oo*Se]ϑw(H54\飋/yrT>gKGӇlQ\Y0n/7nb˰= u9p6)"a_h?Sc˄ l&t]|\bp~-v1/%U@1=ugSzbz||5ฐ~  <~H낥(vEnQپiCҥU8)lGMGV_A6v οdɶlt/mnph{Z"Rm0.QsޗaVMiQS|+&FDIz1{хnPu ;@͘B ԛN^J$F 2ƯTGz82):`3eZ3%P$Y^p8! C a ,lf!ك+QϝIyhCUΧoAW&,6?jp ̀ hQ#"9.(WIN8U Azo]w#8JH,q.nΝ 5i_0R$?x.a/ /c "+\ ` P/^3}gKRa%ħ3޶`5e%r$l0ɔFg5Ai z=.N>%Қ ?%bQ@c+Ex B2T;ldo®ҘRPw&b"z1NAۗv 7!kև'R:dtrֹ/Qj wκ9tgq,t4=y`Yךɪ0jm ª"ӗeO|ayyP>KhXbmPXPxH_ְ[(uJvVwMPF?7d9y-chMYMkH#r20V$QJz~]+:`'^}7W;㐸SOQ"ƾ?C48c2#BڜB-y#L'KLTaCa38J2`m\+4nvaNʨQz>0쁌~<>- LL[kiS*aI CQR~|xu6CFqm6(uoQ(;fb}Q9:~vj&6=rF $ L݃$²uONf[Ӽ֚O "N#xZ$tէkcHcpz<ٹRӑ'}(ߣf#u PQdjӭ9۶Zה]o}FfxeuJ;\qn:-z#"5mw\Wn9Bpt:fKԊ6KPK4ÆWHJ-T8F g;$R-4Op 儾#3ZMKtDx$i 5ݛPWu:~q! %e+nL4"~-C8KPrz}:{b!zM{|֭r3pHi36p vVpd~˟B <Е:g9=N8[7l^f݊k#U~dS%D^$qtFCIqk=@[k7kOPlMbC0 d|QuzO3 zY,-dZ,&7J,_ Af ^ր<+a2 ʡk{MM{ TD<'m (<]dZ<EtÖesSRT8)'jT[97iFfpe\멯lNF6C*UĜ#NU8IMSؚ?K n W<\Yh +Y{1Ay+H]M6LXbgVYG)T[(2z9V$<7!r"mgZ]OݡaHBa^*ߗqZ>tI_çb1V8Z+G02ih1JFT&gB.UWߡ"|l~lqm5R{ |t"53HjTôt:d+MgQM2j:&x}gMfzC&+u2qz4(}T؍LxJ7fEwN'W=U Db!iĆz*kT`+R1 Cqu_w>LO,Ȋj/'.cu۷ӽ 2;ΥGPXَX%iB{nh{ M}*j70ںkኰpDQX/Xe.uLئ4@KԢ>I]'O.tၜ6XB|2^U`hѱ&=yepyh+!yI[MwuuLLԩ4`{nMx.)mNR`WƋG}ZJG{hOYuoOlqڄ`D_[]0:tI>:\Lh3hWg:pJ~g9p7/eKnfut2jw:$zP;pP>uJ|.[v՘4P[s*5ňat-:5bΏbyʇ9J%#4[I]kOYsݝ$!)JE^AK 0U( pCT;^i3ҽ|UqV7x-bsZhjl4,R(ܪ cw)U]r2(S҈XQ7&u  ũˁ8|f2E?fO}VUZoVc?m%@:`sϲA4r)RQ(J12ǂ7MbL ]]]Λ8eE&`4)$#9:$0'_E݉C)[3e E%%q'P-6 }y -}sWkuJAC'y^3͒"(mPR [ww[Kp7men!X)t7pһ:ECE< bɘ۪ @+] YXaL$^y^dJr-&K [8*^Ug.ٚwŸh{-0Ȝe/"9Q3I7TD+!P#⇌Ck$<{P}i7~p2òjf EVI6d䗵`\C6Py Ջx*Y@8~|:TJ=rxdQw}O<+=Zl-(,NET1mAqHjCN3]|j)eWC7^kҶEJ;i<0ߘUONlYt8yPn|O3Un^}r)ϘAcE&K{g[JΦR#tY%oUq:Uy qUt:8AŞSwXRk$3k}ҝ z֞6ʑ"6ḇGfOՆFteEHR m_uIEo#$KcQ9v$YY/luDWY"J\Jj,|^(4"n" !p,I::]nV'Źj ]%MΝ_at\*Vc& ^!ЪD%sLˌ%مy@OG@k)/2 @w kA5z ]LڴbFW~*>cy*|BaNy *L[?Ƣt/[JM:p uDDACsg85e#GsQEaNx,DL4 0[_=ݲRDFR5IԽ0|w29\C?jGHn=4TW ^?TR!m_€a mA7P(kgLFwۨvDk\f5f FTXs&q.AU+u:$J,14zT@wmo~FmZ_' 62?XAa{,0}A]/ ^ .;FT~M܋{$%va!H!O5afܽ_&rK>m{03;mJ_nEV)M>v׋z 7{2nZu3K;6*ZO璲Ak90N;5 LnU\.W /ǟ5J0@&",L!(@}Ąz inŮMO+{Ro b T -.*@m`>RQbA1IF##K̐Koʜ#+nUF[(׽&@0`/sDWL KId K0緤Xth8kң$vM[׾DZRU8y7'cbtOʼdBf"cqһX_IC{=g7Sqg,| g%gZHUM{ p=3py }!Cf[rӳz(W`PA ]p2j//, oP%@Y$&N_5ЁϼW(&W!`"K(~ҏ- SE{tOQϗmSP6 ue`Mك8ʹN\(Tw~KEtvAJr8/锕̝;@k#Wօ`j h\++PيYՓQC6Pm%(WaB%L]j4@:U`ipEPڎ8DW(VM9痀Zb^*g兼cEhl–iQ2Mz'ol؅wcxg0<_('m]ip.y ^w$+?FjI C3鬿BQ)*TX ]Z6;vڀ6S]kEL}TrqCcK{׋V5Q3{ZWlԉAmw{E k܎W_t6ܳ#0 .]\v@O~B>|R&Za\qFH{Bw2T]{͸")Hmync' <ݛH wvO|mpӎQɫoNzbXSC]Ls+'Ńwo?p`zp4-jPDTYS" v2?ig&bV2;'NΥv92R|> 9_ {r@ftLO뇞83F"JNg`5v|ćt(>-[`71~/^3NLh'+œO۶x͍t+Sd'KIq(5tT&^?T,f6qZzܱb:F@_:/3hSV6!O`c[UxHBkZѕxLJ:{-2^Hl{~o.*/f`-t_k$1}<$a: ~S`f`\e愫$͢1Ɲ63M`ӃuMU6k8t0Q pêleEvLsGG>`>x[@.ee#YD8IBU+˥S""76 NJ*_opi8⾬lUb#aK3tbe!Yf!b!A&{Qヨ$OS/ᏜS5;X1E ;5tC$KE:Oxa ;TvDWTNjeD6\6i뙁 -n}چZ@K`-Een@.b185[*4V\ ʧ,V=*4XF2 "}T {ց4sz(8WV'^ uQ X5(+y Cea+ g{3xɴ抸@kw-~\=3J:7[+4!hu:;tIuuf ^p>TPDZ^oCu0˟oDžs2  Ektdy&)^$`kcv*fS}GZ"Y_5B @BQ*y4`D4_ O9s;yu,^bVbo>rSR?4"[ 9=]lc-,w .vCU4Rq97Ysk&]g]Ш ~]OfO15q[ qvce)@D͇x%π3)J0I<@Fc $Ώt]:B o"6yֽS`l@QS>R]>yGܑrPs@ndK!? 3CV8_C}i~_WH~@N5&ӗ]_VQ_$MixM˓ѐ.)0UGǡ׳`eJ8xc{; L\ Yc1ŰBWJH#~bie9G:ߩ׻&?#`h%WCӯ8^Ja_6f$ZG5Ⱦ<:잞 rCP h__sJj-ۣC;'QX%o^9J rZ5AMjg)AOyIX6O92ĢlEę*~qAGk~ZEPuK\2Wǣ9ugqMPkr vS 6\?8ܗICJHs`pl:4<Lc`W{ChL=.U?3@bװ@8QAdHqKQ%eҬ)nC=gv ЃUIu]F6uw3LMohZ5ѝ[xq"\ӵ`f KI&9`uرbx455CSY{GBF4|T4޴ҪJrwcQyx1E\A@YTȕ{D]a/?rsL.re tj})X:ӤxyQ6*4xHIzu ȇɃ=qg J%i-ɾ^SUp:D yvq0ƪ)4>.I&‘wF Lq0ugmD,ĎW"MFcS8+>Ym ݳG__ =X΢X::E>#^ jm[kjw剑=f;|nSK.Q!I]ya'z8.8u_Ϋ3݊ŹE  aM |aN.AU[ǞnH.v?,=t-f]Ρ~5:dݛl6[uDrCy;ٙ~^cerN%k|zVB&8Sb)g-˕8M4Ӥ]D@BM$Y:Q~??u?'o;>\CK{AkRzXm/ WM]H%eWU 0x}@3Lϭ,KM@EwHw*Md(-W^g),nl_ i=XKo Lġ `[cQ^3}Dzj:iݳE|a;DDV@?ߙ@ש{ &' fejcpODBS<ߝ(><'E `J=<|rw$k9o)<S\SF)V՚?alʆ<+zB $ˋzxYlt}%ߎi~jlnU~'` #X朐k= ًX}=~-7RQrXr]4 v;LJRۘ i sɭ 7l&rw)X}vWO);II>ULs&VQ]o)WC"s?NuPՐ B{̣=.x }R;X%#|6yKYh$pmFAO|}.֘.r*iX .#X SCl\^0R/-(54d5w9G+fR֐*(rMfuWtHmdC԰p團-3ΛhgNi[WWǝ*&ʪ' P(+ yi-Rom|$L6^VYjq~3jl㒢Jm1$h '`REMƁAQ>f ƢBxzXgoO؟E -Ёleh6[8$M&Sx}#J[\cAO%гӖŵzt~M `qTBq)Fʽց_)trpPԁECv3Üft7^4> my0\=Z= h,m0#Фؑ5F%ڣiUri`_ $)onӌ?H Qm XbpBd㟣p =@.<4?ƃ\ϼ.o+)E>i=]H{9$XEcoK~fpY)nsq^!\H`K6ًCN'"^MJe@L\"/4´xU ^$(46MR6Q*i $Ȣ@ 9@-;zvVpu#V1.;?wF gzvͭ1S[ ,l$h<(AAFjTF,Ve\,Pf始q$3Zi_ [ť žW$(?)U灐jQ_B/"~d) 1јaj4IFSJl $-:Zf#=:=3BF|"l$v$,v4_0# ݧ4L*ƹ(k!{ c.& 4̭46,7~ (ʼn-1&O퐽Q yXL(h|WfO|^C=>(\?9ɅsDgbϴJ+O[JLsh'P+-68TQr،&*I:0e-(X}]V/r!qC&T:)ő1}oA Ui&6a{s- -1wK;н>Wl& (gҩCwR 3**X*.)#zxU>'*a97@-DjDe=8ts^? HzѮp^M.ML,i_gsI"]ld7U=Q3F\9IVrP7Y>Ǜ0n? 2l^rVo`.'4r QE^Lc}RϠVPzU`,'chA i+<3#k7b󸭎GK,#B`6p?qڪ RQ XZ;D3P\amiyn:*x~[o++hA%X(bR)'dWnt`Jʡ=v]`5 .TIkBumRi-s>5ǚכs)vlX57ޅ0`4 @vI{ !//N-#g>*rÌV,r >Z+:fDk߾\7\AcQft.NHZڅV_@'adcө3eȡ1OAu~Nn«&+ S`%JVgö*cdkjf jH#Q\l${Kb p)WDg"Wիr>G<=rWEl=fNm=kXc[P\jfl|7.m܈@EC}%rzii@ u=!2^w4Nm{ed}z4@& N'pXze?Zƻƃ * ܄PU"/DXuzwʾ'qdC␒/ *I/uG+tɛAm63*%(gK [PAʌ.^ ̈́wKqo_%bg(Ap.DMyf,R9璃vZ x %!yN؏G&ڢLɘ/Zc@TlL=DVNN^xSk-v-li뭐,I^%O' [Ud[*'0{fh% \Y\,=BB^skerxs+H{ۃ;ĎD~HtS@|`o1rIa ]#DsTB? {艹*:sʵzl9ƏU.x XGe63щ`?MZ_ҖJ~i ᾸCO]RG2,`[UA#L.5H a& WrKla:; ߽ɕ~@qOо0d-j8_`B}s_VN,Xx>0U󃘛 ̡by5t–t孉\fJq?&=/#N7jȲF}ZCl jh~HҘKht S!ByMA*Tͷjaߛh9y"H%zGsCiܫ#O6k}5*Str-;TAE6udH~f3AKLPUii5&7Uq7)^p&,S9^%- qcy1`cjMrњD=lwAʶ*7dW6(c0M&u7h{5;vf29wðmR %̑0l?̂\yr:f{ <&@ҵ}FGtWd TGz2:d, E~U, G/i^X -^u gl)tK0=,dRȞh~h5ף%5&B"яGm!_GqVsoc& ZghW&8j1a@^pA;`OCzybCP~e68,^%5*Fyw _xv}u:dna@ $>V,$'yؾ+ %=!IdVPvfγFǧY좨+N2"96| $f\:;%>Mi+Z]X=ZVk[\֌&y!6I>YD0rxb(zCл'u߯5NUK_ 1d\ -nkz"ֹ4;d2_Xy-Q'i tA/a|rcC $ĸvRܬ_qCXrll&n^u CxRJ4XK!_*Ss֢RE …dJuizpTZ+xKc>#?g'};ۦu`l{v N zV^ai}]wR B_&Y!Ql^VR+ʇ#f;ro"Nفy u2le^wޏ"y+QS}4-rC#LzEj {N%}<(!aMẃ .fzxY+㳚RV xȶs7 WD0q1Ըp>e+8| 9XVS~}` 꿪䧵Cf1 bE?$^8],PW~FC 3օcYTT}?|!^Zs0Ʃ;i*̥ad3v_C Ƶ]<ˣr;R{)cyBFCDg'uOag@vAB>C(PB'ḘZrٖH^/V"o}g[).큛ߩհԀ GWVVv@J_s jO)‰*ch`s s3%IaR/& bD,w%]@:#9*puT"Sb `o A@/PjȱE\&/' כnԔ}h6%մ7@B86j0`W|Y3_Ng櫻mv9€U4K"I3ٚ(@];Z1~uB O^>x#oI F4Wˠ-,}-::MzED=H\X'^4}D:!}.T8`tp=rϰ4P(z5ݔ!r99om_.PsU2 hI.sctYU*q[8bUBj+PV0|`Z`uz҈0j럣T72 p. 崙&c(Ǻ;e?/y[t, KRucd׏&p&>8syk>l Kbmt6QO$5 ,jKDb kA\69 _>r~9%Y>-6ε9>j۞JZ޴:}arM?kSn!ߖ I5a*}ϣm8)Aܭ~ֽOU8(ZHk*QPҩ—\٧$,' D 9WxOL5n%xgJuU*wbR ݅`x``ww5`nߛ.+ fF}8J[4f,vb{݀=1Đ([.eYaA0W)MB*lh&< ,RM7iKօe,q|MF7 siîQ:ܻ@8R]gDgeLLe5&5.ߟ#-\ HDhbo-dԬudI-e2!\oO0],| IS`M"Y@f&6(=w50*Q|!*7.v!ZOγ+C䯼duL,%Z-o8LU`#ѕE)JG{UCD~ }R6<f[ Ið*?`Oн`y#<$Hﱝe/8(Ao8 ;+=83OZ:fÇ9F6c<6c'M ~}l1k6ؘ\ro)އ*r1o.G {`ݞ,?#uOspp]z\yT!pvU \푊i:r~q-97}lsq[1I&-si%9/D ,P%b~*'>eM(C _ $& T% 邋N\7+@7,&DfخUxH^‚!3]F" uU7}9Xp;z~YN Wchvm2N{BCK#8:`@No=G:&f b3 "u|Z2yfnז8]M''lQ3 hLӥO_id(Bl0}RUiZ^)=` TUXe$xp\X!^Pf "+]焲8Z;+.][qSաVƪ sw,*Pf,{q ȷiO `.S"U6].tDd/Y K[>Z k(*|`ѾSs") ,ZUgZhgS[xs7R=tVRoE}du~SXOؓBCFKp2UJxB1 x+*~NfW06f=Kb'/_QwNK Ulov_ZԨ1>bzʳ1UWG`&Fh·`lofX ~ L$ΐQ,37 dI-ٳ GON?A 9iWe<얤*~İ"ր!WsB%*ZۡGtE[XWGYɪ Oι2sC2C–R1N}aLvLU)q+bFG҈(]R‚dBKݹݷ;/"ےq.Ä>@uRa;9NMhmFUb7+t੣! @\S o^i@;kbU+7?)0~S5e!<j^%^W1g8W/et'n\m14/Mff+gK#1h&F1wx‹ucCJw{k*ٷ0ԏ9EI]5۫ }gM=:.ulQ=˹Vfî*w:+هqa½ߎK Ĵ4Yl(=؟ЋOj91ī86e&o7NdEdŁ444<@og%T6vޑ"Q Bר*F{Q:Z\r= mB/*Zq"c"{}[ɘnWR{(Q׮*7RgRWxs).g*~\8?ORLzhHB3k@nYێQ d )Ĉ[Y8f/kPLYUgCFbcۼ6T$]n[F@o#r Z=ģY)]o]HB\d U To+•$oRz-ysܳ5{\^sѡeYl5M`€vnر_nK~5ZH#)SπC1B FoׂJTYB@-gjo(P8ShZI 8IizJW_3$"T t5_Md.tBm6Er*hmpkY*iP;aw-03Pȱ7 u#:HnE[k juF\By48=h|*@r>HO_L=[l"}^>Mc_)07A әKP,xq밹jwЃV BW ziJc~;5Hf,1 QAh  V:RE}qB(YZcI aFjM:FQYjIR6|wPBdllx阑U fQ&Q۠ēVƞXVv/WpΒ:H6M+"9t; <jTZ'nWFAnc]K9о㭧>=ƱK>lj}[`bZ<с+@d8^,V[j3D;]H#g+뱭<VXc,A vqdTK'`bVjq/zG#IS]̈0~b '0.fgHeXw_0-C_أ.;Ӂ$ӣw8^z*מsoVˆ УUfPz4-8CKc@"wEcM p ڋAQR&GX)"^:M[ AC~#dhusl=bv(ugcf_6=cB^tZAn'rDj^<\yc-z.MO]P>S:$Tpw2)aYVU7T%@1)<2S!o^MzLB 8Y'ڹ7x0b5'Z ('5AbbO $~)6ΝB :EG`v$>XuUqYrr]xZƀCB>$[GE>2: =FD>!A|Lz"C[Cz7)AQH[D[2ۺN%^d*C{2MfU- Ugfk)9,5|b J xgPЇN|6i]8D k:ԗHi/M;H>:_mت:' cȣNTc/]0BbGZ0 |d("!E@m=}>dӸF@@tґ!qAژ"zV絳BcHR,R! VCu8OgpGi LMi۫@c,Z(Rcg5S%B3Js^ca7%JQG-?R< #rMzN,(nhq \#XsuP2`.HSwl@0IMwM7]َ愍$8Ppz[H r ^K8[UP^7-L#%3v]w9~vasҦBwdWnCll]Tzuꢹ!2` 7]0IQ-j972FY]O" 駖O>=uKN3K&S=*T-,{QNQ -uZ_2J>DI fPM 8xG x4ݚ*& ej($e{W, 9i9 ,*P>SK~I~99޸*JxsJ|ˁ~HMTK}Ɲt[:5g75zk9..&A,PB[ + ,96#`ur^;sR\jvp+^`s2{B?Ն'Poʼ/cM QMNdkoxK}tyU?r )okq-w+WކZ"Yfvݫ\%C7tU9}Ic|n2V*0̋MڇgX m1HiY<'cs&=XiIJp V4}X! yiy]ۙ} 1eQ1K *q7yL-A+6y#\ ^BPP9`^8ƻ0p9\o)BWg;Oͩ vF1~lM~:\!3z<5l:ؚ<^C ^]Hwaaυum 7غ*?%{aՊ f WǷ?!@1gN5 zbiNOY!S7]"YTal)mE2I皗7Tcn+uq>X.+tt.$vx_Drnhʙ>҄I=a- lmA ԣOdN#p-߳`\O CSk=Dy3Q>'\^6=~:nns%{(2rPY1t,h=| $娜FȔ5ǒGp6EK0u$"$em!ML{( >%X2.9kO3w3gDߜW}lOL hlZyWR ^8S(|ޑGx8>"ܲ__"R)9iuP#!uv~#͖N=0dAqm(lZQR-qPj.s򅛕>KAjKZ c+wΐWpfaCh5;̨0g*vjeH` bϲ-)'v8krɫP;Շڪe(0.$P@ BK)T0` d vQ%F$>42/%|PT[߄Qg_ f_'/sGрȠ̐ zo"LZm%7fxQuH/gx}6\OM>Zo29j7,Ocf(j0!+d O7 ܨЂiةzOUq>{w.|\,$SWFbeEMVn&Y\$t/Z"{xSaM7 ?iؚQ*$3iQWݠjs ̓朦 8(xeo#?U}\A9얅XDsh{ڿb$}|HHշ£?v׉G{J1B_g͠w9i6VZ!'9nZD4\VQ<9ǃ BnDC3a>^0x2N)vEњSJ~_q)(.O"7PWJ=r!GӌtOHK1{׻jB,HiUԫW ];8?uS6:-adqR">khК"xAǻpĹaj0#X׍-g!Iy_feL贈*ob.6y:k =/":oH b<ZV7 TRDUb߭ҵrr ]΍7_A6WIC7#_c_YUSN65OJaȬ܋6ٲԐI*=JxL}ۃ v]}k4CwJAb?qo:U}1-2:ERΥ^7c:kFH<k1 mfo|ݻĐzUm,Ud\P^vex5񟬓Cd5'l0?k̈́\fI2Ea-_˜+XS =Xl"MPY 6ӏ{Bβ^˷v{h6pkBr,P/a(DL5(F{3Gԯe(2F[)L̟'>{܀.R]"ŻJ kndSHD1l^:14oaSdrgVoa2nⳕDJ%)]N\D0sk0An1|:lE f!ԥsUukWD2)Ӆ $rlwڈ* 9~XBU5}^ / İ(kC~˾<'+:Hy˺B,3ڄQ^=,Xteqk0<.]!bi$j WO=q;桱O&lg -+z3-QPTh({TP?v+bbUjab U=ٺ29#we O}!81-׬Ý {Rꎔgqoğ\\7"kS<*bĹS;G!qGO.PwI%H 2oF9mh{{ن=} E$1s+OTKO$*礹уYu0rHrd, mRN~"-"^{5yVN0  =5iV[7z r'-Ȁ0+ЉmB(IUr݄{)X^OQ‰"rdP>40"UsmUvn2Խ*l):zMBlKeŖ?/;,˙*>AIgW&i&/ͷ'ψÁOb @u Rt-*k8m5a#VLmnEtFip9n&#Jν۱oE0F[`Pі ēS:*U~P󴢆NE.ZW3ψ% ;'ʛ@]oQ<~vKgXT\ ~Cki3l]DRJjj}V<%4WQ1%$PY!,VG) CX̭%ΔC}n^%h(.dU>w #S\}9+K@md;F7:u 2SHY@A`qqD"Њ 8fqr:_.Yfbscb -їQ\pQGv&D4V=l\Jk"rFfxk,!|{P>Hh́Jي6論ZJ&L!YSEfdq?x? K=DTkz͐C:"S-'{ӂe $H+ \>]Qsj8+yGD2Ц_~~` z_z>B 꿔uխ ,gTkD^n#4/M+oK1Jl˃f3{nb۪#P@DfѰ./E=C|7rXKh+'qk91LwYB1ODНFԥ5Y-?]rCEʵG H:狀2a$Ws|قJAh@zq,50+ug(a{zt4ɠ55%h;Lff%q-\Q 5H'uyK^m'&,R^5^[BA\ɰo (P?8*I+s(> IUtV mit%ha ڂ] &W7h`yCIPVRЅGj>;(kbt@%Ya,*NH'N^Hoqy/V s6) tĭr`-:]TG40O!"Ia2MV<{tEGsnz\4.6J"y!>/-uIA|vX1/&䬕*-9x#FxVwF57lޛ,]Ps.ODQ>hB,z Kf ~sE-3`gxT( @*c2DF2*g ?%n)#t)hܙp{}zȷkf&uHfu2&=1PYp]ۿz> [ ].K'-`z&#DѝKSPCIUYBnW)۠f-:UQ=!X-4/ .곽k /o#~dm*6cܴF$WLF6+f^62yF.¡wnPD.!itYe}I?z%"tupG e?jWc4ɾblen5S?XxеW8Rܭ*ƥ%gP[ ˅37JוZf¿+>Eyd?F5 RŎjۨ]1s~3w1Zٹ㉕G, ΘI$֠-y(ڐ42f<+8)Tx_`h a6|҉LiM)G8DJPJ2Ks+EmEq(W&_ 'WpL r7Xz 7Sy“fՇ;XϞv*Pd;Qn )A>4 }U"*!ۻ=ZXbژ{X3p451T=iDHQ=+N'4K>pxG*:4`c)nUdB߶ظ^py-y (9OD`r~7V$kpja, t f$͐0\/8 ( \}. .*9BjLjWgh"F`\0ʢsAaUCM.?Z6XոjiCcRU7:"DzqRmWQeQqjW:GӇ6|V-'aUYԢ7 .͉p oI #M@/<)Ic*‚[7>Ă]+rŔh{^upNG&,r??=@Dއ&&Ը"۞mClCQ`++H H.?dQy! l]g{S-Ӆqt"?XD̸.S"gt)}YRДs0' G.9p.Oho;!;eV=CSsNxu@i7`C:yuMNw:"Ί(BLYJ1[?pțuBY&5xFՀs k}n/TSy~==E+vDA [uT8B,n[Mmކv CEfΦ)0WQ|04N˨:f O9p97yQڴ [uP8h|}:u6u |VKy+qFTB_E;sV0M)i=sZDx^ߞOaK 0hhTH)i-g>LyfZuHr>Zjs'y0/$ rP"JIY#@-&K¾Z#;W#)  8bmLj8KņȈQ`A@ 4ݞwHHk#HV!lzTr zEH,8"b9/\jY%/ S!5*NJk76+m: +Pݿf%w%(:L8I!d Sij-Y}}h'Y9ú+r[w͌+Ji"*rTH<f~>kt8Rl&iI2Ev?umlBdy!46ڍo. 2%b;#!(,n%Ml20 ,׶ bkAA/~ibZ- =߂yE47 \[\-zrĦY 96 'eZ;EٕPb@$qՓM{SeA=j0jD/gxƯҢYiNj9yB2pOzYz>ɂX+Y#4a0LdۚU* b*߿`#MjT c]yR|Lm<J`鰤3`WObrH(O}uZY%IuZTAew:Ƚ ż{Ś%vMJ},:̪X7$ay![IsĹd+f߆ c~ nr1#0!TNF$98 ӈ1N~.#bJiAZY/9TZ A-ux8_Blr0ǻ3+d_?)9h@_v Uz%/K` 7d t3! _I TІhL )N z 65Gb/%?`r锔\ڲN"l7L# v2Oڮ «GOTa,76QDظYi/HZ4!S~~Oe ‚:ΊT4spaPЮOuدanӞBpuE'6zWh;ZH J$5W<}Z EKQH\'Ln \z )m\ksv-4j&R>tuD3Qu7+@9- I .6هs6Zph4Ps?6^_U;Wq/:mHɍ; Lr5&YRCoN_5U\r劫?CqS,GwPyJ|#)W Py`LضE ,B3!!KPDSg $Flh@*;ݏ#f֎Jw˂+$[dU F쎿gHpOdMѡ 8v1+L0v{NDl-xpLx8)MQV[񕗪l#)ܴ/c vfE >64@:LZUoZu쾼9qMjuvX]) Hk^$z\̇a:8|,m1 Q{jx:3ӎ/ꀆ~j^=t_ќk 5fӧRV֫ Y(LG[,HZXr`6dhk+Bڄծ V1fuyx.58%w J͒,̧p"cӜI{7 g)(oĨ{ur'x%S*DO{:B,ދ.8mG0 5߃|i-(JBl]?Dy7_YvĠ !H)֣Tm@dj}Ø:σxQGca18?eYײ 9`;͕nx{TOza2ypZe lNoH/'Ղvhٌ_Qcw` V(4j|M@( PH$v<'xƎ㕢HW򞱨 f͇En0Alf75Hk_oޡ)"ThMx Fv'WqUخ|a k ~:{,qI1ӿM{L Y[P٭ 8}3t͚@=XNG.IJgin#u7Twχȭ[Z1YDŽU7[b[X-¶$.ٍ`Y\VP y6bvP˸t;NXG p3ӽeXtڊY̮ەP/: KXBl']cP§\Ju;τrՖdDCr"\7FeEnյym4z)>?qgSHdZ@h@W"w*BX:/L(ȧS ѾJ'qB0l4\8(̗kWoc(+?=+ SŤE7?Q+Co2r_C[Zq'.ci%+xH 0.AQC1?o&qjҔus&ByP\D_pbqW-?+ʙD\ Lp/bQPܬDEuD+$IG_K$,(f_N_:L'GqNi٪FUH`|XR/J c""DG*Rf L %Ѐ XShPuWhI&yg#zP: + :K~E8f iH'F Gmg-%R1] }pJC/$SЮ7G;rxH}1bE]Вl>$@ Kh 7qk9@gPS'YdlLnԋۑnXXWܪoJ𩟟~Α Ӹ@UЎSuK0EWxU[R yZt#Opl~4A"t1Ј2Tr ojSEO?SnՖ\bC%Rq׉:;V_C?by|n? ,92Z'@nYzWl)U@OAw8GOՄsynǃv(1;qɝsW_g%x<$߄kG4Vׄ+d-{pGy0uDb نs BM [l5aD17V۬(`:XU2/?TywHrƹMWY ㅕV:8 J: cP~SlxÝW=#ikjľazF{:lښSfPG͹8M8Pсъع?-?S_V 1tmM /@^3GTa -#[El;rP\>ũ/ ]ze~CıܼۥK}k4 &P~8xUx]e{Apt0/ ,_Qb-A=WQQ^ .ШQyW3cFܖ*C5YP.ğ naQվr~RcS1V~EBq5T٩6Y  Z10I~*,Ւ ܒIb$G,uP-8s,*5XC5 d22ؗFj^)9.[h YU:\dg[Y7k#߄C/ñ<@9g 4NŶ(b}+jJ̰ s HjFϤ6\%}T~Cj4d_-xra0 0߬(C/' OwCOkdKĎ9Q/ٽ7)խoְYZ. <E1:>­87+HMmN\EcdrpӐ~)|yVh R4햊/ ^,Щ3h<Gα;?^R7I|Hf:?}ƣ]yYGXQIm>v&~P4bd#N|!b/f)ij%'EgM-gv_E*5cZh;,DvZ*F+ ]3M@mZ94:Bc 1jeo/,blh8A'/ |r,%RfSGPsᰀ٨|'GN1G ֻK;V?A1sn.66 Y26JG;P Xnr( >5S$@AUG:nL?K2vMsNkۈF8M1'-s (v^Lg{1HoxÜZwXtȞ 1u j!9HEG<-SNgž}N*032P5h{R{}-EROwz/-5ʐdTTK%ƒ0hݸ fY(%O{O9sU:E^兟԰kIdDz $qdkU`6k3fgfK Ea9H\LQů/dwg8sj_E-Ei480h8qGhf `a7ospԇ`C9,s=H7:(GE#T#3ZϽTG"o12K* iJtdT©g4!={B&Cx)J^@}~HuCPVP~t_FemH>k i*(R$(}skV$$ۥV )n(C]{{h~b΁D&SR7%0AcEĚEB tK]@$6nXvgM`0VGeu TpW#e5HJ|f5KLNz@GvG0 ZD 3:!V9[ KbIp@oK8ҏ[D⋧=c)D g}SG 5AҖM5wk;6u  0$_)뜥4<]߭[A [CqXȓ v -R+U+Dkv}7}W\3ϟ[wMMOE$|(]Tm8bCWCJ?RQ h+|ܓظ<5PHwvh Յy=8 =6p;dMiGDܸ=urX괍N'5Ŗ+##U8-;@JI~X-zZgu̚/^^GM94Cl35 Y*B u $ej -u 6ٴu!oW[ QMzqrIvobL0C7 u[Zȕ0):Б փD\$-ENy_32G zM3Y;_ʗ7MxungS*O M}Bjt D( [b%ӂ/ͶFL:ƨxU)[@vbj+%&$^I-JG}{MG*m 8 :g(3hlP+).Di&aQ»1 H'GyZ  K>)O"R0aGoC >j$X 6t~J o$pT`T~#I 욘A;_S>!?I\yЪFPb29QvJm~x6eX%wd0ӚV|P5Ffh9H=@ b=`X%$oOGZ `0z$ Xȟأ~%,N4^0V=4vK2797`FN/t(٦w*YSR8W@nTu!2+'c%!AW1ĤV?N{vMZM^`leg)9Kd9o5&CCCZmHiAںߏ hd뢜EǟoهÁ+%* \p R+(뗙ئTdhMWvqH g(<_[AR%L63'({ͮ~E̽ GYh6o2UIƅV: ~TB{C`Ԗer *~6,Jr~6:P;C炙o0ASk~*|]H>ēâQ.<>%^F@8ɍ+Z@DfOh'Ud(J_KwU=U9{&aln AL>!A SOk  hsE 5=IWV^>qpGG^fמ+UH00&d!HٓO2οJe"krEpaR#}S0&0`W[ ڨA?hh1hI{wEߙfخ@µ%]Z}z2[L0O_jb;Iא ;IR bx.:WeAV] *8AP allrw8*6d*Sx_ DVY̨FXGuTd̩L FUL!t](!q,TJ(@;ndI3AS9vћS@d #JX6~^6w#kav|<咗%Mjg GtU}ֿSY'\d H#@ <@nDj.d, E^aC~3/)w7G_<\lor1i؟gl@ &Dg+;<,O3)9ES9F ~PGaXj _ggv~igmۆ0e'`T'kax QZ[oۺc.+e#*6/t?.\/hj%=!!8z*x"Z5;Syvdo󾓺ĻfS~w4W@ L@*?z7h,GqSHA֞(Ϗ6 %3x4N²9CuU.>㽒@>MNc Dk1HVیC9GWb 6@u/9m_ˣ}O.9G=-+0G( lv}b]"H$;!~2|xGܬsE .,DhŦCW|*Ji8@"ƌ6{үV9ڲ7M(+b@Pۆ # Vs#ldkn[U"H\&YJI$Z*aS2^ J¿.U7˞L<|3ߛ9x>8쟅\A>䣾6pR9Z ;:ꁜKm~}B펂^I7>/wr Cw;SOcڅ|]IU?W~]KBT{+N1Ʊ.첳 2/|1C1MSeim+)CxRm}xrz^cJQ!RuEr +EZi@Y}P'S֋)Zz>,JJ]3v0eROD>jP飂aãP4;[Q..}xu({]\6<wMgPme'ʣp}<襈Jn\>&;Gghh?QK+I&C^m}[#Ā/ث8 ~Y7$3l*gq}oThF؈=77x,AYŸ(5tZQI)" .2e?YGW2J^g/{ߞӛx_p}>Ef,f[WI#Tz)UT KT޾@,#,?P tB]N?"w=4OЫd9ٛ.2rrtnJ,{]O?HZ(uUz%s&@P~ٛΩRCUϑpTpz޿L*(3/8%#T(aL"5!ҩyD)-N畧_'#fI2\Aˆ'ut4ߊ2uՃ}nb vЈO#ǫvpdG(}ʯd`jx*ai>ͯs<ÁSNNHztTUU=JGnc Q'VY3R\&o첰.^NxIʽ_BhiW&Q2z(/.0 g5m,-R!2e ^!Q4 4NDTyG)4 #|3pa_D[6ohk؝RX4'w U"4 KrHm[Cbe ηdQJli8!^p=fBŒp'[>0b:kQk%sL 2azuתG;rz uP4s'pSFُH-Ϻ^)*v\bQSma[z.5\]0NbMU.\2_ɐ%(MCݞq0gRO΁lh͡{L9.2 ZMD4zF#l0]i T~q~ey/> oagy0_/ {p;Pl?ӓ;f |v({D1EF4!PxV&g~Z5 tOR7ٲ๷L/!NWlsXY r[4`#y(=QR"WynC3`;MKw)<'Ў{xYCa->^byŶJNe>Asm:ao:: .6yR$Q"sT*a|O?k7Ӧ;;p971y.CUmyF F|Gg#s3+9;K,ﻱ1я(?_{I $O>/-(dw* smؿ-yմ/2L7Fw]BC*Wn J̗ޢKxN zOEMtEǵJd߀Di׌W'=X1=_5VrGZm[UD`Zzfq[h7F!0kЍy?]:Exϣ6 z%UAAiZ+Ù0Oa/J' =V(SM ]F@Ty&C/C2K#IĀAg9]Gj?:E${ °KS53R2y;oc) s46%Z,^GX ?UD%?(MU[Pp2_R? 3\oyh.kĦ(p4̖MG^▾6GJH|fN_c HiM)mI @(q%|HμQV K#oa%^3]EU6D #rs,uTdC%d|HpCg.-dDCb50o*JB谎A2eMCx=6ۚ9q/A|9yh}Ej4r?3P/L+0upnr;)'u^J *՛0܊^Z8kH"Ұ_1 |Bj ff{ZMoc(kG2[[~7yB^-y<3%b }<͢rUPe/;pbaȄ%f _`E9k8#4usHKH: O8FCFJV :'f0~VUȪH:# sl,8eX 6s,oa6>x"CD21wҷkIםܽ|'}8(7}H0.zdDZ ӸjWLw2RmȍΕ?f'sixƸYx@Ix8K,8Fa`gN̑-sB ~E "[ʩG1dVM T1]͌xHHl>$فo#YntK!Oo]ZA #;#"༧| Dhd"xP:h?6M$ɢTtFkgf{O& ᪵ 9є|&:80VH:'l.+nSrt=k4Ke>seOi*_ ͠Cy/m$KjB$H NNxEKnQa\xRIUr83iyʰK y'BytO|g6ʡsbJFA/6{0U-Z.Z0ج&Ҕ>A:^Gh|wҺ% WC% =oFzMfezʜ#/xuJʢ-"X<$x<\ʳ@d0S^$%:m=şmW8%n5gv#-od{ܩ-pK]F 2&Tjs%j~P8HTI2!]y- %?L#O-4)W6T96lQJ=P 1$L^&or%Uȸ@"xGQ)ʾ:º`!1=Ɗbq;P6o,Y:+Yǹ~H܄sUǻ\ܕ+mpxYb޸WN $!f=rVIp|$z14vYX.4.zѨ%iv^Tw[1y 6g̃mv"h*k I''&EjPZD|M9)tI #%T9Y+95mnO]A)Qgt@k0B> ƕYo횯RNуvDObt@(FXujʓֆBsI(vJeS#]Š5UXah It 3Ak*5U@yzNŚK/+[Jŧ֡Tqj5aa 9Pو[ ZI1mׂx!!ۍ<3XX54t|0./(׺6}9K΄6q V;zGK=-<;%*h2cb3V>rVaOVX//#?D䲫F/@1 uF=DM+XY1Y6و5Qe}1_mR.$Tu`bE,ƽp?~+6m@HvOTMscR]8W:DcCäJZ.ќ7Kl *P7/#WPlӆb/eA :^pTrǖvFjXj" `dK(ߺV VOqd]&z14P.6%z(B-_K)iCX1 *lG Z ߭*2GGDQͥ$t*5!tB+4ڕˆ4=ѩeEݗd Qc(l5/46X -8t"7W̎&7BJ9yMϴ34x"Aa9f&fNGM~53p" ]*-X2MJ _Z<;(\1<63k"ɷ),BKһuIs-䇿b2}PJpba]օ̰% 7,ٚ2QnӑHt'r11wERKM+>HH?T4s^FLDY>OI+Tu]@՞Fi%$$@oAp$"u(߅>\W:#{d*MyOr0Y=CZ& na_̸xN(tMVrH~N}*MQ|zm#A'/;y͌8Bq͈e4 C:OIۺߵؕB憒DGoYA%RCa<.44ٿAL>p`Q\P|s< iH߲֮i!.!K_i~OGU*6}OjPK-RGk^9(.z qyYR]h͗l 5 9^a\cL@D1j,Ơ=* & m`+fPNn|9s㵉)K=An@e?]qV;1>8s\]$_1L1VսWӅ39w6L'36N܃95gU>uO[J-2*72SiGraQoOcWsiP8ǡ|qL\.NEewӅu.rX {;PDv@Djm-[&lE=:[R|=eH}~X8@p_ O1{ִl619S8Q0~Jnfp/꣉ڞ7uΤq` 1/)f^ޑe;PVL5FwCX:TTK3qsNWW0>5"kdg$/Y;wB :С}L,mjyk9HG e %;ߤC"LFːϸq|AAJ}s"%cs˓W[k1Y8JR"$ջkqw?>K)rRTW5'ӳ4f]bg[ʎz)xCMФtTk72Xk0@6a-v=9Č^< 'ھ'HCs]wl\Qd6G%IK6qSSз˫'\)1!zޝygAj뒑bWg"S)]tfjH7S@贁bP>$K1Q oX_T?u>`R^K+Ym-t~KX}3XO %֚F Gi@x#~Π_^:P~o ٢)iۙbs2åwjM\() '\Ɉ)ٙe2q*(֒fg <]3ᚩuʞ*gx\5-~ IV }^P2x+apuIMf~ R|owvq*j>U1"πɻd(rFzx0Q*Oa"mcyk40r9Ceg;xGv:O>(P oXVxD y-pbK Lly:{סJƅ] "^W&Uf/$R3⢯og7NV#K Ez&߻H'Ϋv ^q1ʉ+2# Ŭ:R122zqqM{0TzeÈD~ܪq]7G"K'EoRթ gx8tmWڦb4oxƏ]W9*c5,6к󊓬xT:Aӧ/OǵI۶ hűSiF*n:>sG2R2DI!xP>2 ΒIQIg]ؠ'4jC-*D˥l"E}jH1 :mՠ]H tp\l:_V"B>kp.5EUFa6{ nOYtXR 6}wNrgƣCŤ5&FZePb0K?ϡ(j SZU yD|#ީ@]$^!LGې.RBJ-5Ȕ۠{z vHL/ѝ%ߥ-sca^a{W~RAnL 7'_Qt3~]l(Zme<)xgNLAz-o|/+Kf0wtM{3 0,!7'y at Aa +,)چ/V,A!x~ 1Smcu.v|p+%8J p\< {hRºcyf>4xE QVȡs .oOk JavqIPϗ;&]fcc-S3jzW^t"0aEJf6ҌσX*sȍd%ͶY[B E6[ UC^=bGB Nr~Kp>.NĬC,I8eȈv￐_9:# &o(V{p{+6}[&5 Р?kIvž:^47DhXjKbm-fFm^ tEwOK+=L7)ȃ03O!6eO$<糯(r*P~w|] /SE+DU$Y BY cS+F@=H9ţby؎|W@xD͢Zz߫`3ޘa8T ?<'O:icWSmQܥI~(\YY?L:=4;aǯ>䎯s""ԩvF+%`)c&}ļN@d_Yz-s߮Jt3a4#hp'UO heȗkZsI E-s̮boIj rZ,Coh5Ql:8 e%o02  #i-sz^8#4[s'nw% ug6qaXPgr;Axw~A2Ufȭ-B|D$XgvD/([UF&7TI5AQk=ip3m$4D8\8"kH :v[!'7ķR>?,4T?jgehR\p:T=WisX\&{&dd~`$?{Lïe[`c# ȅۓJ;*YVHRx:q5kAs2WCQμC,$oIգ}S?džY賸]&rSOŽ!naW9̴ۄ̗4".R_{9\*i1~ǝzΚ cmNY&чJ {s .iTndW˄5TK7b"HF|I(kT4`Kuc/DA<# 4c`Uhz(HjLJ{Ӌ0Oi(Dѥɧsd˯2?Äƾx8IiHn9!jYfйB 杆'Qjx2!זּYͧj$ɖhj 4^퀦n Sۢ\ziG J }oԟs'USϠ[4E-;|yl nR‚df(+V} 5߽OVb/5sT)K_ MVBgpsV c\t2mq uu? }cK*"l -͂P'‘Z;Yn2\0s[%'0z=8uh ZQg"m -Z1Ԡs3ZI*J;ygX9B9dyH xqS@6M|o=ɬC)b4 oKØ%N/ސRTGڣ2:n{ \ߪ <-~*fiGVw~H#UP]CT]Dڭm-%@%AU΁7FAc P2p@xn FC>x7O4˳;wZKm! tfòJq;r㢱"('B{ ]ӚS~[]NbO,[8 @tR&8ݻ o9[vGa-ļ*yvÔ~O@}YOFG;wڐG?" V}F̓;WMYm/ V 1T  7s(sˉ ƆDɺ<0L`p$8[ \\ME4kxqj' /1vM9)f] rx) ~Rlr3WQ64"ez㜖?BM{򜮎)It:REnxVL(,o7ɻ-Zx׬x[g9zлtm0 ]sS*t'NX͡nLmi]* nmc1,w^X"{]$M^5 /UsRuUJ1^la_`KvX=\fy JHs/I||U\?UI)⫹igG,{ : 8ET$B3 Y´W\9tY\Ejv&M9NS (ܷ)ɽr; ǫco~N^u;2E)Y[ McF3;PB:uO&l W.U6HL%*_.Xt Y )0iyzQE{ x>j`,pL h, C d$u5hxѨVa9|Œ9hUǯV}ɯQSElES'FB ʘ 1򸇧xu(VG\+8ԬawRgC꟣~*m*\4`e-c~Lԧ6w޾[62L"=+>Wl+' +)(G2A̔V?gQݭk/[aS8ǎj.DK:$&saIA-K|<(TztDÚED)!uv샶K9ca ym@I!5cH]FAjcpjid~ia^"e:-@cpZ7m`U ! ݌SB9vVev!&Ɇjm|G.K8pGx6.Xq+ / ivVfk}ygRd"7@FFWR:` g"0"Jl,:v/qD* 5罜ȪGb>0{:#Xk^{܄DO vmK3ly mH'!&ƾr}z  J!qB1ۺAot^ =O@.}N3*4=ܷp̺ IIHCw劑űInD5=#j vgb'm;W)/E 2MIqav:TW=!*QE\HeЩ[h"u=bP`^,|sَ3ͦ(Eu2ʺ̭50 MᲱ瑚{ǧ5ʶ@+Rh^]~EW^Ac([CSL&PizARmS|ɊAdCÜl<-frH!2_@X28^f[ƕ&:Ñ[iKx}5٢w-5A8ʼnJh@;aV%kH^:/\<Q ȩ\| [WzJ&4)=J&*o]' DZq8]o!^hOhW-DrdtU^B>. pMk-(eT BT]xKZ 3RzHhIMTmYU_C3wI>m!Ȫ(ơ$: Bd,Zк&|e2'(kum}⬁ L 5S]~ߧX;es\1S Raߐ}.k hBݽiߊȘYГ>hfɩ_sFCt.,[wFÇ ̃kHgd=Dؽ@ghcT}穝:bQty|6l"F$lYX3E xrAs1y]6.Ku^`:,9(N~,bwcPP̦Ɔ?xo-`%dpyh_2"רVt h#TaC[ K $k'a =rF0yeMg`뭸IPmqȼ#IpztƔ ,MQyr}-TC}hINIH;+8ytF4//_;ʆq vvD @Y%f%JvAJ`0~}!JE)#eHwN/IO{7bYqZyH#WC$RGDfbΞ+`'Rp|6A.9}~e++&r?QbbK4e'$xBJ2e)\bw3UI6!} ]Zig-;-BŕqmEPp|ΜCdϿWwb_Mzz3dbuZpD7{27 |a}0 G[hl$""w(6wm#$w)-C!/EsQ8GLEubOq>e [?ePŏ8q=Yq(Q'ݿ,Kᬠ"DF2xuqil;/|w{I5*ȆE[,S67 2ZdZّE^T0E.T W)( iS^= LSNXהkV-ΤpR]׍@â*E1uj634{4}YX?{rݵ#7 tc~OG &ekմnRoLzkI>^SGHlA! #;k_860 JԶm&>p=pZAm8߆{iEJh:q{{sTVwR~~96;0>AVR^zGH N 5Oajp'ăcȦ}CO5+ZM3{ǹloFW*z%idvI/ ]_8%ܨ#7i> z<4tDL]Uwv[(".79`56Ea$gR^#MqFA$9_(M!fiDT'j2JRz#mcP:MH-x<2 s\2ZUYˆzg oPד ݶjwrQEx۴4+ BC,.|pl&DYЅ„J Ζ8fBOPPN ;و|nF6qaTdpT' y1:XM>Ԍejd'@^yٱB ѦWg*ͣ+=E+J3Sy>JV@V3E: &[>vmT o/7(cY$o5J| Ж#k$l5F~{&.2|fs{g<g^[ﰟU˴q;աkuw&މhzPfŲo8 \Ziª'uԘ1(<0]OĞS^\ @,l]u{GCKda.fk!rVAf-#ud!lr8@جuW+Eo=^kK— к0sFCI> 1KJF0a 8,Vd6\e8'+ZQ AW`.> ml !ET^y@lècOsG; J>ɀLpSP}/2ikEH3( ͌ Rض/@;d!\Vb HG0prr0hU@U VE79;?ctRyuC[;/ )*~M J %}2fG`F8 Ob[d3qLk3Ð*DyoVa~qى  ;AP5P_6@Taj /֟uK_GMYVvBhsD .I?0WnUR:]Ŏ<=O%OvDԾZKHs^ "!@LJUƵJé:Ћ ϩuVY"C- ȉ%$?~mlѥ{YXi1DJ%#ƄuB"ɉ]Mul։g[r)R$IP,L@YbLuro kmiqrW$rtts&v2"NyytӀaR1 u}jŸ C9N2tBqv24{I=hQ?~^7җvpZ<57;s FƉ;:az n\9:V`/}(&Oq;Wq[;SwTѽ 5|vM bJ5}]rͮfޝ$c٦ ]L֞ Xs~q7vL w5}X|xg!.3aKLȩ?w[bǿs14 67Lƶϑ:oTRhu;E3dZ3Mg|!ts9H%mq_H<Ԅ0^*M]QvnS|Vb[[{4VGć%F|߯0eJ92`{ztP'ְnU̅)x5GA{p;,&2 dlnp^~1:B+KvEb67K_ LS0.,vN4EӶjcQ QB,T}f&kuqHr)U)Z-e4e Y`4hUËTMc!VMrxR PLa\dx? u/>VJjr,&7M(uUϙYbG[#F'ӳ ;|JtQM8 VJl$uښ,j)zqW ūٙ.&%X;H*40ݻUMh4ܻRkhxck”ZoM)º }s3Tf8;r#da|)n>~FrH $AsNk23%Q"6>XLl,N%tccuBIFcI9c^%X040d(iPq ~``/0%/uw8!lٯ/>k zDR~RlS0+d$+&ܥev›pWX.2jk< l'ϳ ?0  "4l;hZ@,g5D2HY9b?tPq r7RNjZub$VF k-Lž aΚ҃p)~hs´ jT=@ l\jW~ߕ}MzPPlGP(HZo#ntmƔ4Fdk(`,It)&B8P_5Ytz c!33/cn۰f2ǝ)ό4nA89wt T[|Kp1^эK=L1 G׶R:\xFRscEũ~9%q[B (0e1_q> X *k|\~Rf? zi/&/9@ݴ:J|ʄbWܑCŠY?#JyA^mФϛDK䦛{T(u HkFRVzt wruQ?וkʪ.AeDCf_NQZаgGn(s۴#t/W 6nu1T#G-dkH)~򚿪_.lS>7|-P0gBGo򫅂ẠH~D($݄7x _։j%}r]NV=9r~ʰ`E\gJlN3ڽ˸6ѓff"ȳw/$5b$HjL[C_M&͸lAa5 r5\@v~",v&эF F wL""ȅ!HAW!yjVQlqfFCsd1fIwJ˙ᦀXA)׆0roQO T]ko kb4HYOclaɮ-ug8ɡrڟ7zZ'QdagFTxc2a%8+Z?ζdsQw U/lW?5 ]h` Ys(ա{nh#7b5IpO=Qg䇰_tJu{-hE-S`KlVrGD$PQA P^TvI`Xh?"77!PgϪ͌iJ Bzޞ,n5=!BN(ޮ٢5Gd7ŝtM7-@}19uE1'8vbbQ`%`<<_lM@ +S?ElJ!\Y_̈́h,9IX LRgt7nc(&i{E\kSL@+5_FV ; z4`B3r *8搉By[R\D&vwέj=U?:Ndhj]Ǽ&q^?c0v930B./Xwj0 T󝝺6P)'Ia"i~͔5\~nBqFy7wȬOf7gN,obBYg?^8@ A[9%yl<̅`ފPtN[沀NywE5"^\ͳ34hiSqN?p.χSoLZ-ϥ+>-leZXDji*G2AK553u;O7XQ7A?ͬ]L:5>^i2D 7{/rr3}LWB667]$X>%~Vm]/fηaBV@F˵<]bۨp#eٖwKno~',ޱ+EfUm#!ޚx.C輁\vŷ"Kk$eiJA7՜^1,JRvK +U#cf[kzy_u5*\ɽs-.Q5xRL"հc'dٙ)͢o"3~ODAaMƉ3Ts2Pw)7J]E5p%Lc]0cAmЙ Pʫ/ B\ \o]^A#O(QV Բk7/m "U bsWb1`f%ޤYhFcy~k}`(U(]7Zp|)3 3Jcm˒tVIA[+~g>kC2mYpNcÂ>%8}@(/0\|kH>ཋ>}NvZ#x9Ɇ"ĸ0}F׹d6kg?h?{f\ \y{#)z )A|s#KNm]#%:`μ["sw4O[mSNH\Yi׍m2x81^^\#X-^p#jںr܌Y6)?`G3O.N#qw^0NzHݦOaw0ߌ{֬T̅8fs)7LR;!42?5S`ש49@ ο̙VWʑh2f)" +IC.pݪ@5v%blAco Tř]Q싖^+4{!JGLKƶurO +CV?ʾa(D8^%ۓ`ݙf`EX]E@DxڃYB!!rKPtm -96uLbwMn>`u2C̥Dzy a+W)6f WD TS0K-նؕN/cjkRXLO;VZ5=!0'rѲB~Q~7+Ek: z(*oK^!BlU4&bBqypKRmT M|Ҭ"T$oV)pՒ~lvɈ'8Ͼ<VmpJWJldYȂb08#ƄoB<"Z*tߋd$ !<=OoJE+T:Y ?,!#Tc" )"-$QN,$(ٖүXƄ(Pq|/YU]:>&;nI+/\}'JS4i_woPSC!uxT,Z @O!-*-=ZVF QX }0W(7sڙ>`lx@\7,%J!qcĒ頾dvR^e]HmGx:#HǔPMG=iȑwۉBZ m(~CЍh=6uϓҠn f7]oYE3'(UFx樫*<&0lkEj;d;!BۃdX:d0OX:y\@0olCbJ`K}5,K ݦB>ݿP%!Q[nrjID+mIM;I,6>!D([} R KTƀk&j|'{:[AtvuF_0 =Ě6hU)W %z%+2o$ -"[ _4 :'GfrlҴ-zfȓO 3OEH5";#Qt W\΀g+ta"H]3zf䴙^{'=nQw uII%Ca18uo/ _UB6 ]siq(*S=ZV۸Y`S,oAi˦rII冸HVT;< WBՁw1Cfu0dhō@(~~_uևu?it(1w/.8GQi?s<@ dՔr ^Ңͩ]vD'{H5r\kՈhX#9f;O|NϠH,uA;{@E)N[Pr HI5 ^xiT%X4QenNC<񛘃l".z LXz t1ͩ$J3${/z%[6HHjy) .G}jpnVl9TUQ[ms law'i?q;D>|9T mUoRBYrs"aT[d">Ec7po. Y\1Afjlz(+v ë$J־U64@K}Ʊ #knyM #Eh-J MBL-Ll#nVN* L+zc; ڮa0I;sbs ]&$*PjЍ-./7VSϐt@)9 4y~#6^-ey"65el(YdTP\J7APT{>EjQRpttF]C؆-6'BS'.~$h4jԂ\UM̕cO TF{:X Adf#P=Rl}aK"wHKZݣR%/R}]X 'i95{, (&yž~ߦ`yI.*%{R˞[ >('A?'<)v k'(7|Xϴdb?X'.jB*-ߥg6$9;˚!T/1ۧ%ۤ8_EFY[!Ŧ`YO~Hhf<򰀥d ~6؃|vaʺ%=d%z[j7]%pݸf Њf,A9(vN!-:LQے5(obc2NI aN 2^^ sUv_Qb0IGȁP}[ NC-{?>iK/ʊډՄw\왦C @cv.TܬDY\:Ea򬭖toRq:)٥ffX\|)V*Ue,E;K{Թ^b)hɽb7aB{S*2'ڸ? Sl!& aa޺6ȷ+jr -y.:0+5`l=bi,2t[FO#Ni-[ ZҠɥ1MO,4Dc7tFm 1eeFn{Q,` >HHǬ1oBfJ@в"(/{Jrj JgqSFz4W\'Rgԑd܍oSuh\*X ( YkMZ[{m2ХPoP|a&Tָ'"M/ Ju~9N n?z RJ]TDԗ΢-QE؂VVE|fSH0op2]lqO<^P<}*kA4cҟܷ>6(RO $íkGPӵg[ͱ`ud/]2VJl q}7ƿt#v@s <]z,>B<Ʒ ]ZeGHqo<_8;DĻޭZuw3>k!`IS^ ŴqNotRSo?j"ɕj%mkmŗ l{[M2ըeBE/lL2r2bB^0/mx2 ZUC [.Bj0BB?ܚpH{inϛf]8+e({[S)c0N?ٴ(vx&2*uKc?xN&Ku@OS3aFH4Oֹ Φ\[Nr+n wf p`RN\ G{PPu}GگY1 K,@_UeRwO=uw(+8d7V}^_cҫb%hpsIc _puĮN>{2=r6 t3r"|k2;v#admQ3,0 -"UQ72EbU 40$OOІ „/fEzb{AN`Oa RUcjQxu1[wUTюL%a,2,|}!)AcF#0152k^ I>v},i'{+# o@8| uQ<-_Ti t$ܜFl?"dg2jxSG<|#,CD%6*BQ%l48kƔJ]Yq!ldI*=*E/fFn!9OA9>Ry= *5&5+OV%B<$I19ȢpJ@أ>FuB#>RE6?ς: ZG,Q9.Q#o5##vJx7JUP@IunuݯI|⛕fs_~L3jEe,!uoɥ9{RU V($AGʻW+p2W:jǢ'H@hڹٶMCe<Cc bglkA%ZYjRFǁS,&(h~%ơ(EAyAU|"j~JAi(/h:Kx}e(j@ųGDCj}7ؒ|YN7+H bfͯyo#sH<| ,,l;Pрs+D؜=}ՔTU+0p!w`-+ګvd|R2VIccys$c]Kd|0`(piMQ׏vy.8xf'a72zWDZPV^YQ(㨄 >V7QzE)HM{P!W/)R bs;; ͭkm%/_vm[i܈h«{\k|/#kp=|vd:m>кX1is_ۏ-C}u"`Y!R5 DCcIyv9QIIBKfeg?ˤ~]EJ{Vם⠺[-V`^Tw,廘ka Y h~G3˧_%:7)@MPcoƬ[a˜'#MqL87_:c]96ZHbl:M(ڏiOB -t>Uz"7Zժ.$?50zSͩ̃i=LV_5C}N1OPׇwuһW.̍z8i=k+rj:( w U\i+>-]fPO$>8+06wѸr(=1eŻk],/I8\cqd8X΂T2g7_I_~F¢A-9|?7m34T\f_x6Y*_Ox=`Ȭ<ŰB.Ke'"}rKvN&D'*]la* \RnC[hU)v MnID۬B9"Sdx4fzb9Ad1ڨ?$H3ʵ;h JŰ>X;/n ?n(?|I@ V6 ࿞_g!rF0,9P4fṀg`W2f%>\DrMխj*5 lX w<*jǜ;-b=j֪.:6$F:bTX)K:Ïus$8M}#2'&?%CICH9R,c}KGe-8—>H_73U!NwzJKfo W ާ$+۫ |p,>7T39Q )3mtC{\u_~P}7ݮDj0QmIu+/䝺P뺊t\5r* cf!\BGWb뢝#P,[N)@mQfcݦe!tVJ?>H_T ՓǍ,P”HN1جȭ-P~ǃB 87S@)59yԤ&kc j6yښ{B _ڐnG$?!#̔# ˜I~.?25>T|b΀u4iD{n?*1濬 3<\rU*x SQCpmGv]"t(+o&Q1#ᬽl-^$|}D߰F!i(|mU~8Sa,\Qf[/6FࠎpVYY+}C1!:'^Tɷ>'Us iP_}YPNkTZ~O@>u#nQ20AOBzHey7p-1Ń19"/$E8 OU \\ߍ4FG A^ ` ~8ly mC$rA*t9-Rp1K8vZnnBS؆HUpC-RI.]S7agSScjE^a$$D=ZMV DFmD|wUDlq-TK=&A3ܟxE?՜U؅]'"9CwL.Z.8^=-Em/Pt[[O1t˅QAsX3quӘ칙mCzW}/71z̳3ij+'ue'R[O`"Vԡf߃I^l&@=ؚ bb1PX[\iS/LuB(3#YP.4yڈJI\̵jsBeҙ׊riГTv,5:01&^=B`L8Ae%{fM؊mv47y>/>rJI]2NO5i*?Lr|* Eo[\m 7zȔm> %\^jWY}zf}Pۺ(TYd- p^pm%N [FhQ߱B| ^l}I:,0*zc8KU"*Pzvk?ٯwyAG@!Fyey~0.Yzz qrIJl0izcd^xY*5>^͒(n[@vЅ93@X_h&X$*h`j_1qxԒؓ|2⩁VӺ>jM#6ψӧ>#z%`CGO~,'ȧ.akF^v_=eo ԧt7DHzwCL >M}LFheáVΊb>?Ġ2uTr1>E6 sV񕛊d_3}!il>&zI{% 'Z]v-vBv/WmMiP `f7Ή@d V cY{@EZ^T,C msX^KhuL ?֞lK0+|c&w,4I-COO0j峕Eb4W&O}[JPr3`6.SwO˷]fnf Ts<=\B36+nn37 0(7bmC ;Jx\KVRZcw]Fa˼Qő4/\@Hs8#'0(rQ/DW?.KÞ ɥ1|mX⧐\tS ׍3+w}AV]CG҂ST#h[$)Wq-H=./&hZ#4M87ʔȲ;Jj_0%%]^I8HM,\Lst_&ىAWU^RF*KIu"ʚw? W{GnE!=V5xo'D"d&*v3H[Opٱ&?.ӶN.;']cf` #UX~x=`U۹ ZdHa瀽ɻB镒$ŰI$q *;{guWtz~ʽ^9?Pb`/؍r sx*<,yF %ް0bfQaЀ‹#ux֥>f1u)W<,E f4Γ*=]CUxcp[C% ZvAUo&JfzňLetWduF&HP#@8`{ ?1Փ$r7Bbqgb6R@#o2uJ}Zͬ]GPRg8!_/фuGߩ:pUqۏFƈ|N+^zw\L09(R,\WLP {1{rZOmpX.~!yr?Y+]Bധ[YkqR׊Le^G$WPI/T-m6϶YS:مW\]W KаSWmb :(;@Y+~ yP߽%0H,Y8<m0N}kb-vC+N* ӡC7P/͎. p5C"q-'`j%6*ݍn:߇nA^&'HGD{: Pi;(ܽ+b-Ԅ x{ oQkx%B <0;xX\WDtˑD1 `*}a8EF0!8-D _ŘX>uDx'1'QཐYH2}yTM[Y1OK ~BTf0U}k MNy}IҰiTbe[kJ̧ [6;'y~Ht##zHpvg%{9'_o;ul.Oze~#@?Nh`Df6) Z)9KWyh4G+fi1gCZ騶% )7udk&uuS$nI:(Co C~Ã)2P! $ ?֝e:W BF\ʰs/ӯ/`^) Zo)l&cL rO`tHei`ۣ@PF9~3mWD02#/ O1_G"ޕ~^S kq$\i`S۷*n0fIknBWUS.lRP@tɑ\:(hH\ /dX_P[b8GxXz7`Y :ʔ/Ǘ(I-$<O1#_+;jtǾוЛSAcŁq"dYߋVXnk!K YRuGڲ $řrz#eG09{Net텱vDpXu(lC{+͋ά8sTog'KƢt#-#0vܘl,i4 İN(15C jcK$BqBNҏKz{2^M`Ġ3}زL)y Ej.?8`MG۱.K54y;|cU¿g&lZFb|aҍe)2Oe}#N" t}Οy\<(nMk+ǩN{ hFʷI:jXeѶ)o){*gԍ$Oȹs_-TNQHީͻkRq*bi'-IzHx9,0\ {Lܠ "<١yBܼ Y<_yn&È$DŅ>_b1Y3\_hcOg هLAȾ>?S)wNRw_;#e^M1.*$1:4E?/VDC e[Yc_OH麦5*Ze_4fǬ-x*~wN;ђcB퇢8("JȷLRt*[MRƗ4fJՄib_RY%+~TkNw4橌Ofu:޵|W-bט $yд 7tdЁL '^EMVDd9FMx(R#5wltucjy4/[<~FmT!3s ϮDy~.OغJ2H/Manȶ/9N"WnҒ@BnKO1C=Z` ߟsIeLd^|xQkK<\4U"&ar6ۥWרjsKY*`TNǫ,s#,3;'^V2 a c 9wJ٫PciOL|ARkd#tBK~B>#UI`mTk&WHb@uf`CQ2zv(Sj/}@Xk97I֧o~O;xղ̖4,DY&ٽ{*A_?X<W82&NҸz 3rmDj\TEXњ@aL(rE(d #{m1_ kՊ5m9?l1Pg^>-=1I)InZ6/4/?-2bɯB͟hJNkieK=AםZw.bݩ\SV듪ČD[ _w.̲C,AVMs"qv0&$IZ,q("q>$fz5 Ws3Z1Kb褠?=g(C b41/WKG; S+È$^762 JY +?ڠb|QI&Nqpko$՜/ExVGߦsP e;V|v?ݣ/?1 7_gbdi~[dv~J\H/qϙ{u|JEBm2s,`yƝkE߶XV2H|}+zӫZ9IG%k&4& WST0o۵ehMbWŴQOozl ( l>_9L|j8Üv~킟MGzz& K ^o8swPm#\a\GWp w$swAD3f/(unI?{%͸#h&%5(u.HfZUFftPo"tli9Fa]A w0-bi/!vLU+ ]ØAW(̭,G?Bq6pfmE)< qFy,.O$gym]îT"˲>7Bpb6PЄfrUӀn}Ay-#o u_3SxIݳGKXᠰ" Ny)7ނaR”!2T`43ՌUv@dq}&oA)FcLTi;X]A:>އ1бr h]Č^AɨQ)ѽ9>}_JoX %?_tu+֧i!;gy"zDCUEKqk|/V#oHI0gB0ܬM`%٢|`^nSr-#<8I|0uL$sdId ѯc4uDlǻrbN?A\k_F p DG.*1+V( (WBcT+d>~ }]8Ő;-eZ~U=\|8`'Ц*#nZ8C.϶ v+M֌!"u~r C=YX-eχgռP! =??BeDȈEx'QB r/3 XVy,KY>c$=)*%(VŃ?F81̗ s‘ye `f Cէ]=smߞ,܅^ S]T A~o@x9x42&g|&?C~i/qw5AKw wgϬ@E9؃À$+kl^!jGZ ގ3һK3[ߋ*!eřеȟMqkH$*}'lB{u OH!,,0i>6U^f->Yg]ҧŴ_Z2+ltZy@93~ٺE"(1[0K X dMG2h}u.aRr 7NN6WXBw`zǫ,Mm3ԡQfþ]&VVԄ;~L,FeϻO|*Y=%l QʹR,)։ӷ Z\m<(9hx8 &@g; ea¶^'68jϠ2d}!Yyé:4G~:^Fc{S qzl$4GjFoh!p)0nĝGc"G.v#um?#:(]A"<2Z's9ᬂ(5?tREG1ԍ) YB '*%O򓢎!ygK :UhH +dUZaY ֽ/{T o3<2&'0-zx#r8t^.L֭2lԝ5׸ +|@nS+%tWwDHs 8 de8υE-'Na2o|? 틊=j j\\WɇRMv2~tjB/!l;=fOP.YB@jsD-CNMVzۜAB5WP ;hq SMD+l 8(±_GS(L3"UO갲 Y~qv-thC+x{v Tゞ/t#6lp(o*lq:xa-jLСFcltZ(hNOx+eO?dBF*vphv|ն;3kvxLp^2^ٮIlM) %`t!yT̞cQ ֟ Hs}u48"D^m"66@Dz}d{^0/P@z#""1 Ȭ̴_Nd۰#_@[8ߚhOe% nZ/ &,UEfCrيYvFCZϡm n A#vSh&R^BZMwJ/*mB0GRZ]}koN1P[͕m-߆Dr3 /Y*v:&yfwjC(JT}lk! |$y.^$ʥؽQxJ'XjFGO8l8+ƾ)$@r_w%+ЏDm]$G~QAyBRSRnOhٲdZCM_n'M&{̘"*L>N* /+\}j_iR$Kdzơm=M{GSXzV}-D!LeeB8{Ђq*DvkZ .Ch8VJ`uyߙBGs!Q,ZСx7* LbK;_x8T(d.muk@;DrG@^ѻ%], 'F'Q2ms3 wfDѽ}Ñ<7 Eym NU:$oJ NۤERhSfذ^"ފ7C%۸95I{luK<'z"m9!IgJ:lMu`*lͼh1q =YY׀-z۴L ;%:X/PH]!Z~QRt1G(ʲ3Za¡wK5(JP${4E0>'› [|zJ=fx%+c7=[r[>nAVA8~dDbd&i݋Wtt~ag'h1+U5Cغ:6_ LaiAS4gC8.m+#ףę?g΁];]4/<䴎=xΐ@Uw8À4&=Y>Pol5Bo?UZNN,*X D`h {vzDk=vsڤ[`xB G$n,4 :B@18EWI7XcL"嗒#!=I"߀hp@7Ʋ FG@xh"p%v*WǮ,fӚ}-!4JLZ=< +`y0 mױ9\ <+ItTaeMopyՠiM/e/-c49JH]k*QpHSrE_6=V@ ƃJQ`dfz%|]坠1dzGKx=KSR.soccu{9g0.V\HTYM"uwgdcMFxϔqN@-seDl2oP%rCf]bb9Y>źMм_2cd3b`8EP*)-R8>6鍅#VE5?R.9M޶Dxk1ÖyZ:s#|;^-Hh&qC1k!+|Gv1^F+QNpXWpN_<[г 4'Ww@ȌX ۂ|NVYⳓq6f-YN+~ӌD!ŞJVY*UJ>y'ޛܪAM'YXdhFP"iL$W- 0Ʃ{Q"GSQz֑6nM2;g0t@̪x29:窀Jl/D^_Ԋ= CtcO$i+-?mj7K _`e{}p*^0zF m6?~W7wtm/ó/z״tsFLT$kII&$j!.xZ"ՋS+ݿA d}o,\.}wL>>Z]08iS?럹i5šf\A`n,K*.=ߎ78 Īe u$%" xnbO7|"F.D%tMn >K!ԣxoʯPzY% H2Un--R Mo4Q\l;d:΁b:; 9T#s~᚝D%T6#'ybV%OGJi!DG(W7N[Q2(ki IsM: 9Lho)tBcq4Y7!Hw|+08EpԾbVg,}gl二C!֕1pE" ؉f*n, L(J/#HOj}=U5{~*N%[cK^rl1F=lѰז:$!x|| "M,&Ӽ'E5vćSrIiXs4܈ }S x>ف~َMœ|vX|39|Ab0@¸ mqGLR@J: =?l.Zpz):e`39CZe8\f8DZxOb`%|RM0FݧAfB|In?׮5ZLݓyҀ Ѥ!Ԋ˫ Q;JI:O $ `_hZ'ndӻ[2h!`\ gb8O'Hkn0dΜ}TS<(G|5(VpK%J80w5}>3PM䗶b`{iVC|\#s ŋnW= 2g'atE yI,\>r1ud,EM׮ֆd]=] Y'm|uyLL !hAmEW?^'Pg$|ZL}902I!gK dDUw ~uƒ\Hn%+1&YʽGx~f6,_icTR֍J:D/U#%nǠvfo^ (f7ÐY. kfe3${!t<D&v;C kEtASv\_3uz]_G'{AՔ@<ek3u=jz=9 Z0_0HcֳZjvvZ\Rr㠛o[߲Ql6Ob)RWr^9hJH^W 4md l'(77݉obXwNN /g)4-ʹH] yLEhF1fL=d5!Uy Kڰ ,MGA׌1rIX?]# ggEMM)5\ЯM:Bc!gayO_a͗ibŚgb_F =Ows=f 3KBݬnv:VN*m_3fƏb$xt~mc&$n\;>nNeF[@̬3!3uJRu)XXNڄ4^אF/X 1NAf_vpAO/t>!./%.Hg,β NjL-,Sf\g#-nfk(PPo5!vlP,5B S$5ku論qh흫 KXFMjc6HHgUz OQ 'ݾC៖3`{_3/ xoÚ(w%hgYYJÚDx@l#-TIQ^C'as !.yoA_:/?Dq|p~'n"BTь "?JxiHSW˞O!qܹ٪&}&.qNAhIDuj2q"3RTRe>=#mJY,EfaEklZ̎ /tx!!m(dkKXA;\aӆo d/;oǏVCd'c'4Rf`t)p ~֐B$5D' & X#GC$I-ȔP7Ϡ?U?ֻ 3$(z~y3BY~;w?"<^ J)?TZFR>5 3|7BȰ9`ATЩwhr6d1uoL,n"B\[ïV qHFvG?%P-%(J"4lY>SmeF-*U[zM黤,U^ԵXՍp`#xAeZJ WP7V"}(ϳ:9.<~Rro #3-)olb,- .+X\$|32+lNp!KTB[ SjpM(|AA4آZ9^Z?͵d*[OS߫&Ҟ?RljaST}X+j $<[̌,IJ"K^H ;//|4R0s=J#H}b}fE۪k9K8;|-q K'&:z_`4:{[)j}agǻ#Oypy/>J7=jQ>v@W׸{9wn+ s@mI5VV^{6y$_#ʀ0oNTҝ#Az)>u?i~\< >];*,)P'jQ:iiE !I]q=U sK*'sFoKAq8K uxrȓvR.ēn_A/UFȲ# _C9>PKŋ. lAPpO=/3inƼcf}QWJcs JB }L6#)ʠ j` 8o#,LOt\kV_L79{*lY2-@}]fSb1ҁ)fɵ)T;=- -`}e̡( \'f+%WHReTƇbfaxGdz`E(V0zbmCtS&#@|:v`֪D4Xc Theʁ(Ss^ed[ R*0iӎuʄX}fmK@eUe\"RuvC?e!Ou̍eJk#> (0+ (d%:[Q+CN\Q>z P0s!&dwPu|-;BDa#ӣ_6I?Hsۭpp}$B⵭_=:St_$\9=d :w_^Oqk0 >Gzz3}Ÿvx%/BSM4@/?|3Re\x=*U-S:v򴍘{U;_cTeХ@=vt{8{I>,xMf)d9:A z%s!z#PW|%)D6GP8E2V؉!=uY#>{HfWupe@ VU% B2Ю/O0z=݌$"Q^&Ur4m=im.ɳ&tהb>Ä5mVWAd6nkt C(DX3*orq:0I]DDd50H#J0+̢ 77ۆķt$cH(mͻGIݾIs)[OEy|>kW3%s܇yX\hK2)p[Bըdpv[?Pm|#?ߛI?P*:.Vmqim  daK q$i᳡ Hri1t8Dʰ&ч&U;&A~qݝ5rh#*vH{5h~ 8hc%rlx/YI2A+(:7?Fkq{ёSgX  uJ#vBqqO3?6-`}U`Uj[{TBp2v|;j>9o~VƠ(t`u5ʙNla&.Byb8~ԳjQZt=6yNaa8k _~Hcb 3o#DA$FBixX߄+?S rId&Kl"8&V+[+&xkrΨE&RKmҊd??Bڍjǰo#Ӝ)!8nKVJ17i?M8i~$5M#p10= *@z |Z0KBw6(i^Pv2f@\(ijKdS tmW9sm~ɠBMT<`PG%R3>7 S\?|.ԡ9ppUN20h^\~f˞X!7ڭʐ/`jkՅ^J4U1ti}2o0 P#.7SKa]TQbK '"Nxvu`O@yǝKqCw7ݸylqނG3j* #e(J'ߒݏ4jd 2fDFWt T^E|V:˖Q0M)2}~Qݵ4cM~^lOWj؞_GTFgt]Yv8aiAW_}5ZIN1e0  ѠC - &&b#s CΰZ^q̂]٪/ob&SOG+JXdU,~Wm\*H^DFW>`twENWb5e >K}ElźkKZڥpW|. {|mP?oJӿFTUJkzj$^"'U@ZEEz@`!l(sNt*3~rU8C\ܠmŢIl!63)nʲhFjzlHճoWXִKS + ǒ,v/|\T\%MLNcߚ;]u]:JN?ea$^Ð.3X8&K{ (|~#z%d wrnF+ 'H ttk{EǴ# nGcN̟&rc^lo|g@#jg;\'77^ZeDa%\ V> 83J罦 n5gln+%[ǎStPgxϋzd(LZ ΀ X!3:K89ut 2 L50O~ϔFCj iv(&Yā{*(ݬ4͚>:3bA׈@k]|`mqaIvi7Q!ߠb>Kl({XÖN)278K8ZtqǺnG9aM"+hu0V:8Q ##ȗ}% >E4%*?oOPH*)R[U5^GabیH0.)'1;NQ(Qٓ\bX]KPŨnz*{R!>_~WcgfɤZ$ AZ8/ir0R@nҲyG@͟SR'd.q2985Mee>Y]']iw[<(3xY~|l|7Yd$G}LI"wliAUѡxy9uH;nSTP5V N$:8tip(Q,Yv1g%;qTUo<0%]SbEH$!⏰!O+FQ`B,Ȋm u 4 N@ZLW(dOŝL=/_|P)ZyVƯ1x(Q֍pߖj;.~G& hU!![Cdc|fڑ$L\k|Z_}j> JM#ԙ!X^L_<\!@Aa˦.q-@KOteb;Qf lD\)Ģ+L臀?N}P]qS2檨!)tK|EOlvgckZHw)'Zp"N|(#=X_-,@LU D,gF-2 Z m++9]&_#OȩKQl 7kyiV)zqo K ^p7*nj6]t싫%m,2.f0A~[4@tFecM4#ipEx+hX2$XTv̢QaCٰg.AŨYEY0hPbxxQ(Xߘ6: Yt)b,,ډʄuBۛ|7nR HE~vpd e;G! "X dA0AȾۼ% .౭%e0"KJac7M#_G5߇!C"ȁ_#/҆=ڴ.OS$^;ˬ&bTk -CqSA0KdԹ6ޮE@hpO/{C@;,z]G+M/KۑvCj;IZv/+A3B<,ŋorvAOZEJUN<[&c2MhZ$.Yy|+iAKKub|U6Twm ut  *WR; d[8^ޒ76վD9fguS [ERK}]m1H%Ck. ߥLo,C] ArP+n?QŐsgD KP.dJ\yjY~jI5*IRKg,7ᱮ:gEXArGB*bni$X[)>< 6޼-ڸ#"Kr3ʳM'f#pJ׌5oC >26*q%sq{TH9)K3ث? Tϋwe=g߹G#84P[S%p핦1m$bH'NAd,H\{oG6Vj%Z`ay۷)-VM_odК򰈯n_߻H\2Kߵj#4PQ2jh#bS] HO%ܷSZN"_=HZ=NY&r%ױEܨD2q(f U`Q.FQnl(7OCȓV6/8_sZ\[+ZC,# Ƭ%DBx׹+>E V$>^ܼD)&9vס&JG;3eEĄ}NCaCٲӴAF IA.t~s3qG巀JSN,@jdiN}Д |d^ I<htAd9-^ (Kهu!ms6K7 C lH#18ph&Ëc#azH$@gk;ҷЦZufu`5 lǓ1TMARvdDZןPM@Ɉ.e H T.~tHtpbN,6 81ݙ_}*CڥlJBc 5.i/ ^Ci2erhF8K %MϾ(ni4#RAHC,x< wY PN\j׫Ȧz^X{ (4`1rcRշF)ߤܳdGTǴڽ [k?͘B'Dshg`[6lt= :Hi~$J A/:DPFk@y޷`vXܒ*/ޛ9\T͒Vr=i,e]}#o5ڀia@;a%m ?g 6PtJIWǎv˻1oe.ۜsÙ aw|e)l'Y[֐WEeγ>8pOqD_K/u?_Z36SY`E?9AHF#gY߽V/9N|P #w}6 CDd@K39Nr2B4ԡy|Y& Sg%'|ĸ9ezc\Od7)UAuRQ ',2S Ec ^5"pWT8PӤx9UGN;^j#*$JE~1BJ}< E΅qOf;ƺ.jyPN".x0}:Gg}kfetf[u24kٲ4uTEKo.Fpw#e$.-Q6].WSׁ x] vL;H?zMOI.LAؐ?+:DTyh&cz,Nc[`/)YOg@,gl_. bAĂoJOz#t"(^I575)F,87 .bbY @rQEڳo\j 5kv n ƊN`\VGsak[]z#A^ILAN׺&V&Y5(Y.BȔj::6@3'g"D[ۙ\x1c^ﭘkrY9O4LAT^RR-+ˣM6).o#*CЯgO3T~<&QUoqΉ_m;e&5'AOYjbץAA7zR\YИ%$G~|MDҷv4Gn0)^Q1/"4 |z퍼H<;'NӴU=.^턈ˡO"f :|5Z>?Vf|6y>$jH6gx|32%z6 uZ a~GsRi7QؼġsFN^zaIҿNЧ-0Xk;P@Jm͊/oPREі +I P ĵWI*K\C9x,^R%];F#gBFNyV=E/s᪦l q]-|rFx::v\l1d32BrJvM)S I14d/Ȍ#AP ?ol80nV _E*Fڗ0ʛ屶iH12A/%MWy@RYx&G 6}9B(~: ɒpjkeIX\np6Qc7iRW;3 ܉ ,2h"XFJvK씜nDjm|p7^$!̤<&5;!bpk"m17Cs,+fH)PLooZ/1=|Z eԳ"EVǴGc!8dr3s<[s 2}ʶ GK'<|A"CW:1g6׺A"g?r`Y XtݪoӪTK]Cu[^~Vw-\ L.❿Qy~$1mj&9y!=[S)kH1 9U{9"Oc%cD[)L8e1=009. w"1͏eBxbtt~#[UHr愞wL3UCiز]+ M[B0EOVlnt%+bPKp"I<:0 +#Ned]c]~:-h :itidC`a Н֛_9?꧅9`KlY %9.<9=ztK%Tj6GsC;~쉭slqkISv^Dsҙ<~<)$G{++L\".T>; J2[V@.LU[^I | R $[=鍭Sk1ܲ$OdIQpymnqݦReg+#pv?]N,z ]htd\p<ZFZPn,a =Z /l)I=.ُUo;nLyN.a;Gc> D[DB ~4ǸȱUQ" (1S$[%rD]%GK}yIk}V 2f\%`x ݡ>((Swx՟ (>kS^;L>zR&}!>ɻ?9<}筛JI, _(D;2Ү8FgW{>y~Rsf[ ut;19]]p Y|jGX[[]^Z@d~gMfe}} xɒqзބH|LB%MxdvH@!pRt, Jin:3)WFgʫ$B'5>6nfr̛mC8(B&@>A-._wk7k1wHI'@ٍv0Onm@ PҩoHr;0-Xr(+]ZS=p7iả#Ϩ;*$+9pg/B'i- c|JulA(>ZUc8@ru`m(Cv?&e6w$Y̶er 5X]llΑs^GŇqˠyD4F rPn4sBF#%9ŐAN 0}є_~r--j_JFm^Txz)-( n#τi"u)QwMz,uEP$= {]@Iw ;?etR+;3oގX ךQXRc]͇7WPxo0OxJ%"~V=V* z9q+*@ n=s5+<UbweZH Wy\>|W]C.(JDJ׹銛`<'ɝ'zuJ~x;BvHC_ղ]v?K"T~&c9 Ű. S]:ps(n第Q ?D^); y52PTnQ {MHy\醅V-d+U߃#yqݧi4El~DHkt0 K%p8PSr@lQD|yBncxGGCEr<:kls#Ր4,F,o2V-d3)FoDOjii/wVanUYcy4WXX cE{_ qH",r*sk #7wV&֣>uy7Fela8)Oڽ!Mfπq[1KQ]g2!Dn"WֆW"E8j6 ރX11_R ļVoQ;N:ߣ̻'\N){ߛ[+31F :'ban#V.?~ P01A.?3϶Gߴs}EUƎKݪ?+UH0_y-@8} EIn-ת!'MT=685L M6E3,>Ҝd-jywn1~##Cps-]iopҲħ~D:_P@qn4;r)12FHf@5 }$ǣDݗ4 h-d%Zȭz1t!Re pkeA9Xћ4k`Y@H>VncZcFԥ༮^.j)[AHm \9ڿ>UwKix`BBK!hPEn~џ0=]îB|Hn=vxa`2lOi})B!Lj1D%2waai=^h̺kB^!.Jer-rw$ J˽:HΆZX;_ c49yin8r2ۮ.ѸRu%ļ-.&혾C樦aCUB=GAy"ݸkbhPuP9ZWѷm#غAv"D} KQI̥ ^Y(]GgxcՍe72/Gޜ}oW$6N'hV^ r Riia$ = B-)޽ZceK~P)$ p^W_#d8 qD*i kRwl8҈CsVeZ\N;%SN>a4Aٔxf廉 rK<RXn$-7{(,qPYo(]ҭ0obq+蟋Y2JqSɶ.lHpgy)]/;mRq[)3$Xy;eFxT,+ `#dFuu v1+չo,O(q_3CL[U^%1 \B#~DIϒ)lY5x@AU=ܠ{(43Z.??z4ajȮrtyN y,_r_C>ќ<\yk0@*oWPYZsCR=m4{eL ӳN]m]]uq6TԱI⪔ Zx j!㮯jkbe8KuP]G#̨`mdRiOYځ.|v1ǴLF<˭Ǵ<<`18U(`F²x PE?_Ux"šDu@la MJBR$~X_vfu,}D~~D[g0>;x*"}$x5'zU/pYmz.L]ɗ0)8_Óz3{TO H}w*;zB8㔫> "Qf=`AwCJ/U,u?JFkM3~; GS9.Y/!3ʃT Ok \<|*D0 :uP`==B*]7竄^,m b6TۺeKdAySC۪8j-S2oZJPuZUiUK [ @ɱ@ Lifm=%y8 @'Lv3q6ǎ4= h-ZZ0 `%pX9`?TV NCE墯RE!`/"g-t+/tJb>P/!JɋMoi!{e"vvA@f( 8H >|~h%7P:b$=cԉ|j{$ޓN$7z({8({*宯 wdDh2V:l=!/mٚl߫in#Y;1?1dJ(\7; 8u.aZ좬ţ(|g(~h.H2*{^,y/"xN\r$v׭ S44C_xkZlBIA[L6W3A^C(K٣䂚RXMbv@{pA4}. PhxJ1ILޫ&M3 ډ}l{Wus::m@$#N CXlӻ&is5ĕB ]$8d)W}8]۫WRvEQj= opHX:NL4gc+U '_ kbqZmC>sΌxVǑq J ɱCQ[i'RZ0>˛X³G K}2Q !5g0[G櫅 ne|T \yZSr K gk4ìNSWzH1(jEAR" m❤wWENuw䪺np\ZtS . Z]x;J9!%* .G\Y.,:L0 \)adoNrEU\$JR,U':~ a-2O?c3t('{ED a +JK^cOeX{&%++_mw:x?뺈O9<M@ҿuH\_F{&헸s#ጸN&HhbEʹtǘn ΃ Wˋ>?n6\_}.DD! BNT8RB [H pily:HHr3jȒN~2s>b"8u#9Ӯy}}%!;WU[$R.ϐRr ҂H>=+.i!j'"UL? Xv0z^UJG{lƩj]*a0G+LϬT'FKDsD`4-E*KnAgřZڷ*#F%Ii)ܒ.ֳ[:bstp7ױ%ُ̽P<祥kHq}\} pm"rYݏPcvuu( ٣i(.I_OypȺiME} FZ+ hC^h*b LĞ<[[qtTh;,lݢޕ}N!N yI#?mcTװժS/.B;w{joZCz|&-p'sJ!WsUf_W{]{ )h[z?$\qQ<цB~fCkN'#]hލƯ֩$D՝U AFO`zoOӑPT,Mtv%Q_=(a`l[ڭ/[3M'];;^.ZϪB}O40񓑩 Obw Xײm!1y_!òmͥAΎC?"Z)[ I$lL0dOeK[N &%ŸaH{y@ߟj5\@ƀZVAuTwQ,16e,l+`$?,p5Fv'#]gcB^ճL͎|LMN dUnX>y".GܑKRG&yeבhE> KIiG]9"'¿OdLZޏ+-a fg80ި4vm6;-N=>bi}SC~v#p-՜q)&i3j" aӥfQMFGMe~s>B7%ljӤ=ƹMN!zc,V= U1 ܧp} IL bڃ&@e1֊NYoe_;>E1v ~.:dQQ\:quض0QY 9(hm Շ tKxDwD2;5=Q˞=<ޓD}db<1yk p#%8K/ԉ¯"|v UO;&ڰ쪄7RGɈ._j̓sm\ fE;f_b˘@BE)k״p@jӮ`:΢_(ZrLDL1_N2ޱF6ON]vp?\f9&켜2AF̐U>8ٟ\dfޞ3\+42A\.)YMpC dYi'{,\IP`gz7xmXwk$ST(kzo2 4{` <k_}շ Dsy>˕J^U48c1Qt)|}D~2u3]g\,o2MFRLNtdXXuv `-؟nQ|OOjVWɖ|NmajF?zmlM' \ 4ߔ~yC˰i#}bzgm-@fmMUg]1q۠=ҧؙƑ7C> 3%SHiP]Qɑem95\XL^Y}9&Wx"7'mLֻd֐^paѩԖ .'J݄KlH?EC)=\{^xyu^ ֎kOVwN *j[ co4O!586hM>& 6cⱙ DP %o)i[_>3(g8qeVRZaRWH!ҳ`FCOz n^έ#-X*ԹS;:@CY?y@+M?3q~_gt?II  F%C~x ?qD?"YKxfp400a@PQ/ Þ;̟Z8Cc/[Y$!|F1)^zpY1 " }{XdEqoO-sk Fj-&m䔟kN,MYozn<ϽKH'bl[Jh 9pOs}S{.'EyB#Z:"n15tY[=`Pv#- LWqI]vhBO ÑgA\IA^w&[sBgSe1VyO~Yr .*U'2^ =5Ӈ03 Gl_IW%a [jа~Q 4jI9ǧtvdeEPAM'yglс}eZpڧ ?+s3s1CrIç6k@-BAJim;<2'7$Y[olJ4!ʒtb!B%|xO3t]j+yښñgb_U7d[qM ѸWkƗ,QC=%\ra 뫱ZIP WRWDkRY4J ŧ3+Js OnlFaalG]L5k+.QxHζgpov@/^@JYYMgwNMD^}?\T޴giMι' *Wbj*>2'4]GHXTi)N|~0]SEň}BvCWڐ!LhSn8IPʷЖTϭ6),dg gȆCݦMo#dBh>xĀ2j/k 9twQY9s 0kgN*E~gXCl SC 3XV;Rexə?ۭР߂Lv!F>yJld0l6zUc6k' 5Z S]/h1lRd!659vȊYԳ)~M=Xy-]%E H4ߢ݂tJfVj+Ho[(X5R x]ŭuq 8qfaZ Z;.b֘|p>NmOrچ`2^(^1IKE˴|6r{aM%+0K#``psS5Km&hʗmϘo~ks(ەN,}pFD6%PA.]Wsx"ͨGEh 3FMkwBz Y߈ ZƽW˛M.AٝhJ&k2fd(d!d,-DAAA><4K68?cȺӃߜx%tG?>_Ĉ]^? XZ ڤzu:'eQ堝V I^}۠e;L3em5֡%Mc.Џ^蕷 I%{ұiPa,tR]E5Xߣܹ`sX&&imlM~;[IR i_8U˨=7T<^ 1;Bs+&ZMqB  H$ixW(:FI)pZh-FaTCBkq|AZ|Ę;lShyHQ;;Ȍ]Xڠ[C%@Җuݧ(xfV~ ,nw 6vS5*َiO&[zZٖ^Oaܻd,]HhW6(͊!\W+S{BFΥX'{D1˖f{M6*v/UW2zZX2AU̎m8wWⴣ!@:BV_>ڕb7R&Qt dZ)z+ȄG@ ה%9O|)vÏL?˕e?yx#-d}(jm9bУb~*BI /[ uvʔUAXŵJx yG)- xIpڸPRg`3X9BM6q]Otz-5 pj 7#u)N^J)\˿@LUf.ϯ ]Κ?FPMֻLlv=;XP$e6)1TU6 [ŝ\@CY>?663>^:6n1QT~vma43q}X56 5?RNu= }8udtjY*]IS`o'aQJInű±?$H~ogz^c[̹zB8mRB +3GR մ)o*HW PTB ֯ m_.ָ9GP9eNAHp -%ՙdt[:EnWlW5j^∱Z;@Md'ѿ^ٲkrZV?j0Ѵ=Rɯ||+簦yAP4RKDY$NJ c\U|Bk0ї?Pab(@6UJ.l=7hk^M aۯ:. X/MV=L=L4F7I }{h'ˠɩݚ=T@\Ζn|X 'YƐX  3M¤~?yo%&v5;@PYUM+].Ӟϯ'ٻDZ|^9olaK98@ũ;J>,jMm~r̬ʨ%N'<8X1 o*-y%\T'bd = -k+[y$<y\8zZJdw'BSaH"R^VO P8A% y_i^Ll*̚x`S=vԴ@7Ag0NIegQPPS:-悬R [rU7 c]m{݄2tfiTDWTȵHӟ=/Y+x( K9lV#ڛTV9- =Dkox|jC_y2u)*N.Юz 4"RH6gx: \[]Q ?I]Vl)~[4A,Y͡[(1ݸ>'0IKw"Ul FLȅjrFDTʲisƭk6b4s(⤳<,U { $&bw{Ǧ3u!pt[[hX"$7nLpi ~>ˊeFzov4_`yn7j\.ں<_EIl*2,JSK ^ATlprN*DŽPZܥvLhyBՍ2lya8[}Kz9mЍ, u j_ '.k)x_&Ҹskh",.iɮ~# {', RPW,zMEWeh+2{e3g+I/}Mk>QL84BXޢ_?7Nk[<2 yg <}\Qj̑) ifW=48d EBtamʭb:vN֖4vu%9`BYsg6R?:$+"/OE84X!ڑT { U ^uK e+@kNܥ'CJYd7#y:$%K۵T!-::_4ׄCCm51НQPl&& zAq~z 1sCIC v]e!fyKEDa١1tcPMh'I.>+l_  CLF"&l;uͅB|U*b^_CY~G*qssbѤç޻YZh,h.tyZ`YH+e 57HW9l2 3[iECIpOH-o7A/`s:3,>~ UkXGR c+?jԖ2B Lcp5 TDd2ϴp2:ީkr[s(6/;p:0)uѰ̦"#ay;?v敮nR_*Nʼ9JgT_izI}rvԟ(`F`f; c̼>[1Ng3;0@ =,Lըl_gG'Fy1Z 2=>fp.`3!5RHv0\9Q#[äζgi݀nxzK1s׼zvD Aei)muݘ_VXD'Sߜ$yPf`j+Ȱ݄`d;ۯ٢bO%-Il-Q*hUf3n'/Fw+Tyܙ3{4jqVAzQBl/ Q=G9ڧ&zlS[N܎|Z˹!"&o:KX!{׆\0zz :t4[R3|fpl~N*rܷ&Vz٥7gi&]qcCuYg(Scx sFO3 _#hO_ >lH8KWuX!o.JoJaF)( ;oq_s]&=;|6B Q¨4 )}m:ͷ/5 V|l>ӄR,СG|K"\,IFgAW!:ӁP,^"ˋ:"bcHL%- Kwǹp* B@eI A[ SU z3cĒν%geKpo54\`"j9ז> WyTC1C>vR5/7x}Ob_7w:6 \k $Ua%@{HJDu٧$4E'IȽӿ>?aYyd  <4J<#~2)~T:lUh  NexBKKCK%(lAD5NBXr4(>JEyW.inGK[_vm?{4讟\(M@R%+V_&&BMy;>EX >XV=ĊPwIu8Vy'SJ&H*cX`IWEbM R IW]#b|sVH*r~IN/PQ?T N+I3M[Ш΍qwG-v/˸Q,krImhe</ZEb6NW}c% fԓ9LƠ=Nwp-qs+lR)TgŘmy|Dz@RWͻ$,*\%!;ɃZTKF1WH[I~Hɜr:Uʭ9•EE(qD{b.HG90JnyZKҡ"aW |CkA%OIi4+HF:^EڑmJbE ]Oź߱vW>1andY>oY;'*^H\@*\rYQqy2͑4pw緣 2׾*=zuKDQY/Ğ7(+O09f@] ܊WPӕYf~_ ю "07pˈmF3{VZd]l(9I^2BÜ]? •jN~J"Afh[X-?$]7`5Nwot, FiCQ:ȥ"Pd.pkrD9+)}<<|w38+jgTҏv.qEqc#(@ DHk6U T}K!C~ )[:^ d}!7[2+k lԟ<e'᝭{/;;=yq`"Je~m.V"e[ɇ\j=So-U'WDo euL*v\PboݓtE`@ar)"|8)нdslQE FTTkc' 40Ň2mbFz`ejAk U;Kgj:=OHK]r"Zd.$0kMjgl[@ ;&rrg /g<) ̎P'ȍ!ϐ´^|<\*>>ð'N60t +­Q{Ľs|;km:czRzmx7]Uj֪X[ZƽdUD#h+3swsį&nvN]0(R R Dmk1m24iZoj׀ 㷔"(5D4MA!M؁o1h:3K+;Mr"h"Z}~SHzԮO\l$R/2`MT׫$1md.ْD)5 ]D]R)sDcnz~p.=$jv_ M^ZՆfw\eB\>{!2:󒓗`^kUx E a̬ZEJUv9"EHZ{ v$, ~iб.:{ NNd 8>oA&v=2%PH 1ԅ3il=R։1r fro*ig!`$B6~N}:_Zh.@+9XϱHAbZ' \# /AT; 6F&A v͛v~J@C]I,5[d WKqdqTN1Gx::[uY i(^:h-*xrݛ6 N6c 7P&Q_cYI< iTp=^fZwcZ֦ Fg =aADd0Q9 m ŗ 8.WE"0뇽"Q `7EL %C Ʌu)TCkM%ZVMA&l UUoEtdш=MfajAq H$̫?Mff}K0i<71ޒ8tCOUu`|,8HըL.~@\!aHN {C6iTf@sٷ%mk)ZAI9ŹWAQTjъcVU/˸fMvL[b%ח l-<'fؿ@-3Z!NJ`@}^u8SP w뚫Bӏ_ck2tΖT>$>HG3yS/1aRⓅe.t[k<3!WC~ctfQϯi"Z#`dnF暹\hL\EAFE|?Q]P.pMQE_HnNpbcv\ ?ETzoZFZ%ۃS(xh!)6kh8{b3^g~ V`Y @bVqjfIiIY=;|+[XLLk\fK]yG g 8<-+jmn<]Gd;Pex_4b\NI[kSB͠}2.K |`{RkPW}dՏ[:G `C< P廐2D;ϫIqes"dS, VNm:WW$+0ڔ)g t H[{'|@eNM۴ & XZmY>˧>_I!#]BF\D e%؆4ly#u™/-:Jю˫T[M룪(c2?3k|Ӝ[y! Da WB[VDda܄6^QeM ÿl̘7e?`JB AFWucImS%6?]I&|8wGt{0< O*:uH.ь'䍟sr0t $iS^,scR'ߥS\$H/ ZsDž瑹(ց\gڒں۬djDec^_ .a]j>Ài"\m]eMd>C cٞm4p>TNhbsg[m4dV';za{Ww#+$g'f^OQ׊MX å,Ten,ބ (^VVZ?ehwClĆUz 3lB/u?M-WYзYD@isƔIo<1 eiXCvZu&99ҹ2&nʯq@*]8Y*OS\H~?GR;E~3Ǘ|h-W)"&)`xU N6ϼdMC(ͅcKX3ƛ%u9b ZqO\Tv>>銆t;H<҇y];7RC1XDN:/@dYΊ]Djh:@a+v^zmuZap;;ϵC:_WͧZp p'.uV:?3x ,w 6u;:b핣X #t[lK_z|3fô񧃨,UN{X>JҺvsi F*-jɪ%4ӂII! +-f=,.͍\9k5miwDodFWձLe>O.{n-vֵ&z4P+i *ЃB!Pm``F"%VE\`:#ݳ<P-P|'̆_&-a %$'.Vez~2A qvKD9.Lo}&ϋ~PW s>ŢP}7Y}GH.HE_5踒WSN^'( Yխ'z.x҇rˏxEJת$ MR ,(c xE)ޥd0%V)z90J^lƄ uu y69 XF)&lVھ w~b ~x艑G='Au޹[. ;@@7*dAj'NH2I-طb๦G oJBmCo?l-uc6rdT^2AZ#ՖUq;?@mllk@=f;0>Hd]A2LGNS;OG6rmÂ[ip1kq,B+_Օˆ$PFs]qridA!L;YR^oz7U$ j^zSEҎXUQc͐8iaWY-o]L_;Y c<2D G{!xK8[c 9ލUf_/ѥu4~ѦFTNF~N͎RBY!bbRMyC#\dEW49byDpCgtIɝVlE țp J/Ox<"Mn ]^-ҰPɌ3]hj} <-3m1Z%u zp*i\JZmױ_kM|tJ߅1M׫*/qOc* XVLR/> 9 8kgȬFϞ(5}&! NfnLlR.u%\҇Æ<* GTvw|7{ITtk; aIVS\Ԑ@9,"Nqv B+o8XB~cv^ÕPzfNuw&3"a}KlM  pvoKk=ċC+p%G.`P཭Ws3i:9siȴh3"{/K* _|S,wblu#r ʬ>C/U="זxˉl\o x09ā!fWQ!NL#u9OP`a0E#$Vt(?A쳇R'Mxkd̈́7)1ʺSzO҇eT-p״lڡ4abQp@Iએkaծ5S+i$V8Aƴlb;iH+S.>rD^:9dx,zQ( &W>Y!5 *"qu a]å9p@[@LVJk%rėns_(z:~%0dZfkbv`L*Cn VHpYncpd^1)Ç`ZNyX|g @;3abኑ~#drgν|!I<;\b4k"4RV~ Y[dv͓ rL{QNՃ̹mܷ mb;V jls:4wUC 1H&Z~ןXzmb Ko;U'K0I7("Eҹܝ72?H,bEIi$s HA3Ȑwܕ2)V",[O4G,EWDYp#dDkZw-qέ9paW!n?){|AŔ՘'K)z3`PdESimo6^kvߕovj =:MGQB%H(mQR)vs4xgyA)ذ}puSH|A<ɩeP_pB$ Uk!K|Shet-Yoq`ƽC.cR(4X &xD6.'nF#1O_rUC;{qetb0½()7 CN6!Wlvx;x  -p.=o2WV]|!x[H`zZ(u/!˔ϯʖ  7E22p>vj\TUPn ͺ ȥ{ Lq[XZ-*_fΗTȒίP˗}so0wTsNRLls~"_E4@W+⎘yYO&8Ti [|FFFOwPA6y - cL ΏJ֒&;ʥIX+!/Uud’ippn, 4lVN$8vTǍ$|$1wIy)KviC&ub>|/O=ENR?tk8( 2_O_KզQ_EKD] v/4VVG/ }uCK/6Wp h26!JKxD-PuH :l[fꈚ >ڗt|% 0y~8Q!/'+K1J<Ԯ~$& %kgA:3~kR?zI4P .`3UT=pףF #ƅ0hF~:F2<}t9u7BTO]-u.4D%71ojdd1O!ɩL4?fV 3!{ 3؅KU~"E{g mXeHPuo p+ڼ 4sV;QG Xs/` p7ܦ2{8eͤ=$N_ QIX߼\[!mJ6i0g +!_~Yz$ B ' LA'\Lɨ'D*=MECo;N zJang wyiH[/X*D5\XoUjS8i@5oˏ>gMC-I*X<^+a(p08ŭ$Tb/\W9n/FթY3Թ~ 9Ŕ 'o-ƯUmJSbfq9WC 5*.7&uxNoNt$o4qzJWlh,޶SY\' z :B2":5CMuQ~E^.}},%..%Ѓy|G u`;I1}W*=p.W9-5[ 2PrSo8 棣qy90+ǏYlq,6mNTHM_?Yrk)gkCy+$Q>1ާuEgD_ƛ S,Cz*]iWݞI`tFX pDv\Td]s,}nW'C>+"u]SP1kU;)2ʑ`\?% ]\jY1?uh;e1-z%-LANs6`@nzQ4GDH(4ͫwުmCnٞ!C}-] zM Є-5jȡ#t3%UcɐX4H x(3JI:ghh|8oTh6- ubK>ř$aDk/r9wPR!F)K9?`b3Ov7@2aӲ;P羪|_#X킓)5҂K|4=]+)L8UD8U\yG= @,FB?T8)-LMƂڐI[R "`h_4 pS%JY+Li,i+Ogm=X/:KqAZeAjB.@0!Wj>?c 0Q!U8hǏ(u4/f!_p¿D7l&ޗ4Hoi- FQBw$<Em ͮM-r,lK %ֳ+S9rM[7\od081aHϢRs/BçLF!OceFL}mFȿ)İdعi.>Ez)>nsHerj6HJg&95X#(ԪpHdN+fKY#G3-nv=nߒ2gakʰ|,Xٝ^_ad@%˳cL<. 4Rvq@Ee-)mvH ⪷xkm(aGt2V?[}{ ~TCP&xU) SU $i`ہotVࡗK)'ڠ-6ԇirt:=eBox ڷmρj92j{mvzvFL.n"Om_:M9)nk#`XMWj:oD4s3:%d"1Q^'LyO/˕w>NjJ Qvk.a(Uْˎ5Bӆu*;<@@Gϓp2wJ]i毥!Ybw޺̓8﫞x.1js_=ߊI-@OeCUB[؂epWo"nehMp'T iŒJEImk|ϤfJd  vH`Rk^jo`!II!  Ubz'Ui:l[͹dnQYKz:eQݚc^[:cMn -Ю!0afSq"f*ݚm{G->۱gfWzsC-*Ia7AUɽtKw̠T_lm; %߁)05m95 icL<`sW >!wL>AtʙxPM)Mp<krūYMTm mL#ғ ajcMC$|i:~٫WL,RqpN֙BJtD2l1U!TP=H9I^6I9V/5&*(UoBgTndpjܺ;FJg&_>G).0v 2HG{,]$r''uF @~v6-\8UζSJqsRk) ϲV9e+mf|aO| !PFb}i{kk1P>g ]OꮍήusHM1QPlXcKw|?%tj,\^K)0"@+dY߶ynLq%'}P|e |0jY8ُ_`x*H eMkjZJhKh ^S0^]LmU7s^-{cs_S8lTI$^_daE^C{.*B6,HOWgIjzj}HӳJkge8{7L6_$djw`rytQBݪNXT_h"k}c{Vo+q*HftPnoUyI| &WI=ӖPr#ĸxli_8ؘEh&4TA7քb05䐽]~nKKte8儏/.$2I JqjĺI`<0ؒāS6+%/ _P=ScvfS9"*l7DJȆ{ V'AŁ> }aX0ydW Bp_b1WSiwʿ xUKak/ˇCXFT=Evʦϧ͕6q=)YqO=PwBwiNimDrڨ0 aSb6zׂQ$r()\|@\wՃL#Ia^⛀}!5H U ~xڻDʠ؁^3@E 9_P#P-&8GJ4n*X{ˆ~{V; DzBY]#bMHqwiH((ӅۅB+߬HE 0['S՗E(/?U<|4" p2o|ݗgN:yM9mdJSye@*FK0+ZVOpDhh@ٺWBkU4ֿ{eZR&Z2 fFKJF~:88Yj3;:U?*(-}~KGO=Vm[&tt-ͤ _'꿪mRpX)MpFBjQ6lgг0k 9V"[T)];BS-0DžD2!uXmƶMnT Rh@$.V!Q~ASYrgVZA|{u6zuipm<9a8q%2듏gh{RT/rj֙ {Nd\9bZ䗒 iOx?kcՃV4HS$Vtc:~sgf`*ǓHDt,젨 Pwok|jav4`<@yeC^@Of>wI ?a HGg={D宎>=w07Oe9h2xeȞ#X5ȵ-!$Ćh#8FI7D #ax+Iu_ŻdY?Y(c녠F U(t B4ŀ:-Cgѯ1d}=2[Ϊ%`0 B.-|$}Qz}=B "^HZn7^}rr"lB7:iTala^0:Jy.TKsb@Gߥ)B?PNZ؃^V~s!l oT"Ƥo;:}z;*Q n Yqv>ws<'z6؍u7QLjH7b] pcaXh[䢎hҚe6`tF ym>_]n^\L9 TLs1@(V1[W[ysh]؇T7ZẁIPwѥhG@̂H#pL9§cdPi} jQ1fotYCmre0@NE_+CX1RP+u# =DZo0 _@rwU vڢu9n<^}ra+K¾%foF P$0U nw6Flۤtnwñ+z{L,eLt7 iANt&g]]s|^OLbLq &6ٞ4P]Pӫa)WcD+=aO2-Y:4kM4TJL]N.D4鍛+ռ4~bq[/*|{DN9:ZsOLXqߦ"a/nX~/Z&U@/;nj<-v=zL$[-EJ״n{+ᄏ{(xG6rG[`k/%3'z;dR gk<B{|Tck{VFߠ1ՒRFtg8pzwJiO#& `9N[@Ny(}-M8྿Mf;i!{ mƙ$6ԛ;̤P56}վ;RhW!ٮ~`bS6Nk*E0eyJ!u_vҡ`8ƦTP&ḁ_sD|v-TT]g>}Yua§}EVNgHX (тځӨ3ӳNPqJ=;|j,zߥ}AS#ScG洆BD~F,/A<|eL`>UJ+%SdiBFz0}0S;In>KP&#cE"={o+F> WQ.'La ija]?gq:M'ƥLZ<}0mUZ*l.o1wiOb͞//e`R32^ByQ!X-ySفHP4o_)%z"b,a`R84 /U>i`gQIj)(;}Jxok?}*q2Zn*ڶZr< .s2b=Z^;"ʡ䌟 1YF\ZsA4<Ϝ"3TPA">vGp㟠pk)pʩo omтjL{"e l'?}T\ 'dw,?fւԜgwMkc>q#;W1f+¬,*J$k7+]EGũ#$ӕWJhToQ 'e:1"H,"uk#}R?u5=:2_lev;-lhg?{wwY?C_Cf,@S`3NRi B T /÷Ie*;2t dEE"0jqP%ސմ 5" կGiA)!A95? WvcF@ZuܐG2(E-w%,@gW7?qw<@eSY3Z23X2?4y)sgӵdYh~voO+-ꝹZwlTce*&$j(sog@2SnHM!0$e, |`U8L)Jt#K~%Ac縎&ĺ9DQ%셇c[s0v|eDRX9`/:g)o{MŒ3 ה{+޵R6hqIsi$a37ջ␰.󉒩ѽ$d()1u1e چ:NEjaa\I: ܅Y rSeAʹaP)宎ȧS*ApaPsa~[劾A$+ %erhet_GpUA?Ǥ4U>}HG1&B~(_{8 Єs\7j{5J. Nd s9$ Č5CgV9V N3IǢW܍~sY\r&GSS¡@'pF}-+V؆\QPC%z-O"i%kf9ЉMK3Tڻ-C2qO0q 4ZNx.7XOdQcxZB!qxp <![b !+i$[4.e}2遤Ch CSD遲+f]LP̕zq kd7o1ˤ4N$[Kʷ|}uǑhGWGsW-詵X4b#v; W+)^F^NЂxx$rĨ2J0~8%ܭ[Y_R^//T`٧P>18jꍄ=RmhQmDKȈuY-mxZ$IT28@\rLqcmn<  >bVSddž8y-/ΟQW)1,rp֢fǟ!| V7=`8Y= Xz{[~RJg)_w~P E5 Y7[LpIQd#6W) AYKl!ʆ7tM%O7B%0DgsslνA e^FQ-~ڃtة~.39;}mTN_=n*Y sYwI0R6o{9[kl3qEajwG>"7yFM~fwnFTFJ|gF#0l8$m;,a=* +9uwNVq#( 4uK}AfB5dp "Yf8Ԝz:5{xaj^fM=(39}ކ\-Q.)\-,JYz"7{ Eƻ9fTP\/`%' J1*Ǯ*V{ h`2eSH1.|`kIM?IdQug@O֞w=\j-'1RbU g$k  \Ւ)񄜠jW 1T59ͭ|7l>r-PK!zhxdY2fl?_4)E1sFzwB {(" J3Vf17*2%TP10%XQɁqw uDGSjHn,N=)RJI#e]ycx6GXDzyZt(C]@:-O{ kM[p :viLuECV7Q?C DF-lpl7?Eay6< Ew?563X(>3R1!t,NnU"#}ꅜ5BXh M3v*9Kޑ"u`QRgkt>њAVk~h:Yvf}/М{ UrhKqYܞؔJSӮl_OPu+ujZ8bd:2e-A=.e%)f5Syc#w#9-) i1|!atA~a8%rNfJ@Tт׉`7v%<-j{>Ww֫ѤwBI#Q68;-R bl9<j8Gy?yPؐЉq?1֚WOӇ9,j)KTơrp6&!H?` Q|py dQoRe%vUYZ鉂QC2n(?|FI؟ Ű@Lɺd[TޘX݅U 4cT2f[<:hf3Tv?Y\aĞ{M.DM26W5dY/OT3MH:UO"n}q=gVg{Crͨ^ ]NWEɧ~% s$FeC&5LٽU/cr|: S z5`= bs1aQbƯHŋ}Vד@xv q>Dzjo$[-/E:vB|g9M2vLջyp/%ТV4~oCL5j4X-4XӪ\$ [V1!{zxH HLV5ff(,̞D~DH =JIm HNPpa[й!2Lͺ|E<*-\F.Bݜxq *WGhf a%OӰD:9j,_"wY7';Uzo88M'cﴞ\zh?B¶Ea mV"`GWUlZHPUo@tgZ3l_W &3.Ff~rGp٭ f0`/uǃ TיkzZ4Ğ]M&QR-LnݜFv8_&:<-h\zv)=N VSK{˜H mo ߤ,JwBM AO$[Hm 9P{*΢kmsǏ~8B&b:Q Vs$J;eM*4pmz_--CPBt볐 _!,yzM+~"Z;uOdO %j"o&D°NdzR ]u[Nkx)?Zzz/[U FPEPЉ S"xm2ε!NqBanMO qy%b.LZC e2F2X[?yVf56V-Z w7]v6TzTCx ^*h`*:zadhv[qMg.c_k$.9Ë#/ֿ81dՙWƳw"`.'4_DAj+1@txLG&MϸnD'n\J P^1, NسSlf=}3a ˣ481W)X#OGUA-/Dw`#EZ X^n<7g51LVh7;K@ܴ\7k `WD[ȯp,+IJGlZ5PU+4N9_+e~p1pfwq#{CNxB)۵ӼUY +nB*(3<&ė,~+^VzsbYu~S@v@Ɯx_(BKo0WJ y"bvDr߈:'k~Y!fk3a-Co@Gk1)NY;d,&MBQ3&v17jc6&Zv`֛Am lU)]#2{S~FsqK,y@5*mR2|͛?R>;ً-q<=`??Y2k*H+U1F#޼~7}'V#OJi5нᴪK[ڌMbelSEG4O'IUkl6/z:WR`%Lr_hX/erwk[+tq<]XW!r) IEw:nm2y_gFI=9 WbyBRqD\`?yO>:_>"ba."DbK+ 0D@:TA]'i=@yG KA n,)`&=c.drY]TPwE~]9k&ƪ:o 2e1DHNZD|vYpWJm$GcQԃG͔V\00ZiL+oshs׫׵60̱ӵxk9!?at8}Bc= ?* G N Z:X<ҌQ)XZ;pfD 0Z^"' UGqK ?%g(!넖6/N5L1sL-[Un9﹇]D\Fo&B(2! Ak$') qOþ-~.;w_ƥBg 7B)ݓL?U[rTf^\Z^QsG(W[`v-Y BW;`_P{U&fø8/3̿7'qSnӰ'f/QXDeqc">AɥigБ1*gwlRy7CHFf:@u;0R&hS/t"ݠ4g`V"@J쀹v%bB^'#8r؇*d*4?a5*8]v(ϵ7"LǍ94P"gcT]Ɋ/Ś#*{<x1_DX9DCV'76[7F/ ӯDtJ(΋ @G\ik@pYMZY5~?#b慈b6zq;\E )01; NsK C{~S50O,;,Z0T h$lr 0ypƣ{u 8Zg`nұjE?;ont'ʾbwg\RE8hfwtLtVwő\K;67O(]<$'ҽ>kscoݗ}Ă5VVqbCkv"%\;Y&1 CRm [,k/ٷb?RA3IFh`_&w-ie^b8y7'(Wh^\x po^3W.%õzky/xۣ }%Kzm|+h=bAבt3EOzսQ`i|֗ Ad'M$ MBh5V>&Y4d .۴V܂H~}fPbfn;?ҀֵAf8 [ܽKF*x,l0F!m #жvGlp6Wo"v71JC 50֧8<`׻' K\S~Ї%٨?3@9 |h)MxÃY[ɋ TDY>A0}Z #׃D6$]aһ 1r>>_˜q-_f(~|;1/%m aF` Rڜ8cN'6ۅ2ub}V$ϟྦ\ J~o'%3̼j,>Tu"*賟ӈcEg봻I'b~b/FfdRď4w{K鱑_\kD%}j-c':HL/]Sv.c&D!Če!u{7A~~wݴqrv~`?ڜ'O/Ah4#:S}mo1B<?*!=ܘY"e=>jXxa}11"zƤB,*yw;`o}cTo6 x5'Ǐv\!I1UɿR|MB7܂XHhmgmQqց++_  nN#Ng5PA,omߖhԻ'<h&# ӺvP!9{0*t2?՞ ˺7ZFU&˥MQ x0 %<`O+Fm1|ac TusڀKg ;EXs'WzY˩}Db^ҖQF)2w6zմoy;OdͲj 'Y5 H#40}sR@E S;ܯ5A6'1 [ʷFw{-zjPi%ldm%x*<юyHWk%-: 1BxO͵bI9 6H2Z= ezv$J;@dDh P|x⸣)\W6ɔpo߃vBP\a-N9`{MQl |ɋk+\X?l .} Y!I<3(ՎwX~X㏟+(bs) ۊ]r)̯Vx;PN}OkABc@YLkdJBs1 =~ƮMcWOYXoSnoG؀saܻ?T^w&%gWɻ,ߑ>}6^ U]YHa_RzgbA15rTڕ'f=qZ=&-Xy?6k+\XeR 2S\ISE7nY&[x]A.5w{Wb8ClZ0R`N\)1ؒ |q0X1@pX%A()2Wd؇daWN.CV!bOI>8}KG)zdc[ L&h`&;zKUQx%g86-C6Rpj$T4ұ]hҍ`؉na۩иN%wjB3Y f0݁tW&+a }"pc<@XCs+.0nnt(jҀ 3xP i;H."L>-$yL`4& ;Z%]̡[wT)%Pm2pؤU;҂9/BઈU{Y0y:*"%YX ͷcVr?P!XMZZ&!]j Y6U{ta? $gEiqx{T%w}Vz-shPfH3 h"ַDGnm=aaLM$[401>0cҜ]Z -\~dH{2B?)xSUbS=BE_1<QCyuTb:K|Oا⒮G.fA0&\>@߾xJ"P [jF:3hYAv4LlNDY$9HHL*b̅ւ<|$x`R9+wNW/&B\̶ CH v2P1$ΟMޕ3tB3[D]q\$;sϬkEq~QEzUWs3Ly[@Lpg\7PaLW $ޗ0$siPx&"< ,5mU S3ǨTjIաD@d3a >v~!;/ YNѾ:Iw^X>8]?jdbRip~F\߳ňD5"L6w@bkUO /ҖCMQ%`]*33NAXIFT$~=B<i֯mK!0tI2%} тfVjaIk|G:0.NZC o'1 <'J=GTH+&lAۖDݓJ[Qi!R 'ˉc*U9*$3-ߗكh=Ak|v>bjD@֢\.;ۼ].ɓqw?`P$큶" x^OA.tn *"oĨo~TZb1Rd`wK]̄3#qcD~R>d&Y=.vrnSU~t0/` wA=,? Wc*ӎ2gJ]bmTZV֓ %N)_"م9}Tt^9g YlB;1e\46h+z+}*e[X1 f 4{F>H .PO[#qr tC%  -Ǥ9-g] _@Ҡ&5A,4!1iףbݿ DFA/ O,DŽncJ7XᮘdW߽/5 +)mV~6SҘ]\2X+L]֦y{D"j׮ˠ4 dY 5 *pے(yJ*Zչ`.cqbD1L[k*B|~,IY`ok;Sc! .\iy)F9jwi-'=k|nZ^ϵڌq2V|A` E&e@<;NP&fh%$CrDjSG ` Yb[֌gؿdgtR B/i?R*;GL,CNq3j?cJug⿉;f[`~uBnG sI{1|ḏz]q)җsC~uI1 P1zlCj+Dޓ؏} ][jJ O_DGN}#VzRtL2[zJU}>/9!r2JtŬr![A^CĄ¯;XIv0KT@5<0&C_m{ "gY7 *87(sV~rQ{rG@AѠ0Z&"͑LܶEŇz54FAQ·-4Il oё{=iie% Z#dn-E30dzM op=>UR͍*d!_**oTH`ENGʒU[Xm{V3 'c_c6G`vj.Rq+qF JPZgI7/<x>]'Cw){տfJS r0̾ 9>|sP4,´D|oV׳Q&b)WnWs[hӗRT lӧ$LJ?]%Nx]:za? [&6bt&ؕr~z][vՔR\Urm FH/6s]/gsDEGz_|Bt~M_ ]y 1U&].ivh4DuVtx -6sQwQyNͱAX$ FyӂFP*]Kwu@q :\:KCkPduń?ZxTlpJ@Lo+Oy@)6d协Vuԛ!NzoO/COru|^{o\gY wL(x[8K97q@WX=ҙ_%^3\kփr,U e)/)Z]TS CigDʴB1 "s$ZoaUWFV"'*o6/Ŀ,R5d$9 ^Ncbo6|oP hҴcu}ߒ8aᕔh# >,>s(ع_`_.j@Cε*AX [YOjUl),/g)PJ"N]_.ʟjKwt HpxѬT%A gx" _PR戴beQ_G&Q ?ⲆQWTCr_ܐTm}~Ljepn 9+ Ծ'T-#Va:ـ:ۚ^6rߴ 3~`Ai`c~fulTJV,s;~7![nŇEe;6nPg0g[78s $ ێrٲed _jP9ɦ3gfPPh~n`$=nO,rv!i\0Ic=y>ܻ$\;>N]Tb` 3;}1(U-x}fYG"?ss?w;Bl>܊ϡHiu+)Q/Fnp=9`C*`ifw/M}fDh,r׳B?OU'7t/ 'f*7-Eh2OA  RWx8(/i`S& ]s )1`yҺvc}Z, y- 6_a&)"K_e5($v$#w$0P=\9{=vPkd AYČSJ40n+p4*{Z]tc_Ur5vpOȄiVGwܷB6O'pV3?N3| lnk]4_֋BLe Rj§lr-61 uR#3ä7N1Zi9/b92qxߍ8§4zU&P)J| šy%&ƛo "ۤlƏ]͟dJ`X V-LdZ3BWM~kvg[k7 YEnI?׼ϔښA-KrK0Wqza4n=^<"݉i~%uyʠ%NQ A)5 Շ[͓5?sm&<󩔸"P39^MXы*4 YK X_|ZkZTG|"Z)9@+l^ UtN"6f*O)|f>Dk xu4Qûӥj^@u}w=*V@z}6@@A¨ڡXZ ʒ_&V/gGPtrEd{c9毧NJ9Esqk0L咨)2Ģ[~m@ܨC،P_`F*flB՜ѱ$9778h?W?2=#cU_ _v_F7$_L_W$SIF$7Y,+tIVah$3gU>87iu6||L*U;Ac>c=1Ѯs7~]10&(3exo>:D9ꃞÝAAwOg/b3Uik xIJ^]ȶw^s3GN=OBS iG#Ci"ZY1o S{SO.6 E<m/9Zs]B}rqڿLȯ7kIڠ5=t[SK=y|,4 "LRz^6ļ9L}("m($|v$kzQ]Yռ pd$7p!gT¾8 UXX‚R}a m-lGfbEGM7% KX@,E1]/:q;l)-yvF4O'NV>5+r.oIMp'TqC{k,yf]vr?І'awjcJ 4 ɅH̵C"L3FOk}gt$ѽOzQBvImiS.&?moĵz;a᜞鉧IDR(V*6 9"VS1^TqZ'pR\^TJa_5^^U/P8D6EpskFhθFɸȃxKͥPTbL/@: tE'OfyXNb:*0N*1b~Gt]QEG*e>49WO)nq vpl_Y{>|9>akiC\| pph\RjΦCu{XΓXc̉?L]hqX#n ׭vm `SG^Qr~}F]w}u"ߑ:p#MGuCR EyfvUj#VwHIMk"+lϐ.f)2z_R>? mCVHDB\[ocyK$,AQӁ`~4NbmR4hwV IW׸ECd+M4;dHIs{ 8tb/ V(),'*be^ߥ'N#V Тv q4a舮f/>}@q.gQ@ d."BAJN,%hϡGT! uz ?#,-s/nXw IgC*ER]9$Y.[RZW}p[ k/(V_9 yMg>aE +$UpSY {O&hR*|P|֨gHfdTg2B|)ʭA~渰9XokY+~x9u/>3kIwsՍQiY rSX'h){R'+@eL¿RP5M}3ġd1ʕۄC Q`B,rlU I4V5Dӝ0<4({xS1}m}^= Pe g ~ Y̢9Q]tپ ZLyғ z]KWRcF5&"7-Hzaqhdzm3iP˶}Rk" /U!qji\nO:<|y][v&zTk]WK{ Zr׃x79tJajD:D+%ޭ, ؛1{{(A%>8 yՋHɪgS:M2MEVSn[dKK _쨳m-4UF?{&ӱŠz0/g_Kp4P`J #<q¹*{RH;Q6K"U2&lMOtOrՐAP'=q$` dSNQݴ8_D%<-(`&"ƶ:oj@ v(Flk-Ĭ 4|č1ڲ \r1|gDtV)v'DnؐY;K^}pL6iwFE@w*+Y$b?ZX݉ӆ (&._&z_hR]S )=<'~‹C 'Uz<"FV'  cvf IC>COt_44KR ]( M śNO P:YNvko_z^=ಭd|^ٝLQD`ӔJw{绒 %>ؽmE}Rbm{H@dd;d>Lxex(mi.{\̚ Qzfn5럴{7A$]OUd<Qu'|˪xjf_:$ k"Nwy探t!pnjyëfDPO? '֍*t-7㌓+u;_^!W@J,+n6Ӛw&Tsq8 >B\*Fר)h21^&(mfXّSBP ( 'Dܡ긥qfY8c cù:E/V*NWK<^cX˝_\IKYc6]&,䬞HC uaq)NX3nVVk:m\ju]fs|Uy\h UK&$S;k+dBREGwI.ԂU,_%ń%h.'8-wWfY88ER XFGHBN?͌POxbll>p|kBr%W֦POР&v\C%Ȩ0CMxc6tBi]At&/845γ>9͕8'%K.˧t 4iFu?)ۇ#bYT)0V5OMɞ+ /~;^xm]zvֻ,(Qǯj ɬ7n(&'7W;̳ ?,DCsz>n4{є y%]Zm*C驴}X)B.(`D*C)KwFP&Innݪ'l-/h z!x^JF,i j bjjjvh 6h#`~ k\qM҂ ׭}K;oߐk$~݅3 R@&}З,)Oe>i?Q˄Vx5 'Ysd)l0uMJHhc<ҺN\_ҿP$q;H9Tߊ:AE̱֭wrJGpP93r>ʤZv|T|sShc50U~x`3ʀq̳-l:tGY[,ѠXqU04Ƽ 5.jA U[bϟQrYk#E蘵f>jaJ 5!ĩAVWٙM_h0io;w =MߗQI -T-sh4^ /顙*1j>Sɾй@}L F^'lWy0)K9b"q uxd(~L\iCV2QK@<ŰuD` G>n7ȿ"I!=U:.Y-&*^ң5)( D {hpf W:?Pk/M- boI(+؄ =Jrf $+@Tl:*?v̎lco΁Aj +~S ˹*6pET_^,@p\APqUf2<ъ兀BRC.t%$94!:m]h-{{y7=#p{}kZ$3!t?<8 (|_ -mVܛ>@'? {7_@rOT\HbC Qԩ~AITfOeǔc3%}a~/L ~(JW7Bo6Q(=můKZ2:֛q=bs@AOvplK.,L+=nIaA+>;ϘgDXו 1w21;oO~~?$-TX/@e(ON'(̤S%?K4=.<(e$G* -IV6˱*+DD Hw*R_3_7ets,&b=C[LW&3@'"fZy& q孶r#?|Yt0g49' / \x 79Ӕ:* Z; CȵCؕ7lJĦ?)d@A&) f,~6T)a"A1d5}eڮ9ud6?P/.q,Շ^&焧7DX&yLdHE৅p`~p!K&Z3 F c%I\>WW.EՂٖ||$ӄ Ea'! ^ț%zy| ou` ܅$Yjf 1oqb%:O ʋ-,mFZ!rvrl^~/bZ#<'ӭdvrr$OyUQmRd0GlKPʶb4LxXl-C.șo]ⳬE$Kk&d,@] 5Dk ݺ EKG.'-[~V_mob$(MЯi4QXqAlz|B E{gP^`{E@DbN8}a*mU [:}+,Xxص>M YR{=V,քV [,[:@fÍ"fe& oGe 1Rnxm٭tbx`_۬SXOZPHa- }f븡z{VѴ `^(5g}t' ;[Fp֞̂vyǕl 8߇i)-9dhY7i7 Oql]3_(K+\l:]&\{Z'2hf#+wQOK YyǢnk@%>dGa`[hg?}tXǛ9+Ȃ[[/{VАZ^/3l .ޝbg}kџ!/$[)?JR֟ڒWEr9Ih4 VU.aU5ll)9%Z>j^|WcRs|o1@\D=6#e ⱙeUiO@ -h?G]8#MY.6SdĻ#t(I&VzNlIiܩ9}zc!R-lٷU;F~va(W@tmE[SX1IA.ݲ-g Ekb]gmP*ĽXL\]hE=ƲD`nk{)(x{%11>ha3V+Gyt.4{AXP_dIHwFn 1q|_#j*CYw|M8 {4:Rkk&Y (ARY:]Re:GJt`/5D.2my̪p;<DiYn9( 2PqV;fU wVWhaYjP _>{&}gB'Efc#\1W3^d nAbd_;aSpb. Lг޺κt;bcˆm~Bb6" 1U+DY@P5S{1( c 'KY UyqMmG.:/QlӨFA 2i/ۃ׾^/ڝ80i a4=m@JI[y%%C^ʂ$pG10|yž}Ac(,@lK׹q,=]Y\cȹ]4c%@fQ^ 5.ɵaL3:W!r_|M=1IIceRbj~ÓVuoZ&+ Ըa '_<7c9?e; 6QUEţg2rIhoʻ-TK٧~gjRxs62Z= :R2XY'ΆkU\i ÊƷ͉ꖦ?6~I f DGُ@GwM__8:ts)jV~#Ǯq&?Y"ҮH$D)@\ xZ(QnH2 gWV3%}n% e~~ GW.0Iv-OFqGǚjf:W{ *=%3źm*DT>pSy MlykJPgg2#'wKz RuTCg=17^EymLƾn+FSG^ )WF)O!%Sԇ O[h {00^͓zpN 5\b.C~ fgd}?9DYxz*R"Ρ8OJ *KP 7gC3|QI )?T *.) <.5 Ͷ p,4spÑA6݃ m:cNH:Jς'<[/u#},gqMùd;cv=րW8Tj Bx(^Qs!7]@_[QpH]DQvCa#UR ' :Dڇn$ _0>7Ɓƻ+~ 1/-:,".ǦSiV=}XI\sQ l;rrn*JIkG!իm>!+L͸u^Ê\N xs9 m}>W:E49e^&@7z)E28^+gIqX@ے%t.;O{z}rgpRleZGS#ֿ:%(\sk\rɺ:;PWi"xR YA}]6~yǻ2Г8|ޝy923DUsܮva{Eֹ,: 0m_b ~P5v|nZ,+K?tʃvyD{Q%~ $2kM39R~;ݠKe]Zp·TL$mU r r\󓁌Vo2P7˗bpu$O ^fNH2$%Ͻj!A&.Ú$Z=SwK^[&Ĺju| ,FBfȯġiudՓCr}E{(iҲw$[!5Bkbd.^=# 1uH93єt*ԘjgV)HL[պS<-PyםYְEak@R Zcq8F'i3IcSH0T5)ٕ<%h"PHz(<=sݛaj{|iA73 * uBO{.~RGd\8z$4?pR ^;bPBfNv,u>WyV\TcseKd@ $:{fԴxGz<.fVQbf * v4 *Qz;]G"Ѥ؊}e=RI~{`;z2+P欕C43^>7<Mfio"P|?)')7g?]b8ØYun:|>*UzZPAI R`?&l~j L%_JAh|H/{,σmȂ^2j;^ 9ksMQ?- aBl^ -v}SUI>l+@U-W)_f1 ˇ/rkbj˨?[n~߲! R$\ٹ)^ԥk<~缠xWSJM<8,mI!֡|z :\Edc ڝHy_@ x>ul)x4F'}>ܚtt$GuFڰM5ϊ@jĐeLԡxwА9wѾ9M)uj🍇Y G1fSv500:\Д3x z֫U:#ܺOev(nBG*d+OCXfhui8Szb_>kk,  sOJK}zi?yV YY ooW?D~>~ld;[:M"g#7f>F`[N˙q^/s:̸6υz竚M)p\Q<$J ak+:yjfDW->Ʀ-a^z|{>1-eE^,y%a=w|LT< h>oygR"AztC_DGoV7/L8Y0Yk#($Ch'#{)V^085)$CsKsg,OJhr5]Y~I"iX8Avw0O 0ZQ2 |m3(Ѯb<~MηfgF#{50Gh<3JL -v)ʷhxyYPm"ʣY웬xl \Ȑ޽f) kCpߞǗRQVK Cd{ycn4'7ur -lP.R1'H+Yl oW6`GO)L"H F͋k.88>@=*ja !Dh=5@Oi U  -pGjs\#Ƥrv2\8Py}r.,}n xa2NR"X8uH1Ca?;ʸTMY|#Ppew=3qo:ie &8jѡGͫn3Q}F7r"9L}Sk\bQ> ۴gcR!f'3vfq 8:P]k(h\mt 121~ N^_Q"`z{/K%E%Z8pQW9( 9b82~|L[(WZ#`kžE΍4r lޒ|4_ opEX v ]s-$(MA!l2y~1Q"=A|r*kߋS& \{9]H$5Y/jBX"yt6cW/8W&T<+]CZ+!ٚ6gipoXM:`95z9ß)% f|"@*F-5 FJBq1~Ax.qA=(2Sa` Akp^r,$FR!ɍO`kوX\~vq(OYnӬfe;ToYN$qPq3wjǧ{'q"~)b3P&$`wAW9M eDd[ ޖ|bM%K[vr*l2otu2]mlMxMƽoʙ 5rYZ Mf&e,߻%7("*nniLnt,RGP434\%ߟI)R\mi.#w|W&6`}T#ZS.Y~;™"jk:_2k5(f /e"|(\ 8{0 wedNuH@)RmG>T`/J(XSVP̫_|h¶"0HbANnq4|) v (K1p3Nȳ$$9Da4ta (1n\ #QP g@4'TYJ'nc5118 W$]rR}&kGVi46q1Ҏ=75>2i 8URmRf jK+XϑL3QyP9%w9oj/pM XeHX 6'9H? dT;.dE|GdڑԴ!Yqꍥn.gSc:CJ_Cl>aX y3b7ڰƀHa*,f=%еDS )ǖ&J=H3=eJr1 v(BRpPDrФ0sbGjҜWMÂEמ]tl×X\ "o^R^50B90+I\:N\5΁i48p!Ţs:W ƙ0 (wχ +_pcFFANطON}g\ϓ`WΈl1M[Ɛ%vĉ4-${,dP+[zi;>pLfh7D?(-")Ts`>.Tr'seŚw-5ҟav_70 f^_ȶ>|>׼B7&`3OY2}`S)ir_;!w}[{)Rw16==ח\{jp]R1@ \Q}:zG*J2~+; ş﨟u^b99Hc t;1ه@l'"C7?6U8+m[cNlp*Wg 6YۺEp4㫒Mr֫OK31Q|I9a+. ϻ`p>/$>!4\^g`m@ZCH9RGiPHT@$ʠK8'þ'+2@ڣvTdrLupy* )]r[w:ԄRW*FT X3ոy&qF{0<._ n׿ x" 5@k b0JEC< dok͗DNc(- U_'KV9D/||gu;3 O4 WU*xuۛmg5tC7rvM\CJ:D[0oDnf0%hLbTH]Cmu. [QQxBqg X;}%<!zS2R {ti&2/$X<80bR\R@*}R}< >8ZS\S3c!?J5cv'f?,{DtUG 3 u@Fyu=@R`G?Y b{yw_) cMZKϺBȁ&xA%8V=Hy=eK6$p ,8Ạc}%Bӿ$p[K BVaSgI_ak^fV ;<'3r$[7=#<\|n|aP׀DLtVym!.1z._1)Yacag92!ұG*=;Xu-6v,FKJ7Q~bS=R,^8 IUB'壕5IIo ;?6 -I'|.k& T%r8T.о[nj-Ʋ n dڽLq|iHQYɺޞ0!Wc vdouƨqY%9r NTB $Is(#ܱjJ;2Yֹ1;~OE Y @&$^@}>DZQ-Ye4_- BZ%Ξ b\~|  u\c~ [K%/:Ù'nɹqgS:jUM[8.1o剛 :7ˡ] 8hiưelTWWT-gFp[R0iuSod%[oŽ/e$ZrQp ˞Yt}?y-|O6候͔Fy?b azĘޅE~b m|M2h?=زVk.Ǵ.`/5ioh)-TfE\'/nVڡD>:GŽN$V6TroQB>zɆ,i+f1ci1JKD&)v&w!j.`y; v&(EB#j %O=`D2ReJ1J-^'D{e  oMơeG t#JR$$خ(D.Jq!Sa".39;[ʁɚX{N{2qE)'ldp3F}] ؀cǕ*+j %ܩ@Qړ5"z?iOC?;9zni-NOHU1=tN#(xl#{̲uM 4Y(R-j*k mue/B6H 5P ;!/Lj Gkk&9iko&qp&]Ɯz¯9VBl{ՆS >^2 liɋq,_-i1G#$r9d@_W_?~ەcYȵabcNFPhLn`WM\s}0k?L 0cGpOZP1GKYd =.'?3Y_ZB,3dVkѠDNAhDHTA` Cd?;jCu~P1r4 h(s9&0 T_Tt1T"gǽn DH_XLE1Z*i ?(rsQC*彶 .Eo>\Fڥ (0f8ru90>kKQd73uE,ٻTv?kqP6 =&_Pk#>zG"nN&$W(三|(Ǩ+,TY=TS/obnkɦ"C=u`Xoú*\1~ u@aK-K+8a=?o0g>b%*\>>Ը:1DB3LUbx ;@l+p84S~bgjmJoTg4ʘ @:{N]EL9[mctxR/ȭ=)\Q6Ll wq~WB,?XW`qP_u9QN(=~VDRP'?L+Ω<&Q}VFε"}!.4Suz/Io"5KXx5m2l߳xoq0):UWoW"UYf K|)2GjvnB۟'Ac[,2a'" 2#7?Ztk0 U5çe+KH<0^27s\\d>Q{{ {.I•qѩmK4G+^J:3 E1fzE_C./Q;J#"F,-~8["jX-hB&4'uưE[xN~nVkbM7c% \isycEhO ]+=XxD-շ7#E3叵s݂lX4WG\p5\e+g4% .0LDA5_||n3`6 1?PەFm׾N9ΕTh>:h/t^?[u͢= DLU% 0L8^:"m9Ng+R>* ԝ^5)9/G%x7>3X-IeG^Pɣ3Wk@]-]db{<0o"Dغl*, IXp)5O1\A87~hO1};"@7EZz>2_qۣϸ=$;}wR{ZCۯa뚓Ug(ہjFg(w|h8/pOoFski8ʬCPѰ-.|CB봈 v>1L,o,)SꠕZ+&ia5 ,ʚmlYJu:/;2 }f,ERX1`L0jT:~`D ע;=#êϐ??nGA' gp/d1A81*>$:WQצl8Q[ QgsGtM /CU&>qfg[WcR a{$80opۂZ+H ĩrcJ4606ℏ_oqF\ngtRkΆF NwSlF>Ss ̡O7rmY}~K_c9o$Uvw˺4.='I+Mr]RI$&_$YW2vAޓ9qT|p⌣ o"gC#f;u{ FRϟ$M j]WT.wf9MO4c/wE4֌bXyLXߚD=fVKy[-"(ӌA;O7 p}ߞ2t1pAEQ8),o(S׿\~ ܬi|yp[(3HbAxd4gH)ؔۍgjZW`=qNϗx0ı! XP0} c6<&{pNDF5m7}'S[Ƃ,h`~d|Us~8x'HZq1VDޟ*bm,?tBg5AW*%[r ,5Sw[zܕA7,ci0*Sr3` -Q6qzx(αzqTWdyhMʳڣH8wV[bQu$ ѴTLq!bIt5EV9wi&UԳ*Τy|'{]͑u­)wpa?}ʷ.;T}iVk;3]ɕ]6[ rsah&J|4^whk\KgFDR3aZݓ*S.q9\ &k Ǽ* q-=:?aya;vY\T*i'hvLjNtrnVƧo-&qYQ9Fl E?蚫bwk4u/g禷L{ 8aΒf}FN2ssCNd(Cxw߾Pzbn㟵lN XOBҟk{Cۣl)@!kYԕ/] /^ XkD=s JV1{QC.L\]+@aĪ?9nN!A8R$xj=˳nťҖ^YؚS h D<`ηQWqN,d4j#\U&qX c dvqBZ!E)Hu>n[3o םi95#9mTXȶ|P/xrS.%wU.S5 ^E8 nH7 ЏhqrQn!CVbJwœgIyonnsyџ~7gl59^7ԏxZb9 mT':6(: v{ҹn/Ia{-!kANS*zpjؔ/t -oތÖ I1{Q/{~w0>wD_[e<1~J4"E<5 4g [C)H%XqGf)ͣ*ϠRē^Λ#%Gyd2gpŌv+_tǺGlBh⹻?Ǣ!{aN%&~u= (]}IB-byE\(hK)>_o]#7kJYB/l@/[ZǞ;M+ѕDjOl/> #r?eMY&Z9 6m,& 7d6پ&915r^:H -*9C(qSMS(s$?{,@|VzIg&Aւт/FeԆ ʹ8-K֗A,G"T;LhVBA?tעc]q:<1CΥE=;./=O:.exYn?K|5g姽k|{dk.B0!π55y6~L 96^)?ۻߌ[m[?Iڼ[jv,+@ޅ! [\{3l`ߊ3=N˯@,b:: V&X MA:yw"Mh4d`S&/ lx{SriӕۨkAY&zm|2 #9,2Ꝧ,݉O]*⻢cjqBa=TDe7L++~{Xg&P.#3UEf`r:ڿn%t3ݭ4!H+hY4dB9/Kq^.Ϫ>D;:HC u$ Qr&iDz4r,J"3CJ`" 5#t1%Q8찇_N~ MCģ~wPCuh>|- 4qɸ\y8e{^4&? fzel7fo@` kA^uˎ@xGcȞ $Z"aQFGX_%B6sA p]7˔YIjW1^nāmG4R+p@Wm[P-T68G=p {/AbrD('5C{Q;VU~27Q|< (%yq]q"ؘwdE վ4 -T0rNëtC9༮|ܙz$4p1czlDcG$ H8K!vgȿ}jIϯ\mW תU]j'HřL%OxL~@-t+ޮnNdVMSsN3LTܾmQ:: re5I2شAlUY›Ն[dR:F9f 0FQc6D`,D#:I|a샎b)8ȟ,MOP'׽E.&C h6wvHRFgqt;vJ?^3w={FE"0>b 'a[B7 \rweniMޢjYE 1--: IFx_ש(܏r80YFgZVͮ.i%xf=JS+pҁ`tG2$lCqowbqqKG~<4n1V"4|Sy\>K~sD?)d%ײ!X~0_vz8 ~NnQ$e33B k]T#!t#lW0##ކyQæ w5*Brׅk#u.mMuFu?otu PL^K9ם- -fBI|t niJld }/#scgW6hҥo_4(| #x; oj8D\q.b uqGМϖbȞiI;oF9"sTA6x]" lXbKՊ#J*J/lԄκ, xرBZer-{50'7 zDekrPyI*GlQr&߰"jBukgio-Q&J_P|)8!r [ Ni9D&qcn>x"5wWsSD#5nEJj(PIzyeXT]qm [Rk&{On\ѽt=G{ Q_e(VqjR=R+],<.벅}K(5Сkn쳿ŐwD鯷>"В % KDE:O`evXSCIqdot㜫ɱ&øL@!؛tV~(yQ3} !=P b5BU"E:@S3q%ΰmf"w{ I٦VVGنH{әy*TnKm+4t*դ3݈Vw1`i:m3-GGS;ˎԈ։1JyRdoSښVQ0Ɣؼ7D키سp71JXpi-iYC'zkt(96Yxoj?)!o& ֟շ1gC SUh&2OǝuB0~dd9@n1T%E LMjYozo O8!ae酵Ԅ(2Ll@=;3!2Bv p 4Uíw;3O}gna­6T\֢ŗӤ Υ`DfR3EmVB:K/Mx P,Yvly┉L~n~#?j}+AiBmEܮZs[1wp"8mLk/EkbK91"+︣FWB`$rS1jE)oߡ?k_+uRRzYU 7WI}]v+ݸˮDԾ# i ) 1I=PF ApT>_w,'*b,]8.5`4qd݋<uRxmp.kio Bs\ ˮѹ =÷fla鵕/L {WV'')r2-O3SmRo~npEw,۬n NB0[KJ;K\WbCjLYe8Iun5-Db4CVAaԆ/ds=5oc%4?y1c`+g_V~Д#8? ԆAPzy-nh7zĞZB9zR3~=ȏ } ݫ.U"N(X@)(:_c}``B={[S'ãݢ;af)LF"'>]k)( CrPy\@e ϻ;ݘv ]u3tLKga^IwUSٸ#&lpC3$m=)s0Mt\XG #Hfy%1h5!xQ*3ӇOܤB]߿< "3r&tP&T;O̚59QWLGtfz&9o[bG({k|u[4LaXN`7nԿ( ai8jMcȣx/\5}'Wpbe9`P֪clK^|8 j#:$R/720Q! ?-Raokϳ:,n!2?$ %?dUu1N|t=tccs?@We [5W:[_&K~!5 ph@`fi}9N:\ݠ_tUeod(p1*$2`I^F#d)N`[h%<.:3o`0d+V%F1Cj6'X]&>BmGxK|%49}țڴ"_1۠G,Cݪ~\2wԯa;b5se((s#S(W馾eM"mNr1瀃-*HJ֧WhX!(ͯV(zQh)k̵x p&@]D}SIr6X@0>;$ 4A}vSh_bkyJ}EZR55 ~? B(z16ke=*Q.C".> ~${ϻ[V,>qx1"36pqKsU9w y,gU0_V`ךY1ug9/%]4Ra ݳ0Ef81S.h~EN-yf;2M:ZT2{`]}}.0> o9Be&MJEG}˭qo-p)pKoSfRFoYST"gkrڑryTrc?1d ^l_~lGy]=8p#ǥ0K. t<#*_Iޘt5 u*hq/Os؍VDU%<:1WܮAh8 ax(ܶyPDCtaHvBG\ yGEEf[RhNG$Ț-9O{0jNy̯on4{@:upq;iS…XVvi|:1“^(l=m+xq(_+ ѴѮ3snVu!L!bR0ǻvHDdo.0)]N¶/~pE!RD i#BI[FwwٸHeu誈 ϰ$Yχ-c wtN>Y- @:FBvv0 nRuԌ|;=2gMR|D$Xq ͝3V` x<W-#; wy !\W.P4&tJ/%c&X% Ija o8 CD.!g7sױ?;LeRzDZ]es8U}A,ca:KE;Ĝo=(ܭ;Gôp/E6иAPH8X[,={5ATaV[lF-:'o(,w꺂{G( u8Tb:XrjDv{qy{њ]yCd3c}[ G靎q;o7ٿ'RVygс3 w j)0oe;nWnC6PY'cs {ߍ P!rJKUjᆮ sPNe=D5)]wc}0IO#4m+{n(ι &4tF@44+*fl7Y&N )yV]eggHB^( #~vNu'2+, c4hlNH-Ipjaj?o| 6F3Nj:egN+*~ec\f%%D.HvL_ xƯ*JR4RӔU\mSZ#?XW$ d-&ETFwjx ]Âftf?(71K8qLc",|4p+afaag֮yn17GbzzmLZ3QUZUz-~Lp/X݄D$ HhY- }ooyu+g䢩 F B\oI^apW:`A4D҅c u0ڦkO=ѽdB+B~_4Þ @e4邀D |;lE kª%^moO' ZN X^Vu˵ژR@:)Cلmv;`ZV*;LF5暾#CYzD p. vh!s |$ )w6:Qg㫡Y {C3 ' 'M%P%[5Ng[r8Pk6dSgCPVYɨ9l&Sx$؜è"*-aQٔIQ6pZ*eDvH{A]z.Ҳw\PEaj}$NӅDg"ȉ`8r]l G'Lj(ϻ/_%N.9y4 ?KܖO}]6-MV֓<_g0ς«ַ @q`\(H B`GMϋXwHׇfYiytpǹJ8gAb_);ϙ";WBmkE%푲UNMJm lk+^$OTXvglL;sd H}yy4$U%"Ak ]T<.0<=UB^a*j^k0!w}MthU=935ZAonh{k/h Ô37Wxa!9 8? g̀8#Ts GhE],7+7`b R%ݪTڛ=` .o Jx !< o|Tr&ˌ$sfsV[ǯ6{JZzq)]V7+RS|:%Ka3=q<&;T,J1##fEr~>@"> P-& nBc`FsGH'Xw8//ϡJÀVkIoq:* $e<$WlF_CNEho`IpinK&.nQ-h jʒM(ZH; =$+C0}.'Nq>#?rP6;-$^{Gjc"Lkdɕy\%W2m`% Xz@io5~f9Bc1rOjҫU1$Ƽ&>aJT2!b[R14N00r8<Th8z!@sIUgpH|Şufɿy@ _-(='P1_o%r\cO4a}]%/z# ЋIOHᲫ waށ|z&$CJ #=J0ltK"F|ݚ1 7* yR49Nx߲4دg$kw69zk1&8Y~n[5vBA'%_ -FhPVJ/#Tс.kj]cYQ4l)% Z~AWbD<õ}1)69yo4 Y0f1RpT:b pqȧJ&6IxT[@+RQ`}l}-Me KJ j#,'~:8d/dLX؂£F+3PY?F**2c6k݌4KklHs0yy, F?}p徻(̯M*\ͦ_Q*+ƚ}o!ßM7+Tf0bKDl VX}F=hIMސ}u-ikA|[Y#/͂y*0}Qѳo0=fn8J첊'9[* G8/L&c 3!|CYpp\AFoNl-8<!' 46Qc[)7y'tyoJ Z[$@0Cj]PJ2o>wZ noȊu\rtO=# rbs)I_ ގ7⮻juӱ6a6P-(Z:`)Pv(TibejtVO͟ 0!^q^AX7a`Z"IzLЦ\Y;@VFhZKfЈ4(ί '1'6D߻ff1۹h.PJUb_b nIWS#O@+?8{oH CM@byjJ޸ds[Y_q)ۡscʨq,^+3hD2hx_66S#ϋn1;Ng!X;c8xRM Gy+uWHg׻]޿qHbtvrC8N ;KFaS:4045zp4|L`d]/PI 8:Ս]2A-HsCtpY0[+d(-:ۀ>C40h]qu;o>Urtɯ ,6Eۊig_HV䤣$l3lQt^uKgV y\mg=4>0U,\5.rUBvN3uRSc՞}vӦ:pQK}ywiC^AH]@;5҂azpfavb$MPȔE S#SS=M5aGLu}j~g!f'z5S񙻷\d2{?r_uU" S;M<5PkғE,s7mfUʗCdkDL0̖ 17 aеYy &ך57"wp쵘@~qL#,C!eJ9%xtfb2!mO6W?=5jfn@Y RO%tF]#Д{JLxkj0slF"KPױ5ZUrs ROk`_+iJB6r4)Hw?<*gP6ԧ8\P$]?*}҈K p?-sK|}1nM9kr!QqE<[I"GU y`aXHji 8;.# BWjn0[=h y0RܚCxJWWz. ('-gxQ :Ӆݠd]ǩGuDKDX,N~("2\2э'U߲bt'ۍ P&"ߐ).;3G]45:ȩRL LC L]YyN]Ⱥ֮nlEi0# .^0 ߚ&gݿ.|m++"%p[tppF] ρSލ= 9 ,olN_dsaMxMB<5I CHWWgO&o*|2la(];ҟU@G~+҅> IdUg'/ ҈T^r&MgEҜȇ AMu݉1,VwB++nćd }3!;1TE6<--r۪VNÚCJ\PWD`7i?w+oDSq̥vC1e"]6ca?g)Jm{U0Oj?i)t- ϚL*9} GZpEz߀=Uc4Z6-3?mRq.KJ· VYM:,-Т8EGL:M'Ќ9Jd}.,8 *2Ln)A _ $]%s|,HWF$G]\m4#ѹr#\Q َyE ^1VY pps}ˤ aeVM@mY?5XUCCc@I=O=~`PC_@X ,d89$u؛*ORˤ{3f!_GwagZ2)Y]I"# h0156_p0$ {IW\bS:\X8_.mGydʑqQOg/B} whh7AZܶ8X?V9}BUωGm3x[ɣ؏v+v6cL{An2?`Dͯrwsu޿rXq<'.7#/*%3|EIEELxH B$V[EGq0Vu_M_, StYėoLHu*].~̓Y 5nPx_Xڇ ~6 XXA A]X2/ 6 8]jsq.b(!yƯke߁ۦ^ `}smSwFcFW#ҽO%drE+?鑬'/D[V3~깛= 3}G@<^98ݫ<]q3"~x.d Xad>|z6 Wx5Bv=O<n?Z]ANv9QX-mt(-*,!;U ͧʭ7InLe dtrAC#2pBǙФ|*yrQ/o#-Uη M8nX[OvYY̍0c{G}d;X:FDŨ+RqGW}y0M:JY} n e؉9yU댶ɷSτ(> jw oH%bS+{*DG}9<([3/Ar$/ӧ[Ad)u$$-kuزg5 VP'r hڔJT*n9[&zgb f[@ X#`wDN `4v%2,q{WCn>r:џqI'I$>:c--Iq<E7UR꟝yjB=)(;_9b> -F"ԵJ7 qM:Rr>ZyѷQ?c01D 5a" YvXtjnzO 6Md!keLrR]BKF>gZ͢]!~ r\;ھ0R=gc-Lـ1&̒fw5^JOu>aROy9l3&uC4 6tc3^jQ"ᚡ.Ao(pe u37 *ZWa7o؋Y!ÿO/o\a 98~:vOҦ>Zz|: aPf/Jd |z`'Y5BKVS;Uf,pI^$m.AگhE6y\Cx UR:R@d$0w'XPzv^Y;@"QE@WE B(PD}soWqB3au%A}C|Wz 4$X=9WV\@Rݖq4SßF\Wa׶K r@ ?ş_3m?},u[5!ͮ? 1LF6oQ;lB , =T0脧 [mt h[OH_1Y,1&S%'wTIo6ua: wE|CD9L'U$,'&7^|{ QR20)p@@ޱǍu1#n .&Y4Kwp3|#iCcjhW#́Hb<݃o6'k>}s !L Le>a(f +pj [9. ]/2 Az :7f7;.u*|} Hi$lL _fH>\`ӗwVqK$KBu ސ O5/O :/ܭ%<#$g[$1}U}71*şP`!JYTAxZLԵ'ו֢eG>j_4,FX#!#A}gREDy:8X{DL3Hi٥3J%CSyƈr1A$ )aǣfe׆dPhfQ a!bLth>k. ̩0;%}ˋXϙepNZS-yzj]=[k^H~tpsqӾ"!rLZRj!#LHH+|i_xm"] T4!d츉틕ActqOr ylb7ԖoV wB/ebL|2eS0{VBk_]q$ {|\ǛJN1,%EzEG.i{= Eb.yd%WaW^pFǦ+S^ީޘ%}C ql-^6yIf!!O8xuwQױQIcWXvH UP!(Jd&>k:CH !?6;<$>kՔ* ZvGU*%.+fAxEݰ=dt*Ǒ-+?qҼ\#~~1%wGFfƣ|4Rׅx.oSE̶Qsty.cT&Ӽ>ЈXu\M.:UKZ3Z)=4xp?ۋ}_j!;ظŶ W4sjP#&#F0[{cc(qJ+v?0s@1]#2NjΌVIL\u5l:%Ԧ\hq_@G&]O2 "?THמ Z Y.<#仛f:Kb2ּyǗ?Oq?0 &TrXkZhGm0 H8m_&smˈ[$ULǹh Q.Ӣ HWVѝN,v6uFf_߸Q"6_4NOsLԧ53B)+6o 1Uk.ta]Xr˒uO"mJRwѮqBM-_:ioa^zBL.+⥏n: pIx/!:4wF\M;t6m1Qzilj2XvtaG`Hfwrw;9>P ۴@o_q2/çtb aSAFw #Í T*GCsn:dѣD`g6 =$Atڎ?iRc**lHVe1?/ wI~@ q ҘL񨌤ƞk,w{?{h1}=QyBA+\IJ#`[4EJ)wb@tjp[= x#n,s6^i7 `qD_ H0G-bw` 2l/'jOW#Tex@$wp#MDMmq= hV*}!k  oϙG_ٱD 1{&}DI*C8 Fbמ1hz9I |-+թiMXYN˓(l8O|O덏 -60XlH^Y'.Uk J.\r>_:!)MLp @]nOwAW7S3}bh[Îb!3m rllr&EwKgn0sz1c>+@*픡EfQY&P @zAP EG+l׆Q@p9fOKЛ׳#m k}"4]Q)4-?dbWaLDy( aUIi'n l q*|X]_Tquځ_ljF\XU 3 bVQޱ%;N{F̂n9 `;jAmp%NX 1HusΩ(oOK2$sTnb c-"46$ W ]砽)f!aN>AQOk8-.~JZRp9BL>o6>5&q SEXIO.0RMEGa<;"+F7kwFaxJxBόƂ6lr,tJ8yxr};m4"{{#{L~ MܾI fíNbNNˑv9󛚝p++8ϐ5`AE9 q\DYǸޕm2`ˠ 6ix9/ϻ#%a0]uK$ưxWS ے` -uoAIRj[s\Ώ!6oҴ8{ʥjDn c;.[pS!Yd"/xU%Eb9y.V {Sx,)-yHEۑho&bEDPCyԨ< [ٶ tj'u'jA$'wF5О 9* m SۿQv EZjӕ4{f`'jɛy2V'k\ڲM([p/%lFʗWQ8 e?Wr* >L H8٪]l}mo!re$8|s}<;P@wN2 5{,<^??W?]f1!^xy,fPLtQ|clI9l3r}+Rfa$6m4ٸ֯i M\ 8/ByaumL>I /l7G Չ[H=!+ b=˜: %RAJ/IQ+1ʒ*^2׀xD"œAQ >KaXqYg)1;A7QP !Џ o[W:aPTT^2ؠֲ\+<" xf@|_[]_'gWhͼCaߛp'v^e^2 ,Fp BEkQ),Vp:nZ^8c\ivpC!NFS4'Y);&"T+6.2\֣تg^S8.#4⺴Ͳa>@iL&ܻ6҉leo_Tyy 28QjicqbLPw.%R B@Vk;DoE.kUYW?0T& \T=>_ElA9 G["xM:5:&Od;?uыT ڕH YWͩ([+WIp+ Wִu}j2d'${' ;n~QXJ/m)|` n2,z7GkeeK+# >' F$^ƨh5FC\,n ~)nϢΤ!ʝ YGJwy)䛩|f40)p,C|ױj{%X2 }Ek-G*Q1:z)6ލ!MLBf`*Ka>;N4s[49 ϬI'劎wVl^Do z:LR@F_9/N$9Pp\81zgnu U(*.a͂%M5(qcqI΅1ȆZ5/Ymd,Jb9njw[U1c=!c&ȀKAT~Q+A iWzs{RC}^2m5Vʦ$kþh7dMc)qo0?<&dd `rȐXui|fPg2vV<\0_yPtC{9y4DD>8v!1˲o#`޶&|la3I#/SlA4^RM +wL:s*uKL%"%J"J&~ Xe8C΀: , g4L$YvqW#4,3I G2*x'3Dqɻ6фkfYh^Gk26˧M=$*y#/ X8Iau`oQ"(_4"rQ1bU=k.#@83E CS\JL$a+Hp;?"Dk"o-}uPZ??/Ui1AiJ|FweӘ8 ՓȭwCtwnp .z@~b9bcm9W͛X[XnEn(70G(D'pIl󀺔t~3nՏ9g xLy8| ?%,`R@9@vEʳ%Pdr&-sӁ#V7}CCKeyy'-ID_9_g<I$˟<>/^Xձ֓dސ=Ops8#I0AU]/&Ryrg8m|lCJP*~u%{^ȸ*? 6\IxKiTTW!A`Y/uv4\cV]|H OY3dU ZN,u5N!n=shX;TO@?祳o*@$ :y'YK ĔςǙ!Ijb(xv5aኦ޼xu_dx0H!SޑKz+ZDr?I_mSHsԂH+h GS5m7j.yV;ƖV:Զzxfimy?:&}^<9kI0 4 ;gVuIye21+e \KM/`" ,˹(y aTg4C2iv}m QDud^Yw-mw \K xbGb3ӾSsh^Es줧=0Nǥ roCOEÇOt?v)뾩pH} Idrz@tt|]pneNJE$yĨqe]@߉ؼѾՄ`y"5VHuUV!#T?WWH:^P^Bk; i2avg(P灂4iC _Y$k94 / 'T`Oktu/PA@bTڳ~gk恞s#nӵ>YC!Ll>Evxd|m#R'ts۽V g&Ki\wҵKZģAQG3;=e9ʁlđ +j}-'߹td;I3.oGT/=O:yT81Xi3Y;q* Pe7 ۨQnƦC(xʖt8/(N%^ڂ2vi57"yd3UĽqK ^Y;'am| vO1Iw2` l~^]l?rXn 1'MWBp nt;rED\be 30f)oh74WI@(%]{ubʹڬW)OFr|5_,J*cl=<_SC6Бn|8T_;6*5CGnf *4 xsmdbLI+]+9n1-N]V,i= >.!86ԡYqrO.Ao"V'e>d.Y鿻Ӥ>h`: C2IQDTlcR>E2rn'@K Lhh<(X v@d~gr1#QڀB~*[21L>T6;)MIkn'_1@7e?hn#RBȕyâ{Lr6CXa.hsskQ%8 3/zY25_ CrlKަߖ!`0\&›[lrN^ %~k^ TwpsSK݌Wwa,K<|wA;Ay NK6\-\c΄#1] jvYW(Z7ınepv~B Z0s-6y} Zo Mn#2be1W ,*՟a AƄDQ&ZH*@?TW)Ɠ!.qh[NxUQaun䀈u3 rtQsQ8T1MHXT‹PRs8=N0PcD]NǍis~$~2r,Z&Q=H~`A*ǀ@rm{zU"p 1s3ٕ{ o<^?>[O`eCcLq6!l]?wO'ͷZtmUE҂/,'\S1.~ 5Ѵ ^ )]{`#Z?C_Y<|gMe ꦎ㱀w+8UNv`9cgW̍V0'o3%$zd2]?"x r{. ?XWHSN,ڄK:+RNفһWna!(ɲy8u`a?_bj C 7}D\ Үm #vug,AjA p^M Z rYH k4FNzdP@gp_ayXi2}uRJ%&}vPq[i*eOnϏZQ"1{ VBxrFtz<׈ضl<2)gkF#Dfʧ @K\8wgӝgQp9RVUOKJ%Z#*f[=/aUy>0CGN)oς,;C I(Gpcr{FoooR*pZ[Q'[Fv+aT\bE}.wg6lΟflP<ڂL:_. j7"Avū eyP[挅f@{SoVBS>/b e9 {)$w@xm9n(l(:y"iƄve*J0ӽUyjӌ 6J9F4Q.hJnk2/K!a U ](5 yʌ29^'R"hƊ1X'LfA8M]2qQdN-֜vSF'&5G:ݺ;2,DasBH|FF,Mm=?DbZx1ziIjL_m*}mCMSa;ޢ8*Zϣ Y9^jVHCv(p˩n>#Tz39J߉ a4򩰡6㾃Nri-SjhFg@C2G6½t-g$il&IHCPЊ ?& >/"9YXSbftndG:kѵ(%-xB8ZHM>t=D8J_e\3/Fdi1 9I$ +NG%*R5_:^ 4v )C@5%t`7yζUKafmK)0HnN/P=윭6;&ui͊A:& 8'u1s^ ]CV|2 6aK ;ݹeSQ$#~Ai ]߷n#P~uPܶ qb:ؐ<\pEVέTΪuɉJ˹G aX9%YziRәM}JNf-,ZR< S aDO*kawj󏒘xv0Hw>v- 9R#ԈToif _mƛd/4OZ44J;a8)䀘lQ85@U 6ǻ7@|84NoLv/9ߖZ!smuy=c62-P,_t$O wQXRxsn?NR.)Wu>h>EJJR{Q#Ioi,̤jA]B5+H[Yym\ipr g#et[-pmFWn vݩ}l$0ͱĕGyEkI Ơ9I.5`|NZyF[թD^q`wÜXWO?P) `EG%COe=ïTbK|G×U8YKCGӽOt6AHI,g97~|K xZrJȉ6b\P>AK鳩"|!к'a&9( 7(E8g!: X'}eZ"bM; e"UhԹkOV1ƬNσ)?,7,HRJȣQWk"3rJ/ ?ۣ 5L&RcveU|^zӾĮ[HTb6bT D~2-'ӆ-s1e$ΉR;w9.ß;oN7jzDmK&w*s_DW̲%#1!.sC䢐g#:dadP!>xx9_E|S9i|oHN`|"ahjg'oU7'GZ٢rpl䓃I)ID$7N*@7zV??PԵޣ RDp~j-X/2:OWg>:ɟ5Iw-0f"e?da ɿ7Zvh= >+2,蠻V'K>< WNB qhw8s5ap ߽Hxoʇ\7=nJ=-N'f~8OP뷤X1ࡩIGDL$!`X`1 o%@Ht (K9k7*hj;= ѳCKzt1ک@_Ï3@zhWofKjJVv:j"җU$BwaY1 d:[)~%pGa8|L"ݣrhݠ+>NVk/垂YsqoiNZVGp֭d;۱O7Œ+N9c" +RJ9y2#w@rp[^z *0V m_8>RA`+cCVY28b<.x`_Y0G'wfm.[Ƕ}d6戫>oҘ\eY)ݑ RB|4j#405i\0) ᮣJq驯V֗*{ AL\N/Crث\L=~iDoCА>QR[QQM1 &{u& d$lj"uK K.#V&9tM@5!tȾJMN#s RHFrwaS{xq^$r=Yÿ6>^hŸĜŻZA,]Z^jzK}̹}q՟.h'#'iI o'1*C/+Ԩ1*v\箘4l`/ ؼ#b' AsDq>Ðf$q ]#5Ό u R)z׷.}*rpRFsfm2vW aJA9lj#AvUHI3IAf}k'.Xd )Tت$UGQ>ýaqJPO<C}m ?qUt e?6u/\ cZclvڕx*&Q^߯!=eg jowO:{}ESY.Y.ЌD,yy'ڲYa2EUyéf{ZZ-DG;gqM*FOdM3!aVտ}xHph_P3}z %]j{,oFTHA\  =+DpLWp_tU 2 n0Em J8e=Xh<;F'BݷZ<6;+Tuݏc@~ӶLǨ2C Yeu6]i\֑'hZc32s9lc<92v"o3=Qq's)/t9hb*b炮MjXHܴm7.E5?gaB\IS1nR6ލ.{g\;٭'.0:E(䭣J ulZr^47~w/å8"$}o-f:v4nКɹX1#9O?ԗOZ @ V1 -xU |ER_K;/Ž ̚B{ese$~*9/3лkX7CV}$l4Ab@'Ydj(}\H#Ѥ)rwd/MwvfeăN1o>U|v»n~)̌d4|*!=5's&b?]{m o@hA[i{+ӟk;BveӪ4wx4dفDq~@]U{{ap:-2;С0n 1VFA&(2Tx.\ǰ?=Srr3 A&3pxZ 8P1OB qS4_?sP/UoC{L{'Tg&g!Ʀd ,JZ˅&Ԍ#>_Q#q&Nò15;uD3ybJ]K_Tt:95פom`ðZɲ'|3BU5cǶ?F^SbZv>";̲weV#,e}ɁFhXFbi`h۲~ @.[uuסE¥R4POcN׻_,{/xRvv{_nxR}VE A#~sB{4g**?GY57CGy'@BHA80#=On7Z1(/vc~MSc?GgުzĐݑ)mʞ1ĀF{Re??b1nCcun"m>ޭd1P[ $T)ې[ \ٸ^ , 5 +g<Lw$b`r5ql׼$/$5aIIP:jPۣh Q|Bk!?ruY˃Y (iAq_n$g X.h.j(ZcUT2mzl Kx` B`.*o`G{| ֡ Gg*`0Nyg?%hby͙7p.IaaBDW]Nv\:!6reQ@Nv҆] NԔ)^}N'lze7=[3K6je5,=uxT/Ny`9^. Jv"s uY{Y}PA'OmZԮ.ܗYdToq"xw nFqƘ^E׬c =8>W6i`|]q$tN ?9O:v~58.UNEiO~.s m~ QFim꼈h><#8bpm.$`w >jN*o]A|^z;(?'l8~(ȻٰL;$Kw_qg(vB3Thgag t+B<Jt[d0 WjFK~r >jw1aPt) nݒ&bhB m vL3 e]93DYBtlvVrMv@p^^j_^[3v-)\W4^]Lʅ,p1S9-gl(d&eLiV(8Je';m@;U^inљV'~HO6)RAې&*nNo, Z +A3Yl" `f+gu&xJsS/mNE:3BWyJﶫ^ 'iEh )Iӱ \hƌb5W- -,-"5j@A2TPg&ImƂ9緞-`—;X rNpxȩ<&3wPH fl}VMS02x&bSSrʠ.&)ԫ'\Zob1?J䞷OZbدs2t9#;NFƟA yTo9Rx [^{ 9wCcrqm}"ydwA!۽݋r*> nEq*8]r#0/YW<>͢.SsYOEcӟg+yXⲽM 0 "^M6>csT!P]6E%!z΋el(/*# eMɋ8\qੳ,㺿d^RfAkY0=DЖiNu굡.dTP@`q(-)V d>"0vl; rfQ!^kYUw#e,級W@_a 0>Ui XsDUp!90VN9Pu'44Ǘq%/O!Ec)+ZWш53Ԭ FQbG5s ?ε݊_DN*^p *%,^}S.?!>,pBؤ\kS|keс.@,S(b|) Ȟ֣\IL#_ ]!^wZ9[HB =\&&SH!`0\QL1wfHT֊c, 8;\T r@]@˅ieD~в oAN3rs1bbd:GX`eܹУ[^KQ%-KCHvF:%zo04B.15h$C+ܖA GJ;c@#8iVCtºfK\.TɃiY8t9\%-ܪ ONL! 軝MLGhu3U8..5+24*#MrV4-58'׹/%˹"m%&Q%q_8=~{3O-DtvY\a1_q,sE-9}v87> Zn:>G3HԟMfqa*Agw _%gtv UqH *PGVɈ°[s)N6bNɘcs3D"(s v(6Zx/n9ji-=/.ٜ$͎ׯULKzXdN4 8 h$ oz ^)fb45'g4 oclvDߥ ISFu}r\챏3y:GAدbΣI8QǹcEE,<WtMe?}8.ea -[kWe!^Ph$*rMkZh[8~47fG۝|*cWD%u\./?,;Jy:$R_Jqxgiэ 7۲8)lQ %%uk7T8*Vn~V2dV;ȵ# pQ?rc>2.a%Oy{%@ԆxMΕt;ŎJcġ9?>3vol s=#|tUG),]tUtAB_ Ż * ZЗ5Wc Pok+ } [}Y |wUIGz~W7ә/gU@Ji/2Ŏ>0r ͯȩq]opD"qJ0Dṳ} _pT'_KğAwFwmq7 \Kgm̚.UKsˣlwYT@ZͰMVn9uRaWm즦r!Hw BSu8m~f  ˙oaod@T@MeP٬7Ɲ"7WwȮk\{uE_#(rMe)JPʿh29?tTPh $kcquJ\K=7155zӞkb0ޝo$Ns&f&p0?YρO=6V v:^댲##?f,H#I2S^Gmp,Gyf/x aaG8ݱX9wH+Y1Cp8YF GfFmp7UWUùoV9`+ sky!~߳'L_4ާ-sझQRZ!OmzH "nj^FF9`vQf>%G`ݬb tSr'\]|K .Ȳ..T @vM<%HN1Sn BtgVb!e̞)͍KR03m@ Ek0X[Qt؊\"81˺#~dPr'E}-ƀ#\䨾cmO1mVc 34bsljt2/jG@p'|N3H]۔h c j 6@e{HO{SM$On/EdDbWtNv hS1'>vrӾq-`=҃j_~Ӄ,4WRB2aXb'aE w.wWdrjNՒA:ʙ8NpOݠ@L^T^ӳ1OM9rwRp谡^$;Uľp.^2b]Ma6Z];/3*|V;iuOfI8S8染#9}zAnX8l0av'* +o <6Z)m(UH1PPK-VA?PH0cT/pl,ѿJH@XKKEk,=4:RB%@UuJ\e5Sy VjTpcx@ qi06FçƗ4^:t\J e4TQ[_lPH(h j𜭌!'LtSj'Gu{9 D "TH|I-[For.?Qu:68}{U<OUP}-X(<36h?8~az~ ;/#"ѯ?oɚ|Hk 綉8?T|bOo!})U+31Y8jL{P3\jɱRtfJ)'q `B\UE#ʂ1v}çLEC2s+jl0bȃ']ŝ{_җioĩᆩ,l^oo]vf1K3'C1n^dHWzM+˅NJ.|pGghd| WWG"o!+$4ُmN-F Sْ` 2 xr]t|Dt_ U-ԱAB ,a&m499".cP׫_YYZyl!΂^ۅBe#WMrLE6F)ZWȷJye@*:PC!M7=%Է*sjb]ב׉ qWDr >MzJmzh}{@QoںKkU3"L~Ȫ?Ht=7}ZkH8I1R,GYFYuy6ܗ >3QUp:rB~d_xˇMIL] cCFHʆ޽2M8p5e.T e!}k^r@0}v@)< KMB^ʙٽ*ujb\Q,d3Xź ;:}omj0BcLY1%IrHS;6؏4,Z@Hp;هX1_6jC+NzPん0 w=$1D c@")?ԧW TrIe$Ӭ5R=JOP,lZ.9/Xҍ'2A*vDuA  %;l/aܢ\* 4U1W !2F|C獁`Ϫ;㽧/@^y>h7-=p@Ocv,m:o_9h)D>f$k4RF{TʝʯY"Yn f:yȷIl[?滭bH _T=ʡ5먮.K\F7)|Kଠs|ݴעGHn|ﻆ*Vū 7=CXT(("!ow{$nϕ/)>BrʍD .ѡ9 x#)C/lC>m`w>%:c<9/܀7SJvGD0Ҁz buϯHKGa,۽B6V2tD_0Y&b?}ϞHalͤP{oϽb~oX}Y^wGįSi 0=O=k Z9t '3!.),_T_kߟwX0Tq Qx5^cȍj~OU_Gtڵ&w}iM|0g ȩ%m|I _64n7ܑd&` 諰ϚRH0IȒS.rMš i,itJi";^zGlSgaA=NUj_+ү-}6;k$@+Au&8)l'jz~/1F 5;$l*}%l%LZWZ j5Wƫus}{RD/ ( ͑yѫU2/gWD*x/X ٶ1t&tG^}> 8 E,Z ~9qH uMLeNϥG4T:'f?X>;8=)zrw7QN%q+Lن#\؏78R6)P\BHepp/Fj/Y}tyǕBSMvLB6x>jql+9n A|!JѱWgq/ڲBFe |Xy&no@r0=şяD^gˏ.Jsє1]6Ȟf>kcLTи#Q0N^٫͕\bBu 42O0_ ނ{YDhJy%oOĠcVa!gPӰ% j h zMuqĕͱWPW!"Pc?Z%[k8D^OgXNۤ䫼x)}.,0ԇ6_It`LOI„ =z7f- E Peb\o jCfM_B*Z),!chz#vr3UW/LFrMyoGu $ z+Q}0b8ŒU:K'7=O$~h1ddj8=W$)籿(Xa_)D ~7AH6/{pHYgC8Ϭ0['dYz)Y/z_VC<"dAyv3|t6Nm\қm$nSnɥnb3y[>cŘI#7kbr](`T#&KQ!P9°eGcR%q-68i|sgw#%h'YVΊ+?UQ۞]*yɰt,6ʈͲ}v͹AJ.IݐIq yD.dS- ȺGNԟZb]n֐((_|;?=3Gr{˱!y1\D>e4֜ܗmV^ihxI;j}4iKT@"E/ 3V 8Kɞaq_φf~[h2hvV!mԘafvAj+GVdw3+mXp5:ѣHO՜)it9ZM_#ol $K]hd 0xEHև^M GsrSI}8Ԥ =%(,{]2xc03p=L_!%$.Kc1nOP8'HT߲r]),nGh &q!n !9Kҹ7vSp~wϻfR6̓|0sYbE'/F9]#K(X!vB036 g) S.XVQh )ڰj@~XEfHCK. R]Wv)=zs7H>B}@,V_W&`vOҖe 0?v@ۉC^jV3ϫrl[0&~ uqE"<=<2[ %_ j>/FJl}R߀zX} :?R%n=p%Vaʬoխ'mހ wȑ~CIʼƀc/5`A#ے+!0RtAO$riI1Do Py2DoǨ;BUi$2"y>zvHT[ZU ݔHDzvÆ\= ?9rHX#z#OHSBqjDh@- =Uc72!v4Y+%FYG$ʹ8)\~>pyѻao9)1# /YoXQS9`;坖FIp|l,Ũ'g$R1?2Lt6f]J3u(]/|uR(~\9R U GOgeP:bqypfBR#^F+aTyakutB{h> M<>wɳ VM"ܮ;yUAqeiC7'M cp0o~ Uz)9tĎ|ξکZ\e>gn;u w95f@ű_ ;5d9yE;¹zߚi, I=D}|V>1N6'84c*zq?{K|1-֌%[?#ncD$qV&icY?J//MTc H' Uvr_f ύ=nٿq?߂ +Yu;XiG2,lZ㐂f,MjhL-,a,qy.{Ȁx.*r*;$'sԲrs(2bVTǵV8 + N_ 1$L8Q)htDdӪطd,Iz𜗂2ER;?΂ryL K>Ey1eh$V=LiNv ddYl|)Hs+PNBϱtb(:_Ux)qk+Q;[n#hj*h&ƕV7L0`.d 5^eAVe^Třn -1"dNSfÏ"ޕIN ;,'5?VP ؛iHCh0hoqf;!&f ob&*c6GP(sTb׾Ia@{]H].{+v8L\GZg0ư&)ivu7=kogvuV5HL#@,hLFv0K,iWH<|'/a䚘p]T|6F=&<ӈ9zaMt)3P.a:K-jsȭ@L/v_CF,I8Y8 rp0'2ԘՐsEhz~ы*=} _MVҙzZyU͜4Iq}v{+ǚۏSV7wʯu 1 lHSh*8' NɄԕNo[-:bM4 'I:$AQ‚I 鴉S垊!P?$ &Q<*(c䄠sj7<A\r[Z9bvYb_z'rQ +Փ\ xcTy5< _{j@ 0wu+S9<>hUKݘጬ(c`BH礞L6_(&b*_G=d=W^Oa.an\5`XU\~naDAVGTn#7Lh]=]tщ%{>G"ZY>e-n!aD S0U,73e]M= ~֕e@%Ž wtzHWZB`%Z&UeȞ8͛\)hjȌ-_,T;Ơz@ayHY÷h"n\IJ_Lfcoqa;6hgmO7i#\-3ЬgFT;nC2x!jܛr[@ç*bARY>PkOdz'&BQ`M?z0 OhNGڂBM2ݘwZr'B}Y6gc?Poq:)/%=d(tAui{;yrjRRm@EcؤZФqaGV5 2\" k h3QxYݡ(Q֮N-anxe悘b3h'+Q]ʨir檀ϜB/z+HSVL /SnJ3؀nO@&5O\KegE-B6m}{ =VZY0vi Kt"芮=@ѡ["j/"'hьZ|nF/}zz ZjJξz$K|j-9d#3\O[pSj~/,g^1C0ցeny4+_? PӈG'(\NSp ZGc/nw8FV"נZeT=5kpV84ґu9`fH<퇻EiWc:G/ mB;`Ja- J_S"Qx^lKJ;n7*y׺ZD6yDIKkB茡AkaݥY`1yV[0"ZJZ7;FbTFuzwPf;~iL+' wgQ‹ONN84yY꿇Z rvK ̹v_>_8;3=j7:5 (f^RQM1bl%(CbPçe5SkA34K H]Ux'Vqܼ#\_!RdLz@3_TaϺGW'-qgNw &/;BI8@(>4O\aE] ;϶: #w2s6N)pT(tĩsY)~fT82bFG¢m;ʡY:S08]|!:o%akZ:u͵  v fD)2@q/<x@8ĕ CK90c|j{iɶ.-0&͝JGk̂Vi m4k\d@hPۑP9ށ5^YʖUhyጦ9ރH5I]`w<7diw1 XnU)" BY ևK_&rv; BL9\ Q~|>j [/y3bG^,0"S{f][g޵<'Q Af*;X'@\\ҡbpةӅ yԻPcRA>ΏUZyda]V;f%]uO g"Dlxr֠o*ěygr4.g+Vr`o ls V2%3M:rEJ^bÙPdֲl6<&@cM}iPN 6 1Iᄮ3@[_tδNo/9 jQv3pad]}gJ"3a _ddV)E6 Cv){*6b^sz(_ZJ0xs7)=AJbKhFJl! zt.s3^7ނ*{w7V&KBzsqS|/mqpz#-VX=((3 )fa?d7wvč;)+MY$t Ӌ~+fFP ]R*=xѢKwh[տZ̆Pi񐅸ɛ)\ Fޣ| JiX|䑪U`ߒ`TfrSVo6jBkS]Z$1X4E=9C~J¥nӦ_m0I[ݲw^;) 5݆El::M )=Yڝت0"tjw*N*V:T13Fr#qP9w5)Do98<0sHѮ2Jӂ x$ԻNճ!ss(*#B_hz`N)STkN~LF\VPà9#؍}k>/ P$L8ac\*yfÈ;zrGKb@x%[e`853\+]= fDd ݁Wʦܘ?S\{x2FGP: ҍ\(+MvGPfvnuYo5 @sd 6Z:˯<e+P`N'TN%=g)v4*Egdo<'1dcٰR\bg.7[ ,XaoPm+U5קJ($a&m3u8)CW&,)mı5je7z')IԌx7Yorݔqw B_xW3w>~KH_8N ]:lw=e{vG/G&_ ﷅ;z$Wۘ:! )[B5'.Ѽqe .]oڼ#˄ _ =~:4"Qԭ!-R~Co<̓c.*jt 1ͼk_IC@dv٭"L)5j7D&Α0ߩ: U{5iU#eV5-wؒŢ{H HXo9$fhyǻr33,ZDALF3,u10ϳ^* rZ3;REcdN%Z`b(8ڃ" r!L;T7|Z~x\=Ki0FoIT .G&7$EHgga!NK%S,&7,L+A3x3?޳#w^d{n#oKWx[գ%٠Xw:/m/ceOx25 5_Uf8-aٛ H֑rVqk)V$ےoP˖v]ϫ󷼫p"gxq`Dh\H }wt+@-tU,ޜ}X\5zf\w۹K(=M++C_B +i`+";%KͲ7pd#ou#icHYXRDn/v >6}2J+ű@@ֲJ7JWITIYQ 8@\ Zǚb@!ps.{5v)d䟙]JJirǔ]- *A4Bؕ^qRұ*qt;UA|#ܒM7 7+bkE'|׸woDgC!P5.K~ )j(ƃe`ZE˕tĈ5sר *EЮsUO!yfK<9vڶ&ŗ$ދd5.#R2tx Np1_{Zưbޙڟq5.iwHdۧɩy4>egդtViɖԟe_v%]DW?}~}5_#o&/'Io`$ dK੣ џm5fS _8\qa)6+X#g߀T!&xSI0!>%m59/8sHQ[Hf ޛcU€Q@buG20nLaHʮf)׳aikkoEL0t\JO"X ,p%-}Q/BϲaQQnGG6}/E6v.cdёnnn4ۖÐN3V^4}#h,][rG+kiOh=t:숋riכsH(WMlól;}kh 矝 oט#'AۢfTV;AGm<4anUd`rLQUZȓNkc aƻ5k/v[ލQܱ~ N^㪀^bNA47wHiiPvm{uk>|a&|qq?.7™dćiO,W5p%hۢȿcb+#[Q%)_ DNԯU㫄 YyW|bY'3U6Aok6^`h9MwBn`W}V˦"yZA={03 r5`j- % B%WYN-A{hYÀ  }$+,i(R pvxdO3q uۛZS7CABzO(`]@t)n秴]okU٠)yf2l,Z\̃` =AwWlL[^):'bgV1kھ'8$t2f)ňzqJT T-D [zzʻBr= jiK"gEL.$2#+(KDjvNV]{͛2ջ ׻m13GE|a>H&oz+u5UC+Lk[%HO1-Mqpw%Qi<+g>5uܷTұmNoJ^bⓌ֕w_ ouc<PrYlOA3O0W5Ʃ9`y/+ͮ!9!һâ~.2pG*bKz _R3zmrl,DžWEe! M!&3==O@X<:s1"e<_LI[p&:2 c`4=itATȫ&}Җim\/YZbYtP6dx\p[+nu܉ a8èy*z3vJ񞢕OuPI_OJ`67~ЅUU~hL2aeAِT@AՌ`yNOgdMLb GTJDGz廂0 z`? !ȶM (9\;v8aN_ ^f u˙\g>_f_bĨA 0)jaύ#H[ԪYLW`^<Ģ-;nIexG>L п1qGTk󟅈oj>u1\e2)Rw3agޔ;%"UO C?g@,REOSHPUpKq^ܪgI Ee#F{KV.<)S||pVبCY/KJg+^M{zrīY>[̰<â&\X*_zrIKf[V;jFC~J[`8.{ay~4][S٩ H`=P<1) m}u#N!j!CXh)%2<ec-ۙN;cLk 3a6ar| Q0CF_Nih))4p nx{IRawYmߑ)-QU 'CZY8{ }jzG7 (-*h}wIƻXf73>< <K<ک%c#x-FÜ8 V6 ״ M=I8Ȅ#1` W$1"AFW[36nrn.|B5 20h IlU ־kgv}^Քz.{+^Jo^Ŏ1A }вAjnBR@XFxm1]Yn)F g'my09p*l49:[7JûypI/;=Mo ˫v` lţ)0:s85{32 Av%"*& ~峵Ԃ(Yw!~ ۤ Av[e}D8?bg>)uo4j8B%saqQ'RKtNQGB$M7rI#]^PdKEdv@AZp׫8t6'ɼNvcatuֽc2Me,ѡ'DI BW-Me.,()"S^%gl!˼wJT,BX;oI&>e"N9R%@uu񻒯]-N2q-yĤLTՕP*'b70vɵvX?2Bgl4&Sٔι\UT|nk_!KUiSz (a@g)BT ๤Rm32c~xfEP,Gd0*p"ZTILsYp҅)Mx2f]ك>;  P'ɫ6j2 ic`hI;:PdA1=dW1L"lxԬ&M`K@ Խ pXQkfQ.9?FPNh[n::Il>`RZ';2łPӢޱ3zv(x)rYp4?z 4T1P(6V͜Zjڥ}B^`r_ !S;O~Vbڼ˅pk,ZK*Th4O5K'#wGzK8>Šs 3@9Z`n5-T7 JRXs:x8(.5ݨR3}l|c;e#ѤjWe"PA?'ftܰ9Y8M`%ht<xjHҫb;[Kbg 5]J|ji"Z~Sx#̀3)Ƕ6q3=dtfMoF6SA}[MQS%JcHh(urCHvqx`׾{+V>(5s1p@ЇN_}>Ú:<ڽ[Ng?ICP&VT6e{w l .jT*Gg aPzknR$#/QB 9m(]l!C` Ad#{ա)$Jڝz#+ˀCeBn9&92KiLEw {*l_/ 9~&Q FƝ/k.?0D{U P(7vտsK o"n}2gyJF@ja`nLdÑkFl6aU-y6_N L+Z^jd-a@: H!<>0z4en`ULŨznAZ.h^аUNpdG*n Kӧr,PZ^q4[#2ewV8K6(ɳd~o5gHQCkk_w+[ nB|ȴhw3.AD:jmpSk] f©GpFϟ6'SQSai gi!86h".T|axWU\Vo]k|k'rARZn`x= -=- S#wd}B.D vk-rzdG8䨾)F(D{f<EBk).>+ l7/cL)wf,*0:ۉjȦWxp>)m4[*4oLPf*,T&G^II4m@> ZMY2g6 ,PK_odJ>5mmR%A\gx2"8CI-\9l5ݱ݊,.&;^؊!gl9)5I87 Ten|%.HӞ˾$KѶ LD3c;[.#$H慴\H;7UAC\tz$nonmb:۳VnFpQI*f&DBel]L.v@IN)j'mHLhz5>$K ђzCK}dT\318/O<i[f2,:Qbh#.UZY47;򭺇1WN*,U3n%I$N* \Q TZhhCݯ^\!G[5'knLj;-v~5'VO5&h)p'42 6DmaJtSD]%+Qn ͆TOLo<_]eWUY?u{h ,ހɅΥ۱-8DJu?:sTD̫Y2yھw\؝17˭0ޱb {o;Fd^BhwF}{5~NL {0i`߉UxVZ!RנA^G1&GS4m4>KȘ\ڏN<$xakrJg[4E,vhpqAržWFeVNѶQPo%b|IB߆5˪!u(pj}]Bؖ}TgCr?en:|~N:ѫCTXC A(,.\?Qgz:Mg/Tv  U!K6NY_-GNYHiP*k l8Ҍ-@eWѥvVyb\k C\Y1gMtIȑ$0@/6ibk軚{3 nO\bփSa %ZpVE bRд[`w>KT pC&إ7p>]çInBa52/i980 FDoArȭ0w޸ƛX)5C%a>y SQO=YoE # f>hWZE{@Qd#1m<θ0R/iwG I*B(M\,Ug"-fA*<%ǜEJErTnU,IUFCTmʫ7eo礯KGw$]2d^H_QC.hݎɈfeQ`_&׍[ ?& tBJ|Wt!$S;^N`~rZӳw ,!:eG9N]5K`^%n"S ,9(aBv*[I5+x);|~[uG_kQ+  ݮZwe`xb_HԾ;]p՗ qp RٖzU YZTd=USO; *6RnS%4*f}uԌ&v8QgΖ1n4]*]o/_A?*%K6NO[$bȰ=-(ٍ`z zn_^GEB[@̷AGa[^Gȧ= +'_bUߒq>X܉`K f(dss*N$KV\\Iax_^q/[iLFht @7 4i|ίay (`F캬~ι;aY^%ݙRrv[G~Ð},35kR5˂Yى>O1 + #(f.AQS\yjBn,icM|B&9HiPz-@ɖ8}5 ^iJ&(υCHK uސN2I _ 4_QF IxͭX/юFEInM`BA =/  S}z#ߥ[dUN7gvӌ*jd hP'UΠoB"k _ڎw`K? _^i1qk(}IZ>%Ꙇ* /Lp}Xb&&3ϙU< U}a/PW4#Żi7C tzTVJ"H+g0 ogX{r<=\,b䖮D:t.%YZ5;zJ|yEX$yy7?"E%Nf e"6s+^2¢L9QLNA:X>pet,urv6ڈ_D8Xuv'^*`s3_7  mǩ~ Q8~< z1,s@Tv1 6$|F }u"~28=zqBR"[!]'r[= N}S-)-0t“Et*/yvW-V * .}+%fVF:_UbٜbPÝ*@Й<+9&;Vw93_[JPG8;mt~cJku)ys!2"yՓA'1|*gOd6PV1v'l JBnnѭcp4 H_˜0z ayhJ**t %EGbY7PFȃn@!Pz1]7ō&qd§/&|h`jIƟ#^2H\m`4bM5"tJj۷_tTvBc`_ ֛#,5GvpѯQ> gcOBGǞ0k%Ƭp͗ssW[oj\GV;mFNqyg0Q"In F؁,r8=YJ<0[IU92jF 4N|3z;P}&dcxd@?̔D߉W[[%QIeCR$\QQ 7&JH4 rsԨj:VocwØZaO'\| sp{݂_";}MOBɨcb؞I %l{8 ΀{{gݞo^7x`7Xhr{uk[Y9^9xI߬U]iw$#ŇDUzF{߄޺Sdbȇ"~Iͯ!by=XlEl> sލi3Y?L&Le8 h#0FΜ+{<CwU4$t^KT[0"ȣdy"f|L]<|w -qV#{jFKӘ;Q 6>&7bŴ%Cޤᆚ4!/u oj\F'X J8MD+ _';+~zو,$Of]@*Jv]|]@a?/KcIcؚn05/ѭVΟC,e7\m? `9ݷEJi2nI_rs@K4vyMW@J~Q/ξYACg B Nd />D%/yKڏegW*yat͌c6VWd54 5 DҗSfIlDX?i~r舧2{4͔I̖EQ E)L9 b+mdS2⑧kU|=,јVgoN^=+Yc*9`X a ľ^mht(Jq惖 +gY/tOu} %m|>BYԎyCg52P|F{1_fȽvǁa q_j/M/DNWIp0C!泞ƣ^V/kw^ \q󉾐W+z|9V%e@Q8(~M ~u{J1DZ{UV5k)FƲv /0+)°%HLy0="v]22b$5:t K+ cڅ&C^$) t2oL*}$K9e'f خ=%-3uL\RnK jp3.PW%t׬ڔJA*BMaԇ?awʙhtrOF}rH ]SL5+0.[ gόtN +f5'֢~x7&S5E 9wsx]3 Y7# z[kf<:8>TL_(O )*w@7$enPGDTIm)f |xi%P6?Ejђ)i,yS<ё#@=NJ*_G3G.S/d VutD`M*&>BZ``@i\D1>ʊKdXu±ݵޝQ{ ,@Eh^o Q նaːĉC Kkˑhz);u9kBrч=CpK='㔠nO)7~f-|z)+iW$<Xb# W3Daph-PxݬCyH/ ] nt:70GG8$olwu~d qҞ+3A>&(zukF,\p ZR`9}i9ʋ]ţ,($"{ܲixs\fQpOJ'E~.(Ai}y}A'xl.y~>I%Hy1T\YΧA@GbNڕO%,H?̗Ukv^S;bNG@%, |Ecquc'fm$p͒ަݦ6w=W BΡ<,DÇObng'bL玭"Ҳ'9bt չPxfbHSemn5gJˑ8;.[UsQ1hCT~:U92G=: *L QMjǘ1=A+%6WUc1RItVgԍjR{fhEΧE础rĄhb@y|Ϧ&>X??Ko]}ndXYD`<%,Ε"%~ΦhrH xp:W爓4$b7Q&Km'4{H2*G5A_c$E7g\?2$z7-:X;3mkbXc!O  muh%nt.JQb8Wr2!uAMWʠs7)v΁0\%gCGE,f5( 2?5v*p0h kӾBބa|$)SK֐s|. N:3TcfuOT¡^C\+'=*֟d( Ü:@+2U9Q}A{Mm8NboL`z^ErD5 L{f ȄDZ9Êdgi WypbW0pcgVs87((9# `WOkrv^~Wڵ'g%XBSäTdx,dd'DJ!9r׽U>!}Ût׬[*_~[wCrX\w)!\K^)c_x5k 3V$kz!&v? NqWULv9!|^OM8YR/H.BtB[1mQc} >ͼm}p5nj!#( n?#z*Vas_#1M(@o E5"PwuJVkm }(ۮ=آEL~tm -rŁAl{\_l||.h*莫a$*t;[|c#t(gZ(?/3VLgdI0*aP0)!ZQJJe;5R4[tƁUG H8<")1rMUeQ^B-}z;n ݌'ϯ׏iAЊ6{DFW+;%\+sl@C-TEaHTa^ BTNƟA#H%^r: _Wʌjk3 j"k2RUi74` GY" o|VAN6HDq`Ճ5ZL : %NCSglNN/܉(SH^taw=P7˭rq!{Av<(k9C4‰¦CvF)Ѽ"D3 Ywg{PE%K 7CU%/>.~/P, pa%":< KӴ e1#!GR&MP_3> .|uA5!h-V㐁1@-@~~fOB1PT )֪k::9җ ֈJq$-[6/\Bh`gme4ځ8ssϛIߴ琞 f 4xgK%wC4}bM8Zʋ]ےTuetdqnO梦ryWmba8hUhQҸؙXEeX*tۓu0ۆVpz76z3~/}2`Ф3DjY& u ZrQ#I0۴ H$5❉v: VP沍1ge xIؐNg)GC$ت%)Wri~:">XF=2"ptیTx?=;InF(і-S8akF "Z0 Wr}ς }02ˤpz \pb<x@`(~(WʎSmkuhjaҎ)j($hL]G!?넬oL"zn1F9.zߒؤ\%7:aZŽ;0O(b͓=1u!G$$8wzXuǎcpe;V>=PPXWe\#^M;BV"Cʣ 5~sxAsu{^3ڿc4f$7 P]iw:eqT5IpnVm fU,j~Sͭ % bP\HɍRHW`e#K=B)cT}8'j`zU_ߧ1|Rdw0ɪqAij|nHl+dcNiJFdv켱uݟi)H1+앙#fP#Cibǘr:b0~vB?# řٜb6\w>gY0Q3qs{%oadW1Лys* &.2h_ r†S삾,j]H|"RKNT/Vu[-G!_Hq5^`?sK ݤ>j I;@iLpK.ruiwzϬ 73g6&z34Eј{fE0هj'K1MhJ%Ai(f(jqBz*iśߠJc {8ʖö퓰HocI%NBeԗ(,(ʜG &gGRK1g6A, |faܚ5ccUri؝Z[l!̧^$T/ C vZI)ESF%8B e(3aqxp1LpLK?J^6"t|xɌXdL: .x!F.dgwVTޕ|3㋁o|P9QȥYZ\ ^ (|0ׯVB"+aw=>^{:QzxvIN%CfT݂Tq.D!7^>槳$8uuU8aɯk io=lRrK+(|^ ߣdnjk24ro]/y2hyn}5,bMCܗt,j͹25Tr}"q2:0r@Pv,5PN&;xZB8:1R8 !^菃a7[u/@G4!t^1n#ʐ> ElpTm >YUF:k\eO3/WkԉNJ`t@¶QrQͅR4K;oۂ]L1S U@+2HX[:3ݏ~3!9 Jj(OGJkbCg՚ʑBO쓴n 0Fk%8[5cWM4D2?}hWKfc$*DBþe\kIcj&~O ۰[iXSdhouPf-soRNF63 mڇx mU GPd}h鯇?i%l쩿H Z!GaO̐Tvvgq]8wLPGHEn r15g M6[;+d}/LlI%nfտ#g.<,#nW~2?{nJIè`)Bqʲ>eؙ[N2X#kܯ9Vn "e0I zp+H#?t\t@%!Yj57|AZHte0 ^3z~t } t8gW#9Q+Ug2"IKC(+" V0,IkRcqg V,;E!$^U$2Dv=_1oym J[~ ke< }M?dYNٺb@׬#A ]@L \{*w&&>L"L@ۈq$fL)b yWMV&뢡t u!󆵛8v˝Vק)P+{{S³ڑ&w@wq7B1Q?婈 _tSmKVZ$53wP9K$ Fm~~Dlwtd1'"9g"pVz2} mr_%։gz ø]ę8ouF6~D b_6.:TJP==B阧qz5hO&T !Xa>Wc &='ǍH;O ,ʹRf,B,u8xܬh5G()d7Ȭm,`qJ4,FՑMczAۥrpocNgQ@..GUDdH} V|H_>i AcF3.9Qe=rAD13Ms]^KI t#P*GX!& Ww! -5ܩ0$ I3' 2O"aHE5c)zûg^17X~&LKTc$}.9'@[-CEgEsZl7*M`Ӭo83fF/=Uّ,kyF`@ߺj6z=S=նg2Z|IH# KynyVaSbXN+L^ԢT HZgY#(fk\zGz׎wɎO&W :s=V|*g ]JX8iyǥ+;w_t,cψmT$rS^ɖp>Ts*0hC#L !fOяiU[w>KrA)1j'HҐXc?M C&' ^g*2bf~p`m-_y`)}A݆hȫ Ȩʎ8! !֗#;{y$:x>bXw oݕ9wD-^O:,w | o h.8-j 㵆S&q/̬}Fx.oq(ovĆdXp$Wk]P!+^s !m*`KMے0/F'b:PUG#?m)#jq^#T+J:5h\lY:dXH])HO eL#6@t o%ߏғsS`<muBҸԪ$Y>hT 'ܴѳeZ5DeeZ\[[:7GZ\.W Z*6@t(2Z}Ι]ƚ$n*uW{0;~; L!xvJANZ 2GMkў\ٌRFD#+B9(A'  ܢ4i-*CT +fUڃKR)n]4z6)='Lz)g+3'] #6^64[LS|JծV&>:f³WȀcVHjmiǗ=)7vr_׳x W=J<L[N+F榄p PS!VɋWٸ]-jj.hrFlJ^{c 8g2T$Z5v߿(mu!sl ZkO98fp:ؓ^ ٪f +#5 ~]Š&63b2u$-C Z*?y\CdPG vb览Zr,%@r߶(:SFj4,vK151$FO4Î>)L dLp=Gz/=~͍ C·RfMjhhIMw>i7)k@JȽD4gG Ңi8!:-lSi.֐4=lMJ7+zpu_ׁRVVǡǴÒvM#HҦHOt6/y>T'}yYqq+O}F3f4̟py2L̷PSׂ;D,ϫg=TwjT=Uku3JC8!~Y&'.褐uMiZ%vRިTr&"$Щ;SMLxTW*JkX6O7t=q'0竒#M"m.fpCkƴnJVQtV^Y:aeS&lRtб.\pw%lqgy;Xcb~ q\Wnh^aj=h )o[n?[C/dDꥺtw f`:N5M;h拡I */a;C#mr Y"ǧgi 6BaQ}5N9*t sy[zLO@sQ19Y) M@qUP<څ8:hI]0u0};ef8#r(^q5F9%J^vy4ssw?=mY;Y |Cs ln} +6_kj裹&@tƊ!Ќ*#4QXTXE:O++ eiGK+meT>: rj9&F_![ 6:ӯ{>9~b/g O=Yya+f߫F+ !c%d`_"+*s1kgVbUq5>!"SáDs`4_ FIU(b(5}Q xW JKjKV8ܴ56tfY1,dCQ7<;mFwP^A}PXAvLٷtf% tnUH~Y Dq[NCE)6Ƒm:"B_y"#0=ԁ.Xy(Eavd}8򦒧U VVz6}/,jCW֐"L!f=M2:LGG)% Զ,CUf{z ?6FOgnNUK2F\ 4K5OJX\_L)^ qObӶT`-< mX;6aܼ 9HY&IZӑp`u>${ c|Hd`-'cw@V:N3\2 0&;bp ڴs Ŋ(}WR@gH@so2ŸpA]ѽ kCI:;cꍴ#G d:ovlJOqLJH&b}_AA0*`|Bdz&UXM|؞[v>}L'F$bD*S? %B&N!P ~SX?ZÄNpabcoG()Mt"qa Y}&oJ[W 0X_e 3i[l=_뇺yg[Ǯ$BY {O8}L" ec+j6,hWg#Zy]ˉ=!:m5Ƿ=wֵ&#+ K#x)вovQJoptVoTb@b&0>?zN"6JXb;5TR"JzgeZӨ˭35r+/4E4x:wל(/m1ҦlDغȠ&7zoÏ1%>37y1;bTձ^RHR̊ݲ ? ,ԓ|hwp'rdS~i݋AsؚQǓ'&2f;ZqPݎ͑{>ε2¸fcVr(}f?-- zd\|Χp N̍qj9+!L4>5I.⵲$&Te#0a3-l[»^;p.oL"IrمPr MdMW e+FV`t;lInt-qO=c* thRdn2Gaa1@e?dߺmSoFVDzp=:ɮ:o2>:׷X[)j\\_pz?j!? b|k뤽u%o:@|8bI`X' 9}jW|Җ ~<0Vz r OeYCW,9be[Qb23u1%nV+tw'4 }&zqf71pvмſƯ' Cx+Rbk[ %sM!gb6{.߾\,o˪if3dG\tu=[Nw\;mݟsFai ~': QfզۂPj\ E֨,@46H@;ɾTDVŠMB(5 #Ab?6eb7A||3vNwtb:V%c}9|;(֋'x0&=舎:H)?кXMy&ewۊw=&X{Nk#Bmc֩Hؕ0ծ4CU/X/)PoM>z100 0X)&*OG*w4. RR:>$nz(6ѿT7h2Xy] @VD'G_ H*hW~qD !keRc^.["RoPz-] ϩ 7ߌ˅u:Ǣ'`&E,^Rq~`j_2 FU-TdB l1$? - ߾9/aqyf`[tqZx LcugJc裨)9-KyVւQH2i[w`D,{SS2{am_:z)v盉a2fdˠzW%ٖ։1z*mׁ,J=p"2z+h(f8[`W}n|]9H=>˹?8D^ˢ[i#jsr-CbCK(k`R:!7H]%@Ո(fRCZY3;b<}3rxSM[AN\B)<*3d$ݰB&ߊa r @f9Xu쁐 חԺj3 ^%EQ6ʖjKk |yR&u$ON`; Lȑ.ȭD>r (oo:9ױ;aǶ# h2<錺\_"aO>jXm" ),Vn=4 >^P&i}?մwrտiFk)%w4PE Y&Wª/l͆)qFonSb`:Rbeǧcp#p1;I.ZTp^uBXn/!_wypʚY 'z7fФpq-su[$jDڋZxǎQd%Mv/J+y;Ǵ:^*gZ1Ɣ0 9 NݽT:]yv/=E+ 7H GezD;g4ԠԺ-"iX.,^EO*Zeu[*%jGn_A&׵v At+@`/lkU27f˼<PU%„4|*Q­{O&wbi$jM; }kn˯5]iIaIUy XBDDk3j <cxʼ\׊Ux dt&Cis Iԫ @y>:\ %Zi@ ~2_RN_ߩNOaN&YZg8a D)V_a~gpZX{rlS XmWmۡl=iw'?cDƹS<͠v=s@vUt~3;iU]9^h(ۙ%qkhßCTT(f@QDFt )jRg#zu@iQpgP`crDs˶gF)VP.F "bT9 5s+c%7g͜DG"$y)|zq-w1dUU!d` P@PFH$厐55hPĕ:&La[MFx]׃_:^ȑZ 1|* r\+nBxOlUBCJy贾:,s:f+]SOX-JTY9~ʊzJwgl*.v.=w\626$X6^KEtz~({ ;^sXr-V#>1$.Kk.^&ܑ&"v=b ؈ !h(~o$<6kK>#bG@a4hF=x ~pPhވe|>ELPj zo XQlm K@>>5 qM6gDc)T6(ϦxU`%H"ko >3mX9K+-xgXIK$kL.vu={h$))ɞP@'3su2w KqZ@Z@;!uLDM+~BܮcN@bTڹʅsC8kұ 7M#ѳc*Hr iz-][shx_ he->鳾:`.>\Lcd\~'W[Y13=ԛZ1;DCG.e;~L+*[JK rJRȝ_q3]θxӳkt>䮊M _XY}XN3S lGZG1AO$ |}锹"vt$ϪΑ#IvAP~`+pl|ڬC F@]OT ~.V/6ha|3 L[ؽHzqyйXɍt΍\b. 8>YXrZfޱ| sDe4/JDkk!UwvfX16nRf(ŧkK>`Jm0vtu;fѱP8; y@22Yn|!bV)}ȵATR ?.q>|y0BU=G kf8̦PHKqeM<1C O_f(ΧfD)׺dNQMۂ-pc%^ἕ|vۏ4{-}pby欻@WPVCTב-z.aN1Wlد6w $mAh]-5_-*svqs d*b1O c/# e!oQOwazwYD8G$dxL2L‚U[@`te [wѩ$,8o Ns< fIǍLT ;4e0i ݍd 7M=-,unj{I@nl5g,NDG*HejWfb3*_H87 L5'Ahjin~A򰀤(aFP26uSc\Zsqshm".ˬg"YDT)S Q9^h8mpZpY*rE@v"WAG2\LSb5,]9_8hj)wSDK@}U:P4?_ZnaJw ٥iy n2j"#tkxCU'fZ=@eΌؿ#BA)Ea}D{* / y:R$Z~fO-jiG+:Щcxy>Fq|h]cš"yF?mDW-q 5נY 3[mu0CpPz^mRZ*FcBh;Ͼ]tMv89crp " _ +sQ<rC9XrR5k1a~CSMX՘k,1l~.//nw65O3]V\ ?cA$<7/p2ut5:/z>h(>qK1%PsqA<5u {v-_cT\M/̆&jwEV)Q/g4̃rh8FLjS%lY%z!eX"UѾS8<7_C}xSՠ3rsB~_* ?CwWwnyY*Y ;bz)O]맘B^Ca3~تv;6@n|-MhHOit+E}Rj ea:zǮ++ N)ѣYx gѽ ]-]=AL̤PD<"N_<$t0m"M{雊-\h;}rL`0+(C㳳zci_>XR^r@5؆+[WQ}E^(Dӝ\[,Q6Y~p\wVĚ5 ۅHcZ<'|NڐKMa`1ݩ` lBP 0A)1UE-S4t6GY@%z#8 cK^i?1{%fi *+UZD<\<ڙ[Jp "݅gAxokTiZgBpeZ28f s ThDZ݊o'A-|0(=G'S ݆>3aAS̜:tZ.fM;rE=[ċR>CVסC~̰a dЮZVJN sk)el"\=# 4F/n%b;Ŀ%q'I%;LmifGϋg&]RjAΥQdwg<]vL&Z"%a֜CR$}GN OY 6{­iRXQiOUDfF@'`̄6U]sS9ƅ|Z j6ȩߨoc{Q%HboT ad9p^^,M#홯"'gZajcVRP71C GvLJbư"ZUVTiGB)T5,s-SowV{zTojO;Ro? bA1rAh܂ݮN=xq6o !.ϧuZΩz[ !M7 nxJwbz10\k$Q[砨.w:߈0Oл>'k(<73rWtR|AHgM;Hc)^Gҿ0}Z`*ga5'6:ry[˜?!+)/כ60aeE6/SnKqUoƹ:gJ=͠dŞAa+m`T꨼hYf˜vJk=xeBh)~"kXF̳[weO8a5C PĉD 3V!;-XV6F[2z p, اsz} rE*w?}^5oۇZ(@Ok{W.[Z}춋q|4׶zpҡv(}^CE ڨ9 =VIC)yK`Ș%.z|H͟rm.yn_"j2Vw/b.U i;. )5VI i i~M 2xsQô\w؃Ζz?²i%j * 8AԨݹB{T'.XF Pdx]3z)XwJ.ۭ%gb|(3(Yҭ댩L¡2|;4j?ظw}x 3$U bSg7)bGSEnT8˵2٭4|gʁ0ƼY_6^-a %H˵z;7g%*?oNa9>5 ]kB0gdGP˒ ft`wVFBwv1mz)qLw6in OCWkTxB(Ǘ@roeFj\'([j03 1㝐 Sy;FI]:cdِ 5*& ?>ğ=r2o\S4ctʣ_i}Fng+'*TQ4$l/ Z@b;0d5D7iscU1{,I%Yܘ !~p8~K<%Z>O+z acaLn WAW1b2E 3qtԄc3E}T_9NO# B=Pr/%p *kLʯF[$L]#Qd`VSXK>F|0u-XVF%lٰJκ8TP@.'20hwY ~DN x x6f<4"-/zP/H`6Zq^AHpVM!ۖh0/+PBbIۖ/">}H37)6ԴƳPܤ^ӫO}Wo(-"خ$tM.LUι'Jjٌ"ZX+{%0*HHgnmk}zp;!f񂊲690LCQ p t=-crV\{ F˨G 0aI.dHZS69yͺ>;5@w` |\&La< ǻ9#߭` k{7p" i7tDs1T9D"J*c,++eDۧ'V97qhf#jeX 17֙"Ø]7# lw'xrR  Jv{&6;:D\kB>KR,ui>ֽjqL\&7CDŞ  w02R.r6s_ɸRN;H٫yu]R(ʼκ4xX+&DSUI>;y)E*5ۖ[2cۙ4擗OEm{^[r]BԷ ѐBos7Vۋ=1Kf\h3`}?Lo1T!6v'E]}cj`ؔCc:b  {v|Bt뽣Gz̵褮J%ur`68@7ϒTT%Hh_Z`Qu]-\N.λkw+7R ~3+`PN 7?x%{t:UE_T̒>3{c 2U 0>V6ܳKZ~2^ r_AZ~FףvJO ihʨ4D~CIdWQgݿpct;G77o }g步6$\'RoU9]n06o6>\[ҊUۿ|2NcH4 {e+bMS ˈX+rc TGІ0-}U樺 ZJ!z84O1e7*C9I{=+zҟQ+J$P܁'9/o GK2 f99Ē!>lk~n| ̵\'{|V^tSL/y ܪYK.'Ns9NQ:~ӱu@FTk'G͢L >2]"M ZΎz4[6lq*9f%%n&lbjċ=UGжG~]rB\AK69\Zx^p&o.}pzfkd<T?RƆ6@*O8fY En*PRC&>b:~Hc!p鳐: s_k]B;/F'*NR4ewMR1T8k.)@npܧ(Vö#Կfns<=(wb]Tcs0v&؈DkȖjF+w ,(QO6qb!lA!!HGŎz#>>3'0v&("32HIKK8e+sO#Y6MmǾ ;Xw݁ V'00Z^ےv1TxJA% 6#K@z۳訡M%<0K7{&:iKߧS R̒ڨ_vT\#" 8!st*]סrn Uk3M̯W!0ɫ ^y?XY@k=Hw/@W$ސ#J1mI8w_`7^|EZ"44!MmYXNb3]%N@)BIf 5+RŞ2+~ R^M6h# [2LTDݫ&+٤$@W2nv l>P-& dPN֮U隓vWmK;Wq!^75[8^ʂ[mji=:: pI f1(Jg= &u6OĒٙdzQ*G Mh}{Gu>'*egj3֎:-QZ{rƘ} `  42Nc)r_c(FԆ4ƒ=G+[ibDQ~\-4G@ל EҠN ب½.tac2uiQ$2R=;X2d&7+T|V",i6Gc'XМ_~FORGi)?I Sm qԆ1dt8@?t*cR ]L{W̉A<gG|-khXnbl=<rJրlsNʀzѺ$M~CxzNIF#It6bJ' Gh5LƐ\+kBְqX.ݏ6ѳִh쪐ڼă'W@Fn;f y"d=LPI\T&aL#br/m::i#zm# QR:ݸ$HνPX P'N}ȭ|ܧudYAHKo ^w1rRwEZ+J,|NGX2x=|a1KmN(->YQctUr@sWnOί ,W vO oZqH}TSk5']D!+Яz$p}aH hrm%񼂶#} &rah1D#trjRlLaEW{QhZJoj U7@$*ʤPx>S{}X08m= l'8 wAlO`ަ㉇(7ֺ[P]ŶŜ_cFRF)c,N4"KN=k;̮ڄy]GfܧP'# g~iIzgx,:y|L QkgpM% qN{! ׽^AM\ b s}=6Rm0 7pS\Dn`a(ɿg(N2VFP$r/{Y| f}avI4)9t ~2=]"_:5_J~gwkk-*PB$eqg^M7+h< şIјdaªA٣dbtZ!G s_9{.L(\"y $Ö6V9mq-do˸vĜٛ`=*eh4.?Z5l"lLhx5~oX)$MsȡWS=B!|lf~^%ŅoXW]\W7o^_sOLG*#_h;#$bna-{Fn[^u ^̥՘:  ܅?'l {Z=7BݘpTOi|eYbE:\+o)c<r姥 KlIþcMd IKj m-%tu?SOCץP0qv5U,z1/87 = v y5O`._72~L?2Ni$OSܼpGl$e{ 0LU9 pwO t9JpXV]'DMq Ġ{6ֺ~#.Mكy]K918P~b[!~d| }QȌE*%c(v=$'K8!Jٷ$~xQz 햒}qFu# ,Gl&ŨL=jiDi:AHFZHr.$oED%~ܮX>ˑ*?ad76V0$T HNI4rCpb\yTqH_{+,Mjst^lÄ#Qm;!Nl=6rK# ٍ~lZ5FqJp0-r.ENj"jbibbK@BVl~&$I,[ \@_vr@J춸;e2v)cOq4zaEZu(^Џ|E`-4[,Ƕ$Fe4j`=!kqĘ8 ]DdxCW #%1)em1 U/#86A4ht| G#+GFbNzP{3=GO;iM3<7?F. (5DGiZ/Bv.g#pe"1ݭMIv*Fw$<3MRg NB} zF+  Cj2Uɽg}Y9 *Əٓ8i yabdl&yFI"hec`~1ykqV n #Ir?]9 #nGP oQ=UV "ni>5,MFe;äC ;87Ee΢ԅ^jZ`z]5#{2d ZŃǍxߝ|Y/ 2#JZ4^vWJpҐxS/Y/ ޶?eDŽ{э=s,|@Z0BAa/gL'=Ι&Yu2Ƕ2+C'vr}=w}`%G4El<*@D_ Vqr:=Tr3$t7x@->tvGv.=Jce& = :ztL3tXhX)O'ROVs_Mdü^%г&]!oU~ |!!羷8H,%51\xZXLR0v8z֋S.6 mif8љ%CG_lq.` Sw#fQbaU䨱>K䱜%x ,` =X>2O3NS t?dfΛD|nl_J8C<\뇱7?3gzp:j0rRCLܛ>ܲ.g ćןHD+t]c'?[id9j윸$Msc?i,-5qP7#vIy)V$Dfr~0LnK;$0bE+ ^k.C!SQIʛrkM%` ԴYgV;78Ѥsܰ -Z.I䒬mY{Q2} T8w .u@fMqx|ыт#NnO ; 7S\yxNޫuJIF1{ qG-TUBH(9#*A&Pݗ >]N1DD`!|>0mb8E F@Fć/I5_'ϖ-8C֨+""<^{nxhp]ލL,(W0g vx7#JNx V_C.<l%".q̔[?д9DâNQ} 2-UG+aR6d#;|z|. i2QH@𔀭h=V ߄0f4K/q}5.XEP$,E=5jD , "7Lrr㣊5Sc<5Ųk^SugɫkOt@r|ZYi%ʛ gժ=HFt(O6>zii8j# %装;Qs|[IU׃عGPh;($ebBnʆ޶K5/ÍT0R(`5 )Yq*J$LO\]<+kfśaTdWP/ <)x BI6D94ۄhih*O"r=xrēc3 H3y6RN `rFMmTWɦ7{!e* $;,$Q$?4%2;o.tG],0;Wj z}h1Yw2I2h湱1yހC XK"z`c4Bd/|I'&JcUx939h]R4aDԦJO|3' #s@zI"!8vQ{xQL\:vKyɾ02"H^ гc`*bNv/ *פ2 Ra YQ^R5(`O ұ4~q z"U{īflv"}\o|4hstOv 9'x+?C.k]UN(^I\240qv>sA|I6v^%BrddN18il'$Nd|w7ةO]g=6uN[Rfiw^AUaP/W7yW#rA8-* P5Ā? _C,x18Yy(e~'J}#!:I^w2O:# 5VnBǘ+~[lM뢚 VE&315ȠkOM=2ebo󰍨b_ZS1FeH`ӳdrq31Rׄ-eg=)Z$ƒˮʸ^^` lFly7E2')x;W5ˏOɮKpP@ٲlA8S۷GOUj|_0-ʟ!jN5LjH 4+;Ӊ}S}XK\ȄFO"=c =_n%nݼLT$̒OT6a 9)JX2iu*g{pT4@Y!ʰ x9&::ե{QDFc ށUjYx,qC +f0֩%{n"\i`X o(:Ch鱂[u.v`npPs ) k"HZ=jIzDOL'F-lfә(V 񅆆\fDE輴~ZuO=ȪQ#鶈I@M$@|vo$ ()`e}Fz;dmt18[1 f-ۍINI摩m-9i̅=blK&:i<:Lj~S"鈊UVqJáۅ4FTXbA>ȒyG-Aၿ6چoyxx$D5|d:;*ݻ&(\;bz퇥m$(9oUӈN)%S0*57.7ӁYuHRE`1 {L;sR| F$4`_tV~gۂ[O@DgfbUA4}R )Pk o7f{ ׂI #n#a*/@׬u1r(z$ՙ?Ʋ%rNZ? Ujch@ϫP,I/|4q<[e@!ãyGؾ8fnUϪ}ҩ嫩ȵ5QnNpZAsChDVc4P(U<w2HRpՙөǓ5 kns:{6XiPɎ~eĴ1<L}՜h%&͝=ɎZn['-twq F|X8hۘCiЖK#{bTRw *i @}KHO.%[D-:ed;!̋xNXbΈ94j 2bw;d.>)i櫎&^b("5|}/@-Yd/?g vIJWachQ%ӻ¦R(qdB܂ʽk&}y SbҞַpܝnc+, F$@i놵zXNFD˛;_o4ry)^j *e#!j'_u%a6ၝQHT}Vޝ' S4B4-ӀqoeZe[SNۭYѪ?NCY`ZMVr9ޝ9!`t>%uzomڲd1C,kIġT} iZyP&F#R~JQm+ɣ =AAsjsE. p-M1mh4+ pҳb3f,P=nZ=7?v=X5wjl1yjGɷQrח6ODlس,{ч O˺bU4o"}41QS [=%l٬ *46k:}Q<ɺdEśnT$"K_̞TA&ps@rp&9.<~ 0F arR0˞ ϊ2 RvSLC~|3HHW}J|1>ٮML)D ؍FztWznnل D_Bᷗ TG/62}G3D:=gI&e1H|btՂtHc/qPN`ke::Xh.\gCׂUjIWp~(k'+!s/7,+歠L`kZTyeKx:tmKJiC$†1& 1n~7y~Kgn^Փ2$?J獎$'pev/qEmɯ O_/?beنՆG&Ӕ]G҇lzP6%f8yT1uD a. ibTM7U8yAnD] TG1YŮ*pNx?v XPW>$>Q`"hFpQ܌d#DvK{v%< QmX&")WrĴ-)oKTl, Υ  %i>82X7]-7 ΨlVma2) b aljlmKh[`AnŏSW夂2݀5T8-i\UP>'nme(Lz}tvDS1Lr29橐pe-6@w[8vh ,M01{:M,VcTʻE<'Nf"x2(X83#@C t.bJK@=a?_b*$.87zz܁Ad*b,Lq_ʘ\Ɗɰa+4F bCD\1*GEƐfxGx6tG̽z<#9>>H'\~( ǬvFhTߛXlѨ9 r9 o\Zi6lwd:j_xz+Q;yw^Vfܸ.'J]:"Hβ?XT{/c*eA^$GTyg$*jgÛԚ~\h*CKM0ϫFz|ѳ^r 91,х7!K ZstÓwZ*>C&ƾ}E6R v8B<%d=Xsc'1Y5#}PjUk;H vIHL,:`TɫqtܣFw]7Obe .c'4\%ssI @ #fҦ)'ց/gߋO7pdUp6ǥ,'vA˓@3ʺєt4qpd#B~W'pPc0SWcJ\pck6t}CpI!J14" JZ|à R)>'h]2i(v{lyʙ׊c,I ؗȜ NrZFiAg6V,-e((-auڸf3RgJPt ]qĂhqki4 3&~ [S^0A45fG}^$i&AZ6,|u!Sk|v-gP*^ qهX^=IzNL-, IwxzuEL$=\R@SV]PYK+aSUCo&U"<'bn[zI8bv-6)4<]b,dؙ2%|c|͐=S KF*T;7aKfYhZgUtR-}hnocBʡDFFm>T+z& #x)ӡZ~T<=>6Ń1jzo t f26zp%>aR~A4A/,-s!sSr½2HX GP1" YY_Fي9]nL6P{N4P]Cf d#F<'.j*9dNwlM)cx(9x+B haD7XJcCz¬m6(v+9Yi f8ȑ!(Pޘ31l)EIRj&ƷCd>i*ώ/<=U>rF} (w:S&\$B`p{B}p>J}6S}Љ0zOu:bh4!qy7_^JMJ"X>}N&Q?>*iL*z$ڧtnS-}^2+T{18 f˜Moݽjͺu1,6K:qoĥ2p FtOmA^7 B=R[#y1ܽhǨRQ8O\H39Z$nIC%ɟ iFoHJp;Mb)I%zMLe?x8ZK+ӛ8O\7t, d3ݗFL܆-(v^BKxmX\)望[Zc PpI9)'i旫.yi~r Bg['t8ޙt|H[ز6K49yVꂘ>ЇT't+똍Z-EI|d|puWfZfƯlPm}CTQT 먛tz`7W UXn};F"D1oڥ,T5 ~}+POH.]Y5aڋshiz,B썑kcvNLtw#n򏔨+aa`Bt ɚLg@o9֖8>m LK߸P/Oe8{j6lisgۨ Lnb9dty_ɆGe9.<uQ7VJż0VUB{E[rbQ7;7zkq>`bl8/ Kl4hؒEOZ+\< ̵& #A;ƻjz/lc H,f$_9ʸ2*i7:Dd= GX8M-z694ybCLzpIhagVⷄ: Cs[^@PnQ#LBWHݲ0 {@N.}XQsK)B_ş,]2Gu+g}Hwϴm8jM*tM!+湘aR d:aYw<nDkoHIη(K!ވʡw̪\P"3N[{;7o4ơŪM{b.O76CUAڦRurXIVT3B3j!Xkn<= ;BO5"WN>D;hV6J,!O(%%qqiUׇI燄\6s)C}4n628:$ؒѣ MNC>#Y%6~V'e8EB]l,9c8 (EW >c)۾N#W;qJBDl:'Ѝz{7B:+߮ʝ+# WPO֛U5Y]Xp7d%!>I4y9.IŠ<:.OT_ڢwj020@>9J=Ӱ-Z$;joBh_B9'`襏vvQ7 4y=u$07jA\6G 5 Zڤw,ǰ՘sl:44; nnr\A0^k|U _!ksN4lOͬo0n!LX'.›bFWqP{GE&_eV8k"~^NkfEΉEGb0l%M1:`fR7IPjjW#v4'եZq5ǯ9õ/ f]Ӳ)ӟs}ð&i;1%\t**uVm_盂{7 ' ~Km=*ag8d%"jsGI ΎxO*dz%o+п录6G o p6kX@Bd89bn?i3_'I 5Ee:k1By;Njmy0T+}wd:̐P/\Ls~ir9fd>?LǓ |yär[m2"\UZ5 9E~, M%'$ &⾚3n'jܢjy?<^=x3U҄)8&Q6"E # UP~pl\Y)ߠ2;Kj? iP=`)<*W3pYPgX^ W],+.w~j=oEӛ, <~LAU3>ʹZr0;$Nd Aqd#c^=Q{C7%&uWJЍAZgVe(=Uwi_3ӌbE drNWSmuxwO50V!wwŪ뱫IX~y4a8 ,!=1QYy:fg?=U,&ִZW+㌩SpetΫߞl'h~gA 7c$8$'ַLGmlC/ ,c6pCꕽ&`ۀYL7Y[SHzck3%n(43w$!gVȓALf{a SWhcyD4|#ͳ647x1QQ(KتAPQdZg^ 3iF '3IiۻISi~;q^%pƯQɬ`b׉~b-JSj7GI ؇;kwgg:]om,W,0:XgM>gv5u_gGSaimXɰWwp@B pF׃v(]6Xvܿb/WY|H'v#˄T}HC;?v$F.y_|5zsmO/J *a^U@tR-ݕRpzKـZb4 ŌZに)iCDa>VݸuuLjE,B>~-[/uZ0uΜ6^q'#GRa' 1 o YK|oJu, ⡥Gl^5JțefRt uڊ$xn8 E"?^94 Lj`~/.fpf|^yws*/[`%V㍘Hރx$_#Yל=hx΂вg537\Mߟ@?T穎:9XfxO#)& ٛf_lp+'¿_jwӦ/P q~|*r⩎(]cH8mCkd#/xԄvzyJ)IAL! .Ҟ sD2QZ/orӣq3">A;^T}v䋦0L1Mr57>HRG3h8LX~PҜ*P .ͧLx q'kuc8̇ﵲϚZRӻCaVDЋ`^LT"aoyLf"BǍ`-1u#.J)㥰$(|Tfkf[GheW)V>goV;?᏾ b^X DɷX;O6؝'/犏?[=ф`hЖ\q'bH/?uaM~]1ϸܷDJ~N4,T癐$M?mX녎) 85D֏T?~;r42ͧz^t6k)5JLe20Lc)TNUaU }=X-Ta8O}sݖm+j`ֱeƤ-%}kR Dy։1"zXe(o\G<lQaM@O:xABܢe*Liks7j~`:@4+uMn,:ې!.8$fVs?|D>%$MЇAE'w}g:ՠGD'^Ú%V+F+mJrJ0i̔ϳ*<ЀelOCiMzfl|mvvxWb0.4( p@䇈Sd:%`B-=5rllJCE:Q !^lo]|$˹nU z؜(dQ`o/ *hrFt]EC j`NwksBf# ߇: jJ?XILԅǝ{Clrt9RVjiϼӣDkzlېHMh6c0##*ݷ#"I܄V&f!8xȼTz{y`q><. /]Xű3w3^sȜTM\Oɷc(/sPj݀ u԰ݔu6*(LSQhE 9=٠|׋snد_`2Cj6aqHbZo\FP$F;%ݡ4^fhɱLxn$-1gƀʦ$I8M'.X#SgPł+7Jyϛ͚!s*Θ" 4)䌫D {Ut:t``H *so g2t 0]::op’DŎ#gf-p NlF~XRCs%*LlgbS" W0m~Xz/>ڄ-,p9GyDUWX[qcCd/%ŋ 3EJ,jdcN0gJzNħ;fslM E@*1m܁nrϧ:/-ÅkI{7;!ή+}II;>o)ScL4?jV!e))&jZ6ɾN+&61LcO]HTqZrNsM' ,;e~D'÷o$ ))ӯt4PMW/MY4 r#2ª5Luׇ̕>9R Z`tʋ'yG=,Z6>{+krH@qG0ooĢ]~ 2CH!E2לyZ? .,4eQa,%5å|o6zZW@Yd]DB|+dK" u\({L=n=܋^S|Az kEȍMIEZN5. :BS\_<-c*Ja6wA϶PB(/u2w%(p]JNr'G/hO]V ;Jze`N [ x.}J CmmY)jQ~ ӯJOiGp5gkk 0S(ѵG9"j{}\hNJE.Hג*U d3gl~R;GUVaOtNhԑlވf"sTu2Go W>zC^n5#C["aA#ei8.D"RṷM TݬWbmF#6G^s%9N{I}D%{o1%~a7<}<{䰋"Aʜ @RZ Iʦ% '>@#Xr5,d C2VWd3a5m.w=z3>(@RļDKAtd.-% gd}SxZ@,7T.{k@%>T&= kq0@;PqtX:IĆ#KDQ] :FU^P];`"V8b1EHE!K_2qP+2t!"Q[u7vBL}fUcշʁ a g4R⨉eM?Vn&VbվԗIEhM"=жV^S g#IjLiy`q8$$0Z a8%AH[)y4Q|l5lLGN_7nWsY;80A"O_q>&\ wON!څ+MSR?IxUh\r£co_27]'Jp1J7o̴f#CVW̻q֫ GieWzjmE/zwސ]NrL&Msqݤϧz0 0x;T)g2hXQŖvLBWX@vl,PEޖ:,Eֽ>jveŎ̼jC~0cO:̖$bdingݱ`|]o[F7\]&2c58 ⅅRLlXrgY~$YYZ6dz4_oI&!"Q՝eI}p+45kD4*2.CU|ۭ8|I[8°)95 SH@vĶ_aэ{/͸o[ְ$r//LjMrpL/5Ux: FŔI}CwjBOHߟ D1O=hHUWKa-+W?]j#X6' ݨEw04HG$dS5q1lR}"ϗ9]/b)c_)Նt @X) B̃s+##aO˄rq#W6ܐ)/|?ԽL*Z(;[$.vE94egMT QCzli<@U9c%q>0+B8GI}ֵێ{!o6_u/:hp!O淸.?Md|V 3f:˽#zXVt=Vxk֡V3%z !r]~Tp{I/jõCı_Џ]?˕Ԥd{ Sms E$v$6q/s.L1Ui˱ x!N 1̮e+D Ҵ)00B([ݶ0^V*=$!Rk]cݙ#ba$`DN7r*ŵ3i"NQG84xS̾u^@WJX}YV:n~1];nɖh;vd3ovowm㯐 uƴJ$50픡K Y [kaD~̬039NgjϨ4!dSצxeT&$Hfܭq65CI=IdeƊ!&;Wƃ/AfQ+Xo<ӈfN@Ҳ%˨ؕdBQN`B:D9\"= 'a6(em~>e8`UgKazЖx#mx/Tyqw2W.+ŐEjբzI;,2`lDh2 5aqHܢ=_uf.KRs|;)ySy7sNZ+"I|8b-GjUxIഏPH.,ﲏԯ#Bv>QB^j m|? `&>qZ6_EOOw¥tl+p )hӪRVKᙝY{)V)8~bKf,jhT%{Ou>%eڬO*6e1QZΛ*/8VȨJeL_f57/]˅v {Tjp& .y8"';3+ODm%* 9Q<`x$;C<5y5!T-b%3Ŝ ~(dw167; $BSِXϙ?2(|ґ^zÉԶ~I˵;G6uj^cOb8___g6Bxk-V?*%sm+c,#<*ښp״a0 Q_=p4*A@F S87_HTo oO/JOK@ca]j I. I%VdG%!:ʸыo61vg~5=z+E2cJLӈsX0Y -T7x10dLZx/CkՓqwyԬܒsk'u.uOٷpdߒ[ŧ>xG5}T w%z+AuRu`q>k队PaD. k>T]ɓl>11\ RgO^gȠu8Gj_<<7 (4^f>5'2vpT(Nne!gkS~.m^Nw L>I;[L'4nc-ZMKE :3ZyXKGVE0}JJtfPwwܥ꘵&\Fu!@?=(ZZE*}L}PPOiZsnmՙ%^ o-pˢ4hY+n][>\̦ɩjC_T?0u cNyʘ@ȦIFBRj:/K wVgHt3WPqt>^i,6V2g#*VD)%z{T;`پpzeY >ɐuU4,hFQPAGY`E~A_vK[-^]iQp0ݟ*t3U[q8mONTZOUUsgEo Zg;~ai4a \6G,,@F0$z=n Y!-XI{H6 9[)1+[Y[J^5e9OG8%_RޫW&t D=N*30|+< G FO(oթK5I۩N" c3;&(cb#I \An%֛ZLӱf܇M/tx@6|k8xv <~iRgMw&% ='MFP zrukhem\5ތd)f/Tj:J'}DMVTLKm/Pp{&WzSGTaȐj~0i'΢Y2>ɱ!iyW~ah*&bdci?$K?u yv ߢ7sp{ո3Ѹ-;_BXE9@5oLQ$dݯcz`OhOlu=.h~u0"2|:ߤC[ZSxZm -S S"b<7ɦd꡿"o,>kPǎ#3?|PCBXa4VR:#~nsNRWFq}2:%~mUē`fhKu7jE#_nԄG F.Ua32ftP0~`k]VҤX93ny(>6Ԋ&yI`Mc*c1:󢄊yE'g+XuzBr/QՕv36:,\Jeh-9G&-[9=6(i}('f+l< /oPG퀲V[+p/9-xA$KD17EhzО,pܥޢZP &-^m?R`dr%0q! u}mn6Ϧ MrG@,$wiRBಡrޏ$I#!t갂!9ܻp;ɀyt*RZmۻif&3m~E DlwQ]$\aj3G *9"fOd贶p'j GGug/bf/m^R쫃Xrh ̠nk-@3)yv&GBk H(^VL{91޾~e3|Z 6e?>|sE8L#e62{x| =($bc vG71+YŒD{SRx2qv'xxyt]~(xJd,%pDysiH|r]/͖(DUO ^L(>x|׿QP ܹw y5X#.`q_JA?f.Y>Z˞*F:*~`mZ_ {ݬ&\xi-?Fߖ @㧕G@&' B0jf%UӜ.T\v-d@ vr:j TV?k;&U@<~*23 ˲G%_STB«|nxuvs,gb^ TL:(u1gnNSS89R[rH@Hr:Bн#8ZAYݺg6X!BUS.+bsfUblh'$:Q`se"h=[F_JXxHu˒IU=,6?:.D!g^Q=]B(8Q'{$e-\s>:8B%WE204_~A bL@U{NNNJ$"q3,j'g$)LMFڰ/ʯJ\ZsAoLTv48էx[V9AV+΀[\C>Qƌ"5|`9x'TS 4d7%1̢ڣDޗIUp[qK)1 D&W~}> }n#'Jwr$¹ȍy+o,jqI^j))mz;UT02d4|y z]I|u.Xۘ9y G~C$naĈ8ڝgX-_(G>ȆWK<$A]JWĺ~t7kqEn?b-!Knu"iVQ.tXpx#0ο.e@Xe2Umj3vJ~c~cSkl _V=p1)s+Zm-;KPͰ|vrF?uQ?Z͟F_8Uˍ\BdAr<5WWi/Qc(}7d3v\4x"Ь3!- ڏ^h:*\|Ѐ\JCGwkCV0QlVF|T2E>o?r *svT1/evY!`3&wΞ=]ǢAؚv6 z܌K Vknl4AN4$*a}}s {֛f8d>dq4\̽0/{Щ{| ]x A<ŵ h8fŽJPuR_ۋ:|՟h ^=;%,4{AUӶQEKξA䭄 Tu)nՍ93(*%s]&&AQ 5x.W"^ka OP#flyciU;H#{o|&)Z q %-IYȆm@4m,4AkR~3&ahj.i q,ѣZr93)0C},$ pp1 m%L1r:JʌA؆sYqi'9j;&f.:؝P՞͆*۝嫤C\Sw DcVpN%_pR/vGlPEG'ޕOYqXTՁYiJ|^Q:qokelH@ A̖Ė*,15& o` +[`)RUmNvW)8jMXT :e|0TLrX5m-$n W̏(mTͼOÈ ՠr xjZ%#s`l,DXa'S! 2Û?$Y9:phʔQt![^o!E9m OM񡅽 dgMɱh3nWSlSdmtqOtND+s- <}8:\g,nѳwqlQr'^n1+d北HX /V!4 Uw vؿ܂l2i?1N0|iWGB{x<nUE@ۏ)'vkLl~]!&4E1Pwj >U|c/tNqw=MП;1LJ ?Y{~0Œ`1Kco:QO+ik$!:UaGb0r}*M5B.GmVC{߀ڡz_gR ΩWи)``~6ȇ)ہEFHn NsZ 5)}Z_?ݧЌao¼TߙQ/Eևh|.աI m .6b 'SN=-^r9F>e{IV|)"\M]nmû^UMrKQ'P/6-tվD+>N2U#0BH)/bN(IoTΚ3Ey@WA,}|4K) bAYpJ WYP14Eg*{ML/Ap[+ ~y~tWiWGDž䥡,k܂AՏ eD*E ͳEuݻ aEC.y>o!oWyZD=CԾۧt9D%g%2(}myຽtai6b^f%xƀ3 -74A( yh4#dQҠT[6=P5Կ~-!Z_?c ZP~ZXcK~(Ɗ8 #^MG>cQ4#f]wV$ v$XP-yobSnT:XS^8<&ݍcNWd.IICO6\c#6P~5BEh2Jz9J) Z-bw|" $,k O~)f%,@c-IiP3~,-OjA@P#4roFըr6ϊ`gBѿ~}o9Q!^$aP +%H̽ W4Hsd5?1{Bx5 EA7rU݌ 8R^ As3?*>诺5)=[F"ZzXZvjH_6ubHgT:aG@чr*-F'<U6ܵkPuS:K{<`ťeֵrCMW<1KZl:#V@FXnZ>﮶t3<0RV3)+C-P X *6dT`f#wL ^̖6!7~*Bz/_7Jd δs2BߋqڳjDp̧aO/Dȸ/Q;f4Hq]oSB"ȥ綨UGy"TڗFr %DQۏ2@5hޗ2ө=v|;8e4JrrJ?-ch ZIS p~t0*{qV,N5҈3phsD'+?sO9̀r ϺDmb"0uק3$Kf&z].A(x8ŷLZh5c!l \C tBuj `x 8@ppYy@*)G6PiGFJ>ꇳq·sLjz>ѣzmwO;SF`rĒb#ΊS*z}r b~mVds[ZFJ<}O{o̮س €1/ :VQD<ț9J,1̬/М;/vCL{'6sᎄS!AIC\ރf=71#fwk Ot߼T9|o2RE0^F;AH1[ wrT `p<Yͫ+!sUrxRgq"/tS2YEȵy9x WqTl9}cXOZ 5ioKpIn=B ]pvlFG1 ~p%]} #_9TMVb[{,UB,ISO h C\*u`79C]s=؋k~ѽXt|-E;2/Mgf¾0H'}?d#{WPo}].󧟞 )!z]oʒtBkq߸[va60 ri!EX%-[Rr@-Il?> &nOD#a~%L ӻe^}(vUEך}r/9$)C;m *ERG2vc^V9{j cԞ6?ZTLЭ RZg&[߆s ~jZ(f/c {^^xKo&bEzܺ"GW~L{zg4P8D1MX"AedNkWDL=!Є 6 g3q'|C#t8 kVrPfpW&Ī2zd56I֑b˞eV/=6G%uIHXOō;dqx&&ХFÀ]7ܠtD#脬7[pe[%%jD4gJ_HlOv]*; Խ<$ $Z_Fյ,]>PߨU:6oTBtJJoK>5ACBLji@o@w}_q'薱/:&"cfAs f.1Z?T# ~ jG0_[\7!V6ArMI"l`bl Q`v/)Z*`6Մ>u eߎn4YFC'JKQ (z`]LP'[ tlmok;Wk&wk`{Aۂ! =uO6Z$ğ‡ wvpiU+ĬiЊQ eOeϯ(xckR-ݏ@|d`+ |pԴBc%Epjo!#,6p}o) ;dҼV1.02`OO\ c!{.|)ҝֶm1$ι8GG\/([ !&˸~ǛЂ'KC徂bt{P vaWn`۠d+`727Sz)uH RZW ȫX[HA*1֩o$1a_l.x ?5%Wи eGVp@Y;fhf>y6υ> zRVYE '|?:eg@LZeZgDd &ؾ57u$݇7 C7$-|z 8՚MQ$zA]f`+ 1iFV变 S 7TR|р5㦔 Ȃ;.$ QmG6@$J6װLD^7tʃ( l!h#SIi&ᕛKZ8; C@j YK HM]!V2p"MԾUKpb܎ީn4#J!?oM'NQu7BSJ(S%L{Έ.H-DtV# D) |G+B>;˞$Cy͍X+ C?^]qʑ{!3ȡ$9gdmb?*Z@Βo{ava}V(u2xbwB3 m{.ëAؙfS@ot6hNO9U[x!iXBe_ =^`qg8׊尤ndb7&Xl@v7w4:ΟT\tb0;f|F8m4#-ץ]g\RgHV{x<ҀO~(3˞Dۓ-G3na9+ hcoSF2 9V7~t{΁#݅zgzX?̢\B/kr X4i?̊?bAZ@~TA՘ZȉaƁ g`>= d$HKLLuM}h3"ʰz@jms2hz?@cqw݃TdQX4zL0h&l4CV4ÚrZ'J_9Q|SVFG] ۥ>nN(ͳ X5Iĭ0EQ}pB۟Rb",U?)[%>'gXr9r>Y>/?lFrn"#|\ыLzDv'a R?.A˞1RO-.g (ϐ:&g/;6? r^L΢ӑ&XvJnibBn zWpnd+x!ZVp iuAQMrI׫ꢳ,(-2Ǥh4Я^9c TEch0mug-oXw\D;%i&P~ G3XO~9v#iM<]2 /134دGxY[s-R00^bf߷'Nrkp\+Ι8xm ~+ȫ+jD}s-V$Kgs'qf y;jQTOre< V~x""[n!}ʫ, ]~$Y@Rs@LZ+鶸1/6,fbdXqZu?{Bel"j<;y.^<Č|RP0E>EHUN6l;,_AmE}/ĩ tm/:S^$_=5 ze֤C-Hi:nZ/,I+PH.|G$pNIsK1N?x"Hl}۰) t_Z Hpǵ(J霳}uiJ+qx/ĩf3PҤRE`ӂC,%49=Yc :6w"Ԇ5$mD\Q|7 -ؒ;Q 1}9]s k-Oh+m*0$ײ#b0翤C/aM/ Э?~~2 g}DuzUFvdʾPkʁh=nғ;aLt[<4a`J]e':ȶ^tt7U97p!Vy2gI9/$J&7=O",B&wɲ$j+ I}#yWbrUAwO3udjRdљǓ!Q}[Nfj1`LJX4yVMPUo*rH>㧸POپ@-2"q0Fatzg)#?hhixbP5у\sAd)pz.װ[UT+p `a:cxC'ݰf 4C f}-]HZ/XQ>Qr,]Xh4㡨ă!HS FA20{4Cpi扠!KMLHܺUD-~y3x=ՃԎ1F}~[A0ԮX6үUJlC` [ԒXt=X<1KRJŁx}KA#lͳr6N*uHWpJ1͕ωI"I&8C]m'"q^<UKh\˭z Cu_iv-@.ڬ3/h~5>l}ϲPF{)]L5_^}1kp f^md,5D%jk1SIz|y$f3"wo(x1+!\QoX4X/Q}5x [2isƩlTuk&tYʗ&vю^n™xxBYs+Yr.x2 0S ѾBLã]~ h).2'߅. -ݰ><"wg=Wԣޑq]Ά+ c P7*UƋ*%ȝ.[٨x&ēa2Ş "zK1qupl13À4y9c*!>}nJrа+Ow|Mw 'I,y''k!bsdDq nυuP^x_-?'4mn<O; j" jiBO+a^ji_q|ړ>6W,?.2J*'%VLcwZ'{\ ( bӜ & M1s(D H#ᨀ#=:F.qR`㏪ʭ˦θ,&&*:֔rA}2vۥ/ƽV/9mȥ풼U3I4be[)Oa~a7!g $nCos:WEBtM[z;/\+<0/̇gfr`],IaXbh[aΑQu!a} ʷV>F3.θVso쮞sDh$%5,l=o,m)ޕKoa @$WC&b'9XPb2yfKAw=r[鍛4P=ۮ/$2~$VDrn5458?M߁͖_mF*MT+^;*׌$p ЍÕ5N1 z9-ĵɓU'=.YxlU+%wߌAO tvvKИz k6]֎F8JR _v.70Vd\QɂCSg sp pPb#h~5Y~2ޔ-cn7󚋿L.OoǩEP!/lps} }Oڣ5EnۡVUv%5ڷ!J/JFp%FP0hgN7oྲྀd-%@X_q^<#o;8G@:І~p lpΦ ! _<8M__;tCC8pPp/9NE|P7j\^5s>#DD* 9'D oKY; ]˯Xo/D\ȉa.7[ZCp,IP&dH {T֨iNν1S) _T%XXrkP-ofJ >4g7a^0 /8n2WXJ y_͜K*هX;_Aфq2S@{d_3-a׋4N +F:܇/ nYŷ ׇMoqPz\Ue.xjLdJK\[Efysxͩ. "H;# sxYT6 ^r0SڊDM%ڳ~MdW EGLW03TmsǬv^_!`jZjeTITtwvNJJwZZݶZkEt q[['XrGd"8k"ju?Tڕ%z<: x O cw֚Pv[m0eG}4]!'l.Yֱ.oHhYqTUK&b$Y.`;qJ;G+r#e~P¨_2%U/D n+y=tW)Cp *"ͤ7&:Xcqth!3CP\ٽ0'F6ݣ9ts࡟gj73Īu;bdq%:I8LnAZ BS8LDiKMcDwVӺO¸'XMg8GoY6}Dj"@[UvY[\%~EEYk{dtVBId>yX^[ԯ'[DTH+fm ],,jeT CXT?To|+'-Uԡi!״6۾ .Մ|6, .sÀ'r(UODRgB`\#‡|O(D/z{&u&"?5$k{b]=H߱ b޹)+@#&ovTD5-vi7VȞ~)=,mb/h0+m}4$*jW[k2^TxuwUmq`as'{/0MoĕfɈfqI"^oՠPں(Z;`x7)~}]taSM >'ue aq@+\\HW4 Da;ܷ[*]$8kZduQlw WX%)oL.sȧJBo%Iyp>V&ZhZ6:ri5}Ѷ$h6j8/x?>95-VLS=`Ķ m,o3mbtMC!aƝU:QJsȋNg˄ 6̲CEp~]9V H 'TDMr]_wwtchgZ k#{qzSƍO`B3iqSQQc" R"h=Zg/RJʗ/MgGc^V R|182ĬV;kFM܈{G2N^'rI3ķd`AŬӄl# GJv.'|O6m/]sJ*V 0jgj<$5h&K_ 4:S(X+# u, uN~ر"7KFi"&e,Hfts4AxIOXK僣~|;>FP($5dL 1s/¹Sx pX(*^7={5 ~gj0?}@em0lZY2+^ȹHaC],AI/Ϡ"J%”5Nz {} 4aӫLBh5F)䄛Q2 L*5@A0#̓AǶ *(ۅ>n'5o[f4b8 FU5ʀhP0d v ULh^">^FƛEZ60.>Mgnւڳ?9ZLơ+r., 0t<2DŽy[%v̸9HIEP~wk x %{&B^_4|wqгh1sACʏpq<(oLt(5"mS*4gv>eեxD^A5_}7;WaZvSm@*"1x~(.x{,VXɻvъJ( d>\<#Mz3IȊ!VУl:Z]p[T{ر[-Ϲ=9ڂp 15lw_eJ}~_bK#FC@Eǐ0T^ZX!زEd@6Us9CRx38_@8iz v㎵)݁DSfO$IfdU=1TFYHX* gQ*͈*1$0lGA5 {@aʄ8'0O+tt^pFԟdt׳\jgMHLk܉q/ncEiiįP;rvhhgѸ@P4!bvR%tC6 }V8{;l7G+<>&!]'mhYl'8B ttS uu G*R)WWL  邐F0aZx,X|(ji-!_^D1C" v93&j,?H9D7pˋJRՌH<,og>^0FwH*/P) T̈P!XGP|KL$eAnwmL* oƴJ(n_+ fVny)*\Ԛd (ն2"dKIo3ذjF\"`YƛUce9{ȶV$AIHAt?V4WB4݈ᰣRs3AQ"@xGA+ ~죉lJk|3hҔ`#9?z2蹩uIVoڮzӷTźzᢗz=18b26wX~=ؗbҸXXm)Aj>sSAQI{>-nH}3M[6}y_*^C(sak i_dxy0Ayy 0]$,G5ӂM#aGYi4w"MiTD3]`. jQ"[0-MѠ`q]aާ^@ XKf3FC\ ьi"Sʻ795~Nt$}"GU>~=v̆K $c S+R]{$Vם Mکg@qBbn+h)0|ty.lX'6O]Q^kϭ\+y׎~º]ݲΨy;{ MdD7?~O6B6gze ͉ZZ8AS(岊M+:Ҙ6 G>-Vs~ 斑¼lq LQ@s$#ƌntOZT %ՑA#+c2qP[P7i.G|pSusS bL LxFHz:$Sބ,e* %Yidr#-:vIH<38/J.wYKზwB1W}oU@+d{ަMU' Z$b\:%iK=P^IBwn/4ƚXPkݞ5h6;({pNY*g+,12VB"xɑb-\3v|-'ϡn߯[MipCb{O_Z&JSbKUF/M;Pũ?Py-jr8?iޑ5m'|Ɣ2gG H3W,[S>>f$LCa!%I*#js0asE^1 [ۊY*!ŷ "a˳6D ;7 r|)AeC)3\>yߟ*Ԃ:DUkĕQ|Z+mv_H󧐪Dh"{Bݿx*$U8pVvdfd=㑂Rۜߧ>ɬޙM׻-sZ2MJHEd l5yn9-='1_t";-##SY)8ɇOV¶i/X2Ҁx!PmC61 3ԟ`TVPBccC(4dbXitq2,lE?1фg y%@ ')b*fɖ{px"*PgVAÊ> UrDF'gud7vpIk'e}-w"=N 0m+^h3(ݩ21rho|t4ܫ1Jj))2$Z~BxYrX` BIi-פP̌!FJ% hA@ooJ! 䖰3Vڂ!1G7\ҫ)%`{f#o+#bAa#*ͥ#3h=rX(pXdUjZ}-wXWL1]/쥨}_=D+BJL#+ǡAҶNhIФ~DͪiAAxWNsJقb!h!|(*Ew[;ߞ2,:4(]4k,# TcCÂ:n H8i]4l`tjZ7Hi&uRy>(Z䣜lEM<-  -&+$?q2Jn=R,TC7XbqX3vdk6Z4M$o&E;#]C 3#ə) rsWg?xH#^!X[f Y 5TuJLWJwiӞJr"<&)yRޫdT(TBHkEf{L򲗸#sl^v|AO uBiABNsCH-gf:^mɠ Xh xT<@!Y3d4Rw)a>o3QI$!JBNe[r@y ~|Zrs-}:̍Kq1O_p,n󭯭a blhrx˼"NӌڵuXr_ >7e;v5t k믹]S;mφ³8W;noT-+\䪮ۼLHް,+^W&fAU X} 8 x=Bw›S5yf9yE^2d`9!$}ORQcֈ1#z*%F[[ !;r!~]-pkVxnTh-2b].YZm$Gz[$]f퀵C{ti#ք`Ă2o"~o KYؒJ5t6oRdsB) B> G[ru_Hyȗ".׹D%u`[ch6% ɗdJSMO(}3?-7ؕPE殒W2V5aV ]U.., |_ٲhK¹͌;|hKbRl<.n{#iH%֕q9A;V>N1;:L*:mQ>'|eDo(!hK_D!j;su+p~}d~ϭvY٧?p;@(ӷCX;m$_(=GRh\Ԟ+R 42WD$wCfkEㆴ'XpK~{H)x8azbz9ɫT-0jL=G6-vWչ zH՞NnW/k[K&;|e{\|PXEwb!=A"¹lUe~_dz|`i&⾄8}^f9MQ,!s=՜R_2LIgۺy%:RAǏ1O Y9RBי1p MAӀi ،J#%^ǯ|58*0"3CbW&yF`?}"D?%iQP"ވJ,Ȧڣz{1i Oy^'Ox3Fp9-kAC~-@^veQh '&XlP`@}}4%HSpB ԴTiKFyU!$Sސ͒~b#ӝ] Z C_=ee?3%q,=V6aԮ6Cj݌.Fj[ G_r@ڀ;?/ Qe3,B>:Ԅ˜GQ)|6Q3/iF)t&`0\?h^ocz]6ҥMքyq%RERQlS_H )uh"mk;^l/Q#A)j4mUVb KPb{-U% H󗉻~}~G@1O$Jji.`SzH|V08p6Cإч)zL;R6,g<02sT0&.NU{qafŊ̌*'1A~u:k̗K߉Ɏ"[d1&%oa&h w}[bI3sd۴UU+d1ƸgS)꼖TUs0&ttj%P1e"sT*iu~z%ܽX83C 3kM4`#|O-iV T0ia~82[RŽ"n X0@эf4˫Yrwv"n\|XG9bc?֠Kl ZGmռS(gm)ԭ2tzalzZC0W$כRL(_RˇdLHɇr\O3g%+Skl,:KN87 sm~!5TT \_S @jOP⏛rBsѝ:%ՙGK]8ņ،-0FVgu\#;zqr:`O[4Y;,M*KlDclYCP_Hؤ[K}.Ov E.29Q}50Ӻ3d(T>hgn`Էm{9x )øq)3A7 Y^Ck:wóث)WWоj)g1cc* rf_jt618XVcГOa|k$6=rw'G v_s1gK8țhuDp@NrJH! rID؃.J)/f^Bl-?GF<#c1m0μ|*YoFu56qY)d9 P%?r>Jizh g+١w yMr" ."xn~?CsLƄ$/Y_Tf82n2L@˥JixϷلߥ ]&< Dtī )ag`}?c_ځiP4%z3NjaC್qTNhRm3/ u# 6aY&cZ'uOEPs2 7 DP4 VG ?."_Gd{fXJ(^boG3TDPI.{WDx?my<(PmwHqڍ>(8ιtPotboת.: [b/?rD69:2A)qU4_ED; 7 lBO"Y} !I{rŬnҔܲ梊*%|ýKZl_ϧ9Z(֧%!z@jWa).uRZ cYrR> ?[d$͎mAӝ.:(XWMXZ|΀?}A0wXwD74b_A>~icV<\}*9W~wxZ|ksEMn;籊^'E1˜_J(KڗXsɼ^8 $egV؜ }F f? " pۏOf<QJ7-!SSvt(N0m]zbp뭹Hu\ a>4{jrMYKXc)FlF[CX'CR0?qW,jFb+zx5+_Rs>Ɯ"]XKI;>a* pkI&tBN!ӻ-=9TD;M!Ktȧav٪2`ʞ(t]GP8c6Re{!;Fp%$dǹd29](F \{= +6=!E)a܅{{u| ?B|ݒyAw_ #1RlEo:!u}ao|%7hZ<@[-U&lYK`C2oWx> X {o4UZyI6oXfpr=WAe'E?΁^+~~S<678NV P̚kC%گIc<<ȁNFŸU2](1A! 8 1Hu M 2dR3.樷Sv3 Xv"HEm#H JbZ5GZ]dgfI; h\N^'\P4b'а@#.ܑR"řKVgY0 QuFm'B$CT0~Yaa3=ͳ81@?\hI7Ss)5 b<2imnb(/* (+K̒kT]`qL[TaW0VOg^YN>ݕ! m\կ0^C[Bکb\ h\{qY pi.Db@Ql&jḛgK8xŚ1IQfTp\olWhM䷩AvMtϮ)H2EF^ {Ssk>NqD }E!UL6 Wo#+9D^/q!3X`p0IT5YAtM+RpV?z?u#UwOFݕ*9V[zK_c\%#%9?On@Pe P42[&~oPi/USuRֲ1crK8Q#R? >['hXclbcל$4"7]}뇓Y#iIN=vjȅEJ84*)x-U_ _p@WA9K~DF[4Lm'2b|@ SU1 4X>C:Y~)W _4KPb)aZZ[Gi\w6.DgI>s> 68ba5(ԥI1d~x\llĤI^}9b nT{MVh3}êd,Y9 \1@Z4PNrHZv33nxE{h}y:lzрJAEXI¨A#09:zҎPy~-jնP(A=uW8UלI 2A0ڛΊE` 9x}, b$ A6Ȫl` 1Af}V˪&2ݒSAPpbV\yxszr֓l6R X렻Wsuz9s1 e%'&`+MEMgv^'1N.$VS+ n,}~]j؎žpO ZH"|Pʗߡ6L**5n˾Hvbnq`3}܍`Pܷ߱+*3]f ц>HQZ<[ iƋ[<HFPq.K$J1q?sݤt3, "3_σO2u_T~#'F Y3,`͝ MᏎ>l7-}GeE[H3G]1T ;zc$,r4?f#k*HzØ[pʁN4qD&=R^G:E=|.Vpb>캝;1qbb$VW;˝蝐}Keypo'W|%sgEơI"`4iN+ޱ<0Qa~N8tZ Ʃ;jTepbv cxqCaiqK +"/'zMЙd8j7C*BH&:GGJy!ݙ8lѻ{ ~x:7\žr[PYhn F'\<͂nsqmg '<$@"6Կ z9VZZVvP֜rڙiJBe P6.uoai {7(lzH2ɮܢ.%'BCaRre;DiQ(Ur V MV,ʡ!2oL'hԆNt$єs<;~uoc/:a?:Q;~y*ߤ! wRt G 5&,&B@v4Po ɾ= 1h^y(5bb!=/[994R4HJ~rlO<`Ӛ;uDS1IKew{OÖ"m?pW}ܾWK̡jrjՑJ #4Q%i\:>"`7ė:rHG5coo![9{i@L!o,=$=jAp n;jͦnn:m;ujz'Ӥg=J}IZ1;43Gw;c9- ` 3;NlK{is 09CwbO9y9v31&+H66Y3²l8#t4qLcKv+^\ӋHصT-r x('Z>+o݈~{Tv#密$JFE+. S.p;Iw`a's[r}rQj"em`R|%Cޓ:/qMJK6=3-T4jph1֡CdR h@Ge j M:{G5ۡXCEJ>͜u7;#-)a4Ȳњ&VVZA}x0 k1L@C'_|Zõy442< Bu \Xt%_Jo[ $.j=>&_ Ш; ftғT# E-kĩ.xҘߨ憸h(+2fM->h^kڣ.tz]*CMcpS,EVڃ0oѽUHjZӵ5nЧFDeNzQSZ t"<бoEK{ڟDC`5 RtPXB9WU09$O@"_ @35`U]̎z ųU`@7vF: "fyfX`pfiҖoсvm׬QToN[r(,3~@<Zw*^mpj0GSB)hJf*=Jv@Acl.a}NAa@01mS:nu7Vxyry>̠+>:KX Zֺƿkv$#Rë<.r-Uh,^8e< Vދ(+#i{Gej)͛2QxݪĊ\&:٢[0PPt.$;rm#r(_c,Kɏ)5eJ+?I7$ܤrqYG!3Vxk̕g`]8*C=M{̆-9(S?maծjޟB"L2I\X nR)@aPJQj lqZѵ>ڲ$ )IcA FiԕxBM,8q髡S0wt:p8dJ{sbm|qpyxgڦ-R5 ú9|N->ŷ5jjX"_&QSŞ}E6:VѰOʢIhY2O}%MBg4h"%BCy,N ZSK"3CyŸ7`]"o\{1Q\䡉 DmBȹI@[Ezy3\p 3#0{h~Knht5}F@dR yiZ!%}X \onu:(.)|'tڢsybZ\ecvZ3^?&8[~op&J ǬNW{*͉ËϮVf|,9D#H;'/,HGb+}EIKR)qhN) { {F0t=[Hf@j]+éCnx1u v *=ihlӡ6#N≮MMMB 0&P>\V!LR4+~ZFQKwsXyPsE[:WvL&vRUV8zM=jGp^7[$ϑ11?<e\LrӇ਷BjEMY,I ENWSo"nkk[ܖ" W5QU&bPڇSe4T0RFI%c}33χ6*Cq%|-n=ro*jIAC'(d@+it7رr%؎CPMl׉SOPˁxMt/՗f6n&\8H!/cx_D[#=F91Ue eY-^N2Ueo+Ҝ{ERUME ٜeHqgA9ǛF3r/h ʿlфﻥR[,"`!鈕T5_F ޾TqS FufG2侒~P8CXW/-*?M*/k,r" 'GO jB-I[jXҹ_{jVf?jC}[^txySe`ͺ/t. VS%e ]9s.6e_G*GTFA GmytM@-e;'@>f-$/~7xTI NsHBmrG5v9 iirpݍU N Ãڼ$o}@UasòjY8sɓ=WlT($|͔'=1iTI"S- ̉R6yEuy5Nd>b!ϔ3O? iZ8nILXU8mZs"̾?2c(2q, ` I/BQ,n?׍~=-aMSBtoCgE3c(}0e d6s,p_/_ZY5`٢8l K`SDK(`EiVj&10eؿl]HoQaG lcIj @ѓ?Ҫ')6Ys3}} :w 4,ėa(MJts, f/u]T#_ K|#3r൛諟m2ֻu`S6n!7K+uX5ؐB׽BYr[ -y#EҒoWUo^ z(VK/'JbtkgV[=)N'j>>#xep4ct8A܄wqC'^h\Lao)dQ nQomX-X] [ ewmNћ2_\OL\^хt8Q[wwlsqf"`}OC*ELԱWKXK\bP߾DV%b W෕EK^FT>zhf"{H)-(׮?}b˝+kjr0<>Lk\QKwB!BԀb\$Eh4R|vxHE BuSG unJѱ!XmvBG,?Lnn+vs?0Lғ+֬(pлVgQ8&SA["'qe-^iE(}e9)zm=P_i e^6w jR{&'o1׋iG&e}$c|mzi tbD7-4!LRF.jT=UMGbUQlGhZ5iݎFI!5~vcށQk̮FPg /ŅFPV[vRl]ڣ)_AxG6(AHg^,1eUc㠉?jX# Yo܃\Npo ]D**iI%ew0oԦ*A< Jҕ˹P M5[Rf_JhS?:Sf%(tIdƤ2Lc ieGܜ3Wbz rs- +<'z~(hܵj90+)fة|* 0o>/߼)-1E-xX]{5[j~kv7N(n+Օ"|JQTֲVa<; =-1Zr2+ZNC=3|4ѽ;Dnz~ŇHGkBxzQX^Ati$t˗6 rnv"0[Z4h$uF}f/9ɭ)z POWޜڸ.-3\x faJUBtEf!.LF-МYӣI5ȡB\j;Dmy&k]b ?ЎOe84ϭE`:M81I%?͞C0/%ZsWX6ڹ^_uXkEyvbIqK8l< j$͋-5KwB~u`K;h0h`W} bh bG(*ǣ#sdIXWľO-dUJ2vRq?;L>RfQ-yK3h$/<ϒQڹ`G,L yiml\*;`:TMy7:'WFMĩS".28ȏ *ly^:pG?无,jUԮTzT! rF)ӵ5C>D/^,V] ;?5/W^A%Y,蓁yK]:+)eO*^H9u~.d(PGͮP-[J lSBz7CFygmx`H ["s#7-rF:l0_r|'v򇐑vE!jz׀jw-hsQXq}(T UICݔwTֳ9`i*i[ѠUC)ɹ~Q7겂ܒΚP^I >3$MNǘvjuk b"=_cnϭRځ#9hBt(>GMC2<=C,CSw&y[OB򏿍3+ӟڦ& r2r>Ez>4k;la!C/_ӛDOꋑG6V&cW-ltP푀#IGp {u?)ln*2:D5;} Ux{f+I5iFڗVx:D{UQutSemf݀eù) ?:8GЖ435n1E5lEj(7ԅO :r3OĮ(\>8gT6pyi?bv5ϺӮ7>rG_4EA,Bl1H 8G=U)y'[K6CtuDYP^b1 |F i"U$:/gFb[qEuqm==pA^47r5;i h77r{"_ UkPR{w:E4U)ߣLvۊ#~%et;s `Qp$#vZm\*kmnεҟ, 8'viP|3&+u(?";t9i\ч|BEV, . ((-#<&U_z"kArDrZ Bl֚P=i q_jُӷo;Y)F/(khwmjg `FOA|:M|Rct5IS(`Lx BJ'-)<#ڞ8ܥ#$%4,Of#¿Yiʽ;iƆ-Ɣxv}T?Hs"_j8oT:A?auM_i#1|n*;c쮼)agz\e(1 aKOtdUsH>h)% &0k#ǴaoW$7gں6I,2] uSBnGXpMq\=f=iG]YZYlȷ;⸷tz ߛ`8q/ŁyzPp3M`d6ߴtfѽ`NUNG"Ǎ'A'GI橦 U& 3 >O'gdH 1W^#-<Um+ĿRe*|gkqtV^&^]ǵ& #Ps+QC K}@ڧůҔ#as¯rinq{@v ae\{a]dS{|{`/-rHna2JoiA*SFC.Hy(5MLA]r{7j.mw̍_icsOIʔ-Kv,]!JfDqk %'L= &Tm$-SK&rl&ҍ*Ԓ:T717 #=}:br$sj.H헣@|l2%mVGma^eX"q9,V %hԢ^7s#CE c5lC_,-ifSWǨw43uo~./FR-8C.ĘG.BifѦsfCѻ' Ю{H*٢CZ~ rN/ c eHLyǃ̮T2$"2!ELsb舦經cw\D$HAZ )u$֤QRwYIړ9FrLN|3q^4_7|Eu8?BO]t  6zد wasՌiLǵ}V@of aVuu4 cPuQJZ3TS$<֝wp -oy˥V@J0?]%́iU,Zaw+壭9j uY&tr,s͠&<^$u\JS8ji ;ѡeM8礩\Toz lDd'Eb)Y{rxbuhI Yl ޗPhX |GѶYx|j3u7ڊRŏ>-n68&ɰ㰉}Ӊ/Jsz޲ |3舓ySsB#š$/ !ZU_tejN axt 3KP1>۱sp\j,2z`Ȑ ͬMa=8KW` 0B -0UG,.T9~PaV߀SE8('~!^''wU)Y!<jMm2({   aA rDOHo+D؁8vm(^ڑjdd0_ak;c-.J㒺=8DCX.2C2,Cy9"L >`mO-1^~N<#'q{΢sXb!Yw@|WӖkur7MY?չXJMFI?48maQSnNaRwFCq@UOhF\ⴧ'Ȃ"sɣ{\zS'$qA)@|]?qXRn}Wez9yJ+52ח쥤Wm>zIpP/)'#g}u z]u4 dIR^rVL>8WmXV&uhKP엕jGN6^͌9@Pтg; yEwALmrƖVdΝ6^KϲƃNa3NQW˛t9*ݷڏwg~Òd61KE]ᥐ_k(^ 1W*0&V>Sġ־Efu.[g i78]Fƚ\9 NZW۳\nyMnGԄи偷 ,4O\16<*2zΩ D.ew+ul^W2!d!N6)˨XdK@AF^<ZWz4ɺ_$'YeqjQ&Y΀דnϖkA}mK]oFE>&3,94<U%]^^:L ^ E!)+MoI 6|,VucvHdxڡ$Ӂ8"Nw8,3LQ Eܢ&cr=V~hthJemaIga[ޛM~2S ́RFW@]QP?QNzfNk{ޯRUA9m{mBKcvI:>s~> K٪1GJ, `>/-;S%(1IT r] J7nq:ōihP(^] z$o{<::03,!cf*#ڎfY pM뱞[@@IE멌._Ѯ]uǮQF +?ڜ8Qsz"{! ]- C8 לٺ87roSNRg-5dxV M8tޘ{ئ6ORХFݣͫ~= ]hَM1"E9pԶNLl2a4VX(z C67čw*PN84WzD$޴!PX/cbݞрKqo(mtnað591o_AP/V8RBciz^3LK(_h99n󊼈K1,&XD`k)6_!AsTنC3N$+k'Щ$Okz.]L> N 6k>etSdgqH)KX\L!T# `zCRKT5vyR ΢U_(&9>Nnnls H)L)lE>\Y.X4$=&us?b)i/ɺq31fn9yd=*lM:Z8×K%,6 ʑf*tjH9ȩ>Y~[SuMΛLyY14iA%'sT|% GE WW8jkǜ9LR?+ef෮p/'Ei) ]\i0-cd{BWk_q@}& %e]ߞ\U xs'K{1`I/r-qdQ9L̤gKTJ ╈UW|k~NxM?x[l&?ޗWd=R}ߟm:Sܓ/Yb7xʴp_o$1 _S1(|l,YS]4Xv!G02]kDAe& (t:ny61FݍI44JT,( izN~bMӖ+fwO/?XYqzw}v $Bk5oKt~zrF{ 6K:-}; ݰg4;?1.fmE)| u+ȾR9p4]=vwg2OTr -kN+ \[} v!h tאؗ<)&.<5 O r!7It(StBv &d{.<5S-} H,CPk뚔Xt2?G'z >,4xU.>LO1#a욾Vd1;ɨ{y,lS1~Ã]>W;39WJz ~n!چ^Cdan6f7V~H> -/t N#& Xb\Ԅ,ѽB:I`}mo{L3;{̓\_ƢWpJg {]<4]Y].;{5>U> M-滹=Qk~~.lhnQZƑqXI,6JG'?.7AV³^cbdFe0_ueb24ؙqIȬa7)h[lT]$7ӏK86ߺ ? ?y8@2׮sF\1<5H'> <)નvf :?hۛ+0ĪN)`ĸxb@JN:uv2XJGe7ǰ [o6fS"@NGOeT t_*&AiW.x¤Wf2\+)T7?s|3ZH:fj\P ˘u+w)&6tB `g7l.-=Ֆ!26'hK\{WT0ǜ[cU~l]ϏjB ꏀUԈlrW \^ vQkso|דәV!]zVml~ ޓ7J}?Ы(]s@U~/vFx `P5hŖg1[BÅٲ%m |&ᏝItb.^NwPIBr+eмvZdxdhH 5Wk%Wu9Ka([ƽ_cjU( \9cIdY*>z@(30Вľb>B uD!/XR&!;Zݚxv ^$Hp\k$Zo \>귊K!adDƘ2ndPY٪51@}_`VfZ'cax[$el@F -eشA>qՌfC뫣 NT"&]mFO&LxBΙϸMwEvy&l<뽧JjZݯ / Ƶy58Z nw_[@qdUa[V!3)oGvQ-{7|CMZl6eZKԻ9 rGpR% )"(Q^w%#|P>ŎO07Tqܜ^?2Nz2ゎL]n[kReǔg\|C0 3%.\_VpU87P&TD;I<T1M+@lיݶH$h{v,+uGX3chs2HfjpH^2s.t.j`W,gqTB3rEr-jEPh~w*ǁӸNu)JaVRZ }Ձ:?+X䅂iNKXo OXȡ 9hIV4)NZҞmR(ʝDj&8};}7z38*m]E*( \PysPt,Y,I ZMLOm&3JV y 0*AY'$L{ M 7/@ssJ%+r*pbvC{t'._c|d^J|xUvT/~j~~\&hj֜\ AoX^ Z,QQA LV *(ð \n0\&C7|Ps7f]$S.XQp@\:tؿgW{Em.롳@,oRƱ_P%βXfOm 53`fTuQ%epYZR`oDYne"Ć%h h|iޭ<$(. oPgZ9 ֗ilP. Ra,c\ys*=}FV7݉MccF'Ww-jAwC?l%nft:XYC(Gzlu`N~bP.=LwCα. CY=NcE'NE2]ZMEzzz103@x Yls*"tmtr4*ۻhZ,b)HVvii04Kna%myu+SU-ҙ_雝Y{F5\[J&rԆmP&o;=((Dj % :G2ȍp7S MY|A:|CȮ(aTu20MW rdx8_=SWl Jzx9}I_Zr+ Mw2͡nT\$!Qչ:2B> w0,LF1"Ls7C#( b^:[87?qcqxӭ?9sAē;%ZBT^fOy<$,rV%#~>B<`ݝ[A] i(;EYb^J7}Z[$&ڔxoΊ53 ,wtՊ%YLOr RG&i.2j"B*KtI2fy /ϖg3Dc6{"' EOK9(zPeT:, K୓I"bmN+f[QXl-.$T.Z2&|,(3wRap'}E>Q0o ͬx9&s Μ<$_I@=`m%DGFp {%L jilkiM1gQl$°RGYנ_4#UR+77ΜY/B aFVa\M_)TZ c+XSL}uW}ا=uZ dN2E҈U&=Lh%].xE9=ٶ Ǡ3#u] F4uPT/$x'0;8h?s];g{^껣=0ȢدcWLgw01l j]ҍJCc.-8RZ]+$lqsPs]b < 67bT-_ {61Vy0xp?g*:De]Mw4pteD/@WK2ME0F_]Q; Fci>9J PerT0q}Z4$XٹIgh"")+Y zpi' FOhlWB4}stXO |w=Ā.cwamd voOjp/ˢe/`?/ j{_PPsJmb|TgRjG=3fòٞ\Ă "#쏲u%Y, j|Y`Aʔ%C*a5Rjfˌ8TETB 3x4eSa jY;hdI]9R\ k`7vUKrp崸آ/ A3"Is0cA%7֊LO?w-+x9NC{B/xgá56_Icr:`d9;tvT='8J'A@8Yndq3cuN 7G[yJ0L :g`$yG(nj $T(r\ʰ{J JhY&$kbS!C;|z Z8F? ֊[Op2-G;E=GAH82~TG`F-|P2Y%)Rϒ^"{XfNY">ڨr29{f6'82hm2(b)>Hg)a d@ofhb,m X$曪P{JnЎ j?N Wc6, fgfw&#^] =x tAુ,d5x'#mC)|\ua u32&ELnRomPu~;(}t[ ȵ'!`f3x(53ˆ9)p JI H=e4X=a$ m:B+OvODno >qLJģd7nFp]`;pk_@%)Y{o[~y}x' ͞ApN[=xg[U@MK1>.^oT2#%n NGxDKڼZeJad9 ~ Tc:FfAwW]++~n}4Nϟ{qsQ!^3bȿ80t^3B)+R!BΠjgsP Z+ʾjfs:Ph?*.${vwq2`rX X@@uNVYjӏ]@ḰB{Y"t*%J . T0tBy'sze9 =|o*O{ 踆]Sx=W}Vjt"-D:S{՚c1YK>7i/.QuInD/8u^HS/^smS{ ;ViPjY᝜Շ(@bn]|}0av,<[NH[8*C7w 31}) {la,=)%0ײT{ɫ!F^|xg٦..NظđmЕ*^C !p2܇t1GN@0B!v.'~*O8NoE JYQQ2bg$0U_&j'()) 7(SyJĚJb^OA=ƪ8<oo6[(ġ iZ^IP:`z4pyZ$RQKlwlp;mBq`,d.Y@"zȞAb~{(qˈ`jli-g?\- +`0VVX3sx [FO\]nŌ#~3VInXK-e# RncGoo&{vAz8( փfH}j7նwbxsuu: ӔTkX2Mgw1flV+LAA@y\팛\}wj ˝U24GYGlP+%DRIB՚xW9 & F#-6VOoB*X=o^$żGU ieKv2e"JH3>Ӏl絓Beס45B O 2Vp~3^m{3؅ۅAx4V_M@r (C^!8bG>!J!j_@CCFrwHPV.G4aoJӊ*cDjپ'X`㝶kIV mjUnbhv3tW&h\4HEDr\OGfz"6=^L[ 1yNw+ڗW,ld[p>ģ>|'?=ғ>IBK3n诖R%iJU qvg֩$H*-=RQSlgieLX9َJ49j" Чl۸[ n`3{"5&Tǒ FrPRX)Z~v8%RJӮMm0O/Ԥ栲|O ξ`Z}^sXvf%CϏf!́.^:ϡ7nÌ40]N w<}sv ۖ,e`̾r] I%!ȴ8u9<7u&(*a[ng֣OY3Q=%#LmkZ>8BK'3ѤȒT jJ)Ǟd==vm,{mV%,d^j̷ Ye9lO1szؕ<]gv) Y_294!6{qYZRUev ~xcJVFQL?ISWƀ.oXwCW?N#ڦ-}硽f\i2ߗYc'TjW/|+ȹXnǐ/Qc~{SH Ź\ D# E0;OMuN(9+\uq˷W 9Êj$̢(NGWU5 ܿ%o/!]`~lK"$/乢ћ_kD1Wi]x9xBs[}˝^M_/o< ne. |Mu`iWߋ?9aae6.X/ aj0]Lu`>27pN3B1w0vMՁOX7 [M մ.WM59G 4KDB[J^[b_gvKsoSnҴXUVnꇯoBS Ri\>o]|Á[.jpi?K<&OQ/0cyUcx49*uVxwjXJWe複(ObOMy~@Jy;}Tm;t<ĞM:ы} c9<~&V'?u)hĆ\EIɓ.;]qHB7NhZKPA&JJIR\x <8B?o0'W}ҽWxzwj6-W!S.ӹ.KqÅԡ u1Vk+霌 َځL2fDiݺuC!8 "i}ĝHw [ ~&[м3i<=Zв> 7]ĸx^TFÙE3pb*֒{g<*)[44s<;=ԙUx9\p}66bH)bSJ7OJxK VZU&j 7GR&ϲ0 u ~t BO_,Zrr|pw9\4;?g#{y$ 'B)ռQzLdO^JgM']-/ك ZA`nvF]D*~",s #HJq6]Lb)qbXf&L")? xX`0$`~/=%)$G=!+B[کuh-NA|P-Gvh\™ ʎ+> #`@U!w*,|1V~J|{:9NG5'o/[UT31{ʧtʦHp\TfD79ZiGDmRqN֠ITeO/ /b>DpyW+*L}x+tdqXIs+ 9VRDޤ:eH$I52&55(P/Neiͫs8aen=L 4t2'3AW\n{=D!U3WDgOeF>߷WQA$ь_[x(ړ"8b9yDNrEPm]Ζsԣ='pn2'.LbpmCfes[ E % Ht.*zB82R4!܃0PGq>Ҏ%00Ŭ_Cţ`y(Ƨc;68Mt Wy KB;+wF!vd8vu$P N "e$-r ,9`TE~wAQqH)tmG{ӕjf2j8dyZHԶV(.:bDt$)XR>|+2 i$eY`Fͼ}ݨM !b?7r551W~bڍι٩P6`/#N2Qu9嫤W㪱s"75bs2}ntYVH<K"},:'rYj\aY,Y}{~-b-|n^ͅ8AVE,שݒr+IśS٫z%b(޸M`N$ m!M)a2?CC44.q[T[6lOL9{gG䘫?oaXHŸjMT%i<H{h!v XDH\~ZTo /%iW؂e3~츓 B7IfT)I*J&n1E(qQHrT';?_QCDjҋxz\0 /JB XvgW,ΓBF1H!}L܉=ϗzI.y)IKA)䇙Ós,³+GʋU wC9>HpփB(2BTE!FUY V_y'm]1w.'":Y>(ddM+џM [8o^i' HV(xwM*TTLe \aUR? ~A\)$=ښZhAnGXQh.4ȵƟaT3) )!zq.PhG]`m(`@SCS\Qa~%͈VX FS>V9$Y*sao{7BU*&\j ƌauY([AFK,t- ZpOpzdy5&rǍ?˦ZJWO/(:zO&w4ZNJHJ$ Ft7 7Hd -`G ]Jto7\{ASܩe#̟~ T ~v iX]0?H9gW-,CщnoVmVv|R86*6zC^#W&cUybWm Q"H ħ.FQiӤ_/Q>k_l#X,X\#\Nɋcɿ\u!S~~e'WBDKUb|U7)B[icFK)p/jP] -wWCblS!NgAZydcWn[&.F1F cJйy]͞J&+F?f y䔐[prR\f)P"9qh?JIiߊRӃ(/lrƎ$qNs·iWuy5@S*21 O. "OAubvFNYJdqʳxU~wS“}8hFMtzmPos?y| ϛUt+Z{7:.1"a0D >VR:1"@ϴQݾ`H2WL -6c]<)[T[0 fH|PՄ5>/$cȊ~dp(É.^ n?D_&@ؑ[jd,"TH~ Q~'3mAw!W͛[(sv z)g$)Myo]DuȺWzhntE4D" ˜kUAշ@g0PVPNu)Z'prjhe=)stNIDF~xYt9M㾫 A`Zkݚ^#ڷ ְՉk"n/[28 ^fꃗR<5v' xF .]9|A.j(JPNƔۥp "'DZE)xIiFm<ݷ5(9CGprN0P] 0T%ʱW@ aV_$I Dfz54h%XZWj}SI|B.?[3] ?^3%FӪz*!K@>N i1UQKqj?@tIeNlȜW#*O Uoڌ.4 آv3]t"1N;epxX‡{^ W ٤ V)mT=?2q$՘ T Z=Q$B9#F3 Y/G_c0 C[J,,Ę+{nLغE<!n29?o1h_cը<75 zF}'zC~7I9<<۽d-[Ifj.9i|i\BWFx F9Ĝ3|q ыvՏ8Th7QV}QSO32WaT:RLFGCՋyG4σ0Ȝ1g'>Tͪn`2䄟^efØ(Ad6Gt#S4`m*:oTsZ`d5#ZQ>i ϫC1pzwFg[I,-ťsǫ9tCM~ ?bpes<@Iy@8@;>u>|ݑg^`peߖr-rTX;6 'BT/hM'FcR΋^v:%7v87` qO]'җ]RW Jse@nL#KesoB0$w+Iu^KW>3b{kIV2NUk%EBhP(X @q1ђEC'aV Ƅ( r^yB`̻+fP\$3FI_Bה1R9(mJϿ 5@I@U)Aػ^ 0TnվChNarDX䱆fK:O US9~ _+;#cva'(ޢ=v*}ɈM>e~P= (qQI+gQENߺKlGpuBgH}FPw:U/H!Ϊok=6zdTt+)6BGst #UA|+ܮD5G*oc*#/+TIeAQb  VJx v}rF"̚ mrʳM_ʧCP$klHZ Ąv%M׽AyWy(8Y_n%")=Aiqm;Ayl̶]#ngT$0=28Qx,Sj̡奸gRr6-߳; {Sh3_Ss#gWU5.@5=:H_Iu7db8,\OtFh"ɆQΟ-p`ԓY94vGvvh,4U`<%]^ds//Mb==̮c `[mbsA<|osѿYsyv~׌T N۞b 2#QV:¡K<3p4trFvz,,}Oz3%#Fdcm:D&wH6Ec, TO/VTH0fF;KgAF[:}\1@UwfFݢ2>ܗt5 |;#[df Y_|!&(ΫC( q$d&?i،Yke Y12&PP6R m=8KJˈqw[C2(_~e/׫}_k);+MQf^KLDoG *>j>ԝ5e*I1n&JaBĩƱJ6C%!C*kEk',fPAITYP8յtK'E`F츖 =8 ]d}3+ȃW*{'i2t?e,0}h>YmϵksڕGMu6=c%%SA+/'QGyPTBU]5,`7xJx`[`eBaS:펎S#*Cx!^\*FyR?Y|<@v]CfKRO0K?eq? \KiQEz,۾[ E1fY)[g<8IӖǾmK iH߃^`*P  9р _" d_K$h>MıW[S z4Qrt6215E֮ɏCL/t~Y%uM<ڌGU#5R eNFTh]eBc@\4bڷguX4E _XNQQiQBv 8P.r݊lws6,nhA _1<;}`n6z$ *||=HϱXvZu냮~  ߱E??KPc$nR<PM'>x$ǹrK!5S"wenIvEߵ2!$Ӕ0uʑ`SƲtg0.ծĜ6ΝJFfpSkHȊoO< ]kl0Bq.J`Y8y|P Uԋ9wrK$p {ĂlTfK {tؘn|F9Z[4s4`OO0Kϼq5xGW\=Iq','~/xⷈY.Jﷱ tflf=4rҡ+`LHJ֔Et@wG=jOL_--Ra ?LL,1^׆\|Gs1bg=^ MF(kV F7){J}2fC_aw9[`}<9ҝi>qT`&O6y|EK )jX`VwL&c߁zs},}f^H-krZ+OGaQi<3fXXFiqn:5'2]`|2\xSIC8*O!F3zu)HL5L`WT$S@(bpKwfwSW )D\"G֩Aj 6 djnkϿW=j7K/f1xe k6-.h j#&ڷ 0nѭEZjJxÛiǫYi}o`1_O~LZB # g"='fx`V.uݾ=5uɟN7}]v=f][LCwR{7nR6"hWC=<_hrQ_tvp"W 2έ)R^@ މYI&jq:OEu_sdk9#髽 iaO{~6cG5M'+D•ٚd<(+IPIDc}O?sHL'PzwU=9 ɍ;mch/0t\ΰ[x]ӜݗcV3y 3f+Rg,Yo  A^op][ 6__jݘQKw%mY4^p"W0%J8PWgU$V]{R˸|W~W" qMܴ1ކ1i o]Ȳ%IljL& I~ rnXpXC vO&,qk"ucv&lԩ%i/;z'x83R[NT*3A40@&r>sTEUygL ^HxBODV_Z~~^Ī"j'@ot\=+/1G( }*fC1n$kWvq,]RBFCM)GV )$&+[D _`ytc1I=cy*İUk%h -˾MHrjG/=|ȝ8S/.:ZEԂb,X\)`.v + FfX=Y#-~^>Qٗa3yZǕ<։4::(V+[ g cQ``+ikmKO`E<݌ 94MVXX*aW,z[nh\BffpfD]1OYn,CG^Ou< ͬ`=Onn,!c'ƒK2~^ыg=MVʖ#;'S~O#^lnvz\b&dI*\|%}Q[)gHeRc*?xHYP_ag|"|8>D Q+}Ν61Yn:;f6kK  !C"{P؄Uc(KNoh]'m~|.uvLDؾL!zcӱӦKȨfȞkg1gޣjO5 e^I";Q |Y ,*PpFx,|Ӳڎٰ C3u/0 oK$;}ctxˣ3o"Oppem#ϰ$ֺE/@t5y@A}ٍ6`@лl{%$Rqt0)Y847AC\o O&q]MO EIt1: =BmfJnj-]V6XXYU5%xǼ.S9dN謢} u:K[s G_'&&Mch_d}:H+z{w?'C.DBEuCjgyX|g ?N?GYb}Ҟ?1f-I*xNAe3n=ߘwՒ (Z &6بsUeة$W!dέFi"o u/~3Zǡ:XA8h `~b'!|l+Lt5 cM,Xʹ/%Lj:%ߒeR`ao{=>%%ͮWpq1yBd}b[Imܴ|քLi( tTPR=In++Y~6g;$J]ER8g}pL4%d);K;;`+~@@qq_@>|28a<]J).HDƸJriUf=xEj9f ;Ԍd~^Y ꫁R,|ҙ%:t޸KTaN&!Vcfx3?C[|E{OC,qf1ldx ~Cl0ZF]:5j|0m#Jdu9'1,7к֭@>WLQf3BbLuǁaۡ7ŝi|W.ϴҘ) 78)8S_\}"z_ZŠRdTkobu&$#{r'^ޠ<co3KLaMMcbE+2hhx $mߖ:Qe'g6A xk0A ?UȋljʿEc%%?=NvƼ|-6бʶ+AQZRG0P$1u]I"ZY,7kyciW!>&7$BFkO k,jG)h+wJ#HQMJ/U8:&݂bQe FF5 Ӕ`%n9# QJ6chy^:qsŹj!CA·a6N4Cvl0)a$n)u:&|'84]L}_)y5 2a/I 9ȑ,X8f H^$őLp雍5~T-~Pxf02F4y't.7x2Nbl5<'H ޶gA^]H`u^̪Yr|SR9UbXO˿_ڄLf_&YpmH"b$y: ʢiklA~kj, ;?希nCE7 z߽MYlT0lC7DU82Xu}!'9|U;ܲDrGEMAǤKa=UI>1Rw32 f<8~ c9<>;jw.)w}`64@8k`!%jYC}ݯn-m;΢Á[JI|{U$AʁRAuarלmlNtwNA<)(l3"oDȳ6{%M)hGZ0NeSC2m0lkt #'rZu PtUdI8/1bfBx~QcVl8@Y tBɯ|AsC Mr`OCp3r3eu%rhC}CL& e]=vpF@Qt2 y|J wҍ 'vnƫ6[F4Y`ϡN`_F;dpGSPcUY m{PY%dïl>}DySZ8M3hc^]Q wADUKBaޠE8fWVZ1%6gN-6+qVzEHEŠ8uA]41k<<!DLBd{ډ3%PWCt=(@'F4w`TQV$elhIlVt'uP`?"|SN'ȻeS{D5%v`IIr ,r!5,WoWUzT ]W*TbȚ;8Q,?.w,x*FdǢɬNP #<)M[@/&:E?6bYѝQPsr. ^띅YbRTV<'TM-S'ݶBgy&+&7q}3$v żTxM 2s[ y""5KJ}eahmjrpqe&k|1^x-36)hF Jȟ/NxؓO2E@?0M4&MsKo7(G^ YRJgOcR!tHA6a|؝[AGii~]I8f[x]^ݾ$~ gcӿI)qD) /3j+;(h*% `axmL؏pnaDGHC8;dHǦw|0dVK% rd%@qfս9UodQF/}~^mdY-K]etuQ~iK!|T^Mw:̸Qꓱ㔟S%:DA_2p+£1a@ݯs*-ъX][!LK;o==[ǡt\]ϝ,00hs~ A1&,ٜ)g aA<[U#^ M]&adKMN_ӧ9S nTG.d&Ab"*<Ɍ si~R[MlȨIk3hanڢsc5[KkE`Z bũ.p_\j*F-G_CPyc}6k VC ; P5]/.ٚ3V]0M~PZ[DR]-׊pR1|ܢ{ҚnFhU: laβȅ9b-CSV! T>@R͌{ ^ jW>lʱkS2傯zzebSX0q9^%ɚ^WR]y )/MP'Zz`6,1xOg8k{iV!Pr`4G<+EqpUjgTZ3 YpW"E6#a~!P ʖkS4rOZ.-b3p&$3awi d1BPbv(X 7|I~3؈` Ht.';tV鶐>_=P(9Îʟ/fFBt(Zn'`gd;g@|b7dmvbgDց<0v^ N@@*.;ob" ֖*G8` Z DnH2;:k^~ cX  2)/vOR gɨ3VWAthuޝ,h~qg'!jU{̵PՁ/ 0\frM" 'EYv$2m/<")WxjqpFL4'A%,TSQu"X{h 0WMORLʩ'ߪpL)} !mxH޸ ,]4h]vH߱,tJɁD q@Hݰm#hŮk!xΠ+Kf:p(lN]OKE G=~X4s.-J8b5/(IZekmY8%s"xb^ӗQ@2:l*X,1Q_j,1'U)^' " vvH`]CQ.7y*+闾bOS+,|`3C1ɥ%~7w~`R4<&@̼5;$H˖`"iﯶ(Y75>px!p׵̮i|;t*mƵk^&l6E/JnsV2}T<0jU%c_@b7(͔7)B]S\r-|`RU}H,:eBJcnJ!XUBŊiI@szy߯OfD g©%"}GZ#P&)*i#LozijF&;i~ldxsWM|46SҬș#ID{fR&^s8y*  $GuIn_)Q2 5}v2kuR 07b5,?XlS\^*p7e8!?=V+rd90y< 'u06r(^JЍ&]Υ?,x^l04s67Z:ro"I+'kRƿ߷,rNkdh!͓C}l3Ńd^JZ hJ..\PPc\GCψDeA0$a罩J40zaw&{Z0!|Ȓ98 g=خC51@XA䚗^kxCJW$Sxȣ ZJ?дvQ (9yvyg]FqՃ\:Wg= {z~˻3􃈠v")Nlŧw6i{sx0xkܨB~̯(~>F5gi 4 $fy\h_>`ݪj ! بL;zqⴇw޶'NWQrNw^En@dw^h63i^ժ-@ NЉfM84( WSUZ/NBCUR|peMI*j*Aķ/k^FcCe dW |D;jd0ϯfzALn!wG.KUޔˋ YM_L ̖-=*;,w#1Lj4uƯr(L&x2Ǜ3>Q<(Ң{zVկ=,`Yٴ 2l<}^Nhp`~2 \,h%.T}-q'ߺӇ [kQIcs.vm VCܦw^mtDe mjHm[? )]o>X%:T@W :T3AE~DA_G3c ]" [䠯ohϼ,9RC3#͸Ӆz9(.VPo5FJM?bcP|fZ&G 6WXD;0Ajyt=Q5?Z2$b1pC~tYFo_h!.s:}$pNBÆȭװ= 7Q?[Oc 0.}/*dNk5)## \>07CQ@YZspdep/R/0000755000176200001440000000000013152257752011577 5ustar liggesusersspdep/R/aple.mc.R0000644000176200001440000000365412431373212013236 0ustar liggesusersaple.mc <- function(x, listw, nsim, override_similarity_check=FALSE, useTrace=TRUE) { aple.boot <- function(var, i, ...) { var <- var[i] return(inAple(x=var, ...)) } pre <- preAple(x=x, listw=listw, override_similarity_check=override_similarity_check, useTrace=useTrace) cores <- get.coresOption() if (is.null(cores)) { parallel <- "no" } else { parallel <- ifelse (get.mcOption(), "multicore", "snow") } ncpus <- ifelse(is.null(cores), 1L, cores) cl <- NULL if (parallel == "snow") { cl <- get.ClusterOption() if (is.null(cl)) { parallel <- "no" warning("no cluster in ClusterOption, parallel set to no") } } res <- boot(x, statistic=aple.boot, R=nsim, sim="permutation", pre=pre, parallel=parallel, ncpus=ncpus, cl=cl) res } boot_wrapper_in <- function(cl, nsim) { if (requireNamespace("parallel", quietly = TRUE)) { # require(rlecuyer) rlseed <- get("rlecuyerSeed", envir = .spdepOptions) if (storage.mode(rlseed) != "integer") rlseed <- as.integer(rlseed) if (length(rlseed) != 6L) rlseed <- rep(12345L, 6) parallel::clusterSetRNGStream(cl, iseed=rlseed) parallel::clusterEvalQ(cl, library(spdep)) nnsim <- ceiling(nsim/length(cl)) nnsim } else { stop("parallel not available") } } boot_wrapper_out <- function(lres, mcall) { res <- list() res$t0 <- lres[[1]]$t0 res$t <- matrix(c(sapply(lres, function(x) x$t)), ncol=1) res$R <- sum(sapply(lres, function(x) x$R)) res$data <- lres[[1]]$data res$seed <- c(sapply(lres, function(x) x$seed)) res$statistic <- lres[[1]]$statistic res$sim <- lres[[1]]$sim res$call <- mcall res$stype <- lres[[1]]$stype res$strata <- lres[[1]]$strata class(res) <- "boot" res } spdep/R/poly2nb.R0000644000176200001440000001630112210603042013265 0ustar liggesusers# Copyright 2001-2010 by Roger Bivand # # # Modified by Micah Altman 2010 poly2nb <- function(pl, row.names=NULL, snap=sqrt(.Machine$double.eps), queen=TRUE, useC=TRUE, foundInBox=NULL) { verbose <- get("verbose", envir = .spdepOptions) .ptime_start <- proc.time() stopifnot(extends(class(pl), "SpatialPolygons")) n <- length(slot(pl, "polygons")) if (n < 1) stop("non-positive number of entities") if (is.null(row.names)) regid <- row.names(pl) else regid <- NULL if (is.null(regid)) { if(is.null(row.names)) regid <- as.character(1:n) else { if(length(row.names) != n) stop("row.names wrong length") else if (length(unique(row.names)) != length(row.names)) stop("non-unique row.names given") else regid <- row.names } } if (snap < 0) snap <- abs(snap) if (snap < .Machine$double.eps) { bsnap <- .Machine$double.eps } else { bsnap <- snap } vbsnap <- c(-bsnap, snap) if (verbose) cat("handle IDs:", (proc.time() - .ptime_start)[3], "\n") .ptime_start <- proc.time() xpl <- slot(pl, "polygons") xxpl <- vector(mode="list", length=length(xpl)) for (i in 1:length(xpl)) { xpli <- slot(xpl[[i]], "Polygons") zz <- lapply(xpli, function(j) slot(j, "coords")[-1,]) xxpl[[i]] <- do.call("rbind", zz) } nrs <- sapply(xxpl, nrow) bb <- t(sapply(xxpl, function(x) { rx <- range(x[,1]) + vbsnap ry <- range(x[,2]) + vbsnap c(rbind(rx, ry)) })) if (verbose) cat("massage polygons:", (proc.time() - .ptime_start)[3], "\n") .ptime_start <- proc.time() #poly2bbs <- function(pl) { # t(sapply(slot(pl, "polygons"), bbox)) #} genBBIndex<-function(bb) { n <- nrow(bb) bxv <- as.vector(bb[,c(1,3)]) byv <- as.vector(bb[,c(2,4)]) obxv <- order(bxv) rbxv <- c(1:(n*2))[obxv] mbxv <- match(1:(n*2),obxv) obyv <- order(byv) rbyv <- c(1:(n*2))[obyv] mbyv <- match(1:(n*2),obyv) return(list(bb=bb, bxv=bxv, byv=byv, obxv=obxv, obyv=obyv, mbxv=mbxv, mbyv=mbyv, rbyv=rbyv, rbxv=rbxv)) } dbsnap <- as.double(bsnap) dsnap <- as.double(snap) if (is.null(foundInBox)) { BBindex <- genBBIndex(bb) if (verbose) cat("size of BBindex:", object.size(BBindex), "\n") } else { stopifnot(is.list(foundInBox)) stopifnot(length(foundInBox) == (n-1L)) stopifnot(all(unlist(sapply(foundInBox, function(x) {if(!is.null(x)) is.integer(x)})))) nfIBB <- sum(sapply(foundInBox, length)) } if (verbose) cat("generate BBs:", (proc.time() - .ptime_start)[3], "\n") .ptime_start <- proc.time() # nrs <- integer(n) # for (i in 1:n) { # pl[[i]] <- na.omit(pl[[i]][-1,]) # nrs[i] <- as.integer(nrow(pl[[i]])) # pl[[i]] <- as.double(pl[[i]]) # } # findInBox <- function(i, sp, bigger=TRUE) { # n <- dim(sp$bb)[1] # # # ! i1 > j3 --> i1 <= j3 # tmp1 <- sp$rbxv[sp$mbxv[i]:(n*2)] # tmp1 <- tmp1[which(tmp1>n)] - n # # ! i2 > j4 --> i2 <= bj4 # tmp2 <- sp$rbyv[sp$mbyv[i]:(n*2)] # tmp2 <- tmp2[which(tmp2>n)] - n # # ! i3 < j1 -> i3 >= j1 # tmp3 <- sp$rbxv[1:sp$mbxv[i+n]] # tmp3 <- tmp3[which(tmp3<=n)] # # ! i4 < j2 -> i4 >= j2 # tmp4 <- sp$rbyv[1:sp$mbyv[i+n]] # tmp4 <- tmp4[which(tmp4<=n)] # result <- intersect(intersect(tmp1,tmp2), intersect(tmp3,tmp4)) # if (bigger) { # result <- result[which(result>i)] # } # return(sort(result)) # } polypoly2 <- function(poly1, nrs1, poly2, nrs2, snap) { if (any(nrs1 == 0 || nrs2 == 0)) return(0L) res <- .Call("polypoly", poly1, nrs1, poly2, nrs2, snap, PACKAGE="spdep") res } if (is.null(foundInBox)) { foundInBox <- lapply(1:(n-1), function(i) findInBox(i, BBindex)) if (verbose) { cat("findInBox:", (proc.time() - .ptime_start)[3]) } nfIBB <- sum(sapply(foundInBox, length)) if (verbose) cat(" list size", nfIBB, "\n") .ptime_start <- proc.time() } criterion <- ifelse(queen, 0, 1) if (useC) { # if (justC) { ans <- .Call("poly_loop2", as.integer(n), foundInBox, bb, xxpl, as.integer(nrs), as.double(dsnap), as.integer(criterion), as.integer(nfIBB), PACKAGE="spdep") # } else { # ans <- .Call("poly_loop", as.integer(n), i_findInBox, bb, pl, # nrs, as.double(dsnap), as.integer(criterion), as.integer(10), # PACKAGE="spdep") # } } else { ans <- vector(mode="list", length=n) for (i in 1:n) ans[[i]] <- integer(0) for (i in 1:(n-1)) { #for (j in (i+1):n) { # for (j in findInBox(i,BBindex)) { for (j in foundInBox[[i]]) { jhit <- .Call("spOverlap", bb[i,], bb[j,], PACKAGE="spdep") if (jhit > 0) { khit <- 0 khit <- polypoly2(xxpl[[i]], nrs[i], xxpl[[j]], nrs[j], dsnap) if (khit > criterion) { ans[[i]] <- c(ans[[i]], j) ans[[j]] <- c(ans[[j]], i) } } } } for (i in 1:n) { if (length(ans[[i]]) == 0L) ans[[i]] <- 0L if (length(ans[[i]]) > 1L) ans[[i]] <- sort(ans[[i]]) } } if (verbose) cat("work loop:", (proc.time() - .ptime_start)[3], "\n") .ptime_start <- proc.time() class(ans) <- "nb" attr(ans, "region.id") <- regid attr(ans, "call") <- match.call() if (queen) attr(ans, "type") <- "queen" else attr(ans, "type") <- "rook" ans <- sym.attr.nb(ans) if (verbose) cat("done:", (proc.time() - .ptime_start)[3], "\n") .ptime_start <- proc.time() ans } # faster findInBox qintersect<-function(x,y) { # streamlined intersect function for unique vectors as.integer(y[match(x, y, 0L)]) } findInBox<-function(i, sp, bigger=TRUE) { n <- dim(sp$bb)[1] # use index structure to identify which other BB's fall in i's BB # by getting id's of polygons with BBmin_j < BBmax_i, BBmax_j > BBmin_i for x and y # then taking the intersection of these four lists of id's tmp<-vector(mode="list", length=4) # ! i1 > j3 --> i1 <= j3 tmp[[1]] <- sp$rbxv[sp$mbxv[i]:(n*2)] tmp[[1]]<- tmp[[1]][which(tmp[[1]]>n)] - n # ! i2 > j4 --> i2 <= bj4 tmp[[2]] <- sp$rbyv[sp$mbyv[i]:(n*2)] tmp[[2]]<- tmp[[2]][which(tmp[[2]]>n)] - n # ! i3 < j1 -> i3 >= j1 tmp[[3]] <- sp$rbxv[1:sp$mbxv[i+n]] tmp[[3]] <- tmp[[3]][which(tmp[[3]]<=n)] # ! i4 < j2 -> i4 >= j2 tmp[[4]] <- sp$rbyv[1:sp$mbyv[i+n]] tmp[[4]]<- tmp[[4]][which(tmp[[4]]<=n)] # for performance, order the comparison of the lists lentmp <- order(sapply(tmp,length)) # use qintersect, since these are already vectors and unique result <- qintersect(tmp[[lentmp[2]]],tmp[[lentmp[1]]]) result <- qintersect(tmp[[lentmp[3]]],result) result <- qintersect(tmp[[lentmp[4]]],result) if (bigger) { result<-result[which(result>i)] } return(sort(result)) } spdep/R/plot.skater.R0000644000176200001440000000171611716033157014170 0ustar liggesusers`plot.skater` <- function(x, coords, label.areas=NULL, groups.colors, cex.circles=1, cex.labels=1, ...){ n <- nrow(coords) if (is.null(label.areas)) label.areas <- as.character(1:n) gr.lab <- unique(x$groups) if (missing(groups.colors)) groups.colors <- rainbow(length(gr.lab)) symbols(coords[,1], coords[,2], circles=rep(cex.circles,n), inches=FALSE, xlab=" ", ylab=" ", xaxt="n", yaxt="n", fg=groups.colors[x$groups], ...) id.edgp <- which(sapply(x$edges.groups, function(x) length(x$node))>1L) if (length(id.edgp)>0L) for (i in 1:length(id.edgp)) { id1 <- x$edges.groups[[id.edgp[i]]]$edge[,1] id2 <- x$edges.groups[[id.edgp[i]]]$edge[,2] segments(coords[id1,1], coords[id1,2], coords[id2,1], coords[id2,2], col=groups.colors[id.edgp[i]], ...) } text(coords[,1], coords[,2], label.areas, cex=cex.labels) invisible() } spdep/R/jacobian.R0000644000176200001440000006165512732033156013476 0ustar liggesusers# Copyright 2010-2012 by Roger Bivand # Chebyshev approximation setup and run functions cheb_setup <- function(env, q=5, which=1) { if (which == 1) { W <- as(get("listw", envir=env), "CsparseMatrix") } else { W <- as(get("listw2", envir=env), "CsparseMatrix") } # W a CSparseMatrix object # q order n <- nrow(W) IM <- .symDiagonal(n) T <- vector(mode="list", length=(q+1)) T[[1]] <- IM T[[2]] <- W trT <- numeric(q+1) trT[1] <- n trT[2] <- 0 if (q > 1) { for (k in 3:(q+1)) { T[[k]] <- 2*(W %*% T[[(k-1)]]) - T[[(k-2)]] trT[k] <- sum(diag(T[[k]])) } } if (which == 1) { assign("trT", trT, envir=env) assign("W", W, envir=env) } else { assign("trT2", trT, envir=env) assign("W2", W, envir=env) } assign("method", "Chebyshev", envir=env) invisible(NULL) } cheb_ldet <- function(alpha, env, which=1) { # trT output from cheb_setup() # alpha spatial coefficient if (which == 1) { trT <- get("trT", envir=env) } else { trT <- get("trT2", envir=env) } cheb_in <- function(alpha, j, q) { res <- (2/(q+1)) x <- 0.0 for (k in 1:(q+1)) { x <- x + log(((1 - (alpha*cos((pi*(k - 0.5))/(q + 1)))))) * cos((pi*(j - 1)*(k - 0.5))/(q + 1)) } res <- res * x res } q <- length(trT)-1L n <- trT[1] C1 <- cheb_in(alpha, j=1, q) x <- 0.0 for (j in 1:(q+1)) { x <- x + (cheb_in(alpha, j=j, q)*trT[j]) } x <- x - (n/2)*C1 x } # MC approximation setup and run functions mcdet_setup <- function(env, p=16, m=30, which=1) { if (which == 1) { W <- as(get("listw", envir=env), "CsparseMatrix") } else { W <- as(get("listw2", envir=env), "CsparseMatrix") } # W a CSparseMatrix object # p, m given in papers n <- dim(W)[1] x <- matrix(rnorm(n*p), nrow=n, ncol=p) int1 <- vector(mode="list", length=m) xx <- x # 111110 set first two traces td2 <- sum(diag(W %*% W)) for (k in 1:m) { xx <- W %*% xx if (k == 1) int1[[k]] <- rep(0, p) else if (k == 2) int1[[k]] <- rep(td2, p) else int1[[k]] <- apply(x * as.matrix(xx), 2, sum) } int2 <- apply(x * x, 2, sum) clx <- list(m=m, p=p, n=n, int1=int1, int2=int2) if (which == 1) { assign("clx", clx, envir=env) assign("W", W, envir=env) } else { assign("clx2", clx, envir=env) assign("W2", W, envir=env) } assign("method", "MC", envir=env) invisible(NULL) } mcdet_ldet <- function(alpha, env, which=1) { # clx output from mcdet_setup() # alpha spatial coefficient if (which == 1) { clx <- get("clx", envir=env) } else { clx <- get("clx2", envir=env) } vk <- numeric(length=clx$p) for (k in 1:clx$m) { vk <- clx$n*(alpha^k)*(clx$int1[[k]]/k) + vk } v <- -c(as.matrix(vk/clx$int2)) res <- mean(v) attr(res, "sd") <- sd(v)/sqrt(clx$p) res } eigen_setup <- function(env, which=1) { if (get("verbose", envir=env)) cat("Computing eigenvalues ...\n") if (which == 1) { if (get("listw", envir=env)$style %in% c("W", "S") && get("can.sim", envir=env)) { eig <- eigen(similar.listw_Matrix(get("listw", envir=env)), only.values=TRUE)$value assign("similar", TRUE, envir=env) } else eig <- eigenw(get("listw", envir=env)) # modified 110414 RSB if (is.complex(eig)) eig.range <- 1/range(Re(eig[which(Im(eig) == 0)])) else eig.range <- 1/range(eig) assign("eig", eig, envir=env) assign("eig.range", eig.range, envir=env) } else { if (get("listw2", envir=env)$style %in% c("W", "S") && get("can.sim2", envir=env)) { eig <- eigen(similar.listw_Matrix(get("listw2", envir=env)), only.values=TRUE)$value assign("similar2", TRUE, envir=env) } else eig <- eigenw(get("listw2", envir=env)) assign("eig2", eig, envir=env) } if (get("verbose", envir=env)) cat("\n") assign("method", "eigen", envir=env) invisible(NULL) } eigen_pre_setup <- function(env, pre_eig, which=1) { stopifnot(length(pre_eig) == get("n", envir=env)) if (which == 1) { if (is.complex(pre_eig)) eig.range <- 1/range(Re(pre_eig[which(Im(pre_eig) == 0)])) else eig.range <- 1/range(pre_eig) assign("eig", pre_eig, envir=env) assign("eig.range", eig.range, envir=env) } else { assign("eig2", pre_eig, envir=env) } if (get("verbose", envir=env)) cat("\n") assign("method", "eigen", envir=env) invisible(NULL) } do_ldet <- function(coef, env, which=1) { method <- get("method", envir=env) if (get("family", envir=env) == "SMA") { ldet <- eigen_sma_ldet(coef, env, which=which) } else { switch(method, eigen = {ldet <- eigen_ldet(coef, env, which=which)}, spam = {ldet <- spam_ldet(coef, env, which=which)}, spam_update = {ldet <- spam_update_ldet(coef, env, which=which)}, Matrix = {ldet <- Matrix_ldet(coef, env, which=which)}, Matrix_J = {ldet <- Matrix_J_ldet(coef, env, which=which)}, Chebyshev = {ldet <- cheb_ldet(coef, env, which=which)}, MC = {ldet <- mcdet_ldet(coef, env, which=which)}, LU = {ldet <- LU_ldet(coef, env, which=which)}, LU_prepermutate = {ldet <- LU_prepermutate_ldet(coef, env, which=which)}, moments = {ldet <- moments_ldet(coef, env, which=which)}, SE_classic = {ldet <- SE_classic_ldet(coef, env, which=which)}, SE_whichMin = {ldet <- SE_whichMin_ldet(coef, env, which=which)}, SE_interp = {ldet <- SE_interp_ldet(coef, env, which=which)}, stop("...\n\nUnknown method\n")) } ldet } eigen_sma_ldet <- function(coef, env, which=1) { eig <- get("eig", envir=env) # modified 110414 RSB if (is.complex(eig)) det <- Re(sum(log(1/(1 + coef * eig)))) else det <- sum(log(1/(1 + coef * eig))) det } eigen_ldet <- function(coef, env, which=1) { if (which == 1) { eig <- get("eig", envir=env) } else { eig <- get("eig2", envir=env) } # modified 110414 RSB if (is.complex(eig)) det <- Re(sum(log(1 - coef * eig))) else det <- sum(log(1 - coef * eig)) det } spam_setup <- function(env, pivot="MMD", which=1) { # if (!require(spam)) stop("spam not available") if (requireNamespace("spam", quietly = TRUE)) { if (which == 1) { if (get("listw", envir=env)$style %in% c("W", "S") && get("can.sim", envir=env)) { csrw <- listw2U_spam(similar.listw_spam(get("listw", envir=env))) assign("similar", TRUE, envir=env) } else csrw <- as.spam.listw(get("listw", envir=env)) assign("csrw", csrw, envir=env) } else { if (get("listw2", envir=env)$style %in% c("W", "S") && get("can.sim2", envir=env)) { csrw <- listw2U_spam(similar.listw_spam(get("listw2", envir=env))) assign("similar2", TRUE, envir=env) } else csrw <- as.spam.listw(get("listw2", envir=env)) assign("csrw2", csrw, envir=env) } n <- get("n", envir=env) I <- spam::diag.spam(1, n, n) assign("I", I, envir=env) assign("pivot", pivot, envir=env) assign("method", "spam", envir=env) } else { stop("spam not available") } invisible(NULL) } spam_ldet <- function(coef, env, which=1) { if (requireNamespace("spam", quietly = TRUE)) { # if (!require(spam)) stop("spam not available") if (which == 1) { csrw <- get("csrw", envir=env) } else { csrw <- get("csrw2", envir=env) } I <- get("I", envir=env) pivot <- get("pivot", envir=env) J1 <- try(spam::determinant.spam.chol.NgPeyton(spam::chol.spam((I - coef * csrw), pivot=pivot), logarithm=TRUE)$modulus, silent=TRUE) if (class(J1) == "try-error") { Jacobian <- NA } else { Jacobian <- 2*J1 } return(Jacobian) } else { stop("spam not available") } } spam_update_setup <- function(env, in_coef=0.1, pivot="MMD", which=1) { # if (!require(spam)) stop("spam not available") if (requireNamespace("spam", quietly = TRUE)) { if (which == 1) { if (get("listw", envir=env)$style %in% c("W", "S") && get("can.sim", envir=env)) { csrw <- listw2U_spam(similar.listw_spam(get("listw", envir=env))) assign("similar", TRUE, envir=env) } else csrw <- as.spam.listw(get("listw", envir=env)) assign("csrw", csrw, envir=env) } else { if (get("listw2", envir=env)$style %in% c("W", "S") && get("can.sim2", envir=env)) { csrw <- listw2U_spam(similar.listw_spam(get("listw2", envir=env))) assign("similar2", TRUE, envir=env) } else csrw <- as.spam.listw(get("listw2", envir=env)) assign("csrw2", csrw, envir=env) } n <- get("n", envir=env) I <- spam::diag.spam(1, n, n) assign("I", I, envir=env) csrwchol <- spam::chol.spam((I - in_coef * csrw), pivot=pivot) if (which == 1) { assign("csrwchol", csrwchol, envir=env) } else { assign("csrwchol2", csrwchol, envir=env) } assign("method", "spam_update", envir=env) } else { stop("spam not available") } invisible(NULL) } spam_update_ldet <- function(coef, env, which=1) { # if (!require(spam)) stop("spam not available") if (requireNamespace("spam", quietly = TRUE)) { if (which == 1) { csrw <- get("csrw", envir=env) cchol <- get("csrwchol", envir=env) } else { csrw <- get("csrw2", envir=env) cchol <- get("csrwchol2", envir=env) } I <- get("I", envir=env) if (abs(coef) < .Machine$double.eps^(0.5)) { Jacobian <- 0.0 } else { J1 <- try(spam::determinant.spam.chol.NgPeyton(spam::update.spam.chol.NgPeyton(cchol, (I - coef * csrw)), logarithm=TRUE)$modulus, silent=TRUE) if (class(J1) == "try-error") { Jacobian <- NA } else { Jacobian <- 2*J1 } } return(Jacobian) } else { stop("spam not available") } } Matrix_setup <- function(env, Imult, super=as.logical(NA), which=1) { if (which == 1) { if (get("listw", envir=env)$style %in% c("W", "S") && get("can.sim", envir=env)) { csrw <- listw2U_Matrix(similar.listw_Matrix(get("listw", envir=env))) assign("similar", TRUE, envir=env) } else csrw <- as_dsTMatrix_listw(get("listw", envir=env)) csrw <- as(csrw, "CsparseMatrix") nW <- - csrw pChol <- Cholesky(csrw, super=super, Imult = Imult) nChol <- Cholesky(nW, super=super, Imult = Imult) assign("csrw", csrw, envir=env) assign("nW", nW, envir=env) assign("pChol", pChol, envir=env) assign("nChol", nChol, envir=env) } else { if (get("listw2", envir=env)$style %in% c("W", "S") && get("can.sim2", envir=env)) { csrw <- listw2U_Matrix(similar.listw_Matrix(get("listw2", envir=env))) assign("similar2", TRUE, envir=env) } else csrw <- as_dsTMatrix_listw(get("listw2", envir=env)) csrw <- as(csrw, "CsparseMatrix") nW <- - csrw pChol <- Cholesky(csrw, super=super, Imult = Imult) nChol <- Cholesky(nW, super=super, Imult = Imult) assign("csrw2", csrw, envir=env) assign("nW2", nW, envir=env) assign("pChol2", pChol, envir=env) assign("nChol2", nChol, envir=env) } .f <- 2 assign(".f", .f, envir=env) assign("method", "Matrix", envir=env) invisible(NULL) } Matrix_ldet <- function(coef, env, which=1) { if (which == 1) { csrw <- get("csrw", envir=env) nW <- get("nW", envir=env) pChol <- get("pChol", envir=env) nChol <- get("nChol", envir=env) } else { csrw <- get("csrw2", envir=env) nW <- get("nW2", envir=env) pChol <- get("pChol2", envir=env) nChol <- get("nChol2", envir=env) } a <- -.Machine$double.eps^(1/2) b <- .Machine$double.eps^(1/2) n <- get("n", envir=env) .f <- get(".f", envir=env) Jacobian <- ifelse(coef > b, n * log(coef) + (.f * c(determinant(update(nChol, nW, 1/coef))$modulus)), ifelse(coef < a, n* log(-(coef)) + (.f * c(determinant(update(pChol, csrw, 1/(-coef)))$modulus)), 0.0)) Jacobian } LU_setup <- function(env, which=1) { if (which == 1) { W <- as(get("listw", envir=env), "CsparseMatrix") assign("W", W, envir=env) } else { W <- as(get("listw2", envir=env), "CsparseMatrix") assign("W2", W, envir=env) } I <- as_dsCMatrix_I(get("n", envir=env)) assign("I", I, envir=env) assign("method", "LU", envir=env) invisible(NULL) } LU_ldet <- function(coef, env, which=1) { I <- get("I", envir=env) if (which == 1) { W <- get("W", envir=env) } else { W <- get("W2", envir=env) } LU <- lu(I - coef * W) dU <- abs(diag(slot(LU, "U"))) ldet <- sum(log(dU)) ldet } LU_prepermutate_setup <- function(env, coef=0.1, order=FALSE, which=1) { I <- as_dsCMatrix_I(get("n", envir=env)) assign("I", I, envir=env) if (which == 1) { assign("lu_order", order, envir=env) W <- as(get("listw", envir=env), "CsparseMatrix") assign("W", W, envir=env) LU <- lu(I - coef * W) pq <- cbind(LU@p+1L, LU@q+1L) assign("pq", pq, envir=env) } else { assign("lu_order2", order, envir=env) W <- as(get("listw2", envir=env), "CsparseMatrix") assign("W2", W, envir=env) LU <- lu(I - coef * W) pq <- cbind(LU@p+1L, LU@q+1L) assign("pq2", pq, envir=env) } assign("method", "LU_prepermutate", envir=env) invisible(NULL) } LU_prepermutate_ldet <- function(coef, env, which=1) { I <- get("I", envir=env) if (which == 1) { order <- get("lu_order", envir=env) W <- get("W", envir=env) pq <- get("pq", envir=env) } else { order <- get("lu_order2", envir=env) W <- get("W2", envir=env) pq <- get("pq2", envir=env) } z <- (I - coef * W) LU <- lu(z[pq[,1], pq[,2]], order=order) dU <- abs(diag(slot(LU, "U"))) ldet <- sum(log(dU)) ldet } Matrix_J_setup <- function(env, super=FALSE, which=1) { if (which == 1) { if (get("listw", envir=env)$style %in% c("W", "S") && get("can.sim", envir=env)) { csrw <- listw2U_Matrix(similar.listw_Matrix(get("listw", envir=env))) assign("similar", TRUE, envir=env) } else csrw <- as_dsTMatrix_listw(get("listw", envir=env)) csrw <- as(csrw, "CsparseMatrix") assign("csrw", csrw, envir=env) } else { if (get("listw2", envir=env)$style %in% c("W", "S") && get("can.sim2", envir=env)) { csrw <- listw2U_Matrix(similar.listw_Matrix(get("listw2", envir=env))) assign("similar2", TRUE, envir=env) } else csrw <- as_dsTMatrix_listw(get("listw2", envir=env)) csrw <- as(csrw, "CsparseMatrix") assign("csrw2", csrw, envir=env) } I <- as_dsCMatrix_I(get("n", envir=env)) assign("I", I, envir=env) .f <- 2 assign(".f", .f, envir=env) assign("super", super, envir=env) assign("method", "Matrix_J", envir=env) invisible(NULL) } Matrix_J_ldet <- function(coef, env, which=1) { I <- get("I", envir=env) super <- get("super", envir=env) if (which == 1) { csrw <- get("csrw", envir=env) } else { csrw <- get("csrw2", envir=env) } .f <- get(".f", envir=env) cch <- Cholesky((I - coef * csrw), super=super) Jacobian <- .f * determinant(cch, logarithm = TRUE)$modulus Jacobian } Rmrho <- function(Omega, m, rho, n, trunc=FALSE, q12, eq7=TRUE) { Om <- Omega[m] Om1 <- Omega[m-1] Om_e <- Omega[m]/Omega[m-2] Om_o <- Omega[m-1]/Omega[m-3] res <- 0 rhoj <- rho^m Om_ej <- Om_e^m Om_oj <- Om_o^m # m+1 120912 RSB for (j in (m+1):n) { if ((j %% 2) == 0) { # eq. 7 121003 inc <- ifelse(eq7, ((1/j)*rhoj)*(Om*(Om_ej) - q12[1] - q12[2]), ((1/j)*rhoj)*Om*(Om_ej)) } else { # eq. 7 121003 inc <- ifelse(eq7, ((1/j)*rhoj)*(Om1*(Om_oj) - q12[1] + q12[2]), ((1/j)*rhoj)*Om1*(Om_oj)) } if (!is.finite(inc)) break if (abs(inc) < .Machine$double.eps && trunc) break res <- res + inc rhoj <- rhoj*rho Om_ej <- Om_ej*Om_e Om_oj <- Om_oj*Om_o } attr(res, "j") <- j res } Om_extrap <- function(Omega, m, n) { Omega_ex <- numeric(n) Omega_ex[1:m] <- Omega Om <- Omega[m] Om1 <- Omega[m-1] Om_e <- Omega[m]/Omega[m-2] Om_o <- Omega[m-1]/Omega[m-3] for (j in (m+1):n) { if ((j %% 2) == 0) { # eq. 7 121003 Omega_ex[j] <- Om*(Om_ej) } else { # eq. 7 121003 Omega_ex[j] <- Om1*(Om_oj) } Om_ej <- Om_ej*Om_e Om_oj <- Om_oj*Om_o } Omega_ex } ldetMoments <- function(Omega, rho, correct=TRUE, trunc=FALSE, q12, eq7=TRUE, m) { res <- 0 rhoj <- rho for (j in seq(along=Omega)) { inc <- (1/j)*rhoj*Omega[j] if (!is.finite(inc)) break if (abs(inc) < .Machine$double.eps && j > m && trunc) break res <- res + inc rhoj <- rhoj*rho } # eq. 7 121003 res <- -ifelse(eq7, (q12[1]*log(1-rho) + q12[2]*log(1+rho) + res), res) attr(res, "j") <- j res } moments_setup <- function(env, trs=NULL, m, p, type="MC", correct=TRUE, trunc=TRUE, eq7=TRUE, which=1) { if (which == 1) { if (eq7) { q12 <- find_q1_q2(get("listw", envir=env)) assign("q12_1", q12, envir=env) } if (is.null(trs)) { if (get("listw", envir=env)$style %in% c("W", "S") && get("can.sim", envir=env)) { csrw <- listw2U_Matrix(similar.listw_Matrix(get("listw", envir=env))) assign("similar", TRUE, envir=env) } else csrw <- as_dgRMatrix_listw(get("listw", envir=env)) csrw <- as(csrw, "CsparseMatrix") trs <- trW(csrw, m=m, p=p, type=type) } if (correct) trs <- Om_extrap(trs, m, get("n", envir=env)) if (eq7) trs <- trs - q12[1] - q12[2]*ifelse(1:length(trs) %% 2, -1, 1) assign("trs1", trs, envir=env) } else { if (eq7) { q12 <- find_q1_q2(get("listw2", envir=env)) assign("q12_2", q12, envir=env) } if (is.null(trs)) { if (get("listw2", envir=env)$style %in% c("W", "S") && get("can.sim2", envir=env)) { csrw <- listw2U_Matrix(similar.listw_Matrix(get("listw2", envir=env))) assign("similar2", TRUE, envir=env) } else csrw <- as_dgRMatrix_listw(get("listw2", envir=env)) csrw <- as(csrw, "CsparseMatrix") trs <- trW(csrw, m=m, p=p, type=type) } if (correct) trs <- Om_extrap(trs, m, get("n", envir=env)) if (eq7) trs <- trs - q12[1] - q12[2]*ifelse(1:length(trs) %% 2, -1, 1) assign("trs2", trs, envir=env) } assign("correct", correct, envir=env) assign("trunc", trunc, envir=env) assign("eq7", eq7, envir=env) assign("m", m, envir=env) assign("method", "moments", envir=env) invisible(NULL) } moments_ldet <- function(x, env, which=1) { if (which == 1) { trs <- get("trs1", envir=env) q12 <- get("q12_1", envir=env) } else { trs <- get("trs2", envir=env) q12 <- get("q12_2", envir=env) } correct <- get("correct", envir=env) trunc <- get("trunc", envir=env) eq7 <- get("eq7", envir=env) m <- get("m", envir=env) Jacobian <- ldetMoments(trs, x, correct, trunc, q12, eq7, m) Jacobian } SE_classic_setup <- function(env, SE_method="LU", p=16, m=30, nrho=200, interpn=2000, interval=c(-1,0.999), SElndet=NULL, which=1) { # stopifnot(require(splines)) if (is.null(SElndet)) { SE_setup_intern(env, SE_method=SE_method, p=p, m=m, nrho=nrho, interval=interval, which=which) assign("SE_method", SE_method, envir=env) if (which == 1) { detval <- get("detval1", envir=env) } else if (which == 2) { detval <- get("detval2", envir=env) } fit <- interpSpline(detval[,1], detval[,2]) rho <- seq(interval[1], interval[2], length.out=interpn) detval <- matrix(unlist(predict(fit, rho)), ncol=2) } else { stopifnot(is.matrix(SElndet)) stopifnot(ncol(SElndet) == 2) detval <- SElndet assign("SE_method", "precomputed", envir=env) } assign("method", "SE_classic", envir=env) if (which == 1) { assign("detval1", detval, envir=env) } else if (which == 2) { assign("detval2", detval, envir=env) } assign("intern_classic", data.frame(), envir=env) invisible(NULL) } SE_setup_intern <- function(env, SE_method="LU", p=16, m=30, nrho=100, interval=c(-1,0.999), which=1) { switch(SE_method, LU = {tull <- LU_setup(env, which=which)}, MC = {tull <- mcdet_setup(env, p=p, m=m, which=which)}, stop("...\n\nUnknown SE_method\n")) rho <- seq(interval[1]+0.001, interval[2]-0.001, length.out=nrho) ldets <- sapply(rho, function(r) do_ldet(r, env, which=which)) detval <- cbind(rho, ldets) if (which == 1) { assign("detval1", detval, envir=env) } else if (which == 2) { assign("detval2", detval, envir=env) } invisible(NULL) } SE_classic_ldet <- function(x, env, which=1) { if (which == 1) { detval <- get("detval1", envir=env) } else if (which == 2) { detval <- get("detval2", envir=env) } res <- SE_classic(x, detval) intern_attr <- attr(res, "intern") intern_attr$rho0 <- x intern_attr$rho1 <- res[1] intern_attr <- as.data.frame(intern_attr) iC <- rbind(get("intern_classic", envir=env), intern_attr) assign("intern_classic", iC, envir=env) res[2] } SE_classic <- function(rho, detval) { gsize = detval[2, 1] - detval[1, 1] i1 = which(detval[, 1] <= rho + gsize) i2 = which(detval[, 1] <= rho - gsize) i1 = max(i1) i2 = max(i2) index0 <- (i1+i2)/2 index = round(index0) #cat("index", index, "i1", i1, "i2", i2, "ind", ((i1+i2)/2), "\n") if (index < 1 || index > dim(detval)[1]) stop("index out of bounds") res <- detval[index, ] attr(res, "intern") <- list(i1=i1, i2=i2, index0=index0, index=index) res } SE_whichMin_setup <- function(env, SE_method="LU", p=16, m=30, nrho=200, interpn=2000, interval=c(-1,0.999), SElndet=NULL, which=1) { # stopifnot(require(splines)) if (is.null(SElndet)) { SE_setup_intern(env, SE_method=SE_method, p=p, m=m, nrho=nrho, interval=interval, which=which) assign("SE_method", SE_method, envir=env) if (which == 1) { detval <- get("detval1", envir=env) } else if (which == 2) { detval <- get("detval2", envir=env) } fit <- interpSpline(detval[,1], detval[,2]) rho <- seq(interval[1], interval[2], length.out=interpn) detval <- matrix(unlist(predict(fit, rho)), ncol=2) } else { stopifnot(is.matrix(SElndet)) stopifnot(ncol(SElndet) == 2) detval <- SElndet assign("SE_method", "precomputed", envir=env) } assign("method", "SE_whichMin", envir=env) if (which == 1) { assign("detval1", detval, envir=env) } else if (which == 2) { assign("detval2", detval, envir=env) } invisible(NULL) } SE_whichMin_ldet <- function(x, env, which=1) { if (which == 1) { detval <- get("detval1", envir=env) } else if (which == 2) { detval <- get("detval2", envir=env) } SE_whichMin(x, detval)[2] } SE_whichMin <- function(rho, detval) { gsize = detval[2, 1] - detval[1, 1] i1 = which(detval[, 1] <= rho + gsize) i2 = which(detval[, 1] <= rho - gsize) i1 = max(i1) i2 = max(i2) i12 <- i1:i2 mi12 <- which.min((detval[i12, 1]-rho)^2) index <- i12[mi12] #cat("index", index, "i1", i1, "i2", i2, "\n") if (index < 1 || index > dim(detval)[1]) stop("index out of bounds") detval[index, ] } SE_interp_setup <- function(env, SE_method="LU", p=16, m=30, nrho=200, interval=c(-1,0.999), which=1) { # stopifnot(require(splines)) SE_setup_intern(env, SE_method=SE_method, p=p, m=m, nrho=nrho, interval=interval, which=which) assign("method", "SE_interp", envir=env) assign("SE_method", SE_method, envir=env) if (which == 1) { detval <- get("detval1", envir=env) } else if (which == 2) { detval <- get("detval2", envir=env) } fit <- interpSpline(detval[,1], detval[,2]) if (which == 1) { assign("fit1", fit, envir=env) } else if (which == 2) { assign("fit2", fit, envir=env) } invisible(NULL) } SE_interp_ldet <- function(x, env, which=1) { if (which == 1) { fit <- get("fit1", envir=env) } else if (which == 2) { fit <- get("fit2", envir=env) } SE_interp(x, fit)[2] } # setup generate detval using method # for # rho, fit spline model SE_interp <- function(rho, fit) { res <- predict(fit, rho) unname(unlist(res)) } spdep/R/read.gwt2nb.R0000644000176200001440000001272211770552553014044 0ustar liggesusers# Copyright 2003-6 by Luc Anselin and Roger Bivand # # LA 6/28/03 read.gwt # LA 7/12/03 revised, sorted ids # LA 9/30/03 use match to correct orders read.gwt2nb <- function(file, region.id=NULL) { con <- file(file, open="r") #opens the file firstline <- unlist(strsplit(readLines(con,1)," ")) if (length(firstline) == 4L) { n <- as.integer(firstline[2]) shpfile <- firstline[3] ind <- firstline[4] if (ind != deparse(substitute(region.id))) warning(paste("region.id not named", ind)) } else if (length(firstline) == 1L) { n <- as.integer(firstline[1]) shpfile <- as.character(NA) ind <- as.character(NA) warning("Old-style GWT file") } else stop("Invalid header line format for GWT file") close(con) if (n < 1) stop("non-positive number of entities") nseq <- 1:n if (is.null(region.id)) region.id <- nseq if (n != length(region.id)) stop("Mismatch in dimensions of GWT file and region.id") if (length(unique(region.id)) != length(region.id)) stop("non-unique region.id given") odij <- read.table(file, skip=1) # convert region.id to order regodij <- match(odij[,1], region.id) regddij <- match(odij[,2], region.id) odij <- cbind(regodij, regddij, odij[,3]) qorder <- order(odij[,1],odij[,2]) odij <- odij[qorder,] origvec <- unique(odij[,1]) if (!all(nseq %in% origvec)) warning(paste(paste(region.id[which(!(nseq %in% origvec))], collapse=", "), "are not origins")) destvec <- unique(odij[,2]) if (!all(nseq %in% destvec)) warning(paste(paste(region.id[which(!(nseq %in% destvec))], collapse=", "), "are not destinations")) res <- vector(mode="list", length=n) vlist <- vector(mode="list", length=n) rle.sn <- rle(odij[,1]) cs1.sn <- cumsum(rle.sn$lengths) cs0.sn <- c(1, cs1.sn[1:(n-1)]+1) ii <- 1 for (i in 1:n) { # Bug hit by Thomas Halvorsen 10/2006, was already fixed in sn2listw() if (!is.na(rle.sn$value[ii]) && rle.sn$value[ii] == i) { res[[i]] <- as.integer(odij[cs0.sn[ii]:cs1.sn[ii],2]) vlist[[i]] <- as.double(odij[cs0.sn[ii]:cs1.sn[ii],3]) ii <- ii+1 } else { res[[i]] <- 0L } } class(res) <- c("nb", "GWT") attr(res, "region.id") <- region.id attr(res, "neighbours.attrs") <- as.character(NA) attr(res, "weights.attrs") <- as.character(NA) attr(res, "GeoDa") <- list(dist=vlist, shpfile=shpfile, ind=ind) attr(res, "call") <- match.call() attr(res, "n") <- n res <- sym.attr.nb(res) res } write.sn2gwt <- function(sn, file, shpfile=NULL, ind=NULL, useInd=FALSE, legacy=FALSE) { if(!inherits(sn, "spatial.neighbour")) stop("not a spatial.neighbour object") n <- attr(sn, "n") if (n < 1) stop("non-positive number of entities") if (is.null(shpfile)) { tmp <- attr(sn, "GeoDa")$shpfile if (is.null(tmp)) shpfile <- "unknown" else shpfile <- tmp } else { stopifnot(is.character(shpfile)) stopifnot(length(shpfile) == 1L) } if (is.null(ind)) { tmp <- attr(sn, "GeoDa")$ind if (is.null(tmp)) ind <- "unknown" else ind <- tmp } else { stopifnot(is.character(ind)) stopifnot(length(ind) == 1L) } if (useInd) { rid <- attr(sn, "region.id") sn$from <- rid[sn$from] sn$to <- rid[sn$to] } con <- file(file, open="w") if (legacy) writeLines(format(n), con) else writeLines(paste("0", n, shpfile, ind, sep=" "), con) write.table(as.data.frame(sn), file=con, append=TRUE, row.names=FALSE, col.names=FALSE, quote=FALSE) close(con) } write.sn2dat <- function(sn, file) { if(!inherits(sn, "spatial.neighbour")) stop("not a spatial.neighbour object") write.table(data.frame(sn[order(sn[,2]), ]), file=file, col.names=FALSE, row.names=FALSE) } read.dat2listw <- function(file) { wmat <- read.table(file) stopifnot(ncol(wmat) == 3) stopifnot(is.numeric(wmat[,3])) if (storage.mode(wmat[,1]) != "integer") storage.mode(wmat[,1])<- "integer" if (storage.mode(wmat[,2]) != "integer") storage.mode(wmat[,2]) <- "integer" sn <- wmat[order(wmat[,1]),] IDS <- unique(sn[,1]) class(sn) <- c("spatial.neighbour", "data.frame") attr(sn, "n") <- length(IDS) attr(sn, "region.id") <- as.character(IDS) listw <- sn2listw(sn) listw } write.sn2Arc <- function(sn, file, field=NULL) { if(!inherits(sn, "spatial.neighbour")) stop("not a spatial.neighbour object") if (is.null(field)) stop("field must be given") n <- attr(sn, "n") if (n < 1) stop("non-positive number of entities") nms <- as.character(attr(sn, "region.id")) sn[,1] <- nms[sn[,1]] sn[,2] <- nms[sn[,2]] con <- file(file, open="w") writeLines(field, con) write.table(as.data.frame(sn), file=con, append=TRUE, row.names=FALSE, col.names=FALSE, quote=FALSE) close(con) } # Copyright 2011 Virgilio Gomez-Rubio # a function to export from nb object to a particular file format # which is used by INLA when fitting spatial models for lattice data # revision Marcos Prates 2011-10-07 nb2INLA <-function(file, nb) { n<-length(nb) if(!file.create(file)) { stop("Cannot open file") } txt<-paste(n, "\n", sep="") cat(txt, file=file, append = TRUE) crd <- card(nb) for(i in 1:length(nb)) { if (crd[i] == 0) txt <- paste(c(i, 0), collapse=" ") # Marcos Prates 2011-10-07 no-neighbour case else txt<-paste(c(i, length(nb[[i]]), nb[[i]]), collapse=" ") txt<-paste(txt, "\n",sep="") cat(txt, file=file, append = TRUE) } } spdep/R/utils.R0000644000176200001440000001457212461237644013073 0ustar liggesusers# Copyright 2001-15 by Roger Bivand # spweights.constants <- function(listw, zero.policy=NULL, adjust.n=TRUE) { if (get.listw_is_CsparseMatrix_Option()) { stopifnot(is(listw, "CsparseMatrix")) cards <- rowSums(listw > 0) if (adjust.n) { n <- as.double(length(which(cards > 0))) } else { n <- as.double(length(cards)) } c1 <- rowSums(listw) S0 <- sum(c1) S1 <- sum((listw*listw)+(listw*t(listw))) S2 <- sum((rowSums(listw)+colSums(listw))^2) } else { if(!inherits(listw, "listw")) stop(paste(deparse(substitute(listw)), "is not a listw object")) cards <- card(listw$neighbours) if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) if (!zero.policy && any(cards == 0)) stop("regions with no neighbours found") if (adjust.n) n <- as.double(length(which(cards > 0))) else n <- as.double(length(cards)) S0 <- Szero(listw) S1 <- 0 rS <- numeric(length(listw$neighbours)) cS <- numeric(length(listw$neighbours)) for (i in 1:length(listw$neighbours)) { cond <- TRUE if (zero.policy && cards[i] == 0) cond <- FALSE if (cond) { # Luc Anselin 2006-11-11 problem with asymmetric listw if (cards[i] == 0) stop(paste("region", i, "has no neighbours")) ij <- listw$neighbours[[i]] wij <- listw$weights[[i]] rS[i] <- sum(wij) for (j in 1:length(ij)) { dij <- wij[j] ij.j <- ij[j] cS[ij.j] <- cS[ij.j] + dij ij.lkup <- which(listw$neighbours[[ij.j]] == i) if (length(ij.lkup) == 1L) dji <- listw$weights[[ij.j]][ij.lkup] else dji <- 0 S1 <- S1 + (dij*dij) + (dij*dji) } } } S2 <- sum((rS + cS)^2) } n1 <- n - 1 n2 <- n - 2 n3 <- n - 3 nn <- n*n list(n=n, n1=n1, n2=n2, n3=n3, nn=nn, S0=S0, S1=S1, S2=S2) } Szero <- function(listw) { sum(unlist(listw$weights)) } lag.listw <- function(x, var, zero.policy=NULL, NAOK=FALSE, ...) { if (!is.logical(NAOK)) stop("NAOK must be logical") if (get.listw_is_CsparseMatrix_Option()) { if (!NAOK && any(is.na(var))) stop("NA in variable") stopifnot(is(x, "CsparseMatrix")) res <- drop(as.matrix(unname((x %*% var)))) } else { listw <- x if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) if (!inherits(listw, "listw")) stop(paste(deparse(substitute(x)), "is not a listw object")) x <- var if (!is.vector(c(x)) && !is.matrix(x)) stop(paste(deparse(substitute(var)), "not a vector or matrix")) if (!is.numeric(x)) stop(paste(deparse(substitute(var)), "not numeric")) storage.mode(x) <- "double" n <- length(listw$neighbours) cardnb <- card(listw$neighbours) if (is.null(dim(x))) { if (length(x) != n) stop("object lengths differ") res <- .Call("lagw", listw$neighbours, listw$weights, x, as.integer(cardnb), as.logical(zero.policy), naok=NAOK, PACKAGE="spdep") } else { if (nrow(x) != n) stop("object lengths differ") res <- matrix(0, nrow=nrow(x), ncol=ncol(x)) for (i in 1:ncol(x)) { res[,i] <- .Call("lagw", listw$neighbours, listw$weights, x[,i], as.integer(cardnb), as.logical(zero.policy), naok=NAOK, PACKAGE="spdep") } } } if (any(is.na(res))) warning("NAs in lagged values") res } listw2U <- function(listw) { if (get.listw_is_CsparseMatrix_Option()) { stopifnot(is(listw, "CsparseMatrix")) res <- (listw+t(listw))/2 } else { if (!inherits(listw, "listw")) stop(paste(deparse(substitute(listw)), "is not a listw object")) nb <- listw$neighbours wts <- listw$weights style <- paste(listw$style, "U", sep="") sym <- is.symmetric.nb(nb, FALSE, TRUE) n <- length(listw$neighbours) cardnb <- card(listw$neighbours) nlist <- vector(mode="list", length=n) attr(nlist, "region.id") <- attr(nb, "region.id") class(nlist) <- "nb" vlist <- vector(mode="list", length=n) attr(vlist, as.character(style)) <- TRUE if (sym) { nlist <- vector(mode="list", length=n) attr(nlist, "region.id") <- attr(nb, "region.id") class(nlist) <- "nb" for (i in 1:n) { inb <- nb[[i]] nlist[[i]] <- inb iwt <- wts[[i]] icd <- cardnb[i] if (icd > 0) { for (j in 1:icd) { vlist[[i]][j] <- 0.5 * (iwt[j]+wts[[inb[j]]][which(nb[[inb[j]]] == i)]) } } } } else { nlist <- make.sym.nb(nb) for (i in 1:n) { inb <- nb[[i]] inl <- nlist[[i]] if (inl[1] > 0) { iwt <- wts[[i]] vlist[[i]] <- numeric(length=length(inl)) for (j in 1:length(inl)) { if (inl[j] %in% inb) a <- iwt[which(inb == inl[j])] else a <- 0 if (i %in% nb[[inl[j]]]) b <- wts[[inl[j]]][which(nb[[inl[j]]] == i)] else b <- 0 vlist[[i]][j] <- 0.5 * (a + b) } } } } res <- list(style=style, neighbours=nlist, weights=vlist) class(res) <- "listw" attr(res, "region.id") <- attr(nb, "region.id") attr(res, "call") <- match.call() attr(res, "U") <- TRUE } res } listw2star <- function(listw, ireg, style, n, D, a, zero.policy=NULL) { if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) nb <- vector(mode="list", length=n) class(nb) <- "nb" wts <- vector(mode="list", length=n) for (i in 1:n) nb[[i]] <- 0L inb <- listw$neighbours[[ireg]] iwts <- listw$weights[[ireg]] cond <- TRUE if (inb == 0 || length(inb) == 0 || is.null(iwts)) cond <- FALSE if (!cond && !zero.policy) stop("No-neighbour region found") if (style == "W") iwts <- (n*D[ireg]*iwts) / 2 else if (style == "S") iwts <- ((n^2)*D[ireg]*iwts) / (2*a) else if (style == "C") iwts <- ((n^2)*iwts) / (2*a) if (cond) { nb[[ireg]] <- inb wts[[ireg]] <- iwts for (j in 1:length(inb)) { jj <- inb[j] nb[[jj]] <- ireg wts[[jj]] <- iwts[j] } } res <- list(style=style, neighbours=nb, weights=wts) class(res) <- c("listw", "star") attr(res, "region.id") <- attr(listw, "region.id") res } spdep <- function(build=FALSE) { # require("utils") .DESC <- packageDescription("spdep") .spdep.Version <- paste(.DESC[["Package"]], ", version ", .DESC[["Version"]], ", ", .DESC[["Date"]], sep="") .spdep.Build <- paste("build:", .DESC[["Built"]]) if (build) return(c(.spdep.Version, .spdep.Build)) else return(.spdep.Version) } spdep/R/jacobian_setup.R0000644000176200001440000001770512500306240014701 0ustar liggesusers# Copyright 2012 by Roger Bivand jacobianSetup <- function(method, env, con, pre_eig=NULL, trs=NULL, interval=NULL, which=1) { switch(method, eigen = { if (get("verbose", envir=env)) cat("neighbourhood matrix eigenvalues\n") if (is.null(pre_eig)) { eigen_setup(env, which=which) } else { eigen_pre_setup(env, pre_eig=pre_eig, which=which) } er <- get("eig.range", envir=env) if (is.null(interval)) interval <- c(er[1]+.Machine$double.eps, er[2]-.Machine$double.eps) }, Matrix = { if (get("listw", envir=env)$style %in% c("W", "S") && !get("can.sim", envir=env)) stop("Matrix method requires symmetric weights") if (get("listw", envir=env)$style %in% c("B", "C", "U") && !(is.symmetric.glist(get("listw", envir=env)$neighbours, get("listw", envir=env)$weights))) stop("Matrix method requires symmetric weights") if (get("verbose", envir=env)) cat("sparse matrix Cholesky decomposition\n") Imult <- con$Imult if (is.null(interval)) { if (get("listw", envir=env)$style == "B") { interval <- c(-0.5, +0.25) } else interval <- c(-1, 0.999) } if (get("listw", envir=env)$style == "B") { Imult <- ceiling((2/3) * max(sapply(get("listw", envir=env)$weights, sum))) } if (is.null(con$super)) con$super <- as.logical(NA) Matrix_setup(env, Imult, con$super, which=which) }, Matrix_J = { if (get("listw", envir=env)$style %in% c("W", "S") && !get("can.sim", envir=env)) stop("Matrix method requires symmetric weights") if (get("listw", envir=env)$style %in% c("B", "C", "U") && !(is.symmetric.glist(get("listw", envir=env)$neighbours, get("listw", envir=env)$weights))) stop("Matrix method requires symmetric weights") if (get("verbose", envir=env)) cat("sparse matrix Cholesky decomposition\n") if (is.null(interval)) { if (get("listw", envir=env)$style == "B") { interval <- c(-0.5, +0.25) } else interval <- c(-1, 0.999) } if (is.null(con$super)) con$super <- FALSE Matrix_J_setup(env, super=con$super, which=which) }, spam = { # if (!require(spam)) stop("spam not available") if (requireNamespace("spam", quietly = TRUE)) { if (get("listw", envir=env)$style %in% c("W", "S") && !get("can.sim", envir=env)) stop("spam method requires symmetric weights") if (get("listw", envir=env)$style %in% c("B", "C", "U") && !(is.symmetric.glist(get("listw", envir=env)$neighbours, get("listw", envir=env)$weights))) stop("spam method requires symmetric weights") if (get("verbose", envir=env)) cat("sparse matrix Cholesky decomposition\n") spam_setup(env, pivot=con$spamPivot, which=which) if (is.null(interval)) interval <- c(-1,0.999) } else { stop("spam not available") } }, spam_update = { # if (!require(spam)) stop("spam not available") if (requireNamespace("spam", quietly = TRUE)) { if (get("listw", envir=env)$style %in% c("W", "S") && !get("can.sim", envir=env)) stop("spam method requires symmetric weights") if (get("listw", envir=env)$style %in% c("B", "C", "U") && !(is.symmetric.glist(get("listw", envir=env)$neighbours, get("listw", envir=env)$weights))) stop("spam method requires symmetric weights") if (get("verbose", envir=env)) cat("sparse matrix Cholesky decomposition\n") spam_update_setup(env, in_coef=con$in_coef, pivot=con$spamPivot, which=which) if (is.null(interval)) interval <- c(-1,0.999) } else { stop("spam not available") } }, Chebyshev = { if (get("listw", envir=env)$style %in% c("W", "S") && !get("can.sim", envir=env)) stop("Chebyshev method requires symmetric weights") if (get("listw", envir=env)$style %in% c("B", "C", "U") && !(is.symmetric.glist(get("listw", envir=env)$neighbours, get("listw", envir=env)$weights))) stop("Chebyshev method requires symmetric weights") if (get("verbose", envir=env)) cat("sparse matrix Chebyshev approximation\n") cheb_setup(env, q=con$cheb_q, which=which) if (is.null(interval)) interval <- c(-1,0.999) }, MC = { if (!get("listw", envir=env)$style %in% c("W")) stop("MC method requires row-standardised weights") if (get("verbose", envir=env)) cat("sparse matrix Monte Carlo approximation\n") mcdet_setup(env, p=con$MC_p, m=con$MC_m, which=which) if (is.null(interval)) interval <- c(-1,0.999) }, LU = { if (get("verbose", envir=env)) cat("sparse matrix LU decomposition\n") LU_setup(env, which=which) if (is.null(interval)) interval <- c(-1,0.999) }, LU_prepermutate = { if (get("verbose", envir=env)) cat("sparse matrix LU decomposition\n") LU_prepermutate_setup(env, coef=con$in_coef, order=con$LU_order, which=which) if (is.null(interval)) interval <- c(-1,0.999) }, moments = { if (get("verbose", envir=env)) cat("Smirnov/Anselin (2009) trace approximation\n") moments_setup(env, trs=trs, m=con$MC_m, p=con$MC_p, type=con$type, correct=con$correct, trunc=con$trunc, which=which) if (is.null(interval)) interval <- c(-1,0.999) }, SE_classic = { if (get("verbose", envir=env)) cat("SE toolbox classic grid\n") if (is.null(interval)) interval <- c(-1,0.999) if (con$SE_method == "MC" && !get("listw", envir=env)$style %in% c("W")) stop("MC method requires row-standardised weights") SE_classic_setup(env, SE_method=con$SE_method, p=con$MC_p, m=con$MC_m, nrho=con$nrho, interpn=con$interpn, interval=interval, SElndet=con$SElndet, which=which) }, SE_whichMin = { if (get("verbose", envir=env)) cat("SE toolbox which.min grid\n") if (is.null(interval)) interval <- c(-1,0.999) if (con$SE_method == "MC" && !get("listw", envir=env)$style %in% c("W")) stop("MC method requires row-standardised weights") SE_whichMin_setup(env, SE_method=con$SE_method, p=con$MC_p, m=con$MC_m, nrho=con$nrho, interpn=con$interpn, interval=interval, SElndet=con$SElndet, which=which) }, SE_interp = { if (get("verbose", envir=env)) cat("SE toolbox which.min grid\n") if (is.null(interval)) interval <- c(-1,0.999) if (con$SE_method == "MC" && !get("listw", envir=env)$style %in% c("W")) stop("MC method requires row-standardised weights") SE_interp_setup(env, SE_method=con$SE_method, p=con$MC_p, m=con$MC_m, nrho=con$nrho, interval=interval, which=which) }, stop("...\n\nUnknown method\n")) interval } spdep/R/lextrW.R0000644000176200001440000002214512501644452013205 0ustar liggesusers lextrW <- function(lw, zero.policy=TRUE, control=list()) { # must be row-standardized listw object stopifnot(lw$style == "W") stopifnot(attr(lw$weights, "mode") == "binary") # n number of observations lwcard <- as.integer(attr(lw$weights, "comp")$d) #card(lw$neighbours) n <- as.integer(length(lwcard)) stopifnot(can.be.simmed(lw)) lw <- similar.listw(lw) tol <- control$tol if (is.null(tol)) tol <- .Machine$double.eps^(1/2) stopifnot(is.numeric(tol)) stopifnot(length(tol) == 1) control$tol <- tol trace <- control$trace if (is.null(trace)) trace <- FALSE control$trace <- trace stopifnot(is.logical(trace)) stopifnot(length(trace) == 1) maxiter <- control$maxiter if (is.null(maxiter)) maxiter <- 6L*(n-2L) stopifnot(is.integer(maxiter)) stopifnot(length(maxiter) == 1) control$maxiter <- maxiter useC <- control$useC if (is.null(useC)) useC <- TRUE stopifnot(is.logical(useC)) stopifnot(length(useC) == 1) control$useC <- useC resl1 <- l_max(lw=lw, zero.policy=zero.policy, control=control) if (attr(resl1, "msg") != "converged") warning("lextrW: l_max not converged") lwB <- nb2listw(lw$neighbours, style="B", zero.policy=zero.policy) resln_2.1 <- lminC_2.1(lw=lwB, y=attr(resl1, "e1")/c(resl1), crd=lwcard, zero.policy=zero.policy, control=control) if (attr(resln_2.1, "msg") != "converged") warning("lextrW: 2.1 not converged") resln_2.2 <- lminC_2.2(lwB, resln_2.1, crd=lwcard, zero.policy=zero.policy, control=control) lambda.n <- lminC_2.3(lwB, resln_2.2, attr(resln_2.1, "sse"), crd=lwcard, zero.policy=zero.policy, control=control) if (attr(lambda.n, "msg") != "converged") warning("lextrW: 2.3 not converged") resln_3 <- lminW_3(lw, ev1=attr(lambda.n, "en"), n.nei=lwcard, zero.policy=zero.policy, control=control) if (attr(resln_3, "msg") != "converged") warning("lextrW: 3 not converged") res <- c(lambda_n=c(resln_3), lambda_1=c(resl1)) attr(res, "en1") <- cbind(en=attr(resln_3, "en"), e1=attr(resl1, "e1")/c(resl1)) res } lminW_3 <- function(lw, ev1, n.nei, zero.policy=TRUE, control=list( trace=TRUE, tol=.Machine$double.eps^(1/2), maxiter=6*(length(lw$neighbours)-2), useC=FALSE)) { stopifnot(lw$style == "W:sim") tol <- control$tol if (is.null(tol)) tol <- .Machine$double.eps^(1/2) trace <- control$trace if (is.null(trace)) trace <- TRUE # n number of observations n <- length(lw$neighbours) maxiter <- control$maxiter if (is.null(maxiter)) maxiter <- 6*(n-2) # n.nei <- card(lw$neighbours) n.nei.sq <- sqrt(n.nei) nn.nei <- n.nei.sq/sqrt(sum(n.nei.sq^2)) ortho <- sum(ev1 * nn.nei) ev1 <- ev1 - ortho/(n*nn.nei) ev1 <- ev1/sqrt(sum(ev1^2)) ev1.lag <- lag.listw(lw, ev1, zero.policy=zero.policy) eval.min.old <- sum(ev1 * ev1.lag)/sum(ev1^2) n.regress <- 0L keepgoing6 <- TRUE RV.lm.fit <- paste(R.version$major, R.version$minor, sep=".") > "3.0.3" if (!RV.lm.fit) .lm.fit <- function() {} while (keepgoing6) { n.regress <- n.regress + 1L if (RV.lm.fit) { lm.y <- .lm.fit(x=cbind(1,ev1.lag), y=ev1)#lm(y ~ cy) } else { lm.y <- lm.fit(x=cbind(1,ev1.lag), y=ev1) } # lm.y <- .lm.fit(x=cbind(1,ev1.lag), y=ev1) sse.new <- crossprod(lm.y$residuals) beta <- lm.y$coefficients if (control$useC) { uCres3 <- .Call("lmin3", lw$neighbours, ev1, ev1.lag, n.nei, beta, tol, PACKAGE="spdep") ev1 <- uCres3[[1]] } else { for (i in 1:n) { neis <- lw$neighbours[[i]] if (neis[1] > 0L) { if (abs(ev1[i] - beta[1] + beta[2] * ev1.lag[i]) >= tol) { tmp <- ev1[i] ev1[i] <- beta[1] + beta[2] * ev1.lag[i] ev1.lag[neis] <- ev1.lag[neis] - tmp/sqrt(n.nei[i] * n.nei[neis]) + ev1[i]/sqrt(n.nei[i] * n.nei[neis]) } } } } ortho <- sum(ev1 * nn.nei) ev1 <- ev1 - ortho/(n*nn.nei) ev1 <- ev1/sqrt(sum(ev1^2)) ev1.lag <- lag.listw(lw, ev1, zero.policy=zero.policy) eval.min.new <- sum(ev1 * ev1.lag)/sum(ev1^2) if (trace) cat(n.regress, sse.new, eval.min.new, "\n") if (n.regress > maxiter) { keepgoing6 <- FALSE msg <- "iteration limit exceeded" break } else if (abs(eval.min.new-eval.min.old) < tol) { keepgoing6 <- FALSE msg <- "converged" break } eval.min.old <- eval.min.new } res <- eval.min.new attr(res, "n.regress") <- n.regress attr(res, "msg") <- msg attr(res, "en") <- ev1 res } lextrS <- function(lw, zero.policy=TRUE, control=list()) { # must be variance-stabilized listw object # (possibly already transformed by similarity) stopifnot(lw$style == "S") stopifnot(attr(lw$weights, "mode") == "binary") comp <- attr(lw$weights, "comp") # FIXME lwcard <- card(lw$neighbours) #as.integer(attr(lw$weights, "comp")$q) n <- as.integer(length(lwcard)) stopifnot(can.be.simmed(lw)) if (lw$style != "S:sim") lw <- similar.listw(lw) tol <- control$tol if (is.null(tol)) tol <- .Machine$double.eps^(1/2) stopifnot(is.numeric(tol)) stopifnot(length(tol) == 1) control$tol <- tol trace <- control$trace if (is.null(trace)) trace <- FALSE control$trace <- trace stopifnot(is.logical(trace)) stopifnot(length(trace) == 1) # n number of observations maxiter <- control$maxiter if (is.null(maxiter)) maxiter <- 6L*(n-2L) stopifnot(is.integer(maxiter)) stopifnot(length(maxiter) == 1) control$maxiter <- maxiter useC <- control$useC if (is.null(useC)) useC <- TRUE stopifnot(is.logical(useC)) stopifnot(length(useC) == 1) control$useC <- useC resl1 <- l_max(lw=lw, zero.policy=zero.policy, control=control) if (attr(resl1, "msg") != "converged") warning("lextrS: l_max not converged") lwB <- nb2listw(lw$neighbours, style="B", zero.policy=zero.policy) resln_2.1 <- lminC_2.1(lw=lwB, y=attr(resl1, "e1")/c(resl1), crd=lwcard, zero.policy=zero.policy, control=control) if (attr(resln_2.1, "msg") != "converged") warning("lextrS: 2.1 not converged") resln_2.2 <- lminC_2.2(lwB, resln_2.1, crd=lwcard, zero.policy=zero.policy, control=control) lambda.n <- lminC_2.3(lwB, resln_2.2, attr(resln_2.1, "sse"), crd=lwcard, zero.policy=zero.policy, control=control) if (attr(lambda.n, "msg") != "converged") warning("lextrS: 2.3 not converged") resln_3 <- lminS_3(lw, ev1=attr(lambda.n, "en"), comp=comp, crd=lwcard, zero.policy=zero.policy, control=control) if (attr(resln_3, "msg") != "converged") warning("lextrS: 3 not converged") res <- c(lambda_n=c(resln_3), lambda_1=c(resl1)) attr(res, "en1") <- cbind(en=attr(resln_3, "en"), e1=attr(resl1, "e1")/c(resl1)) res } lminS_3 <- function(lw, ev1, comp, crd, zero.policy=TRUE, control=list( trace=TRUE, tol=.Machine$double.eps^(1/2), maxiter=6*(length(lw$neighbours)-2), useC=FALSE)) { # stopifnot(lw$style == "S:sim") tol <- control$tol if (is.null(tol)) tol <- .Machine$double.eps^(1/2) trace <- control$trace if (is.null(trace)) trace <- TRUE # n number of observations n <- length(lw$neighbours) maxiter <- control$maxiter if (is.null(maxiter)) maxiter <- 6*(n-2) # n.nei <- card(lw$neighbours) q <- comp$q Q <- comp$Q eff.n <- comp$eff.n # n.nei <- ((eff.n)/Q)*n.nei n.nei <- q n.nei.sq <- sqrt(n.nei) nn.nei <- n.nei.sq/sqrt(sum(n.nei.sq^2)) ortho <- sum(ev1 * nn.nei) ev1 <- ev1 - ortho/(n*nn.nei) ev1 <- ev1/sqrt(sum(ev1^2)) ev1.lag <- lag.listw(lw, ev1, zero.policy=zero.policy) eval.min.old <- sum(ev1 * ev1.lag)/sum(ev1^2) n.regress <- 0L keepgoing6 <- TRUE RV.lm.fit <- paste(R.version$major, R.version$minor, sep=".") > "3.0.3" if (!RV.lm.fit) .lm.fit <- function() {} while (keepgoing6) { n.regress <- n.regress + 1L if (RV.lm.fit) { lm.y <- .lm.fit(x=cbind(1,ev1.lag), y=ev1)#lm(y ~ cy) } else { lm.y <- lm.fit(x=cbind(1,ev1.lag), y=ev1) } # lm.y <- .lm.fit(x=cbind(1,ev1.lag), y=ev1) sse.new <- crossprod(lm.y$residuals) beta <- lm.y$coefficients # FIXME need double n.nei if (control$useC) { uCres3 <- .Call("lmin3S", lw$neighbours, ev1, ev1.lag, n.nei, crd, beta, tol, PACKAGE="spdep") ev1 <- uCres3[[1]] } else { for (i in 1:n) { neis <- lw$neighbours[[i]] if (neis[1] > 0L) { yhat <- beta[1] + beta[2] * ev1.lag[i] if (abs(ev1[i] - yhat) >= tol) { tmp <- ev1[i] ev1[i] <- yhat ev1.lag[neis] <- ev1.lag[neis] - tmp/sqrt(n.nei[i] * n.nei[neis]) + ev1[i]/sqrt(n.nei[i] * n.nei[neis]) } } } } ortho <- sum(ev1 * nn.nei) ev1 <- ev1 - ortho/(n*nn.nei) ev1 <- ev1/sqrt(sum(ev1^2)) ev1.lag <- lag.listw(lw, ev1, zero.policy=zero.policy) eval.min.new <- sum(ev1 * ev1.lag)/sum(ev1^2) if (trace) cat(n.regress, sse.new, eval.min.new, "\n") if (n.regress > maxiter) { keepgoing6 <- FALSE msg <- "iteration limit exceeded" break } else if (abs(eval.min.new-eval.min.old) < tol) { keepgoing6 <- FALSE msg <- "converged" break } eval.min.old <- eval.min.new } res <- eval.min.new attr(res, "n.regress") <- n.regress attr(res, "msg") <- msg attr(res, "en") <- ev1 res } spdep/R/sarlm.R0000644000176200001440000011424312731041513013031 0ustar liggesusers# Copyright 2002-12 by Roger Bivand, 2015 Martin Gubri # residuals.sarlm <- function(object, ...) { if (is.null(object$na.action)) object$residuals else napredict(object$na.action, object$residuals) } deviance.sarlm <- function(object, ...) { object$SSE } coef.sarlm <- function(object, ...) { ret <- NULL # ret <- sqrt(object$s2) # names(ret) <- "sigma" if (object$type == "error") ret <- c(ret, object$lambda) else if (object$type == "lag" || object$type == "mixed") ret <- c(ret, object$rho) else if (object$type == "sac" || object$type == "sacmixed") ret <- c(ret, object$rho, object$lambda) ret <- c(ret, object$coefficients) ret } vcov.sarlm <- function(object, ...) { if (object$ase) res <- object$resvar[-1,-1] else { if (!is.null(object$fdHess)) { if (object$insert) res <- object$resvar[-1,-1] else res <- object$resvar } else { stop("vcov not available for this model") } } res } fitted.sarlm <- function(object, ...) { if (is.null(object$na.action)) object$fitted.values else napredict(object$na.action, object$fitted.values) } predict.sarlm <- function(object, newdata=NULL, listw=NULL, pred.type="TS", all.data=FALSE, zero.policy=NULL, legacy=TRUE, legacy.mixed=FALSE, power=NULL, order=250, tol=.Machine$double.eps^(3/5), #pred.se=FALSE, lagImpact=NULL, spChk=NULL, ...) { if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) if (is.null(pred.type)) pred.type <- "TS" # check pred.type with model if (pred.type %in% c("TS") & object$type %in% c("sac", "sacmixed")) stop("no such predict method for sac model") if (pred.type %in% c("TC", "BP", "BPW", "BPN", "TS1", "BP1", "BPW1", "BPN1") & object$type == "error") stop("no such predict method for error model") if (pred.type %in% c("KP5") & object$type %in% c("lag", "lagmixed")) stop("no such predict method for lag model") if (pred.type %in% c("TC", "BP", "BPW", "BPN", "BP1", "BPW1", "BPN1") & object$type %in% c("sac", "sacmixed")) warning("predict method developed for lag model, use carefully") if (pred.type %in% c("KP5") & object$type %in% c("sac", "sacmixed")) warning("predict method developed for sem model, use carefully") if (is.null(power)) power <- object$method != "eigen" stopifnot(is.logical(all.data)) stopifnot(is.logical(legacy)) stopifnot(is.logical(legacy.mixed)) stopifnot(is.logical(power)) if (is.null(spChk)) spChk <- get.spChkOption() if (!is.null(newdata) && is.null(row.names(newdata))) stop("newdata should have region.id as row.names") # if (pred.se && object$type == "error") { # pred.se <- FALSE # warning("standard error estimates not available for error models") # } # if (pred.se && is.null(lagImpact)) # stop("lagImpact object from impact method required for standard error estimate") Xs <- object$X B <- object$coefficients ys <- object$y if (class(ys) == "AsIs") ys <- c(ys) tarXs <- object$tarX tarys <- object$tary trends <- Xs %*% B # forecast case: newdata with the same names than data # use a sub-samble of in-sample predictors if (!is.null(newdata) && nrow(newdata) == length(ys) && row.names(newdata) == attr(ys, "names")) { if (!pred.type %in% c("trend", "TC", "TS")) warning("no such predictor type for prevision") # DATA frm <- formula(object$call) mt <- delete.response(terms(frm, data=newdata)) # returns a terms object for the same model but with no response variable mf <- model.frame(mt, newdata) # resolved problem of missing response column in newdata reported by # Christine N. Meynard, 060201 if (dim(mf)[1] != nrow(newdata)) stop("missing values in newdata") Xs <- model.matrix(mt, mf) if (object$type == "mixed" || (object$type == "error" && object$etype == "emixed")) { # mixed model: compute WXo if (is.null(listw) || !inherits(listw, "listw")) stop ("spatial weights list required") if (nrow(Xs) != length(listw$neighbours)) stop("mismatch between data and spatial weights") if (spChk && !chkIDs(Xs, listw)) stop("Check of data and weights ID integrity failed") if (pred.type == "TS" && legacy.mixed == FALSE) { # force legacy.mixed to allow the TS out-of-sample computation in the prevision case warning("only legacy.mixed=TRUE is supported for pred.type='TS' and mixed models. legacy.mixed is forced") legacy.mixed <- TRUE } K <- ifelse(colnames(Xs)[1] == "(Intercept)", 2, 1) m <- ncol(Xs) # check if there are enough regressors if (m > 1) { WXs <- matrix(nrow=nrow(Xs),ncol=(m-(K-1))) for (k in K:m) { wx <- lag.listw(listw, Xs[,k], zero.policy=zero.policy) if (any(is.na(wx))) stop("NAs in lagged independent variable") WXs[,(k-(K-1))] <- wx } } if (K == 2) { # unnormalized weight matrices if (!(listw$style == "W")) { intercept <- as.double(rep(1, nrow(Xs))) wx <- lag.listw(listw, intercept, zero.policy = zero.policy) if (m > 1) { WXs <- cbind(wx, WXs) } else { WXs <- matrix(wx, nrow = nrow(Xs), ncol = 1) } } } if (any(object$aliased)) { if (K>1 && (listw$style == "W")) colnames(WXs) <- paste("lag.", colnames(Xs)[-1], sep="") else colnames(WXs) <- paste("lag.", colnames(Xs), sep="") } Xs <- cbind(Xs, WXs) } # accommodate aliased coefficients 120314 if (any(object$aliased)) Xs <- Xs[,-which(object$aliased)] tarXs <- tarys <- NULL trends <- Xs %*% B if (pred.type != "TS") # use the out-of-sample computation of TS (which only depends on Woo) newdata <- NULL } if (is.null(newdata)) { # in-sample pred if (pred.type == "TS") { # defaut predictor res <- fitted.values(object) if (object$type == "error") { # We ou WX+We attr(res, "trend") <- as.vector(trends) attr(res, "signal") <- as.vector( -1 * (tarys - ys) - -1 * (tarXs - Xs) %*% B) } else { # lag model or other attr(res, "trend") <- as.vector(trends) attr(res, "signal") <- as.vector( -1 * (tarys - ys)) } } else { # new predictors if (pred.type != "trend") { # need listw if (is.null(listw) || !inherits(listw, "listw")) stop ("spatial weights list required") if (nrow(Xs) != length(listw$neighbours)) stop("mismatch between data and spatial weights") if (spChk && !chkIDs(Xs, listw)) stop("Check of data and weights ID integrity failed") } if (pred.type %in% c("TC", "BP")) { # need to compute TC if (power){ W <- as(listw, "CsparseMatrix") TC <- powerWeights(W, rho = object$rho, X = Xs, order = order, tol = tol) %*% B } else { TC <- invIrW(listw, object$rho) %*% trends } } if (pred.type == "trend") { res <- as.vector(trends) } else if(pred.type == "TC") { res <- as.vector(TC) } else if(pred.type == "BP") { W <- as(listw, "CsparseMatrix") Qss <- 1/object$s2 * (Diagonal(dim(W)[1]) - (object$rho * t(W))) %*% (Diagonal(dim(W)[1]) - (object$rho * W)) # precision matrix for LAG model DiagQss <- Diagonal(x = diag(Qss)) BP <- TC - solve(DiagQss) %*% (Qss - DiagQss) %*% (ys - TC) # TODO: Can BP also be applied to the SEM model? Cf LeSage and Pace (2004). Note: \hat{\mu_i} need to be adapted res <- as.vector(BP) } else { stop("no such in-sample predictor type") } if (pred.type != "trend") attr(res, "trend") <- as.vector(trends) } attr(res, "region.id") <- as.vector(attr(ys, "names")) } else { # out-of-sample #CHECK if (any(row.names(newdata) %in% attr(ys, "names")) && !(pred.type == "TS" && nrow(newdata) == length(ys) && row.names(newdata) == attr(ys, "names"))) # no warning in the computation of TS in forecast warning("some region.id are both in data and newdata") if (!(pred.type == "TS" && object$type == "error" && object$etype == "error") && !(pred.type == "trend" && (object$type != "mixed" && !(object$type == "error" && object$etype == "emixed")))) { # need of listw (ie. neither in the case of defaut predictor and SEM model, nor trend type without mixed models) if (is.null(listw) || !inherits(listw, "listw")) stop ("spatial weights list required") if (any(! row.names(newdata) %in% attr(listw, "region.id"))) stop("mismatch between newdata and spatial weights. newdata should have region.id as row.names") listw.old <- NULL # wanted order of the listw if (pred.type == "TS") { # only need Woo region.id <- row.names(newdata) if (!legacy.mixed) listw.old <- listw # keep the old listw to allow the computation of lagged variable from the full WX # listw <- mat2listw(matrix(0), row.names = row.names(newdata)) # avoid crash of subset.listw } else { region.id <- c(attr(ys, "names"), row.names(newdata)) if (legacy.mixed) listw.old <- listw # keep the old listw to allow the computation of lagged variable from Woo (as mat2listw() cannot compute Woo from the new listw, because it has general weights lists) } if (length(region.id) != length(attr(listw, "region.id")) || !all(region.id == attr(listw, "region.id"))) { # if listw is not directly ok if (all(subset(attr(listw, "region.id"), attr(listw, "region.id") %in% region.id) == region.id) && listw$style != "M") { # only need a subset.listw, ie. spatial units are in the right order and if weights style is not unknown listw <- subset.listw(listw, (attr(listw, "region.id") %in% region.id), zero.policy = zero.policy) } else { # we use a sparse matrix transformation to reorder a listw if (listw$style == "M") warning("unknown weight style: a subset of listw is used without re-normalization") W <- as(listw, "CsparseMatrix") W <- W[region.id, region.id] style <- listw$style listw <- mat2listw(W, row.names = region.id, style = style) # re-normalize to keep the style rm(W) # avoid the use of a wrong W } } #optional check temp <- rep(NA, length(region.id)) names(temp) <- region.id if (spChk && !chkIDs(temp, listw)) stop("Check of data and weights ID integrity failed") } # DATA frm <- formula(object$call) mt <- delete.response(terms(frm, data=newdata)) # returns a terms object for the same model but with no response variable mf <- model.frame(mt, newdata) # resolved problem of missing response column in newdata reported by # Christine N. Meynard, 060201 if (dim(mf)[1] != nrow(newdata)) stop("missing values in newdata") Xo <- model.matrix(mt, mf) # accommodate aliased coefficients 120314 if (any(object$aliased)) Xo <- Xo[,-which(object$aliased)] if (object$type == "mixed" || (object$type == "error" && object$etype == "emixed")) { # mixed model: compute WXo K <- ifelse(colnames(Xo)[1] == "(Intercept)", 2, 1) # prepare listw for computation of lagged variables if (legacy.mixed) { # compute WooXo X <- Xo region.id.mixed <- rownames(Xo) } else { # compute [WX]o is.not.lagged <- 1:((K-1)+(ncol(Xs)-(K-1))/2) #TODO: change the way lag variables are detected Xs.not.lagged <- Xs[, is.not.lagged] if (any(colnames(Xs.not.lagged) != colnames(Xo))) stop("unknown mismatch. please report this bug") X <- rbind(Xs.not.lagged, Xo) region.id.mixed <- rownames(X) } if (is.null(listw.old)) listw.mixed <- listw else { listw.mixed <- listw.old rm(listw.old) } if (length(region.id.mixed) != length(attr(listw.mixed, "region.id")) || !all(region.id.mixed == attr(listw.mixed, "region.id"))) { # if listw is not directly ok if (all(subset(attr(listw.mixed, "region.id"), attr(listw.mixed, "region.id") %in% region.id.mixed) == region.id.mixed) && listw.mixed$style != "M") { # only need a subset.listw, ie. spatial units are in the right order and weights style is not unknown listw.mixed <- subset.listw(listw.mixed, attr(listw.mixed, "region.id") %in% region.id.mixed, zero.policy = zero.policy) } else { # we use a sparse matrix transformation to reorder a listw if (listw$style == "M") warning("unknown weight style: a subset of listw is used without re-normalization") W <- as(listw.mixed, "CsparseMatrix") W <- W[region.id.mixed, region.id.mixed] style <- listw.mixed$style listw.mixed <- mat2listw(W, row.names = region.id.mixed, style = style) # re-normalize to keep the style rm(W) # avoid the use of a wrong W } } #optional check temp <- rep(NA, length(region.id.mixed)) names(temp) <- region.id.mixed if (spChk && !chkIDs(temp, listw.mixed)) stop("Check of data and weights ID integrity failed") K <- ifelse(colnames(X)[1] == "(Intercept)", 2, 1) m <- ncol(X) # check if there are enough regressors if (m > 1) { WX <- matrix(nrow=nrow(X),ncol=(m-(K-1))) for (k in K:m) { wx <- lag.listw(listw.mixed, X[,k], zero.policy=zero.policy) if (any(is.na(wx))) stop("NAs in lagged independent variable") WX[,(k-(K-1))] <- wx } } if (K == 2) { # unnormalized weight matrices if (!(listw.mixed$style == "W")) { intercept <- as.double(rep(1, nrow(X))) wx <- lag.listw(listw.mixed, intercept, zero.policy = zero.policy) if (m > 1) { WX <- cbind(wx, WX) } else { WX <- matrix(wx, nrow = nrow(X), ncol = 1) } } } if (any(object$aliased)) { if (K>1 && (listw.mixed$style == "W")) colnames(WX) <- paste("lag.", colnames(X)[-1], sep="") else colnames(WX) <- paste("lag.", colnames(X), sep="") WX <- WX[,!colnames(WX) %in% names(object$aliased[object$aliased])] } if (legacy.mixed) Xo <- cbind(Xo, WX) else { WXo <- WX[(length(ys)+1):nrow(WX),] Xo <- cbind(Xo, WXo) WXs <- WX[1:length(ys),] Xs <- cbind(Xs.not.lagged, WXs) } rm(list = c("listw.mixed", "region.id.mixed", "X")) } trendo <- Xo %*% B if (pred.type == "TS") { # defaut predictor if (object$type == "error") { if (object$etype == "error") { # We signal <- rep(0, length(trendo)) res <- trendo + signal attr(res, "trend") <- trendo attr(res, "signal") <- signal } else if (object$etype == "emixed") { # WX + We signal <- rep(0, length(trendo)) res <- trendo + signal attr(res, "trend") <- trendo attr(res, "signal") <- signal } else stop("unkown error model etype") } else if (object$type == "mixed") { # Wy+WX if (power) { W <- as(listw, "CsparseMatrix") res <- c(as(powerWeights(W, rho=object$rho, X=trendo, order=order, tol=tol), "matrix")) } else { res <- c(invIrW(listw, object$rho) %*% trendo) } if (legacy) { signal <- object$rho * lag.listw(listw, res, zero.policy=zero.policy) res <- c(trendo + signal) } else { signal <- res - trendo } # if (pred.se) { # samples <- attr(lagImpact, "samples")$samples # irho <- attr(lagImpact, "samples")$irho # drop2beta <- attr(lagImpact, "samples")$drop2beta # nSim <- nrow(samples) # outmat <- matrix(NA, ncol=nSim, nrow=nrow(X)) # for (i in 1:nSim) { # B <- samples[i, -drop2beta] # trend <- X %*% B # rho <- samples[i, irho] # if (power) { # res <- c(as(powerWeights(W, rho=rho, # X=trend, order=order, tol=tol), "matrix")) # } else { # res <- c(invIrW(listw, rho) %*% trend) # } # outmat[,i] <- res # } # pred.se <- apply(outmat, 1, sd) # attr(res, "pred.se") <- pred.se # } attr(res, "trend") <- c(trendo) attr(res, "signal") <- c(signal) } else { # Wy if (power) { W <- as(listw, "CsparseMatrix") res <- c(as(powerWeights(W, rho=object$rho, X=trendo, order=order, tol=tol), "matrix")) } else { res <- c(invIrW(listw, object$rho) %*% trendo) } if (legacy) { signal <- object$rho * lag.listw(listw, res, zero.policy=zero.policy) res <- c(trendo + signal) } else { signal <- res - trendo } # if (pred.se) { # samples <- attr(lagImpact, "samples")$samples # irho <- attr(lagImpact, "samples")$irho # drop2beta <- attr(lagImpact, "samples")$drop2beta # nSim <- nrow(samples) # outmat <- matrix(NA, ncol=nSim, nrow=nrow(X)) # for (i in 1:nSim) { # B <- samples[i, -drop2beta] # trend <- X %*% B # rho <- samples[i, irho] # if (power) { # res <- c(as(powerWeights(W, rho=rho, # X=trend, order=order, tol=tol), "matrix")) # } else { # res <- c(invIrW(listw, rho) %*% trend) # } # outmat[,i] <- res # } # pred.se <- apply(outmat, 1, sd) # attr(res, "pred.se") <- pred.se # } attr(res, "trend") <- c(trendo) attr(res, "signal") <- c(signal) } } else { # new predictors if (pred.type %in% c("TS1", "KP4", "KP2", "KP3")) { # need to compute TS1/KP4 Wos <- .listw.decompose(listw, region.id.data = attr(ys, "names"), region.id.newdata = row.names(newdata), type = "Wos")$Wos if (is.null(object$rho)) TS1 <- Xo %*% B else TS1 <- Xo %*% B + object$rho * Wos %*% ys } if (pred.type %in% c("TC", "BP", "BPN")) { # need to compute TC #notations of C.Thomas and al (2015) if (all.data | pred.type %in% c("BP", "BPN")) { # compute s and o units together X <- rbind(Xs, Xo) trend <- X %*% B if (power){ W <- as(listw, "CsparseMatrix") TC <- powerWeights(W, rho = object$rho, X = X, order = order, tol = tol) %*% B } else { TC <- invIrW(listw, object$rho) %*% trend } } else { # TCo = TC for out-of-sample spatial units listw.d <- .listw.decompose(listw, region.id.data = attr(ys, "names"), region.id.newdata = row.names(newdata), type = c("Wss", "Wos", "Wso", "Woo")) Wss <- listw.d$Wss Wso <- listw.d$Wso Wos <- listw.d$Wos Woo <- listw.d$Woo rm(listw.d) mB <- - object$rho * Wso mC <- - object$rho * Wos mD <- Diagonal(dim(Woo)[1]) - object$rho * Woo if (power){ mAInvXsB <- powerWeights(Wss, rho = object$rho, X = Xs, order = order, tol = tol) %*% B mAInvmB <- powerWeights(Wss, rho = object$rho, X = mB, order = order, tol = tol) E <- solve(mD - mC %*% mAInvmB) TCo <- - E %*% mC %*% mAInvXsB + E %*% Xo %*% B } else { #mA <- Diagonal(dim(Wss)[1]) - object$rho * Wss #mAInv <- solve(mA) mAInv <- invIrW(Wss, object$rho) E <- solve(mD - mC %*% mAInv %*% mB) TCo <- - E %*% mC %*% mAInv %*% Xs %*% B + E %*% Xo %*% B } } } if (pred.type == "trend") { res <- as.vector(trendo) } else if (pred.type %in% c("TS1", "KP4")) { res <- as.vector(TS1) } else if (pred.type == "TC") { if(all.data) { res <- as.vector(TC) } else { res <- as.vector(TCo) } } else if (pred.type == "BP") { is.data <- 1:length(ys) is.newdata <- (length(ys)+1):length(TC) TCo <- TC[is.newdata] TCs <- TC[is.data] W <- as(listw, "CsparseMatrix") Q <- 1/object$s2 * ( Diagonal(dim(W)[1]) - object$rho * (t(W) + W) + object$rho^2 * (t(W) %*% W) ) Qoo <- Q[is.newdata, is.newdata] Qos <- Q[is.newdata, is.data] BPo <- TCo - solve(Qoo) %*% Qos %*% (ys - TCs) res <- as.vector(BPo) } else if (pred.type == "BPW") { if (power){ W <- as(listw, "CsparseMatrix") invW <- powerWeights(W, rho = object$rho, X = Diagonal(dim(W)[1]), order = order, tol = tol) } else { invW <- invIrW(listw, object$rho) } X <- rbind(Xs, Xo) TC <- invW %*% X %*% B is.data <- 1:length(ys) is.newdata <- (length(ys)+1):length(TC) TCo <- TC[is.newdata] TCs <- TC[is.data] #Sigma <- object$s2 * solve((Diagonal(dim(W)[1]) - object$rho * t(W)) %*% (Diagonal(dim(W)[1]) - object$rho * W)) Sigma <- object$s2 * invW %*% t(invW) Sos <- Sigma[is.newdata, is.data, drop=F] Sss <- Sigma[is.data, is.data, drop=F] Wos <- .listw.decompose(listw, region.id.data = attr(ys, "names"), region.id.newdata = row.names(newdata), type = "Wos")$Wos BPW <- as.numeric(TCo + Sos %*% t(Wos) %*% solve(Wos %*% Sss %*% t(Wos)) %*% (Wos %*% ys - Wos %*% TCs)) res <- as.vector(BPW) } else if (pred.type == "BPN") { is.data <- 1:length(ys) is.newdata <- (length(ys)+1):length(TC) TCs <- TC[is.data] TCo <- TC[is.newdata] # compute J = set of all sites in S which are neighbors of at least one site in O O <- which(attr(listw,"region.id") %in% row.names(newdata)) S <- which(attr(listw,"region.id") %in% attr(ys, "names")) #bug fix: J = set of S s.t. at least 1 elmt of O is neigbourg with S. And not: set of S s.t. these elmts of S are neigbourgs with at least 1 elmt of S. #different iff W is not symetric #J.logical <- rep(FALSE, length(listw$neighbours)) #for (i in S) { # J.logical[i] <- any(O %in% listw$neighbours[[i]]) #} #J <- attr(listw,"region.id")[J.logical] J.ref <- NULL for (i in O) { J.ref <- c(J.ref, listw$neighbours[[i]][listw$neighbours[[i]] %in% S]) } J <- attr(listw,"region.id")[unique(J.ref)] J <- attr(listw,"region.id")[attr(listw,"region.id") %in% J] # keep the order of listw if (length(J)<1) { warning("out-of-sample units have no neighbours") BPN <- TCo } else { W <- as(listw, "CsparseMatrix") region.id <- c(J, row.names(newdata)) W_jo <- W[region.id, region.id] rm(W) Q_jo <- 1/object$s2 * (Diagonal(length(region.id)) - object$rho * (W_jo + t(W_jo)) + object$rho^2 * (t(W_jo) %*% W_jo)) is.j <- 1:length(J) is.o <- (length(J)+1):length(region.id) Qoo <- Q_jo[is.o, is.o] Qoj <- Q_jo[is.o, is.j] rm(Q_jo) yj <- ys[J] TCj <- TCs[attr(ys, "names") %in% J] BPN <- as.vector(TCo - solve(Qoo) %*% Qoj %*% (yj - TCj)) } res <- as.vector(BPN) } else if (pred.type %in% c("TC1", "KP1")) { if (nrow(newdata) > 1) warning("newdata have more than 1 row and the predictor type is leave-one-out") region.id.data <- attr(ys, "names") region.id.newdata <- row.names(newdata) res <- rep(NA, nrow(newdata)) W <- as(listw, "CsparseMatrix") style <- listw$style if (listw$style == "M") warning("unknown weight style: a subset of listw is used without re-normalization") for (i in 1:nrow(newdata)) { region.id.temp <- c(region.id.data, region.id.newdata[i]) Wi <- W[region.id.temp, region.id.temp] listwi <- mat2listw(Wi, row.names = region.id.temp, style = style) # re-normalize if (power) Wi <- as(listwi, "CsparseMatrix") Xi <- rbind(Xs, Xo[i,]) if (power) { res[i] <- c(as(powerWeights(Wi, rho=object$rho, X=Xi, order=order, tol=tol), "matrix") %*% B)[length(region.id.temp)] } else { trendi <- c(trends, trendo[i]) res[i] <- (invIrW(listwi, object$rho) %*% trendi)[length(region.id.temp)] } } } else if (pred.type == "BP1") { if (nrow(newdata) > 1) warning("newdata have more than 1 row and the predictor type is leave-one-out") region.id.data <- attr(ys, "names") region.id.newdata <- row.names(newdata) BP1o <- rep(NA, nrow(newdata)) W <- as(listw, "CsparseMatrix") style <- listw$style if (listw$style == "M") warning("unknown weight style: a subset of listw is used without re-normalization") for (i in 1:nrow(newdata)) { region.id.temp <- c(region.id.data, region.id.newdata[i]) Wi <- W[region.id.temp, region.id.temp] listwi <- mat2listw(Wi, row.names = region.id.temp, style = style) # re-normalize Wi <- as(listwi, "CsparseMatrix") Xi <- rbind(Xs, Xo[i,]) # compute TC1 for S and o units TC1i <- rep(NA, length(region.id.temp)) is.data <- 1:length(ys) is.newdata <- length(region.id.temp) if (power) { TC1i <- c(as(powerWeights(Wi, rho=object$rho, X=Xi, order=order, tol=tol), "matrix") %*% B) } else { trendi <- c(trends, trendo[i]) TC1i <- (invIrW(Wi, object$rho) %*% trendi) } TC1si <- TC1i[is.data] TC1oi <- TC1i[is.newdata] Qi <- 1/object$s2 * ( Diagonal(dim(Wi)[1]) - object$rho * (t(Wi) + Wi) + object$rho^2 * (t(Wi) %*% Wi) ) Qooi <- Qi[is.newdata, is.newdata] Qosi <- Qi[is.newdata, is.data] BP1o[i] <- TC1oi - solve(Qooi) %*% Qosi %*% (ys - TC1si) } res <- as.vector(BP1o) } else if (pred.type == "BPW1") { if (nrow(newdata) > 1) warning("newdata have more than 1 row and the predictor type is leave-one-out") region.id.data <- attr(ys, "names") region.id.newdata <- row.names(newdata) BPW1o <- rep(NA, nrow(newdata)) W <- as(listw, "CsparseMatrix") style <- listw$style if (listw$style == "M") warning("unknown weight style: a subset of listw is used without re-normalization") for (i in 1:nrow(newdata)) { region.id.temp <- c(region.id.data, region.id.newdata[i]) Wi <- W[region.id.temp, region.id.temp] listwi <- mat2listw(Wi, row.names = region.id.temp, style = style) # re-normalize Wi <- as(listwi, "CsparseMatrix") Xi <- rbind(Xs, Xo[i,]) is.data <- 1:length(ys) is.newdata <- length(region.id.temp) if (power){ invWi <- powerWeights(Wi, rho = object$rho, X = Diagonal(dim(Wi)[1]), order = order, tol = tol) } else { invWi <- invIrW(Wi, object$rho) } TC1i <- invWi %*% Xi %*% B TC1oi <- TC1i[is.newdata] TC1si <- TC1i[is.data] #Sigma <- object$s2 * solve((Diagonal(dim(W)[1]) - object$rho * t(W)) %*% (Diagonal(dim(W)[1]) - object$rho * W)) Sigmai <- object$s2 * invWi %*% t(invWi) Sosi <- Sigmai[is.newdata, is.data, drop=F] Sssi <- Sigmai[is.data, is.data] Wosi <- Wi[region.id.newdata[i], region.id.data, drop=F] BPW1o[i] <- as.numeric(TC1oi + Sosi %*% t(Wosi) %*% solve(Wosi %*% Sssi %*% t(Wosi)) %*% (Wosi %*% ys - Wosi %*% TC1si)) } res <- as.vector(BPW1o) } else if (pred.type == "BPN1") { if (nrow(newdata) > 1) warning("newdata have more than 1 row and the predictor type is leave-one-out") region.id.data <- attr(ys, "names") region.id.newdata <- row.names(newdata) BPN1o <- rep(NA, nrow(newdata)) W <- as(listw, "CsparseMatrix") style <- listw$style if (listw$style == "M") warning("unknown weight style: a subset of listw is used without re-normalization") for (i in 1:nrow(newdata)) { region.id.temp <- c(region.id.data, region.id.newdata[i]) Wi <- W[region.id.temp, region.id.temp] listwi <- mat2listw(Wi, row.names = region.id.temp, style = style) # re-normalize Wi <- as(listwi, "CsparseMatrix") Xi <- rbind(Xs, Xo[i,]) # compute TC1 for S and o units TC1i <- rep(NA, length(region.id.temp)) is.data <- 1:length(ys) is.newdata <- length(region.id.temp) if (power) { TC1i <- c(as(powerWeights(Wi, rho=object$rho, X=Xi, order=order, tol=tol), "matrix") %*% B) } else { trendi <- c(trends, trendo[i]) TC1i <- (invIrW(Wi, object$rho) %*% trendi) } TC1si <- TC1i[is.data] TC1oi <- TC1i[is.newdata] # compute J = set of all sites in S which are neighbors of at least one site in O o <- which(attr(listwi,"region.id") %in% row.names(newdata)[i]) S <- which(attr(listwi,"region.id") %in% attr(ys, "names")) J.ref <- NULL for (k in o) { J.ref <- c(J.ref, listwi$neighbours[[k]][listwi$neighbours[[k]] %in% S]) } J <- attr(listwi,"region.id")[unique(J.ref)] J <- attr(listwi,"region.id")[attr(listwi,"region.id") %in% J] # keep the order of listw if (length(J)<1) { warning("out-of-sample units have no neighbours") BPN1o[i] <- TC1oi } else { region.id <- c(J, row.names(newdata)[i]) W_jo <- Wi[region.id, region.id, drop=F] Q_jo <- 1/object$s2 * (Diagonal(length(region.id)) - object$rho * (W_jo + t(W_jo)) + object$rho^2 * (t(W_jo) %*% W_jo)) is.j <- 1:length(J) is.o <- (length(J)+1):length(region.id) Qoo <- Q_jo[is.o, is.o, drop=F] Qoj <- Q_jo[is.o, is.j, drop=F] yj <- ys[J] TC1j <- TC1si[attr(ys, "names") %in% J] BPN1o[i] <- as.vector(TC1oi - solve(Qoo) %*% Qoj %*% (yj - TC1j)) } } res <- as.vector(BPN1o) } else if (pred.type == "KP2") { if (nrow(newdata) > 1) warning("newdata have more than 1 row and the predictor type is leave-one-out") region.id.data <- attr(ys, "names") region.id.newdata <- row.names(newdata) W <- as(listw, "CsparseMatrix") KP2 <- rep(NA, nrow(newdata)) for (i in 1:nrow(newdata)) { region.id.temp <- c(region.id.data, region.id.newdata[i]) Wi <- W[region.id.temp, region.id.temp] Xi <- rbind(Xs, Xo[i,]) wi <- Wi[length(region.id.temp), ] yi <- c(ys, 0) if (object$type %in% c("sac", "sacmixed")) { # compute GL, GR, sum.u, sum.y if (power){ GL <- powerWeights(Wi, rho= object$lambda, order= order, tol= tol, X= Diagonal(length(ys)+1)) GR <- powerWeights(Wi, rho= object$rho, order= order, tol= tol, X= Diagonal(length(ys)+1)) } else { GL <- invIrW(Wi, object$lambda) GR <- invIrW(Wi, object$rho) } sum.u <- GL %*% t(GL) sum.y <- GR %*% sum.u %*% t(GR) } else if (object$type %in% c("lag", "mixed")) { GL <- Diagonal(length(ys)+1) if (power){ GR <- powerWeights(Wi, rho= object$rho, order= order, tol= tol, X= Diagonal(length(ys)+1)) } else { GR <- invIrW(Wi, object$rho) } sum.u <- Diagonal(length(ys)+1) sum.y <- GR %*% t(GR) } else if (object$type == "error") { GR <- Diagonal(length(ys)+1) if (power){ GL <- powerWeights(Wi, rho= object$lambda, order= order, tol= tol, X= Diagonal(length(ys)+1)) } else { GL <- invIrW(Wi, object$lambda) } sum.u <- GL %*% t(GL) sum.y <- sum.u } else stop("unknown model type") covar <- as.vector(sum.u[length(region.id.temp), ] %*% t(GR) %*% wi / (wi %*% sum.y %*% wi)) Ewiy <- as.vector(wi %*% GR %*% Xi %*% B) KP2[i] <- TS1[i] + covar %*% (wi %*% yi - Ewiy) } res <- as.vector(KP2) } else if (pred.type == "KP3") { if (nrow(newdata) > 1) warning("newdata have more than 1 row and the predictor type is leave-one-out") region.id.data <- attr(ys, "names") region.id.newdata <- row.names(newdata) W <- as(listw, "CsparseMatrix") KP3 <- rep(NA, nrow(newdata)) for (i in 1:nrow(newdata)) { region.id.temp <- c(region.id.data, region.id.newdata[i]) Wi <- W[region.id.temp, region.id.temp] Xi <- rbind(Xs, Xo[i,]) wi <- Wi[length(region.id.temp), ] yi <- c(ys, 0) if (object$type %in% c("sac", "sacmixed")) { # compute GL, GR, sum.u, sum.y if (power){ GL <- powerWeights(Wi, rho= object$lambda, order= order, tol= tol, X= Diagonal(length(ys)+1)) GR <- powerWeights(Wi, rho= object$rho, order= order, tol= tol, X= Diagonal(length(ys)+1)) } else { GL <- invIrW(Wi, object$lambda) GR <- invIrW(Wi, object$rho) } sum.u <- GL %*% t(GL) sum.y <- GR %*% sum.u %*% t(GR) } else if (object$type %in% c("lag", "mixed")) { GL <- Diagonal(length(ys)+1) if (power){ GR <- powerWeights(Wi, rho= object$rho, order= order, tol= tol, X= Diagonal(length(ys)+1)) } else { GR <- invIrW(Wi, object$rho) } sum.u <- Diagonal(length(ys)+1) sum.y <- GR %*% t(GR) } else if (object$type == "error") { GR <- Diagonal(length(ys)+1) if (power){ GL <- powerWeights(Wi, rho= object$lambda, order= order, tol= tol, X= Diagonal(length(ys)+1)) } else { GL <- invIrW(Wi, object$lambda) } sum.u <- GL %*% t(GL) sum.y <- sum.u } else stop("unknown model type") cov <- sum.u[length(region.id.temp), ] %*% t(GR)[, -length(region.id.temp)] KP3[i] <- as.vector(TS1[i] + cov %*% solve(sum.y[-length(region.id.temp), -length(region.id.temp)]) %*% (ys - GR[-length(region.id.temp),] %*% Xi %*% B)) } res <- as.vector(KP3) } else if (pred.type == "KP5") { if (nrow(newdata) > 1) warning("newdata have more than 1 row and the predictor type is leave-one-out") Wos <- .listw.decompose(listw, region.id.data = attr(ys, "names"), region.id.newdata = row.names(newdata), type = "Wos")$Wos res <- as.vector(trendo + object$lambda * Wos %*% (ys - trends)) } else { stop("unknow predictor type") } } # add region.id attribute if (length(res) == nrow(newdata)) { attr(res, "region.id") <- as.vector(row.names(newdata)) } else if (length(res) == length(ys)+nrow(newdata)) { attr(res, "region.id") <- c(attr(ys, "names"), row.names(newdata)) } else stop("incorrect final output") } attr(res, "pred.type") <- pred.type attr(res, "call") <- match.call() class(res) <- "sarlm.pred" res } # decompose a listw object into Wss Wso Wos and Woo sparse matrices .listw.decompose <- function(listw, region.id.data, region.id.newdata, type = c("Wss", "Wos", "Wso", "Woo")) { # TODO: hidden? in this file? zero.policy? if (is.null(listw) || !inherits(listw, "listw")) stop ("spatial weights list required") region.id <- attr(listw, "region.id") if (!all(region.id.data %in% region.id)) stop("at least one region.id in data is not in listw object") if (!all(region.id.newdata %in% region.id)) stop("at least one region.id in newdata is not in listw object") if (!all(type %in% c("Wss", "Wos", "Wso", "Woo"))) stop("type is incorrect") W <- as(listw, "CsparseMatrix") s <- list(Wss = NULL, Wos = NULL, Wso = NULL, Woo = NULL) if ("Wss" %in% type) s$Wss <- W[region.id.data, region.id.data, drop=F] if ("Wos" %in% type) s$Wos <- W[region.id.newdata, region.id.data, drop=F] if ("Wso" %in% type) s$Wso <- W[region.id.data, region.id.newdata, drop=F] if ("Woo" %in% type) s$Woo <- W[region.id.newdata, region.id.newdata, drop=F] return(s) } print.sarlm.pred <- function(x, ...) { res <- as.data.frame(x) print(res, ...) invisible(res) } as.data.frame.sarlm.pred <- function(x, ...) { # res <- data.frame(fit=as.vector(x), trend=attr(x, "trend"), # signal=attr(x, "signal")) #fix bug when no signal or trend attributes res <- data.frame(fit=as.vector(x)) if(!is.null(attr(x, "region.id"))) row.names(res) <- attr(x, "region.id") if(!is.null(attr(x, "trend"))) res$trend <- attr(x, "trend") if(!is.null(attr(x, "signal"))) res$signal <- attr(x, "signal") res } spdep/R/mess.R0000644000176200001440000002321213052102445012654 0ustar liggesusers# Copyright 2010-2017 by Roger Bivand and Eric Blankmeyer lagmess <- function(formula, data = list(), listw, zero.policy=NULL, na.action=na.fail, q=10, start=-2.5, control=list(), method="BFGS", verbose=NULL, use_expm=FALSE) { stopifnot(inherits(listw, "listw")) if (is.null(verbose)) verbose <- get("verbose", envir = .spdepOptions) stopifnot(is.logical(verbose)) if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) if (listw$style != "W") warning("weights should be row-stochastic") if (class(formula) != "formula") formula <- as.formula(formula) mt <- terms(formula, data = data) mf <- lm(formula, data, na.action=na.action, method="model.frame") na.act <- attr(mf, "na.action") if (!is.null(na.act)) { subset <- !(1:length(listw$neighbours) %in% na.act) listw <- subset(listw, subset, zero.policy=zero.policy) } y <- model.extract(mf, "response") stopifnot(all(is.finite(y))) X <- model.matrix(mt, mf) stopifnot(all(is.finite(X))) env <- new.env() assign("y", y, envir=env) assign("X", X, envir=env) assign("n", length(y), envir=env) nullLL <- logLik(lm(formula, data, na.action=na.action)) W <- as(listw, "CsparseMatrix") assign("W", W, envir=env) if (!use_expm) { Y <- powerWeightsMESS(W, y, q=q) assign("Y", Y, envir=env) v <- 0:(q-1) assign("v", v, envir=env) G1 <- diag(1/factorial(v)) assign("G1", G1, envir=env) } if (use_expm) { bestmess <- optim(start, mymess1, gr=NULL, method=method, hessian=TRUE, control=control, env) } else { bestmess <- optim(start, mymess, gr=NULL, method=method, hessian=TRUE, control=control, env) } alpha <- bestmess$par[1] alphase <- 1.0/(bestmess$hessian[1,1])^0.5 rho <- 1.0 - exp(alpha[1]) if (use_expm) { Sy <- expAtv(alpha*W, y)$eAtv } else { va <- alpha^v Sy <- Y %*% G1 %*% va } data$Sy <- Sy # formula[[2]] <- formula(~ Sy)[[2]] lmobj <- lm(formula=update(formula, Sy ~ .), data=data) coefs <- c(alpha=alpha, coef(lmobj)) if (use_expm) { mat <- optimHess(par=coefs, fn=mymess1_hess, env=env) } else { mat <- optimHess(par=coefs, fn=mymess_hess, env=env) } mess_hess <- solve(-(mat)) call <- match.call() lmobj$call <- call res <- list(lmobj=lmobj, alpha=alpha, alphase=alphase, rho=rho, bestmess=bestmess, q=q, start=start, na.action=na.act, nullLL=nullLL, use_expm=use_expm, mess_hess=mess_hess) class(res) <- "lagmess" res } powerWeightsMESS <- function(W, y, q=10) { n <- dim(W)[1] res <- matrix(NA, nrow=n, ncol=q) res[,1] <- y last <- W %*% y res[,2] <- c(last[,1]) for (i in 3:q) { last <- W %*% last res[,i] <- c(last[,1]) } res } mymess <- function(alpha, env, verbose=FALSE) { va <- alpha^get("v", envir=env) Sy <- get("Y", envir=env) %*% get("G1", envir=env) %*% va lmobj <- lm(Sy ~ get("X", envir=env) - 1) res <- -c(logLik(lmobj)) if (verbose) cat("res:", res, "\n") res } mymess_hess <- function(coefs, env) { alpha <- coefs[1] beta <- coefs[-1] va <- alpha^get("v", envir=env) Sy <- get("Y", envir=env) %*% get("G1", envir=env) %*% va res <- Sy - get("X", envir=env) %*% beta SSE <- c(crossprod(res)) n <- get("n", envir=env) s2 <- SSE/n ret <- (0 - ((n/2) * log(2 * pi)) - (n/2) * log(s2) - (1/(2 * s2)) * SSE) ret } mymess1_hess <- function(coefs, env) { alpha <- coefs[1] beta <- coefs[-1] Sy <- expAtv(alpha*get("W", envir=env), get("y", envir=env))$eAtv res <- Sy - get("X", envir=env) %*% beta SSE <- c(crossprod(res)) n <- get("n", envir=env) s2 <- SSE/n ret <- (0 - ((n/2) * log(2 * pi)) - (n/2) * log(s2) - (1/(2 * s2)) * SSE) ret } mymess1 <- function(alpha, env, verbose=FALSE) { Sy <- expAtv(alpha*get("W", envir=env), get("y", envir=env))$eAtv lmobj <- lm(Sy ~ get("X", envir=env) - 1) res <- -c(logLik(lmobj)) if (verbose) cat("res:", res, "\n") res } print.lagmess <- function(x, ...) { print(x$lmobj, ...) cat("Alpha: ", x$alpha, "\n", sep="") invisible(x) } print.summary.lagmess <- function(x, digits = max(5, .Options$digits - 3), signif.stars = FALSE, ...) { cat("Matrix exponential spatial lag model:\n") if (x$use_expm) cat("(calculated with expm)\n") print(x$lmsum, signif.stars=signif.stars, digits=digits) cat("Alpha: ", format(signif(x$alpha, digits)), ", standard error: ", format(signif(x$alphase, digits)), "\n z-value: ", format(signif((x$alpha/x$alphase), digits)), ", p-value: ", format.pval(2 * (1 - pnorm(abs(x$alpha/x$alphase))), digits), "\n", sep="") res <- x$LR cat("LR test value: ", format(signif(res$statistic, digits)), ", p-value: ", format.pval(res$p.value, digits), "\n", sep="") cat("Implied rho:", x$rho, "\n") cat("\n") invisible(x) } summary.lagmess <- function(object, ...) { object$lmsum <- summary(object$lmobj, ...) object$LR <- LR1.lagmess(object) class(object) <- "summary.lagmess" object } LR1.lagmess <- function(object) { LLx <- logLik(object) LLy <- object$nullLL statistic <- 2*(LLx - LLy) attr(statistic, "names") <- "Likelihood ratio" parameter <- abs(attr(LLx, "df") - attr(LLy, "df")) if (parameter < 1) stop("non-positive degrees of freedom: no test possible") attr(parameter, "names") <- "df" p.value <- 1 - pchisq(abs(statistic), parameter) estimate <- c(LLx, LLy) attr(estimate, "names") <- c("Log likelihood of MESS fit", "Log likelihood of OLS fit") method <- "Likelihood Ratio diagnostics for spatial dependence" res <- list(statistic=statistic, parameter=parameter, p.value=p.value, estimate=estimate, method=method) class(res) <- "htest" res } residuals.lagmess <- function(object, ...) { object$lmobj$residuals } deviance.lagmess <- function(object, ...) { deviance(object$lmobj) } coef.lagmess <- function(object, ...) { ret <- NULL ap <- object$alpha names(ap) <- "alpha" ret <- c(ret, ap) ret <- c(ret, coef(object$lmobj)) ret } fitted.lagmess <- function(object, ...) { object$lmobj$fitted.values } logLik.lagmess <- function (object, ...) { LL <- c(logLik(object$lmobj)) class(LL) <- "logLik" N <- length(residuals(object)) attr(LL, "nall") <- N attr(LL, "nobs") <- N attr(LL, "df") <- object$lmobj$rank + 2 LL } # res <- list(lmobj=lmobj, alpha=alpha, alphase=alphase, rho=rho, bestmess=bestmess, q=q, start=start, na.action=na.act, nullLL=nullLL, use_expm=use_expm, mess_hess=mess_hess) impacts.lagmess <- function(obj, ..., R=NULL, listw=NULL, tol=1e-6, empirical=FALSE) { if (!is.null(R)) stopifnot(!is.null(obj$mess_hess)) stopifnot(!is.null(listw)) timings <- list() .ptime_start <- proc.time() type <- class(obj) W <- as(listw, "CsparseMatrix") alpha <- obj$alpha S_W <- expm(-alpha*W) beta <- obj$lmobj$coefficients n <- length(obj$lmobj$residuals) icept <- grep("(Intercept)", names(beta)) iicept <- length(icept) > 0L if (iicept) { P <- matrix(beta[-icept], ncol=1) bnames <- names(beta[-icept]) } else { P <- matrix(beta, ncol=1) bnames <- names(beta) } res <- lagImpactsExact(S_W, P, n) timings[["expm_impacts"]] <- proc.time() - .ptime_start if (!is.null(R)) { .ptime_start <- proc.time() ialpha <- 1 drop2beta <- 1 samples <- mvrnorm(n=R, mu=c(alpha, beta), Sigma=obj$mess_hess, tol=tol, empirical=empirical) timings[["impacts_samples"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() sres <- apply(samples, 1, processMessSample, drop2beta=drop2beta, type=type, iicept=iicept, icept=icept, n=n, W=W, ialpha=ialpha) timings[["process_samples"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() if (length(bnames) == 1L) { direct <- as.mcmc(t(matrix(sapply(sres, function(x) x$direct), nrow=1))) indirect <- as.mcmc(t(matrix(sapply(sres, function(x) x$indirect), nrow=1))) total <- as.mcmc(t(matrix(sapply(sres, function(x) x$total), nrow=1))) } else { direct <- as.mcmc(t(sapply(sres, function(x) x$direct))) indirect <- as.mcmc(t(sapply(sres, function(x) x$indirect))) total <- as.mcmc(t(sapply(sres, function(x) x$total))) } colnames(direct) <- bnames colnames(indirect) <- bnames colnames(total) <- bnames timings[["postprocess_samples"]] <- proc.time() - .ptime_start res <- list(res=res, sres=list(direct=direct, indirect=indirect, total=total)) } if (!is.null(R)) attr(res, "samples") <- list(samples=samples, irho=ialpha, drop2beta=drop2beta) attr(res, "timings") <- do.call("rbind", timings)[, c(1,3)] attr(res, "method") <- "exact" attr(res, "type") <- type attr(res, "bnames") <- bnames attr(res, "haveQ") <- FALSE class(res) <- "lagImpact" attr(res, "iClass") <- class(obj) res } processMessSample <- function(x, drop2beta, type, iicept, icept, n, W, ialpha) { alpha <- x[ialpha] S_W <- expm(-alpha*W) beta <- x[-drop2beta] if (iicept) { P <- matrix(beta[-icept], ncol=1) } else { P <- matrix(beta, ncol=1) } lagImpactsExact(S_W, P, n) } spdep/R/spBreg.R0000644000176200001440000002412213127120507013132 0ustar liggesusers# translated from Matlab code sar_g.m in the Spatial Econometrics toolbox by # James LeSage and R. Kelley Pace (http://www.spatial-econometrics.com/). # GSoc 2011 project by Abhirup Mallik mentored by Virgilio Gómez-Rubio spBreg_lag <- function(formula, data = list(), listw, na.action, type="lag", zero.policy=NULL, control=list()) { timings <- list() .ptime_start <- proc.time() #control con <- list(tol.opt=.Machine$double.eps^0.5, ldet_method="SE_classic", Imult=2, cheb_q=5, MC_p=16L, MC_m=30L, super=NULL, spamPivot="MMD", in_coef=0.1, type="MC", correct=TRUE, trunc=TRUE, SE_method="LU", nrho=200, interpn=2000, SElndet=NULL, LU_order=FALSE, pre_eig=NULL, interval=c(-1, 1), ndraw=2500L, nomit=500L, thin=1L, verbose=FALSE, detval=NULL, prior=list(Tbeta=NULL, c_beta=NULL, rho=0.5, sige=1, nu=0, d0=0, a1 = 1.01, a2 = 1.01)) priors <- con$prior nmsP <- names(priors) priors[(namp <- names(control$prior))] <- control$prior if (length(noNms <- namp[!namp %in% nmsP])) warning("unknown names in control$prior: ", paste(noNms, collapse = ", ")) control$prior <- NULL con$prior <- NULL nmsC <- names(con) con[(namc <- names(control))] <- control if (length(noNms <- namc[!namc %in% nmsC])) warning("unknown names in control: ", paste(noNms, collapse = ", ")) stopifnot(is.logical(con$verbose)) stopifnot(is.integer(con$ndraw)) stopifnot(is.integer(con$nomit)) stopifnot(is.integer(con$thin)) if (is.null(zero.policy)) zero.policy <- get.ZeroPolicyOption() stopifnot(is.logical(zero.policy)) if (class(formula) != "formula") formula <- as.formula(formula) mt <- terms(formula, data = data) mf <- lm(formula, data, na.action=na.action, method="model.frame") na.act <- attr(mf, "na.action") if (!inherits(listw, "listw")) stop("No neighbourhood list") can.sim <- FALSE if (listw$style %in% c("W", "S")) can.sim <- can.be.simmed(listw) if (!is.null(na.act)) { subset <- !(1:length(listw$neighbours) %in% na.act) listw <- subset(listw, subset, zero.policy=zero.policy) } y <- model.extract(mf, "response") #MatrixModels::model.Matrix() # x <- Matrix::sparse.model.matrix(mt, mf) x <- model.matrix(mt, mf) n <- nrow(x) if (n != length(listw$neighbours)) stop("Input data and weights have different dimensions") xcolnames <- colnames(x) K <- ifelse(xcolnames[1] == "(Intercept)", 2, 1) wy <- lag.listw(listw, y, zero.policy=zero.policy) if (anyNA(wy)) stop("NAs in lagged dependent variable") #create_WX # check for dgCMatrix if (type == "mixed") { type <- "Durbin" warning("type \"mixed\" deprecated, changed to \"Durbin\"") } if (type == "Durbin") { WX <- create_WX(x, listw, zero.policy=zero.policy, prefix="lag") x <- cbind(x, WX) rm(WX) } else if (type != "lag") stop("No such type:", type) m <- ncol(x) lm.base <- lm(y ~ x - 1) # doesn't like dgCMatrix aliased <- is.na(coefficients(lm.base)) cn <- names(aliased) names(aliased) <- substr(cn, 2, nchar(cn)) if (any(aliased)) { nacoef <- which(aliased) x <- x[,-nacoef] } m <- ncol(x) timings[["set_up"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() env <- new.env() assign("can.sim", can.sim, envir=env) assign("listw", listw, envir=env) assign("similar", FALSE, envir=env) assign("n", n, envir=env) assign("verbose", con$verbose, envir=env) assign("family", "SAR", envir=env) assign("method", con$ldet_method, envir=env) W <- as(listw, "CsparseMatrix") assign("W", W, envir=env) con$interval <- jacobianSetup(con$ldet_method, env, con, pre_eig=con$pre_eig, interval=con$interval) detval1 <- get("detval1", envir=env)[,1] detval2 <- get("detval1", envir=env)[,2] bprior <- dbeta(detval1, priors$a1, priors$a2) nm <- paste(con$ldet_method, "set_up", sep="_") timings[[nm]] <- proc.time() - .ptime_start .ptime_start <- proc.time() k <- m if (is.null(priors$c_beta)) priors$c_beta <- rep(0, k) else stopifnot(length(priors$c_beta) == k) if (is.null(priors$Tbeta)) priors$Tbeta <- diag(k)*1e+12 else stopifnot(nrow(priors$Tbeta) == k && ncol(priors$Tbeta) == k) sige <- priors$sige rho <- priors$rho #% storage for draws bsave <- matrix(0, nrow=con$ndraw, ncol=k) psave <- numeric(con$ndraw) ssave <- numeric(con$ndraw) lsave <- numeric(con$ndraw) #% ====== initializations #% compute this stuff once to save time TI = solve(priors$Tbeta); # see eq 5.29, Lesage & Pace (2009) p. 140 TIc = TI%*%priors$c_beta; xpx = crossprod(x) xpy = crossprod(x, y) xpWy = crossprod(x, wy) nu1 = n + 2*priors$nu nrho = length(detval1) rho_out = 0 # nano_1 = 0 # nano_2 = 0 # nano_3 = 0 timings[["complete_setup"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() for (iter in 1:con$ndraw) { #% start sampling; ##% update beta # nano_p <- microbenchmark::get_nanotime() AI = solve((xpx + sige*TI))#,diag(rep(1,k))); ys = y - rho*wy b = crossprod(x, ys) + sige*TIc b0 = AI %*% b # see eq 5.29, p. 140 bhat = MASS::mvrnorm(1, b0, sige*AI) #norm_rnd(sige*AI) + b0; bsave[iter, 1:k] = as.vector(bhat) # nano_1 <- nano_1 + microbenchmark::get_nanotime() - nano_p ##% update sige # nano_p <- microbenchmark::get_nanotime() xb = x %*% bhat e = (ys - xb) d1 = 2*priors$d0 + crossprod(e) chi = rchisq(1, nu1) #chi = chis_rnd(1,nu1); sige = as.numeric(d1/chi) # see eq 5.30, p. 141 ssave[iter] = as.vector(sige) # nano_2 <- nano_2 + microbenchmark::get_nanotime() - nano_p ###% update rho using griddy Gibbs # nano_p <- microbenchmark::get_nanotime() AI = solve((xpx + sige*TI)) b0 = AI %*% (xpy + sige*TIc) bd = AI %*% (xpWy + sige*TIc) e0 = y - x%*%b0 ed = wy - x%*%bd epe0 = as.vector(crossprod(e0)) eped = as.vector(crossprod(ed)) epe0d = as.vector(crossprod(ed, e0)) nmk = (n-k)/2 z = epe0 - 2*detval1*epe0d + detval1*detval1*eped den = detval2 - nmk*log(z) den = den + bprior nd = length(den) adj = max(den) den = den - adj xd = exp(den) ## trapezoid rule isum = sum((detval1[2:nd] + detval1[1:(nd-1)])*(xd[2:nd] - xd[1:(nd-1)])/2)#VIRGILIO:FIXED zd = abs(xd/isum) den = cumsum(zd) rnd = runif(1)*sum(zd) cond <- den <= rnd if (any(cond)) { # ind = which(den <= rnd) idraw = which.min(cond) - 1 #max(ind) # if (idraw > 0 & idraw < nrho) rho = detval1[idraw]#FIXME: This sometimes fail... } else { rho_out = rho_out+1 } z = epe0 - 2*rho*epe0d + rho*rho*eped if (idraw > 0 & idraw < nrho) ldet = detval2[idraw] s2 <- z/n ll_iter <- (ldet - ((n/2)*log(2*pi)) - (n/2)*log(s2) - (1/(2*s2))*z) psave[iter] = as.vector(rho) lsave[iter] <- as.vector(ll_iter) # nano_3 <- nano_3 + microbenchmark::get_nanotime() - nano_p } ### % end of sampling loop timings[["sampling"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() mat <- cbind(bsave, psave, ssave) colnames(mat) <- c(colnames(x), "rho", "sige") res <- coda::mcmc(mat, start=con$nomit+1, end=con$ndraw, thin=con$thin) means <- summary(res)$statistics[,1] beta <- means[1:(length(means)-2)] rho <- means[(length(means)-1)] xb = x %*% beta ys = y - rho*wy e = (ys - xb) sse <- crossprod(e) s2 <- sse/n ldet <- do_ldet(rho, env) ll_mean <- (ldet - ((n/2)*log(2*pi)) - (n/2)*log(s2) - (1/(2*s2))*sse) lsave <- as.vector(coda::mcmc(matrix(lsave, ncol=1), start=con$nomit+1, end=con$ndraw, thin=con$thin)[,1]) timings[["finalise"]] <- proc.time() - .ptime_start attr(res, "timings") <- do.call("rbind", timings) # attr(res, "nano") <- c(nano_1, nano_2, nano_3) attr(res, "control") <- con attr(res, "type") <- type attr(res, "rho_out") <- rho_out attr(res, "listw_style") <- listw$style attr(res, "lsave") <- lsave attr(res, "ll_mean") <- as.vector(ll_mean) class(res) <- c("MCMC_sar_g", class(res)) res #output mcmc object } impacts.MCMC_sar_g <- function(obj, ..., tr=NULL, listw=NULL, Q=NULL) { if (is.null(listw) && !is.null(attr(obj, "listw_style")) && attr(obj, "listw_style") != "W") stop("Only row-standardised weights supported") means <- summary(obj)$statistics[,1] irho <- length(means)-1 drop2beta <- irho:length(means) rho <- means[irho] s2 <- means[length(means)] beta <- means[1:(length(means)-2)] icept <- grep("(Intercept)", names(beta)) iicept <- length(icept) > 0L samples <- as.matrix(obj) interval <- attr(obj, "control")$interval if (attr(obj, "type") == "lag") { type <- "lag" if (iicept) { P <- matrix(beta[-icept], ncol=1) bnames <- names(beta[-icept]) } else { P <- matrix(beta, ncol=1) bnames <- names(beta) } p <- length(beta) } else if (attr(obj, "type") == "Durbin") { type <- "mixed" if (iicept) { b1 <- beta[-icept] } else { b1 <- beta } p <- length(b1) if (p %% 2 != 0) stop("non-matched coefficient pairs") P <- cbind(b1[1:(p/2)], b1[((p/2)+1):p]) bnames <- names(b1[1:(p/2)]) } if (is.null(tr) && !is.null(listw)) n <- length(listw$neighbours) else if (!is.null(tr)) n <- attr(tr, "n") else stop("either tr or listw must be given") R <- nrow(samples) res <- intImpacts(rho=rho, beta=beta, P=P, n=n, mu=NULL, Sigma=NULL, irho=irho, drop2beta=drop2beta, bnames=bnames, interval=interval, type=type, tr=tr, R=R, listw=listw, tol=NULL, empirical=NULL, Q=Q, icept=icept, iicept=iicept, p=p, samples=samples) attr(res, "iClass") <- class(obj) res } spdep/R/listw2sn.R0000644000176200001440000000537612703236140013507 0ustar liggesusers# Copyright 2001-7 by Roger Bivand # as.spam.listw <- function(listw) { if (requireNamespace("spam", quietly = TRUE)) { #if (!require(spam)) stop("spam not available") N <- length(listw$neighbours) W_sn <- listw2sn(listw) rpts <- as.integer(cumsum(c(1, card(listw$neighbours)))) W <- new("spam", entries=W_sn$weights, colindices=W_sn$to, rowpointers=rpts, dimension=as.integer(c(N, N))) stopifnot(spam::validspamobject(W)) return(W) } else stop("spam not available") } listw2U_spam <- function(lw) 0.5 * (lw + t(lw)) listw2sn <- function(listw) { if(!inherits(listw, "listw")) stop("not a listw object") cardw <- card(listw$neighbours) scard <- sum(cardw) z <- .Call("listw2sn", listw$neighbours, listw$weights, as.integer(cardw), as.integer(scard), PACKAGE="spdep") res <- as.data.frame(list(from=z[[1]], to=z[[2]], weights=z[[3]])) class(res) <- c(class(res), "spatial.neighbour") attr(res, "n") <- length(attr(listw, "region.id")) attr(res, "region.id") <- attr(listw, "region.id") neighbours.attrs <- names(attributes(listw$neighbours)) attr(res, "neighbours.attrs") <- neighbours.attrs weights.attrs <- names(attributes(listw$weights)) attr(res, "weights.attrs") <- weights.attrs if (!(is.null(attr(listw, "GeoDa")))) attr(res, "GeoDa") <- attr(listw, "GeoDa") attr(res, "listw.call") <- attr(listw, "call") res } sn2listw <- function(sn) { if(!inherits(sn, "spatial.neighbour")) stop("not a spatial.neighbour object") n <- attr(sn, "n") if (n < 1) stop("non-positive n") region.id <- attr(sn, "region.id") stopifnot(all(!is.na(sn[,1]))) stopifnot(all(!is.na(sn[,2]))) stopifnot(all(!is.na(sn[,3]))) nlist <- vector(mode="list", length=n) class(nlist) <- "nb" attr(nlist, "region.id") <- region.id vlist <- vector(mode="list", length=n) rle.sn <- rle(sn[,1]) if (n != length(rle.sn$lengths)) { nnhits <- region.id[which(!(1:n %in% rle.sn$values))] warning(paste(paste(nnhits, collapse=", "), ifelse(length(nnhits) < 2, "is not an origin", "are not origins"))) } cs1.sn <- cumsum(rle.sn$lengths) cs0.sn <- c(1, cs1.sn[1:(n-1)]+1) ii <- 1 for (i in 1:n) { if (!is.na(rle.sn$value[ii]) && rle.sn$value[ii] == i) { ni <- as.integer(sn[cs0.sn[ii]:cs1.sn[ii],2]) o <- order(ni) nlist[[i]] <- ni[o] vlist[[i]] <- as.double(sn[cs0.sn[ii]:cs1.sn[ii],3])[o] ii <- ii+1 } else { nlist[[i]] <- 0L } } res <- list(style=as.character(NA), neighbours=nlist, weights=vlist) class(res) <- c("listw", "nb") if (!(is.null(attr(sn, "GeoDa")))) attr(res, "GeoDa") <- attr(sn, "GeoDa") attr(res, "region.id") <- region.id attr(res, "call") <- match.call() res } spdep/R/sp.mantel.R0000644000176200001440000001104512230046776013622 0ustar liggesusers# Copyright 2002-2010 by Roger Bivand # sp.mantel.mc <- function(var, listw, nsim, type="moran", zero.policy=NULL, alternative="greater", spChk=NULL, return_boot=FALSE) { if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) stopifnot(is.vector(var)) alternative <- match.arg(alternative, c("greater", "less")) if(!inherits(listw, "listw")) stop(paste(deparse(substitute(listw)), "is not a listw object")) if(!is.numeric(var)) stop(paste(deparse(substitute(var)), "is not a numeric vector")) if(missing(nsim)) stop("nsim must be given") n <- length(listw$neighbours) if (n < 1) stop("non-positive n") gamres <- suppressWarnings(nsim > gamma(n + 1)) if (gamres) stop("nsim too large for this number of observations") if (nsim < 1) stop("non-positive nsim") if (any(is.na(var))) stop("NA in var") if (n != length(var)) stop("objects of different length") if (is.null(spChk)) spChk <- get.spChkOption() if (spChk && !chkIDs(var, listw)) stop("Check of data and weights ID integrity failed") listw.U <- listw2U(listw) mantel.moran <- function(x, listwU, zero.policy) { res <- x * lag.listw(listw.U, x, zero.policy=zero.policy) res <- sum(res) res } mantel.geary <- function(x, listwU, zero.policy) { res <- geary.intern(x, listwU, length(x), zero.policy=zero.policy, type="geary") res <- sum(res) res } mantel.sokal <- function(x, listwU, zero.policy) { res <- geary.intern(x, listwU, length(x), zero.policy=zero.policy, type="sokal") res <- sum(res) res } if (type == "moran") f <- mantel.moran else if (type == "geary") f <- mantel.geary else if (type == "sokal") f <- mantel.sokal else stop("unknown type") xs <- scale(var) if (return_boot) { mantel_boot <- function(var, i, ...) { var <- var[i] return(f(x=var, ...)) } cores <- get.coresOption() if (is.null(cores)) { parallel <- "no" } else { parallel <- ifelse (get.mcOption(), "multicore", "snow") } ncpus <- ifelse(is.null(cores), 1L, cores) cl <- NULL if (parallel == "snow") { cl <- get.ClusterOption() if (is.null(cl)) { parallel <- "no" warning("no cluster in ClusterOption, parallel set to no") } } res <- boot(xs, statistic=mantel_boot, R=nsim, sim="permutation", listwU=listw.U, zero.policy=zero.policy, parallel=parallel, ncpus=ncpus, cl=cl) return(res) } res <- numeric(length=nsim+1) for (i in 1:nsim) { y <- sample(xs) res[i] <- f(y, listw.U, zero.policy=zero.policy) } res[nsim+1] <- f(xs, listw.U, zero.policy=zero.policy) rankres <- rank(res) xrank <- rankres[length(res)] diff <- nsim - xrank diff <- ifelse(diff > 0, diff, 0) if (alternative == "less") pval <- punif((diff + 1)/(nsim + 1), lower.tail=FALSE) else if (alternative == "greater") pval <- punif((diff + 1)/(nsim + 1)) if (!is.finite(pval) || pval < 0 || pval > 1) warning("Out-of-range p-value: reconsider test arguments") statistic <- res[nsim+1] names(statistic) <- "statistic" parameter <- xrank names(parameter) <- "observed rank" method <- paste("Mantel permutation test for", type, "measure") data.name <- paste(deparse(substitute(var)), "\nweights:", deparse(substitute(listw)), "\nnumber of simulations + 1:", nsim+1, "\n") est <- c(mean(res[1:nsim]), sd(res[1:nsim])) names(est) <- c("mean of permutations", "sd of permutations") lres <- list(statistic=statistic, parameter=parameter, alternative=alternative, method=method, data.name=data.name, p.value=pval, res=res, estimate=est) class(lres) <- c("htest", "mc.sim") lres } plot.mc.sim <- function(x, xlim, xlab, main, sub, ..., ptype="density") { res <- x$res if (missing(xlim)) xlim <- range(res)*1.1 n <- length(res) obs <- res[n] res <- res[-n] if (missing(xlab)) xlab <- strsplit(x$data.name, "\n")[[1]][1] if (missing(sub)) sub <- x$method if(ptype == "density") { if (missing(main)) main <- "Density plot of permutation outcomes" plot(density(res), xlim=xlim, xlab=xlab, main=main, sub=sub, ...) } else { if (missing(main)) main <- "Histogram of permutation outcomes" hist(res, xlim=xlim, xlab=xlab, main=main, sub=sub, ...) } abline(v=obs, col=1, lwd=2) } spdep/R/cyclical.R0000644000176200001440000000245712033074222013477 0ustar liggesusers# Copyright 2012 by Roger Bivand # isCyclical <- function(nb) { stopifnot(inherits(nb, "nb")) cnb <- card(nb) if (any(cnb == 0)) stop("Neighbours must be connected") if (n.comp.nb(nb)$nc != 1) stop("Complete connection required") res <- 1L for (i in seq(along=nb)) { inbs <- nb[[i]] if (length(inbs) > 1) { for (j in 1:(length(inbs)-1)) { for (k in 2:length(inbs)) { hit <- (inbs[j] %in% nb[[inbs[k]]]) if (hit) { res <- 0L break } } if (res == 0L) break } if (res == 0L) break } } res } find_q1_q2 <- function(lw) { stopifnot(lw$style == "W") nb <- lw$neighbours nc <- n.comp.nb(nb) members <- tapply(1:length(nb), nc$comp.id, c) q2 <- 0L q1 <- nc$nc t1 <- table(nc$comp.id) t2 <- table(t1) if ("1" %in% names(t2)) q1 <- unname(q1 - t2["1"]) ids <- as.integer(names(t1[t1 > 1])) members1 <- members[ids] nums <- 1:length(nb) for (sub in seq(along=members1)) { subs <- members1[[sub]] nbsub <- subset(nb, (nums %in% subs)) if (length(nbsub) > 2) q2sub <- isCyclical(nbsub) else q2sub <- 1L q2 <- q2 + q2sub } c(q1, q2) } spdep/R/apleplot.R0000644000176200001440000000150711716033157013540 0ustar liggesusersaple.plot <- function(x, listw, override_similarity_check=FALSE, useTrace=TRUE, do.plot=TRUE, ...) { pre <- preAple(x=x, listw=listw, override_similarity_check=override_similarity_check, useTrace=useTrace) W2e <- eigen(pre$W2) SQRTW2 <- W2e$vectors %*% (diag(W2e$values^(0.5)) %*% t(W2e$vectors)) X <- drop(SQRTW2 %*% x) NSQRTW2 <- W2e$vectors %*% (diag(W2e$values^(-0.5)) %*% t(W2e$vectors)) Y <- drop(NSQRTW2 %*% pre$WU %*% x) if (do.plot) { plot(X, Y, ...) } list(X=X, Y=Y) } localAple <- function(x, listw, override_similarity_check=FALSE, useTrace=TRUE) { aplepl <- aple.plot(x, listw, override_similarity_check=override_similarity_check, useTrace=useTrace, do.plot=FALSE) res <- (length(aplepl$X) * aplepl$Y * aplepl$X) / crossprod(aplepl$X) res } spdep/R/ME.R0000644000176200001440000001320612441320442012210 0ustar liggesusers# Copyright 2005-2008 by Roger Bivand and Pedro Peres-Neto (from Matlab) # ME <- function(formula, data, family = gaussian, weights, offset, listw, alpha=0.05, nsim=99, verbose=NULL, stdev=FALSE) { MoraneI.boot <- function(var, i, ...) { var <- var[i] I <- (n/S0)*(crossprod(sW %*% var, var))/cpvar return(c(as(I, "matrix"))) } MIR_a <- function(resids, sW, n, cpvar, S0, nsim, stdev=TRUE, par_boot_args=list()) { boot1 <- boot(resids, statistic=MoraneI.boot, R=nsim, sim="permutation", sW=sW, n=n, S0=S0, cpvar=cpvar, parallel=par_boot_args$parallel, ncpus=par_boot_args$ncpus, cl=par_boot_args$cl) mi <- boot1$t0 if (stdev) { zi <- (boot1$t0 - mean(boot1$t))/sqrt(var(boot1$t)) pri <- pnorm(abs(zi), lower.tail=FALSE) } else { zi <- NA pri <- (sum(boot1$t >= mi)+1)/(nsim+1) } res <- list(estimate=mi, statistic=zi, p.value=pri) res } if (is.null(verbose)) verbose <- get("verbose", envir = .spdepOptions) stopifnot(is.logical(verbose)) listw <- listw2U(listw) # make weights symmetric sW <- as(listw, "CsparseMatrix") Wmat <- listw2mat(listw) # convert to full matrix form n <- ncol(Wmat) S0 <- Szero(listw) # argument handling copied from stats:::glm # call <- match.call() if (is.character(family)) family <- get(family, mode = "function", envir = parent.frame()) if (is.function(family)) family <- family() if (is.null(family$family)) { print(family) stop("'family' not recognized") } if (missing(data)) data <- environment(formula) mf <- match.call(expand.dots = FALSE) m <- match(c("formula", "data", "weights", "offset"), names(mf), 0) mf <- mf[c(1, m)] mf$drop.unused.levels <- TRUE mf[[1]] <- as.name("model.frame") mf <- eval(mf, parent.frame()) mt <- attr(mf, "terms") Y <- model.extract(mf, "response") # extract X and Y X <- model.matrix(mt, mf) weights <- model.weights(mf) if (!is.null(weights) && any(weights < 0)) stop("negative weights not allowed") offset <- model.offset(mf) if (!is.null(offset) && length(offset) != NROW(Y)) stop("number of offsets should equal number of observations") glm_fit <- glm.fit(x=X, y=Y, weights=weights, offset=offset, family=family) glm_res <- glm_fit$y - glm_fit$fitted.values cpvar <- crossprod(glm_res) cores <- get.coresOption() if (is.null(cores)) { parallel <- "no" } else { parallel <- ifelse (get.mcOption(), "multicore", "snow") } ncpus <- ifelse(is.null(cores), 1L, cores) cl <- NULL if (parallel == "snow") { cl <- get.ClusterOption() if (is.null(cl)) { parallel <- "no" warning("no cluster in ClusterOption, parallel set to no") } } par_boot_args <- list(parallel=parallel, ncpus=ncpus, cl=cl) mRES <- MIR_a(glm_res, sW=sW, n=n, cpvar=cpvar, S0=S0, nsim=nsim, stdev=stdev, par_boot_args=par_boot_args) pIZ <- mRES$p.value tres <- c(NA, mRES$statistic, pIZ) if (pIZ > alpha) stop("base correlation larger than alpha") Cent <- diag(n) - (matrix(1/n, n, n)) CWC <- Cent %*% Wmat %*% Cent rm(Cent, Wmat) CWC2 <- 0.5*(CWC+t(CWC)) rm(CWC) eV <- eigen(CWC2)$vectors rm(CWC2) iZ <- numeric(n) for (i in 1:n) { iX <- cbind(X, eV[,i]) i_glm <- glm.fit(x=iX, y=Y, weights=weights, offset=offset, family=family) glm_res <- i_glm$y - i_glm$fitted.values cpvar <- crossprod(glm_res) # iZ[i] <- MIR_a(glm_res, sW=sW, n=n, cpvar=cpvar, S0=S0, # nsim=nsim)$statistic iZ[i] <- c(as((n/S0)*(crossprod(sW %*% glm_res, glm_res)) / cpvar, "matrix")) } min_iZ <- which.min(abs(iZ)) X <- cbind(X, eV[, min_iZ]) glm_fit <- glm.fit(x=X, y=Y, weights=weights, offset=offset, family=family) glm_res <- glm_fit$y - glm_fit$fitted.values cpvar <- crossprod(glm_res) mRES <- MIR_a(glm_res, sW=sW, n=n, cpvar=cpvar, S0=S0, nsim=nsim, stdev=stdev, par_boot_args=par_boot_args) pIZ <- mRES$p.value used <- rep(FALSE, n) used[min_iZ] <- TRUE min_v <- min_iZ if (verbose) cat("eV[,", min_iZ, "], I: ", mRES$estimate, " ZI: ", mRES$statistic, ", pr(ZI): ", pIZ, "\n", sep="") tres <- rbind(tres, c(min_iZ, mRES$statistic, pIZ)) while (pIZ <= alpha) { for (i in 1:n) { if (!used[i]) { iX <- cbind(X, eV[,i]) i_glm <- glm.fit(x=iX, y=Y, weights=weights, offset=offset, family=family) glm_res <- i_glm$y - i_glm$fitted.values cpvar <- crossprod(glm_res) # iZ[i] <- MIR_a(glm_res, sW=sW, n=n, cpvar=cpvar, S0=S0, # nsim=nsim)$statistic iZ[i] <- c(as((n/S0)*(crossprod(sW %*% glm_res, glm_res))/cpvar, "matrix")) } else iZ[i] <- NA } min_iZ <- which.min(abs(iZ)) X <- cbind(X, eV[, min_iZ]) glm_fit <- glm.fit(x=X, y=Y, weights=weights, offset=offset, family=family) glm_res <- glm_fit$y - glm_fit$fitted.values cpvar <- crossprod(glm_res) mRES <- MIR_a(glm_res, sW=sW, n=n, cpvar=cpvar, S0=S0, nsim=nsim, stdev=stdev, par_boot_args=par_boot_args) pIZ <- mRES$p.value used[min_iZ] <- TRUE min_v <- c(min_v, min_iZ) if (verbose) cat("eV[,", min_iZ, "], I: ", mRES$estimate, " ZI: ", mRES$statistic, ", pr(ZI): ", pIZ, "\n", sep="") tres <- rbind(tres, c(min_iZ, mRES$statistic, pIZ)) } sv <- eV[,min_v, drop=FALSE] colnames(sv) <- paste("vec", min_v, sep="") colnames(tres) <- c("Eigenvector", "ZI", "pr(ZI)") rownames(tres) <- 0:(nrow(tres)-1) res <- list(selection=tres, vectors=sv) class(res) <- "ME_res" res } print.ME_res <- function(x, ...) { print(x$selection) } fitted.ME_res <- function(object, ...) { object$vectors } spdep/R/spautolm.R0000644000176200001440000004070312670605401013562 0ustar liggesusers# Copyright 2005-2012 by Roger Bivand spautolm <- function(formula, data = list(), listw, weights, na.action, family="SAR", method="eigen", verbose=NULL, trs=NULL, interval=NULL, zero.policy=NULL, tol.solve=.Machine$double.eps, llprof=NULL, control=list()) { timings <- list() .ptime_start <- proc.time() con <- list(tol.opt=.Machine$double.eps^(2/3), fdHess=NULL, optimHess=FALSE, optimHessMethod="optimHess", Imult=2, cheb_q=5, MC_p=16, MC_m=30, super=NULL, spamPivot="MMD", in_coef=0.1, type="MC", correct=TRUE, trunc=TRUE, SE_method="LU", nrho=200, interpn=2000, small_asy=TRUE, small=1500, SElndet=NULL, LU_order=FALSE, pre_eig=NULL) nmsC <- names(con) con[(namc <- names(control))] <- control if (length(noNms <- namc[!namc %in% nmsC])) warning("unknown names in control: ", paste(noNms, collapse = ", ")) if (!inherits(listw, "listw")) stop("No neighbourhood list") if (is.null(verbose)) verbose <- get("verbose", envir = .spdepOptions) stopifnot(is.logical(verbose)) if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) if (family == "SMA" && method != "eigen") stop("SMA only for eigen method") if (method == "spam" || method == "spam_update") stop("spam not supported as method") mf <- match.call(expand.dots = FALSE) m <- match(c("formula", "data", "weights", "na.action"), names(mf), 0) mf <- mf[c(1, m)] mf$drop.unused.levels <- TRUE mf[[1]] <- as.name("model.frame") mf <- eval(mf, parent.frame()) mt <- attr(mf, "terms") # mt <- terms(formula, data = data) # mf <- lm(formula, data, , weights, na.action=na.action, # method="model.frame") na.act <- attr(mf, "na.action") if (!is.null(na.act)) { subset <- !(1:length(listw$neighbours) %in% na.act) listw <- subset(listw, subset, zero.policy=zero.policy) } Y <- model.extract(mf, "response") if (any(is.na(Y))) stop("NAs in dependent variable") X <- model.matrix(mt, mf) if (any(is.na(X))) stop("NAs in independent variable") n <- nrow(X) if (n != length(listw$neighbours)) stop("Input data and neighbourhood list have different dimensions") weights <- as.vector(model.extract(mf, "weights")) # set up default weights if (!is.null(weights) && !is.numeric(weights)) stop("'weights' must be a numeric vector") if (is.null(weights)) weights <- rep(as.numeric(1), n) if (any(is.na(weights))) stop("NAs in weights") if (any(weights < 0)) stop("negative weights") lm.base <- lm(Y ~ X - 1, weights=weights) aliased <- is.na(coefficients(lm.base)) cn <- names(aliased) names(aliased) <- substr(cn, 2, nchar(cn)) if (any(aliased)) { nacoef <- which(aliased) # bug x for X Bjarke Christensen 090924 X <- X[,-nacoef] } can.sim <- FALSE if (listw$style %in% c("W", "S")) can.sim <- can.be.simmed(listw) sum_lw <- sum(log(weights)) # env <- new.env(parent=globalenv()) env <- new.env() assign("Y", Y, envir=env) assign("X", X, envir=env) assign("n", n, envir=env) assign("weights", weights, envir=env) assign("can.sim", can.sim, envir=env) assign("family", family, envir=env) assign("method", method, envir=env) assign("verbose", verbose, envir=env) assign("listw", listw, envir=env) assign("sum_lw", sum_lw, envir=env) W <- as(listw, "CsparseMatrix") if (family == "CAR") if (!isTRUE(all.equal(W, t(W)))) warning("Non-symmetric spatial weights in CAR model") assign("W", W, envir=env) I <- as_dsCMatrix_I(n) assign("I", I, envir=env) Sweights <- as(as(Diagonal(x=weights), "symmetricMatrix"), "CsparseMatrix") assign("Sweights", Sweights, envir=env) timings[["set_up"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() if (verbose) cat(paste("\nJacobian calculated using ")) interval <- jacobianSetup(method, env, con, pre_eig=con$pre_eig, trs=trs, interval=interval) assign("interval", interval, envir=env) # fix SMA bounds if (family == "SMA") interval <- -rev(interval) nm <- paste(method, "set_up", sep="_") timings[[nm]] <- proc.time() - .ptime_start .ptime_start <- proc.time() if (!is.null(llprof)) { if (length(llprof) == 1L) llprof <- seq(interval[1], interval[2], length.out=llprof) ll_prof <- numeric(length(llprof)) for (i in seq(along=llprof)) ll_prof[i] <- .opt.fit(llprof[i], env=env, tol.solve=tol.solve) nm <- paste(method, "profile", sep="_") timings[[nm]] <- proc.time() - .ptime_start .ptime_start <- proc.time() } opt <- optimize(.opt.fit, interval=interval, maximum=TRUE, tol = con$tol.opt, env=env, tol.solve=tol.solve) lambda <- opt$maximum if (isTRUE(all.equal(lambda, interval[1])) || isTRUE(all.equal(lambda, interval[2]))) warning("lambda on interval bound - results should not be used") names(lambda) <- "lambda" LL <- opt$objective nm <- paste(method, "opt", sep="_") timings[[nm]] <- proc.time() - .ptime_start .ptime_start <- proc.time() # get GLS coefficients fit <- .SPAR.fit(lambda=lambda, env, out=TRUE, tol.solve=tol.solve) # create residuals and fitted values (Cressie 1993, p. 564) fit$signal_trend <- drop(X %*% fit$coefficients) fit$signal_stochastic <- drop(lambda * W %*% (Y - fit$signal_trend)) fit$fitted.values <- fit$signal_trend + fit$signal_stochastic fit$residuals <- drop(Y - fit$fitted.values) # get null LL LL0 <- .opt.fit(lambda=0, env, tol.solve=tol.solve) # NK null LLNullLlm <- logLik(lm(Y ~ 1, weights=weights)) nm <- paste(method, "output", sep="_") timings[[nm]] <- proc.time() - .ptime_start .ptime_start <- proc.time() # if (method != "eigen") { # if (con$small >= n && con$small_asy) do_asy <- TRUE # else do_asy <- FALSE # } else do_asy <- TRUE do_asy <- FALSE if (is.null(con$fdHess)) { con$fdHess <- !do_asy #&& method != "eigen" fdHess <- NULL } stopifnot(is.logical(con$fdHess)) lambda.se <- NULL if (con$fdHess) { coefs <- c(lambda, fit$coefficients) fdHess <- getVcovmat(coefs, env, tol.solve=tol.solve, optim=con$optimHess, optimM=con$optimHessMethod) lambda.se <- sqrt(fdHess[1, 1]) } timings[["fdHess"]] <- proc.time() - .ptime_start rm(env) GC <- gc() res <- list(fit=fit, lambda=lambda, LL=LL, LL0=LL0, call=match.call(), parameters=(ncol(X)+2), aliased=aliased, method=method, family=family, zero.policy=zero.policy, weights=weights, interval=interval, trs=trs, timings=do.call("rbind", timings)[, c(1, 3)], LLNullLlm=LLNullLlm, fdHess=fdHess, lambda.se=lambda.se, X=X, Y=Y) if (!is.null(na.act)) res$na.action <- na.act if (is.null(llprof)) res$llprof <- llprof else { res$llprof <- list(lambda=llprof, ll=ll_prof) } if (zero.policy) { zero.regs <- attr(listw$neighbours, "region.id")[which(card(listw$neighbours) == 0)] if (length(zero.regs) > 0L) attr(res, "zero.regs") <- zero.regs } class(res) <- "spautolm" res } .opt.fit <- function(lambda, env, tol.solve=.Machine$double.eps) { # fitting function called from optimize() SSE <- .SPAR.fit(lambda=lambda, env=env, out=FALSE, tol.solve=tol.solve) n <- get("n", envir=env) s2 <- SSE/n ldet <- do_ldet(lambda, env) det <- ifelse(get("family", envir=env) == "CAR", 0.5*ldet, ldet) ret <- (det + (1/2)*get("sum_lw", envir=env) - ((n/2)*log(2*pi)) - (n/2)*log(s2) - (1/(2*(s2)))*SSE) if (get("verbose", envir=env)) cat("lambda:", lambda, "function:", ret, "Jacobian", ldet, "SSE", SSE, "\n") ret } .SPAR.fit <- function(lambda, env, out=FALSE, tol.solve=.Machine$double.eps) { dmmf <- eval(parse(text=get("family", envir=env))) if (get("family", envir=env) == "SMA") IlW <- dmmf((get("I", envir=env) + lambda * get("W", envir=env)), get("Sweights", envir=env)) else IlW <- dmmf((get("I", envir=env) - lambda * get("W", envir=env)), get("Sweights", envir=env)) X <- get("X", envir=env) Y <- get("Y", envir=env) imat <- base::solve(crossprod(X, as.matrix(IlW %*% X)), tol=tol.solve) coef <- crossprod(imat, crossprod(X, as.matrix(IlW %*% Y))) fitted <- X %*% coef residuals <- Y - fitted SSE <- c(crossprod(residuals, as.matrix(IlW %*% residuals))) if (!out) return(SSE) n <- get("n", envir=env) s2 <- SSE/n # var <- s2 * diag(imat) coef <- c(coef) names(coef) <- colnames(X) res <- list(coefficients=coef, SSE=c(SSE), s2=c(s2), imat=imat, N=length(residuals)) res } # Simultaneous autoregressive SAR <- function(IlW, weights) { t(IlW) %*% weights %*% IlW } # Conditional autoregressive CAR <- function(IlW, weights) { IlW %*% weights } # Spatial moving average SMA <- function(IlW, weights) { IlW <- solve(IlW) t(IlW) %*% weights %*% IlW } print.spautolm <- function(x, ...) { if (isTRUE(all.equal(x$lambda, x$interval[1])) || isTRUE(all.equal(x$lambda, x$interval[2]))) warning("lambda on interval bound - results should not be used") cat("\nCall:\n") print(x$call) cat("\nCoefficients:\n") print(coef(x)) cat("\nLog likelihood:", logLik(x), "\n") invisible(x) } residuals.spautolm <- function(object, ...) { if (is.null(object$na.action)) object$fit$residuals else napredict(object$na.action, object$fit$residuals) } fitted.spautolm <- function(object, ...) { if (is.null(object$na.action)) object$fit$fitted.values else napredict(object$na.action, object$fit$fitted.values) } deviance.spautolm <- function(object, ...) { object$SSE } coef.spautolm <- function(object, ...) { c(object$fit$coefficients, object$lambda) } logLik.spautolm <- function(object, ...) { LL <- c(object$LL) class(LL) <- "logLik" N <- object$fit$N attr(LL, "nall") <- N attr(LL, "nobs") <- N attr(LL, "df") <- object$parameters LL } LR1.spautolm <- function(object) { if (!inherits(object, "spautolm")) stop("Not a spautolm object") LLx <- logLik(object) LLy <- object$LL0 statistic <- 2*(LLx - LLy) attr(statistic, "names") <- "Likelihood ratio" parameter <- 1 attr(parameter, "names") <- "df" p.value <- 1 - pchisq(abs(statistic), parameter) estimate <- c(LLx, LLy) attr(estimate, "names") <- c(paste("Log likelihood of spatial regression fit"), paste("Log likelihood of OLS fit", deparse(substitute(y)))) method <- "Likelihood Ratio diagnostics for spatial dependence" res <- list(statistic=statistic, parameter=parameter, p.value=p.value, estimate=estimate, method=method) class(res) <- "htest" res } summary.spautolm <- function(object, correlation = FALSE, adj.se=FALSE, Nagelkerke=FALSE, ...) { N <- object$fit$N adj <- ifelse (adj.se, N/(N-length(object$fit$coefficients)), 1) object$fit$s2 <- object$fit$s2*adj object$resvar <- object$fit$s2*object$fit$imat rownames(object$resvar) <- colnames(object$resvar) <- names(object$fit$coefficients) object$adj.se <- adj.se object$rest.se <- sqrt(diag(object$resvar)) object$Coef <- cbind(object$fit$coefficients, object$rest.se, object$fit$coefficients/object$rest.se, 2*(1-pnorm(abs(object$fit$coefficients/object$rest.se)))) colnames(object$Coef) <- c("Estimate", "Std. Error", ifelse(adj.se, "t value", "z value"), "Pr(>|z|)") if (Nagelkerke) { nk <- NK.sarlm(object) if (!is.null(nk)) object$NK <- nk } if (correlation) { object$correlation <- diag((diag(object$resvar)) ^(-1/2)) %*% object$resvar %*% diag((diag(object$resvar))^(-1/2)) dimnames(object$correlation) <- dimnames(object$resvar) } object$LR1 <- LR1.spautolm(object) rownames(object$Coef) <- names(object$fit$coefficients) structure(object, class=c("summary.spautolm", class(object))) } print.summary.spautolm <- function(x, digits = max(5, .Options$digits - 3), signif.stars = FALSE, ...) { cat("\nCall: ", deparse(x$call), sep = "", fill=TRUE) if (isTRUE(all.equal(x$lambda, x$interval[1])) || isTRUE(all.equal(x$lambda, x$interval[2]))) warning("lambda on interval bound - results should not be used") cat("\nResiduals:\n") resid <- residuals(x) nam <- c("Min", "1Q", "Median", "3Q", "Max") rq <- if (length(dim(resid)) == 2L) structure(apply(t(resid), 1, quantile), dimnames = list(nam, dimnames(resid)[[2]])) else structure(quantile(resid), names = nam) print(rq, digits = digits, ...) if (x$zero.policy) { zero.regs <- attr(x, "zero.regs") if (!is.null(zero.regs)) cat("\nRegions with no neighbours included:\n", zero.regs, "\n") } cat("\nCoefficients:", x$coeftitle, "\n") coefs <- x$Coef if (!is.null(aliased <- x$aliased) && any(x$aliased)){ cat(" (", table(aliased)["TRUE"], " not defined because of singularities)\n", sep = "") cn <- names(aliased) coefs <- matrix(NA, length(aliased), 4, dimnames = list(cn, colnames(x$Coef))) coefs[!aliased, ] <- x$Coef } printCoefmat(coefs, signif.stars=signif.stars, digits=digits, na.print="NA") res <- x$LR1 cat("\nLambda:", format(signif(x$lambda, digits)), "LR test value:", format(signif(res$statistic, digits)), "p-value:", format.pval(res$p.value, digits), "\n") if (!is.null(x$lambda.se)) cat("Numerical Hessian standard error of lambda:", format(signif(x$lambda.se, digits)), "\n") cat("\nLog likelihood:", logLik(x), "\n") if (x$adj.se) cat("Residual variance (sigma squared): ") else cat("ML residual variance (sigma squared): ") cat(format(signif(x$fit$s2, digits)), ", (sigma: ", format(signif(sqrt(x$fit$s2), digits)), ")\n", sep="") cat("Number of observations:", x$fit$N, "\n") cat("Number of parameters estimated:", x$parameters, "\n") cat("AIC: ", format(signif(AIC(x), digits)), "\n", sep="") if (!is.null(x$NK)) cat("Nagelkerke pseudo-R-squared:", format(signif(x$NK, digits)), "\n") correl <- x$correlation if (!is.null(correl)) { p <- NCOL(correl) if (p > 1) { cat("\nCorrelation of Coefficients:\n") correl <- format(round(correl, 2), nsmall = 2, digits = digits) correl[!lower.tri(correl)] <- "" print(correl[-1, -p, drop = FALSE], quote = FALSE) } } cat("\n") invisible(x) } getVcovmat <- function(coefs, env, tol.solve=.Machine$double.eps, optim=FALSE, optimM="optimHess") { if (optim) { if (optimM == "nlm") { options(warn=-1) opt <- nlm(f=f_spautolm_hess_nlm, p=coefs, env=env, hessian=TRUE) options(warn=0) mat <- opt$hessian # opt <- optimHess(par=coefs, fn=f_laglm_hess, env=env) # mat <- opt } else if (optimM == "optimHess") { mat <- optimHess(par=coefs, fn=f_spautolm_hess, env=env) } else { opt <- optim(par=coefs, fn=f_spautolm_hess, env=env, method=optimM, hessian=TRUE) mat <- opt$hessian } # opt <- optimHess(par=coefs, fn=f_spautolm_hess, env=env) # mat <- opt } else { fd <- fdHess(coefs, f_spautolm_hess, env) mat <- fd$Hessian } res <- solve(-(mat), tol.solve=tol.solve) res } f_spautolm_hess_nlm <- function(coefs, env) { ret <- f_spautolm_hess(coefs, env) -ret } f_spautolm_hess <- function(coefs, env) { lambda <- coefs[1] int <- get("interval", envir=env) if (lambda <= int[1] || lambda >= int[2]) return(-Inf) beta <- coefs[-1] X <- get("X", envir=env) Y <- get("Y", envir=env) fitted <- X %*% beta residuals <- Y - fitted dmmf <- eval(parse(text=get("family", envir=env))) if (get("family", envir=env) == "SMA") IlW <- dmmf((get("I", envir=env) + lambda * get("W", envir=env)), get("Sweights", envir=env)) else IlW <- dmmf((get("I", envir=env) - lambda * get("W", envir=env)), get("Sweights", envir=env)) SSE <- c(crossprod(residuals, as.matrix(IlW %*% residuals))) n <- get("n", envir=env) s2 <- SSE/n ldet <- do_ldet(lambda, env) det <- ifelse(get("family", envir=env) == "CAR", 0.5*ldet, ldet) ret <- (det + (1/2)*get("sum_lw", envir=env) - ((n/2)*log(2*pi)) - (n/2)*log(s2) - (1/(2*(s2)))*SSE) if (get("verbose", envir=env)) cat("lambda:", lambda, "function:", ret, "Jacobian", ldet, "SSE", SSE, "\n") if (!is.finite(ret)) return(-Inf) ret } spdep/R/lag.spsarlm.R0000644000176200001440000002522712732033156014146 0ustar liggesusers# Copyright 1998-2012 by Roger Bivand and Andrew Bernat # lagsarlm <- function(formula, data = list(), listw, na.action, type="lag", method="eigen", quiet=NULL, zero.policy=NULL, interval=NULL, tol.solve=1.0e-10, trs=NULL, control=list()) { timings <- list() .ptime_start <- proc.time() con <- list(tol.opt=.Machine$double.eps^0.5, fdHess=NULL, optimHess=FALSE, optimHessMethod="optimHess", compiled_sse=FALSE, Imult=2, cheb_q=5, MC_p=16L, MC_m=30L, super=NULL, spamPivot="MMD", in_coef=0.1, type="MC", correct=TRUE, trunc=TRUE, SE_method="LU", nrho=200, interpn=2000, small_asy=TRUE, small=1500, SElndet=NULL, LU_order=FALSE, pre_eig=NULL) nmsC <- names(con) con[(namc <- names(control))] <- control if (length(noNms <- namc[!namc %in% nmsC])) warning("unknown names in control: ", paste(noNms, collapse = ", ")) if (is.null(quiet)) quiet <- !get("verbose", envir = .spdepOptions) stopifnot(is.logical(quiet)) if (is.null(zero.policy)) zero.policy <- get.ZeroPolicyOption() stopifnot(is.logical(zero.policy)) if (class(formula) != "formula") formula <- as.formula(formula) mt <- terms(formula, data = data) mf <- lm(formula, data, na.action=na.action, method="model.frame") na.act <- attr(mf, "na.action") if (!inherits(listw, "listw")) stop("No neighbourhood list") can.sim <- FALSE if (listw$style %in% c("W", "S")) can.sim <- can.be.simmed(listw) if (!is.null(na.act)) { subset <- !(1:length(listw$neighbours) %in% na.act) listw <- subset(listw, subset, zero.policy=zero.policy) } if (type == "Durbin") type <- "mixed" switch(type, lag = if (!quiet) cat("\nSpatial lag model\n"), mixed = if (!quiet) cat("\nSpatial mixed autoregressive model\n"), stop("\nUnknown model type\n")) y <- model.extract(mf, "response") x <- model.matrix(mt, mf) if (NROW(x) != length(listw$neighbours)) stop("Input data and weights have different dimensions") n <- NROW(x) m <- NCOL(x) stopifnot(is.logical(con$small_asy)) if (method != "eigen") { if (con$small >= n && con$small_asy) do_asy <- TRUE else do_asy <- FALSE } else do_asy <- TRUE if (is.null(con$fdHess)) { con$fdHess <- method != "eigen" && !do_asy fdHess <- NULL } stopifnot(is.logical(con$fdHess)) xcolnames <- colnames(x) K <- ifelse(xcolnames[1] == "(Intercept)", 2, 1) wy <- lag.listw(listw, y, zero.policy=zero.policy) if (any(is.na(wy))) stop("NAs in lagged dependent variable") if (type != "lag") { WX <- create_WX(x, listw, zero.policy=zero.policy, prefix="lag") x <- cbind(x, WX) m <- NCOL(x) rm(WX) } # added aliased after trying boston with TOWN dummy lm.base <- lm(y ~ x - 1) aliased <- is.na(coefficients(lm.base)) cn <- names(aliased) names(aliased) <- substr(cn, 2, nchar(cn)) if (any(aliased)) { nacoef <- which(aliased) x <- x[,-nacoef] } LL_null_lm <- logLik(lm(y ~ 1)) m <- NCOL(x) similar <- FALSE lm.null <- lm(y ~ x - 1) logLik_lm.model <- logLik(lm.null) AIC_lm.model <- AIC(lm.null) lm.w <- lm.fit(x, wy) e.null <- lm.null$residuals e.w <- lm.w$residuals e.a <- t(e.null) %*% e.null e.b <- t(e.w) %*% e.null e.c <- t(e.w) %*% e.w # env <- new.env(parent=globalenv()) env <- new.env() assign("y", y, envir=env) assign("wy", wy, envir=env) assign("x", x, envir=env) assign("n", n, envir=env) assign("m", m, envir=env) assign("K", K, envir=env) assign("e.a", e.a, envir=env) assign("e.b", e.b, envir=env) assign("e.c", e.c, envir=env) assign("family", "SAR", envir=env) assign("verbose", !quiet, envir=env) assign("compiled_sse", con$compiled_sse, envir=env) assign("can.sim", can.sim, envir=env) assign("listw", listw, envir=env) assign("similar", FALSE, envir=env) assign("f_calls", 0L, envir=env) assign("hf_calls", 0L, envir=env) timings[["set_up"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() if (!quiet) cat("Jacobian calculated using ") interval <- jacobianSetup(method, env, con, pre_eig=con$pre_eig, trs=trs, interval=interval) assign("interval", interval, envir=env) nm <- paste(method, "set_up", sep="_") timings[[nm]] <- proc.time() - .ptime_start .ptime_start <- proc.time() opt <- optimize(sar.lag.mixed.f, interval=interval, maximum=TRUE, tol=con$tol.opt, env=env) rho <- opt$maximum if (isTRUE(all.equal(rho, interval[1])) || isTRUE(all.equal(rho, interval[2]))) warning("rho on interval bound - results should not be used") names(rho) <- "rho" LL <- opt$objective optres <- opt nm <- paste(method, "opt", sep="_") timings[[nm]] <- proc.time() - .ptime_start .ptime_start <- proc.time() lm.lag <- lm((y - rho*wy) ~ x - 1) r <- residuals(lm.lag) fit <- y - r names(r) <- names(fit) coef.rho <- coefficients(lm.lag) tarX <- model.matrix(lm.lag) tary <- model.response(model.frame(lm.lag)) names(coef.rho) <- colnames(x) SSE <- deviance(lm.lag) s2 <- SSE/n timings[["coefs"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() assign("first_time", TRUE, envir=env) LMtest <- NULL varb <- FALSE ase <- FALSE force_assign_eigen <- FALSE if (method == "eigen" || do_asy) { rest.se <- NULL rho.se <- NULL tr <- function(A) sum(diag(A)) # beware of complex eigenvalues! if (do_asy && method != "eigen") eigen_setup(env) eig <- get("eig", envir=env) O <- (eig/(1-rho*eig))^2 omega <- sum(O) if (is.complex(omega)) omega <- Re(omega) W <- listw2mat(listw) A <- solve(diag(n) - rho*W) AW <- A %*% W zero <- rbind(rep(0,length(coef.rho))) xtawxb <- s2*(t(x) %*% AW %*% x %*% coef.rho) # V <- s2*(s2*tr(t(AW) %*% AW) + # t(AW %*% x %*% coef.rho) %*% # (AW %*% x %*% coef.rho)) + omega*s2^2 V <- s2*(s2*tr(crossprod(AW)) + crossprod(AW %*% x %*% coef.rho)) + omega*s2^2 inf1 <- rbind(n/2, s2*tr(AW), t(zero)) inf2 <- rbind(s2*tr(AW), V, xtawxb) # xtx <- s2*t(x) %*% x xtx <- s2*crossprod(x) inf3 <- rbind(zero, t(xtawxb), xtx) inf <- cbind(inf1, inf2, inf3) varb <- try(solve(inf, tol=tol.solve), silent=TRUE) if (class(varb) == "try-error") { timings[["eigen_se"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() con$fdHess <- TRUE force_assign_eigen <- TRUE warning(paste("inversion of asymptotic covariance", "matrix failed for tol.solve =", tol.solve, "\n", strsplit(attr(varb, "condition")$message, ":")[[1]][2], "- using numerical Hessian.")) } else { varb <- (s2^2) * varb rownames(varb) <- colnames(varb) <- c("sigma", "rho", colnames(x)) rest.se <- sqrt(diag(varb))[-c(1:2)] rho.se <- sqrt(varb[2,2]) TW <- (W %*% W) + crossprod(W) T22 <- sum(diag(TW)) T21A <- sum(diag(TW %*% A)) LMtest <- ((t(r) %*% W %*% r)/s2)^2 LMtest <- LMtest/(T22 - ((T21A^2)*(rho.se^2))) ase <- TRUE timings[["eigen_se"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() } } if (con$fdHess) { coefs <- c(rho, coef.rho) if (con$compiled_sse) { ptr <- .Call("hess_lag_init", PACKAGE="spdep") assign("ptr", ptr, envir=env) } fdHess <- getVmatl(coefs, env, s2, trs, tol.solve=tol.solve, optim=con$optimHess, optimM=con$optimHessMethod) if (con$compiled_sse) { .Call("hess_lag_free", get("ptr", envir=env), PACKAGE="spdep") } if (is.null(trs)) { rownames(fdHess) <- colnames(fdHess) <- c("rho", colnames(x)) } else { rownames(fdHess) <- colnames(fdHess) <- c("sigma2", "rho", colnames(x)) } if (is.null(trs)) { if (method != "eigen" || force_assign_eigen) { rest.se <- sqrt(diag(fdHess)[-1]) rho.se <- sqrt(fdHess[1,1]) } } else { if (method != "eigen" || force_assign_eigen) { rest.se <- sqrt(diag(fdHess)[-c(1,2)]) rho.se <- sqrt(fdHess[2,2]) } } nm <- paste(method, "fdHess", sep="_") timings[[nm]] <- proc.time() - .ptime_start .ptime_start <- proc.time() } else fdHess <- FALSE call <- match.call() if (method=="SE_classic") { iC <- get("intern_classic", envir=env) } else iC <- NULL ret <- structure(list(type=type, rho=rho, coefficients=coef.rho, rest.se=rest.se, LL=LL, s2=s2, SSE=SSE, parameters=(m+2), #lm.model=lm.null, logLik_lm.model=logLik_lm.model, AIC_lm.model=AIC_lm.model, method=method, call=call, residuals=r, opt=optres, tarX=tarX, tary=tary, y=y, X=x, #lm.target=lm.lag, fitted.values=fit, se.fit=NULL, #formula=formula, similar=similar, ase=ase, rho.se=rho.se, LMtest=LMtest, resvar=varb, zero.policy=zero.policy, aliased=aliased, listw_style=listw$style, interval=interval, fdHess=fdHess, optimHess=con$optimHess, insert=!is.null(trs), trs=trs, LLNullLlm=LL_null_lm, timings=do.call("rbind", timings)[, c(1, 3)], f_calls=get("f_calls", envir=env), hf_calls=get("hf_calls", envir=env), intern_classic=iC), class=c("sarlm")) rm(env) GC <- gc() if (zero.policy) { zero.regs <- attr(listw$neighbours, "region.id")[which(card(listw$neighbours) == 0)] if (length(zero.regs) > 0L) attr(ret, "zero.regs") <- zero.regs } if (!is.null(na.act)) ret$na.action <- na.act ret } sar.lag.mixed.f <- function(rho, env) { e.a <- get("e.a", envir=env) e.b <- get("e.b", envir=env) e.c <- get("e.c", envir=env) SSE <- e.a - 2*rho*e.b + rho*rho*e.c n <- get("n", envir=env) s2 <- SSE/n ldet <- do_ldet(rho, env) ret <- (ldet - ((n/2)*log(2*pi)) - (n/2)*log(s2) - (1/(2*s2))*SSE) if (get("verbose", envir=env)) cat("rho:\t", rho, "\tfunction value:\t", ret, "\n") assign("f_calls", get("f_calls", envir=env)+1L, envir=env) ret } spdep/R/error.hessian.R0000644000176200001440000000536512671032524014506 0ustar liggesusers# Copyright 2009-2013 by Roger Bivand getVmate <- function(coefs, env, s2, trs, tol.solve=1.0e-10, optim=FALSE, optimM="optimHess") { if (optim) { if (optimM == "nlm") { options(warn=-1) opt <- nlm(f=f_laglm_hess_nlm, p=coefs, env=env, hessian=TRUE) options(warn=0) mat <- opt$hessian # opt <- optimHess(par=coefs, fn=f_laglm_hess, env=env) # mat <- opt } else if (optimM == "optimHess") { mat <- optimHess(par=coefs, fn=f_laglm_hess, env=env) } else { opt <- optim(par=coefs, fn=f_laglm_hess, env=env, method=optimM, hessian=TRUE) mat <- opt$hessian } # opt <- optimHess(par=coefs, fn=f_errlm_hess, env=env) # mat <- opt } else { fd <- fdHess(coefs, f_errlm_hess, env) mat <- fd$Hessian } if (!is.null(trs)) { mat <- insert_asye(coefs, env, s2, mat, trs) } res <- solve(-(mat), tol.solve=tol.solve) res } sar_error_hess_sse <- function(lambda, beta, env) { if (get("compiled_sse", envir=env)) { ft <- get("first_time", envir=env) SSE <- .Call("R_ml1_sse_env", env, lambda, beta, PACKAGE="spdep") if (ft) assign("first_time", FALSE, envir=env) } else { yl <- get("y", envir=env) - lambda * get("wy", envir=env) xl <- get("x", envir=env) - lambda * get("WX", envir=env) res <- get("sw", envir=env) * (yl - (xl %*% beta)) SSE <- c(crossprod(res)) } SSE } f_errlm_hess <- function(coefs, env) { lambda <- coefs[1] int <- get("interval", envir=env) if (lambda <= int[1] || lambda >= int[2]) return(-Inf) beta <- coefs[-1] SSE <- sar_error_hess_sse(lambda, beta, env) n <- get("n", envir=env) s2 <- SSE/n det <- do_ldet(lambda, env) ret <- (det + (1/2)*get("sum_lw", envir=env) - ((n/2) * log(2 * pi)) - (n/2) * log(s2) - (1/(2 * s2)) * SSE) if (get("verbose", envir=env)) cat("lambda:", lambda, " function:", ret, " Jacobian:", det, " SSE:", SSE, "\n") assign("hf_calls", get("hf_calls", envir=env)+1L, envir=env) if (!is.finite(ret)) return(-Inf) ret } insert_asye <- function(coefs, env, s2, mat, trs) { lambda <- coefs[1] p <- length(coefs)-1L p2 <- p+2 omat <- matrix(0, nrow=p2, ncol=p2) LX <- get("sw", envir=env) * (get("x", envir=env) - lambda * get("WX", envir=env)) # omat[3:p2, 3:p2] <- -crossprod(LX)*s2 # omat[3:p2, 3:p2] <- -crossprod(LX) omat[3:p2, 3:p2] <- -crossprod(LX)/s2 omat[2, 2] <- mat[1, 1] n <- get("n", envir=env) omat[1, 1] <- -n/(2*(s2^2)) # omat[1, 1] <- -n/(2*(s2)) omat[1, 2] <- omat[2, 1] <- -trB(lambda, trs)/s2 # omat[1, 2] <- omat[2, 1] <- -trB(lambda, trs) omat } spdep/R/lm.morantest.R0000644000176200001440000000635612522462401014344 0ustar liggesusers# Copyright 2001-2010 by Roger Bivand # lm.morantest <- function(model, listw, zero.policy=NULL, alternative = "greater", spChk=NULL, resfun=weighted.residuals, naSubset=TRUE) { if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) alternative <- match.arg(alternative, c("greater", "less", "two.sided")) listw_name <- deparse(substitute(listw)) if (!inherits(listw, "listw")) stop(paste(listw_name, "is not a listw object")) if(!inherits(model, "lm")) stop(paste(deparse(substitute(model)), "not an lm object")) na.act <- model$na.action if (!is.null(na.act) && naSubset) { subset <- !(1:length(listw$neighbours) %in% na.act) listw <- subset(listw, subset, zero.policy=zero.policy) } # 101124 Aleksandr Andreev N <- as.double(length(listw$neighbours)) u <- resfun(model) if (N != length(u)) stop("objects of different length") if (is.null(spChk)) spChk <- get.spChkOption() if (spChk && !chkIDs(u, listw)) stop("Check of data and weights ID integrity failed") u <- as.vector(u) listw.U <- listw2U(listw) S0 <- sum(unlist(listw.U$weights)) S1 <- 0.5 * sum((2*unlist(listw.U$weights))^2) lu <- lag.listw(listw.U, u, zero.policy=zero.policy) # 101125 Aleksandr Andreev if (zero.policy) N <- as.double(length(which(card(listw$neighbours) > 0L))) I <- (N/S0) * ((t(u) %*% lu) / (t(u) %*% u)) p <- model$rank p1 <- 1:p nacoefs <- which(is.na(coefficients(model))) XtXinv <- chol2inv(model$qr$qr[p1, p1, drop = FALSE]) X <- model.matrix(terms(model), model.frame(model)) # fixed after looking at TOWN dummy in Boston data if (length(nacoefs) > 0L) X <- X[,-nacoefs] if (!is.null(wts <- weights(model))) { # X <- sqrt(diag(wts)) %*% X X <- drop(t(sapply(1:length(wts), function(i) sqrt(wts[i])*X[i,]))) } # Cliff/Ord 1981, p. 203 Z <- lag.listw(listw.U, X, zero.policy=zero.policy) C1 <- t(X) %*% Z trA <- (sum(diag(XtXinv %*% C1))) EI <- -((N * trA) / ((N-p) * S0)) # minus changed from trA to EI (Luis Galvis, Dec 2, 2003) C2 <- t(Z) %*% Z C3 <- XtXinv %*% C1 trA2 <- sum(diag(C3 %*% C3)) trB <- sum(diag(4*(XtXinv %*% C2))) VI <- (((N*N)/((S0*S0)*(N-p)*(N-p+2))) * (S1 + 2*trA2 - trB - ((2*(trA^2))/(N-p)))) ZI <- (I - EI) / sqrt(VI) if (alternative == "two.sided") pv <- 2 * pnorm(abs(ZI), lower.tail=FALSE) else if (alternative == "greater") pv <- pnorm(ZI, lower.tail=FALSE) else pv <- pnorm(ZI) if (!is.finite(pv) || pv < 0 || pv > 1) warning("Out-of-range p-value: reconsider test arguments") statistic <- ZI attr(statistic, "names") <- "Moran I statistic standard deviate" p.value <- pv estimate <- c(I, EI, VI) attr(estimate, "names") <- c("Observed Moran I", "Expectation", "Variance") method <- "Global Moran I for regression residuals" data.name <- paste("\n", paste(strwrap(paste("model: ", gsub("[[:space:]]+", " ", paste(deparse(model$call), sep="", collapse="")))), collapse="\n"), "\nweights: ", listw_name, "\n", sep="") res <- list(statistic = statistic, p.value = p.value, estimate = estimate, method = method, alternative = alternative, data.name = data.name) class(res) <- "htest" res } spdep/R/lee_internal.R0000644000176200001440000000450012324523314014350 0ustar liggesusers#Equations to compute mean and variance of the L statistics # # Lee (2004). A generalized significance testing method for global measures # of spatial association: an extension of the Mantel test. # Environment and Planning A 2004, volume 36, pages 1687 - 1703 # Pmatrix<-function(W) { n<-nrow(W) II<-matrix(rep(1, n), ncol=1) P<-t(W)%*%W P<-P/((t(II)%*%(P%*%II))[1,1]) return(P) } Qmatrix<-function(x,y) { n<-length(x) Q<- outer(x-mean(x), y-mean(y)) /(((n-1)/n)*sd(x)*sd(y)) return(Q) } #Some quantities on the matrices, from Lee (2004), table 1, page 1690 PQquant<-function(M) { II<-matrix(rep(1, nrow(M)), ncol=1) aux<-list( Foff0=as.numeric(t(II)%*%(M%*%II)-sum(diag(M))), Fon0=sum(diag(M)), Foff1=sum(diag(t(M)%*%M))-sum(diag(M)^2), Fon1=sum(diag(M)^2), Foff2 = sum((M%*%II-diag(M))^2), Fall2 = as.numeric(sum((M%*%II)^2)) #as.numeric(t(II)%*%(t(M)%*%M)%*%II) ) return(aux) } #Values used to compute the expectation EGamma<-function(x, y, W, P=NULL, Q=NULL) { n<-length(x) if(is.null(P)) P<-PQquant(Pmatrix(W)) if(is.null(Q)) Q<-PQquant(Qmatrix(x,y)) xx<-list( EGammaoff = P$Foff0*Q$Foff0/(n*(n-1)), EGammaon = P$Fon0*Q$Fon0/n ) return(xx) } #Values used to compute the variance VarGamma<-function(x,y,W, P=NULL, Q=NULL) { n<-length(x) if(is.null(P)) P<-PQquant(Pmatrix(W)) if(is.null(Q)) Q<-PQquant(Qmatrix(x,y)) EG<-EGamma(x,y,W, P=P, Q=Q) #varGammaoff varGammaoff<-2*P$Foff1*Q$Foff1/(n*(n-1)) varGammaoff<-varGammaoff+4*(P$Foff2-P$Foff1)*(Q$Foff2-Q$Foff1)/(n*(n-1)*(n-2)) varGammaoff<-varGammaoff+((P$Foff0^2+2*P$Foff1-4*P$Foff2)*(Q$Foff0^2+2*Q$Foff1-4*Q$Foff2))/(n*(n-1)*(n-2)*(n-3)) varGammaoff<-varGammaoff-EG$EGammaoff^2 #VarGammaon varGammaon<- P$Fon1*Q$Fon1/n varGammaon<- varGammaon + (P$Fon0^2-P$Fon1)*(Q$Fon0^2-Q$Fon1)/(n*(n-1)) varGammaon<- varGammaon - EG$EGammaon^2 #Covarianza gammaon-off varGammaonoff<- (P$Fall2-P$Fon1-P$Foff2)*(Q$Fall2-Q$Fon1-Q$Foff2)/(2*n*(n-1)) varGammaonoff<-varGammaonoff+(P$Fon0*P$Foff0-(P$Fall2-P$Fon1-P$Foff2))*( Q$Fon0*Q$Foff0-(Q$Fall2-Q$Fon1-Q$Foff2) )/(n*(n-1)*(n-2)) varGammaonoff<-varGammaonoff - EG$EGammaoff*EG$EGammaon return(list(varGammaon=varGammaon,varGammaoff=varGammaoff, varGammaonoff=varGammaonoff)) } spdep/R/droplinks.R0000644000176200001440000000161411716033157013724 0ustar liggesusers# Copyright 2001-8 by Roger Bivand # droplinks <- function(nb, drop, sym=TRUE) { # class to inherits Jari Oksanen 080603 if (!inherits(nb, "nb")) stop("not a neighbours list") n <- length(nb) cnb <- card(nb) if (n < 1) stop("non-positive length of nb") if (is.logical(drop)) { if(length(drop) != n) stop("Argument lengths differ") idrop <- which(drop == TRUE) } else if(is.character(drop)) { row.names <- as.character(attr(nb, "region.id")) idrop <- match(drop, row.names) if(any(is.na(idrop))) stop("Region to drop not found") } else { idrop <- match(drop, 1:n) if(any(is.na(idrop))) stop("Region to drop not found") } if((attr(nb, "sym") == FALSE) && (sym == TRUE)) { warning("setting sym to FALSE") sym <- FALSE } for (i in idrop) { if (sym && cnb[i] > 0) { for (j in nb[[i]]) nb[[j]] <- nb[[j]][nb[[j]] != i] } nb[[i]] <- 0L } nb <- sym.attr.nb(nb) nb } spdep/R/geary.R0000644000176200001440000001501512522454645013033 0ustar liggesusers# Copyright 2001-9 by Roger Bivand # geary <- function(x, listw, n, n1, S0, zero.policy=NULL) { if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) stopifnot(is.vector(x)) z <- scale(x, scale=FALSE) zz <- sum(z^2) K <- (n*sum(z^4))/(zz^2) res <- geary.intern(x, listw, n, zero.policy, type="geary") C <- (n1 / (2*S0)) * (sum(res) / zz) res <- list(C=C, K=K) res } geary.intern <- function(x, listw, n, zero.policy=NULL, type="geary") { if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) cardnb <- card(listw$neighbours) if (type == "geary") ft <- TRUE else if (type == "sokal") ft <- FALSE else stop("type unknown") res <- .Call("gearyw", listw$neighbours, listw$weights, as.numeric(x), as.integer(cardnb), as.logical(zero.policy), as.logical(ft), PACKAGE="spdep") if (any(is.na(res))) warning("NAs in lagged values") res } geary.test <- function(x, listw, randomisation=TRUE, zero.policy=NULL, alternative="greater", spChk=NULL, adjust.n=TRUE) { if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) alternative <- match.arg(alternative, c("less", "greater", "two.sided")) if(!inherits(listw, "listw")) stop(paste(deparse(substitute(listw)), "is not a listw object")) if(!is.numeric(x)) stop(paste(deparse(substitute(x)), "is not a numeric vector")) if (any(is.na(x))) stop("NA in X") n <- length(listw$neighbours) if (n != length(x)) stop("objects of different length") if (is.null(spChk)) spChk <- get.spChkOption() if (spChk && !chkIDs(x, listw)) stop("Check of data and weights ID integrity failed") wc <- spweights.constants(listw, zero.policy, adjust.n=adjust.n) S02 <- wc$S0*wc$S0 res <- geary(x, listw, wc$n, wc$n1, wc$S0, zero.policy) C <- res$C if (is.na(C)) stop("NAs generated in geary - check zero.policy") K <- res$K EC <- 1 if(randomisation) { VC <- (wc$n1*wc$S1*(wc$nn - 3*n + 3 - K*wc$n1)) VC <- VC - ((1/4) * (wc$n1*wc$S2*(wc$nn + 3*n - 6 - K*(wc$nn - n + 2)))) VC <- VC + (S02*(wc$nn - 3 - K*(wc$n1^2))) VC <- VC / (n*wc$n2*wc$n3*S02) } else { VC <- ((2*wc$S1 + wc$S2)*wc$n1 - 4*S02) / (2*(n + 1)*S02) } # ZC <- (C - EC) / sqrt(VC) # order changed 090609 RSB (C&O 1973, p. 21) ZC <- (EC - C) / sqrt(VC) statistic <- ZC names(statistic) <- "Geary C statistic standard deviate" PrC <- NA if (is.finite(ZC)) { if (alternative == "two.sided") PrC <- 2 * pnorm(abs(ZC), lower.tail=FALSE) else if (alternative == "greater") PrC <- pnorm(ZC, lower.tail=FALSE) else PrC <- pnorm(ZC) if (!is.finite(PrC) || PrC < 0 || PrC > 1) warning("Out-of-range p-value: reconsider test arguments") } vec <- c(C, EC, VC) names(vec) <- c("Geary C statistic", "Expectation", "Variance") method <- paste("Geary C test under", ifelse(randomisation, "randomisation", "normality")) data.name <- paste(deparse(substitute(x)), "\nweights:", deparse(substitute(listw)), "\n") res <- list(statistic=statistic, p.value=PrC, estimate=vec, alternative=ifelse(alternative == "two.sided", alternative, paste("Expectation", alternative, "than statistic")), method=method, data.name=data.name) class(res) <- "htest" res } geary.mc <- function(x, listw, nsim, zero.policy=NULL, alternative="greater", spChk=NULL, adjust.n=TRUE, return_boot=FALSE) { if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) stopifnot(is.vector(x)) alternative <- match.arg(alternative, c("less", "greater")) if(!inherits(listw, "listw")) stop(paste(deparse(substitute(listw)), "is not a listw object")) if(!is.numeric(x)) stop(paste(deparse(substitute(x)), "is not a numeric vector")) if(missing(nsim)) stop("nsim must be given") if (any(is.na(x))) stop("NA in X") n <- length(listw$neighbours) if (n != length(x)) stop("objects of different length") if (is.null(spChk)) spChk <- get.spChkOption() if (spChk && !chkIDs(x, listw)) stop("Check of data and weights ID integrity failed") gamres <- suppressWarnings(nsim > gamma(n + 1)) if (gamres) stop("nsim too large for this number of observations") if (nsim < 1) stop("non-positive nsim") wc <- spweights.constants(listw, zero.policy, adjust.n=adjust.n) if (return_boot) { geary_boot <- function(var, i, ...) { var <- var[i] return(geary(x=var, ...)$C) } cores <- get.coresOption() if (is.null(cores)) { parallel <- "no" } else { parallel <- ifelse (get.mcOption(), "multicore", "snow") } ncpus <- ifelse(is.null(cores), 1L, cores) cl <- NULL if (parallel == "snow") { cl <- get.ClusterOption() if (is.null(cl)) { parallel <- "no" warning("no cluster in ClusterOption, parallel set to no") } } res <- boot(x, statistic=geary_boot, R=nsim, sim="permutation", listw=listw, n=n, n1=wc$n1, S0=wc$S0, zero.policy=zero.policy, parallel=parallel, ncpus=ncpus, cl=cl) return(res) } res <- numeric(length=nsim+1) for (i in 1:nsim) res[i] <- geary(sample(x), listw, n, wc$n1, wc$S0, zero.policy)$C res[nsim+1] <- geary(x, listw, n, wc$n1, wc$S0, zero.policy)$C rankres <- rank(res) xrank <- rankres[length(res)] diff <- nsim - xrank diff <- ifelse(diff > 0, diff, 0) # order changed 110411 RSB (C&O 1973, p. 21) Thanks to Daniel Garavito if (alternative == "greater") pval <- punif((diff + 1)/(nsim + 1), lower.tail=FALSE) else if (alternative == "less") pval <- punif((diff + 1)/(nsim + 1)) if (!is.finite(pval) || pval < 0 || pval > 1) warning("Out-of-range p-value: reconsider test arguments") statistic <- res[nsim+1] names(statistic) <- "statistic" parameter <- xrank names(parameter) <- "observed rank" method <- "Monte-Carlo simulation of Geary C" data.name <- paste(deparse(substitute(x)), "\nweights:", deparse(substitute(listw)), "\nnumber of simulations + 1:", nsim+1, "\n") lres <- list(statistic=statistic, parameter=parameter, p.value=pval, alternative=alternative, method=method, data.name=data.name, res=res) class(lres) <- c("htest", "mc.sim") lres } spdep/R/moran.plot.R0000644000176200001440000000356311716033157014015 0ustar liggesusers# Copyright 2001 by Roger Bivand # moran.plot <- function(x, listw, zero.policy=NULL, spChk=NULL, labels=NULL, xlab=NULL, ylab=NULL, quiet=NULL, ...) { if (!inherits(listw, "listw")) stop(paste(deparse(substitute(listw)), "is not a listw object")) if (is.null(quiet)) quiet <- !get("verbose", envir = .spdepOptions) stopifnot(is.vector(x)) stopifnot(is.logical(quiet)) if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) xname <- deparse(substitute(x)) if (!is.numeric(x)) stop(paste(xname, "is not a numeric vector")) if (any(is.na(x))) stop("NA in X") n <- length(listw$neighbours) if (n != length(x)) stop("objects of different length") if (is.null(spChk)) spChk <- get.spChkOption() if (spChk && !chkIDs(x, listw)) stop("Check of data and weights ID integrity failed") labs <- TRUE if (is.logical(labels) && !labels) labs <- FALSE if (is.null(labels) || length(labels) != n) labels <- as.character(attr(listw, "region.id")) wx <- lag.listw(listw, x, zero.policy=zero.policy) if (is.null(xlab)) xlab <- xname if (is.null(ylab)) ylab <- paste("spatially lagged", xname) plot(x, wx, xlab=xlab, ylab=ylab, ...) if (zero.policy) { n0 <- wx == 0.0 # bug found 100401 Paulo Grahl if (any(n0)) { symbols(x[n0], wx[n0], inches=FALSE, circles=rep(diff(range(x))/50, length(which(n0))), bg="grey", add=TRUE) } } xwx.lm <- lm(wx ~ x) abline(xwx.lm) abline(h=mean(wx), lty=2) abline(v=mean(x), lty=2) infl.xwx <- influence.measures(xwx.lm) is.inf <- which(apply(infl.xwx$is.inf, 1, any)) points(x[is.inf], wx[is.inf], pch=9, cex=1.2) if (labs) text(x[is.inf], wx[is.inf], labels=labels[is.inf], pos=2, cex=0.7) rownames(infl.xwx$infmat) <- labels if (!quiet) summary(infl.xwx) invisible(infl.xwx) } spdep/R/error.spsarlm.R0000644000176200001440000005515612770451462014546 0ustar liggesusers# Copyright 1998-2016 by Roger Bivand (non-W styles Rein Halbersma) # errorsarlm <- function(formula, data = list(), listw, na.action, weights=NULL, etype="error", method="eigen", quiet=NULL, zero.policy=NULL, interval=NULL, tol.solve=1.0e-10, trs=NULL, control=list()) { timings <- list() .ptime_start <- proc.time() con <- list(tol.opt=.Machine$double.eps^0.5, returnHcov=TRUE, pWOrder=250, fdHess=NULL, optimHess=FALSE, optimHessMethod="optimHess", LAPACK=FALSE, compiled_sse=FALSE, Imult=2, cheb_q=5, MC_p=16, MC_m=30, super=NULL, spamPivot="MMD", in_coef=0.1, type="MC", correct=TRUE, trunc=TRUE, SE_method="LU", nrho=200, interpn=2000, small_asy=TRUE, small=1500, SElndet=NULL, LU_order=FALSE, pre_eig=NULL) nmsC <- names(con) con[(namc <- names(control))] <- control if (length(noNms <- namc[!namc %in% nmsC])) warning("unknown names in control: ", paste(noNms, collapse = ", ")) if (is.null(quiet)) quiet <- !get("verbose", envir = .spdepOptions) stopifnot(is.logical(quiet)) if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) if (!inherits(listw, "listw")) stop("No neighbourhood list") stopifnot(is.logical(con$optimHess)) stopifnot(is.logical(con$LAPACK)) # stopifnot(is.logical(con$super)) stopifnot(is.logical(con$compiled_sse)) stopifnot(is.character(con$spamPivot)) if (class(formula) != "formula") formula <- as.formula(formula) # mt <- terms(formula, data = data) # mf <- lm(formula, data, na.action=na.action, method="model.frame") # mf <- match.call(expand.dots = FALSE) m <- match(c("formula", "data", "weights", "na.action"), names(mf), 0) mf <- mf[c(1, m)] mf$drop.unused.levels <- TRUE mf[[1]] <- as.name("model.frame") mf <- eval(mf, parent.frame()) mt <- attr(mf, "terms") # na.act <- attr(mf, "na.action") if (!is.null(na.act)) { subset <- !(1:length(listw$neighbours) %in% na.act) listw <- subset(listw, subset, zero.policy=zero.policy) } switch(etype, error = if (!quiet) cat("\nSpatial autoregressive error model\n"), emixed = if (!quiet) cat("\nSpatial mixed autoregressive error model\n"), stop("\nUnknown model type\n")) y <- model.response(mf, "numeric") if (any(is.na(y))) stop("NAs in dependent variable") x <- model.matrix(mt, mf) if (any(is.na(x))) stop("NAs in independent variable") n <- nrow(x) if (n != length(listw$neighbours)) stop("Input data and neighbourhood list have different dimensions") # weights <- as.vector(model.extract(mf, "weights")) if (!is.null(weights) && !is.numeric(weights)) stop("'weights' must be a numeric vector") if (is.null(weights)) weights <- rep(as.numeric(1), n) if (any(is.na(weights))) stop("NAs in weights") if (any(weights < 0)) stop("negative weights") # m <- NCOL(x) xxcolnames <- colnames(x) stopifnot(is.logical(con$small_asy)) if (method != "eigen") { if (con$small >= n && con$small_asy) do_asy <- TRUE else do_asy <- FALSE } else do_asy <- TRUE if (is.null(con$fdHess)) { con$fdHess <- method != "eigen" && !do_asy fdHess <- NULL } stopifnot(is.logical(con$fdHess)) if (etype == "emixed") { WX <- create_WX(x, listw, zero.policy=zero.policy, prefix="lag") x <- cbind(x, WX) m <- NCOL(x) rm(WX) } # added aliased after trying boston with TOWN dummy lm.base <- lm(y ~ x - 1, weights=weights) aliased <- is.na(coefficients(lm.base)) cn <- names(aliased) names(aliased) <- substr(cn, 2, nchar(cn)) if (any(aliased)) { nacoef <- which(aliased) x <- x[,-nacoef] } # sw <- sqrt(weights) # LL_null_lm <- NULL if ("(Intercept)" %in% colnames(x)) LL_null_lm <- logLik(lm(y ~ 1)) m <- NCOL(x) xcolnames <- colnames(x) K <- ifelse(xcolnames[1] == "(Intercept)", 2, 1) wy <- lag.listw(listw, y, zero.policy=zero.policy) if (any(is.na(wy))) stop("NAs in lagged dependent variable") # added no intercept Guillaume Blanchet 091103 if (m > 1 || (m == 1 && K == 1)) { WX <- matrix(nrow=n,ncol=(m-(K-1))) for (k in K:m) { wx <- lag.listw(listw, x[,k], zero.policy=zero.policy) if (any(is.na(wx))) stop("NAs in lagged independent variable") WX[,(k-(K-1))] <- wx } } if (K == 2) { # modified to meet other styles, email from Rein Halbersma wx1 <- as.double(rep(1, n)) wx <- lag.listw(listw, wx1, zero.policy=zero.policy) if (m > 1) WX <- cbind(wx, WX) else WX <- matrix(wx, nrow=n, ncol=1) } colnames(WX) <- xcolnames rm(wx) can.sim <- FALSE if (listw$style %in% c("W", "S")) can.sim <- can.be.simmed(listw) sum_lw <- sum(log(weights)) # env <- new.env(parent=globalenv()) env <- new.env() assign("y", y, envir=env) assign("x", x, envir=env) assign("wy", wy, envir=env) assign("WX", WX, envir=env) assign("n", n, envir=env) assign("p", m, envir=env) assign("verbose", !quiet, envir=env) assign("family", "SAR", envir=env) assign("compiled_sse", con$compiled_sse, envir=env) assign("first_time", TRUE, envir=env) assign("LAPACK", con$LAPACK, envir=env) assign("can.sim", can.sim, envir=env) assign("listw", listw, envir=env) assign("similar", FALSE, envir=env) assign("f_calls", 0L, envir=env) assign("hf_calls", 0L, envir=env) assign("sum_lw", sum_lw, envir=env) assign("sw", sw, envir=env) timings[["set_up"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() if (!quiet) cat(paste("\nJacobian calculated using ")) interval <- jacobianSetup(method, env, con, pre_eig=con$pre_eig, trs=trs, interval=interval) assign("interval", interval, envir=env) nm <- paste(method, "set_up", sep="_") timings[[nm]] <- proc.time() - .ptime_start .ptime_start <- proc.time() if (con$compiled_sse) { ptr <- .Call("opt_error_init", PACKAGE="spdep") assign("ptr", ptr, envir=env) } opt <- optimize(sar.error.f, interval=interval, maximum=TRUE, tol=con$tol.opt, env=env) lambda <- opt$maximum if (isTRUE(all.equal(lambda, interval[1])) || isTRUE(all.equal(lambda, interval[2]))) warning("lambda on interval bound - results should not be used") names(lambda) <- "lambda" LL <- opt$objective if (con$compiled_sse) { .Call("opt_error_free", get("ptr", envir=env), PACKAGE="spdep") } nm <- paste(method, "opt", sep="_") timings[[nm]] <- proc.time() - .ptime_start .ptime_start <- proc.time() lm.target <- lm(I(y - lambda*wy) ~ I(x - lambda*WX) - 1, weights=weights) r <- as.vector(residuals(lm.target)) fit <- as.vector(y - r) p <- lm.target$rank SSE <- deviance(lm.target) s2 <- SSE/n rest.se <- (summary(lm.target)$coefficients[,2])*sqrt((n-p)/n) coef.lambda <- coefficients(lm.target) names(coef.lambda) <- xcolnames sum_lm_target <- summary.lm(lm.target, correlation = FALSE) emixedImps <- NULL if (etype == "emixed") { odd <- (m%/%2) > 0 if (odd) { m2 <- (m-1)/2 } else { m2 <- m/2 } if (K == 1 && odd) { warning("model configuration issue: no total impacts") } else { cm <- matrix(0, ncol=m, nrow=m2) if (K == 2) { if (odd) { rownames(cm) <- xxcolnames[2:(m2+1)] } else { rownames(cm) <- xxcolnames[1:m2] } for (i in 1:m2) cm[i, c(i+1, i+(m2+1))] <- 1 # drop bug fix 2016-09-21 Philipp Hunziker dirImps <- sum_lm_target$coefficients[2:(m2+1), 1:2, drop=FALSE] rownames(dirImps) <- rownames(cm) indirImps <- sum_lm_target$coefficients[(m2+2):m, 1:2, drop=FALSE] rownames(indirImps) <- rownames(cm) } else { rownames(cm) <- xxcolnames[1:m2] for (i in 1:m2) cm[i, c(i, i+m2)] <- 1 dirImps <- sum_lm_target$coefficients[1:m2, 1:2, drop=FALSE] rownames(dirImps) <- rownames(cm) indirImps <- sum_lm_target$coefficients[(m2+1):m, 1:2, drop=FALSE] rownames(indirImps) <- rownames(cm) } } totImps <- as.matrix(estimable(lm.target, cm)[, 1:2, drop=FALSE]) emixedImps <- list(dirImps=dirImps, indirImps=indirImps, totImps=totImps) } Vs <- sum_lm_target$cov.unscaled tarX <- model.matrix(lm.target) tary <- model.response(model.frame(lm.target)) lm.model <- lm(y ~ x - 1, weights=weights) logLik_lm.model <- logLik(lm.model) AIC_lm.model <- AIC(lm.model) ase <- FALSE lambda.se <- NULL LMtest <- NULL asyvar1 <- FALSE force_assign_eigen <- FALSE Hcov <- NULL pWinternal <- NULL timings[["coefs"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() assign("first_time", TRUE, envir=env) if (method == "eigen" || do_asy) { tr <- function(A) sum(diag(A)) W <- listw2mat(listw) A <- solve(diag(n) - lambda*W) if (con$returnHcov) { pp <- lm.model$rank p1 <- 1L:pp R <- chol2inv(lm.model$qr$qr[p1, p1, drop = FALSE]) B <- tcrossprod(R, (sw*x)) %*% A # A <- solve(diag(n) - lambda*t(W)) C <- A %*% (sw*x) %*% R Hcov <- B %*% C attr(Hcov, "method") <- method timings[["eigen_hcov"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() } WA <- W %*% A asyvar <- matrix(0, nrow=2+p, ncol=2+p) asyvar[1,1] <- n / (2*(s2^2)) # asyvar[1,1] <- n / (2*(s2)) asyvar[2,1] <- asyvar[1,2] <- tr(WA) / s2 # asyvar[2,1] <- asyvar[1,2] <- tr(WA) asyvar[2,2] <- tr(WA %*% WA) + tr(crossprod(WA)) # bug found 100224 German Muchnik Izon # asyvar[3:(p+2),3:(p+2)] <- s2*(t(x - lambda*WX) %*% xl <- sw * (x - lambda*WX) # asyvar[3:(p+2),3:(p+2)] <- crossprod(xl) asyvar[3:(p+2),3:(p+2)] <- crossprod(xl)/s2 asyvar1 <- try(solve(asyvar, tol=tol.solve), silent=TRUE) if (class(asyvar1) == "try-error") { timings[["eigen_se"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() con$fdHess <- TRUE force_assign_eigen <- TRUE warning(paste("inversion of asymptotic covariance", "matrix failed for tol.solve =", tol.solve, "\n", strsplit(attr(asyvar1, "condition")$message, ":")[[1]][2], "- using numerical Hessian.")) } else { rownames(asyvar1) <- colnames(asyvar1) <- c("sigma", "lambda", xcolnames) lambda.se <- sqrt(asyvar1[2,2]) # lambda.se <- sqrt(s2*asyvar1[2,2]) timings[["eigen_se"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() ase <- TRUE } } else { if (con$returnHcov) { pp <- lm.model$rank p1 <- 1L:pp R <- chol2inv(lm.model$qr$qr[p1, p1, drop = FALSE]) B <- tcrossprod(R, (sw*x)) W <- as(get("listw", envir=env), "CsparseMatrix") B0 <- powerWeights(W=W, rho=lambda, order=con$pWOrder, X=B, tol=tol.solve) if (!is.null(attr(B0, "internal")) && !attr(B0, "internal")$conv) pWinternal <- c(pWinternal, attr(B0, "internal")) B1 <- as(B0, "matrix") C <- (sw*x) %*% R C0 <- powerWeights(W=t(W), rho=lambda, order=con$pWOrder, X=C, tol=tol.solve) if (!is.null(attr(C0, "internal")) && !attr(C0, "internal")$conv) pWinternal <- c(pWinternal, attr(C0, "internal")) C1 <- as(C0, "matrix") Hcov <- B1 %*% C1 attr(Hcov, "method") <- method timings[["sparse_hcov"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() } } if (con$fdHess) { coefs <- c(lambda, coef.lambda) if (con$compiled_sse) { ptr <- .Call("hess_error_init", PACKAGE="spdep") assign("ptr", ptr, envir=env) } fdHess <- getVmate(coefs, env, s2, trs, tol.solve=tol.solve, optim=con$optimHess, optimM=con$optimHessMethod) if (con$compiled_sse) { .Call("hess_error_free", get("ptr", envir=env), PACKAGE="spdep") } if (is.null(trs)) { rownames(fdHess) <- colnames(fdHess) <- c("lambda", colnames(x)) if (method != "eigen" || force_assign_eigen) { lambda.se <- sqrt(fdHess[1, 1]) } } else { rownames(fdHess) <- colnames(fdHess) <- c("sigma2", "lambda", colnames(x)) if (method != "eigen" || force_assign_eigen) { lambda.se <- sqrt(fdHess[2, 2]) } } nm <- paste(method, "fdHess", sep="_") timings[[nm]] <- proc.time() - .ptime_start } call <- match.call() if (method=="SE_classic") { iC <- get("intern_classic", envir=env) } else iC <- NULL names(r) <- names(y) names(fit) <- names(y) ret <- structure(list(type="error", etype=etype, lambda=lambda, coefficients=coef.lambda, rest.se=rest.se, LL=LL, s2=s2, SSE=SSE, parameters=(m+2), #lm.model=lm.model, logLik_lm.model=logLik_lm.model, AIC_lm.model=AIC_lm.model, coef_lm.model=coef(lm.model), tarX=tarX, tary=tary, y=y, X=x, method=method, call=call, residuals=r, #lm.target=lm.target, opt=opt, fitted.values=fit, ase=ase, #formula=formula, se.fit=NULL, resvar=asyvar1, similar=get("similar", envir=env), lambda.se=lambda.se, LMtest=LMtest, zero.policy=zero.policy, aliased=aliased, LLNullLlm=LL_null_lm, Hcov=Hcov, Vs=Vs, interval=interval, fdHess=fdHess, optimHess=con$optimHess, insert=!is.null(trs), trs=trs, timings=do.call("rbind", timings)[, c(1, 3)], f_calls=get("f_calls", envir=env), hf_calls=get("hf_calls", envir=env), intern_classic=iC, pWinternal=pWinternal, weights=weights, emixedImps=emixedImps), class=c("sarlm")) rm(env) GC <- gc() if (zero.policy) { zero.regs <- attr(listw$neighbours, "region.id")[which(card(listw$neighbours) == 0)] if (length(zero.regs) > 0L) attr(ret, "zero.regs") <- zero.regs } if (!is.null(na.act)) ret$na.action <- na.act ret } sar_error_sse <- function(lambda, env) { if (get("compiled_sse", envir=env)) { ft <- get("first_time", envir=env) SSE <- .Call("R_ml_sse_env", env, lambda, PACKAGE="spdep") if (ft) assign("first_time", FALSE, envir=env) } else { yl <- get("y", envir=env) - lambda * get("wy", envir=env) yl <- get("sw", envir=env) * yl xl <- get("x", envir=env) - lambda * get("WX", envir=env) xl <- get("sw", envir=env) * xl xl.q <- qr.Q(qr(xl, LAPACK=get("LAPACK", envir=env))) xl.q.yl <- crossprod(xl.q, yl) # xl.q.yl <- qr.qty(qr(xl, LAPACK=get("LAPACK", envir=env)), yl) SSE <- crossprod(yl) - crossprod(xl.q.yl) } SSE } sar.error.f <- function(lambda, env) { SSE <- sar_error_sse(lambda, env) n <- get("n", envir=env) s2 <- SSE/n ldet <- do_ldet(lambda, env) ret <- (ldet + (1/2)*get("sum_lw", envir=env) - ((n/2)*log(2*pi)) - (n/2)*log(s2) - (1/(2*(s2)))*SSE) if (get("verbose", envir=env)) cat("lambda:", lambda, " function:", ret, " Jacobian:", ldet, " SSE:", SSE, "\n") assign("f_calls", get("f_calls", envir=env)+1L, envir=env) ret } lmSLX <- function(formula, data = list(), listw, na.action, weights=NULL, zero.policy=NULL) { if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) if (class(formula) != "formula") formula <- as.formula(formula) # mt <- terms(formula, data = data) # mf <- lm(formula, data, na.action=na.action, weights=weights, # method="model.frame") mf <- match.call(expand.dots = FALSE) m <- match(c("formula", "data", "weights", "na.action"), names(mf), 0) mf <- mf[c(1, m)] mf$drop.unused.levels <- TRUE mf[[1]] <- as.name("model.frame") mf <- eval(mf, parent.frame()) mt <- attr(mf, "terms") na.act <- attr(mf, "na.action") if (!inherits(listw, "listw")) stop("No neighbourhood list") if (!is.null(na.act)) { subset <- !(1:length(listw$neighbours) %in% na.act) listw <- subset(listw, subset, zero.policy=zero.policy) } y <- model.response(mf, "numeric") if (any(is.na(y))) stop("NAs in dependent variable") x <- model.matrix(mt, mf) if (any(is.na(x))) stop("NAs in independent variable") n <- nrow(x) if (n != length(listw$neighbours)) stop("listw and data of different lengths") nclt <- colnames(x) weights <- as.vector(model.extract(mf, "weights")) if (!is.null(weights) && !is.numeric(weights)) stop("'weights' must be a numeric vector") if (is.null(weights)) weights <- rep(as.numeric(1), n) if (any(is.na(weights))) stop("NAs in weights") if (any(weights < 0)) stop("negative weights") WX <- create_WX(x, listw, zero.policy=zero.policy, prefix="lag") x <- cbind(x, WX) lm.model <- lm(y ~ x - 1, weights=weights) sum_lm_model <- summary.lm(lm.model, correlation = FALSE) mixedImps <- NULL K <- ifelse(isTRUE(grep("\\(Intercept\\)", names(coefficients(lm.model))[1]) == 1L), 2, 1) m <- length(coefficients(lm.model)) odd <- (m%/%2) > 0 if (odd) { m2 <- (m-1)/2 } else { m2 <- m/2 } if (K == 1 && odd) { warning("model configuration issue: no total impacts") } else { cm <- matrix(0, ncol=m, nrow=m2) if (K == 2) { if (odd) { rownames(cm) <- nclt[2:(m2+1)] } else { rownames(cm) <- nclt[1:m2] } for (i in 1:m2) cm[i, c(i+1, i+(m2+1))] <- 1 # drop bug fix 2016-09-21 Philipp Hunziker dirImps <- sum_lm_model$coefficients[2:(m2+1), 1:2, drop=FALSE] rownames(dirImps) <- rownames(cm) indirImps <- sum_lm_model$coefficients[(m2+2):m, 1:2, drop=FALSE] rownames(indirImps) <- rownames(cm) } else { rownames(cm) <- nclt[1:m2] # FIXME for (i in 1:m2) cm[i, c(i, i+m2)] <- 1 dirImps <- sum_lm_model$coefficients[1:m2, 1:2, drop=FALSE] rownames(dirImps) <- rownames(cm) indirImps <- sum_lm_model$coefficients[(m2+1):m, 1:2, drop=FALSE] rownames(indirImps) <- rownames(cm) } totImps <- as.matrix(estimable(lm.model, cm)[, 1:2, drop=FALSE]) mixedImps <- list(dirImps=dirImps, indirImps=indirImps, totImps=totImps) } attr(lm.model, "mixedImps") <- mixedImps class(lm.model) <- c("SLX", class(lm.model)) lm.model } predict.SLX <- function(object, newdata, listw, zero.policy=NULL, ...) { if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) if (missing(newdata)) { return(fitted(object)) } if (!inherits(listw, "listw")) stop("No neighbourhood list") if (is(newdata, "Spatial")) newdata <- as(newdata, "data.frame") if (!inherits(newdata, "data.frame")) stop("newdata must be a Spatial*DataFrame or a data.frame") vars <- rownames(attr(object, "mixedImps")$dirImps) f <- formula(paste("~", paste(vars, collapse=" + "))) mf <- lm(f, newdata, method="model.frame") mt <- attr(mf, "terms") x <- model.matrix(mt, mf) if (any(is.na(x))) stop("NAs in independent variable") n <- nrow(x) if (n != length(listw$neighbours)) stop("listw and data of different lengths") WX <- create_WX(x, listw, zero.policy=zero.policy, prefix="lag") x <- cbind(x, WX) res <- as.vector(x %*% coef(object)) names(res) <- row.names(newdata) res } create_WX <- function(x, listw, zero.policy=NULL, prefix="") { if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) if (!inherits(listw, "listw")) stop("No neighbourhood list") if (NROW(x) != length(listw$neighbours)) stop("Input data and neighbourhood list have different dimensions") n <- NROW(x) m <- NCOL(x) # check if there are enough regressors xcolnames <- colnames(x) stopifnot(!is.null(xcolnames)) K <- ifelse(xcolnames[1] == "(Intercept)", 2, 1) Wvars <- NULL wxI <- NULL WX <- NULL if (K == 2) { # unnormalized weight matrices if (!(listw$style == "W")) { intercept <- as.double(rep(1, n)) wxI <- lag.listw(listw, intercept, zero.policy = zero.policy) Wvars <- paste(prefix, ".(Intercept)", sep="") } } if (m > 1 || (m == 1 && K == 1)) { WX <- matrix(as.numeric(NA), nrow=n, ncol=ifelse(m==1, 1, (m-(K-1)))) for (k in K:m) { j <- ifelse(k==1, 1, k-(K-1)) WX[,j] <- lag.listw(listw, x[,xcolnames[k]], zero.policy=zero.policy) if (any(is.na(WX[,j]))) stop("NAs in lagged independent variable") Wvars <- c(Wvars, paste(prefix, ".", xcolnames[k], sep="")) } } if (!is.null(wxI)) WX <- cbind(wxI, WX) colnames(WX) <- Wvars WX } spdep/R/sp.correlogram.R0000644000176200001440000001135712052633372014660 0ustar liggesusers# Copyright 2002-2010 by Roger Bivand and Pierre Legendre # sp.correlogram <- function (neighbours, var, order = 1, method = "corr", style = "W", randomisation = TRUE, zero.policy = NULL, spChk = NULL) { if (class(neighbours) != "nb") stop("not a neighbours list") stopifnot(is.vector(var)) if (any(is.na(var))) stop("no NAs permitted in variable") if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) if (is.null(spChk)) spChk <- get.spChkOption() if (spChk && !chkIDs(var, nb2listw(neighbours, zero.policy = zero.policy))) stop("Check of data and weights ID integrity failed") if (order < 1) stop("order less than 1") nblags <- nblag(neighbours, maxlag = order) cardnos <- vector(mode = "list", length = order) for (i in 1:order) cardnos[[i]] <- table(card(nblags[[i]])) nobs <- sapply(cardnos, function(x) sum(x[names(x) > "0"])) if (any(nobs < 3)) stop("sp.correlogram: too few included observations in higher lags:\n\treduce order.") if (method == "corr") { lags.x <- matrix(0, nrow = length(var), ncol = order) for (i in 1:order) lags.x[, i] <- lag.listw(nb2listw(nblags[[i]], style = style, zero.policy = zero.policy), var, zero.policy = zero.policy) res <- cor(cbind(var, lags.x))[1, -1] names(res) <- 1:order } else if ((method == "I") || (method == "C")) { res <- matrix(NA, nrow = order, ncol = 3) for (i in 1:order) { listw <- nb2listw(nblags[[i]], style = style, zero.policy = zero.policy) if (method == "I") { res[i,] <- moran.test(var, listw, randomisation = randomisation, zero.policy = zero.policy)$estimate } else { # Addition PL res[i, ] <- geary.test(var, listw, randomisation = randomisation, zero.policy = zero.policy)$estimate # Addition PL } } rownames(res) <- 1:order } else stop("method unknown") obj <- list(res=res, method=method, cardnos=cardnos, var=deparse(substitute(var))) class(obj) <- "spcor" obj } print.spcor <- function (x, p.adj.method="none", ...) { cat("Spatial correlogram for", x$var, "\nmethod: ") if (x$method == "I") { cat( "Moran's I\n") # Modif. PL } else if(x$method == "C") { cat( "Geary's C\n") # Modif. PL } else { cat("Spatial autocorrelation\n") # Modif. PL } if ((x$method == "I") || (x$method == "C")) { res <- as.matrix(x$res) ZI <- (res[,1]-res[,2])/sqrt(res[,3]) pv <- p.adjust(2*pnorm(abs(ZI), lower.tail=FALSE), method=p.adj.method) res <- cbind(res, ZI, pv) rownames(res) <- paste(rownames(x$res), " (", sapply(x$cardnos, function(x) sum(x[names(x) > "0"])), ")", sep="") colnames(res) <- c("estimate", "expectation", "variance", "standard deviate", "Pr(I) two sided") printCoefmat(res, ...) } else { res <- as.vector(x$res) names(res) <- names(x$res) print(res) } invisible(res) } plot.spcor <- function (x, main, ylab, ylim, ...) { if (missing(main)) main <- x$var if ((x$method == "I") || (x$method == "C")) { lags <- as.integer(rownames(x$res)) to.plot <- which((x$res[,3] > 0) & (x$res[,3] != Inf)) # Addition PL sd2 <- rep(0, nrow(x$res)) # Addition PL sd2[to.plot] <- 2 * sqrt(x$res[to.plot, 3]) # Modif. PL # sd2 <- 2*sqrt(x$res[,3]) if (missing(ylim)) { ylim <- range(c(x$res[,1]+sd2, x$res[,1]-sd2)) } if (missing(ylab)) if(x$method == "I") ylab <- "Moran's I" # Addition PL if(x$method == "C") ylab <- "Geary's C" # Addition PL # ylab <- "Moran's I" plot(lags, x$res[,1], type="p", pch=18, ylim = ylim, main = main, ylab = ylab, xaxt = "n") # segments(lags, x$res[,1], lags, x$res[,2], lwd=4, col="grey") arrows(lags, x$res[,1]+sd2, lags, x$res[,1]-sd2, length=0.1, angle=90) arrows(lags, x$res[,1]-sd2, lags, x$res[,1]+sd2, length=0.1, angle=90) axis(1, at = lags) abline(h = x$res[1,2]) } else { res <- as.vector(x$res) lags <- as.integer(names(x$res)) if (missing(ylim)) ylim <- c(-1, 1) if (missing(ylab)) ylab <- "Spatial autocorrelation" plot(lags, res, type = "h", ylim = ylim, main = main, ylab = ylab, lwd = 4, xaxt = "n") axis(1, at = lags) abline(h = 0) } } spdep/R/prunemst.R0000644000176200001440000000113511716033157013572 0ustar liggesusersprunemst <- function(edges, only.nodes=TRUE) { id1 <- .C("prunemst", as.integer(edges[,1]), as.integer(edges[,2]), as.integer(nrow(edges)), integer(nrow(edges)), PACKAGE="spdep")[[4]] no1 <- unique(c(edges[1,1], as.integer(edges[id1==1,]))) no2 <- setdiff(edges, no1) if(only.nodes) return(list(node1=no1, node2=no2)) else { edges <- edges[-1, , drop=FALSE] return(list(list(node=no1, edge=edges[id1[-1]==1,, drop=FALSE]), list(node=no2, edge=edges[id1[-1]==0,, drop=FALSE]))) } } spdep/R/impacts.R0000644000176200001440000007471713052105354013367 0ustar liggesusers# Copyright 2009-2017 by Roger Bivand trW <- function(W=NULL, m=30, p=16, type="mult", listw=NULL, momentsSymmetry=TRUE) { # returns traces timings <- list() .ptime_start <- proc.time() if (type == "mult") { stopifnot(!is.null(W)) stopifnot(inherits(W, "sparseMatrix")) n <- dim(W)[1] iW <- W tr <- numeric(m) for (i in 1:m) { tr[i] <- sum(diag(iW)) iW <- W %*% iW } } else if (type == "MC") { stopifnot(!is.null(W)) stopifnot(inherits(W, "sparseMatrix")) n <- dim(W)[1] tr <- numeric(m) # return sd of traces 111126 sdtr <- numeric(m) x <- matrix(rnorm(n*p), nrow=n, ncol=p) xx <- x for (i in 1:m) { xx <- W %*% xx # return sd of traces 111126 v <- apply(x * as.matrix(xx), 2, sum) tr[i] <- mean(v) sdtr[i] <- sd(v)/sqrt(p) # tr[i] <- sum(apply(x * as.matrix(xx), 2, function(y) sum(y)/p)) # mean replaced by sum(y)/p 091012, 0.4-47 } tr[1] <- 0.0 tr[2] <- sum(t(W) * W) # return sd of traces 111126 sdtr[1:2] <- NA attr(tr, "sd") <- sdtr } else if (type == "moments") { if (!is.null(W) && is.null(listw)) { if (momentsSymmetry && !is(W, "symmetricMatrix")) stop("moments require symmetric W") listw <- mat2listw(W) } tr <- mom_calc(listw, m) n <- length(listw$neighbours) } else stop("unknown type") timings[["make_traces"]] <- proc.time() - .ptime_start attr(tr, "timings") <- do.call("rbind", timings)[, c(1, 3)] attr(tr, "type") <- type attr(tr, "n") <- n tr } mom_calc_int <- function(is, m, W, eta0) { Omega <- rep(0.0, m) for (i in is) { eta <- eta0 eta[i] <- 1 for (j in seq(2, m, 2)) { zeta <- W %*% eta Omega[j-1] <- Omega[j-1] + crossprod(zeta, eta)[1,1] Omega[j] <- Omega[j] + crossprod(zeta, zeta)[1,1] eta <- zeta } } Omega } mom_calc_int2 <- function(is, m, nb, weights, Card) { Omega <- .Call("mom_calc_int2", is, as.integer(m), nb, weights, Card, PACKAGE="spdep") Omega } mom_calc <- function(lw, m) { stopifnot((m %% 2) == 0) nb <- lw$neighbours n <- length(nb) weights <- lw$weights Card <- card(nb) cores <- get.coresOption() if (is.null(cores)) { parallel <- "no" } else { parallel <- ifelse (get.mcOption(), "multicore", "snow") } ncpus <- ifelse(is.null(cores), 1L, cores) cl <- NULL if (parallel == "snow") { cl <- get.ClusterOption() if (is.null(cl)) { parallel <- "no" warning("no cluster in ClusterOption, parallel set to no") } } if (parallel == "snow") { if (requireNamespace("parallel", quietly = TRUE)) { # require(parallel) lis <- parallel::splitIndices(n, length(cl)) lOmega <- parallel::parLapply(cl, lis, mom_calc_int2, m, nb, weights, Card) Omega <- apply(do.call("cbind", lOmega), 1, sum) } else { stop("parallel not available") } } else if (parallel == "multicore") { if (requireNamespace("parallel", quietly = TRUE)) { # require(parallel) lis <- parallel::splitIndices(n, ncpus) lOmega <- parallel::mclapply(lis, mom_calc_int2, m, nb, weights, Card, mc.set.seed=FALSE, mc.cores=ncpus) Omega <- apply(do.call("cbind", lOmega), 1, sum) } else { stop("parallel not available") } } else { Omega <- mom_calc_int2(is=1:n, m=m, nb=nb, weights=weights, Card=Card) } Omega } impacts <- function(obj, ...) UseMethod("impacts", obj) impacts.SLX <- function(obj, ...) { stopifnot(!is.null(attr(obj, "mixedImps"))) n <- nrow(obj$model) k <- obj$qr$rank impactsWX(attr(obj, "mixedImps"), n, k, type="SLX") } impactSDEM <- function(obj) { n <- nrow(obj$tarX) k <- ncol(obj$tarX) impactsWX(obj$emixedImps, n, k, type="SDEM") } impactsWX <- function(obj, n, k, type="SLX") { imps <- lapply(obj, function(x) x[, 1]) names(imps) <- c("direct", "indirect", "total") attr(imps, "bnames") <- rownames(obj[[1]]) ses <- lapply(obj, function(x) x[, 2]) names(ses) <- c("direct", "indirect", "total") attr(ses, "bnames") <- rownames(obj[[1]]) res <- list(impacts=imps, se=ses) attr(res, "n") <- n attr(res, "k") <- k attr(res, "type") <- type attr(res, "method") <- "estimable" attr(res, "bnames") <- rownames(obj[[1]]) class(res) <- "WXImpact" res } print.WXImpact <- function(x, ...) { mat <- lagImpactMat(x$impacts) cat("Impact measures (", attr(x, "type"), ", ", attr(x, "method"), "):\n", sep="") print(mat, ...) cat("\n") invisible(x) } print.summary.WXImpact <- function(x, ...) { mat <- x$mat cat("Impact measures (", attr(x, "type"), ", ", attr(x, "method"), "):\n", sep="") print(mat, ...) cat("========================================================\n") mat <- x$semat cat("Standard errors:\n", sep="") print(mat, ...) cat("========================================================\n") cat("Z-values:\n") mat <- x$zmat rownames(mat) <- attr(x, "bnames") print(mat, ...) cat("\np-values:\n") xx <- apply(x$pzmat, 2, format.pval) # 100928 Eelke Folmer if (length(attr(x, "bnames")) == 1L) { xx <- matrix(xx, ncol=3) colnames(xx) <- c("Direct", "Indirect", "Total") } rownames(xx) <- attr(x, "bnames") print(xx, ..., quote=FALSE) cat("\n") invisible(x) } summary.WXImpact <- function(object, ..., adjust_k=FALSE) { stopifnot(is.logical(adjust_k)) stopifnot(length(adjust_k) == 1L) object$mat <- lagImpactMat(object$impacts) object$semat <- lagImpactMat(object$se) if (adjust_k) { object$semat <- object$semat * (attr(object, "n")/ (attr(object, "n") - attr(object, "k"))) attr(object, "method") <- paste(attr(object, "method"), ", n-k", sep="") } object$zmat <- object$mat/object$semat object$pzmat <- 2*(1-pnorm(abs(object$zmat))) class(object) <- c("summary.WXImpact", class(object)) object } impacts.stsls <- function(obj, ..., tr=NULL, R=NULL, listw=NULL, tol=1e-6, empirical=FALSE, Q=NULL) { if (is.null(listw) && !is.null(obj$listw_style) && obj$listw_style != "W") stop("Only row-standardised weights supported") rho <- obj$coefficients[1] beta <- obj$coefficients[-1] icept <- grep("(Intercept)", names(beta)) iicept <- length(icept) > 0 if (iicept) { P <- matrix(beta[-icept], ncol=1) bnames <- names(beta[-icept]) } else { P <- matrix(beta, ncol=1) bnames <- names(beta) } p <- length(beta) n <- length(obj$residuals) mu <- c(rho, beta) Sigma <- obj$var irho <- 1 drop2beta <- 1 res <- intImpacts(rho=rho, beta=beta, P=P, n=n, mu=mu, Sigma=Sigma, irho=irho, drop2beta=drop2beta, bnames=bnames, interval=NULL, type="lag", tr=tr, R=R, listw=listw, tol=tol, empirical=empirical, Q=Q, icept=icept, iicept=iicept, p=p) attr(res, "iClass") <- class(obj) if (!is.null(obj$robust)) { attr(res, "robust") <- obj$robust attr(res, "HC") <- obj$HC } res } impacts.gmsar <- function(obj, ..., n=NULL, tr=NULL, R=NULL, listw=NULL, tol=1e-6, empirical=FALSE, Q=NULL) { stopifnot(obj$type == "SARAR") if (is.null(listw) && !is.null(obj$listw_style) && obj$listw_style != "W") stop("Only row-standardised weights supported") rho <- obj$coefficients[1] beta <- obj$coefficients[-1] icept <- grep("(Intercept)", names(beta)) iicept <- length(icept) > 0 if (iicept) { P <- matrix(beta[-icept], ncol=1) bnames <- names(beta[-icept]) } else { P <- matrix(beta, ncol=1) bnames <- names(beta) } p <- length(beta) # allow n passthrough 140305 Angela Parenti if (is.null(n)) n <- length(obj$residuals) stopifnot(is.integer(n)) stopifnot(length(n) == 1) stopifnot(is.finite(n)) mu <- c(rho, beta) Sigma <- obj$secstep_var irho <- 1 drop2beta <- 1 res <- intImpacts(rho=rho, beta=beta, P=P, n=n, mu=mu, Sigma=Sigma, irho=irho, drop2beta=drop2beta, bnames=bnames, interval=NULL, type="lag", tr=tr, R=R, listw=listw, tol=tol, empirical=empirical, Q=Q, icept=icept, iicept=iicept, p=p) attr(res, "iClass") <- class(obj) res } lagImpacts <- function(T, g, P) { PT <- P %*% T direct <- apply(apply(PT, 1, function(x) x*g), 2, sum) total <- c(apply(P, 1, sum) * sum(g)) indirect <- total - direct names(direct) <- names(total) list(direct=direct, indirect=indirect, total=total) } lagDistrImpacts <- function(T, g, P, q=10) { PT <- P %*% T direct <- apply(PT, 1, function(x) x * g)[1:q, ] if (nrow(P) == 1) { total <- sapply(g, function(x) apply(P, 1, sum)*x)[1:q] } else { total <- t(sapply(g, function(x) apply(P, 1, sum)*x))[1:q, ] } indirect <- total - direct list(direct=direct, indirect=indirect, total=total) } processSample <- function(x, irho, drop2beta, type, iicept, icept, T, Q, q) { g <- x[irho]^(0:q) beta <- x[-drop2beta] if (type == "lag" || type == "sac") { if (iicept) { P <- matrix(beta[-icept], ncol=1) } else { P <- matrix(beta, ncol=1) } } else if (type == "mixed" || type == "sacmixed") { if (iicept) { b1 <- beta[-icept] } else { b1 <- beta } p <- length(b1) if (p %% 2 != 0) stop("non-matched coefficient pairs") P <- cbind(b1[1:(p/2)], b1[((p/2)+1):p]) } res <- lagImpacts(T, g, P) if (!is.null(Q)) { Qres <- lagDistrImpacts(T, g, P, q=as.integer(Q)) attr(res, "Qres") <- Qres } res } lagImpactsExact <- function(SW, P, n) { direct <- sapply(P, function(x) sum(diag(x*SW))/n) total <- sapply(P, function(x) sum(x*SW)/n) indirect <- total - direct list(direct=direct, indirect=indirect, total=total) } mixedImpactsExact <- function(SW, P, n, listw) { p <- dim(P)[1] direct <- numeric(p) total <- numeric(p) W <- listw2mat(listw) for (i in 1:p) { SWr <- SW %*% (P[i,1]*diag(n) + P[i,2]*W) direct[i] <- sum(diag(SWr))/n total[i] <- sum(SWr)/n } indirect <- total - direct list(direct=direct, indirect=indirect, total=total) } processXSample <- function(x, drop2beta, type, iicept, icept, n, listw, irho) { rho <- x[irho] SW <- invIrW(listw, rho) beta <- x[-drop2beta] if (type == "lag" || type == "sac") { if (iicept) { P <- matrix(beta[-icept], ncol=1) } else { P <- matrix(beta, ncol=1) } return(lagImpactsExact(SW, P, n)) } else if (type == "mixed" || type == "sacmixed") { if (iicept) { b1 <- beta[-icept] } else { b1 <- beta } p <- length(b1) if (p %% 2 != 0) stop("non-matched coefficient pairs") P <- cbind(b1[1:(p/2)], b1[((p/2)+1):p]) return(mixedImpactsExact(SW, P, n, listw)) } } intImpacts <- function(rho, beta, P, n, mu, Sigma, irho, drop2beta, bnames, interval, type, tr, R, listw, tol, empirical, Q, icept, iicept, p, mess=FALSE, samples=NULL) { if (is.null(listw) && is.null(tr)) stop("either tr or listw must be given") timings <- list() .ptime_start <- proc.time() if (is.null(listw)) { q <- length(tr)-1L g <- rho^(0:q) T <- matrix(c(1, tr[-(q+1)]/n), nrow=1) if (type == "mixed" || type == "sacmixed") { T <- rbind(T, tr/n) } res <- lagImpacts(T, g, P) if (!is.null(Q)) { if (!is.numeric(Q) || length(Q) > 1L) stop("Invalid Q argument") if (Q > length(tr)) stop("Q larger than length of tr") Qres <- lagDistrImpacts(T, g, P, q=as.integer(Q)) attr(res, "Qres") <- Qres } timings[["trace_impacts"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() if (!is.null(R)) { if (is.null(samples)) { samples <- mvrnorm(n=R, mu=mu, Sigma=Sigma, tol=tol, empirical=empirical) if (mess) samples[,irho] <- 1 - exp(samples[,irho]) } if (!is.null(interval)) { check <- ((samples[,irho] > interval[1]) & (samples[,irho] < interval[2])) if (any(!check)) samples <- samples[check,] } timings[["impacts_samples"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() # type, iicept, icept, T, Q sres <- apply(samples, 1, processSample, irho=irho, drop2beta=drop2beta, type=type, iicept=iicept, icept=icept, T=T, Q=Q, q=q) timings[["process_samples"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() # 100928 Eelke Folmer if (length(bnames) == 1L) { direct <- as.mcmc(t(matrix(sapply(sres, function(x) x$direct), nrow=1))) indirect <- as.mcmc(t(matrix(sapply(sres, function(x) x$indirect), nrow=1))) total <- as.mcmc(t(matrix(sapply(sres, function(x) x$total), nrow=1))) } else { direct <- as.mcmc(t(sapply(sres, function(x) x$direct))) indirect <- as.mcmc(t(sapply(sres, function(x) x$indirect))) total <- as.mcmc(t(sapply(sres, function(x) x$total))) } colnames(direct) <- bnames colnames(indirect) <- bnames colnames(total) <- bnames ssres <- list(direct=direct, indirect=indirect, total=total) if (!is.null(Q)) { Qdirect <- as.mcmc(t(sapply(sres, function(x) attr(x, "Qres")$direct))) Qindirect <- as.mcmc(t(sapply(sres, function(x) attr(x, "Qres")$indirect))) Qtotal <- as.mcmc(t(sapply(sres, function(x) attr(x, "Qres")$total))) Qnames <- c(sapply(bnames, function(x) paste(x, 1:Q, sep="__Q"))) if (length(Qnames) == 1L) { Qdirect <- t(Qdirect) Qindirect <- t(Qindirect) Qtotal <- t(Qtotal) } colnames(Qdirect) <- Qnames colnames(Qindirect) <- Qnames colnames(Qtotal) <- Qnames Qmcmc <- list(direct=Qdirect, indirect=Qindirect, total=Qtotal) attr(ssres, "Qmcmc") <- Qmcmc } timings[["postprocess_samples"]] <- proc.time() - .ptime_start res <- list(res=res, sres=ssres) } attr(res, "method") <- "trace" } else { # added checks 140304 stopifnot(length(listw$neighbours) == n) V <- listw2mat(listw) e <- eigen(V, only.values = TRUE)$values if (is.complex(e)) interval <- 1/(range(Re(e))) else interval <- 1/(range(e)) SW <- invIrW(listw, rho) if (type == "lag" || type == "sac") res <- lagImpactsExact(SW, P, n) else if (type == "mixed" || type == "sacmixed") res <- mixedImpactsExact(SW, P, n, listw) timings[["weights_impacts"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() if (!is.null(R)) { samples <- mvrnorm(n=R, mu=mu, Sigma=Sigma, tol=tol, empirical=empirical) check <- ((samples[,irho] > interval[1]) & (samples[,irho] < interval[2])) if (any(!check)) samples <- samples[check,] timings[["impacts_samples"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() # type, iicept, icept, SW, n, listw sres <- apply(samples, 1, processXSample, drop2beta=drop2beta, type=type, iicept=iicept, icept=icept, n=n, listw=listw, irho=irho) timings[["process_samples"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() if (length(bnames) == 1L) { direct <- as.mcmc(t(matrix(sapply(sres, function(x) x$direct), nrow=1))) indirect <- as.mcmc(t(matrix(sapply(sres, function(x) x$indirect), nrow=1))) total <- as.mcmc(t(matrix(sapply(sres, function(x) x$total), nrow=1))) } else { direct <- as.mcmc(t(sapply(sres, function(x) x$direct))) indirect <- as.mcmc(t(sapply(sres, function(x) x$indirect))) total <- as.mcmc(t(sapply(sres, function(x) x$total))) } colnames(direct) <- bnames colnames(indirect) <- bnames colnames(total) <- bnames timings[["postprocess_samples"]] <- proc.time() - .ptime_start res <- list(res=res, sres=list(direct=direct, indirect=indirect, total=total)) } attr(res, "method") <- "exact" } if (!is.null(R)) attr(res, "samples") <- list(samples=samples, irho=irho, drop2beta=drop2beta) attr(res, "type") <- type attr(res, "bnames") <- bnames attr(res, "haveQ") <- !is.null(Q) attr(res, "timings") <- do.call("rbind", timings)[, c(1,3)] class(res) <- "lagImpact" res } impacts.sarlm <- function(obj, ..., tr=NULL, R=NULL, listw=NULL, useHESS=NULL, tol=1e-6, empirical=FALSE, Q=NULL) { if (obj$type == "error") { if (obj$etype == "emixed") { return(impactSDEM(obj)) } else { stop("impact measures not for error models") } } if (is.null(listw) && !is.null(obj$listw_style) && obj$listw_style != "W") stop("Only row-standardised weights supported") rho <- obj$rho beta <- obj$coefficients s2 <- obj$s2 if (obj$type == "sac" || obj$type == "sacmixed") lambda <- obj$lambda usingHESS <- NULL iNsert <- obj$insert if (!is.null(R)) { resvar <- obj$resvar usingHESS <- FALSE irho <- 2 drop2beta <- 1:2 if (obj$type == "sac" || obj$type == "sacmixed") drop2beta <- c(drop2beta, 3) if (is.logical(resvar)) { fdHess <- obj$fdHess if (is.logical(fdHess)) stop("coefficient covariance matrix not available") usingHESS <- TRUE if (!iNsert) { irho <- 1 drop2beta <- 1 if (obj$type == "sac" || obj$type == "sacmixed") drop2beta <- c(drop2beta, 2) } } if (!is.null(useHESS) && useHESS) { fdHess <- obj$fdHess if (is.logical(fdHess)) stop("Hessian matrix not available") usingHESS <- TRUE if (!iNsert) { irho <- 1 drop2beta <- 1 if (obj$type == "sac" || obj$type == "sacmixed") drop2beta <- c(drop2beta, 2) } } interval <- obj$interval if (is.null(interval)) interval <- c(-1,0.999) } icept <- grep("(Intercept)", names(beta)) iicept <- length(icept) > 0L if (obj$type == "lag" || obj$type == "sac") { if (iicept) { P <- matrix(beta[-icept], ncol=1) bnames <- names(beta[-icept]) } else { P <- matrix(beta, ncol=1) bnames <- names(beta) } p <- length(beta) } else if (obj$type == "mixed" || obj$type == "sacmixed") { if (iicept) { b1 <- beta[-icept] } else { b1 <- beta } p <- length(b1) if (p %% 2 != 0) stop("non-matched coefficient pairs") P <- cbind(b1[1:(p/2)], b1[((p/2)+1):p]) bnames <- names(b1[1:(p/2)]) } n <- length(obj$residuals) mu <- NULL Sigma <- NULL if (!is.null(R)) { if (usingHESS && !iNsert) { mu <- c(rho, beta) if (obj$type == "sac" || obj$type == "sacmixed") mu <- c(rho, lambda, beta) Sigma <- fdHess } else { mu <- c(s2, rho, beta) if (obj$type == "sac" || obj$type == "sacmixed") mu <- c(s2, rho, lambda, beta) if (usingHESS) { Sigma <- fdHess } else { Sigma <- resvar } } } res <- intImpacts(rho=rho, beta=beta, P=P, n=n, mu=mu, Sigma=Sigma, irho=irho, drop2beta=drop2beta, bnames=bnames, interval=interval, type=obj$type, tr=tr, R=R, listw=listw, tol=tol, empirical=empirical, Q=Q, icept=icept, iicept=iicept, p=p) attr(res, "useHESS") <- usingHESS attr(res, "insert") <- iNsert attr(res, "iClass") <- class(obj) res } lagImpactMat <- function(x, reportQ=NULL) { if (is.null(x$res)) { direct <- x$direct indirect <- x$indirect total <- x$total } else { direct <- x$res$direct indirect <- x$res$indirect total <- x$res$total } mat <- cbind(direct, indirect, total) colnames(mat) <- c("Direct", "Indirect", "Total") rownames(mat) <- attr(x, "bnames") if (!is.null(reportQ) && reportQ) { if (is.null(x$res)) { Qobj <- attr(x, "Qres") } else { Qobj <- attr(x$res, "Qres") } if (is.null(Qobj)) warning("No impact components to report") else { # 100928 Eelke Folmer if (length(attr(x, "bnames")) == 1L) { Qobj$direct <- matrix(Qobj$direct, ncol=1) Qobj$indirect <- matrix(Qobj$indirect, ncol=1) Qobj$total <- matrix(Qobj$total, ncol=1) } colnames(Qobj$direct) <- attr(x, "bnames") colnames(Qobj$indirect) <- attr(x, "bnames") colnames(Qobj$total) <- attr(x, "bnames") rownames(Qobj$direct) <- paste("Q", 1:nrow(Qobj$direct), sep="") rownames(Qobj$indirect) <- paste("Q", 1:nrow(Qobj$indirect), sep="") rownames(Qobj$total) <- paste("Q", 1:nrow(Qobj$total), sep="") attr(mat, "Qobj") <- Qobj } } mat } print.lagImpact <- function(x, ..., reportQ=NULL) { mat <- lagImpactMat(x, reportQ=reportQ) Qobj <- attr(mat, "Qobj") cat("Impact measures (", attr(x, "type"), ", ", attr(x, "method"), "):\n", sep="") attr(mat, "Qobj") <- NULL print(mat) if (!is.null(reportQ) && reportQ) { if (is.null(Qobj)) warning("No impact components to report") else { cat("=================================\nImpact components\n") print(Qobj) } } invisible(x) } summary.lagImpact <- function(object, ..., zstats=FALSE, short=FALSE, reportQ=NULL) { if (is.null(object$sres)) stop("summary method unavailable") # pass coda arguments 101006 direct_sum <- summary(object$sres$direct, ...) indirect_sum <- summary(object$sres$indirect, ...) total_sum <- summary(object$sres$total, ...) # 101109 Eelke Folmer if (length(attr(object, "bnames")) == 1L) { scnames <- names(direct_sum$statistics) qcnames <- names(direct_sum$quantiles) direct_sum$statistics <- matrix(direct_sum$statistics, nrow=1) rownames(direct_sum$statistics) <- attr(object, "bnames")[1] colnames(direct_sum$statistics) <- scnames direct_sum$quantiles <- matrix(direct_sum$quantiles, nrow=1) rownames(direct_sum$quantiles) <- attr(object, "bnames")[1] colnames(direct_sum$quantiles) <- qcnames indirect_sum$statistics <- matrix(indirect_sum$statistics, nrow=1) rownames(indirect_sum$statistics) <- attr(object, "bnames")[1] colnames(indirect_sum$statistics) <- scnames indirect_sum$quantiles <- matrix(indirect_sum$quantiles, nrow=1) rownames(indirect_sum$quantiles) <- attr(object, "bnames")[1] colnames(indirect_sum$quantiles) <- qcnames total_sum$statistics <- matrix(total_sum$statistics, nrow=1) rownames(total_sum$statistics) <- attr(object, "bnames")[1] colnames(total_sum$statistics) <- scnames total_sum$quantiles <- matrix(total_sum$quantiles, nrow=1) rownames(total_sum$quantiles) <- attr(object, "bnames")[1] colnames(total_sum$quantiles) <- qcnames } Qmcmc <- NULL if (!is.null(attr(object$sres, "Qmcmc")) && !is.null(reportQ) && reportQ) { Qdirect_sum <- summary(attr(object$sres, "Qmcmc")$direct, ...) Qindirect_sum <- summary(attr(object$sres, "Qmcmc")$indirect, ...) Qtotal_sum <- summary(attr(object$sres, "Qmcmc")$total, ...) Qmcmc <- list(Qdirect_sum=Qdirect_sum, Qindirect_sum=Qindirect_sum, Qtotal_sum=Qtotal_sum) } lres <- list(direct_sum=direct_sum, indirect_sum=indirect_sum, total_sum=total_sum) res <- c(object, lres, Qmcmc) if (zstats) { # 100928 Eelke Folmer if (length(attr(object, "bnames")) == 1L) { zmat <- sapply(lres, function(x) x$statistics[1]/x$statistics[2]) zmat <- matrix(zmat, ncol=3) colnames(zmat) <- c("Direct", "Indirect", "Total") } else { zmat <- sapply(lres, function(x) x$statistics[,1]/x$statistics[,2]) colnames(zmat) <- c("Direct", "Indirect", "Total") } pzmat <- 2*(1-pnorm(abs(zmat))) res <- c(res, list(zmat=zmat, pzmat=pzmat)) if (!is.null(Qmcmc) && !is.null(reportQ) && reportQ) { Qzmats <- lapply(Qmcmc, function(x) { Qm <- matrix(x$statistics[,1]/x$statistics[,2], ncol=length(attr(object, "bnames"))) colnames(Qm) <- attr(object, "bnames") rownames(Qm) <- paste("Q", 1:nrow(Qm), sep="") Qm }) names(Qzmats) <- c("Direct", "Indirect", "Total") Qpzmats <- lapply(Qzmats, function(x) { xo <- 2*(1-pnorm(abs(x))) rownames(xo) <- paste("Q", 1:nrow(xo), sep="") xo }) res <- c(res, list(Qzmats=Qzmats, Qpzmats=Qpzmats)) } } attr(res, "useHESS") <- attr(object, "useHESS") attr(res, "bnames") <- attr(object, "bnames") attr(res, "method") <- attr(object, "method") attr(res, "insert") <- attr(object, "insert") attr(res, "type") <- attr(object, "type") attr(res, "short") <- short attr(res, "reportQ") <- reportQ tp <- NULL if ("sarlm" %in% attr(object, "iClass")) { tp <- ifelse(attr(object, "useHESS"), ifelse(attr(object, "insert"), "mixed Hessian approximation", "numerical Hessian approximation"), "asymptotic") } else if ("lagmess" %in% attr(object, "iClass")) { tp <- "numerical Hessian approximation" } else if ("stsls" %in% attr(object, "iClass")) { tp <- "asymptotic IV" if (!is.null(attr(object, "robust")) && attr(object, "robust")) { HC <- attr(object, "HC") if (is.null(HC)) HC <- "HC0" tp <- paste(HC, "IV") } } if ("sphet" %in% attr(object, "iClass")) { tp <- "IV HAC" if ("gstsls" %in% attr(object, "iClass")) tp <- "GSTSLS" } if ("MCMC_sar_g" %in% attr(object, "iClass")) tp <- "MCMC samples" attr(res, "tp") <- tp class(res) <- "summary.lagImpact" res } print.summary.lagImpact <- function(x, ...) { reportQ <- attr(x, "reportQ") mat <- lagImpactMat(x, reportQ) Qobj <- attr(mat, "Qobj") attr(mat, "Qobj") <- NULL cat("Impact measures (", attr(x, "type"), ", ", attr(x, "method"), "):\n", sep="") print(mat) if (!is.null(reportQ) && reportQ) { if (is.null(Qobj)) warning("No impact components to report") else { cat("=================================\nImpact components\n") print(Qobj) } } cat("========================================================\n") if (!is.null(attr(x, "tp")) && attr(x, "tp") == "MCMC samples") { cat("MCMC sample impact results:\n") } else { cat("Simulation results (", attr(x, "tp"), " variance matrix):\n", sep="") } if (!attr(x, "short")) { cat("Direct:\n") print(x$direct_sum) cat("========================================================\n") cat("Indirect:\n") print(x$indirect_sum) cat("========================================================\n") cat("Total:\n") print(x$total_sum) if (!is.null(reportQ) && reportQ && !is.null(x$Qdirect_sum)) { cat("========================================================\n") cat("Direct impact components:\n") print(x$Qdirect_sum) cat("========================================================\n") cat("Indirect impact components:\n") print(x$Qindirect_sum) cat("========================================================\n") cat("Total impact components:\n") print(x$Qtotal_sum) } } if (!is.null(x$zmat)) { cat("========================================================\n") cat("Simulated z-values:\n") mat <- x$zmat rownames(mat) <- attr(x, "bnames") print(mat) cat("\nSimulated p-values:\n") xx <- apply(x$pzmat, 2, format.pval) # 100928 Eelke Folmer if (length(attr(x, "bnames")) == 1L) { xx <- matrix(xx, ncol=3) colnames(xx) <- c("Direct", "Indirect", "Total") } rownames(xx) <- attr(x, "bnames") print(xx, quote=FALSE) if (!is.null(x$Qzmats)) { cat("========================================================\n") cat("Simulated impact components z-values:\n") print(x$Qzmats) cat("\nSimulated impact components p-values:\n") xx <- lapply(x$Qpzmats, function(y) { xo <- apply(y, 2, format.pval) rownames(xo) <- paste("Q", 1:nrow(xo), sep="") xo }) print(xx, quote=FALSE) } } invisible(x) } plot.lagImpact <- function(x, ..., choice="direct", trace=FALSE, density=TRUE) { if (is.null(x$sres)) stop("plot method unavailable") plot(x$sres[[choice]], trace=trace, density=density, sub=choice) invisible(x) } HPDinterval.lagImpact <- function(obj, prob = 0.95, ..., choice="direct") { if (is.null(obj$sres)) stop("HPDinterval method unavailable") res <- HPDinterval(obj$sres[[choice]], prob=prob) res } spdep/R/p.adjustSP.R0000644000176200001440000000052511716033157013712 0ustar liggesusers# Copyright 2004 by Roger Bivand and Danlin Yu # p.adjustSP <- function(p, nb, method="none") { # class to inherits Jari Oksanen 080603 if (!inherits(nb, "nb")) stop("not a neighbours list") n <- card(nb) + 1 pn <- cbind(p, n) res <- apply(pn, 1, function(x) p.adjust(x[1], method=method, n=x[2])) res } spdep/R/mcmcsamp.R0000644000176200001440000002343412670633205013523 0ustar liggesusersMCMCsamp <- function(object, mcmc = 1L, verbose = NULL, ...) UseMethod("MCMCsamp") # from lme4/R/AllGeneric.R MCMCsamp.spautolm <- function(object, mcmc = 1L, verbose = NULL, ..., burnin=0L, scale=1, listw, control=list()) { con <- list(Imult=2, cheb_q=5, MC_p=16, MC_m=30, super=NULL, spamPivot="MMD", in_coef=0.1, type="MC", correct=TRUE, trunc=TRUE, SE_method="LU", nrho=200, interpn=2000, small_asy=TRUE, small=1500, SElndet=NULL, LU_order=FALSE) timings <- list() .ptime_start <- proc.time() nmsC <- names(con) con[(namc <- names(control))] <- control if (length(noNms <- namc[!namc %in% nmsC])) warning("unknown names in control: ", paste(noNms, collapse = ", ")) if (is.null(verbose)) verbose <- get("verbose", envir = .spdepOptions) stopifnot(is.logical(verbose)) if (!inherits(listw, "listw")) stop("No neighbourhood list") method <- object$method family <- object$family if (family == "SMA" && method != "eigen") stop("SMA only for eigen method") X <- object$X N <- nrow(X) if (N != length(listw$neighbours)) stop("Input data and neighbourhood list have different dimensions") stopifnot(ncol(X) == length(object$fit$coefficients)) weights <- object$weights stopifnot(length(weights) == N) can.sim <- FALSE if (listw$style %in% c("W", "S")) can.sim <- can.be.simmed(listw) sum_lw <- sum(log(weights)) env <- new.env() assign("Y", object$Y, envir=env) assign("X", X, envir=env) assign("n", N, envir=env) assign("weights", weights, envir=env) assign("can.sim", can.sim, envir=env) assign("family", family, envir=env) assign("method", method, envir=env) assign("verbose", verbose, envir=env) assign("listw", listw, envir=env) assign("sum_lw", sum_lw, envir=env) W <- as(listw, "CsparseMatrix") if (family == "CAR") if (!isTRUE(all.equal(W, t(W)))) warning("Non-symmetric spatial weights in CAR model") assign("W", W, envir=env) I <- as_dsCMatrix_I(N) assign("I", I, envir=env) Sweights <- as(as(Diagonal(x=weights), "symmetricMatrix"), "CsparseMatrix") assign("Sweights", Sweights, envir=env) timings[["data_setup"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() if (verbose) cat(paste("\nJacobian calculated using ")) interval <- jacobianSetup(method, env, con, trs=object$trs, interval=object$interval) assign("interval", interval, envir=env) timings[["logdet_setup"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() start <- c(object$lambda, object$fit$coefficients) V <- object$fdHess stopifnot(nrow(V) == ncol(V)) stopifnot(nrow(V) == length(start)) res0 <- rwmetrop(logpost=f_spautolm_hess, start=start, proposal=list(var=V, scale=scale), m=(mcmc+burnin), env=env) # MCMCmetrop1R(fun=f_spautolm_hess, theta.init=start, burnin=burnin, # mcmc=mcmc, thin=thin, verbose=ifelse(verbose, verbose_step, 0), # seed=seed, logfun=TRUE, V=V, env=env) res <- as.mcmc(res0$par[(burnin+1):(mcmc+burnin),]) attr(res, "accept") <- res0$accept colnames(res) <- c(names(object$lambda), names(object$fit$coefficients)) attr(res, "type") <- family timings[["rwmetrop"]] <- proc.time() - .ptime_start attr(res, "timings") <- do.call("rbind", timings)[, c(1, 3)] res } MCMCsamp.sarlm <- function(object, mcmc = 1L, verbose = NULL, ..., burnin=0L, scale=1, listw, listw2=NULL, control=list()) { timings <- list() .ptime_start <- proc.time() con <- list(compiled_sse=FALSE, Imult=2, cheb_q=5, MC_p=16, MC_m=30, super=NULL, spamPivot="MMD", in_coef=0.1, type="MC", correct=TRUE, trunc=TRUE, SE_method="LU", nrho=200, interpn=2000, small_asy=TRUE, small=1500, SElndet=NULL, LU_order=FALSE) nmsC <- names(con) con[(namc <- names(control))] <- control if (length(noNms <- namc[!namc %in% nmsC])) warning("unknown names in control: ", paste(noNms, collapse = ", ")) if (is.null(verbose)) verbose <- get("verbose", envir = .spdepOptions) stopifnot(is.logical(verbose)) if (!inherits(listw, "listw")) stop("No neighbourhood list") type <- object$type if (length(grep("sac", type) > 0)) Type <- "SAC" else if (length(grep("error", type) > 0)) Type <- "ERROR" else Type <- "LAG" method <- object$method X <- object$X N <- nrow(X) if (N != length(listw$neighbours)) stop("Input data and neighbourhood list have different dimensions") stopifnot(ncol(X) == length(object$coefficients)) can.sim <- FALSE if (listw$style %in% c("W", "S")) can.sim <- can.be.simmed(listw) weights <- object$weights if (is.null(weights)) weights <- rep(1, N) stopifnot(length(weights) == N) sum_lw <- sum(log(weights)) sw <- sqrt(weights) env <- new.env() assign("y", object$y, envir=env) assign("x", X, envir=env) assign("n", N, envir=env) assign("listw", listw, envir=env) assign("sum_lw", sum_lw, envir=env) assign("sw", sw, envir=env) assign("can.sim", can.sim, envir=env) assign("method", method, envir=env) assign("verbose", verbose, envir=env) assign("family", "SAR", envir=env) W <- as(listw, "CsparseMatrix") wy <- c(as.matrix(W %*% c(object$y))) assign("wy", wy, envir=env) if (is.numeric(object$resvar)) V <- object$resvar[-1,-1] else V <- object$fdHess stopifnot(nrow(V) == ncol(V)) timings[["data_setup"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() if (verbose) cat(paste("\nJacobian calculated using ")) if (Type == "SAC") { interval1 <- jacobianSetup(method, env, con, trs=object$trs1, interval=object$interval1, which=1) assign("interval1", interval1, envir=env) if (is.null(listw2)) listw2 <- listw else if (!inherits(listw2, "listw")) stop("No 2nd neighbourhood list") can.sim2 <- FALSE if (listw2$style %in% c("W", "S")) can.sim2 <- can.be.simmed(listw2) assign("listw2", listw2, envir=env) assign("can.sim2", can.sim2, envir=env) interval2 <- jacobianSetup(method, env, con, trs=object$trs2, interval=object$interval2, which=2) assign("interval2", interval2, envir=env) } else { interval <- jacobianSetup(method, env, con, trs=object$trs, interval=object$interval) assign("interval", interval, envir=env) assign("hf_calls", 0L, envir=env) assign("compiled_sse", con$compiled_sse, envir=env) assign("first_time", TRUE, envir=env) } timings[["logdet_setup"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() if (Type == "LAG") { if (con$compiled_sse) { ptr <- .Call("hess_lag_init", PACKAGE="spdep") assign("ptr", ptr, envir=env) } start <- c(object$rho, object$coefficients) stopifnot(nrow(V) == length(start)) res0 <- rwmetrop(logpost=f_laglm_hess, start=start, proposal=list(var=V, scale=scale), m=(mcmc+burnin), env=env) # res <- MCMCmetrop1R(fun=f_laglm_hess, theta.init=start, # burnin=burnin, mcmc=mcmc, thin=thin, verbose=ifelse(verbose, # verbose_step, 0), seed=seed, logfun=TRUE, V=V, env=env) if (con$compiled_sse) { .Call("hess_lag_free", get("ptr", envir=env), PACKAGE="spdep") } res <- as.mcmc(res0$par[(burnin+1):(mcmc+burnin),]) attr(res, "accept") <- res0$accept colnames(res) <- c(names(object$rho), names(object$coefficients)) attr(res, "type") <- object$type } else if (Type == "ERROR") { WX <- as.matrix(W %*% X) assign("WX", WX, envir=env) if (con$compiled_sse) { ptr <- .Call("hess_error_init", PACKAGE="spdep") assign("ptr", ptr, envir=env) } start <- c(object$lambda, object$coefficients) stopifnot(nrow(V) == length(start)) res0 <- rwmetrop(logpost=f_errlm_hess, start=start, proposal=list(var=V, scale=scale), m=(mcmc+burnin), env=env) # res <- MCMCmetrop1R(fun=f_errlm_hess, theta.init=start, # burnin=burnin, mcmc=mcmc, thin=thin, verbose=ifelse(verbose, # verbose_step, 0), seed=seed, logfun=TRUE, V=V, env=env) if (con$compiled_sse) { .Call("hess_error_free", get("ptr", envir=env), PACKAGE="spdep") } res <- as.mcmc(res0$par[(burnin+1):(mcmc+burnin),]) attr(res, "accept") <- res0$accept colnames(res) <- c(names(object$lambda), names(object$coefficients)) attr(res, "type") <- object$type } else if (Type == "SAC") { assign("WX", object$W2X, envir=env) W2 <- as(listw2, "CsparseMatrix") w2y <- c(as.matrix(W2 %*% object$y)) assign("w2y", w2y, envir=env) w2wy <- c(as.matrix(W2 %*% wy)) assign("w2wy", w2wy, envir=env) start <- c(object$rho, object$lambda, object$coefficients) stopifnot(nrow(V) == length(start)) res0 <- rwmetrop(logpost=f_sac_hess, start=start, proposal=list(var=V, scale=scale), m=(mcmc+burnin), env=env) # res <- MCMCmetrop1R(fun=f_sac_hess, theta.init=start, # burnin=burnin, mcmc=mcmc, thin=thin, verbose=ifelse(verbose, # verbose_step, 0), seed=seed, logfun=TRUE, V=V, env=env) res <- as.mcmc(res0$par[(burnin+1):(mcmc+burnin),]) attr(res, "accept") <- res0$accept colnames(res) <- c(names(object$rho), names(object$lambda), names(object$coefficients)) attr(res, "type") <- object$type } timings[["rwmetrop"]] <- proc.time() - .ptime_start attr(res, "timings") <- do.call("rbind", timings)[, c(1, 3)] if (attr(res, "accept") < 0.05) warning("MCMCsamp: very low acceptance rate") res } spdep/R/SpatialFiltering.R0000644000176200001440000002632312431373205015160 0ustar liggesusersSpatialFiltering <- function (formula, lagformula, data=list(), nb, glist=NULL, style="C", zero.policy=NULL, tol=0.1, zerovalue = 0.0001, ExactEV=FALSE, symmetric=TRUE, alpha=NULL, alternative="two.sided", verbose=NULL) { # # tol: tolerance value for convergence of spatial filtering (Moran's I). # The search for eigenvector terminates, once the residual # autocorrelation falls below abs(Moran's I) < tol. For positive # spatial autocorrelation in the residuals of the basic unfiltered model, # only those eigenvectors associated with positive autocorrelation are in # the selection set. Vice versa, for negative autocorrelation in the # regression residuals. # # zerovalue: eigenvectors with eigenvalues smaller than zerovalue # will be excluded in eigenvector search. Allows to restrict the # search set of eigenvectors to those with extreme autocorrelation levels. # # ExactEV: In some incidences the approximation of using the expectation # and variance of Moran's I from the previous iteration will lead # to inversions. Set ExactEV=TRUE in this situation to use exact # expectations and variances # alpha: Added for Pedro Peres-Neto to explore its consequences as # compared to tol= as a stopping rule. # # Authors: Yongwan Chun and Michael Tiefelsdorf # Dept. of Geography - The Ohio State University # Columbus, Ohio 43210 # emails: chun.49@osu.edu and tiefelsdorf.1@osu.edu # Modified by Roger Bivand # # Reference: Tiefelsdorf M, Griffith DA. Semiparametric Filtering of Spatial # Autocorrelation: The Eigenvector Approach. Environment and Planning A # 2007, 39 (5) 1193 - 1221 # # Version 0.9.1 - September 11, 2004 # Adaptation to formula format Roger Bivand December 2005 if (missing(nb)) stop("Neighbour list argument missing") if (missing(formula)) stop("Formula argument missing") if (is.null(verbose)) verbose <- get("verbose", envir = .spdepOptions) stopifnot(is.logical(verbose)) if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) lw <- nb2listw(nb, glist=glist, style=style, zero.policy=zero.policy) if (symmetric) lw <- listw2U(lw) S <- listw2mat(lw) a <- sum(S) S <- nrow(S)/a*S nofreg <- nrow(S) # number of observations # Generate Eigenvectors if eigen vectors are not given # (M1 for no SAR, MX for SAR) if (class(formula) != "formula") formula <- as.formula(formula) mt <- terms(formula, data = data) mf <- lm(formula, data, method="model.frame") y <- model.extract(mf, "response") if (any(is.na(y))) stop("NAs in dependent variable") xsar <- model.matrix(mt, mf) if (any(is.na(xsar))) stop("NAs in independent variable") if (NROW(xsar) != length(nb)) stop("Input data and neighbourhood list have different dimensions") mx <- diag(1,nofreg) - xsar %*% qr.solve(crossprod(xsar), t(xsar)) S <- mx %*% S %*% mx #Get EigenVectors and EigenValues eigens <- eigen(S,symmetric=symmetric) val <- as.matrix(eigens$values) vec <- as.matrix(eigens$vectors) if (missing(lagformula)) X <- xsar else { xlag <- model.matrix(lagformula, data=data) isIntercept <- match("(Intercept)", colnames(xlag)) if (!is.na(isIntercept)) xlag <- xlag[,-(isIntercept), drop=FALSE] X <- cbind(xsar, xlag) } coll_test <- lm(y ~ X - 1) if (any(is.na(coefficients(coll_test)))) stop("Collinear RHS variable detected") y <- as.matrix(y) # Xorg <- X # X will be augmented by the selected eigenvectors #Total sum of squares for R2 TSS <- sum((y - mean(y))^2) #Compute first Moran Expectation and Variance nofexo <- ncol(X) # Number of exogenous variables (incl. const) degfree <- nofreg - nofexo M <- diag(1,nofreg) - X %*% solve(crossprod(X),t(X)) MSM <- M %*% S %*% M MStat <- GetMoranStat(MSM, degfree) E <- MStat$Mean V <- MStat$Var #Matrix storing the iteration history: # [1] Step counter of the selection procedure # [2] number of selected eigenvector (sorted descending) # [3] its associated eigenvalue # [4] value Moran's I for residual autocorrelation # [5] standardized value of Moran's I assuming a normal approximation # [6] p-value of [5] for given alternative # [7] R^2 of the model including exogenous variables and eigenvectors # c("Step","SelEvec","Eval","MinMi","ZMinMi","R2","gamma") #Store the results at Step 0 (i.e., no eigenvector selected yet) cyMy <- crossprod(y, M) %*% y cyMSMy <- crossprod(y, MSM) %*% y IthisTime <- (cyMSMy) / (cyMy) zIthisTime <- (IthisTime - E) / sqrt(V) altfunc <- function(ZI, alternative="two.sided") { if (alternative == "two.sided") PrI <- 2 * pnorm(abs(ZI), lower.tail=FALSE) else if (alternative == "greater") PrI <- pnorm(ZI, lower.tail=FALSE) else PrI <- pnorm(ZI) PrI } out <- c( 0, 0, 0, IthisTime, zIthisTime, altfunc(zIthisTime, alternative=alternative), 1 - ((cyMy) / TSS) ) if (verbose) cat("Step", out[1], "SelEvec", out[2], "MinMi", out[4], "ZMinMi", out[5],"Pr(ZI)", out[6], "\n") Aout <- out #Define search eigenvalue range #The search range is restricted into a sign range based on Moran's I #Put a sign for eigenvectors associated with their eigenvalues #if val > zerovalue (e.g. if val > 0.0001), then 1 #if val < zerovalue (e.g. if val < -0.0001), then -1 #otherwise 0 sel <- cbind(row(y)[,1],val,matrix(0,nofreg,1)) # sel[,3] <- (val > zerovalue) - (val < -zerovalue) sel[,3] <- (val > abs(zerovalue)) - (val < -abs(zerovalue)) #Compute the Moran's I of the aspatial model (without any eigenvector) #i.e., the sign of autocorrelation #if MI is positive, then acsign = 1 #if MI is negative, then acsign = -1 res <- y - X %*% solve(crossprod(X), crossprod(X, y)) acsign <- 1 if (((crossprod(res, S) %*% res) / crossprod(res)) < 0) acsign <- -1 #If only sar model is applied or just the intercept, #Compute and save coefficients for all eigenvectors is.onlysar <- FALSE # if (missing(xlag) & !missing(xsar)) # changed by MT if (missing(lagformula)) { is.onlysar <- TRUE Xcoeffs <- solve(crossprod(X), crossprod(X, y)) gamma4eigenvec <- cbind(row(y)[,1],matrix(0,nofreg,1)) # Only SAR the first parameter estimation for all eigenvectors # Due to orthogonality each coefficient can be estimate individually for (j in 1:nofreg) { #Loop if (sel[j,3] == acsign ) { #Use only feasible unselected evecs gamma4eigenvec[j,2] <- solve(crossprod(vec[,j]), crossprod(vec[,j], y)) } } } # Here the actual search starts - The inner loop check each candidate - # The outer loop selects eigenvectors until the residual autocorrelation # falls below 'tol' # Loop over all eigenvectors with positive or negative eigenvalue oldZMinMi <- Inf for (i in 1:nofreg) { #Outer Loop z <- Inf idx <- 0 for (j in 1:nofreg) { #Inner Loop - Find next eigenvector if (sel[j,3] == acsign ) { #Use only feasible unselected evecs xe <- cbind(X, vec[,j]) #Add test eigenvector #Based on whether it is an only SAR model or not if (is.onlysar) res <- y - xe %*% as.matrix(rbind(Xcoeffs, gamma4eigenvec[j,2])) else res <- y - xe %*% solve(crossprod(xe), crossprod(xe, y)) mi <- (crossprod(res, S) %*% res) / crossprod(res) if (ExactEV) { M <- diag(1,nofreg) - xe %*% solve(crossprod(xe),t(xe)) degfree <- nofreg - ncol(xe) MSM <- M %*% S %*% M MStat <- GetMoranStat(MSM, degfree) E <- MStat$Mean V <- MStat$Var } if (abs((mi - E) / sqrt(V)) < z) { #Identify min z(Moran) MinMi = mi z <- (MinMi - E) / sqrt(V) idx =j } } } #End inner loop #Update design matrix permanently by selected eigenvector X <- cbind(X,vec[,idx]) if (is.onlysar) Xcoeffs <- (rbind(Xcoeffs,gamma4eigenvec[idx,2])) M <- diag(1,nofreg) - X %*% solve(crossprod(X),t(X)) degfree <- nofreg - ncol(X) #Update Expectation and Variance MSM <- M %*% S %*% M MStat <- GetMoranStat(MSM, degfree) E <- MStat$Mean V <- MStat$Var ZMinMi <- ((MinMi - E) / sqrt(V)) #Add results of i-th step out <- c(i, idx, val[idx],MinMi,ZMinMi, altfunc(ZMinMi, alternative=alternative), (1 - (crossprod(y, M) %*% y / TSS))) if (verbose) cat("Step", out[1], "SelEvec", out[2], "MinMi", out[4], "ZMinMi", out[5],"Pr(ZI)", out[6], "\n") Aout <- rbind(Aout, out) #To exclude the selected eigenvector in the next loop sel[idx,3] <- 0 if (is.null(alpha)) { if (abs(ZMinMi) < tol) { break } else if (abs(ZMinMi) > abs(oldZMinMi)) { if (!ExactEV) { cat(" An inversion has been detected. The procedure will terminate now.\n") cat(" It is suggested to use the exact expectation and variance of Moran's I\n") cat(" by setting the option ExactEV to TRUE.\n") } break } } else { if (altfunc(ZMinMi, alternative=alternative) >= alpha) break } if (!ExactEV) { if (abs(ZMinMi) > abs(oldZMinMi)) { cat(" An inversion has been detected. The procedure will terminate now.\n") cat(" It is suggested to use the exact expectation and variance of Moran's I\n") cat(" by setting the option ExactEV to TRUE.\n") break } } oldZMinMi <- ZMinMi } # End Outer Loop # Regression coefficients of selected eigenvectors betagam <- solve(crossprod(X),crossprod(X,y)) gammas <- as.matrix(betagam[(nofexo+1):(nrow(betagam)),1]) #Formatting the output gammas <- rbind(0, gammas) # Add 0 for iteration zero out <- cbind(Aout,gammas) colnames(out) <- c("Step","SelEvec","Eval","MinMi","ZMinMi","Pr(ZI)","R2","gamma") rownames(out) <- out[,1] selVec <- vec[,out[,2], drop=FALSE] colnames(selVec) <- c(paste("vec",out[2:nrow(out),2],sep="")) #Generating a result object SFResult <- list(selection=out, dataset=selVec) class(SFResult) <- "SFResult" return(SFResult) } print.SFResult <- function(x, ...) { print(x$selection, ...) } fitted.SFResult <- function(object, ...) { object$dataset } GetMoranStat <- function(MSM, degfree) { #MSM : M %*% S %*% M matrix # M : projection matrix # S : coded symmetric spatial link matrix #degfree: degrees of freedom MSM <- as.matrix(MSM) t1 <- sum(diag(MSM)) t2 <- sum(diag(MSM %*% MSM)) E <- t1 / degfree V <- 2 * (degfree * t2 - t1 * t1)/(degfree * degfree * (degfree + 2)) return(list(Mean=E,Var=V)) } spdep/R/kpgm_new.R0000644000176200001440000005431013073146557013536 0ustar liggesusers# Copyright 2005-8 by Luc Anselin and Roger Bivand # Kelejian-Prucha generalized moments equations # for spatial SAR error model # main function # Usage: # GMerrorsar(formula, data = list(), listw, na.action=na.fail, zero.policy=FALSE, control=list()) # Arguments: # formula: standard model formula # data: which data frame to search for model variables # listw: spatial weights file as list object # na.action: standard value # zero.policy: allow no-neighbour observations if TRUE # control: list of control arguments to optim (such as list(trace=1)) # Details: # initializes with ols, calls helper function kpwuwu to build # the G and g matrices, calls optim unconstrained optimizer with # kpgm as function and plausible starting values to get estimate # for lambda, then finds results with spatially weighted least squares # Value: # an S3 "gmsar" object GMerrorsar <- function(#W, y, X, formula, data = list(), listw, na.action=na.fail, zero.policy=NULL, method="nlminb", arnoldWied=FALSE, control=list(), pars, scaleU=FALSE, verbose=NULL, legacy=FALSE, se.lambda=TRUE, returnHcov=FALSE, pWOrder=250, tol.Hcov=1.0e-10) { # ols <- lm(I(y) ~ I(X) - 1) if (is.null(verbose)) verbose <- get("verbose", envir = .spdepOptions) stopifnot(is.logical(verbose)) if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) if (class(formula) != "formula") formula <- as.formula(formula) mt <- terms(formula, data = data) mf <- lm(formula, data, na.action=na.action, method="model.frame") na.act <- attr(mf, "na.action") if (!is.null(na.act)) { subset <- !(1:length(listw$neighbours) %in% na.act) listw <- subset(listw, subset, zero.policy=zero.policy) } if (!inherits(listw, "listw")) stop("No neighbourhood list") y <- model.extract(mf, "response") if (any(is.na(y))) stop("NAs in dependent variable") x <- model.matrix(mt, mf) if (any(is.na(x))) stop("NAs in independent variable") if (NROW(x) != length(listw$neighbours)) stop("Input data and neighbourhood list have different dimensions") # added aliased after trying boston with TOWN dummy lm.base <- lm(y ~ x - 1) aliased <- is.na(coefficients(lm.base)) cn <- names(aliased) names(aliased) <- substr(cn, 2, nchar(cn)) if (any(aliased)) { nacoef <- which(aliased) x <- x[,-nacoef] } ols <- lm(y ~ x - 1) ukp <- residuals(ols) vvo <- .kpwuwu(listw, ukp, zero.policy=zero.policy, arnoldWied=arnoldWied, X=x) if (missing(pars)) { scorr <- c(crossprod(lag.listw(listw, ukp, zero.policy=zero.policy), ukp) / crossprod(ukp, ukp)) scorr <- scorr / (sum(unlist(listw$weights)) / length(ukp)) if (scaleU) ukp <- scale(ukp) pars <- c(scorr, var(ukp)) } if (length(pars) !=2L || !is.numeric(pars)) stop("invalid starting parameter values") vv <- .kpwuwu(listw, ukp, zero.policy=zero.policy, arnoldWied=arnoldWied, X=x) # nlsres <- nlm(.kpgm, pars, print.level=print.level, gradtol=gradtol, steptol=steptol, iterlim=iterlim, v=vv, verbose=verbose) # lambda <- nlsres$estimate[1] if (method == "nlminb") optres <- nlminb(pars, .kpgm, v=vv, verbose=verbose, control=control) else optres <- optim(pars, .kpgm, v=vv, verbose=verbose, method=method, control=control) if (optres$convergence != 0) warning(paste("convergence failure:", optres$message)) lambda <- optres$par[1] names(lambda) <- "lambda" GMs2 <- optres$par[2] # Gn <- vv$bigG # Gn2 <- vv$litg # pars <- c(lambda, lambda^2, GMs2) # Hfun <- function(pars, Gn, Gn2) { # val <- Gn2 - Gn %*% pars # sum(val^2) # } # e1 <- Gn2 - Gn %*% pars # vare1 <- sd(e1)^2 # Hess <- fdHess(pars=pars, fun=Hfun, Gn=Gn, Gn2=Gn2)$Hessian # res <- solve(Hess) # lambda.se <- sqrt(vare1*diag(res))[1] lambda.se <- NULL wy <- lag.listw(listw, y, zero.policy=zero.policy) if (any(is.na(wy))) stop("NAs in lagged dependent variable") n <- NROW(x) m <- NCOL(x) xcolnames <- colnames(x) K <- ifelse(xcolnames[1] == "(Intercept)", 2, 1) if (any(is.na(wy))) stop("NAs in lagged dependent variable") if (m > 1) { WX <- matrix(nrow=n,ncol=(m-(K-1))) for (k in K:m) { wx <- lag.listw(listw, x[,k], zero.policy=zero.policy) if (any(is.na(wx))) stop("NAs in lagged independent variable") WX[,(k-(K-1))] <- wx } } if (K == 2) { # modified to meet other styles, email from Rein Halbersma wx1 <- as.double(rep(1, n)) wx <- lag.listw(listw, wx1, zero.policy=zero.policy) if (m > 1) WX <- cbind(wx, WX) else WX <- matrix(wx, nrow=n, ncol=1) } colnames(WX) <- xcolnames rm(wx) lm.target <- lm(I(y - lambda*wy) ~ I(x - lambda*WX) - 1) coef.lambda <- coefficients(lm.target) names(coef.lambda) <- xcolnames if (legacy) { SSE <- deviance(lm.target) s2 <- SSE/n p <- lm.target$rank rest.se <- (summary(lm.target)$coefficients[,2])*sqrt((n-p)/n) r <- as.vector(residuals(lm.target)) fit <- as.vector(y - r) vcov <- vcov(lm.target) } else { fit <- as.vector(x %*% coef.lambda) r <- as.vector(y - fit) e <- residuals(ols) et <- e - lambda*lag.listw(listw, e, zero.policy=zero.policy) SSE <- c(crossprod(et)) s2 <- SSE/n Bx <- x - lambda*WX Qr <- qr(Bx/(sqrt(s2))) invxpx <- chol2inv(Qr$qr) rest.se <- sqrt(diag(invxpx)) vcov <- invxpx } W <- as(listw, "CsparseMatrix") lambda.se <- NULL if (!arnoldWied && se.lambda) { # produce an std for "rho" following Kelejian-Prucha (2004) # implemented following sem_gmm.m in the Matlab Spatial Econometrics # toolbox, written by Shawn Bucholtz, modified extensively by J.P. LeSage # after http://econweb.umd.edu/~prucha/STATPROG/OLS/desols.pdf KP04a <- (1/n) * vvo$trwpw KP04c <- sqrt(1/(1+(KP04a*KP04a))) KP04se <- vvo$wu KP04de <- vvo$wwu KP04eo <- residuals(ols) J <- matrix(0.0, ncol=2, nrow=2) J[1,1] <- 2*KP04c*(crossprod(KP04de, KP04se) - KP04a*crossprod(KP04se, KP04eo)) J[2,1] <- crossprod(KP04de, KP04eo) + crossprod(KP04se) J[1,2] <- - KP04c*(crossprod(KP04de) - KP04a*crossprod(KP04se)) J[2,2] <- - crossprod(KP04de, KP04se) J <- (1/n)*J J1 <- J %*% matrix(c(1, 2*lambda), ncol=1) A2N <- crossprod(W) A1N <- KP04c*(A2N - KP04a*as_dsCMatrix_I(n)) A1NA1Np <- A1N+t(A1N) A2NA2Np <- A2N+t(A2N) trA1A1 <- sum(colSums(t(A1NA1Np)*A1NA1Np)) trA1A2 <- sum(colSums(crossprod(A2NA2Np, A1NA1Np))) trA2A2 <- sum(colSums(crossprod(A2NA2Np, A2NA2Np))) sigh <- s2*s2 phihat <- matrix(0.0, ncol=2, nrow=2) phihat[1,1] <- (sigh)*trA1A1/(2*n) phihat[1,2] <- (sigh)*trA1A2/(2*n) phihat[2,1] <- (sigh)*trA1A2/(2*n) phihat[2,2] <- (sigh)*trA2A2/(2*n) JJI <- 1/crossprod(J1) omega <- JJI * t(J1) %*% phihat %*% J1 * JJI lambda.se <- sqrt(omega/n) } call <- match.call() names(r) <- names(y) names(fit) <- names(y) Hcov <- NULL if (returnHcov) { pp <- ols$rank p1 <- 1L:pp R <- chol2inv(ols$qr$qr[p1, p1, drop = FALSE]) B <- tcrossprod(R, x) B <- as(powerWeights(W=W, rho=lambda, order=pWOrder, X=B, tol=tol.Hcov), "matrix") C <- x %*% R C <- as(powerWeights(W=t(W), rho=lambda, order=pWOrder, X=C, tol=tol.Hcov), "matrix") Hcov <- B %*% C attr(Hcov, "method") <- "Matrix" } ret <- structure(list(type= "ERROR", lambda=lambda, coefficients=coef.lambda, rest.se=rest.se, s2=s2, SSE=SSE, parameters=(m+2), lm.model=ols, call=call, residuals=r, lm.target=lm.target, fitted.values=fit, formula=formula, aliased=aliased, zero.policy=zero.policy, vv=vv, optres=optres, pars=pars, Hcov=Hcov, legacy=legacy, lambda.se=lambda.se, arnoldWied=arnoldWied, GMs2=GMs2, scaleU=scaleU, vcov=vcov), class=c("gmsar")) if (zero.policy) { zero.regs <- attr(listw$neighbours, "region.id")[which(card(listw$neighbours) == 0)] if (length(zero.regs) > 0L) attr(ret, "zero.regs") <- zero.regs } if (!is.null(na.act)) ret$na.action <- na.act ret } # Copyright 2005 by Roger Bivand residuals.gmsar <- function(object, ...) { if (is.null(object$na.action)) object$residuals else napredict(object$na.action, object$residuals) } deviance.gmsar <- function(object, ...) { deviance(object$lm.target) } coef.gmsar <- function(object, ...) { ret <- c(object$coefficients, object$lambda) ret } fitted.gmsar <- function(object, ...) { if (is.null(object$na.action)) object$fitted.values else napredict(object$na.action, object$fitted.values) } print.gmsar <- function(x, ...) { cat("\nCall:\n") print(x$call) cat("\n") cat("\nCoefficients:\n") print(coef(x)) invisible(x) } summary.gmsar <- function(object, correlation = FALSE, Hausman=FALSE, ...) { object$coeftitle <- "(GM standard errors)" object$Coef <- cbind(object$coefficients, object$rest.se, object$coefficients/object$rest.se, 2*(1-pnorm(abs(object$coefficients/object$rest.se)))) colnames(object$Coef) <- c("Estimate", "Std. Error", "z value", "Pr(>|z|)") rownames(object$Coef) <- names(object$coefficients) if (Hausman && !is.null(object$Hcov)) { object$Haus <- Hausman.test(object) } structure(object, class=c("summary.gmsar", class(object))) } ###modified to acomodate the SARAR model print.summary.gmsar<-function (x, digits = max(5, .Options$digits - 3), signif.stars = FALSE, ...) { cat("\nCall:", deparse(x$call), sep = "", fill = TRUE) cat("\nResiduals:\n") resid <- residuals(x) nam <- c("Min", "1Q", "Median", "3Q", "Max") rq <- if (length(dim(resid)) == 2L) structure(apply(t(resid), 1, quantile), dimnames = list(nam, dimnames(resid)[[2]])) else structure(quantile(resid), names = nam) print(rq, digits = digits, ...) if(x$type=="SARAR") cat("\nType: GM SARAR estimator") else cat("\nType: GM SAR estimator") if (x$arnoldWied) cat(" (Arnold and Wied (2010) moment definitions)\n") else cat("\n") if (x$zero.policy) { zero.regs <- attr(x, "zero.regs") if (!is.null(zero.regs)) cat("Regions with no neighbours included:\n", zero.regs, "\n") } cat("Coefficients:", x$coeftitle, "\n") coefs <- x$Coef if (!is.null(aliased <- x$aliased) && any(x$aliased)) { cat(" (", table(aliased)["TRUE"], " not defined because of singularities)\n", sep = "") cn <- names(aliased) coefs <- matrix(NA, length(aliased), 4, dimnames = list(cn, colnames(x$Coef))) coefs[!aliased, ] <- x$Coef } printCoefmat(coefs, signif.stars = signif.stars, digits = digits, na.print = "NA") cat("\nLambda:", format(signif(x$lambda, digits))) if (!is.null(x$lambda.se)) { cat(" (standard error):", format(signif(x$lambda.se, digits))) cat(" (z-value):", format(signif(x$lambda/x$lambda.se, digits))) } cat("\n") cat("Residual variance (sigma squared): ", format(signif(x$s2, digits)), ", (sigma: ", format(signif(sqrt(x$s2), digits)), ")\n", sep = "") if (x$scaleU) cat("(scaled) ") cat("GM argmin sigma squared: ", format(signif(x$GMs2, digits)), "\n", sep = "") cat("Number of observations:", length(x$residuals), "\n") cat("Number of parameters estimated:", x$parameters, "\n") if (!is.null(x$Haus)) { cat("Hausman test: ", format(signif(x$Haus$statistic, digits)), ", df: ", format(x$Haus$parameter), ", p-value: ", format.pval(x$Haus$p.value, digits), "\n", sep = "") } cat("\n") invisible(x) } # Copyright 2004 by Luc Anselin # Kelejian-Prucha generalized moments equations # helper function to provide function to nonlinear optimizer # must have parameter vector first for nlm # Usage: # kpgm(par,v) # Arguments: # par: 2x1 parameter vector rho,sig2 # v: list containing bigG and litg as computed by kpwuwu # Details: # sets up the equation as squared residuals # Value: # value: evaluated nonlinear least squares for parameter value .kpgm <- function(rhopar,v,verbose=FALSE) { vv <- v$bigG %*% c(rhopar[1],rhopar[1]^2,rhopar[2]) - v$litg value <- sum(vv^2) if (verbose) cat("function:", value, "lambda:", rhopar[1], "sig2:", rhopar[2], "\n") value } # Copyright 2004 by Luc Anselin # Kelejian-Prucha generalized moments equations # helper function # Usage: # kpwuwu(listw,u) # Arguments: # listw: spatial weights file as listw object # u: OLS residual vector # zero.policy: allow no-neighbour observations if TRUE # Details: # sets up the bigG matrix and littleg vector needed # for the nonlinear least squares in the GM estimator # see Kelejian-Prucha(1999) p. 515 # Value: # a list with two elements # bigG: the 3x3 G matrix # litg: the 3x1 g vector .kpwuwu <- function(listw, u, zero.policy=FALSE, arnoldWied=FALSE, X=NULL) { if (arnoldWied) { stopifnot(!is.null(X)) invXtX <- chol2inv(qr.R(qr(X))) W <- as(listw, "CsparseMatrix") WX <- W %*% X } n <- length(u) # Gianfranco Piras 081119 trwpw <- sum(unlist(listw$weights)^2) # tt <- matrix(0,n,1) # for (i in 1:n) {tt[i] <- sum(W$weights[[i]]^2) } # trwpw <- sum(tt) wu <- lag.listw(listw, u, zero.policy=zero.policy) wwu <- lag.listw(listw, wu, zero.policy=zero.policy) uu <- crossprod(u,u) uwu <- crossprod(u,wu) uwpuw <- crossprod(wu,wu) uwwu <- crossprod(u,wwu) wwupwu <- crossprod(wwu,wu) wwupwwu <- crossprod(wwu,wwu) bigG <- matrix(0,3,3) if (arnoldWied) { k <- ncol(X) uwpX <- crossprod(wu, X) upWX <- crossprod(u, WX) uwpWX <- crossprod(wu, WX) iXpXXpwu <- invXtX %*% t(uwpX) c22 <- wwu - WX %*% iXpXXpwu XiXpX <- X %*% invXtX WXpW <- t(WX) %*% W c23 <- trwpw - sum(diag(WXpW %*% XiXpX)) c32 <- crossprod(wu, wwu) - t(wu) %*% WX %*% iXpXXpwu c32 <- c32 - ((t(wu) %*% XiXpX %*% crossprod(X, wwu)) - (t(wu) %*% XiXpX %*% crossprod(X, WX) %*% iXpXXpwu)) bigG[,1] <- c(2*uwu, 2*as.vector(wwupwu - (uwpWX %*% iXpXXpwu)), as.vector(uwwu - (upWX %*% iXpXXpwu)) + (uwpuw - (uwpX %*% iXpXXpwu)))/n bigG[,2] <- - c(as.vector(uwpuw - (uwpX %*% iXpXXpwu)), as.vector(crossprod(c22)), as.vector(c32))/n bigG[,3] <- c(n-k, as.vector(c23), -as.vector(sum(diag(t(X) %*% (WX %*% invXtX)))))/n # M <- diag(length(u)) - X %*% invXtX %*% t(X) # BGc1 <- c(2*as.vector(crossprod(u, W %*% u)), 2*as.vector(t(u) %*% t(W) %*% W %*% M %*% W %*% u), as.vector(u %*% (W+t(W)) %*% M %*% W %*% u))/n # BGc2 <- - c(as.vector(t(u) %*% t(W) %*% M %*% W %*% u), as.vector(t(u) %*% t(W) %*% M %*% t(W) %*% W %*% M %*% W %*% u), as.vector(t(u) %*% t(W) %*% M %*% W %*% M %*% W %*% u))/n # BGc3 <- c((n-k), sum(diag(M %*% t(W) %*% W)), sum(diag(W %*% M)))/n } else { bigG[,1] <- c(2*uwu, 2*wwupwu, (uwwu+uwpuw))/n bigG[,2] <- - c(uwpuw, wwupwwu, wwupwu) / n bigG[,3] <- c(1, trwpw/n, 0) } litg <- c(uu,uwpuw,uwu) / n list(bigG=bigG, litg=litg, trwpw=trwpw, wu=wu, wwu=wwu) } ####SARAR model gstsls<-function (formula, data = list(), listw, listw2=NULL, na.action = na.fail, zero.policy = NULL, pars, scaleU=FALSE, control = list(), verbose = NULL, method = "nlminb", robust = FALSE, legacy = FALSE, W2X = TRUE ) { if (is.null(verbose)) verbose <- get("verbose", envir = .spdepOptions) stopifnot(is.logical(verbose)) if (is.null(zero.policy)) zero.policy <- get.ZeroPolicyOption() stopifnot(is.logical(zero.policy)) if (!inherits(listw, "listw")) stop("The weights matrix is not a listw object") if (is.null(listw2)) listw2 <- listw else if (!inherits(listw2, "listw")) stop("No 2nd neighbourhood list") if (class(formula) != "formula") formula <- as.formula(formula) mt <- terms(formula, data = data) mf <- lm(formula, data, na.action = na.fail, method = "model.frame") na.act <- attr(mf, "na.action") cl <- match.call() if (!is.null(na.act)) { subset <- !(1:length(listw$neighbours) %in% na.act) subset2 <- !(1:length(listw2$neighbours) %in% na.act) listw <- subset(listw, subset, zero.policy = zero.policy) listw2 <- subset(listw2, subset2, zero.policy = zero.policy) } y <- model.extract(mf, "response") x <- model.matrix(mt, mf) if (length(y) != nrow(x)) stop("x and y have different length") if (nrow(x) != length(listw$neighbours)) stop("Input data and weights have different dimension") if (any(is.na(y))) stop("NAs in dependent variable") if (any(is.na(x))) stop("NAs in independent variable") n <- nrow(x) k <- ncol(x) xcolnames <- colnames(x) K <- ifelse(xcolnames[1] == "(Intercept)" || all(x[, 1] == 1), 2, 1) wy <- lag.listw(listw, y, zero.policy = zero.policy) wy <- array(wy, c(length(y), 1L)) colnames(wy) <- ("Wy") if (any(is.na(wy))) stop("NAs in spatially lagged dependent variable") if (k > 1) { WX <- matrix(nrow = n, ncol = (k - (K - 1))) WWX <- matrix(nrow = n, ncol = (k - (K - 1))) for (i in K:k) { wx <- lag.listw(listw, x[, i], zero.policy = zero.policy) wwx <- lag.listw(listw, wx, zero.policy = zero.policy) if (any(is.na(wx))) stop("NAs in lagged independent variable") WX[, (i - (K - 1))] <- wx WWX[, (i - (K - 1))] <- wwx } } instr <- cbind(WX, WWX) firststep <- tsls(y = y, yend = wy, X = x, Zinst = instr, robust = robust, legacy = legacy) ukp <- residuals(firststep) if (missing(pars)) { scorr <- c(crossprod(lag.listw(listw2, ukp, zero.policy=zero.policy), ukp)/crossprod(ukp, ukp)) scorr <- scorr/(sum(unlist(listw2$weights))/length(ukp)) if (scaleU) ukp <- scale(ukp) pars <- c(scorr, var(ukp)) } if (length(pars) != 2L || !is.numeric(pars)) stop("invalid starting parameter values") vv <- .kpwuwu(listw2, ukp, zero.policy = zero.policy, arnoldWied=FALSE, X=x) if (method == "nlminb") optres <- nlminb(pars, .kpgm, v = vv, verbose = verbose, control = control) else optres <- optim(pars, .kpgm, v = vv, verbose = verbose, method = method, control = control) if (optres$convergence != 0) warning(paste("convergence failure:", optres$message)) lambda <- optres$par[1] names(lambda) <- "lambda" GMs2 <- optres$par[2] # Gn <- vv$bigG # Gn2 <- vv$litg # pars <- c(lambda, lambda^2, GMs2) # Hfun <- function(pars, Gn, Gn2) { # val <- Gn2 - Gn %*% pars # sum(val^2) # } # e1 <- Gn2 - Gn %*% pars # vare1 <- sd(e1)^2 # Hess <- fdHess(pars=pars, fun=Hfun, Gn=Gn, Gn2=Gn2)$Hessian # res <- solve(Hess) # lambda.se <- sqrt(vare1*diag(res))[1] lambda.se <- NULL w2y <- lag.listw(listw2, y) yt <- y - lambda * w2y xt <- x - lambda * lag.listw(listw2, x) wyt <- wy - lambda * lag.listw(listw2, wy) colnames(xt) <- xcolnames colnames(wyt) <- c("Rho_Wy") secstep <- tsls(y = yt, yend = wyt, X = xt, Zinst = instr, robust = robust, legacy = legacy) rho<-secstep$coefficients[1] coef.sac<-secstep$coefficients rest.se <- sqrt(diag(secstep$var)) rho.se <- sqrt(diag(secstep$var))[1] s2<-secstep$sse / secstep$df r<- secstep$residuals fit<- y - r SSE<- crossprod(r) call <- match.call() ret <- structure(list(type= "SARAR", lambda = lambda, coefficients = coef.sac, rest.se = rest.se, s2 = s2, SSE = SSE, parameters = (k + 3), lm.model = NULL, call = call, residuals = r, lm.target = NULL, fitted.values = fit, formula = formula, aliased = NULL, zero.policy = zero.policy, vv = vv, optres = optres, pars = pars, Hcov = NULL, lambda.se=lambda.se, arnoldWied=FALSE, GMs2=GMs2, scaleU=scaleU, secstep_var=secstep$var), class = c("gmsar")) if (zero.policy) { zero.regs <- attr(listw$neighbours, "region.id")[which(card(listw$neighbours) == 0)] if (length(zero.regs) > 0L) attr(ret, "zero.regs") <- zero.regs } if (!is.null(na.act)) ret$na.action <- na.act ret } GMargminImage <- function(obj, lambdaseq, s2seq) { if (missing(lambdaseq)) { lamin <- obj$lambda-0.5 lamin <- ifelse(lamin < -1, -1, lamin) lamax <- obj$lambda+0.5 lamax <- ifelse(lamax >= 1, (1-.Machine$double.eps), lamax) lambdaseq <- seq(lamin, lamax, length.out=40) } if (missing(s2seq)) s2seq <- seq(0.5*obj$GMs2, 1.5*obj$GMs2, length.out=40) xy <- as.matrix(expand.grid(lambdaseq, s2seq)) vres <- apply(xy, 1, function(x) .kpgm(rhopar=x, v=obj$vv)) res <- matrix(vres, ncol=length(lambdaseq)) list(x=lambdaseq, y=s2seq, z=res) } spdep/R/eigenw.R0000644000176200001440000000476412445103436013204 0ustar liggesusers# Copyright 2002-12 by Roger Bivand # eigenw <- function(listw, quiet=NULL) { if(!inherits(listw, "listw")) stop("not a listw object") if (is.null(quiet)) quiet <- !get("verbose", envir = .spdepOptions) stopifnot(is.logical(quiet)) w <- listw2mat(listw) sym <- all(w == t(w)) e <- eigen(w, symmetric=sym, only.values=TRUE)$values if (!quiet) { cat("Largest eigenvalue:", # modified 110414 RSB if(is.complex(e)) {max(Re(e[which(Im(e) == 0)]))} else max(e), "Sum of eigenvalues:", sum(e), "\n") } e } griffith_sone <- function(P, Q, type="rook") { stopifnot(P >= 1) stopifnot(Q >= 1) p <- seq(1:P) q <- seq(1:Q) if (type=="rook") { res0 <- outer((2*cos((pi*p)/(P+1))), (2*cos((pi*q)/(Q+1))), FUN="+") } else { e2a <- outer((cos((pi*p)/(P+1))), (cos((pi*q)/(Q+1))), FUN="+") e2b <- outer((2*cos((pi*p)/(P+1))), (cos((pi*q)/(Q+1))), FUN="*") res <- 2*(e2a+e2b) } res <- sort(c(res0), decreasing=TRUE) res } subgraph_eigenw <- function(nb, glist=NULL, style="W", zero.policy=NULL, quiet=NULL) { if(!inherits(nb, "nb")) stop("Not a neighbours list") if (is.null(quiet)) quiet <- !get("verbose", envir = .spdepOptions) stopifnot(is.logical(quiet)) if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) if (!(style %in% c("W", "B", "C", "S", "U", "minmax"))) stop(paste("Style", style, "invalid")) can.sim <- FALSE if (style %in% c("W", "S")) can.sim <- can.be.simmed(nb2listw(nb, glist=glist, style=style)) nc <- n.comp.nb(nb) t0 <- table(nc$comp.id) elist <- vector(mode="list", length=length(t0)) singleton <- names(t0)[which(t0 == 1)] if (length(singleton) > 0) elist[as.integer(singleton)] <- 0.0 doubles <- names(t0)[which(t0 == 2)] if (length(doubles) > 0) { for (i in doubles) elist[[as.integer(i)]] <- c(1.0, -1.0) } rest <- which(sapply(elist, is.null)) for (i in rest) { nbi <- subset(nb, nc$comp.id == i) gli <- NULL if (!is.null(glist)) gli <- subset(glist, nc$comp.id == i) if (can.sim) { elist[[i]] <- eigenw(similar.listw(nb2listw(nbi, glist=gli, style=style))) } else { elist[[i]] <- eigenw(nb2listw(nbi, glist=gli, style=style)) } } eout <- sort(unlist(elist)) if (length(eout) != length(nb)) stop("length mismatch, eout:", length(eout)) eout } spdep/R/globalG.R0000644000176200001440000000531712446052514013271 0ustar liggesusers# Copyright 2002-3 by Hisaji ONO and Roger Bivand # # General G Statistics # # globalG.test <- function(x, listw, zero.policy=NULL, alternative="greater", spChk=NULL, adjust.n=TRUE, B1correct=TRUE) { if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) stopifnot(is.vector(x)) alternative <- match.arg(alternative, c("greater", "less", "two.sided")) if (!inherits(listw, "listw")) stop(paste(deparse(substitute(listw)), "is not a listw object")) if (is.na(match(listw$style, c("B", "C", "U")))) warning("Binary weights recommended (sepecially for distance bands)") if (!is.numeric(x)) stop(paste(deparse(substitute(x)), "is not a numeric vector")) if (any(is.na(x))) stop(paste("NA in ", deparse(substitute(x)))) if (any(x < 0.0)) stop(paste("Negative value in ", deparse(substitute(x)))) n <- length(listw$neighbours) if (n != length(x))stop("Different numbers of observations") if (is.null(spChk)) spChk <- get.spChkOption() if (spChk && !chkIDs(x, listw)) stop("Check of data and weights ID integrity failed") wc <- spweights.constants(listw, zero.policy=zero.policy, adjust.n=adjust.n) n1 <- n - 1 n2 <- n - 2 n3 <- n - 3 nn <- n * n S0 <- wc$S0 S1 <- wc$S1 S2 <- wc$S2 S02 <- S0*S0 G <- (t(x) %*% lag.listw(listw, x, zero.policy=zero.policy)) / (sum(x %x% x) - (t(x) %*% x)) E.G <- S0 / (n * n1) B0 <- ((nn - 3*n + 3)*S1) - (n*S2) + (3*S02) # added 141222 to permit comparison with CrimeStat IV B1 <- -(((nn - n)*S1) - (2*n*S2) + (ifelse(B1correct, 6, 3)*S02)) B2 <- -((2*n*S1) - ((n+3)*S2) + (6*S02)) B3 <- (4*n1*S1) - (2*(n+1)*S2) + (8*S02) B4 <- S1 - S2 + S02 sx <- sum(x) sx2 <- sum(x^2) sx3 <- sum(x^3) sx4 <- sum(x^4) var.G <- ((B0*(sx2^2) + B1*sx4 + B2*(sx^2)*sx2 + B3*sx*sx3 + B4*(sx^4)) / ((((sx^2) - sx2)^2)*n*n1*n2*n3)) - (E.G^2) statistic <- (G - E.G) / sqrt(var.G) names(statistic) <- "standard deviate" method <- "Getis-Ord global G statistic" if (alternative == "two.sided") PrG <- 2 * pnorm(abs(statistic), # swirched -abs() to abs() 141121 RSB comment Tomasz Kossowski lower.tail=FALSE) else if (alternative == "greater") PrG <- pnorm(statistic, lower.tail=FALSE) else PrG <- pnorm(statistic) if (!is.finite(PrG) || PrG < 0 || PrG > 1) warning("Out-of-range p-value: reconsider test arguments") vec <- c(G, E.G, var.G) names(vec) <- c("Global G statistic", "Expectation", "Variance") data.name <- paste(deparse(substitute(x)), "\nweights:", deparse(substitute(listw)), "\n") res <- list(statistic=statistic, p.value=PrG, estimate=vec, alternative=alternative, data.name=data.name, method=method) class(res) <- "htest" res } spdep/R/knearneigh.R0000644000176200001440000000504412752361416014036 0ustar liggesusers# Copyright 2001-2014 by Roger S. Bivand. # Upgrade to sp classes February 2007 # Added RANN April 2010 # nn() retired 130722 knearneigh <- function(x, k=1, longlat=NULL, RANN=TRUE) { if (inherits(x, "SpatialPoints")) { if ((is.null(longlat) || !is.logical(longlat)) && !is.na(is.projected(x)) && !is.projected(x)) { longlat <- TRUE } else longlat <- FALSE x <- coordinates(x)[, 1:2] } else if (is.null(longlat) || !is.logical(longlat)) longlat <- FALSE if (!is.numeric(x)) stop("knearneigh: data non-numeric") if (!is.matrix(x)) stop("knearneigh: data not in matrix form") stopifnot(ncol(x) == 2) if (any(is.na(x))) stop("knearneigh: data include NAs") if (longlat) { bb <- bbox(x) if (!.ll_sanity(bb)) warning("knearneigh: coordinates are not geographical: longlat argument wrong") } if (!is.double(x)) storage.mode(x) <- "double" np <- nrow(x) dimension <- ncol(x) if (dimension != 2) stop("knearneigh: only 2D data accepted") if (k >= np) stop("knearneigh: fewer data points than k") # modified 140117 to handle zerodist points # (previous fix only worked for pairs and k>1) zd <- zerodist(SpatialPoints(x)) if (!(nrow(zd) == 0)) warning("knearneigh: identical points found") useRANN <- RANN if (longlat) useRANN <- FALSE if (nrow(zd) > 0) useRANN <- FALSE if (useRANN && !requireNamespace("RANN", quietly = TRUE)) useRANN <- FALSE if (useRANN) { # xx <- cbind(x, out=rep(0, nrow(x))) # out <- as.matrix(nn(xx, p=k)$nn.idx) # nn() retired 130722 # modified 130913 to handle zerodist points # zd <- zerodist(SpatialPoints(x)) # if (nrow(zd) == 0) { out <- RANN::nn2(x, x, k=k+1)$nn.idx[,-1,drop=FALSE] # } else { # out0 <- nn2(x, x, k=k+1) # out <- t(sapply(1:np, function(i) out0$nn.idx[i, # -which(out0$nn.idx[i,] == i), drop=FALSE])) # } dimnames(out) <- NULL res <- list(nn=out, np=np, k=k, dimension=dimension, x=x) } else { xx <- c(x[,1], x[,2]) storage.mode(xx) <- "double" nn <- integer(np*k) dnn <- double(np*k) z <- .C("knearneigh", k=as.integer(k), np=as.integer(np), dimension=as.integer(dimension), xx=xx, nn=as.integer(nn), dnn=dnn, as.integer(longlat), PACKAGE="spdep") res <- list(nn=matrix(z$nn, np, k, byrow=TRUE), np=np, k=k, dimension=dimension, x=x) } class(res) <- "knn" attr(res, "call") <- match.call() res } spdep/R/bptest.sarlm.R0000644000176200001440000000225012366203702014327 0ustar liggesusers# Copyright 2004-2011 by Roger Bivand (original taken from bptest() in the lmtest # package, Copyright (C) 2001 Torsten Hothorn and Achim Zeileis and released # under GNU General Public License, Version 2 or 3. # bptest.sarlm <- function (object, varformula=NULL, studentize = TRUE, data=list()) { if(!inherits(object, "sarlm")) stop("not sarlm object") Z <- object$tarX if (!is.null(varformula)) Z <- model.matrix(varformula, data = data) k <- ncol(Z) n <- nrow(Z) resi <- object$residuals if (length(resi) != nrow(Z)) stop("number of residuals differs from varformula matrix rows") sigma2 <- sum(resi^2)/n if (studentize) { w <- resi^2 - sigma2 fv <- lm.fit(Z, w)$fitted bp <- n * sum(fv^2)/sum(w^2) method <- "studentized Breusch-Pagan test" } else { f <- resi^2/sigma2 - 1 fv <- lm.fit(Z, f)$fitted bp <- 0.5 * sum(fv^2) method <- "Breusch-Pagan test" } names(bp) <- "BP" df <- k - 1 names(df) <- "df" RVAL <- list(statistic = bp, parameter = df, method = method, p.value = 1 - pchisq(bp, df)) class(RVAL) <- "htest" return(RVAL) } spdep/R/nboperations.R0000644000176200001440000001012511716033157014417 0ustar liggesusers# Copyright 2001-2006 by Nicholas Lewin-Koh and Roger Bivand # union.nb<-function(nb.obj1, nb.obj2){ if(!inherits(nb.obj1,"nb") | !inherits(nb.obj2,"nb")){ stop("Both arguments must be of class nb") } if(any(attr(nb.obj1,"region.id")!= attr(nb.obj2,"region.id"))){ stop("Both neighbor objects must be \n generated from the same coordinates") } n <- length(nb.obj1) if (n != length(nb.obj2)) stop("Both arguments must be of same length") if (n < 1) stop("non-positive number of entities") card1 <- card(nb.obj1) card2 <- card(nb.obj2) new.nb<-vector(mode="list", length=n) for(i in 1:n) { if (card1[i] == 0) { if (card2[i] == 0) new.nb[[i]] <- 0L else new.nb[[i]] <- nb.obj2[[i]] } else { if (card2[i] == 0) new.nb[[i]] <- nb.obj1[[i]] else new.nb[[i]]<-sort(union(nb.obj1[[i]], nb.obj2[[i]])) } } attr(new.nb,"region.id")<-attr(nb.obj1,"region.id") attr(new.nb,"type")<-paste("union(",attr(nb.obj1,"type"), ",",attr(nb.obj2,"type"),")") class(new.nb)<-"nb" new.nb } intersect.nb<-function(nb.obj1, nb.obj2){ if(!inherits(nb.obj1,"nb") | !inherits(nb.obj2,"nb")){ stop("Both arguments must be of class nb") } if(any(attr(nb.obj1,"region.id")!= attr(nb.obj2,"region.id"))){ stop("Both neighbor objects must be \n generated from the same coordinates") } n <- length(nb.obj1) if (n != length(nb.obj2)) stop("Both arguments must be of same length") if (n < 1) stop("non-positive number of entities") card1 <- card(nb.obj1) card2 <- card(nb.obj2) new.nb<-vector(mode="list", length=n) for(i in 1:n) { if (card1[i] > 0 && card2[i] > 0) { res <- sort(intersect(nb.obj1[[i]], nb.obj2[[i]])) if(length(res) == 0L) new.nb[[i]] <- 0L else new.nb[[i]] <- res } else new.nb[[i]] <- 0L } attr(new.nb,"region.id")<-attr(nb.obj1,"region.id") attr(new.nb,"type")<-paste("intersect(",attr(nb.obj1,"type"), ",",attr(nb.obj2,"type"),")") class(new.nb)<-"nb" new.nb } setdiff.nb<-function(nb.obj1, nb.obj2){ if(!inherits(nb.obj1,"nb") | !inherits(nb.obj2,"nb")){ stop("Both arguments must be of class nb") } if(any(attr(nb.obj1,"region.id")!= attr(nb.obj2,"region.id"))){ stop("Both neighbor objects must be \n generated from the same coordinates") } n <- length(nb.obj1) if (n != length(nb.obj2)) stop("Both arguments must be of same length") if (n < 1) stop("non-positive number of entities") card1 <- card(nb.obj1) card2 <- card(nb.obj2) new.nb<-vector(mode="list", length=n) for(i in 1:n) { if (card1[i] == 0) { if (card2[i] == 0) new.nb[[i]] <- 0L else new.nb[[i]] <- nb.obj2[[i]] } else { if (card2[i] == 0) new.nb[[i]] <- nb.obj1[[i]] else { if (card2[i] == 0) new.nb[[i]] <- nb.obj1[[i]] else { if (card1[i] >= card2[i]) { a <- nb.obj1[[i]] b <- nb.obj2[[i]] } else { b <- nb.obj1[[i]] a <- nb.obj2[[i]] } res <- sort(setdiff(a, b)) if(length(res) == 0L) new.nb[[i]] <- 0L else new.nb[[i]] <- res } } } } attr(new.nb,"region.id")<-attr(nb.obj1,"region.id") attr(new.nb,"type")<-paste("setdiff(",attr(nb.obj1,"type"), ",",attr(nb.obj2,"type"),")") class(new.nb)<-"nb" new.nb } complement.nb<-function(nb.obj){ if(!inherits(nb.obj,"nb")){ stop("Argument must be of class nb") } n <- length(nb.obj) if (n < 1) stop("non-positive number of entities") card1 <- card(nb.obj) new.nb<-vector(mode="list", length=n) cmp<-1:n attributes(new.nb)<-attributes(nb.obj) for(i in 1:n) { if (card1[i] == 0) new.nb[[i]] <- cmp else { res <- sort(cmp[-nb.obj[[i]]]) if(length(res) == 0L) new.nb[[i]] <- 0L else new.nb[[i]] <- res } } attr(new.nb,"type")<-paste("complement(",attr(nb.obj,"type"),")") class(new.nb)<-"nb" new.nb } spdep/R/moran.R0000644000176200001440000001642512522454645013046 0ustar liggesusers# Copyright 2001-5 by Roger Bivand # moran <- function(x, listw, n, S0, zero.policy=NULL, NAOK=FALSE) { if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) n1 <- length(listw$neighbours) x <- c(x) if (n1 != length(x)) stop("objects of different length") xx <- mean(x, na.rm=NAOK) z <- x - xx zz <- sum(z^2, na.rm=NAOK) K <- (length(x)*sum(z^4, na.rm=NAOK))/(zz^2) lz <- lag.listw(listw, z, zero.policy=zero.policy, NAOK=NAOK) # I <- (n / S0) * ((t(z) %*% lz) / zz) I <- (n / S0) * ((sum(z*lz, na.rm=NAOK)) / zz) res <- list(I=I, K=K) res } moran.test <- function(x, listw, randomisation=TRUE, zero.policy=NULL, alternative="greater", rank = FALSE, na.action=na.fail, spChk=NULL, adjust.n=TRUE) { alternative <- match.arg(alternative, c("greater", "less", "two.sided")) if (!inherits(listw, "listw")) stop(paste(deparse(substitute(listw)), "is not a listw object")) if (!is.numeric(x)) stop(paste(deparse(substitute(x)), "is not a numeric vector")) if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) if (is.null(spChk)) spChk <- get.spChkOption() if (spChk && !chkIDs(x, listw)) stop("Check of data and weights ID integrity failed") # if (any(is.na(x))) stop("NA in X") xname <- deparse(substitute(x)) wname <- deparse(substitute(listw)) NAOK <- deparse(substitute(na.action)) == "na.pass" x <- na.action(x) na.act <- attr(x, "na.action") if (!is.null(na.act)) { subset <- !(1:length(listw$neighbours) %in% na.act) listw <- subset(listw, subset, zero.policy=zero.policy) } n <- length(listw$neighbours) if (n != length(x)) stop("objects of different length") wc <- spweights.constants(listw, zero.policy=zero.policy, adjust.n=adjust.n) S02 <- wc$S0*wc$S0 res <- moran(x, listw, wc$n, wc$S0, zero.policy=zero.policy, NAOK=NAOK) I <- res$I K <- res$K if (rank) K <- (3*(3*wc$n^2 -7))/(5*(wc$n^2 - 1)) EI <- (-1) / wc$n1 if(randomisation) { VI <- wc$n*(wc$S1*(wc$nn - 3*wc$n + 3) - wc$n*wc$S2 + 3*S02) tmp <- K*(wc$S1*(wc$nn - wc$n) - 2*wc$n*wc$S2 + 6*S02) if (tmp > VI) warning("Kurtosis overflow,\ndistribution of variable does not meet test assumptions") VI <- (VI - tmp) / (wc$n1*wc$n2*wc$n3*S02) tmp <- (VI - EI^2) if (tmp < 0) warning("Negative variance,\ndistribution of variable does not meet test assumptions") VI <- tmp } else { VI <- (wc$nn*wc$S1 - wc$n*wc$S2 + 3*S02) / (S02*(wc$nn - 1)) tmp <- (VI - EI^2) if (tmp < 0) warning("Negative variance,\ndistribution of variable does not meet test assumptions") VI <- tmp } ZI <- (I - EI) / sqrt(VI) statistic <- ZI names(statistic) <- "Moran I statistic standard deviate" if (alternative == "two.sided") PrI <- 2 * pnorm(abs(ZI), lower.tail=FALSE) else if (alternative == "greater") PrI <- pnorm(ZI, lower.tail=FALSE) else PrI <- pnorm(ZI) if (!is.finite(PrI) || PrI < 0 || PrI > 1) warning("Out-of-range p-value: reconsider test arguments") vec <- c(I, EI, VI) names(vec) <- c("Moran I statistic", "Expectation", "Variance") method <- paste("Moran I test under", ifelse(randomisation, "randomisation", "normality")) data.name <- paste(xname, ifelse(rank, "using rank correction",""), "\nweights:", wname, ifelse(is.null(na.act), "", paste("\nomitted:", paste(na.act, collapse=", "))), "\n") res <- list(statistic=statistic, p.value=PrI, estimate=vec, alternative=alternative, method=method, data.name=data.name) if (!is.null(na.act)) attr(res, "na.action") <- na.act class(res) <- "htest" res } moran.mc <- function(x, listw, nsim, zero.policy=NULL, alternative="greater", na.action=na.fail, spChk=NULL, return_boot=FALSE, adjust.n=TRUE) { alternative <- match.arg(alternative, c("greater", "less")) if(!inherits(listw, "listw")) stop(paste(deparse(substitute(listw)), "is not a listw object")) if(!is.numeric(x)) stop(paste(deparse(substitute(x)), "is not a numeric vector")) if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) if(missing(nsim)) stop("nsim must be given") if (is.null(spChk)) spChk <- get.spChkOption() if (spChk && !chkIDs(x, listw)) stop("Check of data and weights ID integrity failed") cards <- card(listw$neighbours) if (!zero.policy && any(cards == 0)) stop("regions with no neighbours found") # if (any(is.na(x))) stop("NA in X") xname <- deparse(substitute(x)) wname <- deparse(substitute(listw)) if (deparse(substitute(na.action)) == "na.pass") stop("na.pass not permitted") x <- na.action(x) na.act <- attr(x, "na.action") if (!is.null(na.act)) { subset <- !(1:length(listw$neighbours) %in% na.act) listw <- subset(listw, subset, zero.policy=zero.policy) } n <- length(listw$neighbours) if (n != length(x)) stop("objects of different length") gamres <- suppressWarnings(nsim > gamma(n + 1)) if (gamres) stop("nsim too large for this number of observations") if (nsim < 1) stop("nsim too small") if (adjust.n) n <- n - sum(cards == 0L) S0 <- Szero(listw) if (return_boot) { moran_boot <- function(var, i, ...) { var <- var[i] return(moran(x=var, ...)$I) } cores <- get.coresOption() if (is.null(cores)) { parallel <- "no" } else { parallel <- ifelse (get.mcOption(), "multicore", "snow") } ncpus <- ifelse(is.null(cores), 1L, cores) cl <- NULL if (parallel == "snow") { cl <- get.ClusterOption() if (is.null(cl)) { parallel <- "no" warning("no cluster in ClusterOption, parallel set to no") } } res <- boot(x, statistic=moran_boot, R=nsim, sim="permutation", listw=listw, n=n, S0=S0, zero.policy=zero.policy, parallel=parallel, ncpus=ncpus, cl=cl) return(res) } res <- numeric(length=nsim+1) for (i in 1:nsim) res[i] <- moran(sample(x), listw, n, S0, zero.policy)$I res[nsim+1] <- moran(x, listw, n, S0, zero.policy)$I rankres <- rank(res) xrank <- rankres[length(res)] diff <- nsim - xrank diff <- ifelse(diff > 0, diff, 0) if (alternative == "less") pval <- punif((diff + 1)/(nsim + 1), lower.tail=FALSE) else if (alternative == "greater") pval <- punif((diff + 1)/(nsim + 1)) if (!is.finite(pval) || pval < 0 || pval > 1) warning("Out-of-range p-value: reconsider test arguments") statistic <- res[nsim+1] names(statistic) <- "statistic" parameter <- xrank names(parameter) <- "observed rank" method <- "Monte-Carlo simulation of Moran I" data.name <- paste(xname, "\nweights:", wname, ifelse(is.null(na.act), "", paste("\nomitted:", paste(na.act, collapse=", "))), "\nnumber of simulations + 1:", nsim+1, "\n") lres <- list(statistic=statistic, parameter=parameter, p.value=pval, alternative=alternative, method=method, data.name=data.name, res=res) if (!is.null(na.act)) attr(lres, "na.action") <- na.act class(lres) <- c("htest", "mc.sim") lres } spdep/R/s2sls.R0000644000176200001440000002520612431373205012764 0ustar liggesusers# Copyright 2006 by Luc Anselin and Roger Bivand # modified by Gianfranco Piras on December 11, 2009 (added the argument legacy) # and on March 12, 2010 (added the argument W2X) stsls <- function(formula, data = list(), listw, zero.policy=NULL, na.action=na.fail, robust=FALSE, HC=NULL, legacy=FALSE, W2X=TRUE) { if (!inherits(listw, "listw")) stop("No neighbourhood list") if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) if (class(formula) != "formula") formula <- as.formula(formula) mt <- terms(formula, data = data) mf <- lm(formula, data, na.action=na.action, method="model.frame") na.act <- attr(mf, "na.action") if (!is.null(na.act)) { subset <- !(1:length(listw$neighbours) %in% na.act) listw <- subset(listw, subset, zero.policy=zero.policy) } y <- model.extract(mf, "response") if (any(is.na(y))) stop("NAs in dependent variable") X <- model.matrix(mt, mf) if (any(is.na(X))) stop("NAs in independent variable") if (robust) { if (is.null(HC)) HC <- "HC0" if (!any(HC %in% c("HC0", "HC1"))) stop("HC must be one of HC0, HC1") } # modified to pass zero.policy Juan Tomas Sayago 100913 Wy <- lag.listw(listw, y, zero.policy=zero.policy) dim(Wy) <- c(nrow(X),1) colnames(Wy) <- c("Rho") # WX <- lag.listw(W,X[,2:ncol(X)]) n <- NROW(X) m <- NCOL(X) xcolnames <- colnames(X) K <- ifelse(xcolnames[1] == "(Intercept)", 2, 1) if (m > 1) { WX <- matrix(nrow=n, ncol=(m-(K-1))) if(W2X) WWX <- matrix(nrow = n, ncol = ncol(WX) ) for (k in K:m) { wx <- lag.listw(listw, X[,k], zero.policy=zero.policy) if(W2X) wwx <- lag.listw(listw, wx, zero.policy = zero.policy) if (any(is.na(wx))) stop("NAs in lagged independent variable") WX[,(k-(K-1))] <- wx if(W2X) WWX[, (k - (K - 1))] <- wwx } if(W2X) inst <- cbind(WX, WWX) else inst <- WX } if (K == 2 && listw$style != "W") { # modified to meet other styles, email from Rein Halbersma wx1 <- as.double(rep(1, n)) wx <- lag.listw(listw, wx1, zero.policy=zero.policy) if(W2X) wwx <- lag.listw(listw, wx, zero.policy=zero.policy) if (m > 1) { inst <- cbind(wx, inst) if(W2X) inst <- cbind(wwx, inst) } else { inst <- matrix(wx, nrow=n, ncol=1) if(W2X) inst <- cbind(inst, wwx) } # colnames(inst) <- xcolnames } # if (listw$style == "W") colnames(WX) <- xcolnames[-1] result <- tsls(y=y, yend=Wy, X=X, Zinst=inst, robust=robust, HC=HC, legacy=legacy) result$zero.policy <- zero.policy result$robust <- robust if (robust) result$HC <- HC result$legacy <- legacy result$listw_style <- listw$style result$call <- match.call() class(result) <- "stsls" result } # result <- list(coefficients=biv,var=varb,s2=s2, # residuals=e) print.stsls <- function(x, ...) { cat("\nCall:\n") print(x$call) cat("\nCoefficients:\n") print(coef(x)) cat("\n") invisible(x) } summary.stsls <- function(object, correlation = FALSE, ...) { rest.se <- sqrt(diag(object$var)) object$Coef <- cbind(object$coefficients, rest.se, object$coefficients/rest.se, 2*(1-pnorm(abs(object$coefficients/rest.se)))) if (object$robust) colnames(object$Coef) <- c("Estimate", paste(object$HC, "std. Error"), "z value", "Pr(>|z|)") else colnames(object$Coef) <- c("Estimate", "Std. Error", "t value", "Pr(>|t|)") rownames(object$Coef) <- names(object$coefficients) if (correlation) { object$correlation <- diag((diag(object$var)) ^(-1/2)) %*% object$var %*% diag((diag(object$var))^(-1/2)) dimnames(object$correlation) <- dimnames(object$var) } structure(object, class=c("summary.stsls", class(object))) } print.summary.stsls <- function(x, digits = max(5, .Options$digits - 3), signif.stars = FALSE, ...) { cat("\nCall:", deparse(x$call), sep = "", fill=TRUE) cat("\nResiduals:\n") resid <- residuals(x) nam <- c("Min", "1Q", "Median", "3Q", "Max") rq <- if (length(dim(resid)) == 2L) structure(apply(t(resid), 1, quantile), dimnames = list(nam, dimnames(resid)[[2]])) else structure(quantile(resid), names = nam) print(rq, digits = digits, ...) if (x$zero.policy) { zero.regs <- attr(x, "zero.regs") if (!is.null(zero.regs)) cat("Regions with no neighbours included:\n", zero.regs, "\n") } cat("\nCoefficients:", x$coeftitle, "\n") coefs <- x$Coef printCoefmat(coefs, signif.stars=signif.stars, digits=digits, na.print="NA") correl <- x$correlation cat("\n") if (x$robust && x$legacy) cat("Asymptotic robust residual variance: ") # if (x$legacy) cat("Asymptotic robust residual variance: ") else cat("Residual variance (sigma squared): ") cat(format(signif(x$sse/x$df, digits)), ", (sigma: ", format(signif(sqrt(x$sse/x$df), digits)), ")\n", sep="") if (!is.null(correl)) { p <- NCOL(correl) if (p > 1) { cat("\nCorrelation of Coefficients:\n") correl <- format(round(correl, 2), nsmall = 2, digits = digits) correl[!lower.tri(correl)] <- "" print(correl[-1, -p, drop = FALSE], quote = FALSE) } } cat("\n") invisible(x) } residuals.stsls <- function(object, ...) { if (is.null(object$na.action)) object$residuals else napredict(object$na.action, object$residuals) } coef.stsls <- function(object, ...) object$coefficients deviance.stsls <- function(object, ...) object$sse # Copyright 2004 by Luc Anselin # spatial two stage least squares # Usage: # stsls(listw,y,X,robust) # Arguments: # listw: spatial weights file as listw object # y: dependent variable as vector # X: explanatory variables as matrix using cbind(1,var1,...) # robust: flag for heteroskedastic robust estimator # Details: # calls tsls with y as dependent variable, spatial lag of y # as endogenous, X as exogenous variables, spatial lags of # X as instruments and robust as specified # Value: # a list as returned by tsls # coefficients: coefficient estimates # se: (asymptotic) standard error of estimates # t: value of asymptotic t-test statistic # p: probability of t-test (tail, two-sided) # var: coefficient variance matrix # s2: residual variance (using degrees of freedom N-K) # residuals: observed y - predicted y, to be used in diagnostics stsls_old <- function(W,y,X,robust=FALSE) { Wy <- lag.listw(W,y) dim(Wy) <- c(nrow(X),1) colnames(Wy) <- c("Rho") WX <- lag.listw(W,X[,2:ncol(X)]) result <- tsls(y,Wy,X,WX,robust) result } # Copyright 2004 by Luc Anselin # heteroskedastic two stage least squares # helper function, called from tsls # Usage: # htsls(y,Z,Q,e) # Arguments: # y: dependent variable as vector # Z: matrix of endogenous and exogenous variables # Q: matrix of instruments # e: vector of 2SLS residuals # Details: # uses White consistent estimator for XOmegaX # Value: # a list with results # coefficients: coefficient estimates # se: (asymptotic) standard error of coefficients # t: value of asymptotic t-test statistic # p: probability of t-test (tail, two-sided) # var: coefficient variance matrix # s2: residual variance (using N) # residuals: observed y - predicted y htsls <- function(y,Z,Q,e) { e2 <- e^2 oQ <- e2[,1] * Q QoQ <- crossprod(Q,oQ) QoQi <- solve(QoQ) QZ <- crossprod(Q,Z) ZQoQ <- crossprod(QZ,QoQi) v <- ZQoQ %*% QZ vi <- solve(v) Qy <- crossprod(Q,y) ZQy <- ZQoQ %*% Qy biv <- vi %*% ZQy yp <- Z %*% biv e <- y - yp biv <- biv[,1,drop=TRUE] sse <- c(crossprod(e,e)) # / nrow(Z) df <- nrow(Z) # sebiv <- sqrt(diag(vi)) # tbiv <- biv / sebiv # pbiv <- pnorm(abs(tbiv),lower.tail=FALSE) * 2 result <- list(coefficients=biv, # se=sebiv,t=tbiv,p=pbiv, var=vi,sse=sse,residuals=c(e),df=df) result } # Copyright 2004 by Luc Anselin # two stage least squares # Usage: # tsls(y,yend,X,Zinst,robust=FALSE) # Arguments: # y: dependent variable as vector # yend: endogenous variables as vector or matrix (using cbind) # X: matrix of exogenous variables, including constant # Zinst: matrix of instruments (using cbind) # robust: flag for heteroskedastic robust estimator # Details: # standard two stage least squares, using explicit two stages # uses degrees of freedom in computation of residual variance (N-K not N) # calls htsls when robust is TRUE # Value: # a list with results: # coefficients: coefficient estimates # se: (asymptotic) standard error of estimates # t: value of asymptotic t-test statistic # p: probability of t-test (tail, two-sided) # var: coefficient variance matrix # s2: residual variance (using degrees of freedom N-K) # residuals: observed y - predicted y, to be used in diagnostics tsls <- function(y,yend,X,Zinst,robust=FALSE, HC="HC0", legacy=FALSE) { # colnames(X) <- c("CONSTANT",colnames(X)[2:ncol(X)]) Q <- cbind(X,Zinst) Z <- cbind(yend,X) df <- nrow(Z) - ncol(Z) # QQ <- crossprod(Q,Q) Qye <- crossprod(Q,yend) Qr <- qr(Q) bz <- chol2inv(Qr$qr)%*% Qye # bz <- solve(QQ,Qye) yendp <- Q %*% bz Zp <- cbind(yendp,X) Qr <- qr(Zp) # ZpZp <- crossprod(Zp,Zp) # ZpZpi <- solve(ZpZp) ZpZpi <- chol2inv(Qr$qr) Zpy <- crossprod(Zp,y) biv <- ZpZpi %*% Zpy # biv <- crossprod(ZpZpi,Zpy) yp <- Z %*% biv biv <- biv[,1,drop=TRUE] names(biv) <- colnames(Zp) e <- y - yp if (robust) { if (legacy) { result <- htsls(y,Z,Q,e) } else { sse <- c(crossprod(e,e)) if (HC == "HC0") omega <- as.numeric(e^2) else if (HC == "HC1") omega <- (nrow(X)/df) * as.numeric(e^2) else stop("invalid HC choice") ZoZ<-crossprod(Zp,(Zp*omega)) varb<-ZpZpi%*%ZoZ%*%ZpZpi result <- list(coefficients=biv, var=varb, sse=sse, residuals=c(e), df=df) } } else { sse <- c(crossprod(e,e)) s2 <- sse / df varb <- ZpZpi * s2 # sebiv <- sqrt(diag(varb)) # tbiv <- biv / sebiv # pbiv <- pnorm(abs(tbiv),lower.tail=FALSE) * 2 result <- list(coefficients=biv, # se=sebiv,t=tbiv,p=pbiv, var=varb, sse=sse, residuals=c(e), df=df) } result } spdep/R/lee.R0000644000176200001440000000230312324523330012451 0ustar liggesusers#Lee (2001)'s bivariate association statistic #Based on code by Roger Bivand for moran's I lee <- function(x, y, listw, n, S2=NULL, zero.policy=NULL, NAOK=FALSE) { if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) n1 <- length(listw$neighbours) x <- c(x) y <- c(y) if (n1 != length(x) | n1 != length(y)) stop("objects of different length") xx <- mean(x, na.rm=NAOK) yy <- mean(y, na.rm=NAOK) z <- x - xx zz <- sum(z^2, na.rm=NAOK) zy <- y - yy zzy<- sum(zy^2, na.rm=NAOK) # K <- NA#(length(x)*sum(z^4, na.rm=NAOK))/(zz^2) lz <- lag.listw(listw, z, zero.policy=zero.policy, NAOK=NAOK) lzy <- lag.listw(listw, zy, zero.policy=zero.policy, NAOK=NAOK) ## I <- (n / S0) * ((t(z) %*% lz) / zz) # I <- (n / S0) * ((sum(z*lz, na.rm=NAOK)) / zz) # res <- list(I=I, K=K) # res if(is.null(S2)) S2<-sum ( (unlist(lapply(listw$weights, sum)))^2 ) L<- (n/S2)* (sum(lz*lzy))/(sqrt(zz)*sqrt(zzy)) localL<-n*lz*lzy/(sqrt(zz)*sqrt(zzy)) # res<-list(L=L, K=K, localL=localL) res<-list(L=L, localL=localL) return(res) } spdep/R/aple.R0000644000176200001440000000244212441317575012645 0ustar liggesuserspreAple <- function(x, listw, override_similarity_check=FALSE, useTrace=TRUE) { stopifnot(isTRUE(all.equal(mean(x), 0.0))) stopifnot(is.vector(x)) W <- as(listw, "CsparseMatrix") n <- dim(W)[1] if (useTrace) { trWW <- sum(diag(W %*% W)) } else { if (listw$style %in% c("W", "S") && !override_similarity_check) { can.sim <- can.be.simmed(listw) eig <- eigenw(similar.listw(listw)) } else { can.sim <- FALSE eig <- eigenw(listw) } if (is.complex(eig)) trWW <- Re(crossprod(eig)) else trWW <- crossprod(eig) # modified 110414 RSB # eig <- Re(eig) # trWW <- crossprod(eig) } corterm <- (trWW/n) * Diagonal(n) corterm <- as(corterm, "CsparseMatrix") WU <- ((W + t(W))/2) W2 <- crossprod(W) + corterm res <- list(W=W, corterm=corterm, W2=W2, WU=WU, n=n) res } inAple <- function(x, pre) { xwx <- crossprod(x, (pre$WU %*% x)) xwwx <- crossprod(x, (pre$W2 %*% x)) res <- c(as.matrix(xwx/xwwx)) res } aple <- function(x, listw, override_similarity_check=FALSE, useTrace=TRUE) { pre <- preAple(x=x, listw=listw, override_similarity_check=override_similarity_check, useTrace=useTrace) res <- inAple(x=x, pre=pre) res } spdep/R/autocov.R0000644000176200001440000000535212461707002013375 0ustar liggesusers# Calculates the autocovariate to be used in autonormal, autopoisson # or autologistic regression. Three distance-weighting schemes are available # # z is the response variable # xy is the matrix of coordinates # nbs is "neighbourhood size", selected by user; default is 1 # type defines the weighting scheme: # "one" gives equal weight to all data points in the neighbourhood; # "inverse" (the default) weights by inverse Euclidean distance; # "inverse.squared" weights by the square of "inverse" # # by Carsten F. Dormann, 04.11.2005, carsten.dormann@ufz.de # Re-implementation allowing list representation # Roger Bivand 28.11.2005 # Upgrade to sp classes February 2007, longlat sanity June 2010 # style changed from "W" to "B" 2015-01-27; see Bardos et al. (2015) for details autocov_dist <- function(z, xy, nbs=1, type="inverse", zero.policy=NULL, style="B", longlat=NULL) { if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) stopifnot(is.vector(z)) if (type=="one") expo <- 0 if (type=="inverse") expo <- 1 if (type=="inverse.squared") expo <- 2 if (inherits(xy, "SpatialPoints")) { if ((is.null(longlat) || !is.logical(longlat)) && !is.na(is.projected(xy)) && !is.projected(xy)) { longlat <- TRUE } else longlat <- FALSE xy <- coordinates(xy) } else if (is.null(longlat) || !is.logical(longlat)) longlat <- FALSE stopifnot(ncol(xy) == 2) if (longlat) { bb <- bbox(xy) if (!.ll_sanity(bb)) warning("Coordinates are not geographical: longlat argument wrong") } nb <- dnearneigh(xy, 0, nbs, longlat=longlat) if (any(card(nb) == 0)) warning(paste("With value", nbs, "some points have no neighbours")) nbd <- nbdists(nb, xy, longlat=longlat) if (expo == 0) lw <- nb2listw(nb, style=style, zero.policy=zero.policy) else { gl <- lapply(nbd, function(x) 1/(x^expo)) lw <- nb2listw(nb, glist=gl, style=style, zero.policy=zero.policy) } lag(lw, z, zero.policy=zero.policy) } .ll_sanity <- function(bb) { TOL <- get_ll_TOL() tol <- .Machine$double.eps ^ TOL W <- bb[1,1] < -180 && !isTRUE(all.equal((bb[1, 1] - -180), 0, tolerance = tol)) if (W) attr(W, "out") <- bb[1,1] E <- bb[1,2] > 360 && !isTRUE(all.equal((bb[1, 2] - 360), 0, tolerance = tol)) if (E) attr(E, "out") <- bb[1,2] S<- bb[2,1] < -90 && !isTRUE(all.equal((bb[2, 1] - -90), 0, tolerance = tol)) if (S) attr(S, "out") <- bb[2,1] N <- bb[2,2] > 90 && !isTRUE(all.equal((bb[2, 2] - 90), 0, tolerance = tol)) if (N) attr(N, "out") <- bb[2,2] res <- !(any(W || E || S || N)) attr(res, "details") <- list(W, E, S, N) res } spdep/R/listw2Matrix.R0000644000176200001440000000355612444510726014340 0ustar liggesusers# Copyright 2006-14 by Roger Bivand # setAs("listw", "CsparseMatrix", function(from) {as(as_dgRMatrix_listw(from), "CsparseMatrix")}) setAs("listw", "RsparseMatrix", function(from) {as_dgRMatrix_listw(from)}) setAs("listw", "symmetricMatrix", function(from) {as_dsTMatrix_listw(from)}) as_dgRMatrix_listw <- function(listw) { if(!inherits(listw, "listw")) stop("not a listw object") n <- length(listw$neighbours) cardw <- card(listw$neighbours) p0 <- as.integer(c(0, cumsum(cardw))) scard <- sum(cardw) z <- .Call("listw2dgR", listw$neighbours, listw$weights, as.integer(cardw), as.integer(scard), PACKAGE="spdep") res <- new("dgRMatrix", j=z[[1]], p=p0, Dim=as.integer(c(n, n)), x=z[[2]]) colnames(res) <- attr(listw$neighbours, "region.id") rownames(res) <- colnames(res) res } as_dsTMatrix_listw <- function(listw) { if (!inherits(listw, "listw")) stop("not a listw object") if (!is.symmetric.glist(listw$neighbours, listw$weights)) stop("not a symmetric matrix") n <- length(listw$neighbours) cardw <- card(listw$neighbours) scard <- sum(cardw) if (scard %% 2 != 0) stop("odd neighbours sum") z <- .Call("listw2dsT", listw$neighbours, listw$weights, as.integer(cardw), as.integer(scard/2), PACKAGE="spdep") res <- new("dsTMatrix", i=z[[1]], j=z[[2]], Dim=as.integer(c(n, n)), x=z[[3]]) colnames(res) <- attr(listw$neighbours, "region.id") rownames(res) <- colnames(res) res } as_dsCMatrix_I <- function(n) { if (n < 1) stop("matrix must have positive dimensions") as(as(Diagonal(n), "symmetricMatrix"), "CsparseMatrix") } as_dsCMatrix_IrW <- function(W, rho) { stopifnot(is(W, "symmetricMatrix")) n <- dim(W)[1] as_dsCMatrix_I(n) - rho * W } Jacobian_W <- function(W, rho) { sum(2*log(diag(chol(as_dsCMatrix_IrW(W, rho))))) } listw2U_Matrix <- function(lw) as(as(0.5 * (lw + t(lw)), "symmetricMatrix"), "CsparseMatrix") spdep/R/tri2nb.R0000644000176200001440000000301612400656743013120 0ustar liggesusers# Copyright 2001-2010 by Roger Bivand # tri2nb <- function(coords, row.names = NULL) { # require("tripack") # require("deldir") if (inherits(coords, "SpatialPoints")) { if (!is.na(is.projected(coords)) && !is.projected(coords)) { warning("tri2nb: coordinates should be planar") } coords <- coordinates(coords) } n <- nrow(coords) if (n < 3) stop("too few coordinates") # left <- function(x) { # res <- (x[3,1]-x[2,1])*(x[1,2]-x[2,2]) >= # (x[1,1]-x[2,1])*(x[3,2]-x[2,2]) # res # } # if (left(coords[1:3,])) stop("first three coordinates collinear") if (!is.null(row.names)) { if(length(row.names) != n) stop("row.names wrong length") if (length(unique(row.names)) != length(row.names)) stop("non-unique row.names given") } if (is.null(row.names)) row.names <- as.character(1:n) stopifnot(!anyDuplicated(coords)) # tri <- tri.mesh(x=coords[,1], y=coords[,2]) tri <- deldir::deldir(x=coords[,1], y=coords[,2]) from <- c(tri$delsgs[,5], tri$delsgs[,6]) to <- c(tri$delsgs[,6], tri$delsgs[,5]) df <- data.frame(from=as.integer(from), to=as.integer(to), weight=1) attr(df, "n") <- tri$n.data class(df) <- c(class(df), "spatial.neighbour") df1 <- df[order(df$from),] nb <- sn2listw(df1)$neighbours # nb <- neighbours(tri) attr(nb, "region.id") <- row.names class(nb) <- "nb" attr(nb, "tri") <- TRUE attr(nb, "call") <- match.call() nb <- sym.attr.nb(nb) nb } spdep/R/nb2mat.R0000644000176200001440000001355113051323567013106 0ustar liggesusers# Copyright 2001-10 by Roger Bivand, Markus Reder and Werner Mueller, 2015 Martin Gubri # nb2mat <- function(neighbours, glist=NULL, style="W", zero.policy=NULL) { if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) if(!inherits(neighbours, "nb")) stop("Not a neighbours list") listw <- nb2listw(neighbours, glist=glist, style=style, zero.policy=zero.policy) res <- listw2mat(listw) attr(res, "call") <- match.call() res } listw2mat <- function(listw) { n <- length(listw$neighbours) if (n < 1) stop("non-positive number of entities") cardnb <- card(listw$neighbours) if (any(is.na(unlist(listw$weights)))) stop ("NAs in general weights list") res <- matrix(0, nrow=n, ncol=n) for (i in 1:n) if (cardnb[i] > 0) res[i, listw$neighbours[[i]]] <- listw$weights[[i]] if (!is.null(attr(listw, "region.id"))) row.names(res) <- attr(listw, "region.id") res } invIrM <- function(neighbours, rho, glist=NULL, style="W", method="solve", feasible=NULL) { if(class(neighbours) != "nb") stop("Not a neighbours list") invIrW(nb2listw(neighbours, glist=glist, style=style), rho=rho, method=method, feasible=feasible) } invIrW <- function(x, rho, method="solve", feasible=NULL) { if(inherits(x, "listw")) { n <- length(x$neighbours) V <- listw2mat(x) } else if (inherits(x, "Matrix") || inherits(x, "matrix")) { if (method == "chol" && all(t(x) == x)) stop("No Cholesky method for matrix or sparse matrix object") n <- dim(x)[1] V <- x } else stop("Not a weights list or a Sparse Matrix") if (is.null(feasible) || (is.logical(feasible) && !feasible)) { e <- eigen(V, only.values = TRUE)$values if (is.complex(e)) feasible <- 1/(range(Re(e))) else feasible <- 1/(range(e)) if (rho <= feasible[1] || rho >= feasible[2]) stop(paste("Rho", rho, "outside feasible range:", paste(feasible, collapse=":"))) } if (method == "chol"){ if (x$style %in% c("W", "S") && !(can.be.simmed(x))) stop("Cholesky method requires symmetric weights") if (x$style %in% c("B", "C", "U") && !(is.symmetric.glist(x$neighbours, x$weights))) stop("Cholesky method requires symmetric weights") if (x$style %in% c("W", "S")) { V <- listw2mat(listw2U(similar.listw(x))) } mat <- diag(n) - rho * V res <- chol2inv(chol(mat)) } else if (method == "solve") { mat <- diag(n) - rho * V res <- solve(mat) } else stop("unknown method") attr(res, "call") <- match.call() res } powerWeights <- function(W, rho, order=250, X, tol=.Machine$double.eps^(3/5)) { timings <- list() .ptime_start <- proc.time() n <- dim(W)[1] dX <- dim(X) if (dX[1] == n) side <- "R" else if (dX[2] == n) side <- "L" else stop("W and X non-conformant") aW <- rho*W if (side == "R") last <- aW %*% X else last <- X %*% aW acc <- X + last conv <- FALSE iter <- 1 series <- numeric(order) while (iter < order) { if (side == "R") { last <- aW %*% last acc <- acc + last } else { last <- last %*% aW acc <- acc + last } # abs() added 2017-02-15, bug spotted by Yongwan Chun series[iter] <- mean(abs(as(last, "matrix"))) if (series[iter] < tol) { conv <- TRUE break } iter <- iter+1 } if (!conv) warning("not converged within order iterations") timings[["make_power_sum"]] <- proc.time() - .ptime_start attr(acc, "internal") <- list(series=series, order=order, tol=tol, iter=iter, conv=conv) attr(acc, "timings") <- do.call("rbind", timings)[, c(1, 3)] acc } mat2listw <- function(x, row.names=NULL, style="M") { if (!(is.matrix(x) || is(x, "sparseMatrix"))) stop("x is not a matrix") n <- nrow(x) if (n < 1) stop("non-positive number of entities") m <- ncol(x) if (n != m) stop("x must be a square matrix") if (any(x < 0)) stop("values in x cannot be negative") if (any(is.na(x))) stop("NA values in x not allowed") if (!is.null(row.names)) { if(length(row.names) != n) stop("row.names wrong length") if (length(unique(row.names)) != length(row.names)) stop("non-unique row.names given") } if (is.null(row.names)) { if (!is.null(row.names(x))) { row.names <- row.names(x) } else { row.names <- as.character(1:n) } } # style <- "M" if (is(x, "sparseMatrix")) { xC <- as(x, "dgCMatrix") i <- slot(xC, "i")+1 p <- slot(xC, "p") dp <- diff(p) rp <- rep(seq_along(dp), dp) df0 <- data.frame(from=i, to=rp, weights=slot(xC, "x")) o <- order(df0$from, df0$to) df <- df0[o,] class(df) <- c(class(df), "spatial.neighbour") attr(df, "region.id") <- row.names attr(df, "n") <- dim(xC)[1] res <- sn2listw(df) neighbours <- res$neighbours weights <- res$weights } else { neighbours <- vector(mode="list", length=n) weights <- vector(mode="list", length=n) for (i in 1:n) { nbs <- which(x[i,] > 0.0) if (length(nbs) > 0) { neighbours[[i]] <- nbs weights[[i]] <- as.double(x[i, nbs]) # Laurajean Lewis } else { neighbours[[i]] <- 0L } } } attr(weights, "mode") <- "unknown" # Brian Rubineau class(neighbours) <- "nb" attr(neighbours, "region.id") <- row.names attr(neighbours, "call") <- NA attr(neighbours, "sym") <- is.symmetric.nb(neighbours, verbose=FALSE, force=TRUE) res <- list(style=style, neighbours=neighbours, weights=weights) class(res) <- c("listw", "nb") attr(res, "region.id") <- attr(neighbours, "region.id") attr(res, "call") <- match.call() if (style != "M") { res <- nb2listw(res$neighbours, glist=res$weights, style=style, zero.policy=TRUE) } res } spdep/R/gabrielneigh.R0000644000176200001440000000177111716033157014343 0ustar liggesusers# Copyright 2001 by Nicholas Lewin-Koh # gabrielneigh <- function(coords, nnmult=3) { x <- coords if (!is.matrix(x)) stop("Data not in matrix form") if (any(is.na(x))) stop("Data cannot include NAs") np <- nrow(x) if(ncol(x)!=2) stop("Planar graphs only work in 2d") ngaballoc <- np*nnmult g1<-g2<-rep(0,ngaballoc) nogab <- 0 storage.mode(x) <- "double" z <- .C("compute_gabriel", np=as.integer(np), from=as.integer(g1), to=as.integer(g2), nedges=as.integer(nogab), ngaballoc=as.integer(ngaballoc), x=x[,1], y=x[,2], PACKAGE="spdep") z$from<-z$from[1:z$nedges] z$to<-z$to[1:z$nedges] attr(z, "call") <- match.call() class(z)<-c("Graph","Gabriel") z } plot.Gabriel<-function(x, show.points=FALSE, add=FALSE, linecol=par(col), ...) { if(!add) plot(x$x,x$y,type='n',...) segments(x$x[x$from], x$y[x$from], x$x[x$to], x$y[x$to], col=linecol) if(show.points) points(x$x,x$y) } spdep/R/knn2nb.R0000644000176200001440000000200711716033157013104 0ustar liggesusers# Copyright 2001 by Roger Bivand # knn2nb <- function(knn, row.names=NULL, sym=FALSE) { if (class(knn) != "knn") stop("Not a knn object") res <- vector(mode="list", length=knn$np) if (!is.null(row.names)) { if(length(row.names) != knn$np) stop("row.names wrong length") if (length(unique(row.names)) != length(row.names)) stop("non-unique row.names given") } if (knn$np < 1) stop("non-positive number of spatial units") if (is.null(row.names)) row.names <- as.character(1:knn$np) if(sym){ to<-as.vector(knn$nn) from<-rep(1:knn$np,knn$k) for (i in 1:knn$np)res[[i]] <- sort(unique(c(to[from==i], from[to==i]))) } else { for (i in 1:knn$np) res[[i]] <- sort(knn$nn[i,]) } attr(res, "region.id") <- row.names attr(res, "call") <- attr(knn, "call") attr(res, "sym") <- sym attr(res, "type") <- "knn" attr(res, "knn-k") <- knn$k class(res) <- "nb" res } spdep/R/soi.R0000644000176200001440000000374012723260543012513 0ustar liggesusers# Copyright 2001 by Nicholas Lewin-Koh, modified RSB 2016-05-31 # #soi.graph <- function(tri.nb, coords){ # x <- coords # if (!is.matrix(x)) stop("Data not in matrix form") # if (any(is.na(x))) stop("Data cannot include NAs") # np<-length(tri.nb) # noedges<-0 # rad<-nearneigh<-rep(0,np) # neigh<-unlist(tri.nb) # noneigh<-unlist(lapply(tri.nb,length)) # g1<-g2<-rep(0,sum(noneigh)) # storage.mode(x) <- "double" # called Computational Geometry in C functions banned by Debian admins # answ<-.C("compute_soi", np=as.integer(np), from=as.integer(g1), # to=as.integer(g2), nedges=as.integer(noedges), # notri.nb=as.integer(noneigh), tri.nb=as.integer(neigh), # nn=as.integer(nearneigh), # circles=as.double(rad), x=x[,1], y=x[,2], # PACKAGE="spdep") # answ$from<-answ$from[1:answ$nedges] # answ$to<-answ$to[1:answ$nedges] # answ<-list(np=answ$np,nedges=answ$nedges, # from=answ$from,to=answ$to,circles=answ$circ) # attr(answ, "call") <- match.call() # class(answ)<-c("Graph","SOI") # answ #} soi.graph <- function(tri.nb, coords, quadsegs=10){ if (!is.matrix(coords)) stop("Data not in matrix form") if (any(is.na(coords))) stop("Data cannot include NAs") stopifnot(length(tri.nb) == nrow(coords)) if (requireNamespace("RANN", quietly = TRUE)) { dists_1 <- RANN::nn2(coords, k=2)$nn.dists[,2] } else { stop("RANN required") } if (requireNamespace("rgeos", quietly = TRUE)) { SP <- SpatialPoints(coords) bobj <- rgeos::gBuffer(SP, byid=TRUE, width=dists_1, quadsegs=quadsegs) gI <- rgeos::gIntersects(bobj, byid=TRUE, returnDense=FALSE) } else { stop("rgeos required") } gI_1 <- lapply(1:length(gI), function(i) { x <- gI[[i]][match(tri.nb[[i]], gI[[i]])]; x[!is.na(x)] }) answ <- list(np=length(tri.nb),nedges=length(unlist(gI_1)), from=rep(1:length(tri.nb), times=sapply(gI_1, length)), to=unlist(gI_1), circles=dists_1) attr(answ, "call") <- match.call() class(answ) <- c("Graph","SOI") answ } spdep/R/nb2blocknb.R0000644000176200001440000000302012757041342013725 0ustar liggesusers# Copyright 2004-2013 by Roger Bivand # nb2blocknb <- function(nb=NULL, ID, row.names = NULL) { # Jacquelyn Pless suggestion 131204 if (is.null(nb)) { blks <- unique(as.character(ID)) nb <- lapply(blks, function(x) 0L) class(nb) <- "nb" attr(nb, "region.id") <- blks } if (!inherits(nb, "nb")) stop("not an nb object") nbNames <- as.character(attr(nb, "region.id")) entNames <- as.character(ID) if (!identical(sort(nbNames), sort(unique(entNames)))) stop("names do not match exactly") n <- length(entNames) if (n < 1) stop("non-positive number of entities") if (!is.null(row.names)) { if (length(row.names) != n) stop("row.names wrong length") if (length(unique(row.names)) != length(row.names)) stop("non-unique row.names given") } else { row.names <- as.character(1:n) } inter <- lapply(as.list(nbNames), function(x) which(match(entNames, x) == 1)) res <- vector(mode="list", length=n) for (i in 1:n) { ii <- match(entNames[i], nbNames) blocks <- c(ii, nb[[ii]]) vec <- sort(unlist(inter[blocks])) svec <- vec[vec != i] if (length(svec) == 0) { res[[i]] <- 0L } else { res[[i]] <- svec } # Ann Hartell bug for NULL 2016-08-22 # res[[i]] <- ifelse(length(svec) == 0, 0L, svec) } attr(res, "region.id") <- row.names class(res) <- "nb" attr(res, "block") <- TRUE attr(res, "call") <- match.call() res <- sym.attr.nb(res) res } spdep/R/mstree.R0000644000176200001440000000157211716033157013221 0ustar liggesusers`mstree` <- function(nbw, ini=NULL) { n <- length(nbw[[2]]) nodes <- cbind(FALSE, 0, rep(Inf,n)) if (is.null(ini)) ini <- sample(1:n, 1) nodes[ini, 1] <- TRUE nodes[nbw$neighbours[[ini]], 2] <- ini nodes[nbw$neighbours[[ini]], 3] <- nbw$weights[[ini]] mst <- matrix(0, n-1, 3) for (i in 1:(n-1)){ id.min <- which.min(nodes[,3]) if (!is.finite(nodes[id.min,3])) stop("Graph is not connected!") nodes[id.min, 1] <- TRUE mst[i, ] <- c(nodes[id.min, 2], id.min, nodes[id.min, 3]) id.out <- !nodes[nbw$neighbours[[id.min]], 1] node.can <- nbw$neighbours[[id.min]][id.out] node.cost <- nbw$weights[[id.min]][id.out] id.best <- node.cost 0)) I <- (Nnn/S0) * (crossprod(u, lu) / crossprod(u)) I_save <- I if (!isTRUE(all.equal((Nnn/S0), 1))) I <- I * (S0/Nnn) p <- model$rank p1 <- 1:p nacoefs <- which(is.na(coefficients(model))) XtXinv <- chol2inv(model$qr$qr[p1, p1, drop = FALSE]) X <- model.matrix(terms(model), model.frame(model)) # fixed after looking at TOWN dummy in Boston data if (length(nacoefs) > 0L) X <- X[,-nacoefs] if (!is.null(wts <- weights(model))) { X <- sqrt(diag(wts)) %*% X } M <- diag(N) - X %*% tcrossprod(XtXinv, X) U <- listw2mat(listw.U) if (is.null(Omega)) { MVM <- M %*% U %*% M MVM <- 0.5 * (t(MVM) + MVM) evalue <- eigen(MVM, only.values=TRUE)$values idxpos <- which(abs(evalue) < zero.tol) if (length(idxpos) != p) warning("number of zero eigenvalues greater than number of variables") idxpos <- idxpos[1] - 1 if (idxpos < 1) { warning("first eigenvalue index zero") gamma <- c() } else gamma <- evalue[1:idxpos] gamma <- c(gamma, evalue[(idxpos+1+p):N]) res <- exactMoran(I, gamma, alternative=alternative, type="Global", useTP=useTP, truncErr=truncErr, zeroTreat=zeroTreat) } else { if (dim(Omega)[1] != N) stop("Omega of different size than data") res <- exactMoranAlt(I, M, U, Omega, N, alternative=alternative, type="Alternative", useTP=useTP, truncErr=truncErr, zeroTreat=zeroTreat) } data.name <- paste("\nmodel:", paste(strwrap(gsub("[[:space:]]+", " ", paste(deparse(model$call), sep="", collapse=""))), collapse="\n"), "\nweights: ", deparse(substitute(listw)), "\n", sep="") res$estimate <- c(I_save) res$data.name <- data.name res$df <- (N-p) if (!is.null(save.M)) res$M <- M if (!is.null(save.U)) res$U <- U return(res) } # function contributed by Michael Tiefelsdorf 2008 # implements his 2000 book eq. 6.7, p.69 truncPoint <- function(SpecI, truncErr=1e-6, zeroTreat=0.1){ m <- length(SpecI) absSpecI <- abs(SpecI) absSpecI[absSpecI < zeroTreat] <- zeroTreat TU <- (truncErr*pi*m/2)^(-2/m) * prod(absSpecI^(-1/m)) # Break product up to reduce rounding errors and over- or under-flows return(TU) } exactMoran <- function(I, gamma, alternative="greater", type="Global", np2=NULL, useTP=FALSE, truncErr=1e-6, zeroTreat=0.1) { if (!(alternative %in% c("greater", "less", "two.sided"))) stop("alternative must be one of: \"greater\", \"less\", or \"two.sided\"") if (type == "Global") { SpecI <- gamma - c(I) integrand <- function(x) { sin(0.5 * colSums(atan(SpecI %*% t(x)))) / (x * apply((1 + SpecI^2 %*% t(x^2))^(1/4), 2, prod))} } else if (type == "Alternative") { if (useTP) SpecI <- gamma integrand <- function(x) {sin(0.5 * colSums(atan((gamma) %*% t(x)))) / (x * apply((1+(gamma)^2 %*% t(x^2))^(1/4), 2, prod))} } else if (type == "Local") { if (is.null(np2)) stop("Local requires np2") min <- gamma[1] max <- gamma[2] if (useTP) SpecI <- c(min, rep(0,np2), max) - I integrand <- function(x) { sin(0.5*(atan((min-I)*x)+(np2)*atan((-I)*x) + atan((max-I)*x)))/(x*((1+(min-I)^2*x^2) * (1+I^2*x^2)^(np2) * (1+(max-I)^2*x^2))^(1/4))} } if (useTP) upper <- truncPoint(SpecI, truncErr=truncErr, zeroTreat=zeroTreat) else upper <- Inf II <- integrate(integrand, lower=0, upper=upper)$value # FIXME II > pi/2 if (II > pi/2 && type == "Local") { tau <- gamma df <- np2 + 2 if (length(tau) == 2L) tau <- c(tau[1], rep(0, df-2), tau[2]) E.I <- sum(tau)/df tau <- tau - E.I V.I <- (2*sum(tau^2)) / (df*(df+2)) sd.ex <- (I - E.I) / sqrt(V.I) warning("Normal approximation SD substituted", call.=FALSE) oType <- "N" } else { sd.ex <- qnorm(0.5-II/pi) oType <- "E" } if (alternative == "two.sided") p.v <- 2 * pnorm(abs(sd.ex), lower.tail=FALSE) else if (alternative == "greater") p.v <- pnorm(sd.ex, lower.tail=FALSE) else p.v <- pnorm(sd.ex) if (!is.finite(p.v) || p.v < 0 || p.v > 1) warning("Out-of-range p-value: reconsider test arguments") statistic <- sd.ex attr(statistic, "names") <- "Exact standard deviate" p.value <- p.v estimate <- c(I) attr(estimate, "names") <- "Observed Moran I" method <- paste(type, "Moran I statistic with exact p-value") res <- list(statistic = statistic, p.value = p.value, estimate = estimate, method = method, alternative = alternative, gamma=gamma, oType=oType) class(res) <- "moranex" return(res) } exactMoranAlt <- function(I, M, U, Omega, n, alternative="greater", type="Alternative", useTP=FALSE, truncErr=1e-6, zeroTreat=0.1) { Omega <- chol(Omega) A <- Omega %*% M %*% (U - diag(I, n)) %*% M %*% t(Omega) gamma <- sort(eigen(A)$values) obj <- exactMoran(I, gamma, alternative=alternative, type=type, useTP=useTP, truncErr=truncErr, zeroTreat=zeroTreat) obj } print.moranex <- function(x, ...) { class(x) <- c("htest", "moranex") print(x, ...) invisible(x) } H1_moments <- function(M, U, Omega, n) { B <- Omega %*% M %*% t(Omega) eigen <- eigen(B) lambda <- eigen$values P <- eigen$vectors A <- Omega %*% M %*% U %*% M %*% t(Omega) H <- t(P) %*% A %*% P hh <- diag(H) integrand <- function(x) apply((1+2*lambda %*% t(x))^(-0.5),2,prod) * colSums(hh/(1+2*lambda %*% t(x))) mu <- integrate(integrand,lower=0, upper=Inf)$value integrand2 <- function(x) { res=0 for (i in 1:n){ for(j in 1:n){ res=res+(H[i,i]*H[j,j]+2*H[i,j]^2) / ((1+2*lambda[i]*x)*(1+2*lambda[j]*x))*x } } apply((1+2*lambda %*% t(x))^(-0.5),2,prod)*res } mu2 <- integrate(integrand2,lower=0, upper=Inf)$value res<-list(Ew=mu,Var=mu2-mu^2) res } moranExpect_H1 <- function(listw, rho, select=FALSE){ if (!(select[1])) select=1:length(listw$neighbours) n <- length(select) V <- listw2mat(listw)[select,select] M <- diag(n)-matrix(rep(1/n,n*n),nrow=n) WOm <- invIrW(listw, rho=rho)[select,select] B <- WOm %*% M %*% t(WOm) eigen <- eigen(B) lambda <- eigen$values P <- eigen$vectors A <- WOm %*% M %*% (0.5*(V + t(V))) %*% M %*% t(WOm) H <- t(P) %*% A %*% P hh <- diag(H) integrand <- function(x) apply((1+2*lambda %*% t(x))^(-0.5), 2, prod) * colSums(hh/(1+2*lambda %*% t(x))) mu <- integrate(integrand, lower=0, upper=Inf)$value mu } moranExpect_rho_H1 <- function(listw, I0, select=FALSE){ if (!(select[1])) select=1:length(listw$neighbours) V <- listw2mat(listw)[select,select] eigenvalues<-as.double(eigen(V)$values) min=min(eigenvalues) max=max(eigenvalues) f <- function(x) abs(I0-moranExpect_H1(listw, x, select=select)) rop <- optimise(f, c(1/min,1/max))$minimum rop } spdep/R/mtlocalmoran.R0000644000176200001440000002356112604531024014405 0ustar liggesusers# Copyright 2002-2008 by Roger Bivand and Michael Tiefelsdorf, # with contributions by Danlin Yu # localmoran.sad <- function (model, select, nb, glist = NULL, style = "W", zero.policy = NULL, alternative = "greater", spChk=NULL, resfun=weighted.residuals, save.Vi = FALSE, tol = .Machine$double.eps^0.5, maxiter = 1000, tol.bounds=0.0001, save.M=FALSE, Omega=NULL) { # need to impose check on weights TODO!! # class to inherits Jari Oksanen 080603 if (!inherits(nb, "nb")) stop(paste(deparse(substitute(nb)), "not an nb object")) if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) n <- length(nb) dmc <- deparse(model$call) if (!inherits(model, "lm")) stop(paste(deparse(substitute(model)), "not an lm object")) u <- resfun(model) if (n != length(u)) stop("objects of different length") if (is.null(spChk)) spChk <- get.spChkOption() if (spChk && !chkIDs(u, nb2listw(nb, zero.policy=zero.policy))) stop("Check of data and weights ID integrity failed") if (!(alternative %in% c("greater", "less", "two.sided"))) stop("alternative must be one of: \"greater\", \"less\", or \"two.sided\"") if (missing(select)) select <- 1:n u <- as.vector(u) select <- unique(as.integer(select)) if (length(select) < 1L) stop("select too short") if (any(select < 1 || select > n)) stop("select out of range") utu <- c(t(u) %*% u) p <- model$rank p1 <- 1:p nacoefs <- which(is.na(coefficients(model))) m <- n - p - 2 XtXinv <- chol2inv(model$qr$qr[p1, p1, drop = FALSE]) X <- model.matrix(terms(model), model.frame(model)) # fixed after looking at TOWN dummy in Boston data if (length(nacoefs) > 0L) X <- X[,-nacoefs] if (!is.null(wts <- weights(model))) { X <- sqrt(diag(wts)) %*% X } cond.sad <- FALSE if (!is.null(Omega)) { Omega <- chol(Omega) M <- diag(n) - X %*% tcrossprod(XtXinv, X) M1 <- Omega %*% M M2 <- M %*% t(Omega) cond.sad <- TRUE } B <- listw2U(nb2listw(nb, glist=glist, style="B", zero.policy=zero.policy)) D <- NULL a <- NULL if (style == "W") { D <- 1/sapply(B$weights, sum) } else if (style == "S") { D <- 1 / sqrt(sapply(B$weights, function(x) sum(x^2))) # a <- sum(unlist(B$weights)) # correction by Danlin Yu, 25 March 2004 a <- sum(sapply(B$weights, function(x) sqrt(sum(x^2)))) } else if (style == "C") a <- sum(unlist(B$weights)) res <- vector(mode="list", length=length(select)) for (i in 1:length(select)) { Vi <- listw2star(B, select[i], style=style, n, D, a, zero.policy=zero.policy) Viu <- lag.listw(Vi, u, zero.policy=TRUE) Ii <- c((t(u) %*% Viu) / utu) if (cond.sad) { obj <- sadLocalMoranAlt(Ii, Vi, M1, M2, n, tol.bounds, tol, maxiter, ii=select[i], alternative=alternative) sad.p <- obj$sad.p sad.r <- obj$sad.r sad.u <- obj$sad.u omega <- obj$omega p.sad <- obj$p.sad gamma <- obj$gamma } else { ViX <- lag.listw(Vi, X, zero.policy=TRUE) MViM <- t(X) %*% ViX %*% XtXinv t1 <- -sum(diag(MViM)) sumsq.Vi <- function(x) { if (is.null(x)) NA else sum(x^2) } trVi2 <- sum(sapply(Vi$weights, sumsq.Vi), na.rm=TRUE) t2a <- sum(diag(t(ViX) %*% ViX %*% XtXinv)) t2b <- sum(diag(MViM %*% MViM)) t2 <- trVi2 - 2*t2a + t2b e1 <- 0.5 * (t1 + sqrt(2*t2 - t1^2)) en <- 0.5 * (t1 - sqrt(2*t2 - t1^2)) gamma <- c(c(e1), c(en)) obj <- sadLocalMoran(Ii, gamma, m, ii=select[i], alternative=alternative) sad.p <- obj$sad.p sad.r <- obj$sad.r sad.u <- obj$sad.u omega <- obj$omega p.sad <- obj$p.sad gamma <- obj$gamma } statistic <- sad.p attr(statistic, "names") <- "Saddlepoint approximation" p.value <- p.sad estimate <- c(Ii) attr(estimate, "names") <- "Observed Moran Ii" internal1 <- c(omega, sad.r, sad.u) attr(internal1, "names") <- c("omega", "sad.r", "sad.u") method <- paste("Saddlepoint approximation for local Moran I", "(Barndorff-Nielsen formula)") data.name <- paste("region:", select[i], attr(nb, "region.id")[select[i]], "\n", paste(strwrap(paste("model: ", gsub("[ ]+", " ", paste(dmc, sep="", collapse="")))), collapse="\n"), "\nneighbours:", deparse(substitute(nb)), "style:", style, "\n") obj <- list(statistic = statistic, p.value = p.value, estimate = estimate, method = method, alternative = alternative, data.name = data.name, internal1 = internal1, df = (n-p), tau = gamma, i = paste(select[i], attr(nb, "region.id")[select[i]]), # if (save.Vi) {Vi = Vi} Vi = if(save.Vi) Vi else NULL) class(obj) <- "moransad" res[[i]] <- obj } class(res) <- "localmoransad" if (save.M && cond.sad) attr(res, "M") <- list(M1=M1, M2=M2, type="cond") if (save.M && !cond.sad) attr(res, "M") <- list(X=X, XtXinv=XtXinv, type="null") res } sadLocalMoranAlt <- function(Ii, Vi, M1, M2, n, tol.bounds=0.0001, tol = .Machine$double.eps^0.5, maxiter = 1000, ii, alternative="greater") { ViI <- listw2mat(Vi) - Ii * diag(n) innerTerm <- M1 %*% ViI %*% M2 evalue <- eigen(innerTerm, only.values=TRUE)$values tau <- c(evalue) e1 <- tau[1] en <- tau[length(tau)] low <- (1 / (2*tau[length(tau)])) + tol.bounds #+ 0.01 high <- (1 / (2*tau[1])) - tol.bounds #- 0.01 f <- function(omega, tau) {sum(tau/(1 - (2*omega*tau)))} root <- uniroot(f, lower=low, upper=high, tol=tol, maxiter=maxiter, tau=tau) omega <- root$root # 0 should be expectation - maybe use try() if (omega < 0 ) sad.r <- try(-sqrt(sum(log(1 - 2*omega*tau)))) else sad.r <- try(sqrt(sum(log(1 - 2*omega*tau)))) if (inherits(sad.r, "try.error")) { warning (paste("In zone:", ii, "sad.r not a number")) sad.r <- sad.u <- sad.p <- NaN } else { sad.u <- omega * sqrt(2*sum(tau^2 / (1 - (2*omega*tau))^2)) sad.p <- sad.r - ((1/sad.r)*log(sad.r/sad.u)) } if (alternative == "two.sided") p.sad <- 2 * pnorm(abs(sad.p), lower.tail=FALSE) else if (alternative == "greater") p.sad <- pnorm(sad.p, lower.tail=FALSE) else p.sad <- pnorm(sad.p) obj <- list(p.sad=p.sad, sad.p=sad.p, sad.r=sad.r, sad.u=sad.u, omega=omega, root=root, gamma=tau) obj } sadLocalMoran <- function(Ii, gamma, m, ii, alternative="greater") { e1 <- gamma[1] en <- gamma[2] l <- en h <- e1 mi <- Ii aroot= m*mi*(l+h-2*mi)+mi*(3*l+3*h-4*mi)-2*l*h broot= (m+2)*mi*(l-mi)*(h-mi) c1root= l**2 * mi**2 * (m+1)**2 + h**2 * mi**2 * (m+1)**2 c2root= 2*l*h * (2*l*h - 2*l*mi - 2*h*mi - 2*m*mi**2 - m**2 * mi**2 + mi**2) omega= 0.25*((aroot-sqrt(c1root+c2root))/broot) if (is.nan(omega)) { warning (paste("In zone:", ii, "omega not a number")) sad.r <- sad.u <- sad.p <- NaN } else { tau <- c(c(e1), rep(0, m), c(en)) taumi <- tau - Ii if (omega < 0 ) sad.r <- -sqrt(sum(log(1 - 2*omega*taumi))) else sad.r <- sqrt(sum(log(1 - 2*omega*taumi))) sad.u <- omega * sqrt(2*sum(taumi^2 / (1 - (2*omega*taumi))^2)) sad.p <- sad.r - ((1/sad.r)*log(sad.r/sad.u)) } if (alternative == "two.sided") p.sad <- 2 * pnorm(abs(sad.p), lower.tail=FALSE) else if (alternative == "greater") p.sad <- pnorm(sad.p, lower.tail=FALSE) else p.sad <- pnorm(sad.p) obj <- list(p.sad=p.sad, sad.p=sad.p, sad.r=sad.r, sad.u=sad.u, omega=omega, gamma=gamma) obj } print.localmoransad <- function(x, ...) { extract <- function(x, i) {x[[i]]} regnames <- sapply(x, extract, 10) est <- sapply(x, extract, 3) sad <- sapply(x, extract, 1) pval <- sapply(x, extract, 2) res <- as.matrix(cbind(est, sad, pval)) rownames(res) <- regnames colnames(res) <- c("Local Morans I", "Saddlepoint", "Pr. (Sad)") print(res, ...) invisible(res) } as.data.frame.localmoransad <- function(x, row.names=NULL, optional=FALSE, ...) { n <- length(x) if (n < 1) stop("x too short") res <- matrix(0, nrow=n, ncol=14) regnames <- NULL if (!is.null(row.names)) if (length(row.names) == n) regnames <- row.names if (is.null(regnames))for (i in 1:n) regnames <- c(regnames, x[[i]]$i) for (i in 1:n) { tau <- x[[i]]$tau df <- x[[i]]$df tau <- c(tau[1], rep(0, df-2), tau[2]) max.I <- tau[1] min.I <- tau[length(tau)] E.I <- sum(tau)/df tau <- tau - E.I V.I <- (2*sum(tau^2)) / (df*(df+2)) Z.I <- (x[[i]]$estimate - E.I) / sqrt(V.I) if (x[[i]]$alternative == "two.sided") P.I <- 2 * (1 - pnorm(Z.I)) else if (x[[i]]$alternative == "greater") P.I <- pnorm(Z.I, lower.tail=FALSE) else P.I <- pnorm(Z.I) Sk.I <- ((8*sum(tau^3))/(df*(df+2)*(df+4))) / (V.I^(3/2)) Kur.I <- ((48*sum(tau^4) + 12*(sum(tau^2))^2) / (df*(df+2)*(df+4)*(df+6))) / (V.I^2) res[i,] <- c(x[[i]]$estimate, Z.I, P.I, x[[i]]$statistic, x[[i]]$p.value, E.I, V.I, Sk.I, Kur.I, min.I, max.I, x[[i]]$internal1) } colnames(res) <- c("Local Morans I", "Stand. dev. (N)", "Pr. (N)", "Saddlepoint", "Pr. (Sad)", "Expectation", "Variance", "Skewness", "Kurtosis", "Minimum", "Maximum", "omega", "sad.r", "sad.u") rownames(res) <- regnames res <- as.data.frame(res) res } summary.localmoransad <- function(object, ...) { res <- as.data.frame(object) class(res) <- c("summary.localmoransad", class(res)) res } print.summary.localmoransad <- function(x, ...) { print(as.data.frame(x), ...) invisible(x) } spdep/R/prunecost.R0000644000176200001440000000622112431373217013737 0ustar liggesusersprunecost <- function(edges, data, method=c("euclidean", "maximum", "manhattan", "canberra", "binary", "minkowski", "mahalanobis"), p=2, cov, inverted=FALSE) { sswt <- ssw(data, unique(as.integer(edges)), method, p, cov, inverted) cores <- get.coresOption() if (is.null(cores)) { parallel <- "no" } else { parallel <- ifelse (get.mcOption(), "multicore", "snow") } ncpus <- ifelse(is.null(cores), 1L, cores) cl <- NULL if (parallel == "snow") { cl <- get.ClusterOption() if (is.null(cl)) { parallel <- "no" warning("no cluster in ClusterOption, parallel set to no") } } if (nrow(edges)<300) parallel <- "no" # if (parallel == "snow") { # parallel <- "no" # warning("no parallel calculations available") # } if (parallel == "snow") { if (requireNamespace("parallel", quietly = TRUE)) { # require(parallel) sI <- parallel::splitIndices(nrow(edges), length(cl)) # if (.Platform$OS.type == "windows") { # cl <- makeCluster(getOption("cl.cores", 2)) # clusterEvalQ(cl, library(spdep)) sswp <- do.call("c", parallel::parLapply(cl, sI, sapply, function(i) { pruned.ids <- prunemst(rbind(edges[i, ], edges[-i, ]), only.nodes=TRUE) sum(sapply(pruned.ids, function(j) ssw(data, j, method, p, cov, inverted))) })) } else { stop("parallel not available") } } else if (parallel == "multicore") { if (requireNamespace("parallel", quietly = TRUE)) { # require(parallel) sI <- parallel::splitIndices(nrow(edges), ncpus) out <- parallel::mclapply(sI, sapply, function(i) { pruned.ids <- prunemst(rbind(edges[i, ], edges[-i, ]), only.nodes=TRUE) sum(sapply(pruned.ids, function(j) ssw(data, j, method, p, cov, inverted))) }, mc.cores=ncpus) sswp <- do.call("c", out) } else { stop("parallel not available") } } else { sswp <- sapply(1:nrow(edges), function(i) { pruned.ids <- prunemst(rbind(edges[i, ], edges[-i, ]), only.nodes=TRUE) sum(sapply(pruned.ids, function(j) ssw(data, j, method, p, cov, inverted))) }) } return(sswt - sswp) } ssw <- function(data, id, method=c("euclidean", "maximum", "manhattan", "canberra", "binary", "minkowski", "mahalanobis"), p=2, cov, inverted=FALSE) { if (is.function(method)) return(method(data, id)) else { method <- match.arg(method) data <- as.matrix(data) if (method=="mahalanobis") return(sum(mahalanobis(data[id,,drop=FALSE], colMeans(data[id,,drop=FALSE]), cov, inverted))) else return(sum(dist(rbind(colMeans(data[id,,drop=FALSE]), data[id,,drop=FALSE]), method, p=p)[1:length(id)])) } } spdep/R/dnearneigh.R0000644000176200001440000000430412400603523014011 0ustar liggesusers# Copyright 2000-2014 by Roger S. Bivand. # Upgrade to sp classes February 2007 # dnearneigh <- function(x, d1, d2, row.names=NULL, longlat=NULL, bounds=c("GT", "LE")) { if (inherits(x, "SpatialPoints")) { # correct logic if (!is.null(longlat)) warning("dnearneigh: longlat overriden for Spatial object") if (!is.na(is.projected(x)) && !is.projected(x)) { longlat <- TRUE } else longlat <- FALSE x <- coordinates(x)[, 1:2] } else if (is.null(longlat) || !is.logical(longlat)) longlat <- FALSE if (!is.numeric(x)) stop("Data non-numeric") if (!is.matrix(x)) stop("Data not in matrix form") stopifnot(ncol(x) == 2) if (any(is.na(x))) stop("Data include NAs") if (longlat) { bb <- bbox(x) if (!.ll_sanity(bb)) warning("Coordinates are not geographical: longlat argument wrong") } # if (!is.double(x)) storage.mode(x) <- "double" np <- nrow(x) if (np < 1) stop("non-positive number of rows in x") if (!is.null(row.names)) { if(length(row.names) != np) stop("row.names wrong length") if (length(unique(row.names)) != length(row.names)) stop("non-unique row.names given") } if (is.null(row.names)) row.names <- as.character(1:np) dimension <- ncol(x) if (dimension > 2) stop("Only 2D data accepted") md <- 0 if (d1 < 0) d1 <- 0.0 if (!longlat) { for (i in 1:dimension) md <- sum(md, (diff(range(x[,i]))^2)) md <- md + (.Machine$double.eps)^(1/4) if (d2 > sqrt(md)) d2 <- sqrt(md) } stopifnot(is.character(bounds)) stopifnot(length(bounds) == 2) stopifnot(isTRUE(bounds[1] %in% c("GE", "GT"))) stopifnot(isTRUE(bounds[2] %in% c("LE", "LT"))) storage.mode(x) <- "double" storage.mode(d1) <- "double" storage.mode(d2) <- "double" attr(d1, "equal") <- bounds[1] == "GE" attr(d2, "equal") <- bounds[2] == "LE" z <- .Call("dnearneigh", d1, d2, as.integer(np), as.integer(dimension), x, as.integer(longlat), PACKAGE="spdep") attr(z[[1]], "region.id") <- row.names attr(z[[1]], "call") <- match.call() attr(z[[1]], "dnn") <- c(d1, d2) attr(z[[1]], "bounds") <- bounds z[[1]] <- sym.attr.nb(z[[1]]) z[[1]] } spdep/R/plot.mst.R0000644000176200001440000000125511716033157013500 0ustar liggesusers`plot.mst` <- function(x, coords, label.areas=NULL, cex.circles=1, cex.labels=1, ...){ ### funcao para plotar o grafo da arvore geradora minima ### vec.argem e' o vetor com os indices do vizinho de conexao ### de cada area na arvore geradora minima ### ## n <- nrow(coords) if (is.null(label.areas)) label.areas <- as.character(1:n) symbols(coords[,1], coords[,2], circles=rep(cex.circles,n), inches=FALSE, xlab=" ", ylab=" ", xaxt="n", yaxt="n", ...) text(coords[,1], coords[,2], label.areas, cex=cex.labels) segments(coords[x[,1],1], coords[x[,1],2], coords[x[,2],1], coords[x[,2],2], ...) invisible() } spdep/R/choynowski.R0000644000176200001440000000167611716033157014124 0ustar liggesusers# Copyright 2004-2010 by Roger Bivand # choynowski <- function(n, x, row.names=NULL, tol=.Machine$double.eps^0.5, legacy=FALSE) { len <- length(n) if (len < 1) stop("non-positive number of observations") res <- numeric(len) nsum <- sum(n) xsum <- sum(x) b <- nsum/xsum if (b > 1) stop("sum of cases larger than sum of populations at risk") E <- x*b type <- (n < E) if (legacy) { for (i in 1:len) { if(type[i]) { for (j in 0:n[i]) { xx <- (E[i]^j*exp(-E[i])) / gamma(j + 1) res[i] <- res[i] + xx } } else { xx <- 1 x <- n[i] while (xx > tol) { xx <- (E[i]^x*exp(-E[i])) / gamma(x + 1) res[i] <- res[i] + xx x <- x + 1 } } } } else { res <- ifelse(type, ppois(n, E), 1 - ppois(n-1, E)) } if (is.null(row.names)) res <- data.frame(pmap=res, type=type) else res <- data.frame(pmap=res, type=type, row.names=row.names) res } spdep/R/localG.R0000644000176200001440000000354013152257750013123 0ustar liggesusers# Copyright 2001-3 by Roger Bivand # localG <- function(x, listw, zero.policy=NULL, spChk=NULL, return_internals=FALSE) { if (!inherits(listw, "listw")) stop(paste(deparse(substitute(listw)), "is not a listw object")) if (!is.numeric(x)) stop(paste(deparse(substitute(x)), "is not a numeric vector")) if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) stopifnot(is.vector(x)) if (any(is.na(x))) stop(paste("NA in ", deparse(substitute(x)))) n <- length(listw$neighbours) if (n != length(x))stop("Different numbers of observations") if (is.null(spChk)) spChk <- get.spChkOption() if (spChk && !chkIDs(x, listw)) stop("Check of data and weights ID integrity failed") gstari <- FALSE if (!is.null(attr(listw$neighbours, "self.included")) && attr(listw$neighbours, "self.included")) gstari <- TRUE lx <- lag.listw(listw, x, zero.policy=zero.policy) if (gstari) { xibar <- rep(mean(x), n) si2 <- rep(sum(scale(x, scale=FALSE)^2)/n, n) } else { xibar <- (rep(sum(x),n) - x) / (n - 1) si2 <- ((rep(sum(x^2),n) - x^2) / (n - 1)) - xibar^2 } Wi <- sapply(listw$weights, sum) S1i <- sapply(listw$weights, function(x) sum(x^2)) EG <- Wi*xibar res <- (lx - EG) if (gstari) { VG <- si2*((n*S1i - Wi^2)/(n-1)) } else { VG <- si2*(((n-1)*S1i - Wi^2)/(n-2)) } res <- res / sqrt(VG) if (return_internals) { if (gstari) { attr(res, "internals") <- cbind(G=lx/sum(c(x)), EG=EG/sum(c(x)), VG=VG/sum(c(x))^2) } else { attr(res, "internals") <- cbind(G=lx/(sum(c(x))-c(x)), EG=EG/(sum(c(x))-c(x)), VG=VG/(sum(c(x))-c(x))^2) } } attr(res, "gstari") <- gstari attr(res, "call") <- match.call() class(res) <- "localG" res } spdep/R/graph2nb.R0000644000176200001440000000207311716033157013422 0ustar liggesusers# Copyright 2001-6 by Nicholas Lewin-Koh and Roger S. Bivand. # graph2nb <- function(gob, row.names=NULL,sym=FALSE) { if (!inherits(gob, "Graph")) stop("Not a Graph object") res <- vector(mode="list", length=gob$np) if (!is.null(row.names)) { if(length(row.names) != gob$np) stop("row.names wrong length") if (length(unique(row.names)) != length(row.names)) stop("non-unique row.names given") } if (gob$np < 1) stop("non-positive gob$np") if (is.null(row.names)) row.names <- as.character(1:gob$np) if(sym){ for (i in 1:gob$np) { res[[i]] <- sort(unique(c(gob$to[gob$from==i], gob$from[gob$to==i]))) if(length(res[[i]]) == 0L) res[[i]] <- 0L } } else{ for (i in 1:gob$np) { res[[i]] <- sort(gob$to[gob$from==i]) if(length(res[[i]]) == 0L) res[[i]] <- 0L } } attr(res, "region.id") <- row.names attr(res, "call") <- attr(gob, "call") attr(res, "type") <- attr(gob, "type") class(res) <- "nb" res <- sym.attr.nb(res) res } spdep/R/lee.mc.R0000644000176200001440000001000112324523334013045 0ustar liggesusers# Copyright 20014 by Roger Bivand, Virgilio Gómez-Rubio # lee.mc <- function(x, y, listw, nsim, zero.policy=NULL, alternative="greater", na.action=na.fail, spChk=NULL, return_boot=FALSE) { alternative <- match.arg(alternative, c("greater", "less")) if(!inherits(listw, "listw")) stop(paste(deparse(substitute(listw)), "is not a listw object")) if(!is.numeric(x) | !is.numeric(y)) stop(paste(deparse(substitute(x)), "is not a numeric vector")) if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) if(missing(nsim)) stop("nsim must be given") if (is.null(spChk)) spChk <- get.spChkOption() if (spChk && !chkIDs(x, listw) && !chkIDs(y, listw)) stop("Check of data and weights ID integrity failed") cards <- card(listw$neighbours) if (!zero.policy && any(cards == 0)) stop("regions with no neighbours found") # if (any(is.na(x))) stop("NA in X") # if (any(is.na(y))) stop("NA in Y") xname <- deparse(substitute(x)) yname <- deparse(substitute(y)) wname <- deparse(substitute(listw)) if (deparse(substitute(na.action)) == "na.pass") stop("na.pass not permitted") #Check NA's in both vectors na.act <- attr(na.action(cbind(x,y)), "na.action") x[na.act]<-NA y[na.act]<-NA x<-na.action(x) y<-na.action(y) if (!is.null(na.act)) { subset <- !(1:length(listw$neighbours) %in% na.act) listw <- subset(listw, subset, zero.policy=zero.policy) } n <- length(listw$neighbours) if ((n != length(x)) |(n != length(y))) stop("objects of different length") gamres <- suppressWarnings(nsim > gamma(n + 1)) if (gamres) stop("nsim too large for this number of observations") if (nsim < 1) stop("nsim too small") # S0 <- Szero(listw) S2<-sum ( (unlist(lapply(listw$weights, sum)))^2 ) #Data frame with x, y xy<-data.frame(x,y) if (return_boot) { lee_boot <- function(var, i, ...) { # var <- var[i] # return(moran(x=var, ...)$I) return(lee(x=var[i,1], y=var[i,2], ...)$L) } cores <- get.coresOption() if (is.null(cores)) { parallel <- "no" } else { parallel <- ifelse (get.mcOption(), "multicore", "snow") } ncpus <- ifelse(is.null(cores), 1L, cores) cl <- NULL if (parallel == "snow") { cl <- get.ClusterOption() if (is.null(cl)) { parallel <- "no" warning("no cluster in ClusterOption, parallel set to no") } } res <- boot(xy, statistic=lee_boot, R=nsim, sim="permutation", listw=listw, n=n, S2=S2, zero.policy=zero.policy, parallel=parallel, ncpus=ncpus, cl=cl) return(res) } res <- numeric(length=nsim+1) for (i in 1:nsim) { idx<-sample(1:n) res[i] <- lee(x[idx], y[idx], listw, n, S2, zero.policy)$L } res[nsim+1] <- lee(x, y, listw, n, S2, zero.policy)$L rankres <- rank(res) xrank <- rankres[length(res)] diff <- nsim - xrank diff <- ifelse(diff > 0, diff, 0) if (alternative == "less") pval <- punif((diff + 1)/(nsim + 1), lower.tail=FALSE) else if (alternative == "greater") pval <- punif((diff + 1)/(nsim + 1)) if (!is.finite(pval) || pval < 0 || pval > 1) warning("Out-of-range p-value: reconsider test arguments") statistic <- res[nsim+1] names(statistic) <- "statistic" parameter <- xrank names(parameter) <- "observed rank" method <- "Monte-Carlo simulation of Lee's L" data.name <- paste( xname, ", ", yname, "\nweights:", wname, ifelse(is.null(na.act), "", paste("\nomitted:", paste(na.act, collapse=", "))), "\nnumber of simulations + 1:", nsim+1, "\n") lres <- list(statistic=statistic, parameter=parameter, p.value=pval, alternative=alternative, method=method, data.name=data.name, res=res) if (!is.null(na.act) ) attr(lres, "na.action") <- na.act class(lres) <- c("htest", "mc.sim") lres } spdep/R/mtmoran.R0000644000176200001440000001513413145621415013374 0ustar liggesusers# Copyright 2002-2008 by Roger Bivand and Michael Tiefelsdorf # lm.morantest.sad <- function (model, listw, zero.policy = NULL, alternative = "greater", spChk=NULL, resfun=weighted.residuals, tol = .Machine$double.eps^0.5, maxiter = 1000, tol.bounds=0.0001, zero.tol=1.0e-7, Omega=NULL, save.M=NULL, save.U=NULL) { if (!inherits(listw, "listw")) stop(paste(deparse(substitute(listw)), "is not a listw object")) if (!inherits(model, "lm")) stop(paste(deparse(substitute(model)), "not an lm object")) if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) N <- length(listw$neighbours) u <- resfun(model) if (N != length(u)) stop("objects of different length") if (is.null(spChk)) spChk <- get.spChkOption() if (spChk && !chkIDs(u, listw)) stop("Check of data and weights ID integrity failed") if (!(alternative %in% c("greater", "less", "two.sided"))) stop("alternative must be one of: \"greater\", \"less\", or \"two.sided\"") u <- as.vector(u) listw.U <- listw2U(listw) S0 <- sum(unlist(listw.U$weights)) lu <- lag.listw(listw.U, u, zero.policy = zero.policy) Nnn <- N if (zero.policy) Nnn <- length(which(card(listw$neighbours) > 0L)) I <- (Nnn/S0) * ((t(u) %*% lu)/(t(u) %*% u)) I_save <- I if (!isTRUE(all.equal((Nnn/S0), 1))) I <- I * (S0/Nnn) p <- model$rank p1 <- 1:p nacoefs <- which(is.na(coefficients(model))) XtXinv <- chol2inv(model$qr$qr[p1, p1, drop = FALSE]) X <- model.matrix(terms(model), model.frame(model)) # fixed after looking at TOWN dummy in Boston data if (length(nacoefs) > 0L) X <- X[,-nacoefs] if (!is.null(wts <- weights(model))) { X <- sqrt(diag(wts)) %*% X } M <- diag(N) - X %*% XtXinv %*% t(X) U <- listw2mat(listw.U) if (is.null(Omega)) { MVM <- M %*% U %*% M MVM <- 0.5 * (t(MVM) + MVM) evalue <- eigen(MVM, only.values=TRUE)$values idxpos <- which(abs(evalue) < zero.tol) if (length(idxpos) != p) warning("number of zero eigenvalues greater than number of variables") idxpos <- idxpos[1] - 1 if (idxpos < 1) { warning("first eigenvalue index zero") tau <- c() } else tau <- evalue[1:idxpos] tau <- c(tau, evalue[(idxpos+1+p):N]) mres <- moranSad(tau, I, tol, maxiter, tol.bounds, alternative=alternative, type="Global") } else { if (dim(Omega)[1] != N) stop("Omega of different size than data") mres <- moranSadAlt(I, M, U, Omega, N, tol=tol, maxiter=maxiter, tol.bounds=tol.bounds, alternative=alternative) } statistic <- mres$sad.p attr(statistic, "names") <- "Saddlepoint approximation" p.value <- mres$p.sad estimate <- c(I_save) attr(estimate, "names") <- "Observed Moran I" internal1 <- c(mres$omega, mres$sad.r, mres$sad.u) attr(internal1, "names") <- c("omega", "sad.r", "sad.u") internal2 <- unlist(mres$root)[2:4] attr(internal2, "names") <- c("f.root", "iter", "estim.prec") method <- paste("Saddlepoint approximation for global Moran's I", "(Barndorff-Nielsen formula)") data.name <- paste("\nmodel:", paste(strwrap(gsub("[[:space:]]+", " ", paste(deparse(model$call), sep="", collapse=""))), collapse="\n"), "\nweights: ", deparse(substitute(listw)), "\n", sep="") res <- list(statistic = statistic, p.value = p.value, estimate = estimate, method = method, alternative = alternative, data.name = data.name, internal1 = internal1, internal2 = internal2, df = (N-p), tau = tau) class(res) <- "moransad" if (!is.null(save.M)) res$M <- M if (!is.null(save.U)) res$U <- U return(res) } moranSadAlt <- function(I, M, U, Omega, n, tol=.Machine$double.eps^0.5, maxiter=1000, tol.bounds=0.0001, alternative="greater") { Omega <- chol(Omega) A <- Omega %*% M %*% (U- diag(I, n)) %*% M %*% t(Omega) tau <- sort(eigen(A)$values, decreasing=TRUE) obj <- moranSad(tau, I, tol=tol, maxiter=maxiter, tol.bounds=tol.bounds, alternative=alternative, type="Alternative") obj } moranSad <- function(tau, I, tol=.Machine$double.eps^0.5, maxiter=1000, tol.bounds=0.0001, alternative="greater", type="Global") { if (type == "Global") taumi <- tau - c(I) else if (type == "Alternative") taumi <- tau low <- (1 / (2*taumi[length(taumi)])) + tol.bounds high <- (1 / (2*taumi[1])) - tol.bounds if (!(low < high)) { omega <- root <- p.sad <- sad.p <- sad.r <- sad.u <- NA warning("low not less than high for uniroot in moranSad") } else { f <- function(omega, taumi) {sum(taumi/(1 - (2*omega*taumi)))} root <- uniroot(f, lower=low, upper=high, tol=tol, maxiter=maxiter, taumi=taumi) omega <- root$root if (omega < 0 ) sad.r <- -sqrt(sum(log(1 - 2*omega*taumi))) else sad.r <- sqrt(sum(log(1 - 2*omega*taumi))) sad.u <- omega * sqrt(2*sum(taumi^2 / (1 - (2*omega*taumi))^2)) sad.p <- sad.r - ((1/sad.r)*log(sad.r/sad.u)) if (alternative == "two.sided") p.sad <- 2 * pnorm(abs(sad.p), lower.tail=FALSE) else if (alternative == "greater") p.sad <- pnorm(sad.p, lower.tail=FALSE) else p.sad <- pnorm(sad.p) if (!is.finite(p.sad) || p.sad < 0 || p.sad > 1) warning("Out-of-range p-value: reconsider test arguments") } return(list(p.sad=p.sad, sad.p=sad.p, sad.r=sad.r, sad.u=sad.u, omega=omega, root=root)) } print.moransad <- function(x, ...) { class(x) <- c("htest", "moransad") print(x, ...) invisible(x) } summary.moransad <- function(object, ...) { res <- object tau <- object$tau df <- object$df if (length(tau) == 2) tau <- c(tau[1], rep(0, df-2), tau[2]) max.I <- tau[1] min.I <- tau[length(tau)] E.I <- sum(tau)/df tau <- tau - E.I V.I <- (2*sum(tau^2)) / (df*(df+2)) Z.I <- (object$estimate - E.I) / sqrt(V.I) Sk.I <- ((8*sum(tau^3))/(df*(df+2)*(df+4))) / (V.I^(3/2)) Kur.I <- ((48*sum(tau^4) + 12*(sum(tau^2))^2) / (df*(df+2)*(df+4)*(df+6))) / (V.I^2) res$xtra <- c(E.I, V.I, Z.I, Sk.I, Kur.I, min.I, max.I) attr(res$xtra, "names") <- c("Expectation", "Variance", "Std. deviate", "Skewness", "Kurtosis", "Minimum", "Maximum") class(res) <- c("summary.moransad", "moransad") res } print.summary.moransad <- function(x, ...) { class(x) <- c("htest", "summary.moransad", "moransad") print(x, ...) print(c(x$xtra, x$internal1), ...) if (!is.null(x$internal2)) print(x$internal2, ...) invisible(x) } spdep/R/subset.nb.R0000644000176200001440000000354412014426162013620 0ustar liggesusers# Copyright 2001-8 by Roger Bivand and Yong Cai # subset.nb <- function(x, subset, ...) { # class to inherits Jari Oksanen 080603 if (!inherits(x, "nb")) stop("not a neighbours list") if (!is.logical(subset)) stop("subset not a logical vector") n <- length(x) if (n != length(subset)) stop("neighours list and subset vector different lengths") old.ids <- 1:n new.ids <- match(old.ids, which(subset)) reg.id <- subset.default(attr(x, "region.id"), subset) x <- sym.attr.nb(x) xattrs <- names(attributes(x)) z <- subset.default(x, subset) nz <- length(z) for (i in 1:nz) { zi <- z[[i]] res <- NULL # bug report 20050107 Yong Cai, now handles no-neighbour entities correctly if (!(length(zi) == 1L & zi[1] == 0)) { for (j in seq(along=zi)) { a <- new.ids[zi[j]] if (!is.na(a)) res <- c(res, a) } } if (is.null(res)) z[[i]] <- 0L else z[[i]] <- sort(unique(res)) } attr(z, "region.id") <- reg.id for (i in 1:length(xattrs)) { if (xattrs[i] != "region.id") attr(z, xattrs[i]) <- attr(x, xattrs[i]) } z <- sym.attr.nb(z) z } subset.listw <- function(x, subset, zero.policy=NULL, ...) { if (!inherits(x, "listw")) stop("not a weights list") if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) if (!is.logical(subset)) stop("subset not a logical vector") nb <- x$neighbours vlist <- x$weights if (attr(vlist, "mode") != "binary") stop("Not yet able to subset general weights lists") style <- x$style n <- length(nb) if (n != length(subset)) stop("neighbours list and subset vector different lengths") subnb <- subset.nb(x=nb, subset=subset) sublistw <- nb2listw(neighbours=subnb, glist=NULL, style=style, zero.policy=zero.policy) sublistw } spdep/R/skater.R0000644000176200001440000000741511770552553013223 0ustar liggesusersskater <- function(edges, data, ncuts, crit, vec.crit, method=c("euclidean", "maximum", "manhattan", "canberra", "binary", "minkowski", "mahalanobis"), p=2, cov, inverted=FALSE) { if (any(class(edges)=="skater")) { res <- edges n <- length(res$groups) } else { n <- nrow(edges) + 1 res <- list(groups=rep(1, n), edges.groups=list(list(node=1:n, edge=edges)), not.prune=NULL, candidates=1, ssto=ssw(data, 1:n, method, p, cov, inverted)) res$ssw <- res$edges.groups[[1]]$ssw <- res$ssto tmp <- sort(prunecost(res$edges.groups[[1]]$edge[,1:2, drop=FALSE], data, method, p, cov, inverted), decreasing=TRUE, method='quick', index.return=TRUE) res$edges.groups[[1]]$edge = cbind(res$edges.groups[[1]]$edge[tmp$ix, ], tmp$x) if (missing(crit)) res$crit <- c(1, Inf) else res$crit <- crit if (missing(vec.crit)) res$vec.crit <- rep(1,n) else res$vec.crit <- vec.crit } cuts <- length(res$edges.groups) if (missing(ncuts)) ncuts <- n-cuts else ncuts <- ncuts+cuts-1 if (is.null(res$vec.crit)) res$vec.crit <- rep(1, n) if (is.null(res$crit)) res$crit <- c(1, Inf) if (length(res$crit)==1) res$crit <- c(res$crit, Inf) res$candidates <- setdiff(1:length(res$edges.groups), res$not.prune) repeat { if (cuts>ncuts) break if (length(res$candidates)==0) break l.costs.ord <- lapply(res$edges.groups[res$candidates], function(x) x$edge[,3]) t.id <- rep(res$candidates, sapply(l.costs.ord, length)) t.cost <- unlist(l.costs.ord) t.idi <- unlist(lapply(l.costs.ord, function(x) { if (length(x)>0) 1:length(x) else NULL })) dc <- cbind(t.id, t.cost, t.idi) dc <- dc[sort(dc[,2], method="quick", decreasing=TRUE, index.return=TRUE)$ix,, drop=FALSE] k <- 1 repeat { toprun <- rbind(res$edges.groups[[dc[k,1]]]$edge[dc[k,3],1:2], res$edges.groups[[dc[k,1]]]$edge[-dc[k,3],1:2]) g.pruned <- prunemst(toprun, only.nodes=FALSE) scrit <- sapply(g.pruned, function(x) sum(res$vec.crit[x$node])) cond <- any(findInterval(scrit, res$crit, TRUE)!=1) if (cond) { id.not <- !is.element(res$candidates, unique(dc[-(1:k),1])) res$not.prune <- unique(c(res$not.prune, res$candidates[id.not])) res$candidates <- setdiff(1:length(res$edges.groups), res$not.prune) k <- k + 1 if (k>nrow(dc)) { break } } else { gc.pruned <- lapply(g.pruned, function(e) { if (nrow(e$edge)==0) return(list(node=e$node, edge=matrix(0,0,3), ssw=ssw(data, e$node, method, p, cov, inverted))) else { tmp <- sort(prunecost(e$edge[, 1:2, drop=FALSE], data, method, p, cov, inverted), decreasing=TRUE, method='quick', index.return=TRUE) list(node=e$node, edge=cbind(e$edge[tmp$ix, , drop=FALSE], tmp$x), ssw=ssw(data, e$node, method, p, cov, inverted)) } }) res$edges.groups[[dc[k,1]]] <- gc.pruned[[1]] cuts <- cuts + 1 res$edges.groups[[cuts]] <- gc.pruned[[2]] res$ssw <- c(res$ssw, sum(sapply(res$edges.groups, function(e) sum(e$ssw)))) res$candidates <- setdiff(1:length(res$edges.groups), res$not.prune) break } } } for (i in 1:length(res$edges.groups)) res$groups[res$edges.groups[[i]]$node] <- i attr(res, "class") <- "skater" return(res) } spdep/R/sacsarlm.R0000644000176200001440000003777012504620340013530 0ustar liggesusers# Copyright 2010-12 by Roger Bivand sacsarlm <- function(formula, data = list(), listw, listw2=NULL, na.action, type="sac", method="eigen", quiet=NULL, zero.policy=NULL, tol.solve=1.0e-10, llprof=NULL, interval1=NULL, interval2=NULL, trs1=NULL, trs2=NULL, control=list()) { timings <- list() .ptime_start <- proc.time() con <- list(fdHess=NULL, #LAPACK=FALSE, Imult=2L, cheb_q=5L, MC_p=16L, MC_m=30L, spamPivot="MMD", in_coef=0.1, super=NULL, opt_method="nlminb", opt_control=list(), pars=NULL, npars=4L, pre_eig1=NULL, pre_eig2=NULL) nmsC <- names(con) con[(namc <- names(control))] <- control if (length(noNms <- namc[!namc %in% nmsC])) warning("unknown names in control: ", paste(noNms, collapse = ", ")) if (is.null(quiet)) quiet <- !get("verbose", envir = .spdepOptions) switch(type, sac = if (!quiet) cat("\nSpatial ARAR model\n"), sacmixed = if (!quiet) cat("\nSpatial ARAR mixed model (Manski)\n"), stop("\nUnknown model type\n")) stopifnot(is.logical(quiet)) if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) if (class(formula) != "formula") formula <- as.formula(formula) mt <- terms(formula, data = data) mf <- lm(formula, data, na.action=na.action, method="model.frame") na.act <- attr(mf, "na.action") if (!inherits(listw, "listw")) stop("No neighbourhood list") if (is.null(listw2)) listw2 <- listw if (!is.null(con$pre_eig1) && is.null(con$pre_eig2)) con$pre_eig2 <- con$pre_eig1 else if (!inherits(listw2, "listw")) stop("No 2nd neighbourhood list") if (is.null(con$fdHess)) con$fdHess <- method != "eigen" if (!is.null(con$pars)) { stopifnot(is.numeric(con$pars)) } # stopifnot(is.integer(con$npars)) # stopifnot(is.logical(con$fdHess)) # stopifnot(is.logical(con$LAPACK)) # stopifnot(is.logical(con$super)) can.sim <- FALSE if (listw$style %in% c("W", "S")) can.sim <- can.be.simmed(listw) if (!is.null(na.act)) { subset <- !(1:length(listw$neighbours) %in% na.act) listw <- subset(listw, subset, zero.policy=zero.policy) } can.sim2 <- FALSE if (listw2$style %in% c("W", "S")) can.sim2 <- can.be.simmed(listw2) if (!is.null(na.act)) { subset <- !(1:length(listw2$neighbours) %in% na.act) listw2 <- subset(listw2, subset, zero.policy=zero.policy) } y <- model.response(mf, "numeric") if (any(is.na(y))) stop("NAs in dependent variable") x <- model.matrix(mt, mf) if (any(is.na(x))) stop("NAs in independent variable") if (NROW(x) != length(listw$neighbours)) stop("Input data and neighbourhood list have different dimensions") wy <- lag.listw(listw, y, zero.policy=zero.policy) n <- NROW(x) m <- NCOL(x) if (type != "sac") { WX <- create_WX(x, listw, zero.policy=zero.policy, prefix="lag") x <- cbind(x, WX) m <- NCOL(x) rm(WX) } if (NROW(x) != length(listw2$neighbours)) stop("Input data and neighbourhood list2 have different dimensions") w2y <- lag.listw(listw2, y, zero.policy=zero.policy) w2wy <- lag.listw(listw2, wy, zero.policy=zero.policy) lm.base <- lm(y ~ x - 1) aliased <- is.na(coefficients(lm.base)) cn <- names(aliased) names(aliased) <- substr(cn, 2, nchar(cn)) if (any(aliased)) { nacoef <- which(aliased) x <- x[,-nacoef] } LL_null_lm <- NULL if ("(Intercept)" %in% colnames(x)) LL_null_lm <- logLik(lm(y ~ 1)) m <- NCOL(x) xcolnames <- colnames(x) K <- ifelse(xcolnames[1] == "(Intercept)", 2, 1) if (any(is.na(wy))) stop("NAs in lagged dependent variable") if (m > 1 || (m == 1 && K == 1)) { WX <- matrix(nrow=n,ncol=(m-(K-1))) for (k in K:m) { wx <- lag.listw(listw2, x[,k], zero.policy=zero.policy) if (any(is.na(wx))) stop("NAs in lagged independent variable") WX[,(k-(K-1))] <- wx } } if (K == 2) { wx1 <- as.double(rep(1, n)) wx <- lag.listw(listw2, wx1, zero.policy=zero.policy) if (m > 1) WX <- cbind(wx, WX) else WX <- matrix(wx, nrow=n, ncol=1) } colnames(WX) <- xcolnames rm(wx) # env <- new.env(parent=globalenv()) env <- new.env() assign("y", y, envir=env) assign("x", x, envir=env) assign("wy", wy, envir=env) assign("w2y", w2y, envir=env) assign("w2wy", w2wy, envir=env) assign("WX", WX, envir=env) assign("n", n, envir=env) assign("p", m, envir=env) assign("verbose", !quiet, envir=env) assign("family", "SAR", envir=env) assign("first_time", TRUE, envir=env) # assign("LAPACK", con$LAPACK, envir=env) assign("can.sim", can.sim, envir=env) assign("can.sim2", can.sim2, envir=env) assign("listw", listw, envir=env) assign("listw2", listw2, envir=env) assign("similar", FALSE, envir=env) assign("similar2", FALSE, envir=env) timings[["set_up"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() if (!quiet) cat(paste("\nSpatial autoregressive error model\n", "Jacobian calculated using ")) interval1 <- jacobianSetup(method, env, con, pre_eig=con$pre_eig1, trs=trs1, interval=interval1, which=1) assign("interval1", interval1, envir=env) interval2 <- jacobianSetup(method, env, con, pre_eig=con$pre_eig2, trs=trs2, interval=interval2, which=2) assign("interval2", interval2, envir=env) nm <- paste(method, "set_up", sep="_") timings[[nm]] <- proc.time() - .ptime_start .ptime_start <- proc.time() pars <- con$pars lower <- c(interval1[1], interval2[1]) upper <- c(interval1[2], interval2[2]) if (!is.null(llprof)) { llrho <- NULL lllambda <- NULL if (length(llprof) == 1L) { llrho <- seq(lower[1], upper[1], length.out=llprof) lllambda <- seq(lower[2], upper[2], length.out=llprof) llprof <- as.matrix(expand.grid(llrho, lllambda)) } ll_prof <- numeric(nrow(llprof)) for (i in 1:nrow(llprof)) ll_prof[i] <- sacsar.f(llprof[i,], env=env) nm <- paste(method, "profile", sep="_") timings[[nm]] <- proc.time() - .ptime_start .ptime_start <- proc.time() } if (is.null(pars)) { if (con$npars == 4L) { xseq <- c(lower[1], 0, upper[1], upper[1])*0.8 yseq <- c(upper[2], 0, upper[2], lower[2])*0.8 mpars <- cbind(xseq, yseq) } else { xseq <- seq(lower[1], upper[1], (upper[1]-lower[1])/2)*0.8 yseq <- seq(lower[2], upper[2], (upper[2]-lower[2])/2)*0.8 mpars <- as.matrix(expand.grid(xseq, yseq)) } } else { mxs <- NULL } if (con$opt_method == "nlminb") { if (is.null(pars)) { mxs <- apply(mpars, 1, function(pp) -nlminb(pp, sacsar.f, env=env, control=con$opt_control, lower=lower, upper=upper)$objective) pars <- mpars[which.max(mxs),] optres <- nlminb(pars, sacsar.f, env=env, control=con$opt_control, lower=lower, upper=upper) } else { optres <- nlminb(pars, sacsar.f, env=env, control=con$opt_control, lower=lower, upper=upper) } } else if (con$opt_method == "L-BFGS-B"){ if (is.null(pars)) { mxs <- apply(mpars, 1, function(pp) -optim(pars, sacsar.f, env=env, method="L-BFGS-B", control=con$opt_control, lower=lower, upper=upper)$objective) pars <- mpars[which.max(mxs),] optres <- optim(pars, sacsar.f, env=env, method="L-BFGS-B", control=con$opt_control, lower=lower, upper=upper) } else { optres <- optim(pars, sacsar.f, env=env, method="L-BFGS-B", control=con$opt_control, lower=lower, upper=upper) } } else { if (is.null(pars)) { mxs <- apply(mpars, 1, function(pp) -optim(pars, sacsar.f, env=env, method=con$opt_method, control=con$opt_control)$objective) pars <- mpars[which.max(mxs),] optres <- optim(pars, sacsar.f, env=env, method=con$opt_method, control=con$opt_control) } else { optres <- optim(pars, sacsar.f, env=env, method=con$opt_method, control=con$opt_control) } } LL <- -optres$objective if (optres$convergence != 0) warning(paste("convergence failure:", optres$message)) rho <- optres$par[1] names(rho) <- "rho" lambda <- optres$par[2] names(lambda) <- "lambda" nm <- paste(method, "opt", sep="_") timings[[nm]] <- proc.time() - .ptime_start .ptime_start <- proc.time() lm.target <- lm(I(y - rho*wy - lambda*w2y + rho*lambda*w2wy) ~ I(x - lambda*WX) - 1) r <- as.vector(residuals(lm.target)) fit <- as.vector(y - r) p <- lm.target$rank SSE <- deviance(lm.target) s2 <- SSE/n coef.sac <- coefficients(lm.target) tarX <- model.matrix(lm.target) tary <- model.response(model.frame(lm.target)) names(coef.sac) <- xcolnames lm.model <- lm(formula, data) logLik_lm.model <- logLik(lm.model) AIC_lm.model <- AIC(lm.model) ase <- FALSE asyvar1 <- FALSE force_assign_eigen <- FALSE if (method == "eigen") { # taken from spatial/sac_models/sac.m tr <- function(A) sum(diag(A)) W1 <- listw2mat(listw) W2 <- listw2mat(listw2) A <- diag(n) - rho * W1 AI <- solve(A) WA <- W1 %*% AI B <- diag(n) - lambda * W2 BI <- solve(B) WB <- W2 %*% BI omeg <- s2*diag(n) omegi <- (1/s2)*diag(n) bhat <- coef.sac p3 <- p+3 asyvar <- matrix(0.0, ncol=p3, nrow=p3) Bx <- B %*% x asyvar[4:p3, 4:p3] <- (1/s2)*crossprod(Bx) asyvar[1, 1] <- n/(2*s2*s2) term1 <- tr(WA %*% WA) BWABI <- B %*% WA %*% BI term2 = tr(omeg %*% t(BWABI) %*% omegi %*% BWABI) BWAxbhat <- B %*% WA %*% x %*% bhat term3 = t(BWAxbhat) %*% omegi %*% BWAxbhat asyvar[2, 2] <- term1 + term2 + term3 term1 <- tr(WB %*% WB) term2 <- tr(omeg %*% t(WB) %*% omegi %*% WB) asyvar[3, 3] <- term1 + term2 asyvar[2, 4:p3] <- (1/s2)*(t(Bx) %*% BWAxbhat) asyvar[4:p3, 2] <- asyvar[2, 4:p3] asyvar[2, 1] <- (1/s2)*tr(W1 %*% AI) asyvar[1, 2] <- asyvar[2, 1] asyvar[3, 1] <- (1/s2)*tr(W2 %*% BI) asyvar[1, 3] <- asyvar[3, 1] term1 = tr(t(WB) %*% omegi %*% BWABI %*% omeg) term2 = tr(W2 %*% WA %*% BI) asyvar[3, 2] <- term1 + term2 asyvar[2, 3] <- asyvar[3, 2] asyvar1 <- try(solve(asyvar, tol.solve=tol.solve), silent=TRUE) if (class(asyvar1) == "try-error") { timings[["eigen_se"]] <- proc.time() - .ptime_start .ptime_start <- proc.time() con$fdHess <- TRUE force_assign_eigen <- TRUE warning(paste("inversion of asymptotic covariance", "matrix failed for tol.solve =", tol.solve, "\n", strsplit(attr(asyvar1, "condition")$message, ":")[[1]][2], "- using numerical Hessian.")) ase=FALSE } else { rownames(asyvar1) <- colnames(asyvar1) <- c("sigma", "rho", "lambda", xcolnames) ase=TRUE rho.se <- sqrt(asyvar1[2, 2]) lambda.se <- sqrt(asyvar1[3, 3]) rest.se <- sqrt(diag(asyvar1)[-c(1:3)]) nm <- "asymptotic vcov" timings[[nm]] <- proc.time() - .ptime_start .ptime_start <- proc.time() } } if (con$fdHess) { coefs <- c(rho, lambda, coef.sac) fdHess <- getVmatsac(coefs, env, tol.solve=tol.solve) rownames(fdHess) <- colnames(fdHess) <- c("rho", "lambda", xcolnames) if (!ase) { rho.se <- sqrt(fdHess[1, 1]) lambda.se <- sqrt(fdHess[2, 2]) rest.se <- sqrt(diag(fdHess)[-c(1,2)]) } nm <- paste(method, "fdHess", sep="_") timings[[nm]] <- proc.time() - .ptime_start } call <- match.call() names(r) <- names(y) names(fit) <- names(y) ret <- structure(list(type=type, rho=rho, lambda=lambda, coefficients=coef.sac, rest.se=rest.se, ase=ase, LL=LL, s2=s2, SSE=SSE, parameters=(p+3), logLik_lm.model=logLik_lm.model, AIC_lm.model=AIC_lm.model, #lm.model=lm.model, method=method, call=call, residuals=r, #lm.target=lm.target, tarX=tarX, tary=tary, y=y, X=x, W2X=WX, trs1=trs1, trs2=trs2, opt=optres, pars=pars, mxs=mxs, fitted.values=fit, #formula=formula, similar=get("similar", envir=env), rho.se=rho.se, lambda.se=lambda.se, zero.policy=zero.policy, aliased=aliased, LLNullLlm=LL_null_lm, fdHess=fdHess, resvar=asyvar1, listw_style=listw$style, optimHess=FALSE, insert=FALSE, interval1=interval1, interval2=interval2, timings=do.call("rbind", timings)[, c(1, 3)]), class=c("sarlm")) rm(env) GC <- gc() if (is.null(llprof)) ret$llprof <- llprof else { ret$llprof <- list(grd=llprof, ll=ll_prof, xseq=llrho, yseq=lllambda) } if (!is.null(na.act)) ret$na.action <- na.act ret } sacsar_sse <- function(coefs, env) { rho <- coefs[1] lambda <- coefs[2] yl <- get("y", envir=env) - rho * get("wy", envir=env) - lambda * get("w2y", envir=env) + rho * lambda * get("w2wy", envir=env) xl <- get("x", envir=env) - lambda * get("WX", envir=env) xl.q <- qr.Q(qr(xl, #LAPACK=get("LAPACK", envir=env) )) xl.q.yl <- crossprod(xl.q, yl) SSE <- crossprod(yl) - crossprod(xl.q.yl) SSE } sacsar.f <- function(coefs, env) { SSE <- sacsar_sse(coefs, env) n <- get("n", envir=env) s2 <- SSE/n ldet1 <- do_ldet(coefs[1], env, which=1) ldet2 <- do_ldet(coefs[2], env, which=2) ret <- (ldet1 + ldet2 - ((n/2)*log(2*pi)) - (n/2)*log(s2) - (1/(2*(s2)))*SSE) if (get("verbose", envir=env)) cat("rho:", coefs[1], " lambda:", coefs[2], " function:", ret, " Jacobian1:", ldet1, " Jacobian2:", ldet2, " SSE:", SSE, "\n") -ret } getVmatsac <- function(coefs, env, tol.solve=1.0e-10) { fd <- fdHess(coefs, f_sac_hess, env) mat <- fd$Hessian res <- solve(-(mat), tol.solve=tol.solve) res } sar_sac_hess_sse <- function(rho, lambda, beta, env) { yl <- get("y", envir=env) - rho * get("wy", envir=env) - lambda * get("w2y", envir=env) + rho * lambda * get("w2wy", envir=env) xl <- get("x", envir=env) - lambda * get("WX", envir=env) res <- yl - (xl %*% beta) SSE <- c(crossprod(res)) SSE } f_sac_hess <- function(coefs, env) { rho <- coefs[1] int <- get("interval1", envir=env) if (rho <= int[1] || rho >= int[2]) return(-Inf) lambda <- coefs[2] int <- get("interval2", envir=env) if (lambda <= int[1] || lambda >= int[2]) return(-Inf) beta <- coefs[-(1:2)] SSE <- sar_sac_hess_sse(rho, lambda, beta, env) n <- get("n", envir=env) s2 <- SSE/n ldet1 <- do_ldet(rho, env, which=1) ldet2 <- do_ldet(lambda, env, which=2) ret <- (ldet1 + ldet2 - ((n/2) * log(2 * pi)) - (n/2) * log(s2) - (1/(2 * s2)) * SSE) if (get("verbose", envir=env)) cat("rho:", rho, "lambda:", lambda, " function:", ret, " Jacobian1:", ldet1, " Jacobian2:", ldet2, " SSE:", SSE, "\n") if (!is.finite(ret)) return(-Inf) ret } spdep/R/cellneighbours.R0000644000176200001440000000611711716033157014727 0ustar liggesusers# Copyright 2001 by Roger Bivand # rookcell <- function(rowcol, nrow, ncol, torus=FALSE, rmin=1, cmin=1) { if (is.null(dim(rowcol))) rowcol <- t(as.matrix(rowcol)) if(nrow(rowcol) != 1) stop("only single grid cell handled") row <- rowcol[1] col <- rowcol[2] if (torus) { y <- c(ifelse(col-1 < cmin, ncol, col-1), col, col, ifelse(col+1 > (ncol+(cmin-1)), cmin, col+1)) x <- c(row, ifelse(row-1 < rmin, nrow, row-1), ifelse(row+1 > (nrow+(rmin-1)), rmin, row+1), row) } else { y <- c(ifelse(col-1 < cmin, NA, col-1), col, col, ifelse(col+1 > (ncol+(cmin-1)), NA, col+1)) x <- c(row, ifelse(row-1 < rmin, NA, row-1), ifelse(row+1 > (nrow+(rmin-1)), NA, row+1), row) } res <- as.data.frame(list(row=x, col=y)) res <- na.omit(res) res <- as.matrix(res) rownames(res) <- NULL attr(res, "coords") <- c(col, row) res } queencell <- function(rowcol, nrow, ncol, torus=FALSE, rmin=1, cmin=1) { if (is.null(dim(rowcol))) rowcol <- t(as.matrix(rowcol)) if(nrow(rowcol) != 1) stop("only single grid cell handled") row <- rowcol[1] col <- rowcol[2] if (torus) { y <- c(rep(ifelse(col-1 < cmin, ncol, col-1), 3), col, col, rep(ifelse(col+1 > (ncol+(cmin-1)), cmin, col+1), 3)) x <- integer(8) x[c(1,4,6)] <- rep(ifelse(row+1 > (nrow+(rmin-1)), rmin, row+1), 3) x[c(2,7)] <- rep(row, 2) x[c(3,5,8)] <- rep(ifelse(row-1 < rmin, nrow, row-1), 3) } else { y <- c(rep(ifelse(col-1 < cmin, NA, col-1), 3), col, col, rep(ifelse(col+1 > (ncol+(cmin-1)), NA, col+1), 3)) x <- integer(8) x[c(1,4,6)] <- rep(ifelse(row+1 > (nrow+(rmin-1)), NA, row+1), 3) x[c(2,7)] <- rep(row, 2) x[c(3,5,8)] <- rep(ifelse(row-1 < rmin, NA, row-1), 3) } res <- as.data.frame(list(row=x, col=y)) res <- na.omit(res) res <- as.matrix(res) rownames(res) <- NULL attr(res, "coords") <- c(col, row) res } mrc2vi <- function(rowcol, nrow, ncol) { i <- ((rowcol[,2]-1) * nrow) + rowcol[,1] if (i > nrow*ncol || i < 1) stop("row or column out of range") as.integer(i) } vi2mrc <- function(i, nrow, ncol) { col <- ceiling(i/nrow) tmp <- i %% nrow row <- ifelse(tmp == 0, nrow, tmp) if (row < 1 || row > nrow) stop("i out of range") if (col < 1 || col > ncol) stop("i out of range") res <- cbind(row, col) res } cell2nb <- function(nrow, ncol, type="rook", torus=FALSE) { nrow <- as.integer(nrow) if (nrow < 1) stop("nrow nonpositive") ncol <- as.integer(ncol) if (ncol < 1) stop("nrow nonpositive") xcell <- NULL if (type == "rook") xcell <- rookcell if (type == "queen") xcell <- queencell if (is.null(xcell)) stop(paste(type, ": no such cell function", sep="")) n <- nrow * ncol if (n < 0) stop("non-positive number of cells") res <- vector(mode="list", length=n) rownames <- character(n) for (i in 1:n) { res[[i]] <- sort(mrc2vi(xcell(vi2mrc(i, nrow, ncol), nrow, ncol, torus), nrow, ncol)) rownames[i] <- paste(vi2mrc(i, nrow, ncol), collapse=":") } class(res) <- "nb" attr(res, "call") <- match.call() attr(res, "region.id") <- rownames attr(res, "cell") <- TRUE attr(res, type) <- TRUE if (torus) attr(res, "torus") <- TRUE res <- sym.attr.nb(res) res } spdep/R/spChkOption.R0000644000176200001440000000665212453302336014164 0ustar liggesusers# Copyright 2003-2015 by Roger Bivand set.listw_is_CsparseMatrix_Option <- function(check) { if (!is.logical(check)) stop ("logical argument required") res <- get("listw_is_CsparseMatrix", envir = .spdepOptions) assign("listw_is_CsparseMatrix", check, envir = .spdepOptions) res } get.listw_is_CsparseMatrix_Option <- function() { get("listw_is_CsparseMatrix", envir = .spdepOptions) } set.spChkOption <- function(check) { if (!is.logical(check)) stop ("logical argument required") res <- get("spChkID", envir = .spdepOptions) assign("spChkID", check, envir = .spdepOptions) res } get.spChkOption <- function() { get("spChkID", envir = .spdepOptions) } set.VerboseOption <- function(check) { if (!is.logical(check)) stop ("logical argument required") res <- get("verbose", envir = .spdepOptions) assign("verbose", check, envir = .spdepOptions) res } get.VerboseOption <- function() { get("verbose", envir = .spdepOptions) } set.ZeroPolicyOption <- function(check) { if (!is.logical(check)) stop ("logical argument required") res <- get("zeroPolicy", envir = .spdepOptions) assign("zeroPolicy", check, envir = .spdepOptions) res } get.ZeroPolicyOption <- function() { get("zeroPolicy", envir = .spdepOptions) } set.ClusterOption <- function(cl) { if (!is.null(cl)) { if (!inherits(cl, "cluster")) stop ("cluster required") } assign("cluster", cl, envir = .spdepOptions) invisible(NULL) } get.ClusterOption <- function() { get("cluster", envir = .spdepOptions) } set.mcOption <- function(value) { stopifnot(is.logical(value)) stopifnot(length(value) == 1) res <- get("mc", envir = .spdepOptions) if (.Platform$OS.type == "windows") { if (value) warning("multicore not available on Windows") } else { assign("mc", value, envir = .spdepOptions) } res } get.mcOption <- function() { get("mc", envir = .spdepOptions) } set.coresOption <- function(value) { res <- get("cores", envir = .spdepOptions) if (is.null(value)) { assign("cores", value, envir = .spdepOptions) } else { stopifnot(is.integer(value)) stopifnot(length(value) == 1) stopifnot(!is.na(value)) assign("cores", value, envir = .spdepOptions) } res } get.coresOption <- function() { get("cores", envir = .spdepOptions) } chkIDs <- function (x, listw) { if (!is.array(x) & !is.data.frame(x)) { if (is.null(xn <- names(x))) stop(paste(deparse(substitute(x)), "has no names")) } else { if (is.null(xn <- rownames(x))) stop(paste(deparse(substitute(x)), "has no row names")) } if (!inherits(listw, "nb")) stop(paste(deparse(substitute(listw)), "is not an listw or nb object")) if (is.null(ln <- attr(listw, "region.id"))) stop(paste(deparse(substitute(listw)), "has no region IDs")) if (length(ln) != length(xn)) stop("objects of different length") res <- all(ln == xn) res } spNamedVec <- function(var, data) { if (!is.array(data) & !is.data.frame(data)) stop(paste(deparse(substitute(data)), "not an array or data frame")) if (!is.character(var) & !is.numeric(var)) stop("variable name wrong type") res <- try(data[,var]) if (inherits(res, "try-error")) stop(paste(deparse(substitute(var)), "not found")) nms <- rownames(data) if (is.null(nms)) nms <- as.character(1:length(res)) names(res) <- nms res } spdep/R/LR.spsarlm.R0000644000176200001440000000213611716033157013714 0ustar liggesusers# Copyright 2002-2003 by Roger Bivand # LR.sarlm <- function(x, y) { if (!inherits(x, "logLik")) LLx <- logLik(x) else LLx <- x if (!inherits(y, "logLik")) LLy <- logLik(y) else LLy <- y statistic <- 2*(LLx - LLy) attr(statistic, "names") <- "Likelihood ratio" parameter <- abs(attr(LLx, "df") - attr(LLy, "df")) if (parameter < 1) stop("non-positive degrees of freedom: no test possible") attr(parameter, "names") <- "df" p.value <- 1 - pchisq(abs(statistic), parameter) estimate <- c(LLx, LLy) attr(estimate, "names") <- c(paste("Log likelihood of", deparse(substitute(x))), paste("Log likelihood of", deparse(substitute(y)))) method <- "Likelihood ratio for spatial linear models" res <- list(statistic=statistic, parameter=parameter, p.value=p.value, estimate=estimate, method=method) class(res) <- "htest" res } logLik.sarlm <- function(object, ...) { LL <- c(object$LL) class(LL) <- "logLik" N <- length(residuals(object)) attr(LL, "nall") <- N attr(LL, "nobs") <- N attr(LL, "df") <- object$parameters LL } #residuals.sarlm <- function(object, ...) return(object$residuals) spdep/R/nb2lines.R0000644000176200001440000000316711716033157013440 0ustar liggesusers# Copyright 2005-7 by Roger Bivand # nb2lines <- function(nb, wts, coords, proj4string=CRS(as.character(NA))) { x <- coords[,1] y <- coords[,2] n <- length(nb) if (n < 1) stop("zero length neighbour list") ID <- as.character(attr(nb, "region.id")) cardnb <- card(nb) totlinks <- sum(cardnb) ll <- vector(mode="list", length=totlinks) df <- data.frame(i=integer(totlinks), j=integer(totlinks), i_ID=I(character(totlinks)), j_ID=I(character(totlinks)), wt=numeric(totlinks)) line = 1 for (i in 1:n) { if (cardnb[i] > 0) { inb <- nb[[i]] if (!missing(wts)) iwts <- wts[[i]] for (j in 1:cardnb[i]) { jj <- inb[j] xx <- c(x[i], x[jj]) yy <- c(y[i], y[jj]) xy <- cbind(xx, yy) # ll[[line]] <- cbind(xx, yy) Ll <- list(Line(xy)) ll[[line]] <- Lines(Ll, ID=as.character(line)) df[line, "i"] <- i df[line, "i_ID"] <- ID[i] df[line, "j"] <- jj df[line, "j_ID"] <- ID[jj] if (missing(wts)) df[line, "wt"] <- 1 else df[line, "wt"] <- iwts[j] line <- line + 1 } } } row.names(df) <- as.character(1:(line-1)) SpatialLinesDataFrame(SpatialLines(ll, proj4string=proj4string), data=df) # list(ll=ll, df=df) } listw2lines <- function(listw, coords, proj4string=CRS(as.character(NA))) { nb2lines(listw$neighbours, listw$weights, coords, proj4string) } df2sn <- function(df, i="i", i_ID="i_ID", j="j", wt="wt") { IDs <- unique(df[c(i, i_ID)]) res <- df[c(i, j, wt)] names(res) <- c("from", "to", "weights") attr(res, "n") <- nrow(IDs) attr(res, "region.id") <- as.character(IDs$i_ID) class(res) <- c("spatial.neighbour", "data.frame") res } spdep/R/nblag.R0000644000176200001440000000402311716033157012777 0ustar liggesusers# Copyright 2001-2006 by Roger Bivand # nblag <- function(neighbours, maxlag) { if (!is.null(attributes(neighbours)$self.included) && (as.logical(attributes(neighbours)$self.included))) stop("No lags for neighbours lists including self") n <- length(neighbours) if (n < 1) stop("non-positive number of entities") if (maxlag < 2) stop("maxlag less than 2") lags <- vector(mode="list", length=maxlag) lags[[1]] <- neighbours cds <- card(neighbours) for (thislag in 2:maxlag) lags[[thislag]] <- vector(mode="list", length=n) for (i in 1:n) { already <- i new <- neighbours[[i]] for (thislag in 2:maxlag) { if (cds[i] > 0) { already <- c(already, new) active <- new new <- NULL for (j in active) new <- c(new, neighbours[[j]]) new <- sort(unique(new)) res <- new[-which(new %in% already)] if(length(res) == 0L) lags[[thislag]][[i]] <- 0L else lags[[thislag]][[i]] <- res } else lags[[thislag]][[i]] <- 0L } } for (i in 1:maxlag) { class(lags[[i]]) <- "nb" attr(lags[[i]], "region.id") <- attr(neighbours, "region.id") lags[[i]] <- sym.attr.nb(lags[[i]]) } attr(lags, "call") <- match.call() lags } # Copyright 2006-2010 (c) Giovanni Millo and Roger Bivand nblag_cumul <- function (nblags) { if (any(sapply(nblags, function(x) class(x) != "nb"))) stop("nblags must be a list of neighbour objects") maxlag <- length(nblags) if (maxlag < 2) stop("maxlag must be greater than 1") n <- length(nblags[[1]]) lags <- vector(mode="list", length=n) ncard <- card(nblags[[1]]) neigh <- which(ncard > 0) nneigh <- which(ncard == 0) for (i in nneigh) lags[[i]] <- 0L for (i in neigh) { res <- nblags[[1]][[i]] for (j in 2:maxlag) res <- c(res, nblags[[j]][[i]]) res <- as.integer(res[order(unique(res))]) if (any(res == 0)) res <- res[-which(res == 0)] lags[[i]] <- res } attr(lags, "region.id") <- attr(nblags[[1]], "region.id") attr(lags, "call") <- match.call() class(lags) <- "nb" lags } spdep/R/relneigh.R0000644000176200001440000000172311716033157013515 0ustar liggesusers# Copyright 2001 by Nicholas Lewin-Koh # relativeneigh <- function(coords, nnmult=3) { x <- coords if (!is.matrix(x)) stop("Data not in matrix form") if (any(is.na(x))) stop("Data cannot include NAs") np <- nrow(x) if(ncol(x)!=2) stop("Only works in 2d") ngaballoc <- np*nnmult g1<-g2<-rep(0,ngaballoc) nogab <- 0 storage.mode(x) <- "double" z <- .C("compute_relative", np=as.integer(np), from=as.integer(g1), to=as.integer(g2), nedges=as.integer(nogab), ngaballoc=as.integer(ngaballoc), x=x[,1], y=x[,2], PACKAGE="spdep") z$from<-z$from[1:z$nedges] z$to<-z$to[1:z$nedges] attr(z, "call") <- match.call() class(z)<-c("Graph","relative") z } plot.relative<-function(x, show.points=FALSE, add=FALSE, linecol=par(col),...){ if(!add) plot(x$x,x$y,type='n') segments(x$x[x$from],x$y[x$from], x$x[x$to],x$y[x$to],col=linecol) if(show.points) points(x$x,x$y,...) } spdep/R/localmoran.R0000644000176200001440000000542713151612563014053 0ustar liggesusers# Copyright 2001-12 by Roger Bivand # localmoran <- function(x, listw, zero.policy=NULL, na.action=na.fail, alternative = "greater", p.adjust.method="none", mlvar=TRUE, spChk=NULL, sokal98=FALSE) { stopifnot(is.vector(x)) if (!inherits(listw, "listw")) stop(paste(deparse(substitute(listw)), "is not a listw object")) if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) if (!is.null(attr(listw$neighbours, "self.included")) && attr(listw$neighbours, "self.included")) stop("Self included among neighbours") if (is.null(spChk)) spChk <- get.spChkOption() if (spChk && !chkIDs(x, listw)) stop("Check of data and weights ID integrity failed") if (!is.numeric(x)) stop(paste(deparse(substitute(x)), "is not a numeric vector")) NAOK <- deparse(substitute(na.action)) == "na.pass" x <- na.action(x) na.act <- attr(x, "na.action") rn <- attr(listw, "region.id") if (!is.null(na.act)) { subset <- !(1:length(listw$neighbours) %in% na.act) listw <- subset(listw, subset, zero.policy=zero.policy) excl <- class(na.act) == "exclude" } n <- length(listw$neighbours) if (n != length(x))stop("Different numbers of observations") res <- matrix(nrow=n, ncol=5) if (alternative == "two.sided") Prname <- "Pr(z != 0)" else if (alternative == "greater") Prname <- "Pr(z > 0)" else Prname <- "Pr(z < 0)" colnames(res) <- c("Ii", "E.Ii", "Var.Ii", "Z.Ii", Prname) xx <- mean(x, na.rm=NAOK) z <- x - xx lz <- lag.listw(listw, z, zero.policy=zero.policy, NAOK=NAOK) if (mlvar) s2 <- sum(z^2, na.rm=NAOK)/n else s2 <- sum(z^2, na.rm=NAOK)/(n-1) res[,1] <- (z/s2) * lz Wi <- sapply(listw$weights, sum) res[,2] <- -Wi / (n-1) if (!mlvar) s2 <- sum(z^2, na.rm=NAOK)/n b2 <- (sum(z^4, na.rm=NAOK)/n)/(s2^2) Wi2 <- sapply(listw$weights, function(x) sum(x^2)) A <- (n-b2) / (n-1) B <- (2*b2 - n) / ((n-1)*(n-2)) if (sokal98) { res[,3] <- A*Wi2 + B*(Wi^2 - Wi2) - res[,2]^2 } else { C <- Wi^2 / ((n-1)^2) Wikh2 <- sapply(listw$weights, function(x) { ifelse(is.null(x), 0, 1 - crossprod(x,x)) }) res[,3] <- A*Wi2 + B*Wikh2 - C } res[,4] <- (res[,1] - res[,2]) / sqrt(res[,3]) if (alternative == "two.sided") pv <- 2 * pnorm(abs(res[,4]), lower.tail=FALSE) else if (alternative == "greater") pv <- pnorm(res[,4], lower.tail=FALSE) else pv <- pnorm(res[,4]) res[,5] <- p.adjustSP(pv, listw$neighbours, method=p.adjust.method) if (!is.null(na.act) && excl) { res <- naresid(na.act, res) } if (!is.null(rn)) rownames(res) <- rn attr(res, "call") <- match.call() if (!is.null(na.act)) attr(res, "na.action") <- na.act class(res) <- c("localmoran", class(res)) res } spdep/R/nbdists.R0000644000176200001440000000254112210603042013347 0ustar liggesusers# Copyright 2001-2010 by Roger Bivand # Upgrade to sp classes February 2007 # nbdists <- function(nb, coords, longlat=NULL) { if (!inherits(nb, "nb")) stop("Not a neighbours list") if (inherits(coords, "SpatialPoints")) { if ((is.null(longlat) || !is.logical(longlat)) && !is.na(is.projected(coords)) && !is.projected(coords)) { longlat <- TRUE } else longlat <- FALSE coords <- coordinates(coords)[, 1:2] } else if (is.null(longlat) || !is.logical(longlat)) longlat <- FALSE if (!is.numeric(coords)) stop("Data non-numeric") if (!is.matrix(coords)) stop("Data not in matrix form") stopifnot(ncol(coords) == 2) if (any(is.na(coords))) stop("Data include NAs") if (longlat) { bb <- bbox(coords) if (!.ll_sanity(bb)) warning("Coordinates are not geographical: longlat argument wrong") } if (!is.double(coords)) storage.mode(coords) <- "double" n.nb <- length(nb) np <- nrow(coords) if (np != n.nb) stop("Number of coords not equal to number of regions") dimension <- ncol(coords) dlist <- .Call("nbdists", nb, as.matrix(coords), as.integer(np), as.integer(dimension), as.integer(longlat), PACKAGE="spdep") attr(dlist[[1]], "call") <- match.call() dlist[[1]] } spdep/R/EBI.R0000644000176200001440000002261312661645736012334 0ustar liggesusers# Copyright 2002-2003 by Roger Bivand and Marilia Carvalho # Addition of Martuzzi and Elliott Copyright 2006 Olaf Berke and Roger Bivand # EBImoran <- function (z, listw, nn, S0, zero.policy = NULL, subtract_mean_in_numerator=TRUE) { #default subtract_mean_in_numerator=TRUE 160219 RA if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) stopifnot(is.vector(z)) zm <- mean(z) zz <- sum((z - zm)^2) if (subtract_mean_in_numerator) z <- z - zm lz <- lag.listw(listw, z, zero.policy = zero.policy) EBI <- (nn/S0) * (sum(z * lz)/zz) res <- EBI res } EBImoran.mc <- function (n, x, listw, nsim, zero.policy = NULL, alternative = "greater", spChk = NULL, return_boot=FALSE, subtract_mean_in_numerator=TRUE) { #default subtract_mean_in_numerator=TRUE 160219 RA message("The default for subtract_mean_in_numerator set TRUE from February 2016") if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) alternative <- match.arg(alternative, c("greater", "less")) if (!inherits(listw, "listw")) stop(paste(deparse(substitute(listw)), "is not a listw object")) if (missing(nsim)) stop("nsim must be given") m <- length(listw$neighbours) if (m != length(x)) stop("objects of different length") if (m != length(n)) stop("objects of different length") if (is.null(spChk)) spChk <- get.spChkOption() if (spChk && !chkIDs(x, listw)) stop("Check of data and weights ID integrity failed") if (spChk && !chkIDs(n, listw)) stop("Check of data and weights ID integrity failed") gamres <- suppressWarnings(nsim > gamma(m + 1)) if (gamres) stop("nsim too large for this number of observations") if (nsim < 1) stop ("nsim too small") S0 <- Szero(listw) EB <- EBest(n, x) p <- EB$raw b <- attr(EB, "parameters")$b a <- attr(EB, "parameters")$a v <- a + (b/x) v[v < 0] <- b/x z <- (p - b)/sqrt(v) if (return_boot) { EBI_boot <- function(var, i, ...) { var <- var[i] return(EBImoran(z=var, ...)) } cores <- get.coresOption() if (is.null(cores)) { parallel <- "no" } else { parallel <- ifelse (get.mcOption(), "multicore", "snow") } ncpus <- ifelse(is.null(cores), 1L, cores) cl <- NULL if (parallel == "snow") { cl <- get.ClusterOption() if (is.null(cl)) { parallel <- "no" warning("no cluster in ClusterOption, parallel set to no") } } res <- boot(z, statistic=EBI_boot, R=nsim, sim="permutation", listw=listw, nn=m, S0=S0, zero.policy=zero.policy, subtract_mean_in_numerator=subtract_mean_in_numerator, parallel=parallel, ncpus=ncpus, cl=cl) return(res) } res <- numeric(length = nsim + 1) for (i in 1:nsim) res[i] <- EBImoran(sample(z), listw, m, S0, zero.policy, subtract_mean_in_numerator=subtract_mean_in_numerator) res[nsim + 1] <- EBImoran(z, listw, m, S0, zero.policy, subtract_mean_in_numerator=subtract_mean_in_numerator) rankres <- rank(res) zrank <- rankres[length(res)] diff <- nsim - zrank diff <- ifelse(diff > 0, diff, 0) if (alternative == "less") pval <- punif((diff + 1)/(nsim + 1), lower.tail=FALSE) else if (alternative == "greater") pval <- punif((diff + 1)/(nsim + 1)) if (!is.finite(pval) || pval < 0 || pval > 1) warning("Out-of-range p-value: reconsider test arguments") statistic <- res[nsim + 1] names(statistic) <- "statistic" parameter <- zrank names(parameter) <- "observed rank" method <- "Monte-Carlo simulation of Empirical Bayes Index" if (subtract_mean_in_numerator) method <- paste(method, "(mean subtracted)") data.name <- paste("cases: ", deparse(substitute(n)), ", risk population: ", deparse(substitute(x)), "\nweights: ", deparse(substitute(listw)), "\nnumber of simulations + 1: ", nsim + 1, "\n", sep = "") lres <- list(statistic = statistic, parameter = parameter, p.value = pval, alternative = alternative, method = method, data.name = data.name, res = res, z = z) class(lres) <- c("htest", "mc.sim") lres } probmap <- function(n, x, row.names=NULL, alternative="less") { alternative <- match.arg(alternative, c("greater", "less")) if (!is.numeric(x)) stop(paste(deparse(substitute(x)), "is not a numeric vector")) if (!is.numeric(n)) stop(paste(deparse(substitute(n)), "is not a numeric vector")) if (any(is.na(x))) stop("NA in at risk population") if (any(is.na(n))) stop("NA in cases") if (any(x < 0)) stop("negative risk population") if (any(n < 0)) stop("negative number of cases") p <- n/x nsum <- sum(n) xsum <- sum(x) b <- nsum/xsum expCount <- x*b relRisk <- 100*(n/expCount) # pmap <- ppois(n, expCount, lower.tail=(alternative=="less")) if (alternative == "less") { pmap <- ppois(n, expCount) } else { pmap <- 1 - ppois(n-1, expCount) } if (is.null(row.names)) res <- data.frame(raw=p, expCount=expCount, relRisk=relRisk, pmap=pmap) else res <- data.frame(raw=p, expCount=expCount, relRisk=relRisk, pmap=pmap, row.names=row.names) res } EBest <- function(n, x, family="poisson") { if (!is.numeric(x)) stop(paste(deparse(substitute(x)), "is not a numeric vector")) if (!is.numeric(n)) stop(paste(deparse(substitute(n)), "is not a numeric vector")) if (any(is.na(x))) stop("NA in at risk population") if (any(is.na(n))) stop("NA in cases") if (any(x < .Machine$double.eps)) stop("non-positive risk population") if (any(n < 0)) stop("negative number of cases") if (length(x) != length(n)) stop("vectors of different length") m <- length(n) p <- n/x nsum <- sum(n) xsum <- sum(x) b <- nsum/xsum s2 <- sum(x * (((p - b)^2)/xsum)) if (family == "poisson") { a <- s2 - (b/(xsum/m)) if (a < 0) a <- 0 est <- b + (a*(p - b)) / (a + (b/x)) res <- data.frame(raw=p, estmm=est) attr(res, "family") <- family attr(res, "parameters") <- list(a=a, b=b) } else if (family == "binomial") { # contributed by Olaf Berke rho <- (x*s2 - (x/mean(x))*(b*(1-b))) / ((x-1)*s2 + ((mean(x)-x) /mean(x))*(b*(1-b))) est <- rho*p + (1-rho)*b res <- data.frame(raw = p, estmm = est) attr(res, "family") <- family attr(res, "parameters") <- list(a=s2, b=b) } else stop("family unknown") res } #EBestB <- function (n,x) #{ #p <- n/x #b <- sum(n)/sum(x) # nsum <- sum(n) # xsum <- sum(x) # b <- nsum/xsum #s2 <- sum(x*(p-b)^2) / xsum #roh <- (x*s2 - (x/mean(x))*(b*(1-b))) / # ((x-1)*s2 + ((mean(x)-x) /mean(x))*(b*(1-b))) #est <- roh*p + (1-roh)*b #result <- data.frame(raw = p, ebest = est) #attr(result, "parameters") <- list(a = b, b = s2) #result #} EBlocal <- function(ri, ni, nb, zero.policy = NULL, spChk = NULL, geoda = FALSE) { if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) # class to inherits Jari Oksanen 080603 if (!inherits(nb, "nb")) stop(paste(deparse(substitute(nb)), "is not an nb object")) lnb <- length(nb) if (lnb < 1) stop("zero length neighbour list") if (lnb != length(ri)) stop("objects of different length") if (lnb != length(ni)) stop("objects of different length") if (is.null(spChk)) spChk <- get.spChkOption() if (spChk && !chkIDs(ni, nb)) stop("Check of data and neighbour ID integrity failed") if (spChk && !chkIDs(ri, nb)) stop("Check of data and neighbour ID integrity failed") if (!is.numeric(ni)) stop(paste(deparse(substitute(ni)), "is not a numeric vector")) if (!is.numeric(ri)) stop(paste(deparse(substitute(ri)), "is not a numeric vector")) if (any(is.na(ni))) stop("NA in at risk population") if (any(ni == 0)) stop("zero in at risk population") if (any(is.na(ri))) stop("NA in cases") if (any(ni < 0)) stop("negative risk population") if (any(ri < 0)) stop("negative number of cases") lw <- nb2listw(include.self(nb), style="B", zero.policy=zero.policy) xi <- ri/ni r.i <- lag.listw(lw, ri, zero.policy = zero.policy) n.i <- lag.listw(lw, ni, zero.policy = zero.policy) nbar.i <- lag.listw(nb2listw(include.self(nb), style="W", zero.policy=zero.policy), ni, zero.policy = zero.policy) m.i <- r.i/n.i if (geoda) { work <- vector(mode="list", length=lnb) cnb <- card(lw$neighbours) for (i in 1:lnb) { work[[i]] <- rep(m.i[i], cnb[i]) work[[i]] <- xi[lw$neighbours[[i]]] - work[[i]] work[[i]] <- work[[i]]^2 work[[i]] <- ni[lw$neighbours[[i]]] * work[[i]] } C.i <- sapply(work, sum) } else { C.i <- lag.listw(lw, (ni * (xi - m.i)^2), zero.policy = zero.policy) } a.i <- (C.i/n.i) - (m.i/nbar.i) a.i[a.i < 0] <- 0 est <- m.i + (xi - m.i) * (a.i / (a.i + (m.i/ni))) res <- data.frame(raw=xi, est=est) attr(res, "parameters") <- list(a=a.i, m=m.i) res } spdep/R/summary.spsarlm.R0000644000176200001440000003724012611721362015075 0ustar liggesusers# Copyright 1998-2011 by Roger Bivand (Wald test suggested by Rein Halbersma, # output of correlations suggested by Michael Tiefelsdorf) # print.sarlm <- function(x, ...) { if (x$type == "error") if (isTRUE(all.equal(x$lambda, x$interval[1])) || isTRUE(all.equal(x$lambda, x$interval[2]))) warning("lambda on interval bound - results should not be used") if (x$type == "lag" || x$type == "mixed") if (isTRUE(all.equal(x$rho, x$interval[1])) || isTRUE(all.equal(x$rho, x$interval[2]))) warning("rho on interval bound - results should not be used") cat("\nCall:\n") print(x$call) cat("Type:", x$type, "\n") cat("\nCoefficients:\n") print(coef(x)) cat("\nLog likelihood:", logLik(x), "\n") invisible(x) } summary.sarlm <- function(object, correlation = FALSE, Nagelkerke=FALSE, Hausman=FALSE, adj.se=FALSE, ...) { adj <- NULL if (object$type == "error" || ((object$type == "lag" || object$type == "mixed" || object$type == "sac" || object$type == "sacmixed") && object$ase)) { object$coeftitle <- "(asymptotic standard errors)" SE <- object$rest.se if (adj.se) { N <- length(residuals(object)) adj <- N/(N-(length(object$coefficients))) SE <- sqrt((SE^2) * adj) } object$Coef <- cbind(object$coefficients, SE, object$coefficients/SE, 2*(1-pnorm(abs(object$coefficients/SE)))) colnames(object$Coef) <- c("Estimate", "Std. Error", ifelse(adj.se, "t value", "z value"), "Pr(>|z|)") } else { # intercept-only bug fix Larry Layne 20060404 if (!is.null(object$rest.se)) { object$coeftitle <- "(numerical Hessian approximate standard errors)" SE <- object$rest.se if (adj.se) { N <- length(residuals(object)) adj <- N/(N-(length(object$coefficients))) SE <- sqrt((SE^2) * adj) } object$Coef <- cbind(object$coefficients, SE, object$coefficients/SE, 2*(1-pnorm(abs(object$coefficients/SE)))) colnames(object$Coef) <- c("Estimate", "Std. Error", ifelse(adj.se, "t value", "z value"), "Pr(>|z|)") rownames(object$Coef) <- names(object$coefficients) } } object$adj.se <- adj if (Nagelkerke) { nk <- NK.sarlm(object) if (!is.null(nk)) object$NK <- nk } if (Hausman && object$type == "error" && !is.null(object$Hcov)) { object$Haus <- Hausman.test(object) } if (object$type == "error") { object$Wald1 <- Wald1.sarlm(object) if (correlation) { oresvar <- object$resvar ctext <- "Correlation of coefficients" if (is.null(oresvar) || is.logical(oresvar) || class(oresvar) == "try-error") { oresvar <- object$fdHess ctext <- ifelse(object$insert, "Approximate correlation of coefficients", "** Guesswork correlation of coefficients **") } object$correlation <- diag((diag(oresvar)) ^(-1/2)) %*% oresvar %*% diag((diag(oresvar))^(-1/2)) dimnames(object$correlation) <- dimnames(oresvar) object$correltext <- ctext } } else if (object$type != "error") { object$Wald1 <- Wald1.sarlm(object) if (correlation) { oresvar <- object$resvar ctext <- "Correlation of coefficients" if (is.null(oresvar) || is.logical(oresvar) || class(oresvar) == "try-error") { oresvar <- object$fdHess ctext <- "Approximate correlation of coefficients" } object$correlation <- diag((diag(oresvar)) ^(-1/2)) %*% oresvar %*% diag((diag(oresvar))^(-1/2)) dimnames(object$correlation) <- dimnames(oresvar) object$correltext <- ctext } } object$LR1 <- LR1.sarlm(object) structure(object, class=c("summary.sarlm", class(object))) } NK.sarlm <- function(obj) { n <- length(residuals(obj)) nullLL <- obj$LLNullLlm if (is.null(nullLL)) return(nullLL) c(1 - exp(-(2/n)*(logLik(obj) - nullLL))) } LR1.sarlm <- function(object) { if (!inherits(object, "sarlm")) stop("Not a sarlm object") LLx <- logLik(object) # LLy <- logLik(object$lm.model) LLy <- object$logLik_lm.model statistic <- 2*(LLx - LLy) attr(statistic, "names") <- "Likelihood ratio" parameter <- abs(attr(LLx, "df") - attr(LLy, "df")) if (parameter < 1) stop("non-positive degrees of freedom: no test possible") attr(parameter, "names") <- "df" p.value <- 1 - pchisq(abs(statistic), parameter) estimate <- c(LLx, LLy) if (object$type == "error") alt <- "spatial error model" else alt <- "spatial lag model" attr(estimate, "names") <- c(paste("Log likelihood of", alt), paste("Log likelihood of OLS fit", deparse(substitute(y)))) method <- "Likelihood Ratio diagnostics for spatial dependence" res <- list(statistic=statistic, parameter=parameter, p.value=p.value, estimate=estimate, method=method) class(res) <- "htest" res } Wald1.sarlm <- function(object) { if (!inherits(object, "sarlm")) stop("Not a sarlm object") # if (!object$ase) # stop("Cannot compute Wald statistic: parameter a.s.e. missing") LLx <- logLik(object) # LLy <- logLik(object$lm.model) LLy <- object$logLik_lm.model if (object$type == "lag" || object$type == "mixed") { estimate <- object$rho rse <- object$rho.se if (is.null(rse)) return(rse) statistic <- (object$rho / rse)^2 attr(statistic, "names") <- ifelse(is.logical(fdHess), "Wald statistic", "Approximate Wald statistic") } else { estimate <- object$lambda lse <- object$lambda.se if (is.null(lse)) return(lse) statistic <- (object$lambda / lse)^2 attr(statistic, "names") <- ifelse(is.logical(fdHess), "Wald statistic", "Approximate Wald statistic") } parameter <- abs(attr(LLx, "df") - attr(LLy, "df")) if (parameter < 1) stop("non-positive degrees of freedom: no test possible") attr(parameter, "names") <- "df" p.value <- 1 - pchisq(abs(statistic), parameter) method <- "Wald diagnostics for spatial dependence" res <- list(statistic=statistic, parameter=parameter, p.value=p.value, estimate=estimate, method=method) class(res) <- "htest" res } Hausman.test <- function(object, ...) UseMethod("Hausman.test", object) Hausman.test.sarlm <- function(object, ..., tol=NULL) { if (!inherits(object, "sarlm")) stop("not a sarlm object") if (object$type != "error") stop("not a spatial error model") fmeth <- ifelse(object$method != "eigen", "(approximate)", "(asymptotic)") if (is.null(object$Hcov)) stop("Vo not available") s2 <- object$s2 Vo <- s2 * object$Hcov Vs <- s2 * object$Vs d <- object$coef_lm.model - object$coefficients if (!is.null(tol)) VV <- try(solve((Vo - Vs), tol=tol)) else VV <- try(solve(Vo - Vs)) if (class(VV) == "try.error") { warning("(Vo - Vs) inversion failure") return(NULL) } statistic <- t(d) %*% VV %*% d attr(statistic, "names") <- "Hausman test" parameter <- length(d) attr(parameter, "names") <- "df" p.value <- 1 - pchisq(abs(statistic), parameter) method <- paste("Spatial Hausman test", fmeth) data.name <- strwrap(deparse(object$formula), exdent=4) if (length(data.name) > 1L) data.name <- paste(data.name, collapse="\n ") res <- list(statistic = statistic, parameter = parameter, p.value = p.value, method = method, data.name=data.name) class(res) <- "htest" res } Hausman.test.gmsar <- function(object, ..., tol=NULL) { if (!inherits(object, "gmsar")) stop("not a gmsar object") if (is.null(object$Hcov)) stop("Vo not available") fmeth <- "(approximate)" s2 <- object$s2 Vo <- s2 * object$Hcov Vs <- s2 * summary.lm(object$lm.target, correlation = FALSE)$cov.unscaled d <- coef(object$lm.model) - coef(object$lm.target) if (!is.null(tol)) VV <- try(solve((Vo - Vs), tol=tol)) else VV <- try(solve(Vo - Vs)) if (class(VV) == "try.error") { warning("(Vo - Vs) inversion failure") return(NULL) } statistic <- t(d) %*% VV %*% d attr(statistic, "names") <- "Hausman test" parameter <- length(d) attr(parameter, "names") <- "df" p.value <- 1 - pchisq(abs(statistic), parameter) method <- paste("Spatial Hausman test", fmeth) data.name <- strwrap(deparse(object$formula), exdent=4) if (length(data.name) > 1L) data.name <- paste(data.name, collapse="\n ") res <- list(statistic = statistic, parameter = parameter, p.value = p.value, method = method, data.name=data.name) class(res) <- "htest" res } print.summary.sarlm <- function(x, digits = max(5, .Options$digits - 3), signif.stars = FALSE, ...) { cat("\nCall:", deparse(x$call), sep = "", fill=TRUE) if (x$type == "error") if (isTRUE(all.equal(x$lambda, x$interval[1])) || isTRUE(all.equal(x$lambda, x$interval[2]))) warning("lambda on interval bound - results should not be used") if (x$type == "lag" || x$type == "mixed") if (isTRUE(all.equal(x$rho, x$interval[1])) || isTRUE(all.equal(x$rho, x$interval[2]))) warning("rho on interval bound - results should not be used") cat("\nResiduals:\n") resid <- residuals(x) nam <- c("Min", "1Q", "Median", "3Q", "Max") rq <- if (length(dim(resid)) == 2L) structure(apply(t(resid), 1, quantile), dimnames = list(nam, dimnames(resid)[[2]])) else structure(quantile(resid), names = nam) print(rq, digits = digits, ...) cat("\nType:", x$type, "\n") if (x$zero.policy) { zero.regs <- attr(x, "zero.regs") if (!is.null(zero.regs)) cat("Regions with no neighbours included:\n", zero.regs, "\n") } if (!is.null(x$coeftitle)) { cat("Coefficients:", x$coeftitle, "\n") coefs <- x$Coef if (!is.null(aliased <- x$aliased) && any(x$aliased)){ cat(" (", table(aliased)["TRUE"], " not defined because of singularities)\n", sep = "") cn <- names(aliased) coefs <- matrix(NA, length(aliased), 4, dimnames = list(cn, colnames(x$Coef))) coefs[!aliased, ] <- x$Coef } printCoefmat(coefs, signif.stars=signif.stars, digits=digits, na.print="NA") } # res <- LR.sarlm(x, x$lm.model) res <- x$LR1 pref <- ifelse(x$ase, "Asymptotic", "Approximate (numerical Hessian)") if (x$type == "error") { cat("\nLambda: ", format(signif(x$lambda, digits)), ", LR test value: ", format(signif(res$statistic, digits)), ", p-value: ", format.pval(res$p.value, digits), "\n", sep="") if (!is.null(x$lambda.se)) { if (!is.null(x$adj.se)) { x$lambda.se <- sqrt((x$lambda.se^2)*x$adj.se) } cat(pref, " standard error: ", format(signif(x$lambda.se, digits)), ifelse(is.null(x$adj.se), "\n z-value: ", "\n t-value: "), format(signif((x$lambda/ x$lambda.se), digits)), ", p-value: ", format.pval(2*(1-pnorm(abs(x$lambda/ x$lambda.se))), digits), "\n", sep="") cat("Wald statistic: ", format(signif(x$Wald1$statistic, digits)), ", p-value: ", format.pval(x$Wald1$p.value, digits), "\n", sep="") } } else if (x$type == "sac" || x$type == "sacmixed") { cat("\nRho: ", format(signif(x$rho, digits)), "\n", sep="") if (!is.null(x$rho.se)) { if (!is.null(x$adj.se)) { x$rho.se <- sqrt((x$rho.se^2)*x$adj.se) } cat(pref, " standard error: ", format(signif(x$rho.se, digits)), ifelse(is.null(x$adj.se), "\n z-value: ", "\n t-value: "), format(signif((x$rho/x$rho.se), digits)), ", p-value: ", format.pval(2 * (1 - pnorm(abs(x$rho/ x$rho.se))), digits), "\n", sep="") } cat("Lambda: ", format(signif(x$lambda, digits)), "\n", sep="") if (!is.null(x$lambda.se)) { pref <- ifelse(x$ase, "Asymptotic", "Approximate (numerical Hessian)") if (!is.null(x$adj.se)) { x$lambda.se <- sqrt((x$lambda.se^2)*x$adj.se) } cat(pref, " standard error: ", format(signif(x$lambda.se, digits)), ifelse(is.null(x$adj.se), "\n z-value: ", "\n t-value: "), format(signif((x$lambda/ x$lambda.se), digits)), ", p-value: ", format.pval(2*(1-pnorm(abs(x$lambda/ x$lambda.se))), digits), "\n", sep="") } cat("\nLR test value: ", format(signif(res$statistic, digits)), ", p-value: ", format.pval(res$p.value, digits), "\n", sep="") } else { cat("\nRho: ", format(signif(x$rho, digits)), ", LR test value: ", format(signif(res$statistic, digits)), ", p-value: ", format.pval(res$p.value, digits), "\n", sep="") if (!is.null(x$rho.se)) { if (!is.null(x$adj.se)) { x$rho.se <- sqrt((x$rho.se^2)*x$adj.se) } cat(pref, " standard error: ", format(signif(x$rho.se, digits)), ifelse(is.null(x$adj.se), "\n z-value: ", "\n t-value: "), format(signif((x$rho/x$rho.se), digits)), ", p-value: ", format.pval(2 * (1 - pnorm(abs(x$rho/ x$rho.se))), digits), "\n", sep="") } if (!is.null(x$Wald1)) { cat("Wald statistic: ", format(signif(x$Wald1$statistic, digits)), ", p-value: ", format.pval(x$Wald1$p.value, digits), "\n", sep="") } } cat("\nLog likelihood:", logLik(x), "for", x$type, "model\n") cat("ML residual variance (sigma squared): ", format(signif(x$s2, digits)), ", (sigma: ", format(signif(sqrt(x$s2), digits)), ")\n", sep="") if (!is.null(x$NK)) cat("Nagelkerke pseudo-R-squared:", format(signif(x$NK, digits)), "\n") cat("Number of observations:", length(x$residuals), "\n") cat("Number of parameters estimated:", x$parameters, "\n") cat("AIC: ", format(signif(AIC(x), digits)), ", (AIC for lm: ", format(signif(x$AIC_lm.model, digits)), ")\n", sep="") if (x$type == "error") { if (!is.null(x$Haus)) { cat("Hausman test: ", format(signif(x$Haus$statistic, digits)), ", df: ", format(x$Haus$parameter), ", p-value: ", format.pval(x$Haus$p.value, digits), "\n", sep="") } } if ((x$type == "lag" || x$type == "mixed") && x$ase) { cat("LM test for residual autocorrelation\n") cat("test value: ", format(signif(x$LMtest, digits)), ", p-value: ", format.pval((1 - pchisq(x$LMtest, 1)), digits), "\n", sep="") } if (x$type != "error" && !is.null(x$LLCoef)) { cat("\nCoefficients: (log likelihood/likelihood ratio)\n") printCoefmat(x$LLCoef, signif.stars=signif.stars, digits=digits, na.print="NA") } correl <- x$correlation if (!is.null(correl)) { p <- NCOL(correl) if (p > 1) { cat("\n", x$correltext, "\n") correl <- format(round(correl, 2), nsmall = 2, digits = digits) correl[!lower.tri(correl)] <- "" print(correl[-1, -p, drop = FALSE], quote = FALSE) } } cat("\n") invisible(x) } spdep/R/localmoran.exact.R0000644000176200001440000001304112500532735015144 0ustar liggesusers# Copyright (c) 2007-2008 Markus Reder and Roger Bivand localmoran.exact <- function(model, select, nb, glist = NULL, style = "W", zero.policy = NULL, alternative = "greater", spChk=NULL, resfun=weighted.residuals, save.Vi = FALSE, useTP=FALSE, truncErr=1e-6, zeroTreat=0.1) { # need to impose check on weights TODO!! # class to inherits Jari Oksanen 080603 if (!inherits(nb, "nb")) stop(paste(deparse(substitute(nb)), "not an nb object")) if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) n <- length(nb) u <- resfun(model) if (n != length(u)) stop("objects of different length") if (is.null(spChk)) spChk <- get.spChkOption() if (spChk && !chkIDs(u, nb2listw(nb, zero.policy=zero.policy))) stop("Check of data and weights ID integrity failed") if (!(alternative %in% c("greater", "less", "two.sided"))) stop("alternative must be one of: \"greater\", \"less\", or \"two.sided\"") if (missing(select)) select <- 1:n u <- as.vector(u) select <- unique(as.integer(select)) if (length(select) < 1L) stop("select too short") if (any(select < 1 || select > n)) stop("select out of range") utu <- c(crossprod(u)) p <- model$rank p1 <- 1:p nacoefs <- which(is.na(coefficients(model))) m <- n - p - 2 XtXinv <- chol2inv(model$qr$qr[p1, p1, drop = FALSE]) X <- model.matrix(terms(model), model.frame(model)) # fixed after looking at TOWN dummy in Boston data if (length(nacoefs) > 0L) X <- X[,-nacoefs] if (!is.null(wts <- weights(model))) { X <- sqrt(diag(wts)) %*% X } B <- listw2U(nb2listw(nb, glist=glist, style="B", zero.policy=zero.policy)) D <- NULL a <- NULL if (style == "W") { D <- 1/sapply(B$weights, sum) } else if (style == "S") { D <- 1 / sqrt(sapply(B$weights, function(x) sum(x^2))) # correction by Danlin Yu, 25 March 2004 a <- sum(sapply(B$weights, function(x) sqrt(sum(x^2)))) } else if (style == "C") a <- sum(unlist(B$weights)) res <- vector(mode="list", length=length(select)) for (i in 1:length(select)) { Vi <- listw2star(B, select[i], style=style, n, D, a, zero.policy=zero.policy) Viu <- lag.listw(Vi, u, zero.policy=TRUE) Ii <- c(crossprod(u, Viu) / utu) ViX <- lag.listw(Vi, X, zero.policy=TRUE) MViM <- t(X) %*% ViX %*% XtXinv t1 <- -sum(diag(MViM)) sumsq.Vi <- function(x) { if (is.null(x)) NA else sum(x^2) } trVi2 <- sum(sapply(Vi$weights, sumsq.Vi), na.rm=TRUE) t2a <- sum(diag(t(ViX) %*% ViX %*% XtXinv)) t2b <- sum(diag(MViM %*% MViM)) t2 <- trVi2 - 2*t2a + t2b e1 <- 0.5 * (t1 + sqrt(2*t2 - t1^2)) en <- 0.5 * (t1 - sqrt(2*t2 - t1^2)) gamma_1n <- c(c(en), c(e1)) obj <- exactMoran(Ii, gamma_1n, alternative=alternative, type="Local", np2=n-(2+p), useTP=useTP, truncErr=truncErr, zeroTreat=zeroTreat) data.name <- paste("region:", select[i], attr(nb, "region.id")[select[i]], "\n", paste(strwrap(paste("model: ", gsub("[ ]+", " ", paste(deparse(model$call), sep="", collapse="")))), collapse="\n"), "\nneighbours:", deparse(substitute(nb)), "style:", style, "\n") obj$data.name <- data.name obj$df <- (n-p) obj$i <- paste(select[i], attr(nb, "region.id")[select[i]]) obj$Vi <- if(save.Vi) Vi else NULL res[[i]] <- obj } class(res) <- "localmoranex" res } print.localmoranex <- function(x, ...) { extract <- function(x, i) {x[[i]]} regnames <- sapply(x, extract, 10) est <- sapply(x, extract, 3) sad <- sapply(x, extract, 1) pval <- sapply(x, extract, 2) oT <- sapply(x, extract, 7) res <- as.matrix(cbind(est, sad, pval)) rownames(res) <- regnames colnames(res) <- c("Local Morans I", "Exact SD", "Pr. (exact)") print(res, ...) if (any(oT != "E")) warning(paste("Normal reported for:", paste(which(oT != "E"), collapse=", ")), call.=FALSE) invisible(res) } as.data.frame.localmoranex <- function(x, row.names=NULL, optional=FALSE, ...) { n <- length(x) if (n < 1) stop("x too short") res <- matrix(0, nrow=n, ncol=11) regnames <- NULL if (!is.null(row.names)) if (length(row.names) == n) regnames <- row.names if (is.null(regnames))for (i in 1:n) regnames <- c(regnames, x[[i]]$i) for (i in 1:n) { tau <- x[[i]]$gamma df <- x[[i]]$df if (length(tau) == 2L) tau <- c(tau[1], rep(0, df-2), tau[2]) max.I <- tau[1] min.I <- tau[length(tau)] E.I <- sum(tau)/df tau <- tau - E.I V.I <- (2*sum(tau^2)) / (df*(df+2)) Z.I <- (x[[i]]$estimate - E.I) / sqrt(V.I) if (x[[i]]$alternative == "two.sided") P.I <- 2 * pnorm(abs(Z.I), lower.tail=FALSE) else if (x[[i]]$alternative == "greater") P.I <- pnorm(Z.I, lower.tail=FALSE) else P.I <- pnorm(Z.I) Sk.I <- ((8*sum(tau^3))/(df*(df+2)*(df+4))) / (V.I^(3/2)) Kur.I <- ((48*sum(tau^4) + 12*(sum(tau^2))^2) / (df*(df+2)*(df+4)*(df+6))) / (V.I^2) res[i,] <- c(x[[i]]$estimate, Z.I, P.I, x[[i]]$statistic, x[[i]]$p.value, E.I, V.I, Sk.I, Kur.I, min.I, max.I) } colnames(res) <- c("Local Morans I", "Stand. dev. (N)", "Pr. (N)", "Exact SD", "Pr. (exact)", "Expectation", "Variance", "Skewness", "Kurtosis", "Minimum", "Maximum") rownames(res) <- regnames res <- as.data.frame(res) extract <- function(x, i) {x[[i]]} res$oT <- sapply(x, extract, 7) res } spdep/R/anova.sarlm.R0000644000176200001440000000552611716033157014146 0ustar liggesusers# Copyright 2003-2011 by Roger Bivand # anova.sarlm <- function(object, ...) { if (length(list(object, ...)) > 1L) { getResponseFormula <- function (object) { form <- formula(object$call) if (!(inherits(form, "formula") && (length(form) == 3L))) { stop("\"Form\" must be a two sided formula") } eval(parse(text = paste("~", deparse(form[[2]])))) } object <- list(object, ...) ancall <- sys.call() nmodels <- length(object) if (nmodels == 1) return(anova(object)) termsClass <- unlist(lapply(object, data.class)) if (!all(match(termsClass, c("lm", "sarlm"), 0))) { stop(paste("Objects must inherit from classes \"sarlm\" or \"lm\"")) } resp <- unlist(lapply(object, function(el) deparse(getResponseFormula(el)[[2]]))) subs <- as.logical(match(resp, resp[1], FALSE)) if (!all(subs)) warning(paste("Some fitted objects deleted because", "response differs from the first model")) if (sum(subs) == 1) stop("First model has a different response from the rest") object <- object[subs] aux <- lapply(object, logLik) if (length(unique(unlist(lapply(object, function(el) length(residuals(el)))))) > 1L) { stop("All fitted objects must use the same number of observations") } dfModel <- unlist(lapply(aux, function(el) attr(el, "df"))) logLik <- unlist(lapply(aux, function(el) c(el))) AIC <- unlist(lapply(aux, AIC)) aod <- data.frame(Model = (1:nmodels), df = dfModel, AIC = AIC, logLik = logLik, check.names = FALSE) ddf <- diff(dfModel) if (sum(abs(ddf)) > 0) { effects <- rep("", nmodels) for (i in 2:nmodels) { if (ddf[i - 1] != 0) { effects[i] <- paste(i - 1, i, sep = " vs ") } } pval <- rep(NA, nmodels - 1) ldf <- as.logical(ddf) lratio <- 2 * abs(diff(logLik)) lratio[!ldf] <- NA pval[ldf] <- 1 - pchisq(lratio[ldf], abs(ddf[ldf])) aod <- data.frame(aod, Test = effects, L.Ratio = c(NA, lratio), "p-value" = c(NA, pval), check.names = FALSE) } row.names(aod) <- unlist(lapply(as.list(ancall[-1]), deparse)) attr(aod, "nmodels") <- nmodels class(aod) <- c("anova", "data.frame") return(aod) } else { if (!inherits(object, "sarlm")) stop("object not a fitted simultaneous autoregressive model") LL <- logLik(object) AIC <- AIC(LL) res <- data.frame("AIC"=AIC, "Log likelihood"=LL, "df"=attr(LL, "df"), row.names=deparse(substitute(object))) class(res) <- c("anova", "data.frame") return(res) } } spdep/R/weights-utils.R0000644000176200001440000001034712033110256014517 0ustar liggesusers# Copyright 2001-10 by Roger Bivand # is.symmetric.nb <- function(nb, verbose=NULL, force=FALSE) { if(!inherits(nb, "nb")) stop("Not neighbours list") if (is.null(verbose)) verbose <- get("verbose", envir = .spdepOptions) stopifnot(is.logical(verbose)) nbsym <- attr(nb, "sym") if(!is.null(nbsym)) res <- nbsym if(force || is.null(nbsym)) { res <- .Call("symtest", nb=nb, card=as.integer(card(nb)), verbose=as.logical(verbose), PACKAGE="spdep") } if(!res && verbose) cat("Non-symmetric neighbours list\n") res } is.symmetric.glist <- function(nb, glist) { if(!inherits(nb, "nb")) stop("Not neighbours list") nbsym <- attr(nb, "sym") if(is.null(nbsym)) nbsym <- is.symmetric.nb(nb) if (!nbsym) { res0 <- vector(mode="list", length=2) res0[[1]] <- FALSE res0[[2]] <- Inf } else { if (length(nb) != length(glist)) stop("list lengths differ") cnb <- as.integer(card(nb)) gnb <- as.integer(sapply(glist, length)) if (!(identical(cnb, gnb))) stop("different vector lengths in lists") res0 <- .Call("gsymtest", nb=nb, glist=glist, card=cnb, PACKAGE="spdep") } res <- res0[[1]] attr(res, "d") <- res0[[2]] res } sym.attr.nb <- function(nb) { if(!inherits(nb, "nb")) stop("Not neighbours list") nbsym <- attr(nb, "sym") if(is.null(nbsym)) attr(nb, "sym") <- is.symmetric.nb(nb, verbose=FALSE, force=TRUE) nb } include.self <- function(nb) { if (!is.null(attributes(nb)$self.included) && (as.logical(attributes(nb)$self.included))) stop("Self already included") n <- length(nb) nc <- card(nb) for (i in 1:n) { if (nc[i] > 0) { nb[[i]] <- sort(c(i, nb[[i]])) } else { nb[[i]] <- i } } attr(nb, "self.included") <- TRUE nb } is.selfneighbour <- function(nb) { res <- sapply(seq(along=nb), function(i) i %in% nb[[i]]) } # Copyright 2001-7 by Nicholas Lewin-Koh and Roger Bivand old.make.sym.nb <- function(nb){ if(!inherits(nb, "nb")) stop("Not neighbours list") if (is.symmetric.nb(nb, FALSE, TRUE)) { res <- nb } else { # k <- unlist(lapply(nb,length)) # problems handling no-neighbour entities k <- card(nb) to <- unlist(nb) to <- to[to > 0] from <- NULL res <- vector(mode="list", length=length(nb)) for(i in 1:length(nb)){ from <- c(from,rep(i,k[i])) } for(i in 1:length(nb)){ res[[i]] <- sort(unique(c(to[from==i],from[to==i]))) if(length(res[[i]]) == 0L) res[[i]] <- 0L } attr(res, "region.id") <- attr(nb,"region.id") attr(res, "call") <- attr(nb, "call") attr(res, "type") <- attr(nb, "type") attr(res, "sym") <- TRUE class(res) <- "nb" } res } # Copyright 2009 by Bjarke Christensen and Roger Bivand make.sym.nb <- function (nb) { if (!inherits(nb, "nb")) stop("Not neighbours list") if (any(card(nb) == 0)) return(old.make.sym.nb(nb)) res <- nb if (!is.symmetric.nb(nb, FALSE, TRUE)) { for (i in 1:length(res)) { #Which of observation i's neighbors have i amongst _its_ neighbors? refersback <- sapply(res[res[[i]]], function(x) i %in% x) #Add i to the neighborhood of those of i's neighbors who don't refer back res[ res[[i]][!refersback] ] <- lapply(res[ res[[i]][!refersback]], function(x) sort(c(i, x))) } attributes(res) <- attributes(res)[!(names(attributes(res))=='knn-k')] attr(res, "sym") <- TRUE } res } # Idea due to Roberto Patuelli aggregate.nb <- function(x, IDs, remove.self=TRUE, ...) { stopifnot(length(x) == length(IDs)) in_reg.ids <- attr(x, "region.id") mtch <- tapply(in_reg.ids, IDs, function(i) c(i)) out_reg.ids <- names(mtch) nb_short <- vector(mode="list", length=length(mtch)) for (i in seq(along=mtch)) { nb_short[[i]] <- 0L imtch <- match(mtch[[i]], in_reg.ids) res <- unlist(x[imtch]) nb_short[[i]] <- as.integer(sort(unique(match(IDs[res], out_reg.ids)))) if (remove.self && i %in% nb_short[[i]]) { nb_short[[i]] <- nb_short[[i]][-(match(i, nb_short[[i]]))] if (length(nb_short[[i]]) < 1L) nb_short[[i]] <- 0L } } attr(nb_short, "region.id") <- out_reg.ids class(nb_short) <- "nb" nb_short <- sym.attr.nb(nb_short) nb_short } spdep/R/edit.nb.R0000644000176200001440000001220512437375521013245 0ustar liggesusers# Copyright 2001-2010 by Roger Bivand and Nicholas Lewin-Koh # edit.nb <- function(name, coords, polys=NULL, ..., use_region.id=FALSE) { nb <- name cnb <- card(nb) # class to inherits Jari Oksanen 080603 # corrected object Thibaut Jombart 081002 if (!inherits(nb, "nb")) stop("not a neighbours list") cl <- class(nb) if (length(cl) > 1L) icl <- cl[-match("nb", cl)] else icl <- NULL if (missing(coords) && !is.null(polys) && inherits(polys, "SpatialPolygons")) coords <- coordinates(polys) x <- coords[,1] y <- coords[,2] n <- length(nb) row.names <- attr(nb, "region.id") if (is.null(row.names)) row.names <- as.character(1:n) labels <- 1:n if (use_region.id) labels <- row.names xlim <- range(x) ylim <- range(y) plot.new() plot.window(xlim = xlim, ylim = ylim, "", asp=1) if (!is.null(polys)) if (inherits(polys, "SpatialPolygons")) plot(polys, border="grey", add=TRUE) else stop("polys of unknown class") # bug report Conceicao Ribeiro 100731 for (i in 1:n) { #arrows(x[i],y[i],x[nb[[i]]],y[nb[[i]]],lenght=.08, angle=.15) ### if (cnb[i] > 0) segments(x[i],y[i],x[nb[[i]]],y[nb[[i]]]) ### #inb <- nb[[i]] #for (j in inb) #lines(c(x[i], x[j]), c(y[i], y[j]), col="black") } points(x, y) finished <- "n" if (!interactive()) finished <- "q" deletions <- NULL additions <- NULL ### edit.segs<-list() e.seg.stat<-NULL enum<-0 erase.col<-par()$bg ### while (finished == "n") { cat("Identifying contiguity for deletion ...\n") cand <- identify(x, y, n=2, labels=labels) lines(x[cand], y[cand], col="red") if (.Platform$OS.type == "windows") bringToTop(-1) if ((cand[2] %in% nb[[cand[1]]]) && (cand[1] %in% nb[[cand[2]]])) { delete <- readline("Delete this line (y/n) ") if (delete != "y") delete <- "n" else { deletions <- c(deletions, paste(cand, collapse="-")) nb[[cand[1]]] <- nb[[cand[1]]][nb[[cand[1]]] != cand[2]] if(length(nb[[cand[1]]]) == 0L) { nb[[cand[1]]] <- 0L cat(labels[cand[1]], "is now an island\n") } nb[[cand[2]]] <- nb[[cand[2]]][nb[[cand[2]]] != cand[1]] if(length(nb[[cand[2]]]) == 0L) { nb[[cand[2]]] <- 0L cat(labels[cand[2]], "is now an island\n") } ### lines(x[cand], y[cand], col=erase.col) lines(x[cand], y[cand], col='brown',lty=4) enum<-enum+1 edit.segs[[enum]]<-cand e.seg.stat<-c(e.seg.stat,0) ### cat("deleted contiguity between point", labels[cand[1]], "and", labels[cand[2]], "\n") } #plot.new() #plot.window(xlim = xlim, ylim = ylim, "", asp=1) #if (!is.null(polys)) # plot(polys, border="grey", add=TRUE) #for (i in 1:n) { # inb <- nb[[i]] # for (j in inb) # lines(c(x[i], x[j]), c(y[i], y[j]), # col="black") #} #points(x, y) } else { if (length(cand) == 2L) { cat("No contiguity between chosen points\n") addcont <- readline("Add contiguity? (y/n) ") if (addcont != "y") addcont <- "n" if (addcont == "y") { nb[[cand[1]]] <- sort(unique(c(nb[[cand[1]]], cand[2]))) nb[[cand[2]]] <- sort(unique(c(nb[[cand[2]]], cand[1]))) cat("added contiguity between point", labels[cand[1]], "and", labels[cand[2]], "\n") additions <- c(additions, paste(cand, collapse="-")) ### enum<-enum+1 edit.segs[[enum]]<-cand e.seg.stat<-c(e.seg.stat,1) lines(x[cand], y[cand], col='yellow') ### } # plot.new() # plot.window(xlim = xlim, ylim = ylim, "", asp=1) # if (!is.null(polys)) # plot(polys, border="grey", add=TRUE) # for (i in 1:n) { # inb <- nb[[i]] # for (j in inb) # lines(c(x[i], x[j]), # c(y[i], y[j]), # col="black") # } # points(x, y) } } # finished <- readline("Finished yet? (y/n) ") ### finished <- readline("Options: quit[q] refresh[r] continue[c] ") if (finished == "r") { plot.new() plot.window(xlim = xlim, ylim = ylim, "", asp=1) if (!is.null(polys)) plot(polys, border="grey", add=TRUE) for (i in 1:n) { if(nb[[i]][1]!=0 & length(nb[[i]])>0L) segments(x[i],y[i],x[nb[[i]]],y[nb[[i]]]) } if(enum>1){ for(i in 1:enum){ if(e.seg.stat[i]==0){ lines(x[edit.segs[[i]]], y[edit.segs[[i]]], col=erase.col) lines(x[edit.segs[[i]]], y[edit.segs[[i]]], col='brown',lty=4) } else lines(x[edit.segs[[i]]], y[edit.segs[[i]]], col='yellow') } } points(x, y) finished <- readline("Options: quit[q] continue[c]") } if (finished != "q") finished <- "n" #### } attributes(nb) <- list(deleted=deletions) attr(nb, "added") <- additions attr(nb, "region.id") <- row.names if (is.null(icl)) class(nb) <- "nb" else class(nb) <- c("nb", icl) nb <- sym.attr.nb(nb) nb } spdep/R/read.gal.R0000644000176200001440000000661012437316032013372 0ustar liggesusers# Copyright 2001-2003 by Roger Bivand and Luc Anselin # read.gal <- function(file, region.id=NULL, override.id=FALSE) { con <- file(file, open="r") line <- unlist(strsplit(readLines(con, 1), " ")) x <- subset(line, nchar(line) > 0) if (length(x) == 1L) { n <- as.integer(x[1]) shpfile <- as.character(NA) ind <- as.character(NA) } else if (length(x) == 4L) { n <- as.integer(x[2]) shpfile <- as.character(x[3]) ind <- as.character(x[4]) } else stop ("Invalid header line in GAL file") if (n < 1) stop("Non-positive number of regions") if (!is.null(region.id)) if (length(unique(region.id)) != length(region.id)) stop("non-unique region.id given") if (is.null(region.id)) region.id <- as.character(1:n) if (n != length(region.id)) stop("Mismatch in dimensions of GAL file and region.id") rn <- character(n) res <- vector(mode="list", length=n) for (i in 1:n) { line <- unlist(strsplit(readLines(con, 1), " ")) x <- subset(line, nchar(line) > 0) rn[i] <- x[1] line <- unlist(strsplit(readLines(con, 1), " ")) y <- subset(line, nchar(line) > 0) if(length(y) != as.integer(x[2])) { close(con) stop(paste("GAL file corrupted at region", i)) } res[[i]] <- y } close(con) if (!override.id) { if (!all(rn %in% region.id)) { stop("GAL file IDs and region.id differ") } } else region.id <- rn mrn <- match(rn, region.id) res1 <- vector(mode="list", length=n) for (i in 1:n) { if (length(res[[i]]) > 0) { x <- match(res[[i]], region.id) if (any(is.na(x)) | (length(x) != length(res[[i]]))) { stop(paste("GAL file corrupted at region", i)) } if(any(x < 0) || any(x > n)) stop("GAL file corrupted") res1[[mrn[i]]] <- sort(x) } else { res1[[mrn[i]]] <- 0L } } class(res1) <- "nb" attr(res1, "region.id") <- region.id attr(res1, "GeoDa") <- list(shpfile=shpfile, ind=ind) attr(res1, "gal") <- TRUE attr(res1, "call") <- TRUE res1 <- sym.attr.nb(res1) res1 } write.nb.gal <- function(nb, file, oldstyle=TRUE, shpfile=NULL, ind=NULL) { # class to inherits Jari Oksanen 080603 if (!inherits(nb, "nb")) stop("not a neighbours list") n <- length(nb) if (n < 1) stop("non-positive number of entities") cn <- card(nb) rn <- attr(nb, "region.id") if (is.null(shpfile)) { tmp <- attr(nb, "GeoDa")$shpfile if (is.null(tmp)) shpfile <- "unknown" else shpfile <- tmp } if (is.null(ind)) { tmp <- attr(nb, "GeoDa")$ind if (is.null(tmp)) ind <- "unknown" else ind <- tmp } con <- file(file, open="w") if (oldstyle) writeLines(paste(n), con) else writeLines(paste("0", n, shpfile, ind, sep=" "), con) for (i in 1:n) { if (oldstyle) writeLines(paste(i, cn[i], collapse=" "), con) else writeLines(paste(rn[i], cn[i], collapse=" "), con) if (oldstyle) writeLines(ifelse(cn[i] > 0, paste(nb[[i]], collapse=" "), ""), con) else writeLines(ifelse(cn[i] > 0, paste(rn[nb[[i]]], collapse=" "), ""), con) } close(con) } # read.geoda # helper function to read GeoDa export files # LA 7/10/03 # specify input file = file # default is no row names, specify row names as second parameter # example: balt <- read.geoda("baltim.txt") # balt <- read.geoda("baltim.txt","STATION") read.geoda <- function(file, row.names=NULL, skip=0) { res <- read.csv(file=file, header=TRUE, skip=skip, row.names=row.names) if (ncol(res) < 2) warning("data frame possibly malformed") res } spdep/R/lag.hessian.R0000644000176200001440000000572212074247625014124 0ustar liggesusers# Copyright 2009-2013 by Roger Bivand # getVmatl <- function(coefs, env, s2, trs, tol.solve=1.0e-10, optim=FALSE, optimM="optimHess") { if (optim) { if (optimM == "nlm") { options(warn=-1) opt <- nlm(f=f_laglm_hess_nlm, p=coefs, env=env, hessian=TRUE) options(warn=0) mat <- opt$hessian # opt <- optimHess(par=coefs, fn=f_laglm_hess, env=env) # mat <- opt } else if (optimM == "optimHess") { mat <- optimHess(par=coefs, fn=f_laglm_hess, env=env) } else { opt <- optim(par=coefs, fn=f_laglm_hess, env=env, method=optimM, hessian=TRUE) mat <- opt$hessian } } else { fd <- fdHess(coefs, f_laglm_hess, env) mat <- fd$Hessian } if (!is.null(trs)) { mat <- insert_asy(coefs, env, s2, mat, trs) } res <- solve(-(mat), tol.solve=tol.solve) res } sar_lag_hess_sse <- function(rho, beta, env) { if (get("compiled_sse", envir=env)) { ft <- get("first_time", envir=env) SSE <- .Call("R_ml2_sse_env", env, rho, beta, PACKAGE="spdep") if (ft) assign("first_time", FALSE, envir=env) } else { res <- (get("y", envir=env) - rho * get("wy", envir=env)) - get("x", envir=env) %*% beta SSE <- c(crossprod(res)) } SSE } f_laglm_hess <- function(coefs, env) { rho <- coefs[1] int <- get("interval", envir=env) if (rho <= int[1] || rho >= int[2]) return(-Inf) beta <- coefs[-1] SSE <- sar_lag_hess_sse(rho, beta, env) n <- get("n", envir=env) s2 <- SSE/n det <- do_ldet(rho, env) ret <- (det - ((n/2) * log(2 * pi)) - (n/2) * log(s2) - (1/(2 * s2)) * SSE) if (get("verbose", envir=env)) cat("Hessian: rho:\t", rho, "\tfunction value:\t", ret, "\n") assign("hf_calls", get("hf_calls", envir=env)+1L, envir=env) if (!is.finite(ret)) return(-Inf) ret } f_laglm_hess_nlm <- function(coefs, env) { ret <- f_laglm_hess(coefs, env) -ret } #f_errlm_hess <- function(coefs, env) { # lambda <- coefs[1] # beta <- coefs[-1] # SSE <- sar_error_hess_sse(lambda, beta, env) # n <- get("n", envir=env) # s2 <- SSE/n # det <- do_ldet(lambda, env) # ret <- (det - ((n/2) * log(2 * pi)) - (n/2) * log(s2) - # (1/(2 * s2)) * SSE) # if (get("verbose", envir=env)) cat("lambda:", lambda, " function:", ret, # " Jacobian:", det, " SSE:", SSE, "\n") # ret #} trB <- function(rho, tr) sum(sapply(0:(length(tr)-1L), function(i) rho^i * tr[i+1])) insert_asy <- function(coefs, env, s2, mat, trs) { p <- length(coefs)-1L p2 <- p+2 n <- get("n", envir=env) omat <- matrix(0, nrow=p2, ncol=p2) omat[3:p2, 3:p2] <- -crossprod(get("x", envir=env))/s2 omat[2, 2] <- mat[1, 1] omat[2, 3:p2] <- omat[3:p2, 2] <- -c(crossprod(get("wy", envir=env), get("x", envir=env))/s2) omat[1, 1] <- -n/(2*(s2^2)) omat[1, 2] <- omat[2, 1] <- -trB(coefs[1], trs)/s2 omat } spdep/R/airdist.R0000644000176200001440000000100411716033157013347 0ustar liggesusers# Copyright 2001 by Roger Bivand # airdist <- function(ann=FALSE) { usr <- diff(par("usr"))[c(1,3)] plt <- diff(par("plt"))[c(1,3)] if (abs(diff(plt/usr)) > 0.005) warning("plot x and y scales may differ: use plot(..., asp=1)") coords <- locator(2) res <- sqrt(diff(coords$x)^2 + diff(coords$y)^2) if (ann) { lines(coords) text(mean(coords$x), mean(coords$y), format(res, digits=3), pos=4, offset=0.2, cex=0.7) } if (.Platform$OS.type == "windows") bringToTop(-1) list(dist=res, coords=coords) } spdep/R/tolerance.nb.R0000644000176200001440000000420111716033157014264 0ustar liggesusers`tolerance.nb` <-function (coords, unit.angle = "degrees", max.dist, tolerance, rot.angle, plot.sites=FALSE) { coords <- as.matrix(coords) if (missing(rot.angle)) { rot.angle <- 0 }else{ if (rot.angle == 0){ if (unit.angle == "degrees" | unit.angle == "radians") { rot.angle<-0 }else{ stop("Unit for angles be either 'degrees' or 'radians'") } } if (rot.angle != 0){ if (unit.angle == "degrees") { rot.angle <- pi/180 * rot.angle }else{ if (unit.angle == "radians") { rot.angle <- rot.angle }else{ stop("Unit for angles be either 'degrees' or 'radians'") } } } } coords <- Rotation(coords, rot.angle) if (plot.sites) { plot(coords, pch = 19, asp = 1) } dist.coords <- dist(coords) angles <- find.angles(coords) if (unit.angle == "degrees") { angles <- (angles * 180)/pi } no.good <- which((angles - tolerance) > 0, arr.ind = TRUE) for (i in 1:nrow(no.good)) { angles[no.good[i, 1], no.good[i, 2]] <- NA } if (missing(max.dist)) { max.dist <- max(dist.coords) }else{ too.far <- which(as.matrix(dist.coords) > max.dist, arr.ind = TRUE) for (i in 1:nrow(too.far)) { angles[too.far[i, 1], too.far[i, 2]] <- NA } } no.na <- which(!is.na(angles), arr.ind = TRUE) for (i in 1:nrow(no.na)) { angles[no.na[i, 1], no.na[i, 2]] <- 1 angles[no.na[i, 2], no.na[i, 1]] <- 1 } na.all <- which(is.na(angles), arr.ind = TRUE) for (i in 1:nrow(na.all)) { angles[na.all[i, 1], na.all[i, 2]] <- 0 } nb.obj <- mat2listw(angles)$neighbours return(nb.obj) } `find.angles` <- function (coords) { n.angles <- (nrow(coords) * (nrow(coords) - 1))/2 angles <- vector(length = n.angles) opp <- matrix(nrow = nrow(coords), ncol = nrow(coords)) adj <- matrix(nrow = nrow(coords), ncol = nrow(coords)) for (i in 1:nrow(coords)) { for (j in 1:nrow(coords)) { opp[i, j] <- coords[j, 2] - coords[i, 2] if (opp[i, j] != abs(opp[i, j])) { opp[i, j] <- NA } adj[i, j] <- abs(coords[j, 1] - coords[i, 1]) } } opp.adj <- opp/adj angles <- pi/2 - atan(opp.adj) return(angles) } spdep/R/moran.exact.alt.R0000644000176200001440000001001211716033157014705 0ustar liggesusers# Copyright (c) 2007-2008 Markus Reder and Roger Bivand localmoran.exact.alt <- function(model, select, nb, glist = NULL, style = "W", zero.policy = NULL, alternative = "greater", spChk=NULL, resfun=weighted.residuals, Omega=NULL, save.Vi = FALSE, save.M=FALSE, useTP=FALSE, truncErr=1e-6, zeroTreat=0.1) { # need to impose check on weights TODO!! # class to inherits Jari Oksanen 080603 if (!inherits(nb, "nb")) stop(paste(deparse(substitute(nb)), "not an nb object")) if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) # if (class(model) != "lm") # stop(paste(deparse(substitute(model)), "not an lm object")) dmc <- deparse(model$call) n <- length(nb) if (!inherits(model, "lm")) stop(paste(deparse(substitute(model)), "not an lm object")) if (is.null(Omega)) Omega <- diag(n) else { if (dim(Omega)[1] != n) stop("Omega of different size than data") Omega <- chol(Omega) } u <- resfun(model) if (n != length(u)) stop("objects of different length") if (is.null(spChk)) spChk <- get.spChkOption() if (spChk && !chkIDs(u, nb2listw(nb, zero.policy=zero.policy))) stop("Check of data and weights ID integrity failed") if (!(alternative %in% c("greater", "less", "two.sided"))) stop("alternative must be one of: \"greater\", \"less\", or \"two.sided\"") if (missing(select)) select <- 1:n u <- as.vector(u) select <- unique(as.integer(select)) if (length(select) < 1L) stop("select too short") if (any(select < 1 || select > n)) stop("select out of range") utu <- c(crossprod(u)) p <- model$rank p1 <- 1:p nacoefs <- which(is.na(coefficients(model))) m <- n - p - 2 XtXinv <- chol2inv(model$qr$qr[p1, p1, drop = FALSE]) X <- model.matrix(terms(model), model.frame(model)) # fixed after looking at TOWN dummy in Boston data if (length(nacoefs) > 0L) X <- X[,-nacoefs] if (!is.null(wts <- weights(model))) { X <- sqrt(diag(wts)) %*% X } M <- diag(n) - X %*% tcrossprod(XtXinv, X) M1 <- Omega %*% M M2 <- M %*% t(Omega) B <- listw2U(nb2listw(nb, glist=glist, style="B", zero.policy=zero.policy)) D <- NULL a <- NULL if (style == "W") { D <- 1/sapply(B$weights, sum) } else if (style == "S") { D <- 1 / sqrt(sapply(B$weights, function(x) sum(x^2))) # a <- sum(unlist(B$weights)) # correction by Danlin Yu, 25 March 2004 a <- sum(sapply(B$weights, function(x) sqrt(sum(x^2)))) } else if (style == "C") a <- sum(unlist(B$weights)) res <- vector(mode="list", length=length(select)) for (i in 1:length(select)) { Vi <- listw2star(B, select[i], style=style, n, D, a, zero.policy=zero.policy) Viu <- lag.listw(Vi, u, zero.policy=TRUE) Ii <- c(crossprod(u, Viu) / utu) obj <- exactLocalMoranAlt(Ii=Ii, Vi=Vi, M1=M1, M2=M2, n=n, alternative=alternative, useTP=useTP, truncErr=truncErr, zeroTreat=zeroTreat) data.name <- paste("region:", select[i], attr(nb, "region.id")[select[i]], "\n", paste(strwrap(paste("model: ", gsub("[ ]+", " ", paste(dmc, sep="", collapse="")))), collapse="\n"), "\nneighbours:", deparse(substitute(nb)), "style:", style, "\n") obj$data.name <- data.name obj$df <- (n-p) obj$i <- paste(select[i], attr(nb, "region.id")[select[i]]) obj$Vi <- if(save.Vi) Vi else NULL res[[i]] <- obj } class(res) <- "localmoranex" if (save.M) attr(res, "M") <- list(M1=M1, M2=M2) res } exactLocalMoranAlt <- function(Ii, Vi, M1, M2, n, alternative, type="Alternative", useTP=FALSE, truncErr=1e-6, zeroTreat=0.1) { ViI <- listw2mat(Vi) - Ii * diag(n) innerTerm <- M1 %*% ViI %*% M2 evalue <- eigen(innerTerm, only.values=TRUE)$values gamma <- c(evalue) obj <- exactMoran(Ii, gamma, alternative=alternative, type=type, useTP=useTP, truncErr=truncErr, zeroTreat=zeroTreat) obj } spdep/R/lextrB.R0000644000176200001440000002451112501503516013152 0ustar liggesusers# Copyright 2015 by Roger S. Bivand, Yongwan Chun and Daniel A. Griffith l_max <- function(lw, zero.policy=TRUE, control=list()) { tol <- control$tol if (is.null(tol)) tol <- .Machine$double.eps^(1/2) stopifnot(is.numeric(tol)) stopifnot(length(tol) == 1) trace <- control$trace if (is.null(trace)) trace <- FALSE stopifnot(is.logical(trace)) stopifnot(length(trace) == 1) # n number of observations n <- as.integer(length(lw$neighbours)) maxiter <- control$maxiter if (is.null(maxiter)) maxiter <- 6L*(n-2L) stopifnot(is.integer(maxiter)) stopifnot(length(maxiter) == 1) if (lw$style != "B" && trace) cat("l_max: weights style is: ", lw$style, "\n") if (!is.symmetric.glist(lw$neighbours, lw$weights) && trace) cat("l_max: asymmetric weights\n") # size of neighbour sets # ni <- card(lw$neighbours) # size of generalised neighbour weights ni <- sapply(lw$weights, sum) # initialize variables constant <- sum(ni^2) nil <- ni/constant denom <- sum(nil) lamlag <- denom/n constant0 <- constant # start while loop keepgoing <- TRUE; k <- 0L while (keepgoing) { k <- k + 1L nik <- lag.listw(lw, nil, zero.policy=zero.policy) sumsqnik <- sum(nik^2) numer <- sum(nik) constant <- sqrt(sumsqnik) if (abs(denom) < .Machine$double.eps^2) { msg <- "divide by zero" keepgoing <- FALSE break } lambda1 <- numer/denom if (trace) cat(k, lambda1, numer, denom, constant, "\n") # if (abs(lamlag - lambda1) < tol) { if (abs(constant0 - constant) < tol) { lambda1 <- constant msg <- "converged" keepgoing <- FALSE break } # lamlag <- lambda1 denom <- numer/constant nil <- nik/constant constant0 <- constant if (k > maxiter) { msg <- "iteration limit exceeded" keepgoing <- FALSE break } } attr(lambda1, "k") <- k attr(lambda1, "msg") <- msg attr(lambda1, "constant") <- constant attr(lambda1, "e1") <- nik lambda1 } lextrB <- function(lw, zero.policy=TRUE, control=list()) { # must be binary listw object stopifnot(lw$style == "B") if (!is.symmetric.glist(lw$neighbours, lw$weights)) stop("lextrB: asymmetric weights\n") tol <- control$tol if (is.null(tol)) tol <- .Machine$double.eps^(1/2) stopifnot(is.numeric(tol)) stopifnot(length(tol) == 1) control$tol <- tol trace <- control$trace if (is.null(trace)) trace <- FALSE control$trace <- trace stopifnot(is.logical(trace)) stopifnot(length(trace) == 1) # n number of observations lwcard <- card(lw$neighbours) n <- as.integer(length(lwcard)) stopifnot(attr(lw$weights, "mode") == "binary") maxiter <- control$maxiter if (is.null(maxiter)) maxiter <- 6L*(n-2L) stopifnot(is.integer(maxiter)) stopifnot(length(maxiter) == 1) control$maxiter <- maxiter useC <- control$useC if (is.null(useC)) useC <- TRUE stopifnot(is.logical(useC)) stopifnot(length(useC) == 1) control$useC <- useC resl1 <- l_max(lw=lw, zero.policy=zero.policy, control=control) if (attr(resl1, "msg") != "converged") warning("lextrB: l_max not converged") resln_2.1 <- lminC_2.1(lw=lw, y=attr(resl1, "e1")/c(resl1), crd=lwcard, zero.policy=zero.policy, control=control) if (attr(resln_2.1, "msg") != "converged") warning("lextrB: 2.1 not converged") resln_2.2 <- lminC_2.2(lw, resln_2.1, crd=lwcard, zero.policy=zero.policy, control=control) lambda.n <- lminC_2.3(lw, resln_2.2, attr(resln_2.1, "sse"), crd=lwcard, zero.policy=zero.policy, control=control) if (attr(lambda.n, "msg") != "converged") warning("lextrB: 2.3 not converged") res <- c(lambda_n=c(lambda.n), lambda_1=c(resl1)) attr(res, "en1") <- cbind(en=attr(lambda.n, "en"), e1=attr(resl1, "e1")/c(resl1)) res } lminC_2.3 <- function(lw, y, sse.new, crd, zero.policy=TRUE, control=list( trace=TRUE, tol=.Machine$double.eps^(1/2), maxiter=6*(length(lw$neighbours)-2), useC=FALSE)) { ## 2-3. updaing Ei with predicted values Ei_hat until a new # sse gets smaller (but it needs to be smaller than 1e-15) # # must be binary listw object stopifnot(lw$style == "B") tol <- control$tol if (is.null(tol)) tol <- .Machine$double.eps^(1/2) trace <- control$trace if (is.null(trace)) trace <- TRUE # n number of observations n <- length(lw$neighbours) maxiter <- control$maxiter if (is.null(maxiter)) maxiter <- 6*(n-2) cy <- lag.listw(lw, y, zero.policy=zero.policy) keepgoing4 <- TRUE iter <- 0L RV.lm.fit <- paste(R.version$major, R.version$minor, sep=".") > "3.0.3" if (!RV.lm.fit) .lm.fit <- function() {} while(keepgoing4) { iter <- iter + 1L if (RV.lm.fit) { lm.y <- .lm.fit(x=cbind(1,cy), y=y)#lm(y ~ cy) } else { lm.y <- lm.fit(x=cbind(1,cy), y=y) } sse.new <- crossprod(lm.y$residuals)#summary(lm.y)$sigma beta <- lm.y$coefficients ### lw$neighbours y cy beta ### n.switch4 y ttol <- tol if (control$useC) { # crd <- card(lw$neighbours) uCres23 <- .Call("lmin23", lw$neighbours, y, cy, crd, beta, ttol, PACKAGE="spdep") y <- uCres23[[1]] n.switch4 <- uCres23[[2]] } else { n.switch4 <- 0L for (i in 1:n) { neis <- lw$neighbours[[i]] if (neis[1] > 0L) { if (abs(y[i] - (beta[1] + beta[2] * cy[i])) > ttol) { tmp <- y[i] y[i] <- beta[1] + beta[2] * cy[i] cy[neis] <- cy[neis] - tmp + y[i] n.switch4 = n.switch4 + 1L } } } } ### y <- y - mean(y) y <- y/sqrt(sum(y^2)) cy <- lag.listw(lw, y, zero.policy=zero.policy) if (trace) cat("Phase 2.3:", iter, n.switch4, sse.new, "\n") if (sse.new <= tol) { msg <- "converged" break#keepgoing4 <- FALSE } if (iter >= maxiter) { msg <- "iteration limit exceeded" break#keepgoing4 <- FALSE } sse.old <- sse.new } lambda.n <- sum(y * cy)/sum(y^2) attr(lambda.n, "iter") <- iter attr(lambda.n, "msg") <- msg attr(lambda.n, "en") <- y lambda.n } lminC_2.2 <- function(lw, res_2.1, crd, zero.policy=TRUE, control=list( trace=TRUE, tol=.Machine$double.eps^(1/2), maxiter=6*(length(lw$neighbours)-2), useC=FALSE)) { ## 2-2. updaing Ei with predicted values Ei_hat based on # slightly different t1 and t2 ## Ei_hat changes with an update of Ei and lag.Ei at every iteration. # So predicted values are calculated using coefficients. # must be binary listw object stopifnot(lw$style == "B") tol <- control$tol if (is.null(tol)) tol <- .Machine$double.eps^(1/2) trace <- control$trace if (is.null(trace)) trace <- TRUE # n number of observations n <- length(lw$neighbours) maxiter <- control$maxiter if (is.null(maxiter)) maxiter <- 6*(n-2) beta <- attr(res_2.1, "lm.y")$coefficients y <- c(res_2.1) cy <- lag.listw(lw, y, zero.policy=zero.policy) ### n.switch3 lw$neighbours y cy beta ### n.switch3 y if (control$useC) { # crd <- card(lw$neighbours) uCres22 <- .Call("lmin22", lw$neighbours, y, cy, crd, beta, PACKAGE="spdep") y <- uCres22[[1]] n.switch3 <- uCres22[[2]] } else { n.switch3 <- 0L for (i in 1:n) { neis <- lw$neighbours[[i]] if (neis[1] > 0L) { t1 <- abs(y[i] - cy[i]) + sum(abs(y[neis] - cy[neis])) t2 <- abs(beta[1] + beta[2] * cy[i] - cy[i]) + sum(abs(y[neis] - (cy[neis] - y[i] + beta[1] + beta[2] * cy[i]))) if (t1 <= t2) { tmp <- y[i] y[i] <- beta[1] + beta[2] * cy[i] cy[neis] <- cy[neis] - tmp + y[i] n.switch3 <- n.switch3 + 1L } } } } ### y <- y - mean(y) y <- y/sqrt(sum(y^2)) if (trace) cat("Phase 2.2:", n.switch3, "\n") y } lminC_2.1 <- function(lw, y, crd, zero.policy=TRUE, control=list( trace=TRUE, tol=.Machine$double.eps^(1/2), maxiter=6*(length(lw$neighbours)-2), useC=FALSE)) { ## 2-1. updaing Ei with lag.Ei based on comparison of test1 (t1) # and test2 (t2) # # must be binary listw object stopifnot(lw$style == "B") tol <- control$tol if (is.null(tol)) tol <- .Machine$double.eps^(1/2) trace <- control$trace if (is.null(trace)) trace <- TRUE # n number of observations n <- length(lw$neighbours) maxiter <- control$maxiter if (is.null(maxiter)) maxiter <- 6*(n-2) y <- y - mean(y) y <- y/(sqrt(sum(y^2))) cy <- lag.listw(lw, y, zero.policy=zero.policy) iter <- 0L # 998 while keepgoing2 <- TRUE sse.old <- n iter <- 0L RV.lm.fit <- paste(R.version$major, R.version$minor, sep=".") > "3.0.3" if (!RV.lm.fit) .lm.fit <- function() {} while (keepgoing2) { iter <- iter + 1L ### lw$neighbours y cy ### n.switch y if (control$useC) { # crd <- card(lw$neighbours) uCres21 <- .Call("lmin21", lw$neighbours, y, cy, crd, PACKAGE="spdep") y <- uCres21[[1]] n.switch <- uCres21[[2]] } else { n.switch <- 0L for (i in 1:n) { neis <- lw$neighbours[[i]] if (neis[1] > 0L) { t1 <- abs(y[i] - cy[i]) + sum(abs(y[neis] - cy[neis])) t2 <- abs(-2 * cy[i]) + sum(abs(y[neis] - (cy[neis] - y[i] - cy[i]))) if (t1 <= t2) { tmp <- y[i] y[i] <- cy[i] * -1 # update Ei with lag.Ei cy[neis] <- cy[neis] - tmp + y[i] # update lag.Ei with replacing old Ei with new Ei n.switch <- n.switch + 1L } } } ### } y <- y - mean(y) y <- y/sqrt(sum(y^2)) cy <- lag.listw(lw, y, zero.policy=zero.policy) if (RV.lm.fit) { lm.y <- .lm.fit(x=cbind(1,cy), y=y)#lm(y ~ cy) } else { lm.y <- lm.fit(x=cbind(1,cy), y=y) } # lm.y <- .lm.fit(x=cbind(1,cy), y=y)#lm(y ~ cy) sse.new <- crossprod(lm.y$residuals)#summary(lm.y)$sigma if (iter > maxiter) { msg <- "iteration limit exceeded" break #keepgoing2 <- FALSE } if (sse.new < sse.old) { # Dan used sum of squares of errors. Maybe need to consider to replace sigma with SSE if this code produces a different outcome if (trace) cat("Phase 2.1:", iter, n.switch, sse.old, sse.new, "\n") sse.old <- sse.new } else { msg <- "converged" break #keepgoing2 <- FALSE } } attr(y, "iter") <- iter attr(y, "msg") <- msg attr(y, "sse") <- sse.new attr(y, "lm.y") <- lm.y y } spdep/R/nbcosts.R0000644000176200001440000000645312431373216013376 0ustar liggesusersnbcosts <- function(nb, data, method=c("euclidean", "maximum", "manhattan", "canberra", "binary", "minkowski", "mahalanobis"), p=2, cov, inverted=FALSE) { # if ((!require(parallel)) | (length(nb)<300)) # clist <- lapply(1:length(nb), function(i) # nbcost(data, i, nb[[i]], method, # p, cov, inverted)) # else { # if (.Platform$OS.type == "windows") { # cl <- makeCluster(getOption("cl.cores", 2)) # clusterEvalQ(cl, library(spdep)) if (any(card(nb) == 0L)) stop("nbcosts: no-neighbour nodes") nc <- n.comp.nb(nb)$nc if (nc > 1) stop("nbcosts:", nc, "disjoint connected subgraphs") if (missing(cov)) cov <- NULL cores <- get.coresOption() if (is.null(cores)) { parallel <- "no" } else { parallel <- ifelse (get.mcOption(), "multicore", "snow") } ncpus <- ifelse(is.null(cores), 1L, cores) cl <- NULL if (parallel == "snow") { cl <- get.ClusterOption() if (is.null(cl)) { parallel <- "no" warning("no cluster in ClusterOption, parallel set to no") } } if (length(nb)<300) parallel <- "no" if (parallel == "snow") { if (requireNamespace("parallel", quietly = TRUE)) { # require(parallel) sI <- parallel::splitIndices(length(nb), length(cl)) env <- new.env() assign("nb", nb, envir=env) assign("data", data, envir=env) assign("method", method, envir=env) assign("p", p, envir=env) assign("cov", cov, envir=env) assign("inverted", inverted, envir=env) parallel::clusterExport(cl, varlist=c("nb", "data", "method", "p", "cov", "inverted"), envir=env) out <- parallel::clusterApply(cl, x = sI, fun=lapply, function(i) { nbcost(data, i, nb[[i]], method, p, cov, inverted)}) clist <- do.call("c", out) rm(env) } else { stop("parallel not available") } } else if (parallel == "multicore") { if (requireNamespace("parallel", quietly = TRUE)) { # require(parallel) sI <- parallel::splitIndices(length(nb), ncpus) out <- parallel::mclapply(sI, FUN=lapply, function(i) {nbcost(data, i, nb[[i]], method, p, cov, inverted)}, mc.cores=ncpus) clist <- do.call("c", out) } else { stop("parallel not available") } } else { clist <- lapply(1:length(nb), function(i) nbcost(data, i, nb[[i]], method, p, cov, inverted)) } attr(clist, "call") <- match.call() attr(clist, "class") <- "nbdist" return(clist) } nbcost <- function(data, id, id.neigh, method=c("euclidean", "maximum", "manhattan", "canberra", "binary", "minkowski", "mahalanobis"), p=2, cov, inverted=FALSE) { if (is.function(method)) return(method(data, id, id.neigh)) else { method <- match.arg(method) data <- as.matrix(data) if (method=="mahalanobis") return(mahalanobis(data[id.neigh,,drop=FALSE], data[id,,drop=FALSE], cov, inverted)) else return(dist(rbind(data[id,,drop=FALSE], data[id.neigh,,drop=FALSE]), method=method, p=p)[1:length(id.neigh)]) } } spdep/R/rotation.R0000644000176200001440000000042611716033157013556 0ustar liggesusers`Rotation` <- function(xy, angle) { xy<-as.matrix(xy) ### Find cos and sin of the angle cos.angle <- cos(angle) sin.angle <- sin(angle) ### Rotate the set of coordinates xy.rot<-xy %*% t( matrix(c(cos.angle,sin.angle, -sin.angle, cos.angle), 2,2) ) return(xy.rot) } spdep/R/jc.R0000644000176200001440000002330011716033157012307 0ustar liggesusers# Copyright 2001-6 by Roger Bivand, bugfix large n Ronnie Babigumira # joincount <- function(dums, listw) { nc <- which(colSums(dums) > 1) # n <- length(listw$neighbours) cardnb <- card(listw$neighbours) res <- as.numeric(rep(0, ncol(dums))) for (lev in nc) { res[lev] <- .Call("jcintern", listw$neighbours, listw$weights, as.integer(dums[,lev]), as.integer(cardnb), PACKAGE="spdep") } res } joincount.test <- function(fx, listw, zero.policy=NULL, alternative="greater", #adjust.n=TRUE, spChk=NULL, adjust.n=TRUE) { if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) alternative <- match.arg(alternative, c("greater", "less", "two.sided")) if (!inherits(listw, "listw")) stop(paste(deparse(substitute(listw)), "is not a listw object")) if (!is.factor(fx)) stop(paste(deparse(substitute(x)), "is not a factor")) if (any(is.na(fx))) stop("NA in factor") n <- length(listw$neighbours) if (n != length(fx)) stop("objects of different length") cards <- card(listw$neighbours) if (!zero.policy && any(cards == 0)) stop("regions with no neighbours found") if (is.null(spChk)) spChk <- get.spChkOption() if (spChk && !chkIDs(fx, listw)) stop("Check of data and weights ID integrity failed") wc <- spweights.constants(listw, zero.policy=zero.policy, adjust.n=adjust.n) S02 <- wc$S0*wc$S0 ff <- ~ fx - 1 dums <- model.matrix(ff, model.frame(ff)) BB <- joincount(dums, listw) nBB <- length(BB) if (nBB < 1) stop("non-positive BB length") res <- vector(mode="list", length=nBB) tab <- table(fx) BB5 <- 0.5 * BB ntab <- as.numeric(as.vector(tab)) # comment and bug report by Tomoki NAKAYA about no-neighbour observations # if (adjust.n) { N <- wc$n # } else { # N <- n # wc$n1 <- N-1 # wc$n2 <- N-2 # wc$n3 <- N-3 # } Ejc <- (wc$S0*(ntab*(ntab-1))) / (2*N*wc$n1) Vjc <- (wc$S1*(ntab*(ntab-1))) / (N*wc$n1) Vjc <- Vjc + (((wc$S2 - 2*wc$S1)*ntab*(ntab-1)*(ntab-2)) / (N*wc$n1*wc$n2)) Vjc <- Vjc + (((S02 + wc$S1 - wc$S2)*ntab*(ntab-1)*(ntab-2)* (ntab-3)) / (N*wc$n1*wc$n2*wc$n3)) Vjc <- (0.25 * Vjc) - Ejc^2 for (i in 1:nBB) { estimate <- c(BB5[i], Ejc[i], Vjc[i]) names(estimate) <- c("Same colour statistic", "Expectation", "Variance") statistic <- (BB5[i] - Ejc[i]) / sqrt(Vjc[i]) names(statistic) <- paste("Std. deviate for", names(tab)[i]) p.value <- NA if (is.finite(statistic)) { if (alternative == "two.sided") p.value <- 2 * pnorm(abs(statistic), lower.tail=FALSE) else if (alternative == "greater") p.value <- pnorm(statistic, lower.tail=FALSE) else p.value <- pnorm(statistic) if (!is.finite(p.value) || p.value < 0 || p.value > 1) warning("Out-of-range p-value: reconsider test arguments") } method <- "Join count test under nonfree sampling" data.name <- paste(deparse(substitute(fx)), "\nweights:", deparse(substitute(listw)), "\n") res[[i]] <- list(statistic=statistic, p.value=p.value, estimate=estimate, method=method, alternative=alternative, data.name=data.name) class(res[[i]]) <- "htest" } class(res) <- "jclist" res } print.jclist <- function(x, ...) { for (i in seq(along=x)) print(x[[i]], ...) invisible(x) } joincount.mc <- function(fx, listw, nsim, zero.policy=FALSE, alternative="greater", spChk=NULL) { alternative <- match.arg(alternative, c("greater", "less")) if(!inherits(listw, "listw")) stop(paste(deparse(substitute(listw)), "is not a listw object")) if(!is.factor(fx)) stop(paste(deparse(substitute(fx)), "is not a factor")) if(missing(nsim)) stop("nsim must be given") if (any(is.na(fx))) stop("NA in factor") n <- length(listw$neighbours) if (n != length(fx)) stop("objects of different length") cards <- card(listw$neighbours) if (!zero.policy && any(cards == 0)) stop("regions with no neighbours found") if (is.null(spChk)) spChk <- get.spChkOption() if (spChk && !chkIDs(fx, listw)) stop("Check of data and weights ID integrity failed") gamres <- suppressWarnings(nsim > gamma(n + 1)) if (gamres) stop("nsim too large for this number of observations") ff <- ~ fx - 1 dums <- model.matrix(ff, model.frame(ff)) nc <- ncol(dums) if (nc < 1) stop("non-positive nc") if (nsim < 1) stop("non-positive nsim") res <- matrix(0, nrow=nsim+1, ncol=nc) res[nsim+1,] <- 0.5 * joincount(dums, listw) tab <- table(fx) for (i in 1:nsim) { fxi <- sample(fx) ff <- ~ fxi - 1 dums <- model.matrix(ff, model.frame(ff)) res[i,] <- 0.5 * joincount(dums, listw) } rankres <- apply(res, 2, rank) xrank <- rankres[nrow(rankres),] lres <- vector(mode="list", length=nc) for (i in 1:nc) { statistic <- res[nrow(res), i] names(statistic) <- paste("Join-count statistic for", names(tab)[i]) parameter <- xrank[i] names(parameter) <- "rank of observed statistic" diff <- nsim - xrank[i] diff <- ifelse(diff > 0, diff, 0) if (alternative == "less") pval <- punif((diff + 1)/(nsim + 1), lower.tail=FALSE) else if (alternative == "greater") pval <- punif((diff + 1)/(nsim + 1)) if (!is.finite(pval) || pval < 0 || pval > 1) warning("Out-of-range p-value: reconsider test arguments") method <- "Monte-Carlo simulation of join-count statistic" data.name <- paste(deparse(substitute(fx)), "\nweights:", deparse(substitute(listw)), "\nnumber of simulations + 1:", nsim+1, "\n") estimate <- c(mean(res[-(nrow(res)), i]), var(res[-(nrow(res)), i])) names(estimate) <- c("mean of simulation", "variance of simulation") lres[[i]] <- list(statistic=statistic, parameter=parameter, method=method, data.name=data.name, p.value=pval, alternative=alternative, estimate=estimate, res=res[,i]) class(lres[[i]]) <- c("htest", "mc.sim") } class(lres) <- "jclist" lres } joincount.multi <- function(fx, listw, zero.policy=FALSE, #adjust.n=TRUE, spChk=NULL, adjust.n=TRUE) { if(!inherits(listw, "listw")) stop(paste(deparse(substitute(listw)), "is not a listw object")) if(!is.factor(fx)) stop(paste(deparse(substitute(fx)), "is not a factor")) if (any(is.na(fx))) stop("NA in factor") n <- length(listw$neighbours) if (n != length(fx)) stop("objects of different length") cards <- card(listw$neighbours) if (!zero.policy && any(cards == 0)) stop("regions with no neighbours found") if (is.null(spChk)) spChk <- get.spChkOption() if (spChk && !chkIDs(fx, listw)) stop("Check of data and weights ID integrity failed") ifx <- as.integer(fx) k <- length(levels(fx)) if (k < 2) stop("must be at least two levels in factor") sn <- listw2sn(listw) y <- factor(paste(ifx[sn[,1]], ":", ifx[sn[,2]], sep=""), levels=as.vector(outer(1:k, 1:k, FUN=function(X,Y) paste(X,Y,sep=":")))) res <- matrix(tapply(sn[,3], y, sum), ncol=k)/2 res[is.na(res)] <- 0 rownames(res) <- colnames(res) <- levels(fx) tab <- table(fx) ntab <- as.numeric(as.vector(tab)) wc <- spweights.constants(listw, zero.policy=zero.policy, adjust.n=adjust.n) # comment and bug report by Tomoki NAKAYA about no-neighbour observations # if (adjust.n) { N <- wc$n # } else { # N <- n # wc$n1 <- N-1 # wc$n2 <- N-2 # wc$n3 <- N-3 # } S02 <- wc$S0*wc$S0 Ejc <- (wc$S0*(ntab*(ntab-1))) / (2*N*wc$n1) Vjc <- (wc$S1*(ntab*(ntab-1))) / (N*wc$n1) Vjc <- Vjc + (((wc$S2 - 2*wc$S1)*ntab*(ntab-1)*(ntab-2)) / (N*wc$n1*wc$n2)) Vjc <- Vjc + (((S02 + wc$S1 - wc$S2)*ntab*(ntab-1)*(ntab-2)* (ntab-3)) / (N*wc$n1*wc$n2*wc$n3)) Vjc <- (0.25 * Vjc) - Ejc^2 nrns <- function(x, op="*") { k <- length(x) res <- numeric(((k^2) - k)/2) ii <- 1 for (i in 2:k) { for (j in 1:(i-1)) { if (is.character(op) && op == "*") { res[ii] <- x[i]*x[j] } else if (is.character(op) && op == "+") { res[ii] <- x[i]+x[j] } ii <- ii+1 } } res } ldiag <- numeric(((k^2) - k)/2) diffcolnames <- character(((k^2) - k)/2) ii <- 1 for (i in 2:k) { for (j in 1:(i-1)) { ldiag[ii] <- res[i,j] + res[j,i] diffcolnames[ii] <- paste(levels(fx)[i], levels(fx)[j], sep=":") ii <- ii+1 } } Exp <- (wc$S0*(nrns(ntab, op="*"))) / (N*wc$n1) Var <- (2*wc$S1*nrns(ntab, op="*"))/(N*wc$n1) Var <- Var + (((wc$S2 - 2*wc$S1)*nrns(ntab, op="*")* (nrns(ntab, op="+")-2))/(N*wc$n1*wc$n2)) Var <- Var + ((4*(S02 + wc$S1 - wc$S2)*nrns((ntab*(ntab-1)), op="*")) / (N*wc$n1*wc$n2*wc$n3)) Var <- (0.25 * Var) - Exp^2 Jtot <- sum(ldiag) JtotExp <- sum(Exp) Jvar <- ((wc$S2/(N*wc$n1))-((4*(S02 + wc$S1 - wc$S2)*wc$n1) / (N*wc$n1*wc$n2*wc$n3)))*sum(nrns(ntab, op="*")) Jvar <- Jvar + 4*(((wc$S1 - wc$S2)/(N*wc$n1*wc$n2*wc$n3)) + ((2*S02*(2*n-3))/((N*wc$n1)*(N*wc$n1*wc$n2*wc$n3))))* sum(nrns(ntab^2, op="*")) if(k>2) { ntnsnr <- as.numeric(0) for (r in 1:(k-2)) { for (s in (r+1):(k-1)) { for (t in (s+1):(k)) { ntnsnr <- ntnsnr + ntab[r]*ntab[s]*ntab[t] } } } Jvar <- Jvar + (((2*wc$S1 - 5*wc$S2)/(N*wc$n1*wc$n2))+ ((12*(S02 + wc$S1 - wc$S2))/(N*wc$n1*wc$n2*wc$n3))+ ((8*S02)/((N*wc$n1*wc$n2)*wc$n1)))*ntnsnr } if(k>3) { nuntnsnr <- as.numeric(0) for (r in 1:(k-3)) { for (s in (r+1):(k-2)) { for (t in (s+1):(k-1)) { for (u in (t+1):(k)) { nuntnsnr <- nuntnsnr + ntab[r]*ntab[s]*ntab[t]*ntab[u] } } } } Jvar <- Jvar - 8*(((wc$S1 - wc$S2)/(N*wc$n1*wc$n2*wc$n3))+ ((2*S02*(2*N-3))/((N*wc$n1)*(N*wc$n1*wc$n2*wc$n3))))*nuntnsnr } Jvar <- (0.25 * Jvar) statistic <- (c(diag(res), ldiag, Jtot) - c(Ejc, Exp, JtotExp)) / sqrt(c(Vjc, Var, Jvar)) lres <- cbind(c(diag(res), ldiag, Jtot), c(Ejc, Exp, JtotExp), c(Vjc, Var, Jvar), statistic) colnames(lres) <- c("Joincount", "Expected", "Variance", "z-value") rownames(lres) <- c(paste(levels(fx), ":", levels(fx), sep=""), diffcolnames, "Jtot") class(lres) <- c("jcmulti", "matrix") lres } print.jcmulti <- function(x, ...) { printCoefmat(x, ...) } spdep/R/summary.nb.R0000644000176200001440000001053712210603042014000 0ustar liggesusers# Copyright 2001-2010 by Roger Bivand # Upgrade to sp classes February 2007 # summary.nb <- function(object, coords=NULL, longlat=NULL, scale=1, ...) { nb <- object if (!inherits(nb, "nb")) stop("Not a neighbours list") c.nb <- card(nb) n.nb <- length(nb) regids <- attr(nb, "region.id") if(is.null(regids)) regids <- as.character(1:n.nb) print.nb(object) cat("Link number distribution:\n") print(table(c.nb, deparse.level=0)) if(any(c.nb > 0)) { min.nb <- min(c.nb[c.nb > 0]) cat(length(c.nb[c.nb == min.nb]), " least connected region", ifelse(length(c.nb[c.nb == min.nb]) < 2L, "", "s"), ":\n", paste(regids[which(c.nb == min.nb)], collapse=" "), " with ", min.nb, " link", ifelse(min.nb < 2L, "", "s"), "\n", sep="") max.nb <- max(c.nb) cat(length(c.nb[c.nb == max.nb]), " most connected region", ifelse(length(c.nb[c.nb == max.nb]) < 2L, "", "s"), ":\n", paste(regids[which(c.nb == max.nb)], collapse=" "), " with ", max.nb, " link", ifelse(max.nb < 2L, "", "s"), "\n", sep="") } if(!is.null(coords)) { if (inherits(coords, "SpatialPoints")) { if ((is.null(longlat) || !is.logical(longlat)) && !is.na(is.projected(coords)) && !is.projected(coords)) { longlat <- TRUE } else longlat <- FALSE coords <- coordinates(coords) } else if (is.null(longlat) || !is.logical(longlat)) longlat <- FALSE if (!is.matrix(coords)) stop("Data not in matrix form") if (any(is.na(coords))) stop("Data include NAs") stopifnot(ncol(coords) == 2) if (longlat) { bb <- bbox(coords) if (!.ll_sanity(bb)) warning("Coordinates are not geographical: longlat argument wrong") } np <- nrow(coords) if(np != n.nb) stop("Number of coords not equal to number of regions") dimension <- ncol(coords) dlist <- .Call("nbdists", nb, as.matrix(coords), as.integer(np), as.integer(dimension), as.integer(longlat), PACKAGE="spdep")[[1]] cat("Summary of link distances:\n") print(summary(unlist(dlist))) stem(unlist(dlist), scale=scale) } } print.nb <- function(x, ...) { nb <- x if (!inherits(nb, "nb")) stop("Not a neighbours list") c.nb <- card(nb) n.nb <- length(nb) regids <- attr(nb, "region.id") if(is.null(regids)) regids <- as.character(1:n.nb) cat("Neighbour list object:\n") cat("Number of regions:", n.nb, "\n") cat("Number of nonzero links:", sum(c.nb), "\n") cat("Percentage nonzero weights:", (100*sum(c.nb))/(n.nb^2), "\n") cat("Average number of links:", mean(c.nb), "\n") if(any(c.nb == 0)) cat(length(c.nb[c.nb == 0]), " region", ifelse(length(c.nb[c.nb == 0]) < 2L, "", "s"), " with no links:\n", paste(regids[which(c.nb == 0)], collapse=" "), "\n", sep="") res <- is.symmetric.nb(nb, verbose=FALSE) if (!res) cat("Non-symmetric neighbours list\n") invisible(x) } summary.listw <- function(object, coords=NULL, longlat=FALSE, zero.policy=NULL, scale=1, ...) { if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) if (any(card(object$neighbours) == 0) && !zero.policy) stop("regions with no neighbours found, use zero.policy=TRUE") cat("Characteristics of weights list object:\n") summary(object$neighbours, coords=coords, longlat=longlat, scale=scale, ...) style <- object$style cat(paste("\nWeights style:", style, "\n")) if (is.na(style)) style = "NA" cat("Weights constants summary:\n") print(data.frame(rbind(unlist(spweights.constants(object, zero.policy=zero.policy))[c(1, 5:8)]), row.names=style)) } print.listw <- function(x, zero.policy=NULL, ...) { if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) if (any(card(x$neighbours) == 0) && !zero.policy) stop("regions with no neighbours found, use zero.policy=TRUE") cat("Characteristics of weights list object:\n") print.nb(x$neighbours, ...) style <- x$style cat(paste("\nWeights style:", style, "\n")) if (is.na(style)) style = "NA" cat("Weights constants summary:\n") df <- data.frame(rbind(unlist(spweights.constants(x, zero.policy=zero.policy))[c(1, 5:8)]), row.names=style) print(df) invisible(x) } spdep/R/lee.test.R0000644000176200001440000000765012441320252013437 0ustar liggesusers# Copyright 2014 by Roger Bivand , Virgilio Gómez-Rubio # lee.test <- function(x, y, listw, #randomisation=TRUE, zero.policy=NULL, alternative="greater", #rank = FALSE, na.action=na.fail, spChk=NULL#, #adjust.n=TRUE ) { alternative <- match.arg(alternative, c("greater", "less", "two.sided")) if (!inherits(listw, "listw")) stop(paste(deparse(substitute(listw)), "is not a listw object")) if (!is.numeric(x)) stop(paste(deparse(substitute(x)), "is not a numeric vector")) if (!is.numeric(y)) stop(paste(deparse(substitute(y)), "is not a numeric vector")) if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) if (is.null(spChk)) spChk <- get.spChkOption() if (spChk && !chkIDs(x, listw) && !chkIDs(y, listw)) stop("Check of data and weights ID integrity failed") # if (any(is.na(x))) stop("NA in X") xname <- deparse(substitute(x)) yname <- deparse(substitute(y)) wname <- deparse(substitute(listw)) NAOK <- deparse(substitute(na.action)) == "na.pass" #Check NA's in both vectors na.act <- attr(na.action(cbind(x,y)), "na.action") x[na.act]<-NA y[na.act]<-NA x<-na.action(x) y<-na.action(y) if (!is.null(na.act)) { subset <- !(1:length(listw$neighbours) %in% na.act) listw <- subset(listw, subset, zero.policy=zero.policy) } n <- length(listw$neighbours) if (n != length(x)) stop("objects of different length") # wc <- spweights.constants(listw, zero.policy=zero.policy, # adjust.n=adjust.n) # S02 <- wc$S0*wc$S0 S2<-sum ( (unlist(lapply(listw$weights, sum)))^2 ) res <- lee(x, y, listw, n, S2, zero.policy=zero.policy, NAOK=NAOK) # I <- res$I # K <- res$K L<-res$L # if (rank) K <- (3*(3*wc$n^2 -7))/(5*(wc$n^2 - 1)) # EI <- (-1) / wc$n1 #Compute asymptotic mean EI and variance VI W <- as(listw, "CsparseMatrix") #See Lee (2004) dEG<-EGamma(x, y, W) dVarG<-VarGamma(x, y, W) EL<-dEG$EGammaon+dEG$EGammaoff VL<-dVarG$varGammaon+dVarG$varGammaoff+2*dVarG$varGammaonoff # if(randomisation) { # VI <- wc$n*(wc$S1*(wc$nn - 3*wc$n + 3) - wc$n*wc$S2 + 3*S02) # tmp <- K*(wc$S1*(wc$nn - wc$n) - 2*wc$n*wc$S2 + 6*S02) # if (tmp > VI) warning("Kurtosis overflow,\ndistribution of variable does not meet test assumptions") # VI <- (VI - tmp) / (wc$n1*wc$n2*wc$n3*S02) # tmp <- (VI - EI^2) # if (tmp < 0) warning("Negative variance,\ndistribution of variable does not meet test assumptions") # VI <- tmp # } else { # VI <- (wc$nn*wc$S1 - wc$n*wc$S2 + 3*S02) / (S02*(wc$nn - 1)) # tmp <- (VI - EI^2) # if (tmp < 0) warning("Negative variance,\ndistribution of variable does not meet test assumptions") # VI <- tmp # } ZL <- (L - EL) / sqrt(VL) statistic <- ZL names(statistic) <- "Lee's L statistic standard deviate" if (alternative == "two.sided") PrL <- 2 * pnorm(abs(ZL), lower.tail=FALSE) else if (alternative == "greater") PrL <- pnorm(ZL, lower.tail=FALSE) else PrL <- pnorm(ZL) if (!is.finite(PrL) || PrL < 0 || PrL > 1) warning("Out-of-range p-value: reconsider test arguments") vec <- c(L, EL, VL) names(vec) <- c("Lee's L statistic", "Expectation", "Variance") # method <- paste("Lee's L test under", ifelse(randomisation, # "randomisation", "normality")) method <- "Lee's L statistic randomisation" # data.name <- paste(xname, ifelse(rank, # "using rank correction",""), "\nweights:", # wname, ifelse(is.null(na.act), "", paste("\nomitted:", # paste(na.act, collapse=", "))), "\n") data.name <- paste(xname, ", ", yname, "\nweights:", wname, ifelse(is.null(na.act), "", paste("\nomitted:", paste(na.act, collapse=", "))), "\n") res <- list(statistic=statistic, p.value=PrL, estimate=vec, alternative=alternative, method=method, data.name=data.name) if (!is.null(na.act)) attr(res, "na.action") <- na.act class(res) <- "htest" res } spdep/R/nb2listw.R0000644000176200001440000002317412441320614013461 0ustar liggesusers# Copyright 2001-10 by Roger S. Bivand and Virgilio Gomez-Rubio # nb2listw <- function(neighbours, glist=NULL, style="W", zero.policy=NULL) { if(!inherits(neighbours, "nb")) stop("Not a neighbours list") if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) if (!(style %in% c("W", "B", "C", "S", "U", "minmax"))) stop(paste("Style", style, "invalid")) n <- length(neighbours) if (n < 1) stop("non-positive number of entities") cardnb <- card(neighbours) if (!zero.policy) if (any(cardnb == 0)) stop("Empty neighbour sets found") vlist <- vector(mode="list", length=n) if (is.null(glist)) { glist <- vector(mode="list", length=n) for (i in 1:n) if(cardnb[i] > 0) { glist[[i]] <- rep(1, length=cardnb[i]) mode(glist[[i]]) <- "numeric" } attr(vlist, "mode") <- "binary" } else { if (length(glist) != n) stop("glist wrong length") if (any(cardnb != unlist(lapply(glist, length)))) stop("neighbours and glist do not conform") if (any(is.na(unlist(glist)))) stop ("NAs in general weights list") if (any(sapply(glist, function(x) isTRUE(all.equal(sum(x), 0))))) warning("zero sum general weights") glist <- lapply(glist, function(x) {mode(x) <- "numeric"; x}) attr(vlist, "mode") <- "general" attr(vlist, "glist") <- deparse(substitute(glist)) attr(vlist, "glistsym") <- is.symmetric.glist(neighbours, glist) } attr(vlist, as.character(style)) <- TRUE if (zero.policy) { eff.n <- n - length(which(cardnb == 0)) if (eff.n < 1) stop("No valid observations") } else eff.n <- n if (style == "W") { d <- unlist(lapply(glist, sum)) for (i in 1:n) { if (cardnb[i] > 0) { if (d[i] > 0) vlist[[i]] <- (1/d[i]) * glist[[i]] else vlist[[i]] <- 0 * glist[[i]] } } attr(vlist, "comp") <- list(d=d) } if (style == "B") { for (i in 1:n) { if (cardnb[i] > 0) vlist[[i]] <- glist[[i]] } } if (style == "C" || style == "U" || style == "minmax") { D <- sum(unlist(glist)) if (is.na(D) || !(D > 0)) stop(paste("Failure in sum of weights:", D)) for (i in 1:n) { if (cardnb[i] > 0) { if (style == "C") vlist[[i]] <- (eff.n/D) * glist[[i]] else if(style == "U") vlist[[i]] <- (1/D) * glist[[i]] else vlist[[i]] <- glist[[i]] } } } if (style == "S") { glist2 <- lapply(glist, function(x) x^2) q <- sqrt(unlist(lapply(glist2, sum))) for (i in 1:n) { if (cardnb[i] > 0) { if (q[i] > 0) glist[[i]] <- (1/q[i]) * glist[[i]] else glist[[i]] <- 0 * glist[[i]] } } Q <- sum(unlist(glist)) if (is.na(Q) || !(Q > 0)) stop(paste("Failure in sum of intermediate weights:", Q)) for (i in 1:n) { if (cardnb[i] > 0) vlist[[i]] <- (eff.n/Q) * glist[[i]] } attr(vlist, "comp") <- list(q=q, Q=Q, eff.n=eff.n) } style <- style if (!zero.policy) if (any(is.na(unlist(vlist)))) stop ("NAs in coding scheme weights list") if (style == "minmax") { res <- list(style=style, neighbours=neighbours, weights=vlist) class(res) <- c("listw", "nb") mm <- minmax.listw(res) vlist <- lapply(vlist, function(x) (1/c(mm)) * x) } res <- list(style=style, neighbours=neighbours, weights=vlist) class(res) <- c("listw", "nb") attr(res, "region.id") <- attr(neighbours, "region.id") attr(res, "call") <- match.call() if (!is.null(attr(neighbours, "GeoDa"))) attr(res, "GeoDa") <- attr(neighbours, "GeoDa") if (!is.null(attr(res, "GeoDa")$dist)) attr(res, "GeoDa")$dist <- NULL res } can.be.simmed <- function(listw) { res <- is.symmetric.nb(listw$neighbours, FALSE) if (res) { if (attr(listw$weights, "mode") == "general") res <- attr(listw$weights, "glistsym") } else return(res) res } similar.listw_Matrix <- function(listw) { nbsym <- attr(listw$neighbours, "sym") if(is.null(nbsym)) nbsym <- is.symmetric.nb(listw$neighbours, FALSE) if (!nbsym) stop("Only symmetric nb can yield similar to symmetric weights") if (attr(listw$weights, "mode") == "general") if (!attr(listw$weights, "glistsym")) stop("General weights must be symmetric") n <- length(listw$neighbours) if (n < 1) stop("non-positive number of entities") ww <- as(listw, "CsparseMatrix") if (listw$style == "W") { d <- attr(listw$weights, "comp")$d d1 <- 1/(sqrt(d)) dd <- as(as(Diagonal(x=d), "symmetricMatrix"), "CsparseMatrix") dd1 <- as(as(Diagonal(x=d1), "symmetricMatrix"), "CsparseMatrix") ww1 <- dd %*% ww res <- dd1 %*% ww1 %*% dd1 } else if (listw$style == "S") { q <- attr(listw$weights, "comp")$q Q <- attr(listw$weights, "comp")$Q eff.n <- attr(listw$weights, "comp")$eff.n q1 <- 1/(sqrt(q)) qq <- as(as(Diagonal(x=q), "symmetricMatrix"), "CsparseMatrix") qq1 <- as(as(Diagonal(x=q1), "symmetricMatrix"), "CsparseMatrix") ww0 <- (Q/eff.n) * ww ww1 <- qq %*% ww0 sim0 <- qq1 %*% ww1 %*% qq1 res <- (eff.n/Q) * sim0 } else stop("Conversion not suitable for this weights style") res } similar.listw_spam <- function(listw) { if (requireNamespace("spam", quietly = TRUE)) { # if (!require(spam)) stop("spam not available") nbsym <- attr(listw$neighbours, "sym") if(is.null(nbsym)) nbsym <- is.symmetric.nb(listw$neighbours, FALSE) if (!nbsym) stop("Only symmetric nb can yield similar to symmetric weights") if (attr(listw$weights, "mode") == "general") if (!attr(listw$weights, "glistsym")) stop("General weights must be symmetric") n <- length(listw$neighbours) if (n < 1) stop("non-positive number of entities") sww <- as.spam.listw(listw) if (listw$style == "W") { sd <- attr(listw$weights, "comp")$d sd1 <- 1/(sqrt(sd)) if (any(!is.finite(sd1))) { sd1[!is.finite(sd1)] <- 0 warning("non-finite inverse diagonal values set to zero") } sdd <- spam::diag.spam(sd, n, n) sdd1 <- spam::diag.spam(sd1, n, n) sww1 <- sdd %*% sww res <- sdd1 %*% sww1 %*% sdd1 } else if (listw$style == "S") { q <- attr(listw$weights, "comp")$q Q <- attr(listw$weights, "comp")$Q eff.n <- attr(listw$weights, "comp")$eff.n q1 <- 1/(sqrt(q)) if (any(!is.finite(q1))) { sd1[!is.finite(q1)] <- 0 warning("non-finite inverse diagonal values set to zero") } qq <- spam::diag.spam(q, n, n) qq1 <- spam::diag.spam(q1, n, n) ww0 <- (Q/eff.n) * sww ww1 <- qq %*% ww0 sim0 <- qq1 %*% ww1 %*% qq1 res <- (eff.n/Q) * sim0 } else stop("Conversion not suitable for this weights style") return(res) } else { stop("spam not available") } } similar.listw <- function(listw) { nbsym <- attr(listw$neighbours, "sym") if(is.null(nbsym)) nbsym <- is.symmetric.nb(listw$neighbours, FALSE) if (!nbsym) stop("Only symmetric nb can yield similar to symmetric weights") if (attr(listw$weights, "mode") == "general") if (!attr(listw$weights, "glistsym")) stop("General weights must be symmetric") n <- length(listw$neighbours) if (n < 1) stop("non-positive number of entities") cardnb <- card(listw$neighbours) if (listw$style == "W") { d <- attr(listw$weights, "comp")$d glist <- vector(mode="list", length=n) for (i in 1:n) glist[[i]] <- d[i] * listw$weights[[i]] sd1 <- 1/sqrt(d) for (i in 1:n) { inb <- listw$neighbours[[i]] icd <- cardnb[i] if (icd > 0) { for (j in 1:icd) { glist[[i]][j] <- sd1[i] * glist[[i]][j] * sd1[inb[j]] } } } res <- listw res$weights <- glist attr(res$weights, "mode") <- "sim" attr(res$weights, "W") <- TRUE attr(res$weights, "comp") <- attr(listw$weights, "comp") res$style <- "W:sim" } else if (listw$style == "S") { q <- attr(listw$weights, "comp")$q Q <- attr(listw$weights, "comp")$Q eff.n <- attr(listw$weights, "comp")$eff.n glist <- vector(mode="list", length=n) for (i in 1:n) { glist[[i]] <- (Q/eff.n) * listw$weights[[i]] glist[[i]] <- q[i] * glist[[i]] } sq1 <- 1/sqrt(q) for (i in 1:n) { inb <- listw$neighbours[[i]] icd <- cardnb[i] if (icd > 0) { for (j in 1:icd) { glist[[i]][j] <- sq1[i] * glist[[i]][j] * sq1[inb[j]] } glist[[i]] <- (eff.n/Q) * glist[[i]] } } res <- listw res$weights <- glist attr(res$weights, "mode") <- "sim" attr(res$weights, "S") <- TRUE attr(res$weights, "comp") <- attr(listw$weights, "comp") res$style <- "S:sim" } else stop("Conversion not suitable for this weights style") sym_out <- is.symmetric.glist(res$neighbours, res$weights) if (!sym_out) { if (attr(sym_out, "d") < .Machine$double.eps ^ 0.5) res <- listw2U(res) else stop("defective similarity") } res } #This code converts a "nb" object into a list of three elements #(adj, weights, num) in the format required by WinBUGS # #The weights assigned are 1's always, which is the standard for #most models nb2WB <- function(nb) { # class to inherits Jari Oksanen 080603 if (!inherits(nb, "nb")) stop("not a neighbours list") num <- card(nb) if (any(num == 0)) nb[num == 0] <- NULL adj <- unlist(nb) weights <- rep(1, sum(num)) list(adj=adj, weights=weights, num=num) } listw2WB <- function(listw) { if (!inherits(listw, "listw")) stop("not listw class object") num <- card(listw$neighbours) if (any(num == 0)) listw$neighbours[num == 0] <- NULL adj <- unlist(listw$neighbours) weights <- unlist(listw$weights) list(adj=adj, weights=weights, num=num) } minmax.listw <- function(listw) { W <- as(listw, "CsparseMatrix") rm <- max(rowSums(W)) cm <- max(colSums(W)) res <- min(c(rm, cm)) attr(res, "rowmax") <- rm attr(res, "colmax") <- cm res } spdep/R/diffnb.R0000644000176200001440000000210011716033157013136 0ustar liggesusers# Copyright 2001-6 by Roger Bivand # diffnb <- function(x, y, verbose=NULL) { if (!inherits(x, "nb")) stop("not a neighbours list") if (!inherits(y, "nb")) stop("not a neighbours list") if (is.null(verbose)) verbose <- get("verbose", envir = .spdepOptions) stopifnot(is.logical(verbose)) n <- length(x) if (n < 1) stop("non-positive length of x") if(n != length(y)) stop("lengths differ") if (any(attr(x, "region.id") != attr(y, "region.id"))) warning("region.id differ; using ids of first list") ids <- attr(x, "region.id") res <- vector(mode="list", length=n) for (i in 1:n) { xi <- x[[i]] yi <- y[[i]] xt <- xi %in% yi yt <- yi %in% xi if (!(all(xt) && all(yt))) { res[[i]] <- as.integer(sort(unique(c(xi[which(!xt)], yi[which(!yt)])))) if(verbose && (res[[i]] != 0)) cat("Neighbour difference for region id:", ids[i], "in relation to id:", ids[res[[i]]], "\n") } else res[[i]] <- 0L } class(res) <- "nb" attr(res, "region.id") <- attr(x, "region.id") attr(res, "call") <- match.call() res <- sym.attr.nb(res) res } spdep/R/lm.LMtests.R0000644000176200001440000001577712732240312013730 0ustar liggesusers# Copyright 2001-7 by Roger Bivand # lm.LMtests <- function(model, listw, zero.policy=NULL, test="LMerr", spChk=NULL, naSubset=TRUE) { if (inherits(model, "lm")) na.act <- model$na.action else na.act <- attr(model, "na.action") listw_name <- deparse(substitute(listw)) if (!inherits(listw, "listw")) stop(paste(listw_name, "is not a listw object")) if (is.null(zero.policy)) zero.policy <- get("zeroPolicy", envir = .spdepOptions) stopifnot(is.logical(zero.policy)) if (!is.null(na.act) && naSubset) { subset <- !(1:length(listw$neighbours) %in% na.act) listw <- subset(listw, subset, zero.policy=zero.policy) } if (length(test) == 1L && test[1] == "LMerr") { res <- lm.LMErr(model=model, listw=listw, zero.policy=zero.policy, spChk=spChk) if (inherits(model, "lm")) res$data.name <- paste("\n", paste(strwrap(paste("model: ", gsub("[ ]+", " ", paste(deparse(model$call), sep="", collapse="")))), collapse="\n"), "\nweights: ", listw_name, "\n", sep="") else res$data.name <- paste("\nresiduals: ", deparse(substitute(model)), "\nweights: ", listw_name, "\n", sep="") tres <- vector(mode="list", length=1) names(tres) <- test tres[[1]] <- res class(tres) <- "LMtestlist" return(tres) } if(!inherits(model, "lm")) stop(paste(deparse(substitute(model)), "not an lm object")) N <- length(listw$neighbours) u <- resid(model) if (N != length(u)) stop("objects of different length") if (is.null(spChk)) spChk <- get.spChkOption() if (spChk && !chkIDs(u, listw)) stop("Check of data and weights ID integrity failed") u <- as.vector(u) if (is.null(attr(listw$weights, "W")) || !attr(listw$weights, "W")) warning("Spatial weights matrix not row standardized") all.tests <- c("LMerr", "LMlag", "RLMerr", "RLMlag", "SARMA") if (test[1] == "all") test <- all.tests if (!all(test %in% all.tests)) stop("Invalid test selected - must be either \"all\" or a vector of tests") y <- model.response(model.frame(model)) X <- model.matrix(terms(model), model.frame(model)) yhat <- as.vector(fitted(model)) p <- model$rank p1 <- 1:p nacoefs <- which(is.na(coefficients(model))) # fixed after looking at TOWN dummy in Boston data if (length(nacoefs) > 0L) X <- X[,-nacoefs] XtXinv <- chol2inv(model$qr$qr[p1, p1, drop = FALSE]) sigma2 <- (t(u) %*% u) / N TrW <- tracew(listw) Wu <- lag.listw(listw, u, zero.policy) Wy <- lag.listw(listw, y, zero.policy) Wyhat <- lag.listw(listw, yhat, zero.policy) XtWyhat <- t(X) %*% Wyhat dutWu <- (t(u) %*% Wu) / sigma2 resa <- (dutWu ^ 2) / TrW J <- (1/(N*sigma2)) * ((t(Wyhat) %*% Wyhat) - (t(XtWyhat) %*% XtXinv %*% XtWyhat) + (TrW * sigma2)) dutWy <- (t(u) %*% Wy) / sigma2 nt <- length(test) if (nt < 1) stop("non-positive number of tests") tres <- vector(mode="list", length=nt) names(tres) <- test for (i in 1:nt) { testi <- test[i] zz <- switch(testi, LMerr = vec <- c(resa, 1), LMlag = vec <- c((dutWy ^ 2) / (N * J), 1), RLMerr = vec <- c(((dutWu - (TrW*((N*J)^-1))*dutWy)^2) / (TrW * (1 - TrW*((N*J)^-1))), 1), RLMlag = vec <- c(((dutWy - dutWu)^2)/ ((N*J) - TrW), 1), SARMA = vec <- c(((dutWy - dutWu)^2)/ ((N*J) - TrW) + resa, 2) ) if (is.null(zz)) stop(paste(testi, ": no such test", sep="")) statistic <- vec[1] names(statistic) <- testi parameter <- vec[2] names(parameter) <- "df" p.value <- 1 - pchisq(statistic, parameter) if (!is.finite(p.value) || p.value < 0 || p.value > 1) warning("Out-of-range p-value: reconsider test arguments") names(p.value) <- "" method <- "Lagrange multiplier diagnostics for spatial dependence" data.name <- paste("\n", paste(strwrap(paste("model: ", gsub("[ ]+", " ", paste(deparse(model$call), sep="", collapse="")))), collapse="\n"), "\nweights: ", listw_name, "\n", sep="") tres[[i]] <- list(statistic=statistic, parameter=parameter, p.value=p.value, method=method, data.name=data.name) class(tres[[i]]) <- "htest" } class(tres) <- "LMtestlist" tres } print.LMtestlist <- function(x, ...) { for (i in seq(along=x)) print(x[[i]]) invisible(x) } summary.LMtestlist <- function(object, p.adjust.method="none", ...) { res <- as.data.frame(t(sapply(object, "[", 1:3))) res[,3] <- p.adjust(res[,3], method=p.adjust.method) object$results <- res class(object) <- "LMtestlist.summary" object } print.LMtestlist.summary <- function(x, digits=max(3, getOption("digits") - 2), ...) { cat(strwrap(x[[1]]$method, prefix = "\t"), sep = "\n") cat("data: ", x[[1]]$data.name, "\n") printCoefmat(x$results, has.Pvalue=TRUE, digits=digits, ...) invisible(x) } tracew <- function (listw) { dlmtr <- 0 n <- length(listw$neighbours) if (n < 1) stop("non-positive n") ndij <- card(listw$neighbours) dlmtr <- 0 for (i in 1:n) { dij <- listw$neighbours[[i]] wdij <- listw$weights[[i]] for (j in seq(length=ndij[i])) { k <- dij[j] # Luc Anselin 2006-11-11 problem with asymmetric listw dk <- which(listw$neighbours[[k]] == i) if (length(dk) > 0L && dk > 0L && dk <= length(listw$neighbours[[k]])) wdk <- listw$weights[[k]][dk] else wdk <- 0 dlmtr <- dlmtr + (wdij[j]*wdij[j]) + (wdij[j]*wdk) } } dlmtr } lm.LMErr <- function(model, listw, zero.policy=FALSE, spChk=NULL) { if (!inherits(listw, "listw")) stop("listw is not a listw object") N <- length(listw$neighbours) if (inherits(model, "lm")) u <- resid(model) else if (is.numeric(model) && length(model) == N) { u <- model if (!isTRUE(all.equal(mean(u), 0.0))) warning("mean of externally provided residuals not zero") } else stop(paste(deparse(substitute(model)), "not an lm object or a numeric vector of correct length")) if (N != length(u)) stop("objects of different length") if (is.null(spChk)) spChk <- get.spChkOption() if (spChk && !chkIDs(u, listw)) stop("Check of data and weights ID integrity failed") u <- as.vector(u) if (is.null(attr(listw$weights, "W")) || !attr(listw$weights, "W")) warning("Spatial weights matrix not row standardized") TrW <- tracew(listw) Wu <- lag.listw(listw, u, zero.policy) sigma2 <- (t(u) %*% u) / N dutWu <- (t(u) %*% Wu) / sigma2 resa <- (dutWu ^ 2) / TrW statistic <- resa names(statistic) <- "LMErr" parameter <- 1 names(parameter) <- "df" p.value <- 1 - pchisq(statistic, parameter) if (!is.finite(p.value) || p.value < 0 || p.value > 1) warning("Out-of-range p-value: reconsider test arguments") names(p.value) <- "" method <- "Lagrange multiplier diagnostics for spatial dependence" if (inherits(model, "lm")) data.name <- paste("\n", paste(strwrap(paste("model: ", gsub("[ ]+", " ", paste(deparse(model$call), sep="", collapse="")))), collapse="\n"), "\nweights: ", deparse(substitute(listw)), "\n", sep="") else data.name <- paste("\nresiduals: ", deparse(substitute(model)), "\nweights: ", deparse(substitute(listw)), "\n", sep="") res <- list(statistic=statistic, parameter=parameter, p.value=p.value, method=method, data.name=data.name) class(res) <- "htest" res } spdep/R/AAA.R0000644000176200001440000000147312453302331012274 0ustar liggesusers# Copyright 2001-15 by Roger Bivand # .spdepOptions <- new.env(FALSE, globalenv()) assign("spChkID", FALSE, envir = .spdepOptions) assign("zeroPolicy", FALSE, envir = .spdepOptions) assign("verbose", FALSE, envir = .spdepOptions) assign("mc", ifelse(.Platform$OS.type == "windows", FALSE, TRUE), envir = .spdepOptions) assign("cores", NULL, envir = .spdepOptions) assign("cluster", NULL, envir = .spdepOptions) assign("rlecuyerSeed", rep(12345, 6), envir = .spdepOptions) assign("listw_is_CsparseMatrix", FALSE, envir = .spdepOptions) #.conflicts.OK <- TRUE #.onLoad <- function(lib, pkg) { # require(methods) #} #.onLoad <- function(pkg, lib) { #cat("spdep: a package for analysing spatial dependence\n") #require(maptools) #.First.lib <- function(lib, pkg) { # library.dynam("spdep", pkg, lib) #} #.noGenerics <- TRUE spdep/R/plot.nb.R0000644000176200001440000000300212166333360013263 0ustar liggesusers# Copyright 2001-2013 by Roger Bivand and Elias Krainski # plot.nb <- function(x, coords, col="black", points=TRUE, add=FALSE, arrows=FALSE, length=0.1, xlim=NULL, ylim=NULL, ...) { nb <- x stopifnot(length(nb) == nrow(coords)) sym <- is.symmetric.nb(nb, verbose = FALSE, force = FALSE) x <- coords[,1] y <- coords[,2] n <- length(nb) if (n < 1) stop("non-positive number of entities") if (!add) { plot.new() if (is.null(xlim)) xlim <- range(x) if (is.null(ylim)) ylim <- range(y) plot.window(xlim = xlim, ylim = ylim, log="", asp=1) } cardnb <- card(nb) if (length(col) < n) col <- rep(col[1], n) # for (i in 1:n) { # if (cardnb[i] > 0) { # inb <- nb[[i]] # for (j in inb) { # if (sym) { # lines(c(x[i], x[j]), c(y[i], y[j]), # col=col[i], ...) # } else { # if (arrows) # arrows(x[i], y[i], x[j], y[j], # col=col[i], length=length, ...) # else lines(c(x[i], x[j]), c(y[i], y[j]), # col=col[i], ...) # } # # } # } # } # Elias Krainski Tue, 21 May 2013 i <- rep(1:n, cardnb) j <- unlist(nb) if (arrows) arrows(x[i], y[i], x[j], y[j], col=col[i], length = length, ...) else segments(x[i], y[i], x[j], y[j], col=col[i], ...) if (points) points(x, y, ...) } plot.listw <- function(x, coords, col="black", points=TRUE, add=FALSE, arrows=FALSE, length=0.1, xlim=NULL, ylim=NULL, ...) { plot.nb(x$neighbours, coords=coords, col=col, points=points, add=add, arrows=arrows, length=length, xlim=xlim, ylim=ylim, ...) } spdep/vignettes/0000755000176200001440000000000013152260232013371 5ustar liggesusersspdep/vignettes/SpatialFiltering.Rnw0000644000176200001440000002001312166333364017331 0ustar liggesusers%\VignetteIndexEntry{Moran Eigenvectors} %\VignetteDepends{} %\VignetteKeywords{spatial} %\VignettePackage{spdep} \documentclass[a4paper,10pt]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} %\usepackage[dvips]{graphicx,color} \usepackage{times} \usepackage{hyperref} \usepackage{natbib} \usepackage[english]{babel} \usepackage{xspace} \usepackage{Sweave} \usepackage{mathptm} \usepackage{natbib} \setkeys{Gin}{width=0.95\textwidth} \newcommand{\strong}[1]{{\normalfont\fontseries{b}\selectfont #1}} \let\pkg=\strong \RequirePackage{alltt} \newenvironment{example}{\begin{alltt}}{\end{alltt}} \newenvironment{smallexample}{\begin{alltt}\small}{\end{alltt}} \newcommand{\code}[1]{\texttt{\small #1}} \def\RR{\textsf{R}\xspace} \def\SP{\texttt{S-PLUS}\xspace} \def\SS{\texttt{S}\xspace} \SweaveOpts{keep.source=FALSE} \title{Moran Eigenvectors\footnote{This vignette formed pp. 302--305 of the first edition of Bivand, R. S., Pebesma, E. and G\'{o}mez-Rubio V. (2008) Applied Spatial Data Analysis with R, Springer-Verlag, New York. It was retired from the second edition (2013) to accommodate material on other topics, and is made available in this form with the understanding of the publishers.}} \author{Roger Bivand} \begin{document} \maketitle <>= owidth <- getOption("width") options("width"=90) ow <- getOption("warn") options("warn"=-1) .PngNo <- 0 @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 5, pointsize = 12, bg = "white") @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) @ <>= par(opar) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") @ <>= dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") @ \section{Introduction} The Moran eigenvector approach \citep{dray+legendre+peres-neto:06, griffith+peres-neto:06} involved the spatial patterns represented by maps of eigenvectors; by choosing suitable orthogonal patterns and adding them to a linear or generalised linear model, the spatial dependence present in the residuals can be moved into the model. It uses brute force to search the set of eigenvectors of the matrix $\mathbf{M W M}$, where \[ \mathbf{M} = \mathbf{I} - \mathbf{X}(\mathbf{X}^{\rm T} \mathbf{X})^{-1}\mathbf{X}^{\rm T} \] \noindent is a symmetric and idempotent projection matrix and $\mathbf{W}$ are the spatial weights. In the spatial lag form of \code{SpatialFiltering} and in the GLM \code{ME} form below, $\mathbf{X}$ is an $n$-vector of ones, that is the intercept only. In its general form, \code{SpatialFiltering} chooses the subset of the $n$ eigenvectors that reduce the residual spatial autocorrelation in the error of the model with covariates. The lag form adds the covariates in assessment of which eigenvectors to choose, but does not use them in constructing the eigenvectors. \code{SpatialFiltering} was implemented and contributed by Yongwan Chun and Michael Tiefelsdorf, and is presented in \citet{tiefelsdorf+griffith:07}; \code{ME} is based on Matlab code by Pedro Peres-Neto and is discussed in \citet{dray+legendre+peres-neto:06} and \citet{griffith+peres-neto:06}. \begin{footnotesize} <>= library(maptools) library(spdep) owd <- getwd() setwd(system.file("etc/shapes", package="spdep")) NY8 <- readShapeSpatial("NY8_utm18") setwd(system.file("etc/weights", package="spdep")) NY_nb <- read.gal("NY_nb.gal", region.id=row.names(NY8)) setwd(owd) @ \end{footnotesize} \begin{footnotesize} <>= nySFE <- SpatialFiltering(Z~PEXPOSURE+PCTAGE65P+PCTOWNHOME, data=NY8, nb=NY_nb, style="W", verbose=FALSE) nylmSFE <- lm(Z~PEXPOSURE+PCTAGE65P+PCTOWNHOME+fitted(nySFE), data=NY8) summary(nylmSFE) nylm <- lm(Z~PEXPOSURE+PCTAGE65P+PCTOWNHOME, data=NY8) anova(nylm, nylmSFE) @ \end{footnotesize} Since the \code{SpatialFiltering} approach does not allow weights to be used, we see that the residual autocorrelation of the original linear model is absorbed, or `whitened' by the inclusion of selected eigenvectors in the model, but that the covariate coefficients change little. The addition of these eigenvectors -- each representing an independent spatial pattern -- relieves the residual autocorrelation, but otherwise makes few changes in the substantive coefficient values. The \code{ME} function also searches for eigenvectors from the spatial lag variant of the underlying model, but in a GLM framework. The criterion is a permutation bootstrap test on Moran's $I$ for regression residuals, and in this case, because of the very limited remaining spatial autocorrelation, is set at $\alpha = 0.5$. Even with this very generous stopping rule, only few eigenvectors are chosen; their combined contribution only just improves the fit of the GLM model. \begin{footnotesize} <>= NYlistwW <- nb2listw(NY_nb, style = "W") set.seed(111) <>= nyME <- ME(Cases~PEXPOSURE+PCTAGE65P+PCTOWNHOME, data=NY8, offset=log(POP8), family="poisson", listw=NYlistwW, alpha=0.5) <>= bsfn <- system.file("doc/backstore/nyME_res.RData", package="spdep") load(bsfn) @ <>= nyME NY8$eigen_24 <- fitted(nyME)[,1] NY8$eigen_223 <- fitted(nyME)[,2] @ \end{footnotesize} \begin{figure}[!t] \centering <>= .iwidth <- 6 .iheight <- 4 .ipointsize <- 10 <> library(RColorBrewer) #gry <- brewer.pal(9, "Greys")[-1] spplot(NY8, c("eigen_24", "eigen_223"), col.regions=grey.colors(6, 0.95, 0.55, 2.2), cuts=5) <> @ \caption{Maps of the two eigenvalues selected for inclusion in the Poisson regression model} \label{fig:geigen2} \end{figure} \begin{footnotesize} <>= nyglmME <- glm(Cases~PEXPOSURE+PCTAGE65P+PCTOWNHOME+offset(log(POP8))+fitted(nyME), data=NY8, family="poisson") summary(nyglmME) nyGLMp <- glm(Cases~PEXPOSURE+PCTAGE65P+PCTOWNHOME+offset(log(POP8)), data=NY8,family="poisson") anova(nyGLMp, nyglmME, test="Chisq") @ \end{footnotesize} Figure~\ref{fig:geigen2} shows the spatial patterns chosen to match the very small amount of spatial autocorrelation remaining in the model. As with the other Poisson regressions, the closeness to TCE sites is highly significant. Since, however, many TCE sites are also in or close to more densely populated urban areas with the possible presence of both point-source and non-point-source pollution, it would be premature to take such results simply at their face value. There is, however, a potentially useful contrast between the cities of Binghampton in the south of the study area with several sites in its vicinity, and Syracuse in the north without TCE sites in this data set. \begin{thebibliography}{} \bibitem[Dray et~al., 2006]{dray+legendre+peres-neto:06} Dray, S., Legendre, P., and Peres-Neto, P.~R. (2006). Spatial modeling: A comprehensive framework for principle coordinate analysis of neighbor matrices ({PCNM}). {\em Ecological Modelling}, 196:483--493. \bibitem[Griffith and Peres-Neto, 2006]{griffith+peres-neto:06} Griffith, D.~A. and Peres-Neto, P.~R. (2006). Spatial modeling in ecology: The flexibility of eigenfunction spatial analyses. {\em Ecology}, 87:2603--2613. \bibitem[Tiefelsdorf and Griffith, 2007]{tiefelsdorf+griffith:07} Tiefelsdorf, M. and Griffith, D.~A. (2007). Semiparametric filtering of spatial autocorrelation: The eigenvector approach. {\em Environment and Planning A}, 39:1193--1221. \end{thebibliography} \end{document} spdep/vignettes/sids.Rnw0000644000176200001440000007112012437330270015031 0ustar liggesusers%\VignetteIndexEntry{North Carolina SIDS data set} %\VignetteDepends{} %\VignetteKeywords{spatial} %\VignettePackage{spdep} \documentclass[a4paper,10pt]{article} \usepackage{Sweave} \usepackage{times} \usepackage{mathptm} \usepackage{hyperref} \usepackage{natbib} \setkeys{Gin}{width=0.95\textwidth} \newcommand{\strong}[1]{{\normalfont\fontseries{b}\selectfont #1}} \let\pkg=\strong \RequirePackage{alltt} \newenvironment{example}{\begin{alltt}}{\end{alltt}} \newenvironment{smallexample}{\begin{alltt}\small}{\end{alltt}} \newcommand{\code}[1]{\texttt{\small #1}} \def\RR{\textsf{R}\/} \def\SP{\texttt{S-PLUS}\/} \def\SS{\texttt{S}\/} \SweaveOpts{keep.source=FALSE} \title{Introduction to the North Carolina SIDS data set (revised)} \author{Roger Bivand} \begin{document} \maketitle <>= owidth <- getOption("width") options("width"=70) ow <- getOption("warn") options("warn"=-1) .PngNo <- 0 @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 5, pointsize = 12, bg = "white") @ <>= par(opar) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") @ <>= dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") @ \section{Introduction} This data set was presented first in \citet{symonsetal:1983}, analysed with reference to the spatial nature of the data in \citet{cressie+read:1985}, expanded in \citet{cressie+chan:1989}, and used in detail in \citet{cressie:1991}. It is for the 100 counties of North Carolina, and includes counts of numbers of live births (also non-white live births) and numbers of sudden infant deaths, for the July 1, 1974 to June 30, 1978 and July 1, 1979 to June 30, 1984 periods. In \citet{cressie+read:1985}, a listing of county neighbours based on shared boundaries (contiguity) is given, and in \citet{cressie+chan:1989}, and in \citet[][pp. 386--389]{cressie:1991}, a different listing based on the criterion of distance between county seats, with a cutoff at 30 miles. The county seat location coordinates are given in miles in a local (unknown) coordinate reference system. The data are also used to exemplify a range of functions in the \SP~spatial statistics module user's manual \citep{kaluznyetal:1996}. <>= library(spdep) @ \section{Getting the data into \RR} We will be using the \pkg{spdep} package, here version: \Sexpr{spdep()[1]}, the \pkg{sp} package and the \pkg{maptools} package. The data from the sources refered to above is documented in the help page for the \code{nc.sids} data set in \pkg{spdep}. The actual data, included in a shapefile of the county boundaries for North Carolina has been made available in the \pkg{maptools} package\footnote{These data are taken with permission from: \url{http://sal.agecon.uiuc.edu/datasets/sids.zip}.}. These data are known to be geographical coordinates (longitude-latitude in decimal degrees) and are assumed to use the NAD27 datum. \begin{footnotesize} <>= library(sp) library(maptools) library(spdep) nc_file <- system.file("etc/shapes/sids.shp", package="spdep")[1] llCRS <- CRS("+proj=longlat +datum=NAD27") nc <- readShapeSpatial(nc_file, ID="FIPSNO", proj4string=llCRS) @ \end{footnotesize} The shapefile format presupposes that you have three files with extensions \code{*.shp}, \code{*.shx}, and \code{*.dbf}, where the first contains the geometry data, the second the spatial index, and the third the attribute data. They are required to have the same name apart from the extension, and are read here using \code{readShapeSpatial()} into the \code{SpatialPolygonsDataFrame} object \code{nc}; the class is defined in \pkg{sp}. The centroids of the largest polygon in each county are available using the \code{coordinates} method from \pkg{sp} as a two-column matrix, and can be used to place labels: \begin{footnotesize} <>= plot(nc, axes=TRUE) text(coordinates(nc), label=nc$FIPSNO, cex=0.5) @ \end{footnotesize} \begin{figure}[htbp] \begin{center} <>= <> <> <> @ \end{center} \caption{County boundaries and polygon centroids, North Carolina} \label{plotNC1} \end{figure} We can examine the names of the columns of the data frame to see what it contains --- in fact some of the same columns that we will be examining below, and some others which will be useful in cleaning the data set. \begin{footnotesize} <>= names(nc) summary(nc) @ \end{footnotesize} We will now examine the data set reproduced from Cressie and collaborators, included in \pkg{spdep}, and add the neighbour relationships used in \citet{cressie+chan:1989} to the background map as a graph shown in Figure \ref{plot-CC89.nb}: \begin{footnotesize} <>= gal_file <- system.file("etc/weights/ncCR85.gal", package="spdep")[1] ncCR85 <- read.gal(gal_file, region.id=nc$FIPSNO) ncCR85 gal_file <- system.file("etc/weights/ncCC89.gal", package="spdep")[1] ncCC89 <- read.gal(gal_file, region.id=nc$FIPSNO) ncCC89 @ \end{footnotesize} \begin{footnotesize} <>= plot(nc, border="grey") plot(ncCC89, coordinates(nc), add=TRUE, col="blue") @ \end{footnotesize} \begin{figure}[htbp] \begin{center} <>= <> <> <> @ \end{center} \caption{Overplotting county boundaries with 30 mile neighbour relations as a graph.} \label{plot-CC89.nb} \end{figure} Printing the neighbour object shows that it is a neighbour list object, with a very sparse structure --- if displayed as a matrix, only 3.94\% of cells would be filled. Objects of class \code{nb} contain a list as long as the number of counties; each component of the list is a vector with the index numbers of the neighbours of the county in question, so that the neighbours of the county with \code{region.id} of \code{"37001"} can be retreived by matching against the indices. More information can be obtained by using \code{summary()} on an \code{nb} object. Finally, we associate a vector of names with the neighbour list, through the \code{row.names} argument. The names should be unique, as with data frame row names. \begin{footnotesize} <>= ncCC89 r.id <- attr(ncCC89, "region.id") ncCC89[[match("37001", r.id)]] r.id[ncCC89[[match("37001", r.id)]]] @ \end{footnotesize} The neighbour list object records neighbours by their order in relation to the list itself, so the neighbours list for the county with \code{region.id} "37001" are the seventeenth, nineteenth, thirty-second, forty-first and sixty-eighth in the list. We can retreive their codes by looking them up in the \code{region.id} attribute. \begin{footnotesize} <>= as.character(nc$NAME)[card(ncCC89) == 0] @ \end{footnotesize} We should also note that this neighbour criterion generates two counties with no neighbours, Dare and Hyde, whose county seats were more than 30 miles from their nearest neighbours. The \code{card()} function returns the cardinality of the neighbour set. We need to return to methods for handling no-neighbour objects later on. We will also show how new neighbours lists may be constructed in \RR, and compare these with those from the literature. \subsection{Probability mapping} Rather than review functions for measuring and modelling spatial dependence in the \pkg{spdep} package, we will focus on probability mapping for disease rates data. Typically, we have counts of the incidence of some disease by spatial unit, associated with counts of populations at risk. The task is then to try to establish whether any spatial units seem to be characterised by higher or lower counts of cases than might have been expected in general terms \citep{bailey+gatrell:1995}. An early approach by \citet{choynowski:1959}, described by \citet{cressie+read:1985} and \citet{bailey+gatrell:1995}, assumes, given that the true rate for the spatial units is small, that as the population at risk increases to infinity, the spatial unit case counts are Poisson with mean value equal to the population at risk times the rate for the study area as a whole. Choynowski's approach folds the two tails of the measured probabilities together, so that small values, for a chosen $\alpha$, occur for spatial units with either unusually high or low rates. For this reason, the high and low counties are plotted separately in Figure \ref{choymap}. \begin{footnotesize} <>= ch <- choynowski(nc$SID74, nc$BIR74) nc$ch_pmap_low <- ifelse(ch$type, ch$pmap, NA) nc$ch_pmap_high <- ifelse(!ch$type, ch$pmap, NA) prbs <- c(0,.001,.01,.05,.1,1) nc$high = cut(nc$ch_pmap_high, prbs) nc$low = cut(nc$ch_pmap_low,prbs ) @ <>= spplot(nc, c("low", "high"), col.regions=grey.colors(5)) @ \end{footnotesize} \begin{figure}[htbp] \begin{center} <>= <> print(spplot(nc, c("low", "high"), col.regions=grey.colors(5))) <> @ \end{center} \caption{Probability map of North Carolina counties, SIDS cases 1974--78, $\alpha = 0.05$, reproducing \citet{cressie+read:1985}, Figure 1.} \label{choymap} \end{figure} For more complicated thematic maps, it may be helpful to use ColorBrewer (\url{http://colorbrewer.org}) colour palettes. Here we will only use the grey sequential palette, available in \RR~in the \pkg{RColorBrewer} package (the colours are copied here to avoid loading the package). While the \code{choynowski()} function only provides the probability map values required, the \code{probmap()} function returns raw (crude) rates, expected counts (assuming a constant rate across the study area), relative risks, and Poisson probability map values calculated using the standard cumulative distribution function \code{ppois()}. This does not fold the tails together, so that counties with lower observed counts than expected, based on population size, have values in the lower tail, and those with higher observed counts than expected have values in the upper tail, as Figure \ref{poismap} shows. \begin{footnotesize} <>= pmap <- probmap(nc$SID74, nc$BIR74) nc$pmap <- pmap$pmap brks <- c(0,0.001,0.01,0.025,0.05,0.95,0.975,0.99,0.999,1) library(RColorBrewer) @ <>= spplot(nc, "pmap", at=brks, col.regions=rev(brewer.pal(9, "RdBu"))) @ \end{footnotesize} \begin{figure}[htbp] \begin{center} <>= <> print(spplot(nc, "pmap", at=brks, col.regions=rev(brewer.pal(9, "RdBu")))) <> @ \end{center} \caption{Probability map of North Carolina counties, SIDS cases 1974--78, reproducing \citet{kaluznyetal:1996}, p. 57, Figure 3.28.} \label{poismap} \end{figure} Marilia Carvalho (personal communication) and Virgilio G\'{o}mez Rubio \citep{gomez-rubio+ferrandiz+lopez:2003} have pointed to the unusual shape of the distribution of the Poisson probability values (Figure \ref{poishist}), repeating the doubts about probability mapping voiced by \citet[][p. 392]{cressie:1991}: ``an extreme value $\ldots$ may be more due to its lack of fit to the Poisson model than to its deviation from the constant rate assumption''. There are many more high values than one would have expected, suggesting perhaps overdispersion, that is that the ratio of the variance and mean is larger than unity. \begin{footnotesize} <>= hist(nc$pmap, main="") @ \end{footnotesize} \begin{figure}[htbp] \begin{center} <>= <> <> <> @ \end{center} \caption{Histogram of Poisson probability values.} \label{poishist} \end{figure} One ad-hoc way to assess the impact of the possible failure of our assumption that the counts follow the Poisson distribution is to estimate the dispersion by fitting a generalized linear model of the observed counts including only the intercept (null model) and offset by the observed population at risk (suggested by Marilia Carvalho and associates): \begin{footnotesize} <>= res <- glm(SID74 ~ offset(log(BIR74)), data=nc, family="quasipoisson") nc$stdres <- rstandard(res) brks <- c(-4, -3, -2, -1.5, -1, -0.5, 0.5, 1, 1.5, 2, 3, 4) @ <>= spplot(nc, "stdres", at=brks, col.regions=rev(brewer.pal(11, "RdBu"))) @ \end{footnotesize} The dispersion is equal to \Sexpr{round(summary(res)$dispersion, digits=4)}, much greater than unity; we calculate the corrected probability map values by taking the standardised residuals of the model, taking the size of the dispersion into account; the results are shown in Figure \ref{poismap2}. Many fewer counties appear now to have unexpectedly large or small numbers of cases. This is an ad-hoc adjustment made because \RR~provides access to a wide range of model-fitting functions that can be used to help check our assumptions. \citet{gomez-rubio+ferrandiz+lopez:2003} chose rather to construct a probability map under the hypothesis that data are drawn from a Negative Binomial distribution. \begin{figure}[htbp] \begin{center} <>= <> print(spplot(nc, "stdres", at=brks, col.regions=rev(brewer.pal(11, "RdBu")))) <> @ \end{center} \caption{Standardised residual values from the fit of a quasi-Poisson fit of the null model for SIDS rates 1974-78, North Carolina counties.} \label{poismap2} \end{figure} @ So far, none of the maps presented have made use of the spatial dependence possibly present in the data. A further elementary step that can be taken is to map Empirical Bayes estimates of the rates, which are smoothed in relation to the raw rates. The underlying question here is linked to the larger variance associated with rate estimates for counties with small populations at risk compared with counties with large populations at risk. Empirical Bayes estimates place more credence on the raw rates of counties with large populations at risk, and modify them much less than they modify rates for small counties. In the case of small populations at risk, more confidence is placed in either the global rate for the study area as a whole, or for local Empirical Bayes estimates, in rates for a larger moving window including the neighbours of the county being estimated. The function used for this in \pkg{spdep} is \code{EBlocal()}, initially contributed by Marilia Carvalho. It parallels a similar function in GeoDa, but uses the \citet{bailey+gatrell:1995} interpretation of \citet{marshall:1991}, rather than that in GeoDa \citep{anselin+syabri+smirnov:2002}. \begin{footnotesize} <>= global_rate <- sum(nc$SID74)/sum(nc$BIR74) nc$Expected <- global_rate * nc$BIR74 res <- EBlocal(nc$SID74, nc$Expected, ncCC89, zero.policy=TRUE) nc$EB_loc <- res$est brks <- c(0, 0.25, 0.5, 0.75, 1, 2, 3, 4, 5) spl <- list("sp.text", loc=coordinates(nc)[card(ncCC89) == 0,], txt=rep("*", 2), cex=1.2) @ <>= spplot(nc, "EB_loc", at=brks, col.regions=rev(brewer.pal(8, "RdBu")), sp.layout=spl) @ \end{footnotesize} The results are shown in Figure \ref{EBlocal}. Like other relevant functions in \pkg{spdep}, \code{EBlocal()} takes a \code{zero.policy} argument to allow missing values to be passed through. In this case, no local estimate is available for the two counties with no neighbours, marked by stars. \begin{figure}[htbp] \begin{center} <>= <> print(spplot(nc, "EB_loc", at=brks, col.regions=rev(brewer.pal(8, "RdBu")), sp.layout=spl)) <> @ \end{center} \caption{Local Empirical Bayes estimates for SIDS rates per 1000 using the 30 mile county seat neighbours list.} \label{EBlocal} \end{figure} @ In addition to Empirical Bayes smoothing globally, used both for disease mapping and the Assun\,{c}\~{a}o and Reis correction to Moran's $I$ for rates data (to shrink towards the global rate when the population at risk is small, here as a Monte Carlo test), lists of local neighbours can be used to shrink towards a local rate. \begin{scriptsize} <>= set.seed(1) EBImoran.mc(nc$SID74, nc$BIR74, nb2listw(ncCC89, style="B", zero.policy=TRUE), nsim=999, zero.policy=TRUE) @ \end{scriptsize} \section{Exploration and modelling of the data} One of the first steps taken by \citet{cressie+read:1985} is to try to bring out spatial trends by dividing North Carolina up into $4\times4$ rough rectangles. Just to see how this works, let us map these rough rectangles before proceeding further (see Figure \ref{LMmap}). \begin{footnotesize} <>= nc$both <- factor(paste(nc$L_id, nc$M_id, sep=":")) nboth <- length(table(unclass(nc$both))) @ <>= spplot(nc, "both", col.regions=sample(rainbow(nboth))) @ \end{footnotesize} \begin{figure}[htbp] \begin{center} <>= <> print(spplot(nc, "both", col.regions=sample(rainbow(nboth)))) <> @ \end{center} \caption{Rough rectangles used by \citet{cressie+read:1985} to bring out spatial trends.} \label{LMmap} \end{figure} Cressie constructs a transformed SIDS rates variable, 1974--78, for his analyses (with co-workers). We can replicate his stem-and-leaf figure on p. 396 in the book, taken from \citet{cressie+read:1989}: \begin{footnotesize} <>= nc$ft.SID74 <- sqrt(1000)*(sqrt(nc$SID74/nc$BIR74) + sqrt((nc$SID74+1)/nc$BIR74)) stem(round(nc$ft.SID74, 1), scale=2) @ \end{footnotesize} \subsection{Median polish smoothing} \label{medpol} \citet[][pp. 46--48, 393--400]{cressie:1991} discusses in some detail how smoothing may be used to partition the variation in the data into smooth and rough. In order to try it out on the North Carolina SIDS data set, we will use a coarse gridding into four columns and four rows given by \citet[][pp. 553--554]{cressie:1991}, where four grid cells are empty; these are given by variables \code{L\_id} and \code{M\_id} in object \code{nc}. Next we aggregate the number of live births and the number of SIDS cases 1974--1978 for the grid cells: \begin{footnotesize} <>= mBIR74 <- tapply(nc$BIR74, nc$both, sum) mSID74 <- tapply(nc$SID74, nc$both, sum) @ \end{footnotesize} Using the same Freeman-Tukey transformation as is used for the county data, we coerce the data into a correctly configured matrix, some of the cells of which are empty. The \code{medpolish} function is applied to the matrix, being told to remove empty cells; the function iterates over the rows and columns of the matrix using \code{median} to extract an overall effect, row and column effects, and residuals: \begin{footnotesize} <>= mFT <- sqrt(1000)*(sqrt(mSID74/mBIR74) + sqrt((mSID74+1)/mBIR74)) mFT1 <- t(matrix(mFT, 4, 4, byrow=TRUE)) med <- medpolish(mFT1, na.rm=TRUE, trace.iter=FALSE) med @ \end{footnotesize} Returning to the factors linking rows and columns to counties, and generating matrices of dummy variables using \code{model.matrix}, we can calculate fitted values of the Freeman-Tukey adjusted rate for each county, and residuals by subtracting the fitted value from the observed rate. Naturally, the fitted value will be the same for counties in the same grid cell: \begin{footnotesize} <>= mL_id <- model.matrix(~ as.factor(nc$L_id) -1) mM_id <- model.matrix(~ as.factor(nc$M_id) -1) nc$pred <- c(med$overall + mL_id %*% med$row + mM_id %*% med$col) nc$mp_resid <- nc$ft.SID74 - nc$pred @ <>= cI_ft <- pretty(nc$ft.SID74, n=9) pal_ft <- colorRampPalette(brewer.pal(6, "YlOrBr"))(length(cI_ft)-1) p1 <- spplot(nc, c("ft.SID74"), col.regions=pal_ft, at=cI_ft, col="grey30", main="FT transformed SIDS rate") p2 <- spplot(nc, c("pred"), col.regions=pal_ft, at=cI_ft, col="grey30", main="Median-polish fit") atn <- pretty(nc$mp_resid[nc$mp_resid < 0]) atp <- pretty(nc$mp_resid[nc$mp_resid >= 0]) pal <- c(rev(brewer.pal(length(atn-1), "YlOrRd")), brewer.pal(length(atp[-1]), "YlGnBu")[-1]) p3 <- spplot(nc, "mp_resid", at=c(atn, atp[-1]), col.regions=pal, col="grey30", main="Median-polish residuals") plot(p1, split=c(1,1,1,3), more=TRUE) plot(p2, split=c(1,2,1,3), more=TRUE) plot(p3, split=c(1,3,1,3), more=FALSE) @ \end{footnotesize} \begin{figure}[htbp] \begin{center} <>= <> <> <> @ \caption{Freeman-Tukey transformed SIDS rates, fitted smoothed values, residuals, and Tukey additivity plot.} \label{fig:med_pol} \end{center} \end{figure} Figure \ref{fig:med_pol} shows the median polish smoothing results as three maps, the observed Freeman-Tukey transformed SIDS rates, the fitted smoothed values, and the residuals. In addition, a plot for the median polish object is also shown, plotting the smooth residuals against the outer product of the row and column effects divided by the overall effect, which would indicate a lack of additivity between row and column if this was the case --- this is more relevant for analysis of tables of covariates rather than geographical grids. \subsection{CAR model fitting} We will now try to replicate three of the four models fitted by \citep{cressie+chan:1989} to the transformed rates variable. The first thing to do is to try to replicate their 30 mile distance between county seats neighbours, which almost works. From there we try to reconstruct three of the four models they fit, concluding that we can get quite close, but that a number of questions are raised along the way. Building the weights is much more complicated, because they use a combination of distance-metric and population-at-risk based weights, but we can get quite close \citep[see also][]{kaluznyetal:1996}: \begin{footnotesize} <>= sids.nhbr30.dist <- nbdists(ncCC89, cbind(nc$east, nc$north)) sids.nhbr <- listw2sn(nb2listw(ncCC89, glist=sids.nhbr30.dist, style="B", zero.policy=TRUE)) dij <- sids.nhbr[,3] n <- nc$BIR74 el1 <- min(dij)/dij el2 <- sqrt(n[sids.nhbr$to]/n[sids.nhbr$from]) sids.nhbr$weights <- el1*el2 sids.nhbr.listw <- sn2listw(sids.nhbr) @ \end{footnotesize} The first model (I) is a null model with just an intercept, the second (II) includes all the 12 parcels of contiguous counties in 4 east-west and 4 north-south bands, while the fourth (IV) includes the transformed non-white birth-rate: \begin{footnotesize} <>= nc$ft.NWBIR74 <- sqrt(1000)*(sqrt(nc$NWBIR74/nc$BIR74) + sqrt((nc$NWBIR74+1)/nc$BIR74)) @ \end{footnotesize} Cressie identifies Anson county as an outlier, and drops it from further analysis. Because the weights are constructed in a complicated way, they will be subsetted by dropping the row and column of the weights matrix: \begin{footnotesize} <>= lm_nc <- lm(ft.SID74 ~ 1, data=nc) outl <- which.max(rstandard(lm_nc)) as.character(nc$names[outl]) W <- listw2mat(sids.nhbr.listw) W.4 <- W[-outl, -outl] sids.nhbr.listw.4 <- mat2listw(W.4) nc2 <- nc[!(1:length(nc$CNTY_ID) %in% outl),] @ \end{footnotesize} It appears that both numerical issues (convergence in particular) and uncertainties about the exact spatial weights matrix used make it difficult to reproduce the results of \citet{cressie+chan:1989}, also given in \citet{cressie:1991}. We now try to replicate them for the null weighted CAR model (Cressie has intercept 2.838, $\hat{\theta}$ 0.833, for k=1): \begin{footnotesize} <>= ecarIaw <- spautolm(ft.SID74 ~ 1, data=nc2, listw=sids.nhbr.listw.4, weights=BIR74, family="CAR") summary(ecarIaw) @ \end{footnotesize} The spatial parcels model also seems to work, with Cressie's $\hat{\theta}$ 0.710, and the other coefficients agreeing more or less by rank: \begin{footnotesize} <>= ecarIIaw <- spautolm(ft.SID74 ~ both - 1, data=nc2, listw=sids.nhbr.listw.4, weights=BIR74, family="CAR") summary(ecarIIaw) @ \end{footnotesize} Finally, the non-white model repeats Cressie's finding that much of the variance of the transformed SIDS rate for 1974--8 can be accounted for by the transformed non-white birth variable (Cressie intercept 1.644, $\hat{b}$ 0.0346, $\hat{\theta}$ 0.640 --- not significant): \begin{footnotesize} <>= ecarIVaw <- spautolm(ft.SID74 ~ ft.NWBIR74, data=nc2, listw=sids.nhbr.listw.4, weights=BIR74, family="CAR") summary(ecarIVaw) @ \end{footnotesize} \begin{footnotesize} <>= nc2$fitIV <- fitted.values(ecarIVaw) @ <>= spplot(nc2, "fitIV", cuts=12, col.regions=grey.colors(13, 0.9, 0.3)) @ \end{footnotesize} \begin{figure}[htbp] \begin{center} <>= <> print(spplot(nc2, "fitIV", cuts=12, col.regions=grey.colors(13, 0.9, 0.3))) <> @ \caption{Fitted values for model IV, including covariate.} \label{fig:fitIV} \end{center} \end{figure} \begin{footnotesize} <>= ecarIawll <- spautolm(ft.SID74 ~ 1, data=nc2, listw=sids.nhbr.listw.4, weights=BIR74, family="CAR", llprof=seq(-0.1, 0.9020532358, length.out=100)) @ <>= plot(ll ~ lambda, ecarIawll$llprof, type="l") @ \end{footnotesize} \begin{figure}[htbp] \begin{center} <>= <> <> <> @ \caption{Plot of log likelihood function values by coefficient values, model I.} \label{fig:ll_prof} \end{center} \end{figure} <>= options("width"=owidth) options("warn"=ow) @ \section*{References} \begin{description} \bibitem[\protect\citeauthoryear{Anselin, Syabri and Smirnov}{Anselin, Syabri and Smirnov}{2002}]{anselin+syabri+smirnov:2002} Anselin, L., Syabri, I., Smirnov, O., 2002. \newblock {Visualizing Multivariate Spatial Correlation with Dynamically Linked Windows}. \newblock {In Anselin, L., Rey, S. (Eds.), Proceedings, CSISS Workshop on New Tools for Spatial Data Analysis, Santa Barbara, CA, May 10-11, 2002. Center for Spatially Integrated Social Science}, \newblock 20 pp., {\url{http://sal.agecon.uiuc.edu/csiss/pdf/multilisa.pdf}}. \bibitem[\protect\citeauthoryear{Bailey and Gatrell}{Bailey and Gatrell}{1995}]{bailey+gatrell:1995} Bailey, T.~C., Gatrell, A.~C., 1995. \newblock {Interactive Spatial Data Analysis}. \newblock {Harlow: Longman}, \newblock 413 pp. \bibitem[\protect\citeauthoryear{Choynowski}{Choynowski}{1959}]{choynowski:1959} Choynowski, M., 1959 \newblock {Maps based on probabilities}. \newblock {Journal of the American Statistical Association}, \newblock 54 (286), {385--388}. \bibitem[\protect\citeauthoryear{Cressie}{Cressie}{1991}]{cressie:1991} Cressie, N., 1991. \newblock {Statistics for spatial data}. \newblock {New York: Wiley}, \newblock 900 pp. \bibitem[\protect\citeauthoryear{Cressie and Chan}{Cressie and Chan}{1989}]{cressie+chan:1989} Cressie, N., Chan N.~H., 1989. \newblock {Spatial modelling of regional variables}. \newblock {Journal of the American Statistical Association}, \newblock 84 (406), {393--401}. \bibitem[\protect\citeauthoryear{Cressie and Read}{Cressie and Read}{1985}]{cressie+read:1985} Cressie, N., Read, T.~R.~C., 1985. \newblock {Do sudden infant deaths come in clusters?}. \newblock {Statistics and Decisions}, \newblock {Supplement Issue 2, 333--349}. \bibitem[\protect\citeauthoryear{Cressie and Read}{Cressie and Read}{1989}]{cressie+read:1989} Cressie, N., Read, T.~R.~C., 1989. \newblock {Spatial data-analysis of regional counts}. \newblock {Biometrical Journal}, \newblock 31 (6), {699--719}. \bibitem[\protect\citeauthoryear{G\'{o}mez Rubio, Ferr\'{a}ndiz and L\'{o}pez}{G\'{o}mez Rubio, Ferr\'{a}ndiz and L\'{o}pez}{2003}]{gomez-rubio+ferrandiz+lopez:2003} G\'{o}mez Rubio, V., Ferr\'{a}ndiz, J., L\'{o}pez, A., 2003 \newblock {Detecting Disease Clusters with \RR}. \newblock {In: Hornik, K., Leisch, F., Zeilis, A. (Eds), Proceedings of the 3rd International Workshop on Distributed Statistical Computing, Vienna, Austria}, \newblock 15 pp., {(\url{http://www.ci.tuwien.ac.at/Conferences/DSC-2003/Proceedings/GomezRubioEtAl.pdf})}. \bibitem[\protect\citeauthoryear{Kaluzny et al.}{Kaluzny et al.}{1996}]{kaluznyetal:1996} Kaluzny, S.~P., Vega, S.~C., Cardoso, T.~P., Shelly, A.~A., 1996. \newblock {\SP~SPATIALSTATS user's manual version 1.0}. \newblock {Seattle: MathSoft Inc.}, \newblock 226 pp. \bibitem[\protect\citeauthoryear{Marshall}{Marshall}{1991}]{marshall:1991} Marshall, R.~M., 1991. \newblock {Mapping disease and mortality rates using Empirical Bayes Estimators}. \newblock {Applied Statistics}, \newblock 40 (2), {283--294}. \bibitem[\protect\citeauthoryear{Symons et al.}{Symons et al.}{1983}]{symonsetal:1983} Symons, M.~J., Grimson, R.~C., Yuan, Y.~C., 1983. \newblock {Clustering of rare events}. \newblock {Biometrics}, \newblock 39 (1), {193--205}. \end{description} \end{document} spdep/vignettes/nb.Rnw0000644000176200001440000006144212723334062014475 0ustar liggesusers%FIXME NY8_utm18 shapefile and NY_nb.gal to package %\VignetteIndexEntry{Creating Neighbours} %\VignetteDepends{} %\VignetteKeywords{spatial} %\VignettePackage{spdep} \documentclass[a4paper,10pt]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} %\usepackage[dvips]{graphicx,color} \usepackage{times} \usepackage{hyperref} \usepackage{natbib} \usepackage[english]{babel} \usepackage{xspace} \usepackage{Sweave} \usepackage{mathptm} \usepackage{natbib} \setkeys{Gin}{width=0.95\textwidth} \newcommand{\strong}[1]{{\normalfont\fontseries{b}\selectfont #1}} \let\pkg=\strong \RequirePackage{alltt} \newenvironment{example}{\begin{alltt}}{\end{alltt}} \newenvironment{smallexample}{\begin{alltt}\small}{\end{alltt}} \newcommand{\code}[1]{\texttt{\small #1}} \def\RR{\textsf{R}\xspace} \def\SP{\texttt{S-PLUS}\xspace} \def\SS{\texttt{S}\xspace} \SweaveOpts{keep.source=FALSE} \title{Creating Neighbours\footnote{This vignette formed pp. 239--251 of the first edition of Bivand, R. S., Pebesma, E. and G\'{o}mez-Rubio V. (2008) Applied Spatial Data Analysis with R, Springer-Verlag, New York. It was retired from the second edition (2013) to accommodate material on other topics, and is made available in this form with the understanding of the publishers.}} \author{Roger Bivand} \begin{document} \maketitle <>= owidth <- getOption("width") options("width"=90) ow <- getOption("warn") options("warn"=-1) .PngNo <- 0 @ <>= .iwidth <- 5 .iheight <- 6 .ipointsize <- 12 @ <>= <> @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 5, pointsize = 12, bg = "white") @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) @ <>= par(opar) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") @ <>= dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") @ \section{Introduction} Creating spatial weights is a necessary step in using areal data, perhaps just to check that there is no remaining spatial patterning in residuals. The first step is to define which relationships between observations are to be given a non-zero weight, that is to choose the neighbour criterion to be used; the second is to assign weights to the identified neighbour links. The 281 census tract data set for eight central New York State counties featured prominently in \citet{WallerGotway:2004} will be used in many of the examples,\footnote{The boundaries have been projected from geographical coordinates to UTM zone~18.} supplemented with tract boundaries derived from TIGER 1992 and distributed by SEDAC/CIESIN. This file is not identical with the boundaries used in the original source, but is very close and may be re-distributed, unlike the version used in the book. Starting from the census tract queen contiguities, where all touching polygons are neighbours, used in \citet{WallerGotway:2004} and provided as a DBF file on their website, a GAL format file has been created and read into \RR. \begin{footnotesize} <>= library(maptools) owd <- getwd() setwd(system.file("etc/shapes", package="spdep")) NY8 <- readShapeSpatial("NY8_utm18") library(spdep) setwd(system.file("etc/weights", package="spdep")) NY_nb <- read.gal("NY_nb.gal", region.id=row.names(NY8)) setwd(owd) @ \end{footnotesize} For the sake of simplicity in showing how to create neighbour objects, we work on a subset of the map consisting of the census tracts within Syracuse, although the same principles apply to the full data set. We retrieve the part of the neighbour list in Syracuse using the \code{subset} method. \begin{footnotesize} <>= Syracuse <- NY8[NY8$AREANAME == "Syracuse city",] Sy0_nb <- subset(NY_nb, NY8$AREANAME == "Syracuse city") summary(Sy0_nb) @ \end{footnotesize} \section{Creating Contiguity Neighbours} We can create a copy of the same neighbours object for polygon contiguities using the \code{poly2nb} function in \pkg{spdep}. It takes an object extending the \code{SpatialPolygons} class as its first argument, and using heuristics identifies polygons sharing boundary points as neighbours. It also has a \code{snap} argument, to allow the shared boundary points to be a short distance from one another. \begin{footnotesize} <>= class(Syracuse) Sy1_nb <- poly2nb(Syracuse) isTRUE(all.equal(Sy0_nb, Sy1_nb, check.attributes=FALSE)) @ \end{footnotesize} As we can see, creating the contiguity neighbours from the \code{Syracuse} object reproduces the neighbours from \citet{WallerGotway:2004}. Careful examination of Fig.\,\ref{fig:NY_nb} shows, however, that the graph of neighbours is not planar, since some neighbour links cross each other. By default, the contiguity condition is met when at least one point on the boundary of one polygon is within the snap distance of at least one point of its neighbour. This relationship is given by the argument \code{queen=TRUE} by analogy with movements on a chessboard. So when three or more polygons meet at a single point, they all meet the contiguity condition, giving rise to crossed links. If \code{queen=FALSE}, at least two boundary points must be within the snap distance of each other, with the conventional name of a `rook' relationship. Figure~\ref{fig:NB_queen} shows the crossed line differences that arise when polygons touch only at a single point, compared to the stricter rook criterion. \begin{footnotesize} <>= Sy2_nb <- poly2nb(Syracuse, queen=FALSE) isTRUE(all.equal(Sy0_nb, Sy2_nb, check.attributes=FALSE)) @ \end{footnotesize} \begin{figure}[!t] \centering <>= .iwidth <- 6 .iheight <- 4.5 .ipointsize <- 10 <> oopar <- par(mfrow=c(1,2), mar=c(3,3,1,1)+0.1) plot(Syracuse, border="grey60") plot(Sy0_nb, coordinates(Syracuse), add=TRUE, pch=19, cex=0.6) text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="a)", cex=0.8) plot(Syracuse, border="grey60") plot(Sy0_nb, coordinates(Syracuse), add=TRUE, pch=19, cex=0.6) plot(diffnb(Sy0_nb, Sy2_nb, verbose=FALSE), coordinates(Syracuse), add=TRUE, pch=".", cex=0.6, lwd=2) text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="b)", cex=0.8) par(oopar) <> <> @ \caption{(\textbf{a}) Queen-style census tract contiguities, Syracuse; (\textbf{b}) Rook-style contiguity differences shown as thicker lines} \label{fig:NB_queen}\vspace*{-6pt} \end{figure} If we have access to a GIS such as GRASS or ArcGIS\texttrademark, we can export the \code{SpatialPolygonsDataFrame} object and use the topology engine in the GIS to find contiguities in the graph of polygon edges -- a shared edge will yield the same output as the rook relationship. This procedure does, however, depend on the topology of the set of polygons being clean, which holds for this subset, but not for the full eight-county data set. Not infrequently, there are small artefacts, such as slivers where boundary lines intersect or diverge by distances that cannot be seen on plots, but which require intervention to keep the geometries and data correctly associated. When these geometrical artefacts are present, the topology is not clean, because unambiguous shared polygon boundaries cannot be found in all cases; artefacts typically arise when data collected for one purpose are combined with other data or used for another purpose. Topologies are usually cleaned in a GIS by `snapping' vertices closer than a threshold distance together, removing artefacts -- for example, snapping across a river channel where the correct boundary is the median line but the input polygons stop at the channel banks on each side. The \code{poly2nb} function does have a \code{snap} argument, which may also be used when input data possess geometrical artefacts. %FIXME \begin{footnotesize} <>= library(spgrass6) writeVECT6(Syracuse, "SY0") contig <- vect2neigh("SY0") @ <>= load("contig.RData") @ <>= Sy3_nb <- sn2listw(contig)$neighbours isTRUE(all.equal(Sy3_nb, Sy2_nb, check.attributes=FALSE)) @ \end{footnotesize} Similar approaches may also be used to read ArcGIS\texttrademark~coverage data by tallying the left neighbour and right neighbour arc indices with the polygons in the data set, using either \pkg{RArcInfo} or \pkg{rgdal}. In our Syracuse case, there are no exclaves or `islands' belonging to the data set, but not sharing boundary points within the snap distance. If the number of polygons is moderate, the missing neighbour links may be added interactively using the \code{edit} method for \code{nb} objects, and displaying the polygon background. The same method may be used for removing links which, although contiguity exists, may be considered void, such as across a mountain range. \section{Creating Graph-Based Neighbours} Continuing with irregularly located areal entities, it is possible to choose a point to represent the polygon-support entities. This is often the polygon centroid, which is not the average of the coordinates in each dimension, but takes proper care to weight the component triangles of the polygon by area. It is also possible to use other points, or if data are available, construct, for example population-weighted centroids. Once representative points are available, the criteria for neighbourhood can be extended from just contiguity to include graph measures, distance thresholds, and $k$-nearest neighbours. The most direct graph representation of neighbours is to make a Delaunay triangulation of the points, shown in the first panel in Fig.\,\ref{fig:NB_graph}. The neighbour relationships are defined by the triangulation, which extends outwards to the convex hull of the points and which is planar. Note that graph-based representations construct the interpoint relationships based on Euclidean distance, with no option to use Great Circle distances for geographical coordinates. \hbox{Because} it joins distant points around the convex hull, it may be worthwhile to thin the triangulation as a Sphere of Influence (SOI) graph, removing links that are relatively long. Points are SOI neighbours if circles centred on the points, of radius equal to the points' nearest neighbour distances, intersect in two places \citep{avis+horton:1985}.\footnote{Functions for graph-based neighbours were kindly contributed by Nicholas \hbox{Lewin-Koh.}} \begin{footnotesize} <>= coords <- coordinates(Syracuse) IDs <- row.names(as(Syracuse, "data.frame")) #FIXME library(tripack) Sy4_nb <- tri2nb(coords, row.names=IDs) if (require(rgeos, quietly=TRUE) && require(RANN, quietly=TRUE)) { Sy5_nb <- graph2nb(soi.graph(Sy4_nb, coords), row.names=IDs) } else Sy5_nb <- NULL Sy6_nb <- graph2nb(gabrielneigh(coords), row.names=IDs) Sy7_nb <- graph2nb(relativeneigh(coords), row.names=IDs) @ \end{footnotesize} \begin{figure}[!t] \centering <>= .iwidth <- 5 .iheight <- 3.5 .ipointsize <- 10 <> oopar <- par(mfrow=c(2,2), mar=c(1,1,1,1)+0.1) plot(Syracuse, border="grey60") plot(Sy4_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="a)", cex=0.8) plot(Syracuse, border="grey60") if (!is.null(Sy5_nb)) { plot(Sy5_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="b)", cex=0.8) } plot(Syracuse, border="grey60") plot(Sy6_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="c)", cex=0.8) plot(Syracuse, border="grey60") plot(Sy7_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="d)", cex=0.8) par(oopar) <> <> @ \caption{(\textbf{a}) Delauney triangulation neighbours; (\textbf{b}) Sphere of influence neighbours (if available); (\textbf{c}) Gabriel graph neighbours; (\textbf{d}) Relative graph neighbours} \label{fig:NB_graph}\vspace*{-12pt} \end{figure} Delaunay triangulation neighbours and SOI neighbours are symmetric by design -- if $i$ is a neighbour of $j$, then $j$ is a neighbour of $i$. The Gabriel graph is also a subgraph of the Delaunay triangulation, retaining a different set of neighbours \citep{matula+sokal:80}. It does not, however, guarantee symmetry; the same applies to Relative graph neighbours \citep{toussaint:80}. The \code{graph2nb} function takes a \code{sym} argument to insert links to restore symmetry, but the graphs then no longer exactly fulfil their neighbour criteria. All the graph-based neighbour schemes always ensure that all the points will have at least one neighbour. Subgraphs of the full triangulation may also have more than one graph after trimming. The functions \code{is.symmetric.nb} can be used to check for symmetry, with argument \code{force=TRUE} if the symmetry attribute is to be overridden, and \code{n.comp.nb} reports the number of graph components and~the components to which points belong (after enforcing symmetry, because the algorithm assumes that the graph is not directed). When there are more than one graph component, the matrix representation of the spatial weights can become block-diagonal if observations are appropriately sorted. \begin{footnotesize} <>= nb_l <- list(Triangulation=Sy4_nb, Gabriel=Sy6_nb, Relative=Sy7_nb) if (!is.null(Sy5_nb)) nb_l <- c(nb_l, list(SOI=Sy5_nb)) sapply(nb_l, function(x) is.symmetric.nb(x, verbose=FALSE, force=TRUE)) sapply(nb_l, function(x) n.comp.nb(x)$nc) @ \end{footnotesize} \section{Distance-Based Neighbours} An alternative method is to choose the $k$ nearest points as neighbours -- this adapts across the study area, taking account of differences in the densities of areal entities. Naturally, in the overwhelming majority of cases, it leads to asymmetric neighbours, but will ensure that all areas have $k$ neighbours. The \code{knearneigh} returns an intermediate form converted to an \code{nb} object by \code{knn2nb}; \code{knearneigh} can also take a \code{longlat} argument to handle geographical coordinates. \begin{footnotesize} <>= Sy8_nb <- knn2nb(knearneigh(coords, k=1), row.names=IDs) Sy9_nb <- knn2nb(knearneigh(coords, k=2), row.names=IDs) Sy10_nb <- knn2nb(knearneigh(coords, k=4), row.names=IDs) nb_l <- list(k1=Sy8_nb, k2=Sy9_nb, k4=Sy10_nb) sapply(nb_l, function(x) is.symmetric.nb(x, verbose=FALSE, force=TRUE)) sapply(nb_l, function(x) n.comp.nb(x)$nc) @ \end{footnotesize} \begin{figure}[!t] \centering <>= .iwidth <- 5 .iheight <- 2.5 .ipointsize <- 10 <> oopar <- par(mfrow=c(1,3), mar=c(1,1,1,1)+0.1) plot(Syracuse, border="grey60") plot(Sy8_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="a)", cex=0.8) plot(Syracuse, border="grey60") plot(Sy9_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="b)", cex=0.8) plot(Syracuse, border="grey60") plot(Sy10_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="c)", cex=0.8) par(oopar) <> <> @ \caption{(\textbf{a}) $k=1$ neighbours; (\textbf{b}) $k=2$ neighbours; (\textbf{c}) $k=4$ neighbours} \label{fig:NB_knn} \end{figure} Figure~\ref{fig:NB_knn} shows the neighbour relationships for $k = 1, 2, 4$, with many components for $k=1$. If need be, $k$-nearest neighbour objects can be made symmetrical using the \code{make.sym.nb} function. The $k=1$ object is also useful in finding the minimum distance at which all areas have a distance-based neighbour. Using the \code{nbdists} function, we can calculate a list of vectors of distances corresponding to the neighbour object, here for first nearest neighbours. The greatest value will be the minimum distance needed to make sure that all the areas are linked to at least one neighbour. The \code{dnearneigh} function is used to find neighbours with an interpoint distance, with arguments \code{d1} and \code{d2} setting the lower and upper distance bounds; it can also take a \code{longlat} argument to handle geographical coordinates. \begin{footnotesize} <>= dsts <- unlist(nbdists(Sy8_nb, coords)) summary(dsts) max_1nn <- max(dsts) max_1nn Sy11_nb <- dnearneigh(coords, d1=0, d2=0.75*max_1nn, row.names=IDs) Sy12_nb <- dnearneigh(coords, d1=0, d2=1*max_1nn, row.names=IDs) Sy13_nb <- dnearneigh(coords, d1=0, d2=1.5*max_1nn, row.names=IDs) nb_l <- list(d1=Sy11_nb, d2=Sy12_nb, d3=Sy13_nb) sapply(nb_l, function(x) is.symmetric.nb(x, verbose=FALSE, force=TRUE)) sapply(nb_l, function(x) n.comp.nb(x)$nc) @ \end{footnotesize} \begin{figure}[!t] \centering <>= .iwidth <- 5 .iheight <- 2.5 .ipointsize <- 10 <> oopar <- par(mfrow=c(1,3), mar=c(1,1,1,1)+0.1) plot(Syracuse, border="grey60") plot(Sy11_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="a)", cex=0.8) plot(Syracuse, border="grey60") plot(Sy12_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="b)", cex=0.8) plot(Syracuse, border="grey60") plot(Sy13_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="c)", cex=0.8) par(oopar) <> <> @ \caption{(\textbf{a}) Neighbours within 1,158\,m; (\textbf{b}) neighbours within 1,545\,m; (\textbf{c}) neighbours within 2,317\,m} \label{fig:NB_dnn} \end{figure} \begin{figure}[!t] \centering <>= .iwidth <- 5 .iheight <- 2.5 .ipointsize <- 10 <> oopar <- par(mfrow=c(1,3), mar=c(1,1,1,1)+0.1) plot(Syracuse, border="grey60") plot(Sy11_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="a)", cex=0.8) plot(Syracuse, border="grey60") plot(Sy12_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="b)", cex=0.8) plot(Syracuse, border="grey60") plot(Sy13_nb, coords, add=TRUE, pch=".") text(bbox(Syracuse)[1,1], bbox(Syracuse)[2,2], labels="c)", cex=0.8) par(oopar) <> <> @ \caption{Distance-based neighbours: frequencies of numbers of neighbours by census tract} \label{fig:NB_dnn_cards} \end{figure} Figure~\ref{fig:NB_dnn} shows how the numbers of distance-based neighbours increase with moderate increases in distance. Moving from $0.75$ times the minimum all-included distance, to the all-included distance, and $1.5$ times the minimum \hbox{all-included} distance, the numbers of links grow rapidly. This is a major problem when some of the first nearest neighbour distances in a study area are much larger than others, since to avoid no-neighbour areal entities, the distance criterion will need to be set such that many areas have many neighbours. Figure~\ref{fig:NB_dnn_cards} shows the counts of sizes of sets of neighbours for the three different distance limits. In Syracuse, the census tracts are of similar areas, but were we to try to use the distance-based neighbour criterion on the eight-county study area, the smallest distance securing at least one neighbour for every areal entity is over 38\,km. \begin{footnotesize} <>= dsts0 <- unlist(nbdists(NY_nb, coordinates(NY8))) summary(dsts0) @ \end{footnotesize} If the areal entities are approximately regularly spaced, using distance-based neighbours is not necessarily a problem. Provided that care is taken to handle the side effects of ``weighting'' areas out of the analysis, using lists of neighbours with no-neighbour areas is not necessarily a problem either, but certainly ought to raise questions. Different disciplines handle the definition of neighbours in their own ways by convention; in particular, it seems that ecologists frequently use distance bands. If many distance bands are used, they approach the variogram, although the underlying understanding of spatial autocorrelation seems to be by contagion rather than continuous. \section{Higher-Order Neighbours} Distance bands can be generated by using a sequence of \code{d1} and \code{d2} argument values for the \code{dnearneigh} function if needed to construct a spatial autocorrelogram as understood in ecology. In other conventions, correlograms are constructed by taking an input list of neighbours as the first-order sets, and stepping out across the graph to second-, third-, and higher-order neighbours based on the number of links traversed, but not permitting cycles, which could risk making $i$ a neighbour of $i$ itself \citep[][p. 203]{osullivan+unwin:03}. The \code{nblag} function takes an existing neighbour list and returns a list of lists, from first to \code{maxlag} order neighbours. \begin{footnotesize} <>= Sy0_nb_lags <- nblag(Sy0_nb, maxlag=9) @ \end{footnotesize} y \enlargethispage*{1pc} \begin{table}[!b] \tabcolsep5pt \vspace*{-6pt} \centering \caption{Higher-order contiguities: frequencies of numbers of neighbours by order of neighbour list} \label{tab:nblag} \begin{footnotesize}\vspace*{-6pt} \addvspace{5pt} <>= library(xtable) names(Sy0_nb_lags) <- c("first", "second", "third", "fourth", "fifth", "sixth", "seventh", "eighth", "ninth") res <- sapply(Sy0_nb_lags, function(x) table(card(x))) mx <- max(unlist(sapply(Sy0_nb_lags, function(x) card(x)))) nn <- length(Sy0_nb_lags) res1 <- matrix(0, ncol=(mx+1), nrow=nn) rownames(res1) <- names(res) colnames(res1) <- as.character(0:mx) for (i in 1:nn) res1[i, names(res[[i]])] <- res[[i]] print(xtable(t(res1), align=c("r", "|", rep("r", nn)), digits=0), floating=FALSE) @ \end{footnotesize} \end{table} {\spaceskip3pt plus2pt minus2pt Table~\ref{tab:nblag} shows how the wave of connectedness in the graph spreads to the third order, receding to the eighth order, and dying away at the ninth\break order -- there are no tracts nine steps from each other in this graph. Both the distance bands and the graph step order approaches to spreading neighbour\-hoods can be used to examine the shape of relationship intensities in space, like the variogram, and can be used in attempting to look at the effects of scale.} \section{Grid Neighbours} When the data are known to be arranged in a regular, rectangular grid, the \code{cell2nb} function can be used to construct neighbour lists, including those on a torus. These are useful for simulations, because, since all areal entities have equal numbers of neighbours, and there are no edges, the structure of the graph is as neutral as can be achieved. Neighbours can either be of type rook or queen. \begin{footnotesize} <>= cell2nb(7, 7, type="rook", torus=TRUE) cell2nb(7, 7, type="rook", torus=FALSE) @ \end{footnotesize} When a regular, rectangular grid is not complete, then we can use knowledge of the cell size stored in the grid topology to create an appropriate list of neighbours, using a tightly bounded distance criterion. Neighbour lists of this kind are commonly found in ecological assays, such as studies of species richness at a national or continental scale. It is also in these settings, with moderately large $n$, here $n=3$,103, that the use of a sparse, list based representation shows its strength. Handling a $281 \times 281$ matrix for the eight-county census tracts is feasible, easy for a $63 \times 63$ matrix for Syracuse census tracts, but demanding for a 3,$103 \times 3$,103 matrix. \begin{footnotesize} <>= data(meuse.grid) coordinates(meuse.grid) <- c("x", "y") gridded(meuse.grid) <- TRUE dst <- max(slot(slot(meuse.grid, "grid"), "cellsize")) mg_nb <- dnearneigh(coordinates(meuse.grid), 0, dst) mg_nb table(card(mg_nb)) @ \end{footnotesize} \begin{thebibliography}{} \bibitem[Avis and Horton, 1985]{avis+horton:1985} Avis, D. and Horton, J. (1985). Remarks on the sphere of influence graph. In Goodman, J.~E., editor, {\em Discrete Geometry and Convexity}. New York Academy of Sciences, New York, pp 323--327. \bibitem[Matula and Sokal, 1980]{matula+sokal:80} Matula, D.~W. and Sokal, R.~R. (1980). Properties of {G}abriel graphs relevant to geographic variation research and the clustering of points in the plane. {\em Geographic Analysis}, 12:205--222. \bibitem[O'Sullivan and Unwin, 2003]{osullivan+unwin:03} O'Sullivan, D. and Unwin, D.~J. (2003). {\em Geographical Information Analysis}. Wiley, Hoboken, NJ. \bibitem[Toussaint, 1980]{toussaint:80} Toussaint, G.~T. (1980). The relative neighborhood graph of a finite planar set. {\em Pattern Recognition}, 12:261--268. \bibitem[Waller and Gotway, 2004]{WallerGotway:2004} Waller, L.~A. and Gotway, C.~A. (2004). \newblock {\em Applied Spatial Statistics for Public Health Data}. \newblock John Wiley \& Sons, Hoboken, NJ. \end{thebibliography} \end{document} spdep/vignettes/nb_igraph.Rmd0000644000176200001440000004407113073150206015775 0ustar liggesusers # Spatial weights objects as sparse matrices and graphs ====================================================== ## Introduction ====================================================== Since the **spdep** package was created, *spatial weights* objects have been constructed as lists with three components and a few attributes, in old-style class `listw` objects. The first component of a `listw` object is an `nb` object, a list of `n` integer vectors, with at least a character vector `region.id` attribute with `n` unique values (like the `row.names` of a `data.frame` object); `n` is the number of spatial entities. Component `i` of this list contains the integer identifiers of the neighbours of `i` as a sorted vector with no duplication and values in `1:n`; if `i` has no neighbours, the component is a vector of length `1` with value `0L`. The `nb` object may contain an attribute indicating whether it is symmetric or not, that is whether `i` is a neighbour of `j` implies that `j` is a neighbour of `i`. Some neighbour definitions are symmetric by construction, such as contiguities or distance thresholds, others are asymmetric, such as `k`-nearest neighbours. The `nb` object redundantly stores both `i`-`j` and `j`-`i` links. The second component of a `listw` object is a list of `n` numeric vectors, each of the same length as the corresponding non-zero vectors in the `nb`object. These give the values of the spatial weights for each `i`-`j` neighbour pair. It is often the case that while the neighbours are symmetric by construction, the weights are not, as for example when weights are *row-standardised* by dividing each row of input weights by the count of neighbours or cardinality of the neighbour set of `i`. In the `nb2listw`function, it is also possible to pass through general weights, such as inverse distances, shares of boundary lengths and so on. The third component of a `listw` object records the `style` of the weights as a character code, with `"B"` for binary weights taking values zero or one (only one is recorded), `"W"` for row-standardised weights, and so on. In order to subset `listw` objects, knowledge of the `style` may be necessary It is obvious that this is similar to the way in which sparse matrices are stored, either by row - like the `listw` object, or by column. The key insight is that storing zero values is unnecessary, as we only need to store the row and column locations of non-zero values. Early on, a Netlib library was used to provide limited support in **spdep** for sparse matrices, followed by functionality in **SparseM**, **spam**, and **Matrix**. ### **spdep** depends on **Matrix** Since **Matrix** is a recommended package, its functionality has increasingly been used over time, and it has become one of two packages on which **spdep** depends. This is reported on loading: ```{r} library(spdep) ``` ### Getting some data The legacy Columbus OH data set has 49 spatial entities, polygons, defined as the boundaries of policing districts in the city. **spdep** suggests **maptools** for portability, but in regular applications, **rgdal** should be used, because it handles coordinate reference systems more gracefully. We see that the shapefile-based entity IDs are zero-based: ```{r} library(maptools) columbus <- readShapePoly(system.file("etc/shapes/columbus.shp", package="spdep")[1]) row.names(columbus)[1:10] ``` ### Finding contiguous neighbours and droppping links Contiguous neighbours are often used for polygonal spatial entities, here with the **poly2nb** function defaulting to the *queen* criterion - entities are neighbours if they share a boundary point. We see that the entity IDs are copied across to the `nb` object: ```{r} nb_q <- poly2nb(columbus) nb_q attr(nb_q, "region.id")[1:10] is.symmetric.nb(nb_q) ``` In order to make the object more complicated, let us drop the neighbour links for the 21st entity (noting that the print method reports the ID of the entity with no neighbours, not its number in `1:n`), and plot the resulting map of neighbours: ```{r} col2 <- droplinks(nb_q, 21) nb_q[[21]] col2[[21]] col2 is.symmetric.nb(col2) coords <- coordinates(columbus) plot(nb_q, coords, col="grey") plot(col2, coords, add=TRUE) ``` ## Using sparse matrices to represent spatial weights ====================================================== At present only `listw` objects can be coerced to objects of classes defined in **Matrix**. Because the `style` is lost on coercion, it may not be possible to reconstruct spatial weights as the sparse matrix representation does not preserve it. We will start with symmetric binary weights, first creating a spatial weights object, and signalling that one entity has no neighbours with the `zero.policy` argument (default false). The matrix and graph representations of no-neighbour entities are not obvious. ```{r} nb_B <- nb2listw(col2, style="B", zero.policy=TRUE) nb_B$style ``` ### Symmetric sparse matrices **spdep** provides coercion methods from `listw` to the `"symmetricMatrix"`, `"RsparseMatrix"` and `"CsparseMatrix"` classes defined in **Matrix**. The `"RsparseMatrix"` is the representation that is most similar to `listw`, as it is row-based, but it is used less frequently in operations on sparse matrices. The entity IDs are passed using sparse matrix row and column names at present. Here we believe that our `listw` object can be represented as a symmetric matrix, storing only a triangle rather than both `i`-`j` and `j`-`i` weights. The coercion method does check whether symmetry is present before proceeding: ```{r} B <- as(nb_B, "symmetricMatrix") all(B == t(B)) str(B) rownames(B)[1:10] ``` Let us now try to retreive the list of neighbours from the symmetric sparse matrix. At present, we have to coerce from one **Matrix** internal representation to another in order to get to the `"dgCMatrix"` format used inside `mat2listw`, so we coerce to `"dgTMatrix"` from `"dsTMatrix"`. The style is not retreived automatically, but is set to `"M"` to indicate conversion from a matrix. The neighbour links are retreived correctly, as are the IDs: ```{r} nb_B1 <- mat2listw(as(B, "dgTMatrix")) nb_B1$style all.equal(nb_B1$neighbours, col2, check.attributes=FALSE) all.equal(attr(nb_B1$neighbours, "region.id"), attr(nb_B$neighbours, "region.id")) ``` ### Log determinants (symmetric weights) used in spatial regression An initial reason for implementing support for sparse weights matrices in **spdep** was to permit the calculation of the log determinant term in spatial regressions for larger data sets. Using the eigenvalue approach with for example `eigenw` is limited by the need to operate on dense matrices in memory to solve the eigenproblem: ```{r} rho <- 0.1 sum(log(1 - rho * eigenw(nb_B))) ``` When `n` is large, this may become impractical and/or time-consuming, but does permit the rapid calculation of values of the log determinant for differing values of the spatial coefficient \( \rho \). The **Matrix** package provides many `determinant` methods, here for a `"dsCMatrix"` resulting from subtracting a `"dsCMatrix"`, the product of a scalar and a `"dsTMatrix"`, from a `"ddiMatrix"`. The value of the log determinant follows, calling a sparse Cholesky decomposition internally for suitable input matrices. ```{r} n <- nrow(B) I <- Diagonal(n) class(I - rho * B) c(determinant(I - rho * B, logarithm=TRUE)$modulus) ``` The computation of a sparse Cholesky decomposition for each value of the spatial coefficient \( \rho \) may be avoided by updating a pre-computed object; this approach provides fast and accurate log determinants for larger (but not very large) data sets: ```{r} nW <- -B nChol <- Cholesky(nW, Imult=8) n * log(rho) + (2 * c(determinant(update(nChol, nW, 1/rho))$modulus)) ``` ### Asymmetric sparse matrices The use of row-standardisation leads to asymmetry even if the underlying neighbours are symmetric, unless all entities have matching numbers of neighbours (for example a regular grid on a torus): ```{r} nb_W <- nb2listw(col2, style="W", zero.policy=TRUE) W <- as(nb_W, "CsparseMatrix") str(W) all(W == t(W)) ``` The `lag` method for `listw` objects is often used to create spatially lagged values, and returns the same values as the vector given by the product of the sparse general matrix and an input numeric vector. Note that by setting `zero.policy` to `TRUE`, the spatial lag of entity 21, which has no neighbours, is zero by construction: ```{r} set.seed(1) x <- runif(n) r1 <- as.numeric(W %*% x) r2 <- lag(nb_W, x, zero.policy=TRUE) all.equal(r1, r2, check.attributes=FALSE) plot(x, r1, ylim=c(0,1)) c(x[21], r1[21]) ``` ### Log determinants (asymmetric weights) used in spatial regression Calculating the log determinant for asymmetric weights (here with symmetric neighbours and symmetry induced by non-constant numbers of neighbours) may be carried out using eigenvalues as before, but the result may be a complex vector (here it is not, as discussed below). The appropriate `determinant` method for `"dgCMatrix"` objects uses an LU decomposition internally: ```{r} rho <- 0.5 sum(log(1 - rho * eigenw(nb_W))) class(I - rho * W) c(determinant(I - rho * W, logarithm=TRUE)$modulus) ``` We can show the internal workings of the method as: ```{r} LU <- lu(I - rho * W) sum(log(abs(diag(slot(LU, "U"))))) ``` ### Log determinants: symmetric by similarity The `nb2listw` function stores components that can be employed to transform the asymmetric weights matrix to symmetry by similarity, permitting the same log determinant to be computed using less costly numerical methods. The `"W"` style used the cardinalities of neighbour sets (row sums) to introduce row standardisation, and they are stored as an attribute: ```{r} d <- attr(nb_W$weights, "comp")$d all.equal(d, card(col2)) ``` If we first restore the row-standarised matrix to its binary form (which must be symmetric), we can pre- and post-multiply by the square roots of the inverted neighbour counts, yielding a symmetric matrix with the appropriate properties: ```{r} dW <- Diagonal(n, d) %*% W all(dW == t(dW)) isd <- Diagonal(n, 1/sqrt(d)) isd[21,21] Ws <- as(isd %*% dW %*% isd, "symmetricMatrix") rowSums(Ws)[21] class(Ws) c(determinant(I - rho * Ws, logarithm=TRUE)$modulus) ``` As can be seen, the division by the square root of zero for entity 21 is not a problem as the row of `dW` is zero. The transformation by similarity permits the use of numerical methods for sparse symmetric matrices (and equivalently for eigenvalues and dense matrices). Note that this transformation is not available for intrinsically asymmetric neighbours, or for intrinsically asymmetric general weights. ### Using `arpack` in **igraph** for finding some eigenvalues In spatial regression, the domain of the spatial coefficient is given by the inverse of the maximum and minimum eigenvalues. When `n` is moderate, we have the eigenvalues anyway, so the interval for line search is available without extra effort. When `n` is somewhat larger, use may be made of the `arpack` function in **igraph**. The function is not stable and requires manual tuning, so its use is commented out here: ```{r} 1/range(eigenw(nb_B)) library(igraph) #f2 <- function(x, extra=NULL) {as.vector(B %*% x)} #1/arpack(f2, sym=TRUE, options=list(n=n, nev=1, ncv=8, which="LA", maxiter=200))$values #1/arpack(f2, sym=TRUE, options=list(n=n, nev=1, ncv=8, which="SA", maxiter=200))$values # At line 409 of file dsaupd.f: Fortran runtime error: Actual string # length is shorter than the declared one for dummy argument 'which' (0/2) #1/arpack(f2, sym=TRUE, options=list(n=n, nev=2, ncv=8, which="BE", maxiter=200))$values # "BE" gives: At line 558 of file dsaup2.f: Fortran runtime error: # Index '9' of dimension 1 of array 'bounds' above upper bound of 8 ``` In this case, the results are trivial with small `n` and a symmetric sparse matrix. It can be challenging to find the `maxiter=` cutoff for larger `n`; the `which="BE"` argument takes both ends here. ```{r} 1/range(eigenw(nb_W)) f2 <- function(x, extra=NULL) {as.vector(W %*% x)} #1/arpack(f2, sym=FALSE, options=list(n=n, nev=1, ncv=8, which="LR", maxiter=200))$values #1/arpack(f2, sym=FALSE, options=list(n=n, nev=1, ncv=8, which="SR", maxiter=200))$values # At line 409 of file dsaupd.f: Fortran runtime error: Actual string # length is shorter than the declared one for dummy argument 'which' (0/2) ``` For asymmetric matrices, we need to go to each end separately, so finding the domain bounds can be hard. Using row-standardisation has the nice feature of setting the upper bound to unity, and there are graph methods for finding out whether the lower bound is `-1`. ## Using **igraph** for spatial weights as graphs ====================================================== ### Converting from symmetric adjacency matrix to graph First we'll see how to get from sparse matrices to graphs. The mode of a symmetric matrix is `"undirected"` by definition: ```{r} class(B) object.size(B) library(igraph) g1 <- graph.adjacency(B, mode="undirected") class(g1) object.size(g1) ``` ### Converting from graph to symmetric adjacency matrix We can also convert this graph pack to the same matrix, but note that `get.adjacency` chooses a particular class of sparse matrix to be returned, so that the conversion process typically leads many matrices to fewer graph types, and back to fewer matrix types: ```{r} B1 <- get.adjacency(g1) class(B1) object.size(B1) all.equal(B, as(as(B1, "dgTMatrix"), "symmetricMatrix")) ``` ### Graph components in **spdep** A simple example of using **igraph** to do the same as an existing **spdep** function is Nicholas Lewin-Koh's `n.comp.nb` from the early days of the package. It is useful to know whether an `nb` object is divided up into separate subgraphs, and which entities are members of which such subgraph. ```{r} res <- n.comp.nb(col2) table(res$comp.id) ``` ### Graph components in **igraph** The same result can be obtained using the `clusters` function in **igraph**: ```{r} c1 <- clusters(g1) c1$no == res$nc all.equal(c1$membership, res$comp.id) all.equal(c1$csize, c(table(res$comp.id)), check.attributes=FALSE) ``` The same holds for the row-standardised variant: ```{r} W <- as(nb2listw(col2, style="W", zero.policy=TRUE), "CsparseMatrix") g1W <- graph.adjacency(W, mode="directed", weighted="W") c1W <- clusters(g1W) all.equal(c1W$membership, res$comp.id) ``` ### Shortest paths in weights matrices: **igraph** Finding shortest paths between spatial entities across a given graph is a way to express closeness. If the graph is connected, that is that it is possible to traverse the graph edges from any node to any other, the longest shortest path is then a useful measure. In **igraph**, the `is.connected` function tells us tells us that our graph is not connected, as we know from the figure above. The diameter measure is then the diameter of the largest component subgraph. Note that this generates an `n` x `n` matrix: ```{r} is.connected(g1) dg1 <- diameter(g1) dg1 sp_mat <- shortest.paths(g1) str(sp_mat) ``` ### Shortest paths in weights matrices: **spdep** If we do the same in **spdep**, using `nblag` to a maximum number of lag orders - the diameter, but which is unknown in advance (the largest lag order for which the number of links is greater than zero), we run into the problem of how to represent missing neighbour information. ```{r} nbl10 <- nblag(col2, maxlag=10) vals <- sapply(nbl10, function(x) sum(card(x))) zero <- which(vals == 0) zero[1]-1 ``` If we insert zero into the weights matrix where there is no connection using `zero.policy=TRUE`, we generate a zero shortest path. If we are to create a matrix that matches the one produced by `shortest.paths`, we need to set all these non-structural zeros to infinity (the length of the path between unconnected nodes), and re-instate structural zeros on the diagonal: ```{r} lmat <- lapply(nbl10[1:(zero[1]-1)], nb2mat, style="B", zero.policy=TRUE) mat <- matrix(0, n, n) for (i in seq(along=lmat)) mat = mat + i*lmat[[i]] mat[mat==0] <- Inf diag(mat) <- 0 all.equal(mat, sp_mat, check.attributes=FALSE) ``` ### Smirnov/Anselin (2009) cyclical matrices Another area in which a graph representation might prove useful is in trying to establish the domain of the spatial coefficient when spatial weights are row-standardised. In that case by construction we know that the maximum eigenvalue is 1. If there are multiple blocks, that is graph components, where the numbers of nodes per block are greater than 1, then each will have a maximum eigenvalue of 1. The remaining problems are the numbers of zero eigenvalues (at least the singleton graph components), and whether any non-singleton component fulfills the condition termed by Smirnov and Anselin (2009) a cyclical matrix, for which the minimum eigenvalue is -1. The term cyclical appears to be used in many different ways, and it is not clear that its use here after Smirnov and Anselin (2009, pp. 2984-2985) indicates which meaning should be used to find the relevant graph function. The definition used here is that a block matrix (subgraph) is cyclical if: "for every location, every pair of its neighbours are not connected." That is, if w[i,j] and w[i,k] are greater than zero, w[j,k] must be zero to meet the condition. The internal function find_q1_q2 returns the number of non-singleton components, and the number of these that meet this condition. It does this for each block/subgraph by testing the condition until it meets w[j,k] > 0, at which point it breaks. Smirnov and Anselin (2009) state that rook neighbours on a regular grid meet the condition: ```{r} nb_r <- cell2nb(7, 7, type="rook") nb_rW <- nb2listw(nb_r, style="W") spdep:::find_q1_q2(nb_rW) ``` One block/graph component is found, and this one meets the cyclical matrix condition, as also shown by the domain: ```{r} 1/range(Re(eigenw(similar.listw(nb_rW)))) ``` This does not apply to the spatial weights we have been using above, with two non-singleton components, neither meeting the cyclical matrix condition: ```{r} spdep:::find_q1_q2(nb_W) 1/range(Re(eigenw(similar.listw(nb_W)))) ``` By construction, all two-node connected graph components also meet the condition, as the eigenvalues sum to zero, and the maximum is unity, so the minimum must be -1. spdep/vignettes/CO69.Rnw0000644000176200001440000011271312500306240014542 0ustar liggesusers%\VignetteIndexEntry{The Problem of Spatial Autocorrelation} %\VignetteDepends{} %\VignetteKeywords{spatial} %\VignettePackage{spdep} \documentclass[a4paper,10pt]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} %\usepackage[dvips]{graphicx,color} \usepackage{times} \usepackage{hyperref} \usepackage{natbib} \usepackage[english]{babel} \usepackage{xspace} \usepackage{Sweave} \usepackage{mathptm} \usepackage{natbib} \setkeys{Gin}{width=0.95\textwidth} \newcommand{\strong}[1]{{\normalfont\fontseries{b}\selectfont #1}} \let\pkg=\strong \RequirePackage{alltt} \newenvironment{example}{\begin{alltt}}{\end{alltt}} \newenvironment{smallexample}{\begin{alltt}\small}{\end{alltt}} \newcommand{\code}[1]{\texttt{\small #1}} \def\RR{\textsf{R}\xspace} \def\SP{\texttt{S-PLUS}\xspace} \def\SS{\texttt{S}\xspace} \SweaveOpts{keep.source=FALSE} \title{``The Problem of Spatial Autocorrelation:'' forty years on} \author{Roger Bivand} \begin{document} \maketitle <>= owidth <- getOption("width") options("width"=90) ow <- getOption("warn") options("warn"=-1) .PngNo <- 0 @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 3.5, pointsize = 12, bg = "white") @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 5, pointsize = 12, bg = "white") @ <>= .PngNo <- .PngNo + 1; file <- paste("Fig-bitmap-", .PngNo, ".pdf", sep="") pdf(file=file, width = 6.5, height = 5, pointsize = 12, bg = "white") opar <- par(mar=c(3,3,1,1)+0.1) @ <>= par(opar) dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") @ <>= dev.null <- dev.off() cat("\\includegraphics[width=0.95\\textwidth]{", file, "}\n\n", sep="") @ \section{Introduction} \citet{cliff+ord:69}, published forty years ago, marked a turning point in the treatment of spatial autocorrelation in quantitative geography. It provided the framework needed by any applied researcher to attempt an implementation for a different system, possibly using a different programming language. In this spirit, here we examine how spatial weights have been represented in implementations and may be reproduced, how the tabulated results in the paper may be reproduced, and how they may be extended to cover simulation. One of the major assertions of \citet{cliff+ord:69} is that their statistic advances the measurement of spatial autocorrelation with respect to \citet{moran:50} and \citet{geary:54} because a more general specification of spatial weights could be used. This more general form has implications both for the preparation of the weights themselves, and for the calculation of the measures. We will look at spatial weights first, before moving on to consider the measures presented in the paper and some of their subsequent developments. Before doing this, we will put together a data set matching that used in \citet{cliff+ord:69}. They provide tabulated data for the counties of the Irish Republic, but omit Dublin from analyses. A shapefile included in this package, kindly made available by Michael Tiefelsdorf, is used as a starting point: \begin{footnotesize} <>= library(spdep) require(maptools) fn <- system.file("etc/shapes/eire.shp", package="spdep")[1] prj <- CRS("+proj=utm +zone=30 +units=km +ellps=mod_airy") eire <- readShapeSpatial(fn, ID="names", proj4string=prj) @ <>= class(eire) names(eire) @ \end{footnotesize} \noindent and read into a SpatialPolygonsDataFrame --- classes used for handling spatial data in \RR are fully described in \citet{bivandetal:08}. To this we need to add the data tabulated in the paper in Table 2,\footnote{cropped scans of tables are available from \url{http://spatial.nhh.no/R/etc/CO69-PNGs.zip}.} p. 40, here in the form of a text file with added rainfall values from Table 9, p. 49: \begin{footnotesize} <>= fn <- system.file("etc/misc/geary_eire.txt", package="spdep")[1] ge <- read.table(fn, header=TRUE) names(ge) @ \end{footnotesize} Since we assigned the county names as feature identifiers when reading the shapefiles, we do the same with the extra data, and combine the objects: \begin{footnotesize} <>= row.names(ge) <- as.character(ge$county) all.equal(row.names(ge), row.names(eire)) eire_ge <- spCbind(eire, ge) @ \end{footnotesize} \noindent Finally, we need to drop the Dublin county omitted in the analyses conducted in \citet{cliff+ord:69}: \begin{footnotesize} <>= eire_ge1 <- eire_ge[!(row.names(eire_ge) %in% "Dublin"),] length(row.names(eire_ge1)) @ \end{footnotesize} \noindent To double-check our data, let us calculate the sample Beta coefficients, using the formulae given in the paper for sample moments: \begin{footnotesize} <>= skewness <- function(z) {z <- scale(z, scale=FALSE); ((sum(z^3)/length(z))^2)/((sum(z^2)/length(z))^3)} kurtosis <- function(z) {z <- scale(z, scale=FALSE); (sum(z^4)/length(z))/((sum(z^2)/length(z))^2)} @ \end{footnotesize} \noindent These differ somewhat from the ways in which skewness and kurtosis are computed in modern statistical software, see for example \citet{joanes+gill:98}. However, for our purposes, they let us reproduce Table 3, p. 42: \begin{footnotesize} <>= print(sapply(as(eire_ge1, "data.frame")[13:24], skewness), digits=3) print(sapply(as(eire_ge1, "data.frame")[13:24], kurtosis), digits=4) print(sapply(as(eire_ge1, "data.frame")[c(13,16,18,19)], function(x) skewness(log(x))), digits=3) print(sapply(as(eire_ge1, "data.frame")[c(13,16,18,19)], function(x) kurtosis(log(x))), digits=4) @ \end{footnotesize} \noindent Using the tabulated value of $23.6$ for the percentage of agricultural holdings above 50 in 1950 in Waterford, the skewness and kurtosis cannot be reproduced, but by comparison with the \code{irishdata} dataset in \pkg{ade4}, it turns out that the value should rather be $26.6$, which yields the tabulated skewness and kurtosis values. Before going on, the variables considered are presented in Table \ref{vars}. \begin{table}[htb] \begin{center} \caption{Description of variables in the Geary data set.} \label{vars} \begin{footnotesize} \addvspace{5pt} \begin{tabular}{ll} \hline variable & description \\ \hline pagval2\_10 & Percentage number agricultural holdings in valuation group £2--£10 (1950) \\ pagval10\_50 & Percentage number agricultural holdings in valuation group £10--£50 (1950) \\ pagval50p & Percentage number agricultural holdings in valuation group above £50 (1950) \\ cowspacre & Milch cows per 1000 acres crops and pasture (1952) \\ ocattlepacre & Other cattle per 1000 acres crops and pasture (1952) \\ pigspacre & Pigs per 1000 acres crops and pasture (1952) \\ sheeppacre & Sheep per 1000 acres crops and pasture (1952) \\ townvillp & Town and village population as percentage of total (1951) \\ carspcap & Private cars registered per 1000 population (1952) \\ radiopcap & Radio licences per 1000 population (1952) \\ retailpcap & Retail sales £ per person (1951) \\ psinglem30\_34 & Single males as percentage of all males aged 30--34 (1951) \\ rainfall & Average of rainfall for stations in Ireland, 1916--1950, mm \\ \hline \end{tabular} \end{footnotesize} \end{center} \end{table} \section{Spatial weights} As a basis for comparison, we will first read the unstandardised weighting matrix given in Table A1, p. 54, of the paper, reading a file corrected for the misprint giving O rather than D as a neighbour of V: \begin{footnotesize} <>= fn <- system.file("etc/misc/unstand_sn.txt", package="spdep")[1] unstand <- read.table(fn, header=TRUE) summary(unstand) @ \end{footnotesize} \noindent In the file, the counties are represented by their serial letters, so ordering and conversion to integer index representation is required to reach a representation similar to that of the \SP SpatialStats module for spatial neighbours: \begin{footnotesize} <>= class(unstand) <- c("spatial.neighbour", class(unstand)) of <- ordered(unstand$from) attr(unstand, "region.id") <- levels(of) unstand$from <- as.integer(of) unstand$to <- as.integer(ordered(unstand$to)) attr(unstand, "n") <- length(unique(unstand$from)) @ \end{footnotesize} \noindent Having done this, we can change its representation to a \code{listw} object, assigning an appropriate style (generalised binary) for unstandardised values: \begin{footnotesize} <>= lw_unstand <- sn2listw(unstand) lw_unstand$style <- "B" lw_unstand @ \end{footnotesize} \noindent Note that the values of S0, S1, and S2 correspond closely with those given on page 42 of the paper, $0.84688672$, $0.01869986$ and $0.12267319$. The discrepancies appear to be due to rounding in the printed table of weights. The contiguous neighbours represented in this object ought to match those found using \code{poly2nb}. However, we see that the reproduced contiguities have a smaller link count: \begin{footnotesize} <>= nb <- poly2nb(eire_ge1) nb @ \end{footnotesize} \noindent The missing link is between Clare and Kerry, perhaps by the Tarbert--Killimer ferry, but the counties are not contiguous, as Figure \ref{plot_nb} shows: \begin{footnotesize} <>= xx <- diffnb(nb, lw_unstand$neighbours, verbose=TRUE) @ <>= plot(eire_ge1, border="grey60") plot(nb, coordinates(eire_ge1), add=TRUE, pch=".", lwd=2) plot(xx, coordinates(eire_ge1), add=TRUE, pch=".", lwd=2, col=3) @ \end{footnotesize} \begin{figure}[htbp] \begin{center} <>= <> par(mfrow=c(1,2)) plot(eire_ge1, border="grey40") title(xlab="25 Irish counties") text(coordinates(eire_ge1), labels=as.character(eire_ge1$serlet), cex=0.8) plot(eire_ge1, border="grey60") title(xlab="Contiguities") plot(nb, coordinates(eire_ge1), add=TRUE, pch=".", lwd=2) plot(xx, coordinates(eire_ge1), add=TRUE, pch=".", lwd=2, col=3) legend("topleft", legend=c("Contiguous", "Ferry"), lwd=2, lty=1, col=c(1,3), bty="n", cex=0.7) par(mfrow=c(1,1)) <> @ \caption{County boundaries and contiguities} \label{plot_nb} \end{center} \end{figure} An attempt has also been made to reproduce the generalised weights for 25 Irish counties reported by \citet{cliff+ord:69}, after Dublin is omitted. Reproducing the inverse distance component $d_{ij}^{-1}$ of the generalised weights $d_{ij}^{-1} \beta_{i(j)}$ is eased by the statement in \citet[][p. 55]{cliff+ord:73} that the points chosen to represent the counties were their ``geographic centres,'' so not very different from the centroids yielded by applying a chosen computational geometry function. The distance metric is not given, and may have been in kilometers or miles --- both were tried, but the results were not sensitive to the difference as it applies equally across the weights; miles are used here. Computing the proportion of shared distance measure $\beta_{i(j)}$ is harder, because it requires the availability of the full topology of the input polygons. \citet[][p. 244]{bivandetal:08} show how to employ the \code{vect2neigh} function (written by Markus Neteler) in the \RR \pkg{spgrass6} package when using GRASS GIS vector handling to create a full topology from spaghetti vector data and to extract border segment lengths; a similar approach also is mentioned there using ArcGIS coverages for the same purpose. GRASS was used to create the topology, and next the proportion of shared distance measure was calculated. \begin{footnotesize} <>= load(system.file("etc/misc/raw_grass_borders.RData", package="spdep")[1]) @ <>= library(maptools) SG <- Sobj_SpatialGrid(eire_ge1)$SG library(spgrass6) grass_home <- "/home/rsb/topics/grass/g64/grass-6.4.0svn" initGRASS(grass_home, home=tempdir(), SG=SG, override=TRUE) writeVECT6(eire_ge1, "eire", v.in.ogr_flags=c("o", "overwrite")) res <- vect2neigh("eire", ID="serlet") @ <>= grass_borders <- sn2listw(res) raw_borders <- grass_borders$weights int_tot <- attr(res, "total") - attr(res, "external") prop_borders <- lapply(1:length(int_tot), function(i) raw_borders[[i]]/int_tot[i]) dlist <- nbdists(grass_borders$neighbours, coordinates(eire_ge1)) inv_dlist <- lapply(dlist, function(x) 1/(x/1.609344)) combo_km <- lapply(1:length(inv_dlist), function(i) inv_dlist[[i]]*prop_borders[[i]]) combo_km_lw <- nb2listw(grass_borders$neighbours, glist=combo_km, style="B") summary(combo_km_lw) @ \end{footnotesize} \noindent To compare, we need to remove the Tarbert--Killimer ferry link manually, and view the summary of the original weights, as well as a correlation coefficient between these and the reconstructed weights. Naturally, unless the boundary coordinates used here are identical with those in the original analysis, presumably measured by hand, small differences will occur. \begin{footnotesize} <>= red_lw_unstand <- lw_unstand Clare <- which(attr(lw_unstand, "region.id") == "C") Kerry <- which(attr(lw_unstand, "region.id") == "H") Kerry_in_Clare <- which(lw_unstand$neighbours[[Clare]] == Kerry) Clare_in_Kerry <- which(lw_unstand$neighbours[[Kerry]] == Clare) red_lw_unstand$neighbours[[Clare]] <- red_lw_unstand$neighbours[[Clare]][-Kerry_in_Clare] red_lw_unstand$neighbours[[Kerry]] <- red_lw_unstand$neighbours[[Kerry]][-Clare_in_Kerry] red_lw_unstand$weights[[Clare]] <- red_lw_unstand$weights[[Clare]][-Kerry_in_Clare] red_lw_unstand$weights[[Kerry]] <- red_lw_unstand$weights[[Kerry]][-Clare_in_Kerry] summary(red_lw_unstand) cor(unlist(red_lw_unstand$weights), unlist(combo_km_lw$weights)) @ \end{footnotesize} \noindent Even though the differences in the general weights, for identical contiguities, are so small, the consequences for the measure of spatial autocorrelation are substantial, Here we use the fifth variable, other cattle per 1000 acres crops and pasture (1952), and see that the reconstructed weights seem to ``reveal'' more autocorrelation than the original weights. \begin{footnotesize} <>= flatten <- function(x, digits=3, statistic="I") { res <- c(format(x$estimate, digits=digits), format(x$statistic, digits=digits), format.pval(x$p.value, digits=digits)) res <- matrix(res, ncol=length(res)) colnames(res) <- paste(c("", "E", "V", "SD_", "P_"), "I", sep="") rownames(res) <- deparse(substitute(x)) res } `reconstructed weights` <- moran.test(eire_ge1$ocattlepacre, combo_km_lw) `original weights` <- moran.test(eire_ge1$ocattlepacre, red_lw_unstand) print(rbind(flatten(`reconstructed weights`), flatten(`original weights`)), quote=FALSE) @ \end{footnotesize} \section{Measures of spatial autocorrelation} Our targets for reproduction are Tables 4 and 5 in \citet[][pp. 43--44]{cliff+ord:69}, the first containing standard deviates under normality and randomisation for the original Moran measure with binary weights, the original Geary measure with binary weights, the proposed measure with unstandardised general weights, and the proposed measure with row-standardised general weights. In addition, four variables were log-transformed on the basis of the skewness and kurtosis results presented above. We carry out the transformation of these variables, and generate additional binary and row-standardised general spatial weights objects --- note that the weights constants for the row-standardised general weights agree with those given on p. 42 in the paper, after allowing for small differences due to rounding in the weights values displayed in the paper (p. 54): \begin{footnotesize} <>= eire_ge1$ln_pagval2_10 <- log(eire_ge1$pagval2_10) eire_ge1$ln_cowspacre <- log(eire_ge1$cowspacre) eire_ge1$ln_pigspacre <- log(eire_ge1$pigspacre) eire_ge1$ln_sheeppacre <- log(eire_ge1$sheeppacre) vars <- c("pagval2_10", "ln_pagval2_10", "pagval10_50", "pagval50p", "cowspacre", "ln_cowspacre", "ocattlepacre", "pigspacre", "ln_pigspacre", "sheeppacre", "ln_sheeppacre", "townvillp", "carspcap", "radiopcap", "retailpcap", "psinglem30_34") nb_B <- nb2listw(lw_unstand$neighbours, style="B") nb_B lw_std <- nb2listw(lw_unstand$neighbours, glist=lw_unstand$weights, style="W") lw_std @ \end{footnotesize} The standard representation of the measures is: \[ I = \frac{n}{\sum_{i=1}^{n}\sum_{j=1}^{n}w_{ij}} \frac{\sum_{i=1}^{n}\sum_{j=1}^{n}w_{ij}(x_i-\bar{x})(x_j-\bar{x})}{\sum_{i=1}^{n}(x_i - \bar{x})^2} \] \noindent for Moran's $I$ --- in the paper termed the proposed statistic, and for Geary's $C$: \[ C = \frac{(n-1)}{2\sum_{i=1}^{n}\sum_{j=1}^{n}w_{ij}} \frac{\sum_{i=1}^{n}\sum_{j=1}^{n}w_{ij}(x_i-x_j)^2}{\sum_{i=1}^{n}(x_i - \bar{x})^2} \] \noindent where $x_i, i=1, \ldots, n$ are $n$ observations on the numeric variable of interest, and $w_{ij}$ are the spatial weights. In order to reproduce the standard deviates given in the paper, it is sufficient to apply \code{moran.test} to the variables with three different spatial weights objects, and two different values of the \code{randomisation=} argument. In addition, \code{geary.test} is applied to a single spatial weights objects, and two different values of the \code{randomisation=} argument. \begin{footnotesize} <>= system.time({ MoranN <- lapply(vars, function(x) moran.test(eire_ge1[[x]], listw=nb_B, randomisation=FALSE)) MoranR <- lapply(vars, function(x) moran.test(eire_ge1[[x]], listw=nb_B, randomisation=TRUE)) GearyN <- lapply(vars, function(x) geary.test(eire_ge1[[x]], listw=nb_B, randomisation=FALSE)) GearyR <- lapply(vars, function(x) geary.test(eire_ge1[[x]], listw=nb_B, randomisation=TRUE)) Prop_unstdN <- lapply(vars, function(x) moran.test(eire_ge1[[x]], listw=lw_unstand, randomisation=FALSE)) Prop_unstdR <- lapply(vars, function(x) moran.test(eire_ge1[[x]], listw=lw_unstand, randomisation=TRUE)) Prop_stdN <- lapply(vars, function(x) moran.test(eire_ge1[[x]], listw=lw_std, randomisation=FALSE)) Prop_stdR <- lapply(vars, function(x) moran.test(eire_ge1[[x]], listw=lw_std, randomisation=TRUE)) }) res <- sapply(c("MoranN", "MoranR", "GearyN", "GearyR", "Prop_unstdN", "Prop_unstdR", "Prop_stdN", "Prop_stdR"), function(x) sapply(get(x), "[[", "statistic")) rownames(res) <- vars ores <- res[,c(1,2,5:8)] @ \end{footnotesize} \noindent In order to conduct 8 different tests on 16 variables, we use \code{lapply} on the list of variables in the specified order, then \code{sapply} on a list of output objects by name to generate a table in the same row and column order as the original (we save a copy of six columns for comparison with bootstrap results below): \begin{footnotesize} <>= options("width"=100) @ <>= print(formatC(res, format="f", digits=4), quote=FALSE) @ <>= options("width"=90) @ \end{footnotesize} The values of the standard deviates agree with those in Table 4 in the original paper, with the exception of those for the proposed statistic with standardised weights under normality for all untransformed variables. We can see what has happened by substituting the weights constants for the standardised weights with those for unstandardised weights: \begin{footnotesize} <>= wc_unstd <- spweights.constants(lw_unstand) wrong_N_sqVI <- sqrt((wc_unstd$nn*wc_unstd$S1 - wc_unstd$n*wc_unstd$S2 + 3*wc_unstd$S0*wc_unstd$S0)/((wc_unstd$nn-1)*wc_unstd$S0*wc_unstd$S0)-((-1/(wc_unstd$n-1))^2)) raw_data <- grep("^ln_", vars, invert=TRUE) I <- sapply(Prop_stdN, function(x) x$estimate[1])[raw_data] EI <- sapply(Prop_stdN, function(x) x$estimate[2])[raw_data] res <- (I - EI)/wrong_N_sqVI names(res) <- vars[raw_data] print(formatC(res, format="f", digits=4), quote=FALSE) @ \end{footnotesize} Next, let us look at Table 5 in the original paper. Here we only tabulate the values of the measures themselves, and, since the expectation is constant for each measure, the square root of the variance of the measure under randomisation --- extracting values calculated above: \begin{footnotesize} <>= res <- lapply(c("MoranR", "GearyR", "Prop_unstdR", "Prop_stdR"), function(x) sapply(get(x), function(y) c(y$estimate[1], sqrt(y$estimate[3])))) res <- t(do.call("rbind", res)) colnames(res) <- c("I", "sigma_I", "C", "sigma_C", "unstd_r", "sigma_r", "std_r", "sigma_r") rownames(res) <- vars print(formatC(res, format="f", digits=4), quote=FALSE) @ \end{footnotesize} The values are as follows, and match the original with the exception of those for the initial version of Moran's $I$ in the first two columns. If we write a function implementing equations 3 and 4: \[ I = \frac{\sum_{i=1}^{n}\sum_{j=i+1}^{n}w_{ij}(x_i-\bar{x})(x_j-\bar{x})}{\sum_{i=1}^{n}(x_i - \bar{x})^2} \] where crucially the inner summation is over $i+1 \ldots n$, not $1 \ldots n$, we can reproduce the values of the measure shown in the original Table 5: \begin{footnotesize} <>= oMoranf <- function(x, nb) { z <- scale(x, scale=FALSE) n <- length(z) glist <- lapply(1:n, function(i) {ii <- nb[[i]]; ifelse(ii > i, 1, 0)}) lw <- nb2listw(nb, glist=glist, style="B") wz <- lag(lw, z) I <- (sum(z*wz)/sum(z*z)) I } res <- sapply(vars, function(x) oMoranf(eire_ge1[[x]], nb=lw_unstand$neighbours)) print(formatC(res, format="f", digits=4), quote=FALSE) @ \end{footnotesize} \noindent The variance term given in equation 7 in the original paper is for the case of normality, not randomisation; the reference on p. 28 to equation 38 on p. 26 does not permit the reproduction of the values in the second column of Table 5. The variance equation given as equation 1.35 by \citet[][p. 9]{cliff+ord:73} does not do so either, so for the time being it is not possible to say how the tabulated values were computed. Note that since the standard deviances are reproduced correctly, and can be reproduced from the second column values using the measure and its expectance, it is just a matter of establishing which formula was used, but this has so far not proved possible. \section{Simulating measures of spatial autocorrelation} \citet{cliff+ord:69} do not conduct simulation experiments, although their sequels do, notably \citet{cliff+ord:73}, among many others. Simulation studies are necessarily more demanding computationally, especially if spatially autocorrelated variables are to be created, as in \citet[][pp. 146--153]{cliff+ord:73}. In the same book, they also report the use of permutation tests, also known as Monte Carlo or Hope hypothesis testing procedures \citep[][pp. 50--52]{cliff+ord:73}. These procedures provided a way to examine the distribution of the statistic of interest by exchanging at random the observed values between observations, and then comparing the simulated distribution under the null hypothesis of no spatial patterning with the observed value of the statistic in question. \begin{footnotesize} <>= MoranI.boot <- function(var, i, ...) { var <- var[i] return(moran(x=var, ...)$I) } Nsim <- function(d, mle) { n <- length(d) rnorm(n, mle$mean, mle$sd) } f_bperm <- function(x, nsim, listw) { boot(x, statistic=MoranI.boot, R=nsim, sim="permutation", listw=listw, n=length(x), S0=Szero(listw)) } f_bpara <- function(x, nsim, listw) { boot(x, statistic=MoranI.boot, R=nsim, sim="parametric", ran.gen=Nsim, mle=list(mean=mean(x), sd=sd(x)), listw=listw, n=length(x), S0=Szero(listw)) } nsim <- 4999 set.seed(1234) @ \end{footnotesize} First let us define a function \code{MoranI.boot} just to return the value of Moran's $I$ for variable \code{var} and permutation index \code{i}, and a function \code{Nsim} to generate random samples from the variable of interest assuming Normality. To make it easier to process the variables in turn, we encapsulate calls to \code{boot} in wrapper functions \code{f\_bperm} and \code{f\_bpara}. Running \Sexpr{format(nsim)} simulations for each of \Sexpr{format(length(vars))} for three different weights specifications and both parametric and permutation bootstrap takes quite a lot of time. \begin{footnotesize} <>= system.time({ MoranNb <- lapply(vars, function(x) f_bpara(x=eire_ge1[[x]], nsim=nsim, listw=nb_B)) MoranRb <- lapply(vars, function(x) f_bperm(x=eire_ge1[[x]], nsim=nsim, listw=nb_B)) Prop_unstdNb <- lapply(vars, function(x) f_bpara(x=eire_ge1[[x]], nsim=nsim, listw=lw_unstand)) Prop_unstdRb <- lapply(vars, function(x) f_bperm(x=eire_ge1[[x]], nsim=nsim, listw=lw_unstand)) Prop_stdNb <- lapply(vars, function(x) f_bpara(x=eire_ge1[[x]], nsim=nsim, listw=lw_std)) Prop_stdRb <- lapply(vars, function(x) f_bperm(x=eire_ge1[[x]], nsim=nsim, listw=lw_std)) }) @ <>= zzz <- system.time({ MoranNb <- lapply(vars, function(x) f_bpara(x=eire_ge1[[x]], nsim=nsim, listw=nb_B)) MoranRb <- lapply(vars, function(x) f_bperm(x=eire_ge1[[x]], nsim=nsim, listw=nb_B)) Prop_unstdNb <- lapply(vars, function(x) f_bpara(x=eire_ge1[[x]], nsim=nsim, listw=lw_unstand)) Prop_unstdRb <- lapply(vars, function(x) f_bperm(x=eire_ge1[[x]], nsim=nsim, listw=lw_unstand)) Prop_stdNb <- lapply(vars, function(x) f_bpara(x=eire_ge1[[x]], nsim=nsim, listw=lw_std)) Prop_stdRb <- lapply(vars, function(x) f_bperm(x=eire_ge1[[x]], nsim=nsim, listw=lw_std)) }) res <- lapply(c("MoranNb", "MoranRb", "Prop_unstdNb", "Prop_unstdRb", "Prop_stdNb", "Prop_stdRb"), function(x) sapply(get(x), function(y) (y$t0 - mean(y$t))/sd(y$t))) res <- t(do.call("rbind", res)) colnames(res) <- c("MoranNb", "MoranRb", "Prop_unstdNb", "Prop_unstdRb", "Prop_stdNb", "Prop_stdRb") rownames(res) <- vars save(zzz, res, file="backstore/boot_res.RData") @ <>= bsfn <- system.file("doc/backstore/boot_res.RData", package="spdep") load(bsfn) zzz @ <>= res <- lapply(c("MoranNb", "MoranRb", "Prop_unstdNb", "Prop_unstdRb", "Prop_stdNb", "Prop_stdRb"), function(x) sapply(get(x), function(y) (y$t0 - mean(y$t))/sd(y$t))) res <- t(do.call("rbind", res)) colnames(res) <- c("MoranNb", "MoranRb", "Prop_unstdNb", "Prop_unstdRb", "Prop_stdNb", "Prop_stdRb") rownames(res) <- vars @ \end{footnotesize} We collate the results to compare with the analytical standard deviates under Normality and randomisation, and see that in fact the differences are not at all large, as expressed by the median absolute difference between the tables. We can also see that inferences based on a one-sided $\alpha=0.05$ cut-off are the same for the analytical and bootstrap approaches. This indicates that we can, in general, rely on the analytical standard deviates, and that bootstrap methods will not help if assumptions underlying the measures are not met. \begin{footnotesize} <>= print(formatC(res, format="f", digits=4), quote=FALSE) oores <- ores - res apply(oores, 2, mad) alpha_0.05 <- qnorm(0.05, lower.tail=FALSE) all((res >= alpha_0.05) == (ores >= alpha_0.05)) @ \end{footnotesize} These assumptions affect the shape of the distribution of the measure in its tails; one possibility is to use a Saddlepoint approximation to find an equivalent to the analytical or bootstrap-based standard deviate for inference \citep{tiefelsdorf:02}. The Saddlepoint approximation requires the eigenvalues of the weights matrix and iterative root-finding for global Moran's $I$, while for local Moran's $I_i$, analytical forms are known. Even with this computational burden, the Saddlepoint approximation for global Moran's $I$ runs quite quickly. First we need to fit null linear models (only including an intercept) to the variables, then apply \code{lm.morantest.sad} to the fitted model objects: \begin{footnotesize} <>= lm_objs <- lapply(vars, function(x) lm(formula(paste(x, "~1")), data=eire_ge1)) system.time({ MoranSad <- lapply(lm_objs, function(x) lm.morantest.sad(x, listw=nb_B)) Prop_unstdSad <- lapply(lm_objs, function(x) lm.morantest.sad(x, listw=lw_unstand)) Prop_stdSad <- lapply(lm_objs, function(x) lm.morantest.sad(x, listw=lw_std)) }) res <- sapply(c("MoranSad", "Prop_unstdSad", "Prop_stdSad"), function(x) sapply(get(x), "[[", "statistic")) rownames(res) <- vars @ \end{footnotesize} Although the analytical standard deviates (under Normality) are larger than those reached using the Saddlepoint approximation when measured by median absolute deviation, the differences do not lead to different inferences at this chosen cut-off. This reflects the fact that the shape of the distribution is very sensitive to small $n$, but for moderate $n$ and global Moran's $I$, the effects are seen only further out in the tails. The consequences for local Moran's $I_i$ are much stronger, because the clique of neighbours of each observation is typically very small. It is perhaps of interest that the differences are much smaller for the case of general weights than for unstandardised binary weights. \begin{footnotesize} <>= print(formatC(res, format="f", digits=4), quote=FALSE) oores <- res - ores[,c(1,3,5)] apply(oores, 2, mad) all((res >= alpha_0.05) == (ores[,c(1,3,5)] >= alpha_0.05)) @ \end{footnotesize} In addition we could choose to use the exact distribution of Moran's $I$, as described by \citet{tiefelsdorf:00}; its implementation is covered in \citet{bivandetal:09}. The global case also needs the eigenvalues of the weights matrix, and the solution of a numerical integration function, but for these cases, the timings are quite acceptable. \begin{footnotesize} <>= system.time({ MoranEx <- lapply(lm_objs, function(x) lm.morantest.exact(x, listw=nb_B)) Prop_unstdEx <- lapply(lm_objs, function(x) lm.morantest.exact(x, listw=lw_unstand)) Prop_stdEx <- lapply(lm_objs, function(x) lm.morantest.exact(x, listw=lw_std)) }) res <- sapply(c("MoranEx", "Prop_unstdEx", "Prop_stdEx"), function(x) sapply(get(x), "[[", "statistic")) rownames(res) <- vars @ \end{footnotesize} The output is comparable with that of the Saddlepoint approximation, and the inferences drawn here are the same for the chosen cut-off as for the analytical standard deviates calculated under Normality. \begin{footnotesize} <>= print(formatC(res, format="f", digits=4), quote=FALSE) oores <- res - ores[,c(1,3,5)] apply(oores, 2, mad) all((res >= alpha_0.05) == (ores[,c(1,3,5)] >= alpha_0.05)) @ \end{footnotesize} \citet{lietal:07} take up the challenge in \citet[][p. 31]{cliff+ord:69}, to try to give the statistic a bounded fixed range. Their APLE measure is intended to approximate the spatial dependence parameter of a simultaneous autoregressive model better than Moran's $I$, and re-scales the measure by a function of the eigenvalues of the spatial weights matrix. APLE requires the use of row standardised weights. \begin{footnotesize} <>= vars_scaled <- lapply(vars, function(x) scale(eire_ge1[[x]], scale=FALSE)) nb_W <- nb2listw(lw_unstand$neighbours, style="W") pre <- spdep:::preAple(0, listw=nb_W) MoranAPLE <- sapply(vars_scaled, function(x) spdep:::inAple(x, pre)) pre <- spdep:::preAple(0, listw=lw_std, override_similarity_check=TRUE) Prop_stdAPLE <- sapply(vars_scaled, function(x) spdep:::inAple(x, pre)) res <- cbind(MoranAPLE, Prop_stdAPLE) colnames(res) <- c("APLE W", "APLE Gstd") rownames(res) <- vars @ \end{footnotesize} In order to save time, we use the two internal functions \code{spdep:::preAple} and \code{spdep:::inAple}, since for each definition of spatial weights, the same eigenvalue calculations need to be made. The notation using the \code{:::} operator says that the function with named after the operator is to be found in the namespace of the package named before the operator. The APLE values repeat the pattern that we have already seen --- for some variables, the measured autocorrelation is very similar irrespective of spatial weights definition, while for others, the change in the definition from binary to general does make a difference. \begin{footnotesize} <>= print(formatC(res, format="f", digits=4), quote=FALSE) @ \end{footnotesize} \begin{figure}[htbp] \begin{center} <>= <> pal <- grey.colors(9, 1, 0.5, 2.2) oopar <- par(mfrow=c(1,3), mar=c(1,1,3,1)+0.1) z <- t(listw2mat(nb_B)) brks <- c(0,0.1,1) image(1:25, 1:25, z[,ncol(z):1], breaks=brks, col=pal[c(1,9)], main="Binary", axes=FALSE) box() z <- t(listw2mat(lw_unstand)) brks <- c(0,quantile(c(z)[c(z) > 0], seq(0,1,1/8))) image(1:25, 1:25, z[,ncol(z):1], breaks=brks, col=pal, main="General", axes=FALSE) box() z <- t(listw2mat(lw_std)) brks <- c(0,quantile(c(z)[c(z) > 0], seq(0,1,1/8))) image(1:25, 1:25, z[,ncol(z):1], breaks=brks, col=pal, main="Std. general", axes=FALSE) box() par(oopar) <> @ \caption{Three contrasted spatial weights definitions.} \label{plot_wts} \end{center} \end{figure} \begin{figure}[htbp] \begin{center} <>= <> eire_ge1$nb_B <- sapply(nb_B$weights, sum) eire_ge1$lw_unstand <- sapply(lw_unstand$weights, sum) library(lattice) trellis.par.set(sp.theme()) p1 <- spplot(eire_ge1, c("nb_B"), main="Binary") p2 <- spplot(eire_ge1, c("lw_unstand"), main="General") print(p1, split=c(1,1,2,1), more=TRUE) print(p2, split=c(2,1,2,1), more=FALSE) <> @ \caption{Sums of weights by county for two contrasted spatial weights definitions --- for row standardisation, all counties sum to unity.} \label{plot_map} \end{center} \end{figure} \section{Odds and ends $\ldots$} The differences found in the case of a few variables in inference using the original binary weights, and the general weights proposed by \citet{cliff+ord:69} are necessarily related to the the weights thenselves. Figures \ref{plot_wts} and \ref{plot_map} show the values of the weights in sparse matrix form, and the sums of weights by county where these sums are not identical by design. In the case of binary weights, the matrix entries are equal, but the sums up-weight counties with many neighbours. General weights up-weight counties that are close to each other, have more neighbours, and share larger boundary proportions (an asymmetric relationship). There is a further impact of using boundary proportions, in that the boundary between the county and the exterior is subtracted, thus boosting the weights between edge counties and their neighbours, even if there are few of them. Standardised general weights up-weight further up-weight counties with few neighbours, chiefly those on the edges of the study area. With a small data set, here with $n=25$, it is very possible that edge and other configuration effects are relatively strong, and may impact inference in different ways. The issue of egde effects has not really been satisfactorily resolved, and should be kept in mind in analyses of data sets of this size and shape. <>= options("width"=owidth) options("warn"=ow) @ \begin{thebibliography}{} \bibitem[\protect\citeauthoryear{Bivand, Pebesma, and G{\'o}mez-Rubio}{Bivand, Pebesma, and G{\'o}mez-Rubio}{2008}]{bivandetal:08} Bivand, R. S., E. J. Pebesma, and V. G{\'o}mez-Rubio. (2008). \newblock {\emph{Applied Spatial Data Analysis with {R}.}} \newblock New York: Springer. \bibitem[\protect\citeauthoryear{Bivand, M\"{u}ller, and Reder}{Bivand, M\"{u}ller, and Reder}{2009}]{bivandetal:09} Bivand, R. S., W. M\"{u}ller and M. Reder. (2009). \newblock {``Power calculations for global and local {M}oran's {$I$}.''} \newblock {\emph{Computational Statistics and Data Analysis}} \newblock 53, 2859--2872. \bibitem[\protect\citeauthoryear{Cliff and Ord}{Cliff and Ord}{1969}]{cliff+ord:69} Cliff, A. D. and J. K. Ord. (1969). \newblock {``The problem of Spatial autocorrelation.''} \newblock {In \emph{London Papers in Regional Science 1, Studies in Regional Science}, 25--55, edited by A. J. Scott, London: Pion}. \bibitem[\protect\citeauthoryear{Cliff and Ord}{Cliff and Ord}{1973}]{cliff+ord:73} Cliff, A. D. and J. K. Ord. (1973). \newblock {\emph{Spatial autocorrelation.}} \newblock London: Pion. \bibitem[\protect\citeauthoryear{Geary}{Geary}{1954}]{geary:54} Geary, R. C. (1954). \newblock {``The contiguity ratio and statistical mapping.''} \newblock {\emph{The Incorporated Statistician}} \newblock 5, 115--145. \bibitem[\protect\citeauthoryear{Joanes and Gill}{Joanes and Gill}{1998}]{joanes+gill:98} Joanes D. N. and C. A. Gill (1998). \newblock {``Comparing measures of sample skewness and kurtosis.''} \newblock {\emph{The Statistician}} \newblock 47, 183--189. \bibitem[\protect\citeauthoryear{Li, Calder, and Cressie}{Li, Calder, and Cressie}{2007}]{lietal:07} Li, H., C. A. Calder and N. Cressie. (2007). \newblock {``Beyond {M}oran's $I$: Testing for spatial dependence based on the spatial autoregressive model.''} \newblock {\emph{Geographical Analysis}} \newblock 39, 357--375. \bibitem[\protect\citeauthoryear{Moran}{Moran}{1950}]{moran:50} Moran, P. A. P. (1950). \newblock {``Notes on continuous stochastic phenomena.''} \newblock {\emph{Biometrika}} \newblock 37, 17--23. \bibitem[\protect\citeauthoryear{Tiefelsdorf}{Tiefelsdorf}{2000}]{tiefelsdorf:00} Tiefelsdorf, M. (2000). \newblock {\emph{Modelling Spatial Processes, The Identification and Analysis of Spatial Relationships in Regression Residuals by Means of Moran's I.}} \newblock Springer, Berlin. \bibitem[\protect\citeauthoryear{Tiefelsdorf}{Tiefelsdorf}{2002}]{tiefelsdorf:02} Tiefelsdorf, M. (2002). \newblock {``The Saddlepoint approximation of {M}oran's $I$ and local {M}oran's $I_i$ reference distributions and their numerical evaluation.''} \newblock {\emph{Geographical Analysis}} \newblock 34, 187--206. \end{thebibliography} \end{document} spdep/MD50000644000176200001440000004113013152340741011674 0ustar liggesusersda396f1b99941f3b2a0958aad770bde8 *ChangeLog 85629c9041fe559ac24206c001e5044b *DESCRIPTION 0231e53cd63a4e84ad6431805f7e9a44 *NAMESPACE ca3af94aff175d2e462ffb33bd9ac568 *R/AAA.R b0e1b90e65dd7b62bdd3948361cb5237 *R/EBI.R 0fbd6d0a73bd6f6b204b4a5fadc045c9 *R/LR.spsarlm.R 779dcd05ca5740e251c19f7d0aae899a *R/ME.R 61a73d8c7ae411b1fd3bbc08074ce580 *R/SpatialFiltering.R e43b96beddbde591c5bf7d18545f0839 *R/airdist.R 061d38b93c9b6f60e07412177cb9b3e4 *R/anova.sarlm.R 46718c323f0826265e32141b3ca77bab *R/aple.R 5597a594bbe9d75c996adca4d6fe9c56 *R/aple.mc.R f65d5c34f6d67953a890e6354a4614bb *R/apleplot.R de45513cf2ca3a506f98a26f3327dc52 *R/autocov.R a2d046225a488a388bac40c86e791658 *R/bptest.sarlm.R fe7171c29d8d6c25abf04f41b6c41623 *R/card.R f852d0ee75f87db10d90f57a0b9664ca *R/cellneighbours.R 4007c384b0abdb7e46000b6552b540a3 *R/choynowski.R 848467dae136cea24da9c34e544954c2 *R/components.R e64d4fcc81be06647777c3c71fc125b3 *R/cyclical.R bbee82cda474bd92b417bacb768fd186 *R/diffnb.R 0d1bf21dcf686ab46fe0328adcc848d6 *R/dnearneigh.R d6b8860ef2337d9746ff5d1119f36590 *R/droplinks.R 1c7c266113c4f079d2f0c6d9ccc5141f *R/edit.nb.R f95f17856064f449cf1603d083f8ec87 *R/eigenw.R 6b22c57e33fb394b821be58faf1bb1d2 *R/error.hessian.R 8cd1a56343aef6870ff7d24c4dd8f2fd *R/error.spsarlm.R cbe45866b710921490b6eea92e0fa7a2 *R/gabrielneigh.R 5c7fc104be2f03783a4193fbf2351b19 *R/geary.R 80222bec07d589852558e068116cc685 *R/globalG.R d6320c56e705e0f9e81e46a851a74fa0 *R/graph2nb.R 7d90621f339f34ea56997a6f9d30d661 *R/impacts.R d37880c837d66c5167434da6858c1c40 *R/jacobian.R f842c1af5dcab63b5f1eb0bd3099341a *R/jacobian_setup.R 4eac610dd1a2b7e624f3cc47696e1d91 *R/jc.R a22b5a5326ae3f1ab5fc2122212ad5b0 *R/knearneigh.R c71eef240bf2e5614276b28ab0f01af7 *R/knn2nb.R 6226042eae5ffc30b37891544a60507a *R/kpgm_new.R 54106e213cabd314f323d56f8d9353f9 *R/lag.hessian.R 5818b4f5a9f814872702d23e2232fdc3 *R/lag.spsarlm.R 11a3173a5aece89544cd778a8f0994ff *R/lee.R 0315197df63de19aa545d44222d75d3a *R/lee.mc.R 443d60da737042bfe8e9b64fe368fc6e *R/lee.test.R 33e8efadb328037eeabdab40cb2ce6b2 *R/lee_internal.R e21da355b0dfd9ba831109b8bec06e40 *R/lextrB.R 1301ae2958bd20a403a56a148f0a9be1 *R/lextrW.R d41377ef1fcf3c0d8001eb6f853f2337 *R/listw2Matrix.R 4a9458975190059999b49e22ba3f4c05 *R/listw2sn.R 3f616a97e845028a86cecded418390a1 *R/lm.LMtests.R 6642336a28d6b6a1dc3dad6f81923f19 *R/lm.morantest.R 5afb0dbd2d0acf8de9b5bbdbaecc78f2 *R/localG.R c1619d1f1b1c9268d714c0da9ff01307 *R/localmoran.R 955f0e2897bec106a72a13cf0d4cb83b *R/localmoran.exact.R 03998c2eafe6a603e5301f2377bf06d7 *R/mcmcsamp.R ac6f3cf2d5c1f7145ae54ba0b1135176 *R/mess.R f1632cb1c51eea17fa2c5993cdf953f0 *R/moran.R f583b597ad81dd8f1468a73779acce11 *R/moran.exact.R acc3f60a11d6251a64157e3b4802b3f6 *R/moran.exact.alt.R 13c1ddfb0473badd8c20d92c7c5aa3e0 *R/moran.plot.R 806c560b1d55ecccc4ac0edd703b4fdb *R/mstree.R 1c690e3cb7a132b461cdc4d8085a683a *R/mtlocalmoran.R 2606e5cab488c445fd51c7072b5d3af2 *R/mtmoran.R e0db12470b146f7a20a870cba854db55 *R/nb2blocknb.R 037fe0c2f3dd3f1c24d33d5fff72e1b7 *R/nb2lines.R c27d7711e055183bedaa14e240d9c0e7 *R/nb2listw.R 67bff69afa35e6d2a2e3b9c70f3a7a51 *R/nb2mat.R 74e5033c45192afcbd4fbcaad5df6401 *R/nbcosts.R a4638da2957b62fab9722ce15e4fe2d8 *R/nbdists.R a63a07dadf5f8fa200f7e3c71747a403 *R/nblag.R 0f1de2bb62f40b44c0f8fee9440f8731 *R/nboperations.R 646053340f0806546a9f422ec3f10654 *R/p.adjustSP.R a73ab332d82c29834dce2b5b650822b1 *R/plot.mst.R 4f384268e186624460b33c667e4a3150 *R/plot.nb.R 1062440bac3bb1409c7716a8af176a79 *R/plot.skater.R 433d252f977f5175fe7cd3fbb1b2adbb *R/poly2nb.R 59a5f3980e8585d96ac511d4d23d669f *R/prunecost.R 58fc4f67d40bb82e24a32af9ee5ee0c2 *R/prunemst.R 72519954bdafc8521aa950d7d3b67855 *R/read.gal.R ef6f3184db69b4f7cfe934baf99b57c6 *R/read.gwt2nb.R 64633a828f14988e6d3aa97d6ce8ea2d *R/relneigh.R 40534663fb14a40fc659768038487304 *R/rotation.R b8ae91f8e8af0ad2ddb651840f879a3d *R/s2sls.R 4fc0d9ae1ae477a5fb22da570a29d6fb *R/sacsarlm.R f37ded41d4bc7b2dbb9eb97797234328 *R/sarlm.R 18ef3fcc6a1af79afbf767716ad411c0 *R/skater.R dfd3c7d74224e215cc90db24b16d7948 *R/soi.R e73d855ad4dc75409201fbf6c36b43f9 *R/sp.correlogram.R 820d1479bf5683d2b9b66ecf1facbda8 *R/sp.mantel.R 829c429052cf5e77d0f3300460e0215a *R/spBreg.R 93c531e3c39a5ccd1506fe92a95fa9c0 *R/spChkOption.R 05f368670f558994e9886590eb057c61 *R/spautolm.R 73870459b0081b9975e674cd64bebcc9 *R/subset.nb.R a38d3ff384462a609d41e1263e5f04dd *R/summary.nb.R afc9a6a96713d8c63d8459cf7a6e4ad5 *R/summary.spsarlm.R 700f61092fae8a0b1fce15adf29df47a *R/tolerance.nb.R 79530fa1378ad438ea0695b44a3b134f *R/tri2nb.R e4c7a7d4e336723499fe98a9e13fd67f *R/utils.R e0483061c02957fd53635f7762ce617b *R/weights-utils.R ba194629e934a10db59171f38cca2727 *build/vignette.rds 9e6c75b19b7e87b1e691e2457cce4dbf *data/NY_data.rda 2a50066b1c5c0d5578d41253935c36c2 *data/afcon.rda 35d3cedf5ae4bed43d2287f554fa5ab2 *data/auckland.rda af8459f299308e4372e5be94104adeaa *data/baltimore.rda e7e844980d9c5b82522ed30ab210e5af *data/boston.rda b818650dc1a3e0335a7767fe78f721f5 *data/columbus.rda eefc633a72d57bd512f904311da1f50b *data/datalist 5e7e97b208f3d4a44393e668799ce382 *data/eire.rda c0ad20c94f398434f664d3b860bb896d *data/elect80.rda 252f3f055711a8d0d15139c75efd93f9 *data/getisord.rda 7bee18aad2f379608798909b6e8b35a2 *data/hopkins.rda 75b39f69fd3c36c43d8ccabdc6ba9d8e *data/house.RData 3f26abf2bccddbeefb800dfa4cce6a4b *data/huddersfield.rda e9d69314991a1d1565abddba2f6b334c *data/nc.sids.rda 3c410289cf12787247a95ff858bf4a97 *data/oldcol.rda 9f4230eb9cbbf1d870a031a56c55e81f *data/used.cars.rda e6e43c55eee344ada74c815b738eae66 *data/wheat.rda 671a11d7ac128f13b3e6bbc8ee0047b9 *inst/CHANGES 6799d81f04dc320975661044635c1829 *inst/CITATION da396f1b99941f3b2a0958aad770bde8 *inst/ChangeLog 38a8e8aedfaa0bc14eb5edd06e09c3a7 *inst/README 5e0d529c4d8ca423c4193f47651c7093 *inst/doc/CO69.R 9424755ba3bcb91a5cc4a8871cab1c8b *inst/doc/CO69.Rnw 1cc891bd0c64fb586ece2cb6de2c17cd *inst/doc/CO69.pdf 0295f2e51f066e0ed5d02451bb0a39bd *inst/doc/SpatialFiltering.R c565bc41dd415f9fee610ed8a3de02dc *inst/doc/SpatialFiltering.Rnw 240f301e4f75360ede1948caf469ebd1 *inst/doc/SpatialFiltering.pdf 68a52b4a10480b4a2adedb18494c7deb *inst/doc/backstore/boot_res.RData 3889914095150cc9ed13c578b5f51a73 *inst/doc/backstore/nyME_res.RData 7b9d12cf405683fcafac8616b927b8f8 *inst/doc/nb.R 4c1323bb9b4b32b646fa6b737097bba9 *inst/doc/nb.Rnw f77186e725620dc07d25588b8007fb74 *inst/doc/nb.pdf 24d70bf21a45faedf6ff1a1795757ce4 *inst/doc/nb_igraph.R bde04f165c43754a39068c2e61b7f84b *inst/doc/nb_igraph.Rmd e92a1ae736a1f9e0f5f94006e12f8a40 *inst/doc/nb_igraph.html 17edbfb9677812895ca6d5e6d8420251 *inst/doc/sids.R 28cbedc0baac18898b49d26a3e24b3bd *inst/doc/sids.Rnw c25e8d486d84f99947787facdf67d390 *inst/doc/sids.pdf 53178ac43dd150bbb835b63e018f0cd4 *inst/etc/misc/geary_eire.txt e3fb11232e6cb27770d15aaf4f632aa4 *inst/etc/misc/nc_xtra.dbf 2591ac95bd9191d0aee07450f7caf9bb *inst/etc/misc/nyadjwts.dbf f7231b296d3e4ed0a99d763517194771 *inst/etc/misc/nydata.dbf 7a6e27f338f03f1ebfc10522f50eede5 *inst/etc/misc/raw_grass_borders.RData 3d4675f37fe0ab14715fa56c90a01e29 *inst/etc/misc/unstand_sn.txt ae6ca9a701a587644aa5739fc3d57eb3 *inst/etc/shapes/NY8_utm18.dbf 32b7195710fabd7849fb397c8676b346 *inst/etc/shapes/NY8_utm18.prj d2a5390c5fb6aab4b860dea4ee25e5e3 *inst/etc/shapes/NY8_utm18.shp 51d7451d54231b8e5c3ee270414e5792 *inst/etc/shapes/NY8_utm18.shx 0c9f54ca2e13c18938d7ab6127c55099 *inst/etc/shapes/auckland.dbf a898be227535a777034ef0ab98cbf2a5 *inst/etc/shapes/auckland.shp eb68e576b0de2602822cd5e2be6a76d8 *inst/etc/shapes/auckland.shx 7e51e54e3119515977370785593750e0 *inst/etc/shapes/bhicv.dbf ad0488ec063059e2b6d5af8a4f4b9a3a *inst/etc/shapes/bhicv.shp 8a349f2168173f2dd15249c32610e9f4 *inst/etc/shapes/bhicv.shx f5177bb4580b78c0e1d14b5fab2fa922 *inst/etc/shapes/boston_tracts.dbf 22e0292ab91e1e1db678144b59b73781 *inst/etc/shapes/boston_tracts.prj a3420c1db8f9e0b413325f215b22ec8e *inst/etc/shapes/boston_tracts.shp 35e09740c827f9e905830dcd79ca8998 *inst/etc/shapes/boston_tracts.shx a692f891aa504c8092a824e37f236475 *inst/etc/shapes/columbus.dbf f5952cc1485ac06b60d6554664becf65 *inst/etc/shapes/columbus.shp f55a38e1ffb1605a7895df9e790d24f0 *inst/etc/shapes/columbus.shx b77745ea4cc19509c5eb954381369d82 *inst/etc/shapes/eire.dbf c46faee7abb7544355d79d83217e0832 *inst/etc/shapes/eire.shp 27d96e4a6ed58e33b58d27df96f8a77b *inst/etc/shapes/eire.shx c509b80e21fecba688e8691e5803c5a8 *inst/etc/shapes/sids.dbf c4aadaa695c819207a6e9d7f8e5d0c47 *inst/etc/shapes/sids.shp 7de550e5dcd0461984c4cf74e04afec3 *inst/etc/shapes/sids.shx d0544f40bff51c4d71f16faef728d4be *inst/etc/shapes/wheat.dbf cc4be9b576477a9770267798e8d390ba *inst/etc/shapes/wheat.shp a708a4740d0439ee34d10d367e609694 *inst/etc/shapes/wheat.shx 097e7ff626aa206975e3b92e75fc13d7 *inst/etc/weights/NY_nb.gal f6e1055cc8204d302b55e78d6f2c4fbd *inst/etc/weights/baltk4.GWT 36afea5495806cd17068e541de910b2c *inst/etc/weights/columbus.gal a57d2bcb809930da7643412f770e798f *inst/etc/weights/ncCC89.gal 90f19026e9427fc2e69f0e2e5006dbd6 *inst/etc/weights/ncCR85.gal 22d3170e3bb4dc4a53f3ac2411e23e6a *inst/etc/weights/us48.txt a214f6f52456f3964bc54ae79e197896 *inst/etc/weights/us48_q.GAL 1f7d3c7976b50b1d2748d6b3d255187b *inst/etc/weights/us48_rk.GAL 58b50b83e6fce79a90015343ecc0394f *inst/etc/weights/wmat.dat 00c584c35df0367eaff6a579bed92e58 *man/COL.OLD.Rd dd3dc45515e5007dc5032848583b3c5d *man/EBImoran.mc.Rd 1523836a22617d56e273a54ea18a57e6 *man/EBest.Rd 1113a8f884a2602dec89454bb17f0cda *man/EBlocal.Rd b2e2b3659250915259558bcba884c07e *man/GMerrorsar.Rd 47fbde0ff3bb7b19b97d0dd08d220717 *man/LR.sarlm.Rd bafa747437860984651af82e4b8f69f6 *man/MCMCsamp.Rd 5c73496ad2fb82e09fc8b715d4e7e47c *man/ME.Rd d051a1a6508a08d4f44bc093c9478728 *man/NY_data.Rd 57872e13208f844b5c39bc7752a06f40 *man/SpatialFiltering.Rd c82b3556197191b76149f3564a22edac *man/afcon.Rd ad01e6e4f4d029f86bd241ec137f799d *man/aggregate.nb.Rd eb2ffb68fc6f66ccc67367423e7bcca4 *man/airdist.Rd 463d0068a3cbe376a70a7064cfd78319 *man/anova.sarlm.Rd a1963b86df22c755afd17bc43bb9a3a9 *man/aple.Rd de6ad9f69828d992c91755efafccb63f *man/aple.mc.Rd d880e6291919954711051de7d7251ec8 *man/aple.plot.Rd 5160a3faef649cec1ef985b6e895c286 *man/as_dgRMatrix_listw.Rd 8cdf2e9f4f04aff552a85941a1317aa1 *man/auckland.Rd 8aba75971b1d4f3040039de91aaba26f *man/autocov_dist.Rd 23e5336e1b23be98982ca829f83045a1 *man/baltimore.Rd d0d0adc1658d699336687f0815824f9a *man/bhicv.Rd b1fd84bc42104a0c0cfa925c759c6836 *man/boston.Rd 83d0953f94fd75e26c60b60cdbf4f9b9 *man/bptest.sarlm.Rd 2a968420769c1384c377fb6e0aacd7c5 *man/card.Rd cdf723571f5373da8abfdd7b23b9be2e *man/cell2nb.Rd 7eceb6a0f539418774c8555dcd07ff53 *man/choynowski.Rd 803effdc6888b0bbb6afab5b41e781a2 *man/columbus.Rd 5731075c5c8647b9f10c0b62c30bb4ca *man/compon.Rd 0c9b880e845c7c5897563d1e4b811321 *man/diffnb.Rd f74a3403f109cdf3f46f478e64ff39d2 *man/dnearneigh.Rd ca9ee7171f6ab75d6e173d3ba502798d *man/do_ldet.Rd ab9d1a7b4f443b31a4c1fa58a57da7aa *man/droplinks.Rd d722abb3c1e0343765d48a1164c2096f *man/edit.nb.Rd 10cfcfcc90c5486a46f3f532a58e3d2d *man/eigenw.Rd 3ec94b8fc89e5641a494f1d8aa670302 *man/eire.Rd cd80c2faca0e0592cf483e77d776daa8 *man/elect80.Rd aeb660326ca393de9acbbbfe8b756a7a *man/errorsarlm.Rd 25e1a53cd6d9cbbb7bea0c1fea3e1ef0 *man/geary.Rd e5e5f9840a79014d86c7758de589b0f9 *man/geary.mc.Rd 4b7a70a022183d85dcf725915d9b41a1 *man/geary.test.Rd 3a040d87b4435894469a1dc0daabe953 *man/getisord.Rd 71e35c555e66b28c223d253ade809bab *man/globalG.test.Rd c651c3beffbb8c7d613a052bc404f07c *man/graphneigh.Rd 65d417cbd5cd09ca2d69717690fc6eda *man/gstsls.Rd 9c4713bd50ad67fbd8a9ac4786b96b66 *man/hopkins.Rd 017e8e4edb69cac61be3ba0f336d28bd *man/house.Rd 3620802a45802908cdb1f870d91b1cef *man/huddersfield.Rd 92d5538089e9c76fd9dc5c8f28f0c382 *man/impacts.sarlm.Rd 95ac613fce790a1602bc0fa1e1e24898 *man/include.self.Rd 91829bb2d17e32b1ceafa52906c0fedc *man/invIrM.Rd 3a5aa076bb3c12d7c608a5d57eae9fb7 *man/joincount.mc.Rd e547d08740206014f8e3e95a08eca5be *man/joincount.multi.Rd e68b6065a95c7fbb05ccebcc9a11f449 *man/joincount.test.Rd 0d7e02f35633e1d86a5515b0cbf57e48 *man/knearneigh.Rd 91dc5c11084a06ca9847f89b6aefd0fb *man/knn2nb.Rd 530a137b1bad26cbbc658a52e2f48562 *man/lag.listw.Rd f43f32d9c4cffbfb10d7d5b8cd7f512a *man/lagmess.Rd 0ea4e4e1bff9fc53e6ffd6f60e298fcd *man/lagsarlm.Rd ab2d175ce8fe1a53adc38b92d1b7076e *man/lee.Rd 0289035001a5d717e79538108fdf7fb6 *man/lee.mc.Rd 74ab67c1d3caf99ae39e97ada6823789 *man/lee.test.Rd 115a002b1ad1ae5849871fe8558627ab *man/lextrB.Rd 81113749a325316d4872497a30e613ca *man/listw2sn.Rd ab1776c96e814381f2428a84cb19bec1 *man/lm.LMtests.Rd bf22c7dc637db3a45d7a63839a7269a8 *man/lm.morantest.Rd e448f2ae9721c0565b3a80021bf3ab93 *man/lm.morantest.exact.Rd 12696667d12f1e1afc99d62191a702be *man/lm.morantest.sad.Rd a31f1749a422e26f4a9521d8dfaf6c2d *man/localG.Rd 067633e848d66f20745b33d756549435 *man/localmoran.Rd 1f5023ed78763bc072c416d5b3e55dbf *man/localmoran.exact.Rd a22a2e55650e2bcf2631f31a381765a2 *man/localmoran.sad.Rd 7e9b4f925061c7cabc3ef029a4c12a39 *man/mat2listw.Rd 9bb3b49ce5a324c53c2fd9e6c408f4bd *man/moran.Rd 463bf13f2d8711e0b052c31afba57473 *man/moran.mc.Rd f8dc157079aa628bfe6a12391390bd14 *man/moran.plot.Rd a3fec8c2c6b261954cc743a53974fec9 *man/moran.test.Rd 9cadacbbbcebab440f54cc4d6ced36d8 *man/mstree.Rd 7dcb9a349fad670da5c2a532ad73a725 *man/nb2INLA.Rd 97cbab2eab05a0e0a650437b9701af81 *man/nb2WB.Rd 11cbc45c87f1ac6b05293654dbcee1fd *man/nb2blocknb.Rd 16b05c9f085ac1166da5a3ee50744b22 *man/nb2lines.Rd cee3c2dfd83d66d89660d0e5cb630bff *man/nb2listw.Rd 26e7d67e418f5d311f21ca871000a33b *man/nb2mat.Rd 8a16f7e2283504386ed6e023827eb197 *man/nbcosts.Rd b599c90934ea15dfeb97d44da5142943 *man/nbdists.Rd 188bf08ba2ef6bbcde996d5590cc34e5 *man/nblag.Rd 0a07f919978263d29a15010f53dc9565 *man/nboperations.Rd 30f5d1383fc31cc24fc8ef4d50ca2b74 *man/nc.sids.Rd 764de41afb6ad70dd213000bd6dc51a6 *man/p.adjustSP.Rd be32e0a70eccc214e95b19c0aa1de9db *man/plot.mst.Rd bebff8a87402092bd74cf4e0a44b1ba7 *man/plot.nb.Rd c4be5e2e8828f7d6e041e5ae093a0c2c *man/plot.skater.Rd be4b88fced5d8af8fb8c2d73e9594943 *man/poly2nb.Rd a422bc9ac4822cc263438f83fba90d5e *man/predict.sarlm.Rd 791d6a317bd5d0dd23d8b85a24b42259 *man/probmap.Rd 09b2776bb47f80cdbe5562d88b36ef18 *man/prunecost.Rd f592261ce51e820587da92afaa7cd853 *man/prunemst.Rd f8dc0b0518d2badebbd7f93e552a3f73 *man/read.gal.Rd 625660f567fc8860bf18017c50d08840 *man/read.gwt2nb.Rd 22587da32f258cb04ac771791ff2a5f4 *man/residuals.sarlm.Rd e3f28cd38c69d847efdf6143af31637d *man/rotation.Rd 6ed93eb6dbc453601f8278048485dcdd *man/sacsarlm.Rd d4ec4879830f577619f8194ac46d2876 *man/set.mcOption.Rd 342c0d58998cf34d895bc498903c0c96 *man/set.spChkOption.Rd 923c93d9b47db0ba93a8d3156e3fcff0 *man/similar.listw.Rd 34804acfe9fa0cc80318f863c32e327b *man/skater.Rd 2ca9f26186894bbd87384e52e0050a60 *man/sp.correlogram.Rd cc5b6792ef98679cb5ec9fe4623df4f4 *man/sp.mantel.mc.Rd 1e3d46734a10da2205e2e039958c2951 *man/spautolm.Rd 487249a672c9c93ffa4370cbd5d23810 *man/spdep.Rd bca044be46d29893de136d50dfc28c34 *man/spweights.constants.Rd c2198571e7ff56c757ddbc1f90b56cb2 *man/ssw.Rd abb908fcab29bfa24b18eee067eca317 *man/stsls.Rd 9d62cece2fb7cfc1a1583a15e236147c *man/subset.listw.Rd f9effcdd75a029ba3886669b4f39a60c *man/subset.nb.Rd 2821e372b5c403882685cb58de3d7b56 *man/summary.nb.Rd 5b363efbd3bfee6a9d506c1850602aa6 *man/summary.sarlm.Rd 907d1e91e05df5d1166d294b9be600e7 *man/testnb.Rd 05b54993853cd17a6711d502da88447b *man/tolerance.nb.Rd ac187ad12743b9476d2e2a337fd0806c *man/trW.Rd c6c5478f98f103c4bd637f0250b435b4 *man/tri2nb.Rd d0c7a38e62fecf38b067ce57997da11e *man/used.cars.Rd aa20a8707c166aca75c815e99a477c0c *man/wheat.Rd 3c5d1eac9e2b3a9837e61c3e3596b977 *man/write.nb.gal.Rd 3996e7c16bfb96fad295ee425815cb4d *src/Makevars 59b5bf5c7c11c5ec38887ebc5c646345 *src/card.c d1f648c115dd2ee07e125cb267e7ca9a *src/dfs_ncomp.c 3936d332ec4bcd3116421288e5ec15fc *src/dnn.c ab3174ddddfeeb9f99bb8395975d9e31 *src/eminmaxC.c 1f8edae9bee1b168db4f48fee059a460 *src/gabriel.c 36854d947d5381786bc15303f2c2cf52 *src/gearyw.c 8721d99483b331051be5a7a4344b27ab *src/gsymtest.c 8061d8d33c693e43e999d666c33a81c2 *src/init.c 18eb40c98c79a76c1857e5d5bf904c55 *src/insiders.c a34376d431d495f08af5623b7132b71c *src/jc.c 219854edc76315acc25b0e01e74b8e94 *src/knn.c ef5c9e567ee7400345ab2915060aa99e *src/lagw.c 33aadfbe6cbd73fd38ee803d9b1cc670 *src/listw2Matrix.c 9d048d14d51b07c40be4ccd015366869 *src/listw2sn.c d994bae2c2a98827cb490b8ec2748cae *src/ml_sse.c 9e4947e1c838f42e911d0d12cb5860c5 *src/mom_calc.c 25cda63be09cef410f7f29656cdebcd4 *src/nbdists.c eb28067e88b2485a0d7e9784298824d1 *src/polypoly.c e58fac4a1006e53a55a6433820274510 *src/relative.c be56545afee7fc43c266e3d77e64b212 *src/skater.c 85f2387fdb51825c4b570adedf4509b3 *src/spdep.h d5188a82abbb16aac83bf280b8110355 *src/symtest.c 9424755ba3bcb91a5cc4a8871cab1c8b *vignettes/CO69.Rnw c565bc41dd415f9fee610ed8a3de02dc *vignettes/SpatialFiltering.Rnw 4c1323bb9b4b32b646fa6b737097bba9 *vignettes/nb.Rnw bde04f165c43754a39068c2e61b7f84b *vignettes/nb_igraph.Rmd 28cbedc0baac18898b49d26a3e24b3bd *vignettes/sids.Rnw spdep/build/0000755000176200001440000000000013152260232012460 5ustar liggesusersspdep/build/vignette.rds0000644000176200001440000000060613152260232015021 0ustar liggesusersS;O0vedĘ $FR !Jv`CNrM;]"67i6) 10^=>B~:C}9ѧ\rg < ;z,7lEI2AYT_A]ICuK@XI$ˌ 8%Jx[4Lp?n֊\H4x>pAW3 О,Ӣ w)*#"xBD,ArYҤ6,\:3+p稲X.v}-K1JKdȒnn14mےÒpfy6lϝ1dB=\h\' {lP-l6 ~}x+56n)ospdep/DESCRIPTION0000644000176200001440000000742213152340741013100 0ustar liggesusersPackage: spdep Version: 0.6-15 Date: 2017-08-18 Title: Spatial Dependence: Weighting Schemes, Statistics and Models Encoding: UTF-8 Authors@R: c(person("Roger", "Bivand", role = c("cre", "aut"), email = "Roger.Bivand@nhh.no"), person("Micah", "Altman", role = "ctb"), person("Luc", "Anselin", role = "ctb"), person("Renato", "Assunção", role = "ctb"), person("Olaf", "Berke", role = "ctb"), person("Andrew", "Bernat", role = "ctb"), person("Guillaume", "Blanchet", role = "ctb"), person("Eric", "Blankmeyer", role = "ctb"), person("Marilia", "Carvalho", role = "ctb"), person("Bjarke", "Christensen", role = "ctb"), person("Yongwan", "Chun", role = "ctb"), person("Carsten", "Dormann", role = "ctb"), person("Stéphane", "Dray", role = "ctb"), person("Virgilio", "Gómez-Rubio", role = "ctb"), person("Martin", "Gubri", role = "ctb"), person("Rein", "Halbersma", role = "ctb"), person("Elias", "Krainski", role = "ctb"), person("Pierre", "Legendre", role = "ctb"), person("Nicholas", "Lewin-Koh", role = "ctb"), person("Hongfei", "Li", role = "ctb"), person("Jielai", "Ma", role = "ctb"), person("Abhirup", "Mallik", role = c("ctb", "trl")), person("Giovanni", "Millo", role = "ctb"), person("Werner", "Mueller", role = "ctb"), person("Hisaji", "Ono", role = "ctb"), person("Pedro", "Peres-Neto", role = "ctb"), person("Gianfranco", "Piras", role = "ctb"), person("Markus", "Reder", role = "ctb"), person("Michael", "Tiefelsdorf", role = "ctb"), person("Danlin", "Yu", role = "ctb")) Depends: R (>= 3.0.0), methods, sp (>= 1.0), Matrix (>= 1.0.12) Imports: LearnBayes, deldir, boot (>= 1.3-1), splines, coda, nlme, MASS, stats, gmodels, expm, graphics, grDevices, utils Suggests: parallel, spam(>= 0.13-1), RANN, rgeos, RColorBrewer, lattice, xtable, maptools (>= 0.5-4), foreign, igraph, knitr Description: A collection of functions to create spatial weights matrix objects from polygon contiguities, from point patterns by distance and tessellations, for summarizing these objects, and for permitting their use in spatial data analysis, including regional aggregation by minimum spanning tree; a collection of tests for spatial autocorrelation, including global Moran's I, APLE, Geary's C, Hubert/Mantel general cross product statistic, Empirical Bayes estimates and Assunção/Reis Index, Getis/Ord G and multicoloured join count statistics, local Moran's I and Getis/Ord G, saddlepoint approximations and exact tests for global and local Moran's I; and functions for estimating spatial simultaneous autoregressive (SAR) lag and error models, impact measures for lag models, weighted and unweighted SAR and CAR spatial regression models, semi-parametric and Moran eigenvector spatial filtering, GM SAR error models, and generalized spatial two stage least squares models. License: GPL (>= 2) VignetteBuilder: knitr URL: https://r-forge.r-project.org/projects/spdep/ NeedsCompilation: yes Packaged: 2017-09-01 13:28:59 UTC; rsb Author: Roger Bivand [cre, aut], Micah Altman [ctb], Luc Anselin [ctb], Renato Assunção [ctb], Olaf Berke [ctb], Andrew Bernat [ctb], Guillaume Blanchet [ctb], Eric Blankmeyer [ctb], Marilia Carvalho [ctb], Bjarke Christensen [ctb], Yongwan Chun [ctb], Carsten Dormann [ctb], Stéphane Dray [ctb], Virgilio Gómez-Rubio [ctb], Martin Gubri [ctb], Rein Halbersma [ctb], Elias Krainski [ctb], Pierre Legendre [ctb], Nicholas Lewin-Koh [ctb], Hongfei Li [ctb], Jielai Ma [ctb], Abhirup Mallik [ctb, trl], Giovanni Millo [ctb], Werner Mueller [ctb], Hisaji Ono [ctb], Pedro Peres-Neto [ctb], Gianfranco Piras [ctb], Markus Reder [ctb], Michael Tiefelsdorf [ctb], Danlin Yu [ctb] Maintainer: Roger Bivand Repository: CRAN Date/Publication: 2017-09-01 20:24:01 UTC spdep/ChangeLog0000644000176200001440000030436413152260140013143 0ustar liggesusers2017-09-01 13:27 rsbivand * ChangeLog, inst/ChangeLog: tidy 2017-09-01 13:26 rsbivand * R/localG.R: add returned attribute to localG 2017-09-01 13:23 rsbivand * ChangeLog, inst/ChangeLog: tidy 2017-09-01 13:22 rsbivand * R/localG.R, man/localmoran.exact.Rd: add returned attribute to localG 2017-09-01 10:03 rsbivand * R/localG.R, man/localG.Rd: add returned attribute to localG 2017-08-30 19:51 rsbivand * R/localmoran.R, man/localmoran.Rd: add Sokal et al. 1998 to localmoran 2017-08-22 19:50 rsbivand * man/localG.Rd: tidy 2017-08-22 19:47 rsbivand * man/localmoran.exact.Rd, man/predict.sarlm.Rd: tidy 2017-08-18 17:24 rsbivand * DESCRIPTION, R/moran.exact.R, R/mtmoran.R: array/vector warnings 2017-07-05 08:29 rsbivand * DESCRIPTION, R/spBreg.R: spBreg_lag priors bugfix 2017-04-13 11:38 rsbivand * ChangeLog, inst/ChangeLog: tidy 2017-04-13 11:37 rsbivand * src/dnn.c: zero distance issue fix 2017-04-12 13:38 rsbivand * src/dnn.c: gcdist returned -nan for zero distance 2017-04-11 13:47 rsbivand * DESCRIPTION, R/kpgm_new.R, man/GMerrorsar.Rd: return GMerrorsar vcov 2017-04-11 12:47 rsbivand * DESCRIPTION, man/boston.Rd, man/lextrB.Rd, src/ml_sse.c, vignettes/nb_igraph.Rmd: unprotected SEXP; igraph arpack error 2017-02-23 11:41 rsbivand * ChangeLog, inst/ChangeLog: tidy 2017-02-23 11:37 rsbivand * DESCRIPTION, NAMESPACE: condition R 3.3 imports(, except=()) dependency 2017-02-20 13:22 rsbivand * ChangeLog, DESCRIPTION, inst/ChangeLog: tidy 2017-02-18 19:01 rsbivand * NAMESPACE: impacts for lagmess 2017-02-18 18:38 rsbivand * NAMESPACE: impacts for lagmess 2017-02-18 18:38 rsbivand * NAMESPACE, R/impacts.R, R/mess.R, man/impacts.sarlm.Rd, man/lagmess.Rd: impacts for lagmess 2017-02-16 17:44 rsbivand * DESCRIPTION, NAMESPACE, R/mess.R, man/lagmess.Rd: add expm to MESS 2017-02-15 13:14 rsbivand * ChangeLog, inst/ChangeLog: tidy 2017-02-15 13:13 rsbivand * ChangeLog, DESCRIPTION, R/nb2mat.R, man/invIrM.Rd: powerWeights bug fixed 2017-01-08 19:59 rsbivand * ChangeLog, inst/ChangeLog: tidy 2016-12-20 14:54 rsbivand * man/bhicv.Rd: tidy 2016-12-09 07:53 rsbivand * DESCRIPTION, src/dnn.c: gcdists bug fixed 2016-09-21 07:56 rsbivand * man/COL.OLD.Rd: tidy 2016-09-21 07:50 rsbivand * ChangeLog, inst/ChangeLog: tidy 2016-09-21 07:49 rsbivand * ChangeLog, inst/ChangeLog: tidy 2016-09-21 07:48 rsbivand * man/baltimore.Rd, man/columbus.Rd, man/nc.sids.Rd, man/read.gal.Rd, man/read.gwt2nb.Rd: tidy 2016-09-21 07:10 rsbivand * ChangeLog, inst/ChangeLog: tidy 2016-09-21 07:09 rsbivand * DESCRIPTION, R/error.spsarlm.R, man/errorsarlm.Rd: drop bug fix in lmSLX 2016-08-23 15:29 rsbivand * man/COL.OLD.Rd, man/baltimore.Rd, man/columbus.Rd, man/nc.sids.Rd, man/read.gal.Rd, man/read.gwt2nb.Rd: asu links to chicago 2016-08-23 12:52 rsbivand * DESCRIPTION, R/knearneigh.R, R/nb2blocknb.R: nb2blocknb and knearneigh fixes 2016-07-29 19:44 rsbivand * ChangeLog, inst/ChangeLog: tidy 2016-07-29 19:42 rsbivand * DESCRIPTION: tidy 2016-06-21 11:43 rsbivand * R/lm.LMtests.R: tidy 2016-06-20 11:27 rsbivand * DESCRIPTION, NAMESPACE, R/jacobian.R, R/lag.spsarlm.R, R/spBreg.R, data/elect80.rda, man/impacts.sarlm.Rd, man/lagsarlm.Rd: adding Bayesian lag model 2016-06-17 19:14 rsbivand * R/error.spsarlm.R, R/sarlm.R: add impacts and predict methods for SLX 2016-06-17 10:12 rsbivand * DESCRIPTION, NAMESPACE, R/error.spsarlm.R, R/impacts.R, man/errorsarlm.Rd, man/impacts.sarlm.Rd, man/predict.sarlm.Rd: add impacts and predict methods for SLX 2016-05-31 16:27 rsbivand * ChangeLog, inst/ChangeLog: tidy 2016-05-31 16:25 rsbivand * man/graphneigh.Rd, vignettes/nb.Rnw: remove questioned C code 2016-05-31 10:07 rsbivand * R/soi.R, src/init.c, src/spdep.h: remove questioned C code 2016-05-31 09:59 rsbivand * DESCRIPTION, R/knearneigh.R, R/soi.R, inst/README, man/graphneigh.Rd, src/soigraph.c: remove questioned C code 2016-04-12 09:22 rsbivand * ChangeLog, inst/ChangeLog: tidy 2016-04-12 09:13 rsbivand * DESCRIPTION, R/listw2sn.R, man/tri2nb.Rd: bug fix in sn2listw affecting tri2nb 2016-04-04 17:01 rsbivand * src/soigraph.c: add verbatim copyright to soigraph.c 2016-03-18 07:52 rsbivand * R/error.spsarlm.R, man/errorsarlm.Rd: SLX/SDEM impacts 2016-03-17 13:26 rsbivand * DESCRIPTION, NAMESPACE, R/error.spsarlm.R: SLX/SDEM impacts 2016-03-14 13:09 rsbivand * man/predict.sarlm.Rd: add weights in Hausman 2016-03-14 12:39 rsbivand * man/MCMCsamp.Rd: add weights in Hausman 2016-03-14 10:43 rsbivand * R/error.spsarlm.R: add weights in Hausman 2016-03-13 21:07 rsbivand * DESCRIPTION, R/error.hessian.R, R/error.spsarlm.R, R/mcmcsamp.R, R/spautolm.R, man/errorsarlm.Rd: add weights to errorsarlm 2016-02-22 10:14 rsbivand * DESCRIPTION, R/EBI.R, man/EBImoran.mc.Rd: change mean subtraction default in EBI 2016-02-11 19:48 rsbivand * R/impacts.R: add null check to tp in print.summary.lagImpact 2016-02-08 16:05 rsbivand * R/jacobian.R: tidy 2016-02-07 20:20 rsbivand * DESCRIPTION, NAMESPACE, R/impacts.R, man/impacts.sarlm.Rd: spBreg_lag working 2016-02-03 17:29 rsbivand * DESCRIPTION, R/jacobian.R, man/boston.Rd: tidy 2016-01-01 18:52 rsbivand * DESCRIPTION, R/sarlm.R, man/invIrM.Rd, man/predict.sarlm.Rd: Martin Gubri end of year edits 2015-12-22 09:54 rsbivand * DESCRIPTION: tidy 2015-12-21 17:35 rsbivand * ChangeLog, inst/ChangeLog, man/boston.Rd: tidy 2015-12-10 12:30 rsbivand * ChangeLog, man/localmoran.Rd, man/localmoran.sad.Rd, man/nb2blocknb.Rd: Morans I archaeology 2015-10-21 13:24 rsbivand * R/summary.spsarlm.R, man/lm.morantest.exact.Rd: tidy 2015-10-05 20:36 rsbivand * man/localmoran.sad.Rd: use Omega= argument in localmoran.sad 2015-09-17 13:21 rsbivand * R/sarlm.R: fix in predict.sarlm() 2015-09-15 10:14 rsbivand * DESCRIPTION: tidy 2015-09-13 17:00 rsbivand * DESCRIPTION, R/nb2mat.R, R/sarlm.R, man/invIrM.Rd, man/predict.sarlm.Rd: adding preliminary GSoC 2015 results 2015-09-05 14:55 rsbivand * DESCRIPTION, R/impacts.R: add sac to listw impacts 2015-08-26 22:18 gpiras * DESCRIPTION: fix description file 2015-06-28 21:40 rsbivand * DESCRIPTION, NAMESPACE: CRAN _R_CHECK_CODE_USAGE_WITH_ONLY_BASE_ATTACHED_=true NAMESPACE tidy 2015-05-21 07:32 rsbivand * R/error.spsarlm.R: fix index error in create_WX 2015-05-07 15:56 rsbivand * R/mcmcsamp.R: model.reponse as.is issue 2015-05-06 19:07 rsbivand * R/lm.morantest.R, R/moran.exact.R, R/mtlocalmoran.R, R/mtmoran.R: Moran's I to Moran I 2015-05-06 18:12 rsbivand * DESCRIPTION, R/geary.R, R/moran.R, man/dnearneigh.Rd, man/eire.Rd, man/house.Rd, man/knearneigh.Rd, man/lm.morantest.exact.Rd, man/lm.morantest.sad.Rd, man/localmoran.exact.Rd, man/localmoran.sad.Rd: further +ellps= corrections 2015-03-25 20:59 rsbivand * R/lag.spsarlm.R, R/sacsarlm.R: fix spam bug in sacsarlm 2015-03-24 08:40 rsbivand * DESCRIPTION, R/EBI.R, man/EBImoran.mc.Rd: EBI subtract mean 2015-03-17 13:12 rsbivand * man/eigenw.Rd: arpack bounds issue 2015-03-17 10:33 rsbivand * man/lextrB.Rd, vignettes/nb_igraph.Rmd: arpack bounds issue 2015-03-16 21:23 rsbivand * DESCRIPTION, R/lextrW.R: fix for no-neighbour lextrW 2015-03-16 07:43 rsbivand * ChangeLog, inst/ChangeLog: tidy 2015-03-16 07:42 rsbivand * DESCRIPTION, R/lextrB.R, R/lextrW.R: condition on R version for .lm.fit() 2015-03-15 13:34 rsbivand * ChangeLog, inst/ChangeLog: tidy 2015-03-13 10:12 rsbivand * R/lag.spsarlm.R, R/sacsarlm.R: alleviate tol.solve issue in *sarlm 2015-03-13 10:11 rsbivand * R/localmoran.exact.R, R/moran.exact.R: fix localmoran.exact two.sided 2015-03-12 15:29 rsbivand * R/lag.spsarlm.R, R/sacsarlm.R: adding divert to fdHess for lag and sac 2015-03-12 11:59 rsbivand * R/error.spsarlm.R, R/jacobian_setup.R, vignettes/CO69.Rnw: alleviate tol.solve issue in errorsarlm 2015-03-08 18:53 rsbivand * NAMESPACE, R/lextrB.R, R/lextrW.R, man/lextrB.Rd, src/eminmaxC.c, src/init.c, src/spdep.h: S style extreme eigenvalues 2015-03-06 12:32 rsbivand * R/lextrB.R, R/lextrW.R, data/oldcol.rda, man/COL.OLD.Rd, man/lextrB.Rd, man/lm.morantest.Rd, src/eminmaxC.c: disambiguate AREA in oldcol 2015-03-02 18:35 rsbivand * man/lextrB.Rd: adding extreme eigs for W 2015-03-01 19:51 rsbivand * DESCRIPTION, NAMESPACE, R/lextrB.R, R/lextrW.R, src/eminmaxC.c, src/init.c, src/spdep.h: adding extreme eigs for W 2015-02-17 21:06 rsbivand * NAMESPACE, R/lextrB.R, man/lextrB.Rd: checks on input weights 2015-02-17 10:22 rsbivand * R/lextrB.R: max mustBeB 2015-02-16 21:33 rsbivand * DESCRIPTION, NAMESPACE, R/lextrB.R, man/lextrB.Rd, src/eminmaxC.c, src/init.c, src/spdep.h: adding extreme eigenvalue code 2015-02-04 09:12 rsbivand * DESCRIPTION, NAMESPACE, man/COL.OLD.Rd, man/NY_data.Rd, man/baltimore.Rd, man/boston.Rd, man/columbus.Rd, man/eire.Rd, man/nc.sids.Rd, man/read.gal.Rd, man/read.gwt2nb.Rd, man/wheat.Rd: fix dead URLs 2015-01-27 13:11 rsbivand * vignettes/nb_igraph.Rmd: tidy 2015-01-27 09:00 rsbivand * R/autocov.R, man/autocov_dist.Rd: update autocov_dist to Bardos et al. (2015) 2015-01-25 19:31 rsbivand * R/utils.R: tidy 2015-01-25 18:14 rsbivand * vignettes/nb_igraph.Rmd: tidy 2015-01-20 10:39 rsbivand * man/graphneigh.Rd: gabrielneigh issue 2015-01-18 17:42 rsbivand * DESCRIPTION, vignettes/nb_igraph.Rmd: tidy 2015-01-18 14:21 rsbivand * DESCRIPTION, vignettes/nb_igraph.Rmd: Matrix all.equal problem 2015-01-16 14:20 rsbivand * inst/ChangeLog: tidy 2015-01-16 14:19 rsbivand * ChangeLog: tidy 2015-01-16 14:04 rsbivand * ChangeLog, inst/ChangeLog: tidy 2015-01-15 21:05 rsbivand * DESCRIPTION, R/AAA.R, R/spChkOption.R, R/utils.R, inst/CITATION, man/GMerrorsar.Rd, man/do_ldet.Rd, man/errorsarlm.Rd, man/gstsls.Rd, man/impacts.sarlm.Rd, man/lagsarlm.Rd, man/sacsarlm.Rd, man/set.spChkOption.Rd, man/stsls.Rd: add JSS 2015 reference 2015-01-07 11:41 rsbivand * ChangeLog, inst/ChangeLog: tidy 2015-01-07 11:39 rsbivand * DESCRIPTION, R/jacobian.R, man/errorsarlm.Rd: tidy 2015-01-07 09:55 rsbivand * man/eigenw.Rd, vignettes/nb_igraph.Rmd: shield igraph::arpack 2015-01-07 09:30 rsbivand * R/moran.R, man/moran.mc.Rd: moran.mc adjust.n= 2015-01-06 17:02 rsbivand * DESCRIPTION, R/jacobian.R, R/jacobian_setup.R, R/utils.R, man/errorsarlm.Rd, src/dnn.c, src/insiders.c, src/nbdists.c: spam update issues 2015-01-05 21:22 rsbivand * ChangeLog, inst/ChangeLog: tidy 2015-01-05 21:21 rsbivand * ChangeLog, DESCRIPTION: tidy 2015-01-05 21:19 rsbivand * man/errorsarlm.Rd: tidy 2015-01-05 13:20 rsbivand * man/errorsarlm.Rd, vignettes/nb_igraph.Rmd: try in Matrix_J donttest 2015-01-05 09:41 rsbivand * vignettes/nb_igraph.Rmd: tidy 2014-12-28 18:59 rsbivand * vignettes/nb_igraph.Rmd: igraph usage 2014-12-28 18:28 rsbivand * vignettes/nb_igraph.Rmd: igraph usage 2014-12-28 13:25 rsbivand * vignettes/nb_igraph.Rmd: igraph usage 2014-12-26 20:04 rsbivand * vignettes/nb_igraph.Rmd: igraph usage 2014-12-23 22:22 rsbivand * vignettes/nb_igraph.Rmd: igraph usage 2014-12-22 23:14 rsbivand * vignettes/nb_igraph.Rmd: igraph usage 2014-12-22 22:54 rsbivand * man/aple.mc.Rd, man/set.mcOption.Rd, man/skater.Rd, man/trW.Rd: fixed detectCores in examples 2014-12-22 17:32 rsbivand * R/globalG.R, man/globalG.test.Rd, vignettes/nb_igraph.Rmd: igraph vignette start 2014-12-19 21:17 rsbivand * R/eigenw.R, vignettes/nb_igraph.Rmd: igraph vignette start 2014-12-19 15:09 rsbivand * vignettes/nb_igraph.Rmd: tidy 2014-12-18 21:55 rsbivand * R/listw2sn.R, R/nb2mat.R, vignettes/nb_igraph.Rmd: igraph vignette start 2014-12-18 13:51 rsbivand * vignettes/nb_igraph.Rmd: igraph vignette start 2014-12-18 13:48 rsbivand * DESCRIPTION, R/jacobian.R, R/listw2Matrix.R, R/nb2mat.R, man/as_dgRMatrix_listw.Rd, vignettes/nb_igraph.Rmd: igraph vignette start 2014-12-16 20:37 rsbivand * vignettes/nb_igraph.Rmd: igraph vignette start 2014-12-16 20:35 rsbivand * DESCRIPTION, vignettes/nb_igraph.Rmd: igraph vignette start 2014-12-15 09:32 rsbivand * man/nblag.Rd: start introducing igraph 2014-12-12 23:18 rsbivand * DESCRIPTION, R/listw2Matrix.R, man/compon.Rd, man/eigenw.Rd: start introducing igraph 2014-12-09 16:45 rsbivand * R/listw2Matrix.R, man/as_dgRMatrix_listw.Rd, man/trW.Rd: coerce to CsparseMatrix 2014-12-08 13:13 rsbivand * DESCRIPTION, NAMESPACE, R/ME.R, R/aple.R, R/error.spsarlm.R, R/jacobian.R, R/kpgm_new.R, R/lee.test.R, R/listw2Matrix.R, R/mcmcsamp.R, R/mess.R, R/nb2listw.R, R/sarlm.R, R/spautolm.R, man/as_dgRMatrix_listw.Rd, man/eigenw.Rd, man/errorsarlm.Rd, man/gstsls.Rd, man/house.Rd, man/impacts.sarlm.Rd, man/invIrM.Rd, man/lagsarlm.Rd, man/mat2listw.Rd, man/sacsarlm.Rd, man/trW.Rd: coerce to CsparseMatrix 2014-12-02 23:01 rsbivand * R/edit.nb.R, R/nb2blocknb.R, R/spautolm.R, man/boston.Rd, man/edit.nb.Rd, man/house.Rd, man/impacts.sarlm.Rd, man/spautolm.Rd: dontrun tidy 2014-12-02 12:34 rsbivand * ChangeLog, inst/ChangeLog: tidt 2014-12-02 12:32 rsbivand * DESCRIPTION, R/globalG.R, R/read.gal.R, src/card.c, src/nbdists.c, vignettes/sids.Rnw: read.gal() not assigning 0 to nb object 2014-11-27 10:38 rsbivand * man/spautolm.Rd: spautolm docs 2014-11-21 08:43 rsbivand * DESCRIPTION, R/globalG.R, man/globalG.test.Rd: globalG two.sided 2014-11-06 13:43 rsbivand * DESCRIPTION, R/jacobian.R, R/knearneigh.R, R/listw2sn.R, R/nb2listw.R: formula and requireNamespace 2014-11-06 12:28 rsbivand * DESCRIPTION, R/SpatialFiltering.R, R/aple.mc.R, R/error.spsarlm.R, R/impacts.R, R/jacobian.R, R/knearneigh.R, R/kpgm_new.R, R/lag.spsarlm.R, R/listw2sn.R, R/mess.R, R/nb2listw.R, R/nbcosts.R, R/prunecost.R, R/s2sls.R, R/sacsarlm.R: formula and requireNamespace 2014-09-17 19:31 rsbivand * ChangeLog, inst/ChangeLog: tidy 2014-08-31 21:34 rsbivand * R/tri2nb.R: allow other bounds in dnn 2014-08-31 14:57 rsbivand * DESCRIPTION, R/dnearneigh.R, man/dnearneigh.Rd, man/summary.nb.Rd, src/dnn.c: allow other bounds in dnn 2014-07-30 15:14 rsbivand * R/bptest.sarlm.R, src/soigraph.c: Debian copyright issue 2014-07-18 12:23 rsbivand * DESCRIPTION, NAMESPACE, man/do_ldet.Rd, man/nb2listw.Rd: exporting can.be.simmed and jacobianSetup 2014-06-05 19:08 rsbivand * ChangeLog, inst/ChangeLog: tidy 2014-06-05 18:59 rsbivand * DESCRIPTION, man/nb2listw.Rd: tidy 2014-05-15 10:39 rsbivand * R/impacts.R, man/impacts.sarlm.Rd: slacken row-standardised condition on listw impacts 2014-04-19 16:54 rsbivand * DESCRIPTION, NAMESPACE, R/lee.R, R/lee.mc.R, R/lee.test.R, R/lee_internal.R, man/lee.Rd, man/lee.mc.Rd, man/lee.test.Rd: adding Lee test 2014-04-03 18:25 rsbivand * ChangeLog, DESCRIPTION, NAMESPACE, R/error.spsarlm.R, R/lag.spsarlm.R, R/sacsarlm.R, man/errorsarlm.Rd: exposing create_WX 2014-03-21 12:49 rsbivand * DESCRIPTION, R/dnearneigh.R, man/dnearneigh.Rd: logic bug in dnearneighbour 2014-03-19 07:56 rsbivand * DESCRIPTION, man/errorsarlm.Rd, man/lagsarlm.Rd, man/sacsarlm.Rd: sarlm help pages links 2014-03-05 09:26 rsbivand * DESCRIPTION, R/impacts.R, man/impacts.sarlm.Rd: fix holes in listw route to impacts 2014-03-04 14:41 rsbivand * DESCRIPTION, R/impacts.R, R/nb2mat.R: fix holes in listw route to impacts 2014-01-31 14:08 rsbivand * ChangeLog, inst/ChangeLog: tidy 2014-01-31 14:07 rsbivand * man/EBImoran.mc.Rd, man/bptest.sarlm.Rd, man/eire.Rd: now UTF-8 2014-01-31 12:34 rsbivand * ChangeLog, inst/ChangeLog: tidy 2014-01-31 12:33 rsbivand * DESCRIPTION, NAMESPACE, man/EBImoran.mc.Rd, man/bptest.sarlm.Rd, man/eire.Rd: all to UTF-8 2014-01-31 09:40 rsbivand * ChangeLog, inst/ChangeLog: tidy 2014-01-31 09:39 rsbivand * man/boston.Rd: decription of Boston tracts 2014-01-31 09:30 rsbivand * ChangeLog, inst/ChangeLog: tidy 2014-01-31 09:28 rsbivand * man/boston.Rd: decription of Boston tracts 2014-01-30 20:16 rsbivand * inst/ChangeLog: tidy 2014-01-30 20:15 rsbivand * ChangeLog: tidy 2014-01-30 20:12 rsbivand * DESCRIPTION, inst/etc/shapes/boston_tracts.dbf, inst/etc/shapes/boston_tracts.prj, inst/etc/shapes/boston_tracts.shp, inst/etc/shapes/boston_tracts.shx, man/boston.Rd: adding boston tract polygons 2014-01-17 12:48 rsbivand * DESCRIPTION, R/knearneigh.R, man/knearneigh.Rd: duplicate points in knearneigh 2014-01-13 10:38 rsbivand * data/wheat.rda, data/wheat.txt, inst/etc/shapes/wheat.dbf, man/wheat.Rd: bug in wheat data 2013-12-04 21:33 rsbivand * DESCRIPTION, R/nb2blocknb.R, man/nb2blocknb.Rd: NULL nb in nb2blocknb 2013-11-05 10:43 rsbivand * DESCRIPTION, R/spautolm.R: fix non-fdHess se in spautolm 2013-10-29 18:13 rsbivand * DESCRIPTION: socket cluster for skater 2013-10-29 18:10 rsbivand * ChangeLog, inst/ChangeLog: socket cluster for skater 2013-10-29 18:09 rsbivand * DESCRIPTION, R/nbcosts.R, R/prunecost.R: socket cluster for skater 2013-10-27 10:21 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-10-27 10:19 rsbivand * NAMESPACE, man/impacts.sarlm.Rd: adding intImpacts to namespace 2013-10-22 06:13 rsbivand * DESCRIPTION, R/error.spsarlm.R, man/errorsarlm.Rd: fix lmSLX bug 2013-10-20 07:41 rsbivand * R/nbcosts.R, R/prunecost.R, man/nbcosts.Rd, man/skater.Rd: mc options 2013-10-18 16:30 rsbivand * R/impacts.R, man/trW.Rd: mc options 2013-10-18 06:43 rsbivand * R/spChkOption.R, man/set.mcOption.Rd: mc options 2013-10-17 21:22 rsbivand * NAMESPACE, R/EBI.R, R/ME.R, R/aple.mc.R, R/geary.R, R/moran.R, R/sp.mantel.R, R/spChkOption.R, man/set.mcOption.Rd: mc options 2013-10-17 20:21 rsbivand * DESCRIPTION, R/aple.mc.R, R/spChkOption.R, man/aple.Rd, man/aple.mc.Rd, man/set.mcOption.Rd: mc options 2013-10-17 12:10 rsbivand * R/AAA.R, R/spChkOption.R, man/set.mcOption.Rd: mc options 2013-10-01 18:32 rsbivand * R/error.spsarlm.R: series approximation issue 2013-10-01 11:01 rsbivand * DESCRIPTION, R/error.spsarlm.R, R/nb2mat.R, man/invIrM.Rd: series approximation issue 2013-09-20 16:40 rsbivand * man/set.mcOption.Rd: progress on parallel integration 2013-09-20 10:43 rsbivand * DESCRIPTION, NAMESPACE, R/AAA.R, R/aple.mc.R, R/spChkOption.R, man/aple.mc.Rd, man/set.spChkOption.Rd: progress on parallel integration 2013-09-17 08:13 rsbivand * R/nbcosts.R, R/prunecost.R: crossplatform skater functions 2013-09-16 08:40 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-09-16 08:39 rsbivand * man/droplinks.Rd, man/errorsarlm.Rd: tidy 2013-09-16 08:26 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-09-13 09:04 rsbivand * R/knearneigh.R: fix RANN zero-distance bug 2013-09-04 13:44 rsbivand * R/error.spsarlm.R, man/errorsarlm.Rd: adding SLX as lmSLX 2013-09-04 13:03 rsbivand * DESCRIPTION, NAMESPACE, R/error.spsarlm.R, man/errorsarlm.Rd: adding SLX as lmSLX 2013-09-02 08:40 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-09-02 08:39 rsbivand * R/AAA.R, R/nbcosts.R, R/prunecost.R: block windows mc.cores > 1 (temp fix) 2013-09-02 08:07 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-09-02 08:06 rsbivand * DESCRIPTION, R/AAA.R, R/nbcosts.R, R/prunecost.R: block windows mc.cores > 1 (temp fix) 2013-09-01 18:30 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-08-29 13:02 rsbivand * DESCRIPTION, NAMESPACE, R/autocov.R, R/dnearneigh.R, R/edit.nb.R, R/impacts.R, R/knearneigh.R, R/nbdists.R, R/poly2nb.R, R/summary.nb.R, man/edit.nb.Rd, man/poly2nb.Rd, man/trW.Rd, vignettes/nb.Rnw: remove ::: 2013-08-28 13:43 rsbivand * DESCRIPTION, NAMESPACE, R/aple.mc.R, R/spautolm.R, man/moran.plot.Rd: tidy 2013-08-28 11:33 rsbivand * .Rbuildignore, DESCRIPTION, man/getisord.Rd, man/lm.morantest.Rd, man/moran.mc.Rd: tidy 2013-08-21 10:49 rsbivand * DESCRIPTION, R/nbcosts.R, R/prunecost.R, data/wheat.txt, man/wheat.Rd: wheat bug, prunecost/nbcosts 2013-08-07 13:19 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-08-07 13:16 rsbivand * DESCRIPTION: tidy 2013-07-26 20:34 rsbivand * DESCRIPTION, NAMESPACE, R/jacobian.R, R/tri2nb.R, man/NY_data.Rd, man/auckland.Rd, man/columbus.Rd, man/eire.Rd, man/lm.morantest.exact.Rd, man/lm.morantest.sad.Rd, man/localmoran.exact.Rd, man/localmoran.sad.Rd, man/mstree.Rd, man/nb2lines.Rd, man/nc.sids.Rd, man/skater.Rd, man/wheat.Rd, vignettes/CO69.Rnw: reduce Depends 2013-07-22 07:14 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-07-22 07:13 rsbivand * DESCRIPTION, R/knearneigh.R, man/knearneigh.Rd: RANN nn -> nn2 2013-07-02 19:04 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-07-02 19:03 rsbivand * inst/LICENCE, inst/README: tidy 2013-07-02 18:31 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-07-02 18:30 rsbivand * DESCRIPTION, inst/doc/CO69.Rnw, inst/doc/CO69.pdf, inst/doc/SpatialFiltering.Rnw, inst/doc/SpatialFiltering.pdf, inst/doc/nb.Rnw, inst/doc/nb.pdf, inst/doc/sids.Rnw, inst/doc/sids.pdf, vignettes, vignettes/CO69.Rnw, vignettes/CO69.pdf, vignettes/SpatialFiltering.Rnw, vignettes/SpatialFiltering.pdf, vignettes/nb.Rnw, vignettes/nb.pdf, vignettes/sids.Rnw, vignettes/sids.pdf: move to vignettes 2013-06-25 17:30 rsbivand * inst/doc/SpatialFiltering.Rnw, inst/doc/SpatialFiltering.pdf, inst/doc/nb.Rnw, inst/doc/nb.pdf: adding footnote 2013-06-24 11:57 rsbivand * DESCRIPTION, R/plot.nb.R, inst/doc/SpatialFiltering.Rnw: plot.nb 2013-06-21 13:44 rsbivand * DESCRIPTION, inst/doc/SpatialFiltering.Rnw, inst/doc/backstore/nyME_res.RData: backstoring ME results 2013-06-21 12:08 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-06-21 12:07 rsbivand * man/impacts.sarlm.Rd, man/lagmess.Rd, man/lm.morantest.exact.Rd, man/localmoran.exact.Rd, man/spautolm.Rd, man/tolerance.nb.Rd, man/trW.Rd: changing over-long help page lines 2013-06-20 17:07 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-06-20 17:02 rsbivand * DESCRIPTION, inst/doc/SpatialFiltering.Rnw, inst/doc/SpatialFiltering.pdf, inst/doc/nb.Rnw, inst/doc/nb.pdf: SpatialFiltering vignette 2013-06-20 11:41 rsbivand * DESCRIPTION, R/mcmcsamp.R, inst/doc/nb.Rnw, inst/etc/shapes/NY8_utm18.dbf, inst/etc/shapes/NY8_utm18.prj, inst/etc/shapes/NY8_utm18.shp, inst/etc/shapes/NY8_utm18.shx, inst/etc/weights/NY_nb.gal, man/MCMCsamp.Rd: nb vignette beginning 2013-03-30 13:23 rsbivand * LICENCE, src/dnn.c, src/ml_sse.c, src/polypoly.c, src/skater.c: remove clang warnings 2013-03-14 16:36 rsbivand * inst/doc/CO69.Rnw, inst/doc/sids.Rnw: keep.source=FALSE in vignettes 2013-02-11 07:39 rsbivand * DESCRIPTION, R/error.spsarlm.R, src/ml_sse.c, src/spdep.h: tidy 2013-01-11 11:13 rsbivand * ChangeLog, inst/ChangeLog: tidy 2013-01-11 11:11 rsbivand * DESCRIPTION, R/error.hessian.R, R/error.spsarlm.R, R/impacts.R, R/lag.hessian.R, R/lag.spsarlm.R, R/moran.exact.R, R/spautolm.R, man/errorsarlm.Rd, man/lagsarlm.Rd, man/spautolm.Rd: no real and Hessian variants 2012-12-21 09:25 rsbivand * ChangeLog, inst/ChangeLog: tidy 2012-12-21 09:24 rsbivand * R/impacts.R, R/poly2nb.R: clusterExport environment 2012-12-20 12:42 rsbivand * ChangeLog, inst/ChangeLog: pre_eig documentation 2012-12-20 12:40 rsbivand * R/sacsarlm.R, man/errorsarlm.Rd, man/lagsarlm.Rd, man/sacsarlm.Rd, man/spautolm.Rd: pre_eig documentation 2012-12-11 11:46 rsbivand * DESCRIPTION, NAMESPACE, R/eigenw.R, R/error.spsarlm.R, R/jacobian.R, R/jacobian_setup.R, R/lag.spsarlm.R, R/sacsarlm.R, R/spautolm.R, man/do_ldet.Rd, man/eigenw.Rd: adding direct eigenvalues to fitting functions 2012-12-08 17:53 rsbivand * man/aple.Rd, man/aple.mc.Rd, man/aple.plot.Rd: changing to published APLE reference 2012-11-18 19:51 rsbivand * DESCRIPTION, R/error.hessian.R, R/lag.hessian.R, R/spautolm.R: Hessian optim > optimHess 2012-11-09 10:12 rsbivand * ChangeLog, inst/ChangeLog: tidy 2012-11-09 10:11 rsbivand * DESCRIPTION, NAMESPACE, R/mcmcsamp.R, man/MCMCsamp.Rd, man/lagsarlm.Rd: replace MCMCpack with LearnBayes 2012-11-08 20:28 rsbivand * ChangeLog, inst/ChangeLog: tidy 2012-11-08 20:26 rsbivand * NAMESPACE, R/error.hessian.R, R/error.spsarlm.R, R/lag.hessian.R, R/lag.spsarlm.R, R/mcmcsamp.R, R/sacsarlm.R, man/MCMCsamp.Rd, man/errorsarlm.Rd: adding MCMCsamp method for sarlm 2012-11-08 17:16 rsbivand * R/mcmcsamp.R, R/spautolm.R, man/MCMCsamp.Rd, man/spautolm.Rd: adding MCMCsamp method for spautolm 2012-11-08 11:05 rsbivand * man/spautolm.Rd: add fdHess lambda.se to spautolm 2012-11-08 10:49 rsbivand * R/spautolm.R: add fdHess lambda.se to spautolm 2012-11-07 20:29 rsbivand * DESCRIPTION, NAMESPACE, R/jacobian_setup.R, R/lag.spsarlm.R, R/mcmcsamp.R, R/sacsarlm.R, R/spautolm.R, man/GMerrorsar.Rd, man/sacsarlm.Rd, man/spautolm.Rd: code simplification for Jacobian 2012-11-07 07:04 rsbivand * R/error.spsarlm.R, R/jacobian.R, R/jacobian_setup.R, R/mcmcsamp.R, R/sp.correlogram.R, man/sp.correlogram.Rd: code simplification for Jacobian 2012-10-18 18:58 rsbivand * R/jacobian.R: eq7 moments 2012-10-04 03:00 rsbivand * DESCRIPTION, R/cyclical.R, R/jacobian.R, R/weights-utils.R, man/do_ldet.Rd: adding cyclical computation 2012-10-03 10:06 rsbivand * R/weights-utils.R: find cyclical weights 2012-10-03 09:59 rsbivand * R/weights-utils.R: find cyclical weights 2012-10-03 09:54 rsbivand * R/weights-utils.R: find cyclical weights 2012-09-25 09:09 rsbivand * ChangeLog, DESCRIPTION, inst/ChangeLog: tidy 2012-09-23 14:51 rsbivand * NAMESPACE, R/jacobian.R, man/do_ldet.Rd: add LU pre-permute ldet 2012-09-22 19:12 rsbivand * R/jacobian.R, man/do_ldet.Rd: add LU pre-permute ldet 2012-09-22 18:51 rsbivand * DESCRIPTION, NAMESPACE, R/jacobian.R, man/do_ldet.Rd: add LU pre-permute ldet 2012-09-12 20:21 rsbivand * DESCRIPTION, R/jacobian.R: m+1 in Rmrho 2012-08-31 12:15 rsbivand * ChangeLog, inst/ChangeLog: tidy 2012-08-31 12:14 rsbivand * ChangeLog, inst/ChangeLog: tidy 2012-08-31 12:13 rsbivand * DESCRIPTION, R/ME.R, man/ME.Rd: remove EISPACK, enforce symmetry in ME 2012-08-27 19:11 rsbivand * man/errorsarlm.Rd, man/lagsarlm.Rd: further SE classic additions, error model 2012-08-27 18:54 rsbivand * R/error.spsarlm.R: further SE classic additions, error model 2012-08-27 18:52 rsbivand * R/error.hessian.R, R/error.spsarlm.R, R/lag.hessian.R, R/lag.spsarlm.R: further SE classic additions, error model 2012-08-27 14:58 rsbivand * R/jacobian.R, R/lag.spsarlm.R, man/do_ldet.Rd: further SE classic additions 2012-08-27 07:24 rsbivand * DESCRIPTION, NAMESPACE, R/jacobian.R, R/lag.spsarlm.R, man/do_ldet.Rd, man/lagsarlm.Rd: SE_* do_ldet methods to emulate SE toolbox 2012-08-15 09:00 rsbivand * R/spautolm.R, R/subset.nb.R: NROW bug in spautolm 2012-07-11 14:58 rsbivand * DESCRIPTION, R/s2sls.R, R/spautolm.R: correct White HC in stsls 2012-05-23 20:11 rsbivand * man/impacts.sarlm.Rd: revised impacts help page 2012-05-21 10:46 rsbivand * R/read.gwt2nb.R: integer in read.dat2listw 2012-05-18 11:59 rsbivand * DESCRIPTION, R/sacsarlm.R, man/sacsarlm.Rd: limit sacsar fdHess to nlme 2012-05-17 07:46 rsbivand * R/skater.R, man/skater.Rd: skater updated 2012-05-11 17:59 rsbivand * R/summary.spsarlm.R: adding adj.se to summary.sarlm 2012-05-11 17:52 rsbivand * R/summary.spsarlm.R: adding adj.se to summary.sarlm 2012-05-11 17:40 rsbivand * DESCRIPTION, R/summary.spsarlm.R, man/summary.sarlm.Rd: adding adj.se to summary.sarlm 2012-05-06 15:06 rsbivand * ChangeLog, inst/ChangeLog: tidy 2012-05-06 15:04 rsbivand * DESCRIPTION, R/aple.mc.R, R/impacts.R, R/poly2nb.R, man/aple.mc.Rd, man/set.spChkOption.Rd: shift to parallel 2012-05-02 11:23 rsbivand * man/nb2lines.Rd, man/nb2listw.Rd: minmax in nb2listw help page 2012-04-09 15:13 rsbivand * R/summary.nb.R: clearer messages in listw summary 2012-04-07 13:20 rsbivand * R/localmoran.R: add rownames to localmoran 2012-04-05 10:59 rsbivand * R/moran.R: warnings in moran.test 2012-03-31 08:34 rsbivand * NAMESPACE, R/lm.LMtests.R, R/sarlm.R, man/lm.LMtests.Rd, man/predict.sarlm.Rd: summary for LM tests, as.data.frame for sarlm predictions 2012-03-21 19:23 rsbivand * DESCRIPTION, R/sarlm.R: added non-W intercept handling to predict.sarlm 2012-03-17 19:34 rsbivand * ChangeLog, inst/ChangeLog: tidy 2012-03-17 19:30 rsbivand * ChangeLog, R/error.spsarlm.R, R/sarlm.R, man/predict.sarlm.Rd: add emixed to predict 2012-03-16 07:08 rsbivand * R/impacts.R, R/sarlm.R, man/predict.sarlm.Rd: return samples from impacts; use samples in predict 2012-03-15 06:55 rsbivand * DESCRIPTION, R/sarlm.R: alias fix in predict.sarlm 2012-02-24 20:53 rsbivand * DESCRIPTION, R/bptest.sarlm.R, man/bptest.sarlm.Rd: df bug in bptest 2011-12-05 12:51 rsbivand * man/impacts.sarlm.Rd: remove limitation on impacts help page 2011-11-26 11:52 rsbivand * ChangeLog, inst/ChangeLog: add sd to MC tr 2011-11-26 11:51 rsbivand * ChangeLog, DESCRIPTION, R/impacts.R, man/do_ldet.Rd, man/trW.Rd: add sd to MC tr 2011-11-20 17:02 rsbivand * R/jacobian.R: returning number of corrections used in truncated moments 2011-11-19 09:51 rsbivand * DESCRIPTION, R/impacts.R, man/trW.Rd: relax symmetry assertion in moments tr 2011-11-14 21:15 rsbivand * DESCRIPTION, R/AAA.R, R/EBI.R, R/ME.R, R/SpatialFiltering.R, R/aple.mc.R, R/autocov.R, R/diffnb.R, R/eigenw.R, R/error.spsarlm.R, R/geary.R, R/globalG.R, R/impacts.R, R/jc.R, R/kpgm_new.R, R/lag.spsarlm.R, R/lm.LMtests.R, R/lm.morantest.R, R/localG.R, R/localmoran.R, R/localmoran.exact.R, R/mess.R, R/moran.R, R/moran.exact.R, R/moran.exact.alt.R, R/moran.plot.R, R/mtlocalmoran.R, R/mtmoran.R, R/nb2listw.R, R/nb2mat.R, R/poly2nb.R, R/s2sls.R, R/sacsarlm.R, R/sarlm.R, R/sp.correlogram.R, R/sp.mantel.R, R/spChkOption.R, R/spautolm.R, R/subset.nb.R, R/summary.nb.R, R/summary.spsarlm.R, R/utils.R, R/weights-utils.R: complete partial argument matches 2011-11-14 10:32 rsbivand * ChangeLog, inst/ChangeLog: tidy 2011-11-10 14:45 rsbivand * R/jacobian.R: MC adjustments 2011-11-10 12:58 rsbivand * DESCRIPTION, R/jacobian.R: MC adjustments 2011-11-08 09:34 rsbivand * DESCRIPTION, R/jacobian.R: asy moments 2011-10-07 18:28 rsbivand * DESCRIPTION, R/read.gwt2nb.R: no-neighbours in nb2INLA 2011-10-06 16:01 rsbivand * man/do_ldet.Rd: tidy 2011-09-16 08:33 rsbivand * ChangeLog, inst/ChangeLog: tidy 2011-09-16 08:30 rsbivand * DESCRIPTION, R/AAA.R, man/LR.sarlm.Rd, man/anova.sarlm.Rd, man/edit.nb.Rd, man/graphneigh.Rd, man/joincount.multi.Rd, man/joincount.test.Rd, man/lag.listw.Rd, man/lm.LMtests.Rd, man/lm.morantest.sad.Rd, man/localmoran.sad.Rd, man/plot.nb.Rd, man/predict.sarlm.Rd, man/residuals.sarlm.Rd, man/sp.correlogram.Rd, man/sp.mantel.mc.Rd, man/subset.listw.Rd, man/subset.nb.Rd, man/summary.nb.Rd, man/trW.Rd: help file S3 cleanup 2011-07-18 19:11 rsbivand * R/kpgm_new.R: pass zero.policy in GMerrorsar non-legacy branch 2011-07-17 12:18 rsbivand * DESCRIPTION, R/EBI.R, R/aple.R, R/autocov.R, R/geary.R, R/globalG.R, R/localG.R, R/localmoran.R, R/moran.plot.R, R/sp.correlogram.R, R/sp.mantel.R, man/aple.Rd, man/aple.mc.Rd, man/aple.plot.Rd, man/moran.plot.Rd: enforce vector input for tests 2011-07-03 18:20 rsbivand * DESCRIPTION, NAMESPACE, R/error.spsarlm.R, R/lag.spsarlm.R, R/sarlm.R, man/residuals.sarlm.Rd: first sketch of sarlm vcov 2011-06-29 08:03 rsbivand * ChangeLog, inst/ChangeLog: tidy 2011-06-29 08:01 rsbivand * DESCRIPTION: tidy 2011-06-29 07:45 rsbivand * ChangeLog, inst/ChangeLog: tidy 2011-06-29 07:44 rsbivand * ChangeLog, R/sarlm.R, inst/ChangeLog: tidy 2011-06-17 12:30 rsbivand * R/summary.spsarlm.R: adding LM test to SD summary 2011-06-16 10:47 rsbivand * R/aple.mc.R, R/bptest.sarlm.R, R/error.spsarlm.R, R/lag.spsarlm.R, R/sacsarlm.R, R/sarlm.R, R/summary.spsarlm.R, man/bptest.sarlm.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/localmoran.exact.Rd, man/localmoran.sad.Rd, man/sacsarlm.Rd: continuing object bloat reduction 2011-06-15 19:54 rsbivand * DESCRIPTION, R/anova.sarlm.R, R/error.spsarlm.R, R/lag.spsarlm.R, R/sacsarlm.R, R/sarlm.R, R/spautolm.R, R/summary.spsarlm.R: incomplete slimming environments 2011-06-12 19:11 rsbivand * R/aple.R: aple tidy 2011-06-09 15:45 rsbivand * ChangeLog, inst/ChangeLog: tidy 2011-06-09 15:42 rsbivand * DESCRIPTION, R/impacts.R, R/kpgm_new.R, R/s2sls.R, man/stsls.Rd: SEAI modifications 2011-06-01 05:28 rsbivand * man/rotation.Rd: change rotation example output 2011-06-01 05:14 rsbivand * R/nbcosts.R, R/prunecost.R, R/skater.R, man/nbcosts.Rd, man/prunecost.Rd, man/skater.Rd, man/ssw.Rd: update to skater from Elias T. Krainski 2011-05-30 08:07 rsbivand * NAMESPACE, R/impacts.R, R/kpgm_new.R, man/gstsls.Rd, man/impacts.sarlm.Rd: impacts method for gmsar/SARAR 2011-05-28 15:17 rsbivand * R/kpgm_new.R, man/GMerrorsar.Rd, man/gstsls.Rd: scaleU in GMerrorsar and gstsls 2011-05-27 21:55 rsbivand * DESCRIPTION, R/nb2listw.R, man/nb2listw.Rd: examining minmax in nb2listw 2011-05-19 21:55 rsbivand * ChangeLog, inst/ChangeLog: integer overflow in poly2nb C code 2011-05-19 21:52 rsbivand * DESCRIPTION, src/polypoly.c: integer overflow in poly2nb C code 2011-05-05 18:00 rsbivand * ChangeLog, inst/ChangeLog, inst/doc/CO69.pdf, inst/doc/sids.pdf: tidy 2011-05-05 16:22 rsbivand * R/kpgm_new.R, man/GMerrorsar.Rd: GMerrorsar se lambda 2011-05-04 20:06 rsbivand * R/kpgm_new.R, man/GMerrorsar.Rd: GM lambda standard error incomplete 2011-05-03 20:39 rsbivand * DESCRIPTION, NAMESPACE, R/kpgm_new.R, man/GMerrorsar.Rd, man/gstsls.Rd: GM lambda standard error incomplete 2011-04-16 12:24 rsbivand * R/kpgm_new.R: tidy 2011-04-16 12:16 rsbivand * R/kpgm_new.R: tidy 2011-04-16 11:42 rsbivand * R/kpgm_new.R: Arnold-Wied (2010) moments 2011-04-14 20:16 rsbivand * DESCRIPTION, R/eigenw.R, R/jacobian.R, R/kpgm_new.R, man/GMerrorsar.Rd, man/eigenw.Rd, man/gstsls.Rd: complex eigenvalues 2011-04-13 09:53 rsbivand * inst/doc/CO69.pdf, inst/doc/sids.pdf, man/eigenw.Rd: complex eigenvalues 2011-04-12 15:06 rsbivand * ChangeLog, inst/ChangeLog: fixes for geary.mc and GMerrorsar 2011-04-12 15:05 rsbivand * DESCRIPTION, R/geary.R, R/kpgm_new.R, man/GMerrorsar.Rd, man/card.Rd, man/cell2nb.Rd, man/dnearneigh.Rd, man/geary.mc.Rd, man/graphneigh.Rd, man/knn2nb.Rd, man/nb2INLA.Rd, man/poly2nb.Rd: fixes for geary.mc and GMerrorsar 2011-03-30 18:51 rsbivand * DESCRIPTION, NAMESPACE, R/EBI.R, R/read.gwt2nb.R, man/nb2INLA.Rd: adding INLA nb interface 2011-03-14 09:25 rsbivand * ChangeLog, inst/ChangeLog: compressing PDFs and data 2011-03-14 09:24 rsbivand * data/NY_data.rda, data/afcon.rda, data/auckland.rda, data/baltimore.rda, data/boston.rda, data/columbus.rda, data/eire.rda, data/elect80.rda, data/getisord.rda, data/hopkins.rda, data/house.RData, data/huddersfield.rda, data/nc.sids.rda, data/oldcol.rda, data/used.cars.rda, inst/doc/CO69.pdf, inst/doc/sids.pdf: compressing PDFs and data 2011-03-14 07:50 rsbivand * data/00Index: removing data/00Index 2011-03-13 13:23 rsbivand * ChangeLog, inst/ChangeLog: revise vignettes (thanks to Edzer Pebesma) 2011-03-13 13:22 rsbivand * inst/doc/CO69.Rnw, inst/doc/sids.Rnw: revise vignettes (thanks to Edzer Pebesma) 2011-03-13 12:56 rsbivand * ChangeLog, inst/ChangeLog: hypot for pythag in C code 2011-03-13 12:54 rsbivand * DESCRIPTION, src/dnn.c, src/gabriel.c, src/knn.c, src/nbdists.c, src/polypoly.c, src/relative.c, src/soigraph.c: hypot for pythag in C code 2011-03-06 18:51 rsbivand * DESCRIPTION, R/error.spsarlm.R, R/jacobian.R, R/lag.spsarlm.R, man/do_ldet.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd: adding moments to lag and error 2011-02-24 16:04 rsbivand * R/EBI.R, R/anova.sarlm.R, R/aple.mc.R, R/diffnb.R, R/droplinks.R, R/edit.nb.R, R/error.hessian.R, R/error.spsarlm.R, R/geary.R, R/graph2nb.R, R/impacts.R, R/jacobian.R, R/kpgm_new.R, R/lag.hessian.R, R/lag.spsarlm.R, R/listw2sn.R, R/lm.LMtests.R, R/lm.morantest.R, R/localmoran.exact.R, R/moran.R, R/moran.exact.R, R/moran.exact.alt.R, R/mtlocalmoran.R, R/mtmoran.R, R/nb2mat.R, R/nblag.R, R/nboperations.R, R/plot.skater.R, R/poly2nb.R, R/read.gal.R, R/read.gwt2nb.R, R/s2sls.R, R/sacsarlm.R, R/skater.R, R/sp.mantel.R, R/spChkOption.R, R/spautolm.R, R/subset.nb.R, R/summary.nb.R, R/summary.spsarlm.R, R/utils.R, R/weights-utils.R: making length comparisons literal integers 2011-01-24 08:46 rsbivand * man/geary.test.Rd: geary.test standard deviate help page 2010-12-21 16:24 rsbivand * R/sp.correlogram.R: adding Geary C to sp.correlogram 2010-12-21 16:22 rsbivand * DESCRIPTION, R/nbcosts.R, R/sp.correlogram.R, man/sp.correlogram.Rd: adding Geary C to sp.correlogram 2010-12-19 19:32 rsbivand * R/error.spsarlm.R, R/lag.spsarlm.R, R/spautolm.R, R/summary.spsarlm.R: warnings when rho/lambda at limit 2010-12-14 20:29 rsbivand * R/s2sls.R: stsls using QR 2010-11-30 22:02 rsbivand * DESCRIPTION, R/error.spsarlm.R, R/impacts.R, R/sacsarlm.R, R/summary.spsarlm.R, man/errorsarlm.Rd, man/lagsarlm.Rd, man/sacsarlm.Rd: Elhorst 2010 paper trials 2010-11-25 08:13 rsbivand * R/lm.morantest.R: as.double N in lm.morantest 2010-11-24 15:14 rsbivand * R/lm.morantest.R: as.double N in lm.morantest 2010-11-24 14:43 rsbivand * DESCRIPTION, R/sacsarlm.R, src/dnn.c, src/knn.c, src/nbdists.c: CheckUserInterrupt in distance C code 2010-11-18 07:52 rsbivand * .Rbuildignore: add .Rbuildignore 2010-11-17 20:40 rsbivand * R/impacts.R, man/trW.Rd, src/mom_calc.c: moment calculations 2010-11-17 19:07 rsbivand * R/impacts.R, R/spChkOption.R, man/trW.Rd, src/mom_calc.c, src/spdep.h: moment calculations 2010-11-17 13:37 rsbivand * R/aple.mc.R, R/impacts.R: moment calculations 2010-11-16 21:37 rsbivand * R/impacts.R, man/trW.Rd: moment calculations 2010-11-16 12:45 rsbivand * R/impacts.R, src/mom_calc.c: moments calculation 2010-11-15 20:39 rsbivand * R/impacts.R, src/init.c, src/mom_calc.c, src/spdep.h: moment calculations 2010-11-11 11:31 rsbivand * INDEX: tidy 2010-11-10 17:55 rsbivand * ChangeLog, inst/ChangeLog: impacts summary fix; added tolerance.nb 2010-11-10 17:54 rsbivand * R/rotation.R, R/tolerance.nb.R, man/rotation.Rd, man/tolerance.nb.Rd: impacts summary fix; added tolerance.nb 2010-11-10 17:37 rsbivand * DESCRIPTION, NAMESPACE, R/impacts.R, man/mat2listw.Rd: impacts summary fix; added tolerance.nb 2010-11-02 11:20 rsbivand * R/nb2mat.R: added sparseMatrix to mat2listw 2010-10-31 19:57 rsbivand * DESCRIPTION, R/nb2mat.R, R/summary.nb.R, man/mat2listw.Rd: added sparseMatrix to mat2listw 2010-10-30 13:35 rsbivand * R/nb2mat.R, man/mat2listw.Rd: added style argement to mat2listw 2010-10-08 17:45 rsbivand * ChangeLog, inst/ChangeLog: sacsarlm optimizers 2010-10-08 12:18 rsbivand * DESCRIPTION, NAMESPACE, R/kpgm_new.R, man/GMerrorsar.Rd, man/gstsls.Rd, man/similar.listw.Rd: GM argmin image 2010-10-07 19:55 rsbivand * man/sacsarlm.Rd: sacsarlm optimizers 2010-10-07 19:01 rsbivand * R/sacsarlm.R, man/sacsarlm.Rd: sacsarlm optimizers 2010-10-06 18:51 rsbivand * R/impacts.R, R/sacsarlm.R: sacsarlm optimizers 2010-10-04 19:55 rsbivand * R/aple.R, R/aple.mc.R, R/apleplot.R, man/aple.Rd, man/aple.mc.Rd, man/aple.plot.Rd: aple trace option 2010-09-29 08:17 rsbivand * DESCRIPTION: impacts single x fixes 2010-09-29 08:09 rsbivand * R/impacts.R: impacts single x fixes 2010-09-29 07:53 rsbivand * R/impacts.R: impacts single x fixes 2010-09-28 14:22 rsbivand * DESCRIPTION, R/impacts.R: impacts with one variable 2010-09-13 16:22 rsbivand * R/s2sls.R: zero.policy in stsls 2010-09-06 07:54 rsbivand * R/nblag.R: nblag_cumul tidy 2010-09-05 19:13 rsbivand * DESCRIPTION, R/nblag.R: modified nblag_cumul 2010-09-03 07:07 rsbivand * ChangeLog, inst/ChangeLog: tidy 2010-09-03 07:04 rsbivand * DESCRIPTION, R/impacts.R: tidy 2010-09-03 06:47 rsbivand * R/impacts.R: mom_int export to cl 2010-08-31 07:50 rsbivand * R/error.spsarlm.R, R/lag.spsarlm.R, R/sacsarlm.R, R/spautolm.R: tidy 2010-08-28 14:43 rsbivand * ChangeLog, inst/ChangeLog: as.double to storage.mode 2010-08-28 14:42 rsbivand * R/dnearneigh.R, R/gabrielneigh.R, R/knearneigh.R, R/relneigh.R, R/soi.R, R/utils.R: as.double to storage.mode 2010-08-27 19:24 rsbivand * ChangeLog, inst/ChangeLog: adding moments trace 2010-08-27 19:23 rsbivand * DESCRIPTION, NAMESPACE, R/edit.nb.R, R/impacts.R, R/jacobian.R, data/elect80.rda, man/do_ldet.Rd, man/edit.nb.Rd, man/elect80.Rd, man/trW.Rd: adding moments trace 2010-08-17 14:05 rsbivand * DESCRIPTION, R/error.spsarlm.R, R/jacobian.R, R/lag.spsarlm.R, R/spautolm.R, man/do_ldet.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/spautolm.Rd: folding spam_update and Matrix_J into fit functions 2010-08-16 16:29 rsbivand * ChangeLog, inst/ChangeLog: adding spam_update method 2010-08-16 16:27 rsbivand * DESCRIPTION, NAMESPACE, R/jacobian.R, man/do_ldet.Rd: adding spam_update method 2010-08-13 11:34 rsbivand * R/jacobian.R, R/nb2listw.R: spam similarity safemode relaxation 2010-08-13 00:38 rsbivand * R/jacobian.R: spam similarity safemode relaxation 2010-08-13 00:37 rsbivand * R/jacobian.R: adding Matrix_J without updating 2010-08-12 21:31 rsbivand * DESCRIPTION, NAMESPACE, R/jacobian.R, man/do_ldet.Rd: adding Matrix_J without updating 2010-07-31 14:08 rsbivand * ChangeLog, inst/ChangeLog: retrofit polylist in edit.nb() 2010-07-31 14:08 rsbivand * DESCRIPTION, R/edit.nb.R, man/edit.nb.Rd: retrofit polylist in edit.nb() 2010-07-07 21:06 rsbivand * ChangeLog, inst/ChangeLog: adding gstsls 2010-07-07 21:02 rsbivand * man/gstsls.Rd: adding gstsls 2010-07-07 14:22 rsbivand * ChangeLog, inst/ChangeLog: spautolm Nagelkerke fix 2010-07-07 14:21 rsbivand * ChangeLog, inst/ChangeLog: spautolm Nagelkerke fix 2010-07-07 14:20 rsbivand * R/summary.spsarlm.R: spautolm Nagelkerke fix 2010-07-03 20:54 rsbivand * ChangeLog, inst/ChangeLog: adding gstsls 2010-07-03 20:50 rsbivand * INDEX: adding gstsls 2010-07-03 20:49 rsbivand * DESCRIPTION, NAMESPACE, R/kpgm_new.R, man/GMerrorsar.Rd: adding gstsls 2010-06-25 11:29 rsbivand * ChangeLog, inst/ChangeLog: mention large n in ML docs 2010-06-25 11:28 rsbivand * man/errorsarlm.Rd, man/lagsarlm.Rd, man/spautolm.Rd: mention large n in ML docs 2010-06-24 16:44 rsbivand * R/plot.nb.R, R/tri2nb.R, man/tri2nb.Rd: duplicate coords protection in tri2nb(). 2010-06-24 12:57 rsbivand * DESCRIPTION, R/autocov.R, R/dnearneigh.R, R/knearneigh.R, R/nbdists.R, R/summary.nb.R: longlat protection in dnearneigh() etc. 2010-06-23 08:54 rsbivand * ChangeLog, inst/ChangeLog: probmap/choynowski clarification 2010-06-23 08:54 rsbivand * DESCRIPTION, R/EBI.R, R/choynowski.R, man/choynowski.Rd: probmap/choynowski clarification 2010-06-22 08:41 rsbivand * ChangeLog, inst/ChangeLog: probmap and choynowski clarification, thanks to Michael Hoehle 2010-06-22 08:40 rsbivand * DESCRIPTION, R/EBI.R, R/choynowski.R, man/choynowski.Rd, man/probmap.Rd: probmap and choynowski clarification, thanks to Michael Hoehle 2010-06-17 12:07 rsbivand * ChangeLog, inst/ChangeLog: trap 2-column sparse neighbour file 2010-06-17 12:07 rsbivand * ChangeLog, inst/ChangeLog: trap 2-column sparse neighbour file 2010-06-17 12:06 rsbivand * DESCRIPTION, R/read.gwt2nb.R, man/read.gwt2nb.Rd: trap 2-column sparse neighbour file 2010-06-04 19:15 rsbivand * ChangeLog, inst/ChangeLog: sphet hooks 2010-06-04 19:14 rsbivand * R/impacts.R: sphet hooks 2010-06-04 16:16 rsbivand * ChangeLog, inst/ChangeLog: sphet hooks 2010-06-04 16:16 rsbivand * DESCRIPTION, R/impacts.R: sphet hooks 2010-06-01 09:29 rsbivand * ChangeLog, inst/ChangeLog: tidy 2010-06-01 09:27 rsbivand * R/kpgm_new.R: tidy 2010-05-30 10:06 rsbivand * ChangeLog, inst/ChangeLog: correct errorsarlm analytical SE 2010-05-30 10:06 rsbivand * DESCRIPTION, R/error.hessian.R, R/error.spsarlm.R, R/lag.spsarlm.R: correct errorsarlm analytical SE 2010-05-29 13:52 rsbivand * ChangeLog, inst/ChangeLog: tidy 2010-05-29 13:52 rsbivand * DESCRIPTION: tidy 2010-05-22 08:47 rsbivand * R/sacsarlm.R: llprof 2010-05-21 16:54 rsbivand * DESCRIPTION, R/sacsarlm.R, man/sacsarlm.Rd: sacsar ll profile 2010-05-19 09:59 rsbivand * INDEX: adding SAC/SARAR ML model 2010-05-19 09:47 rsbivand * ChangeLog, inst/ChangeLog: adding SAC/SARAR ML model 2010-05-19 09:46 rsbivand * DESCRIPTION, NAMESPACE, R/impacts.R, R/jacobian.R, R/sacsarlm.R, R/sarlm.R, R/summary.spsarlm.R, man/do_ldet.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/sacsarlm.Rd, src/lagw.c: adding SAC/SARAR ML model 2010-05-11 17:51 rsbivand * ChangeLog, inst/ChangeLog: Nagelkerke in spautolm summary 2010-05-11 17:50 rsbivand * man/spautolm.Rd: Nagelkerke in spautolm summary 2010-05-11 17:32 rsbivand * R/spautolm.R, man/spautolm.Rd: Nagelkerke in spautolm summary 2010-05-06 10:34 rsbivand * ChangeLog, inst/ChangeLog: poly2nb: use SpatialPolygons instead of polylist by default 2010-05-06 10:32 rsbivand * DESCRIPTION: poly2nb: use SpatialPolygons instead of polylist by default 2010-05-06 10:22 rsbivand * R/poly2nb.R, man/poly2nb.Rd: poly2nb: use SpatialPolygons instead of polylist by default 2010-05-05 08:44 rsbivand * ChangeLog, inst/ChangeLog: pass foundInBox to poly2nb 2010-05-05 08:43 rsbivand * R/poly2nb.R, man/poly2nb.Rd: pass foundInBox to poly2nb 2010-05-03 11:27 rsbivand * R/poly2nb.R, man/poly2nb.Rd, src/init.c, src/polypoly.c, src/spdep.h: more poly2nb speedups 2010-04-30 07:06 rsbivand * man/do_ldet.Rd: examples for do_ldet 2010-04-29 18:54 rsbivand * ChangeLog, inst/ChangeLog: documenting do_ldet 2010-04-29 18:52 rsbivand * man/do_ldet.Rd: documenting do_ldet 2010-04-29 18:52 rsbivand * NAMESPACE: documenting do_ldet 2010-04-29 14:34 rsbivand * R/poly2nb.R, man/poly2nb.Rd, src/polypoly.c: back out of knn for poly2nb 2010-04-28 08:45 rsbivand * R/listw2sn.R: tidy 2010-04-28 08:34 rsbivand * DESCRIPTION, INDEX, R/knearneigh.R, R/poly2nb.R, man/knearneigh.Rd, man/poly2nb.Rd: tidy 2010-04-26 08:34 rsbivand * ChangeLog, R/lag.spsarlm.R, R/poly2nb.R, man/poly2nb.Rd: more poly2nb changes 2010-04-22 02:50 rsbivand * DESCRIPTION, R/poly2nb.R, src/init.c, src/polypoly.c, src/spdep.h: poly2nb speedup 2010-04-21 02:49 rsbivand * DESCRIPTION, NAMESPACE, R/AAA.R, R/aple.mc.R, R/spChkOption.R, man/set.spChkOption.Rd: zeroPolicy problem 2010-04-17 22:18 rsbivand * DESCRIPTION, NAMESPACE, R/error.spsarlm.R, R/jacobian.R, R/kpgm_new.R, R/lag.spsarlm.R, R/listw2sn.R, R/nb2listw.R, R/spautolm.R, man/impacts.sarlm.Rd, man/lagsarlm.Rd, man/listw2sn.Rd: spam as suggested 2010-04-02 10:20 rsbivand * ChangeLog, inst/ChangeLog: control list documentation 2010-04-02 10:19 rsbivand * DESCRIPTION, man/errorsarlm.Rd, man/lagsarlm.Rd, man/spautolm.Rd: control list documentation 2010-04-01 14:50 rsbivand * R/impacts.R: impacts conflict 2010-04-01 14:05 rsbivand * R/moran.plot.R: moran.plot zero.policy issue 2010-03-24 13:40 rsbivand * R/impacts.R: fix cluster bloat 2010-03-24 11:58 rsbivand * DESCRIPTION, R/impacts.R, man/errorsarlm.Rd, man/lagsarlm.Rd, man/spautolm.Rd: avoiding cluster bloat 2010-03-22 12:08 rsbivand * INDEX: tidy 2010-03-22 11:10 rsbivand * ChangeLog, inst/ChangeLog: spautolm rewritten to use shared code 2010-03-22 11:09 rsbivand * R/spautolm.R, inst/doc/sids.Rnw, man/spautolm.Rd: spautolm rewritten to use shared code 2010-03-22 10:32 rsbivand * ChangeLog, inst/ChangeLog: spautolm rewritten to use shared code 2010-03-22 10:31 rsbivand * DESCRIPTION, R/error.spsarlm.R, R/jacobian.R, R/lag.spsarlm.R, R/spautolm.R, inst/doc/sids.Rnw, man/errorsarlm.Rd, man/lagsarlm.Rd, man/spautolm.Rd: spautolm rewritten to use shared code 2010-03-19 20:58 rsbivand * ChangeLog, inst/ChangeLog: adding some cluster awareness 2010-03-19 20:57 rsbivand * R/impacts.R: adding some cluster awareness 2010-03-19 20:13 rsbivand * ChangeLog, inst/ChangeLog: adding some cluster awareness 2010-03-19 20:12 rsbivand * DESCRIPTION, NAMESPACE, R/EBI.R, R/aple.mc.R, R/geary.R, R/impacts.R, R/moran.R, R/sp.mantel.R, R/spChkOption.R, man/EBImoran.mc.Rd, man/aple.mc.Rd, man/geary.mc.Rd, man/localmoran.exact.Rd, man/moran.mc.Rd, man/set.spChkOption.Rd, man/sp.mantel.mc.Rd: adding some cluster awareness 2010-03-18 19:21 rsbivand * ChangeLog, inst/ChangeLog: modularising ML code, adding Jacobian methods 2010-03-18 19:20 rsbivand * DESCRIPTION, R/error.hessian.R, R/error.spsarlm.R, R/jacobian.R, R/lag.hessian.R, R/lag.spsarlm.R, man/boston.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/used.cars.Rd, src/init.c: modularising ML code, adding Jacobian methods 2010-03-17 21:00 rsbivand * DESCRIPTION, R/error.hessian.R, R/error.spsarlm.R, R/impacts.R, R/lag.hessian.R, R/lag.spsarlm.R, man/lagsarlm.Rd, src/card.c, src/dfs_ncomp.c, src/dnn.c, src/gabriel.c, src/gearyw.c, src/gsymtest.c, src/init.c, src/insiders.c, src/jc.c, src/knn.c, src/lagw.c, src/listw2Matrix.c, src/listw2sn.c, src/ml_sse.c, src/nbdists.c, src/polypoly.c, src/relative.c, src/skater.c, src/soigraph.c, src/spdep.h, src/symtest.c: sse C code; impacts cluster 2010-03-16 13:46 rsbivand * ChangeLog, inst/ChangeLog: timing and other changes to lag, error and impact calculations 2010-03-16 13:46 rsbivand * ChangeLog, inst/ChangeLog: timing and other changes to lag, error and impact calculations 2010-03-16 13:36 rsbivand * R/AAA.R, R/error.hessian.R, R/error.spsarlm.R, R/impacts.R, R/lag.hessian.R, R/lag.spsarlm.R, R/nb2mat.R, R/summary.spsarlm.R, data/elect80.rda, man/elect80.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/stsls.Rd, src/Makevars, src/ml_sse.c: timing and other changes to lag, error and impact calculations 2010-03-13 11:16 rsbivand * ChangeLog, inst/ChangeLog: tidy stsls 2010-03-13 11:15 rsbivand * R/s2sls., R/s2sls.R, man/stsls.Rd: tidy stsls 2010-03-12 22:12 gpiras * man/stsls.Rd: add stsls help including the new argument W2X 2010-03-12 22:11 gpiras * man/stsls.Rd: remove stsls help 2010-03-12 22:07 gpiras * R/s2sls.: Add the argument W2X to stsls 2010-03-12 22:05 gpiras * R/s2sls.R: remove stsls 2010-03-12 15:31 rsbivand * DESCRIPTION, R/AAA.R, R/EBI.R, R/ME.R, R/SpatialFiltering.R, R/autocov.R, R/diffnb.R, R/eigenw.R, R/error.spsarlm.R, R/geary.R, R/globalG.R, R/impacts.R, R/jc.R, R/kpgm_new.R, R/lag.spsarlm.R, R/lm.LMtests.R, R/lm.morantest.R, R/localG.R, R/localmoran.R, R/localmoran.exact.R, R/mess.R, R/moran.R, R/moran.exact.R, R/moran.exact.alt.R, R/moran.plot.R, R/mtlocalmoran.R, R/mtmoran.R, R/nb2listw.R, R/nb2mat.R, R/s2sls.R, R/sarlm.R, R/sp.correlogram.R, R/sp.mantel.R, R/spChkOption.R, R/spautolm.R, R/subset.nb.R, R/summary.nb.R, R/utils.R, R/weights-utils.R, man/EBImoran.mc.Rd, man/EBlocal.Rd, man/GMerrorsar.Rd, man/ME.Rd, man/SpatialFiltering.Rd, man/autocov_dist.Rd, man/diffnb.Rd, man/eigenw.Rd, man/errorsarlm.Rd, man/geary.Rd, man/geary.mc.Rd, man/geary.test.Rd, man/globalG.test.Rd, man/joincount.test.Rd, man/lag.listw.Rd, man/lagmess.Rd, man/lagsarlm.Rd, man/lm.LMtests.Rd, man/lm.morantest.Rd, man/lm.morantest.exact.Rd, man/lm.morantest.sad.Rd, man/localG.Rd, man/localmoran.Rd, man/localmoran.exact.Rd, man/localmoran.sad.Rd, man/moran.Rd, man/moran.mc.Rd, man/moran.plot.Rd, man/moran.test.Rd, man/nb2listw.Rd, man/nb2mat.Rd, man/predict.sarlm.Rd, man/set.spChkOption.Rd, man/sp.correlogram.Rd, man/sp.mantel.mc.Rd, man/spautolm.Rd, man/spweights.constants.Rd, man/stsls.Rd, man/subset.listw.Rd, man/summary.nb.Rd, man/testnb.Rd: moving verbose/quiet and zero.policy to global options 2010-02-24 18:29 rsbivand * ChangeLog, inst/ChangeLog: errorsarlm resvar bugfix 2010-02-24 18:29 rsbivand * DESCRIPTION, R/error.spsarlm.R: errorsarlm resvar bugfix 2010-02-03 13:49 rsbivand * ChangeLog, inst/ChangeLog: adding MESS function 2010-02-03 13:47 rsbivand * DESCRIPTION, INDEX, NAMESPACE, R/mess.R, R/summary.spsarlm.R, man/lagmess.Rd: adding MESS function 2010-01-28 12:24 rsbivand * DESCRIPTION, R/globalG.R, man/globalG.test.Rd, man/skater.Rd, man/ssw.Rd: global G warning not error for non-binary weights 2009-12-15 17:16 rsbivand * ChangeLog, inst/ChangeLog: convert impacts to method, provide sarlm and stsls methods 2009-12-15 17:16 rsbivand * R/impacts.R: convert impacts to method, provide sarlm and stsls methods 2009-12-15 08:40 rsbivand * ChangeLog, inst/ChangeLog: adding Hausman test for GMerrorsar 2009-12-15 08:39 rsbivand * NAMESPACE, R/kpgm_new.R, R/summary.spsarlm.R, man/GMerrorsar.Rd, man/LR.sarlm.Rd, man/errorsarlm.Rd, man/summary.sarlm.Rd: adding Hausman test for GMerrorsar 2009-12-14 20:01 rsbivand * ChangeLog, inst/ChangeLog: convert impacts to method, provide sarlm and stsls methods 2009-12-14 19:59 rsbivand * DESCRIPTION, NAMESPACE, R/impacts.R, R/s2sls.R, man/impacts.sarlm.Rd, man/lagsarlm.Rd: convert impacts to method, provide sarlm and stsls methods 2009-12-12 09:51 rsbivand * ChangeLog, inst/ChangeLog: updating stsls 2009-12-12 09:50 rsbivand * DESCRIPTION, NAMESPACE, R/s2sls.R, man/stsls.Rd: updating stsls 2009-11-26 14:32 rsbivand * ChangeLog, inst/ChangeLog: NAMESPACE cleaning 2009-11-26 14:31 rsbivand * ChangeLog, DESCRIPTION, NAMESPACE, inst/ChangeLog: NAMESPACE cleaning 2009-11-26 08:07 rsbivand * ChangeLog, inst/ChangeLog: nb2WB no neighbours fix 2009-11-26 08:07 rsbivand * man/nb2lines.Rd: nb2WB no neighbours fix 2009-11-26 07:43 rsbivand * ChangeLog, inst/ChangeLog: nb2WB no neighbours fix 2009-11-26 07:42 rsbivand * DESCRIPTION, R/nb2listw.R: nb2WB no neighbours fix 2009-11-03 22:35 rsbivand * ChangeLog, inst/ChangeLog: replacing tripack with deldir 2009-11-03 22:35 rsbivand * DESCRIPTION, R/nblag.R, R/tri2nb.R, man/tri2nb.Rd: replacing tripack with deldir 2009-11-03 21:18 rsbivand * ChangeLog, inst/ChangeLog: errorsarlm no-intercept problem 2009-11-03 21:17 rsbivand * DESCRIPTION, R/error.spsarlm.R: errorsarlm no-intercept problem 2009-11-01 10:05 rsbivand * inst/ChangeLog: fix for writing GWT; impact Q components 2009-11-01 10:04 rsbivand * ChangeLog: fix for writing GWT; impact Q components 2009-11-01 10:01 rsbivand * DESCRIPTION, R/impacts.R, R/read.gwt2nb.R, man/impacts.sarlm.Rd, man/invIrM.Rd, man/joincount.multi.Rd, man/nb2blocknb.Rd, man/read.gwt2nb.Rd: fix for writing GWT; impact Q components 2009-10-19 17:22 rsbivand * ChangeLog, inst/ChangeLog: tidy 2009-10-19 17:21 rsbivand * R/error.hessian.R, R/summary.spsarlm.R: tidy 2009-10-17 19:38 rsbivand * ChangeLog, inst/ChangeLog: move errorsarlm/Matrix to Cholesky 2009-10-17 19:37 rsbivand * R/error.hessian.R, R/error.spsarlm.R: move errorsarlm/Matrix to Cholesky 2009-10-16 15:42 rsbivand * ChangeLog, inst/ChangeLog: make Hausman test optional in summary.sarlm 2009-10-16 15:40 rsbivand * DESCRIPTION, R/nb2mat.R, R/summary.spsarlm.R, man/summary.sarlm.Rd: make Hausman test optional in summary.sarlm 2009-10-12 19:22 rsbivand * ChangeLog, inst/ChangeLog: reduce check time use by thinning examples 2009-10-12 19:21 rsbivand * DESCRIPTION, inst/doc/CO69.Rnw, inst/doc/backstore/boot_res.RData: reduce check time use by thinning examples 2009-10-12 18:57 rsbivand * ChangeLog, inst/ChangeLog: reduce check time use by thinning examples 2009-10-12 18:55 rsbivand * DESCRIPTION, inst/doc/CO69.Rnw, inst/doc/backstore, inst/doc/backstore/boot_res.RData, man/ME.Rd, man/aple.mc.Rd, man/aple.plot.Rd, man/impacts.sarlm.Rd, man/joincount.multi.Rd, man/spautolm.Rd: reduce check time use by thinning examples 2009-10-12 11:08 rsbivand * ChangeLog, inst/ChangeLog: bug fix in trW for MC method 2009-10-12 11:02 rsbivand * DESCRIPTION, R/impacts.R, man/trW.Rd: bug fix in trW for MC method 2009-10-06 19:19 rsbivand * INDEX, man/GMerrorsar.Rd: tidy 2009-09-25 12:55 rsbivand * ChangeLog, inst/ChangeLog: lambda standard error for large data sets 2009-09-25 12:55 rsbivand * DESCRIPTION, R/error.spsarlm.R, R/lag.spsarlm.R, man/errorsarlm.Rd, man/lagsarlm.Rd: lambda standard error for large data sets 2009-09-25 12:43 rsbivand * ChangeLog, inst/ChangeLog: lambda standard error for large data sets 2009-09-25 12:42 rsbivand * ChangeLog, inst/ChangeLog: lambda standard error for large data sets 2009-09-25 12:42 rsbivand * R/error.hessian.R: lambda standard error for large data sets 2009-09-24 19:21 rsbivand * ChangeLog, inst/ChangeLog: lambda standard error for large data sets 2009-09-24 19:20 rsbivand * man/impacts.sarlm.Rd: lambda standard error for large data sets 2009-09-24 19:09 rsbivand * ChangeLog, inst/ChangeLog: lambda standard error for large data sets 2009-09-24 19:04 rsbivand * R/error.spsarlm.R, R/lag.spsarlm.R, R/spautolm.R, R/summary.spsarlm.R, man/errorsarlm.Rd, man/lagsarlm.Rd: lambda standard error for large data sets 2009-09-24 14:54 rsbivand * DESCRIPTION, R/error.spsarlm.R, man/errorsarlm.Rd, man/invIrM.Rd: lambda standard error for large data sets 2009-09-24 08:46 rsbivand * DESCRIPTION, NAMESPACE, R/error.spsarlm.R, R/nb2mat.R, R/summary.spsarlm.R, man/LR.sarlm.Rd, man/errorsarlm.Rd, man/invIrM.Rd: spatial Hausman for large data sets 2009-09-23 07:32 rsbivand * ChangeLog, inst/ChangeLog: added spatial Hausman test for error model 2009-09-23 07:31 rsbivand * DESCRIPTION, NAMESPACE, R/error.spsarlm.R, R/summary.spsarlm.R, man/LR.sarlm.Rd, man/summary.sarlm.Rd: added spatial Hausman test for error model 2009-09-22 16:56 rsbivand * ChangeLog, inst/ChangeLog: fix no intercept bug 2009-09-22 16:55 rsbivand * R/impacts.R: fix no intercept bug 2009-09-22 09:18 rsbivand * man/lagsarlm.Rd: mixed approximate/asymptotic Hessian 2009-09-22 08:38 rsbivand * DESCRIPTION, R/impacts.R, R/lag.hessian.R, R/lag.spsarlm.R, man/impacts.sarlm.Rd, man/lagsarlm.Rd: mixed approximate/asymptotic Hessian 2009-09-20 18:35 rsbivand * ChangeLog, inst/ChangeLog: mixed approximate/asymptotic Hessian 2009-09-20 18:34 rsbivand * DESCRIPTION, R/lag.spsarlm.R, R/summary.spsarlm.R, man/summary.sarlm.Rd: mixed approximate/asymptotic Hessian 2009-09-19 19:49 rsbivand * ChangeLog, inst/ChangeLog: add house data set 2009-09-19 19:48 rsbivand * man/impacts.sarlm.Rd, man/lagsarlm.Rd: add house data set 2009-09-19 19:18 rsbivand * ChangeLog, inst/ChangeLog: add house data set 2009-09-19 19:16 rsbivand * data/house.RData, man/house.Rd: add house data set 2009-09-19 18:45 rsbivand * ChangeLog, inst/ChangeLog: mixed approximate/asymptotic Hessian 2009-09-19 18:44 rsbivand * man/lagsarlm.Rd: mixed approximate/asymptotic Hessian 2009-09-19 16:17 rsbivand * ChangeLog, inst/ChangeLog: mixed approximate/asymptotic Hessian 2009-09-19 16:15 rsbivand * DESCRIPTION, R/error.spsarlm.R, R/lag.hessian.R, R/lag.spsarlm.R, R/summary.spsarlm.R, man/as_dgRMatrix_listw.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/summary.sarlm.Rd: mixed approximate/asymptotic Hessian 2009-09-14 14:06 rsbivand * R/summary.spsarlm.R: impacts for lag and mixed spatial regressions 2009-09-14 13:31 rsbivand * R/summary.spsarlm.R: impacts for lag and mixed spatial regressions 2009-09-14 13:10 rsbivand * R/summary.spsarlm.R: impacts for lag and mixed spatial regressions 2009-09-14 12:32 rsbivand * R/lag.spsarlm.R, R/summary.spsarlm.R, man/lagsarlm.Rd: impacts for lag and mixed spatial regressions 2009-09-14 08:26 rsbivand * ChangeLog, inst/ChangeLog: impacts for lag and mixed spatial regressions 2009-09-14 08:24 rsbivand * DESCRIPTION, R/lag.spsarlm.R, R/summary.spsarlm.R, man/impacts.sarlm.Rd, man/lagsarlm.Rd: impacts for lag and mixed spatial regressions 2009-09-13 19:42 rsbivand * R/error.spsarlm.R, R/kpgm_new.R, R/lag.hessian.R, R/lag.spsarlm.R, R/spautolm.R, man/as_dgRMatrix_listw.Rd, man/impacts.sarlm.Rd: impacts for lag and mixed spatial regressions 2009-09-13 17:42 rsbivand * R/impacts.R, R/lag.hessian.R, R/lag.spsarlm.R, man/impacts.sarlm.Rd, man/lagsarlm.Rd: impacts for lag and mixed spatial regressions 2009-09-12 21:15 rsbivand * DESCRIPTION, R/impacts.R, R/lag.hessian.R, R/lag.spsarlm.R, man/impacts.sarlm.Rd, man/lagsarlm.Rd: impacts for lag and mixed spatial regressions 2009-09-12 11:54 rsbivand * ChangeLog, inst/ChangeLog: impacts for lag and mixed spatial regressions 2009-09-12 11:52 rsbivand * NAMESPACE, R/impacts.R, R/lag.spsarlm.R, man/impacts.sarlm.Rd, man/trW.Rd: impacts for lag and mixed spatial regressions 2009-09-11 19:45 rsbivand * DESCRIPTION, NAMESPACE, R/impacts.R, R/lag.spsarlm.R: impacts for lag and mixed spatial regressions 2009-09-06 10:04 rsbivand * ChangeLog, inst/ChangeLog: fix bugs in residuals.spautolm for non-NULL na.act 2009-09-06 10:02 rsbivand * ChangeLog, R/error.spsarlm.R, R/lag.spsarlm.R, R/spautolm.R, man/errorsarlm.Rd, man/lagsarlm.Rd, man/spautolm.Rd: fix bugs in residuals.spautolm for non-NULL na.act 2009-08-17 13:26 rsbivand * DESCRIPTION, inst/doc/00Index.dcf, inst/doc/CO69.Rnw, inst/doc/sids.Rnw, inst/etc/misc/geary_eire.txt, inst/etc/misc/raw_grass_borders.RData, inst/etc/misc/unstand_sn.txt, man/lm.morantest.sad.Rd, man/localmoran.sad.Rd: adding Cliff & Ord 1969 vignette 2009-08-09 17:47 rsbivand * inst/ChangeLog: speedup for make.sym.nb when all observations have neighbours 2009-08-09 17:47 rsbivand * ChangeLog: speedup for make.sym.nb when all observations have neighbours 2009-08-09 14:39 rsbivand * DESCRIPTION, NAMESPACE, R/weights-utils.R, man/testnb.Rd: speedup for make.sym.nb when all observations have neighbours 2009-06-29 12:32 rsbivand * ChangeLog, inst/ChangeLog: aple similarity check override 2009-06-29 12:30 rsbivand * ChangeLog, R/aple.R: aple similarity check override 2009-06-29 12:26 rsbivand * R/aple.R, R/aple.mc.R, R/apleplot.R, man/aple.Rd, man/aple.mc.Rd, man/aple.plot.Rd, man/moran.test.Rd: Geary reversal 2009-06-09 16:36 rsbivand * R/geary.R: Geary's C standard deviate 2009-06-09 16:26 rsbivand * R/geary.R, man/geary.test.Rd: Geary's C standard deviate 2009-06-09 14:41 rsbivand * DESCRIPTION, R/geary.R, man/geary.test.Rd: Geary's C standard deviate 2009-04-27 19:28 rsbivand * R/sarlm.R: predict sarlm details 2009-02-27 12:10 rsbivand * R/moran.exact.R, R/mtmoran.R: first zero eiegenvalue in lm.morantest.* 2009-01-21 12:24 rsbivand * ChangeLog, inst/ChangeLog: gabriel/relative memory overruns; new parser help file changes 2009-01-21 10:31 rsbivand * ChangeLog, DESCRIPTION, R/gabrielneigh.R, R/relneigh.R, inst/ChangeLog, man/GMerrorsar.Rd, man/bhicv.Rd, man/eigenw.Rd, man/errorsarlm.Rd, man/graphneigh.Rd, man/lagsarlm.Rd, man/listw2sn.Rd, man/lm.LMtests.Rd, man/nblag.Rd, man/spautolm.Rd, src/gabriel.c, src/relative.c: gabriel/relative memory overruns; new parser help file changes 2009-01-02 19:08 rsbivand * ChangeLog, R/utils.R, man/lag.listw.Rd, src/lagw.c: fix NAs in lag.listw 2008-11-25 20:29 rsbivand * DESCRIPTION, R/localmoran.exact.R, R/moran.exact.R, man/lm.morantest.exact.Rd, man/localmoran.exact.Rd: substitute Normal for exact for out of domain II 2008-11-23 02:02 rsbivand * DESCRIPTION, R/moran.exact.R, R/spautolm.R, R/weights-utils.R: SMA revisions 2008-11-19 22:54 rsbivand * DESCRIPTION, R/kpgm_new.R, man/GMerrorsar.Rd: GM revisions 2008-11-10 20:02 rsbivand * R/prunecost.R: fix drop bug in ssw 2008-11-10 18:21 rsbivand * DESCRIPTION: fix drop bug in ssw 2008-11-10 18:18 rsbivand * R/prunecost.R: fix drop bug in ssw 2008-10-25 15:34 rsbivand * ChangeLog, inst/ChangeLog: changelog 2008-10-24 11:16 rsbivand * DESCRIPTION, NAMESPACE, R/apleplot.R, man/aple.plot.Rd: local aple 2008-10-12 14:13 rsbivand * ChangeLog, inst/ChangeLog: changelog 2008-10-12 14:12 rsbivand * ChangeLog, DESCRIPTION, INDEX, NAMESPACE, R/apleplot.R, inst/ChangeLog, man/aple.Rd, man/aple.plot.Rd: adding aple 2008-10-11 12:19 rsbivand * R/aple.R, R/aple.mc.R, data/wheat.txt, inst/etc/shapes/wheat.dbf, inst/etc/shapes/wheat.shp, inst/etc/shapes/wheat.shx, man/aple.Rd, man/aple.mc.Rd, man/wheat.Rd: adding aple 2008-10-11 12:17 rsbivand * ChangeLog, DESCRIPTION, INDEX, NAMESPACE, inst/ChangeLog: adding aple 2008-10-03 06:20 rsbivand * man/aggregate.nb.Rd: aggregate.nb, edit.nb 2008-10-02 21:17 rsbivand * ChangeLog, inst/ChangeLog: merging SKATER regionalisation functions 2008-10-02 21:16 rsbivand * ChangeLog, inst/ChangeLog: merging SKATER regionalisation functions 2008-10-02 21:14 rsbivand * R/mstree.R, R/nbcosts.R, R/plot.mst.R, R/plot.skater.R, R/prunecost.R, R/prunemst.R, R/skater.R, inst/etc/shapes/bhicv.dbf, inst/etc/shapes/bhicv.shp, inst/etc/shapes/bhicv.shx, man/bhicv.Rd, man/mstree.Rd, man/nbcosts.Rd, man/plot.mst.Rd, man/plot.skater.Rd, man/prunecost.Rd, man/prunemst.Rd, man/skater.Rd, man/ssw.Rd, src/skater.c: merging SKATER regionalisation functions 2008-10-02 21:09 rsbivand * ChangeLog, DESCRIPTION, NAMESPACE, R/edit.nb.R, R/plot.nb.R, R/weights-utils.R, inst/ChangeLog, man/plot.nb.Rd: aggregate.nb, edit.nb 2008-09-18 12:21 rsbivand * DESCRIPTION, inst/doc/sids.Rnw: vignette 2008-09-18 07:18 rsbivand * DESCRIPTION, R/nb2mat.R, inst/doc/sids.Rnw: vignette (FIXME), double mat2listw 2008-08-14 12:55 rsbivand * inst/doc/sids.Rnw, man/spautolm.Rd: mdata in spautolm help file 2008-06-27 09:56 rsbivand * ChangeLog, inst/ChangeLog: truncation point in exact Moran 2008-06-27 09:40 rsbivand * DESCRIPTION, R/localmoran.exact.R, R/moran.exact.R, R/moran.exact.alt.R, man/lm.morantest.exact.Rd, man/localmoran.exact.Rd: truncation point in exact Moran 2008-06-19 04:08 rsbivand * man/SpatialFiltering.Rd: link 2008-06-03 13:56 rsbivand * DESCRIPTION, R/EBI.R, R/droplinks.R, R/edit.nb.R, R/localmoran.exact.R, R/moran.exact.alt.R, R/mtlocalmoran.R, R/nb2listw.R, R/p.adjustSP.R, R/read.gal.R, R/subset.nb.R: changed class test to inherits for nb 2008-05-25 21:09 rsbivand * R/nb2listw.R: tidy spam similar 2008-05-24 19:56 rsbivand * DESCRIPTION, R/error.spsarlm.R, R/kpgm_new.R, R/lag.spsarlm.R, R/listw2Matrix.R, R/listw2sn.R, R/nb2listw.R, R/spautolm.R: listw2U and similar.listw in Matrix and spam 2008-05-24 09:06 rsbivand * R/listw2Matrix.R: first notes on listw2U in Matrix 2008-05-14 20:24 rsbivand * inst/ChangeLog: removed try() on Matrix logdet; arg to localmoran 2008-05-14 20:24 rsbivand * ChangeLog: removed try() on Matrix logdet; arg to localmoran 2008-05-14 20:21 rsbivand * svn2cl.xsl: removed try() on Matrix logdet; arg to localmoran 2008-05-14 20:20 rsbivand * inst/ChangeLog: removed try() on Matrix logdet; arg to localmoran 2008-05-14 20:19 rsbivand * inst/ChangeLog: removed try() on Matrix logdet; arg to localmoran 2008-05-14 20:18 rsbivand * ChangeLog, Changelog, DESCRIPTION, R/localmoran.R, man/localmoran.Rd, oChangelog: removed try() on Matrix logdet; arg to localmoran 2008-04-27 16:57 rsbivand * DESCRIPTION, R/spautolm.R, man/spautolm.Rd: 2008-04-26 20:46 rsbivand * Changelog, DESCRIPTION, INDEX, LICENCE, NAMESPACE, data, inst, src: 2008-04-26 20:45 rsbivand * man/COL.OLD.Rd, man/EBImoran.mc.Rd, man/EBest.Rd, man/EBlocal.Rd, man/GMerrorsar.Rd, man/LR.sarlm.Rd, man/ME.Rd, man/NY_data.Rd, man/SpatialFiltering.Rd, man/afcon.Rd, man/airdist.Rd, man/anova.sarlm.Rd, man/as_dgRMatrix_listw.Rd, man/auckland.Rd, man/autocov_dist.Rd, man/baltimore.Rd, man/boston.Rd, man/bptest.sarlm.Rd, man/card.Rd, man/cell2nb.Rd, man/choynowski.Rd, man/columbus.Rd, man/compon.Rd, man/diffnb.Rd, man/dnearneigh.Rd, man/droplinks.Rd, man/edit.nb.Rd, man/eigenw.Rd, man/eire.Rd, man/errorsarlm.Rd, man/geary.Rd, man/geary.mc.Rd, man/geary.test.Rd, man/getisord.Rd, man/globalG.test.Rd, man/graphneigh.Rd, man/hopkins.Rd, man/huddersfield.Rd, man/include.self.Rd, man/invIrM.Rd, man/joincount.mc.Rd, man/joincount.multi.Rd, man/joincount.test.Rd, man/knearneigh.Rd, man/knn2nb.Rd, man/lag.listw.Rd, man/lagsarlm.Rd, man/listw2sn.Rd, man/lm.LMtests.Rd, man/lm.morantest.Rd, man/lm.morantest.exact.Rd, man/lm.morantest.sad.Rd, man/localG.Rd, man/localmoran.Rd, man/localmoran.exact.Rd, man/localmoran.sad.Rd, man/mat2listw.Rd, man/moran.Rd, man/moran.mc.Rd, man/moran.plot.Rd, man/moran.test.Rd, man/nb2WB.Rd, man/nb2blocknb.Rd, man/nb2lines.Rd, man/nb2listw.Rd, man/nb2mat.Rd, man/nbdists.Rd, man/nblag.Rd, man/nboperations.Rd, man/nc.sids.Rd, man/p.adjustSP.Rd, man/plot.nb.Rd, man/poly2nb.Rd, man/predict.sarlm.Rd, man/probmap.Rd, man/read.gal.Rd, man/read.gwt2nb.Rd, man/residuals.sarlm.Rd, man/set.spChkOption.Rd, man/similar.listw.Rd, man/sp.correlogram.Rd, man/sp.mantel.mc.Rd, man/spautolm.Rd, man/spdep.Rd, man/spweights.constants.Rd, man/stsls.Rd, man/subset.listw.Rd, man/subset.nb.Rd, man/summary.nb.Rd, man/summary.sarlm.Rd, man/testnb.Rd, man/tri2nb.Rd, man/used.cars.Rd, man/write.nb.gal.Rd: 2008-04-26 19:50 rsbivand * R/AAA.R, R/EBI.R, R/LR.spsarlm.R, R/ME.R, R/SpatialFiltering.R, R/airdist.R, R/anova.sarlm.R, R/autocov.R, R/bptest.sarlm.R, R/card.R, R/cellneighbours.R, R/choynowski.R, R/components.R, R/diffnb.R, R/dnearneigh.R, R/droplinks.R, R/edit.nb.R, R/eigenw.R, R/error.spsarlm.R, R/gabrielneigh.R, R/geary.R, R/globalG.R, R/graph2nb.R, R/jc.R, R/knearneigh.R, R/knn2nb.R, R/kpgm_new.R, R/lag.spsarlm.R, R/listw2Matrix.R, R/listw2sn.R, R/lm.LMtests.R, R/lm.morantest.R, R/localG.R, R/localmoran.R, R/localmoran.exact.R, R/moran.R, R/moran.exact.R, R/moran.exact.alt.R, R/moran.plot.R, R/mtlocalmoran.R, R/mtmoran.R, R/nb2blocknb.R, R/nb2lines.R, R/nb2listw.R, R/nb2mat.R, R/nbdists.R, R/nblag.R, R/nboperations.R, R/p.adjustSP.R, R/plot.nb.R, R/poly2nb.R, R/read.gal.R, R/read.gwt2nb.R, R/relneigh.R, R/s2sls.R, R/sarlm.R, R/soi.R, R/sp.correlogram.R, R/sp.mantel.R, R/spChkOption.R, R/spautolm.R, R/subset.nb.R, R/summary.nb.R, R/summary.spsarlm.R, R/tri2nb.R, R/utils.R, R/weights-utils.R: 2007-06-25 10:38 stefan7th * ., R, man: Email in Readme changed 2008-04-22 09:17 rsbivand * man/: errorsarlm.Rd, globalG.test.Rd, lagsarlm.Rd: final tidy 2008-03-25 13:21 rsbivand * ChangeLog, R/lag.spsarlm.R, inst/ChangeLog, man/lagsarlm.Rd: Matrix 2008-03-25 12:28 rsbivand * DESCRIPTION, R/error.spsarlm.R, R/kpgm_new.R, R/lag.spsarlm.R, R/spautolm.R, man/GMerrorsar.Rd, man/as_dgRMatrix_listw.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/similar.listw.Rd, man/spautolm.Rd: Matrix 2008-03-25 10:41 rsbivand * R/spautolm.R, man/spautolm.Rd: Matrix 2008-03-23 01:42 rsbivand * R/spautolm.R, man/spautolm.Rd: Matrix 2008-03-18 16:19 rsbivand * DESCRIPTION, R/ME.R, R/error.spsarlm.R, R/kpgm_new.R, R/lag.spsarlm.R, R/spautolm.R, man/GMerrorsar.Rd, man/as_dgRMatrix_listw.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/nc.sids.Rd, man/spautolm.Rd: Matrix 2008-03-15 14:15 rsbivand * DESCRIPTION, NAMESPACE, R/error.spsarlm.R, R/kpgm_new.R, R/lag.spsarlm.R, R/listw2Matrix.R, R/spautolm.R, man/as_dgRMatrix_listw.Rd: Matrix patch 2008-03-14 16:31 rsbivand * ChangeLog, DESCRIPTION, R/listw2Matrix.R, man/as_dgRMatrix_listw.Rd: Matrix 2008-03-13 14:11 rsbivand * ChangeLog, DESCRIPTION, R/error.spsarlm.R, R/kpgm_new.R, R/lag.spsarlm.R, R/listw2Matrix.R, R/spautolm.R, inst/ChangeLog, man/as_dgRMatrix_listw.Rd: Matrix coercion 2008-02-18 16:57 rsbivand * DESCRIPTION: release 2008-02-16 17:32 rsbivand * ChangeLog, R/kpgm_new.R, R/nb2listw.R, R/weights-utils.R, inst/ChangeLog, man/GMerrorsar.Rd, man/testnb.Rd, src/gsymtest.c: big symmetric fuzz 2008-02-09 13:41 rsbivand * DESCRIPTION, man/geary.mc.Rd, man/geary.test.Rd, man/globalG.test.Rd, man/joincount.multi.Rd, man/joincount.test.Rd, man/moran.test.Rd, man/spweights.constants.Rd: adjust n 2008-02-09 10:58 rsbivand * R/jc.R: n adjust 2008-02-09 10:51 rsbivand * R/: geary.R, globalG.R, jc.R, moran.R, utils.R: test warnings fix 2008-02-08 00:42 rsbivand * R/: EBI.R, geary.R, globalG.R, jc.R, lm.LMtests.R, lm.morantest.R, moran.R, moran.exact.R, mtmoran.R, sp.mantel.R: test warnings fix 2008-01-15 19:12 rsbivand * DESCRIPTION, R/mtmoran.R, man/lm.morantest.sad.Rd, man/localmoran.exact.Rd, man/localmoran.sad.Rd: power 2008-01-15 13:18 rsbivand * R/moran.exact.R, R/moran.exact.alt.R, R/mtlocalmoran.R, R/mtmoran.R, man/lm.morantest.exact.Rd: power 2008-01-11 21:37 rsbivand * ChangeLog, R/localmoran.exact.R, R/moran.exact.R, R/moran.exact.alt.R, R/mtlocalmoran.R, R/mtmoran.R, inst/ChangeLog: exact 2008-01-09 08:43 rsbivand * DESCRIPTION, R/moran.exact.R, R/poly2nb.R: more exact 2008-01-05 15:46 rsbivand * R/: AAA.R, ME.R, error.spsarlm.R, lag.spsarlm.R, spautolm.R: spam 2007-12-29 16:43 rsbivand * DESCRIPTION, NAMESPACE, R/AAA.R, R/zzz.R: spam 2007-12-28 17:48 rsbivand * DESCRIPTION, INDEX, NAMESPACE, R/anova.sarlm.R, R/error.spsarlm.R, R/kpgm_new.R, R/lag.spsarlm.R, R/listw2cs.R, R/listw2sn.R, R/spautolm.R, man/asMatrixCsrListw.Rd, man/as_dgRMatrix_listw.Rd, man/boston.Rd, man/eigenw.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/listw2sn.Rd, man/similar.listw.Rd, man/spautolm.Rd, ChangeLog, inst/ChangeLog: spam transition 2007-12-12 09:43 rsbivand * R/kpgm_new.R, man/GMerrorsar.Rd: vv 2007-12-11 17:11 rsbivand * R/spautolm.R, man/spautolm.Rd: llprof 2007-12-09 21:14 rsbivand * R/moran.exact.R, R/mtmoran.R, man/localmoran.exact.Rd: exact 2007-12-06 09:36 rsbivand * R/moran.exact.R, R/mtmoran.R, man/joincount.test.Rd, man/lm.morantest.exact.Rd, man/moran.exact.Rd, NAMESPACE: add exact 2007-11-30 19:34 rsbivand * R/localmoran.exact.R, R/moran.exact.R, R/moran.exact.alt.R, man/compon.Rd, man/graphneigh.Rd, man/moran.exact.Rd, man/nboperations.Rd: exact moran 2007-11-27 20:21 rsbivand * R/: moran.exact.alt.R, mtlocalmoran.R: add exact 2007-11-27 17:45 rsbivand * R/mtmoran.R, man/lm.morantest.sad.Rd: add exact 2007-11-27 17:19 rsbivand * R/: kpgm_new.R, mtmoran.R: add exact 2007-11-27 16:10 rsbivand * ChangeLog, DESCRIPTION, NAMESPACE, R/localmoran.exact.R, R/moran.exact.R, R/moran.exact.alt.R, R/mtlocalmoran.R, R/mtmoran.R, inst/ChangeLog, man/lm.morantest.sad.Rd, man/localmoran.exact.Rd, man/localmoran.sad.Rd, man/moran.exact.Rd: adding Moran exact 2007-11-01 10:45 rsbivand * ChangeLog, DESCRIPTION, R/SpatialFiltering.R, R/geary.R, R/moran.R, R/mtlocalmoran.R, R/mtmoran.R, R/sp.mantel.R, inst/ChangeLog, man/SpatialFiltering.Rd, man/bptest.sarlm.Rd, man/diffnb.Rd, man/geary.Rd, man/geary.mc.Rd, man/geary.test.Rd, man/globalG.test.Rd, man/joincount.test.Rd, man/lag.listw.Rd, man/moran.Rd, man/moran.mc.Rd, man/moran.test.Rd, man/plot.nb.Rd, man/sp.mantel.mc.Rd, man/spweights.constants.Rd: OSX issue 2007-10-09 10:32 rsbivand * DESCRIPTION, R/lm.LMtests.R, R/lm.morantest.R, R/spautolm.R, man/COL.OLD.Rd, man/afcon.Rd, man/auckland.Rd, man/boston.Rd, man/columbus.Rd, man/eire.Rd, man/getisord.Rd, man/lm.LMtests.Rd, man/lm.morantest.Rd, man/nc.sids.Rd, man/spautolm.Rd, man/used.cars.Rd: non_function 2007-07-25 10:50 rsbivand * DESCRIPTION, R/utils.R: lag.listw warning 2007-06-13 10:36 rsbivand * R/globalG.R: globalG 2007-06-12 15:38 rsbivand * R/nb2mat.R, man/spautolm.Rd: inherit in nb2mat 2007-06-11 10:05 rsbivand * DESCRIPTION: encoding 2007-06-10 22:35 rsbivand * DESCRIPTION, R/EBI.R, R/anova.sarlm.R, R/geary.R, R/jc.R, R/moran.R, R/nb2lines.R, R/sp.mantel.R, man/nb2lines.Rd, man/sp.mantel.mc.Rd, ChangeLog, inst/ChangeLog: SMA, moran.mc, nb.comp 2007-06-03 21:28 rsbivand * R/weights-utils.R: n.comp.nb and make.sym.nb fix 2007-05-16 09:23 rsbivand * DESCRIPTION, R/spautolm.R, man/spautolm.Rd: SMA 2007-05-15 09:42 rsbivand * R/ME.R, man/GMerrorsar.Rd, man/ME.Rd, man/SpatialFiltering.Rd, man/autocov_dist.Rd, man/errorsarlm.Rd, man/geary.mc.Rd, man/globalG.test.Rd, man/invIrM.Rd, man/joincount.mc.Rd, man/joincount.multi.Rd, man/joincount.test.Rd, man/lm.morantest.Rd, man/lm.morantest.sad.Rd, man/localmoran.Rd, man/localmoran.sad.Rd, man/moran.mc.Rd, man/moran.test.Rd, man/nb2blocknb.Rd, man/p.adjustSP.Rd, man/plot.nb.Rd, man/poly2nb.Rd, man/predict.sarlm.Rd, man/sp.correlogram.Rd, man/spautolm.Rd, man/stsls.Rd, man/summary.nb.Rd: line breaks 2007-03-26 22:37 rsbivand * R/SpatialFiltering.R: to 4.2 2007-03-26 15:43 rsbivand * DESCRIPTION, R/SpatialFiltering.R, R/nb2listw.R: to 4.2 2007-03-22 10:29 rsbivand * DESCRIPTION, INDEX, man/bptest.sarlm.Rd: status Matrix 2007-03-21 22:09 rsbivand * R/nb2mat.R, man/invIrM.Rd: status Matrix 2007-03-21 20:09 rsbivand * R/kpgm_new.R: status Matrix 2007-03-21 19:46 rsbivand * DESCRIPTION, R/error.spsarlm.R, R/lag.spsarlm.R, R/spautolm.R: status Matrix 2007-03-21 19:16 rsbivand * R/error.spsarlm.R, R/lag.spsarlm.R, R/spautolm.R, man/asMatrixCsrListw.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/spautolm.Rd: status Matrix 2007-03-21 18:20 rsbivand * DESCRIPTION, NAMESPACE, R/ME.R, R/error.spsarlm.R, R/lag.spsarlm.R, R/listw2cs.R, R/spautolm.R, man/listw2sn.Rd, man/similar.listw.Rd: status Matrix 2007-03-21 12:47 rsbivand * DESCRIPTION, R/kpgm_new.R, R/spautolm.R, man/asMatrixCsrListw.Rd, man/boston.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/spautolm.Rd: status Matrix 2007-02-12 18:46 rsbivand * inst/etc/weights/: columbus.gal, ncCC89.gal, ncCR85.gal: missing GAL files 2007-02-12 14:03 rsb * inst/etc/misc/: nc_xtra.dbf, nyadjwts.dbf, nydata.dbf: tidy 2007-02-12 13:56 rsb * DESCRIPTION, NAMESPACE, R/autocov.R, R/dnearneigh.R, R/error.spsarlm.R, R/knearneigh.R, R/nbdists.R, R/nblag.R, R/poly2nb.R, R/sarlm.R, R/summary.nb.R, data/oldcol.rda, inst/CHANGES, man/COL.OLD.Rd, man/EBImoran.mc.Rd, man/EBest.Rd, man/EBlocal.Rd, man/GMerrorsar.Rd, man/LR.sarlm.Rd, man/ME.Rd, man/NY_data.Rd, man/SpatialFiltering.Rd, man/afcon.Rd, man/anova.sarlm.Rd, man/as_dgRMatrix_listw.Rd, man/auckland.Rd, man/autocov_dist.Rd, man/bptest.sarlm.Rd, man/card.Rd, man/choynowski.Rd, man/columbus.Rd, man/compon.Rd, man/diffnb.Rd, man/dnearneigh.Rd, man/eire.Rd, man/geary.mc.Rd, man/geary.test.Rd, man/globalG.test.Rd, man/graphneigh.Rd, man/include.self.Rd, man/joincount.test.Rd, man/knearneigh.Rd, man/knn2nb.Rd, man/listw2sn.Rd, man/lm.morantest.Rd, man/lm.morantest.sad.Rd, man/localG.Rd, man/localmoran.Rd, man/localmoran.sad.Rd, man/mat2listw.Rd, man/moran.Rd, man/moran.mc.Rd, man/moran.plot.Rd, man/moran.test.Rd, man/nb2WB.Rd, man/nb2lines.Rd, man/nb2listw.Rd, man/nb2mat.Rd, man/nbdists.Rd, man/nblag.Rd, man/nboperations.Rd, man/nc.sids.Rd, man/p.adjustSP.Rd, man/plot.nb.Rd, man/poly2nb.Rd, man/probmap.Rd, man/read.gwt2nb.Rd, man/residuals.sarlm.Rd, man/sp.correlogram.Rd, man/sp.mantel.mc.Rd, man/spautolm.Rd, man/subset.listw.Rd, man/subset.nb.Rd, man/summary.nb.Rd, man/testnb.Rd, man/tri2nb.Rd, man/used.cars.Rd, man/write.nb.gal.Rd, inst/etc/shapes/auckland.dbf, inst/etc/shapes/auckland.shp, inst/etc/shapes/auckland.shx, inst/etc/shapes/columbus.dbf, inst/etc/shapes/columbus.shp, inst/etc/shapes/columbus.shx, inst/etc/shapes/eire.dbf, inst/etc/shapes/eire.shp, inst/etc/shapes/eire.shx, inst/etc/shapes/sids.dbf, inst/etc/shapes/sids.shp, inst/etc/shapes/sids.shx: tidy 2007-02-07 22:07 rsb * man/similar.listw.Rd: status for export; Matrix 2007-02-07 21:58 rsb * R/listw2Matrix.R, man/as_dgRMatrix_listw.Rd, man/nb2WB.Rd, src/listw2Matrix.c: status for export; Matrix 2007-02-07 20:35 rsb * DESCRIPTION, INDEX, NAMESPACE, R/airdist.R, R/card.R, R/cellneighbours.R, R/diffnb.R, R/dnearneigh.R, R/droplinks.R, R/edit.nb.R, R/error.spsarlm.R, R/gabrielneigh.R, R/geary.R, R/graph2nb.R, R/jc.R, R/knearneigh.R, R/knn2nb.R, R/lag.spsarlm.R, R/listw2cs.R, R/listw2sn.R, R/lm.LMtests.R, R/lm.morantest.R, R/localG.R, R/localmoran.R, R/mtlocalmoran.R, R/nb2blocknb.R, R/nb2listw.R, R/nb2mat.R, R/nbdists.R, R/nblag.R, R/nboperations.R, R/poly2nb.R, R/read.gal.R, R/read.gwt2nb.R, R/relneigh.R, R/soi.R, R/spautolm.R, R/subset.nb.R, R/summary.spsarlm.R, R/tri2nb.R, R/utils.R, R/weights-utils.R, inst/CHANGES, man/EBImoran.mc.Rd, man/errorsarlm.Rd, man/joincount.multi.Rd, man/joincount.test.Rd, man/lagsarlm.Rd, man/lm.LMtests.Rd, man/localmoran.sad.Rd, man/spautolm.Rd, man/spweights.constants.Rd: status for export; Matrix 2006-03-10 13:55 rsb * R/ME.R, R/s2sls.R, data/huddersfield.rda, man/ME.Rd, man/huddersfield.Rd, man/stsls.Rd: at 3-22 2006-03-10 13:49 rsb * DESCRIPTION, NAMESPACE, R/EBI.R, R/lm.LMtests.R, inst/CHANGES, man/EBest.Rd, man/GMerrorsar.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/lm.LMtests.Rd, man/predict.sarlm.Rd, man/spautolm.Rd: at 3-22 2006-03-01 09:49 rsb * DESCRIPTION, INDEX, R/SpatialFiltering.R, R/error.spsarlm.R, R/jc.R, R/lag.spsarlm.R, R/sarlm.R, R/sp.correlogram.R, R/spautolm.R, data/auckland.rda, data/columbus.rda, data/eire.rda, data/nc.sids.rda, data/oldcol.rda, inst/CHANGES, man/SpatialFiltering.Rd, man/autocov_dist.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/lm.morantest.Rd, man/read.gal.Rd, man/sp.correlogram.Rd, man/spautolm.Rd: current 2005-12-14 21:39 rsb * NAMESPACE, R/SpatialFiltering.R, R/error.spsarlm.R, R/kpgm_new.R, R/spautolm.R: SpatialFiltering 2005-12-14 13:20 rsb * man/SpatialFiltering.Rd: SpatialFiltering 2005-12-14 12:53 rsb * DESCRIPTION, LICENCE, NAMESPACE, R/SpatialFiltering.R, inst/LICENCE, man/SpatialFiltering.Rd, inst/CHANGES: SpatialFiltering 2005-12-13 09:35 rsb * DESCRIPTION, LICENCE, inst/LICENCE: new functions 2005-12-13 09:23 rsb * R/autocov.R, R/choynowski.R, R/kpgm_new.R, R/nb2blocknb.R, R/nb2lines.R, R/p.adjustSP.R, R/spautolm.R, data/NY_data.rda, data/hopkins.rda, man/GMerrorsar.Rd, man/NY_data.Rd, man/asMatrixCsrListw.Rd, man/autocov_dist.Rd, man/choynowski.Rd, man/hopkins.Rd, man/joincount.multi.Rd, man/nb2blocknb.Rd, man/nb2lines.Rd, man/p.adjustSP.Rd, man/spautolm.Rd, src/gearyw.c, src/gsymtest.c, src/insiders.c, src/polypoly.c: new functions 2005-12-13 09:10 rsb * DESCRIPTION, NAMESPACE, R/bptest.sarlm.R, R/lm.morantest.R, R/mtmoran.R, R/poly2nb.R, man/bptest.sarlm.Rd, man/poly2nb.Rd: new functions 2005-11-29 15:50 rsb * DESCRIPTION, INDEX, NAMESPACE, R/anova.sarlm.R, R/diffnb.R, R/droplinks.R, R/error.spsarlm.R, R/gabrielneigh.R, R/jc.R, R/lag.spsarlm.R, R/listw2cs.R, R/lm.LMtests.R, R/lm.morantest.R, R/moran.R, R/mtlocalmoran.R, R/mtmoran.R, R/nb2listw.R, R/plot.nb.R, R/poly2nb.R, R/read.gal.R, R/read.gwt2nb.R, R/relneigh.R, R/subset.nb.R, R/summary.spsarlm.R, R/tri2nb.R, R/utils.R, R/zzz.R, inst/doc/sids.Rnw, man/EBImoran.mc.Rd, man/bptest.sarlm.Rd, man/eire.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/moran.mc.Rd, man/nb2listw.Rd, man/plot.nb.Rd, man/tri2nb.Rd: Kohren Sahlis etc 2005-01-20 19:57 rsb * DESCRIPTION, INDEX, LICENCE, NAMESPACE, R/EBI.R, R/cellneighbours.R, R/diffnb.R, R/dnearneigh.R, R/droplinks.R, R/error.spsarlm.R, R/geary.R, R/graph2nb.R, R/jc.R, R/knearneigh.R, R/knn2nb.R, R/lag.spsarlm.R, R/listw2cs.R, R/listw2sn.R, R/lm.LMtests.R, R/lm.morantest.R, R/localmoran.R, R/moran.R, R/mtlocalmoran.R, R/mtmoran.R, R/nb2listw.R, R/nb2mat.R, R/nblag.R, R/nboperations.R, R/plot.nb.R, R/poly2nb.R, R/read.gal.R, R/read.gwt2nb.R, R/sp.correlogram.R, R/sp.mantel.R, R/spwdet.R, R/subset.nb.R, R/weights-utils.R, data/eire.rda, data/used.cars.rda, inst/LICENCE, inst/doc/sids.Rnw, man/boston.Rd, man/errorsarlm.Rd, man/lagsarlm.Rd, man/listw2sn.Rd, man/lm.morantest.Rd, man/lm.morantest.sad.Rd, man/localmoran.sad.Rd, man/testnb.Rd, man/used.cars.Rd: sp out 2005-01-20 19:18 rsb * src/: spAllocate.c, spBuild.c, spConfig.h, spDefs.h, spFactor.c, spMatrix.h, spUtils.c, spwdet.c: sp out 2004-11-01 18:51 rsb * DESCRIPTION, R/dnearneigh.R, R/listw2sn.R, R/read.gal.R, R/summary.nb.R, inst/doc/sids.Rnw, man/read.gal.Rd: pre lancs 2004-08-17 11:26 rsb * DESCRIPTION, R/knearneigh.R, R/summary.nb.R, R/utils.R, data/nc.sids.rda, inst/doc/sids.Rnw, man/EBImoran.mc.Rd, man/LR.sarlm.Rd, man/moran.mc.Rd, man/nc.sids.Rd: roundup 2004-05-19 08:11 rsb * DESCRIPTION, INDEX, NAMESPACE, R/error.spsarlm.R, R/lag.spsarlm.R, R/listw2sn.R, R/localmoran.R, R/poly2nb.R, R/read.gwt2nb.R, R/sarlm.R, R/summary.spsarlm.R, R/tri2nb.R, R/zzz.R, data/auckland.rda, data/columbus.rda, data/eire.rda, data/oldcol.rda, inst/doc/sids.Rnw, inst/etc/weights/wmat.dat, man/EBest.Rd, man/EBlocal.Rd, man/diffnb.Rd, man/dnearneigh.Rd, man/eire.Rd, man/graphneigh.Rd, man/knearneigh.Rd, man/knn2nb.Rd, man/lag.listw.Rd, man/localmoran.Rd, man/localmoran.sad.Rd, man/nblag.Rd, man/nboperations.Rd, man/nc.sids.Rd, man/poly2nb.Rd, man/probmap.Rd, man/read.gwt2nb.Rd, man/tri2nb.Rd: changes to 2-17 2004-03-27 21:05 rsb * DESCRIPTION, INDEX, NAMESPACE, R/EBI.R, R/anova.sarlm.R, R/edit.nb.R, R/error.spsarlm.R, R/geary.R, R/globalG.R, R/jc.R, R/lag.spsarlm.R, R/listw2sn.R, R/lm.LMtests.R, R/lm.morantest.R, R/localmoran.R, R/moran.R, R/mtlocalmoran.R, R/mtmoran.R, R/poly2nb.R, R/read.gal.R, R/read.gwt2nb.R, R/sarlm.R, R/sp.mantel.R, R/spwdet.R, R/subset.nb.R, R/summary.nb.R, R/summary.spsarlm.R, R/utils.R, R/weights-utils.R, data/auckland.rda, data/columbus.rda, data/eire.rda, data/nc.sids.rda, data/oldcol.rda, data/used.cars.rda, inst/doc/00Index.dcf, inst/doc/sids.Rnw, man/COL.OLD.Rd, man/EBImoran.mc.Rd, man/EBest.Rd, man/EBlocal.Rd, man/LR.sarlm.Rd, man/auckland.Rd, man/columbus.Rd, man/diffnb.Rd, man/dnearneigh.Rd, man/edit.nb.Rd, man/eigenw.Rd, man/eire.Rd, man/errorsarlm.Rd, man/geary.mc.Rd, man/geary.test.Rd, man/globalG.test.Rd, man/graphneigh.Rd, man/joincount.mc.Rd, man/joincount.test.Rd, man/knearneigh.Rd, man/knn2nb.Rd, man/lag.listw.Rd, man/lagsarlm.Rd, man/listw2sn.Rd, man/lm.morantest.Rd, man/lm.morantest.sad.Rd, man/localmoran.Rd, man/localmoran.sad.Rd, man/moran.Rd, man/moran.mc.Rd, man/moran.test.Rd, man/nblag.Rd, man/nboperations.Rd, man/nc.sids.Rd, man/poly2nb.Rd, man/probmap.Rd, man/read.gal.Rd, man/read.gwt2nb.Rd, man/residuals.sarlm.Rd, man/sp.mantel.mc.Rd, man/spweights.constants.Rd, man/subset.listw.Rd, man/summary.sarlm.Rd, man/tri2nb.Rd, man/used.cars.Rd, src/jc.c, src/lagw.c, src/listw2sn.c, R/bptest.sarlm.R, man/bptest.sarlm.Rd: after AAG 2003-09-12 18:28 rsb * man/: joincount.mc.Rd, joincount.test.Rd: 2.4 fixes 2003-09-12 18:24 rsb * DESCRIPTION, INDEX, NAMESPACE, R/diffnb.R, R/dnearneigh.R, R/graph2nb.R, R/knn2nb.R, R/listw2sn.R, R/nb2mat.R, R/poly2nb.R, R/read.gal.R, R/sp.correlogram.R, R/summary.nb.R, R/summary.spsarlm.R, R/tri2nb.R, data/nc.sids.rda, inst/doc/00Index.dcf, inst/doc/sids.Rnw, inst/doc/spdep.Rnw, inst/doc/spdep.pdf, man/EBImoran.mc.Rd, man/dnearneigh.Rd, man/errorsarlm.Rd, man/geary.Rd, man/joincount.Rd, man/knearneigh.Rd, man/lagsarlm.Rd, man/lm.LMtests.Rd, man/mat2listw.Rd, man/nc.sids.Rd, man/poly2nb.Rd, man/sp.correlogram.Rd, src/dnn.c: 2.4 fixes 2003-08-27 10:01 rsb * DESCRIPTION, INDEX, R/LR.spsarlm.R, R/geary.R, R/jc.R, R/lm.morantest.R, R/moran.R, R/moran.plot.R, R/mtlocalmoran.R, R/mtmoran.R, R/plot.nb.R, R/poly2nb.R, R/utils.R, R/weights-utils.R, R/zzz.R, inst/doc/spdep.Rnw, inst/doc/spdep.pdf, man/EBest.Rd, man/EBlocal.Rd, man/Map2poly.Rd, man/columbus.Rd, man/diffnb.Rd, man/eire.Rd, man/graphneigh.Rd, man/knearneigh.Rd, man/knn2nb.Rd, man/moran.plot.Rd, man/nblag.Rd, man/nboperations.Rd, man/nc.sids.Rd, man/plotpolys.Rd, man/poly2nb.Rd, man/probmap.Rd, man/read.gwt2nb.Rd, man/spdep.Rd, man/tri2nb.Rd, NAMESPACE: pre 2-2 2003-08-07 22:22 rsb * man/: Map2poly.Rd, anova.sarlm.Rd, baltimore.Rd, read.gwt2nb.Rd, sp.mantel.mc.Rd: at 0.1-13 2003-08-07 22:18 rsb * inst/doc/00Index.dcf, inst/doc/spdep.Rnw, inst/doc/spdep.pdf, inst/etc/weights/baltk4.GWT, inst/etc/weights/us48.txt, inst/etc/weights/us48_q.GAL, inst/etc/weights/us48_rk.GAL, data/baltimore.rda: at 0.1-13 2003-08-07 22:15 rsb * R/: anova.sarlm.R, sp.mantel.R: at 0.1-13 2003-08-07 22:11 rsb * DESCRIPTION, INDEX, R/EBI.R, R/LR.spsarlm.R, R/card.R, R/diffnb.R, R/dnearneigh.R, R/edit.nb.R, R/eigenw.R, R/error.spsarlm.R, R/geary.R, R/globalG.R, R/jc.R, R/knearneigh.R, R/lag.spsarlm.R, R/listw2sn.R, R/lm.LMtests.R, R/lm.morantest.R, R/moran.R, R/mtlocalmoran.R, R/mtmoran.R, R/nb2listw.R, R/nbdists.R, R/plot.nb.R, R/poly2nb.R, R/read.gal.R, R/sp.correlogram.R, R/summary.nb.R, R/summary.spsarlm.R, R/utils.R, R/weights-utils.R, R/zzz.R, data/00Index, data/BH.rda, data/eire.rda, data/nc.sids.rda, man/BH.Rd, man/COL.OLD.Rd, man/EBImoran.mc.Rd, man/EBest.Rd, man/EBlocal.Rd, man/LR.sarlm.Rd, man/afcon.Rd, man/columbus.Rd, man/diffnb.Rd, man/dnearneigh.Rd, man/eire.Rd, man/geary.test.Rd, man/joincount.test.Rd, man/knearneigh.Rd, man/listw2sn.Rd, man/lm.LMtests.Rd, man/moran.test.Rd, man/nb2listw.Rd, man/nbdists.Rd, man/nc.sids.Rd, man/plot.nb.Rd, man/plotpolys.Rd, man/poly2nb.Rd, man/probmap.Rd, man/read.gal.Rd, man/sp.correlogram.Rd, man/spweights.constants.Rd, man/summary.nb.Rd, man/write.nb.gal.Rd, src/dnn.c, src/knn.c, src/nbdists.c: at 0.1-13 2003-04-26 16:19 rsb * R/LR.spsarlm.R, R/graph2nb.R, R/nb2listw.R, R/nboperations.R, R/read.gal.R, R/weights-utils.R, man/EBest.Rd, man/EBlocal.Rd, man/probmap.Rd: EB and inherits 2003-04-23 23:03 rsb * DESCRIPTION, INDEX, LICENCE, R/EBI.R, R/dnearneigh.R, R/eigenw.R, R/error.spsarlm.R, R/geary.R, R/globalG.R, R/jc.R, R/knearneigh.R, R/listw2sn.R, R/lm.LMtests.R, R/lm.morantest.R, R/localG.R, R/localmoran.R, R/moran.R, R/moran.plot.R, R/mtmoran.R, R/nb2listw.R, R/nb2mat.R, R/poly2nb.R, R/sarlm.R, R/spChkOption.R, R/utils.R, data/00Index, data/auckland.rda, inst/LICENCE, man/EBImoran.mc.Rd, man/EBest.Rd, man/EBlocal.Rd, man/auckland.Rd, man/moran.test.Rd, man/nc.sids.Rd, man/plotpolys.Rd, man/poly2nb.Rd, man/probmap.Rd, man/set.spChkOption.Rd: EB and inherits 2003-01-21 20:32 rsb * R/EBI.R, R/geary.R, R/globalG.R, R/jc.R, R/lm.LMtests.R, R/lm.morantest.R, R/localG.R, R/localmoran.R, R/moran.R, R/moran.plot.R, R/mtlocalmoran.R, R/mtmoran.R, R/sp.correlogram.R, R/spChkOption.R, R/utils.R, R/zzz.R, data/nc.sids.rda, data/oldcol.rda, data/used.cars.rda, man/BH.Rd, man/EBImoran.mc.Rd, man/afcon.Rd, man/eire.Rd, man/geary.mc.Rd, man/geary.test.Rd, man/globalG.test.Rd, man/joincount.mc.Rd, man/joincount.test.Rd, man/lm.LMtests.Rd, man/lm.morantest.Rd, man/lm.morantest.sad.Rd, man/localG.Rd, man/localmoran.Rd, man/localmoran.sad.Rd, man/moran.mc.Rd, man/moran.plot.Rd, man/moran.test.Rd, man/nc.sids.Rd, man/set.spChkOption.Rd, man/sp.correlogram.Rd, man/used.cars.Rd: spChk 2003-01-20 20:33 rsb * INDEX, R/EBI.R, R/jc.R, data/00Index, man/BH.Rd, man/EBImoran.mc.Rd, man/joincount.mc.Rd, src/jc.c: jc-update 2003-01-20 12:25 rsb * DESCRIPTION, LICENCE, R/eigenw.R, R/error.spsarlm.R, R/lag.spsarlm.R, R/nb2mat.R, inst/LICENCE, man/localmoran.Rd, R/EBI.R, data/BH.rda, man/BH.Rd, man/EBImoran.mc.Rd: EBI 2002-08-20 09:12 rsb * DESCRIPTION, INDEX, LICENCE, R/geary.R, R/globalG.R, R/jc.R, R/moran.R, R/sarlm.R, R/sp.correlogram.R, R/subset.nb.R, data/boston.rda, inst/LICENCE, man/boston.Rd, man/geary.Rd, man/geary.mc.Rd, man/globalG.test.Rd, man/joincount.mc.Rd, man/moran.mc.Rd, man/predict.sarlm.Rd, man/sp.correlogram.Rd, src/lagw.c, src/spFactor.c, src/spMatrix.h: formats without l 2002-08-06 13:35 rsb * DESCRIPTION, INDEX, R/error.spsarlm.R, R/geary.R, R/jc.R, R/lag.spsarlm.R, R/lm.morantest.R, R/localmoran.R, R/moran.R, R/moran.plot.R, R/mtlocalmoran.R, R/mtmoran.R, R/nb2listw.R, R/nb2mat.R, R/sarlm.R, R/spwdet.R, R/summary.spsarlm.R, R/utils.R, data/00Index, man/errorsarlm.Rd, man/invIrM.Rd, man/lagsarlm.Rd, man/listw2sn.Rd, man/localmoran.sad.Rd, man/nc.sids.Rd, man/predict.sarlm.Rd, man/residuals.sarlm.Rd, src/spAllocate.c, src/spConfig.h, src/spDefs.h, src/spwdet.c: predict 2002-04-15 18:35 rsb * INDEX, LICENCE, R/diffnb.R, R/geary.R, R/jc.R, R/moran.R, R/nboperations.R, R/utils.R, data/00Index, data/eire.rda, data/nc.sids.rda, inst/LICENCE, man/boston.Rd, man/joincount.test.Rd, man/nc.sids.Rd, man/spweights.constants.Rd: added sids 2002-04-13 16:12 rsb * DESCRIPTION, R/lm.LMtests.R, R/lm.morantest.R, R/mtlocalmoran.R, R/mtmoran.R, R/spwdet.R, data/afcon.rda, data/boston.rda, data/columbus.rda, data/eire.rda, data/getisord.rda, data/oldcol.rda, data/used.cars.rda, man/boston.Rd: before SB 2002-03-19 22:50 rsb * man/listw2sn.Rd: release 2002-03-19 22:27 rsb * R/LR.spsarlm.R, R/airdist.R, R/card.R, R/cellneighbours.R, R/components.R, R/diffnb.R, R/dnearneigh.R, R/droplinks.R, R/edit.nb.R, R/eigenw.R, R/error.spsarlm.R, R/gabrielneigh.R, R/geary.R, R/graph2nb.R, R/jc.R, R/knearneigh.R, R/knn2nb.R, R/lag.spsarlm.R, R/listw2sn.R, R/lm.LMtests.R, R/lm.morantest.R, R/localG.R, R/localmoran.R, R/moran.R, R/moran.plot.R, R/mtlocalmoran.R, R/mtmoran.R, R/nb2listw.R, R/nb2mat.R, R/nbdists.R, R/nblag.R, R/nboperations.R, R/plot.nb.R, R/poly2nb.R, R/read.gal.R, R/relneigh.R, R/soi.R, R/spwdet.R, R/subset.nb.R, R/summary.nb.R, R/summary.spsarlm.R, R/tri2nb.R, R/utils.R, R/weights-utils.R, R/zzz.R, src/card.c, src/dfs_ncomp.c, src/lagw.c, src/listw2sn.c, src/nbdists.c, src/relative.c, src/soigraph.c, src/spwdet.c, src/symtest.c, LICENCE, inst/LICENCE: release 2002-03-19 13:05 rsb * DESCRIPTION, R/error.spsarlm.R, R/lag.spsarlm.R, R/spwdet.R, man/errorsarlm.Rd, man/lagsarlm.Rd, man/listw2sn.Rd, src/spAllocate.c, src/spBuild.c, src/spConfig.h, src/spDefs.h, src/spFactor.c, src/spMatrix.h, src/spUtils.c, src/spwdet.c: nearer release 2002-03-17 00:02 rsb * R/card.R, R/cellneighbours.R, R/components.R, R/dnearneigh.R, R/edit.nb.R, R/error.spsarlm.R, R/gabrielneigh.R, R/geary.R, R/knearneigh.R, R/lag.spsarlm.R, R/listw2sn.R, R/lm.LMtests.R, R/localmoran.R, R/moran.R, R/nbdists.R, R/relneigh.R, R/soi.R, R/summary.nb.R, R/utils.R, R/weights-utils.R, man/afcon.Rd, man/cell2nb.Rd, man/columbus.Rd, man/compon.Rd, man/diffnb.Rd, man/dnearneigh.Rd, man/errorsarlm.Rd, man/getisord.Rd, man/invIrM.Rd, man/knearneigh.Rd, man/knn2nb.Rd, man/lag.listw.Rd, man/lagsarlm.Rd, man/localG.Rd, man/nblag.Rd, man/plot.nb.Rd, man/poly2nb.Rd, man/subset.nb.Rd, man/testnb.Rd, man/tri2nb.Rd, man/used.cars.Rd: release 2002-03-15 23:35 rsb * DESCRIPTION, INDEX, R/LR.spsarlm.R, R/airdist.R, R/card.R, R/cellneighbours.R, R/components.R, R/diffnb.R, R/dnearneigh.R, R/droplinks.R, R/edit.nb.R, R/eigenw.R, R/error.spsarlm.R, R/gabrielneigh.R, R/geary.R, R/graph2nb.R, R/jc.R, R/knearneigh.R, R/knn2nb.R, R/lag.spsarlm.R, R/listw2sn.R, R/lm.LMtests.R, R/lm.morantest.R, R/localG.R, R/localmoran.R, R/moran.R, R/moran.plot.R, R/mtlocalmoran.R, R/mtmoran.R, R/nb2listw.R, R/nb2mat.R, R/nbdists.R, R/nblag.R, R/nboperations.R, R/plot.nb.R, R/poly2nb.R, R/read.gal.R, R/relneigh.R, R/soi.R, R/subset.nb.R, R/summary.nb.R, R/summary.spsarlm.R, R/tri2nb.R, R/utils.R, R/weights-utils.R, R/zzz.R, data/00Index, data/afcon.rda, data/columbus.rda, data/eire.rda, data/getisord.rda, data/oldcol.rda, data/used.cars.rda, man/COL.OLD.Rd, man/LR.sarlm.Rd, man/afcon.Rd, man/airdist.Rd, man/card.Rd, man/cell2nb.Rd, man/columbus.Rd, man/compon.Rd, man/diffnb.Rd, man/dnearneigh.Rd, man/droplinks.Rd, man/edit.nb.Rd, man/eigenw.Rd, man/eire.Rd, man/errorsarlm.Rd, man/geary.Rd, man/geary.mc.Rd, man/geary.test.Rd, man/getisord.Rd, man/graphneigh.Rd, man/include.self.Rd, man/invIrM.Rd, man/joincount.Rd, man/joincount.mc.Rd, man/joincount.test.Rd, man/knearneigh.Rd, man/knn2nb.Rd, man/lag.listw.Rd, man/lagsarlm.Rd, man/listw2sn.Rd, man/lm.LMtests.Rd, man/lm.morantest.Rd, man/lm.morantest.sad.Rd, man/localG.Rd, man/localmoran.Rd, man/localmoran.sad.Rd, man/moran.Rd, man/moran.mc.Rd, man/moran.plot.Rd, man/moran.test.Rd, man/nb2listw.Rd, man/nb2mat.Rd, man/nbdists.Rd, man/nblag.Rd, man/nboperations.Rd, man/plot.nb.Rd, man/plotpolys.Rd, man/poly2nb.Rd, man/read.gal.Rd, man/spweights.constants.Rd, man/subset.nb.Rd, man/summary.nb.Rd, man/summary.sarlm.Rd, man/testnb.Rd, man/tri2nb.Rd, man/used.cars.Rd, man/write.nb.gal.Rd, src/card.c, src/dfs_ncomp.c, src/dnn.c, src/gabriel.c, src/knn.c, src/lagw.c, src/listw2sn.c, src/nbdists.c, src/relative.c, src/soigraph.c, src/symtest.c: Imported sources 2002-03-15 23:35 rsb * DESCRIPTION, INDEX, R/LR.spsarlm.R, R/airdist.R, R/card.R, R/cellneighbours.R, R/components.R, R/diffnb.R, R/dnearneigh.R, R/droplinks.R, R/edit.nb.R, R/eigenw.R, R/error.spsarlm.R, R/gabrielneigh.R, R/geary.R, R/graph2nb.R, R/jc.R, R/knearneigh.R, R/knn2nb.R, R/lag.spsarlm.R, R/listw2sn.R, R/lm.LMtests.R, R/lm.morantest.R, R/localG.R, R/localmoran.R, R/moran.R, R/moran.plot.R, R/mtlocalmoran.R, R/mtmoran.R, R/nb2listw.R, R/nb2mat.R, R/nbdists.R, R/nblag.R, R/nboperations.R, R/plot.nb.R, R/poly2nb.R, R/read.gal.R, R/relneigh.R, R/soi.R, R/subset.nb.R, R/summary.nb.R, R/summary.spsarlm.R, R/tri2nb.R, R/utils.R, R/weights-utils.R, R/zzz.R, data/00Index, data/afcon.rda, data/columbus.rda, data/eire.rda, data/getisord.rda, data/oldcol.rda, data/used.cars.rda, man/COL.OLD.Rd, man/LR.sarlm.Rd, man/afcon.Rd, man/airdist.Rd, man/card.Rd, man/cell2nb.Rd, man/columbus.Rd, man/compon.Rd, man/diffnb.Rd, man/dnearneigh.Rd, man/droplinks.Rd, man/edit.nb.Rd, man/eigenw.Rd, man/eire.Rd, man/errorsarlm.Rd, man/geary.Rd, man/geary.mc.Rd, man/geary.test.Rd, man/getisord.Rd, man/graphneigh.Rd, man/include.self.Rd, man/invIrM.Rd, man/joincount.Rd, man/joincount.mc.Rd, man/joincount.test.Rd, man/knearneigh.Rd, man/knn2nb.Rd, man/lag.listw.Rd, man/lagsarlm.Rd, man/listw2sn.Rd, man/lm.LMtests.Rd, man/lm.morantest.Rd, man/lm.morantest.sad.Rd, man/localG.Rd, man/localmoran.Rd, man/localmoran.sad.Rd, man/moran.Rd, man/moran.mc.Rd, man/moran.plot.Rd, man/moran.test.Rd, man/nb2listw.Rd, man/nb2mat.Rd, man/nbdists.Rd, man/nblag.Rd, man/nboperations.Rd, man/plot.nb.Rd, man/plotpolys.Rd, man/poly2nb.Rd, man/read.gal.Rd, man/spweights.constants.Rd, man/subset.nb.Rd, man/summary.nb.Rd, man/summary.sarlm.Rd, man/testnb.Rd, man/tri2nb.Rd, man/used.cars.Rd, man/write.nb.gal.Rd, src/card.c, src/dfs_ncomp.c, src/dnn.c, src/gabriel.c, src/knn.c, src/lagw.c, src/listw2sn.c, src/nbdists.c, src/relative.c, src/soigraph.c, src/symtest.c: Initial revision spdep/man/0000755000176200001440000000000013152256577012155 5ustar liggesusersspdep/man/trW.Rd0000644000176200001440000001031112446120266013202 0ustar liggesusers\name{trW} \Rdversion{1.1} \alias{trW} \alias{mom_calc} \alias{mom_calc_int2} %- Also NEED an '\alias' for EACH other topic documented here. \title{Spatial weights matrix powers traces} \description{The function is used to prepare a vector of traces of powers of a spatial weights matrix} \usage{ trW(W=NULL, m = 30, p = 16, type = "mult", listw=NULL, momentsSymmetry=TRUE) mom_calc(lw, m) mom_calc_int2(is, m, nb, weights, Card) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{W}{A spatial weights matrix in CsparseMatrix form} \item{m}{The number of powers; must be an even number for \sQuote{type}=\dQuote{moments} (default changed from 100 to 30 (2010-11-17))} \item{p}{The number of samples used in Monte Carlo simulation of the traces if type is MC (default changed from 50 to 16 (2010-11-17))} \item{type}{Either \dQuote{mult} (default) for powering a sparse matrix (with moderate or larger N, the matrix becomes dense, and may lead to swapping), or \dQuote{MC} for Monte Carlo simulation of the traces (the first two simulated traces are replaced by their analytical equivalents), or \dQuote{moments} to use the looping space saving algorithm proposed by Smirnov and Anselin (2009) - for \dQuote{moments}, \code{W} must be symmetric, for row-standardised weights through a similarity transformation} \item{listw, lw}{a listw object, which should either be fully symmetric, or be constructed as similar to symmetric from intrinsically symmetric neighbours using \code{\link{similar.listw}}, used with \sQuote{type}=\dQuote{moments}} \item{momentsSymmetry}{default TRUE; assert Smirnov/Anselin symmetry assumption} \item{is}{(used internally only in \code{mom_calc_int2} for \sQuote{type}=\dQuote{moments} on a cluster)} \item{nb}{(used internally only in \code{mom_calc_int2} for \sQuote{type}=\dQuote{moments} on a cluster)} \item{weights}{(used internally only in \code{mom_calc_int2} for \sQuote{type}=\dQuote{moments} on a cluster)} \item{Card}{(used internally only in \code{mom_calc_int2} for \sQuote{type}=\dQuote{moments} on a cluster)} } \value{ A numeric vector of \code{m} traces, with \dQuote{timings} and \dQuote{type} attributes; the \sQuote{type}=\dQuote{MC} also returns the standard deviation of the p-vector V divided by the square root of p as a measure of spread for the trace estimates. } \note{\code{mom_calc} and \code{mom_calc_int2} are for internal use only} \references{LeSage J and RK Pace (2009) \emph{Introduction to Spatial Econometrics}. CRC Press, Boca Raton, pp. 96--105; Smirnov O and L Anselin (2009) An O(N) parallel method of computing the Log-Jacobian of the variable transformation for models with spatial interaction on a lattice. \emph{Computational Statistics and Data Analysis} 53 (2009) 2983--2984.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{ \code{\link{as_dgRMatrix_listw}}, \code{\link{nb2listw}} } \examples{ example(columbus) listw <- nb2listw(col.gal.nb) W <- as(listw, "CsparseMatrix") system.time(trMat <- trW(W, type="mult")) str(trMat) set.seed(1100) system.time(trMC <- trW(W, type="MC")) str(trMC) plot(trMat, trMC) abline(a=0, b=1) for(i in 3:length(trMC)) { segments(trMat[i], trMC[i]-2*attr(trMC, "sd")[i], trMat[i], trMC[i]+2*attr(trMC, "sd")[i]) } listwS <- similar.listw(listw) W <- forceSymmetric(as(listwS, "CsparseMatrix")) system.time(trmom <- trW(W, m=24, type="moments")) str(trmom) all.equal(trMat[1:24], trmom, check.attributes=FALSE) system.time(trMat <- trW(W, m=24, type="mult")) str(trMat) all.equal(trMat, trmom, check.attributes=FALSE) set.seed(1) system.time(trMC <- trW(W, m=24, type="MC")) str(trMC) \donttest{ data(boston) listw <- nb2listw(boston.soi) listwS <- similar.listw(listw) system.time(trmom <- trW(listw=listwS, m=24, type="moments")) str(trmom) library(parallel) nc <- detectCores(logical=FALSE) # set nc to 1L here if (nc > 1L) nc <- 1L coresOpt <- get.coresOption() invisible(set.coresOption(nc)) if(!get.mcOption()) { cl <- makeCluster(get.coresOption()) set.ClusterOption(cl) } system.time(trmomp <- trW(listw=listwS, m=24, type="moments")) if(!get.mcOption()) { set.ClusterOption(NULL) stopCluster(cl) } all.equal(trmom, trmomp, check.attributes=FALSE) invisible(set.coresOption(coresOpt)) } } \keyword{spatial} spdep/man/summary.sarlm.Rd0000644000176200001440000000663611770552554015267 0ustar liggesusers% Copyright 2002-9 by Roger S. Bivand \name{summary.sarlm} \alias{summary.sarlm} \alias{print.sarlm} \alias{print.summary.sarlm} %- Also NEED an `\alias' for EACH other topic documented here. \title{summary method for class sarlm} \description{ Methods used for presenting the results of estimating spatial SAR models. } \usage{ \method{summary}{sarlm}(object, correlation = FALSE, Nagelkerke = FALSE, Hausman=FALSE, adj.se=FALSE, ...) \method{print}{sarlm}(x, ...) \method{print}{summary.sarlm}(x, digits = max(5, .Options$digits - 3), signif.stars = FALSE, ...) } %- maybe also `usage' for other objects documented here. \arguments{ \item{object}{\code{sarlm} object from \code{lagsarlm} or \code{errorsarlm}} \item{correlation}{logical; if 'TRUE', the correlation matrix of the estimated parameters including sigma is returned and printed (default=FALSE)} \item{Nagelkerke}{if TRUE, the Nagelkerke pseudo R-squared is reported} \item{Hausman}{if TRUE, the results of the Hausman test for error models are reported} \item{adj.se}{if TRUE, adjust the coefficient standard errors for the number of fitted coefficients} \item{x}{\code{sarlm} object from \code{lagsarlm} or \code{errorsarlm} in \code{print.sarlm}, summary object from \code{summary.sarlm} for \code{print.summary.sarlm}} \item{digits}{the number of significant digits to use when printing} \item{signif.stars}{logical. If TRUE, "significance stars" are printed for each coefficient.} \item{\dots}{further arguments passed to or from other methods} } \value{ The summary function \code{summary.sarlm} returns the \code{sarlm} object augmented with a coefficient matrix with probability values for coefficient asymptotic standard errors for type="error" and for type="lag" or "mixed" when object\$ase=TRUE, or a coefficient matrix with probability values for likelihood ratio tests between the model as reported and models with independent variables dropped in turn. } \references{Cliff, A. D., Ord, J. K. 1981 \emph{Spatial processes}, Pion; Ord, J. K. 1975 Estimation methods for models of spatial interaction, \emph{Journal of the American Statistical Association}, 70, 120-126; Anselin, L. 1988 \emph{Spatial econometrics: methods and models.} (Dordrecht: Kluwer); Anselin, L. 1995 SpaceStat, a software program for the analysis of spatial data, version 1.80. Regional Research Institute, West Virginia University, Morgantown, WV (\url{www.spacestat.com}); Anselin L, Bera AK (1998) Spatial dependence in linear regression models with an introduction to spatial econometrics. In: Ullah A, Giles DEA (eds) Handbook of applied economic statistics. Marcel Dekker, New York, pp. 237-289; Nagelkerke NJD (1991) A note on a general definition of the coefficient of determination. Biometrika 78: 691-692.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{errorsarlm}}, \code{\link{lagsarlm}}, \code{\link{summary.lm}}} \examples{ data(oldcol) COL.mix.eig <- lagsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb), type="mixed", method="eigen") summary(COL.mix.eig, correlation=TRUE, Nagelkerke=TRUE) COL.mix.M <- lagsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb), type="mixed", method="Matrix") summary(COL.mix.M, correlation=TRUE, Nagelkerke=TRUE) COL.errW.eig <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb, style="W"), method="eigen") summary(COL.errW.eig, correlation=TRUE, Nagelkerke=TRUE, Hausman=TRUE) } \keyword{spatial} spdep/man/nbdists.Rd0000644000176200001440000000211311716033161014071 0ustar liggesusers% Copyright 2001 by Roger S. Bivand \name{nbdists} \alias{nbdists} \title{Spatial link distance measures} \description{ Given a list of spatial neighbour links (a neighbours list of object type \code{nb}), the function returns the Euclidean distances along the links in a list of the same form as the neighbours list. If longlat = TRUE, Great Circle distances are used. } \usage{ nbdists(nb, coords, longlat = NULL) } \arguments{ \item{nb}{an object of class \code{nb}} \item{coords}{matrix of point coordinates or a SpatialPoints object} \item{longlat}{TRUE if point coordinates are longitude-latitude decimal degrees, in which case distances are measured in kilometers; if coords is a SpatialPoints object, the value is taken from the object itself} } \value{ A list with class \code{nbdist} } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{summary.nb}}, \code{\link{nb2listw}}} \examples{ example(columbus) coords <- coordinates(columbus) dlist <- nbdists(col.gal.nb, coords) dlist <- lapply(dlist, function(x) 1/x) stem(unlist(dlist)) } \keyword{spatial} spdep/man/tolerance.nb.Rd0000644000176200001440000000631712161044257015012 0ustar liggesusers\name{tolerance.nb} \alias{tolerance.nb} \title{ Function to construct edges based on a tolerance angle and a maximum distance } \description{ This function creates an object of class \code{nb} (defined in the library spdep) containing a connexion diagram. The edges between sites are based on a tolerance angle and a maximum distance. The angle is directional; its direction is always from the bottow to the top of the screen. } \usage{ tolerance.nb(coords, unit.angle = "degrees", max.dist, tolerance, rot.angle, plot.sites=FALSE) } \arguments{ \item{coords}{ A matrix or a data frame containing the X and Y coordinates of the study sites. } \item{unit.angle}{ Character. The measurement units in which angles are defined: either "degrees" (default) or "radians". } \item{max.dist}{ Numeric. The maximum distance of an edge linking two sites together. } \item{tolerance}{ Numeric. The tolerance angle in which a site can influence another site. The angle is measured vertically and from bottom to top of the pictures after rotation of the points.} \item{rot.angle}{ Numeric, optional. An angle at which a set of coordinates should be rotated before creating the connexion diagram. The set of coordinates is rotated counterclockwise. Negative values will produce a clockwise rotation.} \item{plot.sites}{ Logical (\code{TRUE}, \code{FALSE}) determining if the site should be plotted in a graphic window. This graph allows one to make sure the points are rotated in a correct direction.} } \details{ Even though this function creates a connexion diagram based on a tolerance angle going from the bottom to the top of the screen, the resulting object is symmetric, meaning that a site influences another and vice versa. The final object does not represent a directional connexion network. } \value{ The function returns an object of class \code{nb} with a list of integer vectors corresponding to neighbour region numbers. } \section{Warning}{ This function was not design to handle a large number of rows in \code{coords}. To use this function for a set of coordinates with more than 1500 entries is memory intensive. } \author{ F. Guillaume Blanchet } \seealso{ \code{\link[spdep]{dnearneigh}}, \code{\link[spdep]{cell2nb}}, \code{\link[spdep]{graph2nb}}, \code{\link[spdep]{tri2nb}}, \code{\link[spdep]{knn2nb}} } \examples{ set.seed(1) ex.data<-cbind(runif(50),rexp(50)) ### Construct object of class nb with a tolerance angle of 30 degrees ### and a maximum distance of 2 m. nb.ex<-tolerance.nb(ex.data, unit.angle = "degrees", max.dist=1, tolerance = 30) ### Construct object of class nb with a tolerance angle of 30 degrees ### and a maximum distance of 2 m. The coordinates are rotated at an angle ### of 45 degrees counterclockwise. nb.ex2<-tolerance.nb(ex.data, unit.angle = "degrees", max.dist=1, tolerance = 30, rot.angle = 45) ### Construct object of class nb with a tolerance angle of pi/8 radians ### and a maximum distance of 1.5 m. The coordinates are rotated at ### an angle of pi/4 radians clockwise. nb.ex3<-tolerance.nb(ex.data, unit.angle = "radians", max.dist=1.5, tolerance = pi/8, rot.angle = -pi*2/3) par(mfrow=c(1,3)) plot(nb.ex,ex.data,asp=1) plot(nb.ex2,ex.data,asp=1) plot(nb.ex3,ex.data,asp=1) } \keyword{ spatial } spdep/man/geary.test.Rd0000644000176200001440000000772511716033161014526 0ustar liggesusers% Copyright 2001-9 by Roger S. Bivand \name{geary.test} \alias{geary.test} \title{Geary's C test for spatial autocorrelation} \description{ Geary's test for spatial autocorrelation using a spatial weights matrix in weights list form. The assumptions underlying the test are sensitive to the form of the graph of neighbour relationships and other factors, and results may be checked against those of \code{geary.mc} permutations. } \usage{ geary.test(x, listw, randomisation=TRUE, zero.policy=NULL, alternative="greater", spChk=NULL, adjust.n=TRUE) } \arguments{ \item{x}{a numeric vector the same length as the neighbours list in listw} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{randomisation}{variance of I calculated under the assumption of randomisation, if FALSE normality} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{alternative}{a character string specifying the alternative hypothesis, must be one of "greater" (default), "less" or "two.sided".} \item{spChk}{should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use \code{get.spChkOption()}} \item{adjust.n}{default TRUE, if FALSE the number of observations is not adjusted for no-neighbour observations, if TRUE, the number of observations is adjusted} } \value{ A list with class \code{htest} containing the following components: \item{statistic}{the value of the standard deviate of Geary's C, in the order given in Cliff and Ord 1973, p. 21, which is (EC - C) / sqrt(VC), that is with the sign reversed with respect to the more usual (C - EC) / sqrt(VC); this means that the \dQuote{greater} alternative for the Geary C test corresponds to the \dQuote{greater} alternative for Moran's I test.} \item{p.value}{the p-value of the test.} \item{estimate}{the value of the observed Geary's C, its expectation and variance under the method assumption.} \item{alternative}{a character string describing the alternative hypothesis.} \item{method}{a character string giving the assumption used for calculating the standard deviate.} \item{data.name}{a character string giving the name(s) of the data.} } \references{Cliff, A. D., Ord, J. K. 1981 Spatial processes, Pion, p. 21, Cliff, A. D., Ord, J. K. 1973 Spatial Autocorrelation, Pion, pp. 15-16, 21.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \note{The derivation of the test (Cliff and Ord, 1981, p. 18) assumes that the weights matrix is symmetric. For inherently non-symmetric matrices, such as k-nearest neighbour matrices, \code{listw2U()} can be used to make the matrix symmetric. In non-symmetric weights matrix cases, the variance of the test statistic may be negative (thanks to Franz Munoz I for a well documented bug report). Geary's C is affected by non-symmetric weights under normality much more than Moran's I. From 0.4-35, the sign of the standard deviate of C is changed to match Cliff and Ord (1973, p. 21). } \seealso{\code{\link{geary}}, \code{\link{geary.mc}}, \code{\link{listw2U}}} \examples{ data(oldcol) geary.test(COL.OLD$CRIME, nb2listw(COL.nb, style="W")) geary.test(COL.OLD$CRIME, nb2listw(COL.nb, style="W"), randomisation=FALSE) colold.lags <- nblag(COL.nb, 3) geary.test(COL.OLD$CRIME, nb2listw(colold.lags[[2]], style="W")) geary.test(COL.OLD$CRIME, nb2listw(colold.lags[[3]], style="W"), alternative="greater") print(is.symmetric.nb(COL.nb)) coords.OLD <- cbind(COL.OLD$X, COL.OLD$Y) COL.k4.nb <- knn2nb(knearneigh(coords.OLD, 4)) print(is.symmetric.nb(COL.k4.nb)) geary.test(COL.OLD$CRIME, nb2listw(COL.k4.nb, style="W")) geary.test(COL.OLD$CRIME, nb2listw(COL.k4.nb, style="W"), randomisation=FALSE) cat("Note non-symmetric weights matrix - use listw2U()\n") geary.test(COL.OLD$CRIME, listw2U(nb2listw(COL.k4.nb, style="W"))) geary.test(COL.OLD$CRIME, listw2U(nb2listw(COL.k4.nb, style="W")), randomisation=FALSE) } \keyword{spatial} spdep/man/predict.sarlm.Rd0000644000176200001440000003474613147105211015207 0ustar liggesusers% Copyright 2002 by Roger S. Bivand, 2015 Martin Gubri \name{predict.sarlm} \alias{predict.sarlm} \alias{predict.SLX} \alias{print.sarlm.pred} \alias{as.data.frame.sarlm.pred} \title{Prediction for spatial simultaneous autoregressive linear model objects} \description{ \code{predict.sarlm()} calculates predictions as far as is at present possible for for spatial simultaneous autoregressive linear model objects, using Haining's terminology for decomposition into trend, signal, and noise, or other types of predictors --- see references. } \usage{ \method{predict}{sarlm}(object, newdata = NULL, listw = NULL, pred.type = "TS", all.data = FALSE, zero.policy = NULL, legacy = TRUE, legacy.mixed = FALSE, power = NULL, order = 250, tol = .Machine$double.eps^(3/5), spChk = NULL, ...) \method{predict}{SLX}(object, newdata, listw, zero.policy=NULL, ...) \method{print}{sarlm.pred}(x, ...) \method{as.data.frame}{sarlm.pred}(x, ...) } %- maybe also `usage' for other objects documented here. \arguments{ \item{object}{\code{sarlm} object returned by \code{lagsarlm}, \code{errorsarlm} or \code{sacsarlm}, the method for SLX objects takes the output of \code{lmSLX}} \item{newdata}{data frame in which to predict --- if NULL, predictions are for the data on which the model was fitted. Should have row names corresponding to region.id. If row names are exactly the same than the ones used for training, it uses in-sample predictors for forecast. See \sQuote{Details}} \item{listw}{a \code{listw} object created for example by \code{nb2listw}. In the out-of-sample prediction case (ie. if newdata is not NULL), if \code{legacy.mixed=FALSE} or if \code{pred.type!="TS"}, it should include both in-sample and out-of-sample spatial units. In this case, if regions of the listw are not in the correct order, they are reordered. See \sQuote{Details}} \item{pred.type}{predictor type --- default \dQuote{TS}, use decomposition into trend, signal, and noise ; other types available depending on \code{newdata}. If \code{newdata=NULL} (in-sample prediction), \dQuote{TS}, \dQuote{trend}, \dQuote{TC} and \dQuote{BP} are available. If \code{newdata} is not NULL and its row names are the same than the \code{data} used to fit the model (forecast case), \dQuote{TS}, \dQuote{trend} and \dQuote{TC} are available. In other cases (out-of-sample prediction), \dQuote{TS}, \dQuote{trend}, \dQuote{KP1}, \dQuote{KP2}, \dQuote{KP3}, \dQuote{KP4}, \dQuote{KP5}, \dQuote{TC}, \dQuote{BP}, \dQuote{BPW}, \dQuote{BPN}, \dQuote{TS1}, \dQuote{TC1}, \dQuote{BP1}, \dQuote{BPW1} and \dQuote{BPN1} are available. See \sQuote{Details} and references} \item{all.data}{(only applies to \code{pred.type="TC"} and newdata is not NULL) default FALSE: return predictions only for newdata units, if TRUE return predictions for all data units. See \sQuote{Details}} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE (default) assign NA - causing the function to terminate with an error} \item{legacy}{(only applies to lag and Durbin (mixed) models for \code{pred.type="TS"}) default TRUE: use ad-hoc predictor, if FALSE use DGP-based predictor} \item{legacy.mixed}{(only applies to mixed models if newdata is not NULL) default FALSE: compute lagged variables from both in-sample and out-of-sample units with \eqn{[W X]_O}{[WX]o} and \eqn{[W X]_S}{[WX]s} where \code{X=cbind(Xs, Xo)}, if TRUE compute lagged variables independantly between in-sample and out-of-sample units with \eqn{W_{OO} X_O}{Woo Xo} and \eqn{W_{SS} X_S}{Wss Xs} } \item{power}{(only applies to lag and Durbin (mixed) models for \dQuote{TS}, \dQuote{KP1}, \dQuote{KP2}, \dQuote{KP3}, \dQuote{TC}, \dQuote{TC1}, \dQuote{BP}, \dQuote{BP1}, \dQuote{BPN}, \dQuote{BPN1}, \dQuote{BPW} and \dQuote{BPW1} types) use \code{powerWeights}, if default NULL, set FALSE if \code{object$method} is \dQuote{eigen}, otherwise TRUE} \item{order}{power series maximum limit if \code{power} is TRUE} \item{tol}{tolerance for convergence of power series if \code{power} is TRUE} \item{spChk}{should the row names of data frames be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use \code{get.spChkOption()}} \item{x}{the object to be printed} % \item{pred.se}{logical, default FALSE, not available for error models} % \item{lagImpact}{object created by \code{impacts} with R sample draws from the fitted model} \item{...}{further arguments passed through} } \details{ The function supports three types of prediction. In-sample prediction is the computation of predictors on the data used to fit the model (\code{newdata=NULL}). Prevision, also called forecast, is the computation of some predictors (\dQuote{trend}, in-sample \dQuote{TC} and out-of-sample \dQuote{TS}) on the same spatial units than the ones used to fit the model, but with different observations of the variables in the model (row names of \code{newdata} should have the same row names than the data frame used to fit the model). And out-of-sample prediction is the computation of predictors on other spatial units than the ones used to fit the model (\code{newdata} has different row names). For extensive definitions, see Goulard et al. (2017). % add that warning if out-of-sample with newdata containing one in-sample spatial unit \code{pred.type} of predictors are available according to the model of \code{object} an to the type of prediction. In the two following tables, \dQuote{yes} means that the predictor can be used with the model, \dQuote{no} means that \code{predict.sarlm()} will stop with an error, and \dQuote{yes*} means that the predictor is not designed for the specified model, but it can be used with \code{predict.sarlm()}. In the last case, be careful with the computation of a inappropriate predictor. \emph{In-sample predictors by models} \tabular{lccc}{ pred.type \tab sem (mixed) \tab lag (mixed) \tab sac (mixed) \cr \tab \tab \tab \cr \dQuote{trend} \tab yes \tab yes \tab yes \cr \dQuote{TS} \tab yes \tab yes \tab no \cr \dQuote{TC} \tab no \tab yes \tab yes* \cr \dQuote{BP} \tab no \tab yes \tab yes* \cr } Note that only \dQuote{trend} and \dQuote{TC} are available for prevision. \emph{Out-of-sample predictors by models} \tabular{lccc}{ pred.type \tab sem (mixed) \tab lag (mixed) \tab sac (mixed) \cr \tab \tab \tab \cr \dQuote{trend} \tab yes \tab yes \tab yes \cr \dQuote{TS} \tab yes \tab yes \tab no \cr \dQuote{TS1} or \dQuote{KP4} \tab no \tab yes \tab yes \cr \dQuote{TC} \tab no \tab yes \tab yes* \cr \dQuote{TC1} or \dQuote{KP1} \tab yes \tab yes \tab yes \cr \dQuote{BP} \tab no \tab yes \tab yes* \cr \dQuote{BP1} \tab no \tab yes \tab yes* \cr \dQuote{BPW} \tab no \tab yes \tab yes* \cr \dQuote{BPW1} \tab no \tab yes \tab yes* \cr \dQuote{BN} \tab no \tab yes \tab yes* \cr \dQuote{BPN1} \tab no \tab yes \tab yes* \cr \dQuote{KP2} \tab yes \tab yes \tab yes \cr \dQuote{KP3} \tab yes \tab yes \tab yes \cr \dQuote{KP5} \tab yes \tab no \tab yes* \cr } Values for \code{pred.type=} include \dQuote{TS1}, \dQuote{TC}, \dQuote{TC1}, \dQuote{BP}, \dQuote{BP1}, \dQuote{BPW}, \dQuote{BPW1}, \dQuote{BPN}, \dQuote{BPN1}, following the notation in Goulard et al. (2017), and for \code{pred.type=} \dQuote{KP1}, \dQuote{KP2}, \dQuote{KP3}, \dQuote{KP4}, \dQuote{KP5}, following the notation in Kelejian et al. (2007). \code{pred.type="TS"} is described bellow and in Bivand (2002). In the following, the trend is the non-spatial smooth, the signal is the spatial smooth, and the noise is the residual. The fit returned by \code{pred.type="TS"} is the sum of the trend and the signal. When \code{pred.type="TS"}, the function approaches prediction first by dividing invocations between those with or without newdata. When no newdata is present, the response variable may be reconstructed as the sum of the trend, the signal, and the noise (residuals). Since the values of the response variable are known, their spatial lags are used to calculate signal components (Cressie 1993, p. 564). For the error model, trend = \eqn{X \beta}{X beta}, and signal = \eqn{\lambda W y - \lambda W X \beta}{lambda W y - lambda W X beta}. For the lag and mixed models, trend = \eqn{X \beta}{X beta}, and signal = \eqn{\rho W y}{rho W y}. This approach differs from the design choices made in other software, for example GeoDa, which does not use observations of the response variable, and corresponds to the newdata situation described below. When however newdata is used for prediction, no observations of the response variable being predicted are available. Consequently, while the trend components are the same, the signal cannot take full account of the spatial smooth. In the error model and Durbin error model, the signal is set to zero, since the spatial smooth is expressed in terms of the error: \eqn{(I - \lambda W)^{-1} \varepsilon}{inv(I - lambda W) e}. In the lag model, the signal can be expressed in the following way (for legacy=TRUE): \deqn{(I - \rho W) y = X \beta + \varepsilon}{(I - rho W) y = X beta + e} \deqn{y = (I - \rho W)^{-1} X \beta + (I - \rho W)^{-1} \varepsilon}{y = inv(I - rho W) X beta + inv(I - rho W) e} giving a feasible signal component of: \deqn{\rho W y = \rho W (I - \rho W)^{-1} X \beta}{rho W y = rho W inv(I - rho W) X beta} For legacy=FALSE, the trend is computed first as: \deqn{X \beta}{X beta} next the prediction using the DGP: \deqn{(I - \rho W)^{-1} X \beta}{inv(I - rho W) X beta} and the signal is found as the difference between prediction and trend. The numerical results for the legacy and DGP methods are identical. %TODO: words missing? setting the error term to zero. This also means that predictions of the signal component for lag and mixed models require the inversion of an n-by-n matrix. Because the outcomes of the spatial smooth on the error term are unobservable, this means that the signal values for newdata are incomplete. In the mixed model, the spatially lagged RHS variables influence both the trend and the signal, so that the root mean square prediction error in the examples below for this case with newdata is smallest, although the model was not the best fit. If \code{newdata} has more than one row, leave-one-out predictors (\code{pred.type=} include \dQuote{TS1}, \dQuote{TC1}, \dQuote{BP1}, \dQuote{BPW1}, \dQuote{BPN1}, \dQuote{KP1}, \dQuote{KP2}, \dQuote{KP3}, \dQuote{KP4}, \dQuote{KP5}) are computed separatly on each out-of-sample unit. \code{listw} should be provided except if \code{newdata=NULL} and \code{pred.type=} include \dQuote{TS}, \dQuote{trend}, or if \code{newdata} is not \code{NULL}, \code{pred.type="trend"} and \code{object} is not a mixed model. % TODO: describe listw \code{all.data} is useful when some out-of-sample predictors return different predictions for in-sample units, than the same predictor type computed only on in-sample data. } \value{ \code{predict.sarlm()} returns a vector of predictions with three attribute vectors of trend, signal (only for \code{pred.type="TS"}) and region.id values and two other attributes of pred.type and call with class \code{sarlm.pred}. \code{print.sarlm.pred()} is a print function for this class, printing and returning a data frame with columns: "fit", "trend" and "signal" (when available) and with region.id as row names. } \references{Haining, R. 1990 \emph{Spatial data analysis in the social and environmental sciences}, Cambridge: Cambridge University Press, p. 258; Cressie, N. A. C. 1993 \emph{Statistics for spatial data}, Wiley, New York; Michel Goulard, Thibault Laurent & Christine Thomas-Agnan, 2017 \emph{About predictions in spatial autoregressive models: optimal and almost optimal strategies}, Spatial Economic Analysis Volume 12, Issue 2--3, 304--325, ; Kelejian, H. H. and Prucha, I. R. 2007 \emph{The relative efficiencies of various predictors in spatial econometric models containing spatial lags}, Regional Science and Urban Economics, Volume 37, Issue 3, 363--374; Bivand, R. 2002 \emph{Spatial econometrics functions in R: Classes and methods}, Journal of Geographical Systems, Volume 4, No. 4, 405--421} \author{Roger Bivand \email{Roger.Bivand@nhh.no} and Martin Gubri} \seealso{\code{\link{errorsarlm}}, \code{\link{lagsarlm}}, \code{\link{sacsarlm}}} \examples{ data(oldcol) lw <- nb2listw(COL.nb) COL.lag.eig <- lagsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, lw) COL.mix.eig <- lagsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, lw, type="mixed") print(p1 <- predict(COL.mix.eig)) print(p2 <- predict(COL.mix.eig, newdata=COL.OLD, listw=lw, pred.type = "TS", legacy.mixed = TRUE)) AIC(COL.mix.eig) sqrt(deviance(COL.mix.eig)/length(COL.nb)) sqrt(sum((COL.OLD$CRIME - as.vector(p1))^2)/length(COL.nb)) sqrt(sum((COL.OLD$CRIME - as.vector(p2))^2)/length(COL.nb)) COL.err.eig <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, lw) AIC(COL.err.eig) sqrt(deviance(COL.err.eig)/length(COL.nb)) sqrt(sum((COL.OLD$CRIME - as.vector(predict(COL.err.eig)))^2)/length(COL.nb)) sqrt(sum((COL.OLD$CRIME - as.vector(predict(COL.err.eig, newdata=COL.OLD, listw=lw, pred.type = "TS")))^2)/length(COL.nb)) COL.SDerr.eig <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, lw, etype="emixed") AIC(COL.SDerr.eig) sqrt(deviance(COL.SDerr.eig)/length(COL.nb)) sqrt(sum((COL.OLD$CRIME - as.vector(predict(COL.SDerr.eig)))^2)/length(COL.nb)) sqrt(sum((COL.OLD$CRIME - as.vector(predict(COL.SDerr.eig, newdata=COL.OLD, listw=lw, pred.type = "TS")))^2)/length(COL.nb)) AIC(COL.lag.eig) sqrt(deviance(COL.lag.eig)/length(COL.nb)) sqrt(sum((COL.OLD$CRIME - as.vector(predict(COL.lag.eig)))^2)/length(COL.nb)) sqrt(sum((COL.OLD$CRIME - as.vector(predict(COL.lag.eig, newdata=COL.OLD, listw=lw, pred.type = "TS")))^2)/length(COL.nb)) p3 <- predict(COL.mix.eig, newdata=COL.OLD, listw=lw, pred.type = "TS", legacy=FALSE, legacy.mixed = TRUE) all.equal(p2, p3, check.attributes=FALSE) p4 <- predict(COL.mix.eig, newdata=COL.OLD, listw=lw, pred.type = "TS", legacy=FALSE, power=TRUE, legacy.mixed = TRUE) all.equal(p2, p4, check.attributes=FALSE) p5 <- predict(COL.mix.eig, newdata=COL.OLD, listw=lw, pred.type = "TS", legacy=TRUE, power=TRUE, legacy.mixed = TRUE) all.equal(p2, p5, check.attributes=FALSE) COL.SLX <- lmSLX(CRIME ~ INC + HOVAL, data=COL.OLD, listw=lw) pslx0 <- predict(COL.SLX) pslx1 <- predict(COL.SLX, newdata=COL.OLD, listw=lw) all.equal(pslx0, pslx1) COL.OLD1 <- COL.OLD COL.OLD1$INC <- COL.OLD1$INC + 1 pslx2 <- predict(COL.SLX, newdata=COL.OLD1, listw=lw) sum(coef(COL.SLX)[c(2,4)]) mean(pslx2-pslx1) } \keyword{spatial} spdep/man/autocov_dist.Rd0000644000176200001440000000713012461707002015132 0ustar liggesusers\name{autocov_dist} \alias{autocov_dist} %- Also NEED an '\alias' for EACH other topic documented here. \title{Distance-weighted autocovariate} \description{ Calculates the autocovariate to be used in autonormal, autopoisson or autologistic regression. Three distance-weighting schemes are available. } \usage{ autocov_dist(z, xy, nbs = 1, type = "inverse", zero.policy = NULL, style = "B", longlat=NULL) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{z}{the response variable} \item{xy}{a matrix of coordinates or a SpatialPoints object} \item{nbs}{neighbourhood radius; default is 1} \item{type}{the weighting scheme: "one" gives equal weight to all data points in the neighbourhood; "inverse" (the default) weights by inverse distance; "inverse.squared" weights by the square of "inverse"} \item{zero.policy}{default NULL, use global option value; if FALSE stop with error for any empty neighbour sets, if TRUE permit the weights list to be formed with zero-length weights vectors} \item{style}{default \dQuote{B} (changed from \dQuote{W} 2015-01-27); style can take values \dQuote{W}, \dQuote{B}, \dQuote{C}, \dQuote{U}, and \dQuote{S}} \item{longlat}{TRUE if point coordinates are longitude-latitude decimal, in which case distances are measured in kilometers; if xy is a SpatialPoints object, the value is taken from the object itself} } \value{ A numeric vector of autocovariate values } \note{The validity of this approach strongly hinges on the correct choice of the neighbourhood scheme! Using \option{style="B"} ensures symmetry of the neighbourhood matrix (i.e. w_{nm} = w_{mn}). Please see Bardos et al. (2015) for details.} \references{Augustin N.H., Mugglestone M.A. and Buckland S.T. (1996) An autologistic model for the spatial distribution of wildlife. \emph{Journal of Applied Ecology}, 33, 339-347; Gumpertz M.L., Graham J.M. and Ristaino J.B. (1997) Autologistic model of spatial pattern of Phytophthora epidemic in bell pepper: effects of soil variables on disease presence. \emph{Journal of Agricultural, Biological and Environmental Statistics}, 2, 131-156; Bardos, D.C., Guillera-Arroita, G. and Wintle, B.A. (2015) Valid auto-models for spatially autocorrelated occupancy and abundance data. arXiv, 1501.06529.} \author{Carsten F. Dormann and Roger Bivand} \seealso{\code{\link{nb2listw}}} \examples{ example(columbus) xy <- cbind(columbus$X, columbus$Y) ac1a <- autocov_dist(columbus$CRIME, xy, nbs=10, style="B", type="one") acinva <- autocov_dist(columbus$CRIME, xy, nbs=10, style="B", type="inverse") acinv2a <- autocov_dist(columbus$CRIME, xy, nbs=10, style="B", type="inverse.squared") plot(ac1a ~ columbus$CRIME, pch=16, asp=1) points(acinva ~ columbus$CRIME, pch=16, col="red") points(acinv2a ~ columbus$CRIME, pch=16, col="blue") abline(0,1) nb <- dnearneigh(xy, 0, 10) lw <- nb2listw(nb, style="B") ac1b <- lag(lw, columbus$CRIME) all.equal(ac1b, ac1a) nbd <- nbdists(nb, xy) gl <- lapply(nbd, function(x) 1/x) lw <- nb2listw(nb, glist=gl) acinvb <- lag(lw, columbus$CRIME) all.equal(acinvb, acinva) gl2 <- lapply(nbd, function(x) 1/(x^2)) lw <- nb2listw(nb, glist=gl2) acinv2b <- lag(lw, columbus$CRIME) all.equal(acinv2b, acinv2a) glm(CRIME ~ HOVAL + ac1b, data=columbus, family="gaussian") spautolm(columbus$CRIME ~ HOVAL, data=columbus, listw=nb2listw(nb, style="W")) xy <- SpatialPoints(xy) acinva <- autocov_dist(columbus$CRIME, xy, nbs=10, style="W", type="inverse") nb <- dnearneigh(xy, 0, 10) nbd <- nbdists(nb, xy) gl <- lapply(nbd, function(x) 1/x) lw <- nb2listw(nb, glist=gl) acinvb <- lag(lw, columbus$CRIME) all.equal(acinvb, acinva) } \keyword{spatial} spdep/man/as_dgRMatrix_listw.Rd0000644000176200001440000000277212444261172016250 0ustar liggesusers\name{as_dgRMatrix_listw} \alias{as_dgRMatrix_listw} \alias{as_dsTMatrix_listw} \alias{as_dsCMatrix_I} \alias{as_dsCMatrix_IrW} \alias{Jacobian_W} \alias{coerce,listw,CsparseMatrix-method} \alias{coerce,listw,RsparseMatrix-method} \alias{coerce,listw,symmetricMatrix-method} %- Also NEED an '\alias' for EACH other topic documented here. \title{Interface between Matrix class objects and weights lists} \description{ Interface between Matrix class objects and weights lists } \usage{ as_dgRMatrix_listw(listw) as_dsTMatrix_listw(listw) as_dsCMatrix_I(n) as_dsCMatrix_IrW(W, rho) Jacobian_W(W, rho) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{W}{a \code{dsTMatrix} object created using \code{as_dsTMatrix_listw} from a symmetric \code{listw} object} \item{rho}{spatial regression coefficient} \item{n}{length of diagonal for identity matrix} } \value{ Matrix package class objects } \author{Roger Bivand} \examples{ example(NY_data) W_C <- as(listw_NY, "CsparseMatrix") W_R <- as(listw_NY, "RsparseMatrix") W_S <- as(listw_NY, "symmetricMatrix") n <- nrow(W_S) I <- Diagonal(n) rho <- 0.1 c(determinant(I - rho * W_S, logarithm=TRUE)$modulus) sum(log(1 - rho * eigenw(listw_NY))) nW <- - W_S nChol <- Cholesky(nW, Imult=8) n * log(rho) + (2 * c(determinant(update(nChol, nW, 1/rho))$modulus)) } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{spatial} spdep/man/hopkins.Rd0000644000176200001440000000154211716033161014103 0ustar liggesusers% Copyright 2004 by Roger S. Bivand \name{hopkins} \alias{hopkins} \docType{data} \title{Hopkins burnt savanna herb remains} \description{ A 20m square is divided into 40 by 40 0.5m quadrats. Observations are in tens of grams of herb remains, 0 being from 0g to less than 10g, and so on. Analysis was mostly conducted using the interior 32 by 32 grid. } \usage{data(hopkins)} \format{ The format is: num [1:40, 1:40] 0 0 0 0 0 0 0 0 0 1 ... } \source{Upton, G., Fingleton, B. 1985 Spatial data analysis by example: point pattern and quatitative data, Wiley, pp. 38--39.} \references{ Hopkins, B., 1965 Observations on savanna burning in the Olokemeji Forest Reserve, Nigeria. Journal of Applied Ecology, 2, 367--381. } \examples{ data(hopkins) image(1:32, 1:32, hopkins[5:36,36:5], breaks=c(-0.5, 3.5, 20), col=c("white", "black")) box() } \keyword{datasets} spdep/man/house.Rd0000644000176200001440000000665312522454646013576 0ustar liggesusers\name{house} \alias{house} \alias{LO_nb} \alias{trMat} \docType{data} \title{Lucas county OH housing} \description{ Data on 25,357 single family homes sold in Lucas County, Ohio, 1993-1998 from the county auditor, together with an \code{nb} neighbour object constructed as a sphere of influence graph from projected coordinates. } \usage{data(house)} \format{ The format is: Formal class 'SpatialPointsDataFrame' [package "sp"] with 5 slots. The data slot is a data frame with 25357 observations on the following 24 variables. \describe{ \item{\code{price}}{a numeric vector} \item{\code{yrbuilt}}{a numeric vector} \item{\code{stories}}{a factor with levels \code{one} \code{bilevel} \code{multilvl} \code{one+half} \code{two} \code{two+half} \code{three}} \item{\code{TLA}}{a numeric vector} \item{\code{wall}}{a factor with levels \code{stucdrvt} \code{ccbtile} \code{metlvnyl} \code{brick} \code{stone} \code{wood} \code{partbrk}} \item{\code{beds}}{a numeric vector} \item{\code{baths}}{a numeric vector} \item{\code{halfbaths}}{a numeric vector} \item{\code{frontage}}{a numeric vector} \item{\code{depth}}{a numeric vector} \item{\code{garage}}{a factor with levels \code{no garage} \code{basement} \code{attached} \code{detached} \code{carport}} \item{\code{garagesqft}}{a numeric vector} \item{\code{rooms}}{a numeric vector} \item{\code{lotsize}}{a numeric vector} \item{\code{sdate}}{a numeric vector} \item{\code{avalue}}{a numeric vector} \item{\code{s1993}}{a numeric vector} \item{\code{s1994}}{a numeric vector} \item{\code{s1995}}{a numeric vector} \item{\code{s1996}}{a numeric vector} \item{\code{s1997}}{a numeric vector} \item{\code{s1998}}{a numeric vector} \item{\code{syear}}{a factor with levels \code{1993} \code{1994} \code{1995} \code{1996} \code{1997} \code{1998}} \item{\code{age}}{a numeric vector} } Its projection is \code{CRS(+init=epsg:2834)}, the Ohio North State Plane. } \source{ Dataset included in the Spatial Econometrics toolbox for Matlab, \url{http://www.spatial-econometrics.com/html/jplv7.zip}. } \examples{ \dontrun{ # house <- read.table("house.dat", header=FALSE) # names(house) <- c("price", "yrbuilt", "stories", "TLA", "wall", "beds", # "baths", "halfbaths", "frontage", "depth", "garage", "garagesqft", "rooms", # "lotsize", "sdate", "avalue", "long", "lat", "s1993", "s1994", "s1995", # "s1996", "s1997", "s1998") # house$syear <- 1992 + house$s1993 + 2*house$s1994 + 3*house$s1995 + # 4*house$s1996 + 5*house$s1997 + 6*house$s1998 # house$syear <- factor(house$syear) # house$age <- (1999 - house$yrbuilt)/100 # house$stories <- factor(house$stories, levels=1:7, labels=c("one", # "bilevel", "multilvl", "one+half", "two", "two+half", "three")) # house$wall <- factor(house$wall, levels=1:7, labels=c("stucdrvt", # "ccbtile", "metlvnyl", "brick", "stone", "wood", "partbrk")) # house$garage <- factor(house$garage, levels=0:4, labels=c("no garage", # "basement", "attached", "detached", "carport")) # library(sp) # coordinates(house) <- c("long", "lat") # proj4string(house) <- CRS("+proj=longlat +ellps=GRS80") # library(rgdal) # house <- spTransform(house, CRS("+init=epsg:2834")) # library(spdep) # LO_nb <- graph2nb(soi.graph(tri2nb(coordinates(house)), coordinates(house))) # W <- as(nb2listw(LO_nb), "CsparseMatrix") # trMat <- trW(W, type="mult") } data(house) ## maybe str(house) ; plot(house) ... } \keyword{datasets} spdep/man/include.self.Rd0000644000176200001440000000136211716033161015003 0ustar liggesusers% Copyright 2001 by Roger S. Bivand \name{include.self} \alias{include.self} \title{Include self in neighbours list} \description{ The function includes the region itself in its own list of neighbours, and sets attribute "self.included" to TRUE. } \usage{ include.self(nb) } \arguments{ \item{nb}{input neighbours list of class \code{nb}} } \value{ The function returns an object of class \code{nb} with a list of integer vectors containing neighbour region number ids; attribute "self.included" is set to TRUE. } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{summary.nb}}} \examples{ example(columbus) coords <- coordinates(columbus) summary(col.gal.nb, coords) summary(include.self(col.gal.nb), coords) } \keyword{spatial} spdep/man/plot.mst.Rd0000644000176200001440000000167211716033161014214 0ustar liggesusers\name{plot.mst} \alias{plot.mst} %- Also NEED an '\alias' for EACH other topic documented here. \title{Plot the Minimum Spanning Tree} \description{ This function plots a MST, the nodes are circles and the edges are segments. } \usage{ \method{plot}{mst}(x, coords, label.areas = NULL, cex.circles = 1, cex.labels = 1, ...) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{x}{Object of \code{mst} class.} \item{coords}{A two column matrix with the coordinates of nodes.} \item{label.areas}{A vector with the labels of nodes} \item{cex.circles}{The length of circles to plot.} \item{cex.labels}{The length of nodes labels ploted.} \item{\dots}{Further arguments passed to plotting funcitons.} } \author{Elias T. Krainski and Renato M. Assuncao} \seealso{See Also as \code{\link{skater}} and \code{\link{mstree}}} \examples{ ### see example in mstree function documentation } \keyword{hplot} \keyword{tree} spdep/man/airdist.Rd0000644000176200001440000000130011716033161014057 0ustar liggesusers% Copyright 2001 by Roger S. Bivand \name{airdist} \alias{airdist} \title{Measure distance from plot} \description{ Measure a distance between two points on a plot using \code{locator}; the function checks \code{par("plt")} and \code{par("usr")} to try to ensure that the aspect ratio y/x is 1, that is that the units of measurement in both x and y are equivalent. } \usage{ airdist(ann=FALSE) } \arguments{ \item{ann}{annotate the plot with line measured and distance} } \value{ a list with members: \item{dist}{distance measured} \item{coords}{coordinates between which distance is measured} } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{locator}}} \keyword{spatial} spdep/man/localmoran.sad.Rd0000644000176200001440000001607212636033641015336 0ustar liggesusers% Copyright 2002-4 by Roger S. Bivand \name{localmoran.sad} \alias{localmoran.sad} \alias{listw2star} \alias{print.summary.localmoransad} \alias{summary.localmoransad} \alias{print.localmoransad} \alias{as.data.frame.localmoransad} %- Also NEED an `\alias' for EACH other topic documented here. \title{Saddlepoint approximation of local Moran's Ii tests} \description{ The function implements Tiefelsdorf's application of the Saddlepoint approximation to local Moran's Ii's reference distribution. If the model object is of class "lm", global independence is assumed; if of class "sarlm", global dependence is assumed to be represented by the spatial parameter of that model. Tests are reported separately for each zone selected, and may be summarised using \code{summary.localmoransad}. Values of local Moran's Ii agree with those from \code{localmoran()}, but in that function, the standard deviate - here the Saddlepoint approximation - is based on the randomisation assumption. } \usage{ localmoran.sad(model, select, nb, glist=NULL, style="W", zero.policy=NULL, alternative="greater", spChk=NULL, resfun=weighted.residuals, save.Vi=FALSE, tol = .Machine$double.eps^0.5, maxiter = 1000, tol.bounds=0.0001, save.M=FALSE, Omega = NULL) %as.data.frame.localmoransad(x, row.names=NULL, optional=FALSE) \method{print}{localmoransad}(x, ...) \method{summary}{localmoransad}(object, ...) \method{print}{summary.localmoransad}(x, ...) listw2star(listw, ireg, style, n, D, a, zero.policy=NULL) } %- maybe also `usage' for other objects documented here. \arguments{ \item{model}{an object of class \code{lm} returned by \code{lm} (assuming no global spatial autocorrelation), or an object of class \code{sarlm} returned by a spatial simultaneous autoregressive model fit (assuming global spatial autocorrelation represented by the model spatial coefficient); weights may be specified in the \code{lm} fit, but offsets should not be used} \item{select}{an integer vector of the id. numbers of zones to be tested; if missing, all zones} \item{nb}{a list of neighbours of class \code{nb}} \item{glist}{a list of general weights corresponding to neighbours} \item{style}{can take values W, B, C, and S} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{alternative}{a character string specifying the alternative hypothesis, must be one of greater (default), less or two.sided.} \item{spChk}{should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use \code{get.spChkOption()}} \item{resfun}{default: weighted.residuals; the function to be used to extract residuals from the \code{lm} object, may be \code{residuals}, \code{weighted.residuals}, \code{rstandard}, or \code{rstudent}} \item{save.Vi}{if TRUE, return the star-shaped weights lists for each zone tested} \item{tol}{the desired accuracy (convergence tolerance) for \code{uniroot}} \item{maxiter}{the maximum number of iterations for \code{uniroot}} \item{tol.bounds}{offset from bounds for \code{uniroot}} \item{save.M}{if TRUE, save a list of left and right M products in a list for the conditional tests, or a list of the regression model matrix components} \item{Omega}{A SAR process matrix may be passed in to test an alternative hypothesis, for example \code{Omega <- invIrW(listw, rho=0.1); Omega <- tcrossprod(Omega)}, \code{chol()} is taken internally} \item{x}{object to be printed} % \item{row.names}{ignored argument to \code{as.data.frame.localmoransad}; %row names assigned from localmoransad object} % \item{optional}{ignored argument to \code{as.data.frame.localmoransad}; %row names assigned from localmoransad object} \item{object}{object to be summarised} \item{...}{arguments to be passed through} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{ireg}{a zone number} \item{n}{internal value depending on listw and style} \item{D}{internal value depending on listw and style} \item{a}{internal value depending on listw and style} } \details{ The function implements the analytical eigenvalue calculation together with trace shortcuts given or suggested in Tiefelsdorf (2002), partly following remarks by J. Keith Ord, and uses the Saddlepoint analytical solution from Tiefelsdorf's SPSS code. If a histogram of the probability values of the saddlepoint estimate for the assumption of global independence is not approximately flat, the assumption is probably unjustified, and re-estimation with global dependence is recommended. No n by n matrices are needed at any point for the test assuming no global dependence, the star-shaped weights matrices being handled as listw lists. When the test is made on residuals from a spatial regression, taking a global process into account. n by n matrices are necessary, and memory constraints may be reached for large lattices. } \value{ A list with class \code{localmoransad} containing "select" lists, each with class \code{moransad} with the following components: \item{statistic}{the value of the saddlepoint approximation of the standard deviate of local Moran's Ii.} \item{p.value}{the p-value of the test.} \item{estimate}{the value of the observed local Moran's Ii.} \item{alternative}{a character string describing the alternative hypothesis.} \item{method}{a character string giving the method used.} \item{data.name}{a character string giving the name(s) of the data.} \item{internal1}{Saddlepoint omega, r and u} \item{df}{degrees of freedom} \item{tau}{maximum and minimum analytical eigenvalues} \item{i}{zone tested} } \references{Tiefelsdorf, M. 2002 The Saddlepoint approximation of Moran's I and local Moran's Ii reference distributions and their numerical evaluation. Geographical Analysis, 34, pp. 187--206.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{localmoran}}, \code{\link{lm.morantest}}, \code{\link{lm.morantest.sad}}, \code{\link{errorsarlm}}} \examples{ require(maptools) eire <- readShapePoly(system.file("etc/shapes/eire.shp", package="spdep")[1], ID="names", proj4string=CRS("+proj=utm +zone=30 +ellps=airy +units=km")) eire.nb <- poly2nb(eire) lw <- nb2listw(eire.nb) #data(eire) e.lm <- lm(OWNCONS ~ ROADACC, data=eire) e.locmor <- summary(localmoran.sad(e.lm, nb=eire.nb)) e.locmor mean(e.locmor[,1]) sum(e.locmor[,1])/Szero(lw) lm.morantest(e.lm, lw) # note equality for mean() only when the sum of weights equals # the number of observations (thanks to Juergen Symanzik) hist(e.locmor[,"Pr. (Sad)"]) e.wlm <- lm(OWNCONS ~ ROADACC, data=eire, weights=RETSALE) e.locmorw1 <- summary(localmoran.sad(e.wlm, nb=eire.nb, resfun=weighted.residuals)) e.locmorw1 e.locmorw2 <- summary(localmoran.sad(e.wlm, nb=eire.nb, resfun=rstudent)) e.locmorw2 e.errorsar <- errorsarlm(OWNCONS ~ ROADACC, data=eire, listw=lw) e.errorsar lm.target <- lm(e.errorsar$tary ~ e.errorsar$tarX - 1) Omega <- tcrossprod(invIrW(lw, rho=e.errorsar$lambda)) e.clocmor <- summary(localmoran.sad(lm.target, nb=eire.nb, Omega=Omega)) e.clocmor hist(e.clocmor[,"Pr. (Sad)"]) } \keyword{spatial} spdep/man/nb2lines.Rd0000644000176200001440000000502412174555400014147 0ustar liggesusers\name{nb2lines} \alias{nb2lines} \alias{listw2lines} \alias{df2sn} %- Also NEED an '\alias' for EACH other topic documented here. \title{Use arc-type shapefiles for import and export of weights} \description{ Use arc-type shapefiles for import and export of weights, storing spatial entity coordinates in the arcs, and the entity indices in the data frame. } \usage{ nb2lines(nb, wts, coords, proj4string=CRS(as.character(NA))) listw2lines(listw, coords, proj4string=CRS(as.character(NA))) df2sn(df, i="i", i_ID="i_ID", j="j", wt="wt") } %- maybe also 'usage' for other objects documented here. \arguments{ \item{nb}{a neighbour object of class \code{nb}} \item{wts}{list of general weights corresponding to neighbours} \item{coords}{matrix of region point coordinates} \item{proj4string}{Object of class CRS; holding a valid proj4 string} \item{listw}{a \code{listw} object of spatial weights} \item{df}{a data frame read from a shapefile, derived from the output of \code{nb2lines}} \item{i}{character name of column in df with from entity index} \item{i_ID}{character name of column in df with from entity region ID} \item{j}{character name of column in df with to entity index} \item{wt}{character name of column in df with weights} } \details{ The maptools package function \code{writeSpatialShape} is used to transport out the list of lines made by \code{nb2lines} or \code{listw2lines}, which is a simple wrapper function. The neighbour and weights objects may be retrieved by converting the specified columns of the data slot of the SpatialLinesDataFrame object into a spatial.neighbour object, which is then converted into a weights list object. } \value{ \code{nb2lines} and \code{listw2lines} return a SpatialLinesDataFrame object; its data slot contains a data frame with the from and to indices of the neighbour links and their weights. \code{df2sn} converts the data retrieved from reading the data from \code{df} back into a \code{spatial.neighbour} object. } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \note{Original idea due to Gidske Leknes Andersen, Department of Biology, University of Bergen, Norway} \seealso{\code{\link{sn2listw}}, \code{\link[maptools]{readShapeLines}}} \examples{ require(maptools) example(columbus) coords <- coordinates(columbus) res <- listw2lines(nb2listw(col.gal.nb), coords) summary(res) fn <- paste(tempdir(), "nbshape", sep="/") writeLinesShape(res, fn=fn) inMap <- readShapeLines(fn) summary(inMap) diffnb(sn2listw(df2sn(as(inMap, "data.frame")))$neighbours, col.gal.nb) } \keyword{spatial} spdep/man/mstree.Rd0000644000176200001440000000433112174555344013741 0ustar liggesusers\name{mstree} \alias{mstree} %- Also NEED an '\alias' for EACH other topic documented here. \title{Find the minimal spanning tree} \description{ The minimal spanning tree is a connected graph with n nodes and n-1 edges. This is a smaller class of possible partitions of a graph by pruning edges with high dissimilarity. If one edge is removed, the graph is partioned in two unconnected subgraphs. This function implements the algorithm due to Prim (1987). } \usage{ mstree(nbw, ini = NULL) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{nbw}{An object of \code{listw} class returned by \code{\link{nb2listw}} function. See this help for details.} \item{ini}{The initial node in the minimal spanning tree.} } \details{ The minimum spanning tree algorithm. Input a connected graph. Begin a empty set of nodes. Add an arbitrary note in this set. While are nodes not in the set, find a minimum cost edge connecting a node in the set and a node out of the set and add this node in the set. The set of edges is a minimum spanning tree. } \value{ A matrix with n-1 rows and tree columns. Each row is two nodes and the cost, i. e. the edge and it cost. } \references{ R. C. Prim (1957) Shortest connection networks and some generalisations. In: Bell System Technical Journal, 36, pp. 1389-1401 } \author{Renato M. Assuncao and Elias T. Krainski} %%\seealso{ ~~objects to See Also as \code{\link{help}}, ~~~ } \examples{ ### loading data require(maptools) bh <- readShapePoly(system.file("etc/shapes/bhicv.shp", package="spdep")[1]) ### data padronized dpad <- data.frame(scale(bh@data[,5:8])) ### neighboorhod list bh.nb <- poly2nb(bh) ### calculing costs lcosts <- nbcosts(bh.nb, dpad) ### making listw nb.w <- nb2listw(bh.nb, lcosts, style="B") ### find a minimum spanning tree system.time(mst.bh <- mstree(nb.w,5)) dim(mst.bh) head(mst.bh) tail(mst.bh) ### the mstree plot par(mar=c(0,0,0,0)) plot(mst.bh, coordinates(bh), col=2, cex.lab=.7, cex.circles=0.035, fg="blue") plot(bh, border=gray(.5), add=TRUE) } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{graphs} \keyword{spatial}% __ONLY ONE__ keyword per line spdep/man/plot.nb.Rd0000644000176200001440000000271011716033161014002 0ustar liggesusers% Copyright 2001-5 by Roger S. Bivand \name{plot.nb} \alias{plot.nb} \alias{plot.listw} \title{Plot a neighbours list} \description{ A function to plot a neighbours list given point coordinates to represent the region in two dimensions; \code{plot.listw} is a wrapper that passes its neighbours component to \code{plot.nb}. } \usage{ \method{plot}{nb}(x, coords, col="black", points=TRUE, add=FALSE, arrows=FALSE, length=0.1, xlim=NULL, ylim=NULL, ...) \method{plot}{listw}(x, coords, col="black", points=TRUE, add=FALSE, arrows=FALSE, length=0.1, xlim=NULL, ylim=NULL, ...) } \arguments{ \item{x}{an object of class \code{nb} or (for \code{plot.listw}) class \code{listw}} \item{coords}{matrix of region point coordinates} \item{col}{plotting colour} \item{points}{(logical) add points to plot} \item{add}{(logical) add to existing plot} \item{arrows}{(logical) draw arrowheads for asymmetric neighbours} \item{length}{length in plot inches of arrow heads drawn for asymmetric neighbours lists} \item{xlim, ylim}{plot window bounds} \item{...}{further graphical parameters as in \code{par(..)}} } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{summary.nb}}} \examples{ example(columbus) coords <- coordinates(columbus) plot(col.gal.nb, coords) title(main="GAL order 1 links with first nearest neighbours in red") col.knn <- knearneigh(coords, k=1) plot(knn2nb(col.knn), coords, add=TRUE, col="red", length=0.08) } \keyword{spatial} spdep/man/skater.Rd0000644000176200001440000001507012446120263013723 0ustar liggesusers\name{skater} \alias{skater} %- Also NEED an '\alias' for EACH other topic documented here. \title{Spatial 'K'luster Analysis by Tree Edge Removal} \description{ This function implements a SKATER procedure for spatial clustering analysis. This procedure essentialy begins with an edges set, a data set and a number of cuts. The output is an object of 'skater' class and is valid for input again. } \usage{ skater(edges, data, ncuts, crit, vec.crit, method = c("euclidean", "maximum", "manhattan", "canberra", "binary", "minkowski", "mahalanobis"), p = 2, cov, inverted = FALSE) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{edges}{A matrix with 2 colums with each row is an edge} \item{data}{A data.frame with data observed over nodes.} \item{ncuts}{The number of cuts} \item{crit}{A scalar ow two dimensional vector with with criteria for groups. Examples: limits of group size or limits of population size. If scalar, is the minimum criteria for groups.} \item{vec.crit}{A vector for evaluating criteria.} \item{method}{Character or function to declare distance method. If \code{method} is character, method must be "mahalanobis" or "euclidean", "maximum", "manhattan", "canberra", "binary" or "minkowisk". If \code{method} is one of "euclidean", "maximum", "manhattan", "canberra", "binary" or "minkowski", see \code{\link{dist}} for details, because this function as used to compute the distance. If \code{method="mahalanobis"}, the mahalanobis distance is computed between neighbour areas. If \code{method} is a \code{function}, this function is used to compute the distance.} \item{p}{The power of the Minkowski distance.} \item{cov}{The covariance matrix used to compute the mahalanobis distance.} \item{inverted}{logical. If 'TRUE', 'cov' is supposed to contain the inverse of the covariance matrix.} } \value{ A object of \code{skater} class with: \item{groups}{A vector with length equal the number of nodes. Each position identifies the group of node} \item{edges.groups}{A list of length equal the number of groups with each element is a set of edges} \item{not.prune}{A vector identifying the groups with are not candidates to partition.} \item{candidates}{A vector identifying the groups with are candidates to partition.} \item{ssto}{The total dissimilarity in each step of edge removal.} } \references{ Assuncao, R.M., Lage J.P., and Reis, E.A. (2002). Analise de conglomerados espaciais via arvore geradora minima. Revista Brasileira de Estatistica, 62, 1-23. Assuncao, R. M, Neves, M. C., Camara, G. and Freitas, C. da C. (2006). Efficient regionalization techniques for socio-economic geographical units using minimum spanning trees. International Journal of Geographical Information Science Vol. 20, No. 7, August 2006, 797-811 } \author{Renato M. Assuncao and Elias T. Krainski} %%\note{} \seealso{See Also as \code{\link{mstree}}} \examples{ ### loading data require(maptools) bh <- readShapePoly(system.file("etc/shapes/bhicv.shp", package="spdep")[1]) ### data standardized dpad <- data.frame(scale(bh@data[,5:8])) ### neighboorhod list bh.nb <- poly2nb(bh) ### calculating costs lcosts <- nbcosts(bh.nb, dpad) ### making listw nb.w <- nb2listw(bh.nb, lcosts, style="B") ### find a minimum spanning tree mst.bh <- mstree(nb.w,5) ### the mstree plot par(mar=c(0,0,0,0)) plot(mst.bh, coordinates(bh), col=2, cex.lab=.7, cex.circles=0.035, fg="blue") plot(bh, border=gray(.5), add=TRUE) ### three groups with no restriction res1 <- skater(mst.bh[,1:2], dpad, 2) ### groups size table(res1$groups) ### the skater plot par(mar=c(0,0,0,0)) plot(res1, coordinates(bh), cex.circles=0.035, cex.lab=.7) ### the skater plot, using other colors plot(res1, coordinates(bh), cex.circles=0.035, cex.lab=.7, groups.colors=rainbow(length(res1$ed))) ### the Spatial Polygons plot plot(bh, col=heat.colors(length(res1$edg))[res1$groups]) ### EXPERT OPTIONS ### more one partition res1b <- skater(res1, dpad, 1) ### length groups frequency table(res1$groups) table(res1b$groups) ### thee groups with minimum population res2 <- skater(mst.bh[,1:2], dpad, 2, 200000, bh@data$Pop) ### thee groups with minimun number of areas res3 <- skater(mst.bh[,1:2], dpad, 2, 3, rep(1,nrow(bh@data))) ### thee groups with minimun and maximun number of areas res4 <- skater(mst.bh[,1:2], dpad, 2, c(20,50), rep(1,nrow(bh@data))) table(res2$groups) table(res3$groups) table(res4$groups) ### if I want to get groups with 20 to 40 elements res5 <- skater(mst.bh[,1:2], dpad, 2, c(20,40), rep(1,nrow(bh@data))) ## DON'T MAKE DIVISIONS table(res5$groups) ### In this MST don't have groups with this restrictions ### In this case, first I do one division ### with the minimun criteria res5a <- skater(mst.bh[,1:2], dpad, 1, 20, rep(1,nrow(bh@data))) table(res5a$groups) ### and do more one division with the full criteria res5b <- skater(res5a, dpad, 1, c(20, 40), rep(1,nrow(bh@data))) table(res5b$groups) ### and do more one division with the full criteria res5c <- skater(res5b, dpad, 1, c(20, 40), rep(1,nrow(bh@data))) table(res5c$groups) ### It don't have another divison with this criteria res5d <- skater(res5c, dpad, 1, c(20, 40), rep(1,nrow(bh@data))) table(res5d$groups) \donttest{ data(boston) bh.nb <- boston.soi dpad <- data.frame(scale(boston.c[,c(7:10)])) ### calculating costs system.time(lcosts <- nbcosts(bh.nb, dpad)) ### making listw nb.w <- nb2listw(bh.nb, lcosts, style="B") ### find a minimum spanning tree mst.bh <- mstree(nb.w,5) ### three groups with no restriction system.time(res1 <- skater(mst.bh[,1:2], dpad, 2)) library(parallel) nc <- detectCores(logical=FALSE) # set nc to 1L here if (nc > 1L) nc <- 1L coresOpt <- get.coresOption() invisible(set.coresOption(nc)) if(!get.mcOption()) { # no-op, "snow" parallel calculation not available cl <- makeCluster(get.coresOption()) set.ClusterOption(cl) } ### calculating costs system.time(plcosts <- nbcosts(bh.nb, dpad)) all.equal(lcosts, plcosts, check.attributes=FALSE) ### making listw pnb.w <- nb2listw(bh.nb, plcosts, style="B") ### find a minimum spanning tree pmst.bh <- mstree(pnb.w,5) ### three groups with no restriction system.time(pres1 <- skater(pmst.bh[,1:2], dpad, 2)) if(!get.mcOption()) { set.ClusterOption(NULL) stopCluster(cl) } all.equal(res1, pres1, check.attributes=FALSE) invisible(set.coresOption(coresOpt)) } } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{cluster} \keyword{tree}% __ONLY ONE__ keyword per line spdep/man/knearneigh.Rd0000644000176200001440000000467512522454646014570 0ustar liggesusers% Copyright 2001-14 by Roger S. Bivand \name{knearneigh} \alias{knearneigh} \title{K nearest neighbours for spatial weights} \description{ The function returns a matrix with the indices of points belonging to the set of the k nearest neighbours of each other. If longlat = TRUE, Great Circle distances are used. A warning will be given if identical points are found. } \usage{ knearneigh(x, k=1, longlat = NULL, RANN=TRUE) } \arguments{ \item{x}{matrix of point coordinates or a SpatialPoints object} \item{k}{number of nearest neighbours to be returned} \item{longlat}{TRUE if point coordinates are longitude-latitude decimal degrees, in which case distances are measured in kilometers; if x is a SpatialPoints object, the value is taken from the object itself} \item{RANN}{logical value, if the RANN package is available, use for finding k nearest neighbours when longlat is FALSE, and when there are no identical points} } \details{ The underlying C code is based on the \code{knn} function in the \pkg{class} package. } \value{ A list of class \code{knn} \item{nn}{integer matrix of region number ids} \item{np}{number of input points} \item{k}{input required k} \item{dimension}{number of columns of x} \item{x}{input coordinates} } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link[class]{knn}}, \code{\link{dnearneigh}}, \code{\link{knn2nb}}, \code{\link[RANN]{nn2}}} \examples{ example(columbus) coords <- coordinates(columbus) col.knn <- knearneigh(coords, k=4) plot(columbus, border="grey") plot(knn2nb(col.knn), coords, add=TRUE) title(main="K nearest neighbours, k = 4") data(state) us48.fipsno <- read.geoda(system.file("etc/weights/us48.txt", package="spdep")[1]) if (as.numeric(paste(version$major, version$minor, sep="")) < 19) { m50.48 <- match(us48.fipsno$"State.name", state.name) } else { m50.48 <- match(us48.fipsno$"State_name", state.name) } xy <- as.matrix(as.data.frame(state.center))[m50.48,] llk4.nb <- knn2nb(knearneigh(xy, k=4, longlat=FALSE)) gck4.nb <- knn2nb(knearneigh(xy, k=4, longlat=TRUE)) plot(llk4.nb, xy) plot(diffnb(llk4.nb, gck4.nb), xy, add=TRUE, col="red", lty=2) title(main="Differences between Euclidean and Great Circle k=4 neighbours") summary(llk4.nb, xy, longlat=TRUE) summary(gck4.nb, xy, longlat=TRUE) xy1 <- SpatialPoints((as.data.frame(state.center))[m50.48,], proj4string=CRS("+proj=longlat +ellps=GRS80")) gck4a.nb <- knn2nb(knearneigh(xy1, k=4)) summary(gck4a.nb, xy1) } \keyword{spatial} spdep/man/joincount.mc.Rd0000644000176200001440000000433011716033161015034 0ustar liggesusers% Copyright 2001 by Roger S. Bivand \name{joincount.mc} \alias{joincount.mc} \title{Permutation test for same colour join count statistics} \description{ A permutation test for same colour join count statistics calculated by using nsim random permutations of fx for the given spatial weighting scheme, to establish the ranks of the observed statistics (for each colour) in relation to the nsim simulated values. } \usage{ joincount.mc(fx, listw, nsim, zero.policy=FALSE, alternative="greater", spChk=NULL) } \arguments{ \item{fx}{a factor of the same length as the neighbours and weights objects in listw} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{nsim}{number of permutations} \item{zero.policy}{if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{alternative}{a character string specifying the alternative hypothesis, must be one of "greater" (default), or "less".} \item{spChk}{should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use \code{get.spChkOption()}} } \value{ A list with class \code{jclist} of lists with class \code{htest} and \code{mc.sim} for each of the k colours containing the following components: \item{statistic}{the value of the observed statistic.} \item{parameter}{the rank of the observed statistic.} \item{method}{a character string giving the method used.} \item{data.name}{a character string giving the name(s) of the data.} \item{p.value}{the pseudo p-value of the test.} \item{alternative}{a character string describing the alternative hypothesis.} \item{estimate}{the mean and variance of the simulated distribution.} \item{res}{nsim simulated values of statistic, the final element is the observed statistic} } \references{Cliff, A. D., Ord, J. K. 1981 Spatial processes, Pion, p. 63-5.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{joincount.test}}} \examples{ data(oldcol) HICRIME <- cut(COL.OLD$CRIME, breaks=c(0,35,80), labels=c("low","high")) names(HICRIME) <- rownames(COL.OLD) joincount.mc(HICRIME, nb2listw(COL.nb, style="B"), nsim=99) joincount.test(HICRIME, nb2listw(COL.nb, style="B")) } \keyword{spatial} spdep/man/prunemst.Rd0000644000176200001440000000235411716033161014307 0ustar liggesusers\name{prunemst} \alias{prunemst} %- Also NEED an '\alias' for EACH other topic documented here. \title{Prune a Minimun Spanning Tree} \description{ This function deletes a first edge and makes two subsets of edges. Each subset is a Minimun Spanning Treee. } \usage{ prunemst(edges, only.nodes = TRUE) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{edges}{A matrix with two colums with each row is one edge} \item{only.nodes}{If \code{only.nodes=FALSE}, return a edges and nodes of each MST resulted. If \code{only.nodes=TRUE}, return a two sets of nodes. Defalt is TRUE} } %%\details{} \value{ A list of length two. If \code{only.nodes=TRUE} each element is a vector of nodes. If \code{only.nodes=FALSE} each element is a list with nodes and edges. } %%\references{ ~put references to the literature/web site here ~ } \author{Elias T. Krainski and Renato M. Assuncao} %%\note{ ~~further notes~~ } \seealso{ See Also as \code{\link{mstree}} } \examples{ e <- matrix(c(2,3, 1,2, 3,4, 4,5), ncol=2, byrow=TRUE) e prunemst(e) prunemst(e, only.nodes=FALSE) } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{tree} \keyword{cluster}% __ONLY ONE__ keyword per line spdep/man/knn2nb.Rd0000644000176200001440000000221511716033161013616 0ustar liggesusers% Copyright 2001 by Roger S. Bivand \name{knn2nb} \alias{knn2nb} \title{Neighbours list from knn object} \description{ The function converts a \code{knn} object returned by \code{knearneigh} into a neighbours list of class \code{nb} with a list of integer vectors containing neighbour region number ids. } \usage{ knn2nb(knn, row.names = NULL, sym = FALSE) } \arguments{ \item{knn}{A knn object returned by \code{knearneigh}} \item{row.names}{character vector of region ids to be added to the neighbours list as attribute \code{region.id}, default \code{seq(1, nrow(x))}} \item{sym}{force the output neighbours list to symmetry} } \value{ The function returns an object of class \code{nb} with a list of integer vectors containing neighbour region number ids. See \code{\link{card}} for details of \dQuote{nb} objects. } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{knearneigh}}, \code{\link{card}}} \examples{ example(columbus) coords <- coordinates(columbus) col.knn <- knearneigh(coords, k=4) plot(columbus, border="grey") plot(knn2nb(col.knn), coords, add=TRUE) title(main="K nearest neighbours, k = 4") } \keyword{spatial} spdep/man/aple.plot.Rd0000644000176200001440000000553012061040661014324 0ustar liggesusers\name{aple.plot} \alias{aple.plot} \alias{localAple} %- Also NEED an '\alias' for EACH other topic documented here. \title{Approximate profile-likelihood estimator (APLE) scatterplot} \description{ A scatterplot decomposition of the approximate profile-likelihood estimator, and a local APLE based on the list of vectors returned by the scatterplot function. } \usage{ aple.plot(x, listw, override_similarity_check=FALSE, useTrace=TRUE, do.plot=TRUE, ...) localAple(x, listw, override_similarity_check=FALSE, useTrace=TRUE) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{x}{a zero-mean detrended continuous variable} \item{listw}{a \code{listw} object from for example \code{nb2listw}} \item{override\_similarity\_check}{default FALSE, if TRUE - typically for row-standardised weights with asymmetric underlying general weights - similarity is not checked} \item{useTrace}{default TRUE, use trace of sparse matrix \code{W \%*\% W} (Li et al. (2010)), if FALSE, use crossproduct of eigenvalues of \code{W} as in Li et al. (2007)} \item{do.plot}{default TRUE: should a scatterplot be drawn} \item{\dots}{other arguments to be passed to \code{plot}} } \details{ The function solves a secondary eigenproblem of size n internally, so constructing the values for the scatterplot is quite compute and memory intensive, and is not suitable for very large n. } \value{ \code{aple.plot} returns list with components: \item{X}{A vector as described in Li et al. (2007), p. 366.} \item{Y}{A vector as described in Li et al. (2007), p. 367.} \code{localAple} returns a vector of local APLE values. } \references{Li, H, Calder, C. A. and Cressie N. A. C. (2007) Beyond Moran's I: testing for spatial dependence based on the spatial autoregressive model. Geographical Analysis 39, pp. 357-375; Li, H, Calder, C. A. and Cressie N. A. C. (2012) One-step estimation of spatial dependence parameters: Properties and extensions of the APLE statistic, Journal of Multivariate Analysis 105, 68-84.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{aple}}} \examples{ \dontrun{ example(aple) plt_out <- aple.plot(as.vector(scale(wheat$yield_detrend, scale=FALSE)), nb2listw(nbr12, style="W"), cex=0.6) crossprod(plt_out$Y, plt_out$X)/crossprod(plt_out$X) lm_obj <- lm(Y ~ X, plt_out) abline(lm_obj) abline(v=0, h=0, lty=2) zz <- summary(influence.measures(lm_obj)) infl <- as.integer(rownames(zz)) points(plt_out$X[infl], plt_out$Y[infl], pch=3, cex=0.6, col="red") wheat$localAple <- localAple(as.vector(scale(wheat$yield_detrend, scale=FALSE)), nb2listw(nbr12, style="W")) mean(wheat$localAple) hist(wheat$localAple) spl <- list("sp.text", coordinates(wheat)[infl,], rep("*", length(infl))) spplot(wheat, "localAple", sp.layout=spl) } } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{spatial} spdep/man/testnb.Rd0000644000176200001440000000430511716033161013727 0ustar liggesusers% Copyright 2001 by Roger S. Bivand \name{is.symmetric.nb} \alias{is.symmetric.nb} \alias{sym.attr.nb} \alias{make.sym.nb} \alias{old.make.sym.nb} \alias{is.symmetric.glist} \title{Test a neighbours list for symmetry} \description{ Checks a neighbours list for symmetry/transitivity (if i is a neighbour of j, then j is a neighbour of i). This holds for distance and contiguity based neighbours, but not for k-nearest neighbours. The helper function \code{sym.attr.nb()} calls \code{is.symmetric.nb()} to set the \code{sym} attribute if needed, and \code{make.sym.nb} makes a non-symmetric list symmetric by adding neighbors. \code{is.symmetric.glist} checks a list of general weights corresponding to neighbours for symmetry for symmetric neighbours. } \usage{ is.symmetric.nb(nb, verbose = NULL, force = FALSE) sym.attr.nb(nb) make.sym.nb(nb) old.make.sym.nb(nb) is.symmetric.glist(nb, glist) } \arguments{ \item{nb}{an object of class \code{nb} with a list of integer vectors containing neighbour region number ids.} \item{verbose}{default NULL, use global option value; if TRUE prints non-matching pairs} \item{force}{do not respect a neighbours list \code{sym} attribute and test anyway} \item{glist}{list of general weights corresponding to neighbours} } \value{ TRUE if symmetric, FALSE if not; is.symmetric.glist returns a value with an attribute, "d", indicating for failed symmetry the largest failing value. } \note{ A new version of \code{make.sym.nb} by Bjarke Christensen is now included. The older version has been renamed \code{old.make.sym.nb}, and their comparison constitutes a nice demonstration of vectorising speedup using \code{sapply} and \code{lapply} rather than loops. When any no-neighbour observations are present, \code{old.make.sym.nb} is used. } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{read.gal}}} \examples{ example(columbus) coords <- coordinates(columbus) ind <- sapply(slot(columbus, "polygons"), function(x) slot(x, "ID")) print(is.symmetric.nb(col.gal.nb, verbose=TRUE, force=TRUE)) k4 <- knn2nb(knearneigh(coords, k=4), row.names=ind) k4 <- sym.attr.nb(k4) print(is.symmetric.nb(k4)) k4.sym <- make.sym.nb(k4) print(is.symmetric.nb(k4.sym)) } \keyword{spatial} spdep/man/nb2blocknb.Rd0000644000176200001440000000620312636033641014450 0ustar liggesusers% Copyright 2004 by Roger S. Bivand \name{nb2blocknb} \alias{nb2blocknb} %- Also NEED an '\alias' for EACH other topic documented here. \title{Block up neighbour list for location-less observations} \description{ The function blocks up a neighbour list for known spatial locations to create a new neighbour list for multiple location-less observations know to belong to the spatial locations, using the identification tags of the locations as the key. } \usage{ nb2blocknb(nb=NULL, ID, row.names = NULL) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{nb}{an object of class \code{nb} with a list of integer vectors containing neighbour region number ids; if null, an nb object with no neighbours is created the length of \code{unique(as.character(ID))}} \item{ID}{identification tags of the locations for the location-less observations; \code{sort(unique(as.character(ID)))} must be identical to \code{sort(as.character(attr(nb, "region.id")))}; same length as \code{row.names} if provided.} \item{row.names}{character vector of observation ids to be added to the neighbours list as attribute \code{region.id}, default \code{seq(1, nrow(x))}; same length as \code{ID} if provided.} } \details{ Assume that there is a list of unique locations, then a neighbour list can build for that, to create an input neighbour list. This needs to be "unfolded", so that observations belonging to each unique location are observation neighbours, and observations belonging to the location neighbours of the unique location in question are also observation neighbours, finally removing the observation itself (because it should not be its own neighbour). This scenario also arises when say only post codes are available, and some post codes contain multiple observations, where all that is known is that they belong to a specific post code, not where they are located within it (given that the post code locations are known). } \value{ The function returns an object of class \code{nb} with a list of integer vectors containing neighbour observation number ids. } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{knn2nb}}, \code{\link{dnearneigh}}, \code{\link{cell2nb}}, \code{\link{tri2nb}}, \code{\link{poly2nb}}} \examples{ \dontrun{ data(boston) summary(as.vector(table(boston.c$TOWN))) townaggr <- aggregate(boston.utm, list(town=boston.c$TOWN), mean) block.rel <- graph2nb(relativeneigh(as.matrix(townaggr[,2:3])), as.character(townaggr[,1]), sym=TRUE) block.rel print(is.symmetric.nb(block.rel)) plot(block.rel, as.matrix(townaggr[,2:3])) points(boston.utm, pch=18, col="lightgreen") block.nb <- nb2blocknb(block.rel, as.character(boston.c$TOWN)) block.nb print(is.symmetric.nb(block.nb)) plot(block.nb, boston.utm) points(boston.utm, pch=18, col="lightgreen") n.comp.nb(block.nb)$nc moran.test(boston.c$CMEDV, nb2listw(boston.soi)) moran.test(boston.c$CMEDV, nb2listw(block.nb)) block.nb <- nb2blocknb(NULL, as.character(boston.c$TOWN)) block.nb print(is.symmetric.nb(block.nb)) plot(block.nb, boston.utm) n.comp.nb(block.nb)$nc moran.test(boston.c$CMEDV, nb2listw(block.nb, zero.policy=TRUE), zero.policy=TRUE) } } \keyword{spatial} spdep/man/auckland.Rd0000644000176200001440000000336212174555025014223 0ustar liggesusers\name{auckland} \alias{auckland} \alias{auckland.nb} \alias{auckpolys} \docType{data} \title{Marshall's infant mortality in Auckland dataset} \usage{data(auckland)} \description{ (Use \code{example(auckland)} to load the data from shapefile and generate neighbour list on the fly). The \code{auckland} data frame has 167 rows (census area units --- CAU) and 4 columns. The dataset also includes the "nb" object \code{auckland.nb} of neighbour relations based on contiguity, and the "polylist" object \code{auckpolys} of polygon boundaries for the CAU. The \code{auckland} data frame includes the following columns: } \format{ This data frame contains the following columns: \describe{ \item{Easting}{a numeric vector of x coordinates in an unknown spatial reference system} \item{Northing}{a numeric vector of y coordinates in an unknown spatial reference system} \item{M77\_85}{a numeric vector of counts of infant (under 5 years of age) deaths in Auckland, 1977-1985} \item{Und5\_81}{a numeric vector of population under 5 years of age at the 1981 Census} } } \details{ The contiguous neighbours object does not completely replicate results in the sources, and was reconstructed from \code{auckpolys}; examination of figures in the sources suggests that there are differences in detail, although probably not in substance. } \source{ Marshall R M (1991) Mapping disease and mortality rates using Empirical Bayes Estimators, Applied Statistics, 40, 283--294; Bailey T, Gatrell A (1995) Interactive Spatial Data Analysis, Harlow: Longman --- INFOMAP data set used with permission. } \examples{ require(maptools) auckland <- readShapePoly(system.file("etc/shapes/auckland.shp", package="spdep")[1]) auckland.nb <- poly2nb(auckland) } \keyword{datasets} spdep/man/nbcosts.Rd0000644000176200001440000000432412230674570014113 0ustar liggesusers\name{nbcosts} \alias{nbcosts} \alias{nbcost} %- Also NEED an '\alias' for EACH other topic documented here. \title{Compute cost of edges} \description{ The cost of each edge is the distance between it nodes. This function compute this distance using a data.frame with observations vector in each node. } \usage{ nbcost(data, id, id.neigh, method = c("euclidean", "maximum", "manhattan", "canberra", "binary", "minkowski", "mahalanobis"), p = 2, cov, inverted = FALSE) nbcosts(nb, data, method = c("euclidean", "maximum", "manhattan", "canberra", "binary", "minkowski", "mahalanobis"), p = 2, cov, inverted = FALSE) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{nb}{An object of \code{nb} class. See \code{\link{poly2nb}} for details.} \item{data}{A matrix with observations in the nodes.} \item{id}{Node index to compute the cost} \item{id.neigh}{Idex of neighbours nodes of node \code{id}} \item{method}{Character or function to declare distance method. If \code{method} is character, method must be "mahalanobis" or "euclidean", "maximum", "manhattan", "canberra", "binary" or "minkowisk". If \code{method} is one of "euclidean", "maximum", "manhattan", "canberra", "binary" or "minkowisk", see \code{\link{dist}} for details, because this function as used to compute the distance. If \code{method="mahalanobis"}, the mahalanobis distance is computed between neighbour areas. If \code{method} is a \code{function}, this function is used to compute the distance.} \item{p}{The power of the Minkowski distance.} \item{cov}{The covariance matrix used to compute the mahalanobis distance.} \item{inverted}{logical. If 'TRUE', 'cov' is supposed to contain the inverse of the covariance matrix.} } %\details{} \value{ A object of \code{nbdist} class. See \code{\link{nbdists}} for details. } \note{The neighbours must be a connected graph.} %%\references{ ~put references to the literature/web site here ~ } \author{Elias T. Krainski and Renato M. Assuncao} %%\note{} \seealso{See Also as \code{\link{nbdists}}, \code{\link{nb2listw}}} %%\examples{} \keyword{cluster} \keyword{spatial}% __ONLY ONE__ keyword per line spdep/man/nb2WB.Rd0000644000176200001440000000156411716033161013346 0ustar liggesusers\name{nb2WB} \alias{nb2WB} \alias{listw2WB} %- Also NEED an '\alias' for EACH other topic documented here. \title{Output spatial weights for WinBUGS} \description{ Output spatial weights for WinBUGS } \usage{ nb2WB(nb) listw2WB(listw) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{nb}{an object of class \code{nb}} \item{listw}{a \code{listw} object from for example \code{nb2listw}} } \value{ A list suitable for convering using \code{dput} for WinBUGS } \references{http://www.mrc-bsu.cam.ac.uk/bugs/winbugs/geobugs12manual.pdf} \author{Virgilio Gomez-Rubio} \seealso{\code{\link[base]{dput}}} \examples{ example(columbus) x <- nb2WB(col.gal.nb) dput(x, control=NULL) x <- listw2WB(nb2listw(col.gal.nb)) dput(x, control=NULL) } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{spatial} spdep/man/MCMCsamp.Rd0000644000176200001440000001110412671565213014034 0ustar liggesusers\name{MCMCsamp} \alias{MCMCsamp} \alias{MCMCsamp.spautolm} \alias{MCMCsamp.sarlm} %- Also NEED an '\alias' for EACH other topic documented here. \title{MCMC sample from fitted spatial regression} \description{The \code{MCMCsamp} method uses \code{\link[LearnBayes]{rwmetrop}}, a random walk Metropolis algorithm, from \pkg{LearnBayes} to make MCMC samples from fitted maximum likelihood spatial regression models.} \usage{ MCMCsamp(object, mcmc = 1L, verbose = NULL, ...) \method{MCMCsamp}{spautolm}(object, mcmc = 1L, verbose = NULL, ..., burnin = 0L, scale=1, listw, control = list()) \method{MCMCsamp}{sarlm}(object, mcmc = 1L, verbose = NULL, ..., burnin=0L, scale=1, listw, listw2=NULL, control=list())} %- maybe also 'usage' for other objects documented here. \arguments{ \item{object}{A spatial regression model object fitted by maximum likelihood with \code{\link{spautolm}}} \item{mcmc}{The number of MCMC iterations after burnin} \item{verbose}{default NULL, use global option value; if TRUE, reports progress} \item{\dots}{Arguments passed through} \item{burnin}{The number of burn-in iterations for the sampler} \item{scale}{a positive scale parameter} \item{listw, listw2}{\code{listw} objects created for example by \code{nb2listw}; should be the same object(s) used for fitting the model} \item{control}{list of extra control arguments - see \code{\link{spautolm}}} } \value{An object of class \dQuote{mcmc} suited to \pkg{coda}, with attributes: \dQuote{accept} acceptance rate; \dQuote{type} input ML fitted model type \dQuote{SAR}, \dQuote{CAR}, \dQuote{SMA}, \dQuote{lag}, \dQuote{mixed}, \dQuote{error}, \dQuote{sac}, \dQuote{sacmixed}; \dQuote{timings} run times} \note{If the acceptance rate is below 0.05, a warning will be issued; consider increasing mcmc.} \references{Jim Albert (2007) Bayesian Computation with R, Springer, New York, pp. 104-105.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link[LearnBayes]{rwmetrop}}, \code{\link{spautolm}}, \code{\link{lagsarlm}}, \code{\link{errorsarlm}}, \code{\link{sacsarlm}}} \examples{ example(NY_data) \dontrun{ esar1f <- spautolm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY, family="SAR", method="eigen") summary(esar1f) res <- MCMCsamp(esar1f, mcmc=5000, burnin=500, listw=listw_NY) summary(res) esar1fw <- spautolm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY, weights=POP8, family="SAR", method="eigen") summary(esar1fw) res <- MCMCsamp(esar1fw, mcmc=5000, burnin=500, listw=listw_NY) summary(res) ecar1f <- spautolm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY, family="CAR", method="eigen") summary(ecar1f) res <- MCMCsamp(ecar1f, mcmc=5000, burnin=500, listw=listw_NY) summary(res) esar1fw <- spautolm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY, weights=POP8, family="SAR", method="eigen") summary(esar1fw) res <- MCMCsamp(esar1fw, mcmc=5000, burnin=500, listw=listw_NY) summary(res) ecar1fw <- spautolm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY, weights=POP8, family="CAR", method="eigen") summary(ecar1fw) res <- MCMCsamp(ecar1fw, mcmc=5000, burnin=500, listw=listw_NY) summary(res) } esar0 <- errorsarlm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY) summary(esar0) res <- MCMCsamp(esar0, mcmc=5000, burnin=500, listw=listw_NY) summary(res) \dontrun{ esar0w <- errorsarlm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY, weights=POP8) summary(esar0) res <- MCMCsamp(esar0w, mcmc=5000, burnin=500, listw=listw_NY) summary(res) esar1 <- errorsarlm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY, etype="emixed") summary(esar1) res <- MCMCsamp(esar1, mcmc=5000, burnin=500, listw=listw_NY) summary(res) lsar0 <- lagsarlm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY) summary(lsar0) res <- MCMCsamp(lsar0, mcmc=5000, burnin=500, listw=listw_NY) summary(res) lsar1 <- lagsarlm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY, type="mixed") summary(lsar1) res <- MCMCsamp(lsar1, mcmc=5000, burnin=500, listw=listw_NY) summary(res) ssar0 <- sacsarlm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY) summary(ssar0) res <- MCMCsamp(ssar0, mcmc=5000, burnin=500, listw=listw_NY) summary(res) ssar1 <- sacsarlm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY, type="sacmixed") summary(ssar1) res <- MCMCsamp(ssar1, mcmc=5000, burnin=500, listw=listw_NY) summary(res) } } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{spatial} spdep/man/moran.mc.Rd0000644000176200001440000000624412453200501014137 0ustar liggesusers% Copyright 2001-4 by Roger S. Bivand \encoding{latin1} \name{moran.mc} \alias{moran.mc} \title{Permutation test for Moran's I statistic} \description{ A permutation test for Moran's I statistic calculated by using nsim random permutations of x for the given spatial weighting scheme, to establish the rank of the observed statistic in relation to the nsim simulated values. } \usage{ moran.mc(x, listw, nsim, zero.policy=NULL, alternative="greater", na.action=na.fail, spChk=NULL, return_boot=FALSE, adjust.n=TRUE) } \arguments{ \item{x}{a numeric vector the same length as the neighbours list in listw} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{nsim}{number of permutations} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{alternative}{a character string specifying the alternative hypothesis, must be one of "greater" (default), or "less".} \item{na.action}{a function (default \code{na.fail}), can also be \code{na.omit} or \code{na.exclude} - in these cases the weights list will be subsetted to remove NAs in the data. It may be necessary to set zero.policy to TRUE because this subsetting may create no-neighbour observations. Note that only weights lists created without using the glist argument to \code{nb2listw} may be subsetted. \code{na.pass} is not permitted because it is meaningless in a permutation test.} \item{spChk}{should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use \code{get.spChkOption()}} \item{return_boot}{return an object of class \code{boot} from the equivalent permutation bootstrap rather than an object of class \code{htest}} \item{adjust.n}{default TRUE, if FALSE the number of observations is not adjusted for no-neighbour observations, if TRUE, the number of observations is adjusted} } \value{ A list with class \code{htest} and \code{mc.sim} containing the following components: \item{statistic}{the value of the observed Moran's I.} \item{parameter}{the rank of the observed Moran's I.} \item{p.value}{the pseudo p-value of the test.} \item{alternative}{a character string describing the alternative hypothesis.} \item{method}{a character string giving the method used.} \item{data.name}{a character string giving the name(s) of the data, and the number of simulations.} \item{res}{nsim simulated values of statistic, final value is observed statistic} } \references{Cliff, A. D., Ord, J. K. 1981 Spatial processes, Pion, p. 63-5.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{moran}}, \code{\link{moran.test}}} \examples{ data(oldcol) colw <- nb2listw(COL.nb, style="W") nsim <- 99 set.seed(1234) sim1 <- moran.mc(COL.OLD$CRIME, listw=colw, nsim=nsim) sim1 mean(sim1$res[1:nsim]) var(sim1$res[1:nsim]) summary(sim1$res[1:nsim]) colold.lags <- nblag(COL.nb, 3) set.seed(1234) sim2 <- moran.mc(COL.OLD$CRIME, nb2listw(colold.lags[[2]], style="W"), nsim=nsim) summary(sim2$res[1:nsim]) sim3 <- moran.mc(COL.OLD$CRIME, nb2listw(colold.lags[[3]], style="W"), nsim=nsim) summary(sim3$res[1:nsim]) } \keyword{spatial} spdep/man/geary.Rd0000644000176200001440000000270111716033161013535 0ustar liggesusers% Copyright 2001 by Roger S. Bivand \name{geary} \alias{geary} %\alias{geary.intern} \title{Compute Geary's C} \description{ A simple function to compute Geary's C, called by \code{geary.test} and \code{geary.mc}; \deqn{C = \frac{(n-1)}{2\sum_{i=1}^{n}\sum_{j=1}^{n}w_{ij}} \frac{\sum_{i=1}^{n}\sum_{j=1}^{n}w_{ij}(x_i-x_j)^2}{\sum_{i=1}^{n}(x_i - \bar{x})^2} } \code{geary.intern} is an internal function used to vary the similarity criterion. } \usage{ geary(x, listw, n, n1, S0, zero.policy=NULL) %geary.intern(x, listw, n, zero.policy, type="geary") } \arguments{ \item{x}{a numeric vector the same length as the neighbours list in listw} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{n}{number of zones} \item{n1}{n - 1} \item{S0}{global sum of weights} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} % \item{type}{"geary" or "sokal" criteria for similarity} } \value{ a list with \item{C}{Geary's C} \item{K}{sample kurtosis of x} } \references{Cliff, A. D., Ord, J. K. 1981 Spatial processes, Pion, p. 17.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{geary.test}}, \code{\link{geary.mc}}, \code{\link{sp.mantel.mc}}} \examples{ data(oldcol) col.W <- nb2listw(COL.nb, style="W") str(geary(COL.OLD$CRIME, col.W, length(COL.nb), length(COL.nb)-1, Szero(col.W))) } \keyword{spatial} spdep/man/moran.Rd0000644000176200001440000000310011716033161013534 0ustar liggesusers% Copyright 2001 by Roger S. Bivand \name{moran} \alias{moran} \title{Compute Moran's I} \description{ A simple function to compute Moran's I, called by \code{moran.test} and \code{moran.mc}; \deqn{I = \frac{n}{\sum_{i=1}^{n}\sum_{j=1}^{n}w_{ij}} \frac{\sum_{i=1}^{n}\sum_{j=1}^{n}w_{ij}(x_i-\bar{x})(x_j-\bar{x})}{\sum_{i=1}^{n}(x_i - \bar{x})^2} }{I = (n sum_i sum_j w_ij (x_i - xbar) (x_j - xbar)) / (S0 sum_i (x_i - xbar)^2)} } \usage{ moran(x, listw, n, S0, zero.policy=NULL, NAOK=FALSE) } \arguments{ \item{x}{a numeric vector the same length as the neighbours list in listw} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{n}{number of zones} \item{S0}{global sum of weights} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{NAOK}{if 'TRUE' then any 'NA' or 'NaN' or 'Inf' values in x are passed on to the foreign function. If 'FALSE', the presence of 'NA' or 'NaN' or 'Inf' values is regarded as an error.} } \value{ a list of \item{I}{Moran's I} \item{K}{sample kurtosis of x} } \references{Cliff, A. D., Ord, J. K. 1981 Spatial processes, Pion, p. 17.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{moran.test}}, \code{\link{moran.mc}}} \examples{ data(oldcol) col.W <- nb2listw(COL.nb, style="W") crime <- COL.OLD$CRIME str(moran(crime, col.W, length(COL.nb), Szero(col.W))) is.na(crime) <- sample(1:length(crime), 10) str(moran(crime, col.W, length(COL.nb), Szero(col.W), NAOK=TRUE)) } \keyword{spatial} spdep/man/wheat.Rd0000644000176200001440000000377012464357047013562 0ustar liggesusers\name{wheat} \alias{wheat} \docType{data} \title{Mercer and Hall wheat yield data} \description{ Mercer and Hall wheat yield data, based on version in Cressie (1993), p. 455. } \usage{data(wheat)} \format{ The format of the object generated by running \code{data(wheat)} is a three column data frame made available by Hongfei Li. The example section shows how to convert this to the object used in demonstrating the \code{aple} function, and is a: Formal class 'SpatialPolygonsDataFrame' [package "sp"] with 5 slots; the data slot is a data frame with 500 observations on the following 6 variables. \describe{ \item{\code{lat}}{local coordinates northings ordered north to south} \item{\code{yield}}{Mercer and Hall wheat yield data} \item{\code{r}}{rows south to north; levels in distance units of plot centres} \item{\code{c}}{columns west to east; levels in distance units of plot centres} \item{\code{lon}}{local coordinates eastings} \item{\code{lat1}}{local coordinates northings ordered south to north} }} \note{The value of 4.03 was changed to 4.33 (wheat[71,]) 13 January 2014; thanks to Sandy Burden; cross-checked with \url{http://www.css.cornell.edu/faculty/dgr2/teach/R/mhw.csv}, which agrees.} \source{ Cressie, N. A. C. (1993) Statistics for Spatial Data. Wiley, New York, p. 455. } \references{ Mercer, W. B. and Hall, A. D. (1911) The experimental error of field trials. Journal of Agricultural Science 4, 107-132. } \examples{ \dontrun{ data(wheat) wheat$lat1 <- 69 - wheat$lat wheat$r <- factor(wheat$lat1) wheat$c <- factor(wheat$lon) wheat_sp <- wheat coordinates(wheat_sp) <- c("lon", "lat1") wheat_spg <- wheat_sp gridded(wheat_spg) <- TRUE wheat_spl <- as(wheat_spg, "SpatialPolygons") df <- as(wheat_spg, "data.frame") row.names(df) <- sapply(slot(wheat_spl, "polygons"), function(x) slot(x, "ID")) wheat <- SpatialPolygonsDataFrame(wheat_spl, data=df) } require(maptools) wheat <- readShapeSpatial(system.file("etc/shapes/wheat.shp", package="spdep")[1]) } \keyword{datasets} spdep/man/joincount.multi.Rd0000644000176200001440000000664311716033161015600 0ustar liggesusers% Copyright 2004-8 by Roger S. Bivand \name{joincount.multi} \alias{joincount.multi} \alias{print.jcmulti} \title{BB, BW and Jtot join count statistic for k-coloured factors} \description{ A function for tallying join counts between same-colour and different colour spatial objects, where neighbour relations are defined by a weights list. Given the global counts in each colour, expected counts and variances are calculated under non-free sampling, and a z-value reported. Since multiple tests are reported, no p-values are given, allowing the user to adjust the significance level applied. Jtot is the count of all different-colour joins. } \usage{ joincount.multi(fx, listw, zero.policy = FALSE, spChk = NULL, adjust.n=TRUE) \method{print}{jcmulti}(x, ...) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{fx}{a factor of the same length as the neighbours and weights objects in listw} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{zero.policy}{if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{adjust.n}{default TRUE, if FALSE the number of observations is not adjusted for no-neighbour observations, if TRUE, the number of observations is adjusted consistently (up to and including spdep 0.3-28 the adjustment was inconsistent - thanks to Tomoki NAKAYA for a careful bug report)} \item{spChk}{should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use \code{get.spChkOption()}} \item{x}{object to be printed} \item{...}{arguments to be passed through for printing} } \value{ A matrix with class \code{jcmulti} with row and column names for observed and expected counts, variance, and z-value. } \references{Cliff, A. D., Ord, J. K. 1981 Spatial processes, Pion, p. 20; Upton, G., Fingleton, B. 1985 Spatial data analysis by example: point pattern and quatitative data, Wiley, pp. 158--170.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \note{The derivation of the test (Cliff and Ord, 1981, p. 18) assumes that the weights matrix is symmetric. For inherently non-symmetric matrices, such as k-nearest neighbour matrices, \code{listw2U()} can be used to make the matrix symmetric. In non-symmetric weights matrix cases, the variance of the test statistic may be negative. } \seealso{\code{\link{joincount.test}}} \examples{ data(oldcol) HICRIME <- cut(COL.OLD$CRIME, breaks=c(0,35,80), labels=c("low","high")) names(HICRIME) <- rownames(COL.OLD) joincount.multi(HICRIME, nb2listw(COL.nb, style="B")) \dontrun{ data(hopkins) image(1:32, 1:32, hopkins[5:36,36:5], breaks=c(-0.5, 3.5, 20), col=c("white", "black")) box() hopkins.rook.nb <- cell2nb(32, 32, type="rook") unlist(spweights.constants(nb2listw(hopkins.rook.nb, style="B"))) hopkins.queen.nb <- cell2nb(32, 32, type="queen") hopkins.bishop.nb <- diffnb(hopkins.rook.nb, hopkins.queen.nb, verbose=FALSE) hopkins4 <- hopkins[5:36,36:5] hopkins4[which(hopkins4 > 3, arr.ind=TRUE)] <- 4 hopkins4.f <- factor(hopkins4) table(hopkins4.f) joincount.multi(hopkins4.f, nb2listw(hopkins.rook.nb, style="B")) cat("replicates Upton & Fingleton table 3.4 (p. 166)\n") joincount.multi(hopkins4.f, nb2listw(hopkins.bishop.nb, style="B")) cat("replicates Upton & Fingleton table 3.6 (p. 168)\n") joincount.multi(hopkins4.f, nb2listw(hopkins.queen.nb, style="B")) cat("replicates Upton & Fingleton table 3.7 (p. 169)\n") } } \keyword{spatial} spdep/man/used.cars.Rd0000644000176200001440000000363111716033161014320 0ustar liggesusers\name{used.cars} \alias{used.cars} \alias{usa48.nb} \docType{data} \title{US 1960 used car prices} \usage{data(used.cars)} \description{ The \code{used.cars} data frame has 48 rows and 2 columns. The data set includes a neighbours list for the 48 states excluding DC from poly2nb(). } \format{ This data frame contains the following columns: \describe{ \item{tax.charges}{taxes and delivery charges for 1955-9 new cars} \item{price.1960}{1960 used car prices by state} } } \source{ Hanna, F. A. 1966 Effects of regional differences in taxes and transport charges on automobile consumption, in Ostry, S., Rhymes, J. K. (eds) Papers on regional statistical studies, Toronto: Toronto University Press, pp. 199-223. } \references{ Hepple, L. W. 1976 A maximum likelihood model for econometric estimation with spatial series, in Masser, I (ed) Theory and practice in regional science, London: Pion, pp. 90-104. } \examples{ data(used.cars) moran.test(used.cars$price.1960, nb2listw(usa48.nb)) moran.plot(used.cars$price.1960, nb2listw(usa48.nb), labels=rownames(used.cars)) uc.lm <- lm(price.1960 ~ tax.charges, data=used.cars) summary(uc.lm) lm.morantest(uc.lm, nb2listw(usa48.nb)) lm.morantest.sad(uc.lm, nb2listw(usa48.nb)) lm.LMtests(uc.lm, nb2listw(usa48.nb)) uc.err <- errorsarlm(price.1960 ~ tax.charges, data=used.cars, nb2listw(usa48.nb), tol.solve=1.0e-13, control=list(tol.opt=.Machine$double.eps^0.3)) summary(uc.err) uc.lag <- lagsarlm(price.1960 ~ tax.charges, data=used.cars, nb2listw(usa48.nb), tol.solve=1.0e-13, control=list(tol.opt=.Machine$double.eps^0.3)) summary(uc.lag) uc.lag1 <- lagsarlm(price.1960 ~ 1, data=used.cars, nb2listw(usa48.nb), tol.solve=1.0e-13, control=list(tol.opt=.Machine$double.eps^0.3)) summary(uc.lag1) uc.err1 <- errorsarlm(price.1960 ~ 1, data=used.cars, nb2listw(usa48.nb), tol.solve=1.0e-13, control=list(tol.opt=.Machine$double.eps^0.3)) summary(uc.err1) } \keyword{datasets} spdep/man/mat2listw.Rd0000644000176200001440000000377312441317333014370 0ustar liggesusers% Copyright 2003-2010 by Roger S. Bivand \name{mat2listw} \alias{mat2listw} \title{Convert a square spatial weights matrix to a weights list object} \description{ The function converts a square spatial weights matrix, optionally a sparse matrix to a weights list object, optionally adding region IDs from the row names of the matrix, as a sequence of numbers 1:nrow(x), or as given as an argument. The style can be imposed by rebuilting the weights list object internally. } \usage{ mat2listw(x, row.names = NULL, style="M") } %- maybe also 'usage' for other objects documented here. \arguments{ \item{x}{A square non-negative matrix with no NAs representing spatial weights; may be a matrix of class \dQuote{sparseMatrix}} \item{row.names}{row names to use for region IDs} \item{style}{default "M", unknown style; if not "M", passed to \code{\link{nb2listw}} to re-build the object} } \value{ A \code{listw} object with the following members: \item{style}{"M", meaning matrix style, underlying style unknown, or assigned style argument in rebuilt object} \item{neighbours}{the derived neighbours list} \item{weights}{the weights for the neighbours derived from the matrix} } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{nb2listw}}, \code{\link{nb2mat}}} \examples{ example(columbus) coords <- coordinates(columbus) col005 <- dnearneigh(coords, 0, 0.5, attr(col.gal.nb, "region.id")) summary(col005) col005.w.mat <- nb2mat(col005, zero.policy=TRUE) col005.w.b <- mat2listw(col005.w.mat) summary(col005.w.b$neighbours) diffnb(col005, col005.w.b$neighbours) col005.w.mat.3T <- kronecker(diag(3), col005.w.mat) col005.w.b.3T <- mat2listw(col005.w.mat.3T, style="W") summary(col005.w.b.3T$neighbours) W <- as(nb2listw(col005, style="W", zero.policy=TRUE), "CsparseMatrix") col005.spM <- mat2listw(W) summary(col005.spM$neighbours) diffnb(col005, col005.spM$neighbours) IW <- kronecker(Diagonal(3), W) col005.spM.3T <- mat2listw(IW, style="W") summary(col005.spM.3T$neighbours) } \keyword{spatial} spdep/man/localG.Rd0000644000176200001440000001002613152227217013631 0ustar liggesusers% Copyright 2001 by Roger S. Bivand \name{localG} \alias{localG} \title{G and Gstar local spatial statistics} \description{ The local spatial statistic G is calculated for each zone based on the spatial weights object used. The value returned is a Z-value, and may be used as a diagnostic tool. High positive values indicate the posibility of a local cluster of high values of the variable being analysed, very low relative values a similar cluster of low values. For inference, a Bonferroni-type test is suggested in the references, where tables of critical values may be found (see also details below). } \usage{ localG(x, listw, zero.policy=NULL, spChk=NULL, return_internals=FALSE) } \arguments{ \item{x}{a numeric vector the same length as the neighbours list in listw} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{spChk}{should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use \code{get.spChkOption()}} \item{return_internals}{default FALSE, if TRUE, return internal values of G, EI and VG as as attribute matrix} } \details{ If the neighbours member of listw has a "self.included" attribute set to TRUE, the Gstar variant, including the self-weight \eqn{w_{ii} > 0}, is calculated and returned. The returned vector will have a "gstari" attribute set to TRUE. Self-weights can be included by using the \code{include.self} function before converting the neighbour list to a spatial weights list with \code{nb2listw} as shown below in the example. The critical values of the statistic under assumptions given in the references for the 95th percentile are for n=1: 1.645, n=50: 3.083, n=100: 3.289, n=1000: 3.886. } \value{ A vector of G or Gstar values, with attributes "gstari" set to TRUE or FALSE, "call" set to the function call, and class "localG". } \references{Ord, J. K. and Getis, A. 1995 Local spatial autocorrelation statistics: distributional issues and an application. \emph{Geographical Analysis}, 27, 286--306; Getis, A. and Ord, J. K. 1996 Local spatial statistics: an overview. In P. Longley and M. Batty (eds) \emph{Spatial analysis: modelling in a GIS environment} (Cambridge: Geoinformation International), 261--277.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} %\seealso{\code{\link{localmoran}}} \examples{ data(getisord) xycoords <- cbind(xyz$x, xyz$y) nb30 <- dnearneigh(xycoords, 0, 30) G30 <- localG(xyz$val, nb2listw(nb30, style="B")) G30[length(xyz$val)-136] nb60 <- dnearneigh(xycoords, 0, 60) G60 <- localG(xyz$val, nb2listw(nb60, style="B")) G60[length(xyz$val)-136] nb90 <- dnearneigh(xycoords, 0, 90) G90 <- localG(xyz$val, nb2listw(nb90, style="B")) G90[length(xyz$val)-136] nb120 <- dnearneigh(xycoords, 0, 120) G120 <- localG(xyz$val, nb2listw(nb120, style="B")) G120[length(xyz$val)-136] nb150 <- dnearneigh(xycoords, 0, 150) G150 <- localG(xyz$val, nb2listw(nb150, style="B")) G150[length(xyz$val)-136] brks <- seq(-5,5,1) cm.col <- cm.colors(length(brks)-1) image(x, y, t(matrix(G30, nrow=16, ncol=16, byrow=TRUE)), breaks=brks, col=cm.col, asp=1) text(xyz$x, xyz$y, round(G30, digits=1), cex=0.7) polygon(c(195,225,225,195), c(195,195,225,225), lwd=2) title(main=expression(paste("Values of the ", G[i], " statistic"))) G30s <- localG(xyz$val, nb2listw(include.self(nb30), style="B")) cat("value according to Getis and Ord's eq. 14.2, p. 263 (1996)\n") G30s[length(xyz$val)-136] cat(paste("value given by Getis and Ord (1996), p. 267", "(division by n-1 rather than n \n in variance)\n")) G30s[length(xyz$val)-136] * (sqrt(sum(scale(xyz$val, scale=FALSE)^2)/length(xyz$val)) / sqrt(var(xyz$val))) image(x, y, t(matrix(G30s, nrow=16, ncol=16, byrow=TRUE)), breaks=brks, col=cm.col, asp=1) text(xyz$x, xyz$y, round(G30s, digits=1), cex=0.7) polygon(c(195,225,225,195), c(195,195,225,225), lwd=2) title(main=expression(paste("Values of the ", G[i]^"*", " statistic"))) } \keyword{spatial} spdep/man/errorsarlm.Rd0000644000176200001440000004655312770451462014644 0ustar liggesusers% Copyright 2002-16 by Roger S. Bivand \name{errorsarlm} \alias{errorsarlm} \alias{lmSLX} \alias{create_WX} %\alias{sar.error.f} %\alias{sar.error.f.s} \title{Spatial simultaneous autoregressive error model estimation} \description{ Maximum likelihood estimation of spatial simultaneous autoregressive error models of the form: \deqn{y = X \beta + u, u = \lambda W u + \varepsilon}{y = X beta + u, u = lambda W u + e} where \eqn{\lambda}{lambda} is found by \code{optimize()} first, and \eqn{\beta}{beta} and other parameters by generalized least squares subsequently. With one of the sparse matrix methods, larger numbers of observations can be handled, but the \code{interval=} argument may need be set when the weights are not row-standardised. When \code{etype} is \dQuote{emixed}, a so-called spatial Durbin error model is fitted, while \code{lmSLX} fits an \code{lm} model augmented with the spatially lagged RHS variables, including the lagged intercept when the spatial weights are not row-standardised. \code{create_WX} creates spatially lagged RHS variables, and is exposed for use in model fitting functions. } \usage{ errorsarlm(formula, data=list(), listw, na.action, weights=NULL, etype="error", method="eigen", quiet=NULL, zero.policy=NULL, interval = NULL, tol.solve=1.0e-10, trs=NULL, control=list()) lmSLX(formula, data = list(), listw, na.action, weights=NULL, zero.policy=NULL) create_WX(x, listw, zero.policy=NULL, prefix="") } %- maybe also `usage' for other objects documented here. \arguments{ \item{formula}{a symbolic description of the model to be fit. The details of model specification are given for \code{lm()}} \item{data}{an optional data frame containing the variables in the model. By default the variables are taken from the environment which the function is called.} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{na.action}{a function (default \code{options("na.action")}), can also be \code{na.omit} or \code{na.exclude} with consequences for residuals and fitted values - in these cases the weights list will be subsetted to remove NAs in the data. It may be necessary to set zero.policy to TRUE because this subsetting may create no-neighbour observations. Note that only weights lists created without using the glist argument to \code{nb2listw} may be subsetted.} \item{weights}{an optional vector of weights to be used in the fitting process. Non-NULL weights can be used to indicate that different observations have different variances (with the values in weights being inversely proportional to the variances); or equivalently, when the elements of weights are positive integers w_i, that each response y_i is the mean of w_i unit-weight observations (including the case that there are w_i observations equal to y_i and the data have been summarized) - \code{\link{lm}}} \item{etype}{default "error", may be set to "emixed" to include the spatially lagged independent variables added to X; when "emixed", the lagged intercept is dropped for spatial weights style "W", that is row-standardised weights, but otherwise included} \item{method}{"eigen" (default) - the Jacobian is computed as the product of (1 - rho*eigenvalue) using \code{eigenw}, and "spam" or "Matrix_J" for strictly symmetric weights lists of styles "B" and "C", or made symmetric by similarity (Ord, 1975, Appendix C) if possible for styles "W" and "S", using code from the spam package or Matrix package to calculate the determinant; \dQuote{Matrix} and \dQuote{spam_update} provide updating Cholesky decomposition methods; "LU" provides an alternative sparse matrix decomposition approach. In addition, there are "Chebyshev" and Monte Carlo "MC" approximate log-determinant methods; the Smirnov/Anselin (2009) trace approximation is available as "moments". Three methods: "SE_classic", "SE_whichMin", and "SE_interp" are provided experimentally, the first to attempt to emulate the behaviour of Spatial Econometrics toolbox ML fitting functions. All use grids of log determinant values, and the latter two attempt to ameliorate some features of "SE_classic". } \item{quiet}{default NULL, use !verbose global option value; if FALSE, reports function values during optimization.} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA - causing \code{errorsarlm()} to terminate with an error} \item{interval}{default is NULL, search interval for autoregressive parameter} \item{tol.solve}{the tolerance for detecting linear dependencies in the columns of matrices to be inverted - passed to \code{solve()} (default=1.0e-10). This may be used if necessary to extract coefficient standard errors (for instance lowering to 1e-12), but errors in \code{solve()} may constitute indications of poorly scaled variables: if the variables have scales differing much from the autoregressive coefficient, the values in this matrix may be very different in scale, and inverting such a matrix is analytically possible by definition, but numerically unstable; rescaling the RHS variables alleviates this better than setting tol.solve to a very small value} \item{trs}{default NULL, if given, a vector of powered spatial weights matrix traces output by \code{trW}; when given, insert the asymptotic analytical values into the numerical Hessian instead of the approximated values; may be used to get around some problems raised when the numerical Hessian is poorly conditioned, generating NaNs in subsequent operations. When using the numerical Hessian to get the standard error of lambda, it is very strongly advised that trs be given, as the parts of fdHess corresponding to the regression coefficients are badly approximated, affecting the standard error of lambda; the coefficient correlation matrix is unusable} \item{control}{list of extra control arguments - see section below} \item{x}{model matrix to be lagged} \item{prefix}{default empty string, may be \dQuote{lag} in some cases} } \details{ The asymptotic standard error of \eqn{\lambda}{lambda} is only computed when method=eigen, because the full matrix operations involved would be costly for large n typically associated with the choice of method="spam" or "Matrix". The same applies to the coefficient covariance matrix. Taken as the asymptotic matrix from the literature, it is typically badly scaled, being block-diagonal, and with the elements involving \eqn{\lambda}{lambda} being very small, while other parts of the matrix can be very large (often many orders of magnitude in difference). It often happens that the \code{tol.solve} argument needs to be set to a smaller value than the default, or the RHS variables can be centred or reduced in range. Note that the fitted() function for the output object assumes that the response variable may be reconstructed as the sum of the trend, the signal, and the noise (residuals). Since the values of the response variable are known, their spatial lags are used to calculate signal components (Cressie 1993, p. 564). This differs from other software, including GeoDa, which does not use knowledge of the response variable in making predictions for the fitting data. } \section{Control arguments}{ \describe{ \item{tol.opt:}{the desired accuracy of the optimization - passed to \code{optimize()} (default=square root of double precision machine tolerance, a larger root may be used needed, see help(boston) for an example)} \item{returnHcov:}{default TRUE, return the Vo matrix for a spatial Hausman test} \item{pWOrder:}{default 250, if returnHcov=TRUE and the method is not \dQuote{eigen}, pass this order to \code{powerWeights} as the power series maximum limit} \item{fdHess:}{default NULL, then set to (method != "eigen") internally; use \code{fdHess} to compute an approximate Hessian using finite differences when using sparse matrix methods; used to make a coefficient covariance matrix when the number of observations is large; may be turned off to save resources if need be} \item{optimHess:}{default FALSE, use \code{fdHess} from \pkg{nlme}, if TRUE, use \code{optim} to calculate Hessian at optimum} \item{optimHessMethod:}{default \dQuote{optimHess}, may be \dQuote{nlm} or one of the \code{optim} methods} \item{LAPACK:}{default FALSE; logical value passed to \code{qr} in the SSE log likelihood function} \item{compiled_sse:}{default FALSE; logical value used in the log likelihood function to choose compiled code for computing SSE} \item{Imult:}{default 2; used for preparing the Cholesky decompositions for updating in the Jacobian function} \item{super:}{if NULL (default), set to FALSE to use a simplicial decomposition for the sparse Cholesky decomposition and method \dQuote{Matrix_J}, set to \code{as.logical(NA)} for method \dQuote{Matrix}, if TRUE, use a supernodal decomposition} \item{cheb_q:}{default 5; highest power of the approximating polynomial for the Chebyshev approximation} \item{MC_p:}{default 16; number of random variates} \item{MC_m:}{default 30; number of products of random variates matrix and spatial weights matrix} \item{spamPivot:}{default \dQuote{MMD}, alternative \dQuote{RCM}} \item{in_coef}{default 0.1, coefficient value for initial Cholesky decomposition in \dQuote{spam_update}} \item{type}{default \dQuote{MC}, used with method \dQuote{moments}; alternatives \dQuote{mult} and \dQuote{moments}, for use if \code{trs} is missing, \code{\link{trW}}} \item{correct}{default TRUE, used with method \dQuote{moments} to compute the Smirnov/Anselin correction term} \item{trunc}{default TRUE, used with method \dQuote{moments} to truncate the Smirnov/Anselin correction term} \item{SE_method}{default \dQuote{LU}, may be \dQuote{MC}} \item{nrho}{default 200, as in SE toolbox; the size of the first stage lndet grid; it may be reduced to for example 40} \item{interpn}{default 2000, as in SE toolbox; the size of the second stage lndet grid} \item{small_asy}{default TRUE; if the method is not \dQuote{eigen}, use asymmetric covariances rather than numerical Hessian ones if n <= small} \item{small}{default 1500; threshold number of observations for asymmetric covariances when the method is not \dQuote{eigen}} \item{SElndet}{default NULL, may be used to pass a pre-computed SE toolbox style matrix of coefficients and their lndet values to the "SE_classic" and "SE_whichMin" methods} \item{LU_order}{default FALSE; used in \dQuote{LU_prepermutate}, note warnings given for \code{lu} method} \item{pre_eig}{default NULL; may be used to pass a pre-computed vector of eigenvalues} }} \value{ A list object of class \code{sarlm} \item{type}{"error"} \item{lambda}{simultaneous autoregressive error coefficient} \item{coefficients}{GLS coefficient estimates} \item{rest.se}{GLS coefficient standard errors (are equal to asymptotic standard errors)} \item{LL}{log likelihood value at computed optimum} \item{s2}{GLS residual variance} \item{SSE}{sum of squared GLS errors} \item{parameters}{number of parameters estimated} \item{logLik_lm.model}{Log likelihood of the linear model for \eqn{\lambda=0}{lambda=0}} \item{AIC_lm.model}{AIC of the linear model for \eqn{\lambda=0}{lambda=0}} % \item{lm.model}{the \code{lm} object returned when estimating for \eqn{\lambda=0}{lambda=0}} \item{coef_lm.model}{coefficients of the linear model for \eqn{\lambda=0}{lambda=0}} \item{tarX}{model matrix of the GLS model} \item{tary}{response of the GLS model} \item{y}{response of the linear model for \eqn{\lambda=0}{lambda=0}} \item{X}{model matrix of the linear model for \eqn{\lambda=0}{lambda=0}} \item{method}{the method used to calculate the Jacobian} \item{call}{the call used to create this object} \item{residuals}{GLS residuals} % \item{lm.target}{the \code{lm} object returned for the GLS fit} \item{opt}{object returned from numerical optimisation} \item{fitted.values}{Difference between residuals and response variable} \item{ase}{TRUE if method=eigen} % \item{formula}{model formula} \item{se.fit}{Not used yet} \item{lambda.se}{if ase=TRUE, the asymptotic standard error of \eqn{\lambda}{lambda}} \item{LMtest}{NULL for this model} \item{aliased}{if not NULL, details of aliased variables} \item{LLNullLlm}{Log-likelihood of the null linear model} \item{Hcov}{Spatial DGP covariance matrix for Hausman test if available} \item{interval}{line search interval} \item{fdHess}{finite difference Hessian} \item{optimHess}{\code{optim} or \code{fdHess} used} \item{insert}{logical; is TRUE, asymptotic values inserted in fdHess where feasible} \item{timings}{processing timings} \item{f_calls}{number of calls to the log likelihood function during optimization} \item{hf_calls}{number of calls to the log likelihood function during numerical Hessian computation} \item{intern_classic}{a data frame of detval matrix row choices used by the SE toolbox classic method} \item{zero.policy}{zero.policy for this model} \item{na.action}{(possibly) named vector of excluded or omitted observations if non-default na.action argument used} \item{weights}{weights used in model fitting} \item{emixedImps}{for \dQuote{emixed} models, a list of three impact matrixes (impacts and standard errors) for direct, indirect and total impacts; total impacts calculated using gmodels::estimable} The internal sar.error.* functions return the value of the log likelihood function at \eqn{\lambda}{lambda}. The \code{lmSLX} function returns an \dQuote{lm} object with a \dQuote{mixedImps} list of three impact matrixes (impacts and standard errors) for direct, indirect and total impacts; total impacts calculated using gmodels::estimable. } \references{Cliff, A. D., Ord, J. K. 1981 \emph{Spatial processes}, Pion; Ord, J. K. 1975 Estimation methods for models of spatial interaction, \emph{Journal of the American Statistical Association}, 70, 120-126; Anselin, L. 1988 \emph{Spatial econometrics: methods and models.} (Dordrecht: Kluwer); Anselin, L. 1995 SpaceStat, a software program for the analysis of spatial data, version 1.80. Regional Research Institute, West Virginia University, Morgantown, WV; Anselin L, Bera AK (1998) Spatial dependence in linear regression models with an introduction to spatial econometrics. In: Ullah A, Giles DEA (eds) Handbook of applied economic statistics. Marcel Dekker, New York, pp. 237-289; Cressie, N. A. C. 1993 \emph{Statistics for spatial data}, Wiley, New York; LeSage J and RK Pace (2009) Introduction to Spatial Econometrics. CRC Press, Boca Raton. Roger Bivand, Gianfranco Piras (2015). Comparing Implementations of Estimation Methods for Spatial Econometrics. \emph{Journal of Statistical Software}, 63(18), 1-36. \url{http://www.jstatsoft.org/v63/i18/}. Bivand, R. S., Hauke, J., and Kossowski, T. (2013). Computing the Jacobian in Gaussian spatial autoregressive models: An illustrated comparison of available methods. \emph{Geographical Analysis}, 45(2), 150-179. } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{lm}}, \code{\link{lagsarlm}}, \code{\link{similar.listw}}, \code{\link{summary.sarlm}}, \code{\link{predict.sarlm}}, \code{\link{residuals.sarlm}}, \code{\link{do_ldet}}, \code{\link[gmodels]{estimable}} } \examples{ data(oldcol) lw <- nb2listw(COL.nb, style="W") COL.errW.eig <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, lw, method="eigen", quiet=FALSE) summary(COL.errW.eig, correlation=TRUE) ev <- eigenw(similar.listw(lw)) COL.errW.eig_ev <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, lw, method="eigen", control=list(pre_eig=ev)) all.equal(coefficients(COL.errW.eig), coefficients(COL.errW.eig_ev)) COL.errB.eig <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb, style="B"), method="eigen", quiet=FALSE) summary(COL.errB.eig, correlation=TRUE) W <- as(nb2listw(COL.nb), "CsparseMatrix") trMatc <- trW(W, type="mult") COL.errW.M <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, lw, method="Matrix", quiet=FALSE, trs=trMatc) summary(COL.errW.M, correlation=TRUE) COL.SDEM.eig <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, lw, method="eigen", etype="emixed") summary(COL.SDEM.eig, correlation=TRUE) summary(impacts(COL.SDEM.eig)) summary(impacts(COL.SDEM.eig), adjust_k=TRUE) COL.SLX <- lmSLX(CRIME ~ INC + HOVAL, data=COL.OLD, listw=lw) summary(COL.SLX) summary(impacts(COL.SLX)) COL.SLX <- lmSLX(CRIME ~ INC + HOVAL + I(HOVAL^2), data=COL.OLD, listw=lw) summary(COL.SLX) COL.SLX <- lmSLX(CRIME ~ INC, data=COL.OLD, listw=lw) \donttest{ crds <- cbind(COL.OLD$X, COL.OLD$Y) mdist <- sqrt(sum(diff(apply(crds, 2, range))^2)) dnb <- dnearneigh(crds, 0, mdist) dists <- nbdists(dnb, crds) f <- function(x, form, data, dnb, dists, verbose) { glst <- lapply(dists, function(d) 1/(d^x)) lw <- nb2listw(dnb, glist=glst, style="B") res <- logLik(lmSLX(form=form, data=data, listw=lw)) if (verbose) cat("power:", x, "logLik:", res, "\n") res } opt <- optimize(f, interval=c(0.1, 4), form=CRIME ~ INC + HOVAL, data=COL.OLD, dnb=dnb, dists=dists, verbose=TRUE, maximum=TRUE) glst <- lapply(dists, function(d) 1/(d^opt$maximum)) lw <- nb2listw(dnb, glist=glst, style="B") SLX <- lmSLX(CRIME ~ INC + HOVAL, data=COL.OLD, listw=lw) summary(SLX) summary(impacts(SLX)) } NA.COL.OLD <- COL.OLD NA.COL.OLD$CRIME[20:25] <- NA COL.err.NA <- errorsarlm(CRIME ~ INC + HOVAL, data=NA.COL.OLD, nb2listw(COL.nb), na.action=na.exclude) COL.err.NA$na.action COL.err.NA resid(COL.err.NA) \donttest{ lw <- nb2listw(COL.nb, style="W") system.time(COL.errW.eig <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, lw, method="eigen")) ocoef <- coefficients(COL.errW.eig) system.time(COL.errW.eig <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, lw, method="eigen", control=list(LAPACK=FALSE))) all.equal(ocoef, coefficients(COL.errW.eig)) system.time(COL.errW.eig <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, lw, method="eigen", control=list(compiled_sse=TRUE))) all.equal(ocoef, coefficients(COL.errW.eig)) system.time(COL.errW.eig <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, lw, method="Matrix_J", control=list(super=TRUE))) all.equal(ocoef, coefficients(COL.errW.eig)) system.time(COL.errW.eig <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, lw, method="Matrix_J", control=list(super=FALSE))) all.equal(ocoef, coefficients(COL.errW.eig)) system.time(COL.errW.eig <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, lw, method="Matrix_J", control=list(super=as.logical(NA)))) all.equal(ocoef, coefficients(COL.errW.eig)) system.time(COL.errW.eig <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, lw, method="Matrix", control=list(super=TRUE))) all.equal(ocoef, coefficients(COL.errW.eig)) system.time(COL.errW.eig <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, lw, method="Matrix", control=list(super=FALSE))) all.equal(ocoef, coefficients(COL.errW.eig)) system.time(COL.errW.eig <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, lw, method="Matrix", control=list(super=as.logical(NA)))) all.equal(ocoef, coefficients(COL.errW.eig)) system.time(COL.errW.eig <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, lw, method="spam", control=list(spamPivot="MMD"))) all.equal(ocoef, coefficients(COL.errW.eig)) system.time(COL.errW.eig <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, lw, method="spam", control=list(spamPivot="RCM"))) all.equal(ocoef, coefficients(COL.errW.eig)) system.time(COL.errW.eig <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, lw, method="spam_update", control=list(spamPivot="MMD"))) all.equal(ocoef, coefficients(COL.errW.eig)) system.time(COL.errW.eig <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, lw, method="spam_update", control=list(spamPivot="RCM"))) all.equal(ocoef, coefficients(COL.errW.eig)) } } \keyword{spatial} spdep/man/p.adjustSP.Rd0000644000176200001440000000327211716033161014425 0ustar liggesusers% Copyright 2004 by Roger S. Bivand \name{p.adjustSP} \alias{p.adjustSP} %- Also NEED an '\alias' for EACH other topic documented here. \title{Adjust local association measures' p-values} \description{ Make an adjustment to local association measures' p-values based on the number of neighbours (+1) of each region, rather than the total number of regions. } \usage{ p.adjustSP(p, nb, method = "none") } %- maybe also 'usage' for other objects documented here. \arguments{ \item{p}{vector of p-values} \item{nb}{a list of neighbours of class \code{nb}} \item{method}{correction method as defined in \code{\link{p.adjust}}: "The adjustment methods include the Bonferroni correction ('"bonferroni"') in which the p-values are multiplied by the number of comparisons. Four less conservative corrections are also included by Holm (1979) ('"holm"'), Hochberg (1988) ('"hochberg"'), Hommel (1988) ('"hommel"') and Benjamini & Hochberg (1995) ('"fdr"'), respectively. A pass-through option ('"none"') is also included."} } \value{ A vector of corrected p-values using only the number of neighbours + 1. } \author{Danlin Yu and Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{p.adjust}}, \code{\link{localG}}, \code{\link{localmoran}}} \examples{ data(afcon) oid <- order(afcon$id) resG <- as.vector(localG(afcon$totcon, nb2listw(include.self(paper.nb)))) non <- format.pval(pnorm(2*(abs(resG)), lower.tail=FALSE), 2) bon <- format.pval(p.adjustSP(pnorm(2*(abs(resG)), lower.tail=FALSE), paper.nb, "bonferroni"), 2) tot <- format.pval(p.adjust(pnorm(2*(abs(resG)), lower.tail=FALSE), "bonferroni", n=length(resG)), 2) data.frame(resG, non, bon, tot, row.names=afcon$name)[oid,] } \keyword{spatial} spdep/man/huddersfield.Rd0000644000176200001440000000127511716033161015075 0ustar liggesusers\name{huddersfield} \alias{huddersfield} \docType{data} \title{Prevalence of respiratory symptoms} \description{ Prevalence of respiratory symptoms in 71 school catchment areas in Huddersfield, Northern England } \usage{data(huddersfield)} \format{ A data frame with 71 observations on the following 2 variables. \describe{ \item{\code{cases}}{Prevalence of at least mild conditions} \item{\code{total}}{Number of questionnaires returned} } } \source{ Martuzzi M, Elliott P (1996) Empirical Bayes estimation of small area prevalence of non-rare conditions, Statistics in Medicine 15, 1867--1873, pp. 1870--1871. } \examples{ data(huddersfield) str(huddersfield) } \keyword{datasets} spdep/man/aple.Rd0000644000176200001440000000526412230041537013354 0ustar liggesusers\name{aple} \alias{aple} %- Also NEED an '\alias' for EACH other topic documented here. \title{Approximate profile-likelihood estimator (APLE)} \description{ The Approximate profile-likelihood estimator (APLE) of the simultaneous autoregressive model's spatial dependence parameter was introduced in Li et al. (2007). It employs a correction term using the eigenvalues of the spatial weights matrix, and consequently should not be used for large numbers of observations. It also requires that the variable has a mean of zero, and it is assumed that it has been detrended. The spatial weights object is assumed to be row-standardised, that is using default \code{style="W"} in \code{nb2listw}. } \usage{ aple(x, listw, override_similarity_check=FALSE, useTrace=TRUE) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{x}{a zero-mean detrended continuous variable} \item{listw}{a \code{listw} object from for example \code{nb2listw}} \item{override\_similarity\_check}{default FALSE, if TRUE - typically for row-standardised weights with asymmetric underlying general weights - similarity is not checked} \item{useTrace}{default TRUE, use trace of sparse matrix \code{W \%*\% W} (Li et al. (2010)), if FALSE, use crossproduct of eigenvalues of \code{W} as in Li et al. (2007)} } \details{ This implementation has been checked with Hongfei Li's own implementation using her data; her help was very valuable. } \value{ A scalar APLE value. } \references{Li, H, Calder, C. A. and Cressie N. A. C. (2007) Beyond Moran's I: testing for spatial dependence based on the spatial autoregressive model. Geographical Analysis 39, 357-375; Li, H, Calder, C. A. and Cressie N. A. C. (2012) One-step estimation of spatial dependence parameters: Properties and extensions of the APLE statistic, Journal of Multivariate Analysis 105, 68-84.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{nb2listw}}, \code{\link{aple.mc}}, \code{\link{aple.plot}} } \examples{ example(wheat) nbr1 <- poly2nb(wheat, queen=FALSE) nbrl <- nblag(nbr1, 2) nbr12 <- nblag_cumul(nbrl) cms0 <- with(as(wheat, "data.frame"), tapply(yield, c, median)) cms1 <- c(model.matrix(~ factor(c) -1, data=wheat) \%*\% cms0) wheat$yield_detrend <- wheat$yield - cms1 isTRUE(all.equal(c(with(as(wheat, "data.frame"), tapply(yield_detrend, c, median))), rep(0.0, 25), check.attributes=FALSE)) moran.test(wheat$yield_detrend, nb2listw(nbr12, style="W")) aple(as.vector(scale(wheat$yield_detrend, scale=FALSE)), nb2listw(nbr12, style="W")) \donttest{ errorsarlm(yield_detrend ~ 1, wheat, nb2listw(nbr12, style="W")) } } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{spatial} spdep/man/subset.nb.Rd0000644000176200001440000000221611716033161014332 0ustar liggesusers% Copyright 2001 by Roger S. Bivand \name{subset.nb} \alias{subset.nb} \title{Subset a neighbours list} \description{ The function subsets a neighbors list, retaining objects for which the subset argument vector is TRUE. } \usage{ \method{subset}{nb}(x, subset, ...) } \arguments{ \item{x}{an object of class \code{nb}} \item{subset}{logical expression} \item{...}{generic function pass-through} } \value{ The function returns an object of class \code{nb} with a list of integer vectors containing neighbour region number ids (compacted to run from 1:number of regions in subset). } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{nb2listw}}} \examples{ example(columbus) coords <- coordinates(columbus) plot(col.gal.nb, coords) to.be.dropped <- c(31, 34, 36, 39, 42, 46) text(coords[to.be.dropped,1], coords[to.be.dropped,2], labels=to.be.dropped, pos=2, offset=0.3) sub.col.gal.nb <- subset(col.gal.nb, !(1:length(col.gal.nb) \%in\% to.be.dropped)) plot(sub.col.gal.nb, coords[-to.be.dropped,], col="red", add=TRUE) which(!(attr(col.gal.nb, "region.id") \%in\% attr(sub.col.gal.nb, "region.id"))) } \keyword{spatial} spdep/man/read.gal.Rd0000644000176200001440000000537412770451462014125 0ustar liggesusers% Copyright 2001-3 by Roger S. Bivand \name{read.gal} \alias{read.gal} \alias{read.geoda} \title{Read a GAL lattice file into a neighbours list} \description{ The function \code{read.gal()} reads a GAL lattice file into a neighbours list for spatial analysis. It will read old and new style (GeoDa) GAL files. The function \code{read.geoda} is a helper file for reading comma separated value data files, calling \code{read.csv()}. } \usage{ read.gal(file, region.id=NULL, override.id=FALSE) read.geoda(file, row.names=NULL, skip=0) } \arguments{ \item{file}{name of file with GAL lattice data} \item{region.id}{region IDs in specified order to coerse neighbours list order and numbering to that of the region.id} \item{override.id}{override any given (or NULL) region.id, collecting region.id numbering and order from the GAL file.} \item{row.names}{as in row.names in \code{read.csv()}, typically a character string naming the column of the file to be used} \item{skip}{skip number of lines, as in \code{read.csv()}} } \details{ Luc Anselin (2003): Spatial Analysis Laboratory, Department of Agricultural and Consumer Economics, University of Illinois, Urbana-Champaign, \url{http://www.csiss.org/gispopsci/workshops/2011/PSU/readings/W15_Anselin2007.pdf}; Luc Anselin (2003) \emph{GeoDa 0.9 User's Guide}, pp. 80--81, Spatial Analysis Laboratory, Department of Agricultural and Consumer Economics, University of Illinois, Urbana-Champaign, \url{https://s3.amazonaws.com/geoda/software/docs/geoda093.pdf}; GAL - Geographical Algorithms Library, University of Newcastle} \value{ The function \code{read.gal()} returns an object of class \code{nb} with a list of integer vectors containing neighbour region number ids. The function \code{read.geoda} returns a data frame, and issues a warning if the returned object has only one column. } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \note{Example data originally downloaded from now dead link: http://sal.agecon.uiuc.edu/weights/zips/us48.zip} \seealso{\code{\link{summary.nb}}} \examples{ us48.fipsno <- read.geoda(system.file("etc/weights/us48.txt", package="spdep")[1]) us48.q <- read.gal(system.file("etc/weights/us48_q.GAL", package="spdep")[1], us48.fipsno$Fipsno) us48.r <- read.gal(system.file("etc/weights/us48_rk.GAL", package="spdep")[1], us48.fipsno$Fipsno) data(state) if (as.numeric(paste(version$major, version$minor, sep="")) < 19) { m50.48 <- match(us48.fipsno$"State.name", state.name) } else { m50.48 <- match(us48.fipsno$"State_name", state.name) } plot(us48.q, as.matrix(as.data.frame(state.center))[m50.48,]) plot(diffnb(us48.r, us48.q), as.matrix(as.data.frame(state.center))[m50.48,], add=TRUE, col="red") title(main="Differences between rook and queen criteria imported neighbours lists") } \keyword{spatial} spdep/man/choynowski.Rd0000644000176200001440000000455211716033161014631 0ustar liggesusers% Copyright 2004-2010 by Roger S. Bivand \name{choynowski} \alias{choynowski} \title{Choynowski probability map values} \description{ Calculates Choynowski probability map values. } \usage{ choynowski(n, x, row.names=NULL, tol = .Machine$double.eps^0.5, legacy=FALSE) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{n}{a numeric vector of counts of cases} \item{x}{a numeric vector of populations at risk} \item{row.names}{row names passed through to output data frame} \item{tol}{accumulate values for observed counts >= expected until value less than tol} \item{legacy}{default FALSE using vectorised alternating side \code{ppois} version, if true use original version written from sources and iterating down to \code{tol}} } \value{ A data frame with columns: \item{pmap}{Poisson probability map values: probablility of getting a more ``extreme'' count than actually observed, one-tailed with less than expected and more than expected folded together} \item{type}{logical: TRUE if observed count less than expected} } \references{Choynowski, M (1959) Maps based on probabilities, Journal of the American Statistical Association, 54, 385--388; Cressie, N, Read, TRC (1985), Do sudden infant deaths come in clusters? Statistics and Decisions, Supplement Issue 2, 333--349; Bailey T, Gatrell A (1995) Interactive Spatial Data Analysis, Harlow: Longman, pp. 300--303.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{probmap}}} \examples{ example(auckland) res <- choynowski(auckland$M77_85, 9*auckland$Und5_81) resl <- choynowski(auckland$M77_85, 9*auckland$Und5_81, legacy=TRUE) all.equal(res, resl) rt <- sum(auckland$M77_85)/sum(9*auckland$Und5_81) ch_ppois_pmap <- numeric(length(auckland$Und5_81)) side <- c("greater", "less") for (i in seq(along=ch_ppois_pmap)) { ch_ppois_pmap[i] <- poisson.test(auckland$M77_85[i], r=rt, T=(9*auckland$Und5_81[i]), alternative=side[(res$type[i]+1)])$p.value } all.equal(ch_ppois_pmap, res$pmap) res1 <- probmap(auckland$M77_85, 9*auckland$Und5_81) table(abs(res$pmap - res1$pmap) < 0.00001, res$type) lt005 <- (res$pmap < 0.05) & (res$type) ge005 <- (res$pmap < 0.05) & (!res$type) cols <- rep("white", length(lt005)) cols[lt005] <- grey(2/7) cols[ge005] <- grey(5/7) plot(auckland, col=cols) legend("bottomleft", fill=grey(c(2,5)/7), legend=c("low", "high"), bty="n") } \keyword{spatial} spdep/man/geary.mc.Rd0000644000176200001440000000543411716033161014141 0ustar liggesusers% Copyright 2001-8 by Roger S. Bivand \name{geary.mc} \alias{geary.mc} \title{Permutation test for Geary's C statistic} \description{ A permutation test for Geary's C statistic calculated by using nsim random permutations of x for the given spatial weighting scheme, to establish the rank of the observed statistic in relation to the nsim simulated values. } \usage{ geary.mc(x, listw, nsim, zero.policy=NULL, alternative="greater", spChk=NULL, adjust.n=TRUE, return_boot=FALSE) } \arguments{ \item{x}{a numeric vector the same length as the neighbours list in listw} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{nsim}{number of permutations} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{alternative}{a character string specifying the alternative hypothesis, must be one of "greater" (default), or "less"; this reversal corresponds to that on \code{\link{geary.test}} described in the section on the output statistic value, based on Cliff and Ord 1973, p. 21 (changed 2011-04-11, thanks to Daniel Garavito).} \item{spChk}{should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use \code{get.spChkOption()}} \item{adjust.n}{default TRUE, if FALSE the number of observations is not adjusted for no-neighbour observations, if TRUE, the number of observations is adjusted} \item{return_boot}{return an object of class \code{boot} from the equivalent permutation bootstrap rather than an object of class \code{htest}} } \value{ A list with class \code{htest} and \code{mc.sim} containing the following components: \item{statistic}{the value of the observed Geary's C.} \item{parameter}{the rank of the observed Geary's C.} \item{p.value}{the pseudo p-value of the test.} \item{alternative}{a character string describing the alternative hypothesis.} \item{method}{a character string giving the method used.} \item{data.name}{a character string giving the name(s) of the data, and the number of simulations.} \item{res}{nsim simulated values of statistic, final value is observed statistic} } \references{Cliff, A. D., Ord, J. K. 1981 Spatial processes, Pion, p. 63-5.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{geary}}, \code{\link{geary.test}}} \examples{ data(oldcol) sim1 <- geary.mc(COL.OLD$CRIME, nb2listw(COL.nb, style="W"), nsim=99, alternative="less") sim1 mean(sim1$res) var(sim1$res) summary(sim1$res) colold.lags <- nblag(COL.nb, 3) sim2 <- geary.mc(COL.OLD$CRIME, nb2listw(colold.lags[[2]], style="W"), nsim=99) sim2 summary(sim2$res) sim3 <- geary.mc(COL.OLD$CRIME, nb2listw(colold.lags[[3]], style="W"), nsim=99) sim3 summary(sim3$res) } \keyword{spatial} spdep/man/impacts.sarlm.Rd0000644000176200001440000002557113052107116015212 0ustar liggesusers\name{impacts} \Rdversion{1.1} \alias{impacts} \alias{impacts.sarlm} \alias{impacts.stsls} \alias{impacts.gmsar} \alias{impacts.SLX} \alias{impacts.MCMC_sar_g} \alias{impacts.lagmess} \alias{plot.lagImpact} \alias{print.lagImpact} \alias{summary.lagImpact} \alias{print.summary.lagImpact} \alias{print.WXImpact} \alias{summary.WXImpact} \alias{print.summary.WXImpact} \alias{HPDinterval.lagImpact} \alias{intImpacts} \title{Impacts in spatial lag models} \description{The calculation of impacts for spatial lag and spatial Durbin models is needed in order to interpret the regression coefficients correctly, because of the spillovers between the terms in these data generation processes (unlike the spatial error model). Methods for \dQuote{SLX} and Bayesian fitted models are also provided, the former do not need MC simulations, while the latter pass through MCMC draws.} \usage{ \method{impacts}{sarlm}(obj, \dots, tr, R = NULL, listw = NULL, useHESS = NULL, tol = 1e-06, empirical = FALSE, Q=NULL) \method{impacts}{stsls}(obj, \dots, tr, R = NULL, listw = NULL, tol = 1e-06, empirical = FALSE, Q=NULL) \method{impacts}{gmsar}(obj, \dots, n = NULL, tr = NULL, R = NULL, listw = NULL, tol = 1e-06, empirical = FALSE, Q=NULL) \method{impacts}{lagmess}(obj, ..., R=NULL, listw=NULL, tol=1e-6, empirical=FALSE) \method{impacts}{SLX}(obj, ...) \method{impacts}{MCMC_sar_g}(obj, ..., tr=NULL, listw=NULL, Q=NULL) \method{plot}{lagImpact}(x, ..., choice="direct", trace=FALSE, density=TRUE) \method{print}{lagImpact}(x, ..., reportQ=NULL) \method{summary}{lagImpact}(object, ..., zstats=FALSE, short=FALSE, reportQ=NULL) \method{print}{WXImpact}(x, ...) \method{summary}{WXImpact}(object, ..., adjust_k=FALSE) \method{HPDinterval}{lagImpact}(obj, prob = 0.95, ..., choice="direct") intImpacts(rho, beta, P, n, mu, Sigma, irho, drop2beta, bnames, interval, type, tr, R, listw, tol, empirical, Q, icept, iicept, p, mess=FALSE, samples=NULL) } \arguments{ \item{obj}{A spatial regression object created by \code{lagsarlm}, \code{lagmess} or by \code{lmSLX}; in \code{HPDinterval.lagImpact}, a lagImpact object} \item{\dots}{Arguments passed through to methods in the \pkg{coda} package} \item{tr}{A vector of traces of powers of the spatial weights matrix created using \code{trW}, for approximate impact measures; if not given, \code{listw} must be given for exact measures (for small to moderate spatial weights matrices); the traces must be for the same spatial weights as were used in fitting the spatial regression, and must be row-standardised} \item{listw}{If \code{tr} is not given, a spatial weights object as created by \code{nb2listw}; they must be the same spatial weights as were used in fitting the spatial regression, but do not have to be row-standardised} \item{n}{defaults to \code{length(obj$residuals)}; in the method for \code{gmsar} objects it may be used in panel settings to compute the impacts for cross-sectional weights only, suggested by Angela Parenti} \item{R}{If given, simulations are used to compute distributions for the impact measures, returned as \code{mcmc} objects; the objects are used for convenience but are not output by an MCMC process} \item{useHESS}{Use the Hessian approximation (if available) even if the asymptotic coefficient covariance matrix is available; used for comparing methods} \item{tol}{Argument passed to \code{mvrnorm}: tolerance (relative to largest variance) for numerical lack of positive-definiteness in the coefficient covariance matrix} \item{empirical}{Argument passed to \code{mvrnorm} (default FALSE): if true, the coefficients and their covariance matrix specify the empirical not population mean and covariance matrix} \item{Q}{default NULL, else an integer number of cumulative power series impacts to calculate if \code{tr} is given} \item{reportQ}{default NULL; if TRUE and \code{Q} given as an argument to \code{impacts}, report impact components} \item{x, object}{lagImpact objects created by \code{impacts} methods} \item{zstats}{default FALSE, if TRUE, also return z-values and p-values for the impacts based on the simulations} \item{short}{default FALSE, if TRUE passed to the print summary method to omit printing of the mcmc summaries} \item{choice}{One of three impacts: direct, indirect, or total} \item{trace}{Argument passed to \code{plot.mcmc}: plot trace plots} \item{density}{Argument passed to \code{plot.mcmc}: plot density plots} \item{prob}{Argument passed to \code{HPDinterval.mcmc}: a numeric scalar in the interval (0,1) giving the target probability content of the intervals} \item{adjust_k}{adjust ML SDEM standard errors by dividing by (n-k) rather than n} \item{rho, beta, P, mu, Sigma, irho, drop2beta, bnames, interval, type, icept, iicept, p, mess, samples}{internal arguments shared inside impacts methods} } \details{If called without \code{R} being set, the method returns the direct, indirect and total impacts for the variables in the model, for the variables themselves in tha spatial lag model case, for the variables and their spatial lags in the spatial Durbin (mixed) model case. The spatial lag impact measures are computed using eq. 2.46 (LeSage and Pace, 2009, p. 38), either using the exact dense matrix (when \code{listw} is given), or traces of powers of the weights matrix (when \code{tr} is given). When the traces are created by powering sparse matrices, the exact and the trace methods should give very similar results, unless the number of powers used is very small, or the spatial coefficient is close to its bounds. If \code{R} is given, simulations will be used to create distributions for the impact measures, provided that the fitted model object contains a coefficient covariance matrix. The simulations are made using \code{\link[MASS]{mvrnorm}} with the coefficients and their covariance matrix from the fitted model. The simulations are stored as \code{mcmc} objects as defined in the \pkg{coda} package; the objects are used for convenience but are not output by an MCMC process. The simulated values of the coefficients are checked to see that the spatial coefficient remains within its valid interval --- draws outside the interval are discarded. When \code{Q} and \code{tr} are given, addition impact component results are provided for each step in the traces of powers of the weights matrix up to and including the \code{Q}'th power. This increases computing time because the output object is substantially increased in size in proportion to the size of \code{Q}. The method for \code{gmsar} objects is only for those of \code{type} \code{SARAR} output by \code{gstsls}, and assume that the spatial error coefficient is fixed, and thus omitted from the coefficients and covariance matrix used for simulation. } \value{ An object of class lagImpact. If no simulation is carried out, the object returned is a list with: \item{direct}{numeric vector} \item{indirect}{numeric vector} \item{total}{numeric vector} and a matching \code{Qres} list attribute if \code{Q} was given. If simulation is carried out, the object returned is a list with: \item{res}{a list with three components as for the non-simulation case, with a matching \code{Qres} list attribute if \code{Q} was given} \item{sres}{a list with three \code{mcmc} matrices, for the direct, indirect and total impacts with a matching \code{Qmcmc} list attribute if \code{Q} was given} } \references{LeSage J and RK Pace (2009) \emph{Introduction to Spatial Econometrics}. CRC Press, Boca Raton, pp. 33--42, 114--115; LeSage J and MM Fischer (2008) Spatial growth regressions: model specification, estimation and interpretation. \emph{Spatial Economic Analysis} 3 (3), pp. 275--304. Roger Bivand, Gianfranco Piras (2015). Comparing Implementations of Estimation Methods for Spatial Econometrics. \emph{Journal of Statistical Software}, 63(18), 1-36. \url{http://www.jstatsoft.org/v63/i18/}. } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{ \code{\link{trW}}, \code{\link{lagsarlm}}, \code{\link{nb2listw}}, \code{\link[MASS]{mvrnorm}}, \code{\link[coda]{plot.mcmc}}, \code{\link[coda]{summary.mcmc}}, \code{\link[coda]{HPDinterval}} } \examples{ example(columbus) listw <- nb2listw(col.gal.nb) lobj <- lagsarlm(CRIME ~ INC + HOVAL, columbus, listw) summary(lobj) mobj <- lagsarlm(CRIME ~ INC + HOVAL, columbus, listw, type="mixed") summary(mobj) W <- as(listw, "CsparseMatrix") trMatc <- trW(W, type="mult") trMC <- trW(W, type="MC") set.seed(1) impacts(lobj, listw=listw) impacts(lobj, tr=trMatc) impacts(lobj, tr=trMC) lobj1 <- stsls(CRIME ~ INC + HOVAL, columbus, listw) loobj1 <- impacts(lobj1, tr=trMatc, R=200) summary(loobj1, zstats=TRUE, short=TRUE) library(coda) HPDinterval(loobj1) lobj1r <- stsls(CRIME ~ INC + HOVAL, columbus, listw, robust=TRUE) loobj1r <- impacts(lobj1r, tr=trMatc, R=200) summary(loobj1r, zstats=TRUE, short=TRUE) lobjIQ5 <- impacts(lobj, tr=trMatc, R=200, Q=5) summary(lobjIQ5, zstats=TRUE, short=TRUE) summary(lobjIQ5, zstats=TRUE, short=TRUE, reportQ=TRUE) impacts(mobj, listw=listw) impacts(mobj, tr=trMatc) impacts(mobj, tr=trMC) summary(impacts(mobj, tr=trMatc, R=200), zstats=TRUE) xobj <- lmSLX(CRIME ~ INC + HOVAL, columbus, listw) summary(impacts(xobj)) eobj <- errorsarlm(CRIME ~ INC + HOVAL, columbus, listw, etype="emixed") summary(impacts(eobj), adjust_k=TRUE) \dontrun{ mobj1 <- lagsarlm(CRIME ~ INC + HOVAL, columbus, listw, type="mixed", method="Matrix", control=list(fdHess=TRUE)) summary(mobj1) set.seed(1) summary(impacts(mobj1, tr=trMatc, R=1000), zstats=TRUE, short=TRUE) summary(impacts(mobj, tr=trMatc, R=1000), zstats=TRUE, short=TRUE) mobj2 <- lagsarlm(CRIME ~ INC + HOVAL, columbus, listw, type="mixed", method="Matrix", control=list(fdHess=TRUE, optimHess=TRUE)) summary(impacts(mobj2, tr=trMatc, R=1000), zstats=TRUE, short=TRUE) mobj3 <- lagsarlm(CRIME ~ INC + HOVAL, columbus, listw, type="mixed", method="spam", control=list(fdHess=TRUE)) summary(impacts(mobj3, tr=trMatc, R=1000), zstats=TRUE, short=TRUE) data(boston) Wb <- as(nb2listw(boston.soi), "CsparseMatrix") trMatb <- trW(Wb, type="mult") gp2mMi <- lagsarlm(log(CMEDV) ~ CRIM + ZN + INDUS + CHAS + I(NOX^2) + I(RM^2) + AGE + log(DIS) + log(RAD) + TAX + PTRATIO + B + log(LSTAT), data=boston.c, nb2listw(boston.soi), type="mixed", method="Matrix", control=list(fdHess=TRUE), trs=trMatb) summary(gp2mMi) summary(impacts(gp2mMi, tr=trMatb, R=1000), zstats=TRUE, short=TRUE) data(house) lw <- nb2listw(LO_nb) form <- formula(log(price) ~ age + I(age^2) + I(age^3) + log(lotsize) + rooms + log(TLA) + beds + syear) lobj <- lagsarlm(form, house, lw, method="Matrix", control=list(fdHess=TRUE), trs=trMat) summary(lobj) loobj <- impacts(lobj, tr=trMat, R=1000) summary(loobj, zstats=TRUE, short=TRUE) lobj1 <- stsls(form, house, lw) loobj1 <- impacts(lobj1, tr=trMat, R=1000) summary(loobj1, zstats=TRUE, short=TRUE) mobj <- lagsarlm(form, house, lw, type="mixed", method="Matrix", control=list(fdHess=TRUE), trs=trMat) summary(mobj) moobj <- impacts(mobj, tr=trMat, R=1000) summary(moobj, zstats=TRUE, short=TRUE) } } \keyword{spatial} spdep/man/moran.test.Rd0000644000176200001440000001147211716033161014525 0ustar liggesusers% Copyright 2001-8 by Roger S. Bivand \name{moran.test} \alias{moran.test} \title{Moran's I test for spatial autocorrelation} \description{ Moran's test for spatial autocorrelation using a spatial weights matrix in weights list form. The assumptions underlying the test are sensitive to the form of the graph of neighbour relationships and other factors, and results may be checked against those of \code{moran.mc} permutations. } \usage{ moran.test(x, listw, randomisation=TRUE, zero.policy=NULL, alternative="greater", rank = FALSE, na.action=na.fail, spChk=NULL, adjust.n=TRUE) } \arguments{ \item{x}{a numeric vector the same length as the neighbours list in listw} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{randomisation}{variance of I calculated under the assumption of randomisation, if FALSE normality} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{alternative}{a character string specifying the alternative hypothesis, must be one of greater (default), less or two.sided.} \item{rank}{logical value - default FALSE for continuous variables, if TRUE, uses the adaptation of Moran's I for ranks suggested by Cliff and Ord (1981, p. 46)} \item{na.action}{a function (default \code{na.fail}), can also be \code{na.omit} or \code{na.exclude} - in these cases the weights list will be subsetted to remove NAs in the data. It may be necessary to set zero.policy to TRUE because this subsetting may create no-neighbour observations. Note that only weights lists created without using the glist argument to \code{nb2listw} may be subsetted. If \code{na.pass} is used, zero is substituted for NA values in calculating the spatial lag} \item{spChk}{should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use \code{get.spChkOption()}} \item{adjust.n}{default TRUE, if FALSE the number of observations is not adjusted for no-neighbour observations, if TRUE, the number of observations is adjusted} } \value{ A list with class \code{htest} containing the following components: \item{statistic}{the value of the standard deviate of Moran's I.} \item{p.value}{the p-value of the test.} \item{estimate}{the value of the observed Moran's I, its expectation and variance under the method assumption.} \item{alternative}{a character string describing the alternative hypothesis.} \item{method}{a character string giving the assumption used for calculating the standard deviate.} \item{data.name}{a character string giving the name(s) of the data.} } \note{Var(I) is taken from Cliff and Ord (1969, p. 28), and Goodchild's CATMOG 47 (1986), see also Upton & Fingleton (1985) p. 171; it agrees with SpaceStat, see Tutorial workbook Chapter 22; VI is the second crude moment minus the square of the first crude moment. The derivation of the test (Cliff and Ord, 1981, p. 18) assumes that the weights matrix is symmetric. For inherently non-symmetric matrices, such as k-nearest neighbour matrices, \code{listw2U()} can be used to make the matrix symmetric. } \references{Cliff, A. D., Ord, J. K. 1981 Spatial processes, Pion, p. 21.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{moran}}, \code{\link{moran.mc}}, \code{\link{listw2U}}} \examples{ data(oldcol) coords.OLD <- cbind(COL.OLD$X, COL.OLD$Y) moran.test(COL.OLD$CRIME, nb2listw(COL.nb, style="W")) moran.test(COL.OLD$CRIME, nb2listw(COL.nb, style="B")) moran.test(COL.OLD$CRIME, nb2listw(COL.nb, style="C")) moran.test(COL.OLD$CRIME, nb2listw(COL.nb, style="S")) moran.test(COL.OLD$CRIME, nb2listw(COL.nb, style="W"), randomisation=FALSE) colold.lags <- nblag(COL.nb, 3) moran.test(COL.OLD$CRIME, nb2listw(colold.lags[[2]], style="W")) moran.test(COL.OLD$CRIME, nb2listw(colold.lags[[3]], style="W")) print(is.symmetric.nb(COL.nb)) COL.k4.nb <- knn2nb(knearneigh(coords.OLD, 4)) print(is.symmetric.nb(COL.k4.nb)) moran.test(COL.OLD$CRIME, nb2listw(COL.k4.nb, style="W")) moran.test(COL.OLD$CRIME, nb2listw(COL.k4.nb, style="W"), randomisation=FALSE) cat("Note: non-symmetric weights matrix, use listw2U()") moran.test(COL.OLD$CRIME, listw2U(nb2listw(COL.k4.nb, style="W"))) moran.test(COL.OLD$CRIME, listw2U(nb2listw(COL.k4.nb, style="W")), randomisation=FALSE) ranks <- rank(COL.OLD$CRIME) names(ranks) <- rownames(COL.OLD) moran.test(ranks, nb2listw(COL.nb, style="W"), rank=TRUE) crime <- COL.OLD$CRIME is.na(crime) <- sample(1:length(crime), 10) res <- try(moran.test(crime, nb2listw(COL.nb, style="W"), na.action=na.fail)) res moran.test(crime, nb2listw(COL.nb, style="W"), zero.policy=TRUE, na.action=na.omit) moran.test(crime, nb2listw(COL.nb, style="W"), zero.policy=TRUE, na.action=na.exclude) moran.test(crime, nb2listw(COL.nb, style="W"), na.action=na.pass) } \keyword{spatial} spdep/man/lee.test.Rd0000644000176200001440000000767512324523733014175 0ustar liggesusers% Copyright 2014 by Roger S. Bivand,, Virgilio Gómez-Rubio \encoding{latin1} \name{lee.test} \alias{lee.test} \title{Lee's L test for spatial autocorrelation} \description{ Lee's L test for spatial autocorrelation using a spatial weights matrix in weights list form. The assumptions underlying the test are sensitive to the form of the graph of neighbour relationships and other factors, and results may be checked against those of \code{lee.mc} permutations. } \usage{ lee.test(x, y, listw, zero.policy=NULL, alternative="greater", na.action=na.fail, spChk=NULL) } \arguments{ \item{x}{a numeric vector the same length as the neighbours list in listw} \item{y}{a numeric vector the same length as the neighbours list in listw} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} % \item{randomisation}{variance of I calculated under the assumption of randomisation, if FALSE normality} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{alternative}{a character string specifying the alternative hypothesis, must be one of greater (default), less or two.sided.} % \item{rank}{logical value - default FALSE for continuous variables, if TRUE, uses the adaptation of Moran's I for ranks suggested by Cliff and Ord (1981, p. 46)} \item{na.action}{a function (default \code{na.fail}), can also be \code{na.omit} or \code{na.exclude} - in these cases the weights list will be subsetted to remove NAs in the data. It may be necessary to set zero.policy to TRUE because this subsetting may create no-neighbour observations. Note that only weights lists created without using the glist argument to \code{nb2listw} may be subsetted. If \code{na.pass} is used, zero is substituted for NA values in calculating the spatial lag} \item{spChk}{should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use \code{get.spChkOption()}} % \item{adjust.n}{default TRUE, if FALSE the number of observations is not adjusted for no-neighbour observations, if TRUE, the number of observations is adjusted} } \value{ A list with class \code{htest} containing the following components: \item{statistic}{the value of the standard deviate of Lee's L.} \item{p.value}{the p-value of the test.} \item{estimate}{the value of the observed Lee's L, its expectation and variance under the method assumption.} \item{alternative}{a character string describing the alternative hypothesis.} \item{method}{a character string giving the assumption used for calculating the standard deviate.} \item{data.name}{a character string giving the name(s) of the data.} } \note{See Lee (2004) for details on how the asymptotic expectation and variance of Lee's L is computed. In particular, check Lee (2004), table 1, page 1690. This test may fail for large datasets as the computation of the asymptotic expectation and variance requires the use of dense matrices.} \references{Lee (2004). A generalized significance testing method for global measures of spatial association: an extension of the Mantel test. Environment and Planning A 2004, volume 36, pages 1687 - 1703} \author{Roger Bivand and Virgilio Gómez-Rubio \email{Virgilio.Gomez@uclm.es}} \seealso{\code{\link{lee}}, \code{\link{lee.mc}}, \code{\link{listw2U}}} \examples{ data(oldcol) col.W <- nb2listw(COL.nb, style="W") crime <- COL.OLD$CRIME lee.test(crime, crime, col.W, zero.policy=TRUE) #Test with missing values x<-crime y<-crime x[1:5]<-NA y[3:7]<-NA lee.test(x, y, col.W, zero.policy=TRUE, na.action=na.omit) # lee.test(x, y, col.W, zero.policy=TRUE)#Stops with an error data(boston) lw<-nb2listw(boston.soi) x<-boston.c$CMEDV y<-boston.c$CRIM lee.test(x, y, lw, zero.policy=TRUE, alternative="less") #Test with missing values x[1:5]<-NA y[3:7]<-NA lee.test(x, y, lw, zero.policy=TRUE, alternative="less", na.action=na.omit) } \keyword{spatial} spdep/man/sp.mantel.mc.Rd0000644000176200001440000000665111716033161014735 0ustar liggesusers\name{sp.mantel.mc} \alias{sp.mantel.mc} \alias{plot.mc.sim} \title{Mantel-Hubert spatial general cross product statistic} \description{ A permutation test for the spatial general cross product statistic with Moran (\eqn{C_{ij} = z_i z_j}{C(i,j) = z(i)*z(j)}), Geary (\eqn{C_{ij} = (z_i - z_j)^2}{C(i,j) = (z(i) - z(j))^2}), and Sokal (\eqn{C_{ij} = |z_i - z_j|}{C(i,j) = |z(i) - z(j)|}) criteria, for \eqn{z_i = (x_i - \bar{x}) / \sigma_{x}}{z(i) = (x(i) - mean(x))/sd(x)}. \code{plot.mc.sim} is a helper function to plot the outcomes of the permutation test. } \usage{ sp.mantel.mc(var, listw, nsim, type = "moran", zero.policy = NULL, alternative = "greater", spChk=NULL, return_boot=FALSE) \method{plot}{mc.sim}(x, xlim, xlab, main, sub, ..., ptype="density") } %- maybe also `usage' for other objects documented here. \arguments{ \item{var}{a numeric vector the same length as the neighbours list in listw} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{nsim}{number of permutations} \item{type}{"moran", "geary" or "sokal" criteria for similarity} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{alternative}{a character string specifying the alternative hypothesis, must be one of "greater" (default), or "less".} \item{spChk}{should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use \code{get.spChkOption()}} \item{return_boot}{return an object of class \code{boot} from the equivalent permutation bootstrap rather than an object of class \code{htest}} \item{x}{the object to be plotted} \item{xlim}{the range of the x axis} \item{xlab}{a title for the x axis} \item{main}{an overall title for the plot} \item{sub}{a sub title for the plot} \item{ptype}{either "density" or "hist"} \item{...}{further arguments passed through} } \value{ A list with class \code{htest} and \code{mc.sim} containing the following components: \item{statistic}{the value of the observed Geary's C.} \item{parameter}{the rank of the observed Geary's C.} \item{alternative}{a character string describing the alternative hypothesis.} \item{method}{a character string giving the method used.} \item{data.name}{a character string giving the name(s) of the data, and the number of simulations.} \item{p.value}{the pseudo p-value of the test.} \item{res}{nsim simulated values of statistic, final value is observed statistic} \item{estimate}{the mean and variance of the simulated distribution.} } \references{Cliff, A. D., Ord, J. K. 1981 Spatial processes, Pion, p. 22-24, Haining, R. 1990 \emph{Spatial data analysis in the social and environmental sciences}, Cambridge: Cambridge University Press, p. 230--1. The function has been checked against general matrix code posted to the r-help list by Ben Bolker on 1 May 2001; another \code{mantel()} function is in the vegan package.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{moran.mc}}, \code{\link{joincount.mc}}, \code{\link{geary.mc}}} \examples{ data(oldcol) sim1 <- sp.mantel.mc(COL.OLD$CRIME, nb2listw(COL.nb), nsim=99, type="geary", alternative="less") sim1 plot(sim1) sp.mantel.mc(COL.OLD$CRIME, nb2listw(COL.nb), nsim=99, type="sokal", alternative="less") sp.mantel.mc(COL.OLD$CRIME, nb2listw(COL.nb), nsim=99, type="moran") } \keyword{spatial} spdep/man/globalG.test.Rd0000644000176200001440000000616412446052642014770 0ustar liggesusers% Copyright 2002-8 by Roger S. Bivand \name{globalG.test} \alias{globalG.test} \title{Global G test for spatial autocorrelation} \description{ The global G statistic for spatial autocorrelation, complementing the local Gi LISA measures: \code{\link{localG}}. } \usage{ globalG.test(x, listw, zero.policy=NULL, alternative="greater", spChk=NULL, adjust.n=TRUE, B1correct=TRUE) } \arguments{ \item{x}{a numeric vector the same length as the neighbours list in listw} \item{listw}{a \code{listw} object created for example by \code{nb2listw}; if a sequence of distance bands is to be used, it is recommended that the weights style be binary (one of \code{c("B", "C", "U")}).} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{alternative}{a character string specifying the alternative hypothesis, must be one of "greater" (default), "less" or "two.sided".} \item{spChk}{should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use \code{get.spChkOption()}} \item{adjust.n}{default TRUE, if FALSE the number of observations is not adjusted for no-neighbour observations, if TRUE, the number of observations is adjusted} \item{B1correct}{default TRUE, if TRUE, the erratum referenced below: "On page 195, the coefficient of W2 in B1, (just below center of the page) should be 6, not 3." is applied; if FALSE, 3 is used (as in CrimeStat IV)} } \value{ A list with class \code{htest} containing the following components: \item{statistic}{the value of the standard deviate of Moran's I.} \item{p.value}{the p-value of the test.} \item{estimate}{the value of the observed statistic, its expectation and variance.} \item{alternative}{a character string describing the alternative hypothesis.} \item{data.name}{a character string giving the name(s) of the data.} } \references{Getis. A, Ord, J. K. 1992 The analysis of spatial association by use of distance statistics, \emph{Geographical Analysis}, 24, p. 195; see also Getis. A, Ord, J. K. 1993 Erratum, \emph{Geographical Analysis}, 25, p. 276.} \author{Hisaji ONO \email{hi-ono@mn.xdsl.ne.jp} and Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{localG}}} \examples{ example(nc.sids) sidsrate79 <- (1000*nc.sids$SID79)/nc.sids$BIR79 dists <- c(10, 20, 30, 33, 40, 50, 60, 70, 80, 90, 100) ndists <- length(dists) ZG <- vector(mode="list", length=ndists) names(ZG) <- as.character(dists) milesxy <- cbind(nc.sids$east, nc.sids$north) for (i in 1:ndists) { thisnb <- dnearneigh(milesxy, 0, dists[i]) thislw <- nb2listw(thisnb, style="B", zero.policy=TRUE) ZG[[i]] <- globalG.test(sidsrate79, thislw, zero.policy=TRUE) } t(sapply(ZG, function(x) c(x$estimate[1], x$statistic, p.value=unname(x$p.value)))) for (i in 1:ndists) { thisnb <- dnearneigh(milesxy, 0, dists[i]) thislw <- nb2listw(thisnb, style="B", zero.policy=TRUE) ZG[[i]] <- globalG.test(sidsrate79, thislw, zero.policy=TRUE, alternative="two.sided") } t(sapply(ZG, function(x) c(x$estimate[1], x$statistic, p.value=unname(x$p.value)))) } \keyword{spatial} spdep/man/spweights.constants.Rd0000644000176200001440000000374411716033161016466 0ustar liggesusers% Copyright 2001-8 by Roger S. Bivand \name{spweights.constants} \alias{spweights.constants} \alias{Szero} \title{Provides constants for spatial weights matrices} \description{ The function calculates the constants needed for tests of spatial autocorrelation for general weights matrices represented as \code{listw} objects. Note: from spdep 0.3-32, the values of S1 and S2 are returned correctly for both underlying symmetric and asymmetric neighbour lists, before 0.3-32, S1 and S2 were wrong for listw objects based on asymmetric neighbour lists, such as k-nearest neighbours (thanks to Luc Anselin for finding the bug). } \usage{ spweights.constants(listw, zero.policy=NULL, adjust.n=TRUE) Szero(listw) } \arguments{ \item{listw}{a \code{listw} object from for example \code{nb2listw}} \item{zero.policy}{default NULL, use global option value; if TRUE ignore zones without neighbours, if FALSE fail when encountered} \item{adjust.n}{default TRUE, if FALSE the number of observations is not adjusted for no-neighbour observations, if TRUE, the number of observations is adjusted} } \value{ \item{n}{number of zones} \item{n1}{n - 1} \item{n2}{n - 2} \item{n3}{n - 3} \item{nn}{n * n} \item{S0}{global sum of weights} \item{S1}{S1 sum of weights} \item{S2}{S2 sum of weights} } \references{Haining, R. 1990 Spatial data analysis in the social and environmental sciences, Cambridge University Press, p. 233; Cliff, A. D., Ord, J. K. 1981 Spatial processes, Pion, p. 19, 21.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{nb2listw}}} \examples{ data(oldcol) B <- spweights.constants(nb2listw(COL.nb, style="B")) W <- spweights.constants(nb2listw(COL.nb, style="W")) C <- spweights.constants(nb2listw(COL.nb, style="C")) S <- spweights.constants(nb2listw(COL.nb, style="S")) U <- spweights.constants(nb2listw(COL.nb, style="U")) print(data.frame(rbind(unlist(B), unlist(W), unlist(C), unlist(S), unlist(U)), row.names=c("B", "W", "C", "S", "U"))) } \keyword{spatial} spdep/man/do_ldet.Rd0000644000176200001440000003716412456024627014064 0ustar liggesusers\name{do_ldet} \alias{do_ldet} \alias{jacobianSetup} \alias{eigen_setup} \alias{eigen_pre_setup} \alias{mcdet_setup} \alias{cheb_setup} \alias{spam_setup} \alias{spam_update_setup} \alias{Matrix_setup} \alias{Matrix_J_setup} \alias{LU_setup} \alias{LU_prepermutate_setup} \alias{moments_setup} \alias{SE_classic_setup} \alias{SE_whichMin_setup} \alias{SE_interp_setup} %- Also NEED an '\alias' for EACH other topic documented here. \title{Spatial regression model Jacobian computations} \description{These functions are made available in the package namespace for other developers, and are not intended for users. They provide a shared infrastructure for setting up data for Jacobian computation, and then for caclulating the Jacobian, either exactly or approximately, in maximum likelihood fitting of spatial regression models. The techniques used are the exact eigenvalue, Cholesky decompositions (Matrix, spam), and LU ones, with Chebyshev and Monte Carlo approximations; moments use the methods due to Martin and Smirnov/Anselin.} \usage{ do_ldet(coef, env, which=1) jacobianSetup(method, env, con, pre_eig=NULL, trs=NULL, interval=NULL, which=1) cheb_setup(env, q=5, which=1) mcdet_setup(env, p=16, m=30, which=1) eigen_setup(env, which=1) eigen_pre_setup(env, pre_eig, which=1) spam_setup(env, pivot="MMD", which=1) spam_update_setup(env, in_coef=0.1, pivot="MMD", which=1) Matrix_setup(env, Imult, super=as.logical(NA), which=1) Matrix_J_setup(env, super=FALSE, which=1) LU_setup(env, which=1) LU_prepermutate_setup(env, coef=0.1, order=FALSE, which=1) moments_setup(env, trs=NULL, m, p, type="MC", correct=TRUE, trunc=TRUE, eq7=TRUE, which=1) SE_classic_setup(env, SE_method="LU", p=16, m=30, nrho=200, interpn=2000, interval=c(-1,0.999), SElndet=NULL, which=1) SE_whichMin_setup(env, SE_method="LU", p=16, m=30, nrho=200, interpn=2000, interval=c(-1,0.999), SElndet=NULL, which=1) SE_interp_setup(env, SE_method="LU", p=16, m=30, nrho=200, interval=c(-1,0.999), which=1) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{coef}{spatial coefficient value} \item{env}{environment containing pre-computed objects, fixed after assignment in setup functions} \item{which}{default 1; if 2, use second listw object} \item{method}{string value, used by \code{jacobianSetup} to choose method} \item{con}{control list passed from model fitting function and parsed in \code{jacobianSetup} to set environment variables for method-specific setup} \item{pre_eig}{pre-computed eigenvalues of length n} \item{q}{Chebyshev approximation order; default in calling spdep functions is 5, here it cannot be missing and does not have a default} \item{p}{Monte Carlo approximation number of random normal variables; default calling spdep functions is 16, here it cannot be missing and does not have a default} \item{m}{Monte Carlo approximation number of series terms; default in calling spdep functions is 30, here it cannot be missing and does not have a default; \code{m} serves the same purpose in the moments method} \item{pivot}{default \dQuote{MMD}, may also be \dQuote{RCM} for Cholesky decompisition using spam} \item{in_coef}{fill-in initiation coefficient value, default 0.1} \item{Imult}{see \code{\link[Matrix]{Cholesky}}; numeric scalar which defaults to zero. The matrix that is decomposed is A+m*I where m is the value of Imult and I is the identity matrix of order ncol(A). Default in calling spdep functions is 2, here it cannot be missing and does not have a default, but is rescaled for binary weights matrices in proportion to the maximim row sum in those calling functions} \item{super}{see \code{\link[Matrix]{Cholesky}}; logical scalar indicating is a supernodal decomposition should be created. The alternative is a simplicial decomposition. Default in calling spdep functions is FALSE for \dQuote{Matrix_J} and \code{as.logical(NA)} for \dQuote{Matrix}. Setting it to NA leaves the choice to a CHOLMOD-internal heuristic} \item{order}{default FALSE; used in LU_prepermutate, note warnings given for \code{lu} method} \item{trs}{A numeric vector of \code{m} traces, as from \code{trW}} \item{type}{moments trace type, see \code{\link{trW}}} \item{correct}{default TRUE: use Smirnov correction term, see \code{\link{trW}}} \item{trunc}{default TRUE: truncate Smirnov correction term, see \code{\link{trW}}} \item{eq7}{default TRUE}{use equation 7 in Smirnov and Anselin (2009), if FALSE no unit root correction} \item{SE_method}{default \dQuote{LU}, alternatively \dQuote{MC}; underlying lndet method to use for generating SE toolbox emulation grid} \item{nrho}{default 200, number of lndet values in first stage SE toolbox emulation grid} \item{interval}{default c(-1,0.999) if interval argument NULL, bounds for SE toolbox emulation grid} \item{interpn}{default 2000, number of lndet values to interpolate in second stage SE toolbox emulation grid} \item{SElndet}{default NULL, used to pass a pre-computed two-column matrix of coefficient values and corresponding interpolated lndet values} } \details{Since environments are containers in the R workspace passed by reference rather than by value, they are useful for passing objects to functions called in numerical optimisation, here for the maximum likelihood estimation of spatial regression models. This technique can save a little time on each function call, balanced against the need to access the objects in the environment inside the function. The environment should contain a \code{family} string object either \dQuote{SAR}, \dQuote{CAR} or \dQuote{SMA} (used in \code{do_ldet} to choose spatial moving average in \code{spautolm}, and these specific objects before calling the set-up functions: \describe{ \item{eigen}{Classical Ord eigenvalue computations - either: \describe{ \item{listw}{A listw spatial weights object} \item{can.sim}{logical scalar: can the spatial weights be made symmetric by similarity} \item{verbose}{logical scalar: legacy report print control, for historical reasons only} } or: \describe{ \item{pre_eig}{pre-computed eigenvalues} } and assigns to the environment: \describe{ \item{eig}{a vector of eigenvalues} \item{eig.range}{the search interval for the spatial coefficient} \item{method}{string: \dQuote{eigen}} } } \item{Matrix}{Sparse matrix pre-computed Cholesky decomposition with fast updating: \describe{ \item{listw}{A listw spatial weights object} \item{can.sim}{logical scalar: can the spatial weights be made symmetric by similarity} } and assigns to the environment: \describe{ \item{csrw}{sparse spatial weights matrix} \item{nW}{negative sparse spatial weights matrix} \item{pChol}{a \dQuote{CHMfactor} from factorising \code{csrw} with \code{\link[Matrix]{Cholesky}}} \item{nChol}{a \dQuote{CHMfactor} from factorising \code{nW} with \code{\link[Matrix]{Cholesky}}} \item{method}{string: \dQuote{Matrix}} } } \item{Matrix_J}{Standard Cholesky decomposition without updating: \describe{ \item{listw}{A listw spatial weights object} \item{can.sim}{logical scalar: can the spatial weights be made symmetric by similarity} \item{n}{number of spatial objects} } and assigns to the environment: \describe{ \item{csrw}{sparse spatial weights matrix} \item{I}{sparse identity matrix} \item{super}{the value of the \code{super} argument} \item{method}{string: \dQuote{Matrix_J}} } } \item{spam}{Standard Cholesky decomposition without updating: \describe{ \item{listw}{A listw spatial weights object} \item{can.sim}{logical scalar: can the spatial weights be made symmetric by similarity} \item{n}{number of spatial objects} } and assigns to the environment: \describe{ \item{csrw}{sparse spatial weights matrix} \item{I}{sparse identity matrix} \item{pivot}{string --- pivot method} \item{method}{string: \dQuote{spam}} } } \item{spam_update}{Pre-computed Cholesky decomposition with updating: \describe{ \item{listw}{A listw spatial weights object} \item{can.sim}{logical scalar: can the spatial weights be made symmetric by similarity} \item{n}{number of spatial objects} } and assigns to the environment: \describe{ \item{csrw}{sparse spatial weights matrix} \item{I}{sparse identity matrix} \item{csrwchol}{A Cholesky decomposition for updating} \item{method}{string: \dQuote{spam}} } } \item{LU}{Standard LU decomposition without updating: \describe{ \item{listw}{A listw spatial weights object} \item{n}{number of spatial objects} } and assigns to the environment: \describe{ \item{W}{sparse spatial weights matrix} \item{I}{sparse identity matrix} \item{method}{string: \dQuote{LU}} } } \item{LU_prepermutate}{Standard LU decomposition with updating (pre-computed fill-reducing permutation): \describe{ \item{listw}{A listw spatial weights object} \item{n}{number of spatial objects} } and assigns to the environment: \describe{ \item{W}{sparse spatial weights matrix} \item{lu_order}{order argument to lu} \item{pq}{2-column matrix for row and column permutation for fill-reduction} \item{I}{sparse identity matrix} \item{method}{string: \dQuote{LU}} } } \item{MC}{Monte Carlo approximation: \describe{ \item{listw}{A listw spatial weights object} } and assigns to the environment: \describe{ \item{clx}{list of Monte Carlo approximation terms (the first two simulated traces are replaced by their analytical equivalents)} \item{W}{sparse spatial weights matrix} \item{method}{string: \dQuote{MC}} } } \item{cheb}{Chebyshev approximation: \describe{ \item{listw}{A listw spatial weights object} } and assigns to the environment: \describe{ \item{trT}{vector of Chebyshev approximation terms} \item{W}{sparse spatial weights matrix} \item{method}{string: \dQuote{Chebyshev}} } } \item{moments}{moments approximation: \describe{ \item{listw}{A listw spatial weights object} \item{can.sim}{logical scalar: can the spatial weights be made symmetric by similarity} } and assigns to the environment: \describe{ \item{trs}{vector of traces, possibly approximated} \item{q12}{integer vector of length 2, unit roots terms, ignored until 0.5-52} \item{eq7}{logical scalar: use equation 7} \item{correct}{logical scalar: use Smirnov correction term} \item{trunc}{logical scalar: truncate Smirnov correction term} \item{method}{string: \dQuote{moments}} } } \item{SE_classic}{: \describe{ \item{listw}{A listw spatial weights object} \item{n}{number of spatial objects} } and assigns to the environment: \describe{ \item{detval}{two column matrix of lndet grid values} \item{method}{string: \dQuote{SE_classic}} \item{SE_method}{string: \dQuote{LU} or \dQuote{MC}} } } \item{SE_whichMin}{: \describe{ \item{listw}{A listw spatial weights object} \item{n}{number of spatial objects} } and assigns to the environment: \describe{ \item{detval}{two column matrix of lndet grid values} \item{method}{string: \dQuote{SE_whichMin}} \item{SE_method}{string: \dQuote{LU} or \dQuote{MC}} } } \item{SE_interp}{: \describe{ \item{listw}{A listw spatial weights object} \item{n}{number of spatial objects} } and assigns to the environment: \describe{ \item{fit}{fitted spline object from which to predict lndet values} \item{method}{string: \dQuote{SE_interp}} \item{SE_method}{string: \dQuote{LU} or \dQuote{MC}} } } } Some set-up functions may also assign \code{similar} to the environment if the weights were made symmetric by similarity. Three set-up functions emulate the behaviour of the Spatial Econometrics toolbox (March 2010) maximum likelihood lndet grid performance. The toolbox lndet functions compute a smaller number of lndet values for a grid of coefficient values (spacing 0.01), and then interpolate to a finer grid of values (spacing 0.001). \dQuote{SE_classic}, which is an implementation of the SE toolbox code, for example in f_sar.m, appears to have selected a row in the grid matrix one below the correct row when the candidate coefficient value was between 0.005 and 0.01-fuzz, always rounding the row index down. A possible alternative is to choose the index that is closest to the candidate coefficient value (\dQuote{SE_whichMin}). Another alternative is to fit a spline model to the first stage coarser grid, and pass this fitted model to the log likelihood function to make a point prediction using the candidate coefficient value, rather than finding the grid index (\dQuote{SE_interp}). } \value{\code{do_ldet} returns the value of the Jacobian for the calculation method recorded in the environment argument, and for the Monte Carlo approximation, returns a measure of the spread of the approximation as an \dQuote{sd} attribute; the remaining functions modify the environment in place as a side effect and return nothing.} \references{LeSage J and RK Pace (2009) Introduction to Spatial Econometrics. CRC Press, Boca Raton, pp. 77--110. Bivand, R. S., Hauke, J., and Kossowski, T. (2013). Computing the Jacobian in Gaussian spatial autoregressive models: An illustrated comparison of available methods. \emph{Geographical Analysis}, 45(2), 150-179. } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{spautolm}}, \code{\link{lagsarlm}}, \code{\link{errorsarlm}}, \code{\link[Matrix]{Cholesky}}} \examples{ data(boston) lw <- nb2listw(boston.soi) can.sim <- spdep:::can.be.simmed(lw) env <- new.env(parent=globalenv()) assign("listw", lw, envir=env) assign("can.sim", can.sim, envir=env) assign("similar", FALSE, envir=env) assign("verbose", FALSE, envir=env) assign("family", "SAR", envir=env) eigen_setup(env) get("similar", envir=env) do_ldet(0.5, env) rm(env) env <- new.env(parent=globalenv()) assign("listw", lw, envir=env) assign("can.sim", can.sim, envir=env) assign("similar", FALSE, envir=env) assign("verbose", FALSE, envir=env) assign("family", "SAR", envir=env) assign("n", length(boston.soi), envir=env) eigen_pre_setup(env, pre_eig=eigenw(similar.listw(lw))) do_ldet(0.5, env) rm(env) env <- new.env(parent=globalenv()) assign("listw", lw, envir=env) assign("can.sim", can.sim, envir=env) assign("similar", FALSE, envir=env) assign("family", "SAR", envir=env) assign("n", length(boston.soi), envir=env) Matrix_setup(env, Imult=2, super=FALSE) get("similar", envir=env) do_ldet(0.5, env) rm(env) env <- new.env(parent=globalenv()) assign("listw", lw, envir=env) assign("n", length(boston.soi), envir=env) assign("can.sim", can.sim, envir=env) assign("similar", FALSE, envir=env) assign("family", "SAR", envir=env) spam_setup(env) get("similar", envir=env) do_ldet(0.5, env) rm(env) env <- new.env(parent=globalenv()) assign("listw", lw, envir=env) assign("n", length(boston.soi), envir=env) assign("similar", FALSE, envir=env) assign("family", "SAR", envir=env) LU_setup(env) get("similar", envir=env) do_ldet(0.5, env) rm(env) env <- new.env(parent=globalenv()) assign("listw", lw, envir=env) assign("n", length(boston.soi), envir=env) assign("similar", FALSE, envir=env) assign("family", "SAR", envir=env) LU_prepermutate_setup(env) get("similar", envir=env) do_ldet(0.5, env) rm(env) env <- new.env(parent=globalenv()) assign("listw", lw, envir=env) assign("similar", FALSE, envir=env) assign("family", "SAR", envir=env) cheb_setup(env, q=5) get("similar", envir=env) do_ldet(0.5, env) rm(env) env <- new.env(parent=globalenv()) assign("listw", lw, envir=env) assign("n", length(boston.soi), envir=env) assign("similar", FALSE, envir=env) assign("family", "SAR", envir=env) set.seed(12345) mcdet_setup(env, p=16, m=30) get("similar", envir=env) do_ldet(0.5, env) rm(env) } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{spatial} spdep/man/afcon.Rd0000644000176200001440000000410011716033161013507 0ustar liggesusers% Copyright 2001 by Roger S. Bivand \name{afcon} \alias{afcon} \alias{africa.rook.nb} \alias{afxy} \alias{paper.nb} \docType{data} \title{Spatial patterns of conflict in Africa 1966-78} \usage{data(afcon)} \description{ The \code{afcon} data frame has 42 rows and 5 columns, for 42 African countries, exclusing then South West Africa and Spanish Equatorial Africa and Spanish Sahara. The dataset is used in Anselin (1995), and downloaded from before adaptation. The neighbour list object \code{africa.rook.nb} is the SpaceStat \file{rook.GAL}, but is not the list used in Anselin (1995) - \code{paper.nb} reconstructs the list used in the paper, with inserted links between Mauritania and Morocco, South Africa and Angola and Zambia, Tanzania and Zaire, and Botswana and Zambia. \code{afxy} is the coordinate matrix for the centroids of the countries. } \format{ This data frame contains the following columns: \describe{ \item{x}{an easting in decimal degrees (taken as centroid of shapefile polygon)} \item{y}{an northing in decimal degrees (taken as centroid of shapefile polygon)} \item{totcon}{index of total conflict 1966-78} \item{name}{country name} \item{id}{country id number as in paper} } } \source{ Anselin, L. and John O'Loughlin. 1992. Geography of international conflict and cooperation: spatial dependence and regional context in Africa. In The New Geopolitics, ed. M. Ward, pp. 39-75. Philadelphia, PA: Gordon and Breach. also: Anselin, L. 1995. Local indicators of spatial association, Geographical Analysis, 27, Table 1, p. 103. } \note{ All source data files prepared by Luc Anselin, Spatial Analysis Laboratory, Department of Agricultural and Consumer Economics, University of Illinois, Urbana-Champaign. } \examples{ data(afcon) plot(africa.rook.nb, afxy) plot(diffnb(paper.nb, africa.rook.nb), afxy, col="red", add=TRUE) text(afxy, labels=attr(africa.rook.nb, "region.id"), pos=4, offset=0.4) moran.test(afcon$totcon, nb2listw(africa.rook.nb)) moran.test(afcon$totcon, nb2listw(paper.nb)) geary.test(afcon$totcon, nb2listw(paper.nb)) } \keyword{datasets} spdep/man/moran.plot.Rd0000644000176200001440000000414712210603042014514 0ustar liggesusers\name{moran.plot} \alias{moran.plot} \title{Moran scatterplot} \description{ A plot of spatial data against its spatially lagged values, augmented by reporting the summary of influence measures for the linear relationship between the data and the lag. If zero policy is TRUE, such observations are also marked if they occur. } \usage{ moran.plot(x, listw, zero.policy=NULL, spChk=NULL, labels=NULL, xlab=NULL, ylab=NULL, quiet=NULL, ...) } \arguments{ \item{x}{a numeric vector the same length as the neighbours list in listw} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{spChk}{should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use \code{get.spChkOption()}} \item{labels}{character labels for points with high influence measures, if set to FALSE, no labels are plotted for points with large influence} \item{xlab}{label for x axis} \item{ylab}{label for x axis} \item{quiet}{default NULL, use !verbose global option value; if TRUE, output of summary of influence object suppressed} \item{\dots}{further graphical parameters as in \code{par(..)}} } \value{ The function returns an influence object from \code{influence.measures}. } \references{Anselin, L. 1996. The Moran scatterplot as an ESDA tool to assess local instability in spatial association. pp. 111--125 in M. M. Fischer, H. J. Scholten and D. Unwin (eds) Spatial analytical perspectives on GIS, London, Taylor and Francis; Anselin, L. 1995. Local indicators of spatial association, Geographical Analysis, 27, 93--115} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{localmoran}}, \code{\link[stats]{influence.measures}}} \examples{ data(afcon) moran.plot(afcon$totcon, nb2listw(paper.nb), labels=as.character(afcon$name), pch=19) moran.plot(as.vector(scale(afcon$totcon)), nb2listw(paper.nb), labels=as.character(afcon$name), xlim=c(-2, 4), ylim=c(-2,4), pch=19) } \keyword{spatial} spdep/man/stsls.Rd0000644000176200001440000001053712456024361013610 0ustar liggesusers\name{stsls} \alias{stsls} \alias{print.stsls} \alias{print.summary.stsls} \alias{summary.stsls} \alias{residuals.stsls} \alias{coef.stsls} \alias{deviance.stsls} %- Also NEED an '\alias' for EACH other topic documented here. \title{Generalized spatial two stage least squares} \description{ The function fits a spatial lag model by two stage least squares, with the option of adjusting the results for heteroskedasticity. } \usage{ stsls(formula, data = list(), listw, zero.policy = NULL, na.action = na.fail, robust = FALSE, HC=NULL, legacy=FALSE, W2X = TRUE) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{formula}{a symbolic description of the model to be fit. The details of model specification are given for \code{lm()}} \item{data}{an optional data frame containing the variables in the model. By default the variables are taken from the environment which the function is called.} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE (default) assign NA - causing \code{lagsarlm()} to terminate with an error} \item{na.action}{a function (default \code{na.fail}), can also be \code{na.omit} or \code{na.exclude} with consequences for residuals and fitted values - in these cases the weights list will be subsetted to remove NAs in the data. It may be necessary to set zero.policy to TRUE because this subsetting may create no-neighbour observations. Note that only weights lists created without using the glist argument to \code{nb2listw} may be subsetted.} \item{robust}{default FALSE, if TRUE, apply a heteroskedasticity correction to the coefficients covariances} \item{HC}{default NULL, if \code{robust} is TRUE, assigned \dQuote{HC0}, may take values \dQuote{HC0} or \dQuote{HC1} for White estimates or MacKinnon-White estimates respectively} \item{legacy}{the argument chooses between two implementations of the robustness correction: default FALSE - use the estimate of Omega only in the White consistent estimator of the variance-covariance matrix, if TRUE, use the original implementation which runs a GLS using the estimate of Omega, and yields different coefficient estimates as well - see example below} \item{W2X}{default TRUE, if FALSE only WX are used as instruments in the spatial two stage least squares; until release 0.4-60, only WX were used - see example below } } \details{ The fitting implementation fits a spatial lag model: \deqn{y = \rho W y + X \beta + \varepsilon}{y = rho W y + X beta + e} by using spatially lagged X variables as instruments for the spatially lagged dependent variable. } \value{ an object of class "stsls" containing: \item{coefficients}{coefficient estimates} \item{var}{coefficient covariance matrix} \item{sse}{sum of squared errors} \item{residuals}{model residuals} \item{df}{degrees of freedom} } \references{Kelejian, H.H. and I.R. Prucha (1998). A generalized spatial two stage least squares procedure for estimating a spatial autoregressive model with autoregressive disturbances. \emph{Journal of Real Estate Finance and Economics} 17, 99-121. Roger Bivand, Gianfranco Piras (2015). Comparing Implementations of Estimation Methods for Spatial Econometrics. \emph{Journal of Statistical Software}, 63(18), 1-36. \url{http://www.jstatsoft.org/v63/i18/}. } \author{Luc Anselin, Gianfranco Piras and Roger Bivand} \seealso{\code{\link{lagsarlm}}} \examples{ data(oldcol) COL.lag.eig <- lagsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb)) summary(COL.lag.eig, correlation=TRUE) COL.lag.stsls <- stsls(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb)) summary(COL.lag.stsls, correlation=TRUE) COL.lag.stslsW <- stsls(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb), W2X=FALSE) summary(COL.lag.stslsW, correlation=TRUE) COL.lag.stslsR <- stsls(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb), robust=TRUE, W2X=FALSE) summary(COL.lag.stslsR, correlation=TRUE) COL.lag.stslsRl <- stsls(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb), robust=TRUE, legacy=TRUE, W2X=FALSE) summary(COL.lag.stslsRl, correlation=TRUE) data(boston) gp2a <- stsls(log(CMEDV) ~ CRIM + ZN + INDUS + CHAS + I(NOX^2) + I(RM^2) + AGE + log(DIS) + log(RAD) + TAX + PTRATIO + B + log(LSTAT), data=boston.c, nb2listw(boston.soi)) summary(gp2a) } \keyword{spatial} spdep/man/lee.mc.Rd0000644000176200001440000000576212324523742013610 0ustar liggesusers% Copyright 2014 by Roger S. Bivand, Virgilio Gómez-Rubio \encoding{latin1} \name{lee.mc} \alias{lee.mc} \title{Permutation test for Lee's L statistic} \description{ A permutation test for Lee's L statistic calculated by using nsim random permutations of x and y for the given spatial weighting scheme, to establish the rank of the observed statistic in relation to the nsim simulated values. } \usage{ lee.mc(x, y, listw, nsim, zero.policy=NULL, alternative="greater", na.action=na.fail, spChk=NULL, return_boot=FALSE) } \arguments{ \item{x}{a numeric vector the same length as the neighbours list in listw} \item{y}{a numeric vector the same length as the neighbours list in listw} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{nsim}{number of permutations} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{alternative}{a character string specifying the alternative hypothesis, must be one of "greater" (default), or "less".} \item{na.action}{a function (default \code{na.fail}), can also be \code{na.omit} or \code{na.exclude} - in these cases the weights list will be subsetted to remove NAs in the data. It may be necessary to set zero.policy to TRUE because this subsetting may create no-neighbour observations. Note that only weights lists created without using the glist argument to \code{nb2listw} may be subsetted. \code{na.pass} is not permitted because it is meaningless in a permutation test.} \item{spChk}{should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use \code{get.spChkOption()}} \item{return_boot}{return an object of class \code{boot} from the equivalent permutation bootstrap rather than an object of class \code{htest}} } \value{ A list with class \code{htest} and \code{mc.sim} containing the following components: \item{statistic}{the value of the observed Lee's L.} \item{parameter}{the rank of the observed Lee's L.} \item{p.value}{the pseudo p-value of the test.} \item{alternative}{a character string describing the alternative hypothesis.} \item{method}{a character string giving the method used.} \item{data.name}{a character string giving the name(s) of the data, and the number of simulations.} \item{res}{nsim simulated values of statistic, final value is observed statistic} } \references{Lee (2001). Developing a bivariate spatial association measure: An integration of Pearson's r and Moran's I. J Geograph Syst 3: 369-385} \author{Roger Bivand, Virgilio Gómez-Rubio \email{Virgilio.Gomez@uclm.es} } \seealso{\code{\link{lee}}}%, \code{\link{moran.test}}} \examples{ data(boston) lw<-nb2listw(boston.soi) x<-boston.c$CMEDV y<-boston.c$CRIM lee.mc(x, y, nsim=99, lw, zero.policy=TRUE, alternative="less") #Test with missing values x[1:5]<-NA y[3:7]<-NA lee.mc(x, y, nsim=99, lw, zero.policy=TRUE, alternative="less", na.action=na.omit) } \keyword{spatial} spdep/man/droplinks.Rd0000644000176200001440000000337312215541436014445 0ustar liggesusers% Copyright 2001 by Roger S. Bivand \name{droplinks} \alias{droplinks} \title{Drop links in a neighbours list} \description{ Drops links to and from or just to a region from a neighbours list. The example corresponds to Fingleton's Table 1, p. 6, for lattices 5 to 19. } \usage{ droplinks(nb, drop, sym=TRUE) } \arguments{ \item{nb}{a neighbours list object of class \code{nb}} \item{drop}{either a logical vector the length of \code{nb}, or a character vector of named regions corresponding to \code{nb}'s region.id attribute, or an integer vector of region numbers} \item{sym}{TRUE for removal of both "row" and "column" links, FALSE for only "row" links} } \value{ The function returns an object of class \code{nb} with a list of integer vectors containing neighbour region number ids. } \references{B. Fingleton (1999) Spurious spatial regression: some Monte Carlo results with a spatial unit root and spatial cointegration, Journal of Regional Science 39, pp. 1--19.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{is.symmetric.nb}}} \examples{ \donttest{ rho <- c(0.2, 0.5, 0.95, 0.999, 1.0) ns <- c(5, 7, 9, 11, 13, 15, 17, 19) mns <- matrix(0, nrow=length(ns), ncol=length(rho)) rownames(mns) <- ns colnames(mns) <- rho mxs <- matrix(0, nrow=length(ns), ncol=length(rho)) rownames(mxs) <- ns colnames(mxs) <- rho for (i in 1:length(ns)) { nblist <- cell2nb(ns[i], ns[i]) nbdropped <- droplinks(nblist, ((ns[i]*ns[i])+1)/2, sym=FALSE) listw <- nb2listw(nbdropped, style="W", zero.policy=TRUE) wmat <- listw2mat(listw) for (j in 1:length(rho)) { mat <- diag(ns[i]*ns[i]) - rho[j] * wmat res <- diag(solve(t(mat) \%*\% mat)) mns[i,j] <- mean(res) mxs[i,j] <- max(res) } } print(mns) print(mxs) } } \keyword{spatial} spdep/man/spdep.Rd0000644000176200001440000000065611716033161013550 0ustar liggesusers\name{spdep} \alias{spdep} \title{Return package version number} \description{ The function retreives package version and build information } \usage{ spdep(build = FALSE) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{build}{if TRUE, also returns build information} } \value{ a character vector with one or two elements } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \keyword{spatial} spdep/man/elect80.Rd0000644000176200001440000000342411716033161013675 0ustar liggesusers\name{elect80} \alias{elect80} \alias{elect80_lw} \alias{k4} \alias{dll} \alias{e80_queen} \docType{data} \title{1980 Presidential election results} \description{A data set for 1980 Presidential election results covering 3,107 US counties using geographical coordinates. In addition, three spatial neighbour objects, \code{k4} not using Great Circle distances, \code{dll} using Great Circle distances, and \code{e80_queen} of Queen contiguities for equivalent County polygons taken from file \code{co1980p020.tar.gz} on the USGS National Atlas site, and a spatial weights object imported from \code{elect.ford} - a 4-nearest neighbour non-GC row-standardised object, but with coercion to symmetry.} \usage{data(elect80)} \format{ A SpatialPointsDataFrame with 3107 observations on the following 7 variables. \describe{ \item{\code{FIPS}}{a factor of county FIPS codes} \item{\code{long}}{a numeric vector of longitude values} \item{\code{lat}}{a numeric vector of latitude values} \item{\code{pc_turnout}}{Votes cast as proportion of population over age 19 eligible to vote} \item{\code{pc_college}}{Population with college degrees as proportion of population over age 19 eligible to vote} \item{\code{pc_homeownership}}{Homeownership as proportion of population over age 19 eligible to vote} \item{\code{pc_income}}{Income per capita of population over age 19 eligible to vote} } } \source{ Pace, R. Kelley and Ronald Barry. 1997. "Quick Computation of Spatial Autoregressive Estimators", in Geographical Analysis; sourced from the data folder in the Spatial Econometrics Toolbox for Matlab, \url{http://www.spatial-econometrics.com/html/jplv7.zip}, files \code{elect.dat} and \code{elect.ford} (with the final line dropped). } \examples{ data(elect80) } \keyword{datasets} spdep/man/set.spChkOption.Rd0000644000176200001440000000664212453302576015501 0ustar liggesusers\name{set.spChkOption} \alias{set.spChkOption} \alias{get.spChkOption} \alias{chkIDs} \alias{spNamedVec} \alias{set.VerboseOption} \alias{get.VerboseOption} \alias{set.ZeroPolicyOption} \alias{get.ZeroPolicyOption} \alias{set.listw_is_CsparseMatrix_Option} \alias{get.listw_is_CsparseMatrix_Option} %- Also NEED an `\alias' for EACH other topic documented here. \title{Control checking of spatial object IDs} \description{ Provides support for checking the mutual integrity of spatial neighbour weights and spatial data; similar mechanisms are used for passing global verbose and zero.policy options, and for providing access to a running cluster for embarrassingly parallel tasks. } \usage{ set.spChkOption(check) get.spChkOption() chkIDs(x, listw) spNamedVec(var, data) set.VerboseOption(check) get.VerboseOption() set.ZeroPolicyOption(check) get.ZeroPolicyOption() set.listw_is_CsparseMatrix_Option(check) get.listw_is_CsparseMatrix_Option() } %- maybe also `usage' for other objects documented here. \arguments{ \item{check}{a logical value, TRUE or FALSE} \item{x}{a vector the same length, or a two-dimensional array, or data frame with the same number of rows as the neighbours list in listw} \item{listw}{a \code{listw} object or \code{nb} object inheriting from "nb"} \item{var}{a character string or integer value for the column to be selected} \item{data}{a two-dimensional array or data frame containing var} } \details{ Analysis functions will have an spChk argument by default set to NULL, and will call \code{get.spChkOption()} to get the global spatial option for whether to check or not --- this is initialised to FALSE, and consequently should not break anything. It can be changed to TRUE using \code{set.spChkOption(TRUE)}, or the spChk argument can be assigned in analysis functions. \code{spNamedVec()} is provided to ensure that rownames are passed on to single columns taken from two-dimensional arrays and data frames. } \value{ \code{set.spChkOption()} returns the old logical value, \code{get.spChkOption()} returns the current logical value, and \code{chkIDs()} returns a logical value for the test lack of difference. \code{spNamedVec()} returns the selected column with the names set to the row names of the object from which it has been extracted. } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \note{ The motivation for this mechanism is provided by the observation that spatial objects on a map and their attribute data values need to be linked uniquely, to avoid spurious results. The reordering between the legacy Columbus data set used the earlier publications and that available for download from the Spacestat website is just one example of a common problem. } \examples{ data(oldcol) rownames(COL.OLD) data(columbus) rownames(columbus) get.spChkOption() oldChk <- set.spChkOption(TRUE) get.spChkOption() chkIDs(COL.OLD, nb2listw(COL.nb)) chkIDs(columbus, nb2listw(col.gal.nb)) chkIDs(columbus, nb2listw(COL.nb)) tmp <- try(moran.test(spNamedVec("CRIME", COL.OLD), nb2listw(COL.nb))) print(tmp) tmp <- try(moran.test(spNamedVec("CRIME", columbus), nb2listw(col.gal.nb))) print(tmp) tmp <- try(moran.test(spNamedVec("CRIME", columbus), nb2listw(COL.nb))) print(tmp) set.spChkOption(FALSE) get.spChkOption() moran.test(spNamedVec("CRIME", columbus), nb2listw(COL.nb)) tmp <- try(moran.test(spNamedVec("CRIME", columbus), nb2listw(COL.nb), spChk=TRUE)) print(tmp) set.spChkOption(oldChk) get.spChkOption() } \keyword{ spatial } spdep/man/sp.correlogram.Rd0000644000176200001440000000717712052633373015404 0ustar liggesusers% Copyright 2002 by Roger S. Bivand \name{sp.correlogram} \alias{sp.correlogram} \alias{plot.spcor} \alias{print.spcor} \title{Spatial correlogram} \description{ Spatial correlograms for Moran's I and the autocorrelation coefficient, with print and plot helper functions. } \usage{ sp.correlogram(neighbours, var, order = 1, method = "corr", style = "W", randomisation = TRUE, zero.policy = NULL, spChk=NULL) \method{plot}{spcor}(x, main, ylab, ylim, ...) \method{print}{spcor}(x, p.adj.method="none", ...) } %- maybe also `usage' for other objects documented here. \arguments{ \item{neighbours}{an object of class \code{nb}} \item{var}{a numeric vector} \item{order}{maximum lag order} \item{method}{"corr" for correlation, "I" for Moran's I, "C" for Geary's C} \item{style}{\code{style} can take values W, B, C, and S} \item{randomisation}{variance of I or C calculated under the assumption of randomisation, if FALSE normality} \item{zero.policy}{default NULL, use global option value; if FALSE stop with error for any empty neighbour sets, if TRUE permit the weights list to be formed with zero-length weights vectors} \item{spChk}{should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use \code{get.spChkOption()}} \item{x}{an object from \code{sp.correlogram()} of class \code{spcor}} \item{p.adj.method}{correction method as in \code{p.adjust}} \item{main}{an overall title for the plot} \item{ylab}{a title for the y axis} \item{ylim}{the y limits of the plot} \item{\dots}{further arguments passed through} } \details{ The print function also calculates the standard deviates of Moran's I or Geary's C and a two-sided probability value, optionally using \code{p.adjust} to correct by the nymber of lags. The plot function plots a bar from the estimated Moran's I, or Geary's C value to +/- twice the square root of its variance (in previous releases only once, not twice). The table includes the count of included observations in brackets after the lag order. Care needs to be shown when interpreting results for few remaining included observations as lag order increases. } \value{ returns a list of class \code{spcor}: \item{res}{for "corr" a vector of values; for "I", a matrix of estimates of "I", expectations, and variances} \item{method}{"I" or "corr"} \item{cardnos}{list of tables of neighbour cardinalities for the lag orders used} \item{var}{variable name} } \references{Cliff, A. D., Ord, J. K. 1981 \emph{Spatial processes}, Pion, pp. 118--122, Martin, R. L., Oeppen, J. E. 1975 The identification of regional forecasting models using space-time correlation functions, \emph{Transactions of the Institute of British Geographers}, 66, 95--118.} \author{Roger Bivand, \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{nblag}}, \code{\link{moran}}, \code{\link[stats]{p.adjust}}} \examples{ example(nc.sids) ft.SID74 <- sqrt(1000)*(sqrt(nc.sids$SID74/nc.sids$BIR74) + sqrt((nc.sids$SID74+1)/nc.sids$BIR74)) tr.SIDS74 <- ft.SID74*sqrt(nc.sids$BIR74) cspc <- sp.correlogram(ncCC89_nb, tr.SIDS74, order=8, method="corr", zero.policy=TRUE) print(cspc) plot(cspc) Ispc <- sp.correlogram(ncCC89_nb, tr.SIDS74, order=8, method="I", zero.policy=TRUE) print(Ispc) print(Ispc, "bonferroni") plot(Ispc) Cspc <- sp.correlogram(ncCC89_nb, tr.SIDS74, order=8, method="C", zero.policy=TRUE) print(Cspc) print(Cspc, "bonferroni") plot(Cspc) drop.no.neighs <- !(1:length(ncCC89_nb) \%in\% which(card(ncCC89_nb) == 0)) sub.ncCC89.nb <- subset(ncCC89_nb, drop.no.neighs) plot(sp.correlogram(sub.ncCC89.nb, subset(tr.SIDS74, drop.no.neighs), order=8, method="corr")) } \keyword{spatial} spdep/man/nb2INLA.Rd0000644000176200001440000000144511716033161013557 0ustar liggesusers\name{nb2INLA} \alias{nb2INLA} \title{Output spatial neighbours for INLA} \description{ Output spatial neighbours for INLA } \usage{ nb2INLA(file, nb) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{file}{file where adjacency matrix will be stored} \item{nb}{an object of class \code{nb}} } \value{ Nothing is returned but a file will be created with the representation of the adjacency matrix as required by INLA for its spatial models. } \references{http://www.r-inla.org} \author{Virgilio Gomez-Rubio} %\seealso{\code{\link[INLA]{inla}}} \examples{ example(columbus) td <- tempdir() x <- nb2INLA(paste(td, "columbus-INLA.adj", sep="/"), col.gal.nb) } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{spatial} spdep/man/probmap.Rd0000644000176200001440000000507211716033161014072 0ustar liggesusers% Copyright 2003-2010 by Roger S. Bivand \name{probmap} \alias{probmap} \title{Probability mapping for rates} \description{ The function returns a data frame of rates for counts in populations at risk with crude rates, expected counts of cases, relative risks, and Poisson probabilities. } \usage{ probmap(n, x, row.names=NULL, alternative="less") } \arguments{ \item{n}{a numeric vector of counts of cases} \item{x}{a numeric vector of populations at risk} \item{row.names}{row names passed through to output data frame} \item{alternative}{default \dQuote{less}, may be set to \dQuote{greater}} } \details{ The function returns a data frame, from which rates may be mapped after class intervals have been chosen. The class intervals used in the examples are mostly taken from the referenced source. } \value{ \item{raw}{raw (crude) rates} \item{expCount}{expected counts of cases assuming global rate} \item{relRisk}{relative risks: ratio of observed and expected counts of cases multiplied by 100} \item{pmap}{Poisson probability map values: probablility of getting a more ``extreme'' count than actually observed - one-tailed, default alternative observed \dQuote{less} than expected} } \references{Bailey T, Gatrell A (1995) Interactive Spatial Data Analysis, Harlow: Longman, pp. 300--303.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{EBest}}, \code{\link{EBlocal}}, \code{\link{ppois}}} \examples{ example(auckland) res <- probmap(auckland$M77_85, 9*auckland$Und5_81) rt <- sum(auckland$M77_85)/sum(9*auckland$Und5_81) ppois_pmap <- numeric(length(auckland$Und5_81)) for (i in seq(along=ppois_pmap)) { ppois_pmap[i] <- poisson.test(auckland$M77_85[i], r=rt, T=(9*auckland$Und5_81[i]), alternative="less")$p.value } all.equal(ppois_pmap, res$pmap) brks <- c(-Inf,2,2.5,3,3.5,Inf) cols <- grey(6:2/7) plot(auckland, col=cols[findInterval(res$raw*1000, brks, all.inside=TRUE)]) legend("bottomleft", fill=cols, legend=leglabs(brks), bty="n") title(main="Crude (raw) estimates of infant mortality per 1000 per year") brks <- c(-Inf,47,83,118,154,190,Inf) cols <- cm.colors(6) plot(auckland, col=cols[findInterval(res$relRisk, brks, all.inside=TRUE)]) legend("bottomleft", fill=cols, legend=leglabs(brks), bty="n") title(main="Standardised mortality ratios for Auckland child deaths") brks <- c(0,0.05,0.1,0.2,0.8,0.9,0.95,1) cols <- cm.colors(7) plot(auckland, col=cols[findInterval(res$pmap, brks, all.inside=TRUE)]) legend("bottomleft", fill=cols, legend=leglabs(brks), bty="n") title(main="Poisson probabilities for Auckland child mortality") } \keyword{spatial} spdep/man/diffnb.Rd0000644000176200001440000000210211716033161013651 0ustar liggesusers% Copyright 2001-3 by Roger S. Bivand \name{diffnb} \alias{diffnb} \title{Differences between neighbours lists} \description{ The function finds differences between lists of neighbours, returning a \code{nb} neighbour list of those found } \usage{ diffnb(x, y, verbose=NULL) } \arguments{ \item{x}{an object of class \code{nb}} \item{y}{an object of class \code{nb}} \item{verbose}{default NULL, use global option value; report regions ids taken from object attribute "region.id" with differences} } \value{ A neighbours list with class \code{nb} } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \examples{ example(columbus) coords <- coordinates(columbus) rn <- sapply(slot(columbus, "polygons"), function(x) slot(x, "ID")) knn1 <- knearneigh(coords, 1) knn2 <- knearneigh(coords, 2) nb1 <- knn2nb(knn1, row.names=rn) nb2 <- knn2nb(knn2, row.names=rn) diffs <- diffnb(nb2, nb1) plot(columbus, border="grey") plot(nb1, coords, add=TRUE) plot(diffs, coords, add=TRUE, col="red", lty=2) title(main="Plot of first (black) and second (red)\nnearest neighbours") } \keyword{spatial} spdep/man/LR.sarlm.Rd0000644000176200001440000000525211716033161014064 0ustar liggesusers% Copyright 2002-9 by Roger S. Bivand \name{LR.sarlm} \alias{LR.sarlm} \alias{LR1.sarlm} \alias{Wald1.sarlm} \alias{Hausman.test} \alias{Hausman.test.sarlm} \alias{Hausman.test.gmsar} \alias{logLik.sarlm} %- Also NEED an `\alias' for EACH other topic documented here. \title{Likelihood ratio test} \description{ The \code{LR.sarlm()} function provides a likelihood ratio test for objects for which a \code{logLik()} function exists for their class, or for objects of class \code{logLik}. \code{LR1.sarlm()} and \code{Wald1.sarlm()} are used internally in \code{summary.sarlm()}, but may be accessed directly; they report the values respectively of LR and Wald tests for the absence of spatial dependence in spatial lag or error models. The spatial Hausman test is available for models fitted with \code{errorsarlm} and \code{GMerrorsar}. } \usage{ LR.sarlm(x, y) \method{logLik}{sarlm}(object, ...) LR1.sarlm(object) Wald1.sarlm(object) \method{Hausman.test}{sarlm}(object, ..., tol=NULL) \method{Hausman.test}{gmsar}(object, ..., tol=NULL) } %- maybe also `usage' for other objects documented here. \arguments{ \item{x}{a \code{logLik} object or an object for which a \code{logLik()} function exists} \item{y}{a \code{logLik} object or an object for which a \code{logLik()} function exists} \item{object}{a \code{sarlm} object from \code{lagsarlm()} or \code{errorsarlm()}} \item{\dots}{further arguments passed to or from other methods} \item{tol}{\code{tol} argument passed to \code{solve}, default NULL} } \value{ The tests return objects of class \code{htest} with: \item{statistic}{value of statistic} \item{parameter}{degrees of freedom} \item{p.value}{Probability value} \item{estimate}{varies with test} \item{method}{description of test method} \code{logLik.sarlm()} returns an object of class \code{logLik} \code{LR1.sarlm}, \code{Hausman.sarlm} and \code{Wald1.sarlm} returm objects of class \code{htest} } \note{The numbers of degrees of freedom returned by \code{logLik.sarlm()} include nuisance parameters, that is the number of regression coefficients, plus sigma, plus spatial parameter esitmate(s).} \references{LeSage J and RK Pace (2009) Introduction to Spatial Econometrics. CRC Press, Boca Raton, pp. 61--63; Pace RK and LeSage J (2008) A spatial Hausman test. \emph{Economics Letters} 101, 282--284.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{logLik.lm}}, \code{\link{anova.sarlm}}} \examples{ example(columbus) mixed <- lagsarlm(CRIME ~ HOVAL + INC, data=columbus, nb2listw(col.gal.nb), type="mixed") error <- errorsarlm(CRIME ~ HOVAL + INC, data=columbus, nb2listw(col.gal.nb)) LR.sarlm(mixed, error) Hausman.test(error) } \keyword{spatial} spdep/man/aple.mc.Rd0000644000176200001440000000453412446120356013757 0ustar liggesusers\name{aple.mc} \alias{aple.mc} %- Also NEED an '\alias' for EACH other topic documented here. \title{Approximate profile-likelihood estimator (APLE) permutation test} \description{ A permutation bootstrap test for the approximate profile-likelihood estimator (APLE). } \usage{ aple.mc(x, listw, nsim, override_similarity_check=FALSE, useTrace=TRUE) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{x}{a zero-mean detrended continuous variable} \item{listw}{a \code{listw} object from for example \code{nb2listw}} \item{nsim}{number of simulations} \item{override\_similarity\_check}{default FALSE, if TRUE - typically for row-standardised weights with asymmetric underlying general weights - similarity is not checked} \item{useTrace}{default TRUE, use trace of sparse matrix \code{W \%*\% W} (Li et al. (2010)), if FALSE, use crossproduct of eigenvalues of \code{W} as in Li et al. (2007)} } \value{ A \code{boot} object as returned by the \code{boot} function. } \references{Li, H, Calder, C. A. and Cressie N. A. C. (2007) Beyond Moran's I: testing for spatial dependence based on the spatial autoregressive model. Geographical Analysis 39, 357-375; Li, H, Calder, C. A. and Cressie N. A. C. (2012) One-step estimation of spatial dependence parameters: Properties and extensions of the APLE statistic, Journal of Multivariate Analysis 105, 68-84.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{aple}}, \code{\link[boot]{boot}}} \examples{ \donttest{ example(aple) oldRNG <- RNGkind() RNGkind("L'Ecuyer-CMRG") set.seed(1L) boot_out_ser <- aple.mc(as.vector(scale(wheat$yield_detrend, scale=FALSE)), nb2listw(nbr12, style="W"), nsim=500) plot(boot_out_ser) boot_out_ser library(parallel) oldCores <- set.coresOption(NULL) nc <- detectCores(logical=FALSE) # set nc to 1L here if (nc > 1L) nc <- 1L invisible(set.coresOption(nc)) set.seed(1L) if (!get.mcOption()) { cl <- makeCluster(nc) set.ClusterOption(cl) } else{ mc.reset.stream() } boot_out_par <- aple.mc(as.vector(scale(wheat$yield_detrend, scale=FALSE)), nb2listw(nbr12, style="W"), nsim=500) if (!get.mcOption()) { set.ClusterOption(NULL) stopCluster(cl) } boot_out_par invisible(set.coresOption(oldCores)) RNGkind(oldRNG[1], oldRNG[2]) } } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{spatial} spdep/man/lm.morantest.sad.Rd0000644000176200001440000001024612522454646015635 0ustar liggesusers\name{lm.morantest.sad} \alias{lm.morantest.sad} \alias{print.moransad} \alias{summary.moransad} \alias{print.summary.moransad} %- Also NEED an `\alias' for EACH other topic documented here. \title{Saddlepoint approximation of global Moran's I test} \description{ The function implements Tiefelsdorf's application of the Saddlepoint approximation to global Moran's I's reference distribution. } \usage{ lm.morantest.sad(model, listw, zero.policy=NULL, alternative="greater", spChk=NULL, resfun=weighted.residuals, tol=.Machine$double.eps^0.5, maxiter=1000, tol.bounds=0.0001, zero.tol = 1e-07, Omega=NULL, save.M=NULL, save.U=NULL) \method{print}{moransad}(x, ...) \method{summary}{moransad}(object, ...) \method{print}{summary.moransad}(x, ...) } %- maybe also `usage' for other objects documented here. \arguments{ \item{model}{an object of class \code{lm} returned by \code{lm}; weights may be specified in the \code{lm} fit, but offsets should not be used} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{alternative}{a character string specifying the alternative hypothesis, must be one of greater (default), less or two.sided.} \item{spChk}{should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use \code{get.spChkOption()}} \item{resfun}{default: weighted.residuals; the function to be used to extract residuals from the \code{lm} object, may be \code{residuals}, \code{weighted.residuals}, \code{rstandard}, or \code{rstudent}} \item{tol}{the desired accuracy (convergence tolerance) for \code{uniroot}} \item{maxiter}{the maximum number of iterations for \code{uniroot}} \item{tol.bounds}{offset from bounds for \code{uniroot}} \item{zero.tol}{tolerance used to find eigenvalues close to absolute zero} \item{Omega}{A SAR process matrix may be passed in to test an alternative hypothesis, for example \code{Omega <- invIrW(listw, rho=0.1); Omega <- tcrossprod(Omega)}, \code{chol()} is taken internally} \item{save.M}{return the full M matrix for use in \code{spdep:::exactMoranAlt}} \item{save.U}{return the full U matrix for use in \code{spdep:::exactMoranAlt}} \item{x}{object to be printed} \item{object}{object to be summarised} \item{...}{arguments to be passed through} } \details{ The function involves finding the eigenvalues of an n by n matrix, and numerically finding the root for the Saddlepoint approximation, and should therefore only be used with care when n is large. } \value{ A list of class \code{moransad} with the following components: \item{statistic}{the value of the saddlepoint approximation of the standard deviate of global Moran's I.} \item{p.value}{the p-value of the test.} \item{estimate}{the value of the observed global Moran's I.} \item{alternative}{a character string describing the alternative hypothesis.} \item{method}{a character string giving the method used.} \item{data.name}{a character string giving the name(s) of the data.} \item{internal1}{Saddlepoint omega, r and u} \item{internal2}{f.root, iter and estim.prec from \code{uniroot}} \item{df}{degrees of freedom} \item{tau}{eigenvalues (excluding zero values)} } \references{Tiefelsdorf, M. 2002 The Saddlepoint approximation of Moran's I and local Moran's Ii reference distributions and their numerical evaluation. Geographical Analysis, 34, pp. 187--206.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{lm.morantest}}} \examples{ require(maptools) eire <- readShapePoly(system.file("etc/shapes/eire.shp", package="spdep")[1], ID="names", proj4string=CRS("+proj=utm +zone=30 +ellps=airy +units=km")) eire.nb <- poly2nb(eire) #data(eire) e.lm <- lm(OWNCONS ~ ROADACC, data=eire) lm.morantest(e.lm, nb2listw(eire.nb)) lm.morantest.sad(e.lm, nb2listw(eire.nb)) summary(lm.morantest.sad(e.lm, nb2listw(eire.nb))) e.wlm <- lm(OWNCONS ~ ROADACC, data=eire, weights=RETSALE) lm.morantest(e.wlm, nb2listw(eire.nb), resfun=rstudent) lm.morantest.sad(e.wlm, nb2listw(eire.nb), resfun=rstudent) } \keyword{spatial} spdep/man/joincount.test.Rd0000644000176200001440000000707711716033161015427 0ustar liggesusers% Copyright 2001-8 by Roger S. Bivand \name{joincount.test} \alias{joincount.test} \alias{print.jclist} \title{BB join count statistic for k-coloured factors} \description{ The BB join count test for spatial autocorrelation using a spatial weights matrix in weights list form for testing whether same-colour joins occur more frequently than would be expected if the zones were labelled in a spatially random way. The assumptions underlying the test are sensitive to the form of the graph of neighbour relationships and other factors, and results may be checked against those of \code{joincount.mc} permutations. } \usage{ joincount.test(fx, listw, zero.policy=NULL, alternative="greater", spChk=NULL, adjust.n=TRUE) \method{print}{jclist}(x, ...) } \arguments{ \item{fx}{a factor of the same length as the neighbours and weights objects in listw} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{alternative}{a character string specifying the alternative hypothesis, must be one of "greater" (default), "less" or "two.sided".} \item{adjust.n}{default TRUE, if FALSE the number of observations is not adjusted for no-neighbour observations, if TRUE, the number of observations is adjusted consistently (up to and including spdep 0.3-28 the adjustment was inconsistent - thanks to Tomoki NAKAYA for a careful bug report)} \item{spChk}{should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use \code{get.spChkOption()}} \item{x}{object to be printed} \item{...}{arguments to be passed through for printing} } \value{ A list with class \code{jclist} of lists with class \code{htest} for each of the k colours containing the following components: \item{statistic}{the value of the standard deviate of the join count statistic.} \item{p.value}{the p-value of the test.} \item{estimate}{the value of the observed statistic, its expectation and variance under non-free sampling.} \item{alternative}{a character string describing the alternative hypothesis.} \item{method}{a character string giving the method used.} \item{data.name}{a character string giving the name(s) of the data.} } \references{Cliff, A. D., Ord, J. K. 1981 Spatial processes, Pion, p. 20.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \note{The derivation of the test (Cliff and Ord, 1981, p. 18) assumes that the weights matrix is symmetric. For inherently non-symmetric matrices, such as k-nearest neighbour matrices, \code{listw2U()} can be used to make the matrix symmetric. In non-symmetric weights matrix cases, the variance of the test statistic may be negative. } \seealso{\code{\link{joincount.mc}}, \code{\link{joincount.multi}}, \code{\link{listw2U}}} \examples{ data(oldcol) HICRIME <- cut(COL.OLD$CRIME, breaks=c(0,35,80), labels=c("low","high")) names(HICRIME) <- rownames(COL.OLD) joincount.test(HICRIME, nb2listw(COL.nb, style="B")) joincount.test(HICRIME, nb2listw(COL.nb, style="C")) joincount.test(HICRIME, nb2listw(COL.nb, style="S")) joincount.test(HICRIME, nb2listw(COL.nb, style="W")) by(card(COL.nb), HICRIME, summary) print(is.symmetric.nb(COL.nb)) coords.OLD <- cbind(COL.OLD$X, COL.OLD$Y) COL.k4.nb <- knn2nb(knearneigh(coords.OLD, 4)) print(is.symmetric.nb(COL.k4.nb)) joincount.test(HICRIME, nb2listw(COL.k4.nb, style="B")) cat("Note non-symmetric weights matrix - use listw2U()\n") joincount.test(HICRIME, listw2U(nb2listw(COL.k4.nb, style="B"))) } \keyword{spatial} spdep/man/boston.Rd0000644000176200001440000001762713073150206013745 0ustar liggesusers\name{boston} \alias{boston.c} \alias{boston} \alias{boston.soi} \alias{boston.utm} \docType{data} \title{Corrected Boston Housing Data} \usage{data(boston)} \description{ The \code{boston.c} data frame has 506 rows and 20 columns. It contains the Harrison and Rubinfeld (1978) data corrected for a few minor errors and augmented with the latitude and longitude of the observations. Gilley and Pace also point out that MEDV is censored, in that median values at or over USD 50,000 are set to USD 50,000. The original data set without the corrections is also included in package \code{mlbench} as \code{BostonHousing}. In addition, a matrix of tract point coordinates projected to UTM zone 19 is included as \code{boston.utm}, and a sphere of influence neighbours list as \code{boston.soi}. } \format{ This data frame contains the following columns: \describe{ \item{TOWN}{a factor with levels given by town names} \item{TOWNNO}{a numeric vector corresponding to TOWN} \item{TRACT}{a numeric vector of tract ID numbers} \item{LON}{a numeric vector of tract point longitudes in decimal degrees} \item{LAT}{a numeric vector of tract point latitudes in decimal degrees} \item{MEDV}{a numeric vector of median values of owner-occupied housing in USD 1000} \item{CMEDV}{a numeric vector of corrected median values of owner-occupied housing in USD 1000} \item{CRIM}{a numeric vector of per capita crime} \item{ZN}{a numeric vector of proportions of residential land zoned for lots over 25000 sq. ft per town (constant for all Boston tracts)} \item{INDUS}{a numeric vector of proportions of non-retail business acres per town (constant for all Boston tracts)} \item{CHAS}{a factor with levels 1 if tract borders Charles River; 0 otherwise} \item{NOX}{a numeric vector of nitric oxides concentration (parts per 10 million) per town} \item{RM}{a numeric vector of average numbers of rooms per dwelling} \item{AGE}{a numeric vector of proportions of owner-occupied units built prior to 1940} \item{DIS}{a numeric vector of weighted distances to five Boston employment centres} \item{RAD}{a numeric vector of an index of accessibility to radial highways per town (constant for all Boston tracts)} \item{TAX}{a numeric vector full-value property-tax rate per USD 10,000 per town (constant for all Boston tracts)} \item{PTRATIO}{a numeric vector of pupil-teacher ratios per town (constant for all Boston tracts)} \item{B}{a numeric vector of \code{1000*(Bk - 0.63)^2} where Bk is the proportion of blacks} \item{LSTAT}{a numeric vector of percentage values of lower status population} } } \note{Details of the creation of the tract shapefile given in final don't run block; tract boundaries for 1990: \url{http://www.census.gov/geo/maps-data/data/cbf/cbf_tracts.html} then choose 1990 Census and Massachusetts to download: tr25_d90_shp.zip, counties in the BOSTON SMSA \url{https://www2.census.gov/programs-surveys/metro-micro/geographies/reference-files/1963/historical-delineation-files/63mfips.txt}; tract conversion table 1980/1970: \url{https://www.icpsr.umich.edu/icpsrweb/ICPSR/studies/7913?q=07913&permit[0]=AVAILABLE}, \url{http://www.icpsr.umich.edu/cgi-bin/bob/zipcart2?path=ICPSR&study=7913&bundle=all&ds=1&dups=yes}} \source{ Formerly at \dQuote{http://lib.stat.cmu.edu/datasets/boston\_corrected.txt} which is now offline, also as \code{data(BostonHousing2, package="mlbench")} } \references{ Harrison, David, and Daniel L. Rubinfeld, Hedonic Housing Prices and the Demand for Clean Air, \emph{Journal of Environmental Economics and Management}, Volume 5, (1978), 81-102. Original data. Gilley, O.W., and R. Kelley Pace, On the Harrison and Rubinfeld Data, \emph{Journal of Environmental Economics and Management}, 31 (1996), 403-405. Provided corrections and examined censoring. Pace, R. Kelley, and O.W. Gilley, Using the Spatial Configuration of the Data to Improve Estimation, \emph{Journal of the Real Estate Finance and Economics}, 14 (1997), 333-340. } \examples{ data(boston) hr0 <- lm(log(MEDV) ~ CRIM + ZN + INDUS + CHAS + I(NOX^2) + I(RM^2) + AGE + log(DIS) + log(RAD) + TAX + PTRATIO + B + log(LSTAT), data=boston.c) summary(hr0) logLik(hr0) gp0 <- lm(log(CMEDV) ~ CRIM + ZN + INDUS + CHAS + I(NOX^2) + I(RM^2) + AGE + log(DIS) + log(RAD) + TAX + PTRATIO + B + log(LSTAT), data=boston.c) summary(gp0) logLik(gp0) lm.morantest(hr0, nb2listw(boston.soi)) \dontrun{ require(maptools) boston.tr <- readShapePoly(system.file("etc/shapes/boston_tracts.shp", package="spdep")[1], ID="poltract", proj4string=CRS(paste("+proj=longlat +datum=NAD27 +no_defs +ellps=clrk66", "+nadgrids=@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat"))) boston_nb <- poly2nb(boston.tr) } \dontrun{gp1 <- errorsarlm(log(CMEDV) ~ CRIM + ZN + INDUS + CHAS + I(NOX^2) + I(RM^2) + AGE + log(DIS) + log(RAD) + TAX + PTRATIO + B + log(LSTAT), data=boston.c, nb2listw(boston.soi), method="Matrix", control=list(tol.opt = .Machine$double.eps^(1/4))) summary(gp1) gp2 <- lagsarlm(log(CMEDV) ~ CRIM + ZN + INDUS + CHAS + I(NOX^2) + I(RM^2) + AGE + log(DIS) + log(RAD) + TAX + PTRATIO + B + log(LSTAT), data=boston.c, nb2listw(boston.soi), method="Matrix") summary(gp2)} \dontrun{ ## Conversion table 1980/1970 # ICPSR_07913.zip # 07913-0001-Data.txt # http://dx.doi.org/10.3886/ICPSR07913.v1 # Provider: ICPSR # Content: text/plain; charset="us-ascii" # # TY - DATA # T1 - Census of Population and Housing 1980 [United States]: # 1970-Pre 1980 Tract Relationships # AU - United States Department of Commerce. Bureau of the Census # DO - 10.3886/ICPSR07913.v1 # PY - 1984-06-28 # UR - http://dx.doi.org/10.3886/ICPSR07913.v1 # PB - Inter-university Consortium for Political and Social Research # (ICPSR) [distributor] # ER - # widths <- c(ID=5L, FIPS70State=2L, FIPS70cty=3L, Tract70=6L, FIPS80State=2L, # FIPS80cty=3L, f1=7L, CTC=6L, f2=2L, intersect1=3L, intersect2=3L, name=30L) # dta0 <- read.fwf("07913-0001-Data.txt", unname(widths), # col.names=names(widths), colClasses=rep("character", 12), as.is=TRUE) # sub <- grep("25", dta0$FIPS80State) # MA <- dta0[sub,] ## match against boston data set # library(spdep) # data(boston) # bTR <- boston.c$TRACT # x1 <- match(as.integer(MA$Tract70), bTR) # BOSTON <- MA[!is.na(x1),] ## MA 1990 tracts # library(rgdal) # MAtr90 <- readOGR(".", "tr25_d90") ## counties in the BOSTON SMSA ## https://www.census.gov/population/metro/files/lists/historical/90nfips.txt ## 1123 Boston-Lawrence-Salem-Lowell-Brockton, MA NECMA ## 1123 25 009 Essex County ## 1123 25 017 Middlesex County ## 1123 25 021 Norfolk County ## 1123 25 023 Plymouth County ## 1123 25 025 Suffolk County # BOSTON_SMSA <- MAtr90[MAtr90$CO %in% c("009", "017", "021", "023", "025"),] # proj4string(BOSTON_SMSA) <- CRS(paste("+proj=longlat +datum=NAD27 +no_defs", # "+ellps=clrk66 +nadgrids=@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat")) # CTC4 <- substring(BOSTON$CTC, 1, 4) # CTC4u <- unique(CTC4) # TB_CTC4u <- match(BOSTON_SMSA$TRACTBASE, CTC4u) ## match 1980 tracts with 1990 # BOSTON_SMSA1 <- BOSTON_SMSA[!is.na(TB_CTC4u),] ## union Polygons objects with same 1970 tract code #library(rgeos) # BOSTON_SMSA2 <- gUnaryUnion(BOSTON_SMSA1, # id=as.character(BOSTON_SMSA1$TRACTBASE)) ## reorder data set # mm <- match(as.integer(as.character(row.names(BOSTON_SMSA2))), boston.c$TRACT) # df <- boston.c[mm,] # row.names(df) <- df$TRACT # row.names(BOSTON_SMSA2) <- as.character(as.integer(row.names(BOSTON_SMSA2))) ## create SpatialPolygonsDataFrame # BOSTON_SMSA3 <- SpatialPolygonsDataFrame(BOSTON_SMSA2, # data=data.frame(poltract=row.names(BOSTON_SMSA2), # row.names=row.names(BOSTON_SMSA2))) # BOSTON_SMSA4 <- spCbind(BOSTON_SMSA3, df) # mm1 <- match(boston.c$TRACT, row.names(BOSTON_SMSA4)) # BOSTON_SMSA5 <- BOSTON_SMSA4[mm1,] #writeOGR(BOSTON_SMSA5, ".", "boston_tracts", driver="ESRI Shapefile", # overwrite_layer=TRUE) # moran.test(boston.c$CMEDV, nb2listw(boston.soi)) # moran.test(BOSTON_SMSA5$CMEDV, nb2listw(boston.soi)) } } \keyword{datasets} spdep/man/similar.listw.Rd0000644000176200001440000000342711716033161015235 0ustar liggesusers\name{similar.listw} \alias{similar.listw} %- Also NEED an '\alias' for EACH other topic documented here. \title{Create symmetric similar weights lists} \description{ From Ord's 1975 paper, it is known that the Jacobian for SAR models may be found by "symmetrizing" by similarity (the eigenvalues of similar matrices are identical, so the Jacobian is too). This applies only to styles "W" and "S" with underlying symmetric binary neighbour relations or symmetric general neighbour relations (so no k-nearest neighbour relations). The function is invoked automatically within the SAR fitting functions, to call \code{eigen} on a symmetric matrix for the default eigen method, or to make it possible to use the Matrix method on weights that can be "symmetrized" in this way. } \usage{ similar.listw(listw) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{listw}{a \code{listw} object created for example by \code{nb2listw}} } \value{ a \code{listw} object } \references{Ord, J. K. 1975 Estimation methods for models of spatial interaction, \emph{Journal of the American Statistical Association}, 70, 120-126} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{lagsarlm}}, \code{\link{errorsarlm}}} \examples{ data(oldcol) COL.W <- nb2listw(COL.nb, style="W") COL.S <- nb2listw(COL.nb, style="S") sum(log(1 - 0.5 * eigenw(COL.W))) sum(log(1 - 0.5 * eigenw(similar.listw(COL.W)))) W_J <- as(as_dsTMatrix_listw(similar.listw(COL.W)), "CsparseMatrix") I <- as_dsCMatrix_I(dim(W_J)[1]) c(determinant(I - 0.5 * W_J, logarithm=TRUE)$modulus) sum(log(1 - 0.5 * eigenw(COL.S))) sum(log(1 - 0.5 * eigenw(similar.listw(COL.S)))) W_J <- as(as_dsTMatrix_listw(similar.listw(COL.S)), "CsparseMatrix") c(determinant(I - 0.5 * W_J, logarithm=TRUE)$modulus) } \keyword{spatial} spdep/man/EBImoran.mc.Rd0000644000176200001440000000752412661646161014502 0ustar liggesusers% Copyright 2003 by Roger S. Bivand \encoding{UTF-8} \name{EBImoran.mc} \alias{EBImoran.mc} \alias{EBImoran} %- Also NEED an `\alias' for EACH other topic documented here. \title{Permutation test for empirical Bayes index} \description{ An empirical Bayes index modification of Moran's I for testing for spatial autocorrelation in a rate, typically the number of observed cases in a population at risk. The index value is tested by using nsim random permutations of the index for the given spatial weighting scheme, to establish the rank of the observed statistic in relation to the nsim simulated values. } \usage{ EBImoran.mc(n, x, listw, nsim, zero.policy = NULL, alternative = "greater", spChk=NULL, return_boot=FALSE, subtract_mean_in_numerator=TRUE) } %- maybe also `usage' for other objects documented here. \arguments{ \item{n}{a numeric vector of counts of cases the same length as the neighbours list in listw} \item{x}{a numeric vector of populations at risk the same length as the neighbours list in listw} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{nsim}{number of permutations} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{alternative}{a character string specifying the alternative hypothesis, must be one of "greater" (default), or "less"} \item{spChk}{should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use \code{get.spChkOption()}} \item{return_boot}{return an object of class \code{boot} from the equivalent permutation bootstrap rather than an object of class \code{htest}} \item{subtract_mean_in_numerator}{default TRUE, if TRUE subtract mean of z in numerator of EBI equation on p. 2157 in reference (consulted with Renato Assunção 2016-02-19); until February 2016 the default was FALSE agreeing with the printed paper.} } \details{ The statistic used is (m is the number of observations): \deqn{EBI = \frac{m}{\sum_{i=1}^{m}\sum_{j=1}^{m}w_{ij}} \frac{\sum_{i=1}^{m}\sum_{j=1}^{m}w_{ij}z_i z_j}{\sum_{i=1}^{m}(z_i - \bar{z})^2} }{EBI = (n sum_i sum_j w_ij z_i z_j) / (S0 sum_i (z_i - zbar)^2)} where: \deqn{z_i = \frac{p_i - b}{\sqrt{v_i}}}{z_i = (p_i - b) / sqrt(v_i)} and: \deqn{p_i = n_i / x_i}{p_i = n_i / x_i} \deqn{v_i = a + (b / x_i)}{v_i = a + (b / x_i)} \deqn{b = \sum_{i=1}^{m} n_i / \sum_{i=1}^{m} x_i }{sum_i n_i / sum_i x_i} \deqn{a = s^2 - b / (\sum_{i=1}^{m} x_i / m)}{a = s^2 - b / (sum_i x_i / m)} \deqn{s^2 = \sum_{i=1}^{m} x_i (p_i - b)^2 / \sum_{i=1}^{m} x_i }{s^2 = sum_i x_i (p_i - b)^2 / sum_i x_i} } \value{ A list with class \code{htest} and \code{mc.sim} containing the following components: \item{statistic}{the value of the observed Moran's I.} \item{parameter}{the rank of the observed Moran's I.} \item{p.value}{the pseudo p-value of the test.} \item{alternative}{a character string describing the alternative hypothesis.} \item{method}{a character string giving the method used.} \item{data.name}{a character string giving the name(s) of the data, and the number of simulations.} \item{res}{nsim simulated values of statistic, final value is observed statistic} \item{z}{a numerical vector of Empirical Bayes indices as z above} } \references{Assunção RM, Reis EA 1999 A new proposal to adjust Moran's I for population density. Statistics in Medicine 18, pp. 2147--2162} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{moran}}, \code{\link{moran.mc}}, \code{\link{EBest}}} \examples{ example(nc.sids) EBImoran.mc(nc.sids$SID74, nc.sids$BIR74, nb2listw(ncCC89_nb, style="B", zero.policy=TRUE), nsim=999, zero.policy=TRUE) sids.p <- nc.sids$SID74 / nc.sids$BIR74 moran.mc(sids.p, nb2listw(ncCC89_nb, style="B", zero.policy=TRUE), nsim=999, zero.policy=TRUE) } \keyword{spatial} spdep/man/write.nb.gal.Rd0000644000176200001440000000173611716033161014727 0ustar liggesusers% Copyright 2001-3 by Roger S. Bivand \name{write.nb.gal} \alias{write.nb.gal} \title{Write a neighbours list as a GAL lattice file} \description{ Write a neighbours list as a GAL lattice file, may also use newer GeoDa header format } \usage{ write.nb.gal(nb, file, oldstyle=TRUE, shpfile=NULL, ind=NULL) } \arguments{ \item{nb}{an object of class \code{nb} with a list of integer vectors containing neighbour region number ids.} \item{file}{name of file with GAL lattice data} \item{oldstyle}{if TRUE, first line of file contains only number of spatial units, if FALSE, uses newer GeoDa style} \item{shpfile}{Shapefile name taken from GAL file for this dataset} \item{ind}{region id indicator variable name} } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{read.gal}}} \examples{ example(columbus) GALfile <- tempfile("GAL") write.nb.gal(col.gal.nb, GALfile) col.queen <- read.gal(GALfile) summary(diffnb(col.queen, col.gal.nb)) } \keyword{spatial} spdep/man/ME.Rd0000644000176200001440000001210712020446000012715 0ustar liggesusers\name{ME} \alias{ME} \alias{print.ME_res} \alias{fitted.ME_res} %- Also NEED an '\alias' for EACH other topic documented here. \title{Moran eigenvector GLM filtering} \description{ The Moran eigenvector filtering function is intended to remove spatial autocorrelation from the residuals of generalised linear models. It uses brute force eigenvector selection to reach a subset of such vectors to be added to the RHS of the GLM model to reduce residual autocorrelation to below the specified alpha value. Since eigenvector selection only works on symmetric weights, the weights are made symmetric before the eigenvectors are found (from spdep 0.5-50). } \usage{ ME(formula, data, family = gaussian, weights, offset, listw, alpha=0.05, nsim=99, verbose=NULL, stdev=FALSE) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{formula}{a symbolic description of the model to be fit} \item{data}{an optional data frame containing the variables in the model} \item{family}{a description of the error distribution and link function to be used in the model} \item{weights}{an optional vector of weights to be used in the fitting process} \item{offset}{this can be used to specify an a priori known component to be included in the linear predictor during fitting} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{alpha}{used as a stopping rule to choose all eigenvectors up to and including the one with a p-value exceeding alpha} \item{nsim}{number of permutations for permutation bootstrap for finding p-values} \item{verbose}{default NULL, use global option value; if TRUE report eigenvectors selected} \item{stdev}{if TRUE, p-value calculated from bootstrap permutation standard deviate using \code{pnorm} with alternative="greater", if FALSE the Hope-type p-value} } \details{ The eigenvectors for inclusion are chosen by calculating the empirical Moran's I values for the initial model plus each of the doubly centred symmetric spatial weights matrix eigenvectors in turn. Then the first eigenvector is chosen as that with the lowest Moran's I value. The procedure is repeated until the lowest remaining Moran's I value has a permutation-based probability value above alpha. The probability value is either Hope-type or based on using the mean and standard deviation of the permutations to calculate ZI based on the stdev argument. } \value{ An object of class \code{ME_res}: \item{selection}{a matrix summarising the selection of eigenvectors for inclusion, with columns: \describe{ \item{Eigenvector}{number of selected eigenvector} \item{ZI}{permutation-based standardized deviate of Moran's I if stdev=TRUE} \item{pr(ZI)}{probability value: if stdev=TRUE of the permutation-based standardized deviate, if FALSE the Hope-type probability value, in both cases on-sided} } The first row is the value at the start of the search } \item{vectors}{a matrix of the selected eigenvectors in order of selection} } \references{Dray S, Legendre P and Peres-Neto PR (2005) Spatial modeling: a comprehensive framework for principle coordinate analysis of neigbbor matrices (PCNM), Ecological Modelling; Griffith DA and Peres-Neto PR (2006) Spatial modeling in ecology: the flexibility of eigenfunction spatial analyses.} \author{Roger Bivand and Pedro Peres-Neto} \seealso{\code{\link{SpatialFiltering}}, \code{\link[stats]{glm}}} \examples{ \dontrun{ example(columbus) lmbase <- lm(CRIME ~ INC + HOVAL, data=columbus) lagcol <- SpatialFiltering(CRIME ~ 1, ~ INC + HOVAL, data=columbus, nb=col.gal.nb, style="W", alpha=0.1, verbose=TRUE) lagcol lmlag <- lm(CRIME ~ INC + HOVAL + fitted(lagcol), data=columbus) anova(lmlag) anova(lmbase, lmlag) set.seed(123) lagcol1 <- ME(CRIME ~ INC + HOVAL, data=columbus, family="gaussian", listw=nb2listw(col.gal.nb), alpha=0.1, verbose=TRUE) lagcol1 lmlag1 <- lm(CRIME ~ INC + HOVAL + fitted(lagcol1), data=columbus) anova(lmlag1) anova(lmbase, lmlag1) set.seed(123) lagcol2 <- ME(CRIME ~ INC + HOVAL, data=columbus, family="gaussian", listw=nb2listw(col.gal.nb), alpha=0.1, stdev=TRUE, verbose=TRUE) lagcol2 lmlag2 <- lm(CRIME ~ INC + HOVAL + fitted(lagcol2), data=columbus) anova(lmlag2) anova(lmbase, lmlag2) example(nc.sids) glmbase <- glm(SID74 ~ 1, data=nc.sids, offset=log(BIR74), family="poisson") set.seed(123) MEpois1 <- ME(SID74 ~ 1, data=nc.sids, offset=log(BIR74), family="poisson", listw=nb2listw(ncCR85_nb, style="B"), alpha=0.2, verbose=TRUE) MEpois1 glmME <- glm(SID74 ~ 1 + fitted(MEpois1), data=nc.sids, offset=log(BIR74), family="poisson") anova(glmME, test="Chisq") anova(glmbase, glmME, test="Chisq") data(hopkins) hopkins_part <- hopkins[21:36,36:21] hopkins_part[which(hopkins_part > 0, arr.ind=TRUE)] <- 1 hopkins.rook.nb <- cell2nb(16, 16, type="rook") glmbase <- glm(c(hopkins_part) ~ 1, family="binomial") set.seed(123) MEbinom1 <- ME(c(hopkins_part) ~ 1, family="binomial", listw=nb2listw(hopkins.rook.nb, style="B"), alpha=0.2, verbose=TRUE) glmME <- glm(c(hopkins_part) ~ 1 + fitted(MEbinom1), family="binomial") anova(glmME, test="Chisq") anova(glmbase, glmME, test="Chisq") } } \keyword{spatial} spdep/man/EBest.Rd0000644000176200001440000000411311716033161013427 0ustar liggesusers% Copyright 2003-6 by Roger S. Bivand \name{EBest} \alias{EBest} \title{Global Empirical Bayes estimator} \description{ The function computes global empirical Bayes estimates for rates "shrunk" to the overall mean. } \usage{ EBest(n, x, family="poisson") } \arguments{ \item{n}{a numeric vector of counts of cases} \item{x}{a numeric vector of populations at risk} \item{family}{either "poisson" for rare conditions or "binomial" for non-rare conditions} } \details{ Details of the implementation for the "poisson" family are to be found in Marshall, p. 284--5, and Bailey and Gatrell p. 303--306 and exercise 8.2, pp. 328--330. For the "binomial" family, see Martuzzi and Elliott (implementation by Olaf Berke). } \value{ A data frame with two columns: \item{raw}{a numerical vector of raw (crude) rates} \item{estmm}{a numerical vector of empirical Bayes estimates} and a \code{parameters} attribute list with components: \item{a}{global method of moments phi value} \item{m}{global method of moments gamma value} } \references{Marshall R M (1991) Mapping disease and mortality rates using Empirical Bayes Estimators, Applied Statistics, 40, 283--294; Bailey T, Gatrell A (1995) Interactive Spatial Data Analysis, Harlow: Longman, pp. 303--306, Martuzzi M, Elliott P (1996) Empirical Bayes estimation of small area prevalence of non-rare conditions, Statistics in Medicine 15, 1867--1873.} \author{Roger Bivand \email{Roger.Bivand@nhh.no} and Olaf Berke, Population Medicine, OVC, University of Guelph, CANADA} \seealso{\code{\link{EBlocal}}, \code{\link{probmap}}, \code{\link{EBImoran.mc}}} \examples{ example(auckland) res <- EBest(auckland$M77_85, 9*auckland$Und5_81) attr(res, "parameters") cols <- grey(6:2/7) brks <- c(-Inf,2,2.5,3,3.5,Inf) plot(auckland, col=cols[findInterval(res$estmm*1000, brks, all.inside=TRUE)]) legend("bottomleft", fill=cols, legend=leglabs(brks), bty="n") title(main="Global moment estimator of infant mortality per 1000 per year") data(huddersfield) res <- EBest(huddersfield$cases, huddersfield$total, family="binomial") round(res[,1:2],4)*100 } \keyword{spatial} spdep/man/listw2sn.Rd0000644000176200001440000000272611716033161014222 0ustar liggesusers% Copyright 2001-3 by Roger S. Bivand \name{listw2sn} \alias{listw2sn} \alias{sn2listw} \alias{as.spam.listw} \title{Spatial neighbour sparse representation} \description{ The function makes a \code{"spatial neighbour"} object representation (similar to the S-PLUS spatial statististics module representation of a \code{"listw"} spatial weights object. \code{sn2listw()} is the inverse function to \code{listw2sn()}, creating a \code{"listw"} object from a \code{"spatial neighbour"} object. The \code{as.spam.listw} method converts a \code{"listw"} object to a sparse matrix as defined in the \pkg{spam} package, using \code{listw2sn()}. } \usage{ listw2sn(listw) sn2listw(sn) as.spam.listw(listw) } \arguments{ \item{listw}{a \code{listw} object from for example \code{nb2listw}} \item{sn}{a \code{spatial.neighbour} object} } \value{ \code{listw2sn()}returns a data frame with three columns, and with class \code{spatial.neighbour}: \item{from}{region number id for the start of the link (S-PLUS row.id)} \item{to}{region number id for the end of the link (S-PLUS col.id)} \item{weights}{weight for this link} %\code{logSpwdet} returns log det(I - rho * W). } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{nb2listw}}} \examples{ example(columbus) col.listw <- nb2listw(col.gal.nb) col.listw$neighbours[[1]] col.listw$weights[[1]] col.sn <- listw2sn(col.listw) str(col.sn) \dontrun{ col.sp <- as.spam.listw(col.listw) str(col.sp) } } \keyword{spatial} spdep/man/spautolm.Rd0000644000176200001440000003743412437404077014316 0ustar liggesusers\name{spautolm} \alias{spautolm} \alias{residuals.spautolm} \alias{deviance.spautolm} \alias{coef.spautolm} \alias{fitted.spautolm} \alias{print.spautolm} \alias{summary.spautolm} \alias{LR1.spautolm} \alias{logLik.spautolm} \alias{print.summary.spautolm} %\alias{CAR} %\alias{SAR} %- Also NEED an '\alias' for EACH other topic documented here. \title{Spatial conditional and simultaneous autoregression model estimation} \description{ Function taking family and weights arguments for spatial autoregression model estimation by Maximum Likelihood, using dense matrix methods, not suited to large data sets with thousands of observations. With one of the sparse matrix methods, larger numbers of observations can be handled, but the \code{interval=} argument should be set. The implementation is GLS using the single spatial coefficient value, here termed lambda, found by line search using \code{optimize} to maximise the log likelihood. } \usage{ spautolm(formula, data = list(), listw, weights, na.action, family = "SAR", method="eigen", verbose = NULL, trs=NULL, interval=NULL, zero.policy = NULL, tol.solve=.Machine$double.eps, llprof=NULL, control=list()) \method{summary}{spautolm}(object, correlation = FALSE, adj.se=FALSE, Nagelkerke=FALSE, ...) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{formula}{a symbolic description of the model to be fit. The details of model specification are given for \code{lm()}} \item{data}{an optional data frame containing the variables in the model. By default the variables are taken from the environment which the function is called.} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{weights}{an optional vector of weights to be used in the fitting process} \item{na.action}{a function (default \code{options("na.action")}), can also be \code{na.omit} or \code{na.exclude} with consequences for residuals and fitted values - in these cases the weights list will be subsetted to remove NAs in the data. Note that only weights lists created without using the glist argument to \code{nb2listw} may be subsetted.} \item{family}{character string: either \code{"SAR"} or \code{"CAR"} for simultaneous or conditional autoregressions; \code{"SMA"} for spatial moving average added thanks to Jielai Ma - \code{"SMA"} is only implemented for method=\code{"eigen"} because it necessarily involves dense matrices} \item{method}{character string: default \code{"eigen"} for use of dense matrices, \code{"Matrix_J"} for sparse matrices (restricted to spatial weights symmetric or similar to symmetric) using methods in the Matrix package; \dQuote{Matrix} provides updating Cholesky decomposition methods. Values of method may also include "LU", which provides an alternative sparse matrix decomposition approach, and the "Chebyshev" and Monte Carlo "MC" approximate log-determinant methods.} \item{verbose}{default NULL, use global option value; if TRUE, reports function values during optimization.} \item{trs,}{default NULL, if given, a vector of powered spatial weights matrix traces output by \code{trW}; when given, used in some Jacobian methods} \item{interval}{search interval for autoregressive parameter when not using method="eigen"; default is c(-1,0.999), \code{optimize} will reset NA/NaN to a bound and gives a warning when the interval is poorly set; method="Matrix" will attempt to search for an appropriate interval, if find\_interval=TRUE (fails on some platforms)} \item{zero.policy}{default NULL, use global option value; Include list of no-neighbour observations in output if TRUE --- otherwise zero.policy is handled within the listw argument} \item{tol.solve}{the tolerance for detecting linear dependencies in the columns of matrices to be inverted - passed to \code{solve()} (default=double precision machine tolerance). Errors in \code{solve()} may constitute indications of poorly scaled variables: if the variables have scales differing much from the autoregressive coefficient, the values in this matrix may be very different in scale, and inverting such a matrix is analytically possible by definition, but numerically unstable; rescaling the RHS variables alleviates this better than setting tol.solve to a very small value} \item{llprof}{default NULL, can either be an integer, to divide the feasible range into llprof points, or a sequence of spatial coefficient values, at which to evaluate the likelihood function} \item{control}{list of extra control arguments - see section below} \item{object}{\code{spautolm} object from \code{spautolm}} \item{correlation}{logical; if 'TRUE', the correlation matrix of the estimated parameters is returned and printed (default=FALSE)} \item{adj.se}{if TRUE, adjust the coefficient standard errors for the number of fitted coefficients} \item{Nagelkerke}{if TRUE, the Nagelkerke pseudo R-squared is reported} \item{\dots}{further arguments passed to or from other methods} } \details{ This implementation is based on \code{\link[MASS]{lm.gls}} and \code{\link{errorsarlm}}. In particular, the function does not (yet) prevent asymmetric spatial weights being used with "CAR" family models. It appears that both numerical issues (convergence in particular) and uncertainties about the exact spatial weights matrix used make it difficult to reproduce Cressie and Chan's 1989 results, also given in Cressie 1993. Note that the fitted() function for the output object assumes that the response variable may be reconstructed as the sum of the trend, the signal, and the noise (residuals). Since the values of the response variable are known, their spatial lags are used to calculate signal components (Cressie 1993, p. 564). This differs from other software, including GeoDa, which does not use knowledge of the response variable in making predictions for the fitting data. } \section{Control arguments}{ \describe{ \item{tol.opt:}{the desired accuracy of the optimization - passed to \code{optimize()} (default=\code{.Machine$double.eps^(2/3)})} \item{fdHess:}{default NULL, then set to (method != "eigen") internally; use \code{fdHess} to compute an approximate Hessian using finite differences when using sparse matrix methods; used to make a coefficient covariance matrix when the number of observations is large; may be turned off to save resources if need be} \item{optimHess:}{default FALSE, use \code{fdHess} from \pkg{nlme}, if TRUE, use \code{optim} to calculate Hessian at optimum} \item{optimHessMethod:}{default \dQuote{optimHess}, may be \dQuote{nlm} or one of the \code{optim} methods} \item{Imult:}{default 2; used for preparing the Cholesky decompositions for updating in the Jacobian function} \item{super:}{if NULL (default), set to FALSE to use a simplicial decomposition for the sparse Cholesky decomposition and method \dQuote{Matrix_J}, set to \code{as.logical(NA)} for method \dQuote{Matrix}, if TRUE, use a supernodal decomposition} \item{cheb_q:}{default 5; highest power of the approximating polynomial for the Chebyshev approximation} \item{MC_p:}{default 16; number of random variates} \item{MC_m:}{default 30; number of products of random variates matrix and spatial weights matrix} \item{type}{default \dQuote{MC}, used with method \dQuote{moments}; alternatives \dQuote{mult} and \dQuote{moments}, for use if \code{trs} is missing, \code{\link{trW}}} \item{correct}{default TRUE, used with method \dQuote{moments} to compute the Smirnov/Anselin correction term} \item{trunc}{default TRUE, used with method \dQuote{moments} to truncate the Smirnov/Anselin correction term} \item{SE_method}{default \dQuote{LU}, may be \dQuote{MC}} \item{nrho}{default 200, as in SE toolbox; the size of the first stage lndet grid; it may be reduced to for example 40} \item{interpn}{default 2000, as in SE toolbox; the size of the second stage lndet grid} \item{small_asy}{default TRUE; if the method is not \dQuote{eigen}, use asymmetric covariances rather than numerical Hessian ones if n <= small} \item{small}{default 1500; threshold number of observations for asymmetric covariances when the method is not \dQuote{eigen}} \item{SElndet}{default NULL, may be used to pass a pre-computed SE toolbox style matrix of coefficients and their lndet values to the "SE_classic" and "SE_whichMin" methods} \item{LU_order}{default FALSE; used in \dQuote{LU_prepermutate}, note warnings given for \code{lu} method} \item{pre_eig}{default NULL; may be used to pass a pre-computed vector of eigenvalues} }} \value{ A list object of class \code{spautolm}: \item{fit}{a list, with items: \describe{ \item{coefficients}{ML coefficient estimates} \item{SSE}{ML sum of squared errors} \item{s2}{ML residual variance} \item{imat}{ML coefficient covariance matrix (before multiplying by s2)} \item{signal\_trend}{non-spatial component of fitted.values} \item{signal\_stochastic}{spatial component of fitted.values} \item{fitted.values}{sum of non-spatial and spatial components of fitted.values} \item{residuals}{difference between observed and fitted values} }} \item{lambda}{ML autoregressive coefficient} \item{LL}{log likelihood for fitted model} \item{LL0}{log likelihood for model with lambda=0} \item{call}{the call used to create this object} \item{parameters}{number of parameters estimated} \item{aliased}{if not NULL, details of aliased variables} \item{method}{Jacobian method chosen} \item{family}{family chosen} \item{zero.policy}{zero.policy used} \item{weights}{case weights used} \item{interval}{the line search interval used} \item{timings}{processing timings} \item{na.action}{(possibly) named vector of excluded or omitted observations if non-default na.action argument used} \item{llprof}{if not NULL, a list with components lambda and ll of equal length} \item{lambda.se}{Numerical Hessian-based standard error of lambda} \item{fdHess}{Numerical Hessian-based variance-covariance matrix} \item{X}{covariates used in model fitting} \item{Y}{response used in model fitting} \item{weights}{weights used in model fitting} } \references{Cliff, A. D., Ord, J. K. 1981 \emph{Spatial processes}, Pion; Ord, J. K. 1975 Estimation methods for models of spatial interaction, \emph{Journal of the American Statistical Association}, 70, 120-126; Waller, L. A., Gotway, C. A. 2004 \emph{Applied spatial statistics for public health}, Wiley, Hoboken, NJ, 325-380; Cressie, N. A. C. 1993 \emph{Statistics for spatial data}, Wiley, New York, 548-568; Ripley, B. D. 1981 \emph{Spatial statistics}, Wiley, New York, 88-95; LeSage J and RK Pace (2009) Introduction to Spatial Econometrics. CRC Press, Boca Raton.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \note{The standard errors given in Waller and Gotway (2004) are adjusted for the numbers of parameters estimated, and may be reproduced by using the additional argument \code{adj.se=TRUE} in the \code{summary} method. In addition, the function returns fitted values and residuals as given by Cressie (1993) p. 564.} \seealso{\code{\link[stats]{optimize}}, \code{\link{errorsarlm}}, \code{\link{do_ldet}}} \examples{ example(NY_data) lm0 <- lm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata) summary(lm0) lm0w <- lm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, weights=POP8) summary(lm0w) esar0 <- errorsarlm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY) summary(esar0) system.time(esar1f <- spautolm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY, family="SAR", method="eigen", verbose=TRUE)) res <- summary(esar1f) print(res) sqrt(diag(res$resvar)) sqrt(diag(esar1f$fit$imat)*esar1f$fit$s2) sqrt(diag(esar1f$fdHess)) system.time(esar1M <- spautolm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY, family="SAR", method="Matrix", verbose=TRUE)) summary(esar1M) \dontrun{ system.time(esar1M <- spautolm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY, family="SAR", method="Matrix", verbose=TRUE, control=list(super=TRUE))) summary(esar1M) esar1wf <- spautolm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY, weights=POP8, family="SAR", method="eigen") summary(esar1wf) system.time(esar1wM <- spautolm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY, weights=POP8, family="SAR", method="Matrix")) summary(esar1wM) esar1wlu <- spautolm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY, weights=POP8, family="SAR", method="LU") summary(esar1wlu) esar1wch <- spautolm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY, weights=POP8, family="SAR", method="Chebyshev") summary(esar1wch) ecar1f <- spautolm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY, family="CAR", method="eigen") summary(ecar1f) system.time(ecar1M <- spautolm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY, family="CAR", method="Matrix")) summary(ecar1M) ecar1wf <- spautolm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY, weights=nydata$POP8, family="CAR", method="eigen") summary(ecar1wf) system.time(ecar1wM <- spautolm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY, weights=POP8, family="CAR", method="Matrix")) summary(ecar1wM) example(nc.sids) ft.SID74 <- sqrt(1000)*(sqrt(nc.sids$SID74/nc.sids$BIR74) + sqrt((nc.sids$SID74+1)/nc.sids$BIR74)) lm_nc <- lm(ft.SID74 ~ 1) sids.nhbr30 <- dnearneigh(cbind(nc.sids$east, nc.sids$north), 0, 30, row.names=row.names(nc.sids)) sids.nhbr30.dist <- nbdists(sids.nhbr30, cbind(nc.sids$east, nc.sids$north)) sids.nhbr <- listw2sn(nb2listw(sids.nhbr30, glist=sids.nhbr30.dist, style="B", zero.policy=TRUE)) dij <- sids.nhbr[,3] n <- nc.sids$BIR74 el1 <- min(dij)/dij el2 <- sqrt(n[sids.nhbr$to]/n[sids.nhbr$from]) sids.nhbr$weights <- el1*el2 sids.nhbr.listw <- sn2listw(sids.nhbr) both <- factor(paste(nc.sids$L_id, nc.sids$M_id, sep=":")) ft.NWBIR74 <- sqrt(1000)*(sqrt(nc.sids$NWBIR74/nc.sids$BIR74) + sqrt((nc.sids$NWBIR74+1)/nc.sids$BIR74)) mdata <- data.frame(both, ft.NWBIR74, ft.SID74, BIR74=nc.sids$BIR74) outl <- which.max(rstandard(lm_nc)) as.character(nc.sids$names[outl]) mdata.4 <- mdata[-outl,] W <- listw2mat(sids.nhbr.listw) W.4 <- W[-outl, -outl] sids.nhbr.listw.4 <- mat2listw(W.4) esarI <- errorsarlm(ft.SID74 ~ 1, data=mdata, listw=sids.nhbr.listw, zero.policy=TRUE) summary(esarI) esarIa <- spautolm(ft.SID74 ~ 1, data=mdata, listw=sids.nhbr.listw, family="SAR") summary(esarIa) esarIV <- errorsarlm(ft.SID74 ~ ft.NWBIR74, data=mdata, listw=sids.nhbr.listw, zero.policy=TRUE) summary(esarIV) esarIVa <- spautolm(ft.SID74 ~ ft.NWBIR74, data=mdata, listw=sids.nhbr.listw, family="SAR") summary(esarIVa) esarIaw <- spautolm(ft.SID74 ~ 1, data=mdata, listw=sids.nhbr.listw, weights=BIR74, family="SAR") summary(esarIaw) esarIIaw <- spautolm(ft.SID74 ~ both - 1, data=mdata, listw=sids.nhbr.listw, weights=BIR74, family="SAR") summary(esarIIaw) esarIVaw <- spautolm(ft.SID74 ~ ft.NWBIR74, data=mdata, listw=sids.nhbr.listw, weights=BIR74, family="SAR") summary(esarIVaw) ecarIaw <- spautolm(ft.SID74 ~ 1, data=mdata.4, listw=sids.nhbr.listw.4, weights=BIR74, family="CAR") summary(ecarIaw) ecarIIaw <- spautolm(ft.SID74 ~ both - 1, data=mdata.4, listw=sids.nhbr.listw.4, weights=BIR74, family="CAR") summary(ecarIIaw) ecarIVaw <- spautolm(ft.SID74 ~ ft.NWBIR74, data=mdata.4, listw=sids.nhbr.listw.4, weights=BIR74, family="CAR") summary(ecarIVaw) nc.sids$fitIV <- append(fitted.values(ecarIVaw), NA, outl-1) spplot(nc.sids, c("fitIV"), cuts=12) # Cressie 1993, p. 565 data(oldcol) COL.errW.eig <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb, style="W")) summary(COL.errW.eig) COL.errW.sar <- spautolm(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb, style="W")) summary(COL.errW.sar) data(boston) gp1 <- spautolm(log(CMEDV) ~ CRIM + ZN + INDUS + CHAS + I(NOX^2) + I(RM^2) + AGE + log(DIS) + log(RAD) + TAX + PTRATIO + B + log(LSTAT), data=boston.c, nb2listw(boston.soi), family="SMA") summary(gp1) } } \keyword{spatial} spdep/man/subset.listw.Rd0000644000176200001440000000272211716033161015077 0ustar liggesusers% Copyright 2004 by Roger S. Bivand \name{subset.listw} \alias{subset.listw} \title{Subset a spatial weights list} \description{ The function subsets a spatial weights list, retaining objects for which the subset argument vector is TRUE. At present it will only subset non-general weights lists (that is those created by \code{nb2listw} with \code{glist=NULL}).} \usage{ \method{subset}{listw}(x, subset, zero.policy = NULL, ...) } \arguments{ \item{x}{an object of class \code{listw}} \item{subset}{logical expression} \item{zero.policy}{default NULL, use global option value; if FALSE stop with error for any empty neighbour sets, if TRUE permit the weights list to be formed with zero-length weights vectors - passed through to \code{nb2listw}} \item{\dots}{generic function pass-through} } \value{ The function returns an object of class \code{listw} with component \code{style} the same as the input object, component \code{neighbours} a list of integer vectors containing neighbour region number ids (compacted to run from 1:number of regions in subset), and component \code{weights} as the weights computed for \code{neighbours} using \code{style}. } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{nb2listw}}, \code{\link{subset.nb}}} \examples{ example(columbus) to.be.dropped <- c(31, 34, 36, 39, 42, 46) pre <- nb2listw(col.gal.nb) print(pre) post <- subset(pre, !(1:length(col.gal.nb) \%in\% to.be.dropped)) print(post) } \keyword{spatial} spdep/man/eigenw.Rd0000644000176200001440000001336012502056477013720 0ustar liggesusers% Copyright 2002-2012 by Roger S. Bivand \name{eigenw} \alias{eigenw} \alias{griffith_sone} \alias{subgraph_eigenw} %- Also NEED an `\alias' for EACH other topic documented here. \title{Spatial weights matrix eigenvalues} \description{ The \code{eigenw} function returns a numeric vector of eigenvalues of the weights matrix generated from the spatial weights object \code{listw}. The eigenvalues are used to speed the computation of the Jacobian in spatial model estimation: \deqn{\log(\det[I - \rho W]) = \sum_{i=1}^{n}\log(1 - \rho \lambda_i)} where \eqn{W}{W} is the n by n spatial weights matrix, and \eqn{\lambda_i}{lambda[i]} are the eigenvalues of \eqn{W}{W}. } \usage{ eigenw(listw, quiet=NULL) griffith_sone(P, Q, type="rook") subgraph_eigenw(nb, glist=NULL, style="W", zero.policy=NULL, quiet=NULL) } %- maybe also `usage' for other objects documented here. \arguments{ \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{quiet}{default NULL, use global !verbose option value; set to FALSE for short summary} \item{P}{number of columns in the grid (number of units in a horizontal axis direction)} \item{Q}{number of rows in the grid (number of units in a vertical axis direction.)} \item{type}{\dQuote{rook} or \dQuote{queen}} \item{nb}{an object of class \code{nb}} \item{glist}{list of general weights corresponding to neighbours} \item{style}{\code{style} can take values \dQuote{W}, \dQuote{B}, \dQuote{C}, \dQuote{U}, \dQuote{minmax} and \dQuote{S}} \item{zero.policy}{default NULL, use global option value; if FALSE stop with error for any empty neighbour sets, if TRUE permit the weights list to be formed with zero-length weights vectors} } \details{The \code{eigenw} function computes the eigenvalues of a single spatial weights object. The \code{griffith_sone} function function may be used, following Ord and Gasim (for references see Griffith and Sone (1995)), to calculate analytical eigenvalues for binary rook or queen contiguous neighbours where the data are arranged as a regular P times Q grid. The \code{subgraph_eigenw} function may be used when there are multiple graph components, of which the largest may be handled as a dense matrix. Here the eigenvalues are computed for each subgraph in turn, and catenated to reconstruct the complete set. The functions may be used to provide pre-computed eigenvalues for spatial regression functions.} \value{ a numeric or complex vector of eigenvalues of the weights matrix generated from the spatial weights object. } \references{Cliff, A. D., Ord, J. K. 1981 Spatial processes, Pion, p. 155; Ord, J. K. 1975 Estimation methods for models of spatial interaction, Journal of the American Statistical Association, 70, 120-126.; Griffith, D. A. and Sone, A. (1995). Trade-offs associated with normalizing constant computational simplifications for estimating spatial statistical models. Journal of Statistical Computation and Simulation, 51, 165-183.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{eigen}}%, \code{\link{logSpwdet}} } \examples{ data(oldcol) W.eig <- eigenw(nb2listw(COL.nb, style="W")) 1/range(W.eig) S.eig <- eigenw(nb2listw(COL.nb, style="S")) 1/range(S.eig) B.eig <- eigenw(nb2listw(COL.nb, style="B")) 1/range(B.eig) # cases for intrinsically asymmetric weights crds <- cbind(COL.OLD$X, COL.OLD$Y) k3 <- knn2nb(knearneigh(crds, k=3)) is.symmetric.nb(k3) k3eig <- eigenw(nb2listw(k3, style="W")) is.complex(k3eig) rho <- 0.5 Jc <- sum(log(1 - rho * k3eig)) # complex eigenvalue Jacobian Jc # subgraphs nc <- n.comp.nb(k3) nc$nc table(nc$comp.id) k3eigSG <- subgraph_eigenw(k3, style="W") all.equal(sort(k3eig), k3eigSG) W <- as(nb2listw(k3, style="W"), "CsparseMatrix") I <- diag(length(k3)) Jl <- sum(log(abs(diag(slot(lu(I - rho * W), "U"))))) # LU Jacobian equals complex eigenvalue Jacobian Jl all.equal(Re(Jc), Jl) # wrong value if only real part used Jr <- sum(log(1 - rho * Re(k3eig))) Jr all.equal(Jr, Jl) # construction of Jacobian from complex conjugate pairs (Jan Hauke) Rev <- Re(k3eig)[which(Im(k3eig) == 0)] # real eigenvalues Cev <- k3eig[which(Im(k3eig) != 0)] pCev <- Cev[Im(Cev) > 0] # separate complex conjugate pairs RpCev <- Re(pCev) IpCev <- Im(pCev) # reassemble Jacobian Jc1 <- sum(log(1 - rho*Rev)) + sum(log((1 - rho * RpCev)^2 + (rho^2)*(IpCev^2))) all.equal(Re(Jc), Jc1) # impact of omitted complex part term in real part only Jacobian Jc2 <- sum(log(1 - rho*Rev)) + sum(log((1 - rho * RpCev)^2)) all.equal(Jr, Jc2) # trace of asymmetric (WW) and crossprod of complex eigenvalues for APLE sum(diag(W \%*\% W)) crossprod(k3eig) # analytical regular grid eigenvalues rg <- cell2nb(ncol=7, nrow=7, type="rook") rg_eig <- eigenw(nb2listw(rg, style="B")) rg_GS <- griffith_sone(P=7, Q=7, type="rook") all.equal(rg_eig, rg_GS) \donttest{ if (require(igraph)) { B <- as(nb2listw(rg, style="B"), "CsparseMatrix") f <- function(x, extra=NULL) {as.vector(B \%*\% x)} res1 <- arpack(f, sym=TRUE, options=list(n=nrow(B), nev=1, ncv=8, which="LA", maxiter=200)) resn <- arpack(f, sym=TRUE, options=list(n=nrow(B), nev=1, ncv=8, which="SA", maxiter=200)) print(c(resn$value, res1$value)) #res <- arpack(f, sym=TRUE, options=list(n=nrow(B), nev=2, ncv=8, which="BE", # maxiter=200)) #print(res$value) # At line 558 of file dsaup2.f: Fortran runtime error: # Index '9' of dimension 1 of array 'bounds' above upper bound of 8 print(all.equal(range(Re(rg_eig)), c(resn$value, res1$value))) lw <- nb2listw(rg, style="W") rg_eig <- eigenw(similar.listw(lw)) print(range(Re(rg_eig))) W <- as(lw, "CsparseMatrix") f <- function(x, extra=NULL) {as.vector(W \%*\% x)} print(arpack(f, sym=FALSE, options=list(n=nrow(W), nev=1, ncv=8, which="LR", maxiter=200))$value) print(arpack(f, sym=FALSE, options=list(n=nrow(W), nev=1, ncv=8, which="SR", maxiter=200))$value) }} } \keyword{spatial} spdep/man/prunecost.Rd0000644000176200001440000000451011716033161014450 0ustar liggesusers\name{prunecost} \alias{prunecost} %- Also NEED an '\alias' for EACH other topic documented here. \title{Compute cost of prune each edge} \description{ If any edge are dropped, the MST are pruned. This generate a two subgraphs. So, it makes a tree graphs and tree dissimilarity values are computed, one for each graph. The dissimilarity is the sum over sqared differences between the observactions in the nodes and mean vector of observations in the graph. The dissimilarity of original graph and the sum of dissimilarity of subgraphs are returned. } \usage{ prunecost(edges, data, method = c("euclidean", "maximum", "manhattan", "canberra", "binary", "minkowski", "mahalanobis"), p = 2, cov, inverted = FALSE) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{edges}{A matrix with 2 colums with each row is one edge} \item{data}{A data.frame with observations in the nodes.} \item{method}{Character or function to declare distance method. If \code{method} is character, method must be "mahalanobis" or "euclidean", "maximum", "manhattan", "canberra", "binary" or "minkowisk". If \code{method} is one of "euclidean", "maximum", "manhattan", "canberra", "binary" or "minkowisk", see \code{\link{dist}} for details, because this function as used to compute the distance. If \code{method="mahalanobis"}, the mahalanobis distance is computed between neighbour areas. If \code{method} is a \code{function}, this function is used to compute the distance.} \item{p}{The power of the Minkowski distance.} \item{cov}{The covariance matrix used to compute the mahalanobis distance.} \item{inverted}{logical. If 'TRUE', 'cov' is supposed to contain the inverse of the covariance matrix.} } %%\details{} \value{ A vector with the differences between the dissimilarity of all nodes and the dissimilarity sum of all subgraphs obtained by pruning one edge each time. } %%\references{ ~put references to the literature/web site here ~ } \author{Elias T. Krainski and Renato M. Assuncao} %%\note{} \seealso{See Also as \code{\link{prunemst}}} \examples{ d <- data.frame(a=-2:2, b=runif(5)) e <- matrix(c(1,2, 2,3, 3,4, 4,5), ncol=2, byrow=TRUE) sum(sweep(d, 2, colMeans(d))^2) prunecost(e, d) } \keyword{graphs} \keyword{cluster}% __ONLY ONE__ keyword per line spdep/man/baltimore.Rd0000644000176200001440000000257512770451462014426 0ustar liggesusers\name{baltimore} \alias{baltimore} \docType{data} \title{House sales prices, Baltimore, MD 1978} \description{ House sales price and characteristics for a spatial hedonic regression, Baltimore, MD 1978. X,Y on Maryland grid, projection type unknown. } \usage{data(baltimore)} \format{ A data frame with 211 observations on the following 17 variables. \describe{ \item{STATION}{a numeric vector} \item{PRICE}{a numeric vector} \item{NROOM}{a numeric vector} \item{DWELL}{a numeric vector} \item{NBATH}{a numeric vector} \item{PATIO}{a numeric vector} \item{FIREPL}{a numeric vector} \item{AC}{a numeric vector} \item{BMENT}{a numeric vector} \item{NSTOR}{a numeric vector} \item{GAR}{a numeric vector} \item{AGE}{a numeric vector} \item{CITCOU}{a numeric vector} \item{LOTSZ}{a numeric vector} \item{SQFT}{a numeric vector} \item{X}{a numeric vector} \item{Y}{a numeric vector} } } \source{Prepared by Luc Anselin. Original data made available by Robin Dubin, Weatherhead School of Management, Case Western Research University, Cleveland, OH. \url{https://spatial.uchicago.edu/sample-data}} \references{ Dubin, Robin A. (1992). Spatial autocorrelation and neighborhood quality. Regional Science and Urban Economics 22(3), 433-452. } \examples{ data(baltimore) ## maybe str(baltimore) ; plot(baltimore) ... } \keyword{datasets} spdep/man/lag.listw.Rd0000644000176200001440000000241011716033161014327 0ustar liggesusers% Copyright 2001-3 by Roger S. Bivand \name{lag.listw} \alias{lag.listw} \title{Spatial lag of a numeric vector} \description{ Using a \code{listw} sparse representation of a spatial weights matrix, compute the lag vector \eqn{V x} } \usage{ \method{lag}{listw}(x, var, zero.policy=NULL, NAOK=FALSE, ...) } \arguments{ \item{x}{a \code{listw} object created for example by \code{nb2listw}} \item{var}{a numeric vector the same length as the neighbours list in listw} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{NAOK}{If 'FALSE', the presence of 'NA' values is regarded as an error; if 'TRUE' then any 'NA' or 'NaN' or 'Inf' values in var are represented as an NA lagged value.} \item{...}{additional arguments} } \value{ a numeric vector the same length as var } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{nb2listw}}} \examples{ data(oldcol) Vx <- lag.listw(nb2listw(COL.nb, style="W"), COL.OLD$CRIME) plot(Vx, COL.OLD$CRIME) plot(ecdf(COL.OLD$CRIME)) plot(ecdf(Vx), add=TRUE, col.points="red", col.hor="red") is.na(COL.OLD$CRIME[5]) <- TRUE VxNA <- lag.listw(nb2listw(COL.nb, style="W"), COL.OLD$CRIME, NAOK=TRUE) } \keyword{spatial} spdep/man/summary.nb.Rd0000644000176200001440000000344512372212232014524 0ustar liggesusers% Copyright 2001-3 by Roger S. Bivand \name{summary.nb} \alias{summary.nb} \alias{print.nb} \alias{summary.listw} \alias{print.listw} \title{Print and summary function for neighbours and weights lists} \description{ The function prints summary measures for links in a neighbours list. If a matrix of coordinates is given as well, summary descriptive measures for the link lengths are also printed. Print and summary functions are also available for \code{"listw"} weights list objects, also reporting constants (S0, S1, S2) used in inference for global spatial autocorrelation statistics such as Moran's I, Geary's C, join-count tests and Getis-Ord G. } \usage{ \method{summary}{nb}(object, coords=NULL, longlat = NULL, scale = 1, ...) \method{print}{nb}(x, ...) \method{summary}{listw}(object, coords, longlat, zero.policy = NULL, scale = 1, ...) \method{print}{listw}(x, zero.policy = NULL, ...) } \arguments{ \item{object}{an object of class \code{nb}} \item{coords}{matrix of region point coordinates or a SpatialPoints object} \item{longlat}{TRUE if point coordinates are longitude-latitude decimal degrees, in which case distances are measured in kilometers; if coords is a SpatialPoints object, the value is taken from the object itself} \item{...}{additional arguments affecting the output produced} \item{x}{an object of class \code{nb}} \item{zero.policy}{default NULL, use global option value; if FALSE stop with error for any empty neighbour sets} \item{scale}{passed through to \code{stem()} for control of plot length} } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{plot.nb}}} \examples{ example(columbus) coords <- coordinates(columbus) col.gal.nb summary(col.gal.nb, coords) col.listw <- nb2listw(col.gal.nb, style="W") col.listw summary(col.listw) } \keyword{spatial} spdep/man/cell2nb.Rd0000644000176200001440000000317311716033161013753 0ustar liggesusers% Copyright 2001 by Roger S. Bivand \name{cell2nb} \alias{cell2nb} \alias{mrc2vi} \alias{rookcell} \alias{queencell} \alias{vi2mrc} \title{Generate neighbours list for grid cells} \description{ The function generates a list of neighbours for a grid of cells. Helper functions are used to convert to and from the vector indices for row and column grid positions, and rook (shared edge) or queen (shared edge or vertex) neighbour definitions are applied by type. If torus is TRUE, the grid is mapped onto a torus, removing edge effects. } \usage{ cell2nb(nrow, ncol, type="rook", torus=FALSE) mrc2vi(rowcol, nrow, ncol) rookcell(rowcol, nrow, ncol, torus=FALSE, rmin=1, cmin=1) queencell(rowcol, nrow, ncol, torus=FALSE, rmin=1, cmin=1) vi2mrc(i, nrow, ncol) } \arguments{ \item{nrow}{number of rows in the grid} \item{ncol}{number of columns in the grid} \item{type}{rook or queen} \item{torus}{map grid onto torus} \item{rowcol}{matrix with two columns of row, column indices} \item{i}{vector of vector indices corresponding to rowcol} \item{rmin}{lowest row index} \item{cmin}{lowset column index} } \value{ The function returns an object of class \code{nb} with a list of integer vectors containing neighbour region number ids. See \code{\link{card}} for details of \dQuote{nb} objects. } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{summary.nb}}, \code{\link{card}}} \examples{ nb7rt <- cell2nb(7, 7) summary(nb7rt) xyc <- attr(nb7rt, "region.id") xy <- matrix(as.integer(unlist(strsplit(xyc, ":"))), ncol=2, byrow=TRUE) plot(nb7rt, xy) nb7rt <- cell2nb(7, 7, torus=TRUE) summary(nb7rt) } \keyword{spatial} spdep/man/lagsarlm.Rd0000644000176200001440000004405512732033156014243 0ustar liggesusers% Copyright 2002-16 by Roger S. Bivand \name{lagsarlm} \alias{lagsarlm} \alias{spBreg_lag} \title{Spatial simultaneous autoregressive lag model estimation} \description{ The \code{lagsarlm} function provides Maximum likelihood estimation of spatial simultaneous autoregressive lag and spatial Durbin (mixed) models of the form: \deqn{y = \rho W y + X \beta + \varepsilon}{y = rho W y + X beta + e} where \eqn{\rho}{rho} is found by \code{optimize()} first, and \eqn{\beta}{beta} and other parameters by generalized least squares subsequently (one-dimensional search using optim performs badly on some platforms). In the spatial Durbin (mixed) model, the spatially lagged independent variables are added to X. Note that interpretation of the fitted coefficients should use impact measures, because of the feedback loops induced by the data generation process for this model. With one of the sparse matrix methods, larger numbers of observations can be handled, but the \code{interval=} argument may need be set when the weights are not row-standardised. The \code{spBreg_lag} function is an early-release version of the Matlab Spatial Econometrics Toolbox function \code{sar_g.m}, using drawing by inversion, and not accommodating heteroskedastic disturbances. } \usage{ lagsarlm(formula, data = list(), listw, na.action, type="lag", method="eigen", quiet=NULL, zero.policy=NULL, interval=NULL, tol.solve=1.0e-10, trs=NULL, control=list()) spBreg_lag(formula, data = list(), listw, na.action, type="lag", zero.policy=NULL, control=list()) } \arguments{ \item{formula}{a symbolic description of the model to be fit. The details of model specification are given for \code{lm()}} \item{data}{an optional data frame containing the variables in the model. By default the variables are taken from the environment which the function is called.} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{na.action}{a function (default \code{options("na.action")}), can also be \code{na.omit} or \code{na.exclude} with consequences for residuals and fitted values - in these cases the weights list will be subsetted to remove NAs in the data. It may be necessary to set zero.policy to TRUE because this subsetting may create no-neighbour observations. Note that only weights lists created without using the glist argument to \code{nb2listw} may be subsetted.} \item{type}{default "lag", may be set to "mixed"; when "mixed", the lagged intercept is dropped for spatial weights style "W", that is row-standardised weights, but otherwise included; \dQuote{Durbin} may be used instead of \dQuote{mixed}} \item{method}{"eigen" (default) - the Jacobian is computed as the product of (1 - rho*eigenvalue) using \code{eigenw}, and "spam" or "Matrix_J" for strictly symmetric weights lists of styles "B" and "C", or made symmetric by similarity (Ord, 1975, Appendix C) if possible for styles "W" and "S", using code from the spam or Matrix packages to calculate the determinant; \dQuote{Matrix} and \dQuote{spam_update} provide updating Cholesky decomposition methods; "LU" provides an alternative sparse matrix decomposition approach. In addition, there are "Chebyshev" and Monte Carlo "MC" approximate log-determinant methods; the Smirnov/Anselin (2009) trace approximation is available as "moments". Three methods: "SE_classic", "SE_whichMin", and "SE_interp" are provided experimentally, the first to attempt to emulate the behaviour of Spatial Econometrics toolbox ML fitting functions. All use grids of log determinant values, and the latter two attempt to ameliorate some features of "SE_classic". } \item{quiet}{default NULL, use !verbose global option value; if FALSE, reports function values during optimization.} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE (default) assign NA - causing \code{lagsarlm()} to terminate with an error} \item{interval}{default is NULL, search interval for autoregressive parameter} \item{tol.solve}{the tolerance for detecting linear dependencies in the columns of matrices to be inverted - passed to \code{solve()} (default=1.0e-10). This may be used if necessary to extract coefficient standard errors (for instance lowering to 1e-12), but errors in \code{solve()} may constitute indications of poorly scaled variables: if the variables have scales differing much from the autoregressive coefficient, the values in this matrix may be very different in scale, and inverting such a matrix is analytically possible by definition, but numerically unstable; rescaling the RHS variables alleviates this better than setting tol.solve to a very small value} \item{trs}{default NULL, if given, a vector of powered spatial weights matrix traces output by \code{trW}; when given, insert the asymptotic analytical values into the numerical Hessian instead of the approximated values; may be used to get around some problems raised when the numerical Hessian is poorly conditioned, generating NaNs in subsequent operations; the use of trs is recommended} \item{control}{list of extra control arguments - see section below} } \details{ The asymptotic standard error of \eqn{\rho}{rho} is only computed when method=eigen, because the full matrix operations involved would be costly for large n typically associated with the choice of method="spam" or "Matrix". The same applies to the coefficient covariance matrix. Taken as the asymptotic matrix from the literature, it is typically badly scaled, and with the elements involving \eqn{\rho}{rho} being very small, while other parts of the matrix can be very large (often many orders of magnitude in difference). It often happens that the \code{tol.solve} argument needs to be set to a smaller value than the default, or the RHS variables can be centred or reduced in range. Versions of the package from 0.4-38 include numerical Hessian values where asymptotic standard errors are not available. This change has been introduced to permit the simulation of distributions for impact measures. The warnings made above with regard to variable scaling also apply in this case. Note that the fitted() function for the output object assumes that the response variable may be reconstructed as the sum of the trend, the signal, and the noise (residuals). Since the values of the response variable are known, their spatial lags are used to calculate signal components (Cressie 1993, p. 564). This differs from other software, including GeoDa, which does not use knowledge of the response variable in making predictions for the fitting data. } \section{Control arguments}{ \describe{ \item{tol.opt:}{the desired accuracy of the optimization - passed to \code{optimize()} (default=square root of double precision machine tolerance, a larger root may be used needed, see help(boston) for an example)} \item{fdHess:}{default NULL, then set to (method != "eigen") internally; use \code{fdHess} to compute an approximate Hessian using finite differences when using sparse matrix methods; used to make a coefficient covariance matrix when the number of observations is large; may be turned off to save resources if need be} \item{optimHess:}{default FALSE, use \code{fdHess} from \pkg{nlme}, if TRUE, use \code{optim} to calculate Hessian at optimum} \item{optimHessMethod:}{default \dQuote{optimHess}, may be \dQuote{nlm} or one of the \code{optim} methods} \item{compiled_sse:}{default FALSE; logical value used in the log likelihood function to choose compiled code for computing SSE} \item{Imult:}{default 2; used for preparing the Cholesky decompositions for updating in the Jacobian function} \item{super:}{if NULL (default), set to FALSE to use a simplicial decomposition for the sparse Cholesky decomposition and method \dQuote{Matrix_J}, set to \code{as.logical(NA)} for method \dQuote{Matrix}, if TRUE, use a supernodal decomposition} \item{cheb_q:}{default 5; highest power of the approximating polynomial for the Chebyshev approximation} \item{MC_p:}{default 16; number of random variates} \item{MC_m:}{default 30; number of products of random variates matrix and spatial weights matrix} \item{spamPivot:}{default \dQuote{MMD}, alternative \dQuote{RCM}} \item{in_coef}{default 0.1, coefficient value for initial Cholesky decomposition in \dQuote{spam_update}} \item{type}{default \dQuote{MC}, used with method \dQuote{moments}; alternatives \dQuote{mult} and \dQuote{moments}, for use if \code{trs} is missing, \code{\link{trW}}} \item{correct}{default TRUE, used with method \dQuote{moments} to compute the Smirnov/Anselin correction term} \item{trunc}{default TRUE, used with method \dQuote{moments} to truncate the Smirnov/Anselin correction term} \item{SE_method}{default \dQuote{LU}, may be \dQuote{MC}} \item{nrho}{default 200, as in SE toolbox; the size of the first stage lndet grid; it may be reduced to for example 40} \item{interpn}{default 2000, as in SE toolbox; the size of the second stage lndet grid} \item{small_asy}{default TRUE; if the method is not \dQuote{eigen}, use asymmetric covariances rather than numerical Hessian ones if n <= small} \item{small}{default 1500; threshold number of observations for asymmetric covariances when the method is not \dQuote{eigen}} \item{SElndet}{default NULL, may be used to pass a pre-computed SE toolbox style matrix of coefficients and their lndet values to the "SE_classic" and "SE_whichMin" methods} \item{LU_order}{default FALSE; used in \dQuote{LU_prepermutate}, note warnings given for \code{lu} method} \item{pre_eig}{default NULL; may be used to pass a pre-computed vector of eigenvalues} }} \section{Extra Bayesian control arguments}{ \describe{ \item{ldet_method}{default \dQuote{SE_classic}; equivalent to the \code{method} argument in \code{lagsarlm}} \item{interval}{default \code{c(-1, 1)}; used unmodified or set internally by \code{jacobianSetup}} \item{ndraw}{default \code{2500L}; integer total number of draws} \item{nomit}{default \code{500L}; integer total number of omitted burn-in draws} \item{thin}{default \code{1L}; integer thinning proportion} \item{verbose}{default \code{FALSE}; inverse of \code{quiet} argument in \code{lagsarlm}} \item{detval}{default \code{NULL}; not yet in use, precomputed matrix of log determinants} \item{prior}{a list with the following components: \describe{ \item{Tbeta}{default \code{NULL}; values of the betas variance-covariance matrix, set to \code{diag(k)*1e+12} if \code{NULL}} \item{c_beta}{default \code{NULL}; values of the betas set to 0 if \code{NULL}} \item{rho}{default \code{0.5}; value of the autoregressive coefficient} \item{sige}{default \code{1}; value of the residual variance} \item{nu}{default \code{0}; informative Gamma(nu,d0) prior on sige} \item{d0}{default \code{0}; informative Gamma(nu,d0) prior on sige} \item{a1}{default \code{1.01}; parameter for beta(a1,a2) prior on rho} \item{a2}{default \code{1.01}; parameter for beta(a1,a2) prior on rho} }} }} \value{ A list object of class \code{sarlm} \item{type}{"lag" or "mixed"} \item{rho}{simultaneous autoregressive lag coefficient} \item{coefficients}{GLS coefficient estimates} \item{rest.se}{asymptotic standard errors if ase=TRUE, otherwise approximate numeriacal Hessian-based values} \item{LL}{log likelihood value at computed optimum} \item{s2}{GLS residual variance} \item{SSE}{sum of squared GLS errors} \item{parameters}{number of parameters estimated} % \item{lm.model}{the \code{lm} object returned when estimating for \eqn{\rho=0}{rho=0}} \item{logLik_lm.model}{Log likelihood of the linear model for \eqn{\rho=0}{rho=0}} \item{AIC_lm.model}{AIC of the linear model for \eqn{\rho=0}{rho=0}} \item{method}{the method used to calculate the Jacobian} \item{call}{the call used to create this object} \item{residuals}{GLS residuals} \item{tarX}{model matrix of the GLS model} \item{tary}{response of the GLS model} \item{y}{response of the linear model for \eqn{\rho=0}{rho=0}} \item{X}{model matrix of the linear model for \eqn{\rho=0}{rho=0}} % \item{lm.target}{the \code{lm} object returned for the GLS fit} \item{opt}{object returned from numerical optimisation} \item{fitted.values}{Difference between residuals and response variable} \item{se.fit}{Not used yet} % \item{formula}{model formula} \item{ase}{TRUE if method=eigen} \item{rho.se}{if ase=TRUE, the asymptotic standard error of \eqn{\rho}{rho}, otherwise approximate numeriacal Hessian-based value} \item{LMtest}{if ase=TRUE, the Lagrange Multiplier test for the absence of spatial autocorrelation in the lag model residuals} \item{resvar}{the asymptotic coefficient covariance matrix for (s2, rho, B)} \item{zero.policy}{zero.policy for this model} \item{aliased}{the aliased explanatory variables (if any)} \item{listw_style}{the style of the spatial weights used} \item{interval}{the line search interval used to find \eqn{\rho}{rho}} \item{fdHess}{the numerical Hessian-based coefficient covariance matrix for (rho, B) if computed} \item{optimHess}{if TRUE and fdHess returned, \code{optim} used to calculate Hessian at optimum} \item{insert}{if TRUE and fdHess returned, the asymptotic analytical values are inserted into the numerical Hessian instead of the approximated values, and its size increased to include the first row/column for sigma2} \item{LLNullLlm}{Log-likelihood of the null linear model} \item{timings}{processing timings} \item{f_calls}{number of calls to the log likelihood function during optimization} \item{hf_calls}{number of calls to the log likelihood function during numerical Hessian computation} \item{intern_classic}{a data frame of detval matrix row choices used by the SE toolbox classic method} \item{na.action}{(possibly) named vector of excluded or omitted observations if non-default na.action argument used} The internal sar.lag.mixed.* functions return the value of the log likelihood function at \eqn{\rho}{rho}. } \references{Cliff, A. D., Ord, J. K. 1981 \emph{Spatial processes}, Pion; Ord, J. K. 1975 Estimation methods for models of spatial interaction, \emph{Journal of the American Statistical Association}, 70, 120-126; Anselin, L. 1988 \emph{Spatial econometrics: methods and models.} (Dordrecht: Kluwer); Anselin, L. 1995 SpaceStat, a software program for the analysis of spatial data, version 1.80. Regional Research Institute, West Virginia University, Morgantown, WV; Anselin L, Bera AK (1998) Spatial dependence in linear regression models with an introduction to spatial econometrics. In: Ullah A, Giles DEA (eds) Handbook of applied economic statistics. Marcel Dekker, New York, pp. 237-289; Cressie, N. A. C. 1993 \emph{Statistics for spatial data}, Wiley, New York; LeSage J and RK Pace (2009) Introduction to Spatial Econometrics. CRC Press, Boca Raton. Roger Bivand, Gianfranco Piras (2015). Comparing Implementations of Estimation Methods for Spatial Econometrics. \emph{Journal of Statistical Software}, 63(18), 1-36. \url{http://www.jstatsoft.org/v63/i18/}. Bivand, R. S., Hauke, J., and Kossowski, T. (2013). Computing the Jacobian in Gaussian spatial autoregressive models: An illustrated comparison of available methods. \emph{Geographical Analysis}, 45(2), 150-179. } \author{Roger Bivand \email{Roger.Bivand@nhh.no}, with thanks to Andrew Bernat for contributions to the asymptotic standard error code.} \seealso{\code{\link{lm}}, \code{\link{errorsarlm}}, \code{\link{summary.sarlm}}, \code{\link{eigenw}}, \code{\link{predict.sarlm}}, \code{\link{impacts.sarlm}}, \code{\link{residuals.sarlm}}, \code{\link{do_ldet}} } \examples{ data(oldcol) COL.lag.eig <- lagsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb, style="W"), method="eigen", quiet=FALSE) summary(COL.lag.eig, correlation=TRUE) COL.lag.eig$fdHess COL.lag.eig$resvar W <- as(nb2listw(COL.nb), "CsparseMatrix") trMatc <- trW(W, type="mult") COL.lag.eig1 <- lagsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb, style="W"), control=list(fdHess=TRUE), trs=trMatc) COL.lag.eig1$fdHess system.time(COL.lag.M <- lagsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb), method="Matrix", quiet=FALSE)) summary(COL.lag.M) impacts(COL.lag.M, listw=nb2listw(COL.nb)) \dontrun{ system.time(COL.lag.sp <- lagsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb), method="spam", quiet=FALSE)) summary(COL.lag.sp) } COL.lag.B <- lagsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb, style="B")) summary(COL.lag.B, correlation=TRUE) COL.mixed.B <- lagsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb, style="B"), type="mixed", tol.solve=1e-9) summary(COL.mixed.B, correlation=TRUE) COL.mixed.W <- lagsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb, style="W"), type="mixed") summary(COL.mixed.W, correlation=TRUE) NA.COL.OLD <- COL.OLD NA.COL.OLD$CRIME[20:25] <- NA COL.lag.NA <- lagsarlm(CRIME ~ INC + HOVAL, data=NA.COL.OLD, nb2listw(COL.nb), na.action=na.exclude, control=list(tol.opt=.Machine$double.eps^0.4)) COL.lag.NA$na.action COL.lag.NA resid(COL.lag.NA) \dontrun{ data(boston) gp2mM <- lagsarlm(log(CMEDV) ~ CRIM + ZN + INDUS + CHAS + I(NOX^2) + I(RM^2) + AGE + log(DIS) + log(RAD) + TAX + PTRATIO + B + log(LSTAT), data=boston.c, nb2listw(boston.soi), type="mixed", method="Matrix") summary(gp2mM) W <- as(nb2listw(boston.soi), "CsparseMatrix") trMatb <- trW(W, type="mult") gp2mMi <- lagsarlm(log(CMEDV) ~ CRIM + ZN + INDUS + CHAS + I(NOX^2) + I(RM^2) + AGE + log(DIS) + log(RAD) + TAX + PTRATIO + B + log(LSTAT), data=boston.c, nb2listw(boston.soi), type="mixed", method="Matrix", trs=trMatb) summary(gp2mMi) } summary(COL.lag.eig) COL.lag.Bayes <- spBreg_lag(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb, style="W")) summary(COL.lag.Bayes) set.seed(1) summary(impacts(COL.lag.Bayes, tr=trMatc), short=TRUE, zstats=TRUE) \dontrun{ data(elect80) lw <- nb2listw(e80_queen, zero.policy=TRUE) el_ml <- lagsarlm(log(pc_turnout) ~ log(pc_college) + log(pc_homeownership) + log(pc_income), data=elect80, listw=lw, zero.policy=TRUE, method="LU") summary(el_ml) set.seed(1) el_B <- spBreg_lag(log(pc_turnout) ~ log(pc_college) + log(pc_homeownership) + log(pc_income), data=elect80, listw=lw, zero.policy=TRUE) summary(el_B) el_ml$timings attr(el_B, "timings") } } \keyword{spatial} spdep/man/residuals.sarlm.Rd0000644000176200001440000000231311716033161015535 0ustar liggesusers% Copyright 2002-3 by Roger S. Bivand \name{residuals.sarlm} \alias{residuals.sarlm} \alias{deviance.sarlm} \alias{coef.sarlm} \alias{vcov.sarlm} \alias{fitted.sarlm} \title{Access functions for spatial simultaneous autoregressive linear model objects} \description{ Access functions for residuals, deviance, coefficients and fitted values from spatial simultaneous autoregressive linear model objects } \usage{ \method{residuals}{sarlm}(object, ...) \method{deviance}{sarlm}(object, ...) \method{coef}{sarlm}(object, ...) \method{vcov}{sarlm}(object, ...) \method{fitted}{sarlm}(object, ...) } %- maybe also `usage' for other objects documented here. \arguments{ \item{object}{\code{sarlm} object returned by \code{lagsarlm} or \code{errorsarlm}} \item{...}{further arguments passed through} } \value{ Revelant vectors of numerical values. } \note{\code{fitted.sarlm()} returns the difference between \code{residuals()} for the same object and the response variable; \code{predict.sarlm()} returns a decomposition into trend and signal for the fit.} \author{Roger Bivand, \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{errorsarlm}}, \code{\link{lagsarlm}}, \code{\link{predict.sarlm}}} \keyword{spatial} spdep/man/getisord.Rd0000644000176200001440000000214712210603042014241 0ustar liggesusers% Copyright 2001 by Roger S. Bivand \name{getisord} \alias{getisord} \alias{x} \alias{y} \alias{xyz} \docType{data} \title{Getis-Ord remote sensing example data} \usage{data(getisord)} \description{ The \code{xyz} data frame has 256 rows and 3 columns. Vectors \code{x} and \code{y} are of length 16 and give the centres of the grid rows and columns, 30m apart. The data start from the bottom left, Getis and Ord start from the top left - so their 136th grid cell is our 120th. } \format{ This data frame contains the following columns: \describe{ \item{x}{grid eastings} \item{y}{grid northings} \item{val}{remote sensing values} } } \source{Getis, A. and Ord, J. K. 1996 Local spatial statistics: an overview. In P. Longley and M. Batty (eds) \emph{Spatial analysis: modelling in a GIS environment} (Cambridge: Geoinformation International), 266. } \examples{ data(getisord) image(x, y, t(matrix(xyz$val, nrow=16, ncol=16, byrow=TRUE)), asp=1) text(xyz$x, xyz$y, xyz$val, cex=0.7) polygon(c(195,225,225,195), c(195,195,225,225), lwd=2) title(main="Getis-Ord 1996 remote sensing data") } \keyword{datasets} spdep/man/lm.morantest.Rd0000644000176200001440000000604512476316370015070 0ustar liggesusers% Copyright 2001-5 by Roger S. Bivand \name{lm.morantest} \alias{lm.morantest} \alias{listw2U} \title{Moran's I test for residual spatial autocorrelation} \description{ Moran's I test for spatial autocorrelation in residuals from an estimated linear model (\code{lm()}). The helper function \code{listw2U()} constructs a weights list object corresponding to the sparse matrix \eqn{\frac{1}{2} ( \mathbf{W} + \mathbf{W}'}{1/2 (W + W')} } \usage{ lm.morantest(model, listw, zero.policy=NULL, alternative = "greater", spChk=NULL, resfun=weighted.residuals, naSubset=TRUE) listw2U(listw) } \arguments{ \item{model}{an object of class \code{lm} returned by \code{lm}; weights may be specified in the \code{lm} fit, but offsets should not be used} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{alternative}{a character string specifying the alternative hypothesis, must be one of "greater" (default), "less" or "two.sided".} \item{spChk}{should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use \code{get.spChkOption()}} \item{resfun}{default: weighted.residuals; the function to be used to extract residuals from the \code{lm} object, may be \code{residuals}, \code{weighted.residuals}, \code{rstandard}, or \code{rstudent}} \item{naSubset}{default TRUE to subset listw object for omitted observations in model object (this is a change from earlier behaviour, when the \code{model$na.action} component was ignored, and the listw object had to be subsetted by hand)} } \value{ A list with class \code{htest} containing the following components: \item{statistic}{the value of the standard deviate of Moran's I.} \item{p.value}{the p-value of the test.} \item{estimate}{the value of the observed Moran's I, its expectation and variance under the method assumption.} \item{alternative}{a character string describing the alternative hypothesis.} \item{method}{a character string giving the method used.} \item{data.name}{a character string giving the name(s) of the data.} } \references{Cliff, A. D., Ord, J. K. 1981 Spatial processes, Pion, p. 203, } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{lm.LMtests}}, \code{\link{lm}}} \examples{ data(oldcol) oldcrime1.lm <- lm(CRIME ~ 1, data = COL.OLD) oldcrime.lm <- lm(CRIME ~ HOVAL + INC, data = COL.OLD) lm.morantest(oldcrime.lm, nb2listw(COL.nb, style="W")) lm.LMtests(oldcrime.lm, nb2listw(COL.nb, style="W")) lm.morantest(oldcrime.lm, nb2listw(COL.nb, style="S")) lm.morantest(oldcrime1.lm, nb2listw(COL.nb, style="W")) moran.test(COL.OLD$CRIME, nb2listw(COL.nb, style="W"), randomisation=FALSE) oldcrime.wlm <- lm(CRIME ~ HOVAL + INC, data = COL.OLD, weights = I(1/AREA_PL)) lm.morantest(oldcrime.wlm, nb2listw(COL.nb, style="W"), resfun=weighted.residuals) lm.morantest(oldcrime.wlm, nb2listw(COL.nb, style="W"), resfun=rstudent) } \keyword{spatial} spdep/man/graphneigh.Rd0000644000176200001440000001320012723332407014542 0ustar liggesusers% Copyright 2001 by Nicholas Lewin-Koh \name{graphneigh} \alias{gabrielneigh} \alias{relativeneigh} \alias{soi.graph} \alias{plot.Gabriel} \alias{plot.relative} \alias{graph2nb} \title{Graph based spatial weights} \description{ Functions return a graph object containing a list with the vertex coordinates and the to and from indices defining the edges. Some/all of these functions assume that the coordinates are not exactly regularly spaced. The helper function \code{graph2nb} converts a graph object into a neighbour list. The plot functions plot the graph objects. } \usage{ gabrielneigh(coords, nnmult=3) relativeneigh(coords, nnmult=3) %beta.skel(coords,beta) soi.graph(tri.nb, coords, quadsegs=10) graph2nb(gob, row.names=NULL,sym=FALSE) \method{plot}{Gabriel}(x, show.points=FALSE, add=FALSE, linecol=par(col), ...) \method{plot}{relative}(x, show.points=FALSE, add=FALSE, linecol=par(col),...) } \arguments{ \item{coords}{matrix of region point coordinates} \item{nnmult}{scaling factor for memory allocation, default 3; if higher values are required, the function will exit with an error; example below thanks to Dan Putler} \item{tri.nb}{a neighbor list created from tri2nb} \item{quadsegs}{number of line segments making a quarter circle buffer, see \code{\link[rgeos]{gBuffer}}} % \item{beta}{the parameter for a beta skeleton} \item{gob}{a graph object created from any of the graph funtions} \item{row.names}{character vector of region ids to be added to the neighbours list as attribute \code{region.id}, default \code{seq(1, nrow(x))}} \item{sym}{a logical argument indicating whether or not neighbors should be symetric (if i->j then j->i)} \item{x}{object to be plotted} \item{show.points}{(logical) add points to plot} \item{add}{(logical) add to existing plot} \item{linecol}{edge plotting colour} \item{...}{further graphical parameters as in \code{par(..)}} } \details{ The graph functions produce graphs on a 2d point set that %except for %some values of \eqn{ \beta (\beta < 1)}{\beta (\beta < 1)} in the %beta-skeleton, are all subgraphs of the Delaunay triangulation. The relative neighbor graph is defined by the relation, x and y are neighbors if \deqn{d(x,y) \le min(max(d(x,z),d(y,z))| z \in S)}{d(x,y) <= min(max(d(x,z),d(y,z))| z in S)} where d() is the distance, S is the set of points and z is an arbitrary point in S. The Gabriel graph is a subgraph of the delaunay triangulation and has the relative neighbor graph as a sub-graph. The relative neighbor graph is defined by the relation x and y are Gabriel neighbors if \deqn{d(x,y) \le min((d(x,z)^2 + d(y,z)^2)^{1/2} |z \in S)}{d(x,y) <= min((d(x,z)^2 + d(y,z)^2)^1/2 |z in S)} where x,y,z and S are as before. The sphere of influence graph is defined for a finite point set S, let \eqn{r_x} be the distance from point x to its nearest neighbor in S, and \eqn{C_x} is the circle centered on x. Then x and y are SOI neigbors iff \eqn{C_x} and \eqn{C_y} intersect in at least 2 places. From 2016-05-31, Computational Geometry in C code replaced by calls to functions in \pkg{RANN} and \pkg{rgeos}; with a large \code{quadsegs=} argument, the behaviour of the function is the same, otherwise buffer intersections only closely approximate the original function. %The \eqn{beta}{\beta} See \code{\link{card}} for details of \dQuote{nb} objects. } \value{ A list of class \code{Graph} withte following elements \item{np}{number of input points} \item{from}{array of origin ids} \item{to}{array of destination ids} \item{nedges}{number of edges in graph} \item{x}{input x coordinates} \item{y}{input y coordinates} The helper functions return an \code{nb} object with a list of integer vectors containing neighbour region number ids. } \references{ Matula, D. W. and Sokal R. R. 1980, Properties of Gabriel graphs relevant to geographic variation research and the clustering of points in the plane, Geographic Analysis, 12(3), pp. 205-222. Toussaint, G. T. 1980, The relative neighborhood graph of a finite planar set, Pattern Recognition, 12(4), pp. 261-268. Kirkpatrick, D. G. and Radke, J. D. 1985, A framework for computational morphology. In Computational Geometry, Ed. G. T. Toussaint, North Holland. } \author{Nicholas Lewin-Koh \email{nikko@hailmail.net}} \seealso{\code{\link{knearneigh}}, \code{\link{dnearneigh}}, \code{\link{knn2nb}}, \code{\link{card}}} \examples{ example(columbus) coords <- coordinates(columbus) par(mfrow=c(2,2)) col.tri.nb<-tri2nb(coords) col.gab.nb<-graph2nb(gabrielneigh(coords), sym=TRUE) col.rel.nb<- graph2nb(relativeneigh(coords), sym=TRUE) plot(columbus, border="grey") plot(col.tri.nb,coords,add=TRUE) title(main="Delaunay Triangulation") plot(columbus, border="grey") plot(col.gab.nb, coords, add=TRUE) title(main="Gabriel Graph") plot(columbus, border="grey") plot(col.rel.nb, coords, add=TRUE) title(main="Relative Neighbor Graph") plot(columbus, border="grey") if (require(rgeos, quietly=TRUE) && require(RANN, quietly=TRUE)) { col.soi.nb<- graph2nb(soi.graph(col.tri.nb,coords), sym=TRUE) plot(col.soi.nb, coords, add=TRUE) title(main="Sphere of Influence Graph") } par(mfrow=c(1,1)) dx <- rep(0.25*0:4,5) dy <- c(rep(0,5),rep(0.25,5),rep(0.5,5), rep(0.75,5),rep(1,5)) m <- cbind(c(dx, dx, 3+dx, 3+dx), c(dy, 3+dy, dy, 3+dy)) try(res <- gabrielneigh(m)) res <- gabrielneigh(m, nnmult=4) summary(graph2nb(res)) grd <- as.matrix(expand.grid(x=1:5, y=1:5)) #gridded data r2 <- gabrielneigh(grd) set.seed(1) grd1 <- as.matrix(expand.grid(x=1:5, y=1:5)) + matrix(runif(50, .0001, .0006), nrow=25) r3 <- gabrielneigh(grd1) opar <- par(mfrow=c(1,2)) plot(r2, show=TRUE, linecol=2) plot(r3, show=TRUE, linecol=2) par(opar) } \keyword{spatial} spdep/man/bptest.sarlm.Rd0000644000176200001440000000604512312246622015052 0ustar liggesusers% Copyright 2004-2012 by Roger S. Bivand \encoding{UTF-8} \name{bptest.sarlm} \alias{bptest.sarlm} %- Also NEED an '\alias' for EACH other topic documented here. \title{Breusch-Pagan test for spatial models} \description{ Performs the Breusch-Pagan test for heteroskedasticity on the least squares fit of the spatial models taking the spatial coefficients rho or lambda into account. This function is a copy of the \code{bptest} function in package "lmtest", modified to use objects returned by spatial simultaneous autoregressive models. } \usage{ bptest.sarlm(object, varformula=NULL, studentize = TRUE, data=list()) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{object}{An object of class \code{"sarlm"} from \code{errorsarlm()} or \code{lagsarlm()}.} \item{varformula}{a formula describing only the potential explanatory variables for the variance (no dependent variable needed). By default the same explanatory variables are taken as in the main regression model} \item{studentize}{logical. If set to \code{TRUE} Koenker's studentized version of the test statistic will be used.} \item{data}{an optional data frame containing the variables in the varformula} } \details{ Asymptotically this corresponds to the test given by Anselin (1988), but is not exactly the same. The studentized version is more conservative and perhaps to be prefered. The residuals, and for spatial error models the RHS variables, are adjusted for the spatial coefficient, as suggested bt Luc Anselin (personal communication). It is also technically possible to make heteroskedasticity corrections to standard error estimates by using the \dQuote{lm.target} component of \code{sarlm} objects - using functions in the lmtest and sandwich packages. } \value{ A list with class \code{"htest"} containing the following components: \item{statistic}{the value of the test statistic.} \item{p.value}{the p-value of the test.} \item{parameter}{degrees of freedom (wrongly reported if varformula given before 0.5-44.} \item{method}{a character string indicating what type of test was performed.} } \references{T.S. Breusch & A.R. Pagan (1979), A Simple Test for Heteroscedasticity and Random Coefficient Variation. \emph{Econometrica} \bold{47}, 1287--1294 W. Krämer & H. Sonnberger (1986), \emph{The Linear Regression Model under Test}. Heidelberg: Physica. L. Anselin (1988) \emph{Spatial econometrics: methods and models.} Dordrecht: Kluwer, pp. 121--122. } \author{Torsten Hothorn \email{Torsten.Hothorn@rzmail.uni-erlangen.de} and Achim Zeileis \email{zeileis@ci.tuwien.ac.at}, modified by Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{errorsarlm}}, \code{\link{lagsarlm}}} \examples{ example(columbus) error.col <- errorsarlm(CRIME ~ HOVAL + INC, data=columbus, nb2listw(col.gal.nb)) bptest.sarlm(error.col) bptest.sarlm(error.col, studentize=FALSE) \dontrun{ lm.target <- lm(error.col$tary ~ error.col$tarX - 1) if (require(lmtest) && require(sandwich)) { coeftest(lm.target, vcov=vcovHC(lm.target, type="HC0"), df=Inf) } } } \keyword{spatial} spdep/man/lagmess.Rd0000644000176200001440000001404613052107666014075 0ustar liggesusers\name{lagmess} \alias{lagmess} \alias{print.lagmess} \alias{print.summary.lagmess} \alias{summary.lagmess} \alias{residuals.lagmess} \alias{deviance.lagmess} \alias{coef.lagmess} \alias{fitted.lagmess} \alias{logLik.lagmess} %- Also NEED an '\alias' for EACH other topic documented here. \title{Matrix exponential spatial lag model} \description{The function fits a matrix exponential spatial lag model, using \code{optim} to find the value of \code{alpha}, the spatial coefficient.} \usage{ lagmess(formula, data = list(), listw, zero.policy = NULL, na.action = na.fail, q = 10, start = -2.5, control=list(), method="BFGS", verbose=NULL, use_expm=FALSE) \method{summary}{lagmess}(object, ...) \method{print}{lagmess}(x, ...) \method{print}{summary.lagmess}(x, digits = max(5, .Options$digits - 3), signif.stars = FALSE, ...) \method{residuals}{lagmess}(object, ...) \method{deviance}{lagmess}(object, ...) \method{coef}{lagmess}(object, ...) \method{fitted}{lagmess}(object, ...) \method{logLik}{lagmess}(object, ...) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{formula}{a symbolic description of the model to be fit. The details of model specification are given for \code{lm()}} \item{data}{an optional data frame containing the variables in the model. By default the variables are taken from the environment which the function is called.} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA - causing \code{lagmess()} to terminate with an error} \item{na.action}{a function (default \code{options("na.action")}), can also be \code{na.omit} or \code{na.exclude} with consequences for residuals and fitted values - in these cases the weights list will be subsetted to remove NAs in the data. It may be necessary to set zero.policy to TRUE because this subsetting may create no-neighbour observations. Note that only weights lists created without using the glist argument to \code{nb2listw} may be subsetted.} \item{q}{default 10; number of powers of the spatial weights to use} \item{start}{starting value for numerical optimization, should be a small negative number} \item{control}{control parameters passed to \code{optim}} \item{method}{default \code{BFGS}, method passed to \code{optim}} \item{verbose}{default NULL, use global option value; if TRUE report function values during optimization} \item{use_expm}{default FALSE; if TRUE use \code{expm::expAtv} instead of a truncated power series of W} \item{x,object}{Objects of classes \code{lagmess} or \code{summary.lagmess} to be passed to methods} \item{digits}{the number of significant digits to use when printing} \item{signif.stars}{logical. If TRUE, "significance stars" are printed for each coefficient.} \item{\dots}{further arguments passed to or from other methods} } \details{The underlying spatial lag model: \deqn{y = \rho W y + X \beta + \varepsilon}{y = rho W y + X beta + e} where \eqn{\rho}{rho} is the spatial parameter may be fitted by maximum likelihood. In that case, the log likelihood function includes the logartithm of cumbersome Jacobian term \eqn{|I - \rho W|}{|I - rho W|}. If we rewrite the model as: \deqn{S y = X \beta + \varepsilon}{S y = X beta + e} we see that in the ML case \eqn{S y = (I - \rho W) y}{S y = (I - rho W) y}. If W is row-stochastic, S may be expressed as a linear combination of row-stochastic matrices. By pre-computing the matrix \eqn{[y Wy, W^2y, ..., W^{q-1}y]}{[y Wy, W^2y, ..., W^{q-1}y]}, the term \eqn{S y (\alpha)}{S y (alpha)} can readily be found by numerical optimization using the matrix exponential approach. \eqn{\alpha}{alpha} and \eqn{\rho}{rho} are related as \eqn{\rho = 1 - \exp{\alpha}}{rho = 1 - exp(alpha)}, conditional on the number of matrix power terms taken \code{q}.} \value{ The function returns an object of class \code{lagmess} with components: \item{lmobj}{the \code{lm} object returned after fitting \code{alpha}} \item{alpha}{the spatial coefficient} \item{alphase}{the standard error of the spatial coefficient using the numerical Hessian} \item{rho}{the value of \code{rho} implied by \code{alpha}} \item{bestmess}{the object returned by \code{optim}} \item{q}{the number of powers of the spatial weights used} \item{start}{the starting value for numerical optimization used} \item{na.action}{(possibly) named vector of excluded or omitted observations if non-default na.action argument used} \item{nullLL}{the log likelihood of the aspatial model for the same data} } \references{J. P. LeSage and R. K. Pace (2007) A matrix exponential specification. Journal of Econometrics, 140, 190-214; J. P. LeSage and R. K. Pace (2009) Introduction to Spatial Econometrics. CRC Press, Chapter 9.} \author{Roger Bivand \email{Roger.Bivand@nhh.no} and Eric Blankmeyer} \seealso{\code{\link{lagsarlm}}, \code{\link[stats]{optim}}} \examples{ data(baltimore) baltimore$AGE <- ifelse(baltimore$AGE < 1, 1, baltimore$AGE) lw <- nb2listw(knn2nb(knearneigh(cbind(baltimore$X, baltimore$Y), k=7))) obj1 <- lm(log(PRICE) ~ PATIO + log(AGE) + log(SQFT), data=baltimore) lm.morantest(obj1, lw) lm.LMtests(obj1, lw, test="all") system.time(obj2 <- lagmess(log(PRICE) ~ PATIO + log(AGE) + log(SQFT), data=baltimore, listw=lw)) summary(obj2) system.time(obj2a <- lagmess(log(PRICE) ~ PATIO + log(AGE) + log(SQFT), data=baltimore, listw=lw, use_expm=TRUE)) summary(obj2a) obj3 <- lagsarlm(log(PRICE) ~ PATIO + log(AGE) + log(SQFT), data=baltimore, listw=lw) summary(obj3) data(boston) lw <- nb2listw(boston.soi) gp2 <- lagsarlm(log(CMEDV) ~ CRIM + ZN + INDUS + CHAS + I(NOX^2) + I(RM^2) + AGE + log(DIS) + log(RAD) + TAX + PTRATIO + B + log(LSTAT), data=boston.c, lw, method="Matrix") summary(gp2) gp2a <- lagmess(CMEDV ~ CRIM + ZN + INDUS + CHAS + I(NOX^2) + I(RM^2) + AGE + log(DIS) + log(RAD) + TAX + PTRATIO + B + log(LSTAT), data=boston.c, lw) summary(gp2a) } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{spatial} spdep/man/aggregate.nb.Rd0000644000176200001440000000260211716033161014752 0ustar liggesusers\name{aggregate.nb} \alias{aggregate.nb} %- Also NEED an '\alias' for EACH other topic documented here. \title{Aggregate a spatial neighbours object} \description{ The method aggregates a spatial neighbours object, creating a new object listing the neighbours of the aggregates. } \usage{ \method{aggregate}{nb}(x, IDs, remove.self = TRUE, ...) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{x}{an nb neighbour object} \item{IDs}{a character vector of IDs grouping the members of the neighbour object} \item{remove.self}{default TRUE: remove self-neighbours resulting from aggregation} \item{\dots}{unused - arguments passed through} } \value{ an nb neighbour object } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \note{Method suggested by Roberto Patuelli} \examples{ data(used.cars) data(state) cont_st <- match(attr(usa48.nb, "region.id"), state.abb) cents <- as.matrix(as.data.frame(state.center))[cont_st,] opar <- par(mfrow=c(2,1)) plot(usa48.nb, cents, xlim=c(-125, -65), ylim=c(25, 50)) IDs <- as.character(state.division[cont_st]) agg_cents <- aggregate(cents, list(IDs), mean) agg_nb <- aggregate(usa48.nb, IDs) plot(agg_nb, agg_cents[, 2:3], xlim=c(-125, -65), ylim=c(25, 50)) text(agg_cents[, 2:3], agg_cents[, 1], cex=0.6) par(opar) } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{spatial} spdep/man/gstsls.Rd0000644000176200001440000001203012456024415013745 0ustar liggesusers\name{gstsls} \alias{gstsls} \title{Spatial simultaneous autoregressive SAC model estimation by GMM} \description{ An implementation of Kelejian and Prucha's generalised moments estimator for the autoregressive parameter in a spatial model with a spatially lagged dependent variable. } \usage{ gstsls(formula, data = list(), listw, listw2 = NULL, na.action = na.fail, zero.policy = NULL, pars, scaleU=FALSE, control = list(), verbose=NULL, method="nlminb", robust=FALSE, legacy=FALSE, W2X=TRUE) } \arguments{ \item{formula}{a symbolic description of the model to be fit. The details of model specification are given for \code{lm()}} \item{data}{an optional data frame containing the variables in the model. By default the variables are taken from the environment which the function is called.} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{listw2}{a \code{listw} object created for example by \code{nb2listw}, if not given, set to the same spatial weights as the listw argument} \item{na.action}{a function (default \code{na.fail}), can also be \code{na.omit} or \code{na.exclude} with consequences for residuals and fitted values - in these cases the weights list will be subsetted to remove NAs in the data. It may be necessary to set zero.policy to TRUE because this subsetting may create no-neighbour observations. Note that only weights lists created without using the glist argument to \code{nb2listw} may be subsetted.} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE (default) assign NA - causing \code{GMerrorsar()} to terminate with an error} \item{pars}{starting values for \eqn{\lambda}{lambda} and \eqn{\sigma^2}{sigma squared} for GMM optimisation, if missing (default), approximated from initial 2sls model as the autocorrelation coefficient corrected for weights style and model sigma squared} \item{scaleU}{Default FALSE: scale the OLS residuals before computing the moment matrices; only used if the \code{pars} argument is missing} \item{control}{A list of control parameters. See details in \link{optim} or \link{nlminb}} \item{verbose}{default NULL, use global option value; if TRUE, reports function values during optimization.} \item{method}{default \link{nlminb}, or optionally a method passed to \link{optim} to use an alternative optimizer} \item{robust}{see \code{stsls}} \item{legacy}{see \code{stsls}} \item{W2X}{see \code{stsls}} } \details{ When the control list is set with care, the function will converge to values close to the ML estimator without requiring computation of the Jacobian, the most resource-intensive part of ML estimation. } \value{ A list object of class \code{gmsar} \item{lambda}{simultaneous autoregressive error coefficient} \item{coefficients}{GMM coefficient estimates (including the spatial autocorrelation coefficient)} \item{rest.se}{GMM coefficient standard errors} \item{s2}{GMM residual variance} \item{SSE}{sum of squared GMM errors} \item{parameters}{number of parameters estimated} \item{lm.model}{NULL} \item{call}{the call used to create this object} \item{residuals}{GMM residuals} \item{lm.target}{NULL} \item{fitted.values}{Difference between residuals and response variable} \item{formula}{model formula} \item{aliased}{NULL} \item{zero.policy}{zero.policy for this model} \item{LL}{NULL} \item{vv}{list of internal bigG and litg components for testing optimisation surface} \item{optres}{object returned by optimizer} \item{pars}{start parameter values for optimisation} \item{Hcov}{NULL} \item{na.action}{(possibly) named vector of excluded or omitted observations if non-default na.action argument used} } \references{Kelejian, H. H., and Prucha, I. R., 1999. A Generalized Moments Estimator for the Autoregressive Parameter in a Spatial Model. International Economic Review, 40, pp. 509--533; Cressie, N. A. C. 1993 \emph{Statistics for spatial data}, Wiley, New York. Roger Bivand, Gianfranco Piras (2015). Comparing Implementations of Estimation Methods for Spatial Econometrics. \emph{Journal of Statistical Software}, 63(18), 1-36. \url{http://www.jstatsoft.org/v63/i18/}. } \author{Gianfranco Piras and Roger Bivand} \seealso{\code{\link[stats]{optim}}, \code{\link[stats]{nlminb}}, \code{\link{GMerrorsar}}, \code{\link{GMargminImage}}} \examples{ data(oldcol) COL.errW.GM <- gstsls(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb, style="W")) summary(COL.errW.GM) aa <- GMargminImage(COL.errW.GM) levs <- quantile(aa$z, seq(0, 1, 1/12)) image(aa, breaks=levs, xlab="lambda", ylab="s2") points(COL.errW.GM$lambda, COL.errW.GM$s2, pch=3, lwd=2) contour(aa, levels=signif(levs, 4), add=TRUE) COL.errW.GM <- gstsls(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb, style="W"), scaleU=TRUE) summary(COL.errW.GM) listw <- nb2listw(COL.nb) W <- as(listw, "CsparseMatrix") trMat <- trW(W, type="mult") impacts(COL.errW.GM, tr=trMat) } \keyword{spatial} spdep/man/edit.nb.Rd0000644000176200001440000000303312437375265013767 0ustar liggesusers% Copyright 2001-2010 by Roger S. Bivand \name{edit.nb} \alias{edit.nb} \title{Interactive editing of neighbours lists} \description{ The function provides simple interactive editing of neighbours lists to allow unneeded links to be deleted, and missing links to be inserted. It uses \code{identify} to pick the endpoints of the link to be deleted or added, and asks for confirmation before committing. If the result is not assigned to a new object, the editing will be lost - as in \code{edit}. } \usage{ \method{edit}{nb}(name, coords, polys=NULL, ..., use_region.id=FALSE) } \arguments{ \item{name}{an object of class \code{nb}} \item{coords}{matrix of region point coordinates; if missing and polys= inherits from \code{SpatialPolygons}, the label points of that object are used} \item{polys}{if polygon boundaries supplied, will be used as background; must inherit from \code{SpatialPolygons}} \item{...}{further arguments passed to or from other methods} \item{use_region.id}{default \code{FALSE}, in \code{identify} use 1-based observation numbers, otherwise use the \code{nb} \code{region.id} attribute values} } \value{ The function returns an object of class \code{nb} with the edited list of integer vectors containing neighbour region number ids, with added attributes tallying the added and deleted links. } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{summary.nb}}, \code{\link{plot.nb}}} \examples{ \dontrun{ example(columbus) class(columbus) nnb1 <- edit.nb(col.gal.nb, polys=columbus) }} \keyword{spatial} spdep/man/compon.Rd0000644000176200001440000000277312442603262013734 0ustar liggesusers% Copyright 2001 by Roger S. Bivand and Nicholas Lewin-Koh \name{Graph Components} \alias{n.comp.nb} %\alias{reach.ij} %\alias{strong.comp} \title{Depth First Search on Neighbor Lists} \description{ \code{n.comp.nb()} finds the number of disjoint connected subgraphs in the graph depicted by \code{nb.obj} - a spatial neighbours list object. } \usage{ n.comp.nb(nb.obj) } \arguments{ \item{nb.obj}{a neighbours list object of class \code{nb}} } \value{ A list of: \item{nc}{number of disjoint connected subgraphs} \item{comp.id}{vector with the indices of the disjoint connected subgraphs that the nodes in \code{nb.obj} belong to} } \author{Nicholas Lewin-Koh \email{nikko@hailmail.net}} \seealso{\code{\link{plot.nb}}} \examples{ example(columbus) coords <- coordinates(columbus) plot(col.gal.nb, coords, col="grey") col2 <- droplinks(col.gal.nb, 21) plot(col2, coords, add=TRUE) res <- n.comp.nb(col2) table(res$comp.id) points(coords, col=res$comp.id, pch=16) if (require(igraph)) { B <- as(nb2listw(col2, style="B", zero.policy=TRUE), "CsparseMatrix") g1 <- graph.adjacency(B, mode="undirected") c1 <- clusters(g1) print(c1$no == res$nc) print(all.equal(c1$membership, res$comp.id)) print(all.equal(c1$csize, c(table(res$comp.id)), check.attributes=FALSE)) W <- as(nb2listw(col2, style="W", zero.policy=TRUE), "CsparseMatrix") g1W <- graph.adjacency(W, mode="directed", weighted="W") c1W <- clusters(g1W) print(all.equal(c1W$membership, res$comp.id)) B1 <- get.adjacency(g1) print(all.equal(B, B1)) } } \keyword{spatial} spdep/man/lm.morantest.exact.Rd0000644000176200001440000000724512611721362016166 0ustar liggesusers\name{lm.morantest.exact} \alias{lm.morantest.exact} \alias{print.moranex} %- Also NEED an '\alias' for EACH other topic documented here. \title{Exact global Moran's I test} \description{ The function implements Tiefelsdorf's exact global Moran's I test. } \usage{ lm.morantest.exact(model, listw, zero.policy = NULL, alternative = "greater", spChk = NULL, resfun = weighted.residuals, zero.tol = 1e-07, Omega=NULL, save.M=NULL, save.U=NULL, useTP=FALSE, truncErr=1e-6, zeroTreat=0.1) \method{print}{moranex}(x, \dots) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{model}{an object of class \code{lm} returned by \code{lm}; weights may be specified in the \code{lm} fit, but offsets should not be used} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{alternative}{a character string specifying the alternative hypothesis, must be one of greater (default), less or two.sided.} \item{spChk}{should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use \code{get.spChkOption()}} \item{resfun}{default: weighted.residuals; the function to be used to extract residuals from the \code{lm} object, may be \code{residuals}, \code{weighted.residuals}, \code{rstandard}, or \code{rstudent}} \item{zero.tol}{tolerance used to find eigenvalues close to absolute zero} \item{Omega}{A SAR process matrix may be passed in to test an alternative hypothesis, for example \code{Omega <- invIrW(listw, rho=0.1); Omega <- tcrossprod(Omega)}, \code{chol()} is taken internally} \item{save.M}{return the full M matrix for use in \code{spdep:::exactMoranAlt}} \item{save.U}{return the full U matrix for use in \code{spdep:::exactMoranAlt}} \item{useTP}{default FALSE, if TRUE, use truncation point in integration rather than upper=Inf, see Tiefelsdorf (2000), eq. 6.7, p.69} \item{truncErr}{when useTP=TRUE, pass truncation error to truncation point function} \item{zeroTreat}{when useTP=TRUE, pass zero adjustment to truncation point function} \item{x}{a moranex object} \item{\dots}{arguments to be passed through} } \value{ A list of class \code{moranex} with the following components: \item{statistic}{the value of the saddlepoint approximation of the standard deviate of global Moran's I.} \item{p.value}{the p-value of the test.} \item{estimate}{the value of the observed global Moran's I.} \item{method}{a character string giving the method used.} \item{alternative}{a character string describing the alternative hypothesis.} \item{gamma}{eigenvalues (excluding zero values)} \item{oType}{usually set to "E"} \item{data.name}{a character string giving the name(s) of the data.} \item{df}{degrees of freedom} } \author{Markus Reder and Roger Bivand} \references{Roger Bivand, Werner G. Müller and Markus Reder (2009) "Power calculations for global and local Moran's I." \emph{Computational Statistics \& Data Analysis} 53, 2859-2872.} \seealso{\code{\link{lm.morantest.sad}}} \examples{ require(maptools) eire <- readShapePoly(system.file("etc/shapes/eire.shp", package="spdep")[1], ID="names", proj4string=CRS("+proj=utm +zone=30 +ellps=airy +units=km")) eire.nb <- poly2nb(eire) #data(eire) e.lm <- lm(OWNCONS ~ ROADACC, data=eire) lm.morantest(e.lm, nb2listw(eire.nb)) lm.morantest.sad(e.lm, nb2listw(eire.nb)) lm.morantest.exact(e.lm, nb2listw(eire.nb)) lm.morantest.exact(e.lm, nb2listw(eire.nb), useTP=TRUE) } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{spatial} spdep/man/poly2nb.Rd0000644000176200001440000000651312210603042014007 0ustar liggesusers% Copyright 2001-10 by Roger S. Bivand \name{poly2nb} \alias{poly2nb} \title{Construct neighbours list from polygon list} \description{ The function builds a neighbours list based on regions with contiguous boundaries, that is sharing one or more boundary point. The current function is in part interpreted and may run slowly for many regions or detailed boundaries, but from 0.2-16 should not fail because of lack of memory when single polygons are built of very many border coordinates.} \usage{ poly2nb(pl, row.names = NULL, snap=sqrt(.Machine$double.eps), queen=TRUE, useC=TRUE, foundInBox=NULL) } \arguments{ \item{pl}{list of polygons of class extending \code{SpatialPolygons}} \item{row.names}{character vector of region ids to be added to the neighbours list as attribute \code{region.id}, default \code{seq(1, nrow(x))}; if \code{polys} has a \code{region.id} attribute, it is copied to the neighbours list.} \item{snap}{boundary points less than \code{snap} distance apart are considered to indicate contiguity} \item{queen}{if TRUE, a single shared boundary point meets the contiguity condition, if FALSE, more than one shared point is required; note that more than one shared boundary point does not necessarily mean a shared boundary line} \item{useC}{default TRUE, doing the work loop in C, may be set to false to revert to R code calling two C functions in an \code{n*k} work loop, where \code{k} is the average number of candidate neighbours} \item{foundInBox}{default NULL using R code, possibly parallelised if a \pkg{snow} cluster is available, otherwise a list of length \code{(n-1)} with integer vectors of candidate neighbours \code{(j > i)}, or NULL if all candidates were \code{(j < i)} (as created by the \code{poly_findInBoxGEOS} function in \pkg{rgeos} for clean polygons)} } \value{ A neighbours list with class \code{nb}. See \code{\link{card}} for details of \dQuote{nb} objects. } \note{ From 0.5-8, the function includes faster bounding box indexing and other improvements contributed by Micah Altman. If a cluster is provided using \code{set.ClusterOption}, it will be used for finding candidate bounding box overlaps for exact testing for contiguity. } \author{Roger Bivand \email{Roger.Bivand@nhh.no} with contributions from Micah Altman} \seealso{\code{\link{summary.nb}}, \code{\link{card}}} \examples{ example(columbus) coords <- coordinates(columbus) xx <- poly2nb(columbus) dxx <- diffnb(xx, col.gal.nb) plot(columbus, border="grey") plot(col.gal.nb, coords, add=TRUE) plot(dxx, coords, add=TRUE, col="red") title(main=paste("Differences (red) in Columbus GAL weights (black)", "and polygon generated queen weights", sep="\n")) xxx <- poly2nb(columbus, queen=FALSE) dxxx <- diffnb(xxx, col.gal.nb) plot(columbus, border = "grey") plot(col.gal.nb, coords, add = TRUE) plot(dxxx, coords, add = TRUE, col = "red") title(main=paste("Differences (red) in Columbus GAL weights (black)", "and polygon generated rook weights", sep="\n")) cards <- card(xx) maxconts <- which(cards == max(cards)) if(length(maxconts) > 1) maxconts <- maxconts[1] fg <- rep("grey", length(cards)) fg[maxconts] <- "red" fg[xx[[maxconts]]] <- "green" plot(columbus, col=fg) title(main="Region with largest number of contiguities") example(nc.sids) system.time(xxnb <- poly2nb(nc.sids)) plot(nc.sids) plot(xxnb, coordinates(nc.sids), add=TRUE, col="blue") } \keyword{spatial} spdep/man/nboperations.Rd0000644000176200001440000000343111716033161015132 0ustar liggesusers% Copyright 2001 by Nicholas Lewin-Koh \name{nb.set.operations} \alias{intersect.nb} \alias{union.nb} \alias{setdiff.nb} \alias{complement.nb} \title{Set operations on neighborhood objects} \description{ Set operations on neighbors list objects } \usage{ intersect.nb(nb.obj1,nb.obj2) union.nb(nb.obj1,nb.obj2) setdiff.nb(nb.obj1,nb.obj2) complement.nb(nb.obj) } \arguments{ \item{nb.obj}{a neighbor list created from any of the neighborhood list funtions} \item{nb.obj1}{a neighbor list created from any of the neighborhood list funtions} \item{nb.obj2}{a neighbor list created from any of the neighborhood list funtions} } \details{ These functions perform set operations on each element of a neighborlist. The arguments must be neighbor lists created from the same coordinates, and the region.id attributes must be identical. } \value{ \item{nb.obj}{A new neighborlist created from the set operations on the input neighbor list(s)} } \author{Nicholas Lewin-Koh \email{nikko@hailmail.net}} \seealso{\code{\link{intersect.nb}}, \code{\link{union.nb}}, \code{\link{setdiff.nb}}} \examples{ example(columbus) coords <- coordinates(columbus) col.tri.nb <- tri2nb(coords) oldpar <- par(mfrow=c(1,2)) col.soi.nb <- graph2nb(soi.graph(col.tri.nb, coords)) plot(columbus, border="grey") plot(col.soi.nb, coords, add=TRUE) title(main="Sphere of Influence Graph") plot(columbus, border="grey") plot(complement.nb(col.soi.nb), coords, add=TRUE) title(main="Complement of Sphere of Influence Graph") par(mfrow=c(2,2)) col2 <- droplinks(col.gal.nb, 21) plot(intersect.nb(col.gal.nb, col2), coords) title(main="Intersect") plot(union.nb(col.gal.nb, col2), coords) title(main="Union") plot(setdiff.nb(col.gal.nb, col2), coords) title(main="Set diff") par(oldpar) } \keyword{spatial} spdep/man/dnearneigh.Rd0000644000176200001440000000601412522454646014546 0ustar liggesusers% Copyright 2001-2014 by Roger S. Bivand \name{dnearneigh} \alias{dnearneigh} \title{Neighbourhood contiguity by distance} \description{ The function identifies neighbours of region points by Euclidean distance between lower (greater than) and upper (less than or equal to) bounds, or with longlat = TRUE, by Great Circle distance in kilometers. } \usage{ dnearneigh(x, d1, d2, row.names = NULL, longlat = NULL, bounds=c("GT", "LE")) } \arguments{ \item{x}{matrix of point coordinates or a SpatialPoints object} \item{d1}{lower distance bound} \item{d2}{upper distance bound} \item{row.names}{character vector of region ids to be added to the neighbours list as attribute \code{region.id}, default \code{seq(1, nrow(x))}} \item{longlat}{TRUE if point coordinates are longitude-latitude decimal degrees, in which case distances are measured in kilometers; if x is a SpatialPoints object, the value is taken from the object itself, and overrides this argument if not NULL} \item{bounds}{character vector of length 2, default \code{c("GT", "LE")}, the first element may also be \code{"GE"}, the second \code{"LT"}} } \value{ The function returns a list of integer vectors giving the region id numbers for neighbours satisfying the distance criteria. See \code{\link{card}} for details of \dQuote{nb} objects. } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{knearneigh}}, \code{\link{card}}} \examples{ example(columbus) coords <- coordinates(columbus) rn <- sapply(slot(columbus, "polygons"), function(x) slot(x, "ID")) k1 <- knn2nb(knearneigh(coords)) all.linked <- max(unlist(nbdists(k1, coords))) col.nb.0.all <- dnearneigh(coords, 0, all.linked, row.names=rn) summary(col.nb.0.all, coords) plot(columbus, border="grey") plot(col.nb.0.all, coords, add=TRUE) title(main=paste("Distance based neighbours 0-", format(all.linked), " distance units", sep="")) data(state) us48.fipsno <- read.geoda(system.file("etc/weights/us48.txt", package="spdep")[1]) if (as.numeric(paste(version$major, version$minor, sep="")) < 19) { m50.48 <- match(us48.fipsno$"State.name", state.name) } else { m50.48 <- match(us48.fipsno$"State_name", state.name) } xy <- as.matrix(as.data.frame(state.center))[m50.48,] llk1 <- knn2nb(knearneigh(xy, k=1, longlat=FALSE)) all.linked <- max(unlist(nbdists(llk1, xy, longlat=FALSE))) ll.nb <- dnearneigh(xy, 0, all.linked, longlat=FALSE) summary(ll.nb, xy, longlat=TRUE, scale=0.5) gck1 <- knn2nb(knearneigh(xy, k=1, longlat=TRUE)) all.linked <- max(unlist(nbdists(gck1, xy, longlat=TRUE))) gc.nb <- dnearneigh(xy, 0, all.linked, longlat=TRUE) summary(gc.nb, xy, longlat=TRUE, scale=0.5) plot(ll.nb, xy) plot(diffnb(ll.nb, gc.nb), xy, add=TRUE, col="red", lty=2) title(main="Differences between Euclidean and Great Circle neighbours") xy1 <- SpatialPoints((as.data.frame(state.center))[m50.48,], proj4string=CRS("+proj=longlat +ellps=GRS80")) gck1a <- knn2nb(knearneigh(xy1, k=1)) all.linked <- max(unlist(nbdists(gck1a, xy1))) gc.nb <- dnearneigh(xy1, 0, all.linked) summary(gc.nb, xy1, scale=0.5) } \keyword{spatial} spdep/man/nb2listw.Rd0000644000176200001440000001204212362204721014171 0ustar liggesusers% Copyright 2001-2014 by Roger S. Bivand \name{nb2listw} \alias{nb2listw} \alias{can.be.simmed} \title{Spatial weights for neighbours lists} \description{ The \code{nb2listw} function supplements a neighbours list with spatial weights for the chosen coding scheme. The \code{can.be.simmed} helper function checks whether a spatial weights object is similar to symmetric and can be so transformed to yield real eigenvalues or for Cholesky decomposition. } \usage{ nb2listw(neighbours, glist=NULL, style="W", zero.policy=NULL) can.be.simmed(listw) } \arguments{ \item{neighbours}{an object of class \code{nb}} \item{glist}{list of general weights corresponding to neighbours} \item{style}{\code{style} can take values \dQuote{W}, \dQuote{B}, \dQuote{C}, \dQuote{U}, \dQuote{minmax} and \dQuote{S}} \item{zero.policy}{default NULL, use global option value; if FALSE stop with error for any empty neighbour sets, if TRUE permit the weights list to be formed with zero-length weights vectors} \item{listw}{a spatial weights object} } \details{ Starting from a binary neighbours list, in which regions are either listed as neighbours or are absent (thus not in the set of neighbours for some definition), the function adds a weights list with values given by the coding scheme style chosen. B is the basic binary coding, W is row standardised (sums over all links to n), C is globally standardised (sums over all links to n), U is equal to C divided by the number of neighbours (sums over all links to unity), while S is the variance-stabilizing coding scheme proposed by Tiefelsdorf et al. 1999, p. 167-168 (sums over all links to n). If zero policy is set to TRUE, weights vectors of zero length are inserted for regions without neighbour in the neighbours list. These will in turn generate lag values of zero, equivalent to the sum of products of the zero row \code{t(rep(0, length=length(neighbours))) \%*\% x}, for arbitraty numerical vector \code{x} of length \code{length(neighbours)}. The spatially lagged value of x for the zero-neighbour region will then be zero, which may (or may not) be a sensible choice. If the sum of the glist vector for one or more observations is zero, a warning message is issued. The consequence for later operations will be the same as if no-neighbour observations were present and the zero.policy argument set to true. The \dQuote{minmax} style is based on Kelejian and Prucha (2010), and divides the weights by the minimum of the maximum row sums and maximum column sums of the input weights. It is similar to the C and U styles; it is also available in Stata. } \value{ A \code{listw} object with the following members: \item{style}{one of W, B, C, U, S, minmax as above} \item{neighbours}{the input neighbours list} \item{weights}{the weights for the neighbours and chosen style, with attributes set to report the type of relationships (binary or general, if general the form of the glist argument), and style as above} } \references{Tiefelsdorf, M., Griffith, D. A., Boots, B. 1999 A variance-stabilizing coding scheme for spatial link matrices, Environment and Planning A, 31, pp. 165--180; Kelejian, H. H., and I. R. Prucha. 2010. Specification and estimation of spatial autoregressive models with autoregressive and heteroskedastic disturbances. Journal of Econometrics, 157: pp. 53--67.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{summary.nb}}, \code{\link{read.gal}}} \examples{ example(columbus) coords <- coordinates(columbus) cards <- card(col.gal.nb) col.w <- nb2listw(col.gal.nb) plot(cards, unlist(lapply(col.w$weights, sum)),xlim=c(0,10), ylim=c(0,10), xlab="number of links", ylab="row sums of weights") col.b <- nb2listw(col.gal.nb, style="B") points(cards, unlist(lapply(col.b$weights, sum)), col="red") col.c <- nb2listw(col.gal.nb, style="C") points(cards, unlist(lapply(col.c$weights, sum)), col="green") col.u <- nb2listw(col.gal.nb, style="U") points(cards, unlist(lapply(col.u$weights, sum)), col="orange") col.s <- nb2listw(col.gal.nb, style="S") points(cards, unlist(lapply(col.s$weights, sum)), col="blue") legend(x=c(0, 1), y=c(7, 9), legend=c("W", "B", "C", "U", "S"), col=c("black", "red", "green", "orange", "blue"), pch=rep(1,5)) summary(nb2listw(col.gal.nb, style="minmax")) dlist <- nbdists(col.gal.nb, coords) dlist <- lapply(dlist, function(x) 1/x) col.w.d <- nb2listw(col.gal.nb, glist=dlist) summary(unlist(col.w$weights)) summary(unlist(col.w.d$weights)) # introducing other conditions into weights - only earlier sales count # see http://sal.uiuc.edu/pipermail/openspace/2005-October/000610.html data(baltimore) set.seed(211) dates <- sample(1:500, nrow(baltimore), replace=TRUE) nb_15nn <- knn2nb(knearneigh(cbind(baltimore$X, baltimore$Y), k=15)) glist <- vector(mode="list", length=length(nb_15nn)) for (i in seq(along=nb_15nn)) glist[[i]] <- ifelse(dates[i] > dates[nb_15nn[[i]]], 1, 0) listw_15nn_dates <- nb2listw(nb_15nn, glist=glist, style="B") which(lag(listw_15nn_dates, baltimore$PRICE) == 0.0) which(sapply(glist, sum) == 0) ex <- which(sapply(glist, sum) == 0)[1] dates[ex] dates[nb_15nn[[ex]]] } \keyword{spatial} spdep/man/lextrB.Rd0000644000176200001440000001345413073150206013673 0ustar liggesusers\name{lextrB} \alias{lextrB} \alias{lextrW} \alias{lextrS} \alias{l_max} %- Also NEED an '\alias' for EACH other topic documented here. \title{Find extreme eigenvalues of binary symmetric spatial weights} \description{The functions find extreme eigenvalues of binary symmetric spatial weights, when these form planar graphs; general weights are not permiited. \code{l_max} finds the largest eigenvalue using Rayleigh quotient methods of any \dQuote{listw} object. \code{lextrB} first calls \code{l_max}, and uses its output to find the smallest eigenvalue in addition for binary symmetric spatial weights. \code{lextrW} extends these to find the smallest eigenvalue for intrinsically symmetric row-standardized binary weights matrices (transformed to symmetric through similarity internally). \code{lextrS} does the same for variance-stabilized (\dQuote{S} style) intrinsically symmetric binary weights matrices (transformed to symmetric through similarity internally).} \usage{ lextrB(lw, zero.policy = TRUE, control = list()) lextrW(lw, zero.policy=TRUE, control=list()) lextrS(lw, zero.policy=TRUE, control=list()) l_max(lw, zero.policy=TRUE, control=list()) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{lw}{a binary symmetric \code{listw} object from, for example, \code{nb2listw} with style \dQuote{B} for \code{lextrB}, style \dQuote{W} for \code{lextrW} and style \dQuote{S} for \code{lextrS}; for \code{l_max}, the object may be asymmetric and does not have to be binary} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{control}{a list of control arguments} } \section{Control arguments}{ \describe{ \item{trace}{report values in while loops, default NULL assuming FALSE; logical} \item{tol}{tolerance for breaking while loops, default \code{.Machine$double.eps^(1/2)}; numeric} \item{maxiter}{maximum number of iterations in while loops, default \code{6 * (length(lw$neighbours) - 2}; integer} \item{useC}{use C code, default TRUE, logical (not in \code{l_max})} } } \value{ The functions return approximations to the extreme eigenvalues with the eigenvectors returned as attributes of this object. } \references{Griffith, D. A. (2004). Extreme eigenfunctions of adjacency matrices for planar graphs employed in spatial analyses. \emph{Linear Algebra and its Applications}, 388:201–219.} \author{Roger Bivand, Yongwan Chun, Daniel Griffith} \note{It may be necessary to modify control arguments if warnings about lack of convergence are seen.} \examples{ data(boston) ab.listb <- nb2listw(boston.soi, style="B") er <- range(eigenw(ab.listb)) er res_1 <- lextrB(ab.listb) c(res_1) #if (require(igraph)) { # B <- as(ab.listb, "symmetricMatrix") # n <- length(boston.soi) # f2 <- function(x, extra=NULL) {as.vector(B \%*\% x)} # ar1 <- arpack(f2, sym=TRUE, options=list(n=n, nev=1, ncv=8, # which="LA", maxiter=200)) # print(ar1$values) # At line 409 of file dsaupd.f: Fortran runtime error: Actual string # length is shorter than the declared one for dummy argument 'which' (0/2) # arn <- arpack(f2, sym=TRUE, options=list(n=n, nev=1, ncv=8, # which="SA", maxiter=200)) # print(arn$values) # At line 409 of file dsaupd.f: Fortran runtime error: Actual string # length is shorter than the declared one for dummy argument 'which' (0/2) # ar1 <- arpack(f2, sym=TRUE, options=list(n=n, nev=2, ncv=8, # which="BE", maxiter=300)) # "BE" gives: At line 558 of file dsaup2.f: Fortran runtime error: # Index '9' of dimension 1 of array 'bounds' above upper bound of 8 # "BE" # print(ar1$values) #} k5 <- knn2nb(knearneigh(boston.utm, k=5)) c(l_max(nb2listw(k5, style="B"))) max(Re(eigenw(nb2listw(k5, style="B")))) c(l_max(nb2listw(k5, style="C"))) max(Re(eigenw(nb2listw(k5, style="C")))) ab.listw <- nb2listw(boston.soi, style="W") er <- range(eigenw(similar.listw(ab.listw))) er res_1 <- lextrW(ab.listw) c(res_1) #if (require(igraph)) { # B <- as(similar.listw(ab.listw), "symmetricMatrix") # ar1 <- arpack(f2, sym=TRUE, options=list(n=n, nev=1, ncv=8, # which="LA", maxiter=400)) # print(ar1$values) # At line 409 of file dsaupd.f: Fortran runtime error: Actual string # length is shorter than the declared one for dummy argument 'which' (0/2) # arn <- arpack(f2, sym=TRUE, options=list(n=n, nev=1, ncv=8, # which="SA", maxiter=400)) # print(arn$values) # At line 409 of file dsaupd.f: Fortran runtime error: Actual string # length is shorter than the declared one for dummy argument 'which' (0/2) # ar1 <- arpack(f2, sym=TRUE, options=list(n=n, nev=2, ncv=8, # which="BE", maxiter=300)) # "BE" gives: At line 558 of file dsaup2.f: Fortran runtime error: # Index '9' of dimension 1 of array 'bounds' above upper bound of 8 # print(ar1$values) #} ab.listw <- nb2listw(boston.soi, style="S") er <- range(eigenw(similar.listw(ab.listw))) er res_1 <- lextrS(ab.listw) c(res_1) #if (require(igraph)) { # B <- as(similar.listw(ab.listw), "symmetricMatrix") # ar1 <- arpack(f2, sym=TRUE, options=list(n=n, nev=1, ncv=8, # which="LA", maxiter=300)) # print(ar1$values) # At line 409 of file dsaupd.f: Fortran runtime error: Actual string # length is shorter than the declared one for dummy argument 'which' (0/2) # arn <- arpack(f2, sym=TRUE, options=list(n=n, nev=1, ncv=8, # which="SA", maxiter=300)) # print(arn$values) # At line 409 of file dsaupd.f: Fortran runtime error: Actual string # length is shorter than the declared one for dummy argument 'which' (0/2) # ar1 <- arpack(f2, sym=TRUE, options=list(n=n, nev=2, ncv=8, # which="BE", maxiter=300)) # "BE" gives: At line 558 of file dsaup2.f: Fortran runtime error: # Index '9' of dimension 1 of array 'bounds' above upper bound of 8 # print(ar1$values) #} } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{spatial} spdep/man/nc.sids.Rd0000644000176200001440000000557412770451462014013 0ustar liggesusers\name{nc.sids} \alias{nc.sids} \alias{ncCR85.nb} \alias{ncCC89.nb} \alias{sidspolys} \alias{sidscents} \docType{data} \title{North Carolina SIDS data} \usage{data(nc.sids)} \description{ (Use \code{example(nc.sids)} to read the data set from shapefile, together with import of two different list of neighbours). The \code{nc.sids} data frame has 100 rows and 21 columns. It contains data given in Cressie (1991, pp. 386-9), Cressie and Read (1985) and Cressie and Chan (1989) on sudden infant deaths in North Carolina for 1974-78 and 1979-84. The data set also contains the neighbour list given by Cressie and Chan (1989) omitting self-neighbours (ncCC89.nb), and the neighbour list given by Cressie and Read (1985) for contiguities (ncCR85.nb). The data are ordered by county ID number, not alphabetically as in the source tables \code{sidspolys} is a "polylist" object of polygon boundaries, and \code{sidscents} is a matrix of their centroids. } \format{ This data frame contains the following columns: \describe{ \item{SP\_ID}{SpatialPolygons ID} \item{CNTY\_ID}{county ID} \item{east}{eastings, county seat, miles, local projection} \item{north}{northings, county seat, miles, local projection} \item{L\_id}{Cressie and Read (1985) L index} \item{M\_id}{Cressie and Read (1985) M index} \item{names}{County names} \item{AREA}{County polygon areas in degree units} \item{PERIMETER}{County polygon perimeters in degree units} \item{CNTY\_}{Internal county ID} \item{NAME}{County names} \item{FIPS}{County ID} \item{FIPSNO}{County ID} \item{CRESS\_ID}{Cressie papers ID} \item{BIR74}{births, 1974-78} \item{SID74}{SID deaths, 1974-78} \item{NWBIR74}{non-white births, 1974-78} \item{BIR79}{births, 1979-84} \item{SID79}{SID deaths, 1979-84} \item{NWBIR79}{non-white births, 1979-84} } } \source{ Cressie, N (1991), \emph{Statistics for spatial data}. New York: Wiley, pp. 386--389; Cressie, N, Chan NH (1989) Spatial modelling of regional variables. \emph{Journal of the American Statistical Association}, 84, 393--401; Cressie, N, Read, TRC (1985) Do sudden infant deaths come in clusters? \emph{Statistics and Decisions} Supplement Issue 2, 333--349; \url{https://spatial.uchicago.edu/sample-data}. } \examples{ require(maptools) nc.sids <- readShapePoly(system.file("etc/shapes/sids.shp", package="spdep")[1], ID="FIPSNO", proj4string=CRS("+proj=longlat +ellps=clrk66")) rn <- sapply(slot(nc.sids, "polygons"), function(x) slot(x, "ID")) ncCC89_nb <- read.gal(system.file("etc/weights/ncCC89.gal", package="spdep")[1], region.id=rn) ncCR85_nb <- read.gal(system.file("etc/weights/ncCR85.gal", package="spdep")[1], region.id=rn) \dontrun{ plot(nc.sids, border="grey") plot(ncCR85_nb, coordinates(nc.sids), add=TRUE, col="blue") plot(nc.sids, border="grey") plot(ncCC89_nb, coordinates(nc.sids), add=TRUE, col="blue") } } \keyword{datasets} spdep/man/ssw.Rd0000644000176200001440000000402111716033161013237 0ustar liggesusers\name{ssw} \alias{ssw} %- Also NEED an '\alias' for EACH other topic documented here. \title{Compute the sum of dissimilarity} \description{ This function computes the sum of dissimilarity between each observation and the mean (scalar of vector) of the observations. } \usage{ ssw(data, id, method = c("euclidean", "maximum", "manhattan", "canberra", "binary", "minkowski", "mahalanobis"), p = 2, cov, inverted = FALSE) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{data}{A matrix with observations in the nodes.} \item{id}{Node index to compute the cost} \item{method}{Character or function to declare distance method. If \code{method} is character, method must be "mahalanobis" or "euclidean", "maximum", "manhattan", "canberra", "binary" or "minkowisk". If \code{method} is one of "euclidean", "maximum", "manhattan", "canberra", "binary" or "minkowisk", see \code{\link{dist}} for details, because this function as used to compute the distance. If \code{method="mahalanobis"}, the mahalanobis distance is computed between neighbour areas. If \code{method} is a \code{function}, this function is used to compute the distance.} \item{p}{The power of the Minkowski distance.} \item{cov}{The covariance matrix used to compute the mahalanobis distance.} \item{inverted}{logical. If 'TRUE', 'cov' is supposed to contain the inverse of the covariance matrix.} } %\details{} \value{ A numeric, the sum of dissimilarity between the observations \code{id} of \code{data} and the mean (scalar of vector) of this observations. } %%\references{ ~put references to the literature/web site here ~ } \author{Elias T. Krainski and Renato M. Assuncao} %%\note{} \seealso{See Also as \code{\link{nbcost}}} \examples{ data(USArrests) n <- nrow(USArrests) ssw(USArrests, 1:n) ssw(USArrests, 1:(n/2)) ssw(USArrests, (n/2+1):n) ssw(USArrests, 1:(n/2)) + ssw(USArrests, (n/2+1):n) } \keyword{cluster} \keyword{multivariate}% __ONLY ONE__ keyword per line spdep/man/columbus.Rd0000644000176200001440000000503712770451462014275 0ustar liggesusers% Copyright 2001 by Roger S. Bivand \name{columbus} \alias{columbus} \alias{col.gal.nb} \alias{coords} \alias{polys} \alias{bbs} \docType{data} \title{Columbus OH spatial analysis data set} \usage{data(columbus)} \description{ The \code{columbus} data frame has 49 rows and 22 columns. Unit of analysis: 49 neighbourhoods in Columbus, OH, 1980 data. In addition the data set includes a \code{polylist} object \code{polys} with the boundaries of the neighbourhoods, a matrix of polygon centroids \code{coords}, and \code{col.gal.nb}, the neighbours list from an original GAL-format file. The matrix \code{bbs} is DEPRECATED, but retained for other packages using this data set. } \format{ This data frame contains the following columns: \describe{ \item{AREA}{computed by ArcView} \item{PERIMETER}{computed by ArcView} \item{COLUMBUS\_}{internal polygon ID (ignore)} \item{COLUMBUS\_I}{another internal polygon ID (ignore)} \item{POLYID}{yet another polygon ID} \item{NEIG}{neighborhood id value (1-49); conforms to id value used in Spatial Econometrics book.} \item{HOVAL}{housing value (in \$1,000)} \item{INC}{household income (in \$1,000)} \item{CRIME}{residential burglaries and vehicle thefts per thousand households in the neighborhood} \item{OPEN}{open space in neighborhood} \item{PLUMB}{percentage housing units without plumbing} \item{DISCBD}{distance to CBD} \item{X}{x coordinate (in arbitrary digitizing units, not polygon coordinates)} \item{Y}{y coordinate (in arbitrary digitizing units, not polygon coordinates)} \item{NSA}{north-south dummy (North=1)} \item{NSB}{north-south dummy (North=1)} \item{EW}{east-west dummy (East=1)} \item{CP}{core-periphery dummy (Core=1)} \item{THOUS}{constant=1,000} \item{NEIGNO}{NEIG+1,000, alternative neighborhood id value} } } \details{ The row names of \code{columbus} and the \code{region.id} attribute of \code{polys} are set to \code{columbus$NEIGNO}. } \source{ Anselin, Luc. 1988. Spatial econometrics: methods and models. Dordrecht: Kluwer Academic, Table 12.1 p. 189. } \note{ All source data files prepared by Luc Anselin, Spatial Analysis Laboratory, Department of Agricultural and Consumer Economics, University of Illinois, Urbana-Champaign, \url{https://spatial.uchicago.edu/sample-data}. } \examples{ require(maptools) columbus <- readShapePoly(system.file("etc/shapes/columbus.shp", package="spdep")[1]) col.gal.nb <- read.gal(system.file("etc/weights/columbus.gal", package="spdep")[1]) } \keyword{datasets} spdep/man/bhicv.Rd0000644000176200001440000000157712773222466013547 0ustar liggesusers\name{bhicv} \alias{bhicv} %- Also NEED an '\alias' for EACH other topic documented here. \title{Data set with 4 life condition indices of Belo Horizonte region} \description{ The data are collected inthe Atlas of condition indices published by the Joao Pinheiro Foundation and UNDP. } \format{ A shape polygon object with seven variables: \describe{ \item{id}{The identificator} \item{Name}{Name of city} \item{Population}{The population of city} \item{HLCI}{Health Life Condition Index} \item{ELCI}{Education Life Condition Index} \item{CLCI}{Children Life Condition Index} \item{ELCI}{Economic Life Condition Index} } } %- maybe also 'usage' for other objects documented here. %%\format{} %%\details{} \examples{ require(maptools) bh <- readShapePoly(system.file("etc/shapes/bhicv.shp", package="spdep")[1]) } \keyword{data}% at least one, from doc/KEYWORDS spdep/man/rotation.Rd0000644000176200001440000000200611716033161014263 0ustar liggesusers\name{Rotation} \alias{Rotation} \title{ Rotate a set of point by a certain angle } \description{ Rotate a set of XY coordinates by an angle (in radians) } \usage{ Rotation(xy, angle) } \arguments{ \item{xy}{ A 2-columns matrix or data frame containing a set of X and Y coordinates. } \item{angle}{ Numeric. A scalar giving the angle at which the points should be rotated. The angle is in radians. } } \value{ A 2-columns matrix of the same size as \code{xy} giving the rotated coordinates. } \author{ F. Guillaume Blanchet } \examples{ set.seed(1) ### Create a set of coordinates coords<-cbind(runif(20),runif(20)) ### Create a series of angles rad<-seq(0,pi,l=20) opar <- par(mfrow=c(5,4)) for(i in rad){ coords.rot<-Rotation(coords,i) plot(coords.rot) } par(opar) ### Rotate the coordinates by an angle of 90 degrees coords.90<-Rotation(coords,90*pi/180) coords.90 plot(coords,xlim=range(rbind(coords.90,coords)[,1]),ylim=range(rbind(coords.90,coords)[,2]),asp=1) points(coords.90,pch=19) } \keyword{ manip } spdep/man/read.gwt2nb.Rd0000644000176200001440000000613012770451462014554 0ustar liggesusers% Copyright 2003-4 by Roger S. Bivand \name{read.gwt2nb} \alias{read.gwt2nb} \alias{write.sn2gwt} \alias{read.dat2listw} \alias{write.sn2dat} %- Also NEED an '\alias' for EACH other topic documented here. \title{Read and write spatial neighbour files} \description{ The "gwt" functions read and write GeoDa GWT files (the example file baltk4.GWT was downloaded from the site given in the reference), and the "dat" functions read and write Matlab sparse matrix files as used by James LeSage's Spatial Econometrics Toolbox (the example file wmat.dat was downloaded from the site given in the reference). The body of the files after any headers should have three columns separated by white space, and the third column must be numeric in the locale of the reading platform (correct decimal separator). } \usage{ read.gwt2nb(file, region.id=NULL) write.sn2gwt(sn, file, shpfile=NULL, ind=NULL, useInd=FALSE, legacy=FALSE) read.dat2listw(file) write.sn2dat(sn, file) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{file}{name of file with weights data} \item{region.id}{region IDs} \item{sn}{a \code{spatial.neighbour} object} \item{shpfile}{character string: if not given Shapefile name taken from GWT file for this dataset} \item{ind}{character string: region id indicator field name} \item{useInd}{default FALSE, if TRUE, write \code{region.id} attribute ID key tags to output file (use in OpenGeoDa will depend on the shapefile having the field named in the \code{ind} argument matching the exported tags)} \item{legacy}{default FALSE; if TRUE, header has single field with number of observations only} } \details{ Now attempts to honour the region.id argument given when reading GWT files. } \value{ \code{read.gwt2nb} returns a neighbour "nb" object with the generalised weights stored as a list element called "dlist" of the "GeoDa" attribute. } \references{Luc Anselin (2003) \emph{GeoDa 0.9 User's Guide}, pp. 80--81, Spatial Analysis Laboratory, Department of Agricultural and Consumer Economics, University of Illinois, Urbana-Champaign, \url{https://s3.amazonaws.com/geoda/software/docs/geoda093.pdf}; also \url{http://spatial-econometrics.com/data/contents.html}} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{read.gal}}} \examples{ data(baltimore) STATION <- baltimore$STATION gwt1 <- read.gwt2nb(system.file("etc/weights/baltk4.GWT", package="spdep")[1], STATION) cat(paste("Neighbours list symmetry;", is.symmetric.nb(gwt1, FALSE, TRUE), "\n")) listw1 <- nb2listw(gwt1, style="B", glist=attr(gwt1, "GeoDa")$dist) tmpGWT <- tempfile() write.sn2gwt(listw2sn(listw1), tmpGWT) gwt2 <- read.gwt2nb(tmpGWT, STATION) cat(paste("Neighbours list symmetry;", is.symmetric.nb(gwt2, FALSE, TRUE), "\n")) diffnb(gwt1, gwt2) data(oldcol) tmpMAT <- tempfile() COL.W <- nb2listw(COL.nb) write.sn2dat(listw2sn(COL.W), tmpMAT) listwmat1 <- read.dat2listw(tmpMAT) diffnb(listwmat1$neighbours, COL.nb, verbose=TRUE) listwmat2 <- read.dat2listw(system.file("etc/weights/wmat.dat", package="spdep")[1]) diffnb(listwmat1$neighbours, listwmat2$neighbours, verbose=TRUE) } \keyword{spatial} spdep/man/lm.LMtests.Rd0000644000176200001440000001072711770552554014453 0ustar liggesusers% Copyright 2001-2 by Roger S. Bivand \name{lm.LMtests} \alias{lm.LMtests} \alias{print.LMtestlist} \alias{summary.LMtestlist} \alias{print.LMtestlist.summary} %\alias{tracew} \title{Lagrange Multiplier diagnostics for spatial dependence in linear models} \description{ The function reports the estimates of tests chosen among five statistics for testing for spatial dependence in linear models. The statistics are the simple LM test for error dependence (LMerr), the simple LM test for a missing spatially lagged dependent variable (LMlag), variants of these robust to the presence of the other (RLMerr, RLMlag - RLMerr tests for error dependence in the possible presence of a missing lagged dependent variable, RLMlag the other way round), and a portmanteau test (SARMA, in fact LMerr + RLMlag). Note: from spdep 0.3-32, the value of the weights matrix trace term is returned correctly for both underlying symmetric and asymmetric neighbour lists, before 0.3-32, the value was wrong for listw objects based on asymmetric neighbour lists, such as k-nearest neighbours (thanks to Luc Anselin for finding the bug). } \usage{ lm.LMtests(model, listw, zero.policy=NULL, test="LMerr", spChk=NULL, naSubset=TRUE) \method{print}{LMtestlist}(x, ...) \method{summary}{LMtestlist}(object, p.adjust.method="none", ...) \method{print}{LMtestlist.summary}(x, digits=max(3, getOption("digits") - 2), ...) %tracew(listw) } \arguments{ \item{model}{an object of class \code{lm} returned by \code{lm}, or optionally a vector of externally calculated residuals (run though \code{na.omit} if any NAs present) for use when only "LMerr" is chosen; weights and offsets should not be used in the \code{lm} object} \item{listw}{a \code{listw} object created for example by \code{nb2listw}, expected to be row-standardised (W-style)} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{test}{a character vector of tests requested chosen from LMerr, LMlag, RLMerr, RLMlag, SARMA; test="all" computes all the tests.} \item{spChk}{should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use \code{get.spChkOption()}} \item{naSubset}{default TRUE to subset listw object for omitted observations in model object (this is a change from earlier behaviour, when the \code{model$na.action} component was ignored, and the listw object had to be subsetted by hand)} \item{x, object}{object to be printed} \item{p.adjust.method}{a character string specifying the probability value adjustment (see \code{\link{p.adjust}}) for multiple tests, default "none"} \item{digits}{minimum number of significant digits to be used for most numbers} \item{...}{printing arguments to be passed through} } \details{ The two types of dependence are for spatial lag \eqn{\rho}{rho} and spatial error \eqn{\lambda}{lambda}: \deqn{ \mathbf{y} = \mathbf{X \beta} + \rho \mathbf{W_{(1)} y} + \mathbf{u}, }{y = X beta + rho W1 y + u} \deqn{ \mathbf{u} = \lambda \mathbf{W_{(2)} u} + \mathbf{e} }{u = lambda W2 u + e} where \eqn{\mathbf{e}}{e} is a well-behaved, uncorrelated error term. Tests for a missing spatially lagged dependent variable test that \eqn{\rho = 0}{rho = 0}, tests for spatial autocorrelation of the error \eqn{\mathbf{u}}{u} test whether \eqn{\lambda = 0}{lambda = 0}. \eqn{\mathbf{W}}{W} is a spatial weights matrix; for the tests used here they are identical. } \value{ A list of class \code{LMtestlist} of \code{htest} objects, each with: \item{statistic}{the value of the Lagrange Multiplier test.} \item{parameter}{number of degrees of freedom} \item{p.value}{the p-value of the test.} \item{method}{a character string giving the method used.} \item{data.name}{a character string giving the name(s) of the data.} } \references{Anselin, L. 1988 Spatial econometrics: methods and models. (Dordrecht: Kluwer); Anselin, L., Bera, A. K., Florax, R. and Yoon, M. J. 1996 Simple diagnostic tests for spatial dependence. Regional Science and Urban Economics, 26, 77--104.} \author{Roger Bivand \email{Roger.Bivand@nhh.no} and Andrew Bernat} \seealso{\code{\link{lm}}} \examples{ data(oldcol) oldcrime.lm <- lm(CRIME ~ HOVAL + INC, data = COL.OLD) summary(oldcrime.lm) res <- lm.LMtests(oldcrime.lm, nb2listw(COL.nb), test=c("LMerr", "LMlag", "RLMerr", "RLMlag", "SARMA")) summary(res) lm.LMtests(oldcrime.lm, nb2listw(COL.nb)) lm.LMtests(residuals(oldcrime.lm), nb2listw(COL.nb)) } \keyword{spatial} spdep/man/GMerrorsar.Rd0000644000176200001440000001750213073147660014526 0ustar liggesusers\name{GMerrorsar} \alias{GMerrorsar} \alias{residuals.gmsar} \alias{deviance.gmsar} \alias{coef.gmsar} \alias{fitted.gmsar} \alias{print.gmsar} \alias{summary.gmsar} \alias{print.summary.gmsar} \alias{GMargminImage} %- Also NEED an '\alias' for EACH other topic documented here. \title{Spatial simultaneous autoregressive error model estimation by GMM} \description{ An implementation of Kelejian and Prucha's generalised moments estimator for the autoregressive parameter in a spatial model. } \usage{ GMerrorsar(formula, data = list(), listw, na.action = na.fail, zero.policy = NULL, method="nlminb", arnoldWied=FALSE, control = list(), pars, scaleU=FALSE, verbose=NULL, legacy=FALSE, se.lambda=TRUE, returnHcov=FALSE, pWOrder=250, tol.Hcov=1.0e-10) \method{summary}{gmsar}(object, correlation = FALSE, Hausman=FALSE, ...) GMargminImage(obj, lambdaseq, s2seq) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{formula}{a symbolic description of the model to be fit. The details of model specification are given for \code{lm()}} \item{data}{an optional data frame containing the variables in the model. By default the variables are taken from the environment which the function is called.} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{na.action}{a function (default \code{na.fail}), can also be \code{na.omit} or \code{na.exclude} with consequences for residuals and fitted values - in these cases the weights list will be subsetted to remove NAs in the data. It may be necessary to set zero.policy to TRUE because this subsetting may create no-neighbour observations. Note that only weights lists created without using the glist argument to \code{nb2listw} may be subsetted.} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE (default) assign NA - causing \code{GMerrorsar()} to terminate with an error} \item{method}{default \code{"nlminb"}, or optionally a method passed to \code{optim} to use an alternative optimizer} \item{arnoldWied}{default FALSE} \item{control}{A list of control parameters. See details in \code{\link[stats]{optim}} or \code{\link[stats]{nlminb}}.} \item{pars}{starting values for \eqn{\lambda}{lambda} and \eqn{\sigma^2}{sigma squared} for GMM optimisation, if missing (default), approximated from initial OLS model as the autocorrelation coefficient corrected for weights style and model sigma squared} \item{scaleU}{Default FALSE: scale the OLS residuals before computing the moment matrices; only used if the \code{pars} argument is missing} \item{verbose}{default NULL, use global option value; if TRUE, reports function values during optimization.} \item{legacy}{default FALSE - compute using the unfiltered values of the response and right hand side variables; if TRUE - compute the fitted value and residuals from the spatially filtered model using the spatial error parameter} \item{se.lambda}{default TRUE, use the analytical method described in \url{http://econweb.umd.edu/~prucha/STATPROG/OLS/desols.pdf}} \item{returnHcov}{default FALSE, return the Vo matrix for a spatial Hausman test} \item{tol.Hcov}{the tolerance for computing the Vo matrix (default=1.0e-10)} \item{pWOrder}{default 250, if returnHcov=TRUE, pass this order to \code{powerWeights} as the power series maximum limit} \item{object, obj}{\code{gmsar} object from \code{GMerrorsar}} \item{correlation}{logical; (default=FALSE), TRUE not available} \item{Hausman}{if TRUE, the results of the Hausman test for error models are reported} \item{\dots}{\code{summary} arguments passed through} \item{lambdaseq}{if given, an increasing sequence of lambda values for gridding} \item{s2seq}{if given, an increasing sequence of sigma squared values for gridding} } \details{ When the control list is set with care, the function will converge to values close to the ML estimator without requiring computation of the Jacobian, the most resource-intensive part of ML estimation. Note that the fitted() function for the output object assumes that the response variable may be reconstructed as the sum of the trend, the signal, and the noise (residuals). Since the values of the response variable are known, their spatial lags are used to calculate signal components (Cressie 1993, p. 564). This differs from other software, including GeoDa, which does not use knowledge of the response variable in making predictions for the fitting data. The \code{GMargminImage} may be used to visualize the shape of the surface of the argmin function used to find lambda. } \value{ A list object of class \code{gmsar} \item{type}{"ERROR"} \item{lambda}{simultaneous autoregressive error coefficient} \item{coefficients}{GMM coefficient estimates} \item{rest.se}{GMM coefficient standard errors} \item{s2}{GMM residual variance} \item{SSE}{sum of squared GMM errors} \item{parameters}{number of parameters estimated} \item{lm.model}{the \code{lm} object returned when estimating for \eqn{\lambda=0}{lambda=0}} \item{call}{the call used to create this object} \item{residuals}{GMM residuals} \item{lm.target}{the \code{lm} object returned for the GMM fit} \item{fitted.values}{Difference between residuals and response variable} \item{formula}{model formula} \item{aliased}{if not NULL, details of aliased variables} \item{zero.policy}{zero.policy for this model} \item{vv}{list of internal bigG and litg components for testing optimisation surface} \item{optres}{object returned by optimizer} \item{pars}{start parameter values for optimisation} \item{Hcov}{Spatial DGP covariance matrix for Hausman test if available} \item{legacy}{input choice of unfiltered or filtered values} \item{lambda.se}{value computed if input argument TRUE} \item{arnoldWied}{were Arnold-Wied moments used} \item{GMs2}{GM argmin sigma squared} \item{scaleU}{input choice of scaled OLS residuals} \item{vcov}{variance-covariance matrix of regression coefficients} \item{na.action}{(possibly) named vector of excluded or omitted observations if non-default na.action argument used} } \references{Kelejian, H. H., and Prucha, I. R., 1999. A Generalized Moments Estimator for the Autoregressive Parameter in a Spatial Model. International Economic Review, 40, pp. 509--533; Cressie, N. A. C. 1993 \emph{Statistics for spatial data}, Wiley, New York. Roger Bivand, Gianfranco Piras (2015). Comparing Implementations of Estimation Methods for Spatial Econometrics. \emph{Journal of Statistical Software}, 63(18), 1-36. \url{http://www.jstatsoft.org/v63/i18/}. } \author{Luc Anselin and Roger Bivand} \seealso{\code{\link[stats]{optim}}, \code{\link[stats]{nlminb}}, \code{\link{errorsarlm}}} \examples{ data(oldcol) COL.errW.eig <- errorsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb, style="W"), method="eigen") summary(COL.errW.eig, Hausman=TRUE) COL.errW.GM <- GMerrorsar(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb, style="W"), returnHcov=TRUE) summary(COL.errW.GM, Hausman=TRUE) aa <- GMargminImage(COL.errW.GM) levs <- quantile(aa$z, seq(0, 1, 1/12)) image(aa, breaks=levs, xlab="lambda", ylab="s2") points(COL.errW.GM$lambda, COL.errW.GM$s2, pch=3, lwd=2) contour(aa, levels=signif(levs, 4), add=TRUE) COL.errW.GM1 <- GMerrorsar(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb, style="W")) summary(COL.errW.GM1) example(NY_data) esar1f <- spautolm(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY, family="SAR", method="eigen") summary(esar1f) esar1gm <- GMerrorsar(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY) summary(esar1gm) esar1gm1 <- GMerrorsar(Z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data=nydata, listw=listw_NY, method="Nelder-Mead") summary(esar1gm1) } \keyword{spatial} spdep/man/localmoran.Rd0000644000176200001440000001107313151613263014561 0ustar liggesusers% Copyright 2001-8 by Roger S. Bivand \name{localmoran} \alias{localmoran} \title{Local Moran's I statistic} \description{ The local spatial statistic Moran's I is calculated for each zone based on the spatial weights object used. The values returned include a Z-value, and may be used as a diagnostic tool. The statistic is: \deqn{I_i = \frac{(x_i-\bar{x})}{{\sum_{k=1}^{n}(x_k-\bar{x})^2}/(n-1)}{\sum_{j=1}^{n}w_{ij}(x_j-\bar{x})}}, and its expectation and variance are given in Anselin (1995). } \usage{ localmoran(x, listw, zero.policy=NULL, na.action=na.fail, alternative = "greater", p.adjust.method="none", mlvar=TRUE, spChk=NULL, sokal98=FALSE) } \arguments{ \item{x}{a numeric vector the same length as the neighbours list in listw} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{na.action}{a function (default \code{na.fail}), can also be \code{na.omit} or \code{na.exclude} - in these cases the weights list will be subsetted to remove NAs in the data. It may be necessary to set zero.policy to TRUE because this subsetting may create no-neighbour observations. Note that only weights lists created without using the glist argument to \code{nb2listw} may be subsetted. If \code{na.pass} is used, zero is substituted for NA values in calculating the spatial lag. (Note that na.exclude will only work properly starting from R 1.9.0, na.omit and na.exclude assign the wrong classes in 1.8.*)} \item{alternative}{a character string specifying the alternative hypothesis, must be one of greater (default), less or two.sided.} \item{p.adjust.method}{a character string specifying the probability value adjustment for multiple tests, default "none"; see \code{\link{p.adjustSP}}. Note that the number of multiple tests for each region is only taken as the number of neighbours + 1 for each region, rather than the total number of regions.} \item{mlvar}{default TRUE: values of local Moran's I are reported using the variance of the variable of interest (sum of squared deviances over n), but can be reported as the sample variance, dividing by (n-1) instead; both are used in other implementations.} \item{spChk}{should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use \code{get.spChkOption()}} \item{sokal98}{default=FALSE, if TRUE, use VI as defined by Sokal et al. (1998)} } \details{ The values of local Moran's I are divided by the variance (or sample variance) of the variable of interest to accord with Table 1, p. 103, and formula (12), p. 99, in Anselin (1995), rathar than his formula (7), p. 98. } \value{ \item{Ii}{local moran statistic} \item{E.Ii}{expectation of local moran statistic} \item{Var.Ii}{variance of local moran statistic} \item{Z.Ii}{standard deviate of local moran statistic} \item{Pr()}{p-value of local moran statistic} } \references{Anselin, L. 1995. Local indicators of spatial association, Geographical Analysis, 27, 93--115; Getis, A. and Ord, J. K. 1996 Local spatial statistics: an overview. In P. Longley and M. Batty (eds) \emph{Spatial analysis: modelling in a GIS environment} (Cambridge: Geoinformation International), 261--277; Sokal, R. R, Oden, N. L. and Thomson, B. A. 1998. Local Spatial Autocorrelation in a Biological Model. Geographical Analysis, 30. 331--354.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{localG}}} \examples{ data(afcon) oid <- order(afcon$id) resI <- localmoran(afcon$totcon, nb2listw(paper.nb)) printCoefmat(data.frame(resI[oid,], row.names=afcon$name[oid]), check.names=FALSE) hist(resI[,5]) mean(resI[,1]) sum(resI[,1])/Szero(nb2listw(paper.nb)) moran.test(afcon$totcon, nb2listw(paper.nb)) # note equality for mean() only when the sum of weights equals # the number of observations (thanks to Juergen Symanzik) resI <- localmoran(afcon$totcon, nb2listw(paper.nb), p.adjust.method="bonferroni") printCoefmat(data.frame(resI[oid,], row.names=afcon$name[oid]), check.names=FALSE) hist(resI[,5]) totcon <-afcon$totcon is.na(totcon) <- sample(1:length(totcon), 5) totcon resI.na <- localmoran(totcon, nb2listw(paper.nb), na.action=na.exclude, zero.policy=TRUE) if (class(attr(resI.na, "na.action")) == "exclude") { print(data.frame(resI.na[oid,], row.names=afcon$name[oid]), digits=2) } else print(resI.na, digits=2) resG <- localG(afcon$totcon, nb2listw(include.self(paper.nb))) print(data.frame(resG[oid], row.names=afcon$name[oid]), digits=2) } \keyword{spatial} spdep/man/COL.OLD.Rd0000644000176200001440000000500412770451462013470 0ustar liggesusers% Copyright 2001 by Roger S. Bivand \name{oldcol} \alias{oldcol} \alias{COL.OLD} \alias{COL.nb} %\alias{coords.OLD} %\alias{polys.OLD} \docType{data} \title{Columbus OH spatial analysis data set - old numbering} \usage{data(oldcol)} \description{ The \code{COL.OLD} data frame has 49 rows and 22 columns. The observations are ordered and numbered as in the original analyses of the data set in the SpaceStat documentation and in Anselin, L. 1988 Spatial econometrics: methods and models, Dordrecht: Kluwer. Unit of analysis: 49 neighbourhoods in Columbus, OH, 1980 data. In addition the data set includes \code{COL.nb}, the neighbours list as used in Anselin (1988). } \format{ This data frame contains the following columns: \describe{ \item{AREA_PL}{computed by ArcView (agrees with areas of polygons in the \dQuote{columbus} data set} \item{PERIMETER}{computed by ArcView} \item{COLUMBUS.}{internal polygon ID (ignore)} \item{COLUMBUS.I}{another internal polygon ID (ignore)} \item{POLYID}{yet another polygon ID} \item{NEIG}{neighborhood id value (1-49); conforms to id value used in Spatial Econometrics book.} \item{HOVAL}{housing value (in \$1,000)} \item{INC}{household income (in \$1,000)} \item{CRIME}{residential burglaries and vehicle thefts per thousand households in the neighborhood} \item{OPEN}{open space in neighborhood} \item{PLUMB}{percentage housing units without plumbin} \item{DISCBD}{distance to CBD} \item{X}{x coordinate (in arbitrary digitizing units, not polygon coordinates)} \item{Y}{y coordinate (in arbitrary digitizing units, not polygon coordinates)} \item{AREA_SS}{neighborhood area (computed by SpaceStat)} \item{NSA}{north-south dummy (North=1)} \item{NSB}{north-south dummy (North=1)} \item{EW}{east-west dummy (East=1)} \item{CP}{core-periphery dummy (Core=1)} \item{THOUS}{constant=1,000} \item{NEIGNO}{NEIG+1,000, alternative neighborhood id value} \item{PERIM}{polygon perimeter (computed by SpaceStat)} } } \details{ The row names of \code{COL.OLD} and the \code{region.id} attribute of \code{COL.nb} are set to \code{columbus$NEIGNO}. } \source{ Anselin, Luc. 1988. Spatial econometrics: methods and models. Dordrecht: Kluwer Academic, Table 12.1 p. 189. } \note{ All source data files prepared by Luc Anselin, Spatial Analysis Laboratory, Department of Agricultural and Consumer Economics, University of Illinois, Urbana-Champaign, \url{https://spatial.uchicago.edu/sample-data}. } \keyword{datasets} spdep/man/localmoran.exact.Rd0000644000176200001440000001271313152256572015675 0ustar liggesusers\name{localmoran.exact} \alias{localmoran.exact} \alias{localmoran.exact.alt} \alias{print.localmoranex} \alias{as.data.frame.localmoranex} %- Also NEED an '\alias' for EACH other topic documented here. \title{Exact local Moran's Ii tests} \description{ \code{localmoran.exact} provides exact local Moran's Ii tests under the null hypothesis, while \code{localmoran.exact.alt} provides exact local Moran's Ii tests under the alternative hypothesis. In this case, the model may be a fitted model derived from a model fitted by \code{errorsarlm}, with the covariance matrix can be passed through the \code{Omega=} argument. } \usage{ localmoran.exact(model, select, nb, glist = NULL, style = "W", zero.policy = NULL, alternative = "greater", spChk = NULL, resfun = weighted.residuals, save.Vi = FALSE, useTP=FALSE, truncErr=1e-6, zeroTreat=0.1) localmoran.exact.alt(model, select, nb, glist = NULL, style = "W", zero.policy = NULL, alternative = "greater", spChk = NULL, resfun = weighted.residuals, Omega = NULL, save.Vi = FALSE, save.M = FALSE, useTP=FALSE, truncErr=1e-6, zeroTreat=0.1) \method{print}{localmoranex}(x, \dots) \method{as.data.frame}{localmoranex}(x, row.names=NULL, optional=FALSE, \dots) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{model}{an object of class \code{lm} returned by \code{lm} (assuming no global spatial autocorrelation), or an object of class \code{sarlm} returned by a spatial simultaneous autoregressive model fit (assuming global spatial autocorrelation represented by the model spatial coefficient); weights may be specified in the \code{lm} fit, but offsets should not be used} \item{select}{an integer vector of the id. numbers of zones to be tested; if missing, all zones} \item{nb}{a list of neighbours of class \code{nb}} \item{glist}{a list of general weights corresponding to neighbours} \item{style}{can take values W, B, C, and S} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{alternative}{a character string specifying the alternative hypothesis, must be one of greater (default), less or two.sided.} \item{spChk}{should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use \code{get.spChkOption()}} \item{resfun}{default: weighted.residuals; the function to be used to extract residuals from the \code{lm} object, may be \code{residuals}, \code{weighted.residuals}, \code{rstandard}, or \code{rstudent}} \item{Omega}{A SAR process matrix may be passed in to test an alternative hypothesis, for example \code{Omega <- invIrW(listw, rho=0.1); Omega <- tcrossprod(Omega)}, \code{chol()} is taken internally} \item{save.Vi}{if TRUE, return the star-shaped weights lists for each zone tested} \item{save.M}{if TRUE, save a list of left and right M products} \item{useTP}{default FALSE, if TRUE, use truncation point in integration rather than upper=Inf, see Tiefelsdorf (2000), eq. 6.7, p.69} \item{truncErr}{when useTP=TRUE, pass truncation error to truncation point function} \item{zeroTreat}{when useTP=TRUE, pass zero adjustment to truncation point function} \item{x}{object to be printed} \item{row.names}{ignored argument to \code{as.data.frame.localmoranex}; row names assigned from localmoranex object} \item{optional}{ignored argument to \code{as.data.frame.localmoranex}; row names assigned from localmoranex object} \item{\dots}{arguments to be passed through} } \value{ A list with class \code{localmoranex} containing "select" lists, each with class \code{moranex} with the following components: \item{statistic}{the value of the exact standard deviate of global Moran's I.} \item{p.value}{the p-value of the test.} \item{estimate}{the value of the observed local Moran's Ii.} \item{method}{a character string giving the method used.} \item{alternative}{a character string describing the alternative hypothesis.} \item{gamma}{eigenvalues (two extreme values for null, vector for alternative)} \item{oType}{usually set to "E", but set to "N" if the integration leads to an out of domain value for \code{qnorm}, when the Normal assumption is substituted. This only occurs when the output p-value would be very close to zero} \item{data.name}{a character string giving the name(s) of the data.} \item{df}{degrees of freedom} \item{i}{zone tested} \item{Vi}{zone tested} When the alternative is being tested, a list of left and right M products in attribute M. } \author{Markus Reder and Roger Bivand} \seealso{\code{\link{lm.morantest.exact}}, \code{\link{localmoran.sad}}} \examples{ require(maptools) eire <- readShapePoly(system.file("etc/shapes/eire.shp", package="spdep")[1], ID="names", proj4string=CRS("+proj=utm +zone=30 +ellps=airy +units=km")) eire.nb <- poly2nb(eire) #data(eire) e.lm <- lm(OWNCONS ~ ROADACC, data=eire) localmoran.sad(e.lm, nb=eire.nb) localmoran.exact(e.lm, nb=eire.nb) localmoran.exact(e.lm, nb=eire.nb, useTP=TRUE) e.errorsar <- errorsarlm(OWNCONS ~ ROADACC, data=eire, listw=nb2listw(eire.nb)) lm.target <- lm(e.errorsar$tary ~ e.errorsar$tarX - 1) localmoran.exact.alt(lm.target, nb=eire.nb) Omega <- invIrW(nb2listw(eire.nb), rho=0.6) Omega1 <- tcrossprod(Omega) localmoran.exact.alt(lm.target, nb=eire.nb, Omega=Omega1) localmoran.exact.alt(lm.target, nb=eire.nb, Omega=Omega1, useTP=TRUE) } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{spatial} spdep/man/EBlocal.Rd0000644000176200001440000000521511716033161013732 0ustar liggesusers% Copyright 2003 by Roger S. Bivand \name{EBlocal} \alias{EBlocal} \title{Local Empirical Bayes estimator} \description{ The function computes local empirical Bayes estimates for rates "shrunk" to a neighbourhood mean for neighbourhoods given by the \code{nb} neighbourhood list. } \usage{ EBlocal(ri, ni, nb, zero.policy = NULL, spChk = NULL, geoda=FALSE) } %- maybe also `usage' for other objects documented here. \arguments{ \item{ri}{a numeric vector of counts of cases the same length as the neighbours list in nb} \item{ni}{a numeric vector of populations at risk the same length as the neighbours list in nb} \item{nb}{a \code{nb} object of neighbour relationships} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{spChk}{should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use \code{get.spChkOption()}} \item{geoda}{default=FALSE, following Marshall's algorithm as interpreted by Bailey and Gatrell, pp. 305-307, and exercise 8.2, pp. 328-330 for the definition of phi; TRUE for the definition of phi used in GeoDa (see discussion on OpenSpace mailing list June 2003: http://agec221.agecon.uiuc.edu/pipermail/openspace/2003-June/thread.html)} } \details{ Details of the implementation are to be found in Marshall, p. 286, and Bailey and Gatrell p. 307 and exercise 8.2, pp. 328--330. The example results do not fully correspond to the sources because of slightly differing neighbourhoods, but are generally close. } \value{ A data frame with two columns: \item{raw}{a numerical vector of raw (crude) rates} \item{est}{a numerical vector of local empirical Bayes estimates} and a \code{parameters} attribute list with components: \item{a}{a numerical vector of local phi values} \item{m}{a numerical vector of local gamma values} } \references{Marshall R M (1991) Mapping disease and mortality rates using Empirical Bayes Estimators, Applied Statistics, 40, 283--294; Bailey T, Gatrell A (1995) Interactive Spatial Data Analysis, Harlow: Longman, pp. 303--306.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}, based on contributions by Marilia Carvalho} \seealso{\code{\link{EBest}}, \code{\link{probmap}}} \examples{ example(auckland) res <- EBlocal(auckland$M77_85, 9*auckland$Und5_81, auckland.nb) brks <- c(-Inf,2,2.5,3,3.5,Inf) cols <- grey(6:2/7) plot(auckland, col=cols[findInterval(res$est*1000, brks, all.inside=TRUE)]) legend("bottomleft", fill=cols, legend=leglabs(brks), bty="n") title(main="Local moment estimator of infant mortality per 1000 per year") } \keyword{spatial} spdep/man/eire.Rd0000644000176200001440000000767312522454646013402 0ustar liggesusers% Copyright 2002 by Roger S. Bivand \encoding{UTF-8} \name{eire} \alias{eire} \alias{eire.df} \alias{eire.polys.utm} \alias{eire.coords.utm} \alias{eire.nb} \docType{data} \title{Eire data sets} \usage{data(eire)} \description{ The Eire data set has been converted to shapefile format and placed in the etc/shapes directory. The initial data objects are now stored as a SpatialPolygonsDataFrame object, from which the contiguity neighbour list is recreated. For purposes of record, the original data set is retained. The \code{eire.df} data frame has 26 rows and 9 columns. In addition, polygons of the 26 counties are provided as a multipart polylist in eire.polys.utm (coordinates in km, projection UTM zone 30). Their centroids are in eire.coords.utm. The original Cliff and Ord binary contiguities are in eire.nb. } \format{ This data frame contains the following columns: \describe{ \item{A}{Percentage of sample with blood group A} \item{towns}{Towns/unit area} \item{pale}{Beyond the Pale 0, within the Pale 1} \item{size}{number of blood type samples} \item{ROADACC}{arterial road network accessibility in 1961} \item{OWNCONS}{percentage in value terms of gross agricultural output of each county consumed by itself} \item{POPCHG}{1961 population as percentage of 1926} \item{RETSALE}{value of retail sales £000} \item{INCOME}{total personal income £000} \item{names}{County names} } } \source{Upton and Fingleton 1985, - Bailey and Gatrell 1995, ch. 1 for blood group data, Cliff and Ord (1973), p. 107 for remaining variables (also after O'Sullivan, 1968). Polygon borders and Irish data sourced from Michael Tiefelsdorf's SPSS Saddlepoint bundle, originally hosted at: http://geog-www.sbs.ohio-state.edu/faculty/tiefelsdorf/GeoStat.htm but no longer available. } \examples{ require(maptools) eire <- readShapePoly(system.file("etc/shapes/eire.shp", package="spdep")[1], ID="names", proj4string=CRS("+proj=utm +zone=30 +ellps=airy +units=km")) eire.nb <- poly2nb(eire) #data(eire) % Eire physical anthropology blood group data summary(eire$A) brks <- round(fivenum(eire$A), digits=2) cols <- rev(heat.colors(4)) plot(eire, col=cols[findInterval(eire$A, brks, all.inside=TRUE)]) title(main="Percentage with blood group A in Eire") legend(x=c(-50, 70), y=c(6120, 6050), leglabs(brks), fill=cols, bty="n") plot(eire) plot(eire.nb, coordinates(eire), add=TRUE) lA <- lag.listw(nb2listw(eire.nb), eire$A) summary(lA) moran.test(eire$A, nb2listw(eire.nb)) geary.test(eire$A, nb2listw(eire.nb)) cor(lA, eire$A) moran.plot(eire$A, nb2listw(eire.nb), labels=eire$names) A.lm <- lm(A ~ towns + pale, data=eire) summary(A.lm) res <- residuals(A.lm) brks <- c(min(res),-2,-1,0,1,2,max(res)) cols <- rev(cm.colors(6)) plot(eire, col=cols[findInterval(res, brks, all.inside=TRUE)]) title(main="Regression residuals") legend(x=c(-50, 70), y=c(6120, 6050), legend=leglabs(brks), fill=cols, bty="n") lm.morantest(A.lm, nb2listw(eire.nb)) lm.morantest.sad(A.lm, nb2listw(eire.nb)) lm.LMtests(A.lm, nb2listw(eire.nb), test="LMerr") % Eire agricultural data brks <- round(fivenum(eire$OWNCONS), digits=2) cols <- grey(4:1/5) plot(eire, col=cols[findInterval(eire$OWNCONS, brks, all.inside=TRUE)]) title(main="Percentage own consumption of agricultural produce") legend(x=c(-50, 70), y=c(6120, 6050), legend=leglabs(brks), fill=cols, bty="n") moran.plot(eire$OWNCONS, nb2listw(eire.nb)) moran.test(eire$OWNCONS, nb2listw(eire.nb)) e.lm <- lm(OWNCONS ~ ROADACC, data=eire) res <- residuals(e.lm) brks <- c(min(res),-2,-1,0,1,2,max(res)) cols <- rev(cm.colors(6)) plot(eire, col=cols[findInterval(res, brks, all.inside=TRUE)]) title(main="Regression residuals") legend(x=c(-50, 70), y=c(6120, 6050), legend=leglabs(brks), fill=cm.colors(6), bty="n") lm.morantest(e.lm, nb2listw(eire.nb)) lm.morantest.sad(e.lm, nb2listw(eire.nb)) lm.LMtests(e.lm, nb2listw(eire.nb), test="LMerr") print(localmoran.sad(e.lm, eire.nb, select=1:length(slot(eire, "polygons")))) } \keyword{datasets} spdep/man/lee.Rd0000644000176200001440000000367112324523745013212 0ustar liggesusers% Copyright 2014 by Roger S. Bivand, Virgilio Gómez-Rubio \encoding{latin1} \name{lee} \alias{lee} \title{Compute Lee's statistic} \description{ A simple function to compute Lee's L statistic for bivariate spatial data; %, called by \code{moran.test} and \code{moran.mc}; \deqn{L(x,y) = \frac{n}{\sum_{i=1}^{n}(\sum_{j=1}^{n}w_{ij})^2} \frac{\sum_{i=1}^{n}(\sum_{j=1}^{n}w_{ij}(x_i-\bar{x})) ((\sum_{j=1}^{n}w_{ij}(y_j-\bar{y}))}{\sqrt{\sum_{i=1}^{n}(x_i - \bar{x})^2} \sqrt{\sum_{i=1}^{n}(y_i - \bar{y})^2}} }{L(x,y) = (n sum_i (sum_j w_ij (x_i - xbar)) (sum_j w_ij (y_j - ybar))) / (S2 sqrt(sum_i (x_i - xbar)^2)) sqrt(sum_i (x_i - xbar)^2))} } \usage{ lee(x, y, listw, n, S2, zero.policy=NULL, NAOK=FALSE) } \arguments{ \item{x}{a numeric vector the same length as the neighbours list in listw} \item{y}{a numeric vector the same length as the neighbours list in listw} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{n}{number of zones} \item{S2}{Sum of squared sum of weights by rows.} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA} \item{NAOK}{if 'TRUE' then any 'NA' or 'NaN' or 'Inf' values in x are passed on to the foreign function. If 'FALSE', the presence of 'NA' or 'NaN' or 'Inf' values is regarded as an error.} } \value{ a list of \item{L}{Lee's L statistic} \item{local L}{Lee's local L statistic} } \references{Lee (2001). Developing a bivariate spatial association measure: An integration of Pearson's r and Moran's I. J Geograph Syst 3: 369-385} \author{Roger Bivand and Virgiio Gómez-Rubio \email{Virgilio.Gomez@uclm.es}} \seealso{\code{\link{lee.mc}}}%, \code{\link{lee.mc}}} \examples{ data(boston) lw<-nb2listw(boston.soi) x<-boston.c$CMEDV y<-boston.c$CRIM z<-boston.c$RAD Lxy<-lee(x, y, lw, length(x), zero.policy=TRUE) Lxz<-lee(x, z, lw, length(x), zero.policy=TRUE) } \keyword{spatial} spdep/man/plot.skater.Rd0000644000176200001440000000211511716033161014673 0ustar liggesusers\name{plot.skater} \alias{plot.skater} %- Also NEED an '\alias' for EACH other topic documented here. \title{Plot the object of skater class} \description{ This function displays the results of the skater function. The subgraphs are plotted with different colours. } \usage{ \method{plot}{skater}(x, coords, label.areas = NULL, groups.colors, cex.circles = 1, cex.labels = 1, ...) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{x}{An object of \code{skater} class.} \item{coords}{A matrix of two colums with coordinates of nodes.} \item{label.areas}{A vector of labels of nodes.} \item{groups.colors}{A vector with colors of groups ou sub-graphs.} \item{cex.circles}{The length of circles with represent the nodes.} \item{cex.labels}{The length of labels of nodes.} \item{\dots}{Further arguments passed to plotting funcitons.} } \author{Elias T. Krainski and Renato M. Assuncao} \seealso{See Also as \code{\link{skater}} and \code{\link{mstree}}} \examples{ ### see example in the skater function documentation } \keyword{hplot} \keyword{cluster} spdep/man/card.Rd0000644000176200001440000000245311716033161013343 0ustar liggesusers% Copyright 2001 by Roger S. Bivand \name{card} \alias{card} \title{Cardinalities for neighbours lists} \description{ The function tallies the numbers of neighbours of regions in the neighbours list. } \usage{ card(nb) } \arguments{ \item{nb}{a neighbours list object of class \code{nb}} } \value{ An integer vector of the numbers of neighbours of regions in the neighbours list. } \details{\dQuote{nb} objects are stored as lists of integer vectors, where the vectors contain either the indices in the range \code{1:n} for \code{n} as {length(nb)} of the neighbours of region \code{i}, or \code{as.integer(0)} to signal no neighbours. The function \code{card(nb)} is used to extract the numbers of neighbours from the \dQuote{nb} object.} \references{Bivand R, Pebesma EJ, Gomez-Rubio V, (2008) \emph{Applied Spatial Data Analysis with R}, Springer, New York, pp. 239-251; Bivand R, Portnov B, (2004) Exploring spatial data analysis techniques using R: the case of observations with no neighbours. In: Anselin L, Florax R, Rey S, (eds.), \emph{Advances in Spatial Econometrics, Methodology, Tools and Applications}. Berlin: Springer-Verlag, pp. 121-142.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{summary.nb}}} \examples{ example(columbus) table(card(col.gal.nb)) } \keyword{spatial} spdep/man/sacsarlm.Rd0000644000176200001440000002515212456024307014244 0ustar liggesusers% Copyright 2010 by Roger S. Bivand \name{sacsarlm} \alias{sacsarlm} %- Also NEED an '\alias' for EACH other topic documented here. \title{Spatial simultaneous autoregressive SAC model estimation} \description{ Maximum likelihood estimation of spatial simultaneous autoregressive \dQuote{SAC/SARAR} models of the form: \deqn{y = \rho W1 y + X \beta + u, u = \lambda W2 u + \varepsilon}{y = rho W1 y + X beta + u, u = lambda W2 u + e} where \eqn{\rho}{rho} and \eqn{\lambda}{lambda} are found by \code{nlminb} or \code{optim()} first, and \eqn{\beta}{beta} and other parameters by generalized least squares subsequently} \usage{ sacsarlm(formula, data = list(), listw, listw2 = NULL, na.action, type="sac", method = "eigen", quiet = NULL, zero.policy = NULL, tol.solve = 1e-10, llprof=NULL, interval1=NULL, interval2=NULL, trs1=NULL, trs2=NULL, control = list()) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{formula}{a symbolic description of the model to be fit. The details of model specification are given for \code{lm()}} \item{data}{an optional data frame containing the variables in the model. By default the variables are taken from the environment which the function is called} \item{listw}{a \code{listw} object created for example by \code{nb2listw}} \item{listw2}{a \code{listw} object created for example by \code{nb2listw}, if not given, set to the same spatial weights as the \code{listw} argument} \item{na.action}{a function (default \code{options("na.action")}), can also be \code{na.omit} or \code{na.exclude} with consequences for residuals and fitted values - in these cases the weights list will be subsetted to remove NAs in the data. It may be necessary to set zero.policy to TRUE because this subsetting may create no-neighbour observations. Note that only weights lists created without using the glist argument to \code{nb2listw} may be subsetted.} \item{type}{default "sac", may be set to "sacmixed" for the Manski model to include the spatially lagged independent variables added to X using \code{listw}; when "sacmixed", the lagged intercept is dropped for spatial weights style "W", that is row-standardised weights, but otherwise included} \item{method}{"eigen" (default) - the Jacobian is computed as the product of (1 - rho*eigenvalue) using \code{eigenw}, and "spam" or "Matrix" for strictly symmetric weights lists of styles "B" and "C", or made symmetric by similarity (Ord, 1975, Appendix C) if possible for styles "W" and "S", using code from the spam or Matrix packages to calculate the determinant; "LU" provides an alternative sparse matrix decomposition approach. In addition, there are "Chebyshev" and Monte Carlo "MC" approximate log-determinant methods.} \item{quiet}{default NULL, use !verbose global option value; if FALSE, reports function values during optimization.} \item{zero.policy}{default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE (default) assign NA - causing \code{sacsarlm()} to terminate with an error} \item{tol.solve}{the tolerance for detecting linear dependencies in the columns of matrices to be inverted - passed to \code{solve()} (default=1.0e-10). This may be used if necessary to extract coefficient standard errors (for instance lowering to 1e-12), but errors in \code{solve()} may constitute indications of poorly scaled variables: if the variables have scales differing much from the autoregressive coefficient, the values in this matrix may be very different in scale, and inverting such a matrix is analytically possible by definition, but numerically unstable; rescaling the RHS variables alleviates this better than setting tol.solve to a very small value} \item{llprof}{default NULL, can either be an integer, to divide the feasible ranges into a grid of points, or a two-column matrix of spatial coefficient values, at which to evaluate the likelihood function} \item{trs1, trs2}{default NULL, if given, vectors for each weights object of powered spatial weights matrix traces output by \code{trW}; when given, used in some Jacobian methods} \item{interval1, interval2}{default is NULL, search intervals for each weights object for autoregressive parameters} \item{control}{list of extra control arguments - see section below} } \details{Because numerical optimisation is used to find the values of lambda and rho, care needs to be shown. It has been found that the surface of the 2D likelihood function often forms a \dQuote{banana trench} from (low rho, high lambda) through (high rho, high lambda) to (high rho, low lambda) values. In addition, sometimes the banana has optima towards both ends, one local, the other global, and conseqently the choice of the starting point for the final optimization becomes crucial. The default approach is not to use just (0, 0) as a starting point, nor the (rho, lambda) values from \code{gstsls}, which lie in a central part of the \dQuote{trench}, but either four values at (low rho, high lambda), (0, 0), (high rho, high lambda), and (high rho, low lambda), and to use the best of these start points for the final optimization. Optionally, nine points can be used spanning the whole (lower, upper) space.} \section{Control arguments}{ \describe{ \item{fdHess:}{default NULL, then set to (method != "eigen") internally; use \code{fdHess} to compute an approximate Hessian using finite differences when using sparse matrix methods with \code{fdHess} from \pkg{nlme}; used to make a coefficient covariance matrix when the number of observations is large; may be turned off to save resources if need be} \item{LAPACK:}{default FALSE; logical value passed to \code{qr} in the SSE log likelihood function} \item{Imult:}{default 2; used for preparing the Cholesky decompositions for updating in the Jacobian function} \item{cheb_q:}{default 5; highest power of the approximating polynomial for the Chebyshev approximation} \item{MC_p:}{default 16; number of random variates} \item{MC_m:}{default 30; number of products of random variates matrix and spatial weights matrix} \item{super:}{default FALSE using a simplicial decomposition for the sparse Cholesky decomposition, if TRUE, use a supernodal decomposition} \item{opt_method:}{default \dQuote{nlminb}, may be set to \dQuote{L-BFGS-B} to use box-constrained optimisation in \code{optim}} \item{opt_control:}{default \code{list()}, a control list to pass to \code{nlminb} or \code{optim}} \item{pars:}{default \code{NULL}, for which five trial starting values spanning the lower/upper range are tried and the best selected, starting values of \eqn{\rho}{rho} and \eqn{\lambda}{lambda}} \item{npars}{default integer \code{4L}, four trial points; if not default value, nine trial points} \item{pre_eig1, pre_eig2}{default NULL; may be used to pass pre-computed vectors of eigenvalues} }} \value{ A list object of class \code{sarlm} \item{type}{\dQuote{sac}} \item{rho}{lag simultaneous autoregressive lag coefficient} \item{lambda}{error simultaneous autoregressive error coefficient} \item{coefficients}{GLS coefficient estimates} \item{rest.se}{asymptotic standard errors if ase=TRUE, otherwise approximate numeriacal Hessian-based values} \item{ase}{TRUE if method=eigen} \item{LL}{log likelihood value at computed optimum} \item{s2}{GLS residual variance} \item{SSE}{sum of squared GLS errors} \item{parameters}{number of parameters estimated} \item{logLik_lm.model}{Log likelihood of the non-spatial linear model} \item{AIC_lm.model}{AIC of the non-spatial linear model} % \item{lm.model}{the \code{lm} object returned when estimating for \eqn{\rho=0}{rho=0}} \item{method}{the method used to calculate the Jacobian} \item{call}{the call used to create this object} \item{residuals}{GLS residuals} % \item{lm.target}{the \code{lm} object returned for the GLS fit} \item{tarX}{model matrix of the GLS model} \item{tary}{response of the GLS model} \item{y}{response of the linear model for \eqn{\rho=0}{rho=0}} \item{X}{model matrix of the linear model for \eqn{\rho=0}{rho=0}} \item{opt}{object returned from numerical optimisation} \item{pars}{starting parameter values for final optimization, either given or found by trial point evaluation} \item{mxs}{if default input pars, optimal objective function values at trial points} \item{fitted.values}{Difference between residuals and response variable} \item{se.fit}{Not used yet} % \item{formula}{model formula} \item{rho.se}{if ase=TRUE, the asymptotic standard error of \eqn{\rho}{rho}, otherwise approximate numeriacal Hessian-based value} \item{lambda.se}{if ase=TRUE, the asymptotic standard error of \eqn{\lambda}{lambda}} \item{resvar}{the asymptotic coefficient covariance matrix for (s2, rho, lambda, B)} \item{zero.policy}{zero.policy for this model} \item{aliased}{the aliased explanatory variables (if any)} \item{LLNullLlm}{Log-likelihood of the null linear model} \item{fdHess}{the numerical Hessian-based coefficient covariance matrix for (rho, lambda, B) if computed} \item{resvar}{asymptotic coefficient covariance matrix} \item{optimHess}{FALSE} \item{timings}{processing timings} \item{na.action}{(possibly) named vector of excluded or omitted observations if non-default na.action argument used} } \references{Anselin, L. 1988 \emph{Spatial econometrics: methods and models.} (Dordrecht: Kluwer); LeSage J and RK Pace (2009) \emph{Introduction to Spatial Econometrics}. CRC Press, Boca Raton. Roger Bivand, Gianfranco Piras (2015). Comparing Implementations of Estimation Methods for Spatial Econometrics. \emph{Journal of Statistical Software}, 63(18), 1-36. \url{http://www.jstatsoft.org/v63/i18/}. Bivand, R. S., Hauke, J., and Kossowski, T. (2013). Computing the Jacobian in Gaussian spatial autoregressive models: An illustrated comparison of available methods. \emph{Geographical Analysis}, 45(2), 150-179. } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{lm}}, \code{\link{lagsarlm}}, \code{\link{errorsarlm}}, \code{\link{summary.sarlm}}, \code{\link{eigenw}}, \code{\link{impacts.sarlm}}} \examples{ data(oldcol) COL.sacW.eig <- sacsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb, style="W")) summary(COL.sacW.eig, correlation=TRUE) W <- as(nb2listw(COL.nb, style="W"), "CsparseMatrix") trMatc <- trW(W, type="mult") summary(impacts(COL.sacW.eig, tr=trMatc, R=2000), zstats=TRUE, short=TRUE) COL.msacW.eig <- sacsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, nb2listw(COL.nb, style="W"), type="sacmixed") summary(COL.msacW.eig, correlation=TRUE) summary(impacts(COL.msacW.eig, tr=trMatc, R=2000), zstats=TRUE, short=TRUE) } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{spatial} spdep/man/invIrM.Rd0000644000176200001440000001363513051323567013650 0ustar liggesusers% Copyright 2001-9 by Roger S. Bivand \name{invIrM} \alias{invIrM} \alias{invIrW} \alias{powerWeights} \title{Compute SAR generating operator} \description{ Computes the matrix used for generating simultaneous autoregressive random variables, for a given value of rho, a neighbours list object or a matrix, a chosen coding scheme style, and optionally a list of general weights corresponding to neighbours. } \usage{ invIrM(neighbours, rho, glist=NULL, style="W", method="solve", feasible=NULL) invIrW(x, rho, method="solve", feasible=NULL) powerWeights(W, rho, order=250, X, tol=.Machine$double.eps^(3/5)) } \arguments{ \item{neighbours}{an object of class \code{nb}} \item{rho}{autoregressive parameter} \item{glist}{list of general weights corresponding to neighbours} \item{style}{\code{style} can take values W, B, C, and S} \item{method}{default \code{solve}, can also take value \code{chol}} \item{feasible}{if NULL, the given value of rho is checked to see if it lies within its feasible range, if TRUE, the test is not conducted} \item{x}{either a \code{listw} object from for example \code{nb2listw}, or a square spatial weights matrix, optionally a sparse matrix} \item{W}{A spatial weights matrix (either a dense matrix or a CsparseMatrix)} \item{order}{Power series maximum limit} \item{X}{A numerical matrix} \item{tol}{Tolerance for convergence of power series} } \details{ The \code{invIrW} function generates the full weights matrix V, checks that rho lies in its feasible range between 1/min(eigen(V)) and 1/max(eigen(V)), and returns the nxn inverted matrix \deqn{(I - \rho V)^{-1}}. With method=\dQuote{chol} (only for a listw object), Cholesky decomposition is used, thanks to contributed code by Markus Reder and Werner Mueller. The \code{powerWeights} function uses power series summation to cumulate the product \deqn{(I - \rho V)^{-1} \%*\% X} from \deqn{(I + \rho V + (\rho V)^2 + \dots) \%*\% X}, which can be done by storing only sparse V and several matrices of the same dimensions as X. This makes it possible to handle larger spatial weights matrices, but is sensitive to the power weights order and the tolerance arguments when the spatial coefficient is close to its bounds, leading to incorrect estimates of the implied inverse matrix. } \value{ An nxn matrix with a "call" attribute; the \code{powerWeights} function returns a matrix of the same dimensions as X which has been multipled by the power series equivalent of the dense matrix \deqn{(I - \rho V)^{-1}}. } \note{ Before version 0.6-10, \code{powerWeights} only worked correctly for positive rho, with differences from true values increasing as rho approached -1, and exploding between -1 and the true negative bound. } \references{Tiefelsdorf, M., Griffith, D. A., Boots, B. 1999 A variance-stabilizing coding scheme for spatial link matrices, Environment and Planning A, 31, pp. 165-180; Tiefelsdorf, M. 2000 Modelling spatial processes, Lecture notes in earth sciences, Springer, p. 76; Haining, R. 1990 Spatial data analysis in the social and environmental sciences, Cambridge University Press, p. 117; Cliff, A. D., Ord, J. K. 1981 Spatial processes, Pion, p. 152; Reder, M. and Mueller, W. (2007) An Improvement of the invIrM Routine of the Geostatistical R-package spdep by Cholesky Inversion, Statistical Projects, LV No: 238.205, SS 2006, Department of Applied Statistics, Johannes Kepler University, Linz} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{nb2listw}}} \examples{ nb7rt <- cell2nb(7, 7, torus=TRUE) set.seed(1) x <- matrix(rnorm(500*length(nb7rt)), nrow=length(nb7rt)) res0 <- apply(invIrM(nb7rt, rho=0.0, method="chol", feasible=TRUE) \%*\% x, 2, function(x) var(x)/length(x)) res2 <- apply(invIrM(nb7rt, rho=0.2, method="chol", feasible=TRUE) \%*\% x, 2, function(x) var(x)/length(x)) res4 <- apply(invIrM(nb7rt, rho=0.4, method="chol", feasible=TRUE) \%*\% x, 2, function(x) var(x)/length(x)) res6 <- apply(invIrM(nb7rt, rho=0.6, method="chol", feasible=TRUE) \%*\% x, 2, function(x) var(x)/length(x)) res8 <- apply(invIrM(nb7rt, rho=0.8, method="chol", feasible=TRUE) \%*\% x, 2, function(x) var(x)/length(x)) res9 <- apply(invIrM(nb7rt, rho=0.9, method="chol", feasible=TRUE) \%*\% x, 2, function(x) var(x)/length(x)) plot(density(res9), col="red", xlim=c(-0.01, max(density(res9)$x)), ylim=range(density(res0)$y), xlab="estimated variance of the mean", main=expression(paste("Effects of spatial autocorrelation for different ", rho, " values"))) lines(density(res0), col="black") lines(density(res2), col="brown") lines(density(res4), col="green") lines(density(res6), col="orange") lines(density(res8), col="pink") legend(c(-0.02, 0.01), c(7, 25), legend=c("0.0", "0.2", "0.4", "0.6", "0.8", "0.9"), col=c("black", "brown", "green", "orange", "pink", "red"), lty=1, bty="n") \dontrun{ x <- matrix(rnorm(length(nb7rt)), ncol=1) system.time(e <- invIrM(nb7rt, rho=0.9, method="chol", feasible=TRUE) \%*\% x) system.time(e <- invIrM(nb7rt, rho=0.9, method="chol", feasible=NULL) \%*\% x) system.time(e <- invIrM(nb7rt, rho=0.9, method="solve", feasible=TRUE) \%*\% x) system.time(e <- invIrM(nb7rt, rho=0.9, method="solve", feasible=NULL) \%*\% x) W <- as(nb2listw(nb7rt), "CsparseMatrix") system.time(ee <- powerWeights(W, rho=0.9, X=x)) all.equal(e, as(ee, "matrix"), check.attributes=FALSE) system.time(e <- invIrM(nb7rt, rho=0.98, method="solve", feasible=NULL) \%*\% x) system.time(ee <- powerWeights(W, rho=0.98, X=x)) str(attr(ee, "internal")) all.equal(e, as(ee, "matrix"), check.attributes=FALSE) system.time(ee <- powerWeights(W, rho=0.98, order=1000, X=x)) all.equal(e, as(ee, "matrix"), check.attributes=FALSE) nb60rt <- cell2nb(60, 60, torus=TRUE) W <- as(nb2listw(nb60rt), "CsparseMatrix") set.seed(1) x <- matrix(rnorm(dim(W)[1]), ncol=1) system.time(ee <- powerWeights(W, rho=0.3, X=x)) str(as(ee, "matrix")) obj <- errorsarlm(as(ee, "matrix")[,1] ~ 1, listw=nb2listw(nb60rt), method="Matrix") coefficients(obj) } } \keyword{spatial} spdep/man/anova.sarlm.Rd0000644000176200001440000000324411716033161014652 0ustar liggesusers% Copyright 2003 by Roger S. Bivand \name{anova.sarlm} \alias{anova.sarlm} \title{Comparison of simultaneous autoregressive models} \description{ One of a number of tools for comparing simultaneous autoregressive models, in particular nested models. The function is based on \code{anova.lme()} for comparing linear mixed models, and follows that function in using the "anova" generic name. } \usage{ \method{anova}{sarlm}(object, ...) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{object}{\code{object} is of class \code{sarlm}} \item{\dots}{other objects of class \code{sarlm} or class \code{lm}} } \details{ If successive models have different numbers of degrees of freedom, a likelihood ratio test will be performed between them. It is important to recall that tests apply to nested models, and this function at least attempts to make sure that the response variable in the models being compared has the same name. Useless results can still be generated when incomparable models are compared, it being the responsibility of the user to check. } \value{ The function returns a data frame printed by default functions } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{LR.sarlm}}, \code{\link{AIC}}} \examples{ example(columbus) lm.mod <- lm(CRIME ~ HOVAL + INC, data=columbus) lag <- lagsarlm(CRIME ~ HOVAL + INC, data=columbus, nb2listw(col.gal.nb)) mixed <- lagsarlm(CRIME ~ HOVAL + INC, data=columbus, nb2listw(col.gal.nb), type="mixed") error <- errorsarlm(CRIME ~ HOVAL + INC, data=columbus, nb2listw(col.gal.nb)) LR.sarlm(mixed, error) anova(lag, lm.mod) anova(lag, error, mixed) AIC(lag, error, mixed) } \keyword{spatial} spdep/man/SpatialFiltering.Rd0000644000176200001440000001114211716033161015666 0ustar liggesusers\name{SpatialFiltering} \alias{SpatialFiltering} \alias{print.SFResult} \alias{fitted.SFResult} %- Also NEED an '\alias' for EACH other topic documented here. \title{Semi-parametric spatial filtering} \description{ The function selects eigenvectors in a semi-parametric spatial filtering approach to removing spatial dependence from linear models. Selection is by brute force by finding the single eigenvector reducing the standard variate of Moran's I for regression residuals most, and continuing until no candidate eigenvector reduces the value by more than \code{tol}. It returns a summary table from the selection process and a matrix of selected eigenvectors for the specified model. } \usage{ SpatialFiltering(formula, lagformula, data = list(), nb, glist = NULL, style = "C", zero.policy = NULL, tol = 0.1, zerovalue = 1e-04, ExactEV = FALSE, symmetric = TRUE, alpha=NULL, alternative="two.sided", verbose=NULL) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{formula}{a symbolic description of the model to be fit, assuming a spatial error representation; when lagformula is given, it should include only the response and the intercept term} \item{lagformula}{An extra one-sided formula to be used when a spatial lag representation is desired; the intercept is excluded within the function if present because it is part of the formula argument, but excluding it explicitly in the lagformula argument in the presence of factors generates a collinear model matrix} \item{data}{an optional data frame containing the variables in the model} \item{nb}{an object of class \code{nb}} \item{glist}{list of general weights corresponding to neighbours} \item{style}{\code{style} can take values W, B, C, U, and S} \item{zero.policy}{default NULL, use global option value; if FALSE stop with error for any empty neighbour sets, if TRUE permit the weights list to be formed with zero-length weights vectors} \item{tol}{tolerance value for convergence of spatial filtering} \item{zerovalue}{eigenvectors with eigenvalues of an absolute value smaller than zerovalue will be excluded in eigenvector search} \item{ExactEV}{Set ExactEV=TRUE to use exact expectations and variances rather than the expectation and variance of Moran's I from the previous iteration, default FALSE} \item{symmetric}{Should the spatial weights matrix be forced to symmetry, default TRUE} \item{alpha}{if not NULL, used instead of the tol= argument as a stopping rule to choose all eigenvectors up to and including the one with a probability value exceeding alpha.} \item{alternative}{a character string specifying the alternative hypothesis, must be one of greater, less or two.sided (default).} \item{verbose}{default NULL, use global option value; if TRUE report eigenvectors selected} } \value{ An \code{SFResult} object, with: \item{selection}{a matrix summarising the selection of eigenvectors for inclusion, with columns: \describe{ \item{Step}{Step counter of the selection procedure} \item{SelEvec}{number of selected eigenvector (sorted descending)} \item{Eval}{its associated eigenvalue} \item{MinMi}{value Moran's I for residual autocorrelation} \item{ZMinMi}{standardized value of Moran's I assuming a normal approximation} \item{pr(ZI)}{probability value of the permutation-based standardized deviate for the given value of the alternative argument} \item{R2}{R\^2 of the model including exogenous variables and eigenvectors} \item{gamma}{regression coefficient of selected eigenvector in fit} } The first row is the value at the start of the search } \item{dataset}{a matrix of the selected eigenvectors in order of selection} } \references{Tiefelsdorf M, Griffith DA. (2007) Semiparametric Filtering of Spatial Autocorrelation: The Eigenvector Approach. Environment and Planning A, 39 (5) 1193 - 1221. \url{http://www.spatialfiltering.com}} \author{Yongwan Chun, Michael Tiefelsdorf, Roger Bivand} \seealso{\code{\link[stats]{lm}}, \code{\link[base]{eigen}}, \code{\link{nb2listw}}, \code{\link{listw2U}}} \examples{ example(columbus) lmbase <- lm(CRIME ~ INC + HOVAL, data=columbus) sarcol <- SpatialFiltering(CRIME ~ INC + HOVAL, data=columbus, nb=col.gal.nb, style="W", ExactEV=TRUE) sarcol lmsar <- lm(CRIME ~ INC + HOVAL + fitted(sarcol), data=columbus) lmsar anova(lmbase, lmsar) lm.morantest(lmsar, nb2listw(col.gal.nb)) lagcol <- SpatialFiltering(CRIME ~ 1, ~ INC + HOVAL - 1, data=columbus, nb=col.gal.nb, style="W") lagcol lmlag <- lm(CRIME ~ INC + HOVAL + fitted(lagcol), data=columbus) lmlag anova(lmbase, lmlag) lm.morantest(lmlag, nb2listw(col.gal.nb)) } \keyword{spatial} spdep/man/set.mcOption.Rd0000644000176200001440000000626712446120255015025 0ustar liggesusers\name{set.mcOption} \alias{set.ClusterOption} \alias{get.ClusterOption} \alias{set.mcOption} \alias{get.coresOption} \alias{set.coresOption} \alias{get.mcOption} %- Also NEED an `\alias' for EACH other topic documented here. \title{Options for parallel support} \description{ Provides support for the use of parallel computation in the parallel package. } \usage{ set.mcOption(value) get.mcOption() set.coresOption(value) get.coresOption() set.ClusterOption(cl) get.ClusterOption() } %- maybe also `usage' for other objects documented here. \arguments{ \item{value}{valid replacement value} \item{cl}{a cluster object created by \code{makeCluster} in \pkg{parallel}} } \details{ Options in the spdep package are held in an environment local to the package namespace and not exported. Option values are set and retrieved with pairs of access functions, get and set. The \code{mc} option is set by default to FALSE on Windows systems, as they cannot fork the R session; by default it is TRUE on other systems, but may be set FALSE. If \code{mc} is FALSE, the \code{Cluster} option is used: if \code{mc} is FALSE and the \code{Cluster} option is NULL no parallel computing is done, or the \code{Cluster} option is passed a \dQuote{cluster} object created by the parallel or snow package for access without being passed as an argument. The \code{cores} option is set to NULL by default, and can be used to store the number of cores to use as an integer. If \code{cores} is NULL, facilities from the parallel package will not be used. } \value{ The option access functions return their current settings, the assignment functions usually return the previous value of the option. } \note{An extended example is shown in the documentation of \code{\link{aple.mc}}, including treatment of seeding of RNG for multicore/cluster.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \examples{ ls(envir=spdep:::.spdepOptions) library(parallel) nc <- detectCores(logical=FALSE) nc # set nc to 1L here if (nc > 1L) nc <- 1L #nc <- ifelse(nc > 2L, 2L, nc) coresOpt <- get.coresOption() coresOpt if (!is.na(nc)) { invisible(set.coresOption(nc)) print(exists("aple.mc")) if(.Platform$OS.type == "windows") { # forking not permitted on Windows - start cluster print(get.mcOption()) cl <- makeCluster(get.coresOption()) print(clusterEvalQ(cl, exists("aple.mc"))) set.ClusterOption(cl) clusterEvalQ(get.ClusterOption(), library(spdep)) print(clusterEvalQ(cl, exists("aple.mc"))) clusterEvalQ(get.ClusterOption(), detach(package:spdep)) set.ClusterOption(NULL) print(clusterEvalQ(cl, exists("aple.mc"))) stopCluster(cl) } else { mcOpt <- get.mcOption() print(mcOpt) print(mclapply(1:get.coresOption(), function(i) exists("aple.mc"), mc.cores=get.coresOption())) invisible(set.mcOption(FALSE)) cl <- makeCluster(nc) print(clusterEvalQ(cl, exists("aple.mc"))) set.ClusterOption(cl) clusterEvalQ(get.ClusterOption(), library(spdep)) print(clusterEvalQ(cl, exists("aple.mc"))) clusterEvalQ(get.ClusterOption(), detach(package:spdep)) set.ClusterOption(NULL) print(clusterEvalQ(cl, exists("aple.mc"))) stopCluster(cl) invisible(set.mcOption(mcOpt)) } invisible(set.coresOption(coresOpt)) } } \keyword{ spatial } spdep/man/nblag.Rd0000644000176200001440000000331612443374756013534 0ustar liggesusers% Copyright 2001 by Roger S. Bivand \name{nblag} \alias{nblag} \alias{nblag_cumul} \title{Higher order neighbours lists} \description{ The function creates higher order neighbour lists, where higher order neighbours are only \code{lags} links from each other on the graph described by the input neighbours list. It will refuse to lag neighbours lists with the attribute self.included set to TRUE. \code{nblag_cumul} cumulates neighbour lists to a single neighbour list (\dQuote{nb} object). } \usage{ nblag(neighbours, maxlag) nblag_cumul(nblags) } \arguments{ \item{neighbours}{input neighbours list of class \code{nb}} \item{maxlag}{the maximum lag to be constructed} \item{nblags}{a list of neighbour lists as output by \code{nblag}} } \value{ returns a list of lagged neighbours lists each with class \code{nb} } \author{Roger Bivand \email{Roger.Bivand@nhh.no} and Giovanni Millo} \seealso{\code{\link{summary.nb}}} \examples{ example(columbus) coords <- coordinates(columbus) summary(col.gal.nb, coords) plot(columbus, border="grey") plot(col.gal.nb, coords, add=TRUE) title(main="GAL order 1 (black) and 2 (red) links") col.lags <- nblag(col.gal.nb, 2) lapply(col.lags, print) summary(col.lags[[2]], coords) plot(col.lags[[2]], coords, add=TRUE, col="red", lty=2) cuml <- nblag_cumul(col.lags) cuml if (require(igraph)) { W <- as(nb2listw(col.gal.nb), "CsparseMatrix") G <- graph.adjacency(W, mode="directed", weight="W") D <- diameter(G) nbs <- nblag(col.gal.nb, maxlag=D) n <- length(col.gal.nb) lmat <- lapply(nbs, nb2mat, style="B", zero.policy=TRUE) mat <- matrix(0, n, n) for (i in seq(along=lmat)) mat = mat + i*lmat[[i]] G2 <- shortest.paths(G) print(all.equal(G2, mat, check.attributes=FALSE)) } } \keyword{spatial} spdep/man/NY_data.Rd0000644000176200001440000000440412464357214013760 0ustar liggesusers\name{NY_data} \alias{NY_data} \alias{nydata} \alias{listw_NY} \docType{data} \title{New York leukemia data} \description{ New York leukemia data taken from the data sets supporting Waller and Gotway 2004 (the data should be loaded by running \code{example(NY_data)} to demonstrate spatial data import techniques). } \usage{data(NY_data)} \format{ A data frame with 281 observations on the following 12 variables, and the binary coded spatial weights used in the source. \describe{ \item{\code{AREANAME}}{name of census tract} \item{\code{AREAKEY}}{unique FIPS code for each tract} \item{\code{X}}{x-coordinate of tract centroid (in km)} \item{\code{Y}}{y-coordinate of tract centroid (in km)} \item{\code{POP8}}{population size (1980 U.S. Census)} \item{\code{TRACTCAS}}{number of cases 1978-1982} \item{\code{PROPCAS}}{proportion of cases per tract} \item{\code{PCTOWNHOME}}{percentage of people in each tract owning their own home} \item{\code{PCTAGE65P}}{percentage of people in each tract aged 65 or more} \item{\code{Z}}{ransformed propoprtions} \item{\code{AVGIDIST}}{average distance between centroid and TCE sites} \item{\code{PEXPOSURE}}{"exposure potential": inverse distance between each census tract centroid and the nearest TCE site, IDIST, transformed via log(100*IDIST)} } } \details{ The examples section shows how the DBF files from the book website for Chapter 9 were converted into the \code{nydata} data frame and the \code{listw_NY} spatial weights list. } \source{ \url{http://web1.sph.emory.edu/users/lwaller/ch9index.htm} } \references{ Waller, L. and C. Gotway (2004) \emph{Applied Spatial Statistics for Public Health Data}. New York: John Wiley and Sons. } \examples{ ## NY leukemia library(foreign) nydata <- read.dbf(system.file("etc/misc/nydata.dbf", package="spdep")[1]) coordinates(nydata) <- c("X", "Y") nyadjmat <- as.matrix(read.dbf(system.file("etc/misc/nyadjwts.dbf", package="spdep")[1])[-1]) ID <- as.character(names(read.dbf(system.file("etc/misc/nyadjwts.dbf", package="spdep")[1]))[-1]) identical(substring(ID, 2, 10), substring(as.character(nydata$AREAKEY), 2, 10)) nyadjlw <- mat2listw(nyadjmat, as.character(nydata$AREAKEY)) listw_NY <- nb2listw(nyadjlw$neighbours, style="B") } \keyword{datasets} spdep/man/tri2nb.Rd0000644000176200001440000000406512703236140013632 0ustar liggesusers% Copyright 2001 by Roger S. Bivand \name{tri2nb} \alias{tri2nb} \title{Neighbours list from tri object} \description{ The function uses the \code{deldir} package to convert a matrix of two-dimensional coordinates into a neighbours list of class \code{nb} with a list of integer vectors containing neighbour region number ids. } \usage{ tri2nb(coords, row.names = NULL) } \arguments{ \item{coords}{matrix of point coordinates with two columns} \item{row.names}{character vector of region ids to be added to the neighbours list as attribute \code{region.id}, default \code{seq(1, nrow(x))}} } \details{ If coordinates are duplicated, this function cannot be used. If the coordinates are from a grid, then they need to be ordered such that the first three are not collinear, so that the first triangle can be constructed. This can be achieved by randomising the order of the coordinates (possibly several times), and then re-ordering the order of the data to match the new order of the neighbour list - if this fix is used, remember to re-order the row.names argument as well as the coordinates! Please also note that triangulation of grid points will give arbitrary diagonal neighbours, which may not be a sensible outcome, and \code{dnearneigh()} may serve better where \code{tri2nb()} cannot be used. } \value{ The function returns an object of class \code{nb} with a list of integer vectors containing neighbour region number ids. } \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{knn2nb}}, \code{\link{dnearneigh}}, \code{\link{cell2nb}}} \examples{ example(columbus) coords <- coordinates(columbus) ind <- sapply(slot(columbus, "polygons"), function(x) slot(x, "ID")) col.tri.nb <- tri2nb(coords, row.names=ind) W <- as(nb2listw(col.tri.nb, style="B"), "CsparseMatrix") plot(columbus, border="grey") plot(col.tri.nb, coords, add=TRUE) title(main="Raw triangulation links") x <- seq(0,1,0.1) y <- seq(0,2,0.2) xy <- expand.grid(x, y) try(xy.nb <- tri2nb(xy)) seed <- 1234 xid <- sample(1:nrow(xy)) xy.nb <- tri2nb(xy[xid,]) plot(xy.nb, xy[xid,]) } \keyword{spatial} spdep/man/nb2mat.Rd0000644000176200001440000000435311716033161013616 0ustar liggesusers% Copyright 2001 by Roger S. Bivand \name{nb2mat} \alias{nb2mat} \alias{listw2mat} \title{Spatial weights matrices for neighbours lists} \description{ The function generates a weights matrix for a neighbours list with spatial weights for the chosen coding scheme. } \usage{ nb2mat(neighbours, glist=NULL, style="W", zero.policy=NULL) listw2mat(listw) } \arguments{ \item{neighbours}{an object of class \code{nb}} \item{glist}{list of general weights corresponding to neighbours} \item{style}{\code{style} can take values W, B, C, and S} \item{zero.policy}{default NULL, use global option value; if FALSE stop with error for any empty neighbour sets, if TRUE permit the weights list to be formed with zero-length weights vectors} \item{listw}{a \code{listw} object from for example \code{nb2listw}} } \details{ Starting from a binary neighbours list, in which regions are either listed as neighbours or are absent (thus not in the set of neighbours for some definition), the function creates an n by n weights matrix with values given by the coding scheme style chosen. B is the basic binary coding, W is row standardised, C is globally standardised, while S is the variance-stabilizing coding scheme proposed by Tiefelsdorf et al. 1999, p. 167-168. The function leaves matrix rows as zero for any regions with zero neighbours fore zero.policy TRUE. These will in turn generate lag values of zero, equivalent to the sum of products of the zero row \code{t(rep(0, length=length(neighbours))) \%*\% x}, for arbitraty numerical vector \code{x} of length \code{length(neighbours)}. The spatially lagged value of x for the zero-neighbour region will then be zero, which may (or may not) be a sensible choice. } \value{ An n by n matrix, where n=length(neighbours) } \references{Tiefelsdorf, M., Griffith, D. A., Boots, B. 1999 A variance-stabilizing coding scheme for spatial link matrices, Environment and Planning A, 31, pp. 165-180.} \author{Roger Bivand \email{Roger.Bivand@nhh.no}} \seealso{\code{\link{nb2listw}}} \examples{ example(columbus) coords <- coordinates(columbus) col005 <- dnearneigh(coords, 0, 0.5, attr(col.gal.nb, "region.id")) summary(col005) col005.w.mat <- nb2mat(col005, zero.policy=TRUE) table(round(apply(col005.w.mat, 1, sum))) } \keyword{spatial}