From e4bc0d578be116d93e28c788c638c4ae6d94ccf9 Mon Sep 17 00:00:00 2001 From: craftnut <61483322+craftnut@users.noreply.github.com> Date: Mon, 12 Sep 2022 01:30:15 -0400 Subject: [PATCH] Added FPS control and arguments Added arguments --help and --no_style, also added FPS control --- .gitignore | 6 +++- TurnH264.py | 66 ++++++++++++++++++++++++------------ image_assets/screenshot.png | Bin 24779 -> 27421 bytes 3 files changed, 49 insertions(+), 23 deletions(-) diff --git a/.gitignore b/.gitignore index d79ba86..b1419c7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,6 @@ *__pycache__* -*TurnH264 copy.py* \ No newline at end of file +*TurnH264 copy.py* +*ffmpeg.exe* +*ffprobe.exe* +*output* +*style copy.qss* \ No newline at end of file diff --git a/TurnH264.py b/TurnH264.py index c9d916f..8496487 100644 --- a/TurnH264.py +++ b/TurnH264.py @@ -1,4 +1,5 @@ # coding: utf-8 +import argparse import os import signal import subprocess @@ -11,6 +12,10 @@ import download_script +arg_parser = argparse.ArgumentParser() +arg_parser.add_argument('--no_style', required=False, default=False, help="Disables the QStyleSheet, might imporve readability.", action="store_true") +args = arg_parser.parse_args() + try: #to see if FFmpeg is available system-wide subprocess.Popen(['ffmpeg', '-version'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) @@ -98,6 +103,10 @@ def __init__(self): alignment=QtCore.Qt.AlignCenter) self.resolution = QtWidgets.QLineEdit(self, alignment=QtCore.Qt.AlignCenter) + self.fps_text = QtWidgets.QLabel("Change framerate (leave blank for original):", + alignment=QtCore.Qt.AlignCenter) + self.fps = QtWidgets.QLineEdit(self, + alignment=QtCore.Qt.AlignCenter) self.audio_codec = QtWidgets.QComboBox(self) self.audio_codec.addItems(["AAC", "Opus"]) self.encoder_preset = QtWidgets.QComboBox(self) @@ -113,24 +122,26 @@ def __init__(self): self.layout.addWidget(self.output_file, 3, 1, 1, 1) self.layout.addWidget(self.choose_output_button, 3, 0, 1, 1) self.layout.addWidget(self.resolution_text, 4, 0, 1, 1) - self.layout.addWidget(self.resolution, 4, 1, 1, 1) - self.layout.addWidget(self.video_quality_text, 5, 0, 1, 1) - self.layout.addWidget(self.video_quality, 5, 1, 1, 1) - self.layout.addWidget(self.encoder_preset_text, 6, 0, 1, 1) - self.layout.addWidget(self.encoder_preset, 6, 1, 1, 1) - self.layout.addWidget(self.audio_codec_text, 7, 0, 1, 1) - self.layout.addWidget(self.audio_codec, 7, 1, 1, 1) - self.layout.addWidget(self.audio_bitrate_dialog, 8, 0, 1, 1) - self.layout.addWidget(self.audio_bitrate, 8, 1, 1, 1) - self.layout.addWidget(self.thread_dialog, 9, 0, 1, 1) - self.layout.addWidget(self.threads, 9, 1, 1, 1) - self.layout.addWidget(self.go_button, 10, 0, 1, 2) - self.layout.addWidget(self.cancel_button, 10, 0, 1, 1) - self.layout.addWidget(self.progress_bar_text, 10, 1, 1, 1) - self.layout.addWidget(self.overwrite_existing_button, 10, 0, 1, 1) - self.layout.addWidget(self.dont_overwrite_button, 10, 1, 1, 1) - self.layout.addWidget(self.about_button, 11, 0, 1, 1,) - self.layout.addWidget(self.help_button, 11, 1, 1, 1) + self.layout.addWidget(self.resolution, 4, 1, 1, 1) + self.layout.addWidget(self.fps_text, 5, 0, 1, 1) + self.layout.addWidget(self.fps, 5, 1, 1, 1) + self.layout.addWidget(self.video_quality_text, 6, 0, 1, 1) + self.layout.addWidget(self.video_quality, 6, 1, 1, 1) + self.layout.addWidget(self.encoder_preset_text, 7, 0, 1, 1) + self.layout.addWidget(self.encoder_preset, 7, 1, 1, 1) + self.layout.addWidget(self.audio_codec_text, 8, 0, 1, 1) + self.layout.addWidget(self.audio_codec, 8, 1, 1, 1) + self.layout.addWidget(self.audio_bitrate_dialog, 9, 0, 1, 1) + self.layout.addWidget(self.audio_bitrate, 9, 1, 1, 1) + self.layout.addWidget(self.thread_dialog, 10, 0, 1, 1) + self.layout.addWidget(self.threads, 10, 1, 1, 1) + self.layout.addWidget(self.go_button, 11, 0, 1, 2) + self.layout.addWidget(self.cancel_button, 11, 0, 1, 1) + self.layout.addWidget(self.progress_bar_text, 11, 1, 1, 1) + self.layout.addWidget(self.overwrite_existing_button, 11, 0, 1, 1) + self.layout.addWidget(self.dont_overwrite_button, 11, 1, 1, 1) + self.layout.addWidget(self.about_button, 12, 0, 1, 1,) + self.layout.addWidget(self.help_button, 12, 1, 1, 1) self.overwrite_existing_button.hide() self.dont_overwrite_button.hide() self.cancel_button.hide() @@ -306,11 +317,20 @@ def run_ffmpeg(self): #FFmpeg pre-run and commands if self.resolution.text() == "": ffmpeg_res = "scale=" + subprocess.check_output([ 'ffprobe', '-v', 'error', '-select_streams', 'v:0', - '-show_entries', 'stream=width,height', '-of' 'csv=s=x:p=0', str(ffmpeg_input_file) + '-show_entries', 'stream=width,height', '-of', 'csv=s=x:p=0', str(ffmpeg_input_file) ]) else: #If there is text contained, use the user's given resolution ffmpeg_res = "scale=" + self.resolution.text() + #Get original framerate if not specified + if self.fps.text() == "": + ffmpeg_fps = subprocess.check_output([ + 'ffprobe', '-v', 'error', '-select_streams', 'v', + '-of', 'default=noprint_wrappers=1:nokey=1', '-show_entries', 'stream=r_frame_rate', str(ffmpeg_input_file) + ]) + else: #If there is text contained, use the user's given framerate + ffmpeg_fps = self.fps.text() + ffmpeg_output_file = self.output_file.text() ffmpeg_crf = self.video_quality.value() ffmpeg_audio_bitrate = str(int(self.audio_bitrate.value()*32))+'k' @@ -332,6 +352,7 @@ def run_ffmpeg(self): #FFmpeg pre-run and commands '-c:a', str(ffmpeg_audio_codec), '-b:a', str(ffmpeg_audio_bitrate), '-vf', str(ffmpeg_res), + '-r', str(ffmpeg_fps), '-preset', str(ffmpeg_encoder_preset), '-vbr', 'off', '-threads', str(ffmpeg_threading) if str(ffmpeg_threading) else '4', @@ -414,8 +435,9 @@ def watch_progress(): #For progress bar main_app_window.show() #load the stylesheet - with open('style.qss', 'r') as style: - _style = style.read() - app.setStyleSheet(_style) + if not args.no_style: + with open('style.qss', 'r') as style: + _style = style.read() + app.setStyleSheet(_style) sys.exit(app.exec()) diff --git a/image_assets/screenshot.png b/image_assets/screenshot.png index ee28d27ad3d5a2a829b51ecc76ee4748e3a363a7..82c280b9f90f6f114a3e181afe2004101928dbb2 100644 GIT binary patch literal 27421 zcmb@t1yogS+byhugp`QVB}i|&yFnVHk#6adZlp_ELN;B}-Cfe%-5s0me{G-Vjqm-w z^Plto<1mIpcCgmH*ShyL=QZcNg5_n!QC{J`diLxYio{2ePtTsc@O}2|c{c(a@XX5S z9t8OBx&0?`p=ZTI_`ARZSQ9}R!Dr9PB9ZR(UILF1Z9b~oKYNDS0sZ&9$2!mO*)y|p z2@ydhXYIp9GzX<=5Bl4Z52d!q?`tD$ZKK5Acug3~yT??y+X@jA2NCp#svXnjsTS1; z`1H~T1T6R_C2hZNO4a-%K7wcWe41L*hDa8nGEO+k9P5LqNN}BcO-XRphZ(h`(Q6$c zWrIhA4<8tJ;fgc$-BKH%YkgHPVD+f;IEuREjw}UBSR{O_^{A3B^=Z6GHBe>b40tbXq*ML<7pn zzY7ur2N~TUGvLKJ(`s^k#{@T!aM)d5^kcA11o(*ohus(+P#Cnj-x!va!23}@g6qc8;-8v~24*M*07j!t8E>J|N}-P1G3nU(%f&rxe8*m0HF zs3o$2-!)J>33`n3@B>We%LDa|{wvrVTv*9wua=PJei$_dH@L0A)CeCub{kPxzZS%M z?#tBs9p!1 z9)0lKIT@gDkB>Rk@GKCV?=ly@Ugq_1K3-!TNW4J5-yU1;DCcj)dU9Fni3&{KqyOIf zp5vaVHJm+c)wo4F8CasJ{{1fak?Pf}SMBsN5x9m)n&k7;#gf~D;`@~~vV^2ROk1yaub?d86Lt?q>A_kz zqGT!I9b zOs;eb?WBMkVqoy}_;9^R?-d-1ML&mX-FO72HH#M+te1GIq^s2*Z-&?JmY+PO87O~4#Z-O zRPC-1X~6fm!|bXA>q_tBfkoeqD7id$Mhp9N=Y_RO1Kr6p!KiS9Nv)*f5n(Q`DYM@q zpav7$IQQl~-1#*ewN4W~Vrwt5y`z8HB}Y$JiIQRAlyJ&#Oia8jtPMeQ;fwK)2`9Jt<4A zSGa4_U=aCA&86;Q3Ak-pY3~aOaAg<`QQ$U-dsIO>#fm*Dl4zm5xGnD3gDo_DzG_t~ z1kyOB@Nix)HJ`|A4!uI3o=|E}QxP5wUsIaHblKQr|KJk0HY&VF*77RoZ$$ z)_J-x5W_g4sd9c8b__ll`7pMX{BS?8iat|S{B#x*nYQ2X)iqg280>an#~IhCRw(c9|&O(n`;#5(<8}h@5Em| z>gL{Vsj!|;EkWQnHM>QIq&Tp}Fxt|a@8c2_o-V+vCOTm2``g5)ulENgIz9KpN29yY zVwP!u^1=wCY*t!RORH$CTSL-ESJ0D?nom6lMTfE{SCTK{MbI;Owue6B6};yw{J1`7 zav@KV!L&nf1y{sYik~oQn?$VN6F}0#!K>58sx4lgv(;2i()aef%}1!y_x|puQhAow z@ka@izFpR=X_sYKC%zZc!#Brk%-|ckp(lq>4S#6u6ZZ7vyS=?VS1NQ`_E4pbvCQxj zh{5;T%}!97Q-k-ziEV$oKIv_YQOdb+mC!msAG8sP8){@hSk0pt8X)e_;+KFv8O!as zt>P%jnO-1hQw_J?vYe zOm^sNf%?QBfrlIN$goiK!VmF*!c>$n<7?<~?I_`Vq3=fR5&*VSP;dH#4yH@_*1l^r z@F*x{#b0>YDE!YKDE`ME#1SFGT~GptLg(}kd#+CU|K%ju2v7jxdA%cWX;lTsE_T~SO)NM3Tbrq*r*yH1qDL90n*C>2Y9JF;!iSr} zIkKS+y28;I;6v0!_~^3PS&Nw`z@LD`%G?+=%}z3Mw;1m4s4s--vJmkW%*!gIuYIKtb!ICgt`?@S?Ouo)uvDpzy0i7YxWA$YO%W$?#iosMstnRKx^f07 zr>O!ucQ-#r`j2l^W2x`YL|e}HX^g7`!~E25l!R-Dw+w_>CRi2uGn)(1x*$$Y{N^DL zvqYB%`5J>|MjDO5GujjPCyhI}f{6*!9WJ2J3SlwTX1kWCszzY#7@0RX~ai^-@Wn6MH&x{C0E&noqD_Y-zOCi+uG1>uL^JgAn znrvRU?73-5sM%Mpt>)>;7A89g#1CZ+?>d_qP^S zvGx;JL9kqAE3x~X=2J|7jfvPUz%W1Hl#cy8MXt=He6|9m$4{&&{gqvarWz%MlE7>P zmlT78dkof~=;X{NGVYk&X&SUW~QoMK&ev3s+Z>v}n+x z(4~=m-Sqm)C(XE$h*SY-#iN;|(6Jj=rLtkw?t!hZb(l?DriX4pS|%o$bENfG9)fCkL5zXTWnt#Ki{-H zRrtBmL@y-F5>w@z(bJ@)j!5BAyWbOJ^x9RR8w8_no>b@#6rA#BFl`nSRapHOZZIC{ zk0yk%_!?*lgE6I-=NOfAk=jq7JuUIldOLcqPZHJ(0rhO?y*n%|2tpp*k81p7h0~&} zvOjj0gjjf*F}b;EJ@&-X>rm1?dbZ|6$ECodH=dXrHXkOOR ze37hJ=FE6G(&cKQWP2`#-xLS-&8VTxRT$?F-inWM*<#(^F7z$;b|?AapDzkGHvARg ze1Ou~I(76KOp+lv=0=_i4@zSGc1w9#}UOC1q=4{H#0%b0A(ghvt6h>ib7}UwfX-SJcjUJx}Pg`Rsc{GgVBB z{34hVD?BW0B?;k$k$8*mJyrJrOBTUj=d-HB5+fnWU2*$gfm?(;P@hXWmcO#GR9exF ze~FIrER~d#r8b&bddqjTv#P6{s+RKxz9B-d;WM2z0YJf%7O)Xy9ghZ04==PULl^ z!b=`<^lRriAESK|^JYoI5!0!7(dm%5)!mr*e}G9|Qcd1Dq^PI;3){SGr4=&zLbZcN zJXXh!88gP@i=0FNzBBOK1#Fn?{|O6CVx&UrY_%C?ZPaF(GbQGIdvmW8?ox2hdv$jh zQV$+f^2m#Zbiy&x(|SLaT(~JT_L4W5VaZOw%I8jhb#Ya2bHJKX1K{CJaoOiZ2xotF zW^me}DXTj-Au_GbG&$smwT3<3@WhRh+FA-@BRnXGvWDSx%D`5GeAu(0+?kEpgV}&} z*Zb>T$FyF5e>t$` z_K%i5WXU858d`$kI@MKK*OO%G;o_!0gcvE-X2U6hn-eV{9&C6v%s!0Wx0Pv_HH?=8)yMyKFZEU*?)+a^hCXg*byyi0%o2Wu!t@bOtObX-Csdd0{uyIcb;->dkJ zDgnv1s?J6_!cySIB~mqlcUg%(8X)Fp=V_hDM}}TKr_m~ZFRAT!;XaG(1*ZO_Fq=%; zQQV9@OIIMsP(Xd7-8ZNxHlq?@XBYi>l&tDt@B4U%(Dh`@%$X)a6fPYCULP9_2kL_O zOd(hk9SxSpwjX_;^>AHCfkMNG3`@!Qp+$Jn^u9&h{QSTSIY^+R z*Znh0gy!>{2-^1gns!RF*lT%CcBkt_ve>PJwUV<-ej*6D@oZuAyJ{(|e@i@~73x^G zUE0sBxk$P3J;;Pen9wJQ6033P&@&qktcM1(o6mHE%@$c>ngm73u|LG zMI*CECyH4jBD01^g)d!^o$uC?T|sY3Ohj04vh12FDxO-crv9Re%AOpA$cGR=Typ^T{>zyD%+}k4)M2Uxjinh`o=bakTMN}=qlKA0v)m$9T z7l#)Fnex|x7UV{+(LlY+miHMTl4P-sk~Jw94@5tK{Np{hod!rMZUVnW2{Xcn416-L z>l_T&B&GuN41fY-V+9^WIOIxkldX*;QGoup2R(*1zKtMZ0_&E`{1ynU_iOH zRe$Z5A5fxiNAxc$4tz=e51NH?Stw!WoL5VL>5mHv%3ypQ_6sPZL+#c$8Z{c$Sy0x_ zn|M~f>fBe_vRCgVHbigaij<$>nt1| zFUkVPJ2uOW!9OBiK{k1G0&YGwHp(2DPtsj;IqAuWaQ@)u*?_F66%^hi^e45?BfTq{ zNiCB;xP){HL1swIYlDM&gCTxxX@q25O>cgMEOqBk5AEV$hR?6qm2?f!@zN?y)RyW@ z|IO#m0_b1##RSUlUj>-G+rOXWK!1f0ofV3A6P)y{xok&}bP+?~P~mLLdSOAest~QH zq24IpXkKO8rku?C9Ssp9`F4Z%(lbfPFk)RjiTCcbxufa)aK9rcPWieZH1}#nV@8~_ z+h?0Gmp2RQb%ZEQ-pBGNn#oC>JOrIHu~C)``Td2m^!t!=jXr5uDe+&U2Kk#s<}fPG z`^vYc<4nCegy@>QjmV~)4^=@H-!sI6r1sG_BfK+{(Y-BlT@_ z)~}&xf%LG`c0(4~z_vhdiHrkNF2<0A5F3Kt>LOK|@Ug-KFJj;Jo%GwfQhC`tZ%A$) z(qixC;B@F#hM7eatKjdk%zR>{<6mZ^W}$Os%XXy4Gfglkr8+g46whiylwW_Md(lGZ z^{k65TfacM%b%Bb^{|tduxc1gzL;B*jYHtdW5wquH$!B=qAYe;ZFFAMWAW=9DeIJf zzx32j$g@6;{$CNp_XHC&A;zG#4&!E^7{54lJ~ZM?t!*^0(@!`aTn_QFQk*!*NBWr@ zu}Ckr1#}gZFvzeyp~#dlo{i}gD2qEs{t9>rpr+GjxULB++&@cxWY3M^Mv#*QQYJs#i7KxN%nr7k3J|$)XwN z1CJWwT#!>{n$`~tJoqPdkYW$!QPVGx6(mlKd{dqG4v7;}JV}a^@~&1vcYZlef9!Df zGx}Nm@>ph{X^psuNT&e9lneTY^w(#kx7~?-@>bklJOJ+7U>N(W!V$&uSvQG0U|4ME zE-z5{1=OwmFhtRPwvFep6UFLrq#xS}3qs7QlB13J%7m$IOw-5|#MVE6{EU|}N+yem zDAjRN+UylO8s1?0U~Y0dx}ER(M@$i*co@;Z`Ht4huE!!Isqh*qj<0D4^NMG3ZT67D zNNOQrk(;kL6seaxAkBjNH{%}~Unw_p87h{{8YV~Eo0`4*>}5)(A_(Wn#PGK5NSJOG zk!~S2*?Z1J+7m;HAFN=A(^Y7#BQ|Q7`0jI`H0#BlE}hkDGd48qch8yHS+lVQ361U4zdvX}`h4%X^O8!vS{+K-TOBW@E za`8(=srX{>t)_XkR)MF<^Y!+SQye^#ej^@@oCkSnL5JuS94TS>?0MuREzS}QtBk-h;&C)t}#gtv`-dpnDt4A`^ zZMN2j;(pLX!mx%h;}-~`CVi5hy#m*=n%184A+r0L*CYr(+R9~qqv1L`$iAiG(}7!J z;v>jr1;IVtfT{2O{VlezJ)Y1_+!npS=pN7;sqK4 z@k{GidJeDGc(^fBqQJh%HnbMzHUGobQ~n`EozjQCHsU=qnz=821IRL~I+*XF(iFpg zNK^lz8ui@;dR+&ufcb8=0kx{vUiVr2IqwA*Fz z<;kn_g^7nqtmYUO;$9>QbfZiM`Y`a13T)=1S}8en^v#@Rn&Z_Xq?QrI{3st?F_{iX zJLgsL%O9*BY<>bHebkU7hlE7f%ND8lCdR zb3Y^~jGu&ksW`_TxuJtDmQI*d_l%V})HQu3rR8TL~HQ_&Hxxcx{5OeIt>fPB-wx(aq zjO3Y6$;_;LfsZfhaI8rsi|b7rEo9}vOw2KF7OD!7NmeLUL@wI}4~$C)-Aoy*R#w&! z(2hdbs*;r(R`wVCSX<3YH#F9;=AS6$GIQU6BCa)Phv ztrA(*kC;iJ1!baBjkDR%X6pozlsD;>&_#0rTbfE?gO?MB+94Dz8L9~s+u}j=IG=io z`JV_HbVQirS5_4)B7u`7^kRQ!^);0H(^UNhW-lcr`=WE%2?d0Y-%RZ1Xqs18x=5s7 zv!@s%i`oCuVAm-3F#6zqbhajymMhi*tyl{k0ygEG$AM^235@8U5?K14@d8^~JB=T& z6n`7gLlq^v6m>urw?S<<0M!hqfb)%!nf{WpN84EtXkk{pKvTAD8d4G#^*no48vj$s z7)e_0wk8DHF&TcRxSPbe**kFIUV!}>!g3i`FBCge!zLW*=mx!ifj%o)_Nd$~wy=4e z_;*XKnUg@LB*rU)9|&!fmLTmwK#6XUUzZIEy}>3sE0C&MW@z{* zJ#pT^7}U$(=nCC3GQO>7^&vg+pZhVqYADqT`BO+wehy8C9|kwhTMp-H(`VNFtD46C zf;>JRKk;2xJ>B5}y-8PgtFCB(j@0ERQ zOhq3x{N8slG<5a2#rby+_3mFBA9dmz%2C%|Iu08W26|LXHUR=E3fdl{u34KBub4?SWUdajxYfpCcW6JbU@_rE5sg&J+!0Zx1hX$i-U*)0rcq9BkP3T;Mf8y%l}t zECK6#U?M6qYii^C467LSTnY48N|y2a!zh{#H%<%R7Er;xOO92YpEA%o4!nd#)J53B zdv&@J;BMc*`FsLkV8m&YmzBBk78@h_r^nG=Fk9gQ(jV|W=xzZCK?|hr|3(DN4G8W%{h!b&`JOou zBKPDu^3?1~Z&rUj!GO-WM6m_xUTDD7ojRX|Dqp$1=JC+C(SP{eavP5bK;nj4Ik`#(|4qp{?Xg3@{W4~kYCu0Pmg*J?P+bxo?g%e3qB?eI6!@$ zp7KjXd|YGTa@Cm_8p2M)(UVekGv9pP{g02n3GY|V6b0?zQbfAF3(-?Lp}+xbq9DpC zSUBG}j+w8Rp8X^Blel@t{If4OS<@o^XbNi89+uBdE*4jrA0nb9ZBjaj3C$J>Na z)5`u|rVoo}QmO4Iw6@2rr@8MlPIQEZ(^vcwB%dnOe35cma18V++vf|xQ^40jiJxK@ zl#E)o*fXpqKvXQe?TONsNDB)SB-x6r)1#FLX%!#44s33XBC_#;)Ru za(*+{bdV8J_Pyw0g6Gmf%e7o2dtCNs<(e#%K(cJ18Xf#dXKvL|U(z}M{kb9~ExA|O zzUL>E(ys44xXSZNMuedY-Fg$4&%4qExa-9jMm;}K^_a%Ze8Lb|%psp~;*`-O4<7ne zXcYEXM!bC^bQWzfFWYG{;QE*ut?lt@Uuj9!<&R>F>9eYjfiEQu>dSHzw--TK-a8i zD{Gu~CB^D@TQBh{?e`n&&|#ZOs6u6xQVJ1V!bUSt?st8=f1z3f>I(km<3IEGieKf| z=BDkp8oez>eLNC1?)Na{Ker&~8JBq%-SjUwS`=tL1ajFj1Cg1Ghk4GxpK<%6BS_aG zCx>s^)U%W>4Rj(d1@n=urqeTu-t}BKd}v_0Ny*mia^chalO>DTZJeo)OB8Wq&LC3$8XiW>!y)c#|ngT<5Kbc`6k*qV|NOg zZCG-cCH(vb=PY?2W0(Eg)7kL~;e(p@{p9Y17?vH^&9S}1-=!mOnnjrV+HVtY`gANq zydnn62P&TAf1hbL>KpAi8{sV0Cw(Hx_-%d<({@Ammel)$!71(e zLE@zGKFMhr^#8auI+*!$1GU@o?^|h=v*ok^W46K z$a+UYn7!T&haJ#?62WYzl`F*6)I@4ZujrCI|w z?#%OAKIq2wmLV?pK6LqD+2l)cv%K=O1yjMK#`kl3{je>;G^P?$fXq2)h>fkOqUTMe{-{5wZ zf+PbQV}!*Wb@?$g!8@s=>==bdBYcgmWRE-c)1ge>a1=3ENNG^&)C@1PH<_{Ebdmo~ zm{*u@*Q~BAaj<%7=zLFNfyL|qG>@<-P&ALgJNql&Q}g+{AnrSc(66*|amBOS3T?-! zKbnoiFu=2#1%${mKlCe%H0~rsqjQw!nern+s^+aEM1{^OY$%_H%`q=z4~MkskJHPg+2DrDEfNY$M2A`*oCcXcuXxN(|P`N&ux>E_UX8@ zyoXMEoB6~QnU=!#45;75wqF>oNKEEz$ILM}h%zd8mvja&EeEgQl03c*7?ULDQd+WF zb%1L;*cONm^4x_+L$`k5raBu|6k;vzKjkhxaXAo~!3#a)osU(f~6=H_d%!s1F!$DbwJ1Jfwk4=$l&Y82I2+xctQ2DTAE<%+yWpb}NF^VoL+zMj!= z$@civ{VuMFrUjU%$g+E9z0*Cf(ZeGf*Lx!2YuqpB&$Bvu=Q6`R?*zQZi0{0E1>P5> zCE5+adg>UiTqzCTjhBmH3EmKH0aw^HnHXz$;T9syS1gTT+MjZX#jF-ZDomPYEgcP zmO|o)et4;OI-{RDPjhhiyLy59{b1sqCKOQ33l*0W<}&L!o!Xn}%a2b!rQE`q?*<2v z`&J|aY-hFR z^mnxhEiElg0MG)AT6}%o7nn2EGF6G7kgKRE+-|8xcFX-i$;HE~W1Vw74!=iM5s{jZ0}SUwF@8Ff z^Hr!Lkj#Yxvqiw|2)e$=O`WQM5~^Or=7y(vi$C1cj{5&y8d+295ZQ3P8cYh@tr_e* z|3cI;K~=N=mk|KaKdflJ9WR|GELJUdGk^ddW7uOF9BCmjnBQ6eUU0192J1eZ?P0Xn z`!7qpt1Z#7sQ<}2zy8xrj*tP)q=sbdC3&CJtQx+IO(?R>&EGcCi}Huj=U_^A0q#rd z`4{F%@b6f!_xUAHT0fKU|J)>F>E!Gl?;$6^pjNQL!NqB}_H@I9whYnOR{d#ifc-~e z2Qmk@rt3jhE!H!h5vWX>HUXu8q(#> zz1vo^6a70z1UYxunmUNtmbDU3?J<}+V%su_Gz6EF4LBu%jZQfsUzhfV6}Wo%r;LoO z%t19ka`d;fCh^Wv*c2VwiaK(_JbvR&J}2@M;K+sZq1KT>sb!_hdz2A%A!@@$&_eC3%g;y~y zM^yRZr z_!1C?%4aH(1G{VGhNe?JqDV}6Pts$M_Vc*nl{*eD2{Sd;6Si{Y@ zI`i6)vV-qEn3Nn&ua+~+lLy);nd|QVuu;}P&|UDN_*$|ZSvBAz*W@D#&T}yQzI>CS zsNNmbV?A(Yl%o26?aYYxN?|QNIm^6w!-TdnjLw>Si&2aq)X*~mA_OL-x~z>(-Np{? z>$buht+EYnrkOILHPX}ajN0TT*v9`HkFY-%`tWFWP&N_P$J957>jZ=&;)yC->?3Kf zBnzoutpN0sl>nfh(X2>6SKa^3L}63nCbr`E<6S5hnq&046|tYy0rXMlNno3q68(9; zhRzhv1W17j&c&W5jK0#7v+`k*R?3z{*2dO7rpzl-%my#wSDn5W)GwJzU?oR{;1|HX z+mEfp-KA#0eBLI>`*4kZEs|!jU=w~{WHx$(JJvD^Ys$Mmo5Mvkc5G}D>s zSSJJpK2orDrhiSdI(sF&+e-&q#jUT4l)9^1z=RZ)S7;Dxu(ufM1h_S0_Hyg>_1 z%ilbw(dY5hJ{(H;eS4$fVM@1W>DMN*Y5c~Bmd|`R0k2=ga|$q+Z(uya3c^Se!I`={ z_J;VXMay~bmF6*h6xPlPO#)}ENg+Jsa{(NWbaKAOk}R2^!sUjN`^lW^ZH_JO*Al5$ zYwu`;duaN5f3qF|n@q6V8$*$lqXnT0VZ}XU@Z%sMbKaPbKok z`@59Y^LIJf(w2R>v(fy@ga9FRafje%5R^25de*mRFqWU~C zKWJDZ2px8lpg5SL``ZLsuA_2?8CUb~(5-fnZBEHX%eSJbJy1@{190ljr{bBQo27R- zS54u6kx|@|0KmNL7Kz|v1)0-0V8pO1(28b3qJ>(ILu*gJo`18pqSk_axx8D+f&y^S zTr#qJcBzZ=Z!j^XA}*+D(Ck=7E{gHvp0Eou;ynx0WDCB`KQpz&Add z%IfuB$fy`tTKx`tfVkw7!>nUw1N$f>(PK*bopvOGCJe^~{pF^Cc{5TMka_?Fy0V)v z)vZ3tn)E)lHYYOX-Pr7bU#BpX+5&Pw1ecxBXXQrwFJ8(B@X}w)jZtbzg@%fIYJ0rC z^t7+o^%8}*20t03m_+esQqfP|8L)=u4zsz0wP}C z0Y_^4vFD;Dne}}ltZ{)@hcdpcFq>H%GPM@#VYnW_H;X=e(bS^$8!5k~7Gx{MSue3W zhU8+)4~yE=n+AZXLo0?jcWRc24j&<-y*^=@qi%)BN+>^gH5EwohU++xeyjG)bYnO6 zCY#bM`E_xY(c5L8*hs*bV`37N>DVqk!xR4(9j#{3=GJej1M;297>bQ^-IR>%hBuYJ zHn+&f-2k_ag0_l%Z&zzSCKe|sX4_@gN^!en>6YP}>yu{meg4D#3Y&Uj*R1$}V%mF& zBo)gVRU-8qh0SqDp#^UBRtcgT>PvYAQhu8Fz)x>BSp{9xh_2Ntu5jLE9hB|2B*@m0 zIiN1{%|xsvnJC`j=M%}U)q>=(O8{Q`@Y(Y03&j#!XPGB`+_A>G;N&#ZkrSEL7cY3j z5wi)F$YNvQ1HDPC<@42YD_d~4PBSAfXL;A=;^2?$43vURo~JnCPQwL zAv5-Kr*k;holoh3rm?Ut;cm_Ug=#L~-L;C0*-6FR9(21Da0KwtCAj|#8_I=}+6i*7 z?X0yh;Xb`$Na4oq)Uo-w6B$aPJG>I@8cxc@c2r5^dlFnC7ykQIG`}aKaYx==fpWMn znah0GX>Wh?>5|A}%d|?*TEA$aVLEXuFnQQX-i%SxybU6R8FK7b1tM3QssE;VZam&K z|E#;6unEvlQurh2c9yKBz3t8UoOb!E?hZ?zQqtkWQ zW>qTCFORn%Ij=q}0X@>G$PXj$>Z*>1L-(#&u#YqRs~WA}9pY1QuV;sp?H*oXIt7sX zgYvK*{c#3hXy`9WmQndfC&R@h1Og`$zWIRYMd|c*BT%>wDx-qF{^6j26_wZH4b9N` z`o4gwq7VNbM_I@TffC5Fqf|b4Ai-CX>mB-l1yG)HAh^;;n^1hU3TcIRrRKZ@QXb;_ z4Y!21#f`b$cYq@L6Dr;1wXOP8`U+q`X;Wnl-TjN^W}VfCP(Eank(Pj<9hE4L7bS~3 zJ=s2dnze66?8iHD^q?*bJoHllfpEWn5hy^^{8u3SKU}x}O`7~Mn6sV?(EN6GxN>vJ zWzRjWmH8;S2YyxwL`KDIY;La(ar68BQoX%MIhO|8QWRh4bPOg7@&;16HF})N@W!Xy zW7q@nBoQD0UL<_A4$W&1M*|L$>xBQqktIj5aqlKip8WbJ?nie8f{2$LSjnt+Lm8fl zsRGYXM(0`bE$O@Rop;xVTnDC3nRq-PubW3S{5BgXn4ZyeT;_DBO_pmPPp8D+T!;UN zu#f1LDYyT5Um=i50n_F{m&C$3&~l8S23g5H9c*!z9F`bncRJ`A_I$MFcp54>$Im$U ze#9#CP_#;H4N`BfJxzc{S>4KTRfwoN?SEdVWhQ(VTv6m*bx5G_p37_~Wuup)*Lx#4 zWIstcrC6hl!B%UnERa+XJYewGX+;w8YT06KUsFCzo3I<4%$25+^l34{84|TwC{*FU zGwtz|qE+uX!WzW~b-LI5u(9q|?0>;=k(7;DWSflern+n5O`Np{=CAw1lil5G!&X~N zPgeYn%K{*}IA???HngT2m&Bkn8M-;(AUMSpFvT9=r#vc{|DlGg`k2jZHPvA=z4lK! zUfG7`sfK#_w&RCO4!~DIcQNx5h#?D}9Q2Ps?j3EAKWvU<=fQK9$>Za3|3Iduc4R+f zC#Yj)W&qcH7bN{(gtl>77IxtH&iVftCX&vNESkTRZh{28mkPolDLY5`} zRraQBHuarJ>849dDtaVxL}8UIea1wxENuqDw+NNYo=kI!F8OJ=!V~g>DlVwpck0WJ z0A4uGA;$+CG0m1gp^IG8UUSFdGJk~K3DS>+xwj3e_K0; zo(Qq+M4{lAA41j|yf#UxOEE5)iMG;U+$Nd7*-?8CE~C_83dyv3h~n~0C@L>SF_3Yj zEuZ3I)f-OtCY1BHkkkr833vS@FQ`?|i-P-kG>pu7rqIO!8sr48Dfc_Bm%~Xj_K=#7 zHV4Bg8H84;Fry3-mRV}e7eo~ONmfqHToATl+Uo#tKvq;9is@2pKqdvGQ~Qu%+7L;J z4n|njw@$93I0kFP4poYlL)Ql5=L#~+c>D=gFL(u-5a0&+dw)P|ZK|Q%B zT!0g51fE$-NTiU@A?JJCc%ZjAip%Br=%&~cM1ugOiW2y~R)p_4j&*f!mq2hXML+o#}2Jhr&#!SbtGxM3-$b7t~g#5}gf%6vCk)f1#;IXQcHOEcvNN(JQC% zhc#^sAH|-dswh^yg4tQqi1>$Ved?G2 zguWIF+@X!%Q}!IQZv;fc5wzzuPOnb6aQjv$*Yb^UIQA&=2iFmKsX%$TDVg9)0+?IP z14Q0;n!&WJUtoQI4}C3n0GuX9V8lWy50|$AUb0j7+@Cqs{cy=t;_Ss&wvtGRaL?$e z&C&U@XO@RtGSR!*EcDFdV9}+vgmw=Eyqfgl!7&QCChX53q7>-t0M6&_kqKOcCcbXN zOF1Puq#o{+A0B!pagABhw5AUvwlvbwqADUnuc1NpOW)zh}->h!T6pw^^vN(Inr1(8*7@mwu zXGt`LEmw{SS}Q5sz*cv}dr;F#Y{!_7Wxb}@N}PCrV<6^3Ir<}{#@3;2>aikoK3_Hsr zT@zo3c)%5kfpOb;MhVDud%~qGi%bX~0HdrE_fMz+UjMIYrvHCvM~RIL#PdZ&{wHO{ z($x7i5I60Fe>lzr0-CN?dyY?$)@5SfgHjIvXMrV&{myd$@HKhadH=8jLz$H@?xQh9 zz~bIN!m(#?Gmc7?B!EgKWtanxvDd5~|1Fb`rP&DKc0YZ@Jx9~-zQgj^+4oY-{m=s- zyIm#DxbZGy+L;z0o;d7FQ~gM~wDCA8(75_L5Q5`itp`koMHn4oaIg#j@q4SH)u{AJ zxbdpCeuR)GBuFkc^H}TOQ(^y&1nlT;9x?HX&3@Yk#_-5r0X3=Gcv=0r0o2hf`7=61 z690fJ;LwUUvFsnV-fwI>euW!kl!j6ZaarQjXfDV?ozEk&{=z zn1KfX|KE{c?63OwH>siRkFG$naFAtFj3X0)ks6equeXLH2QCbdYo5cr6G)CUM*cs> zy56A65X1Rmxx7|jNzXvgM`znp(ajwZ;h>Xx;r5gA66sBD(T*tdwQqH}#vf@y%x z5+hPCG zmyE}Y+A!(Qfj3&Dcp_C-r!u2F*@EXv_> zcHi`@f7NSQ@&bY^%@EaOi>qaCvnH?Ky>3PPn%o-OCDj{RId1YKXSrj4hP&eQ8GLhk z?aB!oK0vD5BPXeOALimyQ|(E|ClhFAYAmXa)ESP)f6Wl+h1R1vNCRO zUgvbFHO~(q$$)H+q%({6vpr= ze+ls)SOk=H3)r;xJ{t%%b{S=pGZk4OQL+@VRN%h+Y;_OJ3gr9d(T+Y$f%^LrK1u?% z*SCZsjfhv3>yu)MBz|G=jZs8=tRj_TX|VCP=Dk)%ybcq*B496Y0GfFI;8Wc!Ozo+QFTXbt=VqXhWZh34~}n z<|VfACAdcTG2fc}c3iY+ru`}qOO_^OL?i#uF=Z*ll8) z6NXyH&LrJ^*IfhBHH@Kf6wQBd(3#AS3+(6E10=%Um*3R z&%~+8`cUq|Fk4RD1dOePbusJDi!*fLc7D49>wH`L!J=-EM0~vcaI&iqmzvO+(q83y zs_d*&VnHB-mN&n}0S{E)dgw zyPGrlA(}RMsJdIY{Q-RJPfuR-Hd|EeF!`|lOp9_VlX}s@H&u5x_SeC3?yY!Vpj@-O zWB)K>c%+E)75G6V@Ha43^Q#~#14kxcZ&yu9Cj*0KNcZbbzTSffJ*eL~RR6XRr@j9%Z(MU~uB8YOkC5N@ z%|mNXa8eB|nn_B>?|6Z+>7E%r5J|vlR)RA^3o>v+Y7e+Kl5)To|L3q9t8Dh z>fF=&6c(g?RMpnY*B|X7Z~+XLSvVhLx!5?@aBoob96p$;+Ty-!Jh@=3Bc63)oZX(4 zq}%V>%^uz{0>4DX#}V}sf-blD>ERf@#$zy(A~-0;z&2m~3@~Y?NDLXkJ;&B6xM2 zg*~5o0OY{m?`sWoMOJe@hM}aS907n0V|y)bIX~Bn8K)4AmfuRT3-Ftw3>NdgW3GqcYu}+O9lC;Jj2F4$ zqkk3!R=`CFI4dMV9@4V{lkPIA{JAF};`*=tUK zqommOXaOlIN~c92(gciaj49?D09`oel0Sd6Bvysv%G;w`0LOY3(;`-fZ< zdb|h>fQ|wdvGOp*PU+UOIpYYPdI>(hH4wx7U*BbbTLBZ}x>LV8+lm2iWGaUI%DB?; zupO6|bE>a~(6415gsQTO!xl|XdgiG@Yk&&$f!}i#dsLy|=-S!*@F%xPA$EQmxqOpx zYVeTKb9WGs5M1-^!N~^@B@Bo^vQd|1=e%xSdPdFGjg%S<%6y^x@4m`%vt-kVa}@hx zhjaPW=Xei#v7f-?^MUW4twO+|453n`i}0O}N8alTWH@{2iR}fpp$fVRs-k0GuZ0#Q z5s_d3T0acnA{qptI%b&lL{Ek((~7^GD|^B-S)tJg5kGv9`>j8Sc<1jS@V^I5NNXLm ze04zz+D0~H5tjROKdrDPaGt9L&p4gtkn;}PxW^!Od(UkTSgNcEj#c%*-&y~&>on#*vUP=}0^xxqsR23BFK3S*5j__pJ$l0S~rOY6BV zzXVC0YY~&+dI3exufR10z}lfg%M)06w+UnwLtO`K9n%N9JU0EW{hv}kzD6!quY+wC zhPP?_#~fOjj2dFXe;pkUSQGs->MqUzF)RA5SmliFLMw9kiodz?W6r!qPr3DtY_=&u zi70%ry}~}g6x7*vC+33FGbXn&LjG=x0 zcKZKm?5xA0YP&Tqil8VUqLefUNJ@9Rq{t3rr}$!^(pwFT+1kD6Jl~Vhu-- zrz6a_h24MHJ=!<0vZ2aYzepsUfY2`{c092Hp5yBjg!xRZ9>=zgqtQBssw^i4Z`Pmd z(j*D7zj^o}ld-}r1GC><6ZefeXfekR{SGZrk8KaEwcb70w15~G0!sd+kbTkQd?-#_&E;zitC zV@dtW1FAd-ao8V9#H4wO9YXGoSN`IJUcIQ&Xp|ipU87m=N`(<)_d#k4?s)Vw(gZqH4`)d4jUgAW z2HuIec1JKFlR}`jQTR37~epYz!o(avF zYaZ!Ix=X339;E=`ljv&H#Jr|H!Mv}wUa!(XRpsP9=xA@x_kf74+N^$X5HL#lR6F!Q z98ID3?5=2CMge~XJaN>&PemfeTwQVGEXbZQ8KW8GEBjH!g-J{;>=Ya#e5O`~51dcS#5 zKn^$<{A(h&bdkv?@zbcAgJB;RR z~-E(-PFH7jQxKUJ*96I7k z`iVhkLy}Ycg%h!zFK@l29)#U7tJezjY%Tf~-tqBDho)A->%>iU=cU)pKUu;#bnc=P z>WVT>wqtD?1MTIYQ+2hxk}}OaRKG^pi6wAU98!3-vr>2j!c}4q-67S9FN4_Kef8(_ zQYdhIb*!AN_hnl_s`8)%&-)R#OXTZw(4cKQ9~l1u z6lre+_DZ5eKahE={-cJtAkuzIi{mJ8yw7h1yTi#CThbrjXqK+`K^+K?C4*;!^3OaQ zY1EfUCJ!$FDilb!_cc|&m~&rVno_{|DBTGkQ^$l!X0_dwQ+;7&>%(f(CgVO>z;}wo zxL#eBJZLxxJwN0`&LB+#{}0PW6Q&DU{nHRkzEea;|5?K<^$W;oI$M7r#5jn@cZ$#Z zo!6L}`v0)>{@u3tpWV?}-Sjcx42Y@e?Co<^Qf`)yRq`)kVUBfmND#GsP0i4uZ|F_E zR=dqm<&k9sM$J3q?$f%b{NuIcgU=085K{$oN;oI|O`O)?hPDg@8MC238nZ0mV?0iVd+9HFIW zrhq1BK1_Od9ebeK>gGti&lGdn?I*wz9Zfl%BpWRWL*nK35?UJg zlbBq${jMC1hoFk7@i_@G0G6A40tv;9;-kjGDVyWF+QHZ75wi;$c`2yhJ!$9Ta%k2v z3ZibG`La*#85!s!)LDtb>R#JEB*%T-@8jjhi*pdLbE~h(g!X-@yjU&!EB}Rpavz}o zNr@KQRo7pAyan|nIpGxN14as^pcpe9(5XC!=J;KDYvSx1Cv9bzBHwE=@K9bL<%qpe|foD}?Jcpw}o^u(zEJmJEK z^X48B>h4Hq(?FqdXjyj^`9(^gJ)xZcqh9RvTl**GeD_+6G_l!bKmH!u{P0K*4o1ju zJZi{>&b@4zSG0*oW@XRsryuhQOsK2OeD$s?`Yhng-s9)n*#rx+m@Q~EWw*6cwwq$R zSlE`!N1&rb9o=@6hdRf+kaV#OIN`_rjBB9aN>!lD?J)K7j$jvcW)Hwqp&`014;8Na zMF@?FVu`!$jnF*Q4M|RhH%V%a+5hyxL7>IKC_OTJls7jDsY!h!^)n0D@?pyCrVZZ$ zX>)e!-Z!n;uMa>j3}ObpMjqI}UOFtEIX#=1p6t9+TB#hL6?I#GB0WxGyZSye_SpK! z{NrCK&3O8~WcC-23P((F5cFii69n%YrAup@-gSM9I360@Rn-7{`=n4^HobiRk5sO) zuXgvDoT>3r1EU0eMKr1C+*iDby0qT}5VJeZox2rwOIi-EV-qh7=bP?L_QHZS4OMeb zjB;)8yL4Nf-q~iivNjzBQWyh~46rJA-dxPcmc?d}`5{E-*z{Shx9TdFwAUgI2X01u z1=zyhd%}@O>Z21giEOqBLw5>@H3q>cLNbHu^V5EWi))1Ek<$yYmgs9X;FyaZhvAZYUIEzxl* z6%ohOzzul)I<}gHSTS9yw#M;Al#@v_If6i(-%d=1)p0P*yw*>J>ySVBTP00_T(KRo zfS5OSb5Fg)N)D4T%y^nosRDbtRstHVpvvp@~G=;;SDTXIiyHLrbGNiwZyKolqv| zMn$Wc8XTD>bCCv4`X5{Vay*@dKQxbDL2(C>kF8JURu)t^)(46vQFC%-$Q{N$7o>Fw zw5EyAH^fWMvrIv!jNO%qm_B1#Gu1@WLPbRn`gkyb)(u!|9X7FyONoiVOrgQX4_V?_IT6Mq zQg;(qBvpDc9JeH`Pn+JojfZ%ly=;GI9z)ZZylXS)&SF@72UgIlraD_%vXpJ%?0Kho z^YV-r^e-hkWZ6lK%&RX{d}>71qTcegq|qn*Rup28@zB$%pkYnL|; zCsQz`s{hodTVEZ=}d~Lbe_5B(>eCCaC|KO33A5L(u9eVb)7( z2)&--rv3u{dr8JKtIw?1VjcM+-?DD*2|d#2ki|+)3?qhuERe|?_4??*H6pe>-`T0ETWOo+U73~W|5n5 z8jUi~b@%(@rQ+e-1U^dL)#~M4abi*pXX7q%SI96byvzekI zu|Oa#VdqfuNY2oU3;1<@+9*FBaR#cA1<{@0?^O$WDM*^pXt{KkTZmLyaY&M>*JK!9 zN!LwuAyYDAw4=C%j$j|GSTuzZ7Givg-gfoxF_^ApoQyk?{`r}|yZWa2&JS};_$8L+ zTG$xmRcw{N10XGUc&yk;hSdi1NQ)-CL@B8Ka8VCLA96@4iMTZcTHG@6PVb>4iuh)J zK!MHTO$&v&Q)Q$j5R~0k$szVj|6+a_Z=VkOX(S z4Ys|*BBlem<+?4H*CT6VfHi&jVo-C6W7(Y02|6~tlTk<5UlN|ibKrdAwjpm-BvQ{d z+Yn+M))!qED76Anyx{6Fv0rZH)*7{cl*#ebFw!R_+%Z^n!( zJ}6h1Xr~m+6q3wQTwbteSMt4>tI(ObBgFMjDJ41H6oK$eM-V8p3~RfpgPyv$d0_=s z6-w^tUf*h#WJd-0Aun=%U?c1`HKCV_PrR*K59xAXeP=71eAh~%UM>ll-e%u)*YN~6 zAawvdft$g)B31%n^=WOPO?VvC+!;|+pvXAixNe(?*~wOtMMWoymB)-x$d4^ zoo&@}x~v{GG2jSTKJ_Ew4|l^V@;fT5EN|fm37>eW#>OmzUD~6OQMK9}?d^GkNH`)C zi`UaD)R~vh2Cr7gU>{ql?OL5f3!lTq$4_WJW3@F}&9mMMvXkeDJ66ic5*{i=$giVj z@J%J?7JB$lSX{Y?#=!qfK*&Ig)*iPp%`wiChOMII-o*`e(qR#Oknp2A5TU~% zY}%a$@x4>)McLk5Z5t&HXQ2*LCoO{GS<(bJ_f z9En?zh1lj2bZIeoFQ!rLHydpRkKPB!sM?88yI+;8vAAGmeS$h_(&oAgEvV2}7AU*Z z=v3?dW`;w~5PAr^iF7RSc6|N|U2MORhya|t{L^fQeoWFZTK(Yl2h>wswjZH7xe45& z9vANk!u{jQ9qr^T^)kR`QkkMs{}k}@cx*nkWG0!>l9q*SNJK7!CZXNUievP4WR_F)y0Nos4EjdCFMjlK~rT9Ei-7A=WQ_mS>LzyOA6;J z;oY_z0dZCq^kgSJi+s-a8I{*bKmD^jyS!FZy!fJo0~}AAA4_%p&drev!(|U1tIc;b zu%R2r`1T-xDd?TAJhk8SIxi-JUkXq!JIhL~wTIs(AOkv{P}aE1?dLr$=ji0l^Y+0) zy;AIdDDUEJGU9Wh+R+MC`|6b5O#vWwV%xI0$I$-`S9;_ z$t_#UJU&f3lR0t+YV7rL~!l9eNIoyD(wr-zO&4*DxKAnusH+kU`s^nzTWk2qI!m4WIP)WHuX=P_37C zUu|~Tu6u1E@!evOFL7DKtw;uRSI`Gz+zCh1f{M@-M*JKz5d5smys1Ky-^TIcjMpm zRuRCl@aQGas;YE|%wlo};O( z`gO~Ce1iqJf&~Sagmq^G5E8efnp*&(wd@sW^-2dR1at<#ZmgVW9db)at<;@prxE;M=Nb>U2$TQjA$_e(MbFd~HqhXqWbn3nJtT;owA^VXu<|w_t zOtuZ_V0?$Uj^1M?R+lF0_p_-V7kc-UA%FuF%qjjog#@mHfIm`Jm}^<{9Sy>7sScLB z5NAklryoIarhH2DCk1ApK#Bhl2`6m+xQmy2j5``$4PtKMuqGrq(Ol{CLU%VF8;TTe z`&jBrB2#lRQU3+FId5p#127?3&+0$V24ZeuWBplc0XPT=)Rn)@W@$d+fSI&VoeXPIF-O>susZ)Rc9 zRbTA+ZQGmn>Cv{mxp{cU^bVt;F6E`|2c0AOQ-~P0Zv)IeWYvl=ER6<%F4s`H9X7oz zoozaQub8&7!O8Ze*`1<6R%HFoiQl>Lm`rD$XuAOIC0?5vXbSQ@va8#ywiI5;vDRwi zGqGb5=N6-4LuO2*ANI%-0pWv28u0#b=M*iBA0mMd7RCoLiZVq_l(U3sQY5I8U73HE zLR}_+xKWPDBY7VeHg|XXL0?S^+H}o6Stx1=>XnhgVe9!Y+v~w_yveJrQ3lC+D`Q{w zSf2%Bpxt_0v(_rT$u{Oua^oz*G)-D{eaMpywR1i`YNnO7YejxN>GhrmIBAA;V2oK3 zz-$F7e^-6(rD}<)o8sAJh=U7hwhP5_aYQanYae+Ssv92D7u}ufgOv+Al=#e4ox!7> zeX%@C*#-IAZ?lKijwA;t`|CQShnFiVAWiS4m)zb<7`c5~V`Iom=mu*!P9WE}(GLjq z%6!)K$&_*+pCs9m8{wcs;cEXWxR#_qf{zpkxKu%}jX^pONTwG)_aLnshg~SBJSZ_c zltDm|Hg@@oB2DiTrpX~I^Xsl1H-P`_nslbU;&vb^Q3N>FDj_?o!KkmB7DQ4q))EDK zBLMZre;mv`G4~K&)f?R{$P{J0+eX{-VOI?^h@@&18|w0qe9%;4v#dS)IELM1n>Blm zhX}mSwSkgWd$vZ{{;2712{EEp)=H{%?I0H3j9QC%4KM23b+Syq63DMBGuK%Je_74V zs!%4N-(V-Xx4fJlUQKn#F<~j#feumQqJ8VLgtr~?WE>0+J^F!<6vH~b4z?DrrYx(CgSfnuS7bO$66v<$O5))? zOR(&=YXumKPk0=f(-q;Ef2I4Dgr?d`$C;Ysd z?yl2?@s6^J%r|eenhj3+;pl|0sLr}7%;{jepoUx)c|Mo^H1bK`{%RWoD%1A|+*GL= zWxh&D_vf3x_lr%VgOn1#)5B}DsoaAB68ZV#jf6ZDb)Vvo2w%@O&J(zyOKEMb7*K-0 zf=H4{0_kHFR`07FMu_DCj@)WA(7H`YiJf{RrLmAM9M5E;5mgirO`l&U;;MhQ8c zw@tDxc0(oh(Uw71vu$?AGu;V=^u#n+0j9=8Nn^M{0N~w8YzZiCgEH3el_L7o57#7K zi>JA7XqY@!j0{OItIGusmpPr0?<#?4a(4^rOY0@E zdptgHV)HP@;qSm0^rMn92Rvxxteq8x0v-+$x6iBfmmmmBL6ZFYPea*zmOxFuwKIU= zLpVTt7!P=4Z%4>zSg7Q zB&(K^`X@UINv2eH6K5vZE2#G{{kygyjp^-Ev7<<5S``vG@2+v3rLGd&YzZc!FDdu8 zjR&;)^8x4jXo$3d&uv(x;~tEwZb!A)p_Aa8oT~U8XnawL(WbLp&0*f&o7VkjqSASZ z4gnAREIU;LUUMHP;jbXij(8U>)?rc6n)(Ivun!Emq|ADWxE&beQLYxv4WbBD4R{-q zh9R%@mI>`5cG%cP);H-+(cI9uaEqx_TacE%2r@8US86RH889*#(_I04;s`YbtAUN) zjStk9K*slnDS*sm&`Nq*pP7G5Ha(z_YR(@>12KRW`x^%9b#y@Gb>CQHE(%Ps?Ch_e zY>om=>cqf;G3aPfx10chrV!t72)Kqu=K4_*`qcYU$}-ca&_Jdr2zWQBmnn)3(Bglv zP}fOGzauf_HI{;s`q2xOSVtdV3h6k#qKwe< zgCj-3JG!>{EZAIZqbp7Vg95T R{G`J3-ur|oDM+KeAbtS@1B3SdorDSu44gj<3~VMcBJdZ-%G_q) zA6Q2fX)&0RVbWdT7kE=qc~KacvM7}Mj|jl;&+Xo6JHo)AcR;^kdu;QJVPFgm-%E(9 zx#}M*VmRSWr_$b*zWQm8`qGtjy)9tk>vdKVXDB!CNEiqXR@9D>!l=o`(5u@Wi4)Te zl=y{g)OgS_M%yJmoH`LryA_1S=t{u@&(07e8rekohN^t%lgrX8vBi4FKH7-hzn$%Oz#-u6GL1ktA;$HmCn3C=p>5b^Z;$m@*@NJfGyQ$C_kz6XDdXsN3@Kqi)+j`YU zo4#^?b5?tI*l;pC;?0GN?0wvZM1@GIlEl7~%{AzdIM9^H;q~H^e0um23Addje1I*| zBSJ&ulWpVU{ME%b=y+m7jQ6LPm!m$UD$Gqn9(ZuBHB+vK?##}fP!N$2yErp)WHn2& za<336(B+_~uNpVTCtHm=pXdlbx|nhcHM*j4{z>MC#_|_C1J3T8>?@B*q*~v#a7$)(t_+XucV{?bJRm z-&^*t7FYro!!0W;kIM$DN$K}E&P{WX;!LI|%Ze>Q?rc?$mjX8Di>*U`unVN5t)mfV zt&=!Z4hsx91YLy(KJf?JigW2HLC(#&(}X4I>wPIfm`!!Zn^O)Fhy1YwO{rJT%p$|$ z{A?=Ouc@dqqsvT3$nUqfTiUw92&{8mmfWO^W6UoPA3W}N(;xG#S?Ln`8e5+3_?nE3 zU*RD?t_vgBomiCGT#&HR5MA#we{{V05#pA}`4NU!eA@R>RwSKb=b?B>rna<+^#|3- z_wSlY5iF}gN5sO8SGV2T?h$OqOA3v5T6v_0wx#GOm@QYd+fGXmWR|IsvIpVD@7uuU zqKoNGA8tBozMB}?oRhEkG^7GC{?=u1^FrT!H#^TzX;}EA6Ng^0gyZYi7w`>_o9wqX z=j%Dh*WvLkq6#hOs&QkM)$3Is5T$w=q@mbG?g?t3ne!c>8#sdm)h;)RO*$3O-!U z)Uf3!Lb+~A)q0pWJ$BjT`@Mtwi`p_$HtxT6g@F%yW%fQ{&8{V&WZk*E@578Aa-+a; z*Y#_z@rAU&mOR*=JPAMJ7Q$^yM};%7%t*9Bhru!3DGrb29(|-`F*4ghAdGOcU72t3 z8r*63$|kmb>~h8;|0c0y<(QJrD+t%HbdfH6gFNS>l~wa*qH0}nm}s%Pw6-N;k{;U& zgI|-Pt>9bf%O0&TAQpT;c|wg4RKAR6Q&3^@m)%|r;BcG{)?; ze?w6CiSNgCoWk_yktp|bph?&Dn(gDI;YptIy{_OBf8e!R*St10+Ygb7oF!w_g&T@* z%h~#r%3ls_4TeW+tSO&jT%YQ5$LsZ^@h=<`r2)+(Yh(_&$d~w`=5JU{cv-;+tk$pX zMq*ki9+6Je*SMPE67Mu8g8Nw4F>iUqp!%Sn3`@AQt7h?gd`m{D7uh6ud3+sP z^5=CEpPKL`oc>SmJKigC&s|yJ&bn#tf&@$~EagwVLqn1-E;S00cPjxH6MRWD?8uyb zH{wC)`Hj)&h~s&I&%3i=hnNi=>yJwP@(u82)44Qc=NYX$bBMuFJN8H{)R_z}8;w^s z{GE~Q-8{Xf&(T*cT~`ONOPTJ4UO%r?n{{75$1Gs-=L=$3+ zJ==R8VXG#M;73zoVz*dtyYrfwdYj_ugd&LC>s&ci&VL{O@aD-k?1`-Qa)b(bVjY2Y z2}Mr#rGFdyO7-1&KXfHyQHfCdMZiU*!rlTABBQSYT9P&WNLsjcU}^9DkQr$A z4*mp}PhXgRe_kPu!Dl5A3N|T{-M&^>ub{{O|E?YC2SvwdaW>5V{BU=+ic3fuFx*Tn zLgY_H4*QnEXe}ldOU7t6;rCv6B9Z!E>x{Ld48wG3rPZHTbEb3;Z|+XW`a5V?5o~|t z*Vuan?1gF&Wn#zz$>_o%tiYM_P8vqSx5k|!KA5LNhb9#+^H!ZJdMnH6zVJAvP2m2- zM5yo_3eT$rG@tJq1XNwLe$g-R$5mwbX$E!;Qy)X*M9@W})~yJiDl;rJ>OhR$BNe~D z|0ORi=H@VeR%C4zQf+NwZO+iM#9`DdhS(5qjWl4LU~3)7p)1B@^1OPYkDW{e468)v z|0!L5w9%nvM!)lPw7eHzR6Cwq+=TI0Sion^7KfJA;znTkL1BJ|Irc1F<^C`Vjm{b@ zKl7GRH6_B-wc}7mMm&_Nh^HzyvTk`fW=2J$mkV`qC7WBYd;Htp`Fmo0AS-;4A+=p6 z0PDG)twZ*Os8nyNlID62Pab8`QaD}BXJ1auLvJR_fJEQsjet+rqvr(81`WB<0INt1tm2Rr!3(U`x>pUfB!bEIPQ7N_YN85$D2^s#2(iU^W$@zC z(;j15N+A(=RMB+8Uy;R7wnM!7ZbHF%_@#@W=SFkRR+41&C&fKqNs@B=i?=)ai?z?@ zog0It7+X7>H)Yhl9IvbCoBi1<*CyRlxpqOGkG4ag38r!yS+d09>Q7`p)LVc>tbuvf zb|QlqtLNRA74sS0$q80c@^#1=-o4DqoAic z5fV(tzk$AMBiWC6Kx?1LKrs+MUrAh-V6^=)3(WkINJ+}62Cj>a8HSHvGUF@VvRI^v zW8L%$!jqhON%gRZn&x5ew~)12V8kq%bAyMg@_}^yZi4l?TF7Ks*@e2`c@pd?(HGEh zIx+MT0`D!+HeiUOSI-6Td@eNI2AI(!CAtSLHS-s#xlb4oBQy zpb*iHD;n9c`6x-Tj^UhihjnpOwcn$H)J9@F$oHiY1Wxu&dRvxEsih4#n|0**_V)B(VvQBYomHeiSnVWRK8ewW z*u1^jZ#Ml>anZJ+BLvOGm`0B7bgTc2n0Wt+m_#|SkgYOZARL-8vi?UjLz2OP##c-V zI%v|eVfa^IrQhC6Fd%ogSfojPMdgromowD9F`r{}`eVd!?T`5j6{^g^DdEu|hNkqD z^|Yu_uM6=ePB)Ls!*{}%8-X#w?8*fM-6KPZQEyxpvQ>eIpMTdM$I|(95{g^}S=^X9xqn;v&mvnHYgz)%ST>Q&e5#AvAH`-w<=a3u*MhEx4xh4frEK~WsWeG@Uu}sMS z3+wpAcrVl3a2_wm+w$F1Lxy9Zc*4h95^E?czEew`>xIW_lnTWge`sVj%2L>SC$I;4a{UwD_->O6PnJJqh;Fa6J zMTPIF!nSfN!NwFF<-Qg1|L+nygOEaRFX)q=Ol|LtkQrIU% zUvk`}wp7w19vu~W5+KiT{z%D_R+ZivQsT*|Ycr0pryrUc6w}xzh8T;$JotQGhAkAu zcUS=nbJue+g4DRLhNs?J=*6O?QtrUy6cI95ls3zVtzW|K^1>~PB0Rr*Ggk>ZUB(U( zyAS+f*2}!eYGfkgIl@x|uhu_@wd1o)O+h42@_Zd&EnEaM31AppJk&(0RhyRvm-Qk^ z$rwIwYFY)gEIM!mZPLUW)|6c!hKJ4_<9EEHx0~Sq8r7q$*HNY;6eJpV@IAP^4;1oy zaT(i1>>4eX1G{Wk_@?ePv04+?7o2MLZV{VQsLCx}(DdnCX=)>MrbUbBmIJwDy;BFC zrF$32YI#3=nyA$3o(rL@90x6x6&ZxdkaC?@obUQwrSEq4MeDTs++TEATLWU1B zg@C07wLPE43WCcwdzhiC7vGm(T1uhw6fwk?G;_bER5-dDIjZ*qcr3+?HSFM z{DdQLL24FmCv%cU-i&P^lB@Llt;8)Uo|Cd(Eg^kLNXP|(XpO$UKJ#IcN}j4n`sRS; zEAO(`nO58jEX{A0-+Eqc5GB5S@J@wezWmTy)jYr_DG{s9tasGCxfBKd9Va{WVsZ;_ z3Y!v+FOL*Jc6LhHA;Ijaw`=@$m^cm*QgxQx?#HEq6nQtsy$zpL(c!bTuNI;jatB4C zkYQLtM833W$VnvS*=7(Bl)yXD6SvG@kGWzWg_WjOQc#>N1sZfrKi~`1?{vWQEMqDo zM(a_Z>YijT9oC9wOaSoUWN@Q2G{90lO$3C{_^$?@s?Xu%&8q;cil80O#W%DwgsG9Q zC3CC8IfsG^P0Mw^{pbUC>H6u#L_lk0!)Iu|PuFmgAPG(CNyGo1oaZfke<^ey2ps7( zH%0~0R%ku&pTz=@(3_+{Gk3@8=n|wU1}rQ|BT7P5-pi`=&&%v@ZOgsC5Z~OM z`Z&q$jqSW~QBA2>O?f^g_rxjf)k}jrw+bxggY{@PqX+qUYJHN2Z!691y%*>i^)Pfr zbGFZG*AF;~U9gIk*AA(mav*TYsl{XgAVTU>iD zy2{kF23V%w238Xk>68hAQg;qEgX1>J0&DDWu%dC;FvB#J zo@dxrp}8q1khxIpwdc|De?0(knnKCx9@SuN;jAoI1G!)=OiSO${;J zwR_FSRNVNMsTJF{xL?>^1@R`V!@n?y09KyX0P8G&qQ+R&W*NtRs-}D@U?#l)>HS18 zx08*={)n`-7Av9b`Q=8IcvMMxR2RS1(mH^Pbe zew>0Q;DviPgGvb^5aMR&bp5e6rBy`pmNdKg)Cek#qBa8>t$Q>k+8(Q{Q(;@x^ZdW4 zU|oZ6pV2YW_8zEkIXq(p8X!(*Afm#pSHteRw?cR`Y;#2J({!Pg!7Hr7d`jy%!BNus6vdOrF!%|=9%NZ z<_1MXG>$H|KKxdg;mNzvH@deAfpnoSwAS94r|a;QzSnh4Wjg7noGaqsfH}{2=N#Sd z;Hsm}o&RP+(8>vgJIxANve!N`z+zT+s#|w8DkN_39Rv~vn0nkc3mvNZO7trRxZaqKjWSj@d%lSmMf7H8#cexuNFaqL z*z1oFKj0{6JjvD{MlO%c)VDQ|jy6uk)7g^)U+ft&f5NnI#<0bPWfx=0enZj2+E1n{ z6l(g<6`(X*XKa4b4Du~_Ha3DL@FAofzm(WC{wLl$gjkI4Qx3Fy{fp#y;rp@c6WE)O z1|iKPuLO$)?N(^H16Q@=nK2brD?25I$YG)$$9K%n0K#L`EvLK@5j#+g&XVGj}`hn|c@FPOrAuu2XPft$C<7 z^2c!T;ndrP?~_BXAw`Q5m;L7vOe!-TUG;)hXdn+DAqio{tQ>Df2^-o*MC|!vmsxTE z4dx`o_jHVYqE4XAdZHfPNb-hx5iWtU#hb%I2Y-cEP-?XF(Dm(+)|87sP#v9HJ}h}o z2$FkCJ0{*5WGLU8B6=S=!3DZ|8ag<+sm_{)J3Kz5KQ<7SvK`tvBT!Ie8Q7{yx0Ho- zf>RNCPPHM7^omP<5XtpXIouI0edekr=NCdJEqnOrGF8pi{d%r+`wO-V1b6zzTf!*& zg2)EPiQ(?ZfSLClt-^OTN;m_{dZjzdomdGu>x9GN#Xyi+Jcr*|KO+olS2|x`W8%j z)NEeCdQ+XBD6q?s$g}F)6dO!eae;BZDsx18UAs-~WbmNGBA*5XqB%cGmJ~qtP-$ZI zw(0hit6OJI1z<*DQB$bXgTT93weS61g5*Y^f)+=wYM)9St9Mxj<4oa+q8{y-aH}N|mPtZmqrl+peoGtJzKNuk*B65YyqD7HeeN=n zz4TVVK?Bwb|177VDM(7B z-%72jKhuah+}*UHb(8)NPQ&6{JgrJ%-39k(wO0XB6_dyBT+?iBUR2X_S&8Hivq^0G z2uYhh&rXi~<5XqI`G+fHzS2g+D(Gm?xk#;)-**o#gOw0@;6l=kzOyWyt>(>dgcczE z3!$|llYo$(%!)~ByC7RuMCprDnmUQXxX0bGsUK*4z{eD;UiVYF<{zY6>o3@-WfCj( zq7y+sP#er3&9XsALKMUki|3!zn;HdI0MmNaz_%%QgN97=?xm1c$T;zJ?>4t<7|q&%w~_6#D)0{;EU=)#Ue_1En@h%Z_y%;Nz{9O7g)oGo{r4ZigB0HtDNAxA$r=gcz?g^%dXK7-p0U7Gd5XYzmE z-~J!m7UgZ7Ul4=x%vwZkG7lo260=D0racFPi(o)`Nx;k-1KWg_`GE4)m(;?p3B{l4 zLQHxAa%*Y-`&3k8g_f)u{$jCi^~4}cTRa#Adud2_3vY9rA-{ayTG50Ax?IGzz_6tO z_G-q{#?THm4N3B&%MeZGQ6$*Se?E^%;19gbhEaTmWiV!xV8I!LJ1eJ)9bF0jdn)-^ zq{)Mh+FD}L(UA1w`l<_O&?{AZ7Gi>=n-MqY`t&L+z~kRxYpp#Oj>Fx!Abtgv8m!LtHmSoFAo1-8o<|QZw-q*n(NI!FSY~W z)fnJa9-eu*qbDYEE017dnM5`&jAmOOZ}|eOeC9jgsHVH{m}BdL2Ze~fewqRn)}p(c zTV1WG%y$J?uXvWy=Ep#1Q^TqAJMar=*qOd%hTsBHO`TH{NrH#) zRKA^Kjt`cLd|Js?>7{-M45^t6)?zFXBdS-0JygVXS;Khvn zwCE^&n8yB0kP4>p6`W{f1;9y7aF2$eXu|Q~MHpBC)K*SuQ7H7z zKl-lQ2Ga%fmSEi!U#r-6UjuX>7H>p2 z>^Sl7h$%4}_4iupA1X^z65!t5cF8N61 zQ28b%XP0+n5DB_K4d)n_>j%rJ-Cb!YwXbM^8|On+qev4noEhO(C`~s4rRgs8KHsO- zI(ajs{@fg3mNQ>NY4u`U6^y5(>*y6XTI?rdsibdKjKfbsrKSTusXM=scUM zkMTj``uQEmt@lwRaYTNgSA9;H_=grq4&&k7h98JIZ*IX zX1}sByq~Wg%#;o2&C@$b{)gFG8g}Hg`W5DzzlEwoF+iyDa4P&LFDq0K!1RnN@#X|) zr?QfMsxtVZX$r%kteN`~a#iJ_S$jJr2oYNitmvVVqB z_VC)fNC`5qj%?k*2%6!N_~|T%D91Olxhr<@5rWi$ymBv9_$9@nGiY_72iTIs+Exq( z0rkwSwEngU$iwZgD=6;VD=}nD>>7wom;eYJU)|r^7>IYr+upP@xpsT#QaWxV7ktyg z$XK1S?jXSEpOX_)8hitPK^AZ!SZ(wqH!+78AXVq7OMx24(0zAsqXJ4jzDf>6rSmC@ zV%zf!27R!#^2n1+iy6u!j}egmcqG`w)9X!AZX>qMw!{_Ql0bDs{`E%Lhb20^{%5mk z^9eTuln$z3cHCc9J8dLj)+QFv*Osm+$&L*+yYD9}w{0il{S)@T?u%KR_hN_zynq8R zzfh&zy72Gh`cK~?;Tt2J<|CJ6GFEo6#TWZTBb1|MIZ(IQtb_&O=JTP^-sGkzawkv z#9~}~eWY-=PW_I-6~_YSuOmAh*Rr@{#6%yu_(jo#WUF~r9OR)RVfPWc68P6ZeCbVH8#B0aom~exp!0}HA}YlT&wQ zUPzH9F7bvjT84wBH*aqnfi?MPEPFhP^O0M)^DXwaS>pV=^Q*64jfd?~sc)BPsWRz6 zqi;R&m!As7MJD}rwh_roBtC{|Mv%!AT+r}rz5C+wvH*w}#SvH=L2UFV9WB?OCXuCG ziyK3Z2J7O0-O1G2H%be`e6fx0TnEoa>INq#!|z?i6?J{Z-#d9Cc# zW7xC`+AJ|u`(os=U-02}=*!+6Q}{K>%yejbfoY5fOGGDcXcd}$k+94bmhi>h#Ih`% zYs9t3d-YCUE{KE1;O!UD!m(chjq!R^RH3F;-N@BP?M7#Hep`euE0TM+m}PV?l1~zt zFao;+$l_h-+{Xwf+i}A7<1aEnLq3yt1`&}D#Q^ffHP35!UOxuBoqNVr?P>#YdCaOMhOUKRZ$pjDqw!&sG<9!tLHwrqn>! z6`7&mI#MqI!h2>f{-$M_YGOM0psTi!r~h3F^__Ju=s{j3I?l7{!j|jw=rsb@Hjh?9 z#W`QJ8pGNf(&_DJXeLTb#w#63N_2avstEbf(L0p|_P!JGRiW(h4H0>nosm>NO!(N; z+j^8g{I=sLUeVC|gc{)U7hh5Uew0|RPYTId+rDQ6%ae{F4|XG06(=RDoJo40+kzH| z7xV2Y+C<-f)vFP?;2ywQFSCoarfN9qIX&uXf>o?zj4A>0VCD4`k)Pfi8o`E}B*I)i z+MTYLCuTJ~Jb~`s=>q{x@um~X_=TlF=$#A#yBsDyH1(EspxCeRTV>Ny5u*$r64Ovg zgQi)rB9Qih{{lHkEYyh7vq!N5D3P6wA?}gEbRHXdu#gE2!ZshsDXB*wP^PWf@@c{4F@DbQ*QwI%3;@?oB7JSNHxSh z97xb~t|l?Yyf($(E>pv`{+W1Qpq=O7!UJ^?c63&g%j)zoxFrxE16aRwUlUVh>PkjF zZ*l0Xfkgh|Q~rmu=RcW~e-}^y zTabhIX-qomL(qk;(^oUA*m~K~DQ}J3ZiNkRTXkMKj=>Zz>5=G|jg769VSeGjLQVJc zuM=`<4zwi~A3BDT??n;&1-4n53%9ZFMjC3^FiA-^XQrEp$)ZZztDT$P0oDK6M}o^* z?)5w!%IUKVxgpu&>jAg7JVrMc32_aISeB%HG0hZBHC+o^G$AotYf0uCEY~mH)bjUIarzaqSZ)Uz<@7TW+3PQl} z##(-WeLN2%D0TEK%OWsYlZl;yy;N6{_EF|d^ zO<49)9_J4$H4os3T&x~w#l>VzvxZP^*U8}SO%zW9YOgNd7aB{(fyA8;wB9V3%D3*N z7rA8cGEXP7XgdvD8LASq5rC5?Pb-`q;I6adimZFW%t-rttZLrXaY!z~zQ@~Cm`#K%Qsm-5*_UixRY(X(&!HM;)M<1?Dyu|J3El%*xH^lJ31 zKqAZyB#o8m`>aC_8X`1mY4v#N{xmn?E%ZMX%WyxuvPjBz8pj%V+~5L#rmCT!4{HGw zk$?dVK;Cd~@%i-rX!?$QfNpyFtXycgb52uY(Rz;g5o0n!pkzz_H6Px~u{woVMF54x z0F%oLvI!!+&TkEvlJ59GezMOOxE`WYBw<(W*!RZDbE%Y|lPZAPvT!_%?lR|BC>`AQ zj<}ukovHV1la(;CjVC(A!$!I{#EmNy{)&e#Ue6){CIg?Tx-kcSGwf{4wOllpiT+Pr z+TG_a^-PRj%O^KLlqTv?V>R2aDM4{>d7AuMqOutrA7$~IH_3~V|B=q|OqK{< zXYcStRZF8vWHT|cB%PuG!vAk$k0io+N6Mx9<@^;~{)}G&vQ=84#8^Iox{C=wYv}NC z7fBBO;>+!wX6y_(+80aK$5w@E4O+UX!~k-LjL?cZXAk$xxu@c)DJAS-R^NW&G=e4P z(j{L6xS|zsqs6R^+?4N|Jy&CfITz(18LP@_i=2!x>gr-$-N`b%T2@UO<1oExQ7g`? z$z~K1)q;k1tJ{1!nVvwzIR`i=j?-@R#jhp`Q54~0UY3UT|a3x?*!^m(1CGsNyq zNO^c|8N5~}hmvi~A>SL(2>)$n@V7~pp_8qZt4lb7IZN0y2 z0*l0I{?_pntLlUP1egi4$7+9M&e|Hj|GNN)z1}A*)W~Tp=l#LJ5eiE6Jl{APJSYW{ zAp!Mq?gE}U^NCvi#jd($*pD4gMa4>A(Zl0~X|{%#SG5+SsfSTvnDl<6O&y=o?CzXV zQEDu9ymobZFZ4~JIn$AY2OhwS%o69+r$!u_%{t)ED&o(N z^PB$ptoSm9=Ox@+5O<%=sz&2&xjuQ%7@EU=8tHaIl*xeXew1l!o>$$A3s=#AS#WwK z&$iC{-`f`sx_xJF*N37WK8VcT67Vj`M}>LF!z)OcGpKPxf0J9EbZ z#!VE{g`2su;jh~W7FOgGF{EC!#RFM2+ps!1;Ivm~O=ceehCM9BD@Y84{3n$}qbNwI zTO`bh(^YZ7S3R8hofi}EIQ5aH=N;llf_aqhVqKV$+rA2sV`U)dN;V|LqZlO3~jPg07$CK*^U#>i>y%yg?Wg z4x z{*AI<yYADe60MZHOklkv|&%n|Gxk`ED^L+|Kz_C>`)oSP?6SJ$cY|@*K z)Hjf7$oLKxczC}T2|ACzNhTQqarLt2q$b#D1OTDQ062PP`WJIoZENHj2EYpJ{bi*O zzgZXS*E7HDi1`yB#<+Fq!48PI09!Fltco`;?YdkRWp5CuZ!-9rkA>6bkEV3#y`yiz zbYS3GUr^yJR|BCoDNCj8(;tMWk*QKq+6s_LB5ClW>*$Uf>;1JrG2Pjzcv80tK&)s& z`4_;Y@DkAoc`NTK+5-xntR_enK2)C}z>_$)@ zG&8}m`mQr}ZbBM%s}wB;!AG3dGt<`e%pfh1$hDZ%4IucO)~bM~6ueU58G-B!v+P}# zelgX`slMjg$h<#xS8CqZ!~OWF>EIEflz+uSWKwz=q$6#49~WOf;E54xe53XlMpvSf z;eaYNimR_U1xk>ZjlV7v+ss{>`!(yPF(PS0+s2Dc(c4o1mpA6dtOzq1R0C3vyf>`z zDAqo#xPHu1SKi*-xxLY9>|jKRV6s09`*z_LYcL~l%rv>%gVA1NR<#)>+St-1akQ;Q zv`L>rK%cN&{Q*#V{SEf5a-zFM>;`*b2E(M>#<&#Cv{tCpip0U943}C$*YnPvnh44y z)IG)8Q*YDZXRAS$W{Uu6A&m+6n>k4GxTUHpVJV(PJE87*{^MGy-vzLd zN$mUR*1gUE4AAV#m&CG|?oLg4$#7Zwym*$>d*5L#H<8lblifkEE{u7dho&cjxdhWW zs}5lJhIcDhEcuA$6zI3#{qlRnx@lCHpZ?r$ZT>71b<9xK&)VI6IA<~j7GA`D~?n7<)dR+N~P^)9QxvAnSZ09w_7@ynReii3we`_psM z3V6+I$(yxhggi8q=5U*Z%*^A%HVH_W@W(@+dMAZ&Z3i@AR2;|%*E>(n^RJf%GS ztRvS{-CJSJ{YBMYm&TUYcsUxI+nMr}t1C(-m_KB1aYqMzQ`c7D{k2X%>#6~=+O43V zW%N!Xjk|E}FrDU3E)3Pcdx>?w`@t&ul&g$165dm3NkZf$b~G(o1q(Gzg=x`6G$Ntd z>aFbZLst&59&&KSJNCt1`zz~8?|vuwu-O9lSDeo5!v|Aj}Zp|kp;$)7Eo;xD#51%kT z;i)^`a5jldt6ge7J%1+1XGhR;EM-q1HieIw&j-oVv>KO&xTId3nItf90R z{Pwc)aAY_UqSI6J*6?5*N%@EEHID{($-%K(o7DEjD*$E>hNz5W4*dqA?=b#2Fo@F= z5?8jZm;$VU{Vu!7>{Mr(S)dlMT~l)hS5aDK&t*g;{B|Bxq3;Z8PRcz@(GNUIkCwl6 zE(MI%w~faqY_pVO%SM@36>%S?e|wi9LV%ji6MpiCgv80_{dJEp`P}*T$j&RQXvaYo zF5M;HakAS;L!c5g6kC!&MZJWmIh0)KNghRz$8Py(v%n4;cxsNku3m5PjQTHu=f9df zA}57MbGLm%+;A>PvBqW^91b$;Z>Zzm{8|};6-*HLjcWfX@#5drd+gh0Zniq8?sota95`Ax*Kp-M`wWz9xwq}UF{62*bGBe z0<~okTN%-e5U5-+2dM3623NXJAMrEu@Y0u5_39gmt$=0DF29BZFvOkzn)qo6?KkQ5 zgF+;LXa96kyO^218-dO*I_9V3-0rJYHMV#BXA8NnB_bZd1>S3)cbgt8js-FyRC*V?L$bp)? zw`@!9$^V+mtMpq7+h`ES(G&JV0Jjg;oKA24S9ee1$v@!z*T$0X)+GSxG1SFCop?R32m%n@kottLd_Q-RZ)>74AD)-b z#VKxOcir~$!Tj=1*la!*D+%(aom3WL!Ko{^qAMG-R4vPyCnij+MGHVimICC6&5mh2 zk=c5!HdTMHTE-sGd-G4tWgf8c5i^~NU%{m9-=>)?pDC}GcCs~OxT^tXzyKr@rlplf zO~5$D6wttnXT^ev}rY#_piv1&gUHPEi>nF!2P5u zJ8B0s_@vbxccO4uz%xD12<_b=!8;AmIbvZ{in+1lHK=eQ}7=Jf)KMn_icU z$VRp1uZH%JkVlU9%Mj75dFdZkhrky@HgYd(d?imF@d3LE1)zv$Wa2}Smra*M02b;9 zz#}3gYt>ACVw@o^%QSx(+4USzlUWaD`LT&-&KsMy{&51x`0sMCtLYCbUv{7l7 zRZ6><$*lm7rKsp8Pk*gvdb`gv`9SNEDLo$-XmaRn1=AEXG4HcMXyP>Zv2gp{pN1Qe zB2IN6dZf7nO+?a@p*cplxsMQGCltx1krv`7+f^T@Avs`qF9m^|lfVkKEJ=zO77M!&|48thiYlx(qttFG zz}?0e*m?v2g;94XV-4Hi$UajMt_cB1eU*;fE`F+K^q^7x7aQ_;pGJ2?lX{<{#VQ)5 zI(lD!i2~A|bQvYSZ=lSzLtQ(9Ok}^{6&AhcdwL9umBc1~;#zH#tYI@PBMDm@S~ig~ z$2F9ib#cI6kG))sCWE>C}^V{1qUbxMSnIk0Ohhy85OD}FXHbU3gc-=mYqZ;+*1 zvXS9Z$tfLWuR70)*iTy#Y4PT6STti#q_g7J@BX7ug)TzcTp><^4CiTTcR#vu8;pLy z;AZ+_eQ%<+U6TCTIZ*f;X!CHKM+0HP%T!ZK=~MCi@dMFfr-|&)0pSJtk0VNb6R8w7 z8`LkNYtSw$T$6yABS&7;4&;68N2WYz=eXF*o^b3jrueg8vMgxUkMYv9Z&dpza{!VN zx%t7ez22Gnj70E^iGuYsn(^-B$AA?TO2*+ya0A|E#V|TcXGrhnH&40#5edu-7Nf__ zS_u4cLK_LqIU2Ub66HXXL@dAaGZzVMNu}z{1=NM`hS0F9;T}GFs}SNo%|mybDuXgk zl+V_(?A?c(Dehz@VNSlL6$(3q5>0LjACu|_W_YBukAyKVYz|*HE}=Q3=JFL1qJGM_ z>H5w>mdh{3{pM{LiwqD}HV8sdjD(h!{q1Re?pp$PR*57w)PUm9$nd8@?pMdABYJn+ z^9;_X0r%&Bnm)=7giqNqU(t^HtxO@!(yuF(!HH63mN^%~i8`bG?n?SMZWw(E(86b! z0B9Zlmn{T48U*;}c6kkrmLvqFB{(ljJ~ZUnJiapt<#crv8F>wLHt;#q37f=**`lVf#8n)|q$gmCFXcdf zmB~2CJ({e7Y4+PCmvci26XZ7`$zTO zJM0Udp*mCx1y@~k6BFec@!#ubbOWJ0NL}%?YVBb^DGI!%mBmsxWt{+k^xetiRsrEf zVtDk76l1p=;}XB{USnVj#LWXtlB!X0b4UiiDVN99WFB#K2{QsuLf5iY@b1iRE zs4iAfu&(R2A?9d%AIPs=5+HBQi~&oYM{Sz}V^-ZkG%op|cHh;iYO1B!k@%lAW_JH% zDUNbg^pT|LBrK;by>gud=jp$5;|IIbZ!*ieL|Dx?U0s!7z$3c4PyZ4MNb@j%W4{%?c`0R-|+1jM*{r^u1!LWV~fW@MV3~IR?7@$$xb&~{nVy4=p4`JP}bnU z60bVd?bT)3oK450pdr)I*u@!+(`1@hgs1h5{z*v~>wF*-WyuRA9i2s;9(jd5f%c|J zXk$1IFv&g)FTl&@)~@5;?jQY^5n&+66R;uB2hW>Xlf_Kbm-gt_0G&>wq0{>DybjAD z{z09@f}dLH{i9=weThh4(aYk_HW3Ti$Xl~$Lo5A0v#RoJomw4b&~vk>5`yiQPa%XR z9C@HgEQh}wj6B1)8qGN|X5(jXC@hPvT9xikb*c_#@B|d2Wx`G;pB&W-zt8RwzHk`2 zH@itBn}P$PTc-%Cq?D3j<$18-j|}Xd4WzO|Y)+v+2r{^?VVP*NlB@IR8X1&|lW{!s z;+8ji__=EM!z(3BLWX`dK_VtI37DL$@XIGSred8=}AYxajIS(yDGHA7@%IB;!y6 zHQh@0OhwzJGFuIwgRb1^sM}&}z}=h_VwSF1_7E{;JqegG6UNruayT*w{!e3P9uH;T zw(*K6+K{A(EQRb#c9NwVcb15;jO@FSeWxf{1`V=h-?B6Iow7`JvW6MS+KjBp&ilL6 z^E~(cJn!>)-}%EI^SNAOuI+c8=W!fg3S?jO+ou>o&ff%ROQq=u*Zy&zMLFPnC$d|Y z73o03tg-uJguu!--Eno(ikdNOr4zcO;@^mcD>qs64u9BQomjI2sp6nv$J?|E%$iQY zBM}*2@37O`aI8Fc&iRgUD!NnKXsh=ajOwqRxusfFJEVXl=fsxlhRu0B4!>EZ_u%yF z5phGIie*{!XraB<%y^8nxoNJrVxilKh)g*%w8{Cqv+#<%IzfiAp;N=8P zZ0_bB(v$3ls_4%)Ji-pN`9_4!I)o$}Io*feAPa(yj=jD*A=Ho?x9b4zzX?7!J{(b_ zfCHYN+HntMBD`5Gw{wFoB#$Qp(Snf#{T?m&^Lna{WO3-c_S5)pW04v#ih7%|>QGHz zHPX?w`3Dk9qs~{R{K`3cYtO^>wq-6$?Pa4=@}A8F2A7H8E(fh`UuBn&MuU^9)kR5yjt5iXVbHyyA4TzTGfH0VcD&?OfU5!^TCixF$E ztMJ*7nM~VP^Pz>0SD99yM9KcSJ0!QMw&*Om(H${#Hwbb1u=EUt=oPSPDBLeP46eCj zb=W!?&F+@|3JlJfUw|K=2bMbv=Io#+{*SoUKP-lSS;-+&;$N0~sDoCkk(Kq16ooqH z!Q+59w9Ee|7=mM=KTTFv=z102)Rn^}Hns4eKt*0TT6Lz&U3|*>C_MT9SQ@<(ub-dV z30=Y0v|77Kz4c|RcHFWW;{J3tw~c&smn7+rOuD^s?Tnc<5U4Gp$;tvI@(YkVj1y-n+3Ta&#);&es>&tmiRmqFV2C?FK-cx%z^^OWlntPO#N4G;7!@6ghA^dLJ264VscT!a*h&7=YI|aH2jJg?(0s||@l%R; zn%#SBKwUaiK#~$=hJ=^BJV4n+!92B!g z1Nf_ZL%-+rjk@VHnM}Lhq)jue5>xB?N3Gc^UxzaceWda1OLT+{#B8wLl@95%$Jt#z1l7*Iy9Gi zM(K(YmTEPP)mokK7`#tccF@m1a$voY(gxG^j-v;&eG4fvvo2;1w1&?%nC<0s1du(b8>wTnnQ%{|$|2BE{wFL%Qc?rL-?aq3+DcNrET7v`n4Y5PYj5wn4( zTFHpNhDuGD_c<(WaLJD-rhA@iU!BFYx)`W} ziCqwP|JeEJQkQ$Lh*~Hnb!XAjp@{rL6-Ctk>Vp#tk9Jq9)G(LsVZ6j7?^7nFl!z&A zx>V+0vy6>k9$aku6 zpXkcC$6c3{ijpr=e3a4-{t!bGwYx3@IxZ_IsrGGNL0z(Xk@zFx@DB2Z<#s_S;ww-A z!3YY7e5iov(BC4p;KZV1Tps%Zz5Z%`M4p@(Ej`n!=sSxyAIl$`Cfg=e3~5lh+^DK} zNaCpOLO+iASJ+CL9j|+)gMLU@uHb7OHKMow&I2 zNX5|g{m0}K5i`Zc8(%M-#A}S@6;m0n-?Qa$U9kTemW56zkzq7u$l z>G4u?G1)BuhPey)<;vBLN+H#Py-g3rBJpwlT+ZAOjRg}*-P~ulN8&gs3KTdaYIRsT zie}Vlwi;|mp2aLb=>z^m);7!GnBpkxk^(QCP2v|zWwn^;#*|iqu+LnN+TnGqI+-2SNXAm* z(8)+_EYZYhKKF*DBQmLW#sJ62jOR3JNF-dt?F2KIa$1P>T_hZ2;%`zrN=!Y~JDjWd zwt7F&T|&9B8sr+D4H3zdiL)E)8-B|kevkI9B;=g^djltytT_9dAxTqQVRMVjVy0Kc^O3pLYyr2;Bp=s6pUbgjKyr zD84w7CgQr{-w$uG){8NDG;??gPxAJ~tLQKLa%Fx;tdF6?K1+C&e1@Se2ctS(vCHaf z`{$`r)_ywOW7l_{L(yjVoF!DLsk=fB-w@}%md z4S3ivtypc(`p&|`-*YoC!%Fp#|ak$(F#RYobGHsQLJbVW1;cfFyL_Lmi*c^7(;fn9DmkC!Wki=Cc&O2?( z3FoAzMjlkM@W@Dx*k9loG@>~y(oCE&w6Qa#FH*qxcJ;8R7st9WV#FSxFj4p&6k($N zsJk;%FNS!NvDL>L>3*=qP z7W_%zn+DaeY}(*vw}AAc3C3D#M~Ib|)-$z!tfc^hf+fo=J|(U$a$dFjVZ7sQ&uuCv z!TXPP%urxr5*{)2%MUn|lM*+$0o6payuYa}|7M!YDYw5;V?WOMXQLg*E!Ev~w^XX( zJOCsJhAjR60dKLI;#~i`nE-63cdy;hEf{7C(lLC5G}g=4a-CSsXIt>+ z?>rx3q^@N~=HC4sw2a1r!Df9V*e8@ctn;LkA{4*HS=? z`TmK8aTl>0P-E^+FGP^#di4+T)RNS#bO#7=Ao|LSC?P-?`B8C7kRLR-&%m?V#_D$p z&N%^?@*&w}MgvT-KVobN*!NKKtKMjKEnxLqo1B~qRA9H~0_#;|1l~S|`St^zkhw&L zMsJ#Vd}i9O2%ApQEv9RJV4yTmoz=d>wchL|@iqJ6XL;{x%9monz|=IbdC3}#RZj1Q z&wzxQPBG0TiZEGl!CBJT07#j4f#oiLxDJLSgt26hxh_cC=xuHMEJ!w6QsecLzlcG1 zBSn3F901jHiaIa$tM#-O{yi3Ud_F(?B@BihPwFfErIh9V+n`HH^wQE_46x93rE7p- zi$2C?M8-NYx@T=sNs@LqY@M8)n*)9q@CtiVU#~wYz`D)I`9tR#A@a>Syv0p5`8j|M zjk14%1S~>b0l;fO94h@iq%9}ZYGwYLSLpXQ z)f{&_KP7B;<<`_)>Zsd3BviL2i()A$u)6COymLH^K9d_L&t)rqcS+`S+vwiSUXJf| zfzrYzQs%#CN(=IUZ4^>}3kZS_*J)luf*^G!?0D-p_|0CG&gZH7^AdC6bX zfpm^NniwmmB);M-QBhAB3BF31aLhekA|cQDmbuD5leMBflJ-cCAqH*vc;mJ3GEb{) z%jQ}S2#Ik!*s^;qK`~m2#Q$?D6z2fqSdH!ZD6U6ePgQl;vQlkq%vQ-{WN~bVRf8$v zaOlGk``&p%k5usAALd8S?b z;#$O;Aca5DZL)XYb|G!DD=^G8Hs%t+;T@)KTuN!Nf$h{J{yLdugSO|p9&A!dYvtHC z<(GW#)@Q!AcD>NtF>g)#D{PgCG2o4bTDe~s>S&vtGap!Z?lV<>=H|Zq>dt`GPBwfa z^yV7ZgeUq^F}wBM^)}(Bv;{jc_#eN9Mjea~Y%zon$zOcU(|1KPmL80TI)_3%z*`4R z_~J44iFOY~ctxLYO4kL6gbtj(4V>u(zUm|CpFWn3(^ZW%IZRrh3%$d(pPlqBJptIXaurKL{qQ=_u-rgwHqj?1$^kmu%;p=Awew0GQx%G3_($M(v8}B?C(Z5IWA^fohhKV81lmf1WiXpssGdy3d zs=!cHD6%lE7xA)v^#y(Yq-z2AT0hQhB*bg1QAfMb(*@YftFa}mCa|BXYKa+<5)E!H zQ=84n4;7o&T0);ov6?_ryYyo+V|8?j$fjL=If8Gx-PuKEp z*IW}HZTY9!{pf`Bh_>tkCVGlHy08fGQdUM1cqMG%d62>b{Al;KU%rW3j|2lM{5E5F zhh+n~N-4Ga>_%z@`#5pr`)1h3<%TbPZ#*A^#(@CWA5u{0?=G~$3SzfIh z%1Oe>FB#m@#Fkm~h=Uhnz6fbR5@ue@ZI3AU5>LadGcd>mIKfxtU3ji!z`UuVr(nav zI@(5KA`~+dCUm9ZI!`qD@hVs+UzY->4`O1V6tktkBzMQ1SJb_0JAITZ5-&_yn{#KOt%>NHtNj`bn+0f@!3OXs8lih)CxQh$hr zAP>?V5BoY1;ojXUUc4J;cq3eZCMeU24u26egV2JvDAKtlZmed+?)W6KnXpuwUl?A| zFd>xU6LOcMuV73YMCGt3TO2EWk0*0iC%g~2*=u>L_07%owu9;t_}az8c@u-Z3fTqFkZqfH{& z7z;Jpi}XG9DK^YZohLShU}%PV^GIgML(|R*q%o8R(rWbSf8k@LuX!rSedhj5fOG!$ zsCUTzG?#1&>sV;(zgC>d|BI7#oI_7;t;2oJ#qQYRx%~g7_f;Dj951erEod^72@0$m zu+-w(A{`mo{+5PO@DrpMutb@dLZR?1974aEvR~O`W)m4y`Zy09CU#)r0c)4~Pf++C z6KdOEO(rJNNdhV#sMv1)(p}z0vYzT<5UjZLT5vI*QABCPua>H3U zpYP*}4=}q3vcAW^bECsc*0fvLV%auBUJWO<|4r5J+J@2*v1)-qu#Qv6kG$ip3@-OM zPOo(yQ7wD;A#*j}piGsWo2I%<>EP2_i>aXKJYTqFqE{5N&)oG81@lRftCKZB(?KwDW6(hkcuaxdyhAkriH` zmmyJl!L0fA%7w<6aPgtIdoJ%v&Yh6=H88kw=vUTpCy0kpY#aOof)k4JDsn~l4gLQI D67oVg