From 06513169e3a3343a94b395784c09bcbe5df13b92 Mon Sep 17 00:00:00 2001 From: Sascha Leib Date: Sun, 21 Sep 2025 11:40:47 +0200 Subject: [PATCH] Configuration updates --- config/default-config.json | 43 ++++++++++++++++++------------------ config/known-clients.json | 12 +++++----- config/known-ipranges.json | 3 ++- config/known-platforms.json | 4 ++-- img/clients.png | Bin 22169 -> 23137 bytes style.less | 1 + 6 files changed, 33 insertions(+), 30 deletions(-) diff --git a/config/default-config.json b/config/default-config.json index 5898f80..b24951a 100644 --- a/config/default-config.json +++ b/config/default-config.json @@ -5,7 +5,7 @@ "id": "botIpRange", "desc": "Common Bot IP range", "bot": 50 }, - {"func": "matchesClient", "params": ["aol", "msie", "chromeold","oldedge","operaold"], + {"func": "matchesClient", "params": ["aol","msie","ffold","chromeold","oldedge","operaold"], "id": "oldClient", "desc": "Obsolete browser version", "bot": 40 }, @@ -41,7 +41,7 @@ "id": "langMatch", "desc": "Client’s ‘Accept-Language’ header does not match the page language", "bot": 30 }, - {"func": "matchesClient", "params": ["brave"], + {"func": "matchesClient", "params": ["brave","operaold","msie"], "id": "susClient", "desc": "Client identifier that is popular with bot networks", "bot": 10 }, @@ -73,39 +73,40 @@ "ipRanges": [ {"from": "3.0.0.0", "to": "3.255.255.254", "label": "Amazon Data Services [US]"}, {"from": "8.127.0.0", "to": "8.223.255.254", "label": "Alibaba [CN]"}, - {"from": "14.160.0.0", "to": "14.191.255.255", "m": 11, "label": "VNPT [VN]"}, + {"from": "14.160.0.0", "to": "14.191.255.254", "m": 11, "label": "VNPT [VN]"}, {"from": "24.240.0.0", "to": "24.247.255.255", "m": 13, "label": "Charter [US]"}, - {"from": "27.106.0.0", "to": "27.106.127.254", "label": "Huawei [US]"}, + {"from": "27.106.0.0", "to": "27.106.127.254", "m": 17, "label": "Huawei [US]"}, {"from": "34.0.0.0", "to": "34.191.255.254", "label": "Google LLC"}, {"from": "43.132.0.0", "to": "43.132.255.254", "m": 16, "label": "Tencent [CN]"}, {"from": "43.133.0.0", "to": "43.133.255.254", "m": 16, "label": "Tencent [CN]"}, {"from": "45.0.0.0", "to": "45.255.255.254", "label": "Various small ISPs, mostly BR"}, - {"from": "46.250.160.0", "to": "46.250.191.254", "label": "Huawei [MX]"}, - {"from": "47.200.0.0", "to": "47.203.255.255", "m": 14, "label": "Frontier Communications [US]"}, - {"from": "49.0.200.0", "to": "49.0.255.254", "label": "Huawei [SG]"}, + {"from": "46.250.160.0", "to": "46.250.191.254", "m": 19, "label": "Huawei [MX]"}, + {"from": "47.200.0.0", "to": "47.203.255.254", "m": 14, "label": "Frontier Communications [US]"}, + {"from": "49.0.192.0", "to": "49.0.255.255", "m": 18, "label": "Huawei [SG]"}, {"from": "52.220.0.0", "to": "52.222.255.254", "label": "Amazon Data Services"}, - {"from": "66.249.64.0", "to": "66.249.95.255", "m": 19, "label": "Google LLC"}, + {"from": "66.249.64.0", "to": "66.249.95.254", "m": 19, "label": "Google LLC"}, {"from": "84.37.35.0", "to": "84.37.255.254", "label": "GTT.net [US]"}, - {"from": "94.74.64.0", "to": "94.74.127.254", "label": "Huawei [HK]"}, + {"from": "94.74.64.0", "to": "94.74.127.254", "m": 18, "label": "Huawei [HK]"}, {"from": "101.0.0.0", "to": "101.255.255.254", "label": "ChinaNet [CN]"}, - {"from": "104.196.0.0", "to": "104.199.255.255", "m": 14, "label": "Google LLC"}, - {"from": "110.238.80.0", "to": "110.238.127.254", "label": "Huawei [SG]"}, - {"from": "111.119.192.0", "to": "111.119.255.254", "label": "Huawei [SG]"}, + {"from": "104.196.0.0", "to": "104.199.255.254", "m": 14, "label": "Google LLC"}, + {"from": "110.238.64.0", "to": "110.238.127.254", "m": 18, "label": "Huawei [SG]"}, + {"from": "111.119.192.0", "to": "111.119.255.254", "m": 18, "label": "Huawei [SG]"}, {"from": "113.160.0.0", "to": "113.191.255.254", "m": 11, "label": "VNPT [VN]"}, - {"from": "119.0.0.0", "to": "119.207.255.254", "label": "Unicom [CN]"}, - {"from": "121.91.168.", "to": "121.91.175.254", "label": "Huawei [HK]"}, + {"from": "119.8.0.0", "to": "119.8.255.254", "m": 16, "label": "Huawei [HK]"}, + {"from": "121.91.168.0", "to": "121.91.175.254", "m": 21, "label": "Huawei [HK]"}, {"from": "122.8.0.0", "to": "122.8.255.254", "label": "CN-ISP [CN]"}, - {"from": "122.9.0.0", "to": "122.9.255.254", "label": "Huawei [CN]"}, - {"from": "123.16.0.0", "to": "123.31.255.255", "m": 12, "label": "VNPT [VN]"}, - {"from": "124.243.128.0", "to": "124.243.191.254", "label": "Huawei [SG]"}, + {"from": "122.9.0.0", "to": "122.9.255.254", "m": 16, "label": "Huawei [CN]"}, + {"from": "123.16.0.0", "to": "123.31.255.254", "m": 12, "label": "VNPT [VN]"}, + {"from": "124.243.128.0", "to": "124.243.191.254", "m": 18, "label": "Huawei [SG]"}, {"from": "142.147.128.0", "to": "1142.147.255.254", "label": "Web2Objects LLC [US]"}, - {"from": "150.40.128.0", "to": "150.40.255.254", "label": "Huawei [HK]"}, - {"from": "159.138.0.0", "to": "159.138.225.254", "label": "Huawei [TH]"}, + {"from": "146.174.128.0", "to": "146.174.191.254", "m": 18, "label": "Huawei [SG]"}, + {"from": "150.40.128.0", "to": "150.40.255.254", "m": 17, "label": "Huawei [HK]"}, + {"from": "159.138.0.0", "to": "159.138.225.254", "m": 16, "label": "Huawei [TH]"}, {"from": "162.128.0.0", "to": "162.128.255.254", "label": "Zenlayer [SG]"}, - {"from": "166.108.192.0", "to": "166.108.255.254", "label": "Huawei [SG]"}, + {"from": "166.108.192.0", "to": "166.108.255.254", "m": 18, "label": "Huawei [SG]"}, {"from": "177.0.0.0", "to": "177.255.255.254", "label": "BrasilNET [BR]"}, {"from": "179.0.0.0", "to": "179.255.255.254", "label": "BrasilNET [BR]"}, - {"from": "183.87.32.0", "to": "183.87.159.254", "label": "Huawei [HK]"}, + {"from": "183.87.32.0", "to": "183.87.63.254", "label": "Huawei [HK]"}, {"from": "186.0.0.0", "to": "186.255.255.254", "m": 8, "label": "South-American ISPs (186.x)"}, {"from": "187.0.0.0", "to": "187.255.255.254", "m": 8, "label": "South-American ISPs (187.x)"}, {"from": "188.0.0.0", "to": "188.255.255.254", "m": 8, "label": "South-American ISPs (188.x)"}, diff --git a/config/known-clients.json b/config/known-clients.json index 2d30ce1..f1d94c0 100644 --- a/config/known-clients.json +++ b/config/known-clients.json @@ -5,7 +5,7 @@ }, {"n": "Opera Old", "id": "operaold", - "rx": [ "\\sOpera\\/.*?Version\\/(\\d\\d)\\.", "Opera\\/(\\d\\d)\\.", "\\sOPR\\/(\\d\\d)\\." ] + "rx": [ "\\sOpera\\/.*?Version\\/(\\d\\d)\\.", "Opera\\/(\\d\\d?)\\.", "\\sOPR\\/(\\d\\d?)\\." ] }, {"n": "Firefox on iOS", "id": "firefox", @@ -75,16 +75,16 @@ "id": "safari", "rx": [ "\\sSafari\\/(\\d+)" ] }, + {"n": "AppleWebKit", + "id": "webkit", + "rx": [ "AppleWebKit\\/(\\d*)\\." ] + }, {"n": "Firefox Old", "id": "ffold", - "rx": [ "\\sFirefox\\/(\\d\\d)\\.", "\\sFirefox\\s" ] + "rx": [ "\\sFirefox\\/(\\d\\d?)\\.", "\\sFirefox\\s" ] }, {"n": "Firefox", "id": "firefox", "rx": [ "\\sFirefox\\/(\\d\\d\\d)\\." ] - }, - {"n": "AppleWebKit", - "id": "webkit", - "rx": [ "\\sAppleWebKit\\/(\\d\\d\\d)\\." ] } ] diff --git a/config/known-ipranges.json b/config/known-ipranges.json index ca451b6..ff73d73 100644 --- a/config/known-ipranges.json +++ b/config/known-ipranges.json @@ -1,5 +1,5 @@ [ - {"from": "3.0.0.0", "to": "3.255.255.254", "label": "Amazon Data Services [US]"}, + {"from": "3.0.0.0", "to": "3.255.255.254", "m": 8, "label": "Amazon Data Services [US]"}, {"from": "8.127.0.0", "to": "8.223.255.254", "label": "Alibaba [CN]"}, {"from": "14.160.0.0", "to": "14.191.255.255", "m": 11, "label": "VNPT [VN]"}, {"from": "24.240.0.0", "to": "24.247.255.255", "m": 13, "label": "Charter [US]"}, @@ -50,5 +50,6 @@ {"from": "2603:8000::::::", "to": "2603:80ff:ffff:ffff:ffff:ffff:ffff:ffff", "m": 24, "label": "Charter [US]"}, {"from": "2607:a400::::::", "to": "2607:a400:ffff:ffff:ffff:ffff:ffff:ffff", "m": 32, "label": "Zenlayer Inc. [US]"}, {"from": "2804:::::::", "to": "2804:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF", "m": 16, "label": "Inspire [BR]"}, + {"from": "2a09:bac2::::::", "to": "2a09:bac2:0:ffff:ffff:ffff:ffff:ffff", "m": 48, "label": "Cloudflare"}, {"from": "2a0a:4cc0::::::", "to": "2a0a:4cc0:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF", "label": "Netcup [DE]"} ] \ No newline at end of file diff --git a/config/known-platforms.json b/config/known-platforms.json index 817432e..df8d910 100644 --- a/config/known-platforms.json +++ b/config/known-platforms.json @@ -13,7 +13,7 @@ }, {"n": "iOS/iPadOS", "id": "ios", - "rx": [ "\\sFxiOS\\/(\\d+\\.\\d+)\\s", "\\siPhone\\sOS\\s([\\d\\._]+)\\s", "\\siPadOS\\s([\\d\\._]+)\\s", "iPad; CPU OS (\\d+)[_\\.\\s]", "\\sCriOS\\/(\\d+\\.\\d+)\\." ] + "rx": [ "\\sFxiOS\\/(\\d+\\.\\d+)\\s", "\\siPhone\\sOS\\s([\\d\\._]+)\\s", "\\siPad\\s?OS\\s([\\d\\._]+)\\s", "iPad; CPU OS (\\d+)[_\\.\\s]", "\\sCriOS\\/(\\d+\\.\\d+)\\." ] }, {"n": "FireOS", "id": "fire", @@ -37,7 +37,7 @@ }, {"n": "Vintage Windows", "id": "winold", - "rx": [ "\\(Windows NT (\\d\\.\\d)[;\\s\\)]","Windows (\\d\\.\\d)[;\\s]" ] + "rx": [ "[\\(\\s]Windows NT (\\d\\.?\\d*)[;\\s\\)]","Windows (\\d+\\.?\\d+?)[;\\s]","Windows (\\d\\d)[;\\s\\)]","Windows (CE)" ] }, {"n": "Tizen", "id": "tizen", diff --git a/img/clients.png b/img/clients.png index 50f8a300e4b9972b5644e195e476dde3d7fd41e1..6e59da96cf0abc0568b735d49db93ac3e0bb3223 100644 GIT binary patch delta 23047 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˷M_i%nQQ1fR5ZBx@&Wc}3E~W9z-tFMI+zb8>}&hCz0X7|K%7@1rGV>z8{1<@^N@JPB2O9Fi?jqc2>;5!bv%g9jtKo+ zF?F5iwzC7;gX?0m%DN)O*mZ{4b2u-<;C8_ix_SCPCwAr>T5?8syIiW-Qj2Z3=#~Kp zv&dMtc?lEmCxFhj)({EoX^jTm8sf$Ro6D7@I^M}t?SFpUFgdKQHbn%Uow_}ZW?vVymikv zq2~yKUJ&Glc_vy@!Xv?}?;*69j=0^i^{uD|gO2AuAHdR$n zvU8aMH=gdWIkr6}j^DSh2BK+X@o)lRk-%sUGl(y{NCs=dHf#6i0lD8JN)ao8U}m>h z9H|8RApb6pzm5h}>K@K@yrPA;RJA8FNYu*z1<19T$ayS*p%_XLvx_^SFSLs-=FbL* z4?uq@1Yu?rVwt+p8qoC3K`@CCk28C0S9YcF z)7=5Y*+{Z^=QUEv;NdiDt|R|pY|1F-2FFoEqT3oXzdzX>_Ophz?1?Y(6aaDV945?l z5;zh+AGz-seUIaZwBFaiUOfxCPBB^&I}b*6gGW|8pPie*y&sMugu_8fd72)>jUa#C zbwX<#-`Gos;^f<4GMt&jAYwzhb+Uc11$MKIi{t?F$nkK(d{uj1xt9><)^@ zLukPOwqO?tpCj$lIU?^CM`U20mOq9Vsl^#0HX>agFYSr) zqxUXIVPKwPA5YQD`zc@>L%NzrI@&$jgUB)0c!UFR+`=P|JkNwn!OS9|D8he_R?;*u zF&~r;hy{oO2?pl*G!>gKkkZ63Qn(a-MBL2#oKv15<-oCw)Y=ZBILAyxDZo6Oa34I% zavGR$N2LQ`P=jQObb(}=KfG(2k&tPw`N}judeJm}Zb&=^FZSPf)-;zcGR-iq`RqTY zS%G`{;9e_rt#lB6Ilj%?(@@&(*zEA7~FuB|`Z@{??_$?Wq;9jc)I+A#zC#)&J3u}L^5yQGp>-`5H z_PXgcqRJ%yGX(ojEg%}*DK4u@tXky`iFluaU?9CGYJL^((?{s+>_}ArTJdjmR^vu+J-tbFE%n4LX!hzJb2!IP@)B z&>bIyZOZc4NhpDkNOB1{d}mv4!G{i}m{kMx1)+ywg}IS&%Y6s?Oq{`{!<{nt$TW~6 z3ke3O2d35`{G4L+|E)*60xtB|6*w^m!liWXyT?$7>k5*tBU*ok+{bd3S^~zmu`SF* zJvykdet1I_N&p%Ev;=uuOmrQb*&%)+3v9wQ%{;uCKnD#VQ3njv19zi3qH0$bQ9p>{ z5Ip6{@I5oG!9_U#_A5khz}FAL13u>A`HnKDWfMJvemPfq zGPqKw_JhR5^SFOF>OnkZ^d&_^s0Yqp>LS_z2(a3=B-yWebcn8=)0sG<%L3e#5-_@` zYaChVY5fZAA&fly?lRO150G`iWR!r1f)eP$fB_~CV8d?>=m58&5H9C2m3A=UE=npM z0P*B^ya;sGA_0hsN7s3@x6>?Sb}UFN$PVx|zwM4VquYNH#DS7<2+xCoqXijO78W~C zEU}odJ-HmjyBoI_=(YrLpd{Q+SedmwiPI||S0A$(fks1b%X~fgIzVB`5R;3u-G5}%jnEye^Dfpvn`0=Wv z?_hFN3?zTaW<6~&qhSi~-$mhlJ1Dqit){m(^N`vjV8o(JK^F!f&aP`g=FGE3Wu0^m z`M&=Wgtk-Uz-}@^?3Yk+&NQ<389dZLG_Q{#!N=X zOCowRF`0kflt+}3} zHT!=l|Ki`szLj51xOHghtN++uhrkxV!F`bVMcieAEX57z)==JW9;Bjkt|EJnUgDIJ zkxf}M=8{@iLcvYnLu{!{nwdEI4J9?ds3fv~mj(vQWaPexwS_CR6}gYYcG@MBGnxm{ zI{}QHC(NPT3%PI76|HYSM_DJIOQ3ll)8>DcJdRb7wZ#jAcD%RZNCqcT!G+N-OomCZ~TSwPdZGl zau3-HLKLn`r2|)>fg9!LyxYswj;;2shw$4qi{R5yw9jQtpUPDC@Xp zincnb>GM8RyKo>XA=NnWy1Mn~Xo!F2pMq+OK?+*oGMitb-~of07L`-ofBMsbe~h4p z5BrjLYd#vgMVx6dO{UEySkH!wZA%Jjp(&wGqiR_vQ`B2ZD&%cOc})U>j!F+@3~41- zpN`PQjyerji8tHC7@)PX;YtDeUXgmyndpGM57mD>iJHGDqx1polryQ8@}_@Ri+z({ zA`k;>5Ni@37_4KH%T|#MS27}d6Y*05Hg3fSGpXU@O2~W=9e!~bHGEV_p=xVTMnY)G zw1QjKu}ZC%*;%kXXOqiTF&XB8UFaI8n)qZaU zW7qtL(ZyT~i>gxYv!5fDtfs$jdYFg$#SLr}<2Zj&JyjkK2;v1W*L9EG%I10$axdhY zs2R53>@3)x=bUvVwSp}e3ZuFW~~ z@;GsJINb-o3@!;auV>DfJBqEMyQz_iCQPHHhrgl;r6-b8aS1cs^wJ|FJ6x8_gv?`N zxso#~2*uEa0VC#s?qQSbI_`KiWAZG>wwLAf#b}F8kwg0kjzwq-S17K36vU71^pnB% z92+ZS;naQDvL1wgS=fJaXz@AWvp z8rOXM{PzW^786KeaQ&pFOehFXIk^Hi*~PEy3u0GUexc(j2m1E-3H#P{9-MyKFzL_# z`k^q6JA-EDNRU<{yy;@RV9?aTB&Y zxiXgcIJVW3&l|At+H{oy_c+Oaw}Zk1nVk4-D(Hx@Z|RCLb?gZEDO6(qBIk<1Ig=Ht zn|XfP-qF(>`F($f+xuxzGrD6#c<;xDw6sJ0;(jI-p96lkox^S|H>bko+&5BuN#9Vy}mC>yZyR&`3A3u*LhtCXLAue z;M*Z4E=moIkqzDKD@4LGX1Un>1O8VGQCB?lcHxv{;`@KlH+yPBgsR#Nl68styJWhv z(r!9$_iRzncay&fTQiq6L(oGB`pO{QhvgZUt(YxKM$J7h=BGS7+FWnYi|eBlf)`cL z5~dd^bmve94arfZ`(Mk?ru7lcsE;k>Lnb-@pjjdFA0{p>N?K&Q%%vT^Vx1Nv}C* z(7!k8Vr+jzg;T$%ze*P(s^Ec0M(=+1vc6lQtKu0InbmokqFKq4iu*8E@dHlscI-4~ zB2L*}W74OaSR}kuPoiIsveD$8T_>)Mn(S0@t0)08iZQcFz(2%KqI98(A@)kXsk#|m z_ti1t$nMP(RqC4;%XTM>Ji%GY8B8M1v`_-hc>I3{i;-;LupQli_m-fT5s7RFM=m*D zq5Smji8Hi_sj+@A;RF-i&}ICoN;<(?`<~6=eT%*~#e1swEjP1A$<(Ld$ix{NmIdqM z8D&PCkkS3tyz7{V;@c(54W+ggY6n#u+h0PMcy!{7HQxq=>T~K~WFC;Qt>R+wNluDG zqJV$h*_Vm;My^j9cWmOjHih==+!PwmL}RiCEv9K&CFsaKQPJQGQtfQgh)#fe;qmXI zAqv^weNi3f-o|v|On8|k(`Gf@6aRr*amjG2;YI>F-97ify5>6Vh_hk2uFe~_e{aBN z42a(!rzJ9MntP>_O82n;-H+6h?a`!bdsBaQDSR(3@V7>(akoF5CkNL|I4RvV`b1ZG zIA})JFAG$!_}mxSx+XLME!57$Is>G(;q-7JikT(5@4!W3jX_cWbSfH2U@yu(#s~hl&I6u9|E*l6e#ra8G4=nd?bA_w}LdLM*&NX@#q8zw&kU*g`2mo*LIv9XTGZh7+{sDhYj z#^XTE{{wLzHM|XJcAPjPQG#TkG(7!;pGNSw5F0)#Y_Yc7r)7uE!=Ldj4<#=~CR6*n zK(`FyxO}BqvC2zx_e5zX88igttvr7Xk>jKis%j0>_P_0?@8;&x=O53Ij`-5TZW&y= z+U)gm1KmR!T@Jz-2~}Zm9o>A7_8bCadcZ!_-7VE9+&nOpqy zB8YPoXVp^YtH9(cFtFpd7r86OzboV!kwLfoG+W}iNeQGHg3rvWw|MDeL7abm3Mamz zbHe%8S`n<~p+@6_&^l%PboG||yPjT??h@l^aOS*Fu zzaWfg!9JJ`_-fcm@q6Day7Kx8t0dyqdp4N89z6g};GA=}D^8rZjM$9=(67;m17Am{ zbXcr^{tcq4>rl-Sm~lfJ?SOx{a%kNA(b8_g;HFjPbN@U{Hwi+?ViCUrOdRIvk^-Wk zsNfLlz=;6hVsw0h*q((Teph_3mX&}*-wb-6&XvxWK58<1Ew84nf87J!V4}$k_y&~d ztU{vkkarll`=N#CYbM5n0DKLb1|}LO9%mq#`h~^PSo!6xG{^y&-PRSQ>u45wM z~GEvS5?C`Dpa7rxn1LF5GW1WiDQ+(Q4{Ja2m!gK;J=@|AN{4dM(pF@fM zJq#fTa=sKIcn9ZEHx_@>IN@Y~p@cM)e@jOEI+e!Bl};MUBkS85h^~e>E*?bmF0X$; z*s`9VUZvy;h#zwTah6s(i=;b5%q(8FDK6x>KJnGtxqJ|pYci4<#lR)tl!ByVd2fie zb7l303Vv{i=-Yz`xS-eb%g|uB;yH`)8+e<%AA>)BP3PYoQbd17MOB>+BbEozIzJsja48ACK;WnIm z0489kn`jP<+P#0!`7z0iP=Ww&Ib(6c@%v@cN2bw-@_8lF{$?M&p7LWnF>v!+sGEEC z5;Y)JJr{m0AEg?Kv>E>HBKC7!`CJNS#^U0wN+10=NB&8au(uPPZFQ9S$*W0Fif z`AQZaBFuLnqVG|vXAgoZUk7!cmQ7DAJx#t#TnD5w049HCT(;6f&%s(|if%n$5l?ZT z1oNO-8Bl-iS9s`&TbgQyM`qF;Kc1zeyd^QY@B%C6$Zy`zi^djb!JbQIM96^ONEVH4 zSz}<};I-%j4p`6;h8cMOq7r$0XX1=5B}m4pUmAn=gy@2OAvysf8;4S5Rc1(ZVHwrK zH|+V#K6AvsL14e4oLOPI+vIQ+%I; zFkU3|N$#puJTY8AFaTk$Ql4YYulD9}{{I4Q5j@292pI8bg8&ofr>Xx};tZz2w5)k{ zF|qLDk8X*pqehW!$`n$^j3K$Sl+0j|OrMXmb?Yed<(H)I6ocU1fxY%nX7D@gB;M{E zhg^SLOs?B*Bio6*dg;huMu7((B!ioGSNx7e)G#vhK zjMuw$!E|Q8+L8c^A^mTEBPk;>igQdzd3luf=RcE_#)_7LVrGzXHto(kNzTtF13mHZ z+i#Om&4Xdx!)R=z@H_92ap(}qJ$jJqmRo;fza)^xb-+_R#MB#Q;6TcJ&3Yq*_mWFU z-@l*a!a~Xfqi%9X-fONQea8-wp{!3nK~W^~-FPEun-gx50>1&cgMreQ-}7R@c{MMOvJn2ye}u?7Lmgo~d3RoRnb?0a zSPDrH3=#o~+?&_CS+LEVnIOP31cU$hhqa#sy{bxRoc)Y5VrRf$aN<=J48h=t;C2un ztcWgOPT_?MAu~7wFbse20ck(}m~u^b;9uBS2^fbtwCDgA*M2&GWWz%6pZ_HHoH^t^ z?KBEL^%U8rO(S)5>bvK;(vuKi28n+WbA4ae#X~M=MY0B&?d@a+aEr}GuHXD7cD4ih zu9WX9q%sJ9nEIl61~($-l~=}&I^ewULeVHYLtC5jApyZ4AtL79=>h@Aym=(|%F5JrV+FSZA;1%mS9Q=7=b6A=xVrF9KVB2j8&%d)>}z(rAEg_Lqm6(7T|xD9RD6p z0<3x&sL;;#NYoKDNEsxa6(?Y}wvzv@yGYyCWy!*)oF#U1DbV-sCGX{zQ*>EkDU<*= z#LmQ7q#j(`4ROYjpYL#>j$99{L8jj?2uHs9>evp4_rQdGakmqY{tvhhKKUW5*5II# zmOe^(SCL<;;HY|V1VGF0^(1pR8$0<2{iH9wpb_rXKg{Zd6++7`@kgq4z zHCYRb`d4Jrz&`oMy#J^dXvPw=rm2~H!G3h8){>sjqf;oHOSxHgYV$~ph4qu=(Rr<((Inu^m&b&R)v2}>ogwZC0ZSxNN;@8lMd{%rb94s#^$}2@e@iX znbtG@_(crPeVuJO*pQ>mQefNz++{a?vR~r$f z?OQOA*8gPHpURbM(r9uwaHrTpTr?M)>7?sVYNI>89ZQS1DKxk*KVgS0*k!GSW@h#L z^%Ghx2wP0JzB>G}EXiF1Di%}UGiK1AC#wnKg+uMs?3{l@2lX*x>+Ca$1`Que1Bdsg zUFP}JQhB8iDZ>-(n8u#aqBuDBIin}i?8*?;GzDl2>>Lwkq@ico3np;ZNQv^ZiHa8E=_j$`qTH$|YI1}+}86zqV)6Ek#D#&uCnu?0y zcT!EQLA^4*r)O_`RLJz;s#yG=gg|Vj6*J-e_%UD4m3?;q)pXMFR^2fY44i4dCs)sT z2_`ShJ(p~|HVP(jA`H$k=bRJ6sI_u0h-ckGr;INou2*pqNbE4U(S5n(I+8rgsb{H7 zEunut^wzdBX+uC4#`h3`inrV0KQpyay zLK(^i!KhbRYVNapD8js~-hMoV^v5Y9OA&uwF2h+s85s&?q&dmq~xt7%Rp0By7dOo6b7B4P3_H(fa3G6d7gzefytV<#M9DwyG~tpIAsY%GP-|d z0KzQr_;+J@Ea_-qRpQqVJq$)&8cr7mAkMaypCBboxcgb)<$ITdNlF)|Lk|HE=XVux zv41IX2H&$GMk9el31T^C;+8q=4k{`zAJvlFFXrVMsgG{i-j9iwL@8Zre@5$p$Kxpsf4Q6VbHZT^1(9EAbD zw6MlnF)R)1{*s@8G0fmdZyHGCT$(V0sCUO;)i1zN=3N8EM`+OPh&3~_NqO!Al7^%X z-TWLdgKpQf3LM-^`fV3j%OkULN&d(CB%Le1X8dzuO^denj{xYs@m6fv0Jr30w}E7A zI5q?HTI4INP~BYe8JWv?`RsqshBfaRsUxsSh9r@E`(vUGxGs#pa|ixsgYCz9Ip!?b zo_B#X>s*p1@*9Lu;eSPA=L-M%VEgLv14 zK5@iK!Y;GB*Q^{3VyRL*=W)dAAc5Eg9c$2z4Zeo2We1Z&oYAEO$%y$1wsf416t=7f z;a?WEBqR7a^_O*;ASpBmHIs+P$}|I1W3h+{kDn)y6q2FanWJZ5{WV&m}tlxA{+duy$-{pa)3$1m(KM$cdhEy#*!wIq?32DkBS&_VDXu23`V#x}7m{^0B#56~vSAMVFxQ#Rr=69xQA%y}}pOW@1x=_KSj@nTm z%gWv1NF?z_xda2mEq9`*s*YGpXX1i^P65A4!7Wdb_TkNB)F*~Rj|jH#s-oN-JG2;t z!{Ku1>*-l7NYiJJ@9UTDhCtkRFr}T zc`XKtqD%sVOlGf+IGuFVfhb8-A_Lp@CY{_KxJwuX?c2*J{K`DiwyprR_~Z)?{tV72 z!c>i!xMWEZA6^g)z%eoY;v6!bl;dtC-J_AA*^&6028w?Ok-{MxnKmaG&0kS?;fWM_ z_hB+UE#gtX*XtFFf_RA;Gs7v-i4zRKG4aAj$!4eA3s4 zVi;s(P%w(Fxt{_rUPHd!n<;AW9AAF zb@x!OhgOiY&umiK(6rGC-EI6?2t}+(6HJr>GBgDlZ&A^$Z=n<}in!b1q9Gz3Ou$Ge0@TplxEL9TqLR%(BpeYhZ4(S~ za&ivV)YN>=YIY>38Cg_(#zj>2_!e>uzLdhvO;BO94oDCZ`{0S9)zsj#_;@4y$$>`}YgE&L}fR4=Py>62K^#_t_K0!sJ za~M8MH0(xFuD$!Q9%X&RoC-#w1dK6b#yo!@M4*&CKod{bb7+Dw9^KvSvR)F(V>Z{cAcoj!^eSA_`@c=c zb`n1q1E-&#IqIBW{i3+_s3jP3(nWvA>CwogkPE*tv;bGzpvJIWG6%W*;{EM5hik#+ z&t5&^>kJYMwl02e{ID74i}w!o8Fg~5nx6icsYOR9c8AdWw47W@&o3km>g(fv8k|jK zaR!|_GM5T7&7fV)e)-Hx?(Foon3xuATJ%=#p4ChKvTwuEyvp&jPd7~Cb0dFh5x-#0 ziFEr_b5V~n*#XrVD(2GD$(fTwcJvQaXBr)Djgs5zpnNUpN;9i&UiRj_%XTe!Kjjlb zq6AA{|NE^wSA2C*)}V3wUs}Aq;=~CfsM#B$i>3{xESHV$czXi{R3|yIv!S*+g*YAWw6WbzJAw{!A?G4Lr~?OVaOlEfqS1?R1Y0nFtQcHDQ_ek`CZ2y8HM)Zo<p|(Q@$lFj) zY#iAD4k*c@40uWj{X;g3(U5}5-Hz_g0(hyh_@V-vf?N_Y;)OvNrgk_Z__0p ztE4z#dvLzkp$S4!77dakJ(EQsjw3!FdF#;`0pqk>L@F$44k$p%U0YQqN5Y<-20W2u zgX@ck%&n zvVagY)E_fSR}DGh)lIQ~_AXYp9&eZeh(|NCoHVmsB@gOn{k8*$SD9ceftk&YzzYnb zV1QgvPIe|01Yq}=4);6J0F*RmRCcE4wz3LBfdvB_bk*gwQAUQ7A`J)V{wY~BYfu5r z99Tg2PfVvrrnuK#7c~MmcE+DP7jkwfG!{(}dc8=hVsR**Vow1QT#p z0%=Z_($XB{1e3P50M+l=MdPG>G(p}+k>(m|*msaTZEngUsHx8@>cE+nMzhBD1rdqt zX&GoEC`td zwvDd1_hs6=Ww&U53+ZUp4_rQ#hGhCkj@YPR$WX|}AjQlwVBWuzXWeq^>YU#F{7r|w z2v=BmRy(kRp-q)&{P?~k^&diye7&6>`e+?hd!jHC)>k+(P|{a!nM%FnW{P;4DSzld z3bnV1b%bsz6dq1g?Wa#ZG4IE(KlrVx*r;qUq6O3ke@atdZB>WU!oCPP8yfm&2u-4hmLobvk@&-FK6iw?Ejof*^k|GILU;s? z4wM&6BMk@}iw0HAxcH{-r$vAG{0sJm9XsBvTeG^Hm)}{rjs2JeCYTQEo7E$o(hJil zH#duH20DvMLG3NCuQ~U?PhThQN?{Pk!ufx?;qa<|AFd3vwRQVDBcs4Ynb5M#oHVFu zx@j-%|I*xB@9i=ye?$VGz3`%I*RH+y*uCwO+js9u@BHox6>6MSTwpkQm2Dk3Zp^JS zFS{mb%&h}QWRQ%duf3A(_xQ#h+<$07sI?_CE8Vp;(9*K(mUrLnmS{4L%HYd)-_2@m zY`ofk@AFOay4^#=!C-ILerU68r_<$Hl98GDePLOjJdv~S1(ZNV?)tv#+aLV>Jakk4Rg_nlZg@4tY-pr#Yb#}DX40ssQ$9+l-4^5N=g8b0he z(%fzuI&mVc-?WL=Z{JS)>YJ#lrj~YB?V~!B;J8tv;N8L$1ar|U0bSG5+S}U)RtHwU z+tNVjhXT`2o$(^%Jc&OQ6ymT15kQ82Gn2BA`xVILuG$7NbBn34cLh1J@~FDiO$}{r z)YjZcBPI3kfqd3o80{M8$NT%=5#JE@?etm1_rcYIN0Y$CFpUT zuYOoZJqHb^k;8^lpR(T6qo@$3p@5pa0Xke;L!p3=_U@^ob~qmH*Xii_K+_a|)v5L? zFE9GHGX0e47el7!L=bB_9WHpYG?B{7D(JxeL)0G9skpQ^Rf2d)k9_eP+vsL^HC+!= zeO(RBKL0dAyg@-kA}#(fg^L?sHYmQuIVSss-pJgi}(X-tk=BH z+TujK+1%0$^9)(HwNhPU6E!xsQ#0gW-`GqZMA$yJhk}s59oMRgPT83%^?(s9E^^R} zStCj^GF{p1w(O8Uv55F3FcA>vFRf}iLKm1}ue+JtEseAjrP;iFCvDk(u}kcG5Z!s& znkgI%lLJw9FyIw^X;vmXd_=FFJ#zB$veT5xVSVpZR3(#h&-$$>{DDD42gp@la`{tVrfK+;%AtL) zci0^TVdR?YfV-)zN&cXJpZZnyqx`&l+PQrP1rU1%Jnhup+(gxA2SJ~oE;x4%oiuX_ z9Xhz3B4NZwV4&;h!1K}?`1D9r+otpz-fyJcW*_bK^S91W(OiM34;~QlBG>)<_oLF1 z9u!9V;7=wWH>593n>LYV&6+_YjvIiM?MI{ACzL=CNA5W|w-%&-(;{W)*kJ~8elgbr z%TN@PbAql?J91nPS&tkx5|!$q5kvdagbAZ**w6vguWvcEx7E`As%;RfiVVa{zy=Y) zI<~T`{!_Z+!8^074pkk-*~}J%uTj~*QcySHlP>4lC+^OMuZWGqq1!PeoyFGp3t-pVKA*(5yhCisX zyfZ(qfU+{ONJWbb`=T_WauB6EeAKs3uBb$AACU-RQY6lQHGfer!nTWhoDeC$JA@^W zo{`f8W#JEySk`p)(p90Ur%cE=;R@&ketMKs?z?1YWC`t==>9)R_`m_E?w)X8<|YgHg)OatQT> z85Whu;C-QgHLNipuA&d^N=s+r9%#_>*Z%5{{Lu`7gu{sgm42?xW_u25nzy&=pe;{U zXz0Lv6GevxGeKdFpake%aic^$3pLjevo}Et|9H&}e@Kaqx-ek;{!e!d!cBjM9A_V{ zu0_BZ@*IC$|GbQJC&~iq;33I2xMB%X(nAo_SE%TJ+poXrzAleTx@8c@oqxV-STqv7 z3mP)3wap#Lv@7=Fyi8wNX$e2TtVN^x3FhEmS6_e6FMEGc0`r}`UXi~n!xJocG(G+* za2_`1_c_YCGcd9BNQq;rr`CwFxPcg*;`rt`rlWqk&tD}(t?UK;T< z5^Ont8$Nzogd*$Ux)?*r3P6HE5ePg%_OcLMM>|ik8c?JGD z=48==Q-HhpS;E&FzNNWepqgTaF$pZL@mwdu76DwL9mLU-?vqwY!^(%k6zJp$da2dd z){(regYwpQ|0s!!5_v52wF@Nd9hTH-y+tbEfCMl^cnQ#m9J5TD}$bY z|Kde@cGthC#Kw=8iFSqe(Q_yKg-#!RD*g9|4=F!0pFZ361-)AL8XB}qh!9}y8qFnO zJ@2B5VFN)FJ8}FAY9TrtIzVfEYiO-!4Y}K!DG&*;iJ*BWoJXgPokjP|zLN&o2g8gc z`Xo$qE;E=R4go7Ff==T9_pRSk8^pnXE|h}+#sfp{qvt0+OHWRIj4BH&L{8Z?MqswH z(lV*s(c4nv4ov4+Oo?Y`{5@V|n_igo91ZI|6cuSlj$#FdCLZ5+9F-TA!2#t_CPc?2 zWWWN`zS=7K%JVfJh;uQF;1YCv2>^ZJzm0r~E}3=_jp{d&dghmk06^p)SAP0`(`WSB z($}e`xkf}E;xzok!G=S0-@bX6KDN zpKdwz*P;aNJ|0=NA`n)DKhC_Hre;k=KLP$G3Cy75-8jf92VR{aN&sR0=8NCbd9PnY zeP0?v-)&w@N^H(uPI@*?7&4xJetrCnmhN;wd=IB%=`XTc*H$lbmW(hv_%P8n|5jS( zT}Q+VO`uuv>*8@O*HBnWb@`8b|y zMl%BBmlwZA5AA$}WP8H+iH2sCalVs3eaK%n1W-&w4(Ak}O=k?6O_fCzl*XgG=~+~q zR}8BVpqiFiL7a2Fy=Di!z4KjKa#?~cc4THM3N+L28-o?HV{u)NZYklE!BQP zNq8j>KQiZ4CyFROtEdf$=h|`aMO2OeYs-5`mx6fWo%?ZgEkQCm!WOo;Y!s8j7H**2 zhW>}Jr4weny?shRR(@}o3YhSaCv8uY^ryd@Hz?&T_1)o^3?}@0&mC@4d9(p^TVqnm z#$CmTQwtn>#`df45j({UFnETF_td+rx7b22$(cCPBhUKc18=IK#M!VSAuF+RW zVcq!Tc$Gb~2r1OprqG=7G&-xNlWy$k zpb3>}6h^P+w#sy>w4+UEGCi~^OykPzbh1mOx~Tn{AALQROnCmFc&)2o&_Wr{`3?K@ z!x5S06shRtOY{~ry$t?#vlo&i$OqFCTaZQ2jr$lnnE4~)TAkh0VFCGzCePB)@fXY3*OD7t#znu zLqZ^?PzcwMAybQ2q5@PtMY*%6P}Go5NiaC1DL>U}C@wB+hRI3iH9BC%$NPB_6XZX- zhe~OGcA2&vj!+Ql!w)bH24L7@8OwnRxA`q*bzo2xQN{Nx1cOb(UtM}@W-Yke>5Idt zRF_Pr<)GLhnTCUzU6m+PMOO`+KH3(ga;T^R&o&6!)BuqT#x*6mGJSUdYNp%iSLqG3 zVfbr;fzTpzBW?FaCJ%mf&l7apzESj-aVCv_C^zY(PfRLtn$!$&{I-`wb4SWF`M*$E zWUC)Pnv_l2=OOy!beS3_082kD0O*VEXtJeo610|BA~O(xZOxKm}l zJEx-1pxg|Zmcl81y4y{!jafh=3(!G=lnh*@>%IPFAAd-^5CasWLkOB-KolI>49mNp zK0e`QaLLnFb?&x!^9B?^0>zyAEorK0u33_`M*`_nK&!R1dw| z9uYCGD1rW3&lWjalV{}M5VGb+zx-kNu#rvg?|Gjt-7*cD0xgTb4+@&XZs^rvD`?)p zYbZ_O0V$r)1QAvv8gGRf+w)1is>KS;qOX=NQjOYE*>RcB2$L5}WHJ++z!mF%8~#pj z?LL!Mx(kJqoS4-@m-Jgi<4X}La<0)JO)qkde!heTiH1(P((`-URW&CF2EK*kDxHyo zA1g-VFmVG97?gqmoTemMOgMACFn=~&p$x}|u%w(DOWxE1;?+oeiU+9V{GEPV(cGNN zwps5|W4Qlwa&}r^=L?EnhnNI^s>tVXEv{+iwvL>`S8Ga- z4?}4~ugjVz-dUEoC4tau1AlKbsvnb0KjK61;a86K29b17Wy&#_K^Yr8CI>N4PjLfGg!QozFu<;VA>}nhY(1`V zUA`mbQ}>K+88F%xPUx8)seWBC>SnS=C1u_M?qqpua>+`~-s|$TOV`A{Uy}-}9dv`7 zOIO!?Km49qn$r78Q+8QbCM5&mVpQ$*Y<16*XB>$*nEFf%VeAVim3~}NcnIolR%LEwhLNP$BLCHF^V6R~>5U zSks+^pH+f&cit%bYWF>7>U!d1*&O^f`6K$yHve}It=spA7V>s~yWHrQ41TzAo;~bs zecLp29$rfzr0EpU%y6E|zD1IyDp^+Fn)=2f{uXu$j>=%|?bpiw`h)LvCeC+-!JsV^ z4clZ{%X8Y&#q%H8_N(a&ze)+bj#>x)hJ(*^Ar91fg62nioBwv@m)nP5x@cE<)RbT4 z`qp&q;TO-G+3|XR6yS&qmR@%1RUn@FIRRjQyFYO4lFjG5xN+O>B9Znz;c!!n%jx_l zmkQ=RPc^laE?Bn=mS1^hsi{XF7g`tx2-J9k`YkKAT^REFQ@#rb`L{tpLAFcCRLZ9y zx@Dki!QVpt5~DDzF`iJAKCNoL-S6|IJkDi+s0-JKKE7su7%4Aw>B3;eRdaj5IVWB# zEV*nC z>xaLt@*J4~G>5+yAYO~gQ%eqb!f!zhQ)Jp1rV;%ei-!jXt9_xbLZP~pRV}FuOhZH! z3_k+hrFHH9wT`;Svdd39)iAU(xU^{1^sgP&T|WAMpIQedM?@Ckf??-PpX=H6hiI(39E3DJQ2UYPA+q5=9s;rZ+K zcDoubg@Gi=i3u#IizCkVfYX@-(cHzvePNB3Rk!^)>UVcL=QmYElAL%;m5ZOab%XD( zIVT%`9_=OMK#ii;xwg*z`L}JOt%dyEpi>EyWyqDN=4^+WVpACF?z&NmhCB-(njzdF z-_YRM_~eF~%MKpoFMW596b4h@_lqHe3@n-CoXjlJ0b;oKQv)Pyhr-AVB1t!Po=`k})7-vayW~ z7%&-Rz<|jhqL2_mSpwyFN|*EIG~s`$XLoP+?j*qP_dinKgq^ACuCA`C?&+S9=m@y& zw%dxanTRwYp2j0F)}?=>H4i`ha4Vne4ZSh|VH-Ag#*@nDj({lAACbW4VO^X_K@SEX zJ`$Ukk;aJ=>1c~@3*y^UtUn{a&sEC(~%fnq$iLbkMDmorsA4;*dC8mi{wOl z2DFA^DI6naUGm#ii;#?;u?Elj`MJM8#emM6P_L-3%iJ82N z^9r`f68s*C#bO|xj~h1gNq|Mh^%O+tDPJwIS`J`&SlaovhU5;(Cc za`9Mm0!TZN5*UAsl!?SS+r=kRkob*DyqizNF$Bqt#M;$|8O+7bM@avF;1p&0^ywF1 zX9m)Kq_>bZ#8U$j=aTU@(h8)+Z=Cia4M$?Iwta(?_>I*#7ilM#fPdr)dKz;41-1e> z&*%6zMkRhb7~dDb@0HkarWo_^dqQ3Lx2LhW7U=`7q(p!7=NzRXFTQ2;W(r#3TSk6- zn?Qorgk(GT{|n534Hly+zD=MbzGW1~x2Y(KZyD|JZ2}2e>$ncMxwElid49oX<0wPo zdSGxRr!r))2+y*1MO`&oy8FGOM*jDdx zjYw<_**0B<9DIfIY$<0Uv5Dr!#rGUQ%0l`S*PMThYq(OGQ6Ho*(pa1qjwj8d;X-y6 z&mb`q23I~iAl5VnZ~2~tNcngQ5{rz%#IFJISFOWt3>fi}uy0_K+a2sO`JV1Am%(CT zmzipfNjQa6tXQ$46$X%t8$mh-DfJqbd!iB(U~Rbz=}Hh!H6H>!N{|YahFfrI*usgC z8n%C|1>v6;w)_~(wo?=`%`K!G+oY1u7Q|2Yil5EEJUCM!r@ftQYBt4mlfu!-QpFNh z@m`T=2R|J#{cDotY~&uy z`k`-8zJET2%_8%r@rwEPaVsh2N-`7B^iwE^wiJX0N0|u{m&SxO$;>#zSas})#*S0} z6~9_QFo>Qr^;|0RoFyV1JvxFije``)m`rVo_E|5q<#*FT9wh}P_L#OqKacbp;70&iDTqJMPR6KSS69+(c7hLGgs0h+0w{w1G0bC z>0^{EUlm1gQ3Mz9)(^gs5SRsWj=O*0k$$=T_mSpyli_fZLsG~g+ewz3wC~Gl*0o&n zAjA}tNK$Qi=XlVdw}F(QEhDg1|-v4sT#B|1vvI%Fd~!$tB@9+H1XB1>bS ztySeH1(I4og`*Er(ZH4DbvY>Lu+#USUrS9Z1|!E1sSEYsgQ&PPU?RMPEiU88LZ^7?`P;V--&n57% z1;JKh4mK;gmQ7P(;><(}%cOs{hROUMrRlKIlTX}D_r3Q7J+bORTGu&_I-NQQtK@a4 z6p>Bx1am+bY8!}C15kNhIyw*uR9b1EwU+f3;FiA=iNiDd(LnWilK}sG%BWROe&*wzzKnZ-=+cYoS zYXFt%gU#Zt-$5m zYP0?@E+)0EEAH1RxiZiW6fm(NF%uh-ihX9xA(9C~4iIL561hMEn#G-_sE*d&Swu>1 z^PTp`zj}Z#5eyiIvTlFLP}?reEe=y=W(V{aMRssKfe15U{pMo{J4~1p?;D(ZNH&&9 znzxv2g>COS-}-;#3_%n~GGH9a{M`Xf@l>c8F)Az!kqs)zj3h1zb6^HsS6n&;=QPL~ z$KKX#GBlW=BL5Ee%Kr?rs98v3z^Fw@G|6*`riLUpWb1HhK?g&E1btDr$MkZZX z$melU*qez0+R2$2UZds)j&X1PPa=>O=)r)2I+<*m!Nq?t%efkCiGfzi;!t46bPeVV zZbUI*T1*uNL29u%V&~;GKD{JS19S+CQvMi5905Q%mX`BgbrpS`$3+TGOF%pTa$<58>V7XWH z%Ald4!I6KHlXGW#SiXJrA<4E2aT}-IZK!BqP=Q2)5%Uc$G-+~$6w9@14|%=b`^(D8 zINVG_4+hBfSk-2G_M;s%{-upFxgZpq-6Rclz>SVsu!f?&k`_V33QKg!Sd-=s(bwym zb~Q@FU4SIg7<6=WT-y;<|MAFj$zBh0tJzE{$}xZGt7f8cB_`FN(`15rHCpV(CW&Sh zo7Co&Ns3BTnPt*%r|Z!Ir*R`n&s_k4B!kx0)^VLN+sd=vknE$&Rmz14cpH)}$~EW^ zgm0=yiX|e+kVpp6zBY-PJ7qct-HtYoOf?5R^vZ>-Qh+lE&BjRN4hAYIm6wfWc$pf-qXG&i07u3Px-M;lcC} z4Qbv;uYP$O9YC0~$|xkJ@iAy+WMtgI*Gqo~4<796)9p1kermUsW;u~-qNP3qVTwTp zn6PL#=S*0L2%(}J(a90;(H$E;po_LIrRVbo(O)OrKr_nn$R2f4BV6d?Cq-j!DO@c> zzmHyBOSVk-ja{7*Ek}hKAjE`)X!u{e6owInoe$8MgB$6aPadWVw=JQihDwi3Iv;=G zi<`b}x6w|YMA`7!Yd}*`l!+{&v3uIlJ{1>@EHg>wT(UdGhI1?u3p*Mn)!RgOt$2f$ zeEl5dw$;;S#HkNXzL+BUC6F_`nkv&#&^Eq#H+pl1VT_Z}8pqW@6JWk*Wi9^l?|cdC zJ#tQ_0X2+Le_sQA`{Cns+nzPl7z}^W?m&QE7=1kL9XN_42b=+7Q?8}ub*wiM?Lipxg{98`yu3-kx*} zHD_egUuIoSvO6Edc_b9qa`wT5i(x>;QEOZRW@c=t%!$F>X>8A0bIN*n6Jq=$4wc2J5?gr1n-rn-H5X-jPr{ppaC zUW`Z{XNF*-8rY#pRFMf<%s|t$HAm$~Vm^N~o`LxWP3;>) z?lro7Bt+D@pWfc?p<8wr(=MeyDb9QlN6z8NlptcKfI?~z#F1neg{l2wG_XJ?PdGxO z^P@2^SSybmJGM60u0MEcMJIKJV|1W1Mi-9?QeU&4eh(-3^8S7Z(fg8J%OzXLMK-Su z2|=$LVzfUX$Q83nCtm?qQa=9I*D-+gy&M@0F@3%j!I?TFHB(DC9-m6jcVJt>vwpa)U3 z8KVLD3azU%>A3zHHTuzLp!Ye7kFFTh8O?W^H%yr_CE1ltW58IkV#Qd)FrQu8;2giW zp@6cSHgdwo=xBdr@dqcpTmmZhtwO`G<8oRmNh1`L$M z0qy#Idsw<-OQ+LT8+6bi^cxQN?a+Oqe(oq$pv&7gBSIr{!!hLgK~+^Bm^yXpk30QT zEMLC7FH~(JLY1*N9H$xPcpm>ie`Y;G84g`GV!QU(V~>CRd0|Tet>>TWmK6D1$*!J& zZ58BGDJhC!8pa+os_n*hwW;an&qZpe$#l$?DOK}1d=6an0@RFNtHiC2yMsK$}x*Xh==#_AEueNg0SdpV;`9? z*$wiRhjy5qrXO4S>DT;7#wx*_x98+-DA6CmW$b@Ftcy8kOelV1q7+6Hrk#&D*D2Q} zx0)_v|K*0`kK-p%RtZji@1(n2nsM#}PXvZ%+ijA}GG|#Qw#YehA2ythJ!XD5s1!6x zlFYI~1^_{vD@L5M&XFs!xcCqI7D^|+ImfMLNC#v^Dwy-Bf7P5HjLF%E5JZdOB+I_o zyfc6HxK5ov+@q-xK9#8k9Y)i=JMF>Ohobdbr3P4nEKLQvAqz) zKisD;6ef>9NWMUj{D_N!@LI2|u6M?AZs$jfheIW6(I9Kz0$Qr`g|prDhQoPqe_MYr z>pF<_l7T&l%ASHT3~eDk@}DI*<9M!PD0{Zo{a|T1_|10CLa7 zJjgkh!0Qi@FV2Y1Lv&CaIj!rO0*{PJ+W>L*z`HZGzU8@gS2P+yj#)Gz!63nik4;o| zk((SgB`Su`dcj&W3fjn;(H*8k9{PV}+n4Juo!T!fa?BzUDb4`7zivilC@b_JKOs@A zyV7AA@;WduHyZGI!hm(d;*R$RjvZ`v-Y|PWI2N-?;(>^C#89`MG$=H*Uvq1o`R0iD zNn{#dYsQ76C$Q;CN zxJLaD#Cb+T7k49SUaLjSFcN?1NWuj70uISfb=R%RQOr>$A`Mel;yJeCKJ@Xz_V$op zxh8&jmp@?4eDQ?iWtILd+ofU{Kj9{M?3e{6gpUI2e43I>oq1cPfT z7a-10L9fC-_UYLQ82kY_zZU+WEOAv~G<0yGt)^5}$)3W%1L8Liy0HEwanudHGDyWS zPt86GOym%IgCANeN#;5P`J2Z5qV{m6;>Zj}E#FauDxZYQ##@6@ z(eV<++~{^5kSL54*#duy{K}^3XKjz)(gVFR82e2v`h(hS(4~7o7#<6Il7`rnow|;j zIKvT$C=3@8BD>;SuPVVOS5CZ2Jo-&V4+i6xwTv(+_7eKZ$T0|mpq1d@rI@uv5)3E= zOXnrK>Or^OPl^=&6xW`=bj+`Lf{j3zo&gh2vp= zk4^N6#cc|5kA%)TyGs>icG$I(T#oS06E;7T9NJ7Wn7FKSD2nqG3gt*I7?ZP%C2!F( z#5rcbTEu&@Y=8+mk4P?CtT@9NUOelE2Uy812FN)NH}OMe@hI2OViay`A^-kb3e`7~ z7U9^|YS~;DxI%yI^Ej#uqH=sIm?#>#o#DzXS6Do_6ImUX5VlQZk^4V1VcfIe_M%V=bXCW`=(~WX~bWom>fnXppM z{Fc|3qJ9T;uC75D;4+OU0#RKg6MmP+C}0a=I?!4)^rK~cuw1`t-z-m)lCKsbSFS8v zz!xF0HRXR;6B}JK!df75pOjlxO-QkD?jxZCt@te>nDAf#o7%c1vKfwvNf@b+RP|9w@e)+1R6!6+V`Aql|{k?nK(0nNQ9WQO)KG1p!<$Yq0_0z>A!Ek#M4?# zi-~4LkeEpn3^>Jj)a7H2i|Uvt%bW>w0fgMW9WcZlVDEzCaq#qqG)UyVlAoDzDGb3R z1mb@|5C$`7T|^6QHjL1dGIF|45Cs#40iP>G)qDu;0Bu1Pq5K^2V+s&>pUowZ2~3C? zcu~Otlp=tfdpAU*{$rMmS=7lb`9o2Hcqt6-#b7H%5mABxw*}y=th1lLh<6f@$a9iR z-n&tP^%r|G5N`m%?C%cqXbWgu8$zZ8;Hn}$#O#y9Xpr{!zr2OH`xoG`Ag0j zPo>Ua>w(-8?@P{o5w?hK-{L^dS0U#-M+l`rJMcD=y=H?LwnQz9%Oti-2p>#IZU=wE z*TH=YaU%x`Gn6TDyCy^6_-8WebFFpr#2bPrVZwoqVw`IsE z2^(-z;hrm0nHd_oM~a0XHlu;Zyk9OvPSVjkg9L8hk_!e?&@rE8M#FOzJyL(9HtuPW zL;e`WB0ESAe=i&QtG-X~>@mucz>yjJ2r9m4M^hK`ea}YXX%0N$X)h8h%cBQR$lvm_ z7=U0uY&c}+Ednw+9VyW!cpC3}NIXxKC*3g9qkfbDi1KXa`;m@C;z_E#f#cGvkz=8O z4BW>v*%06#2DpHW`zNHUk$Qia>t28`l70my%lH8Iv*~##T}|V_k33V8<#-*^Pa)3W zk}k!)H&}?$z=^>2TXp2kg_LjhdR zvy*w6&xPVdI=;iT)4DU@DTtpUF{9)RX5czpoO}S93f#jqxKEbIOezK^8Q?~++12fv#~I9TEDu zV(L22ZD$9x8`s5WmGwlLvFi@A&nRAo!R>-4bo2CoPVCG%wB(HN_8X~gb3L}bqE`kW z%pzmm<|RzLp9DJFT2nN*yFC{2XowpNZ7x@~>Ubkdwf}z|jCzcG^|EHhvC~fi z#DYsZYuDCC1H8DWh@)=~@#9;=DJx%ODfatL3Hi9KB$37d#CdU5V#!z%x@j~l^EEux zf}SG?`aqBy=4oh6NtehiE53j2d7)6x$G!2Kv$muWhe*ChkK**4#vQzfrRMnSfT1tn?txS)VXx?clvbZO%d z{ROiV4rK7Wwzd{-2Mn&z?!+0lAC5R|4F`JdB1*tgLrOERD2vdj?1|Otml8-i8Iosm>&tq`J*U_C;@Ld*;G|Q z$rdmJZalqVQ+)fQIC}5iI*6v3#ls1NMFOLF%pkGsA{DF&Tdm!n2IPLXC`G&kf|=c3 zb+{7jh5UOw{yGv+sk=GXiHa8DQq?}pAXzK_7a-SWGUxFGhGHm1%r5SR0njeCm_HdH zJ{W(c5QLdgoSB&0(i;Qr)g1QmRc`?CK?%Y_RM!4JIiwpKLb^^tB;F=cST_<2u6`8J zIdl3z=EVuoK=uhHAAy0s3QVFP2qsp-F$HuzZItmyfX@F`RTSPP6OIjR-;oPib~GUO z_Xmxx+;eG=CLhcn#9r=*Fz3$Y=!2I?cE^89(#Ib+aUC$R2ZNfvDFh~Q;t6IC?aZkb ze!4e+I2%be@4QAT6+E0~&2{8IjE$L<+~7EhNOoJ}=JyA?!+!dRw%v(Eo&q4wox`NL zP60>aXCwDrqwfiPm(lM^*sCW%*C|G8;^)DrVc3|er*iT#x%b0Sgm5@WX;0JRxDJ2B zdroLg;0t^C2%LN!Ohz%21Y}tbjvC#6Z9zfya4<|=lgTim(byNkVC4S170Z^#&k6Kk zz<6INamW%q3W|M$VM>>Ku{xio-H6Pc9fw;jGmZHF!#w7_*}o0yqsxfz%QV5gU=NPm*@W z_|bb0q%knhv`?Z~*4-4ejVE2rCmrn`?Lp+2Ydp#UIBwyQN1kWGrC?^!a14LpM>}a6 zn3(rU`^5r8fg}U-Y&s5`PmnUiFjAx(eMH>M`4j=YkdBQZ8E;h{wuKDOc zrdfr1`r}?J^{jLdelE%2#hZWPlzs;OhY!kBpW=M2Qy&2;!wky2$;v zug9|#$IkCe^Ur6P<~9A}CxB^{rg<&St;cVv_yG4>CD4(?6Fp%~0bYMtYmFE-bX)H~ z7_ry&FA`O!_@Cj}fAl4yaoyswn&hfg?vRN0DF_DATcYMy@;<$X&d&C91)$~sMrSp# zBp(=z{r7M#6>D(M)4U2n-@v!4$JP-u zOf;f{8t;cU)u05B@ef}kZ%c@-hBG_JPh^3OxTckdSCiR995($|f2J zQ5=M)JORFE)|I#j=U;!G=oR?-p}719NW(8QGJ#Pj0gqz~bZ5ZFJUri3=8PPo$I&n6 zN>2q>>Tv@haq)jVE`df6PaAzn6A|ix^OwGeHV6W&wrwf)s}UWdE9P}4&giiKH?0JW z9_pGvHhNmWKzoQF55Kt>^}+*WJunR=;Gv)-dN5#s$vxQcTLZelZ77V(c}%4fOt_1Z zj(b2n^&Kw)-L*&nqT{cV_tW@c5SK_3*@2rtaLLw^ML79L#D5mdc{JLbNgtY{ zk%o$Kqo0H$ifHfIw8rxMz0J&m^KHJL994fqNU~W^Tg+I5BKvkyWbbwgZC<14ovl2i_5c{M=+e-G0f@8fdMRu6>0`5x zKa>35ehNa{D7t?a8DaKIs5oZ^+4~PB$AICKIsGK^e)$ghzIu;Gz%B)o#CvxH(injF z)k=QRKZ~xpQ;pRhpw2Jfg`M$`&MlUMuU;V89h856-t}ZFucVfL-LL8GE!Trd&!_^# zM}hc;(%T+W+g|)Lg?Iiy?%)2E3Xg)=Ve^Blmr&cHzmpN@av7;`4jn@Um)}B-58up8 z#wAK3dNXmEe_V3Y1ARK)_$P&TAZSLXF1C9!g&=1&uYj_q98d1avnjG?8|m#m>r`uP zq*#C5J}S82SF(S_XOnLlQU1a|wlyHI1#oZ|WPUz(nIKDX1G+Vo|Eqhc_{_`6UeZ^b zQZjQWd)9nXi^?dp@mq*3y-70@$G{P!78I97_wCfcV3~~E7qhl-g|;L23D{1)kaEZI zAbK}|vGbUDly@HYO?smJ^(QI&garhecQJo$Zpjl_6-i1MwoP2`V>#3As%)q67?7n2yfJ+-Za9sDX$aQZR048I2ogqmEbpLIuYk zB3GrC?1f>9G`Okm)ggiw(`4F*x2E+q=wt9~Cz-0s;}60Oc%1{+5N*Km4@HzW`UA>7 zs+D5xPHOqMKh-Z9f=Wm?4!o{z9Xfv+qWPzx)?$!`cDT&eXDPJbpq9mz)bO7{wErKY zsp;JTX3T1=B^a|zb5;bPm8hI(j9xZ9{&_6Zd8m6Hm2n=xLKfS{w=OPRyl z$<@Crbg`pOBQ@g9HgN`Mt!%i`fWB9>QFJD{VDC?j?@y)HFDl4AxRY|H)>D7}%v!N; z@=FBbU=3nT0tAD#Y;xHuvf)ZabWbvVO2Wpi_&^plyO+`kiD<8%|BDoSrAx21G24euBKCD8m6(@vD@0k-FC za@i^-QD;?jTd0Lz*z!2-?%01$!SQ3LJ;z3Cj>@6u&gn;Oxm|e?t;XcC@LM%G{PUbtq2CwinX~sXtBG*hzmy?NQ1PN#fev z(=JI6XNS{!@XO$mVDoa;todWvDtcO)sd(}XT6*X+np}P?ITe>M(=E?FK(fPSxlG7B zE|$wUqk>QzJs2?J4(JXxxvry*Rx_u~fo%I)PG5|+=oCG;m*7~0ws3{w`UgS$$DMvE z*q&o!g)E$U4_nrO@Xvn>Tdtelk|&YG&-h1~WR{^)Ip!}#xLAriG~CpP3U9zQjrhG0 z=U3sH_n-Q@{(9zS80jR!CHrXcTZyik)HDotet?Sx@{Rmc@<#>^_;lhN^Wf=`abABGtlL&#d)Bk7ip3;* z@$;3Fnz-Az4nGV|5Ry{}2*N4nnNI4tBoplOZ#d>>pvOPIy2P?jx^DgfX)sTz#TGYV z%abePiI3x3J@vc+3$M*oDR_sI0=GLTGK9&A-;M(vG4?H8I=+D&0Y8OG&R^tQF*s+k zLJhOe&e$_PRt{Caz2jd6W87JCa{RhEWYWufW3(%viW_( z!vnq^X5ymMzhCrJY$xN%|GCO)o^wBeXkcyPbGi87k#rw*GH+Q(;!)wXpl>$ zTdVD+^S9p33i@vH7ZGdbvStW+D8T?3#QU>66S5VvWyz?!jKc7u z3R=R!Qji_+y=MPfpJVX^d5XtB_&|WcMb8KZIqaw39Pg69jc~WtI<|=-`N#0JF z;Y`LU+v-gEa3hO^m+DFM%ds|^)~DyhwXxHjDsB}eU`BCfRtflr#7UGcTs7QY%{SGy zqU*jYP8`|2VTwuv^5fa=hB3!D%Q=H7#F-XKz!`r}{9rMX4IFl&8}QcGC}vb58^Vzb zk5;I_-8*rH7Bw~24Qcx&IiDYAF*x2AYc6~Eh!Zlp&zg4~7g1vS^*4r6Uk|l|Doz+AAxu0namMN|gF^K=bulvc%h=X%vG^n> z#UX!D(C!?-#QP!F$4~rm;yX8nckkF3p2S4svIi}uX<8-d$~{r>uuM|zY|@C1fqUWc z?;{}w+24MC1LxkxbP`N>nI+R^HQk-~fm?CeD68Q{gF4+lfB)Ln2JNu3VY#l(8o6&z z&~FS*+@GK&GHjZAq~ptXv;WKwmhDB)mIIJpBLw6mh7~Fz*3x_%JslV6fNTn+|y{PqlY#rSuHyrVPe#vkTNJU1zcbVKlwdBtWQy)S==vrpl~ zS9DJ}|6)6W)qK=wVh~!V>>vE}(j`mGv{`D&yiGvP*Lgvl#gQP)za~-w{5xXk2jP-# z9m_8WBYJ5s%m#cl?4&Ra(OMgi#8IK+W3 zqf=mtb)HO7qEo9-`|7p;WPmUjZf#^K@Y$ z(Fjy<7txZH%KpYngC3=(B zKOk&b$4{@)as?!gIe|D!%grL`4N)_j*KLXmd9F`l^>!W~B;=ZkR7P=d2{@%8TKhLZhd5PSz3;|LhM_j!DlOU9jHr0Hd5;Ff>>l6a$ZQt<|VXq ziKkx4;zNY_21N8NO7+A6Q042O?lW@ek)3erP;9Ok{J~;;5U-R z;#<}j7&v$>dWQoRbcA6B-afxfp46Q#Zag6p(?Q zc;xlh$*ASQu-;)bH&f(|H^?}6kmQmQa@~J;WBivSGPn+SiienbqYN2BSua{|gz#N> zA?f?}kz7ipBW+W1?ng~p2^?o6Uv8U((b7WU zmwJ6$2lRv$1#s|?v(;v~PEx>c0PbR-4B+>?Sa4p!%cCqr{_`IpvhGkvTTkAd7hiuY zwhWd+3Iu~>fFk$f^==kyvu7s>@C?DwKmK9ur$Dc%5gKPd_0;$oFc_A6RRu#ZI4rmw zBnB&D-+V)nMT;OaI0G<@yz>re-+!NWO>f{|*jNb|hd8w80vFeQ3V&q7Lg=6WB+tBg zSdxryW1mCN6;W;sCZVKgxTIsf!l5)ZEKGu3mu*3epf^*Ka(w}8A;^Kc|!;%`da7qnb7_51mQp1--*z#eIu;s@P({`G>YJ(K^ z_o0RsYhlr#svH{9zu-sjKjH9On7hWPTIbyomyIaw71@x@7sUKE~>8jj(m}kR2`Z? zBgjYNWlJMB9sE1h)bFMK>)Pn8##4}U2h9?1j~GNXG?l*k!XfTsG48F8 ziqZ}!975}Uumd78LWY#||jde|9Pij#Docr8yQ)q5=nCe=Bv>A4ei8C_Lv+N5KIA@GR1vx~; z7Cjm=0Y3n&ahy5cCLo(eS7g9ym|DpXdU?R8i*N!=xD=*mQ?n^D(AJ?->t3ExZh=cO zc91o}OtyciL!?m1>VsS`;)A68Yr`_t!T>YzL1iRz%-a#A5;Y@(iQK0`E1QtKpKTLE zh{%*iQtiPg6*%|P?3tFz{!njE66f6R=1zAUjUiJoX^T%WXAIduYQs8FYz7lvUL)F!Ajtc?WhQ^^a5J2V#I=mkRfp(?DH;`KJJU@? z)u>ykuHK-&ncvbA*F7j?dSGQd{!c+LKGTYs@P6W$ujk4>W6&x({%EW27)b`sjNg%~ z&$&q^PtRXKww)UUlLQe4=a_TOiDA@RxfjHyx< za+!bH!u{#Bt*6oYnD}N$Qe6{B5U=X@Jze1bD~%snl_qXR+5w}!xy{^Ob3KLX{v((q z@NL7@wB65ZfhHQT`T+?Bjm=hL zVFt~umJW7CH&R&pfr>QC4l!EP3FK7c-76s1ZY^ytF3jnjK?2?Yk2)c8(shc417wm@ zl+hDE^!9mvp!BEiDU`lIcMUQIqVH8DzE_6lG-okK2*%&zm4JSHH3)z3V09XJn))O#i6yeamD!VcPCh9weo4~BHxQLq zAUn8x|86v#!zxVz+%T9X$;dscqB!Ud`KCXi^}yrt6o$XtPWqYSNxy718SlIhzv76v zlWB7aSkHT^BIGPhvOJx+@=G#5d=24r+JdSd1GhM9TC_Oqj!f8e$e&@ZN$-Dc{tO&} z0l&1c&RQ`njqLrBpMdeq;BapmNakFcJd3Db*I?Dpz!BzM1IBx3(4B}ivvNpz@*R?f zrw`ry6flEc*R%>8*hBiw=UB@lv-3#)$J-<=5MML?sj#L+Tlvt@IM)BKi0`{ zXTkQo2c$U*NSeZL5JH9j6^)%M{HKHcgSAed50KcNccHM9=7Q~i6X08(e6LuE-=74|0`-CHdiT@JB zdoJ`zAYKx7nZ3Pcv*#1&3u2d`lgrs@lD9 z!6!+5|Ll~?(H>mrcbR_@nNdHPo;orcHy+UTEqvC0N${~EYu)cpL-4gI zFPMjgp__WkJ~R65v)}t}L8=u1jxNk^$nDTTxV1M=Yi@alt^RU_hnN=0{0;_XaW=lf$8h1zUJkQErbP zS_~qQNG0_36vwi*96pJZqi!PItC6AEk@%YiiU^S+VH=q?CmF4uQDo7v6n^u5GQDl$QNPdU6N`d) zi5WA)Dba}&48Sq@!bizwr@V7e9VIi#@Q0B}UPvKRBq&pTEm|=QGBPL_#a7=9T#Y@`+gWTNQ19f$EAG4Yr4r*pL zm7aP&RXn_z9K$Z6NNWpJ80|xde+nW)cfhFKLMAU>l%>y0N{Yo}#bhPd)z|-d_wL5Z( z{rW$m!tYl3RZaYwEF>8{9cGYV$RE&=`Ml3V^1pshQr!orXmk!EhloaAe@Dtyw?9-; z(O=A|U?fYx7(ageJ#sAijsX=zQx`er#G+%hV@4bSnJA5slSjtP3(;24s90^KB3{Y( zk*i-NPXb9IjR7O?p~=@d_U+tlqE#BGU_p>uCKHdBM6^^L3DKWL0aqz*ufFD`UuW}o zUsKS7LFK#Dl5@tnr(`bse{h{ze*m&Y!-1Ii%M&ale!sN=2V)pGvu%T*4N3D*`^6PY z#M>0pa9F1gopp7dTYW=p%vsm!l|!pd?%`*+MV%-CFDYBrlDz!Eu&I`ON|JI<-#7R7 z+LjK>AOSRSx1LLrjY;V4=2Y~RP#&|jt_?B74x?|;>VE%i`Ee)le^W7J=Gj?e&-}&D zid&CZg5k%Xf0Q1JUIe-D8$%0mwGCumAfq5fk}$Wz_!hfFOtTCqEX-e=_Ik-MOXG^nqi`)P1C)uowq(wICd$}&TCHRrk0 zF1)qd+hXEcv~lrke|fuCef^ic>zC$NPnvs*VHzJBF^l*)^Nyw8UOpf7D3i_YCTDIg z+0j2xof&kfJw_g%g9@~eE5oe0VcDy9F5CI_+i9N=0p1lM>JlYb`tsjz+Ohnz^RtIe z-1qE~ZB@rk9!;&jFr7bR7-hR`bj$1ODX2Qhk&^?p)hX=tzz#(b)_;Vl#HG+R(+Vg{ zuZO`hNDgP11(iepG2*1l-%u2rDF#8#nlbI7mi;w-Y{AyNnM3obG9yY=s+ar+cG8AU zJ8cg+$c3DX{Gbk85SI(gRELvVTH5HVEzJ}#@@PZ>+J_mEVu8rm=H2T@KKI|RJ{Ka= zL*DFy0vFk#9|3f_JAY~qlE1luLY@u^uUkn4ZU=-ZLo80g$mZgYE~sR8Wl&~uF|jCD z9`w>P{PCKYLQ%iR5om4{uLhF8dFlQ>A0csj-Z$oevMqq|g zxZD)#Y$ulyrGL?7h&x>@DhctHqgqxRMTcxIJE?H!{B61Xn%IK8<7QsprQVlky|z7s82V= z+Piq&dVLWJA|B1kcGB!hmAt5*bzAo%US)#u1ZFln0xvL#fdO(wxj9)>7=+zpI^6F> z15h%YG1=+PYiAXN0t*H<=&H+Uqs&YvMVt21-P5ya&d@@dJ*1HCp5mqlrn~6R3x>f1 zc#wNAK!1shm`1r72q|6G(6#s+hSP-F=QhahoZQ+Nf(bY)fefcg85s_8f=Ne5kQ#UI zq>0jAnk?_7Xlorc?L9!=4i9A$)YR`2b>Pg%pg9u;fQUr)j7+o<6a)Kth5etEb4yEJ zuiM(npBob3rcjulL3UN9f`Uxix4(_PT~R}OYJdFH63eH5uIZpl?|hCnZQdo?f*Y;+ zo=c9S;aPr?qc$oWJ_52aNHMbwnD?*bIXB+4D!1RjK+7Q?!W9;t)eh`nXj3JcG-&`y zgND-spKqi4-djtx-Wbe;^%agxl=S%2@fZ#_QO9v za)0jkpTF~KRk2aUFhmQe5B{9GV1`S?rxmk`XkDX8KOFLt0~&Y2&}0*>GnbKVo#UXQ5oNdVx!X#Ioc6 zNE}^&B;^)m6QX;v6{_$RIp{0M6mIM!TYu%)MaP|e^%G1tE_tH2moNKZ*M?1}chnrp zi1?%EY-s48AvB30T8`=zL*fsw`8`qcwdn|M(W5b92;mVlI#6CPjW!`{EFM}j>w@ch zpBDY@Q%~EQwr_v6VfCs?UVdlgHvVG@n4lZhH@n15?xGCJ%gZL4fzF~*SbyWotA7{l z|KaoGU1S-Pbv-bJtFH_jgyQP~+^&OJ5l_ZrmSFT(E#=Nu{9&gIV)WSU~>hjFU!>zox8jUw`}F&6}B^ z=ohfZ;~T_RWnduV{b4?if_>-kv16|~|Chhyd3#BuF}UED7v2#KM;GLoS%b#(>67hg zZROW~qAkS80Y_g@Rz?sF1-xEruB)?{fSHa`iKVJwf|A^J(G55BeBbqN@BQ7m=%)Uw zIKRkk_%y|AYNkkgJ7r~M(SO+EjuRab?#XLNs;W{EnC)7(j_MB}#0L`%4EQ0dq^fO` zX3Us;>ctm}pjfoz%YJ=%wJgbtsw=BYsw=DHL$$RuYUEL*c|0^?$`o3+aU-qUwvF~S zwopx7J?*O5OARQ&QDeu#yG1Aj=Au;sx~64xc6JV_4X%2#t%=YN1%GCqH0v42c`AP@ zD9m9AB7jV17G)#%%aO~S^-W~vl~Pf^Dsp7!Q*FD4nmRhDqqUhTD=NqU6ZX*wM5EEl z%8JnitJZ(NSeY_^YGGAH)zcyF_@c_#L}X`YQ(G&`&dMvkKX75%8B zxCo}9kXn2}I#gdr;eVi?_Ux{qPByX#c*0)EU;Pw7efxgLqj z6vX*UtD26`1%GDP=V>KRTQluIX*O-!L7TVl6#HI8cixUxii9HMK$IN{`b1xvmB|ht z(YH@YZhn4FhEhFpz^#g^WO43UzZHc)Fo@^?xvK0}Nh`lyiD1?wKO%_6mS$>ftfzKF z-k#<Fj4!ff;f?RVQa5t4TDG&kJjm6^Q!a0TCZ^J!sHCDlaRc2-*jKGWn?C18ByKDKux! zEE;{(V1Kmi02;5$P&j}R%g9U&K|*3UjpfhZ zaa28~DUDLT`+7xW>Wr!V5Wb6d3UEpI19p)pEU4+EzPUw|pC!@YLB$jfd8oau5z&SZ z*B}msSTw|)8m{LyVZB{I7A3OV-HUGe-NTDmP1!X3UX|q?1^I=PotaH4T4cl@qtVqv z$$#ze(}4bYq7u1%M5BmFkvP}mVi4mw*|_=A0V-;>8hnG!^fRC zW1kk&P6aauYgD*1LW2;k6&Kh<U>=-7i83IX%lK?7xfz4)n5^9>ir{;hyUsh>jUVTkE7RP=AJx&E#mk4t)Gkie~fx@}}E8oLb|GN--66V0+K_R{<;e?@s2 zKftU0RdPeUI z7CL#Y%R;0xk z`oUGSN8|PLmfcFhp8<>wnS~h-bEY7QK4ei`#+^j}{q9{V$SRL+!(0Mv{FJra7M(%zqMxfE5)%C-MK= z_HU^J;$RobK>*{P;djwfQ=XtdPkV@}i>gFU*)>LCwzD&`sM68TQsXYn>^A}xX-AIY1%@UbJzyeL7FECj_!$0cOI0@L358v4xpIUk5~ag62? zbbSc`ec`{2d6X`kaeqFI9XN*i6qJhqK;$1+e)z*j^y1Q&sjjt7L?7Zb{KSE#gLK!Y ze-yb_#e)1Kima;=KrW{Y;+M(rw|Dtv^i~5BB|v7+op?6gc+xLL2|E2evTQ{ltO$RY zeLEeOeH{7;@HZ)723_yQK~_2N>JCu?2=iB;{F=^s`FtAi?0<0jYSR)@;&bkD-8nRQ z_$2z}(brkJ(*^N8oUWz6$ZA7JqsUn*BJAKJL|X$}XsvH85ic}>W+kpm#I;;s-LQ!( znb*$nCn-fPKi~ERO&dOi?5JRl^%+N3O`yMJJ}N4c!QvZKGBD{v`Mf9Kp*J_ZEsS6a zmZUW_mc1Db(SPGdKSpOyT|ik-J(a@k+V?a=Wkb^Qn~Rc0({iU$AQ+^Ewg%eKxRW;ezXxHf(z}5jPV#NI>H5g991n+m zN%O7ZpMMtfTO#8-P$C5)Ns%{$#d0%pQ`FccD=!~p zeSZZa1w9x{df~uDt7FPjj}LQXjxM*+J6j|4STppK#e+0ITcYv|nVxFU>FOed&L8Qd zgB==OwkaGwTGf8N=8FDlbBvMUZJEk8aeIo9-K+&~a4`x@K9BJfLzJtkFPZ)vAYjhzOaSguebehV1tqz=Q$AF#C;1a)Pq z#xH(AZb~u~@*e0x^ZcxP}aw+I$ifqVg%m zokfLWhJ0d@!9h*=ppd- zu*Wl&3l;7NSj-y0peCw{?^y^28%Mpc^rozOaJSPZhft|5nNH3{vBNTr0yDcRQI?9X z8aTbTHAaG%&!Ds!6D3UU0puSE05$TaQ0P+4SaAU~RvP1@@v`rs6qnjxaA zmP+*J>dkc3;5#VSv7}iVM`G?f8c(S!OI<;~8a9nS9{mCRcAZB1npOJZRGFqDmoZdg zJ?iDTm8k6qWP`M)Q=-9&On)EGQz#Ho>8fvZdVkbnx_QJT%C#*)d{ivf?1>UYS6AMv z$hCLL{EQH1wzS_%*RH#UCRF6pypb9R5bbXV{RZv`+sga@l88@is(j$ zI*urnX&90V?(&HhXY|1PiqSk$+`t0{ zXzfd?(biYg3x8U&$w3U%Q``U(VSQ`_46tiR`Atz<$(624wx@mSp3y49E>CFUY-URo%Cv?wF$~{r+sqF6+va zWFTCOsePZQ?Q_Dc!x3j3wgjmNzdB^TqILcbrI^G@C?%1;MpJVB>bkUsKURJO5dD9U Wr