From 2531e6e57db378640b1589ce5e551c93eca3f62b Mon Sep 17 00:00:00 2001 From: Patrick Werner Date: Sat, 5 Feb 2022 19:25:50 +0100 Subject: [PATCH 1/2] feat: added support for package.tgz uri in the "file:/" format (#3347) * feat: added support for package.zgz uri in the "file:/" format * added changelog entry * add error code to thrown message Co-authored-by: Tadgh --- .../src/main/java/ca/uhn/fhir/i18n/Msg.java | 2 +- ...3347-add-file-support-for-loading-igs.yaml | 4 +++ .../fhir/jpa/packages/JpaPackageCache.java | 13 +++++++- .../ca/uhn/fhir/jpa/packages/NpmR4Test.java | 29 +++++++++++++++--- .../packages/de.basisprofil.r4-1.2.0.tgz | Bin 0 -> 80120 bytes 5 files changed, 42 insertions(+), 6 deletions(-) create mode 100644 hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/5_7_0/3347-add-file-support-for-loading-igs.yaml create mode 100644 hapi-fhir-jpaserver-base/src/test/resources/packages/de.basisprofil.r4-1.2.0.tgz diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/i18n/Msg.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/i18n/Msg.java index a4c2017ece5..80283e37b3d 100644 --- a/hapi-fhir-base/src/main/java/ca/uhn/fhir/i18n/Msg.java +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/i18n/Msg.java @@ -25,7 +25,7 @@ public final class Msg { /** * IMPORTANT: Please update the following comment after you add a new code - * Last code value: 2023 + * Last code value: 2024 */ private Msg() {} diff --git a/hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/5_7_0/3347-add-file-support-for-loading-igs.yaml b/hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/5_7_0/3347-add-file-support-for-loading-igs.yaml new file mode 100644 index 00000000000..4d8664295ba --- /dev/null +++ b/hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/5_7_0/3347-add-file-support-for-loading-igs.yaml @@ -0,0 +1,4 @@ +--- +type: add +issue: 3347 +title: "Added ability to load Implementation Guide packages from filesystem by supporting the file:/ syntax of url." diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/packages/JpaPackageCache.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/packages/JpaPackageCache.java index 67fc194a738..3d7ddd25c6c 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/packages/JpaPackageCache.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/packages/JpaPackageCache.java @@ -88,7 +88,11 @@ import javax.transaction.Transactional; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; +import java.net.URI; +import java.net.URISyntaxException; import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -473,7 +477,14 @@ public class JpaPackageCache extends BasePackageCacheManager implements IHapiPac protected byte[] loadPackageUrlContents(String thePackageUrl) { if (thePackageUrl.startsWith("classpath:")) { - return ClasspathUtil.loadResourceAsByteArray(thePackageUrl.substring("classpath:".length())); + return ClasspathUtil.loadResourceAsByteArray(thePackageUrl.substring("classpath:" .length())); + } else if (thePackageUrl.startsWith("file:")) { + try { + byte[] bytes = Files.readAllBytes(Paths.get(new URI(thePackageUrl))); + return bytes; + } catch (IOException | URISyntaxException e) { + throw new InternalErrorException(Msg.code(2024) + "Error loading \"" + thePackageUrl + "\": " + e.getMessage()); + } } else { HttpClientConnectionManager connManager = new BasicHttpClientConnectionManager(); try (CloseableHttpResponse request = HttpClientBuilder diff --git a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/packages/NpmR4Test.java b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/packages/NpmR4Test.java index eada70a648e..2a1552f7ed9 100644 --- a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/packages/NpmR4Test.java +++ b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/packages/NpmR4Test.java @@ -59,6 +59,8 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -924,20 +926,39 @@ public class NpmR4Test extends BaseJpaR4Test { map.add(StructureDefinition.SP_URL, new UriParam("https://www.medizininformatik-initiative.de/fhir/core/modul-labor/StructureDefinition/LogicalModel/Laborbefund")); IBundleProvider result = myStructureDefinitionDao.search(map); assertEquals(1, result.sizeOrThrowNpe()); - List resources = result.getResources(0,1); - assertFalse(((StructureDefinition)resources.get(0)).hasSnapshot()); + List resources = result.getResources(0, 1); + assertFalse(((StructureDefinition) resources.get(0)).hasSnapshot()); // Confirm that DiagnosticLab (a resource StructureDefinition with differential but no snapshot) was created with a generated snapshot. map = SearchParameterMap.newSynchronous(); map.add(StructureDefinition.SP_URL, new UriParam("https://www.medizininformatik-initiative.de/fhir/core/modul-labor/StructureDefinition/DiagnosticReportLab")); result = myStructureDefinitionDao.search(map); assertEquals(1, result.sizeOrThrowNpe()); - resources = result.getResources(0,1); - assertTrue(((StructureDefinition)resources.get(0)).hasSnapshot()); + resources = result.getResources(0, 1); + assertTrue(((StructureDefinition) resources.get(0)).hasSnapshot()); }); } + @Test + public void testInstallR4PackageFromFile() { + + Path currentRelativePath = Paths.get(""); + String s = currentRelativePath.toAbsolutePath().toString(); + System.out.println("Current absolute path is: " + s); + + String fileUrl = "file:" + s + "/src/test/resources/packages/de.basisprofil.r4-1.2.0.tgz"; + + myPackageInstallerSvc.install(new PackageInstallationSpec() + .setName("de.basisprofil.r4") + .setVersion("1.2.0") + .setPackageUrl(fileUrl) + ); + runInTransaction(() -> { + assertTrue(myPackageVersionDao.findByPackageIdAndVersion("de.basisprofil.r4", "1.2.0").isPresent()); + }); + } + static class FakeNpmServlet extends HttpServlet { private final Map myResponses = new HashMap<>(); diff --git a/hapi-fhir-jpaserver-base/src/test/resources/packages/de.basisprofil.r4-1.2.0.tgz b/hapi-fhir-jpaserver-base/src/test/resources/packages/de.basisprofil.r4-1.2.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..14ff91a48f28564fe11eac48283b1832e469fa93 GIT binary patch literal 80120 zcmV(|K+(S+iwFRbpXFfy|Lj~_bK5o+_G|hpFnrq1iV{iPtV}jDw&NyV$Bs8n)6TXY z4qwsX~fKKNUOhzi0zb1mTg&W%i6J$H2c48H|jff!*1JkyWMhZDBo(d zn>)zb*+7bg#C!+s{7uuH!HI}s-XmXbhQxSnd`j2ds2J3RtVdJ=eh!Jm#_Ky{$fG_D zp!zR{FXixct>y>qYQ()-->1BGE_vLOF(>axpE9Z%sEw$^fuJ4}#>IWbfK`yOfX<)* z4xs5Cmc)zr4YYY@^dgrsPk$6QLXr>)jysZshm=J@P0IlxMmUJce`3rel{czEongGTTUDoG#IRgYW8l?7Rd{xI z>Sq!4LxKe?Z+@Ifo%{QpZTjn`NAZ7{sFLXtvx@~4CU#wb3Q@ulEWv-raawu&cPzWv z*y8^tQUU+R5HgGXkEw$(L8iMD!ac$W2effD#El^54g80$!+?o@{W^h;tE;Q(RbAt? z!lT-?FT>zhH1-@d6qb8i*6F|6d zJ*wTu7%qzqz;AsV(mwsGV*qsbB?Zl6uPv{_-uAzS;XfM~LZuE+H zsNq!52g=}^AN7$_MTZhht%7W;z1v3nga?#W&^r=K(ene$)OHT zc^ZdZ!VA5?c<(P%2hTSqSVWzTgO3rAfT-B%ocX=i>)+E((MT4{NO+1`_jiZp{vmuH zMvxO6Bpy#MtagAglZv`Pv1G31X^yU$>dhH^@8h12+KpDTRY3rSoi;ijKK#)eJfU2G}C#?tEk-;Whg0xpkGIdTa{M*{N-I&t^cq!lkLO_rmqQ5ULRPUXA}G zy_8TlSxoq#mQ%UevDC^1FHi;Tkf%kT$t542n!m?5pnaN>r?ETTI~Y4*5%Q%l$_TyZxQ{;Kuq)h%_xo$w{A0~zEwlL3#t4?` z`emq3W;}Veqh=#dZeWi7Bo4FP1lUX}ga1I7mC9a4T&~0gm-0W`nZf_MZMV1hzlrn= z_@7Y+V+Gv(7`s;#qAtvUt`X@+qdaMv{b4o4eWs`rvzNi#bU=B?O(w(m^WbiE`yY&` zTkaIdGW)MvGy8vbyV0y~?SB)gwEZh}(1jp3@#FK3KTL>_pl;0@jB2WuX?;&OA?-*R=59ziByJ``<(=ZU0IgiuRv8+kDD_ zt&w9|j#W>O5uJQaeCBLBA)(A1aLfjTsT~#tGZQH@Ql&^^JM{*@%| zzaiWl|61}8=u-aQunYEI-}?WJq@w+2*1Z4%b97=O81QlLbRG(b3Bwq4M-!HDy#Mv` z^!#!k3v#JyrS@;708m*;$_aVNNR|%OR1HkwFctN`^F^KELWA4xsCJ8ehWV{zaTw;1 zY9i?d_Jbd_|DKPzM<|TIB;C-opKt(tnfpy(+ROzpT`#4Zrh(bR6p~|jgxzo!O|Bpey0{e$W zfnT1;{Z(3G{|&q0%=-V9v*rIANptK!S@)v(=k=ky_n$Nb9?%<%wC^wZC{^t!g0X|z z5*NrrXbv!!)6Mt12kn?PL>2Yo_WrUC#@J+zgc}z2^_x|vYOmks_+hwemUx3gtM)%j zirMoCOaKHGGV@ebx4DEkWzf0ZxI8$&JpbXt(dSD=p}rn|K0iA6aQOMl;pzF8y)QqW zr}zv*Ut7=t5Gyr&#rLGb;Q7ms2{5ZbjR;^{K!BJO)q~oPqJUs14PB5_03A=QQmu~z zL6S=bYl(gp4a?6fOzPfGm&eJ5)pWH$yvv_Hon@HlZqDDGM%?8-D0zvQ?t*12rwF7| z%>^UO}9-hAc{Nvf#VLAw_mA~Ei^*#E>d$3Y@iyppp!7;m3yW{Z! z>EoB5hJEz|5$Kpx;t}zEi6QgYCu+!MK&VjKB`_01DC<9_X7fyCo_4!9PGj^l;1!WO zKHtJ+f-t+L1sq*fT3@qnV^CfdUWjoRG+)~3kBiK}i%B4k@z}$ z+7H_40w(E4)%@mZ4Gr;4#FrhFS)>npT~2yFQ+j-KJelmH%u+30DHU6rbWo!Mmfcfo zH(T(p?lhEs=9j)yd%I4(-DvH$TWZYde2npJfQ2AvZ+n;Lubx(V|HH5!03fTNt5g)Q zbpNm2m_7e()wkz=Hj>J|{~=Y0(t$v>IRN-fi}POyQR-z2yH>qpn|V5NmiDw({GWN5 z!dwE-(FCBQ3QkWns*TKp2pSy9vKuAQP%PLY>6o3}Ms?l*yTpC?#`{185L34_(_te` z05mc$ef~e$o}9Sg=fD4NH>^hS{{MFWeW-p&NE#R>Ke|7|4QefMg{1E4$wgx{4TK*p+yp{pc}5JBs&QdWq5fv>Mh zP{ZlF!sd4ftzLZh>R$CbVU1`)8zC=!lb9CZP75*dPKiuOCS*^13wqM)#m0>#jtk}9 zGNymJSARid_2EK`n3UAhm6t3LtSDE8>VB8&%xPP@iti@5Q%(r0dVS*&h6GGdvh|E8 zLwo-dKmhiREw^nP_`N;_VIV*PY`3J|+P|VLHbt}80{!-fBFnL0S@O!!ZtKFg*_-Ue zIz#a#S$@QhodOjR(6Tt>4Cg^|#?qvO3Buk-?y~~Uv)F0<>n^;@yukOI(|l6AUc#BV zh23#1$M-1hBH)e0RkSHN0PoiMx}gITc8{Adx&KN&RoOBDno`hN5Z*w@2j%jMcxQnO z5lDcf%XpfQ&sq`x|4%Dot%TB_s0C{H6lBAx5M4U5v=I@ngFnXgxRt1_9$Xx8NEmQ> z>vU~oc*Xg#$;PgHZ3BawSCXK(m@hD5{Mfb{si&JZB#r0*=@}SpIO@L&^nF8sAM$CG zC1a^CldSlc;46f+5ebFag|=H+O?5?Uf!(Pa|GOjuiIh7i;2$HQdQw-kYD}_fxm55q zy`5q-1Zj!Uq$KZBP*?(MDETwZEBtk9i-l|vtufoX*RYf+1?S|PQ>^qAJw&WAddK;r zu@XFsXe}4xN)(@&>7-$~NXtD$bV|4GiAki|3&E_&SIsdFlekM;BELF8##dUtu(u5M zo^200|ILcUq?%8nC!P9q+2{Xny#HfS+UNhdOgT3Gr&VHjQX1H45{=`uj4S+Y{gjiT zLC{Z@Pc{r3n?K8_@!bMf$zO4tE;vDxvd9rr&1iWVF$npnnRjw>**XxqC%LR0sMNA= zG4KN##A5|d$uAqvhkbI{Q_Df?|1>FAlQQ|cO7hhi;=f(_f85^xzeqXF|2GxmtbTtR zksj`l9j1Jghwwg5Adv-u$De@TaGP(DU!>)=92pL#WW0;%<%@Y2`=h$u&F1c*WOAMww%z^4{OF|@HLN_5}U6}0bM9}PGa zGWq0Lj>7{PMys)kz0Y7FDT_EN$7%6UMssrg{^K7vLj}I>q}yDx#Gt#^tw!gK&8w!_ z+`rm$@8V38H^!_%YH>0Ki8Q9&#lB;?ZCtJDnjyHERY0DC? zeG{obW}LH&YbN^boNV*5p+mkMcs$10f;dncYgTBTyF>5p!>|FdHolFt^66p3FQuGQ zW8g{Do>oz&53mXS-c||~n50f%imqW13-LS*VYFo_^ZGYsR9Dt)s%Ze3I1C53p|X9v z!pfsqSx~vyYGEsL@CsXPyt470LuC(Mxp>bFurGqRAztA<4@Yq=31SC?g`P)P5V%+& zFa=;{VFe8qLs}Tc9szu%KBr1oR1I&bir?e3xQZZN;qVTE;PCYn7!pZ+AR|Oziu5rK z!so_EMvxHhF~*QI7pcN4Cy?~ncx9=I;ZPy=4G~9(^T3gLMMJE7oW8GS#AhC0Lm;ui zUX93c6yK3>zAFjhjMd_)LEOfbr=*}o!7Dy8hx3|3He?iXO_S1c^jFndvt3QWw>MW? zrJd)oW$&47xi{wCn0sS>A!Bx)+n9T6?yb4E=B?H|kcQ9)?_a(gkpCg7mSr_bRtdh6 zg{d>sd6bmT_xvAqy!P|oxaRcnpG%Zu@;`Jd#3j-}Fz+|keA8k1HJ;WFVr*u25UE;j zqb#ddXrWL6NtjFpR)?;$ErkJ9FQNI z+On-ktrWMOo5F{Y5ao-ehSmE9VqcJ)({m+_v)^fzJ zDV!>))%B^x8lVz<86LLj2$xwMOw-MuA-R7=6O+Gj7m)9q`>PeY-=yKCC`70`!z#B2 zF!wJO5axz%A$A5sVPM&sg2jpm<*iN7K8u;}mUM(+WnBNiH`_VE$iaV|!0w4fVNIFE zUoVILSB#zi;a;kH|5GbbhW{xYqW>158YZH^2Sohy>$w5Wj(P4ve6g+fcaqZi=C^=76mv%b-qr#0A`cN#IgiiwC>*Ai^&g$ju_bgWu}-Rd0>4=pH_aGDCo^B=XKh0yd6y&6m(Bw=sOcKzcKG==_Q zCjtzcWDEzA$jT||yleWznBb9BlK~1ck0uX%o;(T3-woX&g#PhI6#dD=i0Dt(HV4H| zNy(qC97XUKi$eS-Td*vspZ|Qq|5KJb{D-*C)nfR_i6d0-VXFexH$1b+n(fW52PO&kfr zdmbt8(BhOx*s=|naNJC^lPIInXlIm5GzSA6GZ0QkM$D&Jfhy9qjwbGvW#N>0A#q-{V7l7)uKy!a2JL&w%tD$alYdb?#@ zcuRx52Zk5kvHnN5d*uH=NZXeGuR0}mV*mvCQ^7X08~>l8(9gyIX!Qr0 zS)baHU8h~nTz>99qZ`-57D;u|HYKp&G{GpJK53wm-_tQegF1u{=C=eb+v(7T2s*2 zPqFX|E}EwfqXC(Fd_tTcAft&FjKQCiXo@<6DJo$A#}ox3B_}2+8jFHP}x!X0Ib+pPHzgD|0Z2exb zauCg{mb;)x1dlHUBgw3acbA_$zV5m%+#=-?JNCI{3=E^A#&H3SIdPaLo)w7!caPgn zqwcv;tB96Og;7=&A)iiJrrnB|ZW{d}sE6T|yI~Ly!@Dc@i!8Ca?Lcg+Mtq!4;mt;3 z8;uO)HC7UOS^n23*(3jB$26AkKOW=%LE3KkA54rI;#W)i+7a=?{;|&-ty7UXvIPH< z$C||DR-tm3_#;3$@lOqvQ?r;PU{=Xm8d&xqd+xH1ZAhF^!O7kQPU1r3fk@zxWE4Tr z=MgB@lIUQ?R%!*8(pWigSl3aadWx3)qK3zMHP`Doqw!EGDnLA;sst35LTbxIu7J!c zTu9xvYHBk-A;;rBrp)Ja8uP+psKQp}vCne`PX77(+q7>lvx}1_JbYu-e`d4SyrEAAdQv z*V^*+U-oyGW!}oRmj9_<|JO8o_A&qGAnox4^UY;NT;yBUMb%xogwtb)ZsPM|n-91m z-NH?w;_#Rzqu87B?4yry^p*OYT$EkNJ*(vRE;+q=-zS$e<;iFgIBZO)eyg8l9XTnV zM3?{%j*Q+r3{G&(>@!?A-b(rC;OUe6mBiE-FiXBSa%TQR|&Qy8#(OL;>bHVkrVge2<}8mBQm~ z#ZeDb)`LgFk;@}wujL$v6rFlcNS_?cJkDXNPiKIb5$xZAqpEBWj z5s&4Ru`~>6OvdoSV(9Jtms(dGeCyJKd$=eF68`ij8+$HolcAT8hm>>-O{gu7t<+ox z326e}ChIFZ(RY$W+#Jr)e{*vG^gSkDDQHPeAwsEXB6(&6omm16|!YYcpoR2UxW!eJtp0XqlTEO$TO|zt@fBgSNTM1<-LLXj8?y= zvg;L3wx1}k@Z^D%Ggt}Ac_)`&e-8}#@07F>07w2#Q#zMyh4Ly^o62<8}Yxfg8$9N`u(3rx$chtS?72- z@PFAqe`N&Z&>zVJ$Mya{vEPjR^NVPfFfxb^4caos(bMEJoGdOjUUqt=+adl<>CXna zh?9&K?2k{5t^|7;g{dzPz7Q=LUk>LRuS$DICql)E(5c4uM0WEA#;{J0&Mh?Efs2sHA#8u@Cb0upD) zV^=8%n1AfU)d}?vBgGMi@Dc;3NeoM|M~!+Gx$l&biyFlwpaLBU1su^GXD}ELHNoku zp_dn35H4JjCnD;N=dMoR685>;lF%o5|Ub1Y$pI^~;3H2>7 zt7PDivwb*8J3{Q|4cdc+R2A>hAz>SpPb_~~c8sySyU*(L=QAQaGpO)uI*B}uTKq{k z#Qjz)_64a)PQ^ZV^S}Aa`=S2!tzo}7$W>`TtJ(qWZs1>jB6%$03DH`sQs4dd_`tRJ z-;W;+|7$y|_}^UP|D#;@!+&&+2gUzRyvF~p6aPDJ9uobzc7&{!W=sjR4YmM%PKXVJ zf;`$cGA_f!vLGD+Ihqj{H^lfg5{F2Y0X+9<4O8n=2-YWfM{ADP>P58gFv$X$9eXG`3zyI|p*B$UbUg;bUM*%tz(y=nW ziv)ndd}Zf&4c-!zX{k(z$@ul!AP70zOGmtH<^c%7N%tx~aKOlU5QT2qC#wWD{}liH zC7L`p-I2-sBJBh4jJiV#UXvMpv(ZUjKQB>i?YWVk-_;WMvxx!AKzX6Y;=~PzZ)Ei$ z5I0lxa9kQD(n5E|vlaetFI5|`4*rsrJHo<33N73~xopJQ+h`rPwMrckB z@yR;P-dJWRUh*Vc`}4mjS6;ffXy{Zs8TW0A`3#1OqfE3E(i}PNxn(_~_XC2h|m0tE96li+-!RP__D-re5U)$v7+#<-w%Q zg6&M{K$+Oayq$S&#h6&Ijhce|F+`7HSMdxcR5TrHs%y{p7dbi^DzJxl@k9?7W%{y0@io^+u&xKdsf; z{Ldk*eOhbKrviPuHvT^!JzD%6txAm%V0X5P32%D9RdWR1jY}~ z0TdyPP9jh|@<%-JKp0%#Vm0cHn18UF#AaD~C`_LWfB;N6&UW#br!jyy_06A>XnrvS z#BS_q7P4)a2Rna^h#kWOnBYzr=VaealQwPu z;58gOJ>Rw&4CBdOrQigEr9X(K!*5n>UEcDBM)<`hC?@=s*1V^7ztB3sfqNj+-EawW z3U)BK6)2erghq2cf$)`F8UFY92x^&B7P>>d?riN=D(LDpz%!w9tMP^R|7$dxt(Ew{ z(OSpw#lo?dXS1%l!k;sl@$5)Z% zU2I`dZ=Tk-+l_j=)p%N~TcTWE6i;^$X&FqSOC>UwRd4010(D{AVjhxxUkwy5RnGxE zjdWYd#BWFbpxu17yImNH@f{80?Ny1q7J1=VhGo;9?%uWO|X80~1k6XsZxZhq%5HVQUe#8nIB%D#MfS02~yIVo_V$r{GO4 z(m9A+rgKl0>C5KkCp6k1jrS*m6haP&2)r+CZoZA)YH=D6>Vg;%iboVlvT0dK5lJj3 zMm9qb{X>>riit0%AGli0T(iPnP!~>!oZ%ak%FZznQV%96=K(x|RVpwI5Tm1vXC;tx z$PHpL7^DDFSf$3}G;x_IT37J8zL;sC(t|Jsi@SmcDk7iW;+vmww#=s^XMDtlelGtN zKmhixX18r)3%?5CRRTyVkTwN^uH@RW3df0HxhY_HLt2zXh~fwwGDh?u-R3R=+&8$Z zyQ*HS=R4;NIYTja??tNsMZ0KgYB-!Zzu);8(h@Ymw?+UrE$xI~m5|5hdLqscY}>uC(3ja1KE?A*^&6$%5@WP+hY2VmI-Gv63GW4*AZ`$ItM(9ri(mX zrgPd6?QXzj7~No7GLi&I!C3;USoP-(K{G%`%$nB7j&N(mn)3}ls=e8NuA~zaxe*k) z2!*atAM)PTb26Tu1&7ebZiQvALsj z)3;eV#~ZG5o+WkB2LHHBS>!6_+Xqwpq4-Nol113%`h;xi8hS`FA56(&(NuM3yy!*% z=ACM#bYhEn&`sC-PhQAD;g&9B|LbBQ0i9^gDnOI7-<>??CyIsyiZHz%hZePI zN<5;>yONG)SH}rT53niPJXnfT8HTp!omewTy+7NHPDjzQG-Q9G*Z3xzkkqDmLh`Ss zGcK$<05NxG8T?75#8Njl@G7HFAmKJdx;G)%4Qt)AI3Y7tz$v~c~5qYWRY#JFM4nsy-#*#D)qGb0liY_NJ{Nz3H z5lJ~6hm!Ib(~c-Rvnr1D@l4V+4Xg|F*IuLzf=&3~%sdS@Gzon`&-i2GvW3+4>IEa) ziUleq{FTIX*AK!p7T63$EW_`#h2(?huDGS6i|*|qP-EjGcK(78Z&_J}!I1HUto3L$ zY8f>R{4tkrMp9Tci*}icLh--Unf@@SkGOXg$`Y0bGmZKm6zIrrlXuuL6)81lx6OdkHeNj-oBfKyft>4?Y?GQ!-yjf?5Xq^uyJfJ z;;k6PPQRcmy$R8?%gM!a0M8GMd_i#TkB6R(YbzZAP>Abv6%Q{V`)jb^wq_2x*+ruO z3Sdr@jO0p$>_9AQ?^d#;)s7WkjlO5@9c;jT;p_~AS#*F4CKnp2jtfLl?8GvTrle{g z{r2x~2NC|c-%m%AP)pb!(T?D5g!o5 z*#&Z|=!tAv`Rh$r)(@fxP%=R-Ml9M2<_xC@<>17bSxXv(14rE50)(D0Qgyi#V~T1M zCb}!y&$?;Eno0G(Qd7ZKA-l02xif3%{<-3x@d zq5I2to}pBirO(|OpIBY*`h$YoS&0$xvU7+&NUmsFEaL zg&#C)4L}MM>R`RkTj+v^a4@$J^W)tqaVU|?TcE8zZhQ867L&&A$n55vVBk=cGp)qrJbZ}PH+?ZgqC}+NxYmb5fuUbHxkPdA=HdBQ5Yb~&tWVw zpqb-@9#brle~9sHlQ6XeqWb=Fz!bbe2~-{&`cD?Q#8gcv7I+JihQM2Ra&cUj5oEy{ z-(P$=!=YVjuU}&Vd*GxilIT@ZhN+@~irC8~|(AH*C8o2$PbhpzW=#7_D(l zih+09uHmdEM4otETmEwhEn!2r|GXe+Kg-DDuFd^wKyhTXGTZ&8O=*zksc0uesL|QE7lB7ymJQ45txd6-W5mr-3O5>^aEL~S7WX|>Zh6XK49h;Rj792Sxc_Ux2Dc><_^!(J#;UN#AiLl#UW5hbx+mXmW_v+8gv zks#sfBW=6&X>#?vTpnDTnmMBv`RfWfwc5?{#wib!BJ-dR!+`Rq9I2wiYl(^ zO4f!urGV{fledc#lqIYF459bnAMrkltGI|!L!+3< zM=(L65D9^ep^X}BVaVk(j(8ix&aZH2&dFdo-PINv#N}-UqA$2)chFyBM9xAp8BLVp z;tp{QUTEpGzc&zRyr1_G?i;m?u#^#q*UeQJ(%f`NU|r#no2~!(O3>r~Jl+5K zD(qo<@$%39{`2?W9lZbP<%{qB`Tplo{`uegKM&;LZ`l9&;^m*y|Jg^YzqbGL)l>bS zyoR>_^LGK*yPDm$aUlFE!k!X9N^3hm&C#wMC-9~T;%>0mn_SbjU|BXKIYII=y%g9t z=&7gmi!En{q&PIyI@=<_qRlC`$st7!NAvT|@T>UGt94lKPnX9^778FkbH%lADWocMUk2<^J$OuF5 zg&vpd#VjC!+jkoiJP<%?(W}dKS$!-;QEJ$ZWDu2FCPfLLM5gd-5e7F&F<(kG93W=d zw$;+_aT~5LvZzh1l^f$Z@qv&&?$hhZ1}G3L?N}*ODHjaG>pc7BiHc!VP*1n$szQv8 z4O)5RC)IdE>iIu^!-vMU<3B7hLorO>3^7XEk;dIh+MZRG zd}WrdmN{HDXn<$Ia3SUAY9`NA)LyN08DJ{RyRghzE8||8d%#k^Z$4w}6NkrCNH|_& z6ZUfa)NHOQ6sf>^@=c8XB&=vrj`BoI!k~Nc_Uba~-gfsL`_jfj=+(1~$+4E_V|M~~ z;QuNB$f3G(UsU@&_eH7YcaY4++<#7JWGb~6yuCnsq6XO#PQBc_Isah@CAmiOJcPl! zcqGySSTK)(0)5*_mQe@Ki^nr_-Q%7ai}Z7fxA&BKt9*?B#!((=&q)vVFh**pyY4G= zGT@o=wHg*G75Ha#7-;*y(h8$uy;`N{tBT_B0t9ji2*f)PO@UqV zA8r3j!{538ulf3<`K$iJv;1w@{}m%>4}g~mEH3#$_CFj{Wwd|?fXN=uEe1Qxse~!N$Rbt-0C5Ro62jJ2Aaf$ z7=mqq%dSeq-05J$*4`VRdhO0vuN&}yrUJ_$dR`fg*FF^Lomc;_#BrnHMD$^>Z+2?3 zPJduU{cm>S7rs*>JVwiXjrn!w1k;aUXV$u^9j39dK1W-Yj{<#eJ}tl~hb?uGk5(hS z%Qi)Rd;B#SVSdjN>vvL@i$ybGZQpp1BdT^(jZ?_Gx~Du?Y+0Tx?G@@ZVPQzC%;rv> zs9^81JJ?t7iQ0~|t8TyHzCG2Z!>DdqFrMNK^Hj->^c3lV@+4UoLgcy$Ib!fk{LD`Yfzw&P@0mnjXI5<2$9Y7<)C3eJ9=IwD>9!uq%TgeuWfw`1fu=P|e`EL|nhP0GT}=5tocrH#zmQloijF8`uKejS%H z${PtWzXy^bsMGm_{4x`|j;yd})Zz@*_ANq-vjGQM<0rk3fX?j^3J!g5cG`;q4Z(XO zp3BY4Brma@ZtqhUMp zwG~ehlNxRTzC-k3(qda2MfGiAHE?TIrtYu= zy##C7Ig8C-0M`NwCV+Pl#nj$eo&a!{%Y)Xba~j4P7`qT~)6IJGQ6&@Fy$(5xX%KLQ z0G^@478WOk=NqC^7o&M8);?gwIFk&84*Ri2E%%rm$PFBWYzIuQfhCJj}o~93rEGAZSfYxW-=F{ndII;a7v?9Nf?SYs zvV;hme3R?xu?Oe;r=ilUiC1*f#4M~V$OL)VW^pRdBdACjePMo;+woxrp$Yv=l)esa z3v@o)V{&;f_Y9&9aawNaEr(ne>FAUYd=nNl6apmK-bwYQBxmd~x= zus*(UT;eIwzg!}xfxtv|flcWPc`hIxRGlr(9+d1L$-!YZRn4JQ8IMbwrGh=DVwGld{m^O(W+XEWCYg_%S2P@t$OVvxl(iQj z-!X(Y6S}G`4ezj#T68va(={cqKCI4C#>>1|Sen5w7$q*YJ#Y=kRnBxpc(|OcN?h<{ z>u9oE##RXlunwwXjUx_4?G(9u7+T3uw@U)sM<#1&CxSJ{x9$}aBnQFp01@lMe#fSC z?6qm-UXbWUSP@lp4^2fB`7YC>3t>i7)d#X=3AUu^cfEBIncmSF`@P`3Vq z2E9W5FW>2Z*J3vFKN$%YAb@FVqzcMr2W`%Q;H=YAw=JmX!CM@K%|Q^+gQIIZs2I#I zw__l1WD2pWA;sA%vQqpfadavLl;VFe|6|ARIQ*}}o`L^tBs`k}u#P1Q^r;mKOrpl| z0GYgZRN(9d%#8oLSyfSh((nJEtLFb>oZ#@k4zt1k-OL{MMOia~i_;Ck?ypy`0JDwr ze>n?@Ps!c-bQCCk|D%QcpFQfk`Co@w%>Qg8SfhYk!-xf=t81SQ$Bn@QcE7w+hGTGV za?bu2Gvfc|cU;r^pHJIC;r*{o9sbv07WmIbf;IAEStI6uxtTNu@7cZnJEXVRSRp?! zM+{9h4gUYw3yqR>v|S}@UPyRsAh-no14`BSZ;wmDIsC7|9$Ekj1wf7i_<1>g3*TB? zeE6Y-BE%VXf=;h2EtKFX=yl72v*5h%iL#IE_q*_!k_2Qd!H;G@1=6lBegX*wyzzd( zrq?bC$I4K~lZkp6cU;+7-T=E%v^N%fOD6LslLn`Yan}e+zyNcaCt)3UjnNc(6E_^^4zHJX5@BP}2 zJ8qlu&aW%or~}x;nCi`s)Gx*J(4K zAG3j^Q9GA$Gbgj;H@_q$te6d_$o>BC;cy<)3T4WK1ap4i}6&xbeZu>ki$BP zWwsiOh7w23-NeoHR{4YBG-pg|Vv&UAtJX{25xScef+aHDe`pmet z0T}f537TkZ6*eAiRh_(j_2;XvUVhK`7kmC^8nd0IVIk@C{d8+xmDW3dWcU*&fJgR! zdH42I=6~V@BBQ-V*pGsk5@bSi5gHpyR2OR!1`{Gm zL`y}Cir`48DlJu|f8SmvG#8;k;pae@1B8h*Hwb2gW(14%gA8c}a|$GsgqH~46MRo_ z#EX0OqOJNs@z;Gge1G4A+v^^TAVM?5W&lnQoB)WGe3>GcENt7{5@jz$Vms|*ninCd z%JQvf>x4keiIWp7xDY17m@p+33VV?op%|uEp;)AFSTH7J0o9vTo)PXPKw$#GCBY@a zNuE%oIuVgl;iN*Tlv6Ru2*)tRsvb*v=-s?J)WU?NiUL`_pW_#haAP7a`T|7Z+Q*vxE6o}pVdS(t_hK?Ed9 zW86WYy_D4IL_nefQdZe2snW7m)mE$49yWR_z+jO-$CrY;%22Pr?!(mbQ1`QP{^WXObRr}@ z{3RqW>XFb47@?6Hj@vRUT~;EwrxKY=C0Yrm>0Sh+2~#FOxWm8W zE=SOB97Tj6>XA?Z+@E8H<&a?1nPE>xNsl>CZ7;UFxnUGx{Npjbs87QV4dVzwq?Q1i z0d51R0jTMZradm}H9G9C0k#BNf(ynAA~+_H{f0F(sDT_n`)r=9vvIPG-Co@wNUG5- zzts%Jy^|2d3B?JeP!5>dVwP`b2qsI$lci8-cDxrcsZ>%aB&Q^YByouSQFp`}bw+$q zSJ)GJp0dRUDqDT#vz2E)our7c3Z<11TEwJ_(AaTxO#F(trCvpxQlBC&sYf!hImn2{ zoyI{%G$kR0jgcV}38c|L3I$t#rtA>qK4XahdmeKM=3PPRtUPPowEH#e1riic#rMU== z{nCI*ydrVXFhpXiA&rD85-C5H(h_!3q84dY3o{6T$X3aui)4h;jBt^RaGDV=k`Ycb z!ihyTC$_*4PHmPaI0JM|zD3oZJWSn4>T%1@Tss4CoA3Yy?|NFz#ze6jlT~no| z-aY9J@UiosPfyLu~WItWJ~Ho-DtTfU*c3Y zP>Yf4If3TCDMP^df@lJ;yfP>q?0Z90K{QF-X z37`G{-vD>0^fB*%|9QcwKION-r^YxuH;wV zX(yR_sO%^h&wxVRv_K1Tk~UK7?N$qX6MPbS;Nf}0#kS-vysuoS4?tgJEo>+>E}2fy z2G(@K;sgX}kAO}Z>Xlc;7a3!I1zTc-@3kzR7;S_dpy@(Cr^t) zh&<@Yr?Iy(Owps z^57~{g?F66j?=RaJI#QX1?fO;_Xs`i5g((E=p5brE*K~n@Ukc{kHfz;tI>!&NEW?_ z=N&$2C5bwwUgXcah=xL>DVGgrv7z*;w9DU<+7kC(j`-o%Zu}(g&fTj@`$=~Rev;M` zNYaai&ODpembdV+um0H6eB7nMxTEl<1i!D^a>U=%^nUe4#+dBDBx5#S1ihVpFKwZV zvQq!T_2(#RL6@EhzhwJ;*=@WpJ1zI6e)6~{M5bg0rf3DGYy_rc1E#9Tb}21+Ct(|` zi_CaViJ(u6+VU2j*c(`-H>O(R4%iK)%x%E|LqyT@9+P=`uf{%zv2D= zKfe5X|NlSv`}qBT*GTvaoB@15t&cee_-@{n^3ymASXM$*r41Nm?@czBCf&=3V{C?Y zu#4tDQPicahe=|J&~jro`{y>oVVNFdMB6|Py_G0kfPV z1!NJXO}b;?AZcTE*vdVKU49Bs5$Gmt2BO{`O=r=h&y*<3k&EkL7 zQx-2>HQlAGW6+GH8%#}Hm!@HD#46=tUT$4OG?9W1&ugokYT{Bh^5$2g;QMeIPH2n1 zNp)_Uxd2Q+v%di%?INfgbFe>bNJ6JUn&=|?;RSmRrhpzRO@qX@8I zv$X;EOcUaRa5VBP{WfCz_%bb}jV(isG(F8&hdR621*ukr7YT7ro zsFao>H+dH+z)65vYa4P_ax(`>OqdyO%q)k<*kD9LuI+|{dVWm$RXeHfIlF7>hT6s* z%ZUmR3dK(B@q^+pxnRVGF9T#iM6u0<3k-%7mu0F)--m`sr1_Th9Wx=HU~@6JBY+Po zhY10CPyHW`akzxLn&w`(z?l`QT)t&ZC#0$>o!N1*NUe?Dss~x%Sfc8ys;mVfA!)D8 zvf}mWlo(n4-gFI#`I%-USMAwuN=R6>KoZH+*cHnTqyCqJ%FQxY*j1 zi(fn^eQd)1PU4B|)s&xOYxNfsIu=%$-vIrDAY*EKiF}P&aZZ(4`Fj8PdGc0CjU#Y| zR^F^`W;xeco4KWxz_=v^6*ySL9ZV*U@#B)z`BaeWVA;ncHss@~uAote$P8cCW)k8d zHqO&w-dl?Ntw$x;B11FGG}^}D5+~BItaz~-(Hb=pd1e{Emqyr2qr>$oUY0PYm;2nWHsuJwNv5+{)$E5IB73*5#!aklw%xp7-vFj$}qD_i54JNVz22lRM zj)M!L%V|Q{!bBTMh&P_t-jjLmZ;hl)_0)7uY^iGao#6{|?vOX}wjZvJXVf0<6zW z$i3+B9A-rASIT*-ux9E7d2Nh8bsYH&GqqO~ zs5a?SQD(-2TlPaTq$GkgE8gvnyoo$y2DP;;tM z;peeqRAi==X+~@T^nYgc3VZC9dcJ-Tc+qYiEJ)|MutC26sIGI=eV&$z?k&u3h^Rb& ziEP>243h#s0-1+QnC-W~3M7m?ViS$H6nk*vLNnuLYJNprC2GuxGOB+{_x67V;o^Wj z5{uWk9Max7HpXEq$_%GsJR>Me*UC8uUzmmF>G%Uu+)@f_2vM=QM?99;mf>WvHo>si6@eSRCRjPGbd8>>bN)+c@x7h@5g*r%lrC?$vdSBuF9)rfeg|?tzYJnXoMxl$0R; zkiGV@K+%8bss6E@q5PVW>^SXiyFlVwo8fRYGn^NP4(o4otLzkGxR<(y!?EKnISd&Jv7n9k1v3<}XkFlvGYD{R1 zL8qJlh3|Y9(psOcGhdAgv5L>il)eIHVxJ8b#gqKnP*b$<1W~u_}6Pk?WS^h19bgDxd=zUfO@YT!=a_U`f5{bj56!N{9D=@la{Knj*l1I^f z#t=={PLnPje`v;LIyFqd{v|aDzDe(tu~Eg*Lm(L|W2U@pI(+p$q>I&ONt>U6>5Q@D zMGJIws>03r=PWWb+GsN4(#&81(p0s<04A{ZcoNBK)y*tf=u&RlRm!IIFDcKZGEpjg zgDRch29GXnOb1C;wUufN@iCJ_mx1sCOGk15x~b8WHw++h3pygKm4VNoViClX`DaHw zcKqBKTB4B5L`#+RO{HoT&jA>Hcf$wGPOz}5ssk~k6G_t5A<=_T6_Tu0Ewx2L#34k8 zxTkd_^4Od#6j?hj9pnU7>L}$c8}JB9!L45=Vjhk;Fcs`o&-e9q)z zq7V!X^{3QE%5nSv!6u0UI^77 z5*Hd+sKiQE)#MJXH(M?>uQ2e+q-m0u+w?tcnCld$xz6s`;%OIP+Mwz>%6HiNMvJ_V z$gN|SS{XV2(pLk^Dk!o=Lp+)Fsq2!g(6CH0g@Y7_@i2k_5^yK@Z>qZTtUy7Mk6L3X zA9=&X2tl&zxFCd4kO$n=VKI@sqH7O29s@KFZ0nJw z4}Snmlz?7B%HGxxPDJir+bwiZ{X#zsILQ(z{stw5$sqlti;ksziOjDQstf_MZG zW|n(W`oS!s4e;ZRQ_sHvj0FvkpH1 z)iz6rNo%s*g)SIy3lY7u$UF8YYjmdW<5Z&{|DO%6W&NL{P~TUo*}z>gjcsF|D>95@N-%|!;!v!Q=nvPm*;wDVa(#qmt7z)qXm?H z_AlZLjq3bMPg{I%%=HYqoBO|h5~pvEMYWe4iBloZKZy1LZ6PfC(1UM(nQV)&vFR{Q zoE~imVM|k@yWsx!()L8^kLo7EM|j+uC9n*J?t+F0A6_G_uDj2mt{O&)4df-QbimHl z(5Pkk)j8|$W2>?x)I-;&j9s9>UMCro-y~td0}a88j!o*S2MPSA#qQLM?r?KQZO7WZ z8UT{sz?$?`hApQP?3f+vMfdC#wub0vi1+YfMKJ^r;Jr9`2c9_NcW6}qrI{cyz^hcs zCt*DZx|dnPblzaM@g`2*Av?i6oWZgsRttZCL_kb7NDp4rQIrz@pJY>5M`-IReWSt% z)?8At@%USxe|ysZpB^9c`~OehpS=42AMxA6|5GK{P>-J!3hW?f`>78y=*77BHQR(- z@yVIu^&?LC=?$IE+=+<%u*ZU3y3&kY8FJIj5{9q;k*rC@JM>HxkK^$1XsHHU1$a>E zqw`vhPD~i(RdM_qa2OKa5dYrSm9zQ=la_9CfmqMBM=$#2=+AKlc>|As+s>H9v>C*O_eC* zE@xkWd@;`6xF<|8r^2ld+!4hjD-vgQ0g1iqyRd??2V8!BXcIh($lu~yoLxM}lPY*l zHu|1izFc-doK=uGKi+6;xeWmW!~^PJ|3ik=2HjY!PI?(g1y77NrmjsYzvOV^>AZDv zjprxTazL~m01TKMiLalIkKZo}9h>!e$-B+(hQMY(l4F_`rd!S+Ruh9P3d43z>R+;! zk>n91t5Uma<8ZIVC(ondDJ(lll0NGmh-XHPr}&`b3Ztu)mk6Mgni2#_jse89i;}8r zm+OF#Q;j$W3Ll!Zv-~)&Sii@)2Vt|!ilhupw1H&=*t_1{w2>hGDy#bh5`=$AxZJm-r6hv(P^-A7d~<{` zR$Sn`aB1^0{lc5@Vx5__VQ0NI_N7f41xt~D?97gL*ZZ4)I~MQUF!Uo(LI{V$QroTUhPA@}f46#_Zd#G9!%K@ajy`>tW0)PF8)JusHzbcz^Hgi>wg z0;whWO-(6XJ0PU!NW$E%KN&FKg|~9~0QZFHX-fD4ontpvQmv<}zLDMY9t{15AdbPZ zVXR#ByyL_I zJla?WAPO+JkV3&NKao&H7BW$JIJ!6zqv2JwAos6F28ShljVx^;KR8bZT%*}Un zzZ~ zpnWrK{~hXoKgm@V|Mivd+u*(-R5AO{AhOzjMw?fO<;O1t#Er=+58kI%@aEY4VIFM4c7!Y`@3wW>pw`tn{t#;>N z|3Ar90RQt=!gHzsd*sU00`|})iol*`uR|Bm2BF^A9_EuTz%{&Q`hJ#om}>{FLjK8S zJq>)}DG@jVwrvD}=s6^3jN}eO(BgdN)BDCAi=00M5P-d_S#H~i!LPE%bjET-QnKWu z)6{YPY>y{xXL_S7%2Ftio+asIa_T$u0eZ<}pu%NvqdOU|;gxukIko7lp zOyAVNIuE9}QNU?Adj85!jYUvIx0N52fxO%713F!T@U{20oM^xT0e^_677VvZ;Vf`W z3h0%O83**fud#r^1`F`hFT%~^r}CTA{FU&WL&rTtL|LfdE5(CTEwseI?^8u#E80c2 zh=$1`7}jhkN2g1ud)=|WF3#fQmS$pfsC=Va8^b3zLwq0_XjTrD<01xg%O?cbX+&C7 z<6UqD?WRPF+2;&f&73wh9qkw&^cY>Ozg>rSo3B)|j6d_a_vKSQXxL*Ke3!>%zPx(X z%Y7m}p}iuJZmIfNOSURgg$GVR^-zI*c zNuhMPI8_1ns25~OBA!(^{)@U2vcht7H1@a~6Y52kB{BHd>b#{c-#>2_Q4uJdPqGNT zd{BnIJ`%fnGWi5EG*XDLQisHQb$K%mL0Sa3zR;2={`>nMEnnMYIj{kMG)}Pbd>e52 z;)OW_)ENJeHeDt`HjR6vJp#-+k2Y#pCkJ>I^Nl~3ST*zuSyhg^{v(zj;aBlYRR(I= zbr|S7I=9CHdN{WR0*{qZEZse-XU$*GO^~h?{Hff~(}fH|jHB9|b_!9G4x#6X-P=m5 z9N99@gE{giCSC(ym+@oCWsyQ z&(P_Qxc}c9jynA3A)W^KPn{(EOw7m9rUub|mbVL($3oHu*>QTxsCq)k4jBM_6leW) z{jWFy!xmP0r=!066{+qpE*4H@0p`s>P1HK9^uwK81XtS&AWqzcIV(TRW9ff37VdI>;?>e-O3usQ z4RYynK3>Rlo}UY*mK38qm3Z^phG~kII+8S*FP1a<@~|>`HH4gdXRzpjVR{ZrVFaHS zU>ik7L2)@RPqLdj(y@u{)sZ=_7roN)Q4+7zH%VakokqcZNQ>9)t2q;;ZVhOn-O4EO92%q)lABiik4`K6EzS6MpV(|Mdc?Tx0jh z323+f+@b4n`wzb9;=dl`*~9+ZO2T8b1WD`munB)F6|>7Y6lLPhOl)N)0$I2`ERvip z5}nd8&q2J?eB9emBw}MT8J)qnvl%;^@u}O4{|g`hdsnlYMht}eD0zUO`UmgAF-jGs zQl&;s)SMTE&?p2V0+&2bAEURtSZCQS#UGy8+1)57xPkCzdu-32KikKc@fb56W5#35 z_~9|*o+h_IZ;LJF=k3d_tLM$)aeb1ukQOLx0sv<`Eil*w2+porV6X`g-At|pdYe#z zV2v%X+$3p>hS~xlP5|O;xCP3Z0KuAfW377V^!C({L6uN%s6VUwWqHr`!E_E*+n#gk z4n<6l$!-Pps`$FNpFVD>0=r{|K=HIey+Xb`6qD&XzT$?;>z4Ir;Z`t`G7 ztCXJqF(YE<8F(%`)ezwbs>+ZNWe{$P+4QBlPPrzY086N5K)$^FUcbgyNfN4MP|Lf0 z*Bw!Z7ESR^3B@Zd>D!v2&)DLE)hPGoyTuBcMg<@V7SXT)vYXhgMKY`*cg|=quBPQn z=j&pg(4T}6i}zcxn7xvDt~tha1L8CUsOkgJgXw3Lw?&&F%TKc+190q9Nrr@g)4_j$ zh@=rr%1{I#PB(&yd5Hk*>PEDt#05EXrX8Y?*&wiZ7}5w#f`VK@h1_9YRVP(^MP7Fm zdEK9uC%Z0-dHGxCLn}6fmXbM}+%2DI$;}6KE=3whSbvS+m&M{P9RwSovcmwyC~T_9 zfbbDT3gJ;9saqgv31?yDL?zWr##v{SFk;RQ#1o@vCgpBUmft$hN{8W}x;vt*J(%mg zC91R6&ck^j4k4XB9YUrBeCOs=3n2tGLMP9PYRJ?z@a~lxSuS^}Fm!GNdV?uVGFmQD z!!&~6ohiTjc`J{L)!Uz6tLTUxfMy!d#?aY~9cwK261M4wn*w!FM->(;M#1k z8;8~nzur*zK1m+|8i&?Rt>+Hgd6+>8#Ea#s)I2Zz^E!m;dv^QuWG^`a*u&n~dnppY z4*lgTH9dO|c((PKYO?jnI#Cs>3D_eAZViO-3$AhG2SN<$b948B%dJ%ck7ZyxBBCBQ|rUC)OI@+jCJnq!)h{}lWy9O zQshJu&%CYQmhM2j{(n+Ks7Z4UHlBL7)nmZqwUk?!M_%~{d=mWc>iUI2@wB~mWN z#D8bxq4Xr--g#s!jO#w7!c|qac3j$dIT-Lj0wy{-7M&=d8t+70!<0pstQn~2hAQ{- zktYL5`=bm2u4F9g3=nU|bgZo$AY>PX5ca$BN>&26bp zxg<ojnAVpSA_zF}Ce!Tg?cY(%$lpN%3@7PRaV z*G7pkZ!vIZ1_L8ETFofa4kncM>@mz^j{YC8u0X`|-mtBL@1@&goX=EJq{q+yP(C=! z;{TNoxB7n*R{{MW+_l~Ep6jQQahEF@Ph%EVpl+eHXk;Y5Zd6QcM_VW)WYcuOXl%=I z;8r$pkOz75ICcZ`5{5I4T@ilkP=>wXP_*GK5diGjyIRC;vNT!6t9VgB@2>FPimKzE z4J}FkbdcHxI2RozvmaLe`Ry;GX7pdLJO4e*aqeCj)n3_^6jKA9g}_a`Zo9 zHiWPc0IL{+P5_hWws4WKwi~ci{~uWRKjpW3`}fu2h4}2Cr9t_NAz530SiSUj$lEj2EuJGmAZe-=?e>on(>%cjXF$I&#I!0g_{#$wP zz+V6F9d7ggZ{%7-|4%BKh&&G?V3V}a5?m&wOq+03DZQjEBE?20L*_yWtf8;lg{g_N=&@cEF9Wvh1ZC=AM@=%?VQ%v zGVr-tOye_Pus;UowzUCuQdPP zE6@MyccDC@POfF$UQ=CE9?DU(YI4$L*dANqVF&p4;}T0i7>?*u@JSirQc*I zqOEX`l%5u|lRTN<3%f_-A%38ZzzWhH4;(Msn+8^6cXwgn*x3Dg4XFHCENE{qJ4+oEqV!Nuij|e|)#DYw5J8+vXa!LZOFjjDfFY!~5 zJ`JF1*EvfNs<5m*ScAr%$GP(fhujXKLW)L&n2*=mm9!?!(UBQcEK6R1I_|V) z(_QCe{vF;ieXb+?ZBNKDn@u<&kI?>R<(@mPZVV#Z%) zkzs6_(o-K&+bQqP@5d4bj1mEQhU}JtVUj~Z(2WzC(9u4JBZpHEl;ki;FWZV_{Z@?B zheN_Ixk-Qzp0dQ<0vw}_yjIn+MiwQfH~-EtGzsRKCa?}d(fOQuIho)038QPuBBURf zhwUh+No{1&O?}pwlvzM({ebx)C}A!M3o@(Au?b_w=J&QX6p&_P5M&r|G64HZk1q*=6U9pV@kpN2zn z-V8Y+>m$Z>R$V1;D|d)lYQ%i*HGU-v>r%SG11Mj6apu+UW03DQf&R~4566Ez;fg;? z1lYFz-ya;|_^*F(u#5j*;_4p%`To!${zJF7g@4t3Pl)rLHZAnv>WC)`=O+!Fi0k9q zDyi*;Q#Ili?4fhNYbUBcIRLFjARz^6XUM!@Lnm4oxK z9MHD@-#>hf^S^fX|Anp&_P^cM*BNm>gn5P_%SZK11mTG_0lH9~vSvj;i*7 zhI6guZOXDb#)O6;A@)vDiUSSd)G5SXGm|TvlkgJ_sZbAU=7Ox@85q z*NNq3>9yCp1O=zs+|s>(HvWIJ{~G824fc2E|Gdc6f&ZI2!58-e+J)-i3ykkUzF%YP zJc1UFph0J!Uj=$T=b)*1n;itJF9mpm3t{u}9!i>>c4rJR=ob*$^E!DfOD7YcEDdz( z3Iel1XUj3SiHxOUy~NQOFcET=dI!S4FFR*$FONE|WQjJ6u7Fclt_}rb_>#|HkkXJo z7=7o9A<1lEmYgV6WG%PW6VQpWU^LvnsCoErETf@bt^PJJjLR1XHrJo9$mQY?QD(IB z#^!?3Cbl;zBENlt=+TvjSpD@Zeo9OJztz3NgTdh6%>U`XISS(cqd|Xv$Nw*Jb>RPo z{?K6>xVcn^gZMU5^e5wWu_`yHnY7@(z4eV>2X~L>b5X5qzX$!T=cXZ!W^QKM?{`~r zxZBmiFlRPENmV1X;KJ%XyU_;#g1JUNs(*<)oxiMrhha(!$>i6{a zI>&aGnt;Fh!?ioYAV&X@OrS#e5g*O<1N`9dCN_cs#!M z4p?;VHsVv3ODrjI>LpS$Z444G8dE`1EiuLk8KV#~Ksl$P0KEWXTLd#A!wC4TOqF3K zDP~Bn(K&UP{8~7N5&U1MrsBAo#CKyNllqLau%n()fxy;;C>KPY{4>yI(Gac8N@JwB{`;o zs8lk?kqZPAQ-PqdW*XP&XBx@{7pp%_VXgNazKOYH@ayG=iz09qVj@q(T0$%pX!V?mqL?uJ)!u|94E_r6Nr#2c04s1; zim1@mSwnC4-NuzX)i*+6&0SDIb9=)AlqnUZSn}LcJ^~_gM{JlCp*fn4s4yaLcSlaf zk3_Y5AGv`qK$%76^7UL=VL44UzT-hhd{2E$p}0U8R0R|=WudDWZ}r6g5kLUa&Skf4 z916p)qNO)k3})43s+(nrvg=DyXGhzNL+HYklH$6L(ZxJLfx+wtS#>pju_5K8z#Iy} z{LU(9i+-Vacn<$_cpJj#!VEF{EQTVa1SXkrOTH=uJ-|1ajBzSvB9|k^d{B}554Jk} zUj%5V8&wvK7Jaf<*eh(Q8~NaRoL|aElcBb%_D1$_mwxI`aGZ}^FIQyN@KcbkR59cR z{v73)aOTbBmVPZ5di+lF)1RCStN{F~;Pj&wmC@A%1ImWiLbplvD^=J{ul=9quht!% zi^}$Ii5Y_MqTl4^lmY1DfiyFK7jwOp{Qr!X0Gycv`?8W_W;uJ z$#1%r#uHH2huh95JW}-b!N?Yt_oCj|4e_U+_Hvz(fBM_rvGdROVUDZwk7=f`W;$>mKb|?x*pkGC&ANur67nLH=k)l2uC2kZYD5S34Q4xXT zGqUGN`r`i-)fz)8`;d~X$)q1gIR4w|xqn*cD(?8v5zn*t5NE19 z*5?0G<+gkWRCtTi&zC3Uf7PJ&Vj~4zNsB>27V}L<8X7YcQEenGV1e!*3#HwJI0nlP z@q=T^81#f#ZZt1V4-*V1Mq({$?o{>WC`1aIlDM83XDI3PJcI$&t#Ou}C{_1J2i*$h zkS%NR5+<}pGtv|yj!}$BEE{q3MyVM&WgpeaL>A{L(yhP7x0f)kKFX%y9YL*8lpEg0 zU}ulHq&jU3#)z@tde?_9whipLz`+@G4EFU{)jN}dkgCi$g(>?&)np4~0=C5#5NP~L z0+^wOrj7*c?W8G%r|vyQ3mFMm3rjR7IzO4i1looWCAfhrS->6QGBT8*IW3MQpeH5m zK&5^HT6e-LZqhLVnW2zJYM3=>n2B&U#7tm>emnY3KutYSdN;64n}Si(=f{fI-g($G zwtceVFBM4A!W7gfsZmR+UqB)W6N5SSygq?kqYzi6BtFh~IRc#w)uwJx+@swWw<8iG zy+bk0`K}StoKJ8MIa)9U2YD)LDvwi8r=-%T<7Qw#MVi1Mx#4s+_feCpLN$Yh$SDdc zJCi&(?uzvW6i?=kQj7GVCi!_8}ud7rZm{xRY${JC6hc4%n>wDymJV zN!r1{2+H`Drid&?5j(!;O+n{5c8hXKejqaoTjPvlL&podfhod1t3*u1G8jWYX9*Kp z`YqQeLaU-60fCKSNb_KysvMZJ*(aD~OaEUwqR`L_m>KW1Xa~ePTj3z-Zq8W4wmPbo zmQxv6x@O|5q{fOsHN#|~2g?8qR5VPLJKlMt{^!BqNb16TlvndD9f>*2*sGFmj$k27 zF`-=SHEqoT=QKha)kipYD5tSSa8fH_sNs*iuDJF_A3I%fVyv3ipi<eg~r(AzX2kFJX?|b}76&--{6e@)!^Y2vz-_DYsFHd*8$ z`aAY?X*7>7KsX+-LLtsXhdO}0Tk(9_%U+SdYbUOQS(nWLEBweJYGh3-?N|_@ecPSR_cQZr>gPS1ll&V(O2EIpwEb&yw{A<57BQ{Z~4bIQW8HQfs&8sv;<& z@UdyMu+u7aZVo_^E9bbArLzn?ODN{th!}1pOz}d95%nj7g(B8h1L~|0%I>btVIWl) z#C8RXeCCr@2p?o+8fAH$E%?2VEe<#9P;0l;*s*0G7*%ITSWr8Ck>NnSU`$0yCVaBM z^Sw(&N$1+ZKx+y16B(t@LakMo)jvcRkZpzzp}eD`G+eD@M5D#BgvVHAUQ_4wL&Gj! zpV}=-I(?qvxCTa5CK{pu-62wb;%u*d8kzHz@x7gpJDoDc2kwy%CO4Yz#ZH!%{(E+s^$#e=S8UPhi=~hvWwu>83P15>f z$Y;t5YGK3;PgaI_Y1L))s?0aRsM~hJkDFZXdVYlq{k6#(X9xVR+^#aCp5>O>)quPk zb(Hs1A(q8zBH-q?Y4>~M#8}5}jJOI8HQ0hvhg1SDD>zihl;KvWz4`lGVk5dW516?G3O9vURGLr2Q18x9>V zr_J$2{)h?+-;f3)F34H7_(c?ElfgM2hKvnPoM)ZxAyIyZb9>`qNSx@ydu3mWxgoZ4 zs0CP|-X7jkF=Qb^!%8G_?RKP@a_-6^UTP2gDV7rb2ck6@s?y%u8xqBEm`_BLEg2EJ zY{b)&7ie~kE~y{|T&>i#3DFtkh`1OZ>E+}~J9;=%3K>QTt%>J_aLgWoIp4WXOh#VR z@9bdYDz_DO)vgZ3%bni(Z~d*hGj`ln+4}bhB%@BZ=@#J3M4GcNB(Wpvm2oMG6klH% z6F0)f5Q|YQ9Nv~%x8PV{;^K5HWMrt+@`iJq>l-RqUgSLDIBQctv@Zc<(QuBn?pzg4 zTW}@5IZEuyK(9y?kE``V>mB6|QQHK|2T|$7uO)wUL;gpTqYpM%f%W3QV1a#!|L2GA z&oKYP#l<)N*U$2KMgGTU=flw#$^6__ooCZaj!>Z=#nq za>)It)_>0R^NO}}$57qWw4)cZNVfA7b$iAy-*WZL1*Dm-LLN3$h5O^YPyXYfq7OcM%bSd~p@k1te}vwSYn4CpGK5(n%bZ1ijIGedK@;!!MWG@k4(sJ~aGlul}3UGMqU zdcdA4o^7nx+}QR~SJ&@QV`U`cneoPu{5RxREoI94wmY8g!3+iCBbM!1zr{mpY6cq^@~MNzC|k_hGMK5=3HwctXn zGQ&1lW5nCNYWNQryb2Vy<~VYvRaXlkUyB;l-fe}|y*zXESLH(cx$gN%jSG2;>FLQ1 zNf{*Kj;*M}fw`^&P?cF9Z?I|{%-d0R^(ecKJL+z?#y{`g%QQrM)Gf5%6$xUUiXMn$ zdj=(SvM7ak&-_8_g6N6ES^w!V*1`~&9{Pl8x`6K{B7~=Us)e}Uh*dY$)o`cqyDIEI)I_==C^>nXjw1i_KF#okOH@lzrUN%JOs|~;I31&)vdazf( zv_ModL{)PNsLq5wPzdGd{W!G`cJJ!JCFYwwbmB@Jw+?Pf3YIO_;0mpXz=+&*0foI;Nsqug5Ik! zT-`?FB4w;7}W&jUH zl*|Zh&svG$`ohvoZQOhmFP+{~EoK&Bx(H;!ZKuN-(}S z$Eu-eR8B$xY1NGHc$^=8nU%8W$ zdNy2E3N9tXx`njVTlH4^z%ZJb0eVT9r~6Hx?frTp?=!L`{MYx}U@9SQ&L$p0ZsQVf zzU@C_sS#T_$DDlK-Ugiq=Hiqwv`p+4(s9G{Vl#=Dum5L~=p?qq21vyW~*hE7PvOxp4@BW4;12tp~G4+GSeghm}BfG}P5m73e zt&q{99wx;8AD{hWc9a2f=TmKN-Y^UxScv%in*hN2`j1A={{tduZ~gyMv<3gKDng6^ zn5rDd^XXMaH&&*DV&74e36jIgEJvEf$6Qc^0E(tcTsNnI!>I)yVH^k_I2Jn3ks~A5 zA1z-G%P<);-x&%lb1a|$?m^5LM7fwQgs;?}Mu*rKzm|@#x)di_K2r4StY zMAa}d3pv$TE&T0=MrT7D_Gvv4+cpMac zSteKj7)^SxC+=`!4g=3jP{vZi&@j!iAk?@vrh}Cki8Az%$_obQdP3i(0#%S1zO0Jr z5&1bH33yRb)x?9qEe-hbJjW*R9Tm5SM6WJ&;?o=?SR{eq&jjXaKcBr6SDaEVM2cK)$(VCH}Vrr&@$PzWvxIX>0ty(XO^~{=eR=Z~gz1v<3g)rzV(- z)1-cFngqz|$Fg`o*S}KKacRh({v>hp7RQs>`<%)*wVJUIVt460w830)atgg+XInC$ zqog#~yE++yDSbt6_{hAzals*qv($3x)KZGT+X-NkFtqbN_N6;w+Y0P12nCTw{3Sou z>Ff8PQ z6z%Krzp5OM2mP_2V9)KzITq7(|3S##;b4mb0EuZO3w%8);ExbR=DU=!IhD^8l{#lX z9cjJe^8MianquoyKod2QPKu1)4}2ZetL)NHp#kREv{~avk}``N%?wt z7e~D$gT!!5E#VM%pYh=(=r{sYN6ev3XU?@ty&wYU#J&5(7y{vv?@)-pB55MJwd`<; zOB`*6N;!u$d&dHQ%Y)9Ce;+&zcW+HkMhh5Yq`XFAVB}n0!;-PbA`2UVPYk7EQlou) zU#MvuXw@b_&Anu%v12JSp$D(ETe_jce+|94J@@;eTCxB4r&>VG+Xu+~VO!__8;v~v zZ#J9T`(IDeHt_!$<#YZiRl{ zCrMhx73V?zt?Ku1n5alSC+6)igoVI#i$9_0>{8~LxULLD3$}rRvW}lbNiUeQJ3~5GW0RCQxPFJ1uB2VG%2&5kfkV3AU5ta}Y_yd`p!SC_55I~K9 zJ9Ow{;w%8Nqt2w%?Vp^L@p==`XNG|;a%WMJf@W^`TK;5-%Ul#{&;& z7AILJf+m^#6yK&x3L+kJi%H4)2^X-^pkjBQY+Nse<#eiKrc-|Rc{CSN)yXe!4hg97 zdst7rerSeK_BT!*qK%2}5ec|RaVKpIeEex8W3cWAefBk@^-x*1@3$5Df4Qq=3f48n zZAUs{8{>er@qc6C`JdW0|MxWQUjf*=n&z~PF#K2c7MKD-#&(67+F248D$tgGP`AvO4B=ms<0b97S(PSp}SV*sSSNpur^FF(5fd3&@ z|GYFf+5=Ty8c=k*Cy@^D!*e}?AHE#mKP|-lwxdRX?wpLg2DGpo&yK5RHG#xmv|nG; z;;G&^N^yJ!l;5Q-eQ^R$LUk6+*4tD8itB30r-i@c)+)A=Qv&=NUS-mZ6N%AK-W(PQ0$N_H@s95q7|82WC|ztgs7A1Q0frYmc@VryYw zdA5Hp=@t7XoJ4D!Q8$|Jn$4H=uK`o~56uJk>5)U{qd0Q$A8WTG|6a6zJl3xN1+t&U z|HBrf1bh77!Ld31M}wn0$Uk$h-}p~Q_&@9P>$H~^Enc;7ho@3NzV|i{iY;bzBv_FXTfYTi74-f#?`OER4;y^Wj4di87Dz#ZuoH34aWA&jeaE)i=H^rdnt@& z;|O5GK;$sQQ2Jm0{rZo115BQG_rbD&_L0h>63$c?C@muHa@$E=6R}*6gmM&roLnh7 zb$-MwL!e#T9O#gN)WuIm1=$3KoBzYXQ7Qy<;2v~~CjkO5b4&yLjxf!F*V1+dvD6q&EG0TQ z@#+P9u%C#h{`Qpk6b588>kHDCAWlqHaHDQIs}-N6il2~K774tg`R!}~v<)TSf$0I| zLfTc_HkJ&PP!uC+i}1h~&oV(j3$Kl|%~4|hH`z3?vhDkEB^DZ4`ncB?0F1m@;6PZr zHMQtpo}On+feE%2#^|D;AD_jaMlP&UP07T0MT;aZnfut#tfML65TjF~4=fXF>(mG6 zgG$31p=c_SN~Sw=I|^E{3OGBCWN}}lyPWS=cP4J`JY?QnTWPY z2iNicR66}mHJ$$~;imi(Qbh-)bWBpt0D5Wp2;QwX|MJoOV}2VB=hfhUMQM|G4@to*QDUZvJl_XV-roAtdbQ{~a9L&HstPQR<}MrTcXFHhQlE z{6BO6?tS%_?`WLRW!@CKa5$e!DpCqliJlxfn%5LB=T1FFN&7wWPdDux@UB=y|xT-U}HUDF`7$HPhVzwPD?y* zHYb>N6=F@Rq)|_&MFODGxGCfFAK3In11ggHS_Lg5q*=!a7wVNwYPfE3$dOwx4?ZGr z*r&d_OAe(2X2Yb>ZxEo+gr?-*e;Eh+j&XT>Xj~ZqnurZdMZ{bk;e42U%k5?zK~*w7 zqIr)eRnhpJ?M1GE90@dWE+W*@;ODFdv4|*yZlm{sJ4vahCTUe$hotPc|Hw3WT_8ZG*H;~} zC@Mp*OzHJ0JeKpQZwG@%KDewu!|52K3z4w1XK>hZ!LJPjzcvqEuWLC+{yWbJ0Jj+b zt&IP$x7Xg_zpmw3MgBW$1b}nCfB?6V{Yv)N)(`6Tb>gla%mG|OJd%#F8R#pR21$Mu z`572U4v(A-XG>0}Jnel=0u2jdp9}|E=Yj#($fhY;6W~@?24y zhyON1&zC=(i~p8#Vfl+`o&W0e`x1$BQ2Z*TP21YF0Fypau=VJRDC`6f($QeVb1*3O z1UtUBt&F4}Pd*qL_#WL*wvuGixo5Rcg>47e-59(=*5kZ8_eoxyX%zPIKWm7ocCF%)u?DBX~u9=DAFs+2X*jOrh@-N*?A59_Gs}ulSYjRuk|P&7D>81ihVA zq7-QMBKAUdhWH3iiH7t9kT^QAeO_k~=J*zEsFW(*{Aj9u&1e(HF8Q6Yojk(rb>i`z zWgK5znx`Q$#s}bGb)2oM#o;)7{m_#uIM)+))6*kNYAqHHr55ez5HKOI zVq_qe>f9&_q4d1T$mTSoh|b2Gq~tKRG7Yd*ntUZ|Ik-TL&+?hc)#g)nnqKfdP{y)- zfBT!nBU^O^jO{@jHXFO&?V6pVUoK29ByyZhMhjz@~~Yu!pM;NJv-(sTibOQ z0`t;jEoJ^da%aSBRwpJ@D{;k3r6e(p>n3NUiq=ZVR&_!`d}5)!R7zrH9)|a8C1blt z#ydL-B%hfkq=d~V%9&aua}13Vc;U!^M`7I5#@<5=WTTs!$n2Y%Lnbo)0tS@zGRTLQ z5TM_0i6Gq4FZ5T>OW!xu*;Hr@WXR<4rLrmwjbGdT`|y*UgzFWedyAO1+UoC;67IRB z58|BQg;P_|X{o9&*k1n$gD+kAKLW6KHM?!&K=@SzU)Dx#uPr(0CO{5Fo5KP{FU9sy zBv?4MVhfe!tR%OE7yCB*Ci`MLKcvJz{W-4D0QMz_XnIKT<8Z#=40(teMkxTzM7BHV96 zK1l|4?pA}(hlOmvh6@7UH?Vud{xKzxVLIMEqQ>t7X5jS>ZU`bE9TWeuBWTe3!oeza zT&Vblb$X~3Wij4Fxk8H>NkkfLkfnjfRh--MUKQ~(=+~l6`5ll5^yxgoME<9`0oMga znwt`SV1lkzkzAIZiFjc=T}c#g=HGjKXR7HcR^8*ar})4TC9kpBSK%-)Iwzi1xGvZs z0fpFlf8u-n>5Vi8hMs@Ji|xQQwlUuwYKRk0%hyHzr376bw2NJ;V}6HHy^Ec8b~oW| z^eZIF1{pV90~F(c{=X-r{<+}ss!ZUCrNp84<_RWxjt&g@M9Lp}i(j`!BTB*9I!Z8p zfSgjqH`^k310@ z6g~C;9bfzTI`%Tbfhmu7zw_t{4L$=4FY=&x_QY0&AqB?g7<(PZGA@zzqX-^1`oVNQ zqcD4ZUGVe8yCIE9tp=4UoRz`@z@nAqT3?eBzTi&scdP|3%-P`mPFxLwRpd<|#Z(Nc zDSXM`g~y0kzT9~3O zn^dklvX-hwapsa5?Qhq>97;S6Oto15ZK-Zp#R~76s8aYC74@T9Pf{aj9A=*A@mo0W zm!um3k#t40JS~7GnbZe3ZCBy9|NdR46jW59Axs4^KHX}oOt<91a>$UR$HxkBZ4k;yz2#HM$%nx2>+EZ^WNU|oXGl2(jtYrodH(o)#(B= zOi8PQ+4Q0X%%m0F5n@U;2`}Z51})Q-Id%XgE3El2t3k-T{N7Ii6zoZ(yEdXNv4@EH z0g6=#UY!%y+G;!@U1iT#7dSRqhHeXxw#+Q-iKi{7FTgw~Y)l}*awG<3W6a4@Rm*N7 z7@A;3FLJw?N(qn4q-WK}xEY5TDId$(!}$j>pHQvMpAT#cQrJFFn|&A$D59gR5oU-C zM3^v*(fmnPB(IEkmW%+ewl%#(pF|0wKwMf7&k=g5!%|lEGp%lEWvXV7JlCZi3Jxq| z1eSa@wvt$m`3c3gd}2l&w8M#CjQF$zPO54-puF8BdFn!QQK0yu=DBVB!$YtCb(;b~ z&e&;zK2Cr1QDi@)6q56v55>f3KVTJE-2UIs#hScKl|=NX(Rx7^;y3nOA1uG!1O$pR-4tvj@hU zI$+NQy|hIqfAjsz8aW{;2e%Y1YbS$fOkL#a`E!hqo&T}?vI@VB-s~RfdfinDiuRcq zAPxB+Ge0oy|MdOIY;unOJ;kR}{)dW*UYGn2qhgEv52J>R0IvLk9r^nrlPPW!T8G0I zkVoP0h`I}p?+$gyxxU5oc>YM1pJ~5In)wToJt>$ITgI>6o2+OEE%yG*-}t5L7jc&c>{7)MQHdqFQ? z-1MH+cI^`#4cUFXjC!rcORaOjcxfWr3wiZTPDT`%~B%B23@f=rkCSE|Ht@pIPNngAA@yy$so1m3qGt=;e&3O*CSoQElH_TXI;AP z(~7-PZWv&t^iaVl*u;^?7Cm0O{yaJKtt4)4>0+{oqLZb>`e|MGY!wpRTZ`a7R5;W5 z{dn(~<&XZrwvGR<)s3G2*{Jw`w6r|lHtlw6A% zioJBRK5$|4Pm+iX;-*RGhL>#7Yn;n^7JwW~2zPg~Kk6 z7sU)^u%hC5g;!C27Mt3(v*1PG(za>s`_mA(jRCNFsR%8SCgI7^v#^kddB_l%yFjUEz>t#Q`Qy9xI7fl8g-i;eOYl)3*|;uYD52!vc>SEE_&|7vN4{r~W+Fap4#*)RZh z&42<->{tN-u^1H=*c}!i-6{bGm=WC@B4EO41qJMWZvYp7l-i&Hf7{+BI!N;W{==?L zf6H+Gb6t)9PdXLU^%&o-FJGOfNV5NHSDXEBwj$@hoV2^u{=b%1!2XZy0`?yVZL|N_Db4<42mhT% zc_X`u?sj1NQJ0EDb!&I`(cH+^6UB|}*Breu>GmGA@wdk~GOEqx4~hQYbMG4UnV$T= zR=3qr_kWw6cIE$dw0{DycXi8&+fevbG)ynZ3^))7+2&@a&EIBrvdc8>O}E<_0mkcz z|Hd+H;P03z3A^=ygZiijnu;!H+y4+(o;IFAYRzjKQHn%)qnBy0W8cN<) zD!H@$SC#UGoZgt9LVSsLoGjr*`>pADv3#9(t#!%4xV4X=*{$<*E{2sNGvf)4J;rI>zHh+VU@jChU?@p`#`QY_;mCuW3G1NK|g(djk4@7PIf4#x+pz!-oe}De7 zmQQv3|9*H|9sA2nYjD3zv;yo1+2?=MDU$v9pUq*4>`#?oiaq6r5FEdm zGeE`oFV)<)DFD7E{tx;`z5M$ho#Xxa&ssi}_&@S}qslx`mU+c|AQKlQz>_;q(*XY} z=svRZg09xhQW5NTvnWpHio_-DpHxfcq`Dir#CMWdE-;9^8@an@ZchG&lzkF5Uio_f zmZx~oA(fOHif2p&^kYxx9YSr~nP-bhEPSeJaqGw6 zdhSNlv0Ul=#?dRIb7J7i9G2-b#|{oo+0SQ4y^Yz~D7G9!U!BYTYa%~4sz591G{Lw> zD_@f~3~X1*-iI8Q;8;h}iDoH@G*fhK0+-;Dgdd#5i1k~pB_*qVKsq^whB4OiyyZY) zjZS?8!`vUaKA?&76}wg7gH88ud}pGo%q+XTXwnP8EPF)tj!m1S3C=H+=DF6ANhlO} zBr=LZdo+u13#FN~y^>QvNpgs8-6LZ_{e;A2F1h0fR1f<_m}eXxfkkS13X5kl7>y7A z5~F(y+8xFaMM}~Q15ZW~Qygz73!v-5C1q3)LB5&`HlnajGzw9Ba*Hk#zc~A zjMG-2Cr0-LF_JVsXUpUxD8aLAxgUzbpv_2yPa}|n@WzOV8R8`jHriK3-9Zw8G`>g> z@yzH?KfEhx(8Zm+fMwRVBpf3*6KE%td;bd{0DD)n+cpk_Uq$GpEf8fJxYz}9YoWkv zc+moFkv;7}g&9YXObPmNHwN}?`V4#8TVAX)Bqi}*l4}`7H@PH{NDha?pZWQyVV>a6 z1eO!bA?WctI7?vcQZ_P6Qo*Po4x|ExC`*EYc>pOKIxGPP{poh@{~H?EXa8^0{TaUh zboCp))4%`p^!@+y{2Xil!`wL5`sYU`xm)3chuhTmODT>+P~H8=*aonf%~5;|YOqASmWx zTbD6S3B3nBE5uqPtHUK58##@`Y5WaSonUkM928B!P<+A0{eXYa@0%$$tt{`G;^L zR57h!dzTaQ4)W$}V=gvZnqg)T9pL!Tpqm|Q2aG$yTs}eR9+sT znN@B6N%PzAU4~U?=kaTaH#RzAhWk%fTyGL8>!y`cH|;%z7|#(gv4mxAMtc#Vev4OO zhwr?V&W<*#yyz9iFS~5U!HVNJDK1EU^+G-ayFG?SF%(-5BrrjANE&7cDAC&eGk3Y8H{W1F=Gd}JNkK5UEkG=ZV zH$+BW4o_2h@{W;!Ku=8E+a(<^=q{pkN8sX@>sxPF)_>T$${A5iex|(Wk2jvxU5_*i z-4-K5(n8j=vPk1sB^z$+h^_e_FE6l;iY$KcGtw7oxnMcz?cM#pNOZrvBK3lYqy|vW z`HNRW;Bj$>Dh)i|Tn166uY4fP=XYRXDt3^IuypV1O&|ZIxI9_%%#vuxtwXbufI#;N z2GcT3yDl^uKlA>H<1E;Yxu)64%=fYSQ%@DSSMIrDFQrYEQqiXz@B&5ZRe)7tFWtz> zDOSdiDTnWD3ENTeq3omQu6=m;me8g?KtYT_BLINMO#65Nlt3jGD%r$m&+zVg?RU`g z{Ohl;7K>-L1Jst}-TrbMnX6ZJG6Qf6MI1{WbEX0lQJ0Tjw`~4t@`yp3*B0z*9ljGf zaaILczU8Cct-&h)k|;vPViBJ_Y#F<+az)m)+^yk#z6(A*6ahzf93*r{yQ(8n#|e-# zkbuDAeVidjXo-mHX>T@oM~PhE(O$=C&A^2(Ss!y2QHnFxt&cg&cg8w%V5H1m>LW@1 zhGy`Lzu*+PIn$r6YZfz_t=wCj3750!6>|xlwHT{_J&E!5;F!% zG-B6rFT>S(bmv;zL9adMmrLF#wElALB>qFqQe+!thb(%+x%>WB~jQIYH% z`M+K-el_!dEf!Dsk8}JSi~oSR@$5+a2d_E;|M8I(^x;2bBy{nF12L|CIA9^tuzeFi z0QRnKr)?Mtze?0;qLpZX(uxTQO_iwFq)nSZ+-#~)Ag0Y4+A0YJfq0W$?lHLQi_PcQ zPMp~JYeQE?a|iYD@3H-zUwd)$KD(dSA#CFxxKUKBAus%VYPOyVouG=V?y&faE81u) z$f{aVjhGW|1smaYv^k6mU6<|cO-7uJ(27{!hrhAA&t1@dWes2;+ zh4WYsxgO$;-1#4mdq>ZIhqNH9x>T6?MeGU4a45;))XKpIn$v@eig>mM@N94JT{%K> zN<`;~#!{|~0f5>{roS=*4SDofV3*#rj5HEl#fPADT z3$eVM^uss0HvxCRJ)sB{4gPc_^JfaoT^}w5@wUB9%sXe~Oo{DSc=*9zJA&N1P|0i6 zdvsIGi`?MUlu+y0ezdx$pT9;P-2K8?M_^^heIVm$f!h-qnYuP=^UN#g7PP>N%W9>C zW5eZ2mXI*QYD^{%}{&VgdHZOE+d|YXjCLF!#6AV#?~AQs03$bMTC-IK)NIYP(}x+qqe}%eulRD zadPLNJZgp+%`hA7)v{$QNb6poTUF5MmsJN+s06nT1sB_$r}IZ;XNN#50Ezf9eF5%f)6e z1zin600(3A#AnO2_TWcj^3?xWy|q)*&S4Mq;^$-g2in2eC0V3rLf4u?uNZ!dww(qJ zNjgl_cAGCih+#M9*7pLN*;oKGy_TP@?Q$0&wRQ;*d;wAc! zr^a)LVF@*!x=B5GQ(DX;mTygXmEoE_SwODm&#oI_8nSKUj({t!)xi)-k=Y#zSw+h=g)BnZZcLNzNkdOHW>SykK^-wM+N_7>L94Vz-@X8yId0YX6tsQ z0>qJ_JjQHspeoJOvR|GFoSIowrck&_h0igTf6U@wY!sQ$7(Ref*58=>^;lZGLJ^a$|_IuY~2ZOFO1XSRHx4b*sQ-daQ z|1apm6pR4n#((N!{f`zw1(pBbM^o|tqFRum+fR4j$=i2CF{IGR|M2i+r5!lEBlPh% zmNVxC9n#EI>fRSXJ++9ZBfi!phZbBAlmeZ4c)|TU>X09VozH`KF?cj_s3dkE%Zwi; zG%k)z2f`d4o-?L4R25_iWH8t$WL7f0Xr5~9Tk{k_)TL=Bp`erHnI5oW$^YHuoy`a1 z3KQ~o$SN^%X6XWo@L}MH+8D&TS?(L>i2|dukMHaanT@`uTWrtC33euA7^?O8=QnCz zqG7L%M#%Ix@9EELP6&m8QX}}Rwy%dytDhPE*5K6Q=2Zo%;S*hSs)&5bF z`FpG2cr5dum_*a-!8C0fkMRIuPOtm{p9v17nd z@qYId3RpdZ;R0i1Xh+8uF0>YJ=gRJ6!HVRBl!sSfXWuvrE0*6axBp44=%NWAx$*zH zF6Mu<^h*C>FHJH3Bd#E>X!}#Wce49EQ4>Aa=EGfT&?hi*r)1|dK7VD~m2JDkx@r+m z9DHYNrO!|UJ)*`1`J2tWG5pW#qt~sS>?Q>2|jT$U1Ebhm#H(v z6DFcP9_BzmpzN0F%rVLH^n^pejUYd&kmsG(}LI9HfJ7EAL-S5b}IlTnHZVfHXn5asmWa&l` zYbuoJ2K5Wrg#kpdA^h&KP(2NJCo5UPfUy;1@`d~dU{Jt&MFk?)OV0*@6&HPqCZ+ND zDOD+5eS}vr0q5-3vgdgZ?Rd%O2ZLqa8utoYp3l-D;X5ZwktoQMPteKeFA;`ynAmDU zig;>mUY=|y7a`h~NSop1DVPC8Q;}pbGe>Ay|iA5{8Gq#LT;_iT1{_hUS`kZRJAgTx+Cq{x?BE?7-^4$*=|V*1iXuj@N=Kl?azp@X-aw9TLZLDB z5cEz%GekU6Cfk%gz*OwP(ZA67loYyF(TKbTD$LS+=bhtoLjanPG_YRFcS_6u%3n11p{M5yx1e`O7{~Fq; zYkszjw>#I}9YTceVeiw& zyYbSxo_<@#PW%!#-rKK#ERca__8zmuMT6dutQ52Xj{km9AlyDdCbp-2N5N=IBhlE* z1j6S;;lDman_fW&rACF*NmP# zg+qlojc;knP!XLBiCsvWjrzvuN>!5d{WS!cbX|_X*jDG>?ZM?+lVerb?CTZ~DByMB*TU@TYfbBg`H{DRp!eqfpZH+;qA|9;)(e{AMb z@&5|Ss4Mz`g)K?>gSQ1`$XSRklHiJdci6HM6}<{>eiPp`Kmq<Xp2eZjxL@W8x}I4V>ivQ7l+%ycl^A*CUGD8AsXge^&p-tMtFnvr@ni(hu zCy^ab6FXxm$&k_;|G|aN=q*3Su4MV0*iK1+Vja?2T4`mitlgD%S2#^-@RbrqYI-o;2OA#dqf#$l+RSerzQ}#&#)JqvkpZIT*y@|?z`N&K?~Yg+aliPF~x=e zS}-KbHs<$z|4NxCMVQz~e&;}z?oLA8qVlS1Y;OMDopCCTc|IxEIr)g~e{gmCCZcW1 zSQwF)e_ivsDBg5_ZyOxC(sE|Nq)pM=&bZqrTO#x)9vc~s3j>A5#^uHcfBYLGxYj&; zGi33?^CxyZ&;TA5f^v(aOzTPM^51Mc)B6KFYLiTMt?^%8)oO|O@2_5#@!vL*ipYQQ zSy5CNOsStsGW?XR$M~a-|KhukM-F#{=kEbEK)6C7Y~n=^3x>uE*6znZ-}MAK6$*Xg zfFwjsz7A2SwB`H9ZTbA~s!;HRao9_zB{IaM^rvZjm&-pi~Ik)+$;TmHj-|i5E4@XNV*PyfVfBy?HJ}o6T|!XvqF{z>-`(@88QgD z6~9m<^aPSy-eM{*V11P?ERUw+eigVxqjE<@o*hBsjRAmm^+C01>89;4ZgrU^VDFy) z_TDhs9ph2dqHYP_Qou2iw>5kHfZs1-sG>bswqP$BY+rLCN_E0qDQPbzkVF4fv~=($^aYN@?;XfHL-JRnnpE<0ZGXTb#MG@y0G1d5 zRBh-kq36DWjgiv-%%z4K zEUG%D zk{0WB54+8_Jrs)tT68bjgKW{Z5Lxm{a$E<uvCa%hiIQkra-6hT#0MMZ zb2u*!$>C6~T{*X~d{v0d7qLoGa|~zmfzc0d4%3&3IRIrt)+(BW6~#o&~J7t6MW*}X+s3>0*2-KE<#vl6!& zelH*+SCk7V9~j7kov`Z*ZyI`Z1`JLgQsD<9Hx_gN8$crbvQ!i{)0AYu53jIpA82b( zCcJnB=HGebQRA3cfm*7(z0DjumKzGsd_m!`YDkQw;9)h9+NIm1hnUA6Pz~*ex8b~G z)9r)9Oy_K9OsbuJRqcG;x|ac_nHv!h-E%&tlO z0}!jWM$Ct9t8rKnkURYUhncv(&euDkhtx(@LcLMFG$WR!)<#*fP2sx!5NKCfkL5^@ z?Dpt+Pwz|rl=uJGlAx6iDx~g+LNY$|{SW7~U%CHzK6rlr^Km{+&i|{t(ZmD5T6^R9 z|1Y}qg?OXNYS&QCB9o#6o;pV$0S|mLv zH1GM>NLLTbrV%XMI87j$7}bbMkj~sxc5&^-zB|HB6Mq`|6MyW6V>iZDvS4OZ@&03x%c2Os=&hC?GXx`7-?M>V2>k`2%Z5DWA} z&ER1C`Dlq_Sy2l~G^d0G*|;gp(Go)VzUKi%%LK;DfOseYH%X!~;nZj!t0AR%XxtX{ z&IFYm6CD{KF^y4Y;D}Z;di_Bv2VR~dzG*S;jwsx*Sv8K9s`e_11CQYm^sbU8g0*zt zvD}eC^;*6oqqYjN8!{gR#Zf6dtanTuhsn*7t`i+olxB(oEmD5P3H2-LV10`w1~X!h zU>>2k&3Y3Qjwf_!czv7)41twEGrjUCpDdT3nYWJ{O&BbMc=ecc+HTM<1<1#_}U$_p~{7ucMgQ00kv|Y6!+A zC;p$0jN-HAD3)+`KT(Y2i7(=9cou%hn5FnUcb~CZ5yfiAJ5eml_1qw6^QOQ)$o7+H z;PhYiyKmnauoti`+s=`F2yEx>JDFL~TP8MZK_zc6w50ijnPeId90%HTV2EZET1M~_ zd2Jz1UYyuFlx$?{Gt1G2iVpN(GgK}rQe&3x5Vgr>@x|R=0Y7aN1avP+iey*b^-iF3KyH@o&aXI_MV_yyqwv-n$Xnh_w9=aGyh{fWXU;q zFGOWkwTQe^Nf6CKLF}Ee_TA_7rXn>vit{6z7vvKHe7TsWCO25j+>uCmK^W3)yD0WT zec4Vb)Lvs^?J?muqL#CRS~aC@Xw2bz5Uf~R)9jBzYJomR7S3OSsW2or*$!IT_;s_? zkD`D}_X+vR{cj6#gEPog{%-frg5FxWg0|_VPY*22X{#Yb=-nx=9XoJIaR4q`Cl5_Q zIc;vGVOg8*)Sq@5PW@|PRg*fypo48@QOS%*xg2iQX1l=-wj0<%R>-lyoaN*KPXb5B zrS!;K%n<|>#9>w1H<#^533sntOl8@Q;dgqordNNoXFEoFwr#ZAr!-5Mhn&*N-3`lz zWdj)V_YNve6sW^uYrO5jFC(kiY44?lN?Qji%ERj)FI)2Z&Fh?Gl46G!U8{XcvTH$I zvYc$--7Lq(yL=Uh7*bD3Te;U#`q``di~m&bf78UT*(Kb0?PA1JWp@?*nz>6&6AR1ItZX&t1Ix%C%^w z+xX{>kE*<(0KrkzU4n<6OzE)Lq0MW%f;kzCS0)w?C`lg75x0Xo8@hGCTC|XYweuBm z5}1dqKY>-0ZXS9&kYb4-$kV%q7K_O|gh|ON)amxX8&#xm@2eS$PdA!3pZ~Z}zQXDX zArZqQ`pL-#x~(!53`}v;f#QY2cVQfi?v$SJ7`_hfxZoxp1azF} zX+{<=AcamkCQQ50tZui?o6~A9;us_=PAsU?qf6t|gO$SfaZ1M{r6QpD-aUri8^ZR5 z^*3=&>FGa0tD8Fja)2>NAe1>MbyHJ^usK>{KoVYek{U2&@LX@yS*bn_P@mv$87$h_ zIRZU-Ok0ATI2;CK*Wos%1E6h;ZNRKC*675obKg&07MunsF8jezmcC6HC%DNU# zJL&as^KI2ZW@-0Cy~$(v#Hi%3d?Gp( z*>1U_CVvQxjR-=E<55|O3y9REkrz`0*&(O_^*zVy|Eh$YLkbsE?$dqE09R^CN-6sLDoXcWl?Dr zMT(|&LRBkPIgqd@BTNY(jj7MF7uj83Y(91sfeWt&^k80SG7r_okY{DNMrpja{PpM#J{0f{=1NmdjLbu_#cnD(sOX*e2 zO3hI1krVv*j(%nry-u`?{L0|JWqXIY1U8rdtyY}>SO5tAm+^4&AKL~e{%KAI`uA*a zSNOwPde8A-%{PpobTjp5;kTbOb&D5N2gi0Gi9^{|A!h!6BVF znZk}Nt_G5<>Be1s>Cf6a0{rg>{0|SsgFly#thi6xq3*_GTP8Pv_TaJ$O{ZHpFBM59 z@s~dPuYc?%dG#lBvu#HqM@5~nBttl|jRf>kjLls*6EuU~EgwHMmCoST)$mPEppZ{;+41)hRo+fdXdrvzB%W>5h-F+(;Tpf*>X z+mdu2d6;gC$iehlE(5T($xy7_A0F1L4iN!#q#r=Z(P;P~v2XQ$@yLdYfLHyn0Akak z^Oy}0M(1FT^n5*;k&?cUU=#Qoy{}zUoUd(|Aex-On1l!TC(^Ayef@3Dhu?6whErt7 zvr!l^eLKm&K3yq~1IqKx%ZGh%{?>$p|8u)T7XOzEREGb5_NlEV{eN-)M=1|4|FLcG z!k=bkAwNyYvHq_=_ODDI2)drtK02-S>VHa;427p(Sx=u!JivP{UOl)=6UztOKNBWZ zgqFa+!=NRw(Qh+ysvy>0KmHUK62N5~`QHA1zCIc1A`v|+xQ6jp00G!LquvBzAdY_( zR<<%x>Lz{oYDcpTcsc@GRMmGQ7 zmSOxqW_tf;7SAaEH;AzQzb&!;44Jx-CW<$2({ zfUEWtqW`G8v3|Z!J!^Md!wgfiN!!I*@H?(nPsx4nh}Ya{;KJtr1wUnR%$pSB3=Mn>AOL$;v!o^vg!3pIQsD%~@v2(FAMxIZ%|3+x%DX{NvV>8~Hq##F8dJeva{x?U0W z$JUEMRDdSrdqLRf^}kC<@FdEf`9F?O4tz;=)${+hn#=zVgRb=db(E6+e{CC$(hC5Y zDg-?Lx0S>|a0y^7AaWAmU8|vfcv>#Lm+7Mt5I->g{idi9n8&kR#0Yr6DMK%;89eZi z1h!)?n0~nGLXZd(Y7mUQbjch*0DX(nUUK~!5JHGC6(pEoMqaqDSdMbl{RC}NpV+9- z1Y6yt4jo+dEte(I5SVe zn)@0#Yz+nyIn-D7`2VOb{x40C^88&WdJTcVljtHkmi0>pN}TPy!5;q~*A@TS?zCRX{2%8j zCH;R~KK?Tnj{h8=CjN75&RtW+fQo2F`v1r4|4SVP7*`Vvx{D1Y-ZrKRLO^4o5Kvqc z!)_}R0-cx>FkN#=6>ZIe7i8>Sd84SQo1e|;d_ou}F0zQ6kv=4rVWcnYG-mxJpZ|T} z-g|+=hEjt}Eg!?g8a+~B{#Q-QuK#p8s^ovIr5uF+HkJ{rEaM;$xLdwBulp{OEWmLs zmZep#9>?*t<|o`@etqZc7B$QhHEc$IWgt*_~NQ5_;4kj$``% z3VrZlnYq}&a@bqmvGX6bH*d=r43%M019naj5~701uSCJz1XliqJus?Ieo%=gRs5ygM}4GXu!1E~*?FvtRisXHCMKW1-bdSrNu zLmrZE$;RBMf26r;^Zx&u%@F-Ld`hPY|19SJ(sKM?ZSB4E|8=xsBUE_$oxu z1ri|kt{po7h(LG0i}r0DCwa&wDeNE%6bme9iI!Q@l0(T!*Tn+8Ll4lGJwu=N%{S>u zIzv$w^=m73jb;-8`LQ_~lEWeAe@3`(zKW)63vAEhRYl3Bup?Zc+e!~I*Ny6cQY=Ty_en!Bv(FF zL7xR#O}W)2rh3$%$6p@Vy^Ig3u$P7J8>v{K8lW|*({wM6oGo7w{tI8{7Y^#uk6h1L zi5`IoSNVThjTHWCzBzh%{&zQ575wMs=|~j-Sj3{%@)9k@83y^x_i)yF0F%^Ux|miQNyH_3|Lm%c%BknGEpXblpXt6? z2wj`8N?=X*%^1BNZj67E93DJ59t!WFh>aQ3Co{w`6l4}&sd zBzoY+X7vX?=2K86sw_QzdL1|S)ydJT&N2S}@hqi=-*Y?>CzloCnAL8_n7GI8W}w9? zy95?27Ja^((XfYAm~}N13_M~~_JZ*Sl;8R`fEWHxp-cLJ@zf35aW>ip+sqxtsb`R|=v zRq$U{H`KxwtuHtQ6QFSA+T=&y*~{;0ur4yklb@H^kPCyw)VPH=!ysR&(!PU07HgBCO;Xx{g(I6KIiSvjMm;7}bp_sEvL>X)5lNN0kZMtt8TE z`4MWU_6VLi&oG=EGttfOg?l& zET20zaq&7_QgP2xnl-$iN#_EpB5B3a`V=>gc9#Z;Gg-^|)omnSv+{`eDFvw`{BQKEHXRD)Fh|ne zod485Ze;zxZ(sbsJGuT9Kmhixtv78L3jY<0CwM3-P1SWsn}pVC+QX!E)%u2}P{N3m zV3bR>R@#4`kFgWS#J40cx`w9$zMLedpU-#v`OqT%FWqF&JS?sZqKu9O@4N}ViCy?! zaQWdI+6m^D$qs$KcYkjWCl%`U7iirio@uDK)S)k4r9jr+txQ6Do3j z?!BL!U3I}k4t0=(C4c6MpwXG@v=QOr1a{w+#eahQ;N?58Q%eslOrI8SSRdO<;eN5- zU-ej;8^u)OM$?LRUGU0dJ}-?>xz0L+d|Gos1_5;gaksU7T3A$zsaR4?VZB|v% zq6G`Qe7+~KSG|40x7vJzOTK`Q^DhXaZvW>Y%>3v+{I$8cZM6xc=YNyQ;Mz9$$3Dm3T_Uv;WiPuzNf)DxthAW8P@FN*_3;h(1zfCHRDsQeQo z38p8zS>2y6D@b!EAe2KJjEWT&;RLPy^lK0=f&?*}pedv>pa=31k2;{Ok06bU$UTL2 zN#K)J4vGL}Xb~U~@ze-uBkq*L;?FL4?vKYjrXh6t3CA&pDB9)X=u7U|EUd3c}CXP(AmM(^2C7L;IX@pEK@r#x^_U-s6&MtR~lFILVMN3H_x? zMo%1JM=%*O?B+CKVsT!bJ|V9b>i^}hpSx!=*IzU;0c7j{)n@N4{}0D*|5q!A5&!Rr z4h|#EANw?r=a(}E&h2w7vRL*pg=Rdl)?W3OKv=$N;ygQfaD{9w8clVd_;m{flokm|AtDHm7+%?*6&ojeZ~& z`27g*u4t^3sWL-vy92C(9ScHhX@rj`%kuGdy^tZf+AQ^0f;Uv83C4IFo`^9D0X)&h zIUAzr06sOQs6T^3U#wDvsA2nDAxB}2EXrc}rpgnI4Uih@`^RC0Bt;&86&Q%KA%sKB zQ{#gA<-@vRl?GaE+Gl`X00t+&P4yY7|K40aXxD(r^xwdX+Vx+FtN*fd7}0;%E2ZB+ zNS*`Ie93rZ)n2+=9{VGA-$$Mkd!5+p#9k-%{$H^-!*Pc2(OPduZ4pT61qi&XlFP5V zH&+DR6(qPe{q_ef-~V_oR-3XAmnpJWC#*{c5_k6ct2k2%A!`FgiHR7E5k!({k$@y< zif=X%WDD@L!bker0evvIwIe)+Y#LUI8~K}uV68udciY{*I!9q%QWM3Qxi|X}Kmhj6 zr3FDCio(ArNW*g9MzEIBDx}AdQD8_A1^xFPLq5jRJ2W}koV)JMBj&{Cv3p08HeHhK zo2{@j>MSj}b^3G(RxjU$7KP@fZmmY|&tuEQUQVQGj-*O?o*tQw`XnDVx5Uoqw7llF z36+2Ov~6fnYJP5wQk|m$?TeuLzaC32Kdb+;#riMjo&f*1iBRJIM!CbG#0VA!Bss!f zF$aGHhBpjv7~ZhS-mvQqM<1W|Ot1ekyYA~1ME>jfF-s0C*|5`g6&>XWuvK3`j~|$D@|^Wb z+fq$KtMt=iCoAIURd#na_Numlp6QUQ^74eY=jIrN!8n-0hwW&{@;|?={rCJoK>vqE zLMi|A!=aS_(;=n!Kg|OFga5(*;D7Lc1;=^de`ERoCV&9!o!xGNFcio4D8^)WL-{D^ z?zU{Z<6_Akzz{8lh(LfYWKX{XLj>fj$XFcbT$rG=N;&QM{o8uD#&7hb9_0U9HctMB zt_-ihR6d6UXx;xo%K6{a73O~%$A;wpvvUk70SdM9sDMI26apv&Pzaz9m``~-h$4xC zirYaNNx8T!HDiB|CfF@f=!(Ny8i#~9mZxaeoE-(*$*u^ptemn9|i-!2wl?* z3>t>kp7qfOXn$v8-2YbnCz7K6QzR9J1k`^c*dX)&L4_L(A`5FO?j#Vqdo1cf)Ptx8 zQ4daB56UZXU7Ne>6PE`nmIv-{esSQ$e{WGpognFi?t#UfDQSlQ!XP_diS#Y}Cuv%F z{$G|g3Hfgfq{=czB#qG@aDEyrRh@BS5?-^~m^=ReZJSWzxou}FZt4%s4FBj&tVR=)-~m5~PK z-Ex81Fs8RR@d&yY!NbAyeyA{?pT)uh5j@ycPc!VIxwDT4;&1MMnqT>sMsdZ+W&W)E z-=e2-ks7%WBW|<(buvyF|20Q-A)`2CsCC#nc5jy8e`~+l&f|acps}}m{{KeGD)?WH zj8$O2vh{MbcdMFhyDT{Fx=vlZsL3b2-Y^L7~cwE5wpDrY5cmG4zX*PiJPyNgK zW&c~DKh*cWD5)R9)o0RXzTF$A&~@@s#bvgBI{NT9udCiD)0zFDcaytYc6@Ysb?IKY zbp2gnm|wZQ{zdQXjg(dR|MOgAtit?-cFQ@x(BNsdZ?>FPb9>qT z27dy6JH40K9{q>Ux$6(!eL~JuVIl{{CIHia)Wk$2eF`<-!|n9jP>~|yLRuGbjL_h3 zXp;R*!AGvKlOb{h@`P0Ml%#Zy|F4NePhQ6f&0u{P>oILEi^+@?f1;!ykLf=mA;2X; zzn^_{CU3AquQ}OK|Mw^v|7SDrbX36m;c>+93L1#e2Jxl)sx)BP{%^a{D(e5;^Zzzf zO8lP%LPq-4@j%hf4Wo;EoSqy(GLFA1-30cE(m2?cy9N2g10pcA!x7=HVa}4L z(uswZm-7jv3`A^8%FzSK%)d*p(Z)RE`zIN(p|01HX5<~mOoFlppSTCJfQW!qd-xY+ z5;gdX2UrRHMqj4)TJxv|E}fZ>G8v7yk`84Pg232t+Y@F20rNN-jzBG+mqFO~0BBB8 zBjk0I_`LF66xrI-CWmYPw`le6zTEA;bpEPR!hfd2b)VK-hX08D1^jRA9q#adBV{T6 zXAn(+@dHrb4!RiP-QySHdCO@YZWo?+)I@TD)o>)or4wujf-H&yc!$&Q9?nvrE+FyI zprcN~fg{9ht_3O)VG;v_>Aiya9xbMya$ih@#I^O4(7q(`6^M;1w}a<5U&{C&jfcz; z{u)VO+5TS>ll?sYx7!E1_rGkUtbqTsz}P$qcmt*oP#(u$%m-Ab@BcKM&=nl4&rZJ! zT#csx2DCM3fa@BJQZ%=nS$JnrWLTi}STS_RZXtFB3nT)(^!S9NfJ`?XCkceHFGwuZ zz^3>HTkH6-en>YUv7RC!fNWw<{zI$L*r$qgT*JiX>o`4}(Le3>0lj944tT&l9KmB6 zyEov^d%%(bDwI+Bfya$CUD61taUvZty$9-iJgvhYoa*<4G>Qd4CS`3k2%YYF!XQ>A z!oE3DAi2Xl4B8q~43|61+6lKwl`eg9`8VVprzEIzzPu6Vcs1P7%HPDj1IfJmthW|^l8&2T=#;FYb;?eokpA8#B`~jRr z2;g!H?rN`rFYt^1KZsHPv+);Wj4uvn!8-9yMyg5u{9bm4%+Anw2+&AYx^w??opFJLG!GSE- zO7kGMU5(^Ir!BI=_kRWtnXxyRC}ZCOuy-{}&B9RhdlbfflqCGrrJuHrV;3D4+2b@S zW9&GEl`rGQH}SQO(G1-TblQ>{>P60twcZm-<=Pm z;Qe}&I`ciq<0yGPI2eN88DvN70|wy#=_(iHrr>NS3&^*vG1 zBtX|HoeCJUISwJHbptwMd@cB6)g>eMg|s8@q@iyZ`F{Wl$jJY32=`{e4$Pg!pTGxfd6O3@Fn*-Pvu}{a&(GcWX8oWb^;mwpJx4c z91}ls{BI+S{NFww_Qm;aEzLzE&ip@JZxnQ$_m=_l`af>^KM^I4 z|82yN`M;VEW0Qe;!`chQZtvCQCQcrHBo77bSrm^7uly~QwMfdXskZi#whb)e)yO&l z`KR)Ko*(BtS!VXm|HDzxtp7y=-~InE*R2 zw$~xs9!z16W-7zc+-|krvV3-}`oeq>(+Neg&h#?PUPU4+aLA7KF4$~S?V%0~5LE%^ z02m@)1-t{m2u&dH2EbwzDPRycL4gVff#--oAj3`Exvxru5rD(0JQxKyqDq7X07q4c zun^z^WggMs#U2%*@c*|3Q!b^ChL-&ILSW>7(mekyB-HsoR-%LdU!MRenk7P%Z+S`Yev#ylB4?n<(eFci`d(+=n* z!Ct{?wf&yvr zXV(=ACf#9Y9J(UnpG`!qUpFnOfQ?k62~C=2iZ^d-jdQEQh*QV)hJm7xGDIQrnQ{*S z7h`Y}L!#BPBqRwk9yn_$cyVC~^`jvred>myp9kR2l*Rbpk{+^-0I&@IPfD5dACAhq z{7)`rb^KTUP^B9T0EP<7BY+_sZ$$>D79fQnpFFcc2F!`F2BvO4MO^a!AOny*aeML` z^K@K3C4HU{V_vQJY;#; zz-a#EC4>KXa_f-x!G*g0K{7LpodIP`l5qSBO7Nxc{~R4<)_;q;@qaF5DgLJ?`KDgc zo$D3(M}!w>wlGv&XFUDVs+fijkGsCeL=I@lY~Uz6#rOZOz|kJZu6QyGrcQ|lP!)qH z;vV!7?!HQBcfj5<)VvCMSMIxCcZ;-dTC(`B*^D4CBFQ&IMF)?Edd+(9()`a!hX1+z zVTb>@l-1AwU*s4Y0RF|AEanAB>tH*pw4y6)$J`(>otz#_^ZhtIm>R|b%e*e%|B(33 z0tZ;sgV^UUUo9v?PrNV9AG6=tgYp~RbHQ4Q*v+X|&Eb2c)v)vW6)Jc@J8>)~&jRKp zj$&4|R&CE_>RchIT?{7bQKVN8EK}vSZdJI|PaT<>!j!HyEa__06%i-!tsRt`Yp!`w zcF}_}jjCDv_g!c7#Ma3Hwv_*~Jj?%5D(?8d@+qt1KRCq(px$@isUKd5?9FzguuXiQ zO)%roeUkZ-P?J>dff4o-!b^GHr_qLvq=11NeHsXT1n3OcC5leI;`@H zJwzN4R1uESA-N9NICk1pGY|*lG3wAjwp^RRk3ul#^k*bv zDC%eY4)kr`#n*AMGiKRB>kJK}`(5sbGy6Q&uj^v$gZg{*k7xU@o9XE%csG&zPnK-_ zk0Yn_;rQ4o;&35!WsbBfX=mST|6gYP|F~G*@&DvfR$l+9w{Flaikn#b0iS%QqL}u_ zRkn6m3MVgt!A0%er{LXJhIenx7@~&3frg5H+OS8pM${6Lj0Si!VF_iLMNS+4u&|bO znK5Ul(6Ohn@Z{gLTXvx$$MUxT>|M=n+c*&3bDm-lV1X1^#gZ&p)?p8BVqh29?xmYv zif$m8lr304u6{OXi@eP~MsIzwa!6SgB`d09$4Lyf0WdT|4Shc4wr}HLw}uoE9_sD1z(WM*QV3!T^q#hHiuqr zYJ228b$PscB!BLy4gaSujp%_iKsWx^@J5phIi>Rb(f0QH#5D*P4wUX4>EWg#UUlL(s_3h%^jC=57-JzYJlBv zrWFR7|28hQaCY_j-42%flsDttkGy!0&a&;h>V`Hp*n=z|rk;>I$QE%-;Ot}W1bn+0 zILlsDceM4TW1I8!HNOe><&7nP3Rrx^m#ljCrH*G`~bEvAeRQaEnkO23j z?yJfg&8W)9z5k3nCz^fgY_Nf-C!g&8o5qpDrXC%2Ep2RJ5Nz3rAt1n@dRx_pI~q6e z-=zz`I1i+RG+7poc>62`cJ}{eU;FqU$4OsK0BR}#Dmnmj*GLQ{6ysF^-*Eb7BO@XM zwFaEZq9bw&BRrfIC{3YKneT}b8p7*B05cjnd3sCHO$%#Fc)I-_zrih=_@?Zy{bu-X z%v-c$XK+gsvTk*$pJ1(^@G4hw(5mIObyBR30Qt&(m1`t;&o2P%u~y=D_`p8zI3;;0 z17a=1ImHzv2u-P}iZ&EYt0+s@U0dQEN@cR{U#U{c{(UL_qu>-e2JTrY)L2+lzT0&5 zPzkaXq!dC3DA?CGwz??`7HfzMjUzROM40UFzuBlkMr7O5RQEWnpVw;X-lCiE@ z-k9(Hhm^@dxZ)$M*@|i@d`_RmTn0wPX!%k4kj@pecHZW5d8r`y?NajXYvQ4Q8FyLR zi~@*YRr?UMb|a|oO>n#$!QtKn?cE3(dlPhaBWUhT(3J>I6Lj*!s0|Zz@)S`TFuFsQ zdm^wVcd(2qZFsPewW0s7XLd{e^VZg zulu*Qp>+aqeR2KfMijphY(Fw6&$414!?dB(PZHSF1IssUcB|^JU|ML zC!AeQUja=5CwI}afOBjr9LNtGz&B@Nk;Yy~os`K*dx*+h1H$nAAM+1#bNnC> zO@`Qmkj`>Bu-PE=qdFG=uT{$|8YLF&>6VI+MiC+hC|k}4p}v(9Fn}}B!hb=ROqR6@ z>BpQs=Fs5qUyV)#7>pT;uH=~%b4U9rLMZ&y>AL{zUEPkFKoouzFPpTJAfTX^w61Ni zyQaIVNt1>^K_x0SfSTR(arz9s>YXpvIe-X^{KyItW$wg*f#KtuZ_b%>h8X`HT7?)9 zh>viW@w_zvIA#22X^OD_QnmfJoRWS1KZ*e35JOwC8i++`qMI@H?ycL30QT31M54rY z{}eAxP_(OxPuU;;Mu~})wZFn#*@RFb3L|OsDBV4LlZNuk%9NaSE_vdL8Fas1EbbQa z#>vQbM2tM&i|MurSl_;0>uQ&7O;n0zRMccC2C+Z+Hc~jAM=Hg(Seav3O4bM?1x+D} zMNR&x$#of~OHuDBy6bpeJ)1?7`T+J5*&Slx<~*eDKLHOn&!(QQ?|(xgJ^<3GrjexY z)9b*#I11}1`1D_0SGH)%##}RkSIIiR&d~BO((*4;-{3F1;8ulxs8Ipeomf-NSb-ZK ze@2j7=6tO^_6DKm9<_yH*{=|_Xr8l~hwtHLRuDNTFVFcX{b4*%T$1GzKaslc!IZ z;aru9HkS>f-h}1Sh0y=LG2l~A5?1Pq^jU*pUm7@DP~@5eq~`x8*8g#A?f)yMWM2Ol zzy$(aAQuoJ9opdzW39~dw^^8HDztu@TB^3xwZi(es7kx!w%2jmlZZ~!Q(e(&f^Dd zR(ywUcOqNy1ghdLa4el_10mUND7tx(wEuod=l_9bOzoKjHsG8lpfvtxSz`ZR2nntE zzl4&`|54s|@qhpi6`=h9Iultx`8=QOldIh*#|Jv$K=Cs8k#KWh^Emj1BAkDW=P%+u z%I_VzatA~@|BnmT|E(6O|7-p)r<~6J<7(;taaP@*a$@WdFs^leq!&)p`IgWB+7@z^ z;RAc6?;fa@(x*FYn?W3@-?yaHXP8c8herYQyjRti`c)o8GV_0-`oBf$f3D{LGD<%F zua5qA@8)#bD`2TXso8v!&cnODqZbScEZxm?Eb5<@8lty%u2n78vfB@_rU2oeq@UIYka@;!wmM&@1rOk|_9fqMVv_)Hj^-yFJezc&MKHesBNa8`uBx z`>6A+`tLvV|C9VY>i<7358opS5FfBcIjLfB;f$Ez(H<*;x?(yNWU)q|9 zE>3+;p1ME4JAr=xt=}K|z2W}BPo9s*?fyjf*cd(nCpu{Af3^4O{Pg#eYhL7GCaws3U(a$uRcr&cn-d+vEIxy@>HYu>v(=?ZNER%@JbulgruLEbd zwzuEQ_vw{bNGv6pD+W;xlh{6+(r4Wx*!w(W0JDJUW_d=Bs-o{ar?0r&4eSvyX7@rVpd=RQ%R#v$CcH74Fm(7VsD1IrNe!d7O|ujk!`e1MY!mP}fA@ z#U!K(2Y(a@EF>F?x^%);d33bA$6;J=)SZ`mFY6()J_QZJ7nj9SiPHQwlay0QmriI9 zVebBy?Q}Ns_0fU9%fH9y%sQv5Nr0Joscy9<{8<*z%_GImgj_ygsS6QKfHvj6)k)k zi(G;gfJeLGEZDT7MEQz(V65 z^6m10sHTmAMh^jwZLrL|fd7JUTJJk*FiGdJkQiFA4hI>y*{T?4km0)4zh-5FwS~^W z4B{eQ%HRPNy)m%%TN@{0R>21wGzY|X6h5qE6zl3acqLZfh6RZQgW1rC<%I{IyU9V+Jk0kN|HION!+`jVr+&5rMd2kt49y zSXT%M20q}VHyB4A0jfJZ%+0ziDU@OyUvyoTsEe$<;$b4v@+`<@mV*NoqwflIVW;SC z=AZyEgJB9ijzwy4&dmOB3J8oV?lrO2-8ZmZBWv#q1$w!>rtn7Bs_MKEK{V&sf!JZ^ zB8t0vjlx=}1SAMiRZ7aT1isgjAcWTSo7Vhp)n(v8A_Qxcm(r6yi^jP&_M|^byNHHg z$a_)D^0Jydy@li;voOL;#h~$8EHM4Zla)E$1PlMg)R+!sU{bRI#{D9bQp|HyZKM-c zbO3pcY1RU;z+!INlEcdlp)aN#a)`0%h5m*cNJ#QJ1^5O+KwKt1qsv9B*r3e-Q?%`H zfrt+{wZ|)6qD8vtpPtoMnb71kx>_qQj&Xfl>P1*&3|>;hrbHV|GsmLD_~GMT#&bEX(Z`8h8Xm-jjAjI=Xenrf`kNEyT`Slh~&ylQn*b+<8IWQwm+T&^or(Oezg zp!cj6k%+~Rz2@oc9thFl&tNC4Da2EGG}~J1d>WT0 zl}UrC6b(q6#q}LEetiGOZ?5gV2l_gx_Wle<7fg?kssz|p-IRDux1_udey$NJh`AD_mqV)I(d056Z(aU9P?0_G?Y0R&w}Ixw$igQv>}1q1=saW;#Ld|O`M z1~0%Bh6pI0BhL)r=N9lw$%_Uw#SHpTw_4>fsG1*G&Ch{n-5qwxVOrtuuejjr9{SMH zw#d8XfGBkWi;vGSsYjW#uGxHGHGhQ(@$eLp&B7zowY?s(3pz|R=Q42d@TlL0*F_&} z(6&Sapd53XnuC-Kj^$CU$pwOh2u3JXApp8GAa_~5D?#<@i#C^ z_aYKgzyo-Rt7)qHGbr0aw(;M$@V^v=bP&3K*ajT6$Qpf|DqGHIl!+51TQa~q4IL=i zGB5&5l<>KRC8XYFAELRV?a_f-BqVo9gnx8sO9T+$hVFS5V(%O*?Ku7ccv*D5+K@&bOrR)!PyO3LpSwSC`zj5reP7M`y-zOv#j`N2!VJPNLX# z++^Cf)p#v)D3KceOkzLvp*QFO`r?`1pa-aK(vuX}UH$+I%IZThu>)Xt0W9_d79?Be zf09mwQRvO&O6SkA)Xl`-GcK34cLg3FSUf1++ z`(6roNqz63_PpZ@tP1v0pY(`F&C4giE_SmTC%I0Aog0PY*ZAJ2_gRwLw;08>uR-c^ zUzsa;X@5nb7sCOzKF7uoU5H~3Gcc3+%#$d|+k2n4IoN%GMG!!c_V7=@kL~@@)$Z@S zDB&;LVBHlp^sG&BjFEKo`Q{CNRZQ^aXgEAnfS|K?v0CaZK~mJVS@hB{^q@ z%DLLTY-)sMek;4iFgjG=2N~Q&!||aKKI!eFxTy0(CETRC+DH;6hf2781PK!Ij9C0_ z5X`{ShL5w8!4= zcTCURFGSoOoq4NhlE6+ZJ^VuAC;LIU#NC2?Ld-wY^~VK!t|Y|Xz794V1onl17}vI0 zUIG$OI7j;0ZmNwLjA_E?ac~0%NsJc{3b2})*l~a_C;n!eFUToMi>s=7fU(lIg9k`Q zgTY?BN)_o$Z&aTLco-vku^006RS`4{{0c|*=3w4)Z^?yD;EdnB5Hh;U8(nr*BWrZp zXAsa!p>c9=Yn+XrRyH?J^bO%GwU`yKsjyxh5bL6^+F5y8Whi8>)uz;r*n4%Nd>zht z1hX^vft_BlUKZctybN9&?5s~oR;N@Qkzk44-=Mr~13ro45%RG>PG0`_K%Il;uavoe z<1iRuC{=AKntpl^)2QeoE>m5Qm(sH|(a5xhcEpL>TQn2xn{w`UzS9-WNC}ha7V3P? zw7Z!wlUhF&5E9H?GAQuay@m4_@TMP`8T#nhcG>U`9sp0>dv3u1N8|W9wP3s>tIVoA zE;dzh90UXWq|xKkT79Pzp?>o&-o3~cVxXckikl{Ca)3vxT4gIb#(5v>x43<`?3y|> z0}$5`2TEK49$qX9CWLn?#zGMMsZ?tH;-`3(rK`b5{g~4+7{K@?TdB2AB)AT44(?(M zJ{Y<^>toQsz1kOI=L~jRTHiSK6($)(=}|m$hj}|cuASnU@bp^N zYTgwg?b@U(!33W?_L_cEmxazJ~5aKh57%xKri(r#7)d69RUY(b(@iXbmVSBus)l@&R5Zd-g zw_!3kvJI0A*AjqwM*U`%CHcMcv%+9`;3R}*(PIZqR*vLwqZ}Dc!!f>?O~r|j~V(aF;f%? zsrl|y`fMG4uD@yQbS`8z3Fpg{>^pd-cKr-Q&MjJWWd6r=2f;QVsRu*$uHOby0<)j$ z9|=p?Gb$k(?wQ)4efXe5srJ6&)iwgvGeLoC~uE^@cS-la?KCbx~%f8Xs+;-K|KUwVtyZB?LvjkSKnfxxm2rSsaI#bD?3W_Ysx?J_&L3hO@*u$*dEvIL@9mLLq9N6bQ&-!omFC+&~V%w*lpB{4m$Z#lP*0|URHK&S~|6uYEfS5WmliBJN_s~MOKRJPW4Vq?JlY`ahOT1 z(hN75N%t0av%v)wJvm4;X=79*g+!Sjsm$p?GTZA~U*IjhEMk7T#p4&3N3`9OjfSkY z*~2X=p4BUVeJb~vi4`n=Fl}YWK?+bICj}ByAM73tOn+HO!o-Z7pD3sMImu89?8@b1qOD*s!Q1_;;<5Zsm>6j}lIe*&;~b-Qic zO88X>UrE49i0wKBnk(6kQy<5Pk1abu;hSA)C2h6h2I4Aib=~)9F7gb$>Q($=oo|NZ zk}In{#c6eLil{&l?{as^;c)&q^KoPA_ULF^+llLV+`f&sv0P06%w&|Yr^;z1=N(S+ zk_2SyYw;vY&S%u36@U8|w%uAS+PhRg6q6KoIs=Q_AbpMeNrVXYz8onX{{FcB>maK4 zIov<`i|fDW<@;Z4)PEfueyRW3#qZD8e{Jx?-aoDW>+qZXqd#B&HG)rh0-5x87k(Z5 ze&H9ozt<}K3Om=X_zLg+eYIZxE1OkbwxUZ7)U24!dc+EODZN5Xmtag(lc)mA2$mmt z&S;PeG9Yqh(Qs@VCDfN`KT*pZfEmP)EP8e)M7DvXnBsZnGgWinMOHH#W*Hx!jgk92trq$)4G@~+t3h=3Pmlr83&SO{b{BxVB1Bm^@D)HtXGSzfNn8Fhe$PtaM1=O3|lfpVGeXO zc8HY2PNO#9OGTdq7?xx4SGPm3c*DF+`X_OCME9E(+tPwDX2*wT#`&9JVNB{D~1lT zos$wDl%xemTeSu(k&JI?y#)1#-OnEd5zm5NQa5U{u35{Hu`4fhCl4fK#h7YBo-v1g(WA^&Q{DM_?~#_5t?AW(P#$PAGaG4ID; zbUo!QIpRF}|H-gNYDuJ{2-CBwt_-v8I|d<4+=(?c68CH)FEAGL3DADYPYj8cUa5Fl zs#A1}hK+L36#0d@G*xppYjc>Rcce!v|13!*kV`IN+dQ7r^Vh9FTsh`eyVOaTv%7Rz zq&!rN9>ojU5*3e{HFpR_Z1_gv5SHyw*$(I7O;s0bYuLzr9is?qpvvzE?wpIZ03LI`XaM z3zIr@cyPt~fwU%B?D@=kaak^Ghru&J?nvJu#oE0#!NM~|Y1bLjglNpvWsa)=j?apQ!nhrqiZyTI%R`|{piMX&o%d#C7mUKnarm>xPi#Z+nrCC_h9qz4 z%;SbGy^tjQRVy9zhTN^PR5m-E|IT3uJVKTkICcy}i05xp@SfgY!`N-0+9TSKLDq<1 zXXy~LSUYU%u=!&=##E$EBaS-EuKsU5uNE0fwb^azhNnUi=@K^t0EEgCq6<9kK?eKF z9dYN9O1WdE3V4y427)<)dKa)z0~0}@&RO?4%Cyg?>VN(iOL%Ze%eHDh>r|avz6&e; zbeWqhr9M)x6Sa8!6&e>7*7y0iBBF`$DK;%B>1tMjoqHD`EH51VyoyIOg;c%QxK`G3Z7P>)G3w*!}~% zv;(5-BoAgU1u7EsvaW$eyw8I;Qs&hNAA17t#L`6;jt>XWqoQo<$6rZ@c-L`@Wz`v{ zHaHLpNAmAM-NvnlJZ#GaE26saL6P!VY{VC&Yr3lO9H{{d&be9y!+$D%7p;?5x5GG- zCZgO^!HONu>5WLLbXB`5{=lNMqFFcME0&|-oN*M5WU-_Z@+3)`1j!|w;gK%AmpKUE zB+a2hZStaZkDx;{-hNJ+&vPO}Pcj+8iUi$QKw#K zA%IMh05T({$byC!Ig;JpO4pfD=-iiY3~dZ~5;n@V*jF&o^BUdzRZ#&v!gk1K5TC8y^9^Y@4O zKVL=XJsy00u>Tk5|2#W5eD-`Z|L6Ia{GVO?eiJ|d_O52PZ5#-{ijY$mXyV#(5<7cp z6Q>Be*8p2c~Uz^oBIF%q`FjDuE zG%>jOTtivdIJ{SbbII7gxRy{1SDG+o#!UePy;m34!9HL$b;A_L&H# z)6Dyabiu5Po{yKUH&D`X=E5xT;42mlq5b#*dT^F!%;u0u8EKW(I3R|Xu_;7%smZ%V zYUfFAW-p^B%W5eNwbQYn}X6?Enh2{Bm!%1W2@ zAyrXE-R5U)4311CzeVXs`z6uRB$M&E1fGV-m_pZy2VF8CBE zyc+-Y#d+UrAJvZkG~6rWzn%YABhTjeue2Xt9RBN_w2z*I|KO5+Wr)68$A10g*bkGa zz<$mUD{!AvVyl?X?u+nVRi>{+cyEzv=wTzpkm#{~T=+iKN7$K4|5YYQHn73o8j;is zR+AQ!MqTzfApOFxDJk>PnCOOs>y(jR;kJdV1%?R!DZ)ZZe*;5p6EO;xdV-ij$8Ixl zNI}ls2GI(EhA}duz$i^~hc3(bGm&}pVhls4-u~)!9{*Yw0Uz+U*KErFs^XYgT}~d< zDd>5fj@Na**3?@@z`u-+#6x=UQ8!`g=-Bsw1)9IFA6p=&w%YpV)o*7HC0d1Kzya2PoYWY6N=; zd)+q&`eXQ}cW?wR{QkNnJ9|}{iAum(aN9oxX?({xPOV=b7CJyq{RX~MQPG-VROW|% zU2Q#!CUiWU0@-N<_JP4QcF9nUB8|2}=10#%xPd)&rJ@nLV+1j2w}QNd*fNUR5N+TF zK@CcMHmRC3ojX2FaQ|68@qE-?!cog+f=(zW++HwY-Aj|aw`7DYNfYAo5&aPgLpy7O z#lmLSm~|H1YGC1#yO~?9I$)9B8eh;xRkD0TBOd8&m1N=y(bOcF_Cm>c;uhJkSfZGu zQjya`vPFM4iul3}!>wjX4pN#WDS7RM9I_6=PsMg9$~%H;S6;E5{+>ZrEhYj7mgumP zR*LSV_{5IAkL+2&@0?TJ-hE|xU+FtaM)3mg9f5T!1?CP{cJ^GapqTDpp4!Hlkzc(9 zit=8KGx<*d0oc2?-8OC@`YS}9Qoyn;UutyoWFw9fq)Cb>ZHgi=Sk8h5RrxRewORM(*#|O9J_%>7@t0Z`youRV5KrqM4 zqFSWOKp=;k2xNu$o}u~3#IdvPWYID+mglxfNXCjH&@PV}~!a>nm(aB=Y;#5a=yz%4o*!_qcYrF|T4 zcI?n)l$<;Ob0L@IX>~AG~T~_Wv zLskzY1hR%4wd4&5Y-2PVuzk?Wc3&qC!ZXavqAja#;6GL_40I&ddEfRKAeI|hd2EN( z+qb?gtlDPAObYznQmmee;rPpJ>@NllghQABW5oLPI)%Qlf_i<(tzIf;4o}uTt&X+$ zAeNsWmeZIOM7&Asv7;i^Jl(*V$tY8xRiE)ksOsYk=4dL%RH9TM zw5ieYv`JCcE*g&pe_<3aiy~kGXc_a2rUGb_pu*NV7r*K%7!_;^2$uN{wKok;n;Q2r zq6O|bBd`k9+n(N-W`x?XH&Osz=1x?M4iC3bH3cJ>C=R^%mY2RG;1h9Vu}w$@ z#mr0AABGVZMx|&!7WAC*0L37JqoKs~G(h^sHWjTSHPOxrpfU^_`M2xdJQ)FQN>3@j$T9sN3 z9IEv~(ZEpfsiDIhPyPib)N1YLgt0~6?TS%>MjpJKb0)25N~dauCWOj0TFN{|Wk5#h zWLO^y;7SXEgTYc96S*&g^TVK$7#j_geFOs2W2GpUxb`e7mXyB|eBUs)7+n~>nPMxO z2U-!zCz(PawE7w3A$sP=<^VlK5L|{za5@V>!xXV{!@V`=U1Vg+M3^vrjaLLGjIhM% z!U{I?@=9r*I&lMeDrNj;Yw(3y5zB_2I+aYttGT#H>mWEqalZS4 zOg}o_rAQk7urmyq!jZ0Iq-HAmJNXi!K2Ow+J1RKS-45_$QO+h=@kLO&j~fws1EtGM zZ97RfEkwRTibYlZfS0+?KR3sJ9&^0k@Bks2`zOPL?;QU*91c%b@m~&q;J<9;&*t%; zEBf$1iT@lP42DM^h9}YfNi;mzJpOain%L*(_a6Rv+!g-ma}b7q2IC8(Kkd)=8v1Fw z>5com$ck~CWhji8er~#Rf0#^HX16%a3c`7=ui7jjbhjgv$6Q?%O_l&K`#J^DhUNo) zLTXP(qApOM0K1S_6gB5{Qne`6Ly2Ee2uY+9Py~*ua=-;N7(c-gmlcPnCij+Yt_3Zv zzpIgT*KX;9Bub}|zUH(@orJiH&DqZ@>2BAtzcbmlMQyG@*(aCfhca&F@tY!PGLZMv zetO%_(SDO|2tnrdy-@S@ouG&ipmQ~5WqS^mIl*qCo3MJX_knP}h!{dtmtML@rJg= z7xm{a1fSt-!4By`g1KpV9B=b#^iB+a+221N46&4t-9u(8rvC&GfW2$mZ5s!oze40G z0c1y(EMN4d+?rzBAe*eSKoMXeTl58XB|w(zjelnMp+NtjAJF{Ra)y*dQu3`yoNZtM z0RoF6Int0L4SCLSA+Wlv`oBC;N?CY6yEyhLwO__iYn_c2euS3TX#Fxa+Usnz!A7gZ zMthfwMt%%QIogjYB(K5b+>W}{YOk@PEprXKE-5GAK99!}Ur75E zYtJqbd_L^L$M1r<`#hEu05&m3qS|)9fUKyxbSItOsJf4{1nAdUNQBxd+*4JNuj~%1CCHL`wr@Gxi#%rE@wBXEwZ!waEEKHDnoQ-nHf)Q{ zxs`yrXYV?9705JeZ{U_%ITRze+D`kd{0cih`NOaqg|loF=%ZCBAiD!*n!lu3p**w0 zZYb+`FN#a>kb1tNS(8A+O|xOQ5B4eD|HZLB|JxAxKFHLzY}x#H!`uI3EDgmFKL_1v&dACMAAalFd{gQ`CPI&x6jg)>kp;}@Xm7BqlSLxK4a z)_3JhFAac&fJD9CERJcgRpR%FA=YV0A(qXeb?e|cBDd34tF@ecTAEXg8EPNUJv@o@^AZO7hm$py6<+6Orm*(D|n!$H@ka1zB0i+!&Ta5 z*xH5E&AIqDMsVI}mqmR%Verk?MjrMJKr^ME_fOiCHHp|+@WNNYlEF>)uCGreF=(;9 z{1gl)cuR17@BTpF){x!C`vZdn)nSzvloi1<*;XzxpJ~TexOhBkM$x)Zv0F~ltTigy zx@`)>p`#EH`j213ARJ9;w&1u8sITDBuRtKE2%Zxi+sFPqMCOJmG*=S)hQ(b9@UJ9> z`6;XtMUq^Rlok^3lPN(O@d*pm`Hlgp3510Y}_&L_>EmLmKL^s!PWMC>+<6=g2WL@Vm$hl=p2a0B>YAomVsHmS`_+ z;Qam7p8%X!D?e5==`}uVa+V@(*sob*U2YmBx4j|r&_r-niv}|-V1z1i@P^)%+tbS% z=!#asp`vkrq;*Etsg^9qC0*k_B-wG3KCukfd|Xa2Vz3SYPzQIk;Q}TbI1`Qv(m>DN z$<4XCz?^p>$aV6JR~j5A6!>1aCj&*iH_pUA19FwBp4!)Qx(NA&b9b)kCx@Erid&m0#54_~c^eMA1uyImsH{hUkd^)0+ z`LJHroY%RyN?n~3>`%Goa#~aN$X58+m~{bQ^b5)*s`H*HY+90!oSj~(KB7J($+Xwd zIp^NN0jQtY3pvDP_TX43hkwCe-UB06G801aT^g{-tq(XhghEr!cYp&9c6!e~L(pH0 zVCKo7%|cD+qyP9%$ax5vJ9^+?0R9Xq{`}C;pP$b8kOEaI8wkVm1;1G#dT5@9sW#%O8JLmiNxX#7|O$793tkC$&t% z8OTV?MMwdaf1cZQ1ISwjyw&36At_clj;eP^>XtO1WyU8W8<=RUQvu>hFLMSn8u4U9 zx;!-utF==(J$%#J(5dtt&SeU%y;pJ$S|y!AL%Bv#Q=>X{{D~^l(z8=P39c$%M$S>vg zRCQIz9+H`b!l(XGZJ)Bj)C3IzRRqwLdclY*j0@^+s3bjZvMe?1P6P!ujvLozO!C5o zw2s=HUr(a0x)}F6<~OOnD&L5U8n3eb9s{kWFJH)oh#Mz`qr3MpMB2+~IVbm&CXjrv zt+G?362PI zN^V7&%JsfR#wc@3)`{G_SS|y9_~;)}u~cCR_W#(j;)O45q5gR$6(o0&ELmUb+FcTM zpTlYm{X5ojac_S%8=}>M-QV(=uH1QL(!9l-#V>5@)f%QQz6U&_FDj&v&WTD7@YKPtv`=%RDe(wQOME? z{Kk)6pdE#1CEj&5pI4+Kp7Z6}16Tx}5ySY{#1s0H?CI$ffk0Bz=vQ)v(Zc>{TqLfC zM!be30EW@gc|BIGN{b1Jq;;j+>0)mo9}Q#LZJRhQN7jV|(n5|aOgX^Lvfdo!1j#aZ z9s_r+H0&B2W{oA}U~T2-2uE82fBXHFCh25bl0CFf8=kH(q>}2LtvWSo2Gh6y%}sm0 zK>6{l*#JVHPE>>}xQ#l!Q8XwJLS(@aS7fA5*GW}{<{R81&&&Au!B49D2>qpZ=rz4JE5sBjKgB4*YCtDA^esd$7Ov^1MmE#g)+fx(fA!1E0~-;~Wtc=Ert zi(t$^ZsA~P4~}4dnD;l=%j#a27Vo4b)Da~P&A97_7#WF z>#2~7w+O=I#!yjDL=1JYP*6)$h!;OXXa2Yt&z1x#LH>f=*NX8OHgNH3KQ!P5j1fIu z7RqLKU=qpuKO+58VSu+h*{C%i4ZUZhrpA)dW}_w~*Wm`rT(a9GI@OSZLL|ZvqFEzd zxV3}?2~?T&HPVJ8KgC-1NUnEFGe5+i!L2cm@q181xlHzYQliBKOV+k6A{ zWo*q!y5Xcsb+MshE4&?I-C~{0*Dw-2CMdO)O%^5B@7Ngk+?BcZS9JaHjvNUZ_r_=M z(qhlFR#lq>+9(>i=887GBWk`_zhd=>P&dAi@WM!ale$N=5)65rI8b<5lN9+*sY4t3 zBDu^wMY{Gzj16?3M{+jnr{N(=th)P#cZbzR1dKMLnDA$cR)4 z(_SMJ2aM##S$%0}lXc=U51hSIW_F9$_lE3qf@O~Q!eIeW?$kQAoPlGW044ocAAnOB zB(mXzJ1nRiPATd5=+cH`3${>O-4sEXkH3(>(^;W7Og_2^HWZ}SD2NJ}_?L$XBd72MErmG5kA@t#H{GX=n2EAskN>Vl2B^`4gb zDk-QXreL=qYFIWZd!V_^*=IYl zYuMjXxgFhGel4R_<-G-LK?SZShin~ z3B9iv=~v}Pr;o#OQKa~ZP1tp^c+LxfyuT-rw^qyeA;3HJ>OnUpanBn4z z;J1$t9Ju|Bq?$*Y-@pF-k~Pxf=w=XHeE<57$5CWB1W!GZMIU|I#^jLA4!=~C3H++N zq^_c?yCf-O^HCWFJ934hs~rt>WYS)$(ZiVUU?M3QajjefBKx@}1Lj`b8GV zIdX1#k(G8^!3Hz_E3^J}V!t(`hp|wn(hF<;uxB6ww#9S>mW|qk6<@X+}O?(VB6d*$nT%% zaVNZz4xS->SlOu3``4_%$)f&`*48{XVVTyOL=U{Rsu6NncuPna?S$07Qs))BsMq;s zw`Sb8NUcG6#=BnSYR;rHRj$Kn$+kZno?H^@oB2CaT=O|ygWouZLwhC{o`>TAc3Y^r zk(%1srls@6U>6wo@U!}wa0YJTXcjsDX>g4wtHMVKc!3?UQ5Eha^5b6do>vJiNqug9 z5+XEA5O#vEsYgS3MX)I6a?x|Riz7&hzY_+f{SZu6G z7j2Ch_1k(GKjlSQUUd*hE@fZ+Mcf(1QNK?PQ$LQw;Fb)XMg9!hP5^;N#{KuN|MId| z^&cj&kNMR0t(!B1-+9|X&&G%(l+D(!U|{jm2OBEO{Ao!v2HniUOZ*}sF0CaP5a;l6 z_$MjiIQS*{>tEizdq@9%xwQMN7l{6eB_rvY5p+hN-`S~s!60Zi1p1OeCp7sHn#z~6w$4J~=AUC;DVr^{6kmR(@ zX`f_IeT?4vCi^7IkL1jdlAH!uv@WnW+miJ&!y&&RKaxrP?>uit8?h27_>p&=oxQ#| zIP6DjuvUE8t>OQ9l766&41&7_Z@S*l9C6h$-C}`YUP?cYT7L?$F2LI7&3#prsKtt8 z2sf<>S{0QCgyZ1} z5g;_;hIIdQ5_;CdZRSoU!TtxGkjZwmG5hTC=`gyr3sz6alxfKJ&)qgI7sMth>-6$Wz zEa$6|$sDu{NpBWXF^oLX!$)^FeKtWQ`eyPA5X7PLRyXjwyjbQ9+A8{_ zr${=`Ane;2E&`ui@5DI`f>D)l*(8rm($Z`>*WAr9?-Jm$qKNIa6Ggkv-YdF(gaooz zI&Jj~9UlS#+CZT)=V5SLg2k2Ys2(S?y-f6$vgo1qYg+E4{e;>Q{mR;xPJ9g@p!ke3 z=NPFT!Qz}A_tjpHxw*qHl0C|;;*E7}UGK*=Isi=GZ4M@Oh`3C-2-#A79-LN6RXUw)zm7mrDPO)%Bw_n6craoP`L zKS1onw@b1d;q!6L+UUC)Sv%qBO=567{$j43v4dsPmT3>B#`6dj!tDseBT6o{N7!C3 zafA2FEp;)!O^+zd-Z5BJk^-8*ZW2}i$K)3Xe%+wvyqefFKUTEBLhdKxj?$6$>^>N4 zg?XkuL{%plR32h{p968G)x)a$niA5Lg7i{y_FYxA~PvD2L z7%0g~9lfR*rOW6cdF;p@dmULeS6=>}OL1hd=W1qm71%d|mCfX|Wk;5_uo3s5dc>J+I#sp{fk@e#%v6hZ=h+2olhZKa3`==b&j?i71PX%!0qFn zsL)uI0yI&T1hTaBwr^I+6zQdS4?1;3u(SpMfl z$D)dDuWMjkNW1OCVHk~E7Cnx%iNPW)$y|of)y9;E@w6@fNRwx1bk*EJAxY%SQH$M$jj= z-bdz+1jNZ@Ne+W8@5KDK^~$}tlJf^`$eAM-rQnF>^^#_X!%M35c~g{Ns6%zi=SM;S zXqhAz(8k*;U%>X?AacO*3Q3GX*%&S!gESb%{+!5Ihguo6GGE0c`SK0~iy@R2X9xazJEkO}wK5JH2?~cx5X-%Pmj9XI=my+2FsS^7i7N{Pm zO-UTHWzN`VhcgiEv=`eZhIFwnx?OEsrb-QQiQ<_T^AmAYkEi1HKyhFmvt$BVbLbe# zv*d))`%+w5e=t`KCBaOxl~uB;=3yP*pw;@KZtMcgq;-3%2{@>(qD(E`c)xq6d>KkU^r%p9LYzl_YtErS|0aDOm)*>h$R4?)b3`Kl}i?8p038 z0)(G*jzW$>8UvEKM82O9C<23Rz2aMPw%w3rgJK!I!=~UxYNeP03#aAkx)pOeu^Dl4+x6zU zSZXQ}2lkQcscBcP+76F|fLf=y-(LF7s(rS7QrK5pvN>)gb0vXhyV=mw2TodWA)C4duBzUU;rXrb$xiEH;TRs} z7S$u!c;FksL=qR9E-Np{Y?Mq9oC#D(`xk^)%+p=Y0t#fLipb64Zuln>oPy@ z6-zLq+wNZo%2AKA%7BI=o|E{6EP=x6;=@?3Z;c7Xjm8a94c_xQg8uy?e(ZQQU| z5xPI;B4>APumS^y&1oISNSeA%lK~Bi;p~&`o9#PKXD4l5W`Fh!`?Y_0v60lrNjf{R z&u*~|3s5xC2g#EtiKHlU1*b`A(HOvtjA8lsHi{q{g&0Nyga>;@4WY`f+3yAs zVL-y4qw!SpUQr7CJyU;p!}Q)CCQ0v;e}?P+RU($Q;_Exz-z2tkTiNB_c0~J^d7o|I zm+y1KIv2F@5~P324-H0@-k2qxdw%PzbJ1MsbY_}5+|ya_aAtM*iuPyaV`0Z2bW~rZ z$>2qhdGM|r=CRDOB6?w_R|j7LO;pf&cAh+y-i^7_RJw&S!3aQ985O(cSv2C-6^x?K zjT4B4LwZUF?AW0A4em2Sb8+JuQAmt2d&~C^-tVwL>cJ~+XKGGBQ+#UZutVufF)sOk zJLQSa|Iv@~B$w$M!kCBRaO*4|>wg~3|MB9xm!WK^rRGRAdYC>)GyHTjIS&JdyDf`rUM^sEpi40_|b(7GguFn2mK z0|rNvt`B6Y*Q%wV8DtyKOO?I*fE|lS#gqAu#zqboMDjGejwsD z8BC_y+7+v7oYbCn&L&Yxs`zy~S)45UVUN$V9A8g;E=FmTEXK=z9S&)n8aXVV%iLT; z$!M5O&8vDt6&zrF92YB+)M+NrWp^oV$euPO^Q(L;oHG0*d68E*E@=Wga1inkR89;U zxiyWA1iR-oIUn?Br9|!1r#Ol!U!v%VQ{GP~K!X%56gSZvO65$a;uuLzau+%WyqLkD zKjjUX$OZqk(AkRerID{q-vo50;j6RDnZ8Stf{}_xjxm3bHKJ5H;l*}erSoZrJyZ_m zBYAB)M{d!!1nHG4$iItS=EAo?>Y?nt(dv;43Oas;&GP;W@6Tu09wRynyUtq;_mxG-O4~1K`xj z{a@)&1p$Oa;9pL>!y$ta(gTE2sAyI^!5}?^--s(yN_0%_|WJPE`C$I zA>@;ljCArC`#ehCar2!E5(+ki)&uHc!#d9vJoovHY8X|mhxXBjXSkFWI)w&V$H?0) z7-s>Hg6P6kg`JcI>et$?2*Qrafi^+c6rcUP%8f_7gylT)w^b~u4zHOC9+$Q&EUON) zO^Pco&1O-)1HExfGMPuQEUXT;OP;Q16$bIu;}yGVmqC&D{2=Vl{9!3-sw^ILVZhT@ zSsK%c?7}zoEHEvqv%3Kic3!;>zkL?A-*~L9i?<)E0=5!*HR+QKj(8QY$eViAlC5mI zAql!~h$`Wl(UWym=7%CYgRlihwa5nao5x|M0Sio%9X2ElB7EDua4|tal`m*&NXe?-@gN#J%gXVyKJ7~!SBX5To#iF)7znBX#o#d~_DdO6| z8{onZEGV_CfcDDrnadr|z*iaQOfWevdZ&HpI-mu*%PuQYLa?=XPxvS*sw_$czI}QX zc2__z%69;M!Ka}5+(mFch?Q7YG^oVNma8WE9cg!`{4N>d3kLZ>w*#ApFF(5d4w&B) zrqcA?VKNPjuyyn%{2*bwv{)5YhTw>2{Yb}uf1@qYZ~N%B5S5P)r#U_d)p>*ht4s9{ zwt$3J7<8~331|n~gtv&Cy8WS>Ymnh-HXkl$!zdlOn2Yl5`TIe19K$J%_-$G4RUs8s z-IqW+jW|rAra@%f7pW8pGDTZM6D02cy#Jkl34#_TI`m39it4>0H{qo{p4Y`YBD+Ar zGMS?@NK>HMhcfhCL`yVyX2W5=km;F95~u9LtWM18g)aoD-(JU}31d7I{I?}f@4U^= zs@W?_3?951rCqbBIY)+X!styDyvaMIO2M6~?49UB>^N;#`R*(AI51icTc2R&QZ9{cykwEnEy+Ny+DgmZ{U7lT zdb|V`7EU!TS}XcvfWHqOIhNLbslr2Pi(C{`12Q4m-p_efVL92#O?xc%sis`2AN)|ueN?+!fb}W!}pH1Olhrw7aPJLAwN>O5O zPTpe!PnLEozaZXR=0PO@=^q1AKWjOJ9WNA|Y> z>|M=n+c*$@6~QMT%1z?!CO~d=?AC^3#fS_S8*C1W!*zr>mO;tgCePD1>5DCgr1&RM zretpq+vXBO{5V5WGt`ir88#Zl{&Z|9@^pM8(nbJzl>t$N0Qe1Cl&m%}&xPS!$!QqR ziHCUunFdASCzd%k?G>b%n5lYylgeFt1>lF80_1B7Y2+O{r8WZzYr#SpA@w{Iu2ny( z_M6Jx;HVZ1U5_@C`dDn&`67O z5Bu1IJ@nn>R@6q|ZdyJ{l8>8HyhmHweB)MNcc3Zq|FNh?^A|SQ|YH<`xK+` z!2XKxrw5Zo(Xg5_Eoe==*@phUmPQk+h0&xvvH6unY<|_6*z7K}zKC~W8+|NJUG3>h zJ#QwQs-EKur2u|ks7fxMz?Yi2nPCxMA%paDxJLNp1(UN=#N5b|6`m}pOu2fh(F&Zz zg04m`0D8Wwp_?KZ15Bap9vpDSh=ohGvsIPVf~tB!cjn)k8A+%?;~q3;dqhR|2zlGC zNrty^mhItZ;k-p#mp?v+Zxt4XErdF+!q#UBXi%Crv zt11NDMFW;|yvA_O_+0wP=_Rd%Z${!}&deli{Ju@?ZP(I_sG;8lcHM>xh6L^j68DUL zOi2!*Jxch7A4BKp8dZaG-JnZr`wsLqIJjmk&kW>a;S{bv)Vy4+Mxd$$U8vN8D_p)5 zOEP!9oXu)M_pY9MjXX&EU!3gM%YbqO2n4>_dzV*6v37%V0smzgAO;HJv=s8M&Ym^z zy{$^HKg7eOoL0ULYStlxe3;TUKd<4aYe2Qa<#4G`>}bHlQ?8~<)b7IEWk$IA+Uyhn zNkkh)Guq-e=EqMornWy!HK+~01q(mJxwUYTkDI+G>8;=*dzhn#*$=fb;9_^!nTPa& zEIia4T$=bw+Mo43js`B42X2>J8v(^^Iqx?}F^dJSG2B?Jl!P55Izq=b(QYem0W>mjq7}V2=}h>6vWHoHpou6B_PIQCd>AuyRN@-BU|7(hoWGN$pdJt6#o{>~8A!S0= zGABTN{Qqh1{l&Qz|9^h|$HlMs{~z&JivL%_MujMOG@b~V>kZ(@X2%3|M>dyKU@o)# zk^Sd_bIIbRoYDUdinbIpI_O#xz>bz50Jh4$02};ui%GSI+^gDJ!BI&iE{LA}%7 z89MEuvkREWcMt0%qt-7is0z^!x+<(cE5iC&oG_S1OECGCIr|dic#W6o3;WHr2Gkw$ zI(0;jmyVGyrY_!}>11V^1Grg;$NH-Q84S58#kY=(9&GZb@88xu>9mI7xvPut_-l4= z2>Fe5X!}Z%)l=T#_jZzv_y`+Y$Ek?`qq88E16qvw_25`Vua4vcpAo8=R}o z7ct|-Qt5=s$jJj_v&qE7B1RUDg)ZqY$UBf@{tyf@HpC)d%V3E5pF4WOmOg|xqtCRP zIeiC^CY;Tq8vaiU{|Zq87G`K-Fj*%hOy9&1NU64Y*p(QLY#_|mHpaY_X9UT#%7n~T zjacRd3o~7G%nKfu&uiW)v`EPoqU%e&4b2p%A>^hd8Qc?AA|INA9j4@wKyoE&^k;C_ zOsT@HdBf)|fI&9VjH2HxaAc<0i{h97)<%UEs;Z&Uyb6RqY z(lyn$(wn!gP?|qcVM};Yw)_8cVxV7tKgHj_0 Date: Mon, 7 Feb 2022 07:56:25 -0500 Subject: [PATCH 2/2] Bump dependencies for CVES (#3359) * Bump dependencies for CVES * Add to cchangesyaml * Bump java agent --- .../resources/ca/uhn/hapi/fhir/changelog/5_7_0/changes.yaml | 3 +++ hapi-fhir-oauth2/pom.xml | 2 +- hapi-tinder-plugin/pom.xml | 2 +- pom.xml | 4 ++-- vagrant/chef/cookbooks/apt/Gemfile | 2 +- vagrant/chef/cookbooks/java/Gemfile | 2 +- 6 files changed, 9 insertions(+), 6 deletions(-) diff --git a/hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/5_7_0/changes.yaml b/hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/5_7_0/changes.yaml index a8c23850b6f..f67dc4444c3 100644 --- a/hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/5_7_0/changes.yaml +++ b/hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/5_7_0/changes.yaml @@ -12,6 +12,7 @@
  • Guava (All): 30.1.1-jre -> 31.0.1-jre
  • JDOM (XML Patch Support): 2.0.6 -> 2.0.6.1 (Addresses CVE-2021-33813)
  • Spring (JPA): 5.3.7 -> 5.3.15
  • +
  • Spring (JPA): 5.3.7 -> 5.3.15
  • Spring-Data (JPA): 2.5.0 -> 2.6.1
  • Hibernate ORM (JPA): 5.4.30.Final -> 5.6.2.Final
  • Flyway (JPA): 6.5.4 -> 8.4.1
  • @@ -26,6 +27,8 @@
  • Spring Boot (Boot): 2.5.0 -> 2.6.2
  • Swagger UI (OpenAPI): 3.46.0 -> 4.1.3
  • Resteasy (JAX-RS): 4.0.0.Beta3 -> 5.0.2.Final
  • +
  • Postgresql (JPA): 42.3.1 -> 42.3.2
  • +
  • Spring Security Oauth2(Oauth): 2.0.2.RELEASE -> 2.0.17.RELEASE
  • " diff --git a/hapi-fhir-oauth2/pom.xml b/hapi-fhir-oauth2/pom.xml index 128e87b5a6c..f4696c30639 100644 --- a/hapi-fhir-oauth2/pom.xml +++ b/hapi-fhir-oauth2/pom.xml @@ -36,7 +36,7 @@ org.springframework.security.oauth spring-security-oauth2 - 2.0.2.RELEASE + 2.0.17.RELEASE diff --git a/hapi-tinder-plugin/pom.xml b/hapi-tinder-plugin/pom.xml index 1d1fe334b0a..5cfafec2bbb 100644 --- a/hapi-tinder-plugin/pom.xml +++ b/hapi-tinder-plugin/pom.xml @@ -188,7 +188,7 @@ org.apache.ant ant - 1.10.10 + 1.10.11 diff --git a/pom.xml b/pom.xml index b70a06d909f..a0ee0b25ca3 100644 --- a/pom.xml +++ b/pom.xml @@ -852,7 +852,7 @@ UTF-8 1.0.1 - 1.24.0 + 1.28.4 1.5.1 1.2.0 @@ -1706,7 +1706,7 @@ org.postgresql postgresql - 42.3.1 + 42.3.2 org.quartz-scheduler diff --git a/vagrant/chef/cookbooks/apt/Gemfile b/vagrant/chef/cookbooks/apt/Gemfile index e1b8fa0e3be..1c021016eff 100644 --- a/vagrant/chef/cookbooks/apt/Gemfile +++ b/vagrant/chef/cookbooks/apt/Gemfile @@ -2,7 +2,7 @@ source 'https://rubygems.org' group :lint do gem 'foodcritic', '~> 3.0' - gem 'rubocop', '~> 0.23' + gem 'rubocop', '~> 0.49.0' gem 'rainbow', '< 2.0' end diff --git a/vagrant/chef/cookbooks/java/Gemfile b/vagrant/chef/cookbooks/java/Gemfile index c874ab20f13..74fb5ddfec9 100644 --- a/vagrant/chef/cookbooks/java/Gemfile +++ b/vagrant/chef/cookbooks/java/Gemfile @@ -3,7 +3,7 @@ source 'https://rubygems.org' gem 'berkshelf', '~> 2.0' gem 'chefspec', '~> 3.1' gem 'foodcritic', '~> 3.0' -gem 'rubocop', '~> 0.12' +gem 'rubocop', '~> 0.49.0' group :integration do gem 'test-kitchen', '~> 1.2.1'