From 0aef9b592dc64a474a311f82ad41888538ef7785 Mon Sep 17 00:00:00 2001
From: mtmorgan
+Crime2013 <- j_query(json, "x.calls[9].args")
JSON array indexing is 0-based, in contrast to 1-based R @@ -292,13 +368,13 @@
In developing the JSON query, I spent quite a bit of time viewing
results using listviewer::jsonedit()
, e.g.,
+listviewer::jsonedit(j_query(Crime2013, "[0][*]"))
The objects of interest are polygon coordinates nested deeply in the JSON, at the location implied by JMESPath. One polygon is at
-+query <- "x.calls[9].args[0][0][0][0]" j_pivot(json, query, as = "tibble") ## # A tibble: 27 × 2 @@ -319,7 +395,7 @@
Deeply nested objectsThere are 3618 of these polygons, and they are extracted by using a wild-card
*
in place of an index0
at a particular place in the path. -+query <- "x.calls[9].args[0][*][0][0]" j_pivot(json, query, as = "tibble") ## # A tibble: 3,618 × 2 @@ -361,7 +437,7 @@
JSONPath wildcards@margusl to extract JSON from the web page. -
+library(rvest) html <- read_html("https://www.gerit.org/en/institutiondetail/10282") @@ -374,13 +450,13 @@
JSONPath wildcardssub(pattern = "window.__PRELOADED_STATE__ = ", replacement = "", fixed = TRUE)
I then used listviewer to explore the JSON interactively, to get a feel for the structure.
-+listviewer::jsonedit(json)
Obtain the root of the institutional hierarchy with a simple path traversal, using JSONPath syntax. JSONPath provides ‘wild-card’ syntax, which is convenient when querying hierarchical data representations.
-+ @@ -392,7 +468,7 @@JSONPath wildcards
+-## these are all nodes, including the query node; each node has an ## 'id' and german ('de') and english ('en') name. nodes <- tibble( @@ -404,27 +480,27 @@
JSONPath wildcards= j_query(tree, "$..name.de", as = "R"), en = j_query(tree, "$..name.en", as = "R") )
There are 492 nodes in this institution.
-+There are 497 nodes in this institution.
++#> 5 555936524 "Chair of Business Analytics" Chai… +#> 6 537375237 "ECONtribute: Markets & Public Policy" ECON… +#> 7 439201502 "Fachbereich Volkswirtschaftslehre" Econ… +#> 8 202057753 "Center for Macroeconomic Research (CMR)" Cent… +#> 9 228480345 "Seminar für Energiewissenschaft" Chai… +#> 10 237641982 "Seminar für Experimentelle Wirtschafts- und Verhaltensforsc… Semi… +#> # ℹ 487 more rowsnodes -#> # A tibble: 492 × 3 +#> # A tibble: 497 × 3 #> id de en #> <chr> <chr> <chr> #> 1 10282 "Universität zu Köln" Univ… #> 2 14036 "Fakultät 1: Wirtschafts- und Sozialwissenschaftliche Fakult… Facu… #> 3 176896857 "Cologne Graduate School in Management, \rEconomics and Soci… Colo… #> 4 555102855 "Cologne Institute for Information Systems (CIIS)" Colo… -#> 5 537375237 "ECONtribute: Markets & Public Policy" ECON… -#> 6 439201502 "Fachbereich Volkswirtschaftslehre" Econ… -#> 7 202057753 "Center for Macroeconomic Research (CMR)" Cent… -#> 8 228480345 "Seminar für Energiewissenschaft" Chai… -#> 9 237641982 "Seminar für Experimentelle Wirtschafts- und Verhaltensforsc… Semi… -#> 10 352878120 "Seminar für Industrieökonomik und angewandte Mikroökonometr… Indu… -#> # ℹ 482 more rows
The edges are a little tricky to reconstruct from the nested structure in the JSON. Start with the id and number of children of each node.
-+id <- j_query(tree, "$..id", as = "R") |> as.character() @@ -440,7 +516,7 @@
JSONPath wildcards
+edgelist <- function(id, n) { stopifnot(identical(length(id), length(n))) parent_id <- n_children <- integer() @@ -470,61 +546,61 @@
JSONPath wildcards}
The matrix of edges, with columns
-from
andto
, is then++#> 4 555102855 555936524 +#> 5 14036 537375237 +#> 6 14036 439201502 +#> 7 439201502 202057753 +#> 8 439201502 228480345 +#> 9 439201502 237641982 +#> 10 439201502 352878120 +#> # ℹ 486 more rowsedges <- edgelist(id, children_per_node) edges -#> # A tibble: 491 × 2 +#> # A tibble: 496 × 2 #> from to #> <chr> <chr> #> 1 10282 14036 #> 2 14036 176896857 #> 3 14036 555102855 -#> 4 14036 537375237 -#> 5 14036 439201502 -#> 6 439201502 202057753 -#> 7 439201502 228480345 -#> 8 439201502 237641982 -#> 9 439201502 352878120 -#> 10 439201502 417277679 -#> # ℹ 481 more rows
The computation is tricky, but not too inefficient. There are only two queries of the JSON object (for
id
andchildren_per_node
) and theR
iteration over elements ofid
is not too extensive.I used the tidygraph package to represent the graph from the nodes and edges.
-++#> # ℹ 493 more rowstg <- tidygraph::tbl_graph(nodes = nodes, edges = edges, node_key = "id") tg -#> # A tbl_graph: 492 nodes and 491 edges +#> # A tbl_graph: 497 nodes and 496 edges #> # #> # A rooted tree #> # -#> # Node Data: 492 × 3 (active) +#> # Node Data: 497 × 3 (active) #> id de en #> <chr> <chr> <chr> #> 1 10282 "Universität zu Köln" Univ… #> 2 14036 "Fakultät 1: Wirtschafts- und Sozialwissenschaftliche Fakult… Facu… #> 3 176896857 "Cologne Graduate School in Management, \rEconomics and Soci… Colo… #> 4 555102855 "Cologne Institute for Information Systems (CIIS)" Colo… -#> 5 537375237 "ECONtribute: Markets & Public Policy" ECON… -#> 6 439201502 "Fachbereich Volkswirtschaftslehre" Econ… -#> 7 202057753 "Center for Macroeconomic Research (CMR)" Cent… -#> 8 228480345 "Seminar für Energiewissenschaft" Chai… -#> 9 237641982 "Seminar für Experimentelle Wirtschafts- und Verhaltensforsc… Semi… -#> 10 352878120 "Seminar für Industrieökonomik und angewandte Mikroökonometr… Indu… -#> # ℹ 482 more rows +#> 5 555936524 "Chair of Business Analytics" Chai… +#> 6 537375237 "ECONtribute: Markets & Public Policy" ECON… +#> 7 439201502 "Fachbereich Volkswirtschaftslehre" Econ… +#> 8 202057753 "Center for Macroeconomic Research (CMR)" Cent… +#> 9 228480345 "Seminar für Energiewissenschaft" Chai… +#> 10 237641982 "Seminar für Experimentelle Wirtschafts- und Verhaltensforsc… Semi… +#> # ℹ 487 more rows #> # -#> # Edge Data: 491 × 2 +#> # Edge Data: 496 × 2 #> from to #> <int> <int> #> 1 1 2 #> 2 2 3 #> 3 2 4 -#> # ℹ 488 more rows
I then used
-convert()
to find the graph with the shortest path between two nodes, and extracted the tibble of nodes.+tg |> ## find the shortest path between two nodes... tidygraph::convert( @@ -546,10 +622,10 @@
JSONPath wildcardsggraph -
+- +ggraph::ggraph(tg, "tree", circular = TRUE) + ggraph::geom_edge_elbow()
@@ -562,7 +638,7 @@Moving elementsThe example is not completely reproducible, but the challenge is that the igraph package produces JSON like -
+data <- ' { "nodes": [ @@ -587,17 +663,17 @@
Moving elementsJSON patch documentation, the patch is a single ‘move’ operation from
/attributes/directed
to the top-level/
: -+patch <- '[ {"op": "move", "from": "/attributes/directed", "path": "/directed"} ]'
The patch is accomplished with
-+patched_data <- j_patch_apply(data, patch)
This JSON string could be visualized with
-listviwer::jsonedit(patched_data)
, orpatched_data |> as_r() |> str()
, or+patched_data |> jsonlite::prettify() #> { @@ -626,7 +702,7 @@
Moving elements
Session information
-++#> [45] desc_1.4.3 pkgdown_2.1.0 pillar_1.9.0 bslib_0.8.0 +#> [49] gtable_0.3.5 data.table_1.16.0 glue_1.7.0 Rcpp_1.0.13 +#> [53] ggforce_0.4.2 systemfonts_1.1.0 highr_0.11 xfun_0.47 +#> [57] tibble_3.2.1 tidyselect_1.2.1 knitr_1.48 farver_2.1.2 +#> [61] htmltools_0.5.8.1 igraph_2.0.3 labeling_0.4.3 rmarkdown_2.28 +#> [65] compiler_4.4.1sessionInfo() #> R version 4.4.1 (2024-06-14) #> Platform: x86_64-pc-linux-gnu @@ -649,25 +725,26 @@
Session information#> [1] stats graphics grDevices utils datasets methods base #> #> other attached packages: -#> [1] rvest_1.0.4 dplyr_1.1.4 rjsoncons_1.3.1.9000 +#> [1] rvest_1.0.4 dplyr_1.1.4 rjsoncons_1.3.1.9001 #> #> loaded via a namespace (and not attached): #> [1] viridis_0.6.5 sass_0.4.9 utf8_1.2.4 generics_0.1.3 -#> [5] tidyr_1.3.1 xml2_1.3.6 digest_0.6.36 magrittr_2.0.3 +#> [5] tidyr_1.3.1 xml2_1.3.6 digest_0.6.37 magrittr_2.0.3 #> [9] evaluate_0.24.0 grid_4.4.1 fastmap_1.2.0 jsonlite_1.8.8 -#> [13] ggrepel_0.9.5 gridExtra_2.3 httr_1.4.7 purrr_1.0.2 +#> [13] ggrepel_0.9.6 gridExtra_2.3 httr_1.4.7 purrr_1.0.2 #> [17] fansi_1.0.6 viridisLite_0.4.2 scales_1.3.0 tweenr_2.0.3 #> [21] textshaping_0.4.0 jquerylib_0.1.4 cli_3.6.3 graphlayouts_1.1.1 -#> [25] rlang_1.1.4 polyclip_1.10-6 tidygraph_1.3.1 munsell_0.5.1 -#> [29] withr_3.0.0 cachem_1.1.0 yaml_2.3.9 tools_4.4.1 -#> [33] memoise_2.0.1 colorspace_2.1-0 ggplot2_3.5.1 curl_5.2.1 +#> [25] rlang_1.1.4 polyclip_1.10-7 tidygraph_1.3.1 munsell_0.5.1 +#> [29] withr_3.0.1 cachem_1.1.0 yaml_2.3.10 tools_4.4.1 +#> [33] memoise_2.0.1 colorspace_2.1-1 ggplot2_3.5.1 curl_5.2.2 #> [37] vctrs_0.6.5 R6_2.5.1 lifecycle_1.0.4 fs_1.6.4 #> [41] MASS_7.3-60.2 ragg_1.3.2 ggraph_2.2.1 pkgconfig_2.0.3 -#> [45] desc_1.4.3 pkgdown_2.1.0 pillar_1.9.0 bslib_0.7.0 -#> [49] gtable_0.3.5 glue_1.7.0 Rcpp_1.0.12 ggforce_0.4.2 -#> [53] systemfonts_1.1.0 highr_0.11 xfun_0.45 tibble_3.2.1 -#> [57] tidyselect_1.2.1 knitr_1.48 farver_2.1.2 htmltools_0.5.8.1 -#> [61] igraph_2.0.3 labeling_0.4.3 rmarkdown_2.27 compiler_4.4.1
diff --git a/articles/c_examples_files/figure-html/unnamed-chunk-31-1.png b/articles/c_examples_files/figure-html/unnamed-chunk-31-1.png new file mode 100644 index 0000000000000000000000000000000000000000..efdf76b4a5524192a82b9e5fd6042176d0a773b3 GIT binary patch literal 490573 zcmdqJcUaGF9|!tHA<|H2m}y99NJCO+5Gj yF=OY))y}Qz$zgkpHcE^kecWg|eHX zD0f`VDRkt!<7NNZg_X%cMXwe)|FsF~zUe+{hFJ#krJc8u*yLs2#F{oH?%125Xlbxj z-rU@e<^9tOo@^PL4epgz%`XRpFYqLU+CSl>ORCU!9(2>6bq?Q~ZU4R5HUI2Z-!f0H z|NWBK9`i)c >Ry-p#aZ zpDJFrE7^Xqmh;k!|5Pm}&%a8)pn2)icKV%C$>xb=23IC~%hY1kX!P~ h2Jij&P0}=D!I#-cb|N? zz31b-jTSA*#fjM;Zv5&U9^O!d-?MG|%H8#{{`3BM68|35S=sZ>o%g!AVuQ6|Y39rC zRbz&l64-fEUKtHkzvw7%ZBNX8xZ?<$zDl_C_rzd7R*?(24we)H0|U(hmmFQ&|D3WZ z166YT`e``!?wy~k*fsh}#(qG_tU2+ljg3&3`%1p9@Xnn()e^L~c)WYJZ=g2JT;q~I zn`q?=5gtme JilIZ9sCiTMoVF#~f6kL09XY3!d_7~|a~ nU*?+7S>y=u{zGb60#@~ zH-GQLvZU}S|DP{^>EFwr8Ewljzy9; hX^0G zABa|sQ9ib)V7gbqFZox7&o;r@ie2usMKiyeM-$^Mzkd)F5D+-#a^f%t$46toDx(Wq z{?nH#&nS?7WxJ0@Ikfw^zFP{};n!Me##GeQj9a&sr(bIr@%i=bJ=6Tuk2T$MlYI_6 zC$JdG<$kQIGz;C1uA|?X&X=f>q*vao`c^50k8ugz<$RLf(cJ|xV|mWgBR3Pu{n`8a znOC}2rha^Op6I?!_Cs)UT5EOn3y~S?U~KgIf8FkmP)N<(!h&jwfxPt6Z`I}H1?v!D z?jY}^!sRxWM{J@#(}Q*Ge)hJuS0=iP%bn&XdOAMb_-uTsDPHSmXZ|fuiCd(^m<9E= zdyv1GzpAY-B%$Wj(e}jBiC;;D%4I%VR%JU+bN^~eNc)u`C#T2R5Tg>KU+AV5uNffw zfbPw2JF@H-{ lRH+}!tdvaBWxSC;5~%M3&kPu$z^EkS3S$Iy`J- V zCU#?u6Ri~$>*(p}DR{W6&1|cp#s!OTNJe}nCnpsj-_4AP)spL%zbqCqKay7G*F=jK ztf;FKyr;p1hX_plcLX2wjE&XeHT`T?mX~s_{|v0j4n1st@NyBwa1qahrm-W$c07M} z=K<|>%5L<6<9F7!X4HyVwmm-LXhoshE>VPMu_%`~e3 ir a^sIVKvXYW9R|4_V#Crw|Jv$^H~0~G6n}1Eq~M~d*7-xYg-z3WueFQ*M;x$NKO_~kJr2+!hJDT?e|c9 z2}^tXY}VD!&!QEB)_OeU)36(D6Acl*w_(dcF^626p4CSjMsT`Oq@Jx7Z%;njsbGG8 z?IyN!_$bVJPw_~VzQ=K#12jC2TGDR!&dtqDDW)ss(H(Vuw994Uc72+dfWSjMNBh(G z(J!ypSm)1drBpoHWwN|DFJ^e*&1v~Uw -brQ| z1y9beU(jLfhljoS?PX8>**F}L-e12$KE`dv^E#)H73@7$8!n^r=JeBv+1V^}H_QTF ztyE41{U2@V*Hi`c3qqfqQBp^byy>aFY0Wyi{@yZQvA)H{#dq2n`x#bpXjz1cNW(W6 z`tq9Q=G^@U58D0W)ZPb9n%K-wT{W(IWhug~`{DZav5r=jmFN3ASw)Onwlw59+xMAg zTw@5>RzokdShT#faC@$a_R&g+An8k!r0#7Q0s;cmlJvsRMMW%Hga&FtOhmZPzC5%z z*Y~L0Sbv+KUbOS{Ku7*9@%PU|ESAs2tqrQe#_l~8B6ffhr=DPdMl7cPxuoQddV=<< z$$YEAr9V2P h{CrH%MnR_Df0<#LH6mwyQ{;_R&<0 zRpX5+oT!gFIojr=EXR2me<_f0uL4USj@WzAJ6>KbKbjJBl!Aqd6U|)$p5LC1Kx5)6 z^B(`6` %bM@WksnI4kFz>r8Dqz``u9kS|#gEU=nRe``!RAXi zjId;wH;cud-|?c#DAJ-e6&3Or1JLHrh?d=8?b!eh`S|jywV|x&VgOTXiway9OdDgj zyua`!l}#hh$#(UcH7K?o9F!;fFZzggxipw5y^?a4u<53l)Q0YnlzfRlQcb*cI8Hb* zF|i}Z{z3k&+0~N?hq0aUq;pPA^vL!dl|Ok>HO=^J92t(7#i{m#%Ddg{vr(Wr{)~)@ zX7szHqvd_KUdpyv<)PruhP8S0uRG)oCF&Q}Vut_h$Pp=A{>z6qeT}sYR(ktH@1@sS zz>tNy6mH*q|Lx&l(K&;9(>XYj(zCNAq!&g+a9TE$T32Q`O&Ulq&l!fK?Afyilkhnf zfI^T=!OHT&^8o{ssz9#m ft!=F z^xc=U)iojFyceR^*VosRmW{C&z^5S)C;VJc|E+0#WNBGhz+ro1z(IwVhpxq!dwFrb z@n+&VXjI8Su^XtaO4QA*4CFeqA?Y-RuG%(%OP4=A;jIprS<%0xhb_HFFFm*Wo;tTd zAzJpROhqgpW9e-SU>6q`3A_IFn9}7IVrdSe+Iji;mfVwM-*2y`_N&P{AuC(;c+VQN zx~i1loU_Xd<4kO9r=6T6aLhv`Y(3GZHP2o?a^#3=w#}8O*%5rmcUoz0Yf8=QBjvSn z?6}0OJNp4C`aeDOH7N7Z@~;B$B&e*^o2j(C+(0bk{khkkjlq~H_LvHEJEgqJ4EBhL zHJP3aVA0Ufz|fO3HQfi8AAL5YX<(BFE$cy>p)Y$rmXrW>tpYSJEh#B6L$kSX*tVA{ zO!CG@3$ZnmN9zE6m;O^9Ucd)sI3GieaoZMV#|N<~ -vX0`}%@NH$@{0*n83xL+I+KCs(lI3I@%stuOFAX{b_weczZElMP8~oX-EI))Q`( zSAOB)yP_2QQ(vrC+K=PNubJ#I+j)!LtIHz+E#y+3Q@ydpa{*n`=EN}J<=+h|s)w#D zN&Ud?VcFRGtPAGv{{yV-5;hT&5=!70XP)t=u&QR5U6h{hXWG3yz3YfWd`+-pm+Nyp z#u^4DCPNL<4oq8;Uo(mTZ-fYA)1qDGrzn7>$p&Q`LWHHIr4@cmp}0r>cF4)S%JT4_ zpb*xVu7pTmANs *zQ-P}VfDJLpCUvi U{2J zOt_7`eHz;=I+1pUS(#wr;%bkO5O#KPD^C3a7sdR3PLmW()7Dfj{1>VSJUqWnX7xaL zed^WELv0y+3@gqfo%!tpgDhLO-p|SsC*`Uf_7YDwiAvG&KkU9Ng;~eJ&Aryd#00F* zvOHAshR?yPpDw3po(h*f`ug>2v0LY@+S0u-aMnx^!s oPc3Og2ML9O!ng6pr zE2(jwgQKniNB^B>O62)`pr;cdme;`le&7LH@|;DOxRr#&cDr!`6{cIZqrH82y!Yh8 z80oB53u8 ^CKJDZ5Y-e69rk?W#t~1Y+l6@VI9i!j}_W-iUHwB59 zC_fX_SH{Axl5n2lJR2hR17|_K50I)1K-;foEjZ`3uhBFZnTiDi(Z)cGBF26|j0=B8 zt3$-=j4$0;yU9;41Ak5skeH#Al$0q*8$(xTPkp(0Q-4iJvzKs4jo xN{f$zJA#oUH*Gb?B=9FnzyO5ck<99eDn- z7d6J}NqT32DNTVOJo^)|d-|?3Td=S$3!_;oVIBSt9~$GMkQw!7w4J?5*US11cdw}$ zfpfbsN%s`@9ofV#X4G5it&sGs-(jRh7|gT`q?GdR-0Rh-`iio$GP4eh&dHe>QSBp7 z__YG@FL;EPoci_`Zsl=^W9>#da)Q7Rwfzsf{yh}#GUXj`nUvSQi?L4{!3x)(ezNb1 z%b(-Nk1O1|TY4$i!5_#5qj*y(&+A Y|(m PD3Rnld10Wt?~Q{d}xUq!^|lu zDd4)h4q3E(8D6lnw=b~}W7@u*wy5~dx@+~3_ZnpypcnM?_I?ERxjiRm0b-KiHU?%h z2=qVFnzqgZd@JPU%&?ZL4Bn%^yZ8>++ Z8~PF?8X5}-mN=z!e_Z8$*jVdnh^ril|mi)kw6 zYa|!=$vx-Vq?h&~FR#Uum|O-Q@6srIw81W=gFhFSov;I?V8*5#3=9CWj0C9{6Zf2+ zn7E8OR+yOtG-4GtkPA!_e}B}hapIlEC<>csK$hh*BdrZX-nV*7X;!aZZBd?X-PP$u zvvFfu9G4tEf&Xy2Kf8Ea %qqbbXvnnA$IglIBiAx$9f&ihX3CgVKbYF2bt`06ngSgh2H?PX04`J<8 zd!{9U_4WhRJ=nwYlnq< 6TfZK!^s2KW4(f?~eYat`-abE@`oUYU4-&*_X zDB))B&POTuq#t$~40Egu5f}W`oV0HDp+n5RWhYSV@#Q#u^p1{>ViqlwQfuzPu`y+U z)j*dTMPA4V*}1uCR^KHlZVRL0!_7(7Gbvqa?=PHBzI>cuK7wN3=@%9>o~;QD3v=%C z7uQTNpr)*&+a3X?ll|cXH(THEun%;>iibNWq@Xd)bP|MW!;XmOI*j&0;{ylShIdEF zKbu>3Y%zQ^s)-iJCc?1dp}L@6L$snSU=rADnT1#%RE7t;+)QUg<>Z#*(7jV}G zmSE;5EVuLGcs+{KNIGcMAwfhU9I?QNb8qFmH>1toA1_#-1AdQFsaR5lU|G00wK3d% z`7juNcYjq-c?v#NeZ=uK*l03}FrnX;$mHx3e1t=M5jd}()!E7E9MBmK&4X5p0X#XF z;2i)U_NR}l-rMwiG^!4+H)UnmzTGb*B&3G(`?_5&9+(y=6w2b?UrErOLbEz=@>Mm5 zK0yPAocFFiwg-S)Oh+_tejtP#vA&8&hGHS4 e68;^N|vRW7GHIAK#PxW`cc zpCDLJvh99s0DDQ1)R*foT)%N+6vUbG`wuZIfB^UYQ*{(av7WTMq(iN~e_-6cJ+%9M zI(Dabd|aigz||RJAbkHk8(I*M^3c~e8zE QZCfGN>x*S$R(qJVDhcQ#gDkFzeY zyOG-*!?p^C>RM~+8{5HFkh+M7h?vg$8E00>>-%uv%bkY5z5kY^-(}_pff2wSO>WiX zwiEcLAJD^8zGiS|U}G<2T4-5y=Ft=l)kj%!A4t;8RRAsVhS=Hb*pSiqNQ|GK*4o;- zx3~Ay)BRgeUmQ3J>V~94Yv{XDA4@SPYe~Nr)VNU#rT=vQ#W}q8?K$;Lm{;k4*>o~3 zUV|4NTdezmXSFO)09hd|mI5u#Vb077l$&fpg0^U1S1LZ_LEGNaf6$oo4HJ*DkZrFV z#=O;U-3N0`W>A8o0hd;Oz7*NN-v@2rpkX;JwkWV$6K(G&BvTB;rh%}jkGGzkZTfZx z^>x@eT}un>|Mr}bK9minj>F2z5QAet*2*!>$1FPYTFt=KKZ5;!eRF1w4Meq z=%4NV6tH(4;K`x#F1LjPgLUC3oujuL3g!pc|D(S_PKhJ>b-LAeHm`BMc_$YG?Mw^B z&OGPabI;fwwV8948y&2V(-1V2!pDgEdqB9evomkH_6S)F>%t}DY0;OW=Ei bfA@I{{*$1W#Z#Mzu8e&@%?8Kp49kOhD(%pR-TQKvj z>ifoR0zx+3$3Pc8p;DMQ9Z|-Wkh3J5CUzga`TLxmhTcsg_e!1QI{oA_UI?1fDu$gq zm9ZfHrz`t^n+Byo0;EjRR6sjy>8So(R(7wb=-A#pb7-Fp@meBdzzzN8%BN?B8%yfy z=)J7>eoHe^3GuGqdO*AT#}De#to YBz9(GjGLRqmUmy9J%f572U= z{^TxUVEVDneDm#ms&8qrPDW^$hpv6?e=mNO$yV*(qL`o*uHu9BSHEELDonc+rLbuk za*C0@Z(5oNc$KJ_R<8SsG}bCD=NTYLs!`QuAnUb7c&=+8H=zDXQ=&XiPtuIzPglds zQHJP{K(qs42vlg`x91!-0P3k5;>Q#~yZk1LZm+R)v%v^f)&%AuPh+BzDKb{_Sc zyi3EB+-UnACr07MJj67MG|$5tiI<4^ cDqTvt;?y-Z985{SKNOS^_|Vo|ZW& zVP K7 zw!WU8 NVbK*I{!^yAN7!O_RYohLvy(vd*x{Ih9qaKzUq +8Km!b57BLGJJWeqP!^FhI6TPn+ zx$shpp!MJc|HNvxL#CJ0+79v>eSYQ-YA}g;zs6>unib8;$i6QbzX>@_TsD+~&;))J z7Hxj^H1s*ZGS+Q(P)G)7Tk3}B>dzyl9N}GwiNA`w@MZ&=Fhx#5;UN5ikYB@Hg@wX9 z#jUnuozvKe2y540xvGeC=d?n*0+;!T$;nl{?E?I|AHMx-X5_v7i0ZMZ0YrZNS5wWY zu}stY6IHs5jO!d`$8-U8_UYwGfSM>j?r;S-48}@fo5&)lJnhK8IkUgy{-!9LS?I*O zkK4^AWOW+Ah`4+I{?}YbYc5Cmol$UcrGlU#vONt0MtcKt6Mre^;605QgQ{0YkKlZY z?PT?N`0y>rf|z*u=?zd6iQfySi`oMd>r3j@Ga>AzH^w>+7jx@^=wAiIQ2fvo{e;Y~ zmE~K8i{Bl)mg0K5!(-JGNLRl-=i^xsl%hg>6)C6W^Q= 6cCa)~dd!7{KkAZT zW@M~jWM!=aV&117&qBs2dYbUVEvUcNG!w`{i7}nsBLIxQhZ{GlsHku&1s_vWdtw_8 zS`Ewc!S`H83>5ZDy1L=NZf$mEeJ6j%ODgT?tv_FIARx$FxFp^9)kM2PQf*~kdH|>O zkacG$erV04tA_hr&pLwVN6cFb-DU7u_ex5#QDB4NG|R`r&hiJz#|VE3*0Flha-G}q zyh$f;xslfN^q)HQO(?vp@G;eOL@#}~?hRFh<;aYHcDfhQeqF 3=ijZ~LGIP##_de>%Y^1Hy&C|9_JJ|wc=pGg() z=g)YT^(@F;#SR&_P`r2?QPS7sy38MxS)5n{Jh{}YYK&Tb3+Gqu-MLjkRYtRi4{Y5C z5OZ~^zp8wk<)n%cHpt>AsO-t3h1g# zP*#Gj*3`Aj=!h;tLc$JJnEB=A9)YIuRCsynv!Fkxv%%j#qvo8Z;y@~w4ZV0Kr=||J z?d!;M4yp>`(FqIRBYU6fVh%v6`e2CCTdKyE%-FlfLlV3z-M6u`pTS}D@3+F@JcWK@ zyBp6J E|X<3#V?8 !3{Wx p~dZo z?QAfzKYsk^e!R zrLAr(ad0rWr^TLmE}&pQ#1LkFO`(4buxX^LFdPlzE6hv0m){9;&Ir7Is}imZ4aLvj zZIrZ0G~6L@8PevpeOI9?K7iyK2;F(VMxqkT(N_z%Hrq1)$2x*O5x|KbQiLb(SGvdJ z!Gm=e{{vx;or=Xz^Cdvq=5QWqXlV}>G?Ut;WqCZ}{S~VuV)kvHq13gnoUm*RM2&I8 z4w-%PLb-FWw?*y z$qdpZp-&rP$I6WzRW^fHfB`^gLn$UZj_aW}1r04i)Sl>huxm3DlPpLn4Gqm6%zE!y zRJGJD*WZlLq(Srppq=XEM}UEg<0P++0R0!!IqOv!cR);RE6{%5wFmGmfvQ{nF+?eE zZ~;tKBv{A@p{n@$_Usv~BT*X0#>P}`bfRlcLZMEEVGg4>yjv6TCj?iH;MEVdm3!w6 z6M tkZsUChCQT|uyj zoB_i9F?fzj^Kf{x9dY2t(yi`YSz1p^d%Z kx6CVf8r(Drhw $$ywAZ3l5rLxu4>> LJC zJBZz-d3d$%RTxU`E5dg%r-#eS%2ME{U?{<}vhg&;#Eyh7h-KEjC(WTwrk0*5 Z*Yw#1@oJY54kGl7O{3qt{G4-GTM?#CxOt?yc}#J37uI(7Z}A;=R&H8sQv z;E^oE)+$^agMyOdFv{lU=H^}NKAO>-?Y1QOfNlo|N)INtFDMX?qzpC^jv^UpQ5%-e zhur0X^0Tq0r)N9x4f;&r{)_wJ$_2>{4x-)x-)v#ALbJa8{Q2|7nkFRIDsV1w81FuK z(177P)3`N&3P*s*;y{n9BJd-;sow9PPq*WFh_p-;Am6PA5SREU@eH;BCUqs2n^*O% z-***VVme&^dEtY@=qC~qa$nA~<%cIi)N-Jk2E19!a68}B{tMKILES~^y8$^Og<_^Q z6Mg3SLt(@6FUeO*2u9cgh$QX$mnDQ1;OZU_EY#SS7UtQQ*65ceII+iEF4!&ool$3U zM^V9`Z5e7soIwEG{Bp*+5nnT?36Q;aQeYyZn_Zd7562OQJb?bVrU<*X54<#Tdhg!7 zB;0uZ{CNua#}f$DoRTu2lGqA+Fb#^Bb*Dwf7MRsMD1+?`;k)T@{E-RtuGI(s!s%Qc zfxZJU%2}Vopzm4;-bi_?9A+kZ`~XMNtBUYpqFciO_;Mc^Mcxr~5(2hiJs<;>K~(|Q z@)R%u{=HUp=41YiUt4eAzO5849rpRTAdkc|xGK=# 9BzZ#CJ-c{V zi7{ZX8uJ%QX9^nK-bpmJqgeOTz*t@nA1e23d7B5pmw4P!X0wPuzQ*}S_JXIi>9K&W zB caG!Yas@7x<12P!*KDP{0Rf{A^#B|-}#g5 z#awUkwnjBCw|I~+(eO9kxanP%% 89t`((erIcD%cqdPDd4cpYS`q1LpR zz+8^1Q;3i$I>34%c?j%3TbB-Y5Qlb2gZ`byc_7gjqUKxSd{Rc*GJKJ1utDQA(vbxM z) 6~sTDv@Xq>dlW~gl!enQv&u_MYL!TKuE0IWc(0roFI!oD8Uekuf@zh0tH`y z5~Cbu0A#N|m}S}CH1y`5HvJ4gNBob#exfC81Nw_Qs7jc)D^Y07UgV zT_D`Pv{rC2&l(B2{>Cks@&u2tt3!{?Y~xUXj#&$G__M1}26){N!>2sRkb;b^FuX>R zr-V47^WDA27Rk66Fqr=$ed>K6JjRfbh;a$N##&h6b!zH7`r(DU5I?X6h6tuA(AOc< z2XJID%{ZxX9J>iNQ&9i12OEyZ<>VA&IC2U`>xr~q1>kF<<}aw17mQEDCD{y76*difAAp6{(JZe#HWX4F zyvo~iD;on%L+BY9Q#hogLZQ|5{P s<3AbuA*N2#XlsZ(Axu^nh6!mfX>_eI(w zxd_C?^Z90Y3^4dPBu#b~Tr4pOcQwwqC=2Lk3e%lIzp4q6Uz}nKrXG8~BRZM?tEb*X zFNL(Vn!tOaybmv)biJ_(AzOnC%ex?uqGsPH-B32gf-)avUDHfAWi(D}h2!a*v*WNG zq)~1bLn7rV>Je20%dWsR8fAV1A08fB9To*EzY}mWKzH!g+{7Lrh6oIKI3VGuL$(SO zxGZF$mRv_cV)_9XDh1ARa;TgnhtHP4P;_0$QO$Fm=&%Ut_Mo-$W~V;U_;CFiGNZ?z z@oQ1$upRGlj8dhy>f=O{2%ePL48qP|p@_#-DeLQZQRN#v*u-8AcPG##p{~6zfemR+ z^EB6D <_K@!nC4r*%29h#q)=P{>u4X`Ec z!=DProN%JRL|fuG`0FzW=;c)s^zuqaPEQX*24La)yCJjo%mi%_1h9gjKYfK?x?k;G z5e}EXxh#Zu?JTPr@Q+~08~b5fIE0O3sYyQv%OY+vAcetpdwcsRWcn8orgB+Xn(arg z=j{xH2V8q6aA^L$M*ftt+$&|o7yw-bu-gV;4hVoDJ6R07%GS{_1|XO>zm$0zY8{D5 zfR}&9!yr6wfT>4w^EG#dc&F1H@HR3V06K8y2Qdv02^X%f$R#m)>=p^=Q7~E};rlA+ z>z^c6FM$O3EUSaVR|;|d?l*x)5X wJ&@DHWE{@lH?`T@*S8PP2{I%6<~hg8 zBQO+XE+OyTLCrAk+-bG_3=%a^NR0uIzr|_P?c1F41DygVY8pw5RE!_0(GPfqlgI@J zAG}J`N}!LioI)N(?^%BLLZxS%W`4n;t{n3HKkT}TR!KUHRL)Ni`j3lV`+655!1B|A z2#Nn#or9?2V=mz>umz3Iy48itgu_tiU;&J8rYT=B5(~M8q$jbhd&RAFAWAou_V~Vo z-~m-&vj=J-8T%78^(Pzv{2j#p6h>{R0IZ^BYLSBv{rsXq^%dwlk=2T*QMP$$z5 zkaqP%?U8X}f)}Zbrc9RXL}%ak9Auib5pFfcI7osVd-?_3PJP2Krnv8=L_N{ff7Tm%llGY)io4 zuZ(6rL@>?jcY_FG!P1b8!~iySu_kwJ0Pm8MlbJ7Refks*$&i>I5^8u~%z-O_c~zPB z;eZK|L_W*~8~8pr!XqQqm^zcce^Yg%AH!{e#_q+b|7-e?UH_>*nRYyvmStmie}5?q zSO4f=06zZv2Y3*2@B1uRc&Hrdne?{4Y|MdjLkA4z)DOI`tBg)R_Sl64e`7%raIa|R zAi!Ee<|)W{QT0(0+}!2wm=QiIfy@6WFc&s}hMh(~7tsaKY2QQTL2?v08WFc|PxPAj z_@Hs%xSR*bN9{e|of86Z3UE?QAj$XKET9%VWqs^LzSGYIYA`4_b2_@ZxM=3z6lE8) zh`=O1J?0~^9# zz9zz1iAnva!UOKgAa*+0aj82elc>Knp{2N0{H+6~i|Py=)N zZ#$3P{PO0^Hp7k>m0f+49XyH%D8scB(iRCl;`k72YJ=4!Yt}n3P#!F7=r>86O)0ur z6%x$fe+9ZHx$;vVKBb6ORFXShu(5O{bOpYhckK-ahqp+hlsn (u}xYA9xX4`T~J<69;{T<>O;X~IXmrk31~K)9Ce>8#NbSB zhae=6`2FO{P1w!ftVOBiPM#EjL=IQwIB+NOK~HQEEO+tSapW2Hk9; L`A>O`wInn~EGD?$6OHT%j3*amj31P~G808vd5%%FRB88z`l-AWf z!mX;^(vuR%B+A|TSl}h;IA&q7)g Yu^Y?C>F@HO6TH7wsUP{_^sriD=UUcGunoHg(#JYJ97LKaRv z*6S)~E;@|{39$}IA_6#pGftA2Q8yhMV=uy+5+kBmodEv%+>Wj@(AJQQ|Cju! zF}DKJLA{Vf4+6+4!#@hXMMg#j;{w7zYf04_Lkxz2FJw8cw#Z-Mka+5lp1@(B)3|*C zsKT^8^8n0XPQbXj(W73K?onGeaZFv9{{5S10pH%8FPZBEz}5fxY?GCh71~}Px*lcn zkrhbACo`_m>3$qiTsioc>o2TQ$JCa%K6EZpn0f>AZXuyB?<)0B+Fh=*x~cKA&P2xm z7hKot&iGQ=^=70!G>wpm*)bR){>xP=7qDSbvtv+;SdQMj9!cg7XsdWRfMp-%uy?KX zmxxu6ttfD^5qAk4>OjL|Wq*t4xrqC+OWZG~JRe8sSKhT-0-nn%DbWJJX?Zr$l9QN- z{`e(9M;xKHSG#j`Aiod=nz+o|j*qq fG6ZYZ(vm9?iuohYN!XkmS!^C84F2PG z&7VK};v^)yE;!(?m}uCEqvX)IFJSn=1_(osfQU?b1cpql$Er1mHagRg GTjV_9YM-9UkQQ9AXcR(Tmg>>xB~=6$-fN|CGpx+JV1lXF$-w)I;&4Lp zLtW;xiuC+l{Ey0Oyu#u@>qu{}LAoEnQ(lvl-X ;hI8ag zQ~Y-x)lOiQ(_0NE4{G;0Tx>x6%FJbjnAd1rz`u79+R-^$0rC#2#zVYOtDRlAB>**s z`^Q&(NtnOnJ{vQix*y;vxna{6jEpTR#Q;$`G{Tlfu^uq9gSFx?7OA{@k!OAcDHr}H z5w%FpgJ94ql>=;Yr9H$01VE!Yzz)n(gubU&^=uO~?+9RBa%*$06U77&?V6hB1{?zm znFxH8Y^2HH)*u)kW?GH^zzQpvL4T8!b*B`3slcoGbtN(3Ze|wy2XJs9+&(dlyANEa z3RsIyvZe?Peqv_k?C%ap79wJ{ u{p=yNd815u+L~}zf(_iZkHZ~xT|VHb za)BIX>Qaoa_n1|Y_6YRUqT(rVH`vhZ&RkFQl1PMd=Hlww`0{vZF<6#A33?X$_hTqd zpcgivWZ~&0ly?=nhhumgyz=obl?p@tpEh%1%Hze_I)Z=I*BIVvr_J+IekE0fIKlc2 z8&2DZe23nZfAhx8KO>4jA0yKG$l*izxB@%|)W;>EUf|-47KOZX*3Dl&c}2tu)8i%N z6L3u7D(A6t=NPc514xPygdf0tmJJtk&SKB}$6aR{HIzangwbA6*~Iy6ap^;!K(gU+ zWo4zD;qq+Z3hR<_AB0JGBEVd??D%JMNCKulb`P%gLe1ck6o*Jf)5hz97gKNN1)ZxH za?XXyNAhz+9Y7j=gM;ge0Cj_ (cO2q&gAA040q2o z##`NiR6sX?iX`D_j05gdV;B;5V02EGZPV90JEqOQ6#}_DU^&e7VB4d3!V^$%T5;JA zZdmfm4ifwT-3GoaOnq8_CqIH+d4op756k*^YOZ1sHxU?M^Rztu_m?~KUSJuCg{4kC zKArmCEI@+xRZhpSu(0>~h0-8R2<&)4o!XbfH?>)n$Y=a$-GtOY>h|*XUey~EhD2Zl zAV*RMH4&|S1q)6+zPx}u< V|R$aQOtVn<*joAufr5%_69>!vm-= z*|txCcnSUHt~-fGi>^;yy3#?a%CXaV(A&PoSfrq!07qywX@$^8o($!fR0m&4x8HXz zf&%C&q8+rT3gZj3xxyf&dwBR05~56_Q4YVF4iK{q0v82 RXOjyK0%^aVb722xZqaF|@$1Wl~KM8Neg4g4$* zL pZgVxhFjtpN|waU5QZ8paP#r@zJlsT7h5z}34{WU^#2)*`}kkN zjO(WPx8&8{iC?-uPm9<6cLz%t_iM<-O{gZ-fRaf2;c7}6mKb+eCjb0_BF**Y`3no& z$VC962lQ;agbl?5j{861DaSAzsE PgOp;* z na?%3B!A{l9{l^T-PlMNe6I#Z96dvLQgsK} c$B_dV1z(&ueOWLD34#TL=zjLHwhe-Fgc> zy^8EP=6eV`7PYjn@bdDO^6o!yU=u>MuzkgY(-wNmHpXkFtOi0s8iHC&8Y}{G7!%xk zV#0Awi2_Vhf!#xb>;?WXa>k=XL`F_s^emsHlRtk-Mdd+${!u{m$+=0xso?bVL-7d- zpawJt4kWCVIeE-xEYq-p4h?_>wj8aYE s1(ElKB! zw(odW@vk?ILxUn%eUhKTO`h5)VD43& 5H<0FK% zHQx3eAkQDSIJ-egBlc~;r!K=l7eaorX*>dCFj(lyYH|T?c-TzJd5Q|MW)aMS!iDj8 z@EaBho84gLw3KY8NsjdNbfP9T-K3_bF0H8OgQ-gj_k-hj?TaKaaOM6VKYHLm&n?c2 zkPQ+Q6>Vw*?de8e-p9``r>nc8v(Q~7)%h36{N%YVY{jPFk)A$%8oFt$Ez{B$>R%6p zw|5B%1kF%kKbqR0aCT#L$UA-d{P}f6ga?{?TGQ0T#NsV-69mPxYJDUt2!zC5Lj=qU zj)G3#Ei9CQsOK3O$&u;;6(1s%=hLTKqTjqZ9ImgS@c`uKV`(YXwQJYpf-P~abo=)0 z46Ll)cz9o_lMBCpGT{c|6)UTU08>Fq2-&oMMC*eTMg-(jw}T`1MZbLur++orckt0$ zVuSOIvvMdYM1AP_`1oK*b(1EM0#0QBbPKJ%1R^J!h4H%ek=aN*^mKQ7keAk!q_DuB zg=W#+*LMfGs^u8=rpbxLeG_zgD1e=8IDvO^at<4Ac=GTe9ZvcR6RZApPyla0oWKP{ z$&bOXmO1z#{PE)=n>2D+KJ$$ VJNR!|LC)#qT;y=7ykY`dL?V+&x3$5!1cHj7`Qn#53m>~@qxFu;+;E-hYue{ zj_}y= Ozhg*G?+@3j_{$fDN4sRWRZow1 ShvsnPePFh+Xpd6Ezzn77TrU lf~X#r$_HW<{I}qp1Wy{=BX(mU0Wi zPJB~F`R^kf_12MZnNSYcOhGs-*|J@X;t?IqNxCP3W}*uYZU;~ULSkZTcem7$%S1mj z;Y0J1?;ANd3I|viIrgTu)YOBB!FL1PQ#|J8oZiL8rZzo$_KXz9rAxSSzZnm1oZt$d z sJA(dp(LlQ&V&C zOU)2^IF(Dyc<44KTp@CELULdgybGd4@i#OzDV#g^#eIM3o})*1kVF8_L~3d(@f2d- zHLC%m;G!$KFNHy=!Pnb+Ps8#rRSk`G_;F4io;3`mEYZ=?Ha>5 mh-2 -6*|{No5Yp}N>CJk)h`d{H3K8Xha8coZET= Kle*d;m6TFAMQG!Rr_aa1m-VC&G8y6jvl$6-~4l#&{wBrH*gfx0x zU0n#qzAm-R6a7_8U{wZCWc{QrQO>EV-nnx}HtNxH>(0Dlw5nv>=05mXFd903a!ShW zfPi|9!+)_m%eoV*0Ziys);xLs9Gu{VmzGCSKsu}e5*qEY`Mj)!O%Vdp-y8*h@D7Hp z-9VDqmW+&y g?q62E(Bq1R&@qTRVej;s9Y;N2r1KT}p4nfop9c>kb+>h9vF*85Wvj*~B zC3P1%+w1uFYVBK~fl4nA(Rl2RO2RoxoBRZf(bLzrhVrGk`6ToO^BwZ% ?#uGt@1 zdU@y0SL2U9eL9VE8QABKU7jDs i+S0)v85K-e}{ak~g2u5V_yjU?~MO*xFk04Khlzd&NRW}B*@ zugbh-%N|_gg3hJyRf-$-o?&4-FuvyAUXzkqIqq~D!2UrDBWMW58p>IigB=}oovLcX zijt8m#uP0r?ZooZEy^*tQsf&Bum>?(%{mt^Qp?K90s^dNkg$KW cZ)dCA){=Ql5wiNoR4oYn(p4ft8h&+)*_jMPe-? zDT)5r?s8)jlPCy=@fipVp=_ykoBn+k82B;A9X8f3>?PH1uZrZfG{XeG0|&}LpUH-w zQdE4MocvhTCMGwirn=fIDtPeBJ|DA*7TNR6 H%> z*-{`~5_cYH&w7;N0(=ZL?1x4C{(gW)O(?uC_HfB5D$;;FSlbBw!G+tF0@ou*?_n+~ zKg+t-uoj~PrGHJxFe^QsxwyF43!xCX6X|A+8?f*9vDT8;hjvei4i698EY8_lw58Kv zE*nd6qv~<`WmQ$D<5mRk^$!jjBGPc`?AfdQ&mTYbc=c-M$mr k$UG~iH%7#*2U0ux*ut{568#>wFlLxOAt|OT$G?rfA z3ksE%IgWkJE3H30CF_QUh9Z)a89XBP=wTC(*Z!=%(p|jfU0hsLd^{~BA~EqH*sEwu zbgzz~iOB=>7|QA^e@Pz{pk23aon4C9m5)^9e7 t4Oe#mvk+ z0dPVo!bl;(fu^>Oj!V^{hnYMso0$Nmn5dN^??n1Lr3i)41J_J@cIw9&Oq K~eKw|U<+{euo8l3N{{QUXO zhYyn8#;25(2STqEqmS2-Zix|Yhy>3ZLIRajkV>yWW&HB(8#C|vWzc5q6CuPU2gn_% zc-`EsY;0^C;evklU@d#kpYc; 2;lCZOa){BAM!;+ z%ERE@5wWp8pu%n?2Nnj&GGQ*<2R@`wUdg!AojqG4s2m)^hOP~9mNBLTq(<0r>{6cF z(#s4t3?_uaxaZ9Qui!A=NV76jC8zOVnXrsZ_#uBoLo{~Ib@PxDNY2(I0s4B54HPQ_ zCB^6l$XvJ(9k>AL&u@V5I$U*Gj_rDAQ};x?=ydzrp^_^j45!C9lZ%Tk0pmZgzx&XI@V!7R4XVFn3(vjD4O qSTKehPlXREe7aYFzD|4q#eVMM#d`=u9c}_$Dz2)c!8bvb0)|PH zwYIfs!>g3ViNh7dei umB(7TFY-p!yB!q zr+*L{x*evBcXoTE{6-cQmTsI?6eiO=8?*c#QPC|}Qz22&tD$jpY=_pPG)ZXz70UVK zUc7jbe90WZ>19L1HG+akg0+UIug5Q6`XD=eOhe=Oo-ur5-_C~*AA B?Y#mPbpX}#bW==>p?ydpsJ>2NuG6ucumUl}i*Nn9%d2tEm( z>wba(cbJ4Q9=-QYKuh`3)MRxo_^&q9P(OIH47T&&?}S4zUqe@@x_*TMKEv?SZ*eD4 z^F2L1D_sGBl>_48GLr6}Gye0Z;`Yxotawp$SIT;U4mt1dgy#g@1d0}X8S%x|#%6aG zCZXcno$}|MX2*8ylydSQ-{XRJiXOvdNqwd1XhS0-Dx$Eli}@Mx+6SO~Nbgrye^$@` zRvIjxMaE4Ei0*MfK(Q7e{9bg{$mnP)#BaOfqr}IUM6*S3%hzrd|0henJ$sJdT>?5# zKEH!vxFJ?Z;NGU2B1g}kurYj{bmrS3&A<2Z-uY@?QRbrrsH%m_xGNje5=Uj4BQG;^ zE0`o!ycFpnd1E24)hz=91LR$?R)>E<(Ga$5JA|7lXZvZ>@D}9@^GQ9prT%9eJ-6ul z_a$~~Mhu }!?-(Ic351#n=z g2zEYEkq_Pm4co7SWVB>?g4j@jvH*&8 ;ADam)- z;DXoW@1Lr*Z3u30?BBlu+78E#R69Gn{y(tkB!1lu=h|%}W4mYXUfGTwBq~GK9KqdT zj%}}1UP<*_7g*!zD}HPuY@=XoEBShv%Kw9>^A6;C?f<_~LKKpf3aPZy5L&X@Ln$d` zM)QQ0l58OfEtQrAN&}~%WMntAq@f~|ik23Y{2o{L`TqX-e((F-Cw;s>*ZVb|>snR`} zH}k(JGM|gE$s@_h%~r0}j~~xx$m`4oSG#$Ojg4~D_U%VcpT4Q&&XyXEaR&3-EVulp z44C3Ui` G-(@6!ByX)&)8!RKn`#dM{g=!}v{F P}VQ-|hF0$d%B3`}VESKicm} zNKok7wQHEc=VKz2OTTw-XP`}qb|%Y^sFHfIGUKeBwY3bpKtZ54J3AYQcjOT|K(E_3 z4FvwVdy?{N-+&$uQD>R8+w~L7SXW0U;PS|0$ByNcEbDR~oiAFKglCQymUm^Yo?xR2 zp5z6D?&jvEGj3cDfqc!_2}pZXSlI}f5y+Q@mezG5QE^T=hQA`KNa!dvpQk-h+TCFQ zU<@E|jZ0VeAL)jCK<|aS9?S=Wa?3cGl(fdwtpi-yNnZ}`?${p_Co-#wBt411^D}aq zPw$wOm3sQL>t(NZ7U~vn^_Ka)sp-GhwVRWvPtL@^9|XJ9T{H;X`yr+WoVZ8#MKSEe zV>}kQyZ31sV{2<`JlwD6*i9h- lDTBb5^%`? z@Eo|0k|wIC4pk0ns{nZ$$B6}yYBXW; p~Hr`Bm}o1a+k$`%CO23HDp+ED-+svc38trUzZAUh;~zF z2ug|#ttXP0mPF-B;O6;`GZ!xG1`#1}u7(yt*`*;TqUDnPD#byHdK9%|$3#xd*KglU zIt&7B@!2o+zm+2}SMuVzhIvA?KF!`242v<8(I~p-xO7oUj5jwA<>N`4dFEmC`fcrz z^k)$}_j%tR|LD1#02;q{FZSCPH9}9I`UPN8WEAOL=eJ_Z&$oT8ZS$E!yolqdc*?h! z|Ki1=XB*b9f2}&7hB&FFz38yu=6}a>(x-Oq-Yq6d_M*Jv;)%z%+4@M9h5`SHT>-#c zWmGy_7~NG#MJ0$27_nAMI$-;D#mw&N>c#u6nzG2mStRV VGn40aB{rN6`#rKBO5Gs3_mh@FQ?AV%4EU;)5O5RpCVNZ-%6cJ z4i76b^?7^vj6sJX&ke0NxIEhWp<1o?rn^a1fPDw%B#7i0Wl3falWrfb`Tg2s{D=l& zwf |8 z(0Eu;QN*`iU0t2qPhlQibl5Nzen}yaY&k3{uo$OBsEr7f8S~u_Foh*GX7Ao&fZx)M z6WJPI!y{SH24Zaf>}Y$KwUt3Y+S=MW>T&`Ai7T2D3gG1u$ ux_zPvvY-WxwRu6 <&$Xwx#+A(Ry zPH*H``s|ngZxwE%XyuiZ$ii{xnOo5o$vk%EFCEtR%S0ij5m4Z=%X0y40sWx1kJvvt zotPK|YU|z9O b#f5^K#Iel8>KWcl#^5oRi0>Ibs+)lr%MtB-g zU~`o0-bO3ikc=h8c3{m^7~y&j3Qgc)L>l7$jf7$v VV)yI`gT#-BDvpSb4hs#n+SzIOtJkmN`ovsc8iw>_ Z8b^wF`N6WIp^f!5f#5&}AYj>g$DXRLTQMbX{2fpo?O zT0=3h3Mf5!@?<{#U)aB!nXTxzLjgzry>LM@BbwZf9rXWN$Uot$p7dxnr3!58NK#U9 zNrM2M8R 8YeIB5mWyqOwv8@KW?7_&VdDq;Uz$^eM{@_`gD`rE!5-zi7~xgb)kUzj z;AT(D3KdJm9SJ3ef5|@FA^V953ibNfy9@|82f8!9^u2Tyy%gljQ66vIa0+KvYW1g< zFCJMwpQV^!3g|oseqR$ha)*C;;+^~V@1MGkImQ|>sl
Zr>-7mtCU*F?Z_vWWH5URZn;e|WJYc!`FS-)?lTSA3 zAX{hBT_037>5FMtWnrTLZu&m2Kn^q0W$8OWvTk~3CrzDdF?H&;3umuf(GsatKOph! z8zh{VWa=(nxG=Kb!v}qQ`uNh45>M-1S^jN3zzD>m&K@Dwofcn3Ma4p#h}Cc27^Fwc zZe1$Vty{O)C;Q}f7wbnGBQw9b5gb59yHhN)gDvo*l!Vl+iTs2AqHARP+0 z>iXTg=kwNFVaRZzb_g^?Dm8{JITs?troIt0$^zXI3rBYR6DW!fzP`SK_4EDSIAQtn zcj_6j1SCqqD2wv_by783af{mj!1vA_5lC49Ueh3fq9ghC#G$x*_pYF9pv+qGXIvsm zvMZi2X?}f*Szw|8*6nJ<^z+l*CTE<1E>i{D52XW1IPoZiH$5sUDm(c-02{;7(Ug=3 zMn1g(13E(DGJ&*w$li-g070+}8&yH+FR(^!)3xE{cZXNMfh7UYEBnFcHxgtTuR&YJ z Tk$>^%a}qMTCnAP{`qYMfgEzICi*$? zWsFkyFyM%z3IoN-Q9QlP8)T{On^-5&>&)wWpMXP=jAA=)UYzxcm4`>Q23_jcZt QlUY|Yyrc0b{4Gd*$G^ZB+R z1w30M;ai~(L{$VD3WJngu?jv;`IYGLOK+4QG#MlCDK M>O?Ae zF{6)$UM;^-HJ&qu=h%j9f@Q?E3ST>X4@;B`TB$sCKC5v#P`j*~mgeSCy`*z^LxqQ$ z&!?3jDL6Z Qvrd`E{vR@7|#lm@X6kN1(Epy5H_a1*GA$&-{osiNUVo zsTdHD4O%KiFrJ#3nPsf1tP)9%0tP}tjA#qrf6$QS9O;Oq`hy2|0^dVhEpF5Z-?3x$ ztn(krQyx^UA6!{kxpP}uL4jrLlXQQ<&M#fDLRv|7!S&zwfAV{DsXu=Ad4Y`IlyQEi z#w|PuA|es^W%uc22SY;IDZhh!`oyMOaRoz?vPT&RwMn $a#BKr9uk3Y+u~DdHz#M__ z@PUO=NKw*XSK7c5CN61#8Vy(70QuXVEJW-MYBcD&wwYjYfVvZ*iqO;O&3<+b9Tqs? zkuzs*8&@z1b;m1SQdSlQTwn5KAH&e&%1QxBQo?j=&Vq%0{rVN-SbO9jMg|{Xe_T0; zLUZIAFq3Hyj9nn7IFW`zXAFtHK*QQf#tS*DLNRs!{%j;*d1Ymt=&)@seb;l$Hdp;0 z{YWm5st~(mXOFXoM3Q1&WRdsFAGBgIGnNQLk3Vo==Mr8KQUL5S4(1}JWQ*v)7$m7v zQU{CXX8h|-a!QJF@j1_5e1`o?D&OtgwX2<@qhnbyb_+RvqN Bc;>x7m>=DC$>hj3cd(&X&-_Eohvwdz zai;U4@?%#`8Z6Z1tO`fmwVHS~UIvq&0w8OE&ZyV{j+a iRuGIeUH*CqaygtU%O zQAIpXN!e$sn2eX4xq0V~N4eLlKVsijQ2E;UWapeHzot4luX-AVJiAcpI%XyTyOy-F zxO#PZ?Xz*CvZM=xi+*s{IBwI?opTXac{tE}dWGCEO@l~O6arYQujln4pH0mP1& aI~qYVdO6WUP3fQ`bg7NDXkS)ECh5`RO?o;^h+Rp;8CQU49lb&%>>S2qR3>*-T1 zM#7<^M%71I(9?-!>r3g;2tF S0pf5sw$A4=L6XDcpHsN}9!R0vHO z+^`jcgK?EV=p-17VBuLpVqZbe4~HfWU?JjUY>V2-^kkHpntJ5;@q(p~`vX^iK?+eJ ziodQVcjqI%fa^4$Gl%$jt*A9y`77d{)o=!7+SdrO{q}7|K99f$rc9Y4AzKq{`6`() znM(K<%Fcfv3t}V)zOb7q)aw2F_k+B*IZtd{`0vs{QUaYswwFB &<_AHz+IBE zg9i%98?y^_&Xv`QJ#Zp!?YjW{% jmKu6LWWErDIRFlk}NAP1h#dJ7iHBde6DB z`uUYm&Yo9=oU3MfMutiE^C(yKuZurq{5 qyqYx-Y+cqIik &?0HBVOcH#)r$WpDcaBAYFC^gf>n#2(WgId&ME*eY966QFi)G zyZiiVVvQzy>coG< <$ml1xc@cG zhtfLDWf*t!7W{y`CKDv`nNY3NUjb1C;caL3>Dn1gKNmjWiwr^0DxpIi{JgKCFU^8) zD(iAyzC|q#B&MZ+GiL_zLbNyYjCTE>;LlZ{x60E=_6j+Bb}&TTCouc;%|E}s6&wl` z+IUSls7Dkuv%petb}MwcNKz=$Gvp+J`}S!j4Rx@w2?TYwm@%Uh6m*}=e^pde=3n;I z1!)!L%Zkgrbs2vJs>ed35&a5(r3=_4KQCA;lFpZau*GDK9M21Dn0Mo9Qs9@lt7&M2 zbFoI~myy78$~}ATpzu3WPor*C(Y6^X<@nQ-c?-6B6UT|ohd_aaViGNj_2P4MI3`U1 zQ-h|Ff0ybm|Hm&gznX2@WV+1BX3iXG@JtrSnAc|GwFD9l7RZiWnodp)Ak4_g5BeI> zDoCoba#+%H+-5;$i+rX9Imq&Ag3hF* YX?eG5l|oy{HoIxlqGC@>JFGHOM7c)E*s-jqt|PH2 z5S&dSaK-s8JJnE%539S{-@u?babu*?reh;*q*l9jJM)cUJiy6OHPYwXQOEdgrt9wx z$<3+Ao9ehDS!Ts_&3l44&>Ofz!!T%$#);9XZ?A9m)9P}^%tp1B|K1M@Nppa36KeRP zppab8pk?fuvVy0+qFi2r3KZkFaQ5uDj0rWIXOQ11AAGrPL;mLVHg#PV06nXPM+1%@ zIg-17QKtaoa*4c;gN%*i*DY8_X>M$641Y5?A?TJsv&E>6Fv@)5L}Fyxr>+YylYOnF zTKlraMie^;0Hzy_&t|B1jafYqh8la=z@}<3qs_9haaNeunOqt;OyPC+2rh&KWL2~P z@Wy{o@L6zqe0Mr*5 klgTJ&hRcdP>%ldadUn )+dcR%0Pgb#;?GTFfB`edEdk6ApuRC2ph+LuljG^Rc5Mi2sr`DK z7nF4W3vUXnm`~3W>N)JfPhLT!kss6_yyzEsoflCfs7Tzt07Dga K2{NX{naTr z-Y<8?$2VIQuh3;0=yS=+MCNTxk40aPS=@PvU {@lB!5(T=iz)w8vbV7pu9 &;;L?5&s)jsM7Zp_J*wZ3 zA;rAYB_B6Z0~4ygpgl&L5P}X=Pe;eB?w0ylSye<+`#6kXH61v+j|uvEQY>HxFe3&N zuNiIUQd2EigHVrX*jNjYf>rRZMDlBrfjo3VC<_N~ibnA#K5Z}9L5%l;VyIuw1qc&3 z;Ot9Lfu-!u)wBTG=tO}qRQWP$Dkv%nA&Pf`OgkG@qEOfD&LuA$;lO@5_v*%h6O(F<(bUP41Cebf4R2cU788UhM3|^0g62no zbBhsFbbX*PLohcG(_vcI K2iA2L>agWjs&40KE{x zP@S0r1631wOhh5FvZjw0;TzL#|MQQC@JZj(@a~<)lOxlG0%r1>e*tD{*{D+2(X;e_ zj6|`K@m6zD^{eIo$_#ye#K9zsdAXVRo05xTxBQO35Iy+Q{VyKOwN{xSWREV0O-V`A z(|QyA=-j$n4?^8GSz7wN2{v%hd&S!n@#e{6nH3J|d8$^iAFa*JgNAoDLYA_5p0Lbj z8K3KUC%66BLxDFxFPJ;ms$fpQ)yxIUmi5ydv;1CS`(71cW$XfJz+MtTRb%|z+a2VS z4v+4~?6PFlI9nPRmYJ}nH+SD_XlR&fxzXmH0;qy(-8KqtntUs}6 vD(Y6X)I(084D7lpx7r%bv2;zbW?cNhiKV@&~5 z6V#3zuuiYw89>`Yjmx;nykI=M1$R&wgOfQv66Of~o3HBXka~o`y2jaitZbm#6w%t9 zSFgSkzx{Y>Y7~1fvQ;N+)(IbBC{9ECTnA>+Xe-3w8^jEZ`p_Av76sVz9}8MFV}l4z zvQEGpez5w(hv=XnsZ@u|*>3ulUS5VYY~hAMj~3x|Xr!2sCr+$IW+QN_CnfJum Q6d|rH5MJb|B<>3yPopZq}MY@agwIL1Fy>A)Mq> zWF9%2l0vSRy4t|`pYpAZKw?F1pQVo}ObCnL{#7^Z0V6#r&NXL`8OW1gBUo$Eet7M? zC)l=aG~c@lSG@3$ODh@AWvI=0dIENO1CpHBUt*R0@C=wc_Vskg1Q*$1Yqzw#QV(16 z=;6a}JrCSK?K`pH)obt1_pL@;xon-ZWtz0#sj&yeh$Op>V_d5m)U9&q_7A3Y`(0k3 z!t!=Dc=u&lRIqyUc=gq;-Lr)AWZm|_>_g|aFFn%nnL{W0BVLLXz o ZVhoZp3;*o~1_dYt9EqgEV^= zaYOy;KW8DwD=jS*0=c6{bzQ@5GlYwK1}Ocx_wL!ax&LMkLV6}FSx6azosIcd^Z5&e zU<8ykGHRw!)2>{(k~wB8B~xX!?(b=U%YlH$=&8b=9Rh?D_!_^duM%9`76k{Mz*JhRAL z-6vB|%OFzkY%Sm18l&8!9iNfH?s6vO^yyxQm(XKO8s1#L>NzWHdy#AwC!|n_cO|$U zuv^kyEfRVE>87FK=`Q_|FXGv2?~hxWKLy(KT{&$Y;V>?un+H_K=e{~JsDFPkM@j^0 zG`xR*yMGw=u7sCO-+uh?IQYk5{QkU(iaiR(4>1%57c9j781S<01k%?064f6-n&Ha5 zvXgoH`PF-0x1$&!8`@0jlTU*X;*#Dbm%?$ z*igdui_9!BKXRp3560a!J-)ESIjvs3gX$a?*vHKC7XRHGy@f~ZdD y_EFJ6b}eSk-0|75FCtxhuR3&dp2_RYf0!22Xau6Sx@)dOI*N!$ z%o6y7l9HLvf`JlQLX}URJgHzKo~00SdUbL*>u9Fb;^O8O0{@_=s~h;c4B7+r$u_7P zL4!e-C44-=TOqJ2eo?R-VH6%V$C|JQn0`x!W6*Np*ePq1lkoZVeGtr+D2e$uZbW+h zsUogLO!W*!O#X`Q-^AJey{NfYM^Tfz02;0!b4!!&x>w)hoT;sQ_NYPf`j@247iw+n za;2f0IKs>h5tU~Q!}srBjJ}&=Ny`zQDL@}65rM&ys3)GWn} =jDaZtiEBe6V@y3POVO pt^E4b!ss8o96=uu;n)_THj5Iy1HoZt{}L!pW{P_$2c^AfDIRIpOe2 zUpuZp8y{9=IYQ!Ae7mz%QqS`$cS#M|EB%&I<(6w{E8Xp hdW6Z;d-2`- zNp;?@KB}p!4{utUnXc2V_60jBaD{f}%sX?Eb^`k#?v#+a=gu&jx{htG&*As9TH{5T z;Dm0*u9+`_X=uutWYrYB)%yPFlTOuc^i)Z2-q+SzxTq4-8^rH@zM^;Ez9Je|qFwP( z>RHB>kGMfQLOQ2!M?n}RIm1-g=c^( O-SsL`L#9m@`3BQ bPc=mzg3r7alB}+KIo$v#2vWL>K6PA+b_8^$pva zaJRy&)~}Zis)~cP6cO4>H& $uducXXl?D o7guMnrP|W=vzeyFEJpOY#dk*Betyne>MlX zeau?wv5HKBp=oKK?XFtoOk`yX;kETP_eX=q)V*!) b{Kn-TkoRh zDyVZ|VfY#cLqz~&%j7I>C*G&$c(|xw1bIa<;r7(bTJ2p&i 6jI2^hYcJHln>2I7 ztNjNKWVkyCK_%s)ZronqA840_6-r0RG&50^9x~Cvi#V( C%`laz Fdy=znKOK|3EFqa z-wA}L f}rD(Nx8jOkVnLn@N>6&`JkK{FtZXTsz0u!i{B zQ=bT9uE Q_@ z4BocCgl*-%u?G@Vx2m&uNMb2D5=dX{Rb+vAM-eA$sUO?rJZJHxD1T({D*L(V+c8am zi;~Z~X7DyJwU+!bM0NJ~>C^P=9c)8>Ih#ZcsKh?Cr $W{ z?!^GbYiR%cHVq{hK()00dlXk DPF5O7tKuv@!|l)$F5_aP-OoS z-X_S(1jW&~I=OqQ6S%ezk*2l&r-2n#K=O*p-UOp1aG`h#u#nt}+TZ7Zedb^Kr#m%I zh-vPB-P3T5oNi}QL83OVk-#&dAw*}qHvH2FRag2uDnHSM;`i?#Rx=V9+R4c&fC)-0 zO~QDi`4+)-{sZm*2*TlaIo14XIOL)%jf8|i*rz&m`twq+8+?%0*Ecr8J_3wrfQ*_F zBx0T_ej;>?d%MQJ^_#lL`|U5wq|}Soz&MfrAhd{aX_G~kEmc!T{THP<7|6e&{Z;02 z_^6Ur t#6`0f4>uZ_@j z#dOyi0sMs^ERa^x?t%!)z5zh|6C#|NnB9B!xR3aHECWer)3vt^4H@z^xc#F7yI+ys zGsD?g*DIS!KivE3TiW$-7lXg52+#@30u`q1vMZ1_T`oOC#vpE9thfSKA~YQVxrN zmCoz?l08qOIGBH25mn2`uF o;gnt8Ry78!sO hV2GLweZ804&;)Mr);@Gu`agZhFk?5&ulU^G#GS@ zQO#-|Uq*JFcK7bFhY#-nNcHZdA_^{lhtU3t0`pNxLP%)=usM)2P=*O k8{vQ@6!km1U2Zq+Txj=f6=(b01w{#^G_(3vSWGQx{(9#35;W zWNpM}3iG-?*bPSwJA*Z6_J1nzqv!!l2VI2S6%c{AYEwcg7T?F-xwZ{}nONi}6=Xv| zi5zmn-3}$#`u}3|R!uCK43%!%op846T$i=7;Wzs8F2R~_XjoTq9~ojLxzq9IPMin@ zQIk>%Uk~( {9Ksa^Fi*b znuFx6Dr<1TN8!&!+qP{R?(GwrdFtD;sNAV{P+9(?cBMVor}3H;L~Qqmm>!s2y(%jB z62&@o N633pg&qk?&nqS$W`_A6#ii-hPR8 zIkEJNij;>;ZGAGN7r+yPfK)6EV`(Ycl&KxaL?^)Q7QaCpDo%%E`NQ(^-23-csID?P zN_HDCM!s{KI%9_Wh~;0Jnp|3602MhcUq0pJ5>dxkPv<&p`SaUEgrc=O%Ijav3X=Nq zE$y5gS?>bj@_2}!tFH@i3Rn-DFE~n%=uvle6r$^M#_7a8YDGty#0x?64~$^iA8QdI z0Glla6c$vsjX-`%TuBYJUuLi$9D!D2K6mbJ<5!XstXBaeu L4EAmIlEAGI)Z7zNGJJew;%H4xx+UiY=i*{(TO+ z!Am5Pbm~H}&~<3fSN#$(YQn{@ZK J(kvU*h2>)mwG<5r06qHQSMiqD<3`_lJ~1x7Z|TQ_U-o7!UQfgPaBFPU zm$4m07aO@^Pl4aE)vG7k+iQY+3K9;v*t|)n`JHQOYsE6e+7;BUq={dv*ir6K^(&^l z9pg1QOGN-?#K@Q}9*qun#K@6t9xv^CcBHR^LvKY8b0O3ZbI4zjuFohVqwBYBMg1J> z-?5ZS>CD8|IP>md|38|nWIohCk5v9f0xBYgk-f3^L`Bz$%x^YT!i0}HD>WdhN}jU8 z&>d&=g*F%Qy)*r ;`HTbnF|q;OSMB^WV{osLXVOGd(qX>a)M*auCk)AMYZ^5@yx?$p$9b{w9M|8y%Qc5!d%g`XtPJCsrBr3`Z-HFs zM`pn~+ngD~GJiAO9j9hu|KtPv_cQ6uC>zkBLkA??o<$e_{Wlj AspcJ_(ymE*(X4~w>xlV4(rtTD8ON%N zYg&1+W~U;jG=M-$u25ptgaVTkcU6d}B;E;?bH7+{CpAu~{(L8w6+$pdB4Ey{)0Qu{ zM+u!2A#f=dN6;L_t^<(5UOLI<6bfh&@JntK6=uT0j*eMAf5iz*w6v+ZD?%rNkW`5A zk-xmt{sJ?~y#nUE&L9$f^R@|g D< XN$Q+xWQb$HlKtzNbZn!q1J&N$tD!W6@oH;`o z5qe00rM!9j*5=w8vc;yNw%*xcY0+pqhwaw`teY0hpFgYg0&&W0fC0(+;_E>yUPGTs zNaMR6I2&z3+(VgLNB)}-^&fKN!767;&Dzr0I!YrieI80$=k`HE-!S5zzBZbF-SjNI zhR4*m5-YD|_a7eS4u!sS*d1qUx?Wm_u=Ys*)qL`)QdxgmKl)Go_czYhK5cv49_Y;Y z6j>=1?#jfhZ}6J!v0TEqdi-&Bd_Mz*T5H$TB_BUB(yRAeJM)S^$w7Nt5XWztWIH}$ z=e;=diYtlL@2BKG<*CT^qlj28pR{9^fm`cI%Hh#$JG(|rXqrilvxIhlFXCN&gu0DJ zmAnCWKL?iV-{1Hqg!d!Vlkr=tHQ(bCB7?GBz45n2ZN zjQY&-+sbSb29P>Tp8B0D4McN#_rw2pvmw$cvOw}pJB|6HsU#mN#uu*biblZ~+j0@1 zBy*_6#*HR`wkiG$0v!?X xt7OU?#X66qCGxDeqrjC~` zUerUA$@C}UjGkNYw|Q|R8H%+jjRoRf8MH7%(e#Vav;Hpcueb|1`P{i;u(jTsD#@gj z;5s*v7Z2tjo2C#x@U$?UF#q2l`#{tDs1lJ1WQvS~4~#i{c;<&pdMhC-{})C^ZHuV; zL_HR_>Oo)=ZX7fBIJq(U0PDg#fkxOBHFfz93CkZB_+rFmAtLHw>V>hmaJdMt26G%@ z*_}&G3OL9;{73o(?dAWE`LmUmY$6XvcLX|HlxQIgpmQE3w@robCtq6q=g*(EI~Fn| zGtDa9xlH3l2fi!$L4l#@Kx%4nTb-=C<0C54ycv@fwY^Y82e2phFa7n<&QXY#lw8@Z z#9iePvuA1J6(8v0O1?sByQMM^X%j#UZIT?aH){giv|1d$%Ij>il2F)uZgrYc4g1kW zDutR(n4 R5&Wy d} zS~dN{22xJVTwL@XUf1OUqORto+({y8DHC6qz=7(ra21XRiU>HD{WEg-cYX+9K(FO> z%pb>+lf$P3VNxSYFQif2-TPOp)}~g>PJ86^>8UFxqkHbXAOm_-h{shrP8##)$A4ia z7}KV_UJ+;}0WwN9d?zjhwjHob3?=+0L9UI>fLarqJ%IVq_2!6Z z_ZA*2;eLaIKc*J)w6e0aic^< -KfnK5-cQa~S8x^H_aFXq zpDw=aDG76kG;0DP{00;HQCHfDFajbpNvSi<7=jZXQtCRvItZEzHuYqLp}E%Z9Opy& z`u7h1+onEB{5RaS8D{@{H-P z%z5mtJvw#jR9>CR@9zv$S*LNC!0FjLG^5bSow(6|@L>0r*?)S7TPh1nVO)@!TlHQt ziY40i6oq;B -a?)H7}A(trNx^C( AsHU2!|$0CrY|@n4y&6lJj1|; m-VWws0c$+ z |X*pbJ pyEoyt z>F8qv*tX;rbm{BUyZxDn(--xXvue~7{VxXD{ci0Y+Bm| zB@)*`Dk~K&r(mKlL9~U1i&;EIeG;^+}xUi?ff1Gu-1DlM9%nJabOc^Bn)4JWm;& zrX3g3(wHbcz73x42lrxG_7LJ@cI%ePr%$ Jpwq?F5c z&3O!ogW54G`utv$*CmVBt@^XNc)w_gmSYQ(vmr~u$2-~0TCkvh?C*`t;x_eLh*JlL zN(?(RJ$|SpAIi-U$}$a0EI9KT+nr+c<9i!m xiT4gWFy%69z^eJh7~P__(W4Rj;9totS-kKj#C?j~vN(c528!cAv@Y zas?Z98%-$26fNZC=T+AstG4ZWiWES(P~VoO6PBIJcF1{k{mA||?o{LkCg*}V-`M?Z zJ1PcrzgW@rfXw7^Sv4;X#syUrsDI=CUNQd^+2y!@LE?mG4RdCnpJS)<=TF@1yM@;} z0*TagbeY`oCySzT;(ReEP7*4i(vil{NB!SEd;EBksa!$+*8<>7Yt^;9xv3_TwGY16 zTnh5qr>>Cmm!c-inAZ288l(BixLj6~f#2Rjx27CI^N>=vNefJwImE=3XK24BnDB^) zcHe l^r!=1BPafaXj zX#pyaA}fxhUB$Fg8hY-&bt*O0E%e-z$B$=S)#CI@qX{T~^hjDsc_rYUZB9K!UMN{& z9&!)Obuk; DTQTd8K CnH{ipL z{Ap!u7r`-HUFw9|HT73Drf;S0-M1q-fB~NT?<|qJ&;BenAey(hYq(F_4=ynj3gFA$ zujKjPdY{@7YOX6FCk9}KWU^Tfscw?6N%LT1DoC=Mec9meTh}G`|K2)R?!>`n6})q2 zmyKu8?DNvAOg8YMVCO+rKn4#C3X|+&l>hH@!$FB7y1rL;+#JZjpk{v&X)*`HyQDW? zCCxSc`)E*98hJt*g@zK~biwKuJ0$anc2o1Em@HzWSQmS3I{?p0=-r+#htODAy1V!J zyxEW6j5jWM)n_4^o!rDz1+4VAVDo1lkhqdc@`VdsG0~Je8S_R0XGto>HjOyED9|hb zU1Url&s~|D?3%9rI5R+Sh?pfL?wL;>ll8&X%;8D=?%h`1dws|skbPHmD|#K>d(^As z^)kZ56xo8e!A9-@A(qM=gP~Dvsyv8W3HgmeU2UB|QjeLk7te;IPEKE{)c5T;wY&k7 z^9C&bdL*T5;MtasTL$`uF$0-jUcPLZ&E&ldn&$W6t%FaQU&Rz`6AgkFzg9K8mH`=O zQm@J=?`y*g9$sbhJQ|lQ&~4eCqyEvJJNGxKiF*`pF%Bi`dm>g7F{Wmg;uhDC;Ud>w zG_K0HR88ay^Fy4GhCQ4!3^|WM*b<1UUArvjRumQ#DEaoFfWv&wy0(%r(Y}~Vaf4J( z71%gBcE$tXeW>Bh8)2T+Zi@W8)+2KD*iB!}7)SPvFZ9BYD;~3NBC5F>w44bad#TEE zb6r{g{hA~bLT0$?a?$)>Um83|-P6NxKxBHEynjD!>0xYAHZdfAs)&UsEKJ73|D0ov zh}UMZigoQh`PBeb`QGdGK2?jW3g(mOz`i!gSwgAnHs%&(V8cQ0XtW*JH-xwX+`gni z#Fqmgpfa#JxIql7sGLZsZqM6Z=Mc+W3kZ!xpd(S#@3OwLPv>)1!PrE4&c;^yo+VrY zMkr=H^VUk{I$>fL1E#n4u*^fyd%~pvZzV= H>-0TDvqAf)yTg;(zZ7;>| zg!nhwVj5bdUhv%yXB |W7Pv! zPA}%jpNBw%-6a2rhfOd~?ehU_oFIf -7MIO({&8pFGHP@bKOZUS z!0xE~WJ~p;`IWD8KgvoZ+Y9ten$rkVS26FeuBN84q^dZ;=jvugy^+ &Uu`K+H U7mcV`b82RDX7dTMzcz##y8 zy{fU`5x83T-9-^V#;#^kd^Iyu6S#cfR6TeJRvj A)*CW@l)Qd|+W%$#{kILvp zs8OfNN5buy^KQ(2^@}{#*^ig3wDP&ja3PK#qF2!H;Ag%$%{3jV^P)hMJLL |9%i<-HbCy#jt!ih(?FMEOEh!MK{st<%1bQW|irQYi@Sn zvJm(V&X{tOM&t{Oi6Z15ytkwt4Uk~V>FmY42gz%$&N8s%aKIUnbhQHrr^)~DmY@CR zopp!+=OeAmEOB=}#Y33W=x4nQ4P%#N9%m`x2Qr;wtJ`YYcUYhYy)u|4fKkl;PLe1Y zpt_=wqtA?}^JM1WR=g _)I1u z!ksu`fgph$P|A`P7>V3!Aqrf6oWO_c&z@;>4z#7jU@p8Er=O2yc!smq_D*5clT}m{ zcZqClK9igrfIhxB-%dwK4DcAMbvnOiAWJ>&Eoz6LO;YZH`c~K17we`i(?7>lGPiUE zE)bjm>1;Z;^{h2SJ{