From b12251e70e80b93625a05aa5d4801bd7b2e67771 Mon Sep 17 00:00:00 2001 From: Christos Choutouridis Date: Sun, 15 Jun 2025 22:42:11 +0300 Subject: [PATCH] Minor changes --- fpu_mult.mpf | 20 ++++++++++---------- report/report.pdf | Bin 167426 -> 167416 bytes report/report.tex | 2 +- src/exception_mult.sv | 5 ++--- 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/fpu_mult.mpf b/fpu_mult.mpf index cbe4dce..d7efaf0 100644 --- a/fpu_mult.mpf +++ b/fpu_mult.mpf @@ -2306,25 +2306,25 @@ Project_DefaultLib = work Project_SortMethod = unused Project_Files_Count = 10 Project_File_0 = /home/hoo2/Public/AUTH/HWDigSys-II/fpu_mult/src/normalize_mult.sv -Project_File_P_0 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_branch 0 vlog_noload 0 folder src last_compile 1749838823 cover_fsm 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 2 dont_compile 0 cover_expr 0 cover_stmt 0 +Project_File_P_0 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 last_compile 1749838823 cover_fsm 0 cover_branch 0 vlog_noload 0 folder src vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 2 dont_compile 0 cover_expr 0 cover_stmt 0 Project_File_1 = /home/hoo2/Public/AUTH/HWDigSys-II/fpu_mult/fp_mult_top.sv -Project_File_P_1 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 folder {Top Level} last_compile 1749997793 cover_fsm 0 cover_branch 0 vlog_noload 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 0 dont_compile 0 cover_expr 0 cover_stmt 0 +Project_File_P_1 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1750010789 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 vlog_showsource 0 vlog_hazard 0 cover_optlevel 3 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 0 cover_expr 0 dont_compile 0 cover_stmt 0 Project_File_2 = /home/hoo2/Public/AUTH/HWDigSys-II/fpu_mult/sim/round_mult_tb.sv -Project_File_P_2 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 folder sim last_compile 1749484994 cover_fsm 0 cover_branch 0 vlog_noload 0 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 vlog_showsource 0 vlog_hazard 0 cover_optlevel 3 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 6 cover_expr 0 dont_compile 0 cover_stmt 0 +Project_File_P_2 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_branch 0 vlog_noload 0 folder sim last_compile 1749484994 cover_fsm 0 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 vlog_showsource 0 vlog_hazard 0 cover_optlevel 3 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 6 cover_expr 0 dont_compile 0 cover_stmt 0 Project_File_3 = /home/hoo2/Public/AUTH/HWDigSys-II/fpu_mult/src/fp_mult.sv -Project_File_P_3 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder src last_compile 1749998026 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 vlog_showsource 0 vlog_hazard 0 cover_optlevel 3 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 3 cover_expr 0 dont_compile 0 cover_stmt 0 +Project_File_P_3 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 vlog_noload 0 folder src last_compile 1750010789 cover_fsm 0 cover_branch 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 3 dont_compile 0 cover_expr 0 cover_stmt 0 Project_File_4 = /home/hoo2/Public/AUTH/HWDigSys-II/fpu_mult/src/round_modes.sv -Project_File_P_4 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 vlog_noload 0 folder src last_compile 1749985365 cover_fsm 0 cover_branch 0 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 vlog_showsource 0 vlog_hazard 0 cover_optlevel 3 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 8 cover_expr 0 dont_compile 0 cover_stmt 0 +Project_File_P_4 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder src last_compile 1749985365 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 vlog_showsource 0 vlog_hazard 0 cover_optlevel 3 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 8 cover_expr 0 dont_compile 0 cover_stmt 0 Project_File_5 = /home/hoo2/Public/AUTH/HWDigSys-II/fpu_mult/sim/fp_mult_top_tb.sv -Project_File_P_5 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 vlog_noload 0 folder sim last_compile 1750007782 cover_fsm 0 cover_branch 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 9 dont_compile 0 cover_expr 0 cover_stmt 0 +Project_File_P_5 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 last_compile 1750010789 cover_fsm 0 cover_branch 0 vlog_noload 0 folder sim cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 vlog_showsource 0 vlog_hazard 0 cover_optlevel 3 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 9 cover_expr 0 dont_compile 0 cover_stmt 0 Project_File_6 = /home/hoo2/Public/AUTH/HWDigSys-II/fpu_mult/sim/normalize_mult_tb.sv -Project_File_P_6 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 vlog_noload 0 folder sim last_compile 1749840708 cover_fsm 0 cover_branch 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 5 dont_compile 0 cover_expr 0 cover_stmt 0 +Project_File_P_6 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder sim last_compile 1749840708 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 5 dont_compile 0 cover_expr 0 cover_stmt 0 Project_File_7 = /home/hoo2/Public/AUTH/HWDigSys-II/fpu_mult/src/exception_mult.sv -Project_File_P_7 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_branch 0 vlog_noload 0 folder src last_compile 1750007927 cover_fsm 0 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 vlog_showsource 0 vlog_hazard 0 cover_optlevel 3 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 7 cover_expr 0 dont_compile 0 cover_stmt 0 +Project_File_P_7 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder src last_compile 1750016331 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 vlog_showsource 0 vlog_hazard 0 cover_optlevel 3 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 7 cover_expr 0 dont_compile 0 cover_stmt 0 Project_File_8 = /home/hoo2/Public/AUTH/HWDigSys-II/fpu_mult/sim/fp_mult_tb.sv -Project_File_P_8 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 vlog_noload 0 folder sim last_compile 1750007807 cover_fsm 0 cover_branch 0 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 vlog_showsource 0 vlog_hazard 0 cover_optlevel 3 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 4 cover_expr 0 dont_compile 0 cover_stmt 0 +Project_File_P_8 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 last_compile 1750010789 cover_fsm 0 cover_branch 0 vlog_noload 0 folder sim vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 4 dont_compile 0 cover_expr 0 cover_stmt 0 Project_File_9 = /home/hoo2/Public/AUTH/HWDigSys-II/fpu_mult/src/round_mult.sv -Project_File_P_9 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 last_compile 1749991129 cover_fsm 0 cover_branch 0 vlog_noload 0 folder src cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 vlog_showsource 0 vlog_hazard 0 cover_optlevel 3 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 1 cover_expr 0 dont_compile 0 cover_stmt 0 +Project_File_P_9 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 vlog_noload 0 folder src last_compile 1749991129 cover_fsm 0 cover_branch 0 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 vlog_showsource 0 vlog_hazard 0 cover_optlevel 3 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 1 cover_expr 0 dont_compile 0 cover_stmt 0 Project_Sim_Count = 0 Project_Folder_Count = 2 Project_Folder_0 = src diff --git a/report/report.pdf b/report/report.pdf index c298096a6b96bd4cb54e4b60844db7d75b1fc8cb..95bfd23f9811d7ad151557997219da8b0b9f413b 100644 GIT binary patch delta 9602 zcmai(Q*8rh~ z>RT0<1@{7kt2KxQXGk)PrUytBHkY5TNXIaidNxU*iz;ot-@Xgt|N2l4%l*+uj)#Mwt3-zr>4AFlHSB`#lf|=3Gd*kgqSEln;<0p9Pb)Pi|_F zpz(7#0CS)Qb&g{IsQg;tXgF32g2{5v$FPSwi)Ju#DN|4`3;2h~Z(O-8kXqcTV5FaWu6}?1kai7-)^y<*h?a{u$vsy<%@*pZ8ub<- z8-D=7iDI`{g6h>$6!hi-iW_sTWi_{QV6~SFBLJ&gFx(zD2C>qOqyD%)7<^QELmSFV z5&G5Y;`4H|c z>PNgAR`}7xQM(ep1u3&fx(z}v*#Y}{plv+ExOcbC85vmZ(u|%Ls|KGRls$?^u(U)3 zTL3F}C3E+B+ev*A0Jxtno2W;A9*R^S_5d1jMDTV9wD|#LsJdm-el@NziX`evCzpE#nUuI zH+jifGG{eYiOkV`5{rw2@nr?er8%yrpMa0WO4Pz2P#Xjq2B~$c3~kgZtq1toWUlb~ zlK7(Yy{Jdb&G@BbxfnS*mz_(hPVOB2`oK~U#wXuahjad7+18_75H#F`mr%D^NUtPaT<2hl;o_fbgarY@}NFG5+ zm3v575k4T6?;6lYfWyIT^u$IQEJtT5{G#n1BY^%6o7hu0b3f?Jp^_y=QYP?MAU6{c z=+Hb&o@kV?FnkDV*7hHeF*=Dc{;&yEA{C!P+bn-p34e=}FH}XH<28uA1Y~|EFms0x z4>JG@n6HFlA;w*j%mN-z9g;n?2oI zK(Xx(^;B_-Zog;RnBR~-r0LV-wUKmOR^~JDR*#N1b{`Xxz?vuTXtmDh;R^H-E%bDY zmKDZeYt(2a5^?56Onn5N!)QbZGBZ^QmTZNW*0{BXa%#YI)orp5vhrQ|9S+324D~kL_#ew;I}8^Zv(RJj0hcZtw@=iZdhvigQ?fY^ zGXklf!nYNe{`GI|+i1=E)G5jLY~~DiI$PmC$Qu>W)VCg+m>>&mi9?-O`5#3Q4Q0U? zdQ8m(=zsDPb*4^V`=`W^K(RyKCzf67mFQH*hT=QOpz1mrHi4IyEPR7>?C=Vb=-HdQjZHn%N?l=5sQM0Ff z^ZVLAB2C?W1-!6{DlpiU$D8)^|GcPX_4U)Rg~A)?2A`MBreU4v9R1Zom(BfgVsoDY zbZ&oZ-jPx`I?}2b$VR`}WM3p3aH^*h?e&SZ-%0L^b zv$n$L(%1SCb#3*lYCO>rr4ysDxjia>JjHd)&|JIEJ7~J?q)Kyu7k2d26cXbuons zC*)FHfV)(;&y?+N^u}NLEELchdvuifS#TV*S+qZJk~~glkG?W1;ay6{dD9xpS1H3B z#*|ru@h-h5yo{5xu;SZhR!Q&DwM#Cw>fKXp4Y=RPSnv$--ilK3y=~1+)>X~TO?@lr zwknOIJ|7O7DLWuY$Q;!j;a%&e)z9Kqv;vA+0-{R~&y zd!k?Ws~pMx^S9agJ_{tWesY^pg9|RaJpey``$9uASe9H^d&@11jHri)1Ltu> zF!7?pu>!YY*?k4wFJp!JLn*G>g|``pdLiYw(lhr}`Kj27d3Aiw6x+n|#srlpm{p%{ z%a#aB3+mctlzk_q!x6-@!TO^Su^!`Wi6O}=Z#jHW7nh0samlFSWXrKFU8k<;9`M$` zL1JPB>;|&#CJ{%s=oJxb73hNTJ!*y-?DC8LJ%Vxf0F7)ttbM~eP~|`OWgikyS;CuM#@b3COOJis z8g0q7IpJOPgoo7kMdhLiH@3r_1o*@#uu3v3pVu`iHags3Hk^zy#0Y zAJ8vvaz#^$B`x;gO0d&Degc689A!1o1zK#?I`4ydymBtqDFg^N>HRfP~Pp-=*%SrzJOr)x25%AyO-R=lS!uh8oW&0L$ZQdZ{$ zeqLu9op`xbp4U649j{}=;%}CfL(*wzVth(G=x2f0(${RayARDr%;+}=Z}_j=JGO2B zI_mg;^nuQL{5LyH1a}R1{11(|!~x&*C)xQaa6@ z6NE)BjKeATG4$6xT@goIcPH9QDqidYS*lvTyvACRb-X~2FgK&&eB$-O$_wy#M75kvG83av`8 z@Yg(^i6BHH#8kvLPYd+SOc<7H@qkn`Kump-G85d1k*VHk>_^bKvmC}sH7F>k z7(1rW&`YK19nZsd0jc8j`G?-Lu=RiV;R0~{-{|NjP1pr7Ad5cxgrrrK!`N&q1)E5a z)Jf>GMA5;fqf;`D5=VXb8q!6q6M=K3W!&K()HV2|T(}uLb)1z8Ay!(t+Ag+rq)XLx zaW$^*2QJyNPKwN&t30J<+fIBn@lcvgY&~)R^%!gJ5XxxQEZnNo16+2q@fb8&A-}p_ zVW2UeRP1{ZEK;t>j-*OQF}^#~_z+B{@Q$@_RGdh9Ge2s`6Rs}MQA<$L`2tkPi=dA+ z{=-Y9s&3V^uO_APc~E`ov6cDdODt7>dp`%>ZQSy5z3a~a2SD-cp6o}+mX=%zUdVeyh(yx~K!ERk7~kj8 z!%4`%K~GNc0ITevFHw0E;{i%hUETnH_JUf)yUC+2zvJdgB|}b(x30rHh6JBUEoDXyJu4atuD%UM$owKCE+iRRP+Vr7HDlVE+3-YFv6x z<1RbX59nqMxzgNf9pA9_1`XFI@v_tH2CBxKk>{7RCF>%W3$JyhU{3URD%89WG;ra; zUjX08ZYBUT!<~3Ltorri%cH(M?x_(GpvqQ#Z|^bPt@^3o1~ec168hc%bNP*O-Zg&X z%bJ?+qV8t$;;IUTt*%=oT^cJ56cWmb2Mp%x<9Z$Q8v5-Gh-`BXMK%Rt)QFW8W+y&W z+)Kv=55`<4!d~bRzEb}rL`RcEk`iE~fV7P;S_IH4U>4X#w0l5n1)y8VHuh=;HbAi? z(Q5wT8MhyagFPTC8nUL4JhkG8hoOR@L)H;gmuXkfn&yL2U(~BEO*Ll;)>&xvk%t_w z`gSESx=F1dRydZuNyZhRe$jNqnsL-=>AgEI)$(9-Cy=Y@{SASf9R`seNJG*E*N(3+Lu z@044;f54KI`p-AJM$}booT4rwla$0D;ns;}mYhFV(#{mx24B~pqt9Bv=u^qTQg4eY z$I&8U}T5j>TyLjDoXSoq&B{KQ{zI*<~`%6AD1iuo_FV`OBJ zW2PAG)e5-BYBSDGxM-YO+`L#wXtDhtR#F4D+cM^67=HZvHcfhIjPn03&t2Jnez5)5 zA(x>0FMIURn@^0BdSmn^tCc{QY*FN6HnT0?OuP;OSs@whulEd*P7R`fXCEF;LPO0z z)_sVrd!GrYAg3ZK-k1o$RDj$Ux_HxM-80a? ztn3u*^^dY`JEQ>^Hvxt>168pbJC+AFrtslvw}G^8#x)hyRmgX7U8KO zL^jQWFj;Aw@LD0iw8LWdXgZ5*USAz}KL;uJ@a8V~kum zCs$;BeJvGj_Bvtqc&8U9*L-3F>hh0;#gHQMKe*oW{j$`Za|aDw>;ydQnyon|QBB5r zB{GCsGqfGLt%mE}ZN09#QdGdBYeLS{IM)B9rUf{i|IV~*OM_@EzM{q@e1J7#`mjTv zuufoByO*E`>$^&SAzPJV{1t{T0vYQnB@KVz&a6-4E2kWJ2JV19j_D`}#^E=gKdT=a+8F*B+j(z6DX>N@xdo9m17Kp#( zqX5u=*{m_K2lk`kYD=nCif}ET7Ppbb+*ocl$c^SU5@I1lB@gRYbSQkS4q@L!&>1>S zO|h~^?h*grMf^~FuDb!+@d`YE5jhF<{uV(oI@Cz^k2_TFF_J%(tHxwyzdRv8PuCM@=GG;g`;m^q zAcmCCcY21PjDp)Qa5R)$p8ri**sub4%di53DcyfR#kRC8m2t&!zH;>Ec1Tp=WOu?Q zL}|st#{#dgxMSU!2*nD(8{u)JaPZ!DZa{8vNWsB~$iNJlsLZ=MJl!5P+ppX*6JIUh+U_8dK zC67op1e?RT6f$0S7|C_B<(buzfTM-n1pnT_GYS5A4u(Vo?T-$M*N5rLH77Nsf_}X3 z4Gdl@4NM*Phf7TUEaJtFmRKCY>_@S-9B`fNxejWtf#D;m~67p-a7ed4&p)(n!BA z!D3scoB#na-7?0po++8XSN=+uZj~h952+w~rwU!s=XDga{Tp(^o%YZ|h~WIPe=qag zFbV6j+G7MT^+q`&XnKT;5U6JTKsWWl{?1|4Ei_%^A|1j0wqVsQ5cyNTARHJ40-g;a z11FlRN|G*Xzc{MT+5dG3T)E+u1Gm&?j~?=O(Wm;(>H`UJJMa7&(gux1M&qi0GQSy` zJ{5g&NALEy-Tc@y+-~s6CvQJkv-jWQo6f!kMk9ddm~F71Z?%&UG!L>SW$I6k!Aj<< z>=AxT?1oTZe-7qoRvdq%pw>kgDH6}wPJ~Enz76y^lp^&ez(Pm{%G%XbN8UIct)x1_ zAUUYHPAFB=a!){y(rl!r+(I&N>+6-+cHv00xUOl8Yip;4uuGW3PcLyy*KriW@aux&ec-W zOUPxNsAc&1W;p+H(vG#Td$!Ynhr3ugYRqX=X}1-LWRgXMj4wr^T&F5*u3SNO67pcl znbx9$l}t@?TI08{6SNSgk@#)fDKe>43Ry0>YeCZXEnxx)`p-?FER zI?yrFm%K;p=;CQQ^3?frqnx6Xq+C6ErgrG^W9-#S3vju(Id;ijKT~ytx9KSSiSqWH z*25WxX2l}GWiQ2mP_!l1$ia4jK$?N%stKI`vPDt_iN&%D=K@Z9brY%S{|j}#vg#bU_z7&pEvjpAW~cJ3i>TOqxr4MvkDquHk!KF{Wu{$WV@xp(c2oRS2`khXKm+vPL$0=&+ZA*ewdybaLs{}e5e_klt!2x=GngwGyUtv zWgl^*T{Y|EG{#2CBqFAE?EuWJC)T@B6++c)l*$z&dvo`(OrPhlAPU>Ux1=I2XCQ%X z3%i}{Z-cVJYb>hz1uqu5XQ2Guu|;4W&ayS*t)U-y*0Sk_j5qnw#vA+7NNbl#S}t?; z@`-PIU5s6Y*ZMol8%H;Gwm!h9=Q&;s@>%Kc_6_-|BQqz>M!Wk90)TUw$PkCJY4#kt zy65EM-H+tqyg27lwULuC+QBl4V%n0qyurQUZOK;J^pHj_Cwbt_>U(Qi%SuDmhz8H* z76u4uRepuiYyFpt^QovuV*W8#OgT5j#(jAk(E-=V_ihb}6uPdccebhUOIwf~Q*|#k z2=?#$U1?X=oVKwM0ie#$K~oMpE^piQc|sFEp^Jlao!{$ypzmxAx{uUv6Q=y^<$HVa z^H|5VgFAloc4z4bW|~WEsg1o_g1bYzvP+jS3{&;fZ%lR8a&_KaE^h0K3;m4mRTcLT zPUQLTCU5vUk!}!OJn$wsCo(82vBT<3fy}>Vp#HW3pX)E~4gqeFvsIl6CgO#??R3_d2_T$;j5f7hkPq%=~_lH0$%cC zzyg~9ZJ=~4OlDJ*en zq%|-wVXnK^!L$ngldQpfzkW-eL33ug!;(J+jW_k@fVnPg&%#FZ3oWEUlf%!r+MQkz zFo=0Y``VpeghbIFv5Z8|TFQ*~>DkuG8|Z)VfNRcaT>#*M-3S~dfD0M|OPrBJa$SYC zE;@2%BQ^0tPE63QCXMip!2#JbUi-i~xH<6Y(E@ZSalu{$M4g;nm-^wh5N&!9(VMB3y4w_8Zp}jQ;>$t2J0%WctIFo=% zK2_;A?dgu+sB@RnvvsY=Km2JHlX!ie8gisf3@}9*3)D;|Az8_U7*ga@AVG)Q6Z+$C zpq&0QML$p22Kk6!Y=df$c5^luBEfi11mvpdoM@}; zZVu|j4lz;sWi<>Jh*|7N=QugM7>B+!RSWvFMFF0ObP0@dE_`Guyb_3dni#~aX_zpz zldUs>KPsA=Nqi&4X#H*_P>cfyCu%?U9E23~*p!BzB)dI*+#K!?&Xl6YBrdik0Xv#K z+1_yA&xQ7F0CO`nza@UhHW9O8`Nz!e3;4b$L^52@+_?#_E9?4)pHS|xkzSTl%8p%I z3SNGFk>WksANNeCc_IA82hBOxy&Ns-M-Sb!kL-;_Ec)hxi>=f@zop9lER>x<2$H3S zVs>|FR4Om|3(ue}r}peW)vpHR1(Z&Q98L00tku+R?$wms$Sq6QauJ;pVt=_$xt$nz zjM}t*-sDONRqaWH=zG)f7<5#@>0(XqFza}up)_m3&hFo+f@A8kpYoE*;)|=8+0b!01z?#hi{m$F!#|P{n zq0`|=y!so#>nrsU0G!^Paxrc0{9l84CMP6_?!V_;4PWj59{Ao(9Z5oB=TFk{+vV5r zun_!CuZ3YqRY(LMR7BN{p^>4qscF>opS;(|zgd#k+0o$=P3PgQrno_^!L(HSD2lNB zQ3@pK{g5)o=*$%7o4!Ehp-SGO)>0RQza?6Jyqlv@eP z${jk0N?wrL)esD*q9=5`u}$!`G#j^NIqdha57ul%j%0+{Y{>p(K;LXk_~rn^JsU%S zHw=Y0gn~E1m^B2OHAtB?jGZ;$x!EtOGhn(oh`402`eiS{s@AbrYxS|RDYieK&cj~( zIXqb+%!pYB^lq)l{LAn;Y5h)oU6Hy_oThIZx0hg5Wa4!+@nr1k!w8b|X>w0dC_!c@ ny0ws2%D!+{w$m9_5iWE6BgL~t_IwROFc61wv3d-7W?Z|Z4e`)RvG_w({^tL%@>GX=E zw8k+2){j7M*0FHx4!4cBH<5t3@v)!B4*1nxN1(uoy3Ze^H&b)q?uS^QrIvBP)bI~K z+rh?pn{243bbpCkNWo?=`gZepc=$=%V-K+d%)BHn_j*G3nD@yc9d9*WE3C1dloe?L zIt>Z4WOSsf3F9Z{#(L>Fm?r59k>@1|(L<_ZE;d^?;_b;zxrt_~5*Oxa*a_0`E7~5a zTC6r}LfEX)e^lMrQ@Q_Mt5x}@B>G@Dwe!Oi_;O_p48v$sYxcjJvGhTy>{flE)9d#K zxaVxkO&dpO+{Xv8Kevt~V5%mi$Gtn49 zv6(ENkw*ygN3VL__BoDX$&8h$l}E;ejf$vP9!8;@H%6C;*Io56h+``(Q={ZS4kFmo zORi5|Ot_1cP)T>kQ=-EDP!o+|@my2~P^r^rAMbD!pK{bRBxYav57Vt10XOrbcw7MS zO^9Eye9%RM*McAeSW*~5Xl7JO26Q-j1HT(EU{S(!aGaSVoYVVS#Bv&ww}E|cv@?8p zjCxdk-7}(s0e-Qv-4373l$KEl<>Tvp^VhXxR~*+rYs(bh>!1z874wR{+EiNt#>%*) zoES3&m#B-zID=jW1=g;9hBq1lqPHpbJZzr;xS?g8HZdEiqRWtU8sAvRU zzhKe!8f(I2ysDP2rJir6@Xt!Yk{ z_{Ot}!El@@%}{6NC1a^RI_Z9Cq+C^FWd5sg$+T??i4FxnPsV0R0B2LmLwUx!Yb~F| zr3>UD^2RUwVXb$_QT}ba$9*FWx)|4?M|P)4or(9hvtF2Pp-H&EZ47$4<~X~zz|Gn!8}e?hp<0{s3k-5i!H1T zZ4wjs;J->uQBR=-RQsaVLF5W~od!v0Rl!JNy63U*GnC?#>N1`GER~f~fCZ^!=c%uN zT@q<_xj}|kTwo5S3buRN?@OX zA1To&oRQjdZ(%+fC~1#l|LIX$2fLKhvB}>9J6c(i>fILr;Nce}xpE{LAZ0<`EWF}B zB6`;3H3(I#Dy{4Jm$W5(Rj#5A>cMf-n4)GM9~8w{!fJZbm=t(oAx#utSi*WgPak`u<#b zdB9~MX@r^sjJ4AR2fO?Vt3mtMsO?pI_Aq42u!naKBg^B_)WY~cp0d^DetipUn$WVH zHFlkeV}sTqV6nfTdSiF8W?d;2rupIbEMUT)g)x@I z)rykG(i0)oOdwa^gry5rH6*xdZD{~@C{IpkE6h;}Q0K!pnL^LRFiBZ3-2XG+5e~xC zr|TOUp(ywzBd^&{`w%33Y?qZHv$e66<}0f-AEu@?CS7bcqnd6{T4Ra35}kZk_W4kX zIj>oCs|&NjO^(B$Pv}u)YUU?{GlQsY*D`fd#-D8q!3sQ9fM0srh|2XVV%TR8^&#Zm zLpPZM4790L*qj}B=3kzuE*(qQO0?a7(O@mBbx1R371~1cqpoj!5C|glGRiyk=!lC& zDtWjU<1sKV!B>=h5BaiSMP6tdI{p>07p66!7xq`GynL5dMMiFoFrDy`@pv?`$mL62 z@ULDsq9=)7y-n>sInHkE?e`r}&TM!IP+Us|v~!eCA-w#-ZG7K*2v%#V5|v`QqcP-K z9>exH90D!70F$!Ew?~E6`^7YT1DMCsRC*hfmTW6*k}C}@_CNIVooiBE(klqRiUPHG zrSYbW2pFGx3=+GSpkuMMcFej?+_tLOLLiCze|kC}#B#+7x4zU95V*64|MJGIw_U~q z7%msuYh74kN@NSr-o;od_Tki0K1Ut9c6YBrSK5rfr_b{~H^ujuBHrU{c+Il~w!A zZgjO|p#6;k`dAXzNglR5>Atme)2%n@>6 zp5EC?qW7b2IZp3HXH{^XM^-bm+JyW`yp}9Vhmf7?snxW)d|R~>&!DmO{(W#0Aa1Uk z)0@M!mqHfXZdg)sQYN``m*+8k6=xmgsqzcDl`6Vd%V5K z9wfBxg9vH#8-t%Q(#(-?+CNSOz$C}<>%6f=wZ-`cw;43~{2&)i?Ye+yx3)BEsfM!7 z(e=qR#UW<{Om?1d^u1}ge9H61qmCG}NcE|?09z72H2+Xat|LkXKMFBGQ?DeZ0U6bF zdRa@tpGQge`pO-{x|F}?CRFl!%vBoArNxvZZ|zL@o){w3_YDizn0);JJpU(0q5CoA zMY4UuuU~xXp_Sj5eJ9I9l8Di^hUVVQF?UHxImnug|Lp22q7n9AbN%`lvR#y<7=$R) zPcJB=NpW`wqWxkM(S3uu#SeCvZdIlOy4*8QT0y;)+~d>Sl=)K=I1mNi_TFc4H^kh( z-L0qG|3&{O^C#}#Ie04Lyzh+o@|&~@R+tKgD!c}21gN=bOv?*kU6vi)*N z1froxZ!bc;?h>$i_YZz;!0LEl2N!x(!d_}WTuLMV-g#RAnsja)Rca77eLB5WtE_U> zHRG2QGu#RxiSWmMr9h06t_bQ{esAFDnNsI9aZp+|aJW}mza#GlCo*_NFTfFV4bPLe z+m`2m&E!VRjMX!IXg(@7a^}NGe_pymZu7+DF(Ad2K#K(%#>R?L(V%_)@%PX9b3jiK z9?cVlgbBN}&It}@WpZDHP-~d;W)3issPuUB;81zztz_~Jw(ZtI8o|QR+|Aw9!o=Z! zk&~${0xu^iE9w6N!3<|fa0ytqdn9Cc#Fh3xlHkQ%9$LJFFWiUOrLc_#n@pS)CzjTWLXS{yrw9zo;t zKFA$GHzZvWfryiz7CiV-)$FnE^&5pl{;=XAM^zbq(VB=nQX$F;Aq#^JBe_-74qDuD zn6Bcf>(4$nZgGur4c1@(@sw}{G#!K{(v7xQK3YgsCpnrExnL;S5G-qyrUE3%Kj!j& zY5Kv56O907u3rpK#cAxZv`nF^ywV00hd-!DV+f%#;B=u1!Qv;W9F*kE<(FHYXSvXY zJ8&usi{N^Ui?||FC9^{qWdk(}_>xFb=4FX)4`5l9>#{JW9f3XWOBjjs#S2Wo;qF|0{(ehhAZ5)-_6M0d=d%2 znW+4pt~}WA2ymX~EKcH7NT~88fvk7fFv0%%2R>sj5uBkc`ycJ_{a@`Er0m*Oi=vI* z{EqIqEX3M=5`hv^97NwJ`;i07%3mhlJUOa=bd@k`B~B=I{KCiaG4sa^H1cPDoAwfQ zX^kqb=*r#fbjwIV@j!G;Nlz`Rta>c$RR>r#(Dcx5>s_xzdD&Ng?5HIOa{5SCSnDxV*^k%^x-!G{i%(DAQGoIv2*AW?LA$vw*+_m zlB0(xT~}~A2OJcc8?h9~iV{deJ34D8Oh=3Q)}!CB2lEny{W*!HW0>&ZNuHIYew>VU z!_r$)IGzWpp>3++3pl$y7rVk@h3KoG+>7M^1rCI+Bjx$zO2IY790|mZPPP@qj|56J zPQ*e(7y~;b9RW{tB=3)F4?wN>Sb%Rf>Y5<>OHc*NsDe!DSUBppzmkCB%LKu@$?U<0 zh#~8BWQM5xe+Xp%Zvw>{yWZ?+SD4m6I{xBc|GA$X zf8_~owhvT&=YJLOn>@cZ2bQn17$rnsPv^&1mB{*Be4zR@IvT4cmQjwG%(}PsJf}7G zx>^xl7TwAJRZ7qz(AHv^ebe`}o!*^PKFduwQ>8?qO9Hd`kMH?t!AA;yq@n{xD)b7O zrMC$@?uc8!>E_d|!S+389YJ-O9)&H2 z{s?syJzFYFb2f0Dr7mwlFsWHkS7PIWv?@v^6M0)SzzDP{vJPsox&;eVgB~#zijJ=X zEymAixIFb_jDZw2;K#j%kr@32TkpKq9Sc)gSl07rNM zu_p9Zd}G(G06twJR7duWnDGi%k#4uldehJdTXM_&dNi z!=oV(emCQzSAYdn=96CSX?~q^W&uu7t*3#H_dX$OjBBlX>@8fa%cmRKbt!+`9zP`+)#sAkSKA+aLAT zje&CmO5-i40=xvPXXpl`Sw=mF@MS;r|3nK5^%tirWa8JE*&?;O%SaM@g+T?@yy7Ii zNScS1v{T$eqZ&6Ba^{NrlXH;Q;&(!UCkK;y@^z@ZRj4jdEQmWbo(J|;H-pQ^qIHqTPs5=knTngH-ONHfbsg9^F{bfO|{t<9x_VWDW$m%7+QexRppKRwzH@SDZ>5MzNryO8j_3@tu47PQj;}5pLzM&5jev0 z9PqWKtyn~I^Yn;QN@k&Lx>o*Yxu;)wn_8qn;OJBS;8-2_{q7&1#y5 z^(_Ay9b`Ah(yrfk2cG%;_2+Bjig?PQtIztCYcW`7H62)@-S$C0tqm&#%?ln=r(d5l zWo}ZTA<`uHg7+W-`b+_E;kJ2Sk3tIaZg!pZ%X*l{wAs%u=C%qCfK4{_GaxA7s)dJ;K`)~mVAy>X0=C)1N3vorZ3c9n8#n95iidiW)(4-`>)pE&8(HEj= z#pE$c7%3+sO^axXu;{3Eqy6bDbX3#bB_4xQp(X9?k91wUtH0@YoD`ZeZ517D@4MhT zuC_C1W=E&phOrOBw^&PqKUn6AJypHG!ICU3re=u>uR%>b}MLPYqGuF+~ zq7uttlBJRlKUXqB%Q~}wJ?$NjZ@EA_p)Y!nblV_AI&Igl`L)46Fw7>y*FA|$1Gf9DWA`9FX)*R+FFJn4TnFVVJ z&u@N}(=*#<4}Oca07nd*#@tC>2AVwLDXe)K=)%u!t-@tYvNxHK4=Ru8gIES4ptXYuFxV-px-zng0H}cs2}_YEYXzs9+3?1 z(VkM_xWJHDJ5fcz97QD}_yDp5W=7N!dbi~WP9ZUq0A>%2YfqYf9J9a%1qGsE3eevj z>IvOgM&(|R)t;!+Pa)_#J;X=Z2~&}*C@L*xwNAjvhk8;=N)$|(c{7o6c?G(l7s#AB zrxxhJ=i>C`&ikSfr~#$e=DYFIur!tbWfd3%)5rM>-mlc`9QDYi@rDzwyqCV4ncND89dp#J3PwZ-=Sa^+6$ zx$S)!OvcBMsPu%DYbgC5xH=%Uq|XvC-Sl9?(NST?m#LvBop*Wmad`H21^|uhICm_D zdqGA8F3!uVU^SQ;8_Qii_3M4L-={L29NKfTSRKaLYu*?r*H=%S)#x@xlM>^J5okif zMkI?PGxB9NK=K-99RGtL{GBz5@j%U`SofWw()E)-W5!HEiG7`*Jzp_$0jeH5r++Ojgs!yC1dDyz{fi zND*b>EP4(1&b;PX04$PrJlgfcQB~4Bk~A?)js!gD(+E$gIFY>cnX;iZd={R}%$0Md z&L?y{JV!MqItj?q5~OTpDzc(%`b{F<4i; zC2cirXs+Vk?0GB%^zd@&R>yw;>brsS`PxYe8{R>grSf;&fVZ9MV-t^@(2b+No($yl z`;2!)VOm#CbTNnerbcr2aT`5?t;ah0M%Ta0I;qOH5|iAMG|%7oI5B{%FK1J<2VDt=fm`U>2nH|TL% z=bg&#T|8p6O+g3#WR;tt+40(IFQvR(NKq3a&%JZA_R?GDZ?Tas1Z<@1d zZKy`>i1s!Ht2;ccz&+P7dy4Dd4k0k^#1C z$MutZGpnt9t6^Q8!Y8K96Hf$^w5#64QHJ%z)zRA1LyhxYjMA;;JL=*bzDf67E_yae z{&-160J&zop6TJU%Bld$o+|9VVr>ikDk1%jpps(E3b{Qa`i^?cyQOd)&f}@%rs>r; z0@rPFVl&fg&46=KOk|zxO9*sNBjrYC3+o>@d)YaONu>U^TvNNGxDBqn}2Nx2o+Ogf5_<-kXS^S#wo11K3 zslQCHaT{P3wGytMeRns@*@~_9xmh|oeDrnoe2V(oksv_c`uXM82P`Omy6mv8+PO;@ z2QQ> zt;!WWo)DJ`JaqCUt|cE675XB6E*KVMSOqB@=F%N(OguKJIfoy0?vZ#s73)*~u*l7@3xo z)LSVuH&ykPf29&MZ255xD((w6+VM@9$(ufD<{gMEcPR(`90>=$PT{2Z| z>-YOT^Zm|Q%PpbGCEnH?{&=h8_ z(&}mCZ1Fx@oQ+uB(ADc(#BM+UGRto--I;PLKd19**ES+gGH7UofE)HXM^sj471eUfD;6Bo%4k>_F30 zy9@$x8mI~_BqpD`5_1j@y7HKJ9pU-+yeadA_tM2B|EHP&XVobTkSaxqXsHn$sc(mX zCG#d4r9vBu_!}Zv(L`50APl8ZEY*+FsT!@_SppM5GCnB7IJ_usF#S*H@Y|N_PlNe; zbQm&BLdZVVTg!L%BXUMh95G3-cW?`nsLY0OOny|&;?~ZHQN{&Qk`gCfI1H*Nd}5IG zj}Vdrf{wDMTkC8IfK7q*c0@}Ag)`-9h;)D8S0tjdw%5@k)@$O9ODL>0KU6g=(HPN{ z4BG&ufwCQyEHk%0Qa=Lk2b@%B-&l$^7X}HTj35J*1 zwGCtK5;D@IL%MMX01`fKmd_VIzS>?Q(q1T-?vLKKMkOWyy7#sYN$pfzu{gPL7bvi0 zg$a4Gk($!V(ydBHx!C6h#YMPw)d>9Hr${56GBokh9ebDbEg9~%r1_ExB?uaMC~#Eq zzrc0UM`4t#LM5snp4|(Ss~E54fM!eZCYwvanfrHc3^C5UWV9@Vm8KuGyZ)Y!`^K;C zwIk*w4mTx$o0{EOp|C)|#rCZ}4i1LCGhl~4Imc4Duj1}g*xpEda-87&sYlNeg{uLJ-=2uhZmz2iBsp$+EDp7|2lc= zMPLEI{B@UWvo>U3xOxA%FM=MvHJk!F;Hq)nq02F>4heLF$1J$x-1qPEGh?m3{nXuD zdEgtBTq%?LK+qn}=*4I@^PsxuMtFwVfp)kJIjnmwoO7tp9sdnvudiJ2ou>4X-$sy= zTJTG8sX6Iq0ym)(>NC2#*D50_8R2!JM*``l3ye^xv)UumdW(2dAY8 ztA#lm7pEB;H>ZgSJDa(%;QwzT!yp!d4Z!h#8#vQqyAq@rmgvGu`j6Ns>daiX(a|7l z!dMR3YerSlASh@+AX=>rEiGEnKJM1yJrNd`>~#fg9LP4icqNZ#adtL3Qk_0tHpjl0 z1h-K~YKxq{&qh zbiih*agFF%M!a?h