From b1629b1d11fa249e62a71190736ff21913a3c885 Mon Sep 17 00:00:00 2001 From: Brandon Hopkins <76761586+TechHutTV@users.noreply.github.com> Date: Wed, 19 Aug 2026 08:07:46 -0700 Subject: [PATCH] Settings docs accuracy audit: gap fixes and three new pages (#936) * Enforce periodic user authentication * Multi-Factor Authentication * IPv6 minor fixes * Delete account clarification * Notifications, perms, and billing * Update metrics, auto-update, lazy connections * Settings docs audit fixes plus two new pages * Update self-hosted notications * rework client page and navigation * Matching naming to product * Coberabbit suggested fixes * Peer Session Expiration title * Remove dash --- .../manage/settings/client-settings-tab.png | Bin 0 -> 174272 bytes src/components/NavigationDocs.jsx | 43 ++++++++++--- .../client/block-inbound-connections.mdx | 4 ++ src/pages/client/desktop-app.mdx | 4 +- src/pages/get-started/cli.mdx | 2 + src/pages/help/troubleshooting-client.mdx | 2 +- src/pages/manage/access-control/index.mdx | 4 ++ src/pages/manage/client-metrics.mdx | 24 ++++++-- src/pages/manage/peers/auto-update.mdx | 36 +++++------ src/pages/manage/peers/lazy-connection.mdx | 18 ++++-- .../register-machines-using-setup-keys.mdx | 2 + .../manage/reverse-proxy/authentication.mdx | 1 + .../manage/reverse-proxy/expose-from-cli.mdx | 4 ++ src/pages/manage/settings/clients.mdx | 34 ++++++++++ src/pages/manage/settings/delete-account.mdx | 4 +- .../enforce-periodic-user-authentication.mdx | 30 ++++++--- src/pages/manage/settings/groups.mdx | 58 ++++++++++++++++++ src/pages/manage/settings/ipv6.mdx | 8 +-- .../settings/multi-factor-authentication.mdx | 8 ++- src/pages/manage/settings/networks.mdx | 53 ++++++++++++++++ src/pages/manage/settings/notifications.mdx | 16 ++--- src/pages/manage/settings/permissions.mdx | 6 +- .../manage/settings/plans-and-billing.mdx | 13 +++- src/pages/manage/team/approve-users.mdx | 1 + .../selfhosted/identity-providers/index.mdx | 10 +-- .../selfhosted/identity-providers/local.mdx | 4 ++ src/pages/selfhosted/maintenance/upgrade.mdx | 10 +++ .../use-cases/remote-access/exit-nodes.mdx | 2 +- 28 files changed, 326 insertions(+), 75 deletions(-) create mode 100644 public/docs-static/img/manage/settings/client-settings-tab.png create mode 100644 src/pages/manage/settings/clients.mdx create mode 100644 src/pages/manage/settings/groups.mdx create mode 100644 src/pages/manage/settings/networks.mdx diff --git a/public/docs-static/img/manage/settings/client-settings-tab.png b/public/docs-static/img/manage/settings/client-settings-tab.png new file mode 100644 index 0000000000000000000000000000000000000000..c2e83048ac9d22373ebb0bd9181ffc50a2e0a73a GIT binary patch literal 174272 zcmeFZWl&sO*EO2pAy}iqJvan+*Wm81!QCym(-0s84-i~~1b2eFySsbi+?{jI^PKms z`hMPfe|@`(s_q8X?w)I|xyBr0td3BWmqbRyLwxn>74k)L4L9OT+bIf||gD6)U9+kP4t-qj z5I}!l@gMgwpr%p0@SKtM!2xLhyqY4b*AbhYB+$d7;H*rWR9Wl%IVs6CBbkATN&KTD zh?b5n?Q-VdG0yi99gu*LjR&0ZgJLoWkB$k9%=FyRRCTnpXrv<%m6VljqIEu@(FOk# znZ80Rc#a;#Kr8F=!@a?o8KRq5`O2D_DM%b|qDEpawIFd`UOsZ@zjqjCbC;T2nw=Df z(J!|ns;v6Oyx>gFz#werhW+YE-Ix^Q7;Q@p)f7(iWag7J zlNIx4*R+crO?pYVxDfXDac}RE4e))_mYdwWP-U?D^Y+b${a(FEW@NwDy-yYJ#q;s? zaoFglITCabTJ8EfScOVB5OTpg^~5^f-dwy*`_8-)NeKxd zEaVI_{u&Ss=q6%aoh{zA7&nG ztnWkTDUa_xSeFh&I+>ckvpCR9fX@CTNGEoyP1YwK(CVjtR@2716fs!X9x>(A{X=a{ zQyP|WyLipgK47?7Z{4b76`Hlg{CT}B5dw}6lw9`ZuvqPXO=sM||sF4wE?9jMJk5LIG$Nh&Tb9(*5# zo-fI1F<&-v-e;Bf2aHv^soxrxV$dfcD?pTG`pSho8PTvc6{^2$3kYfjLr}0dJ=^nV zmI4%=txtsd7JA^uMMFusC@>N8(B!VoaBsOUl5L|7Ii=4|H8%RB$$?jniq0-KMYf1I-zb)n9lN)V01b|Ggz9~HR7u1;VL3=BMd zl$BXxiFiYsoB1-rqFQ-oIA%1jj%S@7z=F@ga%r5_H!)xZA$7N3kC3pJXPh1|aai^4 z$a?F3HQPgQaB$zxn)5RuX=z0HEbgGgS&YMGJscbh7Zl{AMU#Ea3`F6#ZZ>__-vRsefmF#nyN0PT4+x$x;93l7V3_N$IT_4a&*l zBO4yp6G&5KNC5s)jqYK|J-|Sn`R7DokM580TfrQPk zWr-4AHzp6zVGI2(izFMQrG8TV?7EC4!E{XBUiH>h!^dW!9)*zCrF|f&Y3+SbhifAHhe(|ONfh4I<J;WT5HY~pF?7)R>#d)TjQ6CwtJCQ0nY>9 z@TjKm^Sfo72E9+!7VG!dhu_#d@$~N}qrUOF$1b&c4yyA#4LNJ?V!WP9vu_R^&y`ql z%t%a3yWL$p?b}S{Me|zAmNc@ojG#2o06VXAz1_|d^wA(}p8jRHohE$BGdm~r>FUS+r$ge;Sb~fq!uqkzuf5?VVc^1`)YR(Hyz!E-rul=@b#Vln2WaHq*6xAtXiB>~-;wHkPn7R^sz3mtf-pyRVzANsT2=Q&RzP2nvCL zJY*y!uYUjj?S$(Fnt*XVDxB8{7FIb;i-?Zq9W3E-LFmr0Zwmk`=rpw56P(!Don2l| zri&6h?3pO6J>GE*TO0V^aUUHWp-odMx4IoKxcPba7?r=pD_^1X6wpw*JQh86MmKSUnNWXFhzh^P|zBog!4W^l&V z<6z%{y#RgG;ylNGZQGT18}qfQojhZs%bUp~2>8Vtf3qjXat1Nm6U_I%;-#z3pkELl zG1%%<;qQRwkIz|Z1y^bPi+CRhwlE`2f*7Wh@J6A(R>cELW(oHk4P zJYy`6Y;3wTbY{i0uagQx#fD_`3f|0U3U)t4Bbb2;;Zk~S<~E+bOo z`SA;1SZQ;LQx;N;l`;hFzRkZi=(kMk>|JXibarVe{oHaf?fqUZ`25g*P)Sjd1Pp3% z3Pr__oYj9Sd2FgL=vO(JES8-p5Rp3Wj!5u$ScW(pFR*WIZCUB#2u~d(4UU!T@p5m= z1`8PTXxZ6a3m8At6sep&I*;}}ph1pKPF8GGdhif~OUp_>c=p)XtTulf$u=eVXA|Ya z!>^Z3yF@!8Bs|~Lc$r=*^pML|HQXF9FtW7{JD)Ts-9Iopn*XI#J=)xx6;IlCkd?g0 z-rlof;JdWMZ)9dWhgs1Gm90E#tm|>i7Wg~~i;|3Nt;~==wr$E;296ttCS89CCMY{*qqw%=$GBLqv8zk18cCKwWgZO-|Q*!%P2$)}K*UId80oHK7qOH$R_ER~L2#~*I zNM2W{qwTY^#4nzZm$;<cAR=ik3TbxVVE;H<5)rcz?GoRD z;ry4y-$Y$K@)CxM2(1sQZGOM<5rXk16}1TwLZ0&6T|?q>5GhxFOJ%xZMY6#1_~DtK zB{G}P3)+7X>Vs0d{q%$UedrQONU`+m>FfJ6Nu4=$VUS`=sgH09qKW^EeTt_mNn%P$ z#4|Mf?A_1R79CD{gPW+O=Z!4=p48eywuh6YpK2Vc&)0Qkw~Hkevk!NdZ3==NeV{H7 zzBdt22eNA`vIE8pUT*OGbbd9j92R+_M8J(h!=Xq3_MNVd^_uwckiS7e1|gWp|A6}z7G|yF#V`0r_u)mWCh3232m_&^ z(c7@+F=VdA6?(&@1V^a&BR%hGiv|VR1FFPOe=b*}f1SB=K{@{ik1ejp##@=KZB?d) zskojc6W`{A6+5b2COx@4*hLC&7(ZOZLmPZwg*?h*bEn)`71oa=KW?_UB%_f^iN4W} zL#a_BbAD8IDGUzDgI(d(3?EfU+GFQ(C8;s#mFK&AC^+DgkbTSRd+}}Q8Gws16|LoV zd;|mp(a4ADgKaPSd4eX_skPVo8mj0Kk!0B_yXD#s2N(!N(3xMpC|@C*F0Z`{Lm>=g z5`4*8vVRT?bG$tR-MRZhXD>hsXUeQKN;RKL9(RciZZT%cR>#&_!gr}MO@Q!Zdfa;^ ze#JH!485+8S8c(={|CtD?2Lb_{QY~Fkd@d6iI<~1UQMJnCWQy%^)c_p{Wi?eeB*0M z%DTlGmm|#3_09L2b(99AoV+p>!W=t9hm(mygJ(O6N?<^C42fX6TOm1Zd>ds zN0|9At;Pf5V$g3_-%%l5SC;FW>!Tu8NG~ZCe%L4=NSt2fkrJ&Qm@A(4xEu8^g3$JY ziN3Tr2;7~%nC4n!@34IsuWzXQ-UwB|m~&UP$4-HS$AVN;RHwnfN`cnsb&V$hZgFO> zS?ETzGLG(i%hVcNdssYpaP=lw%=r^DzkKp~SJ?XHi`wXXI;Gp zDKc4%?9?L1fp>pnl)#%+ zlOMM2pAw!cr$fzfirP{qZB>XWmCDb=LiSYnA`BLz3Y49A1 zMW>E;B{B6wf#k;tDaBAGD-M-HW--KzT|=lutA7#*hxzundldHOv3oJT#B82*GNWcg z4o`<|Ibt?Ekr$?P2>Po3LtgVqa~RHmp#SZOTftrGj^IT-J(F%@VWS}C-)usPgbGx0 zJVrssVlQfm{~ZymXG1FfmCYga+qbY2%66QxZZ2*ei4Qm=l>2yYHiaiICE)xe13dzQ zjJ35-bLi&>LWNJs8Q-Z(GVRp&6=Ty^Qu+=vW4?nMJJ+ic1VksO`$ol;i~@vvr_3jW z_BP{D7U*JbON(0b$hZ{@xh_}RXUd=Iz;e8#Yh+)8rtV$ z9nSt^I*sy1lgLyaw24}ZmefWOsks(!R3h&UcUS$<-@kDWXG%ls>ShT`QrX$j&|3{2 z3GZ)WMC9ce-z#KHAtoey*~6Pq=asDALNh!=`ga2YL!jd zUp~8Owt2z+)mm3x=;-juragQpEiH90oaLbC&Y1N4xi-f5?t=~Hz~JD| zjb3{t?HvEtA5~5&7^P)oJZjE4_C!TzX-y)HDUa;tx~!{-(?^={Tm(p2`LU9cu;7R_ z68fRCGxeoQ)5}d1&D08IRbLfrX9GJWB&)CI9EqRzr zmcL_fkgJPJ_XP3R@6Nl54YnIwMfDy^-rVl4B&r6J+o=I@B(z`j{Vz|c85pJ;^V_nB z1)gsOo!CDJmwtb*uB^f;K|;|<0z!O)!>HR$oau)>TcN?Uu0N?`-x~X1F*?yar5g}e z8-tt^h9v4BMU5$)XM?~PzVB9BL`w(qKZm+GosX!}9{ut+^$}e`lO1*IS+N=yzlS-4 z%$bm2s;20*AV*D4zjm@8^2_gaRpj1A11ndJdzi4`F8g*X9>5nM=S@^)FU#iVR6%L& zyW%+S4VngwMOuy^*jwja3KUD*%Mq7=5cSl)8cppini+?F0Nyj-^PEWYZRh31X^zuw z+9`InbY5Un7<{Aaao|2gE~u%gX-QuLb`0QbNNI~v5#PQ&AFLQu^e73o-s~Bcs-I4i zA_RKGqUIc3`QHO0{T&x(bPg9&G`L<@hqE{;1+p`Ip~QZgk#*1K{@UQ*?*iiffX6j= z1%YgCNb$6_!`>NaYiEm$uNfXdv}79U7;=>|K(lnedd1RW)IVT~Khw%!d7bu&1w6lvvSd~#p&0UA^J{)yC~;kJ7Z!fK;tBD6ykBI= zcnF6ZGw{D_D1BeNpJI{Kn?J0xC37IOchul~+odwPHq5EtJ4PCG*u0Z$;2Y!bdzQuf z3!e@RU5tbxFuRd}%K^>b``Wen<(W5pZ@Fon_CIvbHjCTY#?b*>QZXW|CwB~y%ds~) zJw2ZO)&Lq&rhp>twT|5Kx9*{D(O3BloE7F*LVX>GbL_LoL~h7}--^=2 zX4Dmz`ZW|s-{)h61wJ}@pd^v@XZ@D0@t>mb^9t0Aj3`mbkDs65QTm*l@9Ww~YE-C7 zb=qDFzFd^(?^6C%9CBs`=du-5*n6Mm7P#Bzf1j-g$|a>GgiL(d$j_8u@gmtWs}Pc$ z4ecVS{l$T;>6*7h9rO`pHRA1fc@~_MRNGoNV`^qb+1Ec{bKyA^P4piE zc)TT-TlCxgUL$J9+~n^mOhn2he!guesr>i(k!I#UvWun7YGjzv{$W>h-dn!O9$T)5 zr=!EK_pGs;sGgKmH^-wLh~aID{Fg4BUq&#UI@zf$E3;iYIzR~#dAZ@fM^6&Yu~+o; zB-dCkhW{TN>`rDC<&>*jhpNhN7tmy{?h>D&nc4K#ZlSuqdT9EQY_2>;NyLB0#uayl zV;lBl@SUIM?d%vY`Zz6;lthb(y_55!P-=CM1M$Bjv!vb!;$;^l@#YKot7uVUI=DCm z#KaI{BED@=(8yEHuK$4$a_5O0JO1uJ>>nszX_|0BH9|^Ce{jrj?}pnxE0;rb)Y3|w zgQK$cXVAoibf_re+YsF(S=HAOSY2Y^?~##CiC+`HH#bjB)#Zl#`!4lFllU47p)>Lc zWbTdr=>)~Z-kWIFlNbBLJQZly))bRC|0@;94pb^i`6C74{Y%2Lr{#x=A_YVT{dd%5 ztoy%S`S)+e`9uHv+y8GK_mI^%LyEm^hQwTC@}yz&L^^hbT~LclRfUVTb_K^<3YFDh z^Ex;533x!D>2^d?GS=;lqsXOZ0@fC9vSM&T_1lX}r@Od61-;J{2y_Y!AV-wp{5?x7 z?7$OqAaRrqfB)SN%Ekns#itmPh)sF@lXNO3Bx0udz<<{2|4kS7P5s|t{$Gxb^)I1M zXNBi`Q+Z7U3QO~ob9KH6Gjn(gcGTAR_*W;qXaODBl|O%qyQ#w&#}aoW1-}i=EY=$G z-_WwrswOC+`N&gYVYf*-2~5?$^9BsMH*TRH7!ndfprEFP)%twP@9}Wk?_ZElvH8=& zU?y74=4EFSg2(Tcmq(dDl!~gBglG{cx;pjR}%S17#j8c3EuSH9aUR5q4OTi4VBPTzUiqa}0xsIMm72P

roj+C9Q1F(AR{4%*KyEqcUAU%|ypOP;DFge;9DaCSdFv4J!z3PAPVG zVLNKB(Jk+mu+`+bnrLRsxOMW0+VdL zee6k2EJ!?SX}HRZE?yg1TZefn@CD@= z_($e+2700Hj}@`Pp%BI_>u{3Lkz*b6z>r#vIg~zIMj!=<&4IWL(c}ra!@ng+u5TX) zF;AKsJ>08FHG1Jn=TYwPpVvG>VtyPds;LiDnk_uNb=aN|$3?`#!fc;e5mpx>6s$qj z*xX#(I0+!lrCOWoXsP!&iEi#~gdz>+ z$3^gbxHX>Lab=-EJj9L_fDYRzuoo1!{1`EE&c)MYc;77PuyN*xTiMX)X}CAn&sF74 zwK3Y;XE9~5W|+?Hrg;;JzFSnPlq8-Hh_?S`*i31_SR6BkI5g?eN|pX@J>Eh&s)YvU zkoFl@>%)~nVQFD0B#y=zd(GGeX(US^dtPBl)XbCn=6H_2E7q=s%xoLHaORj`#y&Rw z)U+*ATM!)~wATtx^mTF~GO8H5s1TTE7q^~RM6j*2WHssul?+)nvFraN)J#KMU#4#~k~a zu;t-qt6k!(i)=d^){4ch_KL{!K)m$n8s7BB@>IHZFg~fCm*McJjOiR{aVSUmqj$a9&`uBZSM(u)_Shc3~3)IhkctJWQ9) zgUb8;`_^n6hbIffj_QmQOkY+CTHq(JeOed{b78&1W9&{B5%)|{BGPuybPskpjzC{k z#{Q2NVDrJ9v@90u0k7nAY`kxHL@XVYHo+-zRT$AXI^45Q{($dXFAUJNyF@p zA&F_9hZsqX-|x}B!I|<#YNm>~B;gq3;BHz69J^~IWtF00MP1cCp*=>H0--{0Q~!Fe znt+xd3}y6+jmI)Y%2Ep$A1Ej#%{cHP+cV{?6*c1uxOZCJZdD5@}^r zKVxHS2X#zrrCi2krUu^DJ5w_-is-bxayiB&EwC)1bG)W(?Nw7xG_fc%;E6z7%7u3$ zXWVgHZBSDzy!2HDwbmeJy&;d1p1(bQiq zTGR#c$EUoygNsttdb$&T4&oTs(z;tI;9A#<>{;5ZR%%a%Yd^x*xrM}iW7#>_31zUh zfBBwwn#e4?dM=w${c2Y}OUTD2ddKnZ7PfCSFmgrU9#&*wbD#IqI~$whn*5Xo&l+KI z@erG#vXaQi)UXB^ksJ&4)s9>==SMV_NxK1us`u9TIyL83QFfpw2M-AL{An?BH(SkX z@}AAdA`^uDnYX;N45H${k5@$wOY-1F@^k3Wa+(VAU_>?^G{E5k$N~r;6kNQuaD6Yv z@)OO=Lx}e7DG?~7?>XrF$%5Fb408cZ6pGY&qCtl%M>0A-NK@PYOB-uFyQ#?^1Jw6zTaW(IFU+1~hEBg6EfNsjM0l? zGJIjMy=@IAlHcUPohS~s@sl?4tC5*|Cz z&jK*{&MgQ|#62FEBtTw9Tk-$kR;s6dI*BJ>2`5ju6jT~rBf&pC!cV@ob3!AUw~k@4 z_L#CM)#|l>(?C!E!R~&EH$NeQ#$4a_snY)e4#s^yHja_Mw!F>p4qOFE0r)OeWo0C0=<#)nA63-(@WEa_mEw_#v^Z)$tFfREuZ!frdqjuFlgSTDh!Q93T1b!B(? zye|+2q$9UkF&?H|Oh-9z3-^mv5fKi8+t(De2-TEzgRS4-I2=#F4zK4J`G11wf7(2T zrnA<;+}d8d2&tBmlTUmIZy#A6)TwUsKt(xSfYKW+_446g-y}w$v$n=XqUz54YG5*j zheym_3gnhA97;T$MsY+W_;#-P?8>f0i(B=RED4+W1roq`|Fq4xDb5AFKODb)IbBPi zH&BJ2if=qrgAKe3Rk5T#HZp4T(+^cVFX`MK4QivR`HVI?KGD7(@(?<_MyB)YiRrff z#&!AH^v6nfHb3u{+xcnYkAu;$k!7z=K>Y8YtuS7VWk~h=99ZIwe}&IS05~oHLOSWC z0Bw3$;Q6&CWKp>RJfTbj&2Y}IrFyevYToxja>>~wVt}6cIX_h7DHlH1;#A7#`MmA0 z8Oz(-yZP>4qg^i6(oW~R1FFVaJx?~Kt0_@#-0)M4vUMr!R zB_;tzltF(j+EY?$E*J%YhrpRKpYv7Jcn4Axb#?W3ypD*SohTsfv@%2~eOmHnwQv?jIIlL)vF%u;=GfSlSC) zFny2BcEKmhMOyiKSwtenAKjFeDWrG&?`~K#0^+{wH!gQg;{O)E<8l^xG22DPQ_yt3 z3XlHsB0M}e^7Tcl#jOMqCJ>-_e2$Q5>x+iPk7V1tnDe7jh+{**^D6EU%tIG^LIfwW z5Gq%%AaC24ibhpX81XVkyxjD3Bku(xLbi5xb|YTVI?lp{u2MZU*(26RTAU*G>WdF0 zkvhk(y(tD=`MmkM+D4_;+l6WOK5BqgSyR?Ul8%g8pKXO+xUcKYCQOS@*3o;S7%@9t zqxLtHYy3i@L3V@NBg;6_3rQW~4lNJe@> z?^MlVmY28}T>R|jQqoZB-Hp8tQ!ja@TJOlRX|)Hl zntUlHbzt7YsBAQo)tS^BFL!^OOy=M$>T#fm<6}GHj{=HAb^$9*nK!{?_o!dmWIHXy8%1RL-gk_Q5Dof2%KM>2O6MvioB|*f*3CvYXyS{pR?5cOR&>f+qOSP_Nyq0Q znmcYipk-o3b8>R~o%eRvas9~BGhMTmm6H=cO1OmE2Wz$0~{qs z1Xp{@_`dK+oewV_81q`VUNHdxH=)a}1JsZK*jY_^R~KCw;B@A~ihOOB@d!W(?_3qo$>g zdqFwHiD^ljQH7_iyTWA?k#A9iuoss<7j>@dO%LzGu6`D}3dajCEAdbARfGYgH~=`1 zwc`mG@fa%*Pad#Nm79c@nsSkQv1niRa1a+bij6{U%`SC@d=xLK^PJ+vfW+P3RkF zE^w=PT^#Tk3Fo&l^gVj5V9Wj0tSSj5m44Ut;CU5Zt$D5|v+Mk98^8Kfvu5a*z(TLI zr!fpJzfTqUb+M!>JuYep5h@i1>U!JcFkx=-lYPlP&)JWU$DF1x3+@P=_N)H6Zz{T( zvdkGg&;ji&RY;02K?Y~D28!jSJ+?k2eQFEt{y_25>di2V7^~`wu&C)bWrL8ow6rE9 zak1^3!ifgY%~0WF&x;hn0TT0h1;IU6U0*B_y+%m;QW*BeQ(IeXdb-W<-5=3h>*=Yh zZknz((m5O)Gb->XRIPB@N4@m2*5z@Xx4T{ADLk9_Gx_=Ey?hp5?C@bpo8Oy^CbxtD zO)bkJeG?KgG8Tv&z<8JGm{OLKiuvYVD`8*1Ea$E8^$|XUzjpIeuZEcOZU{0?M6a1EWIz|UT3Ej5pjZbG z$*ttO(B-n+?e*Pzkx}t^afP#uQfJ$q_w<5R)tPIn^m+|zPSK)o2t`d{M@M3;9m&s& z`DU*gz`Os;TcMR+CN_U67V{qTs4xF3rC) zHM3+I5*8DiN(E>#7L^@zgoyktvh?}Z9nN`YQ5+T=8bFFUkgmMM=If}F&%v0U6 z;!-&no33@N$YDfklQVEi93l`iM0q*Md07e9eRH>qEsbIGQ@d*z&KD1d>55BGU9Mj{ zIbOGaj^AXPmJksQh%1Ca+{cSOw)QW9FxS34peRU+c)&`M&1sa>Rd{T-l_H_&fqx4t zPdK5EvM{p(>grMW9dL|qs^aj^3RM)v62V4cRG~C3paAl~gl+7e z3M3>E0u4T*+YJhjV1=0A_ZYeo(a(VD%KjLS^0~+b*-Q+@vLBv2d zhyIE-f3TN0vY6s0oI8QYgJS0bFuP~c2NPLbl?s-xN%7g1w8t9<@9FUB>=r(6bc*oZ z&S7|5CJFXioHbb(v`6Fu=8SfM7D2rjZZn$|(YNEQWEUg*!Nx0wYFPSyC#V;#F6{X? zsGk6U?ge|=d`-(TSpv=Qr}ZagGd}XTii{3yYJ#6oR{3cUK_OUb(m7?u0D)5I{?NVy zx=^ITR}fH4ERz9O!KEd9h-;94nBmb%<-nS|D4RXXDW}xUBMn0fJ3rFruw+z`rVwie zVnMqezI3ii{36ccv|hyQW$!`a$0?N#BrUU2HBA8tA+-X$NN5*+&?+TOsIM-lyV~=9|oSbKFaQr%g7aFj?4fKm-irq>jR7s zW{mfn5B9BML;DG#t!e;iY7R&i@hN{Ad|M%sM#-D5B2jPln6PPpe;uzrCFv$u2B-Ch zR&-)88~zb%-Jth%#LSd8wqd$^)hpCljVEMvV+6r6b@w~r#e|^f@chbDp}yZ(l(!OEo)r|0YxdZ5`~8dLzKPAPDbfw)}LRJ}$z{fsBovPg=?0z7==SL_N03 z)mBs6XgQen|8QfA1<)RBr$)0YzGhvI{On!`)8+XSYOlpzt!V-jr`ogkK=T^Txww{` z+g4gD0?$q$D0Wc|T#Ss*JA%*AM>O^BX*ZZ+KY5bBg2Pj zpHlcK^{Fr6Vp9)TabUIGY)!wv4UWuC^$g0~%!6LXBB;+) zXu-mJKfH$*nc?8Loitc&A5O&Ae4Mt>9$e(CIr2GH>uH1>g}`I;1wvlVLuXVO$FCYo zYmh!h%x=X2ro0s&2(*n>8}}3y}_xKI=4&Qms+U(DC_-SxeZIT25tKMY0wO#I7_>hDUq4Qls5U zp-y~xgDkX^fQG3H0LBC03DKq+ z@Ha-Y;!Dc8d76yZ`p%`A(ZOjSXN`dNA0=DQY&78qT{0V%NDjz->pO^r4@2zlzx9UJq$xgA8B%RbV*2eXI>I$B7bd?ojEE~U8yb4!O>~^mXsyh-6T2+v z#>49&N2Tth{)>asWOd(&e(A|IniC7F&qrH_n^JbN7UPfAMA;Ve&{w&L$3AM+nG^m!g{tNr?mij2%E<}V4(`E4)^ z4uoS5psID37W({m%`N)!#+>mRYAO(1Iy)Z>dmGK1u)Z%W@$msv>N~kf3p#5$m*Zt( zeOq58ef{?(A!4t#re`W<4vhQ|4neQ+dEt*1Ds?k;R)wTsxN<7MU<2N{xrKowhi+G~ zB=8<3#hwl+1)eG-oZuCehI_g|vqq?DV=NYy@Np1N*T@P{9;JA_+kTF&lfGQAVMgOk za7IurQs;)r=y#Ld@;+&qNx;+kt#MX>TJ;8lyV5szL`aIhmT-cBK;ZSUk)>@+U^)Rs zx?s>%TAc>jgu9Pw9gsB<(wT(;qFYn+=M57r?un%vXuefq2tSHTKLcL>UX)LeqzMhh zf)6flz@MAKsJ>SUwcdI}@1v4H-RF}j>P`CGWT@&I4gKAUhdb%Gx7i3{vPmrwX@NwTq`bqDOW?B~61DkpL_=mqx);olv z2&`H$wwz~V0g&aNifao2mcSB!i|I>Ik|0Cl?g|GeGQy!WzcIf!g|6YqM~s3#X+VO3 z_m3NW2T-|zjc6C(><(s?p|ibH!2Z0^nQVm2RIwy?_v{UwMolQfPBga+*2(1O19{$e z=fJ6$c-+5A*gxX1_WSX(MsG1pz%@;>GYOa%)`xy}Rl)x`#u48Di17bcMgF70%MNb^ zC~kf3KscRTU2{z5b9&W_dcuComE#QyO`0=2)kNK~F^2gTuy{UrX;q)2h(b34Tn4pqIv}$<+JN zR8%HngS%1SU?L_qCdso8l03lz)r;JeHjq75|D3;yFRC37qUJuQWlZOX*3@jD9!7=^ zi|I_djpC~EPcF)$QmO`~@qZ}HNdaR?!Cc+xT*aPlgd!p!ejlW-KIhEzvQJ_Wsc-)0 z$64S90S4;2j_5nEasMuHc4-Za+fD4ApbN$0Vy&d7CpV*Bc-Oh8x1yF3X_mX_;;!I1 zeJnt%+O5Ysy{vxqftAUlyhp_kLFvfYnyM*DW;A{oDFcMd)O-FP-oWX@e*^dDPOva; z-Dhu9e%|`O#AAu5?D7Stm&)QEXliL0jrBS9jSRJCmf;&387ZB*3B!m0E|j?@6AY(n zfUD4s+yj|x`>#RlR*~|Q13Jii$MQZR^q%a@Corb!i40uOQUqRi~k@ z-Y4|wWrU&L=e&96376LvdqP_y4A}?wy$({+)h%scP+~W=wg}5=dqV2SXqstiArVx76VaKWm$Z`p zvO_@j2@ml0v)JVWD_c!B7A&eS?`9GvKSlDttRa9?_YZNO9%@EC9=4kXUS+-d08|Yx zZA4>*3?ZyP>J&u~2|Ebk?iRjp->4P~8=DNMlP!x%YI&>xLwS5OUT*T?5ejO&)#Ss? z>0C6R3BiE_q=*3(G_Ie)fFM&W%q_pnSjvr9l19h<^@L0V{_M!2Dav zm$QsieU&9UF6?9`|GID*-KmqL0m~=;v{lGZ*rzBJB_-0!z^^%4(4^yQ4U(tS)QN~( zJPqGfl27X2;Rgji>K4+faXD{DMR{?FF{CsASaycv5AScSqqDWWLqd0KF5|Z(HvE@m zY`jJIF>6l5$YWHG#Xzl?HgS5-*@u(e8eqFW0W8%!OvK-WCgr82-BqV;5`K0g%RWS6 z=3VK~*=vk{VMJQG0VQQ!`ZkUq%Tk^Dx$ufg`sQceB(bRb3mA4p`ij&HN{Lxf-E?mN zXb`CNn4c$8L0#Wa*YSM3Fnq$_?1RSbKwS<{e)W^R$bO8bt-u-sfolEKXJ&Z(Ir3)| z0IOK@&{>vubQ$n*$ykV-k%M_4;X*oXZd}eTf>kUNThO2Y`3gVLxUA%u1bE21tGIOC zbw-`JB{?8}hZ4B~@z?IEkf!>l z#iSJ`7WOM_Y=k|u=&3C+O>J%CwY>CX$J7bBBxmj#mt_Z;cGi3d-`!}dSoS>ZK$i)pE?jV7TB7(-2D zBY7Sh+ueSE1PBAGS!_UD0a&mxSke&EGksCS%hN>0XGK!37a_Tk7Zn~(6q+9Gq8rIu z0%<~LcKG&a>~*nbS7t(wi3n6d>(t+G-B9Eaj#u6iWv&z!EBCjGI|8b?vMxm(IE`81 zkl@X(37Y>&O?vFk^o)YHbaDu6k6c#NAK{*X@?)sZ#wuC+`3>@C1tD)$_2M``@;AGq z1QqVIy2FU1GBR{m_#6_?zt+x9$^etWSYyHG@A3#pC?Odc(1;h84o@sGp(OwD0!+YC z=(SKlKoAq} zZydb@H!f3@mmERskku+UtvS>gt`UQmLcER>M;f3C|OQ< zfB(j!9-$Hj0gkeXtt68MC@KjH*u6K9oJf+nSjzAg8$iofb2;2z@9SjU=QuNPs%IelQLP)Z@YS{rkKq2M4FlHD(nDK(aHP`82_xFC+J{ zGlX^8Hykb|g<>=VO^2}A73mlXpO^P&u}c1QS3dtQk6z*Rmw>noy+cBheYqrGxESn2PmjVwkLDgT9H0KVgI9#C^F((SB@2X|2PH zM92$U06s}p*>s5qj%M~aRRgL`?h&pF>v{1^dCvaY*_%nn`#wKht|HhFSJ8*>igJDL z^HU=}A0M5II^kGwx+4)V6M5H_iwfJJ02=rQpA8p+m1?=_sGA zRv;Yb<^Uno0v?^nNa?L@)6SU{qK7)Wu~hT-c#ctiA9d89N?lRTW#Pdo!Tf16-z!NJ z6Q2Ub-cjV6H`Ja>jJ856=_?0D4*aR#eXYXDOrOHoV<^97o-UMtk(AtQ zb!nifm9WT*O{^4XFep=vy{5-o7Pq%k@enM%5U0^r>>XV9Ts*QyNF#)#WPLFfS(Q~x zJ(AKg@}_Z$^m^s@7I>w16S+b}0{$jb_0-Xk(>@SVp&pBSNu!6xwxI&%G%L9-47n1~ z#*nVXUWHJ{4X$xI8an>kpWyW9=s$4uFP!Lul*6Xmd*5$89P_4VUKWfDWi zjkqiT_gheSJk&{^`UO?mFM6pK6&Ey5tEzrORWrM;N@}@B4JfXHib&oZw>Xp1Vo=pr zFTPxmFSpx!w}7QD@OrM=6H7WO3jg|Cs^_1@1Z=WaKt(B38UkoWm3lF?!RNBW?Be1; ze?#Elv%7@P5iW(nWTyJ`yN$H{zW!>{RU+3>g4$oN1NNpl@tQcxM3jVI163H5wtt1vX;{&qfjm@m= z&)lX%{WrlpFm6Iu-vj3A+yw!9y^}jJ;2TzA1@^jsqcEB7^SHQqmRa@*XX*{95r14t zd?es|Q&cxjmrlIt$lgO=kqjj+;{3AZbWwg{yGHzu!W%u}l{ngP27F992|lAilZ&vt z9)^*kP#7A)a+4@VaJbq2?}_7Gg)AX?bv(q&OQX}haN%4k@+Wha@}Ay~krgHRbMz9Q zX?-_+RniFS@VqtgaEyssc;NdN936V|c~*B*|FCrKd(@hXbNy&Cs*mA2GlU|YaSj4- z!1sz&R=W#1XmZ}gY@L-eq>3_NB68af_4L3|p`MIei7=>R;FGBnHpNrZg(pf=Lh-uB ztLXwWCm{~|@TL}qfgSAv^{h7p;pkyIO zd^KAKa>C_$fQc>8Sb6U}v4DrqVHaFd^47`8iP>+7D-p2y2loQqw5jrcs~0!m>IqY* z3vcZk?GMNZf}T+Ra+uCBjVbUtpehnDn_wwwey{)js(+TT|195}J?>j3_CgsBU-QBM zi5UH|-}%u;Q?nnIj7;~auHYm1ieIf#&0jv(vr=twfNWe3uu-gaytmBrHkbOloVXzi zKvgyrqx@p~5}6YBxPrqVDgpo8Oz{XcAdby$?$_O^=P&_j33&>&sX zG7R0_AfQsx-7hl0&@DXN&zjMw%bIAq5%zE}-`(F2b zueFOpI0@hpm64Unsi`Y+tAaDP@(<+%J@yy$C2uo#Qgz%r%070^Udn37iO4vZ7 zr$=IxF_rtyEE;ewrQ9U-{i?}-%IZ5p?|-opv@X*eC_%ve`v~2n6}5n-qJt}OK40As zG(_FFG|6fFV}K)QRQv+y4S$2UOOyZl^`XHU*xw#JfP`uV6A)SVWyz8aWp#Ybx98l0 zB(xeS(LcAa2qxjshthvG{~iAQ_w^<{ThT$0&h6DQ8V-#pTunPez&5dzlyCiF^nn~8}D86_4cXg_KBW#g-txZ3GuSDo;ZFE+l^FOXauEv}OjH!(5s za$iE;#cI@WZ9zy3Iq!qR*7NeA`i-&o4+pb6+Fqu^azE$yC-DUS@_vYp-U&EJwzs#R zxNQi$d2IMv88h`HASwd6Mf-B^Y2VBY$)coWMRj%3=FspLSy$IFnvx$vEY{X!-u0)! znJqLrDeRX4Pneh}-ZL?!&4J>!LXz_t^Cu0cznk4nT%rUbuem#+1$4u$NF03?Ug~?) z^8AR<|JPCPspN^{!Y7N#(izum^T11r&7rKMASb{|4Fvlx8Z*FQrc-JYpoVDMMQ-m4jwYE>%rnJ;`?XL~d)jOihOr{Q4@ zK3q|e*VWB+om&T>v2rRZK6hhpe&_anhylB^=f?c;BipeBkNiT%U!AeeO2EHre?&%q zX5#VLid6eXY(+dVgvW^c{kbuP!r{oc#LBF9pxQDodbEObGr zMw(L(xI%J5LU8?3;3J@QIca4i1e>;N(2)OotC-h8N4A;2rad{XDn-fV<2R2lX{9(# zBL@dn-0}9Kr8BWa{H5*^O`eCPJtx85KRH{0AYoNw4e=jXGoJ2uglU<(~R=6 zKAie!Chh2`R^3VhP?mQ>E&AnUgX?9Y$$bOBGz;6T;9_Ox>iCZEz64+jP?(P^+?D7b z0rIuw*QS)!#vsM9G(MH6ir$n!7|?1@W*!JQHb9JwjL+I%qqB0dO*HK#wO!NPO^je- zdQUE4M;sYhoIX+Vkzp`fjBayn$e!l>yS{m@*P)rK&$aYuh=!qI(afR-eSQ{RYGUGR zMIsj4OyL~UdoRCcL?95#)2#uY9!CK@cX1RjT;Y*?S5{20lE?M6k?LwHt3!Z4U`^q= z{!Kzg#vpPe8X1YTvi%*m?Jv(KL0oeDnaUa5`EKOprj5UD_cGDFb*!)IgIpj72Qd2J zySM9=3Po4K<{U3N@T_0>_{sR%DU+0g)3F-@W>j!y!BnI_I5=23ZQjP|X9Nd7ed&E* zf6o3+WV89uXSo0QMwWbhdJ?XnpohWSEKFZt9h3#MwE;zbZj)JZ`9mUYe!w{^{3PpP zBq7u=B{}|HjvgqtCYjjA#^&kL$Wwt_MP)@fPtP~g-!*?S1Aw=inspV~!vqi!32DFR zTQbK!*-FmNW@>0^#&#hdHZ*z3S^85~Rr7UA%Jnew)K~nK*3@JWQZr6WFryPr2zai$ zgxHIVp(qw6HUe2$2S0U2><`hrINz8JK)lhbW15H&>)R_FB4!ov%7$cs|7`Pe83C-I zpx}qp4)+e(&012>^44fxOiwLO{b!5Y&efy4mAD!5x~q+8jj@a6*=&t%%$af3I#Y9< zf1|hm-gIT(V4)v_f&dFb^6G+N@GY+l{I>b}Oe}-4hX<##<{b+g;^Y(;o(z7^m9z{r z29p&TomN(RA%YVUz!W6kNqFjO{t63Y?tq2lqEM0LW($CXgE*-Xs7!xfi>spg6-?N-E9e>R?P&D2Fdb+0Oty(@tRMd&gw?=#^DX17kcObdo9s+4?Pw6(R<8b*|W4MiLmboxDYy5(B^=x`%aM@s1mh!jxF6;}w zYBZ6`Vkp8BT7z@r70x?55lBcSsx<%c&NZ0Uv_->6>vhAl4LK!c`(i%@ftO5vZBQYy zHmQUIdXU&)%bLB_z?iPEBk%|__t(5hR}VZwRZy^Yq_O0K&ScH=MS;nMwsj&!j*kb6 zef>kyT9(a7g(@$1*mw(Q+bAB4x{^x-9}kF=7)dyF6tvn2vvY!BV3#o>vjqu)y1=!Vg+#UTRSga2 zItDu)6c&}BGs+qojz3_JFVY;J1?7&fKhOU#5pXF}_1-ux3!2Hv&(JdClhlW*Qq)X1 z&;PbFHlYl^V(jYe7?{O)`EsMd?Yh9g4b|$7a&K^y@SWHUq+LGmQn$*ql# zPa=_!;utuA>cj+onvwW_g(H=B=E0EaXrr68N}7P8xW|v>JA+JUV!a&b^l%Das_e>e zPyRH7F>}BO=7$Zz?CI&*nkgX@7Z)G-pzd^J4iy%buPGYt@3-xDrwFrnyO|7ZwZc|> z+4Av^QS!CUO}-vvr#@p^NwUGV#S2MEnLv}O7AqS^1S>@Z7*)eN?6@GSLx2f!12jX8 zCIbiD(pRr6UOGZh!OwHk{Hr{oXmw?fcH|yA`=~Qx6S2z zvo*GWbn&R9KLcJPmE{RwCo!vw0oTv$?SWQKLWr1_R+`dE@mk5pHbRGawvR!_UHuBG z$|P|>Pz()?R+d*nEZc5>Z?;W;@^XseKKVuns{*DZJUVPMpQrLqqvW2xE*&BHv{9H*8=I z73#0LhqGbO5>|&;J4#KRiswP>rTcpuTxHrP4HaNZ@&eVn*Y5XuAc*D2vh>Blr^Bwc zBFCYD6b`EQvPFf3&$@R%u62`HoE&&KcOtB>V~mniPY>!5rIohj^ro_iEjb5)49{bBn@)E}^5pSHyT4x_w)GYzeduaiSeXAYG~gvWOWwl9 z{Epa1O3TGb?Jk8^`Xs`TIg>|>LWPoG**y)@oaFWAw(Zu%Au^dY%$ro9HkxmdUW_vH)jcOV@b8amR`Syt|q2$$;jIBPmAs-*#-6T5( zQPHLu7e?{oB=VM(xdz+38d|W+`GM(Uf0x{g`n(VZy^p4xJC6j>TU>r0h0|5|{3Pve z;k`>`EFDRtu))sUb56!ayU>UncTrXMgPqWZw>InFC9l(hhGW1x`6bxrWi(QqWg5{5&x(DGVpC!5t2P#}mJkw4%JaI3dUs)6vz5 zPfCg!`IHNK;*0Y^J=>Aby_pk+bar*`008>R+8Uah8~@QuE?x+x^>AkA+5VhH{L+t` zjx{)l;0oi)`*dQ8=XoC(IF{)}L@4;J2a~gsf?MwwsAh**1a`vb{5Ux|HJ@H>d`+LO zwX#nCRKbhW$ums$7?FjSEGdtk&t}Ok#(_O9p^_hMYX{wP1QnNLseGvDm0k%2lhja3 zI$}L`*f(lcV~aQfok-E+y4Yg_)?C<^LdmkM>_6q7NBI{BPtK)+YrSdwXG~ zGDKO6ExBcRQ6Zm%P|c;kA_l+Z`Kdo?Y*_2d+K=-PCxxlw{~Zk-AY%jXXK<|(wzVz2 zFabbK*wPedCn$G#;~zPnA?bQ}*}c0~Iqs6~f+9kxEH zu;+JuKHJxirqdE|hI-N9ewM6IlJvB@f_dm|cyhkCNt^dUL4hx1&~Kxu(R|K$^o;5Y!M$HrxOa0OjrRK^iTDAr;q)}5 zvPeWJ65HiQ3v781t{m=m`U7^pc$1U&A!@$#@xx3}_DClJ#^=80bc`sk!V2PucO08) zd4(0_gr8!wB*UV~A89Kq12Pe0eM5J?CBRhtLoq7ycc)y(Xt!!JxJ!1aH}o3|JeSjO zzR5e+_+y}|+>>`k1|6UK9wt~oEQOU4sCZsIEZwKpFg1;N>u1s6`}=Wm$!^Co>0>|a z)S-;0Q&|CU^vn5-R~ce~4;yC;w}hwhvm~w*!lnG?=@M2TOEv4==fj(KhymLScVZLo5S>+Y|?ulkp!@&D-3es8*~%#0P2WJd^_Fo-pNr4w6K`h zw^{qFgTwY;9Omr)!2i3A48)X}j1(6AFq90|HBLs_K0VmntuMhKi2lgS!SU#%px#V6soA`o^1%)QO6A6o@jN|W(qlYkK#g=Evrs<6+ z1_5Gddw&bI?*-211Jzvwn1aWhco1j;bw4gtu;1P0zqg?$bm8{Jsj#f5eUK~_D#=XP zE?f?}TorcYQ=^>;KS_Rmfk(%%xb-L#>#xX2K8!f>@U8}%`Bu-OQ6C&~KEeU^fhTn2 zKl*Cvr3F2PV8HN<<;fIm6qf%jghA8bZCv&J@a|SdM4{R@w%Z$2)i3(A@ZkG+2h)uC znbvWO&hFcfwR(!}i)F>631OsqLJiJWPqc{EWN)DI`hX50ie;^S!N9^{I*xrzu^x^# zCyeQnkAx{08lqc$7$Vf#>q-cS$p`o6B&>ai-1T$6g=+mmFtOZ!G^^MfGAD^*GY_@Ma}soK?{jGfj4(vRL` z_aB{uB48Ri8WZLTqE-b%FgZJRM>9Oa;iAIgoTg&iU>^5DIPlb$XG5#wOt6jRfhIOd z$~oa*>O@=!CFI)^*QK$;<2GSCh4| zk99|4?PxW~sb@vZm#UbwILrMK_uP2}iS7t-5~d7E8*Mqc@|&*T_W}eOVc*61F$^N> zuQIl_wjrAW0s`jj1#!&^hDayUm%fa6--4Dd|bs>*%A{%bZ0Oqt)172Twlp6PpILmEXe148=oJWgIcQQL%WLtLX%Nl%On~M0~|ThzIKVza$0k?U()Dg zlfQK$GyuEiv0ywbhe7bC3c7>7 zz^9MI#)imsxIqxCOtw9*^>dtTruR}}6jc*Y5zWvK$UcZ^T0cFn@Vb^;e=#+IQ;d(9%d2g@s-BjI^ZoscF$H=w8LMd# zkCso!Zg;O#%cD9{E{pgc*cokl*?V+FV!R6*1+{J+tba~>-qaa74r7aO{ zH)V42sR=MD`HA+=4-5z!2RtD{m<0S`3JM$Y8r34Fef2gp$k@BLm_=QFHt2yP3d%^JOZ;wFi=H+?rJ`QqYA zdiW_F3;tn}ql~7C?nKc0=#~nwrbTXp-)7i}5BradH;Kq&J|zl2v>-<_ZcbVi!hXQ3 z&!&h8eetEQi+JX=DNPfh<@vIS^_42Bu(0AOduh|@4z{1QK7j{AR6zmhOHQ*e?BHGk zQzuo03QaP>H2n8TidsFa?8QyR!eG^2q^U%k*ilC;(O>(iE6CNE`gm7y*)ewD#_# z_IWndiJtq>rW&oo zu@2ku%jJrM2Dck_EkY|jor*EclqS7r#mzkj&pEnYV#`-0}( za=%;aK(K(FuK+5tw?Q7$5B^jJCVB(y^w~g=i?qINaE5uZWXkDhHhJwYT!{hljwo}b z(LcQav;OiL>E1i9YlE(PiMAe^N3gT4wQg-@I#<~6@LAcP*l`lk+^0BfQWble$1HJp(Xs@i5!01*&!(< zP(li0#QJ<=6su&wt)p`i3>ohr7R0$Fpp`__?G|YwQ<&F&hns=37TEIuo{R@;X=;Y1 z`I_1iZCvJ8p|t$Xf*hd;kg~n8<})K%U0vS^wyzObipu#9I(fc!{>T4?K2h4blqIBr zi|fOX6?JZ(kw@CH?y3M1iltlRa2OrpQTg(xsQzcbUnyWEfHd@{{z^QqE`fB42iV!$ zX=-Y6wLHpVQm+lu2vAYsmhOi{ZlJV##j`1O+#_ zyQaFjOb!oEA2Wn7it_`{c5v4(5GPtgANUzSB@fF)t>PE64S ze5`fyf8R%87PC~bz?Kq`H4BX|cq4=pt&)>l6bcAU#3UPEwn?77J-dU0cZn0{+v45k z6Omm+#0OWh&9^k?I@!DiS|l}9REIx`SQmfnZsquO#0xe0;un z&;n%HXb$UGsT7X#vb>PM&K~ITfdgX?T=IzbQA`$y#x!8t#a2SGyjxa|o(Xam5jRE5 zDIw3VOmzZ`>Xbi!h5p;FdO)1=?}ypRqvCh>fYyn92w_~N&Chn1BMW~#W9*idQT~)< za0;-u1~aprd45h0&D)SC>s@;0F|qWBJyX%nMmPP3w2KUxZDDUneb4A#Py1OYD64_v z&Z&7G3IZdw15RNj!`h^TFj;hTh3H1^th+^1^q%AuwF%gBmy+tPx zoF@RwDtvdos3nj=o^P&WiII7kNcaJ0sd#I2iVUNN*>VCH;P1RS>jON@y!t~P6H%JK z##T{!rU|j^h_qEj?A*Z`V)%UH=rh(~vzuqH>|(2X@oMa7=7>mPW#RuBd@e+MB4Joe zdgMsDe*C+%$55rxSDC;+81)twYxxHsmxVrN=VG_{mSUp>+TNo2oM)__P@o44(C_=y zJ~BGxl+0H!p-6UMCV_ZbR8}UfCPxW{IRfra_+a<+-~-7J`Q;A9AorsKG*dJNo#a${ zQE?r(C_%uZI7Gs`M)!l{E9SAWuF&SoqR|Ej$;h8L`Oa zbcN{hs1t~ej_!)E1@l4Z{8Ly<@2(61OcfJi@5kc4%b&v~fem)cNfuW&enkE*Eh^{( zQ@4z)A$ob%f`#qcJwXo-;*CuR`yL+OH|_2~$E?LwgAZ|g4m{=dsRtDvuF}iqaZ^(A zFkMyC(w3qWPMzeG1ZujNj6s}}EvW|S0fU8$#fq9rvd#4D^q9g5@cPT!6w!;RD?vdo z&N4OU!$l(Imv1ZwfjJ$Bg;r)Q0uuE9T3KM2ZK1J1G!J0y+{12_L7l9!PW4ZYg0c0k{C+qR>x6PcJOVPai@9+@Fyz zhyeJ8Zcj#-jTjTt=l%tvoixfPL958Zeg*=Vh~YL851XW;y=N3%?Z6Z+pl#+^Kt5bl z&9axd;CwJGt)s6$@zq=oHMF&fI-+`NU7ZPQQSPTW`7oqW z$r%kFVVY4Un1JEljlvUiVuMN3tu>n$vDb3U7ve$vp?+1Eu~&;2N(kUmk4 z_=Vf*XSF-C5-&lnf@-AGkuG2(Hf;_-^oazm#)I(@#l@6i(V5UlF6A!eO-BifS9ZbJ z!Se4zW0~d_@INs?fyi$SG$uiPkvUd)6#Nw1Y>EwJuG-?0I=B!+2wWhA@1>n%gjs9g zleIQ=_6}cM>aeslyZI*fgWTPxT8v^6s&Fy__Tm8^-uf`>;Z|tzmf05PHZ`>K0CdFA zo*XHTPyRY*EnL&&;}@#;=@e;iA*{Ws>@sN`^&3=(VMYd=@h6G ziIW>+B$@*-R!u%bl1a&wdKuVkEFIZMU;?dPQsxh7#HOGA9`$7W>}ZbZyER`Vmbrx3 z#x2K`W!k2qj41breDL?lZb4qqa+io)BgH`w8VNM_v2XHbo*2J+)a5_7()^$hFv&Mg zNlopTA0R!KakRL|fA_@0S=bkkoE?Q^+%~vdw3o4IK$3h2Uu^mI%xgx0IucI_a3Js9 ze8R2!c_0QVEF%cbW`b?4x0~WZJrt%j@|F5(qb!#IcCM@9=o^@fB6j+E1sV`Fxik5l zomLA zjY?o7fDyldjWWYB#$^;072#AW&`Dxg)R%XT->F_#sI1tB*${@%$G~u<0+F;x@PLA1*UiWruIKwcx?+AHceUm* z=OD4z!lx#3i|}Q$lT(N#1R;!y-J)d9_e}jxWG$r4Ok=X-e^gMyaJ`XW6bM+P3?`C9 zBhTE}I~IbbZ8FZ5xQDWH1j<)YFvcFa4zDin42dRlBx~^C5gSZFz3s?_?YOr(T)hPZ zp>w%$G7+C!rywO+m(T)D$WMLN7)SC|*K{}jb;HWd>2UBS0sHSF7kKvjxPOq)x->}9 z`RE5>k(Jj@KOH-LS$TQzmS67Hs1pxYhWJm$W#rYj~8ra0UuCM3@%OD{+NSVAU_T0oIXX z<7UCGi{*l971DEWChQ(PfgxuUTy$Go>)ESmEg`XRXc-qUD?{ zkxqLzD5525=#?Fe0;+;?mw@nCVvjsvwbk@21o+GD7~Tv$1F$w~%RA8QOePd8`^a!c zBmz2fQ6fj|K|>`P$X=c$27tCEF56?g|4Iy)kVpl{OhR@#6Z{@#T-HrEvX`;eZmY76 zo&!-+BZk=sgE0y5Q4c5$I3I6eF|kJBJtKtVmluTs^$@lqF_=kShUIqqpD+7&0z}y06M-y>Qqd4tgiyf{> z(&wRIXgBWNP`jIX{1!9^8XAHXt+tj=dMq>zerMp-@GjsY7OsQv#l(WrS{)F< z5be0{qN)2=Le~<^+}u(W*2l%0XD=;6yQW!f!+Bt15>ffsB&m+Ey(BR90d^D~{`-@n z;*vbpxUtRG3Gd#F+1M0cS~)tf>`-d*I;4s(p)a{V8N z1QsL!&1yUcBh;r6Rp@NT5h>3h%9yQ?mLXY1_Webq=A&?1vH!{vtcbTg8miPZ0cZq8 zI&V`$mUmOV-`$lFf9e92Pk)1PQds2u_i37`rNA(_`4%6{6p~0yv~VABU<=&Qo`4$d zbXSyQ{LwT1QJ4J-%Kv9k0({Nz;g4O3%I!-cOr6Keh%zSgH zq(KjJG_(KKm;?qgU&qW}oyh2hxn=S)64=i-tr4FYuCt1t+C_n}o-{maG<>I_r};Xx zmgWkdCiv-Xh(dIX-8aesfb<1;H$Io2$DvIhl9NY1-O|s0qKfYL)y%?&@y+*tyd&UG z^>n@anNI*a;yrg+9gze=lqF77ho`n`9SIg~aO3CWpQVN5m!e*)HTh0g+tLgSD7{}} zEe6lF1u#_Ylui9*!7!>Q|Dl~y3NHo${s#H?dif5<_^<<|bxm#Wg{>RB$zXXj1gMvi zv#8$F<5KYxc*YJrY4+Q-0{Agd?sOr@U`_;!!hK^J0?ZVJA)yghS6A(QgE&l~p-^@< z=!p=3wtuXaI4PfVJnriqTGF@b+rlh-%-!3~&(h@vaOS-J^Ur@Z+DaU|R(D$g%%%LR zbqT~`69%UP4Gy``gGo<3XeP&o8F_h@6h~Qh&9fQfhQMuV@fN?R052z_DZo%+-6rkq z?$MdBFh|+P2}|T-=0J!yoj$czciNjf`!rqt+vg1_31odz7x8F`beQ5@n#Djy==6_o z!ec)@c4u)NO~qZj&xKS1EC`~%4!$4WpRS;k4ZXBH_y^Vb)=lkY(~~!~EerrocRuZ) z=vs`6Kaihl%Rc1UqN2d`A@Ti5c?Va@?1Nq%`u(aLoe&1I#gVDg$y>g1PwEA5Q_o)( zdCP6q*V<8OmH-<1CmHl7)^;$Y_hlKr%g=$!M@90dTQg4dzGtW1S9GnurEYKTLVW#} zHwaVh@=$)&+`|#jpJ^llRI+aYL9g+zx7RB?JOVuKqrrPDn`!HrD5Q zYHCVz6CMq>uxM4VW>6>wSQ~oQALIb`0a}+9pMpHL7qQJGu7UOyPF5~CrJf6kq5wICVzGLU2a>@QolRM4fY8&7S`Yv3Cix>NDk z5V$>$=g#A|#zt%ZCPP3am?-4W4`HgRr&bG{od2DduySXj-k^X{1p3@r=yrCr8R=Dg z{=oYN3|D}zb8WEs7{HVJGJK)=16g0&B9Qr4FeDY_i!E|qx zy0G}L0t`UhWA?nM#E=a|U-h?y9!f8bkOSmxXiF0I72Yw?=Cj?c*V3KxR@Y(XvXs=) z3C#b{7C`MXTA^6{N%4vFMG&~AV!$KZ&K0S86#d6-Q3;?ZcjK^+CYK@+=E@`+RRcQa zM@GNN%@ zDm+l+s4rjm4g&#o5<9ur3p^Fh#{~adkti(p73D+zR{|&ob}}1lw^FUyeOpZ6)`llO zHd2WI-rddE#fGp4iu;^Bc%IL^Ha4S;ix`DloM&EsYWwXBYLA)pY;3@#&G1=y3kUTMXGI+~{at ztM)G!0TZ_Xw{_B&%!^`zDb(@LMw6NM#6(FWW13h{_JHg`;J+4mB0!z7z~g*D-besL zloCU;QgEREm12v*P@Rc!3%i$i4BBo$Tck-}62QU%W^>^}j&VIoP;Q&ux=L2#gAfSrDLrtWHiS!}3S`AK?9F+d1nS(-|;mgLDF8 z4p=x@Ro(b`1YUuQbfjKHYc;;)Gzn8JX(JPiMlPaZbau?j5vMT!>QR+*^b~S572(c& z{c2!34~n=`y(h0ufI;{-ekZ50sRt6@*Vxf|Omfi#PUPkfYtjKoT!!D!7| zwK+Kvg~E%^YL&!@p$-Qy4cImB0AExhJ1r6Usop7vo?BmB&Mo`XbCH^w8rcB)Nam_a zudYHxemLbc(8%58sWdPECE<|bCKKk$3Q22f0yA7*HsVGq2{R!WU1hbEsQ@)VZaOo) zAz)uCj|q4Owl;QH?QY+J!M*}U#3@;AoXbE;3^4@sO070<(FTQ*3mK2 z<_gu2zq1tm!E*&3$&EPhltwB$W$fIOHU0b;eY z_$eDXo8Y`Xs5sx^wiZ#U2`qhp@$0ME5dG^7-T9V!I-IX$r}^ z0R{uJHYh@0+nfIn-3%DJWI+K(r@|o2R^aN<@|Bx7$*{@@UT8-LfsYg+ zMi_>(+aZpw?u%a+3tk{hJjZY7m35WvJEv{AIXU;R&EAHj?R=OjJF?CD@F6@q&=mK! zGrYp>`b-G__G}CMsLoV(?Ts3)nr+BtAq!^7l+WXufk4C!P%|Xc)e(` zwWmDlG0?W}Pt|s`sXi)3Kh7n(_)?vT_J`7WZ4E_;`uTKDIn}tQjeBtLJGWw{ZB3uO#~Mg7XD>j@A$-jncnkY zIxKOusRtY25ZT{6HjTtgVqSBiYhGez6Sxi~;|W@Ux-_fb{uZ8Z9<4*J+{pi`w7(X5 zHCOdsW}e)%$+KJk_PVaU39vn{&}H9X2M4pb@GX0%Z_Xryj%=FyL!cj|elOn$Wt$uS zgOV!SduqE=j zX`0Op=qTJNLSYu`(bmjBmE|M;=d8LjuP@zRsv8*2<+wi@GQ+8y(kKY4dU8{hH;W}H;wOJ0$C z;^BGUOuPUrVeNFrbwcEBLnqt7Eii;}G2{|h->ipT7Zo+e8;N++pi)tatC;jooZDXn#-*Zww{jSTw3M`Q^W5aIfywuRQ62=^vVTJXVvB-@bdtAjpIc zO#QKS&19;P18L5h+uE|hWM1=Hol(0WKPRyq^*ZfRjRyi#gF5X$w%sT5^2+~^Z@Ir? zew6*O)h?c|AU8KyMfK=`Y5gM3U_Y&jPp;p&gMG(l9LuCjMB zcz}zwC(aLTW!olnNy-Ev`SJI8LO9N^Gt<%w3$czh<9Dxn{uJB^{CAJ-?`r#Q0U33& zWCuj9=M(>G4K$7NN|*5B+88pYXN<3o!v1}leY^av?UqK^$t0CFPXq$DwRb!?fJ*G1 zm8DO&zQBfdbZTmAGr+&h9hP_T-ZDT*9C8lnaVUgvZh!Cbn>3oRuy0-PTMxJI&($vn zUGRkA{p?)Ml}U&P$I;ByVa}Y+9+SXc{aVsDj|}(~7WY}~uq_Vl`fPRMlxj;jM@lY^ zCj5NS2Rq^XK*rphjzKQ29hGWEc)YnY!GVm4CAc2I%3WcQ$82}|HO)KUb$rXirDd@b_`52;Wpt8CVBl-FBvm8!dXkvwp=+q9&iZ5%>l zT#t3c@3{JKdU{$240CGv$%TPS6NbAx1!dsG<$pO$I``P{0t(zQwz9e!`LXqe6yTJg zx`3&WHZ)Y$61UB~7E4K^r>-nL_kB?)*~V9SUte}f-$M!Ba2F!xzA)5>2-6xFaGP-4Cz^S^abF`8@kISu7Ft&fL6dc zVRSTUjEsov7-f)8GkujPrZ&WNvHJ6NYOjuv)wHy*LSsBVcj%olU_ed~IsMj?Mg$`S z(7f@_ISk-V*VVOi{m8G$x;j5Phf9F5V_fUF(!D_zzaKQ$+-IA)`KK4)Su671*p%?+ zH<@Cg2D5c9s;9%S?8HRHEG{`dBD2{d`-a-p`sh&FEHr!5)gPpJHw)}Q1VC*LSJBhM z_7`f#Z+B#LZExbckx0StTdE6HgN^2L`_Yzx7lNfn4|SR8po{gNMk z(CrTy;72*@C`5b(7X3FDFkr|@Il!$Fadc#v9(Z%Tc9Vh`Q9Ru-@YUbWBW4Z=V^yXmUZysLf#_0@d+}q0b``$FOHSk{DZ|ZI)D@{ejS0TkNmSBB&?fk3)>#v`%x`}^DmQPz z(iav^KQvcW-wO4o$hXKi*4no{86S; z7f(;=rQbJQGCKCaJ(T9-$+nopngX}op{kBXQVykxkdvb&xC31=gi%@uwq*fBGLpS# zk%$GS30Yx~w$=dNZ!G*zQPa}~{y+D<%1B{^m+%Ay;)HQ6Gt<@w4016YgGJgJ#>N~A zU&jUr?S+2@>q`Cp%j);3%r)H2Zw_Pr#jd?}Fi_#MSI6pGBzJ4f>mSlQkVH4C`P zX=osK`e+dQ`t|FVsRc~1!lVLG$B);K{BI+%0MaYi$v*~gZxNu^aBsaK-@FiZS_u*K za}i@FVDR;M*5459z4G()twgCXY0Sa!pA$fn{QsT+3dO&g0yA0fHTzBs$B@o@jnGGD zKT#yUU%>kAb z@L0!g$;th?`0^1@xE<*cXEc(pB|dp!voQomQd?WUP&Cf@Cb@LmjFmz{VsLpDl3aNu zTVhNIIayGbVvyj(HUGW2WXa0!hW)F~#R?6wK3dDs`g^JVVtp;nc~dXbhW@#Bk4k6+oJ~Te5DOO4ttC z?9R==xrF}v@G(qz-21t+NOOC$ zWAA@?7_`=L*%LbW!d5YrSJgvs57Zo{e*1*cGstKD>ErY#0aaMXfXhVS!3|EP50vWPQj15?@HG;ifQ_@cUw4cyFeqqUPL?xVC+Klt)Y_I$1FRRtJ<|om>D&8gKiUVp-n+s{1qB8DZ}z>MT|MQNBZw3f6@yDY zeVUFFEeyE%PBvx=Ji8ioEz8%1=(4M!`2=MV@MFbDC8D`{M*>(lB0i-S&{s5X-mA{l zF^I4ch}AoU7rlE2_z?vK9RSlnW=y1))76?6q-IN0Gr_KyO!n16vm$)Gna7D%U|g`` zRlhQ7jzU)AGKLzWby~$&&Ewhe@Z{*IJ@SR}d%|r^aTSn+E^rksP$T`{RKth>MNWGE z+^@H=vnQ%=pZZaNk5 zrG}#V*-J-eqbA`A&(>N3n2yQ2rf45u4;j6e%tDR^apwS9{#55=KcW`6y3Y2N*N^lV zxCLwDc&f`k%}z|p?u1+=lNU(YFBR0)d+Ruj5z{`z#Ff?0R$wP|%h&;E63<^gUmcGi zx^O$^vZbMajnL5bNZCphvf6lMV`I0xxBYbVYZN^CVWQj@^B|(~axSF0!e=LYy{I7v zsetoLoeIrNIzq_}QaxluY{$`Gd9a3wI4~c8+x_VLSy73tw;NQp?r{-CY-VO>?9DAL zvYgOF^S1IUL%1`+4&{#b_V*X$%VPILMMV{m>h~t}P**U{KaE6yI#2sAq33-bCginb z*ZKAwS*AqO-8Bk;#*U1QCPw8pH{+l^!VjxXA`-eeqJI(PbEbfZXJk^|fcxsH_L>3styv7fRJ1T!lu7AQL6xeb-X;T)IB62RDB5OVVh7?v*a8+bh zYDA*TYP$^+6r@fYP0iYwzLT|nKKa}0MvDM@v{ib!gg2&e0`-z6fFV!T;f!7LL8~Q> zmKNwN^;{$TJg*ZY`LNvF2>hgQw%H=o{U86Wb*V=Je~#cqtYl%$!2>3beU@5(PE=j< zL%aUmk?0a-m*;n~n9p4#{h|T!RuU$AHA#HrMWNg8j-u(o}d1XC;`TXc$ zHwthF!5=PxhtFw5v3zFU0S(omfV7cFWJv(n>U5HImv?4p-U#6V2cm_K&Oqr#!ug zq?|AM6&@{cqn?{)@vf+UbsA{uW=ytZ=uAjY!IKDJaNphzS#Kbp$8KbcePO%%mt)KIn%S1a z`b%q|Cz{-G!I%Ez>P0?tPwkcodG~+Hop;8}sw%87^^D+?aYh59xs_l2cYGPKel91> zX7I$P!R-_#6M@QSj5LtS(aX<|;0=p~IjG_SmH@VZ+3_)q77QHe5tlUO))SXIgQ1OO zSk7M|V*$pL5Ms}3(bYU?elK5rRj^lEI|#UM7cdrY%~o>*>etPGHu3RJ{EJ>8dI=TdSIyTq75~mn0&DRPhj8+?N{?%} z2{0k%TYNkETcX^j#u5oLj+QtAnISsy=^;PF@SEE2Jcj`?RwkkWrR~m)HdnY*p}-aD zKr{7xF({W`{yeXyLBUs?>BWoaG;yl>kEU>6E%865w@+C)P=^OtE}{9lfsSe=i1_>hjR4?z0G3KGcqEmD!y%3zneY|` zInY8+&344w5Oj`bS8Qyildh@qKX#2oX&9K-v&SDWyFgAhNXRMEKQH#<0z-3 zKV03sPbuz61ayXzrX1|=vf#Pg_~%?WX?y&|3Pa`(e&@fB8^+HgBztR-=Q0~41>7{W z%>SGi>!%wy@LJkEAtIFI>f%a}ojrhSStI0xAK*HpGsLm$i`EQXVIeN#;}ZZa%DIt{ zM$R$z_3h@}hPb2D{$;5J!zRzvP~YCZVkeb`ApxN-^o=JA&|CyGZc|RZR*Qgs;glU7 z0ipfsfwGGm5F^U*`_mTD!XfKdOtzFp+OWRCF$};E({o9rBUAX)7gYSy>XjW=3>V5l z2k57uW>OgY1{lO-L&K3a^q4hxw2Ljkh%z$*^cNOZ+*n4|*5X^18-S4!@R6?^zgy#! z2#}NhFQ+ZwzY$y9R%L;)7wt}( zeG$F%?M>$Z@LcV5=v1+29lvb!nu!VKW0C z%V5&%H=rBq%wnYrd}FWyNjeuAV6}#e zw;F0PB-Vuy@@0hDekO&J_7|)@CiTTBY8bpY`%8A~6TohUh~@j=0cK~&H)I3hCSyx$ z3{Ak3U0Vw-%mEDIEyC*R>JJy&kM*Us9Ym--N7S*0t^W*lGMILux8_LO6B4Duvl~f+ z9ioHKeO|g3c30^q?q}aM*5}iLH55%q;GY!KP$rjbiW|G3h9eiXw=x!GW?A`FNBV+;myIF z`I$!tyE3tNzZ&U3eF!BlbQ7X8CGe7kLrF>dVM%3!D}=|YxR9%@DlUQ=1}v31Om?4v zf+VX(3kfJp_*^VRLqbFK-31~gl#M9ZSakz57rm%*OTe6V;bHZa=h?%3Fc^!|adxhJ zJ&d3HU@^#gBz9!U>3;hzDLK{jB%m5CV4Roz=dK${rOP-5OG<=aEDA`AkIJ}yZO7)b zAq+0j@v3Gyxl>V6;W`Qjj^X7bbfp18PETB(@|$W&Q%p7%{Rm;fT8JoHMaPXyVM}M5 zRD_tbCf-20$n^F~H`Ln9%rx|HC}69dEIKiv>}RlPU^F4cB31!iN9P3j-E*|g%vqjV ziwt3po0nXd1FvuzzpeBw%q}!t|D5T>mqs6RrnK#AdSHL&bCI!HIV-1KvH#(tLkHZ; zM-F32upL9>?#1#fn`oj4Ag4wk#TKkwRJZ(eEu{GC!gbf1SA#wa`QUJX>Ka)N{D75X zPb$Av{>p-QPyKLKPhA&$cZrC*PVi^_ti*Q4Xrb^SMe~8&(vEEFVDMT~RQUVkvwRL_ zSWeUYxos9RPm5nG6NpKyVP;b&hyQllfR%jL5YQlG- z({;6HOG33>FT+X0t3|y6Lwb9=MBX^cGdVQwrF#49npVFUR0C43UH|W38h+L4haLpT zDQ!|=Qc89_`*WXEN;4Ls>YpdF*?%F@ znt--LEZK#6P6By`mFJ3e3U5$;cwAUs3Y9biF{d+-a9lWVNV>pQYxfi)aE2KgnP}Z- z0f}0PC_qQf?6&7jNK8Z}#6@`Hasahc!e6*LJhGo#Hb!lxLhnSccM0|FZmyzUgDoAS+sGIluCnVqlw*H5kYiP}!CtCB_sVS-Ud+Fm;20df$D zY<>Pj)V{CXg0QNA1}rIwo=>nrh!ffk>>f?&l<-U$N(%oRE`Xq$(w#b;2jX7u*NMB@ z`ubENS4TrOl ztM`*%i>{;>Py(BBaH_btRSncAJ3%&q2b-n!!RJaGTKS3%qz7@(dSQ$5a(jC{o^LX@ z|7~>pZR-3y+=2A3{T@>GjQ zU{tZ<-F{E+fpn7#=BWq4#~plTTbrzclEAMG5I%y-mmlp8zhY6&NNXyhAzZmZJwX&C zx1P9eLi0V3i_N|GuK32`buY$;of&Ri0s`4V+hL}P;K`x1UFIW?{JcDti4?=9TL!N7 z^RUvEX6jF4)++J?;t4hP12|wBeMlm#Wbo7sk0$N#LfSxK{_b_l4fz}4juu75et2G4 zc-CkEre{NWO^(gG(9;=ftB}bMCW67x8;LKe9t2^8yy$CYYu$bQQigWrmp4Pe04G1Y zeEVTOXR#r8G+$g-7bzuWh7a$9#w|G}i?022iyKRmw%!SE$-T9fwg1o&Rp64K6FnDq zm5PQ=kf^H-o{xv#NAKUUe~~y659w2~T{=6LFAKMCgdDMpf|Y3%T!31b{d*O5S3bcr z#wlVv2ZBj91bEF;Sf(f|BV)17?X}#N@n)onm?8SUK|@%fhjFCGr3-w>l|x125lxlP zrRaY^SZLR6&DB3OGjMQt3ET8L{Q_+MCMoVOy8ZKcr__Gl^8f)QGHPqK0ZVp-YPUJwkVW6j3WZ_SjEG~Z>jHo<>j zG(KD(`%InA5=%%g5X?5zIpcG#L{_&1VQk|fNHXAH$VXNTMF08%Ps? zL|kmA9xP8S`7MjT7{^aNSvGmL*a&%-+#pTh;Q8?Mrakr2%)XgQL})0`>x)Q|>btmA z{j2LCw|rVUN^WkDAIH|ZP0=E0W@bhO;j)^OID)VrUaD5!fOATs-S3?@3vjs^!=JIg zV-w|ZQ+ziWHKJ61wyQ}nuBp%DopIFa>G^QxlcGShGggF?(0CpY#dx}&>1}v@EvR#L z$D7?b0|dVFF7_+6<0b8Z+QME>ncdekORugx;u7PzJ?y#hAg2o;CYGZ43R+6z^~lNT zWAuXl8GIw5@%nl51GoluM(3KuC$k$Ham|&-y(}m=P2!>u=_0Rq8!C1KndDMqgCy%k zWffGbq#Ug&kikK;bw&0~Bu-_XjXr4xUnh~`MZCZ?)d zsew3rpmut9BcmjTxfNK!>;t5+vy|~R->?Mw%Z!0`munnHIx?t0Dm?Y`m)j?h^i6K7 z9&pFaR)~foQrp_vHa6ZW+8DIxxl{B;u-&**F}*a)G^$@_d3H$w1p&2}cZQe8C43&+ z&rD>$)c)2C_VqlOql3OcoP0v0bc zYoB{8vpgDhP97{HyEK9I2MHJ^(hpNGquvUcZa(ZZ#5iAy64 z^nm|bj*Rt%!wK0~1(3A|Ux-9=WYAzka6f#&0Fjh{r;Q3o!>1$yPkg1%sW@2Ib(Jb) zLv9nE@?*?c*9uA{3?bd-%?G+A{KG-cqe6s)ED-U#2-Vy+-$$be`waK-xy>0#EXXAB zyFO+$Ld3Se-b54fauB0l<(dKKP2h1DZ z3*W?TEU%M;!Ccb^pYwqy0wLc~+U)1%$)3O-{qht4fU<8ViJbR3UM-LHc4#C)%|bpJ z-_><;8C%Gg4{Le<;m6{)*!h0i)Mtp)a~o+HG4az!^KR=47bM)?*_Ut@dtWMg6yyHl zwdKGjMlP@7IylApv%5OG*=E1))cfaVSs?I53{t2EqF|6o< zPFoS&%I!38%SBb(r%rIz#14tr_blxl^^M2} zmawR%CciqqJ6Fji{-|8Sc=@7$1rlQ7;42PJ4*Vxc^saMG?lSxF6KCD?_-~%(!r_=RmBEY>D1*NaJTDo%(;u3qlu{BR-Oe@Y zFpD*7MOw+9LztLw&PZ-TXzCr-C_xdlWZ3k4f8PE2k0>@2HhrY(sUSlB(8)$Z<$}5vZKvf z!V=C_hM7$<_i7=XicuNY?V?S&GAj-bT1>FzbiqY^2_O3i1tbvDl@!gO2uAl6s3spn zFSZqkaAqlaq_$c%O(B0G0qlT&Ukv;UsUC1Tun?(+3(6O+7YS+xb|GZ{&==lZ!`TBe@38w^VQq0 z8o%-_)8ne_kTfA&H?eH&2RlFH>~k24uNJ)-&JSkJwoNt?S|6DpOVNrkV8rKdbGGCQ z#~A+?7eFapHOlC7Zmz`C%*^ucR;*f7ZE@6a6**VGs2L%*{k&8app=g)&+Tf?RTNg2 z2HT_9%-3ltY+J%GHCxAy&sjfu_JPn=U>Xj1G$F@hK4Pw8$?mq+ zGd(pAb;|*gj0t$sb0kP3c=S@R@-p;v?@F+TMPv8U}4d$DLofk#CX#fYH z@-VI2?vMx;pHaq{Vw{-~!=CHJC?XtBo*>l4l3zot-fg}`MoDSnGQCsCgV6xddFK^k z1Z#QS?V{x~gC^?LFlAFCF1rO{Rjehxuj*dM9=a-Yu)nO>ProHf^^RWwk5S`yHX&MM z^*_hw#nYbo?JxYwbEK09wrgM&hB@)q_#~cIE{KFntPgi;`t+ig3Y-lO)#lZOir3sP zC$D5zrEZRRyu@CiX#3S8d0T6Dg*{v&b#P%hr_f!IB#req$Q}67YqjKFspj!PGz!E_ zIWqMpnWdYgnnCmy0afVOVR~teH`^9 zor2sf*8)4yhp6bO~Btv#8~;p-dN<9ZiRX zp6rc+F6j-vslWVPlh;s>ttp#VYtpsuhxM5URS=VPby|If5YzbGUw11w*J)PxPLMSi z53X0s$THp_GOhVC!3guWk2w(`UpQg+y64i-VR*e%K_1L~nAym1zngOz*F&UwbvZ~G z9D~B*_HjiK)M8+c?dXoc-?gV`*<`)JF;{ToG{@;+piC_T;f;mcWC>mTWQk#z%KPqx zH?#4KFu81Mh=glG!`U{~$AncC=hh+BmE3ct`cD%RBT_&rbU1m?0>aOqr#D<+vWYq# z6H>Odje9p1V`ihkie4?^6TF&tKTnV%%CSQ4_^hJ|xQYgTvH=bR1zYA$FJd@uj3_yr+}|D!RP)VGihuT5u!@7wWz;!nQsd7 zMpQ3Z*_@;e9ZaarnJ8O)G;Te{7>~)=|08FNQc_+%4Tqj;XA^#xcWpw-<%tX2fT@qG zRP@Z9G3+y+>zwBbhYiKK=4_E_Y_C1y+Fzt0J8>!-u^+;`t$r6B=PP+~e$$E& z1BwpAFO0BFuNzl;ZGm;m**^WvF|lboC*gcPVoJ?UH4j}&PT0G$kRNL0`17|}2l{R< z8I*CO+?Ll0%(qJ7e}6A%^^bbU zil#LBJXNjx{=fr+7;>+i*X6+@dMAUq4Z~c+cis|y#6-~7Ykw0-$i}?i@tsZr(Gcv+ zXv_;jI`n3|bE2SeA7-dw26I~3#%FktH?D6VFgbH)v9H>hBLl(_DNh?*A*(T| z?=^dsw*AOhozl?m;c2{rNOH^{GReBhg-e<*`e&Se!sqp)q7y;_n#(!}?iR{OBy>$> zPjciOpoMO!=wEBTgLq^T7^c-kC&nb(eW2juNr{RkFaUcVp7L3KLkV(u529CQv%G2z zDfPD&`ggMDoDZjZ_`bOcQno>dtPf>49;gqToX^kYe^9k6XDkXiS~zuxq? zFb9ty!u{>hJJ?bqgXG|O2Vnup(T|l7o*DlN@ROOl!ufb|JnXXmFw|emD!_A$?W3%F z$cC*Jns6y956pkdsA@!en*17S@uPvvuKt|(^JX{V?tG0{T&?yqKzaaM`5Pjnw;Rxc zTe@%HjiO&zK{CT0B%D*~Nxs)4t4__Q=I0Zp}REr}hEv{EU>A;x3+D4?#9q!u<*XYPW*Mvx@OfjPI zE3;4@8*gkWIm>!?+dTO*~tquZfkY5B?#XyIPxU>;je zAvX8x8+RDVzazp#BQgFNg>`9m?`q|bIWLss8Qy}=hP^ajrIbJL38jTKiH>zFq#u)$ zyA8%L`ZY~TLS7Newaep-*{(c~hdpzyk4Va*h! z`}h^HcN4w>HT)rkr#;JKi}^9}-EfctPIQ7{66AEh%TcoA1rjzm<^)byY-Xzrv7uC5 z%I!zuFKFBfErko!Vt@pM!*)Ut6j_6mrXid#i)UqP@&xi?m&KVz6R7Z_?+YCnWcnS) zqxZbtBO0o~;<~~bvJR&|MI4Ofe+{hAD&v)XKQ`{yj1(RpoN(Hwm(3k=OPWbp)iu`e zm5GlSyOy{?*JSGv&m0#!E^v%A%$`w76MP)4`O55Cf0?$%02?a>7M1U)q6>cBHRPHu z3{NB6dtJ-27%!Z8wmY141RlskEjGJ3bgnkkDn&=`Z#!qdSMD#anKa<_V7i~MIDGeI zbVQ7)JQc87%RZCevjDV2f^p+G2$%7;6X|@5Ha1ivTzXvi*u_+mzCrfg}`;h=g8VWvj5$vnFcyfj;=g(k&0dnHy?6y{Vd>MB#gTE(GXO?POI?!>SY*HsrX z$}O*w%$5C-AlKOEJKGrMycm`YtCa9b9AI=A^pfF(t4+Na8KUlp;iiBJX+*ASqOEwD&XYuD2)eEfa!{$0BUaOJRsnY|_XxA~8rfy3jEUYUT4tsWJljm(o_3~A&ato^t2*^DrY&pHA~ zBO4i_4$m%tMh{x3*%Rs8kfhuf?YJ2!7vwD4?hkK4HQ=Kw{0nRw-eGZJ`&G8M3d z!*4E|H9grji!nPG%V8TCQ9oKlnkIN5TRO{I{>Sd~dU1LTOy#MvwrW6fd~B$%W1@+| zBz{nca;I--?O|V-@#S`=@FAEJ7Gqjz%|0dA4|pq4@V@(ZPsc>8b_hAq;8(CuqfLQN z54xZ<-R@#DQnc}}We4+GtIY*_c9R@( z2AUoW?8)VPhg!WZQ=DqhQai%DwOW*2+-vAC=3)_SLpxpIzlg~$ko zd3~}Nr?|AT^fR6pFA#!BGnauz!}WDh_2>0OzOSx{7M5y(v=E6|t3N|n%e7Cuv{kaI zO!AS$el^lXQbg+s14BzxVK3ofcNJ1_Plyo-7%n)|KqLr?;+`(=tD^mI<2Ru$+)JI5 z|3Rq{EH3s_ZwSB4>lqTnEdcWlAC5w0B^dic-5N;2-sOaGOS$$Si*i$2VLR*Ep4rj^T?Xew;LL^h^*)n>K{q^W=kty>jjV(PHZ)~G z%nS=^k}A@{p}Zko{GqqE8?)?}28-NN;%@y;D>t{$16+N5LBiCeKdY5gbuL%gmj>ge z88yOaQLnoY(rYQHS|x6>JYj+{sc$^4sa`Rm$OaHycQxSlH49rvv= z;TNdlpSqvs+0e*alc18nLhAF;e>t<(eoiQYKQU258A?xCdPu!)*o3d=x(nRp9?)Mo z%A*p!!m>_a!4}2jQU$TlJxw!|A~a;_sh@J{bI`JJVvJ4gLLw7v{Sr(3sA212n-SYe zHD9^7J2M`hNc8DqWmEzIWgg~H_B+hK9F<~LwpdK}=`4zM`~G_wTT9_Kb~EualXT-G z^QYlzQt?{H+advOxOMUH=|ewD(qwt-3-;PYSr zD{p#1Ny$a{SesP_YH^X^ETa^p?(U(aRNhUeMh8R0Mz$l*$S%%xFPlMh!wdp(cJWr; zxX~zZ(;JtN*X_4oJaY^3<@Ri00+3bFw}h=Bh!EYHm}1Ot-yMO&3rU_F;TOFEDaDKk zuUX#Ko(?kffq^{qudKkEd8k`HC=-aiAb#f=Ex`fY1`dL&Snk!OY^w|Vj=YB(9;WQ; zvn`S|Si)MW(4e95VM$jj3P&e=pV2}BkhAuBKX#%u!;E8hsWi9XeHX3^JJfm8UI=`o{$cWv~D`!#7h;LCMCurV?onzZ$M}QGKe&5ThU2g zt*rVcR)U@$ooV#hu?vHWfx}S9ZsQNECcU1Df#ETT!eX0rSGOfPIV|-@7ruErS}Y38 z8lJcgrdUju4el_XtZ`*qFvI`P6MNLTU3>(63 zkg2kV*}ok*RAy_ar(<$*^7z)&B;YnH^i8`?5td%=N!O{gdNHg^D>)EBLke-AW1LcE zry;-QxAi)Sxhx|{wAoq<;1z0pgkrx&b(5!oxW6O3Z{z52AzjTjXC#bMYRCNe)+Z`0 zBN!CHUxML}O>oo?*V%Ud*qHj_Id-nx(WG+ZxeDr}roN=(#Rz0uEK-3;bpP)a$qYk= zI}h9c!Q@E$9#Mm?rWPYv62FW{gW4AN*XFs6y@Cgi3g&+5Z@wpBqIfVpuE?@t1rKhG`;`Sjs}Ct^1iVJ;re89ss=rBL>E?1@x7>r<()wv{f9I+vw1 zOsulodhkA^iH$=oM!unKb6JGIx;Uo3=Y8OFQmzoN7>6?rkWRA|C(*-F0;&o;v!*ts zL224UNJpTZ##bf1%A{f!St89{YIG!Bv>~nJ<{wq`gXVd7#>)hLpu-<#ooFr*WliIU zK=T+L-gZwh@Hu>_=vK;}s5}f5qtwugh)sPVaIyQsmdv*F{$x_kd>xk#mO(NIH`_Jy z`*&^qODG&n1&d~{;X;b#z}-X_1k=KPhdF`7N-fLjnhGPDVyF5GGG_7?A3+ezyvsUy zT!I75rZnHQ*wuN6jN&s%x;Rh&vuyY#3>gpq_R)qCDHe;-$KNb098PmPlmtPrU`noC z&!>y)lwSq-A&(OW)1lpdH_J5JjIhGuT+OcXY&}_NWrE6REI!BED8j8U`u^K)h6+r| z)wY4zDgKvK!U&UW1n7c`HI5iq0!{Wi&yVzwRq~f6YRm6QdV>AMi`4(PJoEQSGzP); z?&kn5NGkr<1rk`$yQxE<-DAI>lnJ`vLApYqn-iMTQKil#+^X16h}eb0`K57gKDF?{ znt3mxzZFI%J81uQr9TB-k9j)hRuN(37Q8Nb*%Fqi`v< zUd^(*bQt+Z!~%V{jIY-H2}w%RYiR;KsrN%(P9y?T}KQzM2dg383FQz4MO8Mk1p=V{4eNol_`x<`*jf@QcbbkN( zVFQKXUt`H6xxaFzqWZ6x#R8i{LKk`l?lu2Gl$OQ_N$z=!7L1lv14GiW*2XkFXG5b0DF^;F+|QDd_b=vbf}XBVI` zG(O&Olj#{j(R_<~b*0Q(2<0A3>F$=1c4E-4=~B!HNKfT`DI$VyE9eA$FZG=DzCc7@ z*;!bip+5V~jgn4_yXKFC8{KTnn>c(Fd3nBu`X!g2;Ump?h~;+V7SjV5sS~&A`<6l| z0xo;LjdKQReD0gN3gtSeXyNSMylnNyL(6UoX}e`rw4NM{rNnHMfbh4ExtN? zf>tOrW2aGs1+Q93-Y?%VV!858XxPcSOm~*VFEA2&W3cpht7;08z`@j ze$zGFyDdOQQ4w!+XmqsA-_iWT{%H^0jp_7Y*`A=Qn4B6XtC5gV@s(PhY;5P{@yU-u z{R-CXob02MiWZZ3f$8qw+rV6oO5}c1e5`OO`0LjXx0j<(o9TK*cgy*D=dXW!PKF9q z#ho_C@LUfTGzHU*#RK22hw(10?!o{|-*lhAXnDCqK2I;;S2Y@YVa;QyT^ZK#9ip=| z5^E$69I~T#a#|w9_vtEmT6llI-Q0hd1AK(z2mnhDgL1j~aSvVPv`blAS0UM^iTgpy zLBPW~udkaa6pY0qHB}LRXqTWb;+K6jyG!|K{|!|6O^Bssw(M^&WxzbFWTeYFCR|~9 z*lD1M9+JCtD+je08j3~)n(uAAzBv3UW~j`3r7Uz)Rf4cwlqfodv5vNh180_}T-r%v z+EF3601Jwaj?U+GOc;^L7n~>mAQ6h+f3%b~4I&kg&-Z7I-cj*dO+6BV{$kg zGOoI?4&1U=5Px{==WySOfJ!<<@sN5U96>4^u+VfHiU$P`uA_IY?{Gy~bftSZCrRjt z+i7nG!S+tz&u|WXxF7)v{2ROkEv(r3k-WI=QD@xllUuJhw1U;upBvOm;W=dpgNrM@ zJWGkB|FgXRb~pW=KIlrM{9$_4O~w}Q!g67sc4wL;tu)~q2a7+b7};Fx7sCp>WgLd* zOEs-I5XD@S@WB{6Ft=TzvT}2IxOD^>2#DD^Ii);rO$}N+k^W+NQ|*KdJq%NgcGaI) zWP^FU$)eNZo;jkR0JH+~=h`_<)I(0_VA1|_6tyw@7oY2P+-aTtNrJ^hJ=(`_j!_vI z0eh)DFIl)H8w2+_FFg6 zMPW4&=(KbVGVyip%<*Xrn1K8E@^In zz+@xx)qgzs;o`ik)$J7*?(BKXtAY<_BM6p82Xp-tZdY#XTjif`HC=0c>xkgUZYIax#N*{b%tz3y4fP1@6LtP(fJV6DijAf`uo$6 zrlnyKVFh>z)+W}WBUQ{e4|gn5=qBsR0N&Ed6k!piMEYu)zzJFDr6UsOtC9E#h9<4~ zb9&26HcJZays4F%B*zHGVrXIR6@Y`GnZDv#1r=-qK9j6QYQ>+J?L2T@y)|J2+9GEp zV)FVZOK?c`7wL#%Oh!BMP(dC|V8RwTe04t&ZoOt^m+k*D zLVy1JC0R2(vgm`e0k2#!+px_xkK9LeKg7J)pBKNdo5v)?MI^B%v01G7p#zaPiAqfj zU80f-wcOm&Alf@Eo^>FS6MD zGtwEFv1x927EH+VlMvbk&bzW=lIzqZ8wu9y3C^GMmqH5jiIn8CcuC=63(r5WPjoiH zgc`lr@f?y*ZHvMpv>xv(S9h4xsdK=avBJ(i4=U&Xnw28B=RPwoF9=5<7^&P+TDlD@ zwf(EoFnTapJS+QqWj$%&F9)lo7xv-2P0BER=c*jWW=oz%wrcKvgd#y>jv+n*+$E3t%FX3C3nxZC2_?P%dp{>7KK*<0IJ@b>hUkpE zBAIf*HI9^E}D)vM8{io|sC9h#`1(z?3~jFO@b0R}q}i{96npE6jF zH(%WJiuw@vV32X+ztiL?jjpC0?zpY)Bj`BY%(giu`To^u7%Cxbsh-Sd`#fTIF*Hy) zH*lM5H^p$_aAynwVDii`C|bpg#cXrzshigebTI{|xG|TZYI8O&o8{1}MNie;fn4|6 z3|2V+l{uV7?Uu7wyG{x6(SzJu4K_W>Ht`Mw{^9->-k8{!Jd`RRp+XgXI1mJS=b*KU zeO;UaWm239O>M}S{h0IS~znplr7&@7#g@^@8L|VmEUrEt^>Dv{Z zq?BaS>)8X-d)`bGw>(SX5>D@9uHD%taT{r`r%z8e$F=p0=5KEhdmL6j+hlH!v>A0r zm`HXEy%-u9X|0o0cep(it86JOfevvs@h&EZ_wQ)0s7gFL zJv(Lp*ea2mpI-zd!N`m54^+38ZIh3X1ORi0J9P%D1-~_7eedv>7h=7uwh-^q+1BzD zG71v@to!m9kq+O1K8QaIUUPA9mfj#2uH3H3Tein8qt>+0#r4OOEe{?wH<>;NmB>r0 ztgI}|)w!C)hM264=3mJu%KBCY2V+7+y)QH?ZyE&vVs}Qu(`gjygLPwDHsd^0E>0(F z#efWtNsz@8&>jOqx^IgAE54jP;{pF4M>(+onSyu3&2uHeihtmBEAq z6>mgix6=-x4i>SqeWolAT$1VW+z=3SraEv{i>@wD-wj_u#(K!z%rJXiE}vS+S6ykl z#FiBQ#QX1B`fst}bwB^a^KP2d!Bl5(DMVuZ>v3bSYf65w@ul!L`FqJY{z;jNy_eT5?uIR9D9T zp~4{jkR(`FW`fn9ZqoE1eqsIOD%3+gQk9`e#A8)jsPp4Bkrd-jQ1Nf?t4swGtSaV; zLC+WR-U;(}S_VEeO%nj@LCo;czNJwNrACjxP${gf4;_ffmyTx;zB%m(5lxU8&5>hK zu9)d~k9bDGiOO6425+RR!A=+=?P51iy*Ks3l6;JXIy(&-%1xPmr(^}K@dAaQ(N01=`KKy(Frrq7c zI>$T8%cK>T^I4YUfUX6oUd6AoUHae5@~rIktc*|=W$0h*PJNl$v^Z+azY`2gTAUsnht=f-vvy^-ivDkhw%amHzFqdHs<(;d+dL?a3D7aa(cK1=By7|=>t^~>_e zMvkT)@((4DL?22T&Ka`*`O=_HW$IiXz)dRxl+1(&&AcSm6TQt;L74>iLBtsuoAb3T zoh!A}5RFBp7oiQQ@boWpgnOo+Ys#;)XQZ*1#IvePMDU%sd@nM;-IB(LGTFT|R#sX1 zHfm~ZZ)UtBJZ;)!wQZ_H_B3q1NJtpU3QMU7>RLgacHOv}EE_gxm!UP*7`F|LhfgwD>2J^p z!|;?D!!+1*3QZXPa+$tJ{=;P=wlWU>73R8u=#bOhKrz_yMGZLB<8`0bF0@skc&nsz zu5P`mbm>@>QH({%V$60Qro?ck-J~pV+u@1%^R2p;V7aSvfV^^8b=j`A(L^F0K+WIq zJc+sRTd7$0E9*X8xh=RZ9~6MY9zGI6a86UUu~{fBIpOOIhk#Bv!fISdGIg#}9DM)m zWrGy>_q1Pr;la;;N{SAs&vbD$C9KM`*xT<;H*4+%i=AbwkDeCJ=eji2PyH~9c30Lp zGCfLUyVZUtTvRh`IYTkV@$T@Y=gC>(a$3FB+G3D9u7B-B7_UaWOWJ@&4df+kMRj)PLW{nm$7NFPXA2pciklh;i5;C^G_)H?N=h<)vk``eVKNh41 zVd_=;lf_KMw&26o^Ie2=1&M|k3hh_^n4Ckyt*+)~OWyUdz@t_o;T5Qf#!SRxa4A4DSFgl5cdV(%wKKg*y z0`Xq&n~YTve7kIsfc4WpRA$tj6{(jinahh7|Nb!C0x!o+Yp%1HzPu&IaOck^to*(y zp3&Gs$Lbm(Gd-^v^gvtu0)hZv^p5eQEx0QA#?Q zHvvQCWV4vq#Eiw^t7)RH#0@S79f?L>EW-J+h{2>erOaXEuap`CKi1Rt*-S4oWeA8D z!kf^&cWnX&tjB9bo2J__!^zIrZGDixoqV>!pW)-1JN8F{w|FEk$;i~Gbq*&yUf1!a zdMfzT5#S@mnDrbz#OV{%5ZWfE98X4MxE5SwbEv;7 zOyv4l-$29%{l=x|BL@9RKyDY@%cFgfLXs$rZM8n`y$Du#4FJtEy#GN zkRm`mXTDkPSz%Gixk?n>?R4J@tG(UtKEiRh9TL+O>5NsGeqW{+jADQ7iA=OVl2d@& zsxVCkQbhT@b$AS1Co`HA>CyD@J5$P9%!fNh6T!*EDywHv=_sJ8iaY7@{OYda=sBL!* zI(l3tVGF@TP}{&=zW?PZlu{wrrvJ-R0CH`tomVvcx>o$z+xXh97+dxoX9Zi;>gG+M z!h$u(S28z!m$K@>pnYwBik~k_d(l_!i!?Zu^K54G(M;T_#iheigQ}d)h@c+@Tn~^u zr0Il05D8fHKjt@H;h*o%F`~6B)Td`!l;vs(IPauFi;EQHGV;cX-*~9*N&OHHfd-u) zS$<#mMG@+a|7+AqRnT^#L8sY?V|itT3mJk;oIfG!hUnxV6#Ac5!#O80z6#xvsL<@= zQR|hAvOEqEG>+fp)1n;&wmFr|eIp)SDJh<-?mbXdyU;P2>8-;E4%>eQ5r0>GVTPlI zY8*w%dMM*dA3#-(%Et8+c3#(?sMwsi3H81sN*8d!H6Bq+t&W=c z%wW1X22|wkyL<_3Mvp~XT#~pQpBtv~>Apk%QD66Vq4D5o-c|IE)aysr7duS(XY&^) z5}{K=a6ideok2q{OiUG>{sKmrfb;HW2h*;g-R!Y34J;AGWU&*1+aSk>^se0CieD9P z^z&3ZEiz*^c8k>1{4tSYg~eGM{uuM%zv=xPU5?*;`s!EFAt~0XP)-qqcxGq0-;ZJW zN2GpgmJy2|0WHj3W3p|oCZDi5oiX5;BfA{({+bxxHzSd|)(vh!CRh;LY|77ZsQx>| zyfxgnAH~J%k}OwZaqx4l0Os8v5zn`5o~gCi@D8rV!-29?8vg8kC716B zWlOW);t9>d^tx(n4d|XI1b;(@)XOW|q7Sgzv2$>D_?Ron=LBPoWsmxF%LpMh2F}m& zgmx9?1?q8bo&-PjaD`loMP2f~xm9Du0`%=rC~;*;s*e%#wdxN9h3NINnUESXWV-xl zYZe1_iO=ndu~H9Zg@hk#M-HQZ=v`51h2vBhNy3JMa1mH1VX`sBlK zN9|8HT(7mH0xaTB%C#|k?#`|M**Rm>;8-=+v>H2xPLelC3_LGuaV&_C-%~dks}Z?d z`j^4MRq+plgI_Ku%o0pZt9{#~f>ei5(a;>u$B^=(BSCT|8l5>o>4Q0fiAgrMcg-@r zDc8qwFr8Pe5NpF`g2|+L9!@7-o}WbK4WA*V@FMFJtOV&PTdXo$+2`Q1gFSQn!9qgF zTAyU~{RSl!6`4M7InGVMHoa+_q-0JQ-s(o^T(sZKMNlsxbiN9Y3ATMXCOvyjb_DdH zai5@G_~6blQ+{+S~+6paz25oi?$i= z2a}^^n#=9f)@_Z-JFnE`zQK)brE~%CZdwOh?n9h+-cgB6TpaxZzxj4z_F(yNiE6nL z38&L|8HV)1!9ncp+n3Fm7ouDI{J=5#W59yPg{{-xeq>S-;n6p&wm{>*0LA8J&}^;! z%J;#RpBbVM9glveJI2 zt6JFP0Pi6N-}Cea3*1Kl|NWT4w{4;%PjxA-i=L z{(2QKV*a&$_yWvDB)kG1SR0@RN;ML&-+FXls*_=MyZe{(jaEYc#RFq9w zL6mbBLOzG2B8ciFsamV*2(q1*#(ur&9vt-8j^yUymh6iVc6eCVgbCL@jE$Na8veHl z#^7JO33b^b8<2h8OI#*+v(mEi0*iu#WkR4Q=KY?)%I_s%8Fx-(Rb2?kQu`B>s?8cy zYh`KO29napo3<%=7@ufA2x?Bqio6nP@_K7)9w}cCAt#~;{0k7q$Mw>}=Bz*cnje+d=%XJg_b`GzTM)AtYWir4gbn55I^1gW zh+8<=)j~tluj;6r*N={l)+)Dr^*i)$+WG(cN>&qP80xR&4ekzdM~LmmvdPrcu_bqO z+~}1MiHMT3#48?ybT7UynI#-sShGWl zl*Emabaj@y%li)tbxA<<03rsuL|Hu=yu$u-QlZQ<0|7dT#J~aqr!yxkk~>6Rwuiv9 zU7I7fF-r4;P0Aid0I`1>w|+)fYc(`JDQ)$Ua^J9pQd1$=t*SaOQJE@9cjhGCf<;F3T%5|3LmA1Tvd&$JwrCYf zPs5Mo%Ub~vX2E0V38uX0?*EP-v%K=*q7yILYb;BbWc8gngad*uR{OO5l$gufe~K%xqtrF>!KZrUdOis#vGr2(dKreLp7=S%04PvH3 z5fRwgV77#Zi;L)MX7ipFruQEFUD}&JhB-W}>HGmx(pV#&b=npF?U!B4&R5;id)MK{ zc9woC9<`KgyxJ$`ukikY)?gF=h5G-q5kU{}!(#$_Bmj(g8Nb!YS`Dq7KIm%?P*sH) z_i))3+wePns@Q#1RoyQ0UZj~NDmB*cyYzW*m%i(MaC==>owH^Fw}j60RE}BK|6%Jb zprY=&_F)S_a*%Fj2l&n-0a9G@&zN9HKoc6NcJboAv0#=Ty*%f$dBCdUm8PB)y;ZaI^Po&=$q8eCZfo2M z!jU1)(iPkD&6EYDaQXLn7(7HZa0BN?IK*nsEj*Bv z);khg@B54G6AzCR>x;xzNr$yQeZ*>xT!DB1I3)PFEfbsJ8$VBQ`o6~2_~65Lgc_EP zvVM#j^EdnaT-yvZ_NtYOMiAlGcu~z)Rv!3ZvKt?#*7}2v2YU;x9Q4m*8Xaq6D?^!Q zT(<*2VG9OMBkR3{(G3$8c4NS@2ndW(oo zpSkR_UJrgtd~w(}G6^y{Z%Qy42~<8oR3Rc#fS_NiOh?HAWQ2ntHJOhaG=eKDnN{Dv z$ES2gH^h89^Rm{pa8b{|c3 znQEE$F0Je;7_~CASvQ-y5!LU7EGkMtEO zM5?!@KwX110j#JRE*CWe_DUQ;k}ENcNY`G!?FNS^sfa$%HmB}dA84uVn!Qh+uN_3=H}%mc*$SjQr-1>WcKU&vRO1YFApZPK@A$RL;@y6 z*lka}m#&N_cJFIknRxah>l|KPFp7FQzD2e1TeA@XRa19C%czhrj84CTs0Xp#T%4H1 za2`;L6H=?^6@JSCf9Uewz*?o7Yv-~oe&5%x9%Vow6l;}PTCGG=JB$x+*Xu;m#Js{> zr>dg%ZE{1NdZlE&yL!KSdJQ>;IBrX0tGNN?zU=Ba6N{ANl5`RNGLFE5 z=JTxu*Y2UW2N^O(_x{Lf#{2N5LfWyhF~3%hr(v0`S1@5W68;6Mo-cc0|7IN&)KQ`DIMrf%#i?kN0Oz!ykZVaRaH_sCf7F~ zE204P7ZpBVF)OnN?uKTBRJ@wQsmHaUVvj8c^rnQp40W85r_#zy? z)jYSnIgL`N(KEzw`$ohS^1y-H-k!02OusLye##suUwv?G2?9`dd-r?Uaa<8j88Tk( z?yK42oCqq}o%dOr0MN=s-8ZY!SkMM+9xg6I_6U!L#~=oL>iTjqk_fbaS`W==g+6s2W)tF%JC!y%uz;U7WKDN?4_w z9gVzWnZik)24ZAo+zsmJZfP9-otK~cb9}J{1J8p=%oeEoTzB?D0gDse)t2M?Iqk?H z*8#4rE(fK2$ll;7wJ;`P(NM^5t1yY9C8`y|q$BlWhY2$)W&U`$LQB#5+AMkW(s`Hn zmfIa$+8x7J4Qu~SZ8L>HU`r0`C!SG7U6Z?X#$77mL76lTSgVUWTw5S2?$obe|eT`_-I8z2wOM5zuqB$%;mTLgzRjy;{8dk-$N<(6G~Iu9`10?0QXgrP9tONTJI2*ucqwl>exDEe7lK|I+*%#0=SJwqAI?Sp~qr0u8F_qirP4m&7nmytRn{mbpvx$j`|+=#Uc? z;?|NdonvzIAC(j**81Ubxm}oA^5C|Oz3t}g8W7r03a=0XTL1V&WQ==L+=C@UUucn( z=|2o@Uq{m0Mw^nZp-Hlr0FkGV$b=s|Oy!X5OY!3Cg5p>C?!Z4CJnRLE&?`x%mh~3b z%^rL3LZ8!ldxt~FG*$5nxRmuc-N?YI_E!S2bDY?O)A`+7X+kPOT}~FvD1R^2XnbY! z%x#kseyiW$lfKcl$#hD3q5hXzJa`&6_lT_ z8nT@jZdrJRvO_1hc`j^Q5~Xnq$}^r~@E_Sk$}VP&7xjTN5T0f41)w8c4N}r<(HHQ^ z+7lytihPs5YY{wTC?nGo63r@n$5HzCT;MQLaG`T|JJDgU3%}lLQmRfoK%vGPs9|VU zp7pA>yo?0~1eQgmse^mR1joW6YoUTW#Dnl{RWBY1K0HiwcBZ``mb2K)!}#LdFZRq| zkXFs1PyxCm-A{{h?$!15?}O?|Eeg?5$o+3z*lGx&2G5^cfn%e+@yZyF?KK^lQ6(ls zcd4v?Mdz@tb%rg1$wjD{hS9_U{xZpUgI$dKTGd)7LW&=D2`0< zmF7jRERIdOo@@v@W4qeu-@SR;86T9cfgY&vsQb~+%T43g8M67mvrBTq_r}H7HrR+^ z!YmH~5!)U5NA-V+k}_n(a3WM-S467+06Jb|W+2p9Z@BxZ8Qic>=EyCY^unR;oy4v^ZKOx#_#-AW7K;SmY)Yl!B5$A z<%DomZw;fJ-w!f!_msW_{QdD9dtGr2_X2+p{ussonySCS98)K}aOv-ybh1K`O!jqN z3++OUZs`7dKN2Rb+YF7Rsj+~_Rq)4>L^|N8q)p@qQTN&x@*V!25)>5`9HHQxEEWQj z^{o3q0rdMA9>%zmjUthh$$0DudFy7|QLe-3KJhDd^5|G`eQ|f}78=^;lVjG{v?NV# zowxrVitK-{JQ*lQ#8n2BrYbF_HYT|Rp_8nh&tl`^Oeh!X2oSN0L{(^{`43T%Nbx@{ z65|Y^>JF$QJ8UujA>7e=mvT|7iDQS7%Ft~8o}QTAh^Nab2=f~ph|vE0A*wnd%l`}V z{r`NL5LhKjfwJgd;xSeh323O|Ffk+jA1(mco2c!fX8XVIibq57=??Z;P2CnUsQUb# zPh9K%XGDKBfLH$p5qib%Am@hHH?OR$=mcKs>r;dBfBWNs7dtbRSpEI|OAczhYTmyl z5`{d^FkE-%j>jny#1ALGrfN2L2hLbboSgLRJg)k6RkyHo-SXMdNBkMnhjN4?j#wJ^lx<>lQlw?b76MK3SKrl#ub@Eso=y)w2zle~L(Wpy2t zKxhr3cNU_8kR-={*6oE72E(IAiz}4`Mo%7~%gR>U&Z7F70A0BKn3$wnKmlSfiJ!pi zTUvY3`+^M5&QGWdIU2||pP$g&@j^!jy=f5MuWsH-LI|iLsb&Qd+}m}jfr;6OciZEK z?SSMA`tB9+ZBK|=0bl?SC9+nvavyT@^9ROOavK@Eu`ffJh=-pUgP})7H8rD|$P}oX zmLBu&UD#0swuKiV;R+q6a)OnWtt}%`#o9V8Mud3Hl#6Rv*1e0aW>#58k)n*_xsj)Q zKlAYS?*Sic_?MOlVp0-L22Tm{|JwLpmWp9uc8o40%25ms%~NN7y&|l${n4@Cc6B`{ zNDmG>k85mFK5SRqsHs+$yV*4T98pwM=_7tWxum3}jb;;$zd17k%V3rhCo(`sJVwv4 z@L`^Qz5ADE-?lQ zn{+Ut^)nYOS+KLS*EcoLvIrAvX=zE%!!uq&}{zzhK6&~W-<+eBaAURn}Vb>f~rp#1Z-SzYH z)6~+T+d>e!S}$;D&#v&!i4bJ z$&roC_8A)P!>DPtq~j5#j2aq}lb4qgEM@$UFk<71+J?fjFEW+ekTGP^Nu~N{Q z1m@?_fe1TTU%+?FsmRt^hBTEQlf%Gv%8s*NYAbv3K5^ zLDSc-`E}j29~K^1-uj1Jct(4w*@Ks<*7z)B5d-HzHz$@Ku?X4&Xrr3<&AgAUsNZdu ztqEz7HrJ^NTd|YiGHt=c9I=e_kE~>V~J)&xMSB|4w3KTxWNmRz!#KwrKGSSzCP$(1Q!9`GEyy z$(&=!%x+2H=qCBx71y6e90ITgH!Au^42uYpdybBdQfP|ljmJ`oHqOp`Kz^sIfstNF zQ=O6-6PnVhVPgla%gKQSIs>T>NpRUwi(@=Il!P-0icn-hp+?ktpvjoEQG`gHZM+9o zyaq7|C$;G7>%^zwi5n3Spk8UAwHCx8G`)W#O&Ji+5>dRLZ09c z5j4`e>FH8YF_vG5Utg(sX;^9tN8sSZ8mQ3P(#OR;mip)|@G>DAvxu(&QN1e_kFYH6 zduT)|{a=^I>I(=wgWnRP|IT12m?tn5bLZvm^~bNHhU0|%#b zbOCGjyZH4EL6?|s1Veb@tB$Vk!@2UtgUMp(7Ro%dj7rIDxsYH5UT}rO04147T>V%w zSv-z_&WZ#}%F?n}NTQ*>erae|=N)~FV(y#m?^y-q!80yfOOuflef`X(EEdCsmF7iC zO0l7L9*X@&%zy}|A&_Bi?uUa2?X5p(pR6gw#C*n&f8l2)$0su*Rn(>KEiF-puXnFs zjQ4)s{yvbluC5PV*;!%IE-_EPZ(sCl{G@HN(b3YUYk7y59uK1gRHLHT-c#vxtpuwyVcvwY{v2` zpKD@cZ^K|Y3Jftx8dxajCGIay@8Us(R0#;e;o9D<8-Iy0qWAk$!X5ANV~=_=`@3#- z3*CUFC1phhnk4vx#qY>TK?l_>KQ}j-Idb!#rLko^f)YC4h+k`-2Uov8+8d()jVQV( z%9RPm5~F#D$ti=n{raS0M4kLUY@(r~FK=_UcJyZY!nASLzFlPUwct{Tyc(>p1PZkp z2~p{d(4T8HFm_|mH0+@0J47~`(mj8B4Zs2-B3_!>THsi1g5PRrYzTMd?r0y8ul7fD zN5O;}8|xK`gtZ~?jhR(Ng>NFlk2{CvZ!(@;aXGo%othW_d0=;HTC8$>f^ii<-+89OM%m|} zMb2=!pF}hFYw}_b7L2SIE;jvhktj-We`DDwmR9m(j{~YE5ovz@YbqkcNOxGyL#ADba$yFHFen z9OLjlykgL)WY4kKtDcUBMS(fIcVIwuZ;Xd3=KHFJV#>dBpW@HLkz_hC^i|CQnHE*KDFG(LO z{}x~KKFX?Zl32f*me%e8sYfx;qvv3KR3b0ESo%vsNJPXFO>=a(MuUyc;ON8YHf9TKaY;%{o>wxAyhUq!PZW((vO?V9FKPjX4|PA)g%Isi{hN zB~SuS5<0%xSgbYT3^|C!^J(2R9Z9CB_+P4F)~Pl`5~W$x_gUZ zKnzr*BYpJY;Y9S$Ol77?~`ATh6RUv*A0B% zF84+)k9LO_YE>~do^Ei+{6tuj<&*};{Dh>5I1wLjU4+D#V-|^5w3!!H8w8&ibyWnQ zLsBAdMTfWcq8tJM&^g(e zd0C7Z_WJA}vJqbdC($BCl0zwwqU*(a| z-tPXHeN47V%JTLqMCaq<=D#`h?;cIhaV|MY953~mA8!?x$l8>Lz zXRgr2l5K2%xk^iT;RDQ&sPJ%37mx~R9t1HtY5p84 zGXJ++__Zd+3rZpeVR`)t?fQBz|y};@Z8bI-MV}dA;6p5`D{S zzvXnk#Irm{IAx9JWGag4kppGHokeX8#2*cLZO@aa=pg)05@bE2?>@+S6Jvkm>b7(psfbmZQx2JNI$}^y zB+6>Ydbw|`1B#BvT@ILhkX*e|PG{JgzSGGR_jT9xAPzOH+{`qyl8 zqAhFbW)Awej{Eb-lBP%Amv_70_qqP!QnghT=n97C zG=q8K3lelrX`Y(tuof%+?%p={BP3h>xxt2XmsR8~{({NPE5`22DShWhn+F-`{V7<3GwQm4Lan8MRP*~8Y5#*q>=616r2buHx6RL#@2Cbk z1BIN z0{j-^%CpDzI}EG)5|^FjBR?iuvrC@%iR%Bk)HrC$yhiWo?R{Cz9yA?73Mx?^IcBuJ zjY%EoQfc%!54qX*{GDrO>Un?nt5Wvap(BC_J}FQ;_30FC{6#`mR^u~k1w9O#86U`% z*pEV{ffsvW8KS0pbHTHTL!lTHa5bE)4+rM=kWxQ;qysNQ6~FrHG6obF(AxU^#+L~W z{z*X^)^}#2D|W#F>bJYDWrFWZo5UjHBiU~wno)}?An=v3UQtBQOqLC1j1%rr_fpiJ)`-Ey2cA(PM;SBWKw-5j`&bfK@qyvSyLe&>)WWu-6rOXlA)z3V{7OA ziwh~&jw(|8;ep(~YW<4@hq{KJ-o>pOcH^HZ(SqjH2M3-$iLjiieMTiF%8@1&){{VWaB@u2WLsR`-IA&y9ZX{;=te32huqOtPjY6> zX33ve^;}K|t9D2D7P{=C*x#-qAM# zxar#3l+)4cUm`_g$z5f11u8oFrEIW|@)*-IB1YS-B*@FG>gx31=h>yS=vgBV%sn)N zWpQfc2B%mAw485hD{h*iTak0K8Y4eO1oo>(Yxjs_N$A~)S*h8tnt#sYfaX4LN1Lrh zeTDpRd-6;|;i)z83@}SMaD1jXToLV0@I_nFsm!hP zrreDf;Bx-duvljvZiHwlxL&oaOwG)=xy2i^_P&3Y#^_g4a@dLgzPPg`U>C7n!fJoD zTs3vrA%8Cj$?PX9k+bme9?(v_cBk~)J>1yeeX4)L4l0BUw=)7Zwl{k|ej$;fiC4?~ zbH}r>Nopo#P%4NDT_55STsVpUAZxkY7nh$XudmfZnyrKBQ&Cfn9wo1Q&JWJCCvIjU zdkc-V?>fx{AV>6@KSL827gqzmtSfWI0MW-2YVo&Glf=502k9=nEkQ7(H5Da(dQ4d5 zh~fClICeSXPt~>3n$D#$HAK=L0~l0#2ogAb3UA$hz}z7A^mh)J&o=ezSq}w`*;)f= z!6ud#QSviJ)v2u#!dU5W7qVH0gL*lJoNrfaKhPbHbKLMLiLi9M&9y-Lu+1&XhdlK?bi(gwc*yqvy72jxiS2CQso$yMYd79^qUs0df)an;7II4IVKX_( zZTS)>rrp2!ppxcyqx5U$eWvH#wwphA@h|tg3g#jHh0RRLl(r_iFnC9{{dIt#hU3}b z{QzN2D$(m=riknQW7!&E!M%S&Uhn~%C|5{zjurYXztQMQ&PgF0`s zG>S~nAzefLCkc;p*x`j6DDhEk7>t9g!L2OIE%sMdAFJIBEwY~FTq?q9wngC2dkxfER8r1Uy=QBNSw z%5RpsWMgB&ML2{m9Y;81aRi2#F$7>pLg2p8#eLWr?(oJi z)xl>Z~R_yxl)U=go%)>&Py%^>=32bFhW;oD8mLnHXRJv`En2&-pl(mEh3y%^-&r@ zuyLjc^LchICQayZaUX;hadN65?k{;lxb8v0_&H~?@s3$@LvzAe_w*ZRVWt=qBIwrB zPIAsyFpzCUB>2(nvSVS%ar790vZ_y?+7o<&M@G&y!NFpQru=b%88e2sQT?=}IQNyl z51o~cNLPWae|ipY*#3fy*{ty@l-|rHIG_rvEc52cAKtc~TwRQ2KZoKENw@Y>-Ri5` z4mR9JCXit!sw^5VTKJ|JxjmMOWNML=+1#_$7q_%i$PtLMC%HcmR`zCYoQMry_X<3h z_`HGIqX@%KBS_Rq2L6n_OB*1<-dk!gxH)S(Ac!wI( zpmx<7K*aEBJoUqZkNN8z_o_qa9ZwG)a_(B&b<5gq8w8v6*B;Kgwf9QMIR{w!PSMWv zDO$j;pBnbfR8k})yo6)ARM)_0h2jDsRf}K*Ak_5z8yTW#yOSyWByfZCbHSR7yP+go zOD<>K-+!)dbLuPWh4>yW?_2qBc8Zq&S7ZtXRW)f1T#56wseP$4T&fku(> z!Cz91>DRzv*36qQxdm-Z%W2>30clE~KUMaps?K)gLni+cTU*!*`^P+>GSii-Php#9eva@6Y&|97;g*LVN# zAW={$DbxQQ0qXS=RG{7SMTP+GsK%R=oYEo1$UFbk?5}lNl53`B++w_uMg8(gNlB%P z8P2Gv{@*W}o~+g@`41OB4&FC93Yy|NB_*e~&+VlB!WI5!LCK9^yl-_G(Vsoz;ufzB z@)|{{c>O!-*EtwaEJfDAp`llE*EisAf7 zCRKBzrD>T5mH#_U;6T;V(lItNy2Cg{DvkHg_eKOiPD<8!Jv9I z28ZzxV}x7GzrPO!c_~r~Dvu!9TPVv4OKX9yGjBjcLmq~n38{>msi`R!|KqnsMe;uu za#8X7-?8+dz!t+J(;A>JUaqY*`-DSq;zE-&=(ee8ezzL6_-YB7W$AeJneenkzcmC&iJ>7Q z6L))QNz{U%-q}-++Bp&Ppug#-Dz|a38|+TDq2X6IVL^Y9A29R?hrjP_LA{US9}Eb! znN?9cRK^aNH`wz(r3F=le~m=_c9p|F*bjI}*t(qm zjMd^&Bb&YI+$XsraKYClMgETlpDA+&1=Pf9pO$|3;ODKOwwrtzD4z&#K=E&*xhCIa zGn~$iTVOt>>nkAI)L9wtF`U!k#))KGB7=#irvFUS-IWFiJnA`z(9u#!MQx?@?6NF* z;PBueHb=S#4g1%~5?8X1r8d8cIDLr%8>X518mg9d_asgpHj2!~X8P!C*Crfl2aTW% zMwyZ;GXH#RibT+V#+4W8`Fv3|6ldmK$z|aUCMTsBCIv+*+CDoQ(-S3^8vR*a2 z`>d>1y5}p#N5>~0*UP@AgZktCOAl-u+@aZ_x02}GJUn5u zf_7UiKA{1elrjd&oQ|KWG@98_w#2$~AXUy2^nj}bS)Uu5c$=p4-TrL6;OFY{BVPd# zk?=3;;!m86#o%p36P$nM@}oC;jZzcJ=3zX?jjL#dDuE ztg~*s){ou>Cf3&UvrF|(S9d>6KYF=c#9l9J0soN+FEO=t1CbcxO*7bF4H;j6{qQR2S4}) z0`Ycq$*2W4Rx11%V<)Iw2Fr<6C zXgS2G?b`n2&#(7_?L#W~EfAs_3=7ovyov@r*P|MywRBq!pwyG!VFJuV$+NCGS&a{$ zmz5=@q;;S?$bGVdjw0opyoLv%MPx#ULv|yx6Gex$d=IkX0h*|Vg$;tPRY&@+UP)V) z??Tuh7hPCxr}+!=I=5gM%g!6OlAF7twpPZ)h2Qs2iNW&dD(isFSY;eB(N8Ob8!X)x zSE^tK zo)&{@-uB5MTyQ4WU;onL8&?McyLUHrTtgCHBoG?8+7h=fBF?V9U8|LEE25Pe_$-&W zUuZ~l=Tmu&%#PK3(5z`n6y&Mh@efZ$myr#MN%Ya7RD5F3bVBWcXjn)IQ=Mz{zU`$i z6uK8BfH*tP``#Au?vheHF_Foj?(j3>nbPy0Lp92A5Y&;8hM@y_*H>cXhkocJLC!gTyj>*{ZQ-Y(N^iP|h; z21NuvKVM(DAAYPmD8D(q3AHJ~%3@CyT>jQ}Vs0i&^ZzZ^;Uls{^YwwZeYZ6y0yr&uWXzOawJef zLduA~4W=p0*;nrF7(}Z??&C*Chcpx<;S~oMafBpL4)Ld#Wwa6oX(}rA5Lix*wD!!w zFl6A%!0_dU#ZfsRqP3Bu*k^#XxN}qDsgUP zgIB%rdfAV9&sEIErpB%lI9xI|B_U{x#`_JR@lp!^zO!S!8+Xy@bV005T^Hh~c25;< zbcZrMt?L(`z<5q`sqS1f{^-g6x(Ud=V%FBWnp@dOKYe=p-TU{8o2!8%m57z~wXCWf z$p*X`TW@dhNh)qJvB==a$fY!Hbihhl-l#M_9J&fPT_C`_a^0I}&+f9*Z!5cO2`?!T zl6hoiw#uClA0KLCVe}XtQf4J(LccfHO4ltshA^_BDPZ{D}1@f=kQUfefx!`qp1BNgOG@68Dku5a{OIt(KR?&J=N1rz?lOSA<-V6r}I|10yNISN3_}7{?Fwmnrev2@OOua(4BRxOGK-cH-{A!F-I=LmsZm2=A}F**E|GQ8y^x8h1T61cwO$S zw|&O*J6iUz6RGf{X+2H%>&(3A7PMd8szHOBvl~K>ygR|JPtGzva8Bz9_HeDJNo!|K z?sOOFCGK42Nqa`ov#hTsT39#Q3MG=mI6gjs2?}bg7C0$DCE<_6=m?IFUCiyQ0?IRK z?%cVv9!l^K9l^~_x8#s=pcV25Hf^5T5s-*Z~@e(6g{_(9Fh5uAx%D)v9${@itM zHSaY538kM|v&qQF*zXRE$w@2KH#8Ul`Gk6}bzI?@S%;mK2T**4u#Ei3O&BPuNw4tQ z*9U&-&+`c@QcBX#D=YLnySv?$fO7evHvc{l`V0vTmsWbgABKt54V9mzA>AO!4wsVk zhTj43F5-n&XjT@Ko}Qs&aGa3F$6cnmcXEgr9hVBOVfM(f*s80I;QhNU2MvuE5B@Cf zEWuP4XJ%)+T`fvC#8vb#rl)6(Z{FVB*xe*re%>o*p~1kwP*_|zEM)tI2=1(B;Tv<0 zp6q>6Tu5lByzcc1K_2OBqfKgz!Rx#{QVI%bb9bSgot@#y(c)4lAt_-<#30+ax<=N= zk5uBV;usGebjN>5?E3Y-PyV^m+r-4WB%12<*hPE?+)Yp^G*3uE6lz64PJG`B-Ah;0 zjhcXfpu)`_avV)9z!!o}l%byiimQ8$tu#iav%IQBfG3v4U6*vF(J2)j_d9aHi4_Sl zG*Tei8x`1p0=K*mUV+$8!04eGD9RHoRtUGhn0e%Bu$9BM>JPt zL#f(>2rK>$BLNIPMqy%Rg5lNF=V%F0V->y1LGU zE(1C$EY|g#kH64_?iRHs49D@D%#hsNb1T>D$?4Gsh|$uR!8vd9Y1559;s?Fy?g!_B zfL?>Z)B+Om$A{F~sYLiR^S*DV{ulD%;%yQC8;TzdeBoRkZofL4qcG4tS`rePqPrNf zF|nNwds>tIq49w8=2AH%DypYnjg#4K5rf$#sl6bJ|cTuKE%GGlhD=V+E zE~Pzuvr|aJJfQ5U8b45RE?6eS?TKEx($&F^vUn~yfy~byJ$kkNqi&v@O(pSs* z&CRi83x5)@>F7ROk6(DLKR-WJ>m$OUFVtp&L#IH3g^Al9Tp$7Qlid)bmmA6yE17HK z0P^s0JP9cojP&=?-xGe6;`e46SRLFPgBi)r_&$GL%QL$Ac~LTnG*e}g4)X!dQ%mhe zcf3#-xrD5&EbvD|H)#F42&Cr?6kfIV5J!J+ri zD1x@A&f^Plo;6SlEA;U{G(_f; z!wH|duAFfbuBmsB^f4zT%(2R+0oDqg5)>{8yTr<}wfIW;j;pgLHqgLSoo{(^3 zSmvrxNcKhpA)I$??CdzYEqb`m+!!Uf8ZSq-$il+zS{k#ueI{%eRW<%O;st`jL5d|tks@^%Z7~zGl#<7T+I^7-AeALr zpHnYCE{*ZpdKOKQ)oSi?g%ac`A!M1z==t-nj_YDoQH6@o?m15Zuxp7y2N?SPFKW3a zY>C?%oXfjz^PS4R=V~AAUMQ2Pk-+0-P8Kirb85?o+b*tBWBQ*R0+V>OfO6rdFC2D)N&0hy6ypUq_L0i zehyJdKN|ZP^NOCHen^o*CloSM<(C;FUc9L_FD?!vUjyRGFiY97lheHg&ON)mxtEk0 zPhQ>PsS;S6o8~1Yqb8Eb;kk8v`x=%VoE^4t@hX`Q26T6&s~%%7MztUl?OPrsTP}>(?&f|IE;SKC z*lhlqU0{DIcmtVB^o17q>3UMPl$0fultFTnpzVEQ5S8#ROmYfKgjQ+a`b$}mBR=+R zzPju1CkIdJ-e@4+{6oEQ3_T<$3NH|fTDZClp1SCeuNJkG(#pC{7f3p8SGNuO2i0|* z`Ulme+rlmt45CHqdmX=^oN9CH$AH?|aqcWM;Sm!P*SlT`TUuJVP%9{eGcgbL)?F{s zIP6_|eB2*nM7I7B^ou+?a&ErdvRcAJdn))RkwgEp-}U!sDKVHl%x6*2KxXLbV!%gV z)Q$MNt!{6d&$`!=S&C{;VaRda&9^pMZU&`4_eAN1FhGK{uyp2(y^`#QA+%aZ{JGi` zg<#kz^;GClMK^Fhx)nDi>otucPkg%<9BkNLNSbp)iIv!yVSo;%1Nbx(FFsWF} zhns-B>^mH#Co(cN!4BhQ9(ZrL@Jv~WQwL*&TlK1L`+J#1)1X2wM&_49rWcC%$8-)W zQ{2ujF3|Oi?9cUte~tlJoTbgr#@gnfBQ^&M8RO|mEPbF7mNo7w4r5Wp5Gm%AzS!8` z@6BlOs=3cr@CNMNFJf@3Gv-12AmTo|s`q z{}rCcrPkJl78VS9yBauDwbDH1M%IKmbe-8{KRge00S$)S=k%Om#A0x6R2Au}rL7f8 z4p+VRO+n~nYkOmJ=ZQu8*!k^*$(KUEN6qZlJ}!JH$-x1!U;F&XZH=LHUr#lB2y!#| z5wr17nb7ex=hC{wSuKx^lHPBXy6QxUo7Zy<=MNr^RUORR`DV>c!l6g}paYalZcY)r zy9kSBt~)^wT}oo8u4_(sgr|p0shkqH%{@P;YT%J(&ky%D#z;`@7Q36K~ zwv4RIuX8hrfSgCqvm5?YJ|}pSK}krm@-YP>eAs>=st?tI}X0OfA)Rfo{ zRQIT3W+~~^WwqT{;16eBZnS~=l3=^5&YOq(6ZFW-t1J7H&arymWyX2$Z5w>0t|FtJ z2UyUrDye@6iaN7H_-c|9KinDXRSULfT)=%lrfhd#EueRCohNWixHjwiOZAj64z*bQ zA_kEk?y6z$JqJi9QV@|4*hY&wy39KkMjkR%RW+%vG%RdN(*C?Wybg|B8-ACe#6hyGF@JNmW^7AwDqim-eiI$fM2CBKknxPhs`+ItP5~_2`a{KXN3Iwxm zyGUKe&Kg$b*&(%9V;TvAk%njIL%_Wwij~`9HZGPfsgcG&IKOzM0ujG_63d}D%>RLK z&I2D_-t0dxpb!^d$hWM*%A(XO=P%3uIs#T^;y9g+&=RPf6!KnSN=ZqvztOM#O`0o5 zGeO89k1^taxJU5xI~y;rBJ&$2mi4|7V^~LNwWdQU;U6iNcj{_A=DIR6K@R&-*?T$k z32U+#(&5=F`^{INwuk6NW!~<(xI3*S0-xTmFp5Yz22o7q(w`eb$DAD@#W)dXX>ATc zD+2&1Hku7AgiEjv*%FYWdat{i;q%vt2Lh7`6*ZN_9j4CKl$~_O8(W)_7X4#0p29id zq$%m$!$04IkZUVvC_<&u>-O~8A~eKrh!F0v*_KSgL8EndBs+dpw94#Ty|UU5(O5VO zi(%bL&nRT#5^MLgUr%xW5uWLBH}G^nE31~=c8@yyFi~ASWrtq+YOc`{pFNry)3}hs z17quh%!m}oFf(}{RCj+ow^H`q0wS6MIn7Ld`jH=220wzvWN-rwbdI!_0QXYF3-3bGufO)#YDM<_(EuIR?MBlyr!C!MqVEXww*H!Wi-8UTkul;Zm2mC zR|$Hbg;#Sk3(KKApSwQ4qFb{o_aMJ=Xs!!1@A(|+_;FshfWFG(afIHhUku=$+9}zc zLmzd{hTLwbqIC$<-;gf935+pi5;oTuWSVa_k#&yqL!( zBJ3s2V_)4|-}uD%4#1voZ*R}mNhpS>60)BVbSKGEBEHhIs5jf)_{NgI)X~B6@)GIl z=?=d$rh3Zi149<};K^roblgGMg@&=Kv1q$#oQguFz6ZiAib87W;p2fZLOpk#Bg6_z zJ`$mQVqOXpPCy7x7^(bP1I;K98>wMBYGzd*KDuP_HMut=vG@FN`!V zdx0K<)9131=k=>EwKj035mMmwh7Os$oP23+=R*#dQ$y1eXn}tSEyN%7ycN!kkB?&+ z!_RXT5I)J5#T!{D*?5xDz^v%Zm2*f=MTTFKWA2yfeObwLheKKnp=~TH8(h!9&0Xnk zFM%G36R9n67r@mNxAjb7YHHX^ZFaj1t^j*lDj2=9$8^*5AswAD)5lUto5*ba)S(U9 zzzw|9zCK8g458Ak$$)iL43NNB1k@P89+^yBKC!HDB?al8Nxgw;4j(zWuTm=x`hZYF|NeO8Lf$w79d++Cd-uHX|;l~fwtXb=-vyS69 z3kreQ`mgDr-*`YPefjK*c5^Pj)vdSCv6zZ^!8pd)yrQpg2$9R^rSYe0bgBOLG9$nG z0k6g~oL;?XYCm&!*a=wV(o~UR9F$*~A9-q}BW+RmDU>8D29n#eF5%xgRGzK3Ou^D4Z8V|?##6(4-!y$Obc&r>; zhV?t2KBGhM*Yk>Cu?%3()~_7wTfrx%wgV>!M%P4?ynMcSZdg``P$!VK)y3 z4RcfO+@23U-W`)eL?yPi1-m0PSC2GE$ECo@Xz?`C54AqUq0mnj=P!Z?w`)ZYw9uW z@n6dWHLOl5(2J8@86Pj1!sVCd~s<~kfiVe^q6et6{cykixn@;QC7 zd1NFTMibTCXti-hY!L=+hkAXXnR%70F(Lnk(<%Y+>|Gp^ccysDq&( zA@_cT_V+kuRxQ?=(mT4TnID535$UY3TL4DdAGhlC#T|ys2o(_#UFmXi&8us{nC1>- zWWL|YNhV7K&rFC?*4NRAFz@Z{=Bg;IXU`I{S&AKLiOaAr{|Y10T0af)CL-ewtn_~+ z1PJI(XKjCarV|r$Z#y}0=;-M!`8_0))%H1Wn7dOl+@cwhIsrdJu%|`al@rAD;kMyg{j#wveQx`!S@@TjB#x1PQ z|9>i)5WcPs{|kKopL%63 znFk4+yPAeK@yoBRvK3xoVdK=LSDBeTS$nx=;KQIsw@@AT|N1bdN2(06t^(7VpXk&1 zm{La8tLpw=Dr%}LRnH&Zdi<_jE8=G9P~89p{;jGG9)5oI7ry#ONr{Nt5ys3{qniF- zxOnl)M+)m*jcLWm`U!&N6d++JBnXDccI9tuLdJUVDg@?-X_sM~VFjGqUk6W3Q(BZJ3(%;i4N+B7dHlBRxo(^rpNLHiz~TR|A~3o5K%xvXm82o(y&R}B z5U$Yc*?33wmuqU7s0i8nz#|OkmF=zVAy$Q*70+U#ZzurdErxh7Ybz)GS1Ki^d;pdK z?H8q`pfN#>&U_VrZ2$Bz&{Sp9n-W^y{7 zZeUoYCLrZUGp3 zEK0XeSXd86OhXX4&`RU++=~rUQi>02Wo4zbtX$`6uy-1tUt2VjRtjNa$?sUf!7C-y z>Pxmo0liNd)*c+_@mx~!xvoFj9l%+PZJZ))iQ|TeQs|P9WRRO*yS=M>A0GeuVR`?6 zhnQD$D_4A$r|*tD;9+821VBx>pi@dBp63B0^np`t9 zGsa|LfvqTnkvw>)cj#Nyb5?WYJ+U5>(?b2{51OW?Uh`~vqJ@V%Eew%iY}B!^ka#DI zSc{cW+IXCY$=zMr)JkC2#*W8cpv@8{C>-7%-0J!0)s5y1Kq90;3wYGZN$Atvx5zsy zk*_F}NvPWI&zDs~tw`X*+|^G#pDU=^gp$L~uku5u2Ddp6p5;odMn6)7%LY^#%v5>o zf7E;oJ4$IFCJckam9g0$J>nA;EgOf`ge4>x4D6c^xHvJ;v66#BcEjFv`ee+eE_0=Z zXUiSnD(VOf8lm*LbIhpo5Nwrk7i|QB*s@U8!l}+(7lqNzME`w zOs<`m#xEox7_pB^^rSMnS!H0YV8O5i1OSG{IN~V)BY1?5DU>j?@IEO1)}clgqYKd_ zxR{9Hl;~^a2n){5@cZrEIX4Gaq>myl@cVc)IMhF#0NvWzeEBi_%~>ENEv>ALA)9S3 z@>$laEKu;fTcU$M)P-KfH3T#&h`znSNDk6?8$p?OC$0W<&$%yv8`yusWh{kvbUfbs zj{Mq0fs2P*kYBCG_Ir%KZuBeaHei1lWEdAzeAGtpDQS2hKfX!#-kaOLU(Vj2s!pK< ziH(iz_}VS!znGcPr=hKzA7iT#f1|V^t!VIJM);0UZ@4IWknOp2`>>j!CnKT_=zhVF^OF0Dr!No*tGw089RY`npgO0pY(*n3S}%wHCKqttL1n98t>FG4PGbtTiyB zcw~Hn(XqUo_ZX1|s9=5`0UKfuol6y5mW@(ZB>HOekE6 zh6|>5zpN`s(ld#2Q8US56nJHpI6Yb?Ayj_NrhtO_dV51XCnqiMLo%b$E?aF4IMAKO{sad1591CTBW{;0%SHxIAlf}#(KJ~KE4!MT0ZByvSL zEPMHad|S|u3qyi8IHp433NCO=eH9_E04$A$NYdt%JEX*f?72OL1_qD4o~UvD*`}sm z+Sy^S#+Jd6kNQ;ZrzOZQ!ihVsJ??$p7 ze)7c9gsG`v;*X|+DKF;(TGrUOE*%HW{F#{a_wl7XQ;Tn)kGD`X9>a{Svqr>hA%dr% z6hFE!%YN080UZAtsWOP%`8qwua$)NN3^dgs75u}-6^thhF^u;hXFq<(HEI;eq1mjTzo9$ zOYe3W@{%t73sP{Rai_cIb)!s&VUk{JU?6aMx_?(%U)jU8ks9!4><4@65l!$#88(Vn zeNBGGgRU;_Ar^Weso1b{26_B@AR{W5?{IEh`0M)?YU;2sNU$Vq6Na?sAvP2d;;$s0 z{0Y*3z`y$o?8wu@iS)m`>{cb?%1avO*U-w~LEy=8rI3(CWBmLznowE;AAMO{YX(Du z7};O^#*ApDAXX(HzF!bCLkC(wBkFI-eH^_bM8}G5!>&$Dq^+fCW)xHQB{Z~+jh|Vc z$upL;=t~&|YhMdbV@`t&$Gg2bJv9lV7g~%8cD;XyNuv7SKKGEeH$d`hy&&zGAk{aD zAtbgLM=da;-yj6!1m>+DMXS7|zpWU9`q0J1SWug97L$yansQ<73wX;8k3jV1WKE|E z_YzAcrZp)=2pU;y{~-KAg+=MAU`H1F0J&kCPOr0J;@eDeoIDY#p#pyy@uHwMh0aYe zQG}7Qz-r|tS=u<&i!%+0wzz{53`XK}B{&SD$VY|-*;gYPe;39zKQ?fbO88Y6K|%;; zJf1LQw}~mpD`h6asyffi#IP!1KdO(V9*W-n_CDp~8`k?tBIOT_agUwe#6$aM>M2gy z=rwFy(sLUq@ShPsEOalcsUp?V^qN@(r*!eU=17=uZ!L4&}q+z`IUvI)4c90lH` zSBW3P!?k!(dtqUBQIn{AiK!QPbhS^5SfPO9rm4Z$;_K&|T2n0N=;sv8DyC{BhodnY zkFW%qB0Q#1%1)s7DH%1QXN?P}PQ@wWxx0DF?Ia)Z!xPWf3yI-6bLnHnrMz8dUFeln zRik5bl`1xxw7o7Ly{z)u%!^tTM?YwLki;_Nh!AH~iCk@bkTiCTh8MNVar#ntnG>>a?YHO5a`q>jaAti@Sf zd~U+{)zDnOf*8T)whs?X;vEx`e+2j)adM)INB4v1MITTXGlg36JvvCz>JzM;1CPP| z0BQe+RXOoTdE*EPFgF!IvvqaKd?JCovC@PO!&iseNcTS$1o*i<-h8$oBJC%T>(?+P zVoPP@!b!8I4gF($R(iUGmJaU~er0Cu0pN}hxnU7K?2S8-@tQj}0eH zI(;&)gUzCh^Jr*}5t&exlOvK267vfS^wes~6a#agFn%|krfM4KT!(K7DN#>N^zsS8 zZXY`mz@uddC>V)LSJHIC<>J&*feQ1uPq$QSN;L40F2JHQ@Q0z`+0)~1KDjFL3AoIm{p&CyOM3`Av zetjrYa{ktiA^>VG{Xslz$UArF1QOYP;$eg%0Rzb;7YZmah)rd;NTt32dZD#xkZdmD z;^u^+=!xg0H|-dMSto~vI%Ow{@-15n!Vx*pKzS_%(%i!9YbtH5FBL zw&4Nvh{#y7i^M2p*M&xE7ndsf*yud>{BChMM`((XzNv0x`&FPEUj7Gk5GAvPLgn&) z%#Q%*cuZ-uECF#!4?Px4nW4Z}L5rG}P|K`U3NAPrs934VPDgT=nH8_3KqXO1KD3*p zECBGGSXDS>x?9J_JG7woDcg@A9JRR1g zf~1MUrcuxUslEMnA~QjH3NkU@q6)6~ZAMd-iM@-vn0>6_&F^;x)K$RvT5bzRIz4)p zJSNPxbGTdeQyEqi=&~sw=h?)lxkUzLMZBGGcq$4$Os-kZM9n~gV40{PBe5+p($|8W zeSR$G!dVV0a{2ZM3&w6hOHIa8O*KiL{9{IWEuI;~Tg*#U?0yYHcwvTkfX$8@_YWpJ zX5Vrf9-$RiV7ZLQp~Ny$arxGO`5XUTYEr}~Gsv;9PnPD3Aqt{VqjX!j9$iLHkO>70 zS|2u^B0TSwhL9>@mC^KpZRp`16&D;@92$Y1Kf%4lSWF2M6ywL$fBszaJ@SX9s%Pjs zp|K8btGI#{ih1V&l^*~%_DWw{af@G`x=ArmbBB>oEQMcwlP8hgQ*|PLgUQGwv(Fkn zt3k#cbw3da&0#4P)(oeo)Zc2%W&r_hfDG%}J`(iR zrAK}W2v}PA8Lyxk+aLEdWovbHg~Ra=6z|xRd_&&@v+!k`Onu8&hr~45L_w`sHqX*2 zLQlRzU)72B7z9J{ubawoTIRzoP6Y_cgkH(c!G&oJ4U0I5PAijksPy{3QGSchV^ z96}-5bXaX9ucn3!Fj0&`p|uk;4qN=B_bJP3aY*xbW;JCTDXq#|WR_FAs&!a%G};=I z1{r-2F)_G>jpdGJ>9w3uG_5|7e}r02kw)R>br(*MI5%;!whr(PCTUPIk@)EI@Q(2I49`OHZ93rg za!>n#(8IsXkxF#O(D}u2j`#l`u&!l$q5t86puh6GaKcR52KY7|!g zf%yMLZShIFf&9O0W1bG~v$8ZT~m7g^yTI6`Nq7lC27#O6D#B6+N7lo?lI$42US)?db2P z+@Y?b+K2!=8?GB80&;~`td-?ZBTNH`WGKT8{bdQr?*1)$aq~}5zKF*o02HsCUeGYZ z>c!22|E*F19tWAPm>)|>jrf>1=R!BP9Kh6Zp}l$A!LH3JtiIs3-}z(wXnG9;TEL@F8C z8Pa~n-=g9kg7kxXT^&FeYdH6g58#;Qo0E1%y7T=I9pW84{34$U zr{WTe_|G(wXF-#`tVXEMBiDMwjy$%mkP>2S)VEmyq7=1uo! zAnpa@6+z5tWM*VU*hd7nO0CN6ADo1x*U<8chnH=#>7=FuQnm6QGtd2P0Ny;&G|~a_ zt)YmhI0LI7u7JRJ203l-MqdO!eK@1iV-1Myx-GaqYWd}zT1g&PTJPWImQQR+1?mJ! zt1F>oB)La86(-C8q533gh{+2Gx4AfwC{TTnNCGrJ^y&$>g@a?`mp%=9u~gB zV~~|$&Sxb$r^w-G3H0*1r>Ca}kg>9|rg#ALt<&SZe|Uli`8+rwIBR5_Qj^}3Q;-N^ z%C3>DtW1!0DckQX;ud`=3+EFQWTk%v0!}zX!DEXj_p}8BJUoYJg*VSfhHo@y2p{O` zX86*7+{nbechrvhO0iQ_wJ{2HDQsgBstlnk)$^Js?f?4ecb!82M)40?zOVi8McEq?w)_tQoZb(i%P zpp@znS#GEd`HhKgN$T!BH^JCQMoAM~(sS2se&c-HlZ%ZLx>)Ox6L5*9X;cLD_E41v z@r#D}`whECrZ-g+$fjZf=yRW;QDW~PM%EmMPxZ6gv)GA1oz2A4(^AbTTVZ(kZT&mA zaWp(H5xvNbY%ILmR5>$a5AE{OGPjF`c?H#Z_vrL^Bx{_o9Ilw|w7Ruca^^n>m>D30 z+#elHMokMil#`Z);9O-7f&7&Pjje^id>vmk`(Qdd?<5AS5UIq(ayh9eLVja}MxD-m zcuGmMg0tA>xu^-0zAe4;f>ePeswC~m6 zi--xb5?+Mk;Q^Gb))gl^vtHjFqd!hWa6{u#y&;!XKP7Gr9R)j(juc{M<`;Zeb|{PJ z=_+V@uTTgr=u0fB7lakEzU&8?Od+om5Ka;Z&qXqN)372^x#6t5B04eg=wHe*+2!h! z8xPH#K&WVVFD|aMs@h1yE~+|6)}@MHEG#cmjImR(67>KC*tx2GEP2MQF}kwc{CCneD#TP2{$f3D3n1%6T)3@%}IXJ zFwEu|qk=?zu5EDd0<8Hot`Gr6kC($UF;@dt;73f|XI>lTO7yM%~%ZwVYW>gpRt%^p|+ZGg{ThtOQ&X`)K=HaC^# znmpA0%*~J6El6e0OA^pfyMH8($WF~Y_aSwXc0LcqsY7Ge9Yp+Q%^ z2~;L0Ms#)g?Zx+QjOU#I|37~z>&9x07fsZFC_Y+|Qu%o@$Sx?@_`FIG+e%U++JY-S z*cky5$qTK4rPZutuDbEi0zn{~vbF6k7H`cT;bUy7nO`fF46?v*cqiSPl=?49gTq6S z9`Bno9cv|{4q&47mLZWcg#{Qp|F6CliXDc)iU(|Eea%T zmQG_E!0QFmG1d)jZ+~NqG3V>T=a6hav!=&|KOefk?W9bRQ=B>0&_U{MiyM>Lc7 z^il%l9HhERs=g%#oRW6X7w}4nm2cO}H6RsXiVlhhZ$yzuST{1EBtVl`-D$uI_k^c% z75*UD#MCtP0Wysc9;i-_EK+-nE=POJMF^nWtc80*$~7G9eIdogsipXcdWk?}zKk5> zxN>Mhi*fMjmBZ3&6z zMm_js5RJ}yDYH*6aPff`ZWIZVC6pojk83GQ2)~_A5E1i8es})o#?M_u{~9$Qg!cRz z%}bC;Ua^|F>|i5an}fTa{=o zH&a85x{4}b03YtIvo02JJ6kTV$dzZO6uj9q(Pco^=Lk=B<csl_fJmtq?3pXj&{Ekb8z$@9u27*Sk4>|yJ$kc_4gA@*w^yqC4 z)lf2}tO}a%8F&Q=VTrXLUT~Bj|APhaT0%o2dIpJr&6*fHg2q0Gnz$9&6;t(ju2O3m zC`8S*_`99<|MuC_1%1rEI-jD_e|?{tWcpYFWSrUo7!K$qS>8{hf_0O#fTO*17)LIt z&t}5LnNXL+rr<8FOoM-E9bvJ7mQF-;MFDHIj&>-$%_o2V&_1RnS<@aJCy0{eOGg~0 zlA?m5Qt62vSQFxc@wV);t-rrYUn)>Ek-5mfR5I-;5)((C41s-x6T}k_$=nG+Bm*)` z#O>S1RE<~72+W7`Vw1G zn~Nc8aBIt+Y+8l#xq!O>$|2^-3|osj5#tqop_N=ZZxVqAwbEQ7w1BT@d7j>x2wH$( zKd%%K0$q8X;2O6#gRfZTrzgbP0Ed#zDswn=jU-Zr(9rtMX8T<%YC@sRo-}Ob=)>EH zdIxj!nuy&bWWtPDeSs52acbfpM<<_32@h9u^Ru(_6;16z#T?^N8|O&Ta#aY*v#9M= z`O3geoOh#L2y`0(BoH73foe=x$F}i?vtNv)f;n92iI8vZM6cW7fs6+nyE?}&NEZoJ z$}AeJqJI`X_Mvgx@3yH+RVg=@w7tii1g!pND4B(YLqi@ZR9z6}KT+IJq=$%%cn)WFLhEfw+pjoCgsOWGL{;%#7F9HU{Gs~%$raUo`XXKn3) zm_P$ESAe@|cq0!0s)m4}z?!|-F=j-p%v@B@%ig7;aeJd^(B*^gZi_Af{0QN*-cICg zpdWjc%WVxb*0N|{w{QF!y#t`25zTRvy2Cth)zNXsvcULOc;DckYrDPbm4eo5kr!=> zN*Ey;%JA-8IOp4MqIT+bLtf28p6TD_2FvPl<|89xqhjexU(nMjJ`Zo}y$Cry-j!JT zzApNBZ{6H?f9T^%YmHyf!fR#vTO0rjnVX-;=Quk_+D?e~Iy#WhY-<{mV^IX^+hVWB zvZd<5^Sv4pTxOIQ#)UdMp7@Z-*F$c#t-2x|!KdfA3WL%MQl-0JGJkk>@`3mq^a6~& z$d#7}YzZDcWT$qb!enIXiG25mV_hxElT9Bo={l?BoHe4vgNlatyi4QKA|xuxHy)bx zBs^Vg_E+r8YD9;uX zV*C@)seDpojAGQ<%h@5lP#H6H%pJZy$JI@X`V($>siG06z;O^dCn@=(5KavdwNs zOV;HVL^`dImO5JCQB#{16*JO{{ED;Z9lH7`0<{FsOmaT(Qh8Z?OimQ}N+{-qeQ9+CsO&@-<1% zl^mb?$L97`tvws)J{+wsl^gQlr_lEv z)wZaBH3~nBn{Pq>^P)Qsi6D~|#+X0#c)}ACHEZnz85q!3m{r8Z0DQEpMO0s5XZ4FN=fe|`&Rw>{l&;7Y%Ie>2Vu|4z&G zE9nUKps=>X##uY}!?c|<&vtkNEzjOO9|ND)k>a1)r&zm^-nZ-&6b5qyw2|-u{c1g@ zSDj(^WQ0em$sanDA9=5S1N1+>fGz9o`RC9j0s=>_^xEa8H{W7I4|X41P3_)m=*_h8 z;f;<@E9lvV-A${M;;P7OWMa=^8{)J|OCuH8Z7`oL2RO}2la_l}Sdjo&(w?FOdWUJs zHn$m%T!CVWZV=Cp`wMM2(dk^hwJQr_RlC%)D?6|dUiT9PM=tFgFy*S>!4LU1ZKYRj6y2#1x3s_VmT>P+u;jN|_fx4qbv{2iURP99gluXr zDqOd=%%>L1bd1jmj_w28Z~hPkKR*@c$1S2=YEbcbay+P za&Zf)0G)zhF*T1!zHsdsFHZjussmHayl>Mr7=W+bU+o!)qN~+GbqSZ&g z6u$9Rsmh!>JNd~oTI43n$ixKtR%OXG5MS*5^VUTb6*yo&|5#n!SF*U-n|`q#$JlLF ztJedIb%HbyQ;BshTcYIOXX8A?<D z`%G!B)t&73@88%1zyBo1kJdX_`CsnDE2^pW{D@rXzQ$~mygy-UKN0bKbf}PHAxls< zn-TkYiYo^zt2Y}olh2c1ugWk!Hmk8fv-8}b)q_AP`}EZYpS7J6gYP{q!$v}uPwM%a zop;Y3PkE42Q78qEwg-s2oezpuE`GpjpuYd>;t%b9d-&_`X^T6Aw3vEQe=S=ZV53rT z|LT8qr?{=~uk)wUqm(~_KWuwD=)G8ky#(~&W1!L!D;~Af-BVih7LOm44;){p{v`4H zBj|vt)=~H%cWCSVd=OIa`t7d6=H^VRm9SpT{EN9c6Odo}J`veT&g-2~3L(Uld4#jB zM%|qqFV#KiBs@XGUt$6ibnM~O+4xYIqG?fkW z_N60yA(}I?GMM=^a0dB!ZHP51?<{Di#OX*Zly>EJEO!4u%&43OUOrlXI#F1f^AU4v z(zE>lurPvtMN7%>PfSO!Kbvr2uL6y`bm;0GyS1|0zB7a+fAQG;5$D==Zc+{$7M)5f z1>p}3PH5A z$jPNWYuLl8FlBDMR(1yTEZn5RbyoiJYE3S25nrX;BS# zvcSS-4>tfuvf1Z*OC(Q8j=ra{(w+Q~wSb6zUG|mak=CRsQJVvF0x3;x2TFyFpqOHheh&DNH=Coaf5U#o<% z^p5>`iqgi~R}$TdOa?KryO{X21a(1QN`{La*59bUiU|zxYwsI{JO^0b>-P_f%jwIf zetRsK9PNGu!lShizY}T=A25)xG1R=OU{d4zx^C+0TiY`Yn6Lc>6)5@FrmDGYhqBpA ziq%zAI)>-{y1nYI@BNpla2FLd{!R znr{r>vS$r_w413y#+4DU(SldEENv&hi;h`g~Gkv(Arvp zv2lUXx;;A7XcK)Qd)dRl3yij_E0#Z(Xpdc7LTjY1(WhM(i0cyg`-UtvRdma?iV&C$A`ez4E*=5Rb9aeK9iKd z^iCgn@twR*PR@!gIumI)&H8UQC!-`)1j;YO7h0=iqv}d#buGH-zy=!L>iV_)w?`G@ zU=)c4bD^fzsd$0~x|XTBQdwP7jO0qn`kM%19~@3D*n#K&*SoUH)B~?g-Btg@Zgbb+haws^4`lC7Rgnt-Lwbu>m*prl+W9Vy*)O+UH=uk8#2J?D*mldh= zX#efxfydaAh8P)@nsnd4dp9g|LB5B*vT_i&h;dxSVnq2T-9$RS}u>;;J4g21||x3$l^LW#n=_){A;XYgLV+WZi3 zY#EtW5!FzIwk7No3SuPs2W*-WT@!=%LECTyNu6Va_x+bIvh-2;#^y!LEFF7MBiAj% z%cZj=@0c4pMd-LNj95p{N;Fx~WwkTTE62~81;If7<+_wO6yqav$ET*`nPeF@eo{%R ztEayyva5s$HuyhzLIXtB5^_?5U%nhOr%Ml)?)#L9k=fwhyTd`&-8wM9(??cU?sG)- zvbX&-@l|4+JlE{<(UN4}moIu3o`~Rt7Hw+AuI|sLgZt^Z`m@rdJ{M}NeFL3bO&V{S ziyxR!3I)He!ROBvzU8`(A~G6o4m2T;gYu}PUBqmy5t<@l-$ zzfjek)7=0!k5gN>hq_bf7-z6^r4O^1sdr!;RDK&9TXcQbr0|ekHi=WuyYO=FqaZ4o z=a*2@1L++XZZ6$m4WD1-(i^?|XrqH)Nh!WIMJOxw#B_ht*^Sek?2k}VmXit2O!fF@ z8|iU^r{H+Q4yQxN_Lst01<$132?&hl`A}uE$%TR)v*k^A0^!EXTrN1Z(9B^dWQUeJ zT41D~$7*(0vOjZoN8IvUykK+Xz`J^pErxw1TtmmgaoFu8-u$_}ICthrxuYMkM@`p~zGm=fm{s~O zI{LeZVaK2I2cAC_7Cb0^{-a}4cK@=cGeTWSe{a73=5)F_5xc=Au6) zPXw(wY2Sl^U}1SAc%6oCo-4`mA~={p>|{G$K_(c2j|JD$1H<{u92=SaQ~0G-&Rt0B zdi)Qhw+>$o`yDpy{L%v8tKvM#4FDaeV=STQC(^p($p35Pk{t7&cqb_t!G=W$}e z&`_!9=dWMJH40s2oHrVrbj&YAM5uN(ki1^{aV(8{<;!G?yY-S=^(P%q+pT0$XSk)& z(iQ8CtA4YoYc0VMW+19da|b5gEB3b0=Qx4SM%T%Jo{Py4DX>)lvw9~TapxYT7wP>C zo^q#%XLJ(_h3Ol|42x6|?2ckyd*R=vxs_zXZ``MHH;Icjt~<%U!ez#o2lPQW`m@mK z^?T^|=c-G5UUA&K6-K6&$^G7r29pS*XGt5yjN?ty(nv|{o=(5eivq{Kj02%br@8xj z4ckw5XJpD;lOfs7$8we?xVsC#xFoo9K1SQFwc45Cu2(4C)^HNmye-#Gs_Xnpr@HbN z`4&!UVq(e;GLbNTzj+C_;r3)oB<$ zq2pzyqQSNvO*Cph-`Ln(8Y^S4-`QnT6?cWJR{9-v{$9b9V@i_1ma_ja>G^tmd2JdX zdQ+t*zV%&vAEq~V@KW>adizc}EUZsaUDns}T}FSdFJUSp^k73AT_*Uw`PQNKKsy#* zW@E>GKxk~1?y+dWal`3$Xr01IqzhfccFyBH69rt+!mo?;v=6&NJ_fS(@kq@jX|h1K z=IZZl%@`C!CgZi5J-_9~wrRg&MAaG`|Eo6zc4qU9uc*k*Vlupt@BB>z`FvGu#%j{v zma9iO{N`2J?jf<+FyURF`_OmiFTSHLrBMc=0s_?UYs~yLVIIR&ZhZYDaMQ%pSCQg1 zO+df5hep--BZ(o5vEm?q$wVDatDK4u{KO^2+>8hwtpFV0>x8O8fnnd4QmEDw|0;H9 z5^8)})^ot9bg`ZUtQ$5RQWAw6!yb^A;N3qBdTgB+ZzB-Sz`{e@TZ8d^Pj(&EViPb( zJ&PA0W%^QXd{Jhyzo&0#ApA7e@86}U41Uv7OAVJ+YzF<}#~%#1Iwl!+r+_mn|66N?v;2tzd+Sp-Am_L}ZarY51(pD+kel zsv1}?>P@W<*I@G4xgfps#7yR_@UerT4go?n(;*_$#f5CbY3x4Bi3_j}3$i(W_*#_w zdisK&(`tl#%fdC1N#E8tw*OuUC-#MS{@M=dLK>Wz2ccw3KS=lW_m~Ne$ED+pP&U}( zSdI68@L&5dyS||toY3gLMIuGOb^gw?NY& zOEE9UmzCA}7;xe>4R!j=p35&Q;aYS$LmiY{;vO;xdq@F;bzRH@!uDRKOq*?rp#cm& z3<=dAS@UCJRq6sgzRFEpIFv3$iri{urjo-!mT=b4&PQovGK}p>q z>xd)YYyK`TKc7rjA+!u$8dm(ksM(K>^)tR3N*(0zjJr6k*dPJWGygO`$^+e9{7~^-j@h6^7>2#izq*l=BIv6ng$6VDAfvuLR4V=1i zo4tshs#yjYGo^ljT59QDOtTr7G{@1od_P)*g1lldG{0>9=Y%Wg`SOpoH9FvLWU$59 zP9>qHP;!N7E*2KL+Bzq59|H;}z?D&Ses6qv1^MA#dUt8UC7{~F0|ry|ayfTZyJGAp zHp?K`AMkp8@e-g!3>a`^rmXggbEec)!6`xNH^e~cw^Gq^LxYzE4agbtxzjcnoQuNK z7vkXHRH$~zY zr;zg>E8;-;&x;mpPH;JWg$eQB$H2(MM>F`EvO00kNALI-rvQnO<6ym>(TImfzKuQh ze5o`!vNR*0^8Ua6_1`z4hgxnoRnAr=8dpfwAH@oKspQ(&N$*8I#D&*5I8(b~|9yU` zj03N_GW*6Q_$MC=VlPU3q*1-QLfzC3$q54w4_UaEvy92Mw$A%{_~LtcxW2mn5}&X? z&-b2HvbtM*J;XQWulr_2-Z&WJg0YzJm6D;*xN6H8SsL`Y_9h~;jfoa~6BDY|`q#vi zRpuuOk*96fqbP4;fBff9Ot|*l2QquOW%x3Yy3}beSW!8Gi)d1jfn}(xtkaL+n9*eWy(if2 z`tPM*EFRyao^FyJ|NX4@ko~}yHPE~nhJP~6ATA2Mhb*6ZEB(5?(`{*juYPxwA}p*Y z0^%1@*V~eil^iS6*;|kqTI>QOxo%&5{Bw=AP*y-NV`Ko*0$N*9N zBnl<>EzWew;0;Z#B-#^`)?3C3EWlpNADYNH{1;Az zw#!mP@igy%Mm3mG*Il8QN9L1OV7Iv1UW~)z3B{TBHI5A!}8S%^D~PiI&}V&ny^wdLu79Jv~s>kAx?@ zszdBXa$$l$Zu_gfmX--@Eit!KLHpk$k=cWm|6V>m9JtUtJH103WNw#ZK7y`4!`58H zK6wN^v%KT=#6)-bGM$!RK6v!A#on^!Xuw&v)ZKspv?KCgq#ZPpUAnIYMyIBN?Oq2f zszeaU_8c4>=2aDk26y(-v%zSlxpP8tb7|%z{US9&eQ6Toa$6pob>5L;iHETW8zWWI z9=JU1oL0a_8Z~)#?Kri5Sl8%7458Y$FGf<*-)GjZ^~2ct)6MLrFd8OPOeYT z@c`GGb|Jhkf|p>d4-;-QJ4-IOZQ9k{{k^0H|LFJ_Rjn;tRKmQnT`Oz(kri6N`{kPx zEx!Q&_g&PDo`uL;m%1j_Z^C+v=V8SbfaN{3zumUms$+=t-N@TrymfmO$5 zbrhR1+@INxKWjTk;G@D+(7dek8#e;kZfJb|V~5Y9sF@FziS`MSj>{g~-&zT(1R`bZ93<2!Zjy}I&AUh5V<-a!Wm{ zhs%M~rqpiY9IyZHHx^da4IQ0jYE#NuGUz24GHU4D9dhb+=?~Tz*V`F=7ocEm+X{J7 ze~X-)((>EvDzDH3xtid;$Cu_&0(p2eziIAVx+(=H{L$cfwe_I#@y`w1!*X2t|nb?g| z$UeC&gO%HLNouqlRL&w@;dO9?A7vYIW4%wNY2N}%m@Gc zjsU^I?ZD4F`gh^n$5i>M;nk2&?r8gb>T;<%HSL{G+b<%Ff;GTVs?m9Hjf0E`&QBC! zX>g`~ytje-TDuqOvG>H`-h+$u|KnT&XD9=+N=Rbumq!;%K|d+EUmvGEsj)O8agG1~ z==#d2sM@G)6@?)rB!=!z>8_!qJ0zt$rBh(&R79j1ke2S2mhSHE?*0zX^Y&Wb{A3Mh zPTXhTdtb44V(4DN;L2wF=v5`12PuaLl%3m$CDayH`m4xGb3fxzVx0BXBUELkpO95q zQ9Ogqsf}ZQwo>w(mwf!U$NC++<3?K|aJC$}3_!J1Q({2p9bHT;shAdq8FKme4TOF9 zpo&D1qOHSN?JeG1vv2nJy!J$F**|{OLNX@KHy$2!MmJG9l^9KtsE5SruXxNflMq zQlEpTehT{HM#^GYZI~on^Hlhe0H><1Ys!nh zySnmn$Zo;$w8Jsw(pPz>?;l*UH^EO3fX9p!Ty!PgtF}mgeulz!rEyn{jgGGkl@bM# zw6(R}FTHsZ`!g`smi^A?171D!t#eg`KWG2+#pSplJbe7sKKo{gENb~*aDLrGXiI)) zRc+!ZyV@0o6pV~a2ACia&vbR+7%zIEMd5P>6c;lG1O}8^w!_ai-I+DB zs1@tt$^Iz$G6f5qZgwfG&y_OP-JNXhpZWYry@DF&q3i{~u}w_Z%k)l8q5_-)B&$mv zKnnt;V6f>r7Y4h+%_EsvN&shSK8?{S-lQ*IqYZN83&`W>`=c4%5!^w z9)vlLZHDL1#tVYZyX)3i9%FlRKD4ZOz2s)TYa9twQsGbqt0OPeIjXBo@l07mb8Ke~ zr-EBL&yOOT5T8p2$M{Z>P!5Y}^oq^?AeVup(C|ns@VVQAEZ9bg^!xXpAeQWi-4L|E z6WVpdAf7s4{+m|)slAD*$@29`7CFz}?hYc*RN0&34h{-^ZS5^=D!Q1jO5=Ds?HE;3 z!c#b9kKTUlb};R~2lRrP68We!*MlKE^z^o_u8!yPEfzpFjpW$sjJrB_9JSmB07!Vm z!1^=xpe2!cB9bS;@5W)hpuh5yin?Q^e?%-aChCXXREf!#R*LShW&s!(TJJe)j<1yM ze8ZoDoVVxa^kEORt|yF{Y0!k712b&oe^(4E`t5oIOPN)t6D185tVst!_q^^4y_wlh z4pVyH$H#_u=_p9hLj?HMDFa_-AY+U0g@X@WW49d@hX!FQ;40^Td-C70`;Neg0!b>`x^g%h2j-uI7gmsoL7{);z-_ zQWln&e`-zaaDe0K`f2u@n02b-z`+&}P**>SzI@a#d(|C7EIPE<#A-NdVqs~$R`mEF z7(T#);IFiJwa8!P423)S0yUFBw2o^2YD6zeyUw-t?l2ghmh@bMe2{<>OGsUa?B zV|RF*|M*+~re-`h#@+cSnoKMtQ}O~oG&J*IalOzOwzM8lW$$;72$(T`3OovyEu7EG z6HGFo;KdaUwY90JdD+f2B7z6g6Qc3n+7mn+YB^tS(?foH`TMWxLIqLdiPskE*n^{R zfhJ1U9o?PASA#@6yBpc3RU+6t5eamc!71m9TH+FtD_aJBV!+1rF7Dk(b|KBQOzd(lP^+aT_5pJ33qd9k&E>9n6N!HQ(;D1KowiHX_QjFLpEiVsJ=8dF~Peu{+d5htF=^jc8k|`XXPZ8E26;k=v(%Tft0I{76X}*AHTjLW!OvlAR{LNv=l?h z>eDR3AZsrXexfY$Yt8Ho4f74Z5pJrLPt1iP2m5%B~NiBv$uj9h-m z!%#1(Kfd>CZlljD8DnW-`7@R77fdi!lBK%Ee0?0Jh!va<0AQ8PwY9k3H#@mTADz=^ z6cfYe0JjHQ2z|k%{cI$*Y(m@KG1+rEN?|iormCjlLBt0IR>4YyeRFFri4W+B->t(K z=+%F`F1^mc;22t9MTO+TSXA`hw;y-sLd+09$Qc-_{xzToP&|CvT2{KGV(Z| z-{mYYUafUpeX=9sUyU0Q>NYHH7~|N|uE` zOOXEaU6dgeFHkQGRyJOg04pj&U%xTz$qWMdoP$uStc|;V&p0?aw(i8ylv%F9cl5m- zqep!M8Bt6(y5s6hEIEAhnw-DkJro$aYr7kn2ry5bf-|e%HmzQ<+=d1p@+el~7AxSMc(5cRwKm1Xov$l8C>}Tnh53v~< z)YGaliwA{1>Na9=GFmNP7U|S}-s18eOvQ}Xl<-g|{hp9c^F~d)`t8}~py;24hEZ}b zvtID`?w{Ok(3Y>y{umJBy5=~OmB^jq@> z&;3~BU-;a%;W$j%FzJdM2PfCATTW|n141}Bxc&JWk`SO_>jdkm#b3;eAId;jq+d1L zD8NLb-PZEGJ(03vX~+`^z5Gfam`5{|b1+vH7#wN4#BBTR{lE{OkN+{6j z3qsH@e(Wwb(Oe$R1a9Xl>yiN+`ESVo2^*cR?OjnP%Zq~E99wYC2b*Dd6+-CotZH-> z&L@x*K1Y>vaOP&iV~u@8tQgVmYe-JKe3{XOwr-;X@mqXOh)D&L1Po4-n1#d@q)YaU2VwzQ2&S2y76&4?ihVS)lzN0%a&;MDBg+^~)N^SPru z8!P(TiCFc$$(6+>FC?*QS|}p2AESCE?cMqr%kpf75Oowm$o{^KBey!z$opC;GPIKi zZiB+6{mfTnyCvsaquEB6#VZt2M)yDu@7LzNL)jwqe7E^n1%Om-^}$j#`#2`pOnCx> z(~L$g7If=>Fpw7RDw561jNQfAiINk?oLlKMZwY zlTYbFnIlf=j}O^!ielv&MY>@=A!reEc}d$5io(i!9ZIC)@zmp#AN94g@;E5K>a=xr zZXN4aU6~3Cp4XcpBqs|~24O48&{r@+3aJ&t524#VStTVjkBaP(14&#}rTNZOK8)J+ zy7M(26rAystv}1w& z9^iL~cZY6OT1+6Z=gLc5uXQ`@Ek`RhU%%q7whKyMV&brx7w_kxCP2EP--U;)2ciiF zc;!Y<*ZLBz8X2)#{GH1)H4el(QpAzZ?b$Yy5N6IOte_2F3Q77 zemYYGCTIQDO8*@adliPs!Z~y)daAZPUM>acS+o?&@?ow0x` zFYE*chtNR|2w1$Pr>8@^#yHeux%#HJNc_o%V$o~-0LaH+f6O!IE6=8i z^*ReS`T*TCxnOXTMhr1O4$wfuh>K-OHlf4S#LP@42IeaX2LxJ}h!G?cHz`{{zOMX7 zk@m`gVSC48tW*qf7+rq}t-Pkee0c;iR5B7jY9&k3a3UN#bEjNDedu5@D;K22Si~s4 zL{iYk>$eGLL<&qY*G9@z&6V>nc+Sgsz^4!1d3c{&UcyPJZb7eKk9_eQ8cdZ)d;Inq z5;Qg#BW51MY&3h5fq+)(xgi5oOtO3KdH`)$Rn;EKnk7-2T?iC`Xe8kU3?JE@$dRFH zc*D8efL;XD;Z%Qo`*EF#*s^p{Awldc0>8yO;legm77ZrH@_zqT5aoT(Iqs>qL5hA?$ROy zzVUnpKXd;1CH2KuFlt-AKclnoJ%}erQjIcIyP?r2A?Zg!Dyd<&1KRD2`O)X|_l*K3 zIl0e;JfNu{W8uzK>oeV7`bVAk4WY~1>*V+xQ z<_`0~S1|k^8ns?$1@6Vg#l+7l@W~N8pauozrM?E_6ta!FU621o?>-w102zS*uz2Nu zOIvdT@!r^YW^Ia+i612ZiBP6CKq3!IMy_erQ{QE(+6JR~5 zw5g4s{t;yVkIMx(bYyD+4$C=Upg@`uD3EZEOGH$(8F!S50s@O(aO}GR?o?Wyj|M>f ze8r#Sve=o#GmqI9lk`lgEpm!4aIhSIt=?ZKDy2h!=vd~y40J^9kzRfL43m2mE%~@pm|L#oHv@%CuPF`u+MZi`z$PZImD2*K2hm{E_S5G>vsNPbWEi~4T%za)P1M#d*e7oS6P0{@3Qp|`>P-0(06nBWPj^?2KZ=!g`-VmFug zT=o950RB~wJu}P7Kb0ze2zn2tD)IDURmOhN32JXNnRVU|{!0@h@dZ{4Y(Gr4w$6LP zSpL3K=#R9xl3mmeXZwM_pgd6cH{>lDFQQ%c+Q-LH%%cz6D*|58q059uNPhSt%*H-y zs5Z3P z$_@eS7#Pex)e{w6Y}N#Z^hVZ_PWrfEm7*yiZ#PFi*X~*9^NLK+$H)2L?1y{*7>(iR zT8b_~+hRVm0?{m!U6x2_^;U0P9F-?0Uu|usLLjwKt*)n4cxCeoq(8*)(tVk|nO#K- z4zt!V+qvTYO15B4camAEAYm-7k!t-jUMBj=@dei$JRleVfg+OiKi?Y!h?kxnLl*ekL^ZC8u=0>S8`xtwDFe4i|n61Mya zegmNkL(KdptrtH~n5nl#47};#9QTovQewRd`%C@-_igkfka(4}hb7TJ@&*DP_e!rJ z0Qus$(m@t9;X=TH@{+q`S$bQnswUME{yEhk;p5|ThtD7tZn?MN@LIceIbF&uF_8AQ zH~IbhKcWKygs#I8nmN ziQH<2UnZWl9El7`eLeTL{YW$Wvo>qY8h>$PF^go7M3}Mw=<~CoB&P-iLH7ywGDOcN z0ce-a*49>6$Ok3tq>LP0Mj^6Wuw~Dx3E$=7d}VV)R$%ML(VHFKasI#AqN?sB^EabT zd>6!_rOS8j=cK?j;%HRqTXihhF7tyLCA#Uw4{XholqX-2T`?0|EHuO6++P>9p-xqn z`FrISPd9sH)jkAzq^}L#2wQDte8;q1;9D&ps&gu@N;*00pyR3aLU{LXm9rvXYjNB& zd@Nf>QQ6kx(7C5T;K^V>r#kq_R(K~<_2%K)o?+mUw#ARn`7r!^v9sAp>mWQz8?wHQADwoQyiD~`|b2X$J9x-jB zjS7p&0_uzuywWEP@C0s2_E&M&(F^jTzl&51UYQRvF=>y9%*}fiT~Y0 z#7M>Ev-2UFyKg%2x-4q3JOH&D-|e_sy*dKgwcdq?t$eoS1JgX;TIG}wK!Jymc1(`E z@og3gjiLL!4|6EE`{O2q1yW~wj}Y#7 z4>(x(3P9}S0AmC8Ahdj)<)LC0Cw-RSY} zl=HRj8iXSF3P9Equ?IG|XVY3}!!P3V{7#Ebp6YoirQ5GM-=usk^;IcvqS=}yKP1+d z3eI_lT}usHBB-S{l#7cq=<8QRqjWTG25C~0Ej5H>-fc5gu+K;- zC!Tdu>hCIoLH7d*z}2JeA6q{+$dSeP2Eu7;GXgUPW58G0jG=nD*~Gin=ZSpKkwR#? zMg5X0X3LtgX=(Br^VM*c08V$w$2}KI8hwgn#g%r1miOF(r zHdwIUg!XmD908{#5|N(XN!nt==VWJPIj~vN?OSM(nC<%37Wt|pZZwe)>4S`Hy97cD z`>SAh_)M$etJOF2_4?DxX_wtuUiKJy_-br_X5;%h4u~4ufxfwK>ODPIryd38YC<2B zGO~lNsO9~w+q*#LEm3jZ(WH#$U)@1OH5v!A6vEtSymd3v4aRc}ekUwecYEAc0k={3 z##2B1I-GQ>Y(s!V=y1nRUabq-s9-`xg;HUsPxI-)n zbjLkit;o!Ku$if6(ynq7vr}MZV;e2=n?hAK%@21{Qk{S7`|-fo@&YdrZ@R*TeKd`G z(td9>=y`uW> zw=rKYG|=eZgS+-2s=%0a zMuj@>yc`v_t%*wHv<7gw1k4! zDZAs?H5(>dfTxhyv5fVDyaEO|vePz(?}%j9ED14AzagGp{Z-|c)MRdQ=4yw4kk#m1 zw)!vGL$H@(!G@iyZ$^h5HbnCBh7i@e_0<6pZ%59+4Jg8o!F%Cvi-P{m$FT{_sAMiF zPi=f+A(Y^_xHAR@s9M?(IWQC8Eq*{qt0)pSafQ$$7DEE#yQQ}#C3EIONJ_{1c+o`j zEKPRmMSYD{F6RXIIDm-k)2C0A1%&~J2tRfkhrJHx>FjIAix2>{DJ2c{^6;bJ=zF=1 ztM#$Je>HuJhhsjSQ*>R*6QGmGve)i@nnfTnTv+Psbhy1*Opm5Q-fVGa;kHEu+87fG zm2PEEMHGmrJPIn0v&Q-n`e=-lm6aUOK3@JZHwhg&x!-D+8|d#pnLJh=o*aQ_m~j>B zUy8O<5BwVP^f=chdOY-6%|SL-3>z|<@w(W&D9qcM74hC&Xm$~Utrq2-6-GV|4lfbR zEaBtbrtx~-Q~v(gEI!}iuhe-g2}fqF7^iHZ|C>Dc0CUa79tW;>4^mDy-qye%jiGit*QAT`66%FrfLz%8hXy8fh>u zvD3tU`+eQ1A;*36-(`YSe3Fc6-sh{F68GY?G$H!r8P(lRwDIe33R~pXQzNw=}JIhX5&$4GR9$Dda=m{D)`K_Qiut{4ZjN_~f5NeEG2i zQ-HbWY2d=5I&L;cV)2~-Y^VeM5=*4JO_a$nx!@o2cRTyDxK(>x?m~T9ji431U2cpD zSkDk!;S7`fe`*0V=3`l1fb>N2BN7xI1rO;-hg-s(-S|*|(cnI$c9{}jP6cmKL=;?c z6w(E#iDkt^0lw1l(~!bA00l8q(*4aq{@KG0%&*LvD%PSW=C{1Hv0129s6S4SGWbo0 zo}m=1w9{xlw5atkWpv_4@0eSmvNIosNC4pJo&aQa+GECLnaAP#c9si@& z&3oToloUQ!aht-hGQ=*$@gz)43zkflPIfEU+6Aa=!>f^qAQ~3z>N_tOM2IN{< zpQm7|nl@Thx*I}&5jZ;!gqa$Ax)n0R1ESI1gbLoCw-=a37#dlHE9f-PUgD*Z#B$k9ZjX8MZMYU3w3u;lvz_`Mn43DSbfKYV=7>3*(d*H6E8NIuQ9Eyc#A>h0GH-|sUp-X56m zq>KtNpxJ*@29&X_6Qja@QV?B6IXQ+1G)DeQ{7X;5#szOCuACf#qQLtXkf zy+4yKwxs%AgM@K&}~667@r(Lx?lEuwcq<3-e!bf1O!H5ZS+n_hY zg7O^> z2B@A=c$}_pPIe-`uVY!dvo+Q^r>k7zK=-tv zX&f%ps7FhI$EDq!X$Gc&i^S1$zT6#4J(++aleMu-Bs7QTaJC`+=f>7?aT|+c2@=%q zTK`W}AIlSc9x4(v4H~lA{AByJT!XbFn3`$s&mX{LUSltA_r~s!(`i&Lg|88;tf>De z;)T7jr8QL^A`ry^8N-CbmmkTIIRpPr^lams|WblOR^m(X6|1q@e(2ZZw zP%z2&Q{vz|E5hp7)EVmliDw(RppW1$O3LN5C;7^w*$TiHbI__>8K-sQm&NS=Rl0U(dbu zBBdx*FsaIhiP^*i`>oDo$=AaY?Iw81NDnlEso&`FX zNUC8fn`$WE@jC6hJFd_)d?Ck@w4JF{P{W~(L$eB>^V8J#_!f@NSc+kgoEBqR@rn&Fg(0?Z`kY1_^_sV zf_sDPgCw+*bvYUY_W89vbqgTt7;RWJcAhc&v$rv|p$yRlB7ZB)N$46Wom)MZJ%nlM zYqK4`>wB?DG%4;hX{nKlm(V@P-16)_WV($Ge>Fz;eoDgvVOI$j|-a9qUkBP^eEC3d(PA?et_d}jyOe1MK}gw7(OnIJO5CDQ3fL zw8dg()pm)op=D4r974pgOmG1;QHmZ=Rr#D=xLt3|mHaYQqE(nk8TTu!1=0ox+pTW2 zZvl^^jPenU>AYCpy*q_J`oJo?!*s*yfIJ5gND!$xgr6I!uO+Oy8ub>HC@dFarPc{{ zoB&L|b$Jc>eNSuekM8JDjG*_>7Cg$v5jVBAoayIJTUhDhjQxscv}y@mIW5{xljE`lipO8t*FdtF-Ugm9%<5jf-%$+>_YAl}P6(51IJLOO z(rZ+8Y5lcRfps`FG6^v<%EU#wDoCR_Z*)B*GBmM(E@#~F_^kd^+bxm13HU+JVWKX; zrq^(VC1!26)CfCv=ChNqZIOGb32p=QMSVEUpn;B(rv*=XK+_(Z`;NH7baEQ0rP!$F1fp70$lIg1e^q1$JF+c{fjn$?R8f0L0@`;a@;v($$Z zwu@$Z-c%;F^q5)B$iR*a4DPlV|DEW3qG5tY#>7- zyixApqY?^17CjZ5n3!_D#5&8l*X02VbNNP0MI_%|v7I5A??Z`3`>V1MMaTKQ*j^dl zOa(MDB)mq{Lu|ve)6OEkqcH#s^pp<@3MLmR?qO7S9d;o37!>P0=0V;9ycT0(A1-lS zfZY2=Bs921NvqLgfu3jF^?Q;G_=*>{J6#A25h!gK`cuU|H7V{WU}qu#|TE{mGN zkKq%22{K|cAa!>66h2kx76)Nfa8M`16EL72)U=CBYhQ6{9v@XCs9ocRX()J+R4|tz zgnCFvC@Mz#-fCg62rxpPvZ_4l((m5WV`4*UiW$_T3)-+D*zE*}P&G%}Q9`@ahWy5( zry_K~QTD-htKMR+2To`5UZOpwvvyzOfUj+)${*M09X3XAL~aa)yq!Q}gf#_+QxllIhxV=(334NN(t22uI;hz$?q+cTZZr(LBtmp#toD_}rESw7dx=iy2mg zx9Z8k*jVah99ycl*amfw?a!=)!NEjTHgm*)-!>E6x4R+x$xi<*kg zG}2|UOpY7)`%e5w6f#f4y%qO++Sc5VXnFi~TK7X^l05Qj3Hmop8%$j$Cg-CG&DS&K zFo#|sPf6w3rFvkK3y#EP@(n}tIzP_d0#`ji^$FIf>Gpx%cRu=Hj1a97I6k*l7fKD zDR58_H8n7~Y&}+sNY7h7ja8>f>xr}| z=~7UDqq5ZMm#U^fpwWfGQ>#4%`Thy8GCxR1(yUibNY*!O%_7#HY_(|B4@beysw-84=6EA3{5hTeQkO$Z(^dY!Vf z^ddkwoJ({{nvvptICO{Aiw#oPTmW01A2YU#Z@e-Z*%W+Ksn?uYP{VeGbN_V@umc5n z06WkdB9~omZ^!M*%1?kZrvO(aCrl(XAnGe-uHjg3=W2V7PlBD%b#JF?cPGhC4%1xd z3W*n23AUk>ZGz|aa23K}`Z+}RT$N|CD8{U4&UmX!9dOI3GN5Nl#w_aJNraAPo0Diw zRJKR;fgOgH&|DP;x5taPtBdr=dW$T54v7UFZl?_?JA|;?Wwl+lp*}j35eC|T8G!nW zc{CBwa?ZLv$6{j=PiKl5)7Z2|-e^MftjlgIU_VIVUkUo3287_WxS~^D zz~dNX78u+V0Z4@A&oBI&n}vYy2ak`NqzGzUZ$!Q#yM1+dP=%I=hv#s$O&9!vXj+4( zIo%Q!0rJFLAmE(0h6Kzr!^OpmVB6}r#ucdD3#r^v?Pt@_270DslF(SxhS_LEqHx}1 z?}G5nfPNa{;OHBVo6$}Ic|C)s`XIF^h`dg>!cRteQ<%+y5SfxaAuf9h z1cg7CgLQJ5hsP%3qXjuxil;JQfaw0{5e{SdC}w!8DQ)}J@wXw55zMUGslSD<$Y!~A z-At77zqK8s-XODhE=8uZ5fwgZ(XM%ZKf216yHX6p?a1zae%xrO zx@W4&uv}Eaj*DzM36PM#dx+xlv9ATtDAog&)P{uQ7gHTXy-J|~K8 zx24d6Tl`TiNXc0lrDNA`@5_`%4#+ zuV9WF1wiLg8A}mPb^yVPPK3uS!!(hP-Ychw`L;Z)DGQm;buY?K z1IO2p3NTx=?@%C!{~7a}#(h0sAHD3wB2!2AI#ULg+zjq$$>*gB;%B3vQRtpo3&A+4 zb-=+?2ZTn6sopy~Kj|tQSO3`MpMJOjUj1js4Tg%XUIXC}5>f|W-aD)9hPYDO0|O)Y z*L{{f^O~d5uDVh27U$k+Oj?H4W$+9tP`mVnuapgFz_3C{W z*5aWUB);K#{I4z&27R(+xvQEJR^t03vvo~vxbZ!?)F~uQZ2y=>;B4nk0BvwS3WL}ce+ZRT+H>kr zA6O?bma|-*QIlth^Yfq5Ym&>sov>cdFJ_}w&C+1eu{rHkCT}`Ouuv_MWMb5dJ&j>z z%NEJO-Fg0kQk%*84=-t;T$zk<7UIj`E1K& zJYF0R83oxoNliypVZsG+eGOnm z9B8T*fB&)M!ywDY2#a?7MB*Eh2RbpQi45iiueH+_aH-)1Qba)P?Q;6ykY(As!|ln6 znA>ipI;Dtv`J1Dgvs(sr>5Mo_F;?XftM5J*f5kXw+eS%E?$3;wL5XweU1^suHJFc> z$H-kGaC5J`Ah<_fHy&&N&l25qFK2r(_q&+S!aGgCmcyu5y=#}8o=rDMx9)agHeQyU z5Xx3AY~qvj!*(_|F_Q|pz9w!7?L$CRR4NijeW=kc&j-d6%P9;%^u6nHb+iaek52x2 z@SalmbGh%g*Q_@S-fN!dlSSGvw7nc(>hw!53Agw%Q{=6c$At!~hq9F;pWis0Q+hC^ z%)SKSNab#?tII#mPd{TV{mN_avZP?UuaMcS6v5EZIfO(+NI7Z4eX*>JjK-a6W<(^q z_iX0qJ9Ez~5)gw{Azcr76Dj2=e{;^?BZH5Gx;aYJ)KvL}u7^nT;c?yRy4TXaX}`b0 z?54h228Uc8$yWr&GVYTQfX~KvJkD1Iu1G0QmdAw^C$C2GmpXLhhu+O#Ku`I23tv!B zKuusfu6p(DZl?yj26!&o)kojUksi_xaNn;Q|JLRqfT0D-6Q@SLh5?-@)}~=TbWiOk zD!f3CF^wRsRN{vaL&aqrm;8m+qlffcSLgFMk9OB;*IMrt6jyi~716)PH{vxl2!J0` zulCga0b5n{Z;=D*cSarJH^|r!QB7{nRMWHFY{jS#!J>H@K8l>*`s^3N)$T-sXrH2L z9WR`c9!NEnzRkH%l+oV32Vq!hDu5uo>h*hF_aTX?hmz-nf7{O3I>+687&Fg*fekAn zRysjW_#gcW%u;V}F{;F8cIpsdxl!m&3@UPOxv_xj*7vL<$M?woO{UfeMVNKv!hrHQ zOS)_QM1sIcd8c^3{)(|i`n}{!WQufCu##EeaBzIY2`#0|m+%-xC5k{sLl(I?=m+BTn=a7 zG9)moP%JrX+9U~E!xK9(N%umxh@d7W*}5}*ZrZ(SrC|BVc;x9?Vi=6fO4X#PJfknc z@p}0Y++=x9ay%axi!u@6{{6DN=mrT(?TkP|1A*+L!PW%#?eb<715c$n0wE#M@n*(X ztp;Zy;`xR+r=L-|kr%rWenTm3mVtdGnt3WjZp4asdz{BaRUnt)wYr`1ZKt~_&tKYV zd|9F&a=cx3CcwEdB=S{%D|G{|43B*{ZFr1DEq-ZNY!9w=ZqGJd!rSRJgkwsf7Svc+ zTZhyHM+ZFJ#>0!!UKq>C^UQvBqz4>EF6Mszp8&$ZXuUBk&EcxX7+seZChe;c@P9x2Y`cghq!ejrHlC zV*hb%xo~jqM;_WN8mFacFN`#$2E`XC;iV1ulyW;DA1*Znt`cXD@0A!dqXWTVPzil^ zwn5l#sXltFJ9=5!B2*iT-_IX1U9mvI#@eE9%<`R4k4qh$%{THSb5zgsQbNlD6urNY z?<>k_cNkb&8mkr|!wzb~MS+OVc9M!ee`XGV#T)59NlKaE31%yh(CAIzbd4sOEx}0} z|0)5$=i!-OnBHS#TvL)3e}A&l5B!^7)&6Efk4KwdjgmZ)M`vkps|hiA8Tj3CQ)V0QXHs)g0ZE6&D&>86gVTeL_RalQ#p< zNBrIdqJMQ|1z`XmWmhj|(LAex`eU0#zV;*2BQC!b-jj8wBk}Jz|L0pDCXe#x@)DEu zO$VF!Yfgq97e0KD``Ga_RL&Tke3ThjNx-MqZiotmp*;D&{si2$I;`iTSyF*!=J-hm zmjh6F)$L{!JR!y2_$1(NJ&3sYISO#1PIS);vKLV_&*mm!B&WU5il$+`4*{652@Qtk zmAKh2g{#s;XB{oCXw?|e0h}tA$9s4bAMj)H)S9P~QnZj3uPOf-nD)y%Vk*bW@t)kn z612x7+53w<#hGSd0?w1RM?wDdTRvNWa{ihr!D>HQsdn}CYItp+`6rj7Zg6#(+{`Ip zxM>3zTY)i#@hFtkR4+9&PM=CG53F>Xyrma%#gm%N08IctiHNgaQcZsrAzsxUuwvrd*&Ziv=7su>i;WzlIN9KS(*uXHCQ< zB@2#vhT50iq*h7{e8rudoHku|jfdVrXDd%yQ)bvtwhY$LYi$YO(Fk9Vq)%GxP5>H; zCFu&mK!mp)Tj@UGB!2jT$Y2(u?PbwC)f!ZME~|jhP!KTW*l_Do1n33(lHIIdyv(Tc zxczF$=za;4)$V@DGK~ee=15W6&o)K=+=VAWJv{z0NguJyRzMsAL zhKVZ|dbQsHlSF)^T+}!)vQ~G8C*rnt;+5@{K-!fRf3roVGLu%_hlh};TlD6!TvBR2 z`UzJq+r@V`XJC<$RVs(QO&1&e8u-b{NsA{d@OQ?uckeLQ94WT(t8KIjNd}agji}r? z?X%N#s%Y7odd2fG- z5~rGpA{JG5K(A9Qpj~~CK^|Teg?-O$*D=xeRB+(Ads157_Jyonxla3S712u_u9evd z2Ft~W*DxZg{&x|@82EuLKJfQ5FD3@JMk&=ptv`zG_03sK1_$Q^D@TWB?l?^UHh z1L@odsF#=9K<_9|At@<@6d?~nzxx|7wR~FmhAg;nZK6Um{kxC3eT-i;aX`tD?)_tn z@aTT>+7n^dI-M%3>8`U&azq5OcD0TFLW3*C^@`ZJ&mEKZ=}AbQP78*SvGIh@?ow=1d7-*80{L=5P9!&h$l=kDJlGahb4lmPo>0GJ{Y$1tks}!;2FbM)DG#-6 ze?^&0SEr%fwWsFmTg{=sM%ORoR2(MK^t3XHi}2|sJI&ZXh?k8 zE8~IU-W3e*z{EK=Lm_WZ^QIUz|G;M>PiHjSgZ6*7S|4%zrxw8f$@)7um4Szpju$VP zxpQU8M>$l%;{*PhHa{6HBVv6rg;5;qnRuiSe3QTh88e!jDLOg1{3mqs-t6Z{&%phL z43ULEqeKZIYk?sZ9k9zC=sZkJ1&jVIl&}UunbAVe{b&-^(oNFiZUPeK~z-?~=!PxJvXZ?HGU@BmfU0PGhG9wZ|K@<(S zJb3Rji#1-fgzk1Y-`N5lTrDYEV|5&jqqAzRF#j_+NNj)U!9U^1tX)YPO(Y0)lZtFh zZt{8tJbBz61tk40I2F=`vJUU=>{~LFU=SX!OG3|!ec0fZL`1@}pWnTuQ?Hhp{?hmJ zKqaR7}`Y~*>O!VVxcsT zgUr9t&2mSy{C%W((qCgT8BR>1tP3TJ?GqKG(zW zmZxiVK}EB`*t!F@d3{Z8ZWP}u!TY1!BehyqHvu+$r~)B>xMvi8mUAMTR++nD((}qn z$ALOqgLrxPGDQ3#KiQ27e4XPQ(Qi%8Ypx%C3o8FU9 z2gXK%zFnOxTnQVswn_ZtII*v-t6z;uYf}GR=kY)eV;OIm>B7tZ^%r`x^Gn-?(p02zE7hICpKz7a6r;3v1=%iYQR zz>=2RcP&pxiuZzsMg?1a`+LdX^wA6Sr{Uvf>oXEX=eJb{UdjvZPgszMy&>}NBEG!N z3c{q9SNtd}6%c#Wqh-^0ZsKo$vzWi!sQxQG+{hs{sm-fA zL2zj&rBwa84(C{vR5k9;@BPW3fX*N|a*Eos&d3x6?<7t8ueQ|WF$fW{wIDlU_;6yd z*7bsZFvZ)+tB>mdOwCvX@x@2>~NcofhFVTm3>-$-l?|tElTGnEWt%D zD4XjwMvu4G=CqpC8ax_8TRo@cz4EEFUwNztEza&kh2h4FWTBGTi@RZoJVQG}Mk>&6C-i4rlo*jDMd!Xa*4f9g$>>d)6g0VA*%wH62st-0M4j80@ z?LTP#7>(ddY!iAPn+zP;b-Bk_E4!E2;2k~Ag7fej*7g3eYnCqlJd^Sjlj$7I0yKdD z0|F2ksQ;QfH;~NOZ(5Wa?KeOo!9ZO*vNzf$%E|a18~l0_l?hQ`rAfM_wRX{Ka2TFq z7v8nz`1^pUDHiOx#RihGG1jHESR%sa(pFG9*o-8?9Mal_dUBCV|OKr z>AsIbhYa9H48V}MGPDbMew}z?HhPb7r`R>H*AV)QWTf>Q{I5NNF*U&r-(hvAKvJ9j z*K>`wk`MHJHyiE}gcqCgeln|FsVWsFPk8Uw9^M!YNatx~R(r{stF}|TX2bMc*h#jV z!^a=v}>hAeyvq7$1nDvBQi=0?W*@)9eqZE16b-ZB$XQ20q(LnrAtNwZ{S?( zXA4-P9To}`gaZh4=h7+4qk<^eL6G;C(;*(hpC_10&tbn4>op^tcJEhaJw%UT8Jbw{ zHXVs}pg&r#cr8A~Zncq(iPG$`tz>`7pyC7GhxZ^T>R!zpYH8DMxhskg?J|%xRTUJ;QQHR4fLa)`+e=Jvscp;5 z$Pd-)m)Kq0s~@rrXA};ap=>UfyuNUG_F14t%bJ|wy0kfWy{rm|^te;I&;pJNdz~Tq`uUAN{kgxtZ!$B0$H-Vtsaelb4SlUYKjWxUYXWaJQRGu9z!v2w-aVa={=VQh$Y)_&RFK53yDXp5C`CbikSZn$$sjgQp=PP*Ef%-Yx;|8G`Qj1 zC$oL#4$AS3gd|MXUnqo-_2cr|L6?P@E0G)>wGG+DF{YgpjERJo4WmN15tWpAVu;Dj z#`9qhCV1hV!*`}|)r<*rHjlnGriAMqBd+WFTy*s}lwYJ;{@x#jBwaX1U(}+a;wf8^ zYFLA_Rko|O9Y+4-!j}In^mAffHo`!ZeR;A3#7TbcqYL6KM0%c}otrJ%JicK&|{fX4|*^L(`8iRCFq3oWhX29vciK@px)K zkUGo3gBYw0f*u_OQSa2DDT(Y()psbW|o6Y*wPc@+*NUtVUSER9w} z?aw#lPLN-_otjiyFCt%^Y|5i;7nZhs&lXQO8=@eK7VgI-JG3KfO!>;}&1Sk9Ts+B~1AzR0?aOiUzLC#}BNF;Z7Q9J^G zLQcr%HhsH@=IVHW?1KXzd^CM&hSUB#ERcd1Fzi!&Zy~{wK}uHH@GTgOZ7LZB7S`1C zG}+d1=jLTW&hL?qd*K@?@xtC|FtBVmaAtnw@u3)iBW?xv97$-aeF^JuNBZA~df_`P zzD`3*%knZ9p23TQ8N7k0c+drwxb)k}bD~!r|2_kp00y;kcZxduSjNxCYsNYj6%{Wj z)necCcysQijy?VTBG)0r3gu!*7?3}0U>EEiJ}1Uf26r!vpZ;HrY6h6ld(8g;pO)a5 zG~{2)jH(95QJs%b`d`){G7FA-^d23Zzf3C25*!;a{sqcE+T~9+a9n}?FA{4COc_lz z^sfo<_(+w&2!m+Bt^cv@|5uNZy-s{OxwtA@YqQJ(YrTHFu2SdmA)Y|N70I<&^u=pE zATT8DxxmnJj}R;xe7WA8M(1TYZ@x|b`ZeGK-yB|?bZ>;=(RnQx8#ZbNcwOJae&Mm- zP}K&oUl1)A{=bK(7&cv4R~POOMa1zBKi`s-nenf*TzL$naC=kDNV(D}J}Jd?I}?Q= zoM$__sR#HL(~WQY7nF^*&cBxsaM^ZI-hbinLex#yO?2gav^as^gZ9%6wcg=KTLPPp zR~=<31Ww?a@j&au$KoANRdw~%1|n~WUnUvv-C?_hXQ_1NENsB+2k`RWLj4}o`(1vM z`;`wW^(Ks3)XK=LW)rQM!VzUI%cS^IHPYV0d!Q+h+GL5z*wl-w<8?t98Pts*i6J0! zlz+3O-!q_^C;KhOE!ExmKyQ2H6(F;h-MfOY&Amh+n3 zm>84mPae9)Q-Wb4I`t}nMfRI5qRsI+yi%tfh=9L_?ajGmkw!T_&fcvx2EE76J?dtOD;>Y{Tof8I|vmHeaPR^x>@>QGT4tR+~7Ezwu zMlA^m#KDxeA<7L7N{h2i_E?w<8XqB$_jkKWc`9f;?iX@5bWEh^T-BEC1#vX;d+cwu z?B+gU(tHa14%nntbWe$dS#-_K{eU*o*GG|-GUwLL=UC+?_a1Y#wt@|OhXB1#`ya2j z5Ja#Wr`!3+Itm6^y!axhpMcs}m*cMO-VAHwxtnqesu5r))3LghH zedU$dQm%H_(yzo(vr6e+x$GmgNqX?mJn;;wX2)6XYM|xu1Mi2#1g*9p-S+X-Bv*I+ ztwUWPkpVTB#uW%mtgU|*ujQT_CRZwT;Ly_`xj&vJaFjw?Z*jpBOapFTqG!3&Z1YZZ zpZQQ4oPN34x!a)ws~ewWirxlNB?2xk99~!3#t!b8Tr-vCfzrIUGJM$*TBQp4KRKND z5vwg0e4}59r%xs~m06k-Zw#C(4#~I86Yzy!;Uv&&`Yz`DuwmHtnQU;BH>afg%&tA( zJ>L%1a(j>Gv_BQj({TP3AQCQB_PGkXI7m3Wh)8&BZ5jU0!P17D#%4LT%6oN42H|td znkRAtQ$en`w-?8amxiVgah`z-tc-sxH{!eeJz%9v^SllAdKvUAy{X|s=O+Yyhd6;o z8F}#z)QUZ@V#1=}%Phvo^3z`(FK?_ykvZ;;x5I)dQ`&Ngp1`0z(H)t><)kySMzzB@ zI5>Ez|4Rk`t)0pP&nhvC&hWdjJjEA8Ee|B<=;&jsZq3tpT3QP(##=Hm6e;wLB5x4j z;64_IA?>hR1l8P}`7g%PnGuj2&8B&;s0}MhU|$&2&pGqme}qNZUp*+NTI}xuF9IM! zz8AvbVizb2xpdTYN5+>+B-a;m<#Mk)&i2?pbGjm2pB+SGi^l`aM#<}0M}Cuz!{wle z2<1g@pq$}SV-mhB7*OyByUn4_qXr^T(?jzo*NnwhpF=D98%ykr%nXG;ZVp!?j#fd6 zW^Vf14(~qUKF}tkM}P4`rc8%FG>rw#-e^$nMwVlv*NK^YB-;z;UW&K)-@ z(`$E4YKIRFdrDZIjBZt%pL9uHZf?om&67Ly!o3na2*=OQv7fKCeWC4jjuVZz(DI86 z&m7O=VXx*oki}}|*+D3FI*Mz>Vn#-$oMv&c)O0f^f`gR#75%s?sIQGK8rJPo}aHk@~GH4 zHtOc{%tmf+53T?w*#e%wP-<$e*B)o{?d=H*zld+VRT{kNrb$nkuC(v)5FZIOHIpN% z8#n3JjdgRU|H400glqt>keNn%AWg{#( ze?iIRJxA#$q4!z*ACAfOMObMZ+~CW;G4gr#N28vy90m8P*uTXYm4>>=Nb|;ibX@;- zE@ZCxMTC+DKJ$ndYp=E#iWj`oYRrit_)?zQwHosn2B!>_uPD3{gFIc6QIii>FodmBeG)N|UQG8tGX+DA*!1;B#d&4b}Av%%jrx15MVO zV9t)plbGV|h*T9CKJ;U{828wm)e4l9P^wmthZAw-SS9qZn9eBtnrqf15Laeb4o!aZ zggHmD`@Hp?BN4nv7#@4qk$yKC`msy{-|74J5Bv-Jt=Q5uYvs%j8+7pewm*13`Uzu9 ztvmZ!`slrrLq~7(LnCs-vSlA^wVKr4@y}fK8M%o;b!qpA?CV4OAGQQS`hY(kVp;VZ ztQH#6wYR3{;7H8z@Fc!)!`E2PD`f_0%+C#H@0!~Y9vi5GNkP*HzxytRE4T>*sJu#o$dx6shF9@xdrbfI^&2e%1O&=!L=IV8%gu zdHhB}a#Ovb2UGf;0H=BT34yd0P<*gV3svJ5<`Q4U*-y!ebiy!<_L6XN|)*LiV}WPlU8 z(WpU;WA9nCWMa-cWxxsJcnMGM$dxqvET-*Y8Zr4SjpQ{6&fU|GCnOtb8>*S8zg<>r z2qlFsSPL?Wj>YxATAH3PiWt0x>zp9^=xZtbhtfp6rI{VNz-?~Za;rj7)0a?dx? zAgXZF{W}n`LkIsN?L#0O>{Yoi>++Q}(v$HZWUockL^Q{$F`gO73etIhJC9QhkLKd2 ziEj1&Gm7#Mx<7}&|A;%XSnp^k^c9MWo(uH$Qn^z$Z;QM%dHY7(NxA3TwQTVU){8GG z^aGAcb2x}swBY^?af%avJ~dGpxXnur4MqOhNnBT|nTBISsmuqyDlrUCe%b8bACxwW1-nnaI!^$8O03|&QKe~EUH_o5kwYXsoG7{2sTUEn`sq;gJVu2lvPJbn zFg!){o6RqdIjPLwM!Pr+L;n*i)`c`R@vN+@*i8z(;4%L5_3w<5i5m&Q!q>GtODBgl zUc)PgnV`2CIt@3dSDDJ%FAIx!mw+T%i_;5Yxwn5&dRXDAOc&9VOEud3?Ke+hOWjM^ z(atFmz3?V>TaxZ2V*1 z-JKme+ih26)zw|y+FoJm5iQpGmSMw@s1{l+$mQjX)6FOY+asHnzh(%7)Y;{#lY=B~ zvKfb~E4TAi5|IQ%MVX}FA|Dt=?6Eawk-T%}?{((W%6Pb8pG?Lab@Cdxb)X2tp^exB z$RkTr4N1VTKcTxHgGRqU0POd@u#Nl&q3;DexQ!%JviQE1UUYtH|!@C0|LHM9tknGsP05b8p4_=^a`I2nG%ZU<= z`$g_2L3Ziru0HDoMUma~dtH3usL{|lmRbaUw`W{xmC9}5RzfQ~(rC#h{;A0^wp;*4 z3$lCjI1_)Gp;nYveRv>gf3tcN6!4gTbt_i0adP^;fwX%_Nh@);JM(p!X=mBm@uMMR z7*PHIF6ubNHAO~C{%lvN81(;atmi3>c`?&6105cYTvk!h#V3rsd>XvEQ=QQnl4;9q z-SJ+SL^`$6#>w{kpruc(+f{ULj4-cF^`WUBAZtZ^{`_&4-AY&ZD_?YU^w=FNqC4!S zRGL7PUgtRMObB2j$VzZBRpg6R;R4p#J2?Sg-0~M_XeCzhvM+T}h%zMVj(c`vu_h+i zrYdylKp2^8#ZE|~(AEw`r&ja9&Mx|z%vty&5nupjdl!Qe#tgf0GoXgvcJ{T9QZdIN zKp3u~*%%}nW?1XKlu2FVOrTk(CK-IQ!nBW9#RLq0f&bi}S2(>7f!k2d?wEarw2$)oI!RpCjc zar%g3(dV5Mc!9tJ!siPzAAm-_d^>H=;j|Wc|4OXZJh!laJ}qUnxor5%=Z>kTpK;_Cu>glSp1!+R+T*vvLTK0o<%cU`2-|m#a;n^-rqW%|o#g zSm|sJ{61Ch8gpImYEIN4)UC6as=2eveuLDypE8T)a8+^LI=lL#rkw1}J4u=-lzpDX zoj{zJE;1%kxew{QP_Vk!kfYbqga`4(QIU}!dAMo{XOr2igF7x=?#w+euS|+G8d1Rt z7~g_^WVHB%I_nt-f->G^zWz}*ZXI&%C#R?Uqu#OHYh3IM;O}B_RDOV&R)`V-jeya% z%j2edUP(pmfen++?Rt_S-SR|*+q&cv1wH-MaMMNd=L4?iw&mq{GWiJ9%7p=}H1YY9 z(WP8YUP#QZA5zk(^ed#vNJ$l9(Fn7}GZUS~X_L6P4Ap=93Jm>qk{I)POJAjY<<)Sd z>vLM|%6B|1&z@WjgUpmz4`>jspy=JJO>z0LasRiK(!(E{1c9h zi`hFy^Bse`I=jttx?eMxdCl=uVrUUL1j=>NFon%(b`+dzMbB-<7#{vz?_LZ#W8+Hs6)Iq?UfNa6Mk*FRi)Joz8&X zxfH<%IZUfxZ);OppUxqnmV z9T4t;!b~A8ARy3q?I}~>V2VG}qCL<4ZL^%aS(Mq@(drXv=cn|1=jTNl6(XLN*pQ!G z5kKxca-F?UO+{P!THUMUgp)xMxXNpIRXk$bH!|tNgw7utO>S+R-sKL?s&Z4BbBlFw z6R^hLXArQRxp6`mR51OXJ-Q(5k1hznR~1Urb8$UShL#0g%$IaPCR9KYC^L`478}v2 z6+|Ibf0jpTg_z$EXNj0rI>r_NzA8egb6iQ{~J>isymKu|G z`O1Q|tS`Dj=_)D#M%>1;Xta0Va<~)gUwcoT;kAKJN*3f6L#$XGb zl!`)`MrTq3f>F~E`u-j&38+~&Z|FH4b~1!gLa8d=6T#5yAE@~FMM4xk zutW1))vNm{6l4Jlt`B4b$*er>{98RfP_-W08TVJ~Dn)7)Dj&X_o(l?{*Fgft`{TFL z)K`=ftaubaVw82;buTP+s?M_TlLaUGEcq5rw7z_q4$0|0`ycXM5sE~Y<8>G?m?nC-Nx+_PV7NTd~bi@~!qaY~S?&tD_y zSn3y}pk%21P_yYxK)G?+Q{b2IO<&A8GkY0H;tJHSu6KnK;ezw*!uzlE2i}YU3JGD3 zBz`Gr`rwkYkY3js{ElF}?O2rO*4Ag?Faaimom*Bc2(@CquSlk>1e4oN$4I+rPJrPw z90?5#0G6_aGPX06XYQEMcPES5_PTeGw?A{;+l7V=>5q7C+0cIGk*6b^uaH!qtHsRH ze(~cCT(&b|^39dh!7cI6qhok&+xrPpPPrusyjv*I{zXe^3SNzYL9!kNJQ~ zd=pAccwEuVO~9JL?)xWt&Pv{#=elTE#{ zx{8W^j2cIy+&Mt?VjR|C)jrz=-kJ4Gf*rjtvhE_CjDLN_-+qd4sq{fh%;dDI?-do< z2gsL6-aSse={8rB{ZS#w)fhn5AwSYmAgQAp;gkVa9Tvy54=fv z$y|For|;L}G;#!`6tf8xd6i#UDh?c;$mKdO-m5fOQ0eLEODvS=?>}1803EgEma6YC z*5ch~CV_*amJaO(H;jfFYtNm^R)G>LlevNC(3+Zx26H&IiXWuyyBEg}kV&FMg!X!e ziX^Z`!wz2r@KZLOOwA2}O&K-{6QegK^t+2>;1I#Ai>Xik;o z{8(<(!Qtm~0jm$6zHYB_7>F79Mq+b#JTsE=y2eNb9{@#7-O;-Nuc@3I;qAto@4}zCm{-X_$19#MJ7(5) z67dXQN_lB>Ylvv4H}km($4U6R$1>V9-A_A8S}m_-c?EI?dIJyJ{6jJ%yTesjtizL} za=47Za@OyF%5=dC2?aE_Z_f$JXC)iBZK_ZcacISWJDOHxVK~xFaf_c zF)Jr6e-&?qO2XvDA zc`n&(w=jjwAw)kJx6SgpG;6^w@S@_^Yovw5QCeqtaI!UuWH?Zk3@!}B62C8XE69pG zmF-*Kj3Ih(?knZLY7WKxxrhu1m^dgIK6uMYQ?Ada?747sZKbsYu^>!bXW|s!B3A$P zecVu^FUdln`tt&T85KgQmIy$D#VO3*SSlL<8qmIuj9PrAFv~u8=Nn&@IX>)bR(-Sv z=t$_VAVieO(mm2l&QA>uyDd@-aJ?*Ss$W#GJPhuVjxnfn5Ckd$B14Iz&a4gk#A>uW z-{}8bq`t?7AyNHx9>%^XhbDmeB7TI3DO)NhSTr_IB^$wPtRTcNWTUXfZGG3N)S;`0 z>ctruWQW}>)~qj@WIC6L+-p4=+ROkXV)`T=-Agh#{a?&wx{8xrKSc-_4n1+0rYGNO(} zLXP*vnhKRFwqphI!hEc$mT{76)N$@~ywIi&USj zxR}V8a4$?)@>dy>$yiy@3Z*D%_4h&_cCgCgWu=rR*vybf>^H5gz%o}~Y8j|}YJM*w zV=iG^9_U%0SIV4|C&upkyAm4ZOY6L4A9^#qAWL_i70Xv5fX>q=;>A@C}8; z5XI_HKR%MVx9R|}^OL?9mgK7Jw9kD0&3+Bzwclf9S41;5(&D!KX_Uz4=K{y+rJCJR zHUlxjcOvc-bJ zf;)fgPAa^N?kr>GGL*==;05)v&Ifa{@~04qd@jf1+Iwn!CJb4lCAh8y z`L4F*wxHRu&=Mx!-PX5()NW3@vp4X0G2M4@J7cWPeJcM6bwEiCxxSB_5Q1uTAURz2 zvy@P+6k57R6wc}qg#-Dypo)Z0rl@|ke#KG=#&C<+x6;W{02UnDnD&h^J-k*a>MLp(+{#;`PLgx!vF4i7>n7FI9l#{JsaE z98|pced@+jsV?qBW}_Tf90;-Ql>#Hde@_JI`umUyP6YVXH>U>gBL`0+_$yC+!q2q4^g4sE3u?x72)@90lxWniQ0%ahTrhXZ~n+%^qjkd^>|8yZ3o8hRQkW~ z+V}R?uRT;EtOo)1o~|z3-ZB9>y_M(l;YC@U7hot=1NpbEmf-&7583?*bjXexsZ`rE z&wOq63(y;xn+^&IVXpI;cfas?=t6=+LhAj=K0MWr7YrZFQReI%&ugvJKXC6Ff3Y^- z2RxIxuIbTSxh8*vxPsP91JP&K)+0m=#5lpCqGeT8ibV8I7D%l?7ietHurFS)vrn;>#TFnyk(!Sl{t$(nXtbxvPuz=pF*Pb*^ zO%Jz!GxHXi$JYm4&IQlpempB4Z@TW3z%7}O4r!R<=t{J2Si8xl`cBx;1d zFmhos=!*Q2dfbedgzU9-y4FA@|kKMz?Mp0P-7!(}!71TchrP}*Rj%3?C6!gn|DnOkW^`ta^%C&#L3p(Fg`A9F3mGP< z8{x%_;(n3%7nAj8tpoWl6tf-~O??D*YA^dfVUz!x=2<7sBJ-BOpjClu0+>qdk-lOc zBfcf+8gF>G>)2Kj=NWEm9|DKn*4O*D;jKl@1>D+Vo~+t8@Q%(A!&=nozj(P zDF7T7y1c}Dk+QK?tdLC&_$wts#BVt^WXS>^qm~P1Ldi_BatR^%DzjPSZ%9H|iF#(< zcri<>YrjJG?!B&)$ty);Iqi=P0s!&zkOeO6e%W}g!5vFhHj45@PPL<} zOZTy|$o;0;P3&DAT4ig1p#u6&SJ?P5JG0cfyC2)4%ynG;Lm+TS%BNajqqF?1Hyal!2%jh zmgJ;vbG&WPx!b{Tu{qF6y3ocY;V_@SMacWNs>7T>n1HF?8*x$It$QMNqgV}~ z0$i`L;^N;`(=GL8{H$k%AiSguBD8J_Gkwvu%clVLEVOlA25Lk@L%5%hTh*WYNP?0d zn7bcFa`c61lh}p5;m>^9g>@DNOsQphOp>?3H&Kd;sK^-wgj__*o)p=vEqUGTF^!94 z1ieReO-+oEpQvCImfSR(K@8cv&S@@;!)R2mlq)woC`riyaBlqvn9NWEYLJBi;s87X zA`=DEn2~Of$hQQXj$M3#D4DLiY>yR2VAhTaBCd+g!-RqEG?0|p>VjDVx=es-C4m`m zUc(5_3w@0B@nIwEI$7q zIEZ}XbRgjvQv@CNB^Kg$b5U^6pCla+BIf+-78fv?I(zjW@@7GfDafvL6C@#kCsUJ9%l1h@aWArTk{tv|!d zLUz-a@N;3azgT!DotY0ge2ztj{6e?C&oiE<`VEg3xY{3@6SvK@1rAJVr2z~ zNXtxdbDTeFORt#p$A1TEd;SzUdKm=XP zrMA6q1{d^W>X@KQKFtgU;JmuauDYI2c)gcc=a$nugW;_!s!x8L{E z4mIOT{}?VmaJFK3e(w&z@nZm7Sv0hfM=$Poiqs7aoB^o6j}jFB8yT+uXNa~m6wlHV zXcXJ;8fqfH6wTjBfFU~7Q%M&oU#WH39}984>Mr^eN7>7F7Gy^P2INr!VJq7X1ND9j z4d7Xo4VjNLX{|rp-C@@po%n~>pEE3tr~S*R2bTwk&C*IV3TT^K_4nBypZd=oQl63s z5c0Y_DZK|M^xq`-w2a^`%b!?Q(utHk7Aq7cpXcPaPc|7O_R$)WzFk{cjETTcIndEPUf{m1@% zU1C^iq${wnzw{$O)*JkpJ_puhi1Rp1f3f#}VuIs7;28ZAWn|HT<50@sMD2FJ4Tf5z9~%a243aGXI4Ec7>#8kDlWR}J_N)!HBI@D+%^Ba{EXJjkRs zD_oe{0~Cwt1fspCXSweD3=6DF@25CWtwy3muU%rre9uX7Wq!L@>#z;T)$H^XmY84+ zn}~mp@@@+@1at*`<5|scyw(du9|l(ohxnxJKR#}8L6kM%J^ekl51qtgUuDTWPJ45w z0IN5N?F8_01&@}#`zgRCg7F1ABF*o&d8Q4(6wM;JIBM*>Y2(ik^rK-frR}V-U0mZ#cUd<-fNBU?5H})mezL<@u~(>E^v+)_ z4ixgeLd4GuJH`v^MxHC4{Ep9=uO zPN~d$MM6jc}I_z-48H_6jtxxFj;Cb zoSmI>YcUy=zWQ6|*YJtiI>SeQ{XS3CIiFtZ4ynD@V&1lliJa4F)2y52KJcC)cXzkv z`X+wfYi#u4ospqGUyg)-lONB7YpG9IF&(G#-lxe@t={I)@bLHpT@&IgCkxPS(0_=R zCLlWmi-d^@9mqLDN)NbhZ`&_snmAAa5~2sz8lm=gAdMrZPMnoYe?EG#2qM5jlaT_9 z`m?QIV7%SW>BgR>Z+|mxKS&|+y7g+r$Dd$h`^;g=)YjG(Yh$_ic-JcM|yb2UG?Eplj!Fndl3Ln_K%U$1t_3HwIg8-hPmPNR0&XyO>Zi8TFC3hrLRrS*kOD zKi{9v`~@VtKgq#-sj6b#pKl6z@H}A^OQ7l+b4iz)u$X4lKesr0mnSU!R#OThTEDGZ|IQ?A(#&F}R<`<; zF5jnZ6M5r-TOFjwpDPSe1Yybhks)5eBlK76j1PA;i3Z}{JQEkbtbkP$9|)S)x%-5`2DM)gP7N3q}=$6U8)f#ZA3As zFJA_szY^~)$O;Owq1DdvSc}sNxtlli{z4V)e^=@71;4qN1X;mA+=L=F9DdDJp%l1M4le02m$dGkQef;5RAemo3$P^TGiTj zUd4D&@K|vZ&K4cz)EbqPw;p$gD_6{QX~=2b;pYT=-B?ZTE1s<_Au50gl?Vj`@K+W@ z;PTM0LJPDDd%Y^OxIWu1mXJkvNEe$k)i?8rbZMLVN}{cIkjhhQw@pf|R6v^>)ahC9 zc{tx*xzcn|ik_4XGX}F`hTk6nqYG3ilzD8U8`^A73{BVR2WmvBDr8hzjN?Av9P0M* zbYFMU?+TAe~HHq<{Mgf>H=hynj3ZNQLcOKVzYHFtE zL;Yf-XULI$i)=wamlqdd8U{@OtCp4>wN{LgWE7qHIm%O#Dt%_t83z@0_3!TE)HtY) zzviHk&ylei9pG}qzyz88&jb-C&T_Axs{3ZVq6ljKp;P?)p2qDER=pF+lP@Jyt2Xl+ zP-R*LwY5itT&40^CTLgKX9Tm=dY#AX$Fl%C5V%1mU_5&8YQM7ITtO&p;`lpxLXB7LswZ1?D_)|Tj*fLZtJkcI}2QqnX}7(5!9xkgv{ z=E)P|atuM>w{JjvP|!>bTdU-tl9_W)DejMQ5=F6RSNB z8#tZn-_@28Rg7SO@l+(4o-Su7DJ+@YYH8^n%1%rvWWq9%##joGfC<~@;32unb>L_U z#Co2Hzs)hkM`lN-BwZNjtsS{;(jWHhJprN(b9J8TykUC_O$`sK-Jf^Mfe$W5^`GxN zR`voX9e_od;N1bA{LzsNs`UT;10HuwpdLa8KIk#Qe$0x1pY^97|9dS2{|o+1pMwvW zaKW`_9)C|zkcc|?AZi3$8>rU(Sr0tZ_Iq1l1a|~=mze*Lk5W0bu<&GgS$F2)E0}YQ zR*_V;9*Km%Zxc83G#x#=@2gxD=y@CN6IR7qqTS@%5>CjJ=SQPl=rcSlqrvUm^>y#; zs3!(1orJ{Y?6_0-K)hHJNDp>K`MDpR9)a2+T$W!n1Icd{9l0tjQtB_d_V?76HgBXH zZ*P_B&wu$@CbN+exAKkD&}x?>45soPX|qy{iw`=sk5w2Ag+CD#(%I?IKH?=NUYN}f zdtSAhSq_v8FxgAB^)IddP{+gbcxy&$B$fJcYs&;mi=XQI?;*&}c}JNbY&B*&3}>$7 z)~7uK0=SV3P2stg6Lz4#lRMMf)mRRgj`SXP3(Gs%Aq5A8U7z>#h+{cb^oTpk6Wv&? zMsS0I`Im0~z~@5eYgNX>>T2ZO87-FP1N{eK_xvA5vk{NRzI(D2OG-f{gW z^h-*GXJEnrxf!N#!nw39c;W>t#&=z`syf!juoT8vx2`69gnVv!7Jvs0wC&y%SsB^8g*=PCmlE$YPZ?gA7#DXZhU-8}aF~+)kfG|YA+lVNe`c-*ycP;xD zQW3Q7Mw8&^(gOhsulX_tF>v>_@6 z1{GgnUNai|m~ZntN@04GG3zOEry3A$GrLxjoBjSDv z=JSr&%A>qWghjqVu+NoN;z@u|vzlcBXCDq3A^v74hTVDvLqJJsYbKK&0fR1Jmc3-T z=R1_kF^5y=_HIAqG_0mA4MT7_qchf4K1T!kZOO&K3`wCpplO9)96&{~S#oBH#=x+b zXm?*RQ^eJX?0nu<$k%%Adb}Q3Tuk?L0ahn)$PFayJG}zDOI`%0kil=`Y4`G^bu=Gu zFi_HTIwVz@g{XtO4(_QRC+TlF3R+t1+}xT0M)|ODD=Muz2UgQHQd_j^H$CkPV~viu zFT2%YVMw@amOcZj6+N0k<{RO3$!l+^yDiY~R9ZxtagO;skFkxVQ$pF?9@&M*oPC zjk2+^fh26AkDrL{%}|z9QQUL;dO#zzjf{v^yC0P79nVC5uALlT(_rtl`Mn@2n<0RW zRx(g(-hFv$+3)gZ0_pv$%Matzoj5!<$Q=diA?uZp%I%-&_7@9>8r(#>y1GYRBucYv z+V{SXM5+n*(&!e{&4D;PM^JPM6fW0wwP@%7nDr?4@Qh%9 zX)`WPX#9@VlIN{d^h}9X69Rg;t*r3CFs^#Hv8A2Wy51EuqV104 zw%lglPsgC-CI?^8sn+9jV-3YvhVZ=hE3^2H4+-$^yC{&$#B5ZijU$Pu<&_qVREGXc(;7p!Qw_U1BCkblklD>J0FFMKBi+^1mYb^_%X%wk)U2g0|GGSA#rR2aT63tExR$mWU2 z7O6GAuS?$n$=Yy2-j9Im(ZfiRa~d?s=Xty3CrH+oY{qJ)f3QzbQ6W$%579|xFN&Le zjR6<@u~Ho{#;PpJ5$nEu`7#1TaEesxGy;rPx->%hM;1wAZ;M<+f6Z12!X$vXD|{rE zU9Nv3G=7rVW85iQWI$!1vHNP4q8ao1f^VXH%onEkGW7Sw3@_yHtO**GY|=ujEl8^ra>?&IuW2 z{J(GG1Q-%QCG#k1-N%>D(ZPMsF_6SXk`sjRo<3kB?&B(!hT!Z;lk2hQGjgk+FqP&r z4tu^o;m(%&3sif4qq1)bdX$YZf#5lpZ*$7M6p2Qd!oSAKb})t@aomaI8PmpiJ%7wV zD*ZXdG)0rcR*8O(3o;=eu8mQfib-2znWE{$K}qMk4x*P)w|>ojfp`IJ<1%Rbv=%(V zrvV`~#=xyBD+%${{PyqpIZ49^Vki3;70Z%ma?W+gl-DNCv@D zbH=nlR}^PO184N(9{%$6K8k|=B^5_>j@W31P@KUH50<(po326Ii}LJc*zAsBzER2~Zjb(6uJ zFSj4(^jst1y?N1#)yK*KQ2>#aeN4ab!SO^FMvEk66~+waJBrnk*|P9m~rP zao8L!*f3h8=AT+>y_cTmoLs&bBI~Kv1l?Dz-4|3~(oI;mAG97lgUH6IO#&N<`)+_z z%-?GwEU2V;O2mbBe3yqUO=Z!XwNfXs^;hs&Jc}%iNHEZ~xvO^S1Ra+Aa0+jQ62h*+#EVatmU(16hsX5wZUZw5Xgn1Q0 z5RQQmO2iwW>K{#Mu3^YEgVKEK0puJVGe!yDjY}OZcA_Aac#Su(h~VY5PB!wMJyYr0 z42LtMRZ@aU_rBiX{+O$9nXdRvRvYI^yV+X(R4ss5>z9M6yg-od zb<w|qlNdzbvwKK?V-9b)pz|s zlyZZ9${EV+JO9DP4`bFR8#B5pO|DFiR5A2PuPot}2SWvg%A7Yz)g`jY&MKU4HN2jX zR5k@kDgDe1W*00}jwBP4rMrA(h9OL>^v#~P@LVHrN5T6^aAI}Dn59XlH01V`#jr?w zG`wyI0VmbqbJun8S*GmB(F^94V+wmdf8&x>8l?`E)YEeQ(0eB(giWMI3v6b#$g3NZ zHrA`{Lw@STq-YF-)xN>yW_eGz%57om;+gjeAHcKd?f)ho)EyFgPqQ$eJacmPEe#Vs zFLb;q|+3O)Y)Y zhfi)u$U5}~zDxMq+ssZ-uGdNU>i?AzDFAq=)w9}Chm4#={t;h6xYe`Xy!fc2>O&ak@BG`tC@nUC}{a zO}5eE3Ay+HGQT`Ap8&TQ17h+!M7I@z8#m*rVzPl$&fr&}gf}n0h|rjR>1wt{!71i( zl6gvvHIUK@g5YR-cP7WUB!w)^R57ta%hATS?tQ78BI=ByVo#lAG`_d?tOiC?zgu$j z+sbW&N$*piHC*T{f(++CS4}=iEPMXEKJV#oLslJh^8&dws>Y8VE}dx4T&QI1JaXrY zPTAd;=^1h3u>-8UvZ)-D_jT@TqgI^RA_C;O$wZ`P9L^hGkcMo9?WW5wy9*%06R`++ z!R$;~-=#w5LFh(5kjjTz0?k#fA6yPrX3A15RL&}ZC~$v3q@^9rTY!WwqFx+#369wa zr+P0-?H*Iu@%a;5jsa@%cy%gT2ci`~`zC@7g8QGQ>ISPB(U8*7&5x|MvGl1jrY>)- zPQqS}6~6>M?gNdzjAU=JPFxo=QoHlQ>IA6r+|a@4P-z<4Bp?o=%9^(Clh_3p%HK$T zpewrDDR!VegPQCH-YyFaPjr;=-*|2|-)DO_*xTEeLq86T@}uppWnRfF*hNNs{VU0q zlmVd8Y(u>ZoBAfPCsEl4-wO&(Vq$^$od6$s?(-dF%RxhH0^CDYb*6sN!g^xNrr_)6 z_0v^LzGYhNJ>~fVg{frYpYpUzJOH6s?O1A<2?EP4zN)oQ-?G&A^|6w*ouQF(HL#dhQ&9v3_yOi{%g!gO!P z#CThmXOV$M;Zm&CGhxE+T*fXzR@!gm1v-pKS8Ri3Tb`bt5lG&`iTPvs6cb&j=4gSB z1AS~)r+Jx}x)K@PceupvpW0u(T!g?;`!k|v<&M@9O z`F&oq_&NDF3tDK8&TE&1LS{cHrD?#s5{}=a9DlwwnFV)uaoQ>Tgha3q&rWafMb?tI zH$#a|Q`mFnSL7XaY6lwCgpq1mD$=_kf<|*4t-sfEWQb?{DJ4Hdn%(B)#1I{ti`B;R z&5YB!)o9m5eM+gpz*wnR=OxfUw)s@#tg@M`e^tZEww*#ez}%K-Z|f>atTdyYi5=Bn zhYQ7~pWqpyS11_&V*kB1E>MFMg;-oz{@I(tDXSeMPHUM0qXsD@xCAVd+Zrk+C*MfPPP} zLq=fQ(Ti$GjI_XQN)K-Lg&N`9;jD8kH8#sCq>pVAyw}K4kF69u!ZfZ&i-XBJLpoQF z*H>^&JZskcObd%6Skt|MnTPdU=E{En2IPK;sTu77y_L8-X1goX0`H56<`fN9mIi|p zx^ja2@jOAGNsS?d;Qnr+x`>$Oa~nF1)lWP$TpCL%yHIk>z{CL9FcHI+fcE1^e7&WT z^Cby`y3P@HlW7?HGyB7Aguf27!>BSdPMe-Qf;0QG$!b%VhMb_y5DyD>Co|Z(mUi zxZ8p&9edOUl4@5*EZP)X?JZ_9mE>{I;QiYb+B1F)4Kew_qja7Y#I7#o)`?`jocX%( za)@Cl+pkL;2NED4CB|bY{?u{*$&JCc~~?M6SFpI5B) zhH9MR_Po0G+sdfO32}c-FDtgAs`SQx@b+Tp2|Aq?I%p*($qYf;W@WV;!+aqt%N*r= zd6TF0i*s>l!xPX)5-N@1CTuqWtmYrMKG=Yqg1Ix%8n~{4ip&oX;LH*pW-mS2{ilybu#aCc-u@9R>yl;A(2y@JeEn z`@?&DKS)2l&@<3!fP{ryErhe|wZrT&Q<)7piR&_L)_SC4>&U^7K9l*9b4AtHGz5Iut$_)EsphcaW(^yK+1 zO*>v)Fd33q{11QR0bKp>!lM6g5Zd?<0HM5p1c=V@domAy08Q_&UF3r~Q4#r2m!0n0mSD%)JK`hIKCQ-c~E?P~Fgz6PWVypSA zWlleF4X<@>;eNWbGlTpr?S1r?Ur^AG%QrbIRh3&T0tQOtpzFlqYOQb+IHixMG}9kk z!hm+tdv2zRn2Jj7t`D^9?boOj>>_1ug(i7WEoIjciyN@A-NOxdhK zyN3hx-HOh=mub< zOTx{lX|^mZpvim60co`s6${x$oYwEEWpESf@5H z9?ou$K{hoMAGPfI)c3aZ%Sl*CQ%6!>;REcSk@T!9 z*5JK*@goA(2DCCEpMY!uoFN2%5;QUfBrv24>!+9l@gb$9uMGfh(+G#u5rxo6GR2mKBYci>H&6t6* z^>uYi=1J5>4}1O}=pl-?)^MiCv5NWP@0F*tw6qPM@6ds^RxaDh|5vvC?K9>BKq~M` zO=Y~9Z;bQ^lgm)TQ7Te@{`l@Ov-nY0B%Dr)KffW}JD)H)fYt)|1r^}lN2XmoIGB#jAkFqzt2CwIdrSF4gsg-$(p?y)2oRCmWeixXYg z!WZ9Mc6c5tM4W$b9Bg#Gl3&kX9&zFa2wn%rR$R)4hqb6UQOAH>r2wtKPGZ_ zKm2u&D@YNqfG)}N4WAiu06F)eTFvCz$LcD|<7zNVL-LP%^eGfJAgb+_oBdrzCEf$) zF`|EZ8kf^%y|ZyCD;uF0x9*WBo@{~CNA z{J3&GEQvy}z5guvrM`HWFH`XA?|~j+b#Zan9GqM&11$(uY;0SMY3PAL0Z>2@U>vinx?xNzNc^>$^ZY(n3S7#8q z21D!p=g=Zz*t9{hL%6Hbc%%7MHs;jiB=JFG^E|uJ|NP@?TM3UrW4msh*|?z2mX^nN zcTLU?U2f%Oz9(SxG5;JrMSnm2ODNQ{a^@2A2k@J0YO*}3in=wJLfQo5rhfn%{v7vv zVuJxBgy-1s>TE(__PX%V8ID$7}%LM7FP??xRNM%7+l8NJf-d>s-w4dVFUd$?#sig1)|27|5yle!wP6D4@VWl zfGmgoiQlZ%UW1c-g8_8|z=wTBxX$-(g0Tiu@mNZk4f?#BfHTNXTub0`@v3_wQz8*_ z&iSs%IP;2d%XqDpTEVgKwug zg@scC7?A2**BKbJ8t4+`vu!2NX~GshrbGVg(cE$IS=@64Q z@mYUr7EG55o~~RBe+5qP%lDn*{Ss^(Ssr0!L6>LT(pS4!h7L;{pIOh`H;Eu-_+TiVEclWVJ!98W%M@ z{NniF9k3SFRDtK@s~2R`e2DiVVC4#Cb)snwem zdbtPIC5PQj4bQwM$6737ir5q)2B4;VB}l9$c29>=sntMQp+8HUxOf&0jiPsY%|(ddNv$OL)_P_MigN($Wo~#-^r$QzH*_G&CWx;EvhN5s(+q zR8z~>Aswys2bw2-HX#0P)XB!KGjFf$I=U%?RW4$gqmQY#xVHHuSL|M~U zGGp*5o~9-e0VfFBWy1GUKOvI<6RVnRhseOBRM2j%+Hy9`-1X=Jbs!~xz`+Ki*mPa)4C%Y#^J znkg`SD{RG^Bj0S!QzVH;jeh9$#j}arNk4@GAiRyMWb9}gkd|9|dT>EgJ+Q2%o2K9_ zb(&*lSS?2|&+nRUTRgk{B{*d07M4XQt!S3#X(K=tYg?U+0=Y|&m_WH`3ie; z^-BsEk~yYWk6*b%WguI2?;&H)pD2E^kI}ojv_J|8;`TM$-6^$g;V~EtR|FhI#pSJ0 zOX8fH%d0Cu=#%jkCmnrh-slF(LSJn~gKz?C-{j!3nC~c_GNBIT0OgloUpzBKt!S8< z{>Et{J3N9v^0i_B2#w-d!94|-LsZ5ch~7_8LuQ-oUV`vkD0te=fVF#|NRuy@#$U>t z19(ofCq$?8REuEr0{iF{E`Dw2leX?<_ike`Psfb-IG9XLp^auF?+A@I8~Q@&_skGU zWBxo?=)DTOjEI_A+-D+rk|=gvzS@vTzy(v&!Y}OraGKlekIQ_9g_`?(94=SinJY`p zJ7sI!PRr5YdEKv`=E&m5UWZ{opTM=NMC4sWfh}-Cy>iy&1BmI%SN)nb)~s$>g%mr=$KOtk95zNiUo#Pgj|{a=h6{pDlxbG?2_k;T3*5Um#!oPQL-=AT~7p z{QNXpu_a=-&<>Bs{pjiXUP{4a#_ciSaJA+*ghff3gt|==#|>AU#nO zptt#^Z?I|O!O`V&92i%XhNojl_C2?jo4aa`b#gr`g4XP-wWDP!pSjY?MbeiQBK#bx(Fp75r^k%Z!s zvEKXqUpcuDW(-AGXvfy8mN0=X5H+19vWPU@fV8JCj9TB*u_rF~wNxY}!F-cz@NK=r z@@nAv;U8@2p-hqIm*{0+9sQi1eg=wo$}l8{jo^ChYR@O)srd>p1L|n0R8NvWUT8bA zk2k3g;u1)nYd#&8%O^bW*#5c}zDGTS`lFgQYt`Dy*FWhN{?8~Xmd>Nq2eIqJY@I6{ zxK^0{OBD5?FU>=tBdqkxpW&O0T!WhYR8Yahop#&;_J2fN9charZ^-HN`2Q8m{g-(2 z-vQ*&rsT;&p#Nih0)oZ;d)fWOid4GT^#Ac_mP#DQ2oDc;CPIFjt#57!YpSXFwCQ}} znsVn=ui-~@F8{R(DS^hj;9umWikq7kZ&&3KpLV9KU z_Ym_aAU&$NPYL;J=qKX;$aCRTRK~latAS3c&SZ2A1fYZ^Iy|gfeEc!W<2$t%n%Lp6 zV7F&#KYTN~8Uo@Xf6!NF*Paq&MC#}u6|6Dr^6o_0!>*kBD`Qp#@!fFNpdX9zNc@~` zFBlcosr6tC$m;hG<`*V%;XM9M7wJ91euq~>U>4xIbQ>NXfRCa&C?1F~ykDUNYZ8$E z&ECwTelVC68koIAB?P9+{JP#gu%^}eAi?XRbmVdFarGhUBMt4<5ck2{5lGE-qpXF4sLzUEXqn6^se) z#Blp~ed3iQN@RTeBnT#M;oK8oh%ama6C%q1TJnjC%cUWlrC5W%N{9Xsx-xePhUduzD7-mv#7qQ7nwdJ|Q3DMaCE3j6|<^C9m))Nx>y(AKSO5j#W#zTrU zB%j153jTf+HlPhpPILYM9qjh!n?$9hzfTcR{XHa8;>_g;N`j;$tp_`}IaweVA-#eJ zs(pBb7tqppnU{e8cnkOWV@IqJ{xRv{s~}l5NC$5K zz%2aVdHFwQF~qw7G>sbtDkOBcc1jC&iD@<2!?D8>^!NJ4ho9n}{Am-71qh&lrKO+n z`5Yf@PdF~G_Qp={{;{x;!AAJk(vRhY1t!JOe~46S+}!~x)#GJhuJ2W-UXk%BoD>+n zQuA25{O;UuYG0_fz?-F(;!*uQ9*lRfe2(y}d968$HWseVcHbB1Xj(cto}Cl%{BX9k z)Z%d8Yc}g}Upr>d{*`HLgG9jdX#dIlz0tlD*vx;xZ_hy-BVOM}4Z&sp%#lI*?X~-W znbQvfe0(O*vZF7R8|&S>^aq#b>V^9+g8>*nzcjf*AP_yd&Nv(5D0X)~={ODqaC8E{ zcw(r~Pq{p6!jRH4xaOM+ucQ~^ zU=Y)t0)Ac4KR`hnL~k@}2Zzr0gBTYXMks~}adDz-`e!_|4ZvtMTZT1PzmF4=z-)s# zJ3FjDdawwvC0RE@)X$**h9#9+DWuNs3O_u&Y)m1BstiOSetr*?wm%O`A!1N`L_Wr% z?+AN*dw901xvKXH6CMG~`A^XF#M>g7iv$#iDs2E70UXo(*nl>l*VMkj?G$l)+;Q=j z$CI9>S8o$NT15gsALwXv+Y9K)K~x-_mT#si;(C9O-%*`Ev5R z{ZNTGj>Y?5Rjw{81IchGM0~*ZMe*?Woog+MP!+0~x%p6|5#wmFs;Y{~T!YmUDJ=R{ z0Om*82b`VYaX<`vqM{doF&8-|V-n*`B$FZ~oo*%9ywTQZaq>^ifTaDyWDuhi zSZRmOHyW;v#-aW+#IsHB27VQ#A5Klw)yZM--1*%hr9c8vuWCZ`>aPDs!L^ z913vDF8{c2Xmhi_%~WH3S-!>baQ8g~pMM?*PoZO`qXO%Db4;1;_l|JWV`CV-sxFJ5 zp@>@Ld(ISom*Shx13+(A>&k6!HkUum`M{6;a@e(;?#&M>tfe28Md`G^LlW66ZuIVf z7R@K0)kN4y3&alu#mm$?w7R8kNv{L9e0R;}B+p zA+f^RH&=;e7iWo1dDi8W=?iasWHn(5e7)7(S6>*qMq?0+H?$Xl6wBB=D&6^QrCe4R>92?E9yJR8Sgo{ZEEGrUZ2V9(js3;~zlrb^!$PZ`vYJ}8i6>vF zfMMdxu#AnAS&v$)z((&PnOu>x-O2upW}ZFn$*LR>HbCaM9iX4&!UT7Vm1+???k~tX zf^mX@2TvE9lcVGB%@Ly>(p7MnoEZNd!r;S@xB@km#~`;uxJMThRn%;Tl3lmike2do zoL&?niQrR;RazzCvn0;2S8sI;`eTp_cw+U7svR2EHa+91-KEd%oq+fPTL$hHXj>It5(*Tq(~K!!)+*ed#L%mg&x|xE zOWA%L(NGblXb%$*FZ_m%kM6hM5v*vhSZ0m!`FuIF9A zht(d#8@rR-@;h{J6#r3Y`FGS8E0Ak9W6xo8g%0F45gRR-BLPq4%_GT-Wczd*p3ZUG zd8Ve8fGw&F?|*9Ve6|@#_VvYL$Ej(J`#m3}O!Ao^U@GPTx$`nmEyrDTHk-n3erD2p zlpg?SdW~f!yIi$*gB^CJk!Gn)tlmc$U7^0nc>0l{C^}7!A@jN?LJtN3>8D>ke)X*O zmRST>qa}QPvqh_QpJVbW?_nZwRYB4C`@;dD4#pw=hC135twj+AO~YvJYy z5Y979QKEhy&DVxoA4m!B)R{=B*{8^N&Q~h($=u^>7?t#jC-!^&VI2lx%=n+N}g3ZsFWkq=^p8r3gAExhHX z)@IcA;iis%s80O*)~A4=Jr{qQ%!)TtZ4v$)@=8Rh+jf5p&+E$7!@(*=JUbNLTX?eE zrZdDb(cjLY4cJ!QF2dog(IxQ{sW35t4$$-g==1?&v^>$&`lM+e$1`9bTnw5m7gWw{ zK!XU!?Rz?nDkKXW=EeCr?)=4=uzv>(i>QknpAR5VA*fs#2pAaU1o-H8Cd0|Bxn1B~ zKo2F9vom|OMkpPPxff_YvwWI3fz8WvmoW_H4uLeSK&kS9o#+YVndySxM5$EMVSJHs zf;v%%?q&$#xNE;uHhMj&v)}gsI^y3s`%Q`=p&V!F@6spBhu~b!cVZUq_2f5aYgd&@ zX4ozDuE&eI;%Tw!&Ne*EHLLUvJui<~eZkqAKk;MoaJg(?1`o7|6ZVhDT6x(CY#d0j z5-9(T8~mBapurz^8s+?+&3A5YZe0=W1Xu&9Z)y~U zsYvoe(Qx@egD348;#5M)6lRqMVTlH(Tig^WEd7&7E4B6Atfx@ghQ`IUm_;wwAVMa5 z;D)5swD3)p(RO1L=lObnw1+QAn{5pPZ(Z-BpW`6d+n@6~-x}*#8sfrP)t|q2-2p*~ zQR&Bdo?5l(8$ zpi@y*`Rng;4Z;XWIBYQS!V;2fQ6D7rI5tT*ph; zGx0#6)#VM+H}!`+aN1DTBP=AY{JTNBWNq3ZaNP=jV`g;o7t#J%hM(qxw z=C`jqKY(I0sw>*x+k8TxYuGPO5=0Q~!0Yj~>k<0J^|ku6*h2=&jPq9<_O`Du^0Q!6!1em}^$hQX(y&*x4a_DIq7w)^nLgZv#$6nrgUaD} z{r!rWsTrV+wpImiAMDL(>hC86(Jj_qQ+LW}!6IS_Udw8)auQ+U;_e$Q;m4h9hdv|n z?-?^$TG17Y-feH%$)b#XX_qVT;TNSb?s??m%IBix%S3xw^Vw%;m%dC|0 z85V+u78E;}+8w*n9ZOWX#p=DD;pDqVD$!kgN3Pmx|D4E%pc)8iSWRN-e06UATe-{x%q4;_J9&%f}8}1QA0uo z09Og?uF3Anl=X_heL7iq2L&>CwL#Inn7w&O493G5yX)G&S2o~jO-+-y+>o#aljXT8 ztt)YJy!hkQSD?`DBdUJp6 zT2mRlZ*V+&I>T-*Y+yh>Tk%0?K~T4qUPyGRNoISZ<$Nv?<=I3jlfKpQw6ej#Qpm~X zT&dGft|-vEwYYe5F<~B=yXxZi;ZL|DyQOvdY5TAdHepT1Wd0n$T`f|_3kS)g>k?ya z(d2&gbF46WBiT%;#1|7K+ATv~Wn)4znw8<~GC(2oqg%fdc(E~Yt`<5a+IKCbV3fkl zH#i3aBM_=+87p@t%$C3nuUV(#?qz&*d^%e6jJx>am?ZOdBa?|*yh8Ir2re4%%D;ym zDi}r-I(Ef2KiXn5p_!r3sjys^<*9KHb1Sa#2)npB&VCEr)4Xq{Q100gq_FzrLkv?N z3mF)8BuBLl>wMSU5D$NslOPjRG7lPWoQ?9YxS5XUg+8c3#|LERCj&nzoHX-+ zjve94q7Z%Cg#qllf!xydL9pb73biNJAdB*aicz8}R!iBXcpp-zmIZYtap)~f@- zl=RbG_Wm}8^@GklPB&EDHtdW2vG6XmN_hdfe&XI@-tR{0SS3%rG-iY^6e{d_SFx`P z)sb}<9P+Uov_I+_no|@w3?%UsH&DJK&bhgU>Gc5C)S$_C@O6(h5wAG8;ntx8K#vYU>#ydq4ZSH0)DB z1w6h32C&jUxA)}ARpP$S$UwzMLn7KA19YV*44!0{v+x;wZfl4pTVWv9C+_;1-+_Wc zOg2aRJ%`ll*>u)xM?VIN5>HbU{k7efswhZ#U|L!Pk9fUc7J5@DPWJ_%{*{^zT8v5D zUZf&{4;dd|0L0$MY>-dI-X}#aX(Tadb8&ETF3;72(N3|Hy2+ODe#W55#uYbi^ zb&~7_Xpm78OTT~X)o|1k7ZuO~IkyLQwPk+DSc2X5H-pV`ctoVOMi+-Les>Q?3~0xV z^wr&*5;s;P_XiQ5U-JYr@{RW999$eE2e&R}Y8AMEk8>2aaqS@Y%Ry#5_`Izn4%nbz zjfO~>{P-KVK=uy6WMq(PYnO4mgMpQ=b(UEzIeyS7?-6JoE=?&;a&x3vRm6Z(PRCy1 zz4Ei$uSmeXqu%QLjNYkY*5wCeXRcP}*<(PA6nWrt>Tgqm8n@FihJa6xa@l~X&#Z25 z6~V#Q>hq+V?YEb9UX=X?jx3izszQJcWaUstHL4f83uNvL*?tCA4yw~e;y%CLHot9Y zoqBU{(oJU26^8n)>6UQh{(>Ly#1v!;Hb)!TG5ZoQuLCXSt{z-eXH{lx&+vHA@fv_I zan9T0SLn-ZJs`EOxjr|qE#hDx{f(OXR{R3%>c$6=4ESIG4V(9k(`|>$;`Lr~11bjE zd@i5Mk@$QKJaQtN*cbONXtESWnuopjspYZmP1_$2Ha)5&ZNOo+X8CZ#BzRggp1%Mg5fqgC zrBW#>1LWI_gFJXAOy>#4QTJ8 z^FEkhK;PrrZ;iiv6-x9oS+nf1K&#FA-`3~Lu?b*R$(q9Nis-`4ZM!*#<>4Vn z&83ToPUD%+YWi-hy!{9}aNGFX2l~>F1JalF2(;#CI)lPQeh2anGMk6(k9MY-kQsG( zMqG*{cdp2$NsBFeu?C{wW!DfYmnf^or)2LhczB}$WsJwcvwdZ20(Ml{Ga?>3HZ%7V zxk|=%PHHIUoKkIwwu`_Gtibuc@5Ph0tYahnl1hZ!!9Qu;buVdE-fy8?3 zrIBoMSTlY{^lL~D2)R#j*@M|dq`V&+_NXdBaS5#6tO3aO!C*jLk+R1!^mftc=5FM? zhmAB0hrAQgvs$%hR=W+j;~Dq zCS@3kHRrN#-CXW8*a&|Oxmv4FWjc&?=MMzjh23q{BgSRVCThHp5Ls&`vsYL~JG12y z7O4lKcEE|^sN?NHS0ajGud-5hD|TH`uBZtx#{ee61)o_Cv1WN-5%Y`v-y0hG1jRF_ zFN7@~UHIeOgR4nxKhw7MXtKer2&tNIw)yMyDeimV7EPsf@&=ts?J0NFRW6~bddp}Q zUQAyyMKuP=kA&!6L-;Tf#SgZdLvXY)ePCyrMaSb>X^F_;uqOe2e1w+e*1=ulk*LhV zWtd#+FF|}P)F}Ue>`+%mE1t+Lqe>eY?{6w9Km7IYWqr_g5uZO-Z2jsz!n^DiW6{|3 zvyucI}Z?%3^*5W$`8wN|_ejh=8l zzGaN#w+R4b)D9y_e#Q6q7F*m{ip(GM@5PDp5$<^%nsLwP?kgNHf6EhSW8WGzhm!=`uk&D1cy)K2PsOp5$I3_8?1Q;y0TzDzr!0D_3{ zLZvxwn+YAtP+Xil@|$<1JMwK7808}g9lX269LY88qs4Vy{RV${l1tj-U-I8r<1=&a zf1#?CeQFA@E)#{vVZ@C#V7}NceWxp4rnFyo3c6wie|h8%Tm(?XUfiY!nBYApSzaE` zS0%c;yVKx>EW^fkm5BChQs8Wr_V8I zw2*uPu||dsN8^A)6L?RZwLgl0^)FZi1&AShPDg6=k`%*YO(F6^T>~$E&fjB?PzEW7 z(>(w1R&0H*Q7K9Z+*(#w`^}Z&gf_P{NVs==F@34XE^uPDTl0#6X%K?}<)Y1CC5t?O zc*5=+&*gcC&~^1F=V$gmmv~iYeTjz4YU#hN%0TO%Bc`z5qnwMB%1S#5?Vr8X6W6kl z8{AImt)Yxu0l|z!9agDUz|LdH;b;mgJJ>8>iHnU7b=2X7R>ZvLO zoW_PI?5?ox=b?nNs`6}CqjEOb6PMxbZonENYKH|KYVC^FV!gQpyZZ?^WYT2F-qTf} zlaL=3gI-%*31m5J3;lE4*?U;1sS$PPs=~>&*CHvp74C`nrr|}PsdohFq>yN^3aT@j z@#fZAHtG6Psq?7AV=+<+OReVYtYpMI#hjLe)j&{U;H}_?3o6U@4O=`O9#+F$h&-Cg z?V_S5RY*}iJA1)|=%?v|5&+3pFJMri9}&qzRCxXo@BwK&Ul*_Y%@Uy*=Dz)gc7=lH zF(!pYOA-|~VX(KJt+&S+9>z%v{kT}TNfRs^%JXxgNDC3jy8>-!i;c=_IVlID+wLwc zi*@HQz^auAP>Q zjp*AI3LMLghs0CeZVBA()|6S~rfoN0f4YFP5{2*9rGM2H0J+l2$`_v&djFinpE7~T zIO!}FNNr}Q5yG*dxtghWG?G%OXL7*6W2ImBwS-UDsE5g~n)n!N3h^zWp@=MLhEEjl zzZuS)#c|st1TdqDy4}R*W1vgHOW3Mcr*PbKx;akdAK> zN<1_DMTCW0y1P+x2Khx&p$yt?mJK?HHF$@m zt)+PgL~W3TE0U7yo@=dPvc&AMZdQD3Ymk-DM|goy#s%$i=wzcul=(Q3RUgn*>$Gdq zfT>C9WHM%&CgK$TQ)$ttmR**RKigzs!vSZc-#-o&+M$L9bw;8n0yS@4*wx2b1vy`Vr_WY#}=O5u%moIrOw z%W|INx1WR|3~#PeO(|-dn)yZc^7NIr&sWVPO)K6=`u;NT>fe$)MI?bL(13$$l7U(t zUSiizxfe4pfk{FC!-|;x>(yAIF-G49u@jI*zNZT#&oa9HKtvxP?#2}J{iOtVflfh4 ze#y}_p)PBe!gaRzAzA_?;)>Q3G!f_*JFi>C^&DN^Tbg| z%6!6vX(c8bM)ks>$zGyCt-h57Xyo2?CtDyKbghK-8NCN$)2~+)TEj3vIh1)tPfh0S z9ZnS5Qisv2giPYku`!;bn*`t*gWeFzeoYhV56t!vT!;N}q0)#X)HO8vq@n zxXSAycer$cs=RAg%3)l@1a;>MyP7h9rnH6Df3Nk(q3*3mm=nYM1V6ijHa~cNGeGyv(CkeTDTN-)_7BwZSH`n=2U>a7o zDZF}}F1cN~^=Sf)w#1cMhBGdUu_xz!&HJduOq1f;51vDkU3 zVC^lhhXy&c=PO6|#a4;mk6VtaVZ>ne-QvIQsG0LDOL`LoDQAf(A@io2^FqLYQh*LD zK9b61pZ27+laq%HK?_zRX`J)OV&7lAOXpVogBMznS*eLJDK8J>D?H)TLAzVM$UzM| zbJD(5b=u0}r#An*O|Mq9zo7ngn<`{LdUQ)6xGX05q;Cv{>`s2)VN<_T5PxG@wWC&P zKtjm(IStcG;j_wCw76u)9Cx)60lvg?xVEr{!v@lztuZPgZU~T2=E8n&(g}BNbTu;Q ziju(ajh+MidE@lq5b1PG4|)wUvEo^pX<-FCw(COWQ_3X`0i2hqQA`LvvA7cNfJ@!k zP5jmQaQiU=8npb0Ou?DPXzk+}w|> z9Y%MTn)FG_k{;n)^dgc`(2t)=C7Gxd8fs|7Eoh+P0b%$1IaU{&?z$g0p`>YNmwTm1U9s+|IPc4;cv)QmjW8udYL#R@{b$17BE%dQu%E{ZM*|Q$eKOm-8T5zb4e$hBVnJ&nns1i{*Z8iw&a{hODU#_vss zzL!D!+RHA2!(lW^dHMD@k+|{^dpQf#eF`%MsI;5j)^#iOeL9M$dd6JaNe3j34-Mn0Vx)jCi&Anp>Cy69R5tHZ&;&O zV*u4m&4*}bdxRM8u*DFWbdqw~1ypoKWiG+KyWxkJ_T~#2!!KZ^_~DS4EUK-V5j&`>);gH^ zj@r=I_FB9_eX+V%&8Y$2x%lpP_#0KiN}CLL5>})BzCV}XUi-y>Iw};bK!N0E$kAa@ zAH}BHW!7@^EG*QWDH9X*{cn#K6q*~JgZnT7nhqgtvzK6i`i0emnXgL47UYVkQ(zg0 z)w(!Xc0we`4N2?2b?+HP*h|8bkQ=8#NXdPmB*K2X;GYOQw4ySX8BBnO=VeRCMBu5G zEVcFS?nOR{fUxuMW7j z*qcp7nI%xqD8`m3!8UPM{ocuQkC3ScUkh77@_~?0ql2^D3=8}Neg%mb{d@G_5xgPb zw-U(ze|=0716r=_~H?N|(Fz)oyvvT>aNBBqk>I`K0~+_1R1b@aKzG%25Kc87y!n$=~lsbH0Ir zfdLp~Mw3pZEz?a3U&nRo=MaB=_t#S)7eUuED>7%sfL`*eSW$J%=&EUyZ24;Y{JtWe zmS-eeqza$&aAE4r^!4gwa@}d`vKY$PIZ(NL0-i-?8qFI0(cW4{K!YNmmCZiRp!;6A z9w|@0o&oCVWwkU&=Ff+vb6y)pYstrAK7~6JE)O5-_rtf6_Hbp0EOJ6EL&+HY9`o_z zyXkH4LYI2lpKqDExVW&G&b<&{V^^>@-u z;8uBmY)arT`y!}yWx2)Qb;BXx8}D#y@0_6a@$oOJsFeM4S#AC@!iOuK>W?eFirD+= z1x|>v6eh{RWyJ(xE_*GuL@_pEdbLPrG4H39Uqrx~P9uo&)90nH;)zuRb-&Mw@YJe4 z=>(y4iovh;L}ESg{I8UIEA_j|q@w7)t@x&Zw7hhcldXg*TO;Py=s7qMaDvhp58)YDFfdgJF&Ta0VP4_$KUlRZr2JMAJcI?a8hGg zOC6VRapC^m`sL(PX|+%j&f6siy`upE5@B&fAE+N>hN2ce{WH*e@43i~!gSBKyl9%K zTD%(Ttorj^`@g^Ul^e5s0A>wv~~=jd>PWc%7HN zKZHT2RY!zH#O%mEHT^DVHrMn9cu@O1zfTqdj&h~u6)2!Y5ybc8*|(4W3K#o3#yj)1 z+TDJO-#Yc?gQy)*(KGq>_rh@>n&Xntfv{6>`2+o!DKMfxn5)83E!ij*BE{z6 z9mzkNYqWXJ&1M;77i7EnCc`PQsrQchWcrG^Jk7a?i%PSJ6o^!; zPJ2XFdXnFY7(KnXF0iSs&k?;s+Fbm-0bi|Tp;lpwaC2+tUMrKxMvzc#T%y1UjP^cl z?Kgji{Zyofy8E7^|*o_gZ~eEZy6Tlwug;x11aflhEPCSLP20NG)Oaa2}nvwx4_Wd4blw) z(j^T7B1orn_t5oU>~r?n=Unf%|EKrE`(>^R!I@{CwVt(p>;By_CXqV?q!RGZq$coG zhWY~ceqaS)I1R7Za@fot+*V!QRGw>R@bdOy&@Bq(!3w)VbXULV)%(JJ%jbxHckQ4( zSj9upSRfehg7{+R@gHA+^+n&UD_2p{l@|)w;c{})-vSHnHM9;ou4aZN*7;dZAbqu@ zxknwP%b^(<8}xiy-0$d^6PY8EAsm2hCW4~Nz1;K=_a5fqi^$!MKA*GyD#K1M37PEzH*+*V=1j$rMWSY8!@5_oqsm=Nm*!xSdWE zh5WyoPoO@(=hw^n(0%_ZJFHGQR&F0hu4vldRjGLS|F+`Po??eVj+ zvMcP4#etqjIptA&dWAnYtLPT)9QryjsSK>aKmBAFcunAwYoeD+?8LI?Gf%G*)iy|} zc1^=!?1jyGv6=2ytd-jx#gAjE_!EgJUEJVj`1+Qc7HdGJB@U61-1~?S&nV{wUTk@& zL5MJNqp3D&ERNm{PT)NKT;zAu^93qlhUhjNS+rNQVKD;TR9@cI>w4AsG8{xtnYR7y z%N$=_y~5SI!-0p$FIz>#2pmYoshDc?ik+;UzIaFMwu0p2Ko!)ra=BNBgN=04@0~fE z=)@-)BaCDs&^6XZ0yfXofA&AHdl$TK#GI_QMEB8aQb51C6%jW@FY%X6rsd*N*HRcO zT2NqlGN#w-t&Rir4-wYb3BBBS`Ih)ffV#48o-$i7{%iJroI7VcbGKJoyd4rU(&A*4 z$d-0xot=$+JJr=`XEJ`J{vN;mg&J(2(z*Kzc$8L)G@QhclO^HqmzNe==3tA@7p%o!jQ4gaHJxn(X8HDUd zbmvtUk3EznY}0W&71LMH&qB>C_qryqP-E_DHIXZjM-IYnPR)$?Eo}s=z!?gy;NT{Iz#_a zf^M-o;o%r|^H-ccZqrU=^=kVl^ICldII~VUHx860AEZqe(haVnuaCVB^@}`oz`Xix z2$W7w&-P}$t77mP5PKotzI}eR9)jrqVVM%gTv1geGUVy|#Vew`!LcKj!w_OrCM1S( zLcygifcG#%NX0GTZR#bZF0D;`wYs{QU#By0;e&0KRwg0}HVzvdc+?VEo%l%wklebF_7Mvyv?7vmqQ12uW zkZ#D_O#Z_GElMa#(UG`vo8;PFm}~m%(#p;MXRqm7i$qeVbcw~Q4mN|6LR}PDK0-L7 z7gDy8ssyw3Vo*lJlXrWC3bDN#pJ1f|ipKNGaES*P$FCNzH1{@|7D>vUh-OKksy$^& zK|4`BUlfCHp1SJ}VqA>yE#1s{2Zn}s=Uh_OQ4#yG-3883w#DuYOFRjBii_zW6S5_v zm&=c9fbyRLGhu}Wj_7^JAkrPWA!JY2eRF^TG%JQIjw=E*VF*S3ZbrlIkT%s_{-uFJ zuhFFjkOc)K#tb}H8#KhssF0J19o9K^>r0grPmRzL?Mej}@z6re4lR~>EQ)g-w?g2r zCb_&B1Pl~i>)FvK=zJLIIK^p#!|z-~QJF=a&P)UE7Z|Uok~bpsV&N=N&@A;CoX&i` zm+Go|f*#HIdwF>lF`}2;bS@JwoI)`0c>T7T0ZvybMcCjoDh|kz(b8l`-&2u*V-1kB z|Ee~W8I?+Zh=eDL;&FLWdw!8p{&iUwQ_0pk_R3F)Aunx7nBUg7>>>K@Q>O z=1XH}0;R_n=lQpBK1P@w4C%mGInyJ-D)F@gNdD|F)UL|i4wFG483*nxEM&L*c6{Pr zqrv{&Bu7%-J*cI>xRX@Amw*-*S+4Ld=2+}fY~^6Y&#w9`L^S$O-^~d__|C89_c%>i$h`u>lA6>Dmu6z z`7wR>T?yWr>-^mc`rFG@WQR9N{r=0wXcqf27JqF?l}t=bN_Yt9t}DjD#-a#)ki&%e zEr~_oYlsSG%%i;41X6B{74ceJ)`F-G4Y4cY=pO_H@f{?~+jZH!sVv_vW*+&-zrg@GZ;p<>%XQuBus=F4!@7>^P<#i$* z5WoG<=E?fNAPh3Z<+nQURYdw9Ot?d`uJ$N2+blY2Fg@;Q34-u(kBW$km<=YF z^-5479+#n%B9PeUdJn+f5wKBU3Txsq><%q5j=;yLiRCm-M5E`{V}ccz(fyg(-lb6I z%)z1~iTzHc(ELOc5891>Y(8H-_E3SQ4y?lUEnMB_b+{b%%a`0N1agvTd|_L9j9G84 zJLJcFrm&?}N$xs$x3mrkp#C0A?H|8=i7HZPpe*cP{8v|Fw01=RX5mU3r^Te*V*lXE z-KpEOm~#1R8K5RnThx$C|0a=Ux0|>ENO&;~Ty#{mSOZZ|ha^T`TJ1atIzc&Dv?I{C2B+by;u-ly%p;w19ude9J zVmX2;U!J({3fTiQ@6__FtI+jI#*${XQWx<={`gU`Xvt<7HuMkZ_k96Ng`6*oz*7Ds+b+D{>#Qp$as;GR{aZ^WZ~BDOew%)m9cUn2HB@Kcg4 z=i@6YxP>got*-AIxeev-7-_s+WnTG2Q2Mnuia3G*DNB~Qu@RDd9w>*93#i!!MtK@s zHPvUGLlQnVzfX%thYua*U=7ndUQmOynO|L)&#!VKY(0D$V<^6}9f%YJedQ2=7%}@^ z#yNUZe0rU))LoXgvio0$qt~F9RP5AWv&#X@H(27#S9&tub>|#PV|%c#^%HNB;rh{{ zztbo|0pJaFAtSJ^7i)!d7>?e7Zj)59x~M3AYAQJhM<&e141wT6=r+~-6<^~X{!U^Q z0AN<&nSoeV%q0eew-np9A8`##={=o;xKcl&7ixZ6vQUBx%@(>Nefccx7Y%iCtyO+! z`!))sko(tX+m|eHQVhD4T*2|oC#vvBNVkVs=poHlt$oi)fQP5@3xkE&>HLCBhbxjA z9b~5p{iJ~#mDE_Dwk;=|q#HrBbDR%f0qexzXt0K6S#^kW(7=}f)`CICtIX|zU=;FC zEIOvec>y~9$|tpm#!!t0T??gdL_uIoLZRInTp|9$)XxGl8D_3Y3E5e@y14i5Yr_$5ivGK;1tU}1Cu zv@hxk-JuH6D$mQGp%ZwbQBR8LGG}VgATrV_rt=0dqR9 zR_@azDB1)j<;4SI`IHi+?>YWI0rYOrR4-f&X}Yo>)qI3*IIfBU8xK>bli&YXu%>;!gi$% z%@NdGg$6{nXR$2~CT=s`rgV2AE;M?C%jR6tIZrmgTIfpMqjTiM_3nJIkMmF^nV|m0nQ9QEL$>167W8%b-Hu@tj{6eTFo3~ zQ<`wTNye2@V!s?+c&>tDEIpzA$D`$ia=}XCpVq0q-4_6j~6eWhz$95x|T&r5BN8^+8>EIp_H=|v!9&14_ z(`^YXB^&ROrobJ^ANnNUa!Dw3yKhJT7D0@jDGjqIP$6ejv8XGK8I6cSaC<-&>LT$O zrz)QFF-cdCIj!?pK8IMq6>fd}etuR|CJ3UN@Bpkn7Kh%tQU_8lB_tKS$4E@Jk^J(y z;OGKuzUa)jl=7c3(>)$a7gD~{ZE(J=_EYG7o1}v9{ouqhVY8Oe8uuzPt@m-zXmr;e zAi56Bs{}#d11Gs0c}hNXr4mXcv>gs!NDI{-=paxh>sF8Ouu@A07>ufL%mB7`7Vv#f ze5INozP7cMm&HS#N)Eu4;BB?C0tOljzetHKF4MV|n4&m(r9T~WV^kP%%rG%A%>$|s zBrmCHn4v+>K{Fl3AId>*`8X;6Q9yIVkPvy9N9XJb+Ag1y2*@w1Fz6@}Dz4x+vBJXdIbh9k^vJ~phRDCYWge-^`Pukg42 z{^yz)HG@O?BW<&(nr!o0{3Ah+BWnV0hQKCIuYrW~iy5{t_51B9n(1FnoFe1M92Ds= zZmBMOTrCt0SMfwVsQKPnUx@fos2Dy_Z6BOfWNXSomQ6|uZ`noR3MuWC9plCOy3V*k z#ug6M^_BHAi)7YLDg#^a$UxI`UGxrl3EcvGR;TB`-K?>k*X^PDbymog<;9Jy+z>kT z>GuQbDD|)Y$WWE_Ge**;ChNO9W`DRq{PQ0SeEo~MJ3!ZM<-HQG{{9_`)K^=nNgosZOdw+|U~%CZP8_50O}UW%Xu z4K^Y|B{yUHmjdOB>oTFL>*@)Ww@?(pc_Ms~G8}{dX$AE6>MbH;lKBCnox;|==g4$R z)Lv~qlT~(&=5pd}Y>17Q3b~=pvPL1hz;ol6J;D9ktIua*M3S#Ap=HxIHX68UPD>`X{<$)!vWKT1n9y-3yiRTyuE*00~tW{{WjG{GW2lX zDi-^{PzY-Hh{*taeJGtiB`e^sE?5n`F#!1*K=s85qW_%VUZVg5h^E+ocglj~x46s> zR)#w|g>2sZPfzc!Pn)?P1>E~5?e9q&Xej~_MUi6vtIYyl?%QoO_w6>iw*MZsNgnXK z$j9Js|7sBaU;1VS{ZP~H)Yk_`N5S0AAe;AFQQQkWONCYPk7a#$&wqd0zgm8?R|}F% z1A9^2uf`@&1#54$tBl|FfY3xd_tc!65A`2Sf7MVNt@H-~_s#3Gh1VtO4dhPy^HSe` zwQ#pwo{~|Mo}X^RBVK^9i;n&0ZibYiX96L|&LpLBs&=a*0T3g|d=<{cb`@)WaspJz z?6VEFcoKJS(0J9+Sf5FK=X(bJP{D4}J}uZygUE?oU-sZz5w- zhJrr)Koa+{EN>7Pl?pVlj7j?Z)zz(VfY@)gBi&~@OCd)>B_*c6njOvzB%PlvcyXNe zWMGq!WP039Na5MuY{9M%cAcd72&JU7K~D)RQhWbgb$=r(eB5$2@V!htHL!bQ8e^oU z{zHb4r5)&4tA(8$ZG{8EDHNNHWu0AJm!_*NfZB@{7%%6{XA?nzSWu;hL8pcp@Jb_A zW#WHNW_X$RaKv${)=AEyGfH#9ALb8r?qIn-4ooPp)oK%#q|6NE1K@YsFSIPy=LL^;=-MQw9n& zdQ=#XG3`!=Brs%Nez-1g&4O)@_a^c4TFupYFXYK}0j=a1M~O>BB&&xjVsip3w?9@` z-I*BdCE+0Ym-gVot~AYm9|!#Ge{sB4c;-A&<`=c^^||?My1JNHV9VpAy3n@T-jagf z0h*mB%VDzi6o?|V248IMZz|`}Y=}iVQYP8$@;j>B+^+QDeNb=J9lYNj=mh^6i~AV_ zg9Eoq6%VV8gT;cy-7qn9 z!rx%9z@%lVd_UwZ{OFRFnM)-GFqv*AYpvOUWZGXmj4WFriiY^Oucyvk@p*V?m+j~mWfF#61Z%_;ZxTY&;<0S+Yn9LX827zk z;Y;Q?A!zb~FP}{zWKxzYUH4)7i?B{MwVA@0xr)R-r2tR~q271xzBr@0kC*opt@g{- zSoVHdWKe4%zdYHqJoN92qJ8d}_UZu;NVeAuYN?R%IqsEAH`&~}pSU#d)O+nys+Mc} z_4Z04_GXBN9zHy{?Zr`Tm3W*e$^g{0hGW45pwA}~AeVM<(B|QOIAyZ+>hcWeHuQJ5 z#(<9h&-^kS+ts7@?stQ{lFLa?9JYD?JfjpColJe@sV&3LMX6>{CJX8&$6cGnb|i;E z4IoXbO&9oLcjX9Xj#f1z@WxE!de3yaJC$v&9LK8lq;#exEUr=r9Lgf{Mb+C|pU7TiIGWlYZsHa=s&HOBk;Fd{^h8HG$Rbj@ZoaO&4g~(vx{g z%7+gthIRZD_WjC`_Q3Z^w%m>D#!MBm?&Id4)9lB!n+J2bA;D&Ic^C~RJ3+d0jmtoE zsoI<`E^FN+blE{{$p-ZKf_GalLP>e>Ypv$S=Z`P)GnTHs?h5UszN)Pj!8n}8na9{{ zb3?mG)n42WM!=6WLs4ZZH%{Y$oUE_#;5eqmUqeDY2^k*#c6YbMEeS78FlU?H^kjNy z;n=vm5k}83bf+9}_l7y&~ zpUb!HyPXy6zXsbqhr(BN4kMtbMnWeL-5NDJxJZ<@y`A++&f&l(^4SqwUEIs;jM8Vu z><%Xjc!-2v)Jr6AB$Fq4V88iO(IOi%4qy|wTs;~=B#V|R=v_r--iUy#J*4UQne$Hsx+(zF|M#7Xw*RDnb_^kT`*{j~3S zoy~32Gq)Dvmrw4}`15}h%g>R{wh94)nCY0CD`LwJ1nu^0mV0X%Ru=gQc}-;euC3GB7;jh;p_vy+%wE6B96h=;E=XNukk4+3P9$ ztpUZwF9b;hG(Gy&QEoUroA}~KdpXvCNdK8vX0!RUm&;FX8981`jz7c zW=Kv%Y7&PfspHjUx4CbQ39L{PCU$slKCnGedT-{j)I>5chFzrD%!fwAT9OsJLgY|? z`t9>KVyGk)PIkn|ums~~R|<9lHs={-GqC!rM}XWf5b0Tb#$`GFREN(o_~m7{CV;7` z!Q=B-qd>AXmH~#l`aMn}8Pra5cenXsPr>T!;zy4|=k>b}Fp)>{20!1PN2{yjanMyi zcyyf(w25w-Tze^Su%$+W1|VS0Gr$KVP^4nJM+jcPbP{&8YKwvt@^y8dl5udxWAlC7 zVDG-+RBe_p|M5131Ko>Kz-J+EW26@V)S{#7LOVl$`vL$9e`qetrgFD*JTnrqgv7Po zk#$VW4^jxC{~VQxQ+k1rt$ZMn!^H6^;O1HoUh}<+<{LWK^W<=0^|+iJp${1@b;Dv| zdd@nq%gJN4Bnk`EXzfoFeFiI3MG^r~=lc4e`HWhV1EB)5Y<zg0f7tN3Bo2uCDI0@vdf(dX=d3 zrV~|+PhV?z#-|V>R$wq-*_%$w&*!k|0}KWX+M4RO-UQLZ>Ao8;t@LdrzEES9P*LIH zv)@87F(GtAvk&0gTT8HV z6;^Ov#>juMIw4JcZAaQA6E6yqvDq!Z8|}yzJqYxJ6Fn*NfpBevsfWnEQwFf6f-5mbu>(Yd=hv zNFjs92B5%D`$rIG*4PknRQ5O#`D0Sy$e_rkacQtD$;7evN?=jxPXSSM@CHYyi{ zM;d{2tNT501)sf9D; zfiaCASX&^d;KYeN(-rTB?c#wr3A{Yp!|=M}J(jsYgczV&7)6E@zW~{;CBc$dRDAe@ z^T##z>M-|Drx<78&GjZ^a6pX>fP19FIUza>#@aYq8M73%tr z)GoN~@}weoV52d{Q8GWgKK}O7(v{149!=!Z(Wkjt$7h)|Q zhH`m+H$|0-_g;tbU+?Uf!{o3#{OB%Sz}GA$pPHKb6NMP4qcrrxo_@6dDBeax|2v6? z#rQ30$kWYVEvhpamlxS*-xN_$D+H5!G#TwTuQf#BDRKnz%>UekdtMwUoEcF8f_WL5 z6!qG|(SBnR)uXXSF1BB*$s9eNMa$r%qJ#hnSX@2}F%saiApdh&;GRL1(8hbIAtvb$ zZO$aas9LW`3BKdY$M*A|?2Cb7h)6YrvW=7x|NPA#wPkuzu{_;K{}dbd?*+a@u72sg zttUfjnofnysftm5@@qxb{afFjjbZCRShPe0H=syM>ouS2Wqsvf{XefC$-+;e%^(+m zgnwkjp)c;GGlBo!6{7!jYw{OUUv>{E1RsaQTV`GExis0b&wuYS_ebw&+%Kw6P?3V; z;n}{A+*Mip-I!`c>zh6kwVBRU1km|t(7PhkqoMalcBA{V{NIOtrH6+&P#1JU?~sre zz_>lUM1zz5`|6zA0SfSCQ0%F!s;a$AjE7?@ccVc1NdMaF!3+4roX1PF@Q*7$up&ka zIZgxi6>3zXzz4>du>Ou2YEkGJk)pg9;*5tY{601TF4~o=kD8ynC87PhVEEUY&^ay9 z`oir=ntsR8lQlT*`s=1?J^Q}OqFIkBlfdd-_xT(J(w2(vYO{|CQdJ@uEJM-%S@Qoy z1(y8yyan0|60w0{gai{WFG$HjA{oi|D3xh)y2E*bd4=5uX?p?%GCqb(kR(P!^Jb@d z+647~-X_QoSiWXG5ET=DHV&}_RSOZ^&u@Cx0S79ngr^6g+aHR5$vfhlCouzBiv>;r z6Xr`fNg)*u{l>e*r>Cws2v;b>w>!qY`G#9f%c^@E|KF!_7b3U<_r7L|rU|J2nYgPu*wA|odQ4A*?N0AI zK)(|q8>ofAKdyZb`$+J@aJga3`n?ihV`6WsGE38coiQwZ&H-2W z*X6)VT=3SZ=`!g=QBVs7?h684QHe*i5>F+n{O1Wn-fTzN?M=EpUVi>o!OS3t5xz3% zWTo42Y;udb8|@5u3x8u(HLP&aOO?{aQX_@>;J7blH>8&AgQyTUWMr-nvyWfft%-k4 zqu5($^rcAQ1%@uTEYn{*lDy=WrpI1vsi(Oix&iycMt?!~#9>g=0f+qPAqeLtHC!_4 zOUCecg5llRi2NgiKO|0ui1rQhz)t(O;S9@&03v9 zu&1l+kc-Ak3TyT;fW-jN5&`FutRE)C5S3h4Szst(F+rimFN#uMp9=+4?cYl~%yB#w zz+ce8N;&YS>10kJDf;4gY05o6Fe@u-bONw5#eKVFNAG03cIK)dP3VP(rS=QNA&=zB zV}V+-uD;#?!~vijOx!$V-EIB2N%L{-$0Id0B2XN6n4Cz9w!C$#x__5dsBib+XhjZN zt@Tk`+Dz>-`Sy=FH^cSQLFdaO&3@GaI9ePN$a;FXxcF}Jt0zl3(qr|pnrkHVOrS5^ zY95iGA-TD^HgL$)MWNt#B^C>gQ<$*7SV96Ea2>bu`fV<5>m@rZ^|^rI;lSYV_Pt## z7!_K4_Yg735V&Dk&V3{1Z^$XgE2d0JpZ$4a2TtX00z*-H(zI$T+(7?|HOZp*4V(Fd zMPP3MiUS*Sk`S_-oSf-M7WbPsZ+<5;#RXsUfAz}PbosEBWH6{b+Mlelx3@7|D`YH} zl#`Y(S~vonZFn86=J2;?MZ`TnO|{Cx&hpsTw)bH(Cm*%5#%nB(6wfkJMbhb!(24xC zn0QkKJV;yj=W{8PQ}%<{RpFfp=RmG;mjps~3LpNW@k_2X4U@AZg;c4DSIIh`Z=lAP z&wx;QcYDrWeKih7>{2{YXuDE3n2s2&Jy^>#7=LZ)|2{c<&_Ut093uspk*Y_=KLZsL z`8|>~-O)iS|K=>YfUEG))oH=mJtst0H>tuQ1`DWfeVUNa3?{}0&Aq3bek#EI{S6MA zrnZ^^b+K)FRp#*eqDmdFM`bjy-YzNY>{Huhs}nEi8s_|9L+6X)sr(jW|8@F=O#dPa zX)BwC9QeG20?uwxc^Iw05dlM>{pQGG`EmoI6lB}C4-H}66PG<$pc|)Prq#G)UmJ%R z&`TF}ohB2=jBVSZLhN=U#XN&>bHC{SV6K)N)GJ^w8aq%8QBfXsE9U@qr#1&pbI?ZP z-3DpL-I-=|pkm&b@?r;>QMrUSG|8?fRDth9)?QT5tTQQnO_X+v@e`hRzfdgHbSTkm zP`9{i=C7@oaLT`I(CrYH&Y}=pI3~+K*9?z&cG=ygjf$svJ|gnZEk~Tk0*%+1 zs|oMkTr=Kw(>}LZUb+|2&|SdJYr9OBZJs*&+c&2>)0unOfU#+CnRB>hM-w7?etWi0 zLSN)|Mg^zP;(ZZRlCluQdp~g}aG*XC=JJ3rhv#^TxwWoQYbBsqV(Mvh^8GWK9RI7y zWl+U9Be?!B8PaJ7=gHW|BlXl%s&B)yVuUU!I+ket5E)VHH)&cEIOp2W?-ua?X$%1P zU6SVU6Y1U9gb<1-3gE!go}~PI>{BuxlveQivGTL)EKjr1mpi@@2Q!_vTM6BQzW#-N zZt3n9QLTRp8}-FgSg5hWtoO&PKSw{zW2c7?r1hT@{eGL&q|oRoBHN2n+51AdrYRb> z$!YXw0IR?k_hI+yZ#>=FTM?qI7 z1X(u1yS=y^ndSMkyJvGP1XxtFYUMIH3Y(Ry74JLvLOfWa6$l^UdgS#C4q{}!d$&d8 zscdM;00(T~AP+akMUZYZy{=We4+m*>4D}{umOcX#8QjIA26N;eOVYKRvV3 zvOikQzc!F)e8`8i?6SPEp+6>|Z`LABB`zV+6_^);(%2J0#mM;1>^d|`@ap)dFd(D} zyA=Yv2cRX4ihkv9$kwY3tf+`V0*84;=}{9%x?xpi)5@aIf?I$**)&1CuCre%Eu>BVmJ;9OZM-5QPNE0>xw;GYtFPn=VZ3$Kk0&{@378oXl({Y8 zGC+&njr^2?l9pa1a>IM9pOBV;0R?2dbOS1cB1nj=wi!&PO(5isd~HWa&}@KaD5XDG z|1`=p83 z#0qYqa+!}b0jC42AtZ+_n8m0+3XkB08Vu)I{AGi1_Om)$AV{(!Gmt`&GU~og`c35)8@PhIng!WWo#6;x;Y3mr~| zJw0_!kMB!$i!HhkOKwkHhMk>JcShaH*vq4RydHxb>#d44LEff>w_&x50yJk9<+r}E zv8);m%$&yG@z-BUOuw?3WEe>1Q=DrA8WXXrA388|Q=mB<)BYuaO}Y@^Z}ypU0ne@k zC5R0b2MXO866=`%@c>}k?Q^u;soL7VH#Tx^C$mHT7?F5Tm~st+Cf;r*`1C5-M_$i{ z1)?b9WDh;O#z9<@WM$3Iv!?#f5>nu{e>(~GIZftm#o>oCM8z8+rC^-m80Td8`BClCjM z|J>1$2}zoU2vKO=jeaFJ=e9Vx=$p*-LaC%K*p(9>s>N#=h~r07C=K$SB%GaRaiARR z<`V8eUVmwFUAzGSo>f7#268m;ot+&+(Lega)q(Mnav^^_+^1fwF1MvjyR<=*nOK}k zN;7O!t&#^ECB_iLQqbblw1bI?>^g_#1~Fm%z?_V+0v+U#wSi!6ik#M#bMWX};6q01 z-Q)@Sj5qm^l%c)JZr?^Ka#D4osU8-I#Iy^ZuwQY{#;`|wSM~<3{J(9>iQZN=N$1WRm(3Q3$4hTI8B5@YIb2;F@UuxcyXi!d!wO8Ce`^1 z6fpAZ*a$O9BwmmnX=bIUVQFjg{ITsCF-OrQmb?Tl>i*Y_B)iQq2u z(HoF<{$R9d;t${tu3#PKCTk9`5(4_@o)QUmaIDcdJ0H zX%ImGIb3ysM`BYk#!hlde#U;d16&F&m~b+%qYduqG>#Q82;DGl^sSM4zIbGBbc=6* z!8F{K(22xiH0L!iPR=Ysf8%OH1#FoDqt4h)g6Igu9Le!Wc`Z<%n>=T6c)<$9bAikn zRYkiCR06IAT936}B|s_@E#@02w3X`%_1O0pntks{`AAG?~(@^4X>;Sczz8XaRSm zDEQ^}wk0?LfuVPBH|i1EG!&+3L?C@P4DnAPrJ31s}GR{5Ss28K!tEG;Mv}<1HO|4DC>vNB0~#&?;MveVWI9|>oyWz$2b^-$0cLRD z4FNQg_C`8*PNK76oG0Iqs(%D_6^h#{kk6cI(Nx&n$KP^laI#b>w&cP7yQRIv3k z7kT7;?B35$o>0X3ZNaCN%F+(><9e_XZ4sMcCfP??!z|Aqj-$K4YeQ0c<3rCk}| z_FoFP{#Q(%^OymSi%I(*2=#CD&@c9xU$lsQq`oqgfr$x?wam)K(blh{-;xp)QXU8* zMAaqPf!Q10Dg+R1{wBOc#y<2@X#YY2F)~4}tIvOsbx$e^-zeyXpP)c^LYtc(0ck2V z_pp!8!?BwqK2YZTO?sls{Sy+){y`k&Ufc>2r-32{ZyXQaB=U;yb=&+rC7UQ(^OL{s z@xQ;3R1Q94toBIPW6-Gs-ksp$gw;(YrIX9yO|VoQ9UMZ^P!Or~xYqX`7xsfP9NIWK zDi$`-UFe4xM)O+>j#?g2TIsg>3p6?w{3uhYCY6q54WacS{{}o9UA7-Z&Q2fmRCK*I zMMFkLu6A)!p{wGR91(%wdwqbS)Vt+~tD6#MWoIufJc2i6Z;bSiI}{qC-nY8$Kg$+` zCVlIT5bEg6@KUJ8#PcPs-ljg7dU<_(rl(5r14PcAka0u3p?)|dI3O9)hJ5zU?Wr)> zGxR>pY&-%Bt}4aL++WQ=pEJ{pS8F{lI+i>SqF&ni@OmP-wH#H7H^Ur?RTG;!wOx)O zbmvHv^R3n}qNYAiiqkd;uzK_9K1M36=@XdEHL)H@=XtG2D0SHEX!y2z-67)Q8G~}! z8=!5znpUbch%TC?-o=61GqI&)z~o9j)2)7)iXXyCWZN3E@= z?~@x?p`lWHN(`^XkT*S5bJ}7guokvNU3V?l1>XFkSy{yrf(D+{2sCp8?zm*IjpAa_4|?@3X;y;wFEOJd;AN5NlX)eb^U6>8kY?zNkiZx5HmuxqRk!U~^ReUxZE z05wBMD9KA2I|A`#e;>ldh5z7IesQ1bkGp*Nl3;8mrIJ^{_-sKK7OLHeCDCOg z^%89NyKkdEkco=`$JO6UOHc3eJ=JT?>$k8V@-5c|I_2J%Vl(sem~QS)i)+=zTiiHI zdxdZASv#*@@qxHNf^D^O(NC>+{kL|1{sIBmaeXo;3yVUSpFOklH1DKj8-a3`=6}H? zmMkW(HfVurRXksOlNw?Dt!IUoW3}loxu9eVweo^9$Gu@PC#$({-X3ma6WkVKVm7_# zsprQGd`|meX*0abz|Bt;xJ2QbE#x-xjRTo!g@dn^``}5~;_SiO6haCaLuyi%DADk>)N?(DP_ghSN0YSqqrD1LR8N)>VeDxI56PWO-fpZYU4+~!LEPdcp6w=#^LO@VyyG#1U>-MQ`(#sxm zd2rTydzxQ=B}`NIZ;%YM8V!JbWW_Y~@$j!-c)CedOTb?JV6KI`&93C#ueAbLKIPtQ z0{|++e*@=$Eq7a;eC+Luk9UF%XL}(uUD5>==N`3eR&z}_7MLwR1dJr(OQwFB{KT$n zbSpS6)ovhOeD}_rHMy~eMIc})HR6*r`bu??_pBh<8PaN!*j+QwB1nR zAsFctvclvStz{nx1UMf=Z%5>{XSb^Otv_Q9*=icU!upQ)Y zijI-a15<}|*JiVjap&^`@Ay54gJy67Q&{1$mtuL38p>R&n?&&;4T6%L7!-@$fQ&xc z4pWjk-I?_Ue)R>mkzFew==a_q8nOBEvqbBIbB{CDVz|OFNMPMhQr?JL&faYe_vGn!OhlivgLbGl~2nh zs+RFx2_Bhi*z2KC@9IF0oiiUIYB*{=`WRH1fydJrhmyPAq}5ycJ>x9Wno_daM+7g5 zEeK1(usNNCde1{Pk_By3NhOpw)|azf?7lW|m%r=@1%668`G?115r^l*Lv0iF0ii)J zpuMvKR%HvagFWdU$ohRguTk77&p%pWwCyb9Q8ROK0sX%jrlxCrVgsv12G+_PZM{_H z3WM*xx7Yl;`x3(T9ay|Zdkon(6EeQaB=|M#hg(iVb+8$$j4zbv-vOB>QuiIA`P8$} z5G0%0ygk=AYX+ijP(v;s_PgKw3pwf_HWL6IztE)0RTw<#+F=f~KLW6JCVngwc|6x{ z{n*C@87*{^zemi$S(=@HYL(P+e>NQXY_I4{>LvEV zsFD^lOBC7SJ|W?HJ2ntikamrPMgvq!>Wv=@`5ekUAC39IfQl-oM`b~>l@b7hVaYr_ zm(|69)k}NgD6?!8Dw-o%`qm@Xj~YiFM6isQ3v1v)sXZPj;M?EcW_cZVV~CRO_$){9VYsWZ-FJ{UfO!7ga;co7 z!MyX{txYXWCAb`$lX*V1RpA|igq?W(N6YjBX{AcKIrCqa)uun|3Z>az-|cJcUIROK zkaDkF437-P=DUd?#2_H*p3rY{X49*{4US_7`*NW01`Gz^HMAq7@KiE&I!NERBG7H5 z=sBjms62fbmwVa)v2-Dff@=8^=`W0=NRIA5K#Z8GWR8;dFhohzrQiRgK)V#gV@=tu zjLfG1lnGQUG88X4?lq-Ro`WDXBQ-6RV{;-y1p(JLn+=N!WC_x2G{D|mUD^tcc^+PD zFzG`N4DW~^`G+e+nbKUmeJ6#|r!K>kn~;zY%<6XjTM$@KmIes}Jyfn|g$hE8Jw2kF zzXx!Fa<@Z^RU_#Eu=Ig)!L1j6d=#6L982cL%3N^1&JzQmza~f50MnGQ`#D=B%I=_Z z=mOT%gj#z4=qeOY$^BOa}4Br)aot?|=B@v1l0%H%)1x{fGpz;l~l+bBQI?rRdsz<4|p6`RA;CFBnb~ z+=Ou$*-18IGZr@zq+vLfjxrEq4)Q^8x?5Pci+Vp0TcBP>_%c858Nj}n9}hseYsF!M=oq0Ad} z-pqWMnOr7g`7l$Wxd-Hna;L2?W5Ov{NQySzJp#XRgPqZSw$+1uCdQ1<$k4O&Q;B0hB))y@FI9R7C^m`(Rz%bAJ4%P_pFEl#17F_ycztfF=U>n z(a9=C`7`>GM2xAZ8-!a7Qy#BbAm06s<>;fG(HHi2)5n2mcliO4#Cwor`~|H=dp3@K zb&v#d)RS_~S(5sG2O*XE%2l*XQ^zkd&6oDc1!miRD|6g-@E41nPR8? z+`k9J22l#{@;NH$3MnGRfnC)gJA36cErlztW396_EKK${5q99%i}?QcG@nQWIVE4G zme3qdg=Jiq?8GSvIyAlV(h=}@-xZ}W^QYufm*KH7*b{qhofNn7?cWg3N~yE?xpzmz zMOU-MeC4Rh`Tc@wSyS~Ws9o$|0}tlDo2^-(!8@x9t;n*FV@!ChOF;6OJ7#C>!3{EI zdnLWl_l`p6J%S*#XO=9M@Ava>ece}@l?3g-6ah79jmDfqp(Qnf;cRl_5O1|A!?U`? z+evo4kO>y*z$(1JX-FL{3!EV+Q87Jiel+Myq`ms_S^Ac!QqstyrF;Ddxp z(V{o9-jUQyGNO;PhiBEXVVDMzaB5=`JfYr_l9EV01!`ZkVX|EJU~3Nk#6%Bi#1|ad zP`13>w%OSw??;fsZ1JbNBfMOZde6junGKs1y!l;k9bYlPUwNnCs2cyVcQRB>H)cEJ zk3y!UbL8{$&tfl#E(}!${&1jXQsPPR{7Ds(r6)_~^pA>&P;v?$;`71T(mZ5_&99O z$R_i3%ACta@-OJz)9?G~#1KkVb_+ zQYci@yz)bX?k|@jGv<;o{+I0`uZ)%qI)BZF_^<=NEn|}6J<1XgaLbgQP}GVgE-vnT5tdXLtvpaE zj-aOGVknAei(mpN9q9((Me>B`@yk`LqXvWbh9Qj_upv5?36=k^xvz|idTZMisiC_; zN=iylLYkQ&L=cb;K|orN?r>ljLUIFwf*?b8Dh<*Iq97^V9n#WgvG;zT*XMUWoo{D- zTl1TLt+?;|y4G6vb+MZHE?n@3;Kd4&B^U)Hq2Ec#qy_$SNg~Ra^+5bCsgDzSMZI&_ z?RL6)!b|eD4#Q6#EhrIQWVjF zQX21{6qaY@hYC}E3M6-=<&CAsdz{a9k5vVW9$&v7xbj+7hiF2J2@>`Gh+%o$={O&lyybr}}R~1{2$#JF-_uSL??-rk>88p)sa6`1tvqfjHcCTCHlw z$-G@!<`CCGt1?d~sPT(~%oocDY@C>QL_exuhvfX04jdE8EF0)`ycwcq4=a?yy*82f zf9t-YQCs;W$cWbj zuyN)#u+wLKIz>+Ek_!%o#b)9L8`7lRpFB3Ocd!mEl{wRY;GZjTus%V;BkO5l?QX${@6qdV|QzikdCXqB1BO$=hIiG@s{l+~J$$DFBEnf& zyZgpdQnB&z!C}&7;(ldC!kh0&mRULPkTXe1n^`)%M&8Q>NAegXJP$j=23mR?0#DZb zCL5e#+ZO$?W_LwI6jWTuMN5eiM>{K1#C#6dVyddN-PY&Bzpn&BX3Q?RH50m33PuD< zYMd8vM2qm`6@7d@Zj>5P-L#;vz`}}BsHEoC)YgC17>N9mZ-=eZrSVuB*L`)!AZ=kY zMy7*#qWT^w8#=W0Z=KORGv9U040a(hC&v-|IZ4qk>V|siB#4FF`Ng^5va(Nch}e%& zOmzpFQQc(@-QRm*JMsZF0b6(G)tTZkqTXjxcsSrII6DjBoJM`l9-?edmx&hL-ZHba z4~1#Y^^c68O#8h6pwS`jSeLfpj(Gi=l!1(xoq~dpkvc4eZuB|JP){SjVg09$GzW$Z zjf4+Zq=9t$@1>o!x4(~1-!fwug@SECmlnCRe&@D~;o(8=wJZ)c#b`GIP4U&#_^~2W zBI83zSRd^2y%T+jS89D~aj_!{Gg88}$oVFxx_Aq48932V?`Gf1!^(Vq##B5hFb|1^ zs2*)yVuqTd&8!?*ulVm+5fT#qntW7hep!Dn?#$CdSuDmwxZiuHZ*;q`t}e;*yLG>3 zEQw6|6-Gov#I}*u&TN?8j1TVXCc`k^Btf1e>EpfTIOjurkPfWWPYp{8>|X5z;;9Lx z`5+h&dP|$~Y_Lv4|K}KsS1TnLZ+PLmD~l(KD>TpgB9`t73%6#i33f;1YIQ}Me~!%v z)Pwk=Qa4|WNlMIjj83;NAKE*!iqOGOF|Xp{gaUpq6VUwvo!oNiKL@gIK^!M*qCW^N z%nf9)ixwG#BhN0GrN zecb>EQ=?CJh87#?9vxZag0oOfz+r{4)l9d6F89`CjpDW-mn4C8G;>_FoN$h<- zt0P28PfrSAkd!>H`;F_ib4b|Wd(=sj{w;|pmP^g|R^{b>gbOn|LJ0|XwQh_$KW|V` zk9qTkdfIQtzg=-Bi3&;;_5Qw&uKLC4V9YVU&r;OeFj?Qg-|SHI0dG>d{~!)lOgfVI zsT8lnPV>HOY?qMlrM0js*#<#oms&#l+^G($Flj{eSmQ^T_ecHD|#RW9;KQ2y`F4@mdC!btO z@tv-_f^nczd)bJH4bG$(DK-f|DAY^9Fmms5S~=QM8GVHyB^$>1!v}#BszFC-QyNc< zBPl{Hg#5n3+mTlo_a50>vfM`LhiB-$84>ON)`LXla0-cFuFWKCv^q z`6V7gGQq=}L>NUlH&DWUN<h6xE0^8_i&ii+Fe>Ge4H|H2azsxq;dY1$&#xs! z`YCXHj|&#A$!qYA?+GMKS;$mH8f)r!44GY>j;ks3}LIM>A9Y$ zujt+Tv58{M7Y$h9D?RiYBn(32-}>Iooe9$Dj+d?y9Gn(C5U2MfJ@W|FF%&59Xm`Ij z>Dsx&Poblt_U>bBqDW9&Ii8ijI5Y2?3na4g>V9*HU3YQ@f_2%iLJoD84eJh9iNA^C zGz=RWz^;h)ey#i4a`*U{$->c5K*HCfSa`O);$tFg7R%nqs6hx&zE^v$;^GfF;;`{N8%iBD|JJ(~_K~ zQJt77UK&|q-7TklaLaCOJ^I&HiiW<%tLUeVni{c!q2batEVm1i6(irX1!wQ$S(`c9 z@|+QDP1j-2)4vI;N?Vg%TUYS4Ju*&iXx(0y@-K1on^oPS!3eBlFi;@7tad(lRh49kTrBe--$Q z)ci=Pr{Kf-9b}!)aqNmfP%c3}kCU4nlIHS4!sEp>GOOLyW~RJyGo@;EBV;v;jnu_{ z24k+?gJsE&%`X)D^Vim!rhdZAX(m$zL`e9dj(mU&*ujcrZ_l9Wb@br;yv=hjO~akg z9P$AYjXvH|Ftjspbq1lbHUkJdL7^7~a|{=%X7ouhCLoyfbc39dih7y`vbMg~`?l)^ z6XR0kv(dp)IVGjsP5{A$C|D!o!g)%b*4~D_BUqsTcFd}gymyn4Va{=x$yoVe(A$t< z|H{aZM>Zr5{QSoCPpD<67FVR5SZ)Vl4Aghld;Zj@KA$vB4SSt9tRkWVd267L{{Bps zPAaTPAxLYX)9d80+7i=R2ws?)EZr+>Q$-knPZ06ki-NAnNML)Qo}|uW15rxt#~0ez zc=_!`s#L&16KDU@&ET$<@lKpaO=pTHB^}VZ(l@5bjY6JPn zyU)r5zkcllNhPlT#wNmHAeyKv@?6!)_4spN%4oUcu!?cBu4u2m&PEamU1g=`=dcgY z#P5432AGtj;uW8d7f9d;)hE;5;zAuT$&zy&_x?F0jf}O|$;Iz6i8n769!l`} zz|lbkQnTLVbo6xWyp=BO>$sLycF|vpBuVNd$cEYfx98m3H|Pc;PesYUrzYr#n%kW$ zB3+dwJPV?u!-f#o&Peai|F(Z+oJw2cvSy>GG|j%vIjgMtoQa7jp8zHniK@oWY zE=V(H6jlTr1Rf$b*@;C`GKKkCBXz(+?~e6O)5S`0SJP5xhS|DPfzbtMgAjj`*jF-;FG0?5ahuj z(TBp)nDYjy0FCR2CngS&k&)V0$0B)AjU&;m&;XF8 z4g48Vl6I@=zQ{&{gfcMN+DhOH;_j%cuw>YwYej-hAMaVX|xB*b@)5cjtQ}GUCVpX!wwy-$4=uW=9^iii*mj#(Bde zqm7NtkU2pNGbSrq;yPH@_WtYUwa_}7UGjhK@(=uEdr~by06dg0oL9{s-T4T)vRNt*eY7?e7qP_;K~v)8s?QD$z+7|y zLFcw}k5u%?!)2MG{4%?Wk`5yBaw({__2zy1pEy4~D@kjCM$}AQei3P%8!MILmIRBe zEVB|ZeC~;1#bnOv(NwW#;C&az==pgl0Gs;TT6e1}6syzxmqg(d+~v)@G+G(CFJH~I zP&f&3;Pp+^Sd8XqOrGq&k&4lEbkKbA1Zhz&v^rGm+gL(Mo_II2Q~i}|yj6`GE76)> z$p?iE-5z|_m?I`|Wd3gQyLW6H5Aae(QEY-@G&_A)SYU^H%NGl!MfU>&2z-IF?^m0c zDL4p2b}64Zw>U&QT58$`ln0kS@#+F$^P7rMD42ycc(yvyVI~4_7hkp-_gkbGBOct) z^CTG?mz?!8mjaQ0c*CTWm&d;1vGpm7$OAfHofl=m0vz6zX6D@L5M+gdyllPNvZ6f6 zCgF~Wr~AI#Lkx$CvuJjqK%`HEA@JqkH%WUuzLzTz_ zE(9iBdOa=vrD(Do)wNlkJJ^%#fUNBzZrI~B)uD;SOvDNyFe4*|0QrS-&rw~vZII5D zCL14no*3Rb`Gfp@{UQ8!G{4O_nhNYF4+|^Xs_|GNANTbLZiKOKjyLF{9t5y=&3hU1 z0r0?gEaEh#{KBaIre~$_fc+~$%5400#Z5#Lf)y1BQGB5-USgse-|J|V#Xk4-A;4B< zvt?xZjW2`_4i1Do#+w1kjBc;wTC!dm|Ac8+Q?n4mzoBVZAXkbZvnPG%-8}|kb5waa z9)Qn?kZciP%;%T;HiSuCoLpL8mo|n2W!8D9oiK`!8H1hOg6>9N z`B^3@jq8n<4U)LK*56qq%$X(Jwu4OkPv`bymV2CX{JQmzrs`c9tA;2yCzx>bsz1?+ zKj&_GT61IcUdb0Z<*#1*6F)k*x%oaX+J0Y{54m6Tv=)j3#mEdQ_ut0>99wIab$T!& zgDl|88xJmfoG;iA7L`%xJikg7nJz)Z*~vLpB|xbwDhf%vi_O{_05v~Mohw;P z?L10cDbCO4Xr?`8oMjJAef?#{5<9v)oM#?={6!_f1r6=)$dqmsEsYlpXP#tJ#=mec z2XQ545NU;593d8RyAhX#cY_#^16^Zlf~*Il%$oWd+({o@_Fq{naE1|1luS0|u?gR+ zMt%<)=y_#5lw}Js*n98to)ux?w71GicN_2Mag-&uwkaknCJgiIi48`;(>=_;$mf?H zU`M4xj3g!LAVh~G$n1|I0axDP##XkLQU5}z&|oe0$Xl{x%zbIt3`UX-rz4WTUu>T_ z*$qJe`Zb&0d}}Uaankg5=X=LC(}d**ty_?vk`iX;3AV|{+o}eK91VM&ss?yf_7l`} zBaBg!$SKKQnasye>v{?@NvxW9Ff&>L+LoHIH8Gw$IwF=H(ewshZOoMRe&!ODAg^2r zMC~*ih5?kgR57r?iO$kS92P0CQg#cVF~PRt8@s zw~b*Mqfyl7@e$%Q=~Fp%Q&ZhvVS-&;B+PI_7q%*Qw}GF9lBq^jf5B=VGe@b zBimz3$QE**9SX{J%dNgeG>tW^i!F&9t}fzXV!~1-y$QiQEVD8&&}SKw6oo34-WscQ zCNivY4pzz)aPcx+-fHfzv2}d`IZ+_Cbg%ThsW0Z(*tH)e-3vF$K!9KOuW#Z_sxuWX+5}48f(<*z47D3xhK({+aQ#B`u z9H;HB+bcg*Y0anT`j!562WT|1aMc%iCIW{okdtlxb6&xP82~#0-XP?cLF?{~GKWE& zYcDJctQsiFQ)zi}-G$c73EV2qw>ioGz*MCzuQD){A4Vo2`WrVH8HGS5%Imc8V3=;F zSQeSH+`oO7mN)S9R(7CXc9;y@;B9px6_kyX{9YO!m@WCvTJW6wwNxYUHOrxT*RWy|dYnR{0uCDYP(+XJy={Bnz+tMWH9lDi>aPo87w@)_NM zeQ@F6=%}C}yN=Wd{?kZd00C{Lm7i$uuR zvsW(f_(O(rvkxA~8iuM3q4LA*dUg?!KG&b;{1MULA7|mTz39v+NlV1wi+fE37TaHL zv)=F5!=WvYo7?k(m$`D=U1#!$`0!=0++j;)ak4MSzW(v*=9CsOtgry8d_ZcqHXmKa zzk$KsKWZ(m+Q+}{z;avatTgGFx%nO6?J%pJOLnD&kzxj6QoErsI>GZZ_sy{eyocc{ z{Y@6uHQrTi=u(;SKvRqpK9`H z5jTM{>3k5zEm>a_s^KDhw1pS^x*iwjRyb=~{ZP({w13i&EP;|QdxCm>?q0)gKH zCM+$2M~h2Vy{s1b5Aj5Z=_sUw!Ew7A)gDZi!#xAZK-pcje_%M+bLY~@#ZlMxP5H8e z@j$*kiH)s2``m$Z)$S@waACnsRx)n4-2j|o<0;M9^iT_2lFyaaJ3dU1@PhXroGIoe zi-639tB?p4z&bq!o#USCK^VdQOR+_fk%S=GIaxlBWo32vEsdSN3tGB0z1>0d%f#c# zRl!ABVdZbX6BE602ja-Yy`BYT8+5|4$HJPe>3YvM1VMlkRGEAA){;*^RFRm!($g(L zI=Wre+?;j}P!s5%ZvOzN_~Q<6n5)dbm-FZCx;i;!QmQBK>wU~dNBG4l+YCCxR(Jm) zGvVvH)(Fyp%mUhxA+e%AJ)RIL+UGSQ_JMHa_Rz%lm@w_@1yE4dJLSUG`Ej6NxYL6r z^y{Cp96@Cra&5G)7t;PV75`W8Ee8JUj{GwajzW-XGMRz9UbCxzTYB(_fAPZq!)>jwHXoO35Cn?5@1k6H_ZU`4NC>wM z_mF=PoCuYZLk+w~Y>I33$V$6hSl*oZzh8RPjfjnoCU!d{)QC;b-L~Mcy9-cAYh<3g3R(UHJ1#V6H3Y4}eQT|Ye_#-5WQ0p^_^!M6OF)*E6$^aG=|6A4 zhtROKA0|=>yDKEw*put&?Nsq cR5z|L%4g&Pv@0-EZ-DYp;W4}f`Yh=G0Lim;Jpcdz literal 0 HcmV?d00001 diff --git a/src/components/NavigationDocs.jsx b/src/components/NavigationDocs.jsx index 7463b228..a0b299d5 100644 --- a/src/components/NavigationDocs.jsx +++ b/src/components/NavigationDocs.jsx @@ -406,21 +406,46 @@ export const docsNavigation = [ links: [ { title: 'Authentication', - href: '/manage/settings/enforce-periodic-user-authentication', - }, - { - title: 'Multi-Factor Authentication', - href: '/manage/settings/multi-factor-authentication', + isOpen: false, + links: [ + { + title: 'Peer Session Expiration', + href: '/manage/settings/enforce-periodic-user-authentication', + }, + { + title: 'Multi-Factor Authentication', + href: '/manage/settings/multi-factor-authentication', + }, + ], }, { title: 'Permissions', href: '/manage/settings/permissions', }, - { title: 'IPv6 Overlay Addressing', href: '/manage/settings/ipv6' }, - { title: 'Auto Update', href: '/manage/peers/auto-update' }, - { title: 'Lazy Connections', href: '/manage/peers/lazy-connection' }, { - title: 'Client Metrics', + title: 'Groups', + href: '/manage/settings/groups', + }, + { + title: 'Networks', + isOpen: false, + links: [ + { + title: 'Network Settings', + href: '/manage/settings/networks', + }, + { + title: 'IPv6 Overlay Addressing', + href: '/manage/settings/ipv6', + }, + ], + }, + { + title: 'Clients', + href: '/manage/settings/clients', + }, + { + title: 'Metrics', href: '/manage/client-metrics', }, { diff --git a/src/pages/client/block-inbound-connections.mdx b/src/pages/client/block-inbound-connections.mdx index 929e5e20..3ff2642e 100644 --- a/src/pages/client/block-inbound-connections.mdx +++ b/src/pages/client/block-inbound-connections.mdx @@ -24,6 +24,10 @@ When Block Inbound Connections is enabled, the client will not add any inbound f - **Routed network traffic**: If this peer acts as a routing peer, inbound traffic to its routed networks is also blocked. - **SSH access**: NetBird SSH connections to this peer are blocked. + + [`netbird expose`](/manage/reverse-proxy/expose-from-cli) requires inbound connections, so the command fails while this setting is enabled. + + This setting overrides all policies from the management service. Even if an access control policy explicitly allows traffic to this peer, inbound connections will still be blocked. diff --git a/src/pages/client/desktop-app.mdx b/src/pages/client/desktop-app.mdx index 8b62ebb9..261327d1 100644 --- a/src/pages/client/desktop-app.mdx +++ b/src/pages/client/desktop-app.mdx @@ -52,7 +52,7 @@ A colored status dot sits next to the tray icon so you can read the state of you NetBird system tray status indicator

-The tray menu also provides profile switching, session-renewal access, exit-node selection, Settings, Help & Support, and **Quit NetBird**. Closing the main window only hides it while the daemon and network connection continue running. Choosing **Quit NetBird** disconnects the daemon before the desktop app exits. +The tray menu also provides profile switching, session-renewal access, exit-node selection, Settings, Help & Support, and **Quit NetBird**. Closing the main window only hides it while the daemon and network connection continue running. Choosing **Quit NetBird** disconnects the daemon before the desktop app exits, unless **Stay Connected After Quitting** is enabled in **Settings → General** (requires client v0.76.2 or later). That setting is off by default; with it enabled, the connection keeps running after quitting and only stops when you disconnect it yourself. ## Exit Nodes @@ -62,7 +62,7 @@ The compact view shows the active exit node. Open the exit-node selector in the The settings page uses a tabbed layout that groups options by what they control. The tabs you see depend on your role and on any [MDM policy](#mdm-driven-ui) in effect. The full set is: -* **General** for everyday toggles: Connect on Startup, Launch NetBird UI at Login, notifications, and display language. +* **General** for everyday toggles: Connect on Startup, Launch NetBird UI at Login, Stay Connected After Quitting, notifications, and display language. * **Network** for connectivity, DNS, routes, and IPv6 settings. * **Security** for inbound traffic, LAN access, and quantum-resistant encryption settings. * **Profiles** for managing the accounts the app knows about. See [Profiles](/client/profiles). diff --git a/src/pages/get-started/cli.mdx b/src/pages/get-started/cli.mdx index b5d86159..b69e0414 100644 --- a/src/pages/get-started/cli.mdx +++ b/src/pages/get-started/cli.mdx @@ -694,6 +694,7 @@ sudo netbird service install --config /opt/netbird/config.json #### Service-specific flags ```shell + --disable-networks Disables network selection. --disable-profiles Disables profiles feature. --disable-update-settings Disables update settings feature. --service-env strings Sets extra environment variables for the service. You can specify a comma-separated list of KEY=VALUE pairs. E.g. --service-env NB_LOG_LEVEL=debug,CUSTOM_VAR=value @@ -701,6 +702,7 @@ sudo netbird service install --config /opt/netbird/config.json These flags are intended for managed or shared machines where non-admin users should not be able to alter the client configuration through the CLI or UI: +- `--disable-networks` prevents users from listing, selecting, or deselecting networks (including exit nodes) via CLI or UI. The flag is persisted in the service's `service.json` state file; there is no `NB_DISABLE_NETWORKS` environment-variable equivalent. - `--disable-profiles` prevents users from adding, removing, or switching profiles. The client stays locked to the profile that was active at install time. Any attempt to switch profiles via CLI or UI is rejected. - `--disable-update-settings` prevents users from changing daemon settings (management URL, log level, DNS resolver address, etc.) via CLI or UI. The configuration can only be changed by an administrator who reinstalls the service or uses `service reconfigure`. diff --git a/src/pages/help/troubleshooting-client.mdx b/src/pages/help/troubleshooting-client.mdx index 60c55f19..6d5de68b 100644 --- a/src/pages/help/troubleshooting-client.mdx +++ b/src/pages/help/troubleshooting-client.mdx @@ -275,7 +275,7 @@ The archive collects the most useful diagnostics into one file, and every bundle | `service_params.json` | Service-install parameters when available; sensitive environment values are masked | | `metrics.txt` | Buffered client metrics when available; peer identifiers are anonymized | -With `--anonymize`, IP addresses, domains, and interface names are replaced consistently across every file, so the bundle stays readable while sensitive values are masked. Private keys and SSH keys are never included, and the packet capture (`capture.pcap`) is left out of anonymized bundles because it holds raw decrypted packets. +With `--anonymize`, public IP addresses, domains, and MAC addresses are replaced consistently across every file, so the bundle stays readable while sensitive values are masked; private, CGNAT, and link-local IP ranges are kept, and interface names are not anonymized. Adding `--anonymize-level strict` (which implies `--anonymize`) also masks those internal IP ranges, peer names, and WireGuard public keys. Private keys and SSH keys are never included, and the packet capture (`capture.pcap`) is left out of anonymized bundles because it holds raw decrypted packets. ### Debug for a specific time diff --git a/src/pages/manage/access-control/index.mdx b/src/pages/manage/access-control/index.mdx index b7ed5002..8cb7843e 100644 --- a/src/pages/manage/access-control/index.mdx +++ b/src/pages/manage/access-control/index.mdx @@ -63,6 +63,10 @@ When a user signs into NetBird on a device (such as a Windows computer using the 2. **Automatic Assignment:** When a user signs into NetBird with SSO on their device, that device (peer) automatically inherits the user's group memberships 3. **Dynamic Updates:** If a user's group membership changes in the IdP, their device's access permissions update accordingly + + This automatic inheritance is controlled by the account-level `Enable user group propagation` setting, which is on by default. See [Groups Settings](/manage/settings/groups) for details. + + **Methods for assigning user groups to peers:** - **Automatic via SSO:** The recommended method. When users authenticate through your IdP, their device automatically receives the appropriate group assignments diff --git a/src/pages/manage/client-metrics.mdx b/src/pages/manage/client-metrics.mdx index 8fa77b18..8ac5f7cf 100644 --- a/src/pages/manage/client-metrics.mdx +++ b/src/pages/manage/client-metrics.mdx @@ -5,13 +5,15 @@ import {Note} from "@/components/mdx"; Client metrics allow you to collect performance data from your NetBird clients, such as connection timing, sync duration, and login latency. This data helps identify connectivity issues and optimize your deployment. -When enabled, clients periodically push metrics to a collection server. +Metrics push is disabled by default. When enabled, clients periodically push metrics to a collection server. +Clients always collect these metrics locally and include them in [debug bundles](/help/troubleshooting-client#debug-bundle) +regardless of this setting. The setting only controls whether the metrics are pushed. ## What is collected -- **Connection stages** — Time taken for each stage of a peer connection: signaling, connection establishment, and WireGuard handshake. -- **Sync duration** — How long it takes to process management server sync messages. -- **Login duration** — How long the login to the management server takes, including success or failure status. +- **Connection stages**: Time taken for each stage of a peer connection, covering signaling, connection establishment, and WireGuard handshake. +- **Sync duration**: How long it takes to process management server sync messages, including individual processing phases. +- **Login duration**: How long the login to the management server takes, including success or failure status. Each metric includes metadata such as the client version, operating system, architecture, and deployment type (cloud or self-hosted). Peer identifiers are hashed before transmission. @@ -24,7 +26,14 @@ Each metric includes metadata such as the client version, operating system, arch 1. Navigate to **Settings** > **Metrics**. 2. Toggle **Share performance metrics** to enable or disable metrics push for all peers in your account. -When enabled, all connected clients will start pushing metrics on their next sync with the management server. +Changing the toggle requires the **Owner** or **Admin** role. For other roles the toggle is disabled. +Connected clients apply the change within seconds through a management update; offline clients pick it up on their +next login. Enabling or disabling the setting is recorded in the account activity log. + + + Controlling metrics push from the dashboard requires client version `0.74.0` or later. Older clients ignore the + account setting and only push metrics when `NB_METRICS_PUSH_ENABLED=true` is set (supported since version `0.67.0`). + ## Environment variable override @@ -38,5 +47,8 @@ The `NB_METRICS_PUSH_ENABLED` environment variable on the client takes precedenc When `NB_METRICS_PUSH_ENABLED` is explicitly set on the client, changes to the dashboard toggle will have no effect on that client. - Setting it to `false` is an explicit opt-out from metrics collection for that client. + Setting it to `false` is an explicit opt-out from metrics push for that client. + +You can additionally set `NB_METRICS_INTERVAL` to a duration value (e.g., `30m`, `1h`) to override how often metrics +are pushed. diff --git a/src/pages/manage/peers/auto-update.mdx b/src/pages/manage/peers/auto-update.mdx index cb9f4903..bb006b42 100644 --- a/src/pages/manage/peers/auto-update.mdx +++ b/src/pages/manage/peers/auto-update.mdx @@ -14,28 +14,27 @@ The Automatic Updates feature allows the NetBird client to notify users when a n If you're self-hosting NetBird, ensure your server is updated to version v0.61.0, which adds support for Automatic Updates. - - This feature is currently under active development and will continue to evolve. Future releases will add Linux support, and handling for long-running peers. - - ## Enable Automatic Updates ![Automatic Updates](/docs-static/img/manage/peers/auto-update/dashboard.png) -To enable client auto updates, navigate to [Settings » Clients](https://app.netbird.io/settings) and enable 'Automatic Updates'. +To enable client auto updates, navigate to **Settings » Clients** in your NetBird dashboard ([app.netbird.io/settings](https://app.netbird.io/settings) on NetBird Cloud, or your own Management dashboard when self-hosting) and select an update method under **Automatic Updates**: -You can either: - -* Update to latest stable version. -* Update to a specific version. +* **Disabled** - turn off automatic updates. This is the default. +* **Latest Version** - update clients to the latest stable release. +* **Custom Version** - pin clients to a specific version, entered without the `v` prefix (e.g., `0.61.0`). - Once enabled, NetBird clients will prompt the user to install the specified version when connecting via the UI, if the current version is older than the specified version. + Once enabled, NetBird clients will prompt the user to install the specified version if their current version is older. Clients are never downgraded: pinning a version older than a client's current version has no effect on that client. ### Force Automatic Updates -When you need updates to be installed without user interaction, enable the **Force Automatic Updates** toggle. With this option, updates are installed automatically in the background without prompting the user. +When you need updates to be installed without user interaction, enable the **Force Automatic Updates** toggle. With this option, updates are installed automatically in the background without prompting the user, even when the NetBird UI is not running. + + + Force Automatic Updates requires NetBird version v0.67.0 or later on both the Management server and the clients. + Enabling Force Automatic Updates will restart the NetBird client during updates, which can temporarily disrupt active connections. Use with caution in production environments. @@ -44,10 +43,10 @@ When you need updates to be installed without user interaction, enable the **For ## How it works -1. **User-Initiated Connection**: When a Peer connects to Management, it will receive the current Automatic Updates settings. -2. **Version Check**: The Peer will compare its current version with the version specified in the Automatic Updates settings. +1. **Settings Sync**: When a Peer connects to Management, it receives the current Automatic Updates settings. Connected Peers also receive setting changes immediately, without reconnecting. +2. **Version Check**: The Peer will compare its current version with the version specified in the Automatic Updates settings. Peers following the latest version also re-check for new releases periodically (every 30 minutes) while running. 3. **Update Process**: - 1. If the Peer is running an older version than specified, it will prompt the user to install the update. + 1. If the Peer is running an older version than specified, it will prompt the user to install the update via a system notification and an install entry in the NetBird tray menu. 2. Client will then download the update package from the official NetBird repository. 3. The Peer will then install the update and restart itself to apply the changes. @@ -56,8 +55,8 @@ When **Force Automatic Updates** is enabled, step 3.1 is skipped, the update is ## Supported Platforms Automatic Updates are supported on the following platforms only: -- Windows -- macOS (with PKG installer) +- Windows (EXE and MSI installers) +- macOS (PKG installer only; Homebrew installations are not auto-updated) Linux support is not available at this time due to the variety of distributions and package managers. A future release may include support for popular distributions. @@ -69,9 +68,8 @@ Linux support is not available at this time due to the variety of distributions ## Notes 1. Automatic Updates will be set to "disabled" by default. -2. If the Peer is unable to download or install the update (e.g., due to network issues), it will show an error notification but will not retry until the next restart. -3. For long-running Peers, a future release may include support for periodic update checks during runtime. -4. All notifications related to Automatic Updates will be shown only if NetBird UI is running and Notifications are enabled. +2. If a peer cannot download or install the update (e.g., due to network issues), the client shows an error notification. Forced updates are retried automatically on subsequent update checks; prompted updates can be retried by the user from the tray menu. +3. Update prompts and notifications require the NetBird UI to be running with Notifications enabled. Forced updates are installed by the NetBird service even when the UI is not running. ## Get started
diff --git a/src/pages/manage/peers/lazy-connection.mdx b/src/pages/manage/peers/lazy-connection.mdx index 89e2c7bd..0555f745 100644 --- a/src/pages/manage/peers/lazy-connection.mdx +++ b/src/pages/manage/peers/lazy-connection.mdx @@ -12,12 +12,14 @@ Lazy connections reduce resource use in large NetBird networks by opening peer c When lazy connections are enabled, the client: -- Starts a connection to a peer when traffic is sent to it. -- Tears down an established peer connection after it has been idle for the configured inactivity threshold. +- Starts a connection to a peer when traffic is sent to it, or when the remote peer signals a connection attempt. +- Tears down an established peer connection after it has been idle for the configured inactivity threshold. Idle detection runs on clients using userspace WireGuard; a client running kernel WireGuard relies on the remote peer to detect inactivity and close the connection. +- Keeps routing peers in the same high-availability group awake together while any one of them is active, so failover targets stay usable. - Keeps peers used for ingress forwarding connected so forwarding targets remain reachable. +- Opens permanent connections to peers whose client version does not support lazy connections. - Reopens all applicable peer connections when lazy connections are disabled. -The default inactivity threshold is `15m`. Change it with `NB_LAZY_CONN_INACTIVITY_THRESHOLD`, using a [Go duration](https://pkg.go.dev/time#ParseDuration) such as `30m` or `1h`. +The default inactivity threshold is `15m`. Change it with `NB_LAZY_CONN_INACTIVITY_THRESHOLD`, using a [Go duration](https://pkg.go.dev/time#ParseDuration) such as `30m` or `1h`. The minimum is `1m`; shorter or invalid values fall back to the default. The first request to an idle peer can take slightly longer while NetBird establishes the connection. @@ -31,10 +33,16 @@ Set `NB_DNS_LAZY_WARMUP_TIMEOUT` on the daemon to change this per-query wait. Th ## Enable Lazy Connections in Management -The account setting in the NetBird Dashboard is the normal source of truth. When it is enabled, compatible clients activate their lazy connection manager. When it is disabled, clients stop lazy mode and immediately attempt to connect to all applicable peers. +The account setting in the NetBird Dashboard is the normal source of truth: go to `Settings` > `Clients` and turn on the `Enable Lazy Connections` toggle. When it is enabled, compatible clients activate their lazy connection manager. When it is disabled, clients stop lazy mode and immediately attempt to connect to all applicable peers. + +Accounts created on NetBird v0.74.0 or later have lazy connections enabled by default. Accounts created before that keep the setting disabled until an administrator turns it on. Existing active connections are not interrupted merely because lazy mode is enabled. They become eligible for teardown after the inactivity threshold. + + Clients with [Rosenpass post-quantum cryptography](/client/post-quantum-cryptography) enabled do not start the lazy connection manager and keep permanent connections regardless of this setting. + + ## Override the Management Setting on a Client Set `NB_LAZY_CONN` on the NetBird daemon when one client must override the account setting: @@ -47,7 +55,7 @@ sudo netbird service reconfigure --service-env NB_LAZY_CONN=on sudo netbird service reconfigure --service-env NB_LAZY_CONN=off ``` -`on` and `off` override Management in both directions. Leave the variable unset to follow the Management setting. See [Client Environment Variables](/client/environment-variables#ice-and-connectivity) for service configuration details. +`on` and `off` override Management in both directions; boolean values such as `true`/`false` or `1`/`0` are also accepted. Leave the variable unset to follow the Management setting. See [Client Environment Variables](/client/environment-variables#ice-and-connectivity) for service configuration details. On MDM-managed clients, the boolean `lazyConnection` policy key provides the same local override: `true` forces lazy connections on, `false` forces them off, and an absent key defers to Management. If both are configured, `NB_LAZY_CONN` takes precedence over MDM. diff --git a/src/pages/manage/peers/register-machines-using-setup-keys.mdx b/src/pages/manage/peers/register-machines-using-setup-keys.mdx index 2d74249c..ec1c4b5d 100644 --- a/src/pages/manage/peers/register-machines-using-setup-keys.mdx +++ b/src/pages/manage/peers/register-machines-using-setup-keys.mdx @@ -44,6 +44,7 @@ From there, you can add new keys or revoke existing ones. ## Expiration You can set an expiration date when creating a key. Once expired, the key can no longer be used. +The create-key dialog pre-fills an expiration of 7 days. Leave the field empty to create a key that never expires. ## Usage Limit @@ -71,6 +72,7 @@ Every peer registered with this key is automatically added to those groups, and To configure `Auto-assign groups`, open `Settings` → `Setup Keys` and create or update a setup key. Then use this key to enroll new machines. +You can also edit the auto-assigned groups of an existing key directly from the `Groups` column of the setup keys table, provided your role allows updating setup keys.

high-level-dia diff --git a/src/pages/manage/reverse-proxy/authentication.mdx b/src/pages/manage/reverse-proxy/authentication.mdx index a2cc2556..64f086a9 100644 --- a/src/pages/manage/reverse-proxy/authentication.mdx +++ b/src/pages/manage/reverse-proxy/authentication.mdx @@ -96,6 +96,7 @@ You can optionally restrict access to specific **distribution groups** from your - Sessions last **24 hours** before re-authentication is required - Optionally restrict access to specific distribution groups synced from your IdP - When no groups are selected, any authenticated user in your organization can access the service +- Users who are blocked or still [pending approval](/manage/team/approve-users) in NetBird are denied access even after successfully authenticating with the IdP **Self-hosted deployments:** SSO authentication uses whichever OIDC provider is configured in your management server. If you use the built-in embedded IdP, SSO works automatically. If you use an external identity provider (Auth0, Okta, Keycloak, etc.) without the embedded IdP, you must register the reverse proxy callback URL with your IdP before SSO will work. See the [Enable Reverse Proxy migration guide](/selfhosted/migration/enable-reverse-proxy#configure-sso-for-external-identity-providers) for step-by-step instructions. diff --git a/src/pages/manage/reverse-proxy/expose-from-cli.mdx b/src/pages/manage/reverse-proxy/expose-from-cli.mdx index c4ae2a8b..e0b2ffe2 100644 --- a/src/pages/manage/reverse-proxy/expose-from-cli.mdx +++ b/src/pages/manage/reverse-proxy/expose-from-cli.mdx @@ -17,6 +17,10 @@ Before using `netbird expose`, make sure: - The **Peer Expose** feature is enabled by your account administrator (see [Enable peer expose](#enable-peer-expose) below). - If peer group restrictions are configured, your peer must be in one of the allowed groups. + + `netbird expose` requires inbound connections: if [Block Inbound Connections](/client/block-inbound-connections) is enabled on the peer, the command fails until you disable that setting. + + ## Enable peer expose An account administrator must enable peer expose before any peer can use the `netbird expose` command. diff --git a/src/pages/manage/settings/clients.mdx b/src/pages/manage/settings/clients.mdx new file mode 100644 index 00000000..ef70039d --- /dev/null +++ b/src/pages/manage/settings/clients.mdx @@ -0,0 +1,34 @@ +export const description = + 'Configure account-wide client behavior: automatic updates, lazy connections, and exposing services from the CLI.' + +# Client Settings + +The `Clients` tab under [Settings](https://app.netbird.io/settings) holds account-wide settings that control how NetBird clients behave. Changing these settings requires a role with permission to update settings, such as `Owner` or `Admin`. Roles with read-only access to settings can view the tab, but the controls are disabled. + +

+ Client settings tab showing Automatic Updates, Expose Services from CLI, and Lazy Connections +

+ +## Automatic Updates + +Choose an update method for your clients: keep them on the latest stable release, pin them to a specific version, or disable updates. The `Force Automatic Updates` toggle installs updates in the background without user interaction. + +See [Client Automatic Updates](/manage/peers/auto-update) for the full behavior, platform support, and version requirements. + +## Expose Services from CLI + +The `Enable Peer Expose` toggle allows peers to expose local HTTP services through the NetBird reverse proxy using the `netbird expose` command. This requires NetBird v0.66.0 or later. + +When enabled, you must select at least one peer group under `Allowed peer groups`. Only peers in the selected groups can expose services. + +See [Expose Services from the CLI](/manage/reverse-proxy/expose-from-cli) for command usage and examples. + +## Lazy Connections + +Instead of maintaining always-on connections, NetBird can activate peer connections on demand based on activity or signaling. Enable the `Enable Lazy Connections` toggle to turn this on for compatible clients. This requires NetBird client v0.50.1 or higher. + +See [Lazy Connections](/manage/peers/lazy-connection) for how activation works, inactivity thresholds, and per-client overrides. + +## Agent Network-focused view + +Accounts using [Agent Network](/agent-network) see an additional `Agent Network focused view` toggle. When enabled, the dashboard shows only the Agent Network-related sections and hides parts that are not relevant for it, such as Networks, DNS, and Reverse Proxy. Disable it to bring back the full dashboard. diff --git a/src/pages/manage/settings/delete-account.mdx b/src/pages/manage/settings/delete-account.mdx index abef7727..a5001940 100644 --- a/src/pages/manage/settings/delete-account.mdx +++ b/src/pages/manage/settings/delete-account.mdx @@ -1,13 +1,13 @@ import {Note} from "@/components/mdx"; # Delete your NetBird account -To delete your NetBird organization account, you must be a user with the [owner role](/manage/team/user-roles#owner). You can ask the owner to delete the organization account if you are not the account owner. +To delete your NetBird organization account, you must be a user with the [owner role](/manage/team/user-roles#owner). The `Danger zone` tab is only visible to the account owner, so you can ask the owner to delete the organization account if you are not the account owner. If your account is managed by an MSP (Managed Service Provider) parent account, the `Danger zone` tab is not available. ## Delete your account Before proceeding to delete your Netbird account, please be aware that this action is irreversible. Once your account is deleted, you will permanently lose access to all associated data, including your peers, users, groups, policies, and routes. - Go to the `Settings` tab, then click on `Danger Zone`. Review the message and click on the `Delete Account` button. + Go to the `Settings` tab, then click on `Danger zone`. Review the message and click on the `Delete Account` button.

high-level-dia

diff --git a/src/pages/manage/settings/enforce-periodic-user-authentication.mdx b/src/pages/manage/settings/enforce-periodic-user-authentication.mdx index 9a69673c..731a9516 100644 --- a/src/pages/manage/settings/enforce-periodic-user-authentication.mdx +++ b/src/pages/manage/settings/enforce-periodic-user-authentication.mdx @@ -1,8 +1,8 @@ -# Enforce periodic user authentication +# Peer Session Expiration -To ensure a high level of security, NetBird offers a peer login expiration feature that requires users to periodically reauthenticate their devices. -Every new network has this feature enabled, and the expiration period is set to 24 hours by default. You can disable this feature and configure the expiration period in the account settings in the web UI https://app.netbird.io/settings. +To ensure a high level of security, NetBird offers a peer session expiration feature (shown as **Peer Session Expiration** in the dashboard) that requires users to periodically reauthenticate their devices. +Every new account has this feature enabled, and the expiration period is set to 24 hours by default. You can disable this feature and configure the expiration period in the account settings in the web UI https://app.netbird.io/settings. This feature is only applied to peers added with the [interactive SSO login feature](/get-started/install#running-net-bird-with-sso-login). Peers, added with a setup key, won't be affected. @@ -16,8 +16,8 @@ Expired peers will appear in the peers' view with the status `Login required`. ## Configure and disable expiration The expiration period can be set to anything between one hour and 180 days. -Go to the Web UI `Settings` tab and set the desired period in the Authentication section. -You can also disable the expiration for the whole network in the same section. +Go to the Web UI `Settings` page, open the `Authentication` tab, enable the `Peer Session Expiration` toggle, and set the desired period in the `Session Expiration` field below it (in hours or days). +You can also disable the expiration for the whole account in the same section.

peer-login-expiration @@ -29,11 +29,25 @@ You can also disable the expiration for the whole network in the same section. and re-authentication will be required. +## Require login after disconnect +In addition to the periodic expiration, you can require re-authentication when a peer loses its connection to the management service. +Enable the `Require login after disconnect` toggle under `Peer Session Expiration` in the `Authentication` tab. +When enabled, peers added with SSO login that stay disconnected from management for 10 minutes will require re-authentication before reconnecting. +This is useful for tightly controlled environments where a device that goes offline, such as a laptop that is shut down or leaves the network, should prove the user's identity again before rejoining. + +This option is only available while `Peer Session Expiration` is enabled, and it can also be toggled individually per peer in the peer's detail view. + +## Session expiration warnings +Starting with NetBird client v0.75, the desktop client warns users before their session expires instead of silently disconnecting them. +A system notification appears 10 minutes before expiration, letting the user extend the session by re-authenticating right away. +If the user hasn't acted on it, a final warning dialog opens 2 minutes before the session expires. +This gives users a chance to re-authenticate without interrupting their work or losing connectivity. + ## Disable expiration individually per peer Sometimes, you might want to disable peer expiration for some peers. -With NetBird you can disable login expiration per peer without disabling expiration globally. -In `Peers` click on the peer you want to disable expiration for and use the Login Expiration switch. (Session expiration only applies to peers with a user behind them; peers enrolled with a setup key are already exempt.) -Peers with `Expiration disabled` will be marked with a corresponding label in the Peers table. +With NetBird you can disable session expiration per peer without disabling expiration globally. +In `Peers` click on the peer you want to disable expiration for and use the `Session Expiration` toggle. (Session expiration only applies to peers with a user behind them; peers enrolled with a setup key are already exempt.) +Peers with disabled expiration are marked with a timer icon in the Peers table, and hovering over it shows a note that expiration is disabled for this peer.

peer-login-expiration diff --git a/src/pages/manage/settings/groups.mdx b/src/pages/manage/settings/groups.mdx new file mode 100644 index 00000000..09e4924b --- /dev/null +++ b/src/pages/manage/settings/groups.mdx @@ -0,0 +1,58 @@ +export const description = 'Control how user group memberships propagate to peers, and configure JWT group sync on self-hosted deployments, in the Groups tab of your account settings.' + +# Groups Settings + +The `Groups` tab in your account settings (the page itself is titled `User Groups`) controls how group memberships flow from users to their devices. Its main setting is `Enable user group propagation`. On self-hosted deployments it also holds the JWT group sync configuration. + +To find it, log in to your NetBird dashboard and navigate to `Settings` > `Groups`. + + + This tab is only about account-wide group behavior. To view and manage the groups themselves, go to `Access Control` > `Groups`. See [Access Control](/manage/access-control) for how groups are used in policies. + + +## Enable user group propagation + +When this setting is enabled, the groups assigned to a user (their auto-groups) are automatically applied to every peer that user owns. If you add a group to a user or remove one, whether manually or through your identity provider, all of that user's peers are updated to match, and their access permissions change accordingly. + +This is what makes user groups work as described in [Access Control](/manage/access-control#user-groups): assign a group like `engineering-team` to a user once, and every device they log into carries that membership. + + + This setting is **enabled by default** on new accounts. + + +### What changes when you enable it + +If the setting was off and you turn it on, NetBird runs a one-time sync across the whole account: every user's peers are added to that user's groups where they are not already members. Existing group memberships are kept, nothing is removed. If the sync changes memberships that policies depend on, the affected peers receive an updated network map right away, so access changes take effect without waiting for the next login. + +While the setting is on, any later change to a user's groups is propagated to their peers immediately, in both directions: groups added to the user are added to their peers, and groups removed from the user are removed from their peers. + +### What changes when you disable it + +Turning the setting off does not remove any group memberships that were already propagated. Peers keep the groups they have. From that point on, changes to a user's groups no longer affect their peers, and you manage peer group membership yourself, either on the individual peers or in `Access Control` > `Groups`. + +## JWT group sync + + + JWT group sync is configured on self-hosted deployments only. On NetBird Cloud these controls are not shown, and groups are synchronized through the [IdP integrations](/manage/team/idp-sync) instead. + + +If your self-hosted deployment uses an external identity provider, `Enable JWT group sync` lets NetBird extract group names from a claim in the user's JWT access token, create matching NetBird groups automatically, and assign them to the user. With user group propagation enabled as well, those groups then reach the user's peers. + +Enabling the toggle reveals two fields: + +- `JWT claim`: the claim in the token that contains the list of group names, for example `groups` or `roles`. +- `JWT allow groups`: an optional allow list. When set, only users whose token contains one of the listed groups can access NetBird at all. + + + `JWT allow groups` can lock you out. If you save an allow group that your own user is not part of, you lose access to NetBird along with everyone else outside that group. The dashboard shows a confirmation dialog before saving for this reason. Make sure your own user is a member of the allow group in your IdP before saving. + + +For setup instructions, including how to configure the groups claim in specific identity providers, see [JWT group sync](/selfhosted/identity-providers#jwt-group-sync) in the identity provider documentation. + +## Changing the settings + +1. Go to `Settings` > `Groups`. +2. Toggle `Enable user group propagation`, and on self-hosted, configure JWT group sync if needed. +3. Click `Save Changes`. + +You need permission to update account settings to change anything on this tab, which in practice means an owner or administrator. Roles with read-only settings access, such as `Network Admin` and `Auditor`, can open the tab but the controls are disabled for them. diff --git a/src/pages/manage/settings/ipv6.mdx b/src/pages/manage/settings/ipv6.mdx index 7a31ec2d..d45aa317 100644 --- a/src/pages/manage/settings/ipv6.mdx +++ b/src/pages/manage/settings/ipv6.mdx @@ -10,13 +10,13 @@ NetBird supports dual-stack overlay networking, where each peer can receive both New accounts have IPv6 enabled by default for the **All** group, so every peer receives an IPv6 address out of the box. Existing accounts can enable it from the dashboard. -Navigate to **Settings > Network** and select which groups should have IPv6 enabled. Only peers that belong to at least one selected group will receive an IPv6 address. +Navigate to **Settings > Networks** and select which groups should have IPv6 enabled. Only peers that belong to at least one selected group will receive an IPv6 address. ![IPv6 network settings in the dashboard](/docs-static/img/manage/settings/ipv6/ipv6-network-settings.png) When a peer belongs to an IPv6-enabled group, it receives an overlay address from the account's IPv6 range. Peers that do not belong to any IPv6-enabled group only receive an IPv4 address. -The IPv6 network range is configured alongside your IPv4 range. Valid prefix lengths are `/48` through `/120`, and the default `/64` prefix provides enough addresses for most deployments. +The IPv6 network range is configured alongside your IPv4 range. The dashboard accepts prefix lengths from `/48` through `/112`, while the API accepts up to `/120`. The default `/64` prefix provides enough addresses for most deployments. Changing the range re-allocates the IPv6 addresses of all affected peers. ## Disabling IPv6 on a Client @@ -34,7 +34,7 @@ The flag is also available in the desktop UI under **Settings > Disable IPv6**, ### Address Assignment -Each peer receives at most one IPv4 and one IPv6 overlay address. Management assigns the IPv6 address when the peer first connects with a client that supports IPv6 and belongs to an IPv6-enabled group. +Each peer receives at most one IPv4 and one IPv6 overlay address. Management allocates the IPv6 address based on group membership: when you save the setting for peers that are already registered, or at registration time for new peers. The address only becomes active on peers whose client advertises IPv6 support. ![Peer detail page showing both IPv4 and IPv6 overlay addresses](/docs-static/img/manage/settings/ipv6/ipv6-peer-page.png) @@ -96,7 +96,7 @@ The following API fields relate to IPv6: ### Peers report no IPv6 address after enabling the setting -Peers only get an IPv6 address if they belong to at least one group listed in **IPv6 Enabled Groups** and if the client version supports the IPv6 overlay capability (v0.71.0+). Older agents don't advertise the capability and management skips IPv6 assignment for them. +Peers only get an IPv6 address if they belong to at least one group listed in **IPv6 Enabled Groups** and if the client version supports the IPv6 overlay capability (v0.71.0+). Older agents don't advertise the capability, so management leaves them out of IPv6 distribution: they don't get the address on their interface, and other peers don't receive AAAA records or IPv6 firewall rules for them. ### Routing peer has an IPv6 address but traffic doesn't reach the backend diff --git a/src/pages/manage/settings/multi-factor-authentication.mdx b/src/pages/manage/settings/multi-factor-authentication.mdx index d7d93569..5823ce13 100644 --- a/src/pages/manage/settings/multi-factor-authentication.mdx +++ b/src/pages/manage/settings/multi-factor-authentication.mdx @@ -9,13 +9,17 @@ NetBird MFA is primarily for users with **email / password login**. It is availa You may not need NetBird MFA. Your SSO Provider (Google, Microsoft etc.) may already have MFA enabled. Enabling this setting could result in duplicated MFA checks. - This feature is only available in the cloud version of NetBird.
Self-Hosted users can use their own Identity Provider for MFA. + This feature is only available in the cloud version of NetBird.
Self-Hosted users can use their own Identity Provider for MFA, or enable [MFA for local users](/selfhosted/identity-providers/enable-local-mfa) when using the embedded identity provider.
## Enabling and Disabling MFA Navigate to the Dashboard's `Settings` page and the `Authentication` tab and enable or disable MFA.
After enabling, you can `Logout` and log back in to see the MFA prompt. + + Accounts that use NetBird's embedded identity provider for local users see an additional `Enable Local MFA` toggle (currently in beta) in the same tab. This enforces a TOTP challenge for all local (email/password) users. See [Enable MFA for local users](/selfhosted/identity-providers/enable-local-mfa). + + - When disabling MFA, the current active MFA devices of all users will not be removed and will be reused when MFA is enabled again. To remove MFA devices from users, check the [Reset MFA](#reset-mfa) section below. - If a user is not part of the account and MFA is enabled, the first-time `Sign Up` will not require MFA.
Only subsequent logins will require MFA. @@ -34,7 +38,7 @@ Once enabled you will see a checkbox to remember your browser for 30 days while You can check individual user MFA status by going to the `Users` page of the Dashboard.
Click on a specific user to see their MFA status. - `Active` - MFA is enabled and user **has completed** the MFA setup. -- `Not enrolled` - MFA is enabled but user **has not completed** the MFA setup yet. +- `Not Enrolled` - MFA is enabled but user **has not completed** the MFA setup yet.

MFA Status diff --git a/src/pages/manage/settings/networks.mdx b/src/pages/manage/settings/networks.mdx new file mode 100644 index 00000000..7e381eb9 --- /dev/null +++ b/src/pages/manage/settings/networks.mdx @@ -0,0 +1,53 @@ +export const description = 'Configure account-wide network settings such as a custom IPv4 network range, a custom peer DNS domain, and routing peer DNS resolution.' + +# Network Settings + +The `Networks` tab in your account settings holds network-wide configuration that applies to every peer in your account: the DNS domain peers are named under, the IP ranges peers get their addresses from, and DNS resolution behavior for routed domains. + +To find it, log in to your NetBird dashboard and navigate to `Settings` > `Networks`. + +## DNS Domain + +Every peer gets a DNS name made up of its peer DNS label and the account's DNS domain, for example `server-1.netbird.cloud`. The `DNS Domain` setting replaces the default domain with one of your own, so peers resolve as, for example, `server-1.vpn.example.com` instead. + +When the field is empty, the account uses the server default: `netbird.cloud` on NetBird Cloud and `netbird.selfhosted` on self-hosted deployments (self-hosted servers can also set a different default in the management configuration). + +The value must be a valid domain name without wildcards, such as `example.com` or `intra.example.com`. It also cannot be a domain you already use as a [custom DNS zone](/manage/dns/custom-zones) in the same account; the update is rejected with a conflict error in that case. + + + Use a domain that does not resolve on the public internet, for example a dedicated subdomain like `vpn.example.com` that has no public records. NetBird clients answer queries for this domain themselves, so pointing it at a real, publicly resolvable domain would override its DNS results for your peers. + + +## Network Range + +Peers get their NetBird IPv4 address from the account's network range. New accounts are assigned a random `/16` subnet from the `100.64.0.0/10` carrier-grade NAT block, for example `100.77.0.0/16`, so the overlay network does not collide with common private LAN ranges. + +The `Network Range` setting lets you replace that with a custom IPv4 range in CIDR notation, for example `10.100.0.0/16`. The range must satisfy the following: + +- It must be a valid IPv4 CIDR prefix. Loopback, multicast, and link-local ranges are not allowed. +- The prefix can be at most `/28` (16 addresses). Larger prefixes such as `/29` are rejected as too small. +- It must be big enough for your current peers plus a 50% buffer, with a minimum of 10 usable addresses. For example, with 100 peers the range needs at least 150 addresses, so `/24` or larger. + + + Changing the network range immediately re-allocates the NetBird IP of **every peer** in the account. Peers receive new addresses from the new range, connected clients are updated with the new network map, and reverse proxy services are reloaded to pick up the new IPs. Anything that references the old NetBird IPs directly, such as firewall rules or scripts outside of NetBird, needs to be updated. Where possible, reference peers by DNS name or by group instead of by IP. + + +## IPv6 settings + +The `IPv6 Network Range` and `IPv6 Enabled Groups` settings on the same tab control dual-stack overlay addressing. See [IPv6 Overlay Addressing](/manage/settings/ipv6) for how to enable IPv6 and configure the IPv6 range. + +## Enable Routing Peer DNS Resolution + +When enabled, DNS lookups for routed domain resources are performed on the routing peer instead of on each client, so clients do not need to be able to resolve those names themselves. It requires NetBird client v0.35 or higher, and changes take effect after clients restart. See [Routing Peer DNS Resolution](/manage/networks/how-routing-peers-work#routing-peer-dns-resolution) for details on how it affects domain resources. + +## Traffic events + +On NetBird Cloud, the tab also contains an experimental `Enable Traffic Events` section for logging connection events between peers. See [Traffic Events Logging](/manage/activity/traffic-events-logging) for plan requirements and configuration. + +## Changing the settings + +1. Go to `Settings` > `Networks`. +2. Adjust the settings. Invalid values, such as a malformed CIDR range or domain, are flagged inline. +3. Click `Save Changes`. The `Enable Routing Peer DNS Resolution` toggle saves immediately without the button. + +You need permission to update account settings to change these values, which in practice means an owner or administrator. Roles with read-only settings access, such as `Network Admin` and `Auditor`, can open the tab but the fields are disabled for them. diff --git a/src/pages/manage/settings/notifications.mdx b/src/pages/manage/settings/notifications.mdx index f0be81f7..ddc3dbe3 100644 --- a/src/pages/manage/settings/notifications.mdx +++ b/src/pages/manage/settings/notifications.mdx @@ -5,10 +5,10 @@ export const description = # Notifications -NetBird can notify you when important events occur in your account, such as peers waiting for approval, routing peer disconnections, or new users joining. You can configure it under `Settings` > `Notifications` in the NetBird dashboard. +NetBird can notify you when important events occur in your account, such as peers waiting for approval, routing peer disconnections, or new users joining. You can configure it under `Settings` > `Notifications` in the NetBird dashboard. Notifications are currently in beta. Users who can view account settings, such as administrators and owners, can see the configuration, and only users with permission to update settings can change it. - This feature is currently only available in the cloud version of NetBird. + This feature is available in the cloud version of NetBird and in self-hosted deployments with an [enterprise license](/selfhosted/enterprise). The open-source self-hosted version does not include notifications.

@@ -23,7 +23,7 @@ NetBird supports three notification channels: | `Webhook` | Send notifications as HTTP POST requests to a custom endpoint | | `Slack` | Send notifications to a Slack channel via an Incoming Webhook | -Each channel can be independently enabled or disabled and configured with its own set of event types. +Each channel can be independently enabled or disabled and configured with its own set of event types. New channels start disabled with all event types selected. ## Supported Events @@ -35,7 +35,7 @@ All notification channels support the following events: | **Peer** | `Peer Added` | A new peer is added to the network | | **Peer** | `Routing Peer Disconnected` | A routing peer loses its connection | | **Peer** | `Routing Peer Deleted` | A routing peer is deleted from the network | -| **User** | `Pending Approval` | A user is waiting for approval to join the network | +| **User** | `User Pending Approval` | A user is waiting for approval to join the network | | **User** | `User Joined` | A new user joins the account | | **User** | `Service User Created` | A new service user is created | | **Integration** | `IdP Sync Token Expired` | The IdP sync token has expired and needs renewal | @@ -51,7 +51,7 @@ The email channel lets you send notifications to one or more email recipients. 1. Navigate to `Settings` > `Notifications` and click on the `Email` channel. 2. Use the `Enable Email Channel` toggle to enable or disable all email notifications. -3. Under `Email Addresses`, enter the email address you want to receive notifications and click `Add`. You can add multiple recipients. +3. Under `Email Addresses`, enter the email address you want to receive notifications and click `Add`. You can add multiple recipients. When you open the email channel for the first time, your own email address is added as a recipient automatically. 4. Toggle individual events on or off under the `Peer Notifications`, `User Notifications`, and `Integration Notifications` sections.

@@ -73,7 +73,7 @@ The webhook channel sends notification events as HTTP `POST` requests to a URL y Webhook channel page with Connect button

-3. In the `General` tab, enter the full HTTP(S) URL of your endpoint. Notification events will be sent as `POST` requests to this URL. Optionally, select an `Authentication` method for the endpoint. +3. In the `General` tab, enter the full HTTP(S) URL of your endpoint. Notification events will be sent as `POST` requests to this URL. Optionally, select an `Authentication` method for the endpoint: `No Authentication`, `Basic Auth`, `Bearer Token`, or `Custom Authentication`. When using an authentication method, we strongly recommend an HTTPS endpoint, since the credentials are sent with every request.

Connect Webhook modal showing the General tab with endpoint URL and authentication options @@ -91,8 +91,8 @@ Once connected, you can toggle individual events on or off, just like with the e ### Edit or Delete a Webhook -To update the webhook URL, authentication, or headers, click `Edit` on the webhook channel page.
-To remove the webhook entirely, click `Delete`. +To update the webhook URL, authentication, or headers, open the menu next to the connected webhook and select `Edit`.
+To remove the webhook entirely, select `Delete` and confirm.

Webhook channel page showing Edit and Delete options for a connected webhook diff --git a/src/pages/manage/settings/permissions.mdx b/src/pages/manage/settings/permissions.mdx index bed8d571..fc26f652 100644 --- a/src/pages/manage/settings/permissions.mdx +++ b/src/pages/manage/settings/permissions.mdx @@ -25,10 +25,10 @@ The restriction applies to users with the following roles: - `User` (regular users) - `Billing Admin` -Owners and administrators are never affected, and neither are service users acting through an access token with the appropriate permissions. +Users with the `Owner`, `Admin`, `Network Admin`, or `Auditor` [role](/manage/team/user-roles) are never affected, and neither are service users acting through an access token. - Despite the name, the setting also restricts billing admins. If you have billing admins who need to see peers, this setting has to be off. + Despite the name, the setting also applies to billing admins. Since a `Billing Admin`'s dashboard access is limited to billing pages regardless, in practice the setting mainly affects users with the `User` role. ### What changes when it is enabled @@ -54,4 +54,4 @@ Turning the setting off does not give regular users visibility of the whole netw 2. Toggle `Restrict dashboard for regular users` on or off. 3. Click `Save Changes`. -You need permission to update account settings to change this, which in practice means an owner or administrator. \ No newline at end of file +You need permission to update account settings to change this, which in practice means an owner or administrator. Roles with read-only settings access, such as `Network Admin` and `Auditor`, can open the tab but the toggle is disabled for them. \ No newline at end of file diff --git a/src/pages/manage/settings/plans-and-billing.mdx b/src/pages/manage/settings/plans-and-billing.mdx index 7778fa1e..b4976517 100644 --- a/src/pages/manage/settings/plans-and-billing.mdx +++ b/src/pages/manage/settings/plans-and-billing.mdx @@ -60,6 +60,12 @@ automatically adjust the machine costs as detailed in the following sections. To start or change your current plan, navigate to `Settings` > `Plans & Billing` and choose the plan you wish to upgrade or downgrade to. + +The `Plans & Billing` tab is available on NetBird Cloud only and is shown to users with billing permissions, such as the account `Owner`, `Admin`s, and `Billing Admin`s. See [user roles](/manage/team/user-roles) for details. + + +If your account is eligible for a free trial, the `Plans & Billing` tab also shows a `Start 14-Day Free Trial` button that temporarily unlocks NetBird's full set of features and integrations. After the trial ends, you return to your previous plan unless you choose to upgrade. Only the account `Owner` or an `Admin` can start a free trial: `Billing Admin`s can see the `Plans & Billing` tab, but the trial button is disabled for them. +

chose-plan

@@ -89,7 +95,7 @@ Please note that changes to the number of peers and user counts are updated in o ## Changing a Subscription -Based on your current plan, you have the flexibility to upgrade or downgrade at any time as your needs change. +Based on your current plan, you have the flexibility to upgrade or downgrade as your needs change. After changing your plan, you need to wait 48 hours from the last update before you can change it again. Your subscription cycle starts on the first day of your original subscription. If you adjust your plan during the billing cycle, and since billing occurs at the end of the subscription month, you will be charged for the plan you are on at the end of the billing cycle. @@ -119,6 +125,11 @@ Changes to your billing details apply to invoices issued after the update. Exist +## Viewing Invoices + +In addition to the Stripe billing portal, you can view your invoices directly in the NetBird dashboard. Navigate to `Settings` > `Invoices` to see your paid invoices and download them as PDF or CSV files. Invoices are created at the end of each billing period; PDF downloads redirect through Stripe, while CSV files download directly from the dashboard. For MSPs and distributors, the `Type` column distinguishes invoices for your own account from those for your tenants or customers. The `Invoices` tab is not shown for accounts managed by an MSP. + + ## Deleting an Account If you [delete your account](/manage/settings/delete-account), the final charge for your usage will be processed during the next daily statistics update cycle at 2 AM UTC. diff --git a/src/pages/manage/team/approve-users.mdx b/src/pages/manage/team/approve-users.mdx index d53597dd..e96ed584 100644 --- a/src/pages/manage/team/approve-users.mdx +++ b/src/pages/manage/team/approve-users.mdx @@ -2,6 +2,7 @@ import {Note} from "@/components/mdx"; # Approve users The user approval feature enhances security by requiring manual administrator approval before a user can join your NetBird organization via domain matching. +New NetBird Cloud accounts have user approval enabled by default. ## Require user approval Navigate to the Dashboard's `Settings` page and the `Authentication` tab and enable or disable `User Approval Required`. diff --git a/src/pages/selfhosted/identity-providers/index.mdx b/src/pages/selfhosted/identity-providers/index.mdx index e5771ced..939b22c1 100644 --- a/src/pages/selfhosted/identity-providers/index.mdx +++ b/src/pages/selfhosted/identity-providers/index.mdx @@ -72,9 +72,11 @@ NetBird supports any OIDC-compliant identity providers. Here are some popular pr - **Name** - Display name for the login button - **Client ID** - From your identity provider - **Client Secret** - From your identity provider - - **Issuer** - From your identity provider -6. Copy the **Redirect URL** and configure it in your identity provider -7. Click **Save** + - **Issuer URL** - From your identity provider (not shown for the `google` and `microsoft` provider types; all other types, including `entra`, require it) +6. Copy the **Redirect URL** and configure it in your identity provider. The modal also shows a **Logout URL** (`https://netbird.example.com/oauth2/logout/callback`) that you can register with your identity provider, though not all identity providers support logout. +7. Click **Add Provider** + +When editing an existing provider, the **Provider Type** cannot be changed after creation. Leaving the **Client Secret** field empty keeps the existing secret; entering a new secret becomes required if you change the **Client ID**. Click **Save Changes** to apply your edits. Make sure you are creating a confidential OIDC client in your identity provider. The secret will be stored privately in @@ -202,7 +204,7 @@ NetBird supports provisioning users and groups through SCIM. However, this funct #### "Invalid redirect URI" error -- Copy the exact Redirect URL from NetBird after creating the provider +- Copy the exact Redirect URL shown in the provider dialog (also available when editing the provider) - Ensure no trailing slashes or typos - Some providers are case-sensitive diff --git a/src/pages/selfhosted/identity-providers/local.mdx b/src/pages/selfhosted/identity-providers/local.mdx index a280a2dd..f8071fad 100644 --- a/src/pages/selfhosted/identity-providers/local.mdx +++ b/src/pages/selfhosted/identity-providers/local.mdx @@ -300,6 +300,10 @@ Users created through the embedded IdP can be assigned roles: | **Admin** | Manage users, peers, policies, and settings | | **User** | Connect devices, view assigned resources | + +[JWT group sync](/selfhosted/identity-providers#jwt-group-sync) does not apply to local users managed by the embedded IdP. Their groups are managed directly in NetBird. + + ## Instance Setup (First Run) When NetBird starts with the embedded IdP and no existing accounts, the Dashboard redirects to the `/setup` route and displays the **Instance Setup Wizard**: diff --git a/src/pages/selfhosted/maintenance/upgrade.mdx b/src/pages/selfhosted/maintenance/upgrade.mdx index d295c9f0..f869ba3b 100644 --- a/src/pages/selfhosted/maintenance/upgrade.mdx +++ b/src/pages/selfhosted/maintenance/upgrade.mdx @@ -61,6 +61,16 @@ To upgrade NetBird to the latest version: docker compose up -d --force-recreate netbird-server dashboard proxy ``` + +Keep the Management and proxy versions in sync. Starting with v0.76.1, if the [Reverse Proxy](/manage/reverse-proxy) component runs a newer version than Management, Agent Network LLM cost metering is silently disabled (the proxy skips cost computation and only logs a warning). Upgrade Management before or together with the proxy. + +Because the `netbirdio/reverse-proxy:latest` image tag does not tell you what is actually running, check the resolved proxy version with: +```bash +docker compose exec proxy /go/bin/netbird-proxy --version +``` +Compare it with the `management_current_version` field returned by `GET /api/instance/version` before upgrading. + + For upgrades from older versions (pre-v0.26.0), see the [Legacy upgrade notes](#legacy-self-hosting-with-zitadel-idp) below. diff --git a/src/pages/use-cases/remote-access/exit-nodes.mdx b/src/pages/use-cases/remote-access/exit-nodes.mdx index 15028db8..f6973983 100644 --- a/src/pages/use-cases/remote-access/exit-nodes.mdx +++ b/src/pages/use-cases/remote-access/exit-nodes.mdx @@ -201,7 +201,7 @@ If throughput lands well below a few Gbps, check these before resizing hardware: ## IPv6 Support - IPv6 overlay addressing requires NetBird v0.68.0 or later on both the routing peer and the clients. + IPv6 overlay addressing requires NetBird v0.71.0 or later on both the routing peer and the clients. When IPv6 is enabled in your account settings and the exit node peer supports it, the management server automatically generates a `::/0` route alongside the `0.0.0.0/0` route. No additional configuration is needed.