From dfa26885cffe6a877b867581088008bbf44debef Mon Sep 17 00:00:00 2001 From: jc Date: Sun, 4 Sep 2016 19:49:34 +0200 Subject: [PATCH] rsyslog: initial addon --- packages/addons/service/rsyslog/changelog.txt | 2 + .../service/rsyslog/icon/icon_rsyslog.png | Bin 0 -> 70691 bytes packages/addons/service/rsyslog/package.mk | 59 ++++++++++++++++ .../service/rsyslog/source/bin/rsyslog.init | 34 +++++++++ .../service/rsyslog/source/config/common.conf | 6 ++ .../rsyslog/source/config/journal.conf | 3 + .../service/rsyslog/source/config/kodi.conf | 65 ++++++++++++++++++ .../addons/service/rsyslog/source/default.py | 35 ++++++++++ .../resources/language/English/strings.po | 32 +++++++++ .../rsyslog/source/resources/settings.xml | 11 +++ .../rsyslog/source/settings-default.xml | 8 +++ .../source/system.d/service.rsyslog.service | 16 +++++ 12 files changed, 271 insertions(+) create mode 100755 packages/addons/service/rsyslog/changelog.txt create mode 100644 packages/addons/service/rsyslog/icon/icon_rsyslog.png create mode 100644 packages/addons/service/rsyslog/package.mk create mode 100644 packages/addons/service/rsyslog/source/bin/rsyslog.init create mode 100644 packages/addons/service/rsyslog/source/config/common.conf create mode 100644 packages/addons/service/rsyslog/source/config/journal.conf create mode 100644 packages/addons/service/rsyslog/source/config/kodi.conf create mode 100644 packages/addons/service/rsyslog/source/default.py create mode 100644 packages/addons/service/rsyslog/source/resources/language/English/strings.po create mode 100644 packages/addons/service/rsyslog/source/resources/settings.xml create mode 100644 packages/addons/service/rsyslog/source/settings-default.xml create mode 100644 packages/addons/service/rsyslog/source/system.d/service.rsyslog.service diff --git a/packages/addons/service/rsyslog/changelog.txt b/packages/addons/service/rsyslog/changelog.txt new file mode 100755 index 0000000000..9455e1f3c8 --- /dev/null +++ b/packages/addons/service/rsyslog/changelog.txt @@ -0,0 +1,2 @@ +8.0.100 +- Initial addon diff --git a/packages/addons/service/rsyslog/icon/icon_rsyslog.png b/packages/addons/service/rsyslog/icon/icon_rsyslog.png new file mode 100644 index 0000000000000000000000000000000000000000..322015c5e04c2c06bd57cccf78e987bef4166dcd GIT binary patch literal 70691 zcmbSxWmH_xvhU#TF2M;lfx+D^xVyW%yGw8g9yGW+1P$))?(XjL_@8^ueec6v_rset zvu5w!UDDOnz3W%iKjdY_k>K&+0RRA!#CH)z001oRpC2svXA8<&?yt{3JZDjLXC*sR zXEy^!6M&$xouLVdgpGljiK2;tv4_Ku2@e1OVQ!(U?yN2&&1Ga~LvQd;A9{Bi`%h{B zfQR4R-oVJp#F@m<#LU8$m+YeTFByr2F)x`Ks|-lSUf9Ik;=8A#iIS(RvXQ5i5vMU3 zKOYH?JJ%-z8xv;(5_cPGTPH4eUb27j<@&t-rH!t$4})ODT03c@kkeM-viO zdeAo`5E~;28w))n3y7126G*}YVgxZTGBJSIzcGTiSlPKij3od5kbO#XG&bc@6cPKk ztj{}MGIM8VdoBhBH#awWH)eV}M>7USPEJk+5EBCv)3?ta-<&*boekW-**cN`hl7ZT zlaZr^y|aa#Ey+I|4GisEoO#JUHT|z4*x1X+{5NA;r+*vj(_{?p2KEe$^dJTsn}5dj zuij41iYEV8jsLN?ld^}s34@}ElbwsB(dT@alK+SJ({}&6pnp1kYQrVxXz@8I2G$~W zMlLocw$2hFykwtG=#4Fmxy0Dn#TXgcSwQSeAT|z0Mh<3CQDIh2CLuvVL3UPlrvLEx zpJ-XcL^wHFMA_IlK!S{nqHLTTj3Oc|9G`@o?5tuejQ^pPuyt}aur)IIk6epSx&NkR z{af6#!H9mFXlEGWnX`uE6%8Cf{kSlL-vSeZeb%%9r-7p?LCkJT7H zm0|eDJ^mke`A^fQ5B_uc-_HMe^WV$I#P)N|IDRgUUm(X602r!*govQB`|@e~&`*j1 z7d~8~mt?Pb-8t?SFqZHnNYMx~sKA^*1fo+ScrrL&e4X%qeFVa!9pwa>O2b&tJ56Rd zCrFS-i%m~ZMEw39C-9TR9~%GA*4gb$qj`X6>n6)f#MoF>g+V~YO~plw3SA?u#@#*G z@2dUa!Y8)vc3P^NlwJh&P+?`pnbURTc02oY#PNe09px$UaBbOLz>BNoq1)NRKa&5f zO5C1qI?T<77+YTk?9d3gh$h$l@;yCpKG**tz6GoANZ2xBd`6c~12dJc6vG?Vhm3Dq zK{V#6ow4Df@Q{PID{PT!+u;z4tG&4>c{JW`=C0HN3!*g_cBt0LEX-As{~T@^n}_R>fB@uS|= zk;Q!p6Sd-E8xh(^NtdfJ|qwwZKfd&!8R zubd|@9VP+HUoK{-#&4Blgnq@E5MuNCvlfmRxwOvwbZWWHk6wgnY1^J^sX}hU+r>pJ zJYw>BIJ&;9!r|Op`w8(yY+#v!Cvlt~Xy|H8 zUPd%kcU05gVuUIuifs81=F}QFa05=*?eF=g_w=ejIJUtnp0Cu()liYF?`X}fd@_h| zDw3rEEtaA@J2>(CHAiZ27(dBSUNgqg)M<1c6G`EZO{!S=$sI`b-D1KYvdw$K{2q=x z1Y+kc!;I39{E9(pJj>DfRMv=m$+1tdUW?>j66fS-8L}6D@-ow%7S#-n$vMFedG6e0 zQ}UqI2VQlvx3`@=qEd|PU$S|K=c$fwX<+_bAZHoA3<)QGHWE8@{-&y(iG2``m#uk= z*U7RdlIy{bd2;Lo<5pT{5ltnJUK96DzFb5{cLd6&oZ_qBnrEPLUWcWTz2tSB_heG? zc;esR27fsq@{vL*PlCzdb*G?E9;A}z^(ZfyAs4Z_lK&+VJ2c5x5-a6ttR)!h`ygG> zoVUoj{i8*5R~_Ya;1EwL#-g=oBu}>&gO#JO(@8q3<~Fs_t3?{@WSzt1)sD%rmVmY3 zn^NUlHFnx`UIa{R%K8_NLn>*M@^7(vhbxK2KGTsO4%`YEe4yC=op7QLuSc3%9kRC*-=PuNU%+%Gi5A(5`ZoNPYIRD&ur_EqZ}0mwgCL29u`f+iSOH6n1(oeEM_XEv<=)N5;C%j0$7?%DN!+?}w8$%<_ws!N8K8(m=EoVq;J#=A&^vB;Q+)z&^fpF(VF_IgnGSJ&5N7rWDz zvj)ETrs{47c|*!l!4efW>AG))STGPKL|TH^J%Sf%*DXQDX=-S2x*X3INTpz7V>>#b z;9?8RK?EpFZMpE9gA;(4f$wf7?~IR+dtJ1->}K(&#$3Tn7Ov9LA;=S zS1p^<)X{18ygP2NT9}`o-y{H0xM_vBQE5Mf#?o|3r-UJ>Qys=|hbz&L&Dw55v<f_Ifp zy+QDg{33_y77%mN!fv+?$$fR!wBfrG%?@Y|?IHE%1k0h&3O3>>{3p`V)%CvlAPXX+#ruf~wM?<3ms8e(%G)&-$($oC^3)*Uv&o6a0ny+rg6n025Vh@k8H>zJMIO_|=?@o*BI{vHCIa|LzftemZP_`I0$ zzbsYxy`8vi__$eFS#?wTx$8cyRlDTyod5G`;GDp$j=@uoj&_z@_T@j9u5sUyN1F?-<>vz%b$BlLCuI$|7rUNVIE&9GC5ydoQZFIH8-$jx|GVrG2tn_$`=6N`Nnr@$O|7HFU01-2sWmV!wVHPeTv-{1 zu?qS{5ERSy($o~XqJuICJto-5B%nB?OkmP(TBbjl^lgj{Q%g-+hml1>&3IGZ-;in9 zj<6y)+<~4%PoS&Qny^J*NKBaFklVoQ(CtOA?4kjN4`7lWBn)@iR$D>OKB`n#pyYJl z>_Ko@raPZ+{T}btyvR9RTDpH#pn$2<>U#F~{p7E|&D%E4-%FqD)-xtlJiN&4$wPYA z7oD$kD6oyP<~(yl;C&?$?tkS)6|sNr8cEF5*O^W5J*+xabvz%3AmCUwr2nQSEOMvD zaEq0S!Vc(~JAPts3T`aw^sp3`TSQJH6wyDSlHnJ)?PjuoJ+UWlZ8GUPMVbf3&ghJ)*mM;i5@%g}WltwyLS2+2ySti9_VdaW!+2 zcfNj)Bm4F35p(Efg5OVj;x)J4zR4_e#XnkXrw>Q(_0wvw{x18YcpXgkNVqMB+7U+n zSOR#RG24wjcUmo4ooShY7Cyljhy@^uvnC@U1E4lL)jk)}$m!Lt=@lp35x zWnSYZ2487biCTjk6`#ZeTyc`g;?(bUEw;oS@nb0M=G@XV&$Z6_u?sH(GD{ zhvMnLF_q}278lpt+g?SB0*f)_dQS;vWi+Hw>Mb!cpob?a%a}ukZPmunoenzysGuUc zkaJhsI}f>;Fj+aeYCzFyyOc;Z_Eiv!5YMYG4RXLGw5Ma|HZ*g5`S^I{qHV^q!Lxn+ zY^7-n;-)s*RLpHaT{`6_eB=wnyaI<)g6!&y_>|v^47g^p%lT^a=aSu%(tAcnrNjNX zT7>+4&x3v+x)v6kAJXz?c~g56|FLfSoR43Fo0k`dGr1Cmj7+Keu;GlR?J|OlRfp}k z$~Vw6K-GRU!I|*D*w_$}&s@SV-BNdkr8)rix4*}@KvkpHdH*;n2y@xh%y^51{cUKQ&2Ijlv^E5qSi6t84Km;1*wa%!^Vf-()5wD zx@%L@3Wx_Rra~MH83iGL&q4nx54t?h23i&f;y5@s04wdd3}Ns-R>}q^h$9deVEjWI z7K;fW8i-wQo`Wd%JP~^cnp;Pmq>~l7m8K~&lQP>sopCBCSW=vu#>CVH{EFwC{2~8c zz|<@6r`pfefeKMKVVo7_1MLzEF?DI-?u=V=kl0DZR&?~bIDt>Kx|R<^)TMW>&j`{@ zT3thtToOZe$#`Nz+<;=W(q0`BKpOMyN}+Y8y>3c##oEOa0xeqnwlUWRHXp$qdpVRR zND(L&x|;)~)7$n2#U0;2`8PV^ZuZHflfM(VA&&9&?`>hFN{@{BSNtN1`gn_q4mvao;fE_kP3kf+B{%vm2luVgUG6d{~3V?l5fUey4gd zhO%Py4F<@tfHLy+k_JQI_*NTl-HLKd2!*S(XOe}QmNjnBorQbrkMP$gtY*J@!(TX3 z;Pxkq)RSn=AcbS7t4Sm;TYE1jd!u$Yr#v^W5sNz?fzycx$Ty3jp4& z5QPL2{ox{bHxvkh(9x^N>*oGhwUt1u<~Km$)4n|hbf(p;3H*CMaS`(|LUWGLix4(* za%lkSH_R${L%<$wNxStnkGHoj#)PMhPPuuBa2mv3>G!kDcAT{!Yd)AfPyCzlJ1S*DLsl0laCY<%tqRB z{_aA=A`ns5n&zlnECQ&bYE&29y4oRjDjZ9>nh%JQ)6bs7sR&3BbZ4>frL#= zmXOY)Ffak7Za5r(TC;IlC~`Qam_p}QNelQmqh+lUO?@zPB{?0Y{Xa&FNx=@vH8MI% z5E=Wubc$svTTft(oUhF-E$|d>>_WV*siNltX7+6<131-#J{%SL_0$oLTiqd_;nJ^- zw{tiCw=0y=BA!`k<3&4cIOM^7qPEI?KGI^Ov}te@Ot}BQ34MvqNOUgeTD7v zO~c9HKEV#UV1-CN^+&4~&9gxUzb#DsRYVB=9 zLZ--G*$r2p2dLU_sL>`d_+CZ&y$<-jUXL)a<0Ij+095p$4J9K4kW`MjwyG-K-tUHw zKW^#>E~>x}NE9&XS)&goSoz*|R}pYbWhau#8Y^?fdG9DeO_CwJEzB=IvT9qt^vE!&8PpJ4-MBRo3e#8$`R%zIUqZQq z0L7|a03hv@N{J=yq>W%AJ>XowD=k!^QDzY(BFB^H9w5A@J*O;SDPb;n#v)pVSvk!E z_DC$yVS^9Q;z*%3=DM|JPcH;BO&ZxNQ>*I6Fp(>$CKvY}4B*WgQm}le0RuW(x9YQN zcD*63T_2ZKy4n4G)PapKyRnU zW*8~S>TJxsKW})PPW<+x%mF0@7)dGI7d{UkS~vV1q2xgP*B4^geOLBN@Lr$}DO2ru z?*qg+80522TBymfJtm2sAnFxnLE_Yu(C)!v$agVfrgW%_^J zoT4mG$%On*%zy(rF<%N5U(lr(7*9z0M7_wnqep_u=N$0nlq1)}!^2G-cNP4PLHvK5 zkI>_wbi2UTTB0C0e7${oo)+k|{622D?X*|$5p`6g=`(G8@2{snce5;h{<_KP0OhMA z1`0`INMR!oV?t}XeKkVFw)7BoXz6!Jk%ZF`nh*3Y;*z&JY{L&{wSE$4Zumhn_;WxMjvLR1PS4sigk5$|6q@-_wqc^ z<5+9D7}r0KMmFfOi~g$?Q0#ARe_z(BeDBKiP5kc`&RjKW(g0%IlVKIUmm?@GAC4w3 z{2NQ!YebV2^_W{n%nchpSEF`1y1JIjg@u?^Jk_*}PD*=*5KvOz5DI|Hq2yIqq)=5) z!GGV@zlwH^=7-osh~q8T;X(A@N-<94NU$e~82*y1Gn|)d0Z!$@OkzU7+c*cF>28L7 zZx{~kHHE8*KmnQ)m41Fp2}N>Go)s{eXX1T)z2lW|PR zr77eh!czu%yZ5wob#=A1y>G_Yi5ugS-a}!c4FULS&SWv3 z^t92d8eF%|w;i5cfn*WkpJk2n)F-86a6dN19X8-rWb0>8!gR}r^DRd%iGp#z_l1}{ z>p&QWUS&I+y4&LRr|EoWUNyYHYc=HkVNGjFfdCx#EO558;0wMWlN9S``AMD66M^)m zQ6!h$2s~+jSclN{zP0H&Vlq)jiBi1;v%NLT_PPJH@w$KUetyCBOGbcB7a76VNVaS@ z@7sf(Z~M)TnV%KU(>U1;IO9(>UUl)(7A*C^~CCH2}ajpmJI>jP9`l&$ih|lDO zedj?y3Q{;=@Gr1Is7yqxqDlzyiYiH#lL^F>K3~{}fqRDM>OEDD?*pp+5puMtP12Ni<0q5h*}7ic>nCr8j%U4V+5t z^;y3Ixn(WBoYgXEX5_{oIQPkr(N1yjRRa!-@;As2o5y$E_vOs1pNml9mQ37UPCTD6 zmRuieDuP=BP~oo?K>7F?e&(u{b?G3l!mmF~-UaO*m)^+PHTrAW+<|N4t0;BUYkNEm zJso7HYFQ?W+!93=(?}i-wo=%eQihXb|5WwIbuz_jQ!ym%U^X)rwa?9{Tth1EhY+2y zE0Mp&#S$py@JA5TbWRkP>2Jqhx=76L_zDWJGHExaxokKgWdZAHnYmu>fqgWcQ^f2A zf&n7w%t}fP@wh_$p}`QQB1Gd!$-kuKrL|_J1@WBoN}yIB1Jn_~O6Bbv@FXM7xqM5d zHHDJ%5pd{%K;Y@YgePj2s4PX|7bUs}Gze@?aC4|w!%bCxRffN>jt!c7<{>{CtlzQ- zIy~||s_f2Qw>?q%)PwUC6tnm@9#>~>QdEywwP4<%dL+b3K64|zqtZhNv*A1hCdL&7 z*uPVMBO2mIev#P{8{ODE349xHbL5BKdQ>xPnWCm(9iWZJ1Xo4qU?H{QTbMxa?VclZ zPMiwIrHG_df@%zrNVMf}?n#|ilZJ|i1PUfQNT{I>O_ zCm&yxBF%7ylVh094h?gEln$2C-hgZs2)iJLC)pL2Ty9jNxR%FAIF%q1wRdVPN5 z-5aZW`Dt8gVtvm7rRQTtm?t|`uF4XKGE7ftgIy?krp2z2k^SgNDT)CbH)a6ma13~+RIsJ=5IH7OGT zAtkIMI4^_WPj}(&VZ-lZ@>N4A=ht&JGG4{CfGa)r^WA4wD^l;(us~5zr^ps3tG_mw zbLiLF<`_W`vEG@kj#D5t{jY6r6~8T^ou({Z4sJa#uP||T$39m`VBtDD_Hi2L$W0AJ zjKAUZAB_9%La#L6pA3#To#=yqs3N0Ga1{-N(5gWBPUbsLtWb~mAtianPD}HaZ2H&^ zJjz9Yl?v{tPBv*qsiaND&N(EF-9&5LP~ea+Dn}(wO~g#IuW+aiPbt`kaHl1SJ{YE0 zTkwE6euKZpXgzkwC|ly*Kbf7Oj}yHQ{L0hwRv~ZuQO{dcQ6fDG-eL}*AjfrrA7{;Q zgQ2RbYRB7|o!^m^-e=IlVNSw?faCz46QP9Hq z_T{I$`yYr5N)X8xps=XJm&XI6>OcX+>V8rjl1Kw4~56D9c+E{%(7 z>KnAONY}YUf;|St<*LA&1K+g)$I5JJHn{!BU-_sY7|vT9P-kjM!AvC*P)SX}CeT6i zf(sPRzRhm|L8#PBRvBN@?s-hG4MsE1Vb%Gbt9ykaI?XHXN7*pVu}=Vlu>P#f%s2B| zc4z%S1N;+v?>6;M97&a>aZc|H54}lO)pnhE;ce#Nz!Pe{+(F$ZJI`g+vxE{<3M zM4BA-eD~f7p)xfsOCEHGl)%ua#gXx+>MZUo*Y3~e_?sTCy!mb;-EL&q=@1pLX@Ck1 z7V%-gN+==ud(Z(IH=Aap@39<>_S8dXQ4TkeAGcQmaWhTRDr7ZVVOJzqNQ5*&1s6{P zZwXzagdu^iQi8NGF$JQ>4}EKkV00<7WWc;snMp+yd^BQ}1bW5(kleH@mQsfH2wmT? zmqk;7Jg$$cQ%)F%K5(G@tt5(g;j0NcGkNG9L{9|g>b_46_Z0U4aJ+Df`ZL=PSh@Vn zj}Rk5hwV(HKi3nrNPLf>txu2(RqcZsZQ6K0+j!68f6n_%6+U-Nd=uo0aD$$z;&b%9 z_We*Df#6eR>wQYU>VE3K!7<&p{2B{CM#sOK8>8P~j#!;KlUYN^h@`X`L*vkE4jEQ5 z)|JIG0hKrT(6(joZ_!`+bp$@g%*sni6>AM7J_^i3{VDs@9oT2xZ4Wx^vJAD5<)~-k zRsjY}VAeiOufYq|5FwRGj+MQGp6=s&vfO|qMu#xfLfGcx%qekZf(&@+h^dq#+mi@F zgdP&4*m&~kGku+01$n81Nd&|9sHblfSw z`Ai@K_nLut;zMX!ifP;u%HN;6#njb>>YK&F*UXNx{`$=&Btevd?mC5B$b`J$vKN3kR1KS z7fg>vE>&`Xd_@p3)TtgIhT6#ijvRo$pK!|2qg!RQL^;F4SjFR_&awjDdD?{et9-U2J6GZNhz*F9pgf2K*X3^{K7}UHrOM11fO>r7urt>Y zJY;~3d)klR14u>=SVPcRlnDU@9KL{FOzWPG6oB%a&62!GjL0gCod&c%Hegr(@Y0&7 z7f;nYS)ZCFwuhEn-$VV-XxEEi0LX-_*UTSjrrk5g@3cSq2{Qfxl?vY2%_yT}N&v17 z*$1P!6^t0yYJ`r5_6y$6gtB(zmvRVoFn`MML#?LF>^63HzaFCyibHD^uk+Q>Psm|r z30>u@IqR}zYY>A2s%80#K8iQ*J{veV07i)aN4RQ*=(g1y(o>*0T1@n7;Pk;$pR&tWb44r2mpJmr5EBRw1P7Iz z1^#m3ta+A+?T-v%0HNomRSUb{y-Y^j+fRzi7Sm29+cxbqe}BN#*s4JG@dF(SBWwvI zP$UhjgeDM<#tGa54q+g29IMT$cft9qtKUju`P{BbYL#o11&VWV?!R;bxh|&)D5dfh z5~Nj(E!g4a)r`f%WSx073@WRX16d>}Glj8_kp1@z>Mf-E>*yc+v#vaPeq)baPb;=h zJ${z0oJK$2q>0>1vJY?zScr%m8bppJD{SI)?zVL3KhQmGdOjZ9UM?!Rz)HE}O*PuR z3$N0ooNic^gz6=~V@nLBDM=RAqN}LyL4iejH9Pglj3%Lpu$k-6b{Paf4Ml9jWLYeO z#`8G92?J27e@Au-`WrB6xxhF`CUl(!x(3F>y3by?Ue-!DlEG%3xW_;=<{M~&Ho;6h z*J4K1RlUpz;=UUzBNU^mcTIx(vu(I>PTlB;_b)OcwZOzc$v`E*R&0}FPl60tt#eWU z;L9~Zo0^%$&NJ`&M_im^@74hkqPpySPPFWY`Iy4NenWVjR-QwC+`E3L zHR%H>8f7Izou8cFW^l~pCXya2dsz+zsCU6k1%FyYeaUNLEu{K6j=29$rY*e7YHG}e z|7C?9>={r}qFSn20%;Cuv<{Lsr(}T({b`Ym%i@ARmS))iUvY-=T%d^OKzDhjSTb+k zP4r~}%vP~--v3CT4lvI%G3P9dUJxDK;MiPST@TIze-H7Ms8bLZYO+$ZU4u4>Z2u*N zl7yAZ+7KUmQ;m#bw2Bfm2>~Pr#Dl80P@xDA%oSG8>T?_J_7TfrqL6S6OBDC8CJqM! zda2Byl+=Ja(61**fgG~_<_%##PN=YiEtBmFAv$465X_T-5}~;eL@r)$ohWH5$WqyY zO1W2Ko-TMY-Ema6(wO`!2z6hLB%ApWW2e>ty zSK$E#U=d0WH{RbKg&v68ZCH!zY~*#noMhz!D#&pTT+EA!AN7}oq&AytK?{T&;|(WG zulf|y5hmp`iHB1Kqd8NJ{U~-aixMfjtb<@;z!XF4-26 z319_F*_s9nCIfeFr@f07Hf#fGj=;TpD&-e>f6#oB&b7x+@m+?fW2#Lu`1Jq4A4)(+ zdeU0+mHU*xuO=LadhdIBwl+4Ir;k9-`b($do@GB@RHEh2O269H{O(eqebBZw7pbqv zM$69oYtL3@ra%&u4BCO!^GwmnCv>D#!VA%f;DJv>gRhCx`^mc-&{8eg=UEe)1X8UR z+dYK{{dM6{Xj0Y!2GOBu)2Ry7pg(qA)>lu{r%$F8VBuK+n+Eer0-?h%q1*p9AVw?z z=&Yqj^i>7=k3EDrgm-}f!Yg-b!BL@w)DiWoVK}CKzZ@uU?I^9};=Z-+X*;KDw>^bM4Y~}2ZOWy)KcxjIb9wX=qwvg=k!lAon<3!8= z5;fdhs28B{<1*-a7k81WzG%ayC;PBTh?u95&=q--h45a(9BSEFJvFNVM%T6Ex5cDC zYNr+G@FZQgY|db(-4;j8ZyKD?eY=!wKw?@{qJ~2fweD5ESW9s(0rLliMF$7;lu%gU z*80hVaA84`h(f!nj;8jd4~3R-TSR}yd$~eA-Itk(?NUEPJr7BXyeap$yMM`8DF-13E!PqYB9kG%+N*G1{)M-&oHVtbkT#lH41|7sA28<9iXJzVZ% zQNV=~>jn2fmJrVrnHr{o5OgTu_t|; zD(L(t84EF985;<3%Jn_B8^rYe>l) z5{w0ZH(2Tn{+6?v!-tR=&9G)MP1TYb?V0P6uTZwya}1dhcRin^37#cj?u5s}Iy!jm zCR2?t>mvK(CuXTsm#U&k2}j2F3^tWZ2|~lutZQ((nL8)3f5S!<;77M@dS&NNxU^ub zGVrFM`vH$s4fOGFs9Ygl)m;%FppO8v_X)PxI;EH1U2qaerr)>5lU>z|mDBLnH>1$@0^lOcB$zH$~4E?+~jKn;kl! z6ySybI8EYU8c*x{u+G8KrJBx@Zsz8_)qHS&vya!@( zM(mwtZrBt0&OrmS5wHGZN}*F(vJpOj1V`JqdPg$wtpM1iLUtqtgj3tQ+( zKgE$Y93|h}`Zc>j@#8V56x^=cPTd>RItuzLnppPJgY^f`6^F3mC{p+B_Ykb~6v_@i zQB%C{r^c6u97Z{{OB1iw2x;LV>NDkEQH1#G(HH^93NCU$S&uuy_2E z?yj`r##sYeQG^f%s6aUMH@{{}1IsY_8(}rP1w)9LT>7|hWYzZLHdIA~-gd8+Y9<52 zs(77CEqRev0Yf^?CRWo}me-PHE8omis1UwRki+gmI2&$d4MDuvd*h zG#fx+I$4Orsv87*IAoN6kpXZqokL3%(EP`e7?7NMg6quXtaXNLUnW-90pbq}p+~1R z3ApS24nfs~3!3 z0xdxBb^PLWysWCj5;yd~19v{7*FMNK^D%{eO>e_Bh+_)N&|+F~#&ciVsL_=Autl;5 zGu2PW7)_nV*aR*>W1X-d%@D&#y#=~()j0kU<8JsvF47NE88G0Gw>dey$+;Bu2W7Z%3lkL7pW@cvokEaP@9q;+s?KZhivVo50~mkwwynn)b2l(7owgRO zaiNI5c9Ocu?tQ#iH z!E0%1wm9w$U(Nm|rMmncHd;+|HA>=bl)nG3(*nNtbpk$w17M+Y8WcNX?9UTcK~^We z!In;jeR1R8k{NOti-&-tOd+(hoEoP zscwRQIvDIJpbK$r0le8Fw#NYys+dar`GV5FC<`pNSZGlhBve^$<0URVe0(4pf9Yk! zR?j0Vl4f|LN^BL2EW*?s>ZYnt=(fITd>-b6GW5MWo@;;8fbohh3f&I^pC5vS9^yT> z=g;JFIriFkS?}%+ym)DA%%P1BNO?VOe0aVyn23}~!ll(PPxV(FscVd)JqLf#B2|_s zIiXcq#;A+hAAQ`qm`k zMVn%fuRrxt^J!cUt&pM0JlB1XH^b_3VOWV1hjjA8CRz9_*c0$MaDHx<`o#0(u1%k{ z+#EH%=jjw>l`n|U+5*s72X4z-a+OGS4e}@Glf%;mkt1_;2z#};*W7x${?!j$@+C>JX0quXH=vUHjS>EI$`Lq_tFrs_u6K94?jWE zBzpugM+k)*2p-0imVc{BfRZ6T+Kx~p!%}$X%%yeS=?XTg*w6kxL}C(No4K!10)cU2 z%79MIQmaG>^xs5n28)fK`Igj^(#kN>=Oer>Ll!BDZlXE+@3d^1m)TL15;-1@b6M}e zm`RTc(D}qN#!PJJoG7x}gHk7#eSLaoc~Vl+h4%sX&CQK{w!wF|D3#o0+1GxV2Qy;i zuJcKiuK9w#P@gAhpGwo~6{7H@-ruR}n*oET-J?tN32?`8W%HN6>G66ZE*x?6iR=;( zpLuoFXI%(KS|yCN&Yp0a4lqfVpiuoK zDKRKn1`9u9MOT~B(BPmBzGc8^T(3aiVc>1yocbaMPc zyso{;JPadEr4SnA#J^@`Dq#;YZ~8>)?EK1)cx!a>$6NDxLMiUsjk8EJw>&-M$Pg+V5#E#bzaR z1)+~8Z8wr&@IO1Q$^U#jc== zbBe3kl|+<_@YD;xvNBc-n6R1xtHhS0nnA-9b<%KIlbxN7HEv7Ei7DzMu4I-y7NoQa zocHpH+e)Tu!;C6s(!n;#UO2fr7<3Yl1}?hB)|_xByS7^k((gH7;mmotLbX{j%iyZ8 zSaS<8qs#w6t6{x-fuJM^k-XCaGdLa|DZB@y4-aaiB$GNv^Cpf&y!I>t5bBo~IAN5N z%RgChm^ULdhL@-)49>^z!m*QnF)8+!k;+ zPK8mO3_45309S8*fDfI)kmIRoYdful8b}DwMO^r-m>{nk9FGyJBgbV4sHdNoY2`s>+RIB84J+R^Tmb&ZV@sY+ z(7tQy>(0<`Pknoq6l#>s%vik_oXDqhApML6awyv%!+i)nQ2B3 zXfs)D9RChu+)j%(lBry|?nxAVls`Ahs9|cuLqDCXAyK$hBsG$ehlcB?m1&CoHON}! z@^w-}n8u_dx4Ac-ka?i|Zu5v6R?fmUC(@z)d5t?gai!TzR7!~PQP|npAG#43E{6ow z^{XwIS{(To5gVV;R%76A$|2g*D>O^V_8PXGUaD{>brBT~!bO#!oYVV$$OX?|c-?GC z|F)gQmjS_9-9huzFQ{H9pCFCY!n6|&@Qzl*g9yIH*dL=gMIiyHrofbsPyHLhx0&%J zTSrI7)hruyn_8Qj=gr5HljQ>T8rmC7QdLV3|IU7!F^qp$E&57b3$EAG2_4?Gh@dNu zEzS8wDoqS-gx)lPrQ@P+a9sIu)C^mnb&lSuCE(jpJy?`YzD~Nr=ll}G! z!)*(9CVQogu6FH-s|Bupv=^ElEfDyH+Mt z12`a`Uowxe)#zTU(!y5s5s< znYjSOA;kv6)UWU@573P&Y?Ho-JPQHsxvfRYwbs9e)(W0Aq|tP9fd;8EqP4=CJVA(; zvo;rO-c*JqLOg?ZYB+zJXWqi={7(>U|A2vsmuhDV&~0zX3*Jn zS6{etkIrF1hyfgoXx-`$*9c6$Zue>@GYy7f<3>fL+oTt&Sg~M2vW}P6xEOI$igo(8c-BU3CSBHx)}Si<8kenBj0SJnI&<{sjL`4Aun(!etSbZ`aMq6X z6c&y;Zj{8L3Gamc$wmKEoRpCk`wQC;g(UGL*VnnhxM`*Ryb~_XN+wx2s^%y4(3?7W z%JX_^UoFp47+h9guw>e(NLO}}Jrexvq5;j`FpA%!@TRBV`+?uOWrG-2RH6Bu{OSWr zSC~twKSrSSivYmF z?1bR|rMk8ggdqB2h+lgogu5;fqEE$c=N*okQ|!-B&ao-4z!(YDNmnRT*1$`MyuXh# zoMhQ8)Z?Gyviun{xC}Vxd*{8BD~4Qb^~}$Ijq3FMt5>2-5G_`qnW9k-Zi@vikb}5S z3?2&Q9#Bx)m1u+*fi?f*&(x4)r5L!Idr4b9E^az^wUfT$iIrQrQ{q6I(^cc2{6kVh)s@`9Zmjku#I;5-VR~ii=ra?2>fFzX>*VYAb z<}?|SucMm1mRS1OF(50P zikYQRltsrT?Yh&fqLO*^kwS=ys*2SDrPtE2JobWvE+*5EUox`-iB-lB;8Yw1(hm`XLXgshf{O2Jdk7=EJQeVr_**k-}6J)87#~-jJTu@sN)1f*Y{%i_D-hK7MF@F}1b%+H3W=_@F=1d7977~e< zj>Z!ZxYHB;Suz&O_`wf;0BH3$fAcqk!Qh^5tSMSO)?p31vz-C3&YwR|(SwT`x)L)F z*1OS1+h7mIrjB|hhOPj;vJHjVgMwHr{Vs}`VK}NrKXJE>Y*1k${3<720^KLho#{YH zrBYcaRSGfXxU+hF1~orN_9atxmSq5}TD?&`WqAG@rgh=clR1E@TB8c=dZST13cS^uGh^qNaYbM(yofxj&134iQLWYsfgQN6rs=hMldoT6 zduOyOotHFi8(vvd7j74X!FI3PYj+02A@s(~%q(mLaD(-wJH5fs0e}O7Yyw)vgJ!dC zlxyvN>=U&-(6nzq_@y^>=^wcg(jqx*4X1;USq_hc`?3 z@J^PC$*ioboIZUT9{8Am#=@`Qr>%a}8e*McMI!J3wlukJqv(||QfDueJsqX;lB{q{ z9?pmOk#ph zpeLSq;fJUjY%#VIuXTiSIT#fo+?nZiA^Z08Mqss z_Ly+wV?T?o684*tqRetj~JeCl@>gk0mEP*kbM znAK;Vc?K}+pa1!vbMdUBOtKz)%pT|{|HM0!KM58-Dnd4441ys5rUcL{pymAbMMpzK zH@e|!HyHYH$q;3kSh`ZPHQSUWSsa@VECe+O<1W)|Vz5wPW6w^Q2*#nu`T>iKN@D8q z+-!n>WWSTY?|l+JA;FTpGj|(JI~%7*Qi~VR!BmxsrIk(93*bp3xIw(x3)Z?}&6YJ8 zjbfgPq^U}|WI3J>e**9YIGcevl2pd{(Oe6Nj#UZaH50S^!8~g)rPGve#EN(Giqk|) zQZ+})HWqoAk(`w?N;x|_`zL?$CqMn^PjiLRqfD~sL)hXlcP1Yd5!eTT-aYH2*6a0< zEzJ55{D9tRN9|$6bVAU91!Dk40;|#>kbHuWNr?)~m67ScWmDo~_Z*$n)hzUWGB()n z#j`$%5kJvOMTG_WAP3rSKl!%EBPJ}o1G&m+9EnJI85=6H{|L*W!Ap^d08%AGt=ej5 z=wpBb0g{!hw!_m+%~T}-Ja`~su&5}OY;$X;&3P0Po54IM6)XCr+Sc5B7Wa^sC?sEv zB3Lp-3tj@2S9Qy8ldN>xNHLHZhBQuqu%A79wpOdHudnmR=SbRrY8xIj0LVuLh8}QW zOq8Jqz=8)IeCDnMxOc%qSnoz&NL8%SLf~Z?3cN%iRcX&_Or&=qnN(y+CRjxlwLpal z4}7jlSMY7^e~#ondV-A6xA8XY`4b&)DZQ`WE)Yp!H>oU4e3Ik!UogJ5`mqyG8RteRkCN4Nqf)Xh+f1lfF56(hV%Cmjp|*r5 z=5-`foDz0v?~H#Q3DfLW{Mz3K5MuN_n4vgV`sFWwd24HHdwV+#o|t;F4u^Zmhl^8( zz}|Kz@0CiWbLY-gt5sgo8KVaT(U0h6FM@YXK}xSkQpwOPLnWh1sG>*;`gLSno;>$< z?1tVnwq4klevrHQxp;YGnhFGPz(s);zFop5+87BWJcMdoc#aC0svrv=jWYo~{2ohz zVTfidh zkqh1xMLBck%)-I~pHt_tPGKzU45N*16vTq96ImvvCYMbG-ibJ>jhe=a3Zz){h2~vkw+%HRfqEs8v)2)1g_Rc`igXUV#R;3IdGiJ>stkNn5OhMNH+yew!c4@ri-@%OzT6hv<&B&e}0t<&js}M++ zsz|n}*@n`0BUMiPDB0;ptse4awspdE$AEB&q3>P);2KznwOU=(bvSp0)pisL`p$cW znoyxQ2b{GFu+kk435LHI`TdalyfC^=l66C`lt@>?X=fdS7+zu7nfIf(RSDyz|GC;A6BZ>+4%+F8I$RRS&%`o zKDXz&zQ;6MN@ZZCTN~?P7@oWE1gdD!ct7CHroe>4+$Y_Aqm#m~g_W~Ph=dnpW<@=4 zPL9Hx$efSp|6%rf$x_<`EJ6tEbKu1ry|C>hO&ccySp;bSJu^Ey1E;XQwmvgEXPUOG z$SPxIoGo(pO45|ZB*zgR2RlZfG1XCo(_g)P6Huvg`Yc=*nv<*agb@f~v);fNIR2fr zEx^awX8r7`#rc^!9JErY6g}=I!78Lj4z%QBhfot%A>5$L%gbO3WZ5BzLPL*k_0hCZ zWDH+dWT^zmpvt3XdM?UG3ZqFR!mgO3yFQrcDBk_9UU!=5o}gTTABY;55{csu4a;IW zSx&FlIeY$zX0r(^!pH&GO5&2P>pV|4uM0ynn>b=Afw>oknUGj!rdYaJ;JJS6;4DHm zODbet1png-S(a^=N<>lQdcA?sts=MAMk4K*k1j3HfRl#YKq|zJ@dM?#FuAH&cA3Pq zJv0q)N&_)jJeJG@7$IS}XZ%fe=OE z*5+my2A=1^e=wk+A3E)wPNxk34%7+uFUwK~Rf&htO8|wkqQcIdp|icYF&OkqZUx4w zrfNRsGvP2E4tl`XpdG*m2?o>aKp$Lp2;E!8e8VOjVtae5*F)h@!!WCrs%e@$QUT}4 z;Szbuj-oZHqWs=T9?m>%mhNX3kB)2`VJ}f+vZp%$8Vq^azcIfzj)B zH#XNPiU`1;A?(fb{PxcF*48G9%o`@R&wS4t4u)Jxm@^~PM;;Cw*MW5c-{&%caT39( z9u9|_8yi6w024tSXO!Hl0vvYRZP#7WY?FHFle{7 zceXbK$ynbKH+RaC*c4bc9|tTQ$&^UB_`M`4n%Zu)uDtOJ=&MUlJ_D%zKmX;Q0RCV6 z^k;#tY)(?YWJ-|sn)c%1R!m_N{*;%;lIE1mua$y+6 zI}WO7DyXW7k}{?aMvpX7kP-OAccFw#a-RiI$EF8IDp>R$F-x3Z%+AjPApj-?SmFnM zb9N34vQE1VEni!`GZ+kO_4?fG9IuXuVpY9v9EY%etyWuIy#u%d-=qyjk!5#tbJNhw zg~dfUwd)^T6VdyQLdK<1X<>1x&QcLE*RRp6){$xvHu(r++q6ueKQJt3=jNNUv!3Io zX*ArSBg^%2d0}Dk)<-vn*s4aQTD^AlUEdG-z5dqb8mxEb%mq!?-oN_JaDa+2vLZ8h zin;)|?bg|I=jRp{QAQz(8R{vg&zuFM#tZ}iC)bf=1wa|tZ@F5XUtDT!x7OFzOLl3o zR=;y+6+R0|&}nZv!`{qHv(j7wbnOfyUKj$n9#3@y6AUb|8@JX7tIq~7-q~rdudRLK z+u!}d@4ou>udcwM=jP|1y8J0%cE9=6o385s`7$kQW#uf;yN$IwvVzkZnr_$EoRPo`jjRM=!aYsh_6{&I z!!TG)jnwVN1QncGtzlX=7?M2R6?hd4`>l<<7nu;K(ttrM;pOfxa8wDKaW zh9i*TK{yW4j= z!+52#*mvWKsW3S`WLc(R%+Ab$)hQ8)o5OzK!dZeLY+2>gXV3r1|M*`&{NUl=3fmEiPMRp+K1oB|lnU_qlcbP_W+mm@2Z|O4ddmh{*7B!0sb)B-ClH8>$NFg+|Xc10i=j=6U#wNu?Nn;}u#y>Bd zg@^$6H`=xYC=8fmAyfX%&XjV2Ojx;80*X-6bR7mV;1^+gOMPxEW|~>R7IXtP z+1gy+X>Fr0-r^!4LN4f#rZ}?#Wn6bNjo%i==J?qT;QYUtkV4A^5W9U#@gzyfAz+jZ~QzCBhU9Ll^TmIiP__U1fB<%08SK;6WSn>h>n-x zCPjBv`Yd9RuQAn7vwvm+r0(v%-7tY!U=P;o^<3G5-xqx^ zaRQd-!OG18ROu?-dLxgw$5 z0-($0`Z~^VhWO%+Ij)6FShg^X92kXQ(-FofVOP%30aOFNrs9m4KIr#bTN^CN4)yI4 zu$5G`T&@6#XraTtnzn*H~fDvfu|WQQ`NU))s)&ytY`a)t~{J z8yj)2pGA!!h!PH<8pm@o|V z>g>$I%Bi!?aIkjgR;gU=basFsUVQTMlb4@UuA8bTTZd;vXI3z+z-j32QvH~C#kLDJxhoq zxmM%ZTaa6AXpk68X7aw;suuR@-1<5@|VDEh;aH-utjK@cO=} zgmb-N9k%1*#W8|&borTQiDGTHdw{aO@6RqQ{K^0Fzj0Xz<`KtW1`(A86<(SIdf+Qx z{btN0J=g)IH1Y#8fuwK${vQhLEVwsal*L@#ejgS@3XU!4EagZ!u%@$wkA8|UcUN(L zO{G%dHzN1Aqfa*wyqMLUhnLJ;Fr&g|vNKFQ0BUXZiTS5F<7eFFyGcoD$$Q zoEO+Z=toC*mUK-=VL4R=V;MRLOJkW9v>WV6+#4plNR&rHp&0xO&>t-7rE2&OkrW$Q zDOcE`Q7CzSegSX+Y)okX-28kTHKF|?T1<-Xxj5S4Dwt-LaDyxiT6OOH6HN4#D(DDP zz}nSyjj*&N)3Uf9jiNifmXWcU|#YDOEf}`WRtk z9CHrFnTAg$l5;oA%2h+Sj543WyzhYG>2jhOR`E9CfF-1*>IH7(IUz7CDj{vb>{(7; z3Po|o^5m#6mKl3r#EKT*#{BFV!`ef@k4H}$tUyC1a>-oam~YXIM&=Dz9w? z+re*DvCa3pyWaey|9Vtrb-Jb9Uk6G_L%~MVlQ&|y>!nGThEZpsDV%^VcP*25> zA8=~m!8~xsJ2eOHc(|d(bY3P^JMuyrL>Mp5Z45TXI5HG&?Y&LRdv||YZ6c3npiGH{ z?kA}*=G7W0l#Uyg5sQP&L#pwccqGw>p9_ET4bv25_D38g6W2VA87~|@#)|LBm`5Gm zYQ_De8NUK6z97(eS4&7#5DrWxTSW@eedzulYcM;(A|**1fMh97`x4jTDaTAO3$0Vc z(THU*AijVd9f_`w^6GdQleAtBOUF@!LIEU%4P=L`l*Y%_c-b|>bC=tNm!X9_jv1?D z&*$q&G!O3sjqWW_^kDdYYyhjM<;W+Yn3EL&E4LQ8zt#(rfHN$#3PrfT{V4H6vNw zT^7Q0xxZU+H2#@f9+&mQnmvgy2of;u@oQE=5}rU&0#74ea4S=_rvi_en%F51wHAM*6>O&)*-UpNN4F5#e0+p_vyhRlZGGRY0s37skGC3J+~iogd)P;8uTecC8>=} z9X}p;U<%T-4jY3XFbo4$2$7`42AKiKk{R-jht+i5lq9*3+&%^)K)b^z+}!vGgGDRV zBuVb_NZ(V*HHFtPZ5n~qv`ur&AJow>T^_(BJT5&uq0_(@c($^+t)%E10Ru2hs3wXs z&v0R|1;$0+4Rs6#B$6UYLQ$-pK7bvU`>zW5gyZwx`}SyBj;CN&2uI3-;L{cb87W#+ zUcYaHy=Zm`h3Z;)DGFh);u_iiuyC~-09u89z{F!QKo(I+M)y$S1#F5FjsMZ!MCK!h zcQ6l=IBIQgHXF0LZ6kn4EMPbjli?GWgYE9W{L|lGdh(eseCZWl9d-|3Eut6QE7Fb> z%7`#`1P}G&i4PBZmhiDD(<(lSgOY>7FStz=1<6!R#yDFxJ;r|L_0n|GaVi8U|bBmLZ>gVK)Rk;XK#<|NiOk-+T8rs;1wM zT47$TWDi{9bH4c$^rLzLJvMw!KGMBA{@mF8u)?@%Nh-=5vn(@#DTQRoa)nCtfMsB4 zVBEPNSc0rFt#=}jLL@W2e>VgReq@O&;~Z;Lre%Engcqd2oD&SM#~MGZo}R#@QJ5!= z7i5pJ>@}8;EMoW)n`I|4PeF>KG>r(eb}-V6)xHYzN{YZyBUvOu88_Xycv85W81qbsz4`cB~5%#QT zTBTAem&@67ZFas%G92`~olbLh7B>0l#tlVP>h(ssQo&+hg)V}giDK#n@z9F^u)-)A z)r-Uv!I<-{tvjn*Lw$K}0v8O!Z0~IU^FRLmne!Jr?VY!-{POkx{)uIk27^INlh)QI zybRMUm#fIU=H@^5+h2kf;@^hHvSOx7 z#P2397?ZFXzC@gWtaRcVunZU$cRJ{b2rpU89-+csQSZ5YT_N^LNFS>-)6dJEv_cvT zB@~L+|Lja^iN)#!oR9z}nO+{!rx+8ib>Pt<;Oh?Rz`7l3dK1@e+ zSF}u-E>%k`NhOM;gaSaqKRj>Kdvi0dpS{nyX&wv#3J)LvBJ~93%Xjnov+mma?7fzz z$&w7H;q&`>j<-k>8rIh74XWkh-tG>Oz>^eJ6C_tCB9|(amD@MM;V5hc4pl^qHGwNB zfCz@+_Mqg$gPAG77}$YIxkPJxTa8BHU~gt_9=p4VC=jhjL&azGLN#@Z(Jj_wvCLPn z4V>KNOotSa!r*4D)@%;!sT6m}oQ=hKh3jpOYo9PBncBph?xFGF=7H7eP$>&4NHZu@12oufa1mpkb`LaPa{rlA7g zNT`ovnL|~hxF9^w70pl$M%6hP+wxiLMdl7sBX;~BM{Uv`nLK0P8-}5zJH!G;fK!m^-J`IH<$4;D1q*9G~?dJ8*n)N#DK{A*cYkL)zqhMus@v_JnO|Hwc7jJr#<$z8yEm`z?{1$sbMC^M-vn;f?R2R3 z3?Sh4=6Vg4?bvWMa^mz^pcutMac6U*-EIPE#FMF$r_TmMA)=fIOjFq0+P-u1I-J1s z7rzk*1v|}Fv!@CktxznlZEU~&?#$G}F>LFxO`c(Wex+16Xg3?VnOVRxD#b-Ayq#wU z>;>!$;N#rlGW^nRHR0$Y(O5VVH%uMr4`$HOrjX-BKr2l*RZT}RKix7J9tFM_hZ;j9 z2-FGQ04O6kjtm9K3otzvOPs&>=I7V0dOg15@1BP9`Q1PH0l@UXe)vCUW*27X7Y0gS z)3xt@|IdE>U;n?|?X451&T`|<2giH$X%c@!Ps3L?xA&Pta-p1kn7X=xsmn zdgQ5PDcj;E(nZXq89n_Ig_VI}X{JRajfkB+W@%Y|Xi>pWxUbOE75d_t2vQp09e|3a zDoVfCZ40v7ABuDbx@lS?Ha5ABFy4T10EkpdrG+IJ`K}wEU)x;22QgE-)dIG1{=%hZ zv%bEz3S;urne#ha8@H~1cJ};*P&k^&PGvGVO;dmW=|?v|zm`ZOBhfgZC4^h~{Qmy_ z-qh^8EK0hne)8L2!?w=8aWNPSE-oLNTUZ1fymsaHf*>A0c{&&joj!XW4rYCI1t2nr zN}*nyhQK5dUnv!Ur(C%7RwRmgH6AQ{$KbNtA2eDmfD*%GIFo_U5I*iGYQ6$^SV~RL zdxEyEW6eF!IeN_;i~7s3!$dv71N%^~*V>)-jqBG>pT}G7+SSY5Zm-d70`a-{);B}Z zM7vpCTV37TKWKM)kyvtS{+K@$qrD2iBMbQh+2u)uxWYPkfF9YklzbVhQy4)*rC?e<{M z4+XP3w0WL`FuHO*Mx0jtuthvG(1Yw_t_1HpA{~R;Av` z7s|2pOs(01J+Iaq$#jktBsd`(YpZiMySuXmG2_(KY+p6kpJ3 zoT5O$!+U)Y9Zr@h(5nfzfv#$B(sYO}Rds)F|I^?72B@E*8$fK~0;zpuSb%86O&%Kq zAeb#28~|_i`AO={vj2Fzcyuwh%{+&?tQQ-tjv7v1j*#$Ck15(ZH)%GHO=Oq`aeO*Q zRulInO^4Ibw8+pYQZR`M4D*1o^CSY3b`d}=;1mW#G&+d{X{Ew2+2v4VVLKZo9gRj6I8G=M4FrO)4|{t%z~&11{b)2EiC|70qB+_( zM<))57lQ`Wsfr@V{b)2nM1%yeqA50~T@kZ^lbtu5#q^c_>c$p8^Ww>X zs@n$AG_Bt1q;j(;{8A|R17QeA4P67G2OJT8g*Xn*5kz)^HYaMYD-PY5gw zo1aG&%nWnLV$;4q#wB;R#o9x7V%P^N+wF%4WZ|;#{D%=DyIdq&#scs`cmkmlED#Py zC@Vze8RP{P&EdlS2%-S-)TbYRR4x@DzM5ZJhF}Mx$X2rj(W^J$6GV{+fg1EYOy>Ld zcehtp?!@D%-1H1ki3U!heZIbW7uG*LJ0A!JCZUxh09Pp%fkPcTahkh#7gf0|Z03V4 zo;-DC`NSz&raSBqX72yjc2KfZIDnum7Eid{E*c%tvUAi+U~Dv0^tj1{DGHMs=-H(T zg5+|00JZ5%rsYUVVDhV4tEOibImuUT>mtvN9t#w(i0>?)otnzc&P8KUIL!b3|NOrI zqlv2{#+0MN1z7llKm7rH^Pm6k|A!e`pTSW+ZT`uAGPmf*GZFSR^1Xt9HM%QC19gJb zu%d`n0%J3|QBsTjLLYhOo_^%K5T#Ln^xXu*0!Di%5}~93N1Cp~cnwFRC__i=1*w=P z>dy#*<@hXc5bgp0diT8#6s3FT*3Dvme`75Oc-8B*TyF2yCd8G4R-?YZx0^_&Xkh`W z6*Kn6+P$rfbwGi0=PyK}aWs_>1$e)F{P^C^4g{o|>#GpH1%_^V9=8Yf5N9wM3kE!z z>kJ#c;oQlR>?IR|04|f2y7!$hfS^XBv3BonJeiuAnX^Zdo3wF?tPoX}2Ym(+9K$r8 zD9vk_4;(P48V2zn3NFKk-ChS+p38-sCQkK+L=bC|a1&Dti{*LQhh04$&_G-jcW5^!g_L{1|8H)Ju?51t@8 z&+wLTqQXb?5&{xIP?pK&Ze722_1}K)^t=_$h<`KFEQQnEu=fa`L z-pPmmmHw~j+ ztIf_YNU{r{w%h64Te;KjwtYT-6lhE=L8uLES)<@PvPXtbI<02EufS?yw@sp(3NOqq zp{8-Uj9 zMPr+IGO26o_U1;TUWZU96pm!GQ|MMtthCaZ41h(u*))hkX1CjMd%Um=APztSY)Mgi z@HvdXXjwCTD1ZI=aSu#s0CC7K2N4~*ffz&WNFr{kUxMQ z;Cdw6<(vngIq^gi07VppP$-nk%~VQ7I9~W-G!|Q2I_~!eyS-kwr&KEy&9EZzbarL| zh*qgs05S(;t*z8Eun zuR^>jJl%18#isxO3kEh79VI~@jvO}v7OxVOsA1ZQ9paTk#6~)M?DK`)P$=@f@BcZO zRA-3yrvRfZlb!zI|B@y%05&O57l7j|EH2H>FT$AI-^1{&*{G|U4xDCcW;Qo9gZ4R= zDT;EZ)4G2BvseNkA`Pp0`&;kQY*Z|foL@RN8afclwVKV6&>plmjmOeSe{0@?`*0)&C7WF{O8EJr^S?r8`d28LyipLmncKPS0BGPzJv`9X7U-b+0dO}ed`t{Y z8Ilnr`j->4qW(Yt;w+$V2FaJXTr$xGJ!Ggzo5@G>52j^UrUl`Z%k3V@A=ncZwi4_D ztj+04Apuu*YC0N=hodpTv=Jh}UrE;XX>A^d1Fc@??9mXkn=NOVe^~jtoahAebHfv7=fuq21qVRCiAM+U! zu8CPloAQzS^6|QE-M2jH8pJv&(sdK&h9U~4W3Xckfr*`)Uodf^O=BkNKWr?*Hz&^( zu$x3OJ?af08`TdLvN_tp57`sC^7~#R8PSm%GA-ZdV?1>#o0Qok1~=nNsZmnK3^jXD z=9Flvn+*KuL>v`Rm=#=|zTWC;7_{1q3y}_`=Bei^Ev*=+gPx+$Pgr6Bje_(%PrV)O zaROi{?Z9!muI=yc`27AzG)CIyUzCCVlmW|E7VkXA4ZobTghTuSz-qNxP7g50qg6c% z4`IP0@k4B4?J>=o5MO7RaiIgtJb5Vbtcm{N+kjL>l8o|0|3tS1A>Q~C`_Zd<7*>Aq zxBiG7MqDz?iH$z;4j=tz#PBA>r&;Q0s2fDrp2{wxRv+tglN^>kl$5~+$!;4HcIfqp z2{qF?IM`1mQ^8P()KUnf%8bg(pvXNf3iVe%N`>_+7k5;%Eyr)%CNS%1}(hJ0^R0i;eG7>-Bu{S8|`* z5C4!Nmt{|QYh&9cBk~+v+)>h<7A|x;-CDJ7lDxYt$%TXczx^-&@8-rjKp3jT8wT~J z#YC5eLJ&NUen0>En-AC5RsrBR_6UXmJ7L81`t?kK?j;uRqkvVb)fh*%fu-UwUKi^o zfJN)i$GV`0&X7G+XgQ+%6??d&?DcD;)idco>d4`ZHGC$^j~a-tTGeQ6IGJZ-W|4~hn5IsBQf*>kKawCD)tuPFFn!XP7Rj=W zHukc}2Rv}4o%oK{#H*^->-QC$Rd+qxg1p0d!vp15}(O%jJ*F3jlhJ8FcSB#V0x?T@D8#NkrKtR7g;Pv^~Q6OfI)rKv591l9N zyv5S_L9_!i43QH8ZtS(ubd%C6YW!Mq_AcS2m8fB z{^aR%?N;-n-~1|`NX#!SrMN6GAi~z@Az0%H5!*R4BiN$!3jWpmO-^?Q|83s(d-7XXgsZ@%l zV5zgQPiA8QxzN-M>^h-0J$-<)W8@l#f%d5G;Yc9MenfhicHwr~?NX@#;aED81x5fI zq*5-y&!FG;1^n1RlSoksa^NzCp?BJ?a;a3UlmTuaoB@c5#p3|YO0QR~l$y(NxSn{PE6dwaXf%g15gfE>9!9@8*AUf;pq4#3vp(sDADaeJ};%NizcPzY3z z_A5I8j)_!Sk|j7mIFL8rekYTif}O;kzM&+Urla^WN+GiX1M!~08n#KS7DI?0-nxxuqu!`PM2Ld%nue{Ih7KtC$w&V>Ju_>NGB==ysyZNzPddD( z1*@>;0)Y44PAC*+pGscl_3QZp)=QdnAALR;4D$K>i4!Ma3_w_D;)Iat64|IvD7G}y zq6LtwgIT0pbQl$mGo_Px_ovLkKRlH|2oa3)Ubh2`W99B`7}5|NAdIl(O3djTd9^-SMCC}kx3VhuBr8EwWlbH$Btim>zhDEfKSoNRjdo)g<}3-V|^9A zd+hkBKp+74!V4l$Rvk4!%}j3k)S0t@H4t0D@~}nNXE^zDi%WpK3YPDp*~C!Pm4SV3 zHX5)*ZfXXwxLhjIns|@L3n;v~v8IukJGaXdPo^RK?DYqYdaKcF_f}Zy=-z)6L}c#dr}YTZuf;-zl@z`?Haq_T;1GUupwTrHP8M6iK2#MoHg ziM3sr^P=s9EcFvbB3UjL0MQc3l-upz->U#P8oIW6_cp)>Ec4lw%dl9l*YkLM=Ptel zm{qS-R_?7fnw_qq%HCiyGZRZqquvgd2kW(3aYLiKl9E@AgRCcJixc#dmrhQW&QQv{2#Qq7Ry^~^GI@7>`UK9ZGSO5 zy$H}NJO?;ELSUXuD$|#$s=K?p09f&OoK9u|4*6s*=0{OF9UIdSp-e2~u_t0fe9tjX z4xRuC!#vAkchu*Tq*Nx8Os9+a{Zg?=Yb{_4GU~-uKWGL6Q|AqqU~(M zf@`pYdwYA`PWRGVZySto^Tw^sjSYV|$qJsqKi{|ISU1k94KHIk1+V*pzKWT8kT8c)DM z)$5J@y}fp)iy<4t!m)%Xdso*sJNpIQ0EidhPxX2|m59!yfN)zJa4>@yvn_UppDBLs|BAtc<|+A0(ZXU?2~ zaRF2X07~SUh?h$RMFle@fLXjrQ}0N!>=9axGFgr$96J^nwVw@k*^X){@%AK?05j{l zRxOveHr6HCwR~bBOa{4=aV7&#*R^u7xU;nh;4;6s1V~0>TngKSZ3rCC0a6S-T*gO3 z@>8T>iP$j!%FQh-kY;Hcf>VH%NHj{h9xyv#q4io7XyEMpys8eIMrRBApJ(S5PMkUo zNHHKK4(!8BREe*$*zI`AX?e&b_-|`RgPAa9{h!R2=*04;02G@(`q%y zgk2lHCcNf_18gr`2j{q)N*v>1ON)4wLKk zx)7)Wwq~+9(;UtmGAOr9$q}G!tI_PXafM1>@pyf*%Vn5`(!=PlRH=PbvRjpdB!}1oxN_ZgR5VNS~kt2=8jxDN(KQ{H;AbLdh$XoKM zeqQK`;n%Z-&m>dz1YaM!Co$uR7{c>ShzfyZEiEmd^RakhZS~&uYgb)vti6JjM`BTuct$Lp znw|m9b?4Si08k(~fUT#_oP#A{=lg^H%H2DKLLSInHixqSBnM;>PG?Ve&a;44t!4ul z8N`DKLyp2Hay2R=lT2seFt2}htniHG@mTv-rL(Nm&+$koPdXIe=vZ-FK|pI zBm~`jp~;YpJ3Qc78W>^;HFY_)IZXG^z=R`(@DmDBPZ1S9yb_D3P`P69>J?=m#B+D+pKe)VnVt!!> zsFT;{Bef1}DxHNRlVlm_LpT%##KC}0K=^RE-0-cFr_U+9E{th-ACD*DbWte?_?FM_ zhqV!bK9)%13#oJl)&mgp?eBa5D*-%!HG5%~;IERLoth4XBOY|F*NKxTOB6=|jd!M| zW`e;mjcQ@#80sEB0qcQK6c8nwn@0CWGF#{I1!J)!CrU}!b4Kj+2C8n$-jL`Cwz^8I z(`9)f9P(wuk{kCF&1h*=eW#<;8jV)F1=LcOWS`F`pxiq~(6~#cL8LqAEDd4QL#I;? z*_pbvxdCT5kw{oafhk|T_25y1g#A@~_X(U%U#c7yg{R4XhnZA!dwY9pYwNxD-ox~+ zAPfvchD8jli7SoKbSNMMNCSy&Qn2xkf6z0%v5O8F~D@`1Y7KCqe^NX~B(jxZpu)Y(g z&oIPv5B>#=BW;5W?dBmRSIn{FCx`b1D(6`!b2#4Ha0EzLieNRVUnBMyfNPmdZb%lW zQ3fX6Gnpx($wwSCh9twrLJb!{5}*d%BD?^O=NFa%33UzS=fe=z#*>uo0vA>_LsfOa zUym;W@w=)sJ=MfeQ0urnewmkJelZc`+@dv5QPv$Zl`O0DvBn)}CZLZ?cFoQ$$TChu z0KeW?zXxY86pCPt6%k6K4FfFc)&e#L9PnR$@lSx}z}mZq1vpImxk29gH;#iAsq=KgJVMoM6G(TP-rNIV-G#0ZNxi$ z*nZ>W*$sozC9(i2LDjw_Ibe3EC`&)ohb|1xC+uVi8e%A#j4=~ELoA2I=$bxR9Z4~c zkXC0Ir%Tx|rf27;X6AU58+DZV7?LZbj%=i!oP&c!EmLBzMaxZK6@Xk2@u>#W*8sv` zo2=IpjKn>%!~wnX%M3|4VSzh5k_MVqgNxm0w$VMP8w`ZhzGC@&fcu*ptAGEKzx}~q z{^-(M?`Z14qPR%OIGU$%!B7ao^uOETIg zNW9wi{kdx9VYNW^7|`s8FJRjbx@%98g;9>~Q42f_QXdi@J@msztO^Stu%nP9+aI>K zj@vfjmcyDjf@pYk04|Yp*?^gNy%^50xu{FbghY-=O8{ZSeg;lxH5vd|I*Fir?e^v0 z|88$*>z#Ms_xt?UuKZ#3?%hD(SM6p4AhlF1luJdA#{*BYTD1xU^4sryfMp`2f7>yx zJc7G%oY;T;de%wz@lF5YEA~w0-S2B2E*6U`D=X*Dor3_R-|rK#HY4Gea}i;sz!7d` znF4FtB$EX{+^`qg!m3dk7>@7Xi5!;wq`n5jd8x1OU5k>QG+=Z*v>w9v?XgJN@cdiD z5;^+bL>g*gUln6TeOx9iFt!F^FfU;F6)$kjcDvSSVtoTneR^GPH$;VNt1EN!3(0gA zBFW3cm5(3q8J*J93jK9N8RS51nUc$BxfJ6 z34V?{_eXC}I4o-S@};pxRI5^{+_-V$FaF{$!kEdHAS#4=Kj>j|VKMF(Ydu3VY#D+i zn#=-t!pA&ol8J6>WbAA^vc5E*W&aU3wEg-qduXD887oYT+(76whtnoSgEm^+i*vXT zFk;RTA20#8kO_-`S(a|=HX~y^C;=eW>&;FZEB-m24~8OB)3eEB^70=(aeKUH&R^W# z-uT8l?|Qx7LO!3#`e)}C`ii1z>iZx3=}-Ure=V0wjsQFn2V|q0(B9dQHZC*=pzWg?h6=3UGNE&|AbmmDp;Sz^AZOjTmPTS00i+GcELaCfYQ% z)2(F;eL7fD+wv4YuV2sW#l57DhY?y$4wzD@bp87EcDoICw#(&WQR&U_%l2Gcc8Q#h z$q@_gXoCp*nG>=z*0>1L9*JjtJ*$^FS~yQkJ)HB*Vd>NGhg6djGePGQQ6xRa+`~>6 zsm-*9eTO!ys~SKDOOy2EX<;(V2(}EHF-Q&z<3VC8nGTCFKTk|#ajFp_Kloy$TDyDi z-ksaGAikq=3pAk*ct!l5jeP##@hC*7YcHXQxh>-B(Sz5o9Ekx0btc0*LC>84v|W@AD+Bo3-JkSvje8v@7D zr#d{mQHy{h1{I`jhC}s&apHk>q~F=c->^fcY4(fFeusv7nCwBHcgB$|=BNY|%>g~w zNy74^od?Dz3_e=)#5sM-SjS)=1@=c7vv8QNy&`LAM7ui!aL=N_su#GBI_Rs&aSVVuprEh=uni*iK#C6xqtU3Xuioo*y8zpvaKz^e z_L2D8m%V|I8!%3CVUYrC+C)PfnpL#1ju(P7PBl!xzL~h33Gpu8(nv!kYy#HY zYIX9(l0O(qq%wd+K7RmUi;CVHJ8_CO-TcS@^w-0wB$j%$(hM4$l}q3FCQB~CkN(5| zhR~1ahoII|0@k5B#(wD3(CgQ$%&?wt5@8e-Qnm%dcxPwl(@#G=bLPzS^t6k#hQOeL z(KDZrRtjplt!t(&SEx}@`wK=b>Bt@BidiRM9_A=GvVQ!JIn-dM4Qr#Fpe?uD zBVAZ1lr)=-o$XCvD+`Ouk!TcxnuCM=JT~j}fxKjLx!KtTh_py$fJG6I3ajt#Z0+uD z#bSxG=P#)0VD;Wz2x?Gv@A)rY6UiN?AXaDQQ=F*9)|v4cYnWHtHG&(PXyXkNSG#(k-=l< z7HWSNmbhyB$2>d3>wSJGqW2oCB61uXkZ#)G3zbX~uB^XB^c zIt46XB{0+_)|`#X%PG0sHZ&X+j3lyx<%|>Fc6fz`f%vM_O$ z)S9Ektk(xP1;_=YY4zTUzyBa-o=CTsoG@WPw->)B#JR@+?ve4_pRT zCGdi(sT}d1fUgUJ==1p@I3ub)hcst^roj)OOe7L()a#W>1yBk$>hT3_mb-oHc3;)u z$K~;7rWbk1+f%v+g=(SFX!SIoKe&7 z$&+FIEdfn-Xo$@mHr%FfMmssunW6X7D>3c&;^U(I^t&azBG5h2SGcmW^2sNky!F;w zFzR5SV(GSRc_n)>DectsyM?~Mvxdo=0@i`sJn=YilI%mFT!%T0WgEtxRz!dbunr&Q zLyfo*wL%s)VSx4EUcyKV1;c<206;WYlO#DB1KJdKyFI;L7f?x2dKOl+V!nwg)%Ci) zO1Vr-ZbZ_!hx-Z316Tk}6EU=;?(NLbza57v{56?O&CM;a#Oek<3Wp;QMtObSdw1_{ ztlsN(I)J}C=c2iG2q7U>0thn=eQ$5aGE6`sBr+sK%^&Q;rU88tsick7>IOD94a3jL zE=(#!1+-Be45p@M0BdY|-Z%lMR~ug4Ub#~7`cdz=TCH3`SISCMhyA z5iZ~&dO)PB5vv(2t57WMALQYzxnvhlQvO&+iVkn&YB(2yo#fpwDjppnfIJoEyr3-3 ze&v$xlOZ89a=|0_XuV$l_~Vb?fB*e=-g(FEcHu9g$|g>qHQ(yI49x26+28>qd3~>bk1G4r1S@+ zQYjLRFC9DGQ;pTN&0?u+a_)MgrRvt~@=`)$7NYiSOg0T{{sFWC{)hyyQr+I(sW+M) z+$BjQQ(}jJ+YZY< zn8O`dFmne4Dt~YQfh8~Sr_Y?5o}Queky{(<`+Iwd zL^7U80)aBfG(YMbaF{8pS8D*2^9zeR+gn(|N%Zspbe5KmP0!AGyxwu}H6oV`J4vq~ zGOg8WKoR|+kjvvCCSC;lF}VhpiRA@Jc6)6O;1S-sG`%x`D4i7;PS#B(8*{%gFU_Y= zDbO@+w;MuFLS!UDZQY9+y1L|g>|J~^ihM?-UV*r32Y8j08kCr*wchxPjP zdY14$;yWh5kD7&nPs-);haZ0U?QehkjW^x^k_BUO(CnEvhHHbXey?v+md7( zHv0e4s!?m?w>s_%9J3{2ac7e*9&55@k~_q(z9{KVGg*Wg02$&bJAi-=n9J_=cC}K; zWO55j%Rp*q!2yk}^81BawG8Wos1S}qRR`5_3HZ^{vE%)If1oI-SdncXvafFvNp5rIOa}H{RaKHCB04m*N`hlY^%Jn^Zm+w&wGj-2ve{|WkfCWo1Qp&X zeUKsmuM*@0%Nnh7U(HYQ~wB2|rtvjdlpMUBSB#^!dlRtNNw;YY$cJ2;Px zMiqz{ki}RciOPKhG2w6UfI^SLhhYfE3#cW(wHXS9P}9aTk7fjny{ZpQVSm-*>v<)q zp4WDS7X*hM`)B(R1bD=)xM4L7^>kTVTl?*Ae>*)rol2!>VAxl6N#d4L@_Je8?GJhb z6N3qkGk6w@8*D6burM%W?fcTPXe=`>ejm1V454Zq89Js1j{+>TrRsLut!9H*=@kkG z0>(SuVj+Ly^J}orF#ap$Qoq*=hQsYvt5L7T5{V8m zbS~h4DA2gKUo2NlhVgp6umdtyak$`Y7mN9Jt35q4o12-T63M-8XKi&Qo0|$pqb7;6 z9m@=x6s+17z+AIg|INSr;?$XQQ?qmGK(!w=QSznG>WMW+U(h`FOR}A>7_ivKSeDpN z7!|U_4{CDuu-EH-^wCFezx_7#Sfyg*vTY`P!kMhA)-iVLnxYz_fNm=St#aUqgab>G z$xcC)?Sy=zEEWlWY;HuqoaD_gBz)vOON^JzPP?_fwhDv9<@NwJL4X56D{w2IEx-si z*4K*p{ITOF0-+ELs@0V{9M1!NphFJpl+Zzsa}x#uxC2`v)mXaQGJqk<5Z8HqL(?6{jkVcq)@s#YC<0IjJ8xPB`4jJQ z!B+z|%LRZ6MiU2x%FfQ7X0ehxkVs?=2!CC^NXVKA+vxz~7VOr*q$w%}Yp>dy+dHjJ zhb0pJnmX`6peV}>F&_iChYe+NIiQU|yx{cy-GBdY|L)KK^5R?H9H4SEmWh|;Ubl+1LUfffsyrf4Q1n#$y9cFI;k78b8{r; zj+6tUD&U@@2|mDdpejJkoNN@w0iA+3Kwf?ri#b^+o+AS4_*z_Cnw_14RR9psiAi1% zfbLaFrR8HM1HrH{EPI7zPMkhBw|r7|`vwC&5=*^tDKOA&)nIj#(`}*K)1r~^Y%KoG z<9@Hq_6JxW3uFp*35ed6t5@&bS;-d)06;9MTz})@o72-XfV^0q+Nf`AtlhbFp|c3$VtzX4wWzN2fpZ2{dF&_qux76%>#@8J#X2~eR(I4X&fh7G_r zP@zOJ0ihIW7UqZ3d00FNw9ck>&E#wXe);|W5pP9FQqu(B2!%o^e8+ z%SHv;fR8O|Rte`9TRpbWy{7!`^*aq{%m=H}|Xm2(#^p=>F~4IfAB*LM8BPP#w$XT@Pv ztouG+UtjQPbRd6 z$_>NmLUzJ`WmL{UtFMT;42RQHk1T5#y-cbKI{68yb-W*lu}Ry>tyokwiecs#m#A7{ zJRVOblTNT|Q#ntQcmm?ef&OH&S;QvB5gbM6A#1pQL!|3)e9|n7iX2QvvhX3WxChBB z-9wh9<(;qFiDW97&Y-s%#X(XgLL?Im%_LG83=0r9FmzR86jg6`)n4CliR^q_nu`J6 zV-X7KvU}W^kW%_9YwK%k8!qCk1IQSOL{FSNn@VTkdeJVRU?2>X6XML@{p+t_nKNh4 zuiUwP{=y{y-@Tn}Zz?@AH`iDCa0u^x_fLNIlfSLiYmU|`c4zXm^^;|frqimfY^l0?b&+)91yf-<$_}(;apizoy_WGDUTTZ*qWaWg9?I}2C z=XPVX3fOx0?#k7x*Yd@}($aC1gf}#RB)CpMlWi1?ArduspaxNkS2Y!LTmyB`YBi~D z5Rgcs)j*un)B)zR9D-@#mvrrQoc5KD;x7$6!V{mX=Z|Ujm)e(6;o>A68-$hH!8DU9JnW?wVrUD-61dF7gl<3fPxs+1PqZLPE=SD&D!#E;+SV zhZq*))KoE#Eo(TEDEPtkKlH;dwZK#Hijh>`P}A8SR)<)_34V)070O+~535^DUo|^@ ztPM?uq_fkWREPuofM1EHwFkbkzrX*{M<3m~c^f;}C5aZS@uDb*($3CSsaOn$!h=Dd z!D@R0;R}oJ0lmy>x%7umKAxJL!3PTwpD~C6jU$DDcL*m6Ql(rz*x!v3PY~OB&27FC z82-|yT{xl*f0ZZUp+%&lf8hap>(;G*`Imp0o}QkYo5R2mUb-RkdIp9{&fV#oyEU!b zSE-Sez;Py!1&g2%4m*Ne%4qxUrv@CPDM^i_0|^5FMA_G690@<;z3kdYSzstaSY&v;x^PbEw zD{s-c0-hVSKrv(Soe`xXJ%7a4nQ$wDR*t&_HiO#+goz{)1gO$1d!SiuMQ!zTfwO00 zu9F$rCs{i7NHP%dQHO{^p|r8RE4e)^2q z*|~Xx=qvyEU;Y&l7PCfiG(9AU9C3b@MQ5OY_k$netT9pbVVS3W$k>x&Sg(=mRZY4d zVUYQ#)Vq__HqCqY?)~g%Kg(n?@4x>(JdNR#e!mZcB(g}w14G*D!HI-7 z**rGxkeV!;D3u_KBI;2z(>!XoVYrDL)?=D&C)#&L&AII1@ozsYpkpQ=!>N!R&u%^N zMRu|p<8a0G_)mwoL_f#e5YixKSgCxV!lTIEaD>tx(p$gj zzS^&6ojDS|!hJm2BCJX2(FX|^{QKEwpZ(q6{arep2C7A~B!dAaYO^8v?L{wO)}8#I z+0_KvaYFtv&>)Z@4bKFqNG2W=Tu!g`kXdoV@=+?j`#8WtA##LKN17CVh=03pM0{oxEKnBAU33!g<=Mxkqe98TJoxfwN_G_9ThwNP?12OX)KHo zNsNQ7grvQLXufeaJEB$G=+2)MrMd4M5x-}q-&awC*s?<55JW(Rt~cuNK?~l%_>6=j z{-BQ#97Yh(;|HRaMzuu>)-i1y3~2?q zuk?C7_$%om42rTq>ZKT^2Y+fp^pr>@TyEJio!wRxwU{py@&~XRvMj-n)^(lZT z)U_dO4J;iTa}ce}Xdl-yM< z&9HZ>daFAiLM$*Wcp4Ttd3M$b;W%d^4AG1PPdqyWt&w!Y;YU1`PqwvzRUs0yV?5re@}rmS+J&bsd-Q#x#}_OU1&{ z@nf-gus>jkRqfEEmb5xGTdt!BN`ZY^H86bN`lkqw1>uw7BW@_n9^k75kSkYZFK@JXN?^(3eO!^jntpq1Td zDflGt1v$xGFV`xSX1&#K^tVqg&z)XQp2-Ow$8GMx#qk^dK|hbIMFEGIZh zOe7V>v19M@Ns1*)d@LRah1}(Gq1kFvA5WeKekKKY$t5!Teow(B-V-(xPb36Ujz>d) zp%6Jje3Z>*eSVQ9-F;r!Op3`D%LC1dB(kQ>X(k6ms;}E8W)m0YL#NV0+|OGU zI{g4t5q)P=BE5F)+UK8t-tBe+fq>8F4TXV!^_q=(AQ(oOGCK1|Rrh#?M~4vuC3lDx zKK3NhX8^WL%dqpK8qxb+K+xbG*jQf;N21y66lz{SHP5nb`*kAgIRVxS8OcAL>gyNI z(ZEgI>2!Yi%U_1W;lKHtzscotfLRQY0f0L^>=Do8WYw^*ZuQC?z1mdBS3HjD@Myni zYKw$~_(P5MCerE;02XG41(9>PT|DFRLBQ4Sk(d)PP9l&|Yj*qnK_nUphI{}bk%&JY z_rut%)p~|u^g5lLogIjrfY7D1HZIZXw+)b?V|JK^_3NX1OgB%P8d+b$NX^;#1+ zT_6}trlM|%X?DzNr8+g8b-8l@ngCKfvE!ogEI0h3AOf10twx*U#bhc@GDo~5VXL$x z4=auFAaN&bW*7r9Xe?;jEX0Ni@VK7JaFXoywR?lMqUp8}3;EtYoqcmLl=PW6d0?VM zDi%ZWyrL)oRadTDsn_dXuUEzwHeL2nlV7h@OX*COb#%MWL2mI5?=+s=29| z+|)FkO>MOrw{CnsJ3AjwBmsg6s`8G!3_J+{BC(;m{?TuKb?VHyxw-klz&c{AnILyx zt2EiOogW;o{l#QhPj%oA&KTb3P7MDR3Wb0C$A65)Vn6!PkJ9P1!?RFzfQ|XZi!<0r ze05tXx3%iXy2~w$aR@7@sadpxTozHPvnKYQI_|I&C^j;lB2gGe#F1Hn$1tkb9c*nL zKx{R)FcS{Bd4cv0;?jb^0@48=DVGj9on9=SIPXE>Vz_eER(p4QJCRIfv+1GUAca#j ze6QCV>+74U(hr3rUXKg-PP5SmDhW6xVs47nbQ4Qt$+RZHQvujUqtTn6Pt4CvGd3Y|BmZSpqtq$v`SQ-EN^=1>6OAQu+#TT}hUG zet%F1!HxkPD-`l@;X>gs943&*wR522fA~W{E*L7ko`U)_44ViD zm*(6slCNwkrH*DbXt#-nWkp6Hlj9^=MSS!)6KIM}h{nh+`mmPUxFTv;kV!@F=u-nw zu-;WxS9iLd-qdtzZZ1P~=CBmgFl`u6fq={F$=UN6;0QNv-m6wxg?xE-F6EMiUT@H7 z)aDmvA`vfX<+BZgX3#NMTUwl1n9Wt|?VC65{Uj+V=FMcg zwteN=^^LVPO#d53Fcdof#-$KMjJ5@b*=o1e*6!W8b>q!%z60yL{@Jx+KL7dEf9rL- z09K`9p;9Ts+Jd1lM35)HMcLfgFpMlviejO(wz_5-M!Q`v6-${6N>^1%<*l9K z!u(t+8Su-TKq%Xm*Hf!?;K+E6ZTGdlqNh^naL6YScQM%WJGa*X0~eNNLq5Ul!de4a za>ZYjRV4D1Jw;?(nsNC+(POsatOiNL;nfZBuMHtqqs%>p; z0nKrF+@VM~8ui0U43jrZ&LSp{22NHmy3J}D)9G2tz_JCiXJ~*{J{NZ^={qwe&%`8w zw>2#91hhhK1()F7y?ej=-S0LwHX!)(Ls&~*ROJS)NFWe^e<65>6Zo5d{pjA#W*`*K zW~T!FfTj+J-?b6+2SS0M$LrnO*_vNiI(_;~xmY-U{1ogZuq}w>XJ%$G&gF&WZ@ja5 z@9yUM+W89?VJqCQ4vV#qY%Cvb()~q*)317;URj3q(7=#6Joyce_bXSfkc^4^!3Q4% zN#{o&H9QSTWRia2!i-x0p0%ay)wN=+t79pY*Y9jE3v+&-o0L7_EP%+9<29{%QyB~tSYx-V0Ah#2{$wg_837pNg2VUL{}J}-xH4od7P09EghQ|B$?w`I`LpyIL#0Y`{B5G zLDCFDuTVOMfdFtnUo&i>r2sw;f^P2Al>1B$J)C)>9m5dCR6r}>N-HZXAAkHY#Dj1l zXe0<1!bgO_0H*-6XmOUy^3iX94Qp6j zTE2PX`tehz0G+otH$0x$)a>j)ffJ~`_04xGDen|Ymc|5_*A zk1YE+`R2h=czE@CJ%~qWeZ#lE{cRX35LQskf}kPl6CjY0CGPS@Z@r|JYZx;oB33xy zA@x5zcJQK>^F2$Xihx9#RH?4T(H}f)okNaLf!dRDM8EO9W0V=EjX^Bn_TT z#-|c-K(9i%l`m8~?KbJQV>6jVBI*;dI#d$?RpWk_z|(>v7=GtZEd$0Wnz?(>sZ^?c z)PT2qUUxbbPK7-*AO(oh`_WQ4luiVE5~mS+M3P;z;}Lh_&9kPnC#aMItTLX6#$pkZ z91B1dskcJZkEi_MgkLk*fezdX<3YfzO0BhDtjV4rtTi6s&Q7_{O}k<~lDE={o+?2r z;8tsEYae~|(bcP0JDm=kbE>ciZvxmd7^I$(#B-3P)?shH^`;;Szy0`=R-=wi6S4$o z1vswh8eA`zTcM`8fPG4@SFKiHH2`RaX}~9%uIjom7@%UZ?Nt9;0~PgXhKawY8wK__ zNog}<`|!sPu2)n8>)9Qa@N(_$mnK={{&~Np*gxm_W2l8Q@>DnMf`Xpbfx0 z$H^|48(tfLo=iF(2?abJmo-$*8C@@@mw0jlfhE;fw$lnj8=Fn4a%Ev8h{2#~E2>#< z={=1T+#z6C(_!qqIh}L+WUNGh;Ef|_MSZ}4TmAaizrJ?uTC>@tsdpL)ddX`NszxvP z_0*|T0A^P|yK(sstCA!GB=wY@&Dx|M&9JHFy=65TwX0VyPfgEoq&vxWl$xEcAyRz` zC&W!1H)62_G4!^M_+j~k;i3Jq45k+)a1@@??tVq5ogLa-JebUye6?CFh)rl>>$~6m zF2o}+wBX5%#>2Mh7Woqy*(-4#nZLc?YjrhEZz%&U=yQ2xN#I0=6HS}Pu!w|+v>I!a z(cs52S`M5|daSSy+~uPmY7Grr_lW=)@@N^-h|C0B7|j{Bb9@tx&^Wy(%OZr7Bi3e7 z+0vmTrW>1z1sy4&&9SUK>e?mpr_S;YW{oS?F;`__w~#@EVz6@E!sQ31-R|o3rdq1@ zJ3Y(iapeH57Cg%-$s;nDXtGeiUP6azv_6Cw@WT&31hi_m+mu@YLV3`R$4fKu%t$Jl zidYfAf%kxD^K*0Xrq}DVI{k1Y7Kb7)RI1b;S!t%kH`0;fBzpP+^l<8NA|+%%e)RXzmgo*3vk*Wi&+q%&<45>KKLLO zi&5n)@`))+%(1j23T(j5-P-Gwnp&aK>UR5)fXDBVI2#!j$>Z2q*<_8H3z^BZF2yWv zB0=VlFT!MfleJXsD?VkZl8Vj*)Mxj&Z| z@Avy(?IV2X6yZZ*3n*2wSgcm7@Z?RUQa+!LxV^LRgf|TA8;<&gxL@>0ylU8uw$|z@ z{r&*p3~u>wP!0t|!y@)z?!vFqZcB_hI2|HX9(GfYgDRSh_P_nU4oV_~ALW*)yuG zey^wW2LrE13ob49tAXqSMx;q#QWC39!|2@5ByLv zu^^6dNr`7zjhY+c&EXHD6ZpMWxnK;cP6Y4|4q@Zlxhx@cCSYgZ-cW_$R2M@rWno*B~wa>M^XZ`r3Ul&w>~PNETog zFoJX%+mg{=g<=+pDA_KN3wec9Nb?Za;##{do|^(O+xvH1E#)3!wtWC&F@?z~0pV*$UEzTNB?rOIHx z*e}&oL$~67;moxA8w8T zTYg*~qH#>ojdz4H4za2cW{s{ItN|V;Jde$x167q}mm}vu*^*-p!i^nnS>_r3j2Kpa z|7Sn>$%72*hym+s%++4~knmAYxi28<5HA4F+S%EG(UnLfLZJ{1RWN0a3M!1iu_2$B z3`$`iCboKg&9nv6k~&=!Ai#T=bAD*?sO?nhU|2}Xtk@yYIFpzx$<1?zQX&pj8|K6( z0LLByu0008p?c|PQxANL3ge7~F>TCD5il}`v!_6#+I0kB@@u)c1Xb)QZ2Ll*|LT3uZQw&nGD zfoIVvdHUEla9mn$nNNk}Y{V7tpq0x&XPa%U)72Hl)O3p-nyeCp85NJR7DQDhFc*?O z8NwN@3^0jpA3M|-r^5)_Uo7;+GA+kWk7zbK3iGsMhGB*x%?>eR>5QI1q}J)y;a>x* zrEL5mt-!F07K;j2hLf&h+XH6jz{r<+)rLOMc-g~qB3mx&_trXl2fg*J`sP++ztB0z zH`?t^$Yq_M^}M|lIG%L}-5kyaVnr!83h03Qtgo;C;upX8`Okm8wY5d@XcY9p`2ArolpxBDq0+1)ekQ?6NCUs3|77Gu| zz>N3py*Jf$zs&6J>1j7T27>{RXTf22byZeYR-LcDbMoXlR=ZwMX+#b2SS_!{A3fOw zi7d(LVpT0jnsKlB>Pg2}&bzLivilr*jf%{~RjW0IL<}PU^tW!^`tRTVmN~6h>;iLI z;l#RzG~=zB8qON&HC59547|hO!qU8V?_MUI3IzgcjoMM)x#W4hjJ*coK_ze2dv}dbbkqab%S)VPXds(XA4jj3**C7P(}^@Jc6Es-p@mrmD52V16?k zH|Zp=%?Q@F9Lgk$vf7}L1+h%RpG3fFBwi5JlG>;)l4N@d+R2sWaJ-;507X=?SP!|{ zjFtnTlEtPS8qpa|QmG=QvXw}*GW&Gv@!YyB>8)n7&uKjCH@g zToI?IwI+jRb-A2K3#FJfgt{ zH5P2eCSmh{^Tupo^Ifvdj~ewvF!G>pj~+b&VBr-qG&DpvYGxkIJe_?M*xU?-LtuO= zNln5UXv8T+NqxCo(&_a+-!RU#w7BRS9#K*1d+o*s;SE77C5RL^Y-?JS=a$e z^3g{ht*op(d-m*4{^Um(gs~>r^C91A12? z>waKfQU?*`M4^Ss;DZ!9Z5Pd;UqI?(soT|p(d&|MpAEvS&?*Vup z#-P%uszQC84e{CKtBG_z7}bTNxw*NmXgqB+lhh18r}gZR>e969@(G*Us-<2ZGGWRF zt;wn|2!UYm`t|F-``yQD>l;>^4TDlDmkY%LT_I>=9xFzjnoz}JL8~NjM2!{YZZiPe zZVFC^eLnf*ll%AYgJ-eii)dkZcm&;9US59m;0{pq(f#}RY!)Myh{aQ>gu!IC+a38_ z7TtK~-S_Mc2PqmxGbwY_c!9Ey(O19L0N)L>`b5K5DwW5NAHz0$@ZiDw@4x@YfBeT& zQ&Y_CLY=s<>BzERXo6WU(t^g?kiWVdDs3hzk&L_+C3HbOl*wHkl@djAzG<(>}wHMYI~#CcT=h%xhG8Z%*e4WSu~IX=!BGrKGI126HCjgn>@5gR1$0E_FRzp_x7xM+!fm7%MD40h3)|*$J zJegftUV6)MRjtx&6RQKGme>+m!sS?*gs(DY2`xno+nl~lCky^=ZEXRw*4NjcK79(R zb?MTjkr5ad^=Wcil!4G8of?EmWiv`cR&_KZM>5qpOZADSm@U@giApS)&gGH@txB)e zSkFi`@@QnH0gGFvIpxcpQ`$>!yJQCZx`#!`8^ zy)-s#xj5?em=wQDKkU@ItvU*W3Wb#VL}fisF$IW)g@vcj=7PaUDxHbO;%c=tHa5Pp zvRqb`N5{uOtR6ndgd-8)i_7ICNff}mN+mX#*fQ~2WjqTI*5*%SqY9c93We@c!Lh@` z!$2#Xy?JYBuKE#t&@C+`<58fh*=vIk`Y3a<&%*MvX?Ck7&@4fdIfAJU7)6*>L06Uf}f~zVt z)>5>aB)ds9J)}K3q`5F=S`X)=c`2AE7P2*{Td^p^_*&ZxZG~MrtwyfYydImuY|IoC zm`o<4R!8cGihe&Bfo*=d5=oXMovvIKE3!(^2$8H(5%dL_pqO1FtVps5?xfm^7G`HRB#qW&vT8IsQuAFU!StJOY0r*1rbo;k9e~*Jdh=m$v%Ae@aE^YHUj~Z$zr5c3(F-v#A2~v2OtGN0iScZYzUa; zup5mgv)NoP-ql!t!(3OaE+O>^mRq?MTf`HIL~h@{{rlhl9<6yi9zb3eM&HgX3yf#s zKoH?zDBvCTOOnc&%T>We6(yU^luAVqQsO>SF!&&Ic}9>9%L%2_)8Z?gZ$$2`I+Wwp z9Ib@D^}%`p9Ck=1lb?S2>HYinKmYvmKl`&k`|_8+eE$4-=F?$>i+GSos$;fNL~@zc zc9ZqOm?c}3H)6TfpgLJpB?{uoR&0KGJ(|dX$mn$1@tlxISJSCvHj|#592y$3n2c(@ zUear&SgH&a)0-ut=4!y9R3z1CU<$(AQ^b-ow@{F)io>Z&rOIn-saPV*RuJnATC>Hf z){xBZwVD)?lap4v&0sVEj>@I7#bzH@sR0wwXc(Ym!Ebga@Z#Crf+R}k&YflJ zoSU~9uG-Mqtv(-95ZiK_v6(Z$onvGbvM*PlIm z_TT^g-+%t+e}3)SHNck1WNJk>wj>vyG%5*%#-Nj|2FrxU$m(B(6Nbf8mPEFiDpd0o z*lyBhq?F5vHQBftsICUWSKszUB6KvFpW)mo#dPPOtyVzx-?b1#Hn^ceZlspc+*V z=Hu_)W3SQd!ek3rj80o0 z{3(y^!h|iEm(v9~Q)6=Ky4u{oZ0h7||bTHO*Iz3H) zs&abVvRo^diiJE$Yf-iq9S&z8u$fF});BiCM*XZJq0l3U7rgGaC- z>gxLX`o=~y8dGaDdY#_nGSQ{W2EATKqcU|YfL*K6(sh(%(IhaCEoCO)=tH4Ucu0kXn-*yn1Z8Jc=U&w(G1{Y}qd4{K%*^f2 zKgAVZe(Q=LctK8qt(mOS%wp3xv9fQ#;k1ea*73ruR`BX-B(~~LG#dS%|M{OAH*Wmu zSHFUVc=hVl%a<=tO-%v0lsYJ=T0`w=;R&&|6d2$}XCaZObiR=lRj&W7F^EyN6QtDr zN^E^$eZiu@!Y!r7Kb6$LkUE)SZf2!c4^k&t4OAUQSv-;0+6ruJZf|0X?1!KD~*<{ya5J~xjzDYWTm36swH9OqyQ@OS*fL=A$;8m1VIlc zCdL6qZLb7YzaBt&`}S>6B({Zlwc0GfCc1UKkIXg%@XgQ9efH_cIP$Hxu6Vpd^|7k2 zd=?mH9Rze*Gn#SmdcJ_gr!e|E*ZaT8JB`Ptkq9~fLuPe#^>@Gf-T3(UU;gD^zVq(8 z7PH0abeO2;xOq5TaM)D8hE0llvz@kd-yuHR8Twdcd1soYw&2W4xe`kxV(~ag(8k7Q zJRZ;Ha>YUs#uM;JN0Y!1zC$?=h?SlS`%KV^(iXOwnV}=BLbVnErJ*>cmZTizaD}eamX}nb|7Q24^`r_gun+I%j!}q^aZJ6cv`-u;JapBI*8?|cn>f7&l zyxyv~V~n;}FS0xt2Vq#sj{bD(ST|4Wu~_rgzZ1uzi?1oe68E@*r>WC=`pQKs_7|hu7=zxLx?;^9|W-RyK3r%w0D~P(?4_&8}N0VWA6Q zh$~Ib=kn-SC=!WA;{>U~ky5z=gATw$)*caVL_AdF|AAcfrNjVUU>Jok5GR(`nAV$S zgt1aB5j#-}{$5j&gvEq&H8Z`4EE$d#qrp}h z3XSNt&Wq}_6WcPw6?A<$`qc<1dc+)%N1qy>wZYu-xXNh~J65LARfOV|B zTCHf+3R`_}gvCLMj z$N^zAnM{&e(nxAhE;L>)p>0wpFq286owH}p(PhSTd9mX@yn;dg6m zt6%x!|8?&C1zb1Du+zvLs#d9KZsol`9`(O`ijV`=F~Y1is?`Zwot&#_$bhZbZT4ch zRxXuDDVQoRmC%q7g2HBHp zGu5hGDwndkTsoZwNRji(wR9#E3I=2GcvY75dINB(SS)~VfzANA0Ae(_6@TR`I zvxRb5rkT!3RZ+rmNS! z;BtGk0;yWoOlYs#W70ik$J!pH>$)zkL5Fe*&an1Ve78T_>Iz#x0g#t$z61zi_4caF zi$p(=0#&tIl9-BVGy%9trc)}dwpb{XOGR*>SUhUA*^LHcm6R2$!P>&HAT^P2$UjCR z19CV}l8h#^!|nuxfj4b!ZQ;DYg;*>Cfbe>UOct}5c*(W)oIR7pe<`Qa2{fryT5(oCB( zP<)p1N(YSY21v>gDk%r7{X<&Y`?F63Hnxyj#KehJ0_ADo6fp^Fbg`dIlf=`-BBp3G zl7x{6GtguNc~Mcvb1V_VSHJ|DQpBDs%geCfK!rfQa5#m%GPbMKl2)$+3!6GIU9HGq zG~iw}eGP~M7*Y}6xi**0Y_6}XRcdexv}wa7-xVv^hGmu0*6P!!C)Z3Dp|C> z2?n$c`zJVS__O4Ng~c16{2n9!*44K?Ue9)=GkU06t>KA7j|h;s59>uaw%Q=9`2mcB zc%e)M3R1Ny`HxtIB&Q1f1O1mI(LzdBk&tkphs)&#lZZtlFvlh*r$)!dEM`(C5!e=w zM~w!<=;*lFY%*J{Byph2RVd_3#R3QmG#?OPFd8f6vN3Gbs7bK~Se+nEXhfw_r&CE_ z!HJWnz^905rk7!^DmBGMJpT5XhxZeSI4B|d?DP3RvS80@HCmdFMMWn5UGbqT^ki*$d46jXV0!6|H&32CH6w|DFuhK<9txsM z7cO2#SMk9}1=c2UsKsLFysA-sr*)in#jHU*T$E>xqM5n5xx2S+;uUi33txm~iajgU zZPwI`&l-G2m>|*%4VHzccoe-YnzRR@rg+?1E5W&^Y;yp&4J_=7W}O(S za;%m*TN6!$Wlf34W1&zeola@Bx=bbwDsrPyolm{Cp%5nV6WmdhKn4!Kfo8eOLx}Nu!o><=m6UkFnduH!hP* z$FfXgWA(te5&vj37JKq|7DxGf!?62+q`d|wJbCiu)@PprhA+Q)6(b2ADb&*l zk|jHuW_*^?+v&dj3 z7fIT6wHiPM9Qo5f{aU$F0<4hi>3ReHojZ2{oi~}xY+|fhsgP8~FeGgblIO2nxp3hk zEKQw8=W%<#aP6IZF)s-cwL0~H+VQb*5Gz=*xZuxk-hj1u_T0G|Auc5#n$ci{b(zcM zNNEkZinDk;-lauYlUtHX#L%_bWu2I{Yrt*i=jM9D#l^+XKKU50k1JQ-#(70SuGY&* z5?{QUEGm+E<@po4)boCk4|pd$DbEoMj}#lZN%&katJC${D0Hk-NhGC-Ombe<*!sTa z|Fn9Y-QghRp+!YzNlQsg17Tz}YCkp;Y@%Txpxfj14UYgwfCcGH21X^g30fHP4Ut-i zDm4Hrkx1xu28$K2X2#A&g8>|f1cK7~p|lIM?2RN@{8pHO)Z!CyE^ME$O%gsxiq8`S zfelFVe9^oVZ0$4<7>EN#MhoAQ^+f0Z2w1sPf_>-p`B>tr8q4A$ia;n9<&n?lfNL;3 z&1P${Sir9irxT64bDnHAmq}BjSf^uIE^yVbRWU>?4_~Y78VA2CU@^=Z9Ua4mXV0G9 zyYo42#nrc|KT8s;l?EWy(+u`XPO1pPF`6h;USxC6mm6@vIwIc|6pyX}R?8|0Wcq)N;#xo=(r1|^!%|Umm2PP)7?PV+{HS(K>?_pId_g_=|lG@c_hIK8gR3!rcyBw#1s@D+Qif}!z@^= z*uS|?8M%nlJY3p2} zr560oy6}ul2y_Rj%}d?28nZ$#fG!#y#8?pMLT9v87s1omdS}Fk!ngyU>P3f>ci^ zBQVY-vizr#xV>j1=}enx)v@HLjwv*w)=s+7QubHPzd?2)SDzsJBYHKy z((0%_1Ph#_)j*F?T}dSB>tU{(oiG0u`-M?1rPc(Sx?6r{R4TRF6c!TEnir)>%P8ou z5pQ)#pskVBPSjCCvS5mi;99!Mk+yrK6DFAuB9=+aB?=wMBRRb5c;p^$+nP9NK zcBgek6p2%>RCdipvx_O+Si1x4oqINS-y-82UWy z8#bFw%v98QWdp9()Sl69_{AuQZ^~%Cj(-3QO+JZ{}o+9Dk*5;;MlgGy=tX3;cUYreu z0-nrCjkOU9t^Tygb8uxmKpz3I3ZEY=`PFl>? z;gJ!O*=*1og2CXEr;pE^ISbqg&ppd+WebJE*u=QahASnRaKP6vV1&)pWWZuJo5cut zeZw?3gDkWhJl3JBk=V72NQ*yfjOBHBaPKyLA?ppj9*vr=H)PX;B8hbnMDE8uN~inr zrXDY;-@Vo2uI!xg>YQF8el3+$pvaO+rR7?cl(dpWkc-i=F{tRm!ovF6n#-N1$+Li`)*sLZ9Iad^udlDFwd#u}-tZ3jXx<22j%JMU40*>VCs~O=yTeXOx0Xt$&z!N@ z9F=m3&N52LbTXAn==FM1yD*i^q|=KF^JpOy3f;SXyDC>ECMQpyK8s@?+`k(N1wp>f zojZU2;zdOL%m(Oi&ZD!LM zwCr@dC#R=@5)U8TOT^;fIIWn~Ywb?gEM}cIsP(f}OMLL?+wAP@om)5YGI;CS+hpxd zJ*7kaR+2oWO($LF9Y6Hvea9g$t-kE5%*5mbIOg*5;-CD< zpObtzDk&O`lCLle(uI6 zALIA8uD(rdLsGn>9y=x|G(PLdo_FPy@PX~Cfl6D=c1SC@E zv|XiIDHID!%ZpI{;SoP*j=^Z4nHY$>7%T=Rm|CL-wfW@tzXv&@=8ib*^G!`pvuH`S z`jLiw)|zgkO0}FyrOKu9kZ;K8wCZUoAiK>DSj0x3-|uod=jWb9!x5m;*!aZs^ht2E zXHTEvaB#+GH1gh;|Hxvo5PzIX1rv3|Kbp(tmY2}e1((NTvDjeeVlZ@C9j=HZX!dvs z5UbVb29PwL&jP+lPKd!Ut84PbJ{DrbHXJ3j!WI@jzwxPDm9M??Me5HIE6pcQBo^`u zUsA|@SX_>VdXey@OePJaSXx*J1Op%r9=8X7KfV4*I21f{?mT#es0gqJVLI6z&I=bV z#Nxh{<>hBjpP0=SDD(WYC*C2?)YOzxlk=rwBoqdGcu7?r+vw=n=EgdhOFB&|+5^AV zS633T7*N3Nb^|F!hW*dxp3FUc3gQDQ2WCfWmsWrs=~RlQ zsMBge$6!CA|1eNZMzi8nVB6ZP)|KU@cs$;QS)KW_y2g~Y)eY-DsloQ|T1=S2mjq1_L1r`>Y6@|G84yDuU9Cl~5T47UTY2I7A3nyOSFXJcR;!|c4uGr1`YMiE z&r1o_FB=pb(rI7R6D5jD@3QkGp^DK+Dw5K2q*a7+a_xo7@I)MY1%b+)qG@%Mh{USO@5gkuc zy@4#C4-yT)XG!Qu(36F@)kykyx*HCMt%{Zz1^`|yRx3*{1JtnV^(wmNPNv2ZuEJuq zF$gFY3nx#V2123R1TkwhEy-bTVoMuI#^_qjrZ=!fhG?9|&=c1kz`9r{s?=&+aweO> zr5SSBd^T54SNK1*U8^5iv1EcRjIVOU|PS*6kY6ghtug|FMpXpSCi#tjrE1pDUFv7v5YCPNy0$cqC~T1$3C7EI^D@ft6*uU6`7h zCW)JCa&#~8S-tO+D0Iv8(C}x`Tr~G?`K`sFkdxDSiV;XPzDRjIPQ zjECi-sV7co^_MA%Ot#iUS!i9U%aZCHI4ugv+gFwMnzumQK2RBGy$mZ-OVdiQN0w~S z=|!QLk)|GsOOg&wPJ)-s&O9V>usicQ^vVa{)tS|`j&!R(3$`JCe?0s6^Utp1eemYh zYi@@P(8*uX9I#$B%n}cnu$JXZ=*Tmp)bXh4(-*gQQd&@~b$e?*r+unT+ert#guxC} z7$PywLbFG($Cf^~qF!jtme3s5i3z&GQ56Vm;;6PfrG3^L_JXIbQqM&r*A^BRuYdA; z5IvXO!V(;E;ehpOQLJMYs?)>{mKug86{MY&#O`JONUFiQ>zbx1P{i#l!a}Q|D(-fv z>{ynwf#C$5eo(}15UM8~te-`oYrtvJX|j-9GLQm3D(dxSAqA9lfoGBAHlh*=2C=;} zw{lm^>J{(aOPIxt{pRML-MRg_-D;-HRTg$DjL2pGfOP~j8sc`!>(_93hE9W8H~J=M7X+114DZKH55+)T40&rIN{PrpuCR{o#sbJILj- zHBv`fMah$fwcLrP3hO+K!$yZm0ts1Gsc5o!_OQ{SKBT^xI4#mhi&!k$nTw`vjWnC$ zWIV2GSXM7Jp}A=4xs~tSxkYkX&~}76_}2DT^Ztc6sg8?Y4%83zb8CP5XJt2|`)Eh( zh|ad3C1Ul|SG5-JO^vEm(;yOs=9)EXSJkRA!zz|dSztL#X&sBY?L~2?nKYSkALb*c z8LhS{Og^7aCgO!c-ez;y9S$54jf8W#94UaPCE5;Etdi9zBtZgM!)UfJR3+*9DwRw+ zU8ZZWlZiyRSUP?7tkGm5QKq8M45w^nzo`=)e4u^`)u2P0b>Kxkb4snVA;_S>rl3Q7n`m8r>jdkcO zh1>t7u2!r4em_2}tgI|9F1Fm!9Wmtvo<{7<($I1M z9(|Z9kw_SStyY`WYRMN0TbmoH6v=RK^3*A4CbKw5WR_Z;OeHth*PJdlpaFOh4u{L7 z;_!%nY;0T*7iGlDkzN2X2(x}9-u=c9MT&MQ&T6*W{X6VE&$Z#=jN7|7Ket0 zQmHh$sMi@D+pWv($Q+MGGk9H30IYpH&CH$HodjARR$$1l@f^rNiQ>uPHL4RnV^(N6;~BY zM?(;n)WmKWam0R=(#d2j7V~(A%pi265SlKZ%P-6?;3}LBCzuy2&!u_tcynW|>4R?t zpss6o+TuvNuH$Ko&jMy)H(Ui8Sz1~GaC3W*`>?7XS3STS|k#gnx2}RnwAN^)KnyW zRTf(5a=1)J)3%#NQNYWB!5}M-xW2Y_^3-V%oMpO{X0Y1E z#>a7WdZQ*7%szYe^!)h?2E8E^3TN$v)agS zS9e}(eAdXw2wee6>QsYmH8HDcX>thTfc4727;!WeOGOws`FsIZQn6U1xjnUh|7fvL zTv(V71h%jpTm+0`cz7fdB^Bp0=`8k4CX?}a9OT9A_OO-DKsvw;pv`QtWHTAJ$78cQ zb$UGr5vdX?iW?j2%S%fjN~5EGw7I#l0WvZ*HEpw4m_r)-XtZj;oX72j(rM_L7=cDk zO-)bZEMODNt^`=XG&7q`IFO{}Di#5eMuRaD2|ao87&rwcSSBm0HS_b&V$mp|3Y6-? z#Y@$yE}cr}b2)5b<}11igaXh2NnI`%(0gHFjx5bFnX;KQ2q4hM<8|BYc9x?VeMVQ~ z6xT3HMw78zEUMK6we#6rJf4Wfq9h}Y&H&KVL^NoUDaP!59bzNKpz=gvq8+siEXr zwc6uyPmE8H6b^tAjrPHVd(g%+XU^Ddz>YFnhBXB01T4TgtQPCrZ@-<(=2uo=o`6rm zR?1;dD3#IZ2G0VfIP7FKA}e-LC=^tpgp)qFfB*Kan{U2#YN6Znx{&+g|`Goj-pOP+EL=UlKiF zULb%VV(8xD!W=HVEw95M@mc-vb*n!MnAOB4n8^&YULvSE=2K&wVZ8{GuzT%b1=fTl z5jLUIX_;|>?F;jBFcM)Qj*U-1fng9;t2Mw7thCY5F|*kWHO3(ZqX9$*hT)Uh8L$lh z*tpGR1_TreK5!yvEI=TYNL;vdsaPy*tgnNDoxgC=H(XD<4xj{Pp{aA{&fmWEc`B7+ zYB)AFcKXa2MrWD@pOt!58#+%{DrK`7z=zZ6GMn`pwMM4}CK{orfEbdh+2NR-ok=It zHe1dxX&m+qXVN4cjii#$4G_bx{Lvp<%$8_4tdc~d(co}60WM&FPaZ#k^6SVtL@i4M zuhD4Gve97D(h{?5*&_xD+e~J2wITystriQuxm|8_5-blCOsCUhN2Mm4t=4=l3;P-) z(1uyPa{hHf(yoHL#xRQ=*lHWT6v%bV`3ncE7xDh;_QXPk(wP+A|4U1Y;ZP`-%Ug)) zRKD@qjYv3j=FGWxJjU|yRa*(;09q@DYNnt#q8)Fj_ z27_U3ZI#+?1+T{g<2Rj66X(6%uGWy`R>ZbVCD8()1pV3C+JvzQ!dR|USp6PZuF{NL zayT5ykc@*WHXztXQ__|zWNEZqlQXIG=H><;jfzJrLj9;?^>NM7j}xpBF$Kb zUOxENybhgCtNyVLt(djCx{5m`?3{Dtwjl?sm&97^nj)DxgD3!nqLDDnH_(<~C|D{M ztHcyi=knP|BvdF6H+&(VHyDkDVj&$&gH@^2DnO4c*Cdq+`d_U;;q}m7C_K1{XUIz` zeW_JCBHCiPoQTKEbf2xjmd$3h*vN8a-^lRh=KAB=$E9-7?eUC`jcYV&r`v^-W^Xbn0)YkwLcBcaf=o|K>(=pG|MY+V zU;oGd`FF`|vDV{B73uVUrA#6rl^Q9}M~aKq;~Q%<91=E@#L7WSG$&Og99dajw%Tmi z69yfWGa8Nfe8bRo=wYQ=1?s`P0z$=NQRw{i^ob##kDUdF2*ejggms`qg<5|S^o^vu zDwP`H2r#U4O+yJ^B^sNaO{E^qJo0+IXU?8uDH%XXz;S4?9HmmOkZ=S#>o1Y%%Nn-S zXxuqYbm#Uhu(osO&e3RAI(=EGutv0m6KR0da${{aD{;u;F!8xjbVp(%Oas&;T$GAd zRLtda3T?DP<|tsZ7PC}f34+z(U4Z}A*4Dr$LxF%qtN5TlMJi<~P0SMN)r{2IhJYs$ ztJGk?Rp9ktYzRIZsF1{7dOiNKAQiCM#l^+>`FZAp?_YYF3ujoz&LU(=*7a8n#RV1B zKbD6;q=nJhSGwG}-iScAt4B1jy!2Wfm<}izkYZ%S4{Hwk!@@fWvWUbh22259xtuOy z9|1ljiO~m{CURlggWZ@VD3Gu$vK?PpdKqSrkv0tmfu)O~HCdsVXV0D^^~Bf~L4d}x zGKByRtx3xcXF>X+AQ}xucBQz+vu8+TsY+5Q6diEw&~lbuhNjY~X-Q&2p&8|0&n8b| zxJViX)^fd|HGL}pMF^19YHpW{CB48^lns?qQAZ3ytrlp7(^3DRW}L18LN`G4ghno! zuKBZCYglyDzU_`a&CiTyHQQnSEQYh3WbG5M_$=XbVpwfFtNAPoy_XU)1Zi77+sx?F zCNxWoZnv}82$?4EL|YX~)7)-1i;*XbW@-dh$}}9IQ@d!e)y~W|mG92s4J>Oyk?|EG)=Q5Hqz1TJXf`+8?e@8k#RlK zJY6SPYphpN(J~x*ot|Z^Fu>ZVaXRJdXuNE-N=kp2m zbQ-nQ)m3m|ZWwZg^>Ps{@i5w;391_FcxtSsywI#aRfk2g17&L47S5q+2wOuVHdw=e zJ>TDf{oWAGF=5M?*rH2Wst>g&HpW~O>eZ*o*Qu!~fcc|`4`R^>+889Jbnvx-tudtx zv)I&1n{CK3iv!kc%1c2qqCB~E&YrzUF<@uPiOzgcLMWAVmm4@?6XvB6m z8X@^1>fW(k^^g_dp?$V9l%ji)5IynI| z5e;o^?Z}_iyrN$Dv-TRF1IM0O)dWSW4;oZPInCLA!geO=Y*vGr+trJmGAp=_dDE^BEJK#lssDwJQS zRCKDKrZm=_2r8NcrU?K_W15dGR4x^ZR;$%uG&JT3dR}jRwlR~bQI8w(>ua^!E%#+o z=uRo0uhMnkB-oEfW8I2^p3^P(- zzd+BSet!QbO-d7?NJmz;xLj_CMnfuV<#M^@<>f*l@AVFikB_U>Dz#b@i^bN~R7@r>1srh2_7Jv$)qb?fuXZ@f7#;SiJ+TmX<&m5Gs+$z@}SIIszJ7GB6u8c=jWcqV==qkF*!Abzeb}v7|bp#%%dm3;!r5Kxsi-UBa@TU zz|Cr<5)Oya2b0;1UKNX_L@bJ)ko88sVb73PtPlnYzyc?Vgu~O*)39WpK7I1^$zxEd zVyOU3$xs1z1NvmLS)Vn5u&!le!b%0o6f0D z*L!C=tyZ3eU-3ra{wxky$C!VKT|DtBQLM^xsa#@?q++>5o@^b-8V-z@n|~IKMVUI4 zXtnxODp4ty%_ftP7JxPw48W56_wIph;V6JeK9_}Jz?uW!N~Myi6j`_@OiTb5R#uiP zB-K_0NXML6!C*kGQICy|0S=(yB;r(()U=o@8V8-x1I7#n)Co`>DozHT1qcHTB#~c4N@!}6BqK}#Rbk9txO7QdQR54G0(@jfA3BwY$4TgUu`uNG zWpml3Fx4N=|4tR$^4Tl<5718WmF1xX@Cf8*20Vjg-2NN|Cjo?J7WU^Q+ zz(Pdl(N~~6E)!rug3%2+psJ~4q5CMk>Tz>P-FTVRFm}bGPEv-iFaJjr*FHH(hy+m?NX@s8RsEzgYP$2Nu zl`GyMPpMGAE^og1*3#l4Xx*2-^d4x}y}NgSq$8t#ur*M^_0_exxw(_4PXmLZkqDR( z5H}u=>a^PF6Vp>uC(y&ywY3v;MIjIg1}v@={nu!QEXFeJfw7X&HX3PDjao$1zX%qF zE1P-vfYl0PJZsmSe{D+zdqGbV`&#D>F^mff3*4W@0qdo(2)9?;KxuVaoeH*`Bx%%Y z02xf2t<6nvAHUykA+?c7^tRn*hp`rq#_(F6op}ViZFqQiV{Hv|Yk1gi(CeWSu!Hc# z6aR?9;=5~^bQ(AU-5B+c>U4URKA5GoG8&Azd`>N?&R@9j@c#WmKF`)>}l~p87GYumJJgG@?o~nwvvNS3UMjK3v&Blt2v^i2UjWzXW!Mufm zIY@j~8=2~r=dWx2EVln5L3z%zxYPXwINh7iwj$O)Z9`MHrOzayD4k5MZ)_|rErNGs z{eFYNSgw?A-})RHe(KbzU@!;Jgg)GaoJ2dU9QQgDbN-WH>=H7tyEzlq8%vk8`7I@mkU}wGUA_|ow;}KF80^y zbyl05B^TY;*pMj28}a)|0SmG~Pi7QBB@qJ2kADWB3)8W)&QZEQYSo*;rDQ z2aSVi!dg`H+Zlhvmde~B&1eX)hj}Z~IQX_q#{#eRXy1cI(;EE?F_@{f#ySixrU`G({1`0DEF@bJixZi9 zTOAH`HHz+eyhCUZfQuGD17Qi8OlJJW#ezbDa^>=cL?UU1^=r0(Dw6aGdObRc?%_(& zK1sMxsRF4nN+z>eSFNy#MQi~w0^O#krVS=zu~f2P^t3`tCAKcim?{kN%6GI$|Ssj?3XPtQ}zuB)!Z({nOw5-QQ*M zIRK!1>&2DaNoIG_Jk3O4jr?dWv zP%xCw=fdF#wEFCsGcJz@CQ~FFSzTMTTCBq(P;x8t2hk#g_24X)B0{E_ZfNmRiH0?a zZGFQ@pFMrzcDYZSBJlw<{{#8U0>0`QCdk?t7RX*>yJ)pwMx}dq?+y)lPn|wPBghoC zFI&{iQi;-IYb>mlW#DQ!+Up^&+rvo96w)#o#Mo;tsBXmw)@^pBj4CROL(wyna*UM< z1{0`CDs+$(G}(NXq(}rC1!T`WdKe4_SPOf~Mbk`2W9$%pLs%{v3}7G-SXfwi_Uzfy zr%$`O@VRgw){8P2yKIJ{YH044W?*`=93fNDW+b=W;m{ilphbW(i`Al~o-Y6p)Pla} zNzf=71Fr!efpU)cM|D~)%to|NQaE@#CXi;YN90gbbc;nG-@SaGM%h*2bFd4aRh%CGhMhwQrA zk)d(m!~{7On7y^RF4FpjZO-+5=Yww*Hcx^UNc9lzsNsNhj4apgugv-am$rN|9qDBh z8Xal`HI^E&>`*78$wbqx*I^D1JgwoZa=|R3>5S2Mg#^dfSn4}EMacBJ?!oCi_0F6s z+rZKMN+;SJ6k25lD9r^x^|eGh)xU8#IittxrHg;6&Ga&IdwLnU4}tCc6?P^2Q0d5u zv$IVKF=U@+FlwW2w%B66v635&?NhLMDGv;VLkf*`Xv36!V-~x1hM4Q?>x-lkT9Uil zIbab6M9fj7FAceVzI{COB)BDU;h&PsLsv8b?rT$`Jz(Gl?FfoZk zW*$8X2DVrtX{9Aog|IUY9)G*muxO%H)5Qkt3x~sZ?%dhj+@uj_@@uPJyXsv#!{S=S z$KmzBDWQoq_54{)#3H^kp(Xz)oiuDxO6Jd!BwAQoY|T^Jf9+1I4cIy%0MvsSxVE+y z2n5pUG%&6W1YgD1y)w`b-J0PhA(z+IJl|e$vkPW1gR#MkrtAJJ8MLTI{aHfqT4DY3 zI$BdlEyq7v078XG4ayvd75*|~kh`w-U=niS^7?{T1GB`P+R>Vnf#D6ouL<&Lc4lU4 zYfCj)9qBelJJ1UBimi1o(CV}NCUC$ye!df-XCM}r7e{)P);dB0O^QgjkeGghUXZqF z51T!tA8DArSodcMy1x0dTI1j$tPmOVSXHRB60|;H@vl2z@esA=^ZYA9&z#@yy=;%dxoajS8+(Jt9j~(-c6;HaFhR#4tHQFzexi`_V{5 zpbG<=@mZa=A&bv~v@X5sS|;*{UTXu)<|zklg#*?R(WK|lnt1q?0l7R6%wlgVl4?e^ z&8o!hEb}e)BiT5Cy=P}ht*~9=vshF_XY2y6V$T8VML+i~++If~$xS*9AC{L_sxr*F zO0iff6!KX}Cd+cv*sNxo&0;j@9zQm0tgn|Vl~x}-6Sjh?)nm|#P26e40qeLx6??CK za{ap3>uprHQ+9AJ<#1|2b9pW_o8G3HQcp!eQ(6!y0=J4qlH|2mAekFVQq@lSw9%ZD9=@ zt@bCX&euMd2AChz@7@cu4vAqM)m-v1SrETVH}=rW=Y2u6=0&|8HLS%ntqjz<;JN>Y zBfm>8Q^o_)P*0-9Aze4Zw z#E$=8$iLAVN|!dG>EMSzG*#Wxzig1X`pYA|Vi)p2Q!GT??Oaqvq)zxk)2#)Sn$=fc z8}Y!r*shED{Poo(3ipLmj=oh?B(H}ioUdB=y3`Kr0)vjcHe{MRT#lXmC)p4{6Q7%j z?q3BkkO7=$j(aE~=)%@3wRs2B9RlSM8tp?8<>m08ppRiskwR`MpC8u8K*pI)J-qPJ z18aa!ShQ>qeyaq=tIYZs)3wK%pM~L^cZTov^-VmxFNHqVk&AghNiK7aRu}y+wDKo@ z4Og>VD=jUR@I55bsFCEBaU+sMK$66VMEWp$-V9`HI4nt4JKTpnP^h`er7zX|0-I2f z+uB2q^|!Yy671wr0tt%(lZn3hi3iZ`%boSbb7SJUKo3BWn4l{|*)F4|n%#g0>=3|K zpp4l(ngdK>ahQgN0c=31C$Dt!9q#6aDa6em6XY^q_6G-wRRnH!V>@9QMO>*EX`NXk z<^yy}E3S}xww;iqj_|||a?X&R=X?xv294Rccv2}}YkWbeOA8Y5g3y*x7?aJj*W&rtDbES{ zJ+5oR<;;t{aQ&w0S=>{ARq@HD8+h@;O<-D?doA9)W9F}9B_dHG}%+a_%8RFUcUxoYLSANick9I{a@B= z_KQ)CRL%D&(dF{As_LlgzP^$rD~XD4NW$D+wXd5iM-d0pcLW^WhLl4|f6wLk97Q5W z`NiVjUus4;#q|*U;zT2OC{8T+3uZYCQfj(i4WN99E8}qmHE+ublZgl+pu*o5&P!gr zc;S?sb4!9g0C_hG*kGeo50O5mM{zuxc{n)*032sBsW`9Dw-}DJ)D3*y#SCyz z^|>|e#PajA))E7lFkgPEec@rxi zyn+1k<_R%BkiH9(tY+Q1fkU!Yci(yS53~g%?INE62l6tI?8)HryT=K2XY^~O<^|q;h!B09 z;bx2bz@O53RmfmvNa-@(EN4*4f^az@X~V70%+n8XWp?2nn-N8Y5cujE@-Db>86Wst(|fiUXN{qh zVSY(l#X(FmuiSw-V7({(uD$-492sI=6hg^QHIyH0ter|5Tc2i~;(xjIrm2$$DLfhB z1iz0Ai4}{pkX^9gnK?WoX!jp(P@sK>isDi96*Tu6bh5sSKaN}Fa$%n9ohV*_>%Qn6r12G6=)I77*5$jeL}?_&F0q zFxg5lQOYk0JYN-_4SNL)USH59Ae%J>J0GJJ^5a|hmEVsy9>NSH=dLPqT?ey^UugCF z+I@2-t@WU(!!@Fz8c|zF)DhWjQUKjy#iG1m5q`nk6(GU{>ErG!Ma8!i&WL2xxQWN0 zr&+hH*(OxH^<4)4jJw7w+scGpNA?lQ9u19oRa|nqY zby4_ajJWSpT>xHnfOq%$mnqWu{jsoiUGin)U560VV+Erso~X>j<#~h#{|F!(&(r<7 z3X5Vi*etLGE&;p=vPW+q#dOZ!G;}LU_tgYg%W8!MQFeUI%wy(zlgKMqAnJ)+#PaZA zm!N4QsItP%w;QG);fhLH>lIKrR+5c(34py5erfuxg>n2VPu0kqmyJpbmMc=D5u>n| zh)yEQ8zQhp4b%62{`SOr{Ja!sZ84E#S$^ioBZvm&25h3+`&Vg(C@9JFcj04>@RC%F z(_w@jZ(H#a>)FD7qf@M|Nubg`-U^TmVfn$B5W9Q_`5&=u3QF|Sjc3iRbSFJAk(K87 z{CRlSws+FpzE(S;BbRCuRQwrtl-Gs^jf7dqJZP)^v^m4|2br%krL71qUp}Gk*9v5_ za-e`rH0c!r3EujSxVj)DYAKD9X|1mm##8(JeWlTlYrdZu_?QQN@8-f0%VeCUo(s0k zMd!>@QgF?YS++6}i$Fb6=Imds>7{kZqL8D#)p?HG&PChrP#RLPCy@>F;K|Y=r0?Y1w$q(fMVUAenO=ZS%sU2A*e8GcKzg?(YikP z$xE|Aa1)srOIUu9vqD`p+m$M98l2kK`jn%_1&WqFY~9BU@p2A|WUlIa#C@g2aB@mo z$u8sX+Z{fy^`1wSJLWLY0dzNiLn?RDl!dPYb5`U)`T2t^6mjoji}2vj)f0}>JAdyG zn2(5CuJY+G3oG>TT3lA6<=P_vmZX;H3V*_|(p@2Ux1PThbZT<1Gjo56F=kH)Db z_Mbmb+rz~?C@U*#7m*epdMuxq5sZ=aug)33w3#+~h_y(6JNN=F$5pm*g5=WgydpV4T$pi&OKfHHhkdhZ>NI zQ8N}};~(nI(tY+3LHTFnYWM{qUacKbze_#Dzf!9LRFz12mosEkGxseui~yu8z>MGq zsh>`zsS~W2g}=d1GbHOXRh3)1f`=cXtBUtNLpT3UTxm|*{H0tne6Q{LWaW`e-tytN zKa5K9I6a#=nT))y3j~8LdVa?``n5D;v&mbCs_Y`EytO}%ta#Fz8op?PlOfuY)tP-49-X^ou|Yy_h<7S!4CrM$T{f#3Fr*Pi9t zn$=}@9S_yC$KD#o1SnThiF1LL@!wfH&TKWjJn~*cuqYG}6X;oE3|P#Jc(~$L8#OI0 zjn1xCvF30hNeeq-tqjs^%bq` ziK02VFTBhhyx7)RfI9U&y34>tzSC@({`ZFYRQb&7BOhn>*Q_+cE2Y#+KZFyPg;!%2 zB42u}Z2JVJ9D#2C18QYqKS_Zh`_)XEaut-cAX{y@;o|j(`C|Mioz2+ppwA=(_6ote z=7`3}Gy<&ORY4Xv+_lNv^ODjQt*+kJGFtEt^^H@Gd+OC5K>E(*o`u_Y?viFn3H!z~ z)_)jw_;1I;YX_5sd2M2;E4sT?PP$>6AeFx_eGy<8h^rV2qFbiEB~uv?4A5>KTCV32 z?YcOX_F>bKxvpqJOv)@_DtHv-gfm9l`3DIxDd?;_OA}lnZuikDS_t}|d8505V@0tX zV7?(B%@ z%2c>Q$+QD1ORCj6ub!AM*f3ap^`5Wl_cO;z#72*e`)ztI1WcZ3iPUYWn+@hw&JFDI z176nEcJcbWrt+)zq{-QR0Ar|YtRkV%+Zwqxnk{b#49ly$kOtXc^UkzQDzP|>iz#U z(7y@_&^YQE8?x#@D6IdLOaBU|4b}DEvPktgAgKXCKp!7_IBhYAIR^r+({@fL3r~2) F{10(MLbLz? literal 0 HcmV?d00001 diff --git a/packages/addons/service/rsyslog/package.mk b/packages/addons/service/rsyslog/package.mk new file mode 100644 index 0000000000..b68e36c348 --- /dev/null +++ b/packages/addons/service/rsyslog/package.mk @@ -0,0 +1,59 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2016 Team LibreELEC +# +# LibreELEC is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# LibreELEC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with LibreELEC. If not, see . +################################################################################ + +PKG_NAME="rsyslog" +PKG_VERSION="8.21.0" +PKG_REV="100" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="https://github.com/rsyslog" +PKG_URL="http://www.rsyslog.com/files/download/rsyslog/$PKG_NAME-$PKG_VERSION.tar.gz" +PKG_DEPENDS_TARGET="toolchain util-linux libestr libfastjson liblognorm librelp zlib libgcrypt liblogging" +PKG_SECTION="service" +PKG_PRIORITY="optional" +PKG_SHORTDESC="Rsyslog: a rocket-fast system for log processing." +PKG_LONGDESC="Rsyslog ($PKG_VERSION) offers high-performance, great security features and a modular design." +PKG_AUTORECONF="yes" + +PKG_IS_ADDON="yes" +PKG_ADDON_NAME="Rsyslog" +PKG_ADDON_TYPE="xbmc.service" +PKG_ADDON_REPOVERSION="8.0" + +PKG_CONFIGURE_OPTS_TARGET="--enable-imfile \ + --enable-imjournal \ + ac_cv_func_malloc_0_nonnull=yes \ + ac_cv_func_realloc_0_nonnull=yes" + +export LIBGCRYPT_CONFIG="$SYSROOT_PREFIX/usr/bin/libgcrypt-config" + +makeinstall_target() { + : +} + +addon() { + mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin + cp $PKG_BUILD/.$TARGET_NAME/tools/rsyslogd \ + $ADDON_BUILD/$PKG_ADDON_ID/bin/ + + mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/lib/rsyslog + for l in $(find $PKG_BUILD/.$TARGET_NAME -name *.so) + do + cp $l $ADDON_BUILD/$PKG_ADDON_ID/lib/rsyslog/ + done +} diff --git a/packages/addons/service/rsyslog/source/bin/rsyslog.init b/packages/addons/service/rsyslog/source/bin/rsyslog.init new file mode 100644 index 0000000000..f7ea1ae287 --- /dev/null +++ b/packages/addons/service/rsyslog/source/bin/rsyslog.init @@ -0,0 +1,34 @@ +#!/bin/sh +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2016 Team LibreELEC +# +# LibreELEC is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# LibreELEC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with LibreELEC. If not, see . +################################################################################ + +. /etc/profile +oe_setup_addon service.rsyslog + +[ "$RSYSLOG_MANUAL" == "true" ] && exit + +( + if [ ! -z "$RSYSLOG_IP_NAME_FQDN" ] + then + cat "$ADDON_DIR/config/common.conf" + [ "$RSYSLOG_JOURNAL_LOGGING" == "true" ] && cat "$ADDON_DIR/config/journal.conf" + [ "$RSYSLOG_KODI_LOGGING" == "true" ] && cat "$ADDON_DIR/config/kodi.conf" + [ "$RSYSLOG_PROTOCOL" == "UDP" ] && PROTOCOL="@" || PROTOCOL="@@" + echo "*.* $PROTOCOL$RSYSLOG_IP_NAME_FQDN:$RSYSLOG_PORT" + fi +) > "$ADDON_HOME/rsyslog.conf" diff --git a/packages/addons/service/rsyslog/source/config/common.conf b/packages/addons/service/rsyslog/source/config/common.conf new file mode 100644 index 0000000000..69ffd9b641 --- /dev/null +++ b/packages/addons/service/rsyslog/source/config/common.conf @@ -0,0 +1,6 @@ +$ModLoad imuxsock +$OmitLocalLogging on +$AddUnixListenSocket /run/systemd/journal/syslog +$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat +$WorkDirectory /storage/.kodi/temp + diff --git a/packages/addons/service/rsyslog/source/config/journal.conf b/packages/addons/service/rsyslog/source/config/journal.conf new file mode 100644 index 0000000000..caaee11c5b --- /dev/null +++ b/packages/addons/service/rsyslog/source/config/journal.conf @@ -0,0 +1,3 @@ +$ModLoad imjournal +$ModLoad imklog + diff --git a/packages/addons/service/rsyslog/source/config/kodi.conf b/packages/addons/service/rsyslog/source/config/kodi.conf new file mode 100644 index 0000000000..6bb4f9c57e --- /dev/null +++ b/packages/addons/service/rsyslog/source/config/kodi.conf @@ -0,0 +1,65 @@ +$ModLoad imfile +$InputFileName /storage/.kodi/temp/kodi.log +$InputFileTag kodi +$InputFileStateFile kodi +$InputFileSeverity emerg +$InputFileFacility local0 +$InputRunFileMonitor +$InputFilePersistStateInterval 1 + +$InputFileName /storage/.kodi/temp/kodi.log +$InputFileTag kodi +$InputFileStateFile kodi +$InputFileSeverity alert +$InputFileFacility local1 +$InputRunFileMonitor +$InputFilePersistStateInterval 1 + +$InputFileName /storage/.kodi/temp/kodi.log +$InputFileTag kodi +$InputFileStateFile kodi +$InputFileSeverity crit +$InputFileFacility local2 +$InputRunFileMonitor +$InputFilePersistStateInterval 1 + +$InputFileName /storage/.kodi/temp/kodi.log +$InputFileTag kodi +$InputFileStateFile kodi +$InputFileSeverity error +$InputFileFacility local3 +$InputRunFileMonitor +$InputFilePersistStateInterval 1 + +$InputFileName /storage/.kodi/temp/kodi.log +$InputFileTag kodi +$InputFileStateFile kodi +$InputFileSeverity warning +$InputFileFacility local4 +$InputRunFileMonitor +$InputFilePersistStateInterval 1 + +$InputFileName /storage/.kodi/temp/kodi.log +$InputFileTag kodi +$InputFileStateFile kodi +$InputFileSeverity notice +$InputFileFacility local5 +$InputRunFileMonitor +$InputFilePersistStateInterval 1 + +$InputFileName /storage/.kodi/temp/kodi.log +$InputFileTag kodi +$InputFileStateFile kodi +$InputFileSeverity info +$InputFileFacility local6 +$InputRunFileMonitor +$InputFilePersistStateInterval 1 + +$InputFileName /storage/.kodi/temp/kodi.log +$InputFileTag kodi +$InputFileStateFile kodi +$InputFileSeverity debug +$InputFileFacility local7 +$InputRunFileMonitor +$InputFilePersistStateInterval 1 + diff --git a/packages/addons/service/rsyslog/source/default.py b/packages/addons/service/rsyslog/source/default.py new file mode 100644 index 0000000000..3999a0eb31 --- /dev/null +++ b/packages/addons/service/rsyslog/source/default.py @@ -0,0 +1,35 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2016 Team LibreELEC +# +# LibreELEC is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# LibreELEC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with LibreELEC. If not, see . +################################################################################ + +import subprocess +import xbmc +import xbmcaddon + + +class Monitor(xbmc.Monitor): + + def __init__(self, *args, **kwargs): + xbmc.Monitor.__init__(self) + self.id = xbmcaddon.Addon().getAddonInfo('id') + + def onSettingsChanged(self): + subprocess.call(['systemctl', 'restart', self.id]) + + +if __name__ == "__main__": + Monitor().waitForAbort() diff --git a/packages/addons/service/rsyslog/source/resources/language/English/strings.po b/packages/addons/service/rsyslog/source/resources/language/English/strings.po new file mode 100644 index 0000000000..4f8d2f8479 --- /dev/null +++ b/packages/addons/service/rsyslog/source/resources/language/English/strings.po @@ -0,0 +1,32 @@ +# Kodi Media Center language file +# Addon Name: service.rsyslog +msgid "" +msgstr "" + +msgctxt "#30000" +msgid "Configuration" +msgstr "" + +msgctxt "#30001" +msgid "Configure rsyslog.conf manually" +msgstr "" + +msgctxt "#30002" +msgid "IP | Name | FQDN" +msgstr "" + +msgctxt "#30003" +msgid "Port" +msgstr "" + +msgctxt "#30004" +msgid "Protocol" +msgstr "" + +msgctxt "#30005" +msgid "Log journal and kernel" +msgstr "" + +msgctxt "#30006" +msgid "Log Kodi" +msgstr "" diff --git a/packages/addons/service/rsyslog/source/resources/settings.xml b/packages/addons/service/rsyslog/source/resources/settings.xml new file mode 100644 index 0000000000..a7dc15674f --- /dev/null +++ b/packages/addons/service/rsyslog/source/resources/settings.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/packages/addons/service/rsyslog/source/settings-default.xml b/packages/addons/service/rsyslog/source/settings-default.xml new file mode 100644 index 0000000000..3e3fbda1e0 --- /dev/null +++ b/packages/addons/service/rsyslog/source/settings-default.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/packages/addons/service/rsyslog/source/system.d/service.rsyslog.service b/packages/addons/service/rsyslog/source/system.d/service.rsyslog.service new file mode 100644 index 0000000000..510be4c7b1 --- /dev/null +++ b/packages/addons/service/rsyslog/source/system.d/service.rsyslog.service @@ -0,0 +1,16 @@ +[Unit] +Description=System Logging Service +Requires=syslog.socket +Documentation=http://www.rsyslog.com/doc/ + +[Service] +Type=notify +Environment=RSYSLOG_MODDIR=/storage/.kodi/addons/service.rsyslog/lib/rsyslog/ +ExecStartPre=/bin/sh /storage/.kodi/addons/service.rsyslog/bin/rsyslog.init +ExecStart=/storage/.kodi/addons/service.rsyslog/bin/rsyslogd -n -f /storage/.kodi/userdata/addon_data/service.rsyslog/rsyslog.conf +StandardOutput=null +Restart=on-failure + +[Install] +WantedBy=kodi.target +Alias=syslog.service